All functions:
  Elements:
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/constantine/tests/c_api/t_threadpool.c:21,1
    - Dst: ctt_threadpool_new
      Src: /src/constantine/tests/c_api/t_threadpool.c:24,1
    - Dst: printf
      Src: /src/constantine/tests/c_api/t_threadpool.c:25,1
    - Dst: ctt_threadpool_shutdown
      Src: /src/constantine/tests/c_api/t_threadpool.c:26,1
    - Dst: printf
      Src: /src/constantine/tests/c_api/t_threadpool.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: main
    functionSourceFile: /src/constantine/tests/c_api/t_threadpool.c
    functionUses: 0
    functionsReached:
    - ctt_threadpool_shutdown
    - ctt_threadpool_new
    - printf
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 6
    functionName: Vec
    functionSourceFile: /src/constantine/examples-threadpool/raytracing/smallpt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vec(double x_=0, double y_=0, double z_=0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Vec
    constantsTouched: []
    func_position:
      end: 7
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 7
    functionName: operator+(const Vec &b) const
    functionSourceFile: /src/constantine/examples-threadpool/raytracing/smallpt.cpp
    functionUses: 0
    functionsReached:
    - Vec
    linkageType: ''
    returnType: Vec
    signature: Vec operator+(const Vec &b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Vec
    constantsTouched: []
    func_position:
      end: 8
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 8
    functionName: operator-(const Vec &b) const
    functionSourceFile: /src/constantine/examples-threadpool/raytracing/smallpt.cpp
    functionUses: 0
    functionsReached:
    - Vec
    linkageType: ''
    returnType: Vec
    signature: Vec operator-(const Vec &b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 9
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 9
    functionName: operator*(double b) const
    functionSourceFile: /src/constantine/examples-threadpool/raytracing/smallpt.cpp
    functionUses: 0
    functionsReached:
    - Vec
    linkageType: ''
    returnType: Vec
    signature: Vec operator*(double b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Vec
    constantsTouched: []
    func_position:
      end: 10
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 10
    functionName: mult
    functionSourceFile: /src/constantine/examples-threadpool/raytracing/smallpt.cpp
    functionUses: 0
    functionsReached:
    - Vec
    linkageType: ''
    returnType: Vec
    signature: Vec mult(const Vec &b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 11
    functionName: '& norm()'
    functionSourceFile: /src/constantine/examples-threadpool/raytracing/smallpt.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: Vec
    signature: Vec & norm()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Vec
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: dot
    functionSourceFile: /src/constantine/examples-threadpool/raytracing/smallpt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double dot(const Vec &b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Vec
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: operator%(Vec&b)
    functionSourceFile: /src/constantine/examples-threadpool/raytracing/smallpt.cpp
    functionUses: 0
    functionsReached:
    - Vec
    linkageType: ''
    returnType: Vec
    signature: Vec operator%(Vec&b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - o_
    - d_
    argTypes:
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: Ray
    functionSourceFile: /src/constantine/examples-threadpool/raytracing/smallpt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ray(Vec o_, Vec d_)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - rad_
    - p_
    - e_
    - c_
    - refl_
    argTypes:
    - double
    - Vec
    - Vec
    - Vec
    - Refl_t
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: Sphere
    functionSourceFile: /src/constantine/examples-threadpool/raytracing/smallpt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sphere(double rad_, Vec p_, Vec e_, Vec c_, Refl_t refl_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - Ray
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: intersect
    functionSourceFile: /src/constantine/examples-threadpool/raytracing/smallpt.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: double
    signature: double intersect(const Ray &r) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: clamp
    functionSourceFile: /src/constantine/examples-threadpool/raytracing/smallpt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double clamp(double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:42,1
    - Dst: clamp
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: toInt
    functionSourceFile: /src/constantine/examples-threadpool/raytracing/smallpt.cpp
    functionUses: 0
    functionsReached:
    - pow
    - clamp
    linkageType: ''
    returnType: int
    signature: int toInt(double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: intersect
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - r
    - t
    - id
    argTypes:
    - Ray
    - double
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: intersect
    functionSourceFile: /src/constantine/examples-threadpool/raytracing/smallpt.cpp
    functionUses: 1
    functionsReached:
    - intersect
    linkageType: ''
    returnType: bool
    signature: bool intersect(const Ray &r, double &t, int &id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: intersect
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:51,1
    - Dst: Vec
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:51,1
    - Dst: norm
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:53,1
    - Dst: dot
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:53,1
    - Dst: erand48
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:55,1
    - Dst: fabs
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:58,1
    - Dst: Vec
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:58,1
    - Dst: Vec
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:58,1
    - Dst: norm
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:58,1
    - Dst: cos
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:59,1
    - Dst: sin
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:59,1
    - Dst: sqrt
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:59,1
    - Dst: norm
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:59,1
    - Dst: mult
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:60,1
    - Dst: radiance
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:60,1
    - Dst: Ray
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:60,1
    - Dst: mult
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:62,1
    - Dst: radiance
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:62,1
    - Dst: Ray
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:62,1
    - Dst: dot
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:62,1
    - Dst: dot
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:63,1
    - Dst: mult
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:67,1
    - Dst: radiance
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:67,1
    - Dst: sqrt
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:68,1
    - Dst: norm
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:68,1
    - Dst: mult
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:71,1
    - Dst: erand48
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:71,1
    - Dst: radiance
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:72,1
    - Dst: radiance
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:72,1
    - Dst: Ray
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:72,1
    - Dst: radiance
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:74,1
    - Dst: radiance
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:74,1
    - Dst: Ray
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - r
    - depth
    - Xi
    argTypes:
    - Ray
    - int
    - unsigned short*
    constantsTouched: []
    func_position:
      end: 75
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 75
    functionName: radiance
    functionSourceFile: /src/constantine/examples-threadpool/raytracing/smallpt.cpp
    functionUses: 1
    functionsReached:
    - dot
    - mult
    - norm
    - Vec
    - radiance
    - Ray
    - sin
    - intersect
    - sqrt
    - fabs
    - cos
    - erand48
    linkageType: ''
    returnType: Vec
    signature: Vec radiance(const Ray &r, int depth, unsigned short *Xi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:78,1
    - Dst: Vec
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:78,1
    - Dst: Vec
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:79,1
    - Dst: norm
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:79,1
    - Dst: Vec::Vec
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:79,1
    - Dst: fprintf
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:82,1
    - Dst: Vec
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:85,1
    - Dst: radiance
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:94,1
    - Dst: Ray
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:94,1
    - Dst: Vec::norm
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:94,1
    - Dst: Vec
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:96,1
    - Dst: clamp
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:96,1
    - Dst: clamp
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:96,1
    - Dst: clamp
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:96,1
    - Dst: fopen
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:99,1
    - Dst: fprintf
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:100,1
    - Dst: fprintf
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:102,1
    - Dst: toInt
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:102,1
    - Dst: toInt
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:102,1
    - Dst: toInt
      Src: /src/constantine/examples-threadpool/raytracing/smallpt.cpp:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 103
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/constantine/examples-threadpool/raytracing/smallpt.cpp
    functionUses: 0
    functionsReached:
    - Vec::norm
    - norm
    - Vec
    - radiance
    - Ray
    - fopen
    - toInt
    - Vec::Vec
    - fprintf
    - clamp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - out1
    - out2
    - arg1
    - arg2
    - arg3
    argTypes:
    - uint64_t*
    - fiat_bls12_381_fp_uint1*
    - fiat_bls12_381_fp_uint1
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: fiat_bls12_381_fp_addcarryx_u64
    functionSourceFile: /src/constantine/research/formal_verif/bls12_381_fp_u64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_fp_addcarryx_u64(uint64_t* out1, fiat_bls12_381_fp_uint1*
      out2, fiat_bls12_381_fp_uint1 arg1, uint64_t arg2, uint64_t arg3)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - out1
    - out2
    - arg1
    - arg2
    - arg3
    argTypes:
    - uint64_t*
    - fiat_bls12_381_fp_uint1*
    - fiat_bls12_381_fp_uint1
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: fiat_bls12_381_fp_subborrowx_u64
    functionSourceFile: /src/constantine/research/formal_verif/bls12_381_fp_u64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_fp_subborrowx_u64(uint64_t* out1, fiat_bls12_381_fp_uint1*
      out2, fiat_bls12_381_fp_uint1 arg1, uint64_t arg2, uint64_t arg3)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - out1
    - out2
    - arg1
    - arg2
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: fiat_bls12_381_fp_mulx_u64
    functionSourceFile: /src/constantine/research/formal_verif/bls12_381_fp_u64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_fp_mulx_u64(uint64_t* out1, uint64_t* out2, uint64_t
      arg1, uint64_t arg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out1
    - arg1
    - arg2
    - arg3
    argTypes:
    - uint64_t*
    - fiat_bls12_381_fp_uint1
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: fiat_bls12_381_fp_cmovznz_u64
    functionSourceFile: /src/constantine/research/formal_verif/bls12_381_fp_u64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_fp_cmovznz_u64(uint64_t* out1, fiat_bls12_381_fp_uint1
      arg1, uint64_t arg2, uint64_t arg3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:132,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:135,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:138,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:141,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:144,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:147,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:150,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:153,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:156,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:159,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:162,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:165,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:168,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:168,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:171,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:171,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:174,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:174,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:177,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:177,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:180,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:180,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:183,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:183,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:186,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:186,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:189,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:192,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:195,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:198,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:201,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:204,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:207,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:210,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:213,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:216,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:219,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:222,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:225,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:228,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:231,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:234,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:237,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:240,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:243,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:246,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:249,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:252,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:255,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:258,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:261,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:264,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:267,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:270,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:273,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:276,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:279,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:282,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:285,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:288,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:288,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:291,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:291,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:294,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:294,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:297,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:297,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:300,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:300,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:303,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:303,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:306,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:306,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:309,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:312,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:315,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:318,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:321,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:324,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:327,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:330,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:333,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:336,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:339,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:342,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:345,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:348,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:351,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:354,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:357,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:360,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:363,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:366,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:369,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:372,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:375,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:378,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:381,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:384,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:387,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:390,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:393,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:396,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:399,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:402,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:405,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:408,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:408,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:411,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:411,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:414,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:414,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:417,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:417,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:420,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:420,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:423,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:423,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:426,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:426,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:429,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:432,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:435,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:438,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:441,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:444,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:447,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:450,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:453,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:456,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:459,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:462,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:465,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:468,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:471,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:474,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:477,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:480,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:483,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:486,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:489,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:492,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:495,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:498,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:501,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:504,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:507,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:510,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:513,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:516,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:519,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:522,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:525,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:528,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:528,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:531,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:531,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:534,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:534,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:537,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:537,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:540,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:540,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:543,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:543,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:546,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:546,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:549,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:552,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:555,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:558,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:561,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:564,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:567,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:570,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:573,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:576,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:579,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:582,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:585,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:588,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:591,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:594,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:597,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:600,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:603,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:606,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:609,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:612,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:615,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:618,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:621,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:624,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:627,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:630,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:633,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:636,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:639,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:642,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:645,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:648,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:648,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:651,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:651,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:654,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:654,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:657,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:657,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:660,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:660,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:663,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:663,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:666,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:666,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:669,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:672,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:675,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:678,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:681,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:684,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:687,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:690,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:693,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:696,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:699,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:702,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:705,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:708,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:711,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:714,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:717,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:720,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:723,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:726,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:729,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:732,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:735,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:738,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:741,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:744,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:747,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:750,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:753,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:756,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:759,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:762,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:765,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:768,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:768,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:771,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:771,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:774,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:774,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:777,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:777,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:780,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:780,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:783,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:783,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:786,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:786,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:789,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:792,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:795,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:798,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:801,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:804,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:807,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:810,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:813,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:816,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:819,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:822,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:825,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:828,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:831,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:831,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:834,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:834,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:837,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:837,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:840,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:840,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:843,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:843,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:846,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:846,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:849,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:851,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:853,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:855,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:857,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:859,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 253
    argCount: 3
    argNames:
    - out1
    - arg1
    - arg2
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 868
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 868
    functionName: fiat_bls12_381_fp_mul
    functionSourceFile: /src/constantine/research/formal_verif/bls12_381_fp_u64.c
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_addcarryx_u64
    - fiat_bls12_381_fp_mulx_u64
    - UINT64_C
    - fiat_bls12_381_fp_cmovznz_u64
    - fiat_bls12_381_fp_subborrowx_u64
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_fp_mul(uint64_t out1[6], const uint64_t arg1[6],
      const uint64_t arg2[6])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:892,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:895,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:898,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:901,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:904,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:907,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:910,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:913,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:916,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:919,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:922,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:925,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:928,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:928,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:931,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:931,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:934,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:934,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:937,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:937,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:940,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:940,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:943,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:943,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:946,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:946,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:949,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:952,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:955,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:958,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:961,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:964,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:967,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:970,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:973,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:976,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:979,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:982,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:985,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:988,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:991,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:994,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:997,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1000,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1003,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1006,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1009,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1012,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1015,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1018,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1021,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1024,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1027,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1030,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1033,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1036,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1039,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1042,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1045,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1048,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1048,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1051,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1051,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1054,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1054,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1057,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1057,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1060,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1060,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1063,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1063,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1066,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1066,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1069,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1072,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1075,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1078,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1081,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1084,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1087,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1090,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1093,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1096,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1099,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1102,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1105,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1108,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1111,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1114,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1117,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1120,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1123,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1126,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1129,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1132,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1135,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1138,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1141,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1144,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1147,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1150,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1153,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1156,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1159,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1162,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1165,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1168,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1168,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1171,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1171,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1174,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1174,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1177,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1177,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1180,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1180,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1183,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1183,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1186,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1186,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1189,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1192,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1195,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1198,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1201,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1204,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1207,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1210,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1213,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1216,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1219,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1222,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1225,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1228,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1231,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1234,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1237,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1240,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1243,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1246,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1249,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1252,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1255,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1258,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1261,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1264,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1267,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1270,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1273,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1276,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1279,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1282,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1285,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1288,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1288,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1291,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1291,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1294,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1294,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1297,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1297,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1300,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1300,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1303,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1303,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1306,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1306,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1309,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1312,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1315,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1318,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1321,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1324,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1327,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1330,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1333,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1336,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1339,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1342,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1345,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1348,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1351,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1354,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1357,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1360,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1363,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1366,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1369,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1372,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1375,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1378,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1381,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1384,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1387,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1390,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1393,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1396,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1399,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1402,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1405,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1408,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1408,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1411,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1411,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1414,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1414,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1417,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1417,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1420,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1420,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1423,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1423,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1426,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1426,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1429,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1432,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1435,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1438,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1441,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1444,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1447,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1450,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1453,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1456,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1459,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1462,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1465,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1468,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1471,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1474,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1477,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1480,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1483,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1486,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1489,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1492,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1495,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1498,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1501,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1504,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1507,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1510,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1513,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1516,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1519,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1522,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1525,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1528,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1528,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1531,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1531,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1534,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1534,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1537,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1537,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1540,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1540,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1543,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1543,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1546,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1546,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1549,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1552,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1555,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1558,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1561,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1564,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1567,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1570,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1573,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1576,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1579,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1582,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1585,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1588,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1591,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1591,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1594,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1594,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1597,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1597,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1600,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1600,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1603,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1603,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1606,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1606,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1609,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1611,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1613,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1615,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1617,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1619,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 253
    argCount: 2
    argNames:
    - out1
    - arg1
    argTypes:
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 1628
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 1628
    functionName: fiat_bls12_381_fp_square
    functionSourceFile: /src/constantine/research/formal_verif/bls12_381_fp_u64.c
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_addcarryx_u64
    - fiat_bls12_381_fp_mulx_u64
    - UINT64_C
    - fiat_bls12_381_fp_cmovznz_u64
    - fiat_bls12_381_fp_subborrowx_u64
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_fp_square(uint64_t out1[6], const uint64_t arg1[6])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1648,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1651,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1654,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1657,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1660,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1663,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1666,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1666,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1669,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1669,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1672,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1672,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1675,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1675,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1678,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1678,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1681,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1681,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1684,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1686,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1688,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1690,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1692,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1694,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 3
    argNames:
    - out1
    - arg1
    - arg2
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 1703
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1703
    functionName: fiat_bls12_381_fp_add
    functionSourceFile: /src/constantine/research/formal_verif/bls12_381_fp_u64.c
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_subborrowx_u64
    - fiat_bls12_381_fp_addcarryx_u64
    - UINT64_C
    - fiat_bls12_381_fp_cmovznz_u64
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_fp_add(uint64_t out1[6], const uint64_t arg1[6],
      const uint64_t arg2[6])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1723,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1726,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1729,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1732,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1735,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1738,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1740,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1740,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1743,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1743,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1746,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1746,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1749,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1749,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1752,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1752,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1755,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1755,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1758,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 3
    argNames:
    - out1
    - arg1
    - arg2
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 1765
      start: 1720
    functionDepth: 1
    functionLinenumber: 1720
    functionLinenumberEnd: 1765
    functionName: fiat_bls12_381_fp_sub
    functionSourceFile: /src/constantine/research/formal_verif/bls12_381_fp_u64.c
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_subborrowx_u64
    - fiat_bls12_381_fp_addcarryx_u64
    - fiat_bls12_381_fp_cmovznz_u64
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_fp_sub(uint64_t out1[6], const uint64_t arg1[6],
      const uint64_t arg2[6])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1783,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1786,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1789,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1792,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1795,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1798,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1800,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1800,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1803,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1803,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1806,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1806,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1809,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1809,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1812,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1812,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1815,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1815,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1818,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - out1
    - arg1
    argTypes:
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 1825
      start: 1780
    functionDepth: 1
    functionLinenumber: 1780
    functionLinenumberEnd: 1825
    functionName: fiat_bls12_381_fp_opp
    functionSourceFile: /src/constantine/research/formal_verif/bls12_381_fp_u64.c
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_subborrowx_u64
    - fiat_bls12_381_fp_addcarryx_u64
    - fiat_bls12_381_fp_cmovznz_u64
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_fp_opp(uint64_t out1[6], const uint64_t arg1[6])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1844,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1844,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1847,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1847,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1850,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1850,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1853,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1853,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1856,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1856,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1859,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1859,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1862,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1862,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1865,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1868,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1871,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1874,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1877,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1880,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1883,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1886,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1889,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1892,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1895,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1898,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1901,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1904,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1907,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1910,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1913,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1913,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1916,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1916,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1919,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1919,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1922,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1922,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1925,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1925,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1928,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1928,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1931,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1931,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1934,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1937,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1940,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1943,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1946,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1949,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1952,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1955,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1958,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1961,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1964,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1967,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1970,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1973,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1976,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1979,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1982,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1985,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1988,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1991,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1991,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1994,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1994,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1997,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:1997,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2000,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2000,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2003,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2003,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2006,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2006,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2009,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2009,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2012,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2015,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2018,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2021,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2024,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2027,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2030,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2033,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2036,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2039,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2042,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2045,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2048,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2051,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2054,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2057,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2060,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2063,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2066,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2069,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2069,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2072,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2072,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2075,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2075,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2078,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2078,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2081,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2081,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2084,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2084,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2087,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2087,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2090,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2093,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2096,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2099,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2102,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2105,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2108,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2111,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2114,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2117,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2120,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2123,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2126,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2129,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2132,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2135,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2138,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2141,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2144,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2147,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2147,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2150,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2150,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2153,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2153,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2156,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2156,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2159,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2159,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2162,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2162,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2165,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2165,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2168,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2171,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2174,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2177,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2180,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2183,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2186,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2189,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2192,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2195,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2198,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2201,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2204,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2207,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2210,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2213,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2216,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2219,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2222,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2225,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2225,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2228,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2228,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2231,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2231,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2234,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2234,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2237,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2237,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2240,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2240,1
    - Dst: fiat_bls12_381_fp_mulx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2243,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2243,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2246,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2249,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2252,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2255,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2258,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2261,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2264,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2267,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2270,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2273,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2276,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2279,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2282,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2285,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2288,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2291,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2294,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2294,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2297,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2297,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2300,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2300,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2303,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2303,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2306,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2306,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2309,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2309,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2312,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2314,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2316,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2318,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2320,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2322,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 170
    argCount: 2
    argNames:
    - out1
    - arg1
    argTypes:
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 2331
      start: 1840
    functionDepth: 1
    functionLinenumber: 1840
    functionLinenumberEnd: 2331
    functionName: fiat_bls12_381_fp_from_montgomery
    functionSourceFile: /src/constantine/research/formal_verif/bls12_381_fp_u64.c
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_addcarryx_u64
    - fiat_bls12_381_fp_mulx_u64
    - UINT64_C
    - fiat_bls12_381_fp_cmovznz_u64
    - fiat_bls12_381_fp_subborrowx_u64
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_fp_from_montgomery(uint64_t out1[6], const uint64_t
      arg1[6])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out1
    - arg1
    argTypes:
    - uint64_t*
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 2348
      start: 2345
    functionDepth: 0
    functionLinenumber: 2345
    functionLinenumberEnd: 2348
    functionName: fiat_bls12_381_fp_nonzero
    functionSourceFile: /src/constantine/research/formal_verif/bls12_381_fp_u64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_fp_nonzero(uint64_t* out1, const uint64_t arg1[6])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2364,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2366,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2368,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2370,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2372,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - out1
    - arg1
    - arg2
    - arg3
    argTypes:
    - uint64_t[]
    - fiat_bls12_381_fp_uint1
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 2381
      start: 2362
    functionDepth: 1
    functionLinenumber: 2362
    functionLinenumberEnd: 2381
    functionName: fiat_bls12_381_fp_selectznz
    functionSourceFile: /src/constantine/research/formal_verif/bls12_381_fp_u64.c
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_cmovznz_u64
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_fp_selectznz(uint64_t out1[6], fiat_bls12_381_fp_uint1
      arg1, const uint64_t arg2[6], const uint64_t arg3[6])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 2
    argNames:
    - out1
    - arg1
    argTypes:
    - uint8_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 2539
      start: 2395
    functionDepth: 0
    functionLinenumber: 2395
    functionLinenumberEnd: 2539
    functionName: fiat_bls12_381_fp_to_bytes
    functionSourceFile: /src/constantine/research/formal_verif/bls12_381_fp_u64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_fp_to_bytes(uint8_t out1[48], const uint64_t arg1[6])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - out1
    - arg1
    argTypes:
    - uint64_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 2620
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2620
    functionName: fiat_bls12_381_fp_from_bytes
    functionSourceFile: /src/constantine/research/formal_verif/bls12_381_fp_u64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_fp_from_bytes(uint64_t out1[6], const uint8_t arg1[48])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2625,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2629,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2631,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2633,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2635,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2637,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2639,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2641,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2643,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2646,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2649,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2652,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2655,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2658,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2661,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2663,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2665,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2667,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2669,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2671,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2673,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2675,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2677,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2679,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2681,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2683,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2685,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2688,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2691,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2694,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2697,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2700,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2703,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2706,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2706,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2709,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2709,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2712,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2712,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2715,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2715,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2718,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2718,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2721,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2721,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2724,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2726,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2728,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2730,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2732,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2734,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2736,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2745,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2748,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2751,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2754,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2757,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2760,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2762,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2762,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2765,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2765,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2768,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2768,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2771,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2771,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2774,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2774,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2777,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2777,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2780,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2780,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2782,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2784,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2786,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2788,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2790,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2792,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2796,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2798,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2800,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2802,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2804,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2806,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2809,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2812,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2815,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2818,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2821,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2824,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2832,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2834,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2836,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2838,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2840,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2842,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2845,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2848,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2851,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2854,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2857,1
    - Dst: fiat_bls12_381_fp_addcarryx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2860,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2863,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2863,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2866,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2866,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2869,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2869,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2872,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2872,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2875,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2875,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2878,1
    - Dst: UINT64_C
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2878,1
    - Dst: fiat_bls12_381_fp_subborrowx_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2881,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2883,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2885,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2887,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2889,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2891,1
    - Dst: fiat_bls12_381_fp_cmovznz_u64
      Src: /src/constantine/research/formal_verif/bls12_381_fp_u64.c:2893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 128
    argCount: 10
    argNames:
    - out1
    - out2
    - out3
    - out4
    - out5
    - arg1
    - arg2
    - arg3
    - arg4
    - arg5
    argTypes:
    - uint64_t*
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - uint64_t
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 2919
      start: 2622
    functionDepth: 1
    functionLinenumber: 2622
    functionLinenumberEnd: 2919
    functionName: fiat_bls12_381_fp_divstep
    functionSourceFile: /src/constantine/research/formal_verif/bls12_381_fp_u64.c
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_subborrowx_u64
    - fiat_bls12_381_fp_addcarryx_u64
    - fiat_bls12_381_fp_cmovznz_u64
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void fiat_bls12_381_fp_divstep(uint64_t* out1, uint64_t out2[6], uint64_t
      out3[6], uint64_t out4[6], uint64_t out5[6], uint64_t arg1, const uint64_t arg2[6],
      const uint64_t arg3[6], const uint64_t arg4[6], const uint64_t arg5[6])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/constantine/benchmarks-threadpool/wtime.h:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 13
    functionName: Wtime_sec
    functionSourceFile: /src/constantine/benchmarks-threadpool/wtime.h
    functionUses: 0
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: double
    signature: double Wtime_sec(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/constantine/benchmarks-threadpool/wtime.h:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: Wtime_msec
    functionSourceFile: /src/constantine/benchmarks-threadpool/wtime.h
    functionUses: 0
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: double
    signature: double Wtime_msec(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/constantine/benchmarks-threadpool/wtime.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: Wtime_usec
    functionSourceFile: /src/constantine/benchmarks-threadpool/wtime.h
    functionUses: 0
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: double
    signature: double Wtime_usec(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _MM_LOAD
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:156,1
    - Dst: exp
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:163,1
    - Dst: _MM_LOAD
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:167,1
    - Dst: _MM_MUL
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:168,1
    - Dst: _MM_SET
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:168,1
    - Dst: _MM_MUL
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:170,1
    - Dst: _MM_SET
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:170,1
    - Dst: _MM_ADD
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:171,1
    - Dst: _MM_SET
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:171,1
    - Dst: _MM_DIV
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:172,1
    - Dst: _MM_SET
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:172,1
    - Dst: _MM_MUL
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:175,1
    - Dst: _MM_MUL
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:176,1
    - Dst: _MM_MUL
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:177,1
    - Dst: _MM_MUL
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:178,1
    - Dst: _MM_MUL
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:180,1
    - Dst: _MM_SET
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:180,1
    - Dst: _MM_MUL
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:181,1
    - Dst: _MM_SET
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:181,1
    - Dst: _MM_MUL
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:182,1
    - Dst: _MM_SET
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:182,1
    - Dst: _MM_ADD
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:183,1
    - Dst: _MM_MUL
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:184,1
    - Dst: _MM_SET
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:184,1
    - Dst: _MM_ADD
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:185,1
    - Dst: _MM_MUL
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:186,1
    - Dst: _MM_SET
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:186,1
    - Dst: _MM_ADD
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:187,1
    - Dst: _MM_ADD
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:189,1
    - Dst: _MM_MUL
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:190,1
    - Dst: _MM_SUB
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:191,1
    - Dst: _MM_SET
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:191,1
    - Dst: _MM_STORE
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 2
    argNames:
    - OutputX
    - InputX
    argTypes:
    - fptype*
    - fptype*
    constantsTouched: []
    func_position:
      end: 202
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 202
    functionName: CNDF
    functionSourceFile: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c
    functionUses: 0
    functionsReached:
    - _MM_MUL
    - _MM_DIV
    - exp
    - _MM_SET
    - _MM_ADD
    - _MM_STORE
    - _MM_SUB
    - _MM_LOAD
    linkageType: ''
    returnType: MUSTINLINE
    signature: MUSTINLINE CNDF ( fptype * OutputX, fptype * InputX )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _MM_STORE
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:209,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:210,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:212,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - in
    - s
    argTypes:
    - _MMR
    - char*
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: print_xmm
    functionSourceFile: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c
    functionUses: 0
    functionsReached:
    - _MM_STORE
    - printf
    linkageType: ''
    returnType: void
    signature: void print_xmm(_MMR in, char* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _MM_LOAD
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:247,1
    - Dst: _MM_LOAD
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:248,1
    - Dst: _MM_LOAD
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:249,1
    - Dst: _MM_LOAD
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:250,1
    - Dst: _MM_LOAD
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:251,1
    - Dst: _MM_SQRT
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:253,1
    - Dst: log
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:256,1
    - Dst: _MM_LOAD
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:259,1
    - Dst: _MM_MUL
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:261,1
    - Dst: _MM_MUL
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:262,1
    - Dst: _MM_SET
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:262,1
    - Dst: _MM_ADD
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:263,1
    - Dst: _MM_MUL
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:265,1
    - Dst: _MM_ADD
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:267,1
    - Dst: _MM_MUL
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:268,1
    - Dst: _MM_DIV
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:269,1
    - Dst: _MM_SUB
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:270,1
    - Dst: _MM_STORE
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:272,1
    - Dst: _MM_STORE
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:273,1
    - Dst: CNDF
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:275,1
    - Dst: CNDF
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:276,1
    - Dst: exp
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 9
    argNames:
    - OptionPrice
    - numOptions
    - sptprice
    - strike
    - rate
    - volatility
    - time
    - otype
    - timet
    argTypes:
    - fptype*
    - int
    - fptype*
    - fptype*
    - fptype*
    - fptype*
    - fptype*
    - int*
    - float
    constantsTouched: []
    func_position:
      end: 298
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 298
    functionName: BlkSchlsEqEuroNoDiv
    functionSourceFile: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c
    functionUses: 0
    functionsReached:
    - _MM_MUL
    - _MM_DIV
    - exp
    - _MM_SET
    - _MM_SQRT
    - log
    - _MM_ADD
    - _MM_STORE
    - _MM_SUB
    - _MM_LOAD
    - CNDF
    linkageType: ''
    returnType: void
    signature: "void BlkSchlsEqEuroNoDiv (fptype * OptionPrice, int numOptions, fptype
      * sptprice,\n                          fptype * strike, fptype * rate, fptype
      * volatility,\n                          fptype * time, int * otype, float timet)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: mainWork
    functionSourceFile: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mainWork()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - w
    argTypes:
    - mainWork
    constantsTouched: []
    func_position:
      end: 303
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 303
    functionName: mainWork
    functionSourceFile: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mainWork(mainWork &w, tbb::split)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BlkSchlsEqEuroNoDiv
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:316,1
    - Dst: fabs
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:324,1
    - Dst: fprintf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - range
    argTypes:
    - tbb::blocked_range<int>
    constantsTouched: []
    func_position:
      end: 332
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 332
    functionName: operator()(const tbb::blocked_range<int> &range) const
    functionSourceFile: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fabs
    - BlkSchlsEqEuroNoDiv
    linkageType: ''
    returnType: void
    signature: void operator()(const tbb::blocked_range<int> &range) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tbb::parallel_for
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:349,1
    - Dst: tbb::blocked_range<int>
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tid_ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: bs_thread
    functionSourceFile: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c
    functionUses: 0
    functionsReached:
    - tbb::blocked_range<int>
    - tbb::parallel_for
    linkageType: ''
    returnType: int
    signature: int bs_thread(void *tid_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:411,1
    - Dst: fflush
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:412,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:414,1
    - Dst: fflush
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:415,1
    - Dst: __parsec_bench_begin
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:418,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:423,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:424,1
    - Dst: atoi
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:426,1
    - Dst: fopen
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:431,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:433,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:434,1
    - Dst: fscanf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:436,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:438,1
    - Dst: fclose
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:439,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:440,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:443,1
    - Dst: fclose
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:444,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:445,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:448,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:454,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:455,1
    - Dst: malloc
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:459,1
    - Dst: malloc
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:460,1
    - Dst: fscanf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:463,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:465,1
    - Dst: fclose
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:466,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:467,1
    - Dst: fclose
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:470,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:472,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:473,1
    - Dst: MAIN_INITENV
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:477,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:479,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:480,1
    - Dst: malloc
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:485,1
    - Dst: malloc
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:492,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:504,1
    - Dst: __parsec_roi_begin
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:507,1
    - Dst: malloc
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:514,1
    - Dst: malloc
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:515,1
    - Dst: CreateThread
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:519,1
    - Dst: WaitForMultipleObjects
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:521,1
    - Dst: free
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:522,1
    - Dst: free
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:523,1
    - Dst: malloc
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:526,1
    - Dst: CREATE_WITH_ARG
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:530,1
    - Dst: WAIT_FOR_END
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:532,1
    - Dst: free
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:533,1
    - Dst: omp_set_num_threads
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:539,1
    - Dst: bs_thread
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:540,1
    - Dst: bs_thread
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:547,1
    - Dst: bs_thread
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:551,1
    - Dst: __parsec_roi_end
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:557,1
    - Dst: fopen
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:561,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:563,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:564,1
    - Dst: fprintf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:566,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:568,1
    - Dst: fclose
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:569,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:570,1
    - Dst: fprintf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:573,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:575,1
    - Dst: fclose
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:576,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:577,1
    - Dst: fclose
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:580,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:582,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:583,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:587,1
    - Dst: free
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:589,1
    - Dst: free
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:590,1
    - Dst: __parsec_bench_end
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c:593,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 122
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 597
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 597
    functionName: main
    functionSourceFile: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.simd.c
    functionUses: 0
    functionsReached:
    - printf
    - __parsec_roi_begin
    - free
    - CreateThread
    - malloc
    - fprintf
    - __parsec_roi_end
    - MAIN_INITENV
    - WaitForMultipleObjects
    - __parsec_bench_begin
    - atoi
    - fflush
    - WAIT_FOR_END
    - fclose
    - CREATE_WITH_ARG
    - fopen
    - bs_thread
    - omp_set_num_threads
    - __parsec_bench_end
    - exit
    - fscanf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - InputX
    argTypes:
    - fptype
    constantsTouched: []
    func_position:
      end: 144
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 144
    functionName: CNDF
    functionSourceFile: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c
    functionUses: 1
    functionsReached:
    - exp
    linkageType: ''
    returnType: fptype
    signature: fptype CNDF ( fptype InputX )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:184,1
    - Dst: log
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:186,1
    - Dst: CNDF
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:205,1
    - Dst: CNDF
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:206,1
    - Dst: exp
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 7
    argNames:
    - sptprice
    - strike
    - rate
    - volatility
    - time
    - otype
    - timet
    argTypes:
    - fptype
    - fptype
    - fptype
    - fptype
    - fptype
    - int
    - float
    constantsTouched: []
    func_position:
      end: 218
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 218
    functionName: BlkSchlsEqEuroNoDiv
    functionSourceFile: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c
    functionUses: 1
    functionsReached:
    - log
    - CNDF
    - sqrt
    - exp
    linkageType: ''
    returnType: fptype
    signature: "fptype BlkSchlsEqEuroNoDiv( fptype sptprice,\n                            fptype
      strike, fptype rate, fptype volatility,\n                            fptype
      time, int otype, float timet )"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: mainWork
    functionSourceFile: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mainWork()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - w
    argTypes:
    - mainWork
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: mainWork
    functionSourceFile: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mainWork(mainWork &w, tbb::split)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BlkSchlsEqEuroNoDiv
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:235,1
    - Dst: fabs
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:242,1
    - Dst: fprintf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - range
    argTypes:
    - tbb::blocked_range<int>
    constantsTouched: []
    func_position:
      end: 249
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 249
    functionName: operator()(const tbb::blocked_range<int> &range) const
    functionSourceFile: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fabs
    - BlkSchlsEqEuroNoDiv
    linkageType: ''
    returnType: void
    signature: void operator()(const tbb::blocked_range<int> &range) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tbb::parallel_for
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:266,1
    - Dst: tbb::blocked_range<int>
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tid_ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 270
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 270
    functionName: bs_thread
    functionSourceFile: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c
    functionUses: 1
    functionsReached:
    - tbb::blocked_range<int>
    - tbb::parallel_for
    linkageType: ''
    returnType: int
    signature: int bs_thread(void *tid_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:327,1
    - Dst: fflush
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:328,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:330,1
    - Dst: fflush
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:331,1
    - Dst: __parsec_bench_begin
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:334,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:339,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:340,1
    - Dst: atoi
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:342,1
    - Dst: fopen
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:347,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:349,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:350,1
    - Dst: fscanf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:352,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:354,1
    - Dst: fclose
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:355,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:356,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:359,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:365,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:366,1
    - Dst: malloc
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:371,1
    - Dst: malloc
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:372,1
    - Dst: fscanf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:375,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:377,1
    - Dst: fclose
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:378,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:379,1
    - Dst: fclose
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:382,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:384,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:385,1
    - Dst: MAIN_INITENV
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:389,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:391,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:392,1
    - Dst: malloc
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:397,1
    - Dst: malloc
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:404,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:416,1
    - Dst: __parsec_roi_begin
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:419,1
    - Dst: malloc
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:426,1
    - Dst: malloc
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:427,1
    - Dst: CreateThread
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:431,1
    - Dst: WaitForMultipleObjects
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:433,1
    - Dst: free
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:434,1
    - Dst: free
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:435,1
    - Dst: malloc
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:438,1
    - Dst: CREATE_WITH_ARG
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:442,1
    - Dst: WAIT_FOR_END
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:444,1
    - Dst: free
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:445,1
    - Dst: omp_set_num_threads
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:451,1
    - Dst: bs_thread
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:452,1
    - Dst: bs_thread
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:459,1
    - Dst: bs_thread
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:463,1
    - Dst: __parsec_roi_end
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:469,1
    - Dst: fopen
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:473,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:475,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:476,1
    - Dst: fprintf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:478,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:480,1
    - Dst: fclose
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:481,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:482,1
    - Dst: fprintf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:485,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:487,1
    - Dst: fclose
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:488,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:489,1
    - Dst: fclose
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:492,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:494,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:495,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:499,1
    - Dst: free
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:501,1
    - Dst: free
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:502,1
    - Dst: __parsec_bench_end
      Src: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c:505,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 117
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 509
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 509
    functionName: main
    functionSourceFile: /src/constantine/benchmarks-threadpool/black_scholes/blackscholes.c
    functionUses: 0
    functionsReached:
    - printf
    - __parsec_roi_begin
    - free
    - CreateThread
    - malloc
    - fprintf
    - __parsec_roi_end
    - MAIN_INITENV
    - WaitForMultipleObjects
    - __parsec_bench_begin
    - atoi
    - fflush
    - WAIT_FOR_END
    - fclose
    - CREATE_WITH_ARG
    - fopen
    - bs_thread
    - omp_set_num_threads
    - __parsec_bench_end
    - exit
    - fscanf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/inputgen.c:42,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/inputgen.c:43,1
    - Dst: atoi
      Src: /src/constantine/benchmarks-threadpool/black_scholes/inputgen.c:45,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/inputgen.c:48,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/inputgen.c:49,1
    - Dst: fopen
      Src: /src/constantine/benchmarks-threadpool/black_scholes/inputgen.c:53,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/inputgen.c:55,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/inputgen.c:56,1
    - Dst: fprintf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/inputgen.c:60,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/inputgen.c:62,1
    - Dst: fclose
      Src: /src/constantine/benchmarks-threadpool/black_scholes/inputgen.c:63,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/inputgen.c:64,1
    - Dst: fprintf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/inputgen.c:70,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/inputgen.c:72,1
    - Dst: fclose
      Src: /src/constantine/benchmarks-threadpool/black_scholes/inputgen.c:73,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/inputgen.c:74,1
    - Dst: fclose
      Src: /src/constantine/benchmarks-threadpool/black_scholes/inputgen.c:78,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/black_scholes/inputgen.c:80,1
    - Dst: exit
      Src: /src/constantine/benchmarks-threadpool/black_scholes/inputgen.c:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 85
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/constantine/benchmarks-threadpool/black_scholes/inputgen.c
    functionUses: 0
    functionsReached:
    - atoi
    - exit
    - printf
    - fprintf
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:33,1
    - Dst: fabs
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:33,1
    - Dst: fabs
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:34,1
    - Dst: fabs
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - matrix
    - histogram
    - mat_size
    - hist_size
    argTypes:
    - float_t**
    - int*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 48
    functionName: generate_histogram
    functionSourceFile: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: float_t
    signature: float_t generate_histogram(float_t **matrix, int *histogram, int mat_size,
      int hist_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:75,1
    - Dst: fabs
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:75,1
    - Dst: fabs
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:76,1
    - Dst: fabs
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:76,1
    - Dst: free
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - matrix
    - histogram
    - mat_size
    - hist_size
    argTypes:
    - float_t**
    - int*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 99
    functionName: generate_histogram_omp
    functionSourceFile: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c
    functionUses: 0
    functionsReached:
    - free
    - fabs
    linkageType: ''
    returnType: float_t
    signature: float_t generate_histogram_omp(float_t **matrix, int *histogram, int
      mat_size, int hist_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - hist1
    - hist2
    - N
    argTypes:
    - int*
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: compare_hists
    functionSourceFile: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int compare_hists(int *hist1, int *hist2, int N)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:129,1
    - Dst: calloc
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:131,1
    - Dst: malloc
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:137,1
    - Dst: malloc
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:138,1
    - Dst: omp_get_wtime
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:146,1
    - Dst: generate_histogram
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:147,1
    - Dst: omp_get_wtime
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:148,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:149,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:150,1
    - Dst: omp_get_wtime
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:152,1
    - Dst: generate_histogram_omp
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:153,1
    - Dst: omp_get_wtime
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:154,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:155,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:156,1
    - Dst: printf
      Src: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 162
    functionName: main
    functionSourceFile: /src/constantine/benchmarks-threadpool/histogram_2D/openmp_histogram.c
    functionUses: 0
    functionsReached:
    - printf
    - calloc
    - generate_histogram
    - generate_histogram_omp
    - malloc
    - omp_get_wtime
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - status
    argTypes:
    - ctt_codec_scalar_status
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: ctt_codec_scalar_status_to_string
    functionSourceFile: /src/constantine/include/constantine/core/serialization.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ctt_codec_scalar_status_to_string(ctt_codec_scalar_status status)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - status
    argTypes:
    - ctt_codec_ecc_status
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: ctt_codec_ecc_status_to_string
    functionSourceFile: /src/constantine/include/constantine/core/serialization.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ctt_codec_ecc_status_to_string(ctt_codec_ecc_status status)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - status
    argTypes:
    - ctt_eth_kzg_status
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: ctt_eth_kzg_status_to_string
    functionSourceFile: /src/constantine/include/constantine/protocols/ethereum_eip4844_kzg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ctt_eth_kzg_status_to_string(ctt_eth_kzg_status status)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - status
    argTypes:
    - ctt_eth_trusted_setup_status
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: ctt_eth_trusted_setup_status_to_string
    functionSourceFile: /src/constantine/include/constantine/protocols/ethereum_eip4844_kzg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ctt_eth_trusted_setup_status_to_string(ctt_eth_trusted_setup_status
      status)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - status
    argTypes:
    - ctt_eth_bls_status
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: ctt_eth_bls_status_to_string
    functionSourceFile: /src/constantine/include/constantine/protocols/ethereum_bls_signatures.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ctt_eth_bls_status_to_string(ctt_eth_bls_status status)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - status
    argTypes:
    - ctt_evm_status
    constantsTouched: []
    func_position:
      end: 44
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 44
    functionName: ctt_evm_status_to_string
    functionSourceFile: /src/constantine/include/constantine/protocols/ethereum_evm_precompiles.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ctt_evm_status_to_string(ctt_evm_status status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctt_eth_bls_deserialize_seckey
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:26,1
    - Dst: printf
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:28,1
    - Dst: ctt_codec_scalar_status_to_string
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:31,1
    - Dst: exit
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:33,1
    - Dst: ctt_eth_bls_derive_pubkey
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:38,1
    - Dst: ctt_sha256_hash
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:43,1
    - Dst: ctt_eth_bls_sign
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:44,1
    - Dst: ctt_eth_bls_verify
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:47,1
    - Dst: printf
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:49,1
    - Dst: ctt_eth_bls_status_to_string
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:49,1
    - Dst: exit
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:50,1
    - Dst: printf
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:52,1
    - Dst: ctt_csprng_sysrand
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:70,1
    - Dst: printf
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:71,1
    - Dst: exit
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:72,1
    - Dst: ctt_eth_bls_batch_verify
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:75,1
    - Dst: printf
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:77,1
    - Dst: ctt_eth_bls_status_to_string
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:77,1
    - Dst: exit
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:78,1
    - Dst: printf
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:81,1
    - Dst: ctt_threadpool_new
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:89,1
    - Dst: printf
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:90,1
    - Dst: ctt_eth_bls_batch_verify_parallel
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:91,1
    - Dst: printf
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:93,1
    - Dst: ctt_eth_bls_status_to_string
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:93,1
    - Dst: exit
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:94,1
    - Dst: printf
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:96,1
    - Dst: ctt_threadpool_shutdown
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:98,1
    - Dst: printf
      Src: /src/constantine/examples-c/ethereum_bls_signatures.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/constantine/examples-c/ethereum_bls_signatures.c
    functionUses: 0
    functionsReached:
    - ctt_codec_scalar_status_to_string
    - ctt_threadpool_shutdown
    - exit
    - printf
    - ctt_eth_bls_batch_verify_parallel
    - ctt_eth_bls_deserialize_seckey
    - ctt_csprng_sysrand
    - ctt_sha256_hash
    - ctt_eth_bls_sign
    - ctt_eth_bls_status_to_string
    - ctt_eth_bls_derive_pubkey
    - ctt_threadpool_new
    - ctt_eth_bls_verify
    - ctt_eth_bls_batch_verify
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/constantine/examples-c/t_libctt_keccak.c:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - dst
    - dst_len
    - hex_src
    - src_len
    argTypes:
    - byte*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 33
    functionName: from_hex
    functionSourceFile: /src/constantine/examples-c/t_libctt_keccak.c
    functionUses: 0
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: int
    signature: int from_hex(byte *dst, size_t dst_len, const char *hex_src, size_t
      src_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - buf1
    - len1
    - buf2
    - len2
    argTypes:
    - byte*
    - size_t
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: compare_binary
    functionSourceFile: /src/constantine/examples-c/t_libctt_keccak.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int compare_binary(const byte *buf1, size_t len1, const byte *buf2,\n
      \                  size_t len2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/constantine/examples-c/t_libctt_keccak.c:56,1
    - Dst: ctt_keccak256_hash
      Src: /src/constantine/examples-c/t_libctt_keccak.c:59,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_keccak.c:63,1
    - Dst: exit
      Src: /src/constantine/examples-c/t_libctt_keccak.c:64,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_keccak.c:66,1
    - Dst: exit
      Src: /src/constantine/examples-c/t_libctt_keccak.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/constantine/examples-c/t_libctt_keccak.c
    functionUses: 0
    functionsReached:
    - printf
    - exit
    - ctt_keccak256_hash
    - from_hex
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:70,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: dump_hex
    functionSourceFile: /src/constantine/examples-c/t_libctt_banderwagon.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void dump_hex(byte a[ByteLength])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_export
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:86,1
    - Dst: CHECK
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:89,1
    - Dst: ctt_banderwagon_fp_marshalBE
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:89,1
    - Dst: mpz_export
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:97,1
    - Dst: mpz_export
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:98,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:99,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:100,1
    - Dst: dump_hex
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:100,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:101,1
    - Dst: dump_hex
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:101,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:102,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:103,1
    - Dst: dump_hex
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:103,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:104,1
    - Dst: dump_hex
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:104,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:105,1
    - Dst: exit
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:106,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 7
    argNames:
    - r
    - a
    - b
    - r_ctt
    - a_ctt
    - b_ctt
    - operation
    argTypes:
    - mpz_ptr
    - mpz_ptr
    - mpz_ptr
    - banderwagon_fp*
    - banderwagon_fp*
    - banderwagon_fp*
    - char*
    constantsTouched: []
    func_position:
      end: 111
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 111
    functionName: epilogue
    functionSourceFile: /src/constantine/examples-c/t_libctt_banderwagon.c
    functionUses: 0
    functionsReached:
    - CHECK
    - printf
    - mpz_export
    - exit
    - dump_hex
    - ctt_banderwagon_fp_marshalBE
    linkageType: ''
    returnType: int
    signature: "int epilogue(\n       mpz_ptr r, mpz_ptr a, mpz_ptr b,\n       banderwagon_fp*
      r_ctt, banderwagon_fp* a_ctt, banderwagon_fp* b_ctt,\n       char* operation)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_randinit_mt
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:115,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:121,1
    - Dst: gmp_randseed_ui
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:122,1
    - Dst: mpz_init
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:125,1
    - Dst: mpz_init
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:126,1
    - Dst: mpz_init
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:127,1
    - Dst: mpz_init
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:128,1
    - Dst: CHECK
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:134,1
    - Dst: prologue
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:134,1
    - Dst: mpz_neg
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:141,1
    - Dst: mpz_mod
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:142,1
    - Dst: ctt_banderwagon_fp_neg
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:143,1
    - Dst: CHECK
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:145,1
    - Dst: epilogue
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:145,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:151,1
    - Dst: CHECK
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:154,1
    - Dst: prologue
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:154,1
    - Dst: mpz_add
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:161,1
    - Dst: mpz_mod
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:162,1
    - Dst: ctt_banderwagon_fp_sum
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:163,1
    - Dst: CHECK
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:165,1
    - Dst: epilogue
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:165,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:171,1
    - Dst: CHECK
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:174,1
    - Dst: prologue
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:174,1
    - Dst: mpz_mul
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:181,1
    - Dst: mpz_mod
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:182,1
    - Dst: ctt_banderwagon_fp_prod
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:183,1
    - Dst: CHECK
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:185,1
    - Dst: epilogue
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:185,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:191,1
    - Dst: CHECK
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:194,1
    - Dst: prologue
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:194,1
    - Dst: mpz_invert
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:201,1
    - Dst: ctt_banderwagon_fp_inv
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:202,1
    - Dst: CHECK
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:204,1
    - Dst: epilogue
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:204,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:210,1
    - Dst: CHECK
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:213,1
    - Dst: prologue
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:213,1
    - Dst: assert
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:223,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:225,1
    - Dst: mpz_clear
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:227,1
    - Dst: mpz_clear
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:228,1
    - Dst: mpz_clear
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:229,1
    - Dst: mpz_clear
      Src: /src/constantine/examples-c/t_libctt_banderwagon.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 234
    functionName: main
    functionSourceFile: /src/constantine/examples-c/t_libctt_banderwagon.c
    functionUses: 0
    functionsReached:
    - mpz_init
    - CHECK
    - printf
    - ctt_banderwagon_fp_prod
    - mpz_invert
    - gmp_randinit_mt
    - prologue
    - epilogue
    - mpz_mod
    - assert
    - mpz_add
    - ctt_banderwagon_fp_neg
    - ctt_banderwagon_fp_sum
    - gmp_randseed_ui
    - mpz_neg
    - ctt_banderwagon_fp_inv
    - mpz_mul
    - mpz_clear
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/constantine/examples-c/ethereum_evm_precompiles.c:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - dst
    - dst_len
    - hex_src
    - src_len
    argTypes:
    - byte*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 32
    functionName: from_hex
    functionSourceFile: /src/constantine/examples-c/ethereum_evm_precompiles.c
    functionUses: 1
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: int
    signature: int from_hex(byte *dst, size_t dst_len, const char *hex_src, size_t
      src_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - buf1
    - len1
    - buf2
    - len2
    argTypes:
    - byte*
    - size_t
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: compare_binary
    functionSourceFile: /src/constantine/examples-c/ethereum_evm_precompiles.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int compare_binary(const byte *buf1, size_t len1, const byte *buf2,\n
      \                  size_t len2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctt_eth_evm_sha256
      Src: /src/constantine/examples-c/ethereum_evm_precompiles.c:55,1
    - Dst: printf
      Src: /src/constantine/examples-c/ethereum_evm_precompiles.c:57,1
    - Dst: ctt_evm_status_to_string
      Src: /src/constantine/examples-c/ethereum_evm_precompiles.c:58,1
    - Dst: exit
      Src: /src/constantine/examples-c/ethereum_evm_precompiles.c:59,1
    - Dst: from_hex
      Src: /src/constantine/examples-c/ethereum_evm_precompiles.c:79,1
    - Dst: from_hex
      Src: /src/constantine/examples-c/ethereum_evm_precompiles.c:81,1
    - Dst: ctt_eth_evm_bls12381_map_fp2_to_g2
      Src: /src/constantine/examples-c/ethereum_evm_precompiles.c:84,1
    - Dst: printf
      Src: /src/constantine/examples-c/ethereum_evm_precompiles.c:86,1
    - Dst: ctt_evm_status_to_string
      Src: /src/constantine/examples-c/ethereum_evm_precompiles.c:87,1
    - Dst: exit
      Src: /src/constantine/examples-c/ethereum_evm_precompiles.c:88,1
    - Dst: compare_binary
      Src: /src/constantine/examples-c/ethereum_evm_precompiles.c:91,1
    - Dst: printf
      Src: /src/constantine/examples-c/ethereum_evm_precompiles.c:93,1
    - Dst: ctt_evm_status_to_string
      Src: /src/constantine/examples-c/ethereum_evm_precompiles.c:94,1
    - Dst: exit
      Src: /src/constantine/examples-c/ethereum_evm_precompiles.c:95,1
    - Dst: printf
      Src: /src/constantine/examples-c/ethereum_evm_precompiles.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 100
    functionName: main
    functionSourceFile: /src/constantine/examples-c/ethereum_evm_precompiles.c
    functionUses: 0
    functionsReached:
    - exit
    - printf
    - ctt_eth_evm_sha256
    - ctt_eth_evm_bls12381_map_fp2_to_g2
    - ctt_evm_status_to_string
    - from_hex
    - compare_binary
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:79,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: dump_hex
    functionSourceFile: /src/constantine/examples-c/t_libctt_bls12_381.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void dump_hex(byte a[ByteLength])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_export
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:95,1
    - Dst: CHECK
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:98,1
    - Dst: ctt_bls12_381_fp_marshalBE
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:98,1
    - Dst: mpz_export
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:106,1
    - Dst: mpz_export
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:107,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:108,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:109,1
    - Dst: dump_hex
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:109,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:110,1
    - Dst: dump_hex
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:110,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:111,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:112,1
    - Dst: dump_hex
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:112,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:113,1
    - Dst: dump_hex
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:113,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:114,1
    - Dst: exit
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:115,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 7
    argNames:
    - r
    - a
    - b
    - r_ctt
    - a_ctt
    - b_ctt
    - operation
    argTypes:
    - mpz_ptr
    - mpz_ptr
    - mpz_ptr
    - bls12_381_fp*
    - bls12_381_fp*
    - bls12_381_fp*
    - char*
    constantsTouched: []
    func_position:
      end: 120
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 120
    functionName: epilogue
    functionSourceFile: /src/constantine/examples-c/t_libctt_bls12_381.c
    functionUses: 1
    functionsReached:
    - ctt_bls12_381_fp_marshalBE
    - CHECK
    - printf
    - mpz_export
    - exit
    - dump_hex
    linkageType: ''
    returnType: int
    signature: "int epilogue(\n       mpz_ptr r, mpz_ptr a, mpz_ptr b,\n       bls12_381_fp*
      r_ctt, bls12_381_fp* a_ctt, bls12_381_fp* b_ctt,\n       char* operation)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_randinit_mt
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:124,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:130,1
    - Dst: gmp_randseed_ui
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:131,1
    - Dst: mpz_init
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:134,1
    - Dst: mpz_init
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:135,1
    - Dst: mpz_init
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:136,1
    - Dst: mpz_init
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:137,1
    - Dst: CHECK
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:143,1
    - Dst: prologue
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:143,1
    - Dst: mpz_neg
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:150,1
    - Dst: mpz_mod
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:151,1
    - Dst: ctt_bls12_381_fp_neg
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:152,1
    - Dst: CHECK
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:154,1
    - Dst: epilogue
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:154,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:160,1
    - Dst: CHECK
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:163,1
    - Dst: prologue
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:163,1
    - Dst: mpz_add
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:170,1
    - Dst: mpz_mod
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:171,1
    - Dst: ctt_bls12_381_fp_sum
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:172,1
    - Dst: CHECK
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:174,1
    - Dst: epilogue
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:174,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:180,1
    - Dst: CHECK
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:183,1
    - Dst: prologue
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:183,1
    - Dst: mpz_mul
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:190,1
    - Dst: mpz_mod
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:191,1
    - Dst: ctt_bls12_381_fp_prod
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:192,1
    - Dst: CHECK
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:194,1
    - Dst: epilogue
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:194,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:200,1
    - Dst: CHECK
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:203,1
    - Dst: prologue
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:203,1
    - Dst: mpz_invert
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:210,1
    - Dst: ctt_bls12_381_fp_inv
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:211,1
    - Dst: CHECK
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:213,1
    - Dst: epilogue
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:213,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:219,1
    - Dst: CHECK
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:222,1
    - Dst: prologue
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:222,1
    - Dst: assert
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:232,1
    - Dst: printf
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:234,1
    - Dst: mpz_clear
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:263,1
    - Dst: mpz_clear
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:264,1
    - Dst: mpz_clear
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:265,1
    - Dst: mpz_clear
      Src: /src/constantine/examples-c/t_libctt_bls12_381.c:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 270
    functionName: main
    functionSourceFile: /src/constantine/examples-c/t_libctt_bls12_381.c
    functionUses: 0
    functionsReached:
    - mpz_init
    - CHECK
    - printf
    - mpz_invert
    - mpz_clear
    - gmp_randinit_mt
    - prologue
    - epilogue
    - mpz_mod
    - ctt_bls12_381_fp_prod
    - assert
    - mpz_add
    - gmp_randseed_ui
    - mpz_neg
    - ctt_bls12_381_fp_inv
    - ctt_bls12_381_fp_sum
    - mpz_mul
    - ctt_bls12_381_fp_neg
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/uri.cpp:12,1
    - Dst: Botan::URI::from_any
      Src: /src/botan/src/fuzzer/uri.cpp:17,1
    - Dst: std::string
      Src: /src/botan/src/fuzzer/uri.cpp:17,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/fuzzer/uri.cpp:17,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/uri.cpp:17,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/uri.cpp:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 19
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 19
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/uri.cpp
    functionUses: 0
    functionsReached:
    - Botan::URI::from_any
    - std::string
    - std::span<const uint8_t>::size
    - reinterpret_cast<const char*>
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:12,1
    - Dst: memcpy
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:18,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:18,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:18,1
    - Dst: Botan::basecase_sqr
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:31,1
    - Dst: Botan::bigint_comba_sqr4
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:34,1
    - Dst: Botan::bigint_comba_mul4
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:36,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:37,1
    - Dst: Botan::bigint_comba_sqr6
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:40,1
    - Dst: Botan::bigint_comba_mul6
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:42,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:43,1
    - Dst: Botan::bigint_comba_sqr8
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:46,1
    - Dst: Botan::bigint_comba_mul8
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:48,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:49,1
    - Dst: Botan::bigint_comba_sqr9
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:52,1
    - Dst: Botan::bigint_comba_mul9
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:54,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:55,1
    - Dst: Botan::bigint_comba_sqr16
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:58,1
    - Dst: Botan::bigint_comba_mul16
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:60,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:61,1
    - Dst: Botan::bigint_comba_sqr24
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:64,1
    - Dst: Botan::bigint_comba_mul24
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:66,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:67,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:71,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:74,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:77,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:80,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:83,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_sqr.cpp:86,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 87
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 87
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/mp_comba_sqr.cpp
    functionUses: 0
    functionsReached:
    - compare_word_vec
    - Botan::bigint_comba_sqr6
    - Botan::bigint_comba_sqr8
    - Botan::bigint_comba_mul8
    - Botan::bigint_comba_sqr9
    - Botan::bigint_comba_mul4
    - Botan::bigint_comba_mul16
    - Botan::bigint_comba_sqr24
    - Botan::basecase_sqr
    - std::span<const uint8_t>::empty
    - Botan::bigint_comba_mul9
    - memcpy
    - std::span<const uint8_t>::size
    - Botan::bigint_comba_mul24
    - Botan::bigint_comba_sqr16
    - Botan::bigint_comba_sqr4
    - std::span<const uint8_t>::data
    - Botan::bigint_comba_mul6
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: word_format_string
    functionSourceFile: /src/botan/src/fuzzer/mp_fuzzers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * word_format_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:27,1
    - Dst: word_format_string
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:28,1
    - Dst: fprintf
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:30,1
    - Dst: fprintf
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:31,1
    - Dst: fprintf
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - name
    - x
    - x_len
    argTypes:
    - char*
    - word[]
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: dump_word_vec
    functionSourceFile: /src/botan/src/fuzzer/mp_fuzzers.h
    functionUses: 0
    functionsReached:
    - fprintf
    - word_format_string
    linkageType: ''
    returnType: void
    signature: void dump_word_vec(const char* name, const word x[], size_t x_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:41,1
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:42,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:43,1
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:50,1
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:51,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:52,1
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:57,1
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:58,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/mp_fuzzers.h:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - x
    - x_len
    - y
    - y_len
    - comparing
    argTypes:
    - word[]
    - size_t
    - word[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 62
    functionName: compare_word_vec
    functionSourceFile: /src/botan/src/fuzzer/mp_fuzzers.h
    functionUses: 1
    functionsReached:
    - dump_word_vec
    - FUZZER_WRITE_AND_CRASH
    linkageType: ''
    returnType: void
    signature: void compare_word_vec(const word x[], size_t x_len, const word y[],
      size_t y_len, const char* comparing)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/fuzzer/x509_path.cpp:21,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/fuzzer/x509_path.cpp:22,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/fuzzer/x509_path.cpp:22,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/fuzzer/x509_path.cpp:24,1
    - Dst: x509_path_validate
      Src: /src/botan/src/fuzzer/x509_path.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 28
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 28
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - x509_path_validate
    - std::unique_ptr::get
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/fuzzer/ipv4.cpp:13,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/ipv4.cpp:13,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/ipv4.cpp:13,1
    - Dst: Botan::string_to_ipv4
      Src: /src/botan/src/fuzzer/ipv4.cpp:14,1
    - Dst: Botan::ipv4_to_string
      Src: /src/botan/src/fuzzer/ipv4.cpp:15,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/ipv4.cpp:16,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/ipv4.cpp:19,1
    - Dst: Botan::ipv4_to_string
      Src: /src/botan/src/fuzzer/ipv4.cpp:21,1
    - Dst: Botan::string_to_ipv4
      Src: /src/botan/src/fuzzer/ipv4.cpp:22,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/ipv4.cpp:23,1
    - Dst: auto::has_value
      Src: /src/botan/src/fuzzer/ipv4.cpp:23,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/ipv4.cpp:24,1
    - Dst: auto::value
      Src: /src/botan/src/fuzzer/ipv4.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 26
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 26
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/ipv4.cpp
    functionUses: 0
    functionsReached:
    - FUZZER_ASSERT_EQUAL
    - Botan::string_to_ipv4
    - auto::value
    - auto::has_value
    - FUZZER_ASSERT_TRUE
    - Botan::ipv4_to_string
    - std::span<const uint8_t>::size
    - reinterpret_cast<const char*>
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/divide.cpp:11,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/fuzzer/divide.cpp:16,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/divide.cpp:18,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/divide.cpp:18,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/divide.cpp:18,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/divide.cpp:19,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/divide.cpp:19,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/divide.cpp:19,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/divide.cpp:19,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/divide.cpp:19,1
    - Dst: Botan::vartime_divide
      Src: /src/botan/src/fuzzer/divide.cpp:25,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/divide.cpp:27,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/divide.cpp:31,1
    - Dst: Botan::ct_divide
      Src: /src/botan/src/fuzzer/divide.cpp:33,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/divide.cpp:35,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/divide.cpp:36,1
    - Dst: word_at
      Src: /src/botan/src/fuzzer/divide.cpp:40,1
    - Dst: Botan::vartime_divide
      Src: /src/botan/src/fuzzer/divide.cpp:45,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/divide.cpp:47,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/divide.cpp:49,1
    - Dst: Botan::ct_divide_word
      Src: /src/botan/src/fuzzer/divide.cpp:52,1
    - Dst: word_at
      Src: /src/botan/src/fuzzer/divide.cpp:52,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/divide.cpp:53,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/divide.cpp:54,1
    - Dst: word_at
      Src: /src/botan/src/fuzzer/divide.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 55
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 55
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/divide.cpp
    functionUses: 0
    functionsReached:
    - FUZZER_ASSERT_EQUAL
    - Botan::BigInt::BigInt
    - std::span<const uint8_t>::subspan
    - Botan::ct_divide_word
    - FUZZER_ASSERT_TRUE
    - Botan::ct_divide
    - std::span<const uint8_t>::size
    - Botan::BigInt::from_bytes
    - Botan::vartime_divide
    - word_at
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/fuzzer/invert.cpp:16,1
    - Dst: is_even
      Src: /src/botan/src/fuzzer/invert.cpp:16,1
    - Dst: Botan::BigInt::is_nonzero
      Src: /src/botan/src/fuzzer/invert.cpp:22,1
    - Dst: Botan::BigInt::is_odd
      Src: /src/botan/src/fuzzer/invert.cpp:26,1
    - Dst: is_odd
      Src: /src/botan/src/fuzzer/invert.cpp:26,1
    - Dst: is_odd
      Src: /src/botan/src/fuzzer/invert.cpp:37,1
    - Dst: is_odd
      Src: /src/botan/src/fuzzer/invert.cpp:37,1
    - Dst: is_negative
      Src: /src/botan/src/fuzzer/invert.cpp:60,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 2
    argNames:
    - ' n'
    - ' mod'
    argTypes:
    - Botan::BigInt
    - Botan::BigInt
    constantsTouched: []
    func_position:
      end: 68
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 68
    functionName: ref_inverse_mod
    functionSourceFile: /src/botan/src/fuzzer/invert.cpp
    functionUses: 0
    functionsReached:
    - is_even
    - is_negative
    - Botan::BigInt::is_odd
    - Botan::BigInt::is_nonzero
    - is_odd
    linkageType: ''
    returnType: Botan::BigInt
    signature: Botan::BigInt ref_inverse_mod(const Botan::BigInt& n, const Botan::BigInt&
      mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/invert.cpp:75,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/invert.cpp:79,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/invert.cpp:79,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/invert.cpp:79,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/invert.cpp:80,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/invert.cpp:80,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/invert.cpp:80,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/invert.cpp:80,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/invert.cpp:80,1
    - Dst: Botan::inverse_mod
      Src: /src/botan/src/fuzzer/invert.cpp:86,1
    - Dst: ref_inverse_mod
      Src: /src/botan/src/fuzzer/invert.cpp:87,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/invert.cpp:90,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/invert.cpp:90,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/invert.cpp:91,1
    - Dst: gcd
      Src: /src/botan/src/fuzzer/invert.cpp:92,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/invert.cpp:93,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/invert.cpp:94,1
    - Dst: to_hex_string
      Src: /src/botan/src/fuzzer/invert.cpp:95,1
    - Dst: to_hex_string
      Src: /src/botan/src/fuzzer/invert.cpp:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/invert.cpp
    functionUses: 0
    functionsReached:
    - gcd
    - to_hex_string
    - std::span<const uint8_t>::subspan
    - ref_inverse_mod
    - FUZZER_WRITE_AND_CRASH
    - Botan::BigInt::to_hex_string
    - Botan::inverse_mod
    - std::span<const uint8_t>::size
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/ecc_p384.cpp:11,1
    - Dst: check_ecc_math
      Src: /src/botan/src/fuzzer/ecc_p384.cpp:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/ecc_p384.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::size
    - check_ecc_math
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_prime
      Src: /src/botan/src/fuzzer/ressol.cpp:16,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/fuzzer/ressol.cpp:16,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/fuzzer/ressol.cpp:17,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/ressol.cpp:19,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/ressol.cpp:24,1
    - Dst: Botan::sqrt_modulo_prime
      Src: /src/botan/src/fuzzer/ressol.cpp:25,1
    - Dst: auto::reduce
      Src: /src/botan/src/fuzzer/ressol.cpp:28,1
    - Dst: auto::square
      Src: /src/botan/src/fuzzer/ressol.cpp:29,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/ressol.cpp:32,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/ressol.cpp:32,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/ressol.cpp:33,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/ressol.cpp:34,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/ressol.cpp:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 39
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 39
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/ressol.cpp
    functionUses: 0
    functionsReached:
    - fuzzer_rng
    - auto::reduce
    - FUZZER_WRITE_AND_CRASH
    - random_prime
    - Botan::BigInt::to_hex_string
    - std::span<const uint8_t>::size
    - Botan::BigInt::from_bytes
    - Botan::sqrt_modulo_prime
    - Botan::Barrett_Reduction::for_public_modulus
    - auto::square
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_power_of_2
      Src: /src/botan/src/fuzzer/mem_pool.cpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - plen
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: compute_expected_alignment
    functionSourceFile: /src/botan/src/fuzzer/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - Botan::is_power_of_2
    linkageType: ''
    returnType: size_t
    signature: size_t compute_expected_alignment(size_t plen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: RawPage
    functionSourceFile: /src/botan/src/fuzzer/mem_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawPage(void* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/botan/src/fuzzer/mem_pool.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: ~RawPage()
    functionSourceFile: /src/botan/src/fuzzer/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ~RawPage()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RawPage
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: RawPage
    functionSourceFile: /src/botan/src/fuzzer/mem_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawPage(const RawPage& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RawPage
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(const RawPage& other)'
    functionSourceFile: /src/botan/src/fuzzer/mem_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RawPage
    signature: RawPage & operator=(const RawPage& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/fuzzer/mem_pool.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RawPage
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: RawPage
    functionSourceFile: /src/botan/src/fuzzer/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: void RawPage(RawPage&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/fuzzer/mem_pool.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RawPage
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: '& operator=(RawPage&& other) noexcept'
    functionSourceFile: /src/botan/src/fuzzer/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: RawPage
    signature: RawPage & operator=(RawPage&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ptr
    functionSourceFile: /src/botan/src/fuzzer/mem_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * ptr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/fuzzer/mem_pool.cpp:56,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/mem_pool.cpp:62,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/fuzzer/mem_pool.cpp:65,1
    - Dst: RawPage
      Src: /src/botan/src/fuzzer/mem_pool.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - count
    - page_size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: allocate_raw_pages
    functionSourceFile: /src/botan/src/fuzzer/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::vector::reserve
    - RawPage
    - FUZZER_ASSERT_EQUAL
    linkageType: ''
    returnType: std::vector<RawPage>
    signature: std::vector<RawPage> allocate_raw_pages(size_t count, size_t page_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: allocate_raw_pages
      Src: /src/botan/src/fuzzer/mem_pool.cpp:79,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/fuzzer/mem_pool.cpp:82,1
    - Dst: std::vector::size
      Src: /src/botan/src/fuzzer/mem_pool.cpp:82,1
    - Dst: std::vector::size
      Src: /src/botan/src/fuzzer/mem_pool.cpp:83,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/fuzzer/mem_pool.cpp:84,1
    - Dst: ptr
      Src: /src/botan/src/fuzzer/mem_pool.cpp:84,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/mem_pool.cpp:91,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/mem_pool.cpp:112,1
    - Dst: static_cast<void*>
      Src: /src/botan/src/fuzzer/mem_pool.cpp:113,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/mem_pool.cpp:121,1
    - Dst: memset
      Src: /src/botan/src/fuzzer/mem_pool.cpp:126,1
    - Dst: static_cast<int>
      Src: /src/botan/src/fuzzer/mem_pool.cpp:126,1
    - Dst: std::map::insert
      Src: /src/botan/src/fuzzer/mem_pool.cpp:128,1
    - Dst: std::make_pair
      Src: /src/botan/src/fuzzer/mem_pool.cpp:128,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/mem_pool.cpp:130,1
    - Dst: static_cast<void*>
      Src: /src/botan/src/fuzzer/mem_pool.cpp:130,1
    - Dst: std::map::begin
      Src: /src/botan/src/fuzzer/mem_pool.cpp:136,1
    - Dst: std::prev
      Src: /src/botan/src/fuzzer/mem_pool.cpp:137,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/mem_pool.cpp:141,1
    - Dst: static_cast<void*>
      Src: /src/botan/src/fuzzer/mem_pool.cpp:141,1
    - Dst: static_cast<void*>
      Src: /src/botan/src/fuzzer/mem_pool.cpp:142,1
    - Dst: next
      Src: /src/botan/src/fuzzer/mem_pool.cpp:146,1
    - Dst: std::map::end
      Src: /src/botan/src/fuzzer/mem_pool.cpp:148,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/mem_pool.cpp:150,1
    - Dst: static_cast<void*>
      Src: /src/botan/src/fuzzer/mem_pool.cpp:150,1
    - Dst: static_cast<void*>
      Src: /src/botan/src/fuzzer/mem_pool.cpp:151,1
    - Dst: std::map::empty
      Src: /src/botan/src/fuzzer/mem_pool.cpp:156,1
    - Dst: std::map::begin
      Src: /src/botan/src/fuzzer/mem_pool.cpp:162,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/mem_pool.cpp:169,1
    - Dst: Botan::Memory_Pool::deallocate
      Src: /src/botan/src/fuzzer/mem_pool.cpp:169,1
    - Dst: std::map::erase
      Src: /src/botan/src/fuzzer/mem_pool.cpp:170,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 173
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 173
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - FUZZER_WRITE_AND_CRASH
    - std::vector::push_back
    - memset
    - std::map::begin
    - ptr
    - next
    - allocate_raw_pages
    - static_cast<void*>
    - static_cast<int>
    - std::map::erase
    - std::vector::reserve
    - Botan::Memory_Pool::deallocate
    - std::span<const uint8_t>::data
    - std::map::end
    - std::map::empty
    - std::prev
    - std::map::insert
    - FUZZER_ASSERT_TRUE
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::setenv
      Src: /src/botan/src/fuzzer/fuzzers.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/botan/src/fuzzer/fuzzers.h
    functionUses: 0
    functionsReached:
    - ::setenv
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int*, char***)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzz
      Src: /src/botan/src/fuzzer/fuzzers.h:37,1
    - Dst: std::span<const uint8_t>
      Src: /src/botan/src/fuzzer/fuzzers.h:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - in
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/botan/src/fuzzer/fuzzers.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>
    - fuzz
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t in[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Botan::ChaCha_RNG>
      Src: /src/botan/src/fuzzer/fuzzers.h:46,1
    - Dst: Botan::secure_vector<uint8_t>
      Src: /src/botan/src/fuzzer/fuzzers.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: fuzzer_rng_as_shared
    functionSourceFile: /src/botan/src/fuzzer/fuzzers.h
    functionUses: 0
    functionsReached:
    - Botan::secure_vector<uint8_t>
    - std::make_shared<Botan::ChaCha_RNG>
    linkageType: ''
    returnType: std::shared_ptr<Botan::RandomNumberGenerator>
    signature: std::shared_ptr<Botan::RandomNumberGenerator> fuzzer_rng_as_shared()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzer_rng_as_shared
      Src: /src/botan/src/fuzzer/fuzzers.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: fuzzer_rng
    functionSourceFile: /src/botan/src/fuzzer/fuzzers.h
    functionUses: 1
    functionsReached:
    - fuzzer_rng_as_shared
    linkageType: ''
    returnType: Botan::RandomNumberGenerator
    signature: Botan::RandomNumberGenerator & fuzzer_rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/botan/src/fuzzer/fuzzers.h:92,1
    - Dst: std::ifstream::read
      Src: /src/botan/src/fuzzer/fuzzers.h:94,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/fuzzer/fuzzers.h:94,1
    - Dst: std::vector::data
      Src: /src/botan/src/fuzzer/fuzzers.h:94,1
    - Dst: std::vector::size
      Src: /src/botan/src/fuzzer/fuzzers.h:94,1
    - Dst: std::vector::resize
      Src: /src/botan/src/fuzzer/fuzzers.h:96,1
    - Dst: std::vector::shrink_to_fit
      Src: /src/botan/src/fuzzer/fuzzers.h:97,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/botan/src/fuzzer/fuzzers.h:99,1
    - Dst: std::vector::data
      Src: /src/botan/src/fuzzer/fuzzers.h:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - files
    argTypes:
    - char*[]
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: fuzz_files
    functionSourceFile: /src/botan/src/fuzzer/fuzzers.h
    functionUses: 0
    functionsReached:
    - std::ifstream::good
    - std::vector::size
    - std::vector::shrink_to_fit
    - std::vector::resize
    - std::ifstream::read
    - reinterpret_cast<char*>
    - LLVMFuzzerTestOneInput
    - std::vector::data
    linkageType: ''
    returnType: int
    signature: int fuzz_files(char* files[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LLVMFuzzerInitialize
      Src: /src/botan/src/fuzzer/fuzzers.h:111,1
    - Dst: fuzz_files
      Src: /src/botan/src/fuzzer/fuzzers.h:115,1
    - Dst: __AFL_LOOP
      Src: /src/botan/src/fuzzer/fuzzers.h:120,1
    - Dst: read
      Src: /src/botan/src/fuzzer/fuzzers.h:124,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/fuzzer/fuzzers.h:124,1
    - Dst: std::vector::data
      Src: /src/botan/src/fuzzer/fuzzers.h:124,1
    - Dst: std::vector::size
      Src: /src/botan/src/fuzzer/fuzzers.h:124,1
    - Dst: std::vector::resize
      Src: /src/botan/src/fuzzer/fuzzers.h:127,1
    - Dst: std::vector::shrink_to_fit
      Src: /src/botan/src/fuzzer/fuzzers.h:128,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/botan/src/fuzzer/fuzzers.h:130,1
    - Dst: std::vector::data
      Src: /src/botan/src/fuzzer/fuzzers.h:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 132
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 132
    functionName: main
    functionSourceFile: /src/botan/src/fuzzer/fuzzers.h
    functionUses: 0
    functionsReached:
    - std::vector::size
    - read
    - std::vector::data
    - std::vector::resize
    - fuzz_files
    - std::vector::shrink_to_fit
    - __AFL_LOOP
    - reinterpret_cast<char*>
    - LLVMFuzzerTestOneInput
    - LLVMFuzzerInitialize
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LLVMFuzzerInitialize
      Src: /src/botan/src/fuzzer/fuzzers.h:139,1
    - Dst: klee_make_symbolic
      Src: /src/botan/src/fuzzer/fuzzers.h:142,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/botan/src/fuzzer/fuzzers.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: main
    functionSourceFile: /src/botan/src/fuzzer/fuzzers.h
    functionUses: 0
    functionsReached:
    - klee_make_symbolic
    - LLVMFuzzerTestOneInput
    - LLVMFuzzerInitialize
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:12,1
    - Dst: memcpy
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:20,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:20,1
    - Dst: memcpy
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:21,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:21,1
    - Dst: Botan::basecase_mul
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:35,1
    - Dst: Botan::bigint_comba_mul4
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:38,1
    - Dst: Botan::bigint_comba_mul6
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:41,1
    - Dst: Botan::bigint_comba_mul8
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:44,1
    - Dst: Botan::bigint_comba_mul9
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:47,1
    - Dst: Botan::bigint_comba_mul16
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:50,1
    - Dst: Botan::bigint_comba_mul24
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:53,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:57,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:60,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:63,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:66,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:69,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_comba_mul.cpp:72,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 73
      start: 9
    functionDepth: 3
    functionLinenumber: 9
    functionLinenumberEnd: 73
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/mp_comba_mul.cpp
    functionUses: 1
    functionsReached:
    - compare_word_vec
    - Botan::bigint_comba_mul16
    - Botan::bigint_comba_mul8
    - Botan::bigint_comba_mul4
    - std::span<const uint8_t>::empty
    - Botan::bigint_comba_mul9
    - memcpy
    - Botan::basecase_mul
    - Botan::bigint_comba_mul24
    - std::span<const uint8_t>::data
    - Botan::bigint_comba_mul6
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: ASN1_Parser::ASN1_Parser
    functionSourceFile: /src/botan/src/fuzzer/asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_Parser()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: ASN1_Parser::format
    functionSourceFile: /src/botan/src/fuzzer/asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string format(Botan::ASN1_Type, Botan::ASN1_Class, size_t, size_t,
      std::string_view) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: ASN1_Parser::format_bin
    functionSourceFile: /src/botan/src/fuzzer/asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string format_bin(Botan::ASN1_Type, Botan::ASN1_Class, const std::vector<uint8_t>&)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ASN1_Parser::format_bn
    functionSourceFile: /src/botan/src/fuzzer/asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string format_bn(const Botan::BigInt&) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_Parser::ASN1_Parser
      Src: /src/botan/src/fuzzer/asn1.cpp:35,1
    - Dst: ASN1_Parser::print_to_stream
      Src: /src/botan/src/fuzzer/asn1.cpp:36,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/asn1.cpp:36,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/asn1.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/asn1.cpp
    functionUses: 1
    functionsReached:
    - ASN1_Parser::ASN1_Parser
    - std::span<const uint8_t>::data
    - ASN1_Parser::print_to_stream
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: Fuzzer_TLS_Client_Creds::psk_identity_hint
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string psk_identity_hint(const std::string&, const std::string&)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: Fuzzer_TLS_Client_Creds::psk_identity
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string psk_identity(const std::string&, const std::string&, const
      std::string&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/fuzzer/tls_client.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Fuzzer_TLS_Client_Creds::session_ticket_key
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> session_ticket_key() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/fuzzer/tls_client.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Fuzzer_TLS_Client_Creds::dtls_cookie_secret
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> dtls_cookie_secret() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/fuzzer/tls_client.cpp:32,1
    - Dst: find
      Src: /src/botan/src/fuzzer/tls_client.cpp:32,1
    - Dst: begin
      Src: /src/botan/src/fuzzer/tls_client.cpp:32,1
    - Dst: end
      Src: /src/botan/src/fuzzer/tls_client.cpp:32,1
    - Dst: end
      Src: /src/botan/src/fuzzer/tls_client.cpp:32,1
    - Dst: Botan::Credentials_Manager::find_preshared_keys
      Src: /src/botan/src/fuzzer/tls_client.cpp:33,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/fuzzer/tls_client.cpp:37,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/fuzzer/tls_client.cpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - host
    - whoami
    argTypes:
    - std::string_view
    - Botan::TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: Fuzzer_TLS_Client_Creds::find_preshared_keys
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 0
    functionsReached:
    - begin
    - empty
    - Botan::Credentials_Manager::find_preshared_keys
    - end
    - Botan::hex_decode_locked
    - find
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<Botan::TLS::ExternalPSK>
    signature: "std::vector<Botan::TLS::ExternalPSK> find_preshared_keys(\n         std::string_view
      host,\n         Botan::TLS::Connection_Side whoami,\n         const std::vector<std::string>&
      identities = {},\n         const std::optional<std::string>& prf = std::nullopt)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Ciphersuite::all_known_ciphersuites
      Src: /src/botan/src/fuzzer/tls_client.cpp:47,1
    - Dst: valid
      Src: /src/botan/src/fuzzer/tls_client.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/fuzzer/tls_client.cpp:49,1
    - Dst: ciphersuite_code
      Src: /src/botan/src/fuzzer/tls_client.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: Fuzzer_TLS_Policy::ciphersuite_list
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 0
    functionsReached:
    - ciphersuite_code
    - Botan::TLS::Ciphersuite::all_known_ciphersuites
    - std::vector::push_back
    - valid
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> ciphersuite_list(Botan::TLS::Protocol_Version)
      const override
  - 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: Fuzzer_TLS_Client_Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t>) override
  - 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: Fuzzer_TLS_Client_Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t, std::span<const uint8_t>) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: Fuzzer_TLS_Client_Callbacks::tls_alert
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_alert(Botan::TLS::Alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fuzzer_TLS_Client_Callbacks::tls_verify_cert_chain
      Src: /src/botan/src/fuzzer/tls_client.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - ' cert_chain'
    - ' ocsp_responses'
    - ' trusted_roots'
    - usage
    - hostname
    - ' policy'
    argTypes:
    - std::vector<Botan::X509_Certificate>
    - std::vector<std::optional<Botan::OCSP::Response>>
    - std::vector<Botan::Certificate_Store*>
    - Botan::Usage_Type
    - std::string_view
    - Botan::TLS::Policy
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: Fuzzer_TLS_Client_Callbacks::tls_verify_cert_chain
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Fuzzer_TLS_Client_Callbacks::tls_verify_cert_chain
    linkageType: ''
    returnType: void
    signature: "void tls_verify_cert_chain(const std::vector<Botan::X509_Certificate>&
      cert_chain,\n                                 const std::vector<std::optional<Botan::OCSP::Response>>&
      ocsp_responses,\n                                 const std::vector<Botan::Certificate_Store*>&
      trusted_roots,\n                                 Botan::Usage_Type usage,\n
      \                                std::string_view hostname,\n                                 const
      Botan::TLS::Policy& policy) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/fuzzer/tls_client.cpp:88,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_Noop>
      Src: /src/botan/src/fuzzer/tls_client.cpp:92,1
    - Dst: std::make_shared<Fuzzer_TLS_Policy>
      Src: /src/botan/src/fuzzer/tls_client.cpp:93,1
    - Dst: std::make_shared<Fuzzer_TLS_Client_Callbacks>
      Src: /src/botan/src/fuzzer/tls_client.cpp:96,1
    - Dst: std::make_shared<Fuzzer_TLS_Client_Creds>
      Src: /src/botan/src/fuzzer/tls_client.cpp:97,1
    - Dst: Botan::TLS::Client::received_data
      Src: /src/botan/src/fuzzer/tls_client.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::received_data
    - std::make_shared<Fuzzer_TLS_Client_Callbacks>
    - std::span<const uint8_t>::empty
    - std::make_shared<Botan::TLS::Session_Manager_Noop>
    - std::make_shared<Fuzzer_TLS_Client_Creds>
    - std::make_shared<Fuzzer_TLS_Policy>
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/ecc_p256.cpp:11,1
    - Dst: check_ecc_math
      Src: /src/botan/src/fuzzer/ecc_p256.cpp:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/ecc_p256.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::size
    - check_ecc_math
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/ocsp.cpp:13,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/ocsp.cpp:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/ocsp.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/bn_sqr.cpp:13,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/bn_sqr.cpp:17,1
    - Dst: square
      Src: /src/botan/src/fuzzer/bn_sqr.cpp:19,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/bn_sqr.cpp:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 23
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 23
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/bn_sqr.cpp
    functionUses: 1
    functionsReached:
    - Botan::BigInt::from_bytes
    - FUZZER_ASSERT_EQUAL
    - square
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/fuzzer/pkcs8.cpp:17,1
    - Dst: Botan::EC_Group::clear_registered_curve_data
      Src: /src/botan/src/fuzzer/pkcs8.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 28
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 28
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/pkcs8.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Group::clear_registered_curve_data
    - Botan::PKCS8::load_key
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_DN::decode_from
      Src: /src/botan/src/fuzzer/x509_dn.cpp:18,1
    - Dst: Botan::X509_DN::decode_from
      Src: /src/botan/src/fuzzer/x509_dn.cpp:19,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/x509_dn.cpp:29,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/x509_dn.cpp:32,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/x509_dn.cpp:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 37
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 37
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/x509_dn.cpp
    functionUses: 1
    functionsReached:
    - Botan::X509_DN::decode_from
    - FUZZER_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/oaep.cpp:17,1
    - Dst: Botan::CT::Option<size_t>
      Src: /src/botan/src/fuzzer/oaep.cpp:18,1
    - Dst: Botan::CT::Option<size_t>
      Src: /src/botan/src/fuzzer/oaep.cpp:23,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/oaep.cpp:27,1
    - Dst: Botan::CT::Option<size_t>
      Src: /src/botan/src/fuzzer/oaep.cpp:29,1
    - Dst: Botan::CT::Option<size_t>
      Src: /src/botan/src/fuzzer/oaep.cpp:33,1
    - Dst: Botan::CT::Option<size_t>
      Src: /src/botan/src/fuzzer/oaep.cpp:37,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - in
    - ' Phash'
    argTypes:
    - std::span<const uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 38
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 38
    functionName: ref_oaep_unpad
    functionSourceFile: /src/botan/src/fuzzer/oaep.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::size
    - Botan::CT::Option<size_t>
    linkageType: ''
    returnType: Botan::CT::Option<size_t>
    signature: Botan::CT::Option<size_t> ref_oaep_unpad(std::span<const uint8_t> in,
      const std::vector<uint8_t>& Phash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::oaep_find_delim
      Src: /src/botan/src/fuzzer/oaep.cpp:45,1
    - Dst: ref_oaep_unpad
      Src: /src/botan/src/fuzzer/oaep.cpp:47,1
    - Dst: auto::has_value
      Src: /src/botan/src/fuzzer/oaep.cpp:49,1
    - Dst: auto::has_value
      Src: /src/botan/src/fuzzer/oaep.cpp:49,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/oaep.cpp:50,1
    - Dst: auto::value
      Src: /src/botan/src/fuzzer/oaep.cpp:50,1
    - Dst: auto::value
      Src: /src/botan/src/fuzzer/oaep.cpp:50,1
    - Dst: auto::has_value
      Src: /src/botan/src/fuzzer/oaep.cpp:51,1
    - Dst: auto::has_value
      Src: /src/botan/src/fuzzer/oaep.cpp:51,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/oaep.cpp:52,1
    - Dst: auto::has_value
      Src: /src/botan/src/fuzzer/oaep.cpp:53,1
    - Dst: auto::has_value
      Src: /src/botan/src/fuzzer/oaep.cpp:53,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/oaep.cpp:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/oaep.cpp
    functionUses: 1
    functionsReached:
    - FUZZER_ASSERT_EQUAL
    - auto::value
    - auto::has_value
    - ref_oaep_unpad
    - FUZZER_WRITE_AND_CRASH
    - Botan::oaep_find_delim
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 17
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 17
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/crl.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/ecc_bp256.cpp:11,1
    - Dst: check_ecc_math
      Src: /src/botan/src/fuzzer/ecc_bp256.cpp:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 17
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 17
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/ecc_bp256.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::size
    - check_ecc_math
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/mode_padding.cpp:15,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/mode_padding.cpp:16,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 35
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 35
    functionName: ref_pkcs7_unpad
    functionSourceFile: /src/botan/src/fuzzer/mode_padding.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: size_t
    signature: size_t ref_pkcs7_unpad(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 57
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionName: ref_x923_unpad
    functionSourceFile: /src/botan/src/fuzzer/mode_padding.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ref_x923_unpad(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 82
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 82
    functionName: ref_oneandzero_unpad
    functionSourceFile: /src/botan/src/fuzzer/mode_padding.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ref_oneandzero_unpad(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 104
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 104
    functionName: ref_esp_unpad
    functionSourceFile: /src/botan/src/fuzzer/mode_padding.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ref_esp_unpad(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 128
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 128
    functionName: ref_tls_cbc_unpad
    functionSourceFile: /src/botan/src/fuzzer/mode_padding.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ref_tls_cbc_unpad(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS7_Padding::valid_blocksize
      Src: /src/botan/src/fuzzer/mode_padding.cpp:140,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/mode_padding.cpp:143,1
    - Dst: Botan::ANSI_X923_Padding::valid_blocksize
      Src: /src/botan/src/fuzzer/mode_padding.cpp:146,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/mode_padding.cpp:149,1
    - Dst: Botan::OneAndZeros_Padding::valid_blocksize
      Src: /src/botan/src/fuzzer/mode_padding.cpp:152,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/mode_padding.cpp:155,1
    - Dst: Botan::ESP_Padding::valid_blocksize
      Src: /src/botan/src/fuzzer/mode_padding.cpp:158,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/mode_padding.cpp:161,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/mode_padding.cpp:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 167
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 167
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/mode_padding.cpp
    functionUses: 1
    functionsReached:
    - Botan::OneAndZeros_Padding::valid_blocksize
    - FUZZER_ASSERT_EQUAL
    - Botan::ESP_Padding::valid_blocksize
    - Botan::ANSI_X923_Padding::valid_blocksize
    - Botan::PKCS7_Padding::valid_blocksize
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/fuzzer/pkcs1.cpp:16,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/fuzzer/pkcs1.cpp:20,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/fuzzer/pkcs1.cpp:26,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/fuzzer/pkcs1.cpp:28,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/fuzzer/pkcs1.cpp:32,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - in
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 33
    functionName: simple_pkcs1_unpad
    functionSourceFile: /src/botan/src/fuzzer/pkcs1.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - Botan::Decoding_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> simple_pkcs1_unpad(const uint8_t in[], size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/botan/src/fuzzer/pkcs1.cpp:45,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/pkcs1.cpp:45,1
    - Dst: static_cast<Botan::EME*>
      Src: /src/botan/src/fuzzer/pkcs1.cpp:46,1
    - Dst: unpad
      Src: /src/botan/src/fuzzer/pkcs1.cpp:46,1
    - Dst: auto::has_value
      Src: /src/botan/src/fuzzer/pkcs1.cpp:47,1
    - Dst: std::vector::resize
      Src: /src/botan/src/fuzzer/pkcs1.cpp:49,1
    - Dst: auto::value_or
      Src: /src/botan/src/fuzzer/pkcs1.cpp:49,1
    - Dst: simple_pkcs1_unpad
      Src: /src/botan/src/fuzzer/pkcs1.cpp:55,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/pkcs1.cpp:55,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/pkcs1.cpp:55,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/pkcs1.cpp:61,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/fuzzer/pkcs1.cpp:61,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/pkcs1.cpp:63,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/fuzzer/pkcs1.cpp:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/pkcs1.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::data
    - auto::has_value
    - std::vector::resize
    - static_cast<Botan::EME*>
    - auto::value_or
    - simple_pkcs1_unpad
    - FUZZER_WRITE_AND_CRASH
    - std::span<const uint8_t>::size
    - Botan::hex_encode
    - unpad
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/cert.cpp:13,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 21
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 21
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/cert.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Handshake_Layer::copy_data
      Src: /src/botan/src/fuzzer/tls_13_handshake_layer.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: prepare
    functionSourceFile: /src/botan/src/fuzzer/tls_13_handshake_layer.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Handshake_Layer::copy_data
    linkageType: ''
    returnType: Botan::TLS::Handshake_Layer
    signature: Botan::TLS::Handshake_Layer prepare(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prepare
      Src: /src/botan/src/fuzzer/tls_13_handshake_layer.cpp:28,1
    - Dst: auto::next_message
      Src: /src/botan/src/fuzzer/tls_13_handshake_layer.cpp:30,1
    - Dst: prepare
      Src: /src/botan/src/fuzzer/tls_13_handshake_layer.cpp:32,1
    - Dst: auto::next_post_handshake_message
      Src: /src/botan/src/fuzzer/tls_13_handshake_layer.cpp:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/tls_13_handshake_layer.cpp
    functionUses: 1
    functionsReached:
    - auto::next_post_handshake_message
    - auto::next_message
    - prepare
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/barrett.cpp:16,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/barrett.cpp:20,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/barrett.cpp:26,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/barrett.cpp:26,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/barrett.cpp:27,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/barrett.cpp:27,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/barrett.cpp:27,1
    - Dst: Botan::BigInt::is_zero
      Src: /src/botan/src/fuzzer/barrett.cpp:29,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/fuzzer/barrett.cpp:34,1
    - Dst: auto::reduce
      Src: /src/botan/src/fuzzer/barrett.cpp:35,1
    - Dst: ct_modulo
      Src: /src/botan/src/fuzzer/barrett.cpp:38,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/barrett.cpp:41,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/barrett.cpp:41,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/barrett.cpp:42,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/barrett.cpp:43,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/barrett.cpp:44,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/barrett.cpp:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 48
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 48
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/barrett.cpp
    functionUses: 1
    functionsReached:
    - Botan::BigInt::is_zero
    - std::span<const uint8_t>::subspan
    - auto::reduce
    - FUZZER_WRITE_AND_CRASH
    - Botan::BigInt::to_hex_string
    - ct_modulo
    - std::span<const uint8_t>::size
    - Botan::BigInt::from_bytes
    - Botan::Barrett_Reduction::for_public_modulus
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:14,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:14,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:21,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:21,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:22,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:22,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:22,1
    - Dst: Botan::BigInt::flip_sign
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:25,1
    - Dst: Botan::BigInt::flip_sign
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:28,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:34,1
    - Dst: Botan::BigInt::cmp
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:34,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:43,1
    - Dst: Botan::BigInt::is_zero
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:43,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:44,1
    - Dst: Botan::BigInt::is_zero
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:44,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:48,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:52,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:56,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:57,1
    - Dst: Botan::BigInt::is_nonzero
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:57,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:58,1
    - Dst: Botan::BigInt::is_nonzero
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:58,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:59,1
    - Dst: Botan::BigInt::is_negative
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:59,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:60,1
    - Dst: Botan::BigInt::is_positive
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:60,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:64,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:65,1
    - Dst: Botan::BigInt::is_nonzero
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:65,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:66,1
    - Dst: Botan::BigInt::is_nonzero
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:66,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:67,1
    - Dst: Botan::BigInt::is_positive
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:67,1
    - Dst: FUZZER_ASSERT_TRUE
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:68,1
    - Dst: Botan::BigInt::is_negative
      Src: /src/botan/src/fuzzer/bn_cmp.cpp:68,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 70
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 70
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/bn_cmp.cpp
    functionUses: 1
    functionsReached:
    - Botan::BigInt::is_zero
    - Botan::BigInt::is_negative
    - std::span<const uint8_t>::subspan
    - Botan::BigInt::cmp
    - Botan::BigInt::is_positive
    - FUZZER_ASSERT_TRUE
    - Botan::BigInt::flip_sign
    - Botan::BigInt::is_nonzero
    - std::span<const uint8_t>::size
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: void
    signature: void fuzz(const std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<word>
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: crandall_C
    functionSourceFile: /src/botan/src/fuzzer/mp_redc_crandall.cpp
    functionUses: 0
    functionsReached:
    - static_cast<word>
    linkageType: ''
    returnType: word
    signature: word crandall_C()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:27,1
    - Dst: crandall_C
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:31,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:33,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:36,1
    - Dst: Botan::load_be<word>
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:46,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:46,1
    - Dst: Botan::redc_crandall<word, 4, C>
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:49,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:51,1
    - Dst: auto::data
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:51,1
    - Dst: auto::_data
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:51,1
    - Dst: auto::sig_words
      Src: /src/botan/src/fuzzer/mp_redc_crandall.cpp:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 52
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 52
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/mp_redc_crandall.cpp
    functionUses: 1
    functionsReached:
    - compare_word_vec
    - Botan_Tests::BitOps_Tests::test_power_of_2
    - std::span<const uint8_t>::subspan
    - auto::_data
    - auto::sig_words
    - Botan::redc_crandall<word, 4, C>
    - auto::data
    - Botan::load_be<word>
    - std::span<const uint8_t>::size
    - crandall_C
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/fuzzer/tls_client_hello.cpp:13,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/fuzzer/tls_client_hello.cpp:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 16
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 16
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/tls_client_hello.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/fuzzer/gcd.cpp:14,1
    - Dst: Botan::BigInt::swap
      Src: /src/botan/src/fuzzer/gcd.cpp:17,1
    - Dst: Botan::BigInt::swap
      Src: /src/botan/src/fuzzer/gcd.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Botan::BigInt
    - Botan::BigInt
    constantsTouched: []
    func_position:
      end: 21
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 21
    functionName: ref_gcd
    functionSourceFile: /src/botan/src/fuzzer/gcd.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::BigInt
    - Botan::BigInt::swap
    linkageType: ''
    returnType: Botan::BigInt
    signature: Botan::BigInt ref_gcd(Botan::BigInt a, Botan::BigInt b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/gcd.cpp:28,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/gcd.cpp:32,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/gcd.cpp:32,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/gcd.cpp:32,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/gcd.cpp:33,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/gcd.cpp:33,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/gcd.cpp:33,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/gcd.cpp:33,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/gcd.cpp:33,1
    - Dst: ref_gcd
      Src: /src/botan/src/fuzzer/gcd.cpp:35,1
    - Dst: Botan::gcd
      Src: /src/botan/src/fuzzer/gcd.cpp:36,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/gcd.cpp:39,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/gcd.cpp:39,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/gcd.cpp:40,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/gcd.cpp:41,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/gcd.cpp:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 44
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 44
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/gcd.cpp
    functionUses: 1
    functionsReached:
    - ref_gcd
    - std::span<const uint8_t>::subspan
    - FUZZER_WRITE_AND_CRASH
    - Botan::BigInt::to_hex_string
    - Botan::gcd
    - std::span<const uint8_t>::size
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/mp_redc.cpp:13,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/mp_redc.cpp:13,1
    - Dst: memcpy
      Src: /src/botan/src/fuzzer/mp_redc.cpp:24,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/mp_redc.cpp:24,1
    - Dst: memcpy
      Src: /src/botan/src/fuzzer/mp_redc.cpp:25,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/mp_redc.cpp:25,1
    - Dst: memcpy
      Src: /src/botan/src/fuzzer/mp_redc.cpp:26,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/fuzzer/mp_redc.cpp:26,1
    - Dst: Botan::bigint_monty_redc_4
      Src: /src/botan/src/fuzzer/mp_redc.cpp:29,1
    - Dst: Botan::bigint_monty_redc_6
      Src: /src/botan/src/fuzzer/mp_redc.cpp:31,1
    - Dst: Botan::bigint_monty_redc_8
      Src: /src/botan/src/fuzzer/mp_redc.cpp:33,1
    - Dst: Botan::bigint_monty_redc_16
      Src: /src/botan/src/fuzzer/mp_redc.cpp:35,1
    - Dst: Botan::bigint_monty_redc_24
      Src: /src/botan/src/fuzzer/mp_redc.cpp:37,1
    - Dst: Botan::bigint_monty_redc_32
      Src: /src/botan/src/fuzzer/mp_redc.cpp:39,1
    - Dst: std::abort
      Src: /src/botan/src/fuzzer/mp_redc.cpp:41,1
    - Dst: Botan::bigint_monty_redc_generic
      Src: /src/botan/src/fuzzer/mp_redc.cpp:44,1
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_redc.cpp:48,1
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_redc.cpp:49,1
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_redc.cpp:50,1
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_redc.cpp:51,1
    - Dst: dump_word_vec
      Src: /src/botan/src/fuzzer/mp_redc.cpp:52,1
    - Dst: std::abort
      Src: /src/botan/src/fuzzer/mp_redc.cpp:53,1
    - Dst: compare_word_vec
      Src: /src/botan/src/fuzzer/mp_redc.cpp:56,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 57
      start: 12
    functionDepth: 3
    functionLinenumber: 12
    functionLinenumberEnd: 57
    functionName: fuzz_mp_redc
    functionSourceFile: /src/botan/src/fuzzer/mp_redc.cpp
    functionUses: 0
    functionsReached:
    - Botan::bigint_monty_redc_6
    - Botan::bigint_monty_redc_24
    - FUZZER_ASSERT_EQUAL
    - Botan::bigint_monty_redc_generic
    - compare_word_vec
    - Botan::bigint_monty_redc_16
    - dump_word_vec
    - Botan::bigint_monty_redc_32
    - memcpy
    - Botan::bigint_monty_redc_4
    - std::span<const uint8_t>::size
    - std::abort
    - std::span<const uint8_t>::data
    - Botan::bigint_monty_redc_8
    linkageType: ''
    returnType: void
    signature: void fuzz_mp_redc(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/fuzzer/mp_redc.cpp:62,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/mp_redc.cpp:62,1
    - Dst: fuzz_mp_redc
      Src: /src/botan/src/fuzzer/mp_redc.cpp:70,1
    - Dst: fuzz_mp_redc
      Src: /src/botan/src/fuzzer/mp_redc.cpp:72,1
    - Dst: fuzz_mp_redc
      Src: /src/botan/src/fuzzer/mp_redc.cpp:74,1
    - Dst: fuzz_mp_redc
      Src: /src/botan/src/fuzzer/mp_redc.cpp:76,1
    - Dst: fuzz_mp_redc
      Src: /src/botan/src/fuzzer/mp_redc.cpp:78,1
    - Dst: fuzz_mp_redc
      Src: /src/botan/src/fuzzer/mp_redc.cpp:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 84
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 84
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/mp_redc.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::empty
    - std::span<const uint8_t>::size
    - fuzz_mp_redc
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/fuzzer/os2ecp.cpp:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' group'
    - in
    argTypes:
    - Botan::EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 17
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 17
    functionName: check_os2ecp
    functionSourceFile: /src/botan/src/fuzzer/os2ecp.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: void
    signature: void check_os2ecp(const Botan::EC_Group& group, std::span<const uint8_t>
      in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/os2ecp.cpp:22,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/fuzzer/os2ecp.cpp:26,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/fuzzer/os2ecp.cpp:27,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/fuzzer/os2ecp.cpp:28,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/fuzzer/os2ecp.cpp:29,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/fuzzer/os2ecp.cpp:30,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/fuzzer/os2ecp.cpp:31,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/fuzzer/os2ecp.cpp:32,1
    - Dst: check_os2ecp
      Src: /src/botan/src/fuzzer/os2ecp.cpp:34,1
    - Dst: check_os2ecp
      Src: /src/botan/src/fuzzer/os2ecp.cpp:35,1
    - Dst: check_os2ecp
      Src: /src/botan/src/fuzzer/os2ecp.cpp:36,1
    - Dst: check_os2ecp
      Src: /src/botan/src/fuzzer/os2ecp.cpp:37,1
    - Dst: check_os2ecp
      Src: /src/botan/src/fuzzer/os2ecp.cpp:38,1
    - Dst: check_os2ecp
      Src: /src/botan/src/fuzzer/os2ecp.cpp:39,1
    - Dst: check_os2ecp
      Src: /src/botan/src/fuzzer/os2ecp.cpp:40,1
    - Dst: check_os2ecp
      Src: /src/botan/src/fuzzer/os2ecp.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 42
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 42
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/os2ecp.cpp
    functionUses: 1
    functionsReached:
    - check_os2ecp
    - std::span<const uint8_t>::size
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_encode
      Src: /src/botan/src/fuzzer/ecc_helper.h:20,1
    - Dst: serialize_uncompressed
      Src: /src/botan/src/fuzzer/ecc_helper.h:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' o'
    - ' point'
    argTypes:
    - std::ostream
    - Botan::EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: '& operator<<(std::ostream& o, const Botan::EC_AffinePoint& point)'
    functionSourceFile: /src/botan/src/fuzzer/ecc_helper.h
    functionUses: 0
    functionsReached:
    - serialize_uncompressed
    - Botan::hex_encode
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& o, const Botan::EC_AffinePoint&
      point)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqrt_modulo_prime
      Src: /src/botan/src/fuzzer/ecc_helper.h:36,1
    - Dst: Botan::Exception
      Src: /src/botan/src/fuzzer/ecc_helper.h:39,1
    - Dst: Botan::BigInt::get_bit
      Src: /src/botan/src/fuzzer/ecc_helper.h:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - yMod2
    - ' x'
    - ' curve_p'
    - ' curve_a'
    - ' curve_b'
    argTypes:
    - bool
    - Botan::BigInt
    - Botan::BigInt
    - Botan::BigInt
    - Botan::BigInt
    constantsTouched: []
    func_position:
      end: 47
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 47
    functionName: decompress_point
    functionSourceFile: /src/botan/src/fuzzer/ecc_helper.h
    functionUses: 0
    functionsReached:
    - Botan::Exception
    - Botan::BigInt::get_bit
    - sqrt_modulo_prime
    linkageType: ''
    returnType: Botan::BigInt
    signature: "Botan::BigInt decompress_point(bool yMod2,\n                                      const
      Botan::BigInt& x,\n                                      const Botan::BigInt&
      curve_p,\n                                      const Botan::BigInt& curve_a,\n
      \                                     const Botan::BigInt& curve_b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/fuzzer/ecc_helper.h:52,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/ecc_helper.h:52,1
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/fuzzer/ecc_helper.h:53,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/ecc_helper.h:53,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/ecc_helper.h:53,1
    - Dst: auto::is_zero
      Src: /src/botan/src/fuzzer/ecc_helper.h:56,1
    - Dst: auto::is_zero
      Src: /src/botan/src/fuzzer/ecc_helper.h:56,1
    - Dst: auto::is_zero
      Src: /src/botan/src/fuzzer/ecc_helper.h:56,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/fuzzer/ecc_helper.h:60,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/fuzzer/ecc_helper.h:63,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/fuzzer/ecc_helper.h:64,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/fuzzer/ecc_helper.h:65,1
    - Dst: auto::add
      Src: /src/botan/src/fuzzer/ecc_helper.h:67,1
    - Dst: auto::add
      Src: /src/botan/src/fuzzer/ecc_helper.h:68,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/ecc_helper.h:70,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/ecc_helper.h:71,1
    - Dst: Botan::EC_AffinePoint::generator
      Src: /src/botan/src/fuzzer/ecc_helper.h:73,1
    - Dst: auto::mul
      Src: /src/botan/src/fuzzer/ecc_helper.h:75,1
    - Dst: auto::mul
      Src: /src/botan/src/fuzzer/ecc_helper.h:76,1
    - Dst: auto::mul
      Src: /src/botan/src/fuzzer/ecc_helper.h:77,1
    - Dst: auto::add
      Src: /src/botan/src/fuzzer/ecc_helper.h:79,1
    - Dst: auto::add
      Src: /src/botan/src/fuzzer/ecc_helper.h:80,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/ecc_helper.h:82,1
    - Dst: FUZZER_ASSERT_EQUAL
      Src: /src/botan/src/fuzzer/ecc_helper.h:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' group'
    - in
    argTypes:
    - Botan::EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 84
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 84
    functionName: check_ecc_math
    functionSourceFile: /src/botan/src/fuzzer/ecc_helper.h
    functionUses: 3
    functionsReached:
    - FUZZER_ASSERT_EQUAL
    - fuzzer_rng
    - std::span<const uint8_t>::subspan
    - Botan::EC_Scalar::from_bytes_mod_order
    - Botan::EC_AffinePoint::generator
    - Botan::EC_AffinePoint::g_mul
    - auto::mul
    - std::span<const uint8_t>::size
    - auto::is_zero
    - auto::add
    linkageType: ''
    returnType: void
    signature: void check_ecc_math(const Botan::EC_Group& group, std::span<const uint8_t>
      in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::X509_Certificate>
      Src: /src/botan/src/fuzzer/tls_server.cpp:45,1
    - Dst: reset
      Src: /src/botan/src/fuzzer/tls_server.cpp:48,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/fuzzer/tls_server.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: Fuzzer_TLS_Server_Creds::Fuzzer_TLS_Server_Creds
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached:
    - reset
    - std::make_unique<Botan::X509_Certificate>
    - Botan::PKCS8::load_key
    linkageType: ''
    returnType: void
    signature: void Fuzzer_TLS_Server_Creds()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/fuzzer/tls_server.cpp:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' algos'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: Fuzzer_TLS_Server_Creds::cert_chain
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Botan::X509_Certificate>
    signature: "std::vector<Botan::X509_Certificate> cert_chain(\n         const std::vector<std::string>&
      algos,\n         const std::vector<Botan::AlgorithmIdentifier>& /*signature_schemes*/,\n
      \        const std::string& /*type*/,\n         const std::string& /*hostname*/)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' type'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: Fuzzer_TLS_Server_Creds::private_key_for
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Botan::Private_Key>
    signature: "std::shared_ptr<Botan::Private_Key> private_key_for(const Botan::X509_Certificate&
      /*cert*/,\n                                                          const std::string&
      type,\n                                                          const std::string&
      /*context*/) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/fuzzer/tls_server.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: Fuzzer_TLS_Server_Creds::session_ticket_key
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> session_ticket_key() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/fuzzer/tls_server.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: Fuzzer_TLS_Server_Creds::dtls_cookie_secret
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> dtls_cookie_secret() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Fuzzer_TLS_Server_Creds::psk_identity_hint
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string psk_identity_hint(const std::string&, const std::string&)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Fuzzer_TLS_Server_Creds::psk_identity
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string psk_identity(const std::string&, const std::string&, const
      std::string&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/fuzzer/tls_server.cpp:94,1
    - Dst: find
      Src: /src/botan/src/fuzzer/tls_server.cpp:94,1
    - Dst: begin
      Src: /src/botan/src/fuzzer/tls_server.cpp:94,1
    - Dst: end
      Src: /src/botan/src/fuzzer/tls_server.cpp:94,1
    - Dst: end
      Src: /src/botan/src/fuzzer/tls_server.cpp:94,1
    - Dst: Botan::Credentials_Manager::find_preshared_keys
      Src: /src/botan/src/fuzzer/tls_server.cpp:95,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/fuzzer/tls_server.cpp:99,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/fuzzer/tls_server.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - host
    - whoami
    argTypes:
    - std::string_view
    - Botan::TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: Fuzzer_TLS_Server_Creds::find_preshared_keys
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached:
    - begin
    - empty
    - Botan::Credentials_Manager::find_preshared_keys
    - end
    - Botan::hex_decode_locked
    - find
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<Botan::TLS::ExternalPSK>
    signature: "std::vector<Botan::TLS::ExternalPSK> find_preshared_keys(\n         std::string_view
      host,\n         Botan::TLS::Connection_Side whoami,\n         const std::vector<std::string>&
      identities = {},\n         const std::optional<std::string>& prf = std::nullopt)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Ciphersuite::all_known_ciphersuites
      Src: /src/botan/src/fuzzer/tls_server.cpp:113,1
    - Dst: valid
      Src: /src/botan/src/fuzzer/tls_server.cpp:114,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/fuzzer/tls_server.cpp:115,1
    - Dst: ciphersuite_code
      Src: /src/botan/src/fuzzer/tls_server.cpp:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: Fuzzer_TLS_Policy::ciphersuite_list
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached:
    - ciphersuite_code
    - Botan::TLS::Ciphersuite::all_known_ciphersuites
    - std::vector::push_back
    - valid
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> ciphersuite_list(Botan::TLS::Protocol_Version)
      const override
  - 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: Fuzzer_TLS_Server_Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t>) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: Fuzzer_TLS_Server_Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t, std::span<const uint8_t>) override
  - 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: Fuzzer_TLS_Server_Callbacks::tls_alert
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_alert(Botan::TLS::Alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/fuzzer/tls_server.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' client_protos'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: Fuzzer_TLS_Server_Callbacks::tls_server_choose_app_protocol
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string tls_server_choose_app_protocol(const std::vector<std::string>&
      client_protos) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fuzzer_TLS_Client_Callbacks::tls_verify_cert_chain
      Src: /src/botan/src/fuzzer/tls_server.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - ' cert_chain'
    - ' ocsp_responses'
    - ' trusted_roots'
    - usage
    - hostname
    - ' policy'
    argTypes:
    - std::vector<Botan::X509_Certificate>
    - std::vector<std::optional<Botan::OCSP::Response>>
    - std::vector<Botan::Certificate_Store*>
    - Botan::Usage_Type
    - std::string_view
    - Botan::TLS::Policy
    constantsTouched: []
    func_position:
      end: 158
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 158
    functionName: Fuzzer_TLS_Server_Callbacks::tls_verify_cert_chain
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 0
    functionsReached:
    - Fuzzer_TLS_Client_Callbacks::tls_verify_cert_chain
    linkageType: ''
    returnType: void
    signature: "void tls_verify_cert_chain(const std::vector<Botan::X509_Certificate>&
      cert_chain,\n                                 const std::vector<std::optional<Botan::OCSP::Response>>&
      ocsp_responses,\n                                 const std::vector<Botan::Certificate_Store*>&
      trusted_roots,\n                                 Botan::Usage_Type usage,\n
      \                                std::string_view hostname,\n                                 const
      Botan::TLS::Policy& policy) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/tls_server.cpp:164,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_Noop>
      Src: /src/botan/src/fuzzer/tls_server.cpp:168,1
    - Dst: std::make_shared<Fuzzer_TLS_Policy>
      Src: /src/botan/src/fuzzer/tls_server.cpp:169,1
    - Dst: std::make_shared<Fuzzer_TLS_Server_Creds>
      Src: /src/botan/src/fuzzer/tls_server.cpp:171,1
    - Dst: std::make_shared<Fuzzer_TLS_Server_Callbacks>
      Src: /src/botan/src/fuzzer/tls_server.cpp:172,1
    - Dst: Botan::TLS::Server::received_data
      Src: /src/botan/src/fuzzer/tls_server.cpp:179,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/tls_server.cpp:179,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/tls_server.cpp:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 181
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 181
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/tls_server.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<Botan::TLS::Session_Manager_Noop>
    - std::span<const uint8_t>::subspan
    - Botan::TLS::Server::received_data
    - std::make_shared<Fuzzer_TLS_Policy>
    - std::span<const uint8_t>::size
    - std::make_shared<Fuzzer_TLS_Server_Callbacks>
    - std::make_shared<Fuzzer_TLS_Server_Creds>
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/ecc_p521.cpp:11,1
    - Dst: check_ecc_math
      Src: /src/botan/src/fuzzer/ecc_p521.cpp:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 3
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/ecc_p521.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::size
    - check_ecc_math
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/fuzzer/pow_mod.cpp:22,1
    - Dst: Botan::BigInt::is_odd
      Src: /src/botan/src/fuzzer/pow_mod.cpp:26,1
    - Dst: auto::multiply
      Src: /src/botan/src/fuzzer/pow_mod.cpp:27,1
    - Dst: auto::square
      Src: /src/botan/src/fuzzer/pow_mod.cpp:29,1
    - Dst: auto::multiply
      Src: /src/botan/src/fuzzer/pow_mod.cpp:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - x
    - n
    - ' p'
    argTypes:
    - Botan::BigInt
    - Botan::BigInt
    - Botan::BigInt
    constantsTouched: []
    func_position:
      end: 33
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 33
    functionName: simple_power_mod
    functionSourceFile: /src/botan/src/fuzzer/pow_mod.cpp
    functionUses: 0
    functionsReached:
    - auto::multiply
    - Botan::Barrett_Reduction::for_public_modulus
    - auto::square
    - Botan::BigInt::is_odd
    linkageType: ''
    returnType: Botan::BigInt
    signature: Botan::BigInt simple_power_mod(Botan::BigInt x, Botan::BigInt n, const
      Botan::BigInt& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/fuzzer/pow_mod.cpp:40,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/pow_mod.cpp:50,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/pow_mod.cpp:50,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/pow_mod.cpp:51,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/pow_mod.cpp:51,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/fuzzer/pow_mod.cpp:52,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/fuzzer/pow_mod.cpp:52,1
    - Dst: simple_power_mod
      Src: /src/botan/src/fuzzer/pow_mod.cpp:55,1
    - Dst: Botan::power_mod
      Src: /src/botan/src/fuzzer/pow_mod.cpp:56,1
    - Dst: FUZZER_WRITE_AND_CRASH
      Src: /src/botan/src/fuzzer/pow_mod.cpp:59,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/pow_mod.cpp:59,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/pow_mod.cpp:60,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/pow_mod.cpp:61,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/pow_mod.cpp:62,1
    - Dst: Botan::BigInt::to_hex_string
      Src: /src/botan/src/fuzzer/pow_mod.cpp:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: fuzz
    functionSourceFile: /src/botan/src/fuzzer/pow_mod.cpp
    functionUses: 1
    functionsReached:
    - Botan::power_mod
    - std::span<const uint8_t>::subspan
    - FUZZER_WRITE_AND_CRASH
    - Botan::BigInt::to_hex_string
    - std::span<const uint8_t>::size
    - Botan::BigInt::from_bytes
    - simple_power_mod
    linkageType: ''
    returnType: void
    signature: void fuzz(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Botan::X509_Certificate>
      Src: /src/botan/src/tests/test_tls.cpp:45,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/tests/test_tls.cpp:46,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/test_tls.cpp:48,1
    - Dst: Botan::TLS::Session::PEM_encode
      Src: /src/botan/src/tests/test_tls.cpp:50,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:52,1
    - Dst: Botan::TLS::Session::DER_encode
      Src: /src/botan/src/tests/test_tls.cpp:52,1
    - Dst: Botan::TLS::Session::DER_encode
      Src: /src/botan/src/tests/test_tls.cpp:52,1
    - Dst: Botan::TLS::Session::DER_encode
      Src: /src/botan/src/tests/test_tls.cpp:54,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:56,1
    - Dst: Botan::TLS::Session::DER_encode
      Src: /src/botan/src/tests/test_tls.cpp:56,1
    - Dst: Botan::TLS::Session::DER_encode
      Src: /src/botan/src/tests/test_tls.cpp:56,1
    - Dst: Botan::TLS::Session::encrypt
      Src: /src/botan/src/tests/test_tls.cpp:59,1
    - Dst: Botan_Tests::TLS_Session_Tests::rng
      Src: /src/botan/src/tests/test_tls.cpp:59,1
    - Dst: Botan::TLS::Session::encrypt
      Src: /src/botan/src/tests/test_tls.cpp:60,1
    - Dst: Botan_Tests::TLS_Session_Tests::rng
      Src: /src/botan/src/tests/test_tls.cpp:60,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_tls.cpp:62,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_tls.cpp:63,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls.cpp:63,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_tls.cpp:63,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls.cpp:63,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls.cpp:65,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:67,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_tls.cpp:67,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_tls.cpp:67,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:68,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_tls.cpp:68,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_tls.cpp:68,1
    - Dst: Botan::TLS::Session::decrypt
      Src: /src/botan/src/tests/test_tls.cpp:70,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_tls.cpp:70,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls.cpp:70,1
    - Dst: Botan::TLS::Session::encrypt
      Src: /src/botan/src/tests/test_tls.cpp:73,1
    - Dst: Botan::TLS::Session::encrypt
      Src: /src/botan/src/tests/test_tls.cpp:75,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:77,1
    - Dst: std::vector<Botan::X509_Certificate>
      Src: /src/botan/src/tests/test_tls.cpp:85,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/tests/test_tls.cpp:86,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/test_tls.cpp:88,1
    - Dst: Botan::TLS::Session::PEM_encode
      Src: /src/botan/src/tests/test_tls.cpp:89,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tls.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 96
    functionName: Botan_Tests::TLS_Session_Tests::run
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - Botan::TLS::Server_Information
    - Test::Result::test_throws
    - std::vector::size
    - Test::Result::test_ne
    - Botan::TLS::Session::decrypt
    - Botan::TLS::Session::DER_encode
    - Botan_Tests::TLS_Session_Tests::rng
    - std::vector<Botan::X509_Certificate>
    - Botan::TLS::Session::PEM_encode
    - Botan::TLS::Session::encrypt
    - Test::Result::test_eq
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Botan_Tests::TLS_CBC_Padding_Tests::TLS_CBC_Padding_Tests
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_Padding_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:108,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: Botan_Tests::TLS_CBC_Padding_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_bin
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mac_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: Botan_Tests::TLS_CBC_Tests::ZeroMac::ZeroMac
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ZeroMac(size_t mac_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Botan_Tests::TLS_CBC_Tests::ZeroMac::clear
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Botan_Tests::TLS_CBC_Tests::ZeroMac::name
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Botan_Tests::TLS_CBC_Tests::ZeroMac::output_length
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: Botan_Tests::TLS_CBC_Tests::ZeroMac::add_data
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_data(std::span<const uint8_t> /*input*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: Botan_Tests::TLS_CBC_Tests::ZeroMac::final_result
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void final_result(std::span<uint8_t> out) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan_Tests::TLS_CBC_Tests::ZeroMac::has_keying_material
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_keying_material() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Key_Length_Specification
      Src: /src/botan/src/tests/test_tls.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: Botan_Tests::TLS_CBC_Tests::ZeroMac::key_spec
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::Key_Length_Specification
    linkageType: ''
    returnType: Botan::Key_Length_Specification
    signature: Botan::Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ZeroMac>
      Src: /src/botan/src/tests/test_tls.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: Botan_Tests::TLS_CBC_Tests::ZeroMac::new_object
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ZeroMac>
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: Botan_Tests::TLS_CBC_Tests::ZeroMac::key_schedule
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void key_schedule(std::span<const uint8_t> /* key */) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bs
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::Noop_Block_Cipher
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Noop_Block_Cipher(size_t bs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_tls.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::encrypt_n
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::copy_mem
    linkageType: ''
    returnType: void
    signature: void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_tls.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::decrypt_n
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::copy_mem
    linkageType: ''
    returnType: void
    signature: void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::block_size
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::clear
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::name
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::has_keying_material
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_keying_material() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Key_Length_Specification
      Src: /src/botan/src/tests/test_tls.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::key_spec
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::Key_Length_Specification
    linkageType: ''
    returnType: Botan::Key_Length_Specification
    signature: Botan::Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Noop_Block_Cipher>
      Src: /src/botan/src/tests/test_tls.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::new_object
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Noop_Block_Cipher>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::key_schedule
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void key_schedule(std::span<const uint8_t> /*key*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: Botan_Tests::TLS_CBC_Tests::TLS_CBC_Tests
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:198,1
    - Dst: std::make_unique<Noop_Block_Cipher>
      Src: /src/botan/src/tests/test_tls.cpp:204,1
    - Dst: std::make_unique<ZeroMac>
      Src: /src/botan/src/tests/test_tls.cpp:205,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::set_key
      Src: /src/botan/src/tests/test_tls.cpp:211,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls.cpp:211,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::set_associated_data
      Src: /src/botan/src/tests/test_tls.cpp:213,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_tls.cpp:213,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls.cpp:213,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_tls.cpp:215,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_tls.cpp:215,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::finish
      Src: /src/botan/src/tests/test_tls.cpp:218,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_tls.cpp:220,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tls.cpp:222,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tls.cpp:226,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_tls.cpp:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 233
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 233
    functionName: Botan_Tests::TLS_CBC_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Noop_Block_Cipher>
    - std::vector::size
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::set_associated_data
    - std::vector::begin
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::finish
    - Test::Result::test_failure
    - std::make_unique<ZeroMac>
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::set_key
    - std::vector<uint8_t>
    - get_req_bin
    - std::vector::end
    - Test::Result::test_success
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: Botan_Tests::TLS_CBC_KAT_Tests::TLS_CBC_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::TLS_CBC_KAT_Tests::run_kat
      Src: /src/botan/src/tests/test_tls.cpp:247,1
    - Dst: Botan_Tests::TLS_CBC_KAT_Tests::run_kat
      Src: /src/botan/src/tests/test_tls.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: Botan_Tests::TLS_CBC_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::TLS_CBC_KAT_Tests::run_kat
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::TLS_CBC_KAT_Tests::get_cipher_and_mac
      Src: /src/botan/src/tests/test_tls.cpp:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionName: Botan_Tests::TLS_CBC_KAT_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::TLS_CBC_KAT_Tests::get_cipher_and_mac
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& /*header*/, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/tests/test_tls.cpp:267,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls.cpp:267,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/tests/test_tls.cpp:268,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: Botan_Tests::TLS_CBC_KAT_Tests::get_cipher_and_mac
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 1
    functionsReached:
    - Botan::MessageAuthenticationCode::create_or_throw
    - get_req_str
    - Botan::BlockCipher::create_or_throw
    linkageType: ''
    returnType: "std::pair<std::unique_ptr<Botan::BlockCipher>,\n                                     std::unique_ptr<Botan::MessageAuthenticationCode>>"
    signature: "std::pair<std::unique_ptr<Botan::BlockCipher>,\n                                     std::unique_ptr<Botan::MessageAuthenticationCode>>
      get_cipher_and_mac(const VarMap& vars)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_sz
      Src: /src/botan/src/tests/test_tls.cpp:285,1
    - Dst: get_req_sz
      Src: /src/botan/src/tests/test_tls.cpp:286,1
    - Dst: get_req_bool
      Src: /src/botan/src/tests/test_tls.cpp:287,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls.cpp:289,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls.cpp:295,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:299,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:300,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:301,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:302,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:303,1
    - Dst: T
      Src: /src/botan/src/tests/test_tls.cpp:307,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls.cpp:307,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls.cpp:307,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_tls.cpp:309,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_tls.cpp:310,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls.cpp:312,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls.cpp:312,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls.cpp:313,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls.cpp:313,1
    - Dst: std::swap
      Src: /src/botan/src/tests/test_tls.cpp:316,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_tls.cpp:321,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_tls.cpp:322,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls.cpp:323,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls.cpp:323,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_tls.cpp:327,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls.cpp:329,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls.cpp:329,1
    - Dst: auto::minimum_final_size
      Src: /src/botan/src/tests/test_tls.cpp:329,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_tls.cpp:330,1
    - Dst: auto::first
      Src: /src/botan/src/tests/test_tls.cpp:330,1
    - Dst: auto::subspan
      Src: /src/botan/src/tests/test_tls.cpp:331,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls.cpp:334,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls.cpp:334,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_tls.cpp:335,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls.cpp:336,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls.cpp:336,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - ' result'
    - ' vars'
    argTypes:
    - Test::Result
    - VarMap
    constantsTouched: []
    func_position:
      end: 337
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 337
    functionName: Botan_Tests::TLS_CBC_KAT_Tests::run_kat
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 1
    functionsReached:
    - auto::start
    - T
    - std::swap
    - auto::begin
    - auto::subspan
    - auto::process
    - get_req_sz
    - auto::set_associated_data
    - get_req_bin
    - auto::end
    - auto::first
    - auto::minimum_final_size
    - get_req_str
    - std::string
    - Test_Error
    - std::move
    - test_eq
    - auto::finish
    - auto::set_key
    - get_req_bool
    - auto::size
    linkageType: ''
    returnType: void
    signature: void run_kat(Test::Result& result, const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 349
    functionName: Botan_Tests::TLS_Null_Tests::TLS_Null_Tests
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Null_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/tests/test_tls.cpp:357,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tls.cpp:357,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_tls.cpp:359,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption::set_key
      Src: /src/botan/src/tests/test_tls.cpp:362,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption::set_associated_data
      Src: /src/botan/src/tests/test_tls.cpp:363,1
    - Dst: begin
      Src: /src/botan/src/tests/test_tls.cpp:365,1
    - Dst: end
      Src: /src/botan/src/tests/test_tls.cpp:365,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption::finish
      Src: /src/botan/src/tests/test_tls.cpp:366,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls.cpp:368,1
    - Dst: Botan::unlock
      Src: /src/botan/src/tests/test_tls.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - ' result'
    - ' hash'
    - ' key'
    - ' associated_data'
    - ' message'
    - ' expected_tls_fragment'
    argTypes:
    - Test::Result
    - std::string
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 369
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 369
    functionName: Botan_Tests::TLS_Null_Tests::encryption_test
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption::finish
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption::set_associated_data
    - begin
    - test_eq
    - Botan::unlock
    - auto::output_length
    - Botan::MessageAuthenticationCode::create_or_throw
    - end
    - Botan::fmt
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption::set_key
    linkageType: ''
    returnType: void
    signature: "void encryption_test(Test::Result& result,\n                           const
      std::string& hash,\n                           const std::vector<uint8_t>& key,\n
      \                          const std::vector<uint8_t>& associated_data,\n                           const
      std::vector<uint8_t>& message,\n                           const std::vector<uint8_t>&
      expected_tls_fragment)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/tests/test_tls.cpp:378,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tls.cpp:378,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_tls.cpp:380,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::set_key
      Src: /src/botan/src/tests/test_tls.cpp:383,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::set_associated_data
      Src: /src/botan/src/tests/test_tls.cpp:384,1
    - Dst: begin
      Src: /src/botan/src/tests/test_tls.cpp:386,1
    - Dst: end
      Src: /src/botan/src/tests/test_tls.cpp:386,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls.cpp:389,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::finish
      Src: /src/botan/src/tests/test_tls.cpp:390,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::finish
      Src: /src/botan/src/tests/test_tls.cpp:393,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls.cpp:394,1
    - Dst: Botan::unlock
      Src: /src/botan/src/tests/test_tls.cpp:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 7
    argNames:
    - ' result'
    - ' hash'
    - ' key'
    - ' associated_data'
    - ' expected_message'
    - ' tls_fragment'
    - ' header'
    argTypes:
    - Test::Result
    - std::string
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::string
    constantsTouched: []
    func_position:
      end: 396
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 396
    functionName: Botan_Tests::TLS_Null_Tests::decryption_test
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::set_associated_data
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::set_key
    - begin
    - Botan::unlock
    - auto::output_length
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::finish
    - test_throws
    - Botan::MessageAuthenticationCode::create_or_throw
    - end
    - Botan::fmt
    - test_eq
    linkageType: ''
    returnType: void
    signature: "void decryption_test(Test::Result& result,\n                           const
      std::string& hash,\n                           const std::vector<uint8_t>& key,\n
      \                          const std::vector<uint8_t>& associated_data,\n                           const
      std::vector<uint8_t>& expected_message,\n                           const std::vector<uint8_t>&
      tls_fragment,\n                           const std::string& header)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/tests/test_tls.cpp:401,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tls.cpp:401,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_tls.cpp:403,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls.cpp:406,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::set_associated_data
      Src: /src/botan/src/tests/test_tls.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' result'
    - ' hash'
    - ' associated_data'
    argTypes:
    - Test::Result
    - std::string
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 409
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 409
    functionName: Botan_Tests::TLS_Null_Tests::invalid_ad_length_test
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::set_associated_data
    - auto::output_length
    - test_throws
    - Botan::MessageAuthenticationCode::create_or_throw
    - Botan::fmt
    linkageType: ''
    returnType: void
    signature: "void invalid_ad_length_test(Test::Result& result,\n                                  const
      std::string& hash,\n                                  const std::vector<uint8_t>&
      associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls.cpp:414,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:415,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:416,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:417,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls.cpp:418,1
    - Dst: empty
      Src: /src/botan/src/tests/test_tls.cpp:420,1
    - Dst: Botan_Tests::TLS_Null_Tests::encryption_test
      Src: /src/botan/src/tests/test_tls.cpp:421,1
    - Dst: Botan_Tests::TLS_Null_Tests::decryption_test
      Src: /src/botan/src/tests/test_tls.cpp:422,1
    - Dst: Botan_Tests::TLS_Null_Tests::decryption_test
      Src: /src/botan/src/tests/test_tls.cpp:426,1
    - Dst: Botan_Tests::TLS_Null_Tests::invalid_ad_length_test
      Src: /src/botan/src/tests/test_tls.cpp:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' header'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 434
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 434
    functionName: Botan_Tests::TLS_Null_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::TLS_Null_Tests::encryption_test
    - get_req_str
    - Botan_Tests::TLS_Null_Tests::invalid_ad_length_test
    - empty
    - Botan_Tests::TLS_Null_Tests::decryption_test
    - get_req_bin
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& header, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Alert::Alert
      Src: /src/botan/src/tests/test_tls.cpp:485,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:486,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_tls.cpp:486,1
    - Dst: std::set::insert
      Src: /src/botan/src/tests/test_tls.cpp:487,1
    - Dst: Botan::TLS::Alert::Alert
      Src: /src/botan/src/tests/test_tls.cpp:490,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:492,1
    - Dst: Botan::TLS::Alert::type_string
      Src: /src/botan/src/tests/test_tls.cpp:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 495
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 495
    functionName: Botan_Tests::Test_TLS_Alert_Strings::run
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Alert::type_string
    - std::set::insert
    - Botan::TLS::Alert::Alert
    - Test::Result::test_eq
    - std::set::count
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_Policy_Text::tls_policy_string
      Src: /src/botan/src/tests/test_tls.cpp:511,1
    - Dst: Botan_Tests::Test_TLS_Policy_Text::read_tls_policy
      Src: /src/botan/src/tests/test_tls.cpp:515,1
    - Dst: Botan_Tests::Test_TLS_Policy_Text::diff
      Src: /src/botan/src/tests/test_tls.cpp:518,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tls.cpp:519,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tls.cpp:519,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_tls.cpp:521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 526
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 526
    functionName: Botan_Tests::Test_TLS_Policy_Text::run
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_TLS_Policy_Text::tls_policy_string
    - Botan_Tests::Test_TLS_Policy_Text::read_tls_policy
    - Test::Result::test_failure
    - Botan::fmt
    - Test::Result::test_success
    - Botan_Tests::Test_TLS_Policy_Text::diff
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/botan/src/tests/test_tls.cpp:541,1
    - Dst: std::getline
      Src: /src/botan/src/tests/test_tls.cpp:544,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_tls.cpp:552,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' a_str'
    - ' b_str'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 553
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 553
    functionName: Botan_Tests::Test_TLS_Policy_Text::diff
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 1
    functionsReached:
    - std::getline
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string diff(const std::string& a_str, const std::string& b_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_tls.cpp:556,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_tls.cpp:558,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/tests/test_tls.cpp:559,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls.cpp:560,1
    - Dst: Botan::TLS::Text_Policy::to_string
      Src: /src/botan/src/tests/test_tls.cpp:564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' policy_str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 565
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 565
    functionName: Botan_Tests::Test_TLS_Policy_Text::read_tls_policy
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 1
    functionsReached:
    - std::ifstream::good
    - Botan::TLS::Text_Policy::to_string
    - Botan_Tests::Test::data_file
    - std::string::c_str
    - Test_Error
    linkageType: ''
    returnType: std::string
    signature: std::string read_tls_policy(const std::string& policy_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::TLS::Policy>
      Src: /src/botan/src/tests/test_tls.cpp:570,1
    - Dst: std::make_unique<Botan::TLS::NSA_Suite_B_128>
      Src: /src/botan/src/tests/test_tls.cpp:572,1
    - Dst: std::make_unique<Botan::TLS::NSA_Suite_B_192>
      Src: /src/botan/src/tests/test_tls.cpp:574,1
    - Dst: std::make_unique<Botan::TLS::BSI_TR_02102_2>
      Src: /src/botan/src/tests/test_tls.cpp:576,1
    - Dst: std::make_unique<Botan::TLS::Strict_Policy>
      Src: /src/botan/src/tests/test_tls.cpp:578,1
    - Dst: std::make_unique<Botan::TLS::Datagram_Policy>
      Src: /src/botan/src/tests/test_tls.cpp:580,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls.cpp:582,1
    - Dst: std::unique_ptr::to_string
      Src: /src/botan/src/tests/test_tls.cpp:585,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - ' policy_str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 586
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 586
    functionName: Botan_Tests::Test_TLS_Policy_Text::tls_policy_string
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::to_string
    - std::make_unique<Botan::TLS::Strict_Policy>
    - std::make_unique<Botan::TLS::Policy>
    - std::make_unique<Botan::TLS::Datagram_Policy>
    - std::make_unique<Botan::TLS::NSA_Suite_B_192>
    - Test_Error
    - std::make_unique<Botan::TLS::BSI_TR_02102_2>
    - std::make_unique<Botan::TLS::NSA_Suite_B_128>
    linkageType: ''
    returnType: std::string
    signature: std::string tls_policy_string(const std::string& policy_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/tests/test_tls.cpp:599,1
    - Dst: auto::valid
      Src: /src/botan/src/tests/test_tls.cpp:601,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:602,1
    - Dst: Botan::TLS::Ciphersuite::is_scsv
      Src: /src/botan/src/tests/test_tls.cpp:602,1
    - Dst: auto::cbc_ciphersuite
      Src: /src/botan/src/tests/test_tls.cpp:604,1
    - Dst: auto::null_ciphersuite
      Src: /src/botan/src/tests/test_tls.cpp:604,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:605,1
    - Dst: auto::aead_ciphersuite
      Src: /src/botan/src/tests/test_tls.cpp:605,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:606,1
    - Dst: auto::mac_algo
      Src: /src/botan/src/tests/test_tls.cpp:606,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:608,1
    - Dst: auto::aead_ciphersuite
      Src: /src/botan/src/tests/test_tls.cpp:608,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:609,1
    - Dst: auto::prf_algo
      Src: /src/botan/src/tests/test_tls.cpp:610,1
    - Dst: auto::mac_algo
      Src: /src/botan/src/tests/test_tls.cpp:611,1
    - Dst: auto::null_ciphersuite
      Src: /src/botan/src/tests/test_tls.cpp:614,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:615,1
    - Dst: auto::cipher_algo
      Src: /src/botan/src/tests/test_tls.cpp:615,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 623
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 623
    functionName: Botan_Tests::Test_TLS_Ciphersuites::run
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Ciphersuite::is_scsv
    - Botan::TLS::Ciphersuite::by_id
    - auto::null_ciphersuite
    - auto::prf_algo
    - auto::cbc_ciphersuite
    - auto::valid
    - auto::aead_ciphersuite
    - auto::mac_algo
    - Test::Result::test_eq
    - auto::cipher_algo
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls.cpp:633,1
    - Dst: Botan_Tests::Test_TLS_Algo_Strings::test_auth_method_strings
      Src: /src/botan/src/tests/test_tls.cpp:633,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls.cpp:634,1
    - Dst: Botan_Tests::Test_TLS_Algo_Strings::test_kex_algo_strings
      Src: /src/botan/src/tests/test_tls.cpp:634,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls.cpp:635,1
    - Dst: Botan_Tests::Test_TLS_Algo_Strings::test_tls_sig_method_strings
      Src: /src/botan/src/tests/test_tls.cpp:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 638
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 638
    functionName: Botan_Tests::Test_TLS_Algo_Strings::run
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_TLS_Algo_Strings::test_tls_sig_method_strings
    - std::vector::push_back
    - Botan_Tests::Test_TLS_Algo_Strings::test_auth_method_strings
    - Botan_Tests::Test_TLS_Algo_Strings::test_kex_algo_strings
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Signature_Scheme::all_available_schemes
      Src: /src/botan/src/tests/test_tls.cpp:644,1
    - Dst: to_string
      Src: /src/botan/src/tests/test_tls.cpp:648,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls.cpp:650,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_tls.cpp:650,1
    - Dst: std::set::insert
      Src: /src/botan/src/tests/test_tls.cpp:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 656
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 656
    functionName: Botan_Tests::Test_TLS_Algo_Strings::test_tls_sig_method_strings
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 1
    functionsReached:
    - std::set::insert
    - Botan::TLS::Signature_Scheme::all_available_schemes
    - to_string
    - Test::Result::test_eq
    - std::set::count
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_tls_sig_method_strings()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::auth_method_to_string
      Src: /src/botan/src/tests/test_tls.cpp:668,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_tls.cpp:669,1
    - Dst: Botan::TLS::auth_method_from_string
      Src: /src/botan/src/tests/test_tls.cpp:670,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls.cpp:671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 675
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 675
    functionName: Botan_Tests::Test_TLS_Algo_Strings::test_auth_method_strings
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::auth_method_from_string
    - Test::Result::confirm
    - Botan::TLS::auth_method_to_string
    - Test::Result::test_ne
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_auth_method_strings()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/tests/test_tls.cpp:687,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_tls.cpp:688,1
    - Dst: Botan::TLS::kex_method_from_string
      Src: /src/botan/src/tests/test_tls.cpp:689,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls.cpp:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 694
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 694
    functionName: Botan_Tests::Test_TLS_Algo_Strings::test_kex_algo_strings
    functionSourceFile: /src/botan/src/tests/test_tls.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::kex_method_to_string
    - Test::Result::confirm
    - Botan::TLS::kex_method_from_string
    - Test::Result::test_ne
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_kex_algo_strings()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_DN::decode_from
      Src: /src/botan/src/tests/test_certstor_utils.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hex'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: Botan_Tests::read_dn
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_DN::decode_from
    linkageType: ''
    returnType: Botan::X509_DN
    signature: Botan::X509_DN read_dn(const std::string& hex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::read_dn
      Src: /src/botan/src/tests/test_certstor_utils.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: Botan_Tests::get_dn
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::read_dn
    linkageType: ''
    returnType: Botan::X509_DN
    signature: Botan::X509_DN get_dn()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_utf8_dn_alternatives
      Src: /src/botan/src/tests/test_certstor_utils.cpp:38,1
    - Dst: std::find_if
      Src: /src/botan/src/tests/test_certstor_utils.cpp:39,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_certstor_utils.cpp:40,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_certstor_utils.cpp:40,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_certstor_utils.cpp:41,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_certstor_utils.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: Botan_Tests::get_utf8_dn
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - Botan_Tests::get_utf8_dn_alternatives
    - auto::begin
    - std::find_if
    - auto::end
    linkageType: ''
    returnType: Botan::X509_DN
    signature: Botan::X509_DN get_utf8_dn()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::read_dn
      Src: /src/botan/src/tests/test_certstor_utils.cpp:50,1
    - Dst: Botan_Tests::read_dn
      Src: /src/botan/src/tests/test_certstor_utils.cpp:56,1
    - Dst: Botan_Tests::read_dn
      Src: /src/botan/src/tests/test_certstor_utils.cpp:62,1
    - Dst: Botan_Tests::read_dn
      Src: /src/botan/src/tests/test_certstor_utils.cpp:68,1
    - Dst: Botan_Tests::read_dn
      Src: /src/botan/src/tests/test_certstor_utils.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 80
    functionName: Botan_Tests::get_utf8_dn_alternatives
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::read_dn
    linkageType: ''
    returnType: std::vector<std::pair<std::string, Botan::X509_DN>>
    signature: std::vector<std::pair<std::string, Botan::X509_DN>> get_utf8_dn_alternatives()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_certstor_utils.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: Botan_Tests::get_key_id
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> get_key_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: Botan_Tests::get_subject_cn
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_subject_cn()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_certstor_utils.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: Botan_Tests::get_pubkey_sha1_of_cert_with_different_key_id
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> get_pubkey_sha1_of_cert_with_different_key_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::read_dn
      Src: /src/botan/src/tests/test_certstor_utils.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: Botan_Tests::get_dn_of_cert_with_different_key_id
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::read_dn
    linkageType: ''
    returnType: Botan::X509_DN
    signature: Botan::X509_DN get_dn_of_cert_with_different_key_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::read_dn
      Src: /src/botan/src/tests/test_certstor_utils.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: Botan_Tests::get_unknown_dn
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::read_dn
    linkageType: ''
    returnType: Botan::X509_DN
    signature: Botan::X509_DN get_unknown_dn()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::read_dn
      Src: /src/botan/src/tests/test_certstor_utils.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 157
    functionName: Botan_Tests::get_skewed_dn
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::read_dn
    linkageType: ''
    returnType: Botan::X509_DN
    signature: Botan::X509_DN get_skewed_dn()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_certstor_utils.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: Botan_Tests::get_unknown_key_id
    functionSourceFile: /src/botan/src/tests/test_certstor_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> get_unknown_key_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan_Tests::Ed25519_Key_Validity_Tests::Ed25519_Key_Validity_Tests
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed25519_Key_Validity_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ed25519.cpp:28,1
    - Dst: std::make_unique<Botan::Ed25519_PublicKey>
      Src: /src/botan/src/tests/test_ed25519.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: Botan_Tests::Ed25519_Key_Validity_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::Ed25519_PublicKey>
    - get_req_bin
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: Botan_Tests::Ed25519_Verification_Tests::Ed25519_Verification_Tests
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed25519_Verification_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan_Tests::Ed25519_Verification_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ed25519.cpp:41,1
    - Dst: std::make_unique<Botan::Ed25519_PublicKey>
      Src: /src/botan/src/tests/test_ed25519.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: Botan_Tests::Ed25519_Verification_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::Ed25519_PublicKey>
    - get_req_bin
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: Botan_Tests::Ed25519_Signature_Tests::Ed25519_Signature_Tests
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed25519_Signature_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan_Tests::Ed25519_Signature_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ed25519.cpp:54,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ed25519.cpp:55,1
    - Dst: std::make_unique<Botan::Ed25519_PrivateKey>
      Src: /src/botan/src/tests/test_ed25519.cpp:57,1
    - Dst: Botan::Ed25519_PrivateKey::from_seed
      Src: /src/botan/src/tests/test_ed25519.cpp:57,1
    - Dst: auto::raw_public_key_bits
      Src: /src/botan/src/tests/test_ed25519.cpp:59,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_ed25519.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: Botan_Tests::Ed25519_Signature_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached:
    - Botan::Ed25519_PrivateKey::from_seed
    - auto::raw_public_key_bits
    - Test_Error
    - get_req_bin
    - std::make_unique<Botan::Ed25519_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_ed25519.cpp:84,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ed25519.cpp:85,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/tests/test_ed25519.cpp:88,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ed25519.cpp:89,1
    - Dst: Botan_Tests::Ed25519_Curdle_Format_Tests::rng
      Src: /src/botan/src/tests/test_ed25519.cpp:91,1
    - Dst: Botan::PK_Signer::update
      Src: /src/botan/src/tests/test_ed25519.cpp:92,1
    - Dst: Botan::PK_Signer::signature
      Src: /src/botan/src/tests/test_ed25519.cpp:93,1
    - Dst: Botan_Tests::Ed25519_Curdle_Format_Tests::rng
      Src: /src/botan/src/tests/test_ed25519.cpp:93,1
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/tests/test_ed25519.cpp:96,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ed25519.cpp:97,1
    - Dst: Botan::PK_Verifier::check_signature
      Src: /src/botan/src/tests/test_ed25519.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 100
    functionName: Botan_Tests::Ed25519_Curdle_Format_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS8::load_key
    - Botan_Tests::Ed25519_Curdle_Format_Tests::rng
    - Test::Result::confirm
    - Botan::PK_Signer::update
    - Botan::X509::load_key
    - Botan::PK_Signer::signature
    - Botan::PK_Verifier::check_signature
    - Botan::PK_Verifier::update
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Botan_Tests::Ed25519_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Botan_Tests::Ed25519_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::Ed25519_PublicKey>
      Src: /src/botan/src/tests/test_ed25519.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raw_pk
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: Botan_Tests::Ed25519_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_ed25519.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::Ed25519_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      /* keygen_params */,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan_Tests::Cipher_Mode_Tests::Cipher_Mode_Tests
    functionSourceFile: /src/botan/src/tests/test_modes.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: provider_filter
      Src: /src/botan/src/tests/test_modes.cpp:24,1
    - Dst: Botan::Cipher_Mode::providers
      Src: /src/botan/src/tests/test_modes.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' algo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan_Tests::Cipher_Mode_Tests::possible_providers
    functionSourceFile: /src/botan/src/tests/test_modes.cpp
    functionUses: 0
    functionsReached:
    - provider_filter
    - Botan::Cipher_Mode::providers
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> possible_providers(const std::string& algo)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_modes.cpp:28,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_modes.cpp:29,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_modes.cpp:30,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_modes.cpp:31,1
    - Dst: Botan_Tests::Cipher_Mode_Tests::possible_providers
      Src: /src/botan/src/tests/test_modes.cpp:35,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_modes.cpp:37,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_modes.cpp:38,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_modes.cpp:43,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_modes.cpp:45,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_modes.cpp:49,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_modes.cpp:52,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_modes.cpp:54,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:58,1
    - Dst: auto::update_granularity
      Src: /src/botan/src/tests/test_modes.cpp:58,1
    - Dst: auto::update_granularity
      Src: /src/botan/src/tests/test_modes.cpp:58,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_modes.cpp:60,1
    - Dst: auto::update_granularity
      Src: /src/botan/src/tests/test_modes.cpp:60,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:62,1
    - Dst: auto::ideal_granularity
      Src: /src/botan/src/tests/test_modes.cpp:63,1
    - Dst: auto::ideal_granularity
      Src: /src/botan/src/tests/test_modes.cpp:63,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_modes.cpp:65,1
    - Dst: auto::ideal_granularity
      Src: /src/botan/src/tests/test_modes.cpp:66,1
    - Dst: auto::update_granularity
      Src: /src/botan/src/tests/test_modes.cpp:66,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_modes.cpp:68,1
    - Dst: auto::ideal_granularity
      Src: /src/botan/src/tests/test_modes.cpp:69,1
    - Dst: auto::update_granularity
      Src: /src/botan/src/tests/test_modes.cpp:69,1
    - Dst: Botan_Tests::Cipher_Mode_Tests::test_mode
      Src: /src/botan/src/tests/test_modes.cpp:72,1
    - Dst: Botan_Tests::Cipher_Mode_Tests::rng
      Src: /src/botan/src/tests/test_modes.cpp:72,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_modes.cpp:74,1
    - Dst: what
      Src: /src/botan/src/tests/test_modes.cpp:74,1
    - Dst: Botan_Tests::Cipher_Mode_Tests::test_mode
      Src: /src/botan/src/tests/test_modes.cpp:78,1
    - Dst: Botan_Tests::Cipher_Mode_Tests::rng
      Src: /src/botan/src/tests/test_modes.cpp:78,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_modes.cpp:80,1
    - Dst: what
      Src: /src/botan/src/tests/test_modes.cpp:80,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 85
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 85
    functionName: Botan_Tests::Cipher_Mode_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_modes.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Cipher_Mode_Tests::possible_providers
    - Botan::Cipher_Mode::create
    - auto::update_granularity
    - Botan_Tests::Cipher_Mode_Tests::rng
    - std::vector::empty
    - Test::Result::test_gt
    - auto::ideal_granularity
    - Test::Result::confirm
    - what
    - Test::Result::test_failure
    - Botan_Tests::Cipher_Mode_Tests::test_mode
    - get_req_bin
    - Test::Result::note_missing
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:101,1
    - Dst: name
      Src: /src/botan/src/tests/test_modes.cpp:101,1
    - Dst: provider
      Src: /src/botan/src/tests/test_modes.cpp:104,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:105,1
    - Dst: provider
      Src: /src/botan/src/tests/test_modes.cpp:105,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:108,1
    - Dst: authenticated
      Src: /src/botan/src/tests/test_modes.cpp:108,1
    - Dst: test_gt
      Src: /src/botan/src/tests/test_modes.cpp:114,1
    - Dst: ideal_granularity
      Src: /src/botan/src/tests/test_modes.cpp:114,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:116,1
    - Dst: has_keying_material
      Src: /src/botan/src/tests/test_modes.cpp:116,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_modes.cpp:118,1
    - Dst: finish
      Src: /src/botan/src/tests/test_modes.cpp:120,1
    - Dst: test_lte
      Src: /src/botan/src/tests/test_modes.cpp:127,1
    - Dst: output_length
      Src: /src/botan/src/tests/test_modes.cpp:127,1
    - Dst: size
      Src: /src/botan/src/tests/test_modes.cpp:127,1
    - Dst: size
      Src: /src/botan/src/tests/test_modes.cpp:127,1
    - Dst: test_gte
      Src: /src/botan/src/tests/test_modes.cpp:129,1
    - Dst: output_length
      Src: /src/botan/src/tests/test_modes.cpp:129,1
    - Dst: size
      Src: /src/botan/src/tests/test_modes.cpp:129,1
    - Dst: size
      Src: /src/botan/src/tests/test_modes.cpp:129,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:133,1
    - Dst: output_length
      Src: /src/botan/src/tests/test_modes.cpp:133,1
    - Dst: size
      Src: /src/botan/src/tests/test_modes.cpp:133,1
    - Dst: size
      Src: /src/botan/src/tests/test_modes.cpp:133,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_modes.cpp:136,1
    - Dst: valid_nonce_length
      Src: /src/botan/src/tests/test_modes.cpp:136,1
    - Dst: default_nonce_length
      Src: /src/botan/src/tests/test_modes.cpp:136,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:140,1
    - Dst: valid_nonce_length
      Src: /src/botan/src/tests/test_modes.cpp:140,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_modes.cpp:141,1
    - Dst: start
      Src: /src/botan/src/tests/test_modes.cpp:141,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_modes.cpp:143,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_modes.cpp:146,1
    - Dst: update
      Src: /src/botan/src/tests/test_modes.cpp:146,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_modes.cpp:147,1
    - Dst: finish
      Src: /src/botan/src/tests/test_modes.cpp:147,1
    - Dst: set_key
      Src: /src/botan/src/tests/test_modes.cpp:149,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_modes.cpp:149,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_modes.cpp:152,1
    - Dst: update
      Src: /src/botan/src/tests/test_modes.cpp:152,1
    - Dst: start
      Src: /src/botan/src/tests/test_modes.cpp:155,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_modes.cpp:155,1
    - Dst: reset
      Src: /src/botan/src/tests/test_modes.cpp:156,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_modes.cpp:159,1
    - Dst: update
      Src: /src/botan/src/tests/test_modes.cpp:160,1
    - Dst: start
      Src: /src/botan/src/tests/test_modes.cpp:163,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_modes.cpp:163,1
    - Dst: update
      Src: /src/botan/src/tests/test_modes.cpp:164,1
    - Dst: reset
      Src: /src/botan/src/tests/test_modes.cpp:166,1
    - Dst: set_key
      Src: /src/botan/src/tests/test_modes.cpp:168,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:169,1
    - Dst: has_keying_material
      Src: /src/botan/src/tests/test_modes.cpp:169,1
    - Dst: start
      Src: /src/botan/src/tests/test_modes.cpp:170,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_modes.cpp:174,1
    - Dst: begin
      Src: /src/botan/src/tests/test_modes.cpp:174,1
    - Dst: end
      Src: /src/botan/src/tests/test_modes.cpp:174,1
    - Dst: finish
      Src: /src/botan/src/tests/test_modes.cpp:175,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:176,1
    - Dst: size
      Src: /src/botan/src/tests/test_modes.cpp:179,1
    - Dst: Botan::secure_vector::clear
      Src: /src/botan/src/tests/test_modes.cpp:186,1
    - Dst: start
      Src: /src/botan/src/tests/test_modes.cpp:188,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_modes.cpp:190,1
    - Dst: data
      Src: /src/botan/src/tests/test_modes.cpp:190,1
    - Dst: data
      Src: /src/botan/src/tests/test_modes.cpp:190,1
    - Dst: update
      Src: /src/botan/src/tests/test_modes.cpp:192,1
    - Dst: data
      Src: /src/botan/src/tests/test_modes.cpp:196,1
    - Dst: data
      Src: /src/botan/src/tests/test_modes.cpp:196,1
    - Dst: size
      Src: /src/botan/src/tests/test_modes.cpp:196,1
    - Dst: finish
      Src: /src/botan/src/tests/test_modes.cpp:197,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:200,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_modes.cpp:204,1
    - Dst: data
      Src: /src/botan/src/tests/test_modes.cpp:204,1
    - Dst: data
      Src: /src/botan/src/tests/test_modes.cpp:204,1
    - Dst: data
      Src: /src/botan/src/tests/test_modes.cpp:205,1
    - Dst: data
      Src: /src/botan/src/tests/test_modes.cpp:205,1
    - Dst: size
      Src: /src/botan/src/tests/test_modes.cpp:205,1
    - Dst: start
      Src: /src/botan/src/tests/test_modes.cpp:207,1
    - Dst: update
      Src: /src/botan/src/tests/test_modes.cpp:208,1
    - Dst: finish
      Src: /src/botan/src/tests/test_modes.cpp:209,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:213,1
    - Dst: start
      Src: /src/botan/src/tests/test_modes.cpp:216,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_modes.cpp:217,1
    - Dst: begin
      Src: /src/botan/src/tests/test_modes.cpp:217,1
    - Dst: end
      Src: /src/botan/src/tests/test_modes.cpp:217,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:221,1
    - Dst: finish
      Src: /src/botan/src/tests/test_modes.cpp:223,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:224,1
    - Dst: clear
      Src: /src/botan/src/tests/test_modes.cpp:227,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_modes.cpp:228,1
    - Dst: has_keying_material
      Src: /src/botan/src/tests/test_modes.cpp:228,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_modes.cpp:230,1
    - Dst: finish
      Src: /src/botan/src/tests/test_modes.cpp:232,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 83
    argCount: 10
    argNames:
    - ' result'
    - ' algo'
    - ' provider'
    - ' direction'
    - ' mode'
    - ' key'
    - ' nonce'
    - ' input'
    - ' expected'
    - ' rng'
    argTypes:
    - Test::Result
    - std::string
    - std::string
    - std::string
    - Botan::Cipher_Mode
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 234
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 234
    functionName: Botan_Tests::Cipher_Mode_Tests::test_mode
    functionSourceFile: /src/botan/src/tests/test_modes.cpp
    functionUses: 1
    functionsReached:
    - Botan::secure_vector::clear
    - name
    - default_nonce_length
    - provider
    - confirm
    - clear
    - set_key
    - ideal_granularity
    - start
    - authenticated
    - data
    - has_keying_material
    - update
    - Botan::secure_vector::assign
    - test_gte
    - random_vec
    - test_throws
    - size
    - end
    - reset
    - mutate_vec
    - test_eq
    - test_gt
    - begin
    - valid_nonce_length
    - test_lte
    - finish
    - output_length
    linkageType: ''
    returnType: void
    signature: "void test_mode(Test::Result& result,\n                            const
      std::string& algo,\n                            const std::string& provider,\n
      \                           const std::string& direction,\n                            Botan::Cipher_Mode&
      mode,\n                            const std::vector<uint8_t>& key,\n                            const
      std::vector<uint8_t>& nonce,\n                            const std::vector<uint8_t>&
      input,\n                            const std::vector<uint8_t>& expected,\n
      \                           Botan::RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_modes.cpp:243,1
    - Dst: Botan_Tests::Cipher_Mode_IV_Carry_Tests::test_cbc_iv_carry
      Src: /src/botan/src/tests/test_modes.cpp:243,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_modes.cpp:244,1
    - Dst: Botan_Tests::Cipher_Mode_IV_Carry_Tests::test_cfb_iv_carry
      Src: /src/botan/src/tests/test_modes.cpp:244,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_modes.cpp:245,1
    - Dst: Botan_Tests::Cipher_Mode_IV_Carry_Tests::test_ctr_iv_carry
      Src: /src/botan/src/tests/test_modes.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 247
    functionName: Botan_Tests::Cipher_Mode_IV_Carry_Tests::run
    functionSourceFile: /src/botan/src/tests/test_modes.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Cipher_Mode_IV_Carry_Tests::test_ctr_iv_carry
    - std::vector::push_back
    - Botan_Tests::Cipher_Mode_IV_Carry_Tests::test_cfb_iv_carry
    - Botan_Tests::Cipher_Mode_IV_Carry_Tests::test_cbc_iv_carry
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_modes.cpp:255,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_modes.cpp:257,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_modes.cpp:263,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_modes.cpp:264,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_modes.cpp:265,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/tests/test_modes.cpp:267,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/tests/test_modes.cpp:268,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:270,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:271,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:272,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:274,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:275,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:277,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:279,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:280,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:282,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:284,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:285,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:287,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:288,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:290,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:291,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 296
    functionName: Botan_Tests::Cipher_Mode_IV_Carry_Tests::test_cbc_iv_carry
    functionSourceFile: /src/botan/src/tests/test_modes.cpp
    functionUses: 1
    functionsReached:
    - Botan::Cipher_Mode::create
    - std::unique_ptr::finish
    - Botan::hex_decode_locked
    - Test::Result::test_eq
    - std::unique_ptr::start
    - std::unique_ptr::set_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_cbc_iv_carry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_modes.cpp:302,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_modes.cpp:304,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_modes.cpp:309,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_modes.cpp:310,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_modes.cpp:311,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/tests/test_modes.cpp:313,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/tests/test_modes.cpp:314,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:316,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:317,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:318,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:320,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:321,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:323,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:325,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:326,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:328,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:330,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:331,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:332,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:334,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:335,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:336,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:338,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:339,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 343
    functionName: Botan_Tests::Cipher_Mode_IV_Carry_Tests::test_cfb_iv_carry
    functionSourceFile: /src/botan/src/tests/test_modes.cpp
    functionUses: 1
    functionsReached:
    - Botan::Cipher_Mode::create
    - std::unique_ptr::finish
    - Botan::hex_decode_locked
    - Test::Result::test_eq
    - std::unique_ptr::start
    - std::unique_ptr::set_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_cfb_iv_carry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_modes.cpp:350,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_modes.cpp:352,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_modes.cpp:354,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_modes.cpp:355,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/tests/test_modes.cpp:357,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/tests/test_modes.cpp:358,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:375,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:376,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:378,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/tests/test_modes.cpp:379,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:383,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:385,1
    - Dst: c_str
      Src: /src/botan/src/tests/test_modes.cpp:385,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/tests/test_modes.cpp:387,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_modes.cpp:389,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_modes.cpp:390,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_modes.cpp:390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 395
    functionName: Botan_Tests::Cipher_Mode_IV_Carry_Tests::test_ctr_iv_carry
    functionSourceFile: /src/botan/src/tests/test_modes.cpp
    functionUses: 1
    functionsReached:
    - Botan::Cipher_Mode::create
    - c_str
    - Botan::hex_decode
    - std::unique_ptr::finish
    - static_cast<size_t>
    - Test::Result::test_eq
    - Botan::secure_vector::size
    - std::unique_ptr::start
    - std::unique_ptr::set_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ctr_iv_carry()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_Tests::HOTP_KAT_Tests::HOTP_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_otp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HOTP_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_Tests::HOTP_KAT_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_otp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_otp.cpp:29,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/tests/test_otp.cpp:34,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_otp.cpp:34,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_otp.cpp:41,1
    - Dst: Botan::HOTP::generate_hotp
      Src: /src/botan/src/tests/test_otp.cpp:41,1
    - Dst: Botan::HOTP::verify_hotp
      Src: /src/botan/src/tests/test_otp.cpp:43,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_otp.cpp:44,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_otp.cpp:45,1
    - Dst: Botan::HOTP::verify_hotp
      Src: /src/botan/src/tests/test_otp.cpp:48,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_otp.cpp:49,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_otp.cpp:50,1
    - Dst: Botan::HOTP::verify_hotp
      Src: /src/botan/src/tests/test_otp.cpp:53,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_otp.cpp:54,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_otp.cpp:55,1
    - Dst: Botan::HOTP::verify_hotp
      Src: /src/botan/src/tests/test_otp.cpp:58,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_otp.cpp:59,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_otp.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - ' hash_algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 63
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 63
    functionName: Botan_Tests::HOTP_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_otp.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_int_eq
    - Botan::SymmetricKey
    - Botan::HOTP::generate_hotp
    - Test::Result::confirm
    - Botan::HashFunction::create
    - Botan::HOTP::verify_hotp
    - get_req_bin
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& hash_algo, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan_Tests::TOTP_KAT_Tests::TOTP_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_otp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TOTP_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Botan_Tests::TOTP_KAT_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_otp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_otp.cpp:77,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/tests/test_otp.cpp:82,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_otp.cpp:82,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_otp.cpp:86,1
    - Dst: Botan_Tests::TOTP_KAT_Tests::from_timestring
      Src: /src/botan/src/tests/test_otp.cpp:90,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/tests/test_otp.cpp:91,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/tests/test_otp.cpp:92,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_otp.cpp:94,1
    - Dst: Botan::TOTP::generate_totp
      Src: /src/botan/src/tests/test_otp.cpp:94,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_otp.cpp:96,1
    - Dst: Botan::TOTP::verify_totp
      Src: /src/botan/src/tests/test_otp.cpp:96,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_otp.cpp:97,1
    - Dst: Botan::TOTP::verify_totp
      Src: /src/botan/src/tests/test_otp.cpp:97,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_otp.cpp:98,1
    - Dst: Botan::TOTP::verify_totp
      Src: /src/botan/src/tests/test_otp.cpp:98,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_otp.cpp:99,1
    - Dst: Botan::TOTP::verify_totp
      Src: /src/botan/src/tests/test_otp.cpp:99,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_otp.cpp:100,1
    - Dst: Botan::TOTP::verify_totp
      Src: /src/botan/src/tests/test_otp.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' hash_algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 103
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 103
    functionName: Botan_Tests::TOTP_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_otp.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Test::Result::test_int_eq
    - Botan::TOTP::verify_totp
    - Botan_Tests::TOTP_KAT_Tests::from_timestring
    - Botan::SymmetricKey
    - Botan::TOTP::generate_totp
    - Botan::HashFunction::create
    - get_req_bin
    - Test::Result::test_eq
    - Botan_CLI::Timer::seconds
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& hash_algo, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/test_otp.cpp:107,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_otp.cpp:108,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_otp.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' time_str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: Botan_Tests::TOTP_KAT_Tests::from_timestring
    functionSourceFile: /src/botan/src/tests/test_otp.cpp
    functionUses: 1
    functionsReached:
    - Botan::calendar_point
    - Test_Error
    - size
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point from_timestring(const std::string&
      time_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:39,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:40,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:41,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:42,1
    - Dst: std::make_unique<Botan::DSA_PrivateKey>
      Src: /src/botan/src/tests/test_dsa.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: Botan_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_bn
    - std::make_unique<Botan::DSA_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_dsa.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/botan/src/tests/test_dsa.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: Botan_Tests::DSA_KAT_Verification_Tests::DSA_KAT_Verification_Tests
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached:
    - defined
    linkageType: ''
    returnType: void
    signature: void DSA_KAT_Verification_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan_Tests::DSA_KAT_Verification_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:69,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:70,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:71,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:72,1
    - Dst: Botan::DSA_PrivateKey::public_key
      Src: /src/botan/src/tests/test_dsa.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: Botan_Tests::DSA_KAT_Verification_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_bn
    - Botan::DSA_PrivateKey::public_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_dsa.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Botan_Tests::DSA_KAT_Verification_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: Botan_Tests::DSA_Verification_Tests::DSA_Verification_Tests
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_Verification_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan_Tests::DSA_Verification_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:92,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:93,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:94,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dsa.cpp:95,1
    - Dst: std::make_unique<Botan::DSA_PublicKey>
      Src: /src/botan/src/tests/test_dsa.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: Botan_Tests::DSA_Verification_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_bn
    - std::make_unique<Botan::DSA_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan_Tests::DSA_Verification_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& /*unused*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Botan_Tests::DSA_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: Botan_Tests::DSA_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::DSA_PublicKey>
      Src: /src/botan/src/tests/test_dsa.cpp:114,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/tests/test_dsa.cpp:114,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_dsa.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: Botan_Tests::DSA_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_dsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group::from_name
    - Botan::BigInt::BigInt
    - std::make_unique<Botan::DSA_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_hss_lms.cpp:28,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_hss_lms.cpp:30,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_hss_lms.cpp:33,1
    - Dst: Botan::HSS_LMS_Params::L
      Src: /src/botan/src/tests/test_hss_lms.cpp:33,1
    - Dst: Botan::HSS_Level
      Src: /src/botan/src/tests/test_hss_lms.cpp:33,1
    - Dst: Botan::HSS_LMS_Params::params_at_level
      Src: /src/botan/src/tests/test_hss_lms.cpp:34,1
    - Dst: Botan::HSS_Level
      Src: /src/botan/src/tests/test_hss_lms.cpp:34,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_hss_lms.cpp:35,1
    - Dst: lms_params
      Src: /src/botan/src/tests/test_hss_lms.cpp:35,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_hss_lms.cpp:35,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_hss_lms.cpp:36,1
    - Dst: lms_params
      Src: /src/botan/src/tests/test_hss_lms.cpp:37,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_hss_lms.cpp:39,1
    - Dst: lmots_params
      Src: /src/botan/src/tests/test_hss_lms.cpp:40,1
    - Dst: Botan::HSS_LMS_Params::params_at_level
      Src: /src/botan/src/tests/test_hss_lms.cpp:43,1
    - Dst: Botan::HSS_Level
      Src: /src/botan/src/tests/test_hss_lms.cpp:43,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_hss_lms.cpp:44,1
    - Dst: lms_params
      Src: /src/botan/src/tests/test_hss_lms.cpp:45,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_hss_lms.cpp:47,1
    - Dst: lmots_params
      Src: /src/botan/src/tests/test_hss_lms.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 54
    functionName: Botan_Tests::test_hss_lms_params_parsing
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - test_no_throw
    - Botan::HSS_LMS_Params::params_at_level
    - test_is_eq
    - std::string
    - lms_params
    - Botan::HSS_LMS_Params::L
    - lmots_params
    - Botan::HSS_Level
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_hss_lms_params_parsing()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: Botan_Tests::HSS_LMS_Signature_Generation_Test::HSS_LMS_Signature_Generation_Test
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_Signature_Generation_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan_Tests::HSS_LMS_Signature_Generation_Test::default_padding
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap&) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::lock
      Src: /src/botan/src/tests/test_hss_lms.cpp:67,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_hss_lms.cpp:67,1
    - Dst: std::make_unique<Botan::HSS_LMS_PrivateKey>
      Src: /src/botan/src/tests/test_hss_lms.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: Botan_Tests::HSS_LMS_Signature_Generation_Test::load_private_key
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::lock
    - get_req_bin
    - std::make_unique<Botan::HSS_LMS_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: Botan_Tests::HSS_LMS_Signature_Verify_Tests::HSS_LMS_Signature_Verify_Tests
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_Signature_Verify_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Botan_Tests::HSS_LMS_Signature_Verify_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap&) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_hss_lms.cpp:83,1
    - Dst: std::make_unique<Botan::HSS_LMS_PublicKey>
      Src: /src/botan/src/tests/test_hss_lms.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: Botan_Tests::HSS_LMS_Signature_Verify_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::HSS_LMS_PublicKey>
    - get_req_bin
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: Botan_Tests::HSS_LMS_Signature_Verify_Invalid_Tests::HSS_LMS_Signature_Verify_Invalid_Tests
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_Signature_Verify_Invalid_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan_Tests::HSS_LMS_Signature_Verify_Invalid_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap&) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_hss_lms.cpp:100,1
    - Dst: std::make_unique<Botan::HSS_LMS_PublicKey>
      Src: /src/botan/src/tests/test_hss_lms.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: Botan_Tests::HSS_LMS_Signature_Verify_Invalid_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::HSS_LMS_PublicKey>
    - get_req_bin
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Botan_Tests::HSS_LMS_Key_Generation_Test::keygen_params
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: Botan_Tests::HSS_LMS_Key_Generation_Test::algo_name
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::HSS_LMS_PublicKey>
      Src: /src/botan/src/tests/test_hss_lms.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raw_pk
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: Botan_Tests::HSS_LMS_Key_Generation_Test::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::HSS_LMS_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      /* keygen_params */,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_hss_lms.cpp:128,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:128,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:130,1
    - Dst: Botan::PK_Signer::update
      Src: /src/botan/src/tests/test_hss_lms.cpp:135,1
    - Dst: Botan::PK_Signer::signature
      Src: /src/botan/src/tests/test_hss_lms.cpp:136,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:136,1
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/tests/test_hss_lms.cpp:137,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:138,1
    - Dst: Botan::PK_Verifier::check_signature
      Src: /src/botan/src/tests/test_hss_lms.cpp:138,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_hss_lms.cpp:138,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_hss_lms.cpp:138,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_hss_lms.cpp:139,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_hss_lms.cpp:141,1
    - Dst: Test::Result::test_no_throw
      Src: /src/botan/src/tests/test_hss_lms.cpp:142,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_hss_lms.cpp:142,1
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/tests/test_hss_lms.cpp:143,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:145,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_hss_lms.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 150
    functionName: Botan_Tests::HSS_LMS_Negative_Tests::test_flipped_signature_bits
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan::create_private_key
    - fuzzer_rng
    - Botan::PK_Signer::update
    - Test::Result::confirm
    - Botan::PK_Signer::signature
    - auto::data
    - auto::at
    - Botan::PK_Verifier::check_signature
    - auto::size
    - Botan::PK_Verifier::update
    - Test::Result::test_no_throw
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_flipped_signature_bits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_hss_lms.cpp:155,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:155,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:157,1
    - Dst: Botan::PK_Signer::update
      Src: /src/botan/src/tests/test_hss_lms.cpp:162,1
    - Dst: Botan::PK_Signer::signature
      Src: /src/botan/src/tests/test_hss_lms.cpp:163,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:163,1
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/tests/test_hss_lms.cpp:164,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:165,1
    - Dst: Botan::PK_Verifier::check_signature
      Src: /src/botan/src/tests/test_hss_lms.cpp:165,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_hss_lms.cpp:165,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_hss_lms.cpp:165,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_hss_lms.cpp:166,1
    - Dst: Test::Result::test_no_throw
      Src: /src/botan/src/tests/test_hss_lms.cpp:167,1
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/tests/test_hss_lms.cpp:168,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 175
    functionName: Botan_Tests::HSS_LMS_Negative_Tests::test_too_short_signature
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::create_private_key
    - fuzzer_rng
    - Botan::PK_Signer::update
    - Test::Result::confirm
    - Botan::PK_Signer::signature
    - auto::data
    - Botan::PK_Verifier::check_signature
    - auto::size
    - Botan::PK_Verifier::update
    - Test::Result::test_no_throw
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_too_short_signature()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_hss_lms.cpp:181,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:181,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_hss_lms.cpp:183,1
    - Dst: Test::Result::test_no_throw
      Src: /src/botan/src/tests/test_hss_lms.cpp:184,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_hss_lms.cpp:186,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_hss_lms.cpp:188,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_hss_lms.cpp:189,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_hss_lms.cpp:190,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_hss_lms.cpp:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 196
    functionName: Botan_Tests::HSS_LMS_Negative_Tests::test_too_short_private_key
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - Botan::create_private_key
    - fuzzer_rng
    - auto::private_key_bits
    - BOTAN_UNUSED
    - auto::data
    - auto::size
    - Test::Result::test_no_throw
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_too_short_private_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_hss_lms.cpp:202,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:202,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_hss_lms.cpp:204,1
    - Dst: Test::Result::test_no_throw
      Src: /src/botan/src/tests/test_hss_lms.cpp:205,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_hss_lms.cpp:207,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_hss_lms.cpp:209,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_hss_lms.cpp:210,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_hss_lms.cpp:211,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_hss_lms.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 217
    functionName: Botan_Tests::HSS_LMS_Negative_Tests::test_too_short_public_key
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - Botan::create_private_key
    - fuzzer_rng
    - auto::public_key_bits
    - auto::data
    - BOTAN_UNUSED
    - auto::size
    - Test::Result::test_no_throw
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_too_short_public_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::HSS_LMS_Negative_Tests::test_flipped_signature_bits
      Src: /src/botan/src/tests/test_hss_lms.cpp:220,1
    - Dst: Botan_Tests::HSS_LMS_Negative_Tests::test_too_short_signature
      Src: /src/botan/src/tests/test_hss_lms.cpp:221,1
    - Dst: Botan_Tests::HSS_LMS_Negative_Tests::test_too_short_private_key
      Src: /src/botan/src/tests/test_hss_lms.cpp:222,1
    - Dst: Botan_Tests::HSS_LMS_Negative_Tests::test_too_short_public_key
      Src: /src/botan/src/tests/test_hss_lms.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: Botan_Tests::HSS_LMS_Negative_Tests::run
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::HSS_LMS_Negative_Tests::test_too_short_signature
    - Botan_Tests::HSS_LMS_Negative_Tests::test_flipped_signature_bits
    - Botan_Tests::HSS_LMS_Negative_Tests::test_too_short_public_key
    - Botan_Tests::HSS_LMS_Negative_Tests::test_too_short_private_key
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_LMS_PrivateKey::HSS_LMS_PrivateKey
      Src: /src/botan/src/tests/test_hss_lms.cpp:232,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:232,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_hss_lms.cpp:233,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_hss_lms.cpp:235,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_hss_lms.cpp:235,1
    - Dst: Botan::HSS_LMS_PrivateKey::HSS_LMS_PrivateKey
      Src: /src/botan/src/tests/test_hss_lms.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: Botan_Tests::HSS_LMS_Statefulness_Test::create_private_key_with_idx
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - fuzzer_rng
    - auto::data
    - auto::private_key_bits
    - Botan::HSS_LMS_PrivateKey::HSS_LMS_PrivateKey
    - Botan::store_be
    linkageType: ''
    returnType: Botan::HSS_LMS_PrivateKey
    signature: Botan::HSS_LMS_PrivateKey create_private_key_with_idx(uint64_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_LMS_PrivateKey::HSS_LMS_PrivateKey
      Src: /src/botan/src/tests/test_hss_lms.cpp:242,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:242,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:243,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_hss_lms.cpp:245,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:249,1
    - Dst: auto::remaining_operations
      Src: /src/botan/src/tests/test_hss_lms.cpp:250,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_hss_lms.cpp:253,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:253,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:254,1
    - Dst: Botan::HSS_Signature::from_bytes_or_throw
      Src: /src/botan/src/tests/test_hss_lms.cpp:256,1
    - Dst: Botan::LMS_Tree_Node_Idx
      Src: /src/botan/src/tests/test_hss_lms.cpp:256,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_hss_lms.cpp:258,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:260,1
    - Dst: auto::remaining_operations
      Src: /src/botan/src/tests/test_hss_lms.cpp:261,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_hss_lms.cpp:262,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_hss_lms.cpp:264,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:264,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:265,1
    - Dst: Botan::HSS_Signature::from_bytes_or_throw
      Src: /src/botan/src/tests/test_hss_lms.cpp:267,1
    - Dst: Botan::LMS_Tree_Node_Idx
      Src: /src/botan/src/tests/test_hss_lms.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 270
    functionName: Botan_Tests::HSS_LMS_Statefulness_Test::test_sig_changes_state
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::HSS_Signature::from_bytes_or_throw
    - Test::Result::test_ne
    - fuzzer_rng
    - Test::Result::confirm
    - Botan::LMS_Tree_Node_Idx
    - auto::private_key_bits
    - Botan::HSS_LMS_PrivateKey::HSS_LMS_PrivateKey
    - Botan::PK_Signer::sign_message
    - auto::remaining_operations
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_sig_changes_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::HSS_LMS_Statefulness_Test::create_private_key_with_idx
      Src: /src/botan/src/tests/test_hss_lms.cpp:276,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:278,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_hss_lms.cpp:280,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:282,1
    - Dst: auto::remaining_operations
      Src: /src/botan/src/tests/test_hss_lms.cpp:282,1
    - Dst: Test::Result::test_no_throw
      Src: /src/botan/src/tests/test_hss_lms.cpp:283,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_hss_lms.cpp:283,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:283,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:284,1
    - Dst: auto::remaining_operations
      Src: /src/botan/src/tests/test_hss_lms.cpp:284,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_hss_lms.cpp:285,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_hss_lms.cpp:285,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:285,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hss_lms.cpp:286,1
    - Dst: auto::remaining_operations
      Src: /src/botan/src/tests/test_hss_lms.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 289
    functionName: Botan_Tests::HSS_LMS_Statefulness_Test::test_max_sig_count
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - Botan::PK_Signer::sign_message
    - fuzzer_rng
    - Test::Result::confirm
    - Botan_Tests::HSS_LMS_Statefulness_Test::create_private_key_with_idx
    - auto::private_key_bits
    - Test::Result::test_no_throw
    - auto::remaining_operations
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_max_sig_count()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::HSS_LMS_Statefulness_Test::test_sig_changes_state
      Src: /src/botan/src/tests/test_hss_lms.cpp:291,1
    - Dst: Botan_Tests::HSS_LMS_Statefulness_Test::test_max_sig_count
      Src: /src/botan/src/tests/test_hss_lms.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: Botan_Tests::HSS_LMS_Statefulness_Test::run
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::HSS_LMS_Statefulness_Test::test_max_sig_count
    - Botan_Tests::HSS_LMS_Statefulness_Test::test_sig_changes_state
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_hss_lms.cpp:302,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:302,1
    - Dst: auto::key_length
      Src: /src/botan/src/tests/test_hss_lms.cpp:303,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_hss_lms.cpp:304,1
    - Dst: auto::key_length
      Src: /src/botan/src/tests/test_hss_lms.cpp:305,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hss_lms.cpp:310,1
    - Dst: Botan::PK_Verifier::hash_function
      Src: /src/botan/src/tests/test_hss_lms.cpp:310,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hss_lms.cpp:313,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/tests/test_hss_lms.cpp:313,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_hss_lms.cpp:313,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_hss_lms.cpp:316,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_hss_lms.cpp:317,1
    - Dst: Botan::PK_Signer::algorithm_identifier
      Src: /src/botan/src/tests/test_hss_lms.cpp:317,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_hss_lms.cpp:317,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hss_lms.cpp:320,1
    - Dst: Botan::PK_Signer::hash_function
      Src: /src/botan/src/tests/test_hss_lms.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 323
    functionName: Botan_Tests::HSS_LMS_Missing_API_Test::run
    functionSourceFile: /src/botan/src/tests/test_hss_lms.cpp
    functionUses: 0
    functionsReached:
    - auto::key_length
    - Botan::create_private_key
    - fuzzer_rng
    - Test::Result::test_gt
    - auto::algorithm_identifier
    - auto::raw_private_key_bits
    - Test::Result::test_is_eq
    - auto::private_key_bits
    - Botan::PK_Signer::hash_function
    - Test::Result::test_eq
    - Botan::PK_Signer::algorithm_identifier
    - Botan::PK_Verifier::hash_function
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::keccak_int_encoding_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan_Tests::encode_size
    functionSourceFile: /src/botan/src/tests/test_keccak_helpers.cpp
    functionUses: 0
    functionsReached:
    - Botan::keccak_int_encoding_size
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) encode_size(size_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::keccak_int_encoding_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:30,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:32,1
    - Dst: Botan::keccak_int_left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' result'
    - x
    argTypes:
    - Test::Result
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: Botan_Tests::left_encode
    functionSourceFile: /src/botan/src/tests/test_keccak_helpers.cpp
    functionUses: 0
    functionsReached:
    - Botan::keccak_int_encoding_size
    - Botan::keccak_int_left_encode
    - test_eq
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) left_encode(Test::Result& result, size_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::keccak_int_encoding_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:37,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:39,1
    - Dst: Botan::keccak_int_right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' result'
    - x
    argTypes:
    - Test::Result
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: Botan_Tests::right_encode
    functionSourceFile: /src/botan/src/tests/test_keccak_helpers.cpp
    functionUses: 0
    functionsReached:
    - Botan::keccak_int_encoding_size
    - Botan::keccak_int_right_encode
    - test_eq
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) right_encode(Test::Result& result, size_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan_Tests::hex
    functionSourceFile: /src/botan/src/tests/test_keccak_helpers.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) hex(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XOF::create_or_throw
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:50,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:51,1
    - Dst: auto::output_stdvec
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Botan_Tests::shake32
    functionSourceFile: /src/botan/src/tests/test_keccak_helpers.cpp
    functionUses: 0
    functionsReached:
    - Botan::XOF::create_or_throw
    - auto::update
    - auto::output_stdvec
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) shake32(std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:59,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:61,1
    - Dst: Botan_Tests::encode_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:61,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:62,1
    - Dst: Botan_Tests::encode_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:62,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:63,1
    - Dst: Botan_Tests::encode_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:63,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:64,1
    - Dst: Botan_Tests::encode_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:64,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:65,1
    - Dst: Botan_Tests::encode_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:65,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:66,1
    - Dst: Botan_Tests::encode_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:66,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:67,1
    - Dst: Botan_Tests::encode_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:67,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:70,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:72,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:72,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:72,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:73,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:73,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:73,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:74,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:74,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:74,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:75,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:75,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:75,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:76,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:76,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:76,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:77,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:77,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:77,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:78,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:78,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:78,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:79,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:79,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:79,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:80,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:80,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:80,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:81,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:81,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:81,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:84,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:86,1
    - Dst: Botan_Tests::right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:86,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:86,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:87,1
    - Dst: Botan_Tests::right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:87,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:87,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:88,1
    - Dst: Botan_Tests::right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:88,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:88,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:89,1
    - Dst: Botan_Tests::right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:89,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:89,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:90,1
    - Dst: Botan_Tests::right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:90,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:90,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:91,1
    - Dst: Botan_Tests::right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:91,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:91,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:92,1
    - Dst: Botan_Tests::right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:92,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:92,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:93,1
    - Dst: Botan_Tests::right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:93,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:93,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:94,1
    - Dst: Botan_Tests::right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:94,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:94,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:95,1
    - Dst: Botan_Tests::right_encode
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:95,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:95,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:98,1
    - Dst: Botan::keccak_absorb_padded_strings_encoding
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:105,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:106,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:108,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:110,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:117,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:126,1
    - Dst: std::string::data
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:126,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:127,1
    - Dst: std::string::data
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:127,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:127,1
    - Dst: Botan::keccak_absorb_padded_strings_encoding
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:128,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:129,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:131,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:133,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:144,1
    - Dst: Botan::XOF::create_or_throw
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:148,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:149,1
    - Dst: Botan::keccak_absorb_padded_strings_encoding
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:152,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:153,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:155,1
    - Dst: auto::output_stdvec
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:156,1
    - Dst: Botan_Tests::shake32
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:157,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:157,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:164,1
    - Dst: Botan::XOF::create_or_throw
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:166,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:167,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:172,1
    - Dst: std::string::data
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:172,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:173,1
    - Dst: std::string::data
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:173,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:173,1
    - Dst: Botan::keccak_absorb_padded_strings_encoding
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:174,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:175,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:177,1
    - Dst: auto::output_stdvec
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:178,1
    - Dst: Botan_Tests::shake32
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:179,1
    - Dst: Botan_Tests::hex
      Src: /src/botan/src/tests/test_keccak_helpers.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 190
    functionName: Botan_Tests::keccak_helpers
    functionSourceFile: /src/botan/src/tests/test_keccak_helpers.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan::cast_char_ptr_to_uint8
    - std::string::size
    - Botan::keccak_absorb_padded_strings_encoding
    - auto::block_size
    - Botan::XOF::create_or_throw
    - test_is_eq
    - Botan_Tests::left_encode
    - Botan_Tests::encode_size
    - auto::output_stdvec
    - std::string::data
    - Botan_Tests::shake32
    - Botan_Tests::hex
    - Botan_Tests::right_encode
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> keccak_helpers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan_Tests::Test_Credentials_Manager::session_ticket_key
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> session_ticket_key() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan_Tests::Other_Test_Credentials_Manager::session_ticket_key
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> session_ticket_key() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan_Tests::Session_Manager_Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t>) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan_Tests::Session_Manager_Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t, std::span<const uint8_t>) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan_Tests::Session_Manager_Callbacks::tls_alert
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void tls_alert(Botan::TLS::Alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan_Tests::Session_Manager_Callbacks::tls_session_established
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void tls_session_established(const Botan::TLS::Session_Summary&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:71,1
    - Dst: std::chrono::hours
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: Botan_Tests::Session_Manager_Callbacks::tls_current_timestamp
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - std::chrono::hours
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point tls_current_timestamp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: Botan_Tests::Session_Manager_Callbacks::tick
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tick()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::minutes
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Botan_Tests::Session_Manager_Policy::session_ticket_lifetime
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::minutes
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds session_ticket_lifetime() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Botan_Tests::Session_Manager_Policy::reuse_session_tickets
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool reuse_session_tickets() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: Botan_Tests::Session_Manager_Policy::maximum_session_tickets_per_client_hello
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t maximum_session_tickets_per_client_hello() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: Botan_Tests::Session_Manager_Policy::set_session_limit
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_session_limit(size_t l)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Botan_Tests::Session_Manager_Policy::set_allow_session_reuse
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_allow_session_reuse(bool b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: Botan_Tests::random_id
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - random_vec
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) random_id(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Botan_Tests::random_ticket
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - random_vec
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) random_ticket(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: Botan_Tests::random_opaque_handle
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - random_vec
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) random_opaque_handle(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_pre_tls_13
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:116,1
    - Dst: TestSession::TestSession
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:117,1
    - Dst: tls_current_timestamp
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:118,1
    - Dst: TestSession::TestSession
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:121,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:124,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:126,1
    - Dst: tls_current_timestamp
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:131,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - side
    - ' cbs'
    argTypes:
    - Botan::TLS::Connection_Side
    - Botan::TLS::Callbacks
    constantsTouched: []
    func_position:
      end: 136
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 136
    functionName: Botan_Tests::default_session
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - TestSession::TestSession
    - Botan::TLS::Ciphersuite::from_name
    - Test_Error
    - tls_current_timestamp
    - Botan_CLI::Timer::seconds
    - is_pre_tls_13
    linkageType: ''
    returnType: decltype(auto)
    signature: "decltype(auto) default_session(Botan::TLS::Connection_Side side,\n
      \                              Botan::TLS::Callbacks& cbs,\n                               Botan::TLS::Protocol_Version
      version = Botan::TLS::Protocol_Version::TLS_V12)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_shared_rng
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:141,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:143,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:151,1
    - Dst: std::optional::emplace
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:151,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:153,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:155,1
    - Dst: std::optional::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:155,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:157,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:158,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:160,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:160,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:161,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:161,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:164,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:165,1
    - Dst: std::optional::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:165,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:167,1
    - Dst: std::optional::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:169,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:169,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:170,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:170,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:171,1
    - Dst: auto::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:171,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:172,1
    - Dst: auto::ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:172,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:173,1
    - Dst: auto::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:173,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:177,1
    - Dst: std::optional::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:179,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:180,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:180,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:181,1
    - Dst: session::version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:182,1
    - Dst: Botan::TLS::Protocol_Version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:183,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:184,1
    - Dst: session::ciphersuite_code
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:184,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:185,1
    - Dst: handle::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:185,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:186,1
    - Dst: handle::ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:186,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:190,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:192,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:193,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:193,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:194,1
    - Dst: auto::version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:195,1
    - Dst: Botan::TLS::Protocol_Version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:196,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:197,1
    - Dst: auto::ciphersuite_code
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:197,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:201,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:203,1
    - Dst: Botan::TLS::Opaque_Session_Handle
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:203,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:204,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:204,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:205,1
    - Dst: auto::version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:206,1
    - Dst: Botan::TLS::Protocol_Version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:207,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:208,1
    - Dst: auto::ciphersuite_code
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:208,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:212,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:214,1
    - Dst: Botan::TLS::Session_Ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:214,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:215,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:215,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:218,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:220,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:220,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:221,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:221,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:224,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:226,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:226,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:227,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:227,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:230,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:232,1
    - Dst: std::optional::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:232,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:233,1
    - Dst: std::optional::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:233,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:236,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:238,1
    - Dst: std::optional::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:240,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:240,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:241,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:241,1
    - Dst: std::optional::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:243,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:244,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:244,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:245,1
    - Dst: session::version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:246,1
    - Dst: Botan::TLS::Protocol_Version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:247,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:248,1
    - Dst: session::ciphersuite_code
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:248,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:249,1
    - Dst: handle::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:249,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:250,1
    - Dst: handle::ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:250,1
    - Dst: std::optional::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:253,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:256,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:258,1
    - Dst: std::optional::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:260,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:260,1
    - Dst: std::optional::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:263,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:264,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:264,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:265,1
    - Dst: session::version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:266,1
    - Dst: Botan::TLS::Protocol_Version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:267,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:268,1
    - Dst: session::ciphersuite_code
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:268,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:269,1
    - Dst: handle::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:269,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:270,1
    - Dst: handle::ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:270,1
    - Dst: std::optional::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:273,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:276,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:281,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:281,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:282,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:282,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:283,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:285,1
    - Dst: auto::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:285,1
    - Dst: auto::ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:285,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:286,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:288,1
    - Dst: auto::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:288,1
    - Dst: auto::ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:288,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:290,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:290,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:292,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::remove
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:292,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:293,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:294,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:295,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:296,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:298,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::remove
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:299,1
    - Dst: Botan::TLS::Opaque_Session_Handle
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:299,1
    - Dst: auto::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:299,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:301,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:302,1
    - Dst: auto::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:302,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:303,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:303,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:306,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:310,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:311,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:312,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:314,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:314,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:315,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:315,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:316,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:316,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:317,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:318,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:320,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::remove
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:320,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:321,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:322,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:324,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::remove
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:325,1
    - Dst: Botan::TLS::Opaque_Session_Handle
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:325,1
    - Dst: Botan::TLS::Session_Ticket::get
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:325,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:327,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:328,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:331,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:334,1
    - Dst: std::optional::capacity
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:334,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:338,1
    - Dst: std::optional::capacity
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:338,1
    - Dst: std::optional::capacity
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:339,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:340,1
    - Dst: std::optional::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:341,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:341,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:341,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:344,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:345,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:345,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:349,1
    - Dst: std::optional::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:350,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:350,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:350,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:352,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:352,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:353,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:354,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:354,1
    - Dst: std::optional::remove
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:358,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:359,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:359,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:360,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:360,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:361,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:362,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:362,1
    - Dst: std::optional::capacity
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:366,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:367,1
    - Dst: std::optional::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:368,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:368,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:368,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:371,1
    - Dst: std::optional::capacity
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:371,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:372,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:372,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:375,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:376,1
    - Dst: std::optional::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:376,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:380,1
    - Dst: std::optional::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:380,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 110
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 383
    functionName: Botan_Tests::test_session_manager_in_memory
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan::TLS::Session_Manager_In_Memory::retrieve
    - require
    - std::vector::size
    - Botan::TLS::Session_Ticket::get
    - Botan::TLS::Session_Manager_In_Memory::store
    - auto::version
    - Botan::TLS::Opaque_Session_Handle
    - confirm
    - std::vector::push_back
    - Botan_Tests::random_id
    - std::optional::retrieve
    - Botan_Tests::Test::new_shared_rng
    - Botan::TLS::Session_Manager_In_Memory::find
    - Botan::TLS::Session_Ticket
    - Botan::TLS::Session_Manager_In_Memory::remove
    - auto::has_value
    - session::version
    - handle::ticket
    - Botan::TLS::Session_Manager_In_Memory::establish
    - std::vector::reserve
    - Botan_Tests::random_ticket
    - auto::ciphersuite_code
    - std::optional::find
    - auto::id
    - std::optional::remove_all
    - std::optional::capacity
    - auto::random_vec
    - handle::id
    - Botan_Tests::default_session
    - auto::ticket
    - std::optional::emplace
    - std::optional::establish
    - std::optional::store
    - test_eq
    - Botan::TLS::Protocol_Version
    - test_is_eq
    - session::ciphersuite_code
    - std::optional::remove
    - auto::size
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_session_manager_in_memory()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_shared_rng
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:390,1
    - Dst: is_pre_tls_13
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:395,1
    - Dst: TestSession::TestSession
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:396,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:398,1
    - Dst: tls_current_timestamp
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:405,1
    - Dst: TestSession::TestSession
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:406,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:409,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:411,1
    - Dst: tls_current_timestamp
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:416,1
    - Dst: Botan::TLS::PskIdentity::PskIdentity
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:420,1
    - Dst: std::vector
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:420,1
    - Dst: begin
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:420,1
    - Dst: end
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:420,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:424,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:428,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:430,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:431,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:432,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:434,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:434,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:438,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:443,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:443,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:443,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:444,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:444,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:444,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:448,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:448,1
    - Dst: id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:448,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:449,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:449,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:450,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:454,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:454,1
    - Dst: id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:454,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:455,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:455,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:456,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:459,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:460,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:460,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:460,1
    - Dst: id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:460,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:461,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:461,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:462,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:465,1
    - Dst: std::make_shared<Test_Credentials_Manager>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:467,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:471,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:471,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:471,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:472,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:472,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:472,1
    - Dst: Botan::TLS::Session_Manager_Stateless::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:475,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:476,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:476,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:477,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:477,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:478,1
    - Dst: Botan::TLS::Session_Manager_Stateless::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:481,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:482,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:482,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:483,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:483,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:484,1
    - Dst: Botan::TLS::Session_Manager_Stateless::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:487,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:488,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:488,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:488,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:488,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:489,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:489,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:490,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:493,1
    - Dst: std::make_shared<Test_Credentials_Manager>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:495,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:499,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:499,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:499,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:500,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:500,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:500,1
    - Dst: Botan::TLS::Session_Manager_Stateless::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:502,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:502,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:502,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:503,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:503,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:504,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:504,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:508,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:508,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:509,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:512,1
    - Dst: std::make_shared<Test_Credentials_Manager>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:514,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:518,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:519,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:519,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:520,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:521,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:521,1
    - Dst: Botan::TLS::Session_Manager_Stateless::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:523,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:523,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:523,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:524,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:524,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:525,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:525,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:529,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:529,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 536
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 536
    functionName: Botan_Tests::test_session_manager_choose_ticket
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan::TLS::Session_Manager_In_Memory::choose_from_offered_tickets
    - require
    - std::vector
    - ticket
    - confirm
    - std::vector::push_back
    - Botan_Tests::Test::new_shared_rng
    - tls_current_timestamp
    - is_pre_tls_13
    - std::make_shared<Test_Credentials_Manager>
    - auto::has_value
    - Botan::TLS::Ciphersuite::from_name
    - Botan::TLS::Session_Manager_In_Memory::establish
    - Botan_Tests::random_ticket
    - id
    - Botan::TLS::Session_Manager_Stateless::choose_from_offered_tickets
    - Botan_CLI::Timer::seconds
    - Botan_Tests::default_session
    - end
    - TestSession::TestSession
    - begin
    - test_is_eq
    - Botan::TLS::Session_Manager_Stateless::establish
    - Botan::TLS::PskIdentity::PskIdentity
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_session_manager_choose_ticket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Test_Credentials_Manager>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:539,1
    - Dst: Botan_Tests::Test::new_shared_rng
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:541,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:549,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:551,1
    - Dst: Botan::TLS::Session_Manager_Stateless::emits_session_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:551,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:552,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:552,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:553,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:553,1
    - Dst: auto::is_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:553,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:556,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:558,1
    - Dst: Botan::TLS::Session_Manager_Stateless::emits_session_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:558,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:560,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:560,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:561,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:561,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:564,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:568,1
    - Dst: Botan::TLS::Session_Manager_Stateless::emits_session_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:568,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:569,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:569,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:570,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:570,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:573,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:575,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:575,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:576,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:576,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:577,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:577,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:577,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:580,1
    - Dst: Botan::TLS::Session_Manager_Stateless::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:580,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:580,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:581,1
    - Dst: Botan::TLS::Session_Manager_Stateless::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:582,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:582,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:585,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:587,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:587,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:588,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:588,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:588,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:590,1
    - Dst: Botan::TLS::Session_Manager_Stateless::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:590,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:590,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:593,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:595,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:595,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:596,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:596,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:596,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:598,1
    - Dst: Botan::TLS::Session_Manager_Stateless::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:599,1
    - Dst: auto::opaque_handle
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:599,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:602,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:604,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:604,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:605,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:605,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:605,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:612,1
    - Dst: Botan::TLS::Session_Manager_Stateless::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:613,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:613,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:614,1
    - Dst: Botan::TLS::Session_Manager_Stateless::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:615,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:615,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:616,1
    - Dst: Botan::TLS::Session_Manager_Stateless::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:616,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:616,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:619,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:621,1
    - Dst: Botan::TLS::Session_Manager_Stateless::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:622,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:622,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:622,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:624,1
    - Dst: Botan::TLS::Session_Manager_Stateless::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:625,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:625,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:625,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:627,1
    - Dst: Botan::TLS::Session_Manager_Stateless::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:628,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:628,1
    - Dst: Botan_Tests::random_opaque_handle
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:628,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:631,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:631,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:632,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:632,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:632,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:633,1
    - Dst: Botan::TLS::Session_Manager_Stateless::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:633,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:636,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:638,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:638,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:639,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:639,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:639,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:641,1
    - Dst: Botan::TLS::Session_Manager_Stateless::remove
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:641,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:641,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:642,1
    - Dst: Botan::TLS::Session_Manager_Stateless::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:642,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:642,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:644,1
    - Dst: Botan::TLS::Session_Manager_Stateless::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:644,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:645,1
    - Dst: Botan::TLS::Session_Manager_Stateless::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:645,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:645,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:648,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:651,1
    - Dst: Botan::TLS::Session_Manager_Stateless::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:652,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:653,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:653,1
    - Dst: auto::is_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:653,1
    - Dst: Botan::TLS::Session_Manager_Stateless::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:654,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:654,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:655,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:655,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:657,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:659,1
    - Dst: auto::start_time
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:659,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:660,1
    - Dst: auto::start_time
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:660,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 664
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 664
    functionName: Botan_Tests::test_session_manager_stateless
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - require
    - confirm
    - auto::is_ticket
    - Botan_Tests::random_id
    - Botan_Tests::Test::new_shared_rng
    - auto::value
    - std::make_shared<Test_Credentials_Manager>
    - auto::has_value
    - auto::start_time
    - Botan_Tests::random_opaque_handle
    - Botan_Tests::random_ticket
    - auto::opaque_handle
    - Botan::TLS::Session_Manager_Stateless::remove
    - Botan::TLS::Session_Manager_Stateless::remove_all
    - Botan::TLS::Session_Manager_Stateless::emits_session_tickets
    - Botan_Tests::default_session
    - test_throws
    - std::chrono::duration_cast<std::chrono::seconds>
    - Botan::TLS::Session_Manager_Stateless::retrieve
    - test_is_eq
    - Botan::TLS::Session_Manager_Stateless::establish
    - Botan::TLS::Session_Manager_Stateless::find
    - Botan::TLS::Session_Manager_Stateless::store
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_session_manager_stateless()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_shared_rng
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:667,1
    - Dst: std::make_shared<Test_Credentials_Manager>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:669,1
    - Dst: std::unique_ptr<Botan::TLS::Session_Manager>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:678,1
    - Dst: std::make_unique<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:682,1
    - Dst: std::make_unique<Botan::TLS::Session_Manager_SQLite>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:687,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:688,1
    - Dst: Botan::TLS::Session_Manager_Hybrid::Session_Manager_Hybrid
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:699,1
    - Dst: stateful_manager_factory
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:699,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:702,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:703,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:704,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:704,1
    - Dst: auto::c_str
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:704,1
    - Dst: Botan_Tests::Test::flatten_result_lists
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:709,1
    - Dst: CHECK_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:710,1
    - Dst: make_manager
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:712,1
    - Dst: auto::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:714,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:714,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:715,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:715,1
    - Dst: auto::is_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:715,1
    - Dst: make_manager
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:717,1
    - Dst: auto::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:718,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:718,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:719,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:719,1
    - Dst: auto::is_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:719,1
    - Dst: auto::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:721,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:721,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:724,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:724,1
    - Dst: auto::is_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:724,1
    - Dst: auto::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:726,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:726,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:729,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:729,1
    - Dst: auto::is_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:729,1
    - Dst: CHECK_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:732,1
    - Dst: make_manager
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:734,1
    - Dst: make_manager
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:735,1
    - Dst: auto::underlying_stateful_manager
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:737,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:738,1
    - Dst: auto::underlying_stateful_manager
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:739,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:740,1
    - Dst: auto::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:742,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:742,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:744,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:744,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:744,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:744,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:746,1
    - Dst: auto::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:746,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:746,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:747,1
    - Dst: auto::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:747,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:747,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:748,1
    - Dst: auto::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:748,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:748,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:749,1
    - Dst: auto::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:749,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:749,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:750,1
    - Dst: auto::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:750,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:750,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:751,1
    - Dst: auto::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:751,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:751,1
    - Dst: CHECK_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:754,1
    - Dst: std::make_unique<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:757,1
    - Dst: std::make_shared<Empty_Credentials_Manager>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:758,1
    - Dst: make_manager
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:760,1
    - Dst: make_manager
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:761,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:763,1
    - Dst: Botan::TLS::Session_Manager_Hybrid::emits_session_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:763,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:764,1
    - Dst: auto::emits_session_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:764,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:765,1
    - Dst: auto::emits_session_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:765,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 768
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 768
    functionName: Botan_Tests::test_session_manager_hybrid
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - std::make_shared<Empty_Credentials_Manager>
    - auto::establish
    - require
    - make_manager
    - confirm
    - auto::is_ticket
    - std::vector::push_back
    - Botan_Tests::Test::new_shared_rng
    - auto::emits_session_tickets
    - std::bind
    - std::make_shared<Test_Credentials_Manager>
    - auto::value
    - auto::has_value
    - stateful_manager_factory
    - std::make_unique<Botan::TLS::Session_Manager_SQLite>
    - auto::is_id
    - Botan::TLS::Session_Manager_Hybrid::emits_session_tickets
    - Botan_Tests::Test::flatten_result_lists
    - CHECK_all
    - Botan_Tests::default_session
    - std::make_unique<Botan::TLS::Session_Manager_In_Memory>
    - auto::underlying_stateful_manager
    - auto::retrieve
    - auto::c_str
    - Botan::TLS::Session_Manager_Hybrid::Session_Manager_Hybrid
    - std::unique_ptr<Botan::TLS::Session_Manager>
    - Botan_Tests::Test::temp_file_name
    - Botan::fmt
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_session_manager_hybrid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file_as_temporary_copy
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:777,1
    - Dst: empty
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:778,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' db_file'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 781
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 781
    functionName: Botan_Tests::Temporary_Database_File::Temporary_Database_File
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::data_file_as_temporary_copy
    - empty
    - Test_Error
    linkageType: ''
    returnType: void
    signature: void Temporary_Database_File(const std::string& db_file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:785,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::remove
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:786,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 789
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 789
    functionName: ~Temporary_Database_File()
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - empty
    - Botan_Tests::RFC8448_Session_Manager::remove
    linkageType: ''
    returnType: void
    signature: void ~Temporary_Database_File()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 791
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 791
    functionName: '& get() const'
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 793
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 793
    functionName: Botan_Tests::Temporary_Database_File::Temporary_Database_File
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Temporary_Database_File(const Temporary_Database_File&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 794
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 794
    functionName: '& operator=(const Temporary_Database_File&)'
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Temporary_Database_File
    signature: Temporary_Database_File & operator=(const Temporary_Database_File&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 795
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 795
    functionName: Botan_Tests::Temporary_Database_File::Temporary_Database_File
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Temporary_Database_File(Temporary_Database_File&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 796
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 796
    functionName: '& operator=(Temporary_Database_File&&)'
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Temporary_Database_File
    signature: Temporary_Database_File & operator=(Temporary_Database_File&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_shared_rng
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:803,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:808,1
    - Dst: Temporary_Database_File::get
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:816,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:818,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:819,1
    - Dst: Botan::TLS::Session_ID
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:820,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:820,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:825,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:826,1
    - Dst: Botan::TLS::Session_ID
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:827,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:827,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:832,1
    - Dst: Botan::TLS::Session_Manager_SQLite::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:833,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:833,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:834,1
    - Dst: Botan::TLS::Session_Manager_SQLite::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:835,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:835,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:837,1
    - Dst: Botan::TLS::Session_Manager_SQLite::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:837,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:840,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:842,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:843,1
    - Dst: Botan::TLS::Session_Manager_SQLite::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:843,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:846,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:849,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:850,1
    - Dst: Botan::TLS::Session_Manager_SQLite::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:852,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:852,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:853,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:853,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:854,1
    - Dst: auto::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:854,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:855,1
    - Dst: auto::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:855,1
    - Dst: Botan::TLS::Session_Manager_SQLite::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:857,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:857,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:858,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:858,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:859,1
    - Dst: auto::id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:859,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:862,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:865,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:866,1
    - Dst: Botan::TLS::Session_Manager_SQLite::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:868,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:868,1
    - Dst: Botan::TLS::Session_Manager_SQLite::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:869,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:869,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:871,1
    - Dst: auto::is_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:872,1
    - Dst: auto::is_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:872,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:874,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:874,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:875,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:875,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:876,1
    - Dst: auto::version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:877,1
    - Dst: Botan::TLS::Protocol_Version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:878,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:879,1
    - Dst: auto::ciphersuite_code
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:879,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:882,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:882,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:883,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:883,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:884,1
    - Dst: auto::version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:885,1
    - Dst: Botan::TLS::Protocol_Version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:886,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:887,1
    - Dst: auto::ciphersuite_code
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:887,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:890,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:890,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:891,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:891,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:894,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:897,1
    - Dst: Botan::TLS::Session_Manager_SQLite::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:899,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:899,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:899,1
    - Dst: Botan::TLS::Session_Manager_SQLite::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:900,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:900,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:902,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:903,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:903,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:906,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:909,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:910,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:911,1
    - Dst: Botan::TLS::Session_Manager_SQLite::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:912,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:912,1
    - Dst: Botan::TLS::Session_Manager_SQLite::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:913,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:913,1
    - Dst: Botan::TLS::Session_Manager_SQLite::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:915,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:916,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:916,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:918,1
    - Dst: is_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:918,1
    - Dst: id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:918,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:919,1
    - Dst: is_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:919,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:919,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:924,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:926,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:927,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:928,1
    - Dst: Botan::TLS::Session_Manager_SQLite::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:929,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:929,1
    - Dst: Botan::TLS::Session_Manager_SQLite::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:930,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:930,1
    - Dst: Botan::TLS::Session_Manager_SQLite::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:931,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:931,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:931,1
    - Dst: Botan::TLS::Session_Manager_SQLite::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:932,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:932,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:932,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:934,1
    - Dst: Botan::TLS::Session_Manager_SQLite::remove
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:934,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:935,1
    - Dst: Botan::TLS::Session_Manager_SQLite::remove
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:935,1
    - Dst: Botan::TLS::Session_Manager_SQLite::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:937,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:938,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:938,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:940,1
    - Dst: is_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:940,1
    - Dst: id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:940,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:941,1
    - Dst: is_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:941,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:941,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:945,1
    - Dst: Botan::TLS::Session_Manager_SQLite::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:945,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:948,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:951,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:953,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:953,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:953,1
    - Dst: Botan::TLS::Session_Manager_SQLite::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:954,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:954,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:955,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:955,1
    - Dst: Session_Manager_Callbacks::tick
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:961,1
    - Dst: Botan::TLS::Session_Manager_SQLite::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:962,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:962,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:963,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:963,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:964,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:964,1
    - Dst: Session_Manager_Callbacks::tick
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:966,1
    - Dst: Botan::TLS::Session_Manager_SQLite::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:967,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:967,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:968,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:968,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:969,1
    - Dst: Botan::TLS::Session_Manager_SQLite::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:969,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:971,1
    - Dst: Botan::TLS::Session_Manager_SQLite::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:971,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:974,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:977,1
    - Dst: Botan::TLS::Session_Manager_SQLite::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:980,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:980,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:980,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:983,1
    - Dst: Botan::TLS::Session_Manager_SQLite::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:983,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 989
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 989
    functionName: Botan_Tests::test_session_manager_sqlite
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - require
    - auto::version
    - ticket
    - confirm
    - Botan::TLS::Session_Manager_SQLite::retrieve
    - Botan_Tests::random_id
    - Botan_Tests::Test::new_shared_rng
    - Session_Manager_Callbacks::tick
    - auto::value
    - auto::has_value
    - auto::is_id
    - Botan::TLS::Session_Manager_SQLite::establish
    - is_id
    - Botan::TLS::Session_Manager_SQLite::remove_all
    - Botan_Tests::random_ticket
    - auto::ciphersuite_code
    - id
    - Botan::TLS::Session_Manager_SQLite::store
    - auto::id
    - Botan::TLS::Session_Manager_SQLite::remove
    - Botan::hex_decode
    - is_ticket
    - Botan::TLS::Server_Information
    - Botan::TLS::Session_ID
    - Botan_Tests::default_session
    - test_eq
    - Temporary_Database_File::get
    - Botan::TLS::Protocol_Version
    - Botan_Tests::Test::temp_file_name
    - test_is_eq
    - Botan::TLS::Session_Manager_SQLite::find
    - auto::size
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_session_manager_sqlite()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_shared_rng
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:992,1
    - Dst: std::unique_ptr<Botan::TLS::Session_Manager>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:997,1
    - Dst: std::make_unique<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1001,1
    - Dst: std::make_unique<Botan::TLS::Session_Manager_Stateless>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1005,1
    - Dst: std::make_shared<Test_Credentials_Manager>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1006,1
    - Dst: std::make_unique<Botan::TLS::Session_Manager_SQLite>
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1011,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1012,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1018,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1018,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1021,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1022,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1023,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1023,1
    - Dst: auto::c_str
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1023,1
    - Dst: Botan_Tests::Test::flatten_result_lists
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1028,1
    - Dst: CHECK_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1029,1
    - Dst: factory
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1031,1
    - Dst: auto::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1033,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1033,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1034,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1034,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1035,1
    - Dst: auto::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1035,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1035,1
    - Dst: Session_Manager_Callbacks::tick
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1036,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1037,1
    - Dst: auto::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1037,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1037,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1038,1
    - Dst: auto::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1038,1
    - Dst: CHECK_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1041,1
    - Dst: factory
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1047,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1049,1
    - Dst: auto::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1050,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1050,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1051,1
    - Dst: auto::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1051,1
    - Dst: Session_Manager_Callbacks::tick
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1053,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1054,1
    - Dst: auto::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1055,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1055,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1056,1
    - Dst: auto::retrieve
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1056,1
    - Dst: auto::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1058,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1059,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1059,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1060,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1060,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1061,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1062,1
    - Dst: id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1062,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1064,1
    - Dst: auto::remove_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1064,1
    - Dst: CHECK_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1067,1
    - Dst: factory
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1074,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1076,1
    - Dst: auto::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1077,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1077,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1079,1
    - Dst: auto::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1080,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1080,1
    - Dst: Botan_Tests::random_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1084,1
    - Dst: auto::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1085,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1085,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1087,1
    - Dst: auto::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1088,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1088,1
    - Dst: Session_Manager_Policy::set_allow_session_reuse
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1092,1
    - Dst: auto::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1094,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1095,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1095,1
    - Dst: auto::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1097,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1098,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1098,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1099,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1099,1
    - Dst: is_id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1099,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1100,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1101,1
    - Dst: id
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1101,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1102,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1103,1
    - Dst: version
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1103,1
    - Dst: CHECK_all
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1106,1
    - Dst: factory
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1112,1
    - Dst: Botan_Tests::random_ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1116,1
    - Dst: auto::store
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1117,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1117,1
    - Dst: Session_Manager_Policy::set_allow_session_reuse
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1120,1
    - Dst: Session_Manager_Policy::set_session_limit
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1122,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1123,1
    - Dst: auto::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1124,1
    - Dst: Session_Manager_Policy::maximum_session_tickets_per_client_hello
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1125,1
    - Dst: Session_Manager_Policy::set_session_limit
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1127,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1128,1
    - Dst: auto::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1129,1
    - Dst: Session_Manager_Policy::maximum_session_tickets_per_client_hello
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1130,1
    - Dst: Session_Manager_Policy::set_session_limit
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1132,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1133,1
    - Dst: auto::find
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1133,1
    - Dst: factory
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1143,1
    - Dst: auto::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1145,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1146,1
    - Dst: Session_Manager_Callbacks::tick
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1147,1
    - Dst: auto::establish
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1148,1
    - Dst: Botan_Tests::default_session
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1149,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1150,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1150,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1150,1
    - Dst: auto::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1152,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1153,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1153,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1153,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1153,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1154,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1154,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1155,1
    - Dst: Session_Manager_Callbacks::tick
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1157,1
    - Dst: auto::choose_from_offered_tickets
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1159,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1160,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1160,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1160,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1160,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1161,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_tls_session_manager.cpp:1161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 991
    functionDepth: 2
    functionLinenumber: 991
    functionLinenumberEnd: 1162
    functionName: Botan_Tests::tls_session_manager_expiry
    functionSourceFile: /src/botan/src/tests/test_tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - std::vector::size
    - auto::establish
    - require
    - ticket
    - confirm
    - std::vector::push_back
    - Botan_Tests::random_id
    - Botan_Tests::Test::new_shared_rng
    - Session_Manager_Callbacks::tick
    - factory
    - auto::front
    - auto::choose_from_offered_tickets
    - std::bind
    - std::make_shared<Test_Credentials_Manager>
    - auto::value
    - auto::has_value
    - std::make_unique<Botan::TLS::Session_Manager_SQLite>
    - is_id
    - Botan_Tests::Test::flatten_result_lists
    - std::vector::reserve
    - Botan_Tests::random_ticket
    - auto::remove_all
    - id
    - CHECK_all
    - Botan_Tests::default_session
    - std::make_unique<Botan::TLS::Session_Manager_In_Memory>
    - auto::retrieve
    - auto::c_str
    - auto::find
    - std::make_unique<Botan::TLS::Session_Manager_Stateless>
    - Session_Manager_Policy::set_session_limit
    - Session_Manager_Policy::maximum_session_tickets_per_client_hello
    - std::unique_ptr<Botan::TLS::Session_Manager>
    - auto::store
    - Botan_Tests::Test::temp_file_name
    - version
    - test_is_eq
    - auto::size
    - Botan::fmt
    - auto::empty
    - Session_Manager_Policy::set_allow_session_reuse
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> tls_session_manager_expiry()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Botan_Tests::HMAC_DRBG_Tests::HMAC_DRBG_Tests
    functionSourceFile: /src/botan/src/tests/test_rng_kat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HMAC_DRBG_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_rng_kat.cpp:31,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_rng_kat.cpp:32,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_rng_kat.cpp:33,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_rng_kat.cpp:35,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_rng_kat.cpp:36,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_rng_kat.cpp:40,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_rng_kat.cpp:43,1
    - Dst: std::make_unique<Botan::HMAC_DRBG>
      Src: /src/botan/src/tests/test_rng_kat.cpp:47,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_rng_kat.cpp:47,1
    - Dst: auto::initialize_with
      Src: /src/botan/src/tests/test_rng_kat.cpp:48,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:48,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:48,1
    - Dst: auto::add_entropy
      Src: /src/botan/src/tests/test_rng_kat.cpp:51,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:51,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:51,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:53,1
    - Dst: auto::randomize_with_input
      Src: /src/botan/src/tests/test_rng_kat.cpp:55,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:55,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:55,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:55,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:55,1
    - Dst: auto::randomize_with_input
      Src: /src/botan/src/tests/test_rng_kat.cpp:56,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:56,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:56,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:56,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:56,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_kat.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 60
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 60
    functionName: Botan_Tests::HMAC_DRBG_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_rng_kat.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::make_unique<Botan::HMAC_DRBG>
    - auto::add_entropy
    - auto::randomize_with_input
    - Botan::MessageAuthenticationCode::create
    - auto::initialize_with
    - std::move
    - get_req_bin
    - get_opt_bin
    - Test::Result::note_missing
    - Test::Result::test_eq
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - 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: Botan_Tests::ChaCha_RNG_Tests::ChaCha_RNG_Tests
    functionSourceFile: /src/botan/src/tests/test_rng_kat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChaCha_RNG_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_rng_kat.cpp:76,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_rng_kat.cpp:77,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_rng_kat.cpp:78,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_rng_kat.cpp:80,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_rng_kat.cpp:81,1
    - Dst: Botan::ChaCha_RNG::ChaCha_RNG
      Src: /src/botan/src/tests/test_rng_kat.cpp:85,1
    - Dst: Botan::ChaCha_RNG::initialize_with
      Src: /src/botan/src/tests/test_rng_kat.cpp:86,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:86,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:86,1
    - Dst: Botan::ChaCha_RNG::add_entropy
      Src: /src/botan/src/tests/test_rng_kat.cpp:89,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:89,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:89,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:91,1
    - Dst: Botan::ChaCha_RNG::randomize_with_input
      Src: /src/botan/src/tests/test_rng_kat.cpp:93,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:93,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:93,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:93,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:93,1
    - Dst: Botan::ChaCha_RNG::randomize_with_input
      Src: /src/botan/src/tests/test_rng_kat.cpp:94,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:94,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:94,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_kat.cpp:94,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_kat.cpp:94,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_kat.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 98
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 98
    functionName: Botan_Tests::ChaCha_RNG_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_rng_kat.cpp
    functionUses: 0
    functionsReached:
    - Botan::ChaCha_RNG::ChaCha_RNG
    - Botan::ChaCha_RNG::initialize_with
    - std::vector::size
    - Botan::ChaCha_RNG::add_entropy
    - Botan::ChaCha_RNG::randomize_with_input
    - get_req_bin
    - get_opt_bin
    - Test::Result::test_eq
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan_Tests::ECC_Basepoint_Mul_Tests::ECC_Basepoint_Mul_Tests
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_Basepoint_Mul_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' group_id'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan_Tests::ECC_Basepoint_Mul_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& group_id, const VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:32,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:33,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:35,1
    - Dst: auto::OS2ECP
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:40,1
    - Dst: auto::get_base_point
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:41,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:42,1
    - Dst: Botan::EC_Point::encode
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:42,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:45,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:46,1
    - Dst: Botan_Tests::ECC_Basepoint_Mul_Tests::rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:46,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:47,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:47,1
    - Dst: Botan::EC_AffinePoint::generator
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:49,1
    - Dst: auto::mul
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:50,1
    - Dst: Botan_Tests::ECC_Basepoint_Mul_Tests::rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:50,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:51,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' group_id'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 54
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 54
    functionName: Botan_Tests::ECC_Basepoint_Mul_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Point::encode
    - auto::OS2ECP
    - Botan::EC_Scalar::from_bigint
    - auto::get_base_point
    - Botan::EC_AffinePoint::generator
    - Botan::EC_AffinePoint::g_mul
    - auto::mul
    - auto::serialize_uncompressed
    - get_req_bin
    - Botan_Tests::ECC_Basepoint_Mul_Tests::rng
    - Botan::EC_Group::from_name
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& group_id, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan_Tests::ECC_Varpoint_Mul_Tests::ECC_Varpoint_Mul_Tests
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_Varpoint_Mul_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' group_id'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan_Tests::ECC_Varpoint_Mul_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& group_id, const VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:70,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:71,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:72,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:74,1
    - Dst: auto::OS2ECP
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:77,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:78,1
    - Dst: Botan::EC_Point::encode
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:78,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:81,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:82,1
    - Dst: auto::mul
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:83,1
    - Dst: Botan_Tests::ECC_Varpoint_Mul_Tests::rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:83,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:84,1
    - Dst: auto::serialize_compressed
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:84,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:86,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:86,1
    - Dst: Botan_Tests::ECC_Varpoint_Mul_Tests::rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:86,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:87,1
    - Dst: auto::serialize_compressed
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:87,1
    - Dst: auto::mul
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:89,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:89,1
    - Dst: Botan_Tests::ECC_Varpoint_Mul_Tests::rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:89,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:90,1
    - Dst: auto::serialize_compressed
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' group_id'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 93
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 93
    functionName: Botan_Tests::ECC_Varpoint_Mul_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Point::encode
    - auto::OS2ECP
    - auto::negate
    - Botan::EC_Scalar::from_bigint
    - Botan::EC_AffinePoint::deserialize
    - Botan_Tests::ECC_Varpoint_Mul_Tests::rng
    - auto::mul
    - auto::serialize_compressed
    - get_req_bin
    - Botan::EC_Group::from_name
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& group_id, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: Botan_Tests::ECC_Mul2_Tests::ECC_Mul2_Tests
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_Mul2_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' group_id'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: Botan_Tests::ECC_Mul2_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& group_id, const VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:109,1
    - Dst: Botan::EC_AffinePoint::mul_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:117,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:117,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:119,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:119,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:121,1
    - Dst: auto::serialize_compressed
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:121,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:124,1
    - Dst: mul
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:128,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:128,1
    - Dst: mul
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:128,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:128,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:130,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:132,1
    - Dst: auto::serialize_compressed
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:132,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:135,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:137,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:137,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:138,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:138,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:139,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:139,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:140,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:140,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:142,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:143,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:144,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:145,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:147,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:148,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:149,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ' group_id'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 153
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 153
    functionName: Botan_Tests::ECC_Mul2_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached:
    - auto::negate
    - Botan::EC_AffinePoint::mul_px_qy
    - Botan::EC_Scalar::from_bigint
    - Test::Result::test_failure
    - Botan::EC_AffinePoint::deserialize
    - auto::serialize_compressed
    - check_px_qy
    - rng
    - get_req_bin
    - Botan::EC_Group::from_name
    - Test::Result::test_eq
    - get_req_bn
    - mul
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& group_id, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:163,1
    - Dst: Botan::EC_AffinePoint::mul_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:171,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:171,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:172,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:172,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:174,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:174,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:178,1
    - Dst: Botan::EC_AffinePoint::generator
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:180,1
    - Dst: auto::mul
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:183,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:183,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:183,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:183,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:185,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:185,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:186,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:190,1
    - Dst: auto::is_zero
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:190,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:192,1
    - Dst: Botan::EC_AffinePoint::identity
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:194,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:196,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:197,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:198,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:199,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:200,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:201,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:201,1
    - Dst: check_px_qy
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:202,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 208
    functionName: Botan_Tests::ECC_Mul2_Inf_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_AffinePoint::mul_px_qy
    - Botan::EC_Group::known_named_groups
    - auto::negate
    - Test::Result::confirm
    - auto::add
    - Test::Result::test_failure
    - Botan::EC_AffinePoint::generator
    - auto::mul
    - std::vector::push_back
    - check_px_qy
    - rng
    - Botan::EC_Group::from_name
    - Botan::fmt
    - auto::is_zero
    - Test::Result::test_success
    - Botan::EC_Scalar::random
    - Botan::EC_AffinePoint::identity
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:218,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:221,1
    - Dst: Botan::EC_AffinePoint::generator
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:223,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:224,1
    - Dst: auto::is_identity
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:224,1
    - Dst: auto::mul
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:227,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:227,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:227,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:227,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:228,1
    - Dst: auto::is_identity
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:228,1
    - Dst: Botan::EC_AffinePoint::identity
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:230,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:231,1
    - Dst: auto::is_identity
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:231,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:233,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:236,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:236,1
    - Dst: serialize_uncompressed
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:236,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:239,1
    - Dst: check_expr_is_g
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:241,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:241,1
    - Dst: check_expr_is_g
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:242,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:242,1
    - Dst: check_expr_is_g
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:243,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:243,1
    - Dst: check_expr_is_g
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:244,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:244,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:244,1
    - Dst: check_expr_is_g
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:245,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:245,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:245,1
    - Dst: check_expr_is_g
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:246,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:246,1
    - Dst: check_expr_is_g
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:247,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:247,1
    - Dst: check_expr_is_g
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:248,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:248,1
    - Dst: check_expr_is_g
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:249,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:249,1
    - Dst: check_expr_is_g
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:250,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:250,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 256
    functionName: Botan_Tests::ECC_Point_Addition_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - serialize_uncompressed
    - Botan::EC_Group::known_named_groups
    - auto::negate
    - auto::add
    - Botan::EC_AffinePoint::generator
    - auto::mul
    - std::vector::push_back
    - auto::is_identity
    - rng
    - auto::serialize_uncompressed
    - Botan::EC_Group::from_name
    - check_expr_is_g
    - Test::Result::test_eq
    - Botan::EC_AffinePoint::identity
    - Botan::EC_Scalar::random
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:266,1
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:268,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:269,1
    - Dst: Botan_Tests::ECC_Scalar_Arithmetic_Tests::test_scalar_arith
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:272,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 276
    functionName: Botan_Tests::ECC_Scalar_Arithmetic_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::ECC_Scalar_Arithmetic_Tests::test_scalar_arith
    - Botan::EC_Group::known_named_groups
    - fuzzer_rng
    - std::vector::push_back
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::one
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:282,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:288,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:292,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:292,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:293,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:297,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:297,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:298,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:298,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:300,1
    - Dst: auto::is_zero
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:300,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:301,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:301,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:302,1
    - Dst: auto::is_zero
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:302,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:305,1
    - Dst: auto::invert
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:305,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:306,1
    - Dst: auto::invert
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:306,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:308,1
    - Dst: auto::invert_vartime
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:308,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:309,1
    - Dst: auto::invert_vartime
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:309,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:314,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:317,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:317,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:317,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:320,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:321,1
    - Dst: Botan::EC_Scalar::deserialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:322,1
    - Dst: auto::invert
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:327,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:328,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:328,1
    - Dst: auto::invert_vartime
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:330,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:331,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:335,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:336,1
    - Dst: auto::invert
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:339,1
    - Dst: auto::invert
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:340,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:342,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:342,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:342,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:343,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:343,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:343,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:346,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:346,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:346,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:347,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:347,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:347,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:348,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:348,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:348,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:349,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:349,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:349,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:353,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:354,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:355,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:360,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:360,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:360,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:364,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:365,1
    - Dst: auto::to_bigint
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:368,1
    - Dst: auto::to_bigint
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:368,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:369,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:369,1
    - Dst: get_order
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:369,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:369,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:371,1
    - Dst: test_lte
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:372,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:372,1
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:374,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:376,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:376,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:376,1
    - Dst: get_order_bytes
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:380,1
    - Dst: randomize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:382,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:384,1
    - Dst: get_order
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:384,1
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:386,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:388,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:388,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:388,1
    - Dst: get_order_bytes
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:388,1
    - Dst: end_timer
      Src: /src/botan/src/tests/test_ecc_pointmul.cpp:391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 3
    argNames:
    - ' result'
    - ' group'
    - ' rng'
    argTypes:
    - Test::Result
    - Botan::EC_Group
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 392
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 392
    functionName: Botan_Tests::ECC_Scalar_Arithmetic_Tests::test_scalar_arith
    functionSourceFile: /src/botan/src/tests/test_ecc_pointmul.cpp
    functionUses: 1
    functionsReached:
    - confirm
    - std::vector<uint8_t>
    - end_timer
    - BOTAN_ASSERT_NOMSG
    - Botan::EC_Scalar::from_bytes_mod_order
    - serialize
    - randomize
    - Botan::EC_Scalar::random
    - auto::negate
    - auto::invert_vartime
    - Botan::EC_Scalar::deserialize
    - get_order
    - auto::invert
    - Botan::BigInt::from_bytes
    - get_order_bytes
    - test_eq
    - auto::to_bigint
    - auto::serialize
    - test_lte
    - auto::is_zero
    - auto::size
    - Botan::EC_Scalar::one
    linkageType: ''
    returnType: void
    signature: "void test_scalar_arith(Test::Result& result,\n                             const
      Botan::EC_Group& group,\n                             Botan::RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: Botan_Tests::FPE_FE1_Tests::FPE_FE1_Tests
    functionSourceFile: /src/botan/src/tests/test_fpe.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FPE_FE1_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_fpe.cpp:22,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_fpe.cpp:23,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_fpe.cpp:24,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/tests/test_fpe.cpp:25,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_fpe.cpp:25,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_fpe.cpp:26,1
    - Dst: Botan::FPE::fe1_encrypt
      Src: /src/botan/src/tests/test_fpe.cpp:30,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_fpe.cpp:32,1
    - Dst: Botan::FPE::fe1_decrypt
      Src: /src/botan/src/tests/test_fpe.cpp:34,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_fpe.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 39
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 39
    functionName: Botan_Tests::FPE_FE1_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_fpe.cpp
    functionUses: 0
    functionsReached:
    - Botan::FPE::fe1_encrypt
    - Botan::FPE::fe1_decrypt
    - Botan::SymmetricKey
    - get_req_bin
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Entropy_Sources::global_sources
      Src: /src/botan/src/tests/test_entropy.cpp:27,1
    - Dst: enabled_sources
      Src: /src/botan/src/tests/test_entropy.cpp:29,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_entropy.cpp:36,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_entropy.cpp:43,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:43,1
    - Dst: SeedCapturing_RNG::samples
      Src: /src/botan/src/tests/test_entropy.cpp:45,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_entropy.cpp:46,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:46,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_entropy.cpp:47,1
    - Dst: SeedCapturing_RNG::samples
      Src: /src/botan/src/tests/test_entropy.cpp:47,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_entropy.cpp:50,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:50,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:53,1
    - Dst: Botan::Compression_Algorithm::create
      Src: /src/botan/src/tests/test_entropy.cpp:59,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_entropy.cpp:66,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:66,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:66,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_entropy.cpp:67,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_entropy.cpp:68,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_entropy.cpp:70,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_entropy.cpp:72,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_entropy.cpp:73,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_entropy.cpp:75,1
    - Dst: what
      Src: /src/botan/src/tests/test_entropy.cpp:75,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_entropy.cpp:82,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:82,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:84,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:84,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/tests/test_entropy.cpp:87,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_entropy.cpp:88,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:88,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:88,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/tests/test_entropy.cpp:89,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_entropy.cpp:90,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:90,1
    - Dst: SeedCapturing_RNG::seed_material
      Src: /src/botan/src/tests/test_entropy.cpp:90,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_entropy.cpp:92,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_entropy.cpp:93,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_entropy.cpp:97,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_entropy.cpp:101,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_entropy.cpp:104,1
    - Dst: what
      Src: /src/botan/src/tests/test_entropy.cpp:104,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_entropy.cpp:112,1
    - Dst: what
      Src: /src/botan/src/tests/test_entropy.cpp:112,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_entropy.cpp:115,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_entropy.cpp:116,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 120
    functionName: Botan_Tests::Entropy_Source_Tests::run
    functionSourceFile: /src/botan/src/tests/test_entropy.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - Test::Result::end_timer
    - Botan::Compression_Algorithm::create
    - std::vector::push_back
    - enabled_sources
    - SeedCapturing_RNG::samples
    - Test::Result::test_note
    - what
    - Botan::secure_vector::end
    - Botan::secure_vector::size
    - Test::Result::test_gte
    - Botan::secure_vector::assign
    - Test::Result::start_timer
    - Botan::secure_vector::insert
    - Botan::Entropy_Sources::global_sources
    - SeedCapturing_RNG::seed_material
    - auto::finish
    - Test::Result::test_failure
    - Test::Result::test_lt
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: Botan_Tests::ECKCDSA_Signature_KAT_Tests::ECKCDSA_Signature_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_eckcdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECKCDSA_Signature_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_eckcdsa.cpp:28,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_eckcdsa.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: Botan_Tests::ECKCDSA_Signature_KAT_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - get_req_str
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_eckcdsa.cpp:32,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_eckcdsa.cpp:33,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_eckcdsa.cpp:34,1
    - Dst: std::make_unique<Botan::ECKCDSA_PrivateKey>
      Src: /src/botan/src/tests/test_eckcdsa.cpp:36,1
    - Dst: Botan_Tests::ECKCDSA_Signature_KAT_Tests::rng
      Src: /src/botan/src/tests/test_eckcdsa.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: Botan_Tests::ECKCDSA_Signature_KAT_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::ECKCDSA_PrivateKey>
    - get_req_str
    - Botan::EC_Group::from_name
    - Botan_Tests::ECKCDSA_Signature_KAT_Tests::rng
    - get_req_bn
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_eckcdsa.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan_Tests::ECKCDSA_Signature_KAT_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_Position_RNG>
      Src: /src/botan/src/tests/test_eckcdsa.cpp:44,1
    - Dst: Botan_Tests::ECKCDSA_Signature_KAT_Tests::rng
      Src: /src/botan/src/tests/test_eckcdsa.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: Botan_Tests::ECKCDSA_Signature_KAT_Tests::test_rng
    functionSourceFile: /src/botan/src/tests/test_eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::ECKCDSA_Signature_KAT_Tests::rng
    - std::make_unique<Fixed_Output_Position_RNG>
    linkageType: ''
    returnType: std::unique_ptr<Botan::RandomNumberGenerator>
    signature: std::unique_ptr<Botan::RandomNumberGenerator> test_rng(const std::vector<uint8_t>&
      nonce) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan_Tests::ECKCDSA_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_eckcdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan_Tests::ECKCDSA_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_eckcdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::EC_Group
      Src: /src/botan/src/tests/test_eckcdsa.cpp:57,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/tests/test_eckcdsa.cpp:58,1
    - Dst: std::make_unique<Botan::ECKCDSA_PublicKey>
      Src: /src/botan/src/tests/test_eckcdsa.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: Botan_Tests::ECKCDSA_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::ECKCDSA_PublicKey>
    - Botan::EC_Group::EC_Group
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:22,1
    - Dst: Botan_Tests::Sodium_API_Tests::aead_chacha20poly1305
      Src: /src/botan/src/tests/test_sodium.cpp:22,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:23,1
    - Dst: Botan_Tests::Sodium_API_Tests::aead_chacha20poly1305_ietf
      Src: /src/botan/src/tests/test_sodium.cpp:23,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:24,1
    - Dst: Botan_Tests::Sodium_API_Tests::aead_xchacha20poly1305
      Src: /src/botan/src/tests/test_sodium.cpp:24,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:25,1
    - Dst: Botan_Tests::Sodium_API_Tests::auth_hmacsha256
      Src: /src/botan/src/tests/test_sodium.cpp:25,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:26,1
    - Dst: Botan_Tests::Sodium_API_Tests::auth_hmacsha512
      Src: /src/botan/src/tests/test_sodium.cpp:26,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:27,1
    - Dst: Botan_Tests::Sodium_API_Tests::auth_hmacsha512256
      Src: /src/botan/src/tests/test_sodium.cpp:27,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:28,1
    - Dst: Botan_Tests::Sodium_API_Tests::auth_poly1305
      Src: /src/botan/src/tests/test_sodium.cpp:28,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:29,1
    - Dst: Botan_Tests::Sodium_API_Tests::box_curve25519xsalsa20poly1305
      Src: /src/botan/src/tests/test_sodium.cpp:29,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:30,1
    - Dst: Botan_Tests::Sodium_API_Tests::hash_sha256
      Src: /src/botan/src/tests/test_sodium.cpp:30,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:31,1
    - Dst: Botan_Tests::Sodium_API_Tests::hash_sha512
      Src: /src/botan/src/tests/test_sodium.cpp:31,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:32,1
    - Dst: Botan_Tests::Sodium_API_Tests::randombytes_buf_deterministic
      Src: /src/botan/src/tests/test_sodium.cpp:32,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:33,1
    - Dst: Botan_Tests::Sodium_API_Tests::secretbox_xsalsa20poly1305
      Src: /src/botan/src/tests/test_sodium.cpp:33,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:34,1
    - Dst: Botan_Tests::Sodium_API_Tests::secretbox_xsalsa20poly1305_detached
      Src: /src/botan/src/tests/test_sodium.cpp:34,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:35,1
    - Dst: Botan_Tests::Sodium_API_Tests::shorthash_siphash24
      Src: /src/botan/src/tests/test_sodium.cpp:35,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:36,1
    - Dst: Botan_Tests::Sodium_API_Tests::stream_chacha20
      Src: /src/botan/src/tests/test_sodium.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:37,1
    - Dst: Botan_Tests::Sodium_API_Tests::stream_chacha20_ietf
      Src: /src/botan/src/tests/test_sodium.cpp:37,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:38,1
    - Dst: Botan_Tests::Sodium_API_Tests::stream_salsa20
      Src: /src/botan/src/tests/test_sodium.cpp:38,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:39,1
    - Dst: Botan_Tests::Sodium_API_Tests::stream_xchacha20
      Src: /src/botan/src/tests/test_sodium.cpp:39,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:40,1
    - Dst: Botan_Tests::Sodium_API_Tests::stream_xsalsa20
      Src: /src/botan/src/tests/test_sodium.cpp:40,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:41,1
    - Dst: Botan_Tests::Sodium_API_Tests::sign_ed25519
      Src: /src/botan/src/tests/test_sodium.cpp:41,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:42,1
    - Dst: Botan_Tests::Sodium_API_Tests::sodium_malloc
      Src: /src/botan/src/tests/test_sodium.cpp:42,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_sodium.cpp:43,1
    - Dst: Botan_Tests::Sodium_API_Tests::sodium_utils
      Src: /src/botan/src/tests/test_sodium.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 46
    functionName: Botan_Tests::Sodium_API_Tests::run
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Sodium_API_Tests::stream_xchacha20
    - Botan_Tests::Sodium_API_Tests::auth_poly1305
    - Botan_Tests::Sodium_API_Tests::stream_chacha20_ietf
    - std::vector::push_back
    - Botan_Tests::Sodium_API_Tests::auth_hmacsha256
    - Botan_Tests::Sodium_API_Tests::stream_xsalsa20
    - Botan_Tests::Sodium_API_Tests::box_curve25519xsalsa20poly1305
    - Botan_Tests::Sodium_API_Tests::secretbox_xsalsa20poly1305
    - Botan_Tests::Sodium_API_Tests::auth_hmacsha512256
    - Botan_Tests::Sodium_API_Tests::sign_ed25519
    - Botan_Tests::Sodium_API_Tests::aead_xchacha20poly1305
    - Botan_Tests::Sodium_API_Tests::randombytes_buf_deterministic
    - Botan_Tests::Sodium_API_Tests::sodium_utils
    - Botan_Tests::Sodium_API_Tests::aead_chacha20poly1305
    - Botan_Tests::Sodium_API_Tests::secretbox_xsalsa20poly1305_detached
    - Botan_Tests::Sodium_API_Tests::stream_chacha20
    - Botan_Tests::Sodium_API_Tests::stream_salsa20
    - Botan_Tests::Sodium_API_Tests::aead_chacha20poly1305_ietf
    - Botan_Tests::Sodium_API_Tests::sodium_malloc
    - Botan_Tests::Sodium_API_Tests::auth_hmacsha512
    - Botan_Tests::Sodium_API_Tests::shorthash_siphash24
    - Botan_Tests::Sodium_API_Tests::hash_sha256
    - Botan_Tests::Sodium_API_Tests::hash_sha512
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/botan/src/tests/test_sodium.cpp:53,1
    - Dst: Botan::Sodium::sodium_free
      Src: /src/botan/src/tests/test_sodium.cpp:55,1
    - Dst: Botan::Sodium::sodium_free
      Src: /src/botan/src/tests/test_sodium.cpp:56,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_sodium.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: Botan_Tests::Sodium_API_Tests::sodium_malloc
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::sodium_free
    - memset
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result sodium_malloc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sodium.cpp:66,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/tests/test_sodium.cpp:66,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sodium.cpp:69,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/tests/test_sodium.cpp:69,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:69,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:69,1
    - Dst: Botan::Sodium::sodium_increment
      Src: /src/botan/src/tests/test_sodium.cpp:70,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:70,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:70,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:71,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sodium.cpp:72,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/tests/test_sodium.cpp:72,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:72,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:72,1
    - Dst: memset
      Src: /src/botan/src/tests/test_sodium.cpp:74,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:74,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:74,1
    - Dst: Botan::Sodium::sodium_increment
      Src: /src/botan/src/tests/test_sodium.cpp:75,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:75,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:75,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:76,1
    - Dst: Botan::Sodium::sodium_increment
      Src: /src/botan/src/tests/test_sodium.cpp:77,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:77,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:77,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:78,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sodium.cpp:80,1
    - Dst: Botan::Sodium::sodium_compare
      Src: /src/botan/src/tests/test_sodium.cpp:80,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:80,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:80,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:80,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sodium.cpp:81,1
    - Dst: Botan::Sodium::sodium_memcmp
      Src: /src/botan/src/tests/test_sodium.cpp:81,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:81,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:81,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:81,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sodium.cpp:84,1
    - Dst: Botan::Sodium::sodium_compare
      Src: /src/botan/src/tests/test_sodium.cpp:84,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:84,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:84,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:84,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sodium.cpp:85,1
    - Dst: Botan::Sodium::sodium_compare
      Src: /src/botan/src/tests/test_sodium.cpp:85,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:85,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:85,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:85,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sodium.cpp:86,1
    - Dst: Botan::Sodium::sodium_memcmp
      Src: /src/botan/src/tests/test_sodium.cpp:86,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:86,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:86,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:86,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sodium.cpp:87,1
    - Dst: Botan::Sodium::sodium_memcmp
      Src: /src/botan/src/tests/test_sodium.cpp:87,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:87,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:87,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:87,1
    - Dst: Botan::Sodium::sodium_add
      Src: /src/botan/src/tests/test_sodium.cpp:89,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:89,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:89,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:89,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:90,1
    - Dst: Botan::Sodium::sodium_add
      Src: /src/botan/src/tests/test_sodium.cpp:91,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:91,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:91,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:91,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:92,1
    - Dst: Botan::Sodium::sodium_add
      Src: /src/botan/src/tests/test_sodium.cpp:93,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:93,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:93,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:93,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:94,1
    - Dst: Botan::Sodium::sodium_add
      Src: /src/botan/src/tests/test_sodium.cpp:95,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:95,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:95,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:95,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 99
    functionName: Botan_Tests::Sodium_API_Tests::sodium_utils
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - Test::Result::confirm
    - Botan::Sodium::sodium_is_zero
    - Botan::Sodium::sodium_increment
    - Botan::Sodium::sodium_compare
    - Botan::Sodium::sodium_memcmp
    - Botan::Sodium::sodium_add
    - memset
    - Test::Result::test_eq
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result sodium_utils()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf_deterministic
      Src: /src/botan/src/tests/test_sodium.cpp:107,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:107,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:107,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: Botan_Tests::Sodium_API_Tests::randombytes_buf_deterministic
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::vector::size
    - Test::Result::test_eq
    - Botan::Sodium::randombytes_buf_deterministic
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result randombytes_buf_deterministic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_hash_sha512
      Src: /src/botan/src/tests/test_sodium.cpp:118,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:118,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: Botan_Tests::Sodium_API_Tests::hash_sha512
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_eq
    - Botan::Sodium::crypto_hash_sha512
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result hash_sha512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_hash_sha256
      Src: /src/botan/src/tests/test_sodium.cpp:132,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:132,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: Botan_Tests::Sodium_API_Tests::hash_sha256
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_eq
    - Botan::Sodium::crypto_hash_sha256
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result hash_sha256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:145,1
    - Dst: Botan::Sodium::crypto_box_seed_keypair
      Src: /src/botan/src/tests/test_sodium.cpp:145,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:145,1
    - Dst: data
      Src: /src/botan/src/tests/test_sodium.cpp:145,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:145,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:146,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:147,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:150,1
    - Dst: Botan::Sodium::crypto_box_seed_keypair
      Src: /src/botan/src/tests/test_sodium.cpp:150,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:150,1
    - Dst: data
      Src: /src/botan/src/tests/test_sodium.cpp:150,1
    - Dst: data
      Src: /src/botan/src/tests/test_sodium.cpp:150,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:151,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:152,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:155,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:158,1
    - Dst: Botan::Sodium::crypto_box_easy
      Src: /src/botan/src/tests/test_sodium.cpp:159,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:160,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:160,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:160,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:160,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:160,1
    - Dst: data
      Src: /src/botan/src/tests/test_sodium.cpp:160,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:162,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:164,1
    - Dst: Botan::Sodium::crypto_box_easy
      Src: /src/botan/src/tests/test_sodium.cpp:165,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:166,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:166,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:166,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:166,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:166,1
    - Dst: data
      Src: /src/botan/src/tests/test_sodium.cpp:166,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:169,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:173,1
    - Dst: Botan::Sodium::crypto_box_open_easy
      Src: /src/botan/src/tests/test_sodium.cpp:174,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:175,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:175,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:175,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:175,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:175,1
    - Dst: data
      Src: /src/botan/src/tests/test_sodium.cpp:175,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:177,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:179,1
    - Dst: Botan::Sodium::crypto_box_open_easy
      Src: /src/botan/src/tests/test_sodium.cpp:180,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:181,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:181,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:181,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:181,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:181,1
    - Dst: data
      Src: /src/botan/src/tests/test_sodium.cpp:181,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 186
    functionName: Botan_Tests::Sodium_API_Tests::box_curve25519xsalsa20poly1305
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - Botan::Sodium::crypto_box_easy
    - data
    - Botan::Sodium::crypto_box_seed_keypair
    - Botan::Sodium::crypto_box_open_easy
    - Test::Result::test_rc_ok
    - Test::Result::test_eq
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result box_curve25519xsalsa20poly1305()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:192,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:194,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:195,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:197,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_keybytes
      Src: /src/botan/src/tests/test_sodium.cpp:197,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:197,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:198,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
      Src: /src/botan/src/tests/test_sodium.cpp:198,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:198,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:200,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_encrypt_detached
      Src: /src/botan/src/tests/test_sodium.cpp:203,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:203,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:204,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:206,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:207,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:208,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:209,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:211,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:212,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:214,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:215,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:216,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:218,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:219,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_decrypt_detached
      Src: /src/botan/src/tests/test_sodium.cpp:220,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:220,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:222,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:223,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:224,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:225,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:226,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:227,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:228,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:230,1
    - Dst: Test::Result::test_rc_fail
      Src: /src/botan/src/tests/test_sodium.cpp:233,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_decrypt_detached
      Src: /src/botan/src/tests/test_sodium.cpp:235,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:235,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:237,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:238,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:239,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:240,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:241,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:242,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:243,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_sodium.cpp:245,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:245,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:245,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:247,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_encrypt
      Src: /src/botan/src/tests/test_sodium.cpp:248,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:248,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:250,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:251,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:252,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:253,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:255,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:256,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:258,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:258,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:259,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:262,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_decrypt
      Src: /src/botan/src/tests/test_sodium.cpp:263,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:263,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:266,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:267,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:268,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:269,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:270,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:271,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 276
    functionName: Botan_Tests::Sodium_API_Tests::aead_chacha20poly1305
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_aead_chacha20poly1305_decrypt
    - std::vector::size
    - Botan::Sodium::crypto_aead_chacha20poly1305_decrypt_detached
    - Botan::Sodium::crypto_aead_chacha20poly1305_encrypt_detached
    - std::vector::resize
    - Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
    - Botan::Sodium::crypto_aead_chacha20poly1305_encrypt
    - Test::Result::test_rc_ok
    - Test::Result::test_eq
    - Botan::Sodium::crypto_aead_chacha20poly1305_keybytes
    - Test::Result::test_rc_fail
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result aead_chacha20poly1305()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:282,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:284,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:285,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:287,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_keybytes
      Src: /src/botan/src/tests/test_sodium.cpp:287,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:287,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:288,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
      Src: /src/botan/src/tests/test_sodium.cpp:288,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:288,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:290,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_encrypt_detached
      Src: /src/botan/src/tests/test_sodium.cpp:293,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:293,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:294,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:296,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:297,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:298,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:299,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:301,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:302,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:304,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:305,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:306,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:308,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:309,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_decrypt_detached
      Src: /src/botan/src/tests/test_sodium.cpp:310,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:310,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:312,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:313,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:314,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:315,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:316,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:317,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:318,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:320,1
    - Dst: Test::Result::test_rc_fail
      Src: /src/botan/src/tests/test_sodium.cpp:323,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_decrypt_detached
      Src: /src/botan/src/tests/test_sodium.cpp:325,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:325,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:327,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:328,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:329,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:330,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:331,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:332,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:333,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_sodium.cpp:335,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:335,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:335,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:337,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_encrypt
      Src: /src/botan/src/tests/test_sodium.cpp:338,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:338,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:340,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:341,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:342,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:343,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:345,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:346,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:348,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:348,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:349,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:352,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_decrypt
      Src: /src/botan/src/tests/test_sodium.cpp:353,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:353,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:356,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:357,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:358,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:359,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:360,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:361,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 366
    functionName: Botan_Tests::Sodium_API_Tests::aead_chacha20poly1305_ietf
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
    - Botan::Sodium::crypto_aead_chacha20poly1305_ietf_encrypt
    - std::vector::size
    - std::vector::resize
    - Botan::Sodium::crypto_aead_chacha20poly1305_ietf_encrypt_detached
    - Botan::Sodium::crypto_aead_chacha20poly1305_ietf_keybytes
    - Botan::Sodium::crypto_aead_chacha20poly1305_ietf_decrypt_detached
    - Test::Result::test_rc_ok
    - Test::Result::test_eq
    - Test::Result::test_rc_fail
    - Botan::hex_decode
    - Botan::Sodium::crypto_aead_chacha20poly1305_ietf_decrypt
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result aead_chacha20poly1305_ietf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:372,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:374,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:375,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:377,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_keybytes
      Src: /src/botan/src/tests/test_sodium.cpp:377,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:377,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:378,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
      Src: /src/botan/src/tests/test_sodium.cpp:378,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:378,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:380,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_encrypt_detached
      Src: /src/botan/src/tests/test_sodium.cpp:383,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:383,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:384,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:386,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:387,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:388,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:389,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:391,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:392,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:394,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:395,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:396,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:398,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:399,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_decrypt_detached
      Src: /src/botan/src/tests/test_sodium.cpp:400,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:400,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:402,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:403,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:404,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:405,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:406,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:407,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:408,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:410,1
    - Dst: Test::Result::test_rc_fail
      Src: /src/botan/src/tests/test_sodium.cpp:413,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_decrypt_detached
      Src: /src/botan/src/tests/test_sodium.cpp:415,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:415,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:417,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:418,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:419,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:420,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:421,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:422,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:423,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_sodium.cpp:425,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:425,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:425,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:427,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_encrypt
      Src: /src/botan/src/tests/test_sodium.cpp:428,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:428,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:430,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:431,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:432,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:433,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:435,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:436,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:438,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:438,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:439,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:442,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_decrypt
      Src: /src/botan/src/tests/test_sodium.cpp:443,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:443,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:446,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:447,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:448,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:449,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:450,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:451,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 456
    functionName: Botan_Tests::Sodium_API_Tests::aead_xchacha20poly1305
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_encrypt
    - std::vector::size
    - Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_encrypt_detached
    - Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_decrypt_detached
    - Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
    - std::vector::resize
    - Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_keybytes
    - Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_decrypt
    - Test::Result::test_rc_ok
    - Test::Result::test_eq
    - Test::Result::test_rc_fail
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result aead_xchacha20poly1305()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:462,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:463,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:465,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:465,1
    - Dst: Botan::Sodium::crypto_auth_hmacsha512_keybytes
      Src: /src/botan/src/tests/test_sodium.cpp:465,1
    - Dst: Botan::Sodium::crypto_auth_hmacsha512
      Src: /src/botan/src/tests/test_sodium.cpp:468,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:468,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:468,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:468,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:468,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:470,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:475,1
    - Dst: Botan::Sodium::crypto_auth_hmacsha512_verify
      Src: /src/botan/src/tests/test_sodium.cpp:476,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:476,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:476,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:476,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:476,1
    - Dst: Test::Result::test_rc_fail
      Src: /src/botan/src/tests/test_sodium.cpp:479,1
    - Dst: Botan::Sodium::crypto_auth_hmacsha512_verify
      Src: /src/botan/src/tests/test_sodium.cpp:482,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:482,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:482,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:482,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 485
    functionName: Botan_Tests::Sodium_API_Tests::auth_hmacsha512
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_auth_hmacsha512_verify
    - Botan::Sodium::crypto_auth_hmacsha512_keybytes
    - std::vector::size
    - Test::Result::test_rc_ok
    - Test::Result::test_eq
    - Test::Result::test_rc_fail
    - Botan::hex_decode
    - Botan::Sodium::crypto_auth_hmacsha512
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result auth_hmacsha512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:491,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:492,1
    - Dst: Botan::Sodium::crypto_auth_hmacsha512256
      Src: /src/botan/src/tests/test_sodium.cpp:495,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:495,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:495,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:495,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:495,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:497,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:499,1
    - Dst: Botan::Sodium::crypto_auth_hmacsha512256_verify
      Src: /src/botan/src/tests/test_sodium.cpp:500,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:500,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:500,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:500,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:500,1
    - Dst: Test::Result::test_rc_fail
      Src: /src/botan/src/tests/test_sodium.cpp:503,1
    - Dst: Botan::Sodium::crypto_auth_hmacsha512256_verify
      Src: /src/botan/src/tests/test_sodium.cpp:506,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:506,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:506,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:506,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 509
    functionName: Botan_Tests::Sodium_API_Tests::auth_hmacsha512256
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - Botan::Sodium::crypto_auth_hmacsha512256_verify
    - Botan::Sodium::crypto_auth_hmacsha512256
    - Test::Result::test_rc_ok
    - Test::Result::test_eq
    - Test::Result::test_rc_fail
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result auth_hmacsha512256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:515,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:516,1
    - Dst: Botan::Sodium::crypto_auth_hmacsha256
      Src: /src/botan/src/tests/test_sodium.cpp:519,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:519,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:519,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:519,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:519,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:521,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:523,1
    - Dst: Botan::Sodium::crypto_auth_hmacsha256_verify
      Src: /src/botan/src/tests/test_sodium.cpp:524,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:524,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:524,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:524,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:524,1
    - Dst: Test::Result::test_rc_fail
      Src: /src/botan/src/tests/test_sodium.cpp:527,1
    - Dst: Botan::Sodium::crypto_auth_hmacsha256_verify
      Src: /src/botan/src/tests/test_sodium.cpp:530,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:530,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:530,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:530,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 533
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 533
    functionName: Botan_Tests::Sodium_API_Tests::auth_hmacsha256
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - Botan::Sodium::crypto_auth_hmacsha256
    - Botan::Sodium::crypto_auth_hmacsha256_verify
    - Test::Result::test_rc_ok
    - Test::Result::test_eq
    - Test::Result::test_rc_fail
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result auth_hmacsha256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_onetimeauth_keybytes
      Src: /src/botan/src/tests/test_sodium.cpp:538,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:543,1
    - Dst: Botan::Sodium::crypto_onetimeauth_poly1305
      Src: /src/botan/src/tests/test_sodium.cpp:544,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:544,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:544,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:544,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:544,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:546,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:548,1
    - Dst: Botan::Sodium::crypto_onetimeauth_poly1305_verify
      Src: /src/botan/src/tests/test_sodium.cpp:550,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:550,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:550,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:550,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:550,1
    - Dst: Test::Result::test_rc_fail
      Src: /src/botan/src/tests/test_sodium.cpp:553,1
    - Dst: Botan::Sodium::crypto_onetimeauth_poly1305_verify
      Src: /src/botan/src/tests/test_sodium.cpp:556,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:556,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:556,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:556,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 559
    functionName: Botan_Tests::Sodium_API_Tests::auth_poly1305
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_onetimeauth_poly1305
    - Botan::Sodium::crypto_onetimeauth_keybytes
    - std::vector::size
    - Botan::Sodium::crypto_onetimeauth_poly1305_verify
    - Test::Result::test_rc_ok
    - Test::Result::test_eq
    - Test::Result::test_rc_fail
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result auth_poly1305()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:564,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:565,1
    - Dst: Botan::Sodium::crypto_shorthash_siphash24
      Src: /src/botan/src/tests/test_sodium.cpp:568,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:568,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:568,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:568,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:568,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 573
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 573
    functionName: Botan_Tests::Sodium_API_Tests::shorthash_siphash24
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - Botan::Sodium::crypto_shorthash_siphash24
    - Test::Result::test_eq
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result shorthash_siphash24()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:583,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305
      Src: /src/botan/src/tests/test_sodium.cpp:584,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:585,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:585,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:585,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:585,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:585,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:587,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:590,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_open
      Src: /src/botan/src/tests/test_sodium.cpp:591,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:592,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:592,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:592,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:592,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:592,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 597
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 597
    functionName: Botan_Tests::Sodium_API_Tests::secretbox_xsalsa20poly1305
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_open
    - Test::Result::test_rc_ok
    - Test::Result::test_eq
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result secretbox_xsalsa20poly1305()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:608,1
    - Dst: Botan::Sodium::crypto_secretbox_detached
      Src: /src/botan/src/tests/test_sodium.cpp:609,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:610,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:610,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:610,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:610,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:610,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:610,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:612,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:613,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:615,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:617,1
    - Dst: Botan::Sodium::crypto_secretbox_open_detached
      Src: /src/botan/src/tests/test_sodium.cpp:618,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:619,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:619,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:619,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:619,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:619,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:619,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 624
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 624
    functionName: Botan_Tests::Sodium_API_Tests::secretbox_xsalsa20poly1305_detached
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - Botan::Sodium::crypto_secretbox_detached
    - Test::Result::test_rc_ok
    - Test::Result::test_eq
    - Botan::Sodium::crypto_secretbox_open_detached
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result secretbox_xsalsa20poly1305_detached()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:632,1
    - Dst: Botan::Sodium::crypto_sign_ed25519_seed_keypair
      Src: /src/botan/src/tests/test_sodium.cpp:633,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:633,1
    - Dst: data
      Src: /src/botan/src/tests/test_sodium.cpp:633,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:633,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:635,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:636,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:644,1
    - Dst: Botan::Sodium::crypto_sign_ed25519_detached
      Src: /src/botan/src/tests/test_sodium.cpp:646,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:646,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:646,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:646,1
    - Dst: data
      Src: /src/botan/src/tests/test_sodium.cpp:646,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sodium.cpp:647,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:649,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_sodium.cpp:654,1
    - Dst: Botan::Sodium::crypto_sign_ed25519_verify_detached
      Src: /src/botan/src/tests/test_sodium.cpp:656,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:656,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:656,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:656,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:656,1
    - Dst: Test::Result::test_rc_fail
      Src: /src/botan/src/tests/test_sodium.cpp:659,1
    - Dst: Botan::Sodium::crypto_sign_ed25519_verify_detached
      Src: /src/botan/src/tests/test_sodium.cpp:662,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:662,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:662,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:662,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 665
    functionName: Botan_Tests::Sodium_API_Tests::sign_ed25519
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_rc_fail
    - std::vector::size
    - data
    - Test::Result::confirm
    - Botan::Sodium::crypto_sign_ed25519_detached
    - Botan::Sodium::crypto_sign_ed25519_seed_keypair
    - Test::Result::test_rc_ok
    - Test::Result::test_eq
    - Botan::Sodium::crypto_sign_ed25519_verify_detached
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result sign_ed25519()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:671,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:672,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:674,1
    - Dst: Botan::Sodium::crypto_stream_salsa20
      Src: /src/botan/src/tests/test_sodium.cpp:677,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:677,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:677,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:677,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:677,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:678,1
    - Dst: Botan::Sodium::crypto_stream_salsa20_xor
      Src: /src/botan/src/tests/test_sodium.cpp:681,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:682,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:682,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:682,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:682,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:682,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:683,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_sodium.cpp:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 686
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 686
    functionName: Botan_Tests::Sodium_API_Tests::stream_salsa20
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - Botan::Sodium::crypto_stream_salsa20
    - Botan::Sodium::crypto_stream_salsa20_xor
    - std::vector<uint8_t>
    - Test::Result::test_eq
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result stream_salsa20()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:692,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:693,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:695,1
    - Dst: Botan::Sodium::crypto_stream_xsalsa20
      Src: /src/botan/src/tests/test_sodium.cpp:698,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:698,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:698,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:698,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:698,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:699,1
    - Dst: Botan::Sodium::crypto_stream_xsalsa20_xor
      Src: /src/botan/src/tests/test_sodium.cpp:702,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:703,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:703,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:703,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:703,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:703,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:704,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_sodium.cpp:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 707
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 707
    functionName: Botan_Tests::Sodium_API_Tests::stream_xsalsa20
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - std::vector<uint8_t>
    - Botan::Sodium::crypto_stream_xsalsa20
    - Test::Result::test_eq
    - Botan::Sodium::crypto_stream_xsalsa20_xor
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result stream_xsalsa20()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:713,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:714,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:716,1
    - Dst: Botan::Sodium::crypto_stream_chacha20
      Src: /src/botan/src/tests/test_sodium.cpp:719,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:719,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:719,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:719,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:719,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:720,1
    - Dst: Botan::Sodium::crypto_stream_chacha20_xor
      Src: /src/botan/src/tests/test_sodium.cpp:723,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:724,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:724,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:724,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:724,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:724,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:725,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_sodium.cpp:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 728
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 728
    functionName: Botan_Tests::Sodium_API_Tests::stream_chacha20
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_stream_chacha20
    - std::vector::size
    - Botan::Sodium::crypto_stream_chacha20_xor
    - std::vector<uint8_t>
    - Test::Result::test_eq
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result stream_chacha20()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:734,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:735,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:737,1
    - Dst: Botan::Sodium::crypto_stream_chacha20_ietf
      Src: /src/botan/src/tests/test_sodium.cpp:740,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:740,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:740,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:740,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:740,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:741,1
    - Dst: Botan::Sodium::crypto_stream_chacha20_ietf_xor
      Src: /src/botan/src/tests/test_sodium.cpp:744,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:745,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:745,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:745,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:745,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:745,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:746,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_sodium.cpp:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 749
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 749
    functionName: Botan_Tests::Sodium_API_Tests::stream_chacha20_ietf
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - Botan::Sodium::crypto_stream_chacha20_ietf_xor
    - std::vector<uint8_t>
    - Test::Result::test_eq
    - Botan::Sodium::crypto_stream_chacha20_ietf
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result stream_chacha20_ietf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:755,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:756,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sodium.cpp:758,1
    - Dst: Botan::Sodium::crypto_stream_xchacha20
      Src: /src/botan/src/tests/test_sodium.cpp:761,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:761,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:761,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:761,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:761,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:762,1
    - Dst: Botan::Sodium::crypto_stream_xchacha20_xor
      Src: /src/botan/src/tests/test_sodium.cpp:765,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:766,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:766,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sodium.cpp:766,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:766,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sodium.cpp:766,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_sodium.cpp:767,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_sodium.cpp:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 770
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 770
    functionName: Botan_Tests::Sodium_API_Tests::stream_xchacha20
    functionSourceFile: /src/botan/src/tests/test_sodium.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - Botan::Sodium::crypto_stream_xchacha20_xor
    - std::vector<uint8_t>
    - Botan::Sodium::crypto_stream_xchacha20
    - Test::Result::test_eq
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result stream_xchacha20()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/tests/test_cmce.cpp:35,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/test_cmce.cpp:35,1
    - Dst: degree
      Src: /src/botan/src/tests/test_cmce.cpp:35,1
    - Dst: degree
      Src: /src/botan/src/tests/test_cmce.cpp:36,1
    - Dst: Botan::load_le<uint16_t>
      Src: /src/botan/src/tests/test_cmce.cpp:37,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_cmce.cpp:37,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/test_cmce.cpp:37,1
    - Dst: degree
      Src: /src/botan/src/tests/test_cmce.cpp:37,1
    - Dst: std::transform
      Src: /src/botan/src/tests/test_cmce.cpp:40,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_cmce.cpp:40,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_cmce.cpp:40,1
    - Dst: std::back_inserter
      Src: /src/botan/src/tests/test_cmce.cpp:40,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/tests/test_cmce.cpp:41,1
    - Dst: Botan::CmceGfElem
      Src: /src/botan/src/tests/test_cmce.cpp:41,1
    - Dst: poly_f
      Src: /src/botan/src/tests/test_cmce.cpp:41,1
    - Dst: Botan::Classic_McEliece_Polynomial
      Src: /src/botan/src/tests/test_cmce.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - bytes
    - ' ring'
    argTypes:
    - std::span<const uint8_t>
    - Botan::Classic_McEliece_Polynomial_Ring
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: Botan_Tests::create_element_from_bytes
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - std::transform
    - Botan::CmceGfElem
    - std::span<const uint8_t>::data
    - Botan::load_le<uint16_t>
    - std::vector::begin
    - std::back_inserter
    - poly_f
    - Botan::Classic_McEliece_Polynomial
    - std::span<const uint8_t>::size
    - std::vector::end
    - Botan::Classic_McEliece_GF
    - BOTAN_ARG_CHECK
    - degree
    - std::vector::data
    linkageType: ''
    returnType: Botan::Classic_McEliece_Polynomial
    signature: "Botan::Classic_McEliece_Polynomial create_element_from_bytes(std::span<const
      uint8_t> bytes,\n                                                             const
      Botan::Classic_McEliece_Polynomial_Ring& ring)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 68
    functionName: Botan_Tests::get_test_instances_all
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::Classic_McEliece_Parameter_Set>
    signature: std::vector<Botan::Classic_McEliece_Parameter_Set> get_test_instances_all()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: Botan_Tests::get_test_instances_min
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::Classic_McEliece_Parameter_Set>
    signature: std::vector<Botan::Classic_McEliece_Parameter_Set> get_test_instances_min()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_cmce.cpp:77,1
    - Dst: Botan_Tests::get_test_instances_all
      Src: /src/botan/src/tests/test_cmce.cpp:78,1
    - Dst: Botan_Tests::get_test_instances_min
      Src: /src/botan/src/tests/test_cmce.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: Botan_Tests::instances_to_test
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::get_test_instances_min
    - Botan_Tests::get_test_instances_all
    - Botan_Tests::Test::run_long_tests
    linkageType: ''
    returnType: std::vector<Botan::Classic_McEliece_Parameter_Set>
    signature: std::vector<Botan::Classic_McEliece_Parameter_Set> instances_to_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/tests/test_cmce.cpp:85,1
    - Dst: Botan_Tests::instances_to_test
      Src: /src/botan/src/tests/test_cmce.cpp:86,1
    - Dst: find
      Src: /src/botan/src/tests/test_cmce.cpp:87,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_cmce.cpp:87,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_cmce.cpp:87,1
    - Dst: auto::parameter_set
      Src: /src/botan/src/tests/test_cmce.cpp:87,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_cmce.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' params_str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: Botan_Tests::skip_cmce_test
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Parameters::create
    - auto::parameter_set
    - auto::begin
    - find
    - auto::end
    - Botan_Tests::instances_to_test
    linkageType: ''
    returnType: bool
    signature: bool skip_cmce_test(const std::string& params_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/tests/test_cmce.cpp:97,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_cmce.cpp:100,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_cmce.cpp:102,1
    - Dst: auto::prg
      Src: /src/botan/src/tests/test_cmce.cpp:109,1
    - Dst: auto::erase
      Src: /src/botan/src/tests/test_cmce.cpp:110,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_cmce.cpp:110,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_cmce.cpp:110,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_cmce.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 115
    functionName: Botan_Tests::CMCE_Utility_Tests::expand_seed_test
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Parameters::create
    - Botan::hex_decode
    - auto::erase
    - Botan::hex_decode_locked
    - Test::Result::test_is_eq
    - auto::begin
    - auto::end
    - auto::prg
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result expand_seed_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/tests/test_cmce.cpp:121,1
    - Dst: Botan::CmceIrreducibleBits
      Src: /src/botan/src/tests/test_cmce.cpp:124,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_cmce.cpp:124,1
    - Dst: Botan::Classic_McEliece_Minimal_Polynomial::from_bytes
      Src: /src/botan/src/tests/test_cmce.cpp:128,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_cmce.cpp:129,1
    - Dst: auto::poly_f
      Src: /src/botan/src/tests/test_cmce.cpp:132,1
    - Dst: auto::poly_ring
      Src: /src/botan/src/tests/test_cmce.cpp:134,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_cmce.cpp:135,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_cmce.cpp:135,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_cmce.cpp:136,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_cmce.cpp:136,1
    - Dst: auto::coef
      Src: /src/botan/src/tests/test_cmce.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 139
    functionName: Botan_Tests::CMCE_Utility_Tests::irreducible_poly_gen_test
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - auto::coef
    - Botan::Classic_McEliece_Parameters::create
    - auto::value
    - auto::has_value
    - Test::Result::confirm
    - auto::poly_f
    - Botan::CmceIrreducibleBits
    - Botan::Classic_McEliece_Minimal_Polynomial::from_bytes
    - Test::Result::test_is_eq
    - auto::poly_ring
    - Botan::hex_decode
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result irreducible_poly_gen_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/tests/test_cmce.cpp:145,1
    - Dst: auto::gf
      Src: /src/botan/src/tests/test_cmce.cpp:147,1
    - Dst: Botan::CmceGfElem
      Src: /src/botan/src/tests/test_cmce.cpp:147,1
    - Dst: auto::inv
      Src: /src/botan/src/tests/test_cmce.cpp:148,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_cmce.cpp:149,1
    - Dst: elem
      Src: /src/botan/src/tests/test_cmce.cpp:149,1
    - Dst: Botan::CmceGfElem
      Src: /src/botan/src/tests/test_cmce.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 152
    functionName: Botan_Tests::CMCE_Utility_Tests::gf_inv_test
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - auto::inv
    - auto::gf
    - Botan::CmceGfElem
    - Botan::Classic_McEliece_Parameters::create
    - elem
    - Test::Result::test_is_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result gf_inv_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/tests/test_cmce.cpp:158,1
    - Dst: auto::poly_ring
      Src: /src/botan/src/tests/test_cmce.cpp:160,1
    - Dst: create_element_from_bytes
      Src: /src/botan/src/tests/test_cmce.cpp:162,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_cmce.cpp:163,1
    - Dst: create_element_from_bytes
      Src: /src/botan/src/tests/test_cmce.cpp:168,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_cmce.cpp:169,1
    - Dst: create_element_from_bytes
      Src: /src/botan/src/tests/test_cmce.cpp:174,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_cmce.cpp:175,1
    - Dst: multiply
      Src: /src/botan/src/tests/test_cmce.cpp:180,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_cmce.cpp:181,1
    - Dst: auto::coef
      Src: /src/botan/src/tests/test_cmce.cpp:181,1
    - Dst: auto::coef
      Src: /src/botan/src/tests/test_cmce.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 184
    functionName: Botan_Tests::CMCE_Utility_Tests::gf_poly_mul_test
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - auto::coef
    - multiply
    - Botan::Classic_McEliece_Parameters::create
    - Test::Result::test_is_eq
    - create_element_from_bytes
    - auto::poly_ring
    - Botan::hex_decode
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result gf_poly_mul_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fill
      Src: /src/botan/src/tests/test_cmce.cpp:191,1
    - Dst: begin
      Src: /src/botan/src/tests/test_cmce.cpp:191,1
    - Dst: end
      Src: /src/botan/src/tests/test_cmce.cpp:191,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_cmce.cpp:191,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_cmce.cpp:205,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_cmce.cpp:207,1
    - Dst: Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
      Src: /src/botan/src/tests/test_cmce.cpp:210,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_cmce.cpp:211,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_cmce.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 214
    functionName: Botan_Tests::CMCE_Utility_Tests::rigged_rng_encryption_test
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - Botan::create_private_key
    - begin
    - Test::Result::test_failure
    - end
    - auto::encrypt
    - std::fill
    - static_cast<uint8_t>
    - Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result rigged_rng_encryption_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CMCE_Utility_Tests::expand_seed_test
      Src: /src/botan/src/tests/test_cmce.cpp:217,1
    - Dst: Botan_Tests::CMCE_Utility_Tests::irreducible_poly_gen_test
      Src: /src/botan/src/tests/test_cmce.cpp:218,1
    - Dst: Botan_Tests::CMCE_Utility_Tests::gf_inv_test
      Src: /src/botan/src/tests/test_cmce.cpp:219,1
    - Dst: Botan_Tests::CMCE_Utility_Tests::gf_poly_mul_test
      Src: /src/botan/src/tests/test_cmce.cpp:220,1
    - Dst: Botan_Tests::CMCE_Utility_Tests::rigged_rng_encryption_test
      Src: /src/botan/src/tests/test_cmce.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: Botan_Tests::CMCE_Utility_Tests::run
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CMCE_Utility_Tests::expand_seed_test
    - Botan_Tests::CMCE_Utility_Tests::irreducible_poly_gen_test
    - Botan_Tests::CMCE_Utility_Tests::gf_poly_mul_test
    - Botan_Tests::CMCE_Utility_Tests::gf_inv_test
    - Botan_Tests::CMCE_Utility_Tests::rigged_rng_encryption_test
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: Botan_Tests::CMCE_Invalid_Test::CMCE_Invalid_Test
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CMCE_Invalid_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/tests/test_cmce.cpp:234,1
    - Dst: Botan::lock
      Src: /src/botan/src/tests/test_cmce.cpp:236,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_cmce.cpp:236,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_cmce.cpp:237,1
    - Dst: Botan::lock
      Src: /src/botan/src/tests/test_cmce.cpp:238,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_cmce.cpp:238,1
    - Dst: std::make_unique<CTR_DRBG_AES256>
      Src: /src/botan/src/tests/test_cmce.cpp:240,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_cmce.cpp:242,1
    - Dst: Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
      Src: /src/botan/src/tests/test_cmce.cpp:245,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_cmce.cpp:246,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_cmce.cpp:248,1
    - Dst: auto::is_pc
      Src: /src/botan/src/tests/test_cmce.cpp:250,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_cmce.cpp:254,1
    - Dst: Botan::lock
      Src: /src/botan/src/tests/test_cmce.cpp:255,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_cmce.cpp:255,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_cmce.cpp:256,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_cmce.cpp:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' params_str'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 262
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 262
    functionName: Botan_Tests::CMCE_Invalid_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan::lock
    - Botan::create_private_key
    - Botan::Classic_McEliece_Parameters::create
    - auto::decrypt
    - auto::is_pc
    - Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
    - Test::Result::test_is_eq
    - std::make_unique<CTR_DRBG_AES256>
    - get_req_bin
    - get_opt_bin
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& params_str, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_test_instances_min
      Src: /src/botan/src/tests/test_cmce.cpp:269,1
    - Dst: std::transform
      Src: /src/botan/src/tests/test_cmce.cpp:272,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_cmce.cpp:272,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_cmce.cpp:272,1
    - Dst: std::back_inserter
      Src: /src/botan/src/tests/test_cmce.cpp:272,1
    - Dst: to_string
      Src: /src/botan/src/tests/test_cmce.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: Botan_Tests::CMCE_Generic_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - std::transform
    - std::back_inserter
    - get_test_instances_min
    - auto::begin
    - to_string
    - auto::end
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::Classic_McEliece_PublicKey>
      Src: /src/botan/src/tests/test_cmce.cpp:282,1
    - Dst: Botan::Classic_McEliece_Parameter_Set::from_string
      Src: /src/botan/src/tests/test_cmce.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_key_bits
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: Botan_Tests::CMCE_Generic_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Parameter_Set::from_string
    - std::make_unique<Botan::Classic_McEliece_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /*provider*/,\n                                                             std::span<const
      uint8_t> raw_key_bits) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: Botan_Tests::CMCE_Generic_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: Botan_Tests::Classic_McEliece_KAT_Tests::Classic_McEliece_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Classic_McEliece_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/tests/test_cmce.cpp:295,1
    - Dst: Botan::Classic_McEliece_Parameter_Set::from_string
      Src: /src/botan/src/tests/test_cmce.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: Botan_Tests::Classic_McEliece_KAT_Tests::get_params
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Parameter_Set::from_string
    - Botan::Classic_McEliece_Parameters::create
    linkageType: ''
    returnType: Botan::Classic_McEliece_Parameters
    signature: Botan::Classic_McEliece_Parameters get_params(const std::string& header)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: skip_cmce_test
      Src: /src/botan/src/tests/test_cmce.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' alg_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: Botan_Tests::Classic_McEliece_KAT_Tests::is_available
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - skip_cmce_test
    linkageType: ''
    returnType: bool
    signature: bool is_available(const std::string& alg_name) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/test_cmce.cpp:302,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/test_cmce.cpp:302,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/tests/test_cmce.cpp:304,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_cmce.cpp:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - value
    - var_type
    argTypes:
    - std::span<const uint8_t>
    - VarType
    constantsTouched: []
    func_position:
      end: 306
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 306
    functionName: Botan_Tests::Classic_McEliece_KAT_Tests::map_value
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - auto::process
    - std::span<const uint8_t>::begin
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> map_value(const std::string&, std::span<const
      uint8_t> value, VarType var_type) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/tests/test_cmce.cpp:309,1
    - Dst: Botan::Classic_McEliece_Parameters::seed_len
      Src: /src/botan/src/tests/test_cmce.cpp:309,1
    - Dst: Fixed_Output_RNG
      Src: /src/botan/src/tests/test_cmce.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: Botan_Tests::Classic_McEliece_KAT_Tests::rng_for_keygen
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - Fixed_Output_RNG
    - random_vec
    - Botan::Classic_McEliece_Parameters::seed_len
    linkageType: ''
    returnType: Fixed_Output_RNG
    signature: Fixed_Output_RNG rng_for_keygen(const std::string&, Botan::RandomNumberGenerator&
      rng) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Classic_McEliece_KAT_Tests::get_params
      Src: /src/botan/src/tests/test_cmce.cpp:318,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_cmce.cpp:324,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/test_cmce.cpp:325,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_cmce.cpp:325,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_cmce.cpp:325,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_cmce.cpp:325,1
    - Dst: Fixed_Output_RNG
      Src: /src/botan/src/tests/test_cmce.cpp:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' alg_name'
    - ' rng'
    argTypes:
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 329
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 329
    functionName: Botan_Tests::Classic_McEliece_KAT_Tests::rng_for_encapsulation
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Classic_McEliece_KAT_Tests::get_params
    - random_vec
    - auto::begin
    - std::vector::insert
    - Fixed_Output_RNG
    - std::vector::end
    - auto::end
    linkageType: ''
    returnType: Fixed_Output_RNG
    signature: "Fixed_Output_RNG rng_for_encapsulation(const std::string& alg_name,\n
      \                                            Botan::RandomNumberGenerator& rng)
      const final"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: Botan_Tests::Classic_McEliece_KAT_Tests::inspect_rng_after_encaps
    functionSourceFile: /src/botan/src/tests/test_cmce.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void inspect_rng_after_encaps(const std::string&, const Fixed_Output_RNG&,
      Test::Result&) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: Botan_Tests::XMSS_Signature_Tests::XMSS_Signature_Tests
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMSS_Signature_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_xmss.cpp:33,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_xmss.cpp:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: Botan_Tests::XMSS_Signature_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan_Tests::Test::run_long_tests
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& /*header*/, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_xmss.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan_Tests::XMSS_Signature_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_xmss.cpp:49,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_xmss.cpp:50,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_xmss.cpp:50,1
    - Dst: std::make_unique<Botan::XMSS_PrivateKey>
      Src: /src/botan/src/tests/test_xmss.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: Botan_Tests::XMSS_Signature_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - std::vector::begin
    - std::make_unique<Botan::XMSS_PrivateKey>
    - get_req_bin
    - std::vector::end
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: Botan_Tests::XMSS_Signature_Verify_Tests::XMSS_Signature_Verify_Tests
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMSS_Signature_Verify_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_xmss.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan_Tests::XMSS_Signature_Verify_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_xmss.cpp:64,1
    - Dst: std::make_unique<Botan::XMSS_PublicKey>
      Src: /src/botan/src/tests/test_xmss.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: Botan_Tests::XMSS_Signature_Verify_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::XMSS_PublicKey>
    - get_req_bin
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - 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: Botan_Tests::XMSS_Signature_Verify_Invalid_Tests::XMSS_Signature_Verify_Invalid_Tests
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMSS_Signature_Verify_Invalid_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_xmss.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Botan_Tests::XMSS_Signature_Verify_Invalid_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_xmss.cpp:78,1
    - Dst: std::make_unique<Botan::XMSS_PublicKey>
      Src: /src/botan/src/tests/test_xmss.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: Botan_Tests::XMSS_Signature_Verify_Invalid_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::XMSS_PublicKey>
    - get_req_bin
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan_Tests::XMSS_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Botan_Tests::XMSS_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Parameters::xmss_algorithm_t
      Src: /src/botan/src/tests/test_xmss.cpp:93,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_xmss.cpp:93,1
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/tests/test_xmss.cpp:93,1
    - Dst: Botan::XMSS_Parameters::XMSS_Parameters
      Src: /src/botan/src/tests/test_xmss.cpp:94,1
    - Dst: Botan::BufferSlicer::copy_as_secure_vector
      Src: /src/botan/src/tests/test_xmss.cpp:95,1
    - Dst: auto::element_size
      Src: /src/botan/src/tests/test_xmss.cpp:95,1
    - Dst: Botan::BufferSlicer::copy_as_secure_vector
      Src: /src/botan/src/tests/test_xmss.cpp:96,1
    - Dst: auto::element_size
      Src: /src/botan/src/tests/test_xmss.cpp:96,1
    - Dst: std::make_unique<Botan::XMSS_PublicKey>
      Src: /src/botan/src/tests/test_xmss.cpp:98,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_xmss.cpp:98,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_xmss.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raw_pk
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: Botan_Tests::XMSS_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Parameters::XMSS_Parameters
    - auto::element_size
    - std::make_unique<Botan::XMSS_PublicKey>
    - Botan::XMSS_Parameters::xmss_algorithm_t
    - Botan::BufferSlicer::take
    - std::move
    - Botan::load_be
    - Botan::BufferSlicer::copy_as_secure_vector
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      /* keygen_params */,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Botan_Tests::XMSS_Keygen_Reference_Test::XMSS_Keygen_Reference_Test
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMSS_Keygen_Reference_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_xmss.cpp:113,1
    - Dst: Fixed_Output_RNG::add_entropy
      Src: /src/botan/src/tests/test_xmss.cpp:116,1
    - Dst: data
      Src: /src/botan/src/tests/test_xmss.cpp:116,1
    - Dst: size
      Src: /src/botan/src/tests/test_xmss.cpp:116,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_xmss.cpp:120,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_xmss.cpp:120,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_xmss.cpp:121,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_xmss.cpp:121,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_xmss.cpp:122,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_xmss.cpp:122,1
    - Dst: Botan::XMSS_Parameters::xmss_id_from_string
      Src: /src/botan/src/tests/test_xmss.cpp:124,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_xmss.cpp:124,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xmss.cpp:127,1
    - Dst: Botan::XMSS_PrivateKey::raw_private_key
      Src: /src/botan/src/tests/test_xmss.cpp:127,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_xmss.cpp:127,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xmss.cpp:128,1
    - Dst: Botan::XMSS_PrivateKey::raw_public_key
      Src: /src/botan/src/tests/test_xmss.cpp:128,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_xmss.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: Botan_Tests::XMSS_Keygen_Reference_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - Botan::XMSS_PrivateKey::raw_private_key
    - get_req_str
    - Botan::XMSS_PrivateKey::raw_public_key
    - data
    - size
    - add_entropy
    - Fixed_Output_RNG::add_entropy
    - get_req_bin
    - Test::Result::test_eq
    - Botan::XMSS_Parameters::xmss_id_from_string
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string&, const VarMap& vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Parameters::XMSS_Parameters
      Src: /src/botan/src/tests/test_xmss.cpp:135,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_xmss.cpp:135,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_xmss.cpp:136,1
    - Dst: auto::hash_function_name
      Src: /src/botan/src/tests/test_xmss.cpp:136,1
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_xmss.cpp:140,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_xmss.cpp:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 151
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 151
    functionName: Botan_Tests::XMSS_Keygen_Reference_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::run_long_tests
    - get_req_str
    - auto::hash_function_name
    - Botan::HashFunction::create
    - Botan::XMSS_Parameters::XMSS_Parameters
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& /*header*/, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_xmss.cpp:155,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_xmss.cpp:158,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_xmss.cpp:161,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_xmss.cpp:164,1
    - Dst: require
      Src: /src/botan/src/tests/test_xmss.cpp:167,1
    - Dst: Botan::XMSS_PrivateKey::remaining_operations
      Src: /src/botan/src/tests/test_xmss.cpp:167,1
    - Dst: sign_something
      Src: /src/botan/src/tests/test_xmss.cpp:169,1
    - Dst: require
      Src: /src/botan/src/tests/test_xmss.cpp:171,1
    - Dst: Botan::XMSS_PrivateKey::remaining_operations
      Src: /src/botan/src/tests/test_xmss.cpp:171,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_xmss.cpp:174,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_xmss.cpp:175,1
    - Dst: require
      Src: /src/botan/src/tests/test_xmss.cpp:182,1
    - Dst: Botan::XMSS_PrivateKey::remaining_operations
      Src: /src/botan/src/tests/test_xmss.cpp:182,1
    - Dst: sign_something
      Src: /src/botan/src/tests/test_xmss.cpp:184,1
    - Dst: require
      Src: /src/botan/src/tests/test_xmss.cpp:186,1
    - Dst: Botan::XMSS_PrivateKey::remaining_operations
      Src: /src/botan/src/tests/test_xmss.cpp:186,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_xmss.cpp:187,1
    - Dst: sign_something
      Src: /src/botan/src/tests/test_xmss.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 189
    functionName: Botan_Tests::xmss_statefulness
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan::XMSS_PrivateKey::remaining_operations
    - sign_something
    - Botan::PK_Signer::sign_message
    - require
    - test_throws
    - Botan_Tests::Test::new_rng
    - Botan::hex_decode
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> xmss_statefulness()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_xmss.cpp:192,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_xmss.cpp:198,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_xmss.cpp:204,1
    - Dst: Botan::XMSS_PrivateKey::XMSS_PrivateKey
      Src: /src/botan/src/tests/test_xmss.cpp:277,1
    - Dst: Botan::XMSS_PublicKey::XMSS_PublicKey
      Src: /src/botan/src/tests/test_xmss.cpp:279,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_xmss.cpp:281,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_xmss.cpp:284,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_xmss.cpp:287,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_xmss.cpp:290,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_xmss.cpp:293,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_xmss.cpp:294,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_xmss.cpp:297,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_xmss.cpp:300,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_xmss.cpp:301,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_xmss.cpp:304,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_xmss.cpp:307,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_xmss.cpp:310,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_xmss.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 314
    functionName: Botan_Tests::xmss_legacy_private_key
    functionSourceFile: /src/botan/src/tests/test_xmss.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan::XMSS_PrivateKey::XMSS_PrivateKey
    - Botan::PK_Signer::sign_message
    - Botan::PK_Verifier::verify_message
    - Botan::XMSS_PublicKey::XMSS_PublicKey
    - confirm
    - Botan_Tests::Test::new_rng
    - Botan::hex_decode
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> xmss_legacy_private_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_Tests::SIV_Tests::SIV_Tests
    functionSourceFile: /src/botan/src/tests/test_siv.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIV_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_siv.cpp:25,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_siv.cpp:26,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_siv.cpp:27,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_siv.cpp:28,1
    - Dst: Botan::split_on
      Src: /src/botan/src/tests/test_siv.cpp:29,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_siv.cpp:29,1
    - Dst: Botan::AEAD_Mode::create
      Src: /src/botan/src/tests/test_siv.cpp:35,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_siv.cpp:38,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_siv.cpp:42,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_siv.cpp:44,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_siv.cpp:45,1
    - Dst: auto::set_associated_data_n
      Src: /src/botan/src/tests/test_siv.cpp:46,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_siv.cpp:49,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_siv.cpp:49,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_siv.cpp:50,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_siv.cpp:51,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_siv.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 56
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 56
    functionName: Botan_Tests::SIV_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_siv.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - Test::Result::test_note
    - get_req_str
    - std::vector::size
    - auto::finish
    - std::vector::begin
    - auto::set_key
    - Botan::AEAD_Mode::create
    - Botan::split_on
    - get_req_bin
    - get_opt_bin
    - std::vector::end
    - Test::Result::test_eq
    - auto::set_associated_data_n
    - Botan::hex_decode
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_uri.cpp:23,1
    - Dst: Botan::URI::type
      Src: /src/botan/src/tests/test_uri.cpp:23,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_uri.cpp:24,1
    - Dst: Botan::URI::host
      Src: /src/botan/src/tests/test_uri.cpp:24,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_uri.cpp:25,1
    - Dst: Botan::URI::port
      Src: /src/botan/src/tests/test_uri.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: Botan_Tests::URI_Tests::test_uri_ctor
    functionSourceFile: /src/botan/src/tests/test_uri.cpp
    functionUses: 0
    functionsReached:
    - Botan::URI::port
    - Test::Result::confirm
    - Test::Result::test_eq
    - Botan::URI::host
    - Botan::URI::type
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_uri_ctor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_uri.cpp:32,1
    - Dst: Botan::URI
      Src: /src/botan/src/tests/test_uri.cpp:32,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_uri.cpp:33,1
    - Dst: Botan::URI
      Src: /src/botan/src/tests/test_uri.cpp:33,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_uri.cpp:34,1
    - Dst: Botan::URI
      Src: /src/botan/src/tests/test_uri.cpp:34,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_uri.cpp:35,1
    - Dst: Botan::URI
      Src: /src/botan/src/tests/test_uri.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: Botan_Tests::URI_Tests::test_uri_tostring
    functionSourceFile: /src/botan/src/tests/test_uri.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan::URI
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_uri_tostring()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_uri.cpp:58,1
    - Dst: host
      Src: /src/botan/src/tests/test_uri.cpp:58,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_uri.cpp:59,1
    - Dst: port
      Src: /src/botan/src/tests/test_uri.cpp:59,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_uri.cpp:63,1
    - Dst: Botan::URI::from_ipv4
      Src: /src/botan/src/tests/test_uri.cpp:63,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_uri.cpp:66,1
    - Dst: Botan::URI::from_ipv6
      Src: /src/botan/src/tests/test_uri.cpp:66,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_uri.cpp:69,1
    - Dst: Botan::URI::from_domain
      Src: /src/botan/src/tests/test_uri.cpp:69,1
    - Dst: Botan::URI::from_any
      Src: /src/botan/src/tests/test_uri.cpp:72,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_uri.cpp:73,1
    - Dst: auto::type
      Src: /src/botan/src/tests/test_uri.cpp:73,1
    - Dst: test_URI
      Src: /src/botan/src/tests/test_uri.cpp:74,1
    - Dst: test_URI
      Src: /src/botan/src/tests/test_uri.cpp:76,1
    - Dst: Botan::URI::from_domain
      Src: /src/botan/src/tests/test_uri.cpp:76,1
    - Dst: test_URI
      Src: /src/botan/src/tests/test_uri.cpp:78,1
    - Dst: Botan::URI::from_ipv4
      Src: /src/botan/src/tests/test_uri.cpp:78,1
    - Dst: test_URI
      Src: /src/botan/src/tests/test_uri.cpp:80,1
    - Dst: Botan::URI::from_ipv6
      Src: /src/botan/src/tests/test_uri.cpp:80,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_uri.cpp:86,1
    - Dst: Botan::URI::from_ipv6
      Src: /src/botan/src/tests/test_uri.cpp:86,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_uri.cpp:87,1
    - Dst: Botan::URI::from_ipv6
      Src: /src/botan/src/tests/test_uri.cpp:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 90
    functionName: Botan_Tests::URI_Tests::test_uri_parsing
    functionSourceFile: /src/botan/src/tests/test_uri.cpp
    functionUses: 0
    functionsReached:
    - Botan::URI::from_any
    - Test::Result::test_throws
    - Test::Result::test_int_eq
    - Botan::URI::from_domain
    - Test::Result::confirm
    - host
    - Botan::URI::from_ipv4
    - test_URI
    - Test::Result::test_eq
    - port
    - auto::type
    - Botan::URI::from_ipv6
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_uri_parsing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::URI::from_any
      Src: /src/botan/src/tests/test_uri.cpp:107,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_uri.cpp:108,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_uri.cpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 114
    functionName: Botan_Tests::URI_Tests::test_uri_parsing_invalid
    functionSourceFile: /src/botan/src/tests/test_uri.cpp
    functionUses: 0
    functionsReached:
    - Botan::URI::from_any
    - Test::Result::test_success
    - Test::Result::test_failure
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_uri_parsing_invalid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_uri.cpp:120,1
    - Dst: Botan_Tests::URI_Tests::test_uri_ctor
      Src: /src/botan/src/tests/test_uri.cpp:120,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_uri.cpp:121,1
    - Dst: Botan_Tests::URI_Tests::test_uri_tostring
      Src: /src/botan/src/tests/test_uri.cpp:121,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_uri.cpp:122,1
    - Dst: Botan_Tests::URI_Tests::test_uri_parsing
      Src: /src/botan/src/tests/test_uri.cpp:122,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_uri.cpp:123,1
    - Dst: Botan_Tests::URI_Tests::test_uri_parsing_invalid
      Src: /src/botan/src/tests/test_uri.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: Botan_Tests::URI_Tests::run
    functionSourceFile: /src/botan/src/tests/test_uri.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::URI_Tests::test_uri_tostring
    - Botan_Tests::URI_Tests::test_uri_ctor
    - Botan_Tests::URI_Tests::test_uri_parsing
    - Botan_Tests::URI_Tests::test_uri_parsing_invalid
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan_Tests::Test_Error::Test_Error
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Error(const std::string& what)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan_Tests::Test_Error::error_type
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::ErrorType
    signature: Botan::ErrorType error_type() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: Botan_Tests::Test_Aborted::Test_Aborted
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Aborted(const std::string& what)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Botan_Tests::Test_Options::Test_Options
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Options()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/tests/tests.h:88,1
    - Dst: end
      Src: /src/botan/src/tests/tests.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 22
    argNames:
    - ' requested_tests'
    - ' skip_tests'
    - ' data_dir'
    - ' pkcs11_lib'
    - ' provider'
    - ' tpm2_tcti_name'
    - ' tpm2_tcti_conf'
    - tpm2_persistent_rsa_handle
    - tpm2_persistent_ecc_handle
    - ' tpm2_persistent_auth_value'
    - ' drbg_seed'
    - ' xml_results_dir'
    - ' report_properties'
    - test_runs
    - test_threads
    - verbose
    - log_success
    - run_online_tests
    - run_long_tests
    - run_memory_intensive_tests
    - abort_on_first_fail
    - no_stdout
    argTypes:
    - std::vector<std::string>
    - std::vector<std::string>
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - size_t
    - size_t
    - std::string
    - std::string
    - std::string
    - std::vector<std::string>
    - size_t
    - size_t
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 108
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 108
    functionName: Botan_Tests::Test_Options::Test_Options
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void Test_Options(const std::vector<std::string>& requested_tests,\n
      \                  const std::vector<std::string>& skip_tests,\n                   const
      std::string& data_dir,\n                   const std::string& pkcs11_lib,\n
      \                  const std::string& provider,\n                   const std::string&
      tpm2_tcti_name,\n                   const std::string& tpm2_tcti_conf,\n                   size_t
      tpm2_persistent_rsa_handle,\n                   size_t tpm2_persistent_ecc_handle,\n
      \                  const std::string& tpm2_persistent_auth_value,\n                   const
      std::string& drbg_seed,\n                   const std::string& xml_results_dir,\n
      \                  const std::vector<std::string>& report_properties,\n                   size_t
      test_runs,\n                   size_t test_threads,\n                   bool
      verbose,\n                   bool log_success,\n                   bool run_online_tests,\n
      \                  bool run_long_tests,\n                   bool run_memory_intensive_tests,\n
      \                  bool abort_on_first_fail,\n                   bool no_stdout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: '& requested_tests() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & requested_tests() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: '& skip_tests() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> & skip_tests() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: '& data_dir() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & data_dir() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: '& pkcs11_lib() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & pkcs11_lib() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: '& provider() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: '& tpm2_tcti_name() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> & tpm2_tcti_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: '& tpm2_tcti_conf() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> & tpm2_tcti_conf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/tests.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: Botan_Tests::Test_Options::tpm2_persistent_rsa_handle
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t tpm2_persistent_rsa_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/tests.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: Botan_Tests::Test_Options::tpm2_persistent_ecc_handle
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t tpm2_persistent_ecc_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/tests/tests.h:129,1
    - Dst: data
      Src: /src/botan/src/tests/tests.h:129,1
    - Dst: size
      Src: /src/botan/src/tests/tests.h:130,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/tests.h:131,1
    - Dst: std::span::begin
      Src: /src/botan/src/tests/tests.h:131,1
    - Dst: std::span::end
      Src: /src/botan/src/tests/tests.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: Botan_Tests::Test_Options::tpm2_persistent_auth_value
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Botan::cast_char_ptr_to_uint8
    - data
    - std::span::end
    - size
    - std::vector<uint8_t>
    - std::span::begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> tpm2_persistent_auth_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: '& drbg_seed() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & drbg_seed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: '& xml_results_dir() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & xml_results_dir() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: Botan_Tests::Test_Options::test_runs
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t test_runs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: Botan_Tests::Test_Options::test_threads
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t test_threads() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: Botan_Tests::Test_Options::log_success
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool log_success() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: Botan_Tests::Test_Options::run_online_tests
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_online_tests() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Botan_Tests::Test_Options::run_long_tests
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_long_tests() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: Botan_Tests::Test_Options::run_memory_intensive_tests
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_memory_intensive_tests() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: Botan_Tests::Test_Options::abort_on_first_fail
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool abort_on_first_fail() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: Botan_Tests::Test_Options::no_stdout
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool no_stdout() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: Botan_Tests::Test_Options::verbose
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool verbose() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/tests.h:235,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/tests.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - who
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: Botan_Tests::Test::Result::Result
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - std::move
    linkageType: ''
    returnType: void
    signature: void Result(std::string who)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: Botan_Tests::Test::Result::tests_passed
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tests_passed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/tests.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 245
    functionName: Botan_Tests::Test::Result::tests_failed
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t tests_failed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::tests_passed
      Src: /src/botan/src/tests/tests.h:247,1
    - Dst: Botan_Tests::Test::Result::tests_failed
      Src: /src/botan/src/tests/tests.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: Botan_Tests::Test::Result::tests_run
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::tests_passed
    - Botan_Tests::Test::Result::tests_failed
    linkageType: ''
    returnType: size_t
    signature: size_t tests_run() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::tests_run
      Src: /src/botan/src/tests/tests.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: Botan_Tests::Test::Result::any_results
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::tests_run
    linkageType: ''
    returnType: bool
    signature: bool any_results() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: '& who() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & who() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: '& failures() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & failures() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: '& notes() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & notes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::nanoseconds
      Src: /src/botan/src/tests/tests.h:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 263
    functionName: Botan_Tests::Test::Result::elapsed_time
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::nanoseconds
    linkageType: ''
    returnType: std::optional<std::chrono::nanoseconds>
    signature: std::optional<std::chrono::nanoseconds> elapsed_time() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: '& timestamp() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point & timestamp() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::test_failure
      Src: /src/botan/src/tests/tests.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' who'
    - ' what'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: Botan_Tests::Test::Result::Failure
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Result::test_failure
    linkageType: ''
    returnType: Result
    signature: Result Failure(const std::string& who, const std::string& what)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::test_note
      Src: /src/botan/src/tests/tests.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' who'
    - ' what'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: Botan_Tests::Test::Result::Note
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Result::test_note
    linkageType: ''
    returnType: Result
    signature: Result Note(const std::string& who, const std::string& what)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::tests_failed
      Src: /src/botan/src/tests/tests.h:286,1
    - Dst: Result::test_failure
      Src: /src/botan/src/tests/tests.h:288,1
    - Dst: who
      Src: /src/botan/src/tests/tests.h:291,1
    - Dst: Result::test_note
      Src: /src/botan/src/tests/tests.h:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - expecting_failure
    - ' result'
    argTypes:
    - bool
    - Test::Result
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: Botan_Tests::Test::Result::OfExpectedFailure
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::tests_failed
    - Result::test_note
    - Result::test_failure
    - who
    linkageType: ''
    returnType: Result
    signature: Result OfExpectedFailure(bool expecting_failure, const Test::Result&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/tests.h:303,1
    - Dst: Botan_Tests::Test::Result::test_note
      Src: /src/botan/src/tests/tests.h:304,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/tests.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' who'
    - ' vec'
    argTypes:
    - std::string
    - std::vector<uint8_t, Alloc>
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: Botan_Tests::Test::Result::test_note
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - Botan_Tests::Test::Result::test_note
    - Botan::hex_encode
    linkageType: ''
    returnType: void
    signature: void test_note(const std::string& who, const std::vector<uint8_t, Alloc>&
      vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_failure
      Src: /src/botan/src/tests/tests.h:319,1
    - Dst: data
      Src: /src/botan/src/tests/tests.h:319,1
    - Dst: size
      Src: /src/botan/src/tests/tests.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' what'
    - ' buf'
    argTypes:
    - std::string
    - std::vector<uint8_t, Alloc>
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: Botan_Tests::Test::Result::test_failure
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 1
    functionsReached:
    - data
    - size
    - Botan_Tests::Test::Result::test_failure
    linkageType: ''
    returnType: void
    signature: void test_failure(const std::string& what, const std::vector<uint8_t,
      Alloc>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_eq
      Src: /src/botan/src/tests/tests.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' what'
    - expr
    argTypes:
    - std::string
    - bool
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: Botan_Tests::Test::Result::confirm
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::test_eq
    linkageType: ''
    returnType: bool
    signature: bool confirm(const std::string& what, bool expr, bool expected = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::confirm
      Src: /src/botan/src/tests/tests.h:331,1
    - Dst: Test_Aborted
      Src: /src/botan/src/tests/tests.h:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' what'
    - expr
    argTypes:
    - std::string
    - bool
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: Botan_Tests::Test::Result::require
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Test_Aborted
    - Botan_Tests::Test::Result::confirm
    linkageType: ''
    returnType: void
    signature: void require(const std::string& what, bool expr, bool expected = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_is_eq
      Src: /src/botan/src/tests/tests.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' produced'
    - ' expected'
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: Botan_Tests::Test::Result::test_is_eq
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 1
    functionsReached:
    - Botan_Tests::Test::Result::test_is_eq
    linkageType: ''
    returnType: bool
    signature: bool test_is_eq(const T& produced, const T& expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_success
      Src: /src/botan/src/tests/tests.h:348,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.h:348,1
    - Dst: Botan_Tests::Test::Result::to_string
      Src: /src/botan/src/tests/tests.h:350,1
    - Dst: Botan_Tests::Test::Result::to_string
      Src: /src/botan/src/tests/tests.h:350,1
    - Dst: Botan_Tests::Test::Result::test_failure
      Src: /src/botan/src/tests/tests.h:352,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.h:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ' what'
    - ' produced'
    - ' expected'
    argTypes:
    - std::string
    - T
    - T
    constantsTouched: []
    func_position:
      end: 354
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 354
    functionName: Botan_Tests::Test::Result::test_is_eq
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 1
    functionsReached:
    - std::ostringstream::str
    - test_success
    - Botan_Tests::Test::Result::test_failure
    - Botan_Tests::Test::Result::to_string
    linkageType: ''
    returnType: bool
    signature: bool test_is_eq(const std::string& what, const T& produced, const T&
      expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_failure
      Src: /src/botan/src/tests/tests.h:359,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.h:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' what'
    - ' ptr'
    argTypes:
    - std::string
    - T
    constantsTouched: []
    func_position:
      end: 363
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 363
    functionName: Botan_Tests::Test::Result::test_not_null
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - test_success
    - Botan_Tests::Test::Result::test_failure
    linkageType: ''
    returnType: bool
    signature: bool test_not_null(const std::string& what, const T& ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_failure
      Src: /src/botan/src/tests/tests.h:368,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.h:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' what'
    - val
    argTypes:
    - std::string
    - std::optional<T>
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: Botan_Tests::Test::Result::test_not_nullopt
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - test_success
    - Botan_Tests::Test::Result::test_failure
    linkageType: ''
    returnType: bool
    signature: bool test_not_nullopt(const std::string& what, std::optional<T> val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_eq
      Src: /src/botan/src/tests/tests.h:391,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/tests.h:391,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/tests.h:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - what
    argTypes:
    - I1
    - I2
    - char*
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: Botan_Tests::Test::Result::test_int_eq
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - Botan_Tests::Test::Result::test_eq
    linkageType: ''
    returnType: bool
    signature: bool test_int_eq(I1 x, I2 y, const char* what)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_eq
      Src: /src/botan/src/tests/tests.h:396,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/tests.h:396,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/tests.h:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - x
    - y
    argTypes:
    - std::string
    - I1
    - I2
    constantsTouched: []
    func_position:
      end: 397
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionName: Botan_Tests::Test::Result::test_int_eq
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - Botan_Tests::Test::Result::test_eq
    linkageType: ''
    returnType: bool
    signature: bool test_int_eq(const std::string& what, I1 x, I2 y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/tests/tests.h:401,1
    - Dst: has_value
      Src: /src/botan/src/tests/tests.h:401,1
    - Dst: Botan_Tests::Test::Result::test_failure
      Src: /src/botan/src/tests/tests.h:404,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.h:404,1
    - Dst: has_value
      Src: /src/botan/src/tests/tests.h:405,1
    - Dst: has_value
      Src: /src/botan/src/tests/tests.h:405,1
    - Dst: Botan_Tests::Test::Result::test_is_eq
      Src: /src/botan/src/tests/tests.h:406,1
    - Dst: value
      Src: /src/botan/src/tests/tests.h:406,1
    - Dst: value
      Src: /src/botan/src/tests/tests.h:406,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.h:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' what'
    - ' a'
    - ' b'
    argTypes:
    - std::string
    - std::optional<T>
    - std::optional<T>
    constantsTouched: []
    func_position:
      end: 411
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 411
    functionName: Botan_Tests::Test::Result::test_eq
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 3
    functionsReached:
    - std::ostringstream::str
    - Botan_Tests::Test::Result::test_failure
    - value
    - Botan_Tests::Test::Result::test_is_eq
    - has_value
    - test_success
    linkageType: ''
    returnType: bool
    signature: bool test_eq(const std::string& what, const std::optional<T>& a, const
      std::optional<T>& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_failure
      Src: /src/botan/src/tests/tests.h:427,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.h:427,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.h:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' func'
    - rc
    argTypes:
    - std::string
    - T
    constantsTouched: []
    func_position:
      end: 431
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 431
    functionName: Botan_Tests::Test::Result::test_rc_ok
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - Botan_Tests::Test::Result::test_failure
    - test_success
    linkageType: ''
    returnType: bool
    signature: bool test_rc_ok(const std::string& func, T rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_failure
      Src: /src/botan/src/tests/tests.h:442,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.h:442,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.h:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' func'
    - ' why'
    - rc
    argTypes:
    - std::string
    - std::string
    - T
    constantsTouched: []
    func_position:
      end: 446
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 446
    functionName: Botan_Tests::Test::Result::test_rc_fail
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - Botan_Tests::Test::Result::test_failure
    - test_success
    linkageType: ''
    returnType: bool
    signature: bool test_rc_fail(const std::string& func, const std::string& why,
      T rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_eq
      Src: /src/botan/src/tests/tests.h:481,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/tests.h:481,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/tests.h:481,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/tests.h:481,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/tests.h:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 482
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 482
    functionName: Botan_Tests::Test::Result::test_eq
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 4
    functionsReached:
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - Botan_Tests::Test::Result::test_eq
    linkageType: ''
    returnType: bool
    signature: "bool test_eq(const std::string& what,\n                         std::span<const
      uint8_t> produced,\n                         std::span<const uint8_t> expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_eq
      Src: /src/botan/src/tests/tests.h:488,1
    - Dst: c_str
      Src: /src/botan/src/tests/tests.h:489,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/tests.h:489,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/tests.h:489,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/tests.h:489,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/tests.h:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' producer'
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - std::string
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 490
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 490
    functionName: Botan_Tests::Test::Result::test_eq
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 5
    functionsReached:
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - c_str
    - Botan_Tests::Test::Result::test_eq
    linkageType: ''
    returnType: bool
    signature: "bool test_eq(const std::string& producer,\n                         const
      std::string& what,\n                         std::span<const uint8_t> produced,\n
      \                        std::span<const uint8_t> expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/tests.h:493,1
    - Dst: Botan_Tests::Test::Result::test_eq
      Src: /src/botan/src/tests/tests.h:494,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/tests.h:494,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/tests.h:494,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/tests.h:494,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/tests.h:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected_hex
    argTypes:
    - std::string
    - std::span<const uint8_t>
    - char*
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: Botan_Tests::Test::Result::test_eq
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 6
    functionsReached:
    - std::vector::size
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - Botan::hex_decode
    - Botan_Tests::Test::Result::test_eq
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: bool test_eq(const std::string& what, std::span<const uint8_t> produced,
      const char* expected_hex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::test_ne
      Src: /src/botan/src/tests/tests.h:500,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/tests.h:500,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/tests.h:500,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/tests.h:500,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/tests.h:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 501
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 501
    functionName: Botan_Tests::Test::Result::test_ne
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 1
    functionsReached:
    - Botan_Tests::Test::Result::test_ne
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: bool
    signature: "bool test_ne(const std::string& what,\n                         std::span<const
      uint8_t> produced,\n                         std::span<const uint8_t> expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/tests.h:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fn
    argTypes:
    - std::function<void()>
    constantsTouched: []
    func_position:
      end: 507
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 507
    functionName: Botan_Tests::Test::Result::ThrowExpectations::ThrowExpectations
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ThrowExpectations(std::function<void()> fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 509
    functionName: Botan_Tests::Test::Result::ThrowExpectations::ThrowExpectations
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ThrowExpectations(const ThrowExpectations&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 510
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 510
    functionName: '& operator=(const ThrowExpectations&)'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThrowExpectations
    signature: ThrowExpectations & operator=(const ThrowExpectations&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 511
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 511
    functionName: Botan_Tests::Test::Result::ThrowExpectations::ThrowExpectations
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ThrowExpectations(ThrowExpectations&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 512
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 512
    functionName: '& operator=(ThrowExpectations&&)'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThrowExpectations
    signature: ThrowExpectations & operator=(ThrowExpectations&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/tests.h:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 514
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 514
    functionName: ~ThrowExpectations()
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void ~ThrowExpectations()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/tests.h:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 520
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 520
    functionName: '& expect_success()'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: ThrowExpectations
    signature: ThrowExpectations & expect_success()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/tests.h:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: '& expect_message(const std::string& message)'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: ThrowExpectations
    signature: ThrowExpectations & expect_message(const std::string& message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/tests.h:530,1
    - Dst: typeid
      Src: /src/botan/src/tests/tests.h:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: Botan_Tests::Test::Result::ThrowExpectations::expect_exception_type
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - typeid
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: ThrowExpectations
    signature: ThrowExpectations & expect_exception_type()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ThrowExpectations
      Src: /src/botan/src/tests/tests.h:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' what'
    - ' fn'
    argTypes:
    - std::string
    - std::function<void()>
    constantsTouched: []
    func_position:
      end: 555
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 555
    functionName: Botan_Tests::Test::Result::test_throws
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - ThrowExpectations
    linkageType: ''
    returnType: bool
    signature: bool test_throws(const std::string& what, const std::function<void()>&
      fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ThrowExpectations
      Src: /src/botan/src/tests/tests.h:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - ' expected'
    - ' fn'
    argTypes:
    - std::string
    - std::string
    - std::function<void()>
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: Botan_Tests::Test::Result::test_throws
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - ThrowExpectations
    linkageType: ''
    returnType: bool
    signature: bool test_throws(const std::string& what, const std::string& expected,
      const std::function<void()>& fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 563
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 563
    functionName: Botan_Tests::Test::Result::set_ns_consumed
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_ns_consumed(uint64_t ns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/tests.h:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - where
    argTypes:
    - CodeLocation
    constantsTouched: []
    func_position:
      end: 568
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 568
    functionName: Botan_Tests::Test::Result::set_code_location
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_code_location(CodeLocation where)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 570
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 570
    functionName: '& code_location() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CodeLocation>
    signature: std::optional<CodeLocation> & code_location() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/tests/tests.h:576,1
    - Dst: Botan_Tests::Test::Result::to_string
      Src: /src/botan/src/tests/tests.h:576,1
    - Dst: value
      Src: /src/botan/src/tests/tests.h:576,1
    - Dst: std::string
      Src: /src/botan/src/tests/tests.h:576,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/tests.h:578,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.h:582,1
    - Dst: Botan_Tests::Test::Result::to_string
      Src: /src/botan/src/tests/tests.h:584,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 588
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 588
    functionName: Botan_Tests::Test::Result::to_string
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 2
    functionsReached:
    - std::ostringstream::str
    - std::string
    - Botan_Tests::Test::Result::to_string
    - Botan::to_string
    - value
    - has_value
    linkageType: ''
    returnType: std::string
    signature: std::string to_string(const T& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 601
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 601
    functionName: ~Test()
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 608
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 608
    functionName: '& test_name() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & test_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 612
    functionName: '& registration_location() const'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CodeLocation>
    signature: std::optional<CodeLocation> & registration_location() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::format_time
      Src: /src/botan/src/tests/tests.h:637,1
    - Dst: std::chrono::nanoseconds::count
      Src: /src/botan/src/tests/tests.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nanoseconds
    argTypes:
    - std::chrono::nanoseconds
    constantsTouched: []
    func_position:
      end: 638
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 638
    functionName: Botan_Tests::Test::format_time
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 1
    functionsReached:
    - std::chrono::nanoseconds::count
    - Botan_Tests::Test::format_time
    linkageType: ''
    returnType: std::string
    signature: std::string format_time(const std::chrono::nanoseconds nanoseconds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/tests.h:647,1
    - Dst: next_byte
      Src: /src/botan/src/tests/tests.h:647,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/tests.h:650,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/tests.h:650,1
    - Dst: randomize
      Src: /src/botan/src/tests/tests.h:651,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/tests.h:651,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/tests.h:654,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' v'
    - ' rng'
    argTypes:
    - std::vector<uint8_t, Alloc>
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 661
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 661
    functionName: Botan_Tests::Test::mutate_vec
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::empty
    - std::vector::resize
    - randomize
    - next_byte
    linkageType: ''
    returnType: std::vector<uint8_t, Alloc>
    signature: "std::vector<uint8_t, Alloc> mutate_vec(const std::vector<uint8_t,
      Alloc>& v,\n                                                    Botan::RandomNumberGenerator&
      rng,\n                                                    bool maybe_resize
      = false,\n                                                    size_t min_offset
      = 0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 667
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 667
    functionName: '& options()'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Test_Options
    signature: Test_Options & options()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: options
      Src: /src/botan/src/tests/tests.h:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 669
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 669
    functionName: Botan_Tests::Test::run_long_tests
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 3
    functionsReached:
    - options
    linkageType: ''
    returnType: bool
    signature: bool run_long_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: options
      Src: /src/botan/src/tests/tests.h:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 671
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 671
    functionName: Botan_Tests::Test::run_memory_intensive_tests
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - options
    linkageType: ''
    returnType: bool
    signature: bool run_memory_intensive_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: options
      Src: /src/botan/src/tests/tests.h:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 673
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 673
    functionName: '& pkcs11_lib()'
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - options
    linkageType: ''
    returnType: std::string
    signature: std::string & pkcs11_lib()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::register_test
      Src: /src/botan/src/tests/tests.h:715,1
    - Dst: std::make_unique<Test_Class>
      Src: /src/botan/src/tests/tests.h:716,1
    - Dst: auto::initialize
      Src: /src/botan/src/tests/tests.h:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' category'
    - ' name'
    - smoke_test
    - needs_serialization
    - ' registration_location'
    argTypes:
    - std::string
    - std::string
    - bool
    - bool
    - CodeLocation
    constantsTouched: []
    func_position:
      end: 720
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 720
    functionName: Botan_Tests::TestClassRegistration::TestClassRegistration
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Test_Class>
    - Botan_Tests::Test::register_test
    - auto::initialize
    linkageType: ''
    returnType: void
    signature: "void TestClassRegistration(const std::string& category,\n                            const
      std::string& name,\n                            bool smoke_test,\n                            bool
      needs_serialization,\n                            const CodeLocation& registration_location)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - TestFn
    constantsTouched: []
    func_position:
      end: 750
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 750
    functionName: Botan_Tests::FnTest::make_variant_vector
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<TestFnVariant>
    signature: std::vector<TestFnVariant> make_variant_vector(TestFn fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::FnTest::make_variant_vector
      Src: /src/botan/src/tests/tests.h:754,1
    - Dst: auto::emplace_back
      Src: /src/botan/src/tests/tests.h:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' fn'
    argTypes:
    - TestFn
    constantsTouched: []
    func_position:
      end: 757
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 757
    functionName: Botan_Tests::FnTest::make_variant_vector
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 1
    functionsReached:
    - auto::emplace_back
    - Botan_Tests::FnTest::make_variant_vector
    linkageType: ''
    returnType: std::vector<TestFnVariant>
    signature: std::vector<TestFnVariant> make_variant_vector(const TestFn& fn, const
      TestFns&... fns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::FnTest::make_variant_vector
      Src: /src/botan/src/tests/tests.h:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 761
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 761
    functionName: Botan_Tests::FnTest::FnTest
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::FnTest::make_variant_vector
    linkageType: ''
    returnType: void
    signature: void FnTest(TestFns... fns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crbegin
      Src: /src/botan/src/tests/tests.h:766,1
    - Dst: crend
      Src: /src/botan/src/tests/tests.h:766,1
    - Dst: std::visit
      Src: /src/botan/src/tests/tests.h:767,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/tests.h:771,1
    - Dst: fn
      Src: /src/botan/src/tests/tests.h:771,1
    - Dst: fn
      Src: /src/botan/src/tests/tests.h:773,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/tests.h:774,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/tests.h:774,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/tests.h:774,1
    - Dst: auto::end
      Src: /src/botan/src/tests/tests.h:774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 781
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 781
    functionName: Botan_Tests::FnTest::run
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - crbegin
    - std::visit
    - auto::end
    - auto::begin
    - std::vector::insert
    - crend
    - std::vector::end
    - std::vector::emplace_back
    - fn
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::register_test
      Src: /src/botan/src/tests/tests.h:796,1
    - Dst: std::make_unique<FnTest>
      Src: /src/botan/src/tests/tests.h:797,1
    - Dst: auto::initialize
      Src: /src/botan/src/tests/tests.h:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' category'
    - ' name'
    - smoke_test
    - needs_serialization
    - registration_location
    argTypes:
    - std::string
    - std::string
    - bool
    - bool
    - CodeLocation
    constantsTouched: []
    func_position:
      end: 801
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 801
    functionName: Botan_Tests::TestFnRegistration::TestFnRegistration
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::register_test
    - std::make_unique<FnTest>
    - auto::initialize
    linkageType: ''
    returnType: void
    signature: "void TestFnRegistration(const std::string& category,\n                         const
      std::string& name,\n                         bool smoke_test,\n                         bool
      needs_serialization,\n                         CodeLocation registration_location,\n
      \                        TestFns... fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::VarMap::clear
      Src: /src/botan/src/tests/tests.h:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 823
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 823
    functionName: Botan_Tests::VarMap::clear
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 1
    functionsReached:
    - Botan_Tests::VarMap::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 825
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 825
    functionName: Botan_Tests::VarMap::add
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add(const std::string& key, const std::string& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/botan/src/tests/tests.h:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 827
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 827
    functionName: Botan_Tests::VarMap::has_key
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - count
    linkageType: ''
    returnType: bool
    signature: bool has_key(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 879
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 879
    functionName: Botan_Tests::Text_Based_Test::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Test::Result>
      Src: /src/botan/src/tests/tests.h:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 890
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 890
    functionName: Botan_Tests::Text_Based_Test::run_final_tests
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 0
    functionsReached:
    - std::vector<Test::Result>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_final_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_fun
      Src: /src/botan/src/tests/tests.h:937,1
    - Dst: Botan_Tests::Test::Result::test_failure
      Src: /src/botan/src/tests/tests.h:941,1
    - Dst: what
      Src: /src/botan/src/tests/tests.h:941,1
    - Dst: Botan_Tests::Test::Result::test_failure
      Src: /src/botan/src/tests/tests.h:943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - name
    - check_fun
    argTypes:
    - char*
    - FunT
    constantsTouched: []
    func_position:
      end: 947
      start: 933
    functionDepth: 2
    functionLinenumber: 933
    functionLinenumberEnd: 947
    functionName: Botan_Tests::CHECK
    functionSourceFile: /src/botan/src/tests/tests.h
    functionUses: 10
    functionsReached:
    - what
    - check_fun
    - Botan_Tests::Test::Result::test_failure
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result CHECK(const char* name, FunT check_fun)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_mp.cpp:24,1
    - Dst: Botan_Tests::MP_Unit_Tests::test_cnd_swap
      Src: /src/botan/src/tests/test_mp.cpp:24,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_mp.cpp:25,1
    - Dst: Botan_Tests::MP_Unit_Tests::test_cnd_add
      Src: /src/botan/src/tests/test_mp.cpp:25,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_mp.cpp:26,1
    - Dst: Botan_Tests::MP_Unit_Tests::test_cnd_sub
      Src: /src/botan/src/tests/test_mp.cpp:26,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_mp.cpp:27,1
    - Dst: Botan_Tests::MP_Unit_Tests::test_cnd_abs
      Src: /src/botan/src/tests/test_mp.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: Botan_Tests::MP_Unit_Tests::run
    functionSourceFile: /src/botan/src/tests/test_mp.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::MP_Unit_Tests::test_cnd_add
    - Botan_Tests::MP_Unit_Tests::test_cnd_swap
    - Botan_Tests::MP_Unit_Tests::test_cnd_sub
    - Botan_Tests::MP_Unit_Tests::test_cnd_abs
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:36,1
    - Dst: Botan::bigint_cnd_add<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:39,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:41,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:42,1
    - Dst: Botan::bigint_cnd_add<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:44,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:46,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: Botan_Tests::MP_Unit_Tests::test_cnd_add
    functionSourceFile: /src/botan/src/tests/test_mp.cpp
    functionUses: 1
    functionsReached:
    - Result::test_int_eq
    - Botan::bigint_cnd_add<Botan::word>
    - static_cast<Botan::word>
    linkageType: ''
    returnType: Result
    signature: Result test_cnd_add()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_cnd_sub<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:59,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:61,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:62,1
    - Dst: Botan::bigint_cnd_sub<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:64,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:66,1
    - Dst: static_cast<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:66,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: Botan_Tests::MP_Unit_Tests::test_cnd_sub
    functionSourceFile: /src/botan/src/tests/test_mp.cpp
    functionUses: 1
    functionsReached:
    - Result::test_int_eq
    - Botan::bigint_cnd_sub<Botan::word>
    - static_cast<Botan::word>
    linkageType: ''
    returnType: Result
    signature: Result test_cnd_sub()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_cnd_abs<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:78,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:79,1
    - Dst: Botan::bigint_cnd_abs<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:82,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:83,1
    - Dst: Botan::bigint_cnd_abs<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:86,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:87,1
    - Dst: Botan::bigint_cnd_abs<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:90,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:91,1
    - Dst: Botan::bigint_cnd_abs<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:95,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:96,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 100
    functionName: Botan_Tests::MP_Unit_Tests::test_cnd_abs
    functionSourceFile: /src/botan/src/tests/test_mp.cpp
    functionUses: 1
    functionsReached:
    - Result::test_int_eq
    - Botan::bigint_cnd_abs<Botan::word>
    linkageType: ''
    returnType: Result
    signature: Result test_cnd_abs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_cnd_swap<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:106,1
    - Dst: Botan::bigint_cnd_swap<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:107,1
    - Dst: Botan::bigint_cnd_swap<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:111,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:112,1
    - Dst: Botan::bigint_cnd_swap<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:113,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:114,1
    - Dst: Botan::bigint_cnd_swap<Botan::word>
      Src: /src/botan/src/tests/test_mp.cpp:120,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:123,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:125,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:128,1
    - Dst: Result::test_int_eq
      Src: /src/botan/src/tests/test_mp.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 133
    functionName: Botan_Tests::MP_Unit_Tests::test_cnd_swap
    functionSourceFile: /src/botan/src/tests/test_mp.cpp
    functionUses: 1
    functionsReached:
    - Botan::bigint_cnd_swap<Botan::word>
    - Result::test_int_eq
    linkageType: ''
    returnType: Result
    signature: Result test_cnd_swap()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Record_Layer
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:33,1
    - Dst: auto::disable_sending_compat_mode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: Botan_Tests::record_layer_client
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Record_Layer
    - auto::disable_sending_compat_mode
    linkageType: ''
    returnType: TLS::Record_Layer
    signature: TLS::Record_Layer record_layer_client(const bool skip_client_hello
      = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Record_Layer
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:44,1
    - Dst: auto::disable_receiving_compat_mode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: Botan_Tests::record_layer_server
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - auto::disable_receiving_compat_mode
    - Botan::TLS::Record_Layer
    linkageType: ''
    returnType: TLS::Record_Layer
    signature: TLS::Record_Layer record_layer_server(const bool skip_client_hello
      = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan_Tests::Mocked_Secret_Logger::maybe_log_secret
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void maybe_log_secret(std::string_view, std::span<const uint8_t>) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:61,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:64,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:67,1
    - Dst: Botan::TLS::Cipher_State::init_with_server_hello
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:69,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: Botan_Tests::rfc8448_rtt1_handshake_traffic
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Cipher_State::init_with_server_hello
    - Botan::TLS::Ciphersuite::from_name
    - Botan::hex_decode_locked
    - std::move
    - Botan::hex_decode
    linkageType: ''
    returnType: std::unique_ptr<TLS::Cipher_State>
    signature: "std::unique_ptr<TLS::Cipher_State> rfc8448_rtt1_handshake_traffic(\n
      \  Botan::TLS::Connection_Side side = Botan::TLS::Connection_Side::Client)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:73,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:84,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:86,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:88,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:90,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:91,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:92,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:92,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:94,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:95,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:96,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:96,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:98,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:98,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:98,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:101,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:103,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:105,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:107,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:109,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:110,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:110,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:111,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:113,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:114,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:114,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:116,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:117,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:117,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:118,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:120,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:121,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:121,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:123,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:123,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:123,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:126,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:128,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:129,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:131,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:132,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:132,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:134,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:135,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:136,1
    - Dst: Botan::secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:137,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:137,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:138,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:141,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:141,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:141,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:144,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:145,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:147,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:148,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:150,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:151,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:151,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:153,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:154,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:155,1
    - Dst: Botan::secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:156,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:156,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:157,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:160,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:161,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:161,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:163,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:164,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:165,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:165,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:167,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:167,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 169
    functionName: Botan_Tests::read_full_records
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::concat
    - Botan_Tests::CHECK
    - require
    - auto::copy_data
    - std::get<TLS::Record>
    - confirm
    - std::holds_alternative<TLS::BytesNeeded>
    - auto::end
    - std::holds_alternative<TLS::Record>
    - auto::begin
    - auto::next_record
    - Botan::secure_vector<uint8_t>
    - Botan_Tests::record_layer_server
    - Botan::hex_decode
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> read_full_records()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:173,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:173,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:174,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:175,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:178,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:180,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:181,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:181,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:182,1
    - Dst: std::get<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:183,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:186,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:189,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:190,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:190,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:192,1
    - Dst: std::get<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:193,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:194,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:197,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:200,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:201,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:201,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:203,1
    - Dst: std::get<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:203,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:206,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:209,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:209,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:212,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:215,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:216,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:217,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:217,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:220,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:223,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:224,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:225,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:229,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:234,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:238,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:239,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:241,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:241,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:244,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:247,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:248,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:249,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:253,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:256,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:257,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:261,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:264,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:265,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:269,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:271,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:272,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:273,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:273,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:275,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:276,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:276,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:278,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:279,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:279,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:281,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:282,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:282,1
    - Dst: auto::disable_receiving_compat_mode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:284,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:286,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:287,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:287,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:289,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:290,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:290,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:293,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:296,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 74
    argCount: 1
    argNames:
    - side
    argTypes:
    - TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 302
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 302
    functionName: Botan_Tests::basic_sanitization_parse_records
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - std::vector::size
    - require
    - auto::copy_data
    - test_no_throw
    - test_eq
    - std::vector::resize
    - parse_records
    - test_throws
    - confirm
    - Botan_Tests::rfc8448_rtt1_handshake_traffic
    - auto::next_record
    - auto::disable_receiving_compat_mode
    - Botan_Tests::record_layer_client
    - std::get<TLS::BytesNeeded>
    - auto::get
    - Botan_Tests::record_layer_server
    - std::holds_alternative<TLS::BytesNeeded>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> basic_sanitization_parse_records(TLS::Connection_Side
      side)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::basic_sanitization_parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 4
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: Botan_Tests::basic_sanitization_parse_records_client
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::basic_sanitization_parse_records
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> basic_sanitization_parse_records_client()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::basic_sanitization_parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 4
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: Botan_Tests::basic_sanitization_parse_records_server
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::basic_sanitization_parse_records
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> basic_sanitization_parse_records_server()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:313,1
    - Dst: copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:317,1
    - Dst: next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:318,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:319,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:319,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:320,1
    - Dst: std::get<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:320,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:324,1
    - Dst: wait_for_more_bytes
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:328,1
    - Dst: wait_for_more_bytes
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:329,1
    - Dst: wait_for_more_bytes
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:330,1
    - Dst: wait_for_more_bytes
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:331,1
    - Dst: wait_for_more_bytes
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:332,1
    - Dst: TLS::Record_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:334,1
    - Dst: TLS::Record_Layer::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:335,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:336,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:336,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:338,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:339,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:340,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:340,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:342,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:342,1
    - Dst: TLS::Record_Layer::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:342,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:345,1
    - Dst: wait_for_more_bytes
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:346,1
    - Dst: TLS::Record_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:348,1
    - Dst: TLS::Record_Layer::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:350,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:351,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:351,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:353,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:354,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:355,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:355,1
    - Dst: TLS::Record_Layer::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:355,1
    - Dst: wait_for_more_bytes
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:357,1
    - Dst: TLS::Record_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:359,1
    - Dst: TLS::Record_Layer::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:360,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:361,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:361,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:363,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:364,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:366,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:366,1
    - Dst: TLS::Record_Layer::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 368
    functionName: Botan_Tests::read_fragmented_records
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - TLS::Record_Layer::copy_data
    - require
    - wait_for_more_bytes
    - test_eq
    - TLS::Record_Layer::next_record
    - next_record
    - std::get<TLS::Record>
    - confirm
    - std::holds_alternative<TLS::Record>
    - Botan_Tests::record_layer_client
    - std::get<TLS::BytesNeeded>
    - copy_data
    - Botan::hex_decode
    - std::holds_alternative<TLS::BytesNeeded>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> read_fragmented_records()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:371,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:373,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:376,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:376,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:378,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:379,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:381,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:383,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:395,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:397,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:398,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:398,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:400,1
    - Dst: auto::cbegin
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:400,1
    - Dst: auto::cbegin
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:400,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:401,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:401,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:403,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:407,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:408,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:408,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:410,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:410,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:412,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:414,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:415,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:416,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:419,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:421,1
    - Dst: test_gte
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:423,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:424,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 427
    functionName: Botan_Tests::write_records
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - auto::cbegin
    - auto::size
    - std::vector::size
    - require
    - test_gte
    - test_throws
    - Botan_Tests::rfc8448_rtt1_handshake_traffic
    - std::vector<uint8_t>
    - Botan_Tests::record_layer_client
    - auto::get
    - Botan::hex_decode
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> write_records()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:432,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:441,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:477,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:509,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:510,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:515,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:517,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:518,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:520,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:520,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:521,1
    - Dst: std::holds_alternative<Botan::TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:521,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:522,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:524,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:525,1
    - Dst: auto::fragment::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:525,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:527,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:527,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:527,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:530,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:532,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:533,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:535,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:538,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:541,1
    - Dst: auto::back
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:544,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:546,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:547,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:548,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:549,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:549,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:553,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:555,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:557,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:558,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:559,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:560,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:560,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:564,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:567,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:569,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:571,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:572,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:573,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:573,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:577,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:579,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:581,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:582,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:583,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:584,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:584,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:588,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:590,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:591,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:595,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:596,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:597,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:598,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:598,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:601,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:605,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:606,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:607,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:607,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:610,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:614,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:615,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:616,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:616,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:619,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:623,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:624,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:625,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:625,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:629,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:631,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:632,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:633,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:634,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:634,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:638,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:640,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:647,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:648,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:649,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:651,1
    - Dst: auto::advance_with_server_finished
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:654,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:655,1
    - Dst: auto::advance_with_client_finished
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:656,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:657,1
    - Dst: parse_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:659,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:660,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:660,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:661,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:661,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:662,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:663,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:663,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:665,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:665,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:666,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:666,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:667,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:668,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:668,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:670,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:670,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:671,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:671,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:672,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:673,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:673,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:675,1
    - Dst: std::holds_alternative<TLS::BytesNeeded>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:675,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:675,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:678,1
    - Dst: auto::insert
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:683,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:683,1
    - Dst: auto::cbegin
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:683,1
    - Dst: auto::cend
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:683,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:685,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:686,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:688,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:689,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:689,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:690,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:690,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:692,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:693,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:693,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:694,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:694,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:695,1
    - Dst: std::get<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:695,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:698,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:700,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:701,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:703,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:704,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:704,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:705,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:705,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:708,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:709,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:710,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:710,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:712,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:713,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:713,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:714,1
    - Dst: std::holds_alternative<TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 716
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 716
    functionName: Botan_Tests::read_encrypted_records
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - require
    - auto::copy_data
    - parse_records
    - confirm
    - auto::fragment::size
    - std::holds_alternative<TLS::BytesNeeded>
    - auto::insert
    - auto::next_record
    - auto::back
    - auto::advance_with_client_finished
    - auto::cend
    - auto::end
    - Botan::hex_decode
    - auto::cbegin
    - std::holds_alternative<Botan::TLS::BytesNeeded>
    - std::get<TLS::Record>
    - test_throws
    - std::vector::at
    - Botan_Tests::rfc8448_rtt1_handshake_traffic
    - auto::advance_with_server_finished
    - test_eq
    - test_no_throw
    - test_is_eq
    - std::holds_alternative<TLS::Record>
    - Botan_Tests::record_layer_client
    - auto::get
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> read_encrypted_records()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:719,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:723,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:725,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:728,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:728,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:729,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:733,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:736,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:739,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:740,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:741,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:741,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:743,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:743,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:746,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:748,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:748,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:749,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:750,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:750,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:753,1
    - Dst: get_byte
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:754,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:754,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:755,1
    - Dst: get_uint16_t
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:755,1
    - Dst: get_uint16_t
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:757,1
    - Dst: test_lte
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:758,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:759,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:759,1
    - Dst: read_record_header
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:764,1
    - Dst: TLS::TLS_Data_Reader::discard_next
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:765,1
    - Dst: read_record_header
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:767,1
    - Dst: TLS::TLS_Data_Reader::discard_next
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:768,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:770,1
    - Dst: TLS::TLS_Data_Reader::has_remaining
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 772
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 772
    functionName: Botan_Tests::write_encrypted_records
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - TLS::TLS_Data_Reader::has_remaining
    - Botan_Tests::CHECK
    - auto::size
    - std::vector::size
    - require
    - get_uint16_t
    - read_record_header
    - test_is_eq
    - confirm
    - TLS::TLS_Data_Reader::discard_next
    - Botan_Tests::rfc8448_rtt1_handshake_traffic
    - get_byte
    - test_lte
    - Botan_Tests::record_layer_client
    - auto::get
    - static_cast<uint8_t>
    - Botan::hex_decode
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> write_encrypted_records()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS::TLS_Data_Reader::has_remaining
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:784,1
    - Dst: TLS::TLS_Data_Reader::discard_next
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:785,1
    - Dst: TLS::TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:786,1
    - Dst: TLS::TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:789,1
    - Dst: TLS::TLS_Data_Reader::discard_next
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:790,1
    - Dst: TLS::TLS_Data_Reader::assert_done
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:793,1
    - Dst: copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:798,1
    - Dst: next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:799,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:802,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:804,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:805,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:805,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:806,1
    - Dst: has_version
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:806,1
    - Dst: auto::disable_sending_compat_mode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:808,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:810,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:810,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:811,1
    - Dst: has_version
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:811,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:814,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:816,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:817,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:818,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:819,1
    - Dst: has_version
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:819,1
    - Dst: auto::disable_sending_compat_mode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:821,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:823,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:824,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:825,1
    - Dst: has_version
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:825,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:828,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:830,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:831,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:831,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:832,1
    - Dst: has_version
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:832,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:835,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:837,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:838,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:839,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:840,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:840,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:841,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:841,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:844,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:846,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:847,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:848,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:849,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:849,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:850,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:850,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:853,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:855,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:856,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:857,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:857,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:860,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:862,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:863,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:864,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:864,1
    - Dst: auto::disable_receiving_compat_mode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:865,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:866,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:866,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:869,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:871,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:872,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:873,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:873,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:874,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:875,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:875,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:876,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:877,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:877,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:878,1
    - Dst: parse_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:879,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 883
      start: 774
    functionDepth: 3
    functionLinenumber: 774
    functionLinenumberEnd: 883
    functionName: Botan_Tests::legacy_version_handling
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - auto::prepare_records
    - next_record
    - confirm
    - std::vector<uint8_t>
    - TLS::TLS_Data_Reader::has_remaining
    - parse_record
    - TLS::TLS_Data_Reader::get_uint16_t
    - Botan_Tests::record_layer_server
    - Botan::hex_decode
    - test_throws
    - TLS::TLS_Data_Reader::discard_next
    - auto::disable_receiving_compat_mode
    - TLS::TLS_Data_Reader::assert_done
    - has_version
    - test_no_throw
    - auto::disable_sending_compat_mode
    - Botan_Tests::record_layer_client
    - copy_data
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> legacy_version_handling()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::has_remaining
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:890,1
    - Dst: Botan::TLS::TLS_Data_Reader::discard_next
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:891,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:892,1
    - Dst: Botan::TLS::TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:892,1
    - Dst: Botan::TLS::TLS_Data_Reader::get_tls_length_value
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:893,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:900,1
    - Dst: std::holds_alternative<Botan::TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:900,1
    - Dst: std::get<Botan::TLS::Record>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:901,1
    - Dst: fragment::size
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:902,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:906,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:908,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:909,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:911,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:912,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:912,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:913,1
    - Dst: count_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:913,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:915,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:916,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:917,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:918,1
    - Dst: count_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:918,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:920,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:921,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:922,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:924,1
    - Dst: record_length
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:925,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:925,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:925,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:929,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:931,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:932,1
    - Dst: auto::set_record_size_limits
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:934,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:937,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:937,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:937,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:938,1
    - Dst: count_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:938,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:941,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:941,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:941,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:942,1
    - Dst: count_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:942,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:945,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:948,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:949,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:951,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:952,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:952,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:953,1
    - Dst: count_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:953,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:955,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:956,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:956,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:957,1
    - Dst: count_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:957,1
    - Dst: auto::set_record_size_limits
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:959,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:961,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:961,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:961,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:962,1
    - Dst: count_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:962,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:964,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:964,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:964,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:965,1
    - Dst: count_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:965,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:968,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:970,1
    - Dst: auto::set_record_size_limits
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:972,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:975,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:975,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:976,1
    - Dst: count_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:976,1
    - Dst: auto::prepare_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:978,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:979,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:980,1
    - Dst: count_records
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:980,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:983,1
    - Dst: Botan_Tests::record_layer_client
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:985,1
    - Dst: auto::set_record_size_limits
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:987,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:989,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:989,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:989,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:989,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:990,1
    - Dst: record_length
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:990,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:990,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:993,1
    - Dst: Botan_Tests::rfc8448_rtt1_handshake_traffic
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:995,1
    - Dst: Botan_Tests::record_layer_server
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:996,1
    - Dst: auto::set_record_size_limits
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:998,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:999,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:1000,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:1006,1
    - Dst: record_length
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:1006,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:1006,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:1006,1
    - Dst: auto::copy_data
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:1008,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:1009,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:1015,1
    - Dst: auto::next_record
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:1017,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_record_layer_13.cpp:1017,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 885
    functionDepth: 3
    functionLinenumber: 885
    functionLinenumberEnd: 1020
    functionName: Botan_Tests::record_size_limits
    functionSourceFile: /src/botan/src/tests/test_tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - std::holds_alternative<Botan::TLS::Record>
    - require
    - auto::copy_data
    - fragment::size
    - auto::prepare_records
    - auto::set_record_size_limits
    - Botan::TLS::TLS_Data_Reader::has_remaining
    - std::vector<uint8_t>
    - record_length
    - BOTAN_ASSERT_NOMSG
    - auto::next_record
    - Botan_Tests::record_layer_server
    - Botan::hex_decode
    - count_records
    - Botan::TLS::TLS_Data_Reader::discard_next
    - test_throws
    - Botan_Tests::rfc8448_rtt1_handshake_traffic
    - test_eq
    - Botan::TLS::TLS_Data_Reader::get_tls_length_value
    - std::get<Botan::TLS::Record>
    - Botan_Tests::record_layer_client
    - auto::get
    - Botan::concat
    - Botan::TLS::TLS_Data_Reader::get_uint16_t
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> record_size_limits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:26,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ocsp.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan_Tests::OCSP_Tests::load_test_X509_cert
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate
    - Botan_Tests::Test::data_file
    linkageType: ''
    returnType: Botan::X509_Certificate
    signature: Botan::X509_Certificate load_test_X509_cert(const std::string& path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_No_Shutdown_Response::Test_No_Shutdown_Response
      Src: /src/botan/src/tests/test_ocsp.cpp:30,1
    - Dst: Botan_Tests::Test::read_binary_data_file
      Src: /src/botan/src/tests/test_ocsp.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan_Tests::OCSP_Tests::load_test_OCSP_resp
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::read_binary_data_file
    - Test_No_Shutdown_Response::Test_No_Shutdown_Response
    linkageType: ''
    returnType: Botan::OCSP::Response
    signature: Botan::OCSP::Response load_test_OCSP_resp(const std::string& path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ocsp.cpp:43,1
    - Dst: Botan::OCSP::Response::status
      Src: /src/botan/src/tests/test_ocsp.cpp:43,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_ocsp.cpp:44,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ocsp.cpp:46,1
    - Dst: what
      Src: /src/botan/src/tests/test_ocsp.cpp:46,1
    - Dst: Botan_Tests::Test::read_binary_data_file
      Src: /src/botan/src/tests/test_ocsp.cpp:51,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ocsp.cpp:52,1
    - Dst: Botan::OCSP::Response::status
      Src: /src/botan/src/tests/test_ocsp.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 56
    functionName: Botan_Tests::OCSP_Tests::test_response_parsing
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - what
    - Test::Result::confirm
    - Test::Result::test_failure
    - Botan_Tests::Test::read_binary_data_file
    - Botan::OCSP::Response::status
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_response_parsing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::read_binary_data_file
      Src: /src/botan/src/tests/test_ocsp.cpp:62,1
    - Dst: Botan::OCSP::Response::certificates
      Src: /src/botan/src/tests/test_ocsp.cpp:63,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:64,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocsp.cpp:64,1
    - Dst: front
      Src: /src/botan/src/tests/test_ocsp.cpp:65,1
    - Dst: std::make_pair
      Src: /src/botan/src/tests/test_ocsp.cpp:67,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:69,1
    - Dst: Botan_Tests::Test::read_binary_data_file
      Src: /src/botan/src/tests/test_ocsp.cpp:72,1
    - Dst: Botan::OCSP::Response::certificates
      Src: /src/botan/src/tests/test_ocsp.cpp:73,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:74,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocsp.cpp:74,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ocsp.cpp:76,1
    - Dst: what
      Src: /src/botan/src/tests/test_ocsp.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 80
    functionName: Botan_Tests::OCSP_Tests::test_response_certificate_access
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan::OCSP::Response::certificates
    - what
    - size
    - Test::Result::test_failure
    - std::make_pair
    - Test::Result::test_eq
    - front
    - Botan_Tests::Test::read_binary_data_file
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_response_certificate_access()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ocsp.cpp:85,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ocsp.cpp:86,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ocsp.cpp:90,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_ocsp.cpp:92,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:99,1
    - Dst: Botan::OCSP::Request::base64_encode
      Src: /src/botan/src/tests/test_ocsp.cpp:99,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/tests/test_ocsp.cpp:101,1
    - Dst: Botan::X509_Certificate::serial_number
      Src: /src/botan/src/tests/test_ocsp.cpp:101,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:102,1
    - Dst: Botan::OCSP::Request::base64_encode
      Src: /src/botan/src/tests/test_ocsp.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 105
    functionName: Botan_Tests::OCSP_Tests::test_request_encoding
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate::serial_number
    - Test::Result::test_failure
    - Botan_Tests::Test::data_file
    - Botan::OCSP::Request::base64_encode
    - Botan::BigInt::from_bytes
    - Test::Result::test_eq
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_request_encoding()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_ocsp.cpp:113,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:114,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_ocsp.cpp:118,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:119,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:120,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:123,1
    - Dst: auto::certificates
      Src: /src/botan/src/tests/test_ocsp.cpp:123,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:124,1
    - Dst: auto::certificates
      Src: /src/botan/src/tests/test_ocsp.cpp:125,1
    - Dst: subject_info
      Src: /src/botan/src/tests/test_ocsp.cpp:125,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:127,1
    - Dst: auto::certificates
      Src: /src/botan/src/tests/test_ocsp.cpp:128,1
    - Dst: subject_info
      Src: /src/botan/src/tests/test_ocsp.cpp:128,1
    - Dst: Test_No_Shutdown_Response::Test_No_Shutdown_Response
      Src: /src/botan/src/tests/test_ocsp.cpp:133,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_ocsp.cpp:138,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:139,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:141,1
    - Dst: auto::find_signing_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:142,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:142,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:145,1
    - Dst: auto::find_signing_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:146,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_ocsp.cpp:147,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:148,1
    - Dst: auto::find_signing_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:149,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:152,1
    - Dst: auto::find_signing_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:153,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_ocsp.cpp:154,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:156,1
    - Dst: auto::find_signing_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:157,1
    - Dst: std::make_unique<Botan::Certificate_Store_In_Memory>
      Src: /src/botan/src/tests/test_ocsp.cpp:159,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:160,1
    - Dst: auto::find_signing_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:161,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_ocsp.cpp:161,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_ocsp.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 165
    functionName: Botan_Tests::OCSP_Tests::test_response_find_signing_certificate
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - subject_info
    - auto::certificates
    - auto::find_signing_certificate
    - Botan::X509_Certificate
    - Botan_Tests::OCSP_Tests::load_test_OCSP_resp
    - Test_No_Shutdown_Response::Test_No_Shutdown_Response
    - Botan_Tests::OCSP_Tests::load_test_X509_cert
    - std::optional
    - Test::Result::test_is_eq
    - std::make_unique<Botan::Certificate_Store_In_Memory>
    - Test::Result::test_eq
    - auto::get
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_response_find_signing_certificate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:170,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:171,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:172,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_ocsp.cpp:176,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_ocsp.cpp:178,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:179,1
    - Dst: Botan::PKIX::check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:183,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_ocsp.cpp:184,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:186,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ocsp.cpp:186,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:187,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocsp.cpp:187,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ocsp.cpp:188,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ocsp.cpp:188,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_ocsp.cpp:188,1
    - Dst: contains
      Src: /src/botan/src/tests/test_ocsp.cpp:189,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:192,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:192,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:194,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:194,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:196,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:196,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:198,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 202
    functionName: Botan_Tests::OCSP_Tests::test_response_verification_with_next_update_without_max_age
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKIX::check_ocsp
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - contains
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::confirm
    - Botan_Tests::OCSP_Tests::load_test_OCSP_resp
    - std::string
    - check_ocsp
    - size
    - Botan_Tests::OCSP_Tests::load_test_X509_cert
    - Botan::calendar_point
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::to_string
    - auto::size
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_response_verification_with_next_update_without_max_age()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:207,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:208,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:209,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_ocsp.cpp:213,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_ocsp.cpp:215,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:216,1
    - Dst: std::chrono::minutes
      Src: /src/botan/src/tests/test_ocsp.cpp:219,1
    - Dst: Botan::PKIX::check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:224,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:226,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ocsp.cpp:226,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:227,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocsp.cpp:227,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ocsp.cpp:228,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ocsp.cpp:228,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_ocsp.cpp:228,1
    - Dst: contains
      Src: /src/botan/src/tests/test_ocsp.cpp:229,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:232,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:232,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:234,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:234,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:236,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:236,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:238,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 242
    functionName: Botan_Tests::OCSP_Tests::test_response_verification_with_next_update_with_max_age
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKIX::check_ocsp
    - contains
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::confirm
    - Botan_Tests::OCSP_Tests::load_test_OCSP_resp
    - std::string
    - check_ocsp
    - std::chrono::minutes
    - Botan_Tests::OCSP_Tests::load_test_X509_cert
    - size
    - Botan::calendar_point
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::to_string
    - auto::size
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_response_verification_with_next_update_with_max_age()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:247,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:248,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:249,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_ocsp.cpp:253,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_ocsp.cpp:255,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:256,1
    - Dst: std::chrono::minutes
      Src: /src/botan/src/tests/test_ocsp.cpp:259,1
    - Dst: Botan::PKIX::check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:264,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:266,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ocsp.cpp:266,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:267,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocsp.cpp:267,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ocsp.cpp:268,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ocsp.cpp:268,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_ocsp.cpp:268,1
    - Dst: contains
      Src: /src/botan/src/tests/test_ocsp.cpp:269,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:272,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:272,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:274,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:274,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:276,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 280
    functionName: Botan_Tests::OCSP_Tests::test_response_verification_without_next_update_with_max_age
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKIX::check_ocsp
    - contains
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::confirm
    - Botan_Tests::OCSP_Tests::load_test_OCSP_resp
    - std::string
    - check_ocsp
    - std::chrono::minutes
    - Botan_Tests::OCSP_Tests::load_test_X509_cert
    - size
    - Botan::calendar_point
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::to_string
    - auto::size
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_response_verification_without_next_update_with_max_age()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:285,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:286,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:287,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_ocsp.cpp:291,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_ocsp.cpp:293,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:294,1
    - Dst: Botan::PKIX::check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:298,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_ocsp.cpp:299,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:301,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ocsp.cpp:301,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:302,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocsp.cpp:302,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ocsp.cpp:303,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ocsp.cpp:303,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_ocsp.cpp:303,1
    - Dst: contains
      Src: /src/botan/src/tests/test_ocsp.cpp:304,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:307,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:307,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:309,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:309,1
    - Dst: check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:311,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 315
    functionName: Botan_Tests::OCSP_Tests::test_response_verification_without_next_update_without_max_age
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKIX::check_ocsp
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - contains
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::confirm
    - Botan_Tests::OCSP_Tests::load_test_OCSP_resp
    - std::string
    - check_ocsp
    - size
    - Botan_Tests::OCSP_Tests::load_test_X509_cert
    - Botan::calendar_point
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::to_string
    - auto::size
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_response_verification_without_next_update_without_max_age()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:320,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:321,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:322,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_ocsp.cpp:328,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:329,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_ocsp.cpp:332,1
    - Dst: Botan::PKIX::check_ocsp
      Src: /src/botan/src/tests/test_ocsp.cpp:334,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_ocsp.cpp:334,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:336,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ocsp.cpp:336,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:337,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocsp.cpp:337,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_ocsp.cpp:338,1
    - Dst: count
      Src: /src/botan/src/tests/test_ocsp.cpp:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 344
    functionName: Botan_Tests::OCSP_Tests::test_response_verification_softfail
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKIX::check_ocsp
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Test::Result::test_gt
    - Botan::calendar_point
    - Botan::Certificate_Store_In_Memory::add_certificate
    - size
    - Botan_Tests::OCSP_Tests::load_test_X509_cert
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - auto::size
    - Test::Result::test_eq
    - count
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_response_verification_softfail()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:350,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:351,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_ocsp.cpp:355,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:356,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_ocsp.cpp:358,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/test_ocsp.cpp:359,1
    - Dst: Botan::PKIX::check_ocsp_online
      Src: /src/botan/src/tests/test_ocsp.cpp:360,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_ocsp.cpp:361,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:363,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ocsp.cpp:363,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:364,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocsp.cpp:364,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ocsp.cpp:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 373
    functionName: Botan_Tests::OCSP_Tests::test_online_request
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::PKIX::check_ocsp_online
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::confirm
    - Botan_CLI::Timer::milliseconds
    - size
    - Botan_Tests::OCSP_Tests::load_test_X509_cert
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - auto::size
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_online_request()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_ocsp.cpp:382,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:383,1
    - Dst: Botan_Tests::OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_ocsp.cpp:384,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_ocsp.cpp:388,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:391,1
    - Dst: auto::find_signing_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:392,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:394,1
    - Dst: auto::find_signing_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:395,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:400,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:401,1
    - Dst: auto::find_signing_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:402,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_ocsp.cpp:403,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ocsp.cpp:405,1
    - Dst: auto::verify_signature
      Src: /src/botan/src/tests/test_ocsp.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 410
    functionName: Botan_Tests::OCSP_Tests::test_response_verification_with_additionally_trusted_responder
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - auto::find_signing_certificate
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan_Tests::OCSP_Tests::load_test_OCSP_resp
    - Botan_Tests::OCSP_Tests::load_test_X509_cert
    - std::optional
    - Test::Result::test_is_eq
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - auto::verify_signature
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_response_verification_with_additionally_trusted_responder()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_ocsp.cpp:415,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ocsp.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 424
    functionName: Botan_Tests::OCSP_Tests::test_responder_cert_with_nocheck_extension
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::confirm
    - Botan_Tests::OCSP_Tests::load_test_OCSP_resp
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_responder_cert_with_nocheck_extension()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:430,1
    - Dst: Botan_Tests::OCSP_Tests::test_request_encoding
      Src: /src/botan/src/tests/test_ocsp.cpp:430,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:431,1
    - Dst: Botan_Tests::OCSP_Tests::test_response_parsing
      Src: /src/botan/src/tests/test_ocsp.cpp:431,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:432,1
    - Dst: Botan_Tests::OCSP_Tests::test_response_certificate_access
      Src: /src/botan/src/tests/test_ocsp.cpp:432,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:433,1
    - Dst: Botan_Tests::OCSP_Tests::test_response_find_signing_certificate
      Src: /src/botan/src/tests/test_ocsp.cpp:433,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:434,1
    - Dst: Botan_Tests::OCSP_Tests::test_response_verification_with_next_update_without_max_age
      Src: /src/botan/src/tests/test_ocsp.cpp:434,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:435,1
    - Dst: Botan_Tests::OCSP_Tests::test_response_verification_with_next_update_with_max_age
      Src: /src/botan/src/tests/test_ocsp.cpp:435,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:436,1
    - Dst: Botan_Tests::OCSP_Tests::test_response_verification_without_next_update_with_max_age
      Src: /src/botan/src/tests/test_ocsp.cpp:436,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:437,1
    - Dst: Botan_Tests::OCSP_Tests::test_response_verification_without_next_update_without_max_age
      Src: /src/botan/src/tests/test_ocsp.cpp:437,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:438,1
    - Dst: Botan_Tests::OCSP_Tests::test_response_verification_softfail
      Src: /src/botan/src/tests/test_ocsp.cpp:438,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:439,1
    - Dst: Botan_Tests::OCSP_Tests::test_response_verification_with_additionally_trusted_responder
      Src: /src/botan/src/tests/test_ocsp.cpp:439,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:440,1
    - Dst: Botan_Tests::OCSP_Tests::test_responder_cert_with_nocheck_extension
      Src: /src/botan/src/tests/test_ocsp.cpp:440,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_ocsp.cpp:443,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ocsp.cpp:444,1
    - Dst: Botan_Tests::OCSP_Tests::test_online_request
      Src: /src/botan/src/tests/test_ocsp.cpp:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 427
    functionDepth: 3
    functionLinenumber: 427
    functionLinenumberEnd: 449
    functionName: Botan_Tests::OCSP_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::OCSP_Tests::test_response_verification_without_next_update_with_max_age
    - Botan_Tests::test_encoding_options
    - Botan_Tests::OCSP_Tests::test_response_verification_with_additionally_trusted_responder
    - Botan_Tests::OCSP_Tests::test_online_request
    - Botan_Tests::OCSP_Tests::test_response_verification_softfail
    - Botan_Tests::OCSP_Tests::test_response_verification_with_next_update_with_max_age
    - std::vector::push_back
    - Botan_Tests::OCSP_Tests::test_response_parsing
    - Botan_Tests::OCSP_Tests::test_response_verification_with_next_update_without_max_age
    - Botan_Tests::OCSP_Tests::test_response_verification_without_next_update_without_max_age
    - Botan_Tests::OCSP_Tests::test_request_encoding
    - Botan_Tests::OCSP_Tests::test_responder_cert_with_nocheck_extension
    - Botan_Tests::OCSP_Tests::test_response_certificate_access
    - Botan_Tests::OCSP_Tests::test_response_find_signing_certificate
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_oid.cpp:51,1
    - Dst: Botan::OID::to_string
      Src: /src/botan/src/tests/test_oid.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 54
    functionName: Botan_Tests::test_OID_to_string
    functionSourceFile: /src/botan/src/tests/test_oid.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan::OID::to_string
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_OID_to_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_oid.cpp:62,1
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/tests/test_oid.cpp:62,1
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/tests/test_oid.cpp:64,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_oid.cpp:66,1
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/tests/test_oid.cpp:66,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_oid.cpp:68,1
    - Dst: Botan::OID::to_formatted_string
      Src: /src/botan/src/tests/test_oid.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: Botan_Tests::test_oid_registration
    functionSourceFile: /src/botan/src/tests/test_oid.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_name
    - Test::Result::test_eq
    - Botan::OID::to_formatted_string
    - Botan::OID::register_oid
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_oid_registration()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_oid.cpp:81,1
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/tests/test_oid.cpp:81,1
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/tests/test_oid.cpp:83,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_oid.cpp:85,1
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/tests/test_oid.cpp:85,1
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/tests/test_oid.cpp:85,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_oid.cpp:86,1
    - Dst: Botan::OID::to_formatted_string
      Src: /src/botan/src/tests/test_oid.cpp:86,1
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/tests/test_oid.cpp:89,1
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/tests/test_oid.cpp:95,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_oid.cpp:98,1
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/tests/test_oid.cpp:98,1
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/tests/test_oid.cpp:98,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_oid.cpp:99,1
    - Dst: Botan::OID::to_formatted_string
      Src: /src/botan/src/tests/test_oid.cpp:99,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_oid.cpp:101,1
    - Dst: Botan::OID::to_formatted_string
      Src: /src/botan/src/tests/test_oid.cpp:101,1
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/tests/test_oid.cpp:104,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_oid.cpp:105,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_oid.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 111
    functionName: Botan_Tests::test_add_and_lookup
    functionSourceFile: /src/botan/src/tests/test_oid.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_name
    - Botan::EC_Group::from_OID
    - Test::Result::confirm
    - Test::Result::test_failure
    - Botan::OID::register_oid
    - Botan::OID::to_formatted_string
    - Test::Result::test_eq
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_add_and_lookup()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_oid.cpp:124,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_oid.cpp:126,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_oid.cpp:128,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/test_oid.cpp:128,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_oid.cpp:128,1
    - Dst: what
      Src: /src/botan/src/tests/test_oid.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: Botan_Tests::OID_Tests::run
    functionSourceFile: /src/botan/src/tests/test_oid.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::Failure
    - std::vector::size
    - what
    - std::to_string
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: Botan_Tests::OID_Encoding_Tests::OID_Encoding_Tests
    functionSourceFile: /src/botan/src/tests/test_oid.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OID_Encoding_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_oid.cpp:143,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_oid.cpp:144,1
    - Dst: Botan::DER_Encoder::encode
      Src: /src/botan/src/tests/test_oid.cpp:153,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_oid.cpp:154,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_oid.cpp:156,1
    - Dst: what
      Src: /src/botan/src/tests/test_oid.cpp:156,1
    - Dst: Botan::OID::OID
      Src: /src/botan/src/tests/test_oid.cpp:161,1
    - Dst: Botan::BER_Decoder::decode
      Src: /src/botan/src/tests/test_oid.cpp:162,1
    - Dst: Botan::BER_Decoder::verify_end
      Src: /src/botan/src/tests/test_oid.cpp:163,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_oid.cpp:164,1
    - Dst: Botan::OID::to_string
      Src: /src/botan/src/tests/test_oid.cpp:164,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_oid.cpp:166,1
    - Dst: what
      Src: /src/botan/src/tests/test_oid.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 170
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 170
    functionName: Botan_Tests::OID_Encoding_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_oid.cpp
    functionUses: 0
    functionsReached:
    - Botan::BER_Decoder::verify_end
    - get_req_str
    - what
    - Test::Result::test_failure
    - Botan::OID::OID
    - Botan::BER_Decoder::decode
    - get_req_bin
    - Botan::DER_Encoder::encode
    - Botan::OID::to_string
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: Botan_Tests::OID_Invalid_Encoding_Tests::OID_Invalid_Encoding_Tests
    functionSourceFile: /src/botan/src/tests/test_oid.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OID_Invalid_Encoding_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_oid.cpp:180,1
    - Dst: Botan::OID::OID
      Src: /src/botan/src/tests/test_oid.cpp:186,1
    - Dst: Botan::BER_Decoder::decode
      Src: /src/botan/src/tests/test_oid.cpp:187,1
    - Dst: Botan::BER_Decoder::verify_end
      Src: /src/botan/src/tests/test_oid.cpp:188,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_oid.cpp:189,1
    - Dst: Botan::OID::to_string
      Src: /src/botan/src/tests/test_oid.cpp:189,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_oid.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 195
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 195
    functionName: Botan_Tests::OID_Invalid_Encoding_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_oid.cpp
    functionUses: 0
    functionsReached:
    - Botan::BER_Decoder::verify_end
    - Test::Result::test_failure
    - Botan::BER_Decoder::decode
    - Botan::OID::OID
    - get_req_bin
    - Botan::OID::to_string
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_Tests::ECDH_KAT_Tests::ECDH_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_ecdh.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDH_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_Tests::ECDH_KAT_Tests::default_kdf
    functionSourceFile: /src/botan/src/tests/test_ecdh.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_kdf(const VarMap& /*unused*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecdh.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' group_id'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Botan_Tests::ECDH_KAT_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecdh.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& group_id, const VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecdh.cpp:31,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdh.cpp:32,1
    - Dst: std::make_unique<Botan::ECDH_PrivateKey>
      Src: /src/botan/src/tests/test_ecdh.cpp:33,1
    - Dst: Botan_Tests::ECDH_KAT_Tests::rng
      Src: /src/botan/src/tests/test_ecdh.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' group_id'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: Botan_Tests::ECDH_KAT_Tests::load_our_key
    functionSourceFile: /src/botan/src/tests/test_ecdh.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::ECDH_KAT_Tests::rng
    - get_req_bn
    - std::make_unique<Botan::ECDH_PrivateKey>
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_our_key(const std::string&
      group_id, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecdh.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan_Tests::ECDH_KAT_Tests::load_their_key
    functionSourceFile: /src/botan/src/tests/test_ecdh.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> load_their_key(const std::string& /*header*/,
      const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: Botan_Tests::ECDH_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_ecdh.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan_Tests::ECDH_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_ecdh.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::EC_Group
      Src: /src/botan/src/tests/test_ecdh.cpp:53,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/tests/test_ecdh.cpp:54,1
    - Dst: std::make_unique<Botan::ECDH_PublicKey>
      Src: /src/botan/src/tests/test_ecdh.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: Botan_Tests::ECDH_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_ecdh.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::ECDH_PublicKey>
    - Botan::EC_Group::EC_Group
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/test_ecdh.cpp:64,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_ecdh.cpp:67,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecdh.cpp:72,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ecdh.cpp:75,1
    - Dst: Botan::EC_Scalar::one
      Src: /src/botan/src/tests/test_ecdh.cpp:76,1
    - Dst: ECDH_PrivateKey
      Src: /src/botan/src/tests/test_ecdh.cpp:77,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ecdh.cpp:81,1
    - Dst: Botan::EC_AffinePoint::identity
      Src: /src/botan/src/tests/test_ecdh.cpp:82,1
    - Dst: Botan::ECDH_PublicKey
      Src: /src/botan/src/tests/test_ecdh.cpp:83,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ecdh.cpp:87,1
    - Dst: ECDH_PrivateKey
      Src: /src/botan/src/tests/test_ecdh.cpp:88,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecdh.cpp:88,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/tests/test_ecdh.cpp:91,1
    - Dst: Botan::ECDH_PrivateKey::public_value
      Src: /src/botan/src/tests/test_ecdh.cpp:96,1
    - Dst: Botan::ECDH_PrivateKey::public_value
      Src: /src/botan/src/tests/test_ecdh.cpp:99,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/tests/test_ecdh.cpp:102,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/tests/test_ecdh.cpp:105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecdh.cpp:107,1
    - Dst: auto::bits_of
      Src: /src/botan/src/tests/test_ecdh.cpp:107,1
    - Dst: auto::bits_of
      Src: /src/botan/src/tests/test_ecdh.cpp:107,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ecdh.cpp:110,1
    - Dst: what
      Src: /src/botan/src/tests/test_ecdh.cpp:110,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_ecdh.cpp:113,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ecdh.cpp:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 119
    functionName: Botan_Tests::ECDH_AllGroups_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ecdh.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - Test::Result::end_timer
    - Test::Result::start_timer
    - Botan::PK_Key_Agreement::derive_key
    - Botan::EC_Group::known_named_groups
    - what
    - auto::bits_of
    - Test::Result::test_failure
    - Botan::ECDH_PrivateKey::public_value
    - std::vector::push_back
    - rng
    - ECDH_PrivateKey
    - Botan::EC_Group::from_name
    - Botan::ECDH_PublicKey
    - Test::Result::test_eq
    - Botan::EC_Scalar::one
    - Botan::EC_AffinePoint::identity
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/unit_ecdsa.cpp:36,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_ecdsa.cpp:38,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_ecdsa.cpp:40,1
    - Dst: Botan::X509_Certificate::signature_algorithm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:41,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_ecdsa.cpp:43,1
    - Dst: Botan::X509_Certificate::serial_number
      Src: /src/botan/src/tests/unit_ecdsa.cpp:43,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_ecdsa.cpp:44,1
    - Dst: Botan::X509_Certificate::authority_key_id
      Src: /src/botan/src/tests/unit_ecdsa.cpp:44,1
    - Dst: Botan::X509_Certificate::subject_key_id
      Src: /src/botan/src/tests/unit_ecdsa.cpp:44,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_ecdsa.cpp:45,1
    - Dst: Botan::X509_Certificate::fingerprint
      Src: /src/botan/src/tests/unit_ecdsa.cpp:47,1
    - Dst: Botan::X509_Certificate::subject_public_key
      Src: /src/botan/src/tests/unit_ecdsa.cpp:50,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_ecdsa.cpp:51,1
    - Dst: Botan::X509_Certificate::check_signature
      Src: /src/botan/src/tests/unit_ecdsa.cpp:51,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_ecdsa.cpp:53,1
    - Dst: what
      Src: /src/botan/src/tests/unit_ecdsa.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 58
    functionName: Botan_Tests::test_decode_ecdsa_X509
    functionSourceFile: /src/botan/src/tests/unit_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate::signature_algorithm
    - Botan::EC_Group::supports_application_specific_group
    - Botan::X509_Certificate::check_signature
    - Botan::X509_Certificate::subject_public_key
    - what
    - Botan::X509_Certificate::serial_number
    - Botan_Tests::Test::data_file
    - Test::Result::test_failure
    - Botan::X509_Certificate::subject_key_id
    - Test::Result::test_eq
    - Botan::X509_Certificate::authority_key_id
    - Botan::X509_Certificate::fingerprint
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_decode_ecdsa_X509()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/unit_ecdsa.cpp:63,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_ecdsa.cpp:65,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_ecdsa.cpp:66,1
    - Dst: Botan::X509_Certificate::subject_public_key
      Src: /src/botan/src/tests/unit_ecdsa.cpp:68,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:69,1
    - Dst: Botan::X509_Certificate::check_signature
      Src: /src/botan/src/tests/unit_ecdsa.cpp:69,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_ecdsa.cpp:71,1
    - Dst: what
      Src: /src/botan/src/tests/unit_ecdsa.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: Botan_Tests::test_decode_ver_link_SHA256
    functionSourceFile: /src/botan/src/tests/unit_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_application_specific_group
    - Botan::X509_Certificate::check_signature
    - Botan::X509_Certificate::subject_public_key
    - what
    - Test::Result::confirm
    - Botan_Tests::Test::data_file
    - Test::Result::test_failure
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_decode_ver_link_SHA256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/unit_ecdsa.cpp:81,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_ecdsa.cpp:83,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_ecdsa.cpp:84,1
    - Dst: Botan::X509_Certificate::subject_public_key
      Src: /src/botan/src/tests/unit_ecdsa.cpp:86,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/unit_ecdsa.cpp:88,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:91,1
    - Dst: Botan::X509_Certificate::check_signature
      Src: /src/botan/src/tests/unit_ecdsa.cpp:92,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:95,1
    - Dst: Botan::X509_Certificate::check_signature
      Src: /src/botan/src/tests/unit_ecdsa.cpp:95,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_ecdsa.cpp:97,1
    - Dst: what
      Src: /src/botan/src/tests/unit_ecdsa.cpp:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 102
    functionName: Botan_Tests::test_decode_ver_link_SHA1
    functionSourceFile: /src/botan/src/tests/unit_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_application_specific_group
    - Botan::X509_Certificate::check_signature
    - Botan::X509_Certificate::subject_public_key
    - what
    - Test::Result::confirm
    - Botan::HashFunction::create
    - Botan_Tests::Test::data_file
    - Test::Result::test_failure
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_decode_ver_link_SHA1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/unit_ecdsa.cpp:109,1
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/unit_ecdsa.cpp:111,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/unit_ecdsa.cpp:112,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:115,1
    - Dst: Botan::ECDSA_PrivateKey::point_encoding
      Src: /src/botan/src/tests/unit_ecdsa.cpp:116,1
    - Dst: Botan::ECDSA_PrivateKey::public_key_bits
      Src: /src/botan/src/tests/unit_ecdsa.cpp:118,1
    - Dst: Botan::ECDSA_PrivateKey::set_point_encoding
      Src: /src/botan/src/tests/unit_ecdsa.cpp:119,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:121,1
    - Dst: Botan::ECDSA_PrivateKey::point_encoding
      Src: /src/botan/src/tests/unit_ecdsa.cpp:121,1
    - Dst: Botan::ECDSA_PrivateKey::public_key_bits
      Src: /src/botan/src/tests/unit_ecdsa.cpp:123,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/unit_ecdsa.cpp:124,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_ecdsa.cpp:124,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_ecdsa.cpp:124,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/unit_ecdsa.cpp:126,1
    - Dst: auto::get_p_bytes
      Src: /src/botan/src/tests/unit_ecdsa.cpp:126,1
    - Dst: Botan::ECDSA_PrivateKey::set_point_encoding
      Src: /src/botan/src/tests/unit_ecdsa.cpp:127,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:128,1
    - Dst: Botan::ECDSA_PrivateKey::point_encoding
      Src: /src/botan/src/tests/unit_ecdsa.cpp:128,1
    - Dst: Botan::ECDSA_PrivateKey::public_key_bits
      Src: /src/botan/src/tests/unit_ecdsa.cpp:129,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_ecdsa.cpp:130,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_ecdsa.cpp:130,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_ecdsa.cpp:130,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_ecdsa.cpp:133,1
    - Dst: what
      Src: /src/botan/src/tests/unit_ecdsa.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 137
    functionName: Botan_Tests::test_encoding_options
    functionSourceFile: /src/botan/src/tests/unit_ecdsa.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - Botan::ECDSA_PrivateKey::point_encoding
    - Botan::ECDSA_PrivateKey::set_point_encoding
    - Botan::EC_Group::known_named_groups
    - what
    - Test::Result::confirm
    - Test::Result::test_failure
    - Botan::ECDSA_PrivateKey::public_key_bits
    - Botan::EC_Group::from_name
    - Test::Result::test_eq
    - Botan_Tests::Test::new_rng
    - Test::Result::test_gte
    - Test::Result::test_lt
    - auto::get_p_bytes
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_encoding_options()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/unit_ecdsa.cpp:145,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_ecdsa.cpp:146,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/unit_ecdsa.cpp:147,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:149,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_ecdsa.cpp:150,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/unit_ecdsa.cpp:150,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:151,1
    - Dst: dynamic_cast<Botan::ECDSA_PrivateKey*>
      Src: /src/botan/src/tests/unit_ecdsa.cpp:151,1
    - Dst: auto::get
      Src: /src/botan/src/tests/unit_ecdsa.cpp:151,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_ecdsa.cpp:154,1
    - Dst: what
      Src: /src/botan/src/tests/unit_ecdsa.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: Botan_Tests::test_ecc_key_with_rfc5915_extensions
    functionSourceFile: /src/botan/src/tests/unit_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS8::load_key
    - dynamic_cast<Botan::ECDSA_PrivateKey*>
    - what
    - Botan::EC_Group::supports_named_group
    - Test::Result::confirm
    - Botan_Tests::Test::data_file
    - Test::Result::test_failure
    - auto::algo_name
    - Test::Result::test_eq
    - auto::get
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecc_key_with_rfc5915_extensions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/unit_ecdsa.cpp:164,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_ecdsa.cpp:165,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/unit_ecdsa.cpp:166,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:168,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_ecdsa.cpp:169,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/unit_ecdsa.cpp:169,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_ecdsa.cpp:170,1
    - Dst: dynamic_cast<Botan::ECDSA_PrivateKey*>
      Src: /src/botan/src/tests/unit_ecdsa.cpp:170,1
    - Dst: auto::get
      Src: /src/botan/src/tests/unit_ecdsa.cpp:170,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_ecdsa.cpp:173,1
    - Dst: what
      Src: /src/botan/src/tests/unit_ecdsa.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 177
    functionName: Botan_Tests::test_ecc_key_with_rfc5915_parameters
    functionSourceFile: /src/botan/src/tests/unit_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS8::load_key
    - dynamic_cast<Botan::ECDSA_PrivateKey*>
    - what
    - Botan::EC_Group::supports_named_group
    - Test::Result::confirm
    - Botan_Tests::Test::data_file
    - Test::Result::test_failure
    - auto::algo_name
    - Test::Result::test_eq
    - auto::get
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecc_key_with_rfc5915_parameters()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_ecdsa.cpp:187,1
    - Dst: test_ecc_key_with_rfc5915_extensions
      Src: /src/botan/src/tests/unit_ecdsa.cpp:187,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_ecdsa.cpp:188,1
    - Dst: test_ecc_key_with_rfc5915_parameters
      Src: /src/botan/src/tests/unit_ecdsa.cpp:188,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_ecdsa.cpp:191,1
    - Dst: test_decode_ecdsa_X509
      Src: /src/botan/src/tests/unit_ecdsa.cpp:191,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_ecdsa.cpp:192,1
    - Dst: test_decode_ver_link_SHA256
      Src: /src/botan/src/tests/unit_ecdsa.cpp:192,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_ecdsa.cpp:193,1
    - Dst: test_decode_ver_link_SHA1
      Src: /src/botan/src/tests/unit_ecdsa.cpp:193,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_ecdsa.cpp:198,1
    - Dst: test_encoding_options
      Src: /src/botan/src/tests/unit_ecdsa.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 200
    functionName: Botan_Tests::ECDSA_Unit_Tests::run
    functionSourceFile: /src/botan/src/tests/unit_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - test_ecc_key_with_rfc5915_extensions
    - test_decode_ecdsa_X509
    - test_decode_ver_link_SHA256
    - std::vector::push_back
    - test_ecc_key_with_rfc5915_parameters
    - test_encoding_options
    - test_decode_ver_link_SHA1
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: Botan_Tests::Cipher_Mode_Padding_Tests::Cipher_Mode_Padding_Tests
    functionSourceFile: /src/botan/src/tests/test_pad.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Padding_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pad.cpp:22,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_pad.cpp:23,1
    - Dst: std::string::find
      Src: /src/botan/src/tests/test_pad.cpp:28,1
    - Dst: std::string::substr
      Src: /src/botan/src/tests/test_pad.cpp:30,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_pad.cpp:31,1
    - Dst: std::string::substr
      Src: /src/botan/src/tests/test_pad.cpp:33,1
    - Dst: Botan::BlockCipherModePaddingMethod::create
      Src: /src/botan/src/tests/test_pad.cpp:38,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pad.cpp:41,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_pad.cpp:45,1
    - Dst: auto::unpad
      Src: /src/botan/src/tests/test_pad.cpp:47,1
    - Dst: last
      Src: /src/botan/src/tests/test_pad.cpp:47,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pad.cpp:48,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_pad.cpp:48,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pad.cpp:50,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_pad.cpp:54,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_pad.cpp:54,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pad.cpp:56,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pad.cpp:56,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/tests/test_pad.cpp:59,1
    - Dst: auto::add_padding
      Src: /src/botan/src/tests/test_pad.cpp:60,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pad.cpp:60,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pad.cpp:61,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_pad.cpp:63,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_pad.cpp:63,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_pad.cpp:63,1
    - Dst: auto::unpad
      Src: /src/botan/src/tests/test_pad.cpp:68,1
    - Dst: last
      Src: /src/botan/src/tests/test_pad.cpp:68,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pad.cpp:69,1
    - Dst: auto::unpad
      Src: /src/botan/src/tests/test_pad.cpp:72,1
    - Dst: last
      Src: /src/botan/src/tests/test_pad.cpp:72,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/tests/test_pad.cpp:76,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_pad.cpp:76,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pad.cpp:77,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - ' header'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 81
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 81
    functionName: Botan_Tests::Cipher_Mode_Padding_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pad.cpp
    functionUses: 0
    functionsReached:
    - auto::add_padding
    - std::vector::size
    - Botan::BlockCipherModePaddingMethod::create
    - std::vector::begin
    - std::string::find
    - Test::Result::test_eq
    - last
    - std::vector::empty
    - Botan::secure_vector::resize
    - get_req_bin
    - get_opt_bin
    - std::vector::end
    - Botan::secure_vector::size
    - Test::Result::test_success
    - Botan::secure_vector::assign
    - auto::unpad
    - Test_Error
    - Botan::hex_encode
    - Test::Result::test_failure
    - std::string::substr
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& header, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/botan/src/tests/test_x509_path.cpp:44,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_x509_path.cpp:45,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/tests/test_x509_path.cpp:50,1
    - Dst: std::getline
      Src: /src/botan/src/tests/test_x509_path.cpp:51,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_x509_path.cpp:52,1
    - Dst: Botan::split_on
      Src: /src/botan/src/tests/test_x509_path.cpp:59,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_x509_path.cpp:61,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_x509_path.cpp:62,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - ' results_file'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 69
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 69
    functionName: Botan_Tests::read_results
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::good
    - std::vector::size
    - Botan::split_on
    - Test_Error
    - std::string::empty
    - std::getline
    linkageType: ''
    returnType: std::map<std::string, std::string>
    signature: std::map<std::string, std::string> read_results(const std::string&
      results_file, const char delim = ':')
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::set::insert
      Src: /src/botan/src/tests/test_x509_path.cpp:75,1
    - Dst: begin
      Src: /src/botan/src/tests/test_x509_path.cpp:75,1
    - Dst: end
      Src: /src/botan/src/tests/test_x509_path.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' codes'
    argTypes:
    - Botan::CertificatePathStatusCodes
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: Botan_Tests::flatten
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - begin
    - std::set::insert
    - end
    linkageType: ''
    returnType: std::set<Botan::Certificate_Status_Code>
    signature: std::set<Botan::Certificate_Status_Code> flatten(const Botan::CertificatePathStatusCodes&
      codes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:91,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:92,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:93,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:95,1
    - Dst: read_results
      Src: /src/botan/src/tests/test_x509_path.cpp:97,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:97,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:99,1
    - Dst: Botan_Tests::X509test_Path_Validation_Tests::load_cert_file
      Src: /src/botan/src/tests/test_x509_path.cpp:101,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:101,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_x509_path.cpp:103,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_x509_path.cpp:104,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:107,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:110,1
    - Dst: Botan::Path_Validation_Result::trust_root
      Src: /src/botan/src/tests/test_x509_path.cpp:110,1
    - Dst: Botan::Path_Validation_Result::Path_Validation_Result
      Src: /src/botan/src/tests/test_x509_path.cpp:111,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:114,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:114,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:115,1
    - Dst: Botan::Path_Validation_Result::warnings_string
      Src: /src/botan/src/tests/test_x509_path.cpp:115,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:116,1
    - Dst: Botan::Path_Validation_Result::no_warnings
      Src: /src/botan/src/tests/test_x509_path.cpp:116,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:117,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_path.cpp:118,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:124,1
    - Dst: Botan_Tests::X509test_Path_Validation_Tests::load_cert_file
      Src: /src/botan/src/tests/test_x509_path.cpp:128,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:128,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_x509_path.cpp:129,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_x509_path.cpp:130,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:134,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:140,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:143,1
    - Dst: Botan::Path_Validation_Result::trust_root
      Src: /src/botan/src/tests/test_x509_path.cpp:143,1
    - Dst: Botan::Path_Validation_Result::Path_Validation_Result
      Src: /src/botan/src/tests/test_x509_path.cpp:144,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:148,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:148,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:149,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:149,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:152,1
    - Dst: Botan::Path_Validation_Result::no_warnings
      Src: /src/botan/src/tests/test_x509_path.cpp:152,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:153,1
    - Dst: Botan::Path_Validation_Result::warnings_string
      Src: /src/botan/src/tests/test_x509_path.cpp:153,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:155,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_path.cpp:156,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 160
    functionName: Botan_Tests::X509test_Path_Validation_Tests::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::end_timer
    - Botan::Path_Validation_Result::warnings_string
    - Botan::Path_Validation_Result::Path_Validation_Result
    - Botan_Tests::Test::data_file
    - std::vector::push_back
    - Test::Result::test_eq
    - std::vector::empty
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::confirm
    - Botan::Path_Validation_Result::no_warnings
    - Botan_Tests::X509test_Path_Validation_Tests::load_cert_file
    - Test::Result::start_timer
    - Botan::calendar_point
    - Botan::Path_Validation_Result::result_string
    - Botan::Path_Validation_Result::trust_root
    - Test_Error
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - read_results
    - Botan::x509_path_validate
    - Botan_CLI::Timer::milliseconds
    - Botan::Path_Validation_Result::successful_validation
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DataSource_Stream::end_of_data
      Src: /src/botan/src/tests/test_x509_path.cpp:167,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_x509_path.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: Botan_Tests::X509test_Path_Validation_Tests::load_cert_file
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 1
    functionsReached:
    - std::vector::emplace_back
    - Botan::DataSource_Stream::end_of_data
    linkageType: ''
    returnType: std::vector<Botan::X509_Certificate>
    signature: std::vector<Botan::X509_Certificate> load_cert_file(const std::string&
      filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:185,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:186,1
    - Dst: read_results
      Src: /src/botan/src/tests/test_x509_path.cpp:203,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:203,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:205,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:206,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:208,1
    - Dst: std::map::begin
      Src: /src/botan/src/tests/test_x509_path.cpp:210,1
    - Dst: std::map::end
      Src: /src/botan/src/tests/test_x509_path.cpp:210,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:212,1
    - Dst: Botan_Tests::Test::files_in_data_dir
      Src: /src/botan/src/tests/test_x509_path.cpp:219,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:221,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:223,1
    - Dst: Botan::Certificate_Store_In_Memory::add_crl
      Src: /src/botan/src/tests/test_x509_path.cpp:224,1
    - Dst: ends_with
      Src: /src/botan/src/tests/test_x509_path.cpp:227,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:228,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:228,1
    - Dst: ends_with
      Src: /src/botan/src/tests/test_x509_path.cpp:229,1
    - Dst: Botan::Certificate_Store_In_Memory::add_crl
      Src: /src/botan/src/tests/test_x509_path.cpp:232,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:236,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:241,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:244,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:244,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_x509_path.cpp:246,1
    - Dst: what
      Src: /src/botan/src/tests/test_x509_path.cpp:246,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:249,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_path.cpp:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 254
    functionName: Botan_Tests::NIST_Path_Validation_Tests::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::end_timer
    - Botan_Tests::Test::data_file
    - std::vector::push_back
    - std::map::begin
    - Test::Result::test_eq
    - Botan_Tests::Test::Result::Note
    - ends_with
    - what
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan_Tests::Test::files_in_data_dir
    - std::map::end
    - Test::Result::start_timer
    - Botan::Certificate_Store_In_Memory::add_crl
    - Botan::calendar_point
    - Botan::Path_Validation_Result::result_string
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - read_results
    - Botan::x509_path_validate
    - Botan::X509_Certificate
    - Botan::has_filesystem_impl
    - Test::Result::test_failure
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> NIST_Path_Validation_Tests::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:264,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:265,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:270,1
    - Dst: read_results
      Src: /src/botan/src/tests/test_x509_path.cpp:272,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:272,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:274,1
    - Dst: Botan_Tests::Test::files_in_data_dir
      Src: /src/botan/src/tests/test_x509_path.cpp:276,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:278,1
    - Dst: ends_with
      Src: /src/botan/src/tests/test_x509_path.cpp:281,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:282,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:282,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:286,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:288,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:290,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:292,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:292,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:294,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_path.cpp:295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 299
    functionName: Botan_Tests::Extended_Path_Validation_Tests::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::Note
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::x509_path_validate
    - Test::Result::start_timer
    - ends_with
    - Botan::has_filesystem_impl
    - Botan::X509_Certificate
    - Botan::calendar_point
    - Botan_Tests::Test::files_in_data_dir
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::end_timer
    - Botan::Path_Validation_Result::result_string
    - Botan_Tests::Test::data_file
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - std::vector::push_back
    - Test::Result::test_eq
    - read_results
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> Extended_Path_Validation_Tests::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:309,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:310,1
    - Dst: read_results
      Src: /src/botan/src/tests/test_x509_path.cpp:315,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:315,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_x509_path.cpp:317,1
    - Dst: read_results
      Src: /src/botan/src/tests/test_x509_path.cpp:319,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:319,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:321,1
    - Dst: Botan_Tests::Test::files_in_data_dir
      Src: /src/botan/src/tests/test_x509_path.cpp:323,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:328,1
    - Dst: Botan::to_u32bit
      Src: /src/botan/src/tests/test_x509_path.cpp:331,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:333,1
    - Dst: find
      Src: /src/botan/src/tests/test_x509_path.cpp:336,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:337,1
    - Dst: find
      Src: /src/botan/src/tests/test_x509_path.cpp:338,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:339,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:340,1
    - Dst: ends_with
      Src: /src/botan/src/tests/test_x509_path.cpp:341,1
    - Dst: Botan::X509_CRL::X509_CRL
      Src: /src/botan/src/tests/test_x509_path.cpp:342,1
    - Dst: ends_with
      Src: /src/botan/src/tests/test_x509_path.cpp:343,1
    - Dst: Botan::PKCS10_Request::PKCS10_Request
      Src: /src/botan/src/tests/test_x509_path.cpp:344,1
    - Dst: Botan::PKIX::check_crl
      Src: /src/botan/src/tests/test_x509_path.cpp:352,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:357,1
    - Dst: Botan::Path_Validation_Result::status_string
      Src: /src/botan/src/tests/test_x509_path.cpp:358,1
    - Dst: Botan::PKIX::overall_status
      Src: /src/botan/src/tests/test_x509_path.cpp:358,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:366,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:368,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:368,1
    - Dst: std::optional::subject_public_key
      Src: /src/botan/src/tests/test_x509_path.cpp:371,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:372,1
    - Dst: std::optional::check_signature
      Src: /src/botan/src/tests/test_x509_path.cpp:372,1
    - Dst: std::stoi
      Src: /src/botan/src/tests/test_x509_path.cpp:372,1
    - Dst: std::optional::subject_public_key
      Src: /src/botan/src/tests/test_x509_path.cpp:375,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:376,1
    - Dst: std::optional::check_signature
      Src: /src/botan/src/tests/test_x509_path.cpp:376,1
    - Dst: std::stoi
      Src: /src/botan/src/tests/test_x509_path.cpp:376,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:379,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_path.cpp:380,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 384
    functionName: Botan_Tests::PSS_Path_Validation_Tests::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::end_timer
    - Botan_Tests::Test::data_file
    - std::vector::push_back
    - auto::begin
    - Test::Result::test_eq
    - Botan::PKCS10_Request::PKCS10_Request
    - Botan_Tests::Test::Result::Note
    - ends_with
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan_Tests::Test::files_in_data_dir
    - Botan::to_u32bit
    - Test::Result::start_timer
    - Botan::PKIX::overall_status
    - Botan::calendar_point
    - std::optional::subject_public_key
    - Botan::Path_Validation_Result::result_string
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - find
    - read_results
    - std::stoi
    - Botan::PKIX::check_crl
    - Botan::Path_Validation_Result::status_string
    - Botan::x509_path_validate
    - std::optional::check_signature
    - Botan::X509_Certificate
    - Botan::has_filesystem_impl
    - Botan::X509_CRL::X509_CRL
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> PSS_Path_Validation_Tests::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:394,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:395,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:400,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:401,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:402,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:404,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:410,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:411,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:415,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:417,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:420,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:420,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:422,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:427,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:429,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 432
    functionName: Botan_Tests::Validate_V1Cert_Test::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::Note
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::x509_path_validate
    - Botan::has_filesystem_impl
    - Botan::calendar_point
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::Path_Validation_Result::result_string
    - Botan_Tests::Test::data_file
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Test::Result::test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> Validate_V1Cert_Test::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:442,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:443,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:448,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:449,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:450,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:452,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:458,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:459,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:463,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:465,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:468,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:468,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:469,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 473
    functionName: Botan_Tests::Validate_V2Uid_in_V1_Test::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::Note
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::x509_path_validate
    - Botan::has_filesystem_impl
    - Botan::calendar_point
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::Path_Validation_Result::result_string
    - Botan_Tests::Test::data_file
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Test::Result::test_eq
    - Botan::Path_Validation_Result::successful_validation
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> Validate_V2Uid_in_V1_Test::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:483,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:484,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:489,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:490,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:491,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:493,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:499,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:500,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:504,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:506,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:509,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:509,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:510,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 514
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 514
    functionName: Botan_Tests::Validate_Name_Constraint_SAN_Test::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::Note
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::x509_path_validate
    - Botan::has_filesystem_impl
    - Botan::calendar_point
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::Path_Validation_Result::result_string
    - Botan_Tests::Test::data_file
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Test::Result::test_eq
    - Botan::Path_Validation_Result::successful_validation
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> Validate_Name_Constraint_SAN_Test::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:524,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:525,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:530,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:531,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:532,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:534,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:540,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:541,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:545,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:547,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:550,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 553
    functionName: Botan_Tests::Validate_Name_Constraint_CaseInsensitive::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::Note
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::x509_path_validate
    - Botan::has_filesystem_impl
    - Botan::calendar_point
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan_Tests::Test::data_file
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Test::Result::test_eq
    - Botan::Path_Validation_Result::successful_validation
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> Validate_Name_Constraint_CaseInsensitive::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:563,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:564,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:569,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:570,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:571,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:573,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:579,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:580,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:584,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:586,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:589,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 592
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 592
    functionName: Botan_Tests::Validate_Name_Constraint_NoCheckSelf::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::Note
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::x509_path_validate
    - Botan::has_filesystem_impl
    - Botan::calendar_point
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan_Tests::Test::data_file
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Test::Result::test_eq
    - Botan::Path_Validation_Result::successful_validation
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> Validate_Name_Constraint_NoCheckSelf::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:599,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:600,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:603,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:604,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:609,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:610,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/tests/test_x509_path.cpp:626,1
    - Dst: std::make_unique<Botan::Certificate_Store_In_Memory>
      Src: /src/botan/src/tests/test_x509_path.cpp:627,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:631,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:636,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_x509_path.cpp:637,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:640,1
    - Dst: Botan::Path_Validation_Result::result
      Src: /src/botan/src/tests/test_x509_path.cpp:640,1
    - Dst: Botan::Path_Validation_Result::warnings
      Src: /src/botan/src/tests/test_x509_path.cpp:641,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_x509_path.cpp:642,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_path.cpp:642,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:643,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_x509_path.cpp:643,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:645,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_x509_path.cpp:646,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_x509_path.cpp:646,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:648,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_x509_path.cpp:648,1
    - Dst: assert_path_validation_result
      Src: /src/botan/src/tests/test_x509_path.cpp:655,1
    - Dst: assert_path_validation_result
      Src: /src/botan/src/tests/test_x509_path.cpp:657,1
    - Dst: assert_path_validation_result
      Src: /src/botan/src/tests/test_x509_path.cpp:659,1
    - Dst: assert_path_validation_result
      Src: /src/botan/src/tests/test_x509_path.cpp:661,1
    - Dst: assert_path_validation_result
      Src: /src/botan/src/tests/test_x509_path.cpp:663,1
    - Dst: assert_path_validation_result
      Src: /src/botan/src/tests/test_x509_path.cpp:669,1
    - Dst: assert_path_validation_result
      Src: /src/botan/src/tests/test_x509_path.cpp:671,1
    - Dst: assert_path_validation_result
      Src: /src/botan/src/tests/test_x509_path.cpp:676,1
    - Dst: assert_path_validation_result
      Src: /src/botan/src/tests/test_x509_path.cpp:681,1
    - Dst: assert_path_validation_result
      Src: /src/botan/src/tests/test_x509_path.cpp:686,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 693
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 693
    functionName: Botan_Tests::Root_Cert_Time_Check_Test::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - Botan_Tests::Test::Result::Note
    - Botan::x509_path_validate
    - auto::size
    - BOTAN_ASSERT_NOMSG
    - Botan::has_filesystem_impl
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::calendar_point
    - Test::Result::confirm
    - Botan_Tests::Test::data_file
    - Botan::Path_Validation_Result::result
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - std::make_unique<Botan::Certificate_Store_In_Memory>
    - Test::Result::test_is_eq
    - auto::at
    - assert_path_validation_result
    - Botan::Path_Validation_Result::warnings
    - Botan::fmt
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:706,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:707,1
    - Dst: read_results
      Src: /src/botan/src/tests/test_x509_path.cpp:712,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:712,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:714,1
    - Dst: Botan_Tests::Test::files_in_data_dir
      Src: /src/botan/src/tests/test_x509_path.cpp:716,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:718,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:727,1
    - Dst: find
      Src: /src/botan/src/tests/test_x509_path.cpp:732,1
    - Dst: find
      Src: /src/botan/src/tests/test_x509_path.cpp:739,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:740,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:740,1
    - Dst: find
      Src: /src/botan/src/tests/test_x509_path.cpp:743,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/test_x509_path.cpp:744,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_x509_path.cpp:744,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:744,1
    - Dst: find
      Src: /src/botan/src/tests/test_x509_path.cpp:747,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_path.cpp:748,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:748,1
    - Dst: find
      Src: /src/botan/src/tests/test_x509_path.cpp:749,1
    - Dst: Botan::Certificate_Store_In_Memory::add_crl
      Src: /src/botan/src/tests/test_x509_path.cpp:750,1
    - Dst: Botan::X509_CRL::X509_CRL
      Src: /src/botan/src/tests/test_x509_path.cpp:750,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/tests/test_x509_path.cpp:770,1
    - Dst: randomize
      Src: /src/botan/src/tests/test_x509_path.cpp:774,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/tests/test_x509_path.cpp:774,1
    - Dst: Botan_Tests::BSI_Path_Validation_Tests::rng
      Src: /src/botan/src/tests/test_x509_path.cpp:782,1
    - Dst: std::shuffle
      Src: /src/botan/src/tests/test_x509_path.cpp:785,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_x509_path.cpp:785,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_x509_path.cpp:785,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:787,1
    - Dst: starts_with
      Src: /src/botan/src/tests/test_x509_path.cpp:791,1
    - Dst: substr
      Src: /src/botan/src/tests/test_x509_path.cpp:792,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_x509_path.cpp:792,1
    - Dst: Botan::Path_Validation_Result::warnings
      Src: /src/botan/src/tests/test_x509_path.cpp:794,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:798,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_x509_path.cpp:804,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:808,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:809,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:812,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:813,1
    - Dst: error_type
      Src: /src/botan/src/tests/test_x509_path.cpp:823,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:824,1
    - Dst: what
      Src: /src/botan/src/tests/test_x509_path.cpp:824,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_x509_path.cpp:826,1
    - Dst: what
      Src: /src/botan/src/tests/test_x509_path.cpp:826,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_path.cpp:830,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_path.cpp:831,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 835
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 835
    functionName: Botan_Tests::BSI_Path_Validation_Tests::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::end_timer
    - std::vector::begin
    - Botan_Tests::Test::data_file
    - reinterpret_cast<uint8_t*>
    - error_type
    - std::vector::push_back
    - substr
    - Test::Result::test_eq
    - Botan_Tests::BSI_Path_Validation_Tests::rng
    - Botan_Tests::Test::Result::Note
    - what
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan_Tests::Test::files_in_data_dir
    - randomize
    - std::vector::end
    - starts_with
    - Test::Result::start_timer
    - Botan::Certificate_Store_In_Memory::add_crl
    - Botan::calendar_point
    - std::string
    - Botan::Path_Validation_Result::result_string
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - find
    - read_results
    - Botan::x509_path_validate
    - Botan::X509_Certificate
    - Botan::has_filesystem_impl
    - Test::Result::test_failure
    - std::vector::insert
    - Botan::X509_CRL::X509_CRL
    - Botan::Path_Validation_Result::warnings
    - std::shuffle
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> BSI_Path_Validation_Tests::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:842,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 843
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 843
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate
    - Botan_Tests::Test::data_file
    linkageType: ''
    returnType: Botan::X509_Certificate
    signature: Botan::X509_Certificate load_test_X509_cert(const std::string& path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_No_Shutdown_Response::Test_No_Shutdown_Response
      Src: /src/botan/src/tests/test_x509_path.cpp:846,1
    - Dst: Botan_Tests::Test::read_binary_data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 847
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 847
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::read_binary_data_file
    - Test_No_Shutdown_Response::Test_No_Shutdown_Response
    linkageType: ''
    returnType: std::optional<Botan::OCSP::Response>
    signature: std::optional<Botan::OCSP::Response> load_test_OCSP_resp(const std::string&
      path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:851,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:853,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:855,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:856,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:857,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:858,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:862,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:866,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:872,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:875,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_x509_path.cpp:875,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:875,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:876,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:876,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:877,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:880,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:880,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:882,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:882,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:884,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:884,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:886,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 890
      start: 849
    functionDepth: 2
    functionLinenumber: 849
    functionLinenumberEnd: 890
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_next_update_without_max_age
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - check_path
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::confirm
    - Botan_CLI::Timer::milliseconds
    - std::string
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
    - Botan::calendar_point
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::to_string
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
    - auto::result
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result validate_with_ocsp_with_next_update_without_max_age()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:894,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:896,1
    - Dst: std::chrono::minutes
      Src: /src/botan/src/tests/test_x509_path.cpp:896,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:898,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:899,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:900,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:901,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:905,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:909,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:915,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:918,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_x509_path.cpp:918,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:918,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:919,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:919,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:920,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:923,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:923,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:925,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:925,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:927,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:927,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:929,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 933
      start: 892
    functionDepth: 2
    functionLinenumber: 892
    functionLinenumberEnd: 933
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_next_update_with_max_age
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - check_path
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::confirm
    - Botan_CLI::Timer::milliseconds
    - std::string
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
    - std::chrono::minutes
    - Botan::calendar_point
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::to_string
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
    - auto::result
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result validate_with_ocsp_with_next_update_with_max_age()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:937,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:939,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:941,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:942,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:943,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:945,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:949,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:953,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:959,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:962,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_x509_path.cpp:962,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:962,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:963,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:963,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:964,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:967,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:967,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:969,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:969,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:971,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 974
      start: 935
    functionDepth: 2
    functionLinenumber: 935
    functionLinenumberEnd: 974
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_without_next_update_without_max_age
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - check_path
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::confirm
    - Botan_CLI::Timer::milliseconds
    - std::string
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
    - Botan::calendar_point
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::to_string
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
    - auto::result
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result validate_with_ocsp_without_next_update_without_max_age()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:978,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:980,1
    - Dst: std::chrono::minutes
      Src: /src/botan/src/tests/test_x509_path.cpp:980,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:982,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:983,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:984,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:986,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:990,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:994,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:1000,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1003,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_x509_path.cpp:1003,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:1003,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:1004,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1004,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1005,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1008,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1008,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1010,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1010,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1012,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 976
    functionDepth: 2
    functionLinenumber: 976
    functionLinenumberEnd: 1016
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_without_next_update_with_max_age
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - check_path
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::confirm
    - Botan_CLI::Timer::milliseconds
    - std::string
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
    - std::chrono::minutes
    - Botan::calendar_point
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::to_string
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
    - auto::result
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result validate_with_ocsp_without_next_update_with_max_age()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:1020,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:1022,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1026,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1027,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1028,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:1034,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:1035,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1037,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:1042,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:1048,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1051,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_x509_path.cpp:1051,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:1051,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:1052,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1052,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1053,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1056,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1056,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1058,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1058,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1060,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1018
    functionDepth: 2
    functionLinenumber: 1018
    functionLinenumberEnd: 1064
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_authorized_responder
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - check_path
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::confirm
    - Botan_CLI::Timer::milliseconds
    - std::string
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
    - Botan::calendar_point
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::to_string
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
    - auto::result
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result validate_with_ocsp_with_authorized_responder()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:1069,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:1071,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1076,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1077,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1078,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:1080,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:1082,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1084,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:1091,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:1097,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:1100,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_x509_path.cpp:1101,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1101,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_x509_path.cpp:1102,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1104,1
    - Dst: flatten
      Src: /src/botan/src/tests/test_x509_path.cpp:1105,1
    - Dst: auto::all_statuses
      Src: /src/botan/src/tests/test_x509_path.cpp:1105,1
    - Dst: value
      Src: /src/botan/src/tests/test_x509_path.cpp:1105,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1109,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1109,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1112,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1112,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1116,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1066
    functionDepth: 2
    functionLinenumber: 1066
    functionLinenumberEnd: 1122
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_authorized_responder_without_keyusage
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - check_path
    - Botan::Certificate_Store_In_Memory::add_certificate
    - static_cast<uint32_t>
    - Botan_CLI::Timer::milliseconds
    - Test::Result::confirm
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
    - Botan::calendar_point
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Test::Result::test_is_eq
    - value
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
    - auto::all_statuses
    - flatten
    - auto::result
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result validate_with_ocsp_with_authorized_responder_without_keyusage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:1126,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:1128,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1132,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1133,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1134,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1135,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:1142,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:1144,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1149,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:1150,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:1153,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1154,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1155,1
    - Dst: flatten
      Src: /src/botan/src/tests/test_x509_path.cpp:1156,1
    - Dst: auto::all_statuses
      Src: /src/botan/src/tests/test_x509_path.cpp:1156,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_x509_path.cpp:1157,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_x509_path.cpp:1157,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:1157,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1157,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1163,1
    - Dst: check_path
      Src: /src/botan/src/tests/test_x509_path.cpp:1166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1124
    functionDepth: 2
    functionLinenumber: 1124
    functionLinenumberEnd: 1171
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_forged_ocsp_using_self_signed_cert
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Test::Result::test_note
    - check_path
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::calendar_point
    - Botan_CLI::Timer::milliseconds
    - Test::Result::confirm
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
    - std::string
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Test::Result::test_is_eq
    - Botan::to_string
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
    - auto::all_statuses
    - flatten
    - auto::result
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result validate_with_forged_ocsp_using_self_signed_cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:1176,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:1178,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1183,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1184,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1185,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:1188,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
      Src: /src/botan/src/tests/test_x509_path.cpp:1191,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1193,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:1197,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1202,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:1203,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1205,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1206,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_x509_path.cpp:1207,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_x509_path.cpp:1207,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:1207,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1173
    functionDepth: 2
    functionLinenumber: 1173
    functionLinenumberEnd: 1210
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_self_signed_by_intermediate_cert
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Test::Result::test_note
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::calendar_point
    - Botan_CLI::Timer::milliseconds
    - Test::Result::confirm
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_X509_cert
    - std::string
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::to_string
    - Botan_Tests::Path_Validation_With_OCSP_Tests::load_test_OCSP_resp
    - auto::result
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result validate_with_ocsp_self_signed_by_intermediate_cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_next_update_without_max_age
      Src: /src/botan/src/tests/test_x509_path.cpp:1213,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_next_update_with_max_age
      Src: /src/botan/src/tests/test_x509_path.cpp:1214,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_without_next_update_without_max_age
      Src: /src/botan/src/tests/test_x509_path.cpp:1215,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_without_next_update_with_max_age
      Src: /src/botan/src/tests/test_x509_path.cpp:1216,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_authorized_responder
      Src: /src/botan/src/tests/test_x509_path.cpp:1217,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_authorized_responder_without_keyusage
      Src: /src/botan/src/tests/test_x509_path.cpp:1218,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_forged_ocsp_using_self_signed_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1219,1
    - Dst: Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_self_signed_by_intermediate_cert
      Src: /src/botan/src/tests/test_x509_path.cpp:1220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1212
    functionDepth: 3
    functionLinenumber: 1212
    functionLinenumberEnd: 1221
    functionName: Botan_Tests::Path_Validation_With_OCSP_Tests::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_self_signed_by_intermediate_cert
    - Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_forged_ocsp_using_self_signed_cert
    - Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_without_next_update_with_max_age
    - Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_without_next_update_without_max_age
    - Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_authorized_responder
    - Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_next_update_with_max_age
    - Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_next_update_without_max_age
    - Botan_Tests::Path_Validation_With_OCSP_Tests::validate_with_ocsp_with_authorized_responder_without_keyusage
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/test_x509_path.cpp:1235,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_x509_path.cpp:1236,1
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_x509_path.cpp:1240,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_x509_path.cpp:1241,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_x509_path.cpp:1245,1
    - Dst: get_p
      Src: /src/botan/src/tests/test_x509_path.cpp:1249,1
    - Dst: get_a
      Src: /src/botan/src/tests/test_x509_path.cpp:1250,1
    - Dst: get_b
      Src: /src/botan/src/tests/test_x509_path.cpp:1251,1
    - Dst: BigInt
      Src: /src/botan/src/tests/test_x509_path.cpp:1252,1
    - Dst: BigInt
      Src: /src/botan/src/tests/test_x509_path.cpp:1254,1
    - Dst: get_order
      Src: /src/botan/src/tests/test_x509_path.cpp:1256,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1258,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:1258,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1259,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:1259,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1260,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:1260,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:1262,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1263,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:1265,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1267,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:1269,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:1275,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1278,1
    - Dst: auto::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:1278,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1280,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1281,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:1283,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:1289,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1292,1
    - Dst: auto::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:1292,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1294,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1295,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:1298,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1299,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:1301,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x509_path.cpp:1307,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1310,1
    - Dst: auto::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:1310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1232
    functionDepth: 1
    functionLinenumber: 1232
    functionLinenumberEnd: 1313
    functionName: Botan_Tests::CVE_2020_0601_Tests::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::data_file
    - Botan::EC_Group::supports_application_specific_group
    - Test::Result::test_note
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::confirm
    - get_b
    - auto::result
    - auto::successful_validation
    - BigInt
    - get_p
    - Botan::calendar_point
    - get_order
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - get_a
    - Botan::x509_path_validate
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::X509_Certificate
    - Botan::EC_Group::supports_named_group
    - Botan_CLI::Timer::milliseconds
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:1326,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_x509_path.cpp:1327,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:1331,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:1332,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:1333,1
    - Dst: Botan::X509_CRL::X509_CRL
      Src: /src/botan/src/tests/test_x509_path.cpp:1336,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:1336,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1337,1
    - Dst: auto::this_update
      Src: /src/botan/src/tests/test_x509_path.cpp:1337,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1338,1
    - Dst: auto::next_update
      Src: /src/botan/src/tests/test_x509_path.cpp:1338,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1339,1
    - Dst: auto::get_revoked
      Src: /src/botan/src/tests/test_x509_path.cpp:1339,1
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_x509_path.cpp:1342,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_x509_path.cpp:1343,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_path.cpp:1347,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1348,1
    - Dst: Botan::Certificate_Store_In_Memory::add_crl
      Src: /src/botan/src/tests/test_x509_path.cpp:1349,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1353,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:1358,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1360,1
    - Dst: auto::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:1360,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_x509_path.cpp:1361,1
    - Dst: auto::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:1361,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_path.cpp:1365,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_path.cpp:1367,1
    - Dst: auto::successful_validation
      Src: /src/botan/src/tests/test_x509_path.cpp:1367,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_x509_path.cpp:1368,1
    - Dst: auto::result_string
      Src: /src/botan/src/tests/test_x509_path.cpp:1368,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:1370,1
    - Dst: auto::result
      Src: /src/botan/src/tests/test_x509_path.cpp:1370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1320
    functionDepth: 1
    functionLinenumber: 1320
    functionLinenumberEnd: 1373
    functionName: Botan_Tests::Path_Validation_With_Immortal_CRL::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - auto::successful_validation
    - Botan::x509_path_validate
    - Test::Result::test_note
    - Botan::Certificate_Store_In_Memory::add_crl
    - Botan::has_filesystem_impl
    - Botan::EC_Group::supports_named_group
    - Test::Result::confirm
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::calendar_point
    - Botan_Tests::Test::data_file
    - auto::this_update
    - auto::result_string
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - auto::get_revoked
    - Botan::X509_CRL::X509_CRL
    - auto::next_update
    - Test::Result::test_is_eq
    - auto::result
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/tests/test_x509_path.cpp:1387,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_x509_path.cpp:1388,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_path.cpp:1388,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_x509_path.cpp:1391,1
    - Dst: Botan::PKIX::overall_status
      Src: /src/botan/src/tests/test_x509_path.cpp:1393,1
    - Dst: Botan::PKIX::check_chain
      Src: /src/botan/src/tests/test_x509_path.cpp:1394,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_path.cpp:1395,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/test_x509_path.cpp:1395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - ' file'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 1397
      start: 1384
    functionDepth: 1
    functionLinenumber: 1384
    functionLinenumberEnd: 1397
    functionName: Botan_Tests::XMSS_Path_Validation_Tests::validate_self_signed
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::X509_Certificate
    - Botan::PKIX::overall_status
    - Botan::calendar_point
    - Botan_Tests::Test::data_file
    - Botan::to_string
    - Test::Result::test_eq
    - Botan::PKIX::check_chain
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result validate_self_signed(const std::string& name, const std::string&
      file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::has_filesystem_impl
      Src: /src/botan/src/tests/test_x509_path.cpp:1400,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/test_x509_path.cpp:1401,1
    - Dst: Botan_Tests::XMSS_Path_Validation_Tests::validate_self_signed
      Src: /src/botan/src/tests/test_x509_path.cpp:1405,1
    - Dst: Botan_Tests::XMSS_Path_Validation_Tests::validate_self_signed
      Src: /src/botan/src/tests/test_x509_path.cpp:1406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1399
    functionDepth: 2
    functionLinenumber: 1399
    functionLinenumberEnd: 1408
    functionName: Botan_Tests::XMSS_Path_Validation_Tests::run
    functionSourceFile: /src/botan/src/tests/test_x509_path.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::Note
    - Botan_Tests::XMSS_Path_Validation_Tests::validate_self_signed
    - Botan::has_filesystem_impl
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_asn1.cpp:29,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_asn1.cpp:29,1
    - Dst: Botan::BER_Decoder::more_items
      Src: /src/botan/src/tests/test_asn1.cpp:32,1
    - Dst: Botan::BER_Decoder::get_next
      Src: /src/botan/src/tests/test_asn1.cpp:34,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_asn1.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 41
    functionName: Botan_Tests::test_ber_stack_recursion
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Botan::BER_Decoder::get_next
    - Test::Result::test_success
    - Botan::BER_Decoder::more_items
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ber_stack_recursion()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_Pretty_Printer::print
      Src: /src/botan/src/tests/test_asn1.cpp:66,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_asn1.cpp:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 76
    functionName: Botan_Tests::test_ber_eoc_decoding_limits
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan::ASN1_Pretty_Printer::print
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ber_eoc_decoding_limits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_String::ASN1_String
      Src: /src/botan/src/tests/test_asn1.cpp:90,1
    - Dst: Botan::ASN1_String::decode_from
      Src: /src/botan/src/tests/test_asn1.cpp:91,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_asn1.cpp:93,1
    - Dst: Botan::ASN1_String::value
      Src: /src/botan/src/tests/test_asn1.cpp:93,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_asn1.cpp:95,1
    - Dst: what
      Src: /src/botan/src/tests/test_asn1.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: Botan_Tests::test_asn1_utf8_ascii_parsing
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - what
    - Test::Result::test_failure
    - Botan::ASN1_String::decode_from
    - Test::Result::test_eq
    - Botan::ASN1_String::ASN1_String
    - Botan::ASN1_String::value
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_asn1_utf8_ascii_parsing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_String::ASN1_String
      Src: /src/botan/src/tests/test_asn1.cpp:113,1
    - Dst: Botan::ASN1_String::decode_from
      Src: /src/botan/src/tests/test_asn1.cpp:114,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_asn1.cpp:116,1
    - Dst: Botan::ASN1_String::value
      Src: /src/botan/src/tests/test_asn1.cpp:116,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_asn1.cpp:118,1
    - Dst: what
      Src: /src/botan/src/tests/test_asn1.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 122
    functionName: Botan_Tests::test_asn1_utf8_parsing
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - what
    - Test::Result::test_failure
    - Botan::ASN1_String::decode_from
    - Test::Result::test_eq
    - Botan::ASN1_String::ASN1_String
    - Botan::ASN1_String::value
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_asn1_utf8_parsing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_String::ASN1_String
      Src: /src/botan/src/tests/test_asn1.cpp:137,1
    - Dst: Botan::ASN1_String::decode_from
      Src: /src/botan/src/tests/test_asn1.cpp:138,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_asn1.cpp:140,1
    - Dst: Botan::ASN1_String::value
      Src: /src/botan/src/tests/test_asn1.cpp:140,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_asn1.cpp:142,1
    - Dst: what
      Src: /src/botan/src/tests/test_asn1.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 146
    functionName: Botan_Tests::test_asn1_ucs2_parsing
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - what
    - Test::Result::test_failure
    - Botan::ASN1_String::decode_from
    - Test::Result::test_eq
    - Botan::ASN1_String::ASN1_String
    - Botan::ASN1_String::value
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_asn1_ucs2_parsing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_String::ASN1_String
      Src: /src/botan/src/tests/test_asn1.cpp:161,1
    - Dst: Botan::ASN1_String::decode_from
      Src: /src/botan/src/tests/test_asn1.cpp:162,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_asn1.cpp:164,1
    - Dst: Botan::ASN1_String::value
      Src: /src/botan/src/tests/test_asn1.cpp:164,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_asn1.cpp:166,1
    - Dst: what
      Src: /src/botan/src/tests/test_asn1.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 170
    functionName: Botan_Tests::test_asn1_ucs4_parsing
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - what
    - Test::Result::test_failure
    - Botan::ASN1_String::decode_from
    - Test::Result::test_eq
    - Botan::ASN1_String::ASN1_String
    - Botan::ASN1_String::value
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_asn1_ucs4_parsing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DER_Encoder::DER_Encoder
      Src: /src/botan/src/tests/test_asn1.cpp:180,1
    - Dst: Botan::ASN1_String::encode_into
      Src: /src/botan/src/tests/test_asn1.cpp:182,1
    - Dst: Botan::DER_Encoder::get_contents
      Src: /src/botan/src/tests/test_asn1.cpp:183,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_asn1.cpp:187,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_asn1.cpp:188,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_asn1.cpp:190,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_asn1.cpp:192,1
    - Dst: what
      Src: /src/botan/src/tests/test_asn1.cpp:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 196
    functionName: Botan_Tests::test_asn1_ascii_encoding
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - what
    - Botan::DER_Encoder::DER_Encoder
    - Test::Result::test_failure
    - Botan::ASN1_String::encode_into
    - Test::Result::test_eq
    - Botan::DER_Encoder::get_contents
    - Test::Result::test_success
    - Botan::hex_decode
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_asn1_ascii_encoding()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DER_Encoder::DER_Encoder
      Src: /src/botan/src/tests/test_asn1.cpp:206,1
    - Dst: Botan::ASN1_String::encode_into
      Src: /src/botan/src/tests/test_asn1.cpp:208,1
    - Dst: Botan::DER_Encoder::get_contents
      Src: /src/botan/src/tests/test_asn1.cpp:209,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_asn1.cpp:213,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_asn1.cpp:214,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_asn1.cpp:216,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_asn1.cpp:218,1
    - Dst: what
      Src: /src/botan/src/tests/test_asn1.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 222
    functionName: Botan_Tests::test_asn1_utf8_encoding
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - what
    - Botan::DER_Encoder::DER_Encoder
    - Test::Result::test_failure
    - Botan::ASN1_String::encode_into
    - Test::Result::test_eq
    - Botan::DER_Encoder::get_contents
    - Test::Result::test_success
    - Botan::hex_decode
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_asn1_utf8_encoding()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_asn1.cpp:230,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_asn1.cpp:233,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_asn1.cpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 240
    functionName: Botan_Tests::test_asn1_tag_underlying_type
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_success
    - Test::Result::test_failure
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_asn1_tag_underlying_type()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_asn1.cpp:249,1
    - Dst: test_ber_stack_recursion
      Src: /src/botan/src/tests/test_asn1.cpp:249,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_asn1.cpp:250,1
    - Dst: test_ber_eoc_decoding_limits
      Src: /src/botan/src/tests/test_asn1.cpp:250,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_asn1.cpp:251,1
    - Dst: test_asn1_utf8_ascii_parsing
      Src: /src/botan/src/tests/test_asn1.cpp:251,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_asn1.cpp:252,1
    - Dst: test_asn1_utf8_parsing
      Src: /src/botan/src/tests/test_asn1.cpp:252,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_asn1.cpp:253,1
    - Dst: test_asn1_ucs2_parsing
      Src: /src/botan/src/tests/test_asn1.cpp:253,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_asn1.cpp:254,1
    - Dst: test_asn1_ucs4_parsing
      Src: /src/botan/src/tests/test_asn1.cpp:254,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_asn1.cpp:255,1
    - Dst: test_asn1_ascii_encoding
      Src: /src/botan/src/tests/test_asn1.cpp:255,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_asn1.cpp:256,1
    - Dst: test_asn1_utf8_encoding
      Src: /src/botan/src/tests/test_asn1.cpp:256,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_asn1.cpp:257,1
    - Dst: test_asn1_tag_underlying_type
      Src: /src/botan/src/tests/test_asn1.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 260
    functionName: Botan_Tests::ASN1_Tests::run
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - test_asn1_tag_underlying_type
    - test_asn1_utf8_ascii_parsing
    - test_asn1_utf8_parsing
    - std::vector::push_back
    - test_ber_stack_recursion
    - test_asn1_utf8_encoding
    - test_asn1_ucs4_parsing
    - test_asn1_ucs2_parsing
    - test_asn1_ascii_encoding
    - test_ber_eoc_decoding_limits
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: Botan_Tests::ASN1_Time_Parsing_Tests::ASN1_Time_Parsing_Tests
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_Time_Parsing_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_asn1.cpp:272,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_asn1.cpp:276,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_asn1.cpp:287,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_asn1.cpp:289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - ' tag_str'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 293
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 293
    functionName: Botan_Tests::ASN1_Time_Parsing_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - Test_Error
    - Test::Result::test_success
    - Test::Result::test_throws
    - get_req_str
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& tag_str, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_asn1.cpp:308,1
    - Dst: Botan_Tests::Test::read_binary_data_file
      Src: /src/botan/src/tests/test_asn1.cpp:309,1
    - Dst: Botan_Tests::Test::read_data_file
      Src: /src/botan/src/tests/test_asn1.cpp:310,1
    - Dst: Botan::ASN1_Pretty_Printer::print
      Src: /src/botan/src/tests/test_asn1.cpp:313,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_asn1.cpp:314,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_asn1.cpp:316,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_asn1.cpp:316,1
    - Dst: what
      Src: /src/botan/src/tests/test_asn1.cpp:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 321
    functionName: Botan_Tests::ASN1_Printer_Tests::run
    functionSourceFile: /src/botan/src/tests/test_asn1.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan_Tests::Test::read_data_file
    - what
    - std::to_string
    - Test::Result::test_failure
    - Botan::ASN1_Pretty_Printer::print
    - Test::Result::test_eq
    - Botan_Tests::Test::read_binary_data_file
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/unit_x509.cpp:36,1
    - Dst: Botan::X509_Time
      Src: /src/botan/src/tests/unit_x509.cpp:37,1
    - Dst: Botan::calendar_point::to_std_timepoint
      Src: /src/botan/src/tests/unit_x509.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - y
    - m
    - d
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: Botan_Tests::from_date
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Time
    - static_cast<uint32_t>
    - Botan::calendar_point::to_std_timepoint
    linkageType: ''
    returnType: Botan::X509_Time
    signature: Botan::X509_Time from_date(const int y, const int m, const int d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/unit_x509.cpp:47,1
    - Dst: Botan::X509_Cert_Options::CA_key
      Src: /src/botan/src/tests/unit_x509.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: Botan_Tests::ca_opts
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Cert_Options::set_padding_scheme
    - Botan::X509_Cert_Options::CA_key
    linkageType: ''
    returnType: Botan::X509_Cert_Options
    signature: Botan::X509_Cert_Options ca_opts(const std::string& sig_padding = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/unit_x509.cpp:60,1
    - Dst: Botan::X509_Cert_Options::not_before
      Src: /src/botan/src/tests/unit_x509.cpp:62,1
    - Dst: Botan::X509_Cert_Options::not_after
      Src: /src/botan/src/tests/unit_x509.cpp:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' algo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 74
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 74
    functionName: Botan_Tests::req_opts1
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Cert_Options::not_before
    - Botan::X509_Cert_Options::not_after
    - Botan::X509_Cert_Options::set_padding_scheme
    linkageType: ''
    returnType: Botan::X509_Cert_Options
    signature: Botan::X509_Cert_Options req_opts1(const std::string& algo, const std::string&
      sig_padding = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/unit_x509.cpp:82,1
    - Dst: Botan::X509_Cert_Options::add_ex_constraint
      Src: /src/botan/src/tests/unit_x509.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: Botan_Tests::req_opts2
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Cert_Options::add_ex_constraint
    - Botan::X509_Cert_Options::set_padding_scheme
    linkageType: ''
    returnType: Botan::X509_Cert_Options
    signature: Botan::X509_Cert_Options req_opts2(const std::string& sig_padding =
      "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/unit_x509.cpp:95,1
    - Dst: Botan::X509_Cert_Options::more_org_units::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:97,1
    - Dst: Botan::X509_Cert_Options::more_org_units::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:98,1
    - Dst: Botan::X509_Cert_Options::more_dns::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: Botan_Tests::req_opts3
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Cert_Options::set_padding_scheme
    - Botan::X509_Cert_Options::more_org_units::push_back
    - Botan::X509_Cert_Options::more_dns::push_back
    linkageType: ''
    returnType: Botan::X509_Cert_Options
    signature: Botan::X509_Cert_Options req_opts3(const std::string& sig_padding =
      "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/unit_x509.cpp:112,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' algo'
    - ' rng'
    argTypes:
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 135
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 135
    functionName: Botan_Tests::make_a_private_key
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - Botan::create_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> make_a_private_key(const std::string&
      algo, Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:142,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/unit_x509.cpp:143,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/unit_x509.cpp:144,1
    - Dst: Botan::to_string
      Src: /src/botan/src/tests/unit_x509.cpp:198,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:199,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/unit_x509.cpp:199,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:200,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/unit_x509.cpp:200,1
    - Dst: std::set::insert
      Src: /src/botan/src/tests/unit_x509.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 205
    functionName: Botan_Tests::test_cert_status_strings
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::set::insert
    - Test::Result::confirm
    - Botan::to_string
    - Test::Result::test_eq
    - std::set::count
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_cert_status_strings()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/tests/unit_x509.cpp:212,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/tests/unit_x509.cpp:213,1
    - Dst: Botan::Extensions::add
      Src: /src/botan/src/tests/unit_x509.cpp:215,1
    - Dst: std::make_unique<Botan::Cert_Extension::Basic_Constraints>
      Src: /src/botan/src/tests/unit_x509.cpp:215,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:217,1
    - Dst: Botan::Extensions::extension_set
      Src: /src/botan/src/tests/unit_x509.cpp:217,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:218,1
    - Dst: Botan::Extensions::critical_extension_set
      Src: /src/botan/src/tests/unit_x509.cpp:218,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:219,1
    - Dst: Botan::Extensions::extension_set
      Src: /src/botan/src/tests/unit_x509.cpp:219,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:220,1
    - Dst: Botan::Extensions::critical_extension_set
      Src: /src/botan/src/tests/unit_x509.cpp:220,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:222,1
    - Dst: Botan::Extensions::get_extension_bits
      Src: /src/botan/src/tests/unit_x509.cpp:222,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/unit_x509.cpp:224,1
    - Dst: Botan::Extensions::get_extension_bits
      Src: /src/botan/src/tests/unit_x509.cpp:224,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/unit_x509.cpp:226,1
    - Dst: Botan::Extensions::add
      Src: /src/botan/src/tests/unit_x509.cpp:227,1
    - Dst: std::make_unique<Botan::Cert_Extension::Basic_Constraints>
      Src: /src/botan/src/tests/unit_x509.cpp:227,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:229,1
    - Dst: Botan::Extensions::get_extension_bits
      Src: /src/botan/src/tests/unit_x509.cpp:229,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:231,1
    - Dst: Botan::Extensions::add_new
      Src: /src/botan/src/tests/unit_x509.cpp:232,1
    - Dst: std::make_unique<Botan::Cert_Extension::Basic_Constraints>
      Src: /src/botan/src/tests/unit_x509.cpp:232,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:234,1
    - Dst: Botan::Extensions::critical_extension_set
      Src: /src/botan/src/tests/unit_x509.cpp:234,1
    - Dst: Botan::Extensions::replace
      Src: /src/botan/src/tests/unit_x509.cpp:236,1
    - Dst: std::make_unique<Botan::Cert_Extension::Basic_Constraints>
      Src: /src/botan/src/tests/unit_x509.cpp:236,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:237,1
    - Dst: Botan::Extensions::critical_extension_set
      Src: /src/botan/src/tests/unit_x509.cpp:237,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:238,1
    - Dst: Botan::Extensions::get_extension_bits
      Src: /src/botan/src/tests/unit_x509.cpp:238,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:240,1
    - Dst: Botan::Extensions::remove
      Src: /src/botan/src/tests/unit_x509.cpp:240,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:241,1
    - Dst: Botan::Extensions::remove
      Src: /src/botan/src/tests/unit_x509.cpp:241,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:242,1
    - Dst: Botan::Extensions::extension_set
      Src: /src/botan/src/tests/unit_x509.cpp:242,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:243,1
    - Dst: Botan::Extensions::critical_extension_set
      Src: /src/botan/src/tests/unit_x509.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 246
    functionName: Botan_Tests::test_x509_extension
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - Botan::Extensions::critical_extension_set
    - std::make_unique<Botan::Cert_Extension::Basic_Constraints>
    - Botan::Extensions::get_extension_bits
    - Botan::Extensions::remove
    - Test::Result::confirm
    - Botan::Extensions::replace
    - Botan::Extensions::extension_set
    - Botan::Extensions::add
    - Botan::Extensions::add_new
    - Botan::OID::from_string
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_extension()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:252,1
    - Dst: Botan::X509_Time::time_is_set
      Src: /src/botan/src/tests/unit_x509.cpp:252,1
    - Dst: Botan::X509_Time
      Src: /src/botan/src/tests/unit_x509.cpp:253,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:254,1
    - Dst: Botan::X509_Time::time_is_set
      Src: /src/botan/src/tests/unit_x509.cpp:254,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:255,1
    - Dst: Botan::X509_Time::readable_string
      Src: /src/botan/src/tests/unit_x509.cpp:255,1
    - Dst: Botan::X509_Time
      Src: /src/botan/src/tests/unit_x509.cpp:257,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:258,1
    - Dst: Botan::X509_Time::readable_string
      Src: /src/botan/src/tests/unit_x509.cpp:258,1
    - Dst: Botan::X509_Time
      Src: /src/botan/src/tests/unit_x509.cpp:260,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:261,1
    - Dst: Botan::X509_Time::readable_string
      Src: /src/botan/src/tests/unit_x509.cpp:262,1
    - Dst: Botan::X509_Time
      Src: /src/botan/src/tests/unit_x509.cpp:264,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:265,1
    - Dst: Botan::X509_Time::readable_string
      Src: /src/botan/src/tests/unit_x509.cpp:266,1
    - Dst: Botan::X509_Time
      Src: /src/botan/src/tests/unit_x509.cpp:269,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:270,1
    - Dst: Botan::X509_Time::readable_string
      Src: /src/botan/src/tests/unit_x509.cpp:270,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/unit_x509.cpp:401,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/unit_x509.cpp:413,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/unit_x509.cpp:417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 421
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 421
    functionName: Botan_Tests::test_x509_dates
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - Botan::X509_Time
    - Test::Result::confirm
    - Botan::X509_Time::time_is_set
    - Test::Result::test_eq
    - Botan::X509_Time::readable_string
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_dates()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/unit_x509.cpp:427,1
    - Dst: Botan_Tests::make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:442,1
    - Dst: Test::Result::require
      Src: /src/botan/src/tests/unit_x509.cpp:443,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:444,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:444,1
    - Dst: Botan_Tests::make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:448,1
    - Dst: Botan_Tests::req_opts1
      Src: /src/botan/src/tests/unit_x509.cpp:450,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/unit_x509.cpp:451,1
    - Dst: std::make_unique<Botan::Cert_Extension::Authority_Information_Access>
      Src: /src/botan/src/tests/unit_x509.cpp:451,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:453,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:455,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:455,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:455,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:457,1
    - Dst: Botan::X509_Certificate::ca_issuers
      Src: /src/botan/src/tests/unit_x509.cpp:457,1
    - Dst: Botan::X509_Certificate::ca_issuers
      Src: /src/botan/src/tests/unit_x509.cpp:461,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:462,1
    - Dst: Botan::TLS::Session_Manager::find
      Src: /src/botan/src/tests/unit_x509.cpp:463,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/unit_x509.cpp:463,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:466,1
    - Dst: Botan::X509_Certificate::ocsp_responder
      Src: /src/botan/src/tests/unit_x509.cpp:466,1
    - Dst: Botan_Tests::req_opts1
      Src: /src/botan/src/tests/unit_x509.cpp:469,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/unit_x509.cpp:470,1
    - Dst: std::make_unique<Botan::Cert_Extension::Authority_Information_Access>
      Src: /src/botan/src/tests/unit_x509.cpp:470,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:472,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:474,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:474,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:474,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:476,1
    - Dst: Botan::X509_Certificate::ocsp_responder
      Src: /src/botan/src/tests/unit_x509.cpp:476,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:477,1
    - Dst: Botan::X509_Certificate::ca_issuers
      Src: /src/botan/src/tests/unit_x509.cpp:477,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:478,1
    - Dst: Botan::X509_Certificate::ocsp_responder
      Src: /src/botan/src/tests/unit_x509.cpp:478,1
    - Dst: std::string
      Src: /src/botan/src/tests/unit_x509.cpp:478,1
    - Dst: Botan_Tests::req_opts1
      Src: /src/botan/src/tests/unit_x509.cpp:481,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/unit_x509.cpp:482,1
    - Dst: std::make_unique<Botan::Cert_Extension::Authority_Information_Access>
      Src: /src/botan/src/tests/unit_x509.cpp:482,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:484,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:486,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:486,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:486,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:488,1
    - Dst: Botan::X509_Certificate::ocsp_responder
      Src: /src/botan/src/tests/unit_x509.cpp:488,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:489,1
    - Dst: Botan::X509_Certificate::ca_issuers
      Src: /src/botan/src/tests/unit_x509.cpp:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 493
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 493
    functionName: Botan_Tests::test_x509_encode_authority_info_access_extension
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::make_a_private_key
    - Botan::X509::create_cert_req
    - Botan_Tests::ca_opts
    - Botan::TLS::Session_Manager::find
    - Test::Result::require
    - Botan::X509_Certificate::ocsp_responder
    - Botan::X509_CA::sign_request
    - Botan::X509::create_self_signed_cert
    - Botan::X509_Certificate::ca_issuers
    - Test::Result::confirm
    - std::string
    - Botan_Tests::req_opts1
    - Botan_Tests::from_date
    - std::vector::end
    - Botan::X509_Cert_Options::extensions::add
    - Test::Result::test_eq
    - Botan_Tests::Test::new_rng
    - std::make_unique<Botan::Cert_Extension::Authority_Information_Access>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_encode_authority_info_access_extension()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/unit_x509.cpp:503,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:507,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:509,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/unit_x509.cpp:510,1
    - Dst: Botan::X509_CA::new_crl
      Src: /src/botan/src/tests/unit_x509.cpp:513,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:515,1
    - Dst: Botan::X509_CRL::issuer_dn
      Src: /src/botan/src/tests/unit_x509.cpp:515,1
    - Dst: Botan::X509_Certificate::subject_dn
      Src: /src/botan/src/tests/unit_x509.cpp:515,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:517,1
    - Dst: Botan::X509_CRL::issuer_dn
      Src: /src/botan/src/tests/unit_x509.cpp:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 521
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 521
    functionName: Botan_Tests::test_crl_dn_name
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS8::load_key
    - Botan::X509_CRL::issuer_dn
    - Test::Result::confirm
    - Botan_Tests::Test::data_file
    - Botan::X509_CA::new_crl
    - Botan_Tests::Test::new_rng
    - Botan::X509_Certificate::subject_dn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_crl_dn_name()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:528,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:530,1
    - Dst: Botan::X509_Certificate::issuer_dn
      Src: /src/botan/src/tests/unit_x509.cpp:530,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:531,1
    - Dst: Botan::X509_Certificate::subject_dn
      Src: /src/botan/src/tests/unit_x509.cpp:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 534
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 534
    functionName: Botan_Tests::test_rdn_multielement_set_name
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::confirm
    - Botan::X509_Certificate::subject_dn
    - Botan_Tests::Test::data_file
    - Botan::X509_Certificate::issuer_dn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rdn_multielement_set_name()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:540,1
    - Dst: Botan::X509_Certificate::subject_public_key
      Src: /src/botan/src/tests/unit_x509.cpp:542,1
    - Dst: Test::Result::test_not_null
      Src: /src/botan/src/tests/unit_x509.cpp:543,1
    - Dst: auto::get
      Src: /src/botan/src/tests/unit_x509.cpp:543,1
    - Dst: Botan::X509_Certificate::subject_public_key_algo
      Src: /src/botan/src/tests/unit_x509.cpp:544,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:546,1
    - Dst: oid
      Src: /src/botan/src/tests/unit_x509.cpp:546,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/tests/unit_x509.cpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 550
    functionName: Botan_Tests::test_rsa_oaep
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate::subject_public_key
    - Botan_Tests::Test::data_file
    - Botan::X509_Certificate::subject_public_key_algo
    - Test::Result::test_not_null
    - oid
    - Botan::OID::from_string
    - Test::Result::test_eq
    - auto::get
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rsa_oaep()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:555,1
    - Dst: Botan::BER_Decoder::decode_list
      Src: /src/botan/src/tests/unit_x509.cpp:559,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:561,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_x509.cpp:561,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:563,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/unit_x509.cpp:563,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:564,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/unit_x509.cpp:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 567
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 567
    functionName: Botan_Tests::test_x509_decode_list
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Botan::BER_Decoder::decode_list
    - Botan_Tests::Test::data_file
    - subject_dn
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_decode_list()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:573,1
    - Dst: Botan::X509_Certificate::issuer_dn
      Src: /src/botan/src/tests/unit_x509.cpp:587,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:589,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:589,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:590,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:590,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:591,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:591,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:592,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:592,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:594,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 598
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 598
    functionName: Botan_Tests::test_x509_utf8
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - what
    - Test::Result::test_failure
    - Botan_Tests::Test::data_file
    - Botan::X509_Certificate::issuer_dn
    - get_first_attribute
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_utf8()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:604,1
    - Dst: Botan::X509_Certificate::issuer_dn
      Src: /src/botan/src/tests/unit_x509.cpp:614,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:616,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:616,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:617,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:617,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:618,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:618,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:620,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 624
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 624
    functionName: Botan_Tests::test_x509_bmpstring
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - what
    - Test::Result::test_failure
    - Botan_Tests::Test::data_file
    - Botan::X509_Certificate::issuer_dn
    - get_first_attribute
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_bmpstring()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:630,1
    - Dst: Botan::X509_Certificate::issuer_dn
      Src: /src/botan/src/tests/unit_x509.cpp:632,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:636,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:636,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:637,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:637,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:639,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 643
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 643
    functionName: Botan_Tests::test_x509_teletex
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - what
    - Test::Result::test_failure
    - Botan_Tests::Test::data_file
    - Botan::X509_Certificate::issuer_dn
    - get_first_attribute
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_teletex()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:649,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:651,1
    - Dst: Botan::X509_Certificate::ca_issuers
      Src: /src/botan/src/tests/unit_x509.cpp:651,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:652,1
    - Dst: Botan::X509_Certificate::ocsp_responder
      Src: /src/botan/src/tests/unit_x509.cpp:652,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:655,1
    - Dst: Botan::X509_Certificate::ca_issuers
      Src: /src/botan/src/tests/unit_x509.cpp:657,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:659,1
    - Dst: auto::size
      Src: /src/botan/src/tests/unit_x509.cpp:659,1
    - Dst: Test::Result::tests_failed
      Src: /src/botan/src/tests/unit_x509.cpp:660,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:664,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:665,1
    - Dst: Botan::X509_Certificate::ocsp_responder
      Src: /src/botan/src/tests/unit_x509.cpp:665,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:669,1
    - Dst: Botan::X509_Certificate::ca_issuers
      Src: /src/botan/src/tests/unit_x509.cpp:671,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:673,1
    - Dst: auto::size
      Src: /src/botan/src/tests/unit_x509.cpp:673,1
    - Dst: Test::Result::tests_failed
      Src: /src/botan/src/tests/unit_x509.cpp:674,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:678,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:680,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:684,1
    - Dst: Botan::X509_Certificate::ocsp_responder
      Src: /src/botan/src/tests/unit_x509.cpp:684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 687
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 687
    functionName: Botan_Tests::test_x509_authority_info_access_extension
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate::ocsp_responder
    - Test::Result::tests_failed
    - Botan::X509_Certificate::ca_issuers
    - Botan_Tests::Test::data_file
    - auto::size
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_authority_info_access_extension()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:695,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/unit_x509.cpp:696,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:698,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 702
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 702
    functionName: Botan_Tests::test_parse_rsa_pss_cert
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_failure
    - Test::Result::test_success
    - Botan_Tests::Test::data_file
    - what
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_parse_rsa_pss_cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/unit_x509.cpp:709,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:710,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:711,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/unit_x509.cpp:713,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/unit_x509.cpp:714,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:718,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:720,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/unit_x509.cpp:720,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:723,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 728
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 728
    functionName: Botan_Tests::test_verify_gost2012_cert
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - what
    - Botan::EC_Group::supports_named_group
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::confirm
    - Botan_Tests::Test::data_file
    - Test::Result::test_failure
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::Path_Validation_Result::successful_validation
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_verify_gost2012_cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/unit_x509.cpp:740,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:742,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/unit_x509.cpp:743,1
    - Dst: Botan::X509_Cert_Options::CA_key
      Src: /src/botan/src/tests/unit_x509.cpp:747,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:749,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:750,1
    - Dst: Botan::X509_Certificate::signature_algorithm
      Src: /src/botan/src/tests/unit_x509.cpp:751,1
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/unit_x509.cpp:755,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:756,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:757,1
    - Dst: Botan::X509_Certificate::signature_algorithm
      Src: /src/botan/src/tests/unit_x509.cpp:758,1
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/unit_x509.cpp:763,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:765,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:766,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/unit_x509.cpp:767,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:769,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/unit_x509.cpp:769,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:770,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:775,1
    - Dst: Botan::X509_Certificate::signature_algorithm
      Src: /src/botan/src/tests/unit_x509.cpp:776,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:779,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:780,1
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/unit_x509.cpp:784,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:785,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:786,1
    - Dst: Botan::PKCS10_Request::signature_algorithm
      Src: /src/botan/src/tests/unit_x509.cpp:787,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:792,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:794,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:796,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:802,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:803,1
    - Dst: Botan::X509_Certificate::signature_algorithm
      Src: /src/botan/src/tests/unit_x509.cpp:804,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:809,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:810,1
    - Dst: Botan::X509_Certificate::signature_algorithm
      Src: /src/botan/src/tests/unit_x509.cpp:811,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:816,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:817,1
    - Dst: Botan::X509_Certificate::signature_algorithm
      Src: /src/botan/src/tests/unit_x509.cpp:818,1
    - Dst: Botan::X509_CA::new_crl
      Src: /src/botan/src/tests/unit_x509.cpp:822,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:823,1
    - Dst: Botan::X509_CRL::signature_algorithm
      Src: /src/botan/src/tests/unit_x509.cpp:823,1
    - Dst: Botan::X509_CA::ca_certificate
      Src: /src/botan/src/tests/unit_x509.cpp:826,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:829,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:830,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/unit_x509.cpp:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 833
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 833
    functionName: Botan_Tests::test_padding_config
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate::signature_algorithm
    - Botan::X509_CA::sign_request
    - Botan_Tests::Test::data_file
    - Botan::PKCS10_Request::signature_algorithm
    - Botan::X509_CA::ca_certificate
    - Botan::X509::create_cert_req
    - Test::Result::test_eq
    - Botan::PKCS8::load_key
    - what
    - Test::Result::confirm
    - Botan_Tests::from_date
    - Botan::X509::create_self_signed_cert
    - auto::algo_name
    - Botan_Tests::Test::new_rng
    - Botan::x509_path_validate
    - Test::Result::test_failure
    - Botan::X509_CRL::signature_algorithm
    - Botan::X509_Cert_Options::set_padding_scheme
    - Botan::X509_CA::new_crl
    - Botan::Path_Validation_Result::successful_validation
    - Botan::X509_Cert_Options::CA_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_padding_config()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Cert_Options::X509_Cert_Options
      Src: /src/botan/src/tests/unit_x509.cpp:844,1
    - Dst: Botan::X509_Cert_Options::more_dns::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:847,1
    - Dst: Botan::X509_Cert_Options::more_dns::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:848,1
    - Dst: Botan::AlternativeName::AlternativeName
      Src: /src/botan/src/tests/unit_x509.cpp:852,1
    - Dst: Botan::AlternativeName::add_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:853,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:856,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:857,1
    - Dst: Botan::AlternativeName::add_dn
      Src: /src/botan/src/tests/unit_x509.cpp:858,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/unit_x509.cpp:860,1
    - Dst: std::make_unique<Botan::Cert_Extension::Subject_Alternative_Name>
      Src: /src/botan/src/tests/unit_x509.cpp:860,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:862,1
    - Dst: auto::subject_alt_name
      Src: /src/botan/src/tests/unit_x509.cpp:864,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:866,1
    - Dst: auto::size
      Src: /src/botan/src/tests/unit_x509.cpp:866,1
    - Dst: auto::size
      Src: /src/botan/src/tests/unit_x509.cpp:868,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:869,1
    - Dst: auto::at
      Src: /src/botan/src/tests/unit_x509.cpp:869,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:870,1
    - Dst: auto::at
      Src: /src/botan/src/tests/unit_x509.cpp:870,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:871,1
    - Dst: auto::at
      Src: /src/botan/src/tests/unit_x509.cpp:871,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:872,1
    - Dst: auto::at
      Src: /src/botan/src/tests/unit_x509.cpp:872,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:875,1
    - Dst: auto::subject_alt_name
      Src: /src/botan/src/tests/unit_x509.cpp:875,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:876,1
    - Dst: auto::subject_alt_name
      Src: /src/botan/src/tests/unit_x509.cpp:876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 4
    argNames:
    - ' key'
    - ' sig_padding'
    - ' hash_fn'
    - ' rng'
    argTypes:
    - Botan::Private_Key
    - std::string
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 879
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 879
    functionName: Botan_Tests::test_pkcs10_ext
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509::create_cert_req
    - auto::size
    - Test::Result::confirm
    - std::make_unique<Botan::Cert_Extension::Subject_Alternative_Name>
    - Botan::AlternativeName::add_dn
    - auto::subject_alt_name
    - Botan::X509_DN::add_attribute
    - Botan::X509_Cert_Options::more_dns::push_back
    - Botan::AlternativeName::AlternativeName
    - Botan::X509_Cert_Options::extensions::add
    - Botan::AlternativeName::add_attribute
    - Test::Result::test_eq
    - auto::at
    - Botan::X509_Cert_Options::X509_Cert_Options
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_pkcs10_ext(const Botan::Private_Key& key,\n                             const
      std::string& sig_padding,\n                             const std::string& hash_fn,\n
      \                            Botan::RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:889,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:889,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:892,1
    - Dst: auto::constraints
      Src: /src/botan/src/tests/unit_x509.cpp:892,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:893,1
    - Dst: auto::constraints
      Src: /src/botan/src/tests/unit_x509.cpp:893,1
    - Dst: Botan_Tests::make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:897,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:900,1
    - Dst: Botan_Tests::req_opts1
      Src: /src/botan/src/tests/unit_x509.cpp:900,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:902,1
    - Dst: Botan::PKCS10_Request::challenge_password
      Src: /src/botan/src/tests/unit_x509.cpp:902,1
    - Dst: Botan_Tests::make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:905,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:907,1
    - Dst: Botan_Tests::req_opts2
      Src: /src/botan/src/tests/unit_x509.cpp:907,1
    - Dst: Botan_Tests::make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:910,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:912,1
    - Dst: Botan_Tests::req_opts3
      Src: /src/botan/src/tests/unit_x509.cpp:912,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:921,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:921,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:921,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:923,1
    - Dst: Botan::X509_Certificate::serial_number
      Src: /src/botan/src/tests/unit_x509.cpp:923,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:924,1
    - Dst: Botan::X509_Certificate::serial_number
      Src: /src/botan/src/tests/unit_x509.cpp:924,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:926,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:926,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:926,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:927,1
    - Dst: Botan::X509_Certificate::has_ex_constraint
      Src: /src/botan/src/tests/unit_x509.cpp:927,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:929,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:929,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:929,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:933,1
    - Dst: Botan_Tests::req_opts1
      Src: /src/botan/src/tests/unit_x509.cpp:933,1
    - Dst: Botan_Tests::req_opts1
      Src: /src/botan/src/tests/unit_x509.cpp:936,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:937,1
    - Dst: Botan::X509_Certificate::constraints
      Src: /src/botan/src/tests/unit_x509.cpp:937,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:942,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:945,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:948,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:948,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:948,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:950,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:953,1
    - Dst: Botan::X509_Certificate::x509_version
      Src: /src/botan/src/tests/unit_x509.cpp:953,1
    - Dst: Botan::X509_Certificate::issuer_dn
      Src: /src/botan/src/tests/unit_x509.cpp:955,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:956,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:956,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:956,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:957,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:957,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:957,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:958,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:958,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:958,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:959,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:959,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:959,1
    - Dst: Botan::X509_Certificate::subject_dn
      Src: /src/botan/src/tests/unit_x509.cpp:961,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:962,1
    - Dst: get_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:963,1
    - Dst: Botan_Tests::req_opts3
      Src: /src/botan/src/tests/unit_x509.cpp:964,1
    - Dst: size
      Src: /src/botan/src/tests/unit_x509.cpp:964,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:965,1
    - Dst: get_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:966,1
    - Dst: Botan_Tests::req_opts3
      Src: /src/botan/src/tests/unit_x509.cpp:966,1
    - Dst: at
      Src: /src/botan/src/tests/unit_x509.cpp:966,1
    - Dst: Botan::X509_Certificate::subject_alt_name
      Src: /src/botan/src/tests/unit_x509.cpp:968,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:969,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:969,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:970,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:970,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:971,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:971,1
    - Dst: Botan::X509_Certificate::subject_alt_name
      Src: /src/botan/src/tests/unit_x509.cpp:973,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:974,1
    - Dst: get_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:975,1
    - Dst: Botan_Tests::req_opts3
      Src: /src/botan/src/tests/unit_x509.cpp:975,1
    - Dst: size
      Src: /src/botan/src/tests/unit_x509.cpp:975,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:976,1
    - Dst: get_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:976,1
    - Dst: Botan_Tests::req_opts3
      Src: /src/botan/src/tests/unit_x509.cpp:976,1
    - Dst: at
      Src: /src/botan/src/tests/unit_x509.cpp:976,1
    - Dst: Botan::X509_CA::new_crl
      Src: /src/botan/src/tests/unit_x509.cpp:978,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/unit_x509.cpp:982,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:985,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:986,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/unit_x509.cpp:987,1
    - Dst: Botan::Path_Validation_Result::status_string
      Src: /src/botan/src/tests/unit_x509.cpp:988,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/unit_x509.cpp:990,1
    - Dst: Botan::X509_CA::ca_certificate
      Src: /src/botan/src/tests/unit_x509.cpp:990,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:992,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:993,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/unit_x509.cpp:993,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/unit_x509.cpp:994,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/unit_x509.cpp:994,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:997,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:998,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/unit_x509.cpp:998,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/unit_x509.cpp:999,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/unit_x509.cpp:999,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:1002,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1003,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/unit_x509.cpp:1004,1
    - Dst: Botan::Path_Validation_Result::status_string
      Src: /src/botan/src/tests/unit_x509.cpp:1005,1
    - Dst: Botan::Certificate_Store_In_Memory::add_crl
      Src: /src/botan/src/tests/unit_x509.cpp:1006,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1009,1
    - Dst: Botan::CRL_Entry::CRL_Entry
      Src: /src/botan/src/tests/unit_x509.cpp:1009,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1010,1
    - Dst: Botan::X509_CA::update_crl
      Src: /src/botan/src/tests/unit_x509.cpp:1012,1
    - Dst: Botan::Certificate_Store_In_Memory::add_crl
      Src: /src/botan/src/tests/unit_x509.cpp:1014,1
    - Dst: Botan::Path_Validation_Result::status_string
      Src: /src/botan/src/tests/unit_x509.cpp:1017,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:1019,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1020,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/unit_x509.cpp:1020,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:1022,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1023,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/unit_x509.cpp:1023,1
    - Dst: std::vector::clear
      Src: /src/botan/src/tests/unit_x509.cpp:1025,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1026,1
    - Dst: Botan::CRL_Entry::CRL_Entry
      Src: /src/botan/src/tests/unit_x509.cpp:1026,1
    - Dst: Botan::X509_CA::update_crl
      Src: /src/botan/src/tests/unit_x509.cpp:1027,1
    - Dst: Botan::Certificate_Store_In_Memory::add_crl
      Src: /src/botan/src/tests/unit_x509.cpp:1029,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:1031,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1032,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/unit_x509.cpp:1032,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/unit_x509.cpp:1033,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/unit_x509.cpp:1033,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:1036,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1037,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/unit_x509.cpp:1037,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 53
    argCount: 5
    argNames:
    - ' ca_key'
    - ' sig_algo'
    - ' sig_padding'
    - ' hash_fn'
    - ' rng'
    argTypes:
    - Botan::Private_Key
    - std::string
    - std::string
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1040
      start: 881
    functionDepth: 2
    functionLinenumber: 881
    functionLinenumberEnd: 1040
    functionName: Botan_Tests::test_x509_cert
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_CA::sign_request
    - at
    - Botan::X509_Certificate::subject_alt_name
    - get_attribute
    - std::vector::push_back
    - Botan::X509_CA::ca_certificate
    - Botan::X509::create_cert_req
    - Test::Result::test_eq
    - Botan_Tests::make_a_private_key
    - Test::Result::test_note
    - Botan_Tests::req_opts3
    - Test::Result::confirm
    - Botan::Certificate_Store_In_Memory::add_certificate
    - std::vector::clear
    - Botan::X509_Certificate::issuer_dn
    - Botan::X509_CA::update_crl
    - Botan_Tests::from_date
    - Botan::X509_Certificate::constraints
    - Botan_Tests::ca_opts
    - Botan::X509_Certificate::x509_version
    - Botan::Certificate_Store_In_Memory::add_crl
    - Botan::X509::create_self_signed_cert
    - Botan::Path_Validation_Result::result_string
    - size
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - get_first_attribute
    - Botan_Tests::req_opts2
    - auto::constraints
    - Botan::x509_path_validate
    - Botan::Path_Validation_Result::status_string
    - Botan::CRL_Entry::CRL_Entry
    - Botan::X509_Certificate::serial_number
    - Botan::X509_Certificate::has_ex_constraint
    - Botan_Tests::req_opts1
    - Botan::X509_CA::new_crl
    - Botan::PKCS10_Request::challenge_password
    - Botan::Path_Validation_Result::successful_validation
    - Botan::X509_Certificate::subject_dn
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_x509_cert(const Botan::Private_Key& ca_key,\n                            const
      std::string& sig_algo,\n                            const std::string& sig_padding,\n
      \                           const std::string& hash_fn,\n                            Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:1052,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:1052,1
    - Dst: Botan_Tests::make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:1057,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:1062,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:1065,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1065,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1065,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1068,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1070,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1070,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1072,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1072,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1075,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1075,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1077,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:1079,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:1082,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1082,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1082,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1085,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1086,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1087,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1087,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1088,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1090,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1090,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1091,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1091,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1093,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:1095,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:1098,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1098,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1098,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1101,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1101,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1102,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1102,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1103,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1103,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1107,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:1109,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:1112,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1112,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1112,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1114,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1114,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1115,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 4
    argNames:
    - ' ca_key'
    - ' sig_algo'
    - ' hash_fn'
    - ' rng'
    argTypes:
    - Botan::Private_Key
    - std::string
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1119
      start: 1042
    functionDepth: 2
    functionLinenumber: 1042
    functionLinenumberEnd: 1119
    functionName: Botan_Tests::test_usage
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::make_a_private_key
    - Botan_Tests::ca_opts
    - Botan::X509_Certificate::allowed_usage
    - Botan::X509_CA::sign_request
    - Botan::X509::create_self_signed_cert
    - Key_Constraints
    - Test::Result::confirm
    - Botan_Tests::from_date
    - Botan::X509::create_cert_req
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_usage(const Botan::Private_Key& ca_key,\n                        const
      std::string& sig_algo,\n                        const std::string& hash_fn,\n
      \                       Botan::RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:1132,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:1132,1
    - Dst: Botan_Tests::make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:1137,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:1141,1
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/unit_x509.cpp:1143,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:1145,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:1148,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1148,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1148,1
    - Dst: Botan::X509_CA::ca_certificate
      Src: /src/botan/src/tests/unit_x509.cpp:1151,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/unit_x509.cpp:1156,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1158,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/unit_x509.cpp:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' ca_key'
    - ' sig_algo'
    - ' sig_padding'
    - ' hash_fn'
    - ' rng'
    argTypes:
    - Botan::Private_Key
    - std::string
    - std::string
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1161
      start: 1121
    functionDepth: 2
    functionLinenumber: 1121
    functionLinenumberEnd: 1161
    functionName: Botan_Tests::test_self_issued
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::make_a_private_key
    - Botan::x509_path_validate
    - Botan_Tests::ca_opts
    - Botan::X509_CA::sign_request
    - Botan::X509::create_self_signed_cert
    - Test::Result::confirm
    - Botan::X509_CA::ca_certificate
    - Botan::X509_Cert_Options::set_padding_scheme
    - Botan_Tests::from_date
    - Botan::X509::create_cert_req
    - Botan::Path_Validation_Result::successful_validation
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_self_issued(const Botan::Private_Key& ca_key,\n
      \                             const std::string& sig_algo,\n                              const
      std::string& sig_padding,\n                              const std::string&
      hash_fn,\n                              Botan::RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate::X509_Certificate
      Src: /src/botan/src/tests/unit_x509.cpp:1166,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/unit_x509.cpp:1167,1
    - Dst: Botan::X509_Certificate::x509_version
      Src: /src/botan/src/tests/unit_x509.cpp:1168,1
    - Dst: Botan::X509_CRL::X509_CRL
      Src: /src/botan/src/tests/unit_x509.cpp:1171,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/unit_x509.cpp:1172,1
    - Dst: Botan::X509_CRL::crl_number
      Src: /src/botan/src/tests/unit_x509.cpp:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1176
    functionName: Botan_Tests::test_x509_uninit
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - Botan::X509_Certificate::x509_version
    - Botan::X509_CRL::X509_CRL
    - Botan::X509_Certificate::X509_Certificate
    - Botan::X509_CRL::crl_number
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_uninit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1183,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1183,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1188,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1193,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1194,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1195,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1196,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1197,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1198,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1200,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1202,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1203,1
    - Dst: Key_Constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1205,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1209,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1209,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1210,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1210,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1211,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1211,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1212,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1212,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1213,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1213,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1214,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1214,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1215,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1215,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1216,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1216,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1217,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1217,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1218,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1218,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1219,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1219,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1222,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1222,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1223,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1223,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1224,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1224,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1225,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1225,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1226,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1226,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1227,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1227,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1228,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1228,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1229,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1229,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1230,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1230,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1233,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1233,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1235,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1235,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1236,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1236,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1237,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1237,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1238,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1238,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1239,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1239,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1240,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1240,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1241,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1241,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1242,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1242,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1243,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1243,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1244,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1244,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1247,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1247,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1248,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1248,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1249,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1249,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1250,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1250,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1251,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1251,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1252,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1252,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1253,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1253,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1254,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1254,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1255,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1255,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1260,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1260,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1262,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1262,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1263,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1263,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1264,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1264,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1265,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1265,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1266,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1266,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1267,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1267,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1268,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1268,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1269,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1269,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1270,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1270,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1271,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/tests/unit_x509.cpp:1271,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 2
    argNames:
    - ' key'
    - ' pk_algo'
    argTypes:
    - Botan::Private_Key
    - std::string
    constantsTouched: []
    func_position:
      end: 1275
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1275
    functionName: Botan_Tests::test_valid_constraints
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Test::Result::confirm
    - Key_Constraints
    - auto::compatible_with
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_valid_constraints(const Botan::Private_Key& key,
      const std::string& pk_algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1282
    functionName: Botan_Tests::String_Extension::String_Extension
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void String_Extension()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 1284
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1284
    functionName: Botan_Tests::String_Extension::String_Extension
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void String_Extension(const std::string& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1286
    functionName: Botan_Tests::String_Extension::value
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<String_Extension>
      Src: /src/botan/src/tests/unit_x509.cpp:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1290
    functionName: Botan_Tests::String_Extension::copy
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<String_Extension>
    linkageType: ''
    returnType: std::unique_ptr<Certificate_Extension>
    signature: std::unique_ptr<Certificate_Extension> copy() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/tests/unit_x509.cpp:1292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1292
    functionDepth: 1
    functionLinenumber: 1292
    functionLinenumberEnd: 1292
    functionName: Botan_Tests::String_Extension::oid_of
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::from_OID
    linkageType: ''
    returnType: Botan::OID
    signature: Botan::OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1294
    functionName: Botan_Tests::String_Extension::should_encode
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1296
    functionName: Botan_Tests::String_Extension::oid_name
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string oid_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DER_Encoder::DER_Encoder
      Src: /src/botan/src/tests/unit_x509.cpp:1300,1
    - Dst: Botan::ASN1_String::ASN1_String
      Src: /src/botan/src/tests/unit_x509.cpp:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1298
    functionDepth: 1
    functionLinenumber: 1298
    functionLinenumberEnd: 1302
    functionName: Botan_Tests::String_Extension::encode_inner
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1_String::ASN1_String
    - Botan::DER_Encoder::DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> encode_inner() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_String::ASN1_String
      Src: /src/botan/src/tests/unit_x509.cpp:1305,1
    - Dst: Botan::BER_Decoder::BER_Decoder
      Src: /src/botan/src/tests/unit_x509.cpp:1306,1
    - Dst: Botan::ASN1_String::value
      Src: /src/botan/src/tests/unit_x509.cpp:1307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 1308
      start: 1304
    functionDepth: 1
    functionLinenumber: 1304
    functionLinenumberEnd: 1308
    functionName: Botan_Tests::String_Extension::decode_inner
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1_String::ASN1_String
    - Botan::BER_Decoder::BER_Decoder
    - Botan::ASN1_String::value
    linkageType: ''
    returnType: void
    signature: void decode_inner(const std::vector<uint8_t>& in) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:1322,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:1322,1
    - Dst: Botan_Tests::make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:1327,1
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/tests/unit_x509.cpp:1331,1
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/tests/unit_x509.cpp:1332,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:1336,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:1337,1
    - Dst: Botan::PKCS10_Request::create
      Src: /src/botan/src/tests/unit_x509.cpp:1342,1
    - Dst: Botan::PKCS10_Request::subject_dn
      Src: /src/botan/src/tests/unit_x509.cpp:1344,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1346,1
    - Dst: dn_info
      Src: /src/botan/src/tests/unit_x509.cpp:1346,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:1348,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:1349,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1350,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1351,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1352,1
    - Dst: Botan::ASN1_String::tagging
      Src: /src/botan/src/tests/unit_x509.cpp:1352,1
    - Dst: Botan::ASN1_String::tagging
      Src: /src/botan/src/tests/unit_x509.cpp:1352,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1353,1
    - Dst: Botan::ASN1_String::tagging
      Src: /src/botan/src/tests/unit_x509.cpp:1353,1
    - Dst: Botan::ASN1_String::tagging
      Src: /src/botan/src/tests/unit_x509.cpp:1353,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:1358,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/unit_x509.cpp:1360,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1362,1
    - Dst: dn_info
      Src: /src/botan/src/tests/unit_x509.cpp:1362,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:1364,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_x509.cpp:1365,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1366,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1367,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1368,1
    - Dst: Botan::ASN1_String::tagging
      Src: /src/botan/src/tests/unit_x509.cpp:1368,1
    - Dst: Botan::ASN1_String::tagging
      Src: /src/botan/src/tests/unit_x509.cpp:1368,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1369,1
    - Dst: Botan::ASN1_String::tagging
      Src: /src/botan/src/tests/unit_x509.cpp:1369,1
    - Dst: Botan::ASN1_String::tagging
      Src: /src/botan/src/tests/unit_x509.cpp:1369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 5
    argNames:
    - ' ca_key'
    - ' sig_algo'
    - ' sig_padding'
    - ' hash_fn'
    - ' rng'
    argTypes:
    - Botan::Private_Key
    - std::string
    - std::string
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1372
      start: 1314
    functionDepth: 2
    functionLinenumber: 1314
    functionLinenumberEnd: 1372
    functionName: Botan_Tests::test_custom_dn_attr
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::make_a_private_key
    - Botan_Tests::ca_opts
    - Botan::ASN1_String::tagging
    - Botan::EC_Group::from_OID
    - Test::Result::confirm
    - Botan::X509::create_self_signed_cert
    - Botan::PKCS10_Request::subject_dn
    - Botan::X509_CA::sign_request
    - auto::subject_dn
    - Botan::PKCS10_Request::create
    - dn_info
    - get_first_attribute
    - Botan::X509_DN::add_attribute
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_custom_dn_attr(const Botan::Private_Key& ca_key,\n
      \                                const std::string& sig_algo,\n                                 const
      std::string& sig_padding,\n                                 const std::string&
      hash_fn,\n                                 Botan::RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:1384,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/unit_x509.cpp:1384,1
    - Dst: Botan::AlternativeName::AlternativeName
      Src: /src/botan/src/tests/unit_x509.cpp:1397,1
    - Dst: Botan::AlternativeName::add_uri
      Src: /src/botan/src/tests/unit_x509.cpp:1398,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_x509.cpp:1401,1
    - Dst: Botan_Tests::make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:1404,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/tests/unit_x509.cpp:1412,1
    - Dst: Botan::Extensions::add
      Src: /src/botan/src/tests/unit_x509.cpp:1413,1
    - Dst: std::make_unique<String_Extension>
      Src: /src/botan/src/tests/unit_x509.cpp:1413,1
    - Dst: Botan::Extensions::add
      Src: /src/botan/src/tests/unit_x509.cpp:1414,1
    - Dst: std::make_unique<Botan::Cert_Extension::CRL_Distribution_Points>
      Src: /src/botan/src/tests/unit_x509.cpp:1414,1
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/unit_x509.cpp:1416,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:1419,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1421,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1422,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1425,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1426,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1427,1
    - Dst: dynamic_cast<Botan::Cert_Extension::Key_Usage&>
      Src: /src/botan/src/tests/unit_x509.cpp:1429,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1433,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1434,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1435,1
    - Dst: auto::value
      Src: /src/botan/src/tests/unit_x509.cpp:1436,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1441,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1443,1
    - Dst: auto::crl_distribution_urls
      Src: /src/botan/src/tests/unit_x509.cpp:1444,1
    - Dst: auto::distribution_points
      Src: /src/botan/src/tests/unit_x509.cpp:1445,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1446,1
    - Dst: Botan::TLS::Session_Manager::find
      Src: /src/botan/src/tests/unit_x509.cpp:1447,1
    - Dst: point
      Src: /src/botan/src/tests/unit_x509.cpp:1447,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/unit_x509.cpp:1447,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:1451,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:1455,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1455,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1455,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1458,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1458,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1460,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1461,1
    - Dst: dynamic_cast<Botan::Cert_Extension::Key_Usage&>
      Src: /src/botan/src/tests/unit_x509.cpp:1462,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1463,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1468,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1469,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1470,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1471,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1472,1
    - Dst: auto::value
      Src: /src/botan/src/tests/unit_x509.cpp:1473,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1477,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1479,1
    - Dst: auto::crl_distribution_urls
      Src: /src/botan/src/tests/unit_x509.cpp:1480,1
    - Dst: auto::distribution_points
      Src: /src/botan/src/tests/unit_x509.cpp:1481,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1482,1
    - Dst: Botan::TLS::Session_Manager::find
      Src: /src/botan/src/tests/unit_x509.cpp:1483,1
    - Dst: point
      Src: /src/botan/src/tests/unit_x509.cpp:1483,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/unit_x509.cpp:1483,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 5
    argNames:
    - ' ca_key'
    - ' sig_algo'
    - ' sig_padding'
    - ' hash_fn'
    - ' rng'
    argTypes:
    - Botan::Private_Key
    - std::string
    - std::string
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1488
      start: 1374
    functionDepth: 2
    functionLinenumber: 1374
    functionLinenumberEnd: 1488
    functionName: Botan_Tests::test_x509_extensions
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - point
    - Botan::X509_CA::sign_request
    - Botan::Extensions::add
    - Botan::X509::create_cert_req
    - Test::Result::test_eq
    - Botan_Tests::make_a_private_key
    - dynamic_cast<Botan::Cert_Extension::Key_Usage&>
    - Botan::AlternativeName::add_uri
    - auto::value
    - Test::Result::confirm
    - auto::crl_distribution_urls
    - Botan_Tests::from_date
    - std::vector::end
    - Botan::X509_Certificate::v3_extensions
    - std::make_unique<Botan::Cert_Extension::CRL_Distribution_Points>
    - Botan_Tests::ca_opts
    - Botan::TLS::Session_Manager::find
    - Botan::X509::create_self_signed_cert
    - Botan::AlternativeName::AlternativeName
    - std::vector::emplace_back
    - auto::distribution_points
    - std::make_unique<String_Extension>
    - Botan::X509_Cert_Options::set_padding_scheme
    - Botan::OID::from_string
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_x509_extensions(const Botan::Private_Key& ca_key,\n
      \                                 const std::string& sig_algo,\n                                  const
      std::string& sig_padding,\n                                  const std::string&
      hash_fn,\n                                  Botan::RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Cert_Options::CA_key
      Src: /src/botan/src/tests/unit_x509.cpp:1522,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_x509.cpp:1524,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1526,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/unit_x509.cpp:1526,1
    - Dst: Botan::X509_Certificate::raw_issuer_dn_sha256
      Src: /src/botan/src/tests/unit_x509.cpp:1526,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1527,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/unit_x509.cpp:1527,1
    - Dst: Botan::X509_Certificate::raw_subject_dn_sha256
      Src: /src/botan/src/tests/unit_x509.cpp:1527,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_x509.cpp:1531,1
    - Dst: Botan::X509_Cert_Options::X509_Cert_Options
      Src: /src/botan/src/tests/unit_x509.cpp:1531,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_x509.cpp:1533,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1533,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/unit_x509.cpp:1533,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1535,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/unit_x509.cpp:1535,1
    - Dst: Botan::X509_Certificate::raw_issuer_dn_sha256
      Src: /src/botan/src/tests/unit_x509.cpp:1535,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1536,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/unit_x509.cpp:1536,1
    - Dst: Botan::X509_Certificate::raw_subject_dn_sha256
      Src: /src/botan/src/tests/unit_x509.cpp:1536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' key'
    - ' hash_fn'
    - ' rng'
    argTypes:
    - Botan::Private_Key
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1539
      start: 1490
    functionDepth: 1
    functionLinenumber: 1490
    functionLinenumberEnd: 1539
    functionName: Botan_Tests::test_hashes
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Cert_Options::CA_key
    - Botan::X509_CA::sign_request
    - Botan::X509::create_self_signed_cert
    - Botan_Tests::from_date
    - Botan::hex_encode
    - Botan::X509::create_cert_req
    - Test::Result::test_eq
    - Botan::X509_Certificate::raw_subject_dn_sha256
    - Botan::X509_Cert_Options::X509_Cert_Options
    - Botan::X509_Certificate::raw_issuer_dn_sha256
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_hashes(const Botan::Private_Key& key, const std::string&
      hash_fn, Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/unit_x509.cpp:1561,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/unit_x509.cpp:1563,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1567,1
    - Dst: auto::entries
      Src: /src/botan/src/tests/unit_x509.cpp:1569,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_x509.cpp:1571,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/unit_x509.cpp:1573,1
    - Dst: telephone_number_range
      Src: /src/botan/src/tests/unit_x509.cpp:1574,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/unit_x509.cpp:1575,1
    - Dst: telephone_number
      Src: /src/botan/src/tests/unit_x509.cpp:1576,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/unit_x509.cpp:1577,1
    - Dst: service_provider_code
      Src: /src/botan/src/tests/unit_x509.cpp:1578,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1580,1
    - Dst: type
      Src: /src/botan/src/tests/unit_x509.cpp:1580,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1581,1
    - Dst: service_provider_code
      Src: /src/botan/src/tests/unit_x509.cpp:1581,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1583,1
    - Dst: type
      Src: /src/botan/src/tests/unit_x509.cpp:1583,1
    - Dst: telephone_number_range
      Src: /src/botan/src/tests/unit_x509.cpp:1584,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1585,1
    - Dst: size
      Src: /src/botan/src/tests/unit_x509.cpp:1585,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1586,1
    - Dst: start::value
      Src: /src/botan/src/tests/unit_x509.cpp:1586,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1587,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1588,1
    - Dst: start::value
      Src: /src/botan/src/tests/unit_x509.cpp:1588,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1589,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1591,1
    - Dst: type
      Src: /src/botan/src/tests/unit_x509.cpp:1591,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_x509.cpp:1592,1
    - Dst: telephone_number
      Src: /src/botan/src/tests/unit_x509.cpp:1592,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/unit_x509.cpp:1594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1543
    functionDepth: 1
    functionLinenumber: 1543
    functionLinenumberEnd: 1596
    functionName: Botan_Tests::test_x509_tn_auth_list_extension_decode
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - telephone_number
    - type
    - auto::entries
    - Test::Result::test_throws
    - Test::Result::start_timer
    - Test::Result::end_timer
    - start::value
    - Test::Result::confirm
    - Botan_Tests::Test::data_file
    - size
    - telephone_number_range
    - Test::Result::test_eq
    - service_provider_code
    - Botan::X509_Certificate::v3_extensions
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_tn_auth_list_extension_decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - ' sig_algo'
    - ' hash'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 1615
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1615
    functionName: Botan_Tests::get_sig_paddings
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> get_sig_paddings(const std::string& sig_algo,
      const std::string& hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::X509_Cert_Unit_Tests::rng
      Src: /src/botan/src/tests/unit_x509.cpp:1622,1
    - Dst: make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:1655,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1661,1
    - Dst: test_hashes
      Src: /src/botan/src/tests/unit_x509.cpp:1661,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1662,1
    - Dst: test_valid_constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1662,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/unit_x509.cpp:1666,1
    - Dst: test_usage
      Src: /src/botan/src/tests/unit_x509.cpp:1666,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:1668,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:1668,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1670,1
    - Dst: get_sig_paddings
      Src: /src/botan/src/tests/unit_x509.cpp:1672,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/unit_x509.cpp:1676,1
    - Dst: test_x509_cert
      Src: /src/botan/src/tests/unit_x509.cpp:1676,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:1678,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:1678,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1680,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/unit_x509.cpp:1684,1
    - Dst: test_pkcs10_ext
      Src: /src/botan/src/tests/unit_x509.cpp:1684,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:1686,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:1686,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1688,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/unit_x509.cpp:1692,1
    - Dst: test_self_issued
      Src: /src/botan/src/tests/unit_x509.cpp:1692,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:1694,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:1694,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1696,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/unit_x509.cpp:1700,1
    - Dst: test_x509_extensions
      Src: /src/botan/src/tests/unit_x509.cpp:1700,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:1702,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:1702,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1704,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/unit_x509.cpp:1708,1
    - Dst: test_custom_dn_attr
      Src: /src/botan/src/tests/unit_x509.cpp:1708,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:1710,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:1710,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1712,1
    - Dst: make_a_private_key
      Src: /src/botan/src/tests/unit_x509.cpp:1723,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1726,1
    - Dst: test_valid_constraints
      Src: /src/botan/src/tests/unit_x509.cpp:1726,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/unit_x509.cpp:1734,1
    - Dst: test_padding_config
      Src: /src/botan/src/tests/unit_x509.cpp:1734,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_x509.cpp:1736,1
    - Dst: what
      Src: /src/botan/src/tests/unit_x509.cpp:1736,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1738,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1742,1
    - Dst: test_x509_utf8
      Src: /src/botan/src/tests/unit_x509.cpp:1742,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1743,1
    - Dst: test_x509_bmpstring
      Src: /src/botan/src/tests/unit_x509.cpp:1743,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1744,1
    - Dst: test_x509_teletex
      Src: /src/botan/src/tests/unit_x509.cpp:1744,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1745,1
    - Dst: test_crl_dn_name
      Src: /src/botan/src/tests/unit_x509.cpp:1745,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1746,1
    - Dst: test_rdn_multielement_set_name
      Src: /src/botan/src/tests/unit_x509.cpp:1746,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1747,1
    - Dst: test_x509_decode_list
      Src: /src/botan/src/tests/unit_x509.cpp:1747,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1748,1
    - Dst: test_rsa_oaep
      Src: /src/botan/src/tests/unit_x509.cpp:1748,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1749,1
    - Dst: test_x509_authority_info_access_extension
      Src: /src/botan/src/tests/unit_x509.cpp:1749,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1750,1
    - Dst: test_verify_gost2012_cert
      Src: /src/botan/src/tests/unit_x509.cpp:1750,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1751,1
    - Dst: test_parse_rsa_pss_cert
      Src: /src/botan/src/tests/unit_x509.cpp:1751,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1752,1
    - Dst: test_x509_tn_auth_list_extension_decode
      Src: /src/botan/src/tests/unit_x509.cpp:1752,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1755,1
    - Dst: test_x509_encode_authority_info_access_extension
      Src: /src/botan/src/tests/unit_x509.cpp:1755,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1756,1
    - Dst: test_x509_extension
      Src: /src/botan/src/tests/unit_x509.cpp:1756,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1757,1
    - Dst: test_x509_dates
      Src: /src/botan/src/tests/unit_x509.cpp:1757,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1758,1
    - Dst: test_cert_status_strings
      Src: /src/botan/src/tests/unit_x509.cpp:1758,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_x509.cpp:1759,1
    - Dst: test_x509_uninit
      Src: /src/botan/src/tests/unit_x509.cpp:1759,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1619
    functionDepth: 1
    functionLinenumber: 1619
    functionLinenumberEnd: 1762
    functionName: Botan_Tests::X509_Cert_Unit_Tests::run
    functionSourceFile: /src/botan/src/tests/unit_x509.cpp
    functionUses: 0
    functionsReached:
    - test_cert_status_strings
    - test_pkcs10_ext
    - test_x509_authority_info_access_extension
    - test_x509_encode_authority_info_access_extension
    - test_x509_decode_list
    - std::vector::push_back
    - test_x509_utf8
    - test_x509_tn_auth_list_extension_decode
    - test_x509_uninit
    - what
    - test_x509_dates
    - Test::Result::merge
    - test_x509_extensions
    - test_hashes
    - test_verify_gost2012_cert
    - test_x509_cert
    - test_self_issued
    - Botan_Tests::X509_Cert_Unit_Tests::rng
    - test_rdn_multielement_set_name
    - make_a_private_key
    - test_custom_dn_attr
    - test_x509_bmpstring
    - test_parse_rsa_pss_cert
    - test_usage
    - test_valid_constraints
    - test_crl_dn_name
    - test_x509_teletex
    - Test::Result::test_failure
    - test_x509_extension
    - test_rsa_oaep
    - test_padding_config
    - get_sig_paddings
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_jitter_rng.cpp:26,1
    - Dst: Botan::Jitter_RNG::Jitter_RNG
      Src: /src/botan/src/tests/test_jitter_rng.cpp:30,1
    - Dst: Botan::Jitter_RNG::random_vec
      Src: /src/botan/src/tests/test_jitter_rng.cpp:32,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_jitter_rng.cpp:36,1
    - Dst: Botan::Jitter_RNG::Jitter_RNG
      Src: /src/botan/src/tests/test_jitter_rng.cpp:40,1
    - Dst: Botan::Jitter_RNG::random_vec
      Src: /src/botan/src/tests/test_jitter_rng.cpp:42,1
    - Dst: Botan::Jitter_RNG::clear
      Src: /src/botan/src/tests/test_jitter_rng.cpp:43,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_jitter_rng.cpp:47,1
    - Dst: Botan::Entropy_Sources::Entropy_Sources
      Src: /src/botan/src/tests/test_jitter_rng.cpp:49,1
    - Dst: Botan::Entropy_Sources::add_source
      Src: /src/botan/src/tests/test_jitter_rng.cpp:50,1
    - Dst: Botan::Entropy_Source::create
      Src: /src/botan/src/tests/test_jitter_rng.cpp:50,1
    - Dst: Botan::AutoSeeded_RNG::random_vec
      Src: /src/botan/src/tests/test_jitter_rng.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 56
    functionName: Botan_Tests::test_jitter_rng
    functionSourceFile: /src/botan/src/tests/test_jitter_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan::Entropy_Sources::Entropy_Sources
    - Botan::Entropy_Source::create
    - Botan::Entropy_Sources::add_source
    - Botan::Jitter_RNG::clear
    - Botan::AutoSeeded_RNG::random_vec
    - Botan::Jitter_RNG::random_vec
    - Botan::Jitter_RNG::Jitter_RNG
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_jitter_rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: Botan_Tests::Ed448_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan_Tests::Ed448_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::Ed448_PublicKey>
      Src: /src/botan/src/tests/test_ed448.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raw_pk
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: Botan_Tests::Ed448_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::Ed448_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      /* keygen_params */,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: Botan_Tests::Ed448_Signature_Tests::Ed448_Signature_Tests
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed448_Signature_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan_Tests::Ed448_Signature_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ed448.cpp:46,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ed448.cpp:47,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_ed448.cpp:49,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_ed448.cpp:49,1
    - Dst: std::make_unique<Botan::Ed448_PrivateKey>
      Src: /src/botan/src/tests/test_ed448.cpp:51,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_ed448.cpp:53,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_ed448.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: Botan_Tests::Ed448_Signature_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached:
    - std::vector::begin
    - auto::public_key_bits
    - Test_Error
    - std::make_unique<Botan::Ed448_PrivateKey>
    - get_req_bin
    - std::vector::end
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_sz
      Src: /src/botan/src/tests/test_ed448.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan_Tests::Ed448_Signature_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached:
    - get_req_sz
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: Botan_Tests::Ed448_Verification_Tests::Ed448_Verification_Tests
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed448_Verification_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ed448.cpp:69,1
    - Dst: std::make_unique<Botan::Ed448_PublicKey>
      Src: /src/botan/src/tests/test_ed448.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: Botan_Tests::Ed448_Verification_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    - std::make_unique<Botan::Ed448_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_ed448.cpp:78,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/test_ed448.cpp:78,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_ed448.cpp:80,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/test_ed448.cpp:80,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/test_ed448.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sp
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: Botan_Tests::Ed448_General_Test::to_array
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - std::array::data
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - Botan::copy_mem
    linkageType: ''
    returnType: std::array<uint8_t, S>
    signature: std::array<uint8_t, S> to_array(std::span<const uint8_t> sp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan_Tests::Ed448_General_Test::Ed448_General_Test
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed448_General_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Ed448_General_Test::to_array
      Src: /src/botan/src/tests/test_ed448.cpp:90,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ed448.cpp:90,1
    - Dst: Botan_Tests::Ed448_General_Test::to_array
      Src: /src/botan/src/tests/test_ed448.cpp:91,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ed448.cpp:91,1
    - Dst: Botan::Ed448Point::decode
      Src: /src/botan/src/tests/test_ed448.cpp:94,1
    - Dst: auto::encode
      Src: /src/botan/src/tests/test_ed448.cpp:95,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ed448.cpp:97,1
    - Dst: Botan::create_pk_from_sk
      Src: /src/botan/src/tests/test_ed448.cpp:100,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ed448.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: Botan_Tests::Ed448_General_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_is_eq
    - get_req_bin
    - Botan::create_pk_from_sk
    - auto::encode
    - Botan_Tests::Ed448_General_Test::to_array
    - Botan::Ed448Point::decode
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string&, const VarMap& vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_sz
      Src: /src/botan/src/tests/test_ed448.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Botan_Tests::Ed448_General_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached:
    - get_req_sz
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::rbegin
      Src: /src/botan/src/tests/test_ed448.cpp:113,1
    - Dst: std::span<const uint8_t>::rend
      Src: /src/botan/src/tests/test_ed448.cpp:113,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ed448.cpp:114,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ed448.cpp:114,1
    - Dst: auto::serialize_to
      Src: /src/botan/src/tests/test_ed448.cpp:119,1
    - Dst: std::reverse
      Src: /src/botan/src/tests/test_ed448.cpp:120,1
    - Dst: std::array::begin
      Src: /src/botan/src/tests/test_ed448.cpp:120,1
    - Dst: std::array::end
      Src: /src/botan/src/tests/test_ed448.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: Botan_Tests::Ed448_Utils_Test::reduce_mod_L_ref
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached:
    - auto::serialize_to
    - std::vector::size
    - std::array::end
    - std::array::begin
    - std::span<const uint8_t>::rend
    - std::reverse
    - std::span<const uint8_t>::rbegin
    - std::vector::data
    linkageType: ''
    returnType: std::array<uint8_t, 56>
    signature: std::array<uint8_t, 56> reduce_mod_L_ref(std::span<const uint8_t> t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/botan/src/tests/test_ed448.cpp:127,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/test_ed448.cpp:127,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/test_ed448.cpp:127,1
    - Dst: Botan_Tests::Ed448_Utils_Test::reduce_mod_L_ref
      Src: /src/botan/src/tests/test_ed448.cpp:133,1
    - Dst: Test::Result::test_no_throw
      Src: /src/botan/src/tests/test_ed448.cpp:135,1
    - Dst: Botan::Scalar448
      Src: /src/botan/src/tests/test_ed448.cpp:135,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_ed448.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 140
    functionName: Botan_Tests::Ed448_Utils_Test::test_reduce_mod_L
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - Botan_Tests::Ed448_Utils_Test::reduce_mod_L_ref
    - Botan::Scalar448
    - Test::Result::test_is_eq
    - memset
    - std::array::size
    - Test::Result::test_no_throw
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_reduce_mod_L()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Ed448_Utils_Test::test_reduce_mod_L
      Src: /src/botan/src/tests/test_ed448.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: Botan_Tests::Ed448_Utils_Test::run
    functionSourceFile: /src/botan/src/tests/test_ed448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Ed448_Utils_Test::test_reduce_mod_L
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/tests/test_ecies.cpp:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' format'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: Botan_Tests::get_compression_type
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: Botan::EC_Point_Format
    signature: Botan::EC_Point_Format get_compression_type(const std::string& format)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cofactor_mode
    - old_cofactor_mode
    - check_mode
    - single_hash_mode
    argTypes:
    - bool
    - bool
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: Botan_Tests::ecies_flags
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Flags
    signature: Flags ecies_flags(bool cofactor_mode, bool old_cofactor_mode, bool
      check_mode, bool single_hash_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ECIES_Encryptor::set_other_key
      Src: /src/botan/src/tests/test_ecies.cpp:51,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/tests/test_ecies.cpp:52,1
    - Dst: domain
      Src: /src/botan/src/tests/test_ecies.cpp:52,1
    - Dst: raw_public_key_bits
      Src: /src/botan/src/tests/test_ecies.cpp:52,1
    - Dst: bits_of
      Src: /src/botan/src/tests/test_ecies.cpp:54,1
    - Dst: Botan::ECIES_Encryptor::set_initialization_vector
      Src: /src/botan/src/tests/test_ecies.cpp:55,1
    - Dst: Botan::ECIES_Decryptor::set_initialization_vector
      Src: /src/botan/src/tests/test_ecies.cpp:56,1
    - Dst: empty
      Src: /src/botan/src/tests/test_ecies.cpp:58,1
    - Dst: Botan::ECIES_Encryptor::set_label
      Src: /src/botan/src/tests/test_ecies.cpp:59,1
    - Dst: Botan::ECIES_Decryptor::set_label
      Src: /src/botan/src/tests/test_ecies.cpp:60,1
    - Dst: Botan::ECIES_Encryptor::encrypt
      Src: /src/botan/src/tests/test_ecies.cpp:63,1
    - Dst: empty
      Src: /src/botan/src/tests/test_ecies.cpp:64,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecies.cpp:65,1
    - Dst: Botan::ECIES_Decryptor::decrypt
      Src: /src/botan/src/tests/test_ecies.cpp:67,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ecies.cpp:68,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_ecies.cpp:73,1
    - Dst: Botan::ECIES_Decryptor::decrypt
      Src: /src/botan/src/tests/test_ecies.cpp:74,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_ecies.cpp:76,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ecies.cpp:76,1
    - Dst: what
      Src: /src/botan/src/tests/test_ecies.cpp:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 9
    argNames:
    - ' result'
    - ' private_key'
    - ' other_private_key'
    - ' ecies_params'
    - ' iv'
    - ' label'
    - ' plaintext'
    - ' ciphertext'
    - ' rng'
    argTypes:
    - Test::Result
    - Botan::ECDH_PrivateKey
    - Botan::ECDH_PrivateKey
    - Botan::ECIES_System_Params
    - Botan::InitializationVector
    - std::string
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 78
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 78
    functionName: Botan_Tests::check_encrypt_decrypt
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan::ECIES_Encryptor::set_label
    - Botan::ECIES_Encryptor::set_other_key
    - what
    - domain
    - raw_public_key_bits
    - std::string
    - bits_of
    - test_throws
    - test_note
    - empty
    - Botan::ECIES_Decryptor::set_label
    - Botan::ECIES_Decryptor::set_initialization_vector
    - Botan::ECIES_Encryptor::encrypt
    - Botan::ECIES_Encryptor::set_initialization_vector
    - Botan::ECIES_Decryptor::decrypt
    - Botan::EC_AffinePoint::EC_AffinePoint
    - test_eq
    linkageType: ''
    returnType: void
    signature: "void check_encrypt_decrypt(Test::Result& result,\n                           const
      Botan::ECDH_PrivateKey& private_key,\n                           const Botan::ECDH_PrivateKey&
      other_private_key,\n                           const Botan::ECIES_System_Params&
      ecies_params,\n                           const Botan::InitializationVector&
      iv,\n                           const std::string& label,\n                           const
      std::vector<uint8_t>& plaintext,\n                           const std::vector<uint8_t>&
      ciphertext,\n                           Botan::RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check_encrypt_decrypt
      Src: /src/botan/src/tests/test_ecies.cpp:87,1
    - Dst: Botan::InitializationVector
      Src: /src/botan/src/tests/test_ecies.cpp:91,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_ecies.cpp:91,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_ecies.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' result'
    - ' private_key'
    - ' other_private_key'
    - ' ecies_params'
    - iv_length
    - ' rng'
    argTypes:
    - Test::Result
    - Botan::ECDH_PrivateKey
    - Botan::ECDH_PrivateKey
    - Botan::ECIES_System_Params
    - size_t
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: Botan_Tests::check_encrypt_decrypt
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 1
    functionsReached:
    - std::vector<uint8_t>
    - Botan::InitializationVector
    - Botan_Tests::check_encrypt_decrypt
    linkageType: ''
    returnType: void
    signature: "void check_encrypt_decrypt(Test::Result& result,\n                                            const
      Botan::ECDH_PrivateKey& private_key,\n                                            const
      Botan::ECDH_PrivateKey& other_private_key,\n                                            const
      Botan::ECIES_System_Params& ecies_params,\n                                            size_t
      iv_length,\n                                            Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan_Tests::ECIES_ISO_Tests::ECIES_ISO_Tests
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECIES_ISO_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Botan_Tests::ECIES_ISO_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/test_ecies.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: Botan_Tests::ECIES_ISO_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_application_specific_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_compression_type
      Src: /src/botan/src/tests/test_ecies.cpp:114,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecies.cpp:114,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:115,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:116,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:117,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:118,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:119,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:120,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecies.cpp:121,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:122,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:123,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:124,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:125,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecies.cpp:126,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecies.cpp:127,1
    - Dst: Botan_Tests::ECIES_ISO_Tests::rng
      Src: /src/botan/src/tests/test_ecies.cpp:132,1
    - Dst: Botan::EC_AffinePoint::from_bigint_xy
      Src: /src/botan/src/tests/test_ecies.cpp:133,1
    - Dst: Botan_Tests::ECIES_ISO_Tests::rng
      Src: /src/botan/src/tests/test_ecies.cpp:137,1
    - Dst: Botan::ECDH_PrivateKey::public_value
      Src: /src/botan/src/tests/test_ecies.cpp:138,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecies.cpp:139,1
    - Dst: Botan::ECDH_PrivateKey::domain
      Src: /src/botan/src/tests/test_ecies.cpp:144,1
    - Dst: Botan_Tests::ECIES_ISO_Tests::rng
      Src: /src/botan/src/tests/test_ecies.cpp:145,1
    - Dst: Botan::ECIES_KA_Operation::derive_secret
      Src: /src/botan/src/tests/test_ecies.cpp:146,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecies.cpp:147,1
    - Dst: Botan::SymmetricKey::bits_of
      Src: /src/botan/src/tests/test_ecies.cpp:147,1
    - Dst: ecies_flags
      Src: /src/botan/src/tests/test_ecies.cpp:160,1
    - Dst: ECIES_System_Params::ECIES_System_Params
      Src: /src/botan/src/tests/test_ecies.cpp:164,1
    - Dst: Botan::ECDH_PrivateKey::domain
      Src: /src/botan/src/tests/test_ecies.cpp:164,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ecies.cpp:173,1
    - Dst: Botan::ECDH_PrivateKey::domain
      Src: /src/botan/src/tests/test_ecies.cpp:177,1
    - Dst: check_encrypt_decrypt
      Src: /src/botan/src/tests/test_ecies.cpp:185,1
    - Dst: Botan_Tests::ECIES_ISO_Tests::rng
      Src: /src/botan/src/tests/test_ecies.cpp:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 194
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 194
    functionName: Botan_Tests::ECIES_ISO_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_AffinePoint::from_bigint_xy
    - Botan::ECIES_KA_Operation::derive_secret
    - ECIES_System_Params::ECIES_System_Params
    - Botan_Tests::ECIES_ISO_Tests::rng
    - get_req_str
    - Test::Result::test_throws
    - Botan::ECDH_PrivateKey::domain
    - check_encrypt_decrypt
    - get_compression_type
    - Botan::ECDH_PrivateKey::public_value
    - get_req_bin
    - Botan::SymmetricKey::bits_of
    - ecies_flags
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group_with_cofactor
      Src: /src/botan/src/tests/test_ecies.cpp:210,1
    - Dst: Botan::BigInt::from_string
      Src: /src/botan/src/tests/test_ecies.cpp:211,1
    - Dst: Botan::BigInt::from_string
      Src: /src/botan/src/tests/test_ecies.cpp:212,1
    - Dst: Botan::BigInt::from_string
      Src: /src/botan/src/tests/test_ecies.cpp:213,1
    - Dst: Botan::BigInt::from_string
      Src: /src/botan/src/tests/test_ecies.cpp:215,1
    - Dst: Botan::BigInt::from_string
      Src: /src/botan/src/tests/test_ecies.cpp:216,1
    - Dst: Botan::BigInt::from_string
      Src: /src/botan/src/tests/test_ecies.cpp:217,1
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/tests/test_ecies.cpp:218,1
    - Dst: std::make_unique<Botan::EC_Group>
      Src: /src/botan/src/tests/test_ecies.cpp:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: Botan_Tests::ECIES_Tests::ECIES_Tests
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_string
    - std::make_unique<Botan::EC_Group>
    - Botan::EC_Group::supports_application_specific_group_with_cofactor
    - Botan::BigInt::from_u64
    linkageType: ''
    returnType: void
    signature: void ECIES_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecies.cpp:224,1
    - Dst: Botan::EC_Group::supports_application_specific_group_with_cofactor
      Src: /src/botan/src/tests/test_ecies.cpp:228,1
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecies.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: Botan_Tests::ECIES_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - Botan::EC_Group::supports_application_specific_group_with_cofactor
    - get_req_str
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecies.cpp:237,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:238,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecies.cpp:239,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecies.cpp:240,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecies.cpp:241,1
    - Dst: Botan::InitializationVector
      Src: /src/botan/src/tests/test_ecies.cpp:243,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_ecies.cpp:243,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecies.cpp:244,1
    - Dst: get_compression_type
      Src: /src/botan/src/tests/test_ecies.cpp:246,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecies.cpp:246,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecies.cpp:251,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecies.cpp:252,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecies.cpp:253,1
    - Dst: ecies_flags
      Src: /src/botan/src/tests/test_ecies.cpp:255,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecies.cpp:261,1
    - Dst: Botan_Tests::ECIES_Tests::rng
      Src: /src/botan/src/tests/test_ecies.cpp:265,1
    - Dst: Botan_Tests::ECIES_Tests::rng
      Src: /src/botan/src/tests/test_ecies.cpp:266,1
    - Dst: Botan::ECDH_PrivateKey::domain
      Src: /src/botan/src/tests/test_ecies.cpp:269,1
    - Dst: check_encrypt_decrypt
      Src: /src/botan/src/tests/test_ecies.cpp:270,1
    - Dst: Botan_Tests::ECIES_Tests::rng
      Src: /src/botan/src/tests/test_ecies.cpp:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 274
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 274
    functionName: Botan_Tests::ECIES_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan_Tests::ECIES_Tests::rng
    - Botan::InitializationVector
    - Botan::EC_Group::from_name
    - check_encrypt_decrypt
    - get_compression_type
    - get_req_bin
    - get_opt_bin
    - ecies_flags
    - Botan::ECDH_PrivateKey::domain
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_ecies.cpp:287,1
    - Dst: Botan_Tests::ecies_flags
      Src: /src/botan/src/tests/test_ecies.cpp:289,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecies.cpp:290,1
    - Dst: Botan::ECDH_PrivateKey::domain
      Src: /src/botan/src/tests/test_ecies.cpp:298,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ecies.cpp:309,1
    - Dst: Botan::ECIES_Encryptor::encrypt
      Src: /src/botan/src/tests/test_ecies.cpp:310,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_ecies.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 313
    functionName: Botan_Tests::test_other_key_not_set
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - std::vector<uint8_t>
    - Botan_Tests::ecies_flags
    - Botan::ECIES_Encryptor::encrypt
    - Botan::EC_Group::from_name
    - Botan::ECDH_PrivateKey::domain
    - Botan_Tests::Test::new_rng
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_other_key_not_set()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_ecies.cpp:318,1
    - Dst: Botan_Tests::ecies_flags
      Src: /src/botan/src/tests/test_ecies.cpp:320,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecies.cpp:321,1
    - Dst: Botan::ECDH_PrivateKey::domain
      Src: /src/botan/src/tests/test_ecies.cpp:329,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ecies.cpp:338,1
    - Dst: Botan::ECIES_Encryptor::encrypt
      Src: /src/botan/src/tests/test_ecies.cpp:340,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_ecies.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 344
    functionName: Botan_Tests::test_kdf_not_found
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - std::vector<uint8_t>
    - Botan_Tests::ecies_flags
    - Botan::ECIES_Encryptor::encrypt
    - Botan::EC_Group::from_name
    - Botan::ECDH_PrivateKey::domain
    - Botan_Tests::Test::new_rng
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_kdf_not_found()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_ecies.cpp:349,1
    - Dst: Botan_Tests::ecies_flags
      Src: /src/botan/src/tests/test_ecies.cpp:351,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecies.cpp:352,1
    - Dst: Botan::ECDH_PrivateKey::domain
      Src: /src/botan/src/tests/test_ecies.cpp:360,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ecies.cpp:369,1
    - Dst: Botan::ECIES_Encryptor::encrypt
      Src: /src/botan/src/tests/test_ecies.cpp:371,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_ecies.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 375
    functionName: Botan_Tests::test_mac_not_found
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - std::vector<uint8_t>
    - Botan_Tests::ecies_flags
    - Botan::ECIES_Encryptor::encrypt
    - Botan::EC_Group::from_name
    - Botan::ECDH_PrivateKey::domain
    - Botan_Tests::Test::new_rng
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_mac_not_found()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_ecies.cpp:380,1
    - Dst: Botan_Tests::ecies_flags
      Src: /src/botan/src/tests/test_ecies.cpp:382,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecies.cpp:383,1
    - Dst: Botan::ECDH_PrivateKey::domain
      Src: /src/botan/src/tests/test_ecies.cpp:391,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ecies.cpp:400,1
    - Dst: Botan::ECIES_Encryptor::encrypt
      Src: /src/botan/src/tests/test_ecies.cpp:402,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_ecies.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 406
    functionName: Botan_Tests::test_cipher_not_found
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - std::vector<uint8_t>
    - Botan_Tests::ecies_flags
    - Botan::ECIES_Encryptor::encrypt
    - Botan::EC_Group::from_name
    - Botan::ECDH_PrivateKey::domain
    - Botan_Tests::Test::new_rng
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_cipher_not_found()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_ecies.cpp:411,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecies.cpp:413,1
    - Dst: Botan::ECDH_PrivateKey::domain
      Src: /src/botan/src/tests/test_ecies.cpp:428,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ecies.cpp:433,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ecies.cpp:436,1
    - Dst: Botan_Tests::check_encrypt_decrypt
      Src: /src/botan/src/tests/test_ecies.cpp:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 449
    functionName: Botan_Tests::test_system_params_short_ctor
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check_encrypt_decrypt
    - Botan::EC_Group::from_name
    - Botan::ECDH_PrivateKey::domain
    - Botan_Tests::Test::new_rng
    - Botan::hex_decode
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_system_params_short_ctor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecies.cpp:454,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_ecies.cpp:465,1
    - Dst: Botan::ECDH_PrivateKey::domain
      Src: /src/botan/src/tests/test_ecies.cpp:471,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ecies.cpp:475,1
    - Dst: Botan::ECIES_Decryptor::decrypt
      Src: /src/botan/src/tests/test_ecies.cpp:476,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ecies.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 479
    functionName: Botan_Tests::test_ciphertext_too_short
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - Botan::EC_Group::from_name
    - Botan::ECDH_PrivateKey::domain
    - Botan_Tests::Test::new_rng
    - Botan::ECIES_Decryptor::decrypt
    - Botan::hex_decode
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ciphertext_too_short()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ecies.cpp:493,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_ecies.cpp:495,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_ecies.cpp:497,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/test_ecies.cpp:497,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_ecies.cpp:497,1
    - Dst: what
      Src: /src/botan/src/tests/test_ecies.cpp:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 502
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 502
    functionName: Botan_Tests::ECIES_Unit_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::Failure
    - std::vector::size
    - what
    - std::to_string
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_os_utils.cpp:36,1
    - Dst: Botan_Tests::OS_Utils_Tests::test_get_process_id
      Src: /src/botan/src/tests/test_os_utils.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_os_utils.cpp:37,1
    - Dst: Botan_Tests::OS_Utils_Tests::test_get_cpu_cycle_counter
      Src: /src/botan/src/tests/test_os_utils.cpp:37,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_os_utils.cpp:38,1
    - Dst: Botan_Tests::OS_Utils_Tests::test_get_high_resolution_clock
      Src: /src/botan/src/tests/test_os_utils.cpp:38,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_os_utils.cpp:39,1
    - Dst: Botan_Tests::OS_Utils_Tests::test_get_cpu_numbers
      Src: /src/botan/src/tests/test_os_utils.cpp:39,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_os_utils.cpp:40,1
    - Dst: Botan_Tests::OS_Utils_Tests::test_get_system_timestamp
      Src: /src/botan/src/tests/test_os_utils.cpp:40,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_os_utils.cpp:41,1
    - Dst: Botan_Tests::OS_Utils_Tests::test_memory_locking
      Src: /src/botan/src/tests/test_os_utils.cpp:41,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_os_utils.cpp:42,1
    - Dst: Botan_Tests::OS_Utils_Tests::test_cpu_instruction_probe
      Src: /src/botan/src/tests/test_os_utils.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: Botan_Tests::OS_Utils_Tests::run
    functionSourceFile: /src/botan/src/tests/test_os_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::OS_Utils_Tests::test_get_high_resolution_clock
    - Botan_Tests::OS_Utils_Tests::test_get_process_id
    - Botan_Tests::OS_Utils_Tests::test_get_system_timestamp
    - std::vector::push_back
    - Botan_Tests::OS_Utils_Tests::test_memory_locking
    - Botan_Tests::OS_Utils_Tests::test_get_cpu_cycle_counter
    - Botan_Tests::OS_Utils_Tests::test_get_cpu_numbers
    - Botan_Tests::OS_Utils_Tests::test_cpu_instruction_probe
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_os_utils.cpp:54,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_os_utils.cpp:54,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_os_utils.cpp:54,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_os_utils.cpp:57,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_os_utils.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: Botan_Tests::OS_Utils_Tests::test_get_process_id
    functionSourceFile: /src/botan/src/tests/test_os_utils.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_ne
    - Test::Result::test_eq
    - static_cast<size_t>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_process_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_os_utils.cpp:75,1
    - Dst: Botan::OS::get_cpu_cycle_counter
      Src: /src/botan/src/tests/test_os_utils.cpp:80,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_os_utils.cpp:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 87
    functionName: Botan_Tests::OS_Utils_Tests::test_get_cpu_cycle_counter
    functionSourceFile: /src/botan/src/tests/test_os_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan::OS::get_cpu_cycle_counter
    - Test::Result::test_is_eq
    - Test::Result::test_lt
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_cpu_cycle_counter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_os_utils.cpp:97,1
    - Dst: Botan::OS::get_high_resolution_clock
      Src: /src/botan/src/tests/test_os_utils.cpp:100,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_os_utils.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 107
    functionName: Botan_Tests::OS_Utils_Tests::test_get_high_resolution_clock
    functionSourceFile: /src/botan/src/tests/test_os_utils.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::confirm
    - Test::Result::test_lt
    - Botan::OS::get_high_resolution_clock
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_high_resolution_clock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_os_utils.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: Botan_Tests::OS_Utils_Tests::test_get_cpu_numbers
    functionSourceFile: /src/botan/src/tests/test_os_utils.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_gte
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_cpu_numbers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_os_utils.cpp:124,1
    - Dst: Botan::OS::get_process_id
      Src: /src/botan/src/tests/test_os_utils.cpp:127,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_os_utils.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: Botan_Tests::OS_Utils_Tests::test_get_system_timestamp
    functionSourceFile: /src/botan/src/tests/test_os_utils.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::confirm
    - Botan::OS::get_process_id
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_system_timestamp()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: Botan_Tests::OS_Utils_Tests::test_memory_locking
    functionSourceFile: /src/botan/src/tests/test_os_utils.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_memory_locking()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_os_utils.cpp:153,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_os_utils.cpp:157,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_os_utils.cpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 193
    functionName: Botan_Tests::OS_Utils_Tests::test_cpu_instruction_probe
    functionSourceFile: /src/botan/src/tests/test_os_utils.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::confirm
    - Test::Result::test_note
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_cpu_instruction_probe()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: Botan_Tests::ZFEC_KAT::ZFEC_KAT
    functionSourceFile: /src/botan/src/tests/test_zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ZFEC_KAT()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_zfec.cpp:23,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_zfec.cpp:24,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_zfec.cpp:26,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_zfec.cpp:27,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_zfec.cpp:34,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_zfec.cpp:35,1
    - Dst: std::map::insert
      Src: /src/botan/src/tests/test_zfec.cpp:48,1
    - Dst: std::make_pair
      Src: /src/botan/src/tests/test_zfec.cpp:48,1
    - Dst: Botan::ZFEC::provider
      Src: /src/botan/src/tests/test_zfec.cpp:53,1
    - Dst: std::set::insert
      Src: /src/botan/src/tests/test_zfec.cpp:58,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_zfec.cpp:59,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_zfec.cpp:62,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_zfec.cpp:64,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_zfec.cpp:64,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_zfec.cpp:64,1
    - Dst: Botan::ZFEC::encode
      Src: /src/botan/src/tests/test_zfec.cpp:67,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_zfec.cpp:67,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_zfec.cpp:67,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_zfec.cpp:69,1
    - Dst: std::set::size
      Src: /src/botan/src/tests/test_zfec.cpp:69,1
    - Dst: std::set::insert
      Src: /src/botan/src/tests/test_zfec.cpp:75,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_zfec.cpp:76,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_zfec.cpp:79,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_zfec.cpp:81,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_zfec.cpp:82,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_zfec.cpp:82,1
    - Dst: Botan::ZFEC::decode_shares
      Src: /src/botan/src/tests/test_zfec.cpp:85,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_zfec.cpp:87,1
    - Dst: std::set::size
      Src: /src/botan/src/tests/test_zfec.cpp:87,1
    - Dst: std::set::clear
      Src: /src/botan/src/tests/test_zfec.cpp:90,1
    - Dst: std::map::size
      Src: /src/botan/src/tests/test_zfec.cpp:92,1
    - Dst: std::map::erase
      Src: /src/botan/src/tests/test_zfec.cpp:94,1
    - Dst: Botan::ZFEC::decode_shares
      Src: /src/botan/src/tests/test_zfec.cpp:97,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_zfec.cpp:99,1
    - Dst: std::set::size
      Src: /src/botan/src/tests/test_zfec.cpp:99,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 102
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 102
    functionName: Botan_Tests::ZFEC_KAT::run_one_test
    functionSourceFile: /src/botan/src/tests/test_zfec.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    - std::vector::size
    - std::to_string
    - std::string::c_str
    - Botan::ZFEC::decode_shares
    - std::map::size
    - Test::Result::test_eq
    - std::map::erase
    - get_req_bin
    - Botan::ZFEC::provider
    - std::vector::data
    - Test_Error
    - std::map::insert
    - Botan::ZFEC::encode
    - Test::Result::test_failure
    - std::set::clear
    - std::make_pair
    - Test::Result::test_lt
    - std::set::size
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_Tests::SRP6_KAT_Tests::SRP6_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_srp6.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SRP6_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan_Tests::SRP6_KAT_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_srp6.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_srp6.cpp:29,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_srp6.cpp:30,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_srp6.cpp:31,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_srp6.cpp:32,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_srp6.cpp:33,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_srp6.cpp:34,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_srp6.cpp:35,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_srp6.cpp:36,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_srp6.cpp:37,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_srp6.cpp:38,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_srp6.cpp:39,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/tests/test_srp6.cpp:40,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_srp6.cpp:40,1
    - Dst: Botan::srp6_group_identifier
      Src: /src/botan/src/tests/test_srp6.cpp:42,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_srp6.cpp:43,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_srp6.cpp:44,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_srp6.cpp:49,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_srp6.cpp:50,1
    - Dst: BigInt::bits
      Src: /src/botan/src/tests/test_srp6.cpp:54,1
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_srp6.cpp:54,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_srp6.cpp:55,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/tests/test_srp6.cpp:59,1
    - Dst: Botan::srp6_generate_verifier
      Src: /src/botan/src/tests/test_srp6.cpp:61,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_srp6.cpp:62,1
    - Dst: Botan::SRP6_Server_Session::step1
      Src: /src/botan/src/tests/test_srp6.cpp:68,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_srp6.cpp:69,1
    - Dst: Botan::srp6_client_agree
      Src: /src/botan/src/tests/test_srp6.cpp:73,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_srp6.cpp:74,1
    - Dst: Botan::SRP6_Server_Session::step2
      Src: /src/botan/src/tests/test_srp6.cpp:76,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_srp6.cpp:78,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_srp6.cpp:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 82
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 82
    functionName: Botan_Tests::SRP6_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_srp6.cpp
    functionUses: 0
    functionsReached:
    - Botan::srp6_generate_verifier
    - Test::Result::test_note
    - get_req_str
    - Botan_Tests::Test::run_long_tests
    - Botan::DL_Group::from_name
    - Botan::SymmetricKey
    - Botan::SRP6_Server_Session::step1
    - Botan::HashFunction::create
    - Test_Error
    - BigInt::bits
    - get_req_bin
    - std::string::empty
    - Botan::srp6_client_agree
    - Test::Result::test_eq
    - get_req_bn
    - Botan::SRP6_Server_Session::step2
    - Botan::srp6_group_identifier
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_srp6.cpp:99,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_srp6.cpp:103,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_srp6.cpp:106,1
    - Dst: Botan_Tests::SRP6_RT_Tests::rng
      Src: /src/botan/src/tests/test_srp6.cpp:112,1
    - Dst: Botan::srp6_generate_verifier
      Src: /src/botan/src/tests/test_srp6.cpp:115,1
    - Dst: Botan::SRP6_Server_Session::step1
      Src: /src/botan/src/tests/test_srp6.cpp:119,1
    - Dst: Botan_Tests::SRP6_RT_Tests::rng
      Src: /src/botan/src/tests/test_srp6.cpp:119,1
    - Dst: srp6_client_agree
      Src: /src/botan/src/tests/test_srp6.cpp:121,1
    - Dst: Botan_Tests::SRP6_RT_Tests::rng
      Src: /src/botan/src/tests/test_srp6.cpp:121,1
    - Dst: Botan::SRP6_Server_Session::step2
      Src: /src/botan/src/tests/test_srp6.cpp:123,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_srp6.cpp:125,1
    - Dst: auto::second::bits_of
      Src: /src/botan/src/tests/test_srp6.cpp:125,1
    - Dst: Botan::SymmetricKey::bits_of
      Src: /src/botan/src/tests/test_srp6.cpp:125,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_srp6.cpp:127,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_srp6.cpp:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 132
    functionName: Botan_Tests::SRP6_RT_Tests::run
    functionSourceFile: /src/botan/src/tests/test_srp6.cpp
    functionUses: 0
    functionsReached:
    - Botan::srp6_generate_verifier
    - Botan_Tests::Test::run_long_tests
    - Test::Result::start_timer
    - Test::Result::end_timer
    - std::to_string
    - srp6_client_agree
    - auto::second::bits_of
    - std::vector::push_back
    - Botan::SymmetricKey::bits_of
    - Botan_Tests::SRP6_RT_Tests::rng
    - Test::Result::test_eq
    - Botan::SRP6_Server_Session::step1
    - Botan::SRP6_Server_Session::step2
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/tests/test_simd.cpp:31,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_simd.cpp:32,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:49,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/tests/test_simd.cpp:49,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:50,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/tests/test_simd.cpp:50,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/tests/test_simd.cpp:52,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:54,1
    - Dst: Botan::SIMD_4x32::rotl
      Src: /src/botan/src/tests/test_simd.cpp:58,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:60,1
    - Dst: Botan::rotl<3>
      Src: /src/botan/src/tests/test_simd.cpp:63,1
    - Dst: Botan::rotl<3>
      Src: /src/botan/src/tests/test_simd.cpp:64,1
    - Dst: Botan::rotl<3>
      Src: /src/botan/src/tests/test_simd.cpp:65,1
    - Dst: Botan::rotl<3>
      Src: /src/botan/src/tests/test_simd.cpp:66,1
    - Dst: Botan::SIMD_4x32::rotr
      Src: /src/botan/src/tests/test_simd.cpp:68,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:70,1
    - Dst: Botan::rotr<9>
      Src: /src/botan/src/tests/test_simd.cpp:73,1
    - Dst: Botan::rotr<9>
      Src: /src/botan/src/tests/test_simd.cpp:74,1
    - Dst: Botan::rotr<9>
      Src: /src/botan/src/tests/test_simd.cpp:75,1
    - Dst: Botan::rotr<9>
      Src: /src/botan/src/tests/test_simd.cpp:76,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:79,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:82,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:85,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:87,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:88,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:89,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:93,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:95,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:97,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:100,1
    - Dst: Botan::SIMD_4x32::shr
      Src: /src/botan/src/tests/test_simd.cpp:102,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:103,1
    - Dst: Botan::SIMD_4x32::shl
      Src: /src/botan/src/tests/test_simd.cpp:105,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:106,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:109,1
    - Dst: Botan::SIMD_4x32::andc
      Src: /src/botan/src/tests/test_simd.cpp:111,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:112,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:115,1
    - Dst: Botan::SIMD_4x32::bswap
      Src: /src/botan/src/tests/test_simd.cpp:117,1
    - Dst: Botan::reverse_bytes
      Src: /src/botan/src/tests/test_simd.cpp:118,1
    - Dst: Botan::reverse_bytes
      Src: /src/botan/src/tests/test_simd.cpp:119,1
    - Dst: Botan::reverse_bytes
      Src: /src/botan/src/tests/test_simd.cpp:120,1
    - Dst: Botan::reverse_bytes
      Src: /src/botan/src/tests/test_simd.cpp:121,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/tests/test_simd.cpp:128,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:130,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:131,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:132,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:133,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:135,1
    - Dst: Botan::SIMD_4x32::shift_elems_left
      Src: /src/botan/src/tests/test_simd.cpp:135,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:136,1
    - Dst: Botan::SIMD_4x32::shift_elems_left
      Src: /src/botan/src/tests/test_simd.cpp:136,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:137,1
    - Dst: Botan::SIMD_4x32::shift_elems_left
      Src: /src/botan/src/tests/test_simd.cpp:137,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:139,1
    - Dst: Botan::SIMD_4x32::shift_elems_right
      Src: /src/botan/src/tests/test_simd.cpp:139,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:140,1
    - Dst: Botan::SIMD_4x32::shift_elems_right
      Src: /src/botan/src/tests/test_simd.cpp:140,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:141,1
    - Dst: Botan::SIMD_4x32::shift_elems_right
      Src: /src/botan/src/tests/test_simd.cpp:141,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_simd.cpp:144,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_simd.cpp:145,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_simd.cpp:146,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_simd.cpp:147,1
    - Dst: Botan::load_le<Botan::SIMD_4x32>
      Src: /src/botan/src/tests/test_simd.cpp:149,1
    - Dst: Botan::load_be<Botan::SIMD_4x32>
      Src: /src/botan/src/tests/test_simd.cpp:150,1
    - Dst: Botan::load_le<std::array<Botan::SIMD_4x32, 2>>
      Src: /src/botan/src/tests/test_simd.cpp:151,1
    - Dst: Botan::load_be<std::array<Botan::SIMD_4x32, 2>>
      Src: /src/botan/src/tests/test_simd.cpp:152,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_simd.cpp:154,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_simd.cpp:155,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_simd.cpp:156,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_simd.cpp:157,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_simd.cpp:159,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_simd.cpp:160,1
    - Dst: std::vector
      Src: /src/botan/src/tests/test_simd.cpp:161,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_simd.cpp:161,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_simd.cpp:161,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_simd.cpp:162,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_simd.cpp:163,1
    - Dst: std::vector
      Src: /src/botan/src/tests/test_simd.cpp:164,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_simd.cpp:164,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_simd.cpp:164,1
    - Dst: Botan::load_le<StrongSIMD>
      Src: /src/botan/src/tests/test_simd.cpp:168,1
    - Dst: Botan::load_be<StrongSIMD>
      Src: /src/botan/src/tests/test_simd.cpp:169,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_simd.cpp:171,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_simd.cpp:172,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_simd.cpp:173,1
    - Dst: Botan::store_be<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_simd.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 177
    functionName: Botan_Tests::SIMD_4X32_Tests::run
    functionSourceFile: /src/botan/src/tests/test_simd.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - std::vector
    - Botan::SIMD_4x32::splat
    - Botan::SIMD_4x32::shift_elems_left
    - auto::begin
    - Botan::SIMD_4x32::rotr
    - Botan::load_le<Botan::SIMD_4x32>
    - Botan::load_be<std::array<Botan::SIMD_4x32, 2>>
    - Botan::store_be
    - Botan::SIMD_4x32::shift_elems_right
    - Test::Result::test_note
    - Botan::reverse_bytes
    - Botan::store_le<std::vector<uint8_t>>
    - Botan::SIMD_4x32::bswap
    - Botan_Tests::SIMD_4X32_Tests::test_eq
    - auto::end
    - Botan::hex_decode
    - Botan::SIMD_4x32::shr
    - Botan::SIMD_4x32::rotl
    - Botan::load_le<std::array<Botan::SIMD_4x32, 2>>
    - Botan::rotl<3>
    - Botan::load_be<Botan::SIMD_4x32>
    - Botan::store_be<std::vector<uint8_t>>
    - Botan::SIMD_4x32::shl
    - Botan::SIMD_4x32::SIMD_4x32
    - Botan::load_le<StrongSIMD>
    - Test::Result::test_is_eq
    - Botan::SIMD_4x32::andc
    - Botan::load_be<StrongSIMD>
    - Botan::concat
    - Botan::SIMD_4x32::transpose
    - Botan::rotr<9>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/tests/test_simd.cpp:198,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_simd.cpp:200,1
    - Dst: Botan::make_uint32
      Src: /src/botan/src/tests/test_simd.cpp:201,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_simd.cpp:202,1
    - Dst: Botan::make_uint32
      Src: /src/botan/src/tests/test_simd.cpp:203,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_simd.cpp:204,1
    - Dst: Botan::make_uint32
      Src: /src/botan/src/tests/test_simd.cpp:205,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_simd.cpp:206,1
    - Dst: Botan::make_uint32
      Src: /src/botan/src/tests/test_simd.cpp:207,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/tests/test_simd.cpp:211,1
    - Dst: Botan::SIMD_4x32::store_be
      Src: /src/botan/src/tests/test_simd.cpp:212,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:213,1
    - Dst: store_le
      Src: /src/botan/src/tests/test_simd.cpp:215,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_simd.cpp:217,1
    - Dst: Botan::make_uint32
      Src: /src/botan/src/tests/test_simd.cpp:218,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_simd.cpp:219,1
    - Dst: Botan::make_uint32
      Src: /src/botan/src/tests/test_simd.cpp:220,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_simd.cpp:221,1
    - Dst: Botan::make_uint32
      Src: /src/botan/src/tests/test_simd.cpp:222,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_simd.cpp:223,1
    - Dst: Botan::make_uint32
      Src: /src/botan/src/tests/test_simd.cpp:224,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/tests/test_simd.cpp:228,1
    - Dst: Botan::SIMD_4x32::store_le
      Src: /src/botan/src/tests/test_simd.cpp:229,1
    - Dst: Botan_Tests::SIMD_4X32_Tests::test_eq
      Src: /src/botan/src/tests/test_simd.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 7
    argNames:
    - ' result'
    - ' op'
    - ' simd'
    - exp0
    - exp1
    - exp2
    - exp3
    argTypes:
    - Test::Result
    - std::string
    - Botan::SIMD_4x32
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 232
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 232
    functionName: Botan_Tests::SIMD_4X32_Tests::test_eq
    functionSourceFile: /src/botan/src/tests/test_simd.cpp
    functionUses: 2
    functionsReached:
    - Botan::make_uint32
    - Botan::SIMD_4x32::load_be
    - store_le
    - Botan::SIMD_4x32::store_le
    - Botan_Tests::SIMD_4X32_Tests::test_eq
    - test_int_eq
    - store_be
    - Botan::SIMD_4x32::load_le
    - Botan::SIMD_4x32::store_be
    linkageType: ''
    returnType: void
    signature: "void test_eq(Test::Result& result,\n                          const
      std::string& op,\n                          const Botan::SIMD_4x32& simd,\n
      \                         uint32_t exp0,\n                          uint32_t
      exp1,\n                          uint32_t exp2,\n                          uint32_t
      exp3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:42,1
    - Dst: Botan::X509_Time
      Src: /src/botan/src/tests/test_x509_rpki.cpp:43,1
    - Dst: Botan::calendar_point::to_std_timepoint
      Src: /src/botan/src/tests/test_x509_rpki.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - y
    - m
    - d
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: Botan_Tests::from_date
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 7
    functionsReached:
    - Botan::X509_Time
    - static_cast<uint32_t>
    - Botan::calendar_point::to_std_timepoint
    linkageType: ''
    returnType: Botan::X509_Time
    signature: Botan::X509_Time from_date(const int y, const int m, const int d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_x509_rpki.cpp:52,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_x509_rpki.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' algo'
    - ' rng'
    argTypes:
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: Botan_Tests::generate_key
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - Botan::create_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> generate_key(const std::string&
      algo, Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/test_x509_rpki.cpp:71,1
    - Dst: Botan::X509_Cert_Options::CA_key
      Src: /src/botan/src/tests/test_x509_rpki.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: Botan_Tests::ca_opts
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 6
    functionsReached:
    - Botan::X509_Cert_Options::set_padding_scheme
    - Botan::X509_Cert_Options::CA_key
    linkageType: ''
    returnType: Botan::X509_Cert_Options
    signature: Botan::X509_Cert_Options ca_opts(const std::string& sig_padding = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/tests/test_x509_rpki.cpp:84,1
    - Dst: Botan::X509_Cert_Options::not_before
      Src: /src/botan/src/tests/test_x509_rpki.cpp:86,1
    - Dst: Botan::X509_Cert_Options::not_after
      Src: /src/botan/src/tests/test_x509_rpki.cpp:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' algo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: Botan_Tests::req_opts
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Cert_Options::not_before
    - Botan::X509_Cert_Options::not_after
    - Botan::X509_Cert_Options::set_padding_scheme
    linkageType: ''
    returnType: Botan::X509_Cert_Options
    signature: Botan::X509_Cert_Options req_opts(const std::string& algo, const std::string&
      sig_padding = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/botan/src/tests/test_x509_rpki.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 116
    functionName: Botan_Tests::get_sig_algo_padding
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    linkageType: ''
    returnType: std::tuple<std::string, std::string, std::string>
    signature: std::tuple<std::string, std::string, std::string> get_sig_algo_padding()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:119,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:119,1
    - Dst: Botan_Tests::generate_key
      Src: /src/botan/src/tests/test_x509_rpki.cpp:121,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/test_x509_rpki.cpp:122,1
    - Dst: Botan_Tests::generate_key
      Src: /src/botan/src/tests/test_x509_rpki.cpp:124,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:126,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - std::unique_ptr<Botan::RandomNumberGenerator>
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: Botan_Tests::make_ca
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::generate_key
    - Botan::X509::create_self_signed_cert
    - Botan_Tests::ca_opts
    - std::move
    linkageType: ''
    returnType: CA_Creation_Result
    signature: "CA_Creation_Result make_ca(std::unique_ptr<Botan::RandomNumberGenerator>&
      rng,\n                           const Botan::X509_Cert_Options& opts = std::move(ca_opts()))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:135,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:136,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:136,1
    - Dst: Botan_Tests::generate_key
      Src: /src/botan/src/tests/test_x509_rpki.cpp:138,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:140,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:141,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:141,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:141,1
    - Dst: std::make_pair
      Src: /src/botan/src/tests/test_x509_rpki.cpp:144,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:144,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ext
    - ' parent_ca'
    - ' rng'
    argTypes:
    - std::unique_ptr<Botan::Certificate_Extension>
    - Botan::X509_CA
    - std::unique_ptr<Botan::RandomNumberGenerator>
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: Botan_Tests::make_and_sign_ca
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509::create_cert_req
    - Botan_Tests::ca_opts
    - Botan_Tests::generate_key
    - std::make_pair
    - std::move
    - Botan_Tests::from_date
    - Botan::X509_Cert_Options::extensions::add
    - sign_request
    linkageType: ''
    returnType: std::pair<Botan::X509_Certificate, Botan::X509_CA>
    signature: "std::pair<Botan::X509_Certificate, Botan::X509_CA> make_and_sign_ca(\n
      \  std::unique_ptr<Botan::Certificate_Extension> ext,\n   Botan::X509_CA& parent_ca,\n
      \  std::unique_ptr<Botan::RandomNumberGenerator>& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:154,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_rpki.cpp:157,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:161,1
    - Dst: auto::addr_blocks
      Src: /src/botan/src/tests/test_x509_rpki.cpp:163,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:164,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:165,1
    - Dst: size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:165,1
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<IPv4>>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:167,1
    - Dst: addr_choice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:167,1
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<IPv6>>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:168,1
    - Dst: addr_choice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:168,1
    - Dst: ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:170,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:173,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:173,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:175,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:175,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:178,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:178,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:180,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:180,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:183,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:183,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:185,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:185,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:188,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:188,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:190,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:190,1
    - Dst: ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:192,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:194,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:194,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:195,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:195,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:196,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:196,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:197,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:197,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:198,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:198,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:199,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:199,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:200,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:200,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:201,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:201,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 205
    functionName: Botan_Tests::test_x509_ip_addr_blocks_extension_decode
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - addr_choice
    - Test::Result::end_timer
    - Test::Result::start_timer
    - std::get<IPAddressBlocks::IPAddressChoice<IPv4>>
    - Test::Result::confirm
    - Botan_Tests::Test::data_file
    - size
    - min
    - auto::addr_blocks
    - std::get<IPAddressBlocks::IPAddressChoice<IPv6>>
    - Test::Result::test_eq
    - max
    - Botan::X509_Certificate::v3_extensions
    - ranges
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_ip_addr_blocks_extension_decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:209,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_rpki.cpp:214,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:216,1
    - Dst: auto::as_identifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:218,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:219,1
    - Dst: asnum
      Src: /src/botan/src/tests/test_x509_rpki.cpp:221,1
    - Dst: rdi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:222,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:225,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:225,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:226,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:226,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:229,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:229,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:230,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:230,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_rpki.cpp:234,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:236,1
    - Dst: auto::as_identifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:238,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:239,1
    - Dst: asnum
      Src: /src/botan/src/tests/test_x509_rpki.cpp:241,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:242,1
    - Dst: rdi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:242,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:245,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:245,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:246,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:246,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_rpki.cpp:250,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:252,1
    - Dst: auto::as_identifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:254,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:255,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:257,1
    - Dst: asnum
      Src: /src/botan/src/tests/test_x509_rpki.cpp:257,1
    - Dst: rdi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:258,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:261,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:261,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:262,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:262,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_x509_rpki.cpp:266,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:268,1
    - Dst: auto::as_identifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:270,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:271,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:273,1
    - Dst: asnum
      Src: /src/botan/src/tests/test_x509_rpki.cpp:273,1
    - Dst: rdi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:274,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:277,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:277,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:278,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:278,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 283
    functionName: Botan_Tests::test_x509_as_blocks_extension_decode
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::end_timer
    - Test::Result::start_timer
    - auto::as_identifiers
    - Test::Result::confirm
    - Botan_Tests::Test::data_file
    - min
    - rdi
    - max
    - Botan::X509_Certificate::v3_extensions
    - asnum
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_as_blocks_extension_decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:289,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:293,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:305,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:308,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:310,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:314,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:316,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:320,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:322,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:325,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:327,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:331,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:334,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:338,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:340,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:342,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:343,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:344,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:345,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:347,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:348,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:349,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:350,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:354,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:355,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:356,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:357,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:362,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:363,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:364,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:365,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:368,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:370,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:373,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:375,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:378,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:379,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:383,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:386,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:389,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:391,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:391,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:393,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:394,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:394,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:394,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:396,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:397,1
    - Dst: auto::addr_blocks
      Src: /src/botan/src/tests/test_x509_rpki.cpp:399,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:401,1
    - Dst: empty
      Src: /src/botan/src/tests/test_x509_rpki.cpp:401,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:407,1
    - Dst: auto::afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:407,1
    - Dst: auto::afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:407,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:408,1
    - Dst: auto::safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:408,1
    - Dst: auto::safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:408,1
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<IPv4>>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:409,1
    - Dst: auto::addr_choice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:409,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:412,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:414,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:414,1
    - Dst: auto::min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:414,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:415,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:415,1
    - Dst: auto::max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:415,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:416,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:416,1
    - Dst: auto::min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:416,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:417,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:417,1
    - Dst: auto::max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:417,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:418,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:418,1
    - Dst: auto::min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:418,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:419,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:419,1
    - Dst: auto::max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:419,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:420,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:420,1
    - Dst: auto::min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:420,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:421,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:421,1
    - Dst: auto::max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:421,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:423,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_x509_rpki.cpp:423,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:426,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:426,1
    - Dst: size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:431,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:432,1
    - Dst: auto::afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:432,1
    - Dst: auto::afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:432,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:433,1
    - Dst: auto::safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:433,1
    - Dst: auto::safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:433,1
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<IPv6>>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:434,1
    - Dst: auto::addr_choice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:434,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:436,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:438,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:438,1
    - Dst: auto::min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:438,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:439,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:439,1
    - Dst: auto::max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:439,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:440,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:440,1
    - Dst: auto::min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:440,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:441,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:441,1
    - Dst: auto::max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:441,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:442,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:442,1
    - Dst: auto::min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:442,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:443,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:443,1
    - Dst: auto::max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:443,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:444,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:444,1
    - Dst: auto::min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:444,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:445,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:445,1
    - Dst: auto::max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:445,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:447,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_x509_rpki.cpp:447,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:450,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:450,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:456,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 458
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 458
    functionName: Botan_Tests::test_x509_ip_addr_blocks_extension_encode
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::end_timer
    - IPAddressBlocks::IPAddress<IPv4>
    - std::vector::push_back
    - std::make_unique<IPAddressBlocks>
    - Botan::X509::create_cert_req
    - Test::Result::test_eq
    - IPAddressBlocks::IPAddressFamily
    - auto::afi
    - Test::Result::confirm
    - auto::max
    - auto::addr_blocks
    - Botan_Tests::from_date
    - Botan_Tests::req_opts
    - Botan::X509_Cert_Options::extensions::add
    - Botan::X509_Certificate::v3_extensions
    - auto::ranges
    - sign_request
    - auto::safi
    - Test::Result::start_timer
    - IPAddressBlocks::IPAddressChoice<IPv6>
    - IPAddressBlocks::IPAddress<IPv6>
    - auto::addr_choice
    - min
    - empty
    - size
    - std::move
    - std::get<IPAddressBlocks::IPAddressChoice<IPv6>>
    - IPAddressBlocks::IPAddressOrRange<IPv6>
    - Botan_Tests::Test::new_rng
    - IPAddressBlocks::IPAddressChoice<IPv4>
    - auto::min
    - IPAddressBlocks::IPAddressOrRange<IPv4>
    - max
    - std::get<IPAddressBlocks::IPAddressChoice<IPv4>>
    - auto::empty
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_ip_addr_blocks_extension_encode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:462,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:466,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:474,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:486,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:498,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:499,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:501,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:504,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:506,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:508,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:511,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:513,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:515,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:515,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:517,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:518,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:518,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:518,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:520,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:521,1
    - Dst: auto::addr_blocks
      Src: /src/botan/src/tests/test_x509_rpki.cpp:522,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:524,1
    - Dst: auto::afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:524,1
    - Dst: auto::afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:524,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:525,1
    - Dst: auto::safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:525,1
    - Dst: auto::safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:525,1
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<IPv6>>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:526,1
    - Dst: auto::addr_choice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:526,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:527,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:529,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:529,1
    - Dst: auto::min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:529,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:530,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:530,1
    - Dst: auto::max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:530,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:535,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 537
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 537
    functionName: Botan_Tests::test_x509_ip_addr_blocks_extension_encode_edge_cases
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Test::Result::end_timer
    - std::vector::push_back
    - std::make_unique<IPAddressBlocks>
    - Botan::X509::create_cert_req
    - Test::Result::test_eq
    - IPAddressBlocks::IPAddressFamily
    - auto::afi
    - Test::Result::confirm
    - auto::max
    - auto::addr_blocks
    - Botan_Tests::from_date
    - Botan_Tests::req_opts
    - Botan::X509_Cert_Options::extensions::add
    - Botan::X509_Certificate::v3_extensions
    - auto::ranges
    - sign_request
    - auto::safi
    - Test::Result::start_timer
    - IPAddressBlocks::IPAddressChoice<IPv6>
    - IPAddressBlocks::IPAddress<IPv6>
    - auto::addr_choice
    - min
    - std::move
    - std::get<IPAddressBlocks::IPAddressChoice<IPv6>>
    - IPAddressBlocks::IPAddressOrRange<IPv6>
    - Botan_Tests::Test::new_rng
    - auto::min
    - max
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_ip_addr_blocks_extension_encode_edge_cases()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:541,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:545,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:548,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:564,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:565,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:566,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:567,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:570,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:571,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:574,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:576,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:578,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:578,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:580,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:581,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:581,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:581,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:583,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:584,1
    - Dst: auto::addr_blocks
      Src: /src/botan/src/tests/test_x509_rpki.cpp:585,1
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<IPv4>>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:587,1
    - Dst: auto::addr_choice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:587,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:588,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:593,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:593,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:594,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:594,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:595,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:595,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 600
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 600
    functionName: Botan_Tests::test_x509_ip_addr_blocks_range_merge
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::end_timer
    - IPAddressBlocks::IPAddress<IPv4>
    - std::vector::push_back
    - std::make_unique<IPAddressBlocks>
    - Botan::X509::create_cert_req
    - Test::Result::test_eq
    - IPAddressBlocks::IPAddressFamily
    - Test::Result::confirm
    - auto::addr_blocks
    - Botan_Tests::from_date
    - Botan_Tests::req_opts
    - Botan::X509_Cert_Options::extensions::add
    - Botan::X509_Certificate::v3_extensions
    - auto::ranges
    - sign_request
    - Test::Result::start_timer
    - auto::addr_choice
    - min
    - std::move
    - Botan_Tests::Test::new_rng
    - IPAddressBlocks::IPAddressChoice<IPv4>
    - IPAddressBlocks::IPAddressOrRange<IPv4>
    - max
    - auto::size
    - std::get<IPAddressBlocks::IPAddressChoice<IPv4>>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_ip_addr_blocks_range_merge()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:604,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:608,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:611,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:622,1
    - Dst: IPAddressBlocks::IPAddressChoice::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:623,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:629,1
    - Dst: IPAddressBlocks::IPAddressChoice::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:630,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:647,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:648,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:649,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:650,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:651,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:652,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:658,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:660,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:660,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:662,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:663,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:663,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:663,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:665,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:666,1
    - Dst: auto::addr_blocks
      Src: /src/botan/src/tests/test_x509_rpki.cpp:667,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:669,1
    - Dst: size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:669,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:669,1
    - Dst: size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:672,1
    - Dst: safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:677,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:678,1
    - Dst: safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:678,1
    - Dst: safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:682,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:683,1
    - Dst: safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:683,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:692,1
    - Dst: size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:694,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:698,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:698,1
    - Dst: afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:698,1
    - Dst: afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:698,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:699,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:699,1
    - Dst: safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:699,1
    - Dst: safi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:699,1
    - Dst: afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:701,1
    - Dst: afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:701,1
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<IPv4>>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:702,1
    - Dst: addr_choice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:702,1
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<IPv4>>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:703,1
    - Dst: addr_choice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:703,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:705,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:706,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:707,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:707,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:709,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:710,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:710,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:712,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:716,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:717,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:718,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:718,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:719,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:719,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:722,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:722,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:726,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:727,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:728,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:728,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:729,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:730,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:731,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:732,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:732,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:733,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:734,1
    - Dst: afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:737,1
    - Dst: afi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:737,1
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<IPv6>>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:738,1
    - Dst: addr_choice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:738,1
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<IPv6>>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:739,1
    - Dst: addr_choice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:739,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:741,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:742,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:743,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:743,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:745,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:746,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:746,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:748,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:752,1
    - Dst: auto::ranges
      Src: /src/botan/src/tests/test_x509_rpki.cpp:753,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:754,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:754,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:755,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:755,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:758,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:758,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:762,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:763,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:764,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:764,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:765,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:766,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_rpki.cpp:767,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:768,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:768,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:769,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:770,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:776,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 778
      start: 602
    functionDepth: 2
    functionLinenumber: 602
    functionLinenumberEnd: 778
    functionName: Botan_Tests::test_x509_ip_addr_blocks_family_merge
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - addr_choice
    - std::vector::size
    - Test::Result::end_timer
    - static_cast<uint32_t>
    - std::to_string
    - std::vector::push_back
    - std::make_unique<IPAddressBlocks>
    - Botan::X509::create_cert_req
    - Test::Result::test_eq
    - Test::Result::confirm
    - auto::addr_blocks
    - Botan_Tests::from_date
    - Botan_Tests::req_opts
    - Botan::X509_Cert_Options::extensions::add
    - Botan::X509_Certificate::v3_extensions
    - auto::ranges
    - sign_request
    - Test::Result::start_timer
    - size
    - min
    - IPAddressBlocks::IPAddressChoice::ranges
    - std::move
    - std::get<IPAddressBlocks::IPAddressChoice<IPv6>>
    - afi
    - Botan_Tests::Test::new_rng
    - max
    - auto::size
    - std::get<IPAddressBlocks::IPAddressChoice<IPv4>>
    - safi
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_ip_addr_blocks_family_merge()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:782,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:785,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:802,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:804,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:807,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:809,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:812,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:814,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:816,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:817,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:818,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:819,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:824,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:825,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:827,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:828,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:831,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:834,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:835,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:837,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:838,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:841,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:845,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:847,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:849,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:851,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:854,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:856,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:858,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:859,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:860,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:867,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:869,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:872,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:874,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:877,1
    - Dst: IPAddressBlocks::IPAddress<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:879,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:881,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:882,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:883,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:888,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:889,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:891,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:892,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:895,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:897,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:898,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:898,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:900,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:901,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:901,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_rpki.cpp:904,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_rpki.cpp:905,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:912,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:912,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv6>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:914,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:914,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:916,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:917,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:920,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:924,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:926,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:926,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:926,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_rpki.cpp:931,1
    - Dst: Test::Result::require
      Src: /src/botan/src/tests/test_x509_rpki.cpp:932,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_rpki.cpp:932,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 937
      start: 780
    functionDepth: 2
    functionLinenumber: 780
    functionLinenumberEnd: 937
    functionName: Botan_Tests::test_x509_ip_addr_blocks_path_validation_success
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::end_timer
    - IPAddressBlocks::IPAddress<IPv4>
    - std::make_unique<IPAddressBlocks>
    - Botan::X509::create_cert_req
    - IPAddressBlocks::IPAddressFamily
    - Test::Result::require
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan_Tests::from_date
    - Botan_Tests::req_opts
    - Botan::X509_Cert_Options::extensions::add
    - sign_request
    - Botan_Tests::ca_opts
    - Test::Result::start_timer
    - IPAddressBlocks::IPAddressChoice<IPv6>
    - IPAddressBlocks::IPAddress<IPv6>
    - std::optional
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - std::move
    - IPAddressBlocks::IPAddressOrRange<IPv6>
    - Botan_Tests::Test::new_rng
    - Botan::x509_path_validate
    - IPAddressBlocks::IPAddressChoice<IPv4>
    - IPAddressBlocks::IPAddressOrRange<IPv4>
    - Botan::Path_Validation_Result::successful_validation
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_ip_addr_blocks_path_validation_success()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:941,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:944,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:961,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:964,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:964,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:965,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:967,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:969,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:971,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:971,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:977,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:979,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:980,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:985,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:988,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:988,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:989,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:991,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1003,1
    - Dst: IPAddressBlocks::IPAddress<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1011,1
    - Dst: IPAddressBlocks::IPAddressOrRange<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1013,1
    - Dst: IPAddressBlocks::IPAddressChoice<IPv4>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1015,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1015,1
    - Dst: IPAddressBlocks::IPAddressFamily
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1016,1
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1019,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1021,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1022,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1022,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1024,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1026,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1026,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1026,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1031,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1032,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1034,1
    - Dst: Test::Result::require
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1035,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1035,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1038,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 939
    functionDepth: 2
    functionLinenumber: 939
    functionLinenumberEnd: 1040
    functionName: Botan_Tests::test_x509_ip_addr_blocks_path_validation_failure
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::end_timer
    - IPAddressBlocks::IPAddress<IPv4>
    - std::vector::push_back
    - std::make_unique<IPAddressBlocks>
    - Botan::X509::create_cert_req
    - IPAddressBlocks::IPAddressFamily
    - Test::Result::require
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan_Tests::from_date
    - Botan_Tests::req_opts
    - Botan::X509_Cert_Options::extensions::add
    - sign_request
    - Botan_Tests::ca_opts
    - Test::Result::start_timer
    - std::optional
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - std::move
    - Botan_Tests::Test::new_rng
    - Botan::x509_path_validate
    - IPAddressBlocks::IPAddressChoice<IPv4>
    - IPAddressBlocks::IPAddressOrRange<IPv4>
    - Botan::Path_Validation_Result::successful_validation
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_ip_addr_blocks_path_validation_failure()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1044,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1048,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1061,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1062,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1063,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1065,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1066,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1067,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1071,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1072,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1073,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1078,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1079,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1080,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1083,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1084,1
    - Dst: ASBlocks::ASIdentifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1086,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1086,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1087,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1089,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1091,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1092,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1092,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1094,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1095,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1095,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1095,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1098,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1099,1
    - Dst: auto::as_identifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1101,1
    - Dst: asnum
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1104,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1107,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1107,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1108,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1108,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1110,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1110,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1111,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1111,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1113,1
    - Dst: empty
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1113,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1116,1
    - Dst: asnum
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1116,1
    - Dst: rdi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1120,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1123,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1123,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1124,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1124,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1126,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1126,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1127,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1127,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1129,1
    - Dst: empty
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1129,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1132,1
    - Dst: rdi
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1132,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1137,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1042
    functionDepth: 2
    functionLinenumber: 1042
    functionLinenumberEnd: 1139
    functionName: Botan_Tests::test_x509_as_blocks_extension_encode
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - ASBlocks::ASIdOrRange
    - Test::Result::end_timer
    - std::vector::push_back
    - Botan::X509::create_cert_req
    - ASBlocks::ASIdentifierChoice
    - Test::Result::confirm
    - Botan_Tests::from_date
    - Botan_Tests::req_opts
    - Botan::X509_Cert_Options::extensions::add
    - Botan::X509_Certificate::v3_extensions
    - rdi
    - sign_request
    - Test::Result::start_timer
    - min
    - std::optional
    - empty
    - std::move
    - Botan_Tests::Test::new_rng
    - std::make_unique<ASBlocks>
    - auto::as_identifiers
    - max
    - ASBlocks::ASIdentifiers
    - asnum
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_as_blocks_extension_encode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1143,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1147,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1150,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1164,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1165,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1168,1
    - Dst: ASBlocks::ASIdentifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1170,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1170,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1172,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1174,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1174,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1176,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1177,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1177,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1177,1
    - Dst: Botan::X509_Certificate::v3_extensions
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1179,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1180,1
    - Dst: auto::as_identifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1182,1
    - Dst: asnum
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1184,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1186,1
    - Dst: min
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1186,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1187,1
    - Dst: max
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1187,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1188,1
    - Dst: size
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1188,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1193
    functionName: Botan_Tests::test_x509_as_blocks_range_merge
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - ASBlocks::ASIdOrRange
    - Test::Result::end_timer
    - std::vector::push_back
    - Botan::X509::create_cert_req
    - ASBlocks::ASIdentifierChoice
    - Test::Result::confirm
    - Botan_Tests::from_date
    - Botan_Tests::req_opts
    - Botan::X509_Cert_Options::extensions::add
    - Botan::X509_Certificate::v3_extensions
    - sign_request
    - Test::Result::start_timer
    - size
    - min
    - std::optional
    - std::move
    - Botan_Tests::Test::new_rng
    - std::make_unique<ASBlocks>
    - auto::as_identifiers
    - max
    - ASBlocks::ASIdentifiers
    - asnum
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_as_blocks_range_merge()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1197,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1200,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1211,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1212,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1213,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1215,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1216,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1217,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1220,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1221,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1222,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1225,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1226,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1227,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1229,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1230,1
    - Dst: ASBlocks::ASIdentifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1231,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1232,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1235,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1236,1
    - Dst: ASBlocks::ASIdentifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1237,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1238,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1241,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1242,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1243,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1245,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1246,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1249,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1250,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1251,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1254,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1255,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1258,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1259,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1260,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1261,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1262,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1264,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1265,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1266,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1267,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1270,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1271,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1272,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1273,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1274,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1277,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1278,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1279,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1280,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1282,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1283,1
    - Dst: ASBlocks::ASIdentifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1284,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1285,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1287,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1288,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1288,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1290,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1291,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1291,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1294,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1295,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1302,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1302,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1304,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1304,1
    - Dst: ASBlocks::ASIdentifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1305,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1306,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1310,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1312,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1312,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1312,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1317,1
    - Dst: Test::Result::require
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1318,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1318,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1195
    functionDepth: 2
    functionLinenumber: 1195
    functionLinenumberEnd: 1323
    functionName: Botan_Tests::test_x509_as_blocks_path_validation_success
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - ASBlocks::ASIdOrRange
    - Test::Result::end_timer
    - std::vector::push_back
    - Botan::X509::create_cert_req
    - ASBlocks::ASIdentifierChoice
    - Test::Result::require
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan_Tests::from_date
    - Botan_Tests::req_opts
    - Botan::X509_Cert_Options::extensions::add
    - sign_request
    - Botan_Tests::ca_opts
    - Test::Result::start_timer
    - std::optional
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - std::move
    - Botan_Tests::Test::new_rng
    - Botan::x509_path_validate
    - std::make_unique<ASBlocks>
    - ASBlocks::ASIdentifiers
    - Botan::Path_Validation_Result::successful_validation
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_as_blocks_path_validation_success()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1327,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1330,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1333,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1334,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1335,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1336,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1337,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1339,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1340,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1341,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1342,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1345,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1346,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1347,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1348,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1349,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1352,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1353,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1354,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1355,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1357,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1358,1
    - Dst: ASBlocks::ASIdentifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1359,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1360,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1363,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1365,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1366,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1366,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1367,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1368,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1368,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1368,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1370,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1371,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1376,1
    - Dst: Test::Result::require
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1377,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1377,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1325
    functionDepth: 2
    functionLinenumber: 1325
    functionLinenumberEnd: 1381
    functionName: Botan_Tests::test_x509_as_blocks_path_validation_extension_not_present
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - ASBlocks::ASIdOrRange
    - Test::Result::end_timer
    - std::vector::push_back
    - Botan::X509::create_cert_req
    - ASBlocks::ASIdentifierChoice
    - Test::Result::require
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan_Tests::from_date
    - Botan_Tests::req_opts
    - Botan::X509_Cert_Options::extensions::add
    - sign_request
    - Botan_Tests::ca_opts
    - Test::Result::start_timer
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - std::move
    - Botan_Tests::Test::new_rng
    - Botan::x509_path_validate
    - std::make_unique<ASBlocks>
    - ASBlocks::ASIdentifiers
    - Botan::Path_Validation_Result::successful_validation
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_as_blocks_path_validation_extension_not_present()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1385,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1388,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1443,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1443,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1446,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1446,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1447,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1447,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1448,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1448,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1451,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1451,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1452,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1452,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1453,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1453,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1458,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1458,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1460,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1460,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1461,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1461,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1462,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1462,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1464,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1464,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1465,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1465,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1466,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1466,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1482,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1482,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1485,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1485,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1489,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1495,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1497,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1497,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1501,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1506,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1507,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1507,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1509,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1509,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1514,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1514,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1516,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1516,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1519,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1522,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1523,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1523,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1526,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1529,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1530,1
    - Dst: ASBlocks::ASIdOrRange
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1530,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1536,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1536,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1538,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1538,1
    - Dst: ASBlocks::ASIdentifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1539,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1540,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1543,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1546,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1546,1
    - Dst: ASBlocks::ASIdentifierChoice
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1548,1
    - Dst: std::optional
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1548,1
    - Dst: ASBlocks::ASIdentifiers
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1549,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1550,1
    - Dst: Botan_Tests::ca_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1552,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1553,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1553,1
    - Dst: Botan_Tests::req_opts
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1557,1
    - Dst: Botan::X509_Cert_Options::extensions::add
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1558,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1558,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1559,1
    - Dst: sign_request
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1561,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1561,1
    - Dst: Botan_Tests::from_date
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1561,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1563,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1564,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1569,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1571,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1571,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1571,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1574,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1383
    functionDepth: 2
    functionLinenumber: 1383
    functionLinenumberEnd: 1576
    functionName: Botan_Tests::test_x509_as_blocks_path_validation_failure
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - ASBlocks::ASIdOrRange
    - Test::Result::end_timer
    - std::to_string
    - std::vector::push_back
    - Botan::X509::create_cert_req
    - ASBlocks::ASIdentifierChoice
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Test::Result::confirm
    - Botan_Tests::from_date
    - Botan_Tests::req_opts
    - Botan::X509_Cert_Options::extensions::add
    - sign_request
    - Botan_Tests::ca_opts
    - Test::Result::start_timer
    - std::optional
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - std::move
    - Botan_Tests::Test::new_rng
    - Botan::x509_path_validate
    - std::make_unique<ASBlocks>
    - ASBlocks::ASIdentifiers
    - Botan::Path_Validation_Result::successful_validation
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_x509_as_blocks_path_validation_failure()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1584,1
    - Dst: test_x509_ip_addr_blocks_extension_decode
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1584,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1585,1
    - Dst: test_x509_as_blocks_extension_decode
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1585,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1588,1
    - Dst: test_x509_ip_addr_blocks_extension_encode
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1588,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1589,1
    - Dst: test_x509_ip_addr_blocks_extension_encode_edge_cases
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1589,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1590,1
    - Dst: test_x509_ip_addr_blocks_range_merge
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1590,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1591,1
    - Dst: test_x509_ip_addr_blocks_family_merge
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1591,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1592,1
    - Dst: test_x509_ip_addr_blocks_path_validation_success
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1592,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1593,1
    - Dst: test_x509_ip_addr_blocks_path_validation_failure
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1593,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1594,1
    - Dst: test_x509_as_blocks_extension_encode
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1594,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1595,1
    - Dst: test_x509_as_blocks_range_merge
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1595,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1596,1
    - Dst: test_x509_as_blocks_path_validation_success
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1596,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1597,1
    - Dst: test_x509_as_blocks_path_validation_extension_not_present
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1597,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1598,1
    - Dst: test_x509_as_blocks_path_validation_failure
      Src: /src/botan/src/tests/test_x509_rpki.cpp:1598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1580
    functionDepth: 1
    functionLinenumber: 1580
    functionLinenumberEnd: 1600
    functionName: Botan_Tests::X509_RPKI_Tests::run
    functionSourceFile: /src/botan/src/tests/test_x509_rpki.cpp
    functionUses: 0
    functionsReached:
    - test_x509_as_blocks_extension_decode
    - test_x509_as_blocks_range_merge
    - test_x509_ip_addr_blocks_extension_decode
    - test_x509_ip_addr_blocks_extension_encode
    - std::vector::push_back
    - test_x509_ip_addr_blocks_range_merge
    - test_x509_ip_addr_blocks_path_validation_failure
    - test_x509_as_blocks_path_validation_success
    - test_x509_as_blocks_path_validation_extension_not_present
    - test_x509_as_blocks_path_validation_failure
    - test_x509_as_blocks_extension_encode
    - test_x509_ip_addr_blocks_path_validation_success
    - test_x509_ip_addr_blocks_extension_encode_edge_cases
    - test_x509_ip_addr_blocks_family_merge
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan_Tests::GOST_3410_2001_Verification_Tests::GOST_3410_2001_Verification_Tests
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GOST_3410_2001_Verification_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/test_gost_3410.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Botan_Tests::GOST_3410_2001_Verification_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_application_specific_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:31,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:32,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:33,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:34,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:35,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:36,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_gost_3410.cpp:37,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:41,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:42,1
    - Dst: Botan::EC_AffinePoint::from_bigint_xy
      Src: /src/botan/src/tests/test_gost_3410.cpp:44,1
    - Dst: std::make_unique<Botan::GOST_3410_PublicKey>
      Src: /src/botan/src/tests/test_gost_3410.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: Botan_Tests::GOST_3410_2001_Verification_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_AffinePoint::from_bigint_xy
    - get_req_bn
    - get_req_str
    - std::make_unique<Botan::GOST_3410_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_gost_3410.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan_Tests::GOST_3410_2001_Verification_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Botan_Tests::GOST_3410_2001_Signature_Tests::GOST_3410_2001_Signature_Tests
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GOST_3410_2001_Signature_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/test_gost_3410.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: Botan_Tests::GOST_3410_2001_Signature_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_application_specific_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:63,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:64,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:65,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:66,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:67,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:68,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_gost_3410.cpp:69,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_gost_3410.cpp:73,1
    - Dst: std::make_unique<Botan::GOST_3410_PrivateKey>
      Src: /src/botan/src/tests/test_gost_3410.cpp:75,1
    - Dst: Botan_Tests::GOST_3410_2001_Signature_Tests::rng
      Src: /src/botan/src/tests/test_gost_3410.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: Botan_Tests::GOST_3410_2001_Signature_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::GOST_3410_2001_Signature_Tests::rng
    - std::make_unique<Botan::GOST_3410_PrivateKey>
    - get_req_bn
    - get_req_str
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_gost_3410.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan_Tests::GOST_3410_2001_Signature_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_Position_RNG>
      Src: /src/botan/src/tests/test_gost_3410.cpp:81,1
    - Dst: Botan_Tests::GOST_3410_2001_Signature_Tests::rng
      Src: /src/botan/src/tests/test_gost_3410.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan_Tests::GOST_3410_2001_Signature_Tests::test_rng
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::GOST_3410_2001_Signature_Tests::rng
    - std::make_unique<Fixed_Output_Position_RNG>
    linkageType: ''
    returnType: std::unique_ptr<Botan::RandomNumberGenerator>
    signature: std::unique_ptr<Botan::RandomNumberGenerator> test_rng(const std::vector<uint8_t>&
      nonce) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_gost_3410.cpp:90,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_gost_3410.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: Botan_Tests::GOST_3410_2001_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan_Tests::GOST_3410_2001_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::EC_Group
      Src: /src/botan/src/tests/test_gost_3410.cpp:102,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/tests/test_gost_3410.cpp:103,1
    - Dst: std::make_unique<Botan::GOST_3410_PublicKey>
      Src: /src/botan/src/tests/test_gost_3410.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: Botan_Tests::GOST_3410_2001_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::EC_Group
    - Botan::EC_AffinePoint::EC_AffinePoint
    - std::make_unique<Botan::GOST_3410_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan_Tests::Cryptobox_KAT::Cryptobox_KAT
    functionSourceFile: /src/botan/src/tests/test_cryptobox.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cryptobox_KAT()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_cryptobox.cpp:30,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_cryptobox.cpp:31,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_cryptobox.cpp:32,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_cryptobox.cpp:33,1
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/tests/test_cryptobox.cpp:35,1
    - Dst: Botan::CryptoBox::encrypt
      Src: /src/botan/src/tests/test_cryptobox.cpp:42,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_cryptobox.cpp:42,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_cryptobox.cpp:42,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_cryptobox.cpp:44,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_cryptobox.cpp:46,1
    - Dst: Botan::CryptoBox::decrypt_bin
      Src: /src/botan/src/tests/test_cryptobox.cpp:46,1
    - Dst: Botan_Tests::Test::mutate_vec
      Src: /src/botan/src/tests/test_cryptobox.cpp:50,1
    - Dst: Botan_Tests::Cryptobox_KAT::rng
      Src: /src/botan/src/tests/test_cryptobox.cpp:50,1
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/tests/test_cryptobox.cpp:51,1
    - Dst: Botan::CryptoBox::decrypt
      Src: /src/botan/src/tests/test_cryptobox.cpp:53,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_cryptobox.cpp:54,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_cryptobox.cpp:56,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_cryptobox.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 64
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 64
    functionName: Botan_Tests::Cryptobox_KAT::run_one_test
    functionSourceFile: /src/botan/src/tests/test_cryptobox.cpp
    functionUses: 0
    functionsReached:
    - Botan::CryptoBox::decrypt_bin
    - get_req_str
    - std::vector::size
    - Botan::CryptoBox::encrypt
    - Botan_Tests::Cryptobox_KAT::rng
    - Botan::PEM_Code::encode
    - Test::Result::test_failure
    - get_req_bin
    - Test::Result::test_eq
    - Test::Result::test_success
    - Botan::CryptoBox::decrypt
    - Botan_Tests::Test::mutate_vec
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:48,1
    - Dst: Botan_Tests::Utility_Function_Tests::test_checked_add
      Src: /src/botan/src/tests/test_utils.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:49,1
    - Dst: Botan_Tests::Utility_Function_Tests::test_checked_mul
      Src: /src/botan/src/tests/test_utils.cpp:49,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:50,1
    - Dst: Botan_Tests::Utility_Function_Tests::test_checked_cast
      Src: /src/botan/src/tests/test_utils.cpp:50,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:51,1
    - Dst: Botan_Tests::Utility_Function_Tests::test_round_up
      Src: /src/botan/src/tests/test_utils.cpp:51,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:52,1
    - Dst: Botan_Tests::Utility_Function_Tests::test_loadstore
      Src: /src/botan/src/tests/test_utils.cpp:52,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:53,1
    - Dst: Botan_Tests::Utility_Function_Tests::test_loadstore_ambiguity
      Src: /src/botan/src/tests/test_utils.cpp:53,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:54,1
    - Dst: Botan_Tests::Utility_Function_Tests::test_loadstore_fallback
      Src: /src/botan/src/tests/test_utils.cpp:54,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:55,1
    - Dst: Botan_Tests::Utility_Function_Tests::test_loadstore_constexpr
      Src: /src/botan/src/tests/test_utils.cpp:55,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_utils.cpp:56,1
    - Dst: Botan_Tests::Utility_Function_Tests::test_copy_out_be_le
      Src: /src/botan/src/tests/test_utils.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: Botan_Tests::Utility_Function_Tests::run
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::concat
    - Botan_Tests::Utility_Function_Tests::test_checked_add
    - Botan_Tests::Utility_Function_Tests::test_round_up
    - Botan_Tests::Utility_Function_Tests::test_loadstore_ambiguity
    - std::vector::push_back
    - Botan_Tests::Utility_Function_Tests::test_loadstore_constexpr
    - Botan_Tests::Utility_Function_Tests::test_checked_cast
    - Botan_Tests::Utility_Function_Tests::test_copy_out_be_le
    - Botan_Tests::Utility_Function_Tests::test_checked_mul
    - Botan_Tests::Utility_Function_Tests::test_loadstore
    - Botan_Tests::Utility_Function_Tests::test_loadstore_fallback
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::checked_add<size_t>
      Src: /src/botan/src/tests/test_utils.cpp:68,1
    - Dst: Botan::checked_add<size_t>
      Src: /src/botan/src/tests/test_utils.cpp:69,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:71,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:74,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils.cpp:74,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:76,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils.cpp:76,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_utils.cpp:80,1
    - Dst: Botan::checked_add
      Src: /src/botan/src/tests/test_utils.cpp:88,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_utils.cpp:89,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils.cpp:89,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 96
    functionName: Botan_Tests::Utility_Function_Tests::test_checked_add
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_int_eq
    - auto::value
    - Botan::checked_add
    - fuzzer_rng
    - auto::has_value
    - Test::Result::confirm
    - Botan::checked_add<size_t>
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_checked_add()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_utils.cpp:101,1
    - Dst: Botan::checked_mul
      Src: /src/botan/src/tests/test_utils.cpp:109,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_utils.cpp:110,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils.cpp:110,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 117
    functionName: Botan_Tests::Utility_Function_Tests::test_checked_mul
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_int_eq
    - auto::value
    - fuzzer_rng
    - Test::Result::confirm
    - Botan::checked_mul
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_checked_mul()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:126,1
    - Dst: Botan::checked_cast_to<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:126,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:127,1
    - Dst: Botan::checked_cast_to<uint8_t>
      Src: /src/botan/src/tests/test_utils.cpp:127,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_utils.cpp:129,1
    - Dst: Botan::checked_cast_to<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:129,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_utils.cpp:130,1
    - Dst: Botan::checked_cast_to<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:130,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_utils.cpp:131,1
    - Dst: Botan::checked_cast_to<uint8_t>
      Src: /src/botan/src/tests/test_utils.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: Botan_Tests::Utility_Function_Tests::test_checked_cast
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_throws
    - Test::Result::test_int_eq
    - Botan::checked_cast_to<uint8_t>
    - Botan::checked_cast_to<uint16_t>
    - Botan::checked_cast_to<uint32_t>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_checked_cast()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:156,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:157,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:158,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_utils.cpp:160,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils.cpp:160,1
    - Dst: what
      Src: /src/botan/src/tests/test_utils.cpp:160,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:165,1
    - Dst: Botan::round_up
      Src: /src/botan/src/tests/test_utils.cpp:165,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_utils.cpp:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 168
    functionName: Botan_Tests::Utility_Function_Tests::test_round_up
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_throws
    - what
    - Test::Result::confirm
    - static_cast<size_t>
    - Test::Result::test_failure
    - Botan::fmt
    - Botan::round_up
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_round_up()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:187,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:194,1
    - Dst: Botan::get_byte<0>
      Src: /src/botan/src/tests/test_utils.cpp:194,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:195,1
    - Dst: Botan::get_byte<1>
      Src: /src/botan/src/tests/test_utils.cpp:195,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:196,1
    - Dst: Botan::get_byte<2>
      Src: /src/botan/src/tests/test_utils.cpp:196,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:197,1
    - Dst: Botan::get_byte<3>
      Src: /src/botan/src/tests/test_utils.cpp:197,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:199,1
    - Dst: Botan::make_uint16
      Src: /src/botan/src/tests/test_utils.cpp:199,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:200,1
    - Dst: Botan::make_uint32
      Src: /src/botan/src/tests/test_utils.cpp:200,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:202,1
    - Dst: Botan::load_be<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:202,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:203,1
    - Dst: Botan::load_be<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:203,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:204,1
    - Dst: Botan::load_be<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:204,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:205,1
    - Dst: Botan::load_be<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:205,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:207,1
    - Dst: Botan::load_le<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:207,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:208,1
    - Dst: Botan::load_le<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:208,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:209,1
    - Dst: Botan::load_le<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:209,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:210,1
    - Dst: Botan::load_le<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:210,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:212,1
    - Dst: Botan::load_be<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:212,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:213,1
    - Dst: Botan::load_be<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:213,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:214,1
    - Dst: Botan::load_be<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:214,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:215,1
    - Dst: Botan::load_be<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:215,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:217,1
    - Dst: Botan::load_le<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:217,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:218,1
    - Dst: Botan::load_le<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:218,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:219,1
    - Dst: Botan::load_le<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:219,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:220,1
    - Dst: Botan::load_le<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:220,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:222,1
    - Dst: Botan::load_be<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:222,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:223,1
    - Dst: Botan::load_be<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:223,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:225,1
    - Dst: Botan::load_le<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:225,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:226,1
    - Dst: Botan::load_le<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:226,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:229,1
    - Dst: Botan::load_be<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:229,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:230,1
    - Dst: Botan::load_le<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:230,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:232,1
    - Dst: Botan::load_be<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:232,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:233,1
    - Dst: Botan::load_le<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:233,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:235,1
    - Dst: Botan::load_be<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:235,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:236,1
    - Dst: Botan::load_le<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:236,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:237,1
    - Dst: Botan::load_le<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:237,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:244,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:245,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:246,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:248,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:249,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:250,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:252,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:253,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:254,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:255,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:256,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:258,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:259,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:260,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:261,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:262,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:264,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:265,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:266,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:267,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:268,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:269,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:270,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:271,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:272,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:274,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:275,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:276,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:277,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:278,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:279,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:280,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:281,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:282,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:287,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_utils.cpp:289,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:290,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:291,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:292,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:293,1
    - Dst: Botan::load_le
      Src: /src/botan/src/tests/test_utils.cpp:295,1
    - Dst: first
      Src: /src/botan/src/tests/test_utils.cpp:295,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:296,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:297,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:298,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:299,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:301,1
    - Dst: Botan::load_le
      Src: /src/botan/src/tests/test_utils.cpp:303,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:304,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:305,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:306,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:307,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_utils.cpp:309,1
    - Dst: first
      Src: /src/botan/src/tests/test_utils.cpp:309,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:310,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:311,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:312,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:313,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:319,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:320,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:322,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:323,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:323,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:325,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:326,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:327,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:328,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:328,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:333,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:334,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:335,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:336,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:337,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:338,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:339,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:340,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:344,1
    - Dst: Botan::store_be<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:345,1
    - Dst: Botan::store_be<TestVectorSink>
      Src: /src/botan/src/tests/test_utils.cpp:346,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:347,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:348,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:348,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:349,1
    - Dst: TestVectorSink
      Src: /src/botan/src/tests/test_utils.cpp:349,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:349,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:350,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:351,1
    - Dst: Botan::store_le<TestVectorSink>
      Src: /src/botan/src/tests/test_utils.cpp:352,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:353,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:354,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:354,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:355,1
    - Dst: TestVectorSink
      Src: /src/botan/src/tests/test_utils.cpp:355,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:355,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:357,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_utils.cpp:357,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:357,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:358,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_utils.cpp:358,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:358,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:359,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_utils.cpp:359,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:359,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:361,1
    - Dst: Botan::load_le
      Src: /src/botan/src/tests/test_utils.cpp:361,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:361,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:362,1
    - Dst: Botan::load_le
      Src: /src/botan/src/tests/test_utils.cpp:362,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:362,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:363,1
    - Dst: Botan::load_le
      Src: /src/botan/src/tests/test_utils.cpp:363,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:363,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:369,1
    - Dst: Botan::load_le
      Src: /src/botan/src/tests/test_utils.cpp:370,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:370,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:371,1
    - Dst: Botan::load_le
      Src: /src/botan/src/tests/test_utils.cpp:372,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:372,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:373,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_utils.cpp:374,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:374,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:375,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_utils.cpp:376,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:376,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:380,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:381,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:382,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:383,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:384,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:385,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:386,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:387,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:392,1
    - Dst: Botan::store_be<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:392,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:392,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:393,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:393,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:393,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:396,1
    - Dst: Botan::store_be<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:396,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:396,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:397,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:397,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:397,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:400,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:401,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:402,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:403,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:405,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:406,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:407,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:408,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:411,1
    - Dst: Botan::load_be<std::array<uint16_t, 2>>
      Src: /src/botan/src/tests/test_utils.cpp:412,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:413,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:414,1
    - Dst: Botan::load_be<std::vector<uint16_t>>
      Src: /src/botan/src/tests/test_utils.cpp:415,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_utils.cpp:416,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils.cpp:416,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:417,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:418,1
    - Dst: Botan::load_le<std::array<uint16_t, 2>>
      Src: /src/botan/src/tests/test_utils.cpp:420,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:421,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:422,1
    - Dst: Botan::load_le<Botan::secure_vector<uint16_t>>
      Src: /src/botan/src/tests/test_utils.cpp:423,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_utils.cpp:424,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils.cpp:424,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:425,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:426,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:432,1
    - Dst: Botan::store_be<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:432,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:432,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:433,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:433,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:433,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:434,1
    - Dst: Botan::store_be<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:434,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:434,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:435,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:435,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:435,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:437,1
    - Dst: Botan::load_be<TestInt64>
      Src: /src/botan/src/tests/test_utils.cpp:437,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:437,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:438,1
    - Dst: Botan::load_le<TestInt64>
      Src: /src/botan/src/tests/test_utils.cpp:438,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:438,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:439,1
    - Dst: Botan::load_be<TestInt32>
      Src: /src/botan/src/tests/test_utils.cpp:439,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:439,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:440,1
    - Dst: Botan::load_le<TestInt32>
      Src: /src/botan/src/tests/test_utils.cpp:440,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:440,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:443,1
    - Dst: Botan::store_be<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:443,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:444,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:445,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:445,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:446,1
    - Dst: Botan::load_le<std::array<TestInt64, 2>>
      Src: /src/botan/src/tests/test_utils.cpp:449,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:449,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:450,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:451,1
    - Dst: Botan::load_be<std::vector<TestInt64>>
      Src: /src/botan/src/tests/test_utils.cpp:454,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:454,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:455,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:456,1
    - Dst: Botan::load_le<TestEnum64>
      Src: /src/botan/src/tests/test_utils.cpp:459,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:459,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:460,1
    - Dst: Botan::load_be<TestEnum64>
      Src: /src/botan/src/tests/test_utils.cpp:461,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:461,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:462,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:463,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:463,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:464,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:465,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:465,1
    - Dst: Botan::load_le<TestEnum32>
      Src: /src/botan/src/tests/test_utils.cpp:468,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:468,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:469,1
    - Dst: Botan::load_be<TestEnum32>
      Src: /src/botan/src/tests/test_utils.cpp:470,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:470,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:471,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:472,1
    - Dst: Botan::store_le<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils.cpp:472,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:472,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:473,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 195
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 476
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 476
    functionName: Botan_Tests::Utility_Function_Tests::test_loadstore
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_eq_sz
    - Botan::load_le<TestInt32>
    - Botan::load_be<std::array<uint16_t, 2>>
    - Botan::load_le<uint16_t>
    - Botan::get_byte<3>
    - Botan::make_uint16
    - Botan::load_le<std::array<uint16_t, 2>>
    - Botan::load_be<uint64_t>
    - Botan::load_le<Botan::secure_vector<uint16_t>>
    - Botan::get_byte<0>
    - Botan::load_le<TestEnum32>
    - Botan::get_byte<2>
    - Botan::load_le<TestInt64>
    - Botan::load_be<TestInt32>
    - Test::Result::test_throws
    - Botan::make_uint32
    - Botan::store_le<TestVectorSink>
    - Botan::store_le<std::vector<uint8_t>>
    - Botan::load_le<TestEnum64>
    - Botan::hex_decode
    - Botan::load_le<uint64_t>
    - Botan::store_be<TestVectorSink>
    - first
    - Botan::load_le<std::array<TestInt64, 2>>
    - Botan::load_be<TestEnum32>
    - Botan::load_be<uint16_t>
    - Botan::get_byte<1>
    - Botan::load_be<TestInt64>
    - Botan::load_be<TestEnum64>
    - Botan::store_le
    - TestVectorSink
    - Botan::load_le<uint32_t>
    - Botan::load_le
    - Test::Result::test_is_eq
    - Botan::load_be<uint32_t>
    - Botan::load_be<std::vector<TestInt64>>
    - auto::size
    - Botan::load_be<std::vector<uint16_t>>
    - Botan::store_be
    - Botan::load_be
    - Botan::store_be<std::vector<uint8_t>>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_loadstore()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::fallback_load_any<std::endian::big, T>
      Src: /src/botan/src/tests/test_utils.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::array<const uint8_t, sizeof(T)>
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: Botan_Tests::Utility_Function_Tests::fb_load_be
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::detail::fallback_load_any<std::endian::big, T>
    linkageType: ''
    returnType: T
    signature: T fb_load_be(std::array<const uint8_t, sizeof(T)> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::fallback_load_any<std::endian::little, T>
      Src: /src/botan/src/tests/test_utils.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::array<const uint8_t, sizeof(T)>
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: Botan_Tests::Utility_Function_Tests::fb_load_le
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::detail::fallback_load_any<std::endian::little, T>
    linkageType: ''
    returnType: T
    signature: T fb_load_le(std::array<const uint8_t, sizeof(T)> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::fallback_store_any<std::endian::big, T>
      Src: /src/botan/src/tests/test_utils.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 493
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 493
    functionName: Botan_Tests::Utility_Function_Tests::fb_store_be
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::detail::fallback_store_any<std::endian::big, T>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) fb_store_be(const T in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::fallback_store_any<std::endian::little, T>
      Src: /src/botan/src/tests/test_utils.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 500
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 500
    functionName: Botan_Tests::Utility_Function_Tests::fb_store_le
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::detail::fallback_store_any<std::endian::little, T>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) fb_store_le(const T in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:518,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:519,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:520,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:521,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:522,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:523,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:525,1
    - Dst: Botan::load_be<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:525,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:526,1
    - Dst: Botan::load_le<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:526,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:527,1
    - Dst: Botan::load_be<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:527,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:528,1
    - Dst: Botan::load_le<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:528,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:529,1
    - Dst: Botan::load_be<size_t>
      Src: /src/botan/src/tests/test_utils.cpp:529,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:530,1
    - Dst: Botan::load_le<size_t>
      Src: /src/botan/src/tests/test_utils.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 533
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 533
    functionName: Botan_Tests::Utility_Function_Tests::test_loadstore_ambiguity
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan::store_le
    - Botan::load_le<uint32_t>
    - Test::Result::test_is_eq
    - Botan::load_be<uint32_t>
    - Botan::load_be<uint64_t>
    - Botan::load_le<size_t>
    - Botan::store_be
    - Botan::load_be<size_t>
    - Botan::load_le<uint64_t>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_loadstore_ambiguity()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:542,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_load_le
      Src: /src/botan/src/tests/test_utils.cpp:542,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:543,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_load_le
      Src: /src/botan/src/tests/test_utils.cpp:543,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:544,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_load_le
      Src: /src/botan/src/tests/test_utils.cpp:544,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:546,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_load_be
      Src: /src/botan/src/tests/test_utils.cpp:546,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:547,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_load_be
      Src: /src/botan/src/tests/test_utils.cpp:547,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:548,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_load_be
      Src: /src/botan/src/tests/test_utils.cpp:548,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:550,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_store_le
      Src: /src/botan/src/tests/test_utils.cpp:550,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:551,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_store_le
      Src: /src/botan/src/tests/test_utils.cpp:551,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:552,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_store_le
      Src: /src/botan/src/tests/test_utils.cpp:552,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:554,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_store_be
      Src: /src/botan/src/tests/test_utils.cpp:554,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:555,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_store_be
      Src: /src/botan/src/tests/test_utils.cpp:555,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:556,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_store_be
      Src: /src/botan/src/tests/test_utils.cpp:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 559
    functionName: Botan_Tests::Utility_Function_Tests::test_loadstore_fallback
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::Utility_Function_Tests::fb_load_le
    - Botan_Tests::Utility_Function_Tests::fb_store_be
    - Botan_Tests::Utility_Function_Tests::fb_store_le
    - Test::Result::test_is_eq
    - Botan_Tests::Utility_Function_Tests::fb_load_be
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_loadstore_fallback()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get_byte<0>
      Src: /src/botan/src/tests/test_utils.cpp:575,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:576,1
    - Dst: Botan::get_byte<1>
      Src: /src/botan/src/tests/test_utils.cpp:577,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:578,1
    - Dst: Botan::get_byte<0>
      Src: /src/botan/src/tests/test_utils.cpp:581,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:582,1
    - Dst: Botan::get_byte<1>
      Src: /src/botan/src/tests/test_utils.cpp:583,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:584,1
    - Dst: Botan::get_byte<2>
      Src: /src/botan/src/tests/test_utils.cpp:585,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:586,1
    - Dst: Botan::get_byte<3>
      Src: /src/botan/src/tests/test_utils.cpp:587,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:588,1
    - Dst: Botan::get_byte<0>
      Src: /src/botan/src/tests/test_utils.cpp:591,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:592,1
    - Dst: Botan::get_byte<1>
      Src: /src/botan/src/tests/test_utils.cpp:593,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:594,1
    - Dst: Botan::get_byte<2>
      Src: /src/botan/src/tests/test_utils.cpp:595,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:596,1
    - Dst: Botan::get_byte<3>
      Src: /src/botan/src/tests/test_utils.cpp:597,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:598,1
    - Dst: Botan::get_byte<4>
      Src: /src/botan/src/tests/test_utils.cpp:599,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:600,1
    - Dst: Botan::get_byte<5>
      Src: /src/botan/src/tests/test_utils.cpp:601,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:602,1
    - Dst: Botan::get_byte<6>
      Src: /src/botan/src/tests/test_utils.cpp:603,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:604,1
    - Dst: Botan::get_byte<7>
      Src: /src/botan/src/tests/test_utils.cpp:605,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:606,1
    - Dst: Botan::make_uint16
      Src: /src/botan/src/tests/test_utils.cpp:609,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:610,1
    - Dst: Botan::make_uint32
      Src: /src/botan/src/tests/test_utils.cpp:611,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:612,1
    - Dst: Botan::make_uint64
      Src: /src/botan/src/tests/test_utils.cpp:613,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:614,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:617,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:618,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:619,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:620,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:621,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:622,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:624,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:625,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:626,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:627,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:628,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:629,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:633,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:635,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:636,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:639,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:640,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:641,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:642,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:645,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:646,1
    - Dst: Botan::store_le
      Src: /src/botan/src/tests/test_utils.cpp:647,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:648,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:651,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:654,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:656,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:657,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:660,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:661,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:662,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:663,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:666,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:667,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_utils.cpp:668,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:669,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:672,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:676,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:678,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:680,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:683,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:685,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:687,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/test_utils.cpp:690,1
    - Dst: Botan::load_le<std::array<uint16_t, cex_mem.size() / 2>>
      Src: /src/botan/src/tests/test_utils.cpp:690,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:691,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/test_utils.cpp:692,1
    - Dst: Botan::load_le<std::array<uint32_t, cex_mem.size() / 4>>
      Src: /src/botan/src/tests/test_utils.cpp:692,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:693,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/test_utils.cpp:694,1
    - Dst: Botan::load_le<std::array<uint64_t, cex_mem.size() / 8>>
      Src: /src/botan/src/tests/test_utils.cpp:694,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:695,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/test_utils.cpp:697,1
    - Dst: Botan::load_be<std::array<uint16_t, cex_mem.size() / 2>>
      Src: /src/botan/src/tests/test_utils.cpp:697,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:698,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/test_utils.cpp:699,1
    - Dst: Botan::load_be<std::array<uint32_t, cex_mem.size() / 4>>
      Src: /src/botan/src/tests/test_utils.cpp:699,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:700,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/test_utils.cpp:701,1
    - Dst: Botan::load_be<std::array<uint64_t, cex_mem.size() / 8>>
      Src: /src/botan/src/tests/test_utils.cpp:701,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 705
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 705
    functionName: Botan_Tests::Utility_Function_Tests::test_loadstore_constexpr
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan::get_byte<5>
    - Botan::get_byte<3>
    - Botan::load_le<std::array<uint16_t, cex_mem.size() / 2>>
    - Botan::make_uint16
    - Botan::make_uint64
    - Botan::get_byte<0>
    - Botan::load_le<std::array<uint64_t, cex_mem.size() / 8>>
    - Botan::get_byte<2>
    - Botan::load_le<std::array<uint32_t, cex_mem.size() / 4>>
    - Botan::make_uint32
    - Botan::get_byte<7>
    - Botan::get_byte<4>
    - Botan::get_byte<1>
    - Botan::store_le
    - Botan::load_be<std::array<uint16_t, cex_mem.size() / 2>>
    - Botan::get_byte<6>
    - Test::Result::test_is_eq
    - Botan::load_be<std::array<uint64_t, cex_mem.size() / 8>>
    - std::array::size
    - Botan::load_be<std::array<uint32_t, cex_mem.size() / 4>>
    - Botan::store_be
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_loadstore_constexpr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:709,1
    - Dst: Botan::copy_out_be
      Src: /src/botan/src/tests/test_utils.cpp:713,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:714,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:714,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:717,1
    - Dst: Botan::copy_out_be
      Src: /src/botan/src/tests/test_utils.cpp:721,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:722,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:722,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:725,1
    - Dst: Botan::copy_out_le
      Src: /src/botan/src/tests/test_utils.cpp:729,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:730,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:730,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:733,1
    - Dst: Botan::copy_out_le
      Src: /src/botan/src/tests/test_utils.cpp:737,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:738,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:738,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:741,1
    - Dst: Botan::copy_out_be
      Src: /src/botan/src/tests/test_utils.cpp:745,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:746,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:746,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:749,1
    - Dst: Botan::copy_out_le
      Src: /src/botan/src/tests/test_utils.cpp:753,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:754,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:754,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:757,1
    - Dst: Botan::copy_out_be
      Src: /src/botan/src/tests/test_utils.cpp:761,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:762,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:762,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:765,1
    - Dst: Botan::copy_out_le
      Src: /src/botan/src/tests/test_utils.cpp:769,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:770,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils.cpp:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 773
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 773
    functionName: Botan_Tests::Utility_Function_Tests::test_copy_out_be_le
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - CHECK
    - test_is_eq
    - Botan::copy_out_le
    - Botan::copy_out_be
    - Botan::hex_decode
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_copy_out_be_le()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:783,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:783,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:784,1
    - Dst: Botan_Tests::BitOps_Tests::test_ctz
      Src: /src/botan/src/tests/test_utils.cpp:784,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:785,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:785,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:786,1
    - Dst: Botan_Tests::BitOps_Tests::test_popcount
      Src: /src/botan/src/tests/test_utils.cpp:786,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:787,1
    - Dst: Botan_Tests::BitOps_Tests::test_reverse_bits
      Src: /src/botan/src/tests/test_utils.cpp:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 790
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 790
    functionName: Botan_Tests::BitOps_Tests::run
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::BitOps_Tests::test_sig_bytes
    - Botan_Tests::BitOps_Tests::test_power_of_2
    - Botan_Tests::BitOps_Tests::test_ctz
    - Botan_Tests::BitOps_Tests::test_popcount
    - std::vector::push_back
    - Botan_Tests::BitOps_Tests::test_reverse_bits
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils.cpp:795,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_utils.cpp:795,1
    - Dst: Botan::ctz<T>
      Src: /src/botan/src/tests/test_utils.cpp:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' result'
    - val
    - expected
    argTypes:
    - Test::Result
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 796
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 796
    functionName: Botan_Tests::BitOps_Tests::test_ctz
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan::ctz<T>
    - std::to_string
    - test_eq
    linkageType: ''
    returnType: void
    signature: void test_ctz(Test::Result& result, T val, size_t expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::BitOps_Tests::test_ctz
      Src: /src/botan/src/tests/test_utils.cpp:800,1
    - Dst: Botan_Tests::BitOps_Tests::test_ctz
      Src: /src/botan/src/tests/test_utils.cpp:801,1
    - Dst: Botan_Tests::BitOps_Tests::test_ctz
      Src: /src/botan/src/tests/test_utils.cpp:802,1
    - Dst: Botan_Tests::BitOps_Tests::test_ctz
      Src: /src/botan/src/tests/test_utils.cpp:803,1
    - Dst: Botan_Tests::BitOps_Tests::test_ctz
      Src: /src/botan/src/tests/test_utils.cpp:804,1
    - Dst: Botan_Tests::BitOps_Tests::test_ctz
      Src: /src/botan/src/tests/test_utils.cpp:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 808
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 808
    functionName: Botan_Tests::BitOps_Tests::test_ctz
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 2
    functionsReached:
    - Botan_Tests::BitOps_Tests::test_ctz
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ctz()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils.cpp:812,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_utils.cpp:812,1
    - Dst: Botan::significant_bytes<T>
      Src: /src/botan/src/tests/test_utils.cpp:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' result'
    - val
    - expected
    argTypes:
    - Test::Result
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 813
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 813
    functionName: Botan_Tests::BitOps_Tests::test_sig_bytes
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - std::to_string
    - Botan::significant_bytes<T>
    - test_eq
    linkageType: ''
    returnType: void
    signature: void test_sig_bytes(Test::Result& result, T val, size_t expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:817,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:818,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:819,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:820,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:821,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:822,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:823,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:824,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:826,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:827,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:828,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:829,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:830,1
    - Dst: Botan_Tests::BitOps_Tests::test_sig_bytes
      Src: /src/botan/src/tests/test_utils.cpp:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 834
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 834
    functionName: Botan_Tests::BitOps_Tests::test_sig_bytes
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 2
    functionsReached:
    - Botan_Tests::BitOps_Tests::test_sig_bytes
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_sig_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils.cpp:838,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_utils.cpp:838,1
    - Dst: Botan::is_power_of_2<T>
      Src: /src/botan/src/tests/test_utils.cpp:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' result'
    - val
    - expected
    argTypes:
    - Test::Result
    - T
    - bool
    constantsTouched: []
    func_position:
      end: 839
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 839
    functionName: Botan_Tests::BitOps_Tests::test_power_of_2
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 2
    functionsReached:
    - std::to_string
    - Botan::is_power_of_2<T>
    - test_eq
    linkageType: ''
    returnType: void
    signature: void test_power_of_2(Test::Result& result, T val, bool expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:844,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:845,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:846,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:847,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:848,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:849,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:850,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:852,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:853,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:854,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:855,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:856,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:857,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:858,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_utils.cpp:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 862
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 862
    functionName: Botan_Tests::BitOps_Tests::test_power_of_2
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 3
    functionsReached:
    - Botan_Tests::BitOps_Tests::test_power_of_2
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_power_of_2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ct_popcount
      Src: /src/botan/src/tests/test_utils.cpp:865,1
    - Dst: Botan::ct_popcount
      Src: /src/botan/src/tests/test_utils.cpp:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 867
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 867
    functionName: Botan_Tests::BitOps_Tests::pc
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::ct_popcount
    linkageType: ''
    returnType: auto
    signature: auto pc(T val) -> decltype(Botan::ct_popcount(val))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_le<T>
      Src: /src/botan/src/tests/test_utils.cpp:871,1
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_utils.cpp:871,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:872,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils.cpp:872,1
    - Dst: std::popcount
      Src: /src/botan/src/tests/test_utils.cpp:872,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:872,1
    - Dst: std::popcount
      Src: /src/botan/src/tests/test_utils.cpp:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 873
      start: 870
    functionDepth: 2
    functionLinenumber: 870
    functionLinenumberEnd: 873
    functionName: Botan_Tests::BitOps_Tests::random_pc
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - fuzzer_rng
    - Botan_Tests::BitOps_Tests::pc
    - test_is_eq
    - Botan::fmt
    - Botan::load_le<T>
    - std::popcount
    linkageType: ''
    returnType: auto
    signature: auto random_pc(Test::Result& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:878,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:878,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:879,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:879,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:880,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:880,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:881,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:881,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:883,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:883,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:884,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:884,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:885,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:885,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:886,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:886,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:888,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:888,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:889,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:889,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:890,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:890,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:891,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:891,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:893,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:893,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:894,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:894,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:895,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:895,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:896,1
    - Dst: Botan_Tests::BitOps_Tests::pc
      Src: /src/botan/src/tests/test_utils.cpp:896,1
    - Dst: Botan_Tests::BitOps_Tests::random_pc
      Src: /src/botan/src/tests/test_utils.cpp:898,1
    - Dst: Botan_Tests::BitOps_Tests::random_pc
      Src: /src/botan/src/tests/test_utils.cpp:899,1
    - Dst: Botan_Tests::BitOps_Tests::random_pc
      Src: /src/botan/src/tests/test_utils.cpp:900,1
    - Dst: Botan_Tests::BitOps_Tests::random_pc
      Src: /src/botan/src/tests/test_utils.cpp:901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 904
      start: 875
    functionDepth: 3
    functionLinenumber: 875
    functionLinenumberEnd: 904
    functionName: Botan_Tests::BitOps_Tests::test_popcount
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_is_eq
    - Botan_Tests::BitOps_Tests::pc
    - Botan_Tests::BitOps_Tests::random_pc
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_popcount()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:909,1
    - Dst: Botan::ct_reverse_bits<uint8_t>
      Src: /src/botan/src/tests/test_utils.cpp:909,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:910,1
    - Dst: Botan::ct_reverse_bits<uint8_t>
      Src: /src/botan/src/tests/test_utils.cpp:910,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:911,1
    - Dst: Botan::ct_reverse_bits<uint8_t>
      Src: /src/botan/src/tests/test_utils.cpp:911,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:913,1
    - Dst: Botan::ct_reverse_bits<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:914,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:915,1
    - Dst: Botan::ct_reverse_bits<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:916,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:917,1
    - Dst: Botan::ct_reverse_bits<uint16_t>
      Src: /src/botan/src/tests/test_utils.cpp:918,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:920,1
    - Dst: Botan::ct_reverse_bits<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:920,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:921,1
    - Dst: Botan::ct_reverse_bits<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:921,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:922,1
    - Dst: Botan::ct_reverse_bits<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:922,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:924,1
    - Dst: Botan::ct_reverse_bits<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:925,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:926,1
    - Dst: Botan::ct_reverse_bits<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:927,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:928,1
    - Dst: Botan::ct_reverse_bits<uint64_t>
      Src: /src/botan/src/tests/test_utils.cpp:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 932
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 932
    functionName: Botan_Tests::BitOps_Tests::test_reverse_bits
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan::ct_reverse_bits<uint64_t>
    - Botan::ct_reverse_bits<uint32_t>
    - Test::Result::test_is_eq
    - Botan::ct_reverse_bits<uint8_t>
    - Botan::ct_reverse_bits<uint16_t>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_reverse_bits()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 941
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 941
    functionName: Botan_Tests::Poly_Double_Tests::Poly_Double_Tests
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Poly_Double_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_utils.cpp:945,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_utils.cpp:946,1
    - Dst: Botan::poly_double_n
      Src: /src/botan/src/tests/test_utils.cpp:949,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_utils.cpp:949,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_utils.cpp:949,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 953
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 953
    functionName: Botan_Tests::Poly_Double_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Botan::poly_double_n
    - get_req_bin
    - Test::Result::test_eq
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:965,1
    - Dst: Botan::version_datestamp
      Src: /src/botan/src/tests/test_utils.cpp:965,1
    - Dst: Botan::version_string
      Src: /src/botan/src/tests/test_utils.cpp:968,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:969,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_utils.cpp:969,1
    - Dst: Botan::short_version_string
      Src: /src/botan/src/tests/test_utils.cpp:972,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:973,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_utils.cpp:973,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils.cpp:976,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:979,1
    - Dst: std::string::starts_with
      Src: /src/botan/src/tests/test_utils.cpp:979,1
    - Dst: Botan::runtime_version_check
      Src: /src/botan/src/tests/test_utils.cpp:982,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:984,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_utils.cpp:984,1
    - Dst: Botan::runtime_version_check
      Src: /src/botan/src/tests/test_utils.cpp:986,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 994
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 994
    functionName: Botan_Tests::Version_Tests::run
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::short_version_string
    - Botan::fmt
    - Botan::version_string
    - Test::Result::confirm
    - std::string
    - Botan::runtime_version_check
    - Botan::version_datestamp
    - std::string::empty
    - Test::Result::test_eq
    - std::string::starts_with
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1001
    functionName: Botan_Tests::Date_Format_Tests::Date_Format_Tests
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Date_Format_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::split_on
      Src: /src/botan/src/tests/test_utils.cpp:1004,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_utils.cpp:1005,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_utils.cpp:1006,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/tests/test_utils.cpp:1010,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_utils.cpp:1010,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:1012,1
    - Dst: Botan::to_u32bit
      Src: /src/botan/src/tests/test_utils.cpp:1012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 1015
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1015
    functionName: Botan_Tests::Date_Format_Tests::parse_date
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Botan::to_u32bit
    - Botan::split_on
    - Test_Error
    - std::vector::push_back
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<uint32_t>
    signature: std::vector<uint32_t> parse_date(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_utils.cpp:1018,1
    - Dst: Botan_Tests::Date_Format_Tests::parse_date
      Src: /src/botan/src/tests/test_utils.cpp:1021,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1025,1
    - Dst: Botan::calendar_point::year
      Src: /src/botan/src/tests/test_utils.cpp:1025,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1026,1
    - Dst: Botan::calendar_point::month
      Src: /src/botan/src/tests/test_utils.cpp:1026,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1027,1
    - Dst: Botan::calendar_point::day
      Src: /src/botan/src/tests/test_utils.cpp:1027,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1028,1
    - Dst: Botan::calendar_point::hour
      Src: /src/botan/src/tests/test_utils.cpp:1028,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1029,1
    - Dst: Botan::calendar_point::minutes
      Src: /src/botan/src/tests/test_utils.cpp:1029,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1030,1
    - Dst: Botan::calendar_point::seconds
      Src: /src/botan/src/tests/test_utils.cpp:1030,1
    - Dst: Botan::calendar_point::year
      Src: /src/botan/src/tests/test_utils.cpp:1033,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:1034,1
    - Dst: Botan::calendar_point::to_std_timepoint
      Src: /src/botan/src/tests/test_utils.cpp:1034,1
    - Dst: Botan::calendar_point::to_std_timepoint
      Src: /src/botan/src/tests/test_utils.cpp:1036,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1037,1
    - Dst: Botan::calendar_point::year
      Src: /src/botan/src/tests/test_utils.cpp:1037,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1038,1
    - Dst: Botan::calendar_point::month
      Src: /src/botan/src/tests/test_utils.cpp:1038,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1039,1
    - Dst: Botan::calendar_point::day
      Src: /src/botan/src/tests/test_utils.cpp:1039,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1040,1
    - Dst: Botan::calendar_point::hour
      Src: /src/botan/src/tests/test_utils.cpp:1040,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1041,1
    - Dst: Botan::calendar_point::minutes
      Src: /src/botan/src/tests/test_utils.cpp:1041,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils.cpp:1042,1
    - Dst: Botan::calendar_point::seconds
      Src: /src/botan/src/tests/test_utils.cpp:1042,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:1045,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_utils.cpp:1047,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 1051
      start: 1017
    functionDepth: 2
    functionLinenumber: 1017
    functionLinenumberEnd: 1051
    functionName: Botan_Tests::Date_Format_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::calendar_point::year
    - Test::Result::test_throws
    - get_req_str
    - Botan::calendar_point::to_std_timepoint
    - Botan::calendar_point::month
    - Botan::calendar_point::hour
    - Botan::calendar_point::minutes
    - Test::Result::test_is_eq
    - Botan::calendar_point::day
    - Botan::calendar_point::seconds
    - Test_Error
    - Botan_Tests::Date_Format_Tests::parse_date
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1057,1
    - Dst: Botan::calendar_point::to_string
      Src: /src/botan/src/tests/test_utils.cpp:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1059
    functionName: Botan_Tests::Date_Format_Tests::run_final_tests
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan::calendar_point::to_string
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_final_tests() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1066
    functionName: Botan_Tests::Charset_Tests::Charset_Tests
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Charset_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_utils.cpp:1071,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_utils.cpp:1072,1
    - Dst: Botan::ucs2_to_utf8
      Src: /src/botan/src/tests/test_utils.cpp:1077,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_utils.cpp:1077,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_utils.cpp:1077,1
    - Dst: Botan::ucs4_to_utf8
      Src: /src/botan/src/tests/test_utils.cpp:1079,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_utils.cpp:1079,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_utils.cpp:1079,1
    - Dst: Botan::latin1_to_utf8
      Src: /src/botan/src/tests/test_utils.cpp:1081,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_utils.cpp:1081,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_utils.cpp:1081,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_utils.cpp:1083,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1086,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_utils.cpp:1087,1
    - Dst: std::string::begin
      Src: /src/botan/src/tests/test_utils.cpp:1087,1
    - Dst: std::string::end
      Src: /src/botan/src/tests/test_utils.cpp:1087,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 1090
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1090
    functionName: Botan_Tests::Charset_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::ucs4_to_utf8
    - std::vector::size
    - Botan::latin1_to_utf8
    - Test_Error
    - std::vector<uint8_t>
    - get_req_bin
    - Test::Result::test_eq
    - std::string::begin
    - Botan::ucs2_to_utf8
    - std::string::end
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1097
    functionName: Botan_Tests::Hostname_Tests::Hostname_Tests
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Hostname_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_utils.cpp:1102,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_utils.cpp:1103,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1107,1
    - Dst: Botan::host_wildcard_match
      Src: /src/botan/src/tests/test_utils.cpp:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 1110
      start: 1099
    functionDepth: 1
    functionLinenumber: 1099
    functionLinenumberEnd: 1110
    functionName: Botan_Tests::Hostname_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_str
    - Botan::host_wildcard_match
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1117
    functionName: Botan_Tests::DNS_Check_Tests::DNS_Check_Tests
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DNS_Check_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_utils.cpp:1122,1
    - Dst: Botan::check_and_canonicalize_dns_name
      Src: /src/botan/src/tests/test_utils.cpp:1126,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_utils.cpp:1127,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_utils.cpp:1130,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_utils.cpp:1132,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_utils.cpp:1136,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_utils.cpp:1138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 1143
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1143
    functionName: Botan_Tests::DNS_Check_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Test::Result::test_failure
    - Botan::check_and_canonicalize_dns_name
    - BOTAN_UNUSED
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1150
    functionName: Botan_Tests::IPv4_Parsing_Tests::IPv4_Parsing_Tests
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4_Parsing_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_utils.cpp:1155,1
    - Dst: Botan::string_to_ipv4
      Src: /src/botan/src/tests/test_utils.cpp:1158,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1160,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils.cpp:1160,1
    - Dst: Botan::ipv4_to_string
      Src: /src/botan/src/tests/test_utils.cpp:1163,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils.cpp:1163,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' status'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 1168
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1168
    functionName: Botan_Tests::IPv4_Parsing_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::string_to_ipv4
    - get_req_str
    - auto::value
    - auto::has_value
    - Botan::ipv4_to_string
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& status, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1175
    functionName: Botan_Tests::ReadKV_Tests::ReadKV_Tests
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReadKV_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_utils.cpp:1182,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_utils.cpp:1183,1
    - Dst: Botan_Tests::ReadKV_Tests::confirm_kv
      Src: /src/botan/src/tests/test_utils.cpp:1186,1
    - Dst: Botan::read_kv
      Src: /src/botan/src/tests/test_utils.cpp:1186,1
    - Dst: Botan_Tests::ReadKV_Tests::split_group
      Src: /src/botan/src/tests/test_utils.cpp:1186,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:1189,1
    - Dst: Botan::read_kv
      Src: /src/botan/src/tests/test_utils.cpp:1189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' status'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 1192
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1192
    functionName: Botan_Tests::ReadKV_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - get_req_str
    - Botan_Tests::ReadKV_Tests::confirm_kv
    - Botan::read_kv
    - Botan_Tests::ReadKV_Tests::split_group
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& status, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/test_utils.cpp:1197,1
    - Dst: begin
      Src: /src/botan/src/tests/test_utils.cpp:1202,1
    - Dst: end
      Src: /src/botan/src/tests/test_utils.cpp:1202,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:1204,1
    - Dst: std::string::clear
      Src: /src/botan/src/tests/test_utils.cpp:1205,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_utils.cpp:1211,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils.cpp:1212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 1216
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1216
    functionName: Botan_Tests::ReadKV_Tests::split_group
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - begin
    - empty
    - std::vector::push_back
    - end
    - std::string::empty
    - std::string::clear
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> split_group(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1221,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils.cpp:1221,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils.cpp:1225,1
    - Dst: find
      Src: /src/botan/src/tests/test_utils.cpp:1226,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils.cpp:1227,1
    - Dst: end
      Src: /src/botan/src/tests/test_utils.cpp:1227,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1228,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1232,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils.cpp:1232,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils.cpp:1232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' result'
    - ' kv'
    - ' expected'
    argTypes:
    - Test::Result
    - std::map<std::string, std::string>
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 1233
      start: 1218
    functionDepth: 1
    functionLinenumber: 1218
    functionLinenumberEnd: 1233
    functionName: Botan_Tests::ReadKV_Tests::confirm_kv
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 1
    functionsReached:
    - size
    - confirm
    - end
    - find
    - test_eq
    linkageType: ''
    returnType: void
    signature: "void confirm_kv(Test::Result& result,\n                             const
      std::map<std::string, std::string>& kv,\n                             const
      std::vector<std::string>& expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CPUID::to_string
      Src: /src/botan/src/tests/test_utils.cpp:1245,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_utils.cpp:1246,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_utils.cpp:1250,1
    - Dst: Botan::CPUFeature
      Src: /src/botan/src/tests/test_utils.cpp:1251,1
    - Dst: static_cast<Botan::CPUID::Feature::Bit>
      Src: /src/botan/src/tests/test_utils.cpp:1251,1
    - Dst: auto::to_string
      Src: /src/botan/src/tests/test_utils.cpp:1253,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:1255,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_utils.cpp:1255,1
    - Dst: Botan::CPUFeature::from_string
      Src: /src/botan/src/tests/test_utils.cpp:1257,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_utils.cpp:1258,1
    - Dst: auto::as_u32
      Src: /src/botan/src/tests/test_utils.cpp:1258,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_utils.cpp:1260,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils.cpp:1261,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/tests/test_utils.cpp:1272,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:1273,1
    - Dst: std::string::find
      Src: /src/botan/src/tests/test_utils.cpp:1273,1
    - Dst: Botan::CPUID::clear_cpuid_bit
      Src: /src/botan/src/tests/test_utils.cpp:1275,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1277,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/tests/test_utils.cpp:1278,1
    - Dst: Botan::CPUID::initialize
      Src: /src/botan/src/tests/test_utils.cpp:1280,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1281,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/tests/test_utils.cpp:1282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1242
    functionDepth: 1
    functionLinenumber: 1242
    functionLinenumberEnd: 1287
    functionName: Botan_Tests::CPUID_Tests::run
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::CPUFeature::from_string
    - Botan::CPUID::initialize
    - Test::Result::test_int_eq
    - auto::as_u32
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - static_cast<uint32_t>
    - Test::Result::confirm
    - Test::Result::test_failure
    - std::string::find
    - Botan::CPUID::clear_cpuid_bit
    - auto::to_string
    - Botan::CPUID::to_string
    - std::string::empty
    - Test::Result::test_eq
    - Botan::CPUFeature
    - Botan::fmt
    - Test::Result::test_success
    - static_cast<Botan::CPUID::Feature::Bit>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::UUID::UUID
      Src: /src/botan/src/tests/test_utils.cpp:1301,1
    - Dst: Botan_Tests::UUID_Tests::rng
      Src: /src/botan/src/tests/test_utils.cpp:1302,1
    - Dst: Botan_Tests::UUID_Tests::rng
      Src: /src/botan/src/tests/test_utils.cpp:1303,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_utils.cpp:1304,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:1306,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_utils.cpp:1306,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1308,1
    - Dst: Botan::UUID::is_valid
      Src: /src/botan/src/tests/test_utils.cpp:1308,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:1309,1
    - Dst: Botan_CLI::Print_UUID::Print_UUID
      Src: /src/botan/src/tests/test_utils.cpp:1309,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_utils.cpp:1311,1
    - Dst: Botan::UUID::to_string
      Src: /src/botan/src/tests/test_utils.cpp:1311,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1313,1
    - Dst: Botan::UUID::is_valid
      Src: /src/botan/src/tests/test_utils.cpp:1313,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1314,1
    - Dst: Botan::UUID::is_valid
      Src: /src/botan/src/tests/test_utils.cpp:1314,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:1316,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:1317,1
    - Dst: Botan::UUID::to_string
      Src: /src/botan/src/tests/test_utils.cpp:1319,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1320,1
    - Dst: Botan::UUID::to_string
      Src: /src/botan/src/tests/test_utils.cpp:1322,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils.cpp:1323,1
    - Dst: Botan_CLI::Print_UUID::Print_UUID
      Src: /src/botan/src/tests/test_utils.cpp:1323,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1349,1
    - Dst: Botan::UUID::to_string
      Src: /src/botan/src/tests/test_utils.cpp:1349,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1353,1
    - Dst: Botan::UUID::to_string
      Src: /src/botan/src/tests/test_utils.cpp:1353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1298
    functionDepth: 1
    functionLinenumber: 1298
    functionLinenumberEnd: 1356
    functionName: Botan_Tests::UUID_Tests::run
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::UUID::to_string
    - Test::Result::test_throws
    - Test::Result::confirm
    - Botan_CLI::Print_UUID::Print_UUID
    - Botan::UUID::is_valid
    - std::vector<uint8_t>
    - Botan::UUID::UUID
    - Test::Result::test_eq
    - Botan_Tests::UUID_Tests::rng
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1374,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils.cpp:1374,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1375,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils.cpp:1375,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1376,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils.cpp:1376,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1377,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils.cpp:1377,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1378,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils.cpp:1378,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils.cpp:1379,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils.cpp:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1365
    functionDepth: 1
    functionLinenumber: 1365
    functionLinenumberEnd: 1382
    functionName: Botan_Tests::Formatter_Tests::run
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan::fmt
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:1391,1
    - Dst: Botan::scoped_cleanup::scoped_cleanup
      Src: /src/botan/src/tests/test_utils.cpp:1395,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils.cpp:1397,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:1400,1
    - Dst: Botan::scoped_cleanup::scoped_cleanup
      Src: /src/botan/src/tests/test_utils.cpp:1405,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils.cpp:1409,1
    - Dst: fn
      Src: /src/botan/src/tests/test_utils.cpp:1410,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils.cpp:1411,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils.cpp:1412,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:1415,1
    - Dst: Botan::scoped_cleanup::scoped_cleanup
      Src: /src/botan/src/tests/test_utils.cpp:1421,1
    - Dst: std::runtime_error
      Src: /src/botan/src/tests/test_utils.cpp:1423,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils.cpp:1426,1
    - Dst: fn
      Src: /src/botan/src/tests/test_utils.cpp:1428,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils.cpp:1433,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils.cpp:1434,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils.cpp:1435,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_utils.cpp:1438,1
    - Dst: Botan::scoped_cleanup::scoped_cleanup
      Src: /src/botan/src/tests/test_utils.cpp:1442,1
    - Dst: auto::disengage
      Src: /src/botan/src/tests/test_utils.cpp:1443,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils.cpp:1445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1389
    functionDepth: 1
    functionLinenumber: 1389
    functionLinenumberEnd: 1449
    functionName: Botan_Tests::ScopedCleanup_Tests::run
    functionSourceFile: /src/botan/src/tests/test_utils.cpp
    functionUses: 0
    functionsReached:
    - CHECK
    - Botan::scoped_cleanup::scoped_cleanup
    - confirm
    - auto::disengage
    - fn
    - std::runtime_error
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Fixed_Output_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan_Tests::Fixed_Output_RNG::empty
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::Fixed_Output_RNG::is_seeded
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Fixed_Output_RNG::empty
      Src: /src/botan/src/tests/test_rng.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan_Tests::Fixed_Output_RNG::is_seeded
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 1
    functionsReached:
    - Botan_Tests::Fixed_Output_RNG::empty
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan_Tests::Fixed_Output_RNG::accepts_input
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan_Tests::Fixed_Output_RNG::reseed
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t reseed(Botan::Entropy_Sources&, size_t, std::chrono::milliseconds)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan_Tests::Fixed_Output_RNG::name
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan_Tests::Fixed_Output_RNG::clear
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/tests/test_rng.h:42,1
    - Dst: end
      Src: /src/botan/src/tests/test_rng.h:42,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/test_rng.h:42,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/test_rng.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan_Tests::Fixed_Output_RNG::Fixed_Output_RNG
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - end
    - std::span<const uint8_t>::end
    - insert
    linkageType: ''
    returnType: void
    signature: void Fixed_Output_RNG(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_rng.h:45,1
    - Dst: insert
      Src: /src/botan/src/tests/test_rng.h:46,1
    - Dst: end
      Src: /src/botan/src/tests/test_rng.h:46,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_rng.h:46,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_rng.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in_str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: Botan_Tests::Fixed_Output_RNG::Fixed_Output_RNG
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached:
    - std::vector::begin
    - end
    - insert
    - std::vector::end
    - Botan::hex_decode
    linkageType: ''
    returnType: void
    signature: void Fixed_Output_RNG(const std::string& in_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/tests/test_rng.h:51,1
    - Dst: insert
      Src: /src/botan/src/tests/test_rng.h:52,1
    - Dst: end
      Src: /src/botan/src/tests/test_rng.h:52,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_rng.h:52,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_rng.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' rng'
    - len
    argTypes:
    - RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Botan_Tests::Fixed_Output_RNG::Fixed_Output_RNG
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached:
    - std::vector::begin
    - random_vec
    - end
    - std::vector::end
    - insert
    linkageType: ''
    returnType: void
    signature: void Fixed_Output_RNG(RandomNumberGenerator& rng, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' fallback_rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan_Tests::Fixed_Output_RNG::Fixed_Output_RNG
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fixed_Output_RNG(RandomNumberGenerator& fallback_rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan_Tests::Fixed_Output_RNG::Fixed_Output_RNG
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fixed_Output_RNG()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/tests/test_rng.h:65,1
    - Dst: end
      Src: /src/botan/src/tests/test_rng.h:65,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/test_rng.h:65,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/test_rng.h:65,1
    - Dst: Botan_Tests::Fixed_Output_RNG::random
      Src: /src/botan/src/tests/test_rng.h:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: Botan_Tests::Fixed_Output_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - Botan_Tests::Fixed_Output_RNG::random
    - end
    - insert
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Fixed_Output_RNG::empty
      Src: /src/botan/src/tests/test_rng.h:73,1
    - Dst: has_value
      Src: /src/botan/src/tests/test_rng.h:74,1
    - Dst: value
      Src: /src/botan/src/tests/test_rng.h:75,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_rng.h:77,1
    - Dst: pop_front
      Src: /src/botan/src/tests/test_rng.h:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: Botan_Tests::Fixed_Output_RNG::random
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 1
    functionsReached:
    - Test_Error
    - value
    - pop_front
    - Botan_Tests::Fixed_Output_RNG::empty
    - has_value
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t random()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan_Tests::Fixed_Output_Position_RNG::is_seeded
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: Botan_Tests::Fixed_Output_Position_RNG::accepts_input
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan_Tests::Fixed_Output_Position_RNG::name
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' in'
    - pos
    - ' rng'
    argTypes:
    - std::vector<uint8_t>
    - size_t
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: Botan_Tests::Fixed_Output_Position_RNG::Fixed_Output_Position_RNG
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fixed_Output_Position_RNG(const std::vector<uint8_t>& in, size_t
      pos, Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' in_str'
    - pos
    - ' rng'
    argTypes:
    - std::string
    - size_t
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: Botan_Tests::Fixed_Output_Position_RNG::Fixed_Output_Position_RNG
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fixed_Output_Position_RNG(const std::string& in_str, size_t pos,
      Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/tests/test_rng.h:112,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_rng.h:113,1
    - Dst: Botan_Tests::Fixed_Output_RNG::fill_bytes_with_input
      Src: /src/botan/src/tests/test_rng.h:120,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_rng.h:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: Botan_Tests::Fixed_Output_Position_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::empty
    - random_vec
    - Botan_Tests::Fixed_Output_RNG::fill_bytes_with_input
    - Test_Error
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Botan_Tests::SeedCapturing_RNG::accepts_input
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan_Tests::SeedCapturing_RNG::clear
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: Botan_Tests::SeedCapturing_RNG::is_seeded
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan_Tests::SeedCapturing_RNG::name
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: Botan_Tests::SeedCapturing_RNG::samples
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t samples() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: '& seed_material() const'
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & seed_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/tests/test_rng.h:149,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_rng.h:150,1
    - Dst: insert
      Src: /src/botan/src/tests/test_rng.h:154,1
    - Dst: end
      Src: /src/botan/src/tests/test_rng.h:154,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/test_rng.h:154,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/test_rng.h:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: Botan_Tests::SeedCapturing_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - std::span<uint8_t>::empty
    - Test_Error
    - end
    - insert
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: Botan_Tests::Request_Counting_RNG::Request_Counting_RNG
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request_Counting_RNG()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: Botan_Tests::Request_Counting_RNG::randomize_count
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t randomize_count() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: Botan_Tests::Request_Counting_RNG::accepts_input
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Botan_Tests::Request_Counting_RNG::is_seeded
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: Botan_Tests::Request_Counting_RNG::clear
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: Botan_Tests::Request_Counting_RNG::name
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/tests/test_rng.h:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: Botan_Tests::Request_Counting_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> /* ignored */) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: Botan_Tests::CTR_DRBG_AES256::name
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: Botan_Tests::CTR_DRBG_AES256::accepts_input
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: Botan_Tests::CTR_DRBG_AES256::is_seeded
    functionSourceFile: /src/botan/src/tests/test_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' algo'
    - ' test_src'
    - ' required_keys'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: Botan_Tests::PK_Test::PK_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PK_Test(const std::string& algo,\n              const std::string&
      test_src,\n              const std::string& required_keys,\n              const
      std::string& optional_keys = {})"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan_Tests::PK_Test::algo_name
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_pubkey.h:34,1
    - Dst: Botan_Tests::PK_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.h:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan_Tests::PK_Test::default_padding
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached:
    - Test_Error
    - Botan_Tests::PK_Test::algo_name
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap&) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' algo'
    - ' test_src'
    - ' required_keys'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: Botan_Tests::PK_Signature_Generation_Test::PK_Signature_Generation_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PK_Signature_Generation_Test(const std::string& algo,\n                                   const
      std::string& test_src,\n                                   const std::string&
      required_keys,\n                                   const std::string& optional_keys
      = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_pubkey.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan_Tests::PK_Signature_Generation_Test::test_rng
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_RNG>
    linkageType: ''
    returnType: std::unique_ptr<Botan::RandomNumberGenerator>
    signature: std::unique_ptr<Botan::RandomNumberGenerator> test_rng(const std::vector<uint8_t>&
      nonce) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' algo'
    - ' test_src'
    - ' required_keys'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: Botan_Tests::PK_Signature_Verification_Test::PK_Signature_Verification_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PK_Signature_Verification_Test(const std::string& algo,\n                                     const
      std::string& test_src,\n                                     const std::string&
      required_keys,\n                                     const std::string& optional_keys
      = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan_Tests::PK_Signature_Verification_Test::test_random_invalid_sigs
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool test_random_invalid_sigs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' algo'
    - ' test_src'
    - ' required_keys'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: Botan_Tests::PK_Signature_NonVerification_Test::PK_Signature_NonVerification_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PK_Signature_NonVerification_Test(const std::string& algo,\n
      \                                       const std::string& test_src,\n                                        const
      std::string& required_keys,\n                                        const std::string&
      optional_keys = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Botan_Tests::PK_Signature_NonVerification_Test::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' algo'
    - ' padding'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan_Tests::PK_Sign_Verify_DER_Test::PK_Sign_Verify_DER_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Sign_Verify_DER_Test(const std::string& algo, const std::string&
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: Botan_Tests::PK_Sign_Verify_DER_Test::algo_name
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Botan_Tests::PK_Sign_Verify_DER_Test::test_random_invalid_sigs
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool test_random_invalid_sigs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' algo'
    - ' test_src'
    - ' required_keys'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: Botan_Tests::PK_Encryption_Decryption_Test::PK_Encryption_Decryption_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PK_Encryption_Decryption_Test(const std::string& algo,\n                                    const
      std::string& test_src,\n                                    const std::string&
      required_keys,\n                                    const std::string& optional_keys
      = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: Botan_Tests::PK_Encryption_Decryption_Test::default_padding
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap&) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_pubkey.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: Botan_Tests::PK_Encryption_Decryption_Test::test_rng
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_RNG>
    linkageType: ''
    returnType: std::unique_ptr<Botan::RandomNumberGenerator>
    signature: std::unique_ptr<Botan::RandomNumberGenerator> test_rng(const std::vector<uint8_t>&
      nonce) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' algo'
    - ' test_src'
    - ' required_keys'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: Botan_Tests::PK_Decryption_Test::PK_Decryption_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PK_Decryption_Test(const std::string& algo,\n                         const
      std::string& test_src,\n                         const std::string& required_keys,\n
      \                        const std::string& optional_keys = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: Botan_Tests::PK_Decryption_Test::default_padding
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap&) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' algo'
    - ' test_src'
    - ' required_keys'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: Botan_Tests::PK_Key_Agreement_Test::PK_Key_Agreement_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PK_Key_Agreement_Test(const std::string& algo,\n                            const
      std::string& test_src,\n                            const std::string& required_keys,\n
      \                           const std::string& optional_keys = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_pubkey.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' header'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: Botan_Tests::PK_Key_Agreement_Test::agreement_should_fail
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool agreement_should_fail(const std::string& header, const VarMap&
      vars) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: Botan_Tests::PK_Key_Agreement_Test::default_kdf
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_kdf(const VarMap&) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' algo'
    - ' test_src'
    - ' required_keys'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: Botan_Tests::PK_KEM_Test::PK_KEM_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PK_KEM_Test(const std::string& algo,\n                  const
      std::string& test_src,\n                  const std::string& required_keys,\n
      \                 const std::string& optional_keys = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_pubkey.h:195,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - param
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: Botan_Tests::PK_Key_Generation_Test::algo_name
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 1
    functionsReached:
    - Botan_Tests::PK_Key_Generation_Test::algo_name
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name(std::string_view param) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: Botan_Tests::PK_Key_Generation_Stability_Test::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' algo'
    - ' test_src'
    - ' required_keys'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: Botan_Tests::PK_Key_Validity_Test::PK_Key_Validity_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PK_Key_Validity_Test(const std::string& algo,\n                           const
      std::string& test_src,\n                           const std::string& required_keys,\n
      \                          const std::string& optional_keys = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan_Tests::Message_Auth_Tests::Message_Auth_Tests
    functionSourceFile: /src/botan/src/tests/test_mac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message_Auth_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: provider_filter
      Src: /src/botan/src/tests/test_mac.cpp:26,1
    - Dst: Botan::MessageAuthenticationCode::providers
      Src: /src/botan/src/tests/test_mac.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' algo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan_Tests::Message_Auth_Tests::possible_providers
    functionSourceFile: /src/botan/src/tests/test_mac.cpp
    functionUses: 0
    functionsReached:
    - Botan::MessageAuthenticationCode::providers
    - provider_filter
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> possible_providers(const std::string& algo)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_mac.cpp:30,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_mac.cpp:31,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_mac.cpp:32,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_mac.cpp:33,1
    - Dst: Botan_Tests::Message_Auth_Tests::possible_providers
      Src: /src/botan/src/tests/test_mac.cpp:37,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_mac.cpp:39,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_mac.cpp:40,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_mac.cpp:45,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_mac.cpp:48,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_mac.cpp:48,1
    - Dst: auto::provider
      Src: /src/botan/src/tests/test_mac.cpp:52,1
    - Dst: Test::Result::test_is_nonempty
      Src: /src/botan/src/tests/test_mac.cpp:54,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:55,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_mac.cpp:55,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:59,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_mac.cpp:59,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mac.cpp:59,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_mac.cpp:60,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_mac.cpp:62,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:65,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_mac.cpp:65,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_mac.cpp:66,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:67,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_mac.cpp:67,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_mac.cpp:68,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:69,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:70,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_mac.cpp:70,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_mac.cpp:72,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_mac.cpp:73,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:74,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:75,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_mac.cpp:75,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_mac.cpp:77,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_mac.cpp:78,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:79,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:80,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_mac.cpp:80,1
    - Dst: auto::fresh_key_required_per_message
      Src: /src/botan/src/tests/test_mac.cpp:83,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_mac.cpp:85,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:86,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:87,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_mac.cpp:87,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_mac.cpp:92,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_mac.cpp:93,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:94,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_mac.cpp:95,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:96,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_mac.cpp:96,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_mac.cpp:99,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_mac.cpp:100,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:101,1
    - Dst: auto::new_object
      Src: /src/botan/src/tests/test_mac.cpp:104,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_mac.cpp:105,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_mac.cpp:105,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_mac.cpp:105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:106,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_mac.cpp:106,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_mac.cpp:106,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_mac.cpp:107,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_mac.cpp:108,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:109,1
    - Dst: Botan_Tests::Message_Auth_Tests::rng
      Src: /src/botan/src/tests/test_mac.cpp:109,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:111,1
    - Dst: auto::verify_mac
      Src: /src/botan/src/tests/test_mac.cpp:111,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_mac.cpp:111,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mac.cpp:111,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mac.cpp:113,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_mac.cpp:114,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_mac.cpp:115,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:117,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:118,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mac.cpp:118,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:119,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mac.cpp:119,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:121,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_mac.cpp:121,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_mac.cpp:124,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_mac.cpp:125,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:127,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:128,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mac.cpp:128,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:129,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mac.cpp:129,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mac.cpp:131,1
    - Dst: auto::verify_mac
      Src: /src/botan/src/tests/test_mac.cpp:131,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_mac.cpp:131,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mac.cpp:131,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_mac.cpp:134,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mac.cpp:138,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_mac.cpp:138,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mac.cpp:138,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_mac.cpp:139,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_mac.cpp:141,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_mac.cpp:145,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_mac.cpp:146,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_mac.cpp:146,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_mac.cpp:147,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_mac.cpp:149,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 82
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 154
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 154
    functionName: Botan_Tests::Message_Auth_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_mac.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - std::vector::size
    - Botan_Tests::Message_Auth_Tests::possible_providers
    - Test::Result::test_eq
    - auto::name
    - std::vector::empty
    - Test::Result::confirm
    - auto::update
    - Botan::MessageAuthenticationCode::create
    - get_req_bin
    - get_opt_bin
    - Test::Result::test_success
    - Botan_Tests::Message_Auth_Tests::rng
    - std::vector::data
    - auto::new_object
    - auto::has_keying_material
    - auto::provider
    - auto::verify_mac
    - Test::Result::test_is_nonempty
    - auto::fresh_key_required_per_message
    - auto::final
    - auto::set_key
    - auto::output_length
    - Test::Result::test_failure
    - Test::Result::note_missing
    - auto::clear
    - Botan::fmt
    - auto::get
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: Botan_Tests::Blowfish_Salted_Tests::Blowfish_Salted_Tests
    functionSourceFile: /src/botan/src/tests/test_blowfish.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Blowfish_Salted_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_blowfish.cpp:22,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_blowfish.cpp:23,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_blowfish.cpp:24,1
    - Dst: Botan::Blowfish::salted_set_key
      Src: /src/botan/src/tests/test_blowfish.cpp:28,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_blowfish.cpp:28,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_blowfish.cpp:28,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_blowfish.cpp:28,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_blowfish.cpp:28,1
    - Dst: Botan::Blowfish::encrypt
      Src: /src/botan/src/tests/test_blowfish.cpp:31,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_blowfish.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 36
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 36
    functionName: Botan_Tests::Blowfish_Salted_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_blowfish.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - get_req_bin
    - Test::Result::test_eq
    - Botan::Blowfish::salted_set_key
    - Botan::Blowfish::encrypt
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan_Tests::get_valid_ca_bundle_path
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::data_file
    linkageType: ''
    returnType: std::string
    signature: std::string get_valid_ca_bundle_path()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Botan_Tests::get_ca_bundle_containing_user_cert
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::data_file
    linkageType: ''
    returnType: std::string
    signature: std::string get_ca_bundle_containing_user_cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:34,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:36,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:37,1
    - Dst: Botan::Flatfile_Certificate_Store::all_subjects
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:37,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:39,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:39,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: Botan_Tests::open_certificate_store
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::end_timer
    - Test::Result::start_timer
    - what
    - Test::Result::test_gt
    - Test::Result::test_failure
    - Botan::Flatfile_Certificate_Store::all_subjects
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result open_certificate_store()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:51,1
    - Dst: Botan::Flatfile_Certificate_Store::find_cert_by_pubkey_sha1
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:53,1
    - Dst: Botan_Tests::get_key_id
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:53,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:54,1
    - Dst: Test::Result::test_not_nullopt
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:56,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:57,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:58,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:58,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:59,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:59,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:59,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:62,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:62,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:65,1
    - Dst: Botan::Flatfile_Certificate_Store::find_cert_by_pubkey_sha1
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionName: Botan_Tests::find_certificate_by_pubkey_sha1
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - Test::Result::end_timer
    - Botan::Flatfile_Certificate_Store::find_cert_by_pubkey_sha1
    - Test::Result::start_timer
    - Test::Result::test_int_eq
    - what
    - auto::subject_dn
    - Test::Result::test_failure
    - Botan_Tests::get_subject_cn
    - auto::size
    - Test::Result::test_eq
    - auto::front
    - Test::Result::test_not_nullopt
    - Botan_Tests::get_key_id
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_certificate_by_pubkey_sha1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:77,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:79,1
    - Dst: Botan::Flatfile_Certificate_Store::find_cert
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:81,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:81,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:82,1
    - Dst: Test::Result::test_not_nullopt
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:84,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:85,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:86,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:86,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:87,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:87,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:87,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:90,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: Botan_Tests::find_cert_by_subject_dn
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::end_timer
    - Test::Result::start_timer
    - Test::Result::test_int_eq
    - Botan_Tests::get_dn
    - Botan::Flatfile_Certificate_Store::find_cert
    - what
    - auto::subject_dn
    - Test::Result::test_failure
    - Botan_Tests::get_subject_cn
    - std::vector<uint8_t>
    - auto::size
    - Test::Result::test_eq
    - auto::front
    - Test::Result::test_not_nullopt
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_cert_by_subject_dn()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_utf8_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:100,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:102,1
    - Dst: Botan::Flatfile_Certificate_Store::find_cert
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:104,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:104,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:106,1
    - Dst: Test::Result::test_not_nullopt
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:108,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:109,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:110,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:110,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:111,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:111,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:114,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 118
    functionName: Botan_Tests::find_cert_by_utf8_subject_dn
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::get_utf8_dn
    - Test::Result::end_timer
    - Test::Result::start_timer
    - what
    - Botan::Flatfile_Certificate_Store::find_cert
    - auto::subject_dn
    - Test::Result::test_failure
    - std::vector<uint8_t>
    - Test::Result::test_is_eq
    - auto::size
    - Test::Result::test_eq
    - auto::front
    - Test::Result::test_not_nullopt
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_cert_by_utf8_subject_dn()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:124,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:126,1
    - Dst: Botan::Flatfile_Certificate_Store::find_cert
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:128,1
    - Dst: Botan_Tests::get_key_id
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:128,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:129,1
    - Dst: Test::Result::test_not_nullopt
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:131,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:132,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:133,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:133,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:134,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:134,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:134,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:137,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 141
    functionName: Botan_Tests::find_cert_by_subject_dn_and_key_id
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::end_timer
    - Test::Result::start_timer
    - Test::Result::test_int_eq
    - Botan_Tests::get_dn
    - Botan::Flatfile_Certificate_Store::find_cert
    - what
    - auto::subject_dn
    - Test::Result::test_failure
    - Botan_Tests::get_subject_cn
    - auto::size
    - Test::Result::test_eq
    - auto::front
    - Test::Result::test_not_nullopt
    - Botan_Tests::get_key_id
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_cert_by_subject_dn_and_key_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:147,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:149,1
    - Dst: Botan::Flatfile_Certificate_Store::find_all_certs
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:151,1
    - Dst: Botan_Tests::get_key_id
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:151,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:152,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:154,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:154,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:155,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:155,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:156,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:157,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:157,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:158,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:158,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:158,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:161,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 165
    functionName: Botan_Tests::find_certs_by_subject_dn_and_key_id
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::end_timer
    - Test::Result::start_timer
    - Botan::Flatfile_Certificate_Store::find_all_certs
    - Botan_Tests::get_dn
    - Test::Result::test_int_eq
    - what
    - Test::Result::confirm
    - Test::Result::test_failure
    - Botan_Tests::get_subject_cn
    - auto::size
    - Test::Result::test_eq
    - auto::empty
    - auto::front
    - Botan_Tests::get_key_id
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_certs_by_subject_dn_and_key_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:171,1
    - Dst: Botan::Flatfile_Certificate_Store::all_subjects
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:173,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:174,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:176,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:176,1
    - Dst: Botan_Tests::get_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:177,1
    - Dst: std::find_if
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:178,1
    - Dst: auto::cbegin
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:179,1
    - Dst: auto::cend
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:179,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:181,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:181,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:182,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:186,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 190
    functionName: Botan_Tests::find_all_subjects
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - auto::cbegin
    - Test::Result::end_timer
    - Test::Result::start_timer
    - Botan_Tests::get_dn
    - what
    - Test::Result::confirm
    - Test::Result::test_failure
    - auto::cend
    - std::find_if
    - auto::end
    - Botan::Flatfile_Certificate_Store::all_subjects
    - auto::empty
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_all_subjects()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_unknown_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:196,1
    - Dst: Botan_Tests::get_unknown_key_id
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:197,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:199,1
    - Dst: Botan::Flatfile_Certificate_Store::find_all_certs
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:202,1
    - Dst: Botan::Flatfile_Certificate_Store::find_cert
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:203,1
    - Dst: Botan::Flatfile_Certificate_Store::find_cert_by_pubkey_sha1
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:204,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:205,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:207,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:207,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:208,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:209,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:211,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: Botan_Tests::no_certificate_matches
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Botan::Flatfile_Certificate_Store::find_cert_by_pubkey_sha1
    - Test::Result::start_timer
    - Botan_Tests::get_unknown_key_id
    - Botan::Flatfile_Certificate_Store::find_all_certs
    - Botan::Flatfile_Certificate_Store::find_cert
    - Botan_Tests::get_unknown_dn
    - Test::Result::end_timer
    - Test::Result::confirm
    - what
    - Test::Result::test_failure
    - auto::empty
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result no_certificate_matches()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:221,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:223,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: Botan_Tests::certstore_contains_user_certificate
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_success
    - Test::Result::start_timer
    - Test::Result::test_failure
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result certstore_contains_user_certificate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:236,1
    - Dst: open_certificate_store
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:236,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:237,1
    - Dst: find_certificate_by_pubkey_sha1
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:237,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:238,1
    - Dst: find_cert_by_subject_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:238,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:239,1
    - Dst: find_cert_by_utf8_subject_dn
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:239,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:240,1
    - Dst: find_cert_by_subject_dn_and_key_id
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:240,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:241,1
    - Dst: find_certs_by_subject_dn_and_key_id
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:241,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:242,1
    - Dst: find_all_subjects
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:242,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:243,1
    - Dst: no_certificate_matches
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:243,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:244,1
    - Dst: certstore_contains_user_certificate
      Src: /src/botan/src/tests/test_certstor_flatfile.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 247
    functionName: Botan_Tests::Certstor_Flatfile_Tests::run
    functionSourceFile: /src/botan/src/tests/test_certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - find_cert_by_subject_dn_and_key_id
    - find_certificate_by_pubkey_sha1
    - find_all_subjects
    - find_certs_by_subject_dn_and_key_id
    - find_cert_by_subject_dn
    - find_cert_by_utf8_subject_dn
    - no_certificate_matches
    - std::vector::push_back
    - certstore_contains_user_certificate
    - open_certificate_store
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan_Tests::ECC_H2C_XMD_Tests::ECC_H2C_XMD_Tests
    functionSourceFile: /src/botan/src/tests/test_ecc_h2c.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_H2C_XMD_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_Tests::ECC_H2C_XMD_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ecc_h2c.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:32,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:33,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:34,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:36,1
    - Dst: Botan::expand_message_xmd
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:37,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' hash'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: Botan_Tests::ECC_H2C_XMD_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ecc_h2c.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - get_req_str
    - Botan::expand_message_xmd
    - get_req_bin
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& hash, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan_Tests::ECC_H2C_Tests::ECC_H2C_Tests
    functionSourceFile: /src/botan/src/tests/test_ecc_h2c.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_H2C_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan_Tests::ECC_H2C_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ecc_h2c.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:57,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan_Tests::ECC_H2C_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecc_h2c.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - get_req_str
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:61,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:65,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:66,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:67,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:68,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:71,1
    - Dst: std::string::data
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:71,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:71,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:73,1
    - Dst: Botan::EC_AffinePoint::hash_to_curve_ro
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:78,1
    - Dst: Botan::EC_AffinePoint::hash_to_curve_nu
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:80,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:83,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_ecc_h2c.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' method'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 89
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 89
    functionName: Botan_Tests::ECC_H2C_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ecc_h2c.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - Test::Result::test_note
    - get_req_str
    - Botan::EC_AffinePoint::hash_to_curve_ro
    - Botan::EC_AffinePoint::hash_to_curve_nu
    - reinterpret_cast<const uint8_t*>
    - get_req_bin
    - Botan::EC_Group::from_name
    - Test::Result::test_eq
    - std::string::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& method, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_Tests::Base32_Tests::Base32_Tests
    functionSourceFile: /src/botan/src/tests/test_codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base32_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_codec.cpp:33,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_codec.cpp:37,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_codec.cpp:38,1
    - Dst: Botan::base32_decode
      Src: /src/botan/src/tests/test_codec.cpp:38,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_codec.cpp:39,1
    - Dst: Botan::base32_encode
      Src: /src/botan/src/tests/test_codec.cpp:39,1
    - Dst: Botan::base32_decode
      Src: /src/botan/src/tests/test_codec.cpp:41,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:42,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_codec.cpp:42,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:46,1
    - Dst: what
      Src: /src/botan/src/tests/test_codec.cpp:46,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_codec.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: Botan_Tests::Base32_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_codec.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_note
    - get_req_str
    - what
    - Botan::base32_decode
    - Test::Result::test_failure
    - get_req_bin
    - Botan::hex_encode
    - Test::Result::test_eq
    - Botan::base32_encode
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_codec.cpp:60,1
    - Dst: std::string::insert
      Src: /src/botan/src/tests/test_codec.cpp:62,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:65,1
    - Dst: Botan::base32_decode
      Src: /src/botan/src/tests/test_codec.cpp:65,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_codec.cpp:69,1
    - Dst: Botan::base32_decode
      Src: /src/botan/src/tests/test_codec.cpp:69,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:71,1
    - Dst: what
      Src: /src/botan/src/tests/test_codec.cpp:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 77
    functionName: Botan_Tests::Base32_Tests::run_final_tests
    functionSourceFile: /src/botan/src/tests/test_codec.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::insert
    - what
    - Botan::base32_decode
    - Test::Result::test_failure
    - Test::Result::test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_final_tests() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: Botan_Tests::Base58_Tests::Base58_Tests
    functionSourceFile: /src/botan/src/tests/test_codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base58_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_codec.cpp:94,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_codec.cpp:98,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_codec.cpp:99,1
    - Dst: Botan::base58_decode
      Src: /src/botan/src/tests/test_codec.cpp:99,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_codec.cpp:100,1
    - Dst: Botan::base58_encode
      Src: /src/botan/src/tests/test_codec.cpp:100,1
    - Dst: Botan::base58_decode
      Src: /src/botan/src/tests/test_codec.cpp:102,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:103,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_codec.cpp:103,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:107,1
    - Dst: what
      Src: /src/botan/src/tests/test_codec.cpp:107,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_codec.cpp:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 114
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 114
    functionName: Botan_Tests::Base58_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_codec.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_note
    - get_req_str
    - what
    - Botan::base58_encode
    - Test::Result::test_failure
    - get_req_bin
    - Botan::hex_encode
    - Test::Result::test_eq
    - Botan::base58_decode
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: Botan_Tests::Base58_Check_Tests::Base58_Check_Tests
    functionSourceFile: /src/botan/src/tests/test_codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base58_Check_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_codec.cpp:127,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_codec.cpp:131,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_codec.cpp:132,1
    - Dst: Botan::base58_check_decode
      Src: /src/botan/src/tests/test_codec.cpp:132,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_codec.cpp:133,1
    - Dst: Botan::base58_check_encode
      Src: /src/botan/src/tests/test_codec.cpp:133,1
    - Dst: Botan::base58_check_decode
      Src: /src/botan/src/tests/test_codec.cpp:135,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:136,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_codec.cpp:136,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:140,1
    - Dst: what
      Src: /src/botan/src/tests/test_codec.cpp:140,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_codec.cpp:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 147
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 147
    functionName: Botan_Tests::Base58_Check_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_codec.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_note
    - get_req_str
    - what
    - Test::Result::test_failure
    - Botan::base58_check_encode
    - get_req_bin
    - Botan::hex_encode
    - Test::Result::test_eq
    - Botan::base58_check_decode
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: Botan_Tests::Base64_Tests::Base64_Tests
    functionSourceFile: /src/botan/src/tests/test_codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base64_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_codec.cpp:164,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_codec.cpp:168,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_codec.cpp:169,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/tests/test_codec.cpp:169,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_codec.cpp:170,1
    - Dst: Botan::base64_encode
      Src: /src/botan/src/tests/test_codec.cpp:170,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/tests/test_codec.cpp:172,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:173,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_codec.cpp:173,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:177,1
    - Dst: what
      Src: /src/botan/src/tests/test_codec.cpp:177,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_codec.cpp:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 184
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 184
    functionName: Botan_Tests::Base64_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_codec.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_note
    - get_req_str
    - what
    - Test::Result::test_failure
    - Botan::base64_decode
    - Botan::base64_encode
    - get_req_bin
    - Botan::hex_encode
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_codec.cpp:191,1
    - Dst: std::string::insert
      Src: /src/botan/src/tests/test_codec.cpp:193,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:196,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/tests/test_codec.cpp:196,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_codec.cpp:200,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/tests/test_codec.cpp:200,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_codec.cpp:202,1
    - Dst: what
      Src: /src/botan/src/tests/test_codec.cpp:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 208
    functionName: Botan_Tests::Base64_Tests::run_final_tests
    functionSourceFile: /src/botan/src/tests/test_codec.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::insert
    - what
    - Test::Result::test_failure
    - Botan::base64_decode
    - Test::Result::test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_final_tests() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/test_pubkey.cpp:40,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:41,1
    - Dst: verify_message
      Src: /src/botan/src/tests/test_pubkey.cpp:41,1
    - Dst: Botan_Tests::Test::mutate_vec
      Src: /src/botan/src/tests/test_pubkey.cpp:44,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:47,1
    - Dst: verify_message
      Src: /src/botan/src/tests/test_pubkey.cpp:47,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:48,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_pubkey.cpp:48,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:51,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_pubkey.cpp:51,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:52,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - ' result'
    - ' verifier'
    - ' message'
    - ' signature'
    - ' rng'
    argTypes:
    - Test::Result
    - Botan::PK_Verifier
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 55
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 55
    functionName: Botan_Tests::check_invalid_signatures
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - what
    - test_failure
    - size
    - test_note
    - verify_message
    - Botan::hex_encode
    - Botan_Tests::Test::mutate_vec
    - test_eq
    linkageType: ''
    returnType: void
    signature: "void check_invalid_signatures(Test::Result& result,\n                              Botan::PK_Verifier&
      verifier,\n                              const std::vector<uint8_t>& message,\n
      \                             const std::vector<uint8_t>& signature,\n                              Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::mutate_vec
      Src: /src/botan/src/tests/test_pubkey.cpp:70,1
    - Dst: decrypt
      Src: /src/botan/src/tests/test_pubkey.cpp:73,1
    - Dst: test_ne
      Src: /src/botan/src/tests/test_pubkey.cpp:76,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:77,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:84,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_pubkey.cpp:84,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_pubkey.cpp:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - ' result'
    - ' decryptor'
    - ' plaintext'
    - ' ciphertext'
    - ' rng'
    argTypes:
    - Test::Result
    - Botan::PK_Decryptor
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 86
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 86
    functionName: Botan_Tests::check_invalid_ciphertexts
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - decrypt
    - test_note
    - test_ne
    - Botan_Tests::Test::mutate_vec
    - test_eq
    linkageType: ''
    returnType: void
    signature: "void check_invalid_ciphertexts(Test::Result& result,\n                               Botan::PK_Decryptor&
      decryptor,\n                               const std::vector<uint8_t>& plaintext,\n
      \                              const std::vector<uint8_t>& ciphertext,\n                               Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/test_pubkey.cpp:89,1
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_pubkey.cpp:92,1
    - Dst: Botan_Tests::PK_Test::default_padding
      Src: /src/botan/src/tests/test_pubkey.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' vars'
    - ' pad_hdr'
    argTypes:
    - VarMap
    - std::string
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: Botan_Tests::PK_Test::choose_padding
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - empty
    - get_opt_str
    - Botan_Tests::PK_Test::default_padding
    linkageType: ''
    returnType: std::string
    signature: std::string PK_Test::choose_padding(const VarMap& vars, const std::string&
      pad_hdr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::provider_filter
      Src: /src/botan/src/tests/test_pubkey.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: Botan_Tests::PK_Test::possible_providers
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::provider_filter
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> PK_Test::possible_providers(const std::string&
      /*params*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:100,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:101,1
    - Dst: choose_padding
      Src: /src/botan/src/tests/test_pubkey.cpp:102,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:105,1
    - Dst: has_key
      Src: /src/botan/src/tests/test_pubkey.cpp:106,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_pubkey.cpp:107,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_pubkey.cpp:111,1
    - Dst: load_private_key
      Src: /src/botan/src/tests/test_pubkey.cpp:115,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_pubkey.cpp:117,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:117,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:121,1
    - Dst: std::unique_ptr::supports_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:122,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/tests/test_pubkey.cpp:124,1
    - Dst: Botan::X509::BER_encode
      Src: /src/botan/src/tests/test_pubkey.cpp:124,1
    - Dst: std::unique_ptr::public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:124,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:126,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:127,1
    - Dst: possible_providers
      Src: /src/botan/src/tests/test_pubkey.cpp:131,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:131,1
    - Dst: std::make_unique<Botan::PK_Verifier>
      Src: /src/botan/src/tests/test_pubkey.cpp:136,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:142,1
    - Dst: std::unique_ptr::verify_message
      Src: /src/botan/src/tests/test_pubkey.cpp:142,1
    - Dst: check_invalid_signatures
      Src: /src/botan/src/tests/test_pubkey.cpp:144,1
    - Dst: Botan_Tests::PK_Signature_Generation_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:144,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:146,1
    - Dst: std::unique_ptr::verify_message
      Src: /src/botan/src/tests/test_pubkey.cpp:146,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_pubkey.cpp:148,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_pubkey.cpp:148,1
    - Dst: possible_providers
      Src: /src/botan/src/tests/test_pubkey.cpp:151,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:151,1
    - Dst: std::make_unique<Botan::PK_Signer>
      Src: /src/botan/src/tests/test_pubkey.cpp:157,1
    - Dst: Botan_Tests::PK_Signature_Generation_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:158,1
    - Dst: has_key
      Src: /src/botan/src/tests/test_pubkey.cpp:160,1
    - Dst: Botan_Tests::PK_Signature_Generation_Test::test_rng
      Src: /src/botan/src/tests/test_pubkey.cpp:161,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:161,1
    - Dst: std::unique_ptr::sign_message
      Src: /src/botan/src/tests/test_pubkey.cpp:162,1
    - Dst: std::unique_ptr::sign_message
      Src: /src/botan/src/tests/test_pubkey.cpp:164,1
    - Dst: Botan_Tests::PK_Signature_Generation_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:164,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_pubkey.cpp:167,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:168,1
    - Dst: std::unique_ptr::signature_length
      Src: /src/botan/src/tests/test_pubkey.cpp:168,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:175,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:178,1
    - Dst: std::unique_ptr::verify_message
      Src: /src/botan/src/tests/test_pubkey.cpp:179,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:180,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - ' pad_hdr'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 187
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 187
    functionName: Botan_Tests::PK_Signature_Generation_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::sign_message
    - std::vector::size
    - std::unique_ptr::supports_operation
    - Botan::X509::BER_encode
    - std::unique_ptr::public_key
    - choose_padding
    - std::vector::push_back
    - std::make_unique<Botan::PK_Signer>
    - Test::Result::test_eq
    - has_key
    - what
    - Test::Result::confirm
    - Botan_Tests::PK_Signature_Generation_Test::test_rng
    - auto::supports_operation
    - get_req_bin
    - check_invalid_signatures
    - algo_name
    - get_req_str
    - load_private_key
    - std::unique_ptr::signature_length
    - std::move
    - Botan_Tests::PK_Signature_Generation_Test::rng
    - std::make_unique<Botan::PK_Verifier>
    - std::ostringstream::str
    - Botan::X509::load_key
    - Test::Result::test_failure
    - std::unique_ptr::verify_message
    - Test::Result::test_lte
    - Test::Result::note_missing
    - possible_providers
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result PK_Signature_Generation_Test::run_one_test(const std::string&
      pad_hdr, const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: Botan_Tests::PK_Signature_Verification_Test::sig_format
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::Signature_Format
    signature: Botan::Signature_Format PK_Signature_Verification_Test::sig_format()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:194,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:195,1
    - Dst: choose_padding
      Src: /src/botan/src/tests/test_pubkey.cpp:196,1
    - Dst: load_public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:200,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:203,1
    - Dst: has_key
      Src: /src/botan/src/tests/test_pubkey.cpp:204,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_pubkey.cpp:205,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_pubkey.cpp:207,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_pubkey.cpp:211,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:213,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:214,1
    - Dst: possible_providers
      Src: /src/botan/src/tests/test_pubkey.cpp:216,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:216,1
    - Dst: std::make_unique<Botan::PK_Verifier>
      Src: /src/botan/src/tests/test_pubkey.cpp:220,1
    - Dst: Botan_Tests::PK_Signature_Verification_Test::sig_format
      Src: /src/botan/src/tests/test_pubkey.cpp:220,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:230,1
    - Dst: Botan_Tests::PK_Signature_Verification_Test::test_random_invalid_sigs
      Src: /src/botan/src/tests/test_pubkey.cpp:232,1
    - Dst: check_invalid_signatures
      Src: /src/botan/src/tests/test_pubkey.cpp:233,1
    - Dst: Botan_Tests::PK_Signature_Verification_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:233,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:236,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:239,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - ' pad_hdr'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 245
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 245
    functionName: Botan_Tests::PK_Signature_Verification_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - choose_padding
    - std::string::empty
    - Test::Result::test_eq
    - has_key
    - what
    - Test::Result::confirm
    - auto::supports_operation
    - get_req_bin
    - Botan_Tests::PK_Signature_Verification_Test::test_random_invalid_sigs
    - check_invalid_signatures
    - algo_name
    - get_req_str
    - load_public_key
    - std::make_unique<Botan::PK_Verifier>
    - std::ostringstream::str
    - Botan_Tests::PK_Signature_Verification_Test::sig_format
    - Botan_Tests::PK_Signature_Verification_Test::rng
    - Test::Result::test_failure
    - possible_providers
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result PK_Signature_Verification_Test::run_one_test(const std::string&
      pad_hdr, const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: choose_padding
      Src: /src/botan/src/tests/test_pubkey.cpp:248,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:249,1
    - Dst: load_public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:250,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:252,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:254,1
    - Dst: possible_providers
      Src: /src/botan/src/tests/test_pubkey.cpp:256,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:256,1
    - Dst: std::make_unique<Botan::PK_Verifier>
      Src: /src/botan/src/tests/test_pubkey.cpp:261,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:262,1
    - Dst: std::unique_ptr::verify_message
      Src: /src/botan/src/tests/test_pubkey.cpp:262,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' pad_hdr'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 269
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 269
    functionName: Botan_Tests::PK_Signature_NonVerification_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Test::Result::test_note
    - std::make_unique<Botan::PK_Verifier>
    - std::unique_ptr::verify_message
    - choose_padding
    - get_req_bin
    - Test::Result::test_eq
    - load_public_key
    - possible_providers
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result PK_Signature_NonVerification_Test::run_one_test(const
      std::string& pad_hdr, const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/botan/src/tests/test_pubkey.cpp:275,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:279,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:281,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::possible_providers
      Src: /src/botan/src/tests/test_pubkey.cpp:283,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:283,1
    - Dst: std::make_unique<Botan::PK_Signer>
      Src: /src/botan/src/tests/test_pubkey.cpp:288,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:289,1
    - Dst: std::make_unique<Botan::PK_Verifier>
      Src: /src/botan/src/tests/test_pubkey.cpp:291,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:293,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:293,1
    - Dst: std::unique_ptr::sign_message
      Src: /src/botan/src/tests/test_pubkey.cpp:298,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:298,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:301,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::test_random_invalid_sigs
      Src: /src/botan/src/tests/test_pubkey.cpp:303,1
    - Dst: check_invalid_signatures
      Src: /src/botan/src/tests/test_pubkey.cpp:304,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:304,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:307,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:307,1
    - Dst: Botan::PK_Signer::PK_Signer
      Src: /src/botan/src/tests/test_pubkey.cpp:316,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:316,1
    - Dst: Botan::PK_Verifier::PK_Verifier
      Src: /src/botan/src/tests/test_pubkey.cpp:317,1
    - Dst: auto::set_output_format
      Src: /src/botan/src/tests/test_pubkey.cpp:321,1
    - Dst: auto::set_input_format
      Src: /src/botan/src/tests/test_pubkey.cpp:322,1
    - Dst: auto::sign_message
      Src: /src/botan/src/tests/test_pubkey.cpp:324,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:324,1
    - Dst: auto::verify_message
      Src: /src/botan/src/tests/test_pubkey.cpp:325,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:327,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::test_random_invalid_sigs
      Src: /src/botan/src/tests/test_pubkey.cpp:328,1
    - Dst: check_invalid_signatures
      Src: /src/botan/src/tests/test_pubkey.cpp:329,1
    - Dst: Botan_Tests::PK_Sign_Verify_DER_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:329,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:332,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:334,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:334,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 338
    functionName: Botan_Tests::PK_Sign_Verify_DER_Test::run
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - auto::set_output_format
    - std::unique_ptr::sign_message
    - auto::set_input_format
    - Botan::PK_Verifier::PK_Verifier
    - Botan::PK_Signer::PK_Signer
    - std::make_unique<Botan::PK_Signer>
    - Botan_Tests::PK_Sign_Verify_DER_Test::possible_providers
    - Test::Result::test_eq
    - Test::Result::test_note
    - what
    - Botan_Tests::PK_Sign_Verify_DER_Test::algo_name
    - Test::Result::confirm
    - auto::verify_message
    - check_invalid_signatures
    - auto::sign_message
    - Botan_Tests::PK_Sign_Verify_DER_Test::test_random_invalid_sigs
    - auto::public_key
    - std::make_unique<Botan::PK_Verifier>
    - Test::Result::test_failure
    - key
    - Botan_Tests::PK_Sign_Verify_DER_Test::rng
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> PK_Sign_Verify_DER_Test::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::probe_provider_private_key
      Src: /src/botan/src/tests/test_pubkey.cpp:342,1
    - Dst: Botan_Tests::Test::provider_filter
      Src: /src/botan/src/tests/test_pubkey.cpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' algo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: Botan_Tests::PK_Sign_Verify_DER_Test::possible_providers
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::Test::provider_filter
    - Botan::probe_provider_private_key
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> PK_Sign_Verify_DER_Test::possible_providers(const
      std::string& algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:347,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:348,1
    - Dst: choose_padding
      Src: /src/botan/src/tests/test_pubkey.cpp:349,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:351,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_pubkey.cpp:351,1
    - Dst: load_private_key
      Src: /src/botan/src/tests/test_pubkey.cpp:353,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:355,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:356,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:358,1
    - Dst: possible_providers
      Src: /src/botan/src/tests/test_pubkey.cpp:362,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:362,1
    - Dst: std::make_unique<Botan::PK_Decryptor_EME>
      Src: /src/botan/src/tests/test_pubkey.cpp:366,1
    - Dst: Botan_Tests::PK_Encryption_Decryption_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:366,1
    - Dst: std::unique_ptr::decrypt
      Src: /src/botan/src/tests/test_pubkey.cpp:373,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_pubkey.cpp:375,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:375,1
    - Dst: std::unique_ptr::plaintext_length
      Src: /src/botan/src/tests/test_pubkey.cpp:375,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:375,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:377,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:377,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:380,1
    - Dst: check_invalid_ciphertexts
      Src: /src/botan/src/tests/test_pubkey.cpp:381,1
    - Dst: Botan_Tests::PK_Encryption_Decryption_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:381,1
    - Dst: possible_providers
      Src: /src/botan/src/tests/test_pubkey.cpp:384,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:384,1
    - Dst: std::make_unique<Botan::PK_Encryptor_EME>
      Src: /src/botan/src/tests/test_pubkey.cpp:388,1
    - Dst: Botan_Tests::PK_Encryption_Decryption_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:388,1
    - Dst: has_key
      Src: /src/botan/src/tests/test_pubkey.cpp:394,1
    - Dst: Botan_Tests::PK_Encryption_Decryption_Test::test_rng
      Src: /src/botan/src/tests/test_pubkey.cpp:395,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:395,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_pubkey.cpp:403,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:403,1
    - Dst: std::unique_ptr::maximum_input_size
      Src: /src/botan/src/tests/test_pubkey.cpp:403,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_pubkey.cpp:405,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:405,1
    - Dst: std::unique_ptr::maximum_input_size
      Src: /src/botan/src/tests/test_pubkey.cpp:405,1
    - Dst: std::unique_ptr::encrypt
      Src: /src/botan/src/tests/test_pubkey.cpp:408,1
    - Dst: Botan_Tests::PK_Encryption_Decryption_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:408,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_pubkey.cpp:410,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:411,1
    - Dst: std::unique_ptr::ciphertext_length
      Src: /src/botan/src/tests/test_pubkey.cpp:411,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:411,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:414,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:417,1
    - Dst: decrypt
      Src: /src/botan/src/tests/test_pubkey.cpp:417,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - ' pad_hdr'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 423
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 423
    functionName: Botan_Tests::PK_Encryption_Decryption_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - decrypt
    - choose_padding
    - std::make_unique<Botan::PK_Encryptor_EME>
    - std::string::empty
    - Test::Result::test_eq
    - Botan_Tests::PK_Encryption_Decryption_Test::rng
    - has_key
    - what
    - Test::Result::confirm
    - std::unique_ptr::encrypt
    - auto::supports_operation
    - get_req_bin
    - Botan::secure_vector::size
    - std::unique_ptr::maximum_input_size
    - algo_name
    - std::unique_ptr::decrypt
    - std::unique_ptr::ciphertext_length
    - load_private_key
    - std::unique_ptr::plaintext_length
    - std::make_unique<Botan::PK_Decryptor_EME>
    - check_invalid_ciphertexts
    - auto::public_key
    - Botan_Tests::PK_Encryption_Decryption_Test::test_rng
    - Test::Result::test_failure
    - Test::Result::test_lte
    - possible_providers
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result PK_Encryption_Decryption_Test::run_one_test(const std::string&
      pad_hdr, const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:426,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:427,1
    - Dst: choose_padding
      Src: /src/botan/src/tests/test_pubkey.cpp:428,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:430,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_pubkey.cpp:430,1
    - Dst: load_private_key
      Src: /src/botan/src/tests/test_pubkey.cpp:432,1
    - Dst: possible_providers
      Src: /src/botan/src/tests/test_pubkey.cpp:434,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:434,1
    - Dst: std::make_unique<Botan::PK_Decryptor_EME>
      Src: /src/botan/src/tests/test_pubkey.cpp:438,1
    - Dst: Botan_Tests::PK_Decryption_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:438,1
    - Dst: std::unique_ptr::decrypt
      Src: /src/botan/src/tests/test_pubkey.cpp:445,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:447,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:447,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:450,1
    - Dst: check_invalid_ciphertexts
      Src: /src/botan/src/tests/test_pubkey.cpp:451,1
    - Dst: Botan_Tests::PK_Decryption_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' pad_hdr'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 455
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 455
    functionName: Botan_Tests::PK_Decryption_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::unique_ptr::decrypt
    - what
    - load_private_key
    - Test::Result::test_failure
    - choose_padding
    - std::string::empty
    - get_req_bin
    - check_invalid_ciphertexts
    - Test::Result::test_eq
    - std::make_unique<Botan::PK_Decryptor_EME>
    - possible_providers
    - Botan_Tests::PK_Decryption_Test::rng
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result PK_Decryption_Test::run_one_test(const std::string& pad_hdr,
      const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:458,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:459,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:460,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_pubkey.cpp:461,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:463,1
    - Dst: load_private_key
      Src: /src/botan/src/tests/test_pubkey.cpp:465,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:467,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:468,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:470,1
    - Dst: std::make_unique<Botan::PK_KEM_Encryptor>
      Src: /src/botan/src/tests/test_pubkey.cpp:476,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:478,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:482,1
    - Dst: std::unique_ptr::encrypt
      Src: /src/botan/src/tests/test_pubkey.cpp:484,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:486,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_pubkey.cpp:487,1
    - Dst: std::unique_ptr::encapsulated_key_length
      Src: /src/botan/src/tests/test_pubkey.cpp:488,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:490,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_pubkey.cpp:491,1
    - Dst: std::unique_ptr::shared_key_length
      Src: /src/botan/src/tests/test_pubkey.cpp:491,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:493,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_pubkey.cpp:493,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:494,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_pubkey.cpp:494,1
    - Dst: std::make_unique<Botan::PK_KEM_Decryptor>
      Src: /src/botan/src/tests/test_pubkey.cpp:498,1
    - Dst: Botan_Tests::PK_KEM_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:498,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:500,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:500,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:504,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_pubkey.cpp:505,1
    - Dst: std::unique_ptr::encapsulated_key_length
      Src: /src/botan/src/tests/test_pubkey.cpp:506,1
    - Dst: std::unique_ptr::decrypt
      Src: /src/botan/src/tests/test_pubkey.cpp:509,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pubkey.cpp:509,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:509,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pubkey.cpp:509,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:509,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:511,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:512,1
    - Dst: std::unique_ptr::shared_key_length
      Src: /src/botan/src/tests/test_pubkey.cpp:512,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 517
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 517
    functionName: Botan_Tests::PK_KEM_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::encapsulated_key_length
    - std::vector::size
    - std::unique_ptr::shared_key_length
    - std::make_unique<Botan::PK_KEM_Encryptor>
    - Test::Result::test_eq
    - Test::Result::test_note
    - what
    - Test::Result::confirm
    - std::unique_ptr::encrypt
    - auto::supports_operation
    - get_req_bin
    - get_opt_bin
    - Botan::secure_vector::size
    - std::vector::data
    - algo_name
    - std::unique_ptr::decrypt
    - get_req_str
    - load_private_key
    - auto::shared_key
    - auto::public_key
    - auto::encapsulated_shared_key
    - Botan_Tests::PK_KEM_Test::rng
    - std::make_unique<Botan::PK_KEM_Decryptor>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result PK_KEM_Test::run_one_test(const std::string& /*header*/,
      const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:520,1
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_pubkey.cpp:521,1
    - Dst: Botan_Tests::PK_Key_Agreement_Test::default_kdf
      Src: /src/botan/src/tests/test_pubkey.cpp:521,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:523,1
    - Dst: empty
      Src: /src/botan/src/tests/test_pubkey.cpp:523,1
    - Dst: load_our_key
      Src: /src/botan/src/tests/test_pubkey.cpp:525,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:527,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:528,1
    - Dst: load_their_key
      Src: /src/botan/src/tests/test_pubkey.cpp:530,1
    - Dst: possible_providers
      Src: /src/botan/src/tests/test_pubkey.cpp:534,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:534,1
    - Dst: std::make_unique<Botan::PK_Key_Agreement>
      Src: /src/botan/src/tests/test_pubkey.cpp:538,1
    - Dst: Botan_Tests::PK_Key_Agreement_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:538,1
    - Dst: Botan_Tests::PK_Key_Agreement_Test::agreement_should_fail
      Src: /src/botan/src/tests/test_pubkey.cpp:540,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_pubkey.cpp:541,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/botan/src/tests/test_pubkey.cpp:541,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/botan/src/tests/test_pubkey.cpp:543,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:544,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:547,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_pubkey.cpp:547,1
    - Dst: std::unique_ptr::agreed_value_size
      Src: /src/botan/src/tests/test_pubkey.cpp:547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - ' header'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 556
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 556
    functionName: Botan_Tests::PK_Key_Agreement_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - possible_providers
    - algo_name
    - Botan_Tests::PK_Key_Agreement_Test::rng
    - Test::Result::test_throws
    - std::unique_ptr::derive_key
    - load_our_key
    - Test::Result::confirm
    - load_their_key
    - std::unique_ptr::agreed_value_size
    - Botan_Tests::PK_Key_Agreement_Test::agreement_should_fail
    - std::make_unique<Botan::PK_Key_Agreement>
    - empty
    - auto::supports_operation
    - get_req_bin
    - auto::size
    - Test::Result::test_eq
    - get_opt_str
    - Botan_Tests::PK_Key_Agreement_Test::default_kdf
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result PK_Key_Agreement_Test::run_one_test(const std::string&
      header, const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::probe_provider_private_key
      Src: /src/botan/src/tests/test_pubkey.cpp:560,1
    - Dst: Botan_Tests::Test::provider_filter
      Src: /src/botan/src/tests/test_pubkey.cpp:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' algo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 562
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 562
    functionName: Botan_Tests::PK_Key_Generation_Test::possible_providers
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::provider_filter
    - Botan::probe_provider_private_key
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> PK_Key_Generation_Test::possible_providers(const
      std::string& algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: private_key_info
      Src: /src/botan/src/tests/test_pubkey.cpp:572,1
    - Dst: Botan_Tests::Test::random_password
      Src: /src/botan/src/tests/test_pubkey.cpp:574,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/tests/test_pubkey.cpp:578,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_pubkey.cpp:578,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_pubkey.cpp:580,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:582,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:583,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:583,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:583,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:584,1
    - Dst: auto::private_key_info
      Src: /src/botan/src/tests/test_pubkey.cpp:584,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:586,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:586,1
    - Dst: Botan::PKCS8::BER_encode
      Src: /src/botan/src/tests/test_pubkey.cpp:591,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_pubkey.cpp:591,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_pubkey.cpp:593,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:595,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:596,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:596,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:596,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:597,1
    - Dst: auto::private_key_info
      Src: /src/botan/src/tests/test_pubkey.cpp:597,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:599,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - ' result'
    - ' key'
    - ' pbe_algo'
    - ' rng'
    argTypes:
    - Test::Result
    - Botan::Private_Key
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 601
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 601
    functionName: Botan_Tests::test_pbe_roundtrip
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Botan::PKCS8::load_key
    - Botan::PKCS8::PEM_encode
    - what
    - Botan::PKCS8::BER_encode
    - Botan_CLI::Timer::milliseconds
    - test_failure
    - confirm
    - auto::private_key_info
    - private_key_info
    - auto::algo_name
    - Botan_Tests::Test::random_password
    - test_eq
    linkageType: ''
    returnType: void
    signature: "void test_pbe_roundtrip(Test::Result& result,\n                        const
      Botan::Private_Key& key,\n                        const std::string& pbe_algo,\n
      \                       Botan::RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keygen_params
      Src: /src/botan/src/tests/test_pubkey.cpp:609,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:610,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_pubkey.cpp:611,1
    - Dst: empty
      Src: /src/botan/src/tests/test_pubkey.cpp:611,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::possible_providers
      Src: /src/botan/src/tests/test_pubkey.cpp:615,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_pubkey.cpp:617,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_pubkey.cpp:618,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_pubkey.cpp:621,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_pubkey.cpp:623,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:623,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:632,1
    - Dst: check_key
      Src: /src/botan/src/tests/test_pubkey.cpp:632,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:632,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:635,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:636,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_pubkey.cpp:636,1
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/tests/test_pubkey.cpp:638,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pubkey.cpp:639,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:641,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_pubkey.cpp:642,1
    - Dst: object_identifier
      Src: /src/botan/src/tests/test_pubkey.cpp:643,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:648,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_pubkey.cpp:652,1
    - Dst: estimated_strength
      Src: /src/botan/src/tests/test_pubkey.cpp:652,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_pubkey.cpp:653,1
    - Dst: estimated_strength
      Src: /src/botan/src/tests/test_pubkey.cpp:653,1
    - Dst: public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:655,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:657,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:657,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:657,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:659,1
    - Dst: Botan::X509::PEM_encode
      Src: /src/botan/src/tests/test_pubkey.cpp:660,1
    - Dst: Botan::X509::PEM_encode
      Src: /src/botan/src/tests/test_pubkey.cpp:660,1
    - Dst: auto::generate_another
      Src: /src/botan/src/tests/test_pubkey.cpp:666,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:666,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:667,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:669,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:669,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:669,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:670,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:670,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:670,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:671,1
    - Dst: auto::estimated_strength
      Src: /src/botan/src/tests/test_pubkey.cpp:672,1
    - Dst: estimated_strength
      Src: /src/botan/src/tests/test_pubkey.cpp:672,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:673,1
    - Dst: auto::estimated_strength
      Src: /src/botan/src/tests/test_pubkey.cpp:674,1
    - Dst: auto::estimated_strength
      Src: /src/botan/src/tests/test_pubkey.cpp:675,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pubkey.cpp:676,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_pubkey.cpp:676,1
    - Dst: private_key_bits
      Src: /src/botan/src/tests/test_pubkey.cpp:676,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:678,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:679,1
    - Dst: auto::raw_public_key_bits
      Src: /src/botan/src/tests/test_pubkey.cpp:686,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pubkey.cpp:687,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_pubkey.cpp:687,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:689,1
    - Dst: dynamic_cast<const Botan::PK_Key_Agreement_Key*>
      Src: /src/botan/src/tests/test_pubkey.cpp:692,1
    - Dst: Test::Result::require
      Src: /src/botan/src/tests/test_pubkey.cpp:693,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:694,1
    - Dst: auto*::public_value
      Src: /src/botan/src/tests/test_pubkey.cpp:694,1
    - Dst: public_key_from_raw
      Src: /src/botan/src/tests/test_pubkey.cpp:697,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:698,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:698,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:698,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:699,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_pubkey.cpp:699,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_pubkey.cpp:699,1
    - Dst: Botan::value_exists
      Src: /src/botan/src/tests/test_pubkey.cpp:702,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:702,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:703,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:703,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:705,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:705,1
    - Dst: Botan::X509::PEM_encode
      Src: /src/botan/src/tests/test_pubkey.cpp:711,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/tests/test_pubkey.cpp:712,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:714,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:715,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:715,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:715,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:718,1
    - Dst: auto::check_key
      Src: /src/botan/src/tests/test_pubkey.cpp:718,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:718,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:721,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:721,1
    - Dst: auto::subject_public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:726,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/tests/test_pubkey.cpp:728,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:730,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:731,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:731,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:731,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:732,1
    - Dst: auto::subject_public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:732,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:734,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:734,1
    - Dst: private_key_info
      Src: /src/botan/src/tests/test_pubkey.cpp:739,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_pubkey.cpp:741,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:743,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:744,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:744,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:744,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:745,1
    - Dst: auto::private_key_info
      Src: /src/botan/src/tests/test_pubkey.cpp:745,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:747,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:747,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_pubkey.cpp:752,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:754,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:755,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:755,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:755,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:757,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:757,1
    - Dst: test_pbe_roundtrip
      Src: /src/botan/src/tests/test_pubkey.cpp:762,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:762,1
    - Dst: test_pbe_roundtrip
      Src: /src/botan/src/tests/test_pubkey.cpp:767,1
    - Dst: Botan_Tests::PK_Key_Generation_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:767,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_pubkey.cpp:771,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_pubkey.cpp:773,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 777
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 777
    functionName: Botan_Tests::PK_Key_Generation_Test::run
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - auto::generate_another
    - Test::Result::end_timer
    - Botan::X509::PEM_encode
    - auto::raw_public_key_bits
    - auto::private_key_info
    - std::vector::push_back
    - auto*::public_value
    - std::string::empty
    - Botan_Tests::PK_Key_Generation_Test::possible_providers
    - Test::Result::test_eq
    - Test::Result::test_note
    - auto::value
    - std::vector::empty
    - Test::Result::require
    - what
    - Test::Result::confirm
    - Botan::PKCS8::load_key
    - auto::check_key
    - auto::supports_operation
    - estimated_strength
    - auto::estimated_strength
    - public_key
    - Test::Result::test_gte
    - Test::Result::test_success
    - check_key
    - auto::subject_public_key
    - Test::Result::start_timer
    - Botan::create_private_key
    - Test::Result::test_ne
    - Botan_Tests::PK_Key_Generation_Test::rng
    - private_key_bits
    - empty
    - private_key_info
    - auto::algo_name
    - test_pbe_roundtrip
    - Botan::OID::from_name
    - auto::public_key
    - Botan_Tests::PK_Key_Generation_Test::algo_name
    - Botan::value_exists
    - Botan::X509::load_key
    - keygen_params
    - Test::Result::test_failure
    - auto::public_key_bits
    - auto::private_key_bits
    - object_identifier
    - dynamic_cast<const Botan::PK_Key_Agreement_Key*>
    - Test::Result::note_missing
    - auto::size
    - Botan::fmt
    - public_key_from_raw
    - Test::Result::test_lt
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> PK_Key_Generation_Test::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:780,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_pubkey.cpp:783,1
    - Dst: load_public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:787,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' header'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 794
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 794
    functionName: Botan_Tests::PK_Key_Validity_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - load_public_key
    - Test_Error
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result PK_Key_Validity_Test::run_one_test(const std::string&
      header, const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' algo'
    - ' test_src'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 798
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 798
    functionName: Botan_Tests::PK_Key_Generation_Stability_Test::PK_Key_Generation_Stability_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PK_Key_Generation_Stability_Test::PK_Key_Generation_Stability_Test(const
      std::string& algo,\n                                                                   const
      std::string& test_src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_pubkey.cpp:801,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_pubkey.cpp:802,1
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_pubkey.cpp:803,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:804,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:805,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:809,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_pubkey.cpp:810,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_pubkey.cpp:815,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_pubkey.cpp:817,1
    - Dst: std::make_unique<Botan::HMAC_DRBG>
      Src: /src/botan/src/tests/test_pubkey.cpp:823,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_pubkey.cpp:828,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_pubkey.cpp:829,1
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_pubkey.cpp:831,1
    - Dst: std::unique_ptr::add_entropy
      Src: /src/botan/src/tests/test_pubkey.cpp:835,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pubkey.cpp:835,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pubkey.cpp:835,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_pubkey.cpp:838,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey.cpp:838,1
    - Dst: auto::private_key_info
      Src: /src/botan/src/tests/test_pubkey.cpp:840,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:841,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:844,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:844,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:847,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_pubkey.cpp:850,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 853
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 853
    functionName: Botan_Tests::PK_Key_Generation_Stability_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_RNG>
    - std::vector::size
    - Test::Result::end_timer
    - auto::private_key_info
    - std::string::empty
    - std::unique_ptr::add_entropy
    - Test::Result::test_eq
    - Test::Result::test_note
    - what
    - get_req_bin
    - std::vector::data
    - algo_name
    - get_req_str
    - Test::Result::start_timer
    - Botan::create_private_key
    - Test_Error
    - get_opt_str
    - std::ostringstream::str
    - std::make_unique<Botan::HMAC_DRBG>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result PK_Key_Generation_Stability_Test::run_one_test(const std::string&,
      const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 860
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 860
    functionName: Botan_Tests::PK_API_Sign_Test::PK_API_Sign_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_API_Sign_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_pubkey.cpp:864,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_pubkey.cpp:865,1
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_pubkey.cpp:866,1
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_pubkey.cpp:867,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_pubkey.cpp:871,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_pubkey.cpp:874,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_pubkey.cpp:877,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_pubkey.cpp:881,1
    - Dst: Botan_Tests::PK_API_Sign_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:881,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:888,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_pubkey.cpp:888,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/tests/test_pubkey.cpp:893,1
    - Dst: Botan::X509::BER_encode
      Src: /src/botan/src/tests/test_pubkey.cpp:893,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_pubkey.cpp:893,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:894,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:896,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:897,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:898,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:899,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_pubkey.cpp:900,1
    - Dst: auto::key_length
      Src: /src/botan/src/tests/test_pubkey.cpp:900,1
    - Dst: auto::stateful_operation
      Src: /src/botan/src/tests/test_pubkey.cpp:901,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:902,1
    - Dst: auto::remaining_operations
      Src: /src/botan/src/tests/test_pubkey.cpp:903,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:905,1
    - Dst: auto::remaining_operations
      Src: /src/botan/src/tests/test_pubkey.cpp:906,1
    - Dst: std::make_unique<Botan::PK_Signer>
      Src: /src/botan/src/tests/test_pubkey.cpp:909,1
    - Dst: Botan_Tests::PK_API_Sign_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:910,1
    - Dst: std::make_unique<Botan::PK_Verifier>
      Src: /src/botan/src/tests/test_pubkey.cpp:912,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:913,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey.cpp:914,1
    - Dst: Test::Result::test_is_nonempty
      Src: /src/botan/src/tests/test_pubkey.cpp:916,1
    - Dst: auto::hash_function
      Src: /src/botan/src/tests/test_pubkey.cpp:916,1
    - Dst: Test::Result::test_is_nonempty
      Src: /src/botan/src/tests/test_pubkey.cpp:917,1
    - Dst: auto::hash_function
      Src: /src/botan/src/tests/test_pubkey.cpp:917,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:919,1
    - Dst: auto::hash_function
      Src: /src/botan/src/tests/test_pubkey.cpp:920,1
    - Dst: auto::hash_function
      Src: /src/botan/src/tests/test_pubkey.cpp:920,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_pubkey.cpp:922,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_pubkey.cpp:923,1
    - Dst: auto::sign_message
      Src: /src/botan/src/tests/test_pubkey.cpp:925,1
    - Dst: Botan_Tests::PK_API_Sign_Test::rng
      Src: /src/botan/src/tests/test_pubkey.cpp:925,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_pubkey.cpp:926,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_pubkey.cpp:926,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey.cpp:927,1
    - Dst: auto::verify_message
      Src: /src/botan/src/tests/test_pubkey.cpp:928,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 2
    argNames:
    - ' algorithm'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 932
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 932
    functionName: Botan_Tests::PK_API_Sign_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509::BER_encode
    - std::string::empty
    - std::make_unique<Botan::PK_Signer>
    - Test::Result::test_eq
    - Test::Result::test_note
    - Test::Result::test_gt
    - Test::Result::confirm
    - auto::supports_operation
    - auto::verify_message
    - auto::remaining_operations
    - auto::sign_message
    - get_req_str
    - Botan::create_private_key
    - auto::hash_function
    - auto::stateful_operation
    - auto::reset
    - Test::Result::test_is_nonempty
    - get_opt_str
    - auto::public_key
    - auto::key_length
    - std::make_unique<Botan::PK_Verifier>
    - std::ostringstream::str
    - Botan::X509::load_key
    - auto::size
    - Botan::fmt
    - Botan_Tests::PK_API_Sign_Test::rng
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algorithm, const VarMap&
      vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 941
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 941
    functionName: Botan_Tests::PK_API_Sign_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test([[maybe_unused]] const std::string& header, const
      VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 951
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 951
    functionName: Botan_Tests::PK_Key_Decoding_Test::PK_Key_Decoding_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Key_Decoding_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey.cpp:955,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_pubkey.cpp:960,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pubkey.cpp:961,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:963,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_pubkey.cpp:965,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:965,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pubkey.cpp:966,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pubkey.cpp:968,1
    - Dst: what
      Src: /src/botan/src/tests/test_pubkey.cpp:968,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 973
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 973
    functionName: Botan_Tests::PK_Key_Decoding_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_note
    - Botan::PKCS8::load_key
    - what
    - std::string
    - Test::Result::test_failure
    - get_req_bin
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string&, const VarMap& vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan_Tests::KDF_KAT_Tests::KDF_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_kdf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KDF_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KDF::create
      Src: /src/botan/src/tests/test_kdf.cpp:30,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_kdf.cpp:33,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_kdf.cpp:37,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_kdf.cpp:38,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_kdf.cpp:39,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_kdf.cpp:40,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kdf.cpp:42,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_kdf.cpp:42,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kdf.cpp:43,1
    - Dst: auto::derive_key
      Src: /src/botan/src/tests/test_kdf.cpp:43,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_kdf.cpp:43,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_kdf.cpp:45,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kdf.cpp:47,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_kdf.cpp:47,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_kdf.cpp:47,1
    - Dst: auto::new_object
      Src: /src/botan/src/tests/test_kdf.cpp:51,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_kdf.cpp:52,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_kdf.cpp:52,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_kdf.cpp:52,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kdf.cpp:53,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_kdf.cpp:53,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_kdf.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' kdf_name'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 56
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 56
    functionName: Botan_Tests::KDF_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_kdf.cpp
    functionUses: 0
    functionsReached:
    - auto::name
    - auto::new_object
    - std::vector::size
    - auto::derive_key
    - Test::Result::confirm
    - Botan::KDF::create
    - auto::begin
    - get_req_bin
    - get_opt_bin
    - Test::Result::note_missing
    - auto::end
    - Test::Result::test_eq
    - auto::get
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& kdf_name, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan_Tests::HKDF_Expand_Label_Tests::HKDF_Expand_Label_Tests
    functionSourceFile: /src/botan/src/tests/test_kdf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HKDF_Expand_Label_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_kdf.cpp:71,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_kdf.cpp:72,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_kdf.cpp:73,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_kdf.cpp:74,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_kdf.cpp:76,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_kdf.cpp:79,1
    - Dst: Botan::hkdf_expand_label
      Src: /src/botan/src/tests/test_kdf.cpp:84,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_kdf.cpp:84,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kdf.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' hash_name'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 89
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 89
    functionName: Botan_Tests::HKDF_Expand_Label_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_kdf.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_note
    - get_req_str
    - std::vector::size
    - Botan::HashFunction::create
    - get_req_bin
    - Test::Result::test_eq
    - Botan::hkdf_expand_label
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& hash_name, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan_Tests::TPM_Tests::pin_cb
    functionSourceFile: /src/botan/src/tests/test_tpm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string pin_cb(const std::string&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::reset
      Src: /src/botan/src/tests/test_tpm.cpp:28,1
    - Dst: Botan::TPM_Context::TPM_Context
      Src: /src/botan/src/tests/test_tpm.cpp:28,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_tpm.cpp:29,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_tpm.cpp:31,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_tpm.cpp:36,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_tpm.cpp:36,1
    - Dst: std::unique_ptr::current_counter
      Src: /src/botan/src/tests/test_tpm.cpp:36,1
    - Dst: Botan::TPM_RNG::random_vec
      Src: /src/botan/src/tests/test_tpm.cpp:39,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_tpm.cpp:41,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tpm.cpp:41,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_tpm.cpp:44,1
    - Dst: Botan::TPM_PrivateKey::export_blob
      Src: /src/botan/src/tests/test_tpm.cpp:46,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_tpm.cpp:49,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm.cpp:49,1
    - Dst: Botan::TPM_PrivateKey::registered_keys
      Src: /src/botan/src/tests/test_tpm.cpp:51,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_tpm.cpp:54,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tpm.cpp:61,1
    - Dst: what
      Src: /src/botan/src/tests/test_tpm.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 65
    functionName: Botan_Tests::TPM_Tests::run
    functionSourceFile: /src/botan/src/tests/test_tpm.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::current_counter
    - Botan::TPM_RNG::random_vec
    - Test::Result::test_note
    - std::vector::size
    - Botan::TPM_Context::TPM_Context
    - Test::Result::test_ne
    - what
    - std::to_string
    - std::unique_ptr::reset
    - Test::Result::test_failure
    - std::vector<uint8_t>
    - Botan::TPM_PrivateKey::export_blob
    - Botan::TPM_PrivateKey::registered_keys
    - Test::Result::test_gte
    - Test::Result::test_success
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::UUID::UUID
      Src: /src/botan/src/tests/test_tpm.cpp:75,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tpm.cpp:77,1
    - Dst: Botan::UUID::is_valid
      Src: /src/botan/src/tests/test_tpm.cpp:77,1
    - Dst: Botan_Tests::UUID_Tests::rng
      Src: /src/botan/src/tests/test_tpm.cpp:79,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tpm.cpp:80,1
    - Dst: Botan::UUID::is_valid
      Src: /src/botan/src/tests/test_tpm.cpp:80,1
    - Dst: Botan::UUID::binary_value
      Src: /src/botan/src/tests/test_tpm.cpp:82,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tpm.cpp:83,1
    - Dst: Botan::UUID::to_string
      Src: /src/botan/src/tests/test_tpm.cpp:85,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tpm.cpp:86,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_tpm.cpp:86,1
    - Dst: Botan::UUID::to_string
      Src: /src/botan/src/tests/test_tpm.cpp:88,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tpm.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: Botan_Tests::UUID_Tests::run
    functionSourceFile: /src/botan/src/tests/test_tpm.cpp
    functionUses: 0
    functionsReached:
    - Botan::UUID::to_string
    - std::string::size
    - Botan::UUID::binary_value
    - Test::Result::confirm
    - Botan::UUID::is_valid
    - Botan::UUID::UUID
    - Test::Result::test_eq
    - Botan_Tests::UUID_Tests::rng
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/tests/test_sphincsplus.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - kat_path
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: Botan_Tests::SPHINCS_Plus_Test_Base::SPHINCS_Plus_Test_Base
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: void SPHINCS_Plus_Test_Base(std::string_view kat_path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus.cpp:37,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus.cpp:37,1
    - Dst: auto::is_available
      Src: /src/botan/src/tests/test_sphincsplus.cpp:39,1
    - Dst: auto::hash_type
      Src: /src/botan/src/tests/test_sphincsplus.cpp:45,1
    - Dst: auto::parameter_set
      Src: /src/botan/src/tests/test_sphincsplus.cpp:51,1
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_sphincsplus.cpp:65,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/tests/test_sphincsplus.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 68
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 68
    functionName: Botan_Tests::SPHINCS_Plus_Test_Base::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan_Tests::Test::run_long_tests
    - Botan::Sphincs_Parameters::create
    - auto::is_available
    - auto::parameter_set
    - auto::hash_type
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus.cpp:71,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus.cpp:71,1
    - Dst: auto::is_slh_dsa
      Src: /src/botan/src/tests/test_sphincsplus.cpp:72,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus.cpp:74,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus.cpp:75,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus.cpp:76,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus.cpp:77,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus.cpp:78,1
    - Dst: has_key
      Src: /src/botan/src/tests/test_sphincsplus.cpp:80,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_sphincsplus.cpp:81,1
    - Dst: auto::hash_type
      Src: /src/botan/src/tests/test_sphincsplus.cpp:91,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/tests/test_sphincsplus.cpp:97,1
    - Dst: CTR_DRBG_AES256
      Src: /src/botan/src/tests/test_sphincsplus.cpp:107,1
    - Dst: Fixed_Output_RNG::add_entropy
      Src: /src/botan/src/tests/test_sphincsplus.cpp:109,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_sphincsplus.cpp:109,1
    - Dst: auto::n
      Src: /src/botan/src/tests/test_sphincsplus.cpp:109,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_sphincsplus.cpp:113,1
    - Dst: auto::n
      Src: /src/botan/src/tests/test_sphincsplus.cpp:113,1
    - Dst: Fixed_Output_RNG::add_entropy
      Src: /src/botan/src/tests/test_sphincsplus.cpp:115,1
    - Dst: Fixed_Output_RNG::add_entropy
      Src: /src/botan/src/tests/test_sphincsplus.cpp:116,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus.cpp:121,1
    - Dst: Botan::SphincsPlus_PrivateKey::public_key_bits
      Src: /src/botan/src/tests/test_sphincsplus.cpp:121,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus.cpp:122,1
    - Dst: unlock
      Src: /src/botan/src/tests/test_sphincsplus.cpp:122,1
    - Dst: Botan::SphincsPlus_PrivateKey::private_key_bits
      Src: /src/botan/src/tests/test_sphincsplus.cpp:122,1
    - Dst: Botan::PK_Signer::PK_Signer
      Src: /src/botan/src/tests/test_sphincsplus.cpp:125,1
    - Dst: auto::sign_message
      Src: /src/botan/src/tests/test_sphincsplus.cpp:126,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sphincsplus.cpp:126,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sphincsplus.cpp:126,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus.cpp:128,1
    - Dst: unlock
      Src: /src/botan/src/tests/test_sphincsplus.cpp:128,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_sphincsplus.cpp:128,1
    - Dst: Botan::SphincsPlus_PrivateKey::public_key
      Src: /src/botan/src/tests/test_sphincsplus.cpp:130,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_sphincsplus.cpp:130,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sphincsplus.cpp:133,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_sphincsplus.cpp:137,1
    - Dst: run_long_tests
      Src: /src/botan/src/tests/test_sphincsplus.cpp:138,1
    - Dst: auto::parameter_set
      Src: /src/botan/src/tests/test_sphincsplus.cpp:138,1
    - Dst: Botan::PK_Signer::PK_Signer
      Src: /src/botan/src/tests/test_sphincsplus.cpp:139,1
    - Dst: auto::sign_message
      Src: /src/botan/src/tests/test_sphincsplus.cpp:140,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sphincsplus.cpp:140,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sphincsplus.cpp:140,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus.cpp:142,1
    - Dst: unlock
      Src: /src/botan/src/tests/test_sphincsplus.cpp:142,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_sphincsplus.cpp:142,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_sphincsplus.cpp:145,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sphincsplus.cpp:145,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sphincsplus.cpp:145,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_sphincsplus.cpp:145,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_sphincsplus.cpp:145,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sphincsplus.cpp:146,1
    - Dst: auto::parameter_set
      Src: /src/botan/src/tests/test_sphincsplus.cpp:154,1
    - Dst: auto::parameter_set
      Src: /src/botan/src/tests/test_sphincsplus.cpp:155,1
    - Dst: Botan::PK_Signer::PK_Signer
      Src: /src/botan/src/tests/test_sphincsplus.cpp:161,1
    - Dst: auto::sign_message
      Src: /src/botan/src/tests/test_sphincsplus.cpp:162,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_sphincsplus.cpp:162,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_sphincsplus.cpp:162,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus.cpp:164,1
    - Dst: unlock
      Src: /src/botan/src/tests/test_sphincsplus.cpp:165,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_sphincsplus.cpp:165,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_sphincsplus.cpp:169,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sphincsplus.cpp:172,1
    - Dst: Botan_Tests::Test::mutate_vec
      Src: /src/botan/src/tests/test_sphincsplus.cpp:175,1
    - Dst: Botan_Tests::SPHINCS_Plus_Test_Base::rng
      Src: /src/botan/src/tests/test_sphincsplus.cpp:175,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sphincsplus.cpp:178,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sphincsplus.cpp:182,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_sphincsplus.cpp:186,1
    - Dst: auto::to_string
      Src: /src/botan/src/tests/test_sphincsplus.cpp:186,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus.cpp:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 189
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 189
    functionName: Botan_Tests::SPHINCS_Plus_Test_Base::run_one_test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Botan::PK_Signer::PK_Signer
    - auto::hash_type
    - auto::process
    - has_key
    - Botan::HashFunction::create_or_throw
    - CTR_DRBG_AES256
    - auto::algorithm_identifier
    - Test::Result::confirm
    - auto::has_value
    - Botan::SphincsPlus_PrivateKey::private_key_bits
    - run_long_tests
    - Botan::SphincsPlus_PrivateKey::public_key
    - Botan_Tests::SPHINCS_Plus_Test_Base::rng
    - Fixed_Output_RNG::add_entropy
    - auto::to_string
    - get_req_bin
    - get_opt_bin
    - auto::size
    - std::vector::data
    - auto::sign_message
    - get_req_str
    - auto::random_vec
    - Botan::Sphincs_Parameters::create
    - auto::n
    - Botan::PK_Verifier::verify_message
    - Botan::SphincsPlus_PrivateKey::public_key_bits
    - auto::is_slh_dsa
    - Test::Result::test_is_eq
    - auto::data
    - auto::parameter_set
    - unlock
    - Botan_Tests::Test::mutate_vec
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string&, const VarMap& vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: Botan_Tests::SPHINCS_Plus_Test::SPHINCS_Plus_Test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SPHINCS_Plus_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: Botan_Tests::SLH_DSA_Test::SLH_DSA_Test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SLH_DSA_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_sphincsplus.cpp:221,1
    - Dst: std::copy_if
      Src: /src/botan/src/tests/test_sphincsplus.cpp:223,1
    - Dst: begin
      Src: /src/botan/src/tests/test_sphincsplus.cpp:223,1
    - Dst: end
      Src: /src/botan/src/tests/test_sphincsplus.cpp:224,1
    - Dst: std::back_inserter
      Src: /src/botan/src/tests/test_sphincsplus.cpp:225,1
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 228
    functionName: Botan_Tests::SPHINCS_Plus_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::run_long_tests
    - std::copy_if
    - begin
    - std::back_inserter
    - Botan::Sphincs_Parameters::create
    - end
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: Botan_Tests::SPHINCS_Plus_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::SphincsPlus_PublicKey>
      Src: /src/botan/src/tests/test_sphincsplus.cpp:235,1
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: Botan_Tests::SPHINCS_Plus_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sphincs_Parameters::create
    - std::make_unique<Botan::SphincsPlus_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: Botan_Tests::Generic_SlhDsa_Signature_Tests::Generic_SlhDsa_Signature_Tests
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Generic_SlhDsa_Signature_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: Botan_Tests::Generic_SlhDsa_Signature_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus.cpp:249,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus.cpp:250,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus.cpp:251,1
    - Dst: std::make_unique<Botan::SphincsPlus_PrivateKey>
      Src: /src/botan/src/tests/test_sphincsplus.cpp:253,1
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus.cpp:253,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_sphincsplus.cpp:255,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_sphincsplus.cpp:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 260
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 260
    functionName: Botan_Tests::Generic_SlhDsa_Signature_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan::Sphincs_Parameters::create
    - auto::public_key_bits
    - Test_Error
    - get_req_bin
    - std::make_unique<Botan::SphincsPlus_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_key
      Src: /src/botan/src/tests/test_sphincsplus.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: Botan_Tests::Generic_SlhDsa_Signature_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - has_key
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus.cpp:267,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: Botan_Tests::Generic_SlhDsa_Signature_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sphincs_Parameters::create
    - get_req_str
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: Botan_Tests::Generic_SlhDsa_Verification_Tests::Generic_SlhDsa_Verification_Tests
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Generic_SlhDsa_Verification_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: Botan_Tests::Generic_SlhDsa_Verification_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus.cpp:280,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus.cpp:281,1
    - Dst: std::make_unique<Botan::SphincsPlus_PublicKey>
      Src: /src/botan/src/tests/test_sphincsplus.cpp:283,1
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: Botan_Tests::Generic_SlhDsa_Verification_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::SphincsPlus_PublicKey>
    - Botan::Sphincs_Parameters::create
    - get_req_str
    - get_req_bin
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: Botan_Tests::Generic_SlhDsa_Verification_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap&) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus.cpp:289,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: Botan_Tests::Generic_SlhDsa_Verification_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sphincs_Parameters::create
    - get_req_str
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:20,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:23,1
    - Dst: Botan::TLS::Handshake_Transitions::change_cipher_spec_expected
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:23,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:25,1
    - Dst: Botan::TLS::Handshake_Transitions::received_handshake_msg
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:26,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:27,1
    - Dst: Botan::TLS::Handshake_Transitions::confirm_transition_to
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:28,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:31,1
    - Dst: Botan::TLS::Handshake_Transitions::set_expected_next
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:34,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:36,1
    - Dst: Botan::TLS::Handshake_Transitions::confirm_transition_to
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:37,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:39,1
    - Dst: Botan::TLS::Handshake_Transitions::received_handshake_msg
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:40,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:42,1
    - Dst: Botan::TLS::Handshake_Transitions::confirm_transition_to
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:43,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:46,1
    - Dst: Botan::TLS::Handshake_Transitions::set_expected_next
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:49,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:51,1
    - Dst: Botan::TLS::Handshake_Transitions::confirm_transition_to
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:52,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:55,1
    - Dst: Botan::TLS::Handshake_Transitions::set_expected_next
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:58,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:63,1
    - Dst: Botan::TLS::Handshake_Transitions::confirm_transition_to
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:64,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:65,1
    - Dst: Botan::TLS::Handshake_Transitions::received_handshake_msg
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:66,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:68,1
    - Dst: auto::confirm_transition_to
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:69,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:70,1
    - Dst: auto::received_handshake_msg
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:71,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:74,1
    - Dst: Botan::TLS::Handshake_Transitions::set_expected_next
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:77,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:78,1
    - Dst: Botan::TLS::Handshake_Transitions::change_cipher_spec_expected
      Src: /src/botan/src/tests/test_tls_handshake_transitions.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 81
    functionName: Botan_Tests::test_handshake_state_transitions
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_transitions.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan::TLS::Handshake_Transitions::confirm_transition_to
    - auto::received_handshake_msg
    - Botan::TLS::Handshake_Transitions::change_cipher_spec_expected
    - Botan::TLS::Handshake_Transitions::set_expected_next
    - test_no_throw
    - test_throws
    - confirm
    - Botan::TLS::Handshake_Transitions::received_handshake_msg
    - auto::confirm_transition_to
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_handshake_state_transitions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Invalid_Hash_Name_Tests::test_invalid_name
      Src: /src/botan/src/tests/test_hash.cpp:24,1
    - Dst: Botan_Tests::Invalid_Hash_Name_Tests::test_invalid_name
      Src: /src/botan/src/tests/test_hash.cpp:25,1
    - Dst: Botan_Tests::Invalid_Hash_Name_Tests::test_invalid_name
      Src: /src/botan/src/tests/test_hash.cpp:26,1
    - Dst: Botan_Tests::Invalid_Hash_Name_Tests::test_invalid_name
      Src: /src/botan/src/tests/test_hash.cpp:27,1
    - Dst: Botan_Tests::Invalid_Hash_Name_Tests::test_invalid_name
      Src: /src/botan/src/tests/test_hash.cpp:28,1
    - Dst: Botan_Tests::Invalid_Hash_Name_Tests::test_invalid_name
      Src: /src/botan/src/tests/test_hash.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 32
    functionName: Botan_Tests::Invalid_Hash_Name_Tests::run
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Invalid_Hash_Name_Tests::test_invalid_name
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/tests/test_hash.cpp:37,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_hash.cpp:38,1
    - Dst: what
      Src: /src/botan/src/tests/test_hash.cpp:40,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_hash.cpp:42,1
    - Dst: what
      Src: /src/botan/src/tests/test_hash.cpp:45,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_hash.cpp:46,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_hash.cpp:48,1
    - Dst: what
      Src: /src/botan/src/tests/test_hash.cpp:48,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_hash.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ' result'
    - ' name'
    argTypes:
    - Result
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 52
    functionName: Botan_Tests::Invalid_Hash_Name_Tests::test_invalid_name
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 1
    functionsReached:
    - test_eq
    - test_failure
    - Botan::HashFunction::create_or_throw
    - what
    linkageType: ''
    returnType: void
    signature: void test_invalid_name(Result& result, const std::string& name, const
      std::string& expected_msg = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan_Tests::Hash_Function_Tests::Hash_Function_Tests
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Hash_Function_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: provider_filter
      Src: /src/botan/src/tests/test_hash.cpp:62,1
    - Dst: Botan::HashFunction::providers
      Src: /src/botan/src/tests/test_hash.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' algo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan_Tests::Hash_Function_Tests::possible_providers
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached:
    - provider_filter
    - Botan::HashFunction::providers
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> possible_providers(const std::string& algo)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_hash.cpp:66,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_hash.cpp:67,1
    - Dst: Botan_Tests::Hash_Function_Tests::possible_providers
      Src: /src/botan/src/tests/test_hash.cpp:71,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_hash.cpp:73,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_hash.cpp:74,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_hash.cpp:79,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_hash.cpp:82,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_hash.cpp:82,1
    - Dst: auto::new_object
      Src: /src/botan/src/tests/test_hash.cpp:86,1
    - Dst: auto::provider
      Src: /src/botan/src/tests/test_hash.cpp:88,1
    - Dst: Test::Result::test_is_nonempty
      Src: /src/botan/src/tests/test_hash.cpp:89,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash.cpp:90,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_hash.cpp:90,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash.cpp:91,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_hash.cpp:91,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_hash.cpp:91,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:94,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash.cpp:95,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_hash.cpp:95,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:98,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash.cpp:99,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_hash.cpp:99,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:102,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_hash.cpp:103,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:104,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash.cpp:107,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_hash.cpp:107,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_hash.cpp:111,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/test_hash.cpp:118,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_hash.cpp:118,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:121,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash.cpp:121,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash.cpp:122,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_hash.cpp:122,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash.cpp:125,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:126,1
    - Dst: auto::copy_state
      Src: /src/botan/src/tests/test_hash.cpp:128,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:130,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash.cpp:130,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash.cpp:133,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash.cpp:136,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:140,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash.cpp:143,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_hash.cpp:143,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:145,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash.cpp:145,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash.cpp:146,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_hash.cpp:146,1
    - Dst: auto::hash_block_size
      Src: /src/botan/src/tests/test_hash.cpp:149,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_hash.cpp:151,1
    - Dst: auto::hash_block_size
      Src: /src/botan/src/tests/test_hash.cpp:151,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 156
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 156
    functionName: Botan_Tests::Hash_Function_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::begin
    - Botan_Tests::Hash_Function_Tests::possible_providers
    - Test::Result::test_eq
    - auto::name
    - std::vector::empty
    - auto::update
    - get_req_bin
    - Test::Result::test_gte
    - auto::new_object
    - auto::provider
    - Test::Result::test_is_nonempty
    - auto::hash_block_size
    - auto::final
    - auto::copy_state
    - Botan::HashFunction::create
    - Test::Result::test_failure
    - std::vector::insert
    - Test::Result::note_missing
    - auto::clear
    - Botan::fmt
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: Botan_Tests::Hash_NIST_MonteCarlo_Tests::Hash_NIST_MonteCarlo_Tests
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Hash_NIST_MonteCarlo_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: provider_filter
      Src: /src/botan/src/tests/test_hash.cpp:166,1
    - Dst: Botan::HashFunction::providers
      Src: /src/botan/src/tests/test_hash.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' algo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: Botan_Tests::Hash_NIST_MonteCarlo_Tests::possible_providers
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached:
    - provider_filter
    - Botan::HashFunction::providers
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> possible_providers(const std::string& algo)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_hash.cpp:170,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_hash.cpp:172,1
    - Dst: Botan_Tests::Hash_NIST_MonteCarlo_Tests::possible_providers
      Src: /src/botan/src/tests/test_hash.cpp:176,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_hash.cpp:178,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_hash.cpp:179,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_hash.cpp:184,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_hash.cpp:187,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_hash.cpp:187,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_hash.cpp:192,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_hash.cpp:193,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_hash.cpp:194,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_hash.cpp:196,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:200,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:201,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:202,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_hash.cpp:204,1
    - Dst: data
      Src: /src/botan/src/tests/test_hash.cpp:204,1
    - Dst: swap
      Src: /src/botan/src/tests/test_hash.cpp:205,1
    - Dst: swap
      Src: /src/botan/src/tests/test_hash.cpp:206,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash.cpp:215,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 219
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 219
    functionName: Botan_Tests::Hash_NIST_MonteCarlo_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached:
    - auto::final
    - std::vector::empty
    - swap
    - data
    - auto::update
    - auto::output_length
    - Botan::HashFunction::create
    - Test::Result::test_failure
    - std::vector::push_back
    - get_req_bin
    - Test::Result::test_eq
    - Test::Result::note_missing
    - Botan::fmt
    - Botan_Tests::Hash_NIST_MonteCarlo_Tests::possible_providers
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: Botan_Tests::Hash_LongRepeat_Tests::Hash_LongRepeat_Tests
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Hash_LongRepeat_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: provider_filter
      Src: /src/botan/src/tests/test_hash.cpp:229,1
    - Dst: Botan::HashFunction::providers
      Src: /src/botan/src/tests/test_hash.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' algo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: Botan_Tests::Hash_LongRepeat_Tests::possible_providers
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached:
    - provider_filter
    - Botan::HashFunction::providers
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> possible_providers(const std::string& algo)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/tests/test_hash.cpp:235,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash.cpp:237,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/test_hash.cpp:238,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_hash.cpp:238,1
    - Dst: begin
      Src: /src/botan/src/tests/test_hash.cpp:238,1
    - Dst: end
      Src: /src/botan/src/tests/test_hash.cpp:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' input'
    - min_len
    argTypes:
    - std::vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: Botan_Tests::Hash_LongRepeat_Tests::expand_input
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - begin
    - end
    - std::vector::reserve
    - std::vector::insert
    - std::vector::end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> expand_input(const std::vector<uint8_t>& input,
      size_t min_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Hash_LongRepeat_Tests::expand_input
      Src: /src/botan/src/tests/test_hash.cpp:245,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_hash.cpp:245,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_hash.cpp:247,1
    - Dst: Botan_Tests::Hash_LongRepeat_Tests::possible_providers
      Src: /src/botan/src/tests/test_hash.cpp:251,1
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_hash.cpp:253,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_hash.cpp:257,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_hash.cpp:258,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_hash.cpp:263,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_hash.cpp:266,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_hash.cpp:266,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:274,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_hash.cpp:278,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_hash.cpp:278,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_hash.cpp:281,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_hash.cpp:282,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_hash.cpp:282,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash.cpp:283,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 287
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 287
    functionName: Botan_Tests::Hash_LongRepeat_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached:
    - auto::final
    - Botan_Tests::Test::run_long_tests
    - Botan_Tests::Hash_LongRepeat_Tests::expand_input
    - std::vector::empty
    - Botan_Tests::Hash_LongRepeat_Tests::possible_providers
    - auto::update
    - auto::output_length
    - Botan::HashFunction::create
    - Test::Result::test_failure
    - get_req_bin
    - Test::Result::test_eq
    - Test::Result::note_missing
    - Botan::fmt
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_hash.cpp:297,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_hash.cpp:298,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_hash.cpp:299,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_hash.cpp:300,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_hash.cpp:301,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_hash.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 304
    functionName: Botan_Tests::hash_truncation_negative_tests
    functionSourceFile: /src/botan/src/tests/test_hash.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::confirm
    - Test::Result::test_throws
    - Botan::HashFunction::create
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result hash_truncation_negative_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan_Tests::Stream_Cipher_Tests::Stream_Cipher_Tests
    functionSourceFile: /src/botan/src/tests/test_stream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stream_Cipher_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_stream.cpp:23,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_stream.cpp:24,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_stream.cpp:25,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_stream.cpp:27,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_stream.cpp:29,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_stream.cpp:30,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:30,1
    - Dst: provider_filter
      Src: /src/botan/src/tests/test_stream.cpp:35,1
    - Dst: Botan::StreamCipher::providers
      Src: /src/botan/src/tests/test_stream.cpp:35,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_stream.cpp:37,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_stream.cpp:38,1
    - Dst: Botan::StreamCipher::create
      Src: /src/botan/src/tests/test_stream.cpp:43,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_stream.cpp:46,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_stream.cpp:46,1
    - Dst: auto::provider
      Src: /src/botan/src/tests/test_stream.cpp:50,1
    - Dst: Test::Result::test_is_nonempty
      Src: /src/botan/src/tests/test_stream.cpp:51,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_stream.cpp:52,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_stream.cpp:52,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_stream.cpp:54,1
    - Dst: auto::valid_iv_length
      Src: /src/botan/src/tests/test_stream.cpp:54,1
    - Dst: auto::default_iv_length
      Src: /src/botan/src/tests/test_stream.cpp:54,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_stream.cpp:56,1
    - Dst: auto::buffer_size
      Src: /src/botan/src/tests/test_stream.cpp:56,1
    - Dst: auto::default_iv_length
      Src: /src/botan/src/tests/test_stream.cpp:58,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_stream.cpp:59,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_stream.cpp:59,1
    - Dst: auto::set_iv
      Src: /src/botan/src/tests/test_stream.cpp:62,1
    - Dst: auto::cipher1
      Src: /src/botan/src/tests/test_stream.cpp:67,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_stream.cpp:67,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:67,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_stream.cpp:68,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_stream.cpp:70,1
    - Dst: auto::seek
      Src: /src/botan/src/tests/test_stream.cpp:74,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_stream.cpp:75,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_stream.cpp:77,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_stream.cpp:79,1
    - Dst: auto::valid_iv_length
      Src: /src/botan/src/tests/test_stream.cpp:82,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:82,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_stream.cpp:83,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_stream.cpp:87,1
    - Dst: auto::set_iv
      Src: /src/botan/src/tests/test_stream.cpp:89,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_stream.cpp:89,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:89,1
    - Dst: auto::valid_keylength
      Src: /src/botan/src/tests/test_stream.cpp:98,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:98,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_stream.cpp:99,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_stream.cpp:100,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:100,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_stream.cpp:104,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_stream.cpp:104,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_stream.cpp:105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_stream.cpp:106,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_stream.cpp:106,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_stream.cpp:112,1
    - Dst: auto::valid_iv_length
      Src: /src/botan/src/tests/test_stream.cpp:113,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_stream.cpp:115,1
    - Dst: auto::set_iv
      Src: /src/botan/src/tests/test_stream.cpp:116,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_stream.cpp:124,1
    - Dst: auto::set_iv
      Src: /src/botan/src/tests/test_stream.cpp:125,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_stream.cpp:125,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:125,1
    - Dst: auto::seek
      Src: /src/botan/src/tests/test_stream.cpp:129,1
    - Dst: auto::new_object
      Src: /src/botan/src/tests/test_stream.cpp:133,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_stream.cpp:134,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_stream.cpp:134,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_stream.cpp:134,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_stream.cpp:135,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_stream.cpp:135,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_stream.cpp:135,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_stream.cpp:136,1
    - Dst: Botan_Tests::Stream_Cipher_Tests::rng
      Src: /src/botan/src/tests/test_stream.cpp:136,1
    - Dst: auto::maximum_keylength
      Src: /src/botan/src/tests/test_stream.cpp:136,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_stream.cpp:140,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_stream.cpp:141,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_stream.cpp:145,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_stream.cpp:146,1
    - Dst: auto::set_iv
      Src: /src/botan/src/tests/test_stream.cpp:148,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_stream.cpp:148,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:148,1
    - Dst: auto::seek
      Src: /src/botan/src/tests/test_stream.cpp:151,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_stream.cpp:154,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_stream.cpp:155,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_stream.cpp:158,1
    - Dst: auto::set_iv
      Src: /src/botan/src/tests/test_stream.cpp:159,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_stream.cpp:159,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:159,1
    - Dst: auto::seek
      Src: /src/botan/src/tests/test_stream.cpp:161,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_stream.cpp:164,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_stream.cpp:165,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_stream.cpp:169,1
    - Dst: auto::set_iv
      Src: /src/botan/src/tests/test_stream.cpp:171,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_stream.cpp:171,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:171,1
    - Dst: auto::seek
      Src: /src/botan/src/tests/test_stream.cpp:174,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:177,1
    - Dst: auto::write_keystream
      Src: /src/botan/src/tests/test_stream.cpp:184,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:189,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_stream.cpp:192,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_stream.cpp:195,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_stream.cpp:195,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_stream.cpp:196,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_stream.cpp:197,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_stream.cpp:197,1
    - Dst: auto::cipher1
      Src: /src/botan/src/tests/test_stream.cpp:201,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_stream.cpp:201,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_stream.cpp:201,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_stream.cpp:202,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_stream.cpp:204,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 112
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 209
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 209
    functionName: Botan_Tests::Stream_Cipher_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_stream.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - provider_filter
    - std::to_string
    - auto::write_keystream
    - auto::seek
    - Test::Result::test_eq
    - auto::name
    - Botan::StreamCipher::create
    - Test::Result::test_note
    - Test::Result::test_throws
    - std::vector::empty
    - Test::Result::confirm
    - auto::cipher1
    - auto::set_iv
    - auto::buffer_size
    - get_req_bin
    - get_opt_bin
    - auto::get
    - Test::Result::test_success
    - std::vector::data
    - auto::new_object
    - auto::maximum_keylength
    - std::vector::resize
    - auto::provider
    - auto::has_keying_material
    - Botan_Tests::Stream_Cipher_Tests::rng
    - Test_Error
    - auto::encrypt
    - Test::Result::test_is_nonempty
    - Botan::StreamCipher::providers
    - auto::valid_keylength
    - auto::valid_iv_length
    - auto::set_key
    - Test::Result::test_failure
    - Test::Result::note_missing
    - auto::clear
    - Botan::fmt
    - auto::default_iv_length
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:28,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:28,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:28,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - label
    - secret
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: Botan_Tests::Journaling_Secret_Logger::maybe_log_secret
    functionSourceFile: /src/botan/src/tests/test_tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - std::span<const uint8_t>::end
    - std::string
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void maybe_log_secret(std::string_view label, std::span<const uint8_t>
      secret) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:41,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:41,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:42,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:43,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:43,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cs_client
    - sl_client
    - cs_server
    - sl_server
    argTypes:
    - Cipher_State*
    - Journaling_Secret_Logger*
    - Cipher_State*
    - Journaling_Secret_Logger*
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: Botan_Tests::make_CHECK_both
    functionSourceFile: /src/botan/src/tests/test_tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - std::string
    - std::bind
    linkageType: ''
    returnType: decltype(auto)
    signature: "decltype(auto) make_CHECK_both(Cipher_State* cs_client,\n                               Journaling_Secret_Logger*
      sl_client,\n                               Cipher_State* cs_server,\n                               Journaling_Secret_Logger*
      sl_server)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:62,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:64,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:65,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - n
    - em
    - rh
    - ef
    - pf
    argTypes:
    - std::string
    - Connection_Side
    - std::vector<uint8_t>
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: Botan_Tests::RFC8448_TestData::RFC8448_TestData
    functionSourceFile: /src/botan/src/tests/test_tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void RFC8448_TestData(std::string n,\n                       Connection_Side
      em,\n                       std::vector<uint8_t> rh,\n                       secure_vector<uint8_t>
      ef,\n                       secure_vector<uint8_t> pf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:70,1
    - Dst: Cipher_State*::encrypt_record_fragment
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:71,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' result'
    - cs
    argTypes:
    - Test::Result
    - Cipher_State*
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: Botan_Tests::RFC8448_TestData::encrypt
    functionSourceFile: /src/botan/src/tests/test_tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - test_no_throw
    - test_eq
    - Cipher_State*::encrypt_record_fragment
    linkageType: ''
    returnType: void
    signature: void encrypt(Test::Result& result, Cipher_State* cs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:78,1
    - Dst: Cipher_State*::decrypt_record_fragment
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:79,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' result'
    - cs
    argTypes:
    - Test::Result
    - Cipher_State*
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: Botan_Tests::RFC8448_TestData::decrypt
    functionSourceFile: /src/botan/src/tests/test_tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - test_no_throw
    - Cipher_State*::decrypt_record_fragment
    - test_eq
    linkageType: ''
    returnType: void
    signature: void decrypt(Test::Result& result, Cipher_State* cs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::RFC8448_TestData::encrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:86,1
    - Dst: Botan_Tests::RFC8448_TestData::decrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' result'
    - cs
    - side
    argTypes:
    - Test::Result
    - Cipher_State*
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: Botan_Tests::RFC8448_TestData::xxcrypt
    functionSourceFile: /src/botan/src/tests/test_tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::RFC8448_TestData::encrypt
    - Botan_Tests::RFC8448_TestData::decrypt
    linkageType: ''
    returnType: void
    signature: void xxcrypt(Test::Result& result, Cipher_State* cs, Connection_Side
      side) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:95,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:99,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:106,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:109,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:114,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:119,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:124,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:129,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:134,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:139,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:144,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:149,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:154,1
    - Dst: RFC8448_TestData
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:160,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:162,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:163,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:196,1
    - Dst: RFC8448_TestData
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:232,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:234,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:235,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:239,1
    - Dst: RFC8448_TestData
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:245,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:247,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:248,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:260,1
    - Dst: RFC8448_TestData
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:275,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:277,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:278,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:282,1
    - Dst: RFC8448_TestData
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:289,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:291,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:292,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:296,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:301,1
    - Dst: Botan::TLS::Cipher_State::init_with_server_hello
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:306,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:307,1
    - Dst: Botan::TLS::Cipher_State::init_with_server_hello
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:308,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:309,1
    - Dst: Botan_Tests::make_CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:311,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:311,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:311,1
    - Dst: Botan_Tests::Test::flatten_result_lists
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:313,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:314,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:317,1
    - Dst: secrets::size
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:317,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:318,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:318,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:319,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:319,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:321,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:322,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:324,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:325,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:329,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:331,1
    - Dst: is_compatible_with
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:331,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:332,1
    - Dst: is_compatible_with
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:334,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:334,1
    - Dst: is_compatible_with
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:335,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:335,1
    - Dst: is_compatible_with
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:336,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:336,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:338,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:339,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:341,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:342,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:346,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:348,1
    - Dst: next_ticket_nonce
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:349,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:352,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:354,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:354,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:355,1
    - Dst: can_export_keys
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:355,1
    - Dst: auto::xxcrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:358,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:361,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:365,1
    - Dst: verify_peer_finished_mac
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:366,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:368,1
    - Dst: finished_mac
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:369,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:375,1
    - Dst: advance_with_server_finished
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:376,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:379,1
    - Dst: can_decrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:379,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:380,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:380,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:381,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:382,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:384,1
    - Dst: can_decrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:384,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:385,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:385,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:386,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:387,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:391,1
    - Dst: secrets::size
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:391,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:392,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:392,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:393,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:393,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:394,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:394,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:395,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:396,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:397,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:398,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:401,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:405,1
    - Dst: finished_mac
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:406,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:409,1
    - Dst: verify_peer_finished_mac
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:410,1
    - Dst: auto::xxcrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:415,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:419,1
    - Dst: advance_with_client_finished
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:420,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:422,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:422,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:423,1
    - Dst: can_decrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:423,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:424,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:425,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:426,1
    - Dst: can_export_keys
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:426,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:427,1
    - Dst: export_key
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:428,1
    - Dst: auto::xxcrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:433,1
    - Dst: auto::xxcrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:436,1
    - Dst: auto::xxcrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:440,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:442,1
    - Dst: can_export_keys
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:442,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:443,1
    - Dst: export_key
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:444,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:448,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:450,1
    - Dst: next_ticket_nonce
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:451,1
    - Dst: Botan::TLS::Ticket_Nonce
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:452,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:453,1
    - Dst: next_ticket_nonce
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:454,1
    - Dst: Botan::TLS::Ticket_Nonce
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:455,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:456,1
    - Dst: next_ticket_nonce
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:457,1
    - Dst: Botan::TLS::Ticket_Nonce
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:458,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:460,1
    - Dst: next_ticket_nonce
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:461,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:465,1
    - Dst: next_ticket_nonce
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:465,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:468,1
    - Dst: psk
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:471,1
    - Dst: Botan::TLS::Ticket_Nonce
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:471,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:473,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:476,1
    - Dst: update_read_keys
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:483,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:484,1
    - Dst: secrets::size
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:484,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:485,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:485,1
    - Dst: update_write_keys
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:487,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:488,1
    - Dst: secrets::size
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:488,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:489,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:489,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:491,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:492,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:494,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:495,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:498,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:498,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:501,1
    - Dst: clear_write_keys
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:503,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:504,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:504,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:505,1
    - Dst: can_decrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:505,1
    - Dst: clear_read_keys
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:507,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:508,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:508,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:509,1
    - Dst: can_decrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:509,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 511
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 511
    functionName: Botan_Tests::test_secret_derivation_rfc8448_rtt1
    functionSourceFile: /src/botan/src/tests/test_tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - clear_read_keys
    - can_encrypt_application_traffic
    - require
    - update_write_keys
    - confirm
    - can_export_keys
    - secrets::contains
    - advance_with_client_finished
    - RFC8448_TestData
    - Botan::TLS::Ciphersuite::from_name
    - Botan_Tests::make_CHECK_both
    - Botan_Tests::Test::flatten_result_lists
    - secrets::at
    - update_read_keys
    - verify_peer_finished_mac
    - Botan::hex_decode
    - CHECK_both
    - finished_mac
    - can_decrypt_application_traffic
    - Botan::TLS::Ticket_Nonce
    - advance_with_server_finished
    - psk
    - test_throws
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - clear_write_keys
    - next_ticket_nonce
    - auto::xxcrypt
    - is_compatible_with
    - test_eq
    - secure_vector<uint8_t>
    - Botan::TLS::Cipher_State::init_with_server_hello
    - secrets::size
    - test_no_throw
    - export_key
    - must_expect_unprotected_alert_traffic
    - test_is_eq
    - Botan::hex_decode_locked
    - auto::get
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_secret_derivation_rfc8448_rtt1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:515,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:521,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:527,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:532,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:536,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:542,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:546,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:552,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:556,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:560,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:564,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:568,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:572,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:576,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:580,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:584,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:591,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:596,1
    - Dst: RFC8448_TestData
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:600,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:602,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:603,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:609,1
    - Dst: RFC8448_TestData
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:618,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:620,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:621,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:625,1
    - Dst: RFC8448_TestData
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:631,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:633,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:634,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:638,1
    - Dst: RFC8448_TestData
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:645,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:647,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:648,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:652,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:657,1
    - Dst: Botan::TLS::Cipher_State::init_with_psk
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:662,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:664,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:664,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:664,1
    - Dst: auto::prf_algo
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:665,1
    - Dst: Botan::TLS::Cipher_State::init_with_psk
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:666,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:668,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:668,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:668,1
    - Dst: auto::prf_algo
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:669,1
    - Dst: Botan_Tests::make_CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:671,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:671,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:671,1
    - Dst: Botan_Tests::Test::flatten_result_lists
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:673,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:674,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:676,1
    - Dst: secrets::size
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:676,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:679,1
    - Dst: psk_binder_mac
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:681,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:682,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:685,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:688,1
    - Dst: is_compatible_with
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:688,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:689,1
    - Dst: is_compatible_with
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:690,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:690,1
    - Dst: is_compatible_with
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:691,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:691,1
    - Dst: is_compatible_with
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:692,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:692,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:694,1
    - Dst: is_compatible_with
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:695,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:695,1
    - Dst: is_compatible_with
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:696,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:696,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:699,1
    - Dst: advance_with_client_hello
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:701,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:702,1
    - Dst: can_export_keys
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:702,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:703,1
    - Dst: export_key
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:704,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:708,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:709,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:711,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:713,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:716,1
    - Dst: secrets::size
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:716,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:717,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:717,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:718,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:719,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:723,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:723,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:724,1
    - Dst: can_decrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:724,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:727,1
    - Dst: advance_with_server_hello
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:730,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:730,1
    - Dst: auto::xxcrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:733,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:736,1
    - Dst: secrets::size
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:736,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:737,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:738,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:739,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:740,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:741,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:742,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:744,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:745,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:751,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:755,1
    - Dst: verify_peer_finished_mac
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:756,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:757,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:758,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:760,1
    - Dst: finished_mac
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:761,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:763,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:764,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:767,1
    - Dst: can_decrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:767,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:768,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:768,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:772,1
    - Dst: advance_with_server_finished
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:773,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:776,1
    - Dst: can_decrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:776,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:777,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:777,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:778,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:779,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:781,1
    - Dst: can_decrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:781,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:782,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:782,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:783,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:784,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:788,1
    - Dst: secrets::size
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:788,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:789,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:789,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:790,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:790,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:791,1
    - Dst: secrets::contains
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:791,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:792,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:792,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:793,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:793,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:794,1
    - Dst: secrets::at
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:794,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:797,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:801,1
    - Dst: finished_mac
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:802,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:805,1
    - Dst: verify_peer_finished_mac
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:806,1
    - Dst: auto::xxcrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:811,1
    - Dst: CHECK_both
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:814,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:818,1
    - Dst: advance_with_client_finished
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:819,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:821,1
    - Dst: can_decrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:821,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:822,1
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:822,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:823,1
    - Dst: must_expect_unprotected_alert_traffic
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:824,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:825,1
    - Dst: can_export_keys
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:825,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:826,1
    - Dst: export_key
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:827,1
    - Dst: auto::xxcrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:831,1
    - Dst: auto::xxcrypt
      Src: /src/botan/src/tests/test_tls_cipher_state.cpp:835,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 837
      start: 513
    functionDepth: 4
    functionLinenumber: 513
    functionLinenumberEnd: 837
    functionName: Botan_Tests::test_secret_derivation_rfc8448_rtt0
    functionSourceFile: /src/botan/src/tests/test_tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - can_encrypt_application_traffic
    - require
    - confirm
    - can_export_keys
    - advance_with_server_hello
    - auto::begin
    - secrets::contains
    - advance_with_client_finished
    - RFC8448_TestData
    - auto::prf_algo
    - Botan::TLS::Ciphersuite::from_name
    - Botan_Tests::make_CHECK_both
    - Botan_Tests::Test::flatten_result_lists
    - secrets::at
    - verify_peer_finished_mac
    - auto::end
    - Botan::hex_decode
    - CHECK_both
    - can_decrypt_application_traffic
    - finished_mac
    - advance_with_server_finished
    - psk_binder_mac
    - auto::xxcrypt
    - is_compatible_with
    - test_eq
    - Botan::TLS::Cipher_State::init_with_psk
    - secure_vector<uint8_t>
    - secrets::size
    - export_key
    - test_no_throw
    - must_expect_unprotected_alert_traffic
    - Botan::hex_decode_locked
    - advance_with_client_hello
    - auto::get
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_secret_derivation_rfc8448_rtt0()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan_Tests::ElGamal_Encrypt_Tests::ElGamal_Encrypt_Tests
    functionSourceFile: /src/botan/src/tests/test_elgamal.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ElGamal_Encrypt_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_elgamal.cpp:28,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/tests/test_elgamal.cpp:29,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_elgamal.cpp:29,1
    - Dst: std::make_unique<Botan::ElGamal_PrivateKey>
      Src: /src/botan/src/tests/test_elgamal.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: Botan_Tests::ElGamal_Encrypt_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_elgamal.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group::from_name
    - get_req_bn
    - get_req_str
    - std::make_unique<Botan::ElGamal_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan_Tests::ElGamal_Decrypt_Tests::ElGamal_Decrypt_Tests
    functionSourceFile: /src/botan/src/tests/test_elgamal.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ElGamal_Decrypt_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_elgamal.cpp:40,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_elgamal.cpp:41,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_elgamal.cpp:42,1
    - Dst: std::make_unique<Botan::ElGamal_PrivateKey>
      Src: /src/botan/src/tests/test_elgamal.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: Botan_Tests::ElGamal_Decrypt_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_elgamal.cpp
    functionUses: 0
    functionsReached:
    - get_req_bn
    - std::make_unique<Botan::ElGamal_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan_Tests::ElGamal_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_elgamal.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan_Tests::ElGamal_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_elgamal.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::ElGamal_PublicKey>
      Src: /src/botan/src/tests/test_elgamal.cpp:59,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/tests/test_elgamal.cpp:59,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_elgamal.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: Botan_Tests::ElGamal_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_elgamal.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::ElGamal_PublicKey>
    - Botan::DL_Group::from_name
    - Botan::BigInt::BigInt
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bs
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan_Tests::OCB_Wide_Test_Block_Cipher::OCB_Wide_Test_Block_Cipher
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OCB_Wide_Test_Block_Cipher(size_t bs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan_Tests::OCB_Wide_Test_Block_Cipher::name
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan_Tests::OCB_Wide_Test_Block_Cipher::block_size
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::OCB_Wide_Test_Block_Cipher::clear
      Src: /src/botan/src/tests/test_ocb.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan_Tests::OCB_Wide_Test_Block_Cipher::clear
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::OCB_Wide_Test_Block_Cipher::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<OCB_Wide_Test_Block_Cipher>
      Src: /src/botan/src/tests/test_ocb.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan_Tests::OCB_Wide_Test_Block_Cipher::new_object
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<OCB_Wide_Test_Block_Cipher>
    linkageType: ''
    returnType: std::unique_ptr<Botan::BlockCipher>
    signature: std::unique_ptr<Botan::BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/test_ocb.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan_Tests::OCB_Wide_Test_Block_Cipher::has_keying_material
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool has_keying_material() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/tests/test_ocb.cpp:42,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/test_ocb.cpp:42,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/test_ocb.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan_Tests::OCB_Wide_Test_Block_Cipher::key_schedule
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - std::span<const uint8_t>::end
    - assign
    linkageType: ''
    returnType: void
    signature: void key_schedule(std::span<const uint8_t> key) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Key_Length_Specification
      Src: /src/botan/src/tests/test_ocb.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan_Tests::OCB_Wide_Test_Block_Cipher::key_spec
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - Botan::Key_Length_Specification
    linkageType: ''
    returnType: Botan::Key_Length_Specification
    signature: Botan::Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_ocb.cpp:48,1
    - Dst: Botan::poly_double_n
      Src: /src/botan/src/tests/test_ocb.cpp:49,1
    - Dst: Botan_Tests::OCB_Wide_Test_Block_Cipher::block_size
      Src: /src/botan/src/tests/test_ocb.cpp:56,1
    - Dst: Botan_Tests::OCB_Wide_Test_Block_Cipher::block_size
      Src: /src/botan/src/tests/test_ocb.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: Botan_Tests::OCB_Wide_Test_Block_Cipher::encrypt_n
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::OCB_Wide_Test_Block_Cipher::block_size
    - Botan::copy_mem
    - Botan::poly_double_n
    linkageType: ''
    returnType: void
    signature: void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_ocb.cpp:79,1
    - Dst: Botan_Tests::OCB_Wide_Test_Block_Cipher::block_size
      Src: /src/botan/src/tests/test_ocb.cpp:93,1
    - Dst: Botan_Tests::OCB_Wide_Test_Block_Cipher::block_size
      Src: /src/botan/src/tests/test_ocb.cpp:94,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 96
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 96
    functionName: Botan_Tests::OCB_Wide_Test_Block_Cipher::decrypt_n
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - Test_Error
    - Botan_Tests::OCB_Wide_Test_Block_Cipher::block_size
    linkageType: ''
    returnType: void
    signature: void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Botan_Tests::OCB_Wide_KAT_Tests::OCB_Wide_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OCB_Wide_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ocb.cpp:110,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ocb.cpp:111,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ocb.cpp:112,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ocb.cpp:113,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ocb.cpp:114,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_ocb.cpp:117,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_ocb.cpp:117,1
    - Dst: std::make_unique<OCB_Wide_Test_Block_Cipher>
      Src: /src/botan/src/tests/test_ocb.cpp:119,1
    - Dst: std::min<size_t>
      Src: /src/botan/src/tests/test_ocb.cpp:119,1
    - Dst: Botan::OCB_Encryption::set_key
      Src: /src/botan/src/tests/test_ocb.cpp:120,1
    - Dst: Botan::OCB_Encryption::set_associated_data
      Src: /src/botan/src/tests/test_ocb.cpp:121,1
    - Dst: Botan::OCB_Encryption::start
      Src: /src/botan/src/tests/test_ocb.cpp:122,1
    - Dst: Botan::OCB_Encryption::finish
      Src: /src/botan/src/tests/test_ocb.cpp:123,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocb.cpp:124,1
    - Dst: std::make_unique<OCB_Wide_Test_Block_Cipher>
      Src: /src/botan/src/tests/test_ocb.cpp:126,1
    - Dst: std::min<size_t>
      Src: /src/botan/src/tests/test_ocb.cpp:126,1
    - Dst: Botan::OCB_Decryption::set_key
      Src: /src/botan/src/tests/test_ocb.cpp:127,1
    - Dst: Botan::OCB_Decryption::set_associated_data
      Src: /src/botan/src/tests/test_ocb.cpp:128,1
    - Dst: Botan::OCB_Decryption::start
      Src: /src/botan/src/tests/test_ocb.cpp:129,1
    - Dst: Botan::OCB_Decryption::finish
      Src: /src/botan/src/tests/test_ocb.cpp:130,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocb.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 134
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 134
    functionName: Botan_Tests::OCB_Wide_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - std::min<size_t>
    - Botan::OCB_Decryption::finish
    - std::make_unique<OCB_Wide_Test_Block_Cipher>
    - Botan::OCB_Decryption::set_key
    - std::vector::begin
    - Botan::OCB_Encryption::set_associated_data
    - Botan::OCB_Encryption::start
    - Botan::OCB_Encryption::set_key
    - Botan::OCB_Decryption::start
    - get_req_bin
    - Botan::OCB_Decryption::set_associated_data
    - std::vector::end
    - Botan::OCB_Encryption::finish
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan_Tests::OCB_Wide_Long_KAT_Tests::OCB_Wide_Long_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OCB_Wide_Long_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ocb.cpp:146,1
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/tests/test_ocb.cpp:153,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_ocb.cpp:168,1
    - Dst: std::make_unique<OCB_Wide_Test_Block_Cipher>
      Src: /src/botan/src/tests/test_ocb.cpp:170,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_ocb.cpp:173,1
    - Dst: std::min<size_t>
      Src: /src/botan/src/tests/test_ocb.cpp:173,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_ocb.cpp:197,1
    - Dst: Botan::OCB_Encryption::set_key
      Src: /src/botan/src/tests/test_ocb.cpp:200,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ocb.cpp:208,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_ocb.cpp:209,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_ocb.cpp:212,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_ocb.cpp:212,1
    - Dst: Botan_Tests::OCB_Wide_Long_KAT_Tests::ocb_encrypt
      Src: /src/botan/src/tests/test_ocb.cpp:214,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_ocb.cpp:215,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_ocb.cpp:215,1
    - Dst: Botan_Tests::OCB_Wide_Long_KAT_Tests::ocb_encrypt
      Src: /src/botan/src/tests/test_ocb.cpp:216,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_ocb.cpp:217,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_ocb.cpp:217,1
    - Dst: Botan_Tests::OCB_Wide_Long_KAT_Tests::ocb_encrypt
      Src: /src/botan/src/tests/test_ocb.cpp:218,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_ocb.cpp:221,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_ocb.cpp:221,1
    - Dst: Botan_Tests::OCB_Wide_Long_KAT_Tests::ocb_encrypt
      Src: /src/botan/src/tests/test_ocb.cpp:223,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocb.cpp:225,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 228
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 228
    functionName: Botan_Tests::OCB_Wide_Long_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - std::min<size_t>
    - std::vector::size
    - std::make_unique<OCB_Wide_Test_Block_Cipher>
    - Botan::BlockCipher::create_or_throw
    - Botan::store_be
    - Botan_Tests::OCB_Wide_Long_KAT_Tests::ocb_encrypt
    - Test_Error
    - std::move
    - get_req_bin
    - Botan::OCB_Encryption::set_key
    - Test::Result::test_eq
    - static_cast<uint8_t>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_associated_data
      Src: /src/botan/src/tests/test_ocb.cpp:237,1
    - Dst: data
      Src: /src/botan/src/tests/test_ocb.cpp:237,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocb.cpp:237,1
    - Dst: start
      Src: /src/botan/src/tests/test_ocb.cpp:238,1
    - Dst: data
      Src: /src/botan/src/tests/test_ocb.cpp:238,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocb.cpp:238,1
    - Dst: begin
      Src: /src/botan/src/tests/test_ocb.cpp:239,1
    - Dst: end
      Src: /src/botan/src/tests/test_ocb.cpp:239,1
    - Dst: finish
      Src: /src/botan/src/tests/test_ocb.cpp:240,1
    - Dst: insert
      Src: /src/botan/src/tests/test_ocb.cpp:241,1
    - Dst: end
      Src: /src/botan/src/tests/test_ocb.cpp:241,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/tests/test_ocb.cpp:241,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_ocb.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' output_to'
    - ' enc'
    - ' nonce'
    - ' pt'
    - ' ad'
    argTypes:
    - std::vector<uint8_t>
    - Botan::OCB_Encryption
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 242
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 242
    functionName: Botan_Tests::OCB_Wide_Long_KAT_Tests::ocb_encrypt
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 1
    functionsReached:
    - Botan::secure_vector::begin
    - begin
    - data
    - Botan::secure_vector::end
    - size
    - end
    - start
    - finish
    - insert
    - set_associated_data
    linkageType: ''
    returnType: void
    signature: "void ocb_encrypt(Test::Result& /*result*/,\n                              std::vector<uint8_t>&
      output_to,\n                              Botan::OCB_Encryption& enc,\n                              const
      std::vector<uint8_t>& nonce,\n                              const std::vector<uint8_t>&
      pt,\n                              const std::vector<uint8_t>& ad)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: Botan_Tests::OCB_Long_KAT_Tests::OCB_Long_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OCB_Long_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ocb.cpp:256,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_ocb.cpp:260,1
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/tests/test_ocb.cpp:264,1
    - Dst: auto::new_object
      Src: /src/botan/src/tests/test_ocb.cpp:266,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_ocb.cpp:267,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_ocb.cpp:270,1
    - Dst: Botan::OCB_Encryption::set_key
      Src: /src/botan/src/tests/test_ocb.cpp:272,1
    - Dst: Botan::OCB_Decryption::set_key
      Src: /src/botan/src/tests/test_ocb.cpp:273,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_ocb.cpp:282,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_ocb.cpp:282,1
    - Dst: Botan_Tests::OCB_Long_KAT_Tests::ocb_encrypt
      Src: /src/botan/src/tests/test_ocb.cpp:284,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_ocb.cpp:285,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_ocb.cpp:285,1
    - Dst: Botan_Tests::OCB_Long_KAT_Tests::ocb_encrypt
      Src: /src/botan/src/tests/test_ocb.cpp:286,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_ocb.cpp:287,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_ocb.cpp:287,1
    - Dst: Botan_Tests::OCB_Long_KAT_Tests::ocb_encrypt
      Src: /src/botan/src/tests/test_ocb.cpp:288,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/test_ocb.cpp:291,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_ocb.cpp:291,1
    - Dst: Botan_Tests::OCB_Long_KAT_Tests::ocb_encrypt
      Src: /src/botan/src/tests/test_ocb.cpp:293,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ocb.cpp:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 298
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 298
    functionName: Botan_Tests::OCB_Long_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - auto::new_object
    - Botan::OCB_Decryption::set_key
    - Botan::BlockCipher::create_or_throw
    - std::to_string
    - Botan::store_be
    - static_cast<uint32_t>
    - Botan_Tests::OCB_Long_KAT_Tests::ocb_encrypt
    - std::move
    - get_req_bin
    - Botan::OCB_Encryption::set_key
    - Test::Result::test_eq
    - static_cast<uint8_t>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_associated_data
      Src: /src/botan/src/tests/test_ocb.cpp:308,1
    - Dst: data
      Src: /src/botan/src/tests/test_ocb.cpp:308,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocb.cpp:308,1
    - Dst: start
      Src: /src/botan/src/tests/test_ocb.cpp:310,1
    - Dst: data
      Src: /src/botan/src/tests/test_ocb.cpp:310,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocb.cpp:310,1
    - Dst: begin
      Src: /src/botan/src/tests/test_ocb.cpp:312,1
    - Dst: end
      Src: /src/botan/src/tests/test_ocb.cpp:312,1
    - Dst: finish
      Src: /src/botan/src/tests/test_ocb.cpp:313,1
    - Dst: insert
      Src: /src/botan/src/tests/test_ocb.cpp:314,1
    - Dst: end
      Src: /src/botan/src/tests/test_ocb.cpp:314,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/tests/test_ocb.cpp:314,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_ocb.cpp:314,1
    - Dst: set_associated_data
      Src: /src/botan/src/tests/test_ocb.cpp:317,1
    - Dst: data
      Src: /src/botan/src/tests/test_ocb.cpp:317,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocb.cpp:317,1
    - Dst: start
      Src: /src/botan/src/tests/test_ocb.cpp:319,1
    - Dst: data
      Src: /src/botan/src/tests/test_ocb.cpp:319,1
    - Dst: size
      Src: /src/botan/src/tests/test_ocb.cpp:319,1
    - Dst: finish
      Src: /src/botan/src/tests/test_ocb.cpp:321,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ocb.cpp:323,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_ocb.cpp:325,1
    - Dst: what
      Src: /src/botan/src/tests/test_ocb.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 7
    argNames:
    - ' result'
    - ' output_to'
    - ' enc'
    - ' dec'
    - ' nonce'
    - ' pt'
    - ' ad'
    argTypes:
    - Test::Result
    - std::vector<uint8_t>
    - Botan::AEAD_Mode
    - Botan::AEAD_Mode
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 327
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 327
    functionName: Botan_Tests::OCB_Long_KAT_Tests::ocb_encrypt
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 1
    functionsReached:
    - Botan::secure_vector::begin
    - what
    - begin
    - data
    - Botan::secure_vector::end
    - test_eq
    - test_failure
    - size
    - end
    - start
    - finish
    - insert
    - set_associated_data
    linkageType: ''
    returnType: void
    signature: "void ocb_encrypt(Test::Result& result,\n                              std::vector<uint8_t>&
      output_to,\n                              Botan::AEAD_Mode& enc,\n                              Botan::AEAD_Mode&
      dec,\n                              const std::vector<uint8_t>& nonce,\n                              const
      std::vector<uint8_t>& pt,\n                              const std::vector<uint8_t>&
      ad)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - bs
    - parallelism
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    functionName: Botan_Tests::OCB_Null_Cipher::OCB_Null_Cipher
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OCB_Null_Cipher(size_t bs, size_t parallelism)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: Botan_Tests::OCB_Null_Cipher::name
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: Botan_Tests::OCB_Null_Cipher::block_size
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: Botan_Tests::OCB_Null_Cipher::clear
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<OCB_Null_Cipher>
      Src: /src/botan/src/tests/test_ocb.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: Botan_Tests::OCB_Null_Cipher::new_object
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<OCB_Null_Cipher>
    linkageType: ''
    returnType: std::unique_ptr<Botan::BlockCipher>
    signature: std::unique_ptr<Botan::BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: Botan_Tests::OCB_Null_Cipher::has_keying_material
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_keying_material() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 355
    functionName: Botan_Tests::OCB_Null_Cipher::key_schedule
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void key_schedule(std::span<const uint8_t>) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Key_Length_Specification
      Src: /src/botan/src/tests/test_ocb.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: Botan_Tests::OCB_Null_Cipher::key_spec
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - Botan::Key_Length_Specification
    linkageType: ''
    returnType: Botan::Key_Length_Specification
    signature: Botan::Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_ocb.cpp:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: Botan_Tests::OCB_Null_Cipher::encrypt_n
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - Botan::copy_mem
    linkageType: ''
    returnType: void
    signature: void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_ocb.cpp:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: Botan_Tests::OCB_Null_Cipher::decrypt_n
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - Botan::copy_mem
    linkageType: ''
    returnType: void
    signature: void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 371
    functionName: Botan_Tests::OCB_Null_Cipher::parallelism
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t parallelism() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OCB_Encryption::set_key
      Src: /src/botan/src/tests/test_ocb.cpp:402,1
    - Dst: Botan::OCB_Encryption::start
      Src: /src/botan/src/tests/test_ocb.cpp:403,1
    - Dst: Botan::OCB_Encryption::update
      Src: /src/botan/src/tests/test_ocb.cpp:408,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ocb.cpp:413,1
    - Dst: Botan::OCB_Encryption::update
      Src: /src/botan/src/tests/test_ocb.cpp:414,1
    - Dst: Botan::OCB_Encryption::finish
      Src: /src/botan/src/tests/test_ocb.cpp:418,1
    - Dst: std::make_unique<OCB_Null_Cipher>
      Src: /src/botan/src/tests/test_ocb.cpp:421,1
    - Dst: Botan::OCB_Decryption::set_key
      Src: /src/botan/src/tests/test_ocb.cpp:422,1
    - Dst: Botan::OCB_Decryption::start
      Src: /src/botan/src/tests/test_ocb.cpp:423,1
    - Dst: Botan::OCB_Decryption::update
      Src: /src/botan/src/tests/test_ocb.cpp:425,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ocb.cpp:428,1
    - Dst: Botan::OCB_Decryption::update
      Src: /src/botan/src/tests/test_ocb.cpp:429,1
    - Dst: Botan::OCB_Decryption::finish
      Src: /src/botan/src/tests/test_ocb.cpp:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 435
    functionName: Botan_Tests::test_ocb_crash_regression
    functionSourceFile: /src/botan/src/tests/test_ocb.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<OCB_Null_Cipher>
    - Botan::OCB_Decryption::set_key
    - Botan::OCB_Decryption::finish
    - std::vector::resize
    - Botan::OCB_Encryption::start
    - Botan::OCB_Encryption::update
    - Botan::OCB_Decryption::start
    - Botan::OCB_Decryption::update
    - Botan::OCB_Encryption::set_key
    - Botan::OCB_Encryption::finish
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ocb_crash_regression()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: Botan_Tests::ECDSA_Verification_Tests::ECDSA_Verification_Tests
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_Verification_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan_Tests::ECDSA_Verification_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecdsa.cpp:34,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan_Tests::ECDSA_Verification_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - get_req_str
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:38,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdsa.cpp:39,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdsa.cpp:40,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecdsa.cpp:41,1
    - Dst: Botan::EC_AffinePoint::from_bigint_xy
      Src: /src/botan/src/tests/test_ecdsa.cpp:43,1
    - Dst: std::make_unique<Botan::ECDSA_PublicKey>
      Src: /src/botan/src/tests/test_ecdsa.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: Botan_Tests::ECDSA_Verification_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_AffinePoint::from_bigint_xy
    - get_req_str
    - std::make_unique<Botan::ECDSA_PublicKey>
    - Botan::EC_Group::from_name
    - get_req_bn
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan_Tests::ECDSA_Verification_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& /*unused*/) const override
  - 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: Botan_Tests::ECDSA_Wycheproof_Verification_Tests::ECDSA_Wycheproof_Verification_Tests
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_Wycheproof_Verification_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Botan_Tests::ECDSA_Wycheproof_Verification_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan_Tests::ECDSA_Wycheproof_Verification_Tests::sig_format
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::Signature_Format
    signature: Botan::Signature_Format sig_format() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan_Tests::ECDSA_Wycheproof_Verification_Tests::test_random_invalid_sigs
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool test_random_invalid_sigs() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecdsa.cpp:64,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan_Tests::ECDSA_Wycheproof_Verification_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - get_req_str
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:68,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdsa.cpp:69,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdsa.cpp:70,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecdsa.cpp:71,1
    - Dst: Botan::EC_AffinePoint::from_bigint_xy
      Src: /src/botan/src/tests/test_ecdsa.cpp:73,1
    - Dst: std::make_unique<Botan::ECDSA_PublicKey>
      Src: /src/botan/src/tests/test_ecdsa.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: Botan_Tests::ECDSA_Wycheproof_Verification_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_AffinePoint::from_bigint_xy
    - get_req_str
    - std::make_unique<Botan::ECDSA_PublicKey>
    - Botan::EC_Group::from_name
    - get_req_bn
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan_Tests::ECDSA_Wycheproof_Verification_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecdsa.cpp:98,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: Botan_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - get_req_str
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:102,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdsa.cpp:103,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecdsa.cpp:104,1
    - Dst: std::make_unique<Botan::ECDSA_PrivateKey>
      Src: /src/botan/src/tests/test_ecdsa.cpp:106,1
    - Dst: Botan_Tests::rng
      Src: /src/botan/src/tests/test_ecdsa.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: Botan_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::rng
    - get_req_str
    - std::make_unique<Botan::ECDSA_PrivateKey>
    - Botan::EC_Group::from_name
    - get_req_bn
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: Botan_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_Position_RNG>
      Src: /src/botan/src/tests/test_ecdsa.cpp:115,1
    - Dst: Botan_Tests::rng
      Src: /src/botan/src/tests/test_ecdsa.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: Botan_Tests::test_rng
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::rng
    - std::make_unique<Fixed_Output_Position_RNG>
    linkageType: ''
    returnType: std::unique_ptr<Botan::RandomNumberGenerator>
    signature: std::unique_ptr<Botan::RandomNumberGenerator> test_rng(const std::vector<uint8_t>&
      nonce) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/botan/src/tests/test_ecdsa.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: Botan_Tests::ECDSA_KAT_Verification_Tests
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - defined
    linkageType: ''
    returnType: void
    signature: void ECDSA_KAT_Verification_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: Botan_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecdsa.cpp:137,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Botan_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - get_req_str
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:141,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdsa.cpp:142,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecdsa.cpp:143,1
    - Dst: Botan_Tests::rng
      Src: /src/botan/src/tests/test_ecdsa.cpp:145,1
    - Dst: Botan::ECDSA_PrivateKey::public_key
      Src: /src/botan/src/tests/test_ecdsa.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: Botan_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::rng
    - get_req_str
    - Botan::ECDSA_PrivateKey::public_key
    - Botan::EC_Group::from_name
    - get_req_bn
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: Botan_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: ECDSA_Sign_Verify_DER_Test::ECDSA_Sign_Verify_DER_Test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_Sign_Verify_DER_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_ecdsa.cpp:158,1
    - Dst: ECDSA_Sign_Verify_DER_Test::rng
      Src: /src/botan/src/tests/test_ecdsa.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: ECDSA_Sign_Verify_DER_Test::key
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - ECDSA_Sign_Verify_DER_Test::rng
    - Botan::create_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> key() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/test_ecdsa.cpp:165,1
    - Dst: std::vector<std::string>
      Src: /src/botan/src/tests/test_ecdsa.cpp:166,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_ecdsa.cpp:166,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_ecdsa.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: ECDSA_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - auto::end
    - auto::begin
    - std::vector<std::string>
    - Botan::EC_Group::known_named_groups
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: ECDSA_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::EC_Group
      Src: /src/botan/src/tests/test_ecdsa.cpp:174,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/tests/test_ecdsa.cpp:175,1
    - Dst: std::make_unique<Botan::ECDSA_PublicKey>
      Src: /src/botan/src/tests/test_ecdsa.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: ECDSA_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::EC_Group
    - std::make_unique<Botan::ECDSA_PublicKey>
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: ECDSA_Keygen_Stability_Tests::ECDSA_Keygen_Stability_Tests
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_Keygen_Stability_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: ECDSA_Key_Recovery_Tests::ECDSA_Key_Recovery_Tests
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_Key_Recovery_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecdsa.cpp:192,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: ECDSA_Key_Recovery_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - get_req_str
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:198,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecdsa.cpp:199,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdsa.cpp:201,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdsa.cpp:202,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecdsa.cpp:204,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecdsa.cpp:205,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecdsa.cpp:209,1
    - Dst: Botan::ECDSA_PublicKey::public_key_bits
      Src: /src/botan/src/tests/test_ecdsa.cpp:209,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecdsa.cpp:212,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_ecdsa.cpp:212,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_ecdsa.cpp:212,1
    - Dst: Botan::BigInt::encode_fixed_length_int_pair
      Src: /src/botan/src/tests/test_ecdsa.cpp:216,1
    - Dst: auto::get_order_bytes
      Src: /src/botan/src/tests/test_ecdsa.cpp:216,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ecdsa.cpp:218,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_ecdsa.cpp:218,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ecdsa.cpp:220,1
    - Dst: what
      Src: /src/botan/src/tests/test_ecdsa.cpp:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 224
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 224
    functionName: ECDSA_Key_Recovery_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan::BigInt::encode_fixed_length_int_pair
    - Botan::ECDSA_PublicKey::public_key_bits
    - Botan::PK_Verifier::verify_message
    - what
    - Test::Result::confirm
    - static_cast<size_t>
    - Test::Result::test_failure
    - get_req_bin
    - Botan::EC_Group::from_name
    - Test::Result::test_eq
    - get_req_bn
    - auto::get_order_bytes
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: ECDSA_Invalid_Key_Tests::ECDSA_Invalid_Key_Tests
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_Invalid_Key_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: ECDSA_Invalid_Key_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecdsa.cpp:238,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: ECDSA_Invalid_Key_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - get_req_str
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecdsa.cpp:244,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecdsa.cpp:245,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdsa.cpp:246,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecdsa.cpp:247,1
    - Dst: Botan::EC_AffinePoint::from_bigint_xy
      Src: /src/botan/src/tests/test_ecdsa.cpp:249,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ecdsa.cpp:250,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_ecdsa.cpp:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 256
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 256
    functionName: ECDSA_Invalid_Key_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_AffinePoint::from_bigint_xy
    - get_req_str
    - Test::Result::test_failure
    - Botan::EC_Group::from_name
    - get_req_bn
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/test_ecdsa.cpp:267,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_ecdsa.cpp:270,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecdsa.cpp:272,1
    - Dst: Botan::ECDSA_PrivateKey::public_key
      Src: /src/botan/src/tests/test_ecdsa.cpp:275,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_ecdsa.cpp:278,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecdsa.cpp:287,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecdsa.cpp:287,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_ecdsa.cpp:288,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecdsa.cpp:288,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecdsa.cpp:289,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ecdsa.cpp:289,1
    - Dst: auto::get_order_bytes
      Src: /src/botan/src/tests/test_ecdsa.cpp:289,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ecdsa.cpp:291,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_ecdsa.cpp:291,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_ecdsa.cpp:293,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecdsa.cpp:293,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ecdsa.cpp:294,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_ecdsa.cpp:294,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_ecdsa.cpp:296,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ecdsa.cpp:296,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ecdsa.cpp:297,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_ecdsa.cpp:297,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ecdsa.cpp:300,1
    - Dst: what
      Src: /src/botan/src/tests/test_ecdsa.cpp:300,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_ecdsa.cpp:304,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ecdsa.cpp:305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 309
    functionName: ECDSA_AllGroups_Test::run
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::end_timer
    - Test::Result::start_timer
    - Botan::PK_Verifier::verify_message
    - Botan::EC_Group::known_named_groups
    - what
    - Test::Result::confirm
    - Botan::HashFunction::create
    - Botan::ECDSA_PrivateKey::public_key
    - mutate_vec
    - Test::Result::test_failure
    - std::vector::push_back
    - rng
    - Botan::EC_Group::from_name
    - auto::size
    - Test::Result::test_eq
    - Botan::PK_Signer::sign_message
    - auto::get_order_bytes
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: ECDSA_ExplicitCurveKey_Test::ECDSA_ExplicitCurveKey_Test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_ExplicitCurveKey_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: ECDSA_ExplicitCurveKey_Test::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecdsa.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: ECDSA_ExplicitCurveKey_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& group, const VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ecdsa.cpp:325,1
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/tests/test_ecdsa.cpp:328,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_ecdsa.cpp:330,1
    - Dst: dynamic_cast<const Botan::ECDSA_PrivateKey*>
      Src: /src/botan/src/tests/test_ecdsa.cpp:331,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_ecdsa.cpp:331,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_ecdsa.cpp:333,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ecdsa.cpp:335,1
    - Dst: auto::domain
      Src: /src/botan/src/tests/test_ecdsa.cpp:338,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ecdsa.cpp:339,1
    - Dst: used_explicit_encoding
      Src: /src/botan/src/tests/test_ecdsa.cpp:339,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ecdsa.cpp:341,1
    - Dst: get_curve_oid
      Src: /src/botan/src/tests/test_ecdsa.cpp:341,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ecdsa.cpp:344,1
    - Dst: what
      Src: /src/botan/src/tests/test_ecdsa.cpp:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' group_name'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 348
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 348
    functionName: ECDSA_ExplicitCurveKey_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_name
    - dynamic_cast<const Botan::ECDSA_PrivateKey*>
    - Botan::PKCS8::load_key
    - what
    - Test::Result::confirm
    - auto::domain
    - used_explicit_encoding
    - Test::Result::test_failure
    - get_curve_oid
    - get_req_bin
    - Test::Result::test_eq
    - auto::get
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& group_name, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::TLS::Strict_Policy_Without_TLS13::allow_tls13
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allow_tls13() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::Certificate_Store_In_Memory>
      Src: /src/botan/src/tests/unit_tls.cpp:72,1
    - Dst: auto::add_certificate
      Src: /src/botan/src/tests/unit_tls.cpp:73,1
    - Dst: auto::add_certificate
      Src: /src/botan/src/tests/unit_tls.cpp:74,1
    - Dst: auto::add_crl
      Src: /src/botan/src/tests/unit_tls.cpp:75,1
    - Dst: auto::add_crl
      Src: /src/botan/src/tests/unit_tls.cpp:76,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_tls.cpp:78,1
    - Dst: std::move
      Src: /src/botan/src/tests/unit_tls.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 9
    argNames:
    - with_client_certs
    - ' rsa_cert'
    - rsa_key
    - ' rsa_ca'
    - ' rsa_crl'
    - ' ecdsa_cert'
    - ecdsa_key
    - ' ecdsa_ca'
    - ' ecdsa_crl'
    argTypes:
    - bool
    - Botan::X509_Certificate
    - Botan::Private_Key*
    - Botan::X509_Certificate
    - Botan::X509_CRL
    - Botan::X509_Certificate
    - Botan::Private_Key*
    - Botan::X509_Certificate
    - Botan::X509_CRL
    constantsTouched: []
    func_position:
      end: 80
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 80
    functionName: Botan_Tests::Credentials_Manager_Test::Credentials_Manager_Test
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::Certificate_Store_In_Memory>
    - push_back
    - std::move
    - auto::add_certificate
    - auto::add_crl
    linkageType: ''
    returnType: void
    signature: "void Credentials_Manager_Test(bool with_client_certs,\n                               const
      Botan::X509_Certificate& rsa_cert,\n                               Botan::Private_Key*
      rsa_key,\n                               const Botan::X509_Certificate& rsa_ca,\n
      \                              const Botan::X509_CRL& rsa_crl,\n                               const
      Botan::X509_Certificate& ecdsa_cert,\n                               Botan::Private_Key*
      ecdsa_key,\n                               const Botan::X509_Certificate& ecdsa_ca,\n
      \                              const Botan::X509_CRL& ecdsa_crl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/tests/unit_tls.cpp:85,1
    - Dst: size
      Src: /src/botan/src/tests/unit_tls.cpp:85,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_tls.cpp:87,1
    - Dst: get
      Src: /src/botan/src/tests/unit_tls.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: Botan_Tests::Credentials_Manager_Test::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - get
    - std::vector::push_back
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: std::vector<Botan::Certificate_Store*>
    signature: "std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(const
      std::string& /*type*/,\n                                                                             const
      std::string& /*context*/) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/unit_tls.cpp:97,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:100,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_tls.cpp:107,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_tls.cpp:108,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_tls.cpp:111,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_tls.cpp:112,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - ' cert_key_types'
    - ' acceptable_CAs'
    - ' type'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - std::vector<Botan::X509_DN>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 119
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 119
    functionName: Botan_Tests::Credentials_Manager_Test::find_cert_chain
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::vector::push_back
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::vector<Botan::X509_Certificate>
    signature: "std::vector<Botan::X509_Certificate> find_cert_chain(const std::vector<std::string>&
      cert_key_types,\n                                                           const
      std::vector<Botan::AlgorithmIdentifier>& /*unused*/,\n                                                           const
      std::vector<Botan::X509_DN>& acceptable_CAs,\n                                                           const
      std::string& type,\n                                                           const
      std::string& context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' crt'
    argTypes:
    - Botan::X509_Certificate
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: Botan_Tests::Credentials_Manager_Test::private_key_for
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Botan::Private_Key>
    signature: "std::shared_ptr<Botan::Private_Key> private_key_for(const Botan::X509_Certificate&
      crt,\n                                                          const std::string&
      /*type*/,\n                                                          const std::string&
      /*context*/) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/unit_tls.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: Botan_Tests::Credentials_Manager_Test::session_ticket_key
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> session_ticket_key() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/unit_tls.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: Botan_Tests::Credentials_Manager_Test::dtls_cookie_secret
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> dtls_cookie_secret() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:146,1
    - Dst: Botan_Tests::Credentials_Manager_Test::find_preshared_keys
      Src: /src/botan/src/tests/unit_tls.cpp:147,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_tls.cpp:156,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/unit_tls.cpp:157,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_tls.cpp:161,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/unit_tls.cpp:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - host
    - whoami
    argTypes:
    - std::string_view
    - Botan::TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 167
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 167
    functionName: Botan_Tests::Credentials_Manager_Test::find_preshared_keys
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 1
    functionsReached:
    - std::vector::emplace_back
    - empty
    - Botan::hex_decode_locked
    - Botan_Tests::Credentials_Manager_Test::find_preshared_keys
    linkageType: ''
    returnType: std::vector<Botan::TLS::ExternalPSK>
    signature: "std::vector<Botan::TLS::ExternalPSK> find_preshared_keys(\n         std::string_view
      host,\n         Botan::TLS::Connection_Side whoami,\n         const std::vector<std::string>&
      identities = {},\n         const std::optional<std::string>& prf = std::nullopt)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '& get_acceptable_cas() const'
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::X509_DN>
    signature: std::vector<Botan::X509_DN> & get_acceptable_cas() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/unit_tls.cpp:186,1
    - Dst: std::make_unique<Botan::RSA_PrivateKey>
      Src: /src/botan/src/tests/unit_tls.cpp:189,1
    - Dst: std::make_unique<Botan::RSA_PrivateKey>
      Src: /src/botan/src/tests/unit_tls.cpp:190,1
    - Dst: std::make_unique<Botan::ECDSA_PrivateKey>
      Src: /src/botan/src/tests/unit_tls.cpp:192,1
    - Dst: std::make_unique<Botan::ECDSA_PrivateKey>
      Src: /src/botan/src/tests/unit_tls.cpp:193,1
    - Dst: Botan::X509_Cert_Options::CA_key
      Src: /src/botan/src/tests/unit_tls.cpp:197,1
    - Dst: Botan::X509_Cert_Options::CA_key
      Src: /src/botan/src/tests/unit_tls.cpp:198,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_tls.cpp:201,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/tests/unit_tls.cpp:203,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_tls.cpp:207,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/tests/unit_tls.cpp:208,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/unit_tls.cpp:214,1
    - Dst: years
      Src: /src/botan/src/tests/unit_tls.cpp:217,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_tls.cpp:219,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/tests/unit_tls.cpp:220,1
    - Dst: Botan::X509_CA::new_crl
      Src: /src/botan/src/tests/unit_tls.cpp:222,1
    - Dst: Botan::X509_CA::new_crl
      Src: /src/botan/src/tests/unit_tls.cpp:223,1
    - Dst: std::make_shared<Credentials_Manager_Test>
      Src: /src/botan/src/tests/unit_tls.cpp:225,1
    - Dst: auto::release
      Src: /src/botan/src/tests/unit_tls.cpp:227,1
    - Dst: auto::release
      Src: /src/botan/src/tests/unit_tls.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 234
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 234
    functionName: Botan_Tests::create_creds
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - std::make_unique<Botan::RSA_PrivateKey>
    - Botan::X509_CA::new_crl
    - auto::release
    - Botan::X509_CA::sign_request
    - Botan::X509::create_self_signed_cert
    - std::make_unique<Botan::ECDSA_PrivateKey>
    - std::make_shared<Credentials_Manager_Test>
    - Botan::EC_Group::from_name
    - Botan::X509::create_cert_req
    - years
    - Botan::X509_Cert_Options::CA_key
    linkageType: ''
    returnType: std::shared_ptr<Credentials_Manager_Test>
    signature: "std::shared_ptr<Credentials_Manager_Test> create_creds(Botan::RandomNumberGenerator&
      rng,\n                                                       bool with_client_certs
      = false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Test_Callbacks>
      Src: /src/botan/src/tests/unit_tls.cpp:254,1
    - Dst: std::make_shared<Test_Callbacks>
      Src: /src/botan/src/tests/unit_tls.cpp:255,1
    - Dst: std::make_unique<Botan::TLS::Server>
      Src: /src/botan/src/tests/unit_tls.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - ' test_descr'
    - offer_version
    - ' creds'
    - ' client_policy'
    - ' server_policy'
    - ' rng'
    - ' client_sessions'
    - ' server_sessions'
    - expect_client_auth
    argTypes:
    - std::string
    - Botan::TLS::Protocol_Version
    - std::shared_ptr<Credentials_Manager_Test>
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<Botan::RandomNumberGenerator>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - bool
    constantsTouched: []
    func_position:
      end: 261
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 261
    functionName: Botan_Tests::TLS_Handshake_Test::TLS_Handshake_Test
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::TLS::Server>
    - std::make_shared<Test_Callbacks>
    linkageType: ''
    returnType: void
    signature: "void TLS_Handshake_Test(const std::string& test_descr,\n                         Botan::TLS::Protocol_Version
      offer_version,\n                         const std::shared_ptr<Credentials_Manager_Test>&
      creds,\n                         const std::shared_ptr<const Botan::TLS::Policy>&
      client_policy,\n                         const std::shared_ptr<const Botan::TLS::Policy>&
      server_policy,\n                         const std::shared_ptr<Botan::RandomNumberGenerator>&
      rng,\n                         const std::shared_ptr<Botan::TLS::Session_Manager>&
      client_sessions,\n                         const std::shared_ptr<Botan::TLS::Session_Manager>&
      server_sessions,\n                         bool expect_client_auth)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: '& results() const'
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result & results() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/tests/unit_tls.cpp:269,1
    - Dst: set_custom_tls_session_established_callback
      Src: /src/botan/src/tests/unit_tls.cpp:270,1
    - Dst: std::move
      Src: /src/botan/src/tests/unit_tls.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - clbk
    argTypes:
    - std::function<void(const Botan::TLS::Session_Summary&)>
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: Botan_Tests::TLS_Handshake_Test::set_custom_client_tls_session_established_callback
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - set_custom_tls_session_established_callback
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void set_custom_client_tls_session_established_callback(\n         std::function<void(const
      Botan::TLS::Session_Summary&)> clbk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/tests/unit_tls.cpp:275,1
    - Dst: set_custom_tls_session_established_callback
      Src: /src/botan/src/tests/unit_tls.cpp:276,1
    - Dst: std::move
      Src: /src/botan/src/tests/unit_tls.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - clbk
    argTypes:
    - std::function<void(const Botan::TLS::Session_Summary&)>
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: Botan_Tests::TLS_Handshake_Test::set_custom_server_tls_session_established_callback
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - set_custom_tls_session_established_callback
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void set_custom_server_tls_session_established_callback(\n         std::function<void(const
      Botan::TLS::Session_Summary&)> clbk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/tests/unit_tls.cpp:280,1
    - Dst: set_expected_handshake_alert
      Src: /src/botan/src/tests/unit_tls.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: Botan_Tests::TLS_Handshake_Test::set_client_expected_handshake_alert
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - set_expected_handshake_alert
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void set_client_expected_handshake_alert(Botan::TLS::Alert alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/tests/unit_tls.cpp:285,1
    - Dst: set_expected_handshake_alert
      Src: /src/botan/src/tests/unit_tls.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: Botan_Tests::TLS_Handshake_Test::set_server_expected_handshake_alert
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - set_expected_handshake_alert
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void set_server_expected_handshake_alert(Botan::TLS::Alert alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Botan::TLS::Extension_Code>
      Src: /src/botan/src/tests/unit_tls.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Extension::static_type
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Botan::TLS::Extension_Code>
    linkageType: ''
    returnType: Botan::TLS::Extension_Code
    signature: Botan::TLS::Extension_Code static_type()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Extension::static_type
      Src: /src/botan/src/tests/unit_tls.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Extension::type
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::TLS_Handshake_Test::Test_Extension::static_type
    linkageType: ''
    returnType: Botan::TLS::Extension_Code
    signature: Botan::TLS::Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Extension::serialize
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize(Botan::TLS::Connection_Side /*whoami*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: '& value() const'
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 303
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Extension::empty
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::append_tls_length_value
      Src: /src/botan/src/tests/unit_tls.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - side
    argTypes:
    - Botan::TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Extension::Test_Extension
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::append_tls_length_value
    linkageType: ''
    returnType: void
    signature: void Test_Extension(Botan::TLS::Connection_Side side)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' results'
    - expected_version
    - ' outbound'
    - ' recv_buf'
    argTypes:
    - Test::Result
    - Botan::TLS::Protocol_Version
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::Test_Callbacks
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Test_Callbacks(Test::Result& results,\n                           Botan::TLS::Protocol_Version
      expected_version,\n                           std::vector<uint8_t>& outbound,\n
      \                          std::vector<uint8_t>& recv_buf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::Test_Callbacks
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Callbacks(Test_Callbacks&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 326
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::Test_Callbacks
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Callbacks(const Test_Callbacks&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: '& operator=(const Test_Callbacks&)'
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Test_Callbacks
    signature: Test_Callbacks & operator=(const Test_Callbacks&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: '& operator=(Test_Callbacks&&)'
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Test_Callbacks
    signature: Test_Callbacks & operator=(Test_Callbacks&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/tests/unit_tls.cpp:331,1
    - Dst: test_failure
      Src: /src/botan/src/tests/unit_tls.cpp:332,1
    - Dst: type_string
      Src: /src/botan/src/tests/unit_tls.cpp:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: ~Test_Callbacks() override
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - test_failure
    - type_string
    linkageType: ''
    returnType: void
    signature: void ~Test_Callbacks() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/tests/unit_tls.cpp:338,1
    - Dst: end
      Src: /src/botan/src/tests/unit_tls.cpp:338,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/unit_tls.cpp:338,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/unit_tls.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - end
    - std::span<const uint8_t>::end
    - insert
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t> bits) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/tests/unit_tls.cpp:342,1
    - Dst: end
      Src: /src/botan/src/tests/unit_tls.cpp:342,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/unit_tls.cpp:342,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/unit_tls.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - end
    - std::span<const uint8_t>::end
    - insert
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t /*seq*/, std::span<const uint8_t>
      bits) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/tests/unit_tls.cpp:348,1
    - Dst: type
      Src: /src/botan/src/tests/unit_tls.cpp:349,1
    - Dst: Botan::TLS::Alert::type
      Src: /src/botan/src/tests/unit_tls.cpp:349,1
    - Dst: test_failure
      Src: /src/botan/src/tests/unit_tls.cpp:350,1
    - Dst: Botan::TLS::Alert::type_string
      Src: /src/botan/src/tests/unit_tls.cpp:350,1
    - Dst: type_string
      Src: /src/botan/src/tests/unit_tls.cpp:351,1
    - Dst: test_note
      Src: /src/botan/src/tests/unit_tls.cpp:354,1
    - Dst: type_string
      Src: /src/botan/src/tests/unit_tls.cpp:354,1
    - Dst: reset
      Src: /src/botan/src/tests/unit_tls.cpp:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 358
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 358
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_alert
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - type
    - Botan::TLS::Alert::type_string
    - test_failure
    - Botan::TLS::Alert::type
    - test_note
    - reset
    - type_string
    - has_value
    linkageType: ''
    returnType: void
    signature: void tls_alert(Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/botan/src/tests/unit_tls.cpp:363,1
    - Dst: Test_Extension::Test_Extension
      Src: /src/botan/src/tests/unit_tls.cpp:363,1
    - Dst: take
      Src: /src/botan/src/tests/unit_tls.cpp:366,1
    - Dst: auto::supported_schemes
      Src: /src/botan/src/tests/unit_tls.cpp:367,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/unit_tls.cpp:369,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/unit_tls.cpp:369,1
    - Dst: add
      Src: /src/botan/src/tests/unit_tls.cpp:371,1
    - Dst: Botan::TLS::Signature_Algorithms::Signature_Algorithms
      Src: /src/botan/src/tests/unit_tls.cpp:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' extn'
    - which_side
    argTypes:
    - Botan::TLS::Extensions
    - Botan::TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 373
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 373
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_modify_extensions
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - add
    - Botan::TLS::Signature_Algorithms::Signature_Algorithms
    - std::vector::begin
    - auto::supported_schemes
    - take
    - std::vector::insert
    - Test_Extension::Test_Extension
    linkageType: ''
    returnType: void
    signature: "void tls_modify_extensions(Botan::TLS::Extensions& extn,\n                                       Botan::TLS::Connection_Side
      which_side,\n                                       Botan::TLS::Handshake_Type
      /* unused */) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Botan::TLS::Extension_Code>
      Src: /src/botan/src/tests/unit_tls.cpp:379,1
    - Dst: get
      Src: /src/botan/src/tests/unit_tls.cpp:380,1
    - Dst: test_failure
      Src: /src/botan/src/tests/unit_tls.cpp:383,1
    - Dst: dynamic_cast<Botan::TLS::Unknown_Extension*>
      Src: /src/botan/src/tests/unit_tls.cpp:385,1
    - Dst: Botan::TLS::Unknown_Extension*::value
      Src: /src/botan/src/tests/unit_tls.cpp:388,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:390,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:390,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:392,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:394,1
    - Dst: test_failure
      Src: /src/botan/src/tests/unit_tls.cpp:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' extn'
    - which_side
    argTypes:
    - Botan::TLS::Extensions
    - Botan::TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 401
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 401
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_examine_extensions
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - test_failure
    - get
    - static_cast<Botan::TLS::Extension_Code>
    - Botan::TLS::Unknown_Extension*::value
    - dynamic_cast<Botan::TLS::Unknown_Extension*>
    - test_eq
    linkageType: ''
    returnType: void
    signature: "void tls_examine_extensions(const Botan::TLS::Extensions& extn,\n
      \                                       Botan::TLS::Connection_Side which_side,\n
      \                                       Botan::TLS::Handshake_Type /*unused*/)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: version
      Src: /src/botan/src/tests/unit_tls.cpp:404,1
    - Dst: ciphersuite
      Src: /src/botan/src/tests/unit_tls.cpp:405,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/unit_tls.cpp:406,1
    - Dst: session_id
      Src: /src/botan/src/tests/unit_tls.cpp:406,1
    - Dst: test_note
      Src: /src/botan/src/tests/unit_tls.cpp:408,1
    - Dst: m_session_established_callback
      Src: /src/botan/src/tests/unit_tls.cpp:411,1
    - Dst: version
      Src: /src/botan/src/tests/unit_tls.cpp:414,1
    - Dst: test_failure
      Src: /src/botan/src/tests/unit_tls.cpp:415,1
    - Dst: to_string
      Src: /src/botan/src/tests/unit_tls.cpp:415,1
    - Dst: version
      Src: /src/botan/src/tests/unit_tls.cpp:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Botan::TLS::Session_Summary
    constantsTouched: []
    func_position:
      end: 418
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 418
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_session_established
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - to_string
    - version
    - test_failure
    - test_note
    - Botan::hex_encode
    - session_id
    - m_session_established_callback
    - ciphersuite
    linkageType: ''
    returnType: void
    signature: void tls_session_established(const Botan::TLS::Session_Summary& session)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:421,1
    - Dst: size
      Src: /src/botan/src/tests/unit_tls.cpp:421,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:422,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' protos'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 425
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 425
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_server_choose_app_protocol
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - size
    - test_eq
    linkageType: ''
    returnType: std::string
    signature: std::string tls_server_choose_app_protocol(const std::vector<std::string>&
      protos) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<Botan::TLS::Group_Params>
      Src: /src/botan/src/tests/unit_tls.cpp:430,1
    - Dst: std::get<Botan::TLS::Group_Params>
      Src: /src/botan/src/tests/unit_tls.cpp:431,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/unit_tls.cpp:432,1
    - Dst: std::make_unique<Botan::ECDH_PrivateKey>
      Src: /src/botan/src/tests/unit_tls.cpp:433,1
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_generate_ephemeral_key
      Src: /src/botan/src/tests/unit_tls.cpp:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' group'
    - ' rng'
    argTypes:
    - std::variant<Botan::TLS::Group_Params, Botan::DL_Group>
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 437
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 437
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_generate_ephemeral_key
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 1
    functionsReached:
    - std::get<Botan::TLS::Group_Params>
    - std::holds_alternative<Botan::TLS::Group_Params>
    - Botan::EC_Group::from_name
    - std::make_unique<Botan::ECDH_PrivateKey>
    - Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_generate_ephemeral_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::PK_Key_Agreement_Key>
    signature: "std::unique_ptr<Botan::PK_Key_Agreement_Key> tls_generate_ephemeral_key(\n
      \              const std::variant<Botan::TLS::Group_Params, Botan::DL_Group>&
      group,\n               Botan::RandomNumberGenerator& rng) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<Botan::TLS::Group_Params>
      Src: /src/botan/src/tests/unit_tls.cpp:445,1
    - Dst: std::get<Botan::TLS::Group_Params>
      Src: /src/botan/src/tests/unit_tls.cpp:446,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/unit_tls.cpp:447,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/tests/unit_tls.cpp:448,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/tests/unit_tls.cpp:451,1
    - Dst: Botan::ECDH_PublicKey::public_value
      Src: /src/botan/src/tests/unit_tls.cpp:451,1
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_ephemeral_key_agreement
      Src: /src/botan/src/tests/unit_tls.cpp:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - ' group'
    - ' private_key'
    - ' public_value'
    - ' rng'
    - ' policy'
    argTypes:
    - std::variant<Botan::TLS::Group_Params, Botan::DL_Group>
    - Botan::PK_Key_Agreement_Key
    - std::vector<uint8_t>
    - Botan::RandomNumberGenerator
    - Botan::TLS::Policy
    constantsTouched: []
    func_position:
      end: 455
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 455
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_ephemeral_key_agreement
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 1
    functionsReached:
    - std::get<Botan::TLS::Group_Params>
    - Botan::PK_Key_Agreement::derive_key
    - Botan::ECDH_PublicKey::public_value
    - std::holds_alternative<Botan::TLS::Group_Params>
    - Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_ephemeral_key_agreement
    - Botan::EC_Group::from_name
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: "Botan::secure_vector<uint8_t> tls_ephemeral_key_agreement(\n               const
      std::variant<Botan::TLS::Group_Params, Botan::DL_Group>& group,\n               const
      Botan::PK_Key_Agreement_Key& private_key,\n               const std::vector<uint8_t>&
      public_value,\n               Botan::RandomNumberGenerator& rng,\n               const
      Botan::TLS::Policy& policy) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/unit_tls.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - clbk
    argTypes:
    - std::function<void(const Botan::TLS::Session_Summary&)>
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::set_custom_tls_session_established_callback
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void set_custom_tls_session_established_callback(\n               std::function<void(const
      Botan::TLS::Session_Summary&)> clbk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 462
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 462
    functionName: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::set_expected_handshake_alert
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_expected_handshake_alert(Botan::TLS::Alert alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_timer
      Src: /src/botan/src/tests/unit_tls.cpp:493,1
    - Dst: randomize
      Src: /src/botan/src/tests/unit_tls.cpp:500,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/unit_tls.cpp:500,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:500,1
    - Dst: randomize
      Src: /src/botan/src/tests/unit_tls.cpp:505,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/unit_tls.cpp:505,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:505,1
    - Dst: std::make_unique<Botan::TLS::Client>
      Src: /src/botan/src/tests/unit_tls.cpp:509,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/tests/unit_tls.cpp:514,1
    - Dst: test_failure
      Src: /src/botan/src/tests/unit_tls.cpp:527,1
    - Dst: std::unique_ptr::is_active
      Src: /src/botan/src/tests/unit_tls.cpp:531,1
    - Dst: is_active
      Src: /src/botan/src/tests/unit_tls.cpp:535,1
    - Dst: std::unique_ptr::is_active
      Src: /src/botan/src/tests/unit_tls.cpp:539,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:540,1
    - Dst: std::unique_ptr::application_protocol
      Src: /src/botan/src/tests/unit_tls.cpp:540,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:543,1
    - Dst: std::unique_ptr::send
      Src: /src/botan/src/tests/unit_tls.cpp:548,1
    - Dst: std::unique_ptr::send_warning_alert
      Src: /src/botan/src/tests/unit_tls.cpp:551,1
    - Dst: is_active
      Src: /src/botan/src/tests/unit_tls.cpp:555,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:556,1
    - Dst: application_protocol
      Src: /src/botan/src/tests/unit_tls.cpp:556,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:559,1
    - Dst: send
      Src: /src/botan/src/tests/unit_tls.cpp:564,1
    - Dst: send_warning_alert
      Src: /src/botan/src/tests/unit_tls.cpp:568,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:572,1
    - Dst: std::swap
      Src: /src/botan/src/tests/unit_tls.cpp:579,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:583,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:590,1
    - Dst: std::swap
      Src: /src/botan/src/tests/unit_tls.cpp:592,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:596,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:603,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:604,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:607,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:608,1
    - Dst: std::unique_ptr::is_closed
      Src: /src/botan/src/tests/unit_tls.cpp:611,1
    - Dst: is_closed
      Src: /src/botan/src/tests/unit_tls.cpp:611,1
    - Dst: is_active
      Src: /src/botan/src/tests/unit_tls.cpp:615,1
    - Dst: peer_cert_chain
      Src: /src/botan/src/tests/unit_tls.cpp:616,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:618,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:618,1
    - Dst: get_acceptable_cas
      Src: /src/botan/src/tests/unit_tls.cpp:620,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:622,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:622,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:625,1
    - Dst: get_first_attribute
      Src: /src/botan/src/tests/unit_tls.cpp:625,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:628,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:628,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:632,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:632,1
    - Dst: std::unique_ptr::key_material_export
      Src: /src/botan/src/tests/unit_tls.cpp:633,1
    - Dst: key_material_export
      Src: /src/botan/src/tests/unit_tls.cpp:634,1
    - Dst: test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:636,1
    - Dst: Botan::SymmetricKey::bits_of
      Src: /src/botan/src/tests/unit_tls.cpp:636,1
    - Dst: Botan::SymmetricKey::bits_of
      Src: /src/botan/src/tests/unit_tls.cpp:636,1
    - Dst: confirm
      Src: /src/botan/src/tests/unit_tls.cpp:638,1
    - Dst: std::unique_ptr::is_active
      Src: /src/botan/src/tests/unit_tls.cpp:638,1
    - Dst: confirm
      Src: /src/botan/src/tests/unit_tls.cpp:639,1
    - Dst: std::unique_ptr::is_closed
      Src: /src/botan/src/tests/unit_tls.cpp:639,1
    - Dst: std::unique_ptr::close
      Src: /src/botan/src/tests/unit_tls.cpp:640,1
    - Dst: confirm
      Src: /src/botan/src/tests/unit_tls.cpp:641,1
    - Dst: std::unique_ptr::is_active
      Src: /src/botan/src/tests/unit_tls.cpp:641,1
    - Dst: confirm
      Src: /src/botan/src/tests/unit_tls.cpp:642,1
    - Dst: std::unique_ptr::is_closed
      Src: /src/botan/src/tests/unit_tls.cpp:642,1
    - Dst: end_timer
      Src: /src/botan/src/tests/unit_tls.cpp:646,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 647
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 647
    functionName: Botan_Tests::TLS_Handshake_Test::go
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::swap
    - confirm
    - std::unique_ptr::application_protocol
    - start_timer
    - std::unique_ptr::close
    - std::unique_ptr::send_warning_alert
    - end_timer
    - application_protocol
    - std::unique_ptr::is_active
    - is_closed
    - get_acceptable_cas
    - key_material_export
    - send
    - Botan::SymmetricKey::bits_of
    - randomize
    - send_warning_alert
    - std::vector::data
    - Botan::TLS::Server_Information
    - std::unique_ptr::send
    - empty
    - get_first_attribute
    - is_active
    - test_eq
    - std::unique_ptr::key_material_export
    - test_failure
    - std::make_unique<Botan::TLS::Client>
    - peer_cert_chain
    - std::unique_ptr::is_closed
    linkageType: ''
    returnType: void
    signature: void TLS_Handshake_Test::go()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 651
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 651
    functionName: Botan_Tests::Test_Policy::Test_Policy
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Policy()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Protocol_Version::is_pre_tls_13
      Src: /src/botan/src/tests/unit_tls.cpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - Botan::TLS::Protocol_Version
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: Botan_Tests::Test_Policy::acceptable_protocol_version
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Protocol_Version::is_pre_tls_13
    linkageType: ''
    returnType: bool
    signature: bool acceptable_protocol_version(Botan::TLS::Protocol_Version version)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 658
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 658
    functionName: Botan_Tests::Test_Policy::dtls_initial_timeout
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t dtls_initial_timeout() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 660
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 660
    functionName: Botan_Tests::Test_Policy::dtls_maximum_timeout
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t dtls_maximum_timeout() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 662
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 662
    functionName: Botan_Tests::Test_Policy::minimum_rsa_bits
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_rsa_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 664
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 664
    functionName: Botan_Tests::Test_Policy::minimum_signature_strength
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_signature_strength() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/botan/src/tests/unit_tls.cpp:680,1
    - Dst: TLS_Handshake_Test::go
      Src: /src/botan/src/tests/unit_tls.cpp:689,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_tls.cpp:690,1
    - Dst: TLS_Handshake_Test::results
      Src: /src/botan/src/tests/unit_tls.cpp:690,1
    - Dst: to_string
      Src: /src/botan/src/tests/unit_tls.cpp:692,1
    - Dst: TLS_Handshake_Test::go
      Src: /src/botan/src/tests/unit_tls.cpp:701,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_tls.cpp:702,1
    - Dst: TLS_Handshake_Test::results
      Src: /src/botan/src/tests/unit_tls.cpp:702,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_tls.cpp:705,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/unit_tls.cpp:705,1
    - Dst: what
      Src: /src/botan/src/tests/unit_tls.cpp:705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 8
    argNames:
    - ' test_descr'
    - ' results'
    - ' client_ses'
    - ' server_ses'
    - ' creds'
    - ' versions'
    - ' policy'
    - ' rng'
    argTypes:
    - std::string
    - std::vector<Test::Result>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Credentials_Manager_Test>
    - std::vector<Botan::TLS::Protocol_Version>
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<Botan::RandomNumberGenerator>
    constantsTouched: []
    func_position:
      end: 707
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 707
    functionName: Botan_Tests::TLS_Unit_Tests::test_with_policy
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - TLS_Handshake_Test::results
    - Botan_Tests::Test::Result::Failure
    - TLS_Handshake_Test::go
    - what
    - push_back
    - to_string
    linkageType: ''
    returnType: void
    signature: "void test_with_policy(const std::string& test_descr,\n                                   std::vector<Test::Result>&
      results,\n                                   const std::shared_ptr<Botan::TLS::Session_Manager>&
      client_ses,\n                                   const std::shared_ptr<Botan::TLS::Session_Manager>&
      server_ses,\n                                   const std::shared_ptr<Credentials_Manager_Test>&
      creds,\n                                   const std::vector<Botan::TLS::Protocol_Version>&
      versions,\n                                   const std::shared_ptr<const Botan::TLS::Policy>&
      policy,\n                                   std::shared_ptr<Botan::RandomNumberGenerator>&
      rng,\n                                   bool client_auth = false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Test_Policy>
      Src: /src/botan/src/tests/unit_tls.cpp:720,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:721,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:722,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:723,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:724,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:726,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:727,1
    - Dst: find
      Src: /src/botan/src/tests/unit_tls.cpp:729,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:730,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_with_policy
      Src: /src/botan/src/tests/unit_tls.cpp:736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 10
    argNames:
    - ' test_descr'
    - ' results'
    - ' client_ses'
    - ' server_ses'
    - ' creds'
    - ' rng'
    - ' kex_policy'
    - ' cipher_policy'
    - ' mac_policy'
    - ' etm_policy'
    argTypes:
    - std::string
    - std::vector<Test::Result>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Credentials_Manager_Test>
    - std::shared_ptr<Botan::RandomNumberGenerator>
    - std::string
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 738
      start: 709
    functionDepth: 2
    functionLinenumber: 709
    functionLinenumberEnd: 738
    functionName: Botan_Tests::TLS_Unit_Tests::test_all_versions
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - auto::set
    - Botan_Tests::TLS_Unit_Tests::test_with_policy
    - find
    - std::make_shared<Test_Policy>
    linkageType: ''
    returnType: void
    signature: "void test_all_versions(const std::string& test_descr,\n                                    std::vector<Test::Result>&
      results,\n                                    const std::shared_ptr<Botan::TLS::Session_Manager>&
      client_ses,\n                                    const std::shared_ptr<Botan::TLS::Session_Manager>&
      server_ses,\n                                    const std::shared_ptr<Credentials_Manager_Test>&
      creds,\n                                    std::shared_ptr<Botan::RandomNumberGenerator>&
      rng,\n                                    const std::string& kex_policy,\n                                    const
      std::string& cipher_policy,\n                                    const std::string&
      mac_policy,\n                                    const std::string& etm_policy,\n
      \                                   bool client_auth = false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ' test_descr'
    - ' results'
    - ' client_ses'
    - ' server_ses'
    - ' creds'
    - ' rng'
    - ' kex_policy'
    - ' cipher_policy'
    argTypes:
    - std::string
    - std::vector<Test::Result>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Credentials_Manager_Test>
    - std::shared_ptr<Botan::RandomNumberGenerator>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 762
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 762
    functionName: Botan_Tests::TLS_Unit_Tests::test_modern_versions
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::TLS_Unit_Tests::test_modern_versions
    linkageType: ''
    returnType: void
    signature: "void test_modern_versions(const std::string& test_descr,\n                                       std::vector<Test::Result>&
      results,\n                                       const std::shared_ptr<Botan::TLS::Session_Manager>&
      client_ses,\n                                       const std::shared_ptr<Botan::TLS::Session_Manager>&
      server_ses,\n                                       const std::shared_ptr<Credentials_Manager_Test>&
      creds,\n                                       std::shared_ptr<Botan::RandomNumberGenerator>&
      rng,\n                                       const std::string& kex_policy,\n
      \                                      const std::string& cipher_policy,\n                                       const
      std::string& mac_policy = \"AEAD\",\n                                       bool
      client_auth = false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Test_Policy>
      Src: /src/botan/src/tests/unit_tls.cpp:775,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:776,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:777,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:778,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:779,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:780,1
    - Dst: find
      Src: /src/botan/src/tests/unit_tls.cpp:782,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:783,1
    - Dst: auto::set
      Src: /src/botan/src/tests/unit_tls.cpp:787,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_with_policy
      Src: /src/botan/src/tests/unit_tls.cpp:793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 10
    argNames:
    - ' test_descr'
    - ' results'
    - ' client_ses'
    - ' server_ses'
    - ' creds'
    - ' rng'
    - ' kex_policy'
    - ' cipher_policy'
    - ' mac_policy'
    - ' extra_policies'
    argTypes:
    - std::string
    - std::vector<Test::Result>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Credentials_Manager_Test>
    - std::shared_ptr<Botan::RandomNumberGenerator>
    - std::string
    - std::string
    - std::string
    - std::map<std::string, std::string>
    constantsTouched: []
    func_position:
      end: 795
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 795
    functionName: Botan_Tests::TLS_Unit_Tests::test_modern_versions
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 1
    functionsReached:
    - auto::set
    - Botan_Tests::TLS_Unit_Tests::test_with_policy
    - find
    - std::make_shared<Test_Policy>
    linkageType: ''
    returnType: void
    signature: "void test_modern_versions(const std::string& test_descr,\n                                       std::vector<Test::Result>&
      results,\n                                       const std::shared_ptr<Botan::TLS::Session_Manager>&
      client_ses,\n                                       const std::shared_ptr<Botan::TLS::Session_Manager>&
      server_ses,\n                                       const std::shared_ptr<Credentials_Manager_Test>&
      creds,\n                                       std::shared_ptr<Botan::RandomNumberGenerator>&
      rng,\n                                       const std::string& kex_policy,\n
      \                                      const std::string& cipher_policy,\n                                       const
      std::string& mac_policy,\n                                       const std::map<std::string,
      std::string>& extra_policies,\n                                       bool client_auth
      = false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Test_Policy>
      Src: /src/botan/src/tests/unit_tls.cpp:803,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_Noop>
      Src: /src/botan/src/tests/unit_tls.cpp:804,1
    - Dst: type_string
      Src: /src/botan/src/tests/unit_tls.cpp:809,1
    - Dst: to_string
      Src: /src/botan/src/tests/unit_tls.cpp:809,1
    - Dst: TLS_Handshake_Test::set_custom_client_tls_session_established_callback
      Src: /src/botan/src/tests/unit_tls.cpp:818,1
    - Dst: std::rethrow_exception
      Src: /src/botan/src/tests/unit_tls.cpp:819,1
    - Dst: TLS_Handshake_Test::set_server_expected_handshake_alert
      Src: /src/botan/src/tests/unit_tls.cpp:820,1
    - Dst: TLS_Handshake_Test::go
      Src: /src/botan/src/tests/unit_tls.cpp:822,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_tls.cpp:823,1
    - Dst: TLS_Handshake_Test::results
      Src: /src/botan/src/tests/unit_tls.cpp:823,1
    - Dst: type_string
      Src: /src/botan/src/tests/unit_tls.cpp:830,1
    - Dst: to_string
      Src: /src/botan/src/tests/unit_tls.cpp:830,1
    - Dst: TLS_Handshake_Test::set_custom_server_tls_session_established_callback
      Src: /src/botan/src/tests/unit_tls.cpp:839,1
    - Dst: std::rethrow_exception
      Src: /src/botan/src/tests/unit_tls.cpp:840,1
    - Dst: TLS_Handshake_Test::set_client_expected_handshake_alert
      Src: /src/botan/src/tests/unit_tls.cpp:841,1
    - Dst: TLS_Handshake_Test::go
      Src: /src/botan/src/tests/unit_tls.cpp:843,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_tls.cpp:844,1
    - Dst: TLS_Handshake_Test::results
      Src: /src/botan/src/tests/unit_tls.cpp:844,1
    - Dst: client_aborts
      Src: /src/botan/src/tests/unit_tls.cpp:848,1
    - Dst: std::make_exception_ptr
      Src: /src/botan/src/tests/unit_tls.cpp:848,1
    - Dst: TLS_Exception
      Src: /src/botan/src/tests/unit_tls.cpp:849,1
    - Dst: client_aborts
      Src: /src/botan/src/tests/unit_tls.cpp:851,1
    - Dst: std::make_exception_ptr
      Src: /src/botan/src/tests/unit_tls.cpp:851,1
    - Dst: Botan::Invalid_Authentication_Tag::Invalid_Authentication_Tag
      Src: /src/botan/src/tests/unit_tls.cpp:851,1
    - Dst: client_aborts
      Src: /src/botan/src/tests/unit_tls.cpp:853,1
    - Dst: std::make_exception_ptr
      Src: /src/botan/src/tests/unit_tls.cpp:853,1
    - Dst: std::runtime_error
      Src: /src/botan/src/tests/unit_tls.cpp:853,1
    - Dst: server_aborts
      Src: /src/botan/src/tests/unit_tls.cpp:856,1
    - Dst: std::make_exception_ptr
      Src: /src/botan/src/tests/unit_tls.cpp:856,1
    - Dst: TLS_Exception
      Src: /src/botan/src/tests/unit_tls.cpp:857,1
    - Dst: server_aborts
      Src: /src/botan/src/tests/unit_tls.cpp:859,1
    - Dst: std::make_exception_ptr
      Src: /src/botan/src/tests/unit_tls.cpp:859,1
    - Dst: Botan::Invalid_Authentication_Tag::Invalid_Authentication_Tag
      Src: /src/botan/src/tests/unit_tls.cpp:860,1
    - Dst: server_aborts
      Src: /src/botan/src/tests/unit_tls.cpp:862,1
    - Dst: std::make_exception_ptr
      Src: /src/botan/src/tests/unit_tls.cpp:862,1
    - Dst: std::runtime_error
      Src: /src/botan/src/tests/unit_tls.cpp:862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - ' results'
    - creds
    - rng
    argTypes:
    - std::vector<Test::Result>
    - std::shared_ptr<Credentials_Manager_Test>
    - std::shared_ptr<Botan::RandomNumberGenerator>
    constantsTouched: []
    func_position:
      end: 864
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 864
    functionName: Botan_Tests::TLS_Unit_Tests::test_session_established_abort
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - TLS_Handshake_Test::results
    - std::make_exception_ptr
    - client_aborts
    - TLS_Handshake_Test::set_custom_server_tls_session_established_callback
    - TLS_Handshake_Test::go
    - Botan::Invalid_Authentication_Tag::Invalid_Authentication_Tag
    - std::make_shared<Botan::TLS::Session_Manager_Noop>
    - TLS_Handshake_Test::set_custom_client_tls_session_established_callback
    - type_string
    - TLS_Handshake_Test::set_client_expected_handshake_alert
    - TLS_Exception
    - push_back
    - to_string
    - std::runtime_error
    - server_aborts
    - TLS_Handshake_Test::set_server_expected_handshake_alert
    - std::make_shared<Test_Policy>
    - std::rethrow_exception
    linkageType: ''
    returnType: void
    signature: "void test_session_established_abort(std::vector<Test::Result>& results,\n
      \                                         std::shared_ptr<Credentials_Manager_Test>
      creds,\n                                          std::shared_ptr<Botan::RandomNumberGenerator>
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_shared_rng
      Src: /src/botan/src/tests/unit_tls.cpp:870,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_name
      Src: /src/botan/src/tests/unit_tls.cpp:870,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_SQLite>
      Src: /src/botan/src/tests/unit_tls.cpp:876,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_SQLite>
      Src: /src/botan/src/tests/unit_tls.cpp:877,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/tests/unit_tls.cpp:881,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/tests/unit_tls.cpp:885,1
    - Dst: create_creds
      Src: /src/botan/src/tests/unit_tls.cpp:888,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_all_versions
      Src: /src/botan/src/tests/unit_tls.cpp:892,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_all_versions
      Src: /src/botan/src/tests/unit_tls.cpp:902,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_all_versions
      Src: /src/botan/src/tests/unit_tls.cpp:914,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_all_versions
      Src: /src/botan/src/tests/unit_tls.cpp:916,1
    - Dst: std::shared_ptr::remove_all
      Src: /src/botan/src/tests/unit_tls.cpp:920,1
    - Dst: std::shared_ptr::remove_all
      Src: /src/botan/src/tests/unit_tls.cpp:922,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:924,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:929,1
    - Dst: std::make_shared<Botan::TLS::Strict_Policy_Without_TLS13>
      Src: /src/botan/src/tests/unit_tls.cpp:932,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_with_policy
      Src: /src/botan/src/tests/unit_tls.cpp:933,1
    - Dst: std::make_shared<Botan::TLS::NSA_Suite_B_128>
      Src: /src/botan/src/tests/unit_tls.cpp:942,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_with_policy
      Src: /src/botan/src/tests/unit_tls.cpp:943,1
    - Dst: std::shared_ptr::remove_all
      Src: /src/botan/src/tests/unit_tls.cpp:953,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:955,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:956,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:958,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:969,1
    - Dst: std::shared_ptr::remove_all
      Src: /src/botan/src/tests/unit_tls.cpp:980,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:983,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:988,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:992,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1002,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1012,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1024,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1036,1
    - Dst: create_creds
      Src: /src/botan/src/tests/unit_tls.cpp:1047,1
    - Dst: std::shared_ptr::remove_all
      Src: /src/botan/src/tests/unit_tls.cpp:1049,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1050,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/tests/unit_tls.cpp:1062,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/tests/unit_tls.cpp:1063,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1067,1
    - Dst: std::shared_ptr::remove_all
      Src: /src/botan/src/tests/unit_tls.cpp:1071,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1074,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1078,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1081,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1082,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1086,1
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/unit_tls.cpp:1091,1
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/tests/unit_tls.cpp:1105,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_modern_versions
      Src: /src/botan/src/tests/unit_tls.cpp:1110,1
    - Dst: Botan_Tests::TLS_Unit_Tests::test_session_established_abort
      Src: /src/botan/src/tests/unit_tls.cpp:1125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 867
    functionDepth: 3
    functionLinenumber: 867
    functionLinenumberEnd: 1128
    functionName: Botan_Tests::TLS_Unit_Tests::run
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::TLS_Unit_Tests::test_session_established_abort
    - Botan_Tests::TLS_Unit_Tests::test_all_versions
    - Botan::EC_Group::supports_application_specific_group
    - std::make_shared<Botan::TLS::NSA_Suite_B_128>
    - std::make_shared<Botan::TLS::Session_Manager_SQLite>
    - std::shared_ptr::remove_all
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - Botan::OID::register_oid
    - Botan_Tests::TLS_Unit_Tests::test_with_policy
    - create_creds
    - Botan_Tests::Test::new_shared_rng
    - Botan_Tests::TLS_Unit_Tests::test_name
    - std::make_shared<Botan::TLS::Strict_Policy_Without_TLS13>
    - Botan_Tests::TLS_Unit_Tests::test_modern_versions
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/tests/unit_tls.cpp:1142,1
    - Dst: end
      Src: /src/botan/src/tests/unit_tls.cpp:1142,1
    - Dst: begin
      Src: /src/botan/src/tests/unit_tls.cpp:1142,1
    - Dst: end
      Src: /src/botan/src/tests/unit_tls.cpp:1142,1
    - Dst: insert
      Src: /src/botan/src/tests/unit_tls.cpp:1146,1
    - Dst: end
      Src: /src/botan/src/tests/unit_tls.cpp:1146,1
    - Dst: begin
      Src: /src/botan/src/tests/unit_tls.cpp:1146,1
    - Dst: end
      Src: /src/botan/src/tests/unit_tls.cpp:1146,1
    - Dst: test_success
      Src: /src/botan/src/tests/unit_tls.cpp:1154,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/tests/unit_tls.cpp:1169,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/tests/unit_tls.cpp:1173,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/tests/unit_tls.cpp:1177,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/tests/unit_tls.cpp:1181,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/unit_tls.cpp:1184,1
    - Dst: std::vector<std::string>
      Src: /src/botan/src/tests/unit_tls.cpp:1190,1
    - Dst: Botan_Tests::Test::new_shared_rng
      Src: /src/botan/src/tests/unit_tls.cpp:1203,1
    - Dst: Botan_Tests::DTLS_Reconnection_Test::test_name
      Src: /src/botan/src/tests/unit_tls.cpp:1203,1
    - Dst: std::make_shared<Datagram_PSK_Policy>
      Src: /src/botan/src/tests/unit_tls.cpp:1205,1
    - Dst: std::make_shared<Datagram_PSK_Policy>
      Src: /src/botan/src/tests/unit_tls.cpp:1206,1
    - Dst: std::make_shared<Credentials_PSK>
      Src: /src/botan/src/tests/unit_tls.cpp:1207,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/tests/unit_tls.cpp:1208,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_Noop>
      Src: /src/botan/src/tests/unit_tls.cpp:1209,1
    - Dst: std::make_shared<Test_Callbacks>
      Src: /src/botan/src/tests/unit_tls.cpp:1212,1
    - Dst: std::make_shared<Test_Callbacks>
      Src: /src/botan/src/tests/unit_tls.cpp:1216,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/tests/unit_tls.cpp:1222,1
    - Dst: Botan::TLS::Protocol_Version::latest_dtls_version
      Src: /src/botan/src/tests/unit_tls.cpp:1223,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_tls.cpp:1236,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/unit_tls.cpp:1240,1
    - Dst: std::swap
      Src: /src/botan/src/tests/unit_tls.cpp:1242,1
    - Dst: Botan::TLS::Server::received_data
      Src: /src/botan/src/tests/unit_tls.cpp:1243,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/unit_tls.cpp:1243,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:1243,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/unit_tls.cpp:1247,1
    - Dst: std::swap
      Src: /src/botan/src/tests/unit_tls.cpp:1249,1
    - Dst: Botan::TLS::Client::received_data
      Src: /src/botan/src/tests/unit_tls.cpp:1250,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/unit_tls.cpp:1250,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:1250,1
    - Dst: Botan::TLS::Client::is_active
      Src: /src/botan/src/tests/unit_tls.cpp:1254,1
    - Dst: Botan::TLS::Client::send
      Src: /src/botan/src/tests/unit_tls.cpp:1255,1
    - Dst: Botan::TLS::Server::is_active
      Src: /src/botan/src/tests/unit_tls.cpp:1259,1
    - Dst: Botan::TLS::Server::send
      Src: /src/botan/src/tests/unit_tls.cpp:1260,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:1263,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:1263,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:1264,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:1265,1
    - Dst: clear
      Src: /src/botan/src/tests/unit_tls.cpp:1274,1
    - Dst: std::vector::clear
      Src: /src/botan/src/tests/unit_tls.cpp:1275,1
    - Dst: std::make_shared<Test_Callbacks>
      Src: /src/botan/src/tests/unit_tls.cpp:1278,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/tests/unit_tls.cpp:1284,1
    - Dst: Botan::TLS::Protocol_Version::latest_dtls_version
      Src: /src/botan/src/tests/unit_tls.cpp:1285,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_tls.cpp:1299,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/unit_tls.cpp:1303,1
    - Dst: std::swap
      Src: /src/botan/src/tests/unit_tls.cpp:1305,1
    - Dst: Botan::TLS::Server::received_data
      Src: /src/botan/src/tests/unit_tls.cpp:1306,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/unit_tls.cpp:1306,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:1306,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/unit_tls.cpp:1310,1
    - Dst: std::swap
      Src: /src/botan/src/tests/unit_tls.cpp:1312,1
    - Dst: Botan::TLS::Client::received_data
      Src: /src/botan/src/tests/unit_tls.cpp:1313,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/unit_tls.cpp:1313,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/unit_tls.cpp:1313,1
    - Dst: Botan::TLS::Client::is_active
      Src: /src/botan/src/tests/unit_tls.cpp:1317,1
    - Dst: Botan::TLS::Client::send
      Src: /src/botan/src/tests/unit_tls.cpp:1318,1
    - Dst: Botan::TLS::Server::is_active
      Src: /src/botan/src/tests/unit_tls.cpp:1322,1
    - Dst: Botan::TLS::Server::send
      Src: /src/botan/src/tests/unit_tls.cpp:1323,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:1326,1
    - Dst: empty
      Src: /src/botan/src/tests/unit_tls.cpp:1326,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:1327,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_tls.cpp:1328,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 94
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1334
    functionName: Botan_Tests::DTLS_Reconnection_Test::run
    functionSourceFile: /src/botan/src/tests/unit_tls.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Credentials_PSK>
    - Botan::TLS::Client::received_data
    - Botan::TLS::Protocol_Version::latest_dtls_version
    - std::vector::size
    - Botan::TLS::Client::is_active
    - Botan::TLS::Server::received_data
    - std::swap
    - clear
    - Botan_Tests::Test::new_shared_rng
    - Test::Result::test_eq
    - insert
    - std::vector::empty
    - std::make_shared<Botan::TLS::Session_Manager_Noop>
    - std::vector::clear
    - Botan::TLS::Client::send
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - std::vector<std::string>
    - test_success
    - std::vector::data
    - Botan::TLS::Server_Information
    - std::make_shared<Test_Callbacks>
    - Botan::TLS::Server::send
    - Botan::SymmetricKey
    - std::make_shared<Datagram_PSK_Policy>
    - end
    - Test_Error
    - empty
    - Botan_Tests::DTLS_Reconnection_Test::test_name
    - begin
    - Test::Result::test_failure
    - Botan::TLS::Server::is_active
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_sm2.cpp:23,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_sm2.cpp:24,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_sm2.cpp:25,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_sm2.cpp:26,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_sm2.cpp:27,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_sm2.cpp:28,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_sm2.cpp:29,1
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/tests/test_sm2.cpp:30,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sm2.cpp:30,1
    - Dst: std::make_unique<Botan::SM2_PrivateKey>
      Src: /src/botan/src/tests/test_sm2.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 36
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 36
    functionName: Botan_Tests::load_sm2_private_key
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached:
    - get_req_bn
    - get_req_str
    - Botan::EC_Group::from_OID
    - std::make_unique<Botan::SM2_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_sm2_private_key(const VarMap&
      vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan_Tests::SM2_Signature_KAT_Tests::SM2_Signature_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SM2_Signature_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/test_sm2.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan_Tests::SM2_Signature_KAT_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_application_specific_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan_Tests::SM2_Signature_KAT_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sm2.cpp:51,1
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_sm2.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan_Tests::SM2_Signature_KAT_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - get_opt_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_Position_RNG>
      Src: /src/botan/src/tests/test_sm2.cpp:55,1
    - Dst: Botan_Tests::SM2_Signature_KAT_Tests::rng
      Src: /src/botan/src/tests/test_sm2.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Botan_Tests::SM2_Signature_KAT_Tests::test_rng
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::SM2_Signature_KAT_Tests::rng
    - std::make_unique<Fixed_Output_Position_RNG>
    linkageType: ''
    returnType: std::unique_ptr<Botan::RandomNumberGenerator>
    signature: std::unique_ptr<Botan::RandomNumberGenerator> test_rng(const std::vector<uint8_t>&
      nonce) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_sm2_private_key
      Src: /src/botan/src/tests/test_sm2.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: Botan_Tests::SM2_Signature_KAT_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached:
    - load_sm2_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: Botan_Tests::SM2_Encryption_KAT_Tests::SM2_Encryption_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SM2_Encryption_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/test_sm2.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Botan_Tests::SM2_Encryption_KAT_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_application_specific_group
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_sm2.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Botan_Tests::SM2_Encryption_KAT_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached:
    - get_opt_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan_Tests::SM2_Encryption_KAT_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_Position_RNG>
      Src: /src/botan/src/tests/test_sm2.cpp:80,1
    - Dst: Botan_Tests::SM2_Encryption_KAT_Tests::rng
      Src: /src/botan/src/tests/test_sm2.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: Botan_Tests::SM2_Encryption_KAT_Tests::test_rng
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::SM2_Encryption_KAT_Tests::rng
    - std::make_unique<Fixed_Output_Position_RNG>
    linkageType: ''
    returnType: std::unique_ptr<Botan::RandomNumberGenerator>
    signature: std::unique_ptr<Botan::RandomNumberGenerator> test_rng(const std::vector<uint8_t>&
      nonce) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_sm2_private_key
      Src: /src/botan/src/tests/test_sm2.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: Botan_Tests::SM2_Encryption_KAT_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached:
    - load_sm2_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan_Tests::SM2_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan_Tests::SM2_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::EC_Group
      Src: /src/botan/src/tests/test_sm2.cpp:101,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/tests/test_sm2.cpp:102,1
    - Dst: std::make_unique<Botan::SM2_PublicKey>
      Src: /src/botan/src/tests/test_sm2.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: Botan_Tests::SM2_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_sm2.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::EC_Group
    - Botan::EC_AffinePoint::EC_AffinePoint
    - std::make_unique<Botan::SM2_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:23,1
    - Dst: Botan::TLS::Signature_Scheme::all_available_schemes
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:25,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:26,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:26,1
    - Dst: to_string
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:26,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:27,1
    - Dst: is_set
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:27,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:28,1
    - Dst: is_available
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:28,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:30,1
    - Dst: not_unknown
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:30,1
    - Dst: to_string
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:30,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:31,1
    - Dst: not_unknown
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:31,1
    - Dst: hash_function_name
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:31,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:32,1
    - Dst: not_unknown
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:32,1
    - Dst: padding_string
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:32,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:33,1
    - Dst: not_unknown
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:33,1
    - Dst: algorithm_name
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:33,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:35,1
    - Dst: Botan_Tests::format
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:35,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:36,1
    - Dst: Botan::AlgorithmIdentifier::AlgorithmIdentifier
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:37,1
    - Dst: key_algorithm_identifier
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:37,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:42,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:42,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:43,1
    - Dst: Botan::TLS::Signature_Scheme::is_set
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:43,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:44,1
    - Dst: Botan::TLS::Signature_Scheme::is_available
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:44,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:46,1
    - Dst: not_unknown
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:46,1
    - Dst: Botan::TLS::Signature_Scheme::to_string
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:46,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:47,1
    - Dst: not_unknown
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:47,1
    - Dst: Botan::TLS::Signature_Scheme::hash_function_name
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:47,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:48,1
    - Dst: not_unknown
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:48,1
    - Dst: Botan::TLS::Signature_Scheme::padding_string
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:48,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:49,1
    - Dst: not_unknown
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:49,1
    - Dst: Botan::TLS::Signature_Scheme::algorithm_name
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:49,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:51,1
    - Dst: Botan::TLS::Signature_Scheme::format
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:51,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:52,1
    - Dst: Botan::AlgorithmIdentifier::AlgorithmIdentifier
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:53,1
    - Dst: Botan::TLS::Signature_Scheme::key_algorithm_identifier
      Src: /src/botan/src/tests/test_tls_signature_scheme.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 57
    functionName: Botan_Tests::test_signature_scheme
    functionSourceFile: /src/botan/src/tests/test_tls_signature_scheme.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - confirm
    - std::vector::push_back
    - algorithm_name
    - hash_function_name
    - is_set
    - Botan::TLS::Signature_Scheme::is_available
    - Botan::TLS::Signature_Scheme::hash_function_name
    - to_string
    - Botan::TLS::Signature_Scheme::algorithm_name
    - Botan::TLS::Signature_Scheme::key_algorithm_identifier
    - Botan::TLS::Signature_Scheme::format
    - Botan::TLS::Signature_Scheme::is_set
    - Botan_Tests::format
    - Botan::TLS::Signature_Scheme::all_available_schemes
    - is_available
    - Botan::TLS::Signature_Scheme::padding_string
    - Botan::TLS::Signature_Scheme::to_string
    - find
    - not_unknown
    - key_algorithm_identifier
    - Botan::AlgorithmIdentifier::AlgorithmIdentifier
    - padding_string
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_signature_scheme()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/botan/src/tests/test_name_constraint.cpp:27,1
    - Dst: std::make_tuple
      Src: /src/botan/src/tests/test_name_constraint.cpp:31,1
    - Dst: std::make_tuple
      Src: /src/botan/src/tests/test_name_constraint.cpp:35,1
    - Dst: std::make_tuple
      Src: /src/botan/src/tests/test_name_constraint.cpp:36,1
    - Dst: std::make_tuple
      Src: /src/botan/src/tests/test_name_constraint.cpp:38,1
    - Dst: std::make_tuple
      Src: /src/botan/src/tests/test_name_constraint.cpp:39,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/tests/test_name_constraint.cpp:48,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_name_constraint.cpp:51,1
    - Dst: std::get<0>
      Src: /src/botan/src/tests/test_name_constraint.cpp:51,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_name_constraint.cpp:52,1
    - Dst: std::get<1>
      Src: /src/botan/src/tests/test_name_constraint.cpp:52,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_name_constraint.cpp:53,1
    - Dst: std::get<1>
      Src: /src/botan/src/tests/test_name_constraint.cpp:54,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_name_constraint.cpp:56,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/tests/test_name_constraint.cpp:57,1
    - Dst: std::get<2>
      Src: /src/botan/src/tests/test_name_constraint.cpp:58,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/tests/test_name_constraint.cpp:60,1
    - Dst: Botan::Path_Validation_Result::trust_root
      Src: /src/botan/src/tests/test_name_constraint.cpp:60,1
    - Dst: Botan::Path_Validation_Result::Path_Validation_Result
      Src: /src/botan/src/tests/test_name_constraint.cpp:61,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_name_constraint.cpp:64,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/tests/test_name_constraint.cpp:64,1
    - Dst: std::get<3>
      Src: /src/botan/src/tests/test_name_constraint.cpp:64,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_name_constraint.cpp:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 69
    functionName: Botan_Tests::Name_Constraint_Tests::run
    functionSourceFile: /src/botan/src/tests/test_name_constraint.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - std::vector::emplace_back
    - std::get<3>
    - Botan::calendar_point
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::Path_Validation_Result::Path_Validation_Result
    - std::get<1>
    - Botan_Tests::Test::data_file
    - Botan::Path_Validation_Result::result_string
    - Botan::Path_Validation_Result::trust_root
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - std::make_tuple
    - std::get<0>
    - Test::Result::test_eq
    - std::get<2>
    - Botan::Path_Validation_Result::successful_validation
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::unlock
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:25,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:25,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:25,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:29,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:57,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:58,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:61,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:63,1
    - Dst: Transcript_Hash_State
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:64,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:66,1
    - Dst: Transcript_Hash_State
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:67,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:70,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:73,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:73,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:73,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:74,1
    - Dst: Transcript_Hash_State::previous
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:75,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:76,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:76,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:79,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:82,1
    - Dst: Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:82,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:83,1
    - Dst: Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:83,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:84,1
    - Dst: Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:85,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:88,1
    - Dst: Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:88,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:89,1
    - Dst: Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:90,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:93,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:97,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:97,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:98,1
    - Dst: Transcript_Hash_State::previous
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:99,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:100,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:100,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:100,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:102,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:102,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:103,1
    - Dst: Transcript_Hash_State::previous
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:103,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:103,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:104,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:104,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:104,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:107,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:111,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:111,1
    - Dst: Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:112,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:114,1
    - Dst: Transcript_Hash_State::previous
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:115,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:116,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:116,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:116,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:119,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:123,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:123,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:124,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:124,1
    - Dst: Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:125,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:127,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:127,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:127,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:130,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:135,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:136,1
    - Dst: Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:138,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:141,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:142,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:144,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:144,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:144,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:147,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:151,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:152,1
    - Dst: Transcript_Hash_State::clone
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:154,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:155,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:155,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:155,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:156,1
    - Dst: auto::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:156,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:156,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:158,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:159,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:160,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:160,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:161,1
    - Dst: auto::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:161,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:161,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:164,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:168,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:169,1
    - Dst: Botan::TLS::Transcript_Hash_State::recreate_after_hello_retry_request
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:171,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:174,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:174,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:176,1
    - Dst: auto::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:176,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:176,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:179,1
    - Dst: auto::resize
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:185,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:187,1
    - Dst: Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:188,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:190,1
    - Dst: Transcript_Hash_State::truncated
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:190,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:191,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:191,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:194,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:195,1
    - Dst: Transcript_Hash_State::truncated
      Src: /src/botan/src/tests/test_tls_transcript_hash_13.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 198
    functionName: Botan_Tests::transcript_hash
    functionSourceFile: /src/botan/src/tests/test_tls_transcript_hash_13.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Transcript_Hash_State::update
    - Botan::unlock
    - Transcript_Hash_State::set_algorithm
    - sha256
    - Botan::HashFunction::create_or_throw
    - auto::current
    - auto::resize
    - Botan::hex_decode
    - Transcript_Hash_State::truncated
    - Transcript_Hash_State::previous
    - Botan::TLS::Transcript_Hash_State::recreate_after_hello_retry_request
    - test_throws
    - Transcript_Hash_State
    - Botan::hex_encode
    - test_eq
    - test_no_throw
    - Transcript_Hash_State::current
    - Transcript_Hash_State::clone
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> transcript_hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' master_key'
    argTypes:
    - Botan::secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: Botan_Tests::Test_Map_PSK_Db::Test_Map_PSK_Db
    functionSourceFile: /src/botan/src/tests/test_psk_db.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Map_PSK_Db(const Botan::secure_vector<uint8_t>& master_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/test_psk_db.cpp:27,1
    - Dst: end
      Src: /src/botan/src/tests/test_psk_db.cpp:29,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_psk_db.cpp:30,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' result'
    - ' index'
    - ' value'
    argTypes:
    - Test::Result
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: Botan_Tests::Test_Map_PSK_Db::test_entry
    functionSourceFile: /src/botan/src/tests/test_psk_db.cpp
    functionUses: 0
    functionsReached:
    - end
    - test_failure
    - find
    - test_eq
    linkageType: ''
    returnType: void
    signature: void test_entry(Test::Result& result, const std::string& index, const
      std::string& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert_or_assign
      Src: /src/botan/src/tests/test_psk_db.cpp:37,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_psk_db.cpp:37,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_psk_db.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - value
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan_Tests::Test_Map_PSK_Db::kv_set
    functionSourceFile: /src/botan/src/tests/test_psk_db.cpp
    functionUses: 0
    functionsReached:
    - insert_or_assign
    - std::string
    linkageType: ''
    returnType: void
    signature: void kv_set(std::string_view index, std::string_view value) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/test_psk_db.cpp:41,1
    - Dst: end
      Src: /src/botan/src/tests/test_psk_db.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: Botan_Tests::Test_Map_PSK_Db::kv_get
    functionSourceFile: /src/botan/src/tests/test_psk_db.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string kv_get(std::string_view index) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/test_psk_db.cpp:49,1
    - Dst: end
      Src: /src/botan/src/tests/test_psk_db.cpp:50,1
    - Dst: erase
      Src: /src/botan/src/tests/test_psk_db.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: Botan_Tests::Test_Map_PSK_Db::kv_del
    functionSourceFile: /src/botan/src/tests/test_psk_db.cpp
    functionUses: 0
    functionsReached:
    - end
    - erase
    - find
    linkageType: ''
    returnType: void
    signature: void kv_del(std::string_view index) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::set::insert
      Src: /src/botan/src/tests/test_psk_db.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: Botan_Tests::Test_Map_PSK_Db::kv_get_all
    functionSourceFile: /src/botan/src/tests/test_psk_db.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> kv_get_all() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_psk_db.cpp:76,1
    - Dst: Botan_Tests::PSK_DB_Tests::test_psk_db
      Src: /src/botan/src/tests/test_psk_db.cpp:76,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_psk_db.cpp:79,1
    - Dst: Botan_Tests::PSK_DB_Tests::test_psk_sql_db
      Src: /src/botan/src/tests/test_psk_db.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: Botan_Tests::PSK_DB_Tests::run
    functionSourceFile: /src/botan/src/tests/test_psk_db.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - Botan_Tests::PSK_DB_Tests::test_psk_sql_db
    - Botan_Tests::PSK_DB_Tests::test_psk_db
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Map_PSK_Db::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:92,1
    - Dst: Test_Map_PSK_Db::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:93,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:94,1
    - Dst: Test_Map_PSK_Db::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:94,1
    - Dst: Test_Map_PSK_Db::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:96,1
    - Dst: Test_Map_PSK_Db::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:97,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:98,1
    - Dst: Test_Map_PSK_Db::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:98,1
    - Dst: Test_Map_PSK_Db::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:100,1
    - Dst: Test_Map_PSK_Db::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:101,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:102,1
    - Dst: Test_Map_PSK_Db::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:102,1
    - Dst: Test_Map_PSK_Db::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:104,1
    - Dst: Test_Map_PSK_Db::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:106,1
    - Dst: Test_Map_PSK_Db::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:106,1
    - Dst: Test_Map_PSK_Db::set_vec
      Src: /src/botan/src/tests/test_psk_db.cpp:108,1
    - Dst: Test_Map_PSK_Db::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:109,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:110,1
    - Dst: Test_Map_PSK_Db::get
      Src: /src/botan/src/tests/test_psk_db.cpp:110,1
    - Dst: Test_Map_PSK_Db::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:113,1
    - Dst: Test_Map_PSK_Db::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:114,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:115,1
    - Dst: Test_Map_PSK_Db::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:115,1
    - Dst: Test_Map_PSK_Db::list_names
      Src: /src/botan/src/tests/test_psk_db.cpp:117,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:119,1
    - Dst: std::set::size
      Src: /src/botan/src/tests/test_psk_db.cpp:119,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:120,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_psk_db.cpp:120,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:121,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_psk_db.cpp:121,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:122,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_psk_db.cpp:122,1
    - Dst: Test_Map_PSK_Db::remove
      Src: /src/botan/src/tests/test_psk_db.cpp:124,1
    - Dst: Test_Map_PSK_Db::list_names
      Src: /src/botan/src/tests/test_psk_db.cpp:126,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:128,1
    - Dst: std::set::size
      Src: /src/botan/src/tests/test_psk_db.cpp:128,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:129,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_psk_db.cpp:129,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:130,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_psk_db.cpp:130,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_psk_db.cpp:132,1
    - Dst: Test_Map_PSK_Db::get
      Src: /src/botan/src/tests/test_psk_db.cpp:133,1
    - Dst: Test_Map_PSK_Db::remove
      Src: /src/botan/src/tests/test_psk_db.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 139
    functionName: Botan_Tests::PSK_DB_Tests::test_psk_db
    functionSourceFile: /src/botan/src/tests/test_psk_db.cpp
    functionUses: 1
    functionsReached:
    - Test_Map_PSK_Db::list_names
    - Test::Result::test_throws
    - Test_Map_PSK_Db::remove
    - Test_Map_PSK_Db::test_entry
    - Test_Map_PSK_Db::set_str
    - Test_Map_PSK_Db::get
    - Test_Map_PSK_Db::get_str
    - Test::Result::test_eq
    - Test_Map_PSK_Db::set_vec
    - std::set::size
    - std::set::count
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_psk_db()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/tests/test_psk_db.cpp:148,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_psk_db.cpp:151,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:154,1
    - Dst: auto::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' result'
    - ' db'
    - ' table'
    - ' expected_name'
    - ' expected_value'
    argTypes:
    - Test::Result
    - Botan::SQL_Database
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: Botan_Tests::PSK_DB_Tests::test_entry
    functionSourceFile: /src/botan/src/tests/test_psk_db.cpp
    functionUses: 0
    functionsReached:
    - auto::get_str
    - test_eq
    - new_statement
    - confirm
    linkageType: ''
    returnType: void
    signature: "void test_entry(Test::Result& result,\n                      Botan::SQL_Database&
      db,\n                      const std::string& table,\n                      const
      std::string& expected_name,\n                      const std::string& expected_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::PSK_DB_Tests::rng
      Src: /src/botan/src/tests/test_psk_db.cpp:162,1
    - Dst: std::make_shared<Botan::Sqlite3_Database>
      Src: /src/botan/src/tests/test_psk_db.cpp:165,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:168,1
    - Dst: Botan_Tests::PSK_DB_Tests::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:170,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:171,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:171,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:173,1
    - Dst: Botan_Tests::PSK_DB_Tests::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:174,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:175,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:175,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:177,1
    - Dst: Botan_Tests::PSK_DB_Tests::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:178,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:179,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:179,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:181,1
    - Dst: Botan_Tests::PSK_DB_Tests::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:182,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:183,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:183,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::set_vec
      Src: /src/botan/src/tests/test_psk_db.cpp:185,1
    - Dst: Botan_Tests::PSK_DB_Tests::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:186,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:191,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::get
      Src: /src/botan/src/tests/test_psk_db.cpp:191,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:194,1
    - Dst: Botan_Tests::PSK_DB_Tests::test_entry
      Src: /src/botan/src/tests/test_psk_db.cpp:195,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:197,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:197,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::set_str
      Src: /src/botan/src/tests/test_psk_db.cpp:204,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:205,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::get_str
      Src: /src/botan/src/tests/test_psk_db.cpp:205,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:206,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::list_names
      Src: /src/botan/src/tests/test_psk_db.cpp:206,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::list_names
      Src: /src/botan/src/tests/test_psk_db.cpp:208,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:210,1
    - Dst: std::set::size
      Src: /src/botan/src/tests/test_psk_db.cpp:210,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:211,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_psk_db.cpp:211,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:212,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_psk_db.cpp:212,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:213,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_psk_db.cpp:213,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::remove
      Src: /src/botan/src/tests/test_psk_db.cpp:215,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::list_names
      Src: /src/botan/src/tests/test_psk_db.cpp:217,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:219,1
    - Dst: std::set::size
      Src: /src/botan/src/tests/test_psk_db.cpp:219,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:220,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_psk_db.cpp:220,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_psk_db.cpp:221,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_psk_db.cpp:221,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_psk_db.cpp:223,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::get
      Src: /src/botan/src/tests/test_psk_db.cpp:224,1
    - Dst: Botan::Encrypted_PSK_Database_SQL::remove
      Src: /src/botan/src/tests/test_psk_db.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 230
    functionName: Botan_Tests::PSK_DB_Tests::test_psk_sql_db
    functionSourceFile: /src/botan/src/tests/test_psk_db.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::PSK_DB_Tests::test_entry
    - Test::Result::test_throws
    - Botan::Encrypted_PSK_Database_SQL::set_vec
    - std::set::size
    - Botan::Encrypted_PSK_Database_SQL::get
    - Botan::Encrypted_PSK_Database_SQL::remove
    - Botan::Encrypted_PSK_Database_SQL::set_str
    - std::make_shared<Botan::Sqlite3_Database>
    - std::set::count
    - Botan_Tests::PSK_DB_Tests::rng
    - Test::Result::test_eq
    - Botan::Encrypted_PSK_Database_SQL::get_str
    - Botan::Encrypted_PSK_Database_SQL::list_names
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_psk_sql_db()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: Botan_Tests::Diffie_Hellman_KAT_Tests::Diffie_Hellman_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Diffie_Hellman_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_Tests::Diffie_Hellman_KAT_Tests::default_kdf
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_kdf(const VarMap& /*unused*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dh.cpp:30,1
    - Dst: get_opt_bn
      Src: /src/botan/src/tests/test_dh.cpp:31,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dh.cpp:32,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dh.cpp:33,1
    - Dst: Botan_CLI::Gen_DL_Group::Gen_DL_Group
      Src: /src/botan/src/tests/test_dh.cpp:37,1
    - Dst: Botan_CLI::Gen_DL_Group::Gen_DL_Group
      Src: /src/botan/src/tests/test_dh.cpp:39,1
    - Dst: std::make_unique<Botan::DH_PrivateKey>
      Src: /src/botan/src/tests/test_dh.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 44
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 44
    functionName: Botan_Tests::Diffie_Hellman_KAT_Tests::load_our_key
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::DH_PrivateKey>
    - get_req_bn
    - Botan_CLI::Gen_DL_Group::Gen_DL_Group
    - get_opt_bn
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_our_key(const std::string&
      /*header*/, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dh.cpp:47,1
    - Dst: get_opt_bn
      Src: /src/botan/src/tests/test_dh.cpp:48,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dh.cpp:49,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dh.cpp:50,1
    - Dst: Botan_CLI::Gen_DL_Group::Gen_DL_Group
      Src: /src/botan/src/tests/test_dh.cpp:54,1
    - Dst: Botan_CLI::Gen_DL_Group::Gen_DL_Group
      Src: /src/botan/src/tests/test_dh.cpp:56,1
    - Dst: Botan::DH_PublicKey::public_value
      Src: /src/botan/src/tests/test_dh.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: Botan_Tests::Diffie_Hellman_KAT_Tests::load_their_key
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached:
    - Botan::DH_PublicKey::public_value
    - get_req_bn
    - Botan_CLI::Gen_DL_Group::Gen_DL_Group
    - get_opt_bn
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> load_their_key(const std::string& /*header*/,
      const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::DH_PrivateKey>
      Src: /src/botan/src/tests/test_dh.cpp:72,1
    - Dst: std::make_unique<Botan::PK_Key_Agreement>
      Src: /src/botan/src/tests/test_dh.cpp:74,1
    - Dst: Botan_Tests::Diffie_Hellman_KAT_Tests::rng
      Src: /src/botan/src/tests/test_dh.cpp:74,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_dh.cpp:76,1
    - Dst: auto::derive_key
      Src: /src/botan/src/tests/test_dh.cpp:78,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_dh.cpp:78,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_dh.cpp:81,1
    - Dst: auto::derive_key
      Src: /src/botan/src/tests/test_dh.cpp:83,1
    - Dst: Botan_Tests::left_encode
      Src: /src/botan/src/tests/test_dh.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 87
    functionName: Botan_Tests::Diffie_Hellman_KAT_Tests::run_final_tests
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - auto::derive_key
    - Botan_Tests::Diffie_Hellman_KAT_Tests::rng
    - Botan_Tests::left_encode
    - std::make_unique<Botan::PK_Key_Agreement>
    - std::make_unique<Botan::DH_PrivateKey>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_final_tests() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan_Tests::DH_Invalid_Key_Tests::DH_Invalid_Key_Tests
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DH_Invalid_Key_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan_Tests::DH_Invalid_Key_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dh.cpp:99,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dh.cpp:100,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dh.cpp:101,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dh.cpp:102,1
    - Dst: std::make_unique<Botan::DH_PublicKey>
      Src: /src/botan/src/tests/test_dh.cpp:106,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dh.cpp:107,1
    - Dst: auto::check_key
      Src: /src/botan/src/tests/test_dh.cpp:107,1
    - Dst: Botan_Tests::DH_Invalid_Key_Tests::rng
      Src: /src/botan/src/tests/test_dh.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: Botan_Tests::DH_Invalid_Key_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached:
    - auto::check_key
    - Botan_Tests::DH_Invalid_Key_Tests::rng
    - std::make_unique<Botan::DH_PublicKey>
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Botan_Tests::Diffie_Hellman_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan_Tests::Diffie_Hellman_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::DH_PublicKey>
      Src: /src/botan/src/tests/test_dh.cpp:121,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/tests/test_dh.cpp:121,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_dh.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_key_bits
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: Botan_Tests::Diffie_Hellman_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_dh.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group::from_name
    - Botan::BigInt::BigInt
    - std::make_unique<Botan::DH_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /*provider*/,\n                                                             std::span<const
      uint8_t> raw_key_bits) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_gf2m.cpp:24,1
    - Dst: Botan_Tests::GF2m_Tests::test_gf_overflow
      Src: /src/botan/src/tests/test_gf2m.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: Botan_Tests::GF2m_Tests::run
    functionSourceFile: /src/botan/src/tests/test_gf2m.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - Botan_Tests::GF2m_Tests::test_gf_overflow
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GF2m_Field::gf_ord
      Src: /src/botan/src/tests/test_gf2m.cpp:40,1
    - Dst: static_cast<Botan::gf2m>
      Src: /src/botan/src/tests/test_gf2m.cpp:41,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_gf2m.cpp:43,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_gf2m.cpp:44,1
    - Dst: Botan::GF2m_Field::gf_square
      Src: /src/botan/src/tests/test_gf2m.cpp:44,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_gf2m.cpp:45,1
    - Dst: Botan::GF2m_Field::gf_mul
      Src: /src/botan/src/tests/test_gf2m.cpp:45,1
    - Dst: Botan::GF2m_Field::gf_l_from_n
      Src: /src/botan/src/tests/test_gf2m.cpp:51,1
    - Dst: Botan::GF2m_Field::gf_square_rr
      Src: /src/botan/src/tests/test_gf2m.cpp:52,1
    - Dst: Botan::GF2m_Field::gf_mul_rrr
      Src: /src/botan/src/tests/test_gf2m.cpp:53,1
    - Dst: Botan::GF2m_Field::gf_mul_nrr
      Src: /src/botan/src/tests/test_gf2m.cpp:54,1
    - Dst: Botan::GF2m_Field::gf_ord
      Src: /src/botan/src/tests/test_gf2m.cpp:54,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_gf2m.cpp:56,1
    - Dst: Botan::GF2m_Field::gf_ord
      Src: /src/botan/src/tests/test_gf2m.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 61
    functionName: Botan_Tests::GF2m_Tests::test_gf_overflow
    functionSourceFile: /src/botan/src/tests/test_gf2m.cpp
    functionUses: 1
    functionsReached:
    - Botan::GF2m_Field::gf_l_from_n
    - Botan::GF2m_Field::gf_ord
    - Botan::GF2m_Field::gf_square
    - Botan::GF2m_Field::gf_mul_nrr
    - static_cast<size_t>
    - Botan::GF2m_Field::gf_mul_rrr
    - Botan::GF2m_Field::gf_mul
    - Botan::GF2m_Field::gf_square_rr
    - Test::Result::test_eq
    - static_cast<Botan::gf2m>
    - Test::Result::test_gte
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_gf_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: Botan_Tests::McEliece_Keygen_Encrypt_Test::McEliece_Keygen_Encrypt_Test
    functionSourceFile: /src/botan/src/tests/test_mceliece.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void McEliece_Keygen_Encrypt_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_mceliece.cpp:41,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_mceliece.cpp:42,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_mceliece.cpp:43,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_mceliece.cpp:44,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_mceliece.cpp:45,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_mceliece.cpp:46,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_mceliece.cpp:51,1
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_mceliece.cpp:53,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_mceliece.cpp:54,1
    - Dst: Botan::HMAC_DRBG::initialize_with
      Src: /src/botan/src/tests/test_mceliece.cpp:59,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_mceliece.cpp:59,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mceliece.cpp:59,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mceliece.cpp:62,1
    - Dst: Botan_Tests::McEliece_Keygen_Encrypt_Test::hash_bytes
      Src: /src/botan/src/tests/test_mceliece.cpp:62,1
    - Dst: Botan::McEliece_PrivateKey::public_key_bits
      Src: /src/botan/src/tests/test_mceliece.cpp:62,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mceliece.cpp:63,1
    - Dst: Botan_Tests::McEliece_Keygen_Encrypt_Test::hash_bytes
      Src: /src/botan/src/tests/test_mceliece.cpp:63,1
    - Dst: Botan::McEliece_PrivateKey::private_key_bits
      Src: /src/botan/src/tests/test_mceliece.cpp:63,1
    - Dst: Botan::HMAC_DRBG::clear
      Src: /src/botan/src/tests/test_mceliece.cpp:65,1
    - Dst: Botan::HMAC_DRBG::initialize_with
      Src: /src/botan/src/tests/test_mceliece.cpp:66,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_mceliece.cpp:66,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_mceliece.cpp:66,1
    - Dst: Botan_Tests::McEliece_Keygen_Encrypt_Test::rng
      Src: /src/botan/src/tests/test_mceliece.cpp:70,1
    - Dst: Botan::PK_KEM_Encryptor::encrypt
      Src: /src/botan/src/tests/test_mceliece.cpp:72,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/tests/test_mceliece.cpp:75,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_mceliece.cpp:75,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mceliece.cpp:77,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_mceliece.cpp:77,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mceliece.cpp:78,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_mceliece.cpp:78,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mceliece.cpp:79,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_mceliece.cpp:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 84
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 84
    functionName: Botan_Tests::McEliece_Keygen_Encrypt_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_mceliece.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::McEliece_Keygen_Encrypt_Test::rng
    - auto::encapsulated_shared_key
    - Test::Result::test_note
    - Botan_Tests::Test::run_long_tests
    - Test::Result::start_timer
    - std::vector::size
    - Test::Result::end_timer
    - Botan::HMAC_DRBG::initialize_with
    - Botan::PK_KEM_Decryptor::decrypt
    - Botan::PK_KEM_Encryptor::encrypt
    - Botan::McEliece_PrivateKey::private_key_bits
    - Botan_Tests::McEliece_Keygen_Encrypt_Test::hash_bytes
    - Botan::McEliece_PrivateKey::public_key_bits
    - Botan::HMAC_DRBG::clear
    - get_req_bin
    - Test::Result::test_eq
    - auto::shared_key
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_mceliece.cpp:88,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mceliece.cpp:89,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_mceliece.cpp:90,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_mceliece.cpp:91,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_mceliece.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: Botan_Tests::McEliece_Keygen_Encrypt_Test::hash_bytes
    functionSourceFile: /src/botan/src/tests/test_mceliece.cpp
    functionUses: 1
    functionsReached:
    - auto::final
    - auto::update
    - auto::output_length
    - Botan::HashFunction::create
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> hash_bytes(const uint8_t b[], size_t len, const
      std::string& hash_fn = "SHA-256")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::McEliece_Keygen_Encrypt_Test::hash_bytes
      Src: /src/botan/src/tests/test_mceliece.cpp:97,1
    - Dst: data
      Src: /src/botan/src/tests/test_mceliece.cpp:97,1
    - Dst: size
      Src: /src/botan/src/tests/test_mceliece.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::vector<uint8_t, A>
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: Botan_Tests::McEliece_Keygen_Encrypt_Test::hash_bytes
    functionSourceFile: /src/botan/src/tests/test_mceliece.cpp
    functionUses: 2
    functionsReached:
    - data
    - size
    - Botan_Tests::McEliece_Keygen_Encrypt_Test::hash_bytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> hash_bytes(const std::vector<uint8_t, A>& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_mceliece.cpp:109,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_mceliece.cpp:111,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mceliece.cpp:114,1
    - Dst: private_key_bits
      Src: /src/botan/src/tests/test_mceliece.cpp:114,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_mceliece.cpp:115,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_mceliece.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Botan::Private_Key
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: Botan_Tests::McEliece_Tests::fingerprint
    functionSourceFile: /src/botan/src/tests/test_mceliece.cpp
    functionUses: 0
    functionsReached:
    - auto::final
    - auto::update
    - Botan::HashFunction::create
    - private_key_bits
    - Test_Error
    - Botan::hex_encode
    linkageType: ''
    returnType: std::string
    signature: std::string fingerprint(const Botan::Private_Key& key, const std::string&
      hash_algo = "SHA-256")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_mceliece.cpp:119,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_mceliece.cpp:121,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_mceliece.cpp:124,1
    - Dst: public_key_bits
      Src: /src/botan/src/tests/test_mceliece.cpp:124,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_mceliece.cpp:125,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_mceliece.cpp:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Botan::Public_Key
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: Botan_Tests::McEliece_Tests::fingerprint
    functionSourceFile: /src/botan/src/tests/test_mceliece.cpp
    functionUses: 0
    functionsReached:
    - auto::final
    - auto::update
    - Botan::HashFunction::create
    - Test_Error
    - public_key_bits
    - Botan::hex_encode
    linkageType: ''
    returnType: std::string
    signature: std::string fingerprint(const Botan::Public_Key& key, const std::string&
      hash_algo = "SHA-256")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_mceliece.cpp:139,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_mceliece.cpp:145,1
    - Dst: Botan_Tests::McEliece_Tests::rng
      Src: /src/botan/src/tests/test_mceliece.cpp:147,1
    - Dst: public_key_bits
      Src: /src/botan/src/tests/test_mceliece.cpp:150,1
    - Dst: Botan::McEliece_PrivateKey::private_key_bits
      Src: /src/botan/src/tests/test_mceliece.cpp:151,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mceliece.cpp:156,1
    - Dst: Botan_Tests::McEliece_Tests::fingerprint
      Src: /src/botan/src/tests/test_mceliece.cpp:156,1
    - Dst: Botan_Tests::McEliece_Tests::fingerprint
      Src: /src/botan/src/tests/test_mceliece.cpp:156,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mceliece.cpp:157,1
    - Dst: Botan_Tests::McEliece_Tests::fingerprint
      Src: /src/botan/src/tests/test_mceliece.cpp:157,1
    - Dst: Botan_Tests::McEliece_Tests::fingerprint
      Src: /src/botan/src/tests/test_mceliece.cpp:157,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mceliece.cpp:158,1
    - Dst: Botan::McEliece_PrivateKey::check_key
      Src: /src/botan/src/tests/test_mceliece.cpp:158,1
    - Dst: Botan_Tests::McEliece_Tests::rng
      Src: /src/botan/src/tests/test_mceliece.cpp:158,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_mceliece.cpp:159,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_mceliece.cpp:161,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_mceliece.cpp:163,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_mceliece.cpp:166,1
    - Dst: Botan_Tests::McEliece_Tests::test_kem
      Src: /src/botan/src/tests/test_mceliece.cpp:166,1
    - Dst: Botan_Tests::McEliece_Tests::rng
      Src: /src/botan/src/tests/test_mceliece.cpp:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 172
    functionName: Botan_Tests::McEliece_Tests::run
    functionSourceFile: /src/botan/src/tests/test_mceliece.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::run_long_tests
    - Test::Result::start_timer
    - Botan_Tests::McEliece_Tests::fingerprint
    - Test::Result::end_timer
    - Botan_Tests::McEliece_Tests::test_kem
    - Botan::McEliece_PrivateKey::private_key_bits
    - Botan_Tests::McEliece_Tests::rng
    - public_key_bits
    - std::vector::push_back
    - Botan::McEliece_PrivateKey::check_key
    - Test::Result::test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_mceliece.cpp:179,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_mceliece.cpp:186,1
    - Dst: Botan::PK_KEM_Encryptor::encrypt
      Src: /src/botan/src/tests/test_mceliece.cpp:188,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/tests/test_mceliece.cpp:190,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_mceliece.cpp:190,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_mceliece.cpp:192,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_mceliece.cpp:192,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_mceliece.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' sk'
    - ' pk'
    - ' rng'
    argTypes:
    - Botan::McEliece_PrivateKey
    - Botan::McEliece_PublicKey
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 196
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 196
    functionName: Botan_Tests::McEliece_Tests::test_kem
    functionSourceFile: /src/botan/src/tests/test_mceliece.cpp
    functionUses: 1
    functionsReached:
    - auto::encapsulated_shared_key
    - Test::Result::end_timer
    - Test::Result::start_timer
    - Botan::PK_KEM_Decryptor::decrypt
    - random_vec
    - Test::Result::test_eq
    - auto::shared_key
    - Botan::PK_KEM_Encryptor::encrypt
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_kem(const Botan::McEliece_PrivateKey& sk,\n                                   const
      Botan::McEliece_PublicKey& pk,\n                                   Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::sleep_for
      Src: /src/botan/src/tests/test_thread_utils.cpp:28,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_thread_utils.cpp:28,1
    - Dst: Botan::Thread_Pool::run
      Src: /src/botan/src/tests/test_thread_utils.cpp:38,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_thread_utils.cpp:39,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_thread_utils.cpp:39,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_thread_utils.cpp:42,1
    - Dst: get
      Src: /src/botan/src/tests/test_thread_utils.cpp:45,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_thread_utils.cpp:46,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_thread_utils.cpp:48,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_thread_utils.cpp:51,1
    - Dst: get
      Src: /src/botan/src/tests/test_thread_utils.cpp:51,1
    - Dst: Botan::Thread_Pool::shutdown
      Src: /src/botan/src/tests/test_thread_utils.cpp:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 58
    functionName: Botan_Tests::thread_pool
    functionSourceFile: /src/botan/src/tests/test_thread_utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::this_thread::sleep_for
    - Botan_CLI::Timer::milliseconds
    - Test::Result::test_failure
    - std::vector::push_back
    - get
    - Botan::Thread_Pool::run
    - std::move
    - Test::Result::test_eq
    - Botan::Thread_Pool::shutdown
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result thread_pool()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:47,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:47,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:49,1
    - Dst: reset
      Src: /src/botan/src/tests/tests.cpp:54,1
    - Dst: std::min
      Src: /src/botan/src/tests/tests.cpp:59,1
    - Dst: insert
      Src: /src/botan/src/tests/tests.cpp:62,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:62,1
    - Dst: m_fail_log::begin
      Src: /src/botan/src/tests/tests.cpp:62,1
    - Dst: m_fail_log::end
      Src: /src/botan/src/tests/tests.cpp:62,1
    - Dst: insert
      Src: /src/botan/src/tests/tests.cpp:63,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:63,1
    - Dst: m_log::begin
      Src: /src/botan/src/tests/tests.cpp:63,1
    - Dst: m_log::end
      Src: /src/botan/src/tests/tests.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' other'
    - ignore_test_name
    argTypes:
    - Result
    - bool
    constantsTouched: []
    func_position:
      end: 64
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 64
    functionName: Test::Result::merge(const Result& other, bool ignore_test_name)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - m_log::begin
    - m_fail_log::begin
    - m_fail_log::end
    - who
    - std::min
    - m_log::end
    - Test_Error
    - end
    - reset
    - insert
    linkageType: ''
    returnType: void
    signature: void Test::Result::merge(const Result& other, bool ignore_test_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::timestamp
      Src: /src/botan/src/tests/tests.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: Test::Result::start_timer()
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::timestamp
    linkageType: ''
    returnType: void
    signature: void Test::Result::start_timer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::timestamp
      Src: /src/botan/src/tests/tests.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: Test::Result::end_timer()
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::timestamp
    linkageType: ''
    returnType: void
    signature: void Test::Result::end_timer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/tests.cpp:80,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:82,1
    - Dst: push_back
      Src: /src/botan/src/tests/tests.cpp:86,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' note'
    - extra
    argTypes:
    - std::string
    - char*
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: Test::Result::test_note(const std::string& note, const char* extra)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - who
    - empty
    - push_back
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void Test::Result::test_note(const std::string& note, const char* extra)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::set::contains
      Src: /src/botan/src/tests/tests.cpp:93,1
    - Dst: test_note
      Src: /src/botan/src/tests/tests.cpp:94,1
    - Dst: std::set::insert
      Src: /src/botan/src/tests/tests.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' whatever'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: Test::Result::note_missing(const std::string& whatever)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - test_note
    - std::set::insert
    - std::set::contains
    linkageType: ''
    returnType: void
    signature: void Test::Result::note_missing(const std::string& whatever)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_fn
      Src: /src/botan/src/tests/tests.cpp:103,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:105,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:109,1
    - Dst: what
      Src: /src/botan/src/tests/tests.cpp:109,1
    - Dst: has_value
      Src: /src/botan/src/tests/tests.cpp:111,1
    - Dst: value
      Src: /src/botan/src/tests/tests.cpp:111,1
    - Dst: typeid
      Src: /src/botan/src/tests/tests.cpp:111,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:112,1
    - Dst: what
      Src: /src/botan/src/tests/tests.cpp:112,1
    - Dst: has_value
      Src: /src/botan/src/tests/tests.cpp:114,1
    - Dst: value
      Src: /src/botan/src/tests/tests.cpp:114,1
    - Dst: what
      Src: /src/botan/src/tests/tests.cpp:114,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:115,1
    - Dst: value
      Src: /src/botan/src/tests/tests.cpp:116,1
    - Dst: what
      Src: /src/botan/src/tests/tests.cpp:116,1
    - Dst: has_value
      Src: /src/botan/src/tests/tests.cpp:119,1
    - Dst: has_value
      Src: /src/botan/src/tests/tests.cpp:119,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:120,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:124,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - ' test_name'
    - ' result'
    argTypes:
    - std::string
    - Test::Result
    constantsTouched: []
    func_position:
      end: 125
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 125
    functionName: Test::Result::ThrowExpectations::check(const std::string& test_name,
      Test::Result& result)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - what
    - test_failure
    - typeid
    - value
    - m_fn
    - has_value
    - test_success
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::ThrowExpectations::check(const std::string& test_name,
      Test::Result& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ThrowExpectations
      Src: /src/botan/src/tests/tests.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' what'
    - ' fn'
    argTypes:
    - std::string
    - std::function<void()>
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: Test::Result::test_throws(const std::string& what, const std::function<void()>&
      fn)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - ThrowExpectations
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_throws(const std::string& what, const std::function<void()>&
      fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ThrowExpectations
      Src: /src/botan/src/tests/tests.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - ' expected'
    - ' fn'
    argTypes:
    - std::string
    - std::string
    - std::function<void()>
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: Test::Result::test_throws(const std::string& what, const std::string&
      expected, const std::function<void()>& fn)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - ThrowExpectations
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_throws(const std::string& what, const std::string&
      expected, const std::function<void()>& fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ThrowExpectations
      Src: /src/botan/src/tests/tests.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' what'
    - ' fn'
    argTypes:
    - std::string
    - std::function<void()>
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: Test::Result::test_no_throw(const std::string& what, const std::function<void()>&
      fn)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - ThrowExpectations
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_no_throw(const std::string& what, const std::function<void()>&
      fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/tests.cpp:140,1
    - Dst: test_note
      Src: /src/botan/src/tests/tests.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' note'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: Test::Result::test_success(const std::string& note)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - test_note
    - Botan_Tests::test_encoding_options
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_success(const std::string& note)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:148,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' what'
    - ' error'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: Test::Result::test_failure(const std::string& what, const std::string&
      error)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - who
    - test_failure
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_failure(const std::string& what, const std::string&
      error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:152,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:152,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/tests.cpp:152,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/tests.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - buf
    - buf_len
    argTypes:
    - std::string
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: Test::Result::test_failure(const std::string& what, const uint8_t
      buf[], size_t buf_len)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - who
    - std::to_string
    - test_failure
    - Botan::hex_encode
    linkageType: ''
    returnType: void
    signature: void Test::Result::test_failure(const std::string& what, const uint8_t
      buf[], size_t buf_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/tests/tests.cpp:157,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/tests.cpp:159,1
    - Dst: std::abort
      Src: /src/botan/src/tests/tests.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' err'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: Test::Result::test_failure(const std::string& err)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::abort
    - push_back
    - Botan_Tests::test_encoding_options
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_failure(const std::string& err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::memcmp
      Src: /src/botan/src/tests/tests.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: Botan_Tests::same_contents
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::memcmp
    linkageType: ''
    returnType: bool
    signature: bool same_contents(const uint8_t x[], const uint8_t y[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: same_contents
      Src: /src/botan/src/tests/tests.cpp:178,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:179,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:179,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - ' what'
    - produced
    - produced_len
    - expected
    - expected_len
    argTypes:
    - std::string
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: "Test::Result::test_ne(const std::string& what,\n                           const
      uint8_t produced[],\n                           size_t produced_len,\n                           const
      uint8_t expected[],\n                           size_t expected_len)"
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - who
    - test_failure
    - same_contents
    - test_success
    linkageType: ''
    returnType: bool
    signature: "bool Test::Result::test_ne(const std::string& what,\n                           const
      uint8_t produced[],\n                           size_t produced_len,\n                           const
      uint8_t expected[],\n                           size_t expected_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: same_contents
      Src: /src/botan/src/tests/tests.cpp:190,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:191,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:196,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/tests.cpp:211,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/tests.cpp:216,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/tests.cpp:217,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/tests.cpp:220,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:223,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - producer
    - ' what'
    - produced
    - produced_size
    - expected
    - expected_size
    argTypes:
    - char*
    - std::string
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 224
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 224
    functionName: "Test::Result::test_eq(const char* producer,\n                           const
      std::string& what,\n                           const uint8_t produced[],\n                           size_t
      produced_size,\n                           const uint8_t expected[],\n                           size_t
      expected_size)"
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - same_contents
    - std::ostringstream::str
    - who
    - test_failure
    - Botan::hex_encode
    - test_success
    linkageType: ''
    returnType: bool
    signature: "bool Test::Result::test_eq(const char* producer,\n                           const
      std::string& what,\n                           const uint8_t produced[],\n                           size_t
      produced_size,\n                           const uint8_t expected[],\n                           size_t
      expected_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/tests.cpp:227,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:228,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' what_is_it'
    - ' to_examine'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: Test::Result::test_is_nonempty(const std::string& what_is_it, const
      std::string& to_examine)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - empty
    - test_failure
    - test_success
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_is_nonempty(const std::string& what_is_it,
      const std::string& to_examine)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_is_eq
      Src: /src/botan/src/tests/tests.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - ' produced'
    - ' expected'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: Test::Result::test_eq(const std::string& what, const std::string&
      produced, const std::string& expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - test_is_eq
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_eq(const std::string& what, const std::string&
      produced, const std::string& expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_is_eq
      Src: /src/botan/src/tests/tests.cpp:238,1
    - Dst: std::string
      Src: /src/botan/src/tests/tests.cpp:238,1
    - Dst: std::string
      Src: /src/botan/src/tests/tests.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: Test::Result::test_eq(const std::string& what, const char* produced,
      const char* expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - test_is_eq
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_eq(const std::string& what, const char* produced,
      const char* expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_is_eq
      Src: /src/botan/src/tests/tests.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: Test::Result::test_eq(const std::string& what, size_t produced,
      size_t expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - test_is_eq
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_eq(const std::string& what, size_t produced,
      size_t expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_is_eq
      Src: /src/botan/src/tests/tests.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: Test::Result::test_eq_sz(const std::string& what, size_t produced,
      size_t expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - test_is_eq
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_eq_sz(const std::string& what, size_t produced,
      size_t expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/botan/src/tests/tests.cpp:256,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:257,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:257,1
    - Dst: to_string
      Src: /src/botan/src/tests/tests.cpp:259,1
    - Dst: to_string
      Src: /src/botan/src/tests/tests.cpp:259,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:260,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ' what'
    - ' produced'
    - ' expected'
    argTypes:
    - std::string
    - Botan::OctetString
    - Botan::OctetString
    constantsTouched: []
    func_position:
      end: 262
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 262
    functionName: "Test::Result::test_eq(const std::string& what,\n                           const
      Botan::OctetString& produced,\n                           const Botan::OctetString&
      expected)"
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - test_failure
    - test_success
    - to_string
    linkageType: ''
    returnType: bool
    signature: "bool Test::Result::test_eq(const std::string& what,\n                           const
      Botan::OctetString& produced,\n                           const Botan::OctetString&
      expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:269,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:269,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: Test::Result::test_lt(const std::string& what, size_t produced,
      size_t expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - test_failure
    - test_success
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_lt(const std::string& what, size_t produced,
      size_t expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:279,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:279,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: Test::Result::test_lte(const std::string& what, size_t produced,
      size_t expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - test_failure
    - test_success
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_lte(const std::string& what, size_t produced,
      size_t expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:291,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:291,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 295
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 295
    functionName: Test::Result::test_gte(const std::string& what, size_t produced,
      size_t expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - test_failure
    - test_success
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_gte(const std::string& what, size_t produced,
      size_t expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:303,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:303,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 307
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 307
    functionName: Test::Result::test_gt(const std::string& what, size_t produced,
      size_t expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - test_failure
    - test_success
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_gt(const std::string& what, size_t produced,
      size_t expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:311,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:314,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' what'
    - ' str1'
    - ' str2'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: Test::Result::test_ne(const std::string& what, const std::string&
      str1, const std::string& str2)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - who
    - test_failure
    - test_success
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_ne(const std::string& what, const std::string&
      str1, const std::string& str2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:319,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:323,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:324,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: Test::Result::test_ne(const std::string& what, size_t produced,
      size_t expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - who
    - test_failure
    - test_success
    - std::ostringstream::str
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_ne(const std::string& what, size_t produced,
      size_t expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_is_eq
      Src: /src/botan/src/tests/tests.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - ' produced'
    - ' expected'
    argTypes:
    - std::string
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: Test::Result::test_eq(const std::string& what, const BigInt& produced,
      const BigInt& expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - test_is_eq
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_eq(const std::string& what, const BigInt& produced,
      const BigInt& expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:334,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:338,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:339,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' what'
    - ' produced'
    - ' expected'
    argTypes:
    - std::string
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: Test::Result::test_ne(const std::string& what, const BigInt& produced,
      const BigInt& expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - who
    - test_failure
    - test_success
    - std::ostringstream::str
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_ne(const std::string& what, const BigInt& produced,
      const BigInt& expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:347,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:351,1
    - Dst: get_affine_x
      Src: /src/botan/src/tests/tests.cpp:351,1
    - Dst: get_affine_y
      Src: /src/botan/src/tests/tests.cpp:351,1
    - Dst: get_affine_x
      Src: /src/botan/src/tests/tests.cpp:352,1
    - Dst: get_affine_y
      Src: /src/botan/src/tests/tests.cpp:352,1
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:353,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' what'
    - ' a'
    - ' b'
    argTypes:
    - std::string
    - Botan::EC_Point
    - Botan::EC_Point
    constantsTouched: []
    func_position:
      end: 354
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 354
    functionName: Test::Result::test_eq(const std::string& what, const Botan::EC_Point&
      a, const Botan::EC_Point& b)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - who
    - get_affine_x
    - test_failure
    - get_affine_y
    - test_success
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_eq(const std::string& what, const Botan::EC_Point&
      a, const Botan::EC_Point& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_is_eq
      Src: /src/botan/src/tests/tests.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' what'
    - produced
    - expected
    argTypes:
    - std::string
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: Test::Result::test_eq(const std::string& what, bool produced, bool
      expected)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - test_is_eq
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_eq(const std::string& what, bool produced,
      bool expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:363,1
    - Dst: Test::Result::test_rc_init(const std::test_note
      Src: /src/botan/src/tests/tests.cpp:377,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:377,1
    - Dst: Test::Result::test_rc_init(const std::test_failure
      Src: /src/botan/src/tests/tests.cpp:379,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ' func'
    - rc
    argTypes:
    - std::string
    - int
    constantsTouched: []
    func_position:
      end: 383
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 383
    functionName: Test::Result::test_rc_init(const std::string& func, int rc)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_rc_init(const std::test_note
    - std::ostringstream::str
    - Test::Result::test_rc_init(const std::test_failure
    - test_success
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_rc_init(const std::string& func, int rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/tests.cpp:391,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:391,1
    - Dst: test_success
      Src: /src/botan/src/tests/tests.cpp:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' func'
    - expected
    - rc
    argTypes:
    - std::string
    - int
    - int
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: Test::Result::test_rc(const std::string& func, int expected, int
      rc)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - test_failure
    - test_success
    linkageType: ''
    returnType: bool
    signature: bool Test::Result::test_rc(const std::string& func, int expected, int
      rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/tests.cpp:398,1
    - Dst: std::move
      Src: /src/botan/src/tests/tests.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - test_name
    - location
    argTypes:
    - std::string
    - CodeLocation
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: Botan_Tests::Test::initialize
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Test::initialize(std::string test_name, CodeLocation location)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/tests.cpp:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 408
    functionName: '& Test::rng() const'
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::new_rng
    linkageType: ''
    returnType: Botan::RandomNumberGenerator
    signature: Botan::RandomNumberGenerator & Test::rng() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::provider_filter
      Src: /src/botan/src/tests/tests.cpp:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: Botan_Tests::Test::possible_providers
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::provider_filter
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Test::possible_providers(const std::string&
      /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/botan/src/tests/tests.cpp:419,1
    - Dst: std::setprecision
      Src: /src/botan/src/tests/tests.cpp:421,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ns
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: Botan_Tests::Test::format_time
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 1
    functionsReached:
    - std::setprecision
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Test::format_time(uint64_t ns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/tests.cpp:427,1
    - Dst: merge
      Src: /src/botan/src/tests/tests.cpp:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - who
    - ' downstream_results'
    argTypes:
    - std::string
    - std::vector<Result>
    constantsTouched: []
    func_position:
      end: 431
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 431
    functionName: Test::Result::Result(std::string who, const std::vector<Result>&
      downstream_results)
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - merge
    linkageType: ''
    returnType: void
    signature: void Test::Result::Result(std::string who, const std::vector<Result>&
      downstream_results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tests_run
      Src: /src/botan/src/tests/tests.cpp:437,1
    - Dst: who
      Src: /src/botan/src/tests/tests.cpp:443,1
    - Dst: tests_run
      Src: /src/botan/src/tests/tests.cpp:445,1
    - Dst: tests_run
      Src: /src/botan/src/tests/tests.cpp:448,1
    - Dst: format_time
      Src: /src/botan/src/tests/tests.cpp:453,1
    - Dst: tests_failed
      Src: /src/botan/src/tests/tests.cpp:456,1
    - Dst: tests_failed
      Src: /src/botan/src/tests/tests.cpp:457,1
    - Dst: size
      Src: /src/botan/src/tests/tests.cpp:464,1
    - Dst: empty
      Src: /src/botan/src/tests/tests.cpp:472,1
    - Dst: tests_run
      Src: /src/botan/src/tests/tests.cpp:472,1
    - Dst: size
      Src: /src/botan/src/tests/tests.cpp:473,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:478,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 479
    functionName: Test::Result::result_string() const
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - who
    - tests_failed
    - size
    - tests_run
    - empty
    - format_time
    linkageType: ''
    returnType: std::string
    signature: std::string Test::Result::result_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: '& instance()'
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Test_Registry
    signature: Test_Registry & instance()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/tests/tests.cpp:495,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:496,1
    - Dst: contains
      Src: /src/botan/src/tests/tests.cpp:499,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:500,1
    - Dst: contains
      Src: /src/botan/src/tests/tests.cpp:503,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:504,1
    - Dst: push_back
      Src: /src/botan/src/tests/tests.cpp:508,1
    - Dst: push_back
      Src: /src/botan/src/tests/tests.cpp:512,1
    - Dst: emplace
      Src: /src/botan/src/tests/tests.cpp:515,1
    - Dst: std::move
      Src: /src/botan/src/tests/tests.cpp:515,1
    - Dst: emplace
      Src: /src/botan/src/tests/tests.cpp:516,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - ' category'
    - ' name'
    - smoke_test
    - needs_serialization
    - maker_fn
    argTypes:
    - std::string
    - std::string
    - bool
    - bool
    - std::function<std::unique_ptr<Test>()>
    constantsTouched: []
    func_position:
      end: 517
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 517
    functionName: Botan_Tests::Test_Registry::register_test
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - contains
    - Test_Error
    - push_back
    - std::move
    linkageType: ''
    returnType: void
    signature: "void register_test(const std::string& category,\n                         const
      std::string& name,\n                         bool smoke_test,\n                         bool
      needs_serialization,\n                         std::function<std::unique_ptr<Test>()>
      maker_fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:520,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:521,1
    - Dst: auto::second
      Src: /src/botan/src/tests/tests.cpp:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' test_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: Botan_Tests::Test_Registry::get_test
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - auto::second
    - find
    linkageType: ''
    returnType: std::unique_ptr<Test>
    signature: std::unique_ptr<Test> get_test(const std::string& test_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::set::insert
      Src: /src/botan/src/tests/tests.cpp:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 533
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 533
    functionName: Botan_Tests::Test_Registry::registered_tests
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> registered_tests() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::set::insert
      Src: /src/botan/src/tests/tests.cpp:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 541
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 541
    functionName: Botan_Tests::Test_Registry::registered_test_categories
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> registered_test_categories() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::value_exists
      Src: /src/botan/src/tests/tests.cpp:549,1
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:549,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:549,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/tests.cpp:550,1
    - Dst: empty
      Src: /src/botan/src/tests/tests.cpp:554,1
    - Dst: insert_if_not_exists_and_not_skipped
      Src: /src/botan/src/tests/tests.cpp:562,1
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:566,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:566,1
    - Dst: insert_if_not_exists_and_not_skipped
      Src: /src/botan/src/tests/tests.cpp:567,1
    - Dst: equal_range
      Src: /src/botan/src/tests/tests.cpp:568,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:568,1
    - Dst: insert_if_not_exists_and_not_skipped
      Src: /src/botan/src/tests/tests.cpp:570,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:573,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - ' requested'
    - ' to_be_skipped'
    argTypes:
    - std::vector<std::string>
    - std::set<std::string>
    constantsTouched: []
    func_position:
      end: 579
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 579
    functionName: Botan_Tests::Test_Registry::filter_registered_tests
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - insert_if_not_exists_and_not_skipped
    - equal_range
    - Botan::value_exists
    - end
    - std::vector::push_back
    - empty
    - Test_Error
    - find
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> filter_registered_tests(const std::vector<std::string>&
      requested,\n                                                       const std::set<std::string>&
      to_be_skipped)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::value_exists
      Src: /src/botan/src/tests/tests.cpp:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' test_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 583
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 583
    functionName: Botan_Tests::Test_Registry::needs_serialization
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::value_exists
    linkageType: ''
    returnType: bool
    signature: bool needs_serialization(const std::string& test_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 586
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 586
    functionName: Botan_Tests::Test_Registry::Test_Registry
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Registry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/tests/tests.cpp:605,1
    - Dst: std::move
      Src: /src/botan/src/tests/tests.cpp:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' category'
    - ' name'
    - smoke_test
    - needs_serialization
    - maker_fn
    argTypes:
    - std::string
    - std::string
    - bool
    - bool
    - std::function<std::unique_ptr<Test>()>
    constantsTouched: []
    func_position:
      end: 606
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 606
    functionName: Botan_Tests::Test::register_test
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: void
    signature: "void Test::register_test(const std::string& category,\n                         const
      std::string& name,\n                         bool smoke_test,\n                         bool
      needs_serialization,\n                         std::function<std::unique_ptr<Test>()>
      maker_fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/tests.cpp:610,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/botan/src/tests/tests.cpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: Botan_Tests::Test::timestamp
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Test::timestamp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/tests.cpp:619,1
    - Dst: std::move
      Src: /src/botan/src/tests/tests.cpp:619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - result_lists
    argTypes:
    - std::vector<std::vector<Test::Result>>
    constantsTouched: []
    func_position:
      end: 623
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 623
    functionName: Botan_Tests::Test::flatten_result_lists
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 4
    functionsReached:
    - std::vector::emplace_back
    - std::move
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> Test::flatten_result_lists(std::vector<std::vector<Test::Result>>
      result_lists)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/tests/tests.cpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 628
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 628
    functionName: Botan_Tests::Test::registered_tests
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> Test::registered_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/tests/tests.cpp:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 633
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 633
    functionName: Botan_Tests::Test::registered_test_categories
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> Test::registered_test_categories()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/tests/tests.cpp:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' test_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 638
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 638
    functionName: Botan_Tests::Test::get_test
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::unique_ptr<Test>
    signature: std::unique_ptr<Test> Test::get_test(const std::string& test_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/tests/tests.cpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' test_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 643
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 643
    functionName: Botan_Tests::Test::test_needs_serialization
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: bool
    signature: bool Test::test_needs_serialization(const std::string& test_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/tests/tests.cpp:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' requested'
    - ' to_be_skipped'
    argTypes:
    - std::vector<std::string>
    - std::set<std::string>
    constantsTouched: []
    func_position:
      end: 649
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 649
    functionName: Botan_Tests::Test::filter_registered_tests
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> Test::filter_registered_tests(const std::vector<std::string>&
      requested,\n                                                       const std::set<std::string>&
      to_be_skipped)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/tests/tests.cpp:667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' basename'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 674
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 674
    functionName: Botan_Tests::Test::temp_file_name
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 3
    functionsReached:
    - Botan::TLS::Channel_Impl::close
    linkageType: ''
    returnType: std::string
    signature: std::string Test::temp_file_name(const std::string& basename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::copy_file
      Src: /src/botan/src/tests/tests.cpp:679,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/tests.cpp:683,1
    - Dst: Botan::No_Filesystem_Access::No_Filesystem_Access
      Src: /src/botan/src/tests/tests.cpp:684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' from'
    - ' to'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 686
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 686
    functionName: Botan_Tests::Test::copy_file
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    - Botan_Tests::Test::copy_file
    - Botan::No_Filesystem_Access::No_Filesystem_Access
    linkageType: ''
    returnType: bool
    signature: bool Test::copy_file(const std::string& from, const std::string& to)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/tests.cpp:689,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/tests.cpp:690,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/tests/tests.cpp:691,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:692,1
    - Dst: std::string
      Src: /src/botan/src/tests/tests.cpp:695,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/botan/src/tests/tests.cpp:695,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/botan/src/tests/tests.cpp:695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 696
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 696
    functionName: Botan_Tests::Test::read_data_file
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 1
    functionsReached:
    - std::ifstream::good
    - std::istreambuf_iterator<char>
    - std::string
    - Botan_Tests::Test::data_file
    - std::string::c_str
    - Test_Error
    linkageType: ''
    returnType: std::string
    signature: std::string Test::read_data_file(const std::string& path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/tests.cpp:699,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/tests.cpp:700,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/tests/tests.cpp:701,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:702,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/tests/tests.cpp:707,1
    - Dst: std::ifstream::read
      Src: /src/botan/src/tests/tests.cpp:709,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/tests/tests.cpp:709,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/tests.cpp:709,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/tests.cpp:709,1
    - Dst: std::ifstream::eof
      Src: /src/botan/src/tests/tests.cpp:712,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/tests.cpp:716,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/tests.cpp:716,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/tests.cpp:716,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/tests.cpp:716,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 720
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 720
    functionName: Botan_Tests::Test::read_binary_data_file
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 5
    functionsReached:
    - std::ifstream::good
    - std::vector::size
    - std::ifstream::read
    - Botan_Tests::Test::data_file
    - std::string::c_str
    - Test_Error
    - std::ifstream::eof
    - std::vector::insert
    - std::vector::end
    - reinterpret_cast<char*>
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Test::read_binary_data_file(const std::string&
      path)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' opts'
    argTypes:
    - Test_Options
    constantsTouched: []
    func_position:
      end: 732
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 732
    functionName: Botan_Tests::Test::set_test_options
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test::set_test_options(const Test_Options& opts)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 742
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 742
    functionName: Botan_Tests::Testsuite_RNG::name
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 744
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 744
    functionName: Botan_Tests::Testsuite_RNG::clear
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 746
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 746
    functionName: Botan_Tests::Testsuite_RNG::accepts_input
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 748
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 748
    functionName: Botan_Tests::Testsuite_RNG::is_seeded
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Testsuite_RNG::mix
      Src: /src/botan/src/tests/tests.cpp:752,1
    - Dst: Botan_Tests::Testsuite_RNG::mix
      Src: /src/botan/src/tests/tests.cpp:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 758
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 758
    functionName: Botan_Tests::Testsuite_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Testsuite_RNG::mix
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Testsuite_RNG::mix
      Src: /src/botan/src/tests/tests.cpp:764,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/tests.cpp:764,1
    - Dst: Botan_Tests::Testsuite_RNG::mix
      Src: /src/botan/src/tests/tests.cpp:767,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/tests.cpp:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - seed
    - test_name
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 769
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 769
    functionName: Botan_Tests::Testsuite_RNG::Testsuite_RNG
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Testsuite_RNG::mix
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Testsuite_RNG(std::string_view seed, std::string_view test_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/tests.cpp:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 777
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 777
    functionName: Botan_Tests::Testsuite_RNG::mix
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t mix(uint8_t input = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/tests.cpp:786,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/tests.cpp:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - epoch
    argTypes:
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 787
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 787
    functionName: Botan_Tests::Test::set_test_rng_seed
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan::hex_encode
    linkageType: ''
    returnType: void
    signature: void Test::set_test_rng_seed(std::span<const uint8_t> seed, size_t
      epoch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Testsuite_RNG>
      Src: /src/botan/src/tests/tests.cpp:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - test_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 792
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 792
    functionName: Botan_Tests::Test::new_rng
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 24
    functionsReached:
    - std::make_unique<Testsuite_RNG>
    linkageType: ''
    returnType: std::unique_ptr<Botan::RandomNumberGenerator>
    signature: std::unique_ptr<Botan::RandomNumberGenerator> Test::new_rng(std::string_view
      test_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Testsuite_RNG>
      Src: /src/botan/src/tests/tests.cpp:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - test_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 797
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 797
    functionName: Botan_Tests::Test::new_shared_rng
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 8
    functionsReached:
    - std::make_shared<Testsuite_RNG>
    linkageType: ''
    returnType: std::shared_ptr<Botan::RandomNumberGenerator>
    signature: std::shared_ptr<Botan::RandomNumberGenerator> Test::new_shared_rng(std::string_view
      test_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: options
      Src: /src/botan/src/tests/tests.cpp:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' file'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 802
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 802
    functionName: Botan_Tests::Test::data_file
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 42
    functionsReached:
    - options
    linkageType: ''
    returnType: std::string
    signature: std::string Test::data_file(const std::string& file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: options
      Src: /src/botan/src/tests/tests.cpp:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' subdir'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 807
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 807
    functionName: Botan_Tests::Test::data_dir
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - options
    linkageType: ''
    returnType: std::string
    signature: std::string Test::data_dir(const std::string& subdir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get_files_recursive
      Src: /src/botan/src/tests/tests.cpp:811,1
    - Dst: options
      Src: /src/botan/src/tests/tests.cpp:811,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/tests.cpp:812,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' subdir'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 816
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 816
    functionName: Botan_Tests::Test::files_in_data_dir
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 4
    functionsReached:
    - Test_Error
    - auto::empty
    - options
    - Botan::get_files_recursive
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Test::files_in_data_dir(const std::string&
      subdir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::replace
      Src: /src/botan/src/tests/tests.cpp:821,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/tests.cpp:821,1
    - Dst: auto::end
      Src: /src/botan/src/tests/tests.cpp:821,1
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/tests.cpp:822,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/tests.cpp:823,1
    - Dst: Botan_Tests::Test::copy_file
      Src: /src/botan/src/tests/tests.cpp:826,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/tests.cpp:826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 830
      start: 819
    functionDepth: 2
    functionLinenumber: 819
    functionLinenumberEnd: 830
    functionName: Botan_Tests::Test::data_file_as_temporary_copy
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::Test::temp_file_name
    - Botan_Tests::Test::copy_file
    - auto::end
    - Botan_Tests::Test::data_file
    - auto::begin
    - std::replace
    - auto::empty
    linkageType: ''
    returnType: std::string
    signature: std::string Test::data_file_as_temporary_copy(const std::string& what)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: provider
      Src: /src/botan/src/tests/tests.cpp:834,1
    - Dst: provider
      Src: /src/botan/src/tests/tests.cpp:838,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 843
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 843
    functionName: Botan_Tests::Test::provider_filter
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 4
    functionsReached:
    - provider
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Test::provider_filter(const std::vector<std::string>&
      in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/tests.cpp:847,1
    - Dst: random_vec
      Src: /src/botan/src/tests/tests.cpp:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 848
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 848
    functionName: Botan_Tests::Test::random_password
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 1
    functionsReached:
    - random_vec
    - Botan::hex_encode
    linkageType: ''
    returnType: std::string
    signature: std::string Test::random_password(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/tests.cpp:851,1
    - Dst: random_array
      Src: /src/botan/src/tests/tests.cpp:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - max
    argTypes:
    - Botan::RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 852
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 852
    functionName: Botan_Tests::Test::random_index
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - random_array
    - Botan::load_be
    linkageType: ''
    returnType: size_t
    signature: size_t Test::random_index(Botan::RandomNumberGenerator& rng, size_t
      max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:855,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:856,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:857,1
    - Dst: Botan::split_on
      Src: /src/botan/src/tests/tests.cpp:862,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/tests.cpp:864,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/tests.cpp:864,1
    - Dst: what
      Src: /src/botan/src/tests/tests.cpp:868,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:869,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 874
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 874
    functionName: Botan_Tests::VarMap::get_req_bin_list
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - what
    - Botan::split_on
    - end
    - std::vector::push_back
    - Test_Error
    - find
    - Botan::hex_decode
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: std::vector<std::vector<uint8_t>> VarMap::get_req_bin_list(const std::string&
      key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:877,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:878,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:879,1
    - Dst: auto::second::starts_with
      Src: /src/botan/src/tests/tests.cpp:883,1
    - Dst: auto::second::size
      Src: /src/botan/src/tests/tests.cpp:884,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/tests.cpp:885,1
    - Dst: auto::second::substr
      Src: /src/botan/src/tests/tests.cpp:885,1
    - Dst: std::swap
      Src: /src/botan/src/tests/tests.cpp:888,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/tests.cpp:889,1
    - Dst: std::string::substr
      Src: /src/botan/src/tests/tests.cpp:889,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/tests.cpp:892,1
    - Dst: what
      Src: /src/botan/src/tests/tests.cpp:897,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:898,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:898,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 900
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 900
    functionName: Botan_Tests::VarMap::get_req_bin
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - auto::second::size
    - std::ostringstream::str
    - what
    - auto::second::starts_with
    - std::swap
    - end
    - Test_Error
    - auto::second::substr
    - find
    - std::string::substr
    - Botan::hex_decode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> VarMap::get_req_bin(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:903,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - ' def_value'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 908
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 908
    functionName: Botan_Tests::VarMap::get_opt_str
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string VarMap::get_opt_str(const std::string& key, const std::string&
      def_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:911,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:912,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:913,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:921,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 923
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 923
    functionName: Botan_Tests::VarMap::get_req_bool
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - Test_Error
    - find
    linkageType: ''
    returnType: bool
    signature: bool VarMap::get_req_bool(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:926,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:927,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:928,1
    - Dst: Botan::to_u32bit
      Src: /src/botan/src/tests/tests.cpp:930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 931
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 931
    functionName: Botan_Tests::VarMap::get_req_sz
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - Test_Error
    - find
    - Botan::to_u32bit
    linkageType: ''
    returnType: size_t
    signature: size_t VarMap::get_req_sz(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:936,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/tests.cpp:936,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/tests.cpp:938,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 939
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 939
    functionName: Botan_Tests::VarMap::get_req_u8
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Test_Error
    - std::to_string
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VarMap::get_req_u8(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/tests.cpp:942,1
    - Dst: Botan_Tests::VarMap::get_req_sz
      Src: /src/botan/src/tests/tests.cpp:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 943
      start: 941
    functionDepth: 2
    functionLinenumber: 941
    functionLinenumberEnd: 943
    functionName: Botan_Tests::VarMap::get_req_u32
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::VarMap::get_req_sz
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t VarMap::get_req_u32(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:946,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:947,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:948,1
    - Dst: std::stoull
      Src: /src/botan/src/tests/tests.cpp:951,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:953,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 955
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 955
    functionName: Botan_Tests::VarMap::get_req_u64
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::stoull
    - end
    - Test_Error
    - find
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t VarMap::get_req_u64(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:958,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:959,1
    - Dst: Botan::to_u32bit
      Src: /src/botan/src/tests/tests.cpp:962,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - def_value
    argTypes:
    - std::string
    - size_t
    constantsTouched: []
    func_position:
      end: 963
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 963
    functionName: Botan_Tests::VarMap::get_opt_sz
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - Botan::to_u32bit
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t VarMap::get_opt_sz(const std::string& key, const size_t def_value)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:966,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:967,1
    - Dst: std::stoull
      Src: /src/botan/src/tests/tests.cpp:971,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' key'
    - def_value
    argTypes:
    - std::string
    - uint64_t
    constantsTouched: []
    func_position:
      end: 975
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 975
    functionName: Botan_Tests::VarMap::get_opt_u64
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::stoull
    - end
    - Test_Error
    - find
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t VarMap::get_opt_u64(const std::string& key, const uint64_t
      def_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:978,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:979,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/tests.cpp:980,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/tests.cpp:984,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:986,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 988
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 988
    functionName: Botan_Tests::VarMap::get_opt_bin
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::vector<uint8_t>
    - Test_Error
    - find
    - Botan::hex_decode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> VarMap::get_opt_bin(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:991,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:992,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 996
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 996
    functionName: Botan_Tests::VarMap::get_req_str
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - Test_Error
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string VarMap::get_req_str(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:1000,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:1001,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1002,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/tests.cpp:1006,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1008,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 1010
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1010
    functionName: Botan_Tests::VarMap::get_req_bn
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - Botan::BigInt::BigInt
    - Test_Error
    - find
    linkageType: ''
    returnType: Botan::BigInt
    signature: Botan::BigInt VarMap::get_req_bn(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:1015,1
    - Dst: end
      Src: /src/botan/src/tests/tests.cpp:1016,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/tests.cpp:1021,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1023,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' key'
    - ' def_value'
    argTypes:
    - std::string
    - Botan::BigInt
    constantsTouched: []
    func_position:
      end: 1025
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1025
    functionName: Botan_Tests::VarMap::get_opt_bn
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - end
    - Botan::BigInt::BigInt
    - Test_Error
    - find
    linkageType: ''
    returnType: Botan::BigInt
    signature: Botan::BigInt VarMap::get_opt_bn(const std::string& key, const Botan::BigInt&
      def_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/tests.cpp:1032,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1033,1
    - Dst: Botan::split_on
      Src: /src/botan/src/tests/tests.cpp:1036,1
    - Dst: Botan::split_on
      Src: /src/botan/src/tests/tests.cpp:1037,1
    - Dst: insert
      Src: /src/botan/src/tests/tests.cpp:1039,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/tests.cpp:1039,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/tests.cpp:1039,1
    - Dst: insert
      Src: /src/botan/src/tests/tests.cpp:1040,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/tests.cpp:1040,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/tests.cpp:1040,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/tests.cpp:1041,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/tests.cpp:1041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' data_src'
    - ' required_keys_str'
    - ' optional_keys_str'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 1042
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1042
    functionName: Botan_Tests::Text_Based_Test::Text_Based_Test
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::begin
    - Botan::split_on
    - empty
    - Test_Error
    - std::vector::end
    - std::vector::at
    - insert
    linkageType: ''
    returnType: void
    signature: "void Text_Based_Test::Text_Based_Test(const std::string& data_src,\n
      \                                const std::string& required_keys_str,\n                                 const
      std::string& optional_keys_str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: good
      Src: /src/botan/src/tests/tests.cpp:1046,1
    - Dst: empty
      Src: /src/botan/src/tests/tests.cpp:1047,1
    - Dst: ends_with
      Src: /src/botan/src/tests/tests.cpp:1049,1
    - Dst: push_back
      Src: /src/botan/src/tests/tests.cpp:1050,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/tests.cpp:1050,1
    - Dst: Botan_Tests::Test::files_in_data_dir
      Src: /src/botan/src/tests/tests.cpp:1052,1
    - Dst: assign
      Src: /src/botan/src/tests/tests.cpp:1053,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/tests.cpp:1053,1
    - Dst: auto::end
      Src: /src/botan/src/tests/tests.cpp:1053,1
    - Dst: empty
      Src: /src/botan/src/tests/tests.cpp:1054,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1055,1
    - Dst: std::make_unique<std::ifstream>
      Src: /src/botan/src/tests/tests.cpp:1065,1
    - Dst: empty
      Src: /src/botan/src/tests/tests.cpp:1070,1
    - Dst: clear
      Src: /src/botan/src/tests/tests.cpp:1071,1
    - Dst: Botan::CPUID::initialize
      Src: /src/botan/src/tests/tests.cpp:1072,1
    - Dst: good
      Src: /src/botan/src/tests/tests.cpp:1076,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1077,1
    - Dst: pop_front
      Src: /src/botan/src/tests/tests.cpp:1080,1
    - Dst: good
      Src: /src/botan/src/tests/tests.cpp:1083,1
    - Dst: std::getline
      Src: /src/botan/src/tests/tests.cpp:1085,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/tests.cpp:1087,1
    - Dst: std::string::starts_with
      Src: /src/botan/src/tests/tests.cpp:1092,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1044
    functionDepth: 2
    functionLinenumber: 1044
    functionLinenumberEnd: 1102
    functionName: Botan_Tests::Text_Based_Test::get_next_line
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - std::getline
    - Botan::CPUID::initialize
    - assign
    - ends_with
    - Botan_Tests::Test::files_in_data_dir
    - Botan_Tests::Test::data_file
    - clear
    - empty
    - Test_Error
    - auto::begin
    - push_back
    - std::string::empty
    - auto::end
    - pop_front
    - std::make_unique<std::ifstream>
    - std::string::starts_with
    - good
    linkageType: ''
    returnType: std::string
    signature: std::string Text_Based_Test::get_next_line()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/botan/src/tests/tests.cpp:1110,1
    - Dst: find_last_not_of
      Src: /src/botan/src/tests/tests.cpp:1115,1
    - Dst: substr
      Src: /src/botan/src/tests/tests.cpp:1117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 1118
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1118
    functionName: Botan_Tests::strip_ws
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - substr
    - find_first_not_of
    - find_last_not_of
    linkageType: ''
    returnType: std::string
    signature: std::string strip_ws(const std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/tests.cpp:1124,1
    - Dst: Botan::CPUID::bit_from_string
      Src: /src/botan/src/tests/tests.cpp:1125,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/tests.cpp:1126,1
    - Dst: auto::to_string
      Src: /src/botan/src/tests/tests.cpp:1126,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/tests.cpp:1130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' tok'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 1134
      start: 1120
    functionDepth: 1
    functionLinenumber: 1120
    functionLinenumberEnd: 1134
    functionName: Botan_Tests::parse_cpuid_bits
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - size
    - Botan::CPUID::bit_from_string
    - std::vector::push_back
    - auto::to_string
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> parse_cpuid_bits(const std::vector<std::string>&
      tok)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1140
    functionName: Botan_Tests::Text_Based_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Text_Based_Test::skip_this_test(const std::string& /*header*/,
      const VarMap& /*vars*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Text_Based_Test::get_next_line
      Src: /src/botan/src/tests/tests.cpp:1150,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/tests.cpp:1151,1
    - Dst: std::string::starts_with
      Src: /src/botan/src/tests/tests.cpp:1156,1
    - Dst: Botan::split_on
      Src: /src/botan/src/tests/tests.cpp:1157,1
    - Dst: std::string::substr
      Src: /src/botan/src/tests/tests.cpp:1157,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/tests.cpp:1159,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1160,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1164,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/tests/tests.cpp:1167,1
    - Dst: Botan_Tests::Text_Based_Test::test_name
      Src: /src/botan/src/tests/tests.cpp:1167,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1168,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/tests.cpp:1168,1
    - Dst: Botan_Tests::Text_Based_Test::test_name
      Src: /src/botan/src/tests/tests.cpp:1168,1
    - Dst: parse_cpuid_bits
      Src: /src/botan/src/tests/tests.cpp:1171,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1175,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/tests.cpp:1178,1
    - Dst: std::string::substr
      Src: /src/botan/src/tests/tests.cpp:1179,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/tests.cpp:1179,1
    - Dst: VarMap::clear
      Src: /src/botan/src/tests/tests.cpp:1182,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/tests.cpp:1186,1
    - Dst: std::string::find_first_of
      Src: /src/botan/src/tests/tests.cpp:1188,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/tests.cpp:1191,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/tests.cpp:1191,1
    - Dst: strip_ws
      Src: /src/botan/src/tests/tests.cpp:1195,1
    - Dst: std::string
      Src: /src/botan/src/tests/tests.cpp:1195,1
    - Dst: std::string::begin
      Src: /src/botan/src/tests/tests.cpp:1195,1
    - Dst: std::string::begin
      Src: /src/botan/src/tests/tests.cpp:1195,1
    - Dst: strip_ws
      Src: /src/botan/src/tests/tests.cpp:1196,1
    - Dst: std::string
      Src: /src/botan/src/tests/tests.cpp:1196,1
    - Dst: std::string::begin
      Src: /src/botan/src/tests/tests.cpp:1196,1
    - Dst: std::string::end
      Src: /src/botan/src/tests/tests.cpp:1196,1
    - Dst: contains
      Src: /src/botan/src/tests/tests.cpp:1198,1
    - Dst: contains
      Src: /src/botan/src/tests/tests.cpp:1198,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/tests.cpp:1199,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/tests.cpp:1199,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/tests.cpp:1200,1
    - Dst: VarMap::add
      Src: /src/botan/src/tests/tests.cpp:1203,1
    - Dst: VarMap::has_key
      Src: /src/botan/src/tests/tests.cpp:1208,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/tests.cpp:1210,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/tests.cpp:1210,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/tests.cpp:1211,1
    - Dst: Botan_Tests::Text_Based_Test::skip_this_test
      Src: /src/botan/src/tests/tests.cpp:1215,1
    - Dst: run_one_test
      Src: /src/botan/src/tests/tests.cpp:1223,1
    - Dst: empty
      Src: /src/botan/src/tests/tests.cpp:1225,1
    - Dst: Botan::CPUFeature::from_string
      Src: /src/botan/src/tests/tests.cpp:1227,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/tests/tests.cpp:1228,1
    - Dst: Botan::CPUID::clear_cpuid_bit
      Src: /src/botan/src/tests/tests.cpp:1229,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/tests.cpp:1231,1
    - Dst: run_one_test
      Src: /src/botan/src/tests/tests.cpp:1231,1
    - Dst: Botan::CPUID::initialize
      Src: /src/botan/src/tests/tests.cpp:1235,1
    - Dst: Test::Result::set_ns_consumed
      Src: /src/botan/src/tests/tests.cpp:1238,1
    - Dst: Botan_Tests::Test::timestamp
      Src: /src/botan/src/tests/tests.cpp:1238,1
    - Dst: Test::Result::tests_failed
      Src: /src/botan/src/tests/tests.cpp:1240,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/tests.cpp:1243,1
    - Dst: VarMap::get_req_str
      Src: /src/botan/src/tests/tests.cpp:1249,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/tests.cpp:1252,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:1252,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/tests.cpp:1254,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/tests.cpp:1258,1
    - Dst: VarMap::get_req_str
      Src: /src/botan/src/tests/tests.cpp:1263,1
    - Dst: what
      Src: /src/botan/src/tests/tests.cpp:1266,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/tests.cpp:1268,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/tests.cpp:1268,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/tests.cpp:1268,1
    - Dst: Botan_Tests::Text_Based_Test::clear_between_callbacks
      Src: /src/botan/src/tests/tests.cpp:1271,1
    - Dst: VarMap::clear
      Src: /src/botan/src/tests/tests.cpp:1272,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/tests.cpp:1277,1
    - Dst: Botan_Tests::Text_Based_Test::run_final_tests
      Src: /src/botan/src/tests/tests.cpp:1282,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/tests.cpp:1283,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/tests.cpp:1283,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/tests.cpp:1283,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/tests.cpp:1283,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/tests.cpp:1285,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/tests.cpp:1285,1
    - Dst: std::string
      Src: /src/botan/src/tests/tests.cpp:1285,1
    - Dst: what
      Src: /src/botan/src/tests/tests.cpp:1285,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1142
    functionDepth: 3
    functionLinenumber: 1142
    functionLinenumberEnd: 1291
    functionName: Botan_Tests::Text_Based_Test::run
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::CPUFeature::from_string
    - std::string::size
    - Botan_Tests::Text_Based_Test::skip_this_test
    - contains
    - Botan_Tests::Text_Based_Test::run_final_tests
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - std::vector::begin
    - std::to_string
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    - std::vector::push_back
    - std::string::empty
    - VarMap::clear
    - std::string::end
    - Botan_Tests::Text_Based_Test::clear_between_callbacks
    - Test::Result::test_note
    - std::vector::empty
    - strip_ws
    - what
    - Test::Result::merge
    - Botan::CPUID::clear_cpuid_bit
    - Botan_Tests::Test::timestamp
    - std::vector::end
    - Botan::CPUID::initialize
    - Test::Result::tests_failed
    - std::string
    - VarMap::get_req_str
    - Test::Result::set_ns_consumed
    - Test_Error
    - empty
    - parse_cpuid_bits
    - Botan_Tests::Text_Based_Test::get_next_line
    - Botan_Tests::Test::Result::Failure
    - std::string::find_first_of
    - std::ostringstream::str
    - VarMap::add
    - run_one_test
    - Botan::split_on
    - Botan_Tests::Text_Based_Test::test_name
    - std::vector::insert
    - VarMap::has_key
    - std::string::begin
    - Botan::fmt
    - std::string::substr
    - std::string::starts_with
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> Text_Based_Test::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/tests/tests.cpp:1297,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/tests.cpp:1300,1
    - Dst: std::map::insert_or_assign
      Src: /src/botan/src/tests/tests.cpp:1303,1
    - Dst: substr
      Src: /src/botan/src/tests/tests.cpp:1303,1
    - Dst: substr
      Src: /src/botan/src/tests/tests.cpp:1303,1
    - Dst: size
      Src: /src/botan/src/tests/tests.cpp:1303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1293
    functionDepth: 1
    functionLinenumber: 1293
    functionLinenumberEnd: 1307
    functionName: Botan_Tests::Test_Options::report_properties
    functionSourceFile: /src/botan/src/tests/tests.cpp
    functionUses: 0
    functionsReached:
    - size
    - Test_Error
    - find
    - substr
    - std::map::insert_or_assign
    linkageType: ''
    returnType: std::map<std::string, std::string>
    signature: std::map<std::string, std::string> Test_Options::report_properties()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:28,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:28,1
    - Dst: Botan::load_be<uint32_t>
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:32,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:32,1
    - Dst: std::make_pair
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:35,1
    - Dst: Botan::Sphincs_Address
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:35,1
    - Dst: Botan::TreeNodeIndex
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - address_buffer
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: Botan_Tests::SPHINCS_Plus_WOTS_Test::read_address_and_leaf_idx
    functionSourceFile: /src/botan/src/tests/test_sphincsplus_wots.cpp
    functionUses: 0
    functionsReached:
    - Botan::TreeNodeIndex
    - BOTAN_ASSERT_NOMSG
    - Botan::load_be<uint32_t>
    - std::span<const uint8_t>::size
    - std::make_pair
    - std::span<const uint8_t>::data
    - Botan::Sphincs_Address
    linkageType: ''
    returnType: std::pair<Botan::Sphincs_Address, Botan::TreeNodeIndex>
    signature: "std::pair<Botan::Sphincs_Address, Botan::TreeNodeIndex> read_address_and_leaf_idx(\n
      \        std::span<const uint8_t> address_buffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan_Tests::SPHINCS_Plus_WOTS_Test::SPHINCS_Plus_WOTS_Test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus_wots.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SPHINCS_Plus_WOTS_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:44,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:44,1
    - Dst: auto::is_available
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: Botan_Tests::SPHINCS_Plus_WOTS_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus_wots.cpp
    functionUses: 0
    functionsReached:
    - auto::is_available
    - Botan::Sphincs_Parameters::create
    - get_req_str
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:51,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:51,1
    - Dst: Botan::SphincsSecretSeed
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:54,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:54,1
    - Dst: Botan::SphincsPublicSeed
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:55,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:55,1
    - Dst: Botan::SphincsTreeNode
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:56,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:56,1
    - Dst: Botan::SphincsTreeNode
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:57,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:57,1
    - Dst: Botan::WotsSignature
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:58,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:58,1
    - Dst: Botan::Sphincs_Hash_Functions::create
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:60,1
    - Dst: auto::hash_type
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:66,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:72,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:75,1
    - Dst: Botan::Sphincs_Address::as_subtree_from
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:80,1
    - Dst: Botan::Sphincs_Address::as_subtree_from
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:81,1
    - Dst: Botan::Sphincs_Address::as_subtree_from
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:85,1
    - Dst: auto::set_keypair_address
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:87,1
    - Dst: Botan::chain_lengths
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:90,1
    - Dst: auto::n
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:93,1
    - Dst: auto::wots_len
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:93,1
    - Dst: auto::n
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:94,1
    - Dst: wots_sign_and_pkgen
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:95,1
    - Dst: Botan::StrongSpan<Botan::WotsSignature>
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:95,1
    - Dst: Botan::StrongSpan<Botan::SphincsTreeNode>
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:96,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:106,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:106,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:106,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:107,1
    - Dst: Botan::wots_public_key_from_signature
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:111,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:114,1
    - Dst: auto::T
      Src: /src/botan/src/tests/test_sphincsplus_wots.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 119
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 119
    functionName: Botan_Tests::SPHINCS_Plus_WOTS_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus_wots.cpp
    functionUses: 0
    functionsReached:
    - Botan::SphincsPublicSeed
    - Botan::SphincsSecretSeed
    - Botan::chain_lengths
    - auto::set_keypair_address
    - auto::hash_type
    - auto::process
    - auto::wots_len
    - Test::Result::test_note
    - Botan::Sphincs_Hash_Functions::create
    - Botan::StrongSpan<Botan::SphincsTreeNode>
    - Botan::SphincsTreeNode
    - get_req_bin
    - Botan::WotsSignature
    - Botan::StrongSpan<Botan::WotsSignature>
    - get_req_str
    - Botan::wots_public_key_from_signature
    - Botan::Sphincs_Parameters::create
    - auto::n
    - auto::T
    - Botan::HashFunction::create
    - wots_sign_and_pkgen
    - Test::Result::test_is_eq
    - Botan::Sphincs_Address::as_subtree_from
    - auto::get
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string&, const VarMap& vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: require
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:28,1
    - Dst: has_value
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:28,1
    - Dst: std::holds_alternative<T>
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:29,1
    - Dst: value
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' test_result'
    - ' read_result'
    argTypes:
    - Test::Result
    - std::optional<Handshake_Message_13>
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: Botan_Tests::has_message
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - std::holds_alternative<T>
    - value
    - has_value
    - require
    linkageType: ''
    returnType: bool
    signature: bool has_message(Test::Result& test_result, const std::optional<Handshake_Message_13>&
      read_result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: require
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:35,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:35,1
    - Dst: std::get<T>
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:36,1
    - Dst: value
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' test_result'
    - ' read_result'
    argTypes:
    - Test::Result
    - std::optional<Handshake_Message_13>
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: Botan_Tests::get_message
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - value
    - std::get<T>
    - require
    - Botan_Tests::has_message
    linkageType: ''
    returnType: Handshake_Message_13
    signature: "Handshake_Message_13 & get_message(Test::Result& test_result,\n                                        const
      std::optional<Handshake_Message_13>& read_result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:144,1
    - Dst: current
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' result'
    - ' transcript_hash'
    argTypes:
    - Test::Result
    - Transcript_Hash_State
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: Botan_Tests::check_transcript_hash_empty
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - current
    - test_throws
    linkageType: ''
    returnType: void
    signature: void check_transcript_hash_empty(Test::Result& result, const Transcript_Hash_State&
      transcript_hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:148,1
    - Dst: current
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' result'
    - ' transcript_hash'
    argTypes:
    - Test::Result
    - Transcript_Hash_State
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: Botan_Tests::check_transcript_hash_filled
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - test_no_throw
    - current
    linkageType: ''
    returnType: void
    signature: void check_transcript_hash_filled(Test::Result& result, const Transcript_Hash_State&
      transcript_hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:153,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:157,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:157,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:157,1
    - Dst: Botan_Tests::check_transcript_hash_empty
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:158,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:161,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:165,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:166,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:166,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:166,1
    - Dst: Botan_Tests::check_transcript_hash_empty
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:167,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:170,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:174,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:175,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:175,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:175,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:175,1
    - Dst: Botan_Tests::check_transcript_hash_filled
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:176,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:179,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:183,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:184,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:184,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:184,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:184,1
    - Dst: Botan_Tests::check_transcript_hash_filled
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:185,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:188,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:192,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:193,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:194,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:194,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:194,1
    - Dst: Botan_Tests::check_transcript_hash_filled
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:195,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:198,1
    - Dst: cbegin
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:203,1
    - Dst: cend
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:204,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:205,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:206,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:206,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:206,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:207,1
    - Dst: Handshake_Layer::has_pending_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:207,1
    - Dst: cend
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:209,1
    - Dst: cend
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:210,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:211,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:212,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:212,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:212,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:212,1
    - Dst: Botan_Tests::check_transcript_hash_filled
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:214,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:217,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:221,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:221,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:222,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:222,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:222,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:222,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:223,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:224,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:224,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:224,1
    - Dst: Botan_Tests::check_transcript_hash_filled
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:225,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:228,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:234,1
    - Dst: template test_throws<TLS_Exception>
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:235,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:237,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:237,1
    - Dst: Botan_Tests::check_transcript_hash_empty
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:239,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:243,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:250,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:255,1
    - Dst: template test_throws<TLS_Exception>
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:256,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:257,1
    - Dst: Policy
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 260
    functionName: Botan_Tests::read_handshake_messages
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Handshake_Layer::has_pending_data
    - Policy
    - Botan_Tests::has_message
    - template test_throws<TLS_Exception>
    - Botan_Tests::check_transcript_hash_filled
    - Handshake_Layer::next_message
    - confirm
    - cbegin
    - Botan::hex_decode_locked
    - Botan_Tests::check_transcript_hash_empty
    - Handshake_Layer::copy_data
    - Botan::concat
    - cend
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> read_handshake_messages()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:264,1
    - Dst: std::get<Client_Hello_13>
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:266,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:267,1
    - Dst: cbegin
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:267,1
    - Dst: cend
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:267,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:270,1
    - Dst: Handshake_Layer::prepare_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:270,1
    - Dst: Botan_Tests::check_transcript_hash_filled
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:271,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:274,1
    - Dst: std::get<Server_Hello_13>
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:276,1
    - Dst: Botan::TLS::Server_Hello_13::parse
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:277,1
    - Dst: cbegin
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:277,1
    - Dst: cend
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:277,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:280,1
    - Dst: Handshake_Layer::prepare_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:280,1
    - Dst: Botan_Tests::check_transcript_hash_filled
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 284
    functionName: Botan_Tests::prepare_message
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan::TLS::Client_Hello_13::parse
    - Botan_Tests::check_transcript_hash_filled
    - cbegin
    - std::get<Client_Hello_13>
    - Handshake_Layer::prepare_message
    - std::get<Server_Hello_13>
    - Botan::TLS::Server_Hello_13::parse
    - cend
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> prepare_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:293,1
    - Dst: std::get<Client_Hello_13>
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:295,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:296,1
    - Dst: cbegin
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:296,1
    - Dst: cend
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:296,1
    - Dst: Handshake_Layer::prepare_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:297,1
    - Dst: Botan_Tests::check_transcript_hash_empty
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:298,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:301,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:303,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:305,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:306,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:306,1
    - Dst: Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:309,1
    - Dst: Botan_Tests::check_transcript_hash_filled
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:311,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:313,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:316,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:317,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:320,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:322,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:324,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:325,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:325,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:327,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:328,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:328,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:330,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:333,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:334,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:334,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:335,1
    - Dst: Transcript_Hash_State::previous
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:335,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:337,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:340,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:341,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:341,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:342,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:342,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:345,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:347,1
    - Dst: cbegin
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:350,1
    - Dst: cend
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:350,1
    - Dst: Handshake_Layer::prepare_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:351,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:352,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 355
    functionName: Botan_Tests::full_client_handshake
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan::TLS::Client_Hello_13::parse
    - Transcript_Hash_State::previous
    - Botan_Tests::has_message
    - Transcript_Hash_State::current
    - Botan::hex_decode
    - Botan_Tests::check_transcript_hash_filled
    - cbegin
    - Handshake_Layer::next_message
    - confirm
    - std::get<Client_Hello_13>
    - Handshake_Layer::prepare_message
    - Botan_Tests::check_transcript_hash_empty
    - Handshake_Layer::copy_data
    - cend
    - Transcript_Hash_State::set_algorithm
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> full_client_handshake()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:364,1
    - Dst: std::get<Client_Hello_13>
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:366,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:367,1
    - Dst: cbegin
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:367,1
    - Dst: cend
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:367,1
    - Dst: Handshake_Layer::prepare_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:368,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:369,1
    - Dst: Botan_Tests::check_transcript_hash_empty
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:370,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:373,1
    - Dst: Handshake_Layer::copy_data
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:375,1
    - Dst: Handshake_Layer::next_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:377,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:378,1
    - Dst: Botan_Tests::has_message
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:378,1
    - Dst: Botan::TLS::Transcript_Hash_State::recreate_after_hello_retry_request
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:382,1
    - Dst: Botan_Tests::check_transcript_hash_filled
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:384,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:387,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:389,1
    - Dst: Transcript_Hash_State::current
      Src: /src/botan/src/tests/test_tls_handshake_layer_13.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 396
    functionName: Botan_Tests::hello_retry_request_handshake
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan::TLS::Client_Hello_13::parse
    - Botan::TLS::Transcript_Hash_State::recreate_after_hello_retry_request
    - Botan_Tests::has_message
    - Transcript_Hash_State::current
    - Botan::hex_decode
    - Botan_Tests::check_transcript_hash_filled
    - cbegin
    - Handshake_Layer::next_message
    - confirm
    - std::get<Client_Hello_13>
    - Handshake_Layer::prepare_message
    - Botan_Tests::check_transcript_hash_empty
    - Handshake_Layer::copy_data
    - cend
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> hello_retry_request_handshake()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/test_pubkey_pqc.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' algo_name'
    - ' input_file'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: Botan_Tests::PK_PQC_KEM_KAT_Test::PK_PQC_KEM_KAT_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: void
    signature: "void PK_PQC_KEM_KAT_Test(const std::string& algo_name,\n                          const
      std::string& input_file,\n                          const std::string& further_optional_keys
      = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_pubkey_pqc.h:66,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_pubkey_pqc.h:67,1
    - Dst: empty
      Src: /src/botan/src/tests/test_pubkey_pqc.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' params'
    - ' rng_keygen'
    - ' result'
    argTypes:
    - std::string
    - Fixed_Output_RNG
    - Test::Result
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: Botan_Tests::PK_PQC_KEM_KAT_Test::inspect_rng_after_keygen
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - empty
    - BOTAN_UNUSED
    - confirm
    linkageType: ''
    returnType: void
    signature: "void inspect_rng_after_keygen(const std::string& params,\n                                            const
      Fixed_Output_RNG& rng_keygen,\n                                            Test::Result&
      result) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_pubkey_pqc.h:74,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_pubkey_pqc.h:75,1
    - Dst: empty
      Src: /src/botan/src/tests/test_pubkey_pqc.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' params'
    - ' rng_encaps'
    - ' result'
    argTypes:
    - std::string
    - Fixed_Output_RNG
    - Test::Result
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: Botan_Tests::PK_PQC_KEM_KAT_Test::inspect_rng_after_encaps
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - empty
    - BOTAN_UNUSED
    - confirm
    linkageType: ''
    returnType: void
    signature: "void inspect_rng_after_encaps(const std::string& params,\n                                            const
      Fixed_Output_RNG& rng_encaps,\n                                            Test::Result&
      result) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_pubkey_pqc.h:81,1
    - Dst: is_available
      Src: /src/botan/src/tests/test_pubkey_pqc.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: Botan_Tests::PK_PQC_KEM_KAT_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - is_available
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& params, const VarMap&) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CTR_DRBG_AES256>
      Src: /src/botan/src/tests/test_pubkey_pqc.h:90,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_pubkey_pqc.h:92,1
    - Dst: Botan_Tests::Test_Error::Test_Error
      Src: /src/botan/src/tests/test_pubkey_pqc.h:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - seed
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: Botan_Tests::PK_PQC_KEM_KAT_Test::create_drbg
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - std::make_unique<CTR_DRBG_AES256>
    - Botan_Tests::Test_Error::Test_Error
    linkageType: ''
    returnType: std::unique_ptr<Botan::RandomNumberGenerator>
    signature: std::unique_ptr<Botan::RandomNumberGenerator> create_drbg(std::span<const
      uint8_t> seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:98,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey_pqc.h:98,1
    - Dst: Botan_Tests::PK_PQC_KEM_KAT_Test::create_drbg
      Src: /src/botan/src/tests/test_pubkey_pqc.h:104,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:104,1
    - Dst: rng_for_keygen
      Src: /src/botan/src/tests/test_pubkey_pqc.h:105,1
    - Dst: rng_for_encapsulation
      Src: /src/botan/src/tests/test_pubkey_pqc.h:106,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:109,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey_pqc.h:109,1
    - Dst: Test::Result::test_not_null
      Src: /src/botan/src/tests/test_pubkey_pqc.h:110,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:113,1
    - Dst: map_value
      Src: /src/botan/src/tests/test_pubkey_pqc.h:114,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/tests/test_pubkey_pqc.h:114,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:115,1
    - Dst: Botan_Tests::PK_PQC_KEM_KAT_Test::inspect_rng_after_keygen
      Src: /src/botan/src/tests/test_pubkey_pqc.h:116,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:119,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey_pqc.h:119,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey_pqc.h:119,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey_pqc.h:120,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey_pqc.h:121,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_pubkey_pqc.h:122,1
    - Dst: auto::estimated_strength
      Src: /src/botan/src/tests/test_pubkey_pqc.h:122,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:123,1
    - Dst: auto::estimated_strength
      Src: /src/botan/src/tests/test_pubkey_pqc.h:123,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:126,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:127,1
    - Dst: map_value
      Src: /src/botan/src/tests/test_pubkey_pqc.h:128,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_pubkey_pqc.h:128,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:129,1
    - Dst: Botan::load_public_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:132,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_pubkey_pqc.h:132,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_pubkey_pqc.h:132,1
    - Dst: Test::Result::test_not_null
      Src: /src/botan/src/tests/test_pubkey_pqc.h:133,1
    - Dst: Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
      Src: /src/botan/src/tests/test_pubkey_pqc.h:138,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:139,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:140,1
    - Dst: map_value
      Src: /src/botan/src/tests/test_pubkey_pqc.h:141,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:141,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:141,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:142,1
    - Dst: map_value
      Src: /src/botan/src/tests/test_pubkey_pqc.h:143,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:143,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:144,1
    - Dst: Botan_Tests::PK_PQC_KEM_KAT_Test::inspect_rng_after_encaps
      Src: /src/botan/src/tests/test_pubkey_pqc.h:145,1
    - Dst: Botan::load_private_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:148,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_pubkey_pqc.h:148,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_pubkey_pqc.h:148,1
    - Dst: Test::Result::test_not_null
      Src: /src/botan/src/tests/test_pubkey_pqc.h:149,1
    - Dst: Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
      Src: /src/botan/src/tests/test_pubkey_pqc.h:154,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:155,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:155,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:156,1
    - Dst: Botan::lock
      Src: /src/botan/src/tests/test_pubkey_pqc.h:156,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:156,1
    - Dst: has_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:158,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:160,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:160,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:161,1
    - Dst: Botan::lock
      Src: /src/botan/src/tests/test_pubkey_pqc.h:162,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - ' params'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 166
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 166
    functionName: Botan_Tests::PK_PQC_KEM_KAT_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - Botan::lock
    - auto::decrypt
    - Test::Result::test_eq
    - Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
    - has_key
    - auto::algorithm_identifier
    - Test::Result::confirm
    - auto::raw_private_key_bits
    - Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
    - Botan_Tests::PK_PQC_KEM_KAT_Test::create_drbg
    - auto::supports_operation
    - get_req_bin
    - Botan_Tests::PK_PQC_KEM_KAT_Test::inspect_rng_after_keygen
    - auto::estimated_strength
    - Test::Result::test_gte
    - algo_name
    - Botan::create_private_key
    - auto::encrypt
    - rng_for_encapsulation
    - auto::algo_name
    - map_value
    - auto::shared_key
    - auto::public_key
    - Botan::load_public_key
    - auto::encapsulated_shared_key
    - rng_for_keygen
    - auto::public_key_bits
    - Test::Result::test_is_eq
    - auto::private_key_bits
    - Test::Result::test_not_null
    - Botan::fmt
    - Botan_Tests::PK_PQC_KEM_KAT_Test::inspect_rng_after_encaps
    - Test::Result::test_lt
    - Botan::load_private_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& params, const VarMap&
      vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/test_pubkey_pqc.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' algo_name'
    - ' input_file'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_KeyGen_Test::PK_PQC_KEM_ACVP_KAT_KeyGen_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: void
    signature: "void PK_PQC_KEM_ACVP_KAT_KeyGen_Test(const std::string& algo_name,\n
      \                                     const std::string& input_file,\n                                      const
      std::string& further_optional_keys = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/tests/test_pubkey_pqc.h:189,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_pubkey_pqc.h:190,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:191,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_KeyGen_Test::compress_value
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::process
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> compress_value(std::span<const uint8_t> value)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_available
      Src: /src/botan/src/tests/test_pubkey_pqc.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_KeyGen_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - is_available
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& params, const VarMap&) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:198,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey_pqc.h:198,1
    - Dst: rng_for_keygen
      Src: /src/botan/src/tests/test_pubkey_pqc.h:200,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:203,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey_pqc.h:203,1
    - Dst: Test::Result::test_not_null
      Src: /src/botan/src/tests/test_pubkey_pqc.h:204,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:207,1
    - Dst: Botan_Tests::PK_PQC_KEM_ACVP_KAT_KeyGen_Test::compress_value
      Src: /src/botan/src/tests/test_pubkey_pqc.h:207,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/tests/test_pubkey_pqc.h:207,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:207,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:210,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_pubkey_pqc.h:210,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey_pqc.h:210,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey_pqc.h:211,1
    - Dst: auto::supports_operation
      Src: /src/botan/src/tests/test_pubkey_pqc.h:212,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_pubkey_pqc.h:213,1
    - Dst: auto::estimated_strength
      Src: /src/botan/src/tests/test_pubkey_pqc.h:213,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:214,1
    - Dst: auto::estimated_strength
      Src: /src/botan/src/tests/test_pubkey_pqc.h:214,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:217,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:218,1
    - Dst: Botan_Tests::PK_PQC_KEM_ACVP_KAT_KeyGen_Test::compress_value
      Src: /src/botan/src/tests/test_pubkey_pqc.h:218,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_pubkey_pqc.h:218,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:218,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey_pqc.h:220,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_pubkey_pqc.h:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ' params'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 223
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 223
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_KeyGen_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Test::Result::confirm
    - auto::raw_private_key_bits
    - auto::supports_operation
    - get_req_bin
    - auto::estimated_strength
    - Test::Result::test_gte
    - algo_name
    - Botan::create_private_key
    - auto::algo_name
    - auto::public_key
    - Botan_Tests::PK_PQC_KEM_ACVP_KAT_KeyGen_Test::compress_value
    - rng_for_keygen
    - auto::public_key_bits
    - Test::Result::test_is_eq
    - Test::Result::test_not_null
    - Botan::fmt
    - auto::empty
    - Test::Result::test_lt
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& params, const VarMap&
      vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' algo_name'
    - ' input_file'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_Encap_Test::PK_PQC_KEM_ACVP_KAT_Encap_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_PQC_KEM_ACVP_KAT_Encap_Test(const std::string& algo_name, const
      std::string& input_file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fixed_Output_RNG
      Src: /src/botan/src/tests/test_pubkey_pqc.h:233,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_Encap_Test::rng_for_encap
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - get_req_bin
    - Fixed_Output_RNG
    linkageType: ''
    returnType: Fixed_Output_RNG
    signature: Fixed_Output_RNG rng_for_encap(const VarMap& vars) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_available
      Src: /src/botan/src/tests/test_pubkey_pqc.h:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_Encap_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - is_available
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& params, const VarMap&) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/tests/test_pubkey_pqc.h:247,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_pubkey_pqc.h:248,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:249,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_Encap_Test::compress_value
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::process
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> compress_value(std::span<const uint8_t> value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:253,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey_pqc.h:253,1
    - Dst: Botan_Tests::PK_PQC_KEM_ACVP_KAT_Encap_Test::rng_for_encap
      Src: /src/botan/src/tests/test_pubkey_pqc.h:255,1
    - Dst: load_public_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:256,1
    - Dst: Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
      Src: /src/botan/src/tests/test_pubkey_pqc.h:258,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:259,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:260,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:260,1
    - Dst: Botan::lock
      Src: /src/botan/src/tests/test_pubkey_pqc.h:260,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:260,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:261,1
    - Dst: Botan_Tests::PK_PQC_KEM_ACVP_KAT_Encap_Test::compress_value
      Src: /src/botan/src/tests/test_pubkey_pqc.h:261,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:261,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:261,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pubkey_pqc.h:263,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_pubkey_pqc.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' params'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 266
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 266
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_Encap_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - auto::encapsulated_shared_key
    - algo_name
    - Botan::lock
    - Botan_Tests::PK_PQC_KEM_ACVP_KAT_Encap_Test::rng_for_encap
    - Test::Result::confirm
    - auto::empty
    - Test::Result::test_is_eq
    - auto::encrypt
    - get_req_bin
    - Botan::fmt
    - load_public_key
    - auto::shared_key
    - Botan_Tests::PK_PQC_KEM_ACVP_KAT_Encap_Test::compress_value
    - Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& params, const VarMap&
      vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' algo_name'
    - ' input_file'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 272
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 272
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_Decap_Test::PK_PQC_KEM_ACVP_KAT_Decap_Test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_PQC_KEM_ACVP_KAT_Decap_Test(const std::string& algo_name, const
      std::string& input_file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_available
      Src: /src/botan/src/tests/test_pubkey_pqc.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_Decap_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - is_available
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& params, const VarMap&) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:284,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_pubkey_pqc.h:284,1
    - Dst: load_private_key
      Src: /src/botan/src/tests/test_pubkey_pqc.h:286,1
    - Dst: Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
      Src: /src/botan/src/tests/test_pubkey_pqc.h:289,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_pubkey_pqc.h:290,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:290,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pubkey_pqc.h:291,1
    - Dst: Botan::lock
      Src: /src/botan/src/tests/test_pubkey_pqc.h:291,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pubkey_pqc.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' params'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 294
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 294
    functionName: Botan_Tests::PK_PQC_KEM_ACVP_KAT_Decap_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pubkey_pqc.h
    functionUses: 0
    functionsReached:
    - algo_name
    - Botan::lock
    - auto::decrypt
    - load_private_key
    - Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
    - Test::Result::test_is_eq
    - get_req_bin
    - Botan::fmt
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& params, const VarMap&
      vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan_Tests::foo
    functionSourceFile: /src/botan/src/tests/test_strong_type.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string foo(Test_Size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan_Tests::foo
    functionSourceFile: /src/botan/src/tests/test_strong_type.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string foo(Test_Length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:42,1
    - Dst: Test_Size
      Src: /src/botan/src/tests/test_strong_type.cpp:51,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:54,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:59,1
    - Dst: Test_Size::get
      Src: /src/botan/src/tests/test_strong_type.cpp:59,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:60,1
    - Dst: Test_Size::get
      Src: /src/botan/src/tests/test_strong_type.cpp:60,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:63,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:68,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:69,1
    - Dst: Test_Size
      Src: /src/botan/src/tests/test_strong_type.cpp:69,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:70,1
    - Dst: Test_Size
      Src: /src/botan/src/tests/test_strong_type.cpp:70,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:73,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:75,1
    - Dst: Botan_Tests::foo
      Src: /src/botan/src/tests/test_strong_type.cpp:75,1
    - Dst: Test_Size
      Src: /src/botan/src/tests/test_strong_type.cpp:75,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:76,1
    - Dst: Botan_Tests::foo
      Src: /src/botan/src/tests/test_strong_type.cpp:76,1
    - Dst: Test_Length
      Src: /src/botan/src/tests/test_strong_type.cpp:76,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:79,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:81,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:82,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:83,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:84,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:85,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 89
    functionName: Botan_Tests::test_strong_type
    functionSourceFile: /src/botan/src/tests/test_strong_type.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Test_Size::get
    - test_is_eq
    - Test_Length
    - confirm
    - Botan_Tests::foo
    - Test_Size
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_strong_type()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:93,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_strong_type.cpp:96,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:99,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_strong_type.cpp:101,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_strong_type.cpp:102,1
    - Dst: Test_Nonce
      Src: /src/botan/src/tests/test_strong_type.cpp:103,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:103,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:105,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_strong_type.cpp:105,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:106,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_strong_type.cpp:106,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:107,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_strong_type.cpp:107,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:110,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:114,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:120,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:121,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:122,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:123,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:125,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:126,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:127,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:128,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:130,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:131,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:132,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:133,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:136,1
    - Dst: size
      Src: /src/botan/src/tests/test_strong_type.cpp:138,1
    - Dst: Test_Nonce
      Src: /src/botan/src/tests/test_strong_type.cpp:140,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_strong_type.cpp:140,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:142,1
    - Dst: get_size
      Src: /src/botan/src/tests/test_strong_type.cpp:142,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_strong_type.cpp:142,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:145,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:151,1
    - Dst: std::stringstream::str
      Src: /src/botan/src/tests/test_strong_type.cpp:151,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_strong_type.cpp:151,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:154,1
    - Dst: Test_Length
      Src: /src/botan/src/tests/test_strong_type.cpp:158,1
    - Dst: Test_Length
      Src: /src/botan/src/tests/test_strong_type.cpp:158,1
    - Dst: Test_Length
      Src: /src/botan/src/tests/test_strong_type.cpp:158,1
    - Dst: Test_Length
      Src: /src/botan/src/tests/test_strong_type.cpp:158,1
    - Dst: std::sort
      Src: /src/botan/src/tests/test_strong_type.cpp:161,1
    - Dst: Test_Length_List::begin
      Src: /src/botan/src/tests/test_strong_type.cpp:161,1
    - Dst: Test_Length_List::end
      Src: /src/botan/src/tests/test_strong_type.cpp:161,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:163,1
    - Dst: Test_Length_List::get
      Src: /src/botan/src/tests/test_strong_type.cpp:163,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:164,1
    - Dst: Test_Length_List::get
      Src: /src/botan/src/tests/test_strong_type.cpp:164,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:165,1
    - Dst: Test_Length_List::get
      Src: /src/botan/src/tests/test_strong_type.cpp:165,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:166,1
    - Dst: Test_Length_List::get
      Src: /src/botan/src/tests/test_strong_type.cpp:166,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:169,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_strong_type.cpp:176,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_strong_type.cpp:177,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_strong_type.cpp:178,1
    - Dst: Fixed_Output_RNG::add_entropy
      Src: /src/botan/src/tests/test_strong_type.cpp:179,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_strong_type.cpp:179,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_strong_type.cpp:179,1
    - Dst: Fixed_Output_RNG::add_entropy
      Src: /src/botan/src/tests/test_strong_type.cpp:180,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_strong_type.cpp:180,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_strong_type.cpp:180,1
    - Dst: Fixed_Output_RNG::add_entropy
      Src: /src/botan/src/tests/test_strong_type.cpp:181,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_strong_type.cpp:181,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_strong_type.cpp:181,1
    - Dst: Fixed_Output_RNG::random_vec
      Src: /src/botan/src/tests/test_strong_type.cpp:183,1
    - Dst: Fixed_Output_RNG::random_vec
      Src: /src/botan/src/tests/test_strong_type.cpp:184,1
    - Dst: Fixed_Output_RNG::random_vec
      Src: /src/botan/src/tests/test_strong_type.cpp:186,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:188,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:188,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_strong_type.cpp:188,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:189,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:189,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_strong_type.cpp:189,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:190,1
    - Dst: std::vector
      Src: /src/botan/src/tests/test_strong_type.cpp:191,1
    - Dst: Test_Fixed_Array::begin
      Src: /src/botan/src/tests/test_strong_type.cpp:191,1
    - Dst: Test_Fixed_Array::end
      Src: /src/botan/src/tests/test_strong_type.cpp:191,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_strong_type.cpp:192,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:195,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:202,1
    - Dst: Test_Array::at
      Src: /src/botan/src/tests/test_strong_type.cpp:202,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_strong_type.cpp:203,1
    - Dst: Test_Array::at
      Src: /src/botan/src/tests/test_strong_type.cpp:203,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:206,1
    - Dst: Test_Map::at
      Src: /src/botan/src/tests/test_strong_type.cpp:206,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_strong_type.cpp:207,1
    - Dst: Test_Map::at
      Src: /src/botan/src/tests/test_strong_type.cpp:207,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:210,1
    - Dst: Test_Vector::at
      Src: /src/botan/src/tests/test_strong_type.cpp:210,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_strong_type.cpp:211,1
    - Dst: Test_Vector::at
      Src: /src/botan/src/tests/test_strong_type.cpp:211,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:214,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:221,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:224,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 230
    functionName: Botan_Tests::test_container_strong_type
    functionSourceFile: /src/botan/src/tests/test_strong_type.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Test_Array::at
    - std::vector
    - confirm
    - std::stringstream::str
    - Test_Length_List::end
    - Test_Fixed_Array::begin
    - get_size
    - Fixed_Output_RNG::add_entropy
    - auto::get
    - Botan::hex_decode
    - Test_Fixed_Array::end
    - std::string
    - Fixed_Output_RNG::random_vec
    - size
    - Test_Length
    - test_throws
    - Test_Map::at
    - std::move
    - test_eq
    - Test_Length_List::get
    - Test_Length_List::begin
    - test_is_eq
    - Botan::hex_decode_locked
    - auto::data
    - Test_Vector::at
    - auto::size
    - std::sort
    - auto::empty
    - Test_Nonce
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_container_strong_type()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:237,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:241,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:242,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:243,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:244,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:245,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:246,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:247,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:248,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:250,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:251,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:252,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:253,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:254,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:255,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:256,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:257,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:260,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:264,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:265,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:266,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:267,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:269,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:270,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:271,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:272,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:275,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:283,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:284,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:285,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:286,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:287,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:288,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:289,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:290,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:293,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:300,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:301,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:302,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:303,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:304,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:305,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:306,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:307,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:308,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:310,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:311,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:312,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:313,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:314,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:315,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:316,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:317,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:318,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:321,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:326,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:327,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:328,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:329,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:330,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:331,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:332,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:333,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:334,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:336,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:337,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:338,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:339,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:340,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:341,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:342,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:343,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:344,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:346,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:347,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:348,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:349,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:350,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:351,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:352,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:353,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:354,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:357,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:362,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:363,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:364,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:365,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:366,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:367,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:368,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:369,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:370,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:372,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:373,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:374,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:375,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:376,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:377,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:378,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:379,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:380,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:382,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:383,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:384,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:385,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:386,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:387,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:388,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:389,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 112
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 393
    functionName: Botan_Tests::test_integer_strong_type
    functionSourceFile: /src/botan/src/tests/test_strong_type.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - confirm
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_integer_strong_type()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: Botan_Tests::test_strong_helper
    functionSourceFile: /src/botan/src/tests/test_strong_type.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int test_strong_helper(const Botan::StrongSpan<Test_Foo>&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: Botan_Tests::test_strong_helper
    functionSourceFile: /src/botan/src/tests/test_strong_type.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int test_strong_helper(const Botan::StrongSpan<const Test_Foo>&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: Botan_Tests::test_strong_helper
    functionSourceFile: /src/botan/src/tests/test_strong_type.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int test_strong_helper(const Botan::StrongSpan<Test_Bar>&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_strong_type.cpp:413,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:414,1
    - Dst: Botan_Tests::test_strong_helper
      Src: /src/botan/src/tests/test_strong_type.cpp:414,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_strong_type.cpp:416,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:417,1
    - Dst: Botan_Tests::test_strong_helper
      Src: /src/botan/src/tests/test_strong_type.cpp:417,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:421,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:422,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:423,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:425,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 430
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 430
    functionName: Botan_Tests::test_strong_span
    functionSourceFile: /src/botan/src/tests/test_strong_type.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::confirm
    - Botan_Tests::test_strong_helper
    - Test::Result::test_is_eq
    - Botan::hex_decode
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_strong_span()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:439,1
    - Dst: Botan::wrap_strong_type<Strong_String>
      Src: /src/botan/src/tests/test_strong_type.cpp:443,1
    - Dst: Botan::wrap_strong_type<Strong_String>
      Src: /src/botan/src/tests/test_strong_type.cpp:444,1
    - Dst: Botan::wrap_strong_type<Strong_String>
      Src: /src/botan/src/tests/test_strong_type.cpp:445,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:445,1
    - Dst: Botan::wrap_strong_type<Strong_String>
      Src: /src/botan/src/tests/test_strong_type.cpp:446,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:448,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:448,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:449,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:449,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:450,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:450,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:451,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:451,1
    - Dst: std::make_unique<std::string>
      Src: /src/botan/src/tests/test_strong_type.cpp:455,1
    - Dst: Botan::wrap_strong_type<Strong_Unique>
      Src: /src/botan/src/tests/test_strong_type.cpp:457,1
    - Dst: std::string::string
      Src: /src/botan/src/tests/test_strong_type.cpp:457,1
    - Dst: Botan::wrap_strong_type<Strong_Unique>
      Src: /src/botan/src/tests/test_strong_type.cpp:458,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:458,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:460,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:460,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:461,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:461,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:464,1
    - Dst: Botan::wrap_strong_type<Strong_String>
      Src: /src/botan/src/tests/test_strong_type.cpp:469,1
    - Dst: Botan::wrap_strong_type<Strong_String>
      Src: /src/botan/src/tests/test_strong_type.cpp:470,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:470,1
    - Dst: Botan::wrap_strong_type<Strong_String>
      Src: /src/botan/src/tests/test_strong_type.cpp:471,1
    - Dst: Strong_String
      Src: /src/botan/src/tests/test_strong_type.cpp:471,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:473,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:473,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:474,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:474,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:475,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:475,1
    - Dst: std::make_unique<std::string>
      Src: /src/botan/src/tests/test_strong_type.cpp:477,1
    - Dst: Botan::wrap_strong_type<Strong_Unique>
      Src: /src/botan/src/tests/test_strong_type.cpp:479,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:479,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:481,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_strong_type.cpp:481,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:484,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:489,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:490,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:491,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:493,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:497,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:498,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:499,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:501,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:505,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:505,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:506,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:508,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:510,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:512,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:514,1
    - Dst: Strong_String
      Src: /src/botan/src/tests/test_strong_type.cpp:514,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:515,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:516,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:518,1
    - Dst: Strong_String
      Src: /src/botan/src/tests/test_strong_type.cpp:519,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:523,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:529,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:530,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:531,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:533,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:537,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:538,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:539,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:541,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:545,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:545,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:546,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:547,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:549,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:551,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:553,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_strong_type.cpp:553,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:554,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:555,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_strong_type.cpp:557,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_strong_type.cpp:558,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:562,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:568,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:569,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:570,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:570,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:571,1
    - Dst: Strong_String
      Src: /src/botan/src/tests/test_strong_type.cpp:571,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:573,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:574,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:575,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:576,1
    - Dst: std::make_unique<std::string>
      Src: /src/botan/src/tests/test_strong_type.cpp:578,1
    - Dst: std::make_unique<std::string>
      Src: /src/botan/src/tests/test_strong_type.cpp:579,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:581,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:582,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:582,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:584,1
    - Dst: std::make_unique<std::string>
      Src: /src/botan/src/tests/test_strong_type.cpp:584,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:586,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:587,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:588,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_strong_type.cpp:591,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:597,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:598,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:599,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:599,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:600,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_strong_type.cpp:600,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:602,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:603,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:604,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:605,1
    - Dst: std::make_unique<std::string>
      Src: /src/botan/src/tests/test_strong_type.cpp:607,1
    - Dst: std::make_unique<std::string>
      Src: /src/botan/src/tests/test_strong_type.cpp:608,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:610,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:611,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_strong_type.cpp:611,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/tests/test_strong_type.cpp:613,1
    - Dst: std::make_unique<std::string>
      Src: /src/botan/src/tests/test_strong_type.cpp:613,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:615,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:616,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_strong_type.cpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 620
      start: 432
    functionDepth: 3
    functionLinenumber: 432
    functionLinenumberEnd: 620
    functionName: Botan_Tests::test_wrapping_unwrapping
    functionSourceFile: /src/botan/src/tests/test_strong_type.cpp
    functionUses: 0
    functionsReached:
    - Strong_String
    - Botan_Tests::CHECK
    - std::make_unique<std::string>
    - Botan::wrap_strong_type<Strong_String>
    - Botan::unwrap_strong_type
    - std::string
    - confirm
    - std::move
    - Botan::wrap_strong_type<Strong_Unique>
    - auto::get
    - std::string::string
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_wrapping_unwrapping()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::extended_euclidean_algorithm<T>
      Src: /src/botan/src/tests/test_crystals.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan_Tests::gcd
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan::extended_euclidean_algorithm<T>
    linkageType: ''
    returnType: T
    signature: T gcd(T x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::extended_euclidean_algorithm<T>
      Src: /src/botan/src/tests/test_crystals.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan_Tests::v
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan::extended_euclidean_algorithm<T>
    linkageType: ''
    returnType: T
    signature: T v(T x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::extended_euclidean_algorithm<T>
      Src: /src/botan/src/tests/test_crystals.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan_Tests::u
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan::extended_euclidean_algorithm<T>
    linkageType: ''
    returnType: T
    signature: T u(T x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:52,1
    - Dst: Botan_Tests::gcd
      Src: /src/botan/src/tests/test_crystals.cpp:52,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:53,1
    - Dst: Botan_Tests::gcd
      Src: /src/botan/src/tests/test_crystals.cpp:53,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:54,1
    - Dst: Botan_Tests::gcd
      Src: /src/botan/src/tests/test_crystals.cpp:54,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:56,1
    - Dst: Botan_Tests::gcd
      Src: /src/botan/src/tests/test_crystals.cpp:56,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:57,1
    - Dst: Botan_Tests::gcd
      Src: /src/botan/src/tests/test_crystals.cpp:57,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:58,1
    - Dst: Botan_Tests::gcd
      Src: /src/botan/src/tests/test_crystals.cpp:58,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:60,1
    - Dst: Botan_Tests::u
      Src: /src/botan/src/tests/test_crystals.cpp:60,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:61,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_crystals.cpp:61,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:62,1
    - Dst: Botan_Tests::u
      Src: /src/botan/src/tests/test_crystals.cpp:62,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:64,1
    - Dst: Botan::modular_inverse<int16_t>
      Src: /src/botan/src/tests/test_crystals.cpp:64,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:65,1
    - Dst: Botan::modular_inverse<int32_t>
      Src: /src/botan/src/tests/test_crystals.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 68
    functionName: Botan_Tests::test_extended_euclidean_algorithm
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::gcd
    - Botan_Tests::v
    - Botan::modular_inverse<int32_t>
    - Botan::modular_inverse<int16_t>
    - Test::Result::test_is_eq
    - Botan_Tests::u
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_extended_euclidean_algorithm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_Error::Test_Error
      Src: /src/botan/src/tests/test_crystals.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: Botan_Tests::Mock_Trait::montgomery_reduce_coefficient
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_Error::Test_Error
    linkageType: ''
    returnType: T
    signature: T montgomery_reduce_coefficient(T2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_Error::Test_Error
      Src: /src/botan/src/tests/test_crystals.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: Botan_Tests::Mock_Trait::barrett_reduce_coefficient
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_Error::Test_Error
    linkageType: ''
    returnType: T
    signature: T barrett_reduce_coefficient(T)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_Error::Test_Error
      Src: /src/botan/src/tests/test_crystals.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Botan_Tests::Mock_Trait::ntt
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_Error::Test_Error
    linkageType: ''
    returnType: void
    signature: void ntt(std::span<T, N>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_Error::Test_Error
      Src: /src/botan/src/tests/test_crystals.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Botan_Tests::Mock_Trait::inverse_ntt
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_Error::Test_Error
    linkageType: ''
    returnType: void
    signature: void inverse_ntt(std::span<T, N>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_Error::Test_Error
      Src: /src/botan/src/tests/test_crystals.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: Botan_Tests::Mock_Trait::poly_pointwise_montgomery
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_Error::Test_Error
    linkageType: ''
    returnType: void
    signature: void poly_pointwise_montgomery(std::span<T, N>, std::span<T, N>, std::span<T,
      N>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:124,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:127,1
    - Dst: Kyberish_Poly::owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:127,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:129,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:133,1
    - Dst: Kyberish_Poly::owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:133,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:135,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:139,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:142,1
    - Dst: Kyberish_PolyVec::size
      Src: /src/botan/src/tests/test_crystals.cpp:142,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:145,1
    - Dst: owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:145,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:149,1
    - Dst: Kyberish_PolyVec::size
      Src: /src/botan/src/tests/test_crystals.cpp:149,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:152,1
    - Dst: owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:152,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:156,1
    - Dst: Kyberish_Poly::clone
      Src: /src/botan/src/tests/test_crystals.cpp:159,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:160,1
    - Dst: auto::owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:160,1
    - Dst: require
      Src: /src/botan/src/tests/test_crystals.cpp:164,1
    - Dst: owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:164,1
    - Dst: clone
      Src: /src/botan/src/tests/test_crystals.cpp:165,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:166,1
    - Dst: auto::owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:166,1
    - Dst: Kyberish_PolyVec::clone
      Src: /src/botan/src/tests/test_crystals.cpp:169,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:171,1
    - Dst: owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:171,1
    - Dst: Kyberish_Poly::clone
      Src: /src/botan/src/tests/test_crystals.cpp:175,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:176,1
    - Dst: auto::owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:176,1
    - Dst: require
      Src: /src/botan/src/tests/test_crystals.cpp:180,1
    - Dst: owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:180,1
    - Dst: clone
      Src: /src/botan/src/tests/test_crystals.cpp:181,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:182,1
    - Dst: auto::owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:182,1
    - Dst: Kyberish_PolyVec::clone
      Src: /src/botan/src/tests/test_crystals.cpp:185,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:187,1
    - Dst: owns_storage
      Src: /src/botan/src/tests/test_crystals.cpp:187,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:191,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:194,1
    - Dst: Kyberish_Poly::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:194,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:197,1
    - Dst: Kyberish_Poly::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:197,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:200,1
    - Dst: Kyberish_Poly::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:200,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:203,1
    - Dst: Kyberish_Poly::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:203,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:206,1
    - Dst: Kyberish_Poly::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:206,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:209,1
    - Dst: Kyberish_Poly::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:209,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:212,1
    - Dst: Kyberish_Poly::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:212,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:215,1
    - Dst: Kyberish_Poly::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:215,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:218,1
    - Dst: Kyberish_Poly::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:218,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:221,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:224,1
    - Dst: Kyberish_PolyVec::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:224,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:227,1
    - Dst: Kyberish_PolyVec::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:227,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:230,1
    - Dst: Kyberish_PolyVec::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:230,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:233,1
    - Dst: Kyberish_PolyVec::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:233,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:236,1
    - Dst: Kyberish_PolyVec::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:236,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:239,1
    - Dst: Kyberish_PolyVec::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:239,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:242,1
    - Dst: Kyberish_PolyVec::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:242,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:245,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:248,1
    - Dst: Kyberish_Poly::ct_validate_value_range
      Src: /src/botan/src/tests/test_crystals.cpp:248,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:253,1
    - Dst: Kyberish_Poly::ct_validate_value_range
      Src: /src/botan/src/tests/test_crystals.cpp:253,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:256,1
    - Dst: Kyberish_Poly::ct_validate_value_range
      Src: /src/botan/src/tests/test_crystals.cpp:256,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:259,1
    - Dst: Kyberish_Poly::ct_validate_value_range
      Src: /src/botan/src/tests/test_crystals.cpp:259,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:262,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:265,1
    - Dst: Kyberish_PolyVec::ct_validate_value_range
      Src: /src/botan/src/tests/test_crystals.cpp:265,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:270,1
    - Dst: Kyberish_PolyVec::ct_validate_value_range
      Src: /src/botan/src/tests/test_crystals.cpp:270,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:273,1
    - Dst: Kyberish_PolyVec::ct_validate_value_range
      Src: /src/botan/src/tests/test_crystals.cpp:273,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:276,1
    - Dst: Kyberish_PolyVec::ct_validate_value_range
      Src: /src/botan/src/tests/test_crystals.cpp:276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 279
    functionName: Botan_Tests::test_polynomial_basics
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Kyberish_PolyVec::ct_validate_value_range
    - require
    - Kyberish_Poly::ct_validate_value_range
    - auto::owns_storage
    - test_is_eq
    - Kyberish_PolyVec::size
    - confirm
    - Kyberish_Poly::owns_storage
    - clone
    - Kyberish_PolyVec::hamming_weight
    - Kyberish_Poly::clone
    - Kyberish_PolyVec::clone
    - owns_storage
    - Kyberish_Poly::hamming_weight
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_polynomial_basics()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: Botan_Tests::DeterministicXOF::DeterministicXOF
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeterministicXOF(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: Botan_Tests::DeterministicXOF::name
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: Botan_Tests::DeterministicXOF::accepts_input
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_Error::Test_Error
      Src: /src/botan/src/tests/test_crystals.cpp:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: Botan_Tests::DeterministicXOF::copy_state
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_Error::Test_Error
    linkageType: ''
    returnType: std::unique_ptr<XOF>
    signature: std::unique_ptr<XOF> copy_state() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_Error::Test_Error
      Src: /src/botan/src/tests/test_crystals.cpp:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: Botan_Tests::DeterministicXOF::new_object
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_Error::Test_Error
    linkageType: ''
    returnType: std::unique_ptr<XOF>
    signature: std::unique_ptr<XOF> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: Botan_Tests::DeterministicXOF::block_size
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_Error::Test_Error
      Src: /src/botan/src/tests/test_crystals.cpp:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: Botan_Tests::DeterministicXOF::start_msg
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_Error::Test_Error
    linkageType: ''
    returnType: void
    signature: void start_msg(std::span<const uint8_t>, std::span<const uint8_t>)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_Error::Test_Error
      Src: /src/botan/src/tests/test_crystals.cpp:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 303
    functionName: Botan_Tests::DeterministicXOF::add_data
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_Error::Test_Error
    linkageType: ''
    returnType: void
    signature: void add_data(std::span<const uint8_t>) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_into
      Src: /src/botan/src/tests/test_crystals.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: Botan_Tests::DeterministicXOF::generate_bytes
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - copy_into
    linkageType: ''
    returnType: void
    signature: void generate_bytes(std::span<uint8_t> output) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 307
    functionName: Botan_Tests::DeterministicXOF::reset
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: randomize
      Src: /src/botan/src/tests/test_crystals.cpp:324,1
    - Dst: static_cast<T>
      Src: /src/botan/src/tests/test_crystals.cpp:325,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_crystals.cpp:325,1
    - Dst: random_poly
      Src: /src/botan/src/tests/test_crystals.cpp:330,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_crystals.cpp:331,1
    - Dst: Botan::CRYSTALS::pack<range>
      Src: /src/botan/src/tests/test_crystals.cpp:333,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:334,1
    - Dst: Botan::BufferStuffer::full
      Src: /src/botan/src/tests/test_crystals.cpp:334,1
    - Dst: Botan::CRYSTALS::unpack<range>
      Src: /src/botan/src/tests/test_crystals.cpp:338,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_crystals.cpp:339,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_crystals.cpp:339,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_crystals.cpp:342,1
    - Dst: Poly::hamming_weight
      Src: /src/botan/src/tests/test_crystals.cpp:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ' res'
    - ' rng'
    - expected_encoding_bits
    argTypes:
    - Test::Result
    - Botan::RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 343
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 343
    functionName: Botan_Tests::random_encoding_roundtrips
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan::BufferSlicer::empty
    - Botan::CRYSTALS::pack<range>
    - static_cast<T>
    - confirm
    - Botan::BufferStuffer::full
    - Poly::hamming_weight
    - random_poly
    - randomize
    - auto::size
    - Botan::CRYSTALS::unpack<range>
    - Botan::load_be
    - test_eq
    linkageType: ''
    returnType: void
    signature: void random_encoding_roundtrips(Test::Result& res, Botan::RandomNumberGenerator&
      rng, size_t expected_encoding_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_crystals.cpp:348,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_crystals.cpp:353,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_crystals.cpp:363,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:375,1
    - Dst: Kyberish_Poly::size
      Src: /src/botan/src/tests/test_crystals.cpp:379,1
    - Dst: requires std::is_integral_v<T>
      Src: /src/botan/src/tests/test_crystals.cpp:380,1
    - Dst: Botan::CRYSTALS::pack<6>
      Src: /src/botan/src/tests/test_crystals.cpp:385,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_crystals.cpp:386,1
    - Dst: Kyberish_Poly::size
      Src: /src/botan/src/tests/test_crystals.cpp:390,1
    - Dst: requires std::is_integral_v<T>
      Src: /src/botan/src/tests/test_crystals.cpp:391,1
    - Dst: Botan::CRYSTALS::pack<255>
      Src: /src/botan/src/tests/test_crystals.cpp:396,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_crystals.cpp:397,1
    - Dst: Kyberish_Poly::size
      Src: /src/botan/src/tests/test_crystals.cpp:400,1
    - Dst: Botan::CRYSTALS::pack<512>
      Src: /src/botan/src/tests/test_crystals.cpp:402,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_crystals.cpp:403,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:406,1
    - Dst: Botan::CRYSTALS::unpack<6>
      Src: /src/botan/src/tests/test_crystals.cpp:410,1
    - Dst: require
      Src: /src/botan/src/tests/test_crystals.cpp:411,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_crystals.cpp:411,1
    - Dst: Kyberish_Poly::size
      Src: /src/botan/src/tests/test_crystals.cpp:412,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:413,1
    - Dst: Botan::CRYSTALS::unpack<255>
      Src: /src/botan/src/tests/test_crystals.cpp:418,1
    - Dst: require
      Src: /src/botan/src/tests/test_crystals.cpp:419,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_crystals.cpp:419,1
    - Dst: Kyberish_Poly::size
      Src: /src/botan/src/tests/test_crystals.cpp:420,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:421,1
    - Dst: Botan::CRYSTALS::unpack<512>
      Src: /src/botan/src/tests/test_crystals.cpp:426,1
    - Dst: require
      Src: /src/botan/src/tests/test_crystals.cpp:427,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_crystals.cpp:427,1
    - Dst: Kyberish_Poly::size
      Src: /src/botan/src/tests/test_crystals.cpp:428,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:429,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:433,1
    - Dst: Botan::CRYSTALS::unpack<6>
      Src: /src/botan/src/tests/test_crystals.cpp:438,1
    - Dst: Kyberish_Poly::size
      Src: /src/botan/src/tests/test_crystals.cpp:439,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:440,1
    - Dst: Botan::CRYSTALS::unpack<255>
      Src: /src/botan/src/tests/test_crystals.cpp:445,1
    - Dst: Kyberish_Poly::size
      Src: /src/botan/src/tests/test_crystals.cpp:446,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:447,1
    - Dst: Botan::CRYSTALS::unpack<512>
      Src: /src/botan/src/tests/test_crystals.cpp:452,1
    - Dst: Kyberish_Poly::size
      Src: /src/botan/src/tests/test_crystals.cpp:453,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:454,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:459,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_crystals.cpp:461,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:462,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:463,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:464,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:465,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:466,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:467,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:468,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:469,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:472,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_crystals.cpp:474,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:475,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:476,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:477,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:478,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:479,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:480,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:483,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_crystals.cpp:487,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:496,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:497,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:498,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:499,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:500,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:501,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:502,1
    - Dst: Botan_Tests::random_encoding_roundtrips
      Src: /src/botan/src/tests/test_crystals.cpp:503,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 506
      start: 347
    functionDepth: 3
    functionLinenumber: 347
    functionLinenumberEnd: 506
    functionName: Botan_Tests::test_encoding
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan::BufferSlicer::empty
    - Botan::CRYSTALS::pack<512>
    - require
    - test_eq
    - test_is_eq
    - Botan::CRYSTALS::unpack<512>
    - Botan_Tests::random_encoding_roundtrips
    - Botan::CRYSTALS::pack<255>
    - Kyberish_Poly::size
    - Botan::CRYSTALS::unpack<6>
    - Botan::CRYSTALS::unpack<255>
    - Botan_Tests::Test::new_rng
    - Botan::CRYSTALS::pack<6>
    - Botan::hex_decode
    - requires std::is_integral_v<T>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_encoding()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 510
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 510
    functionName: Botan_Tests::MockedXOF::MockedXOF
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockedXOF()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_crystals.cpp:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 519
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 519
    functionName: Botan_Tests::MockedXOF::output
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: auto
    signature: auto output()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:530,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_crystals.cpp:533,1
    - Dst: Mocked_Bounded_XOF::next_byte
      Src: /src/botan/src/tests/test_crystals.cpp:533,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:536,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:539,1
    - Dst: Mocked_Bounded_XOF::next_byte
      Src: /src/botan/src/tests/test_crystals.cpp:539,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:540,1
    - Dst: Mocked_Bounded_XOF::next_byte
      Src: /src/botan/src/tests/test_crystals.cpp:540,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:541,1
    - Dst: Mocked_Bounded_XOF::next_byte
      Src: /src/botan/src/tests/test_crystals.cpp:541,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_crystals.cpp:542,1
    - Dst: Mocked_Bounded_XOF::next_byte
      Src: /src/botan/src/tests/test_crystals.cpp:542,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:545,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:553,1
    - Dst: Mocked_Bounded_XOF::next_byte
      Src: /src/botan/src/tests/test_crystals.cpp:553,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:554,1
    - Dst: Mocked_Bounded_XOF::next_byte
      Src: /src/botan/src/tests/test_crystals.cpp:554,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_crystals.cpp:555,1
    - Dst: Mocked_Bounded_XOF::next_byte
      Src: /src/botan/src/tests/test_crystals.cpp:555,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:558,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_crystals.cpp:560,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:563,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:564,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:565,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:566,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_crystals.cpp:567,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_crystals.cpp:570,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:576,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:577,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:578,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:579,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_crystals.cpp:580,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_crystals.cpp:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 528
    functionDepth: 3
    functionLinenumber: 528
    functionLinenumberEnd: 584
    functionName: Botan_Tests::test_bounded_xof
    functionSourceFile: /src/botan/src/tests/test_crystals.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - test_is_eq
    - Mocked_Bounded_XOF::next_byte
    - test_throws
    - Botan::load_be
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bounded_xof()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: server_cert
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::data_file
    linkageType: ''
    returnType: std::string
    signature: std::string server_cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: server_key
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::data_file
    linkageType: ''
    returnType: std::string
    signature: std::string server_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg_type
    - alert
    argTypes:
    - Botan::TLS::Handshake_Type
    - Botan::TLS::AlertType
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: PeerCallbacks::fail_on_handshake_message
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fail_on_handshake_message(const Botan::TLS::Handshake_Type msg_type,
      Botan::TLS::AlertType alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:73,1
    - Dst: type
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:73,1
    - Dst: TLS_Exception
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:74,1
    - Dst: type
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Botan::TLS::Handshake_Message
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: PeerCallbacks::tls_inspect_handshake_msg
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - type
    - TLS_Exception
    - contains
    linkageType: ''
    returnType: void
    signature: void tls_inspect_handshake_msg(const Botan::TLS::Handshake_Message&
      msg) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:87,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:88,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_Noop>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:89,1
    - Dst: std::make_shared<PeerCallbacks>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:90,1
    - Dst: std::enable_shared_from_this<Context>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' policy'
    - ' ioc'
    - credentials_manager
    argTypes:
    - std::shared_ptr<const Botan::TLS::Policy>
    - net::io_context
    - std::shared_ptr<Basic_Credentials_Manager>
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: Peer::Peer
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Botan::AutoSeeded_RNG>
    - std::enable_shared_from_this<Context>
    - std::make_shared<Botan::TLS::Session_Manager_Noop>
    - std::make_shared<PeerCallbacks>
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Peer(const std::shared_ptr<const Botan::TLS::Policy>& policy,\n
      \          net::io_context& ioc,\n           std::shared_ptr<Basic_Credentials_Manager>
      credentials_manager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Basic_Credentials_Manager>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' policy'
    - ' ioc'
    argTypes:
    - std::shared_ptr<const Botan::TLS::Policy>
    - net::io_context
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: Peer::Peer
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Basic_Credentials_Manager>
    linkageType: ''
    returnType: void
    signature: void Peer(const std::shared_ptr<const Botan::TLS::Policy>& policy,
      net::io_context& ioc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Basic_Credentials_Manager>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' policy'
    - ' ioc'
    - ' server_cert'
    - ' server_key'
    argTypes:
    - std::shared_ptr<const Botan::TLS::Policy>
    - net::io_context
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: Peer::Peer
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Basic_Credentials_Manager>
    linkageType: ''
    returnType: void
    signature: "void Peer(const std::shared_ptr<const Botan::TLS::Policy>& policy,\n
      \          net::io_context& ioc,\n           const std::string& server_cert,\n
      \          const std::string& server_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Peer
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Peer::Peer
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Peer(const Peer& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Peer
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Peer::Peer
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Peer(Peer&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Peer
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: '& operator=(const Peer& other)'
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Peer
    signature: Peer & operator=(const Peer& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Peer
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: '& operator=(Peer&& other)'
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Peer
    signature: Peer & operator=(Peer&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cancel_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: ~Peer()
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - cancel_timeout
    linkageType: ''
    returnType: void
    signature: void ~Peer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Peer::buffer
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: Peer::buffer
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 1
    functionsReached:
    - Peer::buffer
    linkageType: ''
    returnType: net::mutable_buffer
    signature: net::mutable_buffer buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Peer::buffer
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Peer::buffer
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 2
    functionsReached:
    - Peer::buffer
    linkageType: ''
    returnType: net::mutable_buffer
    signature: net::mutable_buffer buffer(size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Peer::message
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' error'
    - bytes_transferred
    argTypes:
    - boost::system::error_code
    - std::size_t
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: Peer::received_zero_byte
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t received_zero_byte(const boost::system::error_code& error,
      std::size_t bytes_transferred)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - std::function<void(const std::string&)>
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: Peer::on_timeout
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void on_timeout(std::function<void(const std::string&)> cb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expires_after
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:135,1
    - Dst: async_wait
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:136,1
    - Dst: m_on_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:140,1
    - Dst: lowest_layer
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:147,1
    - Dst: Timeout_Exception
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 153
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 153
    functionName: Peer::reset_timeout
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - Timeout_Exception
    - expires_after
    - m_on_timeout
    - lowest_layer
    - async_wait
    linkageType: ''
    returnType: void
    signature: void reset_timeout(const std::string& message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: Peer::cancel_timeout
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void cancel_timeout()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: '& stream()'
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssl_stream
    signature: ssl_stream & stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:160,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - std::unique_ptr<ssl_stream>
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: Peer::create_stream
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void create_stream(std::unique_ptr<ssl_stream> stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: Peer::ctx
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Botan::TLS::Context>
    signature: std::shared_ptr<Botan::TLS::Context> ctx()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: Peer::callbacks
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<PeerCallbacks>
    signature: std::shared_ptr<PeerCallbacks> callbacks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: Result_Wrapper::Result_Wrapper
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Result_Wrapper(std::string name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: '& result()'
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result & result()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result_Wrapper::expect_ec
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' msg'
    - ' ec'
    argTypes:
    - std::string
    - error_code
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: Result_Wrapper::expect_success
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - Result_Wrapper::expect_ec
    linkageType: ''
    returnType: void
    signature: void expect_success(const std::string& msg, const error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result_Wrapper::test_failure
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:195,1
    - Dst: message
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:195,1
    - Dst: message
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:195,1
    - Dst: test_success
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' msg'
    - ' expected'
    - ' ec'
    argTypes:
    - std::string
    - error_code
    - error_code
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: Result_Wrapper::expect_ec
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 1
    functionsReached:
    - message
    - Result_Wrapper::test_failure
    - test_success
    linkageType: ''
    returnType: void
    signature: void expect_ec(const std::string& msg, const error_code& expected,
      const error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result_Wrapper::confirm
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' msg'
    - condition
    argTypes:
    - std::string
    - bool
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: Result_Wrapper::confirm
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 1
    functionsReached:
    - Result_Wrapper::confirm
    linkageType: ''
    returnType: void
    signature: void confirm(const std::string& msg, bool condition)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result_Wrapper::test_failure
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: Result_Wrapper::test_failure
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 2
    functionsReached:
    - Result_Wrapper::test_failure
    linkageType: ''
    returnType: void
    signature: void test_failure(const std::string& msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_cert
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:224,1
    - Dst: server_key
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:224,1
    - Dst: reset_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' policy'
    - ' ioc'
    - ' test_name'
    argTypes:
    - std::shared_ptr<const Botan::TLS::Policy>
    - net::io_context
    - std::string
    constantsTouched: []
    func_position:
      end: 230
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 230
    functionName: Server::Server
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - server_cert
    - server_key
    - reset_timeout
    linkageType: ''
    returnType: void
    signature: "void Server(const std::shared_ptr<const Botan::TLS::Policy>& policy,\n
      \            net::io_context& ioc,\n             const std::string& test_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:234,1
    - Dst: open
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:237,1
    - Dst: protocol
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:237,1
    - Dst: set_option
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:240,1
    - Dst: net::socket_base::reuse_address
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:240,1
    - Dst: bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:243,1
    - Dst: Server::listen
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:246,1
    - Dst: expect_success
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:248,1
    - Dst: reset_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:250,1
    - Dst: async_accept
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:251,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:251,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 252
    functionName: Server::listen
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 1
    functionsReached:
    - net::socket_base::reuse_address
    - async_accept
    - Server::listen
    - expect_success
    - std::bind
    - shared_from_this
    - bind
    - set_option
    - open
    - back
    - protocol
    - reset_timeout
    linkageType: ''
    returnType: void
    signature: void listen()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: Server::expect_short_read
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void expect_short_read()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: Server::move_before_accept
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void move_before_accept()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: callbacks
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg_type
    - alert
    argTypes:
    - Botan::TLS::Handshake_Type
    - Botan::TLS::AlertType
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: Server::fail_on_handshake_message
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - callbacks
    linkageType: ''
    returnType: void
    signature: void fail_on_handshake_message(const Botan::TLS::Handshake_Type msg_type,
      Botan::TLS::AlertType alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: Server::result
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Result_Wrapper
    signature: Result_Wrapper result()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expect_success
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:268,1
    - Dst: create_stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:276,1
    - Dst: std::make_unique<ssl_stream>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:276,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:276,1
    - Dst: create_stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:278,1
    - Dst: std::make_unique<ssl_stream>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:278,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:278,1
    - Dst: ctx
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:278,1
    - Dst: callbacks
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:278,1
    - Dst: reset_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:281,1
    - Dst: stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:282,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:283,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' ec'
    - socket
    argTypes:
    - error_code
    - tcp::socket
    constantsTouched: []
    func_position:
      end: 284
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 284
    functionName: Server::start_session
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ssl_stream>
    - expect_success
    - std::bind
    - create_stream
    - callbacks
    - shared_from_this
    - ctx
    - stream
    - std::move
    - reset_timeout
    linkageType: ''
    returnType: void
    signature: void start_session(const error_code& ec, tcp::socket socket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:288,1
    - Dst: expect_success
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:289,1
    - Dst: Server::handle_write
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: Server::shutdown
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - Server::handle_write
    - stream
    - expect_success
    linkageType: ''
    returnType: void
    signature: void shutdown()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expect_success
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:295,1
    - Dst: Server::handle_write
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:296,1
    - Dst: expect_ec
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:298,1
    - Dst: value
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:298,1
    - Dst: cancel_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - error_code
    constantsTouched: []
    func_position:
      end: 301
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 301
    functionName: Server::handle_handshake
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - Server::handle_write
    - cancel_timeout
    - expect_success
    - value
    - expect_ec
    linkageType: ''
    returnType: void
    signature: void handle_handshake(const error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expect_success
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:304,1
    - Dst: reset_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:305,1
    - Dst: net::async_read
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:306,1
    - Dst: stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:306,1
    - Dst: buffer
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:307,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:308,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:308,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:309,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - error_code
    constantsTouched: []
    func_position:
      end: 310
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 310
    functionName: Server::handle_write
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 2
    functionsReached:
    - buffer
    - net::async_read
    - expect_success
    - std::bind
    - shared_from_this
    - stream
    - reset_timeout
    linkageType: ''
    returnType: void
    signature: void handle_write(const error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expect_ec
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:314,1
    - Dst: cancel_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:315,1
    - Dst: stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:320,1
    - Dst: expect_ec
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:321,1
    - Dst: reset_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:322,1
    - Dst: stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:323,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:323,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:323,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:325,1
    - Dst: message
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:325,1
    - Dst: cancel_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:326,1
    - Dst: expect_success
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:331,1
    - Dst: message
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:333,1
    - Dst: Server::shutdown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:335,1
    - Dst: message
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:339,1
    - Dst: reset_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:343,1
    - Dst: net::async_write
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:344,1
    - Dst: stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:345,1
    - Dst: buffer
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:345,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:345,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - error_code
    constantsTouched: []
    func_position:
      end: 346
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 346
    functionName: Server::handle_read
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - buffer
    - cancel_timeout
    - expect_success
    - std::bind
    - shared_from_this
    - test_failure
    - net::async_write
    - Server::shutdown
    - stream
    - expect_ec
    - message
    - reset_timeout
    linkageType: ''
    returnType: void
    signature: void handle_read(const error_code& ec, size_t bytes_transferred = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expect_success
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:349,1
    - Dst: cancel_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - error_code
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: Server::handle_shutdown
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - cancel_timeout
    - expect_success
    linkageType: ''
    returnType: void
    signature: void handle_shutdown(const error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 369
    functionName: Client::accept_all
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void accept_all(const std::vector<Botan::X509_Certificate>&,\n                             const
      std::vector<std::optional<Botan::OCSP::Response>>&,\n                             const
      std::vector<Botan::Certificate_Store*>&,\n                             Botan::Usage_Type,\n
      \                            std::string_view,\n                             const
      Botan::TLS::Policy&)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctx
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:373,1
    - Dst: create_stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:374,1
    - Dst: std::make_unique<ssl_stream>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:374,1
    - Dst: ctx
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:374,1
    - Dst: callbacks
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' policy'
    - ' ioc'
    argTypes:
    - std::shared_ptr<const Botan::TLS::Policy>
    - net::io_context
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: Client::Client
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ssl_stream>
    - ctx
    - callbacks
    - create_stream
    linkageType: ''
    returnType: void
    signature: void Client(const std::shared_ptr<const Botan::TLS::Policy>& policy,
      net::io_context& ioc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:382,1
    - Dst: stream
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 384
    functionName: Client::close_socket
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - stream
    linkageType: ''
    returnType: void
    signature: void close_socket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Client>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:395,1
    - Dst: std::make_shared<Server>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:396,1
    - Dst: on_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:398,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:399,1
    - Dst: on_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:400,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:401,1
    - Dst: listen
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ' ioc'
    - ' client_policy'
    - ' server_policy'
    - ' name'
    - ' config_name'
    argTypes:
    - net::io_context
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 404
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 404
    functionName: TestBase::TestBase
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Client>
    - std::make_shared<Server>
    - test_failure
    - on_timeout
    - listen
    linkageType: ''
    returnType: void
    signature: "void TestBase(net::io_context& ioc,\n               const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n               const std::shared_ptr<const
      Botan::TLS::Policy>& server_policy,\n               const std::string& name,\n
      \              const std::string& config_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 406
    functionName: ~TestBase()
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TestBase()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TestBase
    constantsTouched: []
    func_position:
      end: 408
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 408
    functionName: TestBase::TestBase
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestBase(const TestBase& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TestBase
    constantsTouched: []
    func_position:
      end: 409
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 409
    functionName: TestBase::TestBase
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestBase(TestBase&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TestBase
    constantsTouched: []
    func_position:
      end: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    functionName: '& operator=(const TestBase& other)'
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestBase
    signature: TestBase & operator=(const TestBase& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TestBase
    constantsTouched: []
    func_position:
      end: 411
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 411
    functionName: '& operator=(TestBase&& other)'
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestBase
    signature: TestBase & operator=(TestBase&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: TestBase::finishAsynchronousWork
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void finishAsynchronousWork()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: TestBase::fail
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - test_failure
    linkageType: ''
    returnType: void
    signature: void fail(const std::string& msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:418,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:418,1
    - Dst: push_back
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:419,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: TestBase::extend_results
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - result
    - push_back
    linkageType: ''
    returnType: void
    signature: void extend_results(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cancel_timeout
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 424
    functionName: TestBase::teardown
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - cancel_timeout
    linkageType: ''
    returnType: void
    signature: void teardown()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 426
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 426
    functionName: '& client()'
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Client>
    signature: std::shared_ptr<Client> & client()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 428
    functionName: '& server()'
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Server>
    signature: std::shared_ptr<Server> & server()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 430
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 430
    functionName: '& result()'
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Result_Wrapper
    signature: Result_Wrapper & result()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: join
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 445
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 445
    functionName: Synchronous_Test::finishAsynchronousWork
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - join
    linkageType: ''
    returnType: void
    signature: void finishAsynchronousWork() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::thread
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:448,1
    - Dst: Synchronous_Test::run_synchronous_client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:450,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:452,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:452,1
    - Dst: what
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:452,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:454,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 459
    functionName: Synchronous_Test::run
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - result
    - what
    - std::string
    - std::thread
    - Synchronous_Test::run_synchronous_client
    linkageType: ''
    returnType: void
    signature: void run(const error_code&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 482
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 482
    functionName: Test_Conversation::Test_Conversation
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Test_Conversation(net::io_context& ioc,\n                        const
      std::string& config_name,\n                        const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                        const std::shared_ptr<const
      Botan::TLS::Policy>& server_policy,\n                        const std::string&
      test_name = \"Test Conversation\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:489,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:491,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:491,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:491,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:492,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:494,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:497,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:499,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:500,1
    - Dst: Peer::buffer
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:501,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:501,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:501,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:502,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:502,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:503,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:505,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:506,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:507,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:508,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:508,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:509,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:509,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:510,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:511,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:511,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:513,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:515,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:517,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:518,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:518,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:518,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:518,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:519,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:519,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:520,1
    - Dst: teardown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - error_code
    constantsTouched: []
    func_position:
      end: 524
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 524
    functionName: Test_Conversation::run
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - client
    - result
    - std::string::size
    - std::bind
    - shared_from_this
    - std::string::c_str
    - Peer::buffer
    - teardown
    linkageType: ''
    returnType: void
    signature: void run(const error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: Test_Conversation_Sync::Test_Conversation_Sync
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Test_Conversation_Sync(net::io_context& ioc,\n                             const
      std::string& config_name,\n                             const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                             const std::shared_ptr<const
      Botan::TLS::Policy>& server_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client::handle_connect
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:539,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:539,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:540,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:542,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:543,1
    - Dst: Server::handle_write
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:545,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:545,1
    - Dst: Peer::buffer
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:546,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:546,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:546,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:548,1
    - Dst: bs_thread
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:550,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:551,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:551,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:551,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:551,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:552,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:553,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:553,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:555,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:556,1
    - Dst: bs_thread
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:558,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:558,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:558,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:559,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:559,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:560,1
    - Dst: teardown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 563
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 563
    functionName: Test_Conversation_Sync::run_synchronous_client
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - result
    - Server::handle_write
    - client
    - std::string::size
    - std::bind
    - client::handle_connect
    - std::string::c_str
    - Peer::buffer
    - teardown
    - bs_thread
    linkageType: ''
    returnType: void
    signature: void run_synchronous_client() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 578
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 578
    functionName: Test_Eager_Close::Test_Eager_Close
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Test_Eager_Close(net::io_context& ioc,\n                       const
      std::string& config_name,\n                       const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                       const std::shared_ptr<const
      Botan::TLS::Policy>& server_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:583,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:585,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:585,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:585,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:586,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:588,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:591,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:593,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:595,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:597,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:598,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:598,1
    - Dst: teardown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - error_code
    constantsTouched: []
    func_position:
      end: 602
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 602
    functionName: Test_Eager_Close::run
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - client
    - result
    - std::bind
    - shared_from_this
    - teardown
    linkageType: ''
    returnType: void
    signature: void run(const error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 611
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 611
    functionName: Test_Eager_Close_Sync::Test_Eager_Close_Sync
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Test_Eager_Close_Sync(net::io_context& ioc,\n                            const
      std::string& config_name,\n                            const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                            const std::shared_ptr<const
      Botan::TLS::Policy>& server_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client::handle_connect
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:616,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:616,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:617,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:619,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:620,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:622,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:623,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:625,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:626,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:626,1
    - Dst: teardown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 629
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 629
    functionName: Test_Eager_Close_Sync::run_synchronous_client
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - client::handle_connect
    - result
    - teardown
    - client
    linkageType: ''
    returnType: void
    signature: void run_synchronous_client() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 643
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 643
    functionName: Test_Close_Without_Shutdown::Test_Close_Without_Shutdown
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Test_Close_Without_Shutdown(net::io_context& ioc,\n                                  const
      std::string& config_name,\n                                  const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                                  const
      std::shared_ptr<const Botan::TLS::Policy>& server_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:648,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:650,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:650,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:650,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:651,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:653,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:656,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:659,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:660,1
    - Dst: Peer::buffer
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:661,1
    - Dst: c_str
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:661,1
    - Dst: size
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:662,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:663,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:663,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:664,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:667,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:668,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:669,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:670,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:670,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:671,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:671,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:672,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:674,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:675,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:675,1
    - Dst: teardown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - error_code
    constantsTouched: []
    func_position:
      end: 679
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 679
    functionName: Test_Close_Without_Shutdown::run
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - client
    - result
    - c_str
    - std::bind
    - shared_from_this
    - size
    - Peer::buffer
    - teardown
    linkageType: ''
    returnType: void
    signature: void run(const error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: Test_Close_Without_Shutdown_Sync::Test_Close_Without_Shutdown_Sync
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Test_Close_Without_Shutdown_Sync(net::io_context& ioc,\n                                       const
      std::string& config_name,\n                                       const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                                       const
      std::shared_ptr<const Botan::TLS::Policy>& server_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client::handle_connect
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:692,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:692,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:693,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:695,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:696,1
    - Dst: server
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:698,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:700,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:701,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:701,1
    - Dst: teardown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 704
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 704
    functionName: Test_Close_Without_Shutdown_Sync::run_synchronous_client
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - result
    - client
    - server
    - client::handle_connect
    - teardown
    linkageType: ''
    returnType: void
    signature: void run_synchronous_client() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 719
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 719
    functionName: Test_No_Shutdown_Response::Test_No_Shutdown_Response
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Test_No_Shutdown_Response(net::io_context& ioc,\n                                const
      std::string& config_name,\n                                const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                                const std::shared_ptr<const
      Botan::TLS::Policy>& server_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:724,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:726,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:726,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:726,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:727,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:729,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:732,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:735,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:737,1
    - Dst: Peer::buffer
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:738,1
    - Dst: c_str
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:738,1
    - Dst: size
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:739,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:740,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:740,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:741,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:744,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:745,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:745,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:745,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:745,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:746,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:747,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:747,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:750,1
    - Dst: teardown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - error_code
    constantsTouched: []
    func_position:
      end: 754
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 754
    functionName: Test_No_Shutdown_Response::run
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - client
    - result
    - c_str
    - std::bind
    - shared_from_this
    - size
    - Peer::buffer
    - teardown
    linkageType: ''
    returnType: void
    signature: void run(const error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 763
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 763
    functionName: Test_No_Shutdown_Response_Sync::Test_No_Shutdown_Response_Sync
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Test_No_Shutdown_Response_Sync(net::io_context& ioc,\n                                     const
      std::string& config_name,\n                                     const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                                     const
      std::shared_ptr<const Botan::TLS::Policy>& server_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client::handle_connect
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:767,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:767,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:768,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:770,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:771,1
    - Dst: Server::handle_write
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:773,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:773,1
    - Dst: Peer::buffer
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:774,1
    - Dst: c_str
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:774,1
    - Dst: size
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:775,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:777,1
    - Dst: bs_thread
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:779,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:779,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:779,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:780,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:781,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:781,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:784,1
    - Dst: teardown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 787
      start: 765
    functionDepth: 2
    functionLinenumber: 765
    functionLinenumberEnd: 787
    functionName: Test_No_Shutdown_Response_Sync::run_synchronous_client
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - result
    - Server::handle_write
    - client
    - c_str
    - size
    - client::handle_connect
    - Peer::buffer
    - teardown
    - bs_thread
    linkageType: ''
    returnType: void
    signature: void run_synchronous_client() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 798
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 798
    functionName: Test_Conversation_With_Move::Test_Conversation_With_Move
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - server
    linkageType: ''
    returnType: void
    signature: "void Test_Conversation_With_Move(net::io_context& ioc,\n                                  const
      std::string& config_name,\n                                  const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                                  const
      std::shared_ptr<const Botan::TLS::Policy>& server_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 818
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 818
    functionName: Test_Handshake_Failure::Test_Handshake_Failure
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - server
    linkageType: ''
    returnType: void
    signature: "void Test_Handshake_Failure(net::io_context& ioc,\n                             const
      std::string& config_name,\n                             const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                             const std::shared_ptr<const
      Botan::TLS::Policy>& server_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:823,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:825,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:825,1
    - Dst: shared_from_this
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:825,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:826,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:828,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:831,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:833,1
    - Dst: teardown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - error_code
    constantsTouched: []
    func_position:
      end: 836
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 836
    functionName: Test_Handshake_Failure::run
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - client
    - result
    - std::bind
    - shared_from_this
    - teardown
    linkageType: ''
    returnType: void
    signature: void run(const error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' ioc'
    - ' config_name'
    - ' client_policy'
    - ' server_policy'
    argTypes:
    - net::io_context
    - std::string
    - std::shared_ptr<const Botan::TLS::Policy>
    - std::shared_ptr<const Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 848
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 848
    functionName: Test_Handshake_Failure_Sync::Test_Handshake_Failure_Sync
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - server
    linkageType: ''
    returnType: void
    signature: "void Test_Handshake_Failure_Sync(net::io_context& ioc,\n                                  const
      std::string& config_name,\n                                  const std::shared_ptr<const
      Botan::TLS::Policy>& client_policy,\n                                  const
      std::shared_ptr<const Botan::TLS::Policy>& server_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client::handle_connect
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:852,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:852,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:853,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:855,1
    - Dst: result
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:856,1
    - Dst: client
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:858,1
    - Dst: teardown
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 860
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 860
    functionName: Test_Handshake_Failure_Sync::run_synchronous_client
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - client::handle_connect
    - result
    - teardown
    - client
    linkageType: ''
    returnType: void
    signature: void run_synchronous_client() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:866,1
    - Dst: std::make_shared<Botan::TLS::Text_Policy>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:867,1
    - Dst: std::make_shared<Botan::TLS::Text_Policy>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - n
    - ' cp'
    - ' sp'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 868
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 868
    functionName: SystemConfiguration::SystemConfiguration
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_shared<Botan::TLS::Text_Policy>
    linkageType: ''
    returnType: void
    signature: void SystemConfiguration(std::string n, const std::string& cp, const
      std::string& sp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<TestT>
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:874,1
    - Dst: auto::run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:876,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:880,1
    - Dst: auto::fail
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:884,1
    - Dst: auto::fail
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:886,1
    - Dst: what
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:886,1
    - Dst: auto::finishAsynchronousWork
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:890,1
    - Dst: auto::extend_results
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:891,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 892
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 892
    functionName: SystemConfiguration::run
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 0
    functionsReached:
    - auto::extend_results
    - what
    - auto::fail
    - std::make_shared<TestT>
    - auto::finishAsynchronousWork
    - auto::run
    - net::io_context::run
    linkageType: ''
    returnType: void
    signature: void run(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemConfiguration
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:903,1
    - Dst: SystemConfiguration
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:905,1
    - Dst: SystemConfiguration
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:907,1
    - Dst: SystemConfiguration
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:910,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:919,1
    - Dst: get_configurations
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:922,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:924,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:925,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:926,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:927,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:928,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:929,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:930,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:931,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:932,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:933,1
    - Dst: run
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:934,1
    - Dst: BOTAN_REGISTER_TEST
      Src: /src/botan/src/tests/test_tls_stream_integration.cpp:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 943
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 943
    functionName: get_configurations
    functionSourceFile: /src/botan/src/tests/test_tls_stream_integration.cpp
    functionUses: 1
    functionsReached:
    - SystemConfiguration
    - run
    - get_configurations
    - BOTAN_REGISTER_TEST
    linkageType: ''
    returnType: std::vector<SystemConfiguration>
    signature: std::vector<SystemConfiguration> get_configurations()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: Botan_Tests::ML_DSA_Verify_KAT_Tests::ML_DSA_Verify_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_ml_dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ML_DSA_Verify_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan_Tests::ML_DSA_Verify_KAT_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ml_dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_Tests::ML_DSA_Verify_KAT_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_ml_dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& /*unused*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ml_dsa.cpp:30,1
    - Dst: std::make_unique<Botan::ML_DSA_PublicKey>
      Src: /src/botan/src/tests/test_ml_dsa.cpp:31,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_ml_dsa.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: Botan_Tests::ML_DSA_Verify_KAT_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_ml_dsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - get_req_bin
    - std::make_unique<Botan::ML_DSA_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan_Tests::Frodo_KAT_Tests::Frodo_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_frodokem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Frodo_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FrodoKEMMode::FrodoKEMMode
      Src: /src/botan/src/tests/test_frodokem.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan_Tests::Frodo_KAT_Tests::get_mode
    functionSourceFile: /src/botan/src/tests/test_frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan::FrodoKEMMode::FrodoKEMMode
    linkageType: ''
    returnType: Botan::FrodoKEMMode
    signature: Botan::FrodoKEMMode get_mode(const std::string& mode) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Frodo_KAT_Tests::get_mode
      Src: /src/botan/src/tests/test_frodokem.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan_Tests::Frodo_KAT_Tests::is_available
    functionSourceFile: /src/botan/src/tests/test_frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Frodo_KAT_Tests::get_mode
    linkageType: ''
    returnType: bool
    signature: bool is_available(const std::string& mode) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/test_frodokem.cpp:45,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/test_frodokem.cpp:45,1
    - Dst: Botan::XOF::create_or_throw
      Src: /src/botan/src/tests/test_frodokem.cpp:47,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_frodokem.cpp:48,1
    - Dst: auto::output
      Src: /src/botan/src/tests/test_frodokem.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - value
    - var_type
    argTypes:
    - std::span<const uint8_t>
    - VarType
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: Botan_Tests::Frodo_KAT_Tests::map_value
    functionSourceFile: /src/botan/src/tests/test_frodokem.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - auto::output
    - Botan::XOF::create_or_throw
    - auto::update
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> map_value(const std::string&, std::span<const
      uint8_t> value, VarType var_type) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fixed_Output_RNG
      Src: /src/botan/src/tests/test_frodokem.cpp:54,1
    - Dst: Botan::FrodoKEMConstants::len_sec_bytes
      Src: /src/botan/src/tests/test_frodokem.cpp:54,1
    - Dst: Botan::FrodoKEMConstants::len_se_bytes
      Src: /src/botan/src/tests/test_frodokem.cpp:54,1
    - Dst: Botan::FrodoKEMConstants::len_a_bytes
      Src: /src/botan/src/tests/test_frodokem.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mode'
    - ' rng'
    argTypes:
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: Botan_Tests::Frodo_KAT_Tests::rng_for_keygen
    functionSourceFile: /src/botan/src/tests/test_frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan::FrodoKEMConstants::len_a_bytes
    - Botan::FrodoKEMConstants::len_sec_bytes
    - Fixed_Output_RNG
    - Botan::FrodoKEMConstants::len_se_bytes
    linkageType: ''
    returnType: Fixed_Output_RNG
    signature: Fixed_Output_RNG rng_for_keygen(const std::string& mode, Botan::RandomNumberGenerator&
      rng) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fixed_Output_RNG
      Src: /src/botan/src/tests/test_frodokem.cpp:59,1
    - Dst: Botan::FrodoKEMConstants::len_sec_bytes
      Src: /src/botan/src/tests/test_frodokem.cpp:59,1
    - Dst: Botan::FrodoKEMConstants::len_salt_bytes
      Src: /src/botan/src/tests/test_frodokem.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mode'
    - ' rng'
    argTypes:
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: Botan_Tests::Frodo_KAT_Tests::rng_for_encapsulation
    functionSourceFile: /src/botan/src/tests/test_frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan::FrodoKEMConstants::len_salt_bytes
    - Botan::FrodoKEMConstants::len_sec_bytes
    - Fixed_Output_RNG
    linkageType: ''
    returnType: Fixed_Output_RNG
    signature: Fixed_Output_RNG rng_for_encapsulation(const std::string& mode, Botan::RandomNumberGenerator&
      rng) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_frodokem.cpp:64,1
    - Dst: SHAKE_XOF
      Src: /src/botan/src/tests/test_frodokem.cpp:83,1
    - Dst: raw_private_key_bits
      Src: /src/botan/src/tests/test_frodokem.cpp:84,1
    - Dst: std::span<const uint8_t>
      Src: /src/botan/src/tests/test_frodokem.cpp:85,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_frodokem.cpp:85,1
    - Dst: len_sec_bytes
      Src: /src/botan/src/tests/test_frodokem.cpp:85,1
    - Dst: update
      Src: /src/botan/src/tests/test_frodokem.cpp:86,1
    - Dst: update
      Src: /src/botan/src/tests/test_frodokem.cpp:87,1
    - Dst: output
      Src: /src/botan/src/tests/test_frodokem.cpp:88,1
    - Dst: len_sec_bytes
      Src: /src/botan/src/tests/test_frodokem.cpp:88,1
    - Dst: Botan::FrodoKEMMode::is_available
      Src: /src/botan/src/tests/test_frodokem.cpp:94,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_frodokem.cpp:98,1
    - Dst: Botan::FrodoKEMMode::to_string
      Src: /src/botan/src/tests/test_frodokem.cpp:98,1
    - Dst: Botan::FrodoKEM_PrivateKey::public_key_bits
      Src: /src/botan/src/tests/test_frodokem.cpp:101,1
    - Dst: Botan::PK_KEM_Encryptor::encrypt
      Src: /src/botan/src/tests/test_frodokem.cpp:105,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_frodokem.cpp:107,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_frodokem.cpp:107,1
    - Dst: Botan::PK_KEM_Encryptor::shared_key_length
      Src: /src/botan/src/tests/test_frodokem.cpp:107,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_frodokem.cpp:108,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_frodokem.cpp:108,1
    - Dst: Botan::PK_KEM_Encryptor::encapsulated_key_length
      Src: /src/botan/src/tests/test_frodokem.cpp:108,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/tests/test_frodokem.cpp:111,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_frodokem.cpp:111,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_frodokem.cpp:113,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_frodokem.cpp:113,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_frodokem.cpp:114,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_frodokem.cpp:114,1
    - Dst: Botan::PK_KEM_Decryptor::shared_key_length
      Src: /src/botan/src/tests/test_frodokem.cpp:114,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/tests/test_frodokem.cpp:121,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_frodokem.cpp:121,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_frodokem.cpp:122,1
    - Dst: get_decryption_error_value
      Src: /src/botan/src/tests/test_frodokem.cpp:124,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_frodokem.cpp:124,1
    - Dst: Botan_Tests::Test::mutate_vec
      Src: /src/botan/src/tests/test_frodokem.cpp:127,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_frodokem.cpp:127,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/tests/test_frodokem.cpp:128,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_frodokem.cpp:129,1
    - Dst: get_decryption_error_value
      Src: /src/botan/src/tests/test_frodokem.cpp:130,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_frodokem.cpp:133,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_frodokem.cpp:135,1
    - Dst: auto::pop_back
      Src: /src/botan/src/tests/test_frodokem.cpp:136,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/tests/test_frodokem.cpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 142
    functionName: Botan_Tests::test_frodo_roundtrips
    functionSourceFile: /src/botan/src/tests/test_frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan::FrodoKEMMode::is_available
    - output
    - Botan::PK_KEM_Encryptor::encapsulated_key_length
    - update
    - std::span<const uint8_t>
    - auto::size
    - SHAKE_XOF
    - Botan::PK_KEM_Decryptor::shared_key_length
    - len_sec_bytes
    - Botan::FrodoKEMMode::to_string
    - test_throws
    - Botan::FrodoKEM_PrivateKey::public_key_bits
    - std::vector::emplace_back
    - Botan_Tests::Test::new_rng
    - auto::shared_key
    - Botan::PK_KEM_Encryptor::encrypt
    - auto::encapsulated_shared_key
    - test_eq
    - raw_private_key_bits
    - Botan::PK_KEM_Decryptor::decrypt
    - get_decryption_error_value
    - auto::data
    - Botan::PK_KEM_Encryptor::shared_key_length
    - auto::pop_back
    - Botan_Tests::Test::mutate_vec
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_frodo_roundtrips()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: std::string algo_name() const override
    functionSourceFile: /src/botan/src/tests/test_frodokem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: "class Frodo_Keygen_Tests final : public PK_Key_Generation_Test {\n
      \  public:\n      std::vector<std::string> keygen_params() const override {\n
      \        return {\n   #if defined(BOTAN_HAS_FRODOKEM_SHAKE)\n            \"FrodoKEM-640-SHAKE\",
      \"FrodoKEM-976-SHAKE\", \"eFrodoKEM-640-SHAKE\", \"eFrodoKEM-976-SHAKE\",\n
      \  #endif\n   #if defined(BOTAN_HAS_FRODOKEM_AES)\n               \"FrodoKEM-640-AES\",
      \"FrodoKEM-976-AES\", \"eFrodoKEM-640-AES\", \"eFrodoKEM-976-AES\",\n   #endif\n
      \        };\n      }"
    signature: "class Frodo_Keygen_Tests final : public PK_Key_Generation_Test {\n
      \  public:\n      std::vector<std::string> keygen_params() const override {\n
      \        return {\n   #if defined(BOTAN_HAS_FRODOKEM_SHAKE)\n            \"FrodoKEM-640-SHAKE\",
      \"FrodoKEM-976-SHAKE\", \"eFrodoKEM-640-SHAKE\", \"eFrodoKEM-976-SHAKE\",\n
      \  #endif\n   #if defined(BOTAN_HAS_FRODOKEM_AES)\n               \"FrodoKEM-640-AES\",
      \"FrodoKEM-976-AES\", \"eFrodoKEM-640-AES\", \"eFrodoKEM-976-AES\",\n   #endif\n
      \        };\n      } std::string algo_name() const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::FrodoKEM_PublicKey>
      Src: /src/botan/src/tests/test_frodokem.cpp:162,1
    - Dst: Botan::FrodoKEMMode::FrodoKEMMode
      Src: /src/botan/src/tests/test_frodokem.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: Botan_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_frodokem.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::FrodoKEM_PublicKey>
    - Botan::FrodoKEMMode::FrodoKEMMode
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: Botan_Tests::global_test_rng
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::new_rng
    linkageType: ''
    returnType: Botan::RandomNumberGenerator
    signature: Botan::RandomNumberGenerator & global_test_rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:35,1
    - Dst: Botan_Tests::global_test_rng
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:35,1
    - Dst: Botan::load_private_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:36,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:36,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: Botan_Tests::kem
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::create_private_key
    - auto::algorithm_identifier
    - auto::private_key_bits
    - Botan_Tests::global_test_rng
    - Botan::load_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> kem()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:40,1
    - Dst: Botan_Tests::global_test_rng
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:40,1
    - Dst: Botan::load_private_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:41,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:41,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:41,1
    - Dst: dynamic_cast<Botan::PK_Key_Agreement_Key*>
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:42,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:42,1
    - Dst: auto::release
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:45,1
    - Dst: std::unique_ptr<Botan::PK_Key_Agreement_Key>
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:46,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: Botan_Tests::kex_dh
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::create_private_key
    - auto::algorithm_identifier
    - auto::release
    - dynamic_cast<Botan::PK_Key_Agreement_Key*>
    - Test_Error
    - auto::private_key_bits
    - std::unique_ptr<Botan::PK_Key_Agreement_Key>
    - auto::get
    - Botan_Tests::global_test_rng
    - Botan::load_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::PK_Key_Agreement_Key>
    signature: std::unique_ptr<Botan::PK_Key_Agreement_Key> kex_dh()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:53,1
    - Dst: Botan_Tests::global_test_rng
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:53,1
    - Dst: Botan::load_private_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:54,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:54,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:54,1
    - Dst: dynamic_cast<Botan::PK_Key_Agreement_Key*>
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:55,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:55,1
    - Dst: auto::release
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:58,1
    - Dst: std::unique_ptr<Botan::PK_Key_Agreement_Key>
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:59,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: Botan_Tests::kex_ecdh
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::create_private_key
    - auto::algorithm_identifier
    - auto::release
    - dynamic_cast<Botan::PK_Key_Agreement_Key*>
    - Test_Error
    - auto::private_key_bits
    - std::unique_ptr<Botan::PK_Key_Agreement_Key>
    - auto::get
    - Botan_Tests::global_test_rng
    - Botan::load_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::PK_Key_Agreement_Key>
    signature: std::unique_ptr<Botan::PK_Key_Agreement_Key> kex_ecdh()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:66,1
    - Dst: Botan_Tests::global_test_rng
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:66,1
    - Dst: Botan::load_private_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:67,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:67,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: Botan_Tests::sig
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::create_private_key
    - auto::algorithm_identifier
    - auto::private_key_bits
    - Botan_Tests::global_test_rng
    - Botan::load_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> sig()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:73,1
    - Dst: std::forward<KeyTs>
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: Botan_Tests::keys
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::forward<KeyTs>
    linkageType: ''
    returnType: auto
    signature: auto keys(KeyTs... keys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::public_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: Botan_Tests::as_public_key
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - T::public_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> as_public_key(T private_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:89,1
    - Dst: Botan_Tests::as_public_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:89,1
    - Dst: std::forward<KeyTs>
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: Botan_Tests::pubkeys
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::forward<KeyTs>
    - Botan_Tests::as_public_key
    linkageType: ''
    returnType: auto
    signature: auto pubkeys(KeyTs... keys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::global_test_rng
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:96,1
    - Dst: Botan::PK_Key_Agreement::agreed_value_size
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:97,1
    - Dst: Botan::PK_KEM_Encryptor::shared_key_length
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:101,1
    - Dst: f
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:104,1
    - Dst: kex_kem_fn
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: Botan_Tests::length_of_hybrid_shared_key
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::PK_KEM_Encryptor::shared_key_length
    - Botan_Tests::global_test_rng
    - f
    - Botan::PK_Key_Agreement::agreed_value_size
    - kex_kem_fn
    linkageType: ''
    returnType: size_t
    signature: size_t length_of_hybrid_shared_key(Ts... kex_kem_fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_value
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:109,1
    - Dst: Botan::PK_KEM_Encryptor::encapsulated_key_length
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:112,1
    - Dst: f
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:115,1
    - Dst: kex_kem_fn
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: Botan_Tests::length_of_hybrid_ciphertext
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::PK_KEM_Encryptor::encapsulated_key_length
    - public_value
    - f
    - kex_kem_fn
    linkageType: ''
    returnType: size_t
    signature: size_t length_of_hybrid_ciphertext(Ts... kex_kem_fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_value
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:120,1
    - Dst: public_key_bits
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:121,1
    - Dst: f
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:123,1
    - Dst: kex_kem_fn
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: Botan_Tests::length_of_hybrid_public_value
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - public_value
    - public_key_bits
    - f
    - kex_kem_fn
    linkageType: ''
    returnType: size_t
    signature: size_t length_of_hybrid_public_value(Ts... kex_kem_fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kex_kem_fn
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:129,1
    - Dst: std::max_element
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:130,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:130,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: Botan_Tests::key_length_of_hybrid_public_key
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - std::vector::begin
    - std::max_element
    - kex_kem_fn
    - std::vector::end
    linkageType: ''
    returnType: size_t
    signature: size_t key_length_of_hybrid_public_key(Ts... kex_kem_fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kex_kem_fn
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:135,1
    - Dst: std::max_element
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:136,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:136,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Botan_Tests::estimated_strength_of_hybrid_public_key
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - std::vector::begin
    - std::max_element
    - kex_kem_fn
    - std::vector::end
    linkageType: ''
    returnType: size_t
    signature: size_t estimated_strength_of_hybrid_public_key(Ts... kex_kem_fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::keys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:141,1
    - Dst: kex_kem_fn
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:141,1
    - Dst: Botan_Tests::pubkeys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:142,1
    - Dst: kex_kem_fn
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:142,1
    - Dst: Botan_Tests::global_test_rng
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:144,1
    - Dst: Botan::PK_KEM_Encryptor::encrypt
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:147,1
    - Dst: Botan_Tests::length_of_hybrid_shared_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:149,1
    - Dst: Botan_Tests::length_of_hybrid_ciphertext
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:150,1
    - Dst: Botan_Tests::length_of_hybrid_public_value
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:151,1
    - Dst: Botan_Tests::key_length_of_hybrid_public_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:152,1
    - Dst: Botan_Tests::estimated_strength_of_hybrid_public_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:153,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:155,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:156,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:157,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:157,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:158,1
    - Dst: Botan::PK_KEM_Encryptor::encapsulated_key_length
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:159,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:160,1
    - Dst: Botan::PK_KEM_Encryptor::shared_key_length
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:160,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:163,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:163,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:165,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:165,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:166,1
    - Dst: Botan::PK_KEM_Decryptor::shared_key_length
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:167,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:168,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:168,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:170,1
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey::raw_public_key_bits
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:171,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:174,1
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey::key_length
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:175,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:176,1
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey::estimated_strength
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 179
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 179
    functionName: Botan_Tests::roundtrip_test
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::estimated_strength_of_hybrid_public_key
    - Botan_Tests::keys
    - Botan_Tests::length_of_hybrid_ciphertext
    - Botan_Tests::length_of_hybrid_public_value
    - Botan_Tests::pubkeys
    - Botan::PK_KEM_Encryptor::encapsulated_key_length
    - Botan::secure_vector::size
    - Botan::PK_KEM_Decryptor::shared_key_length
    - Botan_Tests::global_test_rng
    - Botan::TLS::Hybrid_KEM_PublicKey::raw_public_key_bits
    - Botan::TLS::Hybrid_KEM_PublicKey::estimated_strength
    - Botan::TLS::Hybrid_KEM_PublicKey::key_length
    - auto::shared_key
    - test_eq
    - auto::encapsulated_shared_key
    - Botan::PK_KEM_Encryptor::encrypt
    - Botan_Tests::length_of_hybrid_shared_key
    - Botan::PK_KEM_Decryptor::decrypt
    - Botan::PK_KEM_Encryptor::shared_key_length
    - Botan_Tests::key_length_of_hybrid_public_key
    - kex_kem_fn
    linkageType: ''
    returnType: void
    signature: void roundtrip_test(Test::Result& result, Ts... kex_kem_fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:183,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:185,1
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:186,1
    - Dst: std::vector<std::unique_ptr<Botan::Public_Key>>
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:186,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:190,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:192,1
    - Dst: Botan::TLS::Hybrid_KEM_PrivateKey::Hybrid_KEM_PrivateKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:193,1
    - Dst: std::vector<std::unique_ptr<Botan::Private_Key>>
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:193,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:197,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:199,1
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:200,1
    - Dst: Botan_Tests::pubkeys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:200,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:201,1
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:202,1
    - Dst: Botan_Tests::pubkeys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:202,1
    - Dst: Botan_Tests::kem
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:202,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:203,1
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:204,1
    - Dst: Botan_Tests::pubkeys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:204,1
    - Dst: Botan_Tests::kex_dh
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:204,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:207,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:209,1
    - Dst: Botan::TLS::Hybrid_KEM_PrivateKey::Hybrid_KEM_PrivateKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:210,1
    - Dst: Botan_Tests::keys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:210,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:211,1
    - Dst: Botan::TLS::Hybrid_KEM_PrivateKey::Hybrid_KEM_PrivateKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:212,1
    - Dst: Botan_Tests::keys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:212,1
    - Dst: Botan_Tests::kem
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:212,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:213,1
    - Dst: Botan::TLS::Hybrid_KEM_PrivateKey::Hybrid_KEM_PrivateKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:214,1
    - Dst: Botan_Tests::keys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:214,1
    - Dst: Botan_Tests::kex_dh
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:214,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:217,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:219,1
    - Dst: Botan::TLS::Hybrid_KEM_PrivateKey::Hybrid_KEM_PrivateKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:220,1
    - Dst: Botan_Tests::keys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:220,1
    - Dst: Botan_Tests::sig
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:220,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:221,1
    - Dst: Botan::TLS::Hybrid_KEM_PrivateKey::Hybrid_KEM_PrivateKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:222,1
    - Dst: Botan_Tests::keys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:222,1
    - Dst: Botan_Tests::sig
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:222,1
    - Dst: Botan_Tests::kem
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:222,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:223,1
    - Dst: Botan::TLS::Hybrid_KEM_PrivateKey::Hybrid_KEM_PrivateKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:224,1
    - Dst: Botan_Tests::keys
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:224,1
    - Dst: Botan_Tests::sig
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:224,1
    - Dst: Botan_Tests::kex_dh
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:224,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:227,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:228,1
    - Dst: Botan_Tests::roundtrip_test
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:228,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:229,1
    - Dst: Botan_Tests::roundtrip_test
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:229,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:230,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:232,1
    - Dst: Botan_Tests::roundtrip_test
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:232,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:233,1
    - Dst: Botan_Tests::roundtrip_test
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:233,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:234,1
    - Dst: Botan_Tests::roundtrip_test
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:234,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:235,1
    - Dst: Botan_Tests::roundtrip_test
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 237
    functionName: Botan_Tests::hybrid_kem_keypair
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan_Tests::sig
    - Botan_Tests::kex_dh
    - std::vector<std::unique_ptr<Botan::Private_Key>>
    - test_throws
    - Botan::TLS::Hybrid_KEM_PublicKey
    - Botan_Tests::roundtrip_test
    - Botan_Tests::keys
    - Botan_Tests::pubkeys
    - Botan_Tests::kem
    - std::vector<std::unique_ptr<Botan::Public_Key>>
    - Botan::TLS::Hybrid_KEM_PrivateKey::Hybrid_KEM_PrivateKey
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> hybrid_kem_keypair()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::global_test_rng
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:244,1
    - Dst: Botan::PK_KEM_Encryptor::encrypt
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:247,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:249,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:250,1
    - Dst: Botan::PK_KEM_Encryptor::encapsulated_key_length
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:251,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:252,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:252,1
    - Dst: Botan::PK_KEM_Encryptor::shared_key_length
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:252,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:256,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:257,1
    - Dst: Botan::PK_KEM_Decryptor::encapsulated_key_length
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:258,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:260,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:260,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:262,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:263,1
    - Dst: Botan::PK_KEM_Decryptor::shared_key_length
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:263,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:265,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' result'
    - ' kex_fn'
    argTypes:
    - Test::Result
    - std::function<std::unique_ptr<Botan::PK_Key_Agreement_Key>()>
    constantsTouched: []
    func_position:
      end: 266
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 266
    functionName: Botan_Tests::kex_to_kem_roundtrip
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - auto::encapsulated_shared_key
    - Botan::PK_KEM_Encryptor::shared_key_length
    - Botan::PK_KEM_Decryptor::shared_key_length
    - Botan::PK_KEM_Decryptor::decrypt
    - Botan::PK_KEM_Encryptor::encrypt
    - Botan::PK_KEM_Encryptor::encapsulated_key_length
    - Botan::PK_KEM_Decryptor::encapsulated_key_length
    - Botan::secure_vector::size
    - auto::shared_key
    - Botan_Tests::global_test_rng
    - test_eq
    linkageType: ''
    returnType: void
    signature: "void kex_to_kem_roundtrip(Test::Result& result,\n                          const
      std::function<std::unique_ptr<Botan::PK_Key_Agreement_Key>()>& kex_fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:270,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:272,1
    - Dst: Botan::KEX_to_KEM_Adapter_PrivateKey::KEX_to_KEM_Adapter_PrivateKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:273,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:274,1
    - Dst: Botan::KEX_to_KEM_Adapter_PublicKey
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:275,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:278,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:280,1
    - Dst: Botan_Tests::kem
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:281,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:284,1
    - Dst: Botan_Tests::kex_to_kem_roundtrip
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:284,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:285,1
    - Dst: Botan_Tests::kex_to_kem_roundtrip
      Src: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 287
    functionName: Botan_Tests::kex_to_kem_adapter
    functionSourceFile: /src/botan/src/tests/test_tls_hybrid_kem_key.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan::KEX_to_KEM_Adapter_PrivateKey::KEX_to_KEM_Adapter_PrivateKey
    - test_throws
    - Botan_Tests::kex_to_kem_roundtrip
    - Botan_Tests::kem
    - Botan::KEX_to_KEM_Adapter_PublicKey
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> kex_to_kem_adapter()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan_Tests::PBKDF_KAT_Tests::PBKDF_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_pbkdf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PBKDF_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:30,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_pbkdf.cpp:31,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:32,1
    - Dst: Botan::PBKDF::create
      Src: /src/botan/src/tests/test_pbkdf.cpp:36,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_pbkdf.cpp:39,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:43,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_pbkdf.cpp:43,1
    - Dst: auto::derive_key
      Src: /src/botan/src/tests/test_pbkdf.cpp:46,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pbkdf.cpp:46,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pbkdf.cpp:46,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:47,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/botan/src/tests/test_pbkdf.cpp:49,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_pbkdf.cpp:52,1
    - Dst: auto::from_params
      Src: /src/botan/src/tests/test_pbkdf.cpp:56,1
    - Dst: auto::hash
      Src: /src/botan/src/tests/test_pbkdf.cpp:59,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ' pbkdf_name'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 64
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 64
    functionName: Botan_Tests::PBKDF_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - auto::name
    - auto::from_params
    - get_req_str
    - std::vector::size
    - auto::derive_key
    - auto::hash
    - Botan::PBKDF::create
    - get_req_bin
    - Test::Result::note_missing
    - Test::Result::test_eq
    - Botan::PasswordHashFamily::create
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& pbkdf_name, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_pbkdf.cpp:77,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_pbkdf.cpp:78,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/botan/src/tests/test_pbkdf.cpp:83,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_pbkdf.cpp:86,1
    - Dst: auto::tune
      Src: /src/botan/src/tests/test_pbkdf.cpp:91,1
    - Dst: auto::hash
      Src: /src/botan/src/tests/test_pbkdf.cpp:94,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_pbkdf.cpp:98,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_pbkdf.cpp:98,1
    - Dst: auto::from_params
      Src: /src/botan/src/tests/test_pbkdf.cpp:99,1
    - Dst: auto::memory_param
      Src: /src/botan/src/tests/test_pbkdf.cpp:100,1
    - Dst: auto::iterations
      Src: /src/botan/src/tests/test_pbkdf.cpp:100,1
    - Dst: auto::parallelism
      Src: /src/botan/src/tests/test_pbkdf.cpp:100,1
    - Dst: auto::from_params
      Src: /src/botan/src/tests/test_pbkdf.cpp:102,1
    - Dst: auto::iterations
      Src: /src/botan/src/tests/test_pbkdf.cpp:102,1
    - Dst: std::unique_ptr::hash
      Src: /src/botan/src/tests/test_pbkdf.cpp:106,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:108,1
    - Dst: auto::default_params
      Src: /src/botan/src/tests/test_pbkdf.cpp:110,1
    - Dst: auto::hash
      Src: /src/botan/src/tests/test_pbkdf.cpp:112,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_pbkdf.cpp:114,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pbkdf.cpp:116,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_pbkdf.cpp:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 123
    functionName: Botan_Tests::Pwdhash_Tests::run
    functionSourceFile: /src/botan/src/tests/test_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - auto::name
    - auto::from_params
    - Test::Result::test_note
    - Test::Result::end_timer
    - auto::tune
    - Test::Result::start_timer
    - auto::memory_param
    - Botan_CLI::Timer::milliseconds
    - auto::parallelism
    - auto::hash
    - std::unique_ptr::hash
    - std::vector::push_back
    - auto::default_params
    - Test::Result::test_eq
    - auto::iterations
    - Botan::PasswordHashFamily::create
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: Botan_Tests::Bcrypt_PBKDF_KAT_Tests::Bcrypt_PBKDF_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_pbkdf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bcrypt_PBKDF_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:138,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_pbkdf.cpp:139,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:140,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/botan/src/tests/test_pbkdf.cpp:144,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pbkdf.cpp:147,1
    - Dst: auto::from_iterations
      Src: /src/botan/src/tests/test_pbkdf.cpp:151,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pbkdf.cpp:153,1
    - Dst: auto::hash
      Src: /src/botan/src/tests/test_pbkdf.cpp:154,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 159
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 159
    functionName: Botan_Tests::Bcrypt_PBKDF_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - auto::from_iterations
    - get_req_str
    - std::vector::size
    - auto::hash
    - Test::Result::test_failure
    - get_req_bin
    - Test::Result::test_eq
    - Botan::PasswordHashFamily::create
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: Botan_Tests::Scrypt_KAT_Tests::Scrypt_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_pbkdf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scrypt_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:176,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_pbkdf.cpp:177,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:178,1
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_pbkdf.cpp:182,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/botan/src/tests/test_pbkdf.cpp:186,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pbkdf.cpp:189,1
    - Dst: auto::from_params
      Src: /src/botan/src/tests/test_pbkdf.cpp:193,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pbkdf.cpp:195,1
    - Dst: auto::hash
      Src: /src/botan/src/tests/test_pbkdf.cpp:196,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 201
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 201
    functionName: Botan_Tests::Scrypt_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - auto::from_params
    - get_req_str
    - Botan_Tests::Test::run_long_tests
    - std::vector::size
    - auto::hash
    - Test::Result::test_failure
    - get_req_bin
    - Test::Result::test_eq
    - Botan::PasswordHashFamily::create
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: Botan_Tests::Argon2_KAT_Tests::Argon2_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_pbkdf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Argon2_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:218,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:219,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:220,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:221,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pbkdf.cpp:222,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/botan/src/tests/test_pbkdf.cpp:226,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pbkdf.cpp:229,1
    - Dst: auto::from_params
      Src: /src/botan/src/tests/test_pbkdf.cpp:233,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_pbkdf.cpp:235,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_pbkdf.cpp:235,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pbkdf.cpp:237,1
    - Dst: auto::hash
      Src: /src/botan/src/tests/test_pbkdf.cpp:238,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' mode'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 243
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 243
    functionName: Botan_Tests::Argon2_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - auto::from_params
    - std::vector::size
    - std::vector::begin
    - auto::hash
    - Test::Result::test_failure
    - get_req_bin
    - get_opt_bin
    - std::vector::end
    - Test::Result::test_eq
    - Botan::PasswordHashFamily::create
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& mode, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:260,1
    - Dst: Botan::RFC4880_encode_count
      Src: /src/botan/src/tests/test_pbkdf.cpp:260,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:261,1
    - Dst: Botan::RFC4880_encode_count
      Src: /src/botan/src/tests/test_pbkdf.cpp:261,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:266,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pbkdf.cpp:269,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_pbkdf.cpp:276,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_pbkdf.cpp:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 289
    functionName: Botan_Tests::PGP_S2K_Iter_Test::run
    functionSourceFile: /src/botan/src/tests/test_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan::RFC4880_encode_count
    - Test::Result::test_lte
    - Test::Result::test_gte
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tests.cpp:34,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tests.cpp:39,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:40,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tests.cpp:45,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tests.cpp:45,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:46,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tests.cpp:51,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:52,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:55,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/test_tests.cpp:55,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tests.cpp:60,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:61,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_tests.cpp:67,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:68,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_tests.cpp:74,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_tests.cpp:74,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tests.cpp:74,1
    - Dst: data
      Src: /src/botan/src/tests/test_tests.cpp:74,1
    - Dst: size
      Src: /src/botan/src/tests/test_tests.cpp:74,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:75,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tests.cpp:81,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:82,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_tests.cpp:88,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:89,1
    - Dst: Test::Result::test_is_nonempty
      Src: /src/botan/src/tests/test_tests.cpp:94,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:95,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_tests.cpp:100,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:101,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_tests.cpp:106,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:107,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_tests.cpp:112,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:113,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_tests.cpp:118,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:119,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_tests.cpp:124,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:125,1
    - Dst: Test::Result::test_rc
      Src: /src/botan/src/tests/test_tests.cpp:130,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:131,1
    - Dst: Test::Result::test_rc_fail
      Src: /src/botan/src/tests/test_tests.cpp:136,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:137,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tests.cpp:142,1
    - Dst: std::runtime_error
      Src: /src/botan/src/tests/test_tests.cpp:143,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:144,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tests.cpp:149,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_tests.cpp:151,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:153,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tests.cpp:158,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:159,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tests.cpp:164,1
    - Dst: std::runtime_error
      Src: /src/botan/src/tests/test_tests.cpp:165,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:166,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tests.cpp:171,1
    - Dst: std::runtime_error
      Src: /src/botan/src/tests/test_tests.cpp:172,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:173,1
    - Dst: Test::Result::test_no_throw
      Src: /src/botan/src/tests/test_tests.cpp:178,1
    - Dst: std::runtime_error
      Src: /src/botan/src/tests/test_tests.cpp:178,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:179,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/tests/test_tests.cpp:185,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/tests/test_tests.cpp:186,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tests.cpp:187,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:188,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/tests/test_tests.cpp:193,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/tests/test_tests.cpp:194,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_tests.cpp:195,1
    - Dst: Botan_Tests::Test_Tests::verify_failure
      Src: /src/botan/src/tests/test_tests.cpp:196,1
    - Dst: Botan_Tests::Test_Tests::test_testsuite_rng
      Src: /src/botan/src/tests/test_tests.cpp:200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 201
    functionName: Botan_Tests::Test_Tests::run
    functionSourceFile: /src/botan/src/tests/test_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Test::Result::test_lt
    - std::vector<uint8_t>
    - Test::Result::test_rc_ok
    - Test::Result::test_eq
    - Test::Result::test_throws
    - data
    - Botan::BigInt::from_word
    - Test::Result::test_rc
    - Test::Result::test_no_throw
    - Test::Result::test_gte
    - std::vector::data
    - Botan_Tests::Test_Tests::verify_failure
    - Test::Result::test_ne
    - std::string
    - size
    - std::runtime_error
    - Test::Result::test_is_nonempty
    - Botan_Tests::Test::Result::Failure
    - Botan_Tests::Test_Tests::test_testsuite_rng
    - Test::Result::test_failure
    - Test::Result::test_lte
    - Test::Result::test_rc_fail
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tests.cpp:211,1
    - Dst: auto::next_byte
      Src: /src/botan/src/tests/test_tests.cpp:214,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tests.cpp:219,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_tests.cpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 226
    functionName: Botan_Tests::Test_Tests::test_testsuite_rng
    functionSourceFile: /src/botan/src/tests/test_tests.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::Test::new_rng
    - auto::next_byte
    - Test::Result::test_success
    - Test::Result::test_failure
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_testsuite_rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tests_failed
      Src: /src/botan/src/tests/test_tests.cpp:229,1
    - Dst: test_success
      Src: /src/botan/src/tests/test_tests.cpp:230,1
    - Dst: result_string
      Src: /src/botan/src/tests/test_tests.cpp:231,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tests.cpp:233,1
    - Dst: std::string::find
      Src: /src/botan/src/tests/test_tests.cpp:233,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_tests.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' what'
    - ' result'
    - ' test_result'
    argTypes:
    - std::string
    - Test::Result
    - Test::Result
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: Botan_Tests::Test_Tests::verify_failure
    functionSourceFile: /src/botan/src/tests/test_tests.cpp
    functionUses: 1
    functionsReached:
    - result_string
    - tests_failed
    - test_failure
    - std::string::find
    - confirm
    - test_success
    linkageType: ''
    returnType: void
    signature: void verify_failure(const std::string& what, Test::Result& result,
      const Test::Result& test_result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_Tests::X448_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_x448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_Tests::X448_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_x448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::X448_PublicKey>
      Src: /src/botan/src/tests/test_x448.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raw_pk
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: Botan_Tests::X448_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_x448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::X448_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      /* keygen_params */,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan_Tests::X448_Agreement_Tests::X448_Agreement_Tests
    functionSourceFile: /src/botan/src/tests/test_x448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X448_Agreement_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_x448.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: Botan_Tests::X448_Agreement_Tests::agreement_should_fail
    functionSourceFile: /src/botan/src/tests/test_x448.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    linkageType: ''
    returnType: bool
    signature: bool agreement_should_fail(const std::string& /*unused*/, const VarMap&
      vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan_Tests::X448_Agreement_Tests::default_kdf
    functionSourceFile: /src/botan/src/tests/test_x448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_kdf(const VarMap& /*unused*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_x448.cpp:50,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_x448.cpp:51,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_x448.cpp:51,1
    - Dst: std::make_unique<Botan::X448_PrivateKey>
      Src: /src/botan/src/tests/test_x448.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Botan_Tests::X448_Agreement_Tests::load_our_key
    functionSourceFile: /src/botan/src/tests/test_x448.cpp
    functionUses: 0
    functionsReached:
    - std::vector::begin
    - get_req_bin
    - std::make_unique<Botan::X448_PrivateKey>
    - std::vector::end
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_our_key(const std::string&
      /*header*/, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_x448.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan_Tests::X448_Agreement_Tests::load_their_key
    functionSourceFile: /src/botan/src/tests/test_x448.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> load_their_key(const std::string& /*header*/,
      const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/tests/test_rngs.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: Botan_Tests::CTR_DRBG_AES256::clear
    functionSourceFile: /src/botan/src/tests/test_rngs.cpp
    functionUses: 0
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void CTR_DRBG_AES256::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/tests/test_rngs.cpp:27,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/test_rngs.cpp:28,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_rngs.cpp:29,1
    - Dst: Botan_Tests::CTR_DRBG_AES256::clear
      Src: /src/botan/src/tests/test_rngs.cpp:32,1
    - Dst: Botan_Tests::CTR_DRBG_AES256::update
      Src: /src/botan/src/tests/test_rngs.cpp:33,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/tests/test_rngs.cpp:36,1
    - Dst: Botan_Tests::CTR_DRBG_AES256::incr_V_into
      Src: /src/botan/src/tests/test_rngs.cpp:41,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/tests/test_rngs.cpp:41,1
    - Dst: encrypt_n
      Src: /src/botan/src/tests/test_rngs.cpp:44,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/tests/test_rngs.cpp:44,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/tests/test_rngs.cpp:44,1
    - Dst: Botan_Tests::CTR_DRBG_AES256::incr_V_into
      Src: /src/botan/src/tests/test_rngs.cpp:48,1
    - Dst: encrypt
      Src: /src/botan/src/tests/test_rngs.cpp:49,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_rngs.cpp:50,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/tests/test_rngs.cpp:50,1
    - Dst: Botan_Tests::CTR_DRBG_AES256::update
      Src: /src/botan/src/tests/test_rngs.cpp:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 55
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 55
    functionName: Botan_Tests::CTR_DRBG_AES256::fill_bytes_with_input
    functionSourceFile: /src/botan/src/tests/test_rngs.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::empty
    - encrypt_n
    - std::span<uint8_t>::empty
    - std::span<uint8_t>::data
    - Test_Error
    - encrypt
    - std::span<const uint8_t>::size
    - std::span<uint8_t>::subspan
    - Botan_Tests::CTR_DRBG_AES256::update
    - Botan_Tests::CTR_DRBG_AES256::clear
    - Botan::copy_mem
    - Botan_Tests::CTR_DRBG_AES256::incr_V_into
    linkageType: ''
    returnType: void
    signature: void CTR_DRBG_AES256::fill_bytes_with_input(std::span<uint8_t> output,
      std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/tests/test_rngs.cpp:58,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_rngs.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - seed
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: Botan_Tests::CTR_DRBG_AES256::CTR_DRBG_AES256
    functionSourceFile: /src/botan/src/tests/test_rngs.cpp
    functionUses: 0
    functionsReached:
    - add_entropy
    - Botan::BlockCipher::create_or_throw
    linkageType: ''
    returnType: void
    signature: void CTR_DRBG_AES256::CTR_DRBG_AES256(std::span<const uint8_t> seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_rngs.cpp:63,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/tests/test_rngs.cpp:63,1
    - Dst: Botan::store_be<uint64_t>
      Src: /src/botan/src/tests/test_rngs.cpp:70,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/tests/test_rngs.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: Botan_Tests::CTR_DRBG_AES256::incr_V_into
    functionSourceFile: /src/botan/src/tests/test_rngs.cpp
    functionUses: 1
    functionsReached:
    - std::span<uint8_t>::size
    - Botan::store_be<uint64_t>
    - BOTAN_ASSERT_NOMSG
    - std::span<uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void CTR_DRBG_AES256::incr_V_into(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CTR_DRBG_AES256::incr_V_into
      Src: /src/botan/src/tests/test_rngs.cpp:78,1
    - Dst: std::span::subspan
      Src: /src/botan/src/tests/test_rngs.cpp:78,1
    - Dst: encrypt_n
      Src: /src/botan/src/tests/test_rngs.cpp:81,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/test_rngs.cpp:81,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/test_rngs.cpp:81,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/tests/test_rngs.cpp:83,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_rngs.cpp:84,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/test_rngs.cpp:84,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/test_rngs.cpp:84,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/test_rngs.cpp:85,1
    - Dst: set_key
      Src: /src/botan/src/tests/test_rngs.cpp:90,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/test_rngs.cpp:90,1
    - Dst: Botan::load_be<uint64_t>
      Src: /src/botan/src/tests/test_rngs.cpp:92,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/test_rngs.cpp:92,1
    - Dst: Botan::load_be<uint64_t>
      Src: /src/botan/src/tests/test_rngs.cpp:93,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/test_rngs.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - provided_data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: Botan_Tests::CTR_DRBG_AES256::update
    functionSourceFile: /src/botan/src/tests/test_rngs.cpp
    functionUses: 1
    functionsReached:
    - std::array::data
    - BOTAN_ASSERT_NOMSG
    - std::span::subspan
    - std::span<const uint8_t>::empty
    - set_key
    - Botan::load_be<uint64_t>
    - std::span<const uint8_t>::size
    - std::array::size
    - encrypt_n
    - Botan_Tests::CTR_DRBG_AES256::incr_V_into
    linkageType: ''
    returnType: void
    signature: void CTR_DRBG_AES256::update(std::span<const uint8_t> provided_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan_Tests::RFC3394_Keywrap_Tests::RFC3394_Keywrap_Tests
    functionSourceFile: /src/botan/src/tests/test_keywrap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RFC3394_Keywrap_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_keywrap.cpp:31,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_keywrap.cpp:32,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_keywrap.cpp:33,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_keywrap.cpp:36,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_keywrap.cpp:36,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_keywrap.cpp:37,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_keywrap.cpp:37,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_keywrap.cpp:39,1
    - Dst: Botan::rfc3394_keywrap
      Src: /src/botan/src/tests/test_keywrap.cpp:39,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_keywrap.cpp:40,1
    - Dst: Botan::rfc3394_keyunwrap
      Src: /src/botan/src/tests/test_keywrap.cpp:40,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_keywrap.cpp:42,1
    - Dst: what
      Src: /src/botan/src/tests/test_keywrap.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 46
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 46
    functionName: Botan_Tests::RFC3394_Keywrap_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_keywrap.cpp
    functionUses: 0
    functionsReached:
    - what
    - std::vector::begin
    - Botan::rfc3394_keyunwrap
    - Test::Result::test_failure
    - get_req_bin
    - std::vector::end
    - Test::Result::test_eq
    - Botan::rfc3394_keywrap
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan_Tests::NIST_Keywrap_Tests::NIST_Keywrap_Tests
    functionSourceFile: /src/botan/src/tests/test_keywrap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NIST_Keywrap_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_keywrap.cpp:63,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_keywrap.cpp:66,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_keywrap.cpp:67,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_keywrap.cpp:68,1
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/tests/test_keywrap.cpp:71,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_keywrap.cpp:71,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_keywrap.cpp:71,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/tests/test_keywrap.cpp:73,1
    - Dst: nist_key_wrap
      Src: /src/botan/src/tests/test_keywrap.cpp:78,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_keywrap.cpp:78,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_keywrap.cpp:78,1
    - Dst: nist_key_wrap_padded
      Src: /src/botan/src/tests/test_keywrap.cpp:80,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_keywrap.cpp:80,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_keywrap.cpp:80,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_keywrap.cpp:83,1
    - Dst: nist_key_unwrap
      Src: /src/botan/src/tests/test_keywrap.cpp:88,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_keywrap.cpp:88,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_keywrap.cpp:88,1
    - Dst: nist_key_unwrap_padded
      Src: /src/botan/src/tests/test_keywrap.cpp:90,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_keywrap.cpp:90,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_keywrap.cpp:90,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_keywrap.cpp:93,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_keywrap.cpp:95,1
    - Dst: what
      Src: /src/botan/src/tests/test_keywrap.cpp:95,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_keywrap.cpp:98,1
    - Dst: what
      Src: /src/botan/src/tests/test_keywrap.cpp:98,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - ' typ'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 102
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 102
    functionName: Botan_Tests::NIST_Keywrap_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_keywrap.cpp
    functionUses: 0
    functionsReached:
    - nist_key_unwrap
    - std::vector::size
    - Botan::BlockCipher::create_or_throw
    - what
    - std::to_string
    - Test::Result::test_failure
    - Test_Error
    - get_req_bin
    - nist_key_unwrap_padded
    - Test::Result::test_eq
    - nist_key_wrap
    - nist_key_wrap_padded
    - std::unique_ptr::set_key
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& typ, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: Botan_Tests::NIST_Keywrap_Invalid_Tests::NIST_Keywrap_Invalid_Tests
    functionSourceFile: /src/botan/src/tests/test_keywrap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NIST_Keywrap_Invalid_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_keywrap.cpp:116,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_keywrap.cpp:119,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_keywrap.cpp:120,1
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/tests/test_keywrap.cpp:123,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_keywrap.cpp:123,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_keywrap.cpp:123,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/tests/test_keywrap.cpp:125,1
    - Dst: nist_key_unwrap
      Src: /src/botan/src/tests/test_keywrap.cpp:130,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_keywrap.cpp:130,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_keywrap.cpp:130,1
    - Dst: nist_key_unwrap_padded
      Src: /src/botan/src/tests/test_keywrap.cpp:132,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_keywrap.cpp:132,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_keywrap.cpp:132,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_keywrap.cpp:135,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_keywrap.cpp:137,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_keywrap.cpp:140,1
    - Dst: what
      Src: /src/botan/src/tests/test_keywrap.cpp:140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ' typ'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 144
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 144
    functionName: Botan_Tests::NIST_Keywrap_Invalid_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_keywrap.cpp
    functionUses: 0
    functionsReached:
    - nist_key_unwrap
    - std::vector::size
    - Botan::BlockCipher::create_or_throw
    - what
    - std::to_string
    - Test::Result::test_failure
    - Test_Error
    - get_req_bin
    - nist_key_unwrap_padded
    - Test::Result::test_success
    - std::unique_ptr::set_key
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& typ, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/main.cpp:25,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' err'
    - ' list'
    argTypes:
    - std::ostringstream
    - std::set<std::string>
    constantsTouched: []
    func_position:
      end: 36
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 36
    functionName: print_item_list
    functionSourceFile: /src/botan/src/tests/main.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void print_item_list(std::ostringstream& err, const std::set<std::string>&
      list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: print_item_list
      Src: /src/botan/src/tests/main.cpp:45,1
    - Dst: Botan_Tests::Test::registered_tests
      Src: /src/botan/src/tests/main.cpp:45,1
    - Dst: print_item_list
      Src: /src/botan/src/tests/main.cpp:51,1
    - Dst: Botan_Tests::Test::registered_test_categories
      Src: /src/botan/src/tests/main.cpp:51,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/main.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' spec'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: help_text
    functionSourceFile: /src/botan/src/tests/main.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::registered_test_categories
    - Botan_Tests::Test::registered_tests
    - print_item_list
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string help_text(const std::string& spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::runtime_version_check
      Src: /src/botan/src/tests/main.cpp:59,1
    - Dst: Botan_CLI::Argument_Parser::parse_args
      Src: /src/botan/src/tests/main.cpp:73,1
    - Dst: std::vector<std::string>
      Src: /src/botan/src/tests/main.cpp:73,1
    - Dst: Botan_CLI::Argument_Parser::flag_set
      Src: /src/botan/src/tests/main.cpp:75,1
    - Dst: help_text
      Src: /src/botan/src/tests/main.cpp:76,1
    - Dst: Botan_CLI::Argument_Parser::flag_set
      Src: /src/botan/src/tests/main.cpp:80,1
    - Dst: Botan_Tests::Test::registered_tests
      Src: /src/botan/src/tests/main.cpp:81,1
    - Dst: Botan_CLI::Argument_Parser::get_arg_sz
      Src: /src/botan/src/tests/main.cpp:92,1
    - Dst: ::setenv
      Src: /src/botan/src/tests/main.cpp:93,1
    - Dst: Botan_CLI::Argument_Parser::get_arg_list
      Src: /src/botan/src/tests/main.cpp:97,1
    - Dst: Botan_CLI::Argument_Parser::get_arg_list
      Src: /src/botan/src/tests/main.cpp:98,1
    - Dst: Botan_CLI::Argument_Parser::get_arg_or
      Src: /src/botan/src/tests/main.cpp:99,1
    - Dst: Botan_CLI::Argument_Parser::get_arg
      Src: /src/botan/src/tests/main.cpp:100,1
    - Dst: Botan_CLI::Argument_Parser::get_arg
      Src: /src/botan/src/tests/main.cpp:101,1
    - Dst: Botan_CLI::Argument_Parser::get_arg
      Src: /src/botan/src/tests/main.cpp:102,1
    - Dst: Botan_CLI::Argument_Parser::get_arg
      Src: /src/botan/src/tests/main.cpp:103,1
    - Dst: Botan_CLI::Argument_Parser::get_arg_hex_sz_or
      Src: /src/botan/src/tests/main.cpp:104,1
    - Dst: Botan_CLI::Argument_Parser::get_arg_hex_sz_or
      Src: /src/botan/src/tests/main.cpp:105,1
    - Dst: Botan_CLI::Argument_Parser::get_arg_or
      Src: /src/botan/src/tests/main.cpp:106,1
    - Dst: Botan_CLI::Argument_Parser::get_arg
      Src: /src/botan/src/tests/main.cpp:107,1
    - Dst: Botan_CLI::Argument_Parser::get_arg
      Src: /src/botan/src/tests/main.cpp:108,1
    - Dst: Botan_CLI::Argument_Parser::get_arg_list
      Src: /src/botan/src/tests/main.cpp:109,1
    - Dst: Botan_CLI::Argument_Parser::get_arg_sz
      Src: /src/botan/src/tests/main.cpp:110,1
    - Dst: Botan_CLI::Argument_Parser::get_arg_sz
      Src: /src/botan/src/tests/main.cpp:111,1
    - Dst: Botan_CLI::Argument_Parser::flag_set
      Src: /src/botan/src/tests/main.cpp:112,1
    - Dst: Botan_CLI::Argument_Parser::flag_set
      Src: /src/botan/src/tests/main.cpp:113,1
    - Dst: Botan_CLI::Argument_Parser::flag_set
      Src: /src/botan/src/tests/main.cpp:114,1
    - Dst: Botan_CLI::Argument_Parser::flag_set
      Src: /src/botan/src/tests/main.cpp:115,1
    - Dst: Botan_CLI::Argument_Parser::flag_set
      Src: /src/botan/src/tests/main.cpp:116,1
    - Dst: Botan_CLI::Argument_Parser::flag_set
      Src: /src/botan/src/tests/main.cpp:117,1
    - Dst: Botan_CLI::Argument_Parser::flag_set
      Src: /src/botan/src/tests/main.cpp:118,1
    - Dst: Botan_Tests::Test_Runner::run
      Src: /src/botan/src/tests/main.cpp:122,1
    - Dst: what
      Src: /src/botan/src/tests/main.cpp:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 129
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 129
    functionName: main
    functionSourceFile: /src/botan/src/tests/main.cpp
    functionUses: 11
    functionsReached:
    - Botan_CLI::Argument_Parser::get_arg_list
    - Botan_CLI::Argument_Parser::get_arg_or
    - Botan_Tests::Test::registered_tests
    - what
    - Botan_CLI::Argument_Parser::get_arg
    - Botan_CLI::Argument_Parser::parse_args
    - Botan_CLI::Argument_Parser::flag_set
    - Botan_Tests::Test_Runner::run
    - Botan::runtime_version_check
    - Botan_CLI::Argument_Parser::get_arg_hex_sz_or
    - help_text
    - ::setenv
    - Botan_CLI::Argument_Parser::get_arg_sz
    - std::vector<std::string>
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan_Tests::EME_PKCS1v15_Decoding_Tests::EME_PKCS1v15_Decoding_Tests
    functionSourceFile: /src/botan/src/tests/test_pk_pad.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EME_PKCS1v15_Decoding_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EME::create
      Src: /src/botan/src/tests/test_pk_pad.cpp:27,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_pk_pad.cpp:32,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_pk_pad.cpp:33,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pk_pad.cpp:36,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pk_pad.cpp:36,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pk_pad.cpp:39,1
    - Dst: auto::unpad
      Src: /src/botan/src/tests/test_pk_pad.cpp:40,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pk_pad.cpp:42,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_pk_pad.cpp:42,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_pk_pad.cpp:44,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_pk_pad.cpp:45,1
    - Dst: auto::value_or
      Src: /src/botan/src/tests/test_pk_pad.cpp:45,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pk_pad.cpp:46,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pk_pad.cpp:49,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pk_pad.cpp:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ' hdr'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 61
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 61
    functionName: Botan_Tests::EME_PKCS1v15_Decoding_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_pk_pad.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - auto::unpad
    - auto::has_value
    - std::vector::resize
    - auto::value_or
    - Test::Result::confirm
    - get_req_bin
    - get_opt_bin
    - Test::Result::test_eq
    - Botan::EME::create
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& hdr, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EMSA::create_or_throw
      Src: /src/botan/src/tests/test_pk_pad.cpp:103,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_pk_pad.cpp:103,1
    - Dst: Botan::EMSA::create
      Src: /src/botan/src/tests/test_pk_pad.cpp:104,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_pk_pad.cpp:104,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pk_pad.cpp:105,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_pk_pad.cpp:105,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_pk_pad.cpp:105,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pk_pad.cpp:107,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pk_pad.cpp:109,1
    - Dst: what
      Src: /src/botan/src/tests/test_pk_pad.cpp:109,1
    - Dst: Botan::EMSA::create_or_throw
      Src: /src/botan/src/tests/test_pk_pad.cpp:116,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pk_pad.cpp:117,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pk_pad.cpp:119,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pk_pad.cpp:121,1
    - Dst: what
      Src: /src/botan/src/tests/test_pk_pad.cpp:122,1
    - Dst: Botan::EMSA::create
      Src: /src/botan/src/tests/test_pk_pad.cpp:128,1
    - Dst: Botan::EMSA::create
      Src: /src/botan/src/tests/test_pk_pad.cpp:129,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_pk_pad.cpp:129,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pk_pad.cpp:130,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_pk_pad.cpp:130,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_pk_pad.cpp:130,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_pk_pad.cpp:132,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pk_pad.cpp:134,1
    - Dst: what
      Src: /src/botan/src/tests/test_pk_pad.cpp:134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 139
    functionName: Botan_Tests::EMSA_unit_tests::run
    functionSourceFile: /src/botan/src/tests/test_pk_pad.cpp
    functionUses: 0
    functionsReached:
    - auto::name
    - Test::Result::test_note
    - Botan::EMSA::create_or_throw
    - what
    - Botan::EMSA::create
    - Test::Result::test_failure
    - Test::Result::test_eq
    - Botan::fmt
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan_Tests::X25519_Agreement_Tests::X25519_Agreement_Tests
    functionSourceFile: /src/botan/src/tests/test_x25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X25519_Agreement_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_x25519.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: Botan_Tests::X25519_Agreement_Tests::agreement_should_fail
    functionSourceFile: /src/botan/src/tests/test_x25519.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    linkageType: ''
    returnType: bool
    signature: bool agreement_should_fail(const std::string& /*unused*/, const VarMap&
      vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan_Tests::X25519_Agreement_Tests::default_kdf
    functionSourceFile: /src/botan/src/tests/test_x25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_kdf(const VarMap& /*unused*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_x25519.cpp:38,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_x25519.cpp:39,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_x25519.cpp:39,1
    - Dst: std::make_unique<Botan::X25519_PrivateKey>
      Src: /src/botan/src/tests/test_x25519.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: Botan_Tests::X25519_Agreement_Tests::load_our_key
    functionSourceFile: /src/botan/src/tests/test_x25519.cpp
    functionUses: 0
    functionsReached:
    - std::vector::begin
    - std::make_unique<Botan::X25519_PrivateKey>
    - get_req_bin
    - std::vector::end
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_our_key(const std::string&
      /*header*/, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_x25519.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan_Tests::X25519_Agreement_Tests::load_their_key
    functionSourceFile: /src/botan/src/tests/test_x25519.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> load_their_key(const std::string& /*header*/,
      const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::X25519_Roundtrip_Test::rng
      Src: /src/botan/src/tests/test_x25519.cpp:58,1
    - Dst: Botan_Tests::X25519_Roundtrip_Test::rng
      Src: /src/botan/src/tests/test_x25519.cpp:59,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_x25519.cpp:67,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/tests/test_x25519.cpp:68,1
    - Dst: Botan_Tests::X25519_Roundtrip_Test::rng
      Src: /src/botan/src/tests/test_x25519.cpp:68,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/tests/test_x25519.cpp:69,1
    - Dst: Botan_Tests::X25519_Roundtrip_Test::rng
      Src: /src/botan/src/tests/test_x25519.cpp:69,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_x25519.cpp:75,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_x25519.cpp:75,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_x25519.cpp:76,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/tests/test_x25519.cpp:78,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/tests/test_x25519.cpp:79,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_x25519.cpp:85,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_x25519.cpp:86,1
    - Dst: Botan::X509::PEM_encode
      Src: /src/botan/src/tests/test_x25519.cpp:90,1
    - Dst: Botan::X509::PEM_encode
      Src: /src/botan/src/tests/test_x25519.cpp:91,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/tests/test_x25519.cpp:96,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/tests/test_x25519.cpp:97,1
    - Dst: dynamic_cast<Botan::X25519_PublicKey*>
      Src: /src/botan/src/tests/test_x25519.cpp:99,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_x25519.cpp:99,1
    - Dst: dynamic_cast<Botan::X25519_PublicKey*>
      Src: /src/botan/src/tests/test_x25519.cpp:100,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_x25519.cpp:100,1
    - Dst: Botan_Tests::X25519_Roundtrip_Test::rng
      Src: /src/botan/src/tests/test_x25519.cpp:103,1
    - Dst: Botan_Tests::X25519_Roundtrip_Test::rng
      Src: /src/botan/src/tests/test_x25519.cpp:104,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/tests/test_x25519.cpp:106,1
    - Dst: Botan::X25519_PublicKey*::public_value
      Src: /src/botan/src/tests/test_x25519.cpp:106,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/tests/test_x25519.cpp:107,1
    - Dst: Botan::X25519_PublicKey*::public_value
      Src: /src/botan/src/tests/test_x25519.cpp:107,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x25519.cpp:109,1
    - Dst: Botan::SymmetricKey::bits_of
      Src: /src/botan/src/tests/test_x25519.cpp:109,1
    - Dst: Botan::SymmetricKey::bits_of
      Src: /src/botan/src/tests/test_x25519.cpp:109,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_x25519.cpp:110,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_x25519.cpp:111,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_x25519.cpp:114,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_x25519.cpp:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 121
    functionName: Botan_Tests::X25519_Roundtrip_Test::run
    functionSourceFile: /src/botan/src/tests/test_x25519.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_note
    - Botan::PKCS8::load_key
    - Botan::PKCS8::PEM_encode
    - Botan::X509::PEM_encode
    - dynamic_cast<Botan::X25519_PublicKey*>
    - Botan::X509::load_key
    - Botan_CLI::Timer::milliseconds
    - std::string
    - Botan::PK_Key_Agreement::derive_key
    - Test::Result::test_failure
    - std::vector::push_back
    - Botan::X25519_PublicKey*::public_value
    - Botan::SymmetricKey::bits_of
    - Test::Result::test_eq
    - auto::get
    - Botan_Tests::X25519_Roundtrip_Test::rng
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: Botan_Tests::X25519_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_x25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan_Tests::X25519_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_x25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::X25519_PublicKey>
      Src: /src/botan/src/tests/test_x25519.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raw_pk
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: Botan_Tests::X25519_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_x25519.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::X25519_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      /* keygen_params */,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: Botan_Tests::PK_Workfactor_Tests::PK_Workfactor_Tests
    functionSourceFile: /src/botan/src/tests/test_workfactor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Workfactor_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::if_work_factor
      Src: /src/botan/src/tests/test_workfactor.cpp:29,1
    - Dst: Botan::dl_exponent_size
      Src: /src/botan/src/tests/test_workfactor.cpp:31,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_workfactor.cpp:35,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_workfactor.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 37
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 37
    functionName: Botan_Tests::PK_Workfactor_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_workfactor.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - std::to_string
    - Botan::if_work_factor
    - Botan::dl_exponent_size
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan_Tests::Block_Cipher_Tests::Block_Cipher_Tests
    functionSourceFile: /src/botan/src/tests/test_block.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Block_Cipher_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: provider_filter
      Src: /src/botan/src/tests/test_block.cpp:23,1
    - Dst: Botan::BlockCipher::providers
      Src: /src/botan/src/tests/test_block.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' algo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan_Tests::Block_Cipher_Tests::possible_providers
    functionSourceFile: /src/botan/src/tests/test_block.cpp
    functionUses: 0
    functionsReached:
    - provider_filter
    - Botan::BlockCipher::providers
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> possible_providers(const std::string& algo)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_block.cpp:27,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_block.cpp:28,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_block.cpp:29,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_block.cpp:30,1
    - Dst: run_long_tests
      Src: /src/botan/src/tests/test_block.cpp:35,1
    - Dst: Botan_Tests::Block_Cipher_Tests::possible_providers
      Src: /src/botan/src/tests/test_block.cpp:39,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_block.cpp:41,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_block.cpp:42,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/tests/test_block.cpp:47,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_block.cpp:50,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_block.cpp:50,1
    - Dst: auto::provider
      Src: /src/botan/src/tests/test_block.cpp:54,1
    - Dst: Test::Result::test_is_nonempty
      Src: /src/botan/src/tests/test_block.cpp:55,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_block.cpp:56,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_block.cpp:56,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_block.cpp:57,1
    - Dst: auto::parallelism
      Src: /src/botan/src/tests/test_block.cpp:57,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_block.cpp:58,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_block.cpp:58,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_block.cpp:59,1
    - Dst: auto::parallel_bytes
      Src: /src/botan/src/tests/test_block.cpp:59,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_block.cpp:59,1
    - Dst: auto::parallelism
      Src: /src/botan/src/tests/test_block.cpp:59,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_block.cpp:61,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_block.cpp:61,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_block.cpp:65,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_block.cpp:66,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_block.cpp:67,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_block.cpp:69,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_block.cpp:73,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_block.cpp:74,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_block.cpp:75,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_block.cpp:77,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_block.cpp:81,1
    - Dst: Botan_Tests::Block_Cipher_Tests::rng
      Src: /src/botan/src/tests/test_block.cpp:81,1
    - Dst: auto::key_spec
      Src: /src/botan/src/tests/test_block.cpp:81,1
    - Dst: Botan_Tests::Block_Cipher_Tests::rng
      Src: /src/botan/src/tests/test_block.cpp:82,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_block.cpp:82,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_block.cpp:83,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_block.cpp:84,1
    - Dst: auto::valid_keylength
      Src: /src/botan/src/tests/test_block.cpp:90,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_block.cpp:90,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_block.cpp:91,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_block.cpp:92,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_block.cpp:92,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_block.cpp:96,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_block.cpp:97,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_block.cpp:97,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_block.cpp:99,1
    - Dst: dynamic_cast<Botan::Tweakable_Block_Cipher*>
      Src: /src/botan/src/tests/test_block.cpp:100,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_block.cpp:100,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_block.cpp:102,1
    - Dst: Botan::Tweakable_Block_Cipher*::set_tweak
      Src: /src/botan/src/tests/test_block.cpp:104,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:104,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_block.cpp:104,1
    - Dst: auto::new_object
      Src: /src/botan/src/tests/test_block.cpp:109,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_block.cpp:110,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_block.cpp:110,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_block.cpp:110,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_block.cpp:111,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_block.cpp:111,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_block.cpp:111,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_block.cpp:112,1
    - Dst: Botan_Tests::Block_Cipher_Tests::rng
      Src: /src/botan/src/tests/test_block.cpp:112,1
    - Dst: auto::maximum_keylength
      Src: /src/botan/src/tests/test_block.cpp:112,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_block.cpp:118,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_block.cpp:121,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_block.cpp:127,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_block.cpp:130,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_block.cpp:134,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_block.cpp:134,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_block.cpp:135,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:135,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:135,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_block.cpp:135,1
    - Dst: auto::encrypt_n
      Src: /src/botan/src/tests/test_block.cpp:138,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:138,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:138,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_block.cpp:141,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_block.cpp:141,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:143,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_block.cpp:144,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:145,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_block.cpp:146,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_block.cpp:149,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:149,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:149,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_block.cpp:149,1
    - Dst: auto::decrypt_n
      Src: /src/botan/src/tests/test_block.cpp:152,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:152,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:152,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_block.cpp:155,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_block.cpp:156,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:156,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_block.cpp:156,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_block.cpp:156,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_block.cpp:156,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_block.cpp:158,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_block.cpp:158,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_block.cpp:159,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_block.cpp:160,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_block.cpp:160,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_block.cpp:163,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_block.cpp:164,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_block.cpp:165,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_block.cpp:167,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_block.cpp:171,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_block.cpp:172,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_block.cpp:173,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_block.cpp:175,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 86
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 180
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 180
    functionName: Botan_Tests::Block_Cipher_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_block.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Block_Cipher_Tests::possible_providers
    - std::vector::size
    - auto::decrypt
    - std::to_string
    - Botan::BlockCipher::create
    - std::string::c_str
    - dynamic_cast<Botan::Tweakable_Block_Cipher*>
    - auto::encrypt_n
    - Test::Result::test_eq
    - auto::name
    - Test::Result::test_note
    - std::vector::empty
    - Test::Result::confirm
    - run_long_tests
    - Botan::Tweakable_Block_Cipher*::set_tweak
    - get_req_bin
    - get_opt_bin
    - auto::get
    - auto::parallel_bytes
    - Test::Result::test_gte
    - Test::Result::test_success
    - auto::block_size
    - std::vector::data
    - auto::new_object
    - auto::maximum_keylength
    - auto::has_keying_material
    - auto::provider
    - std::vector::resize
    - Botan_Tests::Block_Cipher_Tests::rng
    - auto::encrypt
    - Test::Result::test_is_nonempty
    - Botan::copy_mem
    - auto::valid_keylength
    - auto::set_key
    - Test::Result::test_failure
    - auto::decrypt_n
    - Test::Result::note_missing
    - auto::clear
    - Botan::fmt
    - auto::parallelism
    - auto::key_spec
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/unit_asio_stream.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - core
    argTypes:
    - std::shared_ptr<Botan::TLS::Callbacks>
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: Botan_Tests::MockChannel::MockChannel
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MockChannel(std::shared_ptr<Botan::TLS::Callbacks> core)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/unit_asio_stream.cpp:48,1
    - Dst: tls_record_received
      Src: /src/botan/src/tests/unit_asio_stream.cpp:49,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/unit_asio_stream.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: Botan_Tests::MockChannel::received_data
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - tls_record_received
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t received_data(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tls_emit_data
      Src: /src/botan/src/tests/unit_asio_stream.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Botan_Tests::MockChannel::send
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - tls_emit_data
    linkageType: ''
    returnType: void
    signature: void send(std::span<const uint8_t> buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan_Tests::MockChannel::is_active
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_active() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan_Tests::MockChannel::is_handshake_complete
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_handshake_complete() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Botan_Tests::MockChannel::is_closed_for_reading
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_closed_for_reading() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan_Tests::MockChannel::is_closed_for_writing
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_closed_for_writing() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tls_alert
      Src: /src/botan/src/tests/unit_asio_stream.cpp:69,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/unit_asio_stream.cpp:70,1
    - Dst: Botan_Tests::MockChannel::send
      Src: /src/botan/src/tests/unit_asio_stream.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: Botan_Tests::MockChannel::received_close_notify
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - tls_alert
    - Botan::hex_decode
    - Botan_Tests::MockChannel::send
    linkageType: ''
    returnType: void
    signature: void received_close_notify()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan_Tests::ThrowingMockChannel::expected_ec
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boost::system::error_code
    signature: boost::system::error_code expected_ec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/unit_asio_stream.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - core
    argTypes:
    - std::shared_ptr<Botan::TLS::Callbacks>
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan_Tests::ThrowingMockChannel::ThrowingMockChannel
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ThrowingMockChannel(std::shared_ptr<Botan::TLS::Callbacks> core)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Unexpected_Message
      Src: /src/botan/src/tests/unit_asio_stream.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Botan_Tests::ThrowingMockChannel::received_data
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Unexpected_Message
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t received_data(std::span<const uint8_t>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Unexpected_Message
      Src: /src/botan/src/tests/unit_asio_stream.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan_Tests::ThrowingMockChannel::send
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Unexpected_Message
    linkageType: ''
    returnType: void
    signature: void send(std::span<const uint8_t>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/unit_asio_stream.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - core
    argTypes:
    - std::shared_ptr<Botan::TLS::Callbacks>
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan_Tests::CancellingMockChannel::CancellingMockChannel
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CancellingMockChannel(std::shared_ptr<Botan::TLS::Callbacks> core)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: received_close_notify
      Src: /src/botan/src/tests/unit_asio_stream.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: Botan_Tests::CancellingMockChannel::received_data
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - received_close_notify
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t received_data(std::span<const uint8_t>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:117,1
    - Dst: std::make_unique<MockChannel>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - std::shared_ptr<Botan::TLS::Context>
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: Botan_Tests::AsioStream::AsioStream
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - std::make_unique<MockChannel>
    linkageType: ''
    returnType: void
    signature: void AsioStream(std::shared_ptr<Botan::TLS::Context> context, Args&&...
      args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:126,1
    - Dst: std::make_unique<ThrowingMockChannel>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - std::shared_ptr<Botan::TLS::Context>
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: Botan_Tests::ThrowingAsioStream::ThrowingAsioStream
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - std::make_unique<ThrowingMockChannel>
    linkageType: ''
    returnType: void
    signature: void ThrowingAsioStream(std::shared_ptr<Botan::TLS::Context> context,
      Args&&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:135,1
    - Dst: std::make_unique<CancellingMockChannel>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - std::shared_ptr<Botan::TLS::Context>
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Botan_Tests::CancellingAsioStream::CancellingAsioStream
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - std::make_unique<CancellingMockChannel>
    linkageType: ''
    returnType: void
    signature: void CancellingAsioStream(std::shared_ptr<Botan::TLS::Context> context,
      Args&&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::enable_shared_from_this<Context>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:150,1
    - Dst: std::make_shared<Botan::Credentials_Manager>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:150,1
    - Dst: std::make_shared<Botan::Null_RNG>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:151,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_Noop>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:152,1
    - Dst: std::make_shared<Botan::TLS::Default_Policy>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: Botan_Tests::Asio_Stream_Tests::get_context
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - std::enable_shared_from_this<Context>
    - std::make_shared<Botan::TLS::Session_Manager_Noop>
    - std::make_shared<Botan::Null_RNG>
    - std::make_shared<Botan::Credentials_Manager>
    - std::make_shared<Botan::TLS::Default_Policy>
    linkageType: ''
    returnType: std::shared_ptr<Botan::TLS::Context>
    signature: std::shared_ptr<Botan::TLS::Context> get_context()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/botan/src/tests/unit_asio_stream.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - void*
    - void*
    - std::size_t
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: Botan_Tests::Asio_Stream_Tests::contains
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool contains(const void* a, const void* b, const std::size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::string_view
      Src: /src/botan/src/tests/unit_asio_stream.cpp:160,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/unit_asio_stream.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: Botan_Tests::Asio_Stream_Tests::test_data
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - boost::string_view
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: boost::string_view
    signature: boost::string_view test_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:165,1
    - Dst: AsioStream::handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:168,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:171,1
    - Dst: AsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:171,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_handshake
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::handshake
    - push_back
    - AsioStream::native_handle
    - Test::Result::test_eq
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_sync_handshake(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:181,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:183,1
    - Dst: AsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:186,1
    - Dst: AsioStream::handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:189,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:192,1
    - Dst: AsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:192,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:193,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 195
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 195
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_handshake_error
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::next_layer
    - Test::Result::confirm
    - AsioStream::handshake
    - push_back
    - AsioStream::native_handle
    - Test::Result::test_eq
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_sync_handshake_error(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:201,1
    - Dst: CancellingAsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:203,1
    - Dst: CancellingAsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:206,1
    - Dst: CancellingAsioStream::handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:209,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:212,1
    - Dst: CancellingAsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:212,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:213,1
    - Dst: CancellingAsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:213,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:214,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 216
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 216
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_handshake_cancellation
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - CancellingAsioStream::next_layer
    - CancellingAsioStream::native_handle
    - Test::Result::confirm
    - push_back
    - CancellingAsioStream::handshake
    - Test::Result::test_eq
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_sync_handshake_cancellation(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:222,1
    - Dst: ThrowingAsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:224,1
    - Dst: ThrowingAsioStream::handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:227,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:230,1
    - Dst: ThrowingAsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:230,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:231,1
    - Dst: Botan_Tests::ThrowingMockChannel::expected_ec
      Src: /src/botan/src/tests/unit_asio_stream.cpp:231,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 233
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 233
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_handshake_throw
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::ThrowingMockChannel::expected_ec
    - ThrowingAsioStream::native_handle
    - Test::Result::confirm
    - ThrowingAsioStream::next_layer
    - push_back
    - Test::Result::test_eq
    - ThrowingAsioStream::handshake
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_sync_handshake_throw(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:239,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:241,1
    - Dst: AsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:244,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:249,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:249,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:250,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:250,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:251,1
    - Dst: AsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:251,1
    - Dst: AsioStream::async_handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:254,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:256,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:257,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 259
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 259
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_handshake
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::next_layer
    - AsioStream::async_handshake
    - Test::Result::confirm
    - push_back
    - AsioStream::native_handle
    - Test::Result::test_eq
    - net::io_context::run
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_async_handshake(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:267,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:269,1
    - Dst: AsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:272,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:277,1
    - Dst: AsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:277,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:278,1
    - Dst: AsioStream::async_handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:281,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:283,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 285
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 285
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_handshake_error
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::next_layer
    - AsioStream::async_handshake
    - Test::Result::confirm
    - push_back
    - AsioStream::native_handle
    - Test::Result::test_eq
    - net::io_context::run
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_async_handshake_error(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:291,1
    - Dst: CancellingAsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:293,1
    - Dst: CancellingAsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:296,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:301,1
    - Dst: CancellingAsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:301,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:302,1
    - Dst: CancellingAsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:302,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:303,1
    - Dst: CancellingAsioStream::async_handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:306,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:308,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 310
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 310
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_handshake_cancellation
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - CancellingAsioStream::async_handshake
    - CancellingAsioStream::next_layer
    - CancellingAsioStream::native_handle
    - Test::Result::confirm
    - push_back
    - Test::Result::test_eq
    - net::io_context::run
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_async_handshake_cancellation(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:316,1
    - Dst: ThrowingAsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:318,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:323,1
    - Dst: ThrowingAsioStream::native_handle
      Src: /src/botan/src/tests/unit_asio_stream.cpp:323,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:324,1
    - Dst: Botan_Tests::ThrowingMockChannel::expected_ec
      Src: /src/botan/src/tests/unit_asio_stream.cpp:324,1
    - Dst: ThrowingAsioStream::async_handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:327,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:329,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 331
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 331
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_handshake_throw
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::ThrowingMockChannel::expected_ec
    - Test::Result::confirm
    - ThrowingAsioStream::native_handle
    - ThrowingAsioStream::next_layer
    - push_back
    - ThrowingAsioStream::async_handshake
    - Test::Result::test_eq
    - net::io_context::run
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_async_handshake_throw(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:336,1
    - Dst: bs_thread
      Src: /src/botan/src/tests/unit_asio_stream.cpp:343,1
    - Dst: net::mutable_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:343,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:346,1
    - Dst: Botan_Tests::Asio_Stream_Tests::contains
      Src: /src/botan/src/tests/unit_asio_stream.cpp:346,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:347,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:348,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 351
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 351
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_read_some_success
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - net::mutable_buffer
    - Test::Result::confirm
    - push_back
    - bs_thread
    - Test::Result::test_eq
    - Botan_Tests::Asio_Stream_Tests::get_context
    - Botan_Tests::Asio_Stream_Tests::contains
    linkageType: ''
    returnType: void
    signature: void test_sync_read_some_success(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:356,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:363,1
    - Dst: net::mutable_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:363,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:364,1
    - Dst: net::mutable_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:364,1
    - Dst: bs_thread
      Src: /src/botan/src/tests/unit_asio_stream.cpp:366,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:370,1
    - Dst: Botan_Tests::Asio_Stream_Tests::contains
      Src: /src/botan/src/tests/unit_asio_stream.cpp:371,1
    - Dst: Botan_Tests::Asio_Stream_Tests::contains
      Src: /src/botan/src/tests/unit_asio_stream.cpp:372,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:373,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:374,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 377
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 377
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_read_some_buffer_sequence
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - net::mutable_buffer
    - Test::Result::confirm
    - push_back
    - bs_thread
    - std::vector::emplace_back
    - Test::Result::test_eq
    - Botan_Tests::Asio_Stream_Tests::get_context
    - Botan_Tests::Asio_Stream_Tests::contains
    linkageType: ''
    returnType: void
    signature: void test_sync_read_some_buffer_sequence(std::vector<Test::Result>&
      results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:385,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:387,1
    - Dst: bs_thread
      Src: /src/botan/src/tests/unit_asio_stream.cpp:392,1
    - Dst: net::mutable_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:392,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:395,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:396,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 399
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 399
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_read_some_error
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::next_layer
    - net::mutable_buffer
    - Test::Result::confirm
    - push_back
    - bs_thread
    - Test::Result::test_eq
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_sync_read_some_error(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:405,1
    - Dst: ThrowingAsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:407,1
    - Dst: bs_thread
      Src: /src/botan/src/tests/unit_asio_stream.cpp:412,1
    - Dst: net::mutable_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:412,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:415,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:416,1
    - Dst: Botan_Tests::ThrowingMockChannel::expected_ec
      Src: /src/botan/src/tests/unit_asio_stream.cpp:416,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 419
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 419
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_read_some_throw
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - net::mutable_buffer
    - Botan_Tests::ThrowingMockChannel::expected_ec
    - Test::Result::confirm
    - ThrowingAsioStream::next_layer
    - push_back
    - bs_thread
    - Test::Result::test_eq
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_sync_read_some_throw(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:424,1
    - Dst: bs_thread
      Src: /src/botan/src/tests/unit_asio_stream.cpp:431,1
    - Dst: net::mutable_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:431,1
    - Dst: std::size_t
      Src: /src/botan/src/tests/unit_asio_stream.cpp:431,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:434,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:437,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 440
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 440
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_read_zero_buffer
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - net::mutable_buffer
    - Test::Result::confirm
    - push_back
    - bs_thread
    - Test::Result::test_eq
    - std::size_t
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_sync_read_zero_buffer(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:446,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:453,1
    - Dst: Botan_Tests::Asio_Stream_Tests::contains
      Src: /src/botan/src/tests/unit_asio_stream.cpp:453,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:454,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:455,1
    - Dst: net::async_read
      Src: /src/botan/src/tests/unit_asio_stream.cpp:459,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:461,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:462,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 464
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 464
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_read_some_success
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::next_layer
    - net::async_read
    - Test::Result::confirm
    - push_back
    - Test::Result::test_eq
    - net::io_context::run
    - Botan_Tests::Asio_Stream_Tests::get_context
    - Botan_Tests::Asio_Stream_Tests::contains
    linkageType: ''
    returnType: void
    signature: void test_async_read_some_success(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:468,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:474,1
    - Dst: net::mutable_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:474,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:475,1
    - Dst: net::mutable_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:475,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:480,1
    - Dst: Botan_Tests::Asio_Stream_Tests::contains
      Src: /src/botan/src/tests/unit_asio_stream.cpp:481,1
    - Dst: Botan_Tests::Asio_Stream_Tests::contains
      Src: /src/botan/src/tests/unit_asio_stream.cpp:482,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:483,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:484,1
    - Dst: net::async_read
      Src: /src/botan/src/tests/unit_asio_stream.cpp:487,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:489,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:490,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 492
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 492
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_read_some_buffer_sequence
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::next_layer
    - net::async_read
    - net::mutable_buffer
    - Test::Result::confirm
    - push_back
    - std::vector::emplace_back
    - Test::Result::test_eq
    - net::io_context::run
    - Botan_Tests::Asio_Stream_Tests::get_context
    - Botan_Tests::Asio_Stream_Tests::contains
    linkageType: ''
    returnType: void
    signature: void test_async_read_some_buffer_sequence(std::vector<Test::Result>&
      results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:498,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:505,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:506,1
    - Dst: net::async_read
      Src: /src/botan/src/tests/unit_asio_stream.cpp:510,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:512,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:513,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 515
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 515
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_read_some_error
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::next_layer
    - net::async_read
    - Test::Result::confirm
    - push_back
    - Test::Result::test_eq
    - net::io_context::run
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_async_read_some_error(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:519,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:526,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:527,1
    - Dst: Botan_Tests::ThrowingMockChannel::expected_ec
      Src: /src/botan/src/tests/unit_asio_stream.cpp:527,1
    - Dst: net::async_read
      Src: /src/botan/src/tests/unit_asio_stream.cpp:531,1
    - Dst: ThrowingAsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:533,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:534,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 536
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 536
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_read_some_throw
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - net::async_read
    - Botan_Tests::ThrowingMockChannel::expected_ec
    - Test::Result::confirm
    - ThrowingAsioStream::next_layer
    - push_back
    - Test::Result::test_eq
    - net::io_context::run
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_async_read_some_throw(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:542,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:549,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:552,1
    - Dst: std::size_t
      Src: /src/botan/src/tests/unit_asio_stream.cpp:555,1
    - Dst: net::async_read
      Src: /src/botan/src/tests/unit_asio_stream.cpp:556,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:558,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:559,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 561
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 561
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_read_zero_buffer
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::next_layer
    - net::io_context::run
    - net::async_read
    - Test::Result::confirm
    - push_back
    - Test::Result::test_eq
    - std::size_t
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_async_read_zero_buffer(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:567,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:569,1
    - Dst: Server::handle_write
      Src: /src/botan/src/tests/unit_asio_stream.cpp:572,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:572,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:575,1
    - Dst: TestStream::str
      Src: /src/botan/src/tests/unit_asio_stream.cpp:575,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_data
      Src: /src/botan/src/tests/unit_asio_stream.cpp:575,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:576,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:577,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 580
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 580
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_write_some_success
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::next_layer
    - Server::handle_write
    - net::const_buffer
    - Test::Result::confirm
    - TestStream::str
    - Botan_Tests::Asio_Stream_Tests::test_data
    - push_back
    - Test::Result::test_eq
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_sync_write_some_success(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:586,1
    - Dst: Botan::TLS::Stream<TestStream>::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:588,1
    - Dst: Server::handle_write
      Src: /src/botan/src/tests/unit_asio_stream.cpp:591,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:591,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:594,1
    - Dst: error_code::failed
      Src: /src/botan/src/tests/unit_asio_stream.cpp:594,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 597
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 597
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_no_handshake
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - Server::handle_write
    - net::const_buffer
    - Test::Result::confirm
    - error_code::failed
    - Botan::TLS::Stream<TestStream>::next_layer
    - push_back
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_sync_no_handshake(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:603,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:605,1
    - Dst: std::array::fill
      Src: /src/botan/src/tests/unit_asio_stream.cpp:610,1
    - Dst: std::array::back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:611,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:614,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:614,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/unit_asio_stream.cpp:614,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/unit_asio_stream.cpp:615,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:616,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:616,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/unit_asio_stream.cpp:616,1
    - Dst: Server::handle_write
      Src: /src/botan/src/tests/unit_asio_stream.cpp:619,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:623,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/unit_asio_stream.cpp:624,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:626,1
    - Dst: Botan_Tests::Asio_Stream_Tests::contains
      Src: /src/botan/src/tests/unit_asio_stream.cpp:627,1
    - Dst: TestStream::buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:627,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/unit_asio_stream.cpp:627,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/unit_asio_stream.cpp:627,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:628,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/unit_asio_stream.cpp:628,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:629,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:629,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:630,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 633
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 633
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_write_some_buffer_sequence
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::next_layer
    - Server::handle_write
    - TestStream::buffer
    - std::array::data
    - net::const_buffer
    - Test::Result::confirm
    - std::array::fill
    - push_back
    - std::array::size
    - std::array::back
    - std::vector::emplace_back
    - Test::Result::test_eq
    - Botan_Tests::Asio_Stream_Tests::get_context
    - Botan_Tests::Asio_Stream_Tests::contains
    linkageType: ''
    returnType: void
    signature: void test_sync_write_some_buffer_sequence(std::vector<Test::Result>&
      results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:641,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:643,1
    - Dst: Server::handle_write
      Src: /src/botan/src/tests/unit_asio_stream.cpp:647,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:647,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:650,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:651,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 654
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 654
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_write_some_error
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::next_layer
    - Server::handle_write
    - net::const_buffer
    - Test::Result::confirm
    - push_back
    - Test::Result::test_eq
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_sync_write_some_error(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:660,1
    - Dst: ThrowingAsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:662,1
    - Dst: Server::handle_write
      Src: /src/botan/src/tests/unit_asio_stream.cpp:665,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:665,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:668,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:669,1
    - Dst: Botan_Tests::ThrowingMockChannel::expected_ec
      Src: /src/botan/src/tests/unit_asio_stream.cpp:669,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 672
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 672
    functionName: Botan_Tests::Asio_Stream_Tests::test_sync_write_some_throw
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - Server::handle_write
    - net::const_buffer
    - Test::Result::confirm
    - Botan_Tests::ThrowingMockChannel::expected_ec
    - ThrowingAsioStream::next_layer
    - push_back
    - Test::Result::test_eq
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_sync_write_some_throw(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:678,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:680,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:685,1
    - Dst: TestStream::str
      Src: /src/botan/src/tests/unit_asio_stream.cpp:685,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_data
      Src: /src/botan/src/tests/unit_asio_stream.cpp:685,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:686,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:687,1
    - Dst: net::async_write
      Src: /src/botan/src/tests/unit_asio_stream.cpp:690,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:690,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:692,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 694
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 694
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_write_some_success
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::next_layer
    - net::const_buffer
    - Test::Result::confirm
    - TestStream::str
    - Botan_Tests::Asio_Stream_Tests::test_data
    - net::async_write
    - push_back
    - Test::Result::test_eq
    - net::io_context::run
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_async_write_some_success(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:700,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:702,1
    - Dst: std::array::fill
      Src: /src/botan/src/tests/unit_asio_stream.cpp:706,1
    - Dst: std::array::back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:707,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:710,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:710,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/unit_asio_stream.cpp:710,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/unit_asio_stream.cpp:711,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:712,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:712,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/unit_asio_stream.cpp:712,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:717,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/unit_asio_stream.cpp:718,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:721,1
    - Dst: Botan_Tests::Asio_Stream_Tests::contains
      Src: /src/botan/src/tests/unit_asio_stream.cpp:722,1
    - Dst: TestStream::buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:722,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/unit_asio_stream.cpp:722,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/unit_asio_stream.cpp:722,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:723,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/unit_asio_stream.cpp:723,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:724,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:724,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:725,1
    - Dst: net::async_write
      Src: /src/botan/src/tests/unit_asio_stream.cpp:728,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:730,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 732
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 732
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_write_some_buffer_sequence
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::next_layer
    - TestStream::buffer
    - std::array::data
    - net::const_buffer
    - Test::Result::confirm
    - net::async_write
    - std::array::fill
    - push_back
    - std::array::size
    - std::array::back
    - std::vector::emplace_back
    - Test::Result::test_eq
    - net::io_context::run
    - Botan_Tests::Asio_Stream_Tests::get_context
    - Botan_Tests::Asio_Stream_Tests::contains
    linkageType: ''
    returnType: void
    signature: void test_async_write_some_buffer_sequence(std::vector<Test::Result>&
      results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:740,1
    - Dst: AsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:742,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:747,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:748,1
    - Dst: net::async_write
      Src: /src/botan/src/tests/unit_asio_stream.cpp:751,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:751,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:753,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 755
      start: 734
    functionDepth: 2
    functionLinenumber: 734
    functionLinenumberEnd: 755
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_write_some_error
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - AsioStream::next_layer
    - net::const_buffer
    - Test::Result::confirm
    - net::async_write
    - push_back
    - Test::Result::test_eq
    - net::io_context::run
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_async_write_some_error(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::get_context
      Src: /src/botan/src/tests/unit_asio_stream.cpp:761,1
    - Dst: ThrowingAsioStream::next_layer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:763,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_asio_stream.cpp:768,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_asio_stream.cpp:769,1
    - Dst: Botan_Tests::ThrowingMockChannel::expected_ec
      Src: /src/botan/src/tests/unit_asio_stream.cpp:769,1
    - Dst: net::async_write
      Src: /src/botan/src/tests/unit_asio_stream.cpp:772,1
    - Dst: net::const_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:772,1
    - Dst: net::io_context::run
      Src: /src/botan/src/tests/unit_asio_stream.cpp:774,1
    - Dst: push_back
      Src: /src/botan/src/tests/unit_asio_stream.cpp:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 776
      start: 757
    functionDepth: 2
    functionLinenumber: 757
    functionLinenumberEnd: 776
    functionName: Botan_Tests::Asio_Stream_Tests::test_async_write_throw
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::ThrowingMockChannel::expected_ec
    - Test::Result::confirm
    - net::const_buffer
    - net::async_write
    - ThrowingAsioStream::next_layer
    - push_back
    - Test::Result::test_eq
    - net::io_context::run
    - Botan_Tests::Asio_Stream_Tests::get_context
    linkageType: ''
    returnType: void
    signature: void test_async_write_throw(std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_no_handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:782,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:784,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_handshake_error
      Src: /src/botan/src/tests/unit_asio_stream.cpp:785,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_handshake_cancellation
      Src: /src/botan/src/tests/unit_asio_stream.cpp:786,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_handshake_throw
      Src: /src/botan/src/tests/unit_asio_stream.cpp:787,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_handshake
      Src: /src/botan/src/tests/unit_asio_stream.cpp:789,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_handshake_error
      Src: /src/botan/src/tests/unit_asio_stream.cpp:790,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_handshake_cancellation
      Src: /src/botan/src/tests/unit_asio_stream.cpp:791,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_handshake_throw
      Src: /src/botan/src/tests/unit_asio_stream.cpp:792,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_read_some_success
      Src: /src/botan/src/tests/unit_asio_stream.cpp:794,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_read_some_buffer_sequence
      Src: /src/botan/src/tests/unit_asio_stream.cpp:795,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_read_some_error
      Src: /src/botan/src/tests/unit_asio_stream.cpp:796,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_read_some_throw
      Src: /src/botan/src/tests/unit_asio_stream.cpp:797,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_read_zero_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:798,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_read_some_success
      Src: /src/botan/src/tests/unit_asio_stream.cpp:800,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_read_some_buffer_sequence
      Src: /src/botan/src/tests/unit_asio_stream.cpp:801,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_read_some_error
      Src: /src/botan/src/tests/unit_asio_stream.cpp:802,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_read_some_throw
      Src: /src/botan/src/tests/unit_asio_stream.cpp:803,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_read_zero_buffer
      Src: /src/botan/src/tests/unit_asio_stream.cpp:804,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_write_some_success
      Src: /src/botan/src/tests/unit_asio_stream.cpp:806,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_write_some_buffer_sequence
      Src: /src/botan/src/tests/unit_asio_stream.cpp:807,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_write_some_error
      Src: /src/botan/src/tests/unit_asio_stream.cpp:808,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_sync_write_some_throw
      Src: /src/botan/src/tests/unit_asio_stream.cpp:809,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_write_some_success
      Src: /src/botan/src/tests/unit_asio_stream.cpp:811,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_write_some_buffer_sequence
      Src: /src/botan/src/tests/unit_asio_stream.cpp:812,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_write_some_error
      Src: /src/botan/src/tests/unit_asio_stream.cpp:813,1
    - Dst: Botan_Tests::Asio_Stream_Tests::test_async_write_throw
      Src: /src/botan/src/tests/unit_asio_stream.cpp:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 817
      start: 779
    functionDepth: 3
    functionLinenumber: 779
    functionLinenumberEnd: 817
    functionName: Botan_Tests::Asio_Stream_Tests::run
    functionSourceFile: /src/botan/src/tests/unit_asio_stream.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Asio_Stream_Tests::test_sync_read_some_error
    - Botan_Tests::Asio_Stream_Tests::test_sync_write_some_throw
    - Botan_Tests::Asio_Stream_Tests::test_async_handshake_cancellation
    - Botan_Tests::Asio_Stream_Tests::test_sync_handshake
    - Botan_Tests::Asio_Stream_Tests::test_sync_handshake_cancellation
    - Botan_Tests::Asio_Stream_Tests::test_sync_read_some_buffer_sequence
    - Botan_Tests::Asio_Stream_Tests::test_async_read_zero_buffer
    - Botan_Tests::Asio_Stream_Tests::test_async_handshake_throw
    - Botan_Tests::Asio_Stream_Tests::test_async_read_some_error
    - Botan_Tests::Asio_Stream_Tests::test_sync_write_some_buffer_sequence
    - Botan_Tests::Asio_Stream_Tests::test_async_handshake
    - Botan_Tests::Asio_Stream_Tests::test_async_write_some_buffer_sequence
    - Botan_Tests::Asio_Stream_Tests::test_sync_read_some_success
    - Botan_Tests::Asio_Stream_Tests::test_sync_handshake_throw
    - Botan_Tests::Asio_Stream_Tests::test_sync_read_some_throw
    - Botan_Tests::Asio_Stream_Tests::test_async_read_some_success
    - Botan_Tests::Asio_Stream_Tests::test_async_write_some_error
    - Botan_Tests::Asio_Stream_Tests::test_sync_handshake_error
    - Botan_Tests::Asio_Stream_Tests::test_sync_write_some_error
    - Botan_Tests::Asio_Stream_Tests::test_async_read_some_throw
    - Botan_Tests::Asio_Stream_Tests::test_sync_no_handshake
    - Botan_Tests::Asio_Stream_Tests::test_async_write_some_success
    - Botan_Tests::Asio_Stream_Tests::test_async_read_some_buffer_sequence
    - Botan_Tests::Asio_Stream_Tests::test_sync_write_some_success
    - Botan_Tests::Asio_Stream_Tests::test_async_handshake_error
    - Botan_Tests::Asio_Stream_Tests::test_async_write_throw
    - Botan_Tests::Asio_Stream_Tests::test_sync_read_zero_buffer
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::pkcs_hash_id
      Src: /src/botan/src/tests/test_hash_id.cpp:47,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/tests/test_hash_id.cpp:49,1
    - Dst: Botan::DER_Encoder::start_sequence
      Src: /src/botan/src/tests/test_hash_id.cpp:55,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash_id.cpp:57,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash_id.cpp:57,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash_id.cpp:57,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash_id.cpp:57,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash_id.cpp:59,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_hash_id.cpp:61,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_hash_id.cpp:66,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_hash_id.cpp:66,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_hash_id.cpp:66,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_hash_id.cpp:68,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_hash_id.cpp:71,1
    - Dst: what
      Src: /src/botan/src/tests/test_hash_id.cpp:71,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_hash_id.cpp:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 78
    functionName: Botan_Tests::PKCS_HashID_Test::run
    functionSourceFile: /src/botan/src/tests/test_hash_id.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - what
    - Botan::DER_Encoder::start_sequence
    - std::vector::begin
    - Botan::pkcs_hash_id
    - Test::Result::test_failure
    - std::vector::push_back
    - Botan::OID::from_string
    - Test::Result::test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:56,1
    - Dst: test_reseed_kat
      Src: /src/botan/src/tests/test_rng_behavior.cpp:56,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:57,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::test_reseed
      Src: /src/botan/src/tests/test_rng_behavior.cpp:57,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:58,1
    - Dst: test_reseed_interval_limits
      Src: /src/botan/src/tests/test_rng_behavior.cpp:58,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:59,1
    - Dst: test_max_number_of_bytes_per_request
      Src: /src/botan/src/tests/test_rng_behavior.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:60,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::test_broken_entropy_input
      Src: /src/botan/src/tests/test_rng_behavior.cpp:60,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:61,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::test_check_nonce
      Src: /src/botan/src/tests/test_rng_behavior.cpp:61,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:62,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::test_prediction_resistance
      Src: /src/botan/src/tests/test_rng_behavior.cpp:62,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:63,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::test_randomize_with_ts_input
      Src: /src/botan/src/tests/test_rng_behavior.cpp:63,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:64,1
    - Dst: test_security_level
      Src: /src/botan/src/tests/test_rng_behavior.cpp:64,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:65,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::test_input_output_edge_cases
      Src: /src/botan/src/tests/test_rng_behavior.cpp:65,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_rng_behavior.cpp:74,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:75,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::test_fork_safety
      Src: /src/botan/src/tests/test_rng_behavior.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: Botan_Tests::Stateful_RNG_Tests::run
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Stateful_RNG_Tests::test_prediction_resistance
    - Botan_Tests::test_encoding_options
    - Botan_Tests::Stateful_RNG_Tests::test_reseed
    - Botan_Tests::Stateful_RNG_Tests::test_input_output_edge_cases
    - Botan_Tests::Stateful_RNG_Tests::test_check_nonce
    - std::vector::push_back
    - test_security_level
    - Botan_Tests::Stateful_RNG_Tests::test_fork_safety
    - test_reseed_interval_limits
    - test_max_number_of_bytes_per_request
    - Botan_Tests::Stateful_RNG_Tests::test_randomize_with_ts_input
    - test_reseed_kat
    - Botan_Tests::Stateful_RNG_Tests::test_broken_entropy_input
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' underlying_rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: Botan_Tests::Stateful_RNG_Tests::make_rng
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - create_rng
    linkageType: ''
    returnType: std::unique_ptr<Botan::Stateful_RNG>
    signature: "std::unique_ptr<Botan::Stateful_RNG> make_rng(Botan::RandomNumberGenerator&
      underlying_rng,\n                                                    size_t
      reseed_interval = 1024)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' underlying_srcs'
    argTypes:
    - Botan::Entropy_Sources
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: Botan_Tests::Stateful_RNG_Tests::make_rng
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - create_rng
    linkageType: ''
    returnType: std::unique_ptr<Botan::Stateful_RNG>
    signature: "std::unique_ptr<Botan::Stateful_RNG> make_rng(Botan::Entropy_Sources&
      underlying_srcs,\n                                                    size_t
      reseed_interval = 1024)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' underlying_rng'
    - ' underlying_srcs'
    argTypes:
    - Botan::RandomNumberGenerator
    - Botan::Entropy_Sources
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: Botan_Tests::Stateful_RNG_Tests::make_rng
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - create_rng
    linkageType: ''
    returnType: std::unique_ptr<Botan::Stateful_RNG>
    signature: "std::unique_ptr<Botan::Stateful_RNG> make_rng(Botan::RandomNumberGenerator&
      underlying_rng,\n                                                    Botan::Entropy_Sources&
      underlying_srcs,\n                                                    size_t
      reseed_interval = 1024)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng_name
      Src: /src/botan/src/tests/test_rng_behavior.cpp:114,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:119,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:121,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:122,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:122,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:123,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:124,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:124,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:126,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:127,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:127,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:128,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:129,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:129,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:131,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:132,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:132,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:133,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:134,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:134,1
    - Dst: auto::max_number_of_bytes_per_request
      Src: /src/botan/src/tests/test_rng_behavior.cpp:136,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:138,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:139,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:139,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:141,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:142,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 146
    functionName: Botan_Tests::Stateful_RNG_Tests::test_reseed
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 1
    functionsReached:
    - auto::random_vec
    - rng_name
    - Request_Counting_RNG::randomize_count
    - auto::max_number_of_bytes_per_request
    - Botan_Tests::Stateful_RNG_Tests::make_rng
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_reseed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng_name
      Src: /src/botan/src/tests/test_rng_behavior.cpp:149,1
    - Dst: Botan::Not_Implemented::Not_Implemented
      Src: /src/botan/src/tests/test_rng_behavior.cpp:157,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:173,1
    - Dst: Botan::Null_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:173,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:174,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:176,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:176,1
    - Dst: std::make_unique<Broken_Entropy_Source>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:181,1
    - Dst: std::make_unique<Broken_Entropy_Source>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:182,1
    - Dst: Botan::Entropy_Sources::Entropy_Sources
      Src: /src/botan/src/tests/test_rng_behavior.cpp:184,1
    - Dst: Botan::Entropy_Sources::add_source
      Src: /src/botan/src/tests/test_rng_behavior.cpp:185,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_rng_behavior.cpp:185,1
    - Dst: Botan::Entropy_Sources::add_source
      Src: /src/botan/src/tests/test_rng_behavior.cpp:186,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_rng_behavior.cpp:186,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:188,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:189,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:189,1
    - Dst: Botan::Entropy_Sources::Entropy_Sources
      Src: /src/botan/src/tests/test_rng_behavior.cpp:192,1
    - Dst: std::make_unique<Insufficient_Entropy_Source>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:193,1
    - Dst: Botan::Entropy_Sources::add_source
      Src: /src/botan/src/tests/test_rng_behavior.cpp:194,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_rng_behavior.cpp:194,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:196,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:197,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:198,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:203,1
    - Dst: Botan::Entropy_Sources::global_sources
      Src: /src/botan/src/tests/test_rng_behavior.cpp:203,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:205,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:206,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:208,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:208,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:210,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:211,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:213,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:215,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 221
    functionName: Botan_Tests::Stateful_RNG_Tests::test_broken_entropy_input
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_throws
    - Botan_Tests::Stateful_RNG_Tests::rng
    - auto::random_vec
    - Botan::Entropy_Sources::Entropy_Sources
    - Botan::Not_Implemented::Not_Implemented
    - rng_name
    - std::make_unique<Insufficient_Entropy_Source>
    - Botan::Entropy_Sources::add_source
    - std::move
    - Botan_Tests::Stateful_RNG_Tests::make_rng
    - std::make_unique<Broken_Entropy_Source>
    - Botan::Entropy_Sources::global_sources
    - Botan::Null_RNG::is_seeded
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_broken_entropy_input()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng_name
      Src: /src/botan/src/tests/test_rng_behavior.cpp:224,1
    - Dst: create_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:227,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:230,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:231,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:231,1
    - Dst: auto::initialize_with
      Src: /src/botan/src/tests/test_rng_behavior.cpp:234,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:234,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:234,1
    - Dst: auto::security_level
      Src: /src/botan/src/tests/test_rng_behavior.cpp:236,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:237,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:237,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:238,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:238,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:240,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:240,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 246
    functionName: Botan_Tests::Stateful_RNG_Tests::test_check_nonce
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_throws
    - std::vector::size
    - auto::random_vec
    - rng_name
    - auto::initialize_with
    - auto::is_seeded
    - auto::security_level
    - auto::clear
    - Test::Result::test_eq
    - create_rng
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_check_nonce()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng_name
      Src: /src/botan/src/tests/test_rng_behavior.cpp:249,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:253,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:255,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:256,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:256,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:258,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:259,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:259,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:261,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:262,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: Botan_Tests::Stateful_RNG_Tests::test_prediction_resistance
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 1
    functionsReached:
    - auto::random_vec
    - rng_name
    - Request_Counting_RNG::randomize_count
    - Botan_Tests::Stateful_RNG_Tests::make_rng
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_prediction_resistance()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng_name
      Src: /src/botan/src/tests/test_rng_behavior.cpp:268,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:275,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:277,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:278,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:278,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_rng_behavior.cpp:286,1
    - Dst: Botan_Tests::Filter_Tests::test_fork
      Src: /src/botan/src/tests/test_rng_behavior.cpp:289,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_rng_behavior.cpp:292,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_rng_behavior.cpp:294,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/tests/test_rng_behavior.cpp:299,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:303,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:304,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:304,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:305,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_rng_behavior.cpp:307,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:310,1
    - Dst: Shim_Socket::read
      Src: /src/botan/src/tests/test_rng_behavior.cpp:311,1
    - Dst: size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:311,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:314,1
    - Dst: size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:314,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_rng_behavior.cpp:315,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_rng_behavior.cpp:317,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/tests/test_rng_behavior.cpp:319,1
    - Dst: ::waitpid
      Src: /src/botan/src/tests/test_rng_behavior.cpp:323,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/tests/test_rng_behavior.cpp:326,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:327,1
    - Dst: size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:327,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:328,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_rng_behavior.cpp:330,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:332,1
    - Dst: size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:332,1
    - Dst: static_cast<void>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:334,1
    - Dst: fprintf
      Src: /src/botan/src/tests/test_rng_behavior.cpp:334,1
    - Dst: what
      Src: /src/botan/src/tests/test_rng_behavior.cpp:334,1
    - Dst: Shim_Socket::write
      Src: /src/botan/src/tests/test_rng_behavior.cpp:336,1
    - Dst: size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:336,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_rng_behavior.cpp:337,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/tests/test_rng_behavior.cpp:338,1
    - Dst: ::execl
      Src: /src/botan/src/tests/test_rng_behavior.cpp:345,1
    - Dst: Botan_CLI::ServerStatus::should_exit
      Src: /src/botan/src/tests/test_rng_behavior.cpp:346,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 350
    functionName: Botan_Tests::Stateful_RNG_Tests::test_fork_safety
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Channel_Impl::close
    - fprintf
    - BOTAN_UNUSED
    - Botan_Tests::Stateful_RNG_Tests::make_rng
    - Test::Result::test_eq
    - static_cast<void>
    - Test::Result::test_note
    - what
    - ::execl
    - Test::Result::test_ne
    - auto::random_vec
    - size
    - Request_Counting_RNG::randomize_count
    - Botan_Tests::Filter_Tests::test_fork
    - Botan_CLI::ServerStatus::should_exit
    - Shim_Socket::read
    - Test::Result::test_failure
    - rng_name
    - Shim_Socket::write
    - ::waitpid
    - auto::randomize
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_fork_safety()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng_name
      Src: /src/botan/src/tests/test_rng_behavior.cpp:353,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:363,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:364,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:369,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:369,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:369,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:370,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:370,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:370,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:372,1
    - Dst: auto::randomize_with_ts_input
      Src: /src/botan/src/tests/test_rng_behavior.cpp:374,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:374,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:374,1
    - Dst: auto::randomize_with_ts_input
      Src: /src/botan/src/tests/test_rng_behavior.cpp:375,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:375,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:375,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_rng_behavior.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 380
    functionName: Botan_Tests::Stateful_RNG_Tests::test_randomize_with_ts_input
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_ne
    - rng_name
    - Botan::secure_vector::data
    - auto::randomize_with_ts_input
    - Botan_Tests::Stateful_RNG_Tests::make_rng
    - Test::Result::test_eq
    - Botan::secure_vector::size
    - auto::randomize
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_randomize_with_ts_input()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng_name
      Src: /src/botan/src/tests/test_rng_behavior.cpp:383,1
    - Dst: Botan_Tests::Stateful_RNG_Tests::make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:388,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:392,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:392,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:392,1
    - Dst: auto::add_entropy
      Src: /src/botan/src/tests/test_rng_behavior.cpp:393,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:393,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:393,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_rng_behavior.cpp:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 399
    functionName: Botan_Tests::Stateful_RNG_Tests::test_input_output_edge_cases
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - auto::add_entropy
    - rng_name
    - Botan_Tests::Stateful_RNG_Tests::make_rng
    - Test::Result::test_success
    - auto::randomize
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_input_output_edge_cases()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 408
    functionName: Botan_Tests::HMAC_DRBG_Unit_Tests::rng_name
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string rng_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_rng_behavior.cpp:414,1
    - Dst: std::make_unique<Botan::HMAC_DRBG>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:417,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_rng_behavior.cpp:417,1
    - Dst: std::make_unique<Botan::HMAC_DRBG>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:419,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_rng_behavior.cpp:419,1
    - Dst: std::make_unique<Botan::HMAC_DRBG>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:421,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_rng_behavior.cpp:421,1
    - Dst: std::make_unique<Botan::HMAC_DRBG>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:423,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_rng_behavior.cpp:423,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_rng_behavior.cpp:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - underlying_rng
    - underlying_es
    - reseed_interval
    argTypes:
    - Botan::RandomNumberGenerator*
    - Botan::Entropy_Sources*
    - size_t
    constantsTouched: []
    func_position:
      end: 427
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 427
    functionName: Botan_Tests::HMAC_DRBG_Unit_Tests::create_rng
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::HMAC_DRBG>
    - Test_Error
    - Botan::MessageAuthenticationCode::create
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Botan::Stateful_RNG>
    signature: "std::unique_ptr<Botan::Stateful_RNG> create_rng(Botan::RandomNumberGenerator*
      underlying_rng,\n                                                      Botan::Entropy_Sources*
      underlying_es,\n                                                      size_t
      reseed_interval) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:436,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_rng_behavior.cpp:438,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:441,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_rng_behavior.cpp:444,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_rng_behavior.cpp:451,1
    - Dst: Botan::HMAC_DRBG::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:453,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:454,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:454,1
    - Dst: Botan::HMAC_DRBG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:456,1
    - Dst: Request_Counting_RNG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:457,1
    - Dst: Botan::HMAC_DRBG::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:459,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:460,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:460,1
    - Dst: Botan::HMAC_DRBG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:462,1
    - Dst: Request_Counting_RNG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:463,1
    - Dst: Botan::HMAC_DRBG::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:465,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:466,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:466,1
    - Dst: Botan::HMAC_DRBG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:468,1
    - Dst: Request_Counting_RNG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:469,1
    - Dst: Botan::HMAC_DRBG::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:471,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:472,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 475
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 475
    functionName: Botan_Tests::HMAC_DRBG_Unit_Tests::test_max_number_of_bytes_per_request
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - Botan::HMAC_DRBG::random_vec
    - Request_Counting_RNG::randomize_count
    - Botan::MessageAuthenticationCode::create
    - Botan::HMAC_DRBG::clear
    - Test::Result::test_eq
    - Request_Counting_RNG::clear
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_max_number_of_bytes_per_request() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:484,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_rng_behavior.cpp:485,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:488,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_rng_behavior.cpp:490,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 496
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 496
    functionName: Botan_Tests::HMAC_DRBG_Unit_Tests::test_reseed_interval_limits
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - Botan::MessageAuthenticationCode::create
    - Test::Result::test_throws
    - static_cast<size_t>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_reseed_interval_limits() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:504,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_rng_behavior.cpp:509,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_rng_behavior.cpp:511,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:516,1
    - Dst: Botan::HMAC_DRBG::security_level
      Src: /src/botan/src/tests/test_rng_behavior.cpp:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 520
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 520
    functionName: Botan_Tests::HMAC_DRBG_Unit_Tests::test_security_level
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - Botan::HMAC_DRBG::security_level
    - std::vector::size
    - Botan::MessageAuthenticationCode::create
    - Test::Result::note_missing
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_security_level() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:526,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:532,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:532,1
    - Dst: auto::initialize_with
      Src: /src/botan/src/tests/test_rng_behavior.cpp:534,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:534,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:534,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:538,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:538,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:538,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:539,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:539,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:540,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:543,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:543,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:543,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:544,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:544,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 548
    functionName: Botan_Tests::HMAC_DRBG_Unit_Tests::test_reseed_kat
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - make_rng
    - Request_Counting_RNG::randomize_count
    - Botan::secure_vector::data
    - auto::initialize_with
    - auto::is_seeded
    - Test::Result::test_eq
    - Botan::secure_vector::size
    - auto::randomize
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_reseed_kat() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Null_RNG
      Src: /src/botan/src/tests/test_rng_behavior.cpp:552,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_rng_behavior.cpp:554,1
    - Dst: std::make_unique<Botan::HMAC_DRBG>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:557,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_rng_behavior.cpp:557,1
    - Dst: auto::add_entropy
      Src: /src/botan/src/tests/test_rng_behavior.cpp:561,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_rng_behavior.cpp:565,1
    - Dst: make_seeded_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:567,1
    - Dst: make_seeded_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:568,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:570,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:570,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:571,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:571,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:573,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:575,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:576,1
    - Dst: auto::insert
      Src: /src/botan/src/tests/test_rng_behavior.cpp:577,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_rng_behavior.cpp:577,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_rng_behavior.cpp:577,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_rng_behavior.cpp:577,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:579,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_rng_behavior.cpp:584,1
    - Dst: make_seeded_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:585,1
    - Dst: make_seeded_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:586,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:588,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:588,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:589,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:589,1
    - Dst: auto::randomize_with_input
      Src: /src/botan/src/tests/test_rng_behavior.cpp:592,1
    - Dst: auto::randomize_with_input
      Src: /src/botan/src/tests/test_rng_behavior.cpp:596,1
    - Dst: std::span::subspan
      Src: /src/botan/src/tests/test_rng_behavior.cpp:596,1
    - Dst: auto::randomize_with_input
      Src: /src/botan/src/tests/test_rng_behavior.cpp:597,1
    - Dst: std::span::subspan
      Src: /src/botan/src/tests/test_rng_behavior.cpp:597,1
    - Dst: auto::randomize_with_input
      Src: /src/botan/src/tests/test_rng_behavior.cpp:598,1
    - Dst: std::span::subspan
      Src: /src/botan/src/tests/test_rng_behavior.cpp:598,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 604
      start: 551
    functionDepth: 3
    functionLinenumber: 551
    functionLinenumberEnd: 604
    functionName: Botan_Tests::hmac_drbg_multiple_requests
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - auto::insert
    - auto::random_vec
    - std::make_unique<Botan::HMAC_DRBG>
    - auto::add_entropy
    - std::span::subspan
    - confirm
    - auto::randomize_with_input
    - Botan::MessageAuthenticationCode::create
    - auto::begin
    - auto::is_seeded
    - auto::end
    - make_seeded_rng
    - Botan::hex_decode
    - Botan::Null_RNG
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> hmac_drbg_multiple_requests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 615
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 615
    functionName: Botan_Tests::ChaCha_RNG_Unit_Tests::rng_name
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string rng_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::ChaCha_RNG>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:621,1
    - Dst: std::make_unique<Botan::ChaCha_RNG>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:623,1
    - Dst: std::make_unique<Botan::ChaCha_RNG>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:625,1
    - Dst: std::make_unique<Botan::ChaCha_RNG>
      Src: /src/botan/src/tests/test_rng_behavior.cpp:627,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_rng_behavior.cpp:629,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - underlying_rng
    - underlying_es
    - reseed_interval
    argTypes:
    - Botan::RandomNumberGenerator*
    - Botan::Entropy_Sources*
    - size_t
    constantsTouched: []
    func_position:
      end: 631
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 631
    functionName: Botan_Tests::ChaCha_RNG_Unit_Tests::create_rng
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::ChaCha_RNG>
    - Test_Error
    linkageType: ''
    returnType: std::unique_ptr<Botan::Stateful_RNG>
    signature: "std::unique_ptr<Botan::Stateful_RNG> create_rng(Botan::RandomNumberGenerator*
      underlying_rng,\n                                                      Botan::Entropy_Sources*
      underlying_es,\n                                                      size_t
      reseed_interval) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ChaCha_RNG::ChaCha_RNG
      Src: /src/botan/src/tests/test_rng_behavior.cpp:635,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:636,1
    - Dst: Botan::ChaCha_RNG::security_level
      Src: /src/botan/src/tests/test_rng_behavior.cpp:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 638
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 638
    functionName: Botan_Tests::ChaCha_RNG_Unit_Tests::test_security_level
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - Botan::ChaCha_RNG::ChaCha_RNG
    - Test::Result::test_eq
    - Botan::ChaCha_RNG::security_level
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_security_level() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 644
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 644
    functionName: Botan_Tests::ChaCha_RNG_Unit_Tests::test_max_number_of_bytes_per_request
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_max_number_of_bytes_per_request() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 650
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 650
    functionName: Botan_Tests::ChaCha_RNG_Unit_Tests::test_reseed_interval_limits
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_reseed_interval_limits() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_rng
      Src: /src/botan/src/tests/test_rng_behavior.cpp:656,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:660,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:660,1
    - Dst: auto::initialize_with
      Src: /src/botan/src/tests/test_rng_behavior.cpp:662,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:662,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:662,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:666,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:666,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:666,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:667,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:667,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:668,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:671,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:671,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:671,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:672,1
    - Dst: Request_Counting_RNG::randomize_count
      Src: /src/botan/src/tests/test_rng_behavior.cpp:672,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 676
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 676
    functionName: Botan_Tests::ChaCha_RNG_Unit_Tests::test_reseed_kat
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - make_rng
    - Request_Counting_RNG::randomize_count
    - Botan::secure_vector::data
    - auto::initialize_with
    - auto::is_seeded
    - Test::Result::test_eq
    - Botan::secure_vector::size
    - auto::randomize
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_reseed_kat() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:692,1
    - Dst: Botan::Null_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:692,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_rng_behavior.cpp:697,1
    - Dst: Botan::Entropy_Sources::Entropy_Sources
      Src: /src/botan/src/tests/test_rng_behavior.cpp:701,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_rng_behavior.cpp:705,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_rng_behavior.cpp:707,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_rng_behavior.cpp:713,1
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/tests/test_rng_behavior.cpp:717,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:719,1
    - Dst: Botan::AutoSeeded_RNG::name
      Src: /src/botan/src/tests/test_rng_behavior.cpp:719,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:721,1
    - Dst: Botan::AutoSeeded_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:721,1
    - Dst: Botan::AutoSeeded_RNG::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:722,1
    - Dst: Botan::AutoSeeded_RNG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:723,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:724,1
    - Dst: Botan::AutoSeeded_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:724,1
    - Dst: Botan::AutoSeeded_RNG::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:727,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:728,1
    - Dst: Botan::AutoSeeded_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:728,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:730,1
    - Dst: Botan::AutoSeeded_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:730,1
    - Dst: Botan::AutoSeeded_RNG::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:731,1
    - Dst: Botan::AutoSeeded_RNG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:732,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:733,1
    - Dst: Botan::AutoSeeded_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:733,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:737,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:738,1
    - Dst: Botan::AutoSeeded_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:738,1
    - Dst: Botan::AutoSeeded_RNG::random_vec
      Src: /src/botan/src/tests/test_rng_behavior.cpp:741,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:742,1
    - Dst: Botan::AutoSeeded_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:742,1
    - Dst: Botan::AutoSeeded_RNG::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:746,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:746,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:746,1
    - Dst: Botan::AutoSeeded_RNG::add_entropy
      Src: /src/botan/src/tests/test_rng_behavior.cpp:747,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:747,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:747,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_rng_behavior.cpp:749,1
    - Dst: Botan::AutoSeeded_RNG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:752,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 755
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 755
    functionName: Botan_Tests::AutoSeeded_RNG_Tests::auto_rng_tests
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - std::vector::size
    - Botan::AutoSeeded_RNG::add_entropy
    - Botan::AutoSeeded_RNG::is_seeded
    - Botan::Entropy_Sources::Entropy_Sources
    - Test::Result::confirm
    - Test::Result::test_failure
    - Botan::AutoSeeded_RNG::randomize
    - Botan::AutoSeeded_RNG::clear
    - Botan::AutoSeeded_RNG::name
    - Botan::AutoSeeded_RNG::random_vec
    - Botan::Null_RNG::is_seeded
    - Test::Result::test_eq
    - Test::Result::test_success
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result auto_rng_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_rng_behavior.cpp:760,1
    - Dst: Botan_Tests::AutoSeeded_RNG_Tests::auto_rng_tests
      Src: /src/botan/src/tests/test_rng_behavior.cpp:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 762
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 762
    functionName: Botan_Tests::AutoSeeded_RNG_Tests::run
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - Botan_Tests::AutoSeeded_RNG_Tests::auto_rng_tests
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_rng_behavior.cpp:778,1
    - Dst: Botan::System_RNG::name
      Src: /src/botan/src/tests/test_rng_behavior.cpp:778,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:780,1
    - Dst: Botan::System_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:780,1
    - Dst: Botan::System_RNG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:781,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:782,1
    - Dst: Botan::System_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:782,1
    - Dst: Botan::System_RNG::reseed
      Src: /src/botan/src/tests/test_rng_behavior.cpp:785,1
    - Dst: Botan::Entropy_Sources::global_sources
      Src: /src/botan/src/tests/test_rng_behavior.cpp:785,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_rng_behavior.cpp:785,1
    - Dst: Botan::System_RNG::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:790,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:790,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:790,1
    - Dst: Botan::System_RNG::add_entropy
      Src: /src/botan/src/tests/test_rng_behavior.cpp:791,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:791,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:791,1
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_rng_behavior.cpp:794,1
    - Dst: Botan_Tests::Test::run_memory_intensive_tests
      Src: /src/botan/src/tests/test_rng_behavior.cpp:794,1
    - Dst: memset
      Src: /src/botan/src/tests/test_rng_behavior.cpp:799,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:799,1
    - Dst: Botan::System_RNG::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:801,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:801,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:801,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:805,1
    - Dst: std::memcmp
      Src: /src/botan/src/tests/test_rng_behavior.cpp:806,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:806,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:806,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 810
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 810
    functionName: Botan_Tests::System_RNG_Tests::run
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - Botan::System_RNG::name
    - Botan::System_RNG::is_seeded
    - Botan::System_RNG::add_entropy
    - std::vector::size
    - Botan_Tests::Test::run_long_tests
    - Botan_Tests::Test::run_memory_intensive_tests
    - std::memcmp
    - Test::Result::confirm
    - Botan_CLI::Timer::milliseconds
    - Botan::System_RNG::randomize
    - Botan::System_RNG::clear
    - memset
    - Botan::System_RNG::reseed
    - Botan::Entropy_Sources::global_sources
    - Test::Result::test_gte
    - std::vector::data
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Processor_RNG::available
      Src: /src/botan/src/tests/test_rng_behavior.cpp:824,1
    - Dst: Botan::Processor_RNG::Processor_RNG
      Src: /src/botan/src/tests/test_rng_behavior.cpp:825,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_rng_behavior.cpp:827,1
    - Dst: Botan::Processor_RNG::name
      Src: /src/botan/src/tests/test_rng_behavior.cpp:827,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:828,1
    - Dst: Botan::Processor_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:828,1
    - Dst: Botan::Processor_RNG::clear
      Src: /src/botan/src/tests/test_rng_behavior.cpp:829,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rng_behavior.cpp:830,1
    - Dst: Botan::Processor_RNG::is_seeded
      Src: /src/botan/src/tests/test_rng_behavior.cpp:830,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rng_behavior.cpp:834,1
    - Dst: Botan::Processor_RNG::add_entropy
      Src: /src/botan/src/tests/test_rng_behavior.cpp:845,1
    - Dst: Botan::Processor_RNG::randomize
      Src: /src/botan/src/tests/test_rng_behavior.cpp:849,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rng_behavior.cpp:849,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rng_behavior.cpp:849,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rng_behavior.cpp:852,1
    - Dst: Botan::Processor_RNG::Processor_RNG
      Src: /src/botan/src/tests/test_rng_behavior.cpp:852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 856
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 856
    functionName: Botan_Tests::Processor_RNG_Tests::run
    functionSourceFile: /src/botan/src/tests/test_rng_behavior.cpp
    functionUses: 0
    functionsReached:
    - Botan::Processor_RNG::add_entropy
    - Test::Result::test_throws
    - Botan::Processor_RNG::randomize
    - Test::Result::test_ne
    - Botan::Processor_RNG::clear
    - std::vector::size
    - std::vector::data
    - Test::Result::confirm
    - Botan::Processor_RNG::is_seeded
    - Test::Result::test_eq
    - Botan::Processor_RNG::available
    - Botan::Processor_RNG::Processor_RNG
    - Botan::Processor_RNG::name
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlternativeName::AlternativeName
      Src: /src/botan/src/tests/test_alt_name.cpp:42,1
    - Dst: Botan::AlternativeName::add_uri
      Src: /src/botan/src/tests/test_alt_name.cpp:44,1
    - Dst: Botan::AlternativeName::add_dns
      Src: /src/botan/src/tests/test_alt_name.cpp:47,1
    - Dst: Botan::AlternativeName::add_ipv4_address
      Src: /src/botan/src/tests/test_alt_name.cpp:50,1
    - Dst: Botan::AlternativeName::add_email
      Src: /src/botan/src/tests/test_alt_name.cpp:53,1
    - Dst: Botan::AlternativeName::add_other_name
      Src: /src/botan/src/tests/test_alt_name.cpp:56,1
    - Dst: Botan::ASN1_String::ASN1_String
      Src: /src/botan/src/tests/test_alt_name.cpp:56,1
    - Dst: Botan::AlternativeName::add_other_name
      Src: /src/botan/src/tests/test_alt_name.cpp:57,1
    - Dst: Botan::ASN1_String::ASN1_String
      Src: /src/botan/src/tests/test_alt_name.cpp:57,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/tests/test_alt_name.cpp:60,1
    - Dst: Botan::AlternativeName::add_dn
      Src: /src/botan/src/tests/test_alt_name.cpp:61,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/tests/test_alt_name.cpp:64,1
    - Dst: Botan::AlternativeName::add_dn
      Src: /src/botan/src/tests/test_alt_name.cpp:65,1
    - Dst: Botan::DER_Encoder::encode
      Src: /src/botan/src/tests/test_alt_name.cpp:69,1
    - Dst: Botan::AlternativeName::AlternativeName
      Src: /src/botan/src/tests/test_alt_name.cpp:71,1
    - Dst: Botan::BER_Decoder::decode
      Src: /src/botan/src/tests/test_alt_name.cpp:73,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_alt_name.cpp:75,1
    - Dst: Botan::AlternativeName::dns
      Src: /src/botan/src/tests/test_alt_name.cpp:75,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_alt_name.cpp:75,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_alt_name.cpp:77,1
    - Dst: Botan::AlternativeName::dns
      Src: /src/botan/src/tests/test_alt_name.cpp:77,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_alt_name.cpp:80,1
    - Dst: Botan::AlternativeName::uris
      Src: /src/botan/src/tests/test_alt_name.cpp:80,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_alt_name.cpp:80,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_alt_name.cpp:82,1
    - Dst: Botan::AlternativeName::uris
      Src: /src/botan/src/tests/test_alt_name.cpp:82,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_alt_name.cpp:85,1
    - Dst: Botan::AlternativeName::email
      Src: /src/botan/src/tests/test_alt_name.cpp:85,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_alt_name.cpp:85,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_alt_name.cpp:87,1
    - Dst: Botan::AlternativeName::email
      Src: /src/botan/src/tests/test_alt_name.cpp:87,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_alt_name.cpp:90,1
    - Dst: Botan::AlternativeName::directory_names
      Src: /src/botan/src/tests/test_alt_name.cpp:90,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_alt_name.cpp:91,1
    - Dst: Botan::AlternativeName::other_names
      Src: /src/botan/src/tests/test_alt_name.cpp:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 94
    functionName: Botan_Tests::X509_Alt_Name_Tests::run
    functionSourceFile: /src/botan/src/tests/test_alt_name.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Botan::AlternativeName::add_dn
    - Botan::DER_Encoder::encode
    - Botan::AlternativeName::other_names
    - Test::Result::test_eq
    - Botan::AlternativeName::add_ipv4_address
    - Botan::AlternativeName::directory_names
    - Botan::AlternativeName::add_dns
    - Botan::AlternativeName::add_uri
    - Botan::AlternativeName::email
    - Test::Result::confirm
    - Botan::AlternativeName::dns
    - Botan::AlternativeName::add_other_name
    - Botan::AlternativeName::uris
    - Botan::AlternativeName::AlternativeName
    - Botan::AlternativeName::add_email
    - Botan::BER_Decoder::decode
    - Botan::X509_DN::add_attribute
    - Botan::ASN1_String::ASN1_String
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::secure_string
      Src: /src/botan/src/tests/test_pkcs11.h:36,1
    - Dst: begin
      Src: /src/botan/src/tests/test_pkcs11.h:36,1
    - Dst: end
      Src: /src/botan/src/tests/test_pkcs11.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan_Tests::to_sec_string
    functionSourceFile: /src/botan/src/tests/test_pkcs11.h
    functionUses: 0
    functionsReached:
    - begin
    - end
    - Botan::PKCS11::secure_string
    linkageType: ''
    returnType: Botan::PKCS11::secure_string
    signature: Botan::PKCS11::secure_string to_sec_string(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::to_sec_string
      Src: /src/botan/src/tests/test_pkcs11.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan_Tests::PIN
    functionSourceFile: /src/botan/src/tests/test_pkcs11.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::to_sec_string
    linkageType: ''
    returnType: Botan::PKCS11::secure_string
    signature: Botan::PKCS11::secure_string PIN()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::to_sec_string
      Src: /src/botan/src/tests/test_pkcs11.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan_Tests::SO_PIN
    functionSourceFile: /src/botan/src/tests/test_pkcs11.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::to_sec_string
    linkageType: ''
    returnType: Botan::PKCS11::secure_string
    signature: Botan::PKCS11::secure_string SO_PIN()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::to_sec_string
      Src: /src/botan/src/tests/test_pkcs11.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan_Tests::TEST_PIN
    functionSourceFile: /src/botan/src/tests/test_pkcs11.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::to_sec_string
    linkageType: ''
    returnType: Botan::PKCS11::secure_string
    signature: Botan::PKCS11::secure_string TEST_PIN()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::to_sec_string
      Src: /src/botan/src/tests/test_pkcs11.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan_Tests::TEST_SO_PIN
    functionSourceFile: /src/botan/src/tests/test_pkcs11.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::to_sec_string
    linkageType: ''
    returnType: Botan::PKCS11::secure_string
    signature: Botan::PKCS11::secure_string TEST_SO_PIN()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/botan/src/tests/test_ec_group.cpp:54,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/tests/test_ec_group.cpp:67,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/tests/test_ec_group.cpp:73,1
    - Dst: Botan::BigInt::get_bit
      Src: /src/botan/src/tests/test_ec_group.cpp:73,1
    - Dst: Botan::BigInt::clear_bit
      Src: /src/botan/src/tests/test_ec_group.cpp:74,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - ' rng'
    - bits
    - ' max'
    argTypes:
    - Botan::RandomNumberGenerator
    - size_t
    - BigInt
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: Botan_Tests::test_integer
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::clear_bit
    - static_cast<int>
    - Botan::BigInt::random_integer
    - BOTAN_ASSERT
    - Botan::BigInt::get_bit
    linkageType: ''
    returnType: Botan::BigInt
    signature: Botan::BigInt test_integer(Botan::RandomNumberGenerator& rng, size_t
      bits, const BigInt& max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:82,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/tests/test_ec_group.cpp:83,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/tests/test_ec_group.cpp:86,1
    - Dst: auto::multiply
      Src: /src/botan/src/tests/test_ec_group.cpp:87,1
    - Dst: auto::square
      Src: /src/botan/src/tests/test_ec_group.cpp:87,1
    - Dst: auto::multiply
      Src: /src/botan/src/tests/test_ec_group.cpp:88,1
    - Dst: get_a
      Src: /src/botan/src/tests/test_ec_group.cpp:88,1
    - Dst: auto::reduce
      Src: /src/botan/src/tests/test_ec_group.cpp:89,1
    - Dst: get_b
      Src: /src/botan/src/tests/test_ec_group.cpp:89,1
    - Dst: Botan::sqrt_modulo_prime
      Src: /src/botan/src/tests/test_ec_group.cpp:90,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/tests/test_ec_group.cpp:93,1
    - Dst: auto::square
      Src: /src/botan/src/tests/test_ec_group.cpp:93,1
    - Dst: point
      Src: /src/botan/src/tests/test_ec_group.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' rng'
    - ' group'
    argTypes:
    - Botan::RandomNumberGenerator
    - Botan::EC_Group
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: Botan_Tests::create_random_point
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - auto::multiply
    - point
    - get_p
    - auto::reduce
    - Botan::BigInt::random_integer
    - BOTAN_ASSERT_EQUAL
    - get_b
    - Botan::sqrt_modulo_prime
    - Botan::Barrett_Reduction::for_public_modulus
    - auto::square
    - get_a
    linkageType: ''
    returnType: Botan::EC_Point
    signature: Botan::EC_Point create_random_point(Botan::RandomNumberGenerator& rng,
      const Botan::EC_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/test_ec_group.cpp:106,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_ec_group.cpp:109,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ec_group.cpp:111,1
    - Dst: create_random_point
      Src: /src/botan/src/tests/test_ec_group.cpp:113,1
    - Dst: Botan_Tests::ECC_Randomized_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:113,1
    - Dst: test_integer
      Src: /src/botan/src/tests/test_ec_group.cpp:120,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ec_group.cpp:120,1
    - Dst: auto::get_order_bits
      Src: /src/botan/src/tests/test_ec_group.cpp:120,1
    - Dst: auto::get_order
      Src: /src/botan/src/tests/test_ec_group.cpp:120,1
    - Dst: test_integer
      Src: /src/botan/src/tests/test_ec_group.cpp:121,1
    - Dst: rng
      Src: /src/botan/src/tests/test_ec_group.cpp:121,1
    - Dst: auto::get_order_bits
      Src: /src/botan/src/tests/test_ec_group.cpp:121,1
    - Dst: auto::get_order
      Src: /src/botan/src/tests/test_ec_group.cpp:121,1
    - Dst: auto::mod_order
      Src: /src/botan/src/tests/test_ec_group.cpp:122,1
    - Dst: auto::blinded_var_point_multiply
      Src: /src/botan/src/tests/test_ec_group.cpp:128,1
    - Dst: Botan_Tests::ECC_Randomized_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:128,1
    - Dst: auto::blinded_var_point_multiply
      Src: /src/botan/src/tests/test_ec_group.cpp:129,1
    - Dst: Botan_Tests::ECC_Randomized_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:129,1
    - Dst: auto::blinded_var_point_multiply
      Src: /src/botan/src/tests/test_ec_group.cpp:130,1
    - Dst: Botan_Tests::ECC_Randomized_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:130,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:135,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:136,1
    - Dst: Botan::EC_Point::force_affine
      Src: /src/botan/src/tests/test_ec_group.cpp:138,1
    - Dst: Botan::EC_Point::force_affine
      Src: /src/botan/src/tests/test_ec_group.cpp:139,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:140,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:141,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:143,1
    - Dst: Botan::EC_Point::on_the_curve
      Src: /src/botan/src/tests/test_ec_group.cpp:143,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:144,1
    - Dst: Botan::EC_Point::on_the_curve
      Src: /src/botan/src/tests/test_ec_group.cpp:144,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:145,1
    - Dst: Botan::EC_Point::on_the_curve
      Src: /src/botan/src/tests/test_ec_group.cpp:145,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:147,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:148,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:149,1
    - Dst: Botan::EC_Point::force_affine
      Src: /src/botan/src/tests/test_ec_group.cpp:151,1
    - Dst: Botan::EC_Point::force_affine
      Src: /src/botan/src/tests/test_ec_group.cpp:152,1
    - Dst: Botan::EC_Point::force_affine
      Src: /src/botan/src/tests/test_ec_group.cpp:153,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:154,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:155,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:156,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ec_group.cpp:159,1
    - Dst: what
      Src: /src/botan/src/tests/test_ec_group.cpp:159,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_ec_group.cpp:161,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 166
    functionName: Botan_Tests::ECC_Randomized_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - create_random_point
    - Test::Result::end_timer
    - Test::Result::start_timer
    - Botan::EC_Group::known_named_groups
    - what
    - auto::mod_order
    - Test::Result::test_failure
    - auto::blinded_var_point_multiply
    - auto::get_order
    - std::vector::push_back
    - Botan::EC_Point::on_the_curve
    - rng
    - Test::Result::test_eq
    - Botan::EC_Group::from_name
    - Botan::EC_Point::force_affine
    - test_integer
    - Botan_Tests::ECC_Randomized_Tests::rng
    - auto::get_order_bits
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> ECC_Randomized_Tests::run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/test_ec_group.cpp:177,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_ec_group.cpp:180,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ec_group.cpp:182,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:184,1
    - Dst: auto::get_curve_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:184,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:185,1
    - Dst: auto::verify_group
      Src: /src/botan/src/tests/test_ec_group.cpp:185,1
    - Dst: Botan_Tests::EC_Group_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:185,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:186,1
    - Dst: auto::used_explicit_encoding
      Src: /src/botan/src/tests/test_ec_group.cpp:186,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:188,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:188,1
    - Dst: auto::get_p_bits
      Src: /src/botan/src/tests/test_ec_group.cpp:188,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:189,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:189,1
    - Dst: auto::get_p_bytes
      Src: /src/botan/src/tests/test_ec_group.cpp:189,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:191,1
    - Dst: auto::get_cofactor
      Src: /src/botan/src/tests/test_ec_group.cpp:191,1
    - Dst: Botan::EC_Group::EC_group_identity_from_order
      Src: /src/botan/src/tests/test_ec_group.cpp:193,1
    - Dst: auto::get_order
      Src: /src/botan/src/tests/test_ec_group.cpp:193,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:195,1
    - Dst: Botan::OID::to_string
      Src: /src/botan/src/tests/test_ec_group.cpp:196,1
    - Dst: auto::get_curve_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:196,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:198,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ec_group.cpp:198,1
    - Dst: auto::get_curve_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:201,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:202,1
    - Dst: auto::get_a
      Src: /src/botan/src/tests/test_ec_group.cpp:203,1
    - Dst: auto::get_b
      Src: /src/botan/src/tests/test_ec_group.cpp:204,1
    - Dst: auto::get_g_x
      Src: /src/botan/src/tests/test_ec_group.cpp:205,1
    - Dst: auto::get_g_y
      Src: /src/botan/src/tests/test_ec_group.cpp:206,1
    - Dst: auto::get_order
      Src: /src/botan/src/tests/test_ec_group.cpp:207,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:209,1
    - Dst: auto::DER_encode
      Src: /src/botan/src/tests/test_ec_group.cpp:212,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:214,1
    - Dst: Botan::EC_Group::used_explicit_encoding
      Src: /src/botan/src/tests/test_ec_group.cpp:215,1
    - Dst: auto::DER_encode
      Src: /src/botan/src/tests/test_ec_group.cpp:217,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:219,1
    - Dst: Botan::EC_Group::used_explicit_encoding
      Src: /src/botan/src/tests/test_ec_group.cpp:220,1
    - Dst: auto::a_is_minus_3
      Src: /src/botan/src/tests/test_ec_group.cpp:222,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:223,1
    - Dst: auto::get_a
      Src: /src/botan/src/tests/test_ec_group.cpp:223,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:223,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_ec_group.cpp:225,1
    - Dst: auto::get_a
      Src: /src/botan/src/tests/test_ec_group.cpp:225,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:225,1
    - Dst: auto::a_is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:228,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:229,1
    - Dst: auto::get_a
      Src: /src/botan/src/tests/test_ec_group.cpp:229,1
    - Dst: BigInt
      Src: /src/botan/src/tests/test_ec_group.cpp:229,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_ec_group.cpp:231,1
    - Dst: auto::get_a
      Src: /src/botan/src/tests/test_ec_group.cpp:231,1
    - Dst: BigInt
      Src: /src/botan/src/tests/test_ec_group.cpp:231,1
    - Dst: auto::get_base_point
      Src: /src/botan/src/tests/test_ec_group.cpp:235,1
    - Dst: auto::get_order
      Src: /src/botan/src/tests/test_ec_group.cpp:235,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:236,1
    - Dst: auto::is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:236,1
    - Dst: auto::get_base_point
      Src: /src/botan/src/tests/test_ec_group.cpp:239,1
    - Dst: Botan_Tests::EC_Group_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:239,1
    - Dst: Botan::EC_Point::randomize_repr
      Src: /src/botan/src/tests/test_ec_group.cpp:244,1
    - Dst: Botan_Tests::EC_Group_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:244,1
    - Dst: Botan::EC_Point::randomize_repr
      Src: /src/botan/src/tests/test_ec_group.cpp:245,1
    - Dst: Botan_Tests::EC_Group_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:245,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:247,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/tests/test_ec_group.cpp:247,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/tests/test_ec_group.cpp:247,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:248,1
    - Dst: Botan::EC_Point::get_affine_y
      Src: /src/botan/src/tests/test_ec_group.cpp:248,1
    - Dst: Botan::EC_Point::get_affine_y
      Src: /src/botan/src/tests/test_ec_group.cpp:248,1
    - Dst: Botan::EC_Point::force_affine
      Src: /src/botan/src/tests/test_ec_group.cpp:250,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:252,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/tests/test_ec_group.cpp:252,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/tests/test_ec_group.cpp:252,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:253,1
    - Dst: Botan::EC_Point::get_affine_y
      Src: /src/botan/src/tests/test_ec_group.cpp:253,1
    - Dst: Botan::EC_Point::get_affine_y
      Src: /src/botan/src/tests/test_ec_group.cpp:253,1
    - Dst: Botan_Tests::EC_Group_Tests::test_ser_der
      Src: /src/botan/src/tests/test_ec_group.cpp:255,1
    - Dst: Botan_Tests::EC_Group_Tests::test_basic_math
      Src: /src/botan/src/tests/test_ec_group.cpp:256,1
    - Dst: Botan_Tests::EC_Group_Tests::test_point_swap
      Src: /src/botan/src/tests/test_ec_group.cpp:257,1
    - Dst: Botan_Tests::EC_Group_Tests::test_zeropoint
      Src: /src/botan/src/tests/test_ec_group.cpp:258,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_ec_group.cpp:261,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 267
    functionName: Botan_Tests::EC_Group_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - auto::get_p
    - Test::Result::end_timer
    - auto::get_g_x
    - auto::get_base_point
    - std::vector::push_back
    - Botan::EC_Point::force_affine
    - Botan::OID::to_string
    - auto::get_g_y
    - Test::Result::test_eq
    - Botan::EC_Point::randomize_repr
    - Botan::EC_Group::known_named_groups
    - Test::Result::confirm
    - Botan_Tests::EC_Group_Tests::rng
    - Botan_Tests::EC_Group_Tests::test_point_swap
    - Botan::EC_Point::get_affine_y
    - auto::is_zero
    - auto::used_explicit_encoding
    - Botan::EC_Group::used_explicit_encoding
    - Test::Result::start_timer
    - auto::get_a
    - Test::Result::test_ne
    - BigInt
    - auto::get_p_bits
    - Botan_Tests::EC_Group_Tests::test_ser_der
    - auto::get_order
    - auto::a_is_zero
    - auto::DER_encode
    - Botan::EC_Point::get_affine_x
    - auto::a_is_minus_3
    - Botan::EC_Group::EC_group_identity_from_order
    - auto::get_b
    - Botan_Tests::EC_Group_Tests::test_zeropoint
    - auto::verify_group
    - auto::get_cofactor
    - Botan::EC_Group::from_name
    - Botan_Tests::EC_Group_Tests::test_basic_math
    - auto::get_p_bytes
    - auto::get_curve_oid
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_random_point
      Src: /src/botan/src/tests/test_ec_group.cpp:274,1
    - Dst: Botan_Tests::EC_Group_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:274,1
    - Dst: zero_point
      Src: /src/botan/src/tests/test_ec_group.cpp:275,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:281,1
    - Dst: OS2ECP
      Src: /src/botan/src/tests/test_ec_group.cpp:281,1
    - Dst: Botan::EC_Point::encode
      Src: /src/botan/src/tests/test_ec_group.cpp:281,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_ec_group.cpp:283,1
    - Dst: what
      Src: /src/botan/src/tests/test_ec_group.cpp:283,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:287,1
    - Dst: OS2ECP
      Src: /src/botan/src/tests/test_ec_group.cpp:287,1
    - Dst: Botan::EC_Point::encode
      Src: /src/botan/src/tests/test_ec_group.cpp:287,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_ec_group.cpp:289,1
    - Dst: what
      Src: /src/botan/src/tests/test_ec_group.cpp:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' result'
    - ' group'
    argTypes:
    - Test::Result
    - Botan::EC_Group
    constantsTouched: []
    func_position:
      end: 292
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 292
    functionName: Botan_Tests::EC_Group_Tests::test_ser_der
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Point::encode
    - create_random_point
    - OS2ECP
    - what
    - zero_point
    - test_failure
    - Botan_Tests::EC_Group_Tests::rng
    - test_eq
    linkageType: ''
    returnType: void
    signature: void test_ser_der(Test::Result& result, const Botan::EC_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_base_point
      Src: /src/botan/src/tests/test_ec_group.cpp:295,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:300,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:304,1
    - Dst: point
      Src: /src/botan/src/tests/test_ec_group.cpp:308,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:309,1
    - Dst: Botan::EC_Point::on_the_curve
      Src: /src/botan/src/tests/test_ec_group.cpp:309,1
    - Dst: test_success
      Src: /src/botan/src/tests/test_ec_group.cpp:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' result'
    - ' group'
    argTypes:
    - Test::Result
    - Botan::EC_Group
    constantsTouched: []
    func_position:
      end: 313
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 313
    functionName: Botan_Tests::EC_Group_Tests::test_basic_math
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 1
    functionsReached:
    - get_base_point
    - point
    - confirm
    - Botan::EC_Point::on_the_curve
    - test_success
    - test_eq
    linkageType: ''
    returnType: void
    signature: void test_basic_math(Test::Result& result, const Botan::EC_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_random_point
      Src: /src/botan/src/tests/test_ec_group.cpp:316,1
    - Dst: Botan_Tests::EC_Group_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:316,1
    - Dst: create_random_point
      Src: /src/botan/src/tests/test_ec_group.cpp:317,1
    - Dst: Botan_Tests::EC_Group_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:317,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_ec_group.cpp:318,1
    - Dst: Botan_Tests::EC_Group_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:318,1
    - Dst: Botan::EC_Point::swap
      Src: /src/botan/src/tests/test_ec_group.cpp:323,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:324,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' result'
    - ' group'
    argTypes:
    - Test::Result
    - Botan::EC_Group
    constantsTouched: []
    func_position:
      end: 326
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 326
    functionName: Botan_Tests::EC_Group_Tests::test_point_swap
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 1
    functionsReached:
    - create_random_point
    - Botan::BigInt::BigInt
    - Botan::EC_Point::swap
    - Botan_Tests::EC_Group_Tests::rng
    - test_eq
    linkageType: ''
    returnType: void
    signature: void test_point_swap(Test::Result& result, const Botan::EC_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zero_point
      Src: /src/botan/src/tests/test_ec_group.cpp:329,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_ec_group.cpp:331,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/tests/test_ec_group.cpp:331,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_ec_group.cpp:332,1
    - Dst: Botan::EC_Point::get_affine_y
      Src: /src/botan/src/tests/test_ec_group.cpp:332,1
    - Dst: get_base_point
      Src: /src/botan/src/tests/test_ec_group.cpp:334,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:336,1
    - Dst: Botan::EC_Point::on_the_curve
      Src: /src/botan/src/tests/test_ec_group.cpp:336,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:337,1
    - Dst: Botan::EC_Point::is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:337,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:342,1
    - Dst: Botan::EC_Point::is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:342,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:345,1
    - Dst: Botan::EC_Point::on_the_curve
      Src: /src/botan/src/tests/test_ec_group.cpp:345,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:347,1
    - Dst: Botan::EC_Point::on_the_curve
      Src: /src/botan/src/tests/test_ec_group.cpp:347,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:348,1
    - Dst: Botan::EC_Point::is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:348,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:350,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/tests/test_ec_group.cpp:350,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/tests/test_ec_group.cpp:350,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:351,1
    - Dst: Botan::EC_Point::get_affine_y
      Src: /src/botan/src/tests/test_ec_group.cpp:351,1
    - Dst: get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:351,1
    - Dst: Botan::EC_Point::get_affine_y
      Src: /src/botan/src/tests/test_ec_group.cpp:351,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:353,1
    - Dst: Botan::EC_Point::is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:353,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:354,1
    - Dst: Botan::EC_Point::on_the_curve
      Src: /src/botan/src/tests/test_ec_group.cpp:354,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:355,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:356,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:357,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:358,1
    - Dst: is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:358,1
    - Dst: Botan::EC_Point::encode
      Src: /src/botan/src/tests/test_ec_group.cpp:363,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:364,1
    - Dst: OS2ECP
      Src: /src/botan/src/tests/test_ec_group.cpp:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - ' result'
    - ' group'
    argTypes:
    - Test::Result
    - Botan::EC_Group
    constantsTouched: []
    func_position:
      end: 366
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 366
    functionName: Botan_Tests::EC_Group_Tests::test_zeropoint
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Point::encode
    - OS2ECP
    - Botan::EC_Point::is_zero
    - get_base_point
    - get_p
    - zero_point
    - test_throws
    - confirm
    - Botan::EC_Point::on_the_curve
    - Botan::EC_Point::get_affine_y
    - Botan::EC_Point::get_affine_x
    - is_zero
    - test_eq
    linkageType: ''
    returnType: void
    signature: void test_zeropoint(Test::Result& result, const Botan::EC_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ec_group.cpp:376,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ec_group.cpp:377,1
    - Dst: Botan::EC_Group::from_PEM
      Src: /src/botan/src/tests/test_ec_group.cpp:379,1
    - Dst: Botan_Tests::Test::read_data_file
      Src: /src/botan/src/tests/test_ec_group.cpp:379,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:380,1
    - Dst: auto::initialized
      Src: /src/botan/src/tests/test_ec_group.cpp:380,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:381,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:381,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:381,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ec_group.cpp:384,1
    - Dst: what
      Src: /src/botan/src/tests/test_ec_group.cpp:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 388
    functionName: Botan_Tests::test_decoding_with_seed
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - auto::get_p
    - Botan_Tests::Test::read_data_file
    - auto::initialized
    - what
    - Botan::EC_Group::from_PEM
    - Botan::EC_Group::supports_named_group
    - Test::Result::confirm
    - Test::Result::test_failure
    - Botan::EC_Group::from_name
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_decoding_with_seed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ec_group.cpp:393,1
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ec_group.cpp:393,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ec_group.cpp:394,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ec_group.cpp:395,1
    - Dst: auto::get_base_point
      Src: /src/botan/src/tests/test_ec_group.cpp:398,1
    - Dst: auto::get_base_point
      Src: /src/botan/src/tests/test_ec_group.cpp:399,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ec_group.cpp:401,1
    - Dst: Botan::EC_AffinePoint::generator
      Src: /src/botan/src/tests/test_ec_group.cpp:404,1
    - Dst: Botan::EC_AffinePoint::generator
      Src: /src/botan/src/tests/test_ec_group.cpp:405,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_ec_group.cpp:406,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ec_group.cpp:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 410
    functionName: Botan_Tests::test_mixed_points
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - Botan::EC_Group::supports_named_group
    - auto::get_base_point
    - Botan::EC_AffinePoint::generator
    - Botan::EC_Group::from_name
    - auto::add
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_mixed_points()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:417,1
    - Dst: test_decoding_with_seed
      Src: /src/botan/src/tests/test_ec_group.cpp:417,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:418,1
    - Dst: test_mixed_points
      Src: /src/botan/src/tests/test_ec_group.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 421
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 421
    functionName: Botan_Tests::ECC_Unit_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - test_decoding_with_seed
    - std::vector::push_back
    - test_mixed_points
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/test_ec_group.cpp:431,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:432,1
    - Dst: Botan_Tests::EC_Group_Registration_Tests::test_ecc_registration
      Src: /src/botan/src/tests/test_ec_group.cpp:432,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:433,1
    - Dst: Botan_Tests::EC_Group_Registration_Tests::test_ec_group_from_params
      Src: /src/botan/src/tests/test_ec_group.cpp:433,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:434,1
    - Dst: Botan_Tests::EC_Group_Registration_Tests::test_ec_group_bad_registration
      Src: /src/botan/src/tests/test_ec_group.cpp:434,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:435,1
    - Dst: Botan_Tests::EC_Group_Registration_Tests::test_ec_group_duplicate_orders
      Src: /src/botan/src/tests/test_ec_group.cpp:435,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:436,1
    - Dst: Botan_Tests::EC_Group_Registration_Tests::test_ec_group_registration_with_custom_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 440
    functionName: Botan_Tests::EC_Group_Registration_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_application_specific_group
    - Botan_Tests::EC_Group_Registration_Tests::test_ec_group_duplicate_orders
    - Botan_Tests::EC_Group_Registration_Tests::test_ecc_registration
    - Botan_Tests::EC_Group_Registration_Tests::test_ec_group_bad_registration
    - std::vector::push_back
    - Botan_Tests::EC_Group_Registration_Tests::test_ec_group_from_params
    - Botan_Tests::EC_Group_Registration_Tests::test_ec_group_registration_with_custom_oid
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/tests/test_ec_group.cpp:460,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:462,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:462,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:465,1
    - Dst: auto::engine
      Src: /src/botan/src/tests/test_ec_group.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 468
    functionName: Botan_Tests::EC_Group_Registration_Tests::test_ecc_registration
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 1
    functionsReached:
    - auto::get_p
    - Botan::EC_Group::from_OID
    - Test::Result::confirm
    - Test::Result::test_eq
    - auto::engine
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecc_registration()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::clear_registered_curve_data
      Src: /src/botan/src/tests/test_ec_group.cpp:473,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:489,1
    - Dst: Botan::EC_Group::get_curve_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 492
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 492
    functionName: Botan_Tests::EC_Group_Registration_Tests::test_ec_group_from_params
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::confirm
    - Botan::EC_Group::get_curve_oid
    - Botan::EC_Group::clear_registered_curve_data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ec_group_from_params()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::clear_registered_curve_data
      Src: /src/botan/src/tests/test_ec_group.cpp:497,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ec_group.cpp:512,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_ec_group.cpp:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 518
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 518
    functionName: Botan_Tests::EC_Group_Registration_Tests::test_ec_group_bad_registration
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Group::clear_registered_curve_data
    - Test::Result::test_success
    - Test::Result::test_failure
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ec_group_bad_registration()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::clear_registered_curve_data
      Src: /src/botan/src/tests/test_ec_group.cpp:523,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_ec_group.cpp:537,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:538,1
    - Dst: Botan::EC_Group::get_curve_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:538,1
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/tests/test_ec_group.cpp:541,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:542,1
    - Dst: auto::get_curve_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:542,1
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/tests/test_ec_group.cpp:546,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:547,1
    - Dst: auto::get_curve_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 550
    functionName: Botan_Tests::EC_Group_Registration_Tests::test_ec_group_duplicate_orders
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Group::from_OID
    - Botan::EC_Group::get_curve_oid
    - Test::Result::confirm
    - Botan::EC_Group::clear_registered_curve_data
    - Test::Result::test_success
    - auto::get_curve_oid
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ec_group_duplicate_orders()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::clear_registered_curve_data
      Src: /src/botan/src/tests/test_ec_group.cpp:555,1
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/tests/test_ec_group.cpp:558,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:559,1
    - Dst: auto::get_curve_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:559,1
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:563,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_ec_group.cpp:566,1
    - Dst: auto::get_a
      Src: /src/botan/src/tests/test_ec_group.cpp:567,1
    - Dst: auto::get_b
      Src: /src/botan/src/tests/test_ec_group.cpp:568,1
    - Dst: auto::get_g_x
      Src: /src/botan/src/tests/test_ec_group.cpp:569,1
    - Dst: auto::get_g_y
      Src: /src/botan/src/tests/test_ec_group.cpp:570,1
    - Dst: auto::get_order
      Src: /src/botan/src/tests/test_ec_group.cpp:571,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_ec_group.cpp:573,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:574,1
    - Dst: Botan::EC_Group::get_curve_oid
      Src: /src/botan/src/tests/test_ec_group.cpp:574,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:577,1
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/tests/test_ec_group.cpp:577,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:581,1
    - Dst: Botan::EC_Group::_data
      Src: /src/botan/src/tests/test_ec_group.cpp:581,1
    - Dst: auto::_data
      Src: /src/botan/src/tests/test_ec_group.cpp:581,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:587,1
    - Dst: Botan::EC_Group::engine
      Src: /src/botan/src/tests/test_ec_group.cpp:587,1
    - Dst: Botan::EC_Group::_data
      Src: /src/botan/src/tests/test_ec_group.cpp:590,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:591,1
    - Dst: auto::_data
      Src: /src/botan/src/tests/test_ec_group.cpp:592,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ec_group.cpp:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 599
    functionName: Botan_Tests::EC_Group_Registration_Tests::test_ec_group_registration_with_custom_oid
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 1
    functionsReached:
    - auto::get_p
    - Botan::EC_Group::engine
    - auto::get_b
    - Botan::EC_Group::from_OID
    - auto::get_a
    - auto::get_g_x
    - Botan::EC_Group::get_curve_oid
    - Test::Result::confirm
    - auto::_data
    - Test::Result::test_failure
    - auto::get_order
    - Botan::OID::register_oid
    - Botan::EC_Group::_data
    - auto::get_g_y
    - Botan::EC_Group::clear_registered_curve_data
    - Test::Result::test_success
    - auto::get_curve_oid
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ec_group_registration_with_custom_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_ec_group.cpp:609,1
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/test_ec_group.cpp:611,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ec_group.cpp:612,1
    - Dst: Result::start_timer
      Src: /src/botan/src/tests/test_ec_group.cpp:616,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ec_group.cpp:619,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/tests/test_ec_group.cpp:620,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:622,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:623,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_ec_group.cpp:623,1
    - Dst: auto::serialize_compressed
      Src: /src/botan/src/tests/test_ec_group.cpp:625,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:627,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ec_group.cpp:627,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:629,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:631,1
    - Dst: subspan
      Src: /src/botan/src/tests/test_ec_group.cpp:632,1
    - Dst: subspan
      Src: /src/botan/src/tests/test_ec_group.cpp:632,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/tests/test_ec_group.cpp:634,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:635,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:636,1
    - Dst: Result::test_failure
      Src: /src/botan/src/tests/test_ec_group.cpp:638,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/tests/test_ec_group.cpp:641,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:642,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:643,1
    - Dst: Result::test_failure
      Src: /src/botan/src/tests/test_ec_group.cpp:645,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/tests/test_ec_group.cpp:654,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:655,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:656,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ec_group.cpp:657,1
    - Dst: Result::test_failure
      Src: /src/botan/src/tests/test_ec_group.cpp:659,1
    - Dst: Result::end_timer
      Src: /src/botan/src/tests/test_ec_group.cpp:663,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:665,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 669
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 669
    functionName: Botan_Tests::EC_PointEnc_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - Result::end_timer
    - Result::start_timer
    - fuzzer_rng
    - Botan::EC_Group::known_named_groups
    - auto::negate
    - static_cast<size_t>
    - Botan::EC_AffinePoint::deserialize
    - Botan::EC_AffinePoint::g_mul
    - Result::test_eq
    - auto::serialize_compressed
    - std::vector::push_back
    - Result::confirm
    - auto::serialize_uncompressed
    - subspan
    - Botan::EC_Group::from_name
    - auto::size
    - Botan::EC_Scalar::random
    - Result::test_failure
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_ec_group.cpp:679,1
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/tests/test_ec_group.cpp:681,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ec_group.cpp:682,1
    - Dst: Result::start_timer
      Src: /src/botan/src/tests/test_ec_group.cpp:686,1
    - Dst: Botan::EC_Scalar::one
      Src: /src/botan/src/tests/test_ec_group.cpp:688,1
    - Dst: Botan::EC_AffinePoint::generator
      Src: /src/botan/src/tests/test_ec_group.cpp:690,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:691,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/tests/test_ec_group.cpp:693,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:694,1
    - Dst: auto::is_identity
      Src: /src/botan/src/tests/test_ec_group.cpp:694,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ec_group.cpp:696,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:697,1
    - Dst: auto::is_identity
      Src: /src/botan/src/tests/test_ec_group.cpp:697,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/tests/test_ec_group.cpp:699,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:700,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:700,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ec_group.cpp:702,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:703,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:703,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ec_group.cpp:705,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:706,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:706,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/tests/test_ec_group.cpp:708,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ec_group.cpp:708,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ec_group.cpp:710,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:711,1
    - Dst: auto::is_identity
      Src: /src/botan/src/tests/test_ec_group.cpp:711,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/tests/test_ec_group.cpp:713,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ec_group.cpp:714,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:715,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:715,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:715,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:717,1
    - Dst: auto::is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:717,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:718,1
    - Dst: is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:718,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:719,1
    - Dst: is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:719,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:720,1
    - Dst: is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:720,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ec_group.cpp:722,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:723,1
    - Dst: auto::is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:723,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:725,1
    - Dst: is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:725,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:726,1
    - Dst: is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:726,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:727,1
    - Dst: is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:727,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:729,1
    - Dst: auto::is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:729,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:730,1
    - Dst: is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:730,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:731,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ec_group.cpp:731,1
    - Dst: is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:731,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:732,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ec_group.cpp:732,1
    - Dst: is_zero
      Src: /src/botan/src/tests/test_ec_group.cpp:732,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/tests/test_ec_group.cpp:735,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ec_group.cpp:735,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ec_group.cpp:737,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ec_group.cpp:738,1
    - Dst: auto::mul
      Src: /src/botan/src/tests/test_ec_group.cpp:741,1
    - Dst: auto::mul
      Src: /src/botan/src/tests/test_ec_group.cpp:742,1
    - Dst: auto::mul
      Src: /src/botan/src/tests/test_ec_group.cpp:743,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:745,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ec_group.cpp:747,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:748,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:748,1
    - Dst: auto::add
      Src: /src/botan/src/tests/test_ec_group.cpp:750,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:751,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:751,1
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/tests/test_ec_group.cpp:759,1
    - Dst: auto::get_order_bytes
      Src: /src/botan/src/tests/test_ec_group.cpp:762,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ec_group.cpp:763,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_ec_group.cpp:763,1
    - Dst: Botan::EC_Scalar::deserialize
      Src: /src/botan/src/tests/test_ec_group.cpp:764,1
    - Dst: auto::negate
      Src: /src/botan/src/tests/test_ec_group.cpp:768,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ec_group.cpp:771,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/tests/test_ec_group.cpp:774,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ec_group.cpp:778,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/tests/test_ec_group.cpp:779,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/tests/test_ec_group.cpp:783,1
    - Dst: auto::mul
      Src: /src/botan/src/tests/test_ec_group.cpp:783,1
    - Dst: Botan::EC_Group::Mul2Table::mul2_vartime
      Src: /src/botan/src/tests/test_ec_group.cpp:785,1
    - Dst: Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:786,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:786,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/tests/test_ec_group.cpp:786,1
    - Dst: Result::confirm
      Src: /src/botan/src/tests/test_ec_group.cpp:788,1
    - Dst: auto::is_identity
      Src: /src/botan/src/tests/test_ec_group.cpp:788,1
    - Dst: Result::end_timer
      Src: /src/botan/src/tests/test_ec_group.cpp:792,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_ec_group.cpp:794,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 798
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 798
    functionName: Botan_Tests::EC_Point_Arithmetic_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::push_back
    - Result::confirm
    - Botan::EC_Scalar::EC_Scalar
    - auto::add
    - Result::start_timer
    - Botan::EC_Group::known_named_groups
    - Botan::EC_AffinePoint::g_mul
    - auto::serialize_uncompressed
    - auto::is_identity
    - auto::is_zero
    - Botan::EC_Scalar::random
    - static_cast<uint8_t>
    - is_zero
    - Result::end_timer
    - auto::negate
    - fuzzer_rng
    - Botan::EC_Scalar::deserialize
    - Botan::EC_AffinePoint::generator
    - Result::test_eq
    - auto::get_order_bytes
    - Botan::EC_Group::Mul2Table::mul2_vartime
    - Botan::EC_Group::from_name
    - auto::mul
    - Botan::EC_Scalar::one
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 807
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 807
    functionName: Botan_Tests::ECC_Invalid_Key_Tests::ECC_Invalid_Key_Tests
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_Invalid_Key_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 809
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 809
    functionName: Botan_Tests::ECC_Invalid_Key_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ec_group.cpp:814,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/tests/test_ec_group.cpp:818,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ec_group.cpp:819,1
    - Dst: auto::check_key
      Src: /src/botan/src/tests/test_ec_group.cpp:819,1
    - Dst: Botan_Tests::ECC_Invalid_Key_Tests::rng
      Src: /src/botan/src/tests/test_ec_group.cpp:819,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_ec_group.cpp:821,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 825
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 825
    functionName: Botan_Tests::ECC_Invalid_Key_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_ec_group.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - Botan_Tests::ECC_Invalid_Key_Tests::rng
    - Botan::X509::load_key
    - auto::check_key
    - Test::Result::test_eq
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_tls_policy.cpp:43,1
    - Dst: Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_rsa
      Src: /src/botan/src/tests/unit_tls_policy.cpp:43,1
    - Dst: Botan_Tests::TLS_Policy_Unit_Tests::rng
      Src: /src/botan/src/tests/unit_tls_policy.cpp:43,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_tls_policy.cpp:44,1
    - Dst: Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_ecdh
      Src: /src/botan/src/tests/unit_tls_policy.cpp:44,1
    - Dst: Botan_Tests::TLS_Policy_Unit_Tests::rng
      Src: /src/botan/src/tests/unit_tls_policy.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_tls_policy.cpp:45,1
    - Dst: Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_ecdsa
      Src: /src/botan/src/tests/unit_tls_policy.cpp:45,1
    - Dst: Botan_Tests::TLS_Policy_Unit_Tests::rng
      Src: /src/botan/src/tests/unit_tls_policy.cpp:45,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_tls_policy.cpp:46,1
    - Dst: Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_dh
      Src: /src/botan/src/tests/unit_tls_policy.cpp:46,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/unit_tls_policy.cpp:47,1
    - Dst: Botan_Tests::TLS_Policy_Unit_Tests::test_key_exchange_groups_to_offer
      Src: /src/botan/src/tests/unit_tls_policy.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: Botan_Tests::TLS_Policy_Unit_Tests::run
    functionSourceFile: /src/botan/src/tests/unit_tls_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_rsa
    - Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_ecdh
    - std::vector::push_back
    - Botan_Tests::TLS_Policy_Unit_Tests::rng
    - Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_dh
    - Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_ecdsa
    - Botan_Tests::TLS_Policy_Unit_Tests::test_key_exchange_groups_to_offer
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::RSA_PrivateKey>
      Src: /src/botan/src/tests/unit_tls_policy.cpp:56,1
    - Dst: Botan::TLS::Policy::check_peer_key_acceptable
      Src: /src/botan/src/tests/unit_tls_policy.cpp:60,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_tls_policy.cpp:61,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/unit_tls_policy.cpp:63,1
    - Dst: std::make_unique<Botan::RSA_PrivateKey>
      Src: /src/botan/src/tests/unit_tls_policy.cpp:66,1
    - Dst: Botan::TLS::Policy::check_peer_key_acceptable
      Src: /src/botan/src/tests/unit_tls_policy.cpp:67,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/unit_tls_policy.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_rsa
    functionSourceFile: /src/botan/src/tests/unit_tls_policy.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_failure
    - std::make_unique<Botan::RSA_PrivateKey>
    - Test::Result::test_success
    - Botan::TLS::Policy::check_peer_key_acceptable
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_peer_key_acceptable_rsa(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/unit_tls_policy.cpp:79,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/unit_tls_policy.cpp:80,1
    - Dst: std::make_unique<Botan::ECDH_PrivateKey>
      Src: /src/botan/src/tests/unit_tls_policy.cpp:81,1
    - Dst: Botan::TLS::Policy::check_peer_key_acceptable
      Src: /src/botan/src/tests/unit_tls_policy.cpp:84,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_tls_policy.cpp:85,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/unit_tls_policy.cpp:87,1
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/unit_tls_policy.cpp:91,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/unit_tls_policy.cpp:92,1
    - Dst: std::make_unique<Botan::ECDH_PrivateKey>
      Src: /src/botan/src/tests/unit_tls_policy.cpp:93,1
    - Dst: Botan::TLS::Policy::check_peer_key_acceptable
      Src: /src/botan/src/tests/unit_tls_policy.cpp:94,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/unit_tls_policy.cpp:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 99
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 99
    functionName: Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_ecdh
    functionSourceFile: /src/botan/src/tests/unit_tls_policy.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - Test::Result::test_failure
    - Botan::TLS::Policy::check_peer_key_acceptable
    - Botan::EC_Group::from_name
    - std::make_unique<Botan::ECDH_PrivateKey>
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_peer_key_acceptable_ecdh(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/unit_tls_policy.cpp:106,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/unit_tls_policy.cpp:107,1
    - Dst: std::make_unique<Botan::ECDSA_PrivateKey>
      Src: /src/botan/src/tests/unit_tls_policy.cpp:108,1
    - Dst: Botan::TLS::Policy::check_peer_key_acceptable
      Src: /src/botan/src/tests/unit_tls_policy.cpp:111,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_tls_policy.cpp:112,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/unit_tls_policy.cpp:114,1
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/unit_tls_policy.cpp:118,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/unit_tls_policy.cpp:119,1
    - Dst: std::make_unique<Botan::ECDSA_PrivateKey>
      Src: /src/botan/src/tests/unit_tls_policy.cpp:120,1
    - Dst: Botan::TLS::Policy::check_peer_key_acceptable
      Src: /src/botan/src/tests/unit_tls_policy.cpp:121,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/unit_tls_policy.cpp:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 126
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 126
    functionName: Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_ecdsa
    functionSourceFile: /src/botan/src/tests/unit_tls_policy.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - Test::Result::test_failure
    - std::make_unique<Botan::ECDSA_PrivateKey>
    - Botan::TLS::Policy::check_peer_key_acceptable
    - Botan::EC_Group::from_name
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_peer_key_acceptable_ecdsa(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::DH_PrivateKey>
      Src: /src/botan/src/tests/unit_tls_policy.cpp:135,1
    - Dst: Botan::TLS::Policy::check_peer_key_acceptable
      Src: /src/botan/src/tests/unit_tls_policy.cpp:139,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/unit_tls_policy.cpp:140,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/unit_tls_policy.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 146
    functionName: Botan_Tests::TLS_Policy_Unit_Tests::test_peer_key_acceptable_dh
    functionSourceFile: /src/botan/src/tests/unit_tls_policy.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Botan::DH_PrivateKey>
    - Test::Result::test_success
    - Test::Result::test_failure
    - Botan::TLS::Policy::check_peer_key_acceptable
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_peer_key_acceptable_dh()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_tls_policy.cpp:152,1
    - Dst: Botan::TLS::Policy::key_exchange_groups_to_offer
      Src: /src/botan/src/tests/unit_tls_policy.cpp:153,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_tls_policy.cpp:154,1
    - Dst: Botan::TLS::Policy::key_exchange_groups
      Src: /src/botan/src/tests/unit_tls_policy.cpp:156,1
    - Dst: Botan::TLS::Policy::key_exchange_groups_to_offer
      Src: /src/botan/src/tests/unit_tls_policy.cpp:156,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_tls_policy.cpp:160,1
    - Dst: TP
      Src: /src/botan/src/tests/unit_tls_policy.cpp:160,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_tls_policy.cpp:161,1
    - Dst: TP
      Src: /src/botan/src/tests/unit_tls_policy.cpp:162,1
    - Dst: TP
      Src: /src/botan/src/tests/unit_tls_policy.cpp:162,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_tls_policy.cpp:164,1
    - Dst: TP
      Src: /src/botan/src/tests/unit_tls_policy.cpp:165,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/unit_tls_policy.cpp:168,1
    - Dst: TP
      Src: /src/botan/src/tests/unit_tls_policy.cpp:168,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_tls_policy.cpp:169,1
    - Dst: TP
      Src: /src/botan/src/tests/unit_tls_policy.cpp:170,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/unit_tls_policy.cpp:171,1
    - Dst: TP
      Src: /src/botan/src/tests/unit_tls_policy.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 175
    functionName: Botan_Tests::TLS_Policy_Unit_Tests::test_key_exchange_groups_to_offer
    functionSourceFile: /src/botan/src/tests/unit_tls_policy.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Policy::key_exchange_groups_to_offer
    - TP
    - Test::Result::confirm
    - Test::Result::test_eq
    - Botan::TLS::Policy::key_exchange_groups
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_key_exchange_groups_to_offer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:51,1
    - Dst: Botan::TLS::Client_Handshake_State_13::sending
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:59,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:59,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:60,1
    - Dst: Botan::TLS::Client_Handshake_State_13::server_finished
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:60,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:61,1
    - Dst: Botan::TLS::Client_Handshake_State_13::client_finished
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:62,1
    - Dst: Botan::TLS::Client_Handshake_State_13::received
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:66,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:66,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:67,1
    - Dst: std::holds_alternative<std::reference_wrapper<Botan::TLS::Finished_13>>
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:68,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:69,1
    - Dst: Botan::TLS::Client_Handshake_State_13::client_finished
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:70,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:71,1
    - Dst: Botan::TLS::Client_Handshake_State_13::server_finished
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: Botan_Tests::finished_message_handling
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan::TLS::Client_Handshake_State_13::received
    - std::holds_alternative<std::reference_wrapper<Botan::TLS::Finished_13>>
    - require
    - Botan::TLS::Client_Handshake_State_13::server_finished
    - test_throws
    - std::move
    - Botan::TLS::Client_Handshake_State_13::sending
    - Botan::TLS::Client_Handshake_State_13::client_finished
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> finished_message_handling()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:79,1
    - Dst: std::get<Botan::TLS::Client_Hello_13>
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:84,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:84,1
    - Dst: Botan::TLS::Client_Handshake_State_13::sending
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:88,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:88,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:89,1
    - Dst: Botan::TLS::Client_Handshake_State_13::client_hello
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:89,1
    - Dst: template test_throws<Botan::TLS::TLS_Exception>
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:91,1
    - Dst: std::get<Botan::TLS::Client_Hello_13>
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:94,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:94,1
    - Dst: Botan::TLS::Client_Handshake_State_13::received
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:95,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:95,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:98,1
    - Dst: std::get<Botan::TLS::Server_Hello_13>
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:103,1
    - Dst: Botan::TLS::Server_Hello_13::parse
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:103,1
    - Dst: Botan::TLS::Client_Handshake_State_13::received
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:105,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:105,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:106,1
    - Dst: std::holds_alternative<std::reference_wrapper<Botan::TLS::Server_Hello_13>>
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:107,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:109,1
    - Dst: Botan::TLS::Client_Handshake_State_13::server_hello
      Src: /src/botan/src/tests/test_tls_handshake_state_13.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 112
    functionName: Botan_Tests::handshake_message_filtering
    functionSourceFile: /src/botan/src/tests/test_tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::get<Botan::TLS::Client_Hello_13>
    - Botan_Tests::CHECK
    - Botan::TLS::Client_Hello_13::parse
    - Botan::TLS::Client_Handshake_State_13::received
    - std::get<Botan::TLS::Server_Hello_13>
    - std::holds_alternative<std::reference_wrapper<Botan::TLS::Server_Hello_13>>
    - Botan::TLS::Client_Handshake_State_13::server_hello
    - template test_throws<Botan::TLS::TLS_Exception>
    - Botan::TLS::Client_Handshake_State_13::client_hello
    - confirm
    - std::move
    - Botan::TLS::Server_Hello_13::parse
    - Botan::TLS::Client_Handshake_State_13::sending
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> handshake_message_filtering()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_rsa.cpp:24,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_rsa.cpp:25,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_rsa.cpp:26,1
    - Dst: std::make_unique<Botan::RSA_PrivateKey>
      Src: /src/botan/src/tests/test_rsa.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: Botan_Tests::load_rsa_private_key
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::RSA_PrivateKey>
    - get_req_bn
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_rsa_private_key(const VarMap&
      vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_rsa.cpp:32,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_rsa.cpp:33,1
    - Dst: std::make_unique<Botan::RSA_PublicKey>
      Src: /src/botan/src/tests/test_rsa.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: Botan_Tests::load_rsa_public_key
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::RSA_PublicKey>
    - get_req_bn
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_rsa_public_key(const VarMap&
      vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan_Tests::RSA_ES_KAT_Tests::RSA_ES_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_ES_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_rsa_private_key
      Src: /src/botan/src/tests/test_rsa.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan_Tests::RSA_ES_KAT_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - load_rsa_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan_Tests::RSA_Decryption_KAT_Tests::RSA_Decryption_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_Decryption_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan_Tests::RSA_Decryption_KAT_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_rsa_private_key
      Src: /src/botan/src/tests/test_rsa.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan_Tests::RSA_Decryption_KAT_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - load_rsa_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan_Tests::RSA_KEM_Tests::RSA_KEM_Tests
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_KEM_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_rsa_private_key
      Src: /src/botan/src/tests/test_rsa.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: Botan_Tests::RSA_KEM_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - load_rsa_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: Botan_Tests::RSA_Signature_KAT_Tests::RSA_Signature_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_Signature_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Botan_Tests::RSA_Signature_KAT_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& /*unused*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_rsa_private_key
      Src: /src/botan/src/tests/test_rsa.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: Botan_Tests::RSA_Signature_KAT_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - load_rsa_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: Botan_Tests::RSA_PSS_KAT_Tests::RSA_PSS_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_PSS_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_rsa.cpp:85,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_rsa.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: Botan_Tests::RSA_PSS_KAT_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Botan_Tests::RSA_PSS_KAT_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_rsa_private_key
      Src: /src/botan/src/tests/test_rsa.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: Botan_Tests::RSA_PSS_KAT_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - load_rsa_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: Botan_Tests::RSA_PSS_Raw_KAT_Tests::RSA_PSS_Raw_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_PSS_Raw_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_rsa.cpp:103,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_rsa.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: Botan_Tests::RSA_PSS_Raw_KAT_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: Botan_Tests::RSA_PSS_Raw_KAT_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_rsa_private_key
      Src: /src/botan/src/tests/test_rsa.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: Botan_Tests::RSA_PSS_Raw_KAT_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - load_rsa_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: Botan_Tests::RSA_Signature_Verify_Tests::RSA_Signature_Verify_Tests
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_Signature_Verify_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: Botan_Tests::RSA_Signature_Verify_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& /*unused*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_rsa_public_key
      Src: /src/botan/src/tests/test_rsa.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: Botan_Tests::RSA_Signature_Verify_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - load_rsa_public_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: Botan_Tests::RSA_Signature_Verify_Invalid_Tests::RSA_Signature_Verify_Invalid_Tests
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_Signature_Verify_Invalid_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: Botan_Tests::RSA_Signature_Verify_Invalid_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& /*unused*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_rsa_public_key
      Src: /src/botan/src/tests/test_rsa.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: Botan_Tests::RSA_Signature_Verify_Invalid_Tests::load_public_key
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - load_rsa_public_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan_Tests::RSA_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: Botan_Tests::RSA_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      /* keygen_params */,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> /* raw_pk */) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: Botan_Tests::RSA_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: Botan_Tests::RSA_Keygen_Stability_Tests::RSA_Keygen_Stability_Tests
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_Keygen_Stability_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_rsa.cpp:172,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_rsa.cpp:174,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rsa.cpp:175,1
    - Dst: what
      Src: /src/botan/src/tests/test_rsa.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 179
    functionName: Botan_Tests::RSA_Keygen_Bad_RNG_Test::run
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Test::Result::test_success
    - Test::Result::test_failure
    - what
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: provider_filter
      Src: /src/botan/src/tests/test_rsa.cpp:188,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_rsa.cpp:189,1
    - Dst: Botan_Tests::RSA_Blinding_Tests::rng
      Src: /src/botan/src/tests/test_rsa.cpp:194,1
    - Dst: Botan_Tests::RSA_Blinding_Tests::rng
      Src: /src/botan/src/tests/test_rsa.cpp:209,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rsa.cpp:214,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_rsa.cpp:214,1
    - Dst: Botan::PK_Signer::update
      Src: /src/botan/src/tests/test_rsa.cpp:216,1
    - Dst: Botan::PK_Signer::signature
      Src: /src/botan/src/tests/test_rsa.cpp:219,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rsa.cpp:221,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_rsa.cpp:221,1
    - Dst: Botan_Tests::RSA_Blinding_Tests::rng
      Src: /src/botan/src/tests/test_rsa.cpp:235,1
    - Dst: Botan_Tests::RSA_Blinding_Tests::rng
      Src: /src/botan/src/tests/test_rsa.cpp:246,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rsa.cpp:251,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_rsa.cpp:251,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/tests/test_rsa.cpp:253,1
    - Dst: Botan::unlock
      Src: /src/botan/src/tests/test_rsa.cpp:255,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/tests/test_rsa.cpp:255,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/test_rsa.cpp:256,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_rsa.cpp:256,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_rsa.cpp:256,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rsa.cpp:258,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rsa.cpp:261,1
    - Dst: Fixed_Output_RNG::is_seeded
      Src: /src/botan/src/tests/test_rsa.cpp:261,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_rsa.cpp:264,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/tests/test_rsa.cpp:268,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_rsa.cpp:268,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/tests/test_rsa.cpp:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 275
    functionName: Botan_Tests::RSA_Blinding_Tests::run
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - std::vector::size
    - Botan_Tests::RSA_Blinding_Tests::rng
    - Botan::PK_Verifier::verify_message
    - Botan::PK_Encryptor_EME::encrypt
    - Fixed_Output_RNG::is_seeded
    - Botan::unlock
    - provider_filter
    - Botan::PK_Signer::update
    - Botan::PK_Decryptor_EME::decrypt
    - std::vector::begin
    - std::vector<uint8_t>
    - Botan::PK_Signer::signature
    - std::vector::insert
    - Test::Result::note_missing
    - Test::Result::test_eq
    - static_cast<uint8_t>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_PrivateKey::RSA_PrivateKey
      Src: /src/botan/src/tests/test_rsa.cpp:292,1
    - Dst: rng
      Src: /src/botan/src/tests/test_rsa.cpp:292,1
    - Dst: Botan_Tests::test_decrypt_or_random
      Src: /src/botan/src/tests/test_rsa.cpp:297,1
    - Dst: rng
      Src: /src/botan/src/tests/test_rsa.cpp:297,1
    - Dst: push_back
      Src: /src/botan/src/tests/test_rsa.cpp:298,1
    - Dst: public_key
      Src: /src/botan/src/tests/test_rsa.cpp:311,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_rsa.cpp:312,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/tests/test_rsa.cpp:315,1
    - Dst: auto::get_int_field
      Src: /src/botan/src/tests/test_rsa.cpp:319,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/tests/test_rsa.cpp:322,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_rsa.cpp:322,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_rsa.cpp:322,1
    - Dst: Botan::PK_Decryptor_EME::decrypt_or_random
      Src: /src/botan/src/tests/test_rsa.cpp:324,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_rsa.cpp:324,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_rsa.cpp:324,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rsa.cpp:326,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_rsa.cpp:326,1
    - Dst: Botan::PK_Decryptor_EME::decrypt_or_random
      Src: /src/botan/src/tests/test_rsa.cpp:342,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_rsa.cpp:343,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_rsa.cpp:343,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rsa.cpp:343,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rsa.cpp:343,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rsa.cpp:345,1
    - Dst: Botan::PK_Decryptor_EME::decrypt_or_random
      Src: /src/botan/src/tests/test_rsa.cpp:369,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_rsa.cpp:370,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_rsa.cpp:370,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rsa.cpp:370,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_rsa.cpp:370,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_rsa.cpp:372,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_rsa.cpp:375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - ' result'
    - padding
    - ' private_key'
    - ' rng'
    argTypes:
    - Test::Result
    - std::string_view
    - Botan::Private_Key
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 379
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 379
    functionName: Botan_Tests::test_decrypt_or_random
    functionSourceFile: /src/botan/src/tests/test_rsa.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - Test::Result::test_ne
    - Botan::PK_Encryptor_EME::encrypt
    - Botan::PK_Decryptor_EME::decrypt_or_random
    - random_vec
    - Test::Result::confirm
    - mutate_vec
    - Botan::BigInt::from_bytes
    - auto::data
    - rng
    - push_back
    - serialize
    - Test::Result::test_eq
    - Botan_Tests::test_decrypt_or_random
    - public_key
    - auto::get_int_field
    - Botan::RSA_PrivateKey::RSA_PrivateKey
    - std::vector::data
    linkageType: ''
    returnType: "class RSA_DecryptOrRandom_Tests : public Test {\n   public:\n      std::vector<Test::Result>
      run() override {\n         const std::vector<std::string> padding_schemes =
      {\n   #if defined(BOTAN_HAS_EME_PKCS1)\n            \"PKCS1v15\",\n   #endif\n
      \  #if defined(BOTAN_HAS_EME_OAEP)\n            \"OAEP(SHA-256)\",\n   #endif\n
      \        };\n\n         constexpr size_t bits = 1024;\n\n         auto private_key
      = Botan::RSA_PrivateKey(rng(), bits);\n\n         std::vector<Test::Result>
      results;\n         for(const auto& padding : padding_schemes) {\n            Test::Result
      result(\"RSA decrypt_or_random \" + padding);\n            test_decrypt_or_random(result,
      padding, private_key, rng());\n            results.push_back(result);\n         }\n
      \        return results;\n      }"
    signature: "class RSA_DecryptOrRandom_Tests : public Test {\n   public:\n      std::vector<Test::Result>
      run() override {\n         const std::vector<std::string> padding_schemes =
      {\n   #if defined(BOTAN_HAS_EME_PKCS1)\n            \"PKCS1v15\",\n   #endif\n
      \  #if defined(BOTAN_HAS_EME_OAEP)\n            \"OAEP(SHA-256)\",\n   #endif\n
      \        };\n\n         constexpr size_t bits = 1024;\n\n         auto private_key
      = Botan::RSA_PrivateKey(rng(), bits);\n\n         std::vector<Test::Result>
      results;\n         for(const auto& padding : padding_schemes) {\n            Test::Result
      result(\"RSA decrypt_or_random \" + padding);\n            test_decrypt_or_random(result,
      padding, private_key, rng());\n            results.push_back(result);\n         }\n
      \        return results;\n      } test_decrypt_or_random(Test::Result& result,\n
      \                                        std::string_view padding,\n                                         Botan::Private_Key&
      private_key,\n                                         Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vendor
      Src: /src/botan/src/tests/test_tpm2.cpp:52,1
    - Dst: manufacturer
      Src: /src/botan/src/tests/test_tpm2.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - std::shared_ptr<Botan::TPM2::Context>
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan_Tests::validate_context_environment
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - manufacturer
    - vendor
    linkageType: ''
    returnType: bool
    signature: bool validate_context_environment(const std::shared_ptr<Botan::TPM2::Context>&
      ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_tpm2.cpp:56,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tpm2.cpp:57,1
    - Dst: Botan::TPM2::Context::create
      Src: /src/botan/src/tests/test_tpm2.cpp:62,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_tpm2.cpp:62,1
    - Dst: Botan_Tests::validate_context_environment
      Src: /src/botan/src/tests/test_tpm2.cpp:63,1
    - Dst: auto::supports_botan_crypto_backend
      Src: /src/botan/src/tests/test_tpm2.cpp:67,1
    - Dst: auto::use_botan_crypto_backend
      Src: /src/botan/src/tests/test_tpm2.cpp:68,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tpm2.cpp:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - rng_tag
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: Botan_Tests::get_tpm2_context
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::Context::create
    - Botan_Tests::validate_context_environment
    - Botan_Tests::test_encoding_options
    - auto::value
    - auto::use_botan_crypto_backend
    - auto::supports_botan_crypto_backend
    - Botan_Tests::Test::new_rng
    linkageType: ''
    returnType: std::shared_ptr<Botan::TPM2::Context>
    signature: std::shared_ptr<Botan::TPM2::Context> get_tpm2_context(std::string_view
      rng_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - esys_ctx
    - handle
    argTypes:
    - ESYS_CONTEXT*
    - ESYS_TR
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Botan_Tests::TR::TR
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TR(ESYS_CONTEXT* esys_ctx, ESYS_TR handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_tpm2.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TR
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan_Tests::TR::TR
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void TR(TR&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/botan/src/tests/test_tpm2.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TR
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: '& operator=(TR&& other) noexcept'
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: TR
    signature: TR & operator=(TR&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: Botan_Tests::TR::TR
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TR(const TR&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& operator=(const TR&)'
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TR
    signature: TR & operator=(const TR&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Esys_FlushContext
      Src: /src/botan/src/tests/test_tpm2.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: ~TR()
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - Esys_FlushContext
    linkageType: ''
    returnType: void
    signature: void ~TR()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: operator ESYS_TR() const
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator ESYS_TR() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Esys_GetTcti
      Src: /src/botan/src/tests/test_tpm2.cpp:108,1
    - Dst: Tss2_TctiLdr_Finalize
      Src: /src/botan/src/tests/test_tpm2.cpp:110,1
    - Dst: Esys_Finalize
      Src: /src/botan/src/tests/test_tpm2.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - esys_ctx
    argTypes:
    - ESYS_CONTEXT*
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: operator()(ESYS_CONTEXT* esys_ctx)
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - Esys_Finalize
    - Tss2_TctiLdr_Finalize
    - Esys_GetTcti
    linkageType: ''
    returnType: void
    signature: void operator()(ESYS_CONTEXT* esys_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_tpm2.cpp:117,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_tpm2.cpp:118,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_tpm2.cpp:119,1
    - Dst: Tss2_TctiLdr_Initialize_Ex
      Src: /src/botan/src/tests/test_tpm2.cpp:128,1
    - Dst: auto::c_str
      Src: /src/botan/src/tests/test_tpm2.cpp:128,1
    - Dst: auto::c_str
      Src: /src/botan/src/tests/test_tpm2.cpp:128,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tpm2.cpp:130,1
    - Dst: Esys_Initialize
      Src: /src/botan/src/tests/test_tpm2.cpp:133,1
    - Dst: Botan::out_ptr
      Src: /src/botan/src/tests/test_tpm2.cpp:133,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tpm2.cpp:135,1
    - Dst: Botan::TPM2::Context::create
      Src: /src/botan/src/tests/test_tpm2.cpp:140,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/tests/test_tpm2.cpp:140,1
    - Dst: Botan_Tests::validate_context_environment
      Src: /src/botan/src/tests/test_tpm2.cpp:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 146
    functionName: Botan_Tests::get_external_tpm2_context
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::Context::create
    - Botan_Tests::validate_context_environment
    - Botan_Tests::test_encoding_options
    - auto::value
    - Tss2_TctiLdr_Initialize_Ex
    - std::unique_ptr::get
    - Esys_Initialize
    - Test_Error
    - Botan::out_ptr
    - auto::c_str
    linkageType: ''
    returnType: auto
    signature: auto get_external_tpm2_context() -> std::unique_ptr<ESYS_CONTEXT, esys_context_liberator>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: Botan_Tests::bail_out
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::bail_out
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result bail_out()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_tpm2.cpp:167,1
    - Dst: Botan::load_be
      Src: /src/botan/src/tests/test_tpm2.cpp:168,1
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/tests/test_tpm2.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: Botan_Tests::not_zero_64
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - Botan::BufferSlicer::remaining
    - Botan::BufferSlicer::take
    - Botan::load_be
    linkageType: ''
    returnType: bool
    signature: bool not_zero_64(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_tpm2_context
      Src: /src/botan/src/tests/test_tpm2.cpp:178,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:180,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:184,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:186,1
    - Dst: auto::vendor
      Src: /src/botan/src/tests/test_tpm2.cpp:186,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:187,1
    - Dst: auto::manufacturer
      Src: /src/botan/src/tests/test_tpm2.cpp:187,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:190,1
    - Dst: auto::max_random_bytes_per_request
      Src: /src/botan/src/tests/test_tpm2.cpp:192,1
    - Dst: test_gte
      Src: /src/botan/src/tests/test_tpm2.cpp:193,1
    - Dst: test_lte
      Src: /src/botan/src/tests/test_tpm2.cpp:194,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:197,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:199,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:199,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:200,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:200,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:201,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:201,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:202,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:202,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:203,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:203,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:204,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:204,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:205,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:205,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:208,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:210,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:210,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:211,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:211,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:212,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:212,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:213,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 216
    functionName: Botan_Tests::test_tpm2_properties
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan_Tests::get_tpm2_context
    - auto::manufacturer
    - test_gte
    - confirm
    - Botan_Tests::bail_out
    - auto::max_random_bytes_per_request
    - auto::supports_algorithm
    - test_lte
    - auto::vendor
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_tpm2_properties()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_tpm2_context
      Src: /src/botan/src/tests/test_tpm2.cpp:219,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:221,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_tpm2.cpp:224,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:227,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:229,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:230,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:230,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:231,1
    - Dst: Botan::value_exists
      Src: /src/botan/src/tests/test_tpm2.cpp:231,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:232,1
    - Dst: Botan::value_exists
      Src: /src/botan/src/tests/test_tpm2.cpp:232,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:233,1
    - Dst: Botan::value_exists
      Src: /src/botan/src/tests/test_tpm2.cpp:234,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:237,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:241,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:243,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:247,1
    - Dst: auto::use_botan_crypto_backend
      Src: /src/botan/src/tests/test_tpm2.cpp:249,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tpm2.cpp:249,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:253,1
    - Dst: auto::use_botan_crypto_backend
      Src: /src/botan/src/tests/test_tpm2.cpp:255,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tpm2.cpp:255,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:261,1
    - Dst: auto::storage_root_key
      Src: /src/botan/src/tests/test_tpm2.cpp:262,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:263,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:264,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_tpm2.cpp:264,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:265,1
    - Dst: auto::key_length
      Src: /src/botan/src/tests/test_tpm2.cpp:265,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:266,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 270
    functionName: Botan_Tests::test_tpm2_context
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan_Tests::get_tpm2_context
    - auto::key_length
    - Botan_Tests::test_encoding_options
    - require
    - Botan::value_exists
    - test_throws
    - confirm
    - auto::use_botan_crypto_backend
    - Botan_Tests::bail_out
    - auto::storage_root_key
    - auto::algo_name
    - auto::handles
    - auto::empty
    - auto::persistent_handles
    - Botan_Tests::Test::new_rng
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_tpm2_context()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Esys_StartAuthSession
      Src: /src/botan/src/tests/test_tpm2.cpp:281,1
    - Dst: Esys_TRSess_SetAttributes
      Src: /src/botan/src/tests/test_tpm2.cpp:295,1
    - Dst: Esys_GetRandom
      Src: /src/botan/src/tests/test_tpm2.cpp:304,1
    - Dst: Botan::out_ptr
      Src: /src/botan/src/tests/test_tpm2.cpp:304,1
    - Dst: std::make_pair
      Src: /src/botan/src/tests/test_tpm2.cpp:305,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tpm2.cpp:305,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:309,1
    - Dst: Botan_Tests::get_external_tpm2_context
      Src: /src/botan/src/tests/test_tpm2.cpp:311,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:313,1
    - Dst: Botan::TPM2::Context::create
      Src: /src/botan/src/tests/test_tpm2.cpp:320,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tpm2.cpp:320,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:321,1
    - Dst: Botan::RandomNumberGenerator
      Src: /src/botan/src/tests/test_tpm2.cpp:322,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_tpm2.cpp:324,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:325,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tpm2.cpp:325,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/tests/test_tpm2.cpp:331,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/tests/test_tpm2.cpp:334,1
    - Dst: test_eq_sz
      Src: /src/botan/src/tests/test_tpm2.cpp:335,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:338,1
    - Dst: Botan_Tests::get_external_tpm2_context
      Src: /src/botan/src/tests/test_tpm2.cpp:340,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:342,1
    - Dst: Botan::TPM2::Context::create
      Src: /src/botan/src/tests/test_tpm2.cpp:347,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tpm2.cpp:347,1
    - Dst: auto::supports_botan_crypto_backend
      Src: /src/botan/src/tests/test_tpm2.cpp:348,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:349,1
    - Dst: auto::use_botan_crypto_backend
      Src: /src/botan/src/tests/test_tpm2.cpp:353,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tpm2.cpp:353,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:361,1
    - Dst: Esys_SetCryptoCallbacks
      Src: /src/botan/src/tests/test_tpm2.cpp:365,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tpm2.cpp:365,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/tests/test_tpm2.cpp:366,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/tests/test_tpm2.cpp:369,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/tests/test_tpm2.cpp:372,1
    - Dst: test_eq_sz
      Src: /src/botan/src/tests/test_tpm2.cpp:373,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:378,1
    - Dst: Botan::TPM2::supports_botan_crypto_backend
      Src: /src/botan/src/tests/test_tpm2.cpp:379,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:380,1
    - Dst: Botan_Tests::get_external_tpm2_context
      Src: /src/botan/src/tests/test_tpm2.cpp:384,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:386,1
    - Dst: Botan::TPM2::use_botan_crypto_backend
      Src: /src/botan/src/tests/test_tpm2.cpp:390,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_tpm2.cpp:390,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tpm2.cpp:390,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/tests/test_tpm2.cpp:393,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/tests/test_tpm2.cpp:396,1
    - Dst: test_eq_sz
      Src: /src/botan/src/tests/test_tpm2.cpp:397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 401
    functionName: Botan_Tests::test_external_tpm2_context
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - std::make_pair
    - require
    - Botan::TPM2::Session::unauthenticated_session
    - Botan::TPM2::check_rc
    - test_eq_sz
    - Esys_StartAuthSession
    - Botan::out_ptr
    - Botan_Tests::bail_out
    - auto::supports_botan_crypto_backend
    - Botan::RandomNumberGenerator
    - Esys_TRSess_SetAttributes
    - Esys_GetRandom
    - Botan::TPM2::use_botan_crypto_backend
    - Botan_Tests::get_external_tpm2_context
    - Botan::TPM2::supports_botan_crypto_backend
    - Botan::TPM2::Context::create
    - auto::random_vec
    - auto::use_botan_crypto_backend
    - std::move
    - Botan_Tests::Test::new_rng
    - test_eq
    - Esys_SetCryptoCallbacks
    - auto::size
    - auto::get
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_external_tpm2_context()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_tpm2_context
      Src: /src/botan/src/tests/test_tpm2.cpp:404,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:406,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:410,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:410,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:411,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:411,1
    - Dst: handle
      Src: /src/botan/src/tests/test_tpm2.cpp:411,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:412,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:412,1
    - Dst: tpm_nonce
      Src: /src/botan/src/tests/test_tpm2.cpp:412,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:416,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:420,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:420,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:421,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:421,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:422,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:422,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:423,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:423,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:427,1
    - Dst: auto::storage_root_key
      Src: /src/botan/src/tests/test_tpm2.cpp:432,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:433,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:433,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:434,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:434,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:435,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:435,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:436,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:436,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:441,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_tpm2.cpp:443,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:445,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:446,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:447,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_tpm2.cpp:447,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:448,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:448,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:450,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:450,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:451,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:451,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:452,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:454,1
    - Dst: ok
      Src: /src/botan/src/tests/test_tpm2.cpp:455,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 459
    functionName: Botan_Tests::test_tpm2_sessions
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - handle
    - Botan_Tests::CHECK
    - Botan_Tests::get_tpm2_context
    - require
    - Botan_Tests::test_encoding_options
    - tpm_nonce
    - Botan::TPM2::Session::unauthenticated_session
    - Botan::TPM2::Session::authenticated_session
    - confirm
    - Botan_Tests::load_persistent
    - Botan_Tests::bail_out
    - auto::storage_root_key
    - auto::algo_name
    - Botan::fmt
    - auto::handles
    - ok
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_tpm2_sessions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_tpm2_context
      Src: /src/botan/src/tests/test_tpm2.cpp:462,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:464,1
    - Dst: Botan::RandomNumberGenerator
      Src: /src/botan/src/tests/test_tpm2.cpp:467,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:467,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:470,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:472,1
    - Dst: auto::accepts_input
      Src: /src/botan/src/tests/test_tpm2.cpp:472,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:473,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/tests/test_tpm2.cpp:473,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:474,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_tpm2.cpp:474,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tpm2.cpp:476,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_tpm2.cpp:476,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:479,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_tpm2.cpp:482,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:483,1
    - Dst: Botan_Tests::not_zero_64
      Src: /src/botan/src/tests/test_tpm2.cpp:483,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_tpm2.cpp:486,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:487,1
    - Dst: Botan_Tests::not_zero_64
      Src: /src/botan/src/tests/test_tpm2.cpp:487,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_tpm2.cpp:490,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:491,1
    - Dst: Botan_Tests::not_zero_64
      Src: /src/botan/src/tests/test_tpm2.cpp:491,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:494,1
    - Dst: auto::randomize_with_input
      Src: /src/botan/src/tests/test_tpm2.cpp:497,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:498,1
    - Dst: Botan_Tests::not_zero_64
      Src: /src/botan/src/tests/test_tpm2.cpp:498,1
    - Dst: auto::randomize_with_input
      Src: /src/botan/src/tests/test_tpm2.cpp:501,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:502,1
    - Dst: Botan_Tests::not_zero_64
      Src: /src/botan/src/tests/test_tpm2.cpp:502,1
    - Dst: auto::randomize_with_input
      Src: /src/botan/src/tests/test_tpm2.cpp:505,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:506,1
    - Dst: Botan_Tests::not_zero_64
      Src: /src/botan/src/tests/test_tpm2.cpp:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 509
    functionName: Botan_Tests::test_tpm2_rng
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - auto::name
    - Botan_Tests::CHECK
    - Botan_Tests::get_tpm2_context
    - Botan::RandomNumberGenerator
    - Botan::TPM2::Session::unauthenticated_session
    - test_no_throw
    - auto::accepts_input
    - confirm
    - auto::randomize_with_input
    - Botan_Tests::bail_out
    - auto::is_seeded
    - auto::clear
    - Botan_Tests::not_zero_64
    - auto::randomize
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_tpm2_rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:519,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:520,1
    - Dst: find
      Src: /src/botan/src/tests/test_tpm2.cpp:522,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tpm2.cpp:522,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tpm2.cpp:522,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tpm2.cpp:522,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:526,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:528,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:532,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_tpm2.cpp:532,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:533,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ' result'
    - ' ctx'
    - persistent_key_id
    - auth_value
    - ' session'
    argTypes:
    - Test::Result
    - std::shared_ptr<Botan::TPM2::Context>
    - uint32_t
    - std::span<const uint8_t>
    - std::shared_ptr<Botan::TPM2::Session>
    constantsTouched: []
    func_position:
      end: 535
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 535
    functionName: Botan_Tests::load_persistent
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 2
    functionsReached:
    - persistent_handles
    - test_is_eq
    - confirm
    - Botan_Tests::load_persistent
    - auto::begin
    - find
    - auto::algo_name
    - auto::end
    - auto::handles
    - test_eq
    linkageType: ''
    returnType: auto
    signature: "auto load_persistent(Test::Result& result,\n                     const
      std::shared_ptr<Botan::TPM2::Context>& ctx,\n                     uint32_t persistent_key_id,\n
      \                    std::span<const uint8_t> auth_value,\n                     const
      std::shared_ptr<Botan::TPM2::Session>& session)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_tpm2_context
      Src: /src/botan/src/tests/test_tpm2.cpp:538,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:540,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:543,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_tpm2.cpp:545,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_tpm2.cpp:546,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:549,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:551,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:551,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:552,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:552,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:553,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:553,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:554,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:554,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:555,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:555,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:556,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:556,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:557,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:557,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:560,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:564,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:565,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:565,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_tpm2.cpp:565,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:569,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:572,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm2.cpp:580,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_tpm2.cpp:581,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:585,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:586,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:586,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_tpm2.cpp:588,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:590,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:590,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:593,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:597,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:600,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:605,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:607,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:610,1
    - Dst: sign
      Src: /src/botan/src/tests/test_tpm2.cpp:611,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:613,1
    - Dst: verify
      Src: /src/botan/src/tests/test_tpm2.cpp:613,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tpm2.cpp:616,1
    - Dst: Botan_Tests::Test::mutate_vec
      Src: /src/botan/src/tests/test_tpm2.cpp:617,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:618,1
    - Dst: verify
      Src: /src/botan/src/tests/test_tpm2.cpp:618,1
    - Dst: auto::attributes
      Src: /src/botan/src/tests/test_tpm2.cpp:625,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:626,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:629,1
    - Dst: verify
      Src: /src/botan/src/tests/test_tpm2.cpp:629,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:632,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:635,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:636,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:637,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:643,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/tests/test_tpm2.cpp:647,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm2.cpp:647,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_tpm2.cpp:649,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:649,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:655,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm2.cpp:657,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:658,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:658,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:659,1
    - Dst: Botan::RSA_PublicKey::RSA_PublicKey
      Src: /src/botan/src/tests/test_tpm2.cpp:663,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_tpm2.cpp:663,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:663,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm2.cpp:665,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:666,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:666,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:667,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:671,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:673,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:674,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:679,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:680,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:681,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:684,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:686,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:688,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:690,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/tests/test_tpm2.cpp:695,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/tests/test_tpm2.cpp:699,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:700,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:703,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:706,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:708,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_tpm2.cpp:711,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tpm2.cpp:712,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/tests/test_tpm2.cpp:714,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/tests/test_tpm2.cpp:719,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:720,1
    - Dst: Botan_Tests::Test::mutate_vec
      Src: /src/botan/src/tests/test_tpm2.cpp:723,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:724,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/tests/test_tpm2.cpp:725,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:728,1
    - Dst: auto::storage_root_key
      Src: /src/botan/src/tests/test_tpm2.cpp:730,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:731,1
    - Dst: Botan::TPM2::RSA_PrivateKey::create_unrestricted_transient
      Src: /src/botan/src/tests/test_tpm2.cpp:735,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_tpm2.cpp:736,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:738,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tpm2.cpp:741,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/tests/test_tpm2.cpp:743,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/tests/test_tpm2.cpp:748,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:749,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/tests/test_tpm2.cpp:753,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/tests/test_tpm2.cpp:757,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:758,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:761,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:764,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:765,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:766,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:767,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:768,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:771,1
    - Dst: auto::storage_root_key
      Src: /src/botan/src/tests/test_tpm2.cpp:773,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:775,1
    - Dst: Botan::TPM2::RSA_PrivateKey::create_unrestricted_transient
      Src: /src/botan/src/tests/test_tpm2.cpp:780,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:782,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:783,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:783,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:784,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:784,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:786,1
    - Dst: auto::raw_public_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:787,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_tpm2.cpp:788,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:790,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:790,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:791,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:791,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:797,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:798,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:798,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:801,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:801,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_tpm2.cpp:804,1
    - Dst: Botan::TPM2::PrivateKey::load_transient
      Src: /src/botan/src/tests/test_tpm2.cpp:806,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:807,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:808,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_tpm2.cpp:808,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:810,1
    - Dst: auto::raw_public_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:811,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:813,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:814,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:819,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:820,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:820,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:821,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:822,1
    - Dst: Botan::TPM2::PublicKey::load_transient
      Src: /src/botan/src/tests/test_tpm2.cpp:825,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:826,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:829,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:830,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:835,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:836,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:836,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:837,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:838,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:842,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:843,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:846,1
    - Dst: auto::storage_root_key
      Src: /src/botan/src/tests/test_tpm2.cpp:848,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:854,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:855,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:855,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_tpm2.cpp:857,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:859,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:859,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:863,1
    - Dst: Botan::TPM2::RSA_PrivateKey::create_unrestricted_transient
      Src: /src/botan/src/tests/test_tpm2.cpp:867,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:868,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:869,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:869,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:870,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:870,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tpm2.cpp:871,1
    - Dst: sign_verify_roundtrip
      Src: /src/botan/src/tests/test_tpm2.cpp:871,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:874,1
    - Dst: auto::persist
      Src: /src/botan/src/tests/test_tpm2.cpp:875,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:876,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:876,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:877,1
    - Dst: Botan::value_exists
      Src: /src/botan/src/tests/test_tpm2.cpp:877,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:877,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:878,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:878,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:879,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:880,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:881,1
    - Dst: auto::persist
      Src: /src/botan/src/tests/test_tpm2.cpp:882,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:883,1
    - Dst: auto::persist
      Src: /src/botan/src/tests/test_tpm2.cpp:884,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tpm2.cpp:885,1
    - Dst: sign_verify_roundtrip
      Src: /src/botan/src/tests/test_tpm2.cpp:885,1
    - Dst: auto::evict
      Src: /src/botan/src/tests/test_tpm2.cpp:888,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tpm2.cpp:888,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:889,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:889,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:890,1
    - Dst: Botan::value_exists
      Src: /src/botan/src/tests/test_tpm2.cpp:891,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:891,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 113
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 894
      start: 537
    functionDepth: 3
    functionLinenumber: 537
    functionLinenumberEnd: 894
    functionName: Botan_Tests::test_tpm2_rsa
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - std::vector::size
    - Botan_Tests::test_encoding_options
    - require
    - Botan::TPM2::Session::unauthenticated_session
    - Botan::TPM2::Session::authenticated_session
    - auto::raw_public_key_bits
    - confirm
    - Botan_Tests::bail_out
    - auto::storage_root_key
    - Botan::TPM2::RSA_PrivateKey::create_unrestricted_transient
    - auto::supports_algorithm
    - Botan_Tests::get_tpm2_context
    - sign
    - auto::algorithm_identifier
    - auto::raw_private_key_bits
    - Botan_Tests::load_persistent
    - std::vector::reserve
    - static_cast<uint8_t>
    - Botan::hex_decode
    - auto::persist
    - Botan::TPM2::PrivateKey::load_transient
    - verify
    - Botan::PK_Encryptor_EME::encrypt
    - Botan::PK_Decryptor_EME::decrypt
    - test_throws
    - auto::reset
    - std::move
    - auto::algo_name
    - std::vector::emplace_back
    - Botan::PK_Signer::sign_message
    - Botan_Tests::Test::new_rng
    - Botan::RSA_PublicKey::RSA_PublicKey
    - test_eq
    - auto::public_key
    - sign_verify_roundtrip
    - Botan::PK_Verifier::verify_message
    - test_no_throw
    - Botan::value_exists
    - test_is_eq
    - auto::evict
    - auto::public_key_bits
    - auto::private_key_bits
    - auto::attributes
    - Botan::TPM2::PublicKey::load_transient
    - auto::handles
    - Botan::fmt
    - auto::empty
    - auto::persistent_handles
    - Botan_Tests::Test::mutate_vec
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_tpm2_rsa()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:906,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:907,1
    - Dst: find
      Src: /src/botan/src/tests/test_tpm2.cpp:909,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tpm2.cpp:909,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tpm2.cpp:909,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tpm2.cpp:909,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:913,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:915,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:919,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_tpm2.cpp:919,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:920,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:920,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ' result'
    - ' ctx'
    - persistent_key_id
    - auth_value
    - ' session'
    argTypes:
    - Test::Result
    - std::shared_ptr<Botan::TPM2::Context>
    - uint32_t
    - std::span<const uint8_t>
    - std::shared_ptr<Botan::TPM2::Session>
    constantsTouched: []
    func_position:
      end: 922
      start: 900
    functionDepth: 2
    functionLinenumber: 900
    functionLinenumberEnd: 922
    functionName: Botan_Tests::load_persistent_ecc
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - persistent_handles
    - test_is_eq
    - confirm
    - Botan_Tests::load_persistent
    - auto::begin
    - find
    - auto::algo_name
    - auto::end
    - auto::handles
    - test_eq
    linkageType: ''
    returnType: auto
    signature: "auto load_persistent_ecc(Test::Result& result,\n                         const
      std::shared_ptr<Botan::TPM2::Context>& ctx,\n                         uint32_t
      persistent_key_id,\n                         std::span<const uint8_t> auth_value,\n
      \                        const std::shared_ptr<Botan::TPM2::Session>& session)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_tpm2_context
      Src: /src/botan/src/tests/test_tpm2.cpp:926,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:928,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:931,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_tpm2.cpp:933,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_tpm2.cpp:934,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:937,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:939,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:939,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:940,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:940,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:942,1
    - Dst: Botan_Tests::load_persistent_ecc
      Src: /src/botan/src/tests/test_tpm2.cpp:945,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:947,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:947,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_tpm2.cpp:947,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:950,1
    - Dst: Botan_Tests::load_persistent_ecc
      Src: /src/botan/src/tests/test_tpm2.cpp:953,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm2.cpp:961,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_tpm2.cpp:962,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:966,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:967,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:967,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_tpm2.cpp:969,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:971,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:971,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:973,1
    - Dst: Botan_Tests::load_persistent_ecc
      Src: /src/botan/src/tests/test_tpm2.cpp:976,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:980,1
    - Dst: Botan_Tests::load_persistent_ecc
      Src: /src/botan/src/tests/test_tpm2.cpp:984,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:987,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:990,1
    - Dst: sign
      Src: /src/botan/src/tests/test_tpm2.cpp:991,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:993,1
    - Dst: verify
      Src: /src/botan/src/tests/test_tpm2.cpp:993,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tpm2.cpp:996,1
    - Dst: Botan_Tests::Test::mutate_vec
      Src: /src/botan/src/tests/test_tpm2.cpp:997,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:998,1
    - Dst: verify
      Src: /src/botan/src/tests/test_tpm2.cpp:998,1
    - Dst: auto::attributes
      Src: /src/botan/src/tests/test_tpm2.cpp:1005,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1006,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1009,1
    - Dst: verify
      Src: /src/botan/src/tests/test_tpm2.cpp:1009,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1012,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:1015,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:1016,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:1017,1
    - Dst: Botan_Tests::load_persistent_ecc
      Src: /src/botan/src/tests/test_tpm2.cpp:1022,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/tests/test_tpm2.cpp:1027,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm2.cpp:1027,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_tpm2.cpp:1029,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1029,1
    - Dst: Botan_Tests::load_persistent_ecc
      Src: /src/botan/src/tests/test_tpm2.cpp:1036,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm2.cpp:1038,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1039,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:1039,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1040,1
    - Dst: Botan_Tests::load_persistent_ecc
      Src: /src/botan/src/tests/test_tpm2.cpp:1045,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm2.cpp:1048,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1049,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:1049,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1050,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1054,1
    - Dst: Botan_Tests::load_persistent_ecc
      Src: /src/botan/src/tests/test_tpm2.cpp:1056,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:1057,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:1062,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:1063,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1064,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1069,1
    - Dst: auto::storage_root_key
      Src: /src/botan/src/tests/test_tpm2.cpp:1071,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:1073,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:1074,1
    - Dst: Botan::TPM2::EC_PrivateKey::create_unrestricted_transient
      Src: /src/botan/src/tests/test_tpm2.cpp:1077,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_tpm2.cpp:1078,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_tpm2.cpp:1079,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:1081,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm2.cpp:1089,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_tpm2.cpp:1090,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1094,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1095,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:1095,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_tpm2.cpp:1097,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1099,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1099,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1102,1
    - Dst: auto::storage_root_key
      Src: /src/botan/src/tests/test_tpm2.cpp:1104,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:1106,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:1108,1
    - Dst: Botan::TPM2::EC_PrivateKey::create_unrestricted_transient
      Src: /src/botan/src/tests/test_tpm2.cpp:1112,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_tpm2.cpp:1113,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1115,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1116,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1116,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1117,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1117,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:1119,1
    - Dst: auto::raw_public_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:1120,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_tpm2.cpp:1121,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1123,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:1123,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1124,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:1124,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1130,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1131,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:1131,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1134,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1134,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_tpm2.cpp:1137,1
    - Dst: Botan::TPM2::PrivateKey::load_transient
      Src: /src/botan/src/tests/test_tpm2.cpp:1139,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1140,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1141,1
    - Dst: auto::algo_name
      Src: /src/botan/src/tests/test_tpm2.cpp:1141,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:1143,1
    - Dst: auto::raw_public_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:1144,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1146,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1147,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1152,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1153,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:1153,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1154,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1155,1
    - Dst: Botan::TPM2::PublicKey::load_transient
      Src: /src/botan/src/tests/test_tpm2.cpp:1158,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1159,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1162,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1163,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1166,1
    - Dst: auto::storage_root_key
      Src: /src/botan/src/tests/test_tpm2.cpp:1169,1
    - Dst: Botan_Tests::load_persistent
      Src: /src/botan/src/tests/test_tpm2.cpp:1170,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1176,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1177,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tpm2.cpp:1177,1
    - Dst: auto::public_key
      Src: /src/botan/src/tests/test_tpm2.cpp:1179,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1181,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_tpm2.cpp:1181,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:1185,1
    - Dst: Botan::TPM2::EC_PrivateKey::create_unrestricted_transient
      Src: /src/botan/src/tests/test_tpm2.cpp:1188,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_tpm2.cpp:1189,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1190,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1191,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1191,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1192,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1192,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tpm2.cpp:1193,1
    - Dst: sign_verify_roundtrip
      Src: /src/botan/src/tests/test_tpm2.cpp:1193,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1196,1
    - Dst: auto::persist
      Src: /src/botan/src/tests/test_tpm2.cpp:1197,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1198,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1198,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1199,1
    - Dst: Botan::value_exists
      Src: /src/botan/src/tests/test_tpm2.cpp:1199,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1199,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1200,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1200,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1201,1
    - Dst: auto::handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1202,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:1203,1
    - Dst: auto::persist
      Src: /src/botan/src/tests/test_tpm2.cpp:1204,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:1205,1
    - Dst: auto::persist
      Src: /src/botan/src/tests/test_tpm2.cpp:1206,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tpm2.cpp:1207,1
    - Dst: sign_verify_roundtrip
      Src: /src/botan/src/tests/test_tpm2.cpp:1207,1
    - Dst: auto::evict
      Src: /src/botan/src/tests/test_tpm2.cpp:1210,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tpm2.cpp:1210,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1211,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1211,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1212,1
    - Dst: Botan::value_exists
      Src: /src/botan/src/tests/test_tpm2.cpp:1213,1
    - Dst: auto::persistent_handles
      Src: /src/botan/src/tests/test_tpm2.cpp:1213,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1217,1
    - Dst: Botan_Tests::load_persistent_ecc
      Src: /src/botan/src/tests/test_tpm2.cpp:1218,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tpm2.cpp:1219,1
    - Dst: Botan::ECDSA_PublicKey
      Src: /src/botan/src/tests/test_tpm2.cpp:1220,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_tpm2.cpp:1220,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:1220,1
    - Dst: Botan_Tests::load_persistent_ecc
      Src: /src/botan/src/tests/test_tpm2.cpp:1224,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_tpm2.cpp:1225,1
    - Dst: Botan::ECDSA_PublicKey
      Src: /src/botan/src/tests/test_tpm2.cpp:1226,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/tests/test_tpm2.cpp:1226,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_tpm2.cpp:1226,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 924
    functionDepth: 3
    functionLinenumber: 924
    functionLinenumberEnd: 1230
    functionName: Botan_Tests::test_tpm2_ecc
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - std::vector::size
    - Botan_Tests::test_encoding_options
    - require
    - Botan::TPM2::Session::unauthenticated_session
    - Botan::TPM2::Session::authenticated_session
    - auto::raw_public_key_bits
    - confirm
    - Botan_Tests::bail_out
    - auto::storage_root_key
    - auto::supports_algorithm
    - Botan_Tests::get_tpm2_context
    - sign
    - auto::algorithm_identifier
    - auto::raw_private_key_bits
    - Botan_Tests::load_persistent
    - std::vector::reserve
    - static_cast<uint8_t>
    - Botan::hex_decode
    - auto::persist
    - Botan::TPM2::PrivateKey::load_transient
    - verify
    - test_throws
    - auto::reset
    - std::move
    - auto::algo_name
    - std::vector::emplace_back
    - Botan::PK_Signer::sign_message
    - Botan_Tests::Test::new_rng
    - test_eq
    - auto::public_key
    - sign_verify_roundtrip
    - Botan_Tests::load_persistent_ecc
    - Botan::TPM2::EC_PrivateKey::create_unrestricted_transient
    - Botan::PK_Verifier::verify_message
    - test_no_throw
    - Botan::value_exists
    - test_is_eq
    - auto::evict
    - auto::public_key_bits
    - Botan::ECDSA_PublicKey
    - auto::attributes
    - Botan::TPM2::PublicKey::load_transient
    - auto::handles
    - Botan::EC_Group::from_name
    - Botan::fmt
    - auto::empty
    - auto::persistent_handles
    - Botan_Tests::Test::mutate_vec
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_tpm2_ecc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_tpm2_context
      Src: /src/botan/src/tests/test_tpm2.cpp:1234,1
    - Dst: Botan_Tests::bail_out
      Src: /src/botan/src/tests/test_tpm2.cpp:1236,1
    - Dst: std::make_unique<Botan::TPM2::HashFunction>
      Src: /src/botan/src/tests/test_tpm2.cpp:1242,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:1243,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_tpm2.cpp:1248,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_tpm2.cpp:1251,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:1251,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_tpm2.cpp:1256,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tpm2.cpp:1256,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1260,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_tpm2.cpp:1260,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_tpm2.cpp:1260,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1261,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_tpm2.cpp:1261,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_tpm2.cpp:1261,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_tpm2.cpp:1264,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_tpm2.cpp:1265,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1266,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_tpm2.cpp:1266,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_tpm2.cpp:1266,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1269,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_tpm2.cpp:1269,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_tpm2.cpp:1269,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tpm2.cpp:1274,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_tpm2.cpp:1275,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_tpm2.cpp:1280,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1281,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_tpm2.cpp:1281,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_tpm2.cpp:1281,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1282,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_tpm2.cpp:1283,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_tpm2.cpp:1283,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_tpm2.cpp:1286,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_tpm2.cpp:1287,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_tpm2.cpp:1288,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1289,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_tpm2.cpp:1289,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_tpm2.cpp:1289,1
    - Dst: auto::new_object
      Src: /src/botan/src/tests/test_tpm2.cpp:1292,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1293,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_tpm2.cpp:1293,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_tpm2.cpp:1293,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1294,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_tpm2.cpp:1294,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_tpm2.cpp:1294,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1295,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_tpm2.cpp:1296,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_tpm2.cpp:1297,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1301,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1303,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:1303,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1304,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:1304,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1305,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:1305,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1306,1
    - Dst: auto::supports_algorithm
      Src: /src/botan/src/tests/test_tpm2.cpp:1306,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1309,1
    - Dst: test
      Src: /src/botan/src/tests/test_tpm2.cpp:1309,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1310,1
    - Dst: test
      Src: /src/botan/src/tests/test_tpm2.cpp:1310,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1311,1
    - Dst: test
      Src: /src/botan/src/tests/test_tpm2.cpp:1311,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1312,1
    - Dst: test
      Src: /src/botan/src/tests/test_tpm2.cpp:1312,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1313,1
    - Dst: test
      Src: /src/botan/src/tests/test_tpm2.cpp:1313,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1314,1
    - Dst: test
      Src: /src/botan/src/tests/test_tpm2.cpp:1314,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1315,1
    - Dst: test
      Src: /src/botan/src/tests/test_tpm2.cpp:1315,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1317,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:1319,1
    - Dst: Botan_CLI::PerfTest_HashFunction::PerfTest_HashFunction
      Src: /src/botan/src/tests/test_tpm2.cpp:1320,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1323,1
    - Dst: Botan_CLI::PerfTest_HashFunction::PerfTest_HashFunction
      Src: /src/botan/src/tests/test_tpm2.cpp:1325,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_tpm2.cpp:1326,1
    - Dst: auto::copy_state
      Src: /src/botan/src/tests/test_tpm2.cpp:1327,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_tpm2.cpp:1330,1
    - Dst: Botan_CLI::PerfTest_HashFunction::PerfTest_HashFunction
      Src: /src/botan/src/tests/test_tpm2.cpp:1333,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:1334,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_tpm2.cpp:1335,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1337,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1338,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1339,1
    - Dst: Botan_CLI::PerfTest_HashFunction::PerfTest_HashFunction
      Src: /src/botan/src/tests/test_tpm2.cpp:1342,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/tests/test_tpm2.cpp:1343,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_tpm2.cpp:1344,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1346,1
    - Dst: require
      Src: /src/botan/src/tests/test_tpm2.cpp:1347,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tpm2.cpp:1348,1
    - Dst: Botan::TPM2::copy_into<Botan::secure_vector<uint8_t>>
      Src: /src/botan/src/tests/test_tpm2.cpp:1350,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1351,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_tpm2.cpp:1353,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tpm2.cpp:1355,1
    - Dst: Botan::TPM2::copy_into<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_tpm2.cpp:1356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1233
    functionDepth: 3
    functionLinenumber: 1233
    functionLinenumberEnd: 1360
    functionName: Botan_Tests::test_tpm2_hash
    functionSourceFile: /src/botan/src/tests/test_tpm2.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::TPM2::HashFunction>
    - Botan_Tests::CHECK
    - std::vector::size
    - require
    - Botan::TPM2::Session::unauthenticated_session
    - confirm
    - Botan_Tests::bail_out
    - auto::supports_algorithm
    - auto::process
    - auto::name
    - Botan_Tests::get_tpm2_context
    - auto::update
    - test_note
    - static_cast<uint8_t>
    - test
    - Botan::hex_decode
    - auto::new_object
    - Botan_CLI::PerfTest_HashFunction::PerfTest_HashFunction
    - test_throws
    - test_eq
    - auto::final
    - auto::copy_state
    - auto::output_length
    - Botan::HashFunction::create
    - auto::clear
    - Botan::fmt
    - Botan::TPM2::copy_into<std::vector<uint8_t>>
    - Botan::TPM2::copy_into<Botan::secure_vector<uint8_t>>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_tpm2_hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_octetstring.cpp:20,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:23,1
    - Dst: Botan::OctetString::size
      Src: /src/botan/src/tests/test_octetstring.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 26
    functionName: Botan_Tests::test_from_rng
    functionSourceFile: /src/botan/src/tests/test_octetstring.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan_Tests::Test::new_rng
    - Botan::OctetString::size
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_from_rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:32,1
    - Dst: Botan::OctetString::size
      Src: /src/botan/src/tests/test_octetstring.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: Botan_Tests::test_from_hex
    functionSourceFile: /src/botan/src/tests/test_octetstring.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan::OctetString::size
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_from_hex()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_octetstring.cpp:40,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_octetstring.cpp:41,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_octetstring.cpp:42,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_octetstring.cpp:42,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:43,1
    - Dst: Botan::OctetString::size
      Src: /src/botan/src/tests/test_octetstring.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: Botan_Tests::test_from_byte
    functionSourceFile: /src/botan/src/tests/test_octetstring.cpp
    functionUses: 0
    functionsReached:
    - auto::random_vec
    - auto::data
    - auto::size
    - Test::Result::test_eq
    - Botan_Tests::Test::new_rng
    - Botan::OctetString::size
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_from_byte()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OctetString::set_odd_parity
      Src: /src/botan/src/tests/test_octetstring.cpp:52,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:54,1
    - Dst: Botan::OctetString::set_odd_parity
      Src: /src/botan/src/tests/test_octetstring.cpp:57,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: Botan_Tests::test_odd_parity
    functionSourceFile: /src/botan/src/tests/test_octetstring.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan::OctetString::set_odd_parity
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_odd_parity()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:68,1
    - Dst: Botan::OctetString::to_string
      Src: /src/botan/src/tests/test_octetstring.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: Botan_Tests::test_to_string
    functionSourceFile: /src/botan/src/tests/test_octetstring.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan::OctetString::to_string
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_to_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:80,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:84,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:87,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 95
    functionName: Botan_Tests::test_xor
    functionSourceFile: /src/botan/src/tests/test_octetstring.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_xor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_octetstring.cpp:105,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_octetstring.cpp:106,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_octetstring.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: Botan_Tests::test_equality
    functionSourceFile: /src/botan/src/tests/test_octetstring.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::confirm
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_equality()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_octetstring.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: Botan_Tests::test_append
    functionSourceFile: /src/botan/src/tests/test_octetstring.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_append()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_octetstring.cpp:140,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_octetstring.cpp:142,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_octetstring.cpp:144,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/test_octetstring.cpp:144,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_octetstring.cpp:144,1
    - Dst: what
      Src: /src/botan/src/tests/test_octetstring.cpp:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 149
    functionName: Botan_Tests::OctetString_Tests::run
    functionSourceFile: /src/botan/src/tests/test_octetstring.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::Failure
    - std::vector::size
    - what
    - std::to_string
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::pkcs11_lib
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:37,1
    - Dst: Botan::PKCS11::LowLevel::C_GetFunctionList
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:43,1
    - Dst: std::make_unique<LowLevel>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:44,1
    - Dst: static_cast<CK_FLAGS>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:47,1
    - Dst: C_Initialize
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: Botan_Tests::RAII_LowLevel::RAII_LowLevel
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::LowLevel::C_GetFunctionList
    - static_cast<CK_FLAGS>
    - std::make_unique<LowLevel>
    - C_Initialize
    - Test::pkcs11_lib
    linkageType: ''
    returnType: void
    signature: void RAII_LowLevel()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_Logout
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:56,1
    - Dst: C_CloseSession
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:59,1
    - Dst: C_Finalize
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: ~RAII_LowLevel() noexcept
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - C_CloseSession
    - C_Logout
    - C_Finalize
    linkageType: ''
    returnType: void
    signature: void ~RAII_LowLevel() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RAII_LowLevel
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: Botan_Tests::RAII_LowLevel::RAII_LowLevel
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RAII_LowLevel(const RAII_LowLevel& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RAII_LowLevel
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan_Tests::RAII_LowLevel::RAII_LowLevel
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RAII_LowLevel(RAII_LowLevel&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RAII_LowLevel
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '& operator=(const RAII_LowLevel& other)'
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RAII_LowLevel
    signature: RAII_LowLevel & operator=(const RAII_LowLevel& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RAII_LowLevel
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& operator=(RAII_LowLevel&& other)'
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RAII_LowLevel
    signature: RAII_LowLevel & operator=(RAII_LowLevel&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_GetSlotList
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:74,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:76,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - token_present
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: Botan_Tests::RAII_LowLevel::get_slots
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - C_GetSlotList
    - Test_Error
    - std::vector::empty
    linkageType: ''
    returnType: std::vector<SlotId>
    signature: std::vector<SlotId> get_slots(bool token_present) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::RAII_LowLevel::get_slots
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:84,1
    - Dst: C_OpenSession
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:85,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - session_flags
    argTypes:
    - Flags
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: Botan_Tests::RAII_LowLevel::open_session
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - C_OpenSession
    - std::vector::at
    - Botan_Tests::RAII_LowLevel::get_slots
    linkageType: ''
    returnType: SessionHandle
    signature: SessionHandle open_session(Flags session_flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:91,1
    - Dst: Botan_Tests::RAII_LowLevel::open_session
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:92,1
    - Dst: Botan_Tests::RAII_LowLevel::login
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:93,1
    - Dst: PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: Botan_Tests::RAII_LowLevel::open_rw_session_with_user_login
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::RAII_LowLevel::open_session
    - PIN
    - Botan::PKCS11::flags
    - Botan_Tests::RAII_LowLevel::login
    linkageType: ''
    returnType: SessionHandle
    signature: SessionHandle open_rw_session_with_user_login()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: Botan_Tests::RAII_LowLevel::get_session_handle
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Test_Error
    linkageType: ''
    returnType: SessionHandle
    signature: SessionHandle get_session_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:106,1
    - Dst: C_CloseSession
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: Botan_Tests::RAII_LowLevel::close_session
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Test_Error
    - C_CloseSession
    linkageType: ''
    returnType: void
    signature: void close_session()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:115,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:119,1
    - Dst: C_Login
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - user_type
    - ' pin'
    argTypes:
    - UserType
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: Botan_Tests::RAII_LowLevel::login
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 1
    functionsReached:
    - Test_Error
    - C_Login
    linkageType: ''
    returnType: void
    signature: void login(UserType user_type, const secure_vector<uint8_t>& pin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:128,1
    - Dst: C_Logout
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: Botan_Tests::RAII_LowLevel::logout
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Test_Error
    - C_Logout
    linkageType: ''
    returnType: void
    signature: void logout()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Botan_Tests::RAII_LowLevel::get
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::RAII_LowLevel::get
    linkageType: ''
    returnType: LowLevel
    signature: LowLevel * get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: Botan_Tests::no_op
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool no_op(ReturnValue* /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:160,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:165,1
    - Dst: test_func
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:165,1
    - Dst: test_func
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:167,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:168,1
    - Dst: empty
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:170,1
    - Dst: revert_func
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:171,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:172,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:178,1
    - Dst: empty
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:179,1
    - Dst: revert_func
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:180,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:181,1
    - Dst: test_func
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:186,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:187,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:189,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:189,1
    - Dst: Test::Result::test_rc_fail
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:191,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:192,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:192,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:193,1
    - Dst: empty
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:196,1
    - Dst: revert_func
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:197,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:198,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:199,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:199,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 6
    argNames:
    - ' name'
    - ' test_func'
    - ' revert_fn_name'
    - ' revert_func'
    - expect_failure
    - expected_return_value
    argTypes:
    - std::string
    - PKCS11_BoundTestFunction
    - std::string
    - PKCS11_BoundTestFunction
    - bool
    - ReturnValue
    constantsTouched: []
    func_position:
      end: 203
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 203
    functionName: Botan_Tests::test_function
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_rc_fail
    - Test::Result::test_throws
    - revert_func
    - static_cast<uint32_t>
    - std::to_string
    - empty
    - Test::Result::test_rc_ok
    - Test::Result::test_eq
    - test_func
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_function(const std::string& name,\n                           const
      PKCS11_BoundTestFunction& test_func,\n                           const std::string&
      revert_fn_name,\n                           const PKCS11_BoundTestFunction&
      revert_func,\n                           bool expect_failure,\n                           ReturnValue
      expected_return_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:209,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' name'
    - ' test_func'
    - expect_failure
    - expected_return_value
    argTypes:
    - std::string
    - PKCS11_BoundTestFunction
    - bool
    - ReturnValue
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: Botan_Tests::test_function
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::test_function
    - std::string
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_function(const std::string& name,\n                           const
      PKCS11_BoundTestFunction& test_func,\n                           bool expect_failure,\n
      \                          ReturnValue expected_return_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:213,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - ' test_func'
    argTypes:
    - std::string
    - PKCS11_BoundTestFunction
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: Botan_Tests::test_function
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 2
    functionsReached:
    - Botan_Tests::test_function
    - std::string
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_function(const std::string& name, const PKCS11_BoundTestFunction&
      test_func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' name'
    - ' test_func'
    - ' revert_fn_name'
    - ' revert_func'
    argTypes:
    - std::string
    - PKCS11_BoundTestFunction
    - std::string
    - PKCS11_BoundTestFunction
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: Botan_Tests::test_function
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 3
    functionsReached:
    - Botan_Tests::test_function
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_function(const std::string& name,\n                           const
      PKCS11_BoundTestFunction& test_func,\n                           const std::string&
      revert_fn_name,\n                           const PKCS11_BoundTestFunction&
      revert_func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::C_GetFunctionList
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:228,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:231,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 237
    functionName: Botan_Tests::test_low_level_ctor
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::LowLevel::C_GetFunctionList
    - Test::Result::test_throws
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_low_level_ctor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:242,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:244,1
    - Dst: std::ref
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: Botan_Tests::test_c_get_function_list
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - std::ref
    - Botan_Tests::test_function
    - std::bind
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_get_function_list()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::C_GetFunctionList
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:250,1
    - Dst: static_cast<CK_FLAGS>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:255,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:257,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:258,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 260
    functionName: Botan_Tests::test_initialize_finalize
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::LowLevel::C_GetFunctionList
    - static_cast<CK_FLAGS>
    - std::bind
    - Botan_Tests::test_function
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_initialize_finalize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:267,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:267,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:267,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: Botan_Tests::test_c_get_info
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_function
    - RAII_LowLevel::get
    - Test::Result::test_ne
    - std::bind
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_get_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:280,1
    - Dst: static_cast<bool (LowLevel::*)(bool, std::vector<SlotId>&, ReturnValue*)
        const>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:281,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:282,1
    - Dst: std::ref
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:284,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:287,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:288,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:288,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:292,1
    - Dst: static_cast<bool (LowLevel::*)(bool, std::vector<SlotId>&, ReturnValue*)
        const>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:293,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:294,1
    - Dst: std::ref
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:296,1
    - Dst: std::vector::clear
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:299,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:300,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:300,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:301,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 304
    functionName: Botan_Tests::test_c_get_slot_list
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_function
    - std::vector::size
    - Test::Result::test_ne
    - std::bind
    - std::ref
    - std::vector::clear
    - Test::Result::merge
    - RAII_LowLevel::get
    - static_cast<bool (LowLevel::*)(bool, std::vector<SlotId>&, ReturnValue*) const>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_get_slot_list()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::get_slots
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:308,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:311,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:313,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:313,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:313,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:315,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:316,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 319
    functionName: Botan_Tests::test_c_get_slot_info
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_function
    - std::string::size
    - RAII_LowLevel::get_slots
    - std::bind
    - Test::Result::test_ne
    - RAII_LowLevel::get
    - std::vector::at
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_get_slot_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::get_slots
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:323,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:326,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:328,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:328,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:328,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:330,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:331,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 334
    functionName: Botan_Tests::test_c_get_token_info
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_function
    - std::string::size
    - RAII_LowLevel::get_slots
    - std::bind
    - Test::Result::test_ne
    - RAII_LowLevel::get
    - std::vector::at
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_get_token_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:339,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:342,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:344,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: Botan_Tests::test_c_wait_for_slot_event
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_function
    - RAII_LowLevel::get
    - Botan::PKCS11::flags
    - std::bind
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_wait_for_slot_event()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::get_slots
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:351,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:355,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:357,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:358,1
    - Dst: std::ref
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:359,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:362,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:363,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 366
    functionName: Botan_Tests::test_c_get_mechanism_list
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_function
    - RAII_LowLevel::get_slots
    - std::bind
    - std::vector::empty
    - std::ref
    - Test::Result::confirm
    - RAII_LowLevel::get
    - std::vector::at
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_get_mechanism_list()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::get_slots
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:370,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:373,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:373,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:376,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:377,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:378,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:379,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 383
    functionName: Botan_Tests::test_c_get_mechanism_info
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_function
    - RAII_LowLevel::get_slots
    - std::bind
    - RAII_LowLevel::get
    - std::vector::at
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_get_mechanism_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::get_slots
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:387,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:392,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:395,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:396,1
    - Dst: Botan_Tests::SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:397,1
    - Dst: std::ref
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:398,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 402
    functionName: Botan_Tests::test_c_init_token
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_function
    - RAII_LowLevel::get_slots
    - std::bind
    - std::ref
    - RAII_LowLevel::get
    - std::vector::at
    - Botan_Tests::SO_PIN
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_init_token()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::get_slots
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:406,1
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:409,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:412,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:413,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:414,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:422,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:422,1
    - Dst: std::ref
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:422,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:424,1
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:427,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:429,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:430,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:431,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:438,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 441
    functionName: Botan_Tests::test_open_close_session
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_function
    - Botan::PKCS11::flags
    - RAII_LowLevel::get_slots
    - std::bind
    - std::ref
    - Test::Result::merge
    - RAII_LowLevel::get
    - std::vector::at
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_open_close_session()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::get_slots
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:445,1
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:449,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:452,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:452,1
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:454,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:455,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:455,1
    - Dst: open_two_sessions
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:458,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:463,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:463,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:464,1
    - Dst: open_two_sessions
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:467,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:470,1
    - Dst: open_two_sessions
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:473,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:476,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:476,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:477,1
    - Dst: Test::Result::test_rc_ok
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:478,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 481
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 481
    functionName: Botan_Tests::test_c_close_all_sessions
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::flags
    - RAII_LowLevel::get_slots
    - static_cast<uint32_t>
    - open_two_sessions
    - RAII_LowLevel::get
    - Test::Result::test_rc_ok
    - Test::Result::test_eq
    - std::vector::at
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_close_all_sessions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::get_slots
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:485,1
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:488,1
    - Dst: RAII_LowLevel::open_session
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:489,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:492,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:494,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:495,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:497,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:498,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:499,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:500,1
    - Dst: static_cast<CK_FLAGS>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 504
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 504
    functionName: Botan_Tests::test_c_get_session_info
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - RAII_LowLevel::open_session
    - Botan_Tests::test_function
    - Botan::PKCS11::flags
    - RAII_LowLevel::get_slots
    - std::bind
    - Test::Result::confirm
    - RAII_LowLevel::get
    - std::vector::at
    - static_cast<CK_FLAGS>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_get_session_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:510,1
    - Dst: end
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:510,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:512,1
    - Dst: get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:515,1
    - Dst: std::ref
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:518,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:522,1
    - Dst: get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:523,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p11_low_level'
    - handle
    - user_type
    - ' pin'
    argTypes:
    - RAII_LowLevel
    - SessionHandle
    - UserType
    - std::string
    constantsTouched: []
    func_position:
      end: 528
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 528
    functionName: Botan_Tests::login_logout_helper
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_function
    - std::bind
    - std::ref
    - begin
    - end
    - get
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result login_logout_helper(const RAII_LowLevel& p11_low_level,\n
      \                                SessionHandle handle,\n                                 UserType
      user_type,\n                                 const std::string& pin)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:534,1
    - Dst: RAII_LowLevel::open_session
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:535,1
    - Dst: Botan_Tests::login_logout_helper
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 538
    functionName: Botan_Tests::test_c_login_logout_security_officier
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::login_logout_helper
    - RAII_LowLevel::open_session
    - Botan::PKCS11::flags
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_login_logout_security_officier()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:544,1
    - Dst: RAII_LowLevel::open_session
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:545,1
    - Dst: Botan_Tests::login_logout_helper
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:546,1
    - Dst: RAII_LowLevel::close_session
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:547,1
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:550,1
    - Dst: RAII_LowLevel::open_session
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:551,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:553,1
    - Dst: Botan_Tests::login_logout_helper
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 556
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 556
    functionName: Botan_Tests::test_c_login_logout_user
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - RAII_LowLevel::open_session
    - Botan::PKCS11::flags
    - Botan_Tests::login_logout_helper
    - Test::Result::merge
    - RAII_LowLevel::close_session
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_login_logout_user()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:562,1
    - Dst: RAII_LowLevel::open_session
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:563,1
    - Dst: RAII_LowLevel::login
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:565,1
    - Dst: Botan_Tests::SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:565,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:568,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:570,1
    - Dst: Botan_Tests::PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:572,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 558
    functionDepth: 2
    functionLinenumber: 558
    functionLinenumberEnd: 576
    functionName: Botan_Tests::test_c_init_pin
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - RAII_LowLevel::login
    - RAII_LowLevel::open_session
    - Botan::PKCS11::flags
    - Botan_Tests::test_function
    - std::bind
    - RAII_LowLevel::get
    - Botan_Tests::PIN
    - Botan_Tests::SO_PIN
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_init_pin()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:582,1
    - Dst: RAII_LowLevel::open_session
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:583,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:590,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:594,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:602,1
    - Dst: std::string::begin
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:602,1
    - Dst: std::string::end
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:602,1
    - Dst: get_pin_bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:604,1
    - Dst: Botan_Tests::PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:604,1
    - Dst: get_pin_bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:605,1
    - Dst: Botan_Tests::PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:605,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:607,1
    - Dst: RAII_LowLevel::login
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:610,1
    - Dst: Botan_Tests::PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:610,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:612,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:612,1
    - Dst: RAII_LowLevel::logout
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:613,1
    - Dst: std::string::begin
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:617,1
    - Dst: std::string::end
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:617,1
    - Dst: RAII_LowLevel::login
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:618,1
    - Dst: Botan_Tests::SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:618,1
    - Dst: get_pin_bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:620,1
    - Dst: Botan_Tests::SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:620,1
    - Dst: get_pin_bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:621,1
    - Dst: Botan_Tests::SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:621,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:623,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 626
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 626
    functionName: Botan_Tests::test_c_set_pin
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - RAII_LowLevel::open_session
    - Botan_Tests::test_function
    - Botan::PKCS11::flags
    - RAII_LowLevel::login
    - std::bind
    - get_pin_bind
    - Test::Result::merge
    - Botan_Tests::SO_PIN
    - RAII_LowLevel::get
    - Botan_Tests::PIN
    - std::string::begin
    - RAII_LowLevel::logout
    - std::string::end
    - secure_vector<uint8_t>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_set_pin()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:650,1
    - Dst: get_session_handle
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:651,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:651,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:651,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p11_low_level'
    argTypes:
    - RAII_LowLevel
    constantsTouched: []
    func_position:
      end: 653
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 653
    functionName: Botan_Tests::create_simple_data_object
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - get_session_handle
    - get
    - auto::data
    - auto::size
    - static_cast<Ulong>
    linkageType: ''
    returnType: ObjectHandle
    signature: ObjectHandle create_simple_data_object(const RAII_LowLevel& p11_low_level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::open_rw_session_with_user_login
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:657,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:663,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:664,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:666,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:667,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:667,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:671,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:672,1
    - Dst: std::ref
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:672,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 675
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 675
    functionName: Botan_Tests::test_c_create_object_c_destroy_object
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_function
    - std::bind
    - std::ref
    - RAII_LowLevel::get
    - auto::data
    - auto::size
    - static_cast<Ulong>
    - RAII_LowLevel::open_rw_session_with_user_login
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_create_object_c_destroy_object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:680,1
    - Dst: RAII_LowLevel::open_session
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:681,1
    - Dst: RAII_LowLevel::login
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:683,1
    - Dst: Botan_Tests::PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:683,1
    - Dst: Botan_Tests::create_simple_data_object
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:685,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:688,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:689,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:695,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:696,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 702
      start: 677
    functionDepth: 2
    functionLinenumber: 677
    functionLinenumberEnd: 702
    functionName: Botan_Tests::test_c_get_object_size
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - RAII_LowLevel::login
    - RAII_LowLevel::open_session
    - Botan::PKCS11::flags
    - Botan_Tests::create_simple_data_object
    - Botan_Tests::test_function
    - std::bind
    - Test::Result::test_ne
    - RAII_LowLevel::get
    - Botan_Tests::PIN
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_get_object_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::open_rw_session_with_user_login
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:706,1
    - Dst: Botan_Tests::create_simple_data_object
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:708,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:710,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:711,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:714,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:717,1
    - Dst: std::ref
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:720,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:723,1
    - Dst: begin
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:725,1
    - Dst: end
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:725,1
    - Dst: begin
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:726,1
    - Dst: end
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:726,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:727,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:728,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 734
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 734
    functionName: Botan_Tests::test_c_get_attribute_value
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_function
    - Botan_Tests::create_simple_data_object
    - std::bind
    - std::ref
    - begin
    - end
    - RAII_LowLevel::get
    - Test::Result::test_eq
    - RAII_LowLevel::open_rw_session_with_user_login
    - secure_vector<uint8_t>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_get_attribute_value()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::map::emplace
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:743,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:743,1
    - Dst: get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' p11_low_level'
    - session_handle
    - object_handle
    - ' attribute_types'
    argTypes:
    - RAII_LowLevel
    - SessionHandle
    - ObjectHandle
    - std::vector<AttributeType>
    constantsTouched: []
    func_position:
      end: 749
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 749
    functionName: Botan_Tests::get_attribute_values
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - std::map::emplace
    - std::vector<uint8_t>
    - get
    linkageType: ''
    returnType: std::map<AttributeType, std::vector<uint8_t>>
    signature: "std::map<AttributeType, std::vector<uint8_t>> get_attribute_values(const
      RAII_LowLevel& p11_low_level,\n                                                                   SessionHandle
      session_handle,\n                                                                   ObjectHandle
      object_handle,\n                                                                   const
      std::vector<AttributeType>& attribute_types)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:754,1
    - Dst: RAII_LowLevel::open_session
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:755,1
    - Dst: RAII_LowLevel::login
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:757,1
    - Dst: Botan_Tests::PIN
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:757,1
    - Dst: Botan_Tests::create_simple_data_object
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:759,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:764,1
    - Dst: std::string::begin
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:764,1
    - Dst: std::string::end
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:764,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:767,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:770,1
    - Dst: std::ref
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:773,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:776,1
    - Dst: Botan_Tests::get_attribute_values
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:780,1
    - Dst: begin
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:782,1
    - Dst: end
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:783,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:785,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 791
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 791
    functionName: Botan_Tests::test_c_set_attribute_value
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - RAII_LowLevel::login
    - RAII_LowLevel::open_session
    - Botan::PKCS11::flags
    - Botan_Tests::create_simple_data_object
    - Botan_Tests::test_function
    - std::bind
    - std::ref
    - begin
    - end
    - RAII_LowLevel::get
    - Botan_Tests::PIN
    - std::string::begin
    - Test::Result::test_eq
    - Botan_Tests::get_attribute_values
    - std::string::end
    - secure_vector<uint8_t>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_set_attribute_value()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAII_LowLevel::open_rw_session_with_user_login
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:795,1
    - Dst: Botan_Tests::create_simple_data_object
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:797,1
    - Dst: static_cast<CK_ATTRIBUTE_TYPE>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:802,1
    - Dst: const_cast<char*>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:803,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:803,1
    - Dst: static_cast<CK_ULONG>
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:804,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:804,1
    - Dst: std::bind
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:806,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:807,1
    - Dst: Botan_Tests::test_function
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:815,1
    - Dst: Botan_Tests::get_attribute_values
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:819,1
    - Dst: begin
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:821,1
    - Dst: end
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:822,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:824,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:827,1
    - Dst: RAII_LowLevel::get
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 831
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 831
    functionName: Botan_Tests::test_c_copy_object
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_function
    - Botan_Tests::create_simple_data_object
    - std::string::size
    - std::bind
    - begin
    - static_cast<CK_ATTRIBUTE_TYPE>
    - static_cast<CK_ULONG>
    - std::string::c_str
    - RAII_LowLevel::get
    - end
    - Test::Result::test_eq
    - const_cast<char*>
    - Botan_Tests::get_attribute_values
    - RAII_LowLevel::open_rw_session_with_user_login
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_c_copy_object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:837,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:838,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:839,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:840,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:841,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:842,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:843,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:844,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:845,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:846,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:847,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:848,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:849,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:850,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:851,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:852,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:853,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:855,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:856,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:857,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:858,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:859,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:860,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_low_level.cpp:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 863
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 863
    functionName: Botan_Tests::LowLevelTests::run
    functionSourceFile: /src/botan/src/tests/test_pkcs11_low_level.cpp
    functionUses: 0
    functionsReached:
    - STRING_AND_FUNCTION
    - run_pkcs11_tests
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan_Tests::LMS_Test::LMS_Test
    functionSourceFile: /src/botan/src/tests/test_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LMS_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_lms.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Botan_Tests::LMS_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_lms.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMS_Seed
      Src: /src/botan/src/tests/test_lms.cpp:33,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_lms.cpp:33,1
    - Dst: Botan::LMS_Message
      Src: /src/botan/src/tests/test_lms.cpp:34,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_lms.cpp:34,1
    - Dst: Botan::LMS_Tree_Node_Idx
      Src: /src/botan/src/tests/test_lms.cpp:35,1
    - Dst: get_req_u32
      Src: /src/botan/src/tests/test_lms.cpp:35,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_lms.cpp:36,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_lms.cpp:38,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_lms.cpp:40,1
    - Dst: Botan::BufferSlicer::BufferSlicer
      Src: /src/botan/src/tests/test_lms.cpp:42,1
    - Dst: Botan::LMS_PublicKey::from_bytes_or_throw
      Src: /src/botan/src/tests/test_lms.cpp:43,1
    - Dst: Botan::LMS_PrivateKey
      Src: /src/botan/src/tests/test_lms.cpp:47,1
    - Dst: Botan::LMS_PublicKey::lms_params
      Src: /src/botan/src/tests/test_lms.cpp:47,1
    - Dst: Botan::LMS_PublicKey::lmots_params
      Src: /src/botan/src/tests/test_lms.cpp:47,1
    - Dst: Botan::LMS_PublicKey::identifier
      Src: /src/botan/src/tests/test_lms.cpp:47,1
    - Dst: Botan::LMS_PublicKey
      Src: /src/botan/src/tests/test_lms.cpp:48,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_lms.cpp:50,1
    - Dst: auto::to_bytes
      Src: /src/botan/src/tests/test_lms.cpp:50,1
    - Dst: Botan::LMS_PrivateKey
      Src: /src/botan/src/tests/test_lms.cpp:54,1
    - Dst: Botan::LMS_PublicKey::lms_params
      Src: /src/botan/src/tests/test_lms.cpp:54,1
    - Dst: Botan::LMS_PublicKey::lmots_params
      Src: /src/botan/src/tests/test_lms.cpp:54,1
    - Dst: Botan::LMS_PublicKey::identifier
      Src: /src/botan/src/tests/test_lms.cpp:54,1
    - Dst: Botan::LMS_Signature::size
      Src: /src/botan/src/tests/test_lms.cpp:55,1
    - Dst: Botan::LMS_PublicKey::lms_params
      Src: /src/botan/src/tests/test_lms.cpp:55,1
    - Dst: Botan::LMS_PublicKey::lmots_params
      Src: /src/botan/src/tests/test_lms.cpp:55,1
    - Dst: auto::sign_and_get_pk
      Src: /src/botan/src/tests/test_lms.cpp:56,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_lms.cpp:57,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_lms.cpp:57,1
    - Dst: Botan::BufferSlicer::BufferSlicer
      Src: /src/botan/src/tests/test_lms.cpp:59,1
    - Dst: Botan::LMS_Signature::from_bytes_or_throw
      Src: /src/botan/src/tests/test_lms.cpp:60,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_lms.cpp:61,1
    - Dst: auto::verify_signature
      Src: /src/botan/src/tests/test_lms.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 64
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 64
    functionName: Botan_Tests::LMS_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_lms.cpp
    functionUses: 0
    functionsReached:
    - auto::verify_signature
    - auto::process
    - Botan::LMS_PublicKey::identifier
    - auto::sign_and_get_pk
    - Test::Result::confirm
    - Botan::LMS_Signature::from_bytes_or_throw
    - Botan::LMS_Signature::size
    - get_req_bin
    - Botan::LMS_PublicKey::from_bytes_or_throw
    - Botan::LMS_PublicKey::lmots_params
    - Botan::LMS_PublicKey
    - Botan::LMS_PublicKey::lms_params
    - get_req_u32
    - Botan::LMS_Message
    - Botan::BufferSlicer::BufferSlicer
    - Botan::LMS_PrivateKey
    - Botan::LMS_Seed
    - Botan::HashFunction::create
    - Botan::LMS_Tree_Node_Idx
    - Test::Result::test_is_eq
    - auto::to_bytes
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string&, const VarMap& vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan_Tests::AEAD_Tests::AEAD_Tests
    functionSourceFile: /src/botan/src/tests/test_aead.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AEAD_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AEAD_Mode::create
      Src: /src/botan/src/tests/test_aead.cpp:36,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:38,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_aead.cpp:38,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:38,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:38,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_aead.cpp:40,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_aead.cpp:40,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_aead.cpp:41,1
    - Dst: auto::valid_nonce_length
      Src: /src/botan/src/tests/test_aead.cpp:41,1
    - Dst: auto::default_nonce_length
      Src: /src/botan/src/tests/test_aead.cpp:41,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_aead.cpp:43,1
    - Dst: auto::update_granularity
      Src: /src/botan/src/tests/test_aead.cpp:43,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:46,1
    - Dst: get_garbage
      Src: /src/botan/src/tests/test_aead.cpp:47,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_aead.cpp:48,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:52,1
    - Dst: get_garbage
      Src: /src/botan/src/tests/test_aead.cpp:53,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:54,1
    - Dst: auto::associated_data_requires_key
      Src: /src/botan/src/tests/test_aead.cpp:57,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:58,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:59,1
    - Dst: data
      Src: /src/botan/src/tests/test_aead.cpp:59,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:59,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:62,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_aead.cpp:62,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:65,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_aead.cpp:65,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_aead.cpp:66,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:67,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_aead.cpp:67,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:70,1
    - Dst: get_garbage
      Src: /src/botan/src/tests/test_aead.cpp:71,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_aead.cpp:72,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:74,1
    - Dst: get_garbage
      Src: /src/botan/src/tests/test_aead.cpp:75,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:76,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:80,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_aead.cpp:80,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:81,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_aead.cpp:81,1
    - Dst: get_garbage
      Src: /src/botan/src/tests/test_aead.cpp:83,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_aead.cpp:84,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:87,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:93,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:96,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:99,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:100,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:101,1
    - Dst: begin
      Src: /src/botan/src/tests/test_aead.cpp:104,1
    - Dst: end
      Src: /src/botan/src/tests/test_aead.cpp:104,1
    - Dst: Botan::secure_vector::empty
      Src: /src/botan/src/tests/test_aead.cpp:107,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:108,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:109,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:112,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:113,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:117,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:119,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:121,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:122,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:124,1
    - Dst: begin
      Src: /src/botan/src/tests/test_aead.cpp:124,1
    - Dst: end
      Src: /src/botan/src/tests/test_aead.cpp:124,1
    - Dst: Botan::secure_vector::reserve
      Src: /src/botan/src/tests/test_aead.cpp:129,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_aead.cpp:129,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_aead.cpp:129,1
    - Dst: auto::minimum_final_size
      Src: /src/botan/src/tests/test_aead.cpp:131,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:132,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_aead.cpp:133,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/tests/test_aead.cpp:137,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_aead.cpp:137,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/tests/test_aead.cpp:137,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_aead.cpp:137,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:141,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:142,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/tests/test_aead.cpp:143,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_aead.cpp:143,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/tests/test_aead.cpp:143,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_aead.cpp:143,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:145,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:150,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:152,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:154,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:155,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:157,1
    - Dst: begin
      Src: /src/botan/src/tests/test_aead.cpp:157,1
    - Dst: end
      Src: /src/botan/src/tests/test_aead.cpp:157,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_aead.cpp:165,1
    - Dst: auto::requires_entire_message
      Src: /src/botan/src/tests/test_aead.cpp:166,1
    - Dst: Botan::secure_vector::erase
      Src: /src/botan/src/tests/test_aead.cpp:171,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/tests/test_aead.cpp:171,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/tests/test_aead.cpp:171,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:172,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:174,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:175,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:178,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:183,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_aead.cpp:184,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:185,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_aead.cpp:185,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:187,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:187,1
    - Dst: auto::associated_data_requires_key
      Src: /src/botan/src/tests/test_aead.cpp:189,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:190,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:191,1
    - Dst: data
      Src: /src/botan/src/tests/test_aead.cpp:191,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 95
    argCount: 7
    argNames:
    - ' key'
    - ' nonce'
    - ' input'
    - ' expected'
    - ' ad'
    - ' algo'
    - ' rng'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 195
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 195
    functionName: Botan_Tests::AEAD_Tests::test_enc
    functionSourceFile: /src/botan/src/tests/test_aead.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - get_garbage
    - auto::valid_nonce_length
    - Botan::secure_vector::begin
    - Botan::secure_vector::reserve
    - auto::default_nonce_length
    - Test::Result::test_eq
    - auto::name
    - auto::update_granularity
    - Test::Result::test_throws
    - Test::Result::confirm
    - Botan::AEAD_Mode::create
    - auto::update
    - auto::set_associated_data
    - data
    - Botan::secure_vector::end
    - Botan::secure_vector::size
    - auto::minimum_final_size
    - Botan::secure_vector::assign
    - Botan::secure_vector::erase
    - auto::has_keying_material
    - random_vec
    - auto::associated_data_requires_key
    - Botan::secure_vector::empty
    - size
    - auto::reset
    - end
    - Botan::secure_vector::insert
    - mutate_vec
    - auto::finish
    - begin
    - auto::set_key
    - auto::output_length
    - auto::clear
    - auto::requires_entire_message
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_enc(const std::vector<uint8_t>& key,\n                                   const
      std::vector<uint8_t>& nonce,\n                                   const std::vector<uint8_t>&
      input,\n                                   const std::vector<uint8_t>& expected,\n
      \                                  const std::vector<uint8_t>& ad,\n                                   const
      std::string& algo,\n                                   Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AEAD_Mode::create
      Src: /src/botan/src/tests/test_aead.cpp:208,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:210,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_aead.cpp:210,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:210,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:210,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_aead.cpp:212,1
    - Dst: auto::update_granularity
      Src: /src/botan/src/tests/test_aead.cpp:212,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:215,1
    - Dst: get_garbage
      Src: /src/botan/src/tests/test_aead.cpp:216,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_aead.cpp:217,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:221,1
    - Dst: get_garbage
      Src: /src/botan/src/tests/test_aead.cpp:222,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:223,1
    - Dst: auto::associated_data_requires_key
      Src: /src/botan/src/tests/test_aead.cpp:226,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:227,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:228,1
    - Dst: data
      Src: /src/botan/src/tests/test_aead.cpp:228,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:228,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:233,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_aead.cpp:233,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_aead.cpp:234,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:235,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_aead.cpp:235,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:236,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_aead.cpp:236,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:239,1
    - Dst: get_garbage
      Src: /src/botan/src/tests/test_aead.cpp:240,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_aead.cpp:241,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:243,1
    - Dst: get_garbage
      Src: /src/botan/src/tests/test_aead.cpp:244,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:245,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:249,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_aead.cpp:249,1
    - Dst: get_garbage
      Src: /src/botan/src/tests/test_aead.cpp:250,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_aead.cpp:251,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:254,1
    - Dst: begin
      Src: /src/botan/src/tests/test_aead.cpp:256,1
    - Dst: end
      Src: /src/botan/src/tests/test_aead.cpp:256,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:261,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:262,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:265,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:266,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:267,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:271,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:272,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:276,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:278,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:280,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:281,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:283,1
    - Dst: begin
      Src: /src/botan/src/tests/test_aead.cpp:283,1
    - Dst: end
      Src: /src/botan/src/tests/test_aead.cpp:283,1
    - Dst: Botan::secure_vector::reserve
      Src: /src/botan/src/tests/test_aead.cpp:288,1
    - Dst: auto::output_length
      Src: /src/botan/src/tests/test_aead.cpp:288,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_aead.cpp:288,1
    - Dst: auto::minimum_final_size
      Src: /src/botan/src/tests/test_aead.cpp:290,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:291,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_aead.cpp:292,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/tests/test_aead.cpp:295,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_aead.cpp:295,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/tests/test_aead.cpp:295,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_aead.cpp:295,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:299,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:300,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/tests/test_aead.cpp:301,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_aead.cpp:301,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/tests/test_aead.cpp:301,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/tests/test_aead.cpp:301,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:303,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:308,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:310,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:312,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:313,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:315,1
    - Dst: begin
      Src: /src/botan/src/tests/test_aead.cpp:315,1
    - Dst: end
      Src: /src/botan/src/tests/test_aead.cpp:315,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_aead.cpp:323,1
    - Dst: auto::requires_entire_message
      Src: /src/botan/src/tests/test_aead.cpp:324,1
    - Dst: Botan::secure_vector::erase
      Src: /src/botan/src/tests/test_aead.cpp:329,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/tests/test_aead.cpp:329,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/tests/test_aead.cpp:329,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:330,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:332,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:333,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:336,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_aead.cpp:340,1
    - Dst: what
      Src: /src/botan/src/tests/test_aead.cpp:340,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_aead.cpp:344,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:345,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_aead.cpp:345,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_aead.cpp:345,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:347,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:349,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:350,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:353,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_aead.cpp:354,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_aead.cpp:356,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_aead.cpp:358,1
    - Dst: what
      Src: /src/botan/src/tests/test_aead.cpp:358,1
    - Dst: empty
      Src: /src/botan/src/tests/test_aead.cpp:362,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:363,1
    - Dst: begin
      Src: /src/botan/src/tests/test_aead.cpp:363,1
    - Dst: end
      Src: /src/botan/src/tests/test_aead.cpp:363,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_aead.cpp:364,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:366,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:367,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:368,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:371,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_aead.cpp:372,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_aead.cpp:374,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_aead.cpp:376,1
    - Dst: what
      Src: /src/botan/src/tests/test_aead.cpp:376,1
    - Dst: mutate_vec
      Src: /src/botan/src/tests/test_aead.cpp:381,1
    - Dst: auto::reset
      Src: /src/botan/src/tests/test_aead.cpp:383,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:384,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_aead.cpp:386,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/tests/test_aead.cpp:389,1
    - Dst: begin
      Src: /src/botan/src/tests/test_aead.cpp:389,1
    - Dst: end
      Src: /src/botan/src/tests/test_aead.cpp:389,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:390,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_aead.cpp:391,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_aead.cpp:393,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_aead.cpp:395,1
    - Dst: what
      Src: /src/botan/src/tests/test_aead.cpp:395,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:399,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_aead.cpp:400,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:401,1
    - Dst: auto::has_keying_material
      Src: /src/botan/src/tests/test_aead.cpp:401,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:403,1
    - Dst: auto::finish
      Src: /src/botan/src/tests/test_aead.cpp:403,1
    - Dst: auto::associated_data_requires_key
      Src: /src/botan/src/tests/test_aead.cpp:405,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_aead.cpp:406,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/tests/test_aead.cpp:407,1
    - Dst: data
      Src: /src/botan/src/tests/test_aead.cpp:407,1
    - Dst: size
      Src: /src/botan/src/tests/test_aead.cpp:407,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 129
    argCount: 7
    argNames:
    - ' key'
    - ' nonce'
    - ' input'
    - ' expected'
    - ' ad'
    - ' algo'
    - ' rng'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 411
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 411
    functionName: Botan_Tests::AEAD_Tests::test_dec
    functionSourceFile: /src/botan/src/tests/test_aead.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - get_garbage
    - Botan::secure_vector::begin
    - std::vector::begin
    - Botan::secure_vector::reserve
    - Test::Result::test_eq
    - auto::update_granularity
    - Test::Result::test_throws
    - what
    - data
    - Botan::AEAD_Mode::create
    - auto::update
    - auto::set_associated_data
    - Botan::secure_vector::end
    - Test::Result::confirm
    - std::vector::end
    - Botan::secure_vector::size
    - Test::Result::test_success
    - auto::minimum_final_size
    - Botan::secure_vector::assign
    - Botan::secure_vector::erase
    - random_vec
    - auto::has_keying_material
    - auto::associated_data_requires_key
    - size
    - auto::reset
    - end
    - Botan::secure_vector::insert
    - empty
    - mutate_vec
    - auto::finish
    - begin
    - auto::set_key
    - auto::output_length
    - Test::Result::test_failure
    - auto::clear
    - auto::requires_entire_message
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result test_dec(const std::vector<uint8_t>& key,\n                                   const
      std::vector<uint8_t>& nonce,\n                                   const std::vector<uint8_t>&
      input,\n                                   const std::vector<uint8_t>& expected,\n
      \                                  const std::vector<uint8_t>& ad,\n                                   const
      std::string& algo,\n                                   Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_aead.cpp:414,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_aead.cpp:415,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_aead.cpp:416,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_aead.cpp:417,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_aead.cpp:418,1
    - Dst: Botan::AEAD_Mode::create
      Src: /src/botan/src/tests/test_aead.cpp:422,1
    - Dst: Botan::AEAD_Mode::create
      Src: /src/botan/src/tests/test_aead.cpp:423,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_aead.cpp:426,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:431,1
    - Dst: auto::authenticated
      Src: /src/botan/src/tests/test_aead.cpp:431,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:432,1
    - Dst: auto::authenticated
      Src: /src/botan/src/tests/test_aead.cpp:432,1
    - Dst: auto::provider
      Src: /src/botan/src/tests/test_aead.cpp:434,1
    - Dst: Test::Result::test_is_nonempty
      Src: /src/botan/src/tests/test_aead.cpp:435,1
    - Dst: auto::provider
      Src: /src/botan/src/tests/test_aead.cpp:436,1
    - Dst: Test::Result::test_is_nonempty
      Src: /src/botan/src/tests/test_aead.cpp:437,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:439,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_aead.cpp:442,1
    - Dst: auto::ideal_granularity
      Src: /src/botan/src/tests/test_aead.cpp:442,1
    - Dst: auto::minimum_final_size
      Src: /src/botan/src/tests/test_aead.cpp:442,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_aead.cpp:443,1
    - Dst: auto::ideal_granularity
      Src: /src/botan/src/tests/test_aead.cpp:443,1
    - Dst: auto::minimum_final_size
      Src: /src/botan/src/tests/test_aead.cpp:443,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_aead.cpp:445,1
    - Dst: auto::update_granularity
      Src: /src/botan/src/tests/test_aead.cpp:445,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_aead.cpp:447,1
    - Dst: auto::ideal_granularity
      Src: /src/botan/src/tests/test_aead.cpp:448,1
    - Dst: auto::ideal_granularity
      Src: /src/botan/src/tests/test_aead.cpp:448,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_aead.cpp:450,1
    - Dst: auto::ideal_granularity
      Src: /src/botan/src/tests/test_aead.cpp:451,1
    - Dst: auto::update_granularity
      Src: /src/botan/src/tests/test_aead.cpp:451,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_aead.cpp:453,1
    - Dst: auto::ideal_granularity
      Src: /src/botan/src/tests/test_aead.cpp:454,1
    - Dst: auto::update_granularity
      Src: /src/botan/src/tests/test_aead.cpp:454,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/test_aead.cpp:457,1
    - Dst: Botan_Tests::AEAD_Tests::test_enc
      Src: /src/botan/src/tests/test_aead.cpp:457,1
    - Dst: Botan_Tests::AEAD_Tests::rng
      Src: /src/botan/src/tests/test_aead.cpp:457,1
    - Dst: Test::Result::merge
      Src: /src/botan/src/tests/test_aead.cpp:460,1
    - Dst: Botan_Tests::AEAD_Tests::test_dec
      Src: /src/botan/src/tests/test_aead.cpp:460,1
    - Dst: Botan_Tests::AEAD_Tests::rng
      Src: /src/botan/src/tests/test_aead.cpp:460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 463
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 463
    functionName: Botan_Tests::AEAD_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_aead.cpp
    functionUses: 0
    functionsReached:
    - auto::minimum_final_size
    - auto::update_granularity
    - auto::authenticated
    - Test::Result::test_gt
    - auto::ideal_granularity
    - Test::Result::confirm
    - Botan::AEAD_Mode::create
    - auto::provider
    - Test::Result::merge
    - Botan_Tests::AEAD_Tests::test_enc
    - get_req_bin
    - get_opt_bin
    - Test::Result::note_missing
    - Botan_Tests::AEAD_Tests::rng
    - Test::Result::test_eq
    - Botan_Tests::AEAD_Tests::test_dec
    - Test::Result::test_is_nonempty
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/tests/test_pem.cpp:22,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pem.cpp:24,1
    - Dst: Botan::PEM_Code::decode
      Src: /src/botan/src/tests/test_pem.cpp:27,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pem.cpp:29,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_pem.cpp:31,1
    - Dst: Botan::PEM_Code::decode_check_label
      Src: /src/botan/src/tests/test_pem.cpp:33,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_pem.cpp:36,1
    - Dst: Botan::PEM_Code::decode_check_label
      Src: /src/botan/src/tests/test_pem.cpp:37,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_pem.cpp:41,1
    - Dst: Botan::PEM_Code::decode_check_label
      Src: /src/botan/src/tests/test_pem.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 46
    functionName: Botan_Tests::PEM_Tests::run
    functionSourceFile: /src/botan/src/tests/test_pem.cpp
    functionUses: 0
    functionsReached:
    - Botan::PEM_Code::decode
    - Test::Result::test_throws
    - Botan::PEM_Code::encode
    - Test::Result::test_eq
    - Botan::PEM_Code::decode_check_label
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: XOF_Tests
    functionSourceFile: /src/botan/src/tests/test_xof.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XOF_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_xof.cpp:37,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_xof.cpp:38,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_xof.cpp:39,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_xof.cpp:40,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_xof.cpp:43,1
    - Dst: provider_filter
      Src: /src/botan/src/tests/test_xof.cpp:59,1
    - Dst: Botan::XOF::providers
      Src: /src/botan/src/tests/test_xof.cpp:59,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_xof.cpp:62,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_xof.cpp:63,1
    - Dst: std::make_unique<Botan::cSHAKE_128_XOF>
      Src: /src/botan/src/tests/test_xof.cpp:71,1
    - Dst: std::make_unique<Botan::cSHAKE_256_XOF>
      Src: /src/botan/src/tests/test_xof.cpp:74,1
    - Dst: std::make_unique<Botan::AES_256_CTR_XOF>
      Src: /src/botan/src/tests/test_xof.cpp:80,1
    - Dst: Botan::XOF::create
      Src: /src/botan/src/tests/test_xof.cpp:83,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_xof.cpp:87,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_xof.cpp:87,1
    - Dst: auto::provider
      Src: /src/botan/src/tests/test_xof.cpp:91,1
    - Dst: Test::Result::test_is_nonempty
      Src: /src/botan/src/tests/test_xof.cpp:92,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:93,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_xof.cpp:93,1
    - Dst: auto::accepts_input
      Src: /src/botan/src/tests/test_xof.cpp:97,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_xof.cpp:99,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_xof.cpp:99,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:100,1
    - Dst: auto::accepts_input
      Src: /src/botan/src/tests/test_xof.cpp:100,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_xof.cpp:103,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_xof.cpp:104,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:105,1
    - Dst: auto::accepts_input
      Src: /src/botan/src/tests/test_xof.cpp:105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:106,1
    - Dst: auto::output_stdvec
      Src: /src/botan/src/tests/test_xof.cpp:106,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:106,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_xof.cpp:107,1
    - Dst: auto::accepts_input
      Src: /src/botan/src/tests/test_xof.cpp:107,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_xof.cpp:110,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_xof.cpp:110,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_xof.cpp:111,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_xof.cpp:112,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:113,1
    - Dst: auto::output_stdvec
      Src: /src/botan/src/tests/test_xof.cpp:113,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:113,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_xof.cpp:117,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:118,1
    - Dst: auto::accepts_input
      Src: /src/botan/src/tests/test_xof.cpp:118,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_xof.cpp:119,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_xof.cpp:120,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:122,1
    - Dst: auto::output_next_byte
      Src: /src/botan/src/tests/test_xof.cpp:124,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:126,1
    - Dst: auto::new_object
      Src: /src/botan/src/tests/test_xof.cpp:130,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:131,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_xof.cpp:131,1
    - Dst: auto::accepts_input
      Src: /src/botan/src/tests/test_xof.cpp:132,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_xof.cpp:135,1
    - Dst: std::span::empty
      Src: /src/botan/src/tests/test_xof.cpp:137,1
    - Dst: std::min
      Src: /src/botan/src/tests/test_xof.cpp:138,1
    - Dst: std::span::size
      Src: /src/botan/src/tests/test_xof.cpp:138,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_xof.cpp:139,1
    - Dst: std::span::first
      Src: /src/botan/src/tests/test_xof.cpp:139,1
    - Dst: std::span::last
      Src: /src/botan/src/tests/test_xof.cpp:140,1
    - Dst: std::span::size
      Src: /src/botan/src/tests/test_xof.cpp:140,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:142,1
    - Dst: std::span::empty
      Src: /src/botan/src/tests/test_xof.cpp:144,1
    - Dst: std::min
      Src: /src/botan/src/tests/test_xof.cpp:145,1
    - Dst: std::span::size
      Src: /src/botan/src/tests/test_xof.cpp:145,1
    - Dst: auto::output
      Src: /src/botan/src/tests/test_xof.cpp:146,1
    - Dst: std::span::first
      Src: /src/botan/src/tests/test_xof.cpp:146,1
    - Dst: std::span::last
      Src: /src/botan/src/tests/test_xof.cpp:147,1
    - Dst: std::span::size
      Src: /src/botan/src/tests/test_xof.cpp:147,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:149,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_xof.cpp:149,1
    - Dst: process_as_blocks
      Src: /src/botan/src/tests/test_xof.cpp:152,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_xof.cpp:152,1
    - Dst: process_as_blocks
      Src: /src/botan/src/tests/test_xof.cpp:153,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_xof.cpp:153,1
    - Dst: process_as_blocks
      Src: /src/botan/src/tests/test_xof.cpp:154,1
    - Dst: auto::block_size
      Src: /src/botan/src/tests/test_xof.cpp:154,1
    - Dst: auto::clear
      Src: /src/botan/src/tests/test_xof.cpp:158,1
    - Dst: auto::start
      Src: /src/botan/src/tests/test_xof.cpp:159,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_xof.cpp:160,1
    - Dst: std::span
      Src: /src/botan/src/tests/test_xof.cpp:160,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:160,1
    - Dst: auto::copy_state
      Src: /src/botan/src/tests/test_xof.cpp:161,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:162,1
    - Dst: auto::accepts_input
      Src: /src/botan/src/tests/test_xof.cpp:162,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_xof.cpp:163,1
    - Dst: std::span
      Src: /src/botan/src/tests/test_xof.cpp:163,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:163,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:163,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_xof.cpp:164,1
    - Dst: std::span
      Src: /src/botan/src/tests/test_xof.cpp:164,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:164,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:164,1
    - Dst: auto::output_stdvec
      Src: /src/botan/src/tests/test_xof.cpp:165,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:165,1
    - Dst: auto::output_stdvec
      Src: /src/botan/src/tests/test_xof.cpp:166,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:166,1
    - Dst: auto::copy_state
      Src: /src/botan/src/tests/test_xof.cpp:167,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_xof.cpp:168,1
    - Dst: auto::accepts_input
      Src: /src/botan/src/tests/test_xof.cpp:168,1
    - Dst: auto::output_stdvec
      Src: /src/botan/src/tests/test_xof.cpp:169,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:169,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:169,1
    - Dst: auto::output_stdvec
      Src: /src/botan/src/tests/test_xof.cpp:170,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:170,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_xof.cpp:170,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:171,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:172,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_xof.cpp:172,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_xof.cpp:173,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_xof.cpp:173,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 79
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 180
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 180
    functionName: run_one_test
    functionSourceFile: /src/botan/src/tests/test_xof.cpp
    functionUses: 1
    functionsReached:
    - auto::start
    - std::span::size
    - std::vector::size
    - auto::output
    - std::make_unique<Botan::AES_256_CTR_XOF>
    - provider_filter
    - Botan::XOF::providers
    - Test::Result::test_eq
    - auto::name
    - std::vector::empty
    - Test::Result::confirm
    - auto::update
    - get_req_bin
    - get_opt_bin
    - auto::block_size
    - Botan::XOF::create
    - auto::new_object
    - std::min
    - auto::provider
    - auto::accepts_input
    - Test::Result::test_is_nonempty
    - auto::output_next_byte
    - std::span::first
    - process_as_blocks
    - std::span::empty
    - std::span::last
    - std::span
    - auto::copy_state
    - Test::Result::test_failure
    - std::make_unique<Botan::cSHAKE_128_XOF>
    - auto::output_stdvec
    - std::make_unique<Botan::cSHAKE_256_XOF>
    - Test::Result::note_missing
    - auto::clear
    - Botan::fmt
    - auto::empty
    - Botan::concat
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/botan/src/tests/test_xof.cpp:185,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_xof.cpp:188,1
    - Dst: std::make_unique<Botan::cSHAKE_128_XOF>
      Src: /src/botan/src/tests/test_xof.cpp:188,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_xof.cpp:189,1
    - Dst: std::make_unique<Botan::cSHAKE_256_XOF>
      Src: /src/botan/src/tests/test_xof.cpp:189,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_xof.cpp:192,1
    - Dst: valid_salt_length
      Src: /src/botan/src/tests/test_xof.cpp:192,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_xof.cpp:193,1
    - Dst: valid_salt_length
      Src: /src/botan/src/tests/test_xof.cpp:194,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_xof.cpp:195,1
    - Dst: start
      Src: /src/botan/src/tests/test_xof.cpp:195,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_xof.cpp:200,1
    - Dst: Botan::AES_256_CTR_XOF::AES_256_CTR_XOF
      Src: /src/botan/src/tests/test_xof.cpp:201,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_xof.cpp:202,1
    - Dst: Botan::AES_256_CTR_XOF::start
      Src: /src/botan/src/tests/test_xof.cpp:202,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_xof.cpp:203,1
    - Dst: Botan::AES_256_CTR_XOF::start
      Src: /src/botan/src/tests/test_xof.cpp:204,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_xof.cpp:204,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_xof.cpp:205,1
    - Dst: Botan::AES_256_CTR_XOF::start
      Src: /src/botan/src/tests/test_xof.cpp:206,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_xof.cpp:206,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_xof.cpp:206,1
    - Dst: BOTAN_REGISTER_SERIALIZED_TEST
      Src: /src/botan/src/tests/test_xof.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 217
    functionName: run_final_tests
    functionSourceFile: /src/botan/src/tests/test_xof.cpp
    functionUses: 1
    functionsReached:
    - CHECK
    - Botan::AES_256_CTR_XOF::start
    - BOTAN_REGISTER_SERIALIZED_TEST
    - Botan::AES_256_CTR_XOF::AES_256_CTR_XOF
    - test_throws
    - confirm
    - std::make_unique<Botan::cSHAKE_128_XOF>
    - valid_salt_length
    - std::vector::push_back
    - start
    - std::make_unique<Botan::cSHAKE_256_XOF>
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_final_tests() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_dl_group.cpp:25,1
    - Dst: Botan_Tests::DL_Group_Tests::test_dl_encoding
      Src: /src/botan/src/tests/test_dl_group.cpp:25,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_dl_group.cpp:26,1
    - Dst: Botan_Tests::DL_Group_Tests::test_dl_errors
      Src: /src/botan/src/tests/test_dl_group.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: Botan_Tests::DL_Group_Tests::run
    functionSourceFile: /src/botan/src/tests/test_dl_group.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - Botan_Tests::DL_Group_Tests::test_dl_errors
    - Botan_Tests::DL_Group_Tests::test_dl_encoding
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_dl_group.cpp:34,1
    - Dst: Botan::DL_Group::DL_Group
      Src: /src/botan/src/tests/test_dl_group.cpp:35,1
    - Dst: Botan::DL_Group::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: Botan_Tests::DL_Group_Tests::test_dl_errors
    functionSourceFile: /src/botan/src/tests/test_dl_group.cpp
    functionUses: 1
    functionsReached:
    - Botan::DL_Group::get_p
    - Test::Result::test_throws
    - Botan::DL_Group::DL_Group
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_dl_errors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/tests/test_dl_group.cpp:45,1
    - Dst: auto::PEM_encode
      Src: /src/botan/src/tests/test_dl_group.cpp:47,1
    - Dst: auto::PEM_encode
      Src: /src/botan/src/tests/test_dl_group.cpp:48,1
    - Dst: auto::PEM_encode
      Src: /src/botan/src/tests/test_dl_group.cpp:49,1
    - Dst: Botan::DL_Group::from_PEM
      Src: /src/botan/src/tests/test_dl_group.cpp:51,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:53,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:53,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:53,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:54,1
    - Dst: auto::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:54,1
    - Dst: auto::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:54,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:55,1
    - Dst: auto::get_g
      Src: /src/botan/src/tests/test_dl_group.cpp:55,1
    - Dst: auto::get_g
      Src: /src/botan/src/tests/test_dl_group.cpp:55,1
    - Dst: Botan::DL_Group::from_PEM
      Src: /src/botan/src/tests/test_dl_group.cpp:57,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:59,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:59,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:59,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:60,1
    - Dst: auto::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:60,1
    - Dst: auto::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:60,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:61,1
    - Dst: auto::get_g
      Src: /src/botan/src/tests/test_dl_group.cpp:61,1
    - Dst: auto::get_g
      Src: /src/botan/src/tests/test_dl_group.cpp:61,1
    - Dst: Botan::DL_Group::from_PEM
      Src: /src/botan/src/tests/test_dl_group.cpp:63,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:65,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:65,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:65,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:67,1
    - Dst: auto::get_g
      Src: /src/botan/src/tests/test_dl_group.cpp:67,1
    - Dst: auto::get_g
      Src: /src/botan/src/tests/test_dl_group.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 70
    functionName: Botan_Tests::DL_Group_Tests::test_dl_encoding
    functionSourceFile: /src/botan/src/tests/test_dl_group.cpp
    functionUses: 1
    functionsReached:
    - auto::get_p
    - auto::PEM_encode
    - auto::get_g
    - auto::get_q
    - Botan::DL_Group::from_PEM
    - Test::Result::test_eq
    - Botan::DL_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_dl_encoding()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_dl_group.cpp:80,1
    - Dst: Botan_Tests::DL_Generate_Group_Tests::rng
      Src: /src/botan/src/tests/test_dl_group.cpp:82,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:85,1
    - Dst: Botan::DL_Group::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:85,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:86,1
    - Dst: Botan::DL_Group::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:86,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_dl_group.cpp:87,1
    - Dst: Botan::DL_Group::get_g
      Src: /src/botan/src/tests/test_dl_group.cpp:87,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:88,1
    - Dst: Botan::DL_Group::verify_group
      Src: /src/botan/src/tests/test_dl_group.cpp:88,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:91,1
    - Dst: Botan::DL_Group::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:91,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:92,1
    - Dst: Botan::DL_Group::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:92,1
    - Dst: Botan::dl_exponent_size
      Src: /src/botan/src/tests/test_dl_group.cpp:92,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_dl_group.cpp:93,1
    - Dst: Botan::DL_Group::get_g
      Src: /src/botan/src/tests/test_dl_group.cpp:93,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:94,1
    - Dst: Botan::DL_Group::verify_group
      Src: /src/botan/src/tests/test_dl_group.cpp:94,1
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_dl_group.cpp:96,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:98,1
    - Dst: Botan::DL_Group::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:98,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:99,1
    - Dst: Botan::DL_Group::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:99,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:100,1
    - Dst: Botan::DL_Group::verify_group
      Src: /src/botan/src/tests/test_dl_group.cpp:100,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:105,1
    - Dst: Botan::DL_Group::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:106,1
    - Dst: Botan::DL_Group::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:106,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_dl_group.cpp:107,1
    - Dst: Botan::DL_Group::get_g
      Src: /src/botan/src/tests/test_dl_group.cpp:107,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:108,1
    - Dst: Botan::DL_Group::verify_group
      Src: /src/botan/src/tests/test_dl_group.cpp:108,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_dl_group.cpp:112,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_dl_group.cpp:114,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_dl_group.cpp:118,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_dl_group.cpp:124,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_dl_group.cpp:126,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_dl_group.cpp:127,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_dl_group.cpp:128,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:132,1
    - Dst: Botan::DL_Group::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:133,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_dl_group.cpp:133,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:136,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_dl_group.cpp:136,1
    - Dst: Botan::DL_Group::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:136,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:138,1
    - Dst: Botan::DL_Group::verify_group
      Src: /src/botan/src/tests/test_dl_group.cpp:138,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_dl_group.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 144
    functionName: Botan_Tests::DL_Generate_Group_Tests::run
    functionSourceFile: /src/botan/src/tests/test_dl_group.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group::get_p
    - Test::Result::test_throws
    - Botan_Tests::Test::run_long_tests
    - Test::Result::start_timer
    - Test::Result::end_timer
    - Botan::BigInt::BigInt
    - Botan::dl_exponent_size
    - static_cast<size_t>
    - Botan::DL_Group::verify_group
    - Botan::DL_Group::get_q
    - Test::Result::test_lte
    - Botan_Tests::DL_Generate_Group_Tests::rng
    - Test::Result::test_eq
    - Botan::hex_decode
    - Botan::DL_Group::get_g
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_dl_group.cpp:165,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/tests/test_dl_group.cpp:169,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_dl_group.cpp:171,1
    - Dst: auto::get_p
      Src: /src/botan/src/tests/test_dl_group.cpp:171,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_dl_group.cpp:172,1
    - Dst: auto::get_g
      Src: /src/botan/src/tests/test_dl_group.cpp:172,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dl_group.cpp:177,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dl_group.cpp:179,1
    - Dst: auto::source
      Src: /src/botan/src/tests/test_dl_group.cpp:179,1
    - Dst: find
      Src: /src/botan/src/tests/test_dl_group.cpp:181,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_dl_group.cpp:182,1
    - Dst: auto::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:182,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:184,1
    - Dst: auto::get_q
      Src: /src/botan/src/tests/test_dl_group.cpp:184,1
    - Dst: auto::p_bits
      Src: /src/botan/src/tests/test_dl_group.cpp:187,1
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_dl_group.cpp:187,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dl_group.cpp:188,1
    - Dst: auto::verify_group
      Src: /src/botan/src/tests/test_dl_group.cpp:188,1
    - Dst: Botan_Tests::DL_Named_Group_Tests::rng
      Src: /src/botan/src/tests/test_dl_group.cpp:188,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_dl_group.cpp:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 194
    functionName: Botan_Tests::DL_Named_Group_Tests::run
    functionSourceFile: /src/botan/src/tests/test_dl_group.cpp
    functionUses: 0
    functionsReached:
    - auto::get_p
    - auto::p_bits
    - Botan_Tests::Test::run_long_tests
    - Test::Result::test_ne
    - Test::Result::start_timer
    - auto::source
    - Test::Result::end_timer
    - Test::Result::confirm
    - auto::get_g
    - Botan_Tests::DL_Named_Group_Tests::rng
    - auto::get_q
    - auto::verify_group
    - find
    - Test::Result::test_eq
    - Botan::DL_Group::from_name
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:28,1
    - Dst: find_cert_by_pubkey_sha1
      Src: /src/botan/src/tests/test_certstor_system.cpp:29,1
    - Dst: Botan_Tests::get_key_id
      Src: /src/botan/src/tests/test_certstor_system.cpp:29,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:30,1
    - Dst: Test::Result::test_not_nullopt
      Src: /src/botan/src/tests/test_certstor_system.cpp:32,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:33,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:34,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_system.cpp:34,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:35,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_system.cpp:35,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_system.cpp:35,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:38,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:38,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_certstor_system.cpp:41,1
    - Dst: find_cert_by_pubkey_sha1
      Src: /src/botan/src/tests/test_certstor_system.cpp:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' certstore'
    argTypes:
    - Botan::Certificate_Store
    constantsTouched: []
    func_position:
      end: 44
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 44
    functionName: Botan_Tests::find_certificate_by_pubkey_sha1
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - Test::Result::end_timer
    - Test::Result::start_timer
    - what
    - find_cert_by_pubkey_sha1
    - auto::subject_dn
    - Test::Result::test_failure
    - Botan_Tests::get_subject_cn
    - Test::Result::test_is_eq
    - auto::size
    - Test::Result::test_eq
    - auto::front
    - Test::Result::test_not_nullopt
    - Botan_Tests::get_key_id
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_certificate_by_pubkey_sha1(Botan::Certificate_Store&
      certstore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_cert
      Src: /src/botan/src/tests/test_certstor_system.cpp:49,1
    - Dst: Botan_Tests::get_dn_of_cert_with_different_key_id
      Src: /src/botan/src/tests/test_certstor_system.cpp:49,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_certstor_system.cpp:50,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:55,1
    - Dst: find_cert_by_pubkey_sha1
      Src: /src/botan/src/tests/test_certstor_system.cpp:56,1
    - Dst: Botan_Tests::get_pubkey_sha1_of_cert_with_different_key_id
      Src: /src/botan/src/tests/test_certstor_system.cpp:56,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:57,1
    - Dst: Test::Result::test_not_nullopt
      Src: /src/botan/src/tests/test_certstor_system.cpp:59,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:60,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:61,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_system.cpp:61,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:62,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_system.cpp:62,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:65,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' certstore'
    argTypes:
    - Botan::Certificate_Store
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: Botan_Tests::find_certificate_by_pubkey_sha1_with_unmatching_key_id
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::get_pubkey_sha1_of_cert_with_different_key_id
    - Test::Result::end_timer
    - Test::Result::start_timer
    - Botan_Tests::get_dn_of_cert_with_different_key_id
    - what
    - find_cert_by_pubkey_sha1
    - auto::subject_dn
    - Test::Result::test_failure
    - find_cert
    - Test::Result::test_is_eq
    - Test::Result::note_missing
    - auto::size
    - Test::Result::test_eq
    - auto::front
    - Test::Result::test_not_nullopt
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_certificate_by_pubkey_sha1_with_unmatching_key_id(Botan::Certificate_Store&
      certstore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:75,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:77,1
    - Dst: find_cert
      Src: /src/botan/src/tests/test_certstor_system.cpp:78,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_certstor_system.cpp:78,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:79,1
    - Dst: Test::Result::test_not_nullopt
      Src: /src/botan/src/tests/test_certstor_system.cpp:81,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:82,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:83,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_system.cpp:83,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:84,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_system.cpp:84,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_system.cpp:84,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:87,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' certstore'
    argTypes:
    - Botan::Certificate_Store
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: Botan_Tests::find_cert_by_subject_dn
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::end_timer
    - Test::Result::start_timer
    - Botan_Tests::get_dn
    - what
    - auto::subject_dn
    - Test::Result::test_failure
    - find_cert
    - Botan_Tests::get_subject_cn
    - std::vector<uint8_t>
    - Test::Result::test_is_eq
    - auto::size
    - Test::Result::test_eq
    - auto::front
    - Test::Result::test_not_nullopt
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_cert_by_subject_dn(Botan::Certificate_Store& certstore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_utf8_dn_alternatives
      Src: /src/botan/src/tests/test_certstor_system.cpp:97,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:101,1
    - Dst: find_cert
      Src: /src/botan/src/tests/test_certstor_system.cpp:103,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:104,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:105,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_system.cpp:105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:106,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_system.cpp:106,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:111,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_certstor_system.cpp:119,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:120,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_certstor_system.cpp:123,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:125,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' certstore'
    argTypes:
    - Botan::Certificate_Store
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: Botan_Tests::find_cert_by_utf8_subject_dn
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_note
    - Test::Result::end_timer
    - Test::Result::start_timer
    - what
    - Botan_Tests::get_utf8_dn_alternatives
    - auto::subject_dn
    - Test::Result::test_failure
    - find_cert
    - Test::Result::test_is_eq
    - auto::size
    - Test::Result::test_eq
    - Test::Result::test_gte
    - auto::front
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_cert_by_utf8_subject_dn(Botan::Certificate_Store&
      certstore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:135,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:137,1
    - Dst: find_cert
      Src: /src/botan/src/tests/test_certstor_system.cpp:138,1
    - Dst: Botan_Tests::get_key_id
      Src: /src/botan/src/tests/test_certstor_system.cpp:138,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:139,1
    - Dst: Test::Result::test_not_nullopt
      Src: /src/botan/src/tests/test_certstor_system.cpp:141,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:142,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:143,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_system.cpp:143,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:144,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_system.cpp:144,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_system.cpp:144,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:147,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' certstore'
    argTypes:
    - Botan::Certificate_Store
    constantsTouched: []
    func_position:
      end: 151
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 151
    functionName: Botan_Tests::find_cert_by_subject_dn_and_key_id
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::end_timer
    - Test::Result::start_timer
    - Botan_Tests::get_dn
    - what
    - auto::subject_dn
    - Test::Result::test_failure
    - find_cert
    - Botan_Tests::get_subject_cn
    - Test::Result::test_is_eq
    - auto::size
    - Test::Result::test_eq
    - auto::front
    - Test::Result::test_not_nullopt
    - Botan_Tests::get_key_id
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_cert_by_subject_dn_and_key_id(Botan::Certificate_Store&
      certstore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:157,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:159,1
    - Dst: find_all_certs
      Src: /src/botan/src/tests/test_certstor_system.cpp:160,1
    - Dst: Botan_Tests::get_key_id
      Src: /src/botan/src/tests/test_certstor_system.cpp:160,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:161,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_system.cpp:163,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_certstor_system.cpp:163,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:164,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_system.cpp:164,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_system.cpp:165,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:166,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_system.cpp:166,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:167,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_system.cpp:167,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_system.cpp:167,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:170,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' certstore'
    argTypes:
    - Botan::Certificate_Store
    constantsTouched: []
    func_position:
      end: 174
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 174
    functionName: Botan_Tests::find_certs_by_subject_dn_and_key_id
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::end_timer
    - Test::Result::start_timer
    - Botan_Tests::get_dn
    - what
    - Test::Result::confirm
    - Test::Result::test_failure
    - Botan_Tests::get_subject_cn
    - find_all_certs
    - Test::Result::test_is_eq
    - auto::size
    - Test::Result::test_eq
    - auto::empty
    - auto::front
    - Botan_Tests::get_key_id
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_certs_by_subject_dn_and_key_id(Botan::Certificate_Store&
      certstore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:180,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:182,1
    - Dst: find_all_certs
      Src: /src/botan/src/tests/test_certstor_system.cpp:183,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_certstor_system.cpp:183,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:184,1
    - Dst: sort
      Src: /src/botan/src/tests/test_certstor_system.cpp:187,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_certstor_system.cpp:187,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_certstor_system.cpp:187,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_system.cpp:188,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:190,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_system.cpp:194,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_certstor_system.cpp:194,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_system.cpp:195,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_certstor_system.cpp:196,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor_system.cpp:196,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:197,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_system.cpp:197,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_system.cpp:197,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:200,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ' certstore'
    argTypes:
    - Botan::Certificate_Store
    constantsTouched: []
    func_position:
      end: 204
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 204
    functionName: Botan_Tests::find_all_certs_by_subject_dn
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - Test::Result::end_timer
    - Test::Result::start_timer
    - Botan_Tests::get_dn
    - what
    - Test::Result::confirm
    - sort
    - Test::Result::test_failure
    - Botan_Tests::get_subject_cn
    - std::vector<uint8_t>
    - find_all_certs
    - auto::begin
    - auto::end
    - Test::Result::test_eq
    - auto::empty
    - Test::Result::test_gte
    - auto::front
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_all_certs_by_subject_dn(Botan::Certificate_Store&
      certstore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:210,1
    - Dst: all_subjects
      Src: /src/botan/src/tests/test_certstor_system.cpp:211,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:212,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_system.cpp:214,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_certstor_system.cpp:214,1
    - Dst: Botan_Tests::get_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:215,1
    - Dst: std::find_if
      Src: /src/botan/src/tests/test_certstor_system.cpp:216,1
    - Dst: auto::cbegin
      Src: /src/botan/src/tests/test_certstor_system.cpp:217,1
    - Dst: auto::cend
      Src: /src/botan/src/tests/test_certstor_system.cpp:217,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_system.cpp:219,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_certstor_system.cpp:219,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_system.cpp:220,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:224,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' certstore'
    argTypes:
    - Botan::Certificate_Store
    constantsTouched: []
    func_position:
      end: 228
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 228
    functionName: Botan_Tests::find_all_subjects
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - auto::cbegin
    - Test::Result::end_timer
    - Test::Result::start_timer
    - Botan_Tests::get_dn
    - what
    - Test::Result::confirm
    - all_subjects
    - Test::Result::test_failure
    - auto::cend
    - std::find_if
    - auto::end
    - auto::empty
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result find_all_subjects(Botan::Certificate_Store& certstore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_unknown_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:234,1
    - Dst: Botan_Tests::get_unknown_key_id
      Src: /src/botan/src/tests/test_certstor_system.cpp:235,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:237,1
    - Dst: find_all_certs
      Src: /src/botan/src/tests/test_certstor_system.cpp:238,1
    - Dst: find_cert
      Src: /src/botan/src/tests/test_certstor_system.cpp:239,1
    - Dst: find_cert_by_pubkey_sha1
      Src: /src/botan/src/tests/test_certstor_system.cpp:240,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:241,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_system.cpp:243,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_certstor_system.cpp:243,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_system.cpp:244,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_system.cpp:245,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:247,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' certstore'
    argTypes:
    - Botan::Certificate_Store
    constantsTouched: []
    func_position:
      end: 251
      start: 230
    functionDepth: 3
    functionLinenumber: 230
    functionLinenumberEnd: 251
    functionName: Botan_Tests::no_certificate_matches
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::end_timer
    - Test::Result::start_timer
    - Botan_Tests::get_unknown_key_id
    - Botan_Tests::get_unknown_dn
    - what
    - Test::Result::confirm
    - find_cert_by_pubkey_sha1
    - Test::Result::test_failure
    - find_cert
    - find_all_certs
    - auto::empty
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result no_certificate_matches(Botan::Certificate_Store& certstore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::get_skewed_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:259,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:261,1
    - Dst: find_all_certs
      Src: /src/botan/src/tests/test_certstor_system.cpp:262,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_certstor_system.cpp:262,1
    - Dst: find_cert
      Src: /src/botan/src/tests/test_certstor_system.cpp:263,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_certstor_system.cpp:263,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:264,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_system.cpp:266,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_certstor_system.cpp:266,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor_system.cpp:267,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_certstor_system.cpp:267,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:268,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_certstor_system.cpp:269,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_system.cpp:269,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor_system.cpp:270,1
    - Dst: auto::subject_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:270,1
    - Dst: Botan_Tests::get_subject_cn
      Src: /src/botan/src/tests/test_certstor_system.cpp:270,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:273,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' certstore'
    argTypes:
    - Botan::Certificate_Store
    constantsTouched: []
    func_position:
      end: 277
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 277
    functionName: Botan_Tests::certificate_matching_with_dn_normalization
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::end_timer
    - Test::Result::start_timer
    - what
    - auto::has_value
    - Test::Result::confirm
    - auto::subject_dn
    - Test::Result::test_failure
    - find_cert
    - Botan_Tests::get_subject_cn
    - std::vector<uint8_t>
    - find_all_certs
    - Test::Result::test_eq
    - auto::empty
    - Botan_Tests::get_skewed_dn
    - auto::front
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result certificate_matching_with_dn_normalization(Botan::Certificate_Store&
      certstore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:289,1
    - Dst: std::make_unique<Botan::System_Certificate_Store>
      Src: /src/botan/src/tests/test_certstor_system.cpp:290,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_certstor_system.cpp:291,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_certstor_system.cpp:293,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_certstor_system.cpp:294,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor_system.cpp:297,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor_system.cpp:297,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_certstor_system.cpp:301,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:304,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:306,1
    - Dst: find_certificate_by_pubkey_sha1
      Src: /src/botan/src/tests/test_certstor_system.cpp:306,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:307,1
    - Dst: find_certificate_by_pubkey_sha1_with_unmatching_key_id
      Src: /src/botan/src/tests/test_certstor_system.cpp:307,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:308,1
    - Dst: find_cert_by_subject_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:308,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:309,1
    - Dst: find_cert_by_subject_dn_and_key_id
      Src: /src/botan/src/tests/test_certstor_system.cpp:309,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:310,1
    - Dst: find_all_certs_by_subject_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:310,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:311,1
    - Dst: find_certs_by_subject_dn_and_key_id
      Src: /src/botan/src/tests/test_certstor_system.cpp:311,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:312,1
    - Dst: find_all_subjects
      Src: /src/botan/src/tests/test_certstor_system.cpp:312,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:313,1
    - Dst: no_certificate_matches
      Src: /src/botan/src/tests/test_certstor_system.cpp:313,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:314,1
    - Dst: find_cert_by_utf8_subject_dn
      Src: /src/botan/src/tests/test_certstor_system.cpp:314,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor_system.cpp:316,1
    - Dst: certificate_matching_with_dn_normalization
      Src: /src/botan/src/tests/test_certstor_system.cpp:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 320
    functionName: Botan_Tests::Certstor_System_Tests::run
    functionSourceFile: /src/botan/src/tests/test_certstor_system.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::end_timer
    - find_certificate_by_pubkey_sha1
    - find_all_subjects
    - find_certs_by_subject_dn_and_key_id
    - no_certificate_matches
    - std::vector::push_back
    - BOTAN_UNUSED
    - Test::Result::test_note
    - what
    - find_certificate_by_pubkey_sha1_with_unmatching_key_id
    - Test::Result::test_success
    - find_cert_by_subject_dn_and_key_id
    - Test::Result::start_timer
    - find_cert_by_subject_dn
    - find_cert_by_utf8_subject_dn
    - std::make_unique<Botan::System_Certificate_Store>
    - find_all_certs_by_subject_dn
    - certificate_matching_with_dn_normalization
    - Test::Result::test_failure
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: Botan_Tests::X509_DN_Comparisons_Tests::X509_DN_Comparisons_Tests
    functionSourceFile: /src/botan/src/tests/test_x509_dn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_DN_Comparisons_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_x509_dn.cpp:22,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_x509_dn.cpp:23,1
    - Dst: Botan::X509_DN::decode_from
      Src: /src/botan/src/tests/test_x509_dn.cpp:31,1
    - Dst: Botan::X509_DN::decode_from
      Src: /src/botan/src/tests/test_x509_dn.cpp:35,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_dn.cpp:38,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_dn.cpp:44,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_dn.cpp:45,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_dn.cpp:47,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_x509_dn.cpp:48,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_x509_dn.cpp:51,1
    - Dst: what
      Src: /src/botan/src/tests/test_x509_dn.cpp:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 55
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 55
    functionName: Botan_Tests::X509_DN_Comparisons_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_x509_dn.cpp
    functionUses: 0
    functionsReached:
    - what
    - Botan::X509_DN::decode_from
    - Test::Result::test_failure
    - get_req_bin
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_bigint.cpp:38,1
    - Dst: Botan_Tests::BigInt_Unit_Tests::test_bigint_sizes
      Src: /src/botan/src/tests/test_bigint.cpp:38,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_bigint.cpp:39,1
    - Dst: Botan_Tests::BigInt_Unit_Tests::test_random_prime
      Src: /src/botan/src/tests/test_bigint.cpp:39,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_bigint.cpp:40,1
    - Dst: Botan_Tests::BigInt_Unit_Tests::test_encode
      Src: /src/botan/src/tests/test_bigint.cpp:40,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_bigint.cpp:41,1
    - Dst: Botan_Tests::BigInt_Unit_Tests::test_bigint_io
      Src: /src/botan/src/tests/test_bigint.cpp:41,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_bigint.cpp:42,1
    - Dst: Botan_Tests::BigInt_Unit_Tests::test_get_substring
      Src: /src/botan/src/tests/test_bigint.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: Botan_Tests::BigInt_Unit_Tests::run
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::BigInt_Unit_Tests::test_bigint_sizes
    - Botan_Tests::BigInt_Unit_Tests::test_random_prime
    - Botan_Tests::BigInt_Unit_Tests::test_encode
    - Botan_Tests::BigInt_Unit_Tests::test_get_substring
    - std::vector::push_back
    - Botan_Tests::BigInt_Unit_Tests::test_bigint_io
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt::set_bit
      Src: /src/botan/src/tests/test_bigint.cpp:54,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:59,1
    - Dst: BigInt::bits
      Src: /src/botan/src/tests/test_bigint.cpp:59,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:60,1
    - Dst: BigInt::bytes
      Src: /src/botan/src/tests/test_bigint.cpp:61,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_bigint.cpp:64,1
    - Dst: BigInt::to_u32bit
      Src: /src/botan/src/tests/test_bigint.cpp:64,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_bigint.cpp:64,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_bigint.cpp:66,1
    - Dst: BigInt::to_u32bit
      Src: /src/botan/src/tests/test_bigint.cpp:67,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_bigint.cpp:67,1
    - Dst: BigInt::to_u32bit
      Src: /src/botan/src/tests/test_bigint.cpp:70,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_bigint.cpp:71,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_bigint.cpp:73,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 82
    functionName: Botan_Tests::BigInt_Unit_Tests::test_bigint_sizes
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 1
    functionsReached:
    - BigInt::set_bit
    - BigInt::to_u32bit
    - static_cast<uint32_t>
    - Test::Result::test_failure
    - Test::Result::test_is_eq
    - BigInt::bits
    - BigInt::bytes
    - Test::Result::test_eq
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_bigint_sizes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_bigint.cpp:87,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_bigint.cpp:89,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/tests/test_bigint.cpp:90,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_bigint.cpp:91,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/tests/test_bigint.cpp:92,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_bigint.cpp:93,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/tests/test_bigint.cpp:94,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/tests/test_bigint.cpp:97,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:98,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/tests/test_bigint.cpp:100,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:101,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/tests/test_bigint.cpp:103,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:104,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/tests/test_bigint.cpp:107,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:108,1
    - Dst: BigInt::bits
      Src: /src/botan/src/tests/test_bigint.cpp:108,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:109,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/tests/test_bigint.cpp:109,1
    - Dst: Botan::random_safe_prime
      Src: /src/botan/src/tests/test_bigint.cpp:113,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:114,1
    - Dst: BigInt::bits
      Src: /src/botan/src/tests/test_bigint.cpp:114,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:115,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/tests/test_bigint.cpp:115,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:116,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/tests/test_bigint.cpp:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 119
    functionName: Botan_Tests::BigInt_Unit_Tests::test_random_prime
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 1
    functionsReached:
    - Botan::is_prime
    - Test::Result::test_throws
    - Test::Result::confirm
    - Botan::random_prime
    - BigInt::bits
    - Test::Result::test_eq
    - Botan_Tests::Test::new_rng
    - Botan::random_safe_prime
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_random_prime()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/tests/test_bigint.cpp:124,1
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/tests/test_bigint.cpp:125,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_bigint.cpp:127,1
    - Dst: auto::serialize
      Src: /src/botan/src/tests/test_bigint.cpp:128,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_bigint.cpp:129,1
    - Dst: Botan::BigInt::encode_fixed_length_int_pair
      Src: /src/botan/src/tests/test_bigint.cpp:131,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:132,1
    - Dst: auto::bytes
      Src: /src/botan/src/tests/test_bigint.cpp:134,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_bigint.cpp:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 141
    functionName: Botan_Tests::BigInt_Unit_Tests::test_encode
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 1
    functionsReached:
    - Botan::BigInt::encode_fixed_length_int_pair
    - auto::bytes
    - Botan::BigInt::from_u64
    - Test::Result::test_failure
    - auto::serialize
    - Test::Result::test_eq
    - Botan::concat
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_encode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_bigint.cpp:148,1
    - Dst: Botan::BigInt::mask_bits
      Src: /src/botan/src/tests/test_bigint.cpp:157,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 166
    functionName: Botan_Tests::BigInt_Unit_Tests::test_get_substring
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_eq
    - Botan_Tests::Test::new_rng
    - Botan::BigInt::mask_bits
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_substring()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:171,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:172,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:173,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:174,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:175,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:178,1
    - Dst: std::istringstream::str
      Src: /src/botan/src/tests/test_bigint.cpp:181,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:183,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:193,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_bigint.cpp:193,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_bigint.cpp:195,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:197,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_bigint.cpp:197,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_bigint.cpp:199,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:201,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_bigint.cpp:201,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_bigint.cpp:203,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:205,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_bigint.cpp:205,1
    - Dst: check_bigint_formatting
      Src: /src/botan/src/tests/test_bigint.cpp:208,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:208,1
    - Dst: check_bigint_formatting
      Src: /src/botan/src/tests/test_bigint.cpp:209,1
    - Dst: Botan::BigInt::from_s32
      Src: /src/botan/src/tests/test_bigint.cpp:209,1
    - Dst: check_bigint_formatting
      Src: /src/botan/src/tests/test_bigint.cpp:210,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:210,1
    - Dst: check_bigint_formatting
      Src: /src/botan/src/tests/test_bigint.cpp:211,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:211,1
    - Dst: check_bigint_formatting
      Src: /src/botan/src/tests/test_bigint.cpp:212,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:212,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_bigint.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 221
    functionName: Botan_Tests::BigInt_Unit_Tests::test_bigint_io
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 1
    functionsReached:
    - Botan::BigInt::from_s32
    - Test::Result::test_throws
    - std::istringstream::str
    - std::ostringstream::str
    - Botan::BigInt::BigInt
    - Test::Result::test_eq
    - check_bigint_formatting
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_bigint_io()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 228
    functionName: Botan_Tests::BigInt_Cmp_Test::BigInt_Cmp_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Cmp_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:233,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:234,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:238,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:240,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:243,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:245,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:248,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:251,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:253,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_bigint.cpp:256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - ' op'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 260
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 260
    functionName: Botan_Tests::BigInt_Cmp_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::confirm
    - Test_Error
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& op, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: Botan_Tests::BigInt_Add_Test::BigInt_Add_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Add_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:274,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:275,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:276,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:278,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:279,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:283,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 290
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 290
    functionName: Botan_Tests::BigInt_Add_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: Botan_Tests::BigInt_Sub_Test::BigInt_Sub_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Sub_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:302,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:303,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:304,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:306,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 313
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 313
    functionName: Botan_Tests::BigInt_Sub_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: Botan_Tests::BigInt_Mul_Test::BigInt_Mul_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Mul_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:325,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:326,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:327,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:329,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:330,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:334,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 341
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 341
    functionName: Botan_Tests::BigInt_Mul_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 348
    functionName: Botan_Tests::BigInt_Sqr_Test::BigInt_Sqr_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Sqr_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:353,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:354,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:356,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:357,1
    - Dst: square
      Src: /src/botan/src/tests/test_bigint.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 360
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 360
    functionName: Botan_Tests::BigInt_Sqr_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_bn
    - square
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 367
    functionName: Botan_Tests::BigInt_Div_Test::BigInt_Div_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Div_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:372,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:373,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:374,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:376,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:380,1
    - Dst: BigInt::sig_words
      Src: /src/botan/src/tests/test_bigint.cpp:382,1
    - Dst: BigInt::word_at
      Src: /src/botan/src/tests/test_bigint.cpp:383,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:384,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/tests/test_bigint.cpp:384,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:386,1
    - Dst: Botan::ct_divide_word
      Src: /src/botan/src/tests/test_bigint.cpp:388,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:389,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:390,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:393,1
    - Dst: Botan::ct_divide
      Src: /src/botan/src/tests/test_bigint.cpp:394,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:395,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 399
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 399
    functionName: Botan_Tests::BigInt_Div_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::BigInt
    - BigInt::sig_words
    - Botan::BigInt::from_word
    - BigInt::word_at
    - Botan::ct_divide_word
    - Botan::ct_divide
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ct_divide_pow2k
      Src: /src/botan/src/tests/test_bigint.cpp:410,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:411,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_bigint.cpp:411,1
    - Dst: Botan::ct_divide_pow2k
      Src: /src/botan/src/tests/test_bigint.cpp:413,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:414,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_bigint.cpp:414,1
    - Dst: Botan::ct_divide_pow2k
      Src: /src/botan/src/tests/test_bigint.cpp:416,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:417,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_bigint.cpp:417,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_bigint.cpp:421,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/tests/test_bigint.cpp:425,1
    - Dst: ct_divide_pow2k
      Src: /src/botan/src/tests/test_bigint.cpp:428,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_bigint.cpp:429,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:431,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 436
    functionName: Botan_Tests::BigInt_DivPow2k_Test::run
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::ct_divide_pow2k
    - Botan_Tests::BitOps_Tests::test_power_of_2
    - ct_divide_pow2k
    - Test::Result::test_eq
    - BigInt::is_zero
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 443
    functionName: Botan_Tests::BigInt_Mod_Test::BigInt_Mod_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Mod_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:448,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:449,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:450,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:452,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:456,1
    - Dst: BigInt::is_positive
      Src: /src/botan/src/tests/test_bigint.cpp:458,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/tests/test_bigint.cpp:459,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:460,1
    - Dst: auto::reduce
      Src: /src/botan/src/tests/test_bigint.cpp:460,1
    - Dst: Botan::Barrett_Reduction::for_secret_modulus
      Src: /src/botan/src/tests/test_bigint.cpp:462,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:463,1
    - Dst: auto::reduce
      Src: /src/botan/src/tests/test_bigint.cpp:463,1
    - Dst: BigInt::sig_words
      Src: /src/botan/src/tests/test_bigint.cpp:467,1
    - Dst: BigInt::word_at
      Src: /src/botan/src/tests/test_bigint.cpp:468,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:472,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:474,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:476,1
    - Dst: Botan::ct_divide_word
      Src: /src/botan/src/tests/test_bigint.cpp:478,1
    - Dst: BigInt::word_at
      Src: /src/botan/src/tests/test_bigint.cpp:478,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:479,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:482,1
    - Dst: Botan::ct_divide
      Src: /src/botan/src/tests/test_bigint.cpp:483,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 487
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 487
    functionName: Botan_Tests::BigInt_Mod_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::BigInt
    - BigInt::sig_words
    - Botan::ct_divide_word
    - BigInt::word_at
    - Botan::Barrett_Reduction::for_secret_modulus
    - auto::reduce
    - Botan::ct_divide
    - BigInt::is_positive
    - Test::Result::test_eq
    - get_req_bn
    - Botan::Barrett_Reduction::for_public_modulus
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/tests/test_bigint.cpp:500,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_bigint.cpp:505,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_bigint.cpp:507,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/tests/test_bigint.cpp:509,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:511,1
    - Dst: Botan::BigInt::randomize
      Src: /src/botan/src/tests/test_bigint.cpp:512,1
    - Dst: rng
      Src: /src/botan/src/tests/test_bigint.cpp:512,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/tests/test_bigint.cpp:519,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:523,1
    - Dst: Botan::BigInt::randomize
      Src: /src/botan/src/tests/test_bigint.cpp:524,1
    - Dst: rng
      Src: /src/botan/src/tests/test_bigint.cpp:524,1
    - Dst: auto::reduce
      Src: /src/botan/src/tests/test_bigint.cpp:529,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:531,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 536
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 536
    functionName: Botan_Tests::Barrett_Redc_Test::run
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::randomize
    - Botan_Tests::BitOps_Tests::test_power_of_2
    - Botan::BigInt::BigInt
    - Botan::BigInt::from_u64
    - auto::reduce
    - rng
    - Test::Result::test_eq
    - Botan::Barrett_Reduction::for_public_modulus
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 543
    functionName: Botan_Tests::BigInt_GCD_Test::BigInt_GCD_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_GCD_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:548,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:549,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:550,1
    - Dst: Botan::gcd
      Src: /src/botan/src/tests/test_bigint.cpp:552,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:553,1
    - Dst: Botan::gcd
      Src: /src/botan/src/tests/test_bigint.cpp:555,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 559
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 559
    functionName: Botan_Tests::BigInt_GCD_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_bn
    - Botan::gcd
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 566
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 566
    functionName: Botan_Tests::BigInt_Jacobi_Test::BigInt_Jacobi_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Jacobi_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:571,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:572,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_bigint.cpp:573,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:578,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:580,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 586
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 586
    functionName: Botan_Tests::BigInt_Jacobi_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_bn
    - get_req_str
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 593
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 593
    functionName: Botan_Tests::BigInt_Lshift_Test::BigInt_Lshift_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Lshift_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:598,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:600,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:602,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 609
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 609
    functionName: Botan_Tests::BigInt_Lshift_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 616
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 616
    functionName: Botan_Tests::BigInt_Rshift_Test::BigInt_Rshift_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Rshift_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:621,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:623,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:625,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 632
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 632
    functionName: Botan_Tests::BigInt_Rshift_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_bigint.cpp:641,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_bigint.cpp:643,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/tests/test_bigint.cpp:645,1
    - Dst: auto::next_byte
      Src: /src/botan/src/tests/test_bigint.cpp:647,1
    - Dst: Botan::BigInt::set_bit
      Src: /src/botan/src/tests/test_bigint.cpp:648,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/tests/test_bigint.cpp:655,1
    - Dst: auto::ct_shift_left
      Src: /src/botan/src/tests/test_bigint.cpp:656,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/tests/test_bigint.cpp:657,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:659,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_bigint.cpp:659,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_bigint.cpp:662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 665
    functionName: Botan_Tests::test_const_time_left_shift
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan::BigInt::set_bit
    - Test::Result::start_timer
    - Test::Result::end_timer
    - auto::ct_shift_left
    - Botan::CT::poison
    - Botan::CT::unpoison
    - Test::Result::test_eq
    - Botan_Tests::Test::new_rng
    - auto::next_byte
    - Botan::BigInt::with_capacity
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_const_time_left_shift()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 669
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 669
    functionName: Botan_Tests::BigInt_Powmod_Test::BigInt_Powmod_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Powmod_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:674,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:675,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:676,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:677,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:679,1
    - Dst: Botan::power_mod
      Src: /src/botan/src/tests/test_bigint.cpp:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 681
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 681
    functionName: Botan_Tests::BigInt_Powmod_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_bn
    - Botan::power_mod
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 688
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 688
    functionName: Botan_Tests::BigInt_IsPrime_Test::BigInt_IsPrime_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_IsPrime_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_bigint.cpp:692,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:695,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:699,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/tests/test_bigint.cpp:699,1
    - Dst: Botan_Tests::BigInt_IsPrime_Test::rng
      Src: /src/botan/src/tests/test_bigint.cpp:699,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' header'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 702
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 702
    functionName: Botan_Tests::BigInt_IsPrime_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::is_prime
    - Botan_Tests::BigInt_IsPrime_Test::rng
    - Test_Error
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& header, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 709
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 709
    functionName: Botan_Tests::BigInt_IsSquare_Test::BigInt_IsSquare_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_IsSquare_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:712,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:713,1
    - Dst: Botan::is_perfect_square
      Src: /src/botan/src/tests/test_bigint.cpp:714,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 719
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 719
    functionName: Botan_Tests::BigInt_IsSquare_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_bn
    - Botan::is_perfect_square
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 726
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 726
    functionName: Botan_Tests::BigInt_Sqrt_Modulo_Prime_Test::BigInt_Sqrt_Modulo_Prime_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Sqrt_Modulo_Prime_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:731,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:732,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:733,1
    - Dst: Botan::sqrt_modulo_prime
      Src: /src/botan/src/tests/test_bigint.cpp:735,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:737,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 745
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 745
    functionName: Botan_Tests::BigInt_Sqrt_Modulo_Prime_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - get_req_bn
    - Botan::sqrt_modulo_prime
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 752
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 752
    functionName: Botan_Tests::BigInt_InvMod_Test::BigInt_InvMod_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_InvMod_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:757,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:758,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:759,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:761,1
    - Dst: Botan::inverse_mod
      Src: /src/botan/src/tests/test_bigint.cpp:761,1
    - Dst: Botan::inverse_mod_general
      Src: /src/botan/src/tests/test_bigint.cpp:764,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_bigint.cpp:765,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:766,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_bigint.cpp:766,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:767,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_bigint.cpp:767,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/tests/test_bigint.cpp:767,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:769,1
    - Dst: Botan::BigInt::is_zero
      Src: /src/botan/src/tests/test_bigint.cpp:769,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/tests/test_bigint.cpp:772,1
    - Dst: rng
      Src: /src/botan/src/tests/test_bigint.cpp:772,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_bigint.cpp:773,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:774,1
    - Dst: Botan::inverse_mod_secret_prime
      Src: /src/botan/src/tests/test_bigint.cpp:774,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:775,1
    - Dst: Botan::inverse_mod_public_prime
      Src: /src/botan/src/tests/test_bigint.cpp:775,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 780
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 780
    functionName: Botan_Tests::BigInt_InvMod_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::is_prime
    - Botan::BigInt::is_zero
    - BOTAN_ASSERT_NOMSG
    - auto::value
    - auto::has_value
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - Test::Result::confirm
    - Botan::inverse_mod_secret_prime
    - Botan::inverse_mod
    - Botan::inverse_mod_general
    - rng
    - Botan::inverse_mod_public_prime
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 787
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 787
    functionName: Botan_Tests::BigInt_Rand_Test::BigInt_Rand_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt_Rand_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_bigint.cpp:792,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:793,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:794,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:795,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/tests/test_bigint.cpp:798,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 803
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 803
    functionName: Botan_Tests::BigInt_Rand_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::random_integer
    - get_req_bn
    - get_req_bin
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/tests/test_bigint.cpp:824,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:831,1
    - Dst: std::set::count
      Src: /src/botan/src/tests/test_bigint.cpp:831,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_bigint.cpp:833,1
    - Dst: std::set::contains
      Src: /src/botan/src/tests/test_bigint.cpp:833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 838
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 838
    functionName: Botan_Tests::Lucas_Primality_Test::run
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - std::set::contains
    - Test::Result::confirm
    - Botan::Barrett_Reduction::for_public_modulus
    - std::set::count
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/tests/test_bigint.cpp:850,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/tests/test_bigint.cpp:861,1
    - Dst: rng
      Src: /src/botan/src/tests/test_bigint.cpp:861,1
    - Dst: gcd
      Src: /src/botan/src/tests/test_bigint.cpp:862,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_bigint.cpp:863,1
    - Dst: lcm
      Src: /src/botan/src/tests/test_bigint.cpp:880,1
    - Dst: Botan::compute_rsa_secret_exponent
      Src: /src/botan/src/tests/test_bigint.cpp:882,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:886,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/tests/test_bigint.cpp:886,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 890
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 890
    functionName: Botan_Tests::RSA_Compute_Exp_Test::run
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - gcd
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - Botan::BigInt::from_u64
    - std::vector::push_back
    - Botan::random_prime
    - rng
    - lcm
    - Botan::compute_rsa_secret_exponent
    - Test::Result::test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 897
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 897
    functionName: Botan_Tests::DSA_ParamGen_Test::DSA_ParamGen_Test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_ParamGen_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_bigint.cpp:900,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:903,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_bigint.cpp:904,1
    - Dst: Botan::split_on
      Src: /src/botan/src/tests/test_bigint.cpp:906,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_bigint.cpp:908,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_bigint.cpp:909,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/tests/test_bigint.cpp:918,1
    - Dst: Botan::generate_dsa_primes
      Src: /src/botan/src/tests/test_bigint.cpp:919,1
    - Dst: Botan_Tests::DSA_ParamGen_Test::rng
      Src: /src/botan/src/tests/test_bigint.cpp:919,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:920,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:921,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_bigint.cpp:923,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' header'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 928
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 928
    functionName: Botan_Tests::DSA_ParamGen_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Botan::BigInt::BigInt
    - Botan::split_on
    - Test::Result::test_failure
    - Test_Error
    - Botan::generate_dsa_primes
    - Botan_Tests::DSA_ParamGen_Test::rng
    - get_req_bin
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& header, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_bigint.cpp:934,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_bigint.cpp:937,1
    - Dst: Botan::BigInt::serialize
      Src: /src/botan/src/tests/test_bigint.cpp:940,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:941,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_bigint.cpp:941,1
    - Dst: Botan::BigInt::serialize
      Src: /src/botan/src/tests/test_bigint.cpp:943,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:944,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_bigint.cpp:944,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_bigint.cpp:946,1
    - Dst: Botan::BigInt::serialize
      Src: /src/botan/src/tests/test_bigint.cpp:946,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_bigint.cpp:949,1
    - Dst: Botan::BigInt::bytes
      Src: /src/botan/src/tests/test_bigint.cpp:953,1
    - Dst: Botan::BigInt::binary_encode
      Src: /src/botan/src/tests/test_bigint.cpp:954,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_bigint.cpp:954,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_bigint.cpp:954,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:955,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_bigint.cpp:955,1
    - Dst: Botan::BigInt::bytes
      Src: /src/botan/src/tests/test_bigint.cpp:957,1
    - Dst: Botan::BigInt::binary_encode
      Src: /src/botan/src/tests/test_bigint.cpp:958,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_bigint.cpp:958,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_bigint.cpp:958,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:959,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_bigint.cpp:959,1
    - Dst: Botan::BigInt::bytes
      Src: /src/botan/src/tests/test_bigint.cpp:961,1
    - Dst: Botan::BigInt::binary_encode
      Src: /src/botan/src/tests/test_bigint.cpp:962,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_bigint.cpp:962,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_bigint.cpp:962,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:963,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_bigint.cpp:963,1
    - Dst: Botan::BigInt::bytes
      Src: /src/botan/src/tests/test_bigint.cpp:966,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_bigint.cpp:967,1
    - Dst: Botan::BigInt::binary_encode
      Src: /src/botan/src/tests/test_bigint.cpp:968,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_bigint.cpp:968,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_bigint.cpp:968,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:969,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_bigint.cpp:969,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_bigint.cpp:971,1
    - Dst: Botan::BigInt::bytes
      Src: /src/botan/src/tests/test_bigint.cpp:973,1
    - Dst: auto::randomize
      Src: /src/botan/src/tests/test_bigint.cpp:974,1
    - Dst: Botan::BigInt::binary_encode
      Src: /src/botan/src/tests/test_bigint.cpp:975,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_bigint.cpp:975,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_bigint.cpp:975,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_bigint.cpp:976,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_bigint.cpp:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 981
      start: 933
    functionDepth: 3
    functionLinenumber: 933
    functionLinenumberEnd: 981
    functionName: Botan_Tests::test_bigint_serialization
    functionSourceFile: /src/botan/src/tests/test_bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - std::vector::size
    - std::vector::data
    - test_throws
    - Botan::BigInt::bytes
    - Botan::BigInt::binary_encode
    - Botan::BigInt::serialize
    - Botan_Tests::Test::new_rng
    - Botan::hex_decode
    - auto::randomize
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bigint_serialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' rng'
    - min
    - max
    argTypes:
    - Botan::RandomNumberGenerator
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: Botan_Tests::rand_in_range
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t rand_in_range(Botan::RandomNumberGenerator& rng, size_t min,
      size_t max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:39,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:42,1
    - Dst: Botan_Tests::rand_in_range
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:43,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:43,1
    - Dst: std::swap
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:44,1
    - Dst: std::iota
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:49,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:49,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:49,1
    - Dst: shuffle
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:50,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ' rng'
    - n
    - upper_bound
    argTypes:
    - Botan::RandomNumberGenerator
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: Botan_Tests::rand_indices
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - std::vector::begin
    - std::vector::resize
    - std::iota
    - size
    - std::swap
    - shuffle
    - Botan_Tests::rand_in_range
    - std::vector::end
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> rand_indices(Botan::RandomNumberGenerator& rng,
      size_t n, size_t upper_bound)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::rand_in_range
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:57,1
    - Dst: Botan_Tests::rand_indices
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:59,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:59,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:61,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: Botan_Tests::rnd_bitvector_with_rnd_pois
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - Botan::bitvector::size
    - Botan_Tests::rand_indices
    - auto::begin
    - Botan_Tests::rand_in_range
    - auto::end
    linkageType: ''
    returnType: std::pair<Botan::bitvector, std::set<size_t>>
    signature: std::pair<Botan::bitvector, std::set<size_t>> rnd_bitvector_with_rnd_pois(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: Botan_Tests::pattern_generator
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto pattern_generator(size_t offset = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:75,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:78,1
    - Dst: Botan::bitvector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:78,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:79,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:79,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:82,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:85,1
    - Dst: Botan::bitvector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:85,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:86,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:86,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:88,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:88,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:92,1
    - Dst: next_byte
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:97,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:98,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:100,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:103,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:104,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:104,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:104,1
    - Dst: contains
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:104,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:108,1
    - Dst: set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:112,1
    - Dst: next_byte
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:116,1
    - Dst: Botan::bitvector::unset
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:117,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:119,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:122,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:123,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:123,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:123,1
    - Dst: contains
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:123,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:127,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:131,1
    - Dst: find
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:132,1
    - Dst: begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:132,1
    - Dst: end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:132,1
    - Dst: end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:132,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:133,1
    - Dst: Botan::bitvector::flip
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:135,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:137,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:138,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:138,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:138,1
    - Dst: contains
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:138,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:142,1
    - Dst: template test_throws<Botan::Invalid_Argument>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:145,1
    - Dst: const_cast<const decltype(bv)&>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:146,1
    - Dst: template test_throws<Botan::Invalid_Argument>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:147,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:147,1
    - Dst: template test_throws<Botan::Invalid_Argument>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:148,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:148,1
    - Dst: template test_throws<Botan::Invalid_Argument>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:149,1
    - Dst: Botan::bitvector::unset
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:149,1
    - Dst: template test_throws<Botan::Invalid_Argument>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:150,1
    - Dst: Botan::bitvector::flip
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:150,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:153,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:156,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:156,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:157,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:158,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:160,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:160,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:160,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:164,1
    - Dst: set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:167,1
    - Dst: flip
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:169,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:172,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:173,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:174,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:175,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:176,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:177,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:180,1
    - Dst: template test_throws<Botan::Invalid_Argument>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:183,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:183,1
    - Dst: test_no_throw
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:187,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:190,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:194,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:196,1
    - Dst: set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:197,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:199,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:201,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:203,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:205,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:207,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:209,1
    - Dst: unset
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:210,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:212,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:214,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:216,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:218,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:220,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:222,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 112
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 225
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 225
    functionName: Botan_Tests::test_bitvector_bitwise_accessors
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - template test_throws<Botan::Invalid_Argument>
    - contains
    - require
    - confirm
    - Botan::bitvector::unset
    - next_byte
    - Botan::bitvector::size
    - const_cast<const decltype(bv)&>
    - Botan::bitvector::flip
    - Botan::bitvector::at
    - set
    - end
    - flip
    - find
    - unset
    - Botan::bitvector::empty
    - test_eq
    - begin
    - test_no_throw
    - Botan::bitvector::set
    - Botan::fmt
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bitvector_bitwise_accessors(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:229,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:232,1
    - Dst: Botan::bitvector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:232,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:233,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:233,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:234,1
    - Dst: Botan::bitvector::capacity
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:234,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:237,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:240,1
    - Dst: Botan::bitvector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:240,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:241,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:241,1
    - Dst: test_gte
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:242,1
    - Dst: Botan::bitvector::capacity
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:242,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:245,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:248,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:248,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:249,1
    - Dst: Botan::bitvector::capacity
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:249,1
    - Dst: Botan::bitvector::reserve
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:251,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:252,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:252,1
    - Dst: test_gte
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:253,1
    - Dst: Botan::bitvector::capacity
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:253,1
    - Dst: Botan::bitvector::reserve
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:255,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:256,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:256,1
    - Dst: test_gte
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:257,1
    - Dst: Botan::bitvector::capacity
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:257,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:260,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:263,1
    - Dst: Botan::bitvector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:263,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:264,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:264,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:266,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:267,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:268,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:269,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:271,1
    - Dst: Botan::bitvector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:271,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:272,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:272,1
    - Dst: test_gte
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:273,1
    - Dst: Botan::bitvector::capacity
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:273,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:275,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:275,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:276,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:276,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:277,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:277,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:278,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:278,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:280,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:280,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:283,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:286,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:287,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:288,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:289,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:290,1
    - Dst: Botan::bitvector::back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:290,1
    - Dst: Botan::bitvector::pop_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:292,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:293,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:293,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:294,1
    - Dst: Botan::bitvector::back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:294,1
    - Dst: Botan::bitvector::pop_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:296,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:297,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:297,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:298,1
    - Dst: Botan::bitvector::back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:298,1
    - Dst: Botan::bitvector::pop_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:300,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:301,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:301,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:302,1
    - Dst: Botan::bitvector::back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:302,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:303,1
    - Dst: Botan::bitvector::front
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:303,1
    - Dst: Botan::bitvector::pop_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:305,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:306,1
    - Dst: Botan::bitvector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:306,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:308,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:308,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:311,1
    - Dst: Botan::bitvector::resize
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:318,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:319,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:319,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:321,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:323,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:323,1
    - Dst: Botan::bitvector::resize
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:326,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:327,1
    - Dst: Botan::bitvector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:327,1
    - Dst: Botan::bitvector::resize
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:329,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:330,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 334
    functionName: Botan_Tests::test_bitvector_capacity
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan::bitvector::size
    - test_gte
    - Botan::bitvector::push_back
    - Botan::bitvector::capacity
    - Botan::bitvector::pop_back
    - Botan::bitvector::front
    - test_throws
    - confirm
    - Botan::bitvector::resize
    - Botan::bitvector::back
    - Botan::bitvector::at
    - Botan::bitvector::empty
    - Botan::fmt
    - Botan::bitvector::reserve
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bitvector_capacity(Botan::RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::pattern_generator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:338,1
    - Dst: static_cast<T>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:342,1
    - Dst: next
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:342,1
    - Dst: next
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:346,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:353,1
    - Dst: Botan_Tests::pattern_generator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:359,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:363,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:363,1
    - Dst: bv_t
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:363,1
    - Dst: next
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:363,1
    - Dst: T::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:366,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:367,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:367,1
    - Dst: next
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:367,1
    - Dst: Botan_Tests::pattern_generator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:373,1
    - Dst: T::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:374,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:377,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:377,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:382,1
    - Dst: template test_throws<Botan::Invalid_Argument>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:385,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:385,1
    - Dst: template test_throws<Botan::Invalid_Argument>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:386,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:386,1
    - Dst: template test_throws<Botan::Invalid_Argument>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:387,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:387,1
    - Dst: template test_throws<Botan::Invalid_Argument>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:388,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:388,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:391,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:394,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:395,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:395,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:396,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:397,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:397,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:398,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:399,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:399,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:402,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:405,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:407,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:408,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:408,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:409,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:411,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:412,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:412,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:413,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:416,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:419,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:421,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:422,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:422,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:423,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:425,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:426,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:426,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:427,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:429,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:430,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:430,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:431,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:433,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:434,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:434,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:435,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:437,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:438,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:438,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:439,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:442,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:445,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:447,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:448,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:448,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:449,1
    - Dst: auto::resize
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:451,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:452,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:453,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:457,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:460,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:462,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:463,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:463,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:464,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:466,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:467,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:467,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:468,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:470,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:471,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:471,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:472,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:474,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:475,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:475,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:476,1
    - Dst: auto::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:478,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:479,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:479,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:480,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:482,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:483,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:483,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:484,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:486,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:487,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:487,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:488,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:491,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:494,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:496,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:497,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:498,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:499,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:501,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:502,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:503,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:504,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:506,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:507,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:508,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:509,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:511,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:512,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:513,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:514,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:516,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:516,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:517,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:517,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:518,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:518,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:519,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:519,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:522,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:525,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:527,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:528,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:529,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:530,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:532,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:533,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:534,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:535,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:537,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:538,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:539,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:540,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:542,1
    - Dst: Botan::bitvector::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:543,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:544,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:545,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:548,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:551,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:553,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:554,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:555,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:555,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:556,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:558,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:559,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:560,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:560,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:561,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:563,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:564,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:565,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:565,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:566,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:568,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:569,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:570,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:570,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:571,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:573,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:574,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:575,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:575,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:576,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:578,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:578,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:579,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:579,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:580,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:580,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:581,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:581,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:584,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:587,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:589,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:590,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:591,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:591,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:592,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:594,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:595,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:596,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:596,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:597,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:599,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:600,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:601,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:601,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:602,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:604,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:605,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:606,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:606,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:607,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:609,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:610,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:611,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:611,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:612,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:614,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:615,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:616,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:616,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:617,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:619,1
    - Dst: check_bitpattern_with_zero_region
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:620,1
    - Dst: Botan::bitvector::subvector_replace
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:621,1
    - Dst: bitpattern_at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:621,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:622,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 183
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 625
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 625
    functionName: Botan_Tests::test_bitvector_subvector
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - template test_throws<Botan::Invalid_Argument>
    - Botan_Tests::pattern_generator
    - confirm
    - next
    - make_bitpattern
    - auto::subvector
    - check_bitpattern_with_zero_region
    - T::size
    - auto::resize
    - Botan::bitvector::subvector
    - bitpattern_at
    - static_cast<T>
    - test_throws
    - check_bitpattern
    - test_eq
    - bv_t
    - Botan::bitvector::subvector_replace
    - auto::size
    - Botan::fmt
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bitvector_subvector(Botan::RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::pattern_generator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:629,1
    - Dst: next
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:631,1
    - Dst: Botan_Tests::pattern_generator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:636,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:637,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:638,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:638,1
    - Dst: next
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:638,1
    - Dst: Botan_Tests::pattern_generator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:643,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:644,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:645,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:645,1
    - Dst: next
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:645,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:650,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:653,1
    - Dst: Botan::bitvector::flip
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:655,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:656,1
    - Dst: Botan::bitvector::resize
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:659,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:660,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:661,1
    - Dst: Botan::bitvector::resize
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:663,1
    - Dst: Botan::bitvector::flip
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:665,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:666,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:669,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:673,1
    - Dst: Botan::bitvector::flip
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:674,1
    - Dst: check_flipped_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:675,1
    - Dst: check_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:678,1
    - Dst: Botan::bitvector::resize
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:680,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:681,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:682,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:686,1
    - Dst: make_bitpattern
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:690,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:691,1
    - Dst: Botan::bitvector::resize
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:692,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:693,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:695,1
    - Dst: Botan::bitvector::unset
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:698,1
    - Dst: Botan::bitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:699,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:700,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:704,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:708,1
    - Dst: Botan::bitvector::none_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:708,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:709,1
    - Dst: Botan::bitvector::any_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:709,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:710,1
    - Dst: Botan::bitvector::all_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:710,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:711,1
    - Dst: Botan::bitvector::none
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:711,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:712,1
    - Dst: Botan::bitvector::any
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:712,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:713,1
    - Dst: Botan::bitvector::all
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:713,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:715,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:716,1
    - Dst: Botan::bitvector::none_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:716,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:717,1
    - Dst: Botan::bitvector::any_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:717,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:718,1
    - Dst: Botan::bitvector::all_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:718,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:719,1
    - Dst: Botan::bitvector::none
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:719,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:720,1
    - Dst: Botan::bitvector::any
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:720,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:721,1
    - Dst: Botan::bitvector::all
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:721,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:723,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:724,1
    - Dst: Botan::bitvector::none_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:724,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:725,1
    - Dst: Botan::bitvector::any_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:725,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:726,1
    - Dst: Botan::bitvector::all_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:726,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:727,1
    - Dst: Botan::bitvector::none
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:727,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:728,1
    - Dst: Botan::bitvector::any
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:728,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:729,1
    - Dst: Botan::bitvector::all
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:729,1
    - Dst: Botan::bitvector::unset
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:731,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:732,1
    - Dst: Botan::bitvector::none_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:732,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:733,1
    - Dst: Botan::bitvector::any_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:733,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:734,1
    - Dst: Botan::bitvector::all_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:734,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:735,1
    - Dst: Botan::bitvector::none
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:735,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:736,1
    - Dst: Botan::bitvector::any
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:736,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:737,1
    - Dst: Botan::bitvector::all
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:737,1
    - Dst: Botan::bitvector::unset
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:739,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:740,1
    - Dst: Botan::bitvector::none_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:740,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:741,1
    - Dst: Botan::bitvector::any_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:741,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:742,1
    - Dst: Botan::bitvector::all_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:742,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:743,1
    - Dst: Botan::bitvector::none
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:743,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:744,1
    - Dst: Botan::bitvector::any
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:744,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:745,1
    - Dst: Botan::bitvector::all
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:745,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:748,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:750,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:751,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:753,1
    - Dst: Botan::bitvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:753,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:754,1
    - Dst: Botan::bitvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:754,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:757,1
    - Dst: template as<size_t>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:762,1
    - Dst: Botan::bitvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:768,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:768,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:769,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:769,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:770,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:770,1
    - Dst: naive_count
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:770,1
    - Dst: auto::pop_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:772,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:773,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:773,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:774,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:774,1
    - Dst: naive_count
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:774,1
    - Dst: auto::pop_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:776,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:777,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:777,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:778,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:778,1
    - Dst: naive_count
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:778,1
    - Dst: auto::pop_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:780,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:781,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:781,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:782,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:782,1
    - Dst: naive_count
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:782,1
    - Dst: auto::pop_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:784,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:785,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:785,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:786,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:786,1
    - Dst: naive_count
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:786,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 102
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 789
      start: 627
    functionDepth: 3
    functionLinenumber: 627
    functionLinenumberEnd: 789
    functionName: Botan_Tests::test_bitvector_global_modifiers_and_predicates
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan_Tests::pattern_generator
    - confirm
    - Botan::bitvector::unset
    - next
    - Botan::bitvector::none
    - Botan::bitvector::all_vartime
    - Botan::bitvector::any_vartime
    - Botan::bitvector::size
    - make_bitpattern
    - template as<size_t>
    - Botan::bitvector::flip
    - Botan::hex_decode
    - Botan::bitvector::push_back
    - Botan::bitvector::none_vartime
    - auto::hamming_weight
    - size
    - Botan::bitvector::any
    - check_bitpattern
    - test_eq
    - Botan::fmt
    - Botan::bitvector
    - naive_count
    - Botan::bitvector::resize
    - Botan::bitvector::all
    - check_flipped_bitpattern
    - Botan::bitvector::set
    - auto::pop_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bitvector_global_modifiers_and_predicates(Botan::RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:793,1
    - Dst: find
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:794,1
    - Dst: begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:794,1
    - Dst: end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:794,1
    - Dst: end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:794,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:795,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:795,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:801,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:807,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:811,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:814,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:816,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:818,1
    - Dst: Botan::bitvector::equals_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:818,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:819,1
    - Dst: Botan::bitvector::equals
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:819,1
    - Dst: Botan::bitvector::unset
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:821,1
    - Dst: Botan::bitvector::unset
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:822,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:824,1
    - Dst: Botan::bitvector::equals_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:824,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:825,1
    - Dst: Botan::bitvector::equals
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:825,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:828,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:831,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:833,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:835,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:838,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:841,1
    - Dst: is_standard_allocator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:843,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:846,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:849,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:851,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:853,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:856,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:859,1
    - Dst: is_standard_allocator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:861,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:864,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:867,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:869,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:871,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:874,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:877,1
    - Dst: is_standard_allocator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:879,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:882,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:885,1
    - Dst: Botan::secure_bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:887,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:889,1
    - Dst: is_secure_allocator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:892,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:893,1
    - Dst: is_secure_allocator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:896,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:897,1
    - Dst: is_secure_allocator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:900,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:901,1
    - Dst: is_secure_allocator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:904,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:905,1
    - Dst: is_secure_allocator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:908,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:909,1
    - Dst: is_secure_allocator
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:912,1
    - Dst: check_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 916
      start: 791
    functionDepth: 3
    functionLinenumber: 791
    functionLinenumberEnd: 916
    functionName: Botan_Tests::test_bitvector_binary_operators
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - begin
    - size
    - confirm
    - Botan::bitvector::equals
    - end
    - Botan::bitvector::set
    - Botan::bitvector::unset
    - Botan::secure_bitvector::set
    - find
    - is_secure_allocator
    - Botan::fmt
    - check_set
    - is_standard_allocator
    - Botan::bitvector::equals_vartime
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bitvector_binary_operators(Botan::RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:929,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:935,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:935,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:935,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:935,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:940,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:943,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:943,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:946,1
    - Dst: Botan::bitvector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:946,1
    - Dst: Botan::bitvector::to_bytes
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:948,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:949,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:949,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:952,1
    - Dst: Botan::bitvector::to_bytes
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:957,1
    - Dst: Botan::secure_bitvector::to_bytes
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:958,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:960,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:962,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:966,1
    - Dst: validate_bytewise
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:969,1
    - Dst: Botan::bitvector::to_bytes
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:971,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:972,1
    - Dst: Botan::equal
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:972,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:975,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:978,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:978,1
    - Dst: first
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:978,1
    - Dst: validate_bytewise
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:981,1
    - Dst: Botan::bitvector::to_bytes
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:983,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:984,1
    - Dst: Botan::equal
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:984,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:987,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:996,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:996,1
    - Dst: Botan::bitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:996,1
    - Dst: Botan::bitvector::to_bytes
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:999,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1001,1
    - Dst: first
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1001,1
    - Dst: std::array::back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1002,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1003,1
    - Dst: Botan::equal
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1003,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1006,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1012,1
    - Dst: Botan::bitvector::to_bytes
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1015,1
    - Dst: test_eq_sz
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1017,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 918
    functionDepth: 3
    functionLinenumber: 918
    functionLinenumberEnd: 1020
    functionName: Botan_Tests::test_bitvector_serialization
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - require
    - test_eq_sz
    - static_cast<size_t>
    - confirm
    - std::vector::empty
    - Botan::bitvector::to_bytes
    - Botan::equal
    - std::array::back
    - Botan::bitvector::at
    - auto::empty
    - first
    - size
    - Botan::bitvector::empty
    - Botan::copy_mem
    - test_eq
    - Botan::bitvector::set
    - std::array::size
    - Botan::fmt
    - Botan::secure_bitvector::to_bytes
    - validate_bytewise
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bitvector_serialization(Botan::RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Choice::yes
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1023,1
    - Dst: Botan::CT::Choice::no
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1024,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1027,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1029,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1030,1
    - Dst: Botan::bitvector::ct_conditional_xor
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1034,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1035,1
    - Dst: Botan::bitvector::ct_conditional_xor
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1037,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1038,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1041,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1043,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1044,1
    - Dst: Botan::bitvector::ct_conditional_xor
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1048,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1049,1
    - Dst: Botan::bitvector::ct_conditional_xor
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1051,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1052,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1055,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1057,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1058,1
    - Dst: Botan::bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1059,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1060,1
    - Dst: Botan::secure_bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1061,1
    - Dst: Botan::secure_bitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1062,1
    - Dst: Botan::bitvector::ct_conditional_xor
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1067,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1068,1
    - Dst: Botan::bitvector::ct_conditional_xor
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1070,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1022
    functionDepth: 3
    functionLinenumber: 1022
    functionLinenumberEnd: 1074
    functionName: Botan_Tests::test_bitvector_constant_time_operations
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan::bitvector::ct_conditional_xor
    - Botan::bitvector::push_back
    - confirm
    - Botan::CT::Choice::yes
    - Botan::CT::Choice::no
    - Botan::secure_bitvector::push_back
    - Botan::hex_decode
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bitvector_constant_time_operations(Botan::RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1079,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1085,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1087,1
    - Dst: Botan::bitvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1087,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1087,1
    - Dst: Botan_Tests::Test::timestamp
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1092,1
    - Dst: Botan::CT::Choice::from_int
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1094,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1094,1
    - Dst: auto::next_byte
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1094,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1095,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1095,1
    - Dst: auto::next_byte
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1095,1
    - Dst: Test::Result::set_ns_consumed
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1097,1
    - Dst: Botan_Tests::Test::timestamp
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1097,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1099,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1100,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1102
    functionName: Botan_Tests::test_bitvector_conditional_xor_workload
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - Botan::bitvector
    - auto::random_vec
    - Botan::CT::Choice::from_int
    - Test::Result::confirm
    - std::vector::at
    - Botan_Tests::Test::timestamp
    - Test::Result::set_ns_consumed
    - std::vector::push_back
    - std::vector::reserve
    - Botan_Tests::Test::new_rng
    - auto::next_byte
    - static_cast<uint8_t>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bitvector_conditional_xor_workload(Botan::RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1106,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1109,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1113,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1113,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1119,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1119,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1127,1
    - Dst: Botan::bitvector::all_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1127,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1130,1
    - Dst: Botan::bitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1133,1
    - Dst: Botan::bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1136,1
    - Dst: Botan::bitvector::end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1136,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1138,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1138,1
    - Dst: Botan::bitvector::cbegin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1142,1
    - Dst: Botan::bitvector::cend
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1142,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1144,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1144,1
    - Dst: auto::is_set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1144,1
    - Dst: Botan::bitvector::end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1148,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1153,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1153,1
    - Dst: Botan::bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1154,1
    - Dst: Botan::bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1156,1
    - Dst: Botan::bitvector::end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1156,1
    - Dst: auto::flip
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1157,1
    - Dst: Botan::bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1161,1
    - Dst: Botan::bitvector::end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1161,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1163,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1163,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1167,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1172,1
    - Dst: std::distance
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1172,1
    - Dst: Botan::bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1172,1
    - Dst: Botan::bitvector::end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1172,1
    - Dst: signed_size_t
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1172,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1173,1
    - Dst: std::distance
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1173,1
    - Dst: Botan::bitvector::cbegin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1173,1
    - Dst: Botan::bitvector::cend
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1173,1
    - Dst: signed_size_t
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1173,1
    - Dst: Botan::bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1175,1
    - Dst: std::advance
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1176,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1177,1
    - Dst: std::distance
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1177,1
    - Dst: Botan::bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1177,1
    - Dst: signed_size_t
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1177,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1180,1
    - Dst: Botan::bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1184,1
    - Dst: Botan::bitvector::end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1184,1
    - Dst: std::distance
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1185,1
    - Dst: Botan::bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1185,1
    - Dst: auto::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1186,1
    - Dst: std::distance
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1188,1
    - Dst: Botan::bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1188,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1195,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1195,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1200,1
    - Dst: Botan::secure_bitvector::cbegin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1203,1
    - Dst: Botan::secure_bitvector::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1204,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1209,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1210,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1211,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1212,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1213,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1214,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1215,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1216,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1104
    functionDepth: 3
    functionLinenumber: 1104
    functionLinenumberEnd: 1219
    functionName: Botan_Tests::test_bitvector_iterators
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - auto::is_set
    - confirm
    - std::advance
    - Botan::bitvector::all_vartime
    - Botan::secure_bitvector::cbegin
    - Botan::bitvector::end
    - auto::flip
    - signed_size_t
    - Botan::bitvector::cbegin
    - auto::set
    - Botan::secure_bitvector::begin
    - test_eq
    - Botan::bitvector::begin
    - test_is_eq
    - Botan::bitvector::set
    - Botan::bitvector::cend
    - Botan::fmt
    - std::distance
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bitvector_iterators(Botan::RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1230,1
    - Dst: TestBitvector::empty
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1230,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1231,1
    - Dst: TestBitvector::size
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1231,1
    - Dst: TestBitvector::at
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1234,1
    - Dst: TestBitvector::set
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1235,1
    - Dst: TestBitvector::unset
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1236,1
    - Dst: TestBitvector::flip
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1237,1
    - Dst: TestBitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1238,1
    - Dst: TestBitvector::push_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1239,1
    - Dst: TestBitvector::pop_back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1240,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1242,1
    - Dst: TestBitvector::front
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1242,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1243,1
    - Dst: TestBitvector::back
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1243,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1244,1
    - Dst: TestBitvector::any_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1244,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1245,1
    - Dst: TestBitvector::none_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1245,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1246,1
    - Dst: TestBitvector::all_vartime
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1246,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1248,1
    - Dst: TestBitvector::has_odd_hamming_weight
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1248,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1252,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1252,1
    - Dst: TestBitvector::flip
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1256,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1260,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1260,1
    - Dst: TestBitvector::as
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1264,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1267,1
    - Dst: auto::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1269,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1270,1
    - Dst: auto::subvector
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1272,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1273,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1274,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1274,1
    - Dst: auto::to_string
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1276,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1277,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1280
    functionName: Botan_Tests::test_bitvector_strongtype_adapter
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - TestBitvector::back
    - TestBitvector::empty
    - TestBitvector::at
    - Test::Result::test_eq
    - TestBitvector::as
    - auto::subvector
    - TestBitvector::pop_back
    - TestBitvector::any_vartime
    - Test::Result::confirm
    - auto::to_string
    - TestBitvector::none_vartime
    - TestBitvector::unset
    - TestBitvector::push_back
    - TestBitvector::has_odd_hamming_weight
    - Test::Result::test_is_eq
    - TestBitvector::set
    - TestBitvector::front
    - Botan::fmt
    - auto::get
    - TestBitvector::flip
    - TestBitvector::all_vartime
    - TestBitvector::size
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_bitvector_strongtype_adapter(Botan::RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzer_rng
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1288,1
    - Dst: test_func
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1304,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1305,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1305,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1305,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_utils_bitvector.cpp:1305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1286
    functionDepth: 2
    functionLinenumber: 1286
    functionLinenumberEnd: 1309
    functionName: Botan_Tests::BitVector_Tests::run
    functionSourceFile: /src/botan/src/tests/test_utils_bitvector.cpp
    functionUses: 0
    functionsReached:
    - fuzzer_rng
    - auto::begin
    - std::vector::insert
    - std::vector::end
    - auto::end
    - test_func
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:73,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:75,1
    - Dst: second
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:75,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:77,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:77,1
    - Dst: what
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:77,1
    - Dst: get_return_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:79,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:83,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:83,1
    - Dst: what
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' name'
    - ' fns'
    argTypes:
    - std::string
    - std::vector<std::pair<std::string, std::function<Test::Result()>>>
    constantsTouched: []
    func_position:
      end: 88
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 88
    functionName: run_pkcs11_tests
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::Test::Result::Failure
    - what
    - second
    - get_return_value
    - size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: "std::vector<Test::Result> run_pkcs11_tests(const std::string& name,\n
      \                                          std::vector<std::pair<std::string,
      std::function<Test::Result()>>>& fns)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::pkcs11_lib
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:97,1
    - Dst: Module::Module
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:97,1
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:98,1
    - Dst: std::make_unique<Slot>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:99,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:99,1
    - Dst: std::make_unique<Session>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:100,1
    - Dst: login
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:102,1
    - Dst: PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - login
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: TestSession::TestSession
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<Session>
    - Botan::PKCS11::Slot::get_available_slots
    - std::make_unique<Slot>
    - std::vector::at
    - Module::Module
    - Test::pkcs11_lib
    - PIN
    - login
    linkageType: ''
    returnType: void
    signature: void TestSession(bool login)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: '& session() const'
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Session
    signature: Session & session() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: '& slot() const'
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Slot
    signature: Slot & slot() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:121,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: test_module_ctor
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_module_ctor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Module::reload
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:134,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:135,1
    - Dst: Module::get_info
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:137,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: test_module_reload
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Module::get_info
    - Module::reload
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_module_reload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: test_multiple_modules
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_multiple_modules()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Module::get_info
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:158,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: test_module_get_info
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Module::get_info
    - Test::Result::test_ne
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_module_get_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:168,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:169,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:170,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:171,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: Module_Tests::run
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - STRING_AND_FUNCTION
    - run_pkcs11_tests
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:185,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:186,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: test_slot_get_available_slots
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_gte
    - std::vector::size
    - Botan::PKCS11::Slot::get_available_slots
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_slot_get_available_slots()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:195,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:197,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:198,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:199,1
    - Dst: Slot::slot_id
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:199,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 202
    functionName: test_slot_ctor
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Slot::slot_id
    - Botan::PKCS11::Slot::get_available_slots
    - Test::Result::test_is_eq
    - std::vector::at
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_slot_ctor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:208,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:209,1
    - Dst: Slot::get_slot_info
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:211,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:212,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:213,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: test_get_slot_info
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::confirm
    - Slot::get_slot_info
    - Botan::PKCS11::Slot::get_available_slots
    - std::string::empty
    - std::vector::at
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_slot_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:219,1
    - Dst: find
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:224,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:224,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:224,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' module'
    argTypes:
    - Module
    constantsTouched: []
    func_position:
      end: 229
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 229
    functionName: get_invalid_slot_id
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::begin
    - std::vector::end
    - find
    - Botan::PKCS11::Slot::get_available_slots
    linkageType: ''
    returnType: SlotId
    signature: SlotId get_invalid_slot_id(Module& module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_invalid_slot_id
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:236,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:240,1
    - Dst: Slot::get_slot_info
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 243
    functionName: test_slot_invalid_id
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - get_invalid_slot_id
    - Slot::get_slot_info
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_slot_invalid_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:249,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:250,1
    - Dst: Slot::get_token_info
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:252,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:253,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:254,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: test_get_token_info
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Slot::get_token_info
    - Test::Result::confirm
    - Botan::PKCS11::Slot::get_available_slots
    - std::string::empty
    - std::vector::at
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_token_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:263,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:264,1
    - Dst: Slot::get_mechanism_list
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:266,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:267,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 270
    functionName: test_get_mechanism_list
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - Test::Result::confirm
    - Slot::get_mechanism_list
    - Botan::PKCS11::Slot::get_available_slots
    - std::vector::at
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_mechanism_list()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:276,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:277,1
    - Dst: Slot::get_mechanism_info
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:279,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: test_get_mechanisms_info
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Slot::get_mechanism_info
    - std::vector::at
    - Test::Result::test_success
    - Botan::PKCS11::Slot::get_available_slots
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_mechanisms_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:289,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:290,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:291,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:292,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:293,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:294,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:295,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 298
    functionName: Slot_Tests::run
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - STRING_AND_FUNCTION
    - run_pkcs11_tests
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:309,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:310,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:314,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:318,1
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:321,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:323,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 332
    functionName: test_session_ctor
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::at
    - Botan::PKCS11::flags
    - Test::Result::test_success
    - Botan::PKCS11::Slot::get_available_slots
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_session_ctor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_invalid_slot_id
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:339,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 345
    functionName: test_session_ctor_invalid_slot
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - get_invalid_slot_id
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_session_ctor_invalid_slot()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:351,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:352,1
    - Dst: Session::release
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:355,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 361
    functionName: test_session_release
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Session::release
    - std::vector::at
    - Test::Result::test_success
    - Botan::PKCS11::Slot::get_available_slots
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_session_release()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:367,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:368,1
    - Dst: Session::login
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:371,1
    - Dst: PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:371,1
    - Dst: Session::logoff
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:372,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:373,1
    - Dst: Session::login
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:375,1
    - Dst: SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:375,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 379
    functionName: test_session_login_logout
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Session::logoff
    - Botan::PKCS11::Slot::get_available_slots
    - SO_PIN
    - std::vector::at
    - Test::Result::test_success
    - PIN
    - Session::login
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_session_login_logout()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:385,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:386,1
    - Dst: Session::get_info
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:389,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:390,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:390,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:391,1
    - Dst: static_cast<CK_STATE>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:392,1
    - Dst: Session::login
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:394,1
    - Dst: PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:394,1
    - Dst: Session::get_info
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:395,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:396,1
    - Dst: static_cast<CK_STATE>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:397,1
    - Dst: Session::logoff
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:399,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:400,1
    - Dst: Session::login
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:402,1
    - Dst: SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:402,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 406
    functionName: test_session_info
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - Session::get_info
    - Session::logoff
    - Botan::PKCS11::Slot::get_available_slots
    - SO_PIN
    - Test::Result::test_is_eq
    - std::vector::at
    - static_cast<CK_STATE>
    - Test::Result::test_success
    - PIN
    - Session::login
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_session_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:412,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:413,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:414,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:415,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:416,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 419
    functionName: Session_Tests::run
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - STRING_AND_FUNCTION
    - run_pkcs11_tests
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AttributeContainer::add_class
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:430,1
    - Dst: AttributeContainer::add_string
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:433,1
    - Dst: AttributeContainer::add_binary
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:436,1
    - Dst: AttributeContainer::add_bool
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:438,1
    - Dst: AttributeContainer::add_numeric
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:439,1
    - Dst: AttributeContainer::add_numeric
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:440,1
    - Dst: AttributeContainer::add_numeric
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:441,1
    - Dst: AttributeContainer::add_numeric
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:443,1
    - Dst: AttributeContainer::add_numeric
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:444,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:446,1
    - Dst: AttributeContainer::count
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:446,1
    - Dst: AttributeContainer::attributes
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:448,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:449,1
    - Dst: at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:449,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:450,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:450,1
    - Dst: at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:450,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:451,1
    - Dst: at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:451,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:452,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:452,1
    - Dst: at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:452,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:453,1
    - Dst: at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:453,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:454,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:454,1
    - Dst: at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:454,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:455,1
    - Dst: at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:455,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:456,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:456,1
    - Dst: at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 459
    functionName: test_attribute_container
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - AttributeContainer::add_class
    - AttributeContainer::add_binary
    - AttributeContainer::attributes
    - Test::Result::test_int_eq
    - reinterpret_cast<uint64_t*>
    - AttributeContainer::add_string
    - at
    - AttributeContainer::add_bool
    - AttributeContainer::count
    - Test::Result::test_eq
    - AttributeContainer::add_numeric
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_attribute_container()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::begin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:463,1
    - Dst: std::string::end
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:463,1
    - Dst: DER_Encoder
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:469,1
    - Dst: DataObjectProperties::set_application
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:472,1
    - Dst: DataObjectProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:473,1
    - Dst: DataObjectProperties::set_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:474,1
    - Dst: DataObjectProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:475,1
    - Dst: DataObjectProperties::set_modifiable
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:476,1
    - Dst: DataObjectProperties::set_object_id
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 480
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 480
    functionName: make_test_object
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - DataObjectProperties::set_application
    - DataObjectProperties::set_value
    - DER_Encoder
    - DataObjectProperties::set_label
    - DataObjectProperties::set_modifiable
    - DataObjectProperties::set_token
    - std::string::begin
    - DataObjectProperties::set_object_id
    - std::string::end
    linkageType: ''
    returnType: DataObjectProperties
    signature: DataObjectProperties make_test_object(const std::string& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_test_object
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:489,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:490,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:491,1
    - Dst: Object::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:493,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 497
    functionName: test_create_destroy_data_object
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - make_test_object
    - Object::destroy
    - Test::Result::test_success
    - TestSession::session
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_create_destroy_data_object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_test_object
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:506,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:507,1
    - Dst: Object::get_attribute_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:510,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:511,1
    - Dst: secure_vector::end
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:511,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:512,1
    - Dst: std::string::begin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:516,1
    - Dst: std::string::end
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:516,1
    - Dst: Object::set_attribute_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:517,1
    - Dst: Object::get_attribute_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:520,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:521,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:521,1
    - Dst: secure_vector::end
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:521,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:522,1
    - Dst: Object::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 526
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 526
    functionName: test_get_set_attribute_values
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::begin
    - TestSession::session
    - secure_vector::end
    - std::string
    - make_test_object
    - Object::set_attribute_value
    - Object::destroy
    - Test::Result::test_eq
    - std::string::begin
    - Object::get_attribute_value
    - std::string::end
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_get_set_attribute_values()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_test_object
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:535,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:536,1
    - Dst: AttributeContainer::add_string
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:540,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:541,1
    - Dst: AttributeContainer::attributes
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:541,1
    - Dst: ObjectFinder::find
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:543,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:544,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:544,1
    - Dst: ObjectFinder::finish
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:545,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:547,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:547,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:548,1
    - Dst: Object::get_attribute_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:549,1
    - Dst: Object::get_attribute_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:550,1
    - Dst: Object::search<Object>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:552,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:552,1
    - Dst: AttributeContainer::attributes
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:552,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:553,1
    - Dst: Object::get_attribute_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:554,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:555,1
    - Dst: Object::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 559
    functionName: test_object_finder
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - AttributeContainer::attributes
    - Object::search<Object>
    - TestSession::session
    - AttributeContainer::add_string
    - ObjectFinder::finish
    - Object::get_attribute_value
    - make_test_object
    - Object::destroy
    - auto::at
    - auto::size
    - Test::Result::test_eq
    - ObjectFinder::find
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_object_finder()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_test_object
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:568,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:569,1
    - Dst: AttributeContainer::add_string
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:573,1
    - Dst: Object::copy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:574,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:576,1
    - Dst: AttributeContainer::attributes
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:576,1
    - Dst: ObjectFinder::find
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:577,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:578,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:578,1
    - Dst: Object::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:580,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:582,1
    - Dst: Object::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 585
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 585
    functionName: test_object_copy
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - AttributeContainer::attributes
    - Object::copy
    - TestSession::session
    - AttributeContainer::add_string
    - make_test_object
    - Object::destroy
    - auto::size
    - Test::Result::test_eq
    - ObjectFinder::find
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_object_copy()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:592,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:595,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:596,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:597,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:598,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 603
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 603
    functionName: Object_Tests::run
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - STRING_AND_FUNCTION
    - run_pkcs11_tests
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:617,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:621,1
    - Dst: RSA_PrivateKey::check_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:621,1
    - Dst: RSA_PrivateKey::get_n
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:624,1
    - Dst: RSA_PrivateKey::get_d
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:624,1
    - Dst: RSA_PrivateKeyImportProperties::set_pub_exponent
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:625,1
    - Dst: RSA_PrivateKey::get_e
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:625,1
    - Dst: RSA_PrivateKeyImportProperties::set_prime_1
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:626,1
    - Dst: RSA_PrivateKey::get_p
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:626,1
    - Dst: RSA_PrivateKeyImportProperties::set_prime_2
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:627,1
    - Dst: RSA_PrivateKey::get_q
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:627,1
    - Dst: RSA_PrivateKeyImportProperties::set_coefficient
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:628,1
    - Dst: RSA_PrivateKey::get_c
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:628,1
    - Dst: RSA_PrivateKeyImportProperties::set_exponent_1
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:629,1
    - Dst: RSA_PrivateKey::get_d1
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:629,1
    - Dst: RSA_PrivateKeyImportProperties::set_exponent_2
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:630,1
    - Dst: RSA_PrivateKey::get_d2
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:630,1
    - Dst: RSA_PrivateKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:632,1
    - Dst: RSA_PrivateKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:633,1
    - Dst: RSA_PrivateKeyImportProperties::set_decrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:634,1
    - Dst: RSA_PrivateKeyImportProperties::set_sign
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:635,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:637,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:638,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:639,1
    - Dst: PKCS11_RSA_PrivateKey::check_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:639,1
    - Dst: PKCS11_RSA_PrivateKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 643
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 643
    functionName: test_rsa_privkey_import
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - RSA_PrivateKeyImportProperties::set_exponent_1
    - RSA_PrivateKeyImportProperties::set_coefficient
    - RSA_PrivateKeyImportProperties::set_sign
    - RSA_PrivateKeyImportProperties::set_pub_exponent
    - RSA_PrivateKey::get_d1
    - TestSession::session
    - Test::Result::confirm
    - RSA_PrivateKeyImportProperties::set_prime_1
    - PKCS11_RSA_PrivateKey::destroy
    - RSA_PrivateKeyImportProperties::set_prime_2
    - RSA_PrivateKey::get_c
    - RSA_PrivateKeyImportProperties::set_token
    - Test::Result::test_success
    - PKCS11_RSA_PrivateKey::check_key
    - RSA_PrivateKey::get_e
    - RSA_PrivateKey::get_d
    - RSA_PrivateKey::get_n
    - RSA_PrivateKeyImportProperties::set_exponent_2
    - Botan_Tests::Test::new_rng
    - RSA_PrivateKey::get_p
    - RSA_PrivateKeyImportProperties::set_private
    - RSA_PrivateKey::check_key
    - RSA_PrivateKeyImportProperties::set_decrypt
    - RSA_PrivateKey::get_q
    - RSA_PrivateKey::get_d2
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rsa_privkey_import()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:650,1
    - Dst: RSA_PrivateKey::get_n
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:656,1
    - Dst: RSA_PrivateKey::get_d
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:656,1
    - Dst: RSA_PrivateKeyImportProperties::set_pub_exponent
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:657,1
    - Dst: RSA_PrivateKey::get_e
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:657,1
    - Dst: RSA_PrivateKeyImportProperties::set_prime_1
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:658,1
    - Dst: RSA_PrivateKey::get_p
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:658,1
    - Dst: RSA_PrivateKeyImportProperties::set_prime_2
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:659,1
    - Dst: RSA_PrivateKey::get_q
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:659,1
    - Dst: RSA_PrivateKeyImportProperties::set_coefficient
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:660,1
    - Dst: RSA_PrivateKey::get_c
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:660,1
    - Dst: RSA_PrivateKeyImportProperties::set_exponent_1
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:661,1
    - Dst: RSA_PrivateKey::get_d1
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:661,1
    - Dst: RSA_PrivateKeyImportProperties::set_exponent_2
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:662,1
    - Dst: RSA_PrivateKey::get_d2
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:662,1
    - Dst: RSA_PrivateKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:664,1
    - Dst: RSA_PrivateKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:665,1
    - Dst: RSA_PrivateKeyImportProperties::set_decrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:666,1
    - Dst: RSA_PrivateKeyImportProperties::set_sign
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:667,1
    - Dst: RSA_PrivateKeyImportProperties::set_extractable
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:668,1
    - Dst: RSA_PrivateKeyImportProperties::set_sensitive
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:669,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:671,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:672,1
    - Dst: PKCS11_RSA_PrivateKey::check_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:672,1
    - Dst: PKCS11_RSA_PrivateKey::export_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:674,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:675,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:676,1
    - Dst: RSA_PrivateKey::check_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:676,1
    - Dst: PKCS11_RSA_PrivateKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 680
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 680
    functionName: test_rsa_privkey_export
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - RSA_PrivateKeyImportProperties::set_exponent_1
    - RSA_PrivateKeyImportProperties::set_coefficient
    - RSA_PrivateKeyImportProperties::set_sign
    - RSA_PrivateKeyImportProperties::set_pub_exponent
    - PKCS11_RSA_PrivateKey::export_key
    - RSA_PrivateKeyImportProperties::set_extractable
    - RSA_PrivateKey::get_d1
    - TestSession::session
    - Test::Result::confirm
    - RSA_PrivateKeyImportProperties::set_prime_1
    - PKCS11_RSA_PrivateKey::destroy
    - RSA_PrivateKeyImportProperties::set_prime_2
    - RSA_PrivateKey::get_c
    - RSA_PrivateKeyImportProperties::set_token
    - Test::Result::test_success
    - PKCS11_RSA_PrivateKey::check_key
    - RSA_PrivateKey::get_e
    - RSA_PrivateKeyImportProperties::set_sensitive
    - RSA_PrivateKey::get_d
    - RSA_PrivateKey::get_n
    - RSA_PrivateKeyImportProperties::set_exponent_2
    - Botan_Tests::Test::new_rng
    - RSA_PrivateKey::get_p
    - RSA_PrivateKeyImportProperties::set_private
    - RSA_PrivateKey::check_key
    - RSA_PrivateKeyImportProperties::set_decrypt
    - RSA_PrivateKey::get_q
    - RSA_PrivateKey::get_d2
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rsa_privkey_export()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:687,1
    - Dst: RSA_PrivateKey::get_n
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:693,1
    - Dst: RSA_PrivateKey::get_e
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:693,1
    - Dst: RSA_PublicKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:694,1
    - Dst: RSA_PublicKeyImportProperties::set_encrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:695,1
    - Dst: RSA_PublicKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:696,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:698,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:699,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:700,1
    - Dst: PKCS11_RSA_PublicKey::check_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:700,1
    - Dst: PKCS11_RSA_PublicKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 705
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 705
    functionName: test_rsa_pubkey_import
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - RSA_PublicKeyImportProperties::set_private
    - TestSession::session
    - RSA_PrivateKey::get_e
    - Test::Result::confirm
    - PKCS11_RSA_PublicKey::check_key
    - RSA_PublicKeyImportProperties::set_token
    - RSA_PrivateKey::get_n
    - Botan_Tests::Test::new_rng
    - PKCS11_RSA_PublicKey::destroy
    - Test::Result::test_success
    - RSA_PublicKeyImportProperties::set_encrypt
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rsa_pubkey_import()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RSA_PrivateKeyGenerationProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:712,1
    - Dst: RSA_PrivateKeyGenerationProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:713,1
    - Dst: RSA_PrivateKeyGenerationProperties::set_sign
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:714,1
    - Dst: RSA_PrivateKeyGenerationProperties::set_decrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:715,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:717,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:718,1
    - Dst: PKCS11_RSA_PrivateKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 723
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 723
    functionName: test_rsa_generate_private_key
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - RSA_PrivateKeyGenerationProperties::set_private
    - RSA_PrivateKeyGenerationProperties::set_token
    - TestSession::session
    - RSA_PrivateKeyGenerationProperties::set_sign
    - PKCS11_RSA_PrivateKey::destroy
    - Test::Result::test_success
    - RSA_PrivateKeyGenerationProperties::set_decrypt
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rsa_generate_private_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RSA_PublicKeyGenerationProperties::set_pub_exponent
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:727,1
    - Dst: RSA_PublicKeyGenerationProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:728,1
    - Dst: RSA_PublicKeyGenerationProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:729,1
    - Dst: RSA_PublicKeyGenerationProperties::set_encrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:730,1
    - Dst: RSA_PublicKeyGenerationProperties::set_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:731,1
    - Dst: RSA_PublicKeyGenerationProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:732,1
    - Dst: RSA_PrivateKeyGenerationProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:735,1
    - Dst: RSA_PrivateKeyGenerationProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:736,1
    - Dst: RSA_PrivateKeyGenerationProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:737,1
    - Dst: RSA_PrivateKeyGenerationProperties::set_sign
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:738,1
    - Dst: RSA_PrivateKeyGenerationProperties::set_decrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:739,1
    - Dst: Botan::PKCS11::generate_rsa_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:741,1
    - Dst: session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' test_session'
    argTypes:
    - TestSession
    constantsTouched: []
    func_position:
      end: 742
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 742
    functionName: generate_rsa_keypair
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 1
    functionsReached:
    - RSA_PrivateKeyGenerationProperties::set_private
    - RSA_PrivateKeyGenerationProperties::set_token
    - RSA_PublicKeyGenerationProperties::set_label
    - session
    - RSA_PrivateKeyGenerationProperties::set_sign
    - RSA_PublicKeyGenerationProperties::set_pub_exponent
    - RSA_PublicKeyGenerationProperties::set_verify
    - RSA_PublicKeyGenerationProperties::set_encrypt
    - RSA_PrivateKeyGenerationProperties::set_decrypt
    - Botan::PKCS11::generate_rsa_keypair
    - RSA_PrivateKeyGenerationProperties::set_label
    - RSA_PublicKeyGenerationProperties::set_token
    - RSA_PublicKeyGenerationProperties::set_private
    linkageType: ''
    returnType: PKCS11_RSA_KeyPair
    signature: PKCS11_RSA_KeyPair generate_rsa_keypair(const TestSession& test_session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_rsa_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:748,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:749,1
    - Dst: PKCS11_RSA_KeyPair::first::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:751,1
    - Dst: PKCS11_RSA_KeyPair::second::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 755
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 755
    functionName: test_rsa_generate_key_pair
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - PKCS11_RSA_KeyPair::second::destroy
    - Test::Result::test_success
    - generate_rsa_keypair
    - PKCS11_RSA_KeyPair::first::destroy
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rsa_generate_key_pair()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_rsa_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:762,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:764,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:772,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:774,1
    - Dst: what
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:774,1
    - Dst: PKCS11_RSA_KeyPair::second::set_use_software_padding
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:780,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:782,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:790,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:790,1
    - Dst: what
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:790,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:793,1
    - Dst: std::iota
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:797,1
    - Dst: begin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:797,1
    - Dst: end
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:797,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:797,1
    - Dst: encrypt_and_decrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:798,1
    - Dst: encrypt_and_decrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:801,1
    - Dst: encrypt_and_decrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:802,1
    - Dst: encrypt_and_decrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:804,1
    - Dst: encrypt_and_decrypt
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:805,1
    - Dst: PKCS11_RSA_KeyPair::first::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:807,1
    - Dst: PKCS11_RSA_KeyPair::second::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 811
      start: 757
    functionDepth: 2
    functionLinenumber: 757
    functionLinenumberEnd: 811
    functionName: test_rsa_encrypt_decrypt
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - PKCS11_RSA_KeyPair::second::destroy
    - generate_rsa_keypair
    - PKCS11_RSA_KeyPair::second::set_use_software_padding
    - Botan::PK_Encryptor_EME::encrypt
    - what
    - std::ostringstream::str
    - begin
    - encrypt_and_decrypt
    - Botan::PK_Decryptor_EME::decrypt
    - std::iota
    - Test::Result::test_failure
    - end
    - PKCS11_RSA_KeyPair::first::destroy
    - Test::Result::test_eq
    - Botan_Tests::Test::new_rng
    - static_cast<uint8_t>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rsa_encrypt_decrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_rsa_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:818,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:820,1
    - Dst: std::iota
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:823,1
    - Dst: begin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:823,1
    - Dst: end
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:823,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:823,1
    - Dst: Botan::PK_Signer::update
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:829,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:829,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:829,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:830,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:830,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:830,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:830,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:832,1
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:838,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:838,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:838,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:839,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:840,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:840,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:840,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:840,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:840,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:842,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:845,1
    - Dst: sign_and_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:849,1
    - Dst: sign_and_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:850,1
    - Dst: sign_and_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:851,1
    - Dst: sign_and_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:854,1
    - Dst: sign_and_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:855,1
    - Dst: PKCS11_RSA_KeyPair::first::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:857,1
    - Dst: PKCS11_RSA_KeyPair::second::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 861
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 861
    functionName: test_rsa_sign_verify
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - PKCS11_RSA_KeyPair::second::destroy
    - generate_rsa_keypair
    - std::vector::size
    - Botan::PK_Signer::sign_message
    - Botan::PK_Verifier::verify_message
    - sign_and_verify
    - begin
    - Botan::PK_Signer::update
    - std::iota
    - end
    - PKCS11_RSA_KeyPair::first::destroy
    - Test::Result::test_eq
    - Botan::PK_Verifier::update
    - Botan_Tests::Test::new_rng
    - static_cast<uint8_t>
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rsa_sign_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:867,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:868,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:869,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:870,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:871,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:872,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:873,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 876
      start: 865
    functionDepth: 2
    functionLinenumber: 865
    functionLinenumberEnd: 876
    functionName: PKCS11_RSA_Tests::run
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - STRING_AND_FUNCTION
    - run_pkcs11_tests
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:887,1
    - Dst: _public_ec_point
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pk'
    argTypes:
    - Botan::EC_PublicKey
    constantsTouched: []
    func_position:
      end: 889
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 889
    functionName: encode_ec_point_in_octet_str
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - _public_ec_point
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> encode_ec_point_in_octet_str(const Botan::EC_PublicKey&
      pk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:899,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:902,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:903,1
    - Dst: ECDSA_PrivateKey::check_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:903,1
    - Dst: ECDSA_PrivateKey::DER_domain
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:906,1
    - Dst: ECDSA_PrivateKey::private_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:906,1
    - Dst: EC_PrivateKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:907,1
    - Dst: EC_PrivateKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:908,1
    - Dst: EC_PrivateKeyImportProperties::set_sign
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:909,1
    - Dst: EC_PrivateKeyImportProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:913,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:915,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:916,1
    - Dst: PKCS11_ECDSA_PrivateKey::set_public_point
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:917,1
    - Dst: ECDSA_PrivateKey::_public_ec_point
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:917,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:918,1
    - Dst: PKCS11_ECDSA_PrivateKey::check_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:918,1
    - Dst: PKCS11_ECDSA_PrivateKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 922
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 922
    functionName: test_ecdsa_privkey_import
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - EC_PrivateKeyImportProperties::set_sign
    - PKCS11_ECDSA_PrivateKey::destroy
    - ECDSA_PrivateKey::check_key
    - EC_PrivateKeyImportProperties::set_label
    - ECDSA_PrivateKey::DER_domain
    - TestSession::session
    - Test::Result::confirm
    - EC_PrivateKeyImportProperties::set_private
    - PKCS11_ECDSA_PrivateKey::set_public_point
    - ECDSA_PrivateKey::private_value
    - ECDSA_PrivateKey::_public_ec_point
    - PKCS11_ECDSA_PrivateKey::check_key
    - Botan::EC_Group::from_name
    - Botan_Tests::Test::new_rng
    - Test::Result::test_success
    - EC_PrivateKeyImportProperties::set_token
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdsa_privkey_import()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:929,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:932,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:934,1
    - Dst: ECDSA_PrivateKey::check_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:934,1
    - Dst: ECDSA_PrivateKey::DER_domain
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:936,1
    - Dst: ECDSA_PrivateKey::private_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:936,1
    - Dst: EC_PrivateKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:937,1
    - Dst: EC_PrivateKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:938,1
    - Dst: EC_PrivateKeyImportProperties::set_sign
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:939,1
    - Dst: EC_PrivateKeyImportProperties::set_extractable
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:940,1
    - Dst: EC_PrivateKeyImportProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:944,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:946,1
    - Dst: PKCS11_ECDSA_PrivateKey::set_public_point
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:947,1
    - Dst: ECDSA_PrivateKey::_public_ec_point
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:947,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:948,1
    - Dst: PKCS11_ECDSA_PrivateKey::check_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:948,1
    - Dst: PKCS11_ECDSA_PrivateKey::export_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:950,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:951,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:952,1
    - Dst: ECDSA_PrivateKey::check_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:952,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:953,1
    - Dst: ECDSA_PrivateKey::private_key_bits
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:953,1
    - Dst: ECDSA_PrivateKey::private_key_bits
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:953,1
    - Dst: PKCS11_ECDSA_PrivateKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 957
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 957
    functionName: test_ecdsa_privkey_export
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - EC_PrivateKeyImportProperties::set_sign
    - EC_PrivateKeyImportProperties::set_private
    - PKCS11_ECDSA_PrivateKey::check_key
    - Test::Result::test_eq
    - ECDSA_PrivateKey::private_key_bits
    - TestSession::session
    - Test::Result::confirm
    - PKCS11_ECDSA_PrivateKey::set_public_point
    - Test::Result::test_success
    - PKCS11_ECDSA_PrivateKey::destroy
    - ECDSA_PrivateKey::DER_domain
    - EC_PrivateKeyImportProperties::set_extractable
    - ECDSA_PrivateKey::_public_ec_point
    - PKCS11_ECDSA_PrivateKey::export_key
    - Botan_Tests::Test::new_rng
    - EC_PrivateKeyImportProperties::set_token
    - ECDSA_PrivateKey::check_key
    - EC_PrivateKeyImportProperties::set_label
    - ECDSA_PrivateKey::private_value
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdsa_privkey_export()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:964,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:967,1
    - Dst: encode_ec_point_in_octet_str
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:969,1
    - Dst: ECDSA_PrivateKey::DER_domain
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:972,1
    - Dst: EC_PublicKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:973,1
    - Dst: EC_PublicKeyImportProperties::set_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:974,1
    - Dst: EC_PublicKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:975,1
    - Dst: EC_PublicKeyImportProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:979,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:981,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:982,1
    - Dst: PKCS11_ECDSA_PublicKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 986
      start: 959
    functionDepth: 1
    functionLinenumber: 959
    functionLinenumberEnd: 986
    functionName: test_ecdsa_pubkey_import
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - EC_PublicKeyImportProperties::set_token
    - EC_PublicKeyImportProperties::set_private
    - EC_PublicKeyImportProperties::set_label
    - ECDSA_PrivateKey::DER_domain
    - TestSession::session
    - encode_ec_point_in_octet_str
    - PKCS11_ECDSA_PublicKey::destroy
    - Botan::EC_Group::from_name
    - EC_PublicKeyImportProperties::set_verify
    - Botan_Tests::Test::new_rng
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdsa_pubkey_import()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:993,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:996,1
    - Dst: encode_ec_point_in_octet_str
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:998,1
    - Dst: ECDSA_PrivateKey::DER_domain
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1001,1
    - Dst: EC_PublicKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1002,1
    - Dst: EC_PublicKeyImportProperties::set_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1003,1
    - Dst: EC_PublicKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1004,1
    - Dst: EC_PublicKeyImportProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1008,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1010,1
    - Dst: PKCS11_ECDSA_PublicKey::export_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1012,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1013,1
    - Dst: PKCS11_ECDSA_PublicKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1018
    functionName: test_ecdsa_pubkey_export
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - EC_PublicKeyImportProperties::set_token
    - EC_PublicKeyImportProperties::set_private
    - EC_PublicKeyImportProperties::set_label
    - ECDSA_PrivateKey::DER_domain
    - TestSession::session
    - encode_ec_point_in_octet_str
    - PKCS11_ECDSA_PublicKey::destroy
    - PKCS11_ECDSA_PublicKey::export_key
    - Botan::EC_Group::from_name
    - EC_PublicKeyImportProperties::set_verify
    - Botan_Tests::Test::new_rng
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdsa_pubkey_export()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_PrivateKeyGenerationProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1025,1
    - Dst: EC_PrivateKeyGenerationProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1026,1
    - Dst: EC_PrivateKeyGenerationProperties::set_sign
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1027,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1029,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1029,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1030,1
    - Dst: PKCS11_ECDSA_PrivateKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1035
    functionName: test_ecdsa_generate_private_key
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - EC_PrivateKeyGenerationProperties::set_sign
    - PKCS11_ECDSA_PrivateKey::destroy
    - TestSession::session
    - EC_PrivateKeyGenerationProperties::set_token
    - Botan::EC_Group::from_name
    - Test::Result::test_success
    - EC_PrivateKeyGenerationProperties::set_private
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdsa_generate_private_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1040,1
    - Dst: EC_PublicKeyGenerationProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1041,1
    - Dst: EC_PublicKeyGenerationProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1042,1
    - Dst: EC_PublicKeyGenerationProperties::set_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1043,1
    - Dst: EC_PublicKeyGenerationProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1044,1
    - Dst: EC_PublicKeyGenerationProperties::set_modifiable
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1045,1
    - Dst: EC_PrivateKeyGenerationProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1048,1
    - Dst: EC_PrivateKeyGenerationProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1049,1
    - Dst: EC_PrivateKeyGenerationProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1050,1
    - Dst: EC_PrivateKeyGenerationProperties::set_sensitive
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1051,1
    - Dst: EC_PrivateKeyGenerationProperties::set_extractable
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1052,1
    - Dst: EC_PrivateKeyGenerationProperties::set_sign
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1053,1
    - Dst: EC_PrivateKeyGenerationProperties::set_modifiable
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1054,1
    - Dst: Botan::PKCS11::generate_ecdsa_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1056,1
    - Dst: session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' test_session'
    - ' curve'
    - enc
    argTypes:
    - TestSession
    - std::string
    - EC_Group_Encoding
    constantsTouched: []
    func_position:
      end: 1057
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1057
    functionName: generate_ecdsa_keypair
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 1
    functionsReached:
    - EC_PrivateKeyGenerationProperties::set_sign
    - EC_PublicKeyGenerationProperties::set_verify
    - EC_PublicKeyGenerationProperties::set_private
    - EC_PublicKeyGenerationProperties::set_token
    - EC_PublicKeyGenerationProperties::set_modifiable
    - EC_PrivateKeyGenerationProperties::set_label
    - session
    - Botan::PKCS11::generate_ecdsa_keypair
    - EC_PublicKeyGenerationProperties::set_label
    - EC_PrivateKeyGenerationProperties::set_token
    - Botan::EC_Group::from_name
    - EC_PrivateKeyGenerationProperties::set_modifiable
    - EC_PrivateKeyGenerationProperties::set_sensitive
    - EC_PrivateKeyGenerationProperties::set_private
    - EC_PrivateKeyGenerationProperties::set_extractable
    linkageType: ''
    returnType: PKCS11_ECDSA_KeyPair
    signature: "PKCS11_ECDSA_KeyPair generate_ecdsa_keypair(const TestSession& test_session,\n
      \                                           const std::string& curve,\n                                            EC_Group_Encoding
      enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1064,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1065,1
    - Dst: generate_ecdsa_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1068,1
    - Dst: PKCS11_ECDSA_KeyPair::first::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1070,1
    - Dst: PKCS11_ECDSA_KeyPair::second::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1071,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1059
    functionDepth: 2
    functionLinenumber: 1059
    functionLinenumberEnd: 1076
    functionName: test_ecdsa_generate_keypair
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - generate_ecdsa_keypair
    - PKCS11_ECDSA_KeyPair::first::destroy
    - PKCS11_ECDSA_KeyPair::second::destroy
    - std::vector::push_back
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdsa_generate_keypair()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1083,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1084,1
    - Dst: TestSession::slot
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1086,1
    - Dst: get_slot_info
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1087,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1088,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1090,1
    - Dst: generate_ecdsa_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1094,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1100,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1112,1
    - Dst: std::string::find
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1117,1
    - Dst: sign_and_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1118,1
    - Dst: sign_and_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1119,1
    - Dst: sign_and_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1123,1
    - Dst: sign_and_verify
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1125,1
    - Dst: PKCS11_ECDSA_KeyPair::first::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1128,1
    - Dst: PKCS11_ECDSA_KeyPair::second::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - enc
    - ' test_name'
    argTypes:
    - EC_Group_Encoding
    - std::string
    constantsTouched: []
    func_position:
      end: 1133
      start: 1078
    functionDepth: 2
    functionLinenumber: 1078
    functionLinenumberEnd: 1133
    functionName: test_ecdsa_sign_verify_core
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - generate_ecdsa_keypair
    - get_slot_info
    - sign_and_verify
    - Botan::PK_Signer::sign_message
    - TestSession::slot
    - PKCS11_ECDSA_KeyPair::second::destroy
    - std::string::find
    - std::vector::push_back
    - Test::Result::test_eq
    - Botan_Tests::Test::new_rng
    - reinterpret_cast<char*>
    - PKCS11_ECDSA_KeyPair::first::destroy
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdsa_sign_verify_core(EC_Group_Encoding enc, const
      std::string& test_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdsa_sign_verify_core
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1135
    functionDepth: 3
    functionLinenumber: 1135
    functionLinenumberEnd: 1138
    functionName: test_ecdsa_sign_verify
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - test_ecdsa_sign_verify_core
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdsa_sign_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdsa_sign_verify_core
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1140
    functionDepth: 3
    functionLinenumber: 1140
    functionLinenumberEnd: 1143
    functionName: test_ecdsa_curve_import
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - test_ecdsa_sign_verify_core
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdsa_curve_import()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1149,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1150,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1151,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1152,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1153,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1154,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1155,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1156,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1147
    functionDepth: 2
    functionLinenumber: 1147
    functionLinenumberEnd: 1159
    functionName: PKCS11_ECDSA_Tests::run
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - STRING_AND_FUNCTION
    - run_pkcs11_tests
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1175,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1178,1
    - Dst: ECDH_PrivateKey::DER_domain
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1181,1
    - Dst: ECDH_PrivateKey::private_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1181,1
    - Dst: EC_PrivateKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1182,1
    - Dst: EC_PrivateKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1183,1
    - Dst: EC_PrivateKeyImportProperties::set_derive
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1184,1
    - Dst: EC_PrivateKeyImportProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1188,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1190,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1191,1
    - Dst: PKCS11_ECDH_PrivateKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1195
    functionName: test_ecdh_privkey_import
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - PKCS11_ECDH_PrivateKey::destroy
    - EC_PrivateKeyImportProperties::set_label
    - ECDH_PrivateKey::DER_domain
    - TestSession::session
    - EC_PrivateKeyImportProperties::set_private
    - ECDH_PrivateKey::private_value
    - EC_PrivateKeyImportProperties::set_derive
    - Botan::EC_Group::from_name
    - Botan_Tests::Test::new_rng
    - Test::Result::test_success
    - EC_PrivateKeyImportProperties::set_token
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdh_privkey_import()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1202,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1205,1
    - Dst: ECDH_PrivateKey::DER_domain
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1208,1
    - Dst: ECDH_PrivateKey::private_value
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1208,1
    - Dst: EC_PrivateKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1209,1
    - Dst: EC_PrivateKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1210,1
    - Dst: EC_PrivateKeyImportProperties::set_derive
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1211,1
    - Dst: EC_PrivateKeyImportProperties::set_extractable
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1212,1
    - Dst: EC_PrivateKeyImportProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1216,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1218,1
    - Dst: PKCS11_ECDH_PrivateKey::export_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1220,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1221,1
    - Dst: PKCS11_ECDH_PrivateKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1225
    functionName: test_ecdh_privkey_export
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - PKCS11_ECDH_PrivateKey::destroy
    - EC_PrivateKeyImportProperties::set_label
    - ECDH_PrivateKey::DER_domain
    - TestSession::session
    - EC_PrivateKeyImportProperties::set_private
    - ECDH_PrivateKey::private_value
    - EC_PrivateKeyImportProperties::set_extractable
    - EC_PrivateKeyImportProperties::set_derive
    - Botan::EC_Group::from_name
    - Botan_Tests::Test::new_rng
    - Test::Result::test_success
    - EC_PrivateKeyImportProperties::set_token
    - PKCS11_ECDH_PrivateKey::export_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdh_privkey_export()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1232,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1235,1
    - Dst: encode_ec_point_in_octet_str
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1237,1
    - Dst: ECDH_PrivateKey::DER_domain
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1240,1
    - Dst: EC_PublicKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1241,1
    - Dst: EC_PublicKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1242,1
    - Dst: EC_PublicKeyImportProperties::set_derive
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1243,1
    - Dst: EC_PublicKeyImportProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1247,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1249,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1250,1
    - Dst: PKCS11_ECDH_PublicKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1254
    functionName: test_ecdh_pubkey_import
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - EC_PublicKeyImportProperties::set_token
    - EC_PublicKeyImportProperties::set_private
    - EC_PublicKeyImportProperties::set_label
    - ECDH_PrivateKey::DER_domain
    - encode_ec_point_in_octet_str
    - TestSession::session
    - EC_PublicKeyImportProperties::set_derive
    - PKCS11_ECDH_PublicKey::destroy
    - Botan::EC_Group::from_name
    - Botan_Tests::Test::new_rng
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdh_pubkey_import()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1261,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1264,1
    - Dst: encode_ec_point_in_octet_str
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1266,1
    - Dst: ECDH_PrivateKey::DER_domain
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1269,1
    - Dst: EC_PublicKeyImportProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1270,1
    - Dst: EC_PublicKeyImportProperties::set_derive
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1271,1
    - Dst: EC_PublicKeyImportProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1272,1
    - Dst: EC_PublicKeyImportProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1276,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1278,1
    - Dst: PKCS11_ECDH_PublicKey::export_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1280,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1281,1
    - Dst: PKCS11_ECDH_PublicKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1286
    functionName: test_ecdh_pubkey_export
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - EC_PublicKeyImportProperties::set_token
    - EC_PublicKeyImportProperties::set_private
    - EC_PublicKeyImportProperties::set_label
    - PKCS11_ECDH_PublicKey::export_key
    - ECDH_PrivateKey::DER_domain
    - encode_ec_point_in_octet_str
    - TestSession::session
    - EC_PublicKeyImportProperties::set_derive
    - PKCS11_ECDH_PublicKey::destroy
    - Botan::EC_Group::from_name
    - Botan_Tests::Test::new_rng
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdh_pubkey_export()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_PrivateKeyGenerationProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1293,1
    - Dst: EC_PrivateKeyGenerationProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1294,1
    - Dst: EC_PrivateKeyGenerationProperties::set_derive
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1295,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1297,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1297,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1298,1
    - Dst: PKCS11_ECDH_PrivateKey::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1303
    functionName: test_ecdh_generate_private_key
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - EC_PrivateKeyGenerationProperties::set_derive
    - PKCS11_ECDH_PrivateKey::destroy
    - TestSession::session
    - EC_PrivateKeyGenerationProperties::set_token
    - Botan::EC_Group::from_name
    - Test::Result::test_success
    - EC_PrivateKeyGenerationProperties::set_private
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdh_generate_private_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1306,1
    - Dst: EC_PublicKeyGenerationProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1307,1
    - Dst: EC_PublicKeyGenerationProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1308,1
    - Dst: EC_PublicKeyGenerationProperties::set_derive
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1309,1
    - Dst: EC_PublicKeyGenerationProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1310,1
    - Dst: EC_PublicKeyGenerationProperties::set_modifiable
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1311,1
    - Dst: EC_PrivateKeyGenerationProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1314,1
    - Dst: EC_PrivateKeyGenerationProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1315,1
    - Dst: EC_PrivateKeyGenerationProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1316,1
    - Dst: EC_PrivateKeyGenerationProperties::set_sensitive
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1317,1
    - Dst: EC_PrivateKeyGenerationProperties::set_extractable
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1318,1
    - Dst: EC_PrivateKeyGenerationProperties::set_derive
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1319,1
    - Dst: EC_PrivateKeyGenerationProperties::set_modifiable
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1320,1
    - Dst: Botan::PKCS11::generate_ecdh_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1322,1
    - Dst: session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - ' test_session'
    - ' label'
    argTypes:
    - TestSession
    - std::string
    constantsTouched: []
    func_position:
      end: 1323
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1323
    functionName: generate_ecdh_keypair
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 1
    functionsReached:
    - EC_PublicKeyGenerationProperties::set_private
    - EC_PublicKeyGenerationProperties::set_token
    - EC_PublicKeyGenerationProperties::set_modifiable
    - EC_PrivateKeyGenerationProperties::set_label
    - EC_PrivateKeyGenerationProperties::set_derive
    - session
    - EC_PublicKeyGenerationProperties::set_label
    - EC_PrivateKeyGenerationProperties::set_token
    - Botan::PKCS11::generate_ecdh_keypair
    - EC_PublicKeyGenerationProperties::set_derive
    - Botan::EC_Group::from_name
    - EC_PrivateKeyGenerationProperties::set_modifiable
    - EC_PrivateKeyGenerationProperties::set_sensitive
    - EC_PrivateKeyGenerationProperties::set_private
    - EC_PrivateKeyGenerationProperties::set_extractable
    linkageType: ''
    returnType: PKCS11_ECDH_KeyPair
    signature: PKCS11_ECDH_KeyPair generate_ecdh_keypair(const TestSession& test_session,
      const std::string& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_ecdh_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1329,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1330,1
    - Dst: PKCS11_ECDH_KeyPair::first::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1332,1
    - Dst: PKCS11_ECDH_KeyPair::second::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1325
    functionDepth: 2
    functionLinenumber: 1325
    functionLinenumberEnd: 1336
    functionName: test_ecdh_generate_keypair
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - PKCS11_ECDH_KeyPair::second::destroy
    - PKCS11_ECDH_KeyPair::first::destroy
    - Test::Result::test_success
    - generate_ecdh_keypair
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdh_generate_keypair()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_ecdh_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1342,1
    - Dst: generate_ecdh_keypair
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1343,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1345,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1351,1
    - Dst: PKCS11_ECDH_KeyPair::first::raw_public_key_bits
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1351,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1352,1
    - Dst: PKCS11_ECDH_KeyPair::first::raw_public_key_bits
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1352,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1355,1
    - Dst: PKCS11_ECDH_KeyPair::first::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1357,1
    - Dst: PKCS11_ECDH_KeyPair::second::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1358,1
    - Dst: PKCS11_ECDH_KeyPair::first::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1359,1
    - Dst: PKCS11_ECDH_KeyPair::second::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1338
    functionDepth: 2
    functionLinenumber: 1338
    functionLinenumberEnd: 1363
    functionName: test_ecdh_derive
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - PKCS11_ECDH_KeyPair::second::destroy
    - generate_ecdh_keypair
    - Botan::PK_Key_Agreement::derive_key
    - PKCS11_ECDH_KeyPair::first::destroy
    - Test::Result::test_eq
    - Botan_Tests::Test::new_rng
    - PKCS11_ECDH_KeyPair::first::raw_public_key_bits
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_ecdh_derive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1369,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1370,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1371,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1372,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1373,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1374,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1375,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1367
    functionDepth: 2
    functionLinenumber: 1367
    functionLinenumberEnd: 1378
    functionName: PKCS11_ECDH_Tests::run
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - STRING_AND_FUNCTION
    - run_pkcs11_tests
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1391,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1392,1
    - Dst: PKCS11_RNG::is_seeded
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1392,1
    - Dst: PKCS11_RNG::randomize
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1395,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1395,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1395,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1396,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1399
    functionName: test_rng_generate_random
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Test::Result::test_ne
    - PKCS11_RNG::is_seeded
    - TestSession::session
    - Test::Result::confirm
    - PKCS11_RNG::randomize
    - std::vector<uint8_t>
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rng_generate_random()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1405,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1407,1
    - Dst: PKCS11_RNG::is_seeded
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1407,1
    - Dst: PKCS11_RNG::clear
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1408,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1409,1
    - Dst: PKCS11_RNG::is_seeded
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1409,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1412,1
    - Dst: PKCS11_RNG::reseed
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1413,1
    - Dst: Botan::Entropy_Sources::global_sources
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1413,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1413,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1417,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1418,1
    - Dst: PKCS11_RNG::add_entropy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1419,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1419,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1419,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1423
    functionName: test_rng_add_entropy
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - PKCS11_RNG::clear
    - PKCS11_RNG::add_entropy
    - PKCS11_RNG::is_seeded
    - TestSession::session
    - auto::random_vec
    - Test::Result::confirm
    - Botan_CLI::Timer::milliseconds
    - PKCS11_RNG::reseed
    - auto::data
    - Botan::Entropy_Sources::global_sources
    - auto::size
    - Test::Result::test_eq
    - Botan_Tests::Test::new_rng
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_rng_add_entropy()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1431,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1432,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1435,1
    - Dst: HMAC_DRBG::is_seeded
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1435,1
    - Dst: HMAC_DRBG::random_vec
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1436,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1437,1
    - Dst: HMAC_DRBG::is_seeded
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1437,1
    - Dst: std::string::begin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1440,1
    - Dst: std::string::end
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1440,1
    - Dst: HMAC_DRBG::add_entropy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1441,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1441,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1441,1
    - Dst: HMAC_DRBG::random_vec
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1443,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1444,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1427
    functionDepth: 1
    functionLinenumber: 1427
    functionLinenumberEnd: 1447
    functionName: test_pkcs11_hmac_drbg
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 0
    functionsReached:
    - HMAC_DRBG::add_entropy
    - std::vector::size
    - Test::Result::test_ne
    - TestSession::session
    - std::vector<uint8_t>
    - Botan::MessageAuthenticationCode::create
    - std::string::begin
    - HMAC_DRBG::random_vec
    - Test::Result::test_eq
    - std::string::end
    - HMAC_DRBG::is_seeded
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pkcs11_hmac_drbg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1455,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1457,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1458,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1461,1
    - Dst: BOTAN_REGISTER_SERIALIZED_TEST
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1465,1
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1473,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1474,1
    - Dst: Botan::PKCS11::set_pin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1476,1
    - Dst: SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1476,1
    - Dst: TEST_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1476,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1477,1
    - Dst: Botan::PKCS11::set_pin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1479,1
    - Dst: SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1479,1
    - Dst: PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1479,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1480,1
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1489,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1490,1
    - Dst: Botan::PKCS11::initialize_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1492,1
    - Dst: SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1492,1
    - Dst: PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1492,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1493,1
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1502,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1503,1
    - Dst: Botan::PKCS11::change_pin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1505,1
    - Dst: PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1505,1
    - Dst: TEST_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1505,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1506,1
    - Dst: Botan::PKCS11::change_pin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1508,1
    - Dst: TEST_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1508,1
    - Dst: PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1508,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1509,1
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1518,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1519,1
    - Dst: Botan::PKCS11::change_so_pin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1521,1
    - Dst: SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1521,1
    - Dst: TEST_SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1521,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1522,1
    - Dst: Botan::PKCS11::change_so_pin
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1524,1
    - Dst: TEST_SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1524,1
    - Dst: SO_PIN
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1524,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1525,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1534,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1535,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1536,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1537,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1539,1
    - Dst: BOTAN_REGISTER_SERIALIZED_TEST
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1543,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1555,1
    - Dst: X509_CertificateProperties::set_label
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1557,1
    - Dst: X509_CertificateProperties::set_private
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1558,1
    - Dst: X509_CertificateProperties::set_token
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1559,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1561,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1562,1
    - Dst: TestSession::session
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1564,1
    - Dst: PKCS11_X509_Certificate::handle
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1564,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1565,1
    - Dst: PKCS11_X509_Certificate::destroy
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1567,1
    - Dst: STRING_AND_FUNCTION
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1577,1
    - Dst: run_pkcs11_tests
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1579,1
    - Dst: BOTAN_REGISTER_SERIALIZED_TEST
      Src: /src/botan/src/tests/test_pkcs11_high_level.cpp:1583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1452
    functionDepth: 2
    functionLinenumber: 1452
    functionLinenumberEnd: 1591
    functionName: run
    functionSourceFile: /src/botan/src/tests/test_pkcs11_high_level.cpp
    functionUses: 19
    functionsReached:
    - Botan_Tests::Test::data_file
    - Botan::PKCS11::change_pin
    - Test::Result::test_eq
    - Botan::PKCS11::set_pin
    - STRING_AND_FUNCTION
    - TestSession::session
    - TEST_PIN
    - Test::Result::test_success
    - PKCS11_X509_Certificate::destroy
    - X509_CertificateProperties::set_private
    - BOTAN_REGISTER_SERIALIZED_TEST
    - X509_CertificateProperties::set_token
    - Botan::PKCS11::Slot::get_available_slots
    - SO_PIN
    - TEST_SO_PIN
    - Botan::PKCS11::initialize_token
    - run_pkcs11_tests
    - Botan::PKCS11::change_so_pin
    - PKCS11_X509_Certificate::handle
    - X509_CertificateProperties::set_label
    - std::vector::at
    - PIN
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::FFI_Test::name
      Src: /src/botan/src/tests/test_ffi.cpp:66,1
    - Dst: botan_rng_init
      Src: /src/botan/src/tests/test_ffi.cpp:69,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ffi.cpp:70,1
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_ffi.cpp:74,1
    - Dst: ffi_test
      Src: /src/botan/src/tests/test_ffi.cpp:75,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_ffi.cpp:76,1
    - Dst: botan_rng_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: Botan_Tests::FFI_Test::run
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - botan_rng_init
    - Test::Result::end_timer
    - Test::Result::start_timer
    - ffi_test
    - Test::Result::test_failure
    - botan_rng_destroy
    - Botan_Tests::FFI_Test::name
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:91,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:96,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:96,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:99,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:103,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:104,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:104,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:108,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:108,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:109,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:110,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:117,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:121,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:122,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:124,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:124,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:126,1
    - Dst: test_gte
      Src: /src/botan/src/tests/test_ffi.cpp:128,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:128,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:132,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:132,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:132,1
    - Dst: botan_privkey_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:133,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:138,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:142,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:143,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:143,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:145,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:145,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:145,1
    - Dst: botan_privkey_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:146,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:153,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:157,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:158,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:160,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:162,1
    - Dst: botan_privkey_load
      Src: /src/botan/src/tests/test_ffi.cpp:165,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:165,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:165,1
    - Dst: botan_privkey_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:166,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:169,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:173,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:174,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:176,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:178,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:179,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:195,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:197,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:203,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:204,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:208,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:211,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:214,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:216,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:216,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:216,1
    - Dst: botan_privkey_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:217,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:222,1
    - Dst: test_gte
      Src: /src/botan/src/tests/test_ffi.cpp:223,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:226,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:230,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 4
    argNames:
    - ' result'
    - pub
    - priv
    - rng
    argTypes:
    - Test::Result
    - botan_pubkey_t
    - botan_privkey_t
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 231
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 231
    functionName: Botan_Tests::ffi_test_pubkey_export
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - TEST_FFI_OK
    - test_gte
    - TEST_FFI_RC
    - std::vector::resize
    - test_eq
    - botan_privkey_load
    - std::string::c_str
    - botan_privkey_destroy
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void ffi_test_pubkey_export(Test::Result& result, botan_pubkey_t pub,
      botan_privkey_t priv, botan_rng_t rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: Botan_Tests::FFI_Utils_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:238,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:239,1
    - Dst: botan_ffi_api_version
      Src: /src/botan/src/tests/test_ffi.cpp:239,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:240,1
    - Dst: botan_version_major
      Src: /src/botan/src/tests/test_ffi.cpp:240,1
    - Dst: Botan::version_major
      Src: /src/botan/src/tests/test_ffi.cpp:240,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:241,1
    - Dst: botan_version_minor
      Src: /src/botan/src/tests/test_ffi.cpp:241,1
    - Dst: Botan::version_minor
      Src: /src/botan/src/tests/test_ffi.cpp:241,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:242,1
    - Dst: botan_version_patch
      Src: /src/botan/src/tests/test_ffi.cpp:242,1
    - Dst: Botan::version_patch
      Src: /src/botan/src/tests/test_ffi.cpp:242,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:243,1
    - Dst: botan_version_string
      Src: /src/botan/src/tests/test_ffi.cpp:243,1
    - Dst: Botan::version_cstr
      Src: /src/botan/src/tests/test_ffi.cpp:243,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:244,1
    - Dst: botan_version_datestamp
      Src: /src/botan/src/tests/test_ffi.cpp:244,1
    - Dst: Botan::version_datestamp
      Src: /src/botan/src/tests/test_ffi.cpp:244,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:245,1
    - Dst: botan_ffi_supports_api
      Src: /src/botan/src/tests/test_ffi.cpp:245,1
    - Dst: botan_ffi_api_version
      Src: /src/botan/src/tests/test_ffi.cpp:245,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:247,1
    - Dst: botan_ffi_api_version
      Src: /src/botan/src/tests/test_ffi.cpp:248,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:251,1
    - Dst: botan_ffi_supports_api
      Src: /src/botan/src/tests/test_ffi.cpp:251,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:252,1
    - Dst: botan_ffi_supports_api
      Src: /src/botan/src/tests/test_ffi.cpp:252,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:253,1
    - Dst: botan_ffi_supports_api
      Src: /src/botan/src/tests/test_ffi.cpp:253,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:254,1
    - Dst: botan_ffi_supports_api
      Src: /src/botan/src/tests/test_ffi.cpp:254,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:256,1
    - Dst: botan_ffi_supports_api
      Src: /src/botan/src/tests/test_ffi.cpp:256,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:261,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:261,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:261,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:261,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:262,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:262,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:262,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:262,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:265,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:265,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:265,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:266,1
    - Dst: std::string::resize
      Src: /src/botan/src/tests/test_ffi.cpp:273,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:273,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:274,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:274,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:274,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:275,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:277,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:277,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:277,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 279
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 279
    functionName: Botan_Tests::FFI_Utils_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - botan_ffi_api_version
    - confirm
    - Botan::version_datestamp
    - botan_version_datestamp
    - std::string::resize
    - botan_version_minor
    - botan_ffi_supports_api
    - Botan::version_cstr
    - Botan::version_major
    - std::vector::data
    - TEST_FFI_OK
    - botan_version_major
    - Botan::version_minor
    - test_eq
    - botan_version_string
    - botan_version_patch
    - TEST_FFI_RC
    - Botan::version_patch
    - test_is_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: Botan_Tests::FFI_RNG_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:298,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:300,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:301,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:304,1
    - Dst: botan_rng_init
      Src: /src/botan/src/tests/test_ffi.cpp:308,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:309,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:312,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:313,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:317,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:317,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:317,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:318,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:320,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:322,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:324,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:324,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:324,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:326,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:329,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:330,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:330,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:330,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:331,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:333,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:336,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:340,1
    - Dst: static_cast<size_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:348,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_ffi.cpp:353,1
    - Dst: static_cast<size_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:354,1
    - Dst: static_cast<size_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:358,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:360,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/tests/test_ffi.cpp:363,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:363,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:363,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:364,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:364,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:364,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:365,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:366,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:367,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:369,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:370,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:372,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:373,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:376,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:377,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:379,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:380,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:385,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:387,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:387,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:387,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:388,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_ffi.cpp:392,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_ffi.cpp:393,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_ffi.cpp:394,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_ffi.cpp:395,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:400,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/tests/test_ffi.cpp:401,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:401,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:401,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:403,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:403,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:403,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:404,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:406,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:409,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:410,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:414,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:417,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/tests/test_ffi.cpp:418,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:418,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:418,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:420,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:420,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:420,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:421,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:423,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:426,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:427,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:430,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:434,1
    - Dst: auto::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:434,1
    - Dst: auto::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:434,1
    - Dst: botan_tpm2_supports_crypto_backend
      Src: /src/botan/src/tests/test_ffi.cpp:435,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:436,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_ffi.cpp:437,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_ffi.cpp:439,1
    - Dst: tpm2_test_rng
      Src: /src/botan/src/tests/test_ffi.cpp:442,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:443,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:450,1
    - Dst: auto::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:450,1
    - Dst: auto::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:450,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:451,1
    - Dst: botan_tpm2_supports_crypto_backend
      Src: /src/botan/src/tests/test_ffi.cpp:455,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:456,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_ffi.cpp:457,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_ffi.cpp:459,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:463,1
    - Dst: tpm2_test_rng
      Src: /src/botan/src/tests/test_ffi.cpp:464,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:465,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:469,1
    - Dst: Esys_Finalize
      Src: /src/botan/src/tests/test_ffi.cpp:472,1
    - Dst: Tss2_TctiLdr_Finalize
      Src: /src/botan/src/tests/test_ffi.cpp:474,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:479,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:480,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:481,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:482,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 115
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 483
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 483
    functionName: Botan_Tests::FFI_RNG_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - Esys_Finalize
    - std::vector::size
    - Botan_Tests::test_encoding_options
    - botan_tpm2_supports_crypto_backend
    - confirm
    - BOTAN_UNUSED
    - tpm2_test_rng
    - TEST_FFI_FAIL
    - test_note
    - std::vector::data
    - TEST_FFI_OK
    - static_cast<size_t*>
    - auto::c_str
    - Tss2_TctiLdr_Finalize
    - test_eq
    - botan_rng_init
    - TEST_FFI_RC
    - Botan::clear_mem
    - auto::empty
    - REQUIRE_FFI_OK
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: Botan_Tests::FFI_RSA_Cert_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:492,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:492,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:493,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:494,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:495,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:496,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:497,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:500,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:501,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:503,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 506
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 506
    functionName: Botan_Tests::FFI_RSA_Cert_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_RC
    - TEST_FFI_INIT
    - TEST_FFI_OK
    - Botan_Tests::Test::data_file
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 511
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 511
    functionName: Botan_Tests::FFI_ZFEC_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:558,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:558,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_ffi.cpp:567,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_ffi.cpp:567,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:571,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:572,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:572,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:572,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:577,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:588,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:591,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 594
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 594
    functionName: Botan_Tests::FFI_ZFEC_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_FAIL
    - TEST_FFI_INIT
    - TEST_FFI_RC
    - std::to_string
    - test_note
    - REQUIRE_FFI_OK
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 599
    functionName: Botan_Tests::FFI_CRL_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:622,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:622,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:627,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:627,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:630,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:630,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:631,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:632,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:635,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:635,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:636,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:637,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:638,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:640,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 642
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 642
    functionName: Botan_Tests::FFI_CRL_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - TEST_FFI_OK
    - TEST_FFI_RC
    - Botan_Tests::Test::data_file
    - reinterpret_cast<const uint8_t*>
    - REQUIRE_FFI_OK
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 647
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 647
    functionName: Botan_Tests::FFI_Cert_Validation_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:653,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:653,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:659,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:659,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:660,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:660,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:662,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:663,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:664,1
    - Dst: botan_x509_cert_validation_status
      Src: /src/botan/src/tests/test_ffi.cpp:664,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:666,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:667,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:668,1
    - Dst: botan_x509_cert_validation_status
      Src: /src/botan/src/tests/test_ffi.cpp:669,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:673,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:673,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:674,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:674,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:677,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:678,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:679,1
    - Dst: botan_x509_cert_validation_status
      Src: /src/botan/src/tests/test_ffi.cpp:680,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:683,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:684,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:685,1
    - Dst: botan_x509_cert_validation_status
      Src: /src/botan/src/tests/test_ffi.cpp:685,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:687,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:690,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:691,1
    - Dst: botan_x509_cert_validation_status
      Src: /src/botan/src/tests/test_ffi.cpp:692,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:696,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:696,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:697,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:699,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:700,1
    - Dst: botan_x509_cert_validation_status
      Src: /src/botan/src/tests/test_ffi.cpp:700,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:705,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:705,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:706,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:706,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:707,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:707,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:709,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:711,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:712,1
    - Dst: botan_x509_cert_validation_status
      Src: /src/botan/src/tests/test_ffi.cpp:713,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:715,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:716,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:717,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:718,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:719,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:720,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:721,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:722,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 724
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 724
    functionName: Botan_Tests::FFI_Cert_Validation_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - TEST_FFI_OK
    - botan_x509_cert_validation_status
    - TEST_FFI_RC
    - Botan_Tests::Test::data_file
    - confirm
    - REQUIRE_FFI_OK
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 729
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 729
    functionName: Botan_Tests::FFI_ECDSA_Certificate_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:733,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_ffi.cpp:733,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:735,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:739,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:743,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:744,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:747,1
    - Dst: std::string::resize
      Src: /src/botan/src/tests/test_ffi.cpp:750,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:751,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:752,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:755,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:756,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:759,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:760,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:763,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:768,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:768,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:769,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:769,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:770,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_ffi.cpp:770,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:773,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:778,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:778,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:779,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_ffi.cpp:781,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:781,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:785,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:789,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:792,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:797,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:797,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:798,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_ffi.cpp:799,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:799,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:799,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:803,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:808,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:808,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:812,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:813,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:814,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:819,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:824,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:824,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:825,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_ffi.cpp:825,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:825,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:828,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:832,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:833,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:833,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:834,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_ffi.cpp:834,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:834,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:837,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:841,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:843,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:844,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:845,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 849
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 849
    functionName: Botan_Tests::FFI_ECDSA_Certificate_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::size
    - TEST_FFI_OK
    - TEST_FFI_RC
    - std::vector::data
    - std::vector::resize
    - Botan_Tests::Test::data_file
    - confirm
    - Botan::hex_encode
    - std::string::resize
    - reinterpret_cast<const char*>
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 854
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 854
    functionName: Botan_Tests::FFI_PKCS_Hashid_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:860,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:860,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:861,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:863,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:864,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:867,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 871
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 871
    functionName: Botan_Tests::FFI_PKCS_Hashid_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - TEST_FFI_RC
    - std::vector::resize
    - std::vector::data
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 876
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 876
    functionName: Botan_Tests::FFI_CBC_Cipher_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:881,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:884,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:885,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:886,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:890,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:891,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:892,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:893,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:902,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:902,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:903,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:903,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:910,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:911,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:912,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:914,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:916,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:918,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:918,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:918,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:919,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:919,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:919,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:920,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:923,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:924,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:926,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:927,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:929,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:931,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:931,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:931,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:932,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:932,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:932,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:933,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:936,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:937,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:939,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:940,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:943,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:944,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:946,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:948,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:948,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:951,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:953,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:954,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:955,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:957,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:960,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:962,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:962,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:962,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:963,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:963,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:963,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:964,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:967,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:968,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:970,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:971,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:974,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:976,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:978,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:982,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 984
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 984
    functionName: Botan_Tests::FFI_CBC_Cipher_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::size
    - TEST_FFI_OK
    - std::vector::data
    - std::vector::resize
    - TEST_FFI_RC
    - test_int_eq
    - Botan::hex_decode
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 989
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 989
    functionName: Botan_Tests::FFI_GCM_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:994,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:997,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:998,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1001,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1002,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1003,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:1003,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1013,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1014,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1016,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1019,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1020,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1021,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1023,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1024,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1026,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1027,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1029,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1031,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1033,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1034,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1035,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1038,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1041,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1042,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1043,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1045,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1047,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1054,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1054,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1054,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1057,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1057,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1057,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1058,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1060,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1060,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1060,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1061,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1064,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1065,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1067,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1068,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1070,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1072,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1072,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1072,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1073,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1073,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1073,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1074,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1074,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1074,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1075,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1078,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1079,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1081,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1082,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:1085,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1086,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1088,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1089,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1091,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1092,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1094,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1098,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1098,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1098,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1099,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1099,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1099,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1100,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1100,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1100,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1101,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1104,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1105,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1107,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1108,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1111,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1111,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1112,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1112,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1113,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1115,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 1121
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1121
    functionName: Botan_Tests::FFI_GCM_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_FAIL
    - TEST_FFI_INIT
    - std::vector::size
    - TEST_FFI_OK
    - TEST_FFI_RC
    - std::vector::data
    - std::vector::resize
    - std::string
    - test_int_eq
    - Botan::hex_decode
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1126
    functionName: Botan_Tests::FFI_ChaCha20Poly1305_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1131,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:1134,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/test_ffi.cpp:1134,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1135,1
    - Dst: std::array::size
      Src: /src/botan/src/tests/test_ffi.cpp:1137,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1138,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/test_ffi.cpp:1138,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1139,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1140,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:1140,1
    - Dst: std::array::data
      Src: /src/botan/src/tests/test_ffi.cpp:1140,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1150,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1151,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1153,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1156,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1157,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1158,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1160,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1161,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1163,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1164,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1166,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1169,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1172,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1173,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1174,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1176,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1178,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1185,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1185,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1185,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1188,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1188,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1188,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1189,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1191,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1191,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1191,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1192,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1195,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1196,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1198,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1199,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1201,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1203,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1203,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1203,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1204,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1204,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1204,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1205,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1205,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1205,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1206,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1209,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1210,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1212,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1213,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:1216,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1217,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1219,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1221,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1223,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1224,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1226,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1230,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1230,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1230,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1231,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1231,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1231,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1232,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1232,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1232,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1233,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1236,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1237,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1239,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1240,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1243,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1243,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1244,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1244,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1245,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1247,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 49
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 1253
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1253
    functionName: Botan_Tests::FFI_ChaCha20Poly1305_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_FAIL
    - TEST_FFI_INIT
    - std::vector::size
    - std::array::data
    - TEST_FFI_OK
    - TEST_FFI_RC
    - std::vector::data
    - std::vector::resize
    - std::string
    - std::array::size
    - test_int_eq
    - Botan::hex_decode
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1258
    functionName: Botan_Tests::FFI_EAX_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1263,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1272,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1273,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1275,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1278,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1279,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1280,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1282,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1283,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1284,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1285,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1287,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1288,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1290,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1291,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1293,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1295,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1297,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1300,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1301,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1302,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1303,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1306,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1313,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1313,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1313,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1314,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1314,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1314,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1315,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1318,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1319,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1321,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1322,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1324,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1326,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1326,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1326,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1327,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1327,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1327,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1328,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1331,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1332,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1334,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1335,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:1338,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1339,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1341,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1342,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1344,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1345,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1347,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1351,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1351,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1351,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1352,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1352,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1352,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1353,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1356,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1357,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1359,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1360,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1363,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1363,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1364,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1364,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1365,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1367,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 1373
      start: 1260
    functionDepth: 1
    functionLinenumber: 1260
    functionLinenumberEnd: 1373
    functionName: Botan_Tests::FFI_EAX_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::size
    - TEST_FFI_OK
    - TEST_FFI_RC
    - std::vector::data
    - std::vector::resize
    - test_int_eq
    - Botan::hex_decode
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1378
    functionName: Botan_Tests::FFI_AEAD_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_ffi.cpp:1387,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1389,1
    - Dst: c_str
      Src: /src/botan/src/tests/test_ffi.cpp:1389,1
    - Dst: botan_cipher_is_authenticated
      Src: /src/botan/src/tests/test_ffi.cpp:1393,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_ffi.cpp:1394,1
    - Dst: botan_cipher_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:1395,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1406,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1407,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1408,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1409,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1410,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1412,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1416,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1416,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1416,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1417,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1417,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1417,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1420,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1420,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1420,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1421,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1421,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1421,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1425,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1425,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1425,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1428,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1428,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1428,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1432,1
    - Dst: std::span::first
      Src: /src/botan/src/tests/test_ffi.cpp:1445,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_ffi.cpp:1451,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1451,1
    - Dst: std::span
      Src: /src/botan/src/tests/test_ffi.cpp:1452,1
    - Dst: std::span::first
      Src: /src/botan/src/tests/test_ffi.cpp:1453,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1455,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:1458,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:1459,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:1461,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:1462,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_ffi.cpp:1465,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_ffi.cpp:1466,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:1466,1
    - Dst: std::span::subspan
      Src: /src/botan/src/tests/test_ffi.cpp:1467,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1470,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1472,1
    - Dst: std::span::subspan
      Src: /src/botan/src/tests/test_ffi.cpp:1473,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1482,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1486,1
    - Dst: std::span::data
      Src: /src/botan/src/tests/test_ffi.cpp:1489,1
    - Dst: std::span::size
      Src: /src/botan/src/tests/test_ffi.cpp:1490,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1495,1
    - Dst: std::span::size
      Src: /src/botan/src/tests/test_ffi.cpp:1495,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1496,1
    - Dst: std::span::first
      Src: /src/botan/src/tests/test_ffi.cpp:1498,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1500,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:1503,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:1504,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1510,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1511,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1512,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1514,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1518,1
    - Dst: c_str
      Src: /src/botan/src/tests/test_ffi.cpp:1518,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1520,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1521,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1523,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1527,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1527,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1527,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1528,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1528,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1528,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1530,1
    - Dst: std::span::first
      Src: /src/botan/src/tests/test_ffi.cpp:1542,1
    - Dst: std::span
      Src: /src/botan/src/tests/test_ffi.cpp:1548,1
    - Dst: std::span::first
      Src: /src/botan/src/tests/test_ffi.cpp:1549,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1551,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:1554,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:1555,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:1557,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:1558,1
    - Dst: Test::Result::test_gt
      Src: /src/botan/src/tests/test_ffi.cpp:1561,1
    - Dst: Test::Result::test_lte
      Src: /src/botan/src/tests/test_ffi.cpp:1562,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:1562,1
    - Dst: std::span::subspan
      Src: /src/botan/src/tests/test_ffi.cpp:1563,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1566,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1568,1
    - Dst: std::span::subspan
      Src: /src/botan/src/tests/test_ffi.cpp:1569,1
    - Dst: std::span::first
      Src: /src/botan/src/tests/test_ffi.cpp:1574,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1579,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:1582,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:1583,1
    - Dst: std::span::data
      Src: /src/botan/src/tests/test_ffi.cpp:1585,1
    - Dst: std::span::size
      Src: /src/botan/src/tests/test_ffi.cpp:1586,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1589,1
    - Dst: std::span::size
      Src: /src/botan/src/tests/test_ffi.cpp:1589,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1590,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1591,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1593,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1595,1
    - Dst: merge
      Src: /src/botan/src/tests/test_ffi.cpp:1597,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 69
    argCount: 2
    argNames:
    - ' merged_result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 1599
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1599
    functionName: Botan_Tests::FFI_AEAD_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::span::size
    - std::vector::size
    - std::span::subspan
    - Test::Result::test_eq
    - BOTAN_ASSERT_NOMSG
    - Test::Result::test_gt
    - std::vector::data
    - std::span::data
    - c_str
    - TEST_FFI_OK
    - std::span::first
    - botan_cipher_destroy
    - std::span
    - TEST_FFI_RC
    - Test::Result::test_failure
    - botan_cipher_is_authenticated
    - Test::Result::test_lte
    - auto::data
    - merge
    - auto::size
    - Botan::fmt
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& merged_result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1604
    functionName: Botan_Tests::FFI_StreamCipher_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1609,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1610,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1611,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1612,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1614,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1617,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1622,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1623,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1625,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1628,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1633,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1633,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1633,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1634,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1634,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1634,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1637,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1638,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1638,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1638,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1640,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1641,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1643,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1644,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1644,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1646,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1646,1
    - Dst: test_int_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1647,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1647,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1648,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 1652
      start: 1606
    functionDepth: 1
    functionLinenumber: 1606
    functionLinenumberEnd: 1652
    functionName: Botan_Tests::FFI_StreamCipher_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::size
    - TEST_FFI_OK
    - TEST_FFI_RC
    - std::vector::data
    - test_int_eq
    - Botan::hex_decode
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1657
    functionName: Botan_Tests::FFI_HashFunction_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:1663,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:1664,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1666,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:1669,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1670,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1673,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1674,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1675,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:1675,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1679,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1680,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1684,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1685,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1691,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:1691,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1692,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1694,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:1695,1
    - Dst: strlen
      Src: /src/botan/src/tests/test_ffi.cpp:1695,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1696,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1696,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1698,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1705,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1706,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:1706,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1708,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1709,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:1710,1
    - Dst: strlen
      Src: /src/botan/src/tests/test_ffi.cpp:1710,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1712,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:1713,1
    - Dst: strlen
      Src: /src/botan/src/tests/test_ffi.cpp:1713,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1714,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1714,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1715,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1717,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:1718,1
    - Dst: strlen
      Src: /src/botan/src/tests/test_ffi.cpp:1718,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1719,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1719,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1720,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1722,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1726,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 1728
      start: 1659
    functionDepth: 1
    functionLinenumber: 1659
    functionLinenumberEnd: 1728
    functionName: Botan_Tests::FFI_HashFunction_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_FAIL
    - TEST_FFI_INIT
    - TEST_FFI_OK
    - std::vector::data
    - std::string
    - reinterpret_cast<const uint8_t*>
    - strlen
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1733
    functionName: Botan_Tests::FFI_MAC_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:1740,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:1741,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1743,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:1746,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1747,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1750,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1751,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1752,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:1752,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1756,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1757,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1758,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1759,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1761,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1762,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1763,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1766,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1767,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1774,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1775,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:1776,1
    - Dst: strlen
      Src: /src/botan/src/tests/test_ffi.cpp:1776,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1777,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1779,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1780,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:1781,1
    - Dst: strlen
      Src: /src/botan/src/tests/test_ffi.cpp:1781,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1782,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1782,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1784,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 1791
      start: 1735
    functionDepth: 1
    functionLinenumber: 1735
    functionLinenumberEnd: 1791
    functionName: Botan_Tests::FFI_MAC_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_FAIL
    - TEST_FFI_INIT
    - TEST_FFI_OK
    - TEST_FFI_RC
    - std::vector::data
    - std::string
    - reinterpret_cast<const uint8_t*>
    - strlen
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1796
    functionDepth: 0
    functionLinenumber: 1796
    functionLinenumberEnd: 1796
    functionName: Botan_Tests::FFI_Scrypt_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1803,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1803,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1803,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1804,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1807,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1808,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1808,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1810,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1812,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1812,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1812,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 1815
      start: 1798
    functionDepth: 1
    functionLinenumber: 1798
    functionLinenumberEnd: 1815
    functionName: Botan_Tests::FFI_Scrypt_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::size
    - TEST_FFI_OK
    - std::vector::data
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1820
    functionDepth: 0
    functionLinenumber: 1820
    functionLinenumberEnd: 1820
    functionName: Botan_Tests::FFI_KDF_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1827,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:1831,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1833,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1835,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1836,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:1837,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1838,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1839,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1841,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1845,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1847,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1848,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:1849,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1850,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1851,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1854,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1856,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1857,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:1858,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1859,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1860,1
    - Dst: test_note
      Src: /src/botan/src/tests/test_ffi.cpp:1864,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_ffi.cpp:1864,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_ffi.cpp:1865,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1868,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:1869,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:1871,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1873,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1875,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1876,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1877,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1878,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1879,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1880,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1883,1
    - Dst: std::string::resize
      Src: /src/botan/src/tests/test_ffi.cpp:1888,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1894,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1896,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:1896,1
    - Dst: std::string::data
      Src: /src/botan/src/tests/test_ffi.cpp:1896,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:1897,1
    - Dst: std::string::data
      Src: /src/botan/src/tests/test_ffi.cpp:1897,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 1899
      start: 1822
    functionDepth: 1
    functionLinenumber: 1822
    functionLinenumberEnd: 1899
    functionName: Botan_Tests::FFI_KDF_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_FAIL
    - TEST_FFI_INIT
    - std::vector::size
    - TEST_FFI_OK
    - std::vector::resize
    - test_eq
    - std::to_string
    - test_note
    - std::string::c_str
    - std::string::resize
    - std::string::data
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1904
      start: 1904
    functionDepth: 0
    functionLinenumber: 1904
    functionLinenumberEnd: 1904
    functionName: Botan_Tests::FFI_Blockcipher_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:1909,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:1912,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1913,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1916,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1917,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1918,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:1918,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1924,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1926,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1927,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1927,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1928,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1929,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1929,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1931,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1932,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1934,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1937,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1938,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1939,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1940,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1942,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1943,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1944,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1946,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1946,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:1946,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1948,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1948,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1948,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1949,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1951,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1951,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1951,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1952,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1954,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1954,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1954,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1955,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1957,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1957,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:1957,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:1958,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:1960,1
    - Dst: botan_block_cipher_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:1961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 1963
      start: 1906
    functionDepth: 1
    functionLinenumber: 1906
    functionLinenumberEnd: 1963
    functionName: Botan_Tests::FFI_Blockcipher_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_FAIL
    - botan_block_cipher_destroy
    - TEST_FFI_INIT
    - std::vector::size
    - TEST_FFI_OK
    - TEST_FFI_RC
    - std::vector::data
    - std::string
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1968
    functionName: Botan_Tests::FFI_ErrorHandling_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1972,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:1977,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1978,1
    - Dst: reinterpret_cast<botan_hash_t>
      Src: /src/botan/src/tests/test_ffi.cpp:1978,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:1979,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:1985,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:1991,1
    - Dst: std::set::contains
      Src: /src/botan/src/tests/test_ffi.cpp:1991,1
    - Dst: std::set::insert
      Src: /src/botan/src/tests/test_ffi.cpp:1992,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 1996
      start: 1970
    functionDepth: 1
    functionLinenumber: 1970
    functionLinenumberEnd: 1996
    functionName: Botan_Tests::FFI_ErrorHandling_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - botan_mp_init
    - std::set::insert
    - TEST_FFI_RC
    - confirm
    - reinterpret_cast<botan_hash_t>
    - std::set::contains
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 2001
    functionDepth: 0
    functionLinenumber: 2001
    functionLinenumberEnd: 2001
    functionName: Botan_Tests::FFI_Base64_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2008,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2010,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2013,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2020,1
    - Dst: strlen
      Src: /src/botan/src/tests/test_ffi.cpp:2022,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2024,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2027,1
    - Dst: strlen
      Src: /src/botan/src/tests/test_ffi.cpp:2027,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2029,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2030,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_ffi.cpp:2030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 2031
      start: 2003
    functionDepth: 1
    functionLinenumber: 2003
    functionLinenumberEnd: 2031
    functionName: Botan_Tests::FFI_Base64_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_OK
    - TEST_FFI_RC
    - std::string
    - reinterpret_cast<const char*>
    - strlen
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2036
    functionDepth: 0
    functionLinenumber: 2036
    functionLinenumberEnd: 2036
    functionName: Botan_Tests::FFI_Hex_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2042,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2044,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2050,1
    - Dst: strlen
      Src: /src/botan/src/tests/test_ffi.cpp:2051,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2054,1
    - Dst: strlen
      Src: /src/botan/src/tests/test_ffi.cpp:2054,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2056,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2057,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_ffi.cpp:2057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 2058
      start: 2038
    functionDepth: 1
    functionLinenumber: 2038
    functionLinenumberEnd: 2058
    functionName: Botan_Tests::FFI_Hex_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_OK
    - TEST_FFI_RC
    - std::string
    - reinterpret_cast<const char*>
    - strlen
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2063
    functionDepth: 0
    functionLinenumber: 2063
    functionLinenumberEnd: 2063
    functionName: Botan_Tests::FFI_MP_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2070,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2071,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2072,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2073,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2074,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2075,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2076,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2078,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2080,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2081,1
    - Dst: botan_mp_set_from_int
      Src: /src/botan/src/tests/test_ffi.cpp:2083,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2084,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2085,1
    - Dst: botan_mp_add_u32
      Src: /src/botan/src/tests/test_ffi.cpp:2087,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2088,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2089,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2092,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2093,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2093,1
    - Dst: botan_mp_sub_u32
      Src: /src/botan/src/tests/test_ffi.cpp:2095,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2096,1
    - Dst: botan_mp_add_u32
      Src: /src/botan/src/tests/test_ffi.cpp:2097,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2098,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2099,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2102,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2103,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2103,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2105,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2106,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2107,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2108,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2109,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2113,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2115,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2116,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2118,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2119,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2121,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2122,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2123,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2124,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2125,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2128,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2129,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2130,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2131,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2132,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2134,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2135,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2137,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2138,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2140,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2141,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2143,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2144,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2146,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2148,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2152,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2153,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2155,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2156,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2156,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2159,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2160,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2162,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2163,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2164,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2165,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2166,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2167,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2167,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2169,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2170,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2171,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2171,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2174,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2175,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2178,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2180,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2182,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2183,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2183,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2185,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2187,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2188,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2188,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2189,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2192,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2193,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2196,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2197,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2197,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2200,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2201,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2201,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2203,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2204,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2206,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2207,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2207,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2208,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2210,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2212,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2213,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2213,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2215,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2217,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2218,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2218,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2220,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2222,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2223,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2223,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2226,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2229,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2230,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2233,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2234,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2236,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2238,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2239,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2239,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2241,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2243,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2244,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2244,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2246,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2247,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:2250,1
    - Dst: botan_mp_to_bin
      Src: /src/botan/src/tests/test_ffi.cpp:2251,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2251,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2252,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2254,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2255,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2257,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2258,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2258,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2261,1
    - Dst: botan_mp_rand_bits
      Src: /src/botan/src/tests/test_ffi.cpp:2264,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2265,1
    - Dst: test_lte
      Src: /src/botan/src/tests/test_ffi.cpp:2266,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2268,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2269,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2270,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_ffi.cpp:2270,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2272,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2273,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2274,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/tests/test_ffi.cpp:2274,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2276,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2277,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2278,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2279,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 151
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 2281
      start: 2065
    functionDepth: 1
    functionLinenumber: 2065
    functionLinenumberEnd: 2281
    functionName: Botan_Tests::FFI_MP_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - botan_mp_init
    - botan_mp_destroy
    - botan_mp_to_bin
    - botan_mp_rand_bits
    - TEST_FFI_OK
    - TEST_FFI_RC
    - std::vector::resize
    - std::vector::data
    - std::string
    - static_cast<size_t>
    - confirm
    - botan_mp_sub_u32
    - test_lte
    - botan_mp_set_from_int
    - botan_mp_add_u32
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2286
    functionName: Botan_Tests::FFI_FPE_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2292,1
    - Dst: botan_mp_set_from_str
      Src: /src/botan/src/tests/test_ffi.cpp:2293,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2296,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2297,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2302,1
    - Dst: botan_mp_set_from_str
      Src: /src/botan/src/tests/test_ffi.cpp:2303,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2305,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2308,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2309,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2311,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2312,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2313,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2315,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2316,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2318,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2319,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 2321
      start: 2288
    functionDepth: 1
    functionLinenumber: 2288
    functionLinenumberEnd: 2321
    functionName: Botan_Tests::FFI_FPE_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - botan_mp_init
    - botan_mp_destroy
    - TEST_FFI_INIT
    - TEST_FFI_OK
    - botan_mp_set_from_str
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2326
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2326
    functionName: Botan_Tests::FFI_TOTP_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:2329,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2334,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2334,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2334,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2339,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2340,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2342,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2343,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2345,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2346,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2347,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 2350
      start: 2328
    functionDepth: 1
    functionLinenumber: 2328
    functionLinenumberEnd: 2350
    functionName: Botan_Tests::FFI_TOTP_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::size
    - TEST_FFI_OK
    - TEST_FFI_RC
    - confirm
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2355
    functionDepth: 0
    functionLinenumber: 2355
    functionLinenumberEnd: 2355
    functionName: Botan_Tests::FFI_HOTP_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:2358,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2364,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2364,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2364,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2368,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2369,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2370,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2371,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2372,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2373,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2374,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2375,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2379,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2380,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2381,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2382,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2383,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2384,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 2387
      start: 2357
    functionDepth: 1
    functionLinenumber: 2357
    functionLinenumberEnd: 2387
    functionName: Botan_Tests::FFI_HOTP_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::size
    - TEST_FFI_OK
    - TEST_FFI_RC
    - confirm
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2392
    functionDepth: 0
    functionLinenumber: 2392
    functionLinenumberEnd: 2392
    functionName: Botan_Tests::FFI_Keywrap_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2401,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2406,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2408,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2413,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 2417
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2417
    functionName: Botan_Tests::FFI_Keywrap_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - TEST_FFI_OK
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2422
      start: 2422
    functionDepth: 0
    functionLinenumber: 2422
    functionLinenumberEnd: 2422
    functionName: Botan_Tests::FFI_XMSS_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2426,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2427,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2429,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2430,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2433,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2434,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2437,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2438,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 2442
      start: 2424
    functionDepth: 0
    functionLinenumber: 2424
    functionLinenumberEnd: 2442
    functionName: Botan_Tests::FFI_XMSS_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_RC
    - TEST_FFI_INIT
    - TEST_FFI_OK
    - confirm
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2447
    functionName: Botan_Tests::FFI_RSA_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2452,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2453,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2456,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:2457,1
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:2460,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2463,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2464,1
    - Dst: ffi_test_pubkey_export
      Src: /src/botan/src/tests/test_ffi.cpp:2466,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2469,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2470,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2471,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2472,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2473,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2475,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2476,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2478,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2479,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2480,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2481,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2482,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2487,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2488,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2489,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2490,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2492,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2493,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2494,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2495,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2498,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2499,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2502,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2506,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2507,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2509,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2510,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2514,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2515,1
    - Dst: botan_privkey_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2516,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2518,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2519,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2522,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2523,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2525,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2526,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2527,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2528,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2529,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2532,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2537,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2538,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2541,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2541,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2542,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2545,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:2548,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2549,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2550,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2554,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2555,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2555,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2559,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2560,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:2560,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2564,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2566,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2566,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2566,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2569,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2569,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2572,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2573,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2573,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2573,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:2574,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2577,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2579,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2579,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2581,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2582,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2582,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2582,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:2583,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2585,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2588,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2591,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2594,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2595,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2596,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2597,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 84
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 2599
      start: 2449
    functionDepth: 1
    functionLinenumber: 2449
    functionLinenumberEnd: 2599
    functionName: Botan_Tests::FFI_RSA_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_FAIL
    - botan_mp_init
    - TEST_FFI_INIT
    - botan_mp_destroy
    - std::vector::size
    - TEST_FFI_OK
    - TEST_FFI_RC
    - std::vector::resize
    - test_eq
    - std::string
    - confirm
    - ffi_test_pubkey_export
    - botan_privkey_destroy
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2604
      start: 2604
    functionDepth: 0
    functionLinenumber: 2604
    functionLinenumberEnd: 2604
    functionName: Botan_Tests::FFI_DSA_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2609,1
    - Dst: Botan_Tests::FFI_DSA_Test::do_dsa_test
      Src: /src/botan/src/tests/test_ffi.cpp:2610,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2613,1
    - Dst: Botan_Tests::FFI_DSA_Test::do_dsa_test
      Src: /src/botan/src/tests/test_ffi.cpp:2614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 2616
      start: 2606
    functionDepth: 1
    functionLinenumber: 2606
    functionLinenumberEnd: 2616
    functionName: Botan_Tests::FFI_DSA_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::FFI_DSA_Test::do_dsa_test
    - TEST_FFI_INIT
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2620,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2623,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2624,1
    - Dst: ffi_test_pubkey_export
      Src: /src/botan/src/tests/test_ffi.cpp:2626,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2629,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2630,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2631,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2632,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2633,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2635,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2636,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2637,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2638,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2639,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2642,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2643,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2645,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2646,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2648,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2649,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2651,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2652,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2653,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2656,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2657,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2660,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2661,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2663,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2664,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2665,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2666,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2667,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2674,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2676,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2676,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2676,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2679,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:2680,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2683,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2683,1
    - Dst: test_lte
      Src: /src/botan/src/tests/test_ffi.cpp:2684,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:2685,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2687,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/test_ffi.cpp:2692,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2692,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2693,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2693,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2693,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2694,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2694,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2694,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2698,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2698,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2698,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2699,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2700,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2700,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2703,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2703,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2703,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2704,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2705,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2705,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2708,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2708,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2708,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2709,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2710,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2710,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2713,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2713,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2713,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2714,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2714,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2714,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2716,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2719,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2720,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2721,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 63
    argCount: 3
    argNames:
    - priv
    - rng
    - ' result'
    argTypes:
    - botan_privkey_t
    - botan_rng_t
    - Test::Result
    constantsTouched: []
    func_position:
      end: 2723
      start: 2619
    functionDepth: 1
    functionLinenumber: 2619
    functionLinenumberEnd: 2723
    functionName: Botan_Tests::FFI_DSA_Test::do_dsa_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 1
    functionsReached:
    - botan_mp_init
    - botan_mp_destroy
    - std::vector::size
    - TEST_FFI_OK
    - std::vector::empty
    - TEST_FFI_RC
    - std::vector::resize
    - test_lte
    - ffi_test_pubkey_export
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void do_dsa_test(botan_privkey_t priv, botan_rng_t rng, Test::Result&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2728
      start: 2728
    functionDepth: 0
    functionLinenumber: 2728
    functionLinenumberEnd: 2728
    functionName: Botan_Tests::FFI_ECDSA_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2735,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2739,1
    - Dst: ffi_test_pubkey_export
      Src: /src/botan/src/tests/test_ffi.cpp:2740,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2744,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2745,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2746,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2748,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2749,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2751,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2752,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2753,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2757,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2758,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2759,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2760,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2765,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2766,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2769,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2769,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2769,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2773,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2775,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2775,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2775,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2778,1
    - Dst: resize
      Src: /src/botan/src/tests/test_ffi.cpp:2780,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2783,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2783,1
    - Dst: resize
      Src: /src/botan/src/tests/test_ffi.cpp:2784,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2786,1
    - Dst: empty
      Src: /src/botan/src/tests/test_ffi.cpp:2791,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2791,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2792,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2792,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2792,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2793,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2793,1
    - Dst: size
      Src: /src/botan/src/tests/test_ffi.cpp:2793,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2797,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2797,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2797,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2798,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2800,1
    - Dst: size
      Src: /src/botan/src/tests/test_ffi.cpp:2800,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2803,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2803,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2803,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2804,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2806,1
    - Dst: size
      Src: /src/botan/src/tests/test_ffi.cpp:2806,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2809,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2809,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2809,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2810,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2812,1
    - Dst: size
      Src: /src/botan/src/tests/test_ffi.cpp:2812,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2815,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2815,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2815,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2816,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2816,1
    - Dst: size
      Src: /src/botan/src/tests/test_ffi.cpp:2816,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2818,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2822,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2823,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2824,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2825,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2826,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2827,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2828,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 55
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 2829
      start: 2730
    functionDepth: 1
    functionLinenumber: 2730
    functionLinenumberEnd: 2829
    functionName: Botan_Tests::FFI_ECDSA_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - botan_mp_init
    - TEST_FFI_INIT
    - std::vector::size
    - TEST_FFI_OK
    - TEST_FFI_RC
    - std::vector::data
    - data
    - size
    - empty
    - resize
    - ffi_test_pubkey_export
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2834
    functionDepth: 0
    functionLinenumber: 2834
    functionLinenumberEnd: 2834
    functionName: Botan_Tests::FFI_SM2_Sig_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2844,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2848,1
    - Dst: ffi_test_pubkey_export
      Src: /src/botan/src/tests/test_ffi.cpp:2849,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2853,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2857,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2858,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2859,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2861,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2862,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2863,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2864,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2865,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2866,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2867,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2872,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2873,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2876,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2876,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2876,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2878,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:2878,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2880,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2880,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2880,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2883,1
    - Dst: resize
      Src: /src/botan/src/tests/test_ffi.cpp:2885,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2887,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2887,1
    - Dst: resize
      Src: /src/botan/src/tests/test_ffi.cpp:2888,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2890,1
    - Dst: empty
      Src: /src/botan/src/tests/test_ffi.cpp:2895,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2895,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:2895,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2896,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2896,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2896,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2897,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2897,1
    - Dst: size
      Src: /src/botan/src/tests/test_ffi.cpp:2897,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2901,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2901,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2901,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2902,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2903,1
    - Dst: size
      Src: /src/botan/src/tests/test_ffi.cpp:2903,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2906,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2906,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2906,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2907,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2908,1
    - Dst: size
      Src: /src/botan/src/tests/test_ffi.cpp:2908,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2911,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2911,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2911,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:2912,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2913,1
    - Dst: size
      Src: /src/botan/src/tests/test_ffi.cpp:2913,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2916,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2916,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2916,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2917,1
    - Dst: data
      Src: /src/botan/src/tests/test_ffi.cpp:2917,1
    - Dst: size
      Src: /src/botan/src/tests/test_ffi.cpp:2917,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2919,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2922,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2923,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2924,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2925,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2926,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2927,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 52
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 2929
      start: 2836
    functionDepth: 1
    functionLinenumber: 2836
    functionLinenumberEnd: 2929
    functionName: Botan_Tests::FFI_SM2_Sig_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - botan_mp_init
    - TEST_FFI_INIT
    - std::vector::size
    - TEST_FFI_OK
    - std::vector::data
    - data
    - TEST_FFI_RC
    - size
    - std::string::c_str
    - empty
    - resize
    - ffi_test_pubkey_export
    - REQUIRE_FFI_OK
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2934
      start: 2934
    functionDepth: 0
    functionLinenumber: 2934
    functionLinenumberEnd: 2934
    functionName: Botan_Tests::FFI_SM2_Enc_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:2943,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2947,1
    - Dst: ffi_test_pubkey_export
      Src: /src/botan/src/tests/test_ffi.cpp:2948,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2952,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2956,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2957,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:2958,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2960,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2961,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2962,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2963,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2964,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2965,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2966,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2971,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:2972,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2977,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2977,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2977,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2980,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2982,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2982,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:2984,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2985,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2985,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2985,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2985,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:2986,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2989,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2991,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:2994,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2995,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:2995,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:2995,1
    - Dst: botan_pk_op_decrypt_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2997,1
    - Dst: botan_pk_op_encrypt_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:2999,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3001,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3002,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3003,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3004,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3005,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3006,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3007,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 3008
      start: 2936
    functionDepth: 1
    functionLinenumber: 2936
    functionLinenumberEnd: 3008
    functionName: Botan_Tests::FFI_SM2_Enc_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - botan_mp_init
    - TEST_FFI_INIT
    - std::vector::size
    - TEST_FFI_OK
    - std::vector::data
    - std::vector::resize
    - ffi_test_pubkey_export
    - botan_pk_op_decrypt_destroy
    - REQUIRE_FFI_OK
    - botan_pk_op_encrypt_destroy
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3013
      start: 3013
    functionDepth: 0
    functionLinenumber: 3013
    functionLinenumberEnd: 3013
    functionName: Botan_Tests::FFI_ECDH_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3017,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3022,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3025,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3028,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:3032,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:3033,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:3034,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3036,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3037,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3038,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3042,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3043,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3044,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3045,1
    - Dst: ffi_test_pubkey_export
      Src: /src/botan/src/tests/test_ffi.cpp:3047,1
    - Dst: ffi_test_pubkey_export
      Src: /src/botan/src/tests/test_ffi.cpp:3048,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3060,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3062,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:3065,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3069,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3069,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:3071,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3075,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3075,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3078,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3078,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3078,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3084,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3085,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3085,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3085,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3085,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3085,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3089,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3090,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3090,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3090,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3090,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3090,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3092,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3094,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3095,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3096,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3097,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3098,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3099,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3100,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3101,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3102,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3103,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 3105
      start: 3015
    functionDepth: 1
    functionLinenumber: 3015
    functionLinenumberEnd: 3105
    functionName: Botan_Tests::FFI_ECDH_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - botan_mp_init
    - TEST_FFI_INIT
    - std::vector::size
    - TEST_FFI_OK
    - TEST_FFI_RC
    - test_eq
    - ffi_test_pubkey_export
    - REQUIRE_FFI_OK
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3110
      start: 3110
    functionDepth: 0
    functionLinenumber: 3110
    functionLinenumberEnd: 3110
    functionName: Botan_Tests::FFI_McEliece_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3114,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3116,1
    - Dst: ffi_test_pubkey_export
      Src: /src/botan/src/tests/test_ffi.cpp:3118,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3122,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3123,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:3123,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3128,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 3131
      start: 3112
    functionDepth: 0
    functionLinenumber: 3112
    functionLinenumberEnd: 3131
    functionName: Botan_Tests::FFI_McEliece_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - TEST_FFI_OK
    - std::string
    - ffi_test_pubkey_export
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3136
      start: 3136
    functionDepth: 0
    functionLinenumber: 3136
    functionLinenumberEnd: 3136
    functionName: Botan_Tests::FFI_Ed25519_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3144,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3146,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3147,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3148,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3152,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3152,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3157,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3159,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3159,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3159,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3161,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3164,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3165,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3165,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3165,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3167,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3168,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3168,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3173,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3174,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3174,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3174,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3177,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:3179,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3181,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3181,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:3182,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3184,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3187,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3191,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3192,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3192,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3192,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3193,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3193,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3193,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3195,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3198,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 3200
      start: 3138
    functionDepth: 1
    functionLinenumber: 3138
    functionLinenumberEnd: 3200
    functionName: Botan_Tests::FFI_Ed25519_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::size
    - TEST_FFI_OK
    - std::vector::data
    - std::vector::resize
    - Botan::hex_decode
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3205
      start: 3205
    functionDepth: 0
    functionLinenumber: 3205
    functionLinenumberEnd: 3205
    functionName: Botan_Tests::FFI_Ed448_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3212,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3214,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3216,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3217,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3220,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:3220,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3225,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3225,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3226,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3228,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3231,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3231,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3232,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3234,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3235,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:3235,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3240,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3241,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:3241,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:3241,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3244,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:3246,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3248,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3248,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:3249,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3251,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3254,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3258,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3259,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:3259,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:3259,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3260,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3260,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3260,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3262,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3265,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 3267
      start: 3207
    functionDepth: 1
    functionLinenumber: 3207
    functionLinenumberEnd: 3267
    functionName: Botan_Tests::FFI_Ed448_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::size
    - TEST_FFI_OK
    - std::vector::resize
    - test_eq
    - test_is_eq
    - auto::data
    - auto::size
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3272
      start: 3272
    functionDepth: 0
    functionLinenumber: 3272
    functionLinenumberEnd: 3272
    functionName: Botan_Tests::FFI_X25519_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3278,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3280,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3282,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3284,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3287,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3287,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3292,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3292,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3293,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3298,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3299,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3299,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3300,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3303,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3303,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3304,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3304,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3305,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3308,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3312,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3313,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3313,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3313,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3315,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3317,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3318,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3319,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 3321
      start: 3274
    functionDepth: 1
    functionLinenumber: 3274
    functionLinenumberEnd: 3321
    functionName: Botan_Tests::FFI_X25519_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - std::vector::size
    - TEST_FFI_OK
    - std::vector::data
    - REQUIRE_FFI_OK
    - Botan::hex_decode
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3326
      start: 3326
    functionDepth: 0
    functionLinenumber: 3326
    functionLinenumberEnd: 3326
    functionName: Botan_Tests::FFI_X448_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3330,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3332,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3334,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3336,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3340,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:3340,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3345,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3345,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3346,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3351,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3352,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3352,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3353,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3356,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:3356,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3357,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3357,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3358,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3361,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3365,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3366,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_ffi.cpp:3366,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_ffi.cpp:3366,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3368,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3370,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3371,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3372,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 3374
      start: 3328
    functionDepth: 1
    functionLinenumber: 3328
    functionLinenumberEnd: 3374
    functionName: Botan_Tests::FFI_X448_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - TEST_FFI_OK
    - test_eq
    - auto::data
    - auto::size
    - REQUIRE_FFI_OK
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3389
      start: 3389
    functionDepth: 0
    functionLinenumber: 3389
    functionLinenumberEnd: 3389
    functionName: Botan_Tests::ViewBytesSink::delegate
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * delegate()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3391
      start: 3391
    functionDepth: 0
    functionLinenumber: 3391
    functionLinenumberEnd: 3391
    functionName: Botan_Tests::ViewBytesSink::callback
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: botan_view_bin_fn
    signature: botan_view_bin_fn callback()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3393
      start: 3393
    functionDepth: 0
    functionLinenumber: 3393
    functionLinenumberEnd: 3393
    functionName: '& get()'
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & get()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ViewBytesSink*>
      Src: /src/botan/src/tests/test_ffi.cpp:3401,1
    - Dst: auto*::m_buf::assign
      Src: /src/botan/src/tests/test_ffi.cpp:3402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 3405
      start: 3396
    functionDepth: 0
    functionLinenumber: 3396
    functionLinenumberEnd: 3405
    functionName: Botan_Tests::ViewBytesSink::write_fn
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ViewBytesSink*>
    - auto*::m_buf::assign
    linkageType: ''
    returnType: int
    signature: int write_fn(void* ctx, const uint8_t buf[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3416
      start: 3416
    functionDepth: 0
    functionLinenumber: 3416
    functionLinenumberEnd: 3416
    functionName: Botan_Tests::ViewStringSink::delegate
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * delegate()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3418
      start: 3418
    functionDepth: 0
    functionLinenumber: 3418
    functionLinenumberEnd: 3418
    functionName: Botan_Tests::ViewStringSink::callback
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: botan_view_str_fn
    signature: botan_view_str_fn callback()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3420
      start: 3420
    functionDepth: 0
    functionLinenumber: 3420
    functionLinenumberEnd: 3420
    functionName: Botan_Tests::ViewStringSink::get
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view get()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ViewStringSink*>
      Src: /src/botan/src/tests/test_ffi.cpp:3428,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_ffi.cpp:3430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - str
    - len
    argTypes:
    - void*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3433
      start: 3423
    functionDepth: 0
    functionLinenumber: 3423
    functionLinenumberEnd: 3433
    functionName: Botan_Tests::ViewStringSink::write_fn
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ViewStringSink*>
    - std::string
    linkageType: ''
    returnType: int
    signature: int write_fn(void* ctx, const char* str, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modes
      Src: /src/botan/src/tests/test_ffi.cpp:3455,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3459,1
    - Dst: algo
      Src: /src/botan/src/tests/test_ffi.cpp:3459,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3462,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3467,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3467,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3467,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3468,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3468,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3468,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3473,1
    - Dst: private_key_load_function
      Src: /src/botan/src/tests/test_ffi.cpp:3473,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3474,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3474,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3475,1
    - Dst: public_key_load_function
      Src: /src/botan/src/tests/test_ffi.cpp:3475,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3476,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3476,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3481,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3481,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3481,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3482,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3482,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3482,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3483,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3483,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3483,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3484,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3484,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3484,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3488,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3493,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3494,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:3499,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:3512,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3520,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3526,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3528,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3530,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3531,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:3532,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:3533,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3534,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3538,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3540,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3541,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:3545,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3550,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3551,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3555,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3560,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3564,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3565,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3567,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3569,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:3570,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3571,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3574,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3576,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3577,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3578,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 3581
      start: 3454
    functionDepth: 1
    functionLinenumber: 3454
    functionLinenumberEnd: 3581
    functionName: Botan_Tests::FFI_KEM_Roundtrip_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - ViewBytesSink::callback
    - TEST_FFI_INIT
    - private_key_load_function
    - std::vector::size
    - TEST_FFI_OK
    - modes
    - TEST_FFI_RC
    - public_key_load_function
    - std::vector::data
    - std::vector::resize
    - confirm
    - algo
    - Botan::secure_vector::data
    - Botan::secure_vector::resize
    - ViewBytesSink::delegate
    - ViewBytesSink::get
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modes
      Src: /src/botan/src/tests/test_ffi.cpp:3604,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3608,1
    - Dst: algo
      Src: /src/botan/src/tests/test_ffi.cpp:3608,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3611,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3616,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3616,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3616,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3617,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3617,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3617,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3622,1
    - Dst: private_key_load_function
      Src: /src/botan/src/tests/test_ffi.cpp:3622,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3623,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3623,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3624,1
    - Dst: public_key_load_function
      Src: /src/botan/src/tests/test_ffi.cpp:3624,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3625,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3625,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3630,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3630,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3630,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3631,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3631,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3631,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3632,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3632,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3632,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3633,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3633,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3633,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3637,1
    - Dst: hash_algo_or_padding
      Src: /src/botan/src/tests/test_ffi.cpp:3637,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3641,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3644,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3644,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3644,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3645,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3645,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3645,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:3649,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3652,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3655,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3656,1
    - Dst: hash_algo_or_padding
      Src: /src/botan/src/tests/test_ffi.cpp:3656,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3657,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3657,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3657,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3658,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3658,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3658,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3663,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3663,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3664,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:3665,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3666,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3670,1
    - Dst: hash_algo_or_padding
      Src: /src/botan/src/tests/test_ffi.cpp:3670,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3671,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3671,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3671,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3672,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3672,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3672,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3675,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3675,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3675,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3676,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3679,1
    - Dst: hash_algo_or_padding
      Src: /src/botan/src/tests/test_ffi.cpp:3679,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3680,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3680,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3680,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:3681,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3682,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:3682,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3683,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3686,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3687,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3688,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 3691
      start: 3600
    functionDepth: 1
    functionLinenumber: 3600
    functionLinenumberEnd: 3691
    functionName: Botan_Tests::FFI_Signature_Roundtrip_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - ViewBytesSink::callback
    - TEST_FFI_INIT
    - private_key_load_function
    - std::vector::size
    - TEST_FFI_OK
    - modes
    - std::vector::data
    - public_key_load_function
    - TEST_FFI_RC
    - algo
    - Botan::secure_vector::data
    - Botan::secure_vector::resize
    - hash_algo_or_padding
    - ViewBytesSink::delegate
    - Botan::secure_vector::size
    - ViewBytesSink::get
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3696
      start: 3696
    functionDepth: 0
    functionLinenumber: 3696
    functionLinenumberEnd: 3696
    functionName: Botan_Tests::FFI_Kyber512_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3699,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3701,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3703,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3707,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3707,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3713,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3713,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3713,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3714,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3714,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3714,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3715,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3715,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3716,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3716,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3722,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3723,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3723,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3723,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3724,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3724,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3724,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3725,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3725,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3726,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3726,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3729,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3729,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3730,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3730,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3730,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3731,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3731,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3733,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3734,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 3736
      start: 3698
    functionDepth: 1
    functionLinenumber: 3698
    functionLinenumberEnd: 3736
    functionName: Botan_Tests::FFI_Kyber512_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - ViewBytesSink::callback
    - TEST_FFI_INIT
    - ViewBytesSink::get
    - TEST_FFI_OK
    - test_eq
    - ViewBytesSink::delegate
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3741
      start: 3741
    functionDepth: 0
    functionLinenumber: 3741
    functionLinenumberEnd: 3741
    functionName: Botan_Tests::FFI_Kyber768_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3744,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3746,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3748,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3752,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3752,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3758,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3758,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3758,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3759,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3759,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3759,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3760,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3760,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3761,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3761,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3767,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3768,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3768,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3768,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3769,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3769,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3769,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3770,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3770,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3771,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3771,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3774,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3774,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3775,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3775,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3775,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3776,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3776,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3778,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3779,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 3781
      start: 3743
    functionDepth: 1
    functionLinenumber: 3743
    functionLinenumberEnd: 3781
    functionName: Botan_Tests::FFI_Kyber768_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - ViewBytesSink::callback
    - TEST_FFI_INIT
    - ViewBytesSink::get
    - TEST_FFI_OK
    - test_eq
    - ViewBytesSink::delegate
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3786
      start: 3786
    functionDepth: 0
    functionLinenumber: 3786
    functionLinenumberEnd: 3786
    functionName: Botan_Tests::FFI_Kyber1024_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3789,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3791,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_ffi.cpp:3793,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3797,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3797,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3803,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3803,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3803,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3804,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3804,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3804,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3805,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3805,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3806,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3806,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3812,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3813,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3813,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3813,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3814,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3814,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3814,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3815,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3815,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3816,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3816,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3819,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:3819,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3820,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:3820,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:3820,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:3821,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:3821,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3823,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3824,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 3826
      start: 3788
    functionDepth: 1
    functionLinenumber: 3788
    functionLinenumberEnd: 3826
    functionName: Botan_Tests::FFI_Kyber1024_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - ViewBytesSink::callback
    - TEST_FFI_INIT
    - ViewBytesSink::get
    - TEST_FFI_OK
    - test_eq
    - ViewBytesSink::delegate
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t /*unused*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3831
      start: 3831
    functionDepth: 0
    functionLinenumber: 3831
    functionLinenumberEnd: 3831
    functionName: Botan_Tests::FFI_ML_KEM_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3834
      start: 3834
    functionDepth: 0
    functionLinenumber: 3834
    functionLinenumberEnd: 3834
    functionName: Botan_Tests::FFI_ML_KEM_Test::algo
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3836
      start: 3836
    functionDepth: 0
    functionLinenumber: 3836
    functionLinenumberEnd: 3836
    functionName: Botan_Tests::FFI_ML_KEM_Test::private_key_load_function
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: privkey_loader_fn_t
    signature: privkey_loader_fn_t private_key_load_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3838
      start: 3838
    functionDepth: 0
    functionLinenumber: 3838
    functionLinenumberEnd: 3838
    functionName: Botan_Tests::FFI_ML_KEM_Test::public_key_load_function
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pubkey_loader_fn_t
    signature: pubkey_loader_fn_t public_key_load_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3840
      start: 3840
    functionDepth: 0
    functionLinenumber: 3840
    functionLinenumberEnd: 3840
    functionName: Botan_Tests::FFI_ML_KEM_Test::modes
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<const char*>
    signature: std::vector<const char*> modes() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3845
      start: 3845
    functionDepth: 0
    functionLinenumber: 3845
    functionLinenumberEnd: 3845
    functionName: Botan_Tests::FFI_FrodoKEM_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3848
      start: 3848
    functionDepth: 0
    functionLinenumber: 3848
    functionLinenumberEnd: 3848
    functionName: Botan_Tests::FFI_FrodoKEM_Test::algo
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3850
      start: 3850
    functionDepth: 0
    functionLinenumber: 3850
    functionLinenumberEnd: 3850
    functionName: Botan_Tests::FFI_FrodoKEM_Test::private_key_load_function
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: privkey_loader_fn_t
    signature: privkey_loader_fn_t private_key_load_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3852
      start: 3852
    functionDepth: 0
    functionLinenumber: 3852
    functionLinenumberEnd: 3852
    functionName: Botan_Tests::FFI_FrodoKEM_Test::public_key_load_function
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pubkey_loader_fn_t
    signature: pubkey_loader_fn_t public_key_load_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3869
      start: 3854
    functionDepth: 0
    functionLinenumber: 3854
    functionLinenumberEnd: 3869
    functionName: Botan_Tests::FFI_FrodoKEM_Test::modes
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<const char*>
    signature: std::vector<const char*> modes() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3874
      start: 3874
    functionDepth: 0
    functionLinenumber: 3874
    functionLinenumberEnd: 3874
    functionName: Botan_Tests::FFI_ML_DSA_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3877
      start: 3877
    functionDepth: 0
    functionLinenumber: 3877
    functionLinenumberEnd: 3877
    functionName: Botan_Tests::FFI_ML_DSA_Test::algo
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3879
      start: 3879
    functionDepth: 0
    functionLinenumber: 3879
    functionLinenumberEnd: 3879
    functionName: Botan_Tests::FFI_ML_DSA_Test::private_key_load_function
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: privkey_loader_fn_t
    signature: privkey_loader_fn_t private_key_load_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3881
      start: 3881
    functionDepth: 0
    functionLinenumber: 3881
    functionLinenumberEnd: 3881
    functionName: Botan_Tests::FFI_ML_DSA_Test::public_key_load_function
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pubkey_loader_fn_t
    signature: pubkey_loader_fn_t public_key_load_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3889
      start: 3883
    functionDepth: 0
    functionLinenumber: 3883
    functionLinenumberEnd: 3889
    functionName: Botan_Tests::FFI_ML_DSA_Test::modes
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<const char*>
    signature: std::vector<const char*> modes() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3891
      start: 3891
    functionDepth: 0
    functionLinenumber: 3891
    functionLinenumberEnd: 3891
    functionName: Botan_Tests::FFI_ML_DSA_Test::hash_algo_or_padding
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * hash_algo_or_padding() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3896
      start: 3896
    functionDepth: 0
    functionLinenumber: 3896
    functionLinenumberEnd: 3896
    functionName: Botan_Tests::FFI_SLH_DSA_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3899
      start: 3899
    functionDepth: 0
    functionLinenumber: 3899
    functionLinenumberEnd: 3899
    functionName: Botan_Tests::FFI_SLH_DSA_Test::algo
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3901
      start: 3901
    functionDepth: 0
    functionLinenumber: 3901
    functionLinenumberEnd: 3901
    functionName: Botan_Tests::FFI_SLH_DSA_Test::private_key_load_function
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: privkey_loader_fn_t
    signature: privkey_loader_fn_t private_key_load_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3903
      start: 3903
    functionDepth: 0
    functionLinenumber: 3903
    functionLinenumberEnd: 3903
    functionName: Botan_Tests::FFI_SLH_DSA_Test::public_key_load_function
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pubkey_loader_fn_t
    signature: pubkey_loader_fn_t public_key_load_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_ffi.cpp:3915,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_ffi.cpp:3916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3928
      start: 3905
    functionDepth: 1
    functionLinenumber: 3905
    functionLinenumberEnd: 3928
    functionName: Botan_Tests::FFI_SLH_DSA_Test::modes
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - Botan::concat
    - Botan_Tests::Test::run_long_tests
    linkageType: ''
    returnType: std::vector<const char*>
    signature: std::vector<const char*> modes() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3930
      start: 3930
    functionDepth: 0
    functionLinenumber: 3930
    functionLinenumberEnd: 3930
    functionName: Botan_Tests::FFI_SLH_DSA_Test::hash_algo_or_padding
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * hash_algo_or_padding() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3935
      start: 3935
    functionDepth: 0
    functionLinenumber: 3935
    functionLinenumberEnd: 3935
    functionName: Botan_Tests::FFI_Classic_McEliece_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3938
      start: 3938
    functionDepth: 0
    functionLinenumber: 3938
    functionLinenumberEnd: 3938
    functionName: Botan_Tests::FFI_Classic_McEliece_Test::algo
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3940
      start: 3940
    functionDepth: 0
    functionLinenumber: 3940
    functionLinenumberEnd: 3940
    functionName: Botan_Tests::FFI_Classic_McEliece_Test::private_key_load_function
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: privkey_loader_fn_t
    signature: privkey_loader_fn_t private_key_load_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3942
      start: 3942
    functionDepth: 0
    functionLinenumber: 3942
    functionLinenumberEnd: 3942
    functionName: Botan_Tests::FFI_Classic_McEliece_Test::public_key_load_function
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pubkey_loader_fn_t
    signature: pubkey_loader_fn_t public_key_load_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::run_long_tests
      Src: /src/botan/src/tests/test_ffi.cpp:3949,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_ffi.cpp:3950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3969
      start: 3944
    functionDepth: 1
    functionLinenumber: 3944
    functionLinenumberEnd: 3969
    functionName: Botan_Tests::FFI_Classic_McEliece_Test::modes
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - Botan::concat
    - Botan_Tests::Test::run_long_tests
    linkageType: ''
    returnType: std::vector<const char*>
    signature: std::vector<const char*> modes() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3974
      start: 3974
    functionDepth: 0
    functionLinenumber: 3974
    functionLinenumberEnd: 3974
    functionName: Botan_Tests::FFI_ElGamal_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3979,1
    - Dst: Botan_Tests::FFI_ElGamal_Test::do_elgamal_test
      Src: /src/botan/src/tests/test_ffi.cpp:3980,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:3983,1
    - Dst: Botan_Tests::FFI_ElGamal_Test::do_elgamal_test
      Src: /src/botan/src/tests/test_ffi.cpp:3984,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 3986
      start: 3976
    functionDepth: 1
    functionLinenumber: 3976
    functionLinenumberEnd: 3986
    functionName: Botan_Tests::FFI_ElGamal_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_INIT
    - Botan_Tests::FFI_ElGamal_Test::do_elgamal_test
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3990,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3993,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:3994,1
    - Dst: ffi_test_pubkey_export
      Src: /src/botan/src/tests/test_ffi.cpp:3996,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:3998,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:3999,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4000,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4001,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4003,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4004,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4005,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4006,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4009,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4012,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4015,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4017,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4018,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4019,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4020,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4034,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:4034,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4036,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:4036,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:4037,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4038,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:4039,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:4039,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:4039,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:4040,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4041,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4046,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:4046,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4048,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:4048,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:4049,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4050,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:4051,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:4051,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:4051,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_ffi.cpp:4052,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4053,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:4056,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4058,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4059,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4060,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4061,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 3
    argNames:
    - priv
    - rng
    - ' result'
    argTypes:
    - botan_privkey_t
    - botan_rng_t
    - Test::Result
    constantsTouched: []
    func_position:
      end: 4062
      start: 3989
    functionDepth: 1
    functionLinenumber: 3989
    functionLinenumberEnd: 4062
    functionName: Botan_Tests::FFI_ElGamal_Test::do_elgamal_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 1
    functionsReached:
    - botan_mp_init
    - botan_mp_destroy
    - std::vector::size
    - TEST_FFI_OK
    - std::vector::resize
    - test_eq
    - std::string::c_str
    - ffi_test_pubkey_export
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void do_elgamal_test(botan_privkey_t priv, botan_rng_t rng, Test::Result&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4067
      start: 4067
    functionDepth: 0
    functionLinenumber: 4067
    functionLinenumberEnd: 4067
    functionName: Botan_Tests::FFI_DH_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:4071,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4076,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4079,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4082,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4087,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4088,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4089,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4090,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4092,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4093,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4094,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4095,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4099,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4100,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4102,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4103,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4106,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4107,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4108,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4110,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4111,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4112,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4116,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:4117,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4119,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:4120,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4122,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:4123,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4126,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4128,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4131,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4135,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:4135,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4137,1
    - Dst: REQUIRE_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4141,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:4141,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4148,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:4149,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:4149,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:4149,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4154,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:4155,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ffi.cpp:4155,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ffi.cpp:4155,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:4157,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4159,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4160,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4161,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4162,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4164,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4165,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4166,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4168,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4169,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4170,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4171,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4172,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4173,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4174,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 55
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 4176
      start: 4069
    functionDepth: 1
    functionLinenumber: 4069
    functionLinenumberEnd: 4176
    functionName: Botan_Tests::FFI_DH_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - botan_mp_init
    - TEST_FFI_INIT
    - std::vector::size
    - TEST_FFI_OK
    - TEST_FFI_RC
    - test_eq
    - confirm
    - REQUIRE_FFI_OK
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4181
      start: 4181
    functionDepth: 0
    functionLinenumber: 4181
    functionLinenumberEnd: 4181
    functionName: Botan_Tests::FFI_OID_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_FAIL
      Src: /src/botan/src/tests/test_ffi.cpp:4191,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4192,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4194,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4195,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4196,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4199,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4200,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4202,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4203,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4205,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4206,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4207,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4209,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4210,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4214,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:4215,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4217,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:4218,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4220,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:4221,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4223,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4224,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4225,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4226,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4227,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4228,1
    - Dst: TEST_FFI_INIT
      Src: /src/botan/src/tests/test_ffi.cpp:4231,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4232,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4241,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4242,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4243,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:4243,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4244,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4246,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4249,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4251,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4252,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4255,1
    - Dst: ViewStringSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:4255,1
    - Dst: ViewStringSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:4255,1
    - Dst: ViewStringSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:4256,1
    - Dst: ViewStringSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:4256,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:4258,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4260,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4261,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4264,1
    - Dst: ViewStringSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:4264,1
    - Dst: ViewStringSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:4264,1
    - Dst: ViewStringSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:4265,1
    - Dst: ViewStringSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:4265,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:4266,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4268,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4269,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4270,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4271,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4273,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 4276
      start: 4183
    functionDepth: 0
    functionLinenumber: 4183
    functionLinenumberEnd: 4276
    functionName: Botan_Tests::FFI_OID_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - TEST_FFI_FAIL
    - ViewStringSink::callback
    - TEST_FFI_INIT
    - ViewStringSink::delegate
    - TEST_FFI_OK
    - TEST_FFI_RC
    - confirm
    - ViewStringSink::get
    - std::string::c_str
    - test_eq
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4281
      start: 4281
    functionDepth: 0
    functionLinenumber: 4281
    functionLinenumberEnd: 4281
    functionName: Botan_Tests::FFI_EC_Group_Test::name
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4286,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4287,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:4288,1
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/tests/test_ffi.cpp:4290,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ffi.cpp:4291,1
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ffi.cpp:4292,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4304,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4306,1
    - Dst: Botan_Tests::FFI_EC_Group_Test::get_group_parameters
      Src: /src/botan/src/tests/test_ffi.cpp:4308,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4328,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4330,1
    - Dst: Botan_Tests::FFI_EC_Group_Test::get_group_parameters
      Src: /src/botan/src/tests/test_ffi.cpp:4332,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4342,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4343,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4363,1
    - Dst: botan_oid_register
      Src: /src/botan/src/tests/test_ffi.cpp:4364,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4365,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4366,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4367,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4368,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4369,1
    - Dst: botan_mp_init
      Src: /src/botan/src/tests/test_ffi.cpp:4370,1
    - Dst: botan_mp_set_from_str
      Src: /src/botan/src/tests/test_ffi.cpp:4372,1
    - Dst: botan_mp_set_from_str
      Src: /src/botan/src/tests/test_ffi.cpp:4373,1
    - Dst: botan_mp_set_from_str
      Src: /src/botan/src/tests/test_ffi.cpp:4374,1
    - Dst: botan_mp_set_from_str
      Src: /src/botan/src/tests/test_ffi.cpp:4375,1
    - Dst: botan_mp_set_from_str
      Src: /src/botan/src/tests/test_ffi.cpp:4377,1
    - Dst: botan_mp_set_from_str
      Src: /src/botan/src/tests/test_ffi.cpp:4379,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4382,1
    - Dst: Botan_Tests::FFI_EC_Group_Test::get_group_parameters
      Src: /src/botan/src/tests/test_ffi.cpp:4392,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4404,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4407,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4409,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4410,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4421,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4422,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4425,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4426,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4427,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4428,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4429,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4430,1
    - Dst: botan_oid_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4432,1
    - Dst: botan_oid_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4433,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4435,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4436,1
    - Dst: botan_oid_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4439,1
    - Dst: botan_oid_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4440,1
    - Dst: botan_oid_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4441,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4451,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4452,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4453,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4459,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4460,1
    - Dst: Botan_Tests::Test::read_data_file
      Src: /src/botan/src/tests/test_ffi.cpp:4461,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4465,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4466,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4467,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4468,1
    - Dst: botan_mp_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4469,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4471,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4472,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4475,1
    - Dst: ViewBytesSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:4475,1
    - Dst: ViewBytesSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:4475,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4477,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/tests/test_ffi.cpp:4479,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:4479,1
    - Dst: ViewBytesSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:4479,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4482,1
    - Dst: ViewStringSink::delegate
      Src: /src/botan/src/tests/test_ffi.cpp:4482,1
    - Dst: ViewStringSink::callback
      Src: /src/botan/src/tests/test_ffi.cpp:4482,1
    - Dst: ViewStringSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:4483,1
    - Dst: ViewStringSink::get
      Src: /src/botan/src/tests/test_ffi.cpp:4483,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4486,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_ffi.cpp:4486,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4488,1
    - Dst: TEST_FFI_RC
      Src: /src/botan/src/tests/test_ffi.cpp:4489,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4492,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4496,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ffi.cpp:4497,1
    - Dst: botan_privkey_destroy
      Src: /src/botan/src/tests/test_ffi.cpp:4499,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4501,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4502,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4503,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4504,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4505,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 82
    argCount: 2
    argNames:
    - ' result'
    - rng
    argTypes:
    - Test::Result
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 4508
      start: 4283
    functionDepth: 2
    functionLinenumber: 4283
    functionLinenumberEnd: 4508
    functionName: Botan_Tests::FFI_EC_Group_Test::ffi_test
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::read_data_file
    - confirm
    - std::string::c_str
    - ViewBytesSink::delegate
    - botan_mp_init
    - Botan::EC_Group::supports_application_specific_group
    - reinterpret_cast<const uint8_t*>
    - ViewStringSink::callback
    - ViewStringSink::delegate
    - TEST_FFI_OK
    - botan_mp_set_from_str
    - ViewStringSink::get
    - Botan_Tests::FFI_EC_Group_Test::get_group_parameters
    - ViewBytesSink::get
    - test_eq
    - botan_mp_destroy
    - ViewBytesSink::callback
    - botan_oid_destroy
    - TEST_FFI_RC
    - Botan::EC_Group::supports_named_group
    - botan_oid_register
    - botan_privkey_destroy
    linkageType: ''
    returnType: void
    signature: void ffi_test(Test::Result& result, botan_rng_t rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4520,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4521,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4522,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4523,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4524,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4525,1
    - Dst: TEST_FFI_OK
      Src: /src/botan/src/tests/test_ffi.cpp:4526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 9
    argNames:
    - ec_group
    - oid
    - p
    - a
    - b
    - g_x
    - g_y
    - order
    - ' result'
    argTypes:
    - botan_ec_group_t
    - botan_asn1_oid_t*
    - botan_mp_t*
    - botan_mp_t*
    - botan_mp_t*
    - botan_mp_t*
    - botan_mp_t*
    - botan_mp_t*
    - Test::Result
    constantsTouched: []
    func_position:
      end: 4527
      start: 4511
    functionDepth: 0
    functionLinenumber: 4511
    functionLinenumberEnd: 4527
    functionName: Botan_Tests::FFI_EC_Group_Test::get_group_parameters
    functionSourceFile: /src/botan/src/tests/test_ffi.cpp
    functionUses: 1
    functionsReached:
    - TEST_FFI_OK
    linkageType: ''
    returnType: void
    signature: "void get_group_parameters(botan_ec_group_t ec_group,\n                                       botan_asn1_oid_t*
      oid,\n                                       botan_mp_t* p,\n                                       botan_mp_t*
      a,\n                                       botan_mp_t* b,\n                                       botan_mp_t*
      g_x,\n                                       botan_mp_t* g_y,\n                                       botan_mp_t*
      order,\n                                       Test::Result& result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:27,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:27,1
    - Dst: Botan::load_be<uint32_t>
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:31,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:31,1
    - Dst: Botan::Sphincs_Address
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - address_buffer
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: Botan_Tests::SPHINCS_Plus_FORS_Test::read_address
    functionSourceFile: /src/botan/src/tests/test_sphincsplus_fors.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - Botan::load_be<uint32_t>
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - Botan::Sphincs_Address
    linkageType: ''
    returnType: Botan::Sphincs_Address
    signature: Botan::Sphincs_Address read_address(std::span<const uint8_t> address_buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan_Tests::SPHINCS_Plus_FORS_Test::SPHINCS_Plus_FORS_Test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus_fors.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SPHINCS_Plus_FORS_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:43,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:43,1
    - Dst: auto::is_available
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Botan_Tests::SPHINCS_Plus_FORS_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus_fors.cpp
    functionUses: 0
    functionsReached:
    - auto::is_available
    - Botan::Sphincs_Parameters::create
    - get_req_str
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:50,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:50,1
    - Dst: Botan::SphincsSecretSeed
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:52,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:52,1
    - Dst: Botan::SphincsPublicSeed
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:53,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:53,1
    - Dst: Botan::SphincsHashedMessage
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:55,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:55,1
    - Dst: auto::hash_type
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:61,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:67,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:70,1
    - Dst: Botan::Sphincs_Hash_Functions::create
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:74,1
    - Dst: Botan_Tests::SPHINCS_Plus_FORS_Test::read_address
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:75,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:75,1
    - Dst: auto::fors_signature_bytes
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:77,1
    - Dst: Botan::fors_sign_and_pkgen
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:79,1
    - Dst: Botan::SphincsTreeNode
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:81,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:81,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:82,1
    - Dst: Botan::ForsSignature
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:84,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:84,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:85,1
    - Dst: unlock
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:85,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:85,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:85,1
    - Dst: Botan::fors_public_key_from_signature
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:87,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_fors.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 91
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 91
    functionName: Botan_Tests::SPHINCS_Plus_FORS_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_sphincsplus_fors.cpp
    functionUses: 0
    functionsReached:
    - Botan::SphincsPublicSeed
    - Botan::SphincsSecretSeed
    - Botan::fors_public_key_from_signature
    - Botan::SphincsHashedMessage
    - auto::hash_type
    - auto::process
    - Botan::ForsSignature
    - Test::Result::test_note
    - Botan::Sphincs_Hash_Functions::create
    - Botan::SphincsTreeNode
    - get_req_bin
    - get_req_str
    - Botan_Tests::SPHINCS_Plus_FORS_Test::read_address
    - Botan::Sphincs_Parameters::create
    - Botan::fors_sign_and_pkgen
    - auto::fors_signature_bytes
    - Botan::HashFunction::create
    - Test::Result::test_is_eq
    - auto::get
    - unlock
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string&, const VarMap& vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:48,1
    - Dst: data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:48,1
    - Dst: size
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - ' bin'
    argTypes:
    - Fixed_Output_RNG
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan_Tests::add_entropy
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - data
    - Botan_Tests::add_entropy
    - size
    linkageType: ''
    returnType: void
    signature: void add_entropy(Fixed_Output_RNG& rng, const std::vector<uint8_t>&
      bin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::read_data_file
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:54,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: Botan_Tests::server_certificate
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::read_data_file
    - Botan::X509_Certificate
    linkageType: ''
    returnType: Botan::X509_Certificate
    signature: Botan::X509_Certificate server_certificate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::read_data_file
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:64,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: Botan_Tests::alternative_server_certificate
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::read_data_file
    - Botan::X509_Certificate
    linkageType: ''
    returnType: Botan::X509_Certificate
    signature: Botan::X509_Certificate alternative_server_certificate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::read_data_file
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:71,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: Botan_Tests::client_certificate
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::read_data_file
    - Botan::X509_Certificate
    linkageType: ''
    returnType: Botan::X509_Certificate
    signature: Botan::X509_Certificate client_certificate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::read_data_file
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:77,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: Botan_Tests::client_raw_public_key_pair
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::read_data_file
    - Botan::PKCS8::load_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> client_raw_public_key_pair()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::read_data_file
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:83,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: Botan_Tests::server_raw_public_key_pair
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::read_data_file
    - Botan::PKCS8::load_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> server_raw_public_key_pair()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Extension_Code
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: Botan_Tests::Padding::static_type
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Extension_Code
    linkageType: ''
    returnType: Botan::TLS::Extension_Code
    signature: Botan::TLS::Extension_Code static_type()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Padding::static_type
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan_Tests::Padding::type
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Padding::static_type
    linkageType: ''
    returnType: Botan::TLS::Extension_Code
    signature: Botan::TLS::Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - padding_bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: Botan_Tests::Padding::Padding
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Padding(const size_t padding_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: Botan_Tests::Padding::serialize
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize(Botan::TLS::Connection_Side) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Botan_Tests::Padding::empty
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:119,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:119,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:120,1
    - Dst: static_cast<time_t>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:120,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msecs
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: Botan_Tests::from_milliseconds_since_epoch
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - Botan_CLI::Timer::milliseconds
    - static_cast<time_t>
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - std::chrono::system_clock::from_time_t
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point from_milliseconds_since_epoch(uint64_t
      msecs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:150,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:151,1
    - Dst: from_milliseconds_since_epoch
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - modify_exts_cb
    - mock_signatures
    - timestamp
    argTypes:
    - Modify_Exts_Fn
    - std::vector<MockSignature>
    - uint64_t
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: Botan_Tests::Test_TLS_13_Callbacks::Test_TLS_13_Callbacks
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - from_milliseconds_since_epoch
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Test_TLS_13_Callbacks(Modify_Exts_Fn modify_exts_cb,\n                            std::vector<MockSignature>
      mock_signatures,\n                            uint64_t timestamp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:155,1
    - Dst: insert
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:156,1
    - Dst: end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:156,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:156,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    - end
    - insert
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t> data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:160,1
    - Dst: insert
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:162,1
    - Dst: end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:162,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:162,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - seq_no
    - data
    argTypes:
    - uint64_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    - end
    - insert
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t seq_no, std::span<const uint8_t>
      data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:166,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_alert
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: void
    signature: void tls_alert(Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_peer_closed_connection
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: bool
    signature: bool tls_peer_closed_connection() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psk_used
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:178,1
    - Dst: external_psk_identity
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:179,1
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' summary'
    argTypes:
    - Botan::TLS::Session_Summary
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_session_established
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - external_psk_identity
    - psk_used
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: void
    signature: void tls_session_established(const Botan::TLS::Session_Summary& summary)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_session_activated
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: void
    signature: void tls_session_activated() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_should_persist_resumption_information
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: bool
    signature: bool tls_should_persist_resumption_information(const Session&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' cert_chain'
    argTypes:
    - std::vector<Botan::X509_Certificate>
    constantsTouched: []
    func_position:
      end: 202
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 202
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_verify_cert_chain
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: void
    signature: "void tls_verify_cert_chain(const std::vector<Botan::X509_Certificate>&
      cert_chain,\n                                 const std::vector<std::optional<Botan::OCSP::Response>>&,\n
      \                                const std::vector<Botan::Certificate_Store*>&,\n
      \                                Botan::Usage_Type,\n                                 std::string_view,\n
      \                                const Botan::TLS::Policy&) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:208,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:210,1
    - Dst: subject_public_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' raw_pk'
    argTypes:
    - Public_Key
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_verify_raw_public_key
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - subject_public_key
    - Botan::X509::load_key
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: void
    signature: "void tls_verify_raw_public_key(const Public_Key& raw_pk,\n                                     Usage_Type,\n
      \                                    std::string_view,\n                                     const
      TLS::Policy&) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:214,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_verify_cert_chain_ocsp_timeout
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::milliseconds
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: std::chrono::milliseconds
    signature: std::chrono::milliseconds tls_verify_cert_chain_ocsp_timeout() const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:220,1
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::tls_provide_cert_status
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' chain'
    - ' csr'
    argTypes:
    - std::vector<X509_Certificate>
    - Certificate_Status_Request
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_provide_cert_status
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::tls_provide_cert_status
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> tls_provide_cert_status(const std::vector<X509_Certificate>&
      chain,\n                                                   const Certificate_Status_Request&
      csr) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:229,1
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:230,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:232,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:234,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:238,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:238,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:240,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:242,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:246,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:246,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:249,1
    - Dst: algo_name
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:249,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:258,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:258,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 5
    argNames:
    - ' key'
    - ' rng'
    - padding
    - format
    - ' msg'
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - Signature_Format
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 259
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 259
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_sign_message
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    - std::string
    - Test_Error
    - BOTAN_UNUSED
    - Botan::hex_encode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> tls_sign_message(const Private_Key& key,\n                                            RandomNumberGenerator&
      rng,\n                                            std::string_view padding,\n
      \                                           Signature_Format format,\n                                            const
      std::vector<uint8_t>& msg) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:266,1
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::tls_verify_message
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' key'
    - padding
    - format
    - ' msg'
    - ' sig'
    argTypes:
    - Public_Key
    - std::string_view
    - Signature_Format
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_verify_message
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::tls_verify_message
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: bool
    signature: "bool tls_verify_message(const Public_Key& key,\n                              std::string_view
      padding,\n                              Signature_Format format,\n                              const
      std::vector<uint8_t>& msg,\n                              const std::vector<uint8_t>&
      sig) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:272,1
    - Dst: Callbacks::tls_generate_ephemeral_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' group'
    - ' rng'
    argTypes:
    - std::variant<TLS::Group_Params, DL_Group>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_generate_ephemeral_key
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Callbacks::tls_generate_ephemeral_key
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: std::unique_ptr<PK_Key_Agreement_Key>
    signature: "std::unique_ptr<PK_Key_Agreement_Key> tls_generate_ephemeral_key(\n
      \        const std::variant<TLS::Group_Params, DL_Group>& group, RandomNumberGenerator&
      rng) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:281,1
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_ephemeral_key_agreement
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' group'
    - ' private_key'
    - ' public_value'
    - ' rng'
    - ' policy'
    argTypes:
    - std::variant<TLS::Group_Params, DL_Group>
    - PK_Key_Agreement_Key
    - std::vector<uint8_t>
    - RandomNumberGenerator
    - Policy
    constantsTouched: []
    func_position:
      end: 283
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 283
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_ephemeral_key_agreement
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_ephemeral_key_agreement
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> tls_ephemeral_key_agreement(const std::variant<TLS::Group_Params,
      DL_Group>& group,\n                                                         const
      PK_Key_Agreement_Key& private_key,\n                                                         const
      std::vector<uint8_t>& public_value,\n                                                         RandomNumberGenerator&
      rng,\n                                                         const Policy&
      policy) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:286,1
    - Dst: type_string
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:286,1
    - Dst: serialize
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:289,1
    - Dst: try_emplace
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:291,1
    - Dst: type_string
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:291,1
    - Dst: second::emplace_back
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:291,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:292,1
    - Dst: PeerCallbacks::tls_inspect_handshake_msg
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - Handshake_Message
    constantsTouched: []
    func_position:
      end: 300
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 300
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_inspect_handshake_msg
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - second::emplace_back
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    - std::move
    - serialize
    - type_string
    - try_emplace
    - PeerCallbacks::tls_inspect_handshake_msg
    linkageType: ''
    returnType: void
    signature: void tls_inspect_handshake_msg(const Handshake_Message& message) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:303,1
    - Dst: Fuzzer_TLS_Server_Callbacks::tls_server_choose_app_protocol
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' client_protos'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_server_choose_app_protocol
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Fuzzer_TLS_Server_Callbacks::tls_server_choose_app_protocol
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: std::string
    signature: std::string tls_server_choose_app_protocol(const std::vector<std::string>&
      client_protos) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:310,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:310,1
    - Dst: handshake_type_to_string
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:310,1
    - Dst: m_modify_exts
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:311,1
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_modify_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' exts'
    - side
    - which_message
    argTypes:
    - Botan::TLS::Extensions
    - Botan::TLS::Connection_Side
    - Botan::TLS::Handshake_Type
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_modify_extensions
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - m_modify_exts
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    - std::string
    - handshake_type_to_string
    - Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_modify_extensions
    linkageType: ''
    returnType: void
    signature: "void tls_modify_extensions(Botan::TLS::Extensions& exts,\n                                 Botan::TLS::Connection_Side
      side,\n                                 Botan::TLS::Handshake_Type which_message)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:318,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:318,1
    - Dst: handshake_type_to_string
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:318,1
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_examine_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' extn'
    - which_side
    - which_message
    argTypes:
    - Botan::TLS::Extensions
    - Connection_Side
    - Botan::TLS::Handshake_Type
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_examine_extensions
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - handshake_type_to_string
    - Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_examine_extensions
    - std::string
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: void
    signature: "void tls_examine_extensions(const Botan::TLS::Extensions& extn,\n
      \                                 Connection_Side which_side,\n                                  Botan::TLS::Handshake_Type
      which_message) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:323,1
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::tls_peer_network_identity
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_peer_network_identity
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::tls_peer_network_identity
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: std::string
    signature: std::string tls_peer_network_identity() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: Botan_Tests::Test_TLS_13_Callbacks::tls_current_timestamp
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point tls_current_timestamp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:332,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: Botan_Tests::Test_TLS_13_Callbacks::pull_send_buffer
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - std::exchange
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> pull_send_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:334,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: Botan_Tests::Test_TLS_13_Callbacks::pull_receive_buffer
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - std::exchange
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> pull_receive_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: Botan_Tests::Test_TLS_13_Callbacks::last_received_seq_no
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t last_received_seq_no() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: '& callback_invocations() const'
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<std::string, unsigned int>
    signature: std::map<std::string, unsigned int> & callback_invocations() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: Botan_Tests::Test_TLS_13_Callbacks::reset_callback_invocation_counters
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void reset_callback_invocation_counters()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' callback_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: Botan_Tests::Test_TLS_13_Callbacks::count_callback_invocation
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 21
    functionsReached:
    - contains
    linkageType: ''
    returnType: void
    signature: void count_callback_invocation(const std::string& callback_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:374,1
    - Dst: Botan_Tests::Test::read_data_file
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:375,1
    - Dst: reset
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:376,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:376,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:382,1
    - Dst: reset
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:383,1
    - Dst: create_private_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:383,1
    - Dst: reset
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:385,1
    - Dst: create_private_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - use_alternative_server_certificate
    - external_psk
    argTypes:
    - bool
    - std::optional<ExternalPSK>
    constantsTouched: []
    func_position:
      end: 386
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 386
    functionName: Botan_Tests::Test_Credentials::Test_Credentials
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::read_data_file
    - Botan::PKCS8::load_key
    - reset
    - std::move
    - Botan_Tests::Test::new_rng
    - create_private_key
    linkageType: ''
    returnType: void
    signature: void Test_Credentials(bool use_alternative_server_certificate, std::optional<ExternalPSK>
      external_psk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:392,1
    - Dst: client_certificate
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:394,1
    - Dst: alternative_server_certificate
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:396,1
    - Dst: server_certificate
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' cert_key_types'
    - ' cert_signature_schemes'
    - ' type'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - std::vector<AlgorithmIdentifier>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 400
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 400
    functionName: Botan_Tests::Test_Credentials::cert_chain
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - alternative_server_certificate
    - server_certificate
    - client_certificate
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::vector<Botan::X509_Certificate>
    signature: "std::vector<Botan::X509_Certificate> cert_chain(const std::vector<std::string>&
      cert_key_types,\n                                                      const
      std::vector<AlgorithmIdentifier>& cert_signature_schemes,\n                                                      const
      std::string& type,\n                                                      const
      std::string& context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:405,1
    - Dst: client_raw_public_key_pair
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:406,1
    - Dst: server_raw_public_key_pair
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' key_types'
    - ' type'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 408
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 408
    functionName: Botan_Tests::Test_Credentials::find_raw_public_key
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - client_raw_public_key_pair
    - server_raw_public_key_pair
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::shared_ptr<Public_Key>
    signature: "std::shared_ptr<Public_Key> find_raw_public_key(const std::vector<std::string>&
      key_types,\n                                                      const std::string&
      type,\n                                                      const std::string&
      context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' cert'
    - ' type'
    - ' context'
    argTypes:
    - Botan::X509_Certificate
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 424
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 424
    functionName: Botan_Tests::Test_Credentials::private_key_for
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::shared_ptr<Botan::Private_Key>
    signature: "std::shared_ptr<Botan::Private_Key> private_key_for(const Botan::X509_Certificate&
      cert,\n                                                          const std::string&
      type,\n                                                          const std::string&
      context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:429,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:431,1
    - Dst: client_raw_public_key_pair
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:431,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:432,1
    - Dst: server_raw_public_key_pair
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:432,1
    - Dst: fingerprint_public
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:434,1
    - Dst: fingerprint_public
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:434,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' raw_public_key'
    - ' type'
    - ' context'
    argTypes:
    - Public_Key
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 439
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 439
    functionName: Botan_Tests::Test_Credentials::private_key_for
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - fingerprint_public
    - server_raw_public_key_pair
    - BOTAN_UNUSED
    - std::move
    - std::vector::emplace_back
    - client_raw_public_key_pair
    linkageType: ''
    returnType: std::shared_ptr<Botan::Private_Key>
    signature: "std::shared_ptr<Botan::Private_Key> private_key_for(const Public_Key&
      raw_public_key,\n                                                          const
      std::string& type,\n                                                          const
      std::string& context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:445,1
    - Dst: value
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:449,1
    - Dst: find
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:450,1
    - Dst: begin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:450,1
    - Dst: end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:450,1
    - Dst: identity
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:450,1
    - Dst: empty
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:451,1
    - Dst: end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:451,1
    - Dst: prf_algo
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:455,1
    - Dst: extract_master_secret
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:461,1
    - Dst: ExternalPSK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:462,1
    - Dst: identity
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:462,1
    - Dst: prf_algo
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:462,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:464,1
    - Dst: identity
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:464,1
    - Dst: prf_algo
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ' identities'
    - ' prf'
    argTypes:
    - std::vector<std::string>
    - std::optional<std::string>
    constantsTouched: []
    func_position:
      end: 466
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 466
    functionName: Botan_Tests::Test_Credentials::find_preshared_keys
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - identity
    - extract_master_secret
    - begin
    - prf_algo
    - ExternalPSK
    - end
    - empty
    - value
    - find
    - std::vector::emplace_back
    - has_value
    linkageType: ''
    returnType: std::vector<TLS::ExternalPSK>
    signature: "std::vector<TLS::ExternalPSK> find_preshared_keys(std::string_view
      /* host */,\n                                                        TLS::Connection_Side
      /* whoami */,\n                                                        const
      std::vector<std::string>& identities,\n                                                        const
      std::optional<std::string>& prf) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:479,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:481,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:482,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:483,1
    - Dst: Botan_Tests::RFC8448_Text_Policy::RFC8448_Text_Policy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' policy_file'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 487
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 487
    functionName: Botan_Tests::RFC8448_Text_Policy::read_policy
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::good
    - Botan_Tests::RFC8448_Text_Policy::RFC8448_Text_Policy
    - Botan_Tests::Test::data_file
    - std::string::c_str
    - Test_Error
    linkageType: ''
    returnType: Botan::TLS::Text_Policy
    signature: Botan::TLS::Text_Policy read_policy(const std::string& policy_file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::RFC8448_Text_Policy::read_policy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' policy_file'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 491
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 491
    functionName: Botan_Tests::RFC8448_Text_Policy::RFC8448_Text_Policy
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::RFC8448_Text_Policy::read_policy
    linkageType: ''
    returnType: void
    signature: void RFC8448_Text_Policy(const std::string& policy_file, bool rfc8448
      = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::RFC8448_Text_Policy::allowed_signature_schemes
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:495,1
    - Dst: Botan::TLS::Signature_Scheme::Signature_Scheme
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:514,1
    - Dst: Botan::TLS::Signature_Scheme::Signature_Scheme
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:515,1
    - Dst: Botan::TLS::Signature_Scheme::Signature_Scheme
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:516,1
    - Dst: Botan::TLS::Signature_Scheme::Signature_Scheme
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 519
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 519
    functionName: Botan_Tests::RFC8448_Text_Policy::allowed_signature_schemes
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Signature_Scheme::Signature_Scheme
    - Botan_Tests::RFC8448_Text_Policy::allowed_signature_schemes
    linkageType: ''
    returnType: std::vector<Botan::TLS::Signature_Scheme>
    signature: std::vector<Botan::TLS::Signature_Scheme> allowed_signature_schemes()
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:526,1
    - Dst: key_exchange_groups
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:528,1
    - Dst: std::find_if
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:530,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:530,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:530,1
    - Dst: value_exists
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:531,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' supported_by_peer'
    - ' offered_by_peer'
    argTypes:
    - std::vector<Group_Params>
    - std::vector<Group_Params>
    constantsTouched: []
    func_position:
      end: 535
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 535
    functionName: Botan_Tests::RFC8448_Text_Policy::choose_key_exchange_group
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - value_exists
    - key_exchange_groups
    - auto::begin
    - BOTAN_UNUSED
    - std::find_if
    - auto::end
    linkageType: ''
    returnType: Named_Group
    signature: "Named_Group choose_key_exchange_group(const std::vector<Group_Params>&
      supported_by_peer,\n                                            const std::vector<Group_Params>&
      offered_by_peer) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handle::id
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:550,1
    - Dst: id
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:550,1
    - Dst: handle::id
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:551,1
    - Dst: id
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:551,1
    - Dst: handle::ticket
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:554,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:554,1
    - Dst: handle::ticket
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:555,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:555,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - ' handle'
    argTypes:
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 560
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 560
    functionName: Botan_Tests::RFC8448_Session_Manager::find_by_handle
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - handle::id
    - ticket
    - handle::ticket
    - id
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) find_by_handle(const Session_Handle& handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Botan::Null_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 563
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 563
    functionName: Botan_Tests::RFC8448_Session_Manager::RFC8448_Session_Manager
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Botan::Null_RNG>
    linkageType: ''
    returnType: void
    signature: void RFC8448_Session_Manager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: '& all_sessions() const'
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Session_with_Handle>
    signature: std::vector<Session_with_Handle> & all_sessions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' session'
    - ' handle'
    argTypes:
    - Session
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 569
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 569
    functionName: Botan_Tests::RFC8448_Session_Manager::store
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void store(const Session& session, const Session_Handle& handle) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:576,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:577,1
    - Dst: front
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:580,1
    - Dst: master_secret
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:581,1
    - Dst: master_secret
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:581,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Session
    constantsTouched: []
    func_position:
      end: 586
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 586
    functionName: Botan_Tests::RFC8448_Session_Manager::establish
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Test_Error
    - front
    - master_secret
    - size
    linkageType: ''
    returnType: std::optional<Session_Handle>
    signature: std::optional<Session_Handle> establish(const Session& session, const
      std::optional<Session_ID>&, bool) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:589,1
    - Dst: begin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:589,1
    - Dst: end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:589,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::find_by_handle
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:589,1
    - Dst: end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' handle'
    argTypes:
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 595
      start: 588
    functionDepth: 2
    functionLinenumber: 588
    functionLinenumberEnd: 595
    functionName: Botan_Tests::RFC8448_Session_Manager::retrieve_one
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 2
    functionsReached:
    - begin
    - Botan_Tests::RFC8448_Session_Manager::find_by_handle
    - end
    - std::find_if
    linkageType: ''
    returnType: std::optional<Session>
    signature: std::optional<Session> retrieve_one(const Session_Handle& handle) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_info
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:600,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - Server_Information
    constantsTouched: []
    func_position:
      end: 606
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 606
    functionName: Botan_Tests::RFC8448_Session_Manager::find_some
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - server_info
    linkageType: ''
    returnType: std::vector<Session_with_Handle>
    signature: std::vector<Session_with_Handle> find_some(const Server_Information&
      info, const size_t) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::erase_if
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:608,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::find_by_handle
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' handle'
    argTypes:
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 608
      start: 608
    functionDepth: 2
    functionLinenumber: 608
    functionLinenumberEnd: 608
    functionName: Botan_Tests::RFC8448_Session_Manager::remove
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - std::erase_if
    - Botan_Tests::RFC8448_Session_Manager::find_by_handle
    linkageType: ''
    returnType: size_t
    signature: size_t remove(const Session_Handle& handle) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:611,1
    - Dst: clear
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 614
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 614
    functionName: Botan_Tests::RFC8448_Session_Manager::remove_all
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - clear
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t remove_all() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Test_TLS_13_Callbacks>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:636,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:637,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:637,1
    - Dst: std::make_shared<Test_Credentials>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:638,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:638,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:639,1
    - Dst: std::make_shared<RFC8448_Session_Manager>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:640,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:641,1
    - Dst: std::optional<std::pair<Session, Session_Ticket>>::has_value
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:642,1
    - Dst: store
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:643,1
    - Dst: std::get<Session>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:643,1
    - Dst: std::optional<std::pair<Session, Session_Ticket>>::value
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:643,1
    - Dst: std::get<Session_Ticket>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:644,1
    - Dst: std::optional<std::pair<Session, Session_Ticket>>::value
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - rng_in
    - policy
    - modify_exts_cb
    - mock_signatures
    - timestamp
    - session_and_ticket
    - external_psk
    - use_alternative_server_certificate
    argTypes:
    - std::shared_ptr<Botan::RandomNumberGenerator>
    - std::shared_ptr<const RFC8448_Text_Policy>
    - Modify_Exts_Fn
    - std::vector<MockSignature>
    - uint64_t
    - std::optional<std::pair<Session, Session_Ticket>>
    - std::optional<ExternalPSK>
    - bool
    constantsTouched: []
    func_position:
      end: 646
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 646
    functionName: Botan_Tests::TLS_Context::TLS_Context
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::optional<std::pair<Session, Session_Ticket>>::value
    - std::get<Session>
    - std::get<Session_Ticket>
    - std::make_shared<Test_Credentials>
    - std::move
    - store
    - std::make_shared<Test_TLS_13_Callbacks>
    - std::optional<std::pair<Session, Session_Ticket>>::has_value
    - std::make_shared<RFC8448_Session_Manager>
    linkageType: ''
    returnType: void
    signature: "void TLS_Context(std::shared_ptr<Botan::RandomNumberGenerator> rng_in,\n
      \                 std::shared_ptr<const RFC8448_Text_Policy> policy,\n                  Modify_Exts_Fn
      modify_exts_cb,\n                  std::vector<MockSignature> mock_signatures,\n
      \                 uint64_t timestamp,\n                  std::optional<std::pair<Session,
      Session_Ticket>> session_and_ticket,\n                  std::optional<ExternalPSK>
      external_psk,\n                  bool use_alternative_server_certificate)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 649
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 649
    functionName: ~TLS_Context()
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TLS_Context()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 651
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 651
    functionName: Botan_Tests::TLS_Context::TLS_Context
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Context(TLS_Context&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 652
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 652
    functionName: '& operator=(const TLS_Context&)'
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TLS_Context
    signature: TLS_Context & operator=(const TLS_Context&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 654
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 654
    functionName: Botan_Tests::TLS_Context::TLS_Context
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Context(TLS_Context&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 655
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 655
    functionName: '& operator=(TLS_Context&&)'
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TLS_Context
    signature: TLS_Context & operator=(TLS_Context&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::TLS_Context::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 657
    functionName: Botan_Tests::TLS_Context::pull_send_buffer
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::TLS_Context::pull_send_buffer
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> pull_send_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::TLS_Context::pull_receive_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 659
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 659
    functionName: Botan_Tests::TLS_Context::pull_receive_buffer
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::TLS_Context::pull_receive_buffer
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> pull_receive_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::TLS_Context::last_received_seq_no
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 661
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 661
    functionName: Botan_Tests::TLS_Context::last_received_seq_no
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::TLS_Context::last_received_seq_no
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t last_received_seq_no() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:671,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:673,1
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:673,1
    - Dst: contains
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:674,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:674,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:681,1
    - Dst: find
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:683,1
    - Dst: cbegin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:683,1
    - Dst: cend
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:683,1
    - Dst: cend
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:683,1
    - Dst: reset_callback_invocation_counters
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:686,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ' result'
    - ' context'
    - ' callback_names'
    argTypes:
    - Test::Result
    - std::string
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 687
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 687
    functionName: Botan_Tests::TLS_Context::check_callback_invocations
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - reset_callback_invocation_counters
    - contains
    - at
    - cbegin
    - confirm
    - find
    - callback_invocations
    - Botan::fmt
    - cend
    linkageType: ''
    returnType: void
    signature: "void check_callback_invocations(Test::Result& result,\n                                      const
      std::string& context,\n                                      const std::vector<std::string>&
      callback_names)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: all_sessions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 689
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 689
    functionName: '& stored_sessions() const'
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - all_sessions
    linkageType: ''
    returnType: std::vector<Session_with_Handle>
    signature: std::vector<Session_with_Handle> & stored_sessions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 691
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 691
    functionName: '& certs_verified() const'
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::X509_Certificate>
    signature: std::vector<Botan::X509_Certificate> & certs_verified() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 693
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 693
    functionName: '& psk_identity_negotiated() const'
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & psk_identity_negotiated() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 695
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 695
    functionName: Botan_Tests::TLS_Context::observed_handshake_messages
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) observed_handshake_messages() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:720,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:721,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:722,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:723,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:725,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:726,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - rng_in
    - policy
    - timestamp
    - modify_exts_cb
    argTypes:
    - std::shared_ptr<Botan::RandomNumberGenerator>
    - std::shared_ptr<const RFC8448_Text_Policy>
    - uint64_t
    - Modify_Exts_Fn
    constantsTouched: []
    func_position:
      end: 734
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 734
    functionName: Botan_Tests::Client_Context::Client_Context
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Server_Information
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Client_Context(std::shared_ptr<Botan::RandomNumberGenerator>
      rng_in,\n                     std::shared_ptr<const RFC8448_Text_Policy> policy,\n
      \                    uint64_t timestamp,\n                     Modify_Exts_Fn
      modify_exts_cb,\n                     std::optional<std::pair<Session, Session_Ticket>>
      session_and_ticket = std::nullopt,\n                     std::optional<ExternalPSK>
      external_psk = std::nullopt,\n                     std::vector<MockSignature>
      mock_signatures = {})"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Client_Context::send
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:736,1
    - Dst: data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:736,1
    - Dst: size
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 736
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 736
    functionName: Botan_Tests::Client_Context::send
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - data
    - Botan_Tests::Client_Context::send
    - size
    linkageType: ''
    returnType: void
    signature: void send(const std::vector<uint8_t>& data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:751,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:752,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:753,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:754,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:756,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - rng
    - policy
    - timestamp
    - modify_exts_cb
    - mock_signatures
    argTypes:
    - std::shared_ptr<Botan::RandomNumberGenerator>
    - std::shared_ptr<const RFC8448_Text_Policy>
    - uint64_t
    - Modify_Exts_Fn
    - std::vector<MockSignature>
    constantsTouched: []
    func_position:
      end: 759
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 759
    functionName: Botan_Tests::Server_Context::Server_Context
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Server_Context(std::shared_ptr<Botan::RandomNumberGenerator>
      rng,\n                     std::shared_ptr<const RFC8448_Text_Policy> policy,\n
      \                    uint64_t timestamp,\n                     Modify_Exts_Fn
      modify_exts_cb,\n                     std::vector<MockSignature> mock_signatures,\n
      \                    bool use_alternative_server_certificate = false,\n                     std::optional<std::pair<Session,
      Session_Ticket>> session_and_ticket = std::nullopt,\n                     std::optional<ExternalPSK>
      external_psk = std::nullopt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Server_Context::send
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:761,1
    - Dst: data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:761,1
    - Dst: size
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 761
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 761
    functionName: Botan_Tests::Server_Context::send
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 1
    functionsReached:
    - data
    - Botan_Tests::Server_Context::send
    - size
    linkageType: ''
    returnType: void
    signature: void send(const std::vector<uint8_t>& data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:768,1
    - Dst: add
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:770,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' exts'
    - ' expected_order'
    argTypes:
    - Botan::TLS::Extensions
    - std::vector<Botan::TLS::Extension_Code>
    constantsTouched: []
    func_position:
      end: 773
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 773
    functionName: Botan_Tests::sort_extensions
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - add
    - std::move
    - take
    linkageType: ''
    returnType: void
    signature: void sort_extensions(Botan::TLS::Extensions& exts, const std::vector<Botan::TLS::Extension_Code>&
      expected_order)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::sort_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:783,1
    - Dst: Botan_Tests::Padding::static_type
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:796,1
    - Dst: Botan_Tests::sort_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' exts'
    - side
    argTypes:
    - Botan::TLS::Extensions
    - Botan::TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 812
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 812
    functionName: Botan_Tests::sort_rfc8448_extensions
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::sort_extensions
    - Botan_Tests::Padding::static_type
    linkageType: ''
    returnType: void
    signature: "void sort_rfc8448_extensions(Botan::TLS::Extensions& exts,\n                             Botan::TLS::Connection_Side
      side,\n                             Botan::TLS::Handshake_Type = Botan::TLS::Handshake_Type::ClientHello)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:817,1
    - Dst: Renegotiation_Extension::Renegotiation_Extension
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' exts'
    argTypes:
    - Botan::TLS::Extensions
    constantsTouched: []
    func_position:
      end: 818
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 818
    functionName: Botan_Tests::add_renegotiation_extension
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - add
    - Renegotiation_Extension::Renegotiation_Extension
    linkageType: ''
    returnType: void
    signature: void add_renegotiation_extension(Botan::TLS::Extensions& exts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:821,1
    - Dst: Botan::TLS::EarlyDataIndication::EarlyDataIndication
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' exts'
    argTypes:
    - Botan::TLS::Extensions
    constantsTouched: []
    func_position:
      end: 822
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 822
    functionName: Botan_Tests::add_early_data_indication
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - add
    - Botan::TLS::EarlyDataIndication::EarlyDataIndication
    linkageType: ''
    returnType: void
    signature: void add_early_data_indication(Botan::TLS::Extensions& exts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:825,1
    - Dst: size
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:825,1
    - Dst: begin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:826,1
    - Dst: end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 827
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 827
    functionName: Botan_Tests::strip_message_header
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - BOTAN_ASSERT_NOMSG
    - size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> strip_message_header(const std::vector<uint8_t>&
      msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:833,1
    - Dst: has_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:833,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:834,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:834,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:834,1
    - Dst: mock
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:838,1
    - Dst: mock
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 842
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 842
    functionName: Botan_Tests::make_mock_signatures
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - mock
    - has_key
    - get_opt_bin
    linkageType: ''
    returnType: std::vector<MockSignature>
    signature: std::vector<MockSignature> make_mock_signatures(const VarMap& vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 935
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 935
    functionName: Botan_Tests::Test_TLS_RFC8448::Test_TLS_RFC8448
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_TLS_RFC8448()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::Result::Result
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:939,1
    - Dst: side
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:939,1
    - Dst: simple_1_rtt
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:939,1
    - Dst: Botan_Tests::Test::Result::Result
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:941,1
    - Dst: side
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:941,1
    - Dst: resumed_handshake_with_0_rtt
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:941,1
    - Dst: Botan_Tests::Test::Result::Result
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:943,1
    - Dst: side
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:943,1
    - Dst: hello_retry_request
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:944,1
    - Dst: Botan_Tests::Test::Result::Result
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:946,1
    - Dst: side
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:946,1
    - Dst: client_authentication
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:946,1
    - Dst: Botan_Tests::Test::Result::Result
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:948,1
    - Dst: side
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:948,1
    - Dst: middlebox_compatibility
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:948,1
    - Dst: Botan_Tests::Test::Result::Result
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:950,1
    - Dst: side
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:950,1
    - Dst: externally_provided_psk_with_ephemeral_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:951,1
    - Dst: Botan_Tests::Test::Result::Result
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:953,1
    - Dst: side
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:953,1
    - Dst: raw_public_key_with_client_authentication
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:954,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:956,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - ' header'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 958
      start: 937
    functionDepth: 2
    functionLinenumber: 937
    functionLinenumberEnd: 958
    functionName: Botan_Tests::Test_TLS_RFC8448::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - hello_retry_request
    - Botan_Tests::Test::Result::Failure
    - resumed_handshake_with_0_rtt
    - side
    - externally_provided_psk_with_ephemeral_key
    - client_authentication
    - Botan_Tests::Test::Result::Result
    - middlebox_compatibility
    - raw_public_key_with_client_authentication
    - simple_1_rtt
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& header, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 963
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 963
    functionName: Botan_Tests::Test_TLS_RFC8448_Client::side
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string side() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:966,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:970,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:970,1
    - Dst: add
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:979,1
    - Dst: Botan::TLS::Session_Ticket_Extension::Session_Ticket_Extension
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:979,1
    - Dst: add_renegotiation_extension
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:981,1
    - Dst: sort_rfc8448_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:982,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:989,1
    - Dst: std::make_unique<Client_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:991,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:992,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:993,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:996,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:996,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:997,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1007,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1008,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1008,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1011,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1013,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1014,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1016,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1016,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1017,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1017,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1019,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1020,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1022,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1023,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1029,1
    - Dst: std::unique_ptr::client::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1029,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1030,1
    - Dst: std::unique_ptr::client::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1030,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1033,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1035,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1036,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1036,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1038,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1052,1
    - Dst: std::unique_ptr::certs_verified
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1052,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1053,1
    - Dst: std::unique_ptr::certs_verified
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1053,1
    - Dst: server_certificate
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1053,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1054,1
    - Dst: std::unique_ptr::client::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1054,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1055,1
    - Dst: std::unique_ptr::client::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1055,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1057,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1058,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1059,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1062,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1064,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1065,1
    - Dst: std::unique_ptr::stored_sessions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1065,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1066,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1066,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1068,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1073,1
    - Dst: std::unique_ptr::stored_sessions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1073,1
    - Dst: std::unique_ptr::stored_sessions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1074,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1075,1
    - Dst: ticket
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1075,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1076,1
    - Dst: Botan::unlock
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1077,1
    - Dst: DER_encode
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1077,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1078,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1082,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1084,1
    - Dst: std::unique_ptr::send
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1085,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1085,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1087,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1089,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1090,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1091,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1094,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1096,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1097,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1097,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1099,1
    - Dst: std::unique_ptr::pull_receive_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1101,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1102,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1102,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1103,1
    - Dst: std::unique_ptr::last_received_seq_no
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1103,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1106,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1108,1
    - Dst: std::unique_ptr::client::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1109,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1111,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1112,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1112,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1113,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1115,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1115,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1116,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1119,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 59
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 1122
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 1122
    functionName: Botan_Tests::Test_TLS_RFC8448_Client::simple_1_rtt
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - add
    - Botan::TLS::Session_Ticket_Extension::Session_Ticket_Extension
    - std::make_shared<Fixed_Output_RNG>
    - require
    - ticket
    - Botan::unlock
    - confirm
    - auto::begin
    - get_req_u64
    - std::unique_ptr::pull_send_buffer
    - std::unique_ptr::client::is_active
    - std::unique_ptr::client::is_handshake_complete
    - std::unique_ptr::client::received_data
    - std::unique_ptr::last_received_seq_no
    - std::unique_ptr::check_callback_invocations
    - get_req_bin
    - std::unique_ptr::client::is_closed
    - auto::end
    - sort_rfc8448_extensions
    - server_certificate
    - DER_encode
    - std::unique_ptr::send
    - std::unique_ptr::pull_receive_buffer
    - std::unique_ptr::certs_verified
    - std::unique_ptr::stored_sessions
    - test_eq
    - CHECK
    - std::make_unique<Client_Context>
    - test_is_eq
    - add_entropy
    - std::make_shared<RFC8448_Text_Policy>
    - std::unique_ptr::client::close
    - add_renegotiation_extension
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> simple_1_rtt(const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1125,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1129,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1129,1
    - Dst: add
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1135,1
    - Dst: Padding::Padding
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1135,1
    - Dst: add_renegotiation_extension
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1137,1
    - Dst: add_early_data_indication
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1143,1
    - Dst: sort_rfc8448_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1144,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1151,1
    - Dst: std::make_unique<Client_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1153,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1154,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1155,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1156,1
    - Dst: TestSession::TestSession
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1158,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1158,1
    - Dst: Botan::TLS::Session_Ticket
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1159,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1159,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1161,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1161,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1162,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1172,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1173,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 1180
      start: 1124
    functionDepth: 2
    functionLinenumber: 1124
    functionLinenumberEnd: 1180
    functionName: Botan_Tests::Test_TLS_RFC8448_Client::resumed_handshake_with_0_rtt
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_RNG>
    - add
    - confirm
    - Padding::Padding
    - get_req_u64
    - Botan::TLS::Session_Ticket
    - std::unique_ptr::pull_send_buffer
    - std::unique_ptr::check_callback_invocations
    - get_req_bin
    - std::unique_ptr::client::is_closed
    - sort_rfc8448_extensions
    - std::move
    - add_early_data_indication
    - test_eq
    - CHECK
    - TestSession::TestSession
    - std::make_unique<Client_Context>
    - add_entropy
    - std::make_shared<RFC8448_Text_Policy>
    - add_renegotiation_extension
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> resumed_handshake_with_0_rtt(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_renegotiation_extension
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1190,1
    - Dst: add
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1196,1
    - Dst: Padding::Padding
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1196,1
    - Dst: sort_rfc8448_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1199,1
    - Dst: Botan_Tests::Test_TLS_RFC8448_Client::rng
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1204,1
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1205,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1210,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1210,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1215,1
    - Dst: std::make_unique<Client_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1217,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1217,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1218,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1219,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1221,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1221,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1223,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1233,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1234,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1234,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1237,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1239,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1240,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1240,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1242,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1253,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1254,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1254,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1257,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1259,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1260,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1260,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1262,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1271,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1273,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1274,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1274,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1276,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1291,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1292,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1292,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1295,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1297,1
    - Dst: std::unique_ptr::client::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1298,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1299,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1301,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1302,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1302,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1304,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1304,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1305,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1308,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 1311
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1311
    functionName: Botan_Tests::Test_TLS_RFC8448_Client::hello_retry_request
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - add
    - std::make_unique<Fixed_Output_RNG>
    - require
    - confirm
    - Padding::Padding
    - get_req_u64
    - std::unique_ptr::pull_send_buffer
    - std::unique_ptr::client::received_data
    - std::unique_ptr::check_callback_invocations
    - get_req_bin
    - std::unique_ptr::client::is_closed
    - sort_rfc8448_extensions
    - Botan_Tests::Test_TLS_RFC8448_Client::rng
    - std::move
    - test_eq
    - CHECK
    - std::make_unique<Client_Context>
    - add_entropy
    - std::make_shared<RFC8448_Text_Policy>
    - std::unique_ptr::client::close
    - add_renegotiation_extension
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> hello_retry_request(const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1314,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1318,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1318,1
    - Dst: add_renegotiation_extension
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1324,1
    - Dst: sort_rfc8448_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1325,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1332,1
    - Dst: std::make_unique<Client_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1334,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1334,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1335,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1336,1
    - Dst: make_mock_signatures
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1340,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1342,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1352,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1352,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1352,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1355,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1357,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1358,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1358,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1360,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1369,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1371,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1372,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1372,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1374,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1397,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1398,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1398,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1401,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1403,1
    - Dst: std::unique_ptr::client::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1404,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1405,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1406,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1406,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1408,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1414,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1414,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1415,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1415,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 1421
      start: 1313
    functionDepth: 1
    functionLinenumber: 1313
    functionLinenumberEnd: 1421
    functionName: Botan_Tests::Test_TLS_RFC8448_Client::client_authentication
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_RNG>
    - require
    - confirm
    - get_req_u64
    - add_renegotiation_extension
    - std::unique_ptr::pull_send_buffer
    - std::unique_ptr::check_callback_invocations
    - get_req_bin
    - std::unique_ptr::client::is_closed
    - sort_rfc8448_extensions
    - std::move
    - test_eq
    - CHECK
    - make_mock_signatures
    - std::make_unique<Client_Context>
    - add_entropy
    - std::make_shared<RFC8448_Text_Policy>
    - std::unique_ptr::client::close
    - std::unique_ptr::client::received_data
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> client_authentication(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1424,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1429,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1429,1
    - Dst: add_renegotiation_extension
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1435,1
    - Dst: sort_rfc8448_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1436,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1443,1
    - Dst: std::make_unique<Client_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1446,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1446,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1447,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1448,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1451,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1451,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1451,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1453,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1464,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1466,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1467,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1468,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1468,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1470,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1472,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1492,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1493,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1495,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1497,1
    - Dst: std::unique_ptr::client::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1497,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1498,1
    - Dst: std::unique_ptr::client::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1498,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1501,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1503,1
    - Dst: std::unique_ptr::client::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1504,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1506,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1507,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1507,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1509,1
    - Dst: std::unique_ptr::client::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1509,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1510,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1510,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1511,1
    - Dst: std::unique_ptr::client::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1511,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1513,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1513,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1515,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 1518
      start: 1423
    functionDepth: 1
    functionLinenumber: 1423
    functionLinenumberEnd: 1518
    functionName: Botan_Tests::Test_TLS_RFC8448_Client::middlebox_compatibility
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_RNG>
    - require
    - confirm
    - get_req_u64
    - add_renegotiation_extension
    - std::unique_ptr::pull_send_buffer
    - std::unique_ptr::client::is_active
    - std::unique_ptr::client::is_handshake_complete
    - std::unique_ptr::check_callback_invocations
    - get_req_bin
    - std::unique_ptr::client::is_closed
    - sort_rfc8448_extensions
    - std::move
    - test_eq
    - CHECK
    - std::make_unique<Client_Context>
    - add_entropy
    - std::make_shared<RFC8448_Text_Policy>
    - std::unique_ptr::client::close
    - std::unique_ptr::client::received_data
    - Botan::concat
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> middlebox_compatibility(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1521,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1525,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1525,1
    - Dst: sort_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1533,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1549,1
    - Dst: std::make_unique<Client_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1551,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1552,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1553,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1554,1
    - Dst: ExternalPSK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1557,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1557,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1558,1
    - Dst: lock
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1559,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1559,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1561,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1561,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1562,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1572,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1573,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1573,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1576,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1578,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1579,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1580,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1581,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1587,1
    - Dst: std::unique_ptr::client::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1587,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1588,1
    - Dst: std::unique_ptr::client::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1588,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1591,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1594,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1595,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1595,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1597,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1606,1
    - Dst: std::unique_ptr::psk_identity_negotiated
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1606,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1606,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1607,1
    - Dst: std::unique_ptr::client::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1607,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1608,1
    - Dst: std::unique_ptr::client::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1608,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1610,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1611,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1611,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1614,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1616,1
    - Dst: std::unique_ptr::send
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1617,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1617,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1619,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1621,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1622,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1623,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1626,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1628,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1629,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1629,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1631,1
    - Dst: std::unique_ptr::pull_receive_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1633,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1634,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1634,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1635,1
    - Dst: std::unique_ptr::last_received_seq_no
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1635,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1638,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1640,1
    - Dst: std::unique_ptr::client::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1641,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1643,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1644,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1644,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1645,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1647,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1647,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1648,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1651,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 1654
      start: 1520
    functionDepth: 1
    functionLinenumber: 1520
    functionLinenumberEnd: 1654
    functionName: Botan_Tests::Test_TLS_RFC8448_Client::externally_provided_psk_with_ephemeral_key
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_RNG>
    - require
    - confirm
    - get_req_u64
    - std::unique_ptr::pull_send_buffer
    - std::unique_ptr::client::is_active
    - std::unique_ptr::client::is_handshake_complete
    - std::unique_ptr::psk_identity_negotiated
    - std::unique_ptr::last_received_seq_no
    - lock
    - std::unique_ptr::check_callback_invocations
    - get_req_bin
    - std::unique_ptr::client::is_closed
    - get_req_str
    - ExternalPSK
    - std::unique_ptr::send
    - std::unique_ptr::pull_receive_buffer
    - std::move
    - test_eq
    - CHECK
    - sort_extensions
    - std::make_unique<Client_Context>
    - test_is_eq
    - add_entropy
    - std::make_shared<RFC8448_Text_Policy>
    - std::unique_ptr::client::close
    - std::unique_ptr::client::received_data
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> externally_provided_psk_with_ephemeral_key(const
      VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1657,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1661,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1661,1
    - Dst: sort_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1670,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1687,1
    - Dst: std::make_unique<Client_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1689,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1689,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1690,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1691,1
    - Dst: make_mock_signatures
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1695,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1697,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1707,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1707,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1707,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1710,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1712,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1713,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1713,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1715,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1724,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1726,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1727,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1727,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1729,1
    - Dst: std::unique_ptr::client::peer_raw_public_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1750,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1751,1
    - Dst: auto::fingerprint_public
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1753,1
    - Dst: server_raw_public_key_pair
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1753,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1757,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1758,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1758,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1761,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1763,1
    - Dst: std::unique_ptr::client::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1764,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1765,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1766,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1766,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1768,1
    - Dst: std::unique_ptr::client::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1774,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1774,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1775,1
    - Dst: std::unique_ptr::client::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1775,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 1781
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1781
    functionName: Botan_Tests::Test_TLS_RFC8448_Client::raw_public_key_with_client_authentication
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_RNG>
    - require
    - confirm
    - get_req_u64
    - std::unique_ptr::pull_send_buffer
    - std::unique_ptr::check_callback_invocations
    - std::unique_ptr::client::peer_raw_public_key
    - get_req_bin
    - std::unique_ptr::client::is_closed
    - server_raw_public_key_pair
    - std::move
    - test_eq
    - auto::fingerprint_public
    - CHECK
    - sort_extensions
    - std::make_unique<Client_Context>
    - make_mock_signatures
    - add_entropy
    - std::make_shared<RFC8448_Text_Policy>
    - std::unique_ptr::client::close
    - std::unique_ptr::client::received_data
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> raw_public_key_with_client_authentication(const
      VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1786
    functionName: Botan_Tests::Test_TLS_RFC8448_Server::side
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string side() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1789,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1794,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1794,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1799,1
    - Dst: add
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1805,1
    - Dst: EarlyDataIndication::EarlyDataIndication
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1805,1
    - Dst: sort_rfc8448_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1807,1
    - Dst: std::make_unique<Server_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1810,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1811,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1812,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1813,1
    - Dst: make_mock_signatures
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1815,1
    - Dst: TestSession::TestSession
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1817,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1817,1
    - Dst: Botan::TLS::Session_Ticket
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1818,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1818,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1819,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1819,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1821,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1821,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1823,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1841,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1843,1
    - Dst: std::unique_ptr::observed_handshake_messages
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1844,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1846,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1847,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1848,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1848,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1849,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1850,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1851,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1851,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1852,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1853,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1854,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1854,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1855,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1856,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1857,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1857,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1859,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1860,1
    - Dst: concat
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1861,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1861,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1862,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1869,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1869,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1870,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1870,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1873,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1875,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1876,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1876,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1878,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1886,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1888,1
    - Dst: std::unique_ptr::server::send_new_session_tickets
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1889,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1891,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1893,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1902,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1904,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1905,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1906,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1906,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1909,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1911,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1912,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1912,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1913,1
    - Dst: std::unique_ptr::pull_receive_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1915,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1916,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1916,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1917,1
    - Dst: std::unique_ptr::last_received_seq_no
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1917,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1920,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1922,1
    - Dst: std::unique_ptr::send
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1923,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1923,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1925,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1927,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1928,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1929,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1932,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1934,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1935,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1935,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1937,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1940,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1940,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1941,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1941,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1942,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1942,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1945,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1947,1
    - Dst: std::unique_ptr::server::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1948,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1950,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1950,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1951,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1951,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1952,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1952,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1953,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1954,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 58
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 1958
      start: 1788
    functionDepth: 2
    functionLinenumber: 1788
    functionLinenumberEnd: 1958
    functionName: Botan_Tests::Test_TLS_RFC8448_Server::simple_1_rtt
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_RNG>
    - add
    - std::unique_ptr::server::received_data
    - require
    - at
    - std::unique_ptr::server::is_handshake_complete
    - confirm
    - get_req_u64
    - Botan::TLS::Session_Ticket
    - std::unique_ptr::pull_send_buffer
    - std::unique_ptr::server::close
    - std::unique_ptr::server::send_new_session_tickets
    - std::unique_ptr::last_received_seq_no
    - std::unique_ptr::check_callback_invocations
    - get_req_bin
    - get_opt_bin
    - sort_rfc8448_extensions
    - std::make_unique<Server_Context>
    - strip_message_header
    - std::unique_ptr::observed_handshake_messages
    - std::unique_ptr::send
    - EarlyDataIndication::EarlyDataIndication
    - concat
    - std::unique_ptr::pull_receive_buffer
    - std::move
    - test_eq
    - std::unique_ptr::server::is_active
    - CHECK
    - TestSession::TestSession
    - make_mock_signatures
    - std::unique_ptr::server::is_closed
    - test_is_eq
    - add_entropy
    - std::make_shared<RFC8448_Text_Policy>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> simple_1_rtt(const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1961,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1965,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1965,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1970,1
    - Dst: add
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1976,1
    - Dst: EarlyDataIndication::EarlyDataIndication
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1976,1
    - Dst: sort_rfc8448_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1978,1
    - Dst: std::make_unique<Server_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1981,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1982,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1983,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1984,1
    - Dst: make_mock_signatures
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1986,1
    - Dst: TestSession::TestSession
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1988,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1988,1
    - Dst: Botan::TLS::Session_Ticket
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1989,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1989,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1990,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1990,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1992,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1992,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:1994,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2011,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2013,1
    - Dst: std::unique_ptr::observed_handshake_messages
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2014,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2016,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2017,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2018,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2018,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2019,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2020,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2021,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2021,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2023,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2024,1
    - Dst: concat
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2025,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2025,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2026,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2033,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2033,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2034,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 2041
      start: 1960
    functionDepth: 2
    functionLinenumber: 1960
    functionLinenumberEnd: 2041
    functionName: Botan_Tests::Test_TLS_RFC8448_Server::resumed_handshake_with_0_rtt
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_RNG>
    - add
    - std::unique_ptr::server::received_data
    - require
    - at
    - std::unique_ptr::server::is_handshake_complete
    - confirm
    - get_req_u64
    - Botan::TLS::Session_Ticket
    - std::unique_ptr::pull_send_buffer
    - std::unique_ptr::check_callback_invocations
    - get_req_bin
    - get_opt_bin
    - sort_rfc8448_extensions
    - std::make_unique<Server_Context>
    - strip_message_header
    - std::unique_ptr::observed_handshake_messages
    - EarlyDataIndication::EarlyDataIndication
    - concat
    - std::move
    - test_eq
    - std::unique_ptr::server::is_active
    - CHECK
    - TestSession::TestSession
    - make_mock_signatures
    - std::unique_ptr::server::is_closed
    - add_entropy
    - std::make_shared<RFC8448_Text_Policy>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> resumed_handshake_with_0_rtt(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_RFC8448_Server::rng
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2045,1
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2046,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2050,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2050,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2055,1
    - Dst: add
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2062,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2062,1
    - Dst: Cookie::Cookie
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2062,1
    - Dst: sort_rfc8448_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2064,1
    - Dst: std::make_unique<Server_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2067,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2067,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2068,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2069,1
    - Dst: make_mock_signatures
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2071,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2072,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2072,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2074,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2074,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2076,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2085,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2087,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2088,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2089,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2090,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2091,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2091,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2092,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2092,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2095,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2097,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2098,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2098,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2100,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2118,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2120,1
    - Dst: std::unique_ptr::observed_handshake_messages
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2121,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2123,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2124,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2125,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2125,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2126,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2127,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2128,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2128,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2129,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2130,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2131,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2131,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2132,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2133,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2134,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2134,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2135,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2136,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2137,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2137,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2139,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2140,1
    - Dst: concat
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2141,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2141,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2142,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2143,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2143,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2144,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2145,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2148,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2150,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2151,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2151,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2153,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2160,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2160,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2161,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2161,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2164,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2166,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2167,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2167,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2169,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2172,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2172,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2173,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2173,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2174,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2174,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2177,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2179,1
    - Dst: std::unique_ptr::server::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2180,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2182,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2182,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2183,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2183,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2184,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2184,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2185,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2186,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 52
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 2191
      start: 2043
    functionDepth: 1
    functionLinenumber: 2043
    functionLinenumberEnd: 2191
    functionName: Botan_Tests::Test_TLS_RFC8448_Server::hello_retry_request
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_RNG>
    - add
    - std::unique_ptr::server::received_data
    - require
    - std::unique_ptr::server::is_handshake_complete
    - at
    - confirm
    - get_req_u64
    - Cookie::Cookie
    - std::unique_ptr::pull_send_buffer
    - std::unique_ptr::server::close
    - std::unique_ptr::check_callback_invocations
    - get_req_bin
    - get_opt_bin
    - sort_rfc8448_extensions
    - std::make_unique<Server_Context>
    - strip_message_header
    - std::unique_ptr::observed_handshake_messages
    - concat
    - std::move
    - Botan_Tests::Test_TLS_RFC8448_Server::rng
    - test_eq
    - std::unique_ptr::server::is_active
    - CHECK
    - make_mock_signatures
    - std::unique_ptr::server::is_closed
    - add_entropy
    - std::make_shared<RFC8448_Text_Policy>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> hello_retry_request(const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2194,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2198,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2198,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2203,1
    - Dst: std::make_unique<Server_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2205,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2206,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2207,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2208,1
    - Dst: make_mock_signatures
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2210,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2212,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2212,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2214,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2214,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2216,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2236,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2238,1
    - Dst: std::unique_ptr::observed_handshake_messages
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2239,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2241,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2242,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2243,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2243,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2244,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2245,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2246,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2246,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2247,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2248,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2249,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2249,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2250,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2251,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2252,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2252,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2253,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2254,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2255,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2255,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2256,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2257,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2258,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2258,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2260,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2261,1
    - Dst: concat
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2262,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2262,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2263,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2265,1
    - Dst: std::unique_ptr::server::peer_cert_chain
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2265,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2266,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2266,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2267,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2268,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2271,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2273,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2278,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2278,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2280,1
    - Dst: std::unique_ptr::server::peer_cert_chain
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2292,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2293,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2294,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2294,1
    - Dst: client_certificate
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2294,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2296,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2296,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2297,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2297,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2300,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2302,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2303,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2303,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2305,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2308,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2308,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2309,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2309,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2310,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2310,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2313,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2315,1
    - Dst: std::unique_ptr::server::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2316,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2318,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2318,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2319,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2319,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2320,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2320,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2321,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2322,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 2327
      start: 2193
    functionDepth: 1
    functionLinenumber: 2193
    functionLinenumberEnd: 2327
    functionName: Botan_Tests::Test_TLS_RFC8448_Server::client_authentication
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_RNG>
    - std::unique_ptr::server::received_data
    - require
    - at
    - std::unique_ptr::server::is_handshake_complete
    - confirm
    - get_req_u64
    - auto::front
    - std::unique_ptr::pull_send_buffer
    - std::unique_ptr::server::close
    - std::unique_ptr::check_callback_invocations
    - client_certificate
    - get_req_bin
    - get_opt_bin
    - std::make_unique<Server_Context>
    - std::unique_ptr::server::peer_cert_chain
    - strip_message_header
    - std::unique_ptr::observed_handshake_messages
    - concat
    - std::move
    - test_eq
    - std::unique_ptr::server::is_active
    - CHECK
    - make_mock_signatures
    - std::unique_ptr::server::is_closed
    - add_entropy
    - std::make_shared<RFC8448_Text_Policy>
    - auto::empty
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> client_authentication(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2330,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2334,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2334,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2339,1
    - Dst: std::make_unique<Server_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2342,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2342,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2343,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2344,1
    - Dst: make_mock_signatures
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2346,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2347,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2347,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2349,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2349,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2351,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2369,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2371,1
    - Dst: std::unique_ptr::observed_handshake_messages
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2372,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2374,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2375,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2376,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2376,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2377,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2378,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2379,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2379,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2380,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2381,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2382,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2382,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2383,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2384,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2385,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2385,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2386,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2387,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2388,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2388,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2391,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2392,1
    - Dst: concat
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2393,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2393,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2394,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2396,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2396,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2397,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2398,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2401,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2403,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2404,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2404,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2406,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2413,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2413,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2414,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2414,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2417,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2419,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2420,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2420,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2422,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2425,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2425,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2426,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2426,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2427,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2427,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2430,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2432,1
    - Dst: std::unique_ptr::server::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2433,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2435,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2435,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2436,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2436,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2437,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2437,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2438,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2439,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 2444
      start: 2329
    functionDepth: 1
    functionLinenumber: 2329
    functionLinenumberEnd: 2444
    functionName: Botan_Tests::Test_TLS_RFC8448_Server::middlebox_compatibility
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_RNG>
    - std::unique_ptr::server::received_data
    - require
    - at
    - std::unique_ptr::server::is_handshake_complete
    - confirm
    - get_req_u64
    - std::unique_ptr::pull_send_buffer
    - std::unique_ptr::server::close
    - std::unique_ptr::check_callback_invocations
    - get_req_bin
    - get_opt_bin
    - std::make_unique<Server_Context>
    - strip_message_header
    - std::unique_ptr::observed_handshake_messages
    - concat
    - std::move
    - test_eq
    - std::unique_ptr::server::is_active
    - CHECK
    - make_mock_signatures
    - std::unique_ptr::server::is_closed
    - add_entropy
    - std::make_shared<RFC8448_Text_Policy>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> middlebox_compatibility(const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2447,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2451,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2451,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2456,1
    - Dst: sort_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2465,1
    - Dst: sort_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2472,1
    - Dst: std::make_unique<Server_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2481,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2482,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2483,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2484,1
    - Dst: make_mock_signatures
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2486,1
    - Dst: ExternalPSK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2489,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2489,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2490,1
    - Dst: lock
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2491,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2491,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2492,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2492,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2494,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2494,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2496,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2510,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2512,1
    - Dst: std::unique_ptr::observed_handshake_messages
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2513,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2515,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2516,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2517,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2517,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2518,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2519,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2520,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2520,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2521,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2522,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2523,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2523,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2525,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2526,1
    - Dst: concat
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2527,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2527,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2528,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2530,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2530,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2531,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2532,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2535,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2537,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2538,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2538,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2539,1
    - Dst: std::unique_ptr::psk_identity_negotiated
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2540,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2540,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2542,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2550,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2552,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2553,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2553,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2554,1
    - Dst: std::unique_ptr::pull_receive_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2556,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2557,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2557,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2558,1
    - Dst: std::unique_ptr::last_received_seq_no
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2558,1
    - Dst: std::unique_ptr::send
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2560,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2560,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2561,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2562,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2563,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2564,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2567,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2569,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2570,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2570,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2572,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2575,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2575,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2576,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2576,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2577,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2577,1
    - Dst: std::unique_ptr::server::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2579,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2581,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2581,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2582,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2582,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2583,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2583,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2584,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2585,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 49
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 2589
      start: 2446
    functionDepth: 1
    functionLinenumber: 2446
    functionLinenumberEnd: 2589
    functionName: Botan_Tests::Test_TLS_RFC8448_Server::externally_provided_psk_with_ephemeral_key
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_RNG>
    - std::unique_ptr::server::received_data
    - require
    - at
    - std::unique_ptr::server::is_handshake_complete
    - confirm
    - get_req_u64
    - std::unique_ptr::pull_send_buffer
    - std::unique_ptr::psk_identity_negotiated
    - std::unique_ptr::server::close
    - std::unique_ptr::last_received_seq_no
    - lock
    - std::unique_ptr::check_callback_invocations
    - get_req_bin
    - get_opt_bin
    - std::make_unique<Server_Context>
    - strip_message_header
    - get_req_str
    - std::unique_ptr::observed_handshake_messages
    - ExternalPSK
    - std::unique_ptr::send
    - std::unique_ptr::pull_receive_buffer
    - concat
    - std::move
    - test_eq
    - std::unique_ptr::server::is_active
    - CHECK
    - sort_extensions
    - make_mock_signatures
    - std::unique_ptr::server::is_closed
    - test_is_eq
    - add_entropy
    - std::make_shared<RFC8448_Text_Policy>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> externally_provided_psk_with_ephemeral_key(const
      VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_RNG>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2592,1
    - Dst: add_entropy
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2596,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2596,1
    - Dst: sort_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2605,1
    - Dst: sort_extensions
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2614,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2625,1
    - Dst: std::make_unique<Server_Context>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2627,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2627,1
    - Dst: std::make_shared<RFC8448_Text_Policy>
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2628,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2629,1
    - Dst: make_mock_signatures
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2631,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2632,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2632,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2634,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2634,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2636,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2656,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2658,1
    - Dst: std::unique_ptr::observed_handshake_messages
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2659,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2661,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2662,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2663,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2663,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2664,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2665,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2666,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2666,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2667,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2668,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2669,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2669,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2670,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2671,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2672,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2672,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2673,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2674,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2675,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2675,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2676,1
    - Dst: at
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2677,1
    - Dst: strip_message_header
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2678,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2678,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2680,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2681,1
    - Dst: concat
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2682,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2682,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2683,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2685,1
    - Dst: std::unique_ptr::server::peer_cert_chain
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2685,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2686,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2686,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2687,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2688,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2691,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2693,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2698,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2698,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2700,1
    - Dst: std::unique_ptr::server::peer_raw_public_key
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2712,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2713,1
    - Dst: auto::fingerprint_public
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2715,1
    - Dst: client_raw_public_key_pair
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2715,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2717,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2717,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2718,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2718,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2721,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2723,1
    - Dst: std::unique_ptr::server::received_data
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2724,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2724,1
    - Dst: std::unique_ptr::check_callback_invocations
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2726,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2729,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2729,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2730,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2730,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2731,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2731,1
    - Dst: CHECK
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2734,1
    - Dst: require
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2736,1
    - Dst: std::unique_ptr::server::close
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2737,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2739,1
    - Dst: std::unique_ptr::server::is_active
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2739,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2740,1
    - Dst: std::unique_ptr::server::is_closed
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2740,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2741,1
    - Dst: std::unique_ptr::server::is_handshake_complete
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2741,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2742,1
    - Dst: std::unique_ptr::pull_send_buffer
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2743,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_rfc8448.cpp:2744,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 2747
      start: 2591
    functionDepth: 1
    functionLinenumber: 2591
    functionLinenumberEnd: 2747
    functionName: Botan_Tests::Test_TLS_RFC8448_Server::raw_public_key_with_client_authentication
    functionSourceFile: /src/botan/src/tests/test_tls_rfc8448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Fixed_Output_RNG>
    - std::unique_ptr::server::received_data
    - require
    - at
    - std::unique_ptr::server::is_handshake_complete
    - confirm
    - get_req_u64
    - std::unique_ptr::pull_send_buffer
    - std::unique_ptr::server::close
    - std::unique_ptr::check_callback_invocations
    - get_req_bin
    - get_opt_bin
    - client_raw_public_key_pair
    - std::make_unique<Server_Context>
    - std::unique_ptr::server::peer_cert_chain
    - strip_message_header
    - std::unique_ptr::observed_handshake_messages
    - concat
    - std::move
    - std::unique_ptr::server::peer_raw_public_key
    - test_eq
    - std::unique_ptr::server::is_active
    - auto::fingerprint_public
    - CHECK
    - sort_extensions
    - make_mock_signatures
    - std::unique_ptr::server::is_closed
    - add_entropy
    - std::make_shared<RFC8448_Text_Policy>
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> raw_public_key_with_client_authentication(const
      VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_Tests::RFC6979_KAT_Tests::RFC6979_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_rfc6979.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RFC6979_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_rfc6979.cpp:25,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_rfc6979.cpp:26,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_rfc6979.cpp:27,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_rfc6979.cpp:28,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_rfc6979.cpp:32,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_rfc6979.cpp:35,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rfc6979.cpp:39,1
    - Dst: Botan::generate_rfc6979_nonce
      Src: /src/botan/src/tests/test_rfc6979.cpp:39,1
    - Dst: BigInt::bits
      Src: /src/botan/src/tests/test_rfc6979.cpp:41,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rfc6979.cpp:43,1
    - Dst: Botan::RFC6979_Nonce_Generator::nonce_for
      Src: /src/botan/src/tests/test_rfc6979.cpp:43,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_rfc6979.cpp:44,1
    - Dst: Botan::RFC6979_Nonce_Generator::nonce_for
      Src: /src/botan/src/tests/test_rfc6979.cpp:44,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_rfc6979.cpp:45,1
    - Dst: Botan::RFC6979_Nonce_Generator::nonce_for
      Src: /src/botan/src/tests/test_rfc6979.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' hash'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 48
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 48
    functionName: Botan_Tests::RFC6979_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_rfc6979.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_note
    - Test::Result::test_ne
    - Botan::HashFunction::create
    - Botan::generate_rfc6979_nonce
    - BigInt::bits
    - Botan::RFC6979_Nonce_Generator::nonce_for
    - Test::Result::test_eq
    - get_req_bn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& hash, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:18,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/tests/test_ct_utils.cpp:18,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:19,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/tests/test_ct_utils.cpp:19,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:20,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/tests/test_ct_utils.cpp:20,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:22,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/tests/test_ct_utils.cpp:22,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:23,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/tests/test_ct_utils.cpp:23,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:24,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/tests/test_ct_utils.cpp:24,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:26,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/tests/test_ct_utils.cpp:26,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:27,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/tests/test_ct_utils.cpp:27,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:28,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/tests/test_ct_utils.cpp:28,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:30,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:30,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:31,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:31,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:32,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:32,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:34,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:34,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:35,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:35,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:36,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:36,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:38,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:38,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:39,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:39,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:40,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:40,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:41,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:41,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:42,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/tests/test_ct_utils.cpp:42,1
    - Dst: Botan::CT::Choice::from_int
      Src: /src/botan/src/tests/test_ct_utils.cpp:47,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/tests/test_ct_utils.cpp:47,1
    - Dst: Botan_Tests::CT_Mask_Tests::rng
      Src: /src/botan/src/tests/test_ct_utils.cpp:50,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_ct_utils.cpp:50,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ct_utils.cpp:50,1
    - Dst: Botan::CT::copy_output
      Src: /src/botan/src/tests/test_ct_utils.cpp:54,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:57,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_ct_utils.cpp:57,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:60,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_ct_utils.cpp:60,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:63,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_ct_utils.cpp:63,1
    - Dst: Test::Result::test_eq_sz
      Src: /src/botan/src/tests/test_ct_utils.cpp:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 75
    functionName: Botan_Tests::CT_Mask_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ct_utils.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq_sz
    - std::vector::size
    - Botan::CT::Choice::from_int
    - Botan::Sodium::sodium_is_zero
    - static_cast<uint32_t>
    - Test::Result::confirm
    - auto::has_value
    - Botan::CT::copy_output
    - Botan::bigint_ct_is_lt
    - Botan_Tests::CT_Mask_Tests::rng
    - std::vector::data
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ct_utils.cpp:85,1
    - Dst: Botan::CT::Choice::yes
      Src: /src/botan/src/tests/test_ct_utils.cpp:85,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_ct_utils.cpp:86,1
    - Dst: Botan::CT::Choice::no
      Src: /src/botan/src/tests/test_ct_utils.cpp:86,1
    - Dst: Botan_Tests::CT_Choice_Tests::test_choice_from_int
      Src: /src/botan/src/tests/test_ct_utils.cpp:88,1
    - Dst: Botan_Tests::CT_Choice_Tests::test_choice_from_int
      Src: /src/botan/src/tests/test_ct_utils.cpp:89,1
    - Dst: Botan_Tests::CT_Choice_Tests::test_choice_from_int
      Src: /src/botan/src/tests/test_ct_utils.cpp:90,1
    - Dst: Botan_Tests::CT_Choice_Tests::test_choice_from_int
      Src: /src/botan/src/tests/test_ct_utils.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: Botan_Tests::CT_Choice_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ct_utils.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan::CT::Choice::no
    - Botan::CT::Choice::yes
    - Botan_Tests::CT_Choice_Tests::test_choice_from_int
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/tests/test_ct_utils.cpp:99,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ct_utils.cpp:102,1
    - Dst: Botan::CT::Choice::from_int<T>
      Src: /src/botan/src/tests/test_ct_utils.cpp:102,1
    - Dst: Botan::CT::Choice::from_int<T>
      Src: /src/botan/src/tests/test_ct_utils.cpp:104,1
    - Dst: static_cast<T>
      Src: /src/botan/src/tests/test_ct_utils.cpp:104,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ct_utils.cpp:105,1
    - Dst: auto::as_bool
      Src: /src/botan/src/tests/test_ct_utils.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - type_name
    - ' result'
    argTypes:
    - char*
    - Result
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: Botan_Tests::CT_Choice_Tests::test_choice_from_int
    functionSourceFile: /src/botan/src/tests/test_ct_utils.cpp
    functionUses: 1
    functionsReached:
    - auto::as_bool
    - static_cast<T>
    - Botan::CT::Choice::from_int<T>
    - Botan::fmt
    - test_eq
    linkageType: ''
    returnType: void
    signature: void test_choice_from_int(const char* type_name, Result& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::conditional_assign_mem
      Src: /src/botan/src/tests/test_ct_utils.cpp:124,1
    - Dst: std::memcmp
      Src: /src/botan/src/tests/test_ct_utils.cpp:127,1
    - Dst: Botan_Tests::CT_Option_Tests::test_ct_option
      Src: /src/botan/src/tests/test_ct_utils.cpp:139,1
    - Dst: Val
      Src: /src/botan/src/tests/test_ct_utils.cpp:139,1
    - Dst: Val
      Src: /src/botan/src/tests/test_ct_utils.cpp:139,1
    - Dst: Botan_Tests::CT_Option_Tests::test_ct_option
      Src: /src/botan/src/tests/test_ct_utils.cpp:140,1
    - Dst: Botan_Tests::CT_Option_Tests::test_ct_option
      Src: /src/botan/src/tests/test_ct_utils.cpp:141,1
    - Dst: Botan_Tests::CT_Option_Tests::test_ct_option
      Src: /src/botan/src/tests/test_ct_utils.cpp:142,1
    - Dst: Botan_Tests::CT_Option_Tests::test_ct_option
      Src: /src/botan/src/tests/test_ct_utils.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 146
    functionName: Botan_Tests::CT_Option_Tests::run
    functionSourceFile: /src/botan/src/tests/test_ct_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CT_Option_Tests::test_ct_option
    - Val
    - Botan::CT::conditional_assign_mem
    - std::memcmp
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Option<T>
      Src: /src/botan/src/tests/test_ct_utils.cpp:151,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ct_utils.cpp:152,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_ct_utils.cpp:152,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_ct_utils.cpp:153,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_ct_utils.cpp:153,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:154,1
    - Dst: auto::value_or
      Src: /src/botan/src/tests/test_ct_utils.cpp:154,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:155,1
    - Dst: auto::value_or
      Src: /src/botan/src/tests/test_ct_utils.cpp:155,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:156,1
    - Dst: auto::as_optional_vartime
      Src: /src/botan/src/tests/test_ct_utils.cpp:157,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ct_utils.cpp:165,1
    - Dst: auto::transform
      Src: /src/botan/src/tests/test_ct_utils.cpp:165,1
    - Dst: Botan::CT::Option<T>
      Src: /src/botan/src/tests/test_ct_utils.cpp:167,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_ct_utils.cpp:168,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_ct_utils.cpp:168,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:169,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_ct_utils.cpp:169,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:170,1
    - Dst: auto::value_or
      Src: /src/botan/src/tests/test_ct_utils.cpp:170,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:171,1
    - Dst: auto::as_optional_vartime
      Src: /src/botan/src/tests/test_ct_utils.cpp:172,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:174,1
    - Dst: auto::transform
      Src: /src/botan/src/tests/test_ct_utils.cpp:174,1
    - Dst: next
      Src: /src/botan/src/tests/test_ct_utils.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - ' result'
    - ' value'
    - ' value2'
    argTypes:
    - Test::Result
    - T
    - T
    constantsTouched: []
    func_position:
      end: 175
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 175
    functionName: Botan_Tests::CT_Option_Tests::test_ct_option
    functionSourceFile: /src/botan/src/tests/test_ct_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan::CT::Option<T>
    - auto::value
    - auto::has_value
    - auto::transform
    - auto::value_or
    - test_throws
    - confirm
    - auto::as_optional_vartime
    - next
    - test_eq
    linkageType: ''
    returnType: void
    signature: void test_ct_option(Test::Result& result, const T& value, const T&
      value2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: Botan_Tests::_const_time_poison
    functionSourceFile: /src/botan/src/tests/test_ct_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: Botan_Tests::_const_time_unpoison
    functionSourceFile: /src/botan/src/tests/test_ct_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_ct_utils.cpp:193,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:196,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/tests/test_ct_utils.cpp:197,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:198,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/tests/test_ct_utils.cpp:199,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:200,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_ct_utils.cpp:203,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:211,1
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/tests/test_ct_utils.cpp:212,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:213,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/tests/test_ct_utils.cpp:214,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:215,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_ct_utils.cpp:218,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:226,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/tests/test_ct_utils.cpp:229,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:230,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:233,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_ct_utils.cpp:236,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:241,1
    - Dst: std::none_of
      Src: /src/botan/src/tests/test_ct_utils.cpp:241,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_ct_utils.cpp:241,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_ct_utils.cpp:241,1
    - Dst: Botan::CT::poison_range
      Src: /src/botan/src/tests/test_ct_utils.cpp:243,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:244,1
    - Dst: std::all_of
      Src: /src/botan/src/tests/test_ct_utils.cpp:244,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_ct_utils.cpp:244,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_ct_utils.cpp:244,1
    - Dst: Botan::CT::unpoison_range
      Src: /src/botan/src/tests/test_ct_utils.cpp:246,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:247,1
    - Dst: std::none_of
      Src: /src/botan/src/tests/test_ct_utils.cpp:247,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_ct_utils.cpp:247,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_ct_utils.cpp:247,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_ct_utils.cpp:250,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:253,1
    - Dst: Botan::CT::driveby_poison
      Src: /src/botan/src/tests/test_ct_utils.cpp:255,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_ct_utils.cpp:255,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:256,1
    - Dst: Botan::CT::driveby_unpoison
      Src: /src/botan/src/tests/test_ct_utils.cpp:257,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_ct_utils.cpp:258,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_ct_utils.cpp:259,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 262
    functionName: Botan_Tests::test_higher_level_ct_poison
    functionSourceFile: /src/botan/src/tests/test_ct_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan::CT::poison_all
    - Botan::CT::unpoison_all
    - std::vector::begin
    - Botan::CT::driveby_poison
    - Botan::CT::driveby_unpoison
    - std::none_of
    - confirm
    - Botan::CT::scoped_poison
    - Botan::CT::poison_range
    - Botan::CT::poison
    - std::move
    - Botan::CT::unpoison_range
    - std::vector::end
    - Botan::CT::unpoison
    - std::all_of
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_higher_level_ct_poison()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::start_timer
      Src: /src/botan/src/tests/test_compression.cpp:65,1
    - Dst: Botan::Compression_Algorithm::create
      Src: /src/botan/src/tests/test_compression.cpp:67,1
    - Dst: Botan::Decompression_Algorithm::create
      Src: /src/botan/src/tests/test_compression.cpp:68,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_compression.cpp:71,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_compression.cpp:75,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_compression.cpp:75,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_compression.cpp:75,1
    - Dst: Botan_Tests::Compression_Tests::rng
      Src: /src/botan/src/tests/test_compression.cpp:79,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_compression.cpp:96,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_compression.cpp:97,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_compression.cpp:102,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_compression.cpp:103,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_compression.cpp:104,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_compression.cpp:105,1
    - Dst: Test::Result::test_gte
      Src: /src/botan/src/tests/test_compression.cpp:106,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_compression.cpp:108,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_compression.cpp:109,1
    - Dst: Test::Result::end_timer
      Src: /src/botan/src/tests/test_compression.cpp:111,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_compression.cpp:113,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_compression.cpp:115,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/test_compression.cpp:115,1
    - Dst: what
      Src: /src/botan/src/tests/test_compression.cpp:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 120
    functionName: Botan_Tests::Compression_Tests::run
    functionSourceFile: /src/botan/src/tests/test_compression.cpp
    functionUses: 0
    functionsReached:
    - auto::name
    - Botan_Tests::Test::Result::Failure
    - Botan::Decompression_Algorithm::create
    - Test::Result::end_timer
    - Test::Result::test_ne
    - Test::Result::start_timer
    - what
    - Botan::Compression_Algorithm::create
    - Botan_Tests::Compression_Tests::rng
    - Test::Result::note_missing
    - std::vector::emplace_back
    - Test::Result::test_gte
    - Test::Result::test_lt
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/test_compression.cpp:129,1
    - Dst: start
      Src: /src/botan/src/tests/test_compression.cpp:135,1
    - Dst: update
      Src: /src/botan/src/tests/test_compression.cpp:136,1
    - Dst: update
      Src: /src/botan/src/tests/test_compression.cpp:140,1
    - Dst: finish
      Src: /src/botan/src/tests/test_compression.cpp:145,1
    - Dst: start
      Src: /src/botan/src/tests/test_compression.cpp:149,1
    - Dst: update
      Src: /src/botan/src/tests/test_compression.cpp:150,1
    - Dst: finish
      Src: /src/botan/src/tests/test_compression.cpp:153,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_compression.cpp:157,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_compression.cpp:159,1
    - Dst: what
      Src: /src/botan/src/tests/test_compression.cpp:159,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_compression.cpp:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - ' result'
    - level
    - ' c'
    - ' d'
    - ' msg'
    argTypes:
    - Test::Result
    - size_t
    - Botan::Compression_Algorithm
    - Botan::Decompression_Algorithm
    - Botan::secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 164
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 164
    functionName: Botan_Tests::Compression_Tests::run_compression
    functionSourceFile: /src/botan/src/tests/test_compression.cpp
    functionUses: 0
    functionsReached:
    - what
    - test_failure
    - size
    - start
    - finish
    - update
    - Botan::secure_vector::size
    - test_eq
    linkageType: ''
    returnType: size_t
    signature: "size_t run_compression(Test::Result& result,\n                             size_t
      level,\n                             Botan::Compression_Algorithm& c,\n                             Botan::Decompression_Algorithm&
      d,\n                             const Botan::secure_vector<uint8_t>& msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Compression_Algorithm::create
      Src: /src/botan/src/tests/test_compression.cpp:178,1
    - Dst: Botan::Decompression_Algorithm::create
      Src: /src/botan/src/tests/test_compression.cpp:179,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_compression.cpp:182,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_compression.cpp:185,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_compression.cpp:185,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_compression.cpp:185,1
    - Dst: Botan::Compression_Algorithm::create_or_throw
      Src: /src/botan/src/tests/test_compression.cpp:187,1
    - Dst: Botan::Decompression_Algorithm::create_or_throw
      Src: /src/botan/src/tests/test_compression.cpp:188,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_compression.cpp:191,1
    - Dst: Test::Result::test_ne
      Src: /src/botan/src/tests/test_compression.cpp:194,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_compression.cpp:194,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_compression.cpp:194,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_compression.cpp:196,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_compression.cpp:198,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/test_compression.cpp:198,1
    - Dst: what
      Src: /src/botan/src/tests/test_compression.cpp:198,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_compression.cpp:204,1
    - Dst: Botan::Compression_Algorithm::create_or_throw
      Src: /src/botan/src/tests/test_compression.cpp:205,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_compression.cpp:207,1
    - Dst: Botan::Decompression_Algorithm::create_or_throw
      Src: /src/botan/src/tests/test_compression.cpp:208,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/tests/test_compression.cpp:210,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 214
    functionName: Botan_Tests::CompressionCreate_Tests::run
    functionSourceFile: /src/botan/src/tests/test_compression.cpp
    functionUses: 0
    functionsReached:
    - auto::name
    - Botan::Compression_Algorithm::create_or_throw
    - Botan_Tests::Test::Result::Failure
    - Botan::Decompression_Algorithm::create
    - Test::Result::test_throws
    - Test::Result::test_ne
    - Botan::Decompression_Algorithm::create_or_throw
    - what
    - Botan::Compression_Algorithm::create
    - Test::Result::note_missing
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_Tests::Roughtime_Request_Tests::Roughtime_Request_Tests
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Roughtime_Request_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_roughtime.cpp:32,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_roughtime.cpp:33,1
    - Dst: Botan::Roughtime::encode_request
      Src: /src/botan/src/tests/test_roughtime.cpp:35,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_roughtime.cpp:36,1
    - Dst: Botan::typecast_copy<std::array<uint8_t, 1024>>
      Src: /src/botan/src/tests/test_roughtime.cpp:37,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_roughtime.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: Botan_Tests::Roughtime_Request_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached:
    - Botan::Roughtime::encode_request
    - Botan::typecast_copy<std::array<uint8_t, 1024>>
    - auto::data
    - get_req_bin
    - Test::Result::test_eq
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Botan_Tests::Roughtime_Response_Tests::Roughtime_Response_Tests
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Roughtime_Response_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_roughtime.cpp:55,1
    - Dst: has_key
      Src: /src/botan/src/tests/test_roughtime.cpp:56,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_roughtime.cpp:56,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_roughtime.cpp:56,1
    - Dst: Botan::Roughtime::Response::from_bits
      Src: /src/botan/src/tests/test_roughtime.cpp:60,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_roughtime.cpp:62,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_roughtime.cpp:63,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_roughtime.cpp:64,1
    - Dst: auto::validate
      Src: /src/botan/src/tests/test_roughtime.cpp:67,1
    - Dst: Botan::Ed25519_PublicKey
      Src: /src/botan/src/tests/test_roughtime.cpp:67,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:68,1
    - Dst: Botan::Roughtime::Response::sys_microseconds64
      Src: /src/botan/src/tests/test_roughtime.cpp:70,1
    - Dst: Botan_CLI::Timer::microseconds
      Src: /src/botan/src/tests/test_roughtime.cpp:71,1
    - Dst: get_req_u64
      Src: /src/botan/src/tests/test_roughtime.cpp:71,1
    - Dst: Botan_CLI::Timer::microseconds
      Src: /src/botan/src/tests/test_roughtime.cpp:72,1
    - Dst: get_req_u32
      Src: /src/botan/src/tests/test_roughtime.cpp:72,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:74,1
    - Dst: auto::utc_midpoint
      Src: /src/botan/src/tests/test_roughtime.cpp:74,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:75,1
    - Dst: auto::utc_radius
      Src: /src/botan/src/tests/test_roughtime.cpp:75,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:76,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:79,1
    - Dst: what
      Src: /src/botan/src/tests/test_roughtime.cpp:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 83
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 83
    functionName: Botan_Tests::Roughtime_Response_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached:
    - Botan::Ed25519_PublicKey
    - Botan_CLI::Timer::microseconds
    - has_key
    - what
    - auto::validate
    - Test::Result::confirm
    - Botan::Roughtime::Response::sys_microseconds64
    - Botan::Roughtime::Response::from_bits
    - std::vector<uint8_t>
    - Test_Error
    - get_req_u64
    - get_req_bin
    - get_opt_bin
    - auto::utc_radius
    - auto::size
    - get_req_u32
    - auto::utc_midpoint
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: Botan_Tests::Roughtime_nonce_from_blind_Tests::Roughtime_nonce_from_blind_Tests
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Roughtime_nonce_from_blind_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_roughtime.cpp:96,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_roughtime.cpp:97,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_roughtime.cpp:98,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_roughtime.cpp:100,1
    - Dst: Botan::Roughtime::nonce_from_blind
      Src: /src/botan/src/tests/test_roughtime.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' type'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: Botan_Tests::Roughtime_nonce_from_blind_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_eq
    - Botan::Roughtime::nonce_from_blind
    - get_req_bin
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& type, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::unlock
      Src: /src/botan/src/tests/test_roughtime.cpp:114,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_roughtime.cpp:114,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:116,1
    - Dst: Botan::Roughtime::Nonce::get_nonce
      Src: /src/botan/src/tests/test_roughtime.cpp:117,1
    - Dst: Botan::typecast_copy<std::array<uint8_t, 64>>
      Src: /src/botan/src/tests/test_roughtime.cpp:117,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_roughtime.cpp:117,1
    - Dst: Botan::typecast_copy<std::array<uint8_t, 64>>
      Src: /src/botan/src/tests/test_roughtime.cpp:118,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_roughtime.cpp:118,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:119,1
    - Dst: Botan::Roughtime::Nonce::get_nonce
      Src: /src/botan/src/tests/test_roughtime.cpp:120,1
    - Dst: Botan::typecast_copy<std::array<uint8_t, 64>>
      Src: /src/botan/src/tests/test_roughtime.cpp:120,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_roughtime.cpp:120,1
    - Dst: auto::push_back
      Src: /src/botan/src/tests/test_roughtime.cpp:121,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:122,1
    - Dst: auto::pop_back
      Src: /src/botan/src/tests/test_roughtime.cpp:123,1
    - Dst: auto::pop_back
      Src: /src/botan/src/tests/test_roughtime.cpp:124,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 128
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 128
    functionName: Botan_Tests::Roughtime::test_nonce
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached:
    - auto::pop_back
    - Test::Result::test_throws
    - Botan::Roughtime::Nonce::get_nonce
    - Botan::unlock
    - Test::Result::confirm
    - random_vec
    - auto::data
    - Botan::typecast_copy<std::array<uint8_t, 64>>
    - auto::push_back
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_nonce(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Roughtime::Chain::Chain
      Src: /src/botan/src/tests/test_roughtime.cpp:133,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:134,1
    - Dst: Botan::Roughtime::Chain::links
      Src: /src/botan/src/tests/test_roughtime.cpp:134,1
    - Dst: Botan::Roughtime::Chain::responses
      Src: /src/botan/src/tests/test_roughtime.cpp:134,1
    - Dst: Botan::unlock
      Src: /src/botan/src/tests/test_roughtime.cpp:136,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_roughtime.cpp:136,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:138,1
    - Dst: Botan::Roughtime::Chain::next_nonce
      Src: /src/botan/src/tests/test_roughtime.cpp:140,1
    - Dst: Botan::typecast_copy<std::array<uint8_t, 64>>
      Src: /src/botan/src/tests/test_roughtime.cpp:140,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_roughtime.cpp:140,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:147,1
    - Dst: Botan::Roughtime::Chain::links
      Src: /src/botan/src/tests/test_roughtime.cpp:147,1
    - Dst: Botan::Roughtime::Chain::responses
      Src: /src/botan/src/tests/test_roughtime.cpp:147,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:148,1
    - Dst: Botan::Roughtime::Chain::to_string
      Src: /src/botan/src/tests/test_roughtime.cpp:148,1
    - Dst: Botan::Roughtime::Chain::append
      Src: /src/botan/src/tests/test_roughtime.cpp:150,1
    - Dst: Botan::Roughtime::Chain::links
      Src: /src/botan/src/tests/test_roughtime.cpp:150,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:151,1
    - Dst: Botan::Roughtime::Chain::links
      Src: /src/botan/src/tests/test_roughtime.cpp:151,1
    - Dst: Botan::Roughtime::Chain::responses
      Src: /src/botan/src/tests/test_roughtime.cpp:151,1
    - Dst: Botan::Roughtime::Chain::append
      Src: /src/botan/src/tests/test_roughtime.cpp:152,1
    - Dst: Botan::Roughtime::Chain::links
      Src: /src/botan/src/tests/test_roughtime.cpp:152,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:153,1
    - Dst: Botan::Roughtime::Chain::links
      Src: /src/botan/src/tests/test_roughtime.cpp:153,1
    - Dst: Botan::Roughtime::Chain::responses
      Src: /src/botan/src/tests/test_roughtime.cpp:153,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:155,1
    - Dst: Botan::Roughtime::Chain::append
      Src: /src/botan/src/tests/test_roughtime.cpp:155,1
    - Dst: Botan::Roughtime::Chain::links
      Src: /src/botan/src/tests/test_roughtime.cpp:155,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:156,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:157,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:159,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:163,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:167,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:171,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 181
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 181
    functionName: Botan_Tests::Roughtime::test_chain
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached:
    - Botan::Roughtime::Chain::links
    - Test::Result::test_throws
    - Botan::Roughtime::Chain::to_string
    - Botan::unlock
    - Test::Result::confirm
    - random_vec
    - Botan::Roughtime::Chain::responses
    - auto::data
    - Botan::Roughtime::Chain::next_nonce
    - Botan::Roughtime::Chain::Chain
    - Botan::typecast_copy<std::array<uint8_t, 64>>
    - Botan::Roughtime::Chain::append
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_chain(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Roughtime::servers_from_str
      Src: /src/botan/src/tests/test_roughtime.cpp:186,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:193,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_roughtime.cpp:193,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_roughtime.cpp:194,1
    - Dst: name
      Src: /src/botan/src/tests/test_roughtime.cpp:194,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_roughtime.cpp:195,1
    - Dst: name
      Src: /src/botan/src/tests/test_roughtime.cpp:195,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:196,1
    - Dst: public_key
      Src: /src/botan/src/tests/test_roughtime.cpp:198,1
    - Dst: Botan::Ed25519_PublicKey
      Src: /src/botan/src/tests/test_roughtime.cpp:199,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/tests/test_roughtime.cpp:199,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:201,1
    - Dst: addresses
      Src: /src/botan/src/tests/test_roughtime.cpp:201,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_roughtime.cpp:202,1
    - Dst: addresses
      Src: /src/botan/src/tests/test_roughtime.cpp:202,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:204,1
    - Dst: Botan::Roughtime::servers_from_str
      Src: /src/botan/src/tests/test_roughtime.cpp:204,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:205,1
    - Dst: Botan::Roughtime::servers_from_str
      Src: /src/botan/src/tests/test_roughtime.cpp:205,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:206,1
    - Dst: Botan::Roughtime::servers_from_str
      Src: /src/botan/src/tests/test_roughtime.cpp:207,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:209,1
    - Dst: Botan::Roughtime::servers_from_str
      Src: /src/botan/src/tests/test_roughtime.cpp:210,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:212,1
    - Dst: Botan::Roughtime::servers_from_str
      Src: /src/botan/src/tests/test_roughtime.cpp:213,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:215,1
    - Dst: Botan::Roughtime::servers_from_str
      Src: /src/botan/src/tests/test_roughtime.cpp:216,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:219,1
    - Dst: Botan::Roughtime::servers_from_str
      Src: /src/botan/src/tests/test_roughtime.cpp:220,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_roughtime.cpp:223,1
    - Dst: Botan::Roughtime::servers_from_str
      Src: /src/botan/src/tests/test_roughtime.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 229
    functionName: Botan_Tests::Roughtime::test_server_information
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached:
    - Botan::Ed25519_PublicKey
    - Test::Result::test_throws
    - name
    - Test::Result::confirm
    - Botan::base64_decode
    - addresses
    - Test::Result::test_eq
    - auto::size
    - Botan::Roughtime::servers_from_str
    - public_key
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_server_information()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Roughtime::online_request
      Src: /src/botan/src/tests/test_roughtime.cpp:237,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/tests/test_roughtime.cpp:237,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/test_roughtime.cpp:238,1
    - Dst: Botan::Roughtime::Response::from_bits
      Src: /src/botan/src/tests/test_roughtime.cpp:239,1
    - Dst: auto::utc_midpoint
      Src: /src/botan/src/tests/test_roughtime.cpp:242,1
    - Dst: auto::utc_midpoint
      Src: /src/botan/src/tests/test_roughtime.cpp:242,1
    - Dst: auto::utc_midpoint
      Src: /src/botan/src/tests/test_roughtime.cpp:242,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_roughtime.cpp:243,1
    - Dst: auto::utc_radius
      Src: /src/botan/src/tests/test_roughtime.cpp:243,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_roughtime.cpp:245,1
    - Dst: what
      Src: /src/botan/src/tests/test_roughtime.cpp:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 248
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 248
    functionName: Botan_Tests::Roughtime::test_request_online
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - what
    - Botan::Roughtime::online_request
    - Test::Result::confirm
    - Test::Result::test_failure
    - Botan::Roughtime::Response::from_bits
    - auto::utc_radius
    - Botan_CLI::Timer::seconds
    - auto::utc_midpoint
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_request_online(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Roughtime::rng
      Src: /src/botan/src/tests/test_roughtime.cpp:252,1
    - Dst: Botan_Tests::Roughtime::test_nonce
      Src: /src/botan/src/tests/test_roughtime.cpp:254,1
    - Dst: Botan_Tests::Roughtime::test_chain
      Src: /src/botan/src/tests/test_roughtime.cpp:254,1
    - Dst: Botan_Tests::Roughtime::test_server_information
      Src: /src/botan/src/tests/test_roughtime.cpp:254,1
    - Dst: Botan_Tests::test_encoding_options
      Src: /src/botan/src/tests/test_roughtime.cpp:256,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_roughtime.cpp:257,1
    - Dst: Botan_Tests::Roughtime::test_request_online
      Src: /src/botan/src/tests/test_roughtime.cpp:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: Botan_Tests::Roughtime::run
    functionSourceFile: /src/botan/src/tests/test_roughtime.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_encoding_options
    - Botan_Tests::Roughtime::test_request_online
    - Botan_Tests::Roughtime::test_nonce
    - Botan_Tests::Roughtime::test_chain
    - std::vector::push_back
    - Botan_Tests::Roughtime::rng
    - Botan_Tests::Roughtime::test_server_information
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan_Tests::Bcrypt_Tests::Bcrypt_Tests
    functionSourceFile: /src/botan/src/tests/test_passhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bcrypt_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_passhash.cpp:33,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_passhash.cpp:34,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_passhash.cpp:34,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_passhash.cpp:34,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_passhash.cpp:36,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_passhash.cpp:39,1
    - Dst: Botan::check_bcrypt
      Src: /src/botan/src/tests/test_passhash.cpp:39,1
    - Dst: Botan::generate_bcrypt
      Src: /src/botan/src/tests/test_passhash.cpp:43,1
    - Dst: Botan_Tests::Bcrypt_Tests::rng
      Src: /src/botan/src/tests/test_passhash.cpp:43,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_passhash.cpp:44,1
    - Dst: Botan::check_bcrypt
      Src: /src/botan/src/tests/test_passhash.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: Botan_Tests::Bcrypt_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_passhash.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - std::vector::size
    - Botan_Tests::Bcrypt_Tests::rng
    - Botan::generate_bcrypt
    - Botan::check_bcrypt
    - get_req_bin
    - Test::Result::test_eq
    - reinterpret_cast<const char*>
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Bcrypt_Tests::rng
      Src: /src/botan/src/tests/test_passhash.cpp:59,1
    - Dst: Botan::generate_bcrypt
      Src: /src/botan/src/tests/test_passhash.cpp:62,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_passhash.cpp:63,1
    - Dst: Botan::check_bcrypt
      Src: /src/botan/src/tests/test_passhash.cpp:63,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_passhash.cpp:66,1
    - Dst: Botan::generate_bcrypt
      Src: /src/botan/src/tests/test_passhash.cpp:67,1
    - Dst: Test::Result::set_ns_consumed
      Src: /src/botan/src/tests/test_passhash.cpp:70,1
    - Dst: Botan_Tests::Test::timestamp
      Src: /src/botan/src/tests/test_passhash.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: Botan_Tests::Bcrypt_Tests::run_final_tests
    functionSourceFile: /src/botan/src/tests/test_passhash.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_throws
    - Botan_Tests::Test::timestamp
    - Botan_Tests::Bcrypt_Tests::rng
    - Botan::generate_bcrypt
    - Botan::check_bcrypt
    - Test::Result::set_ns_consumed
    - Test::Result::test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_final_tests() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan_Tests::Argon2_Tests::Argon2_Tests
    functionSourceFile: /src/botan/src/tests/test_passhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Argon2_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_passhash.cpp:86,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_passhash.cpp:87,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_passhash.cpp:93,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_passhash.cpp:95,1
    - Dst: Botan::argon2_generate_pwhash
      Src: /src/botan/src/tests/test_passhash.cpp:105,1
    - Dst: std::string::data
      Src: /src/botan/src/tests/test_passhash.cpp:105,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_passhash.cpp:105,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_passhash.cpp:105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_passhash.cpp:107,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_passhash.cpp:109,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_passhash.cpp:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' header'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 115
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 115
    functionName: Botan_Tests::Argon2_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_passhash.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - get_req_str
    - std::vector::size
    - Test_Error
    - get_req_bin
    - Botan::argon2_generate_pwhash
    - Test::Result::test_eq
    - std::string::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& header, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: Botan_Tests::Passhash9_Tests::Passhash9_Tests
    functionSourceFile: /src/botan/src/tests/test_passhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Passhash9_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_passhash.cpp:129,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_passhash.cpp:130,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_passhash.cpp:130,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_passhash.cpp:130,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_passhash.cpp:132,1
    - Dst: get_req_sz
      Src: /src/botan/src/tests/test_passhash.cpp:133,1
    - Dst: Botan::is_passhash9_alg_supported
      Src: /src/botan/src/tests/test_passhash.cpp:137,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_passhash.cpp:138,1
    - Dst: Botan::check_passhash9
      Src: /src/botan/src/tests/test_passhash.cpp:138,1
    - Dst: Botan::is_passhash9_alg_supported
      Src: /src/botan/src/tests/test_passhash.cpp:142,1
    - Dst: Botan::generate_passhash9
      Src: /src/botan/src/tests/test_passhash.cpp:143,1
    - Dst: Botan_Tests::Passhash9_Tests::rng
      Src: /src/botan/src/tests/test_passhash.cpp:143,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_passhash.cpp:145,1
    - Dst: Botan::check_passhash9
      Src: /src/botan/src/tests/test_passhash.cpp:145,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_passhash.cpp:146,1
    - Dst: Botan::is_passhash9_alg_supported
      Src: /src/botan/src/tests/test_passhash.cpp:155,1
    - Dst: Botan::generate_passhash9
      Src: /src/botan/src/tests/test_passhash.cpp:156,1
    - Dst: Botan_Tests::Passhash9_Tests::rng
      Src: /src/botan/src/tests/test_passhash.cpp:156,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_passhash.cpp:157,1
    - Dst: Botan::check_passhash9
      Src: /src/botan/src/tests/test_passhash.cpp:157,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_passhash.cpp:158,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 164
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 164
    functionName: Botan_Tests::Passhash9_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_passhash.cpp
    functionUses: 0
    functionsReached:
    - Botan::check_passhash9
    - Test::Result::test_note
    - get_req_str
    - std::vector::size
    - get_req_sz
    - Botan::generate_passhash9
    - get_req_bin
    - Botan_Tests::Passhash9_Tests::rng
    - Test::Result::test_eq
    - reinterpret_cast<const char*>
    - Botan::is_passhash9_alg_supported
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_passhash.cpp:169,1
    - Dst: Botan::is_passhash9_alg_supported
      Src: /src/botan/src/tests/test_passhash.cpp:169,1
    - Dst: Botan_Tests::Passhash9_Tests::rng
      Src: /src/botan/src/tests/test_passhash.cpp:171,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_passhash.cpp:173,1
    - Dst: Botan::generate_passhash9
      Src: /src/botan/src/tests/test_passhash.cpp:175,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_passhash.cpp:177,1
    - Dst: Botan::check_passhash9
      Src: /src/botan/src/tests/test_passhash.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 182
    functionName: Botan_Tests::Passhash9_Tests::run_final_tests
    functionSourceFile: /src/botan/src/tests/test_passhash.cpp
    functionUses: 0
    functionsReached:
    - Botan::check_passhash9
    - Test::Result::test_throws
    - Botan::generate_passhash9
    - Test::Result::confirm
    - Botan_Tests::Passhash9_Tests::rng
    - Botan::is_passhash9_alg_supported
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_final_tests() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_Tests::TSS_Recovery_Tests::TSS_Recovery_Tests
    functionSourceFile: /src/botan/src/tests/test_tss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSS_Recovery_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tss.cpp:27,1
    - Dst: get_req_bin_list
      Src: /src/botan/src/tests/test_tss.cpp:30,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/tests/test_tss.cpp:34,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tss.cpp:34,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tss.cpp:37,1
    - Dst: Botan::RTSS_Share::RTSS_Share
      Src: /src/botan/src/tests/test_tss.cpp:37,1
    - Dst: data
      Src: /src/botan/src/tests/test_tss.cpp:37,1
    - Dst: size
      Src: /src/botan/src/tests/test_tss.cpp:37,1
    - Dst: Botan::RTSS_Share::reconstruct
      Src: /src/botan/src/tests/test_tss.cpp:40,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tss.cpp:41,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tss.cpp:44,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tss.cpp:48,1
    - Dst: std::vector::erase
      Src: /src/botan/src/tests/test_tss.cpp:50,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_tss.cpp:50,1
    - Dst: Botan::RTSS_Share::reconstruct
      Src: /src/botan/src/tests/test_tss.cpp:52,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tss.cpp:53,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tss.cpp:55,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_tss.cpp:55,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tss.cpp:55,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tss.cpp:62,1
    - Dst: what
      Src: /src/botan/src/tests/test_tss.cpp:62,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_tss.cpp:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - ' header'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 69
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 69
    functionName: Botan_Tests::TSS_Recovery_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tss.cpp
    functionUses: 0
    functionsReached:
    - get_req_bin_list
    - std::vector::size
    - what
    - std::vector::begin
    - data
    - std::to_string
    - Botan::RTSS_Share::RTSS_Share
    - Botan::RTSS_Share::reconstruct
    - size
    - Test::Result::test_failure
    - std::vector::push_back
    - std::vector::reserve
    - std::vector::erase
    - get_req_bin
    - Test::Result::test_eq
    - Test::Result::test_success
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& header, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan_Tests::TSS_Generation_Tests::TSS_Generation_Tests
    functionSourceFile: /src/botan/src/tests/test_tss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSS_Generation_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tss.cpp:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: Botan_Tests::TSS_Generation_Tests::tss_hash_len
    functionSourceFile: /src/botan/src/tests/test_tss.cpp
    functionUses: 0
    functionsReached:
    - Test_Error
    linkageType: ''
    returnType: size_t
    signature: size_t tss_hash_len(const std::string& hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tss.cpp:93,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tss.cpp:94,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tss.cpp:95,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tss.cpp:98,1
    - Dst: get_req_bin_list
      Src: /src/botan/src/tests/test_tss.cpp:99,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tss.cpp:101,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tss.cpp:102,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tss.cpp:105,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tss.cpp:105,1
    - Dst: Botan_Tests::TSS_Generation_Tests::tss_hash_len
      Src: /src/botan/src/tests/test_tss.cpp:105,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tss.cpp:106,1
    - Dst: Botan::RTSS_Share::split
      Src: /src/botan/src/tests/test_tss.cpp:112,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_tss.cpp:112,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_tss.cpp:112,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tss.cpp:112,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tss.cpp:114,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tss.cpp:114,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tss.cpp:117,1
    - Dst: data
      Src: /src/botan/src/tests/test_tss.cpp:117,1
    - Dst: Botan::RTSS_Share::reconstruct
      Src: /src/botan/src/tests/test_tss.cpp:120,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tss.cpp:121,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tss.cpp:124,1
    - Dst: std::vector::erase
      Src: /src/botan/src/tests/test_tss.cpp:126,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_tss.cpp:126,1
    - Dst: Botan::RTSS_Share::reconstruct
      Src: /src/botan/src/tests/test_tss.cpp:129,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tss.cpp:130,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tss.cpp:132,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_tss.cpp:132,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tss.cpp:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 138
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 138
    functionName: Botan_Tests::TSS_Generation_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tss.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - get_req_bin_list
    - std::vector::size
    - get_req_str
    - Botan_Tests::TSS_Generation_Tests::tss_hash_len
    - data
    - std::vector::begin
    - Botan::RTSS_Share::reconstruct
    - std::to_string
    - Test::Result::test_failure
    - Test_Error
    - std::vector::erase
    - get_req_bin
    - Botan::RTSS_Share::split
    - Test::Result::test_eq
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& /*header*/, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/tests/test_utils_buffer.cpp:23,1
    - Dst: end
      Src: /src/botan/src/tests/test_utils_buffer.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan_Tests::v
    functionSourceFile: /src/botan/src/tests/test_utils_buffer.cpp
    functionUses: 1
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> v(const T& container)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:30,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:34,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:34,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:35,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:35,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:36,1
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/tests/test_utils_buffer.cpp:36,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:38,1
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/tests/test_utils_buffer.cpp:38,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:39,1
    - Dst: Botan::BufferSlicer::skip
      Src: /src/botan/src/tests/test_utils_buffer.cpp:39,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:40,1
    - Dst: Botan::BufferSlicer::copy_as_vector
      Src: /src/botan/src/tests/test_utils_buffer.cpp:40,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:43,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:48,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:48,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:48,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:49,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:49,1
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/tests/test_utils_buffer.cpp:51,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:52,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:52,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:53,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:54,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:55,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:56,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:57,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:59,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:59,1
    - Dst: Botan::BufferSlicer::skip
      Src: /src/botan/src/tests/test_utils_buffer.cpp:61,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:62,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:62,1
    - Dst: Botan::BufferSlicer::copy_as_vector
      Src: /src/botan/src/tests/test_utils_buffer.cpp:64,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:65,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:65,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:66,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:67,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:68,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:69,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:69,1
    - Dst: Botan::BufferSlicer::copy_into
      Src: /src/botan/src/tests/test_utils_buffer.cpp:72,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:73,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:74,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:75,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:75,1
    - Dst: Botan::BufferSlicer::skip
      Src: /src/botan/src/tests/test_utils_buffer.cpp:77,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:78,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:78,1
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/tests/test_utils_buffer.cpp:80,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:81,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:82,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:83,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:85,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:85,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:86,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:86,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:88,1
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/tests/test_utils_buffer.cpp:88,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:89,1
    - Dst: Botan::BufferSlicer::skip
      Src: /src/botan/src/tests/test_utils_buffer.cpp:89,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:90,1
    - Dst: Botan::BufferSlicer::copy_as_vector
      Src: /src/botan/src/tests/test_utils_buffer.cpp:90,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:93,1
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/tests/test_utils_buffer.cpp:98,1
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/tests/test_utils_buffer.cpp:99,1
    - Dst: Botan::BufferSlicer::copy
      Src: /src/botan/src/tests/test_utils_buffer.cpp:100,1
    - Dst: Botan::BufferSlicer::copy_as_vector
      Src: /src/botan/src/tests/test_utils_buffer.cpp:101,1
    - Dst: Botan::BufferSlicer::copy_as_secure_vector
      Src: /src/botan/src/tests/test_utils_buffer.cpp:102,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:103,1
    - Dst: Botan::BufferSlicer::copy_into
      Src: /src/botan/src/tests/test_utils_buffer.cpp:104,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:106,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 110
    functionName: Botan_Tests::test_buffer_slicer
    functionSourceFile: /src/botan/src/tests/test_utils_buffer.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan::BufferSlicer::empty
    - Botan::BufferSlicer::copy_as_secure_vector
    - std::vector::size
    - require
    - Botan::concat<std::vector<uint8_t>>
    - Botan::BufferSlicer::remaining
    - test_is_eq
    - test_throws
    - confirm
    - Botan::BufferSlicer::copy_as_vector
    - Botan::BufferSlicer::copy
    - Botan::BufferSlicer::take
    - Botan::BufferSlicer::copy_into
    - auto::size
    - Botan::BufferSlicer::skip
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_buffer_slicer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:114,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:119,1
    - Dst: Botan::BufferStuffer::remaining_capacity
      Src: /src/botan/src/tests/test_utils_buffer.cpp:119,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:120,1
    - Dst: Botan::BufferStuffer::full
      Src: /src/botan/src/tests/test_utils_buffer.cpp:120,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:121,1
    - Dst: Botan::BufferStuffer::next
      Src: /src/botan/src/tests/test_utils_buffer.cpp:121,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:123,1
    - Dst: Botan::BufferStuffer::next
      Src: /src/botan/src/tests/test_utils_buffer.cpp:123,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:124,1
    - Dst: Botan::BufferStuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:126,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:130,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:135,1
    - Dst: Botan::BufferStuffer::remaining_capacity
      Src: /src/botan/src/tests/test_utils_buffer.cpp:135,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:135,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:136,1
    - Dst: Botan::BufferStuffer::full
      Src: /src/botan/src/tests/test_utils_buffer.cpp:136,1
    - Dst: Botan::BufferStuffer::next
      Src: /src/botan/src/tests/test_utils_buffer.cpp:138,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:139,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:139,1
    - Dst: Botan::BufferStuffer::next
      Src: /src/botan/src/tests/test_utils_buffer.cpp:146,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:147,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:147,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_utils_buffer.cpp:149,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_utils_buffer.cpp:150,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_utils_buffer.cpp:151,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:153,1
    - Dst: Botan::BufferStuffer::remaining_capacity
      Src: /src/botan/src/tests/test_utils_buffer.cpp:153,1
    - Dst: Botan::BufferStuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:156,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:158,1
    - Dst: Botan::BufferStuffer::remaining_capacity
      Src: /src/botan/src/tests/test_utils_buffer.cpp:158,1
    - Dst: Botan::BufferStuffer::next
      Src: /src/botan/src/tests/test_utils_buffer.cpp:160,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:161,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:161,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:162,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:163,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:168,1
    - Dst: Botan::BufferStuffer::full
      Src: /src/botan/src/tests/test_utils_buffer.cpp:168,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:170,1
    - Dst: Botan::BufferStuffer::next
      Src: /src/botan/src/tests/test_utils_buffer.cpp:170,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:171,1
    - Dst: Botan::BufferStuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:173,1
    - Dst: Botan::cast_uint8_ptr_to_char
      Src: /src/botan/src/tests/test_utils_buffer.cpp:176,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:176,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:176,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 180
    functionName: Botan_Tests::test_buffer_stuffer
    functionSourceFile: /src/botan/src/tests/test_utils_buffer.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - std::vector::size
    - require
    - Botan::BufferStuffer::remaining_capacity
    - std::vector::data
    - Botan::BufferStuffer::append
    - test_throws
    - confirm
    - Botan::BufferStuffer::full
    - Botan::cast_uint8_ptr_to_char
    - Botan::BufferStuffer::next
    - auto::size
    - auto::get
    - test_eq
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_buffer_stuffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:189,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:191,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:192,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:192,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:193,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:193,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:194,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:194,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:195,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:195,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:196,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:196,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:199,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:201,1
    - Dst: Botan::AlignmentBuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:203,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:205,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:205,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:206,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:206,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:207,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:207,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:208,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:208,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:209,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:209,1
    - Dst: Botan::AlignmentBuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:211,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:213,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:213,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:214,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:214,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:215,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:215,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:216,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:216,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:217,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:217,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:220,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:222,1
    - Dst: Botan::AlignmentBuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:224,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:226,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:226,1
    - Dst: Botan::AlignmentBuffer::consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:227,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:229,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:229,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:230,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:230,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:231,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:231,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:232,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:232,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:233,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:233,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:235,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:235,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:235,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:238,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:240,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:242,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:242,1
    - Dst: Botan::AlignmentBuffer::consume_partial
      Src: /src/botan/src/tests/test_utils_buffer.cpp:243,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:244,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:244,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:245,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:245,1
    - Dst: Botan::AlignmentBuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:247,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:248,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:248,1
    - Dst: Botan::AlignmentBuffer::consume_partial
      Src: /src/botan/src/tests/test_utils_buffer.cpp:249,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:250,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:250,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:251,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:251,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:251,1
    - Dst: Botan::AlignmentBuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:253,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:254,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:254,1
    - Dst: Botan::AlignmentBuffer::consume_partial
      Src: /src/botan/src/tests/test_utils_buffer.cpp:255,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:256,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:256,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:257,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:257,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:257,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:260,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:262,1
    - Dst: Botan::AlignmentBuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:264,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:266,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:266,1
    - Dst: Botan::AlignmentBuffer::clear
      Src: /src/botan/src/tests/test_utils_buffer.cpp:267,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:269,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:269,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:270,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:270,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:271,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:271,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:272,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:272,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:273,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:273,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:276,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:278,1
    - Dst: Botan::AlignmentBuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:280,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:282,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:282,1
    - Dst: Botan::AlignmentBuffer::fill_up_with_zeros
      Src: /src/botan/src/tests/test_utils_buffer.cpp:283,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:285,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:285,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:286,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:286,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:287,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:287,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:288,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:288,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:289,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:289,1
    - Dst: Botan::AlignmentBuffer::consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:291,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:293,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:293,1
    - Dst: auto::first
      Src: /src/botan/src/tests/test_utils_buffer.cpp:293,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:293,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:294,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:294,1
    - Dst: auto::last
      Src: /src/botan/src/tests/test_utils_buffer.cpp:294,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:294,1
    - Dst: Botan::AlignmentBuffer::append
      Src: /src/botan/src/tests/test_utils_buffer.cpp:298,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:299,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:299,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:300,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:300,1
    - Dst: Botan::AlignmentBuffer::fill_up_with_zeros
      Src: /src/botan/src/tests/test_utils_buffer.cpp:302,1
    - Dst: Botan::AlignmentBuffer::consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:303,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:305,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:305,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:305,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:308,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:310,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:315,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:316,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:316,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:317,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:317,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:319,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:319,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:320,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:320,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:321,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:321,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:322,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:322,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:324,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:325,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:325,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:326,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:326,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:328,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:328,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:329,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:329,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:330,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:330,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:331,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:331,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:333,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:333,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:333,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:333,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:336,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:338,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:341,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:342,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:342,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:343,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:343,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:344,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:344,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:345,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:345,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:349,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:350,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:350,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:351,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:351,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:352,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:352,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:353,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:353,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:355,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:356,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:356,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:357,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:357,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:358,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:358,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:359,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:359,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:362,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:364,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:370,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:371,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:371,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:372,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:372,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:374,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:374,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:375,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:375,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:376,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:376,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:377,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:377,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:379,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:380,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:380,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:381,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:381,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:383,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:383,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:384,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:384,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:385,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:385,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:386,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:386,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:388,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:389,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:389,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:390,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:390,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:392,1
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:392,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:393,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:393,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:394,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:394,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:395,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:395,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:397,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:397,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:397,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:397,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:400,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:402,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:405,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:406,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:406,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:407,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:407,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:408,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:408,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:409,1
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:409,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:412,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:413,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:413,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:414,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:414,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:415,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:415,1
    - Dst: Botan::AlignmentBuffer::handle_unaligned_data
      Src: /src/botan/src/tests/test_utils_buffer.cpp:419,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:420,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:420,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:421,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:421,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:422,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/tests/test_utils_buffer.cpp:422,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:423,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:423,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:425,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:425,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:425,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:425,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:428,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:430,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:431,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:431,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:435,1
    - Dst: empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:435,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:436,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:437,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:437,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:439,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:442,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:442,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:443,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:444,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:444,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:444,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:445,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:445,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:447,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:450,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:450,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:451,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:452,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:452,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:453,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:453,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:456,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:458,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:459,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:459,1
    - Dst: Botan::AlignmentBuffer::next_aligned_block_to_process
      Src: /src/botan/src/tests/test_utils_buffer.cpp:462,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:463,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:463,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:464,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:464,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:466,1
    - Dst: Botan::AlignmentBuffer::next_aligned_block_to_process
      Src: /src/botan/src/tests/test_utils_buffer.cpp:468,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:469,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:469,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:470,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:470,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:471,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:471,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:471,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:471,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:472,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:472,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:474,1
    - Dst: Botan::AlignmentBuffer::next_aligned_block_to_process
      Src: /src/botan/src/tests/test_utils_buffer.cpp:476,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:477,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:477,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:478,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:478,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:479,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:479,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:479,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:479,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:480,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:480,1
    - Dst: Botan::AlignmentBuffer::next_aligned_block_to_process
      Src: /src/botan/src/tests/test_utils_buffer.cpp:482,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:483,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:483,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:484,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:484,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:485,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:485,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:485,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:485,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:486,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:486,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:489,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:491,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:492,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:492,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:496,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:496,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:497,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:498,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:498,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:500,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:503,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:503,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:504,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:505,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:505,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:505,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:506,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:506,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:508,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:511,1
    - Dst: size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:511,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:512,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:513,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:513,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:513,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:514,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:514,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:517,1
    - Dst: Botan::AlignmentBuffer::AlignmentBuffer
      Src: /src/botan/src/tests/test_utils_buffer.cpp:519,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:520,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/tests/test_utils_buffer.cpp:520,1
    - Dst: Botan::AlignmentBuffer::next_aligned_block_to_process
      Src: /src/botan/src/tests/test_utils_buffer.cpp:523,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:524,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:524,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:525,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:525,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:527,1
    - Dst: Botan::AlignmentBuffer::next_aligned_block_to_process
      Src: /src/botan/src/tests/test_utils_buffer.cpp:529,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:530,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:530,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:531,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:531,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:532,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:532,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:532,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:532,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:533,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:533,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:535,1
    - Dst: Botan::AlignmentBuffer::next_aligned_block_to_process
      Src: /src/botan/src/tests/test_utils_buffer.cpp:537,1
    - Dst: require
      Src: /src/botan/src/tests/test_utils_buffer.cpp:538,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:538,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:539,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_utils_buffer.cpp:539,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:540,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:540,1
    - Dst: auto::value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:540,1
    - Dst: Botan_Tests::v
      Src: /src/botan/src/tests/test_utils_buffer.cpp:540,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:541,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:541,1
    - Dst: Botan::AlignmentBuffer::next_aligned_block_to_process
      Src: /src/botan/src/tests/test_utils_buffer.cpp:543,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:544,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/test_utils_buffer.cpp:544,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:545,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/tests/test_utils_buffer.cpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 183
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 548
    functionName: Botan_Tests::test_alignment_buffer
    functionSourceFile: /src/botan/src/tests/test_utils_buffer.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - require
    - Botan::AlignmentBuffer::next_aligned_block_to_process
    - Botan::BufferSlicer::remaining
    - confirm
    - std::vector<uint8_t>
    - Botan::AlignmentBuffer::fill_up_with_zeros
    - Botan::BufferSlicer::empty
    - Botan::concat<std::vector<uint8_t>>
    - auto::value
    - auto::has_value
    - Botan::AlignmentBuffer::ready_to_consume
    - Botan::AlignmentBuffer::AlignmentBuffer
    - auto::last
    - Botan::AlignmentBuffer::consume
    - auto::size
    - Botan::AlignmentBuffer::clear
    - auto::first
    - Botan::AlignmentBuffer::append
    - Botan::AlignmentBuffer::consume_partial
    - size
    - Botan::AlignmentBuffer::in_alignment
    - empty
    - test_eq
    - Botan::AlignmentBuffer::handle_unaligned_data
    - Botan::AlignmentBuffer::elements_until_alignment
    - Botan_Tests::v
    - test_is_eq
    - Botan::AlignmentBuffer::size
    - Botan::AlignmentBuffer::elements_in_buffer
    - auto::empty
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_alignment_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:552,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:555,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:556,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:556,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_utils_buffer.cpp:559,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:559,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:560,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:560,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_utils_buffer.cpp:563,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:563,1
    - Dst: Botan::secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:563,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:564,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:564,1
    - Dst: Botan::concat<std::array<uint8_t, 0>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:567,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:568,1
    - Dst: std::array<uint8_t, 0>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:568,1
    - Dst: Botan::secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:568,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:569,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_utils_buffer.cpp:569,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:572,1
    - Dst: Botan::concat<std::array<uint8_t, 0>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:576,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:577,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:580,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:581,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_utils_buffer.cpp:584,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:584,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:585,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_utils_buffer.cpp:588,1
    - Dst: Botan::secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:588,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:588,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:589,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_utils_buffer.cpp:593,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:593,1
    - Dst: std::array<uint8_t, 0>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:593,1
    - Dst: Botan::secure_vector<uint8_t>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:593,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:594,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_utils_buffer.cpp:598,1
    - Dst: std::array<uint8_t, 1>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:598,1
    - Dst: std::array<uint8_t, 3>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:598,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:599,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:602,1
    - Dst: Botan::concat<Botan::secure_vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:608,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:609,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:612,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:613,1
    - Dst: Botan::concat<std::array<uint8_t, 10>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:616,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:617,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_utils_buffer.cpp:620,1
    - Dst: std::span<const uint8_t, 5>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:620,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:621,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:622,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_utils_buffer.cpp:626,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:627,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_utils_buffer.cpp:628,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:632,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:637,1
    - Dst: Botan::concat<std::array<uint8_t, 4>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:638,1
    - Dst: test_throws
      Src: /src/botan/src/tests/test_utils_buffer.cpp:639,1
    - Dst: Botan::concat<std::array<uint8_t, 20>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:640,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_utils_buffer.cpp:643,1
    - Dst: Botan::concat<std::vector<uint8_t>>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:656,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:657,1
    - Dst: Botan::concat<StrongV>
      Src: /src/botan/src/tests/test_utils_buffer.cpp:660,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_utils_buffer.cpp:661,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_utils_buffer.cpp:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 664
      start: 550
    functionDepth: 3
    functionLinenumber: 550
    functionLinenumberEnd: 664
    functionName: Botan_Tests::test_concat
    functionSourceFile: /src/botan/src/tests/test_utils_buffer.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - std::array<uint8_t, 3>
    - confirm
    - Botan::concat<std::array<uint8_t, 20>>
    - std::vector<uint8_t>
    - Botan::concat<std::vector<uint8_t>>
    - auto::get
    - Botan::secure_vector<uint8_t>
    - Botan::concat<Botan::secure_vector<uint8_t>>
    - test_throws
    - Botan::concat<std::array<uint8_t, 10>>
    - Botan::concat<StrongV>
    - std::array<uint8_t, 1>
    - std::array<uint8_t, 0>
    - test_is_eq
    - Botan::concat<std::array<uint8_t, 4>>
    - Botan::concat<std::array<uint8_t, 0>>
    - std::span<const uint8_t, 5>
    - auto::empty
    - Botan::concat
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_concat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/tests/test_tls_messages.cpp:48,1
    - Dst: auto::set_key
      Src: /src/botan/src/tests/test_tls_messages.cpp:49,1
    - Dst: auto::update_be
      Src: /src/botan/src/tests/test_tls_messages.cpp:50,1
    - Dst: auto::update_be
      Src: /src/botan/src/tests/test_tls_messages.cpp:51,1
    - Dst: unlock
      Src: /src/botan/src/tests/test_tls_messages.cpp:52,1
    - Dst: auto::final
      Src: /src/botan/src/tests/test_tls_messages.cpp:52,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:54,1
    - Dst: Botan::TLS::Hello_Verify_Request::cookie
      Src: /src/botan/src/tests/test_tls_messages.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 56
    functionName: Botan_Tests::test_hello_verify_request
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - auto::final
    - auto::set_key
    - auto::update_be
    - Botan::TLS::Hello_Verify_Request::cookie
    - Botan::MessageAuthenticationCode::create
    - Test::Result::test_eq
    - unlock
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_hello_verify_request()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan_Tests::Test_Callbacks::Test_Callbacks
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Callbacks(Test::Result& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/test_tls_messages.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan_Tests::Test_Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - test_failure
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t>) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/test_tls_messages.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: Botan_Tests::Test_Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - test_failure
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t, std::span<const uint8_t>) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/test_tls_messages.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan_Tests::Test_Callbacks::tls_alert
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - test_failure
    linkageType: ''
    returnType: void
    signature: void tls_alert(Botan::TLS::Alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failure
      Src: /src/botan/src/tests/test_tls_messages.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: Botan_Tests::Test_Callbacks::tls_session_established
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - test_failure
    linkageType: ''
    returnType: void
    signature: void tls_session_established(const Botan::TLS::Session_Summary&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: Botan_Tests::TLS_Message_Parsing_Test::TLS_Message_Parsing_Test
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Message_Parsing_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:87,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:88,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:89,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:90,1
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:91,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:101,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:104,1
    - Dst: Botan::TLS::Client_Hello_12::legacy_version
      Src: /src/botan/src/tests/test_tls_messages.cpp:104,1
    - Dst: Botan::TLS::Protocol_Version::to_string
      Src: /src/botan/src/tests/test_tls_messages.cpp:104,1
    - Dst: Botan::TLS::Client_Hello_12::extension_types
      Src: /src/botan/src/tests/test_tls_messages.cpp:106,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:108,1
    - Dst: Botan::get_byte<0>
      Src: /src/botan/src/tests/test_tls_messages.cpp:108,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:109,1
    - Dst: Botan::get_byte<1>
      Src: /src/botan/src/tests/test_tls_messages.cpp:109,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:111,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:111,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:119,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/tests/test_tls_messages.cpp:122,1
    - Dst: Botan::make_uint16
      Src: /src/botan/src/tests/test_tls_messages.cpp:122,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:124,1
    - Dst: Botan::TLS::Server_Hello_12::legacy_version
      Src: /src/botan/src/tests/test_tls_messages.cpp:124,1
    - Dst: Botan::TLS::Protocol_Version::to_string
      Src: /src/botan/src/tests/test_tls_messages.cpp:124,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:125,1
    - Dst: Botan::TLS::Server_Hello_12::ciphersuite
      Src: /src/botan/src/tests/test_tls_messages.cpp:125,1
    - Dst: Botan::TLS::Ciphersuite::ciphersuite_code
      Src: /src/botan/src/tests/test_tls_messages.cpp:125,1
    - Dst: Botan::TLS::Server_Hello_12::extension_types
      Src: /src/botan/src/tests/test_tls_messages.cpp:127,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:129,1
    - Dst: Botan::get_byte<0>
      Src: /src/botan/src/tests/test_tls_messages.cpp:129,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:130,1
    - Dst: Botan::get_byte<1>
      Src: /src/botan/src/tests/test_tls_messages.cpp:130,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:132,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:132,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_tls_messages.cpp:134,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_tls_messages.cpp:134,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_tls_messages.cpp:136,1
    - Dst: Botan::TLS::Alert::type_string
      Src: /src/botan/src/tests/test_tls_messages.cpp:137,1
    - Dst: Botan::TLS::Certificate_Status::response
      Src: /src/botan/src/tests/test_tls_messages.cpp:142,1
    - Dst: Botan::OCSP::Response::signer_name
      Src: /src/botan/src/tests/test_tls_messages.cpp:144,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:147,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:147,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:148,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_messages.cpp:151,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_tls_messages.cpp:153,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tls_messages.cpp:155,1
    - Dst: what
      Src: /src/botan/src/tests/test_tls_messages.cpp:155,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tls_messages.cpp:159,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tls_messages.cpp:163,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tls_messages.cpp:167,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tls_messages.cpp:171,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tls_messages.cpp:174,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tls_messages.cpp:178,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tls_messages.cpp:182,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_tls_messages.cpp:186,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_tls_messages.cpp:187,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_tls_messages.cpp:187,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_messages.cpp:191,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 77
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 196
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 196
    functionName: Botan_Tests::TLS_Message_Parsing_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::begin
    - Botan::make_uint16
    - Botan::TLS::Protocol_Version::to_string
    - std::vector::push_back
    - Botan::get_byte<0>
    - Test::Result::test_eq
    - Botan::OCSP::Response::signer_name
    - Test::Result::test_throws
    - Botan::TLS::Server_Hello_12::extension_types
    - Botan::TLS::Ciphersuite::ciphersuite_code
    - what
    - Test::Result::confirm
    - get_req_bin
    - get_opt_bin
    - std::vector::end
    - Test::Result::test_success
    - get_req_str
    - Botan::TLS::Certificate_Status::response
    - Botan::TLS::Client_Hello_12::extension_types
    - Botan::TLS::Client_Hello_12::legacy_version
    - Test_Error
    - Botan::hex_encode
    - Botan::get_byte<1>
    - get_opt_str
    - Botan::TLS::Alert::type_string
    - Botan::TLS::Ciphersuite::by_id
    - Botan::TLS::Server_Hello_12::ciphersuite
    - Botan::TLS::Server_Hello_12::legacy_version
    - Test::Result::test_failure
    - Test::Result::test_lt
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:201,1
    - Dst: test_hello_verify_request
      Src: /src/botan/src/tests/test_tls_messages.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: Botan_Tests::TLS_Message_Parsing_Test::run_final_tests
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - test_hello_verify_request
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_final_tests() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: Botan_Tests::TLS_Key_Share_CH_Generation_Test::TLS_Key_Share_CH_Generation_Test
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Key_Share_CH_Generation_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:221,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:222,1
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:223,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:224,1
    - Dst: Fixed_Output_RNG::add_entropy
      Src: /src/botan/src/tests/test_tls_messages.cpp:232,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_tls_messages.cpp:232,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:232,1
    - Dst: Botan::TLS::Key_Share::serialize
      Src: /src/botan/src/tests/test_tls_messages.cpp:235,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' extension'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 240
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 240
    functionName: Botan_Tests::TLS_Key_Share_CH_Generation_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    - auto::data
    - Fixed_Output_RNG::add_entropy
    - get_req_bin
    - Botan::TLS::Key_Share::serialize
    - auto::size
    - Test::Result::test_eq
    - get_opt_str
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& extension, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: Botan_Tests::TLS_Extension_Parsing_Test::TLS_Extension_Parsing_Test
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Extension_Parsing_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:255,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:256,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:257,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:258,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:266,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_tls_messages.cpp:269,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:269,1
    - Dst: Botan::TLS::Supported_Versions::serialize
      Src: /src/botan/src/tests/test_tls_messages.cpp:270,1
    - Dst: get_req_bin_list
      Src: /src/botan/src/tests/test_tls_messages.cpp:272,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:274,1
    - Dst: Botan::TLS::Supported_Versions::supports
      Src: /src/botan/src/tests/test_tls_messages.cpp:275,1
    - Dst: Botan::TLS::Protocol_Version
      Src: /src/botan/src/tests/test_tls_messages.cpp:276,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:279,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:279,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_tls_messages.cpp:282,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:282,1
    - Dst: Botan::TLS::Supported_Groups::serialize
      Src: /src/botan/src/tests/test_tls_messages.cpp:284,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:285,1
    - Dst: Botan::TLS::Supported_Groups::dh_groups
      Src: /src/botan/src/tests/test_tls_messages.cpp:287,1
    - Dst: Botan::TLS::Supported_Groups::ec_groups
      Src: /src/botan/src/tests/test_tls_messages.cpp:288,1
    - Dst: std::merge
      Src: /src/botan/src/tests/test_tls_messages.cpp:291,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls_messages.cpp:291,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls_messages.cpp:292,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_tls_messages.cpp:293,1
    - Dst: auto::end
      Src: /src/botan/src/tests/test_tls_messages.cpp:294,1
    - Dst: std::back_inserter
      Src: /src/botan/src/tests/test_tls_messages.cpp:295,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:297,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:298,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:298,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:300,1
    - Dst: Botan::make_uint16
      Src: /src/botan/src/tests/test_tls_messages.cpp:302,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_tls_messages.cpp:302,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_tls_messages.cpp:302,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:304,1
    - Dst: std::any_of
      Src: /src/botan/src/tests/test_tls_messages.cpp:305,1
    - Dst: std::vector::cbegin
      Src: /src/botan/src/tests/test_tls_messages.cpp:305,1
    - Dst: std::vector::cend
      Src: /src/botan/src/tests/test_tls_messages.cpp:306,1
    - Dst: static_cast<Botan::TLS::Named_Group>
      Src: /src/botan/src/tests/test_tls_messages.cpp:308,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:313,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_tls_messages.cpp:317,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:317,1
    - Dst: Botan::TLS::Signature_Algorithms_Cert::serialize
      Src: /src/botan/src/tests/test_tls_messages.cpp:319,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:320,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:322,1
    - Dst: Botan::TLS::Signature_Algorithms_Cert::supported_schemes
      Src: /src/botan/src/tests/test_tls_messages.cpp:323,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:323,1
    - Dst: Botan::TLS::Signature_Algorithms_Cert::supported_schemes
      Src: /src/botan/src/tests/test_tls_messages.cpp:326,1
    - Dst: Botan::make_uint16
      Src: /src/botan/src/tests/test_tls_messages.cpp:328,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_tls_messages.cpp:328,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_tls_messages.cpp:328,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:330,1
    - Dst: Botan::TLS::Signature_Scheme::Signature_Scheme
      Src: /src/botan/src/tests/test_tls_messages.cpp:331,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:336,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_tls_messages.cpp:339,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:339,1
    - Dst: Botan::TLS::Cookie::serialize
      Src: /src/botan/src/tests/test_tls_messages.cpp:341,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:342,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:344,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:345,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:346,1
    - Dst: Botan::TLS::Cookie::get_cookie
      Src: /src/botan/src/tests/test_tls_messages.cpp:346,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_tls_messages.cpp:350,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:350,1
    - Dst: Botan::TLS::Key_Share::serialize
      Src: /src/botan/src/tests/test_tls_messages.cpp:353,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:354,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:356,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:357,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:357,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_tls_messages.cpp:361,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:361,1
    - Dst: Botan::TLS::Key_Share::serialize
      Src: /src/botan/src/tests/test_tls_messages.cpp:363,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:364,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:366,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:367,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:367,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_tls_messages.cpp:371,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_tls_messages.cpp:371,1
    - Dst: Botan::TLS::Key_Share::serialize
      Src: /src/botan/src/tests/test_tls_messages.cpp:373,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:374,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:376,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:377,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:377,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_tls_messages.cpp:379,1
    - Dst: Test::Result::test_success
      Src: /src/botan/src/tests/test_tls_messages.cpp:381,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_tls_messages.cpp:383,1
    - Dst: what
      Src: /src/botan/src/tests/test_tls_messages.cpp:383,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - ' extension'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 389
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 389
    functionName: Botan_Tests::TLS_Extension_Parsing_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - std::vector::size
    - Botan::TLS::Supported_Groups::ec_groups
    - Botan::make_uint16
    - static_cast<Botan::TLS::Named_Group>
    - auto::begin
    - Test::Result::test_eq
    - get_req_bin_list
    - what
    - Botan::TLS::Signature_Algorithms_Cert::serialize
    - Test::Result::confirm
    - std::any_of
    - Botan::TLS::Signature_Algorithms_Cert::supported_schemes
    - get_req_bin
    - get_opt_bin
    - Botan::TLS::Supported_Versions::serialize
    - Botan::TLS::Supported_Versions::supports
    - auto::end
    - Test::Result::test_success
    - std::vector::cend
    - Botan::TLS::Cookie::serialize
    - get_req_str
    - Botan::TLS::Signature_Scheme::Signature_Scheme
    - std::back_inserter
    - Test_Error
    - Botan::TLS::Supported_Groups::dh_groups
    - Botan::TLS::Key_Share::serialize
    - auto::at
    - Botan::hex_encode
    - std::merge
    - Botan::TLS::Protocol_Version
    - Botan::TLS::Cookie::get_cookie
    - Test::Result::test_failure
    - std::vector::cbegin
    - auto::size
    - Botan::TLS::Supported_Groups::serialize
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& extension, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:394,1
    - Dst: test_hello_verify_request
      Src: /src/botan/src/tests/test_tls_messages.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 397
    functionName: Botan_Tests::TLS_Extension_Parsing_Test::run_final_tests
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - test_hello_verify_request
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_final_tests() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 405
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 405
    functionName: Botan_Tests::TLS_13_Message_Parsing_Test::TLS_13_Message_Parsing_Test
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_13_Message_Parsing_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:408,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:409,1
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:410,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_tls_messages.cpp:411,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:412,1
    - Dst: std::visit
      Src: /src/botan/src/tests/test_tls_messages.cpp:419,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:422,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:425,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:428,1
    - Dst: extensions
      Src: /src/botan/src/tests/test_tls_messages.cpp:430,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:432,1
    - Dst: Botan::get_byte<0>
      Src: /src/botan/src/tests/test_tls_messages.cpp:432,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:433,1
    - Dst: Botan::get_byte<1>
      Src: /src/botan/src/tests/test_tls_messages.cpp:433,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:435,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:435,1
    - Dst: ciphersuites
      Src: /src/botan/src/tests/test_tls_messages.cpp:438,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:439,1
    - Dst: Botan::get_byte<0>
      Src: /src/botan/src/tests/test_tls_messages.cpp:439,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:440,1
    - Dst: Botan::get_byte<1>
      Src: /src/botan/src/tests/test_tls_messages.cpp:440,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:442,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:444,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/botan/src/tests/test_tls_messages.cpp:446,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:448,1
    - Dst: what
      Src: /src/botan/src/tests/test_tls_messages.cpp:448,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:449,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_tls_messages.cpp:454,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/tests/test_tls_messages.cpp:456,1
    - Dst: Botan::make_uint16
      Src: /src/botan/src/tests/test_tls_messages.cpp:456,1
    - Dst: std::visit
      Src: /src/botan/src/tests/test_tls_messages.cpp:460,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:463,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:464,1
    - Dst: legacy_version
      Src: /src/botan/src/tests/test_tls_messages.cpp:464,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:466,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:468,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:471,1
    - Dst: ciphersuite
      Src: /src/botan/src/tests/test_tls_messages.cpp:471,1
    - Dst: Botan::TLS::Ciphersuite::ciphersuite_code
      Src: /src/botan/src/tests/test_tls_messages.cpp:471,1
    - Dst: extensions
      Src: /src/botan/src/tests/test_tls_messages.cpp:474,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:476,1
    - Dst: Botan::get_byte<0>
      Src: /src/botan/src/tests/test_tls_messages.cpp:476,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_tls_messages.cpp:477,1
    - Dst: Botan::get_byte<1>
      Src: /src/botan/src/tests/test_tls_messages.cpp:477,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:479,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_tls_messages.cpp:479,1
    - Dst: Botan::TLS::Server_Hello_13::parse
      Src: /src/botan/src/tests/test_tls_messages.cpp:481,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_tls_messages.cpp:483,1
    - Dst: what
      Src: /src/botan/src/tests/test_tls_messages.cpp:483,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_tls_messages.cpp:484,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 2
    argNames:
    - ' algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 489
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 489
    functionName: Botan_Tests::TLS_13_Message_Parsing_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_tls_messages.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Botan::make_uint16
    - std::vector::push_back
    - Botan::get_byte<0>
    - Test::Result::test_eq
    - Botan::TLS::Ciphersuite::ciphersuite_code
    - what
    - Test::Result::confirm
    - legacy_version
    - get_req_bin
    - get_opt_bin
    - extensions
    - ciphersuite
    - ciphersuites
    - get_req_str
    - std::visit
    - Botan::hex_encode
    - Botan::get_byte<1>
    - Botan::TLS::Server_Hello_13::parse
    - get_opt_str
    - Botan::TLS::Ciphersuite::by_id
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:39,1
    - Dst: Botan_Tests::Filter_Tests::test_secqueue
      Src: /src/botan/src/tests/test_filters.cpp:39,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:40,1
    - Dst: Botan_Tests::Filter_Tests::test_data_src_sink
      Src: /src/botan/src/tests/test_filters.cpp:40,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:41,1
    - Dst: Botan_Tests::Filter_Tests::test_data_src_sink_flush
      Src: /src/botan/src/tests/test_filters.cpp:41,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:42,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_io
      Src: /src/botan/src/tests/test_filters.cpp:42,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:43,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_fd_io
      Src: /src/botan/src/tests/test_filters.cpp:43,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:44,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_errors
      Src: /src/botan/src/tests/test_filters.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:45,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_hash
      Src: /src/botan/src/tests/test_filters.cpp:45,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:46,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_mac
      Src: /src/botan/src/tests/test_filters.cpp:46,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:47,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_stream
      Src: /src/botan/src/tests/test_filters.cpp:47,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:48,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_cbc
      Src: /src/botan/src/tests/test_filters.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:49,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_cfb
      Src: /src/botan/src/tests/test_filters.cpp:49,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:50,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_compress
      Src: /src/botan/src/tests/test_filters.cpp:50,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:51,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_compress_bzip2
      Src: /src/botan/src/tests/test_filters.cpp:51,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:52,1
    - Dst: Botan_Tests::Filter_Tests::test_pipe_codec
      Src: /src/botan/src/tests/test_filters.cpp:52,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:53,1
    - Dst: Botan_Tests::Filter_Tests::test_fork
      Src: /src/botan/src/tests/test_filters.cpp:53,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:54,1
    - Dst: Botan_Tests::Filter_Tests::test_chain
      Src: /src/botan/src/tests/test_filters.cpp:54,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_filters.cpp:55,1
    - Dst: Botan_Tests::Filter_Tests::test_threaded_fork
      Src: /src/botan/src/tests/test_filters.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 58
    functionName: Botan_Tests::Filter_Tests::run
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Filter_Tests::test_pipe_compress
    - Botan_Tests::Filter_Tests::test_pipe_mac
    - Botan_Tests::Filter_Tests::test_fork
    - Botan_Tests::Filter_Tests::test_pipe_errors
    - Botan_Tests::Filter_Tests::test_pipe_cfb
    - Botan_Tests::Filter_Tests::test_threaded_fork
    - Botan_Tests::Filter_Tests::test_pipe_cbc
    - Botan_Tests::Filter_Tests::test_pipe_hash
    - Botan_Tests::Filter_Tests::test_data_src_sink_flush
    - Botan_Tests::Filter_Tests::test_pipe_io
    - Botan_Tests::Filter_Tests::test_pipe_fd_io
    - Botan_Tests::Filter_Tests::test_secqueue
    - std::vector::push_back
    - Botan_Tests::Filter_Tests::test_data_src_sink
    - Botan_Tests::Filter_Tests::test_pipe_compress_bzip2
    - Botan_Tests::Filter_Tests::test_chain
    - Botan_Tests::Filter_Tests::test_pipe_stream
    - Botan_Tests::Filter_Tests::test_pipe_codec
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SecureQueue::SecureQueue
      Src: /src/botan/src/tests/test_filters.cpp:65,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:66,1
    - Dst: Botan::SecureQueue::attachable
      Src: /src/botan/src/tests/test_filters.cpp:66,1
    - Dst: Botan::SecureQueue::write
      Src: /src/botan/src/tests/test_filters.cpp:69,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/test_filters.cpp:69,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_filters.cpp:69,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:71,1
    - Dst: Botan::SecureQueue::size
      Src: /src/botan/src/tests/test_filters.cpp:71,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_filters.cpp:71,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:72,1
    - Dst: Botan::SecureQueue::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:72,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:75,1
    - Dst: Botan::SecureQueue::check_available
      Src: /src/botan/src/tests/test_filters.cpp:75,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:76,1
    - Dst: Botan::SecureQueue::check_available
      Src: /src/botan/src/tests/test_filters.cpp:76,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:78,1
    - Dst: std::vector::at
      Src: /src/botan/src/tests/test_filters.cpp:81,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:82,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:84,1
    - Dst: Botan::SecureQueue::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:84,1
    - Dst: Botan::SecureQueue::SecureQueue
      Src: /src/botan/src/tests/test_filters.cpp:86,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:88,1
    - Dst: Botan::SecureQueue::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:88,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_filters.cpp:90,1
    - Dst: what
      Src: /src/botan/src/tests/test_filters.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 94
    functionName: Botan_Tests::Filter_Tests::test_secqueue
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::SecureQueue::get_bytes_read
    - Botan::SecureQueue::size
    - std::vector::size
    - Botan::SecureQueue::attachable
    - what
    - Botan::SecureQueue::write
    - Test::Result::test_failure
    - Botan::SecureQueue::SecureQueue
    - Botan::SecureQueue::check_available
    - Test::Result::test_eq
    - std::vector::at
    - std::vector::data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_secqueue()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Hex_Decoder::Hex_Decoder
      Src: /src/botan/src/tests/test_filters.cpp:102,1
    - Dst: Botan::DataSink_Stream::DataSink_Stream
      Src: /src/botan/src/tests/test_filters.cpp:102,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:105,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:107,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_filters.cpp:107,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:110,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:112,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_filters.cpp:112,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:116,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:118,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_filters.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 121
    functionName: Botan_Tests::Filter_Tests::test_data_src_sink
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::Hex_Decoder::Hex_Decoder
    - std::ostringstream::str
    - Botan::DataSink_Stream::DataSink_Stream
    - Test::Result::test_eq
    - Botan::Pipe::process_msg
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_data_src_sink()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::temp_file_name
      Src: /src/botan/src/tests/test_filters.cpp:128,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/test_filters.cpp:129,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_filters.cpp:130,1
    - Dst: Botan::Hex_Decoder::Hex_Decoder
      Src: /src/botan/src/tests/test_filters.cpp:136,1
    - Dst: Botan::DataSink_Stream::DataSink_Stream
      Src: /src/botan/src/tests/test_filters.cpp:136,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:139,1
    - Dst: std::ifstream::rdbuf
      Src: /src/botan/src/tests/test_filters.cpp:143,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:145,1
    - Dst: std::stringstream::str
      Src: /src/botan/src/tests/test_filters.cpp:145,1
    - Dst: std::ofstream::close
      Src: /src/botan/src/tests/test_filters.cpp:148,1
    - Dst: std::ifstream::close
      Src: /src/botan/src/tests/test_filters.cpp:149,1
    - Dst: std::remove
      Src: /src/botan/src/tests/test_filters.cpp:151,1
    - Dst: std::string::c_str
      Src: /src/botan/src/tests/test_filters.cpp:151,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_filters.cpp:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 156
    functionName: Botan_Tests::Filter_Tests::test_data_src_sink_flush
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - std::ifstream::close
    - Botan::Hex_Decoder::Hex_Decoder
    - std::remove
    - Botan_Tests::Test::temp_file_name
    - std::ifstream::rdbuf
    - std::ofstream::close
    - Test::Result::test_failure
    - std::string::c_str
    - std::string::empty
    - std::stringstream::str
    - Botan::DataSink_Stream::DataSink_Stream
    - Test::Result::test_eq
    - Botan::Pipe::process_msg
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_data_src_sink_flush()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Hex_Encoder::Hex_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:162,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:164,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:168,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_filters.cpp:168,1
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/tests/test_filters.cpp:171,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/tests/test_filters.cpp:173,1
    - Dst: Botan::Pipe::set_default_msg
      Src: /src/botan/src/tests/test_filters.cpp:175,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:177,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/test_filters.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 181
    functionName: Botan_Tests::Filter_Tests::test_pipe_io
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::Hex_Encoder::Hex_Encoder
    - std::ostringstream::str
    - Botan::Pipe::set_default_msg
    - Botan::Pipe::end_msg
    - Test::Result::test_eq
    - Botan::Pipe::start_msg
    - Botan::Pipe::process_msg
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_io()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::Pipe
      Src: /src/botan/src/tests/test_filters.cpp:186,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:188,1
    - Dst: Botan::Pipe::append_filter
      Src: /src/botan/src/tests/test_filters.cpp:189,1
    - Dst: Botan::Pipe::prepend
      Src: /src/botan/src/tests/test_filters.cpp:190,1
    - Dst: Botan::Pipe::prepend_filter
      Src: /src/botan/src/tests/test_filters.cpp:191,1
    - Dst: Botan::Pipe::pop
      Src: /src/botan/src/tests/test_filters.cpp:192,1
    - Dst: std::make_shared<Botan::SecureQueue>
      Src: /src/botan/src/tests/test_filters.cpp:194,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:197,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:198,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_filters.cpp:198,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:200,1
    - Dst: Botan::Pipe::prepend
      Src: /src/botan/src/tests/test_filters.cpp:201,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_filters.cpp:201,1
    - Dst: Botan::Pipe::append_filter
      Src: /src/botan/src/tests/test_filters.cpp:203,1
    - Dst: Botan::BitBucket::BitBucket
      Src: /src/botan/src/tests/test_filters.cpp:203,1
    - Dst: Botan::Pipe::pop
      Src: /src/botan/src/tests/test_filters.cpp:204,1
    - Dst: Botan::Pipe::prepend_filter
      Src: /src/botan/src/tests/test_filters.cpp:206,1
    - Dst: Botan::BitBucket::BitBucket
      Src: /src/botan/src/tests/test_filters.cpp:206,1
    - Dst: Botan::Pipe::pop
      Src: /src/botan/src/tests/test_filters.cpp:207,1
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/tests/test_filters.cpp:209,1
    - Dst: std::make_unique<Botan::BitBucket>
      Src: /src/botan/src/tests/test_filters.cpp:211,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:215,1
    - Dst: Botan::Pipe::append_filter
      Src: /src/botan/src/tests/test_filters.cpp:216,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_filters.cpp:216,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:219,1
    - Dst: Botan::Pipe::prepend_filter
      Src: /src/botan/src/tests/test_filters.cpp:220,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_filters.cpp:220,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:223,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:224,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_filters.cpp:224,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:226,1
    - Dst: Botan::Pipe::prepend
      Src: /src/botan/src/tests/test_filters.cpp:227,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_filters.cpp:227,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:229,1
    - Dst: Botan::Pipe::pop
      Src: /src/botan/src/tests/test_filters.cpp:229,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/tests/test_filters.cpp:231,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:233,1
    - Dst: Botan::Pipe::append_filter
      Src: /src/botan/src/tests/test_filters.cpp:234,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_filters.cpp:234,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:237,1
    - Dst: Botan::Pipe::prepend_filter
      Src: /src/botan/src/tests/test_filters.cpp:238,1
    - Dst: auto::get
      Src: /src/botan/src/tests/test_filters.cpp:238,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:241,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_filters.cpp:244,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:247,1
    - Dst: Botan::Pipe::prepend
      Src: /src/botan/src/tests/test_filters.cpp:248,1
    - Dst: Botan::Pipe::pop
      Src: /src/botan/src/tests/test_filters.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 252
    functionName: Botan_Tests::Filter_Tests::test_pipe_errors
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::BitBucket::BitBucket
    - Botan::Pipe::pop
    - Test::Result::test_throws
    - std::make_unique<Botan::BitBucket>
    - std::make_shared<Botan::SecureQueue>
    - Botan::Pipe::Pipe
    - Botan::Pipe::append_filter
    - Botan::Pipe::end_msg
    - Botan::Pipe::append
    - BOTAN_UNUSED
    - Botan::Pipe::prepend
    - Botan::Pipe::start_msg
    - auto::get
    - Botan::Pipe::prepend_filter
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_errors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MAC_Filter::MAC_Filter
      Src: /src/botan/src/tests/test_filters.cpp:260,1
    - Dst: Botan::Keyed_Filter*::set_iv
      Src: /src/botan/src/tests/test_filters.cpp:262,1
    - Dst: Botan::InitializationVector
      Src: /src/botan/src/tests/test_filters.cpp:262,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_filters.cpp:264,1
    - Dst: Botan::Keyed_Filter*::set_iv
      Src: /src/botan/src/tests/test_filters.cpp:266,1
    - Dst: Botan::InitializationVector
      Src: /src/botan/src/tests/test_filters.cpp:266,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:270,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:271,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:272,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:274,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:274,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:275,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:275,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:276,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 279
    functionName: Botan_Tests::Filter_Tests::test_pipe_mac
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Test::Result::test_throws
    - Botan::Keyed_Filter*::set_iv
    - Botan::InitializationVector
    - Botan::Pipe::read_all_as_string
    - Test::Result::test_eq
    - Botan::MAC_Filter::MAC_Filter
    - Botan::Pipe::process_msg
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_mac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Hash_Filter::Hash_Filter
      Src: /src/botan/src/tests/test_filters.cpp:286,1
    - Dst: Botan::Hash_Filter::Hash_Filter
      Src: /src/botan/src/tests/test_filters.cpp:286,1
    - Dst: Botan::Chain::Chain
      Src: /src/botan/src/tests/test_filters.cpp:286,1
    - Dst: Botan::Pipe::pop
      Src: /src/botan/src/tests/test_filters.cpp:287,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:289,1
    - Dst: Botan::Hash_Filter::Hash_Filter
      Src: /src/botan/src/tests/test_filters.cpp:289,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:291,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:291,1
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/tests/test_filters.cpp:293,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/tests/test_filters.cpp:295,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/tests/test_filters.cpp:296,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_filters.cpp:296,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/tests/test_filters.cpp:297,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/tests/test_filters.cpp:298,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:300,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:300,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:301,1
    - Dst: Botan::Pipe::remaining
      Src: /src/botan/src/tests/test_filters.cpp:301,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:305,1
    - Dst: Botan::Pipe::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:305,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:306,1
    - Dst: Botan::Pipe::end_of_data
      Src: /src/botan/src/tests/test_filters.cpp:306,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:307,1
    - Dst: Botan::Pipe::read
      Src: /src/botan/src/tests/test_filters.cpp:307,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:308,1
    - Dst: Botan::Pipe::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:308,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:309,1
    - Dst: Botan::Pipe::peek
      Src: /src/botan/src/tests/test_filters.cpp:309,1
    - Dst: data
      Src: /src/botan/src/tests/test_filters.cpp:309,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:310,1
    - Dst: Botan::Pipe::read
      Src: /src/botan/src/tests/test_filters.cpp:310,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:311,1
    - Dst: Botan::Pipe::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:311,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:312,1
    - Dst: Botan::Pipe::remaining
      Src: /src/botan/src/tests/test_filters.cpp:312,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:313,1
    - Dst: Botan::Pipe::remaining
      Src: /src/botan/src/tests/test_filters.cpp:313,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:314,1
    - Dst: Botan::Pipe::read
      Src: /src/botan/src/tests/test_filters.cpp:314,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:315,1
    - Dst: Botan::Pipe::read
      Src: /src/botan/src/tests/test_filters.cpp:315,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:316,1
    - Dst: Botan::Pipe::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:316,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:317,1
    - Dst: Botan::Pipe::end_of_data
      Src: /src/botan/src/tests/test_filters.cpp:317,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:319,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:320,1
    - Dst: Botan::Pipe::reset
      Src: /src/botan/src/tests/test_filters.cpp:322,1
    - Dst: Botan::Pipe::prepend
      Src: /src/botan/src/tests/test_filters.cpp:325,1
    - Dst: Botan::Hash_Filter::Hash_Filter
      Src: /src/botan/src/tests/test_filters.cpp:325,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:326,1
    - Dst: Botan::Hash_Filter::Hash_Filter
      Src: /src/botan/src/tests/test_filters.cpp:326,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:327,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_filters.cpp:327,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:328,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 332
    functionName: Botan_Tests::Filter_Tests::test_pipe_hash
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::Pipe::read_all
    - Botan::Hash_Filter::Hash_Filter
    - Botan::Chain::Chain
    - std::vector<uint8_t>
    - Botan::Pipe::end_msg
    - Botan::Pipe::append
    - Botan::Pipe::get_bytes_read
    - Test::Result::test_eq
    - Botan::Pipe::reset
    - Botan::Pipe::pop
    - Botan::Pipe::write
    - data
    - Botan::Pipe::prepend
    - Botan::Pipe::peek
    - Botan::Pipe::remaining
    - Botan::Pipe::process_msg
    - Botan::Pipe::message_count
    - Botan::Pipe::read
    - Botan::Pipe::start_msg
    - Botan::Pipe::end_of_data
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cipher
      Src: /src/botan/src/tests/test_filters.cpp:364,1
    - Dst: get_cipher
      Src: /src/botan/src/tests/test_filters.cpp:367,1
    - Dst: Botan::Keyed_Filter*::set_iv
      Src: /src/botan/src/tests/test_filters.cpp:368,1
    - Dst: Botan::Hex_Decoder::Hex_Decoder
      Src: /src/botan/src/tests/test_filters.cpp:369,1
    - Dst: Botan::Hex_Encoder::Hex_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:369,1
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/tests/test_filters.cpp:372,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/tests/test_filters.cpp:373,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/tests/test_filters.cpp:374,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:376,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:379,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:379,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:380,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:380,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:382,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:383,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:383,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:386,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:387,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:387,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/test_filters.cpp:387,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 392
    functionName: Botan_Tests::Filter_Tests::test_pipe_cfb
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::Hex_Decoder::Hex_Decoder
    - Botan::Hex_Encoder::Hex_Encoder
    - Botan::Keyed_Filter*::set_iv
    - Botan::Pipe::write
    - Botan::Pipe::message_count
    - Botan::Pipe::read_all_as_string
    - Botan::Pipe::end_msg
    - Botan::hex_encode
    - Test::Result::test_eq
    - Botan::Pipe::start_msg
    - Botan::Pipe::process_msg
    - get_cipher
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_cfb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_filters.cpp:399,1
    - Dst: Botan::Cipher_Mode_Filter::Cipher_Mode_Filter
      Src: /src/botan/src/tests/test_filters.cpp:398,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:401,1
    - Dst: Botan::Cipher_Mode_Filter*::name
      Src: /src/botan/src/tests/test_filters.cpp:401,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:403,1
    - Dst: Botan::Cipher_Mode_Filter*::valid_iv_length
      Src: /src/botan/src/tests/test_filters.cpp:403,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:404,1
    - Dst: Botan::Cipher_Mode_Filter*::valid_iv_length
      Src: /src/botan/src/tests/test_filters.cpp:404,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:406,1
    - Dst: Botan::Cipher_Mode_Filter*::key_spec
      Src: /src/botan/src/tests/test_filters.cpp:406,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:407,1
    - Dst: Botan::Cipher_Mode_Filter*::key_spec
      Src: /src/botan/src/tests/test_filters.cpp:407,1
    - Dst: Botan::Cipher_Mode_Filter*::set_key
      Src: /src/botan/src/tests/test_filters.cpp:412,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/tests/test_filters.cpp:412,1
    - Dst: Botan::Cipher_Mode_Filter*::set_iv
      Src: /src/botan/src/tests/test_filters.cpp:413,1
    - Dst: Botan::InitializationVector
      Src: /src/botan/src/tests/test_filters.cpp:413,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:415,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:417,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:417,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:418,1
    - Dst: Botan::Pipe::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:418,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:419,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:420,1
    - Dst: Botan::Pipe::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:420,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_filters.cpp:420,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:422,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:424,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:425,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:426,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:427,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:430,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:431,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_filters.cpp:434,1
    - Dst: Botan::Cipher_Mode_Filter::Cipher_Mode_Filter
      Src: /src/botan/src/tests/test_filters.cpp:433,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:435,1
    - Dst: Botan::Cipher_Mode_Filter*::set_key
      Src: /src/botan/src/tests/test_filters.cpp:436,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/tests/test_filters.cpp:436,1
    - Dst: Botan::Cipher_Mode_Filter*::set_iv
      Src: /src/botan/src/tests/test_filters.cpp:437,1
    - Dst: Botan::InitializationVector
      Src: /src/botan/src/tests/test_filters.cpp:437,1
    - Dst: Botan::Cipher_Mode_Filter*::set_iv
      Src: /src/botan/src/tests/test_filters.cpp:440,1
    - Dst: Botan::InitializationVector
      Src: /src/botan/src/tests/test_filters.cpp:440,1
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/tests/test_filters.cpp:444,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/tests/test_filters.cpp:445,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/tests/test_filters.cpp:446,1
    - Dst: Botan::Pipe::set_default_msg
      Src: /src/botan/src/tests/test_filters.cpp:448,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:449,1
    - Dst: Botan::Pipe::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:449,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:450,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:451,1
    - Dst: Botan::Pipe::get_bytes_read
      Src: /src/botan/src/tests/test_filters.cpp:451,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/tests/test_filters.cpp:451,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 456
    functionName: Botan_Tests::Filter_Tests::test_pipe_cbc
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::Cipher_Mode_Filter*::set_key
    - Botan::Pipe::read_all
    - Botan::Pipe::end_msg
    - Botan::Pipe::append
    - Botan::Pipe::get_bytes_read
    - Test::Result::test_eq
    - Botan::Cipher_Mode_Filter::Cipher_Mode_Filter
    - Botan::Cipher_Mode::create
    - Botan::Pipe::write
    - Botan::InitializationVector
    - Botan::Cipher_Mode_Filter*::set_iv
    - Botan::Pipe::set_default_msg
    - Botan::secure_vector::size
    - Botan::Cipher_Mode_Filter*::name
    - Botan::SymmetricKey
    - Botan::Cipher_Mode_Filter*::key_spec
    - Botan::Pipe::process_msg
    - Botan::Pipe::message_count
    - Botan::Cipher_Mode_Filter*::valid_iv_length
    - auto::size
    - Botan::Pipe::start_msg
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_cbc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::Compression_Filter>
      Src: /src/botan/src/tests/test_filters.cpp:463,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:465,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_filters.cpp:465,1
    - Dst: auto::release
      Src: /src/botan/src/tests/test_filters.cpp:466,1
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/tests/test_filters.cpp:470,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/tests/test_filters.cpp:471,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/tests/test_filters.cpp:472,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:474,1
    - Dst: Test::Result::test_lt
      Src: /src/botan/src/tests/test_filters.cpp:476,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_filters.cpp:476,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_filters.cpp:476,1
    - Dst: std::make_unique<Botan::Decompression_Filter>
      Src: /src/botan/src/tests/test_filters.cpp:478,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:479,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_filters.cpp:479,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:480,1
    - Dst: auto::release
      Src: /src/botan/src/tests/test_filters.cpp:480,1
    - Dst: Botan::Pipe::pop
      Src: /src/botan/src/tests/test_filters.cpp:481,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:483,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:485,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 490
    functionName: Botan_Tests::Filter_Tests::test_pipe_compress
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - auto::name
    - Botan::Pipe::pop
    - std::string::size
    - auto::release
    - Botan::Pipe::write
    - Botan::Pipe::read_all
    - Botan::Pipe::read_all_as_string
    - Botan::Pipe::end_msg
    - Botan::Pipe::append
    - Botan::Pipe::process_msg
    - auto::size
    - Test::Result::test_eq
    - Botan::Pipe::start_msg
    - std::make_unique<Botan::Decompression_Filter>
    - Test::Result::test_lt
    - std::make_unique<Botan::Compression_Filter>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_compress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::Compression_Filter>
      Src: /src/botan/src/tests/test_filters.cpp:497,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:499,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_filters.cpp:499,1
    - Dst: auto::release
      Src: /src/botan/src/tests/test_filters.cpp:500,1
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/tests/test_filters.cpp:504,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/tests/test_filters.cpp:505,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/tests/test_filters.cpp:506,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:508,1
    - Dst: std::make_unique<Botan::Decompression_Filter>
      Src: /src/botan/src/tests/test_filters.cpp:511,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:512,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_filters.cpp:512,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:513,1
    - Dst: auto::release
      Src: /src/botan/src/tests/test_filters.cpp:513,1
    - Dst: Botan::Pipe::pop
      Src: /src/botan/src/tests/test_filters.cpp:514,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:516,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:518,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 523
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 523
    functionName: Botan_Tests::Filter_Tests::test_pipe_compress_bzip2
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - auto::name
    - Botan::Pipe::pop
    - auto::release
    - Botan::Pipe::write
    - Botan::Pipe::read_all
    - Botan::Pipe::read_all_as_string
    - Botan::Pipe::end_msg
    - Botan::Pipe::append
    - Test::Result::test_eq
    - Botan::Pipe::start_msg
    - std::make_unique<Botan::Decompression_Filter>
    - Botan::Pipe::process_msg
    - std::make_unique<Botan::Compression_Filter>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_compress_bzip2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Base64_Encoder::Base64_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:529,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:531,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:531,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:533,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:535,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:535,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:536,1
    - Dst: Botan::Pipe::remaining
      Src: /src/botan/src/tests/test_filters.cpp:536,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:538,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:539,1
    - Dst: Botan::Pipe::remaining
      Src: /src/botan/src/tests/test_filters.cpp:539,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:540,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:542,1
    - Dst: Botan::Base64_Decoder::Base64_Decoder
      Src: /src/botan/src/tests/test_filters.cpp:542,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:543,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:545,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:545,1
    - Dst: Botan::Pipe::pop
      Src: /src/botan/src/tests/test_filters.cpp:547,1
    - Dst: Botan::Pipe::pop
      Src: /src/botan/src/tests/test_filters.cpp:548,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:551,1
    - Dst: Botan::Pipe::set_default_msg
      Src: /src/botan/src/tests/test_filters.cpp:553,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:554,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:554,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:556,1
    - Dst: Botan::Hex_Decoder::Hex_Decoder
      Src: /src/botan/src/tests/test_filters.cpp:556,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:558,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:559,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:560,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:562,1
    - Dst: Botan::Hex_Encoder::Hex_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:562,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:563,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:564,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:564,1
    - Dst: Botan::Pipe::reset
      Src: /src/botan/src/tests/test_filters.cpp:568,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:569,1
    - Dst: Botan::Hex_Decoder::Hex_Decoder
      Src: /src/botan/src/tests/test_filters.cpp:569,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:570,1
    - Dst: Botan::Base64_Encoder::Base64_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:570,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:574,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:575,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:576,1
    - Dst: Botan::Pipe::reset
      Src: /src/botan/src/tests/test_filters.cpp:578,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:579,1
    - Dst: Botan::Hex_Decoder::Hex_Decoder
      Src: /src/botan/src/tests/test_filters.cpp:579,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:580,1
    - Dst: Botan::Base64_Encoder::Base64_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:580,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:581,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:582,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:582,1
    - Dst: Botan::Pipe::reset
      Src: /src/botan/src/tests/test_filters.cpp:584,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:585,1
    - Dst: Botan::Hex_Encoder::Hex_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:585,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:586,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:587,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:588,1
    - Dst: Botan::Pipe::reset
      Src: /src/botan/src/tests/test_filters.cpp:591,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:592,1
    - Dst: Botan::Hex_Encoder::Hex_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:592,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:593,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:594,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 600
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 600
    functionName: Botan_Tests::Filter_Tests::test_pipe_codec
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::Pipe::pop
    - Botan::Hex_Decoder::Hex_Decoder
    - Botan::Hex_Encoder::Hex_Encoder
    - Botan::Pipe::read_all
    - Botan::Pipe::remaining
    - Botan::Base64_Decoder::Base64_Decoder
    - Botan::Pipe::read_all_as_string
    - Botan::Pipe::set_default_msg
    - Botan::Pipe::append
    - Botan::Base64_Encoder::Base64_Encoder
    - Test::Result::test_eq
    - Botan::Pipe::reset
    - Botan::Pipe::process_msg
    - Botan::Pipe::message_count
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher_Filter::StreamCipher_Filter
      Src: /src/botan/src/tests/test_filters.cpp:610,1
    - Dst: Botan::Keyed_Filter*::set_key
      Src: /src/botan/src/tests/test_filters.cpp:612,1
    - Dst: Botan::Keyed_Filter*::set_iv
      Src: /src/botan/src/tests/test_filters.cpp:613,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:615,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:617,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:617,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:618,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:618,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:620,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:621,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 624
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 624
    functionName: Botan_Tests::Filter_Tests::test_pipe_stream
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::Keyed_Filter*::set_iv
    - Botan::StreamCipher_Filter::StreamCipher_Filter
    - Botan::Pipe::read_all
    - Botan::Keyed_Filter*::set_key
    - Test::Result::test_eq
    - Botan::Pipe::process_msg
    - Botan::Pipe::message_count
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Hash_Filter::Hash_Filter
      Src: /src/botan/src/tests/test_filters.cpp:630,1
    - Dst: Botan::Hash_Filter::Hash_Filter
      Src: /src/botan/src/tests/test_filters.cpp:630,1
    - Dst: Botan::Fork::Fork
      Src: /src/botan/src/tests/test_filters.cpp:630,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:632,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:632,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:633,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:634,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:634,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:637,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:637,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:638,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 641
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 641
    functionName: Botan_Tests::Filter_Tests::test_fork
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 2
    functionsReached:
    - Botan::Pipe::read_all
    - Botan::Hash_Filter::Hash_Filter
    - Botan::Fork::Fork
    - Test::Result::test_eq
    - Botan::Pipe::process_msg
    - Botan::Pipe::message_count
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_fork()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Hash_Filter::Hash_Filter
      Src: /src/botan/src/tests/test_filters.cpp:648,1
    - Dst: Botan::Hex_Encoder::Hex_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:648,1
    - Dst: std::make_unique<Botan::Chain>
      Src: /src/botan/src/tests/test_filters.cpp:650,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:652,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_filters.cpp:652,1
    - Dst: std::make_unique<Botan::Fork>
      Src: /src/botan/src/tests/test_filters.cpp:654,1
    - Dst: auto::release
      Src: /src/botan/src/tests/test_filters.cpp:655,1
    - Dst: Botan::Hash_Filter::Hash_Filter
      Src: /src/botan/src/tests/test_filters.cpp:655,1
    - Dst: Botan::Hex_Encoder::Hex_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:655,1
    - Dst: Botan::Chain::Chain
      Src: /src/botan/src/tests/test_filters.cpp:655,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:657,1
    - Dst: auto::name
      Src: /src/botan/src/tests/test_filters.cpp:657,1
    - Dst: auto::release
      Src: /src/botan/src/tests/test_filters.cpp:658,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:660,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:660,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:661,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:662,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:662,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:664,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:665,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:666,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 670
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 670
    functionName: Botan_Tests::Filter_Tests::test_chain
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - auto::name
    - Botan::Hex_Encoder::Hex_Encoder
    - auto::release
    - std::make_unique<Botan::Chain>
    - std::make_unique<Botan::Fork>
    - Botan::Hash_Filter::Hash_Filter
    - Botan::Pipe::read_all_as_string
    - Test::Result::test_eq
    - Botan::Chain::Chain
    - Botan::Pipe::process_msg
    - Botan::Pipe::message_count
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_chain()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::pipe
      Src: /src/botan/src/tests/test_filters.cpp:677,1
    - Dst: Botan::Hex_Encoder::Hex_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:681,1
    - Dst: Botan::Hex_Decoder::Hex_Decoder
      Src: /src/botan/src/tests/test_filters.cpp:682,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:684,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/tests/test_filters.cpp:686,1
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/tests/test_filters.cpp:688,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/tests/test_filters.cpp:690,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/tests/test_filters.cpp:691,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:693,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 699
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 699
    functionName: Botan_Tests::Filter_Tests::test_pipe_fd_io
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::Hex_Encoder::Hex_Encoder
    - Botan::Hex_Decoder::Hex_Decoder
    - Botan::Pipe::read_all_as_string
    - Botan::TLS::Channel_Impl::close
    - Botan::Pipe::end_msg
    - ::pipe
    - Test::Result::test_eq
    - Botan::Pipe::start_msg
    - Botan::Pipe::process_msg
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_pipe_fd_io()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Hex_Encoder::Hex_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:705,1
    - Dst: Botan::Base64_Encoder::Base64_Encoder
      Src: /src/botan/src/tests/test_filters.cpp:705,1
    - Dst: Botan::Threaded_Fork::Threaded_Fork
      Src: /src/botan/src/tests/test_filters.cpp:705,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:707,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:707,1
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/tests/test_filters.cpp:708,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:709,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:709,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:712,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:712,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:713,1
    - Dst: Botan::Pipe::read_all_as_string
      Src: /src/botan/src/tests/test_filters.cpp:713,1
    - Dst: Botan::Pipe::reset
      Src: /src/botan/src/tests/test_filters.cpp:715,1
    - Dst: Botan::Hash_Filter::Hash_Filter
      Src: /src/botan/src/tests/test_filters.cpp:720,1
    - Dst: Botan::Pipe::append
      Src: /src/botan/src/tests/test_filters.cpp:723,1
    - Dst: Botan::Threaded_Fork::Threaded_Fork
      Src: /src/botan/src/tests/test_filters.cpp:723,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:725,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:725,1
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/tests/test_filters.cpp:727,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/tests/test_filters.cpp:729,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/tests/test_filters.cpp:730,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/tests/test_filters.cpp:732,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:734,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/tests/test_filters.cpp:734,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_filters.cpp:736,1
    - Dst: Botan::Pipe::read_all
      Src: /src/botan/src/tests/test_filters.cpp:737,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 741
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 741
    functionName: Botan_Tests::Filter_Tests::test_threaded_fork
    functionSourceFile: /src/botan/src/tests/test_filters.cpp
    functionUses: 1
    functionsReached:
    - Botan::Hex_Encoder::Hex_Encoder
    - Botan::Pipe::write
    - Botan::Pipe::read_all
    - Botan::Pipe::read_all_as_string
    - Botan::Hash_Filter::Hash_Filter
    - Botan::Threaded_Fork::Threaded_Fork
    - static_cast<uint8_t>
    - Botan::Pipe::end_msg
    - Botan::Pipe::append
    - Botan::Base64_Encoder::Base64_Encoder
    - Test::Result::test_eq
    - Botan::Pipe::start_msg
    - Botan::Pipe::reset
    - Botan::Pipe::process_msg
    - Botan::Pipe::message_count
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_threaded_fork()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan_Tests::Dilithium_KAT_Tests::Dilithium_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_dilithium.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Dilithium_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_dilithium.cpp:39,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_dilithium.cpp:40,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_dilithium.cpp:41,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_dilithium.cpp:42,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_dilithium.cpp:43,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_dilithium.cpp:44,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/tests/test_dilithium.cpp:46,1
    - Dst: std::make_unique<CTR_DRBG_AES256>
      Src: /src/botan/src/tests/test_dilithium.cpp:48,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dilithium.cpp:52,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_dilithium.cpp:53,1
    - Dst: Botan::Dilithium_PrivateKey::private_key_bits
      Src: /src/botan/src/tests/test_dilithium.cpp:53,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dilithium.cpp:55,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_dilithium.cpp:56,1
    - Dst: Botan::Dilithium_PrivateKey::public_key_bits
      Src: /src/botan/src/tests/test_dilithium.cpp:56,1
    - Dst: Botan::PK_Signer::PK_Signer
      Src: /src/botan/src/tests/test_dilithium.cpp:58,1
    - Dst: auto::sign_message
      Src: /src/botan/src/tests/test_dilithium.cpp:59,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_dilithium.cpp:59,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_dilithium.cpp:59,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dilithium.cpp:61,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_dilithium.cpp:61,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_dilithium.cpp:62,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dilithium.cpp:63,1
    - Dst: Botan::Dilithium_PrivateKey::public_key_bits
      Src: /src/botan/src/tests/test_dilithium.cpp:66,1
    - Dst: Botan::PK_Verifier::PK_Verifier
      Src: /src/botan/src/tests/test_dilithium.cpp:67,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_dilithium.cpp:68,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_dilithium.cpp:68,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_dilithium.cpp:68,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:69,1
    - Dst: auto::check_signature
      Src: /src/botan/src/tests/test_dilithium.cpp:69,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_dilithium.cpp:69,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_dilithium.cpp:69,1
    - Dst: Botan_Tests::Test::mutate_vec
      Src: /src/botan/src/tests/test_dilithium.cpp:72,1
    - Dst: Botan_Tests::Dilithium_KAT_Tests::rng
      Src: /src/botan/src/tests/test_dilithium.cpp:72,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:73,1
    - Dst: auto::check_signature
      Src: /src/botan/src/tests/test_dilithium.cpp:74,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_dilithium.cpp:74,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_dilithium.cpp:74,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_dilithium.cpp:76,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_dilithium.cpp:76,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_dilithium.cpp:76,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:77,1
    - Dst: auto::check_signature
      Src: /src/botan/src/tests/test_dilithium.cpp:77,1
    - Dst: auto::data
      Src: /src/botan/src/tests/test_dilithium.cpp:77,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_dilithium.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ' name'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 80
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 80
    functionName: Botan_Tests::Dilithium_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_dilithium.cpp
    functionUses: 0
    functionsReached:
    - auto::check_signature
    - Botan::PK_Verifier::PK_Verifier
    - Botan::PK_Signer::PK_Signer
    - Test::Result::test_eq
    - auto::process
    - Botan::HashFunction::create_or_throw
    - Test::Result::confirm
    - auto::update
    - Botan::Dilithium_PrivateKey::private_key_bits
    - get_req_bin
    - get_opt_bin
    - auto::sign_message
    - Botan::Dilithium_PrivateKey::public_key_bits
    - std::make_unique<CTR_DRBG_AES256>
    - Botan_Tests::Dilithium_KAT_Tests::rng
    - auto::data
    - auto::size
    - auto::empty
    - Botan_Tests::Test::mutate_vec
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& name, const VarMap& vars)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumMode::is_available
      Src: /src/botan/src/tests/test_dilithium.cpp:135,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_dilithium.cpp:136,1
    - Dst: Botan::DilithiumMode::to_string
      Src: /src/botan/src/tests/test_dilithium.cpp:136,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_dilithium.cpp:140,1
    - Dst: Botan::PK_Signer::PK_Signer
      Src: /src/botan/src/tests/test_dilithium.cpp:144,1
    - Dst: auto::sign_message
      Src: /src/botan/src/tests/test_dilithium.cpp:145,1
    - Dst: Botan::PK_Verifier::PK_Verifier
      Src: /src/botan/src/tests/test_dilithium.cpp:149,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_dilithium.cpp:150,1
    - Dst: auto::check_signature
      Src: /src/botan/src/tests/test_dilithium.cpp:151,1
    - Dst: std::string::data
      Src: /src/botan/src/tests/test_dilithium.cpp:155,1
    - Dst: std::string::data
      Src: /src/botan/src/tests/test_dilithium.cpp:155,1
    - Dst: std::string::size
      Src: /src/botan/src/tests/test_dilithium.cpp:155,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dilithium.cpp:160,1
    - Dst: Botan::Dilithium_PrivateKey::estimated_strength
      Src: /src/botan/src/tests/test_dilithium.cpp:160,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dilithium.cpp:161,1
    - Dst: Botan::Dilithium_PrivateKey::key_length
      Src: /src/botan/src/tests/test_dilithium.cpp:161,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dilithium.cpp:162,1
    - Dst: estimated_strength
      Src: /src/botan/src/tests/test_dilithium.cpp:162,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dilithium.cpp:163,1
    - Dst: key_length
      Src: /src/botan/src/tests/test_dilithium.cpp:163,1
    - Dst: sign
      Src: /src/botan/src/tests/test_dilithium.cpp:165,1
    - Dst: Botan::Dilithium_PrivateKey::private_key_bits
      Src: /src/botan/src/tests/test_dilithium.cpp:167,1
    - Dst: Botan::Dilithium_PrivateKey::public_key_bits
      Src: /src/botan/src/tests/test_dilithium.cpp:168,1
    - Dst: sign
      Src: /src/botan/src/tests/test_dilithium.cpp:173,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:175,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:175,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:176,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:176,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:177,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:177,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:178,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:178,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:179,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:179,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:180,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:180,1
    - Dst: auto::front
      Src: /src/botan/src/tests/test_dilithium.cpp:183,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:184,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:184,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:185,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:185,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:186,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:187,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:188,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:189,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:190,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:190,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:191,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:191,1
    - Dst: Botan::load_public_key
      Src: /src/botan/src/tests/test_dilithium.cpp:194,1
    - Dst: algorithm_identifier
      Src: /src/botan/src/tests/test_dilithium.cpp:194,1
    - Dst: Botan::load_private_key
      Src: /src/botan/src/tests/test_dilithium.cpp:196,1
    - Dst: Botan::Dilithium_PrivateKey::algorithm_identifier
      Src: /src/botan/src/tests/test_dilithium.cpp:196,1
    - Dst: Test::Result::test_not_null
      Src: /src/botan/src/tests/test_dilithium.cpp:198,1
    - Dst: Test::Result::test_not_null
      Src: /src/botan/src/tests/test_dilithium.cpp:199,1
    - Dst: sign
      Src: /src/botan/src/tests/test_dilithium.cpp:201,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:203,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:204,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:205,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:206,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_dilithium.cpp:207,1
    - Dst: verify
      Src: /src/botan/src/tests/test_dilithium.cpp:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 5
    argNames:
    - test_name
    - mode
    - randomized
    - strength
    - psid
    argTypes:
    - char*
    - Botan::DilithiumMode
    - bool
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 211
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 211
    functionName: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
    functionSourceFile: /src/botan/src/tests/test_dilithium.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - Botan::DilithiumMode::is_available
    - auto::check_signature
    - Botan::PK_Verifier::PK_Verifier
    - Botan::PK_Signer::PK_Signer
    - Test::Result::test_eq
    - Botan::Dilithium_PrivateKey::key_length
    - std::string::data
    - auto::front
    - Botan::Dilithium_PrivateKey::estimated_strength
    - key_length
    - sign
    - Botan::DilithiumMode::to_string
    - Test::Result::confirm
    - auto::update
    - Botan::Dilithium_PrivateKey::private_key_bits
    - estimated_strength
    - auto::sign_message
    - verify
    - Botan::Dilithium_PrivateKey::public_key_bits
    - Botan_Tests::Test::new_rng
    - Botan::load_public_key
    - algorithm_identifier
    - Botan::Dilithium_PrivateKey::algorithm_identifier
    - Test::Result::test_not_null
    - Test::Result::note_missing
    - Botan::load_private_key
    linkageType: ''
    returnType: Test::Result
    signature: "Test::Result run_roundtrip(\n         const char* test_name, Botan::DilithiumMode
      mode, bool randomized, size_t strength, size_t psid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:215,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:216,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:217,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:218,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:219,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:220,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:221,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:222,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:223,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:224,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:225,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:226,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:227,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:228,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:229,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:230,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:231,1
    - Dst: Botan_Tests::DilithiumRoundtripTests::run_roundtrip
      Src: /src/botan/src/tests/test_dilithium.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 234
    functionName: Botan_Tests::DilithiumRoundtripTests::run
    functionSourceFile: /src/botan/src/tests/test_dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::DilithiumRoundtripTests::run_roundtrip
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::copy_if
      Src: /src/botan/src/tests/test_dilithium.cpp:254,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/test_dilithium.cpp:254,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/test_dilithium.cpp:255,1
    - Dst: std::back_inserter
      Src: /src/botan/src/tests/test_dilithium.cpp:256,1
    - Dst: Botan::DilithiumMode::DilithiumMode
      Src: /src/botan/src/tests/test_dilithium.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 259
    functionName: Botan_Tests::Dilithium_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_dilithium.cpp
    functionUses: 0
    functionsReached:
    - std::copy_if
    - std::vector::begin
    - std::back_inserter
    - std::vector::end
    - Botan::DilithiumMode::DilithiumMode
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/tests/test_dilithium.cpp:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - param
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: Botan_Tests::Dilithium_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_dilithium.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::starts_with
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name(std::string_view param) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_dilithium.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: Botan_Tests::Dilithium_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_dilithium.cpp
    functionUses: 0
    functionsReached:
    - Test_Error
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::Dilithium_PublicKey>
      Src: /src/botan/src/tests/test_dilithium.cpp:274,1
    - Dst: Botan::DilithiumMode::DilithiumMode
      Src: /src/botan/src/tests/test_dilithium.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: Botan_Tests::Dilithium_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_dilithium.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::Dilithium_PublicKey>
    - Botan::DilithiumMode::DilithiumMode
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: Botan_Tests::ECGDSA_Signature_KAT_Tests::ECGDSA_Signature_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_ecgdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECGDSA_Signature_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_Tests::ECGDSA_Signature_KAT_Tests::clear_between_callbacks
    functionSourceFile: /src/botan/src/tests/test_ecgdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clear_between_callbacks() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/tests/test_ecgdsa.cpp:30,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecgdsa.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan_Tests::ECGDSA_Signature_KAT_Tests::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - get_req_str
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecgdsa.cpp:34,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_ecgdsa.cpp:35,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/tests/test_ecgdsa.cpp:36,1
    - Dst: std::make_unique<Botan::ECGDSA_PrivateKey>
      Src: /src/botan/src/tests/test_ecgdsa.cpp:38,1
    - Dst: Botan_Tests::ECGDSA_Signature_KAT_Tests::rng
      Src: /src/botan/src/tests/test_ecgdsa.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: Botan_Tests::ECGDSA_Signature_KAT_Tests::load_private_key
    functionSourceFile: /src/botan/src/tests/test_ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::ECGDSA_Signature_KAT_Tests::rng
    - get_req_str
    - std::make_unique<Botan::ECGDSA_PrivateKey>
    - Botan::EC_Group::from_name
    - get_req_bn
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_ecgdsa.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan_Tests::ECGDSA_Signature_KAT_Tests::default_padding
    functionSourceFile: /src/botan/src/tests/test_ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - get_req_str
    linkageType: ''
    returnType: std::string
    signature: std::string default_padding(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Fixed_Output_Position_RNG>
      Src: /src/botan/src/tests/test_ecgdsa.cpp:46,1
    - Dst: Botan_Tests::ECGDSA_Signature_KAT_Tests::rng
      Src: /src/botan/src/tests/test_ecgdsa.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: Botan_Tests::ECGDSA_Signature_KAT_Tests::test_rng
    functionSourceFile: /src/botan/src/tests/test_ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::ECGDSA_Signature_KAT_Tests::rng
    - std::make_unique<Fixed_Output_Position_RNG>
    linkageType: ''
    returnType: std::unique_ptr<Botan::RandomNumberGenerator>
    signature: std::unique_ptr<Botan::RandomNumberGenerator> test_rng(const std::vector<uint8_t>&
      nonce) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan_Tests::ECGDSA_Keygen_Tests::keygen_params
    functionSourceFile: /src/botan/src/tests/test_ecgdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan_Tests::ECGDSA_Keygen_Tests::algo_name
    functionSourceFile: /src/botan/src/tests/test_ecgdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::EC_Group
      Src: /src/botan/src/tests/test_ecgdsa.cpp:59,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/tests/test_ecgdsa.cpp:60,1
    - Dst: std::make_unique<Botan::ECGDSA_PublicKey>
      Src: /src/botan/src/tests/test_ecgdsa.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keygen_params
    - raw_pk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: Botan_Tests::ECGDSA_Keygen_Tests::public_key_from_raw
    functionSourceFile: /src/botan/src/tests/test_ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::ECGDSA_PublicKey>
    - Botan::EC_Group::EC_Group
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> public_key_from_raw(std::string_view
      keygen_params,\n                                                             std::string_view
      /* provider */,\n                                                             std::span<const
      uint8_t> raw_pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberMode::is_available
      Src: /src/botan/src/tests/test_kyber.cpp:44,1
    - Dst: Test::Result::note_missing
      Src: /src/botan/src/tests/test_kyber.cpp:45,1
    - Dst: Botan::KyberMode::to_string
      Src: /src/botan/src/tests/test_kyber.cpp:45,1
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_kyber.cpp:49,1
    - Dst: Botan::Kyber_PrivateKey::public_key
      Src: /src/botan/src/tests/test_kyber.cpp:55,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:57,1
    - Dst: Botan::Kyber_PrivateKey::estimated_strength
      Src: /src/botan/src/tests/test_kyber.cpp:57,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:58,1
    - Dst: auto::estimated_strength
      Src: /src/botan/src/tests/test_kyber.cpp:58,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:59,1
    - Dst: Botan::Kyber_PrivateKey::key_length
      Src: /src/botan/src/tests/test_kyber.cpp:59,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:60,1
    - Dst: auto::key_length
      Src: /src/botan/src/tests/test_kyber.cpp:60,1
    - Dst: Botan::Kyber_PrivateKey::private_key_bits
      Src: /src/botan/src/tests/test_kyber.cpp:63,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_kyber.cpp:64,1
    - Dst: Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
      Src: /src/botan/src/tests/test_kyber.cpp:68,1
    - Dst: auto::encrypt
      Src: /src/botan/src/tests/test_kyber.cpp:69,1
    - Dst: Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
      Src: /src/botan/src/tests/test_kyber.cpp:73,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_kyber.cpp:74,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_kyber.cpp:74,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:75,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_kyber.cpp:75,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_kyber.cpp:82,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_kyber.cpp:83,1
    - Dst: auto::pop_back
      Src: /src/botan/src/tests/test_kyber.cpp:84,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_kyber.cpp:85,1
    - Dst: copy
      Src: /src/botan/src/tests/test_kyber.cpp:90,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_kyber.cpp:90,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_kyber.cpp:91,1
    - Dst: std::back_inserter
      Src: /src/botan/src/tests/test_kyber.cpp:92,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_kyber.cpp:93,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_kyber.cpp:94,1
    - Dst: auto::decrypt
      Src: /src/botan/src/tests/test_kyber.cpp:97,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_kyber.cpp:97,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:98,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_kyber.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - test_name
    - mode
    - strength
    - psid
    argTypes:
    - char*
    - Botan::KyberMode
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 101
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 101
    functionName: KYBER_Tests::run_kyber_test
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - auto::decrypt
    - Test::Result::test_eq
    - Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
    - Test::Result::test_throws
    - Botan::Kyber_PrivateKey::estimated_strength
    - Test::Result::confirm
    - Botan::KyberMode::to_string
    - Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
    - Botan::Kyber_PrivateKey::public_key
    - std::back_inserter
    - Botan::Kyber_PrivateKey::private_key_bits
    - auto::encrypt
    - Botan_Tests::Test::new_rng
    - auto::shared_key
    - auto::encapsulated_shared_key
    - auto::key_length
    - copy
    - auto::public_key_bits
    - Test::Result::note_missing
    - Botan::Kyber_PrivateKey::key_length
    - auto::estimated_strength
    - auto::pop_back
    - Botan::KyberMode::is_available
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_kyber_test(const char* test_name, Botan::KyberMode
      mode, size_t strength, size_t psid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KYBER_Tests::run_kyber_test
      Src: /src/botan/src/tests/test_kyber.cpp:105,1
    - Dst: KYBER_Tests::run_kyber_test
      Src: /src/botan/src/tests/test_kyber.cpp:106,1
    - Dst: KYBER_Tests::run_kyber_test
      Src: /src/botan/src/tests/test_kyber.cpp:107,1
    - Dst: KYBER_Tests::run_kyber_test
      Src: /src/botan/src/tests/test_kyber.cpp:108,1
    - Dst: KYBER_Tests::run_kyber_test
      Src: /src/botan/src/tests/test_kyber.cpp:109,1
    - Dst: KYBER_Tests::run_kyber_test
      Src: /src/botan/src/tests/test_kyber.cpp:110,1
    - Dst: KYBER_Tests::run_kyber_test
      Src: /src/botan/src/tests/test_kyber.cpp:111,1
    - Dst: KYBER_Tests::run_kyber_test
      Src: /src/botan/src/tests/test_kyber.cpp:112,1
    - Dst: KYBER_Tests::run_kyber_test
      Src: /src/botan/src/tests/test_kyber.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: KYBER_Tests::run
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - KYBER_Tests::run_kyber_test
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' algo_name'
    - ' kat_file'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: Kyber_KAT_Tests::Kyber_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Kyber_KAT_Tests(const std::string& algo_name,\n                      const
      std::string& kat_file,\n                      const std::string& further_optional_keys
      = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberMode::KyberMode
      Src: /src/botan/src/tests/test_kyber.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Kyber_KAT_Tests::get_mode
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::KyberMode::KyberMode
    linkageType: ''
    returnType: Botan::KyberMode
    signature: Botan::KyberMode get_mode(const std::string& mode) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Kyber_KAT_Tests::get_mode
      Src: /src/botan/src/tests/test_kyber.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: Kyber_KAT_Tests::is_available
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - Kyber_KAT_Tests::get_mode
    linkageType: ''
    returnType: bool
    signature: bool is_available(const std::string& mode) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/tests/test_kyber.cpp:138,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/tests/test_kyber.cpp:138,1
    - Dst: Kyber_KAT_Tests::get_mode
      Src: /src/botan/src/tests/test_kyber.cpp:143,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/tests/test_kyber.cpp:145,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_kyber.cpp:146,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_kyber.cpp:147,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/test_kyber.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' mode'
    - value
    - var_type
    argTypes:
    - std::string
    - std::span<const uint8_t>
    - VarType
    constantsTouched: []
    func_position:
      end: 148
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 148
    functionName: Kyber_KAT_Tests::map_value
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - Botan::HashFunction::create_or_throw
    - Kyber_KAT_Tests::get_mode
    - auto::begin
    - auto::process
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> map_value(const std::string& mode,\n                                     std::span<const
      uint8_t> value,\n                                     VarType var_type) const
      final"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Kyber_KAT_Tests::get_mode
      Src: /src/botan/src/tests/test_kyber.cpp:151,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_kyber.cpp:152,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_kyber.cpp:153,1
    - Dst: Fixed_Output_RNG
      Src: /src/botan/src/tests/test_kyber.cpp:154,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_kyber.cpp:154,1
    - Dst: Kyber_KAT_Tests::get_mode
      Src: /src/botan/src/tests/test_kyber.cpp:155,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_kyber.cpp:156,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_kyber.cpp:157,1
    - Dst: Fixed_Output_RNG
      Src: /src/botan/src/tests/test_kyber.cpp:158,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_kyber.cpp:158,1
    - Dst: Fixed_Output_RNG
      Src: /src/botan/src/tests/test_kyber.cpp:160,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_kyber.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' mode'
    - ' rng'
    argTypes:
    - std::string
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: Kyber_KAT_Tests::rng_for_keygen
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - Kyber_KAT_Tests::get_mode
    - random_vec
    - Botan::concat
    - Fixed_Output_RNG
    linkageType: ''
    returnType: Fixed_Output_RNG
    signature: Fixed_Output_RNG rng_for_keygen(const std::string& mode, Botan::RandomNumberGenerator&
      rng) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fixed_Output_RNG
      Src: /src/botan/src/tests/test_kyber.cpp:165,1
    - Dst: random_vec
      Src: /src/botan/src/tests/test_kyber.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: Kyber_KAT_Tests::rng_for_encapsulation
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - random_vec
    - Fixed_Output_RNG
    linkageType: ''
    returnType: Fixed_Output_RNG
    signature: Fixed_Output_RNG rng_for_encapsulation(const std::string&, Botan::RandomNumberGenerator&
      rng) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: KyberR3_KAT_Tests::KyberR3_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KyberR3_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: ML_KEM_KAT_Tests::ML_KEM_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ML_KEM_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: ML_KEM_ACVP_KAT_KeyGen_Tests::ML_KEM_ACVP_KAT_KeyGen_Tests
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ML_KEM_ACVP_KAT_KeyGen_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberMode::KyberMode
      Src: /src/botan/src/tests/test_kyber.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: ML_KEM_ACVP_KAT_KeyGen_Tests::get_mode
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::KyberMode::KyberMode
    linkageType: ''
    returnType: Botan::KyberMode
    signature: Botan::KyberMode get_mode(const std::string& mode) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ML_KEM_ACVP_KAT_KeyGen_Tests::get_mode
      Src: /src/botan/src/tests/test_kyber.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: ML_KEM_ACVP_KAT_KeyGen_Tests::is_available
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - ML_KEM_ACVP_KAT_KeyGen_Tests::get_mode
    linkageType: ''
    returnType: bool
    signature: bool is_available(const std::string& mode) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_kyber.cpp:190,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_kyber.cpp:191,1
    - Dst: Fixed_Output_RNG
      Src: /src/botan/src/tests/test_kyber.cpp:192,1
    - Dst: Botan::concat
      Src: /src/botan/src/tests/test_kyber.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: ML_KEM_ACVP_KAT_KeyGen_Tests::rng_for_keygen
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - Fixed_Output_RNG
    - Botan::concat
    - get_req_bin
    linkageType: ''
    returnType: Fixed_Output_RNG
    signature: Fixed_Output_RNG rng_for_keygen(const VarMap& vars) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: ML_KEM_PQC_KEM_ACVP_KAT_Encap_Test::ML_KEM_PQC_KEM_ACVP_KAT_Encap_Test
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ML_KEM_PQC_KEM_ACVP_KAT_Encap_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberMode::KyberMode
      Src: /src/botan/src/tests/test_kyber.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: ML_KEM_PQC_KEM_ACVP_KAT_Encap_Test::get_mode
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::KyberMode::KyberMode
    linkageType: ''
    returnType: Botan::KyberMode
    signature: Botan::KyberMode get_mode(const std::string& mode) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ML_KEM_PQC_KEM_ACVP_KAT_Encap_Test::get_mode
      Src: /src/botan/src/tests/test_kyber.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: ML_KEM_PQC_KEM_ACVP_KAT_Encap_Test::is_available
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - ML_KEM_PQC_KEM_ACVP_KAT_Encap_Test::get_mode
    linkageType: ''
    returnType: bool
    signature: bool is_available(const std::string& mode) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::Kyber_PublicKey>
      Src: /src/botan/src/tests/test_kyber.cpp:206,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_kyber.cpp:206,1
    - Dst: ML_KEM_PQC_KEM_ACVP_KAT_Encap_Test::get_mode
      Src: /src/botan/src/tests/test_kyber.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' vars'
    - ' mode'
    argTypes:
    - VarMap
    - std::string
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: ML_KEM_PQC_KEM_ACVP_KAT_Encap_Test::load_public_key
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - ML_KEM_PQC_KEM_ACVP_KAT_Encap_Test::get_mode
    - get_req_bin
    - std::make_unique<Botan::Kyber_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> load_public_key(const VarMap& vars,
      const std::string& mode) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: Kyber_Encoding_Test::Kyber_Encoding_Test
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Kyber_Encoding_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberMode::KyberMode
      Src: /src/botan/src/tests/test_kyber.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' algo_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: Kyber_Encoding_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::KyberMode::KyberMode
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string& algo_name, const VarMap& /*vars*/)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberMode::KyberMode
      Src: /src/botan/src/tests/test_kyber.cpp:233,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_kyber.cpp:234,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_kyber.cpp:234,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/tests/test_kyber.cpp:235,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_kyber.cpp:235,1
    - Dst: get_opt_str
      Src: /src/botan/src/tests/test_kyber.cpp:236,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_kyber.cpp:238,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_kyber.cpp:241,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_kyber.cpp:242,1
    - Dst: Botan::Kyber_PrivateKey::Kyber_PrivateKey
      Src: /src/botan/src/tests/test_kyber.cpp:243,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_kyber.cpp:245,1
    - Dst: Botan::Kyber_PublicKey::Kyber_PublicKey
      Src: /src/botan/src/tests/test_kyber.cpp:246,1
    - Dst: std::make_unique<Botan::Kyber_PrivateKey>
      Src: /src/botan/src/tests/test_kyber.cpp:252,1
    - Dst: std::make_unique<Botan::Kyber_PublicKey>
      Src: /src/botan/src/tests/test_kyber.cpp:253,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:255,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_kyber.cpp:255,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:256,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_kyber.cpp:256,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:257,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/tests/test_kyber.cpp:257,1
    - Dst: auto::private_key_format
      Src: /src/botan/src/tests/test_kyber.cpp:260,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:261,1
    - Dst: auto::private_key_bits_with_format
      Src: /src/botan/src/tests/test_kyber.cpp:262,1
    - Dst: std::make_unique<Botan::Kyber_PrivateKey>
      Src: /src/botan/src/tests/test_kyber.cpp:264,1
    - Dst: auto::private_key_bits_with_format
      Src: /src/botan/src/tests/test_kyber.cpp:265,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:266,1
    - Dst: auto::private_key_bits_with_format
      Src: /src/botan/src/tests/test_kyber.cpp:267,1
    - Dst: auto::private_key_bits_with_format
      Src: /src/botan/src/tests/test_kyber.cpp:268,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_kyber.cpp:269,1
    - Dst: auto::private_key_bits_with_format
      Src: /src/botan/src/tests/test_kyber.cpp:270,1
    - Dst: Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
      Src: /src/botan/src/tests/test_kyber.cpp:273,1
    - Dst: rng
      Src: /src/botan/src/tests/test_kyber.cpp:273,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:274,1
    - Dst: Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
      Src: /src/botan/src/tests/test_kyber.cpp:276,1
    - Dst: rng
      Src: /src/botan/src/tests/test_kyber.cpp:276,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/tests/test_kyber.cpp:276,1
    - Dst: auto::shared_key
      Src: /src/botan/src/tests/test_kyber.cpp:277,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_kyber.cpp:280,1
    - Dst: auto::private_key_bits_with_format
      Src: /src/botan/src/tests/test_kyber.cpp:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - ' algo_name'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 287
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 287
    functionName: Kyber_Encoding_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 0
    functionsReached:
    - auto::private_key_format
    - Test::Result::test_eq
    - Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
    - Test::Result::test_throws
    - Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
    - Botan::hex_decode
    - std::make_unique<Botan::Kyber_PrivateKey>
    - Botan::Kyber_PublicKey::Kyber_PublicKey
    - get_req_str
    - auto::private_key_bits_with_format
    - rng
    - get_opt_str
    - auto::shared_key
    - auto::encapsulated_shared_key
    - Botan::Kyber_PrivateKey::Kyber_PrivateKey
    - auto::public_key_bits
    - Botan::hex_decode_locked
    - auto::private_key_bits
    - auto::empty
    - Botan::KyberMode::KyberMode
    - std::make_unique<Botan::Kyber_PublicKey>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& algo_name, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algo_name
      Src: /src/botan/src/tests/test_kyber.cpp:308,1
    - Dst: starts_with
      Src: /src/botan/src/tests/test_kyber.cpp:309,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/test_kyber.cpp:316,1
    - Dst: std::make_unique<Botan::Kyber_PublicKey>
      Src: /src/botan/src/tests/test_kyber.cpp:321,1
    - Dst: Botan::KyberMode::KyberMode
      Src: /src/botan/src/tests/test_kyber.cpp:321,1
    - Dst: BOTAN_REGISTER_TEST
      Src: /src/botan/src/tests/test_kyber.cpp:325,1
    - Dst: start_timer
      Src: /src/botan/src/tests/test_kyber.cpp:334,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_kyber.cpp:342,1
    - Dst: fmt
      Src: /src/botan/src/tests/test_kyber.cpp:342,1
    - Dst: end_timer
      Src: /src/botan/src/tests/test_kyber.cpp:347,1
    - Dst: test_success
      Src: /src/botan/src/tests/test_kyber.cpp:348,1
    - Dst: start_timer
      Src: /src/botan/src/tests/test_kyber.cpp:356,1
    - Dst: static_cast<from_t>
      Src: /src/botan/src/tests/test_kyber.cpp:359,1
    - Dst: from_t
      Src: /src/botan/src/tests/test_kyber.cpp:359,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_kyber.cpp:366,1
    - Dst: fmt
      Src: /src/botan/src/tests/test_kyber.cpp:366,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/tests/test_kyber.cpp:366,1
    - Dst: end_timer
      Src: /src/botan/src/tests/test_kyber.cpp:371,1
    - Dst: test_success
      Src: /src/botan/src/tests/test_kyber.cpp:372,1
    - Dst: start_timer
      Src: /src/botan/src/tests/test_kyber.cpp:380,1
    - Dst: test_failure
      Src: /src/botan/src/tests/test_kyber.cpp:385,1
    - Dst: fmt
      Src: /src/botan/src/tests/test_kyber.cpp:385,1
    - Dst: end_timer
      Src: /src/botan/src/tests/test_kyber.cpp:390,1
    - Dst: test_success
      Src: /src/botan/src/tests/test_kyber.cpp:391,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:396,1
    - Dst: test_compress<1>
      Src: /src/botan/src/tests/test_kyber.cpp:396,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:397,1
    - Dst: test_compress<4>
      Src: /src/botan/src/tests/test_kyber.cpp:397,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:398,1
    - Dst: test_compress<5>
      Src: /src/botan/src/tests/test_kyber.cpp:398,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:399,1
    - Dst: test_compress<10>
      Src: /src/botan/src/tests/test_kyber.cpp:399,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:400,1
    - Dst: test_compress<11>
      Src: /src/botan/src/tests/test_kyber.cpp:400,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:402,1
    - Dst: test_decompress<1>
      Src: /src/botan/src/tests/test_kyber.cpp:402,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:403,1
    - Dst: test_decompress<4>
      Src: /src/botan/src/tests/test_kyber.cpp:403,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:404,1
    - Dst: test_decompress<5>
      Src: /src/botan/src/tests/test_kyber.cpp:404,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:405,1
    - Dst: test_decompress<10>
      Src: /src/botan/src/tests/test_kyber.cpp:405,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:406,1
    - Dst: test_decompress<11>
      Src: /src/botan/src/tests/test_kyber.cpp:406,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:408,1
    - Dst: test_compress_roundtrip<1>
      Src: /src/botan/src/tests/test_kyber.cpp:408,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:409,1
    - Dst: test_compress_roundtrip<4>
      Src: /src/botan/src/tests/test_kyber.cpp:409,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:410,1
    - Dst: test_compress_roundtrip<5>
      Src: /src/botan/src/tests/test_kyber.cpp:410,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:411,1
    - Dst: test_compress_roundtrip<10>
      Src: /src/botan/src/tests/test_kyber.cpp:411,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_kyber.cpp:412,1
    - Dst: test_compress_roundtrip<11>
      Src: /src/botan/src/tests/test_kyber.cpp:412,1
    - Dst: BOTAN_REGISTER_TEST_FN
      Src: /src/botan/src/tests/test_kyber.cpp:418,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 422
    functionName: keygen_params
    functionSourceFile: /src/botan/src/tests/test_kyber.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint16_t>
    - Botan_Tests::CHECK
    - fmt
    - BOTAN_REGISTER_TEST_FN
    - test_compress<10>
    - start_timer
    - test_compress_roundtrip<4>
    - end_timer
    - BOTAN_REGISTER_TEST
    - test_compress_roundtrip<10>
    - starts_with
    - test_decompress<11>
    - test_success
    - algo_name
    - test_compress<5>
    - test_compress_roundtrip<5>
    - Test_Error
    - test_compress<1>
    - test_decompress<1>
    - test_decompress<10>
    - test_compress<11>
    - test_decompress<5>
    - from_t
    - test_failure
    - test_compress_roundtrip<1>
    - static_cast<from_t>
    - test_decompress<4>
    - test_compress_roundtrip<11>
    - test_compress<4>
    - Botan::KyberMode::KyberMode
    - std::make_unique<Botan::Kyber_PublicKey>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' res'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan_Tests::Test_Buf_Comp::Test_Buf_Comp
    functionSourceFile: /src/botan/src/tests/test_bufcomp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Buf_Comp(Test::Result& res)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan_Tests::Test_Buf_Comp::output_length
    functionSourceFile: /src/botan/src/tests/test_bufcomp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_eq
      Src: /src/botan/src/tests/test_bufcomp.cpp:31,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/test_bufcomp.cpp:31,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_bufcomp.cpp:32,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_bufcomp.cpp:33,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_bufcomp.cpp:34,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_bufcomp.cpp:35,1
    - Dst: confirm
      Src: /src/botan/src/tests/test_bufcomp.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: Botan_Tests::Test_Buf_Comp::add_data
    functionSourceFile: /src/botan/src/tests/test_bufcomp.cpp
    functionUses: 0
    functionsReached:
    - confirm
    - std::span<const uint8_t>::size
    - test_eq
    linkageType: ''
    returnType: void
    signature: void add_data(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy
      Src: /src/botan/src/tests/test_bufcomp.cpp:44,1
    - Dst: std::span<uint8_t>::begin
      Src: /src/botan/src/tests/test_bufcomp.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Botan_Tests::Test_Buf_Comp::final_result
    functionSourceFile: /src/botan/src/tests/test_bufcomp.cpp
    functionUses: 0
    functionsReached:
    - copy
    - std::span<uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void final_result(std::span<uint8_t> out) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan_Tests::Test_Buf_Comp::counter
    functionSourceFile: /src/botan/src/tests/test_bufcomp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t counter() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/botan/src/tests/test_bufcomp.cpp:56,1
    - Dst: test_eq
      Src: /src/botan/src/tests/test_bufcomp.cpp:57,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/tests/test_bufcomp.cpp:57,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/tests/test_bufcomp.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' result'
    - produced
    - expected
    argTypes:
    - Test::Result
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: Botan_Tests::check
    functionSourceFile: /src/botan/src/tests/test_bufcomp.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - test_eq
    linkageType: ''
    returnType: void
    signature: void check(Test::Result& result, std::span<const uint8_t> produced,
      size_t expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_Buf_Comp::update
      Src: /src/botan/src/tests/test_bufcomp.cpp:82,1
    - Dst: Test_Buf_Comp::update
      Src: /src/botan/src/tests/test_bufcomp.cpp:83,1
    - Dst: Test_Buf_Comp::update
      Src: /src/botan/src/tests/test_bufcomp.cpp:84,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_bufcomp.cpp:84,1
    - Dst: Test_Buf_Comp::update
      Src: /src/botan/src/tests/test_bufcomp.cpp:87,1
    - Dst: Test_Buf_Comp::update
      Src: /src/botan/src/tests/test_bufcomp.cpp:88,1
    - Dst: Test_Buf_Comp::update
      Src: /src/botan/src/tests/test_bufcomp.cpp:89,1
    - Dst: Test_Buf_Comp::final
      Src: /src/botan/src/tests/test_bufcomp.cpp:92,1
    - Dst: Test_Buf_Comp::final_stdvec
      Src: /src/botan/src/tests/test_bufcomp.cpp:93,1
    - Dst: Test_Buf_Comp::final
      Src: /src/botan/src/tests/test_bufcomp.cpp:94,1
    - Dst: Test_Buf_Comp::final
      Src: /src/botan/src/tests/test_bufcomp.cpp:97,1
    - Dst: Test_Buf_Comp::final
      Src: /src/botan/src/tests/test_bufcomp.cpp:98,1
    - Dst: Test_Buf_Comp::final
      Src: /src/botan/src/tests/test_bufcomp.cpp:99,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/tests/test_bufcomp.cpp:101,1
    - Dst: std::vector::clear
      Src: /src/botan/src/tests/test_bufcomp.cpp:104,1
    - Dst: Test_Buf_Comp::final
      Src: /src/botan/src/tests/test_bufcomp.cpp:105,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/test_bufcomp.cpp:106,1
    - Dst: Test_Buf_Comp::output_length
      Src: /src/botan/src/tests/test_bufcomp.cpp:106,1
    - Dst: Test_Buf_Comp::final
      Src: /src/botan/src/tests/test_bufcomp.cpp:107,1
    - Dst: Test::Result::test_int_eq
      Src: /src/botan/src/tests/test_bufcomp.cpp:108,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_bufcomp.cpp:108,1
    - Dst: Test_Buf_Comp::output_length
      Src: /src/botan/src/tests/test_bufcomp.cpp:108,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/tests/test_bufcomp.cpp:110,1
    - Dst: Test_Buf_Comp::process
      Src: /src/botan/src/tests/test_bufcomp.cpp:113,1
    - Dst: Test_Buf_Comp::process
      Src: /src/botan/src/tests/test_bufcomp.cpp:114,1
    - Dst: std::string
      Src: /src/botan/src/tests/test_bufcomp.cpp:114,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/tests/test_bufcomp.cpp:116,1
    - Dst: Test_Buf_Comp::process
      Src: /src/botan/src/tests/test_bufcomp.cpp:119,1
    - Dst: Test_Buf_Comp::process
      Src: /src/botan/src/tests/test_bufcomp.cpp:120,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/tests/test_bufcomp.cpp:122,1
    - Dst: Test_Buf_Comp::process
      Src: /src/botan/src/tests/test_bufcomp.cpp:125,1
    - Dst: Test_Buf_Comp::process
      Src: /src/botan/src/tests/test_bufcomp.cpp:126,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/tests/test_bufcomp.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 131
    functionName: Botan_Tests::test_buffered_computation_convenience_api
    functionSourceFile: /src/botan/src/tests/test_bufcomp.cpp
    functionUses: 0
    functionsReached:
    - Test_Buf_Comp::final_stdvec
    - Test_Buf_Comp::final
    - Test_Buf_Comp::output_length
    - Test::Result::test_int_eq
    - std::vector::size
    - std::vector::clear
    - Test_Buf_Comp::update
    - std::vector::resize
    - std::string
    - Test_Buf_Comp::process
    - Botan_Tests::check
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_buffered_computation_convenience_api()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan_Tests::LMOTS_Test::LMOTS_Test
    functionSourceFile: /src/botan/src/tests/test_lmots.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LMOTS_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/test_lmots.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Botan_Tests::LMOTS_Test::skip_this_test
    functionSourceFile: /src/botan/src/tests/test_lmots.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool skip_this_test(const std::string&, const VarMap& vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_u32
      Src: /src/botan/src/tests/test_lmots.cpp:33,1
    - Dst: Botan::LMS_Seed
      Src: /src/botan/src/tests/test_lmots.cpp:34,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_lmots.cpp:34,1
    - Dst: Botan::LMS_Identifier
      Src: /src/botan/src/tests/test_lmots.cpp:35,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_lmots.cpp:35,1
    - Dst: Botan::LMS_Tree_Node_Idx
      Src: /src/botan/src/tests/test_lmots.cpp:36,1
    - Dst: get_req_u32
      Src: /src/botan/src/tests/test_lmots.cpp:36,1
    - Dst: Botan::LMS_Message
      Src: /src/botan/src/tests/test_lmots.cpp:37,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_lmots.cpp:37,1
    - Dst: Botan::LMOTS_K
      Src: /src/botan/src/tests/test_lmots.cpp:38,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_lmots.cpp:38,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_lmots.cpp:40,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/tests/test_lmots.cpp:42,1
    - Dst: static_cast<Botan::LMOTS_Algorithm_Type>
      Src: /src/botan/src/tests/test_lmots.cpp:44,1
    - Dst: Botan::LMOTS_Params::create_or_throw
      Src: /src/botan/src/tests/test_lmots.cpp:45,1
    - Dst: Botan::LMOTS_Private_Key
      Src: /src/botan/src/tests/test_lmots.cpp:48,1
    - Dst: Botan::LMOTS_Public_Key
      Src: /src/botan/src/tests/test_lmots.cpp:49,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_lmots.cpp:50,1
    - Dst: auto::K
      Src: /src/botan/src/tests/test_lmots.cpp:50,1
    - Dst: auto::sign
      Src: /src/botan/src/tests/test_lmots.cpp:54,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_lmots.cpp:55,1
    - Dst: auto::process
      Src: /src/botan/src/tests/test_lmots.cpp:55,1
    - Dst: Botan::BufferSlicer::BufferSlicer
      Src: /src/botan/src/tests/test_lmots.cpp:58,1
    - Dst: Botan::LMOTS_Signature::from_bytes_or_throw
      Src: /src/botan/src/tests/test_lmots.cpp:59,1
    - Dst: Botan::lmots_compute_pubkey_from_sig
      Src: /src/botan/src/tests/test_lmots.cpp:60,1
    - Dst: Test::Result::test_is_eq
      Src: /src/botan/src/tests/test_lmots.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - VarMap
    constantsTouched: []
    func_position:
      end: 64
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 64
    functionName: Botan_Tests::LMOTS_Test::run_one_test
    functionSourceFile: /src/botan/src/tests/test_lmots.cpp
    functionUses: 0
    functionsReached:
    - Botan::LMOTS_Signature::from_bytes_or_throw
    - Botan::LMOTS_Params::create_or_throw
    - auto::process
    - auto::K
    - Botan::LMOTS_Public_Key
    - get_req_bin
    - Botan::lmots_compute_pubkey_from_sig
    - Botan::LMOTS_K
    - auto::sign
    - Botan::LMS_Identifier
    - get_req_u32
    - Botan::LMS_Message
    - Botan::BufferSlicer::BufferSlicer
    - Botan::LMOTS_Private_Key
    - Botan::LMS_Seed
    - Botan::HashFunction::create
    - Botan::LMS_Tree_Node_Idx
    - Test::Result::test_is_eq
    - static_cast<Botan::LMOTS_Algorithm_Type>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string&, const VarMap& vars) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:21,1
    - Dst: auto::update
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:22,1
    - Dst: to_bytes
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:22,1
    - Dst: auto::final_stdvec
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:23,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:27,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:30,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:31,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:32,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:35,1
    - Dst: Botan::Sphincs_Address::set_layer_address
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:38,1
    - Dst: Botan::HypertreeLayerIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:38,1
    - Dst: Botan::XmssTreeIndexInLayer
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:39,1
    - Dst: Botan::TreeNodeIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:40,1
    - Dst: Botan::WotsChainIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:41,1
    - Dst: Botan::WotsHashIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:42,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:44,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:45,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:46,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:49,1
    - Dst: Botan::Sphincs_Address::set_layer_address
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:52,1
    - Dst: Botan::HypertreeLayerIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:52,1
    - Dst: Botan::XmssTreeIndexInLayer
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:53,1
    - Dst: Botan::TreeNodeIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:54,1
    - Dst: Botan::TreeLayerIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:55,1
    - Dst: Botan::TreeNodeIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:56,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:57,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:58,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:59,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:62,1
    - Dst: Botan::Sphincs_Address::set_layer_address
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:65,1
    - Dst: Botan::HypertreeLayerIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:65,1
    - Dst: Botan::XmssTreeIndexInLayer
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:66,1
    - Dst: Botan::TreeNodeIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:67,1
    - Dst: Botan::TreeLayerIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:68,1
    - Dst: Botan::TreeNodeIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:69,1
    - Dst: Botan::Sphincs_Address::as_subtree_from
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:71,1
    - Dst: Botan::Sphincs_Address::copy_subtree_from
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:73,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:75,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:76,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:77,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:78,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:79,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:80,1
    - Dst: Botan_Tests::CHECK
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:83,1
    - Dst: Botan::Sphincs_Address::set_layer_address
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:86,1
    - Dst: Botan::HypertreeLayerIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:86,1
    - Dst: Botan::XmssTreeIndexInLayer
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:87,1
    - Dst: Botan::TreeNodeIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:88,1
    - Dst: Botan::WotsChainIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:89,1
    - Dst: Botan::WotsHashIndex
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:90,1
    - Dst: Botan::Sphincs_Address::as_keypair_from
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:92,1
    - Dst: Botan::Sphincs_Address::copy_keypair_from
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:94,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:96,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:97,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:98,1
    - Dst: test_is_eq
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:99,1
    - Dst: sha256
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:100,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/test_sphincsplus_utils.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 104
    functionName: Botan_Tests::test_sphincsplus_address
    functionSourceFile: /src/botan/src/tests/test_sphincsplus_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CHECK
    - Botan::WotsChainIndex
    - Botan::Sphincs_Address::as_keypair_from
    - Botan::TreeNodeIndex
    - sha256
    - Botan::HashFunction::create_or_throw
    - Botan::XmssTreeIndexInLayer
    - auto::update
    - Botan::hex_decode
    - auto::final_stdvec
    - Botan::WotsHashIndex
    - Botan::HypertreeLayerIndex
    - Botan::TreeLayerIndex
    - test_is_eq
    - Botan::Sphincs_Address::copy_keypair_from
    - Botan::Sphincs_Address::set_layer_address
    - Botan::Sphincs_Address::as_subtree_from
    - Botan::Sphincs_Address::copy_subtree_from
    - to_bytes
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> test_sphincsplus_address()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan_Tests::DLIES_KAT_Tests::DLIES_KAT_Tests
    functionSourceFile: /src/botan/src/tests/test_dlies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DLIES_KAT_Tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dlies.cpp:28,1
    - Dst: get_req_bn
      Src: /src/botan/src/tests/test_dlies.cpp:29,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_dlies.cpp:31,1
    - Dst: get_req_bin
      Src: /src/botan/src/tests/test_dlies.cpp:32,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_dlies.cpp:34,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_dlies.cpp:35,1
    - Dst: get_req_str
      Src: /src/botan/src/tests/test_dlies.cpp:37,1
    - Dst: Botan::InitializationVector
      Src: /src/botan/src/tests/test_dlies.cpp:39,1
    - Dst: get_opt_bin
      Src: /src/botan/src/tests/test_dlies.cpp:39,1
    - Dst: Botan::KDF::create
      Src: /src/botan/src/tests/test_dlies.cpp:43,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_dlies.cpp:45,1
    - Dst: Botan_CLI::tls_proxy_session::create
      Src: /src/botan/src/tests/test_dlies.cpp:49,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_dlies.cpp:51,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_dlies.cpp:60,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/tests/test_dlies.cpp:61,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_dlies.cpp:64,1
    - Dst: std::unique_ptr::key_spec
      Src: /src/botan/src/tests/test_dlies.cpp:68,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/tests/test_dlies.cpp:71,1
    - Dst: Botan_Tests::DLIES_KAT_Tests::rng
      Src: /src/botan/src/tests/test_dlies.cpp:77,1
    - Dst: auto::new_object
      Src: /src/botan/src/tests/test_dlies.cpp:77,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_dlies.cpp:77,1
    - Dst: auto::new_object
      Src: /src/botan/src/tests/test_dlies.cpp:77,1
    - Dst: Botan_Tests::DLIES_KAT_Tests::rng
      Src: /src/botan/src/tests/test_dlies.cpp:79,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_dlies.cpp:79,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_dlies.cpp:79,1
    - Dst: std::move
      Src: /src/botan/src/tests/test_dlies.cpp:79,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_dlies.cpp:81,1
    - Dst: Botan::DLIES_Encryptor::set_initialization_vector
      Src: /src/botan/src/tests/test_dlies.cpp:82,1
    - Dst: Botan::DLIES_Decryptor::set_initialization_vector
      Src: /src/botan/src/tests/test_dlies.cpp:83,1
    - Dst: Botan::DLIES_Encryptor::set_other_key
      Src: /src/botan/src/tests/test_dlies.cpp:86,1
    - Dst: Botan::DH_PrivateKey::public_value
      Src: /src/botan/src/tests/test_dlies.cpp:86,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dlies.cpp:88,1
    - Dst: Botan::DLIES_Encryptor::encrypt
      Src: /src/botan/src/tests/test_dlies.cpp:88,1
    - Dst: Botan_Tests::DLIES_KAT_Tests::rng
      Src: /src/botan/src/tests/test_dlies.cpp:88,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dlies.cpp:89,1
    - Dst: Botan::DLIES_Decryptor::decrypt
      Src: /src/botan/src/tests/test_dlies.cpp:89,1
    - Dst: check_invalid_ciphertexts
      Src: /src/botan/src/tests/test_dlies.cpp:91,1
    - Dst: Botan_Tests::DLIES_KAT_Tests::rng
      Src: /src/botan/src/tests/test_dlies.cpp:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - ' cipher_algo'
    - ' vars'
    argTypes:
    - std::string
    - VarMap
    constantsTouched: []
    func_position:
      end: 94
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 94
    functionName: Botan_Tests::DLIES_KAT_Tests::run_one_test
    functionSourceFile: /src/botan/src/tests/test_dlies.cpp
    functionUses: 0
    functionsReached:
    - Botan::KDF::create
    - Test::Result::test_eq
    - Botan::Cipher_Mode::create
    - Test::Result::test_note
    - Botan::DLIES_Encryptor::set_initialization_vector
    - Botan::DH_PrivateKey::public_value
    - Botan::DLIES_Encryptor::set_other_key
    - Botan::InitializationVector
    - get_req_bin
    - get_opt_bin
    - Botan_Tests::DLIES_KAT_Tests::rng
    - auto::new_object
    - get_req_str
    - Botan::DLIES_Encryptor::encrypt
    - Botan_CLI::tls_proxy_session::create
    - std::move
    - Botan::DL_Group::from_name
    - get_req_bn
    - check_invalid_ciphertexts
    - std::unique_ptr::key_spec
    - Botan::DLIES_Decryptor::set_initialization_vector
    - auto::empty
    - Botan::DLIES_Decryptor::decrypt
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result run_one_test(const std::string& cipher_algo, const VarMap&
      vars) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_dlies.cpp:110,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/tests/test_dlies.cpp:112,1
    - Dst: Botan::KDF::create
      Src: /src/botan/src/tests/test_dlies.cpp:118,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_dlies.cpp:121,1
    - Dst: Botan_CLI::tls_proxy_session::create
      Src: /src/botan/src/tests/test_dlies.cpp:126,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_dlies.cpp:129,1
    - Dst: std::unique_ptr::new_object
      Src: /src/botan/src/tests/test_dlies.cpp:133,1
    - Dst: std::unique_ptr::new_object
      Src: /src/botan/src/tests/test_dlies.cpp:133,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_dlies.cpp:136,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_dlies.cpp:138,1
    - Dst: Botan::DLIES_Encryptor::encrypt
      Src: /src/botan/src/tests/test_dlies.cpp:139,1
    - Dst: Botan::DLIES_Encryptor::set_other_key
      Src: /src/botan/src/tests/test_dlies.cpp:141,1
    - Dst: Botan::DH_PrivateKey::public_value
      Src: /src/botan/src/tests/test_dlies.cpp:141,1
    - Dst: Botan::DLIES_Encryptor::encrypt
      Src: /src/botan/src/tests/test_dlies.cpp:142,1
    - Dst: std::unique_ptr::new_object
      Src: /src/botan/src/tests/test_dlies.cpp:144,1
    - Dst: std::unique_ptr::new_object
      Src: /src/botan/src/tests/test_dlies.cpp:144,1
    - Dst: Test::Result::test_throws
      Src: /src/botan/src/tests/test_dlies.cpp:147,1
    - Dst: Botan::DLIES_Decryptor::decrypt
      Src: /src/botan/src/tests/test_dlies.cpp:147,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_dlies.cpp:147,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_dlies.cpp:149,1
    - Dst: Botan::DLIES_Decryptor::decrypt
      Src: /src/botan/src/tests/test_dlies.cpp:149,1
    - Dst: Botan_Tests::check_invalid_ciphertexts
      Src: /src/botan/src/tests/test_dlies.cpp:151,1
    - Dst: unlock
      Src: /src/botan/src/tests/test_dlies.cpp:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 156
    functionName: Botan_Tests::test_xor
    functionSourceFile: /src/botan/src/tests/test_dlies.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::new_object
    - Test::Result::test_note
    - Test::Result::test_throws
    - Botan::DH_PrivateKey::public_value
    - auto::random_vec
    - Botan::DLIES_Encryptor::encrypt
    - Botan::DLIES_Encryptor::set_other_key
    - Botan_Tests::check_invalid_ciphertexts
    - Botan_CLI::tls_proxy_session::create
    - std::vector<uint8_t>
    - Botan::KDF::create
    - Test::Result::test_eq
    - Botan::DL_Group::from_name
    - unlock
    - Botan_Tests::Test::new_rng
    - Botan::DLIES_Decryptor::decrypt
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_xor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/botan/src/tests/test_dlies.cpp:165,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_dlies.cpp:167,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_dlies.cpp:169,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/test_dlies.cpp:169,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_dlies.cpp:169,1
    - Dst: what
      Src: /src/botan/src/tests/test_dlies.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 174
    functionName: Botan_Tests::DLIES_Unit_Tests::run
    functionSourceFile: /src/botan/src/tests/test_dlies.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::Failure
    - std::vector::size
    - what
    - std::to_string
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/test_certstor.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' cert'
    - key
    argTypes:
    - Botan::X509_Certificate
    - std::shared_ptr<Botan::Private_Key>
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: Botan_Tests::CertificateAndKey::CertificateAndKey
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CertificateAndKey(const Botan::X509_Certificate& cert, std::shared_ptr<Botan::Private_Key>
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CertificateAndKey
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: operator!=(const CertificateAndKey& rhs) const
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CertificateAndKey& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& subject_dn() const'
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached:
    - certificate
    linkageType: ''
    returnType: Botan::X509_DN
    signature: Botan::X509_DN & subject_dn() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '& certificate() const'
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::X509_Certificate
    signature: Botan::X509_Certificate & certificate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& private_key() const'
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::Private_Key
    signature: Botan::Private_Key & private_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_certstor.cpp:60,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_certstor.cpp:61,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_certstor.cpp:61,1
    - Dst: Botan::Certificate_Store_In_SQLite::insert_key
      Src: /src/botan/src/tests/test_certstor.cpp:66,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:66,1
    - Dst: private_key
      Src: /src/botan/src/tests/test_certstor.cpp:66,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:70,1
    - Dst: private_key
      Src: /src/botan/src/tests/test_certstor.cpp:71,1
    - Dst: Botan::Certificate_Store_In_SQLite::find_cert
      Src: /src/botan/src/tests/test_certstor.cpp:72,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:72,1
    - Dst: Botan::Certificate_Store_In_SQLite::find_cert
      Src: /src/botan/src/tests/test_certstor.cpp:73,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:73,1
    - Dst: subject_key_id
      Src: /src/botan/src/tests/test_certstor.cpp:73,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:76,1
    - Dst: Botan::Certificate_Store_In_SQLite::find_key
      Src: /src/botan/src/tests/test_certstor.cpp:80,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:82,1
    - Dst: fingerprint
      Src: /src/botan/src/tests/test_certstor.cpp:82,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:86,1
    - Dst: fingerprint
      Src: /src/botan/src/tests/test_certstor.cpp:86,1
    - Dst: auto::fingerprint
      Src: /src/botan/src/tests/test_certstor.cpp:86,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:89,1
    - Dst: private_key_bits
      Src: /src/botan/src/tests/test_certstor.cpp:89,1
    - Dst: auto::private_key_bits
      Src: /src/botan/src/tests/test_certstor.cpp:89,1
    - Dst: Botan::Certificate_Store_In_SQLite::find_certs_for_key
      Src: /src/botan/src/tests/test_certstor.cpp:91,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/test_certstor.cpp:93,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:94,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:101,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:106,1
    - Dst: fingerprint
      Src: /src/botan/src/tests/test_certstor.cpp:106,1
    - Dst: auto::fingerprint
      Src: /src/botan/src/tests/test_certstor.cpp:106,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:109,1
    - Dst: Botan::Certificate_Store_In_SQLite::remove_cert
      Src: /src/botan/src/tests/test_certstor.cpp:109,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:110,1
    - Dst: Botan::Certificate_Store_In_SQLite::find_cert
      Src: /src/botan/src/tests/test_certstor.cpp:110,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:110,1
    - Dst: subject_key_id
      Src: /src/botan/src/tests/test_certstor.cpp:110,1
    - Dst: Botan::Certificate_Store_In_SQLite::remove_key
      Src: /src/botan/src/tests/test_certstor.cpp:113,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:116,1
    - Dst: Botan::Certificate_Store_In_SQLite::find_key
      Src: /src/botan/src/tests/test_certstor.cpp:116,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:121,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor.cpp:121,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - ' certsandkeys'
    argTypes:
    - std::vector<CertificateAndKey>
    constantsTouched: []
    func_position:
      end: 124
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 124
    functionName: Botan_Tests::test_certstor_sqlite3_insert_find_remove_test
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached:
    - Botan::Certificate_Store_In_SQLite::remove_key
    - subject_key_id
    - private_key
    - Test::Result::test_eq
    - Botan::Certificate_Store_In_SQLite::find_certs_for_key
    - what
    - Botan::Certificate_Store_In_SQLite::remove_cert
    - certificate
    - fingerprint
    - auto::random_vec
    - private_key_bits
    - Botan::Certificate_Store_In_SQLite::find_key
    - Botan_Tests::Test::new_rng
    - reinterpret_cast<const char*>
    - Botan::Certificate_Store_In_SQLite::insert_key
    - Botan::Certificate_Store_In_SQLite::find_cert
    - auto::fingerprint
    - Test::Result::test_failure
    - subject_dn
    - auto::private_key_bits
    - auto::empty
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_certstor_sqlite3_insert_find_remove_test(const std::vector<CertificateAndKey>&
      certsandkeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_certstor.cpp:129,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_certstor.cpp:130,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_certstor.cpp:130,1
    - Dst: Botan::Certificate_Store_In_SQLite::insert_cert
      Src: /src/botan/src/tests/test_certstor.cpp:135,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:135,1
    - Dst: Botan::Certificate_Store_In_SQLite::revoke_cert
      Src: /src/botan/src/tests/test_certstor.cpp:138,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:138,1
    - Dst: Botan::Certificate_Store_In_SQLite::revoke_cert
      Src: /src/botan/src/tests/test_certstor.cpp:139,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:139,1
    - Dst: Botan::Certificate_Store_In_SQLite::revoke_cert
      Src: /src/botan/src/tests/test_certstor.cpp:140,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:140,1
    - Dst: Botan::Certificate_Store_In_SQLite::generate_crls
      Src: /src/botan/src/tests/test_certstor.cpp:143,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:145,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor.cpp:145,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:146,1
    - Dst: is_revoked
      Src: /src/botan/src/tests/test_certstor.cpp:148,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:148,1
    - Dst: is_revoked
      Src: /src/botan/src/tests/test_certstor.cpp:148,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:148,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:150,1
    - Dst: is_revoked
      Src: /src/botan/src/tests/test_certstor.cpp:152,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:152,1
    - Dst: is_revoked
      Src: /src/botan/src/tests/test_certstor.cpp:152,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:152,1
    - Dst: Botan::Certificate_Store_In_SQLite::affirm_cert
      Src: /src/botan/src/tests/test_certstor.cpp:156,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:156,1
    - Dst: Botan::Certificate_Store_In_SQLite::generate_crls
      Src: /src/botan/src/tests/test_certstor.cpp:159,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:161,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor.cpp:161,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:162,1
    - Dst: is_revoked
      Src: /src/botan/src/tests/test_certstor.cpp:163,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:163,1
    - Dst: Botan::Certificate_Store_In_SQLite::find_crl_for
      Src: /src/botan/src/tests/test_certstor.cpp:166,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:166,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:168,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:169,1
    - Dst: auto::get_revoked
      Src: /src/botan/src/tests/test_certstor.cpp:169,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:170,1
    - Dst: auto::is_revoked
      Src: /src/botan/src/tests/test_certstor.cpp:171,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:171,1
    - Dst: Botan::Certificate_Store_In_SQLite::find_crl_for
      Src: /src/botan/src/tests/test_certstor.cpp:173,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:173,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:175,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:179,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor.cpp:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - ' certsandkeys'
    argTypes:
    - std::vector<CertificateAndKey>
    constantsTouched: []
    func_position:
      end: 182
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 182
    functionName: Botan_Tests::test_certstor_sqlite3_crl_test
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached:
    - certificate
    - Botan::Certificate_Store_In_SQLite::find_crl_for
    - auto::random_vec
    - what
    - Test::Result::test_failure
    - Botan::Certificate_Store_In_SQLite::revoke_cert
    - Botan::Certificate_Store_In_SQLite::insert_cert
    - is_revoked
    - auto::get_revoked
    - Botan::Certificate_Store_In_SQLite::affirm_cert
    - auto::size
    - Test::Result::test_eq
    - Botan_Tests::Test::new_rng
    - reinterpret_cast<const char*>
    - Botan::Certificate_Store_In_SQLite::generate_crls
    - auto::is_revoked
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_certstor_sqlite3_crl_test(const std::vector<CertificateAndKey>&
      certsandkeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_certstor.cpp:187,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_certstor.cpp:188,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_certstor.cpp:188,1
    - Dst: Botan::Certificate_Store_In_SQLite::insert_cert
      Src: /src/botan/src/tests/test_certstor.cpp:193,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:193,1
    - Dst: Botan::Certificate_Store_In_SQLite::all_subjects
      Src: /src/botan/src/tests/test_certstor.cpp:196,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:198,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor.cpp:198,1
    - Dst: to_string
      Src: /src/botan/src/tests/test_certstor.cpp:201,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:203,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:204,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:204,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:205,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:205,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:206,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:206,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:211,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor.cpp:211,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - ' certsandkeys'
    argTypes:
    - std::vector<CertificateAndKey>
    constantsTouched: []
    func_position:
      end: 214
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 214
    functionName: Botan_Tests::test_certstor_sqlite3_all_subjects_test
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached:
    - certificate
    - auto::random_vec
    - what
    - Test::Result::test_failure
    - Botan::Certificate_Store_In_SQLite::all_subjects
    - Botan::Certificate_Store_In_SQLite::insert_cert
    - subject_dn
    - to_string
    - auto::size
    - Test::Result::test_eq
    - Botan_Tests::Test::new_rng
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_certstor_sqlite3_all_subjects_test(const std::vector<CertificateAndKey>&
      certsandkeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::new_rng
      Src: /src/botan/src/tests/test_certstor.cpp:219,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/tests/test_certstor.cpp:220,1
    - Dst: auto::random_vec
      Src: /src/botan/src/tests/test_certstor.cpp:220,1
    - Dst: Botan::Certificate_Store_In_SQLite::insert_cert
      Src: /src/botan/src/tests/test_certstor.cpp:225,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:225,1
    - Dst: Botan::Certificate_Store_In_SQLite::find_all_certs
      Src: /src/botan/src/tests/test_certstor.cpp:229,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:229,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:229,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor.cpp:230,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:231,1
    - Dst: subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:234,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_certstor.cpp:235,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:236,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_certstor.cpp:241,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_certstor.cpp:241,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/tests/test_certstor.cpp:243,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_certstor.cpp:243,1
    - Dst: Botan::Certificate_Store_In_SQLite::insert_cert
      Src: /src/botan/src/tests/test_certstor.cpp:245,1
    - Dst: Botan::Certificate_Store_In_SQLite::insert_cert
      Src: /src/botan/src/tests/test_certstor.cpp:246,1
    - Dst: Botan::Certificate_Store_In_SQLite::find_all_certs
      Src: /src/botan/src/tests/test_certstor.cpp:247,1
    - Dst: Botan::X509_Certificate::subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:247,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor.cpp:249,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:250,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/test_certstor.cpp:250,1
    - Dst: auto::size
      Src: /src/botan/src/tests/test_certstor.cpp:250,1
    - Dst: Botan::X509_Certificate::subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:253,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_certstor.cpp:254,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:256,1
    - Dst: auto::at
      Src: /src/botan/src/tests/test_certstor.cpp:258,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:259,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:262,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor.cpp:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' certsandkeys'
    argTypes:
    - std::vector<CertificateAndKey>
    constantsTouched: []
    func_position:
      end: 266
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 266
    functionName: Botan_Tests::test_certstor_sqlite3_find_all_certs_test
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached:
    - certificate
    - Botan::X509_Certificate
    - auto::random_vec
    - what
    - std::to_string
    - Botan::Certificate_Store_In_SQLite::find_all_certs
    - Test::Result::test_failure
    - Botan_Tests::Test::data_file
    - Botan::Certificate_Store_In_SQLite::insert_cert
    - subject_dn
    - auto::at
    - auto::size
    - Test::Result::test_eq
    - Botan_Tests::Test::new_rng
    - reinterpret_cast<const char*>
    - Botan::X509_Certificate::subject_dn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_certstor_sqlite3_find_all_certs_test(const std::vector<CertificateAndKey>&
      certsandkeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/tests/test_certstor.cpp:274,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/tests/test_certstor.cpp:277,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:277,1
    - Dst: certificate
      Src: /src/botan/src/tests/test_certstor.cpp:281,1
    - Dst: raw_subject_dn_sha256
      Src: /src/botan/src/tests/test_certstor.cpp:282,1
    - Dst: Botan::Certificate_Store_In_Memory::find_cert_by_raw_subject_dn_sha256
      Src: /src/botan/src/tests/test_certstor.cpp:284,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:286,1
    - Dst: fingerprint
      Src: /src/botan/src/tests/test_certstor.cpp:286,1
    - Dst: Test::Result::test_eq
      Src: /src/botan/src/tests/test_certstor.cpp:290,1
    - Dst: auto::raw_subject_dn_sha256
      Src: /src/botan/src/tests/test_certstor.cpp:290,1
    - Dst: Botan::Certificate_Store_In_Memory::find_cert_by_raw_subject_dn_sha256
      Src: /src/botan/src/tests/test_certstor.cpp:293,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/tests/test_certstor.cpp:293,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:295,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:301,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor.cpp:301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' certsandkeys'
    argTypes:
    - std::vector<CertificateAndKey>
    constantsTouched: []
    func_position:
      end: 304
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 304
    functionName: Botan_Tests::test_certstor_find_hash_subject
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached:
    - certificate
    - raw_subject_dn_sha256
    - fingerprint
    - what
    - Botan::Certificate_Store_In_Memory::add_certificate
    - auto::raw_subject_dn_sha256
    - Test::Result::test_failure
    - std::vector<uint8_t>
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Test::Result::test_eq
    - Botan::Certificate_Store_In_Memory::find_cert_by_raw_subject_dn_sha256
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_certstor_find_hash_subject(const std::vector<CertificateAndKey>&
      certsandkeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_dir
      Src: /src/botan/src/tests/test_certstor.cpp:310,1
    - Dst: Test::Result::test_note
      Src: /src/botan/src/tests/test_certstor.cpp:313,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_certstor.cpp:318,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_certstor.cpp:319,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor.cpp:321,1
    - Dst: Botan::Certificate_Store_In_Memory::find_cert
      Src: /src/botan/src/tests/test_certstor.cpp:321,1
    - Dst: Botan::X509_Certificate::subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:321,1
    - Dst: Test::Result::confirm
      Src: /src/botan/src/tests/test_certstor.cpp:322,1
    - Dst: Botan::Certificate_Store_In_Memory::find_cert
      Src: /src/botan/src/tests/test_certstor.cpp:322,1
    - Dst: Botan::X509_Certificate::subject_dn
      Src: /src/botan/src/tests/test_certstor.cpp:322,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:325,1
    - Dst: what
      Src: /src/botan/src/tests/test_certstor.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 328
    functionName: Botan_Tests::test_certstor_load_allcert
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached:
    - Test::Result::test_note
    - what
    - Test::Result::confirm
    - Botan_Tests::Test::data_file
    - Test::Result::test_failure
    - Botan::Certificate_Store_In_Memory::find_cert
    - Botan_Tests::Test::data_dir
    - Botan::X509_Certificate::subject_dn
    linkageType: ''
    returnType: Test::Result
    signature: Test::Result test_certstor_load_allcert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_certstor.cpp:348,1
    - Dst: Botan_Tests::Test::data_file
      Src: /src/botan/src/tests/test_certstor.cpp:351,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/tests/test_certstor.cpp:353,1
    - Dst: Test::Result::test_failure
      Src: /src/botan/src/tests/test_certstor.cpp:357,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor.cpp:361,1
    - Dst: CertificateAndKey
      Src: /src/botan/src/tests/test_certstor.cpp:361,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor.cpp:366,1
    - Dst: test_certstor_find_hash_subject
      Src: /src/botan/src/tests/test_certstor.cpp:366,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor.cpp:367,1
    - Dst: test_certstor_load_allcert
      Src: /src/botan/src/tests/test_certstor.cpp:367,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor.cpp:369,1
    - Dst: test_certstor_sqlite3_insert_find_remove_test
      Src: /src/botan/src/tests/test_certstor.cpp:369,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor.cpp:370,1
    - Dst: test_certstor_sqlite3_crl_test
      Src: /src/botan/src/tests/test_certstor.cpp:370,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor.cpp:371,1
    - Dst: test_certstor_sqlite3_all_subjects_test
      Src: /src/botan/src/tests/test_certstor.cpp:371,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/test_certstor.cpp:372,1
    - Dst: test_certstor_sqlite3_find_all_certs_test
      Src: /src/botan/src/tests/test_certstor.cpp:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 375
    functionName: Botan_Tests::Certstor_Tests::run
    functionSourceFile: /src/botan/src/tests/test_certstor.cpp
    functionUses: 0
    functionsReached:
    - test_certstor_load_allcert
    - Botan::PKCS8::load_key
    - test_certstor_sqlite3_find_all_certs_test
    - Test::Result::test_failure
    - Botan_Tests::Test::data_file
    - std::vector::push_back
    - CertificateAndKey
    - test_certstor_sqlite3_insert_find_remove_test
    - test_certstor_sqlite3_all_subjects_test
    - test_certstor_find_hash_subject
    - test_certstor_sqlite3_crl_test
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verbose
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' opts'
    - ' output_stream'
    argTypes:
    - Test_Options
    - std::ostream
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: Botan_Tests::StdoutReporter::StdoutReporter
    functionSourceFile: /src/botan/src/tests/runner/test_stdout_reporter.cpp
    functionUses: 0
    functionsReached:
    - verbose
    linkageType: ''
    returnType: void
    signature: void StdoutReporter::StdoutReporter(const Test_Options& opts, std::ostream&
      output_stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: current_test_run
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:18,1
    - Dst: Botan_Tests::StdoutReporter::render_preamble
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:19,1
    - Dst: Botan_Tests::StdoutReporter::clear
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: Botan_Tests::StdoutReporter::next_run
    functionSourceFile: /src/botan/src/tests/runner/test_stdout_reporter.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::StdoutReporter::clear
    - Botan_Tests::StdoutReporter::render_preamble
    - current_test_run
    linkageType: ''
    returnType: void
    signature: void StdoutReporter::next_run()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan_Tests::StdoutReporter::next_testsuite
    functionSourceFile: /src/botan/src/tests/runner/test_stdout_reporter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StdoutReporter::next_testsuite(const std::string& name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: result_string
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:29,1
    - Dst: tests_run
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:31,1
    - Dst: insert
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' name'
    - ' result'
    argTypes:
    - std::string
    - Test::Result
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: Botan_Tests::StdoutReporter::record
    functionSourceFile: /src/botan/src/tests/runner/test_stdout_reporter.cpp
    functionUses: 0
    functionsReached:
    - tests_run
    - result_string
    - insert
    linkageType: ''
    returnType: void
    signature: void StdoutReporter::record(const std::string& name, const Test::Result&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::StdoutReporter::render_summary
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan_Tests::StdoutReporter::render
    functionSourceFile: /src/botan/src/tests/runner/test_stdout_reporter.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::StdoutReporter::render_summary
    linkageType: ''
    returnType: void
    signature: void StdoutReporter::render() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::StdoutReporter::clear
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: Botan_Tests::StdoutReporter::clear
    functionSourceFile: /src/botan/src/tests/runner/test_stdout_reporter.cpp
    functionUses: 2
    functionsReached:
    - Botan_Tests::StdoutReporter::clear
    linkageType: ''
    returnType: void
    signature: void StdoutReporter::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::version_string
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:51,1
    - Dst: properties
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:53,1
    - Dst: properties
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: Botan_Tests::StdoutReporter::render_preamble
    functionSourceFile: /src/botan/src/tests/runner/test_stdout_reporter.cpp
    functionUses: 1
    functionsReached:
    - Botan::version_string
    - properties
    linkageType: ''
    returnType: void
    signature: void StdoutReporter::render_preamble() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elapsed_time
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:63,1
    - Dst: total_test_runs
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:65,1
    - Dst: current_test_run
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:68,1
    - Dst: total_test_runs
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:68,1
    - Dst: Botan_Tests::Test::format_time
      Src: /src/botan/src/tests/runner/test_stdout_reporter.cpp:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 91
    functionName: Botan_Tests::StdoutReporter::render_summary
    functionSourceFile: /src/botan/src/tests/runner/test_stdout_reporter.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::Test::format_time
    - total_test_runs
    - elapsed_time
    - current_test_run
    linkageType: ''
    returnType: void
    signature: void StdoutReporter::render_summary() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/runner/test_reporter.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_Tests::TestSummary::passed
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool passed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/runner/test_reporter.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_Tests::TestSummary::failed
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool failed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/tests/runner/test_reporter.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan_Tests::Testsuite::tests_run
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t tests_run() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '& name() const'
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: '& results() const'
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<TestSummary>
    signature: std::vector<TestSummary> & results() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: ~Reporter()
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Reporter()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Botan_Tests::Reporter::Reporter
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reporter(const Reporter&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '& operator=(const Reporter&)'
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Reporter
    signature: Reporter & operator=(const Reporter&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan_Tests::Reporter::Reporter
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reporter(Reporter&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: '& operator=(Reporter&&)'
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Reporter
    signature: Reporter & operator=(Reporter&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: Botan_Tests::Reporter::render
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void render() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/tests/runner/test_reporter.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: Botan_Tests::Reporter::next_testsuite
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void next_testsuite(const std::string& name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: '& properties() const'
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PropertyMap
    signature: PropertyMap & properties() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: '& testsuites() const'
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestsuiteMap
    signature: TestsuiteMap & testsuites() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: Botan_Tests::Reporter::current_test_run
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t current_test_run() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: Botan_Tests::Reporter::total_test_runs
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t total_test_runs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/tests/runner/test_reporter.cpp:19,1
    - Dst: has_value
      Src: /src/botan/src/tests/runner/test_reporter.cpp:19,1
    - Dst: value
      Src: /src/botan/src/tests/runner/test_reporter.cpp:23,1
    - Dst: value
      Src: /src/botan/src/tests/runner/test_reporter.cpp:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - std::optional<T>
    - std::optional<T>
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: operator+(const std::optional<T>& a, const std::optional<T>& b)
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - value
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> operator+(const std::optional<T>& a, const std::optional<T>&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: who
      Src: /src/botan/src/tests/runner/test_reporter.cpp:29,1
    - Dst: code_location
      Src: /src/botan/src/tests/runner/test_reporter.cpp:30,1
    - Dst: tests_run
      Src: /src/botan/src/tests/runner/test_reporter.cpp:31,1
    - Dst: notes
      Src: /src/botan/src/tests/runner/test_reporter.cpp:32,1
    - Dst: failures
      Src: /src/botan/src/tests/runner/test_reporter.cpp:33,1
    - Dst: timestamp
      Src: /src/botan/src/tests/runner/test_reporter.cpp:34,1
    - Dst: elapsed_time
      Src: /src/botan/src/tests/runner/test_reporter.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: Botan_Tests::TestSummary::TestSummary
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - timestamp
    - code_location
    - who
    - tests_run
    - failures
    - notes
    - elapsed_time
    linkageType: ''
    returnType: void
    signature: void TestSummary::TestSummary(const Test::Result& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/runner/test_reporter.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan_Tests::Testsuite::Testsuite
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Testsuite::Testsuite(std::string name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/botan/src/tests/runner/test_reporter.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Test::Result
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan_Tests::Testsuite::record
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void Testsuite::record(const Test::Result& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::count_if
      Src: /src/botan/src/tests/runner/test_reporter.cpp:44,1
    - Dst: begin
      Src: /src/botan/src/tests/runner/test_reporter.cpp:44,1
    - Dst: end
      Src: /src/botan/src/tests/runner/test_reporter.cpp:44,1
    - Dst: passed
      Src: /src/botan/src/tests/runner/test_reporter.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan_Tests::Testsuite::tests_passed
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - begin
    - passed
    - end
    - std::count_if
    linkageType: ''
    returnType: size_t
    signature: size_t Testsuite::tests_passed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::count_if
      Src: /src/botan/src/tests/runner/test_reporter.cpp:48,1
    - Dst: begin
      Src: /src/botan/src/tests/runner/test_reporter.cpp:48,1
    - Dst: end
      Src: /src/botan/src/tests/runner/test_reporter.cpp:48,1
    - Dst: failed
      Src: /src/botan/src/tests/runner/test_reporter.cpp: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: Botan_Tests::Testsuite::tests_failed
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - begin
    - failed
    - end
    - std::count_if
    linkageType: ''
    returnType: size_t
    signature: size_t Testsuite::tests_failed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform_reduce
      Src: /src/botan/src/tests/runner/test_reporter.cpp:52,1
    - Dst: begin
      Src: /src/botan/src/tests/runner/test_reporter.cpp:53,1
    - Dst: end
      Src: /src/botan/src/tests/runner/test_reporter.cpp:54,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/tests/runner/test_reporter.cpp:55,1
    - Dst: std::min
      Src: /src/botan/src/tests/runner/test_reporter.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: Botan_Tests::Testsuite::timestamp
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - begin
    - std::min
    - std::transform_reduce
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - end
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point Testsuite::timestamp() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform_reduce
      Src: /src/botan/src/tests/runner/test_reporter.cpp:61,1
    - Dst: begin
      Src: /src/botan/src/tests/runner/test_reporter.cpp:62,1
    - Dst: end
      Src: /src/botan/src/tests/runner/test_reporter.cpp:63,1
    - Dst: std::make_optional
      Src: /src/botan/src/tests/runner/test_reporter.cpp:64,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/tests/runner/test_reporter.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: Botan_Tests::Testsuite::elapsed_time
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - begin
    - std::make_optional
    - std::transform_reduce
    - end
    linkageType: ''
    returnType: std::optional<std::chrono::nanoseconds>
    signature: std::optional<std::chrono::nanoseconds> Testsuite::elapsed_time() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_runs
      Src: /src/botan/src/tests/runner/test_reporter.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' opts'
    argTypes:
    - Test_Options
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan_Tests::Reporter::Reporter
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - test_runs
    linkageType: ''
    returnType: void
    signature: void Reporter::Reporter(const Test_Options& opts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert_or_assign
      Src: /src/botan/src/tests/runner/test_reporter.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Botan_Tests::Reporter::set_property
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - insert_or_assign
    linkageType: ''
    returnType: void
    signature: void Reporter::set_property(const std::string& name, const std::string&
      value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/runner/test_reporter.cpp:76,1
    - Dst: clear
      Src: /src/botan/src/tests/runner/test_reporter.cpp:78,1
    - Dst: next_run
      Src: /src/botan/src/tests/runner/test_reporter.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: Botan_Tests::Reporter::next_test_run
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - clear
    - Botan::TLS::detail::AsyncBase::complete_now
    - next_run
    linkageType: ''
    returnType: void
    signature: void Reporter::next_test_run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_emplace
      Src: /src/botan/src/tests/runner/test_reporter.cpp:84,1
    - Dst: Botan_Tests::Reporter::record
      Src: /src/botan/src/tests/runner/test_reporter.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - ' result'
    argTypes:
    - std::string
    - Test::Result
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: Botan_Tests::Reporter::record
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 1
    functionsReached:
    - try_emplace
    - Botan_Tests::Reporter::record
    linkageType: ''
    returnType: void
    signature: void Reporter::record(const std::string& name, const Test::Result&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Reporter::next_testsuite
      Src: /src/botan/src/tests/runner/test_reporter.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' test_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan_Tests::Reporter::waiting_for_next_results
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Reporter::next_testsuite
    linkageType: ''
    returnType: void
    signature: void Reporter::waiting_for_next_results(const std::string& test_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: who
      Src: /src/botan/src/tests/runner/test_reporter.cpp:95,1
    - Dst: std::map::find
      Src: /src/botan/src/tests/runner/test_reporter.cpp:96,1
    - Dst: std::map::end
      Src: /src/botan/src/tests/runner/test_reporter.cpp:97,1
    - Dst: std::map::insert
      Src: /src/botan/src/tests/runner/test_reporter.cpp:98,1
    - Dst: std::make_pair
      Src: /src/botan/src/tests/runner/test_reporter.cpp:98,1
    - Dst: Botan_Tests::Test::Result::Result
      Src: /src/botan/src/tests/runner/test_reporter.cpp:98,1
    - Dst: std::map::find
      Src: /src/botan/src/tests/runner/test_reporter.cpp:99,1
    - Dst: auto::second::merge
      Src: /src/botan/src/tests/runner/test_reporter.cpp:102,1
    - Dst: Botan_Tests::Reporter::record
      Src: /src/botan/src/tests/runner/test_reporter.cpp:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' testsuite_name'
    - ' results'
    argTypes:
    - std::string
    - std::vector<Botan_Tests::Test::Result>
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: Botan_Tests::Reporter::record
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 2
    functionsReached:
    - std::map::find
    - std::map::insert
    - std::map::end
    - who
    - Botan_Tests::Test::Result::Result
    - Botan_Tests::Reporter::record
    - std::make_pair
    - auto::second::merge
    linkageType: ''
    returnType: void
    signature: void Reporter::record(const std::string& testsuite_name, const std::vector<Botan_Tests::Test::Result>&
      results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform_reduce
      Src: /src/botan/src/tests/runner/test_reporter.cpp:111,1
    - Dst: begin
      Src: /src/botan/src/tests/runner/test_reporter.cpp:112,1
    - Dst: end
      Src: /src/botan/src/tests/runner/test_reporter.cpp:112,1
    - Dst: second::tests_run
      Src: /src/botan/src/tests/runner/test_reporter.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: Botan_Tests::Reporter::tests_run
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - std::transform_reduce
    - begin
    - second::tests_run
    - end
    linkageType: ''
    returnType: size_t
    signature: size_t Reporter::tests_run() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform_reduce
      Src: /src/botan/src/tests/runner/test_reporter.cpp:118,1
    - Dst: begin
      Src: /src/botan/src/tests/runner/test_reporter.cpp:119,1
    - Dst: end
      Src: /src/botan/src/tests/runner/test_reporter.cpp:119,1
    - Dst: second::tests_passed
      Src: /src/botan/src/tests/runner/test_reporter.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: Botan_Tests::Reporter::tests_passed
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - std::transform_reduce
    - begin
    - end
    - second::tests_passed
    linkageType: ''
    returnType: size_t
    signature: size_t Reporter::tests_passed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform_reduce
      Src: /src/botan/src/tests/runner/test_reporter.cpp:125,1
    - Dst: begin
      Src: /src/botan/src/tests/runner/test_reporter.cpp:126,1
    - Dst: end
      Src: /src/botan/src/tests/runner/test_reporter.cpp:126,1
    - Dst: second::tests_failed
      Src: /src/botan/src/tests/runner/test_reporter.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: Botan_Tests::Reporter::tests_failed
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - std::transform_reduce
    - begin
    - second::tests_failed
    - end
    linkageType: ''
    returnType: size_t
    signature: size_t Reporter::tests_failed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/runner/test_reporter.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: Botan_Tests::Reporter::elapsed_time
    functionSourceFile: /src/botan/src/tests/runner/test_reporter.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    linkageType: ''
    returnType: std::chrono::nanoseconds
    signature: std::chrono::nanoseconds Reporter::elapsed_time() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - std::ostream
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan_Tests::Test_Runner::Test_Runner
    functionSourceFile: /src/botan/src/tests/runner/test_runner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Runner::Test_Runner(std::ostream& out)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Test_Runner::~Test_Runner()
    functionSourceFile: /src/botan/src/tests/runner/test_runner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test_Runner::~Test_Runner()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: no_stdout
      Src: /src/botan/src/tests/runner/test_runner.cpp:35,1
    - Dst: emplace_back
      Src: /src/botan/src/tests/runner/test_runner.cpp:36,1
    - Dst: std::make_unique<StdoutReporter>
      Src: /src/botan/src/tests/runner/test_runner.cpp:36,1
    - Dst: output
      Src: /src/botan/src/tests/runner/test_runner.cpp:36,1
    - Dst: xml_results_dir
      Src: /src/botan/src/tests/runner/test_runner.cpp:38,1
    - Dst: emplace_back
      Src: /src/botan/src/tests/runner/test_runner.cpp:40,1
    - Dst: std::make_unique<XmlReporter>
      Src: /src/botan/src/tests/runner/test_runner.cpp:40,1
    - Dst: xml_results_dir
      Src: /src/botan/src/tests/runner/test_runner.cpp:40,1
    - Dst: output
      Src: /src/botan/src/tests/runner/test_runner.cpp:42,1
    - Dst: Botan_Tests::Test::filter_registered_tests
      Src: /src/botan/src/tests/runner/test_runner.cpp:46,1
    - Dst: requested_tests
      Src: /src/botan/src/tests/runner/test_runner.cpp:46,1
    - Dst: skip_tests
      Src: /src/botan/src/tests/runner/test_runner.cpp:46,1
    - Dst: pkcs11_lib
      Src: /src/botan/src/tests/runner/test_runner.cpp:49,1
    - Dst: auto::begin
      Src: /src/botan/src/tests/runner/test_runner.cpp:51,1
    - Dst: auto::end
      Src: /src/botan/src/tests/runner/test_runner.cpp:51,1
    - Dst: find
      Src: /src/botan/src/tests/runner/test_runner.cpp:52,1
    - Dst: auto::erase
      Src: /src/botan/src/tests/runner/test_runner.cpp:53,1
    - Dst: auto::empty
      Src: /src/botan/src/tests/runner/test_runner.cpp:60,1
    - Dst: Test_Error
      Src: /src/botan/src/tests/runner/test_runner.cpp:61,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/tests/runner/test_runner.cpp:64,1
    - Dst: drbg_seed
      Src: /src/botan/src/tests/runner/test_runner.cpp:64,1
    - Dst: std::vector::empty
      Src: /src/botan/src/tests/runner/test_runner.cpp:65,1
    - Dst: std::vector::resize
      Src: /src/botan/src/tests/runner/test_runner.cpp:67,1
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/runner/test_runner.cpp:68,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/runner/test_runner.cpp:68,1
    - Dst: Botan::CPUID::to_string
      Src: /src/botan/src/tests/runner/test_runner.cpp:73,1
    - Dst: std::string::empty
      Src: /src/botan/src/tests/runner/test_runner.cpp:74,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_runner.cpp:75,1
    - Dst: pkcs11_lib
      Src: /src/botan/src/tests/runner/test_runner.cpp:79,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_runner.cpp:80,1
    - Dst: pkcs11_lib
      Src: /src/botan/src/tests/runner/test_runner.cpp:80,1
    - Dst: provider
      Src: /src/botan/src/tests/runner/test_runner.cpp:83,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_runner.cpp:84,1
    - Dst: provider
      Src: /src/botan/src/tests/runner/test_runner.cpp:84,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_runner.cpp:87,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/runner/test_runner.cpp:87,1
    - Dst: Botan_Tests::Test::set_test_options
      Src: /src/botan/src/tests/runner/test_runner.cpp:90,1
    - Dst: test_runs
      Src: /src/botan/src/tests/runner/test_runner.cpp:92,1
    - Dst: Botan_Tests::Test::set_test_rng_seed
      Src: /src/botan/src/tests/runner/test_runner.cpp:93,1
    - Dst: next_test_run
      Src: /src/botan/src/tests/runner/test_runner.cpp:96,1
    - Dst: render
      Src: /src/botan/src/tests/runner/test_runner.cpp:103,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 1
    argNames:
    - ' opts'
    argTypes:
    - Test_Options
    constantsTouched: []
    func_position:
      end: 112
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 112
    functionName: Botan_Tests::Test_Runner::run
    functionSourceFile: /src/botan/src/tests/runner/test_runner.cpp
    functionUses: 1
    functionsReached:
    - requested_tests
    - provider
    - auto::begin
    - std::string::empty
    - Botan::CPUID::to_string
    - drbg_seed
    - next_test_run
    - Botan_Tests::Test::filter_registered_tests
    - test_runs
    - xml_results_dir
    - output
    - Botan_Tests::Test::set_test_rng_seed
    - std::vector::empty
    - Botan_Tests::Test::set_test_options
    - auto::end
    - Botan::hex_decode
    - std::vector::data
    - std::vector::resize
    - no_stdout
    - std::make_unique<StdoutReporter>
    - auto::erase
    - Test_Error
    - find
    - Botan::hex_encode
    - pkcs11_lib
    - render
    - set_property
    - skip_tests
    - std::make_unique<XmlReporter>
    - emplace_back
    - auto::empty
    - Botan::store_be
    linkageType: ''
    returnType: bool
    signature: bool Test_Runner::run(const Test_Options& opts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/tests/runner/test_runner.cpp:121,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/runner/test_runner.cpp:122,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/runner/test_runner.cpp:122,1
    - Dst: Botan_Tests::Test::get_test
      Src: /src/botan/src/tests/runner/test_runner.cpp:127,1
    - Dst: std::unique_ptr::run
      Src: /src/botan/src/tests/runner/test_runner.cpp:128,1
    - Dst: code_location
      Src: /src/botan/src/tests/runner/test_runner.cpp:130,1
    - Dst: std::unique_ptr::registration_location
      Src: /src/botan/src/tests/runner/test_runner.cpp:130,1
    - Dst: set_code_location
      Src: /src/botan/src/tests/runner/test_runner.cpp:133,1
    - Dst: std::unique_ptr::registration_location
      Src: /src/botan/src/tests/runner/test_runner.cpp:133,1
    - Dst: std::vector::insert
      Src: /src/botan/src/tests/runner/test_runner.cpp:136,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/runner/test_runner.cpp:136,1
    - Dst: std::vector::begin
      Src: /src/botan/src/tests/runner/test_runner.cpp:136,1
    - Dst: std::vector::end
      Src: /src/botan/src/tests/runner/test_runner.cpp:136,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/runner/test_runner.cpp:138,1
    - Dst: Botan_Tests::Test::Result::Note
      Src: /src/botan/src/tests/runner/test_runner.cpp:138,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/runner/test_runner.cpp:141,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/runner/test_runner.cpp:141,1
    - Dst: what
      Src: /src/botan/src/tests/runner/test_runner.cpp:141,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/runner/test_runner.cpp:143,1
    - Dst: Botan_Tests::Test::Result::Failure
      Src: /src/botan/src/tests/runner/test_runner.cpp:143,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - ' test_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 147
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 147
    functionName: Botan_Tests::run_a_test
    functionSourceFile: /src/botan/src/tests/runner/test_runner.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test::Result::Failure
    - Botan_Tests::Test::Result::Note
    - code_location
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - what
    - std::vector::begin
    - std::vector::push_back
    - std::unique_ptr::registration_location
    - set_code_location
    - std::vector::insert
    - std::vector::end
    - Botan_Tests::Test::get_test
    - std::unique_ptr::run
    linkageType: ''
    returnType: std::vector<Test::Result>
    signature: std::vector<Test::Result> run_a_test(const std::string& test_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::all_of
      Src: /src/botan/src/tests/runner/test_runner.cpp:150,1
    - Dst: begin
      Src: /src/botan/src/tests/runner/test_runner.cpp:150,1
    - Dst: end
      Src: /src/botan/src/tests/runner/test_runner.cpp:150,1
    - Dst: tests_failed
      Src: /src/botan/src/tests/runner/test_runner.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - std::vector<Test::Result>
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: Botan_Tests::all_passed
    functionSourceFile: /src/botan/src/tests/runner/test_runner.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - std::all_of
    - tests_failed
    linkageType: ''
    returnType: bool
    signature: bool all_passed(const std::vector<Test::Result>& results)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/tests/runner/test_runner.cpp:157,1
    - Dst: output
      Src: /src/botan/src/tests/runner/test_runner.cpp:160,1
    - Dst: Botan_Tests::Test_Runner::run_tests
      Src: /src/botan/src/tests/runner/test_runner.cpp:161,1
    - Dst: Botan::RWLock::RWLock
      Src: /src/botan/src/tests/runner/test_runner.cpp:165,1
    - Dst: run_a_test
      Src: /src/botan/src/tests/runner/test_runner.cpp:171,1
    - Dst: run_a_test
      Src: /src/botan/src/tests/runner/test_runner.cpp:176,1
    - Dst: Botan_Tests::Test::test_needs_serialization
      Src: /src/botan/src/tests/runner/test_runner.cpp:180,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/runner/test_runner.cpp:181,1
    - Dst: Botan::Thread_Pool::run
      Src: /src/botan/src/tests/runner/test_runner.cpp:181,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/tests/runner/test_runner.cpp:183,1
    - Dst: Botan::Thread_Pool::run
      Src: /src/botan/src/tests/runner/test_runner.cpp:183,1
    - Dst: std::vector::size
      Src: /src/botan/src/tests/runner/test_runner.cpp:188,1
    - Dst: waiting_for_next_results
      Src: /src/botan/src/tests/runner/test_runner.cpp:190,1
    - Dst: get
      Src: /src/botan/src/tests/runner/test_runner.cpp:192,1
    - Dst: record
      Src: /src/botan/src/tests/runner/test_runner.cpp:194,1
    - Dst: all_passed
      Src: /src/botan/src/tests/runner/test_runner.cpp:196,1
    - Dst: Botan::Thread_Pool::shutdown
      Src: /src/botan/src/tests/runner/test_runner.cpp:199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - ' tests_to_run'
    - test_threads
    argTypes:
    - std::vector<std::string>
    - size_t
    constantsTouched: []
    func_position:
      end: 203
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 203
    functionName: Botan_Tests::Test_Runner::run_tests_multithreaded
    functionSourceFile: /src/botan/src/tests/runner/test_runner.cpp
    functionUses: 0
    functionsReached:
    - output
    - std::vector::size
    - BOTAN_ASSERT_NOMSG
    - Botan_Tests::Test_Runner::run_tests
    - waiting_for_next_results
    - Botan_Tests::Test::test_needs_serialization
    - all_passed
    - run_a_test
    - Botan::RWLock::RWLock
    - std::vector::push_back
    - Botan::Thread_Pool::run
    - get
    - record
    - Botan::Thread_Pool::shutdown
    linkageType: ''
    returnType: bool
    signature: bool Test_Runner::run_tests_multithreaded(const std::vector<std::string>&
      tests_to_run, size_t test_threads)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: waiting_for_next_results
      Src: /src/botan/src/tests/runner/test_runner.cpp:209,1
    - Dst: run_a_test
      Src: /src/botan/src/tests/runner/test_runner.cpp:211,1
    - Dst: record
      Src: /src/botan/src/tests/runner/test_runner.cpp:214,1
    - Dst: all_passed
      Src: /src/botan/src/tests/runner/test_runner.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' tests_to_run'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: Botan_Tests::Test_Runner::run_tests
    functionSourceFile: /src/botan/src/tests/runner/test_runner.cpp
    functionUses: 1
    functionsReached:
    - record
    - waiting_for_next_results
    - all_passed
    - run_a_test
    linkageType: ''
    returnType: bool
    signature: bool Test_Runner::run_tests(const std::vector<std::string>& tests_to_run)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:44,1
    - Dst: std::setw
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:44,1
    - Dst: std::setw
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:44,1
    - Dst: std::setw
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:44,1
    - Dst: std::setw
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:45,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 51
    functionName: Botan_Tests::full_compiler_version_string
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 0
    functionsReached:
    - std::setfill
    - std::setw
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string full_compiler_version_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: Botan_Tests::full_compiler_name_string
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string full_compiler_name_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:69,1
    - Dst: Botan_Tests::Test::format_time
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:71,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' tp'
    argTypes:
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: Botan_Tests::format
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 1
    functionsReached:
    - std::chrono::system_clock::to_time_t
    - std::to_string
    - Botan_Tests::Test::format_time
    linkageType: ''
    returnType: std::string
    signature: std::string format(const std::chrono::system_clock::time_point& tp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::precision
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:81,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' dur'
    argTypes:
    - std::chrono::nanoseconds
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: Botan_Tests::format
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 1
    functionsReached:
    - std::ostringstream::precision
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string format(const std::chrono::nanoseconds& dur)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:89,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:90,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:91,1
    - Dst: full_compiler_name_string
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:91,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:92,1
    - Dst: full_compiler_version_string
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:92,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:93,1
    - Dst: format
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:93,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:93,1
    - Dst: report_properties
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:94,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' opts'
    - output_dir
    argTypes:
    - Test_Options
    - std::string
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: Botan_Tests::XmlReporter::XmlReporter
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 0
    functionsReached:
    - full_compiler_name_string
    - Botan::TLS::detail::AsyncBase::complete_now
    - format
    - full_compiler_version_string
    - std::move
    - report_properties
    - set_property
    linkageType: ''
    returnType: void
    signature: void XmlReporter::XmlReporter(const Test_Options& opts, std::string
      output_dir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:101,1
    - Dst: has_value
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:101,1
    - Dst: good
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:101,1
    - Dst: Botan_Tests::XmlReporter::render_preamble
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:103,1
    - Dst: value
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:103,1
    - Dst: Botan_Tests::XmlReporter::render_testsuites
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:104,1
    - Dst: value
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: Botan_Tests::XmlReporter::render
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::XmlReporter::render_preamble
    - BOTAN_STATE_CHECK
    - Botan_Tests::XmlReporter::render_testsuites
    - value
    - has_value
    - good
    linkageType: ''
    returnType: void
    signature: void XmlReporter::render() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::store_be
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:110,1
    - Dst: std::vector::data
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:110,1
    - Dst: Botan::short_version_string
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:114,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:114,1
    - Dst: std::stringstream::str
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: Botan_Tests::XmlReporter::get_unique_output_filename
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 0
    functionsReached:
    - Botan::short_version_string
    - std::stringstream::str
    - Botan::hex_encode
    - Botan::store_be
    - std::vector::data
    linkageType: ''
    returnType: std::string
    signature: std::string XmlReporter::get_unique_output_filename() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:120,1
    - Dst: reset
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:121,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:124,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:124,1
    - Dst: current_test_run
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:124,1
    - Dst: set_property
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:125,1
    - Dst: std::to_string
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:125,1
    - Dst: total_test_runs
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:125,1
    - Dst: Botan_Tests::XmlReporter::get_unique_output_filename
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:126,1
    - Dst: std::ofstream
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:127,1
    - Dst: good
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:129,1
    - Dst: Botan::System_Error::System_Error
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:132,1
    - Dst: std::stringstream::str
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: Botan_Tests::XmlReporter::next_run
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 0
    functionsReached:
    - std::ofstream
    - std::to_string
    - total_test_runs
    - reset
    - Botan_Tests::XmlReporter::get_unique_output_filename
    - Botan::System_Error::System_Error
    - std::stringstream::str
    - has_value
    - set_property
    - current_test_run
    - good
    linkageType: ''
    returnType: void
    signature: void XmlReporter::next_run()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:143,1
    - Dst: find
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:147,1
    - Dst: size
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:147,1
    - Dst: Botan_Tests::replace
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:148,1
    - Dst: size
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' str'
    - ' from'
    - ' to'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: Botan_Tests::replace
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 1
    functionsReached:
    - empty
    - Botan_Tests::replace
    - size
    - find
    linkageType: ''
    returnType: void
    signature: void replace(std::string& str, const std::string& from, const std::string&
      to)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::replace
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:153,1
    - Dst: Botan_Tests::replace
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:154,1
    - Dst: Botan_Tests::replace
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:155,1
    - Dst: Botan_Tests::replace
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:156,1
    - Dst: Botan_Tests::replace
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: Botan_Tests::escape
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::replace
    linkageType: ''
    returnType: std::string
    signature: std::string escape(std::string str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::replace
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:170,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 177
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 177
    functionName: Botan_Tests::format_cdata
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::replace
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string format_cdata(std::string str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - std::ostream
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: Botan_Tests::XmlReporter::render_preamble
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XmlReporter::render_preamble(std::ostream& out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: properties
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:186,1
    - Dst: properties
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:191,1
    - Dst: escape
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:193,1
    - Dst: escape
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - std::ostream
    constantsTouched: []
    func_position:
      end: 198
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 198
    functionName: Botan_Tests::XmlReporter::render_properties
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 0
    functionsReached:
    - properties
    - escape
    linkageType: ''
    returnType: void
    signature: void XmlReporter::render_properties(std::ostream& out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tests_run
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:203,1
    - Dst: tests_failed
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:204,1
    - Dst: format
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:205,1
    - Dst: elapsed_time
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:205,1
    - Dst: Botan_Tests::XmlReporter::render_properties
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:210,1
    - Dst: testsuites
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:212,1
    - Dst: Botan_Tests::XmlReporter::render_testsuite
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - std::ostream
    constantsTouched: []
    func_position:
      end: 217
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 217
    functionName: Botan_Tests::XmlReporter::render_testsuites
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 1
    functionsReached:
    - format
    - Botan_Tests::XmlReporter::render_properties
    - testsuites
    - tests_failed
    - tests_run
    - Botan_Tests::XmlReporter::render_testsuite
    - elapsed_time
    linkageType: ''
    returnType: void
    signature: void XmlReporter::render_testsuites(std::ostream& out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: escape
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:221,1
    - Dst: name
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:221,1
    - Dst: tests_run
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:222,1
    - Dst: tests_failed
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:223,1
    - Dst: format
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:224,1
    - Dst: timestamp
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:224,1
    - Dst: elapsed_time
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:226,1
    - Dst: auto::has_value
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:227,1
    - Dst: format
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:228,1
    - Dst: auto::value
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:228,1
    - Dst: results
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:231,1
    - Dst: results
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:236,1
    - Dst: Botan_Tests::XmlReporter::render_testcase
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ' out'
    - ' suite'
    argTypes:
    - std::ostream
    - Testsuite
    constantsTouched: []
    func_position:
      end: 242
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 242
    functionName: Botan_Tests::XmlReporter::render_testsuite
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 1
    functionsReached:
    - timestamp
    - format
    - name
    - auto::value
    - auto::has_value
    - results
    - Botan_Tests::XmlReporter::render_testcase
    - tests_failed
    - tests_run
    - elapsed_time
    - escape
    linkageType: ''
    returnType: void
    signature: void XmlReporter::render_testsuite(std::ostream& out, const Testsuite&
      suite) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: escape
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:246,1
    - Dst: format
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:248,1
    - Dst: elapsed_time::has_value
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:250,1
    - Dst: format
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:251,1
    - Dst: elapsed_time::value
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:251,1
    - Dst: code_location::has_value
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:254,1
    - Dst: escape
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:255,1
    - Dst: failures::empty
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:259,1
    - Dst: notes::empty
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:259,1
    - Dst: Botan_Tests::XmlReporter::render_failures_and_stdout
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' out'
    - ' test'
    argTypes:
    - std::ostream
    - TestSummary
    constantsTouched: []
    func_position:
      end: 266
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 266
    functionName: Botan_Tests::XmlReporter::render_testcase
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 1
    functionsReached:
    - format
    - notes::empty
    - code_location::has_value
    - Botan_Tests::XmlReporter::render_failures_and_stdout
    - failures::empty
    - elapsed_time::has_value
    - elapsed_time::value
    - escape
    linkageType: ''
    returnType: void
    signature: void XmlReporter::render_testcase(std::ostream& out, const TestSummary&
      test) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: format_cdata
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:271,1
    - Dst: notes::empty
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:277,1
    - Dst: format_cdata
      Src: /src/botan/src/tests/runner/test_xml_reporter.cpp:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' out'
    - ' test'
    argTypes:
    - std::ostream
    - TestSummary
    constantsTouched: []
    func_position:
      end: 284
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 284
    functionName: Botan_Tests::XmlReporter::render_failures_and_stdout
    functionSourceFile: /src/botan/src/tests/runner/test_xml_reporter.cpp
    functionUses: 1
    functionsReached:
    - format_cdata
    - notes::empty
    linkageType: ''
    returnType: void
    signature: void XmlReporter::render_failures_and_stdout(std::ostream& out, const
      TestSummary& test) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& output() const'
    functionSourceFile: /src/botan/src/tests/runner/test_runner.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & output() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: test_conditional_jump_on_poisoned_data
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void test_conditional_jump_on_poisoned_data(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_array
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:39,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: test_array_access_on_poisoned_data
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    - random_array
    linkageType: ''
    returnType: void
    signature: void test_array_access_on_poisoned_data(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: test_conditional_jump_on_transitively_poisoned_data
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void test_conditional_jump_on_transitively_poisoned_data(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:63,1
    - Dst: random_array
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: test_array_access_on_transitively_poisoned_data
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    - random_array
    linkageType: ''
    returnType: void
    signature: void test_array_access_on_transitively_poisoned_data(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:76,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: test_unpoisen_transitively_poisoned_data
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void test_unpoisen_transitively_poisoned_data(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:89,1
    - Dst: next_byte
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: test_poisoned_and_cleared_data
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - next_byte
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void test_poisoned_and_cleared_data(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next_byte
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:101,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:102,1
    - Dst: next_byte
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: test_conditional_branch_on_unpoisoned_bit
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - next_byte
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void test_conditional_branch_on_unpoisoned_bit(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next_byte
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:117,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:118,1
    - Dst: next_byte
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: test_conditional_branch_on_poisoned_bit
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - next_byte
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void test_conditional_branch_on_poisoned_bit(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next_byte
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:133,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:134,1
    - Dst: memset
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:137,1
    - Dst: std::array::data
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:137,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:156,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 158
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 158
    functionName: test_clang_conditional_jump_on_bare_metal_ct_mask
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - Botan::CT::unpoison
    - Botan::CT::poison
    - memset
    - Botan::hex_encode
    - next_byte
    linkageType: ''
    returnType: void
    signature: void test_clang_conditional_jump_on_bare_metal_ct_mask(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_array
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:161,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:162,1
    - Dst: auto::back
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: test_poison_range
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    - random_array
    - auto::back
    linkageType: ''
    returnType: void
    signature: void test_poison_range(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_array
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:171,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:172,1
    - Dst: copy
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:176,1
    - Dst: auto::begin
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:176,1
    - Dst: auto::end
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:176,1
    - Dst: std::back_inserter
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:176,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:179,1
    - Dst: std::vector::back
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 185
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 185
    functionName: test_unpoison_range
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - copy
    - Botan::CT::unpoison
    - std::back_inserter
    - std::vector::back
    - Botan::CT::poison
    - random_array
    - auto::begin
    - auto::end
    linkageType: ''
    returnType: void
    signature: void test_unpoison_range(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next_byte
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:188,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: test_scoped_poison_inner
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - next_byte
    - Botan::CT::scoped_poison
    linkageType: ''
    returnType: void
    signature: void test_scoped_poison_inner(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next_byte
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:199,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:202,1
    - Dst: next_byte
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 211
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 211
    functionName: test_scoped_poison_outer
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - next_byte
    - Botan::CT::scoped_poison
    linkageType: ''
    returnType: void
    signature: void test_scoped_poison_outer(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next_byte
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:216,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:217,1
    - Dst: memset
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:220,1
    - Dst: std::array::data
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:220,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:225,1
    - Dst: auto::select
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:227,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:230,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 232
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 232
    functionName: regression_test_conditional_jump_in_ct_mask
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - auto::select
    - std::array::data
    - Botan::CT::unpoison
    - Botan::sha512_msg_expand
    - Botan::CT::poison
    - memset
    - Botan::hex_encode
    - next_byte
    linkageType: ''
    returnType: void
    signature: void regression_test_conditional_jump_in_ct_mask(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_array
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:235,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 253
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 253
    functionName: cond_jump_on_shifted_out_secret_data
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    - random_array
    linkageType: ''
    returnType: void
    signature: void cond_jump_on_shifted_out_secret_data(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: print_help
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void print_help(std::string_view path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:286,1
    - Dst: str
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:287,1
    - Dst: str
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' tests'
    argTypes:
    - std::map<std::string, Test>
    constantsTouched: []
    func_position:
      end: 289
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 289
    functionName: list_tests
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - str
    linkageType: ''
    returnType: void
    signature: void list_tests(const std::map<std::string, Test>& tests)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:315,1
    - Dst: print_help
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:321,1
    - Dst: list_tests
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:326,1
    - Dst: std::map::find
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:330,1
    - Dst: std::map::end
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:331,1
    - Dst: Botan::CT::poison_has_effect
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:341,1
    - Dst: auto::second::test
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:347,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:347,1
    - Dst: what
      Src: /src/botan/src/ct_selftest/ct_selftest.cpp:349,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 355
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 355
    functionName: main
    functionSourceFile: /src/botan/src/ct_selftest/ct_selftest.cpp
    functionUses: 19
    functionsReached:
    - list_tests
    - Botan::system_rng
    - std::map::find
    - std::map::end
    - Botan::CT::poison_has_effect
    - what
    - print_help
    - auto::second::test
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::short_version_string
      Src: /src/botan/src/scripts/ci/cmake_tests/main.cpp:5,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 7
    functionName: main
    functionSourceFile: /src/botan/src/scripts/ci/cmake_tests/main.cpp
    functionUses: 19
    functionsReached:
    - Botan::short_version_string
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_CLI::HMAC::HMAC
    functionSourceFile: /src/botan/src/cli/hmac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HMAC()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_CLI::HMAC::group
    functionSourceFile: /src/botan/src/cli/hmac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan_CLI::HMAC::description
    functionSourceFile: /src/botan/src/cli/hmac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/hmac.cpp:30,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/cli/hmac.cpp:32,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/hmac.cpp:35,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/cli/hmac.cpp:38,1
    - Dst: slurp_file
      Src: /src/botan/src/cli/hmac.cpp:38,1
    - Dst: get_arg
      Src: /src/botan/src/cli/hmac.cpp:38,1
    - Dst: get_arg_list
      Src: /src/botan/src/cli/hmac.cpp:42,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/hmac.cpp:43,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/hmac.cpp:44,1
    - Dst: std::unique_ptr::update
      Src: /src/botan/src/cli/hmac.cpp:49,1
    - Dst: read_file
      Src: /src/botan/src/cli/hmac.cpp:50,1
    - Dst: output
      Src: /src/botan/src/cli/hmac.cpp:51,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/hmac.cpp:51,1
    - Dst: std::unique_ptr::final
      Src: /src/botan/src/cli/hmac.cpp:51,1
    - Dst: output
      Src: /src/botan/src/cli/hmac.cpp:54,1
    - Dst: output
      Src: /src/botan/src/cli/hmac.cpp:57,1
    - Dst: error_output
      Src: /src/botan/src/cli/hmac.cpp:59,1
    - Dst: what
      Src: /src/botan/src/cli/hmac.cpp:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 62
    functionName: Botan_CLI::HMAC::go
    functionSourceFile: /src/botan/src/cli/hmac.cpp
    functionUses: 0
    functionsReached:
    - error_output
    - slurp_file
    - output
    - CLI_Error_Unsupported
    - get_arg
    - std::vector::empty
    - what
    - Botan::MessageAuthenticationCode::create
    - std::vector::push_back
    - std::unique_ptr::final
    - Botan::hex_encode
    - get_arg_list
    - std::unique_ptr::update
    - std::unique_ptr::set_key
    - read_file
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_CLI::PerfTest_PKEnc::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::PerfTest_PKEnc::algo
      Src: /src/botan/src/cli/perf_pk_enc.cpp:25,1
    - Dst: Botan_CLI::PerfTest_PKEnc::keygen_params
      Src: /src/botan/src/cli/perf_pk_enc.cpp:27,1
    - Dst: Botan_CLI::PerfTest_PKEnc::format_name
      Src: /src/botan/src/cli/perf_pk_enc.cpp:30,1
    - Dst: Botan_CLI::PerfTest_PKEnc::bench_pk_ka
      Src: /src/botan/src/cli/perf_pk_enc.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: Botan_CLI::PerfTest_PKEnc::go
    functionSourceFile: /src/botan/src/cli/perf_pk_enc.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::PerfTest_PKEnc::format_name
    - Botan_CLI::PerfTest_PKEnc::bench_pk_ka
    - Botan_CLI::PerfTest_PKEnc::keygen_params
    - Botan_CLI::PerfTest_PKEnc::algo
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng
      Src: /src/botan/src/cli/perf_pk_enc.cpp:40,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_pk_enc.cpp:41,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_enc.cpp:45,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_enc.cpp:47,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_enc.cpp:47,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_enc.cpp:50,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_enc.cpp:51,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_enc.cpp:51,1
    - Dst: auto::public_key
      Src: /src/botan/src/cli/perf_pk_enc.cpp:54,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_enc.cpp:62,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_enc.cpp:63,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_enc.cpp:65,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_enc.cpp:65,1
    - Dst: empty
      Src: /src/botan/src/cli/perf_pk_enc.cpp:67,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_enc.cpp:67,1
    - Dst: random_vec
      Src: /src/botan/src/cli/perf_pk_enc.cpp:68,1
    - Dst: Botan::PK_Encryptor_EME::maximum_input_size
      Src: /src/botan/src/cli/perf_pk_enc.cpp:68,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_enc.cpp:69,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/cli/perf_pk_enc.cpp:69,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_enc.cpp:72,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_enc.cpp:73,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/cli/perf_pk_enc.cpp:73,1
    - Dst: Botan::unlock
      Src: /src/botan/src/cli/perf_pk_enc.cpp:76,1
    - Dst: error_output
      Src: /src/botan/src/cli/perf_pk_enc.cpp:77,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_enc.cpp:82,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_enc.cpp:83,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_enc.cpp:84,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - ' config'
    - ' nm'
    - ' algo'
    - ' params'
    argTypes:
    - PerfConfig
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 86
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 86
    functionName: Botan_CLI::PerfTest_PKEnc::bench_pk_ka
    functionSourceFile: /src/botan/src/cli/perf_pk_enc.cpp
    functionUses: 1
    functionsReached:
    - auto::public_key
    - error_output
    - make_timer
    - Botan::create_private_key
    - Botan::PK_Encryptor_EME::maximum_input_size
    - Botan::PK_Encryptor_EME::encrypt
    - Botan::unlock
    - random_vec
    - Botan::PK_Decryptor_EME::decrypt
    - runtime
    - record_result
    - empty
    - rng
    - auto::under
    - auto::run
    linkageType: ''
    returnType: void
    signature: "void bench_pk_ka(const PerfConfig& config,\n                       const
      std::string& nm,\n                       const std::string& algo,\n                       const
      std::string& params,\n                       const std::string& provider = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan_CLI::PerfTest_ElGamal::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: Botan_CLI::PerfTest_ElGamal::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/perf_pk_enc.cpp:107,1
    - Dst: substr
      Src: /src/botan/src/cli/perf_pk_enc.cpp:107,1
    - Dst: find_last_of
      Src: /src/botan/src/cli/perf_pk_enc.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' alg'
    - ' param'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: Botan_CLI::PerfTest_ElGamal::format_name
    functionSourceFile: /src/botan/src/cli/perf_pk_enc.cpp
    functionUses: 0
    functionsReached:
    - substr
    - Botan::fmt
    - find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string format_name(const std::string& alg, const std::string&
      param) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan_CLI::Print_Help::Print_Help
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Print_Help()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::registered_cmds
      Src: /src/botan/src/cli/utils.cpp:41,1
    - Dst: Botan_CLI::Command::get_cmd
      Src: /src/botan/src/cli/utils.cpp:43,1
    - Dst: auto::group
      Src: /src/botan/src/cli/utils.cpp:45,1
    - Dst: push_back
      Src: /src/botan/src/cli/utils.cpp:45,1
    - Dst: std::move
      Src: /src/botan/src/cli/utils.cpp:45,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/utils.cpp:77,1
    - Dst: std::map::find
      Src: /src/botan/src/cli/utils.cpp:82,1
    - Dst: std::map::end
      Src: /src/botan/src/cli/utils.cpp:83,1
    - Dst: std::setw
      Src: /src/botan/src/cli/utils.cpp:90,1
    - Dst: auto::cmd_name
      Src: /src/botan/src/cli/utils.cpp:90,1
    - Dst: auto::description
      Src: /src/botan/src/cli/utils.cpp:90,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/utils.cpp:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 96
    functionName: Botan_CLI::Print_Help::help_text
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached:
    - std::map::find
    - std::map::end
    - std::ostringstream::str
    - auto::group
    - Botan_CLI::Command::get_cmd
    - auto::description
    - auto::cmd_name
    - std::move
    - push_back
    - std::string::empty
    - Botan_CLI::Command::registered_cmds
    - std::setw
    linkageType: ''
    returnType: std::string
    signature: std::string help_text() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan_CLI::Print_Help::group
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: Botan_CLI::Print_Help::description
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Print_Help::set_return_code
      Src: /src/botan/src/cli/utils.cpp:103,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:104,1
    - Dst: Botan_CLI::Print_Help::help_text
      Src: /src/botan/src/cli/utils.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: Botan_CLI::Print_Help::go
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Print_Help::help_text
    - output
    - Botan_CLI::Print_Help::set_return_code
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: Botan_CLI::Has_Command::Has_Command
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Has_Command()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Botan_CLI::Has_Command::group
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan_CLI::Has_Command::description
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/utils.cpp:119,1
    - Dst: Botan_CLI::Command::registered_cmds
      Src: /src/botan/src/cli/utils.cpp:122,1
    - Dst: verbose
      Src: /src/botan/src/cli/utils.cpp:129,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:130,1
    - Dst: Botan_CLI::Has_Command::set_return_code
      Src: /src/botan/src/cli/utils.cpp:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 136
    functionName: Botan_CLI::Has_Command::go
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached:
    - verbose
    - output
    - get_arg
    - Botan_CLI::Has_Command::set_return_code
    - Botan_CLI::Command::registered_cmds
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: Botan_CLI::Config_Info::Config_Info
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Config_Info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: Botan_CLI::Config_Info::help_text
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string help_text() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: Botan_CLI::Config_Info::group
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: Botan_CLI::Config_Info::description
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/utils.cpp:158,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:161,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:163,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:166,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:168,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:170,1
    - Dst: Botan::version_major
      Src: /src/botan/src/cli/utils.cpp:170,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/utils.cpp:172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 174
    functionName: Botan_CLI::Config_Info::go
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::version_major
    - output
    - get_arg
    - CLI_Usage_Error
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: Botan_CLI::Version_Info::Version_Info
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Version_Info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: Botan_CLI::Version_Info::group
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: Botan_CLI::Version_Info::description
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/cli/utils.cpp:188,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:189,1
    - Dst: Botan::version_string
      Src: /src/botan/src/cli/utils.cpp:189,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:191,1
    - Dst: Botan::short_version_string
      Src: /src/botan/src/cli/utils.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: Botan_CLI::Version_Info::go
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::version_string
    - Botan::short_version_string
    - output
    - flag_set
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: Botan_CLI::Print_Cpuid::Print_Cpuid
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Print_Cpuid()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: Botan_CLI::Print_Cpuid::group
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - 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: Botan_CLI::Print_Cpuid::description
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:210,1
    - Dst: Botan::CPUID::to_string
      Src: /src/botan/src/cli/utils.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: Botan_CLI::Print_Cpuid::go
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached:
    - output
    - Botan::CPUID::to_string
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: Botan_CLI::Cycle_Counter::Cycle_Counter
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cycle_Counter()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: Botan_CLI::Cycle_Counter::group
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: Botan_CLI::Cycle_Counter::description
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OS::get_cpu_cycle_counter
      Src: /src/botan/src/cli/utils.cpp:228,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:229,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:236,1
    - Dst: Botan::OS::get_system_timestamp_ns
      Src: /src/botan/src/cli/utils.cpp:247,1
    - Dst: Botan::OS::get_cpu_cycle_counter
      Src: /src/botan/src/cli/utils.cpp:248,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:252,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:257,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:268,1
    - Dst: std::setprecision
      Src: /src/botan/src/cli/utils.cpp:268,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:271,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/cli/utils.cpp:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 273
    functionName: Botan_CLI::Cycle_Counter::go
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached:
    - output
    - static_cast<size_t>
    - Botan::OS::get_system_timestamp_ns
    - Botan::OS::get_cpu_cycle_counter
    - std::setprecision
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: Botan_CLI::Print_UUID::Print_UUID
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Print_UUID()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: Botan_CLI::Print_UUID::group
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: Botan_CLI::Print_UUID::description
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:292,1
    - Dst: Botan::UUID::to_string
      Src: /src/botan/src/cli/utils.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: Botan_CLI::Print_UUID::go
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::UUID::to_string
    - output
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: Botan_CLI::HTTP_Get::HTTP_Get
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTP_Get()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: Botan_CLI::HTTP_Get::group
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: Botan_CLI::HTTP_Get::description
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/utils.cpp:311,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/utils.cpp:312,1
    - Dst: output
      Src: /src/botan/src/cli/utils.cpp:315,1
    - Dst: Botan::HTTP::GET_sync
      Src: /src/botan/src/cli/utils.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: Botan_CLI::HTTP_Get::go
    functionSourceFile: /src/botan/src/cli/utils.cpp
    functionUses: 0
    functionsReached:
    - output
    - get_arg_sz
    - get_arg
    - Botan::HTTP::GET_sync
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/cli/cli_rng.cpp:42,1
    - Dst: std::make_shared<Botan::System_RNG>
      Src: /src/botan/src/cli/cli_rng.cpp:43,1
    - Dst: std::make_shared<Botan::ESDM_RNG>
      Src: /src/botan/src/cli/cli_rng.cpp:49,1
    - Dst: std::make_shared<Botan::ESDM_RNG>
      Src: /src/botan/src/cli/cli_rng.cpp:52,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/cli_rng.cpp:56,1
    - Dst: empty
      Src: /src/botan/src/cli/cli_rng.cpp:59,1
    - Dst: std::make_shared<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/cli/cli_rng.cpp:64,1
    - Dst: Botan::Entropy_Sources::global_sources
      Src: /src/botan/src/cli/cli_rng.cpp:64,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/cli_rng.cpp:66,1
    - Dst: std::make_shared<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/cli/cli_rng.cpp:69,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/cli_rng.cpp:72,1
    - Dst: std::shared_ptr::add_entropy
      Src: /src/botan/src/cli/cli_rng.cpp:73,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/cli_rng.cpp:73,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/cli_rng.cpp:73,1
    - Dst: empty
      Src: /src/botan/src/cli/cli_rng.cpp:80,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/cli_rng.cpp:80,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/cli/cli_rng.cpp:81,1
    - Dst: std::make_shared<Botan::HMAC_DRBG>
      Src: /src/botan/src/cli/cli_rng.cpp:82,1
    - Dst: std::move
      Src: /src/botan/src/cli/cli_rng.cpp:82,1
    - Dst: auto::add_entropy
      Src: /src/botan/src/cli/cli_rng.cpp:83,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/cli_rng.cpp:83,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/cli_rng.cpp:83,1
    - Dst: auto::is_seeded
      Src: /src/botan/src/cli/cli_rng.cpp:85,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/cli_rng.cpp:86,1
    - Dst: auto::name
      Src: /src/botan/src/cli/cli_rng.cpp:86,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/cli_rng.cpp:86,1
    - Dst: auto::security_level
      Src: /src/botan/src/cli/cli_rng.cpp:86,1
    - Dst: empty
      Src: /src/botan/src/cli/cli_rng.cpp:95,1
    - Dst: Botan::Processor_RNG::available
      Src: /src/botan/src/cli/cli_rng.cpp:96,1
    - Dst: std::make_shared<Botan::Processor_RNG>
      Src: /src/botan/src/cli/cli_rng.cpp:97,1
    - Dst: empty
      Src: /src/botan/src/cli/cli_rng.cpp:98,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/cli_rng.cpp:99,1
    - Dst: empty
      Src: /src/botan/src/cli/cli_rng.cpp:104,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/cli_rng.cpp:105,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/cli_rng.cpp:107,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 42
    argCount: 2
    argNames:
    - ' rng_type'
    - ' hex_drbg_seed'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 109
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 109
    functionName: Botan_CLI::cli_make_rng
    functionSourceFile: /src/botan/src/cli/cli_rng.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - auto::add_entropy
    - std::to_string
    - std::make_shared<Botan::Processor_RNG>
    - std::make_shared<Botan::System_RNG>
    - auto::name
    - std::vector::empty
    - std::make_shared<Botan::ESDM_RNG>
    - std::shared_ptr::add_entropy
    - auto::is_seeded
    - auto::security_level
    - Botan::hex_decode
    - std::vector::data
    - CLI_Error_Unsupported
    - empty
    - std::move
    - Botan::Entropy_Sources::global_sources
    - Botan::Processor_RNG::available
    - std::make_shared<Botan::HMAC_DRBG>
    - std::make_shared<Botan::AutoSeeded_RNG>
    - CLI_Error
    - Botan::MessageAuthenticationCode::create_or_throw
    linkageType: ''
    returnType: std::shared_ptr<Botan::RandomNumberGenerator>
    signature: "std::shared_ptr<Botan::RandomNumberGenerator> cli_make_rng(const std::string&
      rng_type,\n                                                           const
      std::string& hex_drbg_seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Botan_CLI::RNG::RNG
    functionSourceFile: /src/botan/src/cli/cli_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RNG()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan_CLI::RNG::group
    functionSourceFile: /src/botan/src/cli/cli_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: Botan_CLI::RNG::description
    functionSourceFile: /src/botan/src/cli/cli_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/cli_rng.cpp:123,1
    - Dst: get_arg
      Src: /src/botan/src/cli/cli_rng.cpp:124,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/cli_rng.cpp:126,1
    - Dst: flag_set
      Src: /src/botan/src/cli/cli_rng.cpp:128,1
    - Dst: get_arg
      Src: /src/botan/src/cli/cli_rng.cpp:135,1
    - Dst: cli_make_rng
      Src: /src/botan/src/cli/cli_rng.cpp:136,1
    - Dst: get_arg_list
      Src: /src/botan/src/cli/cli_rng.cpp:138,1
    - Dst: auto::random_vec
      Src: /src/botan/src/cli/cli_rng.cpp:140,1
    - Dst: write_output
      Src: /src/botan/src/cli/cli_rng.cpp:143,1
    - Dst: output
      Src: /src/botan/src/cli/cli_rng.cpp:145,1
    - Dst: format_blob
      Src: /src/botan/src/cli/cli_rng.cpp:145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 148
    functionName: Botan_CLI::RNG::go
    functionSourceFile: /src/botan/src/cli/cli_rng.cpp
    functionUses: 0
    functionsReached:
    - output
    - get_arg
    - auto::random_vec
    - cli_make_rng
    - format_blob
    - write_output
    - flag_set
    - std::string::empty
    - get_arg_list
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: invalid_socket
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: socket_type
    signature: socket_type invalid_socket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::closesocket
      Src: /src/botan/src/cli/socket_utils.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: close_socket
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 0
    functionsReached:
    - ::closesocket
    linkageType: ''
    returnType: void
    signature: void close_socket(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/botan/src/cli/socket_utils.h:38,1
    - Dst: ::WSAStartup
      Src: /src/botan/src/cli/socket_utils.h:40,1
    - Dst: Botan_CLI::CLI_Error::CLI_Error
      Src: /src/botan/src/cli/socket_utils.h:41,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/socket_utils.h:41,1
    - Dst: WSAGetLastError
      Src: /src/botan/src/cli/socket_utils.h:41,1
    - Dst: LOBYTE
      Src: /src/botan/src/cli/socket_utils.h:44,1
    - Dst: HIBYTE
      Src: /src/botan/src/cli/socket_utils.h:44,1
    - Dst: ::WSACleanup
      Src: /src/botan/src/cli/socket_utils.h:45,1
    - Dst: Botan_CLI::CLI_Error::CLI_Error
      Src: /src/botan/src/cli/socket_utils.h:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: init_sockets
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 0
    functionsReached:
    - WSAGetLastError
    - ::WSAStartup
    - HIBYTE
    - std::to_string
    - ::WSACleanup
    - Botan_CLI::CLI_Error::CLI_Error
    - MAKEWORD
    - LOBYTE
    linkageType: ''
    returnType: void
    signature: void init_sockets()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::WSACleanup
      Src: /src/botan/src/cli/socket_utils.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: stop_sockets
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 0
    functionsReached:
    - ::WSACleanup
    linkageType: ''
    returnType: void
    signature: void stop_sockets()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/botan/src/cli/socket_utils.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: err_to_string
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string err_to_string(int e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::closesocket
      Src: /src/botan/src/cli/socket_utils.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: close
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 20
    functionsReached:
    - ::closesocket
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::recv
      Src: /src/botan/src/cli/socket_utils.h:64,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/cli/socket_utils.h:64,1
    - Dst: static_cast<int>
      Src: /src/botan/src/cli/socket_utils.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - buf
    - len
    argTypes:
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: read
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 23
    functionsReached:
    - static_cast<int>
    - ::recv
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: int
    signature: int read(int s, void* buf, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::MockChannel::send
      Src: /src/botan/src/cli/socket_utils.h:68,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/socket_utils.h:68,1
    - Dst: static_cast<int>
      Src: /src/botan/src/cli/socket_utils.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - buf
    - len
    - flags
    argTypes:
    - int
    - uint8_t*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: send
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 10
    functionsReached:
    - static_cast<int>
    - reinterpret_cast<const char*>
    - Botan_Tests::MockChannel::send
    linkageType: ''
    returnType: int
    signature: int send(int s, const uint8_t* buf, size_t len, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: invalid_socket
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: socket_type
    signature: socket_type invalid_socket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/cli/socket_utils.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: close_socket
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl::close
    linkageType: ''
    returnType: void
    signature: void close_socket(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: init_sockets
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_sockets()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: stop_sockets
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stop_sockets()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::strerror
      Src: /src/botan/src/cli/socket_utils.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: err_to_string
    functionSourceFile: /src/botan/src/cli/socket_utils.h
    functionUses: 0
    functionsReached:
    - std::strerror
    linkageType: ''
    returnType: std::string
    signature: std::string err_to_string(int e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::PerfTest_Rng::bench_rng
      Src: /src/botan/src/cli/perf_rng.cpp:44,1
    - Dst: Botan::HMAC_DRBG::name
      Src: /src/botan/src/cli/perf_rng.cpp:44,1
    - Dst: Botan::secure_vector<uint8_t>
      Src: /src/botan/src/cli/perf_rng.cpp:50,1
    - Dst: Botan_CLI::PerfTest_Rng::bench_rng
      Src: /src/botan/src/cli/perf_rng.cpp:51,1
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/cli/perf_rng.cpp:55,1
    - Dst: Botan_CLI::PerfTest_Rng::bench_rng
      Src: /src/botan/src/cli/perf_rng.cpp:56,1
    - Dst: Botan_CLI::PerfTest_Rng::bench_rng
      Src: /src/botan/src/cli/perf_rng.cpp:60,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/cli/perf_rng.cpp:60,1
    - Dst: Botan::Processor_RNG::available
      Src: /src/botan/src/cli/perf_rng.cpp:64,1
    - Dst: Botan::Processor_RNG::Processor_RNG
      Src: /src/botan/src/cli/perf_rng.cpp:65,1
    - Dst: Botan_CLI::PerfTest_Rng::bench_rng
      Src: /src/botan/src/cli/perf_rng.cpp:66,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/cli/perf_rng.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 70
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 70
    functionName: Botan_CLI::PerfTest_Rng::go
    functionSourceFile: /src/botan/src/cli/perf_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::system_rng
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - BOTAN_UNUSED
    - Botan_CLI::PerfTest_Rng::bench_rng
    - Botan::secure_vector<uint8_t>
    - Botan::Processor_RNG::available
    - Botan::HMAC_DRBG::name
    - Botan::Processor_RNG::Processor_RNG
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buffer_sizes
      Src: /src/botan/src/cli/perf_rng.cpp:74,1
    - Dst: reseed_from_rng
      Src: /src/botan/src/cli/perf_rng.cpp:79,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/cli/perf_rng.cpp:79,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_rng.cpp:82,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/perf_rng.cpp:82,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_rng.cpp:84,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_rng.cpp:86,1
    - Dst: randomize
      Src: /src/botan/src/cli/perf_rng.cpp:88,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/cli/perf_rng.cpp:88,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/perf_rng.cpp:88,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_rng.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' config'
    - ' rng'
    - ' rng_name'
    argTypes:
    - PerfConfig
    - Botan::RandomNumberGenerator
    - std::string
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: Botan_CLI::PerfTest_Rng::bench_rng
    functionSourceFile: /src/botan/src/cli/perf_rng.cpp
    functionUses: 1
    functionsReached:
    - buffer_sizes
    - Botan::system_rng
    - make_timer
    - reseed_from_rng
    - runtime
    - record_result
    - Botan::secure_vector::data
    - randomize
    - auto::run_until_elapsed
    - Botan::secure_vector::size
    linkageType: ''
    returnType: void
    signature: void bench_rng(const PerfConfig& config, Botan::RandomNumberGenerator&
      rng, const std::string& rng_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: Botan_CLI::CLI_Error::CLI_Error
    functionSourceFile: /src/botan/src/cli/cli_exceptions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CLI_Error(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' op'
    - ' who'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_CLI::CLI_IO_Error::CLI_IO_Error
    functionSourceFile: /src/botan/src/cli/cli_exceptions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CLI_IO_Error(const std::string& op, const std::string& who)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_CLI::CLI_Usage_Error::CLI_Usage_Error
    functionSourceFile: /src/botan/src/cli/cli_exceptions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CLI_Usage_Error(const std::string& what)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan_CLI::CLI_Error_Unsupported::CLI_Error_Unsupported
    functionSourceFile: /src/botan/src/cli/cli_exceptions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CLI_Error_Unsupported(const std::string& msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' what'
    - ' who'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: Botan_CLI::CLI_Error_Unsupported::CLI_Error_Unsupported
    functionSourceFile: /src/botan/src/cli/cli_exceptions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CLI_Error_Unsupported(const std::string& what, const std::string&
      who)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<boost::asio::io_context&>
      Src: /src/botan/src/cli/tls_proxy.cpp:51,1
    - Dst: get_executor
      Src: /src/botan/src/cli/tls_proxy.cpp:51,1
    - Dst: Botan_CLI::get_io_service
      Src: /src/botan/src/cli/tls_proxy.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: Botan_CLI::get_io_service
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 1
    functionsReached:
    - Botan_CLI::get_io_service
    - get_executor
    - static_cast<boost::asio::io_context&>
    linkageType: ''
    returnType: boost::asio::io_context
    signature: boost::asio::io_context & get_io_service(T& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan_CLI::log_info
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void log_info(const std::string& msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: what
      Src: /src/botan/src/cli/tls_proxy.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - where
    - ' e'
    argTypes:
    - char*
    - std::exception
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan_CLI::log_exception
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - what
    linkageType: ''
    returnType: void
    signature: void log_exception(const char* where, const std::exception& e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: message
      Src: /src/botan/src/cli/tls_proxy.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - where
    - ' error'
    argTypes:
    - char*
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan_CLI::log_error
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - message
    linkageType: ''
    returnType: void
    signature: void log_error(const char* where, const boost::system::error_code&
      error)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan_CLI::log_error
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void log_error(const char* msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/cli/tls_proxy.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - where
    - buf
    - buf_len
    argTypes:
    - char*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: Botan_CLI::log_binary_message
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void log_binary_message(const char* where, const uint8_t buf[], size_t
      buf_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/cli/tls_proxy.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - where
    - buf
    - buf_len
    argTypes:
    - char*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: Botan_CLI::log_text_message
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void log_text_message(const char* where, const uint8_t buf[], size_t
      buf_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - max_clients
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: Botan_CLI::ServerStatus::ServerStatus
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServerStatus(size_t max_clients)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::ServerStatus::clients_serviced
      Src: /src/botan/src/cli/tls_proxy.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: Botan_CLI::ServerStatus::should_exit
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 1
    functionsReached:
    - Botan_CLI::ServerStatus::clients_serviced
    linkageType: ''
    returnType: bool
    signature: bool should_exit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan_CLI::ServerStatus::client_serviced
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void client_serviced()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/botan/src/cli/tls_proxy.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan_CLI::ServerStatus::clients_serviced
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 1
    functionsReached:
    - load
    linkageType: ''
    returnType: size_t
    signature: size_t clients_serviced() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<tls_proxy_session>
      Src: /src/botan/src/cli/tls_proxy.cpp:117,1
    - Dst: auto::setup
      Src: /src/botan/src/cli/tls_proxy.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' io'
    - ' session_manager'
    - ' credentials'
    - ' policy'
    - ' endpoints'
    argTypes:
    - boost::asio::io_context
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Botan::Credentials_Manager>
    - std::shared_ptr<Botan::TLS::Policy>
    - tcp::resolver::results_type
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: Botan_CLI::tls_proxy_session::create
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 2
    functionsReached:
    - std::make_shared<tls_proxy_session>
    - auto::setup
    linkageType: ''
    returnType: pointer
    signature: "pointer create(boost::asio::io_context& io,\n                            const
      std::shared_ptr<Botan::TLS::Session_Manager>& session_manager,\n                            const
      std::shared_ptr<Botan::Credentials_Manager>& credentials,\n                            const
      std::shared_ptr<Botan::TLS::Policy>& policy,\n                            const
      tcp::resolver::results_type& endpoints)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: '& client_socket()'
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tcp::socket
    signature: tcp::socket & client_socket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/cli/tls_proxy.cpp:129,1
    - Dst: Botan_CLI::tls_proxy_session::client_read
      Src: /src/botan/src/cli/tls_proxy.cpp:130,1
    - Dst: Botan::TLS::error_code
      Src: /src/botan/src/cli/tls_proxy.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: Botan_CLI::tls_proxy_session::start
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - resize
    - Botan::TLS::error_code
    - Botan_CLI::tls_proxy_session::client_read
    linkageType: ''
    returnType: void
    signature: void start()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/botan/src/cli/tls_proxy.cpp:139,1
    - Dst: close
      Src: /src/botan/src/cli/tls_proxy.cpp:140,1
    - Dst: reset
      Src: /src/botan/src/cli/tls_proxy.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 148
    functionName: Botan_CLI::tls_proxy_session::stop
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - reset
    - close
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/cli/tls_proxy.cpp:152,1
    - Dst: cli_make_rng
      Src: /src/botan/src/cli/tls_proxy.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' io'
    - endpoints
    argTypes:
    - boost::asio::io_context
    - tcp::resolver::results_type
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: Botan_CLI::tls_proxy_session::tls_proxy_session
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - cli_make_rng
    - std::move
    linkageType: ''
    returnType: void
    signature: void tls_proxy_session(boost::asio::io_context& io, tcp::resolver::results_type
      endpoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::TLS::Server>
      Src: /src/botan/src/cli/tls_proxy.cpp:161,1
    - Dst: shared_from_this
      Src: /src/botan/src/cli/tls_proxy.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' session_manager'
    - ' credentials'
    - ' policy'
    argTypes:
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - std::shared_ptr<Botan::Credentials_Manager>
    - std::shared_ptr<Botan::TLS::Policy>
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: Botan_CLI::tls_proxy_session::setup
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::TLS::Server>
    - shared_from_this
    linkageType: ''
    returnType: void
    signature: "void setup(const std::shared_ptr<Botan::TLS::Session_Manager>& session_manager,\n
      \                const std::shared_ptr<Botan::Credentials_Manager>& credentials,\n
      \                const std::shared_ptr<Botan::TLS::Policy>& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/botan/src/cli/tls_proxy.cpp:166,1
    - Dst: Botan_CLI::tls_proxy_session::stop
      Src: /src/botan/src/cli/tls_proxy.cpp:167,1
    - Dst: log_error
      Src: /src/botan/src/cli/tls_proxy.cpp:172,1
    - Dst: is_active
      Src: /src/botan/src/cli/tls_proxy.cpp:177,1
    - Dst: log_binary_message
      Src: /src/botan/src/cli/tls_proxy.cpp:178,1
    - Dst: received_data
      Src: /src/botan/src/cli/tls_proxy.cpp:180,1
    - Dst: log_exception
      Src: /src/botan/src/cli/tls_proxy.cpp:182,1
    - Dst: Botan_CLI::tls_proxy_session::stop
      Src: /src/botan/src/cli/tls_proxy.cpp:183,1
    - Dst: async_read_some
      Src: /src/botan/src/cli/tls_proxy.cpp:187,1
    - Dst: Peer::buffer
      Src: /src/botan/src/cli/tls_proxy.cpp:187,1
    - Dst: size
      Src: /src/botan/src/cli/tls_proxy.cpp:187,1
    - Dst: wrap
      Src: /src/botan/src/cli/tls_proxy.cpp:188,1
    - Dst: cybozu::Socket::bind
      Src: /src/botan/src/cli/tls_proxy.cpp:188,1
    - Dst: shared_from_this
      Src: /src/botan/src/cli/tls_proxy.cpp:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - ' error'
    - bytes_transferred
    argTypes:
    - boost::system::error_code
    - size_t
    constantsTouched: []
    func_position:
      end: 192
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 192
    functionName: Botan_CLI::tls_proxy_session::client_read
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 1
    functionsReached:
    - log_error
    - wrap
    - async_read_some
    - cybozu::Socket::bind
    - size
    - shared_from_this
    - Peer::buffer
    - log_exception
    - is_active
    - received_data
    - Botan_CLI::tls_proxy_session::stop
    - log_binary_message
    linkageType: ''
    returnType: void
    signature: void client_read(const boost::system::error_code& error, size_t bytes_transferred)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/botan/src/cli/tls_proxy.cpp:196,1
    - Dst: Botan_CLI::tls_proxy_session::stop
      Src: /src/botan/src/cli/tls_proxy.cpp:197,1
    - Dst: clear
      Src: /src/botan/src/cli/tls_proxy.cpp:201,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_proxy.cpp:203,1
    - Dst: is_closed
      Src: /src/botan/src/cli/tls_proxy.cpp:203,1
    - Dst: close
      Src: /src/botan/src/cli/tls_proxy.cpp:204,1
    - Dst: Botan_CLI::tls_proxy_session::tls_emit_data
      Src: /src/botan/src/cli/tls_proxy.cpp:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' error'
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 207
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 207
    functionName: Botan_CLI::tls_proxy_session::handle_client_write_completion
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - log_error
    - close
    - clear
    - empty
    - is_closed
    - Botan_CLI::tls_proxy_session::tls_emit_data
    - Botan_CLI::tls_proxy_session::stop
    linkageType: ''
    returnType: void
    signature: void handle_client_write_completion(const boost::system::error_code&
      error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/botan/src/cli/tls_proxy.cpp:211,1
    - Dst: Botan_CLI::tls_proxy_session::stop
      Src: /src/botan/src/cli/tls_proxy.cpp:212,1
    - Dst: clear
      Src: /src/botan/src/cli/tls_proxy.cpp:216,1
    - Dst: Botan_CLI::tls_proxy_session::proxy_write_to_server
      Src: /src/botan/src/cli/tls_proxy.cpp:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' error'
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: Botan_CLI::tls_proxy_session::handle_server_write_completion
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - log_error
    - clear
    - Botan_CLI::tls_proxy_session::proxy_write_to_server
    - Botan_CLI::tls_proxy_session::stop
    linkageType: ''
    returnType: void
    signature: void handle_server_write_completion(const boost::system::error_code&
      error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::tls_proxy_session::proxy_write_to_server
      Src: /src/botan/src/cli/tls_proxy.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: Botan_CLI::tls_proxy_session::tls_record_received
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::tls_proxy_session::proxy_write_to_server
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t /*rec_no*/, std::span<const uint8_t>
      buf) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/cli/tls_proxy.cpp:226,1
    - Dst: insert
      Src: /src/botan/src/cli/tls_proxy.cpp:227,1
    - Dst: end
      Src: /src/botan/src/cli/tls_proxy.cpp:227,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/cli/tls_proxy.cpp:227,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/cli/tls_proxy.cpp:227,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_proxy.cpp:231,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_proxy.cpp:231,1
    - Dst: std::swap
      Src: /src/botan/src/cli/tls_proxy.cpp:232,1
    - Dst: log_binary_message
      Src: /src/botan/src/cli/tls_proxy.cpp:234,1
    - Dst: size
      Src: /src/botan/src/cli/tls_proxy.cpp:234,1
    - Dst: boost::asio::async_write
      Src: /src/botan/src/cli/tls_proxy.cpp:236,1
    - Dst: Peer::buffer
      Src: /src/botan/src/cli/tls_proxy.cpp:237,1
    - Dst: size
      Src: /src/botan/src/cli/tls_proxy.cpp:237,1
    - Dst: wrap
      Src: /src/botan/src/cli/tls_proxy.cpp:238,1
    - Dst: cybozu::Socket::bind
      Src: /src/botan/src/cli/tls_proxy.cpp:238,1
    - Dst: shared_from_this
      Src: /src/botan/src/cli/tls_proxy.cpp:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 242
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 242
    functionName: Botan_CLI::tls_proxy_session::tls_emit_data
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::end
    - wrap
    - std::span<const uint8_t>::empty
    - boost::asio::async_write
    - cybozu::Socket::bind
    - std::swap
    - size
    - shared_from_this
    - end
    - empty
    - Peer::buffer
    - insert
    - std::span<const uint8_t>::begin
    - log_binary_message
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t> buf) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/cli/tls_proxy.cpp:245,1
    - Dst: insert
      Src: /src/botan/src/cli/tls_proxy.cpp:246,1
    - Dst: end
      Src: /src/botan/src/cli/tls_proxy.cpp:246,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/cli/tls_proxy.cpp:246,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/cli/tls_proxy.cpp:246,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_proxy.cpp:250,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_proxy.cpp:250,1
    - Dst: std::swap
      Src: /src/botan/src/cli/tls_proxy.cpp:251,1
    - Dst: log_text_message
      Src: /src/botan/src/cli/tls_proxy.cpp:253,1
    - Dst: size
      Src: /src/botan/src/cli/tls_proxy.cpp:253,1
    - Dst: boost::asio::async_write
      Src: /src/botan/src/cli/tls_proxy.cpp:255,1
    - Dst: Peer::buffer
      Src: /src/botan/src/cli/tls_proxy.cpp:256,1
    - Dst: size
      Src: /src/botan/src/cli/tls_proxy.cpp:256,1
    - Dst: wrap
      Src: /src/botan/src/cli/tls_proxy.cpp:257,1
    - Dst: cybozu::Socket::bind
      Src: /src/botan/src/cli/tls_proxy.cpp:257,1
    - Dst: shared_from_this
      Src: /src/botan/src/cli/tls_proxy.cpp:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 261
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 261
    functionName: Botan_CLI::tls_proxy_session::proxy_write_to_server
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 2
    functionsReached:
    - std::span<const uint8_t>::end
    - wrap
    - std::span<const uint8_t>::empty
    - log_text_message
    - boost::asio::async_write
    - cybozu::Socket::bind
    - std::swap
    - size
    - shared_from_this
    - end
    - empty
    - Peer::buffer
    - insert
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void proxy_write_to_server(std::span<const uint8_t> buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/botan/src/cli/tls_proxy.cpp:265,1
    - Dst: Botan_CLI::tls_proxy_session::stop
      Src: /src/botan/src/cli/tls_proxy.cpp:266,1
    - Dst: log_text_message
      Src: /src/botan/src/cli/tls_proxy.cpp:272,1
    - Dst: size
      Src: /src/botan/src/cli/tls_proxy.cpp:272,1
    - Dst: log_binary_message
      Src: /src/botan/src/cli/tls_proxy.cpp:273,1
    - Dst: size
      Src: /src/botan/src/cli/tls_proxy.cpp:273,1
    - Dst: send
      Src: /src/botan/src/cli/tls_proxy.cpp:274,1
    - Dst: log_exception
      Src: /src/botan/src/cli/tls_proxy.cpp:277,1
    - Dst: Botan_CLI::tls_proxy_session::stop
      Src: /src/botan/src/cli/tls_proxy.cpp:278,1
    - Dst: resize
      Src: /src/botan/src/cli/tls_proxy.cpp:282,1
    - Dst: async_read_some
      Src: /src/botan/src/cli/tls_proxy.cpp:284,1
    - Dst: Peer::buffer
      Src: /src/botan/src/cli/tls_proxy.cpp:284,1
    - Dst: size
      Src: /src/botan/src/cli/tls_proxy.cpp:284,1
    - Dst: wrap
      Src: /src/botan/src/cli/tls_proxy.cpp:285,1
    - Dst: cybozu::Socket::bind
      Src: /src/botan/src/cli/tls_proxy.cpp:285,1
    - Dst: shared_from_this
      Src: /src/botan/src/cli/tls_proxy.cpp:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - ' error'
    - bytes_transferred
    argTypes:
    - boost::system::error_code
    - size_t
    constantsTouched: []
    func_position:
      end: 289
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 289
    functionName: Botan_CLI::tls_proxy_session::server_read
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - log_error
    - wrap
    - async_read_some
    - log_text_message
    - cybozu::Socket::bind
    - size
    - shared_from_this
    - Peer::buffer
    - resize
    - send
    - log_exception
    - Botan_CLI::tls_proxy_session::stop
    - log_binary_message
    linkageType: ''
    returnType: void
    signature: void server_read(const boost::system::error_code& error, size_t bytes_transferred)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: weak_from_this
      Src: /src/botan/src/cli/tls_proxy.cpp:292,1
    - Dst: log_error
      Src: /src/botan/src/cli/tls_proxy.cpp:295,1
    - Dst: lock
      Src: /src/botan/src/cli/tls_proxy.cpp:299,1
    - Dst: auto::server_read
      Src: /src/botan/src/cli/tls_proxy.cpp:300,1
    - Dst: Botan::TLS::error_code
      Src: /src/botan/src/cli/tls_proxy.cpp:300,1
    - Dst: auto::proxy_write_to_server
      Src: /src/botan/src/cli/tls_proxy.cpp:301,1
    - Dst: log_error
      Src: /src/botan/src/cli/tls_proxy.cpp:303,1
    - Dst: async_connect
      Src: /src/botan/src/cli/tls_proxy.cpp:307,1
    - Dst: begin
      Src: /src/botan/src/cli/tls_proxy.cpp:307,1
    - Dst: end
      Src: /src/botan/src/cli/tls_proxy.cpp:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 308
    functionName: Botan_CLI::tls_proxy_session::tls_session_activated
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - log_error
    - lock
    - begin
    - weak_from_this
    - end
    - async_connect
    - auto::server_read
    - auto::proxy_write_to_server
    - Botan::TLS::error_code
    linkageType: ''
    returnType: void
    signature: void tls_session_activated() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_info
      Src: /src/botan/src/cli/tls_proxy.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Botan::TLS::Session_Summary
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: Botan_CLI::tls_proxy_session::tls_session_established
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - server_info
    linkageType: ''
    returnType: void
    signature: void tls_session_established(const Botan::TLS::Session_Summary& session)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Alert::type
      Src: /src/botan/src/cli/tls_proxy.cpp:315,1
    - Dst: close
      Src: /src/botan/src/cli/tls_proxy.cpp:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: Botan_CLI::tls_proxy_session::tls_alert
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Alert::type
    - close
    linkageType: ''
    returnType: void
    signature: void tls_alert(Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tcp::endpoint
      Src: /src/botan/src/cli/tls_proxy.cpp:354,1
    - Dst: Botan::GeneralName::matches_ipv4
      Src: /src/botan/src/cli/tls_proxy.cpp:354,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_proxy.cpp:355,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_proxy.cpp:356,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_proxy.cpp:357,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_proxy.cpp:358,1
    - Dst: log_info
      Src: /src/botan/src/cli/tls_proxy.cpp:360,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/tls_proxy.cpp:360,1
    - Dst: Botan_CLI::tls_proxy_server::serve_one_session
      Src: /src/botan/src/cli/tls_proxy.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - ' io'
    - port
    - endpoints
    - creds
    - policy
    - session_mgr
    - max_clients
    argTypes:
    - boost::asio::io_context
    - unsigned short
    - tcp::resolver::results_type
    - std::shared_ptr<Botan::Credentials_Manager>
    - std::shared_ptr<Botan::TLS::Policy>
    - std::shared_ptr<Botan::TLS::Session_Manager>
    - size_t
    constantsTouched: []
    func_position:
      end: 362
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 362
    functionName: Botan_CLI::tls_proxy_server::tls_proxy_server
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - tcp::endpoint
    - Botan_CLI::tls_proxy_server::serve_one_session
    - std::to_string
    - std::move
    - log_info
    - Botan::GeneralName::matches_ipv4
    linkageType: ''
    returnType: void
    signature: "void tls_proxy_server(boost::asio::io_context& io,\n                       unsigned
      short port,\n                       tcp::resolver::results_type endpoints,\n
      \                      std::shared_ptr<Botan::Credentials_Manager> creds,\n
      \                      std::shared_ptr<Botan::TLS::Policy> policy,\n                       std::shared_ptr<Botan::TLS::Session_Manager>
      session_mgr,\n                       size_t max_clients)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::tls_proxy_session::create
      Src: /src/botan/src/cli/tls_proxy.cpp:366,1
    - Dst: get_io_service
      Src: /src/botan/src/cli/tls_proxy.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Botan_CLI::tls_proxy_server::make_session
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - get_io_service
    - Botan_CLI::tls_proxy_session::create
    linkageType: ''
    returnType: session::pointer
    signature: session::pointer make_session()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::tls_proxy_server::make_session
      Src: /src/botan/src/cli/tls_proxy.cpp:370,1
    - Dst: async_accept
      Src: /src/botan/src/cli/tls_proxy.cpp:372,1
    - Dst: session::pointer::client_socket
      Src: /src/botan/src/cli/tls_proxy.cpp:373,1
    - Dst: cybozu::Socket::bind
      Src: /src/botan/src/cli/tls_proxy.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: Botan_CLI::tls_proxy_server::serve_one_session
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 1
    functionsReached:
    - async_accept
    - Botan_CLI::tls_proxy_server::make_session
    - cybozu::Socket::bind
    - session::pointer::client_socket
    linkageType: ''
    returnType: void
    signature: void serve_one_session()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/botan/src/cli/tls_proxy.cpp:379,1
    - Dst: client_serviced
      Src: /src/botan/src/cli/tls_proxy.cpp:380,1
    - Dst: should_exit
      Src: /src/botan/src/cli/tls_proxy.cpp:382,1
    - Dst: Botan_CLI::tls_proxy_server::serve_one_session
      Src: /src/botan/src/cli/tls_proxy.cpp:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' new_session'
    - ' error'
    argTypes:
    - session::pointer
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 386
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 386
    functionName: Botan_CLI::tls_proxy_server::handle_accept
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::tls_proxy_server::serve_one_session
    - client_serviced
    - start
    - should_exit
    linkageType: ''
    returnType: void
    signature: void handle_accept(const session::pointer& new_session, const boost::system::error_code&
      error)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: Botan_CLI::TLS_Proxy::TLS_Proxy
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Proxy()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 406
    functionName: Botan_CLI::TLS_Proxy::group
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 408
    functionName: Botan_CLI::TLS_Proxy::description
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 420
    functionName: Botan_CLI::TLS_Proxy::thread_count
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t thread_count() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_proxy.cpp:424,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_proxy.cpp:425,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_proxy.cpp:427,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_proxy.cpp:428,1
    - Dst: std::make_shared<Basic_Credentials_Manager>
      Src: /src/botan/src/cli/tls_proxy.cpp:433,1
    - Dst: load_tls_policy
      Src: /src/botan/src/cli/tls_proxy.cpp:435,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_proxy.cpp:435,1
    - Dst: tcp::resolver::resolve
      Src: /src/botan/src/cli/tls_proxy.cpp:440,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/tls_proxy.cpp:445,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_proxy.cpp:446,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/tls_proxy.cpp:448,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_SQLite>
      Src: /src/botan/src/cli/tls_proxy.cpp:450,1
    - Dst: rng_as_shared
      Src: /src/botan/src/cli/tls_proxy.cpp:450,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/cli/tls_proxy.cpp:454,1
    - Dst: rng_as_shared
      Src: /src/botan/src/cli/tls_proxy.cpp:454,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/tls_proxy.cpp:463,1
    - Dst: std::make_shared<std::thread>
      Src: /src/botan/src/cli/tls_proxy.cpp:463,1
    - Dst: boost::asio::io_context::run
      Src: /src/botan/src/cli/tls_proxy.cpp:463,1
    - Dst: boost::asio::io_context::run
      Src: /src/botan/src/cli/tls_proxy.cpp:466,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/tls_proxy.cpp:468,1
    - Dst: join
      Src: /src/botan/src/cli/tls_proxy.cpp:469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 471
    functionName: Botan_CLI::TLS_Proxy::go
    functionSourceFile: /src/botan/src/cli/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - tcp::resolver::resolve
    - join
    - rng_as_shared
    - std::vector::size
    - load_tls_policy
    - get_arg
    - std::make_shared<Basic_Credentials_Manager>
    - std::make_shared<std::thread>
    - std::make_shared<Botan::TLS::Session_Manager_SQLite>
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - std::vector::push_back
    - std::string::empty
    - get_passphrase_arg
    - boost::asio::io_context::run
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test::format_time
      Src: /src/botan/src/cli/tls_http_server.cpp:71,1
    - Dst: std::time
      Src: /src/botan/src/cli/tls_http_server.cpp:71,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/tls_http_server.cpp:73,1
    - Dst: std::time
      Src: /src/botan/src/cli/tls_http_server.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: Botan_CLI::Logger::timestamp
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Botan_Tests::Test::format_time
    - std::time
    linkageType: ''
    returnType: std::string
    signature: std::string timestamp() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' out'
    - ' err'
    argTypes:
    - std::ostream
    - std::ostream
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan_CLI::Logger::Logger
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Logger(std::ostream& out, std::ostream& err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/tls_http_server.cpp:82,1
    - Dst: Botan_CLI::Logger::timestamp
      Src: /src/botan/src/cli/tls_http_server.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: Botan_CLI::Logger::log
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan_CLI::Logger::timestamp
    linkageType: ''
    returnType: void
    signature: void log(std::string_view out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/tls_http_server.cpp:87,1
    - Dst: Botan_CLI::Logger::timestamp
      Src: /src/botan/src/cli/tls_http_server.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: Botan_CLI::Logger::error
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan_CLI::Logger::timestamp
    linkageType: ''
    returnType: void
    signature: void error(std::string_view err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Logger::flush
      Src: /src/botan/src/cli/tls_http_server.cpp:92,1
    - Dst: Botan_CLI::Logger::flush
      Src: /src/botan/src/cli/tls_http_server.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: Botan_CLI::Logger::flush
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 1
    functionsReached:
    - Botan_CLI::Logger::flush
    linkageType: ''
    returnType: void
    signature: void flush()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::version_string
      Src: /src/botan/src/cli/tls_http_server.cpp:107,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/tls_http_server.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: Botan_CLI::TlsHttpCallbacks::tls_session_activated
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - Botan::version_string
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void tls_session_activated() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: version
      Src: /src/botan/src/cli/tls_http_server.cpp:115,1
    - Dst: ciphersuite
      Src: /src/botan/src/cli/tls_http_server.cpp:116,1
    - Dst: session_id
      Src: /src/botan/src/cli/tls_http_server.cpp:117,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_http_server.cpp:117,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_http_server.cpp:118,1
    - Dst: get
      Src: /src/botan/src/cli/tls_http_server.cpp:118,1
    - Dst: server_info
      Src: /src/botan/src/cli/tls_http_server.cpp:120,1
    - Dst: server_info
      Src: /src/botan/src/cli/tls_http_server.cpp:121,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/tls_http_server.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Botan::TLS::Session_Summary
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: Botan_CLI::TlsHttpCallbacks::tls_session_established
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - server_info
    - std::ostringstream::str
    - version
    - empty
    - get
    - Botan::hex_encode
    - session_id
    - ciphersuite
    linkageType: ''
    returnType: void
    signature: void tls_session_established(const Botan::TLS::Session_Summary& session)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/botan/src/cli/tls_http_server.cpp:128,1
    - Dst: dynamic_cast<const Botan::TLS::Client_Hello&>
      Src: /src/botan/src/cli/tls_http_server.cpp:129,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_http_server.cpp:133,1
    - Dst: random
      Src: /src/botan/src/cli/tls_http_server.cpp:133,1
    - Dst: ciphersuites
      Src: /src/botan/src/cli/tls_http_server.cpp:136,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/cli/tls_http_server.cpp:137,1
    - Dst: std::setfill
      Src: /src/botan/src/cli/tls_http_server.cpp:139,1
    - Dst: std::setw
      Src: /src/botan/src/cli/tls_http_server.cpp:139,1
    - Dst: std::setfill
      Src: /src/botan/src/cli/tls_http_server.cpp:140,1
    - Dst: std::setw
      Src: /src/botan/src/cli/tls_http_server.cpp:140,1
    - Dst: auto::valid
      Src: /src/botan/src/cli/tls_http_server.cpp:142,1
    - Dst: auto::to_string
      Src: /src/botan/src/cli/tls_http_server.cpp:143,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/tls_http_server.cpp:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - Botan::TLS::Handshake_Message
    constantsTouched: []
    func_position:
      end: 153
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 153
    functionName: Botan_CLI::TlsHttpCallbacks::tls_inspect_handshake_msg
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - type
    - dynamic_cast<const Botan::TLS::Client_Hello&>
    - Botan::TLS::Ciphersuite::by_id
    - std::ostringstream::str
    - std::setfill
    - auto::valid
    - random
    - auto::to_string
    - Botan::hex_encode
    - std::setw
    - ciphersuites
    linkageType: ''
    returnType: void
    signature: void tls_inspect_handshake_msg(const Botan::TLS::Handshake_Message&
      message) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/cli/tls_http_server.cpp:156,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_http_server.cpp:156,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_http_server.cpp:156,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_http_server.cpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: Botan_CLI::TlsHttpCallbacks::summary
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - empty
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: std::string
    signature: std::string summary() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next_layer
      Src: /src/botan/src/cli/tls_http_server.cpp:170,1
    - Dst: address
      Src: /src/botan/src/cli/tls_http_server.cpp:172,1
    - Dst: method_string
      Src: /src/botan/src/cli/tls_http_server.cpp:172,1
    - Dst: target
      Src: /src/botan/src/cli/tls_http_server.cpp:172,1
    - Dst: std::distance
      Src: /src/botan/src/cli/tls_http_server.cpp:175,1
    - Dst: begin
      Src: /src/botan/src/cli/tls_http_server.cpp:175,1
    - Dst: end
      Src: /src/botan/src/cli/tls_http_server.cpp:175,1
    - Dst: name_string
      Src: /src/botan/src/cli/tls_http_server.cpp:178,1
    - Dst: value
      Src: /src/botan/src/cli/tls_http_server.cpp:178,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/tls_http_server.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' tls_stream'
    - ' req'
    argTypes:
    - Botan::TLS::Stream<tcp_stream>
    - http::request<http::string_body>
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: Botan_CLI::summarize_request
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - method_string
    - address
    - begin
    - end
    - value
    - next_layer
    - name_string
    - target
    - std::distance
    linkageType: ''
    returnType: std::string
    signature: "std::string summarize_request(const Botan::TLS::Stream<tcp_stream>&
      tls_stream,\n                              const http::request<http::string_body>&
      req)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::rethrow_exception
      Src: /src/botan/src/cli/tls_http_server.cpp:189,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_http_server.cpp:189,1
    - Dst: error
      Src: /src/botan/src/cli/tls_http_server.cpp:191,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/tls_http_server.cpp:191,1
    - Dst: what
      Src: /src/botan/src/cli/tls_http_server.cpp:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' logger'
    - ' context'
    argTypes:
    - std::shared_ptr<Logger>
    - std::string
    constantsTouched: []
    func_position:
      end: 195
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 195
    functionName: Botan_CLI::make_final_completion_handler
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - what
    - std::move
    - Botan::fmt
    - error
    - std::rethrow_exception
    linkageType: ''
    returnType: auto
    signature: auto make_final_completion_handler(const std::shared_ptr<Logger>& logger,
      const std::string& context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/botan/src/cli/tls_http_server.cpp:201,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/tls_http_server.cpp:201,1
    - Dst: method_string
      Src: /src/botan/src/cli/tls_http_server.cpp:201,1
    - Dst: target
      Src: /src/botan/src/cli/tls_http_server.cpp:201,1
    - Dst: std::make_shared<http::response<http::string_body>>
      Src: /src/botan/src/cli/tls_http_server.cpp:213,1
    - Dst: version
      Src: /src/botan/src/cli/tls_http_server.cpp:213,1
    - Dst: auto::body
      Src: /src/botan/src/cli/tls_http_server.cpp:214,1
    - Dst: auto::set
      Src: /src/botan/src/cli/tls_http_server.cpp:215,1
    - Dst: auto::keep_alive
      Src: /src/botan/src/cli/tls_http_server.cpp:216,1
    - Dst: keep_alive
      Src: /src/botan/src/cli/tls_http_server.cpp:216,1
    - Dst: auto::prepare_payload
      Src: /src/botan/src/cli/tls_http_server.cpp:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - ' req'
    - ' callbacks'
    - ' tls_stream'
    - ' logger'
    argTypes:
    - http::request<http::string_body>
    - std::shared_ptr<TlsHttpCallbacks>
    - Botan::TLS::Stream<tcp_stream>
    - std::shared_ptr<Logger>
    constantsTouched: []
    func_position:
      end: 220
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 220
    functionName: Botan_CLI::handle_response
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - std::make_shared<http::response<http::string_body>>
    - auto::body
    - keep_alive
    - auto::prepare_payload
    - log
    - method_string
    - version
    - auto::set
    - target
    - auto::keep_alive
    linkageType: ''
    returnType: std::shared_ptr<http::response<http::string_body>>
    signature: "std::shared_ptr<http::response<http::string_body>> handle_response(const
      http::request<http::string_body>& req,\n                                                                   const
      std::shared_ptr<TlsHttpCallbacks>& callbacks,\n                                                                   const
      Botan::TLS::Stream<tcp_stream>& tls_stream,\n                                                                   const
      std::shared_ptr<Logger>& logger)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<TlsHttpCallbacks>
      Src: /src/botan/src/cli/tls_http_server.cpp:229,1
    - Dst: Botan::TLS::Stream<tcp_stream>::async_handshake
      Src: /src/botan/src/cli/tls_http_server.cpp:236,1
    - Dst: Botan::TLS::Stream<tcp_stream>::next_layer
      Src: /src/botan/src/cli/tls_http_server.cpp:240,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/cli/tls_http_server.cpp:240,1
    - Dst: http::async_read
      Src: /src/botan/src/cli/tls_http_server.cpp:244,1
    - Dst: Botan_CLI::handle_response
      Src: /src/botan/src/cli/tls_http_server.cpp:247,1
    - Dst: http::async_write
      Src: /src/botan/src/cli/tls_http_server.cpp:250,1
    - Dst: auto::keep_alive
      Src: /src/botan/src/cli/tls_http_server.cpp:253,1
    - Dst: code
      Src: /src/botan/src/cli/tls_http_server.cpp:260,1
    - Dst: std::current_exception
      Src: /src/botan/src/cli/tls_http_server.cpp:264,1
    - Dst: Botan::TLS::Stream<tcp_stream>::async_shutdown
      Src: /src/botan/src/cli/tls_http_server.cpp:272,1
    - Dst: Botan::TLS::Stream<tcp_stream>::next_layer
      Src: /src/botan/src/cli/tls_http_server.cpp:273,1
    - Dst: std::rethrow_exception
      Src: /src/botan/src/cli/tls_http_server.cpp:284,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - stream
    - tls_ctx
    - logger
    argTypes:
    - tcp_stream
    - std::shared_ptr<Botan::TLS::Context>
    - std::shared_ptr<Logger>
    constantsTouched: []
    func_position:
      end: 290
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 290
    functionName: Botan_CLI::do_session
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - std::current_exception
    - Botan::TLS::Stream<tcp_stream>::async_handshake
    - Botan::TLS::Stream<tcp_stream>::async_shutdown
    - Botan_CLI::handle_response
    - http::async_write
    - Botan::TLS::Stream<tcp_stream>::next_layer
    - code
    - std::make_shared<TlsHttpCallbacks>
    - Botan_CLI::Timer::seconds
    - http::async_read
    - auto::keep_alive
    - std::rethrow_exception
    linkageType: ''
    returnType: net::awaitable<void>
    signature: "net::awaitable<void> do_session(tcp_stream stream,\n                                std::shared_ptr<Botan::TLS::Context>
      tls_ctx,\n                                std::shared_ptr<Logger> logger)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_default_on
      Src: /src/botan/src/cli/tls_http_server.cpp:296,1
    - Dst: tcp::acceptor
      Src: /src/botan/src/cli/tls_http_server.cpp:296,1
    - Dst: auto::open
      Src: /src/botan/src/cli/tls_http_server.cpp:297,1
    - Dst: tcp::endpoint::protocol
      Src: /src/botan/src/cli/tls_http_server.cpp:297,1
    - Dst: auto::set_option
      Src: /src/botan/src/cli/tls_http_server.cpp:298,1
    - Dst: net::socket_base::reuse_address
      Src: /src/botan/src/cli/tls_http_server.cpp:298,1
    - Dst: auto::bind
      Src: /src/botan/src/cli/tls_http_server.cpp:299,1
    - Dst: auto::listen
      Src: /src/botan/src/cli/tls_http_server.cpp:300,1
    - Dst: std::shared_ptr<Logger>::log
      Src: /src/botan/src/cli/tls_http_server.cpp:307,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/tls_http_server.cpp:307,1
    - Dst: tcp::endpoint::address
      Src: /src/botan/src/cli/tls_http_server.cpp:307,1
    - Dst: tcp::endpoint::port
      Src: /src/botan/src/cli/tls_http_server.cpp:307,1
    - Dst: std::shared_ptr<Logger>::flush
      Src: /src/botan/src/cli/tls_http_server.cpp:308,1
    - Dst: done
      Src: /src/botan/src/cli/tls_http_server.cpp:318,1
    - Dst: boost::asio::co_spawn
      Src: /src/botan/src/cli/tls_http_server.cpp:319,1
    - Dst: auto::get_executor
      Src: /src/botan/src/cli/tls_http_server.cpp:319,1
    - Dst: Botan_CLI::do_session
      Src: /src/botan/src/cli/tls_http_server.cpp:320,1
    - Dst: tcp_stream
      Src: /src/botan/src/cli/tls_http_server.cpp:320,1
    - Dst: auto::async_accept
      Src: /src/botan/src/cli/tls_http_server.cpp:320,1
    - Dst: Botan_CLI::make_final_completion_handler
      Src: /src/botan/src/cli/tls_http_server.cpp:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - endpoint
    - tls_ctx
    - max_clients
    - logger
    argTypes:
    - tcp::endpoint
    - std::shared_ptr<Botan::TLS::Context>
    - size_t
    - std::shared_ptr<Logger>
    constantsTouched: []
    func_position:
      end: 323
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 323
    functionName: Botan_CLI::do_listen
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - auto::set_option
    - auto::bind
    - done
    - tcp::acceptor
    - as_default_on
    - tcp::endpoint::protocol
    - tcp::endpoint::address
    - tcp_stream
    - auto::async_accept
    - Botan_CLI::do_session
    - std::shared_ptr<Logger>::log
    - auto::open
    - auto::listen
    - auto::get_executor
    - Botan_CLI::make_final_completion_handler
    - net::socket_base::reuse_address
    - boost::asio::co_spawn
    - tcp::endpoint::port
    - Botan::fmt
    - std::shared_ptr<Logger>::flush
    linkageType: ''
    returnType: net::awaitable<void>
    signature: "net::awaitable<void> do_listen(tcp::endpoint endpoint,\n                               std::shared_ptr<Botan::TLS::Context>
      tls_ctx,\n                               size_t max_clients,\n                               std::shared_ptr<Logger>
      logger)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: Botan_CLI::TLS_HTTP_Server::TLS_HTTP_Server
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_HTTP_Server()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: Botan_CLI::TLS_HTTP_Server::group
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: Botan_CLI::TLS_HTTP_Server::description
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 349
    functionName: Botan_CLI::TLS_HTTP_Server::thread_count
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t thread_count() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_http_server.cpp:354,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_http_server.cpp:355,1
    - Dst: std::make_shared<Basic_Credentials_Manager>
      Src: /src/botan/src/cli/tls_http_server.cpp:360,1
    - Dst: load_tls_policy
      Src: /src/botan/src/cli/tls_http_server.cpp:362,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_http_server.cpp:362,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_http_server.cpp:366,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/tls_http_server.cpp:368,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/tls_http_server.cpp:370,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_SQLite>
      Src: /src/botan/src/cli/tls_http_server.cpp:372,1
    - Dst: rng_as_shared
      Src: /src/botan/src/cli/tls_http_server.cpp:372,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/tls_http_server.cpp:374,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/cli/tls_http_server.cpp:379,1
    - Dst: rng_as_shared
      Src: /src/botan/src/cli/tls_http_server.cpp:379,1
    - Dst: std::make_shared<Logger>
      Src: /src/botan/src/cli/tls_http_server.cpp:382,1
    - Dst: output
      Src: /src/botan/src/cli/tls_http_server.cpp:382,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_http_server.cpp:382,1
    - Dst: static_cast<int>
      Src: /src/botan/src/cli/tls_http_server.cpp:384,1
    - Dst: net::ip::make_address
      Src: /src/botan/src/cli/tls_http_server.cpp:385,1
    - Dst: boost::asio::co_spawn
      Src: /src/botan/src/cli/tls_http_server.cpp:386,1
    - Dst: do_listen
      Src: /src/botan/src/cli/tls_http_server.cpp:388,1
    - Dst: std::enable_shared_from_this<Context>
      Src: /src/botan/src/cli/tls_http_server.cpp:389,1
    - Dst: rng_as_shared
      Src: /src/botan/src/cli/tls_http_server.cpp:389,1
    - Dst: make_final_completion_handler
      Src: /src/botan/src/cli/tls_http_server.cpp:392,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/tls_http_server.cpp:398,1
    - Dst: std::make_shared<std::thread>
      Src: /src/botan/src/cli/tls_http_server.cpp:398,1
    - Dst: net::io_context::run
      Src: /src/botan/src/cli/tls_http_server.cpp:398,1
    - Dst: net::io_context::run
      Src: /src/botan/src/cli/tls_http_server.cpp:401,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/tls_http_server.cpp:403,1
    - Dst: join
      Src: /src/botan/src/cli/tls_http_server.cpp:404,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 406
    functionName: Botan_CLI::TLS_HTTP_Server::go
    functionSourceFile: /src/botan/src/cli/tls_http_server.cpp
    functionUses: 0
    functionsReached:
    - error_output
    - join
    - do_listen
    - std::vector::size
    - std::make_shared<Botan::TLS::Session_Manager_SQLite>
    - net::ip::make_address
    - std::vector::push_back
    - std::string::empty
    - rng_as_shared
    - output
    - get_arg
    - static_cast<int>
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - get_passphrase_arg
    - CLI_Error_Unsupported
    - make_final_completion_handler
    - std::enable_shared_from_this<Context>
    - load_tls_policy
    - std::make_shared<Basic_Credentials_Manager>
    - std::make_shared<std::thread>
    - boost::asio::co_spawn
    - std::make_shared<Logger>
    - net::io_context::run
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: Botan_CLI::Generate_Bcrypt::Generate_Bcrypt
    functionSourceFile: /src/botan/src/cli/bcrypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Generate_Bcrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan_CLI::Generate_Bcrypt::group
    functionSourceFile: /src/botan/src/cli/bcrypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan_CLI::Generate_Bcrypt::description
    functionSourceFile: /src/botan/src/cli/bcrypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/bcrypt.cpp:26,1
    - Dst: error_output
      Src: /src/botan/src/cli/bcrypt.cpp:30,1
    - Dst: output
      Src: /src/botan/src/cli/bcrypt.cpp:33,1
    - Dst: Botan::generate_bcrypt
      Src: /src/botan/src/cli/bcrypt.cpp:33,1
    - Dst: rng
      Src: /src/botan/src/cli/bcrypt.cpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: Botan_CLI::Generate_Bcrypt::go
    functionSourceFile: /src/botan/src/cli/bcrypt.cpp
    functionUses: 0
    functionsReached:
    - error_output
    - output
    - Botan::generate_bcrypt
    - rng
    - get_passphrase_arg
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan_CLI::Check_Bcrypt::Check_Bcrypt
    functionSourceFile: /src/botan/src/cli/bcrypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Check_Bcrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan_CLI::Check_Bcrypt::group
    functionSourceFile: /src/botan/src/cli/bcrypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan_CLI::Check_Bcrypt::description
    functionSourceFile: /src/botan/src/cli/bcrypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/bcrypt.cpp:49,1
    - Dst: get_arg
      Src: /src/botan/src/cli/bcrypt.cpp:50,1
    - Dst: std::string::length
      Src: /src/botan/src/cli/bcrypt.cpp:52,1
    - Dst: error_output
      Src: /src/botan/src/cli/bcrypt.cpp:53,1
    - Dst: output
      Src: /src/botan/src/cli/bcrypt.cpp:58,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/bcrypt.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: Botan_CLI::Check_Bcrypt::go
    functionSourceFile: /src/botan/src/cli/bcrypt.cpp
    functionUses: 0
    functionsReached:
    - error_output
    - output
    - get_arg
    - set_return_code
    - get_passphrase_arg
    - std::string::length
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pwdhash.cpp:31,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/perf_pwdhash.cpp:31,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pwdhash.cpp:33,1
    - Dst: Botan::generate_bcrypt
      Src: /src/botan/src/cli/perf_pwdhash.cpp:33,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_pwdhash.cpp:33,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/cli/perf_pwdhash.cpp:33,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pwdhash.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: Botan_CLI::PerfTest_Bcrypt::go
    functionSourceFile: /src/botan/src/cli/perf_pwdhash.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - make_timer
    - record_result
    - Botan::generate_bcrypt
    - auto::run
    - rng
    - Botan::fmt
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_passhash9_alg_supported
      Src: /src/botan/src/cli/perf_pwdhash.cpp:52,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pwdhash.cpp:57,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/perf_pwdhash.cpp:57,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pwdhash.cpp:59,1
    - Dst: Botan::generate_passhash9
      Src: /src/botan/src/cli/perf_pwdhash.cpp:60,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_pwdhash.cpp:60,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/cli/perf_pwdhash.cpp:60,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pwdhash.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: Botan_CLI::PerfTest_Passhash9::go
    functionSourceFile: /src/botan/src/cli/perf_pwdhash.cpp
    functionUses: 0
    functionsReached:
    - Botan::generate_passhash9
    - make_timer
    - record_result
    - auto::run
    - rng
    - Botan::fmt
    - static_cast<uint8_t>
    - Botan::is_passhash9_alg_supported
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/cli/perf_pwdhash.cpp:77,1
    - Dst: auto::from_params
      Src: /src/botan/src/cli/perf_pwdhash.cpp:82,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pwdhash.cpp:85,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/perf_pwdhash.cpp:85,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_pwdhash.cpp:89,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_pwdhash.cpp:91,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pwdhash.cpp:93,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pwdhash.cpp:94,1
    - Dst: auto::derive_key
      Src: /src/botan/src/cli/perf_pwdhash.cpp:95,1
    - Dst: memcpy
      Src: /src/botan/src/cli/perf_pwdhash.cpp:96,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pwdhash.cpp:100,1
    - Dst: auto::events
      Src: /src/botan/src/cli/perf_pwdhash.cpp:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 108
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 108
    functionName: Botan_CLI::PerfTest_Scrypt::go
    functionSourceFile: /src/botan/src/cli/perf_pwdhash.cpp
    functionUses: 0
    functionsReached:
    - Botan::PasswordHashFamily::create_or_throw
    - auto::from_params
    - make_timer
    - auto::derive_key
    - runtime
    - record_result
    - auto::events
    - auto::run
    - rng
    - auto::under
    - memcpy
    - Botan::fmt
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/cli/perf_pwdhash.cpp:120,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_pwdhash.cpp:122,1
    - Dst: auto::from_params
      Src: /src/botan/src/cli/perf_pwdhash.cpp:127,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pwdhash.cpp:128,1
    - Dst: auto::to_string
      Src: /src/botan/src/cli/perf_pwdhash.cpp:128,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_pwdhash.cpp:132,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pwdhash.cpp:134,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pwdhash.cpp:135,1
    - Dst: auto::derive_key
      Src: /src/botan/src/cli/perf_pwdhash.cpp:135,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pwdhash.cpp:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 142
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 142
    functionName: Botan_CLI::PerfTest_Argon2::go
    functionSourceFile: /src/botan/src/cli/perf_pwdhash.cpp
    functionUses: 0
    functionsReached:
    - Botan::PasswordHashFamily::create_or_throw
    - auto::from_params
    - make_timer
    - auto::derive_key
    - runtime
    - record_result
    - auto::to_string
    - rng
    - auto::under
    - auto::run
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/cli/x509.cpp:37,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/x509.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' key_file'
    - ' passphrase'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: Botan_CLI::load_private_key
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached:
    - CLI_Error
    - Botan::PKCS8::load_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const std::string&
      key_file, const std::string& passphrase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stateful_operation
      Src: /src/botan/src/cli/x509.cpp:50,1
    - Dst: empty
      Src: /src/botan/src/cli/x509.cpp:55,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/cli/x509.cpp:56,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/cli/x509.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' key'
    - ' rng'
    - ' key_file'
    - ' pass'
    argTypes:
    - Botan::Private_Key
    - Botan::RandomNumberGenerator
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: Botan_CLI::update_stateful_private_key
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached:
    - empty
    - stateful_operation
    - Botan::PKCS8::PEM_encode
    linkageType: ''
    returnType: void
    signature: "void update_stateful_private_key(const Botan::Private_Key& key,\n
      \                                Botan::RandomNumberGenerator& rng,\n                                 const
      std::string& key_file,\n                                 const std::string&
      pass)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan_CLI::Trust_Root_Info::Trust_Root_Info
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Trust_Root_Info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan_CLI::Trust_Root_Info::group
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Botan_CLI::Trust_Root_Info::description
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::System_Certificate_Store::System_Certificate_Store
      Src: /src/botan/src/cli/x509.cpp:75,1
    - Dst: Botan::System_Certificate_Store::all_subjects
      Src: /src/botan/src/cli/x509.cpp:77,1
    - Dst: flag_set
      Src: /src/botan/src/cli/x509.cpp:79,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:81,1
    - Dst: Botan::System_Certificate_Store::find_all_certs
      Src: /src/botan/src/cli/x509.cpp:86,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/cli/x509.cpp:86,1
    - Dst: flag_set
      Src: /src/botan/src/cli/x509.cpp:87,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:88,1
    - Dst: flag_set
      Src: /src/botan/src/cli/x509.cpp:91,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:92,1
    - Dst: to_string
      Src: /src/botan/src/cli/x509.cpp:92,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:95,1
    - Dst: PEM_encode
      Src: /src/botan/src/cli/x509.cpp:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 99
    functionName: Botan_CLI::Trust_Root_Info::go
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached:
    - to_string
    - output
    - Botan::System_Certificate_Store::all_subjects
    - std::vector<uint8_t>
    - flag_set
    - Botan::System_Certificate_Store::find_all_certs
    - Botan::System_Certificate_Store::System_Certificate_Store
    - PEM_encode
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: Botan_CLI::Sign_Cert::Sign_Cert
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sign_Cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: Botan_CLI::Sign_Cert::group
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: Botan_CLI::Sign_Cert::description
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:118,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:120,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/x509.cpp:121,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:122,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:123,1
    - Dst: load_private_key
      Src: /src/botan/src/cli/x509.cpp:125,1
    - Dst: rng
      Src: /src/botan/src/cli/x509.cpp:127,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:129,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/cli/x509.cpp:131,1
    - Dst: days
      Src: /src/botan/src/cli/x509.cpp:137,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/x509.cpp:137,1
    - Dst: Botan::X509_CA::sign_request
      Src: /src/botan/src/cli/x509.cpp:139,1
    - Dst: rng
      Src: /src/botan/src/cli/x509.cpp:139,1
    - Dst: update_stateful_private_key
      Src: /src/botan/src/cli/x509.cpp:140,1
    - Dst: rng
      Src: /src/botan/src/cli/x509.cpp:140,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:142,1
    - Dst: Botan::X509_Certificate::PEM_encode
      Src: /src/botan/src/cli/x509.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 143
    functionName: Botan_CLI::Sign_Cert::go
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - get_arg_sz
    - output
    - get_arg
    - load_private_key
    - Botan::X509_CA::sign_request
    - update_stateful_private_key
    - rng
    - get_passphrase_arg
    - days
    - Botan::X509_Certificate::PEM_encode
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: Botan_CLI::Cert_Info::Cert_Info
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cert_Info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: Botan_CLI::Cert_Info::group
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: Botan_CLI::Cert_Info::description
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slurp_file
      Src: /src/botan/src/cli/x509.cpp:157,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:157,1
    - Dst: Botan::DataSource_Memory::end_of_data
      Src: /src/botan/src/cli/x509.cpp:161,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:166,1
    - Dst: Botan::X509_Certificate::to_string
      Src: /src/botan/src/cli/x509.cpp:166,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:169,1
    - Dst: what
      Src: /src/botan/src/cli/x509.cpp:169,1
    - Dst: flag_set
      Src: /src/botan/src/cli/x509.cpp:172,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:173,1
    - Dst: Botan::X509_Certificate::fingerprint
      Src: /src/botan/src/cli/x509.cpp:173,1
    - Dst: Botan::DataSource_Memory::end_of_data
      Src: /src/botan/src/cli/x509.cpp:176,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:177,1
    - Dst: what
      Src: /src/botan/src/cli/x509.cpp:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 181
    functionName: Botan_CLI::Cert_Info::go
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::DataSource_Memory::end_of_data
    - output
    - slurp_file
    - get_arg
    - Botan::X509_Certificate::to_string
    - what
    - flag_set
    - Botan::X509_Certificate::fingerprint
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: Botan_CLI::OCSP_Check::OCSP_Check
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OCSP_Check()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: Botan_CLI::OCSP_Check::group
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: Botan_CLI::OCSP_Check::description
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:199,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:200,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/x509.cpp:201,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/cli/x509.cpp:203,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/cli/x509.cpp:204,1
    - Dst: Botan::OCSP::online_check
      Src: /src/botan/src/cli/x509.cpp:205,1
    - Dst: Botan::OCSP::Response::status_for
      Src: /src/botan/src/cli/x509.cpp:207,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/cli/x509.cpp:207,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:210,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:212,1
    - Dst: Botan::Path_Validation_Result::status_string
      Src: /src/botan/src/cli/x509.cpp:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 214
    functionName: Botan_CLI::OCSP_Check::go
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - Botan::Path_Validation_Result::status_string
    - get_arg_sz
    - output
    - get_arg
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::OCSP::Response::status_for
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::OCSP::online_check
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: Botan_CLI::Cert_Verify::Cert_Verify
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cert_Verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: Botan_CLI::Cert_Verify::group
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: Botan_CLI::Cert_Verify::description
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:232,1
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/cli/x509.cpp:233,1
    - Dst: get_arg_list
      Src: /src/botan/src/cli/x509.cpp:235,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/cli/x509.cpp:236,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/cli/x509.cpp:236,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/cli/x509.cpp:239,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/cli/x509.cpp:241,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/cli/x509.cpp:243,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:244,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:246,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/cli/x509.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 248
    functionName: Botan_CLI::Cert_Verify::go
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - output
    - get_arg
    - Botan::X509_Certificate
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::Path_Validation_Result::result_string
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - get_arg_list
    - Botan::Path_Validation_Result::successful_validation
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: Botan_CLI::Gen_Self_Signed::Gen_Self_Signed
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Gen_Self_Signed()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: Botan_CLI::Gen_Self_Signed::group
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: Botan_CLI::Gen_Self_Signed::description
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:265,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/x509.cpp:266,1
    - Dst: load_private_key
      Src: /src/botan/src/cli/x509.cpp:267,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:273,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:274,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:275,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:276,1
    - Dst: Botan_CLI::Command::split_on
      Src: /src/botan/src/cli/x509.cpp:277,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:277,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:280,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/x509.cpp:282,1
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/cli/x509.cpp:283,1
    - Dst: flag_set
      Src: /src/botan/src/cli/x509.cpp:286,1
    - Dst: Botan::X509_Cert_Options::CA_key
      Src: /src/botan/src/cli/x509.cpp:287,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/x509.cpp:287,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/cli/x509.cpp:290,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:290,1
    - Dst: rng
      Src: /src/botan/src/cli/x509.cpp:290,1
    - Dst: update_stateful_private_key
      Src: /src/botan/src/cli/x509.cpp:291,1
    - Dst: rng
      Src: /src/botan/src/cli/x509.cpp:291,1
    - Dst: Botan::X509_Certificate::BER_encode
      Src: /src/botan/src/cli/x509.cpp:294,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:295,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/x509.cpp:295,1
    - Dst: auto::data
      Src: /src/botan/src/cli/x509.cpp:295,1
    - Dst: auto::size
      Src: /src/botan/src/cli/x509.cpp:295,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:297,1
    - Dst: Botan::X509_Certificate::PEM_encode
      Src: /src/botan/src/cli/x509.cpp:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 299
    functionName: Botan_CLI::Gen_Self_Signed::go
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached:
    - get_arg_sz
    - Botan::X509_Certificate::BER_encode
    - get_arg
    - output
    - auto::size
    - load_private_key
    - Botan::X509::create_self_signed_cert
    - update_stateful_private_key
    - auto::data
    - rng
    - std::string::empty
    - get_passphrase_arg
    - Botan::X509_Cert_Options::set_padding_scheme
    - flag_set
    - reinterpret_cast<const char*>
    - Botan_CLI::Command::split_on
    - Botan::X509_Certificate::PEM_encode
    - Botan::X509_Cert_Options::CA_key
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: Botan_CLI::Generate_PKCS10::Generate_PKCS10
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Generate_PKCS10()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: Botan_CLI::Generate_PKCS10::group
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: Botan_CLI::Generate_PKCS10::description
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:316,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/x509.cpp:317,1
    - Dst: load_private_key
      Src: /src/botan/src/cli/x509.cpp:319,1
    - Dst: Botan::X509_Cert_Options::X509_Cert_Options
      Src: /src/botan/src/cli/x509.cpp:321,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:323,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:324,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:325,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:326,1
    - Dst: Botan_CLI::Command::split_on
      Src: /src/botan/src/cli/x509.cpp:327,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:327,1
    - Dst: flag_set
      Src: /src/botan/src/cli/x509.cpp:329,1
    - Dst: Botan::X509_Cert_Options::CA_key
      Src: /src/botan/src/cli/x509.cpp:330,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/x509.cpp:330,1
    - Dst: Botan_CLI::Command::split_on
      Src: /src/botan/src/cli/x509.cpp:333,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:333,1
    - Dst: Botan::X509_Cert_Options::add_ex_constraint
      Src: /src/botan/src/cli/x509.cpp:334,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:337,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/x509.cpp:339,1
    - Dst: Botan::X509_Cert_Options::set_padding_scheme
      Src: /src/botan/src/cli/x509.cpp:340,1
    - Dst: Botan::X509::create_cert_req
      Src: /src/botan/src/cli/x509.cpp:343,1
    - Dst: get_arg
      Src: /src/botan/src/cli/x509.cpp:343,1
    - Dst: rng
      Src: /src/botan/src/cli/x509.cpp:343,1
    - Dst: update_stateful_private_key
      Src: /src/botan/src/cli/x509.cpp:344,1
    - Dst: rng
      Src: /src/botan/src/cli/x509.cpp:344,1
    - Dst: output
      Src: /src/botan/src/cli/x509.cpp:346,1
    - Dst: Botan::PKCS10_Request::PEM_encode
      Src: /src/botan/src/cli/x509.cpp:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 347
    functionName: Botan_CLI::Generate_PKCS10::go
    functionSourceFile: /src/botan/src/cli/x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509::create_cert_req
    - get_arg_sz
    - output
    - get_arg
    - Botan::PKCS10_Request::PEM_encode
    - load_private_key
    - update_stateful_private_key
    - rng
    - flag_set
    - get_passphrase_arg
    - std::string::empty
    - Botan::X509_Cert_Options::set_padding_scheme
    - Botan::X509_Cert_Options::add_ex_constraint
    - Botan_CLI::Command::split_on
    - Botan::X509_Cert_Options::X509_Cert_Options
    - Botan::X509_Cert_Options::CA_key
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_CLI::Entropy::Entropy
    functionSourceFile: /src/botan/src/cli/entropy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Entropy()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan_CLI::Entropy::group
    functionSourceFile: /src/botan/src/cli/entropy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan_CLI::Entropy::description
    functionSourceFile: /src/botan/src/cli/entropy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/entropy.cpp:31,1
    - Dst: Botan::Entropy_Sources::global_sources
      Src: /src/botan/src/cli/entropy.cpp:34,1
    - Dst: enabled_sources
      Src: /src/botan/src/cli/entropy.cpp:38,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/entropy.cpp:40,1
    - Dst: Botan_Tests::SeedCapturing_RNG::samples
      Src: /src/botan/src/cli/entropy.cpp:47,1
    - Dst: output
      Src: /src/botan/src/cli/entropy.cpp:48,1
    - Dst: Botan_Tests::SeedCapturing_RNG::seed_material
      Src: /src/botan/src/cli/entropy.cpp:52,1
    - Dst: output
      Src: /src/botan/src/cli/entropy.cpp:54,1
    - Dst: size
      Src: /src/botan/src/cli/entropy.cpp:54,1
    - Dst: Botan_Tests::SeedCapturing_RNG::samples
      Src: /src/botan/src/cli/entropy.cpp:54,1
    - Dst: empty
      Src: /src/botan/src/cli/entropy.cpp:58,1
    - Dst: Botan::Compression_Algorithm::create
      Src: /src/botan/src/cli/entropy.cpp:59,1
    - Dst: Botan::secure_vector::assign
      Src: /src/botan/src/cli/entropy.cpp:63,1
    - Dst: begin
      Src: /src/botan/src/cli/entropy.cpp:63,1
    - Dst: end
      Src: /src/botan/src/cli/entropy.cpp:63,1
    - Dst: auto::start
      Src: /src/botan/src/cli/entropy.cpp:64,1
    - Dst: auto::finish
      Src: /src/botan/src/cli/entropy.cpp:65,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/entropy.cpp:67,1
    - Dst: size
      Src: /src/botan/src/cli/entropy.cpp:67,1
    - Dst: output
      Src: /src/botan/src/cli/entropy.cpp:68,1
    - Dst: size
      Src: /src/botan/src/cli/entropy.cpp:68,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/entropy.cpp:69,1
    - Dst: error_output
      Src: /src/botan/src/cli/entropy.cpp:72,1
    - Dst: what
      Src: /src/botan/src/cli/entropy.cpp:72,1
    - Dst: size
      Src: /src/botan/src/cli/entropy.cpp:78,1
    - Dst: output
      Src: /src/botan/src/cli/entropy.cpp:79,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/entropy.cpp:79,1
    - Dst: output
      Src: /src/botan/src/cli/entropy.cpp:81,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/entropy.cpp:81,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 84
    functionName: Botan_CLI::Entropy::go
    functionSourceFile: /src/botan/src/cli/entropy.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - error_output
    - Botan::Compression_Algorithm::create
    - std::vector::push_back
    - enabled_sources
    - output
    - get_arg
    - what
    - Botan_Tests::SeedCapturing_RNG::seed_material
    - Botan::secure_vector::size
    - Botan_Tests::SeedCapturing_RNG::samples
    - Botan::secure_vector::assign
    - size
    - empty
    - end
    - Botan::Entropy_Sources::global_sources
    - Botan::hex_encode
    - auto::finish
    - begin
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& cmd_spec() const'
    functionSourceFile: /src/botan/src/cli/cli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & cmd_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Botan_CLI::Command::set_return_code
    functionSourceFile: /src/botan/src/cli/cli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_return_code(int rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::flag_set
      Src: /src/botan/src/cli/cli.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: Botan_CLI::Command::verbose
    functionSourceFile: /src/botan/src/cli/cli.h
    functionUses: 0
    functionsReached:
    - Botan_CLI::Command::flag_set
    linkageType: ''
    returnType: bool
    signature: bool verbose() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::format_blob
      Src: /src/botan/src/cli/cli.h:131,1
    - Dst: data
      Src: /src/botan/src/cli/cli.h:131,1
    - Dst: size
      Src: /src/botan/src/cli/cli.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' format'
    - ' vec'
    argTypes:
    - std::string
    - std::vector<uint8_t, Alloc>
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: Botan_CLI::Command::format_blob
    functionSourceFile: /src/botan/src/cli/cli.h
    functionUses: 1
    functionsReached:
    - data
    - Botan_CLI::Command::format_blob
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string format_blob(const std::string& format, const std::vector<uint8_t,
      Alloc>& vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_binary
      Src: /src/botan/src/cli/cli.h:188,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/cli.h:188,1
    - Dst: data
      Src: /src/botan/src/cli/cli.h:188,1
    - Dst: size
      Src: /src/botan/src/cli/cli.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<uint8_t, Alloc>
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: Botan_CLI::Command::write_output
    functionSourceFile: /src/botan/src/cli/cli.h
    functionUses: 0
    functionsReached:
    - data
    - reinterpret_cast<const char*>
    - output_binary
    - size
    linkageType: ''
    returnType: void
    signature: void write_output(const std::vector<uint8_t, Alloc>& vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_CLI::RoughtimeCheck::RoughtimeCheck
    functionSourceFile: /src/botan/src/cli/roughtime.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RoughtimeCheck()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan_CLI::RoughtimeCheck::group
    functionSourceFile: /src/botan/src/cli/roughtime.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan_CLI::RoughtimeCheck::description
    functionSourceFile: /src/botan/src/cli/roughtime.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Roughtime::Chain::Chain
      Src: /src/botan/src/cli/roughtime.cpp:34,1
    - Dst: slurp_file_as_str
      Src: /src/botan/src/cli/roughtime.cpp:34,1
    - Dst: get_arg
      Src: /src/botan/src/cli/roughtime.cpp:34,1
    - Dst: auto::responses
      Src: /src/botan/src/cli/roughtime.cpp:36,1
    - Dst: output
      Src: /src/botan/src/cli/roughtime.cpp:37,1
    - Dst: std::setw
      Src: /src/botan/src/cli/roughtime.cpp:37,1
    - Dst: flag_set
      Src: /src/botan/src/cli/roughtime.cpp:38,1
    - Dst: output
      Src: /src/botan/src/cli/roughtime.cpp:39,1
    - Dst: Botan::Roughtime::Response::sys_microseconds64
      Src: /src/botan/src/cli/roughtime.cpp:40,1
    - Dst: utc_midpoint
      Src: /src/botan/src/cli/roughtime.cpp:40,1
    - Dst: output
      Src: /src/botan/src/cli/roughtime.cpp:42,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/cli/roughtime.cpp:42,1
    - Dst: utc_midpoint
      Src: /src/botan/src/cli/roughtime.cpp:42,1
    - Dst: output
      Src: /src/botan/src/cli/roughtime.cpp:44,1
    - Dst: Botan::Roughtime::Response::microseconds32
      Src: /src/botan/src/cli/roughtime.cpp:44,1
    - Dst: utc_radius
      Src: /src/botan/src/cli/roughtime.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: Botan_CLI::RoughtimeCheck::go
    functionSourceFile: /src/botan/src/cli/roughtime.cpp
    functionUses: 0
    functionsReached:
    - auto::responses
    - output
    - Botan::Roughtime::Response::microseconds32
    - get_arg
    - Botan::calendar_point
    - Botan::Roughtime::Response::sys_microseconds64
    - utc_midpoint
    - utc_radius
    - flag_set
    - slurp_file_as_str
    - Botan::Roughtime::Chain::Chain
    - std::setw
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: Botan_CLI::Roughtime::Roughtime
    functionSourceFile: /src/botan/src/cli/roughtime.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Roughtime()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timing_Test_Command::help_text
      Src: /src/botan/src/cli/roughtime.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 79
    functionName: Botan_CLI::Roughtime::help_text
    functionSourceFile: /src/botan/src/cli/roughtime.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timing_Test_Command::help_text
    linkageType: ''
    returnType: std::string
    signature: std::string help_text() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Botan_CLI::Roughtime::group
    functionSourceFile: /src/botan/src/cli/roughtime.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan_CLI::Roughtime::description
    functionSourceFile: /src/botan/src/cli/roughtime.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Roughtime::Nonce::Nonce
      Src: /src/botan/src/cli/roughtime.cpp:89,1
    - Dst: Botan::Roughtime::Nonce::Nonce
      Src: /src/botan/src/cli/roughtime.cpp:90,1
    - Dst: Botan::Roughtime::Nonce::Nonce
      Src: /src/botan/src/cli/roughtime.cpp:92,1
    - Dst: rng
      Src: /src/botan/src/cli/roughtime.cpp:92,1
    - Dst: next_nonce
      Src: /src/botan/src/cli/roughtime.cpp:93,1
    - Dst: Botan::Roughtime::Nonce::Nonce
      Src: /src/botan/src/cli/roughtime.cpp:95,1
    - Dst: rng
      Src: /src/botan/src/cli/roughtime.cpp:95,1
    - Dst: Botan::Roughtime::online_request
      Src: /src/botan/src/cli/roughtime.cpp:97,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/cli/roughtime.cpp:97,1
    - Dst: Botan::Roughtime::Response::from_bits
      Src: /src/botan/src/cli/roughtime.cpp:98,1
    - Dst: flag_set
      Src: /src/botan/src/cli/roughtime.cpp:99,1
    - Dst: output
      Src: /src/botan/src/cli/roughtime.cpp:100,1
    - Dst: Botan::Roughtime::Response::sys_microseconds64
      Src: /src/botan/src/cli/roughtime.cpp:102,1
    - Dst: auto::utc_midpoint
      Src: /src/botan/src/cli/roughtime.cpp:102,1
    - Dst: output
      Src: /src/botan/src/cli/roughtime.cpp:104,1
    - Dst: Botan::calendar_point
      Src: /src/botan/src/cli/roughtime.cpp:104,1
    - Dst: auto::utc_midpoint
      Src: /src/botan/src/cli/roughtime.cpp:104,1
    - Dst: output
      Src: /src/botan/src/cli/roughtime.cpp:106,1
    - Dst: Botan::Roughtime::Response::microseconds32
      Src: /src/botan/src/cli/roughtime.cpp:106,1
    - Dst: auto::utc_radius
      Src: /src/botan/src/cli/roughtime.cpp:106,1
    - Dst: auto::validate
      Src: /src/botan/src/cli/roughtime.cpp:107,1
    - Dst: error_output
      Src: /src/botan/src/cli/roughtime.cpp:108,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/roughtime.cpp:109,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/roughtime.cpp:112,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/cli/roughtime.cpp:114,1
    - Dst: auto::utc_midpoint
      Src: /src/botan/src/cli/roughtime.cpp:116,1
    - Dst: auto::utc_midpoint
      Src: /src/botan/src/cli/roughtime.cpp:116,1
    - Dst: auto::utc_midpoint
      Src: /src/botan/src/cli/roughtime.cpp:116,1
    - Dst: auto::utc_radius
      Src: /src/botan/src/cli/roughtime.cpp:117,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/cli/roughtime.cpp:117,1
    - Dst: error_output
      Src: /src/botan/src/cli/roughtime.cpp:118,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/roughtime.cpp:119,1
    - Dst: output
      Src: /src/botan/src/cli/roughtime.cpp:122,1
    - Dst: append
      Src: /src/botan/src/cli/roughtime.cpp:125,1
    - Dst: output
      Src: /src/botan/src/cli/roughtime.cpp:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - ' chain'
    - max_chain_size
    - ' address'
    - ' public_key'
    argTypes:
    - std::unique_ptr<Botan::Roughtime::Chain>
    - size_t
    - std::string
    - Botan::Ed25519_PublicKey
    constantsTouched: []
    func_position:
      end: 128
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 128
    functionName: Botan_CLI::Roughtime::query
    functionSourceFile: /src/botan/src/cli/roughtime.cpp
    functionUses: 0
    functionsReached:
    - error_output
    - get_arg_sz
    - append
    - auto::validate
    - output
    - next_nonce
    - Botan::Roughtime::online_request
    - Botan::Roughtime::Response::from_bits
    - Botan_CLI::Timer::seconds
    - Botan::Roughtime::Response::microseconds32
    - set_return_code
    - Botan::calendar_point
    - rng
    - flag_set
    - auto::utc_radius
    - Botan::Roughtime::Nonce::Nonce
    - auto::utc_midpoint
    - Botan::TLS::detail::AsyncBase::complete_now
    - Botan::Roughtime::Response::sys_microseconds64
    linkageType: ''
    returnType: void
    signature: "void query(std::unique_ptr<Botan::Roughtime::Chain>& chain,\n                 const
      size_t max_chain_size,\n                 const std::string& address,\n                 const
      Botan::Ed25519_PublicKey& public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/roughtime.cpp:131,1
    - Dst: get_arg
      Src: /src/botan/src/cli/roughtime.cpp:132,1
    - Dst: get_arg_or
      Src: /src/botan/src/cli/roughtime.cpp:133,1
    - Dst: get_arg_or
      Src: /src/botan/src/cli/roughtime.cpp:134,1
    - Dst: get_arg_or
      Src: /src/botan/src/cli/roughtime.cpp:135,1
    - Dst: auto::empty
      Src: /src/botan/src/cli/roughtime.cpp:138,1
    - Dst: std::make_unique<Botan::Roughtime::Chain>
      Src: /src/botan/src/cli/roughtime.cpp:140,1
    - Dst: slurp_file_as_str
      Src: /src/botan/src/cli/roughtime.cpp:140,1
    - Dst: std::make_unique<Botan::Roughtime::Chain>
      Src: /src/botan/src/cli/roughtime.cpp:143,1
    - Dst: error_output
      Src: /src/botan/src/cli/roughtime.cpp:150,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/roughtime.cpp:151,1
    - Dst: auto::empty
      Src: /src/botan/src/cli/roughtime.cpp:155,1
    - Dst: Botan::Roughtime::servers_from_str
      Src: /src/botan/src/cli/roughtime.cpp:156,1
    - Dst: slurp_file_as_str
      Src: /src/botan/src/cli/roughtime.cpp:156,1
    - Dst: output
      Src: /src/botan/src/cli/roughtime.cpp:159,1
    - Dst: std::setw
      Src: /src/botan/src/cli/roughtime.cpp:159,1
    - Dst: name
      Src: /src/botan/src/cli/roughtime.cpp:159,1
    - Dst: addresses
      Src: /src/botan/src/cli/roughtime.cpp:160,1
    - Dst: Botan_CLI::Roughtime::query
      Src: /src/botan/src/cli/roughtime.cpp:162,1
    - Dst: public_key
      Src: /src/botan/src/cli/roughtime.cpp:162,1
    - Dst: error_output
      Src: /src/botan/src/cli/roughtime.cpp:166,1
    - Dst: what
      Src: /src/botan/src/cli/roughtime.cpp:166,1
    - Dst: Botan_CLI::Roughtime::query
      Src: /src/botan/src/cli/roughtime.cpp:172,1
    - Dst: Botan::Ed25519_PublicKey
      Src: /src/botan/src/cli/roughtime.cpp:172,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/cli/roughtime.cpp:172,1
    - Dst: std::unique_ptr::to_string
      Src: /src/botan/src/cli/roughtime.cpp:177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 179
    functionName: Botan_CLI::Roughtime::go
    functionSourceFile: /src/botan/src/cli/roughtime.cpp
    functionUses: 0
    functionsReached:
    - error_output
    - get_arg_sz
    - name
    - Botan::base64_decode
    - std::unique_ptr::to_string
    - Botan::Ed25519_PublicKey
    - output
    - get_arg
    - what
    - public_key
    - std::setw
    - set_return_code
    - get_arg_or
    - std::make_unique<Botan::Roughtime::Chain>
    - Botan_CLI::Roughtime::query
    - addresses
    - slurp_file_as_str
    - Botan::Roughtime::servers_from_str
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: Botan_CLI::Generate_Argon2::Generate_Argon2
    functionSourceFile: /src/botan/src/cli/argon2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Generate_Argon2()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan_CLI::Generate_Argon2::group
    functionSourceFile: /src/botan/src/cli/argon2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan_CLI::Generate_Argon2::description
    functionSourceFile: /src/botan/src/cli/argon2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/argon2.cpp:26,1
    - Dst: output
      Src: /src/botan/src/cli/argon2.cpp:31,1
    - Dst: Botan::argon2_generate_pwhash
      Src: /src/botan/src/cli/argon2.cpp:31,1
    - Dst: std::string::data
      Src: /src/botan/src/cli/argon2.cpp:31,1
    - Dst: std::string::size
      Src: /src/botan/src/cli/argon2.cpp:31,1
    - Dst: rng
      Src: /src/botan/src/cli/argon2.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: Botan_CLI::Generate_Argon2::go
    functionSourceFile: /src/botan/src/cli/argon2.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - output
    - rng
    - get_passphrase_arg
    - Botan::argon2_generate_pwhash
    - std::string::data
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan_CLI::Check_Argon2::Check_Argon2
    functionSourceFile: /src/botan/src/cli/argon2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Check_Argon2()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan_CLI::Check_Argon2::group
    functionSourceFile: /src/botan/src/cli/argon2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan_CLI::Check_Argon2::description
    functionSourceFile: /src/botan/src/cli/argon2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/argon2.cpp:46,1
    - Dst: get_arg
      Src: /src/botan/src/cli/argon2.cpp:47,1
    - Dst: output
      Src: /src/botan/src/cli/argon2.cpp:51,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/argon2.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: Botan_CLI::Check_Argon2::go
    functionSourceFile: /src/botan/src/cli/argon2.cpp
    functionUses: 0
    functionsReached:
    - output
    - get_arg
    - get_passphrase_arg
    - set_return_code
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: Botan_CLI::PK_Keygen::PK_Keygen
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Keygen()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan_CLI::PK_Keygen::group
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan_CLI::PK_Keygen::description
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:51,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:52,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:53,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/pubkey.cpp:55,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:55,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/pubkey.cpp:58,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/pubkey.cpp:61,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/pubkey.cpp:64,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:67,1
    - Dst: write_output
      Src: /src/botan/src/cli/pubkey.cpp:68,1
    - Dst: Botan::PKCS8::BER_encode
      Src: /src/botan/src/cli/pubkey.cpp:68,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:70,1
    - Dst: write_output
      Src: /src/botan/src/cli/pubkey.cpp:71,1
    - Dst: Botan::PKCS8::BER_encode_encrypted_pbkdf_msec
      Src: /src/botan/src/cli/pubkey.cpp:71,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:72,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:72,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:72,1
    - Dst: write_output
      Src: /src/botan/src/cli/pubkey.cpp:74,1
    - Dst: Botan::PKCS8::BER_encode_encrypted_pbkdf_iter
      Src: /src/botan/src/cli/pubkey.cpp:74,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:75,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/pubkey.cpp:75,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:75,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:75,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:79,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:80,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:80,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:82,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:83,1
    - Dst: Botan::PKCS8::PEM_encode_encrypted_pbkdf_msec
      Src: /src/botan/src/cli/pubkey.cpp:83,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:84,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:84,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:84,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:86,1
    - Dst: Botan::PKCS8::PEM_encode_encrypted_pbkdf_iter
      Src: /src/botan/src/cli/pubkey.cpp:86,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:87,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/pubkey.cpp:87,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:87,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 91
    functionName: Botan_CLI::PK_Keygen::go
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - get_arg_sz
    - Botan::PKCS8::BER_encode_encrypted_pbkdf_iter
    - Botan::create_private_key
    - CLI_Error_Unsupported
    - get_arg
    - output
    - Botan::PKCS8::BER_encode
    - Botan::PKCS8::PEM_encode
    - Botan::PKCS8::PEM_encode_encrypted_pbkdf_msec
    - write_output
    - rng
    - std::string::empty
    - get_passphrase_arg
    - Botan::PKCS8::BER_encode_encrypted_pbkdf_msec
    - Botan::PKCS8::PEM_encode_encrypted_pbkdf_iter
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/cli/pubkey.cpp:103,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/pubkey.cpp:110,1
    - Dst: empty
      Src: /src/botan/src/cli/pubkey.cpp:111,1
    - Dst: empty
      Src: /src/botan/src/cli/pubkey.cpp:113,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/pubkey.cpp:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - ' key'
    - ' padding'
    - ' hash'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 120
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 120
    functionName: Botan_CLI::choose_sig_padding
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string choose_sig_padding(const std::string& key, const std::string&
      padding, const std::string& hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: Botan_CLI::PK_Fingerprint::PK_Fingerprint
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Fingerprint()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: Botan_CLI::PK_Fingerprint::group
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan_CLI::PK_Fingerprint::description
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:133,1
    - Dst: get_arg_list
      Src: /src/botan/src/cli/pubkey.cpp:136,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/cli/pubkey.cpp:137,1
    - Dst: Botan_CLI::PK_Fingerprint::slurp_file
      Src: /src/botan/src/cli/pubkey.cpp:137,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/cli/pubkey.cpp:138,1
    - Dst: std::unique_ptr::fingerprint_public
      Src: /src/botan/src/cli/pubkey.cpp:140,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:143,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: Botan_CLI::PK_Fingerprint::go
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - output
    - get_arg
    - Botan::X509::load_key
    - get_arg_list
    - Botan_CLI::PK_Fingerprint::slurp_file
    - std::unique_ptr::fingerprint_public
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/cli/pubkey.cpp:160,1
    - Dst: what
      Src: /src/botan/src/cli/pubkey.cpp:162,1
    - Dst: empty
      Src: /src/botan/src/cli/pubkey.cpp:165,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/cli/pubkey.cpp:168,1
    - Dst: what
      Src: /src/botan/src/cli/pubkey.cpp:170,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/pubkey.cpp:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' key_filename'
    - ' passphrase'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 175
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 175
    functionName: Botan_CLI::load_private_key
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - empty
    - CLI_Error
    - Botan::PKCS8::load_key
    - what
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> load_private_key(const std::string&
      key_filename, const std::string& passphrase)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: Botan_CLI::PK_Sign::PK_Sign
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Sign()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: Botan_CLI::PK_Sign::group
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: Botan_CLI::PK_Sign::description
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:188,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/pubkey.cpp:189,1
    - Dst: load_private_key
      Src: /src/botan/src/cli/pubkey.cpp:191,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:193,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:195,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/cli/pubkey.cpp:195,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/pubkey.cpp:196,1
    - Dst: choose_sig_padding
      Src: /src/botan/src/cli/pubkey.cpp:199,1
    - Dst: auto::algo_name
      Src: /src/botan/src/cli/pubkey.cpp:199,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:199,1
    - Dst: flag_set
      Src: /src/botan/src/cli/pubkey.cpp:203,1
    - Dst: auto::_signature_element_size_for_DER_encoding
      Src: /src/botan/src/cli/pubkey.cpp:204,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pubkey.cpp:205,1
    - Dst: auto::algo_name
      Src: /src/botan/src/cli/pubkey.cpp:205,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:211,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:213,1
    - Dst: Botan::PK_Signer::update
      Src: /src/botan/src/cli/pubkey.cpp:215,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/pubkey.cpp:216,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:216,1
    - Dst: Botan::PK_Signer::signature
      Src: /src/botan/src/cli/pubkey.cpp:218,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:218,1
    - Dst: auto::stateful_operation
      Src: /src/botan/src/cli/pubkey.cpp:220,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:222,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:223,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:225,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:225,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:229,1
    - Dst: Botan::base64_encode
      Src: /src/botan/src/cli/pubkey.cpp:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 230
    functionName: Botan_CLI::PK_Sign::go
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - auto::_signature_element_size_for_DER_encoding
    - output
    - get_arg
    - Botan_CLI::Command::read_file
    - Botan::PK_Signer::signature
    - choose_sig_padding
    - get_passphrase_arg
    - CLI_Error_Unsupported
    - load_private_key
    - auto::stateful_operation
    - rng
    - flag_set
    - auto::algo_name
    - Botan::PKCS8::PEM_encode
    - Botan::PK_Signer::update
    - Botan::HashFunction::create
    - Botan::base64_encode
    - CLI_Usage_Error
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: Botan_CLI::PK_Verify::PK_Verify
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: Botan_CLI::PK_Verify::group
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: Botan_CLI::PK_Verify::description
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/cli/pubkey.cpp:246,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:246,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/pubkey.cpp:248,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:251,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:253,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/cli/pubkey.cpp:253,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/pubkey.cpp:254,1
    - Dst: choose_sig_padding
      Src: /src/botan/src/cli/pubkey.cpp:257,1
    - Dst: auto::algo_name
      Src: /src/botan/src/cli/pubkey.cpp:257,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:257,1
    - Dst: flag_set
      Src: /src/botan/src/cli/pubkey.cpp:260,1
    - Dst: auto::message_parts
      Src: /src/botan/src/cli/pubkey.cpp:261,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pubkey.cpp:262,1
    - Dst: auto::algo_name
      Src: /src/botan/src/cli/pubkey.cpp:262,1
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/cli/pubkey.cpp:269,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/pubkey.cpp:270,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:270,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/cli/pubkey.cpp:273,1
    - Dst: Botan_CLI::PK_Verify::slurp_file_as_str
      Src: /src/botan/src/cli/pubkey.cpp:273,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:273,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:277,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 278
    functionName: Botan_CLI::PK_Verify::go
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - auto::message_parts
    - output
    - CLI_Error
    - get_arg
    - CLI_Error_Unsupported
    - Botan_CLI::Command::read_file
    - Botan::X509::load_key
    - Botan::HashFunction::create
    - Botan::base64_decode
    - choose_sig_padding
    - std::string::empty
    - auto::algo_name
    - flag_set
    - Botan::PK_Verifier::update
    - Botan_CLI::PK_Verify::slurp_file_as_str
    - CLI_Usage_Error
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: Botan_CLI::PKCS8_Tool::PKCS8_Tool
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKCS8_Tool()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: Botan_CLI::PKCS8_Tool::group
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: Botan_CLI::PKCS8_Tool::description
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:295,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/pubkey.cpp:296,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:301,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/cli/pubkey.cpp:302,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/cli/pubkey.cpp:304,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/pubkey.cpp:307,1
    - Dst: flag_set
      Src: /src/botan/src/cli/pubkey.cpp:310,1
    - Dst: std::unique_ptr::public_key
      Src: /src/botan/src/cli/pubkey.cpp:311,1
    - Dst: write_output
      Src: /src/botan/src/cli/pubkey.cpp:313,1
    - Dst: Botan::X509::BER_encode
      Src: /src/botan/src/cli/pubkey.cpp:313,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:315,1
    - Dst: Botan::X509::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:315,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/pubkey.cpp:318,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:321,1
    - Dst: write_output
      Src: /src/botan/src/cli/pubkey.cpp:322,1
    - Dst: Botan::PKCS8::BER_encode
      Src: /src/botan/src/cli/pubkey.cpp:322,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:324,1
    - Dst: write_output
      Src: /src/botan/src/cli/pubkey.cpp:325,1
    - Dst: Botan::PKCS8::BER_encode_encrypted_pbkdf_msec
      Src: /src/botan/src/cli/pubkey.cpp:325,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:326,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:326,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:326,1
    - Dst: write_output
      Src: /src/botan/src/cli/pubkey.cpp:328,1
    - Dst: Botan::PKCS8::BER_encode_encrypted_pbkdf_iter
      Src: /src/botan/src/cli/pubkey.cpp:328,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:329,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/pubkey.cpp:329,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:329,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:329,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:333,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:334,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:334,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:336,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:337,1
    - Dst: Botan::PKCS8::PEM_encode_encrypted_pbkdf_msec
      Src: /src/botan/src/cli/pubkey.cpp:337,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:338,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:338,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:338,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:340,1
    - Dst: Botan::PKCS8::PEM_encode_encrypted_pbkdf_iter
      Src: /src/botan/src/cli/pubkey.cpp:340,1
    - Dst: rng
      Src: /src/botan/src/cli/pubkey.cpp:341,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/pubkey.cpp:341,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:341,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:341,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 346
    functionName: Botan_CLI::PKCS8_Tool::go
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - get_arg_sz
    - output
    - get_arg
    - Botan::PKCS8::load_key
    - Botan::X509::PEM_encode
    - Botan::PKCS8::BER_encode_encrypted_pbkdf_iter
    - Botan::PKCS8::BER_encode
    - Botan::X509::BER_encode
    - Botan::PKCS8::PEM_encode
    - Botan::PKCS8::PEM_encode_encrypted_pbkdf_msec
    - std::unique_ptr::public_key
    - write_output
    - Botan::PKCS8::BER_encode_encrypted_pbkdf_msec
    - std::string::empty
    - get_passphrase_arg
    - flag_set
    - rng
    - Botan::PKCS8::PEM_encode_encrypted_pbkdf_iter
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: Botan_CLI::EC_Group_Info::EC_Group_Info
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_Group_Info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: Botan_CLI::EC_Group_Info::group
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: Botan_CLI::EC_Group_Info::description
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/cli/pubkey.cpp:366,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:366,1
    - Dst: flag_set
      Src: /src/botan/src/cli/pubkey.cpp:368,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:369,1
    - Dst: auto::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:369,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:371,1
    - Dst: auto::get_p
      Src: /src/botan/src/cli/pubkey.cpp:371,1
    - Dst: auto::get_a
      Src: /src/botan/src/cli/pubkey.cpp:372,1
    - Dst: auto::get_b
      Src: /src/botan/src/cli/pubkey.cpp:373,1
    - Dst: auto::get_order
      Src: /src/botan/src/cli/pubkey.cpp:374,1
    - Dst: auto::get_g_x
      Src: /src/botan/src/cli/pubkey.cpp:375,1
    - Dst: auto::get_g_y
      Src: /src/botan/src/cli/pubkey.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 377
    functionName: Botan_CLI::EC_Group_Info::go
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - auto::get_p
    - output
    - auto::PEM_encode
    - get_arg
    - auto::get_a
    - auto::get_b
    - auto::get_g_x
    - auto::get_order
    - flag_set
    - Botan::EC_Group::from_name
    - auto::get_g_y
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 388
    functionName: Botan_CLI::DL_Group_Info::DL_Group_Info
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DL_Group_Info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    functionName: Botan_CLI::DL_Group_Info::group
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 394
    functionName: Botan_CLI::DL_Group_Info::description
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/cli/pubkey.cpp:397,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:397,1
    - Dst: flag_set
      Src: /src/botan/src/cli/pubkey.cpp:399,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:400,1
    - Dst: auto::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:400,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:402,1
    - Dst: auto::get_p
      Src: /src/botan/src/cli/pubkey.cpp:402,1
    - Dst: auto::get_g
      Src: /src/botan/src/cli/pubkey.cpp:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 405
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 405
    functionName: Botan_CLI::DL_Group_Info::go
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - auto::get_p
    - output
    - auto::PEM_encode
    - get_arg
    - auto::get_g
    - flag_set
    - Botan::DL_Group::from_name
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: Botan_CLI::PK_Workfactor::PK_Workfactor
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Workfactor()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 414
    functionName: Botan_CLI::PK_Workfactor::group
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 416
    functionName: Botan_CLI::PK_Workfactor::description
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:420,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:423,1
    - Dst: Botan::if_work_factor
      Src: /src/botan/src/cli/pubkey.cpp:423,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:425,1
    - Dst: Botan::dl_work_factor
      Src: /src/botan/src/cli/pubkey.cpp:425,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:427,1
    - Dst: Botan::dl_exponent_size
      Src: /src/botan/src/cli/pubkey.cpp:427,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pubkey.cpp:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 431
    functionName: Botan_CLI::PK_Workfactor::go
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - output
    - get_arg
    - Botan::if_work_factor
    - Botan::dl_exponent_size
    - Botan::dl_work_factor
    - CLI_Usage_Error
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: Botan_CLI::Gen_DL_Group::Gen_DL_Group
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Gen_DL_Group()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 440
    functionName: Botan_CLI::Gen_DL_Group::group
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: Botan_CLI::Gen_DL_Group::description
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:448,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pubkey.cpp:449,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:452,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pubkey.cpp:453,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:456,1
    - Dst: Botan::DL_Group::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:456,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:458,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pubkey.cpp:459,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:462,1
    - Dst: Botan::DL_Group::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:462,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pubkey.cpp:471,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pubkey.cpp:475,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:477,1
    - Dst: Botan::DL_Group::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:477,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/pubkey.cpp:479,1
    - Dst: output
      Src: /src/botan/src/cli/pubkey.cpp:481,1
    - Dst: Botan::DL_Group::PEM_encode
      Src: /src/botan/src/cli/pubkey.cpp:481,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pubkey.cpp:485,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 487
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 487
    functionName: Botan_CLI::Gen_DL_Group::go
    functionSourceFile: /src/botan/src/cli/pubkey.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group::PEM_encode
    - output
    - get_arg
    - std::string::empty
    - CLI_Usage_Error
    - Botan::hex_decode
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan_CLI::Modular_Inverse::Modular_Inverse
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Modular_Inverse()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_CLI::Modular_Inverse::group
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_CLI::Modular_Inverse::description
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/math.cpp:27,1
    - Dst: get_arg
      Src: /src/botan/src/cli/math.cpp:28,1
    - Dst: Botan::inverse_mod_general
      Src: /src/botan/src/cli/math.cpp:30,1
    - Dst: output
      Src: /src/botan/src/cli/math.cpp:31,1
    - Dst: output
      Src: /src/botan/src/cli/math.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: Botan_CLI::Modular_Inverse::go
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached:
    - output
    - Botan::inverse_mod_general
    - get_arg
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan_CLI::Gen_Prime::Gen_Prime
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Gen_Prime()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan_CLI::Gen_Prime::group
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan_CLI::Gen_Prime::description
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::random_prime
      Src: /src/botan/src/cli/math.cpp:54,1
    - Dst: rng
      Src: /src/botan/src/cli/math.cpp:54,1
    - Dst: output
      Src: /src/botan/src/cli/math.cpp:57,1
    - Dst: output
      Src: /src/botan/src/cli/math.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: Botan_CLI::Gen_Prime::go
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached:
    - Botan::random_prime
    - output
    - rng
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan_CLI::Is_Prime::Is_Prime
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Is_Prime()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan_CLI::Is_Prime::group
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan_CLI::Is_Prime::description
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/math.cpp:76,1
    - Dst: output
      Src: /src/botan/src/cli/math.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: Botan_CLI::Is_Prime::go
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached:
    - output
    - get_arg
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan_CLI::Factor::Factor
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Factor()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan_CLI::Factor::group
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan_CLI::Factor::description
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/math.cpp:99,1
    - Dst: Botan_CLI::Factor::factorize
      Src: /src/botan/src/cli/math.cpp:101,1
    - Dst: rng
      Src: /src/botan/src/cli/math.cpp:101,1
    - Dst: std::sort
      Src: /src/botan/src/cli/math.cpp:102,1
    - Dst: std::vector::begin
      Src: /src/botan/src/cli/math.cpp:102,1
    - Dst: std::vector::end
      Src: /src/botan/src/cli/math.cpp:102,1
    - Dst: output
      Src: /src/botan/src/cli/math.cpp:104,1
    - Dst: output
      Src: /src/botan/src/cli/math.cpp:106,1
    - Dst: output
      Src: /src/botan/src/cli/math.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: Botan_CLI::Factor::go
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 0
    functionsReached:
    - output
    - get_arg
    - Botan_CLI::Factor::factorize
    - std::vector::begin
    - rng
    - std::vector::end
    - std::sort
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Factor::remove_small_factors
      Src: /src/botan/src/cli/math.cpp:114,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/cli/math.cpp:117,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/math.cpp:118,1
    - Dst: Botan_CLI::Factor::rho
      Src: /src/botan/src/cli/math.cpp:124,1
    - Dst: Botan_CLI::Factor::factorize
      Src: /src/botan/src/cli/math.cpp:127,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/math.cpp:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' n_in'
    - ' rng'
    argTypes:
    - Botan::BigInt
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 136
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 136
    functionName: Botan_CLI::Factor::factorize
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 2
    functionsReached:
    - Botan::is_prime
    - Botan_CLI::Factor::factorize
    - Botan_CLI::Factor::remove_small_factors
    - std::vector::push_back
    - Botan_CLI::Factor::rho
    linkageType: ''
    returnType: std::vector<Botan::BigInt>
    signature: std::vector<Botan::BigInt> factorize(const Botan::BigInt& n_in, Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Botan::Montgomery_Params>
      Src: /src/botan/src/cli/math.cpp:143,1
    - Dst: auto::R1
      Src: /src/botan/src/cli/math.cpp:145,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/cli/math.cpp:147,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/cli/math.cpp:151,1
    - Dst: Botan::Montgomery_Int::square_this
      Src: /src/botan/src/cli/math.cpp:165,1
    - Dst: Botan::Montgomery_Int::add
      Src: /src/botan/src/cli/math.cpp:166,1
    - Dst: Botan::Montgomery_Int::sub
      Src: /src/botan/src/cli/math.cpp:169,1
    - Dst: Botan::Montgomery_Int::mul_by
      Src: /src/botan/src/cli/math.cpp:171,1
    - Dst: Botan::gcd
      Src: /src/botan/src/cli/math.cpp:174,1
    - Dst: Botan::Montgomery_Int::value
      Src: /src/botan/src/cli/math.cpp:174,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - ' n'
    - ' rng'
    argTypes:
    - Botan::BigInt
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 195
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 195
    functionName: Botan_CLI::Factor::rho
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<Botan::Montgomery_Params>
    - Botan::Montgomery_Int::value
    - Botan::BigInt::BigInt
    - Botan::Montgomery_Int::mul_by
    - Botan::Montgomery_Int::square_this
    - Botan::Montgomery_Int::add
    - Botan::BigInt::random_integer
    - Botan::Montgomery_Int::sub
    - Botan::gcd
    - auto::R1
    linkageType: ''
    returnType: Botan::BigInt
    signature: Botan::BigInt rho(const Botan::BigInt& n, Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/cli/math.cpp:201,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/math.cpp:202,1
    - Dst: Botan::gcd
      Src: /src/botan/src/cli/math.cpp:212,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/math.cpp:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - Botan::BigInt
    constantsTouched: []
    func_position:
      end: 225
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 225
    functionName: Botan_CLI::Factor::remove_small_factors
    functionSourceFile: /src/botan/src/cli/math.cpp
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - Botan::gcd
    - is_even
    linkageType: ''
    returnType: std::vector<Botan::BigInt>
    signature: std::vector<Botan::BigInt> remove_small_factors(Botan::BigInt& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buffer_sizes
      Src: /src/botan/src/cli/perf_misc.cpp:39,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:44,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:44,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:44,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:46,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_misc.cpp:48,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_misc.cpp:50,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_misc.cpp:50,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_misc.cpp:51,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_misc.cpp:53,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/perf_misc.cpp:53,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_misc.cpp:55,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/perf_misc.cpp:55,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_misc.cpp:55,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_misc.cpp:56,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:59,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 62
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 62
    functionName: Botan_CLI::PerfTest_Hex::go
    functionSourceFile: /src/botan/src/cli/perf_misc.cpp
    functionUses: 0
    functionsReached:
    - buffer_sizes
    - make_timer
    - std::vector::size
    - runtime
    - record_result
    - auto::under
    - rng
    - Botan::hex_encode
    - BOTAN_ASSERT
    - auto::run
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buffer_sizes
      Src: /src/botan/src/cli/perf_misc.cpp:71,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:76,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:76,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:76,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:78,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_misc.cpp:80,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_misc.cpp:82,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_misc.cpp:82,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_misc.cpp:83,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_misc.cpp:85,1
    - Dst: Botan::base32_encode
      Src: /src/botan/src/cli/perf_misc.cpp:85,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_misc.cpp:87,1
    - Dst: Botan::base32_decode
      Src: /src/botan/src/cli/perf_misc.cpp:87,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_misc.cpp:87,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_misc.cpp:88,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:91,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 94
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 94
    functionName: Botan_CLI::PerfTest_Base32::go
    functionSourceFile: /src/botan/src/cli/perf_misc.cpp
    functionUses: 0
    functionsReached:
    - buffer_sizes
    - make_timer
    - std::vector::size
    - Botan::base32_decode
    - runtime
    - record_result
    - auto::under
    - rng
    - BOTAN_ASSERT
    - auto::run
    - Botan::base32_encode
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buffer_sizes
      Src: /src/botan/src/cli/perf_misc.cpp:105,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:110,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:110,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:110,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:112,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_misc.cpp:114,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_misc.cpp:116,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_misc.cpp:116,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_misc.cpp:117,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_misc.cpp:119,1
    - Dst: Botan::base64_encode
      Src: /src/botan/src/cli/perf_misc.cpp:119,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_misc.cpp:121,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/cli/perf_misc.cpp:121,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_misc.cpp:121,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_misc.cpp:122,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:125,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 128
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 128
    functionName: Botan_CLI::PerfTest_Base64::go
    functionSourceFile: /src/botan/src/cli/perf_misc.cpp
    functionUses: 0
    functionsReached:
    - buffer_sizes
    - make_timer
    - std::vector::size
    - runtime
    - record_result
    - Botan::base64_decode
    - Botan::base64_encode
    - auto::under
    - rng
    - BOTAN_ASSERT
    - auto::run
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/cli/perf_misc.cpp:140,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:142,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:143,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_misc.cpp:145,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/cli/perf_misc.cpp:148,1
    - Dst: Botan::FPE_FE1::set_key
      Src: /src/botan/src/cli/perf_misc.cpp:151,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_misc.cpp:153,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_misc.cpp:155,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_misc.cpp:156,1
    - Dst: Botan::FPE_FE1::encrypt
      Src: /src/botan/src/cli/perf_misc.cpp:157,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_misc.cpp:157,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:157,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_misc.cpp:158,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:160,1
    - Dst: auto::events
      Src: /src/botan/src/cli/perf_misc.cpp:162,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_misc.cpp:163,1
    - Dst: Botan::FPE_FE1::decrypt
      Src: /src/botan/src/cli/perf_misc.cpp:164,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_misc.cpp:164,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:164,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_misc.cpp:165,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:167,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_misc.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 170
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 170
    functionName: Botan_CLI::PerfTest_FpeFe1::go
    functionSourceFile: /src/botan/src/cli/perf_misc.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - make_timer
    - Botan::FPE_FE1::encrypt
    - std::vector::size
    - Botan::FPE_FE1::set_key
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - Botan::BigInt::from_u64
    - runtime
    - auto::stop
    - record_result
    - auto::events
    - Botan::FPE_FE1::decrypt
    - rng
    - auto::under
    - BOTAN_ASSERT
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:180,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:181,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_misc.cpp:183,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_misc.cpp:186,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_misc.cpp:188,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_misc.cpp:189,1
    - Dst: Botan::rfc3394_keywrap
      Src: /src/botan/src/cli/perf_misc.cpp:190,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_misc.cpp:191,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_misc.cpp:193,1
    - Dst: Botan::rfc3394_keyunwrap
      Src: /src/botan/src/cli/perf_misc.cpp:194,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_misc.cpp:195,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:200,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 202
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 202
    functionName: Botan_CLI::PerfTest_Rfc3394::go
    functionSourceFile: /src/botan/src/cli/perf_misc.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - make_timer
    - runtime
    - record_result
    - auto::stop
    - auto::under
    - rng
    - Botan::rfc3394_keyunwrap
    - Botan::rfc3394_keywrap
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng
      Src: /src/botan/src/cli/perf_misc.cpp:222,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_misc.cpp:222,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:222,1
    - Dst: memcpy
      Src: /src/botan/src/cli/perf_misc.cpp:227,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_misc.cpp:230,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/perf_misc.cpp:232,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:234,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:234,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:234,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_misc.cpp:236,1
    - Dst: Botan::ZFEC::encode
      Src: /src/botan/src/cli/perf_misc.cpp:236,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_misc.cpp:236,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:236,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:238,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_misc.cpp:240,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:240,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_misc.cpp:240,1
    - Dst: std::map::size
      Src: /src/botan/src/cli/perf_misc.cpp:248,1
    - Dst: std::map::erase
      Src: /src/botan/src/cli/perf_misc.cpp:249,1
    - Dst: std::map::begin
      Src: /src/botan/src/cli/perf_misc.cpp:249,1
    - Dst: memcpy
      Src: /src/botan/src/cli/perf_misc.cpp:255,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_misc.cpp:258,1
    - Dst: Botan::ZFEC::decode_shares
      Src: /src/botan/src/cli/perf_misc.cpp:258,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_misc.cpp:260,1
    - Dst: error_output
      Src: /src/botan/src/cli/perf_misc.cpp:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 265
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 265
    functionName: Botan_CLI::PerfTest_Zfec::go
    functionSourceFile: /src/botan/src/cli/perf_misc.cpp
    functionUses: 0
    functionsReached:
    - error_output
    - std::vector::size
    - make_timer
    - Botan::ZFEC::encode
    - runtime
    - record_result
    - std::map::erase
    - std::map::size
    - memcpy
    - rng
    - std::map::begin
    - Botan::ZFEC::decode_shares
    - auto::run_until_elapsed
    - Botan::fmt
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_CLI::FEC_Share::FEC_Share
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FEC_Share()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - share
    - k
    - n
    - padding
    - bits
    - len
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: Botan_CLI::FEC_Share::FEC_Share
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FEC_Share(size_t share, size_t k, size_t n, size_t padding, const
      uint8_t bits[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan_CLI::FEC_Share::share_id
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t share_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan_CLI::FEC_Share::k
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t k() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan_CLI::FEC_Share::n
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t n() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan_CLI::FEC_Share::padding
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t padding() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/cli/zfec.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan_CLI::FEC_Share::share_size
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t share_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/cli/zfec.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan_CLI::FEC_Share::share_data
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * share_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CLI_Error
      Src: /src/botan/src/cli/zfec.cpp:48,1
    - Dst: Botan::load_be<uint32_t>
      Src: /src/botan/src/cli/zfec.cpp:51,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/zfec.cpp:52,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/zfec.cpp:58,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/zfec.cpp:68,1
    - Dst: update
      Src: /src/botan/src/cli/zfec.cpp:71,1
    - Dst: final
      Src: /src/botan/src/cli/zfec.cpp:72,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/zfec.cpp:77,1
    - Dst: Botan_CLI::FEC_Share::FEC_Share
      Src: /src/botan/src/cli/zfec.cpp:80,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - bits
    - len
    - ' hash'
    argTypes:
    - uint8_t[]
    - size_t
    - Botan::HashFunction
    constantsTouched: []
    func_position:
      end: 82
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 82
    functionName: Botan_CLI::FEC_Share::deserialize
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::FEC_Share::FEC_Share
    - CLI_Error
    - final
    - Botan::load_be<uint32_t>
    - update
    linkageType: ''
    returnType: FEC_Share
    signature: FEC_Share deserialize(const uint8_t bits[], size_t len, Botan::HashFunction&
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::store_be
      Src: /src/botan/src/cli/zfec.cpp:87,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/cli/zfec.cpp:88,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/cli/zfec.cpp:89,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/cli/zfec.cpp:90,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/cli/zfec.cpp:91,1
    - Dst: write
      Src: /src/botan/src/cli/zfec.cpp:94,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/zfec.cpp:94,1
    - Dst: write
      Src: /src/botan/src/cli/zfec.cpp:95,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/zfec.cpp:95,1
    - Dst: data
      Src: /src/botan/src/cli/zfec.cpp:95,1
    - Dst: size
      Src: /src/botan/src/cli/zfec.cpp:95,1
    - Dst: update
      Src: /src/botan/src/cli/zfec.cpp:97,1
    - Dst: update
      Src: /src/botan/src/cli/zfec.cpp:98,1
    - Dst: final
      Src: /src/botan/src/cli/zfec.cpp:99,1
    - Dst: write
      Src: /src/botan/src/cli/zfec.cpp:101,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/zfec.cpp:101,1
    - Dst: auto::data
      Src: /src/botan/src/cli/zfec.cpp:101,1
    - Dst: auto::size
      Src: /src/botan/src/cli/zfec.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - ' hash'
    - ' out'
    argTypes:
    - Botan::HashFunction
    - std::ostream
    constantsTouched: []
    func_position:
      end: 102
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 102
    functionName: Botan_CLI::FEC_Share::serialize_to
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached:
    - data
    - Botan::store_be
    - final
    - size
    - write
    - auto::data
    - auto::size
    - update
    - reinterpret_cast<const char*>
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void serialize_to(Botan::HashFunction& hash, std::ostream& out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan_CLI::FEC_Encode::FEC_Encode
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FEC_Encode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan_CLI::FEC_Encode::group
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: Botan_CLI::FEC_Encode::description
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/zfec.cpp:126,1
    - Dst: get_arg
      Src: /src/botan/src/cli/zfec.cpp:127,1
    - Dst: get_arg
      Src: /src/botan/src/cli/zfec.cpp:128,1
    - Dst: get_arg
      Src: /src/botan/src/cli/zfec.cpp:129,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/cli/zfec.cpp:133,1
    - Dst: slurp_file
      Src: /src/botan/src/cli/zfec.cpp:135,1
    - Dst: get_arg
      Src: /src/botan/src/cli/zfec.cpp:135,1
    - Dst: auto::update
      Src: /src/botan/src/cli/zfec.cpp:138,1
    - Dst: auto::final
      Src: /src/botan/src/cli/zfec.cpp:139,1
    - Dst: auto::insert
      Src: /src/botan/src/cli/zfec.cpp:140,1
    - Dst: auto::end
      Src: /src/botan/src/cli/zfec.cpp:140,1
    - Dst: auto::begin
      Src: /src/botan/src/cli/zfec.cpp:140,1
    - Dst: auto::end
      Src: /src/botan/src/cli/zfec.cpp:140,1
    - Dst: auto::size
      Src: /src/botan/src/cli/zfec.cpp:144,1
    - Dst: auto::push_back
      Src: /src/botan/src/cli/zfec.cpp:146,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/zfec.cpp:152,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/zfec.cpp:156,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/zfec.cpp:164,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/zfec.cpp:168,1
    - Dst: FEC_Share::serialize_to
      Src: /src/botan/src/cli/zfec.cpp:171,1
    - Dst: Botan::ZFEC::encode
      Src: /src/botan/src/cli/zfec.cpp:174,1
    - Dst: auto::data
      Src: /src/botan/src/cli/zfec.cpp:174,1
    - Dst: auto::size
      Src: /src/botan/src/cli/zfec.cpp:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 175
    functionName: Botan_CLI::FEC_Encode::go
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached:
    - auto::final
    - slurp_file
    - auto::insert
    - get_arg
    - Botan::HashFunction::create_or_throw
    - auto::size
    - std::ostringstream::str
    - Botan::ZFEC::encode
    - auto::update
    - FEC_Share::serialize_to
    - auto::begin
    - auto::data
    - std::string::empty
    - auto::end
    - auto::push_back
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: Botan_CLI::FEC_Decode::FEC_Decode
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FEC_Decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: Botan_CLI::FEC_Decode::group
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: Botan_CLI::FEC_Decode::description
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/cli/zfec.cpp:189,1
    - Dst: get_arg_list
      Src: /src/botan/src/cli/zfec.cpp:194,1
    - Dst: slurp_file
      Src: /src/botan/src/cli/zfec.cpp:195,1
    - Dst: Botan_CLI::FEC_Share::deserialize
      Src: /src/botan/src/cli/zfec.cpp:198,1
    - Dst: auto::data
      Src: /src/botan/src/cli/zfec.cpp:198,1
    - Dst: auto::size
      Src: /src/botan/src/cli/zfec.cpp:198,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/zfec.cpp:199,1
    - Dst: error_output
      Src: /src/botan/src/cli/zfec.cpp:201,1
    - Dst: what
      Src: /src/botan/src/cli/zfec.cpp:201,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/zfec.cpp:205,1
    - Dst: error_output
      Src: /src/botan/src/cli/zfec.cpp:206,1
    - Dst: Botan_CLI::FEC_Decode::set_return_code
      Src: /src/botan/src/cli/zfec.cpp:207,1
    - Dst: auto::k
      Src: /src/botan/src/cli/zfec.cpp:218,1
    - Dst: auto::n
      Src: /src/botan/src/cli/zfec.cpp:219,1
    - Dst: auto::padding
      Src: /src/botan/src/cli/zfec.cpp:220,1
    - Dst: auto::share_size
      Src: /src/botan/src/cli/zfec.cpp:221,1
    - Dst: auto::k
      Src: /src/botan/src/cli/zfec.cpp:223,1
    - Dst: auto::n
      Src: /src/botan/src/cli/zfec.cpp:223,1
    - Dst: auto::padding
      Src: /src/botan/src/cli/zfec.cpp:223,1
    - Dst: auto::share_size
      Src: /src/botan/src/cli/zfec.cpp:223,1
    - Dst: error_output
      Src: /src/botan/src/cli/zfec.cpp:224,1
    - Dst: Botan_CLI::FEC_Decode::set_return_code
      Src: /src/botan/src/cli/zfec.cpp:225,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/zfec.cpp:231,1
    - Dst: error_output
      Src: /src/botan/src/cli/zfec.cpp:232,1
    - Dst: Botan_CLI::FEC_Decode::set_return_code
      Src: /src/botan/src/cli/zfec.cpp:233,1
    - Dst: memcpy
      Src: /src/botan/src/cli/zfec.cpp:242,1
    - Dst: auto::share_id
      Src: /src/botan/src/cli/zfec.cpp:248,1
    - Dst: auto::share_data
      Src: /src/botan/src/cli/zfec.cpp:248,1
    - Dst: Botan::ZFEC::decode_shares
      Src: /src/botan/src/cli/zfec.cpp:251,1
    - Dst: auto::process
      Src: /src/botan/src/cli/zfec.cpp:253,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/zfec.cpp:253,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/zfec.cpp:253,1
    - Dst: Botan::constant_time_compare
      Src: /src/botan/src/cli/zfec.cpp:255,1
    - Dst: auto::data
      Src: /src/botan/src/cli/zfec.cpp:256,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/zfec.cpp:256,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/zfec.cpp:257,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/zfec.cpp:261,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/zfec.cpp:262,1
    - Dst: output_binary
      Src: /src/botan/src/cli/zfec.cpp:266,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/zfec.cpp:266,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/zfec.cpp:266,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/zfec.cpp:266,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 267
    functionName: Botan_CLI::FEC_Decode::go
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached:
    - error_output
    - std::vector::size
    - Botan_CLI::FEC_Share::deserialize
    - auto::padding
    - std::vector::push_back
    - Botan::ZFEC::decode_shares
    - auto::process
    - output_binary
    - auto::share_id
    - Botan::HashFunction::create_or_throw
    - what
    - std::vector::empty
    - auto::share_size
    - memcpy
    - std::vector::data
    - auto::share_data
    - get_arg_list
    - reinterpret_cast<const char*>
    - auto::n
    - slurp_file
    - CLI_Error
    - Botan_CLI::FEC_Decode::set_return_code
    - auto::k
    - auto::data
    - auto::size
    - Botan::constant_time_compare
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: Botan_CLI::FEC_Info::FEC_Info
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FEC_Info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: Botan_CLI::FEC_Info::group
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: Botan_CLI::FEC_Info::description
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/cli/zfec.cpp:281,1
    - Dst: get_arg
      Src: /src/botan/src/cli/zfec.cpp:283,1
    - Dst: slurp_file
      Src: /src/botan/src/cli/zfec.cpp:284,1
    - Dst: Botan_CLI::FEC_Share::deserialize
      Src: /src/botan/src/cli/zfec.cpp:287,1
    - Dst: auto::data
      Src: /src/botan/src/cli/zfec.cpp:287,1
    - Dst: auto::size
      Src: /src/botan/src/cli/zfec.cpp:287,1
    - Dst: output
      Src: /src/botan/src/cli/zfec.cpp:288,1
    - Dst: auto::share_id
      Src: /src/botan/src/cli/zfec.cpp:288,1
    - Dst: auto::n
      Src: /src/botan/src/cli/zfec.cpp:288,1
    - Dst: auto::k
      Src: /src/botan/src/cli/zfec.cpp:288,1
    - Dst: error_output
      Src: /src/botan/src/cli/zfec.cpp:291,1
    - Dst: what
      Src: /src/botan/src/cli/zfec.cpp:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 293
    functionName: Botan_CLI::FEC_Info::go
    functionSourceFile: /src/botan/src/cli/zfec.cpp
    functionUses: 0
    functionsReached:
    - auto::n
    - error_output
    - slurp_file
    - output
    - get_arg
    - Botan::HashFunction::create_or_throw
    - what
    - Botan_CLI::FEC_Share::deserialize
    - auto::k
    - auto::data
    - auto::size
    - auto::share_id
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan_CLI::PerfTest_BlockCipher::PerfTest_BlockCipher
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerfTest_BlockCipher(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BlockCipher::providers
      Src: /src/botan/src/cli/perf_sym.cpp:46,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/cli/perf_sym.cpp:47,1
    - Dst: Botan_CLI::PerfTest_BlockCipher::bench_stream_cipher
      Src: /src/botan/src/cli/perf_sym.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: Botan_CLI::PerfTest_BlockCipher::go
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::PerfTest_BlockCipher::bench_stream_cipher
    - Botan::BlockCipher::create
    - Botan::BlockCipher::providers
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BlockCipher::providers
      Src: /src/botan/src/cli/perf_sym.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan_CLI::PerfTest_BlockCipher::has_impl_for
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan::BlockCipher::providers
    linkageType: ''
    returnType: bool
    signature: bool has_impl_for(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng
      Src: /src/botan/src/cli/perf_sym.cpp:57,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_sym.cpp:58,1
    - Dst: provider
      Src: /src/botan/src/cli/perf_sym.cpp:59,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:61,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:61,1
    - Dst: maximum_keylength
      Src: /src/botan/src/cli/perf_sym.cpp:63,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_sym.cpp:64,1
    - Dst: set_key
      Src: /src/botan/src/cli/perf_sym.cpp:64,1
    - Dst: buffer_sizes
      Src: /src/botan/src/cli/perf_sym.cpp:68,1
    - Dst: std::set::insert
      Src: /src/botan/src/cli/perf_sym.cpp:70,1
    - Dst: std::set::insert
      Src: /src/botan/src/cli/perf_sym.cpp:72,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:81,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:81,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_sym.cpp:81,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:82,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:82,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_sym.cpp:82,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_sym.cpp:84,1
    - Dst: encrypt_n
      Src: /src/botan/src/cli/perf_sym.cpp:86,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:89,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_sym.cpp:91,1
    - Dst: decrypt_n
      Src: /src/botan/src/cli/perf_sym.cpp:93,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - ' config'
    - ' cipher'
    argTypes:
    - PerfConfig
    - Botan::BlockCipher
    constantsTouched: []
    func_position:
      end: 98
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 98
    functionName: Botan_CLI::PerfTest_BlockCipher::bench_stream_cipher
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 1
    functionsReached:
    - buffer_sizes
    - std::set::insert
    - make_timer
    - name
    - std::vector::size
    - decrypt_n
    - encrypt_n
    - runtime
    - provider
    - record_result
    - set_key
    - rng
    - maximum_keylength
    - auto::run_until_elapsed
    - auto::run
    linkageType: ''
    returnType: void
    signature: void bench_stream_cipher(const PerfConfig& config, Botan::BlockCipher&
      cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Botan_CLI::PerfTest_CipherMode::PerfTest_CipherMode
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerfTest_CipherMode(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::providers
      Src: /src/botan/src/cli/perf_sym.cpp:110,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/cli/perf_sym.cpp:111,1
    - Dst: Botan::Cipher_Mode::create_or_throw
      Src: /src/botan/src/cli/perf_sym.cpp:112,1
    - Dst: Botan_CLI::PerfTest_CipherMode::bench_cipher_mode
      Src: /src/botan/src/cli/perf_sym.cpp:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: Botan_CLI::PerfTest_CipherMode::go
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan::Cipher_Mode::create
    - Botan::Cipher_Mode::create_or_throw
    - Botan::Cipher_Mode::providers
    - Botan_CLI::PerfTest_CipherMode::bench_cipher_mode
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::providers
      Src: /src/botan/src/cli/perf_sym.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan_CLI::PerfTest_CipherMode::has_impl_for
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan::Cipher_Mode::providers
    linkageType: ''
    returnType: bool
    signature: bool has_impl_for(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng
      Src: /src/botan/src/cli/perf_sym.cpp:122,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_sym.cpp:123,1
    - Dst: provider
      Src: /src/botan/src/cli/perf_sym.cpp:124,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:126,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:126,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_sym.cpp:128,1
    - Dst: key_spec
      Src: /src/botan/src/cli/perf_sym.cpp:128,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_sym.cpp:130,1
    - Dst: set_key
      Src: /src/botan/src/cli/perf_sym.cpp:130,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_sym.cpp:131,1
    - Dst: set_key
      Src: /src/botan/src/cli/perf_sym.cpp:131,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:133,1
    - Dst: buffer_sizes
      Src: /src/botan/src/cli/perf_sym.cpp:135,1
    - Dst: random_vec
      Src: /src/botan/src/cli/perf_sym.cpp:136,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:139,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:139,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/perf_sym.cpp:139,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:140,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:140,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/perf_sym.cpp:140,1
    - Dst: random_vec
      Src: /src/botan/src/cli/perf_sym.cpp:142,1
    - Dst: default_nonce_length
      Src: /src/botan/src/cli/perf_sym.cpp:142,1
    - Dst: minimum_final_size
      Src: /src/botan/src/cli/perf_sym.cpp:144,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_sym.cpp:145,1
    - Dst: start
      Src: /src/botan/src/cli/perf_sym.cpp:147,1
    - Dst: finish
      Src: /src/botan/src/cli/perf_sym.cpp:148,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/cli/perf_sym.cpp:149,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_sym.cpp:153,1
    - Dst: Botan::secure_vector::empty
      Src: /src/botan/src/cli/perf_sym.cpp:154,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/perf_sym.cpp:155,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/cli/perf_sym.cpp:159,1
    - Dst: start
      Src: /src/botan/src/cli/perf_sym.cpp:160,1
    - Dst: finish
      Src: /src/botan/src/cli/perf_sym.cpp:161,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_sym.cpp:165,1
    - Dst: start
      Src: /src/botan/src/cli/perf_sym.cpp:168,1
    - Dst: finish
      Src: /src/botan/src/cli/perf_sym.cpp:169,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:175,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 3
    argNames:
    - ' config'
    - ' enc'
    - ' dec'
    argTypes:
    - PerfConfig
    - Botan::Cipher_Mode
    - Botan::Cipher_Mode
    constantsTouched: []
    func_position:
      end: 178
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 178
    functionName: Botan_CLI::PerfTest_CipherMode::bench_cipher_mode
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 1
    functionsReached:
    - minimum_final_size
    - name
    - default_nonce_length
    - provider
    - set_key
    - start
    - buffer_sizes
    - make_timer
    - key_spec
    - Botan::secure_vector::resize
    - auto::run_until_elapsed
    - auto::run
    - Botan::secure_vector::size
    - random_vec
    - Botan::secure_vector::empty
    - rng
    - auto::under
    - runtime
    - record_result
    - finish
    linkageType: ''
    returnType: void
    signature: void bench_cipher_mode(const PerfConfig& config, Botan::Cipher_Mode&
      enc, Botan::Cipher_Mode& dec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: Botan_CLI::PerfTest_StreamCipher::PerfTest_StreamCipher
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerfTest_StreamCipher(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::providers
      Src: /src/botan/src/cli/perf_sym.cpp:190,1
    - Dst: Botan::StreamCipher::create
      Src: /src/botan/src/cli/perf_sym.cpp:191,1
    - Dst: Botan_CLI::PerfTest_StreamCipher::bench_stream_cipher
      Src: /src/botan/src/cli/perf_sym.cpp:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: Botan_CLI::PerfTest_StreamCipher::go
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::PerfTest_StreamCipher::bench_stream_cipher
    - Botan::StreamCipher::create
    - Botan::StreamCipher::providers
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::providers
      Src: /src/botan/src/cli/perf_sym.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: Botan_CLI::PerfTest_StreamCipher::has_impl_for
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan::StreamCipher::providers
    linkageType: ''
    returnType: bool
    signature: bool has_impl_for(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng
      Src: /src/botan/src/cli/perf_sym.cpp:201,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_sym.cpp:202,1
    - Dst: provider
      Src: /src/botan/src/cli/perf_sym.cpp:203,1
    - Dst: buffer_sizes
      Src: /src/botan/src/cli/perf_sym.cpp:205,1
    - Dst: maximum_keylength
      Src: /src/botan/src/cli/perf_sym.cpp:206,1
    - Dst: set_key
      Src: /src/botan/src/cli/perf_sym.cpp:207,1
    - Dst: valid_iv_length
      Src: /src/botan/src/cli/perf_sym.cpp:209,1
    - Dst: set_iv
      Src: /src/botan/src/cli/perf_sym.cpp:211,1
    - Dst: Botan::InitializationVector::begin
      Src: /src/botan/src/cli/perf_sym.cpp:211,1
    - Dst: Botan::InitializationVector::size
      Src: /src/botan/src/cli/perf_sym.cpp:211,1
    - Dst: random_vec
      Src: /src/botan/src/cli/perf_sym.cpp:214,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:218,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:218,1
    - Dst: auto::size
      Src: /src/botan/src/cli/perf_sym.cpp:218,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_sym.cpp:220,1
    - Dst: encipher
      Src: /src/botan/src/cli/perf_sym.cpp:222,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:226,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:229,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:229,1
    - Dst: auto::size
      Src: /src/botan/src/cli/perf_sym.cpp:229,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_sym.cpp:231,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_sym.cpp:232,1
    - Dst: write_keystream
      Src: /src/botan/src/cli/perf_sym.cpp:234,1
    - Dst: auto::data
      Src: /src/botan/src/cli/perf_sym.cpp:234,1
    - Dst: auto::size
      Src: /src/botan/src/cli/perf_sym.cpp:234,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ' config'
    - ' cipher'
    argTypes:
    - PerfConfig
    - Botan::StreamCipher
    constantsTouched: []
    func_position:
      end: 241
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 241
    functionName: Botan_CLI::PerfTest_StreamCipher::bench_stream_cipher
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 1
    functionsReached:
    - name
    - set_iv
    - provider
    - set_key
    - Botan::InitializationVector::begin
    - buffer_sizes
    - make_timer
    - valid_iv_length
    - auto::run_until_elapsed
    - auto::run
    - Botan::InitializationVector::size
    - random_vec
    - encipher
    - rng
    - auto::under
    - write_keystream
    - runtime
    - record_result
    - auto::data
    - maximum_keylength
    - auto::size
    linkageType: ''
    returnType: void
    signature: void bench_stream_cipher(const PerfConfig& config, Botan::StreamCipher&
      cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: Botan_CLI::PerfTest_HashFunction::PerfTest_HashFunction
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerfTest_HashFunction(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::providers
      Src: /src/botan/src/cli/perf_sym.cpp:253,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/cli/perf_sym.cpp:254,1
    - Dst: Botan_CLI::PerfTest_HashFunction::bench_hash_fn
      Src: /src/botan/src/cli/perf_sym.cpp:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: Botan_CLI::PerfTest_HashFunction::go
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::providers
    - Botan::HashFunction::create
    - Botan_CLI::PerfTest_HashFunction::bench_hash_fn
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::providers
      Src: /src/botan/src/cli/perf_sym.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: Botan_CLI::PerfTest_HashFunction::has_impl_for
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::providers
    linkageType: ''
    returnType: bool
    signature: bool has_impl_for(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/cli/perf_sym.cpp:264,1
    - Dst: provider
      Src: /src/botan/src/cli/perf_sym.cpp:265,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_sym.cpp:266,1
    - Dst: buffer_sizes
      Src: /src/botan/src/cli/perf_sym.cpp:268,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_sym.cpp:269,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:273,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:273,1
    - Dst: auto::size
      Src: /src/botan/src/cli/perf_sym.cpp:273,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_sym.cpp:274,1
    - Dst: update
      Src: /src/botan/src/cli/perf_sym.cpp:276,1
    - Dst: final
      Src: /src/botan/src/cli/perf_sym.cpp:277,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_sym.cpp:277,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' config'
    - ' hash'
    argTypes:
    - PerfConfig
    - Botan::HashFunction
    constantsTouched: []
    func_position:
      end: 282
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 282
    functionName: Botan_CLI::PerfTest_HashFunction::bench_hash_fn
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 1
    functionsReached:
    - buffer_sizes
    - auto::size
    - make_timer
    - name
    - final
    - runtime
    - provider
    - record_result
    - rng
    - output_length
    - update
    - auto::run_until_elapsed
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void bench_hash_fn(const PerfConfig& config, Botan::HashFunction& hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: Botan_CLI::PerfTest_MessageAuthenticationCode::PerfTest_MessageAuthenticationCode
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerfTest_MessageAuthenticationCode(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::providers
      Src: /src/botan/src/cli/perf_sym.cpp:294,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/cli/perf_sym.cpp:295,1
    - Dst: Botan_CLI::PerfTest_MessageAuthenticationCode::bench_mac_fn
      Src: /src/botan/src/cli/perf_sym.cpp:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: Botan_CLI::PerfTest_MessageAuthenticationCode::go
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan::MessageAuthenticationCode::providers
    - Botan::MessageAuthenticationCode::create
    - Botan_CLI::PerfTest_MessageAuthenticationCode::bench_mac_fn
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::providers
      Src: /src/botan/src/cli/perf_sym.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: Botan_CLI::PerfTest_MessageAuthenticationCode::has_impl_for
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan::MessageAuthenticationCode::providers
    linkageType: ''
    returnType: bool
    signature: bool has_impl_for(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/cli/perf_sym.cpp:307,1
    - Dst: provider
      Src: /src/botan/src/cli/perf_sym.cpp:308,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_sym.cpp:309,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_sym.cpp:310,1
    - Dst: buffer_sizes
      Src: /src/botan/src/cli/perf_sym.cpp:312,1
    - Dst: random_vec
      Src: /src/botan/src/cli/perf_sym.cpp:313,1
    - Dst: maximum_keylength
      Src: /src/botan/src/cli/perf_sym.cpp:316,1
    - Dst: set_key
      Src: /src/botan/src/cli/perf_sym.cpp:317,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:319,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:319,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/perf_sym.cpp:319,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_sym.cpp:320,1
    - Dst: fresh_key_required_per_message
      Src: /src/botan/src/cli/perf_sym.cpp:322,1
    - Dst: set_key
      Src: /src/botan/src/cli/perf_sym.cpp:323,1
    - Dst: start
      Src: /src/botan/src/cli/perf_sym.cpp:325,1
    - Dst: update
      Src: /src/botan/src/cli/perf_sym.cpp:326,1
    - Dst: final
      Src: /src/botan/src/cli/perf_sym.cpp:327,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_sym.cpp:327,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' config'
    - ' mac'
    argTypes:
    - PerfConfig
    - Botan::MessageAuthenticationCode
    constantsTouched: []
    func_position:
      end: 333
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 333
    functionName: Botan_CLI::PerfTest_MessageAuthenticationCode::bench_mac_fn
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 1
    functionsReached:
    - buffer_sizes
    - make_timer
    - name
    - random_vec
    - final
    - runtime
    - provider
    - record_result
    - set_key
    - start
    - rng
    - maximum_keylength
    - fresh_key_required_per_message
    - output_length
    - update
    - Botan::secure_vector::size
    - auto::run_until_elapsed
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void bench_mac_fn(const PerfConfig& config, Botan::MessageAuthenticationCode&
      mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: Botan_CLI::PerfTest_XOF::PerfTest_XOF
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PerfTest_XOF(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XOF::providers
      Src: /src/botan/src/cli/perf_sym.cpp:345,1
    - Dst: Botan::XOF::create
      Src: /src/botan/src/cli/perf_sym.cpp:346,1
    - Dst: Botan_CLI::PerfTest_XOF::bench_xof_fn
      Src: /src/botan/src/cli/perf_sym.cpp:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 350
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 350
    functionName: Botan_CLI::PerfTest_XOF::go
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::PerfTest_XOF::bench_xof_fn
    - Botan::XOF::create
    - Botan::XOF::providers
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XOF::providers
      Src: /src/botan/src/cli/perf_sym.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: Botan_CLI::PerfTest_XOF::has_impl_for
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan::XOF::providers
    linkageType: ''
    returnType: bool
    signature: bool has_impl_for(std::string_view alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_sym.cpp:356,1
    - Dst: provider
      Src: /src/botan/src/cli/perf_sym.cpp:357,1
    - Dst: buffer_sizes
      Src: /src/botan/src/cli/perf_sym.cpp:359,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_sym.cpp:360,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:363,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:363,1
    - Dst: auto::size
      Src: /src/botan/src/cli/perf_sym.cpp:363,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_sym.cpp:364,1
    - Dst: update
      Src: /src/botan/src/cli/perf_sym.cpp:364,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_sym.cpp:366,1
    - Dst: name
      Src: /src/botan/src/cli/perf_sym.cpp:366,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/perf_sym.cpp:366,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_sym.cpp:367,1
    - Dst: output
      Src: /src/botan/src/cli/perf_sym.cpp:367,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:369,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_sym.cpp:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' config'
    - ' xof'
    argTypes:
    - PerfConfig
    - Botan::XOF
    constantsTouched: []
    func_position:
      end: 372
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 372
    functionName: Botan_CLI::PerfTest_XOF::bench_xof_fn
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 1
    functionsReached:
    - buffer_sizes
    - output
    - make_timer
    - name
    - runtime
    - provider
    - record_result
    - rng
    - auto::size
    - update
    - Botan::secure_vector::size
    - auto::run_until_elapsed
    linkageType: ''
    returnType: void
    signature: void bench_xof_fn(const PerfConfig& config, Botan::XOF& xof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::PerfTest_XOF::has_impl_for
      Src: /src/botan/src/cli/perf_sym.cpp:381,1
    - Dst: std::make_unique<PerfTest_XOF>
      Src: /src/botan/src/cli/perf_sym.cpp:382,1
    - Dst: Botan_CLI::PerfTest_StreamCipher::has_impl_for
      Src: /src/botan/src/cli/perf_sym.cpp:387,1
    - Dst: std::make_unique<PerfTest_StreamCipher>
      Src: /src/botan/src/cli/perf_sym.cpp:388,1
    - Dst: Botan_CLI::PerfTest_BlockCipher::has_impl_for
      Src: /src/botan/src/cli/perf_sym.cpp:393,1
    - Dst: std::make_unique<PerfTest_BlockCipher>
      Src: /src/botan/src/cli/perf_sym.cpp:394,1
    - Dst: Botan_CLI::PerfTest_CipherMode::has_impl_for
      Src: /src/botan/src/cli/perf_sym.cpp:399,1
    - Dst: std::make_unique<PerfTest_CipherMode>
      Src: /src/botan/src/cli/perf_sym.cpp:400,1
    - Dst: Botan_CLI::PerfTest_HashFunction::has_impl_for
      Src: /src/botan/src/cli/perf_sym.cpp:405,1
    - Dst: std::make_unique<PerfTest_HashFunction>
      Src: /src/botan/src/cli/perf_sym.cpp:406,1
    - Dst: Botan_CLI::PerfTest_MessageAuthenticationCode::has_impl_for
      Src: /src/botan/src/cli/perf_sym.cpp:411,1
    - Dst: std::make_unique<PerfTest_MessageAuthenticationCode>
      Src: /src/botan/src/cli/perf_sym.cpp:412,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/cli/perf_sym.cpp:416,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ' alg'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 418
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 418
    functionName: Botan_CLI::PerfTest::get_sym
    functionSourceFile: /src/botan/src/cli/perf_sym.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::PerfTest_BlockCipher::has_impl_for
    - Botan_CLI::PerfTest_XOF::has_impl_for
    - std::make_unique<PerfTest_CipherMode>
    - std::make_unique<PerfTest_BlockCipher>
    - Botan_CLI::PerfTest_MessageAuthenticationCode::has_impl_for
    - std::make_unique<PerfTest_MessageAuthenticationCode>
    - std::make_unique<PerfTest_XOF>
    - Botan_CLI::PerfTest_StreamCipher::has_impl_for
    - std::make_unique<PerfTest_HashFunction>
    - Botan_CLI::PerfTest_HashFunction::has_impl_for
    - Botan_CLI::PerfTest_CipherMode::has_impl_for
    - BOTAN_UNUSED
    - std::make_unique<PerfTest_StreamCipher>
    linkageType: ''
    returnType: std::unique_ptr<PerfTest>
    signature: std::unique_ptr<PerfTest> PerfTest::get_sym(const std::string& alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - cc_number
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 40
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 40
    functionName: Botan_CLI::luhn_checksum
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t luhn_checksum(uint64_t cc_number)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::luhn_checksum
      Src: /src/botan/src/cli/cc_enc.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cc_number
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan_CLI::luhn_check
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::luhn_checksum
    linkageType: ''
    returnType: bool
    signature: bool luhn_check(uint64_t cc_number)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cc_number
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: Botan_CLI::cc_rank
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t cc_rank(uint64_t cc_number)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::luhn_check
      Src: /src/botan/src/cli/cc_enc.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cc_number
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: Botan_CLI::cc_derank
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::luhn_check
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t cc_derank(uint64_t cc_number)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FPE::fe1_encrypt
      Src: /src/botan/src/cli/cc_enc.cpp:66,1
    - Dst: Botan::BigInt::bits
      Src: /src/botan/src/cli/cc_enc.cpp:68,1
    - Dst: Botan::Internal_Error::Internal_Error
      Src: /src/botan/src/cli/cc_enc.cpp:69,1
    - Dst: Botan::BigInt::byte_at
      Src: /src/botan/src/cli/cc_enc.cpp:74,1
    - Dst: Botan_CLI::cc_derank
      Src: /src/botan/src/cli/cc_enc.cpp:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - cc_number
    - ' key'
    - ' tweak'
    argTypes:
    - uint64_t
    - Botan::SymmetricKey
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 77
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 77
    functionName: Botan_CLI::encrypt_cc_number
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::bits
    - Botan::FPE::fe1_encrypt
    - Botan_CLI::cc_derank
    - Botan::BigInt::byte_at
    - Botan::Internal_Error::Internal_Error
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t encrypt_cc_number(uint64_t cc_number, const Botan::SymmetricKey&
      key, const std::vector<uint8_t>& tweak)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FPE::fe1_decrypt
      Src: /src/botan/src/cli/cc_enc.cpp:84,1
    - Dst: Botan::BigInt::bits
      Src: /src/botan/src/cli/cc_enc.cpp:86,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/cc_enc.cpp:87,1
    - Dst: Botan::BigInt::byte_at
      Src: /src/botan/src/cli/cc_enc.cpp:92,1
    - Dst: Botan_CLI::cc_derank
      Src: /src/botan/src/cli/cc_enc.cpp:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - enc_cc
    - ' key'
    - ' tweak'
    argTypes:
    - uint64_t
    - Botan::SymmetricKey
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: Botan_CLI::decrypt_cc_number
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::bits
    - Botan::FPE::fe1_decrypt
    - CLI_Error
    - Botan_CLI::cc_derank
    - Botan::BigInt::byte_at
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decrypt_cc_number(uint64_t enc_cc, const Botan::SymmetricKey&
      key, const std::vector<uint8_t>& tweak)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: Botan_CLI::CC_Encrypt::CC_Encrypt
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CC_Encrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Botan_CLI::CC_Encrypt::group
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: Botan_CLI::CC_Encrypt::description
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/cc_enc.cpp:111,1
    - Dst: get_arg
      Src: /src/botan/src/cli/cc_enc.cpp:111,1
    - Dst: get_arg
      Src: /src/botan/src/cli/cc_enc.cpp:112,1
    - Dst: Botan::PBKDF::create
      Src: /src/botan/src/cli/cc_enc.cpp:114,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/cc_enc.cpp:116,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/cli/cc_enc.cpp:119,1
    - Dst: auto::pbkdf_iterations
      Src: /src/botan/src/cli/cc_enc.cpp:119,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/cc_enc.cpp:119,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/cc_enc.cpp:119,1
    - Dst: output
      Src: /src/botan/src/cli/cc_enc.cpp:121,1
    - Dst: encrypt_cc_number
      Src: /src/botan/src/cli/cc_enc.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: Botan_CLI::CC_Encrypt::go
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached:
    - auto::pbkdf_iterations
    - output
    - std::vector::size
    - CLI_Error_Unsupported
    - get_arg
    - Botan::SymmetricKey
    - encrypt_cc_number
    - Botan::PBKDF::create
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Botan_CLI::CC_Decrypt::CC_Decrypt
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CC_Decrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Botan_CLI::CC_Decrypt::group
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: Botan_CLI::CC_Decrypt::description
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/cc_enc.cpp:139,1
    - Dst: get_arg
      Src: /src/botan/src/cli/cc_enc.cpp:139,1
    - Dst: get_arg
      Src: /src/botan/src/cli/cc_enc.cpp:140,1
    - Dst: Botan::PBKDF::create
      Src: /src/botan/src/cli/cc_enc.cpp:142,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/cc_enc.cpp:144,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/cli/cc_enc.cpp:147,1
    - Dst: auto::pbkdf_iterations
      Src: /src/botan/src/cli/cc_enc.cpp:147,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/cc_enc.cpp:147,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/cc_enc.cpp:147,1
    - Dst: output
      Src: /src/botan/src/cli/cc_enc.cpp:149,1
    - Dst: decrypt_cc_number
      Src: /src/botan/src/cli/cc_enc.cpp:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: Botan_CLI::CC_Decrypt::go
    functionSourceFile: /src/botan/src/cli/cc_enc.cpp
    functionUses: 0
    functionsReached:
    - auto::pbkdf_iterations
    - output
    - std::vector::size
    - CLI_Error_Unsupported
    - get_arg
    - Botan::SymmetricKey
    - Botan::PBKDF::create
    - decrypt_cc_number
    - Botan::hex_decode
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan_CLI::PerfTest_ASN1_Parsing::get_hash_function
    functionSourceFile: /src/botan/src/cli/perf_x509.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view get_hash_function()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_x509.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan_CLI::PerfTest_ASN1_Parsing::create_private_key
    functionSourceFile: /src/botan/src/cli/perf_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::create_private_key
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> create_private_key(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Cert_Options::X509_Cert_Options
      Src: /src/botan/src/cli/perf_x509.cpp:43,1
    - Dst: Botan_CLI::PerfTest_ASN1_Parsing::create_private_key
      Src: /src/botan/src/cli/perf_x509.cpp:48,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/cli/perf_x509.cpp:49,1
    - Dst: Botan::X509::create_self_signed_cert
      Src: /src/botan/src/cli/perf_x509.cpp:50,1
    - Dst: Botan_CLI::PerfTest_ASN1_Parsing::get_hash_function
      Src: /src/botan/src/cli/perf_x509.cpp:50,1
    - Dst: Botan::X509_CA::X509_CA
      Src: /src/botan/src/cli/perf_x509.cpp:51,1
    - Dst: Botan_CLI::PerfTest_ASN1_Parsing::get_hash_function
      Src: /src/botan/src/cli/perf_x509.cpp:51,1
    - Dst: std::move
      Src: /src/botan/src/cli/perf_x509.cpp:54,1
    - Dst: std::move
      Src: /src/botan/src/cli/perf_x509.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: Botan_CLI::PerfTest_ASN1_Parsing::create_ca
    functionSourceFile: /src/botan/src/cli/perf_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_CA::X509_CA
    - Botan::X509::create_self_signed_cert
    - Botan_CLI::PerfTest_ASN1_Parsing::get_hash_function
    - std::move
    - Botan_CLI::PerfTest_ASN1_Parsing::create_private_key
    - BOTAN_ASSERT_NONNULL
    - Botan::X509_Cert_Options::X509_Cert_Options
    linkageType: ''
    returnType: CA
    signature: CA create_ca(Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/cli/perf_x509.cpp:63,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/cli/perf_x509.cpp:64,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/cli/perf_x509.cpp:65,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/cli/perf_x509.cpp:66,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/cli/perf_x509.cpp:67,1
    - Dst: Botan::AlternativeName::AlternativeName
      Src: /src/botan/src/cli/perf_x509.cpp:69,1
    - Dst: Botan::AlternativeName::add_dns
      Src: /src/botan/src/cli/perf_x509.cpp:70,1
    - Dst: Botan::AlternativeName::add_email
      Src: /src/botan/src/cli/perf_x509.cpp:71,1
    - Dst: Botan::Extensions::add
      Src: /src/botan/src/cli/perf_x509.cpp:74,1
    - Dst: std::make_unique<Botan::Cert_Extension::Subject_Alternative_Name>
      Src: /src/botan/src/cli/perf_x509.cpp:74,1
    - Dst: Botan_CLI::PerfTest_ASN1_Parsing::create_private_key
      Src: /src/botan/src/cli/perf_x509.cpp:76,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/cli/perf_x509.cpp:77,1
    - Dst: Botan::PKCS10_Request::create
      Src: /src/botan/src/cli/perf_x509.cpp:78,1
    - Dst: Botan_CLI::PerfTest_ASN1_Parsing::get_hash_function
      Src: /src/botan/src/cli/perf_x509.cpp:78,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/cli/perf_x509.cpp:80,1
    - Dst: ca::sign_request
      Src: /src/botan/src/cli/perf_x509.cpp:82,1
    - Dst: Botan::X509_Time
      Src: /src/botan/src/cli/perf_x509.cpp:82,1
    - Dst: Botan::X509_Time
      Src: /src/botan/src/cli/perf_x509.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - common_name
    - ' ca'
    - ' rng'
    argTypes:
    - std::string_view
    - CA
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 83
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 83
    functionName: Botan_CLI::PerfTest_ASN1_Parsing::make_certificate
    functionSourceFile: /src/botan/src/cli/perf_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::AlternativeName::add_dns
    - Botan::TLS::detail::AsyncBase::complete_now
    - Botan::X509_Time
    - std::make_unique<Botan::Cert_Extension::Subject_Alternative_Name>
    - Botan::PKCS10_Request::create
    - Botan::Extensions::add
    - Botan_CLI::PerfTest_ASN1_Parsing::get_hash_function
    - Botan::X509_DN::add_attribute
    - Botan_CLI::PerfTest_ASN1_Parsing::create_private_key
    - Botan::AlternativeName::AlternativeName
    - BOTAN_ASSERT_NONNULL
    - Botan::AlternativeName::add_email
    - ca::sign_request
    linkageType: ''
    returnType: Botan::X509_Certificate
    signature: "Botan::X509_Certificate make_certificate(std::string_view common_name,\n
      \                                                     CA& ca,\n                                                      Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ca::new_crl
      Src: /src/botan/src/cli/perf_x509.cpp:86,1
    - Dst: std::generate
      Src: /src/botan/src/cli/perf_x509.cpp:89,1
    - Dst: std::vector::begin
      Src: /src/botan/src/cli/perf_x509.cpp:89,1
    - Dst: std::vector::end
      Src: /src/botan/src/cli/perf_x509.cpp:89,1
    - Dst: Botan::Extensions::add
      Src: /src/botan/src/cli/perf_x509.cpp:96,1
    - Dst: std::make_unique<Botan::Cert_Extension::CRL_ReasonCode>
      Src: /src/botan/src/cli/perf_x509.cpp:96,1
    - Dst: Botan::DER_Encoder::DER_Encoder
      Src: /src/botan/src/cli/perf_x509.cpp:97,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/cli/perf_x509.cpp:99,1
    - Dst: random_array
      Src: /src/botan/src/cli/perf_x509.cpp:99,1
    - Dst: Botan::X509_Time
      Src: /src/botan/src/cli/perf_x509.cpp:100,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/cli/perf_x509.cpp:100,1
    - Dst: Botan::CRL_Entry::CRL_Entry
      Src: /src/botan/src/cli/perf_x509.cpp:108,1
    - Dst: Botan::CRL_Entry::decode_from
      Src: /src/botan/src/cli/perf_x509.cpp:109,1
    - Dst: ca::update_crl
      Src: /src/botan/src/cli/perf_x509.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - entries
    - ' ca'
    - ' rng'
    argTypes:
    - size_t
    - CA
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 114
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 114
    functionName: Botan_CLI::PerfTest_ASN1_Parsing::make_revocation_list
    functionSourceFile: /src/botan/src/cli/perf_x509.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - Botan::CRL_Entry::CRL_Entry
    - std::make_unique<Botan::Cert_Extension::CRL_ReasonCode>
    - Botan::X509_Time
    - std::vector::begin
    - ca::update_crl
    - Botan::DER_Encoder::DER_Encoder
    - ca::new_crl
    - Botan::Extensions::add
    - random_array
    - std::vector::end
    - Botan::BigInt::from_bytes
    - std::generate
    - Botan::CRL_Entry::decode_from
    linkageType: ''
    returnType: Botan::X509_CRL
    signature: Botan::X509_CRL make_revocation_list(size_t entries, CA& ca, Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::PerfTest_ASN1_Parsing::create_ca
      Src: /src/botan/src/cli/perf_x509.cpp:118,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_x509.cpp:118,1
    - Dst: Botan_CLI::PerfTest_ASN1_Parsing::make_certificate
      Src: /src/botan/src/cli/perf_x509.cpp:119,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_x509.cpp:119,1
    - Dst: Botan_CLI::PerfTest_ASN1_Parsing::make_revocation_list
      Src: /src/botan/src/cli/perf_x509.cpp:120,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_x509.cpp:120,1
    - Dst: auto::BER_encode
      Src: /src/botan/src/cli/perf_x509.cpp:122,1
    - Dst: auto::BER_encode
      Src: /src/botan/src/cli/perf_x509.cpp:123,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_x509.cpp:125,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_x509.cpp:126,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_x509.cpp:128,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_x509.cpp:130,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_x509.cpp:131,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/cli/perf_x509.cpp:132,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_x509.cpp:133,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_x509.cpp:136,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_x509.cpp:137,1
    - Dst: Botan::X509_CRL::X509_CRL
      Src: /src/botan/src/cli/perf_x509.cpp:138,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_x509.cpp:139,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_x509.cpp:142,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_x509.cpp:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 144
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 144
    functionName: Botan_CLI::PerfTest_ASN1_Parsing::go
    functionSourceFile: /src/botan/src/cli/perf_x509.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - make_timer
    - Botan::X509_Certificate
    - auto::BER_encode
    - Botan_CLI::PerfTest_ASN1_Parsing::make_certificate
    - runtime
    - auto::stop
    - record_result
    - rng
    - auto::under
    - Botan::X509_CRL::X509_CRL
    - Botan_CLI::PerfTest_ASN1_Parsing::create_ca
    - Botan_CLI::PerfTest_ASN1_Parsing::make_revocation_list
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan_CLI::ASN1_Printer::ASN1_Printer
    functionSourceFile: /src/botan/src/cli/asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_Printer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan_CLI::ASN1_Printer::group
    functionSourceFile: /src/botan/src/cli/asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan_CLI::ASN1_Printer::description
    functionSourceFile: /src/botan/src/cli/asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/cli/asn1.cpp:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' data'
    - n
    - b
    argTypes:
    - std::vector<uint8_t>
    - size_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: Botan_CLI::ASN1_Printer::first_n
    functionSourceFile: /src/botan/src/cli/asn1.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool first_n(const std::vector<uint8_t>& data, size_t n, uint8_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/asn1.cpp:45,1
    - Dst: slurp_file
      Src: /src/botan/src/cli/asn1.cpp:54,1
    - Dst: flag_set
      Src: /src/botan/src/cli/asn1.cpp:57,1
    - Dst: std::string::size
      Src: /src/botan/src/cli/asn1.cpp:57,1
    - Dst: std::string::substr
      Src: /src/botan/src/cli/asn1.cpp:57,1
    - Dst: std::string::size
      Src: /src/botan/src/cli/asn1.cpp:57,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/asn1.cpp:58,1
    - Dst: Botan_CLI::ASN1_Printer::first_n
      Src: /src/botan/src/cli/asn1.cpp:58,1
    - Dst: unlock
      Src: /src/botan/src/cli/asn1.cpp:62,1
    - Dst: Botan::PEM_Code::decode
      Src: /src/botan/src/cli/asn1.cpp:62,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/asn1.cpp:64,1
    - Dst: std::vector::swap
      Src: /src/botan/src/cli/asn1.cpp:67,1
    - Dst: Botan::ASN1_Pretty_Printer::print_to_stream
      Src: /src/botan/src/cli/asn1.cpp:73,1
    - Dst: output
      Src: /src/botan/src/cli/asn1.cpp:73,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/asn1.cpp:73,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/asn1.cpp:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 74
    functionName: Botan_CLI::ASN1_Printer::go
    functionSourceFile: /src/botan/src/cli/asn1.cpp
    functionUses: 0
    functionsReached:
    - unlock
    - std::string::size
    - slurp_file
    - std::vector::size
    - get_arg
    - Botan::PEM_Code::decode
    - CLI_Error_Unsupported
    - output
    - std::vector::swap
    - flag_set
    - Botan::ASN1_Pretty_Printer::print_to_stream
    - Botan_CLI::ASN1_Printer::first_n
    - std::string::substr
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Botan_CLI::OID_Info::OID_Info
    functionSourceFile: /src/botan/src/cli/asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OID_Info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan_CLI::OID_Info::group
    functionSourceFile: /src/botan/src/cli/asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan_CLI::OID_Info::description
    functionSourceFile: /src/botan/src/cli/asn1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/asn1.cpp:88,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/asn1.cpp:90,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/asn1.cpp:91,1
    - Dst: Botan::OID::human_name_or_empty
      Src: /src/botan/src/cli/asn1.cpp:97,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/asn1.cpp:98,1
    - Dst: output
      Src: /src/botan/src/cli/asn1.cpp:99,1
    - Dst: output
      Src: /src/botan/src/cli/asn1.cpp:101,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/cli/asn1.cpp:108,1
    - Dst: output
      Src: /src/botan/src/cli/asn1.cpp:109,1
    - Dst: Botan::OID::to_string
      Src: /src/botan/src/cli/asn1.cpp:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: Botan_CLI::OID_Info::go
    functionSourceFile: /src/botan/src/cli/asn1.cpp
    functionUses: 0
    functionsReached:
    - output
    - get_arg
    - Botan::OID::human_name_or_empty
    - Botan::OID::to_string
    - std::string::empty
    - CLI_Usage_Error
    - Botan::OID::from_string
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' client_command'
    argTypes:
    - TLS_Client
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Botan_CLI::Callbacks::Callbacks
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Callbacks(TLS_Client& client_command)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan_CLI::Callbacks::peer_closed
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int peer_closed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/cli/tls_client.cpp:60,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/cli/tls_client.cpp:61,1
    - Dst: require_cert_revocation_info
      Src: /src/botan/src/cli/tls_client.cpp:64,1
    - Dst: minimum_signature_strength
      Src: /src/botan/src/cli/tls_client.cpp:65,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/cli/tls_client.cpp:67,1
    - Dst: Botan_CLI::Callbacks::flag_set
      Src: /src/botan/src/cli/tls_client.cpp:69,1
    - Dst: std::string
      Src: /src/botan/src/cli/tls_client.cpp:69,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/cli/tls_client.cpp:71,1
    - Dst: tls_current_timestamp
      Src: /src/botan/src/cli/tls_client.cpp:72,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/cli/tls_client.cpp:74,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:75,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/cli/tls_client.cpp:75,1
    - Dst: Botan::Path_Validation_Result::all_statuses
      Src: /src/botan/src/cli/tls_client.cpp:76,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_client.cpp:78,1
    - Dst: contains
      Src: /src/botan/src/cli/tls_client.cpp:78,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:79,1
    - Dst: Botan_CLI::Callbacks::flag_set
      Src: /src/botan/src/cli/tls_client.cpp:82,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:83,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/cli/tls_client.cpp:83,1
    - Dst: TLS_Exception
      Src: /src/botan/src/cli/tls_client.cpp:85,1
    - Dst: Botan::Path_Validation_Result::result_string
      Src: /src/botan/src/cli/tls_client.cpp:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 6
    argNames:
    - ' cert_chain'
    - ' ocsp'
    - ' trusted_roots'
    - usage
    - hostname
    - ' policy'
    argTypes:
    - std::vector<Botan::X509_Certificate>
    - std::vector<std::optional<Botan::OCSP::Response>>
    - std::vector<Botan::Certificate_Store*>
    - Botan::Usage_Type
    - std::string_view
    - Botan::TLS::Policy
    constantsTouched: []
    func_position:
      end: 89
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 89
    functionName: Botan_CLI::Callbacks::tls_verify_cert_chain
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - Botan::x509_path_validate
    - minimum_signature_strength
    - output
    - contains
    - Botan::Path_Validation_Result::all_statuses
    - tls_current_timestamp
    - Botan_CLI::Timer::milliseconds
    - std::string
    - Botan::Path_Validation_Result::result_string
    - empty
    - require_cert_revocation_info
    - TLS_Exception
    - Invalid_Argument
    - Botan_CLI::Callbacks::flag_set
    - Botan::Path_Validation_Result::successful_validation
    linkageType: ''
    returnType: void
    signature: "void tls_verify_cert_chain(const std::vector<Botan::X509_Certificate>&
      cert_chain,\n                                 const std::vector<std::optional<Botan::OCSP::Response>>&
      ocsp,\n                                 const std::vector<Botan::Certificate_Store*>&
      trusted_roots,\n                                 Botan::Usage_Type usage,\n
      \                                std::string_view hostname,\n                                 const
      Botan::TLS::Policy& policy) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fingerprint_public
      Src: /src/botan/src/cli/tls_client.cpp:95,1
    - Dst: Botan_CLI::Callbacks::get_arg
      Src: /src/botan/src/cli/tls_client.cpp:96,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' raw_public_key'
    argTypes:
    - Botan::Public_Key
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: Botan_CLI::Callbacks::tls_verify_raw_public_key
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - fingerprint_public
    - output
    - Botan_CLI::Callbacks::get_arg
    linkageType: ''
    returnType: void
    signature: "void tls_verify_raw_public_key(const Botan::Public_Key& raw_public_key,\n
      \                                    Botan::Usage_Type /* usage */,\n                                     std::string_view
      /* hostname */,\n                                     const Botan::TLS::Policy&
      /* policy */) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: Botan_CLI::Callbacks::tls_session_activated
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - output
    linkageType: ''
    returnType: void
    signature: void tls_session_activated() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:104,1
    - Dst: version
      Src: /src/botan/src/cli/tls_client.cpp:104,1
    - Dst: external_psk_identity
      Src: /src/botan/src/cli/tls_client.cpp:106,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:107,1
    - Dst: maybe_hex_encode
      Src: /src/botan/src/cli/tls_client.cpp:107,1
    - Dst: value
      Src: /src/botan/src/cli/tls_client.cpp:107,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:110,1
    - Dst: ciphersuite
      Src: /src/botan/src/cli/tls_client.cpp:110,1
    - Dst: kex_parameters
      Src: /src/botan/src/cli/tls_client.cpp:112,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:113,1
    - Dst: session_id
      Src: /src/botan/src/cli/tls_client.cpp:116,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_client.cpp:116,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:117,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_client.cpp:117,1
    - Dst: get
      Src: /src/botan/src/cli/tls_client.cpp:117,1
    - Dst: session_ticket
      Src: /src/botan/src/cli/tls_client.cpp:120,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:121,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_client.cpp:121,1
    - Dst: get
      Src: /src/botan/src/cli/tls_client.cpp:121,1
    - Dst: Botan_CLI::Callbacks::flag_set
      Src: /src/botan/src/cli/tls_client.cpp:124,1
    - Dst: peer_certs
      Src: /src/botan/src/cli/tls_client.cpp:125,1
    - Dst: size
      Src: /src/botan/src/cli/tls_client.cpp:127,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:128,1
    - Dst: size
      Src: /src/botan/src/cli/tls_client.cpp:128,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:129,1
    - Dst: to_string
      Src: /src/botan/src/cli/tls_client.cpp:129,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:130,1
    - Dst: PEM_encode
      Src: /src/botan/src/cli/tls_client.cpp:130,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Botan::TLS::Session_Summary
    constantsTouched: []
    func_position:
      end: 134
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 134
    functionName: Botan_CLI::Callbacks::tls_session_established
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - to_string
    - output
    - session_id
    - kex_parameters
    - peer_certs
    - version
    - session_ticket
    - size
    - empty
    - get
    - maybe_hex_encode
    - value
    - Botan::hex_encode
    - external_psk_identity
    - Botan_CLI::Callbacks::flag_set
    - PEM_encode
    - ciphersuite
    linkageType: ''
    returnType: void
    signature: void tls_session_established(const Botan::TLS::Session_Summary& session)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Callbacks::flag_set
      Src: /src/botan/src/cli/tls_client.cpp:137,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:138,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_client.cpp:138,1
    - Dst: Botan_CLI::Callbacks::send
      Src: /src/botan/src/cli/tls_client.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: Botan_CLI::Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Callbacks::send
    - Botan_CLI::Callbacks::flag_set
    - output
    - Botan::hex_encode
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t> buf) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:144,1
    - Dst: Botan::TLS::Alert::type_string
      Src: /src/botan/src/cli/tls_client.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: Botan_CLI::Callbacks::tls_alert
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Alert::type_string
    - output
    linkageType: ''
    returnType: void
    signature: void tls_alert(Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:148,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: Botan_CLI::Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - output
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t /*seq_no*/, std::span<const uint8_t>
      buf) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:158,1
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::tls_sign_message
      Src: /src/botan/src/cli/tls_client.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' key'
    - ' rng'
    - padding
    - format
    - ' msg'
    argTypes:
    - Botan::Private_Key
    - Botan::RandomNumberGenerator
    - std::string_view
    - Botan::Signature_Format
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: Botan_CLI::Callbacks::tls_sign_message
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - output
    - Botan_Tests::Test_TLS_13_Callbacks::tls_sign_message
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> tls_sign_message(const Botan::Private_Key& key,\n
      \                                           Botan::RandomNumberGenerator& rng,\n
      \                                           const std::string_view padding,\n
      \                                           Botan::Signature_Format format,\n
      \                                           const std::vector<uint8_t>& msg)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::tls_peer_closed_connection
      Src: /src/botan/src/cli/tls_client.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: Botan_CLI::Callbacks::tls_peer_closed_connection
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::Test_TLS_13_Callbacks::tls_peer_closed_connection
    linkageType: ''
    returnType: bool
    signature: bool tls_peer_closed_connection() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_sockets
      Src: /src/botan/src/cli/tls_client.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: Botan_CLI::TLS_Client::TLS_Client
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - init_sockets
    linkageType: ''
    returnType: void
    signature: void TLS_Client()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stop_sockets
      Src: /src/botan/src/cli/tls_client.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: ~TLS_Client() override
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - stop_sockets
    linkageType: ''
    returnType: void
    signature: void ~TLS_Client() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLS_Client
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: Botan_CLI::TLS_Client::TLS_Client
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Client(const TLS_Client& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLS_Client
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: Botan_CLI::TLS_Client::TLS_Client
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Client(TLS_Client&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLS_Client
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: '& operator=(const TLS_Client& other)'
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TLS_Client
    signature: TLS_Client & operator=(const TLS_Client& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLS_Client
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: '& operator=(TLS_Client&& other)'
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TLS_Client
    signature: TLS_Client & operator=(TLS_Client&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: Botan_CLI::TLS_Client::group
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: Botan_CLI::TLS_Client::description
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Callbacks>
      Src: /src/botan/src/cli/tls_client.cpp:201,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_client.cpp:203,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_client.cpp:204,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_client.cpp:206,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_client.cpp:207,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_client.cpp:209,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_client.cpp:210,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/tls_client.cpp:212,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/tls_client.cpp:214,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_SQLite>
      Src: /src/botan/src/cli/tls_client.cpp:216,1
    - Dst: rng_as_shared
      Src: /src/botan/src/cli/tls_client.cpp:216,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_client.cpp:218,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/cli/tls_client.cpp:223,1
    - Dst: rng_as_shared
      Src: /src/botan/src/cli/tls_client.cpp:223,1
    - Dst: load_tls_policy
      Src: /src/botan/src/cli/tls_client.cpp:226,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_client.cpp:226,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/tls_client.cpp:229,1
    - Dst: Botan_CLI::Command::split_on
      Src: /src/botan/src/cli/tls_client.cpp:232,1
    - Dst: std::make_shared<Botan::TLS::Policy>
      Src: /src/botan/src/cli/tls_client.cpp:235,1
    - Dst: auto::latest_supported_version
      Src: /src/botan/src/cli/tls_client.cpp:239,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_client.cpp:247,1
    - Dst: Botan_CLI::TLS_Client::connect_to_host
      Src: /src/botan/src/cli/tls_client.cpp:251,1
    - Dst: get_arg_maybe
      Src: /src/botan/src/cli/tls_client.cpp:253,1
    - Dst: get_arg_maybe
      Src: /src/botan/src/cli/tls_client.cpp:254,1
    - Dst: get_arg_maybe
      Src: /src/botan/src/cli/tls_client.cpp:257,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/cli/tls_client.cpp:259,1
    - Dst: auto::value
      Src: /src/botan/src/cli/tls_client.cpp:259,1
    - Dst: get_arg_maybe
      Src: /src/botan/src/cli/tls_client.cpp:264,1
    - Dst: get_arg_maybe
      Src: /src/botan/src/cli/tls_client.cpp:265,1
    - Dst: std::make_shared<Basic_Credentials_Manager>
      Src: /src/botan/src/cli/tls_client.cpp:267,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_client.cpp:271,1
    - Dst: Botan::TLS::Client::is_closed
      Src: /src/botan/src/cli/tls_client.cpp:287,1
    - Dst: FD_ZERO
      Src: /src/botan/src/cli/tls_client.cpp:289,1
    - Dst: FD_SET
      Src: /src/botan/src/cli/tls_client.cpp:290,1
    - Dst: Botan::TLS::Client::is_active
      Src: /src/botan/src/cli/tls_client.cpp:292,1
    - Dst: FD_SET
      Src: /src/botan/src/cli/tls_client.cpp:293,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/tls_client.cpp:294,1
    - Dst: Botan::TLS::Client::application_protocol
      Src: /src/botan/src/cli/tls_client.cpp:295,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/tls_client.cpp:296,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:297,1
    - Dst: Botan::TLS::Client::application_protocol
      Src: /src/botan/src/cli/tls_client.cpp:297,1
    - Dst: Botan::select
      Src: /src/botan/src/cli/tls_client.cpp:305,1
    - Dst: static_cast<int>
      Src: /src/botan/src/cli/tls_client.cpp:305,1
    - Dst: FD_ISSET
      Src: /src/botan/src/cli/tls_client.cpp:307,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:313,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:316,1
    - Dst: err_to_string
      Src: /src/botan/src/cli/tls_client.cpp:316,1
    - Dst: flag_set
      Src: /src/botan/src/cli/tls_client.cpp:320,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:321,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_client.cpp:321,1
    - Dst: Botan::TLS::Client::received_data
      Src: /src/botan/src/cli/tls_client.cpp:324,1
    - Dst: FD_ISSET
      Src: /src/botan/src/cli/tls_client.cpp:327,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:332,1
    - Dst: Botan::TLS::Client::close
      Src: /src/botan/src/cli/tls_client.cpp:333,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:337,1
    - Dst: err_to_string
      Src: /src/botan/src/cli/tls_client.cpp:337,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:345,1
    - Dst: Botan::TLS::Client::renegotiate
      Src: /src/botan/src/cli/tls_client.cpp:346,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:348,1
    - Dst: Botan::TLS::Client::close
      Src: /src/botan/src/cli/tls_client.cpp:349,1
    - Dst: Botan::TLS::Client::send
      Src: /src/botan/src/cli/tls_client.cpp:353,1
    - Dst: Botan::TLS::Client::timeout_check
      Src: /src/botan/src/cli/tls_client.cpp:357,1
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:358,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/tls_client.cpp:362,1
    - Dst: auto::peer_closed
      Src: /src/botan/src/cli/tls_client.cpp:362,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/cli/tls_client.cpp:364,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 365
    functionName: Botan_CLI::TLS_Client::go
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - error_output
    - Botan::TLS::Client::received_data
    - Botan::TLS::Client::is_active
    - Botan::select
    - std::make_shared<Botan::TLS::Session_Manager_SQLite>
    - auto::peer_closed
    - Botan::TLS::Channel_Impl::close
    - std::string::empty
    - std::make_shared<Callbacks>
    - rng_as_shared
    - Botan_CLI::TLS_Client::connect_to_host
    - get_arg
    - auto::value
    - Botan::TLS::Client::is_closed
    - FD_ZERO
    - std::vector::empty
    - output
    - std::make_shared<Botan::TLS::Policy>
    - static_cast<int>
    - Botan::TLS::Client::send
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - get_arg_maybe
    - get_passphrase_arg
    - auto::latest_supported_version
    - Botan::TLS::Client::renegotiate
    - set_return_code
    - FD_ISSET
    - std::move
    - flag_set
    - Botan::hex_encode
    - Botan::TLS::Client::close
    - Botan::TLS::Client::timeout_check
    - FD_SET
    - load_tls_policy
    - std::make_shared<Basic_Credentials_Manager>
    - err_to_string
    - Botan::TLS::Client::application_protocol
    - Botan::hex_decode_locked
    - CLI_Usage_Error
    - Botan_CLI::Command::split_on
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/cli/tls_client.cpp:373,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_client.cpp:380,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/tls_client.cpp:380,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/cli/tls_client.cpp:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 386
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 386
    functionName: Botan_CLI::TLS_Client::send
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::empty
    - std::to_string
    - CLI_Error
    - std::span<const uint8_t>::subspan
    linkageType: ''
    returnType: void
    signature: void send(std::span<const uint8_t> buf) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/botan/src/cli/tls_client.cpp:391,1
    - Dst: ::getaddrinfo
      Src: /src/botan/src/cli/tls_client.cpp:396,1
    - Dst: c_str
      Src: /src/botan/src/cli/tls_client.cpp:396,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/tls_client.cpp:396,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_client.cpp:397,1
    - Dst: Client::close_socket
      Src: /src/botan/src/cli/tls_client.cpp:403,1
    - Dst: invalid_socket
      Src: /src/botan/src/cli/tls_client.cpp:405,1
    - Dst: cybozu::Socket::connect
      Src: /src/botan/src/cli/tls_client.cpp:409,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/cli/tls_client.cpp:410,1
    - Dst: ::freeaddrinfo
      Src: /src/botan/src/cli/tls_client.cpp:417,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_client.cpp:421,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - ' host'
    - port
    - tcp
    argTypes:
    - std::string
    - uint16_t
    - bool
    constantsTouched: []
    func_position:
      end: 425
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 425
    functionName: Botan_CLI::TLS_Client::connect_to_host
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 1
    functionsReached:
    - CLI_Error
    - c_str
    - ::freeaddrinfo
    - ::getaddrinfo
    - std::to_string
    - Client::close_socket
    - cybozu::Socket::connect
    - Botan::TLS::Channel_Impl::close
    - memset
    - invalid_socket
    linkageType: ''
    returnType: socket_type
    signature: socket_type connect_to_host(const std::string& host, uint16_t port,
      bool tcp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::MockChannel::send
      Src: /src/botan/src/cli/tls_client.cpp:428,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_client.cpp:431,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/tls_client.cpp:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - sockfd
    - buf
    - length
    argTypes:
    - int
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 433
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 433
    functionName: Botan_CLI::TLS_Client::dgram_socket_write
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - CLI_Error
    - Botan_Tests::MockChannel::send
    linkageType: ''
    returnType: void
    signature: void dgram_socket_write(int sockfd, const uint8_t buf[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/tls_client.cpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 442
    functionName: '& Callbacks::output()'
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 0
    functionsReached:
    - output
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Callbacks::output()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Callbacks::flag_set
      Src: /src/botan/src/cli/tls_client.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' flag_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: Botan_CLI::Callbacks::flag_set
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 4
    functionsReached:
    - Botan_CLI::Callbacks::flag_set
    linkageType: ''
    returnType: bool
    signature: bool Callbacks::flag_set(const std::string& flag_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Callbacks::get_arg
      Src: /src/botan/src/cli/tls_client.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' arg_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: Botan_CLI::Callbacks::get_arg
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 2
    functionsReached:
    - Botan_CLI::Callbacks::get_arg
    linkageType: ''
    returnType: std::string
    signature: std::string Callbacks::get_arg(const std::string& arg_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Callbacks::send
      Src: /src/botan/src/cli/tls_client.cpp:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionName: Botan_CLI::Callbacks::send
    functionSourceFile: /src/botan/src/cli/tls_client.cpp
    functionUses: 2
    functionsReached:
    - Botan_CLI::Callbacks::send
    linkageType: ''
    returnType: void
    signature: void Callbacks::send(std::span<const uint8_t> buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: '& name() const'
    functionSourceFile: /src/botan/src/cli/sandbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/cli/perf.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - record_result
    - clock_speed
    - clock_cycle_ratio
    - runtime
    - ' ecc_groups'
    - ' buffer_sizes'
    - ' error_output'
    - ' rng'
    argTypes:
    - std::function<void(const Timer&)>
    - size_t
    - double
    - std::chrono::milliseconds
    - std::vector<std::string>
    - std::vector<size_t>
    - std::ostream
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 40
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 40
    functionName: Botan_CLI::PerfConfig::PerfConfig
    functionSourceFile: /src/botan/src/cli/perf.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void PerfConfig(std::function<void(const Timer&)> record_result,\n
      \                size_t clock_speed,\n                 double clock_cycle_ratio,\n
      \                std::chrono::milliseconds runtime,\n                 const
      std::vector<std::string>& ecc_groups,\n                 const std::vector<size_t>&
      buffer_sizes,\n                 std::ostream& error_output,\n                 Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& buffer_sizes() const'
    functionSourceFile: /src/botan/src/cli/perf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> & buffer_sizes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& ecc_groups() const'
    functionSourceFile: /src/botan/src/cli/perf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & ecc_groups() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan_CLI::PerfConfig::runtime
    functionSourceFile: /src/botan/src/cli/perf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::milliseconds
    signature: std::chrono::milliseconds runtime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& error_output() const'
    functionSourceFile: /src/botan/src/cli/perf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & error_output() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& rng() const'
    functionSourceFile: /src/botan/src/cli/perf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::RandomNumberGenerator
    signature: Botan::RandomNumberGenerator & rng() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_record_result
      Src: /src/botan/src/cli/perf.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' timer'
    argTypes:
    - Timer
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan_CLI::PerfConfig::record_result
    functionSourceFile: /src/botan/src/cli/perf.h
    functionUses: 0
    functionsReached:
    - m_record_result
    linkageType: ''
    returnType: void
    signature: void record_result(const Timer& timer) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Timer>
      Src: /src/botan/src/cli/perf.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' alg'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: Botan_CLI::PerfConfig::make_timer
    functionSourceFile: /src/botan/src/cli/perf.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Timer>
    linkageType: ''
    returnType: std::unique_ptr<Timer>
    signature: "std::unique_ptr<Timer> make_timer(const std::string& alg,\n                                        uint64_t
      event_mult = 1,\n                                        const std::string&
      what = \"\",\n                                        const std::string& provider
      = \"\",\n                                        size_t buf_size = 0) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: ~PerfTest()
    functionSourceFile: /src/botan/src/cli/perf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PerfTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan_CLI::PBKDF_Tune::PBKDF_Tune
    functionSourceFile: /src/botan/src/cli/pbkdf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PBKDF_Tune()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan_CLI::PBKDF_Tune::group
    functionSourceFile: /src/botan/src/cli/pbkdf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_CLI::PBKDF_Tune::description
    functionSourceFile: /src/botan/src/cli/pbkdf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/cli/pbkdf.cpp:32,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/pbkdf.cpp:32,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pbkdf.cpp:33,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/botan/src/cli/pbkdf.cpp:36,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/pbkdf.cpp:39,1
    - Dst: get_arg_list
      Src: /src/botan/src/cli/pbkdf.cpp:42,1
    - Dst: auto::default_params
      Src: /src/botan/src/cli/pbkdf.cpp:46,1
    - Dst: std::stoul
      Src: /src/botan/src/cli/pbkdf.cpp:50,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pbkdf.cpp:52,1
    - Dst: auto::tune
      Src: /src/botan/src/cli/pbkdf.cpp:55,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/cli/pbkdf.cpp:55,1
    - Dst: output
      Src: /src/botan/src/cli/pbkdf.cpp:58,1
    - Dst: std::unique_ptr::to_string
      Src: /src/botan/src/cli/pbkdf.cpp:58,1
    - Dst: std::unique_ptr::total_memory_usage
      Src: /src/botan/src/cli/pbkdf.cpp:60,1
    - Dst: output
      Src: /src/botan/src/cli/pbkdf.cpp:61,1
    - Dst: std::unique_ptr::total_memory_usage
      Src: /src/botan/src/cli/pbkdf.cpp:61,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/botan/src/cli/pbkdf.cpp:70,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/pbkdf.cpp:70,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/pbkdf.cpp:70,1
    - Dst: output
      Src: /src/botan/src/cli/pbkdf.cpp:74,1
    - Dst: output
      Src: /src/botan/src/cli/pbkdf.cpp:76,1
    - Dst: output
      Src: /src/botan/src/cli/pbkdf.cpp:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 82
    functionName: Botan_CLI::PBKDF_Tune::go
    functionSourceFile: /src/botan/src/cli/pbkdf.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::to_string
    - std::unique_ptr::derive_key
    - get_arg_sz
    - output
    - CLI_Error_Unsupported
    - get_arg
    - auto::tune
    - std::vector::size
    - std::vector::data
    - Botan_CLI::Timer::milliseconds
    - CLI_Usage_Error
    - auto::default_params
    - std::unique_ptr::total_memory_usage
    - get_arg_list
    - Botan::PasswordHashFamily::create
    - std::stoul
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_ec.cpp:21,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_ec.cpp:22,1
    - Dst: ecc_groups
      Src: /src/botan/src/cli/perf_ec.cpp:24,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:25,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_ec.cpp:27,1
    - Dst: Botan::EC_Group::clear_registered_curve_data
      Src: /src/botan/src/cli/perf_ec.cpp:28,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:29,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/cli/perf_ec.cpp:29,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:32,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/cli/perf_ec.cpp:34,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:36,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:37,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:38,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:39,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:40,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:41,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:42,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:43,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:44,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:45,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:46,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_ec.cpp:47,1
    - Dst: Botan::EC_AffinePoint::generator
      Src: /src/botan/src/cli/perf_ec.cpp:49,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_ec.cpp:60,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_ec.cpp:60,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/cli/perf_ec.cpp:61,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/cli/perf_ec.cpp:62,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:63,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/cli/perf_ec.cpp:63,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:64,1
    - Dst: auto::mul
      Src: /src/botan/src/cli/perf_ec.cpp:64,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/cli/perf_ec.cpp:66,1
    - Dst: auto::serialize_uncompressed
      Src: /src/botan/src/cli/perf_ec.cpp:67,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/cli/perf_ec.cpp:68,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:70,1
    - Dst: auto::add
      Src: /src/botan/src/cli/perf_ec.cpp:70,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:72,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/cli/perf_ec.cpp:72,1
    - Dst: auto::serialize_compressed
      Src: /src/botan/src/cli/perf_ec.cpp:74,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:75,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/cli/perf_ec.cpp:75,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:77,1
    - Dst: Botan::WindowedMul2Table::WindowedMul2Table
      Src: /src/botan/src/cli/perf_ec.cpp:77,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:79,1
    - Dst: auto::mul2_vartime
      Src: /src/botan/src/cli/perf_ec.cpp:79,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:81,1
    - Dst: Botan::EC_AffinePoint::mul_px_qy
      Src: /src/botan/src/cli/perf_ec.cpp:81,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:84,1
    - Dst: Botan::EC_AffinePoint::hash_to_curve_nu
      Src: /src/botan/src/cli/perf_ec.cpp:84,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:85,1
    - Dst: Botan::EC_AffinePoint::hash_to_curve_ro
      Src: /src/botan/src/cli/perf_ec.cpp:85,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_ec.cpp:89,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_ec.cpp:89,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/cli/perf_ec.cpp:90,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:91,1
    - Dst: auto::invert_vartime
      Src: /src/botan/src/cli/perf_ec.cpp:91,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_ec.cpp:92,1
    - Dst: auto::invert
      Src: /src/botan/src/cli/perf_ec.cpp:92,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/cli/perf_ec.cpp:93,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:96,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:97,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:98,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:99,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:100,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:101,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:102,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:103,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:104,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:105,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:108,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_ec.cpp:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 67
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 112
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 112
    functionName: Botan_CLI::PerfTest_EllipticCurve::go
    functionSourceFile: /src/botan/src/cli/perf_ec.cpp
    functionUses: 0
    functionsReached:
    - Botan::WindowedMul2Table::WindowedMul2Table
    - BOTAN_ASSERT_EQUAL
    - auto::add
    - Botan::EC_Group::clear_registered_curve_data
    - make_timer
    - Botan::EC_AffinePoint::mul_px_qy
    - Botan::EC_AffinePoint::g_mul
    - auto::serialize_uncompressed
    - auto::mul2_vartime
    - auto::run
    - Botan::EC_Scalar::random
    - Botan::EC_AffinePoint::hash_to_curve_nu
    - auto::invert_vartime
    - Botan::EC_AffinePoint::generator
    - auto::invert
    - auto::under
    - rng
    - ecc_groups
    - Botan::EC_AffinePoint::hash_to_curve_ro
    - runtime
    - record_result
    - Botan::EC_AffinePoint::deserialize
    - auto::serialize_compressed
    - Botan::EC_Group::from_name
    - auto::mul
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan_CLI::TLS_Ciphersuites::TLS_Ciphersuites
    functionSourceFile: /src/botan/src/cli/tls_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Ciphersuites()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_utils.cpp:35,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: Botan_CLI::TLS_Ciphersuites::tls_version_from_str
    functionSourceFile: /src/botan/src/cli/tls_utils.cpp
    functionUses: 0
    functionsReached:
    - CLI_Error
    linkageType: ''
    returnType: Botan::TLS::Protocol_Version
    signature: Botan::TLS::Protocol_Version tls_version_from_str(const std::string&
      str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan_CLI::TLS_Ciphersuites::group
    functionSourceFile: /src/botan/src/cli/tls_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan_CLI::TLS_Ciphersuites::description
    functionSourceFile: /src/botan/src/cli/tls_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_utils.cpp:44,1
    - Dst: Botan_CLI::TLS_Ciphersuites::tls_version_from_str
      Src: /src/botan/src/cli/tls_utils.cpp:45,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_utils.cpp:45,1
    - Dst: load_tls_policy
      Src: /src/botan/src/cli/tls_utils.cpp:47,1
    - Dst: auto::acceptable_protocol_version
      Src: /src/botan/src/cli/tls_utils.cpp:49,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_utils.cpp:50,1
    - Dst: auto::ciphersuite_list
      Src: /src/botan/src/cli/tls_utils.cpp:54,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/cli/tls_utils.cpp:55,1
    - Dst: output
      Src: /src/botan/src/cli/tls_utils.cpp:56,1
    - Dst: auto::to_string
      Src: /src/botan/src/cli/tls_utils.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: Botan_CLI::TLS_Ciphersuites::go
    functionSourceFile: /src/botan/src/cli/tls_utils.cpp
    functionUses: 0
    functionsReached:
    - error_output
    - Botan::TLS::Ciphersuite::by_id
    - output
    - load_tls_policy
    - get_arg
    - auto::ciphersuite_list
    - auto::acceptable_protocol_version
    - Botan_CLI::TLS_Ciphersuites::tls_version_from_str
    - auto::to_string
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: Botan_CLI::TLS_Client_Hello_Reader::TLS_Client_Hello_Reader
    functionSourceFile: /src/botan/src/cli/tls_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Client_Hello_Reader()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan_CLI::TLS_Client_Hello_Reader::group
    functionSourceFile: /src/botan/src/cli/tls_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan_CLI::TLS_Client_Hello_Reader::description
    functionSourceFile: /src/botan/src/cli/tls_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_utils.cpp:74,1
    - Dst: flag_set
      Src: /src/botan/src/cli/tls_utils.cpp:77,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/tls_utils.cpp:78,1
    - Dst: slurp_file_as_str
      Src: /src/botan/src/cli/tls_utils.cpp:78,1
    - Dst: slurp_file
      Src: /src/botan/src/cli/tls_utils.cpp:80,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/tls_utils.cpp:83,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_utils.cpp:84,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/tls_utils.cpp:92,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_utils.cpp:93,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/cli/tls_utils.cpp:97,1
    - Dst: std::vector::begin
      Src: /src/botan/src/cli/tls_utils.cpp:97,1
    - Dst: std::vector::end
      Src: /src/botan/src/cli/tls_utils.cpp:97,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/tls_utils.cpp:104,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_utils.cpp:105,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/cli/tls_utils.cpp:109,1
    - Dst: std::vector::begin
      Src: /src/botan/src/cli/tls_utils.cpp:109,1
    - Dst: std::vector::end
      Src: /src/botan/src/cli/tls_utils.cpp:109,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/botan/src/cli/tls_utils.cpp:113,1
    - Dst: output
      Src: /src/botan/src/cli/tls_utils.cpp:115,1
    - Dst: Botan_CLI::TLS_Client_Hello_Reader::format_hello
      Src: /src/botan/src/cli/tls_utils.cpp:115,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_utils.cpp:117,1
    - Dst: what
      Src: /src/botan/src/cli/tls_utils.cpp:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 119
    functionName: Botan_CLI::TLS_Client_Hello_Reader::go
    functionSourceFile: /src/botan/src/cli/tls_utils.cpp
    functionUses: 0
    functionsReached:
    - error_output
    - Botan::TLS::Client_Hello_13::parse
    - slurp_file
    - std::vector::size
    - get_arg
    - output
    - Botan_CLI::TLS_Client_Hello_Reader::format_hello
    - what
    - std::vector::begin
    - std::vector<uint8_t>
    - flag_set
    - slurp_file_as_str
    - std::vector::end
    - Botan::hex_decode
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/cli/tls_utils.cpp:127,1
    - Dst: std::visit
      Src: /src/botan/src/cli/tls_utils.cpp:129,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_utils.cpp:136,1
    - Dst: auto*::random
      Src: /src/botan/src/cli/tls_utils.cpp:136,1
    - Dst: auto*::session_id
      Src: /src/botan/src/cli/tls_utils.cpp:138,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_utils.cpp:139,1
    - Dst: auto*::session_id
      Src: /src/botan/src/cli/tls_utils.cpp:139,1
    - Dst: auto*::ciphersuites
      Src: /src/botan/src/cli/tls_utils.cpp:141,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/cli/tls_utils.cpp:142,1
    - Dst: auto::valid
      Src: /src/botan/src/cli/tls_utils.cpp:143,1
    - Dst: auto::to_string
      Src: /src/botan/src/cli/tls_utils.cpp:144,1
    - Dst: auto*::signature_schemes
      Src: /src/botan/src/cli/tls_utils.cpp:154,1
    - Dst: auto*::signature_schemes
      Src: /src/botan/src/cli/tls_utils.cpp:157,1
    - Dst: to_string
      Src: /src/botan/src/cli/tls_utils.cpp:159,1
    - Dst: static_cast<unsigned int>
      Src: /src/botan/src/cli/tls_utils.cpp:162,1
    - Dst: wire_code
      Src: /src/botan/src/cli/tls_utils.cpp:162,1
    - Dst: auto*::extensions
      Src: /src/botan/src/cli/tls_utils.cpp:168,1
    - Dst: auto::groups
      Src: /src/botan/src/cli/tls_utils.cpp:170,1
    - Dst: to_string
      Src: /src/botan/src/cli/tls_utils.cpp:171,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/tls_utils.cpp:171,1
    - Dst: wire_code
      Src: /src/botan/src/cli/tls_utils.cpp:171,1
    - Dst: auto*::supports_alpn
      Src: /src/botan/src/cli/tls_utils.cpp:177,1
    - Dst: std::visit
      Src: /src/botan/src/cli/tls_utils.cpp:179,1
    - Dst: supports_encrypt_then_mac
      Src: /src/botan/src/cli/tls_utils.cpp:181,1
    - Dst: supports_extended_master_secret
      Src: /src/botan/src/cli/tls_utils.cpp:182,1
    - Dst: supports_session_ticket
      Src: /src/botan/src/cli/tls_utils.cpp:183,1
    - Dst: extensions
      Src: /src/botan/src/cli/tls_utils.cpp:186,1
    - Dst: auto::offered_groups
      Src: /src/botan/src/cli/tls_utils.cpp:188,1
    - Dst: to_string
      Src: /src/botan/src/cli/tls_utils.cpp:189,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/tls_utils.cpp:189,1
    - Dst: wire_code
      Src: /src/botan/src/cli/tls_utils.cpp:189,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/tls_utils.cpp:202,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 1
    argNames:
    - ' hello'
    argTypes:
    - std::variant<Botan::TLS::Client_Hello_13, Botan::TLS::Client_Hello_12>
    constantsTouched: []
    func_position:
      end: 203
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 203
    functionName: Botan_CLI::TLS_Client_Hello_Reader::format_hello
    functionSourceFile: /src/botan/src/cli/tls_utils.cpp
    functionUses: 1
    functionsReached:
    - auto::offered_groups
    - to_string
    - auto*::random
    - static_cast<unsigned int>
    - auto*::session_id
    - auto::to_string
    - supports_encrypt_then_mac
    - extensions
    - auto*::extensions
    - auto*::supports_alpn
    - wire_code
    - supports_extended_master_secret
    - std::visit
    - Botan::hex_encode
    - auto*::signature_schemes
    - supports_session_ticket
    - auto::groups
    - Botan::TLS::Ciphersuite::by_id
    - std::ostringstream::str
    - auto::valid
    - Botan::fmt
    - auto*::ciphersuites
    linkageType: ''
    returnType: std::string
    signature: "std::string format_hello(\n         const std::variant<Botan::TLS::Client_Hello_13,
      Botan::TLS::Client_Hello_12>& hello)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::TimingTestTimer::get_high_resolution_clock
      Src: /src/botan/src/cli/timing_tests.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan_CLI::TimingTestTimer::TimingTestTimer
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::TimingTestTimer::get_high_resolution_clock
    linkageType: ''
    returnType: void
    signature: void TimingTestTimer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::TimingTestTimer::get_high_resolution_clock
      Src: /src/botan/src/cli/timing_tests.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan_CLI::TimingTestTimer::complete
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::TimingTestTimer::get_high_resolution_clock
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t complete() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/cli/timing_tests.cpp:96,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/botan/src/cli/timing_tests.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: Botan_CLI::TimingTestTimer::get_high_resolution_clock
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_high_resolution_clock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_make_rng
      Src: /src/botan/src/cli/timing_tests.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: Botan_CLI::Timing_Test::Timing_Test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - cli_make_rng
    linkageType: ''
    returnType: void
    signature: void Timing_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: ~Timing_Test()
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Timing_Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Timing_Test
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan_CLI::Timing_Test::Timing_Test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Timing_Test(const Timing_Test& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Timing_Test
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: Botan_CLI::Timing_Test::Timing_Test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Timing_Test(Timing_Test&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Timing_Test
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: '& operator=(const Timing_Test& other)'
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Timing_Test
    signature: Timing_Test & operator=(const Timing_Test& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Timing_Test
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: '& operator=(Timing_Test&& other)'
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Timing_Test
    signature: Timing_Test & operator=(Timing_Test&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/timing_tests.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Botan_CLI::Timing_Test::prepare_input
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> prepare_input(const std::string& input)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: '& timing_test_rng()'
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::RandomNumberGenerator
    signature: Botan::RandomNumberGenerator & timing_test_rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:143,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:145,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - keysize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: Botan_CLI::Bleichenbacker_Timing_Test::Bleichenbacker_Timing_Test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - timing_test_rng
    linkageType: ''
    returnType: void
    signature: void Bleichenbacker_Timing_Test(size_t keysize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/timing_tests.cpp:149,1
    - Dst: encrypt
      Src: /src/botan/src/cli/timing_tests.cpp:150,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: Botan_CLI::Bleichenbacker_Timing_Test::prepare_input
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - timing_test_rng
    - Botan::hex_decode
    - encrypt
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> prepare_input(const std::string& input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt_or_random
      Src: /src/botan/src/cli/timing_tests.cpp:155,1
    - Dst: data
      Src: /src/botan/src/cli/timing_tests.cpp:155,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:155,1
    - Dst: TimingTestTimer::complete
      Src: /src/botan/src/cli/timing_tests.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: Botan_CLI::Bleichenbacker_Timing_Test::measure_critical_function
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - data
    - timing_test_rng
    - decrypt_or_random
    - TimingTestTimer::complete
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t measure_critical_function(const std::vector<uint8_t>& input)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:182,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:184,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - keysize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: Botan_CLI::Manger_Timing_Test::Manger_Timing_Test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - timing_test_rng
    linkageType: ''
    returnType: void
    signature: void Manger_Timing_Test(size_t keysize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/timing_tests.cpp:188,1
    - Dst: encrypt
      Src: /src/botan/src/cli/timing_tests.cpp:189,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: Botan_CLI::Manger_Timing_Test::prepare_input
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - timing_test_rng
    - Botan::hex_decode
    - encrypt
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> prepare_input(const std::string& input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt
      Src: /src/botan/src/cli/timing_tests.cpp:195,1
    - Dst: data
      Src: /src/botan/src/cli/timing_tests.cpp:195,1
    - Dst: TimingTestTimer::complete
      Src: /src/botan/src/cli/timing_tests.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: Botan_CLI::Manger_Timing_Test::measure_critical_function
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - data
    - TimingTestTimer::complete
    - decrypt
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t measure_critical_function(const std::vector<uint8_t>& input)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/cli/timing_tests.cpp:222,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/cli/timing_tests.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' mac_name'
    - mac_keylen
    argTypes:
    - std::string
    - size_t
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: Botan_CLI::Lucky13_Timing_Test::Lucky13_Timing_Test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::MessageAuthenticationCode::create_or_throw
    - Botan::BlockCipher::create_or_throw
    linkageType: ''
    returnType: void
    signature: void Lucky13_Timing_Test(const std::string& mac_name, size_t mac_keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/timing_tests.cpp:239,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/cli/timing_tests.cpp:243,1
    - Dst: auto::set_key
      Src: /src/botan/src/cli/timing_tests.cpp:244,1
    - Dst: auto::start
      Src: /src/botan/src/cli/timing_tests.cpp:245,1
    - Dst: std::vector::begin
      Src: /src/botan/src/cli/timing_tests.cpp:246,1
    - Dst: std::vector::end
      Src: /src/botan/src/cli/timing_tests.cpp:246,1
    - Dst: auto::finish
      Src: /src/botan/src/cli/timing_tests.cpp:247,1
    - Dst: unlock
      Src: /src/botan/src/cli/timing_tests.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 250
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: Botan_CLI::Lucky13_Timing_Test::prepare_input
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - Botan::Cipher_Mode::create
    - auto::finish
    - std::vector::begin
    - auto::set_key
    - std::vector::end
    - unlock
    - Botan::hex_decode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Lucky13_Timing_Test::prepare_input(const std::string&
      input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/cli/timing_tests.cpp:253,1
    - Dst: end
      Src: /src/botan/src/cli/timing_tests.cpp:253,1
    - Dst: set_key
      Src: /src/botan/src/cli/timing_tests.cpp:258,1
    - Dst: unlock
      Src: /src/botan/src/cli/timing_tests.cpp:258,1
    - Dst: set_associated_data
      Src: /src/botan/src/cli/timing_tests.cpp:259,1
    - Dst: start
      Src: /src/botan/src/cli/timing_tests.cpp:260,1
    - Dst: unlock
      Src: /src/botan/src/cli/timing_tests.cpp:260,1
    - Dst: finish
      Src: /src/botan/src/cli/timing_tests.cpp:264,1
    - Dst: TimingTestTimer::complete
      Src: /src/botan/src/cli/timing_tests.cpp:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 267
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 267
    functionName: Botan_CLI::Lucky13_Timing_Test::measure_critical_function
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - begin
    - TimingTestTimer::complete
    - end
    - set_key
    - start
    - finish
    - unlock
    - set_associated_data
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Lucky13_Timing_Test::measure_critical_function(const std::vector<uint8_t>&
      input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/cli/timing_tests.cpp:288,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:289,1
    - Dst: _private_key
      Src: /src/botan/src/cli/timing_tests.cpp:290,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/cli/timing_tests.cpp:291,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:291,1
    - Dst: invert
      Src: /src/botan/src/cli/timing_tests.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ecgroup'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: Botan_CLI::ECDSA_Timing_Test::ECDSA_Timing_Test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - invert
    - _private_key
    - Botan::EC_Group::from_name
    - timing_test_rng
    - Botan::EC_Scalar::random
    linkageType: ''
    returnType: void
    signature: void ECDSA_Timing_Test::ECDSA_Timing_Test(const std::string& ecgroup)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::from_bytes_with_trunc
      Src: /src/botan/src/cli/timing_tests.cpp:295,1
    - Dst: Botan::EC_Scalar::from_bytes_with_trunc
      Src: /src/botan/src/cli/timing_tests.cpp:297,1
    - Dst: Botan::EC_Scalar::gk_x_mod_order
      Src: /src/botan/src/cli/timing_tests.cpp:302,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:302,1
    - Dst: auto::invert
      Src: /src/botan/src/cli/timing_tests.cpp:303,1
    - Dst: square_self
      Src: /src/botan/src/cli/timing_tests.cpp:304,1
    - Dst: square_self
      Src: /src/botan/src/cli/timing_tests.cpp:305,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/cli/timing_tests.cpp:308,1
    - Dst: TimingTestTimer::complete
      Src: /src/botan/src/cli/timing_tests.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: Botan_CLI::ECDSA_Timing_Test::measure_critical_function
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar::from_bytes_with_trunc
    - square_self
    - Botan::EC_Scalar::gk_x_mod_order
    - TimingTestTimer::complete
    - auto::invert
    - BOTAN_UNUSED
    - timing_test_rng
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ECDSA_Timing_Test::measure_critical_function(const std::vector<uint8_t>&
      input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/cli/timing_tests.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ecgroup
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: Botan_CLI::ECC_Mul_Timing_Test::ECC_Mul_Timing_Test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: void
    signature: void ECC_Mul_Timing_Test(std::string_view ecgroup)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::from_bytes_with_trunc
      Src: /src/botan/src/cli/timing_tests.cpp:328,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/cli/timing_tests.cpp:331,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:331,1
    - Dst: TimingTestTimer::complete
      Src: /src/botan/src/cli/timing_tests.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: Botan_CLI::ECC_Mul_Timing_Test::measure_critical_function
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - timing_test_rng
    - Botan::EC_Scalar::from_bytes_with_trunc
    - TimingTestTimer::complete
    - Botan::EC_AffinePoint::g_mul
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ECC_Mul_Timing_Test::measure_critical_function(const std::vector<uint8_t>&
      input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/cli/timing_tests.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dl_group
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: Botan_CLI::Powmod_Timing_Test::Powmod_Timing_Test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group::from_name
    linkageType: ''
    returnType: void
    signature: void Powmod_Timing_Test(std::string_view dl_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/cli/timing_tests.cpp:350,1
    - Dst: size
      Src: /src/botan/src/cli/timing_tests.cpp:350,1
    - Dst: power_g_p
      Src: /src/botan/src/cli/timing_tests.cpp:355,1
    - Dst: TimingTestTimer::complete
      Src: /src/botan/src/cli/timing_tests.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: Botan_CLI::Powmod_Timing_Test::measure_critical_function
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - data
    - power_g_p
    - size
    - TimingTestTimer::complete
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Powmod_Timing_Test::measure_critical_function(const std::vector<uint8_t>&
      input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::random_prime
      Src: /src/botan/src/cli/timing_tests.cpp:366,1
    - Dst: timing_test_rng
      Src: /src/botan/src/cli/timing_tests.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 366
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 366
    functionName: Botan_CLI::Invmod_Timing_Test::Invmod_Timing_Test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - Botan::random_prime
    - timing_test_rng
    linkageType: ''
    returnType: void
    signature: void Invmod_Timing_Test(size_t p_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/cli/timing_tests.cpp:375,1
    - Dst: size
      Src: /src/botan/src/cli/timing_tests.cpp:375,1
    - Dst: Botan::inverse_mod_secret_prime
      Src: /src/botan/src/cli/timing_tests.cpp:378,1
    - Dst: TimingTestTimer::complete
      Src: /src/botan/src/cli/timing_tests.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 380
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 380
    functionName: Botan_CLI::Invmod_Timing_Test::measure_critical_function
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - data
    - TimingTestTimer::complete
    - size
    - Botan::inverse_mod_secret_prime
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Invmod_Timing_Test::measure_critical_function(const std::vector<uint8_t>&
      input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/cli/timing_tests.cpp:387,1
    - Dst: size
      Src: /src/botan/src/cli/timing_tests.cpp:388,1
    - Dst: reserve
      Src: /src/botan/src/cli/timing_tests.cpp:391,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/timing_tests.cpp:394,1
    - Dst: Botan_CLI::Timing_Test::prepare_input
      Src: /src/botan/src/cli/timing_tests.cpp:395,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/timing_tests.cpp:400,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/timing_tests.cpp:404,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/timing_tests.cpp:407,1
    - Dst: measure_critical_function
      Src: /src/botan/src/cli/timing_tests.cpp:408,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/timing_tests.cpp:414,1
    - Dst: push_back
      Src: /src/botan/src/cli/timing_tests.cpp:415,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - ' raw_inputs'
    - warmup_runs
    - measurement_runs
    argTypes:
    - std::vector<std::string>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 421
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 421
    functionName: Botan_CLI::Timing_Test::execute_evaluation
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - CLI_Error
    - std::vector::size
    - reserve
    - measure_critical_function
    - size
    - push_back
    - Botan_CLI::Timing_Test::prepare_input
    linkageType: ''
    returnType: std::vector<std::vector<uint64_t>>
    signature: "std::vector<std::vector<uint64_t>> Timing_Test::execute_evaluation(const
      std::vector<std::string>& raw_inputs,\n                                                                   size_t
      warmup_runs,\n                                                                   size_t
      measurement_runs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: Botan_CLI::Timing_Test_Command::Timing_Test_Command
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Timing_Test_Command()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 430
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 430
    functionName: Botan_CLI::Timing_Test_Command::group
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: Botan_CLI::Timing_Test_Command::description
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/timing_tests.cpp:435,1
    - Dst: Botan_CLI::Timing_Test_Command::lookup_timing_test
      Src: /src/botan/src/cli/timing_tests.cpp:439,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/timing_tests.cpp:442,1
    - Dst: get_arg_or
      Src: /src/botan/src/cli/timing_tests.cpp:445,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/timing_tests.cpp:447,1
    - Dst: get_arg
      Src: /src/botan/src/cli/timing_tests.cpp:448,1
    - Dst: Botan_CLI::Timing_Test_Command::read_testdata
      Src: /src/botan/src/cli/timing_tests.cpp:452,1
    - Dst: std::unique_ptr::execute_evaluation
      Src: /src/botan/src/cli/timing_tests.cpp:454,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/timing_tests.cpp:458,1
    - Dst: size
      Src: /src/botan/src/cli/timing_tests.cpp:459,1
    - Dst: output
      Src: /src/botan/src/cli/timing_tests.cpp:464,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/timing_tests.cpp:464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 465
    functionName: Botan_CLI::Timing_Test_Command::go
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - output
    - CLI_Error
    - get_arg
    - std::vector::size
    - std::ostringstream::str
    - Botan_CLI::Timing_Test_Command::lookup_timing_test
    - size
    - Botan_CLI::Timing_Test_Command::read_testdata
    - get_arg_or
    - std::string::empty
    - std::unique_ptr::execute_evaluation
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/botan/src/cli/timing_tests.cpp:471,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/timing_tests.cpp:472,1
    - Dst: std::getline
      Src: /src/botan/src/cli/timing_tests.cpp:475,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/timing_tests.cpp:476,1
    - Dst: std::string::at
      Src: /src/botan/src/cli/timing_tests.cpp:476,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/timing_tests.cpp:477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 481
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 481
    functionName: Botan_CLI::Timing_Test_Command::read_testdata
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 1
    functionsReached:
    - std::ifstream::good
    - CLI_Error
    - std::vector::push_back
    - std::string::empty
    - std::string::at
    - std::getline
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> read_testdata(const std::string& filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timing_Test_Command::help_text
      Src: /src/botan/src/cli/timing_tests.cpp:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 499
    functionName: Botan_CLI::Timing_Test_Command::help_text
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 2
    functionsReached:
    - Botan_CLI::Timing_Test_Command::help_text
    linkageType: ''
    returnType: std::string
    signature: std::string help_text() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Bleichenbacker_Timing_Test>
      Src: /src/botan/src/cli/timing_tests.cpp:505,1
    - Dst: std::make_unique<Manger_Timing_Test>
      Src: /src/botan/src/cli/timing_tests.cpp:511,1
    - Dst: std::make_unique<ECDSA_Timing_Test>
      Src: /src/botan/src/cli/timing_tests.cpp:517,1
    - Dst: std::make_unique<ECC_Mul_Timing_Test>
      Src: /src/botan/src/cli/timing_tests.cpp:523,1
    - Dst: std::make_unique<Invmod_Timing_Test>
      Src: /src/botan/src/cli/timing_tests.cpp:529,1
    - Dst: std::make_unique<Powmod_Timing_Test>
      Src: /src/botan/src/cli/timing_tests.cpp:535,1
    - Dst: std::make_unique<Lucky13_Timing_Test>
      Src: /src/botan/src/cli/timing_tests.cpp:541,1
    - Dst: std::make_unique<Lucky13_Timing_Test>
      Src: /src/botan/src/cli/timing_tests.cpp:544,1
    - Dst: std::make_unique<Lucky13_Timing_Test>
      Src: /src/botan/src/cli/timing_tests.cpp:547,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/cli/timing_tests.cpp:551,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 1
    argNames:
    - test_type
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 554
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 554
    functionName: Botan_CLI::Timing_Test_Command::lookup_timing_test
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<ECC_Mul_Timing_Test>
    - std::make_unique<Lucky13_Timing_Test>
    - std::make_unique<Powmod_Timing_Test>
    - std::make_unique<ECDSA_Timing_Test>
    - std::make_unique<Manger_Timing_Test>
    - BOTAN_UNUSED
    - std::make_unique<Invmod_Timing_Test>
    - std::make_unique<Bleichenbacker_Timing_Test>
    linkageType: ''
    returnType: std::unique_ptr<Timing_Test>
    signature: std::unique_ptr<Timing_Test> Timing_Test_Command::lookup_timing_test(std::string_view
      test_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 564
    functionName: Botan_CLI::MARVIN_Test_Command::MARVIN_Test_Command
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MARVIN_Test_Command()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 566
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 566
    functionName: Botan_CLI::MARVIN_Test_Command::group
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 568
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 568
    functionName: Botan_CLI::MARVIN_Test_Command::description
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 573
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 573
    functionName: Botan_CLI::MARVIN_Test_Command::marvin_sigint_handler
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void marvin_sigint_handler(int /*signal*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/timing_tests.cpp:577,1
    - Dst: get_arg
      Src: /src/botan/src/cli/timing_tests.cpp:578,1
    - Dst: ::setenv
      Src: /src/botan/src/cli/timing_tests.cpp:585,1
    - Dst: sigemptyset
      Src: /src/botan/src/cli/timing_tests.cpp:590,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/timing_tests.cpp:595,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/cli/timing_tests.cpp:600,1
    - Dst: auto::algo_name
      Src: /src/botan/src/cli/timing_tests.cpp:602,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/timing_tests.cpp:603,1
    - Dst: Botan::get_files_recursive
      Src: /src/botan/src/cli/timing_tests.cpp:611,1
    - Dst: Botan_CLI::MARVIN_Test_Command::slurp_file
      Src: /src/botan/src/cli/timing_tests.cpp:612,1
    - Dst: auto::size
      Src: /src/botan/src/cli/timing_tests.cpp:614,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/timing_tests.cpp:615,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/timing_tests.cpp:616,1
    - Dst: auto::size
      Src: /src/botan/src/cli/timing_tests.cpp:618,1
    - Dst: Botan::split_on
      Src: /src/botan/src/cli/timing_tests.cpp:622,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/timing_tests.cpp:624,1
    - Dst: auto::size
      Src: /src/botan/src/cli/timing_tests.cpp:624,1
    - Dst: std::vector::insert
      Src: /src/botan/src/cli/timing_tests.cpp:625,1
    - Dst: std::vector::end
      Src: /src/botan/src/cli/timing_tests.cpp:625,1
    - Dst: auto::begin
      Src: /src/botan/src/cli/timing_tests.cpp:625,1
    - Dst: auto::end
      Src: /src/botan/src/cli/timing_tests.cpp:625,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/timing_tests.cpp:628,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/timing_tests.cpp:629,1
    - Dst: output
      Src: /src/botan/src/cli/timing_tests.cpp:632,1
    - Dst: Botan::ChaCha_RNG::ChaCha_RNG
      Src: /src/botan/src/cli/timing_tests.cpp:637,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/cli/timing_tests.cpp:637,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/cli/timing_tests.cpp:639,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/timing_tests.cpp:646,1
    - Dst: reserve
      Src: /src/botan/src/cli/timing_tests.cpp:651,1
    - Dst: Botan_CLI::MARVIN_Test_Command::shuffle
      Src: /src/botan/src/cli/timing_tests.cpp:664,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/timing_tests.cpp:666,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/cli/timing_tests.cpp:671,1
    - Dst: Botan::CT::conditional_assign_mem
      Src: /src/botan/src/cli/timing_tests.cpp:673,1
    - Dst: Botan::PK_Decryptor_EME::decrypt_or_random
      Src: /src/botan/src/cli/timing_tests.cpp:677,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/timing_tests.cpp:677,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/cli/timing_tests.cpp:679,1
    - Dst: size
      Src: /src/botan/src/cli/timing_tests.cpp:679,1
    - Dst: push_back
      Src: /src/botan/src/cli/timing_tests.cpp:680,1
    - Dst: Botan_CLI::MARVIN_Test_Command::report_results
      Src: /src/botan/src/cli/timing_tests.cpp:693,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 694
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 694
    functionName: Botan_CLI::MARVIN_Test_Command::go
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Botan::BigInt::is_equal
    - std::vector::push_back
    - auto::begin
    - ::setenv
    - Botan_CLI::MARVIN_Test_Command::slurp_file
    - Botan::ChaCha_RNG::ChaCha_RNG
    - output
    - get_arg
    - Botan::PKCS8::load_key
    - std::vector::empty
    - reserve
    - Botan_CLI::MARVIN_Test_Command::shuffle
    - BOTAN_ASSERT_NOMSG
    - Botan::get_files_recursive
    - std::vector::end
    - auto::end
    - std::vector::data
    - Botan::system_rng
    - size
    - push_back
    - auto::algo_name
    - Botan_CLI::MARVIN_Test_Command::report_results
    - Botan::CT::conditional_assign_mem
    - CLI_Error
    - Botan::PK_Decryptor_EME::decrypt_or_random
    - sigemptyset
    - Botan::split_on
    - std::vector::insert
    - CLI_Usage_Error
    - auto::size
    - Botan::fmt
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const std::string>::size
      Src: /src/botan/src/cli/timing_tests.cpp:702,1
    - Dst: std::span<const std::string>::size
      Src: /src/botan/src/cli/timing_tests.cpp:711,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - ' output'
    - names
    - measurements
    - runs_completed
    - output_nsec
    argTypes:
    - std::ostream
    - std::span<const std::string>
    - std::span<const std::vector<uint64_t>>
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 726
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 726
    functionName: Botan_CLI::MARVIN_Test_Command::report_results
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 1
    functionsReached:
    - std::span<const std::string>::size
    linkageType: ''
    returnType: void
    signature: "void report_results(std::ostream& output,\n                                 std::span<const
      std::string> names,\n                                 std::span<const std::vector<uint64_t>>
      measurements,\n                                 size_t runs_completed,\n                                 bool
      output_nsec)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: starts_with
      Src: /src/botan/src/cli/timing_tests.cpp:729,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/timing_tests.cpp:730,1
    - Dst: ends_with
      Src: /src/botan/src/cli/timing_tests.cpp:733,1
    - Dst: ends_with
      Src: /src/botan/src/cli/timing_tests.cpp:733,1
    - Dst: Botan_CLI::MARVIN_Test_Command::parse_runs_arg
      Src: /src/botan/src/cli/timing_tests.cpp:734,1
    - Dst: substr
      Src: /src/botan/src/cli/timing_tests.cpp:734,1
    - Dst: size
      Src: /src/botan/src/cli/timing_tests.cpp:734,1
    - Dst: ends_with
      Src: /src/botan/src/cli/timing_tests.cpp:735,1
    - Dst: ends_with
      Src: /src/botan/src/cli/timing_tests.cpp:735,1
    - Dst: Botan_CLI::MARVIN_Test_Command::parse_runs_arg
      Src: /src/botan/src/cli/timing_tests.cpp:736,1
    - Dst: substr
      Src: /src/botan/src/cli/timing_tests.cpp:736,1
    - Dst: size
      Src: /src/botan/src/cli/timing_tests.cpp:736,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/cli/timing_tests.cpp:739,1
    - Dst: std::stoul
      Src: /src/botan/src/cli/timing_tests.cpp:739,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/timing_tests.cpp:741,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - ' param'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 744
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 744
    functionName: Botan_CLI::MARVIN_Test_Command::parse_runs_arg
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 1
    functionsReached:
    - Botan_CLI::MARVIN_Test_Command::parse_runs_arg
    - ends_with
    - static_cast<size_t>
    - size
    - starts_with
    - CLI_Usage_Error
    - substr
    - std::stoul
    linkageType: ''
    returnType: size_t
    signature: size_t parse_runs_arg(const std::string& param)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: randomize
      Src: /src/botan/src/cli/timing_tests.cpp:751,1
    - Dst: std::swap
      Src: /src/botan/src/cli/timing_tests.cpp:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' vec'
    - ' rng'
    argTypes:
    - std::vector<T>
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 756
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 756
    functionName: Botan_CLI::MARVIN_Test_Command::shuffle
    functionSourceFile: /src/botan/src/cli/timing_tests.cpp
    functionUses: 1
    functionsReached:
    - randomize
    - std::swap
    linkageType: ''
    returnType: void
    signature: void shuffle(std::vector<T>& vec, Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_CLI::TSS_Split::TSS_Split
    functionSourceFile: /src/botan/src/cli/tss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSS_Split()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan_CLI::TSS_Split::group
    functionSourceFile: /src/botan/src/cli/tss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan_CLI::TSS_Split::description
    functionSourceFile: /src/botan/src/cli/tss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/tss.cpp:31,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tss.cpp:32,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tss.cpp:33,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tss.cpp:34,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tss.cpp:35,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/tss.cpp:40,1
    - Dst: Botan_CLI::TSS_Split::slurp_file_lvec
      Src: /src/botan/src/cli/tss.cpp:43,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/tss.cpp:45,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/tss.cpp:46,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/tss.cpp:49,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/tss.cpp:51,1
    - Dst: std::vector::resize
      Src: /src/botan/src/cli/tss.cpp:52,1
    - Dst: rng
      Src: /src/botan/src/cli/tss.cpp:53,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/tss.cpp:53,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/tss.cpp:53,1
    - Dst: Botan::RTSS_Share::split
      Src: /src/botan/src/cli/tss.cpp:56,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/cli/tss.cpp:56,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/cli/tss.cpp:57,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/cli/tss.cpp:58,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/cli/tss.cpp:59,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/tss.cpp:59,1
    - Dst: rng
      Src: /src/botan/src/cli/tss.cpp:62,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/tss.cpp:64,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/tss.cpp:65,1
    - Dst: std::string::c_str
      Src: /src/botan/src/cli/tss.cpp:66,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tss.cpp:68,1
    - Dst: std::ofstream::write
      Src: /src/botan/src/cli/tss.cpp:71,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/tss.cpp:71,1
    - Dst: data
      Src: /src/botan/src/cli/tss.cpp:71,1
    - Dst: data
      Src: /src/botan/src/cli/tss.cpp:71,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 73
    functionName: Botan_CLI::TSS_Split::go
    functionSourceFile: /src/botan/src/cli/tss.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - std::vector::size
    - std::string::c_str
    - get_arg
    - std::vector::empty
    - data
    - std::ofstream::write
    - Botan::secure_vector::size
    - static_cast<uint8_t>
    - Botan::hex_decode
    - std::vector::data
    - std::vector::resize
    - Botan::secure_vector::data
    - rng
    - Botan::RTSS_Share::split
    - reinterpret_cast<const char*>
    - Botan_CLI::TSS_Split::slurp_file_lvec
    - CLI_Error
    - CLI_Usage_Error
    - Botan::fmt
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/cli/tss.cpp:78,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/cli/tss.cpp:78,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/tss.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' input_file'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: Botan_CLI::TSS_Split::slurp_file_lvec
    functionSourceFile: /src/botan/src/cli/tss.cpp
    functionUses: 1
    functionsReached:
    - Botan_CLI::Command::read_file
    - Botan::secure_vector::end
    - Botan::secure_vector::insert
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> slurp_file_lvec(const std::string& input_file)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: Botan_CLI::TSS_Recover::TSS_Recover
    functionSourceFile: /src/botan/src/cli/tss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TSS_Recover()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Botan_CLI::TSS_Recover::group
    functionSourceFile: /src/botan/src/cli/tss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan_CLI::TSS_Recover::description
    functionSourceFile: /src/botan/src/cli/tss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg_list
      Src: /src/botan/src/cli/tss.cpp:95,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/tss.cpp:97,1
    - Dst: output
      Src: /src/botan/src/cli/tss.cpp:98,1
    - Dst: help_text
      Src: /src/botan/src/cli/tss.cpp:98,1
    - Dst: Botan_CLI::TSS_Recover::set_return_code
      Src: /src/botan/src/cli/tss.cpp:99,1
    - Dst: get_arg_list
      Src: /src/botan/src/cli/tss.cpp:105,1
    - Dst: slurp_file
      Src: /src/botan/src/cli/tss.cpp:106,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/tss.cpp:107,1
    - Dst: Botan::RTSS_Share::RTSS_Share
      Src: /src/botan/src/cli/tss.cpp:107,1
    - Dst: auto::data
      Src: /src/botan/src/cli/tss.cpp:107,1
    - Dst: auto::size
      Src: /src/botan/src/cli/tss.cpp:107,1
    - Dst: Botan::RTSS_Share::reconstruct
      Src: /src/botan/src/cli/tss.cpp:110,1
    - Dst: output
      Src: /src/botan/src/cli/tss.cpp:112,1
    - Dst: Botan::cast_uint8_ptr_to_char
      Src: /src/botan/src/cli/tss.cpp:112,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/cli/tss.cpp:112,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/tss.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 113
    functionName: Botan_CLI::TSS_Recover::go
    functionSourceFile: /src/botan/src/cli/tss.cpp
    functionUses: 0
    functionsReached:
    - output
    - slurp_file
    - std::vector::empty
    - Botan::RTSS_Share::RTSS_Share
    - Botan::RTSS_Share::reconstruct
    - Botan::secure_vector::data
    - std::vector::push_back
    - Botan_CLI::TSS_Recover::set_return_code
    - help_text
    - auto::data
    - Botan::cast_uint8_ptr_to_char
    - auto::size
    - get_arg_list
    - Botan::secure_vector::size
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/cli/timer.cpp:22,1
    - Dst: std::string
      Src: /src/botan/src/cli/timer.cpp:23,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/timer.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - name
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: Botan_CLI::format_timer_name
    functionSourceFile: /src/botan/src/cli/timer.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::empty
    - std::string
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string format_timer_name(std::string_view name, std::string_view
      provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: format_timer_name
      Src: /src/botan/src/cli/timer.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - name
    - provider
    - doing
    - event_mult
    - buf_size
    - clock_cycle_ratio
    - clock_speed
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    - uint64_t
    - size_t
    - double
    - uint64_t
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: Botan_CLI::Timer::Timer
    functionSourceFile: /src/botan/src/cli/timer.cpp
    functionUses: 0
    functionsReached:
    - format_timer_name
    linkageType: ''
    returnType: void
    signature: "void Timer::Timer(std::string_view name,\n             std::string_view
      provider,\n             std::string_view doing,\n             uint64_t event_mult,\n
      \            size_t buf_size,\n             double clock_cycle_ratio,\n             uint64_t
      clock_speed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::stop
      Src: /src/botan/src/cli/timer.cpp:48,1
    - Dst: Botan_CLI::Timer::timestamp_ns
      Src: /src/botan/src/cli/timer.cpp:49,1
    - Dst: Botan_CLI::Timer::cycle_counter
      Src: /src/botan/src/cli/timer.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: Botan_CLI::Timer::start
    functionSourceFile: /src/botan/src/cli/timer.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::timestamp_ns
    - Botan_CLI::Timer::stop
    - Botan_CLI::Timer::cycle_counter
    linkageType: ''
    returnType: void
    signature: void Timer::start()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/cli/timer.cpp:54,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/botan/src/cli/timer.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: Botan_CLI::Timer::timestamp_ns
    functionSourceFile: /src/botan/src/cli/timer.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Timer::timestamp_ns()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OS::get_cpu_cycle_counter
      Src: /src/botan/src/cli/timer.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: Botan_CLI::Timer::cycle_counter
    functionSourceFile: /src/botan/src/cli/timer.cpp
    functionUses: 1
    functionsReached:
    - Botan::OS::get_cpu_cycle_counter
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Timer::cycle_counter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/botan/src/cli/timer.cpp:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: Botan_CLI::Timer::stop
    functionSourceFile: /src/botan/src/cli/timer.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void Timer::stop()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Timer::doing
      Src: /src/botan/src/cli/timer.cpp:87,1
    - Dst: doing
      Src: /src/botan/src/cli/timer.cpp:87,1
    - Dst: Timer::doing
      Src: /src/botan/src/cli/timer.cpp:88,1
    - Dst: doing
      Src: /src/botan/src/cli/timer.cpp:88,1
    - Dst: Timer::get_name
      Src: /src/botan/src/cli/timer.cpp:91,1
    - Dst: get_name
      Src: /src/botan/src/cli/timer.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Timer
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: Timer::operator<(const Timer& other) const
    functionSourceFile: /src/botan/src/cli/timer.cpp
    functionUses: 0
    functionsReached:
    - Timer::doing
    - doing
    - Timer::get_name
    - get_name
    linkageType: ''
    returnType: bool
    signature: bool Timer::operator<(const Timer& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_pk_misc.cpp:29,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_pk_misc.cpp:30,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_misc.cpp:44,1
    - Dst: auto::public_key
      Src: /src/botan/src/cli/perf_pk_misc.cpp:50,1
    - Dst: empty
      Src: /src/botan/src/cli/perf_pk_misc.cpp:52,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/perf_pk_misc.cpp:52,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_misc.cpp:54,1
    - Dst: auto::subject_public_key
      Src: /src/botan/src/cli/perf_pk_misc.cpp:55,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_pk_misc.cpp:56,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/cli/perf_pk_misc.cpp:56,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_misc.cpp:57,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_misc.cpp:59,1
    - Dst: auto::private_key_info
      Src: /src/botan/src/cli/perf_pk_misc.cpp:60,1
    - Dst: auto::run_until_elapsed
      Src: /src/botan/src/cli/perf_pk_misc.cpp:61,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/cli/perf_pk_misc.cpp:61,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_misc.cpp:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 64
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 64
    functionName: Botan_CLI::PerfTest_PKKeyParsing::go
    functionSourceFile: /src/botan/src/cli/perf_pk_misc.cpp
    functionUses: 0
    functionsReached:
    - auto::public_key
    - make_timer
    - Botan::create_private_key
    - Botan::PKCS8::load_key
    - Botan::X509::load_key
    - runtime
    - record_result
    - empty
    - auto::private_key_info
    - rng
    - auto::run_until_elapsed
    - Botan::fmt
    - auto::subject_public_key
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_pk_misc.cpp:76,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_pk_misc.cpp:77,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/perf_pk_misc.cpp:80,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_misc.cpp:81,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_misc.cpp:83,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_misc.cpp:85,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_misc.cpp:85,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_pk_misc.cpp:85,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_pk_misc.cpp:87,1
    - Dst: auto::check_key
      Src: /src/botan/src/cli/perf_pk_misc.cpp:87,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_misc.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: Botan_CLI::PerfTest_RSAKeyGen::go
    functionSourceFile: /src/botan/src/cli/perf_pk_misc.cpp
    functionUses: 0
    functionsReached:
    - make_timer
    - Botan::create_private_key
    - std::to_string
    - runtime
    - record_result
    - auto::check_key
    - auto::run
    - auto::under
    - rng
    - BOTAN_ASSERT
    - Botan::fmt
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_pk_misc.cpp:104,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_pk_misc.cpp:105,1
    - Dst: ecc_groups
      Src: /src/botan/src/cli/perf_pk_misc.cpp:107,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/cli/perf_pk_misc.cpp:108,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_misc.cpp:109,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_misc.cpp:111,1
    - Dst: auto::get_order_bits
      Src: /src/botan/src/cli/perf_pk_misc.cpp:114,1
    - Dst: randomize
      Src: /src/botan/src/cli/perf_pk_misc.cpp:115,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_pk_misc.cpp:115,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_pk_misc.cpp:115,1
    - Dst: Botan::PK_Signer::update
      Src: /src/botan/src/cli/perf_pk_misc.cpp:118,1
    - Dst: Botan::PK_Signer::signature
      Src: /src/botan/src/cli/perf_pk_misc.cpp:119,1
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/cli/perf_pk_misc.cpp:122,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_pk_misc.cpp:123,1
    - Dst: Botan::PK_Verifier::check_signature
      Src: /src/botan/src/cli/perf_pk_misc.cpp:123,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_pk_misc.cpp:125,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_pk_misc.cpp:125,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/perf_pk_misc.cpp:126,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_pk_misc.cpp:126,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/perf_pk_misc.cpp:126,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_misc.cpp:130,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_pk_misc.cpp:132,1
    - Dst: Botan::ECDSA_PublicKey::public_key_bits
      Src: /src/botan/src/cli/perf_pk_misc.cpp:132,1
    - Dst: Botan::ECDSA_PrivateKey::public_key_bits
      Src: /src/botan/src/cli/perf_pk_misc.cpp:132,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_misc.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 139
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 139
    functionName: Botan_CLI::PerfTest_ECDSAKeyRec::go
    functionSourceFile: /src/botan/src/cli/perf_pk_misc.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - BOTAN_ASSERT
    - make_timer
    - Botan::ECDSA_PublicKey::public_key_bits
    - Botan::PK_Signer::signature
    - Botan::ECDSA_PrivateKey::public_key_bits
    - randomize
    - auto::run
    - std::vector::data
    - rng
    - auto::under
    - Botan::PK_Verifier::check_signature
    - Botan::PK_Verifier::update
    - auto::get_order_bits
    - ecc_groups
    - Botan::PK_Signer::update
    - runtime
    - record_result
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' cmd_spec'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: Botan_CLI::Command::Command
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Command::Command(const std::string& cmd_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Command::~Command()
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Command::~Command()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: substr
      Src: /src/botan/src/cli/cli.cpp:44,1
    - Dst: find
      Src: /src/botan/src/cli/cli.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan_CLI::Command::cmd_name
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - substr
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string Command::cmd_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan_CLI::Command::help_text
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Command::help_text() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Argument_Parser::split_on
      Src: /src/botan/src/cli/cli.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - delim
    argTypes:
    - std::string
    - char
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan_CLI::Command::split_on
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 3
    functionsReached:
    - Botan_CLI::Argument_Parser::split_on
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Command::split_on(const std::string& str,
      char delim)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Argument_Parser>
      Src: /src/botan/src/cli/cli.cpp:61,1
    - Dst: parse_args
      Src: /src/botan/src/cli/cli.cpp:63,1
    - Dst: has_arg
      Src: /src/botan/src/cli/cli.cpp:65,1
    - Dst: Botan_CLI::Command::get_arg
      Src: /src/botan/src/cli/cli.cpp:66,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/cli.cpp:68,1
    - Dst: std::make_unique<std::ofstream>
      Src: /src/botan/src/cli/cli.cpp:69,1
    - Dst: good
      Src: /src/botan/src/cli/cli.cpp:70,1
    - Dst: CLI_IO_Error
      Src: /src/botan/src/cli/cli.cpp:71,1
    - Dst: has_arg
      Src: /src/botan/src/cli/cli.cpp:76,1
    - Dst: Botan_CLI::Command::get_arg
      Src: /src/botan/src/cli/cli.cpp:77,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/cli.cpp:79,1
    - Dst: std::make_unique<std::ofstream>
      Src: /src/botan/src/cli/cli.cpp:80,1
    - Dst: good
      Src: /src/botan/src/cli/cli.cpp:81,1
    - Dst: CLI_IO_Error
      Src: /src/botan/src/cli/cli.cpp:82,1
    - Dst: Botan_CLI::Command::flag_set
      Src: /src/botan/src/cli/cli.cpp:87,1
    - Dst: output
      Src: /src/botan/src/cli/cli.cpp:88,1
    - Dst: Botan_CLI::Command::help_text
      Src: /src/botan/src/cli/cli.cpp:88,1
    - Dst: Botan_CLI::Command::go
      Src: /src/botan/src/cli/cli.cpp:92,1
    - Dst: error_output
      Src: /src/botan/src/cli/cli.cpp:95,1
    - Dst: what
      Src: /src/botan/src/cli/cli.cpp:95,1
    - Dst: error_output
      Src: /src/botan/src/cli/cli.cpp:96,1
    - Dst: Botan_CLI::Command::help_text
      Src: /src/botan/src/cli/cli.cpp:96,1
    - Dst: error_output
      Src: /src/botan/src/cli/cli.cpp:99,1
    - Dst: what
      Src: /src/botan/src/cli/cli.cpp:99,1
    - Dst: error_output
      Src: /src/botan/src/cli/cli.cpp:102,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 105
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 105
    functionName: Botan_CLI::Command::run
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - error_output
    - parse_args
    - output
    - Botan_CLI::Command::flag_set
    - Botan_CLI::Command::go
    - Botan_CLI::Command::help_text
    - what
    - has_arg
    - CLI_IO_Error
    - Botan_CLI::Command::get_arg
    - std::string::empty
    - std::make_unique<std::ofstream>
    - std::make_unique<Argument_Parser>
    - good
    linkageType: ''
    returnType: int
    signature: int Command::run(const std::vector<std::string>& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::flag_set
      Src: /src/botan/src/cli/cli.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' flag_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: Botan_CLI::Command::flag_set
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 3
    functionsReached:
    - Botan_CLI::Command::flag_set
    linkageType: ''
    returnType: bool
    signature: bool Command::flag_set(const std::string& flag_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::get_arg
      Src: /src/botan/src/cli/cli.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' opt_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: Botan_CLI::Command::get_arg
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 2
    functionsReached:
    - Botan_CLI::Command::get_arg
    linkageType: ''
    returnType: std::string
    signature: std::string Command::get_arg(const std::string& opt_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::get_arg_or
      Src: /src/botan/src/cli/cli.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' opt_name'
    - ' otherwise'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Botan_CLI::Command::get_arg_or
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 1
    functionsReached:
    - Botan_CLI::Command::get_arg_or
    linkageType: ''
    returnType: std::string
    signature: std::string Command::get_arg_or(const std::string& opt_name, const
      std::string& otherwise) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::get_arg
      Src: /src/botan/src/cli/cli.cpp:123,1
    - Dst: auto::empty
      Src: /src/botan/src/cli/cli.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' opt_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: Botan_CLI::Command::get_arg_maybe
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Command::get_arg
    - auto::empty
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> Command::get_arg_maybe(const std::string&
      opt_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::get_arg_sz
      Src: /src/botan/src/cli/cli.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' opt_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: Botan_CLI::Command::get_arg_sz
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 1
    functionsReached:
    - Botan_CLI::Command::get_arg_sz
    linkageType: ''
    returnType: size_t
    signature: size_t Command::get_arg_sz(const std::string& opt_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/cli/cli.cpp:137,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/cli.cpp:138,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/cli/cli.cpp:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' opt_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: Botan_CLI::Command::get_arg_u16
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - CLI_Usage_Error
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Command::get_arg_u16(const std::string& opt_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/cli/cli.cpp:145,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/cli.cpp:146,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/cli/cli.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' opt_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: Botan_CLI::Command::get_arg_u32
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - CLI_Usage_Error
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Command::get_arg_u32(const std::string& opt_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::get_arg_list
      Src: /src/botan/src/cli/cli.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: Botan_CLI::Command::get_arg_list
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 1
    functionsReached:
    - Botan_CLI::Command::get_arg_list
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Command::get_arg_list(const std::string& what)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: '& Command::output()'
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Command::output()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _setmode
      Src: /src/botan/src/cli/cli.cpp:167,1
    - Dst: _fileno
      Src: /src/botan/src/cli/cli.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: '& Command::output_binary()'
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - _setmode
    - _fileno
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Command::output_binary()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: '& Command::error_output()'
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Command::error_output()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::insert
      Src: /src/botan/src/cli/cli.cpp:181,1
    - Dst: std::vector::end
      Src: /src/botan/src/cli/cli.cpp:181,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/cli.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' input_file'
    - buf_size
    argTypes:
    - std::string
    - size_t
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: Botan_CLI::Command::slurp_file
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Command::read_file
    - std::vector::insert
    - std::vector::end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Command::slurp_file(const std::string& input_file,
      size_t buf_size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/botan/src/cli/cli.cpp:188,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/cli.cpp:188,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/cli.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' input_file'
    - buf_size
    argTypes:
    - std::string
    - size_t
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: Botan_CLI::Command::slurp_file_as_str
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Command::read_file
    - std::string::append
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string Command::slurp_file_as_str(const std::string& input_file,
      size_t buf_size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _setmode
      Src: /src/botan/src/cli/cli.cpp:198,1
    - Dst: _fileno
      Src: /src/botan/src/cli/cli.cpp:198,1
    - Dst: Botan_CLI::Command::do_read_file
      Src: /src/botan/src/cli/cli.cpp:200,1
    - Dst: CLI_IO_Error
      Src: /src/botan/src/cli/cli.cpp:204,1
    - Dst: Botan_CLI::Command::do_read_file
      Src: /src/botan/src/cli/cli.cpp:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' input_file'
    - ' consumer_fn'
    - buf_size
    argTypes:
    - std::string
    - std::function<void(uint8_t[], size_t)>
    - size_t
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: Botan_CLI::Command::read_file
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 5
    functionsReached:
    - _setmode
    - CLI_IO_Error
    - _fileno
    - Botan_CLI::Command::do_read_file
    linkageType: ''
    returnType: void
    signature: "void Command::read_file(const std::string& input_file,\n                        const
      std::function<void(uint8_t[], size_t)>& consumer_fn,\n                        size_t
      buf_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: good
      Src: /src/botan/src/cli/cli.cpp:217,1
    - Dst: read
      Src: /src/botan/src/cli/cli.cpp:218,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/cli/cli.cpp:218,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/cli.cpp:218,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/cli.cpp:218,1
    - Dst: consumer_fn
      Src: /src/botan/src/cli/cli.cpp:220,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/cli.cpp:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' in'
    - ' consumer_fn'
    - buf_size
    argTypes:
    - std::istream
    - std::function<void(uint8_t[], size_t)>
    - size_t
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: Botan_CLI::Command::do_read_file
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 1
    functionsReached:
    - good
    - std::vector::size
    - read
    - consumer_fn
    - reinterpret_cast<char*>
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: "void Command::do_read_file(std::istream& in,\n                           const
      std::function<void(uint8_t[], size_t)>& consumer_fn,\n                           size_t
      buf_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng_as_shared
      Src: /src/botan/src/cli/cli.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: '& Command::rng()'
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - rng_as_shared
    linkageType: ''
    returnType: Botan::RandomNumberGenerator
    signature: Botan::RandomNumberGenerator & Command::rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_make_rng
      Src: /src/botan/src/cli/cli.cpp:230,1
    - Dst: Botan_CLI::Command::get_arg
      Src: /src/botan/src/cli/cli.cpp:230,1
    - Dst: Botan_CLI::Command::get_arg
      Src: /src/botan/src/cli/cli.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: Botan_CLI::Command::rng_as_shared
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Command::get_arg
    - cli_make_rng
    linkageType: ''
    returnType: std::shared_ptr<Botan::RandomNumberGenerator>
    signature: std::shared_ptr<Botan::RandomNumberGenerator> Command::rng_as_shared()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::get_arg
      Src: /src/botan/src/cli/cli.cpp:237,1
    - Dst: Botan_CLI::Command::get_passphrase
      Src: /src/botan/src/cli/cli.cpp:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' prompt'
    - ' opt_name'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: Botan_CLI::Command::get_passphrase_arg
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Command::get_arg
    - Botan_CLI::Command::get_passphrase
    linkageType: ''
    returnType: std::string
    signature: std::string Command::get_passphrase_arg(const std::string& prompt,
      const std::string& opt_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OS::suppress_echo_on_terminal
      Src: /src/botan/src/cli/cli.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: Botan_CLI::echo_suppression_supported
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - Botan::OS::suppress_echo_on_terminal
    linkageType: ''
    returnType: bool
    signature: bool echo_suppression_supported()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: echo_suppression_supported
      Src: /src/botan/src/cli/cli.cpp:258,1
    - Dst: error_output
      Src: /src/botan/src/cli/cli.cpp:259,1
    - Dst: error_output
      Src: /src/botan/src/cli/cli.cpp:262,1
    - Dst: Botan::OS::suppress_echo_on_terminal
      Src: /src/botan/src/cli/cli.cpp:266,1
    - Dst: std::getline
      Src: /src/botan/src/cli/cli.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' prompt'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 272
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 272
    functionName: Botan_CLI::Command::get_passphrase
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 1
    functionsReached:
    - error_output
    - std::getline
    - echo_suppression_supported
    - Botan::OS::suppress_echo_on_terminal
    linkageType: ''
    returnType: std::string
    signature: std::string Command::get_passphrase(const std::string& prompt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/cli.cpp:278,1
    - Dst: Botan::base64_encode
      Src: /src/botan/src/cli/cli.cpp:284,1
    - Dst: Botan::base58_encode
      Src: /src/botan/src/cli/cli.cpp:290,1
    - Dst: Botan::base58_check_encode
      Src: /src/botan/src/cli/cli.cpp:293,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/cli.cpp:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' format'
    - bits
    - len
    argTypes:
    - std::string
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 299
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 299
    functionName: Botan_CLI::Command::format_blob
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 1
    functionsReached:
    - Botan::hex_encode
    - Botan::base58_encode
    - Botan::base64_encode
    - CLI_Usage_Error
    - Botan::base58_check_encode
    linkageType: ''
    returnType: std::string
    signature: std::string Command::format_blob(const std::string& format, const uint8_t
      bits[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::global_registry
      Src: /src/botan/src/cli/cli.cpp:304,1
    - Dst: contains
      Src: /src/botan/src/cli/cli.cpp:306,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/cli.cpp:307,1
    - Dst: insert
      Src: /src/botan/src/cli/cli.cpp:310,1
    - Dst: std::make_pair
      Src: /src/botan/src/cli/cli.cpp:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' name'
    - ' maker_fn'
    argTypes:
    - std::string
    - Command::cmd_maker_fn
    constantsTouched: []
    func_position:
      end: 311
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 311
    functionName: Command::Registration::Registration(const std::string& name, const
      Command::cmd_maker_fn& maker_fn)
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached:
    - CLI_Error
    - contains
    - Command::global_registry
    - std::make_pair
    - insert
    linkageType: ''
    returnType: void
    signature: void Command::Registration::Registration(const std::string& name, const
      Command::cmd_maker_fn& maker_fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: '& Command::global_registry()'
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<std::string, Command::cmd_maker_fn>
    signature: std::map<std::string, Command::cmd_maker_fn> & Command::global_registry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::global_registry
      Src: /src/botan/src/cli/cli.cpp:322,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/cli.cpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: Botan_CLI::Command::registered_cmds
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 2
    functionsReached:
    - std::vector::push_back
    - Command::global_registry
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Command::registered_cmds()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::global_registry
      Src: /src/botan/src/cli/cli.cpp:330,1
    - Dst: find
      Src: /src/botan/src/cli/cli.cpp:332,1
    - Dst: end
      Src: /src/botan/src/cli/cli.cpp:333,1
    - Dst: auto::second
      Src: /src/botan/src/cli/cli.cpp:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 338
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 338
    functionName: Botan_CLI::Command::get_cmd
    functionSourceFile: /src/botan/src/cli/cli.cpp
    functionUses: 1
    functionsReached:
    - end
    - Command::global_registry
    - auto::second
    - find
    linkageType: ''
    returnType: std::unique_ptr<Command>
    signature: std::unique_ptr<Command> Command::get_cmd(const std::string& name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_CLI::PerfTest_PK_KEM::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::PerfTest_PK_KEM::algo
      Src: /src/botan/src/cli/perf_pk_kem.cpp:25,1
    - Dst: Botan_CLI::PerfTest_PK_KEM::keygen_params
      Src: /src/botan/src/cli/perf_pk_kem.cpp:27,1
    - Dst: Botan_CLI::PerfTest_PK_KEM::format_name
      Src: /src/botan/src/cli/perf_pk_kem.cpp:30,1
    - Dst: Botan_CLI::PerfTest_PK_KEM::bench_pk_kem
      Src: /src/botan/src/cli/perf_pk_kem.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: Botan_CLI::PerfTest_PK_KEM::go
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::PerfTest_PK_KEM::bench_pk_kem
    - Botan_CLI::PerfTest_PK_KEM::algo
    - Botan_CLI::PerfTest_PK_KEM::format_name
    - Botan_CLI::PerfTest_PK_KEM::keygen_params
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_pk_kem.cpp:40,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_pk_kem.cpp:41,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_kem.cpp:45,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_kem.cpp:47,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_kem.cpp:47,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_kem.cpp:50,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_kem.cpp:51,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_kem.cpp:51,1
    - Dst: auto::public_key
      Src: /src/botan/src/cli/perf_pk_kem.cpp:54,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_kem.cpp:59,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_kem.cpp:60,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_kem.cpp:62,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_kem.cpp:62,1
    - Dst: random_vec
      Src: /src/botan/src/cli/perf_pk_kem.cpp:63,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_pk_kem.cpp:65,1
    - Dst: Botan::PK_KEM_Encryptor::encrypt
      Src: /src/botan/src/cli/perf_pk_kem.cpp:66,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_pk_kem.cpp:67,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_pk_kem.cpp:69,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/cli/perf_pk_kem.cpp:71,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/cli/perf_pk_kem.cpp:71,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_pk_kem.cpp:72,1
    - Dst: auto::shared_key
      Src: /src/botan/src/cli/perf_pk_kem.cpp:74,1
    - Dst: error_output
      Src: /src/botan/src/cli/perf_pk_kem.cpp:75,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_kem.cpp:78,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_kem.cpp:79,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_kem.cpp:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - ' config'
    - ' nm'
    - ' algo'
    - ' params'
    argTypes:
    - PerfConfig
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 82
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 82
    functionName: Botan_CLI::PerfTest_PK_KEM::bench_pk_kem
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 1
    functionsReached:
    - auto::public_key
    - auto::start
    - auto::encapsulated_shared_key
    - error_output
    - make_timer
    - Botan::create_private_key
    - Botan::PK_KEM_Decryptor::decrypt
    - random_vec
    - runtime
    - record_result
    - auto::stop
    - rng
    - auto::under
    - auto::run
    - auto::shared_key
    - Botan::PK_KEM_Encryptor::encrypt
    linkageType: ''
    returnType: void
    signature: "void bench_pk_kem(const PerfConfig& config,\n                        const
      std::string& nm,\n                        const std::string& algo,\n                        const
      std::string& params,\n                        const std::string& provider =
      \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan_CLI::PerfTest_Kyber::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: Botan_CLI::PerfTest_Kyber::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: Botan_CLI::PerfTest_ML_KEM::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: Botan_CLI::PerfTest_ML_KEM::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: Botan_CLI::PerfTest_FrodoKEM::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: Botan_CLI::PerfTest_FrodoKEM::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: Botan_CLI::PerfTest_Classic_McEliece::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 181
    functionName: Botan_CLI::PerfTest_Classic_McEliece::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_kem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::runtime_version_check
      Src: /src/botan/src/cli/main.cpp:13,1
    - Dst: std::min
      Src: /src/botan/src/cli/main.cpp:34,1
    - Dst: std::unique_ptr::run
      Src: /src/botan/src/cli/main.cpp:35,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 36
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/botan/src/cli/main.cpp
    functionUses: 19
    functionsReached:
    - Botan::runtime_version_check
    - std::min
    - std::unique_ptr::run
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/cli/argparse.h:56,1
    - Dst: begin
      Src: /src/botan/src/cli/argparse.h:61,1
    - Dst: end
      Src: /src/botan/src/cli/argparse.h:61,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/argparse.h:63,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/argparse.h:64,1
    - Dst: std::string::clear
      Src: /src/botan/src/cli/argparse.h:66,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/argparse.h:72,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/argparse.h:73,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/argparse.h:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' str'
    - delim
    argTypes:
    - std::string
    - char
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: Botan_CLI::Argument_Parser::split_on
    functionSourceFile: /src/botan/src/cli/argparse.h
    functionUses: 1
    functionsReached:
    - CLI_Error
    - begin
    - empty
    - end
    - std::vector::push_back
    - std::string::empty
    - std::string::clear
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Argument_Parser::split_on(const std::string&
      str, char delim)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/cli/argparse.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' flag_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan_CLI::Argument_Parser::flag_set
    functionSourceFile: /src/botan/src/cli/argparse.h
    functionUses: 1
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool Argument_Parser::flag_set(const std::string& flag_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/cli/argparse.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' opt_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: Botan_CLI::Argument_Parser::has_arg
    functionSourceFile: /src/botan/src/cli/argparse.h
    functionUses: 0
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool Argument_Parser::has_arg(const std::string& opt_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/cli/argparse.h:89,1
    - Dst: end
      Src: /src/botan/src/cli/argparse.h:90,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/argparse.h:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' opt_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: Botan_CLI::Argument_Parser::get_arg
    functionSourceFile: /src/botan/src/cli/argparse.h
    functionUses: 1
    functionsReached:
    - end
    - CLI_Error
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string Argument_Parser::get_arg(const std::string& opt_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/cli/argparse.h:98,1
    - Dst: end
      Src: /src/botan/src/cli/argparse.h:99,1
    - Dst: auto::second::empty
      Src: /src/botan/src/cli/argparse.h:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' opt_name'
    - ' otherwise'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: Botan_CLI::Argument_Parser::get_arg_or
    functionSourceFile: /src/botan/src/cli/argparse.h
    functionUses: 1
    functionsReached:
    - end
    - auto::second::empty
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string Argument_Parser::get_arg_or(const std::string& opt_name,
      const std::string& otherwise) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Argument_Parser::get_arg
      Src: /src/botan/src/cli/argparse.h:106,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/cli/argparse.h:109,1
    - Dst: std::stoul
      Src: /src/botan/src/cli/argparse.h:109,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/argparse.h:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' opt_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: Botan_CLI::Argument_Parser::get_arg_sz
    functionSourceFile: /src/botan/src/cli/argparse.h
    functionUses: 1
    functionsReached:
    - Botan_CLI::Argument_Parser::get_arg
    - CLI_Usage_Error
    - static_cast<size_t>
    - std::stoul
    linkageType: ''
    returnType: size_t
    signature: size_t Argument_Parser::get_arg_sz(const std::string& opt_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Argument_Parser::get_arg_or
      Src: /src/botan/src/cli/argparse.h:116,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/cli/argparse.h:119,1
    - Dst: std::stoul
      Src: /src/botan/src/cli/argparse.h:119,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/argparse.h:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' opt_name'
    - ' otherwise'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: Botan_CLI::Argument_Parser::get_arg_hex_sz_or
    functionSourceFile: /src/botan/src/cli/argparse.h
    functionUses: 1
    functionsReached:
    - Botan_CLI::Argument_Parser::get_arg_or
    - CLI_Usage_Error
    - static_cast<size_t>
    - std::stoul
    linkageType: ''
    returnType: size_t
    signature: size_t Argument_Parser::get_arg_hex_sz_or(const std::string& opt_name,
      const std::string& otherwise) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Argument_Parser::split_on
      Src: /src/botan/src/cli/argparse.h:130,1
    - Dst: Botan_CLI::Argument_Parser::get_arg
      Src: /src/botan/src/cli/argparse.h:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' what'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: Botan_CLI::Argument_Parser::get_arg_list
    functionSourceFile: /src/botan/src/cli/argparse.h
    functionUses: 1
    functionsReached:
    - Botan_CLI::Argument_Parser::get_arg
    - Botan_CLI::Argument_Parser::split_on
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Argument_Parser::get_arg_list(const std::string&
      what) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/cli/argparse.h:136,1
    - Dst: find
      Src: /src/botan/src/cli/argparse.h:138,1
    - Dst: substr
      Src: /src/botan/src/cli/argparse.h:141,1
    - Dst: contains
      Src: /src/botan/src/cli/argparse.h:143,1
    - Dst: contains
      Src: /src/botan/src/cli/argparse.h:144,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/argparse.h:145,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/argparse.h:147,1
    - Dst: insert
      Src: /src/botan/src/cli/argparse.h:150,1
    - Dst: substr
      Src: /src/botan/src/cli/argparse.h:152,1
    - Dst: substr
      Src: /src/botan/src/cli/argparse.h:153,1
    - Dst: contains
      Src: /src/botan/src/cli/argparse.h:155,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/argparse.h:156,1
    - Dst: contains
      Src: /src/botan/src/cli/argparse.h:159,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/argparse.h:160,1
    - Dst: insert
      Src: /src/botan/src/cli/argparse.h:163,1
    - Dst: std::make_pair
      Src: /src/botan/src/cli/argparse.h:163,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/argparse.h:167,1
    - Dst: Botan_CLI::Argument_Parser::flag_set
      Src: /src/botan/src/cli/argparse.h:171,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/argparse.h:175,1
    - Dst: size
      Src: /src/botan/src/cli/argparse.h:175,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/argparse.h:177,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/argparse.h:177,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/argparse.h:177,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/argparse.h:178,1
    - Dst: size
      Src: /src/botan/src/cli/argparse.h:178,1
    - Dst: insert
      Src: /src/botan/src/cli/argparse.h:184,1
    - Dst: std::make_pair
      Src: /src/botan/src/cli/argparse.h:184,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/argparse.h:188,1
    - Dst: empty
      Src: /src/botan/src/cli/argparse.h:196,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/argparse.h:197,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/argparse.h:198,1
    - Dst: assign
      Src: /src/botan/src/cli/argparse.h:201,1
    - Dst: std::vector::begin
      Src: /src/botan/src/cli/argparse.h:201,1
    - Dst: std::vector::end
      Src: /src/botan/src/cli/argparse.h:201,1
    - Dst: contains
      Src: /src/botan/src/cli/argparse.h:206,1
    - Dst: insert
      Src: /src/botan/src/cli/argparse.h:207,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 210
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 210
    functionName: Botan_CLI::Argument_Parser::parse_args
    functionSourceFile: /src/botan/src/cli/argparse.h
    functionUses: 1
    functionsReached:
    - std::make_pair
    - contains
    - std::vector::size
    - assign
    - std::vector::begin
    - Botan_CLI::Argument_Parser::flag_set
    - std::to_string
    - size
    - empty
    - std::vector::push_back
    - std::vector::end
    - find
    - CLI_Usage_Error
    - substr
    - insert
    linkageType: ''
    returnType: void
    signature: void Argument_Parser::parse_args(const std::vector<std::string>& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Argument_Parser::split_on
      Src: /src/botan/src/cli/argparse.h:221,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/argparse.h:223,1
    - Dst: CLI_Error_Invalid_Spec
      Src: /src/botan/src/cli/argparse.h:224,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/argparse.h:227,1
    - Dst: empty
      Src: /src/botan/src/cli/argparse.h:230,1
    - Dst: CLI_Error_Invalid_Spec
      Src: /src/botan/src/cli/argparse.h:232,1
    - Dst: size
      Src: /src/botan/src/cli/argparse.h:235,1
    - Dst: find
      Src: /src/botan/src/cli/argparse.h:238,1
    - Dst: insert
      Src: /src/botan/src/cli/argparse.h:241,1
    - Dst: substr
      Src: /src/botan/src/cli/argparse.h:241,1
    - Dst: insert
      Src: /src/botan/src/cli/argparse.h:243,1
    - Dst: std::make_pair
      Src: /src/botan/src/cli/argparse.h:243,1
    - Dst: substr
      Src: /src/botan/src/cli/argparse.h:243,1
    - Dst: substr
      Src: /src/botan/src/cli/argparse.h:243,1
    - Dst: empty
      Src: /src/botan/src/cli/argparse.h:247,1
    - Dst: size
      Src: /src/botan/src/cli/argparse.h:247,1
    - Dst: substr
      Src: /src/botan/src/cli/argparse.h:248,1
    - Dst: CLI_Error_Invalid_Spec
      Src: /src/botan/src/cli/argparse.h:250,1
    - Dst: empty
      Src: /src/botan/src/cli/argparse.h:254,1
    - Dst: CLI_Error_Invalid_Spec
      Src: /src/botan/src/cli/argparse.h:256,1
    - Dst: push_back
      Src: /src/botan/src/cli/argparse.h:259,1
    - Dst: insert
      Src: /src/botan/src/cli/argparse.h:264,1
    - Dst: insert
      Src: /src/botan/src/cli/argparse.h:267,1
    - Dst: std::make_pair
      Src: /src/botan/src/cli/argparse.h:267,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 3
    argNames:
    - ' spec'
    - ' extra_flags'
    - ' extra_opts'
    argTypes:
    - std::string
    - std::vector<std::string>
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 269
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 269
    functionName: Botan_CLI::Argument_Parser::Argument_Parser
    functionSourceFile: /src/botan/src/cli/argparse.h
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::make_pair
    - std::vector::empty
    - CLI_Error_Invalid_Spec
    - size
    - empty
    - push_back
    - find
    - substr
    - insert
    - Botan_CLI::Argument_Parser::split_on
    linkageType: ''
    returnType: void
    signature: "void Argument_Parser::Argument_Parser(const std::string& spec,\n                                 const
      std::vector<std::string>& extra_flags,\n                                 const
      std::vector<std::string>& extra_opts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_CLI::PerfTest_PKSig::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_CLI::PerfTest_PKSig::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::PerfTest_PKSig::algo
      Src: /src/botan/src/cli/perf_pk_sig.cpp:27,1
    - Dst: Botan_CLI::PerfTest_PKSig::hash
      Src: /src/botan/src/cli/perf_pk_sig.cpp:28,1
    - Dst: Botan_CLI::PerfTest_PKSig::keygen_params
      Src: /src/botan/src/cli/perf_pk_sig.cpp:30,1
    - Dst: Botan_CLI::PerfTest_PKSig::format_name
      Src: /src/botan/src/cli/perf_pk_sig.cpp:33,1
    - Dst: Botan_CLI::PerfTest_PKSig::bench_pk_sig
      Src: /src/botan/src/cli/perf_pk_sig.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: Botan_CLI::PerfTest_PKSig::go
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::PerfTest_PKSig::hash
    - Botan_CLI::PerfTest_PKSig::keygen_params
    - Botan_CLI::PerfTest_PKSig::format_name
    - Botan_CLI::PerfTest_PKSig::bench_pk_sig
    - Botan_CLI::PerfTest_PKSig::algo
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rng
      Src: /src/botan/src/cli/perf_pk_sig.cpp:44,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_pk_sig.cpp:45,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_sig.cpp:47,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_sig.cpp:49,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_sig.cpp:49,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_sig.cpp:52,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_sig.cpp:53,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_sig.cpp:53,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_sig.cpp:56,1
    - Dst: auto::public_key
      Src: /src/botan/src/cli/perf_pk_sig.cpp:58,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_sig.cpp:65,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_sig.cpp:66,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_sig.cpp:70,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_sig.cpp:70,1
    - Dst: empty
      Src: /src/botan/src/cli/perf_pk_sig.cpp:71,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_sig.cpp:71,1
    - Dst: random_vec
      Src: /src/botan/src/cli/perf_pk_sig.cpp:76,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_sig.cpp:78,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/cli/perf_pk_sig.cpp:78,1
    - Dst: next_byte
      Src: /src/botan/src/cli/perf_pk_sig.cpp:81,1
    - Dst: size
      Src: /src/botan/src/cli/perf_pk_sig.cpp:81,1
    - Dst: next_nonzero_byte
      Src: /src/botan/src/cli/perf_pk_sig.cpp:81,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_sig.cpp:84,1
    - Dst: error_output
      Src: /src/botan/src/cli/perf_pk_sig.cpp:94,1
    - Dst: error_output
      Src: /src/botan/src/cli/perf_pk_sig.cpp:100,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_sig.cpp:103,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_sig.cpp:104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 5
    argNames:
    - ' config'
    - ' nm'
    - ' alg'
    - ' param'
    - ' padding'
    argTypes:
    - PerfConfig
    - std::string
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 106
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 106
    functionName: Botan_CLI::PerfTest_PKSig::bench_pk_sig
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 1
    functionsReached:
    - auto::public_key
    - error_output
    - make_timer
    - Botan::create_private_key
    - random_vec
    - runtime
    - record_result
    - size
    - next_nonzero_byte
    - empty
    - rng
    - auto::under
    - next_byte
    - auto::run
    - Botan::PK_Signer::sign_message
    linkageType: ''
    returnType: void
    signature: "void bench_pk_sig(const PerfConfig& config,\n                        const
      std::string& nm,\n                        const std::string& alg,\n                        const
      std::string& param,\n                        const std::string& padding,\n                        const
      std::string& provider = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: Botan_CLI::PerfTest_DSA::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: Botan_CLI::PerfTest_DSA::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/perf_pk_sig.cpp:122,1
    - Dst: substr
      Src: /src/botan/src/cli/perf_pk_sig.cpp:122,1
    - Dst: find_last_of
      Src: /src/botan/src/cli/perf_pk_sig.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' alg'
    - ' param'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: Botan_CLI::PerfTest_DSA::format_name
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached:
    - substr
    - Botan::fmt
    - find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string format_name(const std::string& alg, const std::string&
      param) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: Botan_CLI::PerfTest_RSA::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: Botan_CLI::PerfTest_RSA::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: Botan_CLI::PerfTest_RSA::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Botan_CLI::PerfTest_ECDSA::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_groups
      Src: /src/botan/src/cli/perf_pk_sig.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: Botan_CLI::PerfTest_ECDSA::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached:
    - ecc_groups
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& config) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: Botan_CLI::PerfTest_ECKCDSA::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_groups
      Src: /src/botan/src/cli/perf_pk_sig.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: Botan_CLI::PerfTest_ECKCDSA::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached:
    - ecc_groups
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& config) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: Botan_CLI::PerfTest_ECGDSA::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_groups
      Src: /src/botan/src/cli/perf_pk_sig.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: Botan_CLI::PerfTest_ECGDSA::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached:
    - ecc_groups
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& config) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: Botan_CLI::PerfTest_Gost3410::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: Botan_CLI::PerfTest_Gost3410::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: Botan_CLI::PerfTest_Gost3410::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: Botan_CLI::PerfTest_SM2::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: Botan_CLI::PerfTest_SM2::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: Botan_CLI::PerfTest_SM2::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: Botan_CLI::PerfTest_Ed25519::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: Botan_CLI::PerfTest_Ed25519::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: Botan_CLI::PerfTest_Ed448::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: Botan_CLI::PerfTest_Ed448::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: Botan_CLI::PerfTest_XMSS::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 248
    functionName: Botan_CLI::PerfTest_XMSS::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 262
    functionName: Botan_CLI::PerfTest_XMSS::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: Botan_CLI::PerfTest_HSS_LMS::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: Botan_CLI::PerfTest_HSS_LMS::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 288
    functionName: Botan_CLI::PerfTest_HSS_LMS::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: Botan_CLI::PerfTest_SPHINCSp::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: Botan_CLI::PerfTest_SPHINCSp::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: substr
      Src: /src/botan/src/cli/perf_pk_sig.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' alg'
    - ' param'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: Botan_CLI::PerfTest_SPHINCSp::format_name
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached:
    - substr
    linkageType: ''
    returnType: std::string
    signature: std::string format_name(const std::string& alg, const std::string&
      param) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 320
    functionName: Botan_CLI::PerfTest_SPHINCSp::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: Botan_CLI::PerfTest_SLH_DSA::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 333
    functionName: Botan_CLI::PerfTest_SLH_DSA::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 348
    functionName: Botan_CLI::PerfTest_SLH_DSA::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: Botan_CLI::PerfTest_Dilithium::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: Botan_CLI::PerfTest_Dilithium::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 372
    functionName: Botan_CLI::PerfTest_Dilithium::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 383
    functionName: Botan_CLI::PerfTest_ML_DSA::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 385
    functionName: Botan_CLI::PerfTest_ML_DSA::hash
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 393
    functionName: Botan_CLI::PerfTest_ML_DSA::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_sig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/cli/speed.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' timer'
    argTypes:
    - Timer
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan_CLI::JSON_Output::add
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void add(const Timer& timer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::short_version_cstr
      Src: /src/botan/src/cli/speed.cpp:51,1
    - Dst: Botan::version_vc_revision
      Src: /src/botan/src/cli/speed.cpp:53,1
    - Dst: size
      Src: /src/botan/src/cli/speed.cpp:60,1
    - Dst: get_name
      Src: /src/botan/src/cli/speed.cpp:64,1
    - Dst: doing
      Src: /src/botan/src/cli/speed.cpp:65,1
    - Dst: events
      Src: /src/botan/src/cli/speed.cpp:66,1
    - Dst: cycles_consumed
      Src: /src/botan/src/cli/speed.cpp:68,1
    - Dst: cycles_consumed
      Src: /src/botan/src/cli/speed.cpp:69,1
    - Dst: buf_size
      Src: /src/botan/src/cli/speed.cpp:72,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/cli/speed.cpp:73,1
    - Dst: events
      Src: /src/botan/src/cli/speed.cpp:73,1
    - Dst: value
      Src: /src/botan/src/cli/speed.cpp:73,1
    - Dst: buf_size
      Src: /src/botan/src/cli/speed.cpp:74,1
    - Dst: value
      Src: /src/botan/src/cli/speed.cpp:77,1
    - Dst: size
      Src: /src/botan/src/cli/speed.cpp:79,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/speed.cpp:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 88
    functionName: Botan_CLI::JSON_Output::print
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached:
    - get_name
    - Botan::version_vc_revision
    - static_cast<uint64_t>
    - std::ostringstream::str
    - buf_size
    - size
    - doing
    - value
    - events
    - Botan::short_version_cstr
    - cycles_consumed
    linkageType: ''
    returnType: std::string
    signature: std::string print() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan_CLI::Summary::Summary
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Summary()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buf_size
      Src: /src/botan/src/cli/speed.cpp:99,1
    - Dst: push_back
      Src: /src/botan/src/cli/speed.cpp:100,1
    - Dst: std::make_pair
      Src: /src/botan/src/cli/speed.cpp:102,1
    - Dst: doing
      Src: /src/botan/src/cli/speed.cpp:102,1
    - Dst: get_name
      Src: /src/botan/src/cli/speed.cpp:102,1
    - Dst: push_back
      Src: /src/botan/src/cli/speed.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - Timer
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: Botan_CLI::Summary::add
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached:
    - get_name
    - buf_size
    - doing
    - push_back
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void add(const Timer& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/cli/speed.cpp:114,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:118,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:118,1
    - Dst: begin
      Src: /src/botan/src/cli/speed.cpp:121,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:122,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/speed.cpp:122,1
    - Dst: buf_size
      Src: /src/botan/src/cli/speed.cpp:122,1
    - Dst: second::empty
      Src: /src/botan/src/cli/speed.cpp:128,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:132,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:132,1
    - Dst: events
      Src: /src/botan/src/cli/speed.cpp:136,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:137,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:139,1
    - Dst: std::setprecision
      Src: /src/botan/src/cli/speed.cpp:139,1
    - Dst: bytes_per_second
      Src: /src/botan/src/cli/speed.cpp:140,1
    - Dst: empty
      Src: /src/botan/src/cli/speed.cpp:150,1
    - Dst: std::setprecision
      Src: /src/botan/src/cli/speed.cpp:151,1
    - Dst: std::sort
      Src: /src/botan/src/cli/speed.cpp:154,1
    - Dst: begin
      Src: /src/botan/src/cli/speed.cpp:154,1
    - Dst: end
      Src: /src/botan/src/cli/speed.cpp:154,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:157,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:157,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:158,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:158,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:164,1
    - Dst: get_name
      Src: /src/botan/src/cli/speed.cpp:164,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:164,1
    - Dst: doing
      Src: /src/botan/src/cli/speed.cpp:165,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:165,1
    - Dst: seconds_per_event
      Src: /src/botan/src/cli/speed.cpp:166,1
    - Dst: std::setw
      Src: /src/botan/src/cli/speed.cpp:166,1
    - Dst: events_per_second
      Src: /src/botan/src/cli/speed.cpp:167,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/speed.cpp:171,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 172
    functionName: Botan_CLI::Summary::print
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached:
    - get_name
    - bytes_per_second
    - std::ostringstream::str
    - second::empty
    - begin
    - std::to_string
    - buf_size
    - std::setprecision
    - empty
    - end
    - doing
    - seconds_per_event
    - events_per_second
    - events
    - std::sort
    - std::setw
    linkageType: ''
    returnType: std::string
    signature: std::string print()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Command::split_on
      Src: /src/botan/src/cli/speed.cpp:183,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/cli/speed.cpp:187,1
    - Dst: std::stoul
      Src: /src/botan/src/cli/speed.cpp:187,1
    - Dst: size
      Src: /src/botan/src/cli/speed.cpp:189,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/speed.cpp:190,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/speed.cpp:193,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/speed.cpp:197,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/speed.cpp:201,1
    - Dst: std::set::insert
      Src: /src/botan/src/cli/speed.cpp:204,1
    - Dst: std::vector<size_t>
      Src: /src/botan/src/cli/speed.cpp:207,1
    - Dst: std::set::begin
      Src: /src/botan/src/cli/speed.cpp:207,1
    - Dst: std::set::end
      Src: /src/botan/src/cli/speed.cpp:207,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - ' cmdline_arg'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 208
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 208
    functionName: Botan_CLI::unique_buffer_sizes
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    - static_cast<size_t>
    - size
    - CLI_Usage_Error
    - std::vector<size_t>
    - Botan_CLI::Command::split_on
    - std::set::end
    - std::set::begin
    - std::stoul
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> unique_buffer_sizes(const std::string& cmdline_arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_name
      Src: /src/botan/src/cli/speed.cpp:215,1
    - Dst: buf_size
      Src: /src/botan/src/cli/speed.cpp:219,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/cli/speed.cpp:225,1
    - Dst: events_per_second
      Src: /src/botan/src/cli/speed.cpp:225,1
    - Dst: doing
      Src: /src/botan/src/cli/speed.cpp:225,1
    - Dst: std::setprecision
      Src: /src/botan/src/cli/speed.cpp:228,1
    - Dst: milliseconds
      Src: /src/botan/src/cli/speed.cpp:228,1
    - Dst: std::setprecision
      Src: /src/botan/src/cli/speed.cpp:230,1
    - Dst: microseconds
      Src: /src/botan/src/cli/speed.cpp:230,1
    - Dst: std::setprecision
      Src: /src/botan/src/cli/speed.cpp:232,1
    - Dst: nanoseconds
      Src: /src/botan/src/cli/speed.cpp:232,1
    - Dst: cycles_consumed
      Src: /src/botan/src/cli/speed.cpp:235,1
    - Dst: std::setprecision
      Src: /src/botan/src/cli/speed.cpp:238,1
    - Dst: milliseconds
      Src: /src/botan/src/cli/speed.cpp:241,1
    - Dst: doing
      Src: /src/botan/src/cli/speed.cpp:249,1
    - Dst: doing
      Src: /src/botan/src/cli/speed.cpp:250,1
    - Dst: buf_size
      Src: /src/botan/src/cli/speed.cpp:253,1
    - Dst: buf_size
      Src: /src/botan/src/cli/speed.cpp:254,1
    - Dst: std::setprecision
      Src: /src/botan/src/cli/speed.cpp:260,1
    - Dst: cycles_consumed
      Src: /src/botan/src/cli/speed.cpp:263,1
    - Dst: std::setprecision
      Src: /src/botan/src/cli/speed.cpp:265,1
    - Dst: milliseconds
      Src: /src/botan/src/cli/speed.cpp:268,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/cli/speed.cpp:271,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - ' t'
    - time_unit
    argTypes:
    - Timer
    - size_t
    constantsTouched: []
    func_position:
      end: 272
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 272
    functionName: Botan_CLI::format_timer
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached:
    - milliseconds
    - get_name
    - static_cast<uint64_t>
    - std::ostringstream::str
    - microseconds
    - buf_size
    - doing
    - events_per_second
    - std::setprecision
    - cycles_consumed
    - nanoseconds
    linkageType: ''
    returnType: std::string
    signature: std::string format_timer(const Timer& t, size_t time_unit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: Botan_CLI::Speed::Speed
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Speed()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 372
    functionName: Botan_CLI::Speed::default_benchmark_list
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> default_benchmark_list()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 374
    functionName: Botan_CLI::Speed::group
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 376
    functionName: Botan_CLI::Speed::description
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/speed.cpp:379,1
    - Dst: Botan_CLI::Command::split_on
      Src: /src/botan/src/cli/speed.cpp:380,1
    - Dst: get_arg
      Src: /src/botan/src/cli/speed.cpp:380,1
    - Dst: get_arg
      Src: /src/botan/src/cli/speed.cpp:381,1
    - Dst: get_arg
      Src: /src/botan/src/cli/speed.cpp:382,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/speed.cpp:396,1
    - Dst: get_arg
      Src: /src/botan/src/cli/speed.cpp:398,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/speed.cpp:407,1
    - Dst: Botan::OS::get_cpu_cycle_counter
      Src: /src/botan/src/cli/speed.cpp:413,1
    - Dst: error_output
      Src: /src/botan/src/cli/speed.cpp:414,1
    - Dst: std::make_unique<Summary>
      Src: /src/botan/src/cli/speed.cpp:421,1
    - Dst: std::make_unique<JSON_Output>
      Src: /src/botan/src/cli/speed.cpp:423,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/speed.cpp:425,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/speed.cpp:429,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/speed.cpp:431,1
    - Dst: Botan::EC_Group::known_named_groups
      Src: /src/botan/src/cli/speed.cpp:432,1
    - Dst: std::vector::assign
      Src: /src/botan/src/cli/speed.cpp:433,1
    - Dst: auto::begin
      Src: /src/botan/src/cli/speed.cpp:433,1
    - Dst: auto::end
      Src: /src/botan/src/cli/speed.cpp:433,1
    - Dst: get_arg_list
      Src: /src/botan/src/cli/speed.cpp:437,1
    - Dst: unique_buffer_sizes
      Src: /src/botan/src/cli/speed.cpp:439,1
    - Dst: get_arg
      Src: /src/botan/src/cli/speed.cpp:439,1
    - Dst: Botan_CLI::Command::split_on
      Src: /src/botan/src/cli/speed.cpp:442,1
    - Dst: get_arg
      Src: /src/botan/src/cli/speed.cpp:442,1
    - Dst: Botan::CPUID::bit_from_string
      Src: /src/botan/src/cli/speed.cpp:443,1
    - Dst: Botan::CPUID::clear_cpuid_bit
      Src: /src/botan/src/cli/speed.cpp:444,1
    - Dst: error_output
      Src: /src/botan/src/cli/speed.cpp:446,1
    - Dst: verbose
      Src: /src/botan/src/cli/speed.cpp:451,1
    - Dst: output
      Src: /src/botan/src/cli/speed.cpp:453,1
    - Dst: Botan::version_string
      Src: /src/botan/src/cli/speed.cpp:453,1
    - Dst: Botan::CPUID::to_string
      Src: /src/botan/src/cli/speed.cpp:454,1
    - Dst: output
      Src: /src/botan/src/cli/speed.cpp:456,1
    - Dst: Botan::version_string
      Src: /src/botan/src/cli/speed.cpp:456,1
    - Dst: Botan_CLI::Speed::default_benchmark_list
      Src: /src/botan/src/cli/speed.cpp:462,1
    - Dst: Botan_CLI::Speed::record_result
      Src: /src/botan/src/cli/speed.cpp:465,1
    - Dst: Botan_CLI::Speed::error_output
      Src: /src/botan/src/cli/speed.cpp:471,1
    - Dst: Botan_CLI::Speed::rng
      Src: /src/botan/src/cli/speed.cpp:472,1
    - Dst: Botan_CLI::PerfTest::get
      Src: /src/botan/src/cli/speed.cpp:475,1
    - Dst: auto::go
      Src: /src/botan/src/cli/speed.cpp:476,1
    - Dst: verbose
      Src: /src/botan/src/cli/speed.cpp:477,1
    - Dst: error_output
      Src: /src/botan/src/cli/speed.cpp:478,1
    - Dst: output
      Src: /src/botan/src/cli/speed.cpp:483,1
    - Dst: print
      Src: /src/botan/src/cli/speed.cpp:483,1
    - Dst: output
      Src: /src/botan/src/cli/speed.cpp:486,1
    - Dst: print
      Src: /src/botan/src/cli/speed.cpp:486,1
    - Dst: verbose
      Src: /src/botan/src/cli/speed.cpp:489,1
    - Dst: output
      Src: /src/botan/src/cli/speed.cpp:493,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 495
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 495
    functionName: Botan_CLI::Speed::go
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 0
    functionsReached:
    - error_output
    - get_arg_sz
    - std::vector::size
    - print
    - Botan_CLI::Speed::record_result
    - unique_buffer_sizes
    - Botan::CPUID::bit_from_string
    - auto::begin
    - Botan::CPUID::to_string
    - output
    - get_arg
    - std::vector::empty
    - Botan::EC_Group::known_named_groups
    - Botan::CPUID::clear_cpuid_bit
    - auto::go
    - auto::end
    - Botan_CLI::Speed::default_benchmark_list
    - std::make_unique<JSON_Output>
    - Botan::version_string
    - Botan::OS::get_cpu_cycle_counter
    - get_arg_list
    - Botan_CLI::Speed::error_output
    - Botan_CLI::Speed::rng
    - verbose
    - Botan_CLI::PerfTest::get
    - std::make_unique<Summary>
    - std::vector::assign
    - CLI_Usage_Error
    - Botan_CLI::Command::split_on
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/cli/speed.cpp:505,1
    - Dst: cycles_consumed
      Src: /src/botan/src/cli/speed.cpp:506,1
    - Dst: add
      Src: /src/botan/src/cli/speed.cpp:508,1
    - Dst: output
      Src: /src/botan/src/cli/speed.cpp:510,1
    - Dst: format_timer
      Src: /src/botan/src/cli/speed.cpp:510,1
    - Dst: add
      Src: /src/botan/src/cli/speed.cpp:513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - Timer
    constantsTouched: []
    func_position:
      end: 516
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 516
    functionName: Botan_CLI::Speed::record_result
    functionSourceFile: /src/botan/src/cli/speed.cpp
    functionUses: 1
    functionsReached:
    - add
    - format_timer
    - output
    - value
    - cycles_consumed
    linkageType: ''
    returnType: void
    signature: void record_result(const Timer& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_math.cpp:32,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:35,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:35,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:36,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:36,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:38,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_math.cpp:41,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:42,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_math.cpp:44,1
    - Dst: Botan::BigInt::square
      Src: /src/botan/src/cli/perf_math.cpp:45,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_math.cpp:46,1
    - Dst: Botan::BigInt::mask_bits
      Src: /src/botan/src/cli/perf_math.cpp:48,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_math.cpp:50,1
    - Dst: Botan::BigInt::mul
      Src: /src/botan/src/cli/perf_math.cpp:51,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_math.cpp:52,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:55,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: Botan_CLI::PerfTest_MpMul::go
    functionSourceFile: /src/botan/src/cli/perf_math.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - Botan::BigInt::mul
    - make_timer
    - std::to_string
    - runtime
    - record_result
    - auto::stop
    - auto::under
    - rng
    - Botan::BigInt::square
    - Botan::BigInt::mask_bits
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_math.cpp:66,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:70,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:70,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:72,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:73,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/cli/perf_math.cpp:75,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/cli/perf_math.cpp:76,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/cli/perf_math.cpp:79,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_math.cpp:81,1
    - Dst: Botan::BigInt::randomize
      Src: /src/botan/src/cli/perf_math.cpp:82,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:82,1
    - Dst: Botan::BigInt::randomize
      Src: /src/botan/src/cli/perf_math.cpp:83,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:83,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_math.cpp:85,1
    - Dst: Botan::vartime_divide
      Src: /src/botan/src/cli/perf_math.cpp:86,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_math.cpp:87,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_math.cpp:89,1
    - Dst: Botan::ct_divide
      Src: /src/botan/src/cli/perf_math.cpp:90,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_math.cpp:91,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/cli/perf_math.cpp:93,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/cli/perf_math.cpp:94,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:97,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 100
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 100
    functionName: Botan_CLI::PerfTest_MpDiv::go
    functionSourceFile: /src/botan/src/cli/perf_math.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - Botan::BigInt::randomize
    - make_timer
    - std::to_string
    - Botan::BigInt::BigInt
    - runtime
    - record_result
    - auto::stop
    - Botan::ct_divide
    - BOTAN_ASSERT_EQUAL
    - auto::under
    - rng
    - Botan::vartime_divide
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_math.cpp:108,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:111,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:113,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:114,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/cli/perf_math.cpp:116,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/cli/perf_math.cpp:119,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/cli/perf_math.cpp:120,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_math.cpp:123,1
    - Dst: Botan::BigInt::randomize
      Src: /src/botan/src/cli/perf_math.cpp:124,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:124,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_math.cpp:126,1
    - Dst: Botan::vartime_divide
      Src: /src/botan/src/cli/perf_math.cpp:127,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_math.cpp:128,1
    - Dst: auto::start
      Src: /src/botan/src/cli/perf_math.cpp:130,1
    - Dst: Botan::ct_divide_word
      Src: /src/botan/src/cli/perf_math.cpp:131,1
    - Dst: auto::stop
      Src: /src/botan/src/cli/perf_math.cpp:132,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/cli/perf_math.cpp:134,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/cli/perf_math.cpp:135,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:138,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 141
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 141
    functionName: Botan_CLI::PerfTest_MpDiv10::go
    functionSourceFile: /src/botan/src/cli/perf_math.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - Botan::BigInt::randomize
    - make_timer
    - std::to_string
    - Botan::BigInt::from_word
    - Botan::BigInt::BigInt
    - runtime
    - auto::stop
    - Botan::ct_divide_word
    - record_result
    - BOTAN_ASSERT_EQUAL
    - auto::under
    - rng
    - Botan::vartime_divide
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_math.cpp:153,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:156,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:158,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:159,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:160,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_math.cpp:162,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:163,1
    - Dst: Botan::Barrett_Reduction::for_secret_modulus
      Src: /src/botan/src/cli/perf_math.cpp:163,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:164,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/cli/perf_math.cpp:164,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:167,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:168,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/cli/perf_math.cpp:170,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:172,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:173,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:174,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_math.cpp:176,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:177,1
    - Dst: Botan::BigInt::bits
      Src: /src/botan/src/cli/perf_math.cpp:177,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:179,1
    - Dst: auto::reduce
      Src: /src/botan/src/cli/perf_math.cpp:179,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:180,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:181,1
    - Dst: Botan::ct_modulo
      Src: /src/botan/src/cli/perf_math.cpp:181,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_math.cpp:183,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_math.cpp:184,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:187,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:188,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 191
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 191
    functionName: Botan_CLI::PerfTest_BnRedc::go
    functionSourceFile: /src/botan/src/cli/perf_math.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::bits
    - make_timer
    - std::to_string
    - runtime
    - record_result
    - Botan::Barrett_Reduction::for_secret_modulus
    - auto::reduce
    - auto::under
    - rng
    - BOTAN_ASSERT
    - auto::run
    - Botan::Barrett_Reduction::for_public_modulus
    - Botan::ct_modulo
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_math.cpp:199,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:202,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:204,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:205,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_math.cpp:207,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_math.cpp:207,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:208,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:209,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:211,1
    - Dst: Botan::inverse_mod
      Src: /src/botan/src/cli/perf_math.cpp:211,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:213,1
    - Dst: gcd
      Src: /src/botan/src/cli/perf_math.cpp:213,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_math.cpp:216,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/cli/perf_math.cpp:218,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/cli/perf_math.cpp:220,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:224,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 227
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 227
    functionName: Botan_CLI::PerfTest_InvMod::go
    functionSourceFile: /src/botan/src/cli/perf_math.cpp
    functionUses: 0
    functionsReached:
    - make_timer
    - gcd
    - std::to_string
    - runtime
    - record_result
    - Botan::inverse_mod
    - rng
    - auto::under
    - BOTAN_ASSERT_EQUAL
    - BOTAN_ASSERT
    - auto::run
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_math.cpp:235,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:238,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:238,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:239,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:239,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:240,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:240,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/cli/perf_math.cpp:242,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:242,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_math.cpp:244,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/cli/perf_math.cpp:245,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:247,1
    - Dst: Botan::is_miller_rabin_probable_prime
      Src: /src/botan/src/cli/perf_math.cpp:247,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:247,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:249,1
    - Dst: Botan::is_bailie_psw_probable_prime
      Src: /src/botan/src/cli/perf_math.cpp:249,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:251,1
    - Dst: Botan::is_lucas_probable_prime
      Src: /src/botan/src/cli/perf_math.cpp:251,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:256,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:257,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 260
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 260
    functionName: Botan_CLI::PerfTest_IsPrime::go
    functionSourceFile: /src/botan/src/cli/perf_math.cpp
    functionUses: 0
    functionsReached:
    - make_timer
    - Botan::is_miller_rabin_probable_prime
    - std::to_string
    - runtime
    - record_result
    - Botan::is_lucas_probable_prime
    - Botan::is_bailie_psw_probable_prime
    - Botan::random_prime
    - rng
    - auto::under
    - auto::run
    - Botan::Barrett_Reduction::for_public_modulus
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/cli/perf_math.cpp:268,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_math.cpp:269,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:271,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:274,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:274,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:275,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:275,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:276,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:276,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_math.cpp:278,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:279,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/cli/perf_math.cpp:279,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:281,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/cli/perf_math.cpp:281,1
    - Dst: error_output
      Src: /src/botan/src/cli/perf_math.cpp:282,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:285,1
    - Dst: Botan::random_safe_prime
      Src: /src/botan/src/cli/perf_math.cpp:285,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:287,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/cli/perf_math.cpp:287,1
    - Dst: error_output
      Src: /src/botan/src/cli/perf_math.cpp:288,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:291,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/cli/perf_math.cpp:291,1
    - Dst: error_output
      Src: /src/botan/src/cli/perf_math.cpp:292,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:297,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/cli/perf_math.cpp:297,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:301,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:302,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 305
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 305
    functionName: Botan_CLI::PerfTest_RandomPrime::go
    functionSourceFile: /src/botan/src/cli/perf_math.cpp
    functionUses: 0
    functionsReached:
    - Botan::is_prime
    - error_output
    - make_timer
    - std::to_string
    - Botan::BigInt::from_word
    - runtime
    - record_result
    - Botan::random_prime
    - rng
    - auto::under
    - auto::run
    - Botan::random_safe_prime
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/botan/src/cli/perf_math.cpp:318,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/cli/perf_math.cpp:319,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:324,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_math.cpp:325,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:327,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_math.cpp:328,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_math.cpp:330,1
    - Dst: runtime
      Src: /src/botan/src/cli/perf_math.cpp:330,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:331,1
    - Dst: auto::power_g_p
      Src: /src/botan/src/cli/perf_math.cpp:331,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_math.cpp:332,1
    - Dst: auto::power_g_p
      Src: /src/botan/src/cli/perf_math.cpp:332,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:335,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_math.cpp:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 338
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 338
    functionName: Botan_CLI::PerfTest_ModExp::go
    functionSourceFile: /src/botan/src/cli/perf_math.cpp
    functionUses: 0
    functionsReached:
    - auto::power_g_p
    - make_timer
    - std::to_string
    - runtime
    - record_result
    - rng
    - auto::under
    - auto::run
    - Botan::DL_Group::from_name
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PerfTest::global_registry
      Src: /src/botan/src/cli/perf.cpp:14,1
    - Dst: contains
      Src: /src/botan/src/cli/perf.cpp:16,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/perf.cpp:17,1
    - Dst: insert
      Src: /src/botan/src/cli/perf.cpp:20,1
    - Dst: std::make_pair
      Src: /src/botan/src/cli/perf.cpp:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' name'
    - ' maker_fn'
    argTypes:
    - std::string
    - PerfTest::pt_maker_fn
    constantsTouched: []
    func_position:
      end: 21
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 21
    functionName: PerfTest::Registration::Registration(const std::string& name, const
      PerfTest::pt_maker_fn& maker_fn)
    functionSourceFile: /src/botan/src/cli/perf.cpp
    functionUses: 0
    functionsReached:
    - CLI_Error
    - contains
    - PerfTest::global_registry
    - std::make_pair
    - insert
    linkageType: ''
    returnType: void
    signature: void PerfTest::Registration::Registration(const std::string& name,
      const PerfTest::pt_maker_fn& maker_fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: '& PerfTest::global_registry()'
    functionSourceFile: /src/botan/src/cli/perf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<std::string, PerfTest::pt_maker_fn>
    signature: std::map<std::string, PerfTest::pt_maker_fn> & PerfTest::global_registry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PerfTest::global_registry
      Src: /src/botan/src/cli/perf.cpp:31,1
    - Dst: find
      Src: /src/botan/src/cli/perf.cpp:33,1
    - Dst: end
      Src: /src/botan/src/cli/perf.cpp:34,1
    - Dst: auto::second
      Src: /src/botan/src/cli/perf.cpp:35,1
    - Dst: Botan_CLI::PerfTest::get_sym
      Src: /src/botan/src/cli/perf.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: Botan_CLI::PerfTest::get
    functionSourceFile: /src/botan/src/cli/perf.cpp
    functionUses: 1
    functionsReached:
    - PerfTest::global_registry
    - end
    - Botan_CLI::PerfTest::get_sym
    - auto::second
    - find
    linkageType: ''
    returnType: std::unique_ptr<PerfTest>
    signature: std::unique_ptr<PerfTest> PerfTest::get(const std::string& name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/cli/perf.cpp:42,1
    - Dst: starts_with
      Src: /src/botan/src/cli/perf.cpp:45,1
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/perf.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' alg'
    - ' param'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: Botan_CLI::PerfTest::format_name
    functionSourceFile: /src/botan/src/cli/perf.cpp
    functionUses: 0
    functionsReached:
    - empty
    - Botan::fmt
    - starts_with
    linkageType: ''
    returnType: std::string
    signature: std::string PerfTest::format_name(const std::string& alg, const std::string&
      param) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan_CLI::Cipher::Cipher
    functionSourceFile: /src/botan/src/cli/cipher.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cipher()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan_CLI::Cipher::group
    functionSourceFile: /src/botan/src/cli/cipher.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan_CLI::Cipher::description
    functionSourceFile: /src/botan/src/cli/cipher.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg_or
      Src: /src/botan/src/cli/cipher.cpp:31,1
    - Dst: get_arg
      Src: /src/botan/src/cli/cipher.cpp:32,1
    - Dst: get_arg
      Src: /src/botan/src/cli/cipher.cpp:33,1
    - Dst: get_arg_or
      Src: /src/botan/src/cli/cipher.cpp:34,1
    - Dst: get_arg_or
      Src: /src/botan/src/cli/cipher.cpp:35,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/cipher.cpp:40,1
    - Dst: flag_set
      Src: /src/botan/src/cli/cipher.cpp:42,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/cli/cipher.cpp:44,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/cipher.cpp:46,1
    - Dst: auto::set_key
      Src: /src/botan/src/cli/cipher.cpp:50,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/cipher.cpp:53,1
    - Dst: dynamic_cast<Botan::AEAD_Mode*>
      Src: /src/botan/src/cli/cipher.cpp:55,1
    - Dst: auto::get
      Src: /src/botan/src/cli/cipher.cpp:55,1
    - Dst: Botan::AEAD_Mode*::set_associated_data
      Src: /src/botan/src/cli/cipher.cpp:56,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/cipher.cpp:60,1
    - Dst: auto::start
      Src: /src/botan/src/cli/cipher.cpp:65,1
    - Dst: Botan::InitializationVector::bits_of
      Src: /src/botan/src/cli/cipher.cpp:65,1
    - Dst: Botan_CLI::Cipher::slurp_file
      Src: /src/botan/src/cli/cipher.cpp:67,1
    - Dst: std::vector::begin
      Src: /src/botan/src/cli/cipher.cpp:69,1
    - Dst: std::vector::end
      Src: /src/botan/src/cli/cipher.cpp:69,1
    - Dst: auto::finish
      Src: /src/botan/src/cli/cipher.cpp:70,1
    - Dst: write_output
      Src: /src/botan/src/cli/cipher.cpp:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 73
    functionName: Botan_CLI::Cipher::go
    functionSourceFile: /src/botan/src/cli/cipher.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - std::vector::begin
    - write_output
    - Botan::InitializationVector::bits_of
    - Botan_CLI::Cipher::slurp_file
    - Botan::Cipher_Mode::create
    - get_arg
    - std::vector::empty
    - std::vector::end
    - dynamic_cast<Botan::AEAD_Mode*>
    - Botan::hex_decode
    - Botan::AEAD_Mode*::set_associated_data
    - CLI_Error_Unsupported
    - get_arg_or
    - flag_set
    - auto::finish
    - auto::set_key
    - CLI_Usage_Error
    - auto::get
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: Botan_CLI::Hash::Hash
    functionSourceFile: /src/botan/src/cli/hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan_CLI::Hash::group
    functionSourceFile: /src/botan/src/cli/hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan_CLI::Hash::description
    functionSourceFile: /src/botan/src/cli/hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/hash.cpp:26,1
    - Dst: get_arg
      Src: /src/botan/src/cli/hash.cpp:27,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/cli/hash.cpp:31,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/hash.cpp:34,1
    - Dst: get_arg_list
      Src: /src/botan/src/cli/hash.cpp:37,1
    - Dst: std::vector::empty
      Src: /src/botan/src/cli/hash.cpp:38,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/hash.cpp:39,1
    - Dst: auto::update
      Src: /src/botan/src/cli/hash.cpp:44,1
    - Dst: read_file
      Src: /src/botan/src/cli/hash.cpp:45,1
    - Dst: format_blob
      Src: /src/botan/src/cli/hash.cpp:47,1
    - Dst: auto::final
      Src: /src/botan/src/cli/hash.cpp:47,1
    - Dst: output
      Src: /src/botan/src/cli/hash.cpp:50,1
    - Dst: output
      Src: /src/botan/src/cli/hash.cpp:52,1
    - Dst: error_output
      Src: /src/botan/src/cli/hash.cpp:55,1
    - Dst: what
      Src: /src/botan/src/cli/hash.cpp:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 58
    functionName: Botan_CLI::Hash::go
    functionSourceFile: /src/botan/src/cli/hash.cpp
    functionUses: 0
    functionsReached:
    - error_output
    - auto::final
    - output
    - CLI_Error_Unsupported
    - get_arg
    - std::vector::empty
    - what
    - auto::update
    - Botan::HashFunction::create
    - format_blob
    - std::vector::push_back
    - get_arg_list
    - read_file
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan_CLI::Hex_Encode::Hex_Encode
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Hex_Encode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan_CLI::Hex_Encode::group
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan_CLI::Hex_Encode::description
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/codec.cpp:38,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/codec.cpp:38,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/codec.cpp:39,1
    - Dst: get_arg
      Src: /src/botan/src/cli/codec.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: Botan_CLI::Hex_Encode::go
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Command::read_file
    - output
    - get_arg
    - Botan::hex_encode
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan_CLI::Hex_Decode::Hex_Decode
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Hex_Decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan_CLI::Hex_Decode::group
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan_CLI::Hex_Decode::description
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/cli/codec.cpp:55,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/codec.cpp:55,1
    - Dst: write_output
      Src: /src/botan/src/cli/codec.cpp:56,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/codec.cpp:59,1
    - Dst: get_arg
      Src: /src/botan/src/cli/codec.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: Botan_CLI::Hex_Decode::go
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - Botan_CLI::Command::read_file
    - write_output
    - reinterpret_cast<const char*>
    - Botan::hex_decode
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan_CLI::Base58_Encode::Base58_Encode
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base58_Encode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan_CLI::Base58_Encode::group
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Botan_CLI::Base58_Encode::description
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slurp_file
      Src: /src/botan/src/cli/codec.cpp:78,1
    - Dst: get_arg
      Src: /src/botan/src/cli/codec.cpp:78,1
    - Dst: flag_set
      Src: /src/botan/src/cli/codec.cpp:80,1
    - Dst: output
      Src: /src/botan/src/cli/codec.cpp:81,1
    - Dst: Botan::base58_check_encode
      Src: /src/botan/src/cli/codec.cpp:81,1
    - Dst: output
      Src: /src/botan/src/cli/codec.cpp:83,1
    - Dst: Botan::base58_encode
      Src: /src/botan/src/cli/codec.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: Botan_CLI::Base58_Encode::go
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached:
    - slurp_file
    - output
    - get_arg
    - Botan::base58_encode
    - flag_set
    - Botan::base58_check_encode
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan_CLI::Base58_Decode::Base58_Decode
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base58_Decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan_CLI::Base58_Decode::group
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan_CLI::Base58_Decode::description
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slurp_file_as_str
      Src: /src/botan/src/cli/codec.cpp:99,1
    - Dst: get_arg
      Src: /src/botan/src/cli/codec.cpp:99,1
    - Dst: flag_set
      Src: /src/botan/src/cli/codec.cpp:103,1
    - Dst: Botan::base58_check_decode
      Src: /src/botan/src/cli/codec.cpp:104,1
    - Dst: Botan::base58_decode
      Src: /src/botan/src/cli/codec.cpp:106,1
    - Dst: write_output
      Src: /src/botan/src/cli/codec.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: Botan_CLI::Base58_Decode::go
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - write_output
    - flag_set
    - slurp_file_as_str
    - Botan::base58_decode
    - Botan::base58_check_decode
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: Botan_CLI::Base32_Encode::Base32_Encode
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base32_Encode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: Botan_CLI::Base32_Encode::group
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: Botan_CLI::Base32_Encode::description
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/codec.cpp:128,1
    - Dst: Botan::base32_encode
      Src: /src/botan/src/cli/codec.cpp:128,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/codec.cpp:129,1
    - Dst: get_arg
      Src: /src/botan/src/cli/codec.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: Botan_CLI::Base32_Encode::go
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Command::read_file
    - Botan::base32_encode
    - output
    - get_arg
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan_CLI::Base32_Decode::Base32_Decode
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base32_Decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: Botan_CLI::Base32_Decode::group
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan_CLI::Base32_Decode::description
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base32_decode
      Src: /src/botan/src/cli/codec.cpp:145,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/codec.cpp:145,1
    - Dst: write_output
      Src: /src/botan/src/cli/codec.cpp:146,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/codec.cpp:149,1
    - Dst: get_arg
      Src: /src/botan/src/cli/codec.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: Botan_CLI::Base32_Decode::go
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - Botan::base32_decode
    - Botan_CLI::Command::read_file
    - write_output
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: Botan_CLI::Base64_Encode::Base64_Encode
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base64_Encode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: Botan_CLI::Base64_Encode::group
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: Botan_CLI::Base64_Encode::description
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/codec.cpp:168,1
    - Dst: Botan::base64_encode
      Src: /src/botan/src/cli/codec.cpp:168,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/codec.cpp:169,1
    - Dst: get_arg
      Src: /src/botan/src/cli/codec.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: Botan_CLI::Base64_Encode::go
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached:
    - Botan::base64_encode
    - Botan_CLI::Command::read_file
    - output
    - get_arg
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: Botan_CLI::Base64_Decode::Base64_Decode
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base64_Decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: Botan_CLI::Base64_Decode::group
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: Botan_CLI::Base64_Decode::description
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base64_decode
      Src: /src/botan/src/cli/codec.cpp:185,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/codec.cpp:185,1
    - Dst: write_output
      Src: /src/botan/src/cli/codec.cpp:186,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/codec.cpp:189,1
    - Dst: get_arg
      Src: /src/botan/src/cli/codec.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: Botan_CLI::Base64_Decode::go
    functionSourceFile: /src/botan/src/cli/codec.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - Botan_CLI::Command::read_file
    - Botan::base64_decode
    - write_output
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' spec'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: Botan_CLI::PSK_Tool_Base::PSK_Tool_Base
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PSK_Tool_Base(const std::string& spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan_CLI::PSK_Tool_Base::group
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/psk.cpp:24,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/cli/psk.cpp:26,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/psk.cpp:26,1
    - Dst: std::make_shared<Botan::Sqlite3_Database>
      Src: /src/botan/src/cli/psk.cpp:28,1
    - Dst: psk_operation
      Src: /src/botan/src/cli/psk.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: Botan_CLI::PSK_Tool_Base::go
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached:
    - get_arg
    - std::make_shared<Botan::Sqlite3_Database>
    - Botan::hex_decode_locked
    - get_passphrase_arg
    - psk_operation
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan_CLI::PSK_Tool_Set::PSK_Tool_Set
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PSK_Tool_Set()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan_CLI::PSK_Tool_Set::description
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/psk.cpp:46,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/cli/psk.cpp:47,1
    - Dst: get_passphrase_arg
      Src: /src/botan/src/cli/psk.cpp:47,1
    - Dst: set_vec
      Src: /src/botan/src/cli/psk.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' db'
    argTypes:
    - Botan::PSK_Database
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: Botan_CLI::PSK_Tool_Set::psk_operation
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    - set_vec
    - get_arg
    - get_passphrase_arg
    linkageType: ''
    returnType: void
    signature: void psk_operation(Botan::PSK_Database& db) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan_CLI::PSK_Tool_Get::PSK_Tool_Get
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PSK_Tool_Get()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan_CLI::PSK_Tool_Get::description
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/psk.cpp:60,1
    - Dst: get
      Src: /src/botan/src/cli/psk.cpp:61,1
    - Dst: output
      Src: /src/botan/src/cli/psk.cpp:62,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/psk.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' db'
    argTypes:
    - Botan::PSK_Database
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: Botan_CLI::PSK_Tool_Get::psk_operation
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached:
    - output
    - get
    - get_arg
    - Botan::hex_encode
    linkageType: ''
    returnType: void
    signature: void psk_operation(Botan::PSK_Database& db) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan_CLI::PSK_Tool_List::PSK_Tool_List
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PSK_Tool_List()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan_CLI::PSK_Tool_List::description
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_names
      Src: /src/botan/src/cli/psk.cpp:74,1
    - Dst: output
      Src: /src/botan/src/cli/psk.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' db'
    argTypes:
    - Botan::PSK_Database
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: Botan_CLI::PSK_Tool_List::psk_operation
    functionSourceFile: /src/botan/src/cli/psk.cpp
    functionUses: 0
    functionsReached:
    - output
    - list_names
    linkageType: ''
    returnType: void
    signature: void psk_operation(Botan::PSK_Database& db) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' server_command'
    argTypes:
    - TLS_Server
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan_CLI::Callbacks::Callbacks
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Callbacks(TLS_Server& server_command)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/tls_server.cpp:61,1
    - Dst: version
      Src: /src/botan/src/cli/tls_server.cpp:61,1
    - Dst: ciphersuite
      Src: /src/botan/src/cli/tls_server.cpp:62,1
    - Dst: external_psk_identity
      Src: /src/botan/src/cli/tls_server.cpp:64,1
    - Dst: output
      Src: /src/botan/src/cli/tls_server.cpp:65,1
    - Dst: maybe_hex_encode
      Src: /src/botan/src/cli/tls_server.cpp:65,1
    - Dst: value
      Src: /src/botan/src/cli/tls_server.cpp:65,1
    - Dst: output
      Src: /src/botan/src/cli/tls_server.cpp:68,1
    - Dst: session_id
      Src: /src/botan/src/cli/tls_server.cpp:70,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_server.cpp:70,1
    - Dst: output
      Src: /src/botan/src/cli/tls_server.cpp:71,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_server.cpp:71,1
    - Dst: get
      Src: /src/botan/src/cli/tls_server.cpp:71,1
    - Dst: session_ticket
      Src: /src/botan/src/cli/tls_server.cpp:74,1
    - Dst: output
      Src: /src/botan/src/cli/tls_server.cpp:75,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_server.cpp:75,1
    - Dst: get
      Src: /src/botan/src/cli/tls_server.cpp:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Botan::TLS::Session_Summary
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: Botan_CLI::Callbacks::tls_session_established
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - output
    - session_id
    - version
    - session_ticket
    - empty
    - get
    - maybe_hex_encode
    - value
    - Botan::hex_encode
    - external_psk_identity
    - ciphersuite
    linkageType: ''
    returnType: void
    signature: void tls_session_established(const Botan::TLS::Session_Summary& session)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/cli/tls_server.cpp:80,1
    - Dst: Botan_CLI::Callbacks::push_pending_output
      Src: /src/botan/src/cli/tls_server.cpp:84,1
    - Dst: std::exchange
      Src: /src/botan/src/cli/tls_server.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: Botan_CLI::Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Callbacks::push_pending_output
    - std::exchange
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t /*seq_no*/, std::span<const uint8_t>
      input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Callbacks::send
      Src: /src/botan/src/cli/tls_server.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan_CLI::Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Callbacks::send
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t> buf) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/tls_server.cpp:91,1
    - Dst: Botan::TLS::Alert::type_string
      Src: /src/botan/src/cli/tls_server.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan_CLI::Callbacks::tls_alert
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Alert::type_string
    - output
    linkageType: ''
    returnType: void
    signature: void tls_alert(Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: Botan_CLI::Callbacks::tls_server_choose_app_protocol
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string tls_server_choose_app_protocol(const std::vector<std::string>&
      /*client_protos*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fingerprint_public
      Src: /src/botan/src/cli/tls_server.cpp:102,1
    - Dst: output
      Src: /src/botan/src/cli/tls_server.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' raw_public_key'
    argTypes:
    - Botan::Public_Key
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: Botan_CLI::Callbacks::tls_verify_raw_public_key
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - fingerprint_public
    - output
    linkageType: ''
    returnType: void
    signature: "void tls_verify_raw_public_key(const Botan::Public_Key& raw_public_key,\n
      \                                    Botan::Usage_Type /* usage */,\n                                     std::string_view
      /* hostname */,\n                                     const Botan::TLS::Policy&
      /* policy */) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_sockets
      Src: /src/botan/src/cli/tls_server.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: Botan_CLI::TLS_Server::TLS_Server
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - init_sockets
    linkageType: ''
    returnType: void
    signature: void TLS_Server()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stop_sockets
      Src: /src/botan/src/cli/tls_server.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: ~TLS_Server() override
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - stop_sockets
    linkageType: ''
    returnType: void
    signature: void ~TLS_Server() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLS_Server
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan_CLI::TLS_Server::TLS_Server
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Server(const TLS_Server& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLS_Server
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Botan_CLI::TLS_Server::TLS_Server
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Server(TLS_Server&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLS_Server
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: '& operator=(const TLS_Server& other)'
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TLS_Server
    signature: TLS_Server & operator=(const TLS_Server& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLS_Server
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: '& operator=(TLS_Server&& other)'
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TLS_Server
    signature: TLS_Server & operator=(TLS_Server&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Botan_CLI::TLS_Server::group
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan_CLI::TLS_Server::description
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_server.cpp:140,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_server.cpp:141,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_server.cpp:144,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_server.cpp:145,1
    - Dst: get_arg_maybe
      Src: /src/botan/src/cli/tls_server.cpp:147,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/cli/tls_server.cpp:149,1
    - Dst: auto::value
      Src: /src/botan/src/cli/tls_server.cpp:149,1
    - Dst: get_arg_maybe
      Src: /src/botan/src/cli/tls_server.cpp:154,1
    - Dst: get_arg_maybe
      Src: /src/botan/src/cli/tls_server.cpp:155,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/cli/tls_server.cpp:158,1
    - Dst: get_arg_sz
      Src: /src/botan/src/cli/tls_server.cpp:158,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/tls_server.cpp:162,1
    - Dst: load_tls_policy
      Src: /src/botan/src/cli/tls_server.cpp:167,1
    - Dst: get_arg
      Src: /src/botan/src/cli/tls_server.cpp:167,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/cli/tls_server.cpp:169,1
    - Dst: rng_as_shared
      Src: /src/botan/src/cli/tls_server.cpp:169,1
    - Dst: std::make_shared<Basic_Credentials_Manager>
      Src: /src/botan/src/cli/tls_server.cpp:171,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_server.cpp:171,1
    - Dst: std::make_shared<Callbacks>
      Src: /src/botan/src/cli/tls_server.cpp:172,1
    - Dst: init
      Src: /src/botan/src/cli/tls_server.cpp:174,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_server.cpp:175,1
    - Dst: Botan_CLI::TLS_Server::make_server_socket
      Src: /src/botan/src/cli/tls_server.cpp:179,1
    - Dst: output
      Src: /src/botan/src/cli/tls_server.cpp:182,1
    - Dst: cybozu::Socket::accept
      Src: /src/botan/src/cli/tls_server.cpp:190,1
    - Dst: ::recvfrom
      Src: /src/botan/src/cli/tls_server.cpp:206,1
    - Dst: static_cast<char*>
      Src: /src/botan/src/cli/tls_server.cpp:207,1
    - Dst: static_cast<sendrecv_len_type>
      Src: /src/botan/src/cli/tls_server.cpp:208,1
    - Dst: reinterpret_cast<struct sockaddr*>
      Src: /src/botan/src/cli/tls_server.cpp:210,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_server.cpp:212,1
    - Dst: cybozu::Socket::connect
      Src: /src/botan/src/cli/tls_server.cpp:215,1
    - Dst: reinterpret_cast<struct sockaddr*>
      Src: /src/botan/src/cli/tls_server.cpp:215,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_server.cpp:216,1
    - Dst: rng_as_shared
      Src: /src/botan/src/cli/tls_server.cpp:223,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/tls_server.cpp:227,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/cli/tls_server.cpp:228,1
    - Dst: std::to_string
      Src: /src/botan/src/cli/tls_server.cpp:230,1
    - Dst: std::make_unique<std::ofstream>
      Src: /src/botan/src/cli/tls_server.cpp:231,1
    - Dst: std::string::c_str
      Src: /src/botan/src/cli/tls_server.cpp:231,1
    - Dst: Botan::TLS::Server::is_closed
      Src: /src/botan/src/cli/tls_server.cpp:235,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_server.cpp:241,1
    - Dst: err_to_string
      Src: /src/botan/src/cli/tls_server.cpp:241,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_server.cpp:246,1
    - Dst: std::unique_ptr::write
      Src: /src/botan/src/cli/tls_server.cpp:251,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/tls_server.cpp:251,1
    - Dst: Botan::TLS::Server::received_data
      Src: /src/botan/src/cli/tls_server.cpp:254,1
    - Dst: Botan::TLS::Server::is_active
      Src: /src/botan/src/cli/tls_server.cpp:256,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_server.cpp:256,1
    - Dst: front
      Src: /src/botan/src/cli/tls_server.cpp:257,1
    - Dst: pop_front
      Src: /src/botan/src/cli/tls_server.cpp:258,1
    - Dst: Botan::TLS::Server::send
      Src: /src/botan/src/cli/tls_server.cpp:259,1
    - Dst: Botan::TLS::Server::close
      Src: /src/botan/src/cli/tls_server.cpp:262,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_server.cpp:266,1
    - Dst: what
      Src: /src/botan/src/cli/tls_server.cpp:266,1
    - Dst: close_socket
      Src: /src/botan/src/cli/tls_server.cpp:268,1
    - Dst: invalid_socket
      Src: /src/botan/src/cli/tls_server.cpp:269,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_server.cpp:274,1
    - Dst: what
      Src: /src/botan/src/cli/tls_server.cpp:274,1
    - Dst: close_socket
      Src: /src/botan/src/cli/tls_server.cpp:278,1
    - Dst: invalid_socket
      Src: /src/botan/src/cli/tls_server.cpp:279,1
    - Dst: close_socket
      Src: /src/botan/src/cli/tls_server.cpp:283,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 284
    functionName: Botan_CLI::TLS_Server::go
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - error_output
    - get_arg_sz
    - static_cast<uint32_t>
    - std::to_string
    - Botan::TLS::Server::received_data
    - cybozu::Socket::connect
    - std::string::c_str
    - std::string::empty
    - std::make_shared<Callbacks>
    - ::recvfrom
    - rng_as_shared
    - output
    - get_arg
    - auto::value
    - what
    - get_arg_maybe
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - std::make_unique<std::ofstream>
    - front
    - close_socket
    - cybozu::Socket::accept
    - reinterpret_cast<struct sockaddr*>
    - static_cast<sendrecv_len_type>
    - std::unique_ptr::write
    - Botan::TLS::Server::send
    - static_cast<char*>
    - empty
    - std::move
    - reinterpret_cast<const char*>
    - Botan::TLS::detail::AsyncBase::complete_now
    - CLI_Error
    - load_tls_policy
    - std::make_shared<Basic_Credentials_Manager>
    - err_to_string
    - Botan::TLS::Server::close
    - Botan_CLI::TLS_Server::make_server_socket
    - Botan::TLS::Server::is_active
    - Botan::hex_decode_locked
    - Botan::TLS::Server::is_closed
    - init
    - invalid_socket
    - CLI_Usage_Error
    - pop_front
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: error_output
      Src: /src/botan/src/cli/tls_server.cpp:295,1
    - Dst: err_to_string
      Src: /src/botan/src/cli/tls_server.cpp:295,1
    - Dst: static_cast<ssize_t>
      Src: /src/botan/src/cli/tls_server.cpp:296,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/cli/tls_server.cpp:296,1
    - Dst: error_output
      Src: /src/botan/src/cli/tls_server.cpp:297,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/cli/tls_server.cpp:297,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/cli/tls_server.cpp:300,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_server.cpp:307,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/cli/tls_server.cpp:311,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 314
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 314
    functionName: Botan_CLI::TLS_Server::send
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - error_output
    - CLI_Error
    - err_to_string
    - std::span<const uint8_t>::empty
    - std::span<const uint8_t>::subspan
    - static_cast<ssize_t>
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void send(std::span<const uint8_t> buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/botan/src/cli/tls_server.cpp:316,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_server.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - line
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: Botan_CLI::TLS_Server::push_pending_output
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void push_pending_output(std::string line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Client::close_socket
      Src: /src/botan/src/cli/tls_server.cpp:322,1
    - Dst: invalid_socket
      Src: /src/botan/src/cli/tls_server.cpp:323,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_server.cpp:324,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/cli/tls_server.cpp:328,1
    - Dst: htons
      Src: /src/botan/src/cli/tls_server.cpp:330,1
    - Dst: cybozu::Socket::bind
      Src: /src/botan/src/cli/tls_server.cpp:335,1
    - Dst: reinterpret_cast<struct sockaddr*>
      Src: /src/botan/src/cli/tls_server.cpp:335,1
    - Dst: close_socket
      Src: /src/botan/src/cli/tls_server.cpp:336,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_server.cpp:337,1
    - Dst: Server::listen
      Src: /src/botan/src/cli/tls_server.cpp:342,1
    - Dst: close_socket
      Src: /src/botan/src/cli/tls_server.cpp:343,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/tls_server.cpp:344,1
    - Dst: ::setsockopt
      Src: /src/botan/src/cli/tls_server.cpp:349,1
    - Dst: reinterpret_cast<const void*>
      Src: /src/botan/src/cli/tls_server.cpp:352,1
    - Dst: output
      Src: /src/botan/src/cli/tls_server.cpp:355,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 360
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 360
    functionName: Botan_CLI::TLS_Server::make_server_socket
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<struct sockaddr*>
    - ::setsockopt
    - output
    - CLI_Error
    - Server::listen
    - reinterpret_cast<const void*>
    - Client::close_socket
    - cybozu::Socket::bind
    - Botan::clear_mem
    - invalid_socket
    - close_socket
    - htons
    linkageType: ''
    returnType: socket_type
    signature: socket_type make_server_socket(uint16_t port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/cli/tls_server.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: '& Callbacks::output()'
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 0
    functionsReached:
    - output
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & Callbacks::output()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Callbacks::send
      Src: /src/botan/src/cli/tls_server.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Botan_CLI::Callbacks::send
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 4
    functionsReached:
    - Botan_CLI::Callbacks::send
    linkageType: ''
    returnType: void
    signature: void Callbacks::send(std::span<const uint8_t> buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Callbacks::push_pending_output
      Src: /src/botan/src/cli/tls_server.cpp:380,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_server.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - line
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: Botan_CLI::Callbacks::push_pending_output
    functionSourceFile: /src/botan/src/cli/tls_server.cpp
    functionUses: 2
    functionsReached:
    - Botan_CLI::Callbacks::push_pending_output
    - std::move
    linkageType: ''
    returnType: void
    signature: void Callbacks::push_pending_output(std::string line)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan_CLI::Timer::Timer
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Timer(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - name
    - buf_size
    argTypes:
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan_CLI::Timer::Timer
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Timer(std::string_view name, size_t buf_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Timer
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan_CLI::Timer::Timer
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Timer(const Timer& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Timer
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& operator=(const Timer& other)'
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Timer
    signature: Timer & operator=(const Timer& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/cli/timer.h:37,1
    - Dst: std::chrono::milliseconds::count
      Src: /src/botan/src/cli/timer.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msec
    argTypes:
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan_CLI::Timer::under
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached:
    - std::chrono::milliseconds::count
    - Botan_CLI::Timer::milliseconds
    linkageType: ''
    returnType: bool
    signature: bool under(std::chrono::milliseconds msec) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/botan/src/cli/timer.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' timer'
    argTypes:
    - Timer
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan_CLI::Timer::Timer_Scope::Timer_Scope
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void Timer_Scope(Timer& timer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/botan/src/cli/timer.h:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: ~Timer_Scope()
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached:
    - stop
    linkageType: ''
    returnType: void
    signature: void ~Timer_Scope()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/botan/src/cli/timer.h:54,1
    - Dst: f
      Src: /src/botan/src/cli/timer.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: Botan_CLI::Timer::run
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: auto
    signature: auto run(F f) -> decltype(f())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::under
      Src: /src/botan/src/cli/timer.h:61,1
    - Dst: Botan_CLI::Timer::run
      Src: /src/botan/src/cli/timer.h:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - msec
    - f
    argTypes:
    - std::chrono::milliseconds
    - F
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: Botan_CLI::Timer::run_until_elapsed
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::under
    - Botan_CLI::Timer::run
    linkageType: ''
    returnType: void
    signature: void run_until_elapsed(std::chrono::milliseconds msec, F f)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan_CLI::Timer::value
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::value
      Src: /src/botan/src/cli/timer.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan_CLI::Timer::seconds
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 6
    functionsReached:
    - Botan_CLI::Timer::value
    linkageType: ''
    returnType: double
    signature: double seconds() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::value
      Src: /src/botan/src/cli/timer.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan_CLI::Timer::milliseconds
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 22
    functionsReached:
    - Botan_CLI::Timer::value
    linkageType: ''
    returnType: double
    signature: double milliseconds() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::value
      Src: /src/botan/src/cli/timer.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Botan_CLI::Timer::microseconds
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 1
    functionsReached:
    - Botan_CLI::Timer::value
    linkageType: ''
    returnType: double
    signature: double microseconds() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/botan/src/cli/timer.h:74,1
    - Dst: Botan_CLI::Timer::value
      Src: /src/botan/src/cli/timer.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: Botan_CLI::Timer::nanoseconds
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 1
    functionsReached:
    - static_cast<double>
    - Botan_CLI::Timer::value
    linkageType: ''
    returnType: double
    signature: double nanoseconds() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/cli/timer.h:76,1
    - Dst: Botan_CLI::Timer::events
      Src: /src/botan/src/cli/timer.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan_CLI::Timer::ms_per_event
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::events
    - Botan_CLI::Timer::milliseconds
    linkageType: ''
    returnType: double
    signature: double ms_per_event() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/cli/timer.h:80,1
    - Dst: Botan_CLI::Timer::value
      Src: /src/botan/src/cli/timer.h:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: Botan_CLI::Timer::cycles_consumed
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - Botan_CLI::Timer::value
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t cycles_consumed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan_CLI::Timer::events
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t events() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: '& get_name() const'
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: '& doing() const'
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & doing() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan_CLI::Timer::buf_size
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t buf_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/cli/timer.h:93,1
    - Dst: Botan_CLI::Timer::events
      Src: /src/botan/src/cli/timer.h:93,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/cli/timer.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: Botan_CLI::Timer::bytes_per_second
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::seconds
    - Botan_CLI::Timer::events
    linkageType: ''
    returnType: double
    signature: double bytes_per_second() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/cli/timer.h:95,1
    - Dst: Botan_CLI::Timer::events
      Src: /src/botan/src/cli/timer.h:95,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/cli/timer.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan_CLI::Timer::events_per_second
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::seconds
    - Botan_CLI::Timer::events
    linkageType: ''
    returnType: double
    signature: double events_per_second() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::events
      Src: /src/botan/src/cli/timer.h:97,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/cli/timer.h:97,1
    - Dst: Botan_CLI::Timer::events
      Src: /src/botan/src/cli/timer.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan_CLI::Timer::seconds_per_event
    functionSourceFile: /src/botan/src/cli/timer.h
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::seconds
    - Botan_CLI::Timer::events
    linkageType: ''
    returnType: double
    signature: double seconds_per_event() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::priv_emptyset
      Src: /src/botan/src/cli/sandbox.cpp:27,1
    - Dst: ::priv_freeset
      Src: /src/botan/src/cli/sandbox.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ps
    argTypes:
    - priv_set_t*
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: operator()(priv_set_t* ps)
    functionSourceFile: /src/botan/src/cli/sandbox.cpp
    functionUses: 0
    functionsReached:
    - ::priv_freeset
    - ::priv_emptyset
    linkageType: ''
    returnType: void
    signature: void operator()(priv_set_t* ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: Botan_CLI::Sandbox::Sandbox
    functionSourceFile: /src/botan/src/cli/sandbox.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sandbox::Sandbox()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::initialize_allocator
      Src: /src/botan/src/cli/sandbox.cpp:46,1
    - Dst: ::cap_rights_init
      Src: /src/botan/src/cli/sandbox.cpp:51,1
    - Dst: ::cap_rights_init
      Src: /src/botan/src/cli/sandbox.cpp:55,1
    - Dst: ::cap_rights_limit
      Src: /src/botan/src/cli/sandbox.cpp:59,1
    - Dst: ::cap_rights_limit
      Src: /src/botan/src/cli/sandbox.cpp:63,1
    - Dst: ::cap_rights_limit
      Src: /src/botan/src/cli/sandbox.cpp:67,1
    - Dst: ::cap_enter
      Src: /src/botan/src/cli/sandbox.cpp:71,1
    - Dst: ::priv_allocset
      Src: /src/botan/src/cli/sandbox.cpp:82,1
    - Dst: std::unique_ptr<priv_set_t, SandboxPrivDelete>
      Src: /src/botan/src/cli/sandbox.cpp:86,1
    - Dst: ::priv_basicset
      Src: /src/botan/src/cli/sandbox.cpp:87,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/cli/sandbox.cpp:87,1
    - Dst: ::priv_delset
      Src: /src/botan/src/cli/sandbox.cpp:90,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/cli/sandbox.cpp:90,1
    - Dst: ::sandbox_init
      Src: /src/botan/src/cli/sandbox.cpp:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 109
    functionName: Botan_CLI::Sandbox::init
    functionSourceFile: /src/botan/src/cli/sandbox.cpp
    functionUses: 0
    functionsReached:
    - Botan::initialize_allocator
    - ::priv_allocset
    - std::unique_ptr::get
    - ::sandbox_init
    - ::cap_rights_limit
    - ::cap_rights_init
    - ::priv_basicset
    - std::unique_ptr<priv_set_t, SandboxPrivDelete>
    - ::cap_enter
    - ::priv_delset
    linkageType: ''
    returnType: bool
    signature: bool Sandbox::init()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: Sandbox::~Sandbox()
    functionSourceFile: /src/botan/src/cli/sandbox.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sandbox::~Sandbox()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/cli/tls_helpers.h:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' vec'
    - ' val'
    argTypes:
    - std::vector<std::string>
    - std::string
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: value_exists
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 7
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool value_exists(const std::vector<std::string>& vec, const std::string&
      val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::all_of
      Src: /src/botan/src/cli/tls_helpers.h:40,1
    - Dst: std::string_view::begin
      Src: /src/botan/src/cli/tls_helpers.h:40,1
    - Dst: std::string_view::end
      Src: /src/botan/src/cli/tls_helpers.h:40,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/cli/tls_helpers.h:41,1
    - Dst: std::span<const uint8_t>
      Src: /src/botan/src/cli/tls_helpers.h:41,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/cli/tls_helpers.h:41,1
    - Dst: std::string_view::data
      Src: /src/botan/src/cli/tls_helpers.h:41,1
    - Dst: std::string_view::size
      Src: /src/botan/src/cli/tls_helpers.h:41,1
    - Dst: std::string
      Src: /src/botan/src/cli/tls_helpers.h:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: maybe_hex_encode
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 2
    functionsReached:
    - std::string_view::data
    - std::string_view::begin
    - std::string
    - std::string_view::end
    - std::string_view::size
    - reinterpret_cast<const uint8_t*>
    - Botan::hex_encode
    - std::span<const uint8_t>
    - std::all_of
    linkageType: ''
    returnType: std::string
    signature: std::string maybe_hex_encode(std::string_view v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/cli/tls_helpers.h:50,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/cli/tls_helpers.h:54,1
    - Dst: std::exchange
      Src: /src/botan/src/cli/tls_helpers.h:55,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_helpers.h:55,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/cli/tls_helpers.h:60,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_helpers.h:62,1
    - Dst: Botan::DataSource_Stream::end_of_data
      Src: /src/botan/src/cli/tls_helpers.h:65,1
    - Dst: Certificate_Info::certs::push_back
      Src: /src/botan/src/cli/tls_helpers.h:67,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/cli/tls_helpers.h:67,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/cli/tls_helpers.h:71,1
    - Dst: Certificate_Info::certs::empty
      Src: /src/botan/src/cli/tls_helpers.h:71,1
    - Dst: push_back
      Src: /src/botan/src/cli/tls_helpers.h:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' cred'
    - ' key'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 76
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 76
    functionName: Basic_Credentials_Manager::load_credentials
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached:
    - Botan::DataSource_Stream::end_of_data
    - Certificate_Info::certs::push_back
    - std::exchange
    - Botan::PKCS8::load_key
    - Botan::X509_Certificate
    - Certificate_Info::certs::empty
    - Botan::X509::load_key
    - std::move
    - push_back
    - BOTAN_ARG_CHECK
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void load_credentials(const std::string& cred, const std::string& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/cli/tls_helpers.h:86,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_helpers.h:87,1
    - Dst: value_or
      Src: /src/botan/src/cli/tls_helpers.h:92,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_helpers.h:93,1
    - Dst: push_back
      Src: /src/botan/src/cli/tls_helpers.h:94,1
    - Dst: std::make_shared<Botan::Certificate_Store_In_Memory>
      Src: /src/botan/src/cli/tls_helpers.h:94,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/cli/tls_helpers.h:97,1
    - Dst: has_value
      Src: /src/botan/src/cli/tls_helpers.h:97,1
    - Dst: has_value
      Src: /src/botan/src/cli/tls_helpers.h:97,1
    - Dst: has_value
      Src: /src/botan/src/cli/tls_helpers.h:100,1
    - Dst: has_value
      Src: /src/botan/src/cli/tls_helpers.h:100,1
    - Dst: Basic_Credentials_Manager::load_credentials
      Src: /src/botan/src/cli/tls_helpers.h:101,1
    - Dst: value
      Src: /src/botan/src/cli/tls_helpers.h:101,1
    - Dst: value
      Src: /src/botan/src/cli/tls_helpers.h:101,1
    - Dst: push_back
      Src: /src/botan/src/cli/tls_helpers.h:106,1
    - Dst: std::make_shared<Botan::System_Certificate_Store>
      Src: /src/botan/src/cli/tls_helpers.h:106,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/cli/tls_helpers.h:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - use_system_store
    - ' ca_path'
    argTypes:
    - bool
    - std::string
    constantsTouched: []
    func_position:
      end: 111
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 111
    functionName: Basic_Credentials_Manager::Basic_Credentials_Manager
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached:
    - std::make_shared<Botan::System_Certificate_Store>
    - empty
    - push_back
    - std::move
    - std::make_shared<Botan::Certificate_Store_In_Memory>
    - value_or
    - has_value
    - value
    - BOTAN_UNUSED
    - BOTAN_ARG_CHECK
    - Basic_Credentials_Manager::load_credentials
    linkageType: ''
    returnType: void
    signature: "void Basic_Credentials_Manager(bool use_system_store,\n                                const
      std::string& ca_path,\n                                std::optional<std::string>
      client_cred = std::nullopt,\n                                std::optional<std::string>
      client_key = std::nullopt,\n                                std::optional<Botan::secure_vector<uint8_t>>
      psk = std::nullopt,\n                                std::optional<std::string>
      psk_identity = std::nullopt,\n                                const std::optional<std::string>&
      psk_prf = std::nullopt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/cli/tls_helpers.h:118,1
    - Dst: std::move
      Src: /src/botan/src/cli/tls_helpers.h:119,1
    - Dst: value_or
      Src: /src/botan/src/cli/tls_helpers.h:124,1
    - Dst: Basic_Credentials_Manager::load_credentials
      Src: /src/botan/src/cli/tls_helpers.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' server_cred'
    - ' server_key'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: Basic_Credentials_Manager::Basic_Credentials_Manager
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached:
    - std::move
    - Basic_Credentials_Manager::load_credentials
    - value_or
    linkageType: ''
    returnType: void
    signature: "void Basic_Credentials_Manager(const std::string& server_cred,\n                                const
      std::string& server_key,\n                                std::optional<Botan::secure_vector<uint8_t>>
      psk = std::nullopt,\n                                std::optional<std::string>
      psk_identity = std::nullopt,\n                                const std::optional<std::string>&
      psk_prf = std::nullopt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/cli/tls_helpers.h:138,1
    - Dst: get
      Src: /src/botan/src/cli/tls_helpers.h:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' type'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: Basic_Credentials_Manager::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - get
    linkageType: ''
    returnType: std::vector<Botan::Certificate_Store*>
    signature: "std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(const
      std::string& type,\n                                                                             const
      std::string& /*hostname*/) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/cli/tls_helpers.h:150,1
    - Dst: issuer_dn
      Src: /src/botan/src/cli/tls_helpers.h:155,1
    - Dst: find
      Src: /src/botan/src/cli/tls_helpers.h:162,1
    - Dst: begin
      Src: /src/botan/src/cli/tls_helpers.h:162,1
    - Dst: end
      Src: /src/botan/src/cli/tls_helpers.h:162,1
    - Dst: key::algo_name
      Src: /src/botan/src/cli/tls_helpers.h:162,1
    - Dst: end
      Src: /src/botan/src/cli/tls_helpers.h:162,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_helpers.h:166,1
    - Dst: matches_dns_name
      Src: /src/botan/src/cli/tls_helpers.h:166,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 5
    argNames:
    - ' algos'
    - ' cert_signature_schemes'
    - ' acceptable_cas'
    - ' type'
    - ' hostname'
    argTypes:
    - std::vector<std::string>
    - std::vector<Botan::AlgorithmIdentifier>
    - std::vector<Botan::X509_DN>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 175
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 175
    functionName: Basic_Credentials_Manager::find_cert_chain
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached:
    - begin
    - matches_dns_name
    - end
    - key::algo_name
    - empty
    - BOTAN_UNUSED
    - issuer_dn
    - find
    linkageType: ''
    returnType: std::vector<Botan::X509_Certificate>
    signature: "std::vector<Botan::X509_Certificate> find_cert_chain(\n         const
      std::vector<std::string>& algos,\n         const std::vector<Botan::AlgorithmIdentifier>&
      cert_signature_schemes,\n         const std::vector<Botan::X509_DN>& acceptable_cas,\n
      \        const std::string& type,\n         const std::string& hostname) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/cli/tls_helpers.h:180,1
    - Dst: empty
      Src: /src/botan/src/cli/tls_helpers.h:181,1
    - Dst: value_exists
      Src: /src/botan/src/cli/tls_helpers.h:181,1
    - Dst: public_key::algo_name
      Src: /src/botan/src/cli/tls_helpers.h:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ' algos'
    - ' type'
    - ' hostname'
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: Basic_Credentials_Manager::find_raw_public_key
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached:
    - value_exists
    - empty
    - BOTAN_UNUSED
    - public_key::algo_name
    linkageType: ''
    returnType: std::shared_ptr<Botan::Public_Key>
    signature: "std::shared_ptr<Botan::Public_Key> find_raw_public_key(const std::vector<std::string>&
      algos,\n                                                             const std::string&
      type,\n                                                             const std::string&
      hostname) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - Botan::X509_Certificate
    constantsTouched: []
    func_position:
      end: 195
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 195
    functionName: Basic_Credentials_Manager::private_key_for
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Botan::Private_Key>
    signature: "std::shared_ptr<Botan::Private_Key> private_key_for(const Botan::X509_Certificate&
      cert,\n                                                          const std::string&
      /*type*/,\n                                                          const std::string&
      /*context*/) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key::fingerprint_public
      Src: /src/botan/src/cli/tls_helpers.h:200,1
    - Dst: fingerprint_public
      Src: /src/botan/src/cli/tls_helpers.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' raw_public_key'
    argTypes:
    - Botan::Public_Key
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: Basic_Credentials_Manager::private_key_for
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached:
    - fingerprint_public
    - public_key::fingerprint_public
    linkageType: ''
    returnType: std::shared_ptr<Botan::Private_Key>
    signature: "std::shared_ptr<Botan::Private_Key> private_key_for(const Botan::Public_Key&
      raw_public_key,\n                                                          const
      std::string& /*type*/,\n                                                          const
      std::string& /*context*/) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/cli/tls_helpers.h:209,1
    - Dst: Botan::Credentials_Manager::psk_identity
      Src: /src/botan/src/cli/tls_helpers.h:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - ' type'
    - ' context'
    - ' identity_hint'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: Basic_Credentials_Manager::psk_identity
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached:
    - Botan::Credentials_Manager::psk_identity
    - value
    linkageType: ''
    returnType: std::string
    signature: "std::string psk_identity(const std::string& type,\n                               const
      std::string& context,\n                               const std::string& identity_hint)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/cli/tls_helpers.h:218,1
    - Dst: has_value
      Src: /src/botan/src/cli/tls_helpers.h:218,1
    - Dst: Botan::Credentials_Manager::find_preshared_keys
      Src: /src/botan/src/cli/tls_helpers.h:219,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/cli/tls_helpers.h:228,1
    - Dst: value
      Src: /src/botan/src/cli/tls_helpers.h:228,1
    - Dst: value
      Src: /src/botan/src/cli/tls_helpers.h:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - host
    - peer_type
    argTypes:
    - std::string_view
    - Botan::TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 232
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 232
    functionName: Basic_Credentials_Manager::find_preshared_keys
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - Botan::Credentials_Manager::find_preshared_keys
    - has_value
    - value
    linkageType: ''
    returnType: std::vector<Botan::TLS::ExternalPSK>
    signature: "std::vector<Botan::TLS::ExternalPSK> find_preshared_keys(\n         std::string_view
      host,\n         Botan::TLS::Connection_Side peer_type,\n         const std::vector<std::string>&
      ids = {},\n         const std::optional<std::string>& prf = std::nullopt) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 276
    functionName: TLS_All_Policy::allowed_ciphers
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> allowed_ciphers() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: TLS_All_Policy::allowed_key_exchange_methods
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> allowed_key_exchange_methods() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: TLS_All_Policy::allowed_signature_methods
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> allowed_signature_methods() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: TLS_All_Policy::allow_tls12
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allow_tls12() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/cli/tls_helpers.h:290,1
    - Dst: std::make_shared<Botan::TLS::Policy>
      Src: /src/botan/src/cli/tls_helpers.h:291,1
    - Dst: std::make_shared<Botan::TLS::NSA_Suite_B_128>
      Src: /src/botan/src/cli/tls_helpers.h:293,1
    - Dst: std::make_shared<Botan::TLS::NSA_Suite_B_192>
      Src: /src/botan/src/cli/tls_helpers.h:295,1
    - Dst: std::make_shared<Botan::TLS::Strict_Policy>
      Src: /src/botan/src/cli/tls_helpers.h:297,1
    - Dst: std::make_shared<Botan::TLS::BSI_TR_02102_2>
      Src: /src/botan/src/cli/tls_helpers.h:299,1
    - Dst: std::make_shared<Botan::TLS::Strict_Policy>
      Src: /src/botan/src/cli/tls_helpers.h:301,1
    - Dst: std::make_shared<TLS_All_Policy>
      Src: /src/botan/src/cli/tls_helpers.h:303,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/cli/tls_helpers.h:308,1
    - Dst: Botan_CLI::CLI_Usage_Error::CLI_Usage_Error
      Src: /src/botan/src/cli/tls_helpers.h:309,1
    - Dst: std::make_shared<Botan::TLS::Text_Policy>
      Src: /src/botan/src/cli/tls_helpers.h:311,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - ' policy_type'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 312
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 312
    functionName: load_tls_policy
    functionSourceFile: /src/botan/src/cli/tls_helpers.h
    functionUses: 5
    functionsReached:
    - std::ifstream::good
    - std::make_shared<Botan::TLS::NSA_Suite_B_128>
    - std::make_shared<Botan::TLS::Policy>
    - std::make_shared<TLS_All_Policy>
    - std::make_shared<Botan::TLS::NSA_Suite_B_192>
    - empty
    - Botan_CLI::CLI_Usage_Error::CLI_Usage_Error
    - std::make_shared<Botan::TLS::Strict_Policy>
    - std::make_shared<Botan::TLS::Text_Policy>
    - std::make_shared<Botan::TLS::BSI_TR_02102_2>
    linkageType: ''
    returnType: std::shared_ptr<Botan::TLS::Policy>
    signature: std::shared_ptr<Botan::TLS::Policy> load_tls_policy(const std::string&
      policy_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan_CLI::Compress::Compress
    functionSourceFile: /src/botan/src/cli/compress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Compress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::map::find
      Src: /src/botan/src/cli/compress.cpp:30,1
    - Dst: std::map::contains
      Src: /src/botan/src/cli/compress.cpp:31,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/compress.cpp:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' input_fsname'
    - ' comp_type'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 36
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 36
    functionName: Botan_CLI::Compress::output_filename
    functionSourceFile: /src/botan/src/cli/compress.cpp
    functionUses: 0
    functionsReached:
    - std::map::find
    - CLI_Error_Unsupported
    - std::map::contains
    linkageType: ''
    returnType: std::string
    signature: std::string output_filename(const std::string& input_fsname, const
      std::string& comp_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan_CLI::Compress::group
    functionSourceFile: /src/botan/src/cli/compress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan_CLI::Compress::description
    functionSourceFile: /src/botan/src/cli/compress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/compress.cpp:43,1
    - Dst: Botan::Compression_Algorithm::create
      Src: /src/botan/src/cli/compress.cpp:47,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/compress.cpp:49,1
    - Dst: get_arg
      Src: /src/botan/src/cli/compress.cpp:52,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/cli/compress.cpp:55,1
    - Dst: CLI_IO_Error
      Src: /src/botan/src/cli/compress.cpp:56,1
    - Dst: Botan_CLI::Compress::output_filename
      Src: /src/botan/src/cli/compress.cpp:59,1
    - Dst: std::ofstream::good
      Src: /src/botan/src/cli/compress.cpp:61,1
    - Dst: CLI_IO_Error
      Src: /src/botan/src/cli/compress.cpp:62,1
    - Dst: auto::start
      Src: /src/botan/src/cli/compress.cpp:67,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/cli/compress.cpp:69,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/cli/compress.cpp:70,1
    - Dst: std::ifstream::read
      Src: /src/botan/src/cli/compress.cpp:71,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/cli/compress.cpp:71,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/cli/compress.cpp:71,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/compress.cpp:71,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/cli/compress.cpp:72,1
    - Dst: std::ifstream::gcount
      Src: /src/botan/src/cli/compress.cpp:72,1
    - Dst: auto::update
      Src: /src/botan/src/cli/compress.cpp:74,1
    - Dst: std::ofstream::write
      Src: /src/botan/src/cli/compress.cpp:76,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/compress.cpp:76,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/cli/compress.cpp:76,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/compress.cpp:76,1
    - Dst: Botan::secure_vector::clear
      Src: /src/botan/src/cli/compress.cpp:79,1
    - Dst: auto::finish
      Src: /src/botan/src/cli/compress.cpp:80,1
    - Dst: std::ofstream::write
      Src: /src/botan/src/cli/compress.cpp:81,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/compress.cpp:81,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/cli/compress.cpp:81,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/compress.cpp:81,1
    - Dst: std::ofstream::close
      Src: /src/botan/src/cli/compress.cpp:82,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 83
    functionName: Botan_CLI::Compress::go
    functionSourceFile: /src/botan/src/cli/compress.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - Botan::secure_vector::clear
    - CLI_IO_Error
    - std::ifstream::gcount
    - Botan::Compression_Algorithm::create
    - get_arg
    - auto::update
    - std::ofstream::close
    - std::ofstream::write
    - Botan::secure_vector::resize
    - Botan::secure_vector::size
    - reinterpret_cast<char*>
    - std::ofstream::good
    - CLI_Error_Unsupported
    - Botan::secure_vector::data
    - reinterpret_cast<const char*>
    - std::ifstream::good
    - Botan_CLI::Compress::output_filename
    - auto::finish
    - std::ifstream::read
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Botan_CLI::Decompress::Decompress
    functionSourceFile: /src/botan/src/cli/compress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Decompress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_last_of
      Src: /src/botan/src/cli/compress.cpp:93,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/compress.cpp:95,1
    - Dst: substr
      Src: /src/botan/src/cli/compress.cpp:98,1
    - Dst: substr
      Src: /src/botan/src/cli/compress.cpp:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ' in_file'
    - ' out_file'
    - ' suffix'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: Botan_CLI::Decompress::parse_extension
    functionSourceFile: /src/botan/src/cli/compress.cpp
    functionUses: 0
    functionsReached:
    - substr
    - find_last_of
    - CLI_Error
    linkageType: ''
    returnType: void
    signature: void parse_extension(const std::string& in_file, std::string& out_file,
      std::string& suffix)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan_CLI::Decompress::group
    functionSourceFile: /src/botan/src/cli/compress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Botan_CLI::Decompress::description
    functionSourceFile: /src/botan/src/cli/compress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/compress.cpp:108,1
    - Dst: Botan_CLI::Decompress::parse_extension
      Src: /src/botan/src/cli/compress.cpp:110,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/cli/compress.cpp:114,1
    - Dst: CLI_IO_Error
      Src: /src/botan/src/cli/compress.cpp:115,1
    - Dst: Botan::Decompression_Algorithm::create
      Src: /src/botan/src/cli/compress.cpp:118,1
    - Dst: CLI_Error_Unsupported
      Src: /src/botan/src/cli/compress.cpp:121,1
    - Dst: std::ofstream::good
      Src: /src/botan/src/cli/compress.cpp:125,1
    - Dst: CLI_IO_Error
      Src: /src/botan/src/cli/compress.cpp:126,1
    - Dst: auto::start
      Src: /src/botan/src/cli/compress.cpp:131,1
    - Dst: std::ifstream::good
      Src: /src/botan/src/cli/compress.cpp:133,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/cli/compress.cpp:134,1
    - Dst: std::ifstream::read
      Src: /src/botan/src/cli/compress.cpp:135,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/cli/compress.cpp:135,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/cli/compress.cpp:135,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/compress.cpp:135,1
    - Dst: Botan::secure_vector::resize
      Src: /src/botan/src/cli/compress.cpp:136,1
    - Dst: std::ifstream::gcount
      Src: /src/botan/src/cli/compress.cpp:136,1
    - Dst: auto::update
      Src: /src/botan/src/cli/compress.cpp:138,1
    - Dst: std::ofstream::write
      Src: /src/botan/src/cli/compress.cpp:140,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/compress.cpp:140,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/cli/compress.cpp:140,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/compress.cpp:140,1
    - Dst: Botan::secure_vector::clear
      Src: /src/botan/src/cli/compress.cpp:143,1
    - Dst: auto::finish
      Src: /src/botan/src/cli/compress.cpp:144,1
    - Dst: std::ofstream::write
      Src: /src/botan/src/cli/compress.cpp:145,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/cli/compress.cpp:145,1
    - Dst: Botan::secure_vector::data
      Src: /src/botan/src/cli/compress.cpp:145,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/cli/compress.cpp:145,1
    - Dst: std::ofstream::close
      Src: /src/botan/src/cli/compress.cpp:146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 147
    functionName: Botan_CLI::Decompress::go
    functionSourceFile: /src/botan/src/cli/compress.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - Botan::secure_vector::clear
    - Botan_CLI::Decompress::parse_extension
    - CLI_IO_Error
    - std::ifstream::gcount
    - get_arg
    - auto::update
    - std::ofstream::close
    - std::ofstream::write
    - Botan::secure_vector::resize
    - Botan::secure_vector::size
    - reinterpret_cast<char*>
    - std::ofstream::good
    - Botan::Decompression_Algorithm::create
    - CLI_Error_Unsupported
    - Botan::secure_vector::data
    - reinterpret_cast<const char*>
    - std::ifstream::good
    - auto::finish
    - std::ifstream::read
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan_CLI::PerfTest_PKKa::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_ka.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::PerfTest_PKKa::algo
      Src: /src/botan/src/cli/perf_pk_ka.cpp:25,1
    - Dst: Botan_CLI::PerfTest_PKKa::keygen_params
      Src: /src/botan/src/cli/perf_pk_ka.cpp:27,1
    - Dst: Botan_CLI::PerfTest_PKKa::format_name
      Src: /src/botan/src/cli/perf_pk_ka.cpp:30,1
    - Dst: Botan_CLI::PerfTest_PKKa::bench_pk_ka
      Src: /src/botan/src/cli/perf_pk_ka.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: Botan_CLI::PerfTest_PKKa::go
    functionSourceFile: /src/botan/src/cli/perf_pk_ka.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::PerfTest_PKKa::keygen_params
    - Botan_CLI::PerfTest_PKKa::bench_pk_ka
    - Botan_CLI::PerfTest_PKKa::format_name
    - Botan_CLI::PerfTest_PKKa::algo
    linkageType: ''
    returnType: void
    signature: void go(const PerfConfig& config) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runtime
      Src: /src/botan/src/cli/perf_pk_ka.cpp:40,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_ka.cpp:44,1
    - Dst: rng
      Src: /src/botan/src/cli/perf_pk_ka.cpp:46,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_ka.cpp:48,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_ka.cpp:48,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_ka.cpp:49,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_ka.cpp:49,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_ka.cpp:52,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_ka.cpp:53,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/cli/perf_pk_ka.cpp:53,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_ka.cpp:56,1
    - Dst: dynamic_cast<const Botan::PK_Key_Agreement_Key&>
      Src: /src/botan/src/cli/perf_pk_ka.cpp:58,1
    - Dst: dynamic_cast<const Botan::PK_Key_Agreement_Key&>
      Src: /src/botan/src/cli/perf_pk_ka.cpp:59,1
    - Dst: public_value
      Src: /src/botan/src/cli/perf_pk_ka.cpp:64,1
    - Dst: public_value
      Src: /src/botan/src/cli/perf_pk_ka.cpp:65,1
    - Dst: make_timer
      Src: /src/botan/src/cli/perf_pk_ka.cpp:67,1
    - Dst: auto::under
      Src: /src/botan/src/cli/perf_pk_ka.cpp:69,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_ka.cpp:70,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/cli/perf_pk_ka.cpp:70,1
    - Dst: auto::run
      Src: /src/botan/src/cli/perf_pk_ka.cpp:71,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/cli/perf_pk_ka.cpp:71,1
    - Dst: error_output
      Src: /src/botan/src/cli/perf_pk_ka.cpp:74,1
    - Dst: record_result
      Src: /src/botan/src/cli/perf_pk_ka.cpp:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - ' config'
    - ' nm'
    - ' algo'
    - ' params'
    argTypes:
    - PerfConfig
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 80
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 80
    functionName: Botan_CLI::PerfTest_PKKa::bench_pk_ka
    functionSourceFile: /src/botan/src/cli/perf_pk_ka.cpp
    functionUses: 1
    functionsReached:
    - error_output
    - make_timer
    - Botan::create_private_key
    - Botan::PK_Key_Agreement::derive_key
    - public_value
    - dynamic_cast<const Botan::PK_Key_Agreement_Key&>
    - runtime
    - record_result
    - rng
    - auto::under
    - auto::run
    linkageType: ''
    returnType: void
    signature: "void bench_pk_ka(const PerfConfig& config,\n                       const
      std::string& nm,\n                       const std::string& algo,\n                       const
      std::string& params,\n                       const std::string& provider = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan_CLI::PerfTest_DH::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_ka.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: Botan_CLI::PerfTest_DH::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_ka.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& /*config*/)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/cli/perf_pk_ka.cpp:102,1
    - Dst: substr
      Src: /src/botan/src/cli/perf_pk_ka.cpp:102,1
    - Dst: find_last_of
      Src: /src/botan/src/cli/perf_pk_ka.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' alg'
    - ' param'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: Botan_CLI::PerfTest_DH::format_name
    functionSourceFile: /src/botan/src/cli/perf_pk_ka.cpp
    functionUses: 0
    functionsReached:
    - substr
    - Botan::fmt
    - find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string format_name(const std::string& alg, const std::string&
      param) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Botan_CLI::PerfTest_ECDH::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_ka.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_groups
      Src: /src/botan/src/cli/perf_pk_ka.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - PerfConfig
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan_CLI::PerfTest_ECDH::keygen_params
    functionSourceFile: /src/botan/src/cli/perf_pk_ka.cpp
    functionUses: 0
    functionsReached:
    - ecc_groups
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> keygen_params(const PerfConfig& config) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Botan_CLI::PerfTest_X25519::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_ka.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: Botan_CLI::PerfTest_X448::algo
    functionSourceFile: /src/botan/src/cli/perf_pk_ka.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan_CLI::PK_Encrypt::PK_Encrypt
    functionSourceFile: /src/botan/src/cli/pk_crypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Encrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan_CLI::PK_Encrypt::group
    functionSourceFile: /src/botan/src/cli/pk_crypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan_CLI::PK_Encrypt::description
    functionSourceFile: /src/botan/src/cli/pk_crypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/cli/pk_crypt.cpp:34,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pk_crypt.cpp:34,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/pk_crypt.cpp:36,1
    - Dst: auto::algo_name
      Src: /src/botan/src/cli/pk_crypt.cpp:39,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pk_crypt.cpp:40,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pk_crypt.cpp:44,1
    - Dst: Botan::AEAD_Mode::create
      Src: /src/botan/src/cli/pk_crypt.cpp:46,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pk_crypt.cpp:49,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/cli/pk_crypt.cpp:52,1
    - Dst: Botan::OID::empty
      Src: /src/botan/src/cli/pk_crypt.cpp:53,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pk_crypt.cpp:54,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/cli/pk_crypt.cpp:58,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/cli/pk_crypt.cpp:58,1
    - Dst: Botan_CLI::Command::read_file
      Src: /src/botan/src/cli/pk_crypt.cpp:59,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pk_crypt.cpp:59,1
    - Dst: Botan::AlgorithmIdentifier::BER_encode
      Src: /src/botan/src/cli/pk_crypt.cpp:62,1
    - Dst: rng
      Src: /src/botan/src/cli/pk_crypt.cpp:64,1
    - Dst: rng
      Src: /src/botan/src/cli/pk_crypt.cpp:66,1
    - Dst: std::unique_ptr::key_spec
      Src: /src/botan/src/cli/pk_crypt.cpp:66,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/cli/pk_crypt.cpp:68,1
    - Dst: rng
      Src: /src/botan/src/cli/pk_crypt.cpp:68,1
    - Dst: rng
      Src: /src/botan/src/cli/pk_crypt.cpp:70,1
    - Dst: std::unique_ptr::default_nonce_length
      Src: /src/botan/src/cli/pk_crypt.cpp:70,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/cli/pk_crypt.cpp:71,1
    - Dst: std::unique_ptr::set_associated_data
      Src: /src/botan/src/cli/pk_crypt.cpp:72,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/cli/pk_crypt.cpp:73,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/cli/pk_crypt.cpp:75,1
    - Dst: Botan::DER_Encoder::start_sequence
      Src: /src/botan/src/cli/pk_crypt.cpp:80,1
    - Dst: output
      Src: /src/botan/src/cli/pk_crypt.cpp:88,1
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/cli/pk_crypt.cpp:88,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 89
    functionName: Botan_CLI::PK_Encrypt::go
    functionSourceFile: /src/botan/src/cli/pk_crypt.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::empty
    - std::unique_ptr::set_key
    - output
    - get_arg
    - Botan_CLI::Command::read_file
    - Botan::secure_vector::end
    - Botan::AEAD_Mode::create
    - Botan::DER_Encoder::start_sequence
    - std::unique_ptr::finish
    - Botan::AlgorithmIdentifier::BER_encode
    - Botan::PK_Encryptor_EME::encrypt
    - Botan::PEM_Code::encode
    - Botan::secure_vector::insert
    - rng
    - auto::algo_name
    - std::unique_ptr::start
    - std::unique_ptr::set_associated_data
    - std::unique_ptr::default_nonce_length
    - CLI_Error
    - std::unique_ptr::key_spec
    - Botan::X509::load_key
    - CLI_Usage_Error
    - Botan::OID::from_string
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan_CLI::PK_Decrypt::PK_Decrypt
    functionSourceFile: /src/botan/src/cli/pk_crypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Decrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan_CLI::PK_Decrypt::group
    functionSourceFile: /src/botan/src/cli/pk_crypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string group() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: Botan_CLI::PK_Decrypt::description
    functionSourceFile: /src/botan/src/cli/pk_crypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string description() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/botan/src/cli/pk_crypt.cpp:103,1
    - Dst: get_passphrase
      Src: /src/botan/src/cli/pk_crypt.cpp:104,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/cli/pk_crypt.cpp:105,1
    - Dst: CLI_Error
      Src: /src/botan/src/cli/pk_crypt.cpp:108,1
    - Dst: std::unique_ptr::algo_name
      Src: /src/botan/src/cli/pk_crypt.cpp:111,1
    - Dst: CLI_Usage_Error
      Src: /src/botan/src/cli/pk_crypt.cpp:112,1
    - Dst: Botan::AlgorithmIdentifier::AlgorithmIdentifier
      Src: /src/botan/src/cli/pk_crypt.cpp:118,1
    - Dst: Botan::OID::OID
      Src: /src/botan/src/cli/pk_crypt.cpp:119,1
    - Dst: get_arg
      Src: /src/botan/src/cli/pk_crypt.cpp:122,1
    - Dst: Botan::BER_Decoder::BER_Decoder
      Src: /src/botan/src/cli/pk_crypt.cpp:124,1
    - Dst: Botan::PEM_Code::decode_check_label
      Src: /src/botan/src/cli/pk_crypt.cpp:124,1
    - Dst: error_output
      Src: /src/botan/src/cli/pk_crypt.cpp:133,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/pk_crypt.cpp:134,1
    - Dst: Botan::OID::human_name_or_empty
      Src: /src/botan/src/cli/pk_crypt.cpp:137,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pk_crypt.cpp:138,1
    - Dst: error_output
      Src: /src/botan/src/cli/pk_crypt.cpp:139,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/pk_crypt.cpp:140,1
    - Dst: Botan::AlgorithmIdentifier::oid
      Src: /src/botan/src/cli/pk_crypt.cpp:143,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/cli/pk_crypt.cpp:143,1
    - Dst: error_output
      Src: /src/botan/src/cli/pk_crypt.cpp:144,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/pk_crypt.cpp:145,1
    - Dst: Botan::AlgorithmIdentifier::AlgorithmIdentifier
      Src: /src/botan/src/cli/pk_crypt.cpp:148,1
    - Dst: Botan::BER_Decoder::BER_Decoder
      Src: /src/botan/src/cli/pk_crypt.cpp:149,1
    - Dst: Botan::AlgorithmIdentifier::parameters
      Src: /src/botan/src/cli/pk_crypt.cpp:149,1
    - Dst: Botan::AlgorithmIdentifier::oid
      Src: /src/botan/src/cli/pk_crypt.cpp:151,1
    - Dst: std::string::empty
      Src: /src/botan/src/cli/pk_crypt.cpp:153,1
    - Dst: error_output
      Src: /src/botan/src/cli/pk_crypt.cpp:154,1
    - Dst: Botan::AlgorithmIdentifier::oid
      Src: /src/botan/src/cli/pk_crypt.cpp:154,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/pk_crypt.cpp:155,1
    - Dst: Botan::AlgorithmIdentifier::parameters
      Src: /src/botan/src/cli/pk_crypt.cpp:158,1
    - Dst: error_output
      Src: /src/botan/src/cli/pk_crypt.cpp:159,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/pk_crypt.cpp:160,1
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/cli/pk_crypt.cpp:164,1
    - Dst: rng
      Src: /src/botan/src/cli/pk_crypt.cpp:168,1
    - Dst: Botan::PK_Decryptor_EME::decrypt_or_random
      Src: /src/botan/src/cli/pk_crypt.cpp:171,1
    - Dst: std::vector::data
      Src: /src/botan/src/cli/pk_crypt.cpp:171,1
    - Dst: std::vector::size
      Src: /src/botan/src/cli/pk_crypt.cpp:171,1
    - Dst: rng
      Src: /src/botan/src/cli/pk_crypt.cpp:171,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/cli/pk_crypt.cpp:173,1
    - Dst: std::unique_ptr::set_associated_data
      Src: /src/botan/src/cli/pk_crypt.cpp:174,1
    - Dst: std::unique_ptr::start
      Src: /src/botan/src/cli/pk_crypt.cpp:175,1
    - Dst: std::unique_ptr::finish
      Src: /src/botan/src/cli/pk_crypt.cpp:178,1
    - Dst: write_output
      Src: /src/botan/src/cli/pk_crypt.cpp:180,1
    - Dst: error_output
      Src: /src/botan/src/cli/pk_crypt.cpp:182,1
    - Dst: set_return_code
      Src: /src/botan/src/cli/pk_crypt.cpp:183,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 185
    functionName: Botan_CLI::PK_Decrypt::go
    functionSourceFile: /src/botan/src/cli/pk_crypt.cpp
    functionUses: 0
    functionsReached:
    - error_output
    - std::vector::size
    - write_output
    - std::string::empty
    - std::unique_ptr::set_key
    - get_arg
    - Botan::PKCS8::load_key
    - std::unique_ptr::finish
    - Botan::AlgorithmIdentifier::parameters
    - Botan::BER_Decoder::BER_Decoder
    - Botan::AlgorithmIdentifier::oid
    - std::vector::data
    - set_return_code
    - rng
    - std::unique_ptr::algo_name
    - std::unique_ptr::start
    - std::unique_ptr::set_associated_data
    - Botan::AEAD_Mode::create_or_throw
    - CLI_Error
    - Botan::PK_Decryptor_EME::decrypt_or_random
    - Botan::OID::human_name_or_empty
    - Botan::AlgorithmIdentifier::AlgorithmIdentifier
    - Botan::OID::OID
    - get_passphrase
    - CLI_Usage_Error
    - Botan::OID::from_string
    - Botan::PEM_Code::decode_check_label
    linkageType: ''
    returnType: void
    signature: void go() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: shim_output
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int shim_output(const std::string& s, int rc = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::getenv
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:61,1
    - Dst: std::fopen
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:70,1
    - Dst: ::gettimeofday
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:72,1
    - Dst: static_cast<void>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:73,1
    - Dst: std::fprintf
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:73,1
    - Dst: static_cast<unsigned long long>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:75,1
    - Dst: static_cast<unsigned long>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:76,1
    - Dst: c_str
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:77,1
    - Dst: static_cast<void>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:78,1
    - Dst: std::fflush
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 80
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 80
    functionName: shim_log
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - std::fflush
    - static_cast<unsigned long>
    - std::fprintf
    - c_str
    - static_cast<unsigned long long>
    - std::fopen
    - ::getenv
    - static_cast<void>
    - ::gettimeofday
    linkageType: ''
    returnType: void
    signature: void shim_log(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:83,1
    - Dst: std::exit
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: shim_exit_with_error
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - shim_log
    - std::exit
    linkageType: ''
    returnType: void
    signature: void shim_exit_with_error(const std::string& s, int rc = 1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:89,1
    - Dst: std::unordered_map::find
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:337,1
    - Dst: std::unordered_map::end
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 343
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 343
    functionName: map_to_bogo_error
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - std::unordered_map::end
    - shim_log
    - std::unordered_map::find
    linkageType: ''
    returnType: std::string
    signature: std::string map_to_bogo_error(const std::string& e)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: Shim_Exception::Shim_Exception
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Shim_Exception(std::string_view msg, int rc = 1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 349
    functionName: Shim_Exception::what
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: Shim_Exception::rc
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rc() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: Shim_Socket::close_socket
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl::close
    linkageType: ''
    returnType: void
    signature: void close_socket(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::strerror
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 367
    functionName: Shim_Socket::get_last_socket_error
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - ::strerror
    linkageType: ''
    returnType: std::string
    signature: std::string get_last_socket_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:374,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:379,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:388,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:391,1
    - Dst: unique_addrinfo_t::get
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:394,1
    - Dst: Client::close_socket
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:399,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:409,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:415,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 3
    argNames:
    - ' hostname'
    - port
    - ipv6
    argTypes:
    - std::string
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 417
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 417
    functionName: Shim_Socket::Shim_Socket
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Exception
    - std::to_string
    - Client::close_socket
    - Botan::TLS::Channel_Impl::close
    - unique_addrinfo_t::get
    - memset
    - shim_log
    linkageType: ''
    returnType: void
    signature: void Shim_Socket(const std::string& hostname, int port, const bool
      ipv6)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 419
    functionName: Shim_Socket::Shim_Socket
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Shim_Socket(const Shim_Socket&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 420
    functionName: '& operator=(const Shim_Socket&)'
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Shim_Socket
    signature: Shim_Socket & operator=(const Shim_Socket&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 422
    functionName: Shim_Socket::Shim_Socket
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Shim_Socket(Shim_Socket&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 423
    functionName: '& operator=(Shim_Socket&&)'
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Shim_Socket
    signature: Shim_Socket & operator=(Shim_Socket&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: ~Shim_Socket()
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl::close
    linkageType: ''
    returnType: void
    signature: void ~Shim_Socket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:432,1
    - Dst: Botan_Tests::MockChannel::send
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:438,1
    - Dst: Botan::cast_uint8_ptr_to_char
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:438,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:443,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 449
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 449
    functionName: Shim_Socket::write
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 1
    functionsReached:
    - Botan::cast_uint8_ptr_to_char
    - Shim_Exception
    - static_cast<size_t>
    - Botan_Tests::MockChannel::send
    linkageType: ''
    returnType: void
    signature: void write(const uint8_t buf[], size_t len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:453,1
    - Dst: Shim_Socket::read
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:455,1
    - Dst: Botan::cast_uint8_ptr_to_char
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:455,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:461,1
    - Dst: std::string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:461,1
    - Dst: strerror
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:461,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 465
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 465
    functionName: Shim_Socket::read
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 2
    functionsReached:
    - Shim_Exception
    - strerror
    - Shim_Socket::read
    - std::string
    - static_cast<size_t>
    - Botan::cast_uint8_ptr_to_char
    linkageType: ''
    returnType: size_t
    signature: size_t read(uint8_t buf[], size_t len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:469,1
    - Dst: Shim_Socket::read
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:473,1
    - Dst: Botan::cast_uint8_ptr_to_char
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:473,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:476,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:478,1
    - Dst: std::string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:478,1
    - Dst: strerror
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:478,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:481,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:482,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 484
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 484
    functionName: Shim_Socket::read_exactly
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Exception
    - strerror
    - Shim_Socket::read
    - std::string
    - static_cast<size_t>
    - Botan::cast_uint8_ptr_to_char
    linkageType: ''
    returnType: void
    signature: void read_exactly(uint8_t buf[], size_t len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::set::insert
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:499,1
    - Dst: std::set::insert
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:502,1
    - Dst: std::set::insert
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:505,1
    - Dst: std::set::insert
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:508,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - std::set<std::string>
    - std::set<std::string>
    - std::set<std::string>
    - std::set<std::string>
    constantsTouched: []
    func_position:
      end: 512
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 512
    functionName: combine_options
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    linkageType: ''
    returnType: std::set<std::string>
    signature: "std::set<std::string> combine_options(const std::set<std::string>&
      a,\n                                      const std::set<std::string>& b,\n
      \                                     const std::set<std::string>& c,\n                                      const
      std::set<std::string>& d)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: combine_options
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' flags'
    - ' string_opts'
    - ' base64_opts'
    - ' int_opts'
    - ' int_vec_opts'
    argTypes:
    - std::set<std::string>
    - std::set<std::string>
    - std::set<std::string>
    - std::set<std::string>
    - std::set<std::string>
    constantsTouched: []
    func_position:
      end: 526
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 526
    functionName: Shim_Arguments::Shim_Arguments
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - combine_options
    linkageType: ''
    returnType: void
    signature: "void Shim_Arguments(const std::set<std::string>& flags,\n                     const
      std::set<std::string>& string_opts,\n                     const std::set<std::string>&
      base64_opts,\n                     const std::set<std::string>& int_opts,\n
      \                    const std::set<std::string>& int_vec_opts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:531,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:532,1
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' flag'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: Shim_Arguments::flag_set
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Exception
    - contains
    linkageType: ''
    returnType: bool
    signature: bool flag_set(const std::string& flag) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Arguments::get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 538
    functionName: Shim_Arguments::test_name
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Arguments::get_string_opt
    linkageType: ''
    returnType: std::string
    signature: std::string test_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:541,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:542,1
    - Dst: Shim_Arguments::get_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 545
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 545
    functionName: Shim_Arguments::get_string_opt
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 1
    functionsReached:
    - Shim_Exception
    - Shim_Arguments::get_opt
    - contains
    linkageType: ''
    returnType: std::string
    signature: std::string get_string_opt(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:548,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:549,1
    - Dst: Shim_Arguments::option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:551,1
    - Dst: Shim_Arguments::get_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' key'
    - ' def'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 555
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 555
    functionName: Shim_Arguments::get_string_opt_or_else
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Exception
    - Shim_Arguments::get_opt
    - contains
    - Shim_Arguments::option_used
    linkageType: ''
    returnType: std::string
    signature: std::string get_string_opt_or_else(const std::string& key, const std::string&
      def) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:558,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:559,1
    - Dst: Botan::unlock
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:561,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:561,1
    - Dst: Shim_Arguments::get_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 562
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 562
    functionName: Shim_Arguments::get_b64_opt
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Exception
    - contains
    - Botan::unlock
    - Botan::base64_decode
    - Shim_Arguments::get_opt
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> get_b64_opt(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:565,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:566,1
    - Dst: Botan::to_u32bit
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:568,1
    - Dst: Shim_Arguments::get_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 569
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 569
    functionName: Shim_Arguments::get_int_opt
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Exception
    - Botan::to_u32bit
    - contains
    - Shim_Arguments::get_opt
    linkageType: ''
    returnType: size_t
    signature: size_t get_int_opt(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:572,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:573,1
    - Dst: Shim_Arguments::option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:575,1
    - Dst: Botan::to_u32bit
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:579,1
    - Dst: Shim_Arguments::get_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' key'
    - def
    argTypes:
    - std::string
    - size_t
    constantsTouched: []
    func_position:
      end: 580
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 580
    functionName: Shim_Arguments::get_int_opt_or_else
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Exception
    - Botan::to_u32bit
    - contains
    - Shim_Arguments::option_used
    - Shim_Arguments::get_opt
    linkageType: ''
    returnType: size_t
    signature: size_t get_int_opt_or_else(const std::string& key, size_t def) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:583,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:584,1
    - Dst: find
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:587,1
    - Dst: end
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:588,1
    - Dst: std::vector<size_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 593
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 593
    functionName: Shim_Arguments::get_int_vec_opt
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Exception
    - contains
    - end
    - find
    - std::vector<size_t>
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> get_int_vec_opt(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Arguments::option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:599,1
    - Dst: Botan::split_on
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:600,1
    - Dst: Shim_Arguments::get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:600,1
    - Dst: std::vector<std::string>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 604
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 604
    functionName: Shim_Arguments::get_alpn_string_vec_opt
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - std::vector<std::string>
    - Botan::split_on
    - Shim_Arguments::option_used
    - Shim_Arguments::get_string_opt
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> get_alpn_string_vec_opt(const std::string&
      option) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:607,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:608,1
    - Dst: find
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:610,1
    - Dst: end
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:610,1
    - Dst: find
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:613,1
    - Dst: end
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 617
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 617
    functionName: Shim_Arguments::option_used
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 3
    functionsReached:
    - end
    - Shim_Exception
    - contains
    - find
    linkageType: ''
    returnType: bool
    signature: bool option_used(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:621,1
    - Dst: end
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:622,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 626
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 626
    functionName: Shim_Arguments::get_opt
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 5
    functionsReached:
    - end
    - Shim_Exception
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string get_opt(const std::string& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::starts_with
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:646,1
    - Dst: std::string::substr
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:647,1
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:649,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:650,1
    - Dst: insert
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:651,1
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:653,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:655,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:658,1
    - Dst: Botan::fmt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:658,1
    - Dst: contains
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:660,1
    - Dst: push_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:662,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:668,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:669,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:672,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:673,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char*[]
    constantsTouched: []
    func_position:
      end: 676
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 676
    functionName: Shim_Arguments::parse_args
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Exception
    - contains
    - push_back
    - insert
    - Botan::fmt
    - shim_log
    - std::string::substr
    - std::string::starts_with
    linkageType: ''
    returnType: void
    signature: void Shim_Arguments::parse_args(char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Arguments::Shim_Arguments
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:855,1
    - Dst: std::unique_ptr::parse_args
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char*[]
    constantsTouched: []
    func_position:
      end: 862
      start: 678
    functionDepth: 3
    functionLinenumber: 678
    functionLinenumberEnd: 862
    functionName: parse_options
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Arguments::Shim_Arguments
    - std::unique_ptr::parse_args
    linkageType: ''
    returnType: std::unique_ptr<Shim_Arguments>
    signature: std::unique_ptr<Shim_Arguments> parse_options(char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - Shim_Arguments
    constantsTouched: []
    func_position:
      end: 866
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 866
    functionName: Shim_Policy::Shim_Policy
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Shim_Policy(const Shim_Arguments& args)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 868
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 868
    functionName: Shim_Policy::incr_session_established
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void incr_session_established()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_string_opt_or_else
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:897,1
    - Dst: std::string::empty
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:904,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:907,1
    - Dst: Botan::concat
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:911,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 912
      start: 870
    functionDepth: 2
    functionLinenumber: 870
    functionLinenumberEnd: 912
    functionName: Shim_Policy::allowed_ciphers
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - shim_exit_with_error
    - Botan::concat
    - std::string::empty
    - get_string_opt_or_else
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> allowed_ciphers() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:915,1
    - Dst: get_int_vec_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:917,1
    - Dst: Botan::TLS::Signature_Scheme::is_available
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:919,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:920,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:920,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:923,1
    - Dst: Botan::TLS::Signature_Scheme::hash_function_name
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:923,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:926,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:927,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 933
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 933
    functionName: Shim_Policy::allowed_signature_hashes
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Botan::TLS::Signature_Scheme::hash_function_name
    - get_int_vec_opt
    - std::vector::push_back
    - Botan::TLS::Signature_Scheme::is_available
    - flag_set
    - option_used
    - shim_log
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> allowed_signature_hashes() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 943
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 943
    functionName: Shim_Policy::allowed_signature_methods
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> allowed_signature_methods() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:946,1
    - Dst: get_int_vec_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:948,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:949,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:949,1
    - Dst: Shim_Policy::acceptable_signature_schemes
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:955,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 956
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 956
    functionName: Shim_Policy::acceptable_signature_schemes
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint16_t>
    - get_int_vec_opt
    - Shim_Policy::acceptable_signature_schemes
    - option_used
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<Botan::TLS::Signature_Scheme>
    signature: std::vector<Botan::TLS::Signature_Scheme> acceptable_signature_schemes()
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:959,1
    - Dst: get_int_vec_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:961,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:962,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:962,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:972,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:973,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:974,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:975,1
    - Dst: Botan_Tests::RFC8448_Text_Policy::allowed_signature_schemes
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:981,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 982
      start: 958
    functionDepth: 2
    functionLinenumber: 958
    functionLinenumberEnd: 982
    functionName: Shim_Policy::allowed_signature_schemes
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - Botan_Tests::RFC8448_Text_Policy::allowed_signature_schemes
    - get_int_vec_opt
    - flag_set
    - option_used
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<Botan::TLS::Signature_Scheme>
    signature: std::vector<Botan::TLS::Signature_Scheme> allowed_signature_schemes()
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 986
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 986
    functionName: Shim_Policy::require_cert_revocation_info
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool require_cert_revocation_info() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:989,1
    - Dst: Shim_Policy::key_exchange_groups
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:994,1
    - Dst: get_int_vec_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:996,1
    - Dst: static_cast<Botan::TLS::Group_Params>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:997,1
    - Dst: find
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:998,1
    - Dst: auto::cbegin
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:998,1
    - Dst: auto::cend
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:998,1
    - Dst: auto::end
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:998,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:999,1
    - Dst: Shim_Policy::key_exchange_groups
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1007
    functionName: Shim_Policy::key_exchange_groups
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 1
    functionsReached:
    - static_cast<Botan::TLS::Group_Params>
    - Shim_Policy::key_exchange_groups
    - get_int_vec_opt
    - std::vector::push_back
    - auto::cend
    - find
    - option_used
    - auto::end
    - auto::cbegin
    linkageType: ''
    returnType: std::vector<Botan::TLS::Group_Params>
    signature: std::vector<Botan::TLS::Group_Params> key_exchange_groups() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1009
    functionName: Shim_Policy::use_ecc_point_compression
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool use_ecc_point_compression() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1014,1
    - Dst: Shim_Policy::key_exchange_groups
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1018,1
    - Dst: Botan::value_exists
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' supported_by_peer'
    - ' offered_by_peer'
    argTypes:
    - std::vector<Botan::TLS::Group_Params>
    - std::vector<Botan::TLS::Group_Params>
    constantsTouched: []
    func_position:
      end: 1026
      start: 1011
    functionDepth: 2
    functionLinenumber: 1011
    functionLinenumberEnd: 1026
    functionName: Shim_Policy::choose_key_exchange_group
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Policy::key_exchange_groups
    - Botan::value_exists
    - BOTAN_UNUSED
    linkageType: ''
    returnType: Botan::TLS::Group_Params
    signature: "Botan::TLS::Group_Params choose_key_exchange_group(\n         const
      std::vector<Botan::TLS::Group_Params>& supported_by_peer,\n         const std::vector<Botan::TLS::Group_Params>&
      offered_by_peer) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1030
    functionName: Shim_Policy::require_client_certificate_authentication
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - flag_set
    linkageType: ''
    returnType: bool
    signature: bool require_client_certificate_authentication() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1033,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1033,1
    - Dst: Shim_Policy::require_client_certificate_authentication
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1035
    functionName: Shim_Policy::request_client_certificate_authentication
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Policy::require_client_certificate_authentication
    - flag_set
    linkageType: ''
    returnType: bool
    signature: bool request_client_certificate_authentication() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1043
    functionName: Shim_Policy::allow_insecure_renegotiation
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - flag_set
    linkageType: ''
    returnType: bool
    signature: bool allow_insecure_renegotiation() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1048,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1052,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1057
    functionName: Shim_Policy::allow_client_initiated_renegotiation
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - flag_set
    linkageType: ''
    returnType: bool
    signature: bool allow_client_initiated_renegotiation() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Policy::allow_client_initiated_renegotiation
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1059
    functionDepth: 1
    functionLinenumber: 1059
    functionLinenumberEnd: 1061
    functionName: Shim_Policy::allow_server_initiated_renegotiation
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Policy::allow_client_initiated_renegotiation
    linkageType: ''
    returnType: bool
    signature: bool allow_server_initiated_renegotiation() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1064,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1072,1
    - Dst: Botan::TLS::Protocol_Version::known_version
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1080,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - version
    argTypes:
    - Botan::TLS::Protocol_Version
    constantsTouched: []
    func_position:
      end: 1081
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1081
    functionName: Shim_Policy::allow_version
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Protocol_Version::known_version
    - option_used
    linkageType: ''
    returnType: bool
    signature: bool allow_version(Botan::TLS::Protocol_Version version) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1084,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1084,1
    - Dst: Shim_Policy::allow_version
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1085,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1083
    functionDepth: 2
    functionLinenumber: 1083
    functionLinenumberEnd: 1086
    functionName: Shim_Policy::allow_tls12
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Policy::allow_version
    - flag_set
    linkageType: ''
    returnType: bool
    signature: bool allow_tls12() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1089,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1089,1
    - Dst: Shim_Policy::allow_version
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1090,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1088
    functionDepth: 2
    functionLinenumber: 1088
    functionLinenumberEnd: 1091
    functionName: Shim_Policy::allow_tls13
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Policy::allow_version
    - flag_set
    linkageType: ''
    returnType: bool
    signature: bool allow_tls13() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1094,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1094,1
    - Dst: Shim_Policy::allow_version
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1093
    functionDepth: 2
    functionLinenumber: 1093
    functionLinenumberEnd: 1096
    functionName: Shim_Policy::allow_dtls12
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Policy::allow_version
    - flag_set
    linkageType: ''
    returnType: bool
    signature: bool allow_dtls12() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1102
    functionName: Shim_Policy::minimum_ecdsa_group_size
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_ecdsa_group_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1104
    functionName: Shim_Policy::minimum_ecdh_group_size
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_ecdh_group_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1118
    functionName: Shim_Policy::new_session_tickets_upon_handshake_success
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - flag_set
    linkageType: ''
    returnType: size_t
    signature: size_t new_session_tickets_upon_handshake_success() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1121,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1122,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1120
    functionDepth: 2
    functionLinenumber: 1120
    functionLinenumberEnd: 1134
    functionName: Shim_Policy::srtp_profiles
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - get_string_opt
    - shim_exit_with_error
    - option_used
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> srtp_profiles() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1136
    functionName: Shim_Policy::only_resume_with_exact_version
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool only_resume_with_exact_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1143,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1144,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1147,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1155
    functionName: Shim_Policy::support_cert_status_message
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - flag_set
    - option_used
    linkageType: ''
    returnType: bool
    signature: bool support_cert_status_message() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_int_opt_or_else
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1159
    functionName: Shim_Policy::dtls_default_mtu
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - get_int_opt_or_else
    linkageType: ''
    returnType: size_t
    signature: size_t dtls_default_mtu() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1171
    functionName: Shim_Policy::abort_connection_on_undesired_renegotiation
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - flag_set
    linkageType: ''
    returnType: bool
    signature: bool abort_connection_on_undesired_renegotiation() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_int_opt_or_else
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1173
    functionName: Shim_Policy::maximum_certificate_chain_size
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - get_int_opt_or_else
    linkageType: ''
    returnType: size_t
    signature: size_t maximum_certificate_chain_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::value_exists
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1189,1
    - Dst: test_name
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1194
    functionName: Shim_Policy::tls_13_middlebox_compatibility_mode
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Botan::value_exists
    - test_name
    linkageType: ''
    returnType: bool
    signature: bool tls_13_middlebox_compatibility_mode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_string_opt_or_else
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1204,1
    - Dst: Botan::TLS::Ciphersuite::from_name
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1217,1
    - Dst: auto::valid
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1218,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1219,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1221,1
    - Dst: auto::ciphersuite_code
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1221,1
    - Dst: Botan::TLS::Ciphersuite::all_known_ciphersuites
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1225,1
    - Dst: auto::rbegin
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1226,1
    - Dst: auto::rend
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1226,1
    - Dst: auto::valid
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1230,1
    - Dst: auto::usable_in_version
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1230,1
    - Dst: Botan::value_exists
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1231,1
    - Dst: Shim_Policy::allowed_ciphers
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1231,1
    - Dst: auto::cipher_algo
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1231,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1235,1
    - Dst: auto::ciphersuite_code
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1235,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - version
    argTypes:
    - Botan::TLS::Protocol_Version
    constantsTouched: []
    func_position:
      end: 1240
      start: 1201
    functionDepth: 3
    functionLinenumber: 1201
    functionLinenumberEnd: 1240
    functionName: Shim_Policy::ciphersuite_list
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - auto::rbegin
    - Botan::TLS::Ciphersuite::all_known_ciphersuites
    - Shim_Policy::allowed_ciphers
    - Botan::value_exists
    - auto::valid
    - Botan::TLS::Ciphersuite::from_name
    - auto::rend
    - std::vector::push_back
    - auto::ciphersuite_code
    - auto::usable_in_version
    - shim_exit_with_error
    - auto::cipher_algo
    - get_string_opt_or_else
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> Shim_Policy::ciphersuite_list(Botan::TLS::Protocol_Version
      version) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_string_opt_or_else
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1245,1
    - Dst: get_string_opt_or_else
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1246,1
    - Dst: auto::empty
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1248,1
    - Dst: auto::empty
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1248,1
    - Dst: auto::empty
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1254,1
    - Dst: Botan::SymmetricKey
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1255,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1255,1
    - Dst: auto::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1255,1
    - Dst: auto::size
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1255,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1258,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1258,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1259,1
    - Dst: reset
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1260,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1260,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1262,1
    - Dst: Botan::DataSource_Stream::end_of_data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1264,1
    - Dst: push_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1266,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1266,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1271,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1271,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1272,1
    - Dst: add_certificate
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1274,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1274,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1276,1
    - Dst: std::string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1276,1
    - Dst: what
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1276,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - Shim_Arguments
    constantsTouched: []
    func_position:
      end: 1279
      start: 1244
    functionDepth: 1
    functionLinenumber: 1244
    functionLinenumberEnd: 1279
    functionName: Shim_Credentials::Shim_Credentials
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - get_string_opt
    - Shim_Exception
    - add_certificate
    - Botan::DataSource_Stream::end_of_data
    - Botan::PKCS8::load_key
    - Botan::X509_Certificate
    - what
    - Botan::SymmetricKey
    - std::string
    - auto::data
    - reinterpret_cast<const uint8_t*>
    - reset
    - push_back
    - option_used
    - auto::size
    - auto::empty
    - get_string_opt_or_else
    linkageType: ''
    returnType: void
    signature: void Shim_Credentials(const Shim_Arguments& args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1283,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1284,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1286,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1287,1
    - Dst: get_string_opt_or_else
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1290,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1292,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - ' type'
    - ' context'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 1296
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1296
    functionName: Shim_Credentials::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Exception
    - flag_set
    - get_string_opt_or_else
    linkageType: ''
    returnType: std::vector<Botan::Certificate_Store*>
    signature: "std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(const
      std::string& type,\n                                                                             const
      std::string& context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_or
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1302
    functionName: Shim_Credentials::psk_identity
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - value_or
    linkageType: ''
    returnType: std::string
    signature: "std::string psk_identity(const std::string& /*type*/,\n                               const
      std::string& /*context*/,\n                               const std::string&
      /*identity_hint*/) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_or
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1306
    functionName: Shim_Credentials::psk_identity_hint
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - value_or
    linkageType: ''
    returnType: std::string
    signature: std::string psk_identity_hint(const std::string& /*type*/, const std::string&
      /*context*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1308
    functionDepth: 1
    functionLinenumber: 1308
    functionLinenumberEnd: 1310
    functionName: Shim_Credentials::session_ticket_key
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> session_ticket_key() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1312
    functionDepth: 1
    functionLinenumber: 1312
    functionLinenumberEnd: 1314
    functionName: Shim_Credentials::dtls_cookie_secret
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Botan::hex_decode_locked
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> dtls_cookie_secret() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1321,1
    - Dst: Botan::Credentials_Manager::find_preshared_keys
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1322,1
    - Dst: empty
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1326,1
    - Dst: find
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1326,1
    - Dst: begin
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1326,1
    - Dst: end
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1326,1
    - Dst: end
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1326,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1329,1
    - Dst: has_value
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1332,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1333,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1344,1
    - Dst: value
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1344,1
    - Dst: bits_of
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - host
    - whoami
    argTypes:
    - std::string_view
    - Botan::TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 1346
      start: 1316
    functionDepth: 1
    functionLinenumber: 1316
    functionLinenumberEnd: 1346
    functionName: Shim_Credentials::find_preshared_keys
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Shim_Exception
    - begin
    - bits_of
    - Botan::Credentials_Manager::find_preshared_keys
    - empty
    - end
    - value
    - find
    - std::vector::emplace_back
    - has_value
    linkageType: ''
    returnType: std::vector<Botan::TLS::ExternalPSK>
    signature: "std::vector<Botan::TLS::ExternalPSK> find_preshared_keys(\n         std::string_view
      host,\n         Botan::TLS::Connection_Side whoami,\n         const std::vector<std::string>&
      identities = {},\n         const std::optional<std::string>& prf = std::nullopt)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1353,1
    - Dst: std::runtime_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1354,1
    - Dst: empty
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1357,1
    - Dst: algo_name
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' cert_key_types'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 1366
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1366
    functionName: Shim_Credentials::cert_chain
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - empty
    - std::runtime_error
    - flag_set
    linkageType: ''
    returnType: std::vector<Botan::X509_Certificate>
    signature: "std::vector<Botan::X509_Certificate> cert_chain(\n         const std::vector<std::string>&
      cert_key_types,\n         const std::vector<Botan::AlgorithmIdentifier>& /*cert_signature_schemes*/,\n
      \        const std::string& /*type*/,\n         const std::string& /*context*/)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1373
    functionName: Shim_Credentials::private_key_for
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Botan::Private_Key>
    signature: "std::shared_ptr<Botan::Private_Key> private_key_for(const Botan::X509_Certificate&
      /*cert*/,\n                                                          const std::string&
      /*type*/,\n                                                          const std::string&
      /*context*/) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' args'
    - ' socket'
    - ' policy'
    argTypes:
    - Shim_Arguments
    - Shim_Socket
    - Shim_Policy
    constantsTouched: []
    func_position:
      end: 1397
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1397
    functionName: Shim_Callbacks::Shim_Callbacks
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - flag_set
    linkageType: ''
    returnType: void
    signature: void Shim_Callbacks(const Shim_Arguments& args, Shim_Socket& socket,
      Shim_Policy& policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1399
    functionName: Shim_Callbacks::sessions_established
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t sessions_established() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - channel
    argTypes:
    - Botan::TLS::Channel*
    constantsTouched: []
    func_position:
      end: 1401
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1401
    functionName: Shim_Callbacks::set_channel
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_channel(Botan::TLS::Channel* channel)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - clock_skew
    argTypes:
    - std::chrono::seconds
    constantsTouched: []
    func_position:
      end: 1403
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1403
    functionName: Shim_Callbacks::set_clock_skew
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_clock_skew(std::chrono::seconds clock_skew)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1405
    functionName: Shim_Callbacks::saw_close_notify
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool saw_close_notify() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1408,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1408,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1408,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1410,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1412,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1416,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1420,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1420,1
    - Dst: memcpy
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1422,1
    - Dst: std::vector::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1422,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1422,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1422,1
    - Dst: write
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1424,1
    - Dst: std::vector::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1424,1
    - Dst: std::vector::size
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1424,1
    - Dst: write
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1426,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1426,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 1428
      start: 1407
    functionDepth: 1
    functionLinenumber: 1407
    functionLinenumberEnd: 1428
    functionName: Shim_Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::span<const uint8_t>::data
    - std::to_string
    - option_used
    - write
    - memcpy
    - std::span<const uint8_t>::size
    - Botan::hex_encode
    - shim_log
    - static_cast<uint8_t>
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t> data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1432,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1432,1
    - Dst: std::runtime_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1433,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1436,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1440,1
    - Dst: get_b64_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1445
    functionName: Shim_Callbacks::tls_provide_cert_status
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - get_b64_opt
    - std::runtime_error
    - flag_set
    - option_used
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> tls_provide_cert_status(const std::vector<Botan::X509_Certificate>&,\n
      \                                                  const Botan::TLS::Certificate_Status_Request&)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1448,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1451,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1457,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1457,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1457,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1459,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1459,1
    - Dst: send
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 1465
      start: 1447
    functionDepth: 2
    functionLinenumber: 1447
    functionLinenumberEnd: 1465
    functionName: Shim_Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::empty
    - std::to_string
    - send
    - std::span<const uint8_t>::size
    - shim_exit_with_error
    - shim_log
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t /*seq_no*/, std::span<const uint8_t>
      data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1472,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1474,1
    - Dst: get_int_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1474,1
    - Dst: Botan::TLS::Signature_Scheme::is_available
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1476,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1477,1
    - Dst: std::string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1477,1
    - Dst: Botan::TLS::Signature_Scheme::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1478,1
    - Dst: Botan::TLS::Signature_Scheme::padding_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1481,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1483,1
    - Dst: Botan::fmt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1483,1
    - Dst: Botan_Tests::Test_TLS_13_Callbacks::tls_verify_message
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - ' key'
    - padding
    - format
    - ' msg'
    - ' sig'
    argTypes:
    - Botan::Public_Key
    - std::string_view
    - Botan::Signature_Format
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 1488
      start: 1467
    functionDepth: 2
    functionLinenumber: 1467
    functionLinenumberEnd: 1488
    functionName: Shim_Callbacks::tls_verify_message
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - get_int_opt
    - Botan::fmt
    - Botan_Tests::Test_TLS_13_Callbacks::tls_verify_message
    - std::string
    - Botan::TLS::Signature_Scheme::is_available
    - Botan::TLS::Signature_Scheme::to_string
    - option_used
    - shim_exit_with_error
    - Botan::TLS::Signature_Scheme::padding_string
    linkageType: ''
    returnType: bool
    signature: "bool tls_verify_message(const Botan::Public_Key& key,\n                              std::string_view
      padding,\n                              Botan::Signature_Format format,\n                              const
      std::vector<uint8_t>& msg,\n                              const std::vector<uint8_t>&
      sig) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1496,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1496,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1497,1
    - Dst: TLS_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1498,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1502,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1504,1
    - Dst: TLS_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1508,1
    - Dst: empty
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1511,1
    - Dst: front
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1511,1
    - Dst: certificate_known
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1513,1
    - Dst: front
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1513,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1514,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1520,1
    - Dst: Fuzzer_TLS_Client_Callbacks::tls_verify_cert_chain
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1522,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 5
    argNames:
    - ' cert_chain'
    - ' ocsp_responses'
    - ' trusted_roots'
    - usage
    - ' policy'
    argTypes:
    - std::vector<Botan::X509_Certificate>
    - std::vector<std::optional<Botan::OCSP::Response>>
    - std::vector<Botan::Certificate_Store*>
    - Botan::Usage_Type
    - Botan::TLS::Policy
    constantsTouched: []
    func_position:
      end: 1524
      start: 1490
    functionDepth: 2
    functionLinenumber: 1490
    functionLinenumberEnd: 1524
    functionName: Shim_Callbacks::tls_verify_cert_chain
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Fuzzer_TLS_Client_Callbacks::tls_verify_cert_chain
    - shim_log
    - empty
    - TLS_Exception
    - flag_set
    - front
    - certificate_known
    linkageType: ''
    returnType: void
    signature: "void tls_verify_cert_chain(const std::vector<Botan::X509_Certificate>&
      cert_chain,\n                                 const std::vector<std::optional<Botan::OCSP::Response>>&
      ocsp_responses,\n                                 const std::vector<Botan::Certificate_Store*>&
      trusted_roots,\n                                 Botan::Usage_Type usage,\n
      \                                std::string_view /* hostname */,\n                                 const
      Botan::TLS::Policy& policy) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1527,1
    - Dst: get_b64_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1527,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' raw_response'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 1534
      start: 1526
    functionDepth: 2
    functionLinenumber: 1526
    functionLinenumberEnd: 1534
    functionName: Shim_Callbacks::tls_parse_ocsp_response
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - shim_exit_with_error
    - get_b64_opt
    - option_used
    linkageType: ''
    returnType: std::optional<Botan::OCSP::Response>
    signature: std::optional<Botan::OCSP::Response> tls_parse_ocsp_response(const
      std::vector<uint8_t>& raw_response) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1540,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1548,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1549,1
    - Dst: remove_extension
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1550,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' exts'
    - msg_type
    argTypes:
    - Botan::TLS::Extensions
    - Botan::TLS::Handshake_Type
    constantsTouched: []
    func_position:
      end: 1557
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1557
    functionName: Shim_Callbacks::tls_modify_extensions
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - get_string_opt
    - remove_extension
    - option_used
    linkageType: ''
    returnType: void
    signature: "void tls_modify_extensions(Botan::TLS::Extensions& exts,\n                                 Botan::TLS::Connection_Side
      /* side */,\n                                 Botan::TLS::Handshake_Type msg_type)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1560,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1564,1
    - Dst: TLS_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1565,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1569,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1573,1
    - Dst: get_alpn_string_vec_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1574,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1577,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1581,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1582,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ' client_protos'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 1586
      start: 1559
    functionDepth: 2
    functionLinenumber: 1559
    functionLinenumberEnd: 1586
    functionName: Shim_Callbacks::tls_server_choose_app_protocol
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - get_alpn_string_vec_opt
    - get_string_opt
    - empty
    - TLS_Exception
    - flag_set
    - option_used
    - shim_exit_with_error
    linkageType: ''
    returnType: std::string
    signature: std::string tls_server_choose_app_protocol(const std::vector<std::string>&
      client_protos) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Alert::is_fatal
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1589,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1590,1
    - Dst: Botan::TLS::Alert::type_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1590,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1592,1
    - Dst: Botan::TLS::Alert::type_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1592,1
    - Dst: Botan::TLS::Alert::type
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1595,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1596,1
    - Dst: Botan::TLS::Alert::type
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1599,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1600,1
    - Dst: Botan::TLS::Alert::is_fatal
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1603,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1606,1
    - Dst: Botan::TLS::Alert::type
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1610,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1611,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1612,1
    - Dst: send_alert
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1613,1
    - Dst: Botan::TLS::Alert::is_fatal
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1616,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1617,1
    - Dst: Botan::TLS::Alert::type_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1617,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 1619
      start: 1588
    functionDepth: 2
    functionLinenumber: 1588
    functionLinenumberEnd: 1619
    functionName: Shim_Callbacks::tls_alert
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Alert::type_string
    - Botan::TLS::Alert::is_fatal
    - Botan::TLS::Alert::type
    - flag_set
    - send_alert
    - shim_exit_with_error
    - shim_log
    linkageType: ''
    returnType: void
    signature: void tls_alert(Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1622,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1622,1
    - Dst: session_id
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1622,1
    - Dst: version
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1623,1
    - Dst: ciphersuite
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1623,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1624,1
    - Dst: supports_extended_master_secret
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1624,1
    - Dst: incr_session_established
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1627,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1630,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1632,1
    - Dst: session_id
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1632,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1633,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1635,1
    - Dst: session_id
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1635,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1636,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1639,1
    - Dst: version
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1640,1
    - Dst: get_int_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1640,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1641,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1645,1
    - Dst: secure_renegotiation_supported
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1646,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1647,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1649,1
    - Dst: secure_renegotiation_supported
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1650,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1651,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1655,1
    - Dst: supports_extended_master_secret
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1656,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1657,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Botan::TLS::Session_Summary
    constantsTouched: []
    func_position:
      end: 1660
      start: 1621
    functionDepth: 2
    functionLinenumber: 1621
    functionLinenumberEnd: 1660
    functionName: Shim_Callbacks::tls_session_established
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - get_int_opt
    - incr_session_established
    - secure_renegotiation_supported
    - version
    - std::to_string
    - supports_extended_master_secret
    - option_used
    - flag_set
    - Botan::hex_encode
    - session_id
    - shim_exit_with_error
    - shim_log
    - ciphersuite
    linkageType: ''
    returnType: void
    signature: void tls_session_established(const Botan::TLS::Session_Summary& session)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1663,1
    - Dst: send_fatal_alert
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1664,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1669,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1670,1
    - Dst: key_material_export
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1671,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1672,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1672,1
    - Dst: send
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1673,1
    - Dst: auto::bits_of
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1673,1
    - Dst: application_protocol
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1676,1
    - Dst: option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1678,1
    - Dst: get_string_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1679,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1680,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1684,1
    - Dst: TLS_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1685,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1688,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1689,1
    - Dst: close
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1690,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1693,1
    - Dst: send
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1699,1
    - Dst: std::vector::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1699,1
    - Dst: close
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1702,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1705,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1706,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1709,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1710,1
    - Dst: flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1713,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1714,1
    - Dst: update_traffic_keys
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1715,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1662
    functionDepth: 2
    functionLinenumber: 1662
    functionLinenumberEnd: 1717
    functionName: Shim_Callbacks::tls_session_activated
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - get_string_opt
    - Shim_Exception
    - close
    - std::to_string
    - auto::bits_of
    - key_material_export
    - send_fatal_alert
    - TLS_Exception
    - send
    - flag_set
    - option_used
    - shim_exit_with_error
    - shim_log
    - update_traffic_keys
    - application_protocol
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void tls_session_activated() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::floor<sec>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1724,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1719
    functionDepth: 1
    functionLinenumber: 1719
    functionLinenumberEnd: 1726
    functionName: Shim_Callbacks::tls_current_timestamp
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - std::chrono::floor<sec>
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point tls_current_timestamp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Botan::TLS::Handshake_Message
    constantsTouched: []
    func_position:
      end: 1732
      start: 1728
    functionDepth: 1
    functionLinenumber: 1728
    functionLinenumberEnd: 1732
    functionName: Shim_Callbacks::tls_inspect_handshake_msg
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: void
    signature: void tls_inspect_handshake_msg(const Botan::TLS::Handshake_Message&
      msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_options
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1752,1
    - Dst: std::unique_ptr::flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1754,1
    - Dst: shim_output
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1755,1
    - Dst: std::make_shared<Botan::ChaCha_RNG>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1764,1
    - Dst: Botan::secure_vector<uint8_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1764,1
    - Dst: std::make_shared<Shim_Credentials>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1765,1
    - Dst: std::unique_ptr::flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1767,1
    - Dst: std::unique_ptr::flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1767,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1770,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_Hybrid>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1775,1
    - Dst: std::make_unique<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1776,1
    - Dst: std::unique_ptr::flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1780,1
    - Dst: sleep
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1781,1
    - Dst: std::unique_ptr::flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1786,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1788,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1788,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1788,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1793,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1793,1
    - Dst: std::unique_ptr::get_int_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1793,1
    - Dst: Botan::store_le
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1795,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1795,1
    - Dst: std::unique_ptr::get_int_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1795,1
    - Dst: std::array::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1795,1
    - Dst: Shim_Socket::write
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1796,1
    - Dst: std::array::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1796,1
    - Dst: std::array::size
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1796,1
    - Dst: std::make_shared<Shim_Policy>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1798,1
    - Dst: std::make_shared<Shim_Callbacks>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1799,1
    - Dst: std::unique_ptr::option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1801,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1802,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1802,1
    - Dst: std::unique_ptr::get_int_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1802,1
    - Dst: auto::set_clock_skew
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1803,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1803,1
    - Dst: std::unique_ptr::get_int_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1803,1
    - Dst: std::make_unique<Botan::TLS::Server>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1809,1
    - Dst: auto::latest_supported_version
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1811,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1812,1
    - Dst: Botan::TLS::Protocol_Version::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1812,1
    - Dst: std::unique_ptr::get_string_opt_or_else
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1814,1
    - Dst: std::unique_ptr::test_name
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1815,1
    - Dst: std::unique_ptr::get_alpn_string_vec_opt
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1820,1
    - Dst: std::make_unique<Botan::TLS::Client>
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1821,1
    - Dst: auto::set_channel
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1825,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1825,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1834,1
    - Dst: Shim_Socket::read_exactly
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1840,1
    - Dst: std::vector::size
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1844,1
    - Dst: std::vector::resize
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1845,1
    - Dst: Shim_Socket::read_exactly
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1847,1
    - Dst: std::vector::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1847,1
    - Dst: std::unique_ptr::received_data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1849,1
    - Dst: std::vector::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1849,1
    - Dst: Shim_Socket::read_exactly
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1854,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1858,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1858,1
    - Dst: Shim_Socket::write
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1862,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1864,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1864,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1869,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1873,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1873,1
    - Dst: std::unique_ptr::option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1875,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1878,1
    - Dst: std::vector::data
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1878,1
    - Dst: std::unique_ptr::flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1882,1
    - Dst: std::unique_ptr::is_active
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1882,1
    - Dst: std::unique_ptr::key_material_export
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1883,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1888,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1888,1
    - Dst: std::unique_ptr::flag_set
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1893,1
    - Dst: auto::saw_close_notify
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1894,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1895,1
    - Dst: std::unique_ptr::option_used
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1899,1
    - Dst: auto::sessions_established
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1902,1
    - Dst: Shim_Exception
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1903,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1904,1
    - Dst: auto::sessions_established
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1904,1
    - Dst: std::to_string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1905,1
    - Dst: shim_log
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1908,1
    - Dst: execute_test
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1911,1
    - Dst: std::string
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1913,1
    - Dst: what
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1913,1
    - Dst: execute_test
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1914,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1922,1
    - Dst: what
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1922,1
    - Dst: rc
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1922,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1924,1
    - Dst: map_to_bogo_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1924,1
    - Dst: what
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1924,1
    - Dst: shim_exit_with_error
      Src: /src/botan/src/bogo_shim/bogo_shim.cpp:1926,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 101
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char*[]
    constantsTouched: []
    func_position:
      end: 1929
      start: 1750
    functionDepth: 4
    functionLinenumber: 1750
    functionLinenumberEnd: 1929
    functionName: main
    functionSourceFile: /src/botan/src/bogo_shim/bogo_shim.cpp
    functionUses: 19
    functionsReached:
    - Shim_Exception
    - std::vector::size
    - std::make_unique<Botan::TLS::Server>
    - std::to_string
    - std::unique_ptr::get_alpn_string_vec_opt
    - Botan::TLS::Protocol_Version::to_string
    - std::unique_ptr::flag_set
    - std::make_shared<Botan::TLS::Session_Manager_Hybrid>
    - auto::set_channel
    - std::unique_ptr::test_name
    - std::unique_ptr::get_int_opt
    - std::unique_ptr::is_active
    - Shim_Socket::read_exactly
    - std::make_shared<Botan::ChaCha_RNG>
    - std::unique_ptr::get_string_opt_or_else
    - std::array::data
    - parse_options
    - what
    - std::unique_ptr::get
    - auto::set_clock_skew
    - auto::saw_close_notify
    - execute_test
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - std::make_shared<Shim_Callbacks>
    - shim_output
    - std::make_shared<Shim_Credentials>
    - Botan::secure_vector<uint8_t>
    - shim_exit_with_error
    - Botan_CLI::Timer::seconds
    - auto::latest_supported_version
    - map_to_bogo_error
    - std::vector::data
    - std::make_shared<Shim_Policy>
    - std::vector::resize
    - std::make_unique<Botan::TLS::Session_Manager_In_Memory>
    - std::string
    - Botan::hex_encode
    - shim_log
    - Botan::store_le
    - static_cast<uint64_t>
    - std::unique_ptr::key_material_export
    - sleep
    - std::unique_ptr::received_data
    - std::unique_ptr::option_used
    - std::make_unique<Botan::TLS::Client>
    - auto::sessions_established
    - rc
    - std::array::size
    - Shim_Socket::write
    linkageType: ''
    returnType: int
    signature: int main(int /*argc*/, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_msg
      Src: /src/botan/src/lib/modes/cipher_mode.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: start
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 36
    functionsReached:
    - start_msg
    linkageType: ''
    returnType: void
    signature: void start(const uint8_t nonce[], size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_msg
      Src: /src/botan/src/lib/modes/cipher_mode.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: start
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 36
    functionsReached:
    - start_msg
    linkageType: ''
    returnType: void
    signature: void start()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: process_msg
      Src: /src/botan/src/lib/modes/cipher_mode.h:132,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/modes/cipher_mode.h:132,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/modes/cipher_mode.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: process
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 15
    functionsReached:
    - std::span<uint8_t>::size
    - process_msg
    - std::span<uint8_t>::data
    linkageType: ''
    returnType: size_t
    signature: size_t process(std::span<uint8_t> msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: process_msg
      Src: /src/botan/src/lib/modes/cipher_mode.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - msg_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: process
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 15
    functionsReached:
    - process_msg
    linkageType: ''
    returnType: size_t
    signature: size_t process(uint8_t msg[], size_t msg_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/modes/cipher_mode.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' buffer'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: update
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 42
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void update(T& buffer, size_t offset = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finish_msg
      Src: /src/botan/src/lib/modes/cipher_mode.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' final_block'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: finish
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 27
    functionsReached:
    - finish_msg
    linkageType: ''
    returnType: void
    signature: void finish(secure_vector<uint8_t>& final_block, size_t offset = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/lib/modes/cipher_mode.h:193,1
    - Dst: end
      Src: /src/botan/src/lib/modes/cipher_mode.h:193,1
    - Dst: finish_msg
      Src: /src/botan/src/lib/modes/cipher_mode.h:194,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/cipher_mode.h:195,1
    - Dst: Botan::secure_vector::size
      Src: /src/botan/src/lib/modes/cipher_mode.h:195,1
    - Dst: copy
      Src: /src/botan/src/lib/modes/cipher_mode.h:196,1
    - Dst: Botan::secure_vector::begin
      Src: /src/botan/src/lib/modes/cipher_mode.h:196,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/lib/modes/cipher_mode.h:196,1
    - Dst: begin
      Src: /src/botan/src/lib/modes/cipher_mode.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' final_block'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: finish
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 27
    functionsReached:
    - Botan::secure_vector::begin
    - copy
    - begin
    - Botan::secure_vector::end
    - end
    - finish_msg
    - resize
    - Botan::secure_vector::size
    linkageType: ''
    returnType: void
    signature: void finish(T& final_block, size_t offset = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: requires_entire_message
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool requires_entire_message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/cipher_mode.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: authenticated
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 3
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: bool
    signature: bool authenticated() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 268
    functionName: tag_size
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tag_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: provider
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/lib/modes/cipher_mode.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - algo_spec
    - direction
    argTypes:
    - std::string_view
    - Cipher_Dir
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: get_cipher_mode
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.h
    functionUses: 0
    functionsReached:
    - Botan::Cipher_Mode::create
    linkageType: ''
    returnType: Cipher_Mode
    signature: Cipher_Mode * get_cipher_mode(std::string_view algo_spec, Cipher_Dir
      direction, std::string_view provider = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:44,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - algo
    - direction
    - provider
    argTypes:
    - std::string_view
    - Cipher_Dir
    - std::string_view
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: Botan::Cipher_Mode::create_or_throw
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.cpp
    functionUses: 1
    functionsReached:
    - Botan::Cipher_Mode::create
    - Lookup_Error
    linkageType: ''
    returnType: std::unique_ptr<Cipher_Mode>
    signature: "std::unique_ptr<Cipher_Mode> Cipher_Mode::create_or_throw(std::string_view
      algo,\n                                                          Cipher_Dir
      direction,\n                                                          std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:55,1
    - Dst: make_commoncrypto_cipher_mode
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:56,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:59,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:64,1
    - Dst: Botan::StreamCipher::create
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:69,1
    - Dst: std::make_unique<Stream_Cipher_Mode>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:70,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:70,1
    - Dst: Botan::AEAD_Mode::create
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:75,1
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:80,1
    - Dst: split_on
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:81,1
    - Dst: parse_algorithm_name
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:83,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:85,1
    - Dst: std::unique_ptr<Cipher_Mode>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:86,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:92,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:95,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:100,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:100,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:107,1
    - Dst: std::unique_ptr<Cipher_Mode>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:108,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:111,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:111,1
    - Dst: std::unique_ptr<Cipher_Mode>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:114,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:118,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:119,1
    - Dst: std::make_unique<CTS_Encryption>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:123,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:123,1
    - Dst: std::make_unique<CTS_Decryption>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:125,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:125,1
    - Dst: Botan::BlockCipherModePaddingMethod::create
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:128,1
    - Dst: std::make_unique<CBC_Encryption>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:132,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:132,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:132,1
    - Dst: std::make_unique<CBC_Decryption>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:134,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:134,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:134,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:142,1
    - Dst: std::make_unique<XTS_Encryption>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:144,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:144,1
    - Dst: std::make_unique<XTS_Decryption>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:146,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:146,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:152,1
    - Dst: std::make_unique<CFB_Encryption>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:155,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:155,1
    - Dst: std::make_unique<CFB_Decryption>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:157,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:157,1
    - Dst: std::unique_ptr<Cipher_Mode>
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:164,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 3
    argNames:
    - algo
    - direction
    - provider
    argTypes:
    - std::string_view
    - Cipher_Dir
    - std::string_view
    constantsTouched: []
    func_position:
      end: 165
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 165
    functionName: Botan::Cipher_Mode::create
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.cpp
    functionUses: 12
    functionsReached:
    - std::make_unique<CTS_Decryption>
    - std::vector::size
    - Botan::BlockCipherModePaddingMethod::create
    - std::make_unique<CBC_Encryption>
    - Botan::BlockCipher::create
    - std::make_unique<XTS_Decryption>
    - std::string_view::find
    - Botan::StreamCipher::create
    - Botan::Cipher_Mode::create
    - std::unique_ptr<Cipher_Mode>
    - std::vector::empty
    - Botan::AEAD_Mode::create
    - std::string_view::empty
    - std::make_unique<CFB_Decryption>
    - std::make_unique<CFB_Encryption>
    - make_commoncrypto_cipher_mode
    - std::make_unique<CBC_Decryption>
    - SCAN_Name::algo_name
    - parse_algorithm_name
    - std::make_unique<XTS_Encryption>
    - SCAN_Name::arg_count
    - split_on
    - std::make_unique<CTS_Encryption>
    - std::make_unique<Stream_Cipher_Mode>
    - std::move
    - std::ostringstream::str
    - SCAN_Name::arg
    linkageType: ''
    returnType: std::unique_ptr<Cipher_Mode>
    signature: "std::unique_ptr<Cipher_Mode> Cipher_Mode::create(std::string_view
      algo,\n                                                 Cipher_Dir direction,\n
      \                                                std::string_view provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:172,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/modes/cipher_mode.cpp:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: Botan::Cipher_Mode::providers
    functionSourceFile: /src/botan/src/lib/modes/cipher_mode.cpp
    functionUses: 3
    functionsReached:
    - Botan::Cipher_Mode::create
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Cipher_Mode::providers(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/stream_mode.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<StreamCipher>
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::Stream_Cipher_Mode::Stream_Cipher_Mode
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Stream_Cipher_Mode(std::unique_ptr<StreamCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::Stream_Cipher_Mode::output_length
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length(size_t input_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::Stream_Cipher_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t update_granularity() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/modes/stream_mode.h:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: Botan::Stream_Cipher_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: size_t ideal_granularity() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::Stream_Cipher_Mode::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Botan::Stream_Cipher_Mode::default_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t default_nonce_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: valid_iv_length
      Src: /src/botan/src/lib/modes/stream_mode.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nonce_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::Stream_Cipher_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached:
    - valid_iv_length
    linkageType: ''
    returnType: bool
    signature: bool valid_nonce_length(size_t nonce_len) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Stream_Cipher_Mode::key_spec
      Src: /src/botan/src/lib/modes/stream_mode.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::Stream_Cipher_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 1
    functionsReached:
    - Botan::Stream_Cipher_Mode::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Stream_Cipher_Mode::name
      Src: /src/botan/src/lib/modes/stream_mode.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::Stream_Cipher_Mode::name
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 1
    functionsReached:
    - Botan::Stream_Cipher_Mode::name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Stream_Cipher_Mode::clear
      Src: /src/botan/src/lib/modes/stream_mode.h:54,1
    - Dst: Botan::Stream_Cipher_Mode::reset
      Src: /src/botan/src/lib/modes/stream_mode.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: Botan::Stream_Cipher_Mode::clear
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 1
    functionsReached:
    - Botan::Stream_Cipher_Mode::clear
    - Botan::Stream_Cipher_Mode::reset
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: Botan::Stream_Cipher_Mode::reset
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Stream_Cipher_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/stream_mode.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::Stream_Cipher_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 1
    functionsReached:
    - Botan::Stream_Cipher_Mode::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool has_keying_material() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_iv
      Src: /src/botan/src/lib/modes/stream_mode.h:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: Botan::Stream_Cipher_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached:
    - set_iv
    linkageType: ''
    returnType: void
    signature: void start_msg(const uint8_t nonce[], size_t nonce_len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher1
      Src: /src/botan/src/lib/modes/stream_mode.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: Botan::Stream_Cipher_Mode::process_msg
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached:
    - cipher1
    linkageType: ''
    returnType: size_t
    signature: size_t process_msg(uint8_t buf[], size_t sz) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/modes/stream_mode.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' buf'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Botan::Stream_Cipher_Mode::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void finish_msg(secure_vector<uint8_t>& buf, size_t offset) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/modes/stream_mode.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::Stream_Cipher_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/modes/stream_mode.h
    functionUses: 0
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void key_schedule(std::span<const uint8_t> key) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::CFB_Mode::feedback
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t feedback() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& cipher() const'
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BlockCipher
    signature: BlockCipher & cipher() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::CFB_Mode::block_size
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cfb/cfb.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cipher
    - feedback_bits
    argTypes:
    - std::unique_ptr<BlockCipher>
    - size_t
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: Botan::CFB_Encryption::CFB_Encryption
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CFB_Encryption(std::unique_ptr<BlockCipher> cipher, size_t feedback_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cfb/cfb.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cipher
    - feedback_bits
    argTypes:
    - std::unique_ptr<BlockCipher>
    - size_t
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: Botan::CFB_Decryption::CFB_Decryption
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CFB_Decryption(std::unique_ptr<BlockCipher> cipher, size_t feedback_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:17,1
    - Dst: Botan::CFB_Mode::block_size
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:18,1
    - Dst: Botan::CFB_Mode::feedback
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:20,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:21,1
    - Dst: fmt
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:21,1
    - Dst: Botan::CFB_Mode::name
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:21,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - feedback_bits
    argTypes:
    - std::unique_ptr<BlockCipher>
    - size_t
    constantsTouched: []
    func_position:
      end: 23
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 23
    functionName: Botan::CFB_Mode::CFB_Mode
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - Botan::CFB_Mode::feedback
    - fmt
    - std::move
    - Botan::CFB_Mode::name
    - Invalid_Argument
    - Botan::CFB_Mode::block_size
    linkageType: ''
    returnType: void
    signature: void CFB_Mode::CFB_Mode(std::unique_ptr<BlockCipher> cipher, size_t
      feedback_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CFB_Mode::clear
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:26,1
    - Dst: Botan::CFB_Mode::clear
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:27,1
    - Dst: Botan::CFB_Mode::reset
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: Botan::CFB_Mode::clear
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 1
    functionsReached:
    - Botan::CFB_Mode::reset
    - Botan::CFB_Mode::clear
    linkageType: ''
    returnType: void
    signature: void CFB_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CFB_Mode::clear
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:32,1
    - Dst: zeroise
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: Botan::CFB_Mode::reset
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 1
    functionsReached:
    - zeroise
    - Botan::CFB_Mode::clear
    linkageType: ''
    returnType: void
    signature: void CFB_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CFB_Mode::feedback
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:37,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:37,1
    - Dst: fmt
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:38,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:38,1
    - Dst: fmt
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:40,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:40,1
    - Dst: Botan::CFB_Mode::feedback
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: Botan::CFB_Mode::name
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - cipher
    - Botan::CFB_Mode::feedback
    linkageType: ''
    returnType: std::string
    signature: std::string CFB_Mode::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::CFB_Mode::output_length
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CFB_Mode::output_length(size_t input_length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CFB_Mode::feedback
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Botan::CFB_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - Botan::CFB_Mode::feedback
    linkageType: ''
    returnType: size_t
    signature: size_t CFB_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CFB_Mode::feedback
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: Botan::CFB_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - Botan::CFB_Mode::feedback
    linkageType: ''
    returnType: size_t
    signature: size_t CFB_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::CFB_Mode::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CFB_Mode::minimum_final_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::CFB_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - cipher
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification CFB_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CFB_Mode::block_size
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan::CFB_Mode::default_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - Botan::CFB_Mode::block_size
    linkageType: ''
    returnType: size_t
    signature: size_t CFB_Mode::default_nonce_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CFB_Mode::block_size
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan::CFB_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - Botan::CFB_Mode::block_size
    linkageType: ''
    returnType: bool
    signature: bool CFB_Mode::valid_nonce_length(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CFB_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: Botan::CFB_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 1
    functionsReached:
    - Botan::CFB_Mode::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool CFB_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:78,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:79,1
    - Dst: Botan::CFB_Mode::block_size
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: Botan::CFB_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - set_key
    - resize
    - Botan::CFB_Mode::block_size
    linkageType: ''
    returnType: void
    signature: void CFB_Mode::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CFB_Mode::valid_nonce_length
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:83,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:84,1
    - Dst: Botan::CFB_Mode::name
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:84,1
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:87,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:90,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:91,1
    - Dst: assign
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:95,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: Botan::CFB_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - assign
    - assert_key_material_set
    - cipher
    - Invalid_IV_Length
    - Botan::CFB_Mode::valid_nonce_length
    - empty
    - Botan::CFB_Mode::name
    linkageType: ''
    returnType: void
    signature: void CFB_Mode::start_msg(const uint8_t nonce[], size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:106,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:106,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:108,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:108,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: Botan::CFB_Mode::shift_register
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - data
    - cipher
    linkageType: ''
    returnType: void
    signature: void CFB_Mode::shift_register()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:114,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:115,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:115,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:124,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:124,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:125,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:125,1
    - Dst: shift_register
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:132,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:137,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:137,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:138,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:138,1
    - Dst: shift_register
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:142,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:146,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:146,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:147,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 152
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 152
    functionName: Botan::CFB_Encryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - data
    - assert_key_material_set
    - copy_mem
    - empty
    - shift_register
    - xor_buf
    linkageType: ''
    returnType: size_t
    signature: size_t CFB_Encryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: Botan::CFB_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void CFB_Encryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - key_buf
    - len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: Botan::xor_copy
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xor_copy(uint8_t buf[], uint8_t key_buf[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:171,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:172,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:172,1
    - Dst: xor_copy
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:181,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:181,1
    - Dst: shift_register
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:188,1
    - Dst: xor_copy
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:193,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:193,1
    - Dst: shift_register
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:196,1
    - Dst: xor_copy
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:200,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 205
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 205
    functionName: Botan::CFB_Decryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - data
    - BOTAN_STATE_CHECK
    - assert_key_material_set
    - empty
    - shift_register
    - xor_copy
    linkageType: ''
    returnType: size_t
    signature: size_t CFB_Decryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/modes/cfb/cfb.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: Botan::CFB_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/cfb/cfb.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void CFB_Decryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_associated_data_n
      Src: /src/botan/src/lib/modes/aead/aead.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ad
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan::set_associated_data
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.h
    functionUses: 0
    functionsReached:
    - set_associated_data_n
    linkageType: ''
    returnType: void
    signature: void set_associated_data(std::span<const uint8_t> ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::set_associated_data
      Src: /src/botan/src/lib/modes/aead/aead.h:61,1
    - Dst: std::span
      Src: /src/botan/src/lib/modes/aead/aead.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ad
    - ad_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::set_associated_data
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.h
    functionUses: 1
    functionsReached:
    - Botan::set_associated_data
    - std::span
    linkageType: ''
    returnType: void
    signature: void set_associated_data(const uint8_t ad[], size_t ad_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan::maximum_associated_data_inputs
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t maximum_associated_data_inputs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan::associated_data_requires_key
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool associated_data_requires_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::set_associated_data
      Src: /src/botan/src/lib/modes/aead/aead.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ad'
    argTypes:
    - std::vector<uint8_t, Alloc>
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: Botan::set_associated_data_vec
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.h
    functionUses: 0
    functionsReached:
    - Botan::set_associated_data
    linkageType: ''
    returnType: void
    signature: void set_associated_data_vec(const std::vector<uint8_t, Alloc>& ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::set_associated_data
      Src: /src/botan/src/lib/modes/aead/aead.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ad
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: Botan::set_ad
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.h
    functionUses: 0
    functionsReached:
    - Botan::set_associated_data
    linkageType: ''
    returnType: void
    signature: void set_ad(std::span<const uint8_t> ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan::default_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t default_nonce_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: ~AEAD_Mode() override
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AEAD_Mode() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AEAD_Mode::create
      Src: /src/botan/src/lib/modes/aead/aead.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - direction
    argTypes:
    - std::string_view
    - Cipher_Dir
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: get_aead
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.h
    functionUses: 0
    functionsReached:
    - Botan::AEAD_Mode::create
    linkageType: ''
    returnType: AEAD_Mode
    signature: AEAD_Mode * get_aead(std::string_view name, Cipher_Dir direction)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AEAD_Mode::create
      Src: /src/botan/src/lib/modes/aead/aead.cpp:47,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/modes/aead/aead.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - algo
    - dir
    - provider
    argTypes:
    - std::string_view
    - Cipher_Dir
    - std::string_view
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: Botan::AEAD_Mode::create_or_throw
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.cpp
    functionUses: 1
    functionsReached:
    - Lookup_Error
    - Botan::AEAD_Mode::create
    linkageType: ''
    returnType: std::unique_ptr<AEAD_Mode>
    signature: "std::unique_ptr<AEAD_Mode> AEAD_Mode::create_or_throw(std::string_view
      algo,\n                                                      Cipher_Dir dir,\n
      \                                                     std::string_view provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/modes/aead/aead.cpp:55,1
    - Dst: std::make_unique<ChaCha20Poly1305_Encryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:59,1
    - Dst: std::make_unique<ChaCha20Poly1305_Decryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:61,1
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/modes/aead/aead.cpp:66,1
    - Dst: split_on
      Src: /src/botan/src/lib/modes/aead/aead.cpp:67,1
    - Dst: parse_algorithm_name
      Src: /src/botan/src/lib/modes/aead/aead.cpp:69,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/modes/aead/aead.cpp:71,1
    - Dst: std::unique_ptr<AEAD_Mode>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:72,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/modes/aead/aead.cpp:78,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/modes/aead/aead.cpp:81,1
    - Dst: Botan::AEAD_Mode::create
      Src: /src/botan/src/lib/modes/aead/aead.cpp:86,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/modes/aead/aead.cpp:86,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/modes/aead/aead.cpp:93,1
    - Dst: std::unique_ptr<AEAD_Mode>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:94,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/modes/aead/aead.cpp:97,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/modes/aead/aead.cpp:97,1
    - Dst: std::unique_ptr<AEAD_Mode>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:100,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/modes/aead/aead.cpp:104,1
    - Dst: std::make_unique<CCM_Encryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:108,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/aead.cpp:108,1
    - Dst: std::make_unique<CCM_Decryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:110,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/aead.cpp:110,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/modes/aead/aead.cpp:116,1
    - Dst: std::make_unique<GCM_Encryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:119,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/aead.cpp:119,1
    - Dst: std::make_unique<GCM_Decryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:121,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/aead.cpp:121,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/modes/aead/aead.cpp:127,1
    - Dst: std::make_unique<OCB_Encryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:130,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/aead.cpp:130,1
    - Dst: std::make_unique<OCB_Decryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:132,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/aead.cpp:132,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/modes/aead/aead.cpp:138,1
    - Dst: std::make_unique<EAX_Encryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:141,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/aead.cpp:141,1
    - Dst: std::make_unique<EAX_Decryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:143,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/aead.cpp:143,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/modes/aead/aead.cpp:149,1
    - Dst: std::make_unique<SIV_Encryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:151,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/aead.cpp:151,1
    - Dst: std::make_unique<SIV_Decryption>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:153,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/aead.cpp:153,1
    - Dst: std::unique_ptr<AEAD_Mode>
      Src: /src/botan/src/lib/modes/aead/aead.cpp:160,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 3
    argNames:
    - algo
    - dir
    - provider
    argTypes:
    - std::string_view
    - Cipher_Dir
    - std::string_view
    constantsTouched: []
    func_position:
      end: 161
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 161
    functionName: Botan::AEAD_Mode::create
    functionSourceFile: /src/botan/src/lib/modes/aead/aead.cpp
    functionUses: 9
    functionsReached:
    - std::vector::size
    - Botan::BlockCipher::create
    - std::make_unique<CCM_Encryption>
    - std::string_view::find
    - BOTAN_UNUSED
    - std::make_unique<GCM_Encryption>
    - std::make_unique<OCB_Decryption>
    - std::make_unique<ChaCha20Poly1305_Encryption>
    - std::make_unique<CCM_Decryption>
    - std::vector::empty
    - std::make_unique<EAX_Decryption>
    - std::make_unique<SIV_Decryption>
    - Botan::AEAD_Mode::create
    - std::make_unique<ChaCha20Poly1305_Decryption>
    - SCAN_Name::algo_name
    - parse_algorithm_name
    - std::unique_ptr<AEAD_Mode>
    - std::make_unique<OCB_Encryption>
    - SCAN_Name::arg_count
    - split_on
    - std::make_unique<SIV_Encryption>
    - std::move
    - std::make_unique<EAX_Encryption>
    - std::make_unique<GCM_Decryption>
    - std::ostringstream::str
    - SCAN_Name::arg
    linkageType: ''
    returnType: std::unique_ptr<AEAD_Mode>
    signature: std::unique_ptr<AEAD_Mode> AEAD_Mode::create(std::string_view algo,
      Cipher_Dir dir, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::EAX_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_nonce_length(size_t) const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::EAX_Mode::tag_size
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tag_size() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EAX_Mode::block_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::EAX_Mode::block_size
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.h
    functionUses: 1
    functionsReached:
    - Botan::EAX_Mode::block_size
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/eax/eax.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: Botan::EAX_Encryption::EAX_Encryption
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void EAX_Encryption(std::unique_ptr<BlockCipher> cipher, size_t tag_size
      = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Botan::EAX_Encryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.h
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t output_length(size_t input_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: Botan::EAX_Encryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/eax/eax.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: Botan::EAX_Decryption::EAX_Decryption
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void EAX_Decryption(std::unique_ptr<BlockCipher> cipher, size_t tag_size
      = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/eax/eax.h:106,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.h:106,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: Botan::EAX_Decryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.h
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t output_length(size_t input_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Botan::EAX_Decryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.h
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::update
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:27,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:29,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:30,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - tag
    - block_size
    - ' mac'
    - in
    - length
    argTypes:
    - uint8_t
    - size_t
    - MessageAuthenticationCode
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: Botan::eax_prf
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached:
    - Botan::update
    - Botan::final
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> eax_prf(\n   uint8_t tag, size_t block_size,
      MessageAuthenticationCode& mac, const uint8_t in[], size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:41,1
    - Dst: std::make_unique<CTR_BE>
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:42,1
    - Dst: new_object
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:42,1
    - Dst: std::make_unique<CMAC>
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:43,1
    - Dst: new_object
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:43,1
    - Dst: output_length
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:44,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:45,1
    - Dst: fmt
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:45,1
    - Dst: Botan::EAX_Mode::name
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - tag_size
    argTypes:
    - std::unique_ptr<BlockCipher>
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: Botan::EAX_Mode::EAX_Mode
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached:
    - Botan::EAX_Mode::name
    - new_object
    - fmt
    - std::move
    - output_length
    - Invalid_Argument
    - std::make_unique<CMAC>
    - std::make_unique<CTR_BE>
    linkageType: ''
    returnType: void
    signature: void EAX_Mode::EAX_Mode(std::unique_ptr<BlockCipher> cipher, size_t
      tag_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EAX_Mode::clear
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:50,1
    - Dst: Botan::EAX_Mode::clear
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:51,1
    - Dst: Botan::EAX_Mode::clear
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:52,1
    - Dst: Botan::EAX_Mode::reset
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: Botan::EAX_Mode::clear
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 1
    functionsReached:
    - Botan::EAX_Mode::reset
    - Botan::EAX_Mode::clear
    linkageType: ''
    returnType: void
    signature: void EAX_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EAX_Mode::clear
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:57,1
    - Dst: Botan::EAX_Mode::clear
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:58,1
    - Dst: final
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: Botan::EAX_Mode::reset
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 1
    functionsReached:
    - final
    - Botan::EAX_Mode::clear
    linkageType: ''
    returnType: void
    signature: void EAX_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EAX_Mode::name
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: Botan::EAX_Mode::name
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 2
    functionsReached:
    - Botan::EAX_Mode::name
    linkageType: ''
    returnType: std::string
    signature: std::string EAX_Mode::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: Botan::EAX_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t EAX_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parallel_bytes
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: Botan::EAX_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached:
    - parallel_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t EAX_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EAX_Mode::key_spec
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: Botan::EAX_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 1
    functionsReached:
    - Botan::EAX_Mode::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification EAX_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EAX_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:83,1
    - Dst: Botan::EAX_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: Botan::EAX_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 1
    functionsReached:
    - Botan::EAX_Mode::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool EAX_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:94,1
    - Dst: set_key
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: Botan::EAX_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void EAX_Mode::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:102,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:103,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:104,1
    - Dst: eax_prf
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:106,1
    - Dst: Botan::EAX_Mode::block_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:106,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:106,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - idx
    - ad
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: Botan::EAX_Mode::set_associated_data_n
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - eax_prf
    - std::span<const uint8_t>::data
    - empty
    - std::span<const uint8_t>::size
    - BOTAN_ARG_CHECK
    - Botan::EAX_Mode::block_size
    linkageType: ''
    returnType: void
    signature: void EAX_Mode::set_associated_data_n(size_t idx, std::span<const uint8_t>
      ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EAX_Mode::valid_nonce_length
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:110,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:111,1
    - Dst: Botan::EAX_Mode::name
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:111,1
    - Dst: eax_prf
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:114,1
    - Dst: Botan::EAX_Mode::block_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:114,1
    - Dst: set_iv
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:116,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:116,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:116,1
    - Dst: Botan::EAX_Mode::block_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:118,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:119,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: Botan::EAX_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached:
    - eax_prf
    - Botan::EAX_Mode::name
    - set_iv
    - data
    - size
    - Botan::EAX_Mode::valid_nonce_length
    - Invalid_IV_Length
    - update
    - Botan::EAX_Mode::block_size
    linkageType: ''
    returnType: void
    signature: void EAX_Mode::start_msg(const uint8_t nonce[], size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:125,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:125,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:126,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: Botan::EAX_Encryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached:
    - empty
    - BOTAN_STATE_CHECK
    - update
    - cipher
    linkageType: ''
    returnType: size_t
    signature: size_t EAX_Encryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:132,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:132,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:133,1
    - Dst: final
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:135,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:136,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:136,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:138,1
    - Dst: eax_prf
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:139,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:139,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:142,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:142,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:144,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:144,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:144,1
    - Dst: clear
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: Botan::EAX_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - std::make_pair
    - eax_prf
    - secure_vector::size
    - block_size
    - BOTAN_STATE_CHECK
    - final
    - clear
    - empty
    - tag_size
    - xor_buf
    - update
    linkageType: ''
    returnType: void
    signature: void EAX_Encryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:150,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:150,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:151,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: Botan::EAX_Decryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached:
    - empty
    - BOTAN_STATE_CHECK
    - update
    - cipher
    linkageType: ''
    returnType: size_t
    signature: size_t EAX_Decryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:157,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:157,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:161,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:161,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:166,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:167,1
    - Dst: final
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:172,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:175,1
    - Dst: eax_prf
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:176,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:176,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:183,1
    - Dst: clear
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:185,1
    - Dst: Invalid_Authentication_Tag
      Src: /src/botan/src/lib/modes/aead/eax/eax.cpp:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 190
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 190
    functionName: Botan::EAX_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/eax/eax.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Authentication_Tag
    - eax_prf
    - block_size
    - final
    - cipher
    - size
    - clear
    - empty
    - resize
    - tag_size
    - update
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void EAX_Decryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<BlockCipher>::name
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:21,1
    - Dst: std::unique_ptr<BlockCipher>::block_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:22,1
    - Dst: std::make_unique<CTR_BE>
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:23,1
    - Dst: std::unique_ptr<BlockCipher>::new_object
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:23,1
    - Dst: std::make_unique<CMAC>
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:24,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:24,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: Botan::SIV_Mode::SIV_Mode
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<BlockCipher>::block_size
    - std::unique_ptr<BlockCipher>::name
    - std::move
    - Invalid_Argument
    - std::make_unique<CMAC>
    - std::make_unique<CTR_BE>
    - std::unique_ptr<BlockCipher>::new_object
    linkageType: ''
    returnType: void
    signature: void SIV_Mode::SIV_Mode(std::unique_ptr<BlockCipher> cipher)
  - 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: SIV_Mode::~SIV_Mode()
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIV_Mode::~SIV_Mode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIV_Mode::clear
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:34,1
    - Dst: Botan::SIV_Mode::clear
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:35,1
    - Dst: Botan::SIV_Mode::reset
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: Botan::SIV_Mode::clear
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIV_Mode::reset
    - Botan::SIV_Mode::clear
    linkageType: ''
    returnType: void
    signature: void SIV_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIV_Mode::clear
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:40,1
    - Dst: Botan::SIV_Mode::clear
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:41,1
    - Dst: Botan::SIV_Mode::clear
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: Botan::SIV_Mode::reset
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIV_Mode::clear
    linkageType: ''
    returnType: void
    signature: void SIV_Mode::reset()
  - 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: Botan::SIV_Mode::name
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SIV_Mode::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::SIV_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SIV_Mode::valid_nonce_length(size_t /*nonce_len*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan::SIV_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SIV_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: Botan::SIV_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SIV_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: Botan::SIV_Mode::requires_entire_message
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SIV_Mode::requires_entire_message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIV_Mode::key_spec
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: Botan::SIV_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIV_Mode::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification SIV_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIV_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:71,1
    - Dst: Botan::SIV_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: Botan::SIV_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIV_Mode::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool SIV_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:76,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:76,1
    - Dst: set_key
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:77,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:77,1
    - Dst: Botan::SIV_Mode::clear
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: Botan::SIV_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::first
    - set_key
    - Botan::SIV_Mode::clear
    - std::span<const uint8_t>::last
    linkageType: ''
    returnType: void
    signature: void SIV_Mode::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: Botan::SIV_Mode::maximum_associated_data_inputs
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: size_t
    signature: size_t SIV_Mode::maximum_associated_data_inputs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:88,1
    - Dst: Botan::SIV_Mode::name
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:88,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:88,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:91,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:92,1
    - Dst: process
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - n
    - ad
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: Botan::SIV_Mode::set_associated_data_n
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - process
    - size
    - Botan::SIV_Mode::name
    - resize
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void SIV_Mode::set_associated_data_n(size_t n, std::span<const uint8_t>
      ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIV_Mode::valid_nonce_length
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:99,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:100,1
    - Dst: Botan::SIV_Mode::name
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:100,1
    - Dst: process
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:104,1
    - Dst: Botan::SIV_Mode::clear
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:106,1
    - Dst: Botan::SIV_Mode::clear
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: Botan::SIV_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIV_Mode::clear
    - process
    - Invalid_IV_Length
    - Botan::SIV_Mode::name
    - Botan::SIV_Mode::valid_nonce_length
    linkageType: ''
    returnType: void
    signature: void SIV_Mode::start_msg(const uint8_t nonce[], size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:114,1
    - Dst: end
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: Botan::SIV_Mode::process_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached:
    - end
    - insert
    linkageType: ''
    returnType: size_t
    signature: size_t SIV_Mode::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: process
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:121,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:121,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:121,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:123,1
    - Dst: poly_double_n
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:124,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:124,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:124,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:128,1
    - Dst: poly_double_n
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:129,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:129,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:129,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:133,1
    - Dst: poly_double_n
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:134,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:134,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:134,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:135,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:135,1
    - Dst: process
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:137,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:140,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:140,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:141,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:141,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:141,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:141,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:142,1
    - Dst: final
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - text
    - text_len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 145
    functionName: Botan::SIV_Mode::S2V
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - std::vector::size
    - secure_vector::size
    - block_size
    - final
    - process
    - size
    - empty
    - poly_double_n
    - xor_buf
    - update
    - std::vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> SIV_Mode::S2V(const uint8_t* text, size_t text_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctr
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:151,1
    - Dst: secure_vector<uint8_t>::data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:151,1
    - Dst: secure_vector<uint8_t>::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - V
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: Botan::SIV_Mode::set_ctr_iv
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached:
    - secure_vector<uint8_t>::size
    - secure_vector<uint8_t>::data
    - ctr
    linkageType: ''
    returnType: void
    signature: void SIV_Mode::set_ctr_iv(secure_vector<uint8_t> V)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:155,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:155,1
    - Dst: insert
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:157,1
    - Dst: begin
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:157,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:157,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:157,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:158,1
    - Dst: S2V
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:160,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:160,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:160,1
    - Dst: insert
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:162,1
    - Dst: begin
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:162,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:162,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:162,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:164,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:164,1
    - Dst: set_ctr_iv
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:165,1
    - Dst: ctr
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:166,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:166,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:166,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 168
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 168
    functionName: Botan::SIV_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::begin
    - S2V
    - secure_vector::size
    - set_ctr_iv
    - begin
    - msg_buf
    - data
    - secure_vector::end
    - ctr
    - size
    - BOTAN_ARG_CHECK
    - insert
    linkageType: ''
    returnType: void
    signature: void SIV_Encryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:171,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:171,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:173,1
    - Dst: insert
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:174,1
    - Dst: begin
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:174,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:174,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:174,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:175,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:180,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:180,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:182,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:182,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:182,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:184,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:184,1
    - Dst: set_ctr_iv
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:185,1
    - Dst: ctr
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:187,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:187,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:187,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:187,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:187,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:187,1
    - Dst: S2V
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:190,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:190,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:190,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:190,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:192,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:192,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:192,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:192,1
    - Dst: Invalid_Authentication_Tag
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:193,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:196,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:196,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.cpp:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 197
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 197
    functionName: Botan::SIV_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - Invalid_Authentication_Tag
    - block_size
    - secure_vector::size
    - set_ctr_iv
    - begin
    - msg_buf
    - data
    - ctr
    - S2V
    - size
    - Botan::CT::is_equal
    - resize
    - tag_size
    - BOTAN_ARG_CHECK
    - insert
    linkageType: ''
    returnType: void
    signature: void SIV_Decryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: Botan::AEAD_Mode
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API AEAD_Mode
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: Botan::SIV_Encryption
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.h
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API SIV_Encryption
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/aead/siv/siv.h:115,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.h:115,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: SIV_Decryption
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.h
    functionUses: 0
    functionsReached:
    - tag_size
    - BOTAN_ASSERT
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API SIV_Decryption
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/siv/siv.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/aead/siv/siv.h
    functionUses: 5
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan::GCM_Mode::tag_size
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tag_size() const override final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: Botan::GCM_Encryption::GCM_Encryption
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void GCM_Encryption(std::unique_ptr<BlockCipher> cipher, size_t tag_size
      = 16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan::GCM_Encryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.h
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t output_length(size_t input_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan::GCM_Encryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: Botan::GCM_Decryption::GCM_Decryption
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void GCM_Decryption(std::unique_ptr<BlockCipher> cipher, size_t tag_size
      = 16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.h:105,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.h:105,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: Botan::GCM_Decryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.h
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t output_length(size_t input_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: Botan::GCM_Decryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.h
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<BlockCipher>::name
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:25,1
    - Dst: std::unique_ptr<BlockCipher>::block_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:26,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:27,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:33,1
    - Dst: fmt
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:33,1
    - Dst: Botan::GCM_Mode::name
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:33,1
    - Dst: std::make_unique<CTR_BE>
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:36,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:36,1
    - Dst: std::make_unique<GHASH>
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:37,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - cipher
    - tag_size
    argTypes:
    - std::unique_ptr<BlockCipher>
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: Botan::GCM_Mode::GCM_Mode
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<BlockCipher>::block_size
    - fmt
    - std::unique_ptr<BlockCipher>::name
    - std::move
    - Invalid_Argument
    - std::make_unique<CTR_BE>
    - Botan::GCM_Mode::name
    - std::make_unique<GHASH>
    linkageType: ''
    returnType: void
    signature: void GCM_Mode::GCM_Mode(std::unique_ptr<BlockCipher> cipher, size_t
      tag_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: GCM_Mode::~GCM_Mode()
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GCM_Mode::~GCM_Mode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GCM_Mode::clear
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:43,1
    - Dst: Botan::GCM_Mode::clear
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:44,1
    - Dst: Botan::GCM_Mode::reset
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: Botan::GCM_Mode::clear
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 1
    functionsReached:
    - Botan::GCM_Mode::clear
    - Botan::GCM_Mode::reset
    linkageType: ''
    returnType: void
    signature: void GCM_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GCM_Mode::reset
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Botan::GCM_Mode::reset
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 2
    functionsReached:
    - Botan::GCM_Mode::reset
    linkageType: ''
    returnType: void
    signature: void GCM_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:53,1
    - Dst: Botan::GCM_Mode::tag_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::GCM_Mode::name
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 1
    functionsReached:
    - Botan::GCM_Mode::tag_size
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string GCM_Mode::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GCM_Mode::provider
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::GCM_Mode::provider
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 1
    functionsReached:
    - Botan::GCM_Mode::provider
    linkageType: ''
    returnType: std::string
    signature: std::string GCM_Mode::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: Botan::GCM_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GCM_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::max<size_t>
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: Botan::GCM_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached:
    - std::max<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t GCM_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: Botan::GCM_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GCM_Mode::valid_nonce_length(size_t len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GCM_Mode::key_spec
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: Botan::GCM_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 1
    functionsReached:
    - Botan::GCM_Mode::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification GCM_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GCM_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: Botan::GCM_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 1
    functionsReached:
    - Botan::GCM_Mode::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool GCM_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:82,1
    - Dst: set_iv
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:85,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:85,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:85,1
    - Dst: encipher
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:88,1
    - Dst: set_key
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: Botan::GCM_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - set_iv
    - encipher
    - set_key
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void GCM_Mode::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:93,1
    - Dst: set_associated_data
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - idx
    - ad
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: Botan::GCM_Mode::set_associated_data_n
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - set_associated_data
    linkageType: ''
    returnType: void
    signature: void GCM_Mode::set_associated_data_n(size_t idx, std::span<const uint8_t>
      ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GCM_Mode::valid_nonce_length
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:98,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:99,1
    - Dst: Botan::GCM_Mode::name
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:99,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:102,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:103,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:106,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:106,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:106,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:109,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:109,1
    - Dst: nonce_hash
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:112,1
    - Dst: std::span<uint8_t, GCM_BS>
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:112,1
    - Dst: set_iv
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:115,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:115,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:115,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:117,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:117,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:117,1
    - Dst: encipher
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:118,1
    - Dst: start
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:120,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:121,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:121,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 122
    functionName: Botan::GCM_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - data
    - set_iv
    - std::span<uint8_t, GCM_BS>
    - size
    - copy_mem
    - Invalid_IV_Length
    - nonce_hash
    - resize
    - encipher
    - start
    - Botan::GCM_Mode::valid_nonce_length
    - Botan::GCM_Mode::name
    linkageType: ''
    returnType: void
    signature: void GCM_Mode::start_msg(const uint8_t nonce[], size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:125,1
    - Dst: update_granularity
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:125,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:126,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: Botan::GCM_Encryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached:
    - update
    - update_granularity
    - BOTAN_ARG_CHECK
    - cipher
    linkageType: ''
    returnType: size_t
    signature: size_t GCM_Encryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:132,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:132,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:136,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:137,1
    - Dst: final
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:140,1
    - Dst: std::span
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:140,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:140,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:141,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:141,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: Botan::GCM_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - std::span
    - final
    - cipher
    - size
    - tag_size
    - std::make_pair
    - update
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void GCM_Encryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:145,1
    - Dst: update_granularity
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:145,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:146,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: Botan::GCM_Decryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached:
    - update
    - update_granularity
    - BOTAN_ARG_CHECK
    - cipher
    linkageType: ''
    returnType: size_t
    signature: size_t GCM_Decryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:152,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:152,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:156,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:156,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:162,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:163,1
    - Dst: final
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:167,1
    - Dst: std::span
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:167,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:167,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:171,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:171,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:171,1
    - Dst: Invalid_Authentication_Tag
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:172,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/gcm/gcm.cpp:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 176
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 176
    functionName: Botan::GCM_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/gcm/gcm.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Authentication_Tag
    - std::array::data
    - std::span
    - Botan::CT::is_equal
    - final
    - cipher
    - size
    - resize
    - tag_size
    - update
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void GCM_Decryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::ChaCha20Poly1305_Mode::associated_data_requires_key
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool associated_data_requires_key() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::ChaCha20Poly1305_Mode::name
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::ChaCha20Poly1305_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::ChaCha20Poly1305_Mode::tag_size
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tag_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::ChaCha20Poly1305_Mode::cfrg_version
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cfrg_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan::ChaCha20Poly1305_Encryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t output_length(size_t input_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan::ChaCha20Poly1305_Encryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h:91,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h:91,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: Botan::ChaCha20Poly1305_Decryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t output_length(size_t input_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan::ChaCha20Poly1305_Decryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:17,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:17,1
    - Dst: Algorithm_Not_Found
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:19,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: Botan::ChaCha20Poly1305_Mode::ChaCha20Poly1305_Mode
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - Botan::StreamCipher::create
    - Botan::MessageAuthenticationCode::create
    - Algorithm_Not_Found
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305_Mode::ChaCha20Poly1305_Mode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::ChaCha20Poly1305_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ChaCha20Poly1305_Mode::valid_nonce_length(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: Botan::ChaCha20Poly1305_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ChaCha20Poly1305_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Botan::ChaCha20Poly1305_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ChaCha20Poly1305_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ChaCha20Poly1305_Mode::clear
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:36,1
    - Dst: Botan::ChaCha20Poly1305_Mode::clear
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:37,1
    - Dst: Botan::ChaCha20Poly1305_Mode::reset
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: Botan::ChaCha20Poly1305_Mode::clear
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 1
    functionsReached:
    - Botan::ChaCha20Poly1305_Mode::reset
    - Botan::ChaCha20Poly1305_Mode::clear
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ChaCha20Poly1305_Mode::clear
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: Botan::ChaCha20Poly1305_Mode::reset
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 1
    functionsReached:
    - Botan::ChaCha20Poly1305_Mode::clear
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ChaCha20Poly1305_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::ChaCha20Poly1305_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 1
    functionsReached:
    - Botan::ChaCha20Poly1305_Mode::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool ChaCha20Poly1305_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::ChaCha20Poly1305_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305_Mode::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:56,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:58,1
    - Dst: assign
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:60,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:60,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - idx
    - ad
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: Botan::ChaCha20Poly1305_Mode::set_associated_data_n
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - Invalid_State
    - assign
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305_Mode::set_associated_data_n(size_t idx, std::span<const
      uint8_t> ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_le
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:65,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:65,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: Botan::ChaCha20Poly1305_Mode::update_len
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - store_le
    - update
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305_Mode::update_len(size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ChaCha20Poly1305_Mode::valid_nonce_length
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:70,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:71,1
    - Dst: Botan::ChaCha20Poly1305_Mode::name
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:71,1
    - Dst: set_iv
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:77,1
    - Dst: write_keystream
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:80,1
    - Dst: set_key
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:82,1
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:84,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:86,1
    - Dst: Botan::ChaCha20Poly1305_Mode::cfrg_version
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:88,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:89,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:91,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:91,1
    - Dst: Botan::ChaCha20Poly1305_Mode::update_len
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:94,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 96
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 96
    functionName: Botan::ChaCha20Poly1305_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - Botan::ChaCha20Poly1305_Mode::name
    - Botan::ChaCha20Poly1305_Mode::valid_nonce_length
    - set_iv
    - secure_scrub_memory
    - size
    - Invalid_IV_Length
    - set_key
    - update
    - Botan::ChaCha20Poly1305_Mode::update_len
    - Botan::ChaCha20Poly1305_Mode::cfrg_version
    - write_keystream
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305_Mode::start_msg(const uint8_t nonce[], size_t
      nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher1
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:99,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: Botan::ChaCha20Poly1305_Encryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - update
    - cipher1
    linkageType: ''
    returnType: size_t
    signature: size_t ChaCha20Poly1305_Encryption::process_msg(uint8_t buf[], size_t
      sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:106,1
    - Dst: cfrg_version
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:107,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:110,1
    - Dst: update_len
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:112,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:112,1
    - Dst: update_len
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:114,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:116,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:116,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:116,1
    - Dst: final
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:117,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:117,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 120
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 120
    functionName: Botan::ChaCha20Poly1305_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - cfrg_version
    - final
    - size
    - resize
    - update_len
    - tag_size
    - update
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305_Encryption::finish_msg(secure_vector<uint8_t>&
      buffer, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:123,1
    - Dst: cipher1
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: Botan::ChaCha20Poly1305_Decryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - update
    - cipher1
    linkageType: ''
    returnType: size_t
    signature: size_t ChaCha20Poly1305_Decryption::process_msg(uint8_t buf[], size_t
      sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:130,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:130,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:134,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:134,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:139,1
    - Dst: cipher1
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:140,1
    - Dst: cfrg_version
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:144,1
    - Dst: update
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:147,1
    - Dst: update_len
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:149,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:149,1
    - Dst: update_len
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:152,1
    - Dst: final
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:155,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:162,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:162,1
    - Dst: Invalid_Authentication_Tag
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:163,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 166
    functionName: Botan::ChaCha20Poly1305_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Authentication_Tag
    - Botan::CT::is_equal
    - cfrg_version
    - final
    - size
    - resize
    - update_len
    - tag_size
    - update
    - cipher1
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305_Decryption::finish_msg(secure_vector<uint8_t>&
      buffer, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OCB_Mode
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:62,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 93
    functionName: Botan::AEAD_Mode
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.h
    functionUses: 0
    functionsReached:
    - Botan::size
    - OCB_Mode
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API AEAD_Mode
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OCB_Encryption
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:101,1
    - Dst: OCB_Mode
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:102,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:102,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 112
    functionName: Botan::OCB_Encryption
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.h
    functionUses: 1
    functionsReached:
    - Botan::OCB_Encryption
    - std::move
    - OCB_Mode
    - tag_size
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API OCB_Encryption
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OCB_Decryption
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:120,1
    - Dst: OCB_Mode
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:121,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:121,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:124,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:124,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:125,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 134
    functionName: Botan::OCB_Decryption
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.h
    functionUses: 1
    functionsReached:
    - tag_size
    - std::move
    - BOTAN_ASSERT
    - Botan::OCB_Decryption
    - OCB_Mode
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API OCB_Decryption
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:23,1
    - Dst: parallel_bytes
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:23,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:24,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:25,1
    - Dst: Botan::L_computer::poly_double
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:26,1
    - Dst: star
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:26,1
    - Dst: reserve
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:37,1
    - Dst: push_back
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:38,1
    - Dst: Botan::L_computer::poly_double
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:38,1
    - Dst: dollar
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:38,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:40,1
    - Dst: push_back
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:41,1
    - Dst: Botan::L_computer::poly_double
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:41,1
    - Dst: back
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:41,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' cipher'
    argTypes:
    - BlockCipher
    constantsTouched: []
    func_position:
      end: 45
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 45
    functionName: Botan::L_computer::L_computer
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - star
    - reserve
    - block_size
    - dollar
    - size
    - resize
    - Botan::L_computer::poly_double
    - push_back
    - parallel_bytes
    - back
    - encrypt
    linkageType: ''
    returnType: void
    signature: void L_computer(const BlockCipher& cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' offset'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::L_computer::init
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init(const secure_vector<uint8_t>& offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::L_computer::initialized
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool initialized() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& star() const'
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & star() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& dollar() const'
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & dollar() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& offset() const'
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & offset() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:58,1
    - Dst: push_back
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:59,1
    - Dst: Botan::poly_double
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:59,1
    - Dst: back
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: '& get(size_t i) const'
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - Botan::size
    - Botan::poly_double
    - push_back
    - back
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & get(size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:66,1
    - Dst: get
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:71,1
    - Dst: get
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:72,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:81,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:81,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:81,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:84,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:84,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:87,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:87,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:87,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:88,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:88,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:91,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:91,1
    - Dst: get
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:91,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:92,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:92,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:101,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:101,1
    - Dst: get
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:101,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:102,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:102,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - block_index
    - blocks
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 107
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 107
    functionName: Botan::L_computer::compute_offsets
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - data
    - copy_mem
    - get
    - BOTAN_ASSERT
    - xor_buf
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * compute_offsets(size_t block_index, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:111,1
    - Dst: poly_double_n
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:112,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:112,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:112,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: Botan::L_computer::poly_double
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 1
    functionsReached:
    - secure_vector::data
    - secure_vector::size
    - data
    - size
    - poly_double_n
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> poly_double(const secure_vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:140,1
    - Dst: Botan::var_ctz32
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:140,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:140,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:142,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:142,1
    - Dst: Botan::encrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:143,1
    - Dst: star
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:148,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:150,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:150,1
    - Dst: Botan::encrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - ' L'
    - ' cipher'
    - ad
    - ad_len
    argTypes:
    - L_computer
    - BlockCipher
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 157
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 157
    functionName: Botan::ocb_hash
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - Botan::xor_buf
    - Botan::get
    - secure_vector::data
    - Botan::encrypt
    - star
    - static_cast<uint32_t>
    - Botan::var_ctz32
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> ocb_hash(const L_computer& L, const BlockCipher&
      cipher, const uint8_t ad[], size_t ad_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:162,1
    - Dst: parallel_bytes
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:163,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:164,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:166,1
    - Dst: parallel_bytes
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:167,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:175,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - cipher
    - tag_size
    argTypes:
    - std::unique_ptr<BlockCipher>
    - size_t
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: Botan::OCB_Mode::OCB_Mode
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::move
    - block_size
    - parallel_bytes
    linkageType: ''
    returnType: void
    signature: void OCB_Mode::OCB_Mode(std::unique_ptr<BlockCipher> cipher, size_t
      tag_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: OCB_Mode::~OCB_Mode()
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OCB_Mode::~OCB_Mode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OCB_Mode::clear
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:184,1
    - Dst: Botan::OCB_Mode::reset
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:185,1
    - Dst: Botan::OCB_Mode::reset
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: Botan::OCB_Mode::clear
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 1
    functionsReached:
    - Botan::OCB_Mode::clear
    - Botan::OCB_Mode::reset
    linkageType: ''
    returnType: void
    signature: void OCB_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroise
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:191,1
    - Dst: zeroise
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:192,1
    - Dst: Botan::OCB_Mode::clear
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:193,1
    - Dst: Botan::OCB_Mode::clear
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: Botan::OCB_Mode::reset
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 1
    functionsReached:
    - zeroise
    - Botan::OCB_Mode::clear
    linkageType: ''
    returnType: void
    signature: void OCB_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:201,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: Botan::OCB_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: bool
    signature: bool OCB_Mode::valid_nonce_length(size_t length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OCB_Mode::name
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: Botan::OCB_Mode::name
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 1
    functionsReached:
    - Botan::OCB_Mode::name
    linkageType: ''
    returnType: std::string
    signature: std::string OCB_Mode::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: Botan::OCB_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: size_t
    signature: size_t OCB_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: Botan::OCB_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: size_t
    signature: size_t OCB_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OCB_Mode::key_spec
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: Botan::OCB_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 1
    functionsReached:
    - Botan::OCB_Mode::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification OCB_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OCB_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: Botan::OCB_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 1
    functionsReached:
    - Botan::OCB_Mode::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool OCB_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:229,1
    - Dst: std::make_unique<L_computer>
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: Botan::OCB_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<L_computer>
    - set_key
    linkageType: ''
    returnType: void
    signature: void OCB_Mode::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:234,1
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:235,1
    - Dst: ocb_hash
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:236,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:236,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - idx
    - ad
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: Botan::OCB_Mode::set_associated_data_n
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::data
    - assert_key_material_set
    - std::span<const uint8_t>::size
    - ocb_hash
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void OCB_Mode::set_associated_data_n(size_t idx, std::span<const uint8_t>
      ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:242,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:249,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:250,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:250,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:252,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:253,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:253,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:265,1
    - Dst: push_back
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:289,1
    - Dst: push_back
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:293,1
    - Dst: push_back
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:297,1
    - Dst: push_back
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:301,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:312,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:312,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:314,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 321
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 321
    functionName: '& OCB_Mode::update_nonce(const uint8_t nonce[], size_t nonce_len)'
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - size
    - copy_mem
    - tag_size
    - resize
    - push_back
    - BOTAN_ASSERT
    - static_cast<uint8_t>
    - encrypt
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & OCB_Mode::update_nonce(const uint8_t nonce[],
      size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OCB_Mode::valid_nonce_length
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:324,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:325,1
    - Dst: Botan::OCB_Mode::name
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:325,1
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:328,1
    - Dst: init
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:330,1
    - Dst: update_nonce
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:330,1
    - Dst: zeroise
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: Botan::OCB_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - update_nonce
    - assert_key_material_set
    - zeroise
    - Invalid_IV_Length
    - Botan::OCB_Mode::valid_nonce_length
    - init
    - Botan::OCB_Mode::name
    linkageType: ''
    returnType: void
    signature: void OCB_Mode::start_msg(const uint8_t nonce[], size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:336,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:337,1
    - Dst: initialized
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:337,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:347,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:347,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:349,1
    - Dst: encrypt_n
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:350,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - blocks
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 357
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 357
    functionName: Botan::OCB_Encryption::encrypt
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - data
    - BOTAN_STATE_CHECK
    - assert_key_material_set
    - initialized
    - xor_buf
    - encrypt_n
    linkageType: ''
    returnType: void
    signature: void OCB_Encryption::encrypt(uint8_t buffer[], size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:360,1
    - Dst: update_granularity
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:360,1
    - Dst: Botan::OCB_Encryption::encrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:361,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: Botan::OCB_Encryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - Botan::OCB_Encryption::encrypt
    - update_granularity
    - BOTAN_ARG_CHECK
    - block_size
    linkageType: ''
    returnType: size_t
    signature: size_t OCB_Encryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:366,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:367,1
    - Dst: initialized
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:367,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:371,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:371,1
    - Dst: Botan::OCB_Encryption::encrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:381,1
    - Dst: offset
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:382,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:385,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:388,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:388,1
    - Dst: star
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:392,1
    - Dst: Botan::OCB_Encryption::encrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:395,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:396,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:396,1
    - Dst: offset
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:399,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:405,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:406,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:406,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:406,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:409,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:409,1
    - Dst: dollar
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:409,1
    - Dst: Botan::OCB_Encryption::encrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:410,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:411,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:411,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:411,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:413,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:413,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:413,1
    - Dst: zeroise
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 417
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 417
    functionName: Botan::OCB_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - Botan::OCB_Encryption::encrypt
    - xor_buf
    - secure_vector::data
    - star
    - std::make_pair
    - BOTAN_STATE_CHECK
    - data
    - dollar
    - assert_key_material_set
    - size
    - zeroise
    - tag_size
    - initialized
    - BOTAN_ASSERT
    - offset
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void OCB_Encryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:420,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:421,1
    - Dst: initialized
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:421,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:431,1
    - Dst: decrypt_n
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:432,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:433,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:435,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - blocks
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 441
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 441
    functionName: Botan::OCB_Decryption::decrypt
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - decrypt_n
    - BOTAN_STATE_CHECK
    - data
    - assert_key_material_set
    - initialized
    - xor_buf
    linkageType: ''
    returnType: void
    signature: void OCB_Decryption::decrypt(uint8_t buffer[], size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:444,1
    - Dst: update_granularity
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:444,1
    - Dst: Botan::OCB_Decryption::decrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:445,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 447
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: Botan::OCB_Decryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - update_granularity
    - BOTAN_ARG_CHECK
    - Botan::OCB_Decryption::decrypt
    - block_size
    linkageType: ''
    returnType: size_t
    signature: size_t OCB_Decryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:450,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:451,1
    - Dst: initialized
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:451,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:455,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:455,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:459,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:459,1
    - Dst: Botan::OCB_Decryption::decrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:469,1
    - Dst: offset
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:470,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:473,1
    - Dst: star
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:477,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:479,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:480,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:480,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:482,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:482,1
    - Dst: offset
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:486,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:492,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:493,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:493,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:493,1
    - Dst: dollar
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:496,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:497,1
    - Dst: zeroise
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:501,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:507,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:507,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:507,1
    - Dst: Invalid_Authentication_Tag
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:508,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/ocb/ocb.cpp:512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 513
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 513
    functionName: Botan::OCB_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/ocb/ocb.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::is_equal
    - dollar
    - Botan::OCB_Decryption::decrypt
    - BOTAN_ASSERT
    - data
    - assert_key_material_set
    - zeroise
    - tag_size
    - initialized
    - offset
    - BOTAN_ARG_CHECK
    - secure_vector::data
    - star
    - Invalid_Authentication_Tag
    - BOTAN_STATE_CHECK
    - size
    - resize
    - xor_buf
    - encrypt
    linkageType: ''
    returnType: void
    signature: void OCB_Decryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:24,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:25,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:26,1
    - Dst: Botan::CCM_Mode::name
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:26,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:30,1
    - Dst: fmt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:30,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:34,1
    - Dst: fmt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:34,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - cipher
    - tag_size
    - L
    argTypes:
    - std::unique_ptr<BlockCipher>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: Botan::CCM_Mode::CCM_Mode
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - block_size
    - fmt
    - Botan::CCM_Mode::name
    - std::move
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void CCM_Mode::CCM_Mode(std::unique_ptr<BlockCipher> cipher, size_t
      tag_size, size_t L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CCM_Mode::clear
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:39,1
    - Dst: Botan::CCM_Mode::reset
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: Botan::CCM_Mode::clear
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 1
    functionsReached:
    - Botan::CCM_Mode::clear
    - Botan::CCM_Mode::reset
    linkageType: ''
    returnType: void
    signature: void CCM_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CCM_Mode::clear
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:44,1
    - Dst: Botan::CCM_Mode::clear
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:45,1
    - Dst: Botan::CCM_Mode::clear
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: Botan::CCM_Mode::reset
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 1
    functionsReached:
    - Botan::CCM_Mode::clear
    linkageType: ''
    returnType: void
    signature: void CCM_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:50,1
    - Dst: Botan::CCM_Mode::name
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:50,1
    - Dst: Botan::CCM_Mode::tag_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:50,1
    - Dst: Botan::CCM_Mode::L
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::CCM_Mode::name
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 2
    functionsReached:
    - fmt
    - Botan::CCM_Mode::name
    - Botan::CCM_Mode::L
    - Botan::CCM_Mode::tag_size
    linkageType: ''
    returnType: std::string
    signature: std::string CCM_Mode::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CCM_Mode::L
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan::CCM_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - Botan::CCM_Mode::L
    linkageType: ''
    returnType: bool
    signature: bool CCM_Mode::valid_nonce_length(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CCM_Mode::L
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::CCM_Mode::default_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - Botan::CCM_Mode::L
    linkageType: ''
    returnType: size_t
    signature: size_t CCM_Mode::default_nonce_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::CCM_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CCM_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parallel_bytes
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: Botan::CCM_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - parallel_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t CCM_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: Botan::CCM_Mode::requires_entire_message
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CCM_Mode::requires_entire_message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CCM_Mode::key_spec
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: Botan::CCM_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 1
    functionsReached:
    - Botan::CCM_Mode::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification CCM_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CCM_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: Botan::CCM_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 1
    functionsReached:
    - Botan::CCM_Mode::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool CCM_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: Botan::CCM_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void CCM_Mode::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:87,1
    - Dst: Botan::CCM_Mode::clear
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:89,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:91,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:93,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:93,1
    - Dst: push_back
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:95,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:95,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:95,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:95,1
    - Dst: push_back
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:96,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:96,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:96,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:96,1
    - Dst: insert
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:97,1
    - Dst: end
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:97,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:97,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:97,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:98,1
    - Dst: push_back
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - idx
    - ad
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 102
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: Botan::CCM_Mode::set_associated_data_n
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - std::span<const uint8_t>::end
    - Botan::CCM_Mode::clear
    - get_byte<0>
    - std::span<const uint8_t>::empty
    - std::span<const uint8_t>::begin
    - size
    - get_byte<1>
    - end
    - push_back
    - std::span<const uint8_t>::size
    - BOTAN_ARG_CHECK
    - insert
    linkageType: ''
    returnType: void
    signature: void CCM_Mode::set_associated_data_n(size_t idx, std::span<const uint8_t>
      ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CCM_Mode::valid_nonce_length
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:105,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:106,1
    - Dst: Botan::CCM_Mode::name
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:106,1
    - Dst: assign
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:109,1
    - Dst: Botan::CCM_Mode::clear
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: Botan::CCM_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - assign
    - Botan::CCM_Mode::name
    - Botan::CCM_Mode::valid_nonce_length
    - Invalid_IV_Length
    - Botan::CCM_Mode::clear
    linkageType: ''
    returnType: void
    signature: void CCM_Mode::start_msg(const uint8_t nonce[], size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:114,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:114,1
    - Dst: insert
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:115,1
    - Dst: end
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: Botan::CCM_Mode::process_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - empty
    - BOTAN_STATE_CHECK
    - end
    - insert
    linkageType: ''
    returnType: size_t
    signature: size_t CCM_Mode::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:122,1
    - Dst: get_byte_var
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:125,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - len
    - out
    argTypes:
    - uint64_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: Botan::CCM_Mode::encode_length
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - get_byte_var
    - Encoding_Error
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void CCM_Mode::encode_length(uint64_t len, uint8_t out[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:134,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' C'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: Botan::CCM_Mode::inc
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void CCM_Mode::inc(secure_vector<uint8_t>& C)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:142,1
    - Dst: Botan::CCM_Mode::L
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:142,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:143,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:151,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:151,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:151,1
    - Dst: Botan::CCM_Mode::encode_length
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:152,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 155
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 155
    functionName: Botan::CCM_Mode::format_b0
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - Botan::CCM_Mode::L
    - data
    - size
    - copy_mem
    - Botan::CCM_Mode::encode_length
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> CCM_Mode::format_b0(size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:158,1
    - Dst: Botan::CCM_Mode::L
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:158,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:159,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:166,1
    - Dst: data
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:166,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: Botan::CCM_Mode::format_c0
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - Botan::CCM_Mode::L
    - data
    - size
    - copy_mem
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> CCM_Mode::format_c0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:172,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:172,1
    - Dst: insert
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:174,1
    - Dst: begin
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:174,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:174,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:174,1
    - Dst: ad_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:179,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:180,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:180,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:182,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:185,1
    - Dst: format_b0
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:185,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:187,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:188,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:188,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:189,1
    - Dst: format_c0
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:192,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:194,1
    - Dst: inc
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:195,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:204,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:204,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:205,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:207,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:208,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:208,1
    - Dst: inc
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:209,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:216,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:216,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:216,1
    - Dst: reset
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 219
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 219
    functionName: Botan::CCM_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - ad_buf
    - secure_vector::data
    - inc
    - std::make_pair
    - begin
    - msg_buf
    - cipher
    - size
    - format_b0
    - reset
    - format_c0
    - tag_size
    - xor_buf
    - BOTAN_ARG_CHECK
    - insert
    - encrypt
    linkageType: ''
    returnType: void
    signature: void CCM_Encryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:222,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:222,1
    - Dst: insert
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:224,1
    - Dst: begin
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:224,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:224,1
    - Dst: msg_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:224,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:229,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:229,1
    - Dst: ad_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:231,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:232,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:232,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:234,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:237,1
    - Dst: format_b0
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:237,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:237,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:239,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:240,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:240,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:241,1
    - Dst: format_c0
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:244,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:247,1
    - Dst: inc
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:248,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:257,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:258,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:258,1
    - Dst: inc
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:259,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:261,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:261,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:262,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:269,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:269,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:269,1
    - Dst: Invalid_Authentication_Tag
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:270,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:273,1
    - Dst: size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:273,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:273,1
    - Dst: reset
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.cpp:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 276
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 276
    functionName: Botan::CCM_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.cpp
    functionUses: 0
    functionsReached:
    - ad_buf
    - secure_vector::data
    - inc
    - Invalid_Authentication_Tag
    - begin
    - msg_buf
    - Botan::CT::is_equal
    - cipher
    - size
    - format_b0
    - resize
    - format_c0
    - reset
    - tag_size
    - xor_buf
    - BOTAN_ARG_CHECK
    - insert
    - encrypt
    linkageType: ''
    returnType: void
    signature: void CCM_Decryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::CCM_Mode::associated_data_requires_key
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool associated_data_requires_key() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::CCM_Mode::tag_size
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tag_size() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::CCM_Mode::L
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t L() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& cipher() const'
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BlockCipher
    signature: BlockCipher & cipher() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: '& ad_buf() const'
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & ad_buf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '& msg_buf()'
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & msg_buf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: Botan::CCM_Encryption::CCM_Encryption
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CCM_Encryption(std::unique_ptr<BlockCipher> cipher, size_t tag_size
      = 16, size_t L = 3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan::CCM_Encryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t output_length(size_t input_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: Botan::CCM_Encryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: Botan::CCM_Decryption::CCM_Decryption
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CCM_Decryption(std::unique_ptr<BlockCipher> cipher, size_t tag_size
      = 16, size_t L = 3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.h:121,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.h:121,1
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: Botan::CCM_Decryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t output_length(size_t input_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/modes/aead/ccm/ccm.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: Botan::CCM_Decryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/aead/ccm/ccm.h
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_final_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 101
    functionName: Botan::BlockCipherModePaddingMethod
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API BlockCipherModePaddingMethod
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: Botan::BlockCipherModePaddingMethod
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_FUZZER_API
    signature: class BOTAN_FUZZER_API BlockCipherModePaddingMethod
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: Botan::BlockCipherModePaddingMethod
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_FUZZER_API
    signature: class BOTAN_FUZZER_API BlockCipherModePaddingMethod
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: Botan::BlockCipherModePaddingMethod
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_FUZZER_API
    signature: class BOTAN_FUZZER_API BlockCipherModePaddingMethod
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: Botan::BlockCipherModePaddingMethod
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_FUZZER_API
    signature: class BOTAN_FUZZER_API BlockCipherModePaddingMethod
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: Botan::Null_Padding::add_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_padding(std::span<uint8_t>, size_t, size_t) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - last_block
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: Botan::Null_Padding::remove_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: size_t
    signature: size_t remove_padding(std::span<const uint8_t> last_block) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: Botan::Null_Padding::valid_blocksize
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_blocksize(size_t) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: Botan::Null_Padding::output_length
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length(size_t input_length, size_t) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Botan::Null_Padding::name
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: Botan::Null_Padding::apply_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: void
    signature: void apply_padding(std::span<uint8_t>, size_t) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Null_Padding>
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:22,1
    - Dst: std::make_unique<PKCS7_Padding>
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:26,1
    - Dst: std::make_unique<OneAndZeros_Padding>
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:30,1
    - Dst: std::make_unique<ANSI_X923_Padding>
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:34,1
    - Dst: std::make_unique<ESP_Padding>
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:38,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 42
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 42
    functionName: Botan::BlockCipherModePaddingMethod::create
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<PKCS7_Padding>
    - std::make_unique<ANSI_X923_Padding>
    - std::make_unique<OneAndZeros_Padding>
    - std::make_unique<ESP_Padding>
    - std::make_unique<Null_Padding>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipherModePaddingMethod>
    signature: std::unique_ptr<BlockCipherModePaddingMethod> BlockCipherModePaddingMethod::create(std::string_view
      algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:45,1
    - Dst: valid_blocksize
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:45,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:46,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:47,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:47,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:48,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:48,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:50,1
    - Dst: apply_padding
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:51,1
    - Dst: std::span<uint8_t>::last
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - buffer
    - last_byte_pos
    - BS
    argTypes:
    - std::span<uint8_t>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: Botan::BlockCipherModePaddingMethod::add_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - apply_padding
    - std::span<uint8_t>::size
    - std::span<uint8_t>::last
    - Botan::CT::scoped_poison
    - valid_blocksize
    linkageType: ''
    returnType: void
    signature: void BlockCipherModePaddingMethod::add_padding(std::span<uint8_t> buffer,
      size_t last_byte_pos, size_t BS) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: valid_blocksize
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:55,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:55,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:56,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:59,1
    - Dst: Botan::CT::driveby_unpoison
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:60,1
    - Dst: remove_padding
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - last_block
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: Botan::BlockCipherModePaddingMethod::unpad
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::driveby_unpoison
    - remove_padding
    - Botan::CT::scoped_poison
    - valid_blocksize
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: size_t
    signature: size_t BlockCipherModePaddingMethod::unpad(std::span<const uint8_t>
      last_block) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_gte
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:78,1
    - Dst: auto::select
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - last_block
    - padding_start_pos
    argTypes:
    - std::span<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 81
    functionName: Botan::PKCS7_Padding::apply_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 0
    functionsReached:
    - auto::select
    - Botan::CT::Mask::is_gte
    linkageType: ''
    returnType: void
    signature: void PKCS7_Padding::apply_padding(std::span<uint8_t> last_block, size_t
      padding_start_pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_gt
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:94,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:100,1
    - Dst: Botan::CT::Mask::is_gte
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:103,1
    - Dst: auto::select
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 108
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 108
    functionName: Botan::PKCS7_Padding::remove_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 0
    functionsReached:
    - auto::select
    - Botan::BigInt::is_equal
    - Botan::CT::Mask::is_gt
    - Botan::CT::Mask::is_gte
    linkageType: ''
    returnType: size_t
    signature: size_t PKCS7_Padding::remove_padding(std::span<const uint8_t> input)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_gte
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:125,1
    - Dst: auto::select
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:126,1
    - Dst: std::span<uint8_t>::back
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - last_block
    - padding_start_pos
    argTypes:
    - std::span<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 130
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 130
    functionName: Botan::ANSI_X923_Padding::apply_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 0
    functionsReached:
    - auto::select
    - std::span<uint8_t>::back
    - Botan::CT::Mask::is_gte
    linkageType: ''
    returnType: void
    signature: void ANSI_X923_Padding::apply_padding(std::span<uint8_t> last_block,
      size_t padding_start_pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_gt
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:139,1
    - Dst: Botan::CT::Mask::is_gte
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:145,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:146,1
    - Dst: auto::select
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: Botan::ANSI_X923_Padding::remove_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 0
    functionsReached:
    - Botan::sha512_msg_expand
    - auto::select
    - Botan::CT::Mask::is_gt
    - Botan::CT::Mask::is_gte
    linkageType: ''
    returnType: size_t
    signature: size_t ANSI_X923_Padding::remove_padding(std::span<const uint8_t> input)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:164,1
    - Dst: CT::Mask<uint8_t>
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:165,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:165,1
    - Dst: CT::Mask<uint8_t>
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:166,1
    - Dst: Botan::CT::Mask::is_gt
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:166,1
    - Dst: auto::select
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:167,1
    - Dst: auto::select
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - last_block
    - padding_start_pos
    argTypes:
    - std::span<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: Botan::OneAndZeros_Padding::apply_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 0
    functionsReached:
    - CT::Mask<uint8_t>
    - auto::select
    - Botan::CT::Mask::is_gt
    - std::span<uint8_t>::size
    - Botan::BigInt::is_equal
    linkageType: ''
    returnType: void
    signature: void OneAndZeros_Padding::apply_padding(std::span<uint8_t> last_block,
      size_t padding_start_pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:176,1
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:177,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:182,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:183,1
    - Dst: auto::if_not_set_return
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:186,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 192
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 192
    functionName: Botan::OneAndZeros_Padding::remove_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_equal
    - Botan::Sodium::sodium_is_zero
    - Botan::sha512_msg_expand
    - Botan::CT::Mask::cleared
    - auto::if_not_set_return
    linkageType: ''
    returnType: size_t
    signature: size_t OneAndZeros_Padding::remove_padding(std::span<const uint8_t>
      input) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_gte
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:210,1
    - Dst: auto::select
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:211,1
    - Dst: auto::select
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - last_block
    - padding_start_pos
    argTypes:
    - std::span<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 214
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 214
    functionName: Botan::ESP_Padding::apply_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 0
    functionsReached:
    - auto::select
    - Botan::CT::Mask::is_gte
    linkageType: ''
    returnType: void
    signature: void ESP_Padding::apply_padding(std::span<uint8_t> last_block, size_t
      padding_start_pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:223,1
    - Dst: Botan::CT::Mask::is_gt
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:223,1
    - Dst: Botan::CT::Mask::is_gt
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:227,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:228,1
    - Dst: CT::Mask<size_t>
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:230,1
    - Dst: auto::select
      Src: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: Botan::ESP_Padding::remove_padding
    functionSourceFile: /src/botan/src/lib/modes/mode_pad/mode_pad.cpp
    functionUses: 0
    functionsReached:
    - auto::select
    - Botan::CT::Mask::is_gt
    - Botan::Sodium::sodium_is_zero
    - Botan::BigInt::is_equal
    - CT::Mask<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t ESP_Padding::remove_padding(std::span<const uint8_t> input)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/modes/xts/xts.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Botan::XTS_Mode::tweak
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.h
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * tweak() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/modes/xts/xts.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::XTS_Mode::tweak_set
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool tweak_set() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::XTS_Mode::tweak_blocks
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tweak_blocks() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& cipher() const'
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BlockCipher
    signature: BlockCipher & cipher() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::XTS_Mode::cipher_block_size
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cipher_block_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/xts/xts.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::XTS_Encryption::XTS_Encryption
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void XTS_Encryption(std::unique_ptr<BlockCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/xts/xts.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan::XTS_Decryption::XTS_Decryption
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void XTS_Decryption(std::unique_ptr<BlockCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/xts/xts.cpp:18,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:19,1
    - Dst: parallel_bytes
      Src: /src/botan/src/lib/modes/xts/xts.cpp:20,1
    - Dst: poly_double_supported_size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:22,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/xts/xts.cpp:23,1
    - Dst: fmt
      Src: /src/botan/src/lib/modes/xts/xts.cpp:23,1
    - Dst: Botan::XTS_Mode::name
      Src: /src/botan/src/lib/modes/xts/xts.cpp:23,1
    - Dst: new_object
      Src: /src/botan/src/lib/modes/xts/xts.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 27
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 27
    functionName: Botan::XTS_Mode::XTS_Mode
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - block_size
    - new_object
    - poly_double_supported_size
    - fmt
    - std::move
    - parallel_bytes
    - Botan::XTS_Mode::name
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void XTS_Mode::XTS_Mode(std::unique_ptr<BlockCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XTS_Mode::clear
      Src: /src/botan/src/lib/modes/xts/xts.cpp:30,1
    - Dst: Botan::XTS_Mode::clear
      Src: /src/botan/src/lib/modes/xts/xts.cpp:31,1
    - Dst: Botan::XTS_Mode::reset
      Src: /src/botan/src/lib/modes/xts/xts.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: Botan::XTS_Mode::clear
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 1
    functionsReached:
    - Botan::XTS_Mode::reset
    - Botan::XTS_Mode::clear
    linkageType: ''
    returnType: void
    signature: void XTS_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan::XTS_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t XTS_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::XTS_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t XTS_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XTS_Mode::clear
      Src: /src/botan/src/lib/modes/xts/xts.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::XTS_Mode::reset
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 1
    functionsReached:
    - Botan::XTS_Mode::clear
    linkageType: ''
    returnType: void
    signature: void XTS_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher
      Src: /src/botan/src/lib/modes/xts/xts.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::XTS_Mode::name
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 1
    functionsReached:
    - cipher
    linkageType: ''
    returnType: std::string
    signature: std::string XTS_Mode::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XTS_Mode::cipher_block_size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::XTS_Mode::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - Botan::XTS_Mode::cipher_block_size
    linkageType: ''
    returnType: size_t
    signature: size_t XTS_Mode::minimum_final_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher
      Src: /src/botan/src/lib/modes/xts/xts.cpp: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: Botan::XTS_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - cipher
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification XTS_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XTS_Mode::cipher_block_size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::XTS_Mode::default_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - Botan::XTS_Mode::cipher_block_size
    linkageType: ''
    returnType: size_t
    signature: size_t XTS_Mode::default_nonce_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XTS_Mode::cipher_block_size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::XTS_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - Botan::XTS_Mode::cipher_block_size
    linkageType: ''
    returnType: bool
    signature: bool XTS_Mode::valid_nonce_length(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XTS_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/xts/xts.cpp:68,1
    - Dst: Botan::XTS_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/xts/xts.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: Botan::XTS_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 1
    functionsReached:
    - Botan::XTS_Mode::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool XTS_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:74,1
    - Dst: valid_keylength
      Src: /src/botan/src/lib/modes/xts/xts.cpp:74,1
    - Dst: Invalid_Key_Length
      Src: /src/botan/src/lib/modes/xts/xts.cpp:75,1
    - Dst: Botan::XTS_Mode::name
      Src: /src/botan/src/lib/modes/xts/xts.cpp:75,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:75,1
    - Dst: set_key
      Src: /src/botan/src/lib/modes/xts/xts.cpp:78,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/modes/xts/xts.cpp:78,1
    - Dst: set_key
      Src: /src/botan/src/lib/modes/xts/xts.cpp:79,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/modes/xts/xts.cpp:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: Botan::XTS_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::first
    - set_key
    - valid_keylength
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::last
    - Botan::XTS_Mode::name
    - Invalid_Key_Length
    linkageType: ''
    returnType: void
    signature: void XTS_Mode::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XTS_Mode::valid_nonce_length
      Src: /src/botan/src/lib/modes/xts/xts.cpp:83,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/modes/xts/xts.cpp:84,1
    - Dst: Botan::XTS_Mode::name
      Src: /src/botan/src/lib/modes/xts/xts.cpp:84,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/xts/xts.cpp:87,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/modes/xts/xts.cpp:88,1
    - Dst: data
      Src: /src/botan/src/lib/modes/xts/xts.cpp:88,1
    - Dst: size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:88,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/xts/xts.cpp:89,1
    - Dst: data
      Src: /src/botan/src/lib/modes/xts/xts.cpp:89,1
    - Dst: encrypt
      Src: /src/botan/src/lib/modes/xts/xts.cpp:90,1
    - Dst: data
      Src: /src/botan/src/lib/modes/xts/xts.cpp:90,1
    - Dst: Botan::XTS_Mode::update_tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: Botan::XTS_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - data
    - size
    - copy_mem
    - Invalid_IV_Length
    - resize
    - Botan::XTS_Mode::name
    - Botan::XTS_Mode::valid_nonce_length
    - Botan::XTS_Mode::update_tweak
    - encrypt
    linkageType: ''
    returnType: void
    signature: void XTS_Mode::start_msg(const uint8_t nonce[], size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: poly_double_n_le
      Src: /src/botan/src/lib/modes/xts/xts.cpp:99,1
    - Dst: data
      Src: /src/botan/src/lib/modes/xts/xts.cpp:99,1
    - Dst: xts_update_tweak_block
      Src: /src/botan/src/lib/modes/xts/xts.cpp:104,1
    - Dst: data
      Src: /src/botan/src/lib/modes/xts/xts.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - which
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: Botan::XTS_Mode::update_tweak
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 1
    functionsReached:
    - data
    - poly_double_n_le
    - xts_update_tweak_block
    linkageType: ''
    returnType: void
    signature: void XTS_Mode::update_tweak(size_t which)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: Botan::XTS_Encryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t XTS_Encryption::output_length(size_t input_length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/xts/xts.cpp:112,1
    - Dst: tweak_set
      Src: /src/botan/src/lib/modes/xts/xts.cpp:112,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/xts/xts.cpp:115,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:124,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:124,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/xts/xts.cpp:125,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:126,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:126,1
    - Dst: update_tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 135
    functionName: Botan::XTS_Encryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - tweak
    - tweak_set
    - BOTAN_STATE_CHECK
    - cipher
    - update_tweak
    - xor_buf
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t XTS_Encryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/xts/xts.cpp:138,1
    - Dst: size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:138,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/xts/xts.cpp:142,1
    - Dst: minimum_final_size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:142,1
    - Dst: update
      Src: /src/botan/src/lib/modes/xts/xts.cpp:147,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/xts/xts.cpp:152,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/xts/xts.cpp:155,1
    - Dst: update
      Src: /src/botan/src/lib/modes/xts/xts.cpp:156,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:158,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:158,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/xts/xts.cpp:159,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:160,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:160,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:168,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:168,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/xts/xts.cpp:169,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:170,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 174
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 174
    functionName: Botan::XTS_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - minimum_final_size
    - tweak
    - cipher
    - size
    - resize
    - BOTAN_ASSERT
    - xor_buf
    - update
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void XTS_Encryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: Botan::XTS_Decryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t XTS_Decryption::output_length(size_t input_length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/xts/xts.cpp:181,1
    - Dst: tweak_set
      Src: /src/botan/src/lib/modes/xts/xts.cpp:181,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/xts/xts.cpp:184,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:193,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:193,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/xts/xts.cpp:194,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:195,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:195,1
    - Dst: update_tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 204
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 204
    functionName: Botan::XTS_Decryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - tweak
    - tweak_set
    - BOTAN_STATE_CHECK
    - cipher
    - update_tweak
    - xor_buf
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t XTS_Decryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/xts/xts.cpp:207,1
    - Dst: size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:207,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/xts/xts.cpp:211,1
    - Dst: minimum_final_size
      Src: /src/botan/src/lib/modes/xts/xts.cpp:211,1
    - Dst: update
      Src: /src/botan/src/lib/modes/xts/xts.cpp:216,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/xts/xts.cpp:221,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/xts/xts.cpp:224,1
    - Dst: update
      Src: /src/botan/src/lib/modes/xts/xts.cpp:225,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:227,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:227,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/xts/xts.cpp:228,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:229,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:229,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:237,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:237,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/xts/xts.cpp:238,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/xts/xts.cpp:239,1
    - Dst: tweak
      Src: /src/botan/src/lib/modes/xts/xts.cpp:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 243
    functionName: Botan::XTS_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/xts/xts.cpp
    functionUses: 0
    functionsReached:
    - minimum_final_size
    - tweak
    - cipher
    - size
    - resize
    - BOTAN_ASSERT
    - xor_buf
    - update
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void XTS_Decryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '& cipher() const'
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BlockCipher
    signature: BlockCipher & cipher() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/modes/cbc/cbc.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '& padding() const'
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: BlockCipherModePaddingMethod
    signature: BlockCipherModePaddingMethod & padding() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan::CBC_Mode::block_size
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& state()'
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/modes/cbc/cbc.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::CBC_Mode::state_ptr
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.h
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * state_ptr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cbc/cbc.h:79,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cbc/cbc.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cipher
    - padding
    argTypes:
    - std::unique_ptr<BlockCipher>
    - std::unique_ptr<BlockCipherModePaddingMethod>
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: Botan::CBC_Encryption::CBC_Encryption
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CBC_Encryption(std::unique_ptr<BlockCipher> cipher, std::unique_ptr<BlockCipherModePaddingMethod>
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cbc/cbc.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan::CTS_Encryption::CTS_Encryption
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CTS_Encryption(std::unique_ptr<BlockCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cbc/cbc.h:120,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cbc/cbc.h:120,1
    - Dst: ideal_granularity
      Src: /src/botan/src/lib/modes/cbc/cbc.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cipher
    - padding
    argTypes:
    - std::unique_ptr<BlockCipher>
    - std::unique_ptr<BlockCipherModePaddingMethod>
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: Botan::CBC_Decryption::CBC_Decryption
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.h
    functionUses: 0
    functionsReached:
    - ideal_granularity
    - std::move
    linkageType: ''
    returnType: void
    signature: void CBC_Decryption(std::unique_ptr<BlockCipher> cipher, std::unique_ptr<BlockCipherModePaddingMethod>
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cbc/cbc.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: Botan::CTS_Decryption::CTS_Decryption
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CTS_Decryption(std::unique_ptr<BlockCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:20,1
    - Dst: std::move
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:20,1
    - Dst: Botan::CBC_Mode::block_size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:20,1
    - Dst: valid_blocksize
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:21,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:22,1
    - Dst: fmt
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:22,1
    - Dst: Botan::CBC_Mode::name
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:22,1
    - Dst: Botan::CBC_Mode::name
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:22,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - padding
    argTypes:
    - std::unique_ptr<BlockCipher>
    - std::unique_ptr<BlockCipherModePaddingMethod>
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: Botan::CBC_Mode::CBC_Mode
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - Botan::CBC_Mode::name
    - valid_blocksize
    - std::move
    - Invalid_Argument
    - Botan::CBC_Mode::block_size
    linkageType: ''
    returnType: void
    signature: void CBC_Mode::CBC_Mode(std::unique_ptr<BlockCipher> cipher, std::unique_ptr<BlockCipherModePaddingMethod>
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CBC_Mode::clear
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:27,1
    - Dst: Botan::CBC_Mode::reset
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: Botan::CBC_Mode::clear
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 1
    functionsReached:
    - Botan::CBC_Mode::clear
    - Botan::CBC_Mode::reset
    linkageType: ''
    returnType: void
    signature: void CBC_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CBC_Mode::clear
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Botan::CBC_Mode::reset
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 1
    functionsReached:
    - Botan::CBC_Mode::clear
    linkageType: ''
    returnType: void
    signature: void CBC_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:37,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:37,1
    - Dst: padding
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:37,1
    - Dst: fmt
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:39,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: Botan::CBC_Mode::name
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - cipher
    - padding
    linkageType: ''
    returnType: std::string
    signature: std::string CBC_Mode::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::CBC_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - cipher
    linkageType: ''
    returnType: size_t
    signature: size_t CBC_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::CBC_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - cipher
    linkageType: ''
    returnType: size_t
    signature: size_t CBC_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::CBC_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - cipher
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification CBC_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CBC_Mode::block_size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan::CBC_Mode::default_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - Botan::CBC_Mode::block_size
    linkageType: ''
    returnType: size_t
    signature: size_t CBC_Mode::default_nonce_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CBC_Mode::block_size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::CBC_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - Botan::CBC_Mode::block_size
    linkageType: ''
    returnType: bool
    signature: bool CBC_Mode::valid_nonce_length(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CBC_Mode::has_keying_material
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::CBC_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 1
    functionsReached:
    - Botan::CBC_Mode::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool CBC_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:68,1
    - Dst: Botan::CBC_Mode::clear
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: Botan::CBC_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - Botan::CBC_Mode::clear
    - set_key
    linkageType: ''
    returnType: void
    signature: void CBC_Mode::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CBC_Mode::valid_nonce_length
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:73,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:74,1
    - Dst: Botan::CBC_Mode::name
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:74,1
    - Dst: assign
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:83,1
    - Dst: empty
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:84,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:85,1
    - Dst: Botan::CBC_Mode::block_size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: Botan::CBC_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - Botan::CBC_Mode::valid_nonce_length
    - assign
    - Botan::CBC_Mode::name
    - Invalid_IV_Length
    - empty
    - resize
    - Botan::CBC_Mode::block_size
    linkageType: ''
    returnType: void
    signature: void CBC_Mode::start_msg(const uint8_t nonce[], size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Botan::CBC_Encryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CBC_Encryption::minimum_final_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: padding
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:95,1
    - Dst: block_size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Botan::CBC_Encryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - block_size
    - padding
    linkageType: ''
    returnType: size_t
    signature: size_t CBC_Encryption::output_length(size_t input_length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:99,1
    - Dst: state
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:99,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:102,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:106,1
    - Dst: state_ptr
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:106,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:107,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:110,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:111,1
    - Dst: state
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 118
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 118
    functionName: Botan::CBC_Encryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - state
    - BOTAN_STATE_CHECK
    - cipher
    - state_ptr
    - xor_buf
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t CBC_Encryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:121,1
    - Dst: state
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:121,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:122,1
    - Dst: size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:122,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:128,1
    - Dst: padding
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:129,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:131,1
    - Dst: size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:131,1
    - Dst: update
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: Botan::CBC_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - state
    - BOTAN_STATE_CHECK
    - size
    - padding
    - resize
    - BOTAN_ASSERT_EQUAL
    - update
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void CBC_Encryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Botan::CTS_Encryption::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: bool
    signature: bool CTS_Encryption::valid_nonce_length(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: Botan::CTS_Encryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: size_t
    signature: size_t CTS_Encryption::minimum_final_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: Botan::CTS_Encryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CTS_Encryption::output_length(size_t input_length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:149,1
    - Dst: state
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:149,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:150,1
    - Dst: size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:150,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:157,1
    - Dst: name
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:157,1
    - Dst: update
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:161,1
    - Dst: std::swap
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:165,1
    - Dst: size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:165,1
    - Dst: size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:165,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:170,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:173,1
    - Dst: update
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:174,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:176,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:176,1
    - Dst: state_ptr
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:176,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:177,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:177,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:184,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 188
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 188
    functionName: Botan::CTS_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - state
    - name
    - BOTAN_STATE_CHECK
    - Encoding_Error
    - size
    - std::swap
    - state_ptr
    - cipher
    - resize
    - BOTAN_ASSERT
    - xor_buf
    - update
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void CTS_Encryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: Botan::CBC_Decryption::output_length
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CBC_Decryption::output_length(size_t input_length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: Botan::CBC_Decryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: size_t
    signature: size_t CBC_Decryption::minimum_final_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:199,1
    - Dst: state
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:199,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:203,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:209,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:209,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:211,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:211,1
    - Dst: state_ptr
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:211,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:212,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:213,1
    - Dst: state_ptr
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:213,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:215,1
    - Dst: data
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 222
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 222
    functionName: Botan::CBC_Decryption::process_msg
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - state
    - data
    - BOTAN_STATE_CHECK
    - cipher
    - state_ptr
    - copy_mem
    - xor_buf
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t CBC_Decryption::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:225,1
    - Dst: state
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:225,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:226,1
    - Dst: size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:226,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:232,1
    - Dst: name
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:232,1
    - Dst: update
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:235,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:238,1
    - Dst: size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:238,1
    - Dst: padding
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:239,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 242
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 242
    functionName: Botan::CBC_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - state
    - name
    - BOTAN_STATE_CHECK
    - size
    - padding
    - Decoding_Error
    - resize
    - update
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void CBC_Decryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CBC_Mode::reset
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:245,1
    - Dst: zeroise
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: Botan::CBC_Decryption::reset
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - zeroise
    - Botan::CBC_Mode::reset
    linkageType: ''
    returnType: void
    signature: void CBC_Decryption::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: Botan::CTS_Decryption::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: bool
    signature: bool CTS_Decryption::valid_nonce_length(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: Botan::CTS_Decryption::minimum_final_size
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: size_t
    signature: size_t CTS_Decryption::minimum_final_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:258,1
    - Dst: state
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:258,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:259,1
    - Dst: size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:259,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:266,1
    - Dst: name
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:266,1
    - Dst: std::swap
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:273,1
    - Dst: size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:273,1
    - Dst: size
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:273,1
    - Dst: update
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:276,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:280,1
    - Dst: resize
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:283,1
    - Dst: update
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:284,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:286,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:286,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:288,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:288,1
    - Dst: std::swap
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:291,1
    - Dst: cipher
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:294,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:294,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:295,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:295,1
    - Dst: state_ptr
      Src: /src/botan/src/lib/modes/cbc/cbc.cpp:295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 299
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 299
    functionName: Botan::CTS_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/modes/cbc/cbc.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - state
    - name
    - BOTAN_STATE_CHECK
    - Encoding_Error
    - size
    - std::swap
    - cipher
    - state_ptr
    - resize
    - BOTAN_ASSERT
    - xor_buf
    - update
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void CTS_Decryption::finish_msg(secure_vector<uint8_t>& buffer, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::new_object
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan::clone
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.h
    functionUses: 0
    functionsReached:
    - Botan::new_object
    linkageType: ''
    returnType: PBKDF
    signature: PBKDF * clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ~PBKDF()
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PBKDF()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OctetString
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:178,1
    - Dst: pbkdf_iterations
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out_len
    - passphrase
    - salt
    - salt_len
    - iterations
    argTypes:
    - size_t
    - std::string_view
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.h
    functionUses: 0
    functionsReached:
    - pbkdf_iterations
    - Botan::OctetString
    linkageType: ''
    returnType: OctetString
    signature: "OctetString derive_key(\n         size_t out_len, std::string_view
      passphrase, const uint8_t salt[], size_t salt_len, size_t iterations) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OctetString
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:193,1
    - Dst: pbkdf_iterations
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:193,1
    - Dst: data
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:193,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out_len
    - passphrase
    - ' salt'
    - iterations
    argTypes:
    - size_t
    - std::string_view
    - std::vector<uint8_t, Alloc>
    - size_t
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.h
    functionUses: 0
    functionsReached:
    - pbkdf_iterations
    - data
    - Botan::size
    - Botan::OctetString
    linkageType: ''
    returnType: OctetString
    signature: "OctetString derive_key(size_t out_len,\n                             std::string_view
      passphrase,\n                             const std::vector<uint8_t, Alloc>&
      salt,\n                             size_t iterations) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OctetString
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:211,1
    - Dst: pbkdf_timed
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - out_len
    - passphrase
    - salt
    - salt_len
    - msec
    - ' iterations'
    argTypes:
    - size_t
    - std::string_view
    - uint8_t[]
    - size_t
    - std::chrono::milliseconds
    - size_t
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.h
    functionUses: 0
    functionsReached:
    - pbkdf_timed
    - Botan::OctetString
    linkageType: ''
    returnType: OctetString
    signature: "OctetString derive_key(size_t out_len,\n                             std::string_view
      passphrase,\n                             const uint8_t salt[],\n                             size_t
      salt_len,\n                             std::chrono::milliseconds msec,\n                             size_t&
      iterations) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OctetString
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:228,1
    - Dst: pbkdf_timed
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:228,1
    - Dst: data
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:228,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out_len
    - passphrase
    - ' salt'
    - msec
    - ' iterations'
    argTypes:
    - size_t
    - std::string_view
    - std::vector<uint8_t, Alloc>
    - std::chrono::milliseconds
    - size_t
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.h
    functionUses: 0
    functionsReached:
    - data
    - pbkdf_timed
    - Botan::size
    - Botan::OctetString
    linkageType: ''
    returnType: OctetString
    signature: "OctetString derive_key(size_t out_len,\n                             std::string_view
      passphrase,\n                             const std::vector<uint8_t, Alloc>&
      salt,\n                             std::chrono::milliseconds msec,\n                             size_t&
      iterations) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: get_pbkdf
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.h
    functionUses: 0
    functionsReached:
    - Botan::PBKDF::create_or_throw
    linkageType: ''
    returnType: PBKDF
    signature: PBKDF * get_pbkdf(std::string_view algo_spec, std::string_view provider
      = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/pbkdf/pbkdf.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: get_s2k
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.h
    functionUses: 0
    functionsReached:
    - Botan::PBKDF::create_or_throw
    linkageType: ''
    returnType: PBKDF
    signature: PBKDF * get_s2k(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:28,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:29,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:30,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:30,1
    - Dst: std::make_unique<PKCS5_PBKDF2>
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:31,1
    - Dst: std::move
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:31,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:34,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:34,1
    - Dst: std::make_unique<PKCS5_PBKDF2>
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:35,1
    - Dst: std::move
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:35,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:44,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:44,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:45,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:45,1
    - Dst: std::make_unique<OpenPGP_S2K>
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:46,1
    - Dst: std::move
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:46,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:51,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - algo_spec
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 54
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 54
    functionName: Botan::PBKDF::create
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.cpp
    functionUses: 3
    functionsReached:
    - SCAN_Name::algo_name
    - std::make_unique<PKCS5_PBKDF2>
    - SCAN_Name::arg_count
    - Botan::HashFunction::create
    - std::make_unique<OpenPGP_S2K>
    - std::string_view::empty
    - Botan::MessageAuthenticationCode::create
    - std::move
    - BOTAN_UNUSED
    - SCAN_Name::arg
    linkageType: ''
    returnType: std::unique_ptr<PBKDF>
    signature: std::unique_ptr<PBKDF> PBKDF::create(std::string_view algo_spec, std::string_view
      provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PBKDF::create
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:58,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: Botan::PBKDF::create_or_throw
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.cpp
    functionUses: 2
    functionsReached:
    - Lookup_Error
    - Botan::PBKDF::create
    linkageType: ''
    returnType: std::unique_ptr<PBKDF>
    signature: std::unique_ptr<PBKDF> PBKDF::create_or_throw(std::string_view algo,
      std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: probe_providers_of<PBKDF>
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: Botan::PBKDF::providers
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.cpp
    functionUses: 0
    functionsReached:
    - probe_providers_of<PBKDF>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> PBKDF::providers(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pbkdf
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - out
    - out_len
    - passphrase
    - salt
    - salt_len
    - msec
    - ' iterations'
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    - uint8_t[]
    - size_t
    - std::chrono::milliseconds
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: Botan::PBKDF::pbkdf_timed
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.cpp
    functionUses: 0
    functionsReached:
    - pbkdf
    linkageType: ''
    returnType: void
    signature: "void PBKDF::pbkdf_timed(uint8_t out[],\n                        size_t
      out_len,\n                        std::string_view passphrase,\n                        const
      uint8_t salt[],\n                        size_t salt_len,\n                        std::chrono::milliseconds
      msec,\n                        size_t& iterations) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:85,1
    - Dst: name
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:85,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 6
    argNames:
    - out
    - out_len
    - passphrase
    - salt
    - salt_len
    - iterations
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: Botan::PBKDF::pbkdf_iterations
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - BOTAN_ASSERT_EQUAL
    - name
    linkageType: ''
    returnType: void
    signature: "void PBKDF::pbkdf_iterations(uint8_t out[],\n                             size_t
      out_len,\n                             std::string_view passphrase,\n                             const
      uint8_t salt[],\n                             size_t salt_len,\n                             size_t
      iterations) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PBKDF::pbkdf_iterations
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:96,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - out_len
    - passphrase
    - salt
    - salt_len
    - iterations
    argTypes:
    - size_t
    - std::string_view
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: Botan::PBKDF::pbkdf_iterations
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.cpp
    functionUses: 1
    functionsReached:
    - Botan::PBKDF::pbkdf_iterations
    - secure_vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> PBKDF::pbkdf_iterations(\n   size_t out_len,
      std::string_view passphrase, const uint8_t salt[], size_t salt_len, size_t iterations)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PBKDF::pbkdf_timed
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:107,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/pbkdf.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - out_len
    - passphrase
    - salt
    - salt_len
    - msec
    - ' iterations'
    argTypes:
    - size_t
    - std::string_view
    - uint8_t[]
    - size_t
    - std::chrono::milliseconds
    - size_t
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: Botan::PBKDF::pbkdf_timed
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf.cpp
    functionUses: 1
    functionsReached:
    - Botan::PBKDF::pbkdf_timed
    - secure_vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> PBKDF::pbkdf_timed(size_t out_len,\n                                          std::string_view
      passphrase,\n                                          const uint8_t salt[],\n
      \                                         size_t salt_len,\n                                          std::chrono::milliseconds
      msec,\n                                          size_t& iterations) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan::memory_param
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t memory_param() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::parallelism
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t parallelism() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan::total_memory_usage
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t total_memory_usage() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::supports_keyed_operation
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_keyed_operation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::supports_associated_data
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_associated_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:85,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:85,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:85,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:85,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:85,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:85,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - password
    - salt
    argTypes:
    - std::span<uint8_t>
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: Botan::hash
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.h
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - std::span<uint8_t>::data
    - Botan::derive_key
    - std::string_view::size
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void hash(std::span<uint8_t> out, std::string_view password, std::span<const
      uint8_t> salt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:110,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:110,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:111,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:112,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:113,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:114,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:115,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:116,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:117,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:118,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pbkdf/pwdhash.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - password
    - salt
    - associated_data
    - key
    argTypes:
    - std::span<uint8_t>
    - std::string_view
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 120
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 120
    functionName: Botan::hash
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.h
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - std::span<uint8_t>::data
    - Botan::derive_key
    - std::string_view::size
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: "void hash(std::span<uint8_t> out,\n                std::string_view
      password,\n                std::span<const uint8_t> salt,\n                std::span<const
      uint8_t> associated_data,\n                std::span<const uint8_t> key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: ~PasswordHashFamily()
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PasswordHashFamily()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:45,1
    - Dst: Botan::PasswordHash::derive_key
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:48,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:50,1
    - Dst: Botan::PasswordHash::to_string
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 10
    argNames:
    - out
    - out_len
    - password
    - password_len
    - salt
    - salt_len
    - ad
    - ad_len
    - key
    - key_len
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 52
    functionName: Botan::PasswordHash::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.cpp
    functionUses: 1
    functionsReached:
    - Botan::PasswordHash::to_string
    - BOTAN_UNUSED
    - Not_Implemented
    - Botan::PasswordHash::derive_key
    linkageType: ''
    returnType: void
    signature: "void PasswordHash::derive_key(uint8_t out[],\n                              size_t
      out_len,\n                              const char* password,\n                              size_t
      password_len,\n                              const uint8_t salt[],\n                              size_t
      salt_len,\n                              const uint8_t ad[],\n                              size_t
      ad_len,\n                              const uint8_t key[],\n                              size_t
      key_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:58,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:59,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:60,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:60,1
    - Dst: std::make_unique<PBKDF2_Family>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:61,1
    - Dst: std::move
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:61,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:64,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:64,1
    - Dst: std::make_unique<PBKDF2_Family>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:65,1
    - Dst: std::move
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:65,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:74,1
    - Dst: std::make_unique<Scrypt_Family>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:75,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:80,1
    - Dst: std::make_unique<Argon2_Family>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:81,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:81,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:82,1
    - Dst: std::make_unique<Argon2_Family>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:83,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:83,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:84,1
    - Dst: std::make_unique<Argon2_Family>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:85,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:85,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:90,1
    - Dst: std::make_unique<Bcrypt_PBKDF_Family>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:91,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:96,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:96,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:97,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:97,1
    - Dst: std::make_unique<RFC4880_S2K_Family>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:98,1
    - Dst: std::move
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:98,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:103,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:104,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - algo_spec
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 107
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 107
    functionName: Botan::PasswordHashFamily::create
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.cpp
    functionUses: 6
    functionsReached:
    - SCAN_Name::algo_name
    - std::make_unique<Bcrypt_PBKDF_Family>
    - std::make_unique<PBKDF2_Family>
    - SCAN_Name::arg_count
    - Botan::HashFunction::create
    - std::string_view::empty
    - Botan::MessageAuthenticationCode::create
    - std::move
    - static_cast<uint8_t>
    - BOTAN_UNUSED
    - std::make_unique<RFC4880_S2K_Family>
    - SCAN_Name::arg
    - std::make_unique<Scrypt_Family>
    - std::make_unique<Argon2_Family>
    linkageType: ''
    returnType: std::unique_ptr<PasswordHashFamily>
    signature: std::unique_ptr<PasswordHashFamily> PasswordHashFamily::create(std::string_view
      algo_spec, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:112,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: Botan::PasswordHashFamily::create_or_throw
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.cpp
    functionUses: 2
    functionsReached:
    - Lookup_Error
    - Botan::PasswordHashFamily::create
    linkageType: ''
    returnType: std::unique_ptr<PasswordHashFamily>
    signature: "std::unique_ptr<PasswordHashFamily> PasswordHashFamily::create_or_throw(std::string_view
      algo,\n                                                                        std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: probe_providers_of<PasswordHashFamily>
      Src: /src/botan/src/lib/pbkdf/pwdhash.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Botan::PasswordHashFamily::providers
    functionSourceFile: /src/botan/src/lib/pbkdf/pwdhash.cpp
    functionUses: 0
    functionsReached:
    - probe_providers_of<PasswordHashFamily>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> PasswordHashFamily::providers(std::string_view
      algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::name
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h
    functionUses: 1
    functionsReached:
    - Botan::name
    linkageType: ''
    returnType: OpenPGP_S2K
    signature: OpenPGP_S2K final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<OpenPGP_S2K>
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h:48,1
    - Dst: Botan::new_object
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::new_object
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h
    functionUses: 2
    functionsReached:
    - std::make_unique<OpenPGP_S2K>
    - Botan::new_object
    linkageType: ''
    returnType: std::unique_ptr<PBKDF>
    signature: std::unique_ptr<PBKDF> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RFC4880_encode_count
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterations
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::encode_count
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h
    functionUses: 0
    functionsReached:
    - Botan::RFC4880_encode_count
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t encode_count(size_t iterations)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RFC4880_decode_count
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - encoded_iter
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Botan::decode_count
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h
    functionUses: 0
    functionsReached:
    - Botan::RFC4880_decode_count
    linkageType: ''
    returnType: size_t
    signature: size_t decode_count(uint8_t encoded_iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RFC4880_S2K
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: PasswordHash
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h
    functionUses: 0
    functionsReached:
    - RFC4880_S2K
    linkageType: ''
    returnType: RFC4880_S2K
    signature: RFC4880_S2K PasswordHash
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RFC4880_S2K_Family
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 128
    functionName: PasswordHashFamily
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.h
    functionUses: 0
    functionsReached:
    - RFC4880_S2K_Family
    linkageType: ''
    returnType: RFC4880_S2K_Family
    signature: RFC4880_S2K_Family PasswordHashFamily
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RFC4880_decode_count
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/rfc4880.h:33,1
    - Dst: Botan::RFC4880_encode_count
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/rfc4880.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterations
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::RFC4880_round_iterations
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/rfc4880.h
    functionUses: 0
    functionsReached:
    - Botan::RFC4880_encode_count
    - Botan::RFC4880_decode_count
    linkageType: ''
    returnType: size_t
    signature: size_t RFC4880_round_iterations(size_t iterations)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/rfc4880.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - desired_iterations
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: Botan::RFC4880_encode_count
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/rfc4880.cpp
    functionUses: 3
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t RFC4880_encode_count(size_t desired_iterations)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::RFC4880_decode_count
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/rfc4880.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RFC4880_decode_count(uint8_t iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:30,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:35,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:38,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:38,1
    - Dst: output_length
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:41,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:51,1
    - Dst: secure_vector::empty
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:54,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:58,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:58,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:63,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:63,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:64,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 8
    argNames:
    - ' hash'
    - output_buf
    - output_len
    - password
    - password_size
    - salt
    - salt_len
    - iterations
    argTypes:
    - HashFunction
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 68
    functionName: Botan::pgp_s2k
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp
    functionUses: 0
    functionsReached:
    - Botan::cast_char_ptr_to_uint8
    - secure_vector::data
    - secure_vector::empty
    - Botan::update
    - Botan::final
    - output_length
    - Invalid_Argument
    - Botan::copy_mem
    linkageType: ''
    returnType: void
    signature: "void pgp_s2k(HashFunction& hash,\n             uint8_t output_buf[],\n
      \            size_t output_len,\n             const char* password,\n             const
      size_t password_size,\n             const uint8_t salt[],\n             size_t
      salt_len,\n             size_t iterations)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_object
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:82,1
    - Dst: RFC4880_S2K_Family::tune
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:83,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:83,1
    - Dst: pgp_s2k
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:86,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:86,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - output_buf
    - output_len
    - password
    - salt
    - salt_len
    - iterations
    - msec
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    - uint8_t[]
    - size_t
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: Botan::OpenPGP_S2K::pbkdf
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp
    functionUses: 0
    functionsReached:
    - RFC4880_S2K_Family::tune
    - new_object
    - Botan_CLI::Timer::milliseconds
    - std::string_view::size
    - std::string_view::data
    - pgp_s2k
    linkageType: ''
    returnType: size_t
    signature: "size_t OpenPGP_S2K::pbkdf(uint8_t output_buf[],\n                          size_t
      output_len,\n                          std::string_view password,\n                          const
      uint8_t salt[],\n                          size_t salt_len,\n                          size_t
      iterations,\n                          std::chrono::milliseconds msec) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:92,1
    - Dst: Botan::RFC4880_S2K_Family::name
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: Botan::RFC4880_S2K_Family::name
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::RFC4880_S2K_Family::name
    linkageType: ''
    returnType: std::string
    signature: std::string RFC4880_S2K_Family::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RFC4880_S2K>
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:113,1
    - Dst: new_object
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - output_len
    - msec
    - tune_time
    argTypes:
    - size_t
    - std::chrono::milliseconds
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: Botan::RFC4880_S2K_Family::tune
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RFC4880_S2K>
    - new_object
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: "std::unique_ptr<PasswordHash> RFC4880_S2K_Family::tune(size_t output_len,\n
      \                                                      std::chrono::milliseconds
      msec,\n                                                       size_t /*max_memory_usage_mb*/,\n
      \                                                      std::chrono::milliseconds
      tune_time) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RFC4880_S2K>
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:117,1
    - Dst: new_object
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: Botan::RFC4880_S2K_Family::from_params
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RFC4880_S2K>
    - new_object
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> RFC4880_S2K_Family::from_params(size_t
      iter, size_t /*i2*/, size_t /*i3*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RFC4880_S2K>
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:121,1
    - Dst: new_object
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: Botan::RFC4880_S2K_Family::default_params
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RFC4880_S2K>
    - new_object
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> RFC4880_S2K_Family::default_params()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RFC4880_S2K>
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:125,1
    - Dst: new_object
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::RFC4880_S2K_Family::from_iterations
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RFC4880_S2K>
    - new_object
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> RFC4880_S2K_Family::from_iterations(size_t
      iter) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - hash
    - iterations
    argTypes:
    - std::unique_ptr<HashFunction>
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: Botan::RFC4880_S2K::RFC4880_S2K
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void RFC4880_S2K::RFC4880_S2K(std::unique_ptr<HashFunction> hash, size_t
      iterations)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:132,1
    - Dst: name
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: Botan::RFC4880_S2K::to_string
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string RFC4880_S2K::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pgp_s2k
      Src: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - out
    - out_len
    - password
    - password_len
    - salt
    - salt_len
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: Botan::RFC4880_S2K::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp
    functionUses: 0
    functionsReached:
    - pgp_s2k
    linkageType: ''
    returnType: void
    signature: "void RFC4880_S2K::derive_key(uint8_t out[],\n                             size_t
      out_len,\n                             const char* password,\n                             const
      size_t password_len,\n                             const uint8_t salt[],\n                             size_t
      salt_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Argon2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.h:28,1
    - Dst: t
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.h:66,1
    - Dst: p
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.h:68,1
    - Dst: M
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.h:70,1
    - Dst: M
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 101
    functionName: Botan::PasswordHash
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.h
    functionUses: 0
    functionsReached:
    - Argon2
    - t
    - M
    - p
    linkageType: ''
    returnType: Argon2
    signature: Argon2 PasswordHash
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Argon2_Family
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 122
    functionName: Botan::PasswordHashFamily
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.h
    functionUses: 0
    functionsReached:
    - Argon2_Family
    linkageType: ''
    returnType: Argon2_Family
    signature: Argon2_Family PasswordHashFamily
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.h:158,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.h:167,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.h:170,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.h:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 14
    argNames:
    - output
    - output_len
    - password
    - password_len
    - salt
    - salt_len
    - key
    - key_len
    - ad
    - ad_len
    - y
    - p
    - M
    - t
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 172
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 172
    functionName: Botan::argon2
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.h
    functionUses: 0
    functionsReached:
    - Botan::PasswordHashFamily::create_or_throw
    - auto::derive_key
    - Not_Implemented
    - auto::from_params
    linkageType: ''
    returnType: void
    signature: "void argon2(uint8_t output[],\n                   size_t output_len,\n
      \                  const char* password,\n                   size_t password_len,\n
      \                  const uint8_t salt[],\n                   size_t salt_len,\n
      \                  const uint8_t key[],\n                   size_t key_len,\n
      \                  const uint8_t ad[],\n                   size_t ad_len,\n
      \                  uint8_t y,\n                   size_t p,\n                   size_t
      M,\n                   size_t t)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:48,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:48,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:49,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:49,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:50,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:50,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:51,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:51,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:52,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:52,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:53,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:53,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:55,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:55,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:56,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:56,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:58,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:58,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:59,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:61,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:61,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:62,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:64,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:64,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:65,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 15
    argNames:
    - H0
    - ' blake2b'
    - output_len
    - password
    - password_len
    - salt
    - salt_len
    - key
    - key_len
    - ad
    - ad_len
    - y
    - p
    - M
    - t
    argTypes:
    - uint8_t[]
    - HashFunction
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 68
    functionName: Botan::argon2_H0
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.cpp
    functionUses: 0
    functionsReached:
    - Botan::cast_char_ptr_to_uint8
    - static_cast<uint32_t>
    - update_le
    - Botan::final
    - Botan::update
    linkageType: ''
    returnType: void
    signature: "void argon2_H0(uint8_t H0[64],\n               HashFunction& blake2b,\n
      \              size_t output_len,\n               const char* password,\n               size_t
      password_len,\n               const uint8_t salt[],\n               size_t salt_len,\n
      \              const uint8_t key[],\n               size_t key_len,\n               const
      uint8_t ad[],\n               size_t ad_len,\n               size_t y,\n               size_t
      p,\n               size_t M,\n               size_t t)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:85,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:85,1
    - Dst: auto::update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:86,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:86,1
    - Dst: auto::update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:88,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:90,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:94,1
    - Dst: auto::update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:95,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:95,1
    - Dst: auto::update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:97,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:99,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:102,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:107,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:108,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:113,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:114,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:116,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:116,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:117,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 5
    argNames:
    - output
    - output_len
    - ' B'
    - memory
    - threads
    argTypes:
    - uint8_t[]
    - size_t
    - secure_vector<uint64_t>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 121
    functionName: Botan::extract_key
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.cpp
    functionUses: 0
    functionsReached:
    - auto::final
    - Botan::HashFunction::create_or_throw
    - static_cast<uint32_t>
    - auto::update
    - auto::update_le
    - Botan::fmt
    - Botan::copy_mem
    linkageType: ''
    returnType: void
    signature: void extract_key(uint8_t output[], size_t output_len, const secure_vector<uint64_t>&
      B, size_t memory, size_t threads)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:125,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:125,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:130,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:130,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:135,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:135,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:136,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:137,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:137,1
    - Dst: update_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:138,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:138,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:139,1
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:142,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:143,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:144,1
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - ' B'
    - ' blake2b'
    - H0
    - memory
    - threads
    argTypes:
    - secure_vector<uint64_t>
    - HashFunction
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 150
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 150
    functionName: Botan::init_blocks
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - static_cast<uint32_t>
    - Botan::load_le
    - update_le
    - Botan::update
    - Botan::final
    - Botan::size
    linkageType: ''
    returnType: void
    signature: "void init_blocks(\n   secure_vector<uint64_t>& B, HashFunction& blake2b,
      const uint8_t H0[64], size_t memory, size_t threads)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:153,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:153,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:153,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:154,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:156,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:156,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:156,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:157,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:159,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:159,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:159,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:160,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:162,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:162,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:162,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: Botan::blamka_G
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - static_cast<uint64_t>
    - Botan::rotr
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE blamka_G(uint64_t& A, uint64_t& B, uint64_t& C,
      uint64_t& D)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:170,1
    - Dst: Botan::Argon2::blamka_avx2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:171,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:176,1
    - Dst: Botan::Argon2::blamka_ssse3
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:177,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:181,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:184,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:185,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:186,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:187,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:189,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:190,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:191,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:192,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:196,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:197,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:198,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:199,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:201,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:202,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:203,1
    - Dst: blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - N
    - T
    argTypes:
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 210
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 210
    functionName: Botan::Argon2::blamka
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.cpp
    functionUses: 0
    functionsReached:
    - Botan::Argon2::blamka_avx2
    - blamka_G
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::Argon2::blamka_ssse3
    - copy_mem
    linkageType: ''
    returnType: void
    signature: void Argon2::blamka(uint64_t N[128], uint64_t T[128])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:223,1
    - Dst: Botan::Argon2::blamka
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 9
    argNames:
    - T
    - B
    - n
    - lane
    - slice
    - memory
    - time
    - mode
    - cnt
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 236
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 236
    functionName: Botan::gen_2i_addresses
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.cpp
    functionUses: 0
    functionsReached:
    - Botan::Argon2::blamka
    - Botan::clear_mem
    linkageType: ''
    returnType: void
    signature: "void gen_2i_addresses(uint64_t T[128],\n                      uint64_t
      B[128],\n                      size_t n,\n                      size_t lane,\n
      \                     size_t slice,\n                      size_t memory,\n
      \                     size_t time,\n                      size_t mode,\n                      size_t
      cnt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 8
    argNames:
    - random
    - lanes
    - segments
    - threads
    - n
    - slice
    - lane
    - index
    argTypes:
    - uint64_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 270
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 270
    functionName: Botan::index_alpha
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t index_alpha(\n   uint64_t random, size_t lanes, size_t segments,
      size_t threads, size_t n, size_t slice, size_t lane, size_t index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::gen_2i_addresses
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:294,1
    - Dst: Botan::gen_2i_addresses
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:307,1
    - Dst: Botan::Argon2::blamka
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:318,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 10
    argNames:
    - ' B'
    - n
    - slice
    - lane
    - lanes
    - segments
    - threads
    - mode
    - memory
    - time
    argTypes:
    - secure_vector<uint64_t>
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - uint8_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 326
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 326
    functionName: Botan::process_block
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.cpp
    functionUses: 0
    functionsReached:
    - Botan::gen_2i_addresses
    - Botan::Argon2::blamka
    linkageType: ''
    returnType: void
    signature: "void process_block(secure_vector<uint64_t>& B,\n                   size_t
      n,\n                   size_t slice,\n                   size_t lane,\n                   size_t
      lanes,\n                   size_t segments,\n                   size_t threads,\n
      \                  uint8_t mode,\n                   size_t memory,\n                   size_t
      time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread_Pool::global_instance
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:334,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:339,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:342,1
    - Dst: run
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:342,1
    - Dst: std::ref
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:343,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:347,1
    - Dst: Botan::process_block
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:359,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - ' B'
    - t
    - memory
    - threads
    - mode
    argTypes:
    - secure_vector<uint64_t>
    - size_t
    - size_t
    - size_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 363
      start: 328
    functionDepth: 4
    functionLinenumber: 328
    functionLinenumberEnd: 363
    functionName: Botan::process_blocks
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.cpp
    functionUses: 0
    functionsReached:
    - Botan::get
    - std::ref
    - Thread_Pool::global_instance
    - run
    - Botan::process_block
    - std::vector::push_back
    - std::vector::reserve
    linkageType: ''
    returnType: void
    signature: void process_blocks(secure_vector<uint64_t>& B, size_t t, size_t memory,
      size_t threads, uint8_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:377,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:377,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:379,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:379,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:380,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:380,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:381,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:381,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:382,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:382,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:384,1
    - Dst: argon2_H0
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:387,1
    - Dst: init_blocks
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:407,1
    - Dst: process_blocks
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:408,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:410,1
    - Dst: extract_key
      Src: /src/botan/src/lib/pbkdf/argon2/argon2.cpp:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 10
    argNames:
    - output
    - output_len
    - password
    - password_len
    - salt
    - salt_len
    - key
    - key_len
    - ad
    - ad_len
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 412
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 412
    functionName: Botan::Argon2::argon2
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2.cpp
    functionUses: 0
    functionsReached:
    - extract_key
    - Botan::HashFunction::create_or_throw
    - clear_mem
    - argon2_H0
    - process_blocks
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - init_blocks
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void Argon2::argon2(uint8_t output[],\n                    size_t
      output_len,\n                    const char* password,\n                    size_t
      password_len,\n                    const uint8_t salt[],\n                    size_t
      salt_len,\n                    const uint8_t key[],\n                    size_t
      key_len,\n                    const uint8_t ad[],\n                    size_t
      ad_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:19,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:20,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:21,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:21,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - family
    - M
    - t
    - p
    argTypes:
    - uint8_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: Botan::Argon2::Argon2
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void Argon2::Argon2(uint8_t family, size_t M, size_t t, size_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Argon2::argon2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - output
    - output_len
    - password
    - password_len
    - salt
    - salt_len
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: Botan::Argon2::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 0
    functionsReached:
    - Botan::Argon2::argon2
    linkageType: ''
    returnType: void
    signature: "void Argon2::derive_key(uint8_t output[],\n                        size_t
      output_len,\n                        const char* password,\n                        size_t
      password_len,\n                        const uint8_t salt[],\n                        size_t
      salt_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Argon2::argon2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - output
    - output_len
    - password
    - password_len
    - salt
    - salt_len
    - ad
    - ad_len
    - key
    - key_len
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: Botan::Argon2::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 0
    functionsReached:
    - Botan::Argon2::argon2
    linkageType: ''
    returnType: void
    signature: "void Argon2::derive_key(uint8_t output[],\n                        size_t
      output_len,\n                        const char* password,\n                        size_t
      password_len,\n                        const uint8_t salt[],\n                        size_t
      salt_len,\n                        const uint8_t ad[],\n                        size_t
      ad_len,\n                        const uint8_t key[],\n                        size_t
      key_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - f
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: Botan::argon2_family_name
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: std::string
    signature: std::string argon2_family_name(uint8_t f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:64,1
    - Dst: argon2_family_name
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::Argon2::to_string
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - argon2_family_name
    linkageType: ''
    returnType: std::string
    signature: std::string Argon2::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - family
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: Botan::Argon2_Family::Argon2_Family
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Argon2_Family::Argon2_Family(uint8_t family)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argon2_family_name
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: Botan::Argon2_Family::name
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 0
    functionsReached:
    - argon2_family_name
    linkageType: ''
    returnType: std::string
    signature: std::string Argon2_Family::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Argon2_Family::from_params
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:91,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:95,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:117,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:123,1
    - Dst: Botan::Argon2_Family::from_params
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - msec
    - max_memory
    - tune_time
    argTypes:
    - std::chrono::milliseconds
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 127
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 127
    functionName: Botan::Argon2_Family::tune
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 0
    functionsReached:
    - auto::derive_key
    - Botan::Argon2_Family::from_params
    - static_cast<size_t>
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: "std::unique_ptr<PasswordHash> Argon2_Family::tune(size_t /*output_length*/,\n
      \                                                 std::chrono::milliseconds
      msec,\n                                                  size_t max_memory,\n
      \                                                 std::chrono::milliseconds
      tune_time) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Argon2_Family::from_params
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp: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: Botan::Argon2_Family::default_params
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 0
    functionsReached:
    - Botan::Argon2_Family::from_params
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> Argon2_Family::default_params() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Argon2_Family::from_params
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: Botan::Argon2_Family::from_iterations
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 0
    functionsReached:
    - Botan::Argon2_Family::from_params
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> Argon2_Family::from_iterations(size_t
      iter) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Argon2>
      Src: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - M
    - t
    - p
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: Botan::Argon2_Family::from_params
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2pwhash.cpp
    functionUses: 3
    functionsReached:
    - std::make_unique<Argon2>
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> Argon2_Family::from_params(size_t M,
      size_t t, size_t p) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_2x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:24,1
    - Dst: Botan::SIMD_2x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:25,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:28,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:29,1
    - Dst: Botan::SIMD_2x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:31,1
    - Dst: Botan::SIMD_2x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:32,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:35,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:36,1
    - Dst: Botan::SIMD_2x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:38,1
    - Dst: Botan::SIMD_2x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:39,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:42,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:43,1
    - Dst: Botan::SIMD_2x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:45,1
    - Dst: Botan::SIMD_2x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:46,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:49,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 8
    argNames:
    - ' A0'
    - ' A1'
    - ' B0'
    - ' B1'
    - ' C0'
    - ' C1'
    - ' D0'
    - ' D1'
    argTypes:
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 51
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 51
    functionName: Botan::blamka_G
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    - Botan::SIMD_2x64::mul2_32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE blamka_G(SIMD_2x64& A0,\n                                 SIMD_2x64&
      A1,\n                                 SIMD_2x64& B0,\n                                 SIMD_2x64&
      B1,\n                                 SIMD_2x64& C0,\n                                 SIMD_2x64&
      C1,\n                                 SIMD_2x64& D0,\n                                 SIMD_2x64&
      D1)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:61,1
    - Dst: Botan::SIMD_2x64::twist
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:63,1
    - Dst: Botan::blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:64,1
    - Dst: Botan::SIMD_2x64::untwist
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 8
    argNames:
    - ' A0'
    - ' A1'
    - ' B0'
    - ' B1'
    - ' C0'
    - ' C1'
    - ' D0'
    - ' D1'
    argTypes:
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: Botan::blamka_R
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp
    functionUses: 0
    functionsReached:
    - Botan::blamka_G
    - Botan::SIMD_2x64::untwist
    - Botan::SIMD_2x64::twist
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE blamka_R(SIMD_2x64& A0,\n                                 SIMD_2x64&
      A1,\n                                 SIMD_2x64& B0,\n                                 SIMD_2x64&
      B1,\n                                 SIMD_2x64& C0,\n                                 SIMD_2x64&
      C1,\n                                 SIMD_2x64& D0,\n                                 SIMD_2x64&
      D1)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:74,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:75,1
    - Dst: blamka_R
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:78,1
    - Dst: store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:81,1
    - Dst: store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:82,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:89,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:90,1
    - Dst: blamka_R
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:93,1
    - Dst: store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:96,1
    - Dst: store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:97,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:102,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:103,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:104,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:105,1
    - Dst: SIMD_2x64::store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:109,1
    - Dst: SIMD_2x64::store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - N
    - T
    argTypes:
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 112
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 112
    functionName: Botan::Argon2::blamka_ssse3
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2_ssse3/argon2_ssse3.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_2x64::load_le
    - store_le
    - blamka_R
    - SIMD_2x64::store_le
    linkageType: ''
    returnType: void
    signature: void Argon2::blamka_ssse3(uint64_t N[128], uint64_t T[128])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:18,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:20,1
    - Dst: Botan::SIMD_4x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:22,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:24,1
    - Dst: Botan::SIMD_4x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:26,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:28,1
    - Dst: Botan::SIMD_4x64::mul2_32
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:30,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    argTypes:
    - SIMD_4x64
    - SIMD_4x64
    - SIMD_4x64
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 33
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 33
    functionName: Botan::blamka_G
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp
    functionUses: 1
    functionsReached:
    - Botan::rotr
    - Botan::SIMD_4x64::mul2_32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE blamka_G(SIMD_4x64& A, SIMD_4x64& B, SIMD_4x64&
      C, SIMD_4x64& D)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:36,1
    - Dst: Botan::SIMD_4x64::twist
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:38,1
    - Dst: Botan::blamka_G
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:39,1
    - Dst: Botan::SIMD_4x64::untwist
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    argTypes:
    - SIMD_4x64
    - SIMD_4x64
    - SIMD_4x64
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: Botan::blamka_R
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp
    functionUses: 0
    functionsReached:
    - Botan::blamka_G
    - Botan::SIMD_4x64::twist
    - Botan::SIMD_4x64::untwist
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE blamka_R(SIMD_4x64& A, SIMD_4x64& B, SIMD_4x64&
      C, SIMD_4x64& D)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:47,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:48,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:49,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:50,1
    - Dst: blamka_R
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:52,1
    - Dst: SIMD_4x64::store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:54,1
    - Dst: SIMD_4x64::store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:55,1
    - Dst: SIMD_4x64::store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:56,1
    - Dst: SIMD_4x64::store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:57,1
    - Dst: Botan::SIMD_4x64::load_le2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:61,1
    - Dst: Botan::SIMD_4x64::load_le2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:62,1
    - Dst: Botan::SIMD_4x64::load_le2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:63,1
    - Dst: Botan::SIMD_4x64::load_le2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:64,1
    - Dst: blamka_R
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:66,1
    - Dst: SIMD_4x64::store_le2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:68,1
    - Dst: SIMD_4x64::store_le2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:69,1
    - Dst: SIMD_4x64::store_le2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:70,1
    - Dst: SIMD_4x64::store_le2
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:71,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:75,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:76,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:77,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:78,1
    - Dst: SIMD_4x64::store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:82,1
    - Dst: SIMD_4x64::store_le
      Src: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - N
    - T
    argTypes:
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 85
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 85
    functionName: Botan::Argon2::blamka_avx2
    functionSourceFile: /src/botan/src/lib/pbkdf/argon2/argon2_avx2/argon2_avx2.cpp
    functionUses: 1
    functionsReached:
    - SIMD_4x64::store_le2
    - Botan::SIMD_4x64::load_le2
    - SIMD_4x64::store_le
    - blamka_R
    - Botan::SIMD_4x64::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 Argon2::blamka_avx2(uint64_t N[128], uint64_t T[128])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - N
    - r
    - p
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan::scrypt_memory_usage
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t scrypt_memory_usage(size_t N, size_t r, size_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::Scrypt_Family::name
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Scrypt_Family::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Scrypt>
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::Scrypt_Family::default_params
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Scrypt>
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> Scrypt_Family::default_params() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:40,1
    - Dst: Botan::Scrypt_Family::from_params
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:62,1
    - Dst: scrypt_memory_usage
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:78,1
    - Dst: scrypt_memory_usage
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:86,1
    - Dst: std::min<size_t>
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:97,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:97,1
    - Dst: std::make_unique<Scrypt>
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - output_length
    - msec
    - max_memory_usage_mb
    - tune_time
    argTypes:
    - size_t
    - std::chrono::milliseconds
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 101
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 101
    functionName: Botan::Scrypt_Family::tune
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached:
    - std::min<size_t>
    - Botan::Scrypt_Family::from_params
    - std::make_unique<Scrypt>
    - static_cast<size_t>
    - BOTAN_UNUSED
    - scrypt_memory_usage
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: "std::unique_ptr<PasswordHash> Scrypt_Family::tune(size_t output_length,\n
      \                                                 std::chrono::milliseconds
      msec,\n                                                  size_t max_memory_usage_mb,\n
      \                                                 std::chrono::milliseconds
      tune_time) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Scrypt>
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - N
    - r
    - p
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Botan::Scrypt_Family::from_params
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Scrypt>
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> Scrypt_Family::from_params(size_t N,
      size_t r, size_t p) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Scrypt>
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - iter
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: Botan::Scrypt_Family::from_iterations
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Scrypt>
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> Scrypt_Family::from_iterations(size_t
      iter) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_power_of_2
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:127,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:128,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:132,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:135,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:138,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 3
    argNames:
    - N
    - r
    - p
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: Botan::Scrypt::Scrypt
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - is_power_of_2
    linkageType: ''
    returnType: void
    signature: void Scrypt::Scrypt(size_t N, size_t r, size_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: Botan::Scrypt::to_string
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string Scrypt::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scrypt_memory_usage
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: Botan::Scrypt::total_memory_usage
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached:
    - scrypt_memory_usage
    linkageType: ''
    returnType: size_t
    signature: size_t Scrypt::total_memory_usage() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:159,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:159,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:162,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:162,1
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:163,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:163,1
    - Dst: Botan::Salsa20::salsa_core
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:164,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:164,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:165,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:165,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:169,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - r
    - B
    - Y
    argTypes:
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 175
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 175
    functionName: Botan::scryptBlockMix
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached:
    - Botan::xor_buf
    - secure_vector::data
    - Botan::Salsa20::salsa_core
    - Botan::load_le
    - Botan::copy_mem
    linkageType: ''
    returnType: void
    signature: void scryptBlockMix(size_t r, uint8_t* B, uint8_t* Y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:181,1
    - Dst: Botan::scryptBlockMix
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:182,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:188,1
    - Dst: Botan::scryptBlockMix
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - r
    - N
    - B
    - ' V'
    argTypes:
    - size_t
    - size_t
    - uint8_t*
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 191
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 191
    functionName: Botan::scryptROMmix
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached:
    - Botan::scryptBlockMix
    - Botan::copy_mem
    - Botan::xor_buf
    linkageType: ''
    returnType: void
    signature: void scryptROMmix(size_t r, size_t N, uint8_t* B, secure_vector<uint8_t>&
      V)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:210,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:213,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:213,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:215,1
    - Dst: pbkdf2
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:218,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:218,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:218,1
    - Dst: scryptROMmix
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:222,1
    - Dst: pbkdf2
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:225,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:225,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - output
    - output_len
    - password
    - password_len
    - salt
    - salt_len
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 226
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 226
    functionName: Botan::Scrypt::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.cpp
    functionUses: 0
    functionsReached:
    - pbkdf2
    - secure_vector::data
    - scryptROMmix
    - secure_vector::size
    - auto::set_key
    - Botan::MessageAuthenticationCode::create_or_throw
    - Invalid_Argument
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: void
    signature: "void Scrypt::derive_key(uint8_t output[],\n                        size_t
      output_len,\n                        const char* password,\n                        size_t
      password_len,\n                        const uint8_t salt[],\n                        size_t
      salt_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Scrypt
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 50
    functionName: Botan::PasswordHash
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.h
    functionUses: 0
    functionsReached:
    - Scrypt
    linkageType: ''
    returnType: Scrypt
    signature: Scrypt PasswordHash
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: Botan::PasswordHashFamily
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Scrypt_Family
    signature: Scrypt_Family PasswordHashFamily
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.h:95,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.h:96,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - output
    - output_len
    - password
    - password_len
    - salt
    - salt_len
    - N
    - r
    - p
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: Botan::scrypt
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.h
    functionUses: 0
    functionsReached:
    - Botan::PasswordHashFamily::create_or_throw
    - auto::derive_key
    - auto::from_params
    linkageType: ''
    returnType: void
    signature: "void scrypt(uint8_t output[],\n                   size_t output_len,\n
      \                  const char* password,\n                   size_t password_len,\n
      \                  const uint8_t salt[],\n                   size_t salt_len,\n
      \                  size_t N,\n                   size_t r,\n                   size_t
      p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.h:126,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.h:127,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.h:128,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.h:128,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pbkdf/scrypt/scrypt.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - output
    - output_len
    - password
    - salt
    - salt_len
    - N
    - r
    - p
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    - uint8_t[]
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: Botan::scrypt
    functionSourceFile: /src/botan/src/lib/pbkdf/scrypt/scrypt.h
    functionUses: 0
    functionsReached:
    - Botan::PasswordHashFamily::create_or_throw
    - auto::from_params
    - auto::derive_key
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: "void scrypt(uint8_t output[],\n                   size_t output_len,\n
      \                  std::string_view password,\n                   const uint8_t
      salt[],\n                   size_t salt_len,\n                   size_t N,\n
      \                  size_t r,\n                   size_t p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bcrypt_PBKDF
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 49
    functionName: Botan::PasswordHash
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.h
    functionUses: 0
    functionsReached:
    - Bcrypt_PBKDF
    linkageType: ''
    returnType: Bcrypt_PBKDF
    signature: Bcrypt_PBKDF PasswordHash
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bcrypt_PBKDF_Family
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: Botan::PasswordHashFamily
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.h
    functionUses: 0
    functionsReached:
    - Bcrypt_PBKDF_Family
    linkageType: ''
    returnType: Bcrypt_PBKDF_Family
    signature: Bcrypt_PBKDF_Family PasswordHashFamily
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.h:81,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.h:82,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - output
    - output_len
    - password
    - password_len
    - salt
    - salt_len
    - rounds
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: Botan::bcrypt_pbkdf
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.h
    functionUses: 0
    functionsReached:
    - Botan::PasswordHashFamily::create_or_throw
    - auto::derive_key
    - auto::from_params
    linkageType: ''
    returnType: void
    signature: "void bcrypt_pbkdf(uint8_t output[],\n                         size_t
      output_len,\n                         const char* password,\n                         size_t
      password_len,\n                         const uint8_t salt[],\n                         size_t
      salt_len,\n                         size_t rounds)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterations
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: Botan::Bcrypt_PBKDF::Bcrypt_PBKDF
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void Bcrypt_PBKDF::Bcrypt_PBKDF(size_t iterations)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::Bcrypt_PBKDF::to_string
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string Bcrypt_PBKDF::to_string() const
  - 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: Botan::Bcrypt_PBKDF_Family::name
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Bcrypt_PBKDF_Family::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Bcrypt_PBKDF_Family::default_params
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:36,1
    - Dst: Botan::Bcrypt_PBKDF_Family::from_iterations
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:41,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:45,1
    - Dst: Botan::Bcrypt_PBKDF_Family::from_iterations
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:55,1
    - Dst: Botan::Bcrypt_PBKDF_Family::from_iterations
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:58,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - output_length
    - msec
    - tune_time
    argTypes:
    - size_t
    - std::chrono::milliseconds
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 59
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 59
    functionName: Botan::Bcrypt_PBKDF_Family::tune
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - auto::derive_key
    - Botan::Bcrypt_PBKDF_Family::from_iterations
    - Botan::Bcrypt_PBKDF_Family::default_params
    - static_cast<size_t>
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: "std::unique_ptr<PasswordHash> Bcrypt_PBKDF_Family::tune(size_t output_length,\n
      \                                                       std::chrono::milliseconds
      msec,\n                                                        size_t /*max_memory*/,\n
      \                                                       std::chrono::milliseconds
      tune_time) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Bcrypt_PBKDF_Family::from_iterations
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::Bcrypt_PBKDF_Family::default_params
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
    functionUses: 1
    functionsReached:
    - Botan::Bcrypt_PBKDF_Family::from_iterations
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> Bcrypt_PBKDF_Family::default_params()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Bcrypt_PBKDF>
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan::Bcrypt_PBKDF_Family::from_iterations
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<Bcrypt_PBKDF>
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> Bcrypt_PBKDF_Family::from_iterations(size_t
      iter) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Bcrypt_PBKDF_Family::from_iterations
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan::Bcrypt_PBKDF_Family::from_params
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - Botan::Bcrypt_PBKDF_Family::from_iterations
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> Bcrypt_PBKDF_Family::from_params(size_t
      iter, size_t /*t*/, size_t /*p*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: salted_set_key
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:90,1
    - Dst: data
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:91,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:91,1
    - Dst: data
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:91,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:91,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:93,1
    - Dst: data
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:93,1
    - Dst: Botan::encrypt
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:95,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:106,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:109,1
    - Dst: data
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:109,1
    - Dst: data
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - ' blowfish'
    - ' pass_hash'
    - ' salt_hash'
    - ' out'
    - ' tmp'
    argTypes:
    - Blowfish
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 110
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 110
    functionName: Botan::bcrypt_round
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - salted_set_key
    - Botan::encrypt
    - Botan::xor_buf
    - data
    - Botan::size
    - Botan::store_be
    - Botan::copy_mem
    linkageType: ''
    returnType: void
    signature: "void bcrypt_round(Blowfish& blowfish,\n                  const secure_vector<uint8_t>&
      pass_hash,\n                  const secure_vector<uint8_t>& salt_hash,\n                  secure_vector<uint8_t>&
      out,\n                  secure_vector<uint8_t>& tmp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:125,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:130,1
    - Dst: auto::process
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:131,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:131,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:133,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:140,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:140,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:140,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:142,1
    - Dst: auto::update_be
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:143,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:143,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:144,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:144,1
    - Dst: bcrypt_round
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:146,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:150,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:151,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:151,1
    - Dst: bcrypt_round
      Src: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - output
    - output_len
    - password
    - password_len
    - salt
    - salt_len
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 163
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 163
    functionName: Botan::Bcrypt_PBKDF::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - auto::final
    - auto::process
    - Botan::HashFunction::create_or_throw
    - clear_mem
    - secure_vector::size
    - static_cast<uint32_t>
    - auto::update
    - auto::output_length
    - auto::update_be
    - bcrypt_round
    - reinterpret_cast<const uint8_t*>
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void Bcrypt_PBKDF::derive_key(uint8_t output[],\n                              size_t
      output_len,\n                              const char* password,\n                              size_t
      password_len,\n                              const uint8_t salt[],\n                              size_t
      salt_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::set_key
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:22,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:22,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' prf'
    - password
    - password_len
    argTypes:
    - MessageAuthenticationCode
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: Botan::pbkdf2_set_key
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - Botan::cast_char_ptr_to_uint8
    - Botan::set_key
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void pbkdf2_set_key(MessageAuthenticationCode& prf, const char* password,
      size_t password_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:31,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:37,1
    - Dst: Botan::set_key
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - ' prf'
    - output_length
    - msec
    argTypes:
    - MessageAuthenticationCode
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 67
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 67
    functionName: Botan::tune_pbkdf2
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - Botan::set_key
    - Botan_CLI::Timer::milliseconds
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: "size_t tune_pbkdf2(MessageAuthenticationCode& prf,\n                   size_t
      output_length,\n                   std::chrono::milliseconds msec,\n                   std::chrono::milliseconds
      tune_time = std::chrono::milliseconds(10))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::tune_pbkdf2
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:80,1
    - Dst: PBKDF2::derive_key
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:85,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:85,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - ' prf'
    - out
    - out_len
    - password
    - salt
    - salt_len
    - iterations
    - msec
    argTypes:
    - MessageAuthenticationCode
    - uint8_t[]
    - size_t
    - std::string_view
    - uint8_t[]
    - size_t
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 88
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionName: Botan::pbkdf2
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - Botan::tune_pbkdf2
    - std::string_view::size
    - PBKDF2::derive_key
    - std::string_view::data
    linkageType: ''
    returnType: size_t
    signature: "size_t pbkdf2(MessageAuthenticationCode& prf,\n              uint8_t
      out[],\n              size_t out_len,\n              std::string_view password,\n
      \             const uint8_t salt[],\n              size_t salt_len,\n              size_t
      iterations,\n              std::chrono::milliseconds msec)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:97,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:100,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:107,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:115,1
    - Dst: update_be
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:116,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:117,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:117,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:119,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:119,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:122,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:123,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:123,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:124,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - ' prf'
    - out
    - out_len
    - salt
    - salt_len
    - iterations
    argTypes:
    - MessageAuthenticationCode
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 130
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 130
    functionName: Botan::pbkdf2
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - Botan::xor_buf
    - secure_vector::data
    - update_be
    - BOTAN_ASSERT_NOMSG
    - Botan::update
    - Botan::final
    - Botan::clear_mem
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: "void pbkdf2(MessageAuthenticationCode& prf,\n            uint8_t out[],\n
      \           size_t out_len,\n            const uint8_t salt[],\n            size_t
      salt_len,\n            size_t iterations)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tune_pbkdf2
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:141,1
    - Dst: PBKDF2::derive_key
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:146,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:146,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - key
    - key_len
    - password
    - salt
    - salt_len
    - iterations
    - msec
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    - uint8_t[]
    - size_t
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 149
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 149
    functionName: Botan::PKCS5_PBKDF2::pbkdf
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::size
    - tune_pbkdf2
    - PBKDF2::derive_key
    - std::string_view::data
    linkageType: ''
    returnType: size_t
    signature: "size_t PKCS5_PBKDF2::pbkdf(uint8_t key[],\n                           size_t
      key_len,\n                           std::string_view password,\n                           const
      uint8_t salt[],\n                           size_t salt_len,\n                           size_t
      iterations,\n                           std::chrono::milliseconds msec) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:152,1
    - Dst: Botan::PKCS5_PBKDF2::name
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: Botan::PKCS5_PBKDF2::name
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::PKCS5_PBKDF2::name
    linkageType: ''
    returnType: std::string
    signature: std::string PKCS5_PBKDF2::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKCS5_PBKDF2>
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:156,1
    - Dst: Botan::PKCS5_PBKDF2::new_object
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: Botan::PKCS5_PBKDF2::new_object
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<PKCS5_PBKDF2>
    - Botan::PKCS5_PBKDF2::new_object
    linkageType: ''
    returnType: std::unique_ptr<PBKDF>
    signature: std::unique_ptr<PBKDF> PKCS5_PBKDF2::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_object
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:162,1
    - Dst: tune_pbkdf2
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' prf'
    - olen
    - msec
    argTypes:
    - MessageAuthenticationCode
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: Botan::PBKDF2::PBKDF2
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - tune_pbkdf2
    - new_object
    linkageType: ''
    returnType: void
    signature: void PBKDF2::PBKDF2(const MessageAuthenticationCode& prf, size_t olen,
      std::chrono::milliseconds msec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:165,1
    - Dst: name
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: Botan::PBKDF2::to_string
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string PBKDF2::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pbkdf2_set_key
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:174,1
    - Dst: pbkdf2
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - out
    - out_len
    - password
    - password_len
    - salt
    - salt_len
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: Botan::PBKDF2::derive_key
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - pbkdf2
    - pbkdf2_set_key
    linkageType: ''
    returnType: void
    signature: "void PBKDF2::derive_key(uint8_t out[],\n                        size_t
      out_len,\n                        const char* password,\n                        const
      size_t password_len,\n                        const uint8_t salt[],\n                        size_t
      salt_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:179,1
    - Dst: Botan::PBKDF2_Family::name
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: Botan::PBKDF2_Family::name
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::PBKDF2_Family::name
    linkageType: ''
    returnType: std::string
    signature: std::string PBKDF2_Family::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tune_pbkdf2
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:186,1
    - Dst: std::make_unique<PBKDF2>
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - output_len
    - msec
    - tune_time
    argTypes:
    - size_t
    - std::chrono::milliseconds
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: Botan::PBKDF2_Family::tune
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PBKDF2>
    - tune_pbkdf2
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: "std::unique_ptr<PasswordHash> PBKDF2_Family::tune(size_t output_len,\n
      \                                                 std::chrono::milliseconds
      msec,\n                                                  size_t /*max_memory_usage_mb*/,\n
      \                                                 std::chrono::milliseconds
      tune_time) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PBKDF2>
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: Botan::PBKDF2_Family::default_params
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PBKDF2>
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> PBKDF2_Family::default_params() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PBKDF2>
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: Botan::PBKDF2_Family::from_params
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PBKDF2>
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> PBKDF2_Family::from_params(size_t iter,
      size_t /*i2*/, size_t /*i3*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PBKDF2>
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: Botan::PBKDF2_Family::from_iterations
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PBKDF2>
    linkageType: ''
    returnType: std::unique_ptr<PasswordHash>
    signature: std::unique_ptr<PasswordHash> PBKDF2_Family::from_iterations(size_t
      iter) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PBKDF2
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h:47,1
    - Dst: m_prf
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h:47,1
    - Dst: Botan::new_object
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h:47,1
    - Dst: m_iterations
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h:47,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: Botan::PasswordHash
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h
    functionUses: 0
    functionsReached:
    - Botan::new_object
    - m_prf
    - BOTAN_DEPRECATED
    - PBKDF2
    - m_iterations
    linkageType: ''
    returnType: PBKDF2
    signature: PBKDF2 PasswordHash
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PBKDF2_Family
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 95
    functionName: Botan::PasswordHashFamily
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h
    functionUses: 0
    functionsReached:
    - PBKDF2_Family
    linkageType: ''
    returnType: PBKDF2_Family
    signature: PBKDF2_Family PasswordHashFamily
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h:118,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h:125,1
    - Dst: std::move
      Src: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 130
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/pbkdf/pbkdf2/pbkdf2.h
    functionUses: 5
    functionsReached:
    - std::move
    - BOTAN_DEPRECATED
    linkageType: ''
    returnType: PKCS5_PBKDF2
    signature: PKCS5_PBKDF2 final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - capacity
    - custom_padding
    - custom_padding_bit_len
    argTypes:
    - size_t
    - uint64_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: Botan::Keccak_Permutation::Keccak_Permutation
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void Keccak_Permutation::Keccak_Permutation(size_t capacity, uint64_t
      custom_padding, uint8_t custom_padding_bit_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: Botan::Keccak_Permutation::provider
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string Keccak_Permutation::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroise
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: Botan::Keccak_Permutation::clear
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp
    functionUses: 0
    functionsReached:
    - zeroise
    linkageType: ''
    returnType: void
    signature: void Keccak_Permutation::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:56,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:58,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:61,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:62,1
    - Dst: BufferSlicer::take_byte
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:62,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:66,1
    - Dst: load_le<uint64_t>
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:67,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:67,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:71,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:72,1
    - Dst: BufferSlicer::take_byte
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:72,1
    - Dst: Botan::Keccak_Permutation::permute
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 81
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 81
    functionName: Botan::Keccak_Permutation::absorb
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp
    functionUses: 0
    functionsReached:
    - BufferSlicer::take_byte
    - static_cast<uint64_t>
    - BufferSlicer::take
    - BufferSlicer::empty
    - load_le<uint64_t>
    - Botan::Keccak_Permutation::permute
    - BufferSlicer::remaining
    linkageType: ''
    returnType: void
    signature: void Keccak_Permutation::absorb(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:88,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:90,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:93,1
    - Dst: BufferStuffer::next_byte
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:94,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:94,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:98,1
    - Dst: store_le
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:99,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:99,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:103,1
    - Dst: BufferStuffer::next_byte
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:104,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:104,1
    - Dst: Botan::Keccak_Permutation::permute
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 113
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 113
    functionName: Botan::Keccak_Permutation::squeeze
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::next_byte
    - BufferStuffer::remaining_capacity
    - store_le
    - Botan::Keccak_Permutation::permute
    - static_cast<uint8_t>
    - BufferStuffer::full
    - BufferStuffer::next
    linkageType: ''
    returnType: void
    signature: void Keccak_Permutation::squeeze(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:118,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:121,1
    - Dst: Botan::Keccak_Permutation::permute
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: Botan::Keccak_Permutation::finish
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp
    functionUses: 0
    functionsReached:
    - Botan::Keccak_Permutation::permute
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void Keccak_Permutation::finish()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:128,1
    - Dst: Botan::Keccak_Permutation::permute_bmi2
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:129,1
    - Dst: Keccak_Permutation_round
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:143,1
    - Dst: data
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:143,1
    - Dst: Keccak_Permutation_round
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:144,1
    - Dst: data
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 146
    functionName: Botan::Keccak_Permutation::permute
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.cpp
    functionUses: 3
    functionsReached:
    - Keccak_Permutation_round
    - data
    - Botan::Keccak_Permutation::permute_bmi2
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: void
    signature: void Keccak_Permutation::permute()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan::keccak_max_int_encoding_size
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t keccak_max_int_encoding_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:92,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:101,1
    - Dst: insert
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:103,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:103,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:103,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:103,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:105,1
    - Dst: absorb
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:110,1
    - Dst: Botan::keccak_int_left_encode
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:110,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:110,1
    - Dst: absorb
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:111,1
    - Dst: absorb
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:118,1
    - Dst: absorb
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:124,1
    - Dst: Botan::keccak_int_left_encode
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:124,1
    - Dst: encode_string_and_absorb
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:125,1
    - Dst: absorb_padding
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - ' sink'
    - padding_mod
    argTypes:
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: Botan::keccak_absorb_padded_strings_encoding
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.h
    functionUses: 1
    functionsReached:
    - Botan::begin
    - BOTAN_ASSERT_NOMSG
    - absorb_padding
    - Botan::update
    - encode_string_and_absorb
    - Botan::keccak_int_left_encode
    - Botan::size
    - Botan::end
    - absorb
    - insert
    linkageType: ''
    returnType: size_t
    signature: size_t keccak_absorb_padded_strings_encoding(T& sink, size_t padding_mod,
      Ts... byte_strings)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 3
    argNames:
    - T
    - A
    - RC
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t
    constantsTouched: []
    func_position:
      end: 82
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 82
    functionName: Botan::Keccak_Permutation_round
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm_round.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Keccak_Permutation_round(uint64_t T[25], const uint64_t A[25],
      uint64_t RC)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:21,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:21,1
    - Dst: Botan::ceil_tobytes
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:22,1
    - Dst: std::max
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:22,1
    - Dst: Botan::ceil_log2
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: Botan::int_encoding_size
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - Botan::ceil_tobytes
    - std::max
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - Botan::ceil_log2
    linkageType: ''
    returnType: size_t
    signature: size_t int_encoding_size(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::int_encoding_size
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:26,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:27,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:27,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:30,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:30,1
    - Dst: std::array::begin
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:32,1
    - Dst: std::advance
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:33,1
    - Dst: Botan::copy
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:34,1
    - Dst: std::array::end
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:34,1
    - Dst: std::span<uint8_t>::begin
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:34,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out
    - x
    argTypes:
    - std::span<uint8_t>
    - uint64_t
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: Botan::encode
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - BOTAN_ASSERT_NOMSG
    - std::array::end
    - std::array::begin
    - std::span<uint8_t>::size
    - Botan::store_be
    - std::span<uint8_t>::begin
    - std::advance
    - static_cast<uint8_t>
    - Botan::copy
    - Botan::int_encoding_size
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t encode(std::span<uint8_t> out, uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:42,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:42,1
    - Dst: Botan::encode
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:43,1
    - Dst: std::span<uint8_t>::last
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:43,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:43,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out
    - x
    argTypes:
    - std::span<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: Botan::keccak_int_left_encode
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - std::span<uint8_t>::size
    - std::span<uint8_t>::empty
    - std::span<uint8_t>::last
    - Botan::encode
    - std::span<uint8_t>::first
    linkageType: ''
    returnType: std::span<const uint8_t>
    signature: std::span<const uint8_t> keccak_int_left_encode(std::span<uint8_t>
      out, size_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::encode
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:48,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:49,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:49,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out
    - x
    argTypes:
    - std::span<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: Botan::keccak_int_right_encode
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp
    functionUses: 1
    functionsReached:
    - Botan::encode
    - std::span<uint8_t>::first
    - BOTAN_ASSERT_NOMSG
    - std::span<uint8_t>::size
    linkageType: ''
    returnType: std::span<const uint8_t>
    signature: std::span<const uint8_t> keccak_int_right_encode(std::span<uint8_t>
      out, size_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::int_encoding_size
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Botan::keccak_int_encoding_size
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_helpers.cpp
    functionUses: 3
    functionsReached:
    - Botan::int_encoding_size
    linkageType: ''
    returnType: size_t
    signature: size_t keccak_int_encoding_size(size_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::Keccak_Permutation::capacity
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t capacity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::Keccak_Permutation::bit_rate
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bit_rate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::Keccak_Permutation::byte_rate
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t byte_rate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Keccak_Permutation_round
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm_bmi2/keccak_perm_bmi2.cpp:25,1
    - Dst: data
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm_bmi2/keccak_perm_bmi2.cpp:25,1
    - Dst: Keccak_Permutation_round
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm_bmi2/keccak_perm_bmi2.cpp:26,1
    - Dst: data
      Src: /src/botan/src/lib/permutations/keccak_perm/keccak_perm_bmi2/keccak_perm_bmi2.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 28
    functionName: Botan::Keccak_Permutation::permute_bmi2
    functionSourceFile: /src/botan/src/lib/permutations/keccak_perm/keccak_perm_bmi2/keccak_perm_bmi2.cpp
    functionUses: 1
    functionsReached:
    - Keccak_Permutation_round
    - data
    linkageType: ''
    returnType: void
    signature: void Keccak_Permutation::permute_bmi2()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 131
    functionName: Botan::TLS::final
    functionSourceFile: /src/botan/src/lib/tls/tls_alert.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Alert
    signature: Alert final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session_Manager_Noop
      Src: /src/botan/src/lib/tls/tls_session_manager_noop.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 40
    functionName: Botan::TLS::Session_Manager
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_noop.h
    functionUses: 0
    functionsReached:
    - Session_Manager_Noop
    linkageType: ''
    returnType: Session_Manager_Noop
    signature: Session_Manager_Noop Session_Manager
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::TLS::find_some
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_noop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Session_with_Handle>
    signature: std::vector<Session_with_Handle> find_some(const Server_Information&,
      const size_t) override
  - 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: ~Channel_Impl()
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Channel_Impl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send_alert
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:71,1
    - Dst: Alert
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Alert::Type
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::TLS::Channel_Impl::send_warning_alert
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached:
    - send_alert
    - Alert
    linkageType: ''
    returnType: void
    signature: void send_warning_alert(Alert::Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send_alert
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:76,1
    - Dst: Alert
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Alert::Type
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan::TLS::Channel_Impl::send_fatal_alert
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached:
    - send_alert
    - Alert
    linkageType: ''
    returnType: void
    signature: void send_fatal_alert(Alert::Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl::send_warning_alert
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Botan::TLS::Channel_Impl::close
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 9
    functionsReached:
    - Botan::TLS::Channel_Impl::send_warning_alert
    linkageType: ''
    returnType: void
    signature: void close()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: Botan::TLS::Channel_Impl::new_session_ticket_supported
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool new_session_ticket_supported() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: Botan::TLS::Channel_Impl::send_new_session_tickets
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t send_new_session_tickets(const size_t /* tickets */)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:228,1
    - Dst: peer_transcript::insert
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:229,1
    - Dst: peer_transcript::end
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:229,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:229,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: Botan::TLS::Channel_Impl::preserve_peer_transcript
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - BOTAN_STATE_CHECK
    - peer_transcript::end
    - std::span<const uint8_t>::begin
    - peer_transcript::insert
    linkageType: ''
    returnType: void
    signature: void preserve_peer_transcript(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:233,1
    - Dst: client_hello_message::assign
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:234,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:234,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: Botan::TLS::Channel_Impl::preserve_client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - BOTAN_STATE_CHECK
    - std::span<const uint8_t>::end
    - client_hello_message::assign
    linkageType: ''
    returnType: void
    signature: void preserve_client_hello(std::span<const uint8_t> msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - io_buf_sz
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: Botan::TLS::Channel_Impl::set_io_buffer_size
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void set_io_buffer_size(size_t io_buf_sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: Botan::TLS::Channel_Impl::request_downgrade
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void request_downgrade()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:259,1
    - Dst: client_hello_message::empty
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:259,1
    - Dst: peer_transcript::empty
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:260,1
    - Dst: tls12_session::has_value
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:260,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:261,1
    - Dst: Session_with_Handle::session::version
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:261,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:262,1
    - Dst: Botan::TLS::Channel_Impl::request_downgrade
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - Session_with_Handle
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 264
    functionName: Botan::TLS::Channel_Impl::request_downgrade_for_resumption
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached:
    - Session_with_Handle::session::version
    - BOTAN_ASSERT_NOMSG
    - BOTAN_STATE_CHECK
    - client_hello_message::empty
    - std::move
    - tls12_session::has_value
    - Botan::TLS::Channel_Impl::request_downgrade
    - peer_transcript::empty
    linkageType: ''
    returnType: void
    signature: void request_downgrade_for_resumption(Session_with_Handle session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: Botan::TLS::Channel_Impl::is_downgrading
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_downgrading() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/botan/src/lib/tls/tls_channel_impl.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: Botan::TLS::Channel_Impl::extract_downgrade_info
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: std::unique_ptr<Downgrade_Information>
    signature: std::unique_ptr<Downgrade_Information> extract_downgrade_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: Botan::TLS::Channel_Impl::expects_downgrade
    functionSourceFile: /src/botan/src/lib/tls/tls_channel_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool expects_downgrade() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Server_Information
      Src: /src/botan/src/lib/tls/tls_server_info.h:24,1
    - Dst: m_hostname
      Src: /src/botan/src/lib/tls/tls_server_info.h:24,1
    - Dst: m_service
      Src: /src/botan/src/lib/tls/tls_server_info.h:24,1
    - Dst: m_port
      Src: /src/botan/src/lib/tls/tls_server_info.h:24,1
    - Dst: Botan::TLS::empty
      Src: /src/botan/src/lib/tls/tls_server_info.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 68
    functionName: Botan::TLS::final
    functionSourceFile: /src/botan/src/lib/tls/tls_server_info.h
    functionUses: 0
    functionsReached:
    - m_hostname
    - Botan::TLS::empty
    - m_service
    - Server_Information
    - m_port
    linkageType: ''
    returnType: Server_Information
    signature: Server_Information final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls_server_info.h:71,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls_server_info.h:71,1
    - Dst: service
      Src: /src/botan/src/lib/tls/tls_server_info.h:71,1
    - Dst: service
      Src: /src/botan/src/lib/tls/tls_server_info.h:71,1
    - Dst: port
      Src: /src/botan/src/lib/tls/tls_server_info.h:71,1
    - Dst: port
      Src: /src/botan/src/lib/tls/tls_server_info.h:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Server_Information
    - Server_Information
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: operator==(const Server_Information& a, const Server_Information&
      b)
    functionSourceFile: /src/botan/src/lib/tls/tls_server_info.h
    functionUses: 0
    functionsReached:
    - service
    - port
    - hostname
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Server_Information& a, const Server_Information&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Server_Information
    - Server_Information
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: operator!=(const Server_Information& a, const Server_Information&
      b)
    functionSourceFile: /src/botan/src/lib/tls/tls_server_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Server_Information& a, const Server_Information&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls_server_info.h:79,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls_server_info.h:79,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls_server_info.h:80,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls_server_info.h:80,1
    - Dst: service
      Src: /src/botan/src/lib/tls/tls_server_info.h:82,1
    - Dst: service
      Src: /src/botan/src/lib/tls/tls_server_info.h:82,1
    - Dst: service
      Src: /src/botan/src/lib/tls/tls_server_info.h:83,1
    - Dst: service
      Src: /src/botan/src/lib/tls/tls_server_info.h:83,1
    - Dst: port
      Src: /src/botan/src/lib/tls/tls_server_info.h:85,1
    - Dst: port
      Src: /src/botan/src/lib/tls/tls_server_info.h:85,1
    - Dst: port
      Src: /src/botan/src/lib/tls/tls_server_info.h:86,1
    - Dst: port
      Src: /src/botan/src/lib/tls/tls_server_info.h:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Server_Information
    - Server_Information
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: operator<(const Server_Information& a, const Server_Information&
      b)
    functionSourceFile: /src/botan/src/lib/tls/tls_server_info.h
    functionUses: 0
    functionsReached:
    - service
    - port
    - hostname
    linkageType: ''
    returnType: bool
    signature: bool operator<(const Server_Information& a, const Server_Information&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/tls/tls_exceptn.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::TLS::error_code
    functionSourceFile: /src/botan/src/lib/tls/tls_exceptn.h
    functionUses: 2
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int error_code() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::TLS::error_type
    functionSourceFile: /src/botan/src/lib/tls/tls_exceptn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ErrorType
    signature: ErrorType error_type() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: TLS_Exception
    functionSourceFile: /src/botan/src/lib/tls/tls_exceptn.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: Unexpected_Message
    signature: Unexpected_Message TLS_Exception
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:20,1
    - Dst: Policy::allow_ssl_key_log_file
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::TLS::Text_Policy::allow_ssl_key_log_file
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::allow_ssl_key_log_file
    - Botan::TLS::Text_Policy::get_bool
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::allow_ssl_key_log_file() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_list
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:24,1
    - Dst: Policy::allowed_ciphers
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::TLS::Text_Policy::allowed_ciphers
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_list
    - Policy::allowed_ciphers
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Text_Policy::allowed_ciphers() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_list
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:28,1
    - Dst: Policy::allowed_signature_hashes
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: Botan::TLS::Text_Policy::allowed_signature_hashes
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_list
    - Policy::allowed_signature_hashes
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Text_Policy::allowed_signature_hashes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_list
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:32,1
    - Dst: Policy::allowed_macs
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Botan::TLS::Text_Policy::allowed_macs
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_list
    - Policy::allowed_macs
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Text_Policy::allowed_macs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_list
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:36,1
    - Dst: Policy::allowed_key_exchange_methods
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan::TLS::Text_Policy::allowed_key_exchange_methods
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_list
    - Policy::allowed_key_exchange_methods
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Text_Policy::allowed_key_exchange_methods()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_list
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:40,1
    - Dst: Policy::allowed_signature_methods
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::TLS::Text_Policy::allowed_signature_methods
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_list
    - Policy::allowed_signature_methods
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Text_Policy::allowed_signature_methods() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:44,1
    - Dst: Policy::use_ecc_point_compression
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::TLS::Text_Policy::use_ecc_point_compression
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::use_ecc_point_compression
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::use_ecc_point_compression() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:48,1
    - Dst: Policy::allow_tls12
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::TLS::Text_Policy::allow_tls12
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::allow_tls12
    - Botan::TLS::Text_Policy::get_bool
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::allow_tls12() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:52,1
    - Dst: Policy::allow_tls13
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::TLS::Text_Policy::allow_tls13
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::allow_tls13
    - Botan::TLS::Text_Policy::get_bool
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::allow_tls13() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:56,1
    - Dst: Policy::allow_dtls12
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan::TLS::Text_Policy::allow_dtls12
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::allow_dtls12
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::allow_dtls12() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:60,1
    - Dst: Policy::allow_insecure_renegotiation
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::TLS::Text_Policy::allow_insecure_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::allow_insecure_renegotiation
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::allow_insecure_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:64,1
    - Dst: Policy::include_time_in_hello_random
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::TLS::Text_Policy::include_time_in_hello_random
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::include_time_in_hello_random
    - Botan::TLS::Text_Policy::get_bool
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::include_time_in_hello_random() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:68,1
    - Dst: Policy::require_client_certificate_authentication
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: Botan::TLS::Text_Policy::require_client_certificate_authentication
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::require_client_certificate_authentication
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::require_client_certificate_authentication() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:72,1
    - Dst: Policy::allow_client_initiated_renegotiation
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Botan::TLS::Text_Policy::allow_client_initiated_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::allow_client_initiated_renegotiation
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::allow_client_initiated_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_str
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:76,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:77,1
    - Dst: Policy::accepted_client_certificate_types
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:77,1
    - Dst: Botan::TLS::Text_Policy::read_cert_type_list
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: Botan::TLS::Text_Policy::accepted_client_certificate_types
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::read_cert_type_list
    - auto::empty
    - Policy::accepted_client_certificate_types
    - Botan::TLS::Text_Policy::get_str
    linkageType: ''
    returnType: std::vector<Certificate_Type>
    signature: std::vector<Certificate_Type> Text_Policy::accepted_client_certificate_types()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_str
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:81,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:82,1
    - Dst: Policy::accepted_server_certificate_types
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:82,1
    - Dst: Botan::TLS::Text_Policy::read_cert_type_list
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: Botan::TLS::Text_Policy::accepted_server_certificate_types
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::read_cert_type_list
    - auto::empty
    - Policy::accepted_server_certificate_types
    - Botan::TLS::Text_Policy::get_str
    linkageType: ''
    returnType: std::vector<Certificate_Type>
    signature: std::vector<Certificate_Type> Text_Policy::accepted_server_certificate_types()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:86,1
    - Dst: Policy::allow_server_initiated_renegotiation
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: Botan::TLS::Text_Policy::allow_server_initiated_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::allow_server_initiated_renegotiation
    - Botan::TLS::Text_Policy::get_bool
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::allow_server_initiated_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:90,1
    - Dst: Policy::server_uses_own_ciphersuite_preferences
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: Botan::TLS::Text_Policy::server_uses_own_ciphersuite_preferences
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::server_uses_own_ciphersuite_preferences
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::server_uses_own_ciphersuite_preferences() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:94,1
    - Dst: Policy::negotiate_encrypt_then_mac
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: Botan::TLS::Text_Policy::negotiate_encrypt_then_mac
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::negotiate_encrypt_then_mac
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::negotiate_encrypt_then_mac() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:98,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:101,1
    - Dst: std::make_optional
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:102,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: Botan::TLS::Text_Policy::record_size_limit
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - std::make_optional
    - BOTAN_ARG_CHECK
    - Botan::TLS::Text_Policy::get_len
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: std::optional<uint16_t> Text_Policy::record_size_limit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:106,1
    - Dst: Policy::support_cert_status_message
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: Botan::TLS::Text_Policy::support_cert_status_message
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::support_cert_status_message
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::support_cert_status_message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_str
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:110,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:112,1
    - Dst: Botan::TLS::Text_Policy::get_str
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:114,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:117,1
    - Dst: Shim_Policy::key_exchange_groups
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:118,1
    - Dst: Botan::TLS::Text_Policy::read_group_list
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: Botan::TLS::Text_Policy::key_exchange_groups
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Shim_Policy::key_exchange_groups
    - Botan::TLS::Text_Policy::read_group_list
    - std::string::empty
    - Botan::TLS::Text_Policy::get_str
    linkageType: ''
    returnType: std::vector<Group_Params>
    signature: std::vector<Group_Params> Text_Policy::key_exchange_groups() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_str
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:125,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:127,1
    - Dst: Botan::TLS::Text_Policy::key_exchange_groups_to_offer
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:129,1
    - Dst: Botan::TLS::Text_Policy::read_group_list
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 137
    functionName: Botan::TLS::Text_Policy::key_exchange_groups_to_offer
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Text_Policy::read_group_list
    - Botan::TLS::Text_Policy::key_exchange_groups_to_offer
    - std::string::empty
    - Botan::TLS::Text_Policy::get_str
    linkageType: ''
    returnType: std::vector<Group_Params>
    signature: std::vector<Group_Params> Text_Policy::key_exchange_groups_to_offer()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:140,1
    - Dst: Policy::minimum_ecdh_group_size
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: Botan::TLS::Text_Policy::minimum_ecdh_group_size
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::minimum_ecdh_group_size
    - Botan::TLS::Text_Policy::get_len
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::minimum_ecdh_group_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:144,1
    - Dst: Policy::minimum_ecdsa_group_size
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: Botan::TLS::Text_Policy::minimum_ecdsa_group_size
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_len
    - Policy::minimum_ecdsa_group_size
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::minimum_ecdsa_group_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:148,1
    - Dst: Policy::minimum_dh_group_size
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: Botan::TLS::Text_Policy::minimum_dh_group_size
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::minimum_dh_group_size
    - Botan::TLS::Text_Policy::get_len
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::minimum_dh_group_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:152,1
    - Dst: Policy::minimum_rsa_bits
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: Botan::TLS::Text_Policy::minimum_rsa_bits
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_len
    - Policy::minimum_rsa_bits
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::minimum_rsa_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:156,1
    - Dst: Policy::minimum_signature_strength
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: Botan::TLS::Text_Policy::minimum_signature_strength
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::minimum_signature_strength
    - Botan::TLS::Text_Policy::get_len
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::minimum_signature_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:160,1
    - Dst: Policy::dtls_default_mtu
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: Botan::TLS::Text_Policy::dtls_default_mtu
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::dtls_default_mtu
    - Botan::TLS::Text_Policy::get_len
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::dtls_default_mtu() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:164,1
    - Dst: Policy::dtls_initial_timeout
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: Botan::TLS::Text_Policy::dtls_initial_timeout
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::dtls_initial_timeout
    - Botan::TLS::Text_Policy::get_len
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::dtls_initial_timeout() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:168,1
    - Dst: Policy::dtls_maximum_timeout
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: Botan::TLS::Text_Policy::dtls_maximum_timeout
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::dtls_maximum_timeout
    - Botan::TLS::Text_Policy::get_len
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::dtls_maximum_timeout() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:172,1
    - Dst: Policy::require_cert_revocation_info
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: Botan::TLS::Text_Policy::require_cert_revocation_info
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::require_cert_revocation_info
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::require_cert_revocation_info() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:176,1
    - Dst: Policy::hide_unknown_users
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: Botan::TLS::Text_Policy::hide_unknown_users
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::hide_unknown_users
    - Botan::TLS::Text_Policy::get_bool
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::hide_unknown_users() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:180,1
    - Dst: Policy::maximum_session_tickets_per_client_hello
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: Botan::TLS::Text_Policy::maximum_session_tickets_per_client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::maximum_session_tickets_per_client_hello
    - Botan::TLS::Text_Policy::get_len
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::maximum_session_tickets_per_client_hello() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_duration
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:184,1
    - Dst: Policy::session_ticket_lifetime
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: Botan::TLS::Text_Policy::session_ticket_lifetime
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::session_ticket_lifetime
    - Botan::TLS::Text_Policy::get_duration
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds Text_Policy::session_ticket_lifetime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:188,1
    - Dst: Policy::reuse_session_tickets
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: Botan::TLS::Text_Policy::reuse_session_tickets
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::reuse_session_tickets
    - Botan::TLS::Text_Policy::get_bool
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::reuse_session_tickets() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:192,1
    - Dst: Policy::new_session_tickets_upon_handshake_success
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: Botan::TLS::Text_Policy::new_session_tickets_upon_handshake_success
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::new_session_tickets_upon_handshake_success
    - Botan::TLS::Text_Policy::get_len
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::new_session_tickets_upon_handshake_success() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_list
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:197,1
    - Dst: std::vector<std::string>
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:197,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:198,1
    - Dst: to_uint16
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: Botan::TLS::Text_Policy::srtp_profiles
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_list
    - to_uint16
    - std::vector::push_back
    - std::vector<std::string>
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> Text_Policy::srtp_profiles() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:204,1
    - Dst: Policy::tls_13_middlebox_compatibility_mode
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: Botan::TLS::Text_Policy::tls_13_middlebox_compatibility_mode
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::tls_13_middlebox_compatibility_mode
    - Botan::TLS::Text_Policy::get_bool
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::tls_13_middlebox_compatibility_mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_bool
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:208,1
    - Dst: Policy::hash_hello_random
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: Botan::TLS::Text_Policy::hash_hello_random
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::get_bool
    - Policy::hash_hello_random
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::hash_hello_random() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: Botan::TLS::Text_Policy::set
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Text_Policy::set(const std::string& key, const std::string& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:216,1
    - Dst: read_cfg
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: Botan::TLS::Text_Policy::Text_Policy
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - read_cfg
    linkageType: ''
    returnType: void
    signature: void Text_Policy::Text_Policy(std::string_view s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_cfg
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::istream
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: Botan::TLS::Text_Policy::Text_Policy
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - read_cfg
    linkageType: ''
    returnType: void
    signature: void Text_Policy::Text_Policy(std::istream& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_str
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:223,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:225,1
    - Dst: split_on
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - ' def'
    argTypes:
    - std::string
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 230
    functionName: Botan::TLS::Text_Policy::get_list
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 6
    functionsReached:
    - split_on
    - std::string::empty
    - Botan::TLS::Text_Policy::get_str
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Text_Policy::get_list(const std::string& key,
      const std::vector<std::string>& def) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: split_on
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:234,1
    - Dst: Botan::TLS::Group_Params::from_string
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:235,1
    - Dst: Group_Params::is_available
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:237,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:245,1
    - Dst: static_cast<Group_Params>
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:255,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:262,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - group_str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 267
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 267
    functionName: Botan::TLS::Text_Policy::read_group_list
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 2
    functionsReached:
    - split_on
    - static_cast<Group_Params>
    - size
    - Group_Params::is_available
    - std::vector::push_back
    - Botan::TLS::Group_Params::from_string
    linkageType: ''
    returnType: std::vector<Group_Params>
    signature: std::vector<Group_Params> Text_Policy::read_group_list(std::string_view
      group_str) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: split_on
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:271,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:272,1
    - Dst: certificate_type_from_string
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' cert_type_names'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: Botan::TLS::Text_Policy::read_cert_type_list
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 2
    functionsReached:
    - certificate_type_from_string
    - split_on
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Certificate_Type>
    signature: std::vector<Certificate_Type> Text_Policy::read_cert_type_list(const
      std::string& cert_type_names) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_str
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:279,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:281,1
    - Dst: to_u32bit
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - def
    argTypes:
    - std::string
    - size_t
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: Botan::TLS::Text_Policy::get_len
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 11
    functionsReached:
    - to_u32bit
    - std::string::empty
    - Botan::TLS::Text_Policy::get_str
    linkageType: ''
    returnType: size_t
    signature: size_t Text_Policy::get_len(const std::string& key, size_t def) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:290,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:291,1
    - Dst: std::max
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:298,1
    - Dst: std::chrono::seconds::count
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:298,1
    - Dst: rep_t
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:298,1
    - Dst: static_cast<rep_t>
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:302,1
    - Dst: std::min<ull>
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:302,1
    - Dst: Botan::TLS::Text_Policy::get_len
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:302,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - def
    argTypes:
    - std::string
    - std::chrono::seconds
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: Botan::TLS::Text_Policy::get_duration
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 1
    functionsReached:
    - std::max
    - std::chrono::seconds::count
    - static_cast<rep_t>
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - rep_t
    - Botan_CLI::Timer::seconds
    - Botan::TLS::Text_Policy::get_len
    - std::min<ull>
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds Text_Policy::get_duration(const std::string& key,
      std::chrono::seconds def) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Text_Policy::get_str
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:308,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:310,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:319,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ' key'
    - def
    argTypes:
    - std::string
    - bool
    constantsTouched: []
    func_position:
      end: 321
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 321
    functionName: Botan::TLS::Text_Policy::get_bool
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 18
    functionsReached:
    - Decoding_Error
    - std::string::empty
    - Botan::TLS::Text_Policy::get_str
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::get_bool(const std::string& key, bool def) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:324,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - ' def'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: Botan::TLS::Text_Policy::get_str
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 7
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string Text_Policy::get_str(const std::string& key, const std::string&
      def) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:333,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:335,1
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:339,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls_text_policy.cpp:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' key'
    - val
    - overwrite
    argTypes:
    - std::string
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: Botan::TLS::Text_Policy::set_value
    functionSourceFile: /src/botan/src/lib/tls/tls_text_policy.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - end
    - insert
    - find
    linkageType: ''
    returnType: bool
    signature: bool Text_Policy::set_value(const std::string& key, std::string_view
      val, bool overwrite)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: Botan::Credentials_Manager::psk_identity_hint
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Credentials_Manager::psk_identity_hint(const std::string&
      /*unused*/, const std::string& /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: Botan::Credentials_Manager::psk_identity
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string Credentials_Manager::psk_identity(const std::string& /*unused*/,\n
      \                                             const std::string& /*unused*/,\n
      \                                             const std::string& /*unused*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:34,1
    - Dst: fmt
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:34,1
    - Dst: Botan::Credentials_Manager::session_ticket_key
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:44,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:44,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:45,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:45,1
    - Dst: Botan::Credentials_Manager::dtls_cookie_secret
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:48,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:48,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:49,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:49,1
    - Dst: Botan::Credentials_Manager::find_preshared_keys
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:54,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:54,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:55,1
    - Dst: auto::front
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:55,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:59,1
    - Dst: fmt
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:59,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - ' type'
    - ' context'
    - ' identity'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 60
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 60
    functionName: Botan::Credentials_Manager::psk
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - Botan::Credentials_Manager::dtls_cookie_secret
    - fmt
    - Botan::Credentials_Manager::find_preshared_keys
    - Botan::Credentials_Manager::session_ticket_key
    - std::move
    - auto::size
    - auto::empty
    - SymmetricKey
    - Internal_Error
    linkageType: ''
    returnType: SymmetricKey
    signature: "SymmetricKey Credentials_Manager::psk(const std::string& type,\n                                      const
      std::string& context,\n                                      const std::string&
      identity)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: Botan::Credentials_Manager::find_preshared_keys
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: std::vector<TLS::ExternalPSK>
    signature: "std::vector<TLS::ExternalPSK> Credentials_Manager::find_preshared_keys(std::string_view
      /* host */,\n                                                                       TLS::Connection_Side
      /* whoami */,\n                                                                       const
      std::vector<std::string>& /* identities */,\n                                                                       const
      std::optional<std::string>& /* prf */)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Credentials_Manager::find_preshared_keys
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:73,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:74,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:77,1
    - Dst: auto::front
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - host
    - whoami
    - ' identities'
    - ' prf'
    argTypes:
    - std::string_view
    - TLS::Connection_Side
    - std::vector<std::string>
    - std::optional<std::string>
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: Botan::Credentials_Manager::choose_preshared_key
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 0
    functionsReached:
    - Botan::Credentials_Manager::find_preshared_keys
    - auto::empty
    - std::move
    - auto::front
    linkageType: ''
    returnType: std::optional<TLS::ExternalPSK>
    signature: "std::optional<TLS::ExternalPSK> Credentials_Manager::choose_preshared_key(std::string_view
      host,\n                                                                          TLS::Connection_Side
      whoami,\n                                                                          const
      std::vector<std::string>& identities,\n                                                                          const
      std::optional<std::string>& prf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Credentials_Manager::cert_chain
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' key_types'
    - ' cert_signature_schemes'
    - ' type'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - std::vector<AlgorithmIdentifier>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: Botan::Credentials_Manager::find_cert_chain
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 0
    functionsReached:
    - Botan::Credentials_Manager::cert_chain
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> Credentials_Manager::find_cert_chain(\n
      \  const std::vector<std::string>& key_types,\n   const std::vector<AlgorithmIdentifier>&
      cert_signature_schemes,\n   const std::vector<X509_DN>& /*unused*/,\n   const
      std::string& type,\n   const std::string& context)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: Botan::Credentials_Manager::find_raw_public_key
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Public_Key>
    signature: "std::shared_ptr<Public_Key> Credentials_Manager::find_raw_public_key(const
      std::vector<std::string>& /* key_types */,\n                                                                     const
      std::string& /* type */,\n                                                                     const
      std::string& /* context */)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<X509_Certificate>
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: Botan::Credentials_Manager::cert_chain
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 1
    functionsReached:
    - std::vector<X509_Certificate>
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> Credentials_Manager::cert_chain(const
      std::vector<std::string>& /*unused*/,\n                                                              const
      std::vector<AlgorithmIdentifier>& /*unused*/,\n                                                              const
      std::string& /*unused*/,\n                                                              const
      std::string& /*unused*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Credentials_Manager::find_cert_chain
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:108,1
    - Dst: std::vector<X509_DN>
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' cert_key_type'
    - ' cert_signature_schemes'
    - ' type'
    - ' context'
    argTypes:
    - std::string
    - std::vector<AlgorithmIdentifier>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: Botan::Credentials_Manager::cert_chain_single_type
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 0
    functionsReached:
    - Botan::Credentials_Manager::find_cert_chain
    - std::vector<X509_DN>
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> Credentials_Manager::cert_chain_single_type(\n
      \  const std::string& cert_key_type,\n   const std::vector<AlgorithmIdentifier>&
      cert_signature_schemes,\n   const std::string& type,\n   const std::string&
      context)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: Botan::Credentials_Manager::private_key_for
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Private_Key>
    signature: "std::shared_ptr<Private_Key> Credentials_Manager::private_key_for(const
      X509_Certificate& /*unused*/,\n                                                                  const
      std::string& /*unused*/,\n                                                                  const
      std::string& /*unused*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: Botan::Credentials_Manager::private_key_for
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Private_Key>
    signature: "std::shared_ptr<Private_Key> Credentials_Manager::private_key_for(const
      Public_Key& /* raw_public_key */,\n                                                                  const
      std::string& /* type */,\n                                                                  const
      std::string& /* context */)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: Botan::Credentials_Manager::session_ticket_key
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Credentials_Manager::session_ticket_key()
  - 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: Botan::Credentials_Manager::dtls_cookie_secret
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Credentials_Manager::dtls_cookie_secret()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Certificate_Store*>
      Src: /src/botan/src/lib/tls/credentials_manager.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: Botan::Credentials_Manager::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/lib/tls/credentials_manager.cpp
    functionUses: 0
    functionsReached:
    - std::vector<Certificate_Store*>
    linkageType: ''
    returnType: std::vector<Certificate_Store*>
    signature: "std::vector<Certificate_Store*> Credentials_Manager::trusted_certificate_authorities(const
      std::string& /*unused*/,\n                                                                                     const
      std::string& /*unused*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls_session.cpp:29,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:33,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_session.cpp:33,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:34,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_session.cpp:34,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:37,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_session.cpp:37,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:38,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_session.cpp:38,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/tls/tls_session.cpp:38,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:44,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_session.cpp:44,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:45,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_session.cpp:45,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/tls/tls_session.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: Botan::TLS::Session_Handle::validate_constraints
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - std::visit
    - size
    - empty
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void Session_Handle::validate_constraints() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Opaque_Session_Handle
      Src: /src/botan/src/lib/tls/tls_session.cpp:54,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls_session.cpp:54,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls_session.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: Botan::TLS::Session_Handle::opaque_handle
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - get
    - std::visit
    - Opaque_Session_Handle
    linkageType: ''
    returnType: Opaque_Session_Handle
    signature: Opaque_Session_Handle Session_Handle::opaque_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_id
      Src: /src/botan/src/lib/tls/tls_session.cpp:58,1
    - Dst: std::get<Session_ID>
      Src: /src/botan/src/lib/tls/tls_session.cpp:59,1
    - Dst: is_opaque_handle
      Src: /src/botan/src/lib/tls/tls_session.cpp:63,1
    - Dst: std::get<Opaque_Session_Handle>
      Src: /src/botan/src/lib/tls/tls_session.cpp:64,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_session.cpp:65,1
    - Dst: Session_ID
      Src: /src/botan/src/lib/tls/tls_session.cpp:66,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls_session.cpp:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: Botan::TLS::Session_Handle::id
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - Session_ID
    - std::get<Session_ID>
    - is_id
    - is_opaque_handle
    - size
    - get
    - std::get<Opaque_Session_Handle>
    linkageType: ''
    returnType: std::optional<Session_ID>
    signature: std::optional<Session_ID> Session_Handle::id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_ticket
      Src: /src/botan/src/lib/tls/tls_session.cpp:74,1
    - Dst: std::get<Session_Ticket>
      Src: /src/botan/src/lib/tls/tls_session.cpp:75,1
    - Dst: is_opaque_handle
      Src: /src/botan/src/lib/tls/tls_session.cpp:79,1
    - Dst: Session_Ticket
      Src: /src/botan/src/lib/tls/tls_session.cpp:80,1
    - Dst: std::get<Opaque_Session_Handle>
      Src: /src/botan/src/lib/tls/tls_session.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: Botan::TLS::Session_Handle::ticket
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - is_ticket
    - Session_Ticket
    - is_opaque_handle
    - std::get<Session_Ticket>
    - std::get<Opaque_Session_Handle>
    linkageType: ''
    returnType: std::optional<Session_Ticket>
    signature: std::optional<Session_Ticket> Session_Handle::ticket() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/tls_session.cpp:87,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls_session.cpp:88,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_session.cpp:89,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:89,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls_session.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: Botan::TLS::Session_Base::ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Ciphersuite::by_id
    - auto::value
    - auto::has_value
    - std::to_string
    - Decoding_Error
    linkageType: ''
    returnType: Ciphersuite
    signature: Ciphersuite Session_Base::ciphersuite() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.cpp:97,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:98,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls_session.cpp:98,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls_session.cpp:100,1
    - Dst: auto::kex_algo
      Src: /src/botan/src/lib/tls/tls_session.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' base'
    - was_resumption
    - psk_identity
    argTypes:
    - Session_Base
    - bool
    - std::optional<std::string>
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: Botan::TLS::Session_Summary::Session_Summary
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - version
    - auto::kex_algo
    - std::move
    - BOTAN_ARG_CHECK
    - ciphersuite
    linkageType: ''
    returnType: void
    signature: "void Session_Summary::Session_Summary(const Session_Base& base,\n
      \                                bool was_resumption,\n                                 std::optional<std::string>
      psk_identity)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<Named_Group>::is_dh_named_group
      Src: /src/botan/src/lib/tls/tls_session.cpp:110,1
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:111,1
    - Dst: std::optional<Named_Group>::is_ecdh_named_curve
      Src: /src/botan/src/lib/tls/tls_session.cpp:112,1
    - Dst: std::optional<Named_Group>::is_x25519
      Src: /src/botan/src/lib/tls/tls_session.cpp:112,1
    - Dst: std::optional<Named_Group>::is_x448
      Src: /src/botan/src/lib/tls/tls_session.cpp:112,1
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:113,1
    - Dst: std::optional<Named_Group>::is_pure_ml_kem
      Src: /src/botan/src/lib/tls/tls_session.cpp:114,1
    - Dst: std::optional<Named_Group>::is_pure_frodokem
      Src: /src/botan/src/lib/tls/tls_session.cpp:114,1
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:115,1
    - Dst: std::optional<Named_Group>::is_pqc_hybrid
      Src: /src/botan/src/lib/tls/tls_session.cpp:116,1
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:117,1
    - Dst: std::optional<Named_Group>::to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:118,1
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:122,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_session.cpp:124,1
    - Dst: std::optional<Named_Group>::has_value
      Src: /src/botan/src/lib/tls/tls_session.cpp:124,1
    - Dst: std::optional<Named_Group>::is_dh_named_group
      Src: /src/botan/src/lib/tls/tls_session.cpp:125,1
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:126,1
    - Dst: std::optional<Named_Group>::is_ecdh_named_curve
      Src: /src/botan/src/lib/tls/tls_session.cpp:127,1
    - Dst: std::optional<Named_Group>::is_x25519
      Src: /src/botan/src/lib/tls/tls_session.cpp:127,1
    - Dst: std::optional<Named_Group>::is_x448
      Src: /src/botan/src/lib/tls/tls_session.cpp:127,1
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:128,1
    - Dst: std::optional<Named_Group>::is_pure_ml_kem
      Src: /src/botan/src/lib/tls/tls_session.cpp:129,1
    - Dst: std::optional<Named_Group>::is_pure_frodokem
      Src: /src/botan/src/lib/tls/tls_session.cpp:129,1
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:130,1
    - Dst: std::optional<Named_Group>::is_pqc_hybrid
      Src: /src/botan/src/lib/tls/tls_session.cpp:131,1
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:132,1
    - Dst: std::optional<Named_Group>::to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:133,1
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:138,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 2
    argNames:
    - psk
    - group
    argTypes:
    - bool
    - std::optional<Named_Group>
    constantsTouched: []
    func_position:
      end: 139
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 139
    functionName: Botan::TLS::tls13_kex_to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - std::optional<Named_Group>::is_dh_named_group
    - std::optional<Named_Group>::is_ecdh_named_curve
    - BOTAN_ASSERT_NOMSG
    - std::optional<Named_Group>::is_x448
    - Botan::TLS::kex_method_to_string
    - std::optional<Named_Group>::to_string
    - std::optional<Named_Group>::has_value
    - std::optional<Named_Group>::is_pqc_hybrid
    - std::optional<Named_Group>::is_x25519
    - std::optional<Named_Group>::is_pure_frodokem
    - std::optional<Named_Group>::is_pure_ml_kem
    linkageType: ''
    returnType: std::string
    signature: std::string tls13_kex_to_string(bool psk, std::optional<Named_Group>
      group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: selected_version
      Src: /src/botan/src/lib/tls/tls_session.cpp:152,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls_session.cpp:153,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.cpp:168,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.cpp:169,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.cpp:170,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.cpp:171,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:173,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls_session.cpp:173,1
    - Dst: set_session_id
      Src: /src/botan/src/lib/tls/tls_session.cpp:174,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/tls_session.cpp:174,1
    - Dst: psk_used
      Src: /src/botan/src/lib/tls/tls_session.cpp:180,1
    - Dst: was_resumption
      Src: /src/botan/src/lib/tls/tls_session.cpp:180,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls_session.cpp:181,1
    - Dst: auto::selected_group
      Src: /src/botan/src/lib/tls/tls_session.cpp:182,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls_session.cpp:187,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls_session.cpp:188,1
    - Dst: auto::selected_group
      Src: /src/botan/src/lib/tls/tls_session.cpp:189,1
    - Dst: std::optional::has_value
      Src: /src/botan/src/lib/tls/tls_session.cpp:193,1
    - Dst: std::optional::to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:194,1
    - Dst: tls13_kex_to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:197,1
    - Dst: psk_used
      Src: /src/botan/src/lib/tls/tls_session.cpp:197,1
    - Dst: was_resumption
      Src: /src/botan/src/lib/tls/tls_session.cpp:197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 8
    argNames:
    - ' server_hello'
    - side
    - peer_certs
    - peer_raw_public_key
    - psk_identity
    - session_was_resumed
    - server_info
    - current_timestamp
    argTypes:
    - Server_Hello_13
    - Connection_Side
    - std::vector<X509_Certificate>
    - std::shared_ptr<const Public_Key>
    - std::optional<std::string>
    - bool
    - Server_Information
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 198
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 198
    functionName: Botan::TLS::Session_Summary::Session_Summary
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - psk_used
    - auto::selected_group
    - version
    - std::optional::has_value
    - was_resumption
    - set_session_id
    - tls13_kex_to_string
    - selected_version
    - std::move
    - session_id
    - extensions
    - BOTAN_ARG_CHECK
    - BOTAN_ASSERT_NONNULL
    - ciphersuite
    - std::optional::to_string
    linkageType: ''
    returnType: void
    signature: "void Session_Summary::Session_Summary(const Server_Hello_13& server_hello,\n
      \                                Connection_Side side,\n                                 std::vector<X509_Certificate>
      peer_certs,\n                                 std::shared_ptr<const Public_Key>
      peer_raw_public_key,\n                                 std::optional<std::string>
      psk_identity,\n                                 bool session_was_resumed,\n
      \                                Server_Information server_info,\n                                 std::chrono::system_clock::time_point
      current_timestamp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:228,1
    - Dst: Protocol_Version::is_pre_tls_13
      Src: /src/botan/src/lib/tls/tls_session.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - ' master_secret'
    - version
    - ciphersuite
    - side
    - extended_master_secret
    - encrypt_then_mac
    - ' certs'
    - ' server_info'
    - srtp_profile
    - current_timestamp
    - lifetime_hint
    argTypes:
    - secure_vector<uint8_t>
    - Protocol_Version
    - uint16_t
    - Connection_Side
    - bool
    - bool
    - std::vector<X509_Certificate>
    - Server_Information
    - uint16_t
    - std::chrono::system_clock::time_point
    - std::chrono::seconds
    constantsTouched: []
    func_position:
      end: 229
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 229
    functionName: Botan::TLS::Session::Session
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - Protocol_Version::is_pre_tls_13
    linkageType: ''
    returnType: void
    signature: "void Session::Session(const secure_vector<uint8_t>& master_secret,\n
      \                Protocol_Version version,\n                 uint16_t ciphersuite,\n
      \                Connection_Side side,\n                 bool extended_master_secret,\n
      \                bool encrypt_then_mac,\n                 const std::vector<X509_Certificate>&
      certs,\n                 const Server_Information& server_info,\n                 uint16_t
      srtp_profile,\n                 std::chrono::system_clock::time_point current_timestamp,\n
      \                std::chrono::seconds lifetime_hint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.cpp:262,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls_session.cpp:265,1
    - Dst: value_or
      Src: /src/botan/src/lib/tls/tls_session.cpp:266,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:269,1
    - Dst: Protocol_Version::is_pre_tls_13
      Src: /src/botan/src/lib/tls/tls_session.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - ' session_psk'
    - ' max_early_data_bytes'
    - ticket_age_add
    - lifetime_hint
    - version
    - ciphersuite
    - side
    - ' peer_certs'
    - peer_raw_public_key
    - ' server_info'
    - current_timestamp
    argTypes:
    - secure_vector<uint8_t>
    - std::optional<uint32_t>
    - uint32_t
    - std::chrono::seconds
    - Protocol_Version
    - uint16_t
    - Connection_Side
    - std::vector<X509_Certificate>
    - std::shared_ptr<const Public_Key>
    - Server_Information
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 270
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 270
    functionName: Botan::TLS::Session::Session
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - Protocol_Version::is_pre_tls_13
    - std::move
    - has_value
    - value_or
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void Session::Session(const secure_vector<uint8_t>& session_psk,\n
      \                const std::optional<uint32_t>& max_early_data_bytes,\n                 uint32_t
      ticket_age_add,\n                 std::chrono::seconds lifetime_hint,\n                 Protocol_Version
      version,\n                 uint16_t ciphersuite,\n                 Connection_Side
      side,\n                 const std::vector<X509_Certificate>& peer_certs,\n                 std::shared_ptr<const
      Public_Key> peer_raw_public_key,\n                 const Server_Information&
      server_info,\n                 std::chrono::system_clock::time_point current_timestamp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tls_current_timestamp
      Src: /src/botan/src/lib/tls/tls_session.cpp:281,1
    - Dst: selected_version
      Src: /src/botan/src/lib/tls/tls_session.cpp:282,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls_session.cpp:283,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.cpp:289,1
    - Dst: Server_Information
      Src: /src/botan/src/lib/tls/tls_session.cpp:290,1
    - Dst: sni_hostname
      Src: /src/botan/src/lib/tls/tls_session.cpp:290,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.cpp:291,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls_session.cpp:292,1
    - Dst: value_or
      Src: /src/botan/src/lib/tls/tls_session.cpp:293,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:294,1
    - Dst: random_vec
      Src: /src/botan/src/lib/tls/tls_session.cpp:294,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:296,1
    - Dst: is_pre_tls_13
      Src: /src/botan/src/lib/tls/tls_session.cpp:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 9
    argNames:
    - ' session_psk'
    - ' max_early_data_bytes'
    - lifetime_hint
    - ' peer_certs'
    - peer_raw_public_key
    - ' client_hello'
    - ' server_hello'
    - ' callbacks'
    - ' rng'
    argTypes:
    - secure_vector<uint8_t>
    - std::optional<uint32_t>
    - std::chrono::seconds
    - std::vector<X509_Certificate>
    - std::shared_ptr<const Public_Key>
    - Client_Hello_13
    - Server_Hello_13
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 298
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 298
    functionName: Botan::TLS::Session::Session
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - is_pre_tls_13
    - random_vec
    - BOTAN_ARG_CHECK
    - load_be<uint32_t>
    - selected_version
    - std::move
    - Server_Information
    - value_or
    - sni_hostname
    - tls_current_timestamp
    - has_value
    - ciphersuite
    linkageType: ''
    returnType: void
    signature: "void Session::Session(secure_vector<uint8_t>&& session_psk,\n                 const
      std::optional<uint32_t>& max_early_data_bytes,\n                 std::chrono::seconds
      lifetime_hint,\n                 const std::vector<X509_Certificate>& peer_certs,\n
      \                std::shared_ptr<const Public_Key> peer_raw_public_key,\n                 const
      Client_Hello_13& client_hello,\n                 const Server_Hello_13& server_hello,\n
      \                Callbacks& callbacks,\n                 RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::decode_check_label
      Src: /src/botan/src/lib/tls/tls_session.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pem
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: Botan::TLS::Session::Session
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - Botan::PEM_Code::decode_check_label
    linkageType: ''
    returnType: void
    signature: void Session::Session(std::string_view pem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/tls/tls_session.cpp:320,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/tls/tls_session.cpp:320,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls_session.cpp:320,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:322,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/tls_session.cpp:345,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_session.cpp:346,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls_session.cpp:349,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls_session.cpp:353,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/botan/src/lib/tls/tls_session.cpp:354,1
    - Dst: static_cast<Connection_Side>
      Src: /src/botan/src/lib/tls/tls_session.cpp:355,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:356,1
    - Dst: Server_Information
      Src: /src/botan/src/lib/tls/tls_session.cpp:359,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/tls/tls_session.cpp:359,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/tls/tls_session.cpp:359,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:359,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls_session.cpp:361,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/lib/tls/tls_session.cpp:362,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/lib/tls/tls_session.cpp:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ber_data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 366
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 366
    functionName: Botan::TLS::Session::Session
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - Botan::TLS::Ciphersuite::by_id
    - BER_Decoder
    - std::vector::empty
    - Botan_CLI::Timer::seconds
    - std::to_string
    - Botan::X509::load_key
    - static_cast<Connection_Side>
    - static_cast<size_t>
    - ASN1_String::value
    - Decoding_Error
    - std::span<const uint8_t>::size
    - Protocol_Version
    - Server_Information
    - std::chrono::system_clock::from_time_t
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void Session::Session(std::span<const uint8_t> ber_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subject_public_key
      Src: /src/botan/src/lib/tls/tls_session.cpp:370,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/tls/tls_session.cpp:372,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:374,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:375,1
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/botan/src/lib/tls/tls_session.cpp:375,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:376,1
    - Dst: major_version
      Src: /src/botan/src/lib/tls/tls_session.cpp:376,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:377,1
    - Dst: minor_version
      Src: /src/botan/src/lib/tls/tls_session.cpp:377,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:378,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:379,1
    - Dst: ASN1_String
      Src: /src/botan/src/lib/tls/tls_session.cpp:387,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls_session.cpp:387,1
    - Dst: ASN1_String
      Src: /src/botan/src/lib/tls/tls_session.cpp:388,1
    - Dst: service
      Src: /src/botan/src/lib/tls/tls_session.cpp:388,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:389,1
    - Dst: port
      Src: /src/botan/src/lib/tls/tls_session.cpp:389,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:390,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:394,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:395,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:396,1
    - Dst: count
      Src: /src/botan/src/lib/tls/tls_session.cpp:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 399
    functionName: Botan::TLS::Session::DER_encode
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 1
    functionsReached:
    - DER_Encoder
    - std::chrono::system_clock::to_time_t
    - major_version
    - subject_public_key
    - static_cast<size_t>
    - service
    - minor_version
    - hostname
    - port
    - count
    - ASN1_String
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Session::DER_encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/tls/tls_session.cpp:402,1
    - Dst: Botan::TLS::Session::DER_encode
      Src: /src/botan/src/lib/tls/tls_session.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: Botan::TLS::Session::PEM_encode
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 1
    functionsReached:
    - Botan::PEM_Code::encode
    - Botan::TLS::Session::DER_encode
    linkageType: ''
    returnType: std::string
    signature: std::string Session::PEM_encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls_session.cpp:406,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_session.cpp:406,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/tls/tls_session.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: Botan::TLS::Session::extract_master_secret
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 0
    functionsReached:
    - empty
    - BOTAN_STATE_CHECK
    - std::exchange
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Session::extract_master_secret()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/tls/tls_session.cpp:432,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/tls/tls_session.cpp:433,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/tls/tls_session.cpp:436,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/tls_session.cpp:437,1
    - Dst: auto::final
      Src: /src/botan/src/lib/tls/tls_session.cpp:438,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls_session.cpp:438,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/tls/tls_session.cpp:439,1
    - Dst: random_vec
      Src: /src/botan/src/lib/tls/tls_session.cpp:444,1
    - Dst: random_vec
      Src: /src/botan/src/lib/tls/tls_session.cpp:445,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/tls_session.cpp:447,1
    - Dst: auto::final
      Src: /src/botan/src/lib/tls/tls_session.cpp:448,1
    - Dst: Botan::TLS::Session::DER_encode
      Src: /src/botan/src/lib/tls/tls_session.cpp:450,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls_session.cpp:454,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/tls/tls_session.cpp:454,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/tls/tls_session.cpp:455,1
    - Dst: store_be
      Src: /src/botan/src/lib/tls/tls_session.cpp:456,1
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/lib/tls/tls_session.cpp:461,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_session.cpp:462,1
    - Dst: auto::valid_nonce_length
      Src: /src/botan/src/lib/tls/tls_session.cpp:462,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_session.cpp:463,1
    - Dst: auto::tag_size
      Src: /src/botan/src/lib/tls/tls_session.cpp:463,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/tls/tls_session.cpp:464,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/lib/tls/tls_session.cpp:465,1
    - Dst: auto::start
      Src: /src/botan/src/lib/tls/tls_session.cpp:466,1
    - Dst: auto::finish
      Src: /src/botan/src/lib/tls/tls_session.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - ' key'
    - ' rng'
    argTypes:
    - SymmetricKey
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 472
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 472
    functionName: Botan::TLS::Session::encrypt
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 1
    functionsReached:
    - auto::start
    - auto::valid_nonce_length
    - auto::tag_size
    - store_be
    - BOTAN_ASSERT_NOMSG
    - secure_vector::size
    - Botan::TLS::Session::DER_encode
    - auto::update
    - auto::set_associated_data
    - std::vector::reserve
    - std::vector::data
    - std::vector::resize
    - random_vec
    - Botan::AEAD_Mode::create_or_throw
    - auto::final
    - auto::finish
    - auto::set_key
    - auto::output_length
    - Botan::MessageAuthenticationCode::create_or_throw
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Session::encrypt(const SymmetricKey& key, RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls_session.cpp:477,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_session.cpp:478,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/tls/tls_session.cpp:482,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/tls/tls_session.cpp:483,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/tls/tls_session.cpp:484,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/tls/tls_session.cpp:485,1
    - Dst: BufferSlicer::copy_as_secure_vector
      Src: /src/botan/src/lib/tls/tls_session.cpp:486,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/tls/tls_session.cpp:486,1
    - Dst: load_be<uint64_t>
      Src: /src/botan/src/lib/tls/tls_session.cpp:488,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_session.cpp:489,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/tls/tls_session.cpp:492,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/tls/tls_session.cpp:493,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/tls/tls_session.cpp:496,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/tls_session.cpp:497,1
    - Dst: auto::final
      Src: /src/botan/src/lib/tls/tls_session.cpp:498,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls_session.cpp:498,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/tls/tls_session.cpp:500,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls_session.cpp:500,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_session.cpp:501,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/tls_session.cpp:504,1
    - Dst: auto::final
      Src: /src/botan/src/lib/tls/tls_session.cpp:505,1
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/lib/tls/tls_session.cpp:507,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/tls/tls_session.cpp:508,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/lib/tls/tls_session.cpp:509,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/tls/tls_session.cpp:509,1
    - Dst: auto::start
      Src: /src/botan/src/lib/tls/tls_session.cpp:510,1
    - Dst: auto::finish
      Src: /src/botan/src/lib/tls/tls_session.cpp:511,1
    - Dst: Botan::TLS::Session::Session
      Src: /src/botan/src/lib/tls/tls_session.cpp:512,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_session.cpp:514,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls_session.cpp:514,1
    - Dst: what
      Src: /src/botan/src/lib/tls/tls_session.cpp:514,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - in
    - ' key'
    argTypes:
    - std::span<const uint8_t>
    - SymmetricKey
    constantsTouched: []
    func_position:
      end: 516
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 516
    functionName: Botan::TLS::Session::decrypt
    functionSourceFile: /src/botan/src/lib/tls/tls_session.cpp
    functionUses: 1
    functionsReached:
    - auto::start
    - Botan::CT::is_equal
    - Decoding_Error
    - what
    - auto::update
    - auto::set_associated_data
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - std::vector::data
    - BufferSlicer::take
    - std::string
    - Botan::TLS::Session::Session
    - load_be<uint64_t>
    - Botan::AEAD_Mode::create_or_throw
    - BufferSlicer::remaining
    - auto::final
    - auto::finish
    - auto::set_key
    - auto::output_length
    - Botan::MessageAuthenticationCode::create_or_throw
    - BufferSlicer::copy_as_secure_vector
    linkageType: ''
    returnType: Session
    signature: Session Session::decrypt(std::span<const uint8_t> in, const SymmetricKey&
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:33,1
    - Dst: choose_sig_format
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:35,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:38,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:38,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:40,1
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ' io'
    - ' state'
    - ' policy'
    - ' rng'
    - priv_key
    argTypes:
    - Handshake_IO
    - Handshake_State
    - Policy
    - RandomNumberGenerator
    - Private_Key*
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: Botan::TLS::Certificate_Verify_12::Certificate_Verify_12
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_verify.cpp
    functionUses: 0
    functionsReached:
    - hash
    - choose_sig_format
    - callbacks
    - send
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void Certificate_Verify_12::Certificate_Verify_12(Handshake_IO& io,\n
      \                                            Handshake_State& state,\n                                             const
      Policy& policy,\n                                             RandomNumberGenerator&
      rng,\n                                             const Private_Key* priv_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Signature_Scheme
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:49,1
    - Dst: TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:49,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:50,1
    - Dst: TLS_Data_Reader::assert_done
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:51,1
    - Dst: is_set
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:53,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: Botan::TLS::Certificate_Verify::Certificate_Verify
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_verify.cpp
    functionUses: 0
    functionsReached:
    - TLS_Data_Reader::assert_done
    - TLS_Data_Reader::get_uint16_t
    - Signature_Scheme
    - TLS_Data_Reader::get_range
    - Decoding_Error
    - is_set
    linkageType: ''
    returnType: void
    signature: void Certificate_Verify::Certificate_Verify(const std::vector<uint8_t>&
      buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:62,1
    - Dst: is_set
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:62,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:64,1
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:64,1
    - Dst: wire_code
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:66,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:67,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:67,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:68,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:68,1
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:70,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:71,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:75,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:75,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:76,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 80
    functionName: Botan::TLS::Certificate_Verify::serialize
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_verify.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - wire_code
    - get_byte<0>
    - Encoding_Error
    - size
    - get_byte<1>
    - std::vector::push_back
    - std::vector::reserve
    - is_set
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_Verify::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subject_public_key
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:85,1
    - Dst: check_peer_key_acceptable
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:87,1
    - Dst: parse_sig_format
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:90,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:90,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' cert'
    - ' state'
    - ' policy'
    argTypes:
    - X509_Certificate
    - Handshake_State
    - Policy
    constantsTouched: []
    func_position:
      end: 103
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 103
    functionName: Botan::TLS::Certificate_Verify_12::verify
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_verify.cpp
    functionUses: 0
    functionsReached:
    - check_peer_key_acceptable
    - subject_public_key
    - BOTAN_UNUSED
    - client_hello
    - parse_sig_format
    linkageType: ''
    returnType: bool
    signature: "bool Certificate_Verify_12::verify(const X509_Certificate& cert,\n
      \                                  const Handshake_State& state,\n                                   const
      Policy& policy) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:111,1
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:111,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:116,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:116,1
    - Dst: std::string::cbegin
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:116,1
    - Dst: std::string::cend
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:116,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:117,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:119,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:119,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:119,1
    - Dst: cend
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - side
    - ' hash'
    argTypes:
    - Connection_Side
    - Transcript_Hash
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: Botan::TLS::message
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_verify.cpp
    functionUses: 0
    functionsReached:
    - size
    - cbegin
    - std::vector::push_back
    - std::vector::reserve
    - std::vector::insert
    - std::vector::end
    - std::string::cbegin
    - cend
    - std::string::cend
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> message(Connection_Side side, const Transcript_Hash&
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_available
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:127,1
    - Dst: is_suitable_for
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:127,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:127,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - ' key'
    - ' allowed_schemes'
    - ' peer_allowed_schemes'
    argTypes:
    - Private_Key
    - std::vector<Signature_Scheme>
    - std::vector<Signature_Scheme>
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: Botan::TLS::choose_signature_scheme
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_verify.cpp
    functionUses: 0
    functionsReached:
    - value_exists
    - TLS_Exception
    - is_available
    - is_suitable_for
    linkageType: ''
    returnType: Signature_Scheme
    signature: "Signature_Scheme choose_signature_scheme(const Private_Key& key,\n
      \                                        const std::vector<Signature_Scheme>&
      allowed_schemes,\n                                         const std::vector<Signature_Scheme>&
      peer_allowed_schemes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:150,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:150,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:153,1
    - Dst: has_certificate_chain
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:155,1
    - Dst: private_key_for
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:156,1
    - Dst: leaf
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:156,1
    - Dst: private_key_for
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:157,1
    - Dst: public_key
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:157,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:159,1
    - Dst: choose_signature_scheme
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:162,1
    - Dst: allowed_signature_schemes
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:162,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:163,1
    - Dst: is_available
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:163,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:164,1
    - Dst: is_compatible_with
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:164,1
    - Dst: tls_sign_message
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:166,1
    - Dst: padding_string
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:167,1
    - Dst: format
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:167,1
    - Dst: message
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 9
    argNames:
    - ' certificate_msg'
    - ' peer_allowed_schemes'
    - hostname
    - ' hash'
    - whoami
    - ' creds_mgr'
    - ' policy'
    - ' callbacks'
    - ' rng'
    argTypes:
    - Certificate_13
    - std::vector<Signature_Scheme>
    - std::string_view
    - Transcript_Hash
    - Connection_Side
    - Credentials_Manager
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 168
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 168
    functionName: Botan::TLS::Certificate_Verify_13::Certificate_Verify_13
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_verify.cpp
    functionUses: 0
    functionsReached:
    - tls_sign_message
    - private_key_for
    - allowed_signature_schemes
    - format
    - BOTAN_ASSERT_NOMSG
    - has_certificate_chain
    - std::string
    - is_compatible_with
    - empty
    - leaf
    - TLS_Exception
    - padding_string
    - is_available
    - public_key
    - message
    - choose_signature_scheme
    linkageType: ''
    returnType: void
    signature: "void Certificate_Verify_13::Certificate_Verify_13(const Certificate_13&
      certificate_msg,\n                                             const std::vector<Signature_Scheme>&
      peer_allowed_schemes,\n                                             std::string_view
      hostname,\n                                             const Transcript_Hash&
      hash,\n                                             Connection_Side whoami,\n
      \                                            Credentials_Manager& creds_mgr,\n
      \                                            const Policy& policy,\n                                             Callbacks&
      callbacks,\n                                             RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_available
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:172,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:173,1
    - Dst: is_compatible_with
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:176,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ' buf'
    - side
    argTypes:
    - std::vector<uint8_t>
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: Botan::TLS::Certificate_Verify_13::Certificate_Verify_13
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_verify.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - is_available
    - is_compatible_with
    linkageType: ''
    returnType: void
    signature: void Certificate_Verify_13::Certificate_Verify_13(const std::vector<uint8_t>&
      buf, const Connection_Side side)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:187,1
    - Dst: is_available
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:187,1
    - Dst: key_algorithm_identifier
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:192,1
    - Dst: algorithm_identifier
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:192,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:193,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/msg_cert_verify.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' public_key'
    - ' callbacks'
    - ' transcript_hash'
    argTypes:
    - Public_Key
    - Callbacks
    - Transcript_Hash
    constantsTouched: []
    func_position:
      end: 205
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 205
    functionName: Botan::TLS::Certificate_Verify_13::verify
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_verify.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - key_algorithm_identifier
    - algorithm_identifier
    - TLS_Exception
    - BOTAN_UNUSED
    - is_available
    linkageType: ''
    returnType: bool
    signature: "bool Certificate_Verify_13::verify(const Public_Key& public_key,\n
      \                                  Callbacks& callbacks,\n                                   const
      Transcript_Hash& transcript_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - type
    - buf_in
    argTypes:
    - char*
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: Botan::TLS::TLS_Data_Reader::TLS_Data_Reader
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS_Data_Reader(const char* type, std::span<const uint8_t> buf_in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::has_remaining
      Src: /src/botan/src/lib/tls/tls_reader.h:30,1
    - Dst: Botan::TLS::TLS_Data_Reader::throw_decode_error
      Src: /src/botan/src/lib/tls/tls_reader.h:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: Botan::TLS::TLS_Data_Reader::assert_done
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::has_remaining
    - Botan::TLS::TLS_Data_Reader::throw_decode_error
    linkageType: ''
    returnType: void
    signature: void assert_done() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::TLS::TLS_Data_Reader::read_so_far
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t read_so_far() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_reader.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::TLS::TLS_Data_Reader::remaining_bytes
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t remaining_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::remaining_bytes
      Src: /src/botan/src/lib/tls/tls_reader.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::TLS::TLS_Data_Reader::has_remaining
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 2
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::remaining_bytes
    linkageType: ''
    returnType: bool
    signature: bool has_remaining() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls_reader.h:41,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls_reader.h:41,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_reader.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan::TLS::TLS_Data_Reader::get_remaining
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - end
    - begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> get_remaining()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls_reader.h:44,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls_reader.h:44,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls_reader.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::TLS::TLS_Data_Reader::get_data_read_so_far
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> get_data_read_so_far()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::assert_at_least
      Src: /src/botan/src/lib/tls/tls_reader.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Botan::TLS::TLS_Data_Reader::discard_next
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::assert_at_least
    linkageType: ''
    returnType: void
    signature: void discard_next(size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::assert_at_least
      Src: /src/botan/src/lib/tls/tls_reader.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: Botan::TLS::TLS_Data_Reader::get_uint32_t
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::assert_at_least
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_uint32_t()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::assert_at_least
      Src: /src/botan/src/lib/tls/tls_reader.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: Botan::TLS::TLS_Data_Reader::get_uint24_t
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::assert_at_least
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_uint24_t()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::assert_at_least
      Src: /src/botan/src/lib/tls/tls_reader.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: Botan::TLS::TLS_Data_Reader::get_uint16_t
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::assert_at_least
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t get_uint16_t()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::assert_at_least
      Src: /src/botan/src/lib/tls/tls_reader.h:74,1
    - Dst: make_uint16
      Src: /src/botan/src/lib/tls/tls_reader.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: Botan::TLS::TLS_Data_Reader::peek_uint16_t
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - make_uint16
    - Botan::TLS::TLS_Data_Reader::assert_at_least
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t peek_uint16_t() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::assert_at_least
      Src: /src/botan/src/lib/tls/tls_reader.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: Botan::TLS::TLS_Data_Reader::get_byte
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::assert_at_least
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t get_byte()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::assert_at_least
      Src: /src/botan/src/lib/tls/tls_reader.h:87,1
    - Dst: load_be<T>
      Src: /src/botan/src/lib/tls/tls_reader.h:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - num_elems
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: Botan::TLS::TLS_Data_Reader::get_elem
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - load_be<T>
    - Botan::TLS::TLS_Data_Reader::assert_at_least
    linkageType: ''
    returnType: Container
    signature: Container get_elem(size_t num_elems)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::get_fixed
      Src: /src/botan/src/lib/tls/tls_reader.h:101,1
    - Dst: Botan::TLS::TLS_Data_Reader::get_length_field
      Src: /src/botan/src/lib/tls/tls_reader.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len_bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: Botan::TLS::TLS_Data_Reader::get_tls_length_value
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::get_fixed
    - Botan::TLS::TLS_Data_Reader::get_length_field
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> get_tls_length_value(size_t len_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::get_elem
      Src: /src/botan/src/lib/tls/tls_reader.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - len_bytes
    - min_elems
    - max_elems
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: Botan::TLS::TLS_Data_Reader::get_range
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::get_elem
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> get_range(size_t len_bytes, size_t min_elems, size_t
      max_elems)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::get_elem
      Src: /src/botan/src/lib/tls/tls_reader.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - len_bytes
    - min_elems
    - max_elems
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: Botan::TLS::TLS_Data_Reader::get_range_vector
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::get_elem
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> get_range_vector(size_t len_bytes, size_t min_elems,
      size_t max_elems)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::get_range_vector
      Src: /src/botan/src/lib/tls/tls_reader.h:119,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls_reader.h:121,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/tls/tls_reader.h:121,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls_reader.h:121,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_reader.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - len_bytes
    - min_bytes
    - max_bytes
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: Botan::TLS::TLS_Data_Reader::get_string
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::string
    - Botan::TLS::TLS_Data_Reader::get_range_vector
    - cast_uint8_ptr_to_char
    - std::vector::data
    linkageType: ''
    returnType: std::string
    signature: std::string get_string(size_t len_bytes, size_t min_bytes, size_t max_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::get_elem
      Src: /src/botan/src/lib/tls/tls_reader.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: Botan::TLS::TLS_Data_Reader::get_fixed
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::get_elem
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> get_fixed(size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::assert_at_least
      Src: /src/botan/src/lib/tls/tls_reader.h:131,1
    - Dst: Botan::TLS::TLS_Data_Reader::get_byte
      Src: /src/botan/src/lib/tls/tls_reader.h:134,1
    - Dst: Botan::TLS::TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/tls_reader.h:136,1
    - Dst: Botan::TLS::TLS_Data_Reader::get_uint24_t
      Src: /src/botan/src/lib/tls/tls_reader.h:138,1
    - Dst: Botan::TLS::TLS_Data_Reader::throw_decode_error
      Src: /src/botan/src/lib/tls/tls_reader.h:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - len_bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: Botan::TLS::TLS_Data_Reader::get_length_field
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::get_uint24_t
    - Botan::TLS::TLS_Data_Reader::throw_decode_error
    - Botan::TLS::TLS_Data_Reader::get_byte
    - Botan::TLS::TLS_Data_Reader::assert_at_least
    - Botan::TLS::TLS_Data_Reader::get_uint16_t
    linkageType: ''
    returnType: size_t
    signature: size_t get_length_field(size_t len_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_Data_Reader::throw_decode_error
      Src: /src/botan/src/lib/tls/tls_reader.h:148,1
    - Dst: Botan::TLS::TLS_Data_Reader::throw_decode_error
      Src: /src/botan/src/lib/tls/tls_reader.h:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - len_bytes
    - T_size
    - min_elems
    - max_elems
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: Botan::TLS::TLS_Data_Reader::get_num_elems
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_Data_Reader::throw_decode_error
    linkageType: ''
    returnType: size_t
    signature: size_t get_num_elems(size_t len_bytes, size_t T_size, size_t min_elems,
      size_t max_elems)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_reader.h:161,1
    - Dst: Botan::TLS::TLS_Data_Reader::throw_decode_error
      Src: /src/botan/src/lib/tls/tls_reader.h:162,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls_reader.h:162,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls_reader.h:163,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_reader.h:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: Botan::TLS::TLS_Data_Reader::assert_at_least
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 8
    functionsReached:
    - std::to_string
    - size
    - Botan::TLS::TLS_Data_Reader::throw_decode_error
    linkageType: ''
    returnType: void
    signature: void assert_at_least(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_reader.h:168,1
    - Dst: fmt
      Src: /src/botan/src/lib/tls/tls_reader.h:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - why
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: Botan::TLS::TLS_Data_Reader::throw_decode_error
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 4
    functionsReached:
    - fmt
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void throw_decode_error(std::string_view why) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls_reader.h:185,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls_reader.h:190,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_reader.h:194,1
    - Dst: get_byte_var
      Src: /src/botan/src/lib/tls/tls_reader.h:194,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_reader.h:199,1
    - Dst: get_byte_var
      Src: /src/botan/src/lib/tls/tls_reader.h:199,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 4
    argNames:
    - ' buf'
    - vals
    - vals_size
    - tag_size
    argTypes:
    - std::vector<uint8_t, Alloc>
    - T*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 202
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 202
    functionName: Botan::TLS::append_tls_length_value
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 1
    functionsReached:
    - get_byte_var
    - Invalid_Argument
    - push_back
    linkageType: ''
    returnType: void
    signature: void append_tls_length_value(std::vector<uint8_t, Alloc>& buf, const
      T* vals, size_t vals_size, size_t tag_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::append_tls_length_value
      Src: /src/botan/src/lib/tls/tls_reader.h:206,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls_reader.h:206,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_reader.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' buf'
    - ' vals'
    - tag_size
    argTypes:
    - std::vector<uint8_t, Alloc>
    - std::vector<T, Alloc2>
    - size_t
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: Botan::TLS::append_tls_length_value
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 2
    functionsReached:
    - data
    - Botan::TLS::append_tls_length_value
    - size
    linkageType: ''
    returnType: void
    signature: void append_tls_length_value(std::vector<uint8_t, Alloc>& buf, const
      std::vector<T, Alloc2>& vals, size_t tag_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::append_tls_length_value
      Src: /src/botan/src/lib/tls/tls_reader.h:211,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/tls/tls_reader.h:211,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/tls/tls_reader.h:211,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/tls/tls_reader.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' buf'
    - str
    - tag_size
    argTypes:
    - std::vector<uint8_t, Alloc>
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: Botan::TLS::append_tls_length_value
    functionSourceFile: /src/botan/src/lib/tls/tls_reader.h
    functionUses: 3
    functionsReached:
    - std::string_view::data
    - std::string_view::size
    - Botan::TLS::append_tls_length_value
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: void
    signature: void append_tls_length_value(std::vector<uint8_t, Alloc>& buf, std::string_view
      str, size_t tag_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:23,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 38
    functionName: Botan::TLS::Ciphersuite::nonce_bytes_from_handshake
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - cipher_algo
    - Invalid_State
    linkageType: ''
    returnType: size_t
    signature: size_t Ciphersuite::nonce_bytes_from_handshake() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:41,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:44,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - version
    argTypes:
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: Botan::TLS::Ciphersuite::nonce_bytes_from_record
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - cipher_algo
    - BOTAN_UNUSED
    - Invalid_State
    linkageType: ''
    returnType: size_t
    signature: size_t Ciphersuite::nonce_bytes_from_record(Protocol_Version version)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - suite
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: Botan::TLS::Ciphersuite::is_scsv
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Ciphersuite::is_scsv(uint16_t suite)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:62,1
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::TLS::Ciphersuite::psk_ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - kex_method
    linkageType: ''
    returnType: bool
    signature: bool Ciphersuite::psk_ciphersuite() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:66,1
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:66,1
    - Dst: auth_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan::TLS::Ciphersuite::ecc_ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - auth_method
    - kex_method
    linkageType: ''
    returnType: bool
    signature: bool Ciphersuite::ecc_ciphersuite() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphersuite_code
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:79,1
    - Dst: Protocol_Version::is_pre_tls_13
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: Botan::TLS::Ciphersuite::usable_in_version
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - ciphersuite_code
    - Protocol_Version::is_pre_tls_13
    linkageType: ''
    returnType: bool
    signature: bool Ciphersuite::usable_in_version(Protocol_Version version) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:84,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: Botan::TLS::Ciphersuite::cbc_ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - mac_algo
    - cipher_algo
    linkageType: ''
    returnType: bool
    signature: bool Ciphersuite::cbc_ciphersuite() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: Botan::TLS::Ciphersuite::null_ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - cipher_algo
    linkageType: ''
    returnType: bool
    signature: bool Ciphersuite::null_ciphersuite() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: Botan::TLS::Ciphersuite::aead_ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - mac_algo
    linkageType: ''
    returnType: bool
    signature: bool Ciphersuite::aead_ciphersuite() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: auth_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: Botan::TLS::Ciphersuite::signature_used
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - auth_method
    linkageType: ''
    returnType: bool
    signature: bool Ciphersuite::signature_used() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: all_known_ciphersuites
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:100,1
    - Dst: std::lower_bound
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:101,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:101,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:101,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:103,1
    - Dst: auto::ciphersuite_code
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - suite
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: Botan::TLS::Ciphersuite::by_id
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 8
    functionsReached:
    - all_known_ciphersuites
    - begin
    - end
    - std::lower_bound
    - auto::ciphersuite_code
    linkageType: ''
    returnType: std::optional<Ciphersuite>
    signature: std::optional<Ciphersuite> Ciphersuite::by_id(uint16_t suite)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: all_known_ciphersuites
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:111,1
    - Dst: to_string
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: Botan::TLS::Ciphersuite::from_name
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 6
    functionsReached:
    - all_known_ciphersuites
    - to_string
    linkageType: ''
    returnType: std::optional<Ciphersuite>
    signature: std::optional<Ciphersuite> Ciphersuite::from_name(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::providers
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prf
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::TLS::have_hash
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::providers
    linkageType: ''
    returnType: bool
    signature: bool have_hash(std::string_view prf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BlockCipher::providers
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:129,1
    - Dst: Botan::StreamCipher::providers
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Botan::TLS::have_cipher
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - Botan::StreamCipher::providers
    - Botan::BlockCipher::providers
    linkageType: ''
    returnType: bool
    signature: bool have_cipher(std::string_view cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:135,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:136,1
    - Dst: have_hash
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:140,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:140,1
    - Dst: Botan::TLS::Ciphersuite::cbc_ciphersuite
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:145,1
    - Dst: Botan::TLS::Ciphersuite::null_ciphersuite
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:151,1
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:156,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:157,1
    - Dst: split_on
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:162,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:162,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:163,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:163,1
    - Dst: have_cipher
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:164,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:189,1
    - Dst: have_cipher
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:193,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:193,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:193,1
    - Dst: have_hash
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:196,1
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:196,1
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:201,1
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:201,1
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:205,1
    - Dst: auth_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:211,1
    - Dst: auth_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.cpp:215,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 222
    functionName: Botan::TLS::Ciphersuite::is_usable
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.cpp
    functionUses: 0
    functionsReached:
    - have_cipher
    - kex_method
    - prf_algo
    - split_on
    - cipher_algo
    - mac_algo
    - Botan::TLS::Ciphersuite::cbc_ciphersuite
    - auth_method
    - BOTAN_UNUSED
    - BOTAN_ASSERT
    - auto::size
    - Botan::TLS::Ciphersuite::null_ciphersuite
    - have_hash
    linkageType: ''
    returnType: bool
    signature: bool Ciphersuite::is_usable() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Protocol_Version::to_string
      Src: /src/botan/src/lib/tls/tls_version.cpp:25,1
    - Dst: Botan::TLS::Protocol_Version::to_string
      Src: /src/botan/src/lib/tls/tls_version.cpp:29,1
    - Dst: Botan::TLS::Protocol_Version::to_string
      Src: /src/botan/src/lib/tls/tls_version.cpp:33,1
    - Dst: Botan::TLS::Protocol_Version::to_string
      Src: /src/botan/src/lib/tls/tls_version.cpp:33,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 34
    functionName: Botan::TLS::Protocol_Version::to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_version.cpp
    functionUses: 3
    functionsReached:
    - Botan::TLS::Protocol_Version::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string Protocol_Version::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: major_version
      Src: /src/botan/src/lib/tls/tls_version.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::TLS::Protocol_Version::is_datagram_protocol
    functionSourceFile: /src/botan/src/lib/tls/tls_version.cpp
    functionUses: 0
    functionsReached:
    - major_version
    linkageType: ''
    returnType: bool
    signature: bool Protocol_Version::is_datagram_protocol() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls_version.cpp:41,1
    - Dst: Botan::TLS::Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls_version.cpp:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: Botan::TLS::Protocol_Version::is_pre_tls_13
    functionSourceFile: /src/botan/src/lib/tls/tls_version.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Protocol_Version::is_datagram_protocol
    linkageType: ''
    returnType: bool
    signature: bool Protocol_Version::is_pre_tls_13() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls_version.cpp:46,1
    - Dst: Botan::TLS::Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls_version.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: Botan::TLS::Protocol_Version::is_tls_13_or_later
    functionSourceFile: /src/botan/src/lib/tls/tls_version.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Protocol_Version::is_datagram_protocol
    linkageType: ''
    returnType: bool
    signature: bool Protocol_Version::is_tls_13_or_later() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls_version.cpp:51,1
    - Dst: is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls_version.cpp:51,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_version.cpp:52,1
    - Dst: to_string
      Src: /src/botan/src/lib/tls/tls_version.cpp:52,1
    - Dst: to_string
      Src: /src/botan/src/lib/tls/tls_version.cpp:52,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls_version.cpp:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: Protocol_Version::operator>(const Protocol_Version& other) const
    functionSourceFile: /src/botan/src/lib/tls/tls_version.cpp
    functionUses: 0
    functionsReached:
    - to_string
    - TLS_Exception
    - is_datagram_protocol
    - Protocol_Version::is_datagram_protocol
    linkageType: ''
    returnType: bool
    signature: bool Protocol_Version::operator>(const Protocol_Version& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 82
    functionName: Botan::TLS::Protocol_Version::valid
    functionSourceFile: /src/botan/src/lib/tls/tls_version.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Protocol_Version::valid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_version.cpp:85,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_version.cpp:87,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_version.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: Botan::TLS::Protocol_Version::known_version
    functionSourceFile: /src/botan/src/lib/tls/tls_version.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: bool
    signature: bool Protocol_Version::known_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 564
    functionName: ~Policy()
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Policy()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 677
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 677
    functionName: Botan::allow_insecure_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allow_insecure_renegotiation() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 679
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 679
    functionName: Botan::allow_server_initiated_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allow_server_initiated_renegotiation() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 681
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 681
    functionName: Botan::server_uses_own_ciphersuite_preferences
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool server_uses_own_ciphersuite_preferences() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 683
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 683
    functionName: Botan::negotiate_encrypt_then_mac
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool negotiate_encrypt_then_mac() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 685
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 685
    functionName: Botan::minimum_rsa_bits
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_rsa_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 687
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 687
    functionName: Botan::minimum_dh_group_size
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_dh_group_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 689
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 689
    functionName: Botan::minimum_ecdh_group_size
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_ecdh_group_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 691
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 691
    functionName: Botan::minimum_ecdsa_group_size
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_ecdsa_group_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 693
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 693
    functionName: Botan::allow_tls12
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allow_tls12() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 695
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 695
    functionName: Botan::allow_tls13
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allow_tls13() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 697
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 697
    functionName: Botan::allow_dtls12
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allow_dtls12() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' creds'
    - ' rng'
    argTypes:
    - std::shared_ptr<Credentials_Manager>
    - std::shared_ptr<RandomNumberGenerator>
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: Botan::TLS::Session_Manager_Stateless::Session_Manager_Stateless
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void Session_Manager_Stateless::Session_Manager_Stateless(const std::shared_ptr<Credentials_Manager>&
      creds,\n                                                     const std::shared_ptr<RandomNumberGenerator>&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:28,1
    - Dst: side
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:28,1
    - Dst: Botan::TLS::Session_Manager_Stateless::get_ticket_key
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:33,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:34,1
    - Dst: encrypt
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:38,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' session'
    - tls12_no_ticket
    argTypes:
    - Session
    - bool
    constantsTouched: []
    func_position:
      end: 39
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 39
    functionName: Botan::TLS::Session_Manager_Stateless::establish
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp
    functionUses: 2
    functionsReached:
    - side
    - auto::value
    - auto::has_value
    - Botan::TLS::Session_Manager_Stateless::get_ticket_key
    - BOTAN_ASSERT
    - encrypt
    linkageType: ''
    returnType: std::optional<Session_Handle>
    signature: "std::optional<Session_Handle> Session_Manager_Stateless::establish(const
      Session& session,\n                                                                   const
      std::optional<Session_ID>&,\n                                                                   bool
      tls12_no_ticket)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::TLS::Session_Manager_Stateless::store
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp
    functionUses: 1
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Session_Manager_Stateless::store(const Session&, const Session_Handle&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ticket
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:46,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:47,1
    - Dst: Botan::TLS::Session_Manager_Stateless::get_ticket_key
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:51,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:52,1
    - Dst: Botan::TLS::Session::decrypt
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:57,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:57,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' handle'
    argTypes:
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 64
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 64
    functionName: Botan::TLS::Session_Manager_Stateless::retrieve_one
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Session::decrypt
    - auto::value
    - ticket
    - auto::has_value
    - Botan::TLS::Session_Manager_Stateless::get_ticket_key
    linkageType: ''
    returnType: std::optional<Session>
    signature: std::optional<Session> Session_Manager_Stateless::retrieve_one(const
      Session_Handle& handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Session_Manager_Stateless::get_ticket_key
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: Botan::TLS::Session_Manager_Stateless::emits_session_tickets
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Session_Manager_Stateless::get_ticket_key
    linkageType: ''
    returnType: bool
    signature: bool Session_Manager_Stateless::emits_session_tickets()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psk
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:72,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: Botan::TLS::Session_Manager_Stateless::get_ticket_key
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_stateless.cpp
    functionUses: 3
    functionsReached:
    - psk
    - auto::empty
    linkageType: ''
    returnType: std::optional<SymmetricKey>
    signature: std::optional<SymmetricKey> Session_Manager_Stateless::get_ticket_key()
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan::TLS::tls_session_activated
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_session_activated()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: Botan::TLS::tls_peer_closed_connection
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tls_peer_closed_connection()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/lib/tls/tls_callbacks.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: Botan::TLS::tls_verify_cert_chain_ocsp_timeout
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.h
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::milliseconds
    linkageType: ''
    returnType: std::chrono::milliseconds
    signature: std::chrono::milliseconds tls_verify_cert_chain_ocsp_timeout() const
  - 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: TLS::Callbacks::tls_inspect_handshake_msg(const Handshake_Message&
      /*unused*/)
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLS::Callbacks::tls_inspect_handshake_msg(const Handshake_Message&
      /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: TLS::Callbacks::tls_server_choose_app_protocol(const std::vector<std::string>&
      /*unused*/)
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string TLS::Callbacks::tls_server_choose_app_protocol(const std::vector<std::string>&
      /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: TLS::Callbacks::tls_peer_network_identity()
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string TLS::Callbacks::tls_peer_network_identity()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: TLS::Callbacks::tls_current_timestamp()
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point TLS::Callbacks::tls_current_timestamp()
  - 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: "TLS::Callbacks::tls_modify_extensions(Extensions& /*unused*/,\n
      \                                          Connection_Side /*unused*/,\n                                           Handshake_Type
      /*unused*/)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TLS::Callbacks::tls_modify_extensions(Extensions& /*unused*/,\n
      \                                          Connection_Side /*unused*/,\n                                           Handshake_Type
      /*unused*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: "TLS::Callbacks::tls_examine_extensions(const Extensions& /*unused*/,\n
      \                                           Connection_Side /*unused*/,\n                                            Handshake_Type
      /*unused*/)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TLS::Callbacks::tls_examine_extensions(const Extensions& /*unused*/,\n
      \                                           Connection_Side /*unused*/,\n                                            Handshake_Type
      /*unused*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lifetime_hint
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:83,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Session
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: TLS::Callbacks::tls_should_persist_resumption_information(const
      Session& session)
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - lifetime_hint
    - version
    linkageType: ''
    returnType: bool
    signature: bool TLS::Callbacks::tls_should_persist_resumption_information(const
      Session& session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:92,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:93,1
    - Dst: require_cert_revocation_info
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:96,1
    - Dst: minimum_signature_strength
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:97,1
    - Dst: x509_path_validate
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:99,1
    - Dst: tls_current_timestamp
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:104,1
    - Dst: tls_verify_cert_chain_ocsp_timeout
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:105,1
    - Dst: Path_Validation_Result::successful_validation
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:108,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:109,1
    - Dst: Path_Validation_Result::result_string
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 6
    argNames:
    - ' cert_chain'
    - ' ocsp_responses'
    - ' trusted_roots'
    - usage
    - hostname
    - ' policy'
    argTypes:
    - std::vector<X509_Certificate>
    - std::vector<std::optional<OCSP::Response>>
    - std::vector<Certificate_Store*>
    - Usage_Type
    - std::string_view
    - TLS::Policy
    constantsTouched: []
    func_position:
      end: 111
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 111
    functionName: "TLS::Callbacks::tls_verify_cert_chain(const std::vector<X509_Certificate>&
      cert_chain,\n                                           const std::vector<std::optional<OCSP::Response>>&
      ocsp_responses,\n                                           const std::vector<Certificate_Store*>&
      trusted_roots,\n                                           Usage_Type usage,\n
      \                                          std::string_view hostname,\n                                           const
      TLS::Policy& policy)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - tls_verify_cert_chain_ocsp_timeout
    - minimum_signature_strength
    - x509_path_validate
    - Path_Validation_Result::result_string
    - tls_current_timestamp
    - empty
    - require_cert_revocation_info
    - TLS_Exception
    - Path_Validation_Result::successful_validation
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: "void TLS::Callbacks::tls_verify_cert_chain(const std::vector<X509_Certificate>&
      cert_chain,\n                                           const std::vector<std::optional<OCSP::Response>>&
      ocsp_responses,\n                                           const std::vector<Certificate_Store*>&
      trusted_roots,\n                                           Usage_Type usage,\n
      \                                          std::string_view hostname,\n                                           const
      TLS::Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:117,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - ' raw_public_key'
    - usage
    - hostname
    - ' policy'
    argTypes:
    - Public_Key
    - Usage_Type
    - std::string_view
    - TLS::Policy
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: "TLS::Callbacks::tls_verify_raw_public_key(const Public_Key& raw_public_key,\n
      \                                              Usage_Type usage,\n                                               std::string_view
      hostname,\n                                               const TLS::Policy&
      policy)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: "void TLS::Callbacks::tls_verify_raw_public_key(const Public_Key& raw_public_key,\n
      \                                              Usage_Type usage,\n                                               std::string_view
      hostname,\n                                               const TLS::Policy&
      policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Test_No_Shutdown_Response::Test_No_Shutdown_Response
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' raw_response'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: TLS::Callbacks::tls_parse_ocsp_response(const std::vector<uint8_t>&
      raw_response)
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - Test_No_Shutdown_Response::Test_No_Shutdown_Response
    linkageType: ''
    returnType: std::optional<OCSP::Response>
    signature: std::optional<OCSP::Response> TLS::Callbacks::tls_parse_ocsp_response(const
      std::vector<uint8_t>& raw_response)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:134,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:135,1
    - Dst: tls_provide_cert_status
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' chain'
    - ' csr'
    argTypes:
    - std::vector<X509_Certificate>
    - Certificate_Status_Request
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: "TLS::Callbacks::tls_provide_cert_chain_status(\n   const std::vector<X509_Certificate>&
      chain, const Certificate_Status_Request& csr)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - empty
    - tls_provide_cert_status
    - size
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: "std::vector<std::vector<uint8_t>> TLS::Callbacks::tls_provide_cert_chain_status(\n
      \  const std::vector<X509_Certificate>& chain, const Certificate_Status_Request&
      csr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_Signer::sign_message
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' key'
    - ' rng'
    - padding
    - format
    - ' msg'
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - Signature_Format
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: "TLS::Callbacks::tls_sign_message(const Private_Key& key,\n                                                      RandomNumberGenerator&
      rng,\n                                                      std::string_view
      padding,\n                                                      Signature_Format
      format,\n                                                      const std::vector<uint8_t>&
      msg)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - PK_Signer::sign_message
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> TLS::Callbacks::tls_sign_message(const Private_Key&
      key,\n                                                      RandomNumberGenerator&
      rng,\n                                                      std::string_view
      padding,\n                                                      Signature_Format
      format,\n                                                      const std::vector<uint8_t>&
      msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_Verifier::verify_message
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' key'
    - padding
    - format
    - ' msg'
    - ' sig'
    argTypes:
    - Public_Key
    - std::string_view
    - Signature_Format
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: "TLS::Callbacks::tls_verify_message(const Public_Key& key,\n                                        std::string_view
      padding,\n                                        Signature_Format format,\n
      \                                       const std::vector<uint8_t>& msg,\n                                        const
      std::vector<uint8_t>& sig)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - PK_Verifier::verify_message
    linkageType: ''
    returnType: bool
    signature: "bool TLS::Callbacks::tls_verify_message(const Public_Key& key,\n                                        std::string_view
      padding,\n                                        Signature_Format format,\n
      \                                       const std::vector<uint8_t>& msg,\n                                        const
      std::vector<uint8_t>& sig)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<DL_Group>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:164,1
    - Dst: std::get<TLS::Group_Params>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - std::variant<TLS::Group_Params, DL_Group>
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: Botan::is_dh_group
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - std::holds_alternative<DL_Group>
    - std::get<TLS::Group_Params>
    linkageType: ''
    returnType: bool
    signature: bool is_dh_group(const std::variant<TLS::Group_Params, DL_Group>& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:168,1
    - Dst: Botan::is_dh_group
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:168,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:173,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:175,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - std::variant<TLS::Group_Params, DL_Group>
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: Botan::get_dl_group
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - std::visit
    - Botan::to_string
    - Botan::DL_Group::from_name
    - Botan::is_dh_group
    linkageType: ''
    returnType: DL_Group
    signature: DL_Group get_dl_group(const std::variant<TLS::Group_Params, DL_Group>&
      group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_dh_group
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:183,1
    - Dst: get_dl_group
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:186,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:188,1
    - Dst: auto::get_p
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:196,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:197,1
    - Dst: std::make_unique<DH_PublicKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:200,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:205,1
    - Dst: std::holds_alternative<TLS::Group_Params>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:205,1
    - Dst: std::get<TLS::Group_Params>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:206,1
    - Dst: auto::is_ecdh_named_curve
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:208,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:209,1
    - Dst: auto::to_string
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:209,1
    - Dst: std::make_unique<ECDH_PublicKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:210,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:210,1
    - Dst: auto::is_x25519
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:214,1
    - Dst: std::make_unique<X25519_PublicKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:215,1
    - Dst: auto::is_x448
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:220,1
    - Dst: std::make_unique<X448_PublicKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:221,1
    - Dst: auto::is_pqc_hybrid
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:226,1
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey::load_for_group
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:227,1
    - Dst: auto::is_pure_ml_kem
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:232,1
    - Dst: std::make_unique<ML_KEM_PublicKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:233,1
    - Dst: ML_KEM_Mode
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:233,1
    - Dst: auto::to_string
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:233,1
    - Dst: auto::is_pure_frodokem
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:238,1
    - Dst: std::make_unique<FrodoKEM_PublicKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:239,1
    - Dst: FrodoKEMMode
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:239,1
    - Dst: auto::to_string
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:239,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:243,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - ' group'
    - key_bits
    argTypes:
    - std::variant<TLS::Group_Params, DL_Group>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 244
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 244
    functionName: "TLS::Callbacks::tls_deserialize_peer_public_key(\n   const std::variant<TLS::Group_Params,
      DL_Group>& group, std::span<const uint8_t> key_bits)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - auto::get_p
    - auto::is_x25519
    - auto::is_pure_frodokem
    - Decoding_Error
    - FrodoKEMMode
    - std::make_unique<X25519_PublicKey>
    - BOTAN_ASSERT_NOMSG
    - std::make_unique<DH_PublicKey>
    - auto::to_string
    - EC_AffinePoint
    - std::holds_alternative<TLS::Group_Params>
    - auto::is_ecdh_named_curve
    - get_dl_group
    - Botan::TLS::Hybrid_KEM_PublicKey::load_for_group
    - std::make_unique<FrodoKEM_PublicKey>
    - Botan::BigInt::from_bytes
    - auto::is_x448
    - ML_KEM_Mode
    - std::make_unique<X448_PublicKey>
    - auto::is_pure_ml_kem
    - std::make_unique<ML_KEM_PublicKey>
    - std::get<TLS::Group_Params>
    - std::make_unique<ECDH_PublicKey>
    - auto::is_pqc_hybrid
    - Botan::EC_Group::from_name
    - is_dh_group
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: "std::unique_ptr<Public_Key> TLS::Callbacks::tls_deserialize_peer_public_key(\n
      \  const std::variant<TLS::Group_Params, DL_Group>& group, std::span<const uint8_t>
      key_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS::Group_Params::is_pure_ml_kem
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:248,1
    - Dst: std::make_unique<ML_KEM_PrivateKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:249,1
    - Dst: ML_KEM_Mode
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:249,1
    - Dst: TLS::Group_Params::to_string
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:249,1
    - Dst: TLS::Group_Params::is_pure_frodokem
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:254,1
    - Dst: std::make_unique<FrodoKEM_PrivateKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:255,1
    - Dst: FrodoKEMMode
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:255,1
    - Dst: TLS::Group_Params::to_string
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:255,1
    - Dst: TLS::Group_Params::is_pqc_hybrid
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:260,1
    - Dst: Botan::TLS::Hybrid_KEM_PrivateKey::generate_from_group
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:261,1
    - Dst: tls_generate_ephemeral_key
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - group
    - ' rng'
    argTypes:
    - TLS::Group_Params
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 266
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 266
    functionName: TLS::Callbacks::tls_kem_generate_key(TLS::Group_Params group, RandomNumberGenerator&
      rng)
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - TLS::Group_Params::is_pure_ml_kem
    - std::make_unique<FrodoKEM_PrivateKey>
    - TLS::Group_Params::is_pqc_hybrid
    - Botan::TLS::Hybrid_KEM_PrivateKey::generate_from_group
    - tls_generate_ephemeral_key
    - TLS::Group_Params::to_string
    - FrodoKEMMode
    - std::make_unique<ML_KEM_PrivateKey>
    - TLS::Group_Params::is_pure_frodokem
    - ML_KEM_Mode
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> TLS::Callbacks::tls_kem_generate_key(TLS::Group_Params
      group, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS::Group_Params::is_kem
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:272,1
    - Dst: tls_deserialize_peer_public_key
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:275,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:279,1
    - Dst: what
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:279,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:283,1
    - Dst: check_peer_key_acceptable
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:284,1
    - Dst: PK_KEM_Encryptor
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:287,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:289,1
    - Dst: what
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:289,1
    - Dst: tls_generate_ephemeral_key
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:295,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:296,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:297,1
    - Dst: tls_ephemeral_key_agreement
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - group
    - ' encoded_public_key'
    - ' rng'
    - ' policy'
    argTypes:
    - TLS::Group_Params
    - std::vector<uint8_t>
    - RandomNumberGenerator
    - Policy
    constantsTouched: []
    func_position:
      end: 300
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 300
    functionName: "TLS::Callbacks::tls_kem_encapsulate(TLS::Group_Params group,\n
      \                                                     const std::vector<uint8_t>&
      encoded_public_key,\n                                                      RandomNumberGenerator&
      rng,\n                                                      const Policy& policy)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - check_peer_key_acceptable
    - what
    - tls_generate_ephemeral_key
    - tls_ephemeral_key_agreement
    - TLS_Exception
    - TLS::Group_Params::is_kem
    - auto::public_value
    - tls_deserialize_peer_public_key
    - BOTAN_ASSERT_NONNULL
    - PK_KEM_Encryptor
    linkageType: ''
    returnType: KEM_Encapsulation
    signature: "KEM_Encapsulation TLS::Callbacks::tls_kem_encapsulate(TLS::Group_Params
      group,\n                                                      const std::vector<uint8_t>&
      encoded_public_key,\n                                                      RandomNumberGenerator&
      rng,\n                                                      const Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS::Group_Params::is_kem
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:307,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:309,1
    - Dst: PK_KEM_Decryptor::encapsulated_key_length
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:309,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:310,1
    - Dst: PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:312,1
    - Dst: dynamic_cast<const PK_Key_Agreement_Key&>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:316,1
    - Dst: tls_ephemeral_key_agreement
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:317,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:319,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - group
    - ' private_key'
    - ' encapsulated_bytes'
    - ' rng'
    - ' policy'
    argTypes:
    - TLS::Group_Params
    - Private_Key
    - std::vector<uint8_t>
    - RandomNumberGenerator
    - Policy
    constantsTouched: []
    func_position:
      end: 321
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 321
    functionName: "TLS::Callbacks::tls_kem_decapsulate(TLS::Group_Params group,\n
      \                                                          const Private_Key&
      private_key,\n                                                           const
      std::vector<uint8_t>& encapsulated_bytes,\n                                                           RandomNumberGenerator&
      rng,\n                                                           const Policy&
      policy)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - PK_KEM_Decryptor::encapsulated_key_length
    - dynamic_cast<const PK_Key_Agreement_Key&>
    - size
    - TLS_Exception
    - TLS::Group_Params::is_kem
    - Invalid_Argument
    - PK_KEM_Decryptor::decrypt
    - tls_ephemeral_key_agreement
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> TLS::Callbacks::tls_kem_decapsulate(TLS::Group_Params
      group,\n                                                           const Private_Key&
      private_key,\n                                                           const
      std::vector<uint8_t>& encapsulated_bytes,\n                                                           RandomNumberGenerator&
      rng,\n                                                           const Policy&
      policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_dh_group
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:325,1
    - Dst: get_dl_group
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:326,1
    - Dst: std::make_unique<DH_PrivateKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:327,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:330,1
    - Dst: std::holds_alternative<TLS::Group_Params>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:330,1
    - Dst: std::get<TLS::Group_Params>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:331,1
    - Dst: auto::is_ecdh_named_curve
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:333,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:334,1
    - Dst: auto::to_string
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:334,1
    - Dst: std::make_unique<ECDH_PrivateKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:335,1
    - Dst: auto::is_x25519
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:339,1
    - Dst: std::make_unique<X25519_PrivateKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:340,1
    - Dst: auto::is_x448
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:345,1
    - Dst: std::make_unique<X448_PrivateKey>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:346,1
    - Dst: auto::is_kem
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:350,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:351,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:354,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ' group'
    - ' rng'
    argTypes:
    - std::variant<TLS::Group_Params, DL_Group>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 355
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 355
    functionName: "TLS::Callbacks::tls_generate_ephemeral_key(\n   const std::variant<TLS::Group_Params,
      DL_Group>& group, RandomNumberGenerator& rng)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ECDH_PrivateKey>
    - std::holds_alternative<TLS::Group_Params>
    - auto::is_x25519
    - BOTAN_ASSERT_NOMSG
    - auto::is_ecdh_named_curve
    - get_dl_group
    - std::make_unique<X25519_PrivateKey>
    - std::make_unique<X448_PrivateKey>
    - std::make_unique<DH_PrivateKey>
    - auto::is_kem
    - std::get<TLS::Group_Params>
    - auto::to_string
    - TLS_Exception
    - Botan::EC_Group::from_name
    - auto::is_x448
    - is_dh_group
    linkageType: ''
    returnType: std::unique_ptr<PK_Key_Agreement_Key>
    signature: "std::unique_ptr<PK_Key_Agreement_Key> TLS::Callbacks::tls_generate_ephemeral_key(\n
      \  const std::variant<TLS::Group_Params, DL_Group>& group, RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tls_deserialize_peer_public_key
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:365,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:369,1
    - Dst: what
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:369,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:373,1
    - Dst: check_peer_key_acceptable
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:374,1
    - Dst: PK_Key_Agreement::derive_key
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:385,1
    - Dst: auto::raw_public_key_bits
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:385,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:387,1
    - Dst: what
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - ' group'
    - ' private_key'
    - ' public_value'
    - ' rng'
    - ' policy'
    argTypes:
    - std::variant<TLS::Group_Params, DL_Group>
    - PK_Key_Agreement_Key
    - std::vector<uint8_t>
    - RandomNumberGenerator
    - Policy
    constantsTouched: []
    func_position:
      end: 389
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 389
    functionName: "TLS::Callbacks::tls_ephemeral_key_agreement(\n   const std::variant<TLS::Group_Params,
      DL_Group>& group,\n   const PK_Key_Agreement_Key& private_key,\n   const std::vector<uint8_t>&
      public_value,\n   RandomNumberGenerator& rng,\n   const Policy& policy)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - check_peer_key_acceptable
    - what
    - auto::raw_public_key_bits
    - PK_Key_Agreement::derive_key
    - TLS_Exception
    - tls_deserialize_peer_public_key
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> TLS::Callbacks::tls_ephemeral_key_agreement(\n
      \  const std::variant<TLS::Group_Params, DL_Group>& group,\n   const PK_Key_Agreement_Key&
      private_key,\n   const std::vector<uint8_t>& public_value,\n   RandomNumberGenerator&
      rng,\n   const Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Session_Summary
    constantsTouched: []
    func_position:
      end: 393
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionName: TLS::Callbacks::tls_session_established(const Session_Summary& session)
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void TLS::Callbacks::tls_session_established(const Session_Summary&
      session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:397,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' chain'
    - ' csr'
    argTypes:
    - std::vector<X509_Certificate>
    - Certificate_Status_Request
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: "TLS::Callbacks::tls_provide_cert_status(const std::vector<X509_Certificate>&
      chain,\n                                                             const Certificate_Status_Request&
      csr)"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> TLS::Callbacks::tls_provide_cert_status(const
      std::vector<X509_Certificate>& chain,\n                                                             const
      Certificate_Status_Request& csr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: TLS::Callbacks::tls_log_error(const char* err)
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void TLS::Callbacks::tls_log_error(const char* err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - what
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 407
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 407
    functionName: TLS::Callbacks::tls_log_debug(const char* what)
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void TLS::Callbacks::tls_log_debug(const char* what)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - descr
    - val
    - val_len
    argTypes:
    - char*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: TLS::Callbacks::tls_log_debug_bin(const char* descr, const uint8_t
      val[], size_t val_len)
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void TLS::Callbacks::tls_log_debug_bin(const char* descr, const uint8_t
      val[], size_t val_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_callbacks.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - label
    - client_random
    - secret
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: "TLS::Callbacks::tls_ssl_key_log_data(std::string_view label,\n
      \                                         std::span<const uint8_t> client_random,\n
      \                                         std::span<const uint8_t> secret) const"
    functionSourceFile: /src/botan/src/lib/tls/tls_callbacks.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: "void TLS::Callbacks::tls_ssl_key_log_data(std::string_view label,\n
      \                                         std::span<const uint8_t> client_random,\n
      \                                         std::span<const uint8_t> secret) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::kex_method_to_string
      Src: /src/botan/src/lib/tls/tls_ciphersuite.h:94,1
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.h:94,1
    - Dst: Botan::TLS::auth_method_to_string
      Src: /src/botan/src/lib/tls/tls_ciphersuite.h:101,1
    - Dst: auth_method
      Src: /src/botan/src/lib/tls/tls_ciphersuite.h:101,1
    - Dst: Botan::TLS::kdf_algo_to_string
      Src: /src/botan/src/lib/tls/tls_ciphersuite.h:115,1
    - Dst: ciphersuite_code
      Src: /src/botan/src/lib/tls/tls_ciphersuite.h:137,1
    - Dst: ciphersuite_code
      Src: /src/botan/src/lib/tls/tls_ciphersuite.h:137,1
    - Dst: ciphersuite_code
      Src: /src/botan/src/lib/tls/tls_ciphersuite.h:139,1
    - Dst: is_usable
      Src: /src/botan/src/lib/tls/tls_ciphersuite.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 187
    functionName: Botan::TLS::final
    functionSourceFile: /src/botan/src/lib/tls/tls_ciphersuite.h
    functionUses: 0
    functionsReached:
    - ciphersuite_code
    - kex_method
    - Botan::TLS::kex_method_to_string
    - auth_method
    - is_usable
    - Botan::TLS::auth_method_to_string
    - Botan::TLS::kdf_algo_to_string
    linkageType: ''
    returnType: Ciphersuite
    signature: Ciphersuite final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::TLS::remove
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_stateless.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t remove(const Session_Handle&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::TLS::remove_all
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_stateless.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t remove_all() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Botan::TLS::find_some
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_stateless.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Session_with_Handle>
    signature: std::vector<Session_with_Handle> find_some(const Server_Information&,
      const size_t) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Server_Name_Indicator>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:38,1
    - Dst: std::make_unique<Supported_Groups>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:41,1
    - Dst: std::make_unique<Certificate_Status_Request>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:44,1
    - Dst: std::make_unique<Supported_Point_Formats>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:47,1
    - Dst: std::make_unique<Renegotiation_Extension>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:50,1
    - Dst: std::make_unique<Signature_Algorithms>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:53,1
    - Dst: std::make_unique<Signature_Algorithms_Cert>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:56,1
    - Dst: std::make_unique<SRTP_Protection_Profiles>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:59,1
    - Dst: std::make_unique<Application_Layer_Protocol_Notification>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:62,1
    - Dst: std::make_unique<Client_Certificate_Type>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:65,1
    - Dst: std::make_unique<Server_Certificate_Type>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:68,1
    - Dst: std::make_unique<Extended_Master_Secret>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:71,1
    - Dst: std::make_unique<Record_Size_Limit>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:74,1
    - Dst: std::make_unique<Encrypt_then_MAC>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:77,1
    - Dst: std::make_unique<Session_Ticket_Extension>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:80,1
    - Dst: std::make_unique<Supported_Versions>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:83,1
    - Dst: std::make_unique<PSK>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:87,1
    - Dst: std::make_unique<EarlyDataIndication>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:90,1
    - Dst: std::make_unique<Cookie>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:93,1
    - Dst: std::make_unique<PSK_Key_Exchange_Modes>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:96,1
    - Dst: std::make_unique<Certificate_Authorities>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:99,1
    - Dst: std::make_unique<Key_Share>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:102,1
    - Dst: std::make_unique<Unknown_Extension>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 4
    argNames:
    - ' reader'
    - code
    - from
    - message_type
    argTypes:
    - TLS_Data_Reader
    - Extension_Code
    - Connection_Side
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 107
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 107
    functionName: Botan::TLS::make_extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Supported_Point_Formats>
    - std::make_unique<Client_Certificate_Type>
    - std::make_unique<Supported_Versions>
    - std::make_unique<Record_Size_Limit>
    - std::make_unique<Signature_Algorithms>
    - std::make_unique<Renegotiation_Extension>
    - std::make_unique<PSK_Key_Exchange_Modes>
    - std::make_unique<Cookie>
    - std::make_unique<Unknown_Extension>
    - std::make_unique<Signature_Algorithms_Cert>
    - std::make_unique<Session_Ticket_Extension>
    - std::make_unique<Server_Name_Indicator>
    - std::make_unique<PSK>
    - std::make_unique<Application_Layer_Protocol_Notification>
    - std::make_unique<Encrypt_then_MAC>
    - std::make_unique<Key_Share>
    - std::make_unique<Certificate_Status_Request>
    - std::make_unique<Server_Certificate_Type>
    - std::make_unique<Certificate_Authorities>
    - std::make_unique<SRTP_Protection_Profiles>
    - std::make_unique<Extended_Master_Secret>
    - std::make_unique<Supported_Groups>
    - std::make_unique<EarlyDataIndication>
    linkageType: ''
    returnType: std::unique_ptr<Extension>
    signature: "std::unique_ptr<Extension> make_extension(TLS_Data_Reader& reader,\n
      \                                         Extension_Code code,\n                                          const
      Connection_Side from,\n                                          const Handshake_Type
      message_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:113,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:113,1
    - Dst: cend
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:113,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:113,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:115,1
    - Dst: auto::get
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - Extension_Code
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: Botan::TLS::Extensions::get
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - type
    - cbegin
    - end
    - std::find_if
    - auto::get
    - cend
    linkageType: ''
    returnType: Extension
    signature: Extension * Extensions::get(Extension_Code type) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:119,1
    - Dst: std::unique_ptr<Extension>::type
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:119,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:120,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:121,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:121,1
    - Dst: std::unique_ptr<Extension>::type
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:121,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:124,1
    - Dst: std::unique_ptr<Extension>::release
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - extn
    argTypes:
    - std::unique_ptr<Extension>
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: Botan::TLS::Extensions::add
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - std::unique_ptr<Extension>::type
    - std::to_string
    - emplace_back
    - std::unique_ptr<Extension>::release
    - Invalid_Argument
    - has
    linkageType: ''
    returnType: void
    signature: void Extensions::add(std::unique_ptr<Extension> extn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_remaining
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:128,1
    - Dst: remaining_bytes
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:131,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:132,1
    - Dst: has_remaining
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:135,1
    - Dst: static_cast<Extension_Code>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:139,1
    - Dst: Botan::TLS::Extensions::has
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:141,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:142,1
    - Dst: get_fixed
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:147,1
    - Dst: Botan::TLS::Extensions::add
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:149,1
    - Dst: make_extension
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:149,1
    - Dst: TLS_Data_Reader::assert_done
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - ' reader'
    - from
    - message_type
    argTypes:
    - TLS_Data_Reader
    - Connection_Side
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 153
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 153
    functionName: Botan::TLS::Extensions::deserialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - TLS_Data_Reader::assert_done
    - has_remaining
    - remaining_bytes
    - Botan::TLS::Extensions::add
    - get_fixed
    - make_extension
    - static_cast<Extension_Code>
    - Decoding_Error
    - TLS_Exception
    - Botan::TLS::Extensions::has
    linkageType: ''
    returnType: void
    signature: void Extensions::deserialize(TLS_Data_Reader& reader, const Connection_Side
      from, const Handshake_Type message_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Extensions::extension_types
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:157,1
    - Dst: std::set_difference
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:160,1
    - Dst: auto::cbegin
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:161,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:161,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:161,1
    - Dst: cend
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:161,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:161,1
    - Dst: std::find_if
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:166,1
    - Dst: std::vector::cbegin
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:166,1
    - Dst: std::vector::cend
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:166,1
    - Dst: Botan::TLS::Extensions::get
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:167,1
    - Dst: auto::is_implemented
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:168,1
    - Dst: std::vector::cend
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:172,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' allowed_extensions'
    - allow_unknown_extensions
    argTypes:
    - std::set<Extension_Code>
    - bool
    constantsTouched: []
    func_position:
      end: 176
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 176
    functionName: Botan::TLS::Extensions::contains_other_than
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Extensions::get
    - std::vector::empty
    - std::back_inserter
    - std::vector::cend
    - auto::is_implemented
    - cbegin
    - std::set_difference
    - Botan::TLS::Extensions::extension_types
    - std::vector::cbegin
    - std::find_if
    - auto::end
    - auto::cbegin
    - cend
    linkageType: ''
    returnType: bool
    signature: "bool Extensions::contains_other_than(const std::set<Extension_Code>&
      allowed_extensions,\n                                     const bool allow_unknown_extensions)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:180,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:180,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:180,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:180,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:183,1
    - Dst: std::swap
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:184,1
    - Dst: erase
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - Extension_Code
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: Botan::TLS::Extensions::take
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - type
    - begin
    - std::swap
    - end
    - erase
    - std::find_if
    linkageType: ''
    returnType: std::unique_ptr<Extension>
    signature: std::unique_ptr<Extension> Extensions::take(Extension_Code type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:195,1
    - Dst: Botan::TLS::Extensions::serialize
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:201,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:203,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:203,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:204,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:204,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:206,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:206,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:206,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:206,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:207,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:207,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:207,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:207,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:214,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:215,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:218,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - whoami
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 223
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 223
    functionName: Botan::TLS::Extensions::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint16_t>
    - std::vector::size
    - get_byte<0>
    - get_byte<1>
    - empty
    - std::vector::push_back
    - std::vector<uint8_t>
    - Botan::TLS::Extensions::serialize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Extensions::serialize(Connection_Side whoami)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:227,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:228,1
    - Dst: cend
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:228,1
    - Dst: std::inserter
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:228,1
    - Dst: std::set::begin
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:228,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: Botan::TLS::Extensions::extension_types
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - type
    - std::transform
    - cbegin
    - std::inserter
    - cend
    - std::set::begin
    linkageType: ''
    returnType: std::set<Extension_Code>
    signature: std::set<Extension_Code> Extensions::extension_types() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_fixed
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - type
    - ' reader'
    - extension_size
    argTypes:
    - Extension_Code
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: Botan::TLS::Unknown_Extension::Unknown_Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - get_fixed
    linkageType: ''
    returnType: void
    signature: void Unknown_Extension::Unknown_Extension(Extension_Code type, TLS_Data_Reader&
      reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: Botan::TLS::Unknown_Extension::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Unknown_Extension::serialize(Connection_Side /*whoami*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:252,1
    - Dst: get_string
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:261,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:262,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:262,1
    - Dst: discard_next
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 269
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 269
    functionName: Botan::TLS::Server_Name_Indicator::Server_Name_Indicator
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - discard_next
    - size
    - Decoding_Error
    - get_string
    linkageType: ''
    returnType: void
    signature: void Server_Name_Indicator::Server_Name_Indicator(TLS_Data_Reader&
      reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:284,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:284,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:284,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:285,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:285,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:285,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:286,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:288,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:288,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:288,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:289,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:289,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:289,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:291,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:291,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:291,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - whoami
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 294
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 294
    functionName: Botan::TLS::Server_Name_Indicator::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - get_byte<0>
    - data
    - size
    - get_byte<1>
    - std::vector::push_back
    - std::make_pair
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Server_Name_Indicator::serialize(Connection_Side
      whoami) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_range
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:297,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:298,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 301
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 301
    functionName: Botan::TLS::Renegotiation_Extension::Renegotiation_Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - size
    - get_range
    linkageType: ''
    returnType: void
    signature: void Renegotiation_Extension::Renegotiation_Extension(TLS_Data_Reader&
      reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: Botan::TLS::Renegotiation_Extension::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - append_tls_length_value
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Renegotiation_Extension::serialize(Connection_Side
      /*whoami*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:321,1
    - Dst: get_string
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:325,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:327,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:328,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:331,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:332,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:335,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:337,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:344,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:345,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:347,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:347,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - ' reader'
    - extension_size
    - from
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 349
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 349
    functionName: Botan::TLS::Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::to_string
    - size
    - Decoding_Error
    - push_back
    - std::string::empty
    - TLS_Exception
    - get_string
    linkageType: ''
    returnType: void
    signature: "void Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification(TLS_Data_Reader&
      reader,\n                                                                                 uint16_t
      extension_size,\n                                                                                 Connection_Side
      from)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:352,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:352,1
    - Dst: front
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: Botan::TLS::Application_Layer_Protocol_Notification::single_protocol
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - front
    - BOTAN_STATE_CHECK
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string Application_Layer_Protocol_Notification::single_protocol()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:360,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:361,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:363,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:364,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:364,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:364,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:364,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:368,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:368,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:368,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:369,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:369,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 372
    functionName: Botan::TLS::Application_Layer_Protocol_Notification::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - std::vector::size
    - get_byte<0>
    - data
    - size
    - get_byte<1>
    - empty
    - TLS_Exception
    - length
    - append_tls_length_value
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Application_Layer_Protocol_Notification::serialize(Connection_Side
      /*whoami*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - Certificate_Type
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: Botan::TLS::certificate_type_to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string certificate_type_to_string(Certificate_Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' type_str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 393
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 393
    functionName: Botan::TLS::certificate_type_from_string
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    linkageType: ''
    returnType: Certificate_Type
    signature: Certificate_Type certificate_type_from_string(const std::string& type_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:396,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:397,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - supported_cert_types
    argTypes:
    - std::vector<Certificate_Type>
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: Botan::TLS::Certificate_Type_Base::Certificate_Type_Base
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::move
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void Certificate_Type_Base::Certificate_Type_Base(std::vector<Certificate_Type>
      supported_cert_types)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: accepted_client_certificate_types
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' cct'
    - ' policy'
    argTypes:
    - Client_Certificate_Type
    - Policy
    constantsTouched: []
    func_position:
      end: 401
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 401
    functionName: Botan::TLS::Client_Certificate_Type::Client_Certificate_Type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - accepted_client_certificate_types
    linkageType: ''
    returnType: void
    signature: void Client_Certificate_Type::Client_Certificate_Type(const Client_Certificate_Type&
      cct, const Policy& policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: accepted_server_certificate_types
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' sct'
    - ' policy'
    argTypes:
    - Server_Certificate_Type
    - Policy
    constantsTouched: []
    func_position:
      end: 404
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 404
    functionName: Botan::TLS::Server_Certificate_Type::Server_Certificate_Type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - accepted_server_certificate_types
    linkageType: ''
    returnType: void
    signature: void Server_Certificate_Type::Server_Certificate_Type(const Server_Certificate_Type&
      sct, const Policy& policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:416,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:417,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' certificate_type_from_client'
    - ' server_preference'
    argTypes:
    - Certificate_Type_Base
    - std::vector<Certificate_Type>
    constantsTouched: []
    func_position:
      end: 428
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 428
    functionName: Botan::TLS::Certificate_Type_Base::Certificate_Type_Base
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - value_exists
    - TLS_Exception
    - push_back
    linkageType: ''
    returnType: void
    signature: "void Certificate_Type_Base::Certificate_Type_Base(const Certificate_Type_Base&
      certificate_type_from_client,\n                                             const
      std::vector<Certificate_Type>& server_preference)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:433,1
    - Dst: get_tls_length_value
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:437,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:438,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:438,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:439,1
    - Dst: std::transform
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:441,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:442,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:442,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:442,1
    - Dst: static_cast<Certificate_Type>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:443,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:450,1
    - Dst: get_byte
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:452,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:453,1
    - Dst: static_cast<Certificate_Type>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:453,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - ' reader'
    - extension_size
    - from
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 455
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 455
    functionName: Botan::TLS::Certificate_Type_Base::Certificate_Type_Base
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::transform
    - std::back_inserter
    - static_cast<size_t>
    - get_tls_length_value
    - auto::end
    - get_byte
    - Decoding_Error
    - auto::begin
    - static_cast<Certificate_Type>
    - push_back
    - auto::size
    linkageType: ''
    returnType: void
    signature: void Certificate_Type_Base::Certificate_Type_Base(TLS_Data_Reader&
      reader, uint16_t extension_size, Connection_Side from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:461,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:462,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:462,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:462,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:463,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:465,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:467,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:467,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:468,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:468,1
    - Dst: front
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - whoami
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 471
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 471
    functionName: Botan::TLS::Certificate_Type_Base::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::transform
    - BOTAN_ASSERT_NOMSG
    - begin
    - std::back_inserter
    - size
    - end
    - std::vector::push_back
    - append_tls_length_value
    - front
    - static_cast<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_Type_Base::serialize(Connection_Side
      whoami) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:474,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:475,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:481,1
    - Dst: Botan::TLS::Certificate_Type_Base::selected_certificate_type
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:481,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:482,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:483,1
    - Dst: certificate_type_to_string
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:484,1
    - Dst: Botan::TLS::Certificate_Type_Base::selected_certificate_type
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' from_server'
    argTypes:
    - Certificate_Type_Base
    constantsTouched: []
    func_position:
      end: 486
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 486
    functionName: Botan::TLS::Certificate_Type_Base::validate_selection
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - value_exists
    - BOTAN_ASSERT_NOMSG
    - TLS_Exception
    - Botan::TLS::Certificate_Type_Base::selected_certificate_type
    - Botan::fmt
    - certificate_type_to_string
    linkageType: ''
    returnType: void
    signature: void Certificate_Type_Base::validate_selection(const Certificate_Type_Base&
      from_server) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:489,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:490,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:490,1
    - Dst: front
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: Botan::TLS::Certificate_Type_Base::selected_certificate_type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - front
    - BOTAN_ASSERT_NOMSG
    - size
    linkageType: ''
    returnType: Certificate_Type
    signature: Certificate_Type Certificate_Type_Base::selected_certificate_type()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' groups'
    argTypes:
    - std::vector<Group_Params>
    constantsTouched: []
    func_position:
      end: 494
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 494
    functionName: Botan::TLS::Supported_Groups::Supported_Groups
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Supported_Groups::Supported_Groups(const std::vector<Group_Params>&
      groups)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 498
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 498
    functionName: '& Supported_Groups::groups() const'
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Group_Params>
    signature: std::vector<Group_Params> & Supported_Groups::groups() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_pure_ecc_group
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:503,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 508
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 508
    functionName: Botan::TLS::Supported_Groups::ec_groups
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - is_pure_ecc_group
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<Group_Params>
    signature: std::vector<Group_Params> Supported_Groups::ec_groups() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_in_ffdhe_range
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:513,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 518
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 518
    functionName: Botan::TLS::Supported_Groups::dh_groups
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - is_in_ffdhe_range
    linkageType: ''
    returnType: std::vector<Group_Params>
    signature: std::vector<Group_Params> Supported_Groups::dh_groups() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:527,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:527,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:528,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:528,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:532,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:532,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:532,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:533,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:533,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 536
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 536
    functionName: Botan::TLS::Supported_Groups::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint16_t>
    - std::vector::size
    - get_byte<0>
    - get_byte<1>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Supported_Groups::serialize(Connection_Side /*whoami*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:542,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:546,1
    - Dst: static_cast<Group_Params>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:552,1
    - Dst: get_uint16_t
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:552,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:554,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:555,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 558
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 558
    functionName: Botan::TLS::Supported_Groups::Supported_Groups
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - value_exists
    - static_cast<Group_Params>
    - Decoding_Error
    - push_back
    - get_uint16_t
    linkageType: ''
    returnType: void
    signature: void Supported_Groups::Supported_Groups(TLS_Data_Reader& reader, uint16_t
      extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 567
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 567
    functionName: Botan::TLS::Supported_Point_Formats::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Supported_Point_Formats::serialize(Connection_Side
      /*whoami*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:573,1
    - Dst: static_cast<ECPointFormat>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:580,1
    - Dst: discard_next
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:582,1
    - Dst: static_cast<ECPointFormat>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:584,1
    - Dst: get_fixed
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:586,1
    - Dst: std::any_of
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:588,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:588,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:588,1
    - Dst: static_cast<ECPointFormat>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:589,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:604,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 607
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 607
    functionName: Botan::TLS::Supported_Point_Formats::Supported_Point_Formats
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - get_fixed
    - begin
    - discard_next
    - static_cast<ECPointFormat>
    - std::any_of
    - Decoding_Error
    - end
    - TLS_Exception
    linkageType: ''
    returnType: void
    signature: void Supported_Point_Formats::Supported_Point_Formats(TLS_Data_Reader&
      reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:612,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:612,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:618,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:618,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:619,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:619,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:622,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:622,1
    - Dst: Botan::TLS::wire_code
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:622,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:623,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:623,1
    - Dst: Botan::TLS::wire_code
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' schemes'
    argTypes:
    - std::vector<Signature_Scheme>
    constantsTouched: []
    func_position:
      end: 627
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 627
    functionName: Botan::TLS::serialize_signature_algorithms
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - get_byte<0>
    - Botan::TLS::wire_code
    - size
    - get_byte<1>
    - std::vector::push_back
    - BOTAN_ASSERT
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize_signature_algorithms(const std::vector<Signature_Scheme>&
      schemes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:633,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:637,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:639,1
    - Dst: get_uint16_t
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:639,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 644
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 644
    functionName: Botan::TLS::parse_signature_algorithms
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::vector::reserve
    - Decoding_Error
    - get_uint16_t
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> parse_signature_algorithms(TLS_Data_Reader&
      reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize_signature_algorithms
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 650
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 650
    functionName: Botan::TLS::Signature_Algorithms::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - serialize_signature_algorithms
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Signature_Algorithms::serialize(Connection_Side
      /*whoami*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_signature_algorithms
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 653
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 653
    functionName: Botan::TLS::Signature_Algorithms::Signature_Algorithms
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - parse_signature_algorithms
    linkageType: ''
    returnType: void
    signature: void Signature_Algorithms::Signature_Algorithms(TLS_Data_Reader& reader,
      uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize_signature_algorithms
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 657
    functionName: Botan::TLS::Signature_Algorithms_Cert::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - serialize_signature_algorithms
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Signature_Algorithms_Cert::serialize(Connection_Side
      /*whoami*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_signature_algorithms
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 660
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 660
    functionName: Botan::TLS::Signature_Algorithms_Cert::Signature_Algorithms_Cert
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - parse_signature_algorithms
    linkageType: ''
    returnType: void
    signature: void Signature_Algorithms_Cert::Signature_Algorithms_Cert(TLS_Data_Reader&
      reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session_Ticket
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:663,1
    - Dst: get_elem
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 663
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 663
    functionName: Botan::TLS::Session_Ticket_Extension::Session_Ticket_Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - Session_Ticket
    - get_elem
    linkageType: ''
    returnType: void
    signature: void Session_Ticket_Extension::Session_Ticket_Extension(TLS_Data_Reader&
      reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_range
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:666,1
    - Dst: get_range
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:667,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:669,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:669,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:670,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:673,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 676
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 676
    functionName: Botan::TLS::SRTP_Protection_Profiles::SRTP_Protection_Profiles
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::empty
    - size
    - Decoding_Error
    - get_range
    linkageType: ''
    returnType: void
    signature: void SRTP_Protection_Profiles::SRTP_Protection_Profiles(TLS_Data_Reader&
      reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:682,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:682,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:683,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:683,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:686,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:686,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:687,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:687,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 693
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 693
    functionName: Botan::TLS::SRTP_Protection_Profiles::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - get_byte<0>
    - get_byte<1>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> SRTP_Protection_Profiles::serialize(Connection_Side
      /*whoami*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - extension_size
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 699
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 699
    functionName: Botan::TLS::Extended_Master_Secret::Extended_Master_Secret
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void Extended_Master_Secret::Extended_Master_Secret(TLS_Data_Reader&
      /*unused*/, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 703
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 703
    functionName: Botan::TLS::Extended_Master_Secret::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Extended_Master_Secret::serialize(Connection_Side
      /*whoami*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - extension_size
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 709
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 709
    functionName: Botan::TLS::Encrypt_then_MAC::Encrypt_then_MAC
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void Encrypt_then_MAC::Encrypt_then_MAC(TLS_Data_Reader& /*unused*/,
      uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 713
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 713
    functionName: Botan::TLS::Encrypt_then_MAC::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Encrypt_then_MAC::serialize(Connection_Side /*whoami*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:719,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:719,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:720,1
    - Dst: major_version
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:720,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:721,1
    - Dst: minor_version
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:721,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:723,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:723,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:726,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:729,1
    - Dst: major_version
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:729,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:730,1
    - Dst: minor_version
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - whoami
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 735
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 735
    functionName: Botan::TLS::Supported_Versions::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - major_version
    - size
    - empty
    - std::vector::push_back
    - minor_version
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Supported_Versions::serialize(Connection_Side
      whoami) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:738,1
    - Dst: allow_dtls12
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:740,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:741,1
    - Dst: allow_tls13
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:746,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:747,1
    - Dst: allow_tls12
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:751,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:752,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - offer
    - ' policy'
    argTypes:
    - Protocol_Version
    - Policy
    constantsTouched: []
    func_position:
      end: 756
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 756
    functionName: Botan::TLS::Supported_Versions::Supported_Versions
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - Protocol_Version::is_datagram_protocol
    - allow_tls13
    - allow_dtls12
    - push_back
    - allow_tls12
    linkageType: ''
    returnType: void
    signature: void Supported_Versions::Supported_Versions(Protocol_Version offer,
      const Policy& policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:761,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:763,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:763,1
    - Dst: get_uint16_t
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:763,1
    - Dst: get_range
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:765,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:768,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:768,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:771,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:772,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - ' reader'
    - extension_size
    - from
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 775
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 775
    functionName: Botan::TLS::Supported_Versions::Supported_Versions
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - push_back
    - Protocol_Version
    - auto::size
    - get_uint16_t
    - get_range
    linkageType: ''
    returnType: void
    signature: void Supported_Versions::Supported_Versions(TLS_Data_Reader& reader,
      uint16_t extension_size, Connection_Side from)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - version
    argTypes:
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 784
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 784
    functionName: Botan::TLS::Supported_Versions::supports
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Supported_Versions::supports(Protocol_Version version) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:787,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 790
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 790
    functionName: Botan::TLS::Record_Size_Limit::Record_Size_Limit
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void Record_Size_Limit::Record_Size_Limit(const uint16_t limit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:794,1
    - Dst: get_uint16_t
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:797,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:813,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:822,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - ' reader'
    - extension_size
    - from
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 824
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 824
    functionName: Botan::TLS::Record_Size_Limit::Record_Size_Limit
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - get_uint16_t
    linkageType: ''
    returnType: void
    signature: void Record_Size_Limit::Record_Size_Limit(TLS_Data_Reader& reader,
      uint16_t extension_size, Connection_Side from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:829,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:829,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:830,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 833
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 833
    functionName: Botan::TLS::Record_Size_Limit::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - get_byte<0>
    - get_byte<1>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Record_Size_Limit::serialize(Connection_Side)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' cookie'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 836
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 836
    functionName: Botan::TLS::Cookie::Cookie
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cookie::Cookie(const std::vector<uint8_t>& cookie)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:847,1
    - Dst: remaining_bytes
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:850,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:851,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:855,1
    - Dst: get_byte
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:855,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 857
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 857
    functionName: Botan::TLS::Cookie::Cookie
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - get_byte
    - Decoding_Error
    - remaining_bytes
    - push_back
    linkageType: ''
    returnType: void
    signature: void Cookie::Cookie(TLS_Data_Reader& reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:864,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:864,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:865,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:865,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 872
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 872
    functionName: Botan::TLS::Cookie::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - get_byte<0>
    - get_byte<1>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Cookie::serialize(Connection_Side /*whoami*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:877,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:877,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:878,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:878,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:878,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:880,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 884
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 884
    functionName: Botan::TLS::PSK_Key_Exchange_Modes::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - static_cast<uint8_t>
    - BOTAN_ASSERT_NOMSG
    - size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PSK_Key_Exchange_Modes::serialize(Connection_Side)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:888,1
    - Dst: get_byte
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:891,1
    - Dst: static_cast<PSK_Key_Exchange_Mode>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:893,1
    - Dst: get_byte
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:893,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:895,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 898
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 898
    functionName: Botan::TLS::PSK_Key_Exchange_Modes::PSK_Key_Exchange_Modes
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - get_byte
    - Decoding_Error
    - static_cast<PSK_Key_Exchange_Mode>
    - push_back
    linkageType: ''
    returnType: void
    signature: void PSK_Key_Exchange_Modes::PSK_Key_Exchange_Modes(TLS_Data_Reader&
      reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:906,1
    - Dst: encode_into
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:907,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:908,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 914
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 914
    functionName: Botan::TLS::Certificate_Authorities::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - append_tls_length_value
    - encode_into
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_Authorities::serialize(Connection_Side)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:918,1
    - Dst: remaining_bytes
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:923,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:924,1
    - Dst: has_remaining
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:927,1
    - Dst: get_tls_length_value
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:928,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:930,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:930,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:931,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:932,1
    - Dst: back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:932,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 934
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 934
    functionName: Botan::TLS::Certificate_Authorities::Certificate_Authorities
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - has_remaining
    - remaining_bytes
    - std::vector::size
    - get_tls_length_value
    - emplace_back
    - Decoding_Error
    - back
    - BER_Decoder::decode
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void Certificate_Authorities::Certificate_Authorities(TLS_Data_Reader&
      reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - acceptable_DNs
    argTypes:
    - std::vector<X509_DN>
    constantsTouched: []
    func_position:
      end: 937
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 937
    functionName: Botan::TLS::Certificate_Authorities::Certificate_Authorities
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Certificate_Authorities::Certificate_Authorities(std::vector<X509_DN>
      acceptable_DNs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:941,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:942,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:943,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:943,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:944,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:944,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:945,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:945,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:946,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 949
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 949
    functionName: Botan::TLS::EarlyDataIndication::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached:
    - get_byte<0>
    - get_byte<1>
    - std::vector::push_back
    - value
    - get_byte<3>
    - has_value
    - get_byte<2>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EarlyDataIndication::serialize(Connection_Side)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:956,1
    - Dst: get_uint32_t
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:961,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions.cpp:963,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - ' reader'
    - extension_size
    - message_type
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 967
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 967
    functionName: Botan::TLS::EarlyDataIndication::EarlyDataIndication
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 1
    functionsReached:
    - TLS_Exception
    - get_uint32_t
    linkageType: ''
    returnType: void
    signature: "void EarlyDataIndication::EarlyDataIndication(TLS_Data_Reader& reader,\n
      \                                        uint16_t extension_size,\n                                         Handshake_Type
      message_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 972
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 972
    functionName: Botan::TLS::EarlyDataIndication::empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EarlyDataIndication::empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - std::shared_ptr<RandomNumberGenerator>
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::TLS::Session_Manager::Session_Manager
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Session_Manager::Session_Manager(const std::shared_ptr<RandomNumberGenerator>&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:30,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:31,1
    - Dst: side
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:31,1
    - Dst: value_or
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:33,1
    - Dst: random_vec
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:33,1
    - Dst: store
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' session'
    - ' id'
    - tls12_no_ticket
    argTypes:
    - Session
    - std::optional<Session_ID>
    - bool
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: Botan::TLS::Session_Manager::establish
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - side
    - random_vec
    - BOTAN_UNUSED
    - store
    - value_or
    - BOTAN_ASSERT
    linkageType: ''
    returnType: std::optional<Session_Handle>
    signature: "std::optional<Session_Handle> Session_Manager::establish(const Session&
      session,\n                                                         const std::optional<Session_ID>&
      id,\n                                                         bool tls12_no_ticket)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: retrieve_one
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:45,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:46,1
    - Dst: session_ticket_lifetime
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:52,1
    - Dst: session_ticket_lifetime
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:52,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:52,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:73,1
    - Dst: tls_current_timestamp
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:73,1
    - Dst: auto::start_time
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:73,1
    - Dst: remove
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' handle'
    - ' callbacks'
    - ' policy'
    argTypes:
    - Session_Handle
    - Callbacks
    - Policy
    constantsTouched: []
    func_position:
      end: 82
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 82
    functionName: Botan::TLS::Session_Manager::retrieve
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - session_ticket_lifetime
    - retrieve_one
    - auto::has_value
    - auto::start_time
    - remove
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - tls_current_timestamp
    - std::chrono::duration_cast<std::chrono::seconds>
    linkageType: ''
    returnType: std::optional<Session>
    signature: "std::optional<Session> Session_Manager::retrieve(const Session_Handle&
      handle,\n                                                 Callbacks& callbacks,\n
      \                                                const Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session_ticket_lifetime
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:90,1
    - Dst: session_ticket_lifetime
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:90,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:90,1
    - Dst: tls_current_timestamp
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:93,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:102,1
    - Dst: find_some
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:103,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:106,1
    - Dst: std::erase_if
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:110,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:111,1
    - Dst: session::start_time
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:111,1
    - Dst: session::lifetime_hint
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:143,1
    - Dst: remove
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' info'
    - ' callbacks'
    - ' policy'
    argTypes:
    - Server_Information
    - Callbacks
    - Policy
    constantsTouched: []
    func_position:
      end: 155
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 155
    functionName: Botan::TLS::Session_Manager::find_and_filter
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - session::lifetime_hint
    - std::erase_if
    - session_ticket_lifetime
    - std::vector::empty
    - remove
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - find_some
    - session::start_time
    - tls_current_timestamp
    - std::chrono::duration_cast<std::chrono::seconds>
    linkageType: ''
    returnType: std::vector<Session_with_Handle>
    signature: "std::vector<Session_with_Handle> Session_Manager::find_and_filter(const
      Server_Information& info,\n                                                                  Callbacks&
      callbacks,\n                                                                  const
      Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reuse_session_tickets
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:160,1
    - Dst: std::optional::emplace
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:168,1
    - Dst: mutex
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:168,1
    - Dst: Botan::TLS::Session_Manager::find_and_filter
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:171,1
    - Dst: maximum_session_tickets_per_client_hello
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:175,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:176,1
    - Dst: auto::pop_back
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:177,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:189,1
    - Dst: std::optional::has_value
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:189,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:191,1
    - Dst: is_id
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:191,1
    - Dst: remove
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - ' info'
    - ' callbacks'
    - ' policy'
    argTypes:
    - Server_Information
    - Callbacks
    - Policy
    constantsTouched: []
    func_position:
      end: 198
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 198
    functionName: Botan::TLS::Session_Manager::find
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - version
    - std::optional::has_value
    - maximum_session_tickets_per_client_hello
    - Botan::TLS::Session_Manager::find_and_filter
    - reuse_session_tickets
    - is_id
    - remove
    - auto::size
    - std::optional::emplace
    - auto::pop_back
    - mutex
    linkageType: ''
    returnType: std::vector<Session_with_Handle>
    signature: "std::vector<Session_with_Handle> Session_Manager::find(const Server_Information&
      info,\n                                                       Callbacks& callbacks,\n
      \                                                      const Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Session_Manager::retrieve
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:211,1
    - Dst: Opaque_Session_Handle
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:211,1
    - Dst: identity
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:211,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:212,1
    - Dst: auto::ciphersuite
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:212,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:213,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:214,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls_session_manager.cpp:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - ' tickets'
    - hash_function
    - ' callbacks'
    - ' policy'
    argTypes:
    - std::vector<PskIdentity>
    - std::string_view
    - Callbacks
    - Policy
    constantsTouched: []
    func_position:
      end: 233
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 233
    functionName: Botan::TLS::Session_Manager::choose_from_offered_tickets
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager.cpp
    functionUses: 0
    functionsReached:
    - identity
    - auto::value
    - auto::has_value
    - auto::version
    - auto::ciphersuite
    - Botan::TLS::Session_Manager::retrieve
    - std::move
    - Opaque_Session_Handle
    linkageType: ''
    returnType: std::optional<std::pair<Session, uint16_t>>
    signature: "std::optional<std::pair<Session, uint16_t>> Session_Manager::choose_from_offered_tickets(\n
      \  const std::vector<PskIdentity>& tickets,\n   std::string_view hash_function,\n
      \  Callbacks& callbacks,\n   const Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::TLS::Certificate_Request_12::type
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_req.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handshake_Type
    signature: Handshake_Type Certificate_Request_12::type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - code
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: Botan::TLS::cert_type_code_to_name
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_req.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string cert_type_code_to_name(uint8_t code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:46,1
    - Dst: fmt
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: Botan::TLS::cert_type_name_to_code
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_req.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - fmt
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t cert_type_name_to_code(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: acceptable_signature_schemes
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:59,1
    - Dst: update
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:60,1
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' io'
    - ' hash'
    - ' policy'
    - ' ca_certs'
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    - Policy
    - std::vector<X509_DN>
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: Botan::TLS::Certificate_Request_12::Certificate_Request_12
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_req.cpp
    functionUses: 0
    functionsReached:
    - update
    - send
    - acceptable_signature_schemes
    linkageType: ''
    returnType: void
    signature: "void Certificate_Request_12::Certificate_Request_12(Handshake_IO&
      io,\n                                               Handshake_Hash& hash,\n
      \                                              const Policy& policy,\n                                               const
      std::vector<X509_DN>& ca_certs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:67,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:68,1
    - Dst: TLS_Data_Reader::get_range_vector
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:73,1
    - Dst: cert_type_code_to_name
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:76,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:78,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:82,1
    - Dst: TLS_Data_Reader::get_range_vector
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:85,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:87,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:88,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:91,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:92,1
    - Dst: make_uint16
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:92,1
    - Dst: TLS_Data_Reader::remaining_bytes
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:97,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:98,1
    - Dst: TLS_Data_Reader::has_remaining
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:101,1
    - Dst: TLS_Data_Reader::get_range_vector
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:102,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:104,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:104,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:106,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:107,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 109
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 109
    functionName: Botan::TLS::Certificate_Request_12::Certificate_Request_12
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_req.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - TLS_Data_Reader::remaining_bytes
    - TLS_Data_Reader::has_remaining
    - make_uint16
    - size
    - TLS_Data_Reader::get_range_vector
    - emplace_back
    - Decoding_Error
    - std::string::empty
    - cert_type_code_to_name
    - BER_Decoder::decode
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void Certificate_Request_12::Certificate_Request_12(const std::vector<uint8_t>&
      buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: '& Certificate_Request_12::acceptable_cert_types() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_req.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & Certificate_Request_12::acceptable_cert_types()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: '& Certificate_Request_12::acceptable_CAs() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_req.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<X509_DN>
    signature: std::vector<X509_DN> & Certificate_Request_12::acceptable_CAs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: '& Certificate_Request_12::signature_schemes() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_req.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> & Certificate_Request_12::signature_schemes()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:131,1
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:131,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:133,1
    - Dst: cert_type_name_to_code
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:133,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:136,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:138,1
    - Dst: Signature_Algorithms
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:139,1
    - Dst: DER_Encoder::encode
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:146,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:148,1
    - Dst: DER_Encoder::get_contents
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:148,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_cert_req.cpp:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 154
    functionName: Botan::TLS::Certificate_Request_12::serialize
    functionSourceFile: /src/botan/src/lib/tls/msg_cert_req.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder::get_contents
    - DER_Encoder::encode
    - size
    - empty
    - std::vector::push_back
    - std::vector::reserve
    - Signature_Algorithms
    - append_tls_length_value
    - cert_type_name_to_code
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_Request_12::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::lexicographical_compare
      Src: /src/botan/src/lib/tls/tls_session.h:44,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls_session.h:44,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_session.h:44,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls_session.h:44,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_session.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id1'
    - ' id2'
    argTypes:
    - Session_ID
    - Session_ID
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: operator<(const Session_ID& id1, const Session_ID& id2)
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 0
    functionsReached:
    - begin
    - std::lexicographical_compare
    - end
    linkageType: ''
    returnType: auto
    signature: auto operator<(const Session_ID& id1, const Session_ID& id2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.h:88,1
    - Dst: validate_constraints
      Src: /src/botan/src/lib/tls/tls_session.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ticket
    argTypes:
    - Opaque_Session_Handle
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: Botan::TLS::Session_Handle
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 0
    functionsReached:
    - std::move
    - validate_constraints
    linkageType: ''
    returnType: void
    signature: void Session_Handle(Opaque_Session_Handle ticket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<Session_ID>
      Src: /src/botan/src/lib/tls/tls_session.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Botan::TLS::is_id
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 0
    functionsReached:
    - std::holds_alternative<Session_ID>
    linkageType: ''
    returnType: bool
    signature: bool is_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<Session_Ticket>
      Src: /src/botan/src/lib/tls/tls_session.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan::TLS::is_ticket
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 0
    functionsReached:
    - std::holds_alternative<Session_Ticket>
    linkageType: ''
    returnType: bool
    signature: bool is_ticket() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<Opaque_Session_Handle>
      Src: /src/botan/src/lib/tls/tls_session.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan::TLS::is_opaque_handle
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 0
    functionsReached:
    - std::holds_alternative<Opaque_Session_Handle>
    linkageType: ''
    returnType: bool
    signature: bool is_opaque_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan::TLS::get
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: version
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: ciphersuite_code
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ciphersuite_code() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: side
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Connection_Side
    signature: Connection_Side side() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: dtls_srtp_profile
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t dtls_srtp_profile() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: supports_encrypt_then_mac
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_encrypt_then_mac() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: supports_extended_master_secret
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_extended_master_secret() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: peer_certs
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> & peer_certs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: peer_raw_public_key
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const Public_Key>
    signature: std::shared_ptr<const Public_Key> peer_raw_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: server_info
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Server_Information
    signature: Server_Information & server_info() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: was_resumption
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool was_resumption() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: kex_algo
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string kex_algo() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: kex_parameters
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> kex_parameters() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls_session.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: cipher_algo
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 7
    functionsReached:
    - ciphersuite
    linkageType: ''
    returnType: std::string
    signature: std::string cipher_algo() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls_session.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: mac_algo
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 4
    functionsReached:
    - ciphersuite
    linkageType: ''
    returnType: std::string
    signature: std::string mac_algo() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls_session.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: prf_algo
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 4
    functionsReached:
    - ciphersuite
    linkageType: ''
    returnType: std::string
    signature: std::string prf_algo() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - Session_ID
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: set_session_id
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_session_id(Session_ID id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ticket
    argTypes:
    - Session_Ticket
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: set_session_ticket
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_session_ticket(Session_Ticket ticket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session
      Src: /src/botan/src/lib/tls/tls_session.h:340,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/tls/tls_session.h:350,1
    - Dst: Botan::TLS::Session::decrypt
      Src: /src/botan/src/lib/tls/tls_session.h:416,1
    - Dst: std::span
      Src: /src/botan/src/lib/tls/tls_session.h:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 489
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 489
    functionName: Session_Base
    functionSourceFile: /src/botan/src/lib/tls/tls_session.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - Botan::TLS::Session::decrypt
    - Session
    - std::span
    linkageType: ''
    returnType: Session
    signature: Session Session_Base
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls_algos.cpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - algo
    argTypes:
    - KDF_Algo
    constantsTouched: []
    func_position:
      end: 26
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 26
    functionName: Botan::TLS::kdf_algo_to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.cpp
    functionUses: 1
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::string
    signature: std::string kdf_algo_to_string(KDF_Algo algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls_algos.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - method
    argTypes:
    - Kex_Algo
    constantsTouched: []
    func_position:
      end: 55
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 55
    functionName: Botan::TLS::kex_method_to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.cpp
    functionUses: 3
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::string
    signature: std::string kex_method_to_string(Kex_Algo method)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls_algos.cpp:102,1
    - Dst: fmt
      Src: /src/botan/src/lib/tls/tls_algos.cpp:102,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 103
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 103
    functionName: Botan::TLS::kex_method_from_string
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.cpp
    functionUses: 1
    functionsReached:
    - Invalid_Argument
    - fmt
    linkageType: ''
    returnType: Kex_Algo
    signature: Kex_Algo kex_method_from_string(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls_algos.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - method
    argTypes:
    - Auth_Method
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: Botan::TLS::auth_method_to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.cpp
    functionUses: 2
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::string
    signature: std::string auth_method_to_string(Auth_Method method)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls_algos.cpp:134,1
    - Dst: fmt
      Src: /src/botan/src/lib/tls/tls_algos.cpp:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: Botan::TLS::auth_method_from_string
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.cpp
    functionUses: 1
    functionsReached:
    - Invalid_Argument
    - fmt
    linkageType: ''
    returnType: Auth_Method
    signature: Auth_Method auth_method_from_string(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_x25519
      Src: /src/botan/src/lib/tls/tls_algos.cpp:139,1
    - Dst: is_pqc_hybrid
      Src: /src/botan/src/lib/tls/tls_algos.cpp:142,1
    - Dst: Botan::TLS::Group_Params::pqc_hybrid_ecc
      Src: /src/botan/src/lib/tls/tls_algos.cpp:142,1
    - Dst: is_x448
      Src: /src/botan/src/lib/tls/tls_algos.cpp:148,1
    - Dst: is_pqc_hybrid
      Src: /src/botan/src/lib/tls/tls_algos.cpp:151,1
    - Dst: Botan::TLS::Group_Params::pqc_hybrid_ecc
      Src: /src/botan/src/lib/tls/tls_algos.cpp:151,1
    - Dst: is_in_ffdhe_range
      Src: /src/botan/src/lib/tls/tls_algos.cpp:157,1
    - Dst: is_pure_ml_kem
      Src: /src/botan/src/lib/tls/tls_algos.cpp:163,1
    - Dst: is_pqc_hybrid_ml_kem
      Src: /src/botan/src/lib/tls/tls_algos.cpp:163,1
    - Dst: is_pure_frodokem
      Src: /src/botan/src/lib/tls/tls_algos.cpp:169,1
    - Dst: is_pqc_hybrid_frodokem
      Src: /src/botan/src/lib/tls/tls_algos.cpp:169,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 175
    functionName: Botan::TLS::Group_Params::is_available
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.cpp
    functionUses: 0
    functionsReached:
    - is_x448
    - is_pqc_hybrid_ml_kem
    - is_pure_frodokem
    - is_pqc_hybrid
    - Botan::TLS::Group_Params::pqc_hybrid_ecc
    - is_pqc_hybrid_frodokem
    - is_x25519
    - is_in_ffdhe_range
    - is_pure_ml_kem
    linkageType: ''
    returnType: bool
    signature: bool Group_Params::is_available() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 206
    functionName: Botan::TLS::Group_Params::pqc_hybrid_ecc
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Group_Params_Code>
    signature: std::optional<Group_Params_Code> Group_Params::pqc_hybrid_ecc() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 107
    argCount: 1
    argNames:
    - group_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 324
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 324
    functionName: Botan::TLS::Group_Params::from_string
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Group_Params>
    signature: std::optional<Group_Params> Group_Params::from_string(std::string_view
      group_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 407
    functionName: Botan::TLS::Group_Params::to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> Group_Params::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls_client.cpp:39,1
    - Dst: acceptable_protocol_version
      Src: /src/botan/src/lib/tls/tls_client.cpp:39,1
    - Dst: std::make_unique<Client_Impl_13>
      Src: /src/botan/src/lib/tls/tls_client.cpp:44,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_client.cpp:45,1
    - Dst: expects_downgrade
      Src: /src/botan/src/lib/tls/tls_client.cpp:47,1
    - Dst: set_io_buffer_size
      Src: /src/botan/src/lib/tls/tls_client.cpp:48,1
    - Dst: is_downgrading
      Src: /src/botan/src/lib/tls/tls_client.cpp:51,1
    - Dst: Botan::TLS::Client::downgrade
      Src: /src/botan/src/lib/tls/tls_client.cpp:54,1
    - Dst: std::make_unique<Client_Impl_12>
      Src: /src/botan/src/lib/tls/tls_client.cpp:61,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_client.cpp:66,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls_client.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 9
    argNames:
    - ' callbacks'
    - ' session_manager'
    - ' creds'
    - ' policy'
    - ' rng'
    - info
    - offer_version
    - ' next_protocols'
    - io_buf_sz
    argTypes:
    - std::shared_ptr<Callbacks>
    - std::shared_ptr<Session_Manager>
    - std::shared_ptr<Credentials_Manager>
    - std::shared_ptr<const Policy>
    - std::shared_ptr<RandomNumberGenerator>
    - Server_Information
    - Protocol_Version
    - std::vector<std::string>
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 70
    functionName: Botan::TLS::Client::Client
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 0
    functionsReached:
    - acceptable_protocol_version
    - expects_downgrade
    - Protocol_Version::is_datagram_protocol
    - std::make_unique<Client_Impl_13>
    - is_downgrading
    - set_io_buffer_size
    - Botan::TLS::Client::downgrade
    - std::move
    - std::make_unique<Client_Impl_12>
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void Client::Client(const std::shared_ptr<Callbacks>& callbacks,\n
      \              const std::shared_ptr<Session_Manager>& session_manager,\n               const
      std::shared_ptr<Credentials_Manager>& creds,\n               const std::shared_ptr<const
      Policy>& policy,\n               const std::shared_ptr<RandomNumberGenerator>&
      rng,\n               Server_Information info,\n               Protocol_Version
      offer_version,\n               const std::vector<std::string>& next_protocols,\n
      \              size_t io_buf_sz)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Client::~Client()
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Client::~Client()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_client.cpp:75,1
    - Dst: is_downgrading
      Src: /src/botan/src/lib/tls/tls_client.cpp:75,1
    - Dst: extract_downgrade_info
      Src: /src/botan/src/lib/tls/tls_client.cpp:77,1
    - Dst: std::make_unique<Client_Impl_12>
      Src: /src/botan/src/lib/tls/tls_client.cpp:78,1
    - Dst: auto::peer_transcript::empty
      Src: /src/botan/src/lib/tls/tls_client.cpp:80,1
    - Dst: Botan::TLS::Client::from_peer
      Src: /src/botan/src/lib/tls/tls_client.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: Botan::TLS::Client::downgrade
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - Botan::TLS::Client::from_peer
    - extract_downgrade_info
    - is_downgrading
    - auto::peer_transcript::empty
    - std::make_unique<Client_Impl_12>
    linkageType: ''
    returnType: size_t
    signature: size_t Client::downgrade()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::from_peer
      Src: /src/botan/src/lib/tls/tls_client.cpp:91,1
    - Dst: is_downgrading
      Src: /src/botan/src/lib/tls/tls_client.cpp:93,1
    - Dst: Botan::TLS::Client::downgrade
      Src: /src/botan/src/lib/tls/tls_client.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: Botan::TLS::Client::from_peer
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Client::from_peer
    - is_downgrading
    - Botan::TLS::Client::downgrade
    linkageType: ''
    returnType: size_t
    signature: size_t Client::from_peer(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls_client.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: Botan::TLS::Client::is_handshake_complete
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::is_handshake_complete
    linkageType: ''
    returnType: bool
    signature: bool Client::is_handshake_complete() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::is_active
      Src: /src/botan/src/lib/tls/tls_client.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: Botan::TLS::Client::is_active
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 3
    functionsReached:
    - Botan::TLS::Client::is_active
    linkageType: ''
    returnType: bool
    signature: bool Client::is_active() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::is_closed
      Src: /src/botan/src/lib/tls/tls_client.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Botan::TLS::Client::is_closed
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Client::is_closed
    linkageType: ''
    returnType: bool
    signature: bool Client::is_closed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::is_closed_for_reading
      Src: /src/botan/src/lib/tls/tls_client.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: Botan::TLS::Client::is_closed_for_reading
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::is_closed_for_reading
    linkageType: ''
    returnType: bool
    signature: bool Client::is_closed_for_reading() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::is_closed_for_writing
      Src: /src/botan/src/lib/tls/tls_client.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: Botan::TLS::Client::is_closed_for_writing
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::is_closed_for_writing
    linkageType: ''
    returnType: bool
    signature: bool Client::is_closed_for_writing() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::peer_cert_chain
      Src: /src/botan/src/lib/tls/tls_client.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: Botan::TLS::Client::peer_cert_chain
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::peer_cert_chain
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> Client::peer_cert_chain() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::peer_raw_public_key
      Src: /src/botan/src/lib/tls/tls_client.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::TLS::Client::peer_raw_public_key
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::peer_raw_public_key
    linkageType: ''
    returnType: std::shared_ptr<const Public_Key>
    signature: std::shared_ptr<const Public_Key> Client::peer_raw_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::external_psk_identity
      Src: /src/botan/src/lib/tls/tls_client.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Botan::TLS::Client::external_psk_identity
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::external_psk_identity
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> Client::external_psk_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::key_material_export
      Src: /src/botan/src/lib/tls/tls_client.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - label
    - context
    - length
    argTypes:
    - std::string_view
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: Botan::TLS::Client::key_material_export
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::key_material_export
    linkageType: ''
    returnType: SymmetricKey
    signature: SymmetricKey Client::key_material_export(std::string_view label, std::string_view
      context, size_t length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::renegotiate
      Src: /src/botan/src/lib/tls/tls_client.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - force_full_renegotiation
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Botan::TLS::Client::renegotiate
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Client::renegotiate
    linkageType: ''
    returnType: void
    signature: void Client::renegotiate(bool force_full_renegotiation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::update_traffic_keys
      Src: /src/botan/src/lib/tls/tls_client.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - request_peer_update
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: Botan::TLS::Client::update_traffic_keys
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::update_traffic_keys
    linkageType: ''
    returnType: void
    signature: void Client::update_traffic_keys(bool request_peer_update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::secure_renegotiation_supported
      Src: /src/botan/src/lib/tls/tls_client.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: Botan::TLS::Client::secure_renegotiation_supported
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::secure_renegotiation_supported
    linkageType: ''
    returnType: bool
    signature: bool Client::secure_renegotiation_supported() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::to_peer
      Src: /src/botan/src/lib/tls/tls_client.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: Botan::TLS::Client::to_peer
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::to_peer
    linkageType: ''
    returnType: void
    signature: void Client::to_peer(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::send_alert
      Src: /src/botan/src/lib/tls/tls_client.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' alert'
    argTypes:
    - Alert
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: Botan::TLS::Client::send_alert
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::send_alert
    linkageType: ''
    returnType: void
    signature: void Client::send_alert(const Alert& alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::send_warning_alert
      Src: /src/botan/src/lib/tls/tls_client.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Alert::Type
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: Botan::TLS::Client::send_warning_alert
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::send_warning_alert
    linkageType: ''
    returnType: void
    signature: void Client::send_warning_alert(Alert::Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::send_fatal_alert
      Src: /src/botan/src/lib/tls/tls_client.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Alert::Type
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: Botan::TLS::Client::send_fatal_alert
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client::send_fatal_alert
    linkageType: ''
    returnType: void
    signature: void Client::send_fatal_alert(Alert::Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::close
      Src: /src/botan/src/lib/tls/tls_client.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: Botan::TLS::Client::close
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Client::close
    linkageType: ''
    returnType: void
    signature: void Client::close()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::timeout_check
      Src: /src/botan/src/lib/tls/tls_client.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: Botan::TLS::Client::timeout_check
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Client::timeout_check
    linkageType: ''
    returnType: bool
    signature: bool Client::timeout_check()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client::application_protocol
      Src: /src/botan/src/lib/tls/tls_client.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: Botan::TLS::Client::application_protocol
    functionSourceFile: /src/botan/src/lib/tls/tls_client.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Client::application_protocol
    linkageType: ''
    returnType: std::string
    signature: std::string Client::application_protocol() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::TLS::wire_code
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Signature_Scheme::Code
    signature: Signature_Scheme::Code wire_code() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Signature_Scheme
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: operator==(const Signature_Scheme& rhs) const
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Signature_Scheme& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Signature_Scheme
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: operator!=(const Signature_Scheme& rhs) const
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Signature_Scheme& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Client
      Src: /src/botan/src/lib/tls/tls_client.h:75,1
    - Dst: Server_Information
      Src: /src/botan/src/lib/tls/tls_client.h:80,1
    - Dst: Protocol_Version::latest_tls_version
      Src: /src/botan/src/lib/tls/tls_client.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 132
    functionName: Botan::TLS::Channel
    functionSourceFile: /src/botan/src/lib/tls/tls_client.h
    functionUses: 0
    functionsReached:
    - Protocol_Version::latest_tls_version
    - Server_Information
    - Client
    linkageType: ''
    returnType: Client
    signature: Client Channel
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Client_Hello
      Src: /src/botan/src/lib/tls/tls_messages.h:78,1
    - Dst: Client_Hello
      Src: /src/botan/src/lib/tls/tls_messages.h:80,1
    - Dst: Client_Hello
      Src: /src/botan/src/lib/tls/tls_messages.h:83,1
    - Dst: random
      Src: /src/botan/src/lib/tls/tls_messages.h:99,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/tls_messages.h:101,1
    - Dst: ciphersuites
      Src: /src/botan/src/lib/tls/tls_messages.h:103,1
    - Dst: offered_suite
      Src: /src/botan/src/lib/tls/tls_messages.h:105,1
    - Dst: signature_schemes
      Src: /src/botan/src/lib/tls/tls_messages.h:107,1
    - Dst: certificate_signature_schemes
      Src: /src/botan/src/lib/tls/tls_messages.h:108,1
    - Dst: supported_ecc_curves
      Src: /src/botan/src/lib/tls/tls_messages.h:110,1
    - Dst: supported_dh_groups
      Src: /src/botan/src/lib/tls/tls_messages.h:113,1
    - Dst: supported_versions
      Src: /src/botan/src/lib/tls/tls_messages.h:115,1
    - Dst: sni_hostname
      Src: /src/botan/src/lib/tls/tls_messages.h:117,1
    - Dst: supports_alpn
      Src: /src/botan/src/lib/tls/tls_messages.h:119,1
    - Dst: sent_signature_algorithms
      Src: /src/botan/src/lib/tls/tls_messages.h:121,1
    - Dst: next_protocols
      Src: /src/botan/src/lib/tls/tls_messages.h:123,1
    - Dst: srtp_profiles
      Src: /src/botan/src/lib/tls/tls_messages.h:125,1
    - Dst: serialize
      Src: /src/botan/src/lib/tls/tls_messages.h:127,1
    - Dst: cookie
      Src: /src/botan/src/lib/tls/tls_messages.h:129,1
    - Dst: cookie_input_data
      Src: /src/botan/src/lib/tls/tls_messages.h:131,1
    - Dst: extension_types
      Src: /src/botan/src/lib/tls/tls_messages.h:133,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls_messages.h:135,1
    - Dst: Client_Hello
      Src: /src/botan/src/lib/tls/tls_messages.h:138,1
    - Dst: compression_methods
      Src: /src/botan/src/lib/tls/tls_messages.h:141,1
    - Dst: Client_Hello_13
      Src: /src/botan/src/lib/tls/tls_messages.h:225,1
    - Dst: parse
      Src: /src/botan/src/lib/tls/tls_messages.h:233,1
    - Dst: retry
      Src: /src/botan/src/lib/tls/tls_messages.h:235,1
    - Dst: highest_supported_version
      Src: /src/botan/src/lib/tls/tls_messages.h:245,1
    - Dst: validate_updates
      Src: /src/botan/src/lib/tls/tls_messages.h:252,1
    - Dst: Server_Hello
      Src: /src/botan/src/lib/tls/tls_messages.h:276,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_messages.h:315,1
    - Dst: Hello_Retry_Request
      Src: /src/botan/src/lib/tls/tls_messages.h:456,1
    - Dst: Hello_Retry_Request
      Src: /src/botan/src/lib/tls/tls_messages.h:457,1
    - Dst: Botan::TLS::type
      Src: /src/botan/src/lib/tls/tls_messages.h:460,1
    - Dst: Botan::TLS::wire_type
      Src: /src/botan/src/lib/tls/tls_messages.h:462,1
    - Dst: Botan::TLS::type
      Src: /src/botan/src/lib/tls/tls_messages.h:524,1
    - Dst: cert_chain
      Src: /src/botan/src/lib/tls/tls_messages.h:526,1
    - Dst: count
      Src: /src/botan/src/lib/tls/tls_messages.h:528,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_messages.h:528,1
    - Dst: Botan::TLS::empty
      Src: /src/botan/src/lib/tls/tls_messages.h:530,1
    - Dst: Botan::TLS::empty
      Src: /src/botan/src/lib/tls/tls_messages.h:530,1
    - Dst: Certificate_12
      Src: /src/botan/src/lib/tls/tls_messages.h:532,1
    - Dst: Certificate_12
      Src: /src/botan/src/lib/tls/tls_messages.h:534,1
    - Dst: serialize
      Src: /src/botan/src/lib/tls/tls_messages.h:536,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_messages.h:582,1
    - Dst: Botan::TLS::empty
      Src: /src/botan/src/lib/tls/tls_messages.h:584,1
    - Dst: Botan::TLS::type
      Src: /src/botan/src/lib/tls/tls_messages.h:700,1
    - Dst: acceptable_cert_types
      Src: /src/botan/src/lib/tls/tls_messages.h:702,1
    - Dst: acceptable_CAs
      Src: /src/botan/src/lib/tls/tls_messages.h:704,1
    - Dst: signature_schemes
      Src: /src/botan/src/lib/tls/tls_messages.h:706,1
    - Dst: Certificate_Request_12
      Src: /src/botan/src/lib/tls/tls_messages.h:708,1
    - Dst: Certificate_Request_12
      Src: /src/botan/src/lib/tls/tls_messages.h:713,1
    - Dst: serialize
      Src: /src/botan/src/lib/tls/tls_messages.h:715,1
    - Dst: Certificate_Request_13
      Src: /src/botan/src/lib/tls/tls_messages.h:749,1
    - Dst: Certificate_Verify_13
      Src: /src/botan/src/lib/tls/tls_messages.h:808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 158
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 876
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 876
    functionName: Botan::TLS::Hello_Verify_Request
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::type
    - Certificate_Request_13
    - signature_schemes
    - Hello_Retry_Request
    - validate_updates
    - certificate_signature_schemes
    - Certificate_12
    - retry
    - cookie
    - acceptable_CAs
    - next_protocols
    - Server_Hello
    - supports_alpn
    - extension_types
    - srtp_profiles
    - offered_suite
    - acceptable_cert_types
    - Certificate_Request_12
    - sent_signature_algorithms
    - serialize
    - cookie_input_data
    - Botan::TLS::wire_type
    - extensions
    - ciphersuites
    - supported_dh_groups
    - parse
    - supported_ecc_curves
    - highest_supported_version
    - Botan::TLS::empty
    - supported_versions
    - size
    - std::move
    - sni_hostname
    - compression_methods
    - Client_Hello_13
    - cert_chain
    - random
    - Certificate_Verify_13
    - Client_Hello
    - session_id
    - count
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Hello_Verify_Request
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 883
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 883
    functionName: Botan::TLS::Server_Key_Exchange
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Server_Key_Exchange
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 885
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 885
    functionName: Botan::TLS::params
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & params() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 896
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 896
    functionName: Botan::TLS::shared_group
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Group_Params>
    signature: std::optional<Group_Params> & shared_group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 927
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 927
    functionName: Botan::Server_Hello_Done
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Server_Hello_Done
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 941
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 941
    functionName: New_Session_Ticket_12
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API New_Session_Ticket_12
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 943
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 943
    functionName: ticket_lifetime_hint
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds ticket_lifetime_hint() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 945
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 945
    functionName: ticket
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: Session_Ticket
    signature: Session_Ticket & ticket() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 970
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 970
    functionName: New_Session_Ticket_13
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API New_Session_Ticket_13
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 981
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 981
    functionName: extensions
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: Extensions
    signature: Extensions & extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 983
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 983
    functionName: handle
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: Opaque_Session_Handle
    signature: Opaque_Session_Handle & handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 985
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 985
    functionName: nonce
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: Ticket_Nonce
    signature: Ticket_Nonce & nonce() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 987
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 987
    functionName: ticket_age_add
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ticket_age_add() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 989
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 989
    functionName: lifetime_hint
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds lifetime_hint() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1019
    functionName: Change_Cipher_Spec
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Change_Cipher_Spec
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls_messages.h:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1021
    functionName: serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 16
    functionsReached:
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1028
    functionName: Handshake_Message
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Handshake_Message
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1035
    functionName: expects_reciprocation
    functionSourceFile: /src/botan/src/lib/tls/tls_messages.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void expects_reciprocation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:83,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:84,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 1
    argNames:
    - type
    argTypes:
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 85
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 85
    functionName: Botan::TLS::bitmask_for_handshake_type
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_transitions.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - TLS_Exception
    - static_cast<size_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t bitmask_for_handshake_type(Handshake_Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::bitmask_for_handshake_type
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:111,1
    - Dst: Botan::TLS::handshake_type_to_string
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:115,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - mask
    - combiner
    argTypes:
    - uint32_t
    - char
    constantsTouched: []
    func_position:
      end: 121
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 121
    functionName: Botan::TLS::handshake_mask_to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_transitions.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - Botan::TLS::bitmask_for_handshake_type
    - Botan::TLS::handshake_type_to_string
    linkageType: ''
    returnType: std::string
    signature: std::string handshake_mask_to_string(uint32_t mask, char combiner)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg_type
    argTypes:
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: Botan::TLS::Handshake_Transitions::received_handshake_msg
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_transitions.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Handshake_Transitions::received_handshake_msg(Handshake_Type msg_type)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handshake_type_to_string
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:143,1
    - Dst: handshake_mask_to_string
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:148,1
    - Dst: handshake_mask_to_string
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:152,1
    - Dst: Unexpected_Message
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:155,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - msg_type
    argTypes:
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 163
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 163
    functionName: Botan::TLS::Handshake_Transitions::confirm_transition_to
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_transitions.cpp
    functionUses: 1
    functionsReached:
    - handshake_type_to_string
    - handshake_mask_to_string
    - std::ostringstream::str
    - Unexpected_Message
    linkageType: ''
    returnType: void
    signature: void Handshake_Transitions::confirm_transition_to(Handshake_Type msg_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitmask_for_handshake_type
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg_type
    argTypes:
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: Botan::TLS::Handshake_Transitions::set_expected_next
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_transitions.cpp
    functionUses: 1
    functionsReached:
    - bitmask_for_handshake_type
    linkageType: ''
    returnType: void
    signature: void Handshake_Transitions::set_expected_next(Handshake_Type msg_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Handshake_Transitions::set_expected_next
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' msg_types'
    argTypes:
    - std::vector<Handshake_Type>
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: Botan::TLS::Handshake_Transitions::set_expected_next
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_transitions.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Handshake_Transitions::set_expected_next
    linkageType: ''
    returnType: void
    signature: void Handshake_Transitions::set_expected_next(const std::vector<Handshake_Type>&
      msg_types)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitmask_for_handshake_type
      Src: /src/botan/src/lib/tls/tls_handshake_transitions.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: Botan::TLS::Handshake_Transitions::change_cipher_spec_expected
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_transitions.cpp
    functionUses: 1
    functionsReached:
    - bitmask_for_handshake_type
    linkageType: ''
    returnType: bool
    signature: bool Handshake_Transitions::change_cipher_spec_expected() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_alert.cpp:15,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_alert.cpp:16,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls_alert.cpp:16,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_alert.cpp:16,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_alert.cpp:24,1
    - Dst: static_cast<Type>
      Src: /src/botan/src/lib/tls/tls_alert.cpp:29,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 30
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 30
    functionName: Botan::TLS::Alert::Alert
    functionSourceFile: /src/botan/src/lib/tls/tls_alert.cpp
    functionUses: 1
    functionsReached:
    - std::to_string
    - size
    - Decoding_Error
    - TLS_Exception
    - static_cast<Type>
    linkageType: ''
    returnType: void
    signature: void Alert::Alert(const secure_vector<uint8_t>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls_alert.cpp:33,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls_alert.cpp:33,1
    - Dst: is_fatal
      Src: /src/botan/src/lib/tls/tls_alert.cpp:33,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls_alert.cpp:33,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls_alert.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::TLS::Alert::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_alert.cpp
    functionUses: 0
    functionsReached:
    - type
    - std::vector<uint8_t>
    - static_cast<uint8_t>
    - is_fatal
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Alert::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 74
    argCount: 1
    argNames:
    - type
    argTypes:
    - AlertType
    constantsTouched: []
    func_position:
      end: 114
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 114
    functionName: Botan::TLS::alert_type_to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_alert.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * alert_type_to_string(AlertType type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls_alert.cpp:120,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls_alert.cpp:123,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls_alert.cpp:123,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls_alert.cpp:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: Botan::TLS::Alert::type_string
    functionSourceFile: /src/botan/src/lib/tls/tls_alert.cpp
    functionUses: 6
    functionsReached:
    - type
    - std::to_string
    - std::string
    - static_cast<size_t>
    linkageType: ''
    returnType: std::string
    signature: std::string Alert::type_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~ExternalPSK()
    functionSourceFile: /src/botan/src/lib/tls/tls_external_psk.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ExternalPSK()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_external_psk.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - identity
    - prf_algo
    - psk
    argTypes:
    - std::string_view
    - std::string_view
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: Botan::TLS::ExternalPSK
    functionSourceFile: /src/botan/src/lib/tls/tls_external_psk.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ExternalPSK(std::string_view identity, std::string_view prf_algo,
      secure_vector<uint8_t> psk)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::TLS::identity
    functionSourceFile: /src/botan/src/lib/tls/tls_external_psk.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan::TLS::prf_algo
    functionSourceFile: /src/botan/src/lib/tls/tls_external_psk.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & prf_algo() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' rng'
    - max_sessions
    argTypes:
    - std::shared_ptr<RandomNumberGenerator>
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: Botan::TLS::Session_Manager_In_Memory::Session_Manager_In_Memory
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_memory.cpp
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: "void Session_Manager_In_Memory::Session_Manager_In_Memory(const std::shared_ptr<RandomNumberGenerator>&
      rng,\n                                                     size_t max_sessions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:32,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:33,1
    - Dst: capacity
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:33,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:34,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:34,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:34,1
    - Dst: erase
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:35,1
    - Dst: front
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:35,1
    - Dst: pop_front
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:36,1
    - Dst: id
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:42,1
    - Dst: random_vec
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:42,1
    - Dst: emplace
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:43,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:45,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:46,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' session'
    - ' handle'
    argTypes:
    - Session
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 48
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 48
    functionName: Botan::TLS::Session_Manager_In_Memory::store
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_memory.cpp
    functionUses: 1
    functionsReached:
    - emplace
    - BOTAN_ASSERT_NOMSG
    - random_vec
    - size
    - capacity
    - emplace_back
    - erase
    - std::move
    - id
    - pop_front
    - front
    - has_value
    linkageType: ''
    returnType: void
    signature: void Session_Manager_In_Memory::store(const Session& session, const
      Session_Handle& handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: id
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:53,1
    - Dst: find
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:54,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:54,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' handle'
    argTypes:
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: Botan::TLS::Session_Manager_In_Memory::retrieve_one
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_memory.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - end
    - find
    - id
    linkageType: ''
    returnType: std::optional<Session>
    signature: std::optional<Session> Session_Manager_In_Memory::retrieve_one(const
      Session_Handle& handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:65,1
    - Dst: session::server_info
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:72,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' info'
    - max_sessions_hint
    argTypes:
    - Server_Information
    - size_t
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: Botan::TLS::Session_Manager_In_Memory::find_some
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_memory.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - session::server_info
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::vector<Session_with_Handle>
    signature: "std::vector<Session_with_Handle> Session_Manager_In_Memory::find_some(const
      Server_Information& info,\n                                                                      const
      size_t max_sessions_hint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Session_Manager_In_Memory::remove_internal
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' handle'
    argTypes:
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: Botan::TLS::Session_Manager_In_Memory::remove
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_memory.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Session_Manager_In_Memory::remove_internal
    linkageType: ''
    returnType: size_t
    signature: size_t Session_Manager_In_Memory::remove(const Session_Handle& handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:86,1
    - Dst: std::erase_if
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:94,1
    - Dst: is_ticket
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:97,1
    - Dst: ticket
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:97,1
    - Dst: erase
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:100,1
    - Dst: id
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:102,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::remove_internal
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:103,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:103,1
    - Dst: ticket
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:109,1
    - Dst: Botan::TLS::Session_Manager_In_Memory::remove_internal
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:110,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:110,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ' handle'
    argTypes:
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 117
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 117
    functionName: Botan::TLS::Session_Manager_In_Memory::remove_internal
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_memory.cpp
    functionUses: 2
    functionsReached:
    - is_ticket
    - std::erase_if
    - auto::value
    - ticket
    - std::visit
    - get
    - erase
    - Botan::TLS::Session_Manager_In_Memory::remove_internal
    - id
    linkageType: ''
    returnType: size_t
    signature: size_t Session_Manager_In_Memory::remove_internal(const Session_Handle&
      handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:122,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:123,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:124,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls_session_manager_memory.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: Botan::TLS::Session_Manager_In_Memory::remove_all
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_memory.cpp
    functionUses: 0
    functionsReached:
    - clear
    - has_value
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t Session_Manager_In_Memory::remove_all()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls_external_psk.cpp:17,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_external_psk.cpp:17,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/tls/tls_external_psk.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: Botan::TLS::ExternalPSK::extract_master_secret
    functionSourceFile: /src/botan/src/lib/tls/tls_external_psk.cpp
    functionUses: 0
    functionsReached:
    - empty
    - BOTAN_STATE_CHECK
    - std::exchange
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> ExternalPSK::extract_master_secret()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:20,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:21,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:22,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:23,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:24,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:25,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:26,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:27,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:28,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:29,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:30,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:31,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:32,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:33,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:34,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:35,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:36,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:37,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:38,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:39,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:40,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:41,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:42,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:43,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:44,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:45,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:46,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:47,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:48,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:49,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:50,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:51,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:52,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:53,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:54,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:55,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:56,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:57,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:58,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:59,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:60,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:61,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:62,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:63,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:64,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:65,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:66,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:67,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:68,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:69,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:70,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:71,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:72,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:73,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:74,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:75,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:76,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:77,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:78,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:79,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:80,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:81,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:82,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:83,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:84,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:85,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:86,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:87,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:88,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:89,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:90,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:91,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:92,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:93,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:94,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:95,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:96,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:97,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:98,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:99,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:100,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:101,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:102,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:103,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:104,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:105,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:106,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:107,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:108,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:109,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:110,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:111,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:112,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:113,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:114,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:115,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:116,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:117,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:118,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:119,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:120,1
    - Dst: Ciphersuite
      Src: /src/botan/src/lib/tls/tls_suite_info.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 127
    functionName: '& Ciphersuite::all_known_ciphersuites()'
    functionSourceFile: /src/botan/src/lib/tls/tls_suite_info.cpp
    functionUses: 0
    functionsReached:
    - Ciphersuite
    linkageType: ''
    returnType: std::vector<Ciphersuite>
    signature: std::vector<Ciphersuite> & Ciphersuite::all_known_ciphersuites()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Policy::allow_ssl_key_log_file
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::allow_ssl_key_log_file() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Signature_Scheme::all_available_schemes
      Src: /src/botan/src/lib/tls/tls_policy.cpp:30,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_policy.cpp:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: Policy::allowed_signature_schemes
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 2
    functionsReached:
    - std::vector::push_back
    - Signature_Scheme::all_available_schemes
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> Policy::allowed_signature_schemes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Policy::allowed_signature_schemes
      Src: /src/botan/src/lib/tls/tls_policy.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Policy::acceptable_signature_schemes
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached:
    - Policy::allowed_signature_schemes
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> Policy::acceptable_signature_schemes()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: Policy::acceptable_certificate_signature_schemes
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::vector<Signature_Scheme>>
    signature: std::optional<std::vector<Signature_Scheme>> Policy::acceptable_certificate_signature_schemes()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 69
    functionName: Policy::allowed_ciphers
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Policy::allowed_ciphers() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: Policy::allowed_signature_hashes
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Policy::allowed_signature_hashes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: Policy::allowed_macs
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Policy::allowed_macs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: Policy::allowed_key_exchange_methods
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Policy::allowed_key_exchange_methods() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: Policy::allowed_signature_methods
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Policy::allowed_signature_methods() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:111,1
    - Dst: Policy::allowed_signature_methods
      Src: /src/botan/src/lib/tls/tls_policy.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig_method
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: Policy::allowed_signature_method
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - value_exists
    - Policy::allowed_signature_methods
    linkageType: ''
    returnType: bool
    signature: bool Policy::allowed_signature_method(std::string_view sig_method)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:115,1
    - Dst: Policy::allowed_signature_hashes
      Src: /src/botan/src/lib/tls/tls_policy.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig_hash
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: Policy::allowed_signature_hash
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - value_exists
    - Policy::allowed_signature_hashes
    linkageType: ''
    returnType: bool
    signature: bool Policy::allowed_signature_hash(std::string_view sig_hash) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Policy::use_ecc_point_compression
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::use_ecc_point_compression() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_policy.cpp:124,1
    - Dst: key_exchange_groups
      Src: /src/botan/src/lib/tls/tls_policy.cpp:128,1
    - Dst: is_post_quantum
      Src: /src/botan/src/lib/tls/tls_policy.cpp:132,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:132,1
    - Dst: is_post_quantum
      Src: /src/botan/src/lib/tls/tls_policy.cpp:139,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:139,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:147,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:155,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - ' supported_by_peer'
    - ' offered_by_peer'
    argTypes:
    - std::vector<Group_Params>
    - std::vector<Group_Params>
    constantsTouched: []
    func_position:
      end: 161
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 161
    functionName: Policy::choose_key_exchange_group
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - value_exists
    - empty
    - key_exchange_groups
    - is_post_quantum
    linkageType: ''
    returnType: Group_Params
    signature: "Group_Params Policy::choose_key_exchange_group(const std::vector<Group_Params>&
      supported_by_peer,\n                                               const std::vector<Group_Params>&
      offered_by_peer) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_exchange_groups
      Src: /src/botan/src/lib/tls/tls_policy.cpp:167,1
    - Dst: is_dh_named_group
      Src: /src/botan/src/lib/tls/tls_policy.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: Policy::default_dh_group
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - key_exchange_groups
    - is_dh_named_group
    linkageType: ''
    returnType: Group_Params
    signature: Group_Params Policy::default_dh_group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: Policy::minimum_dh_group_size
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::minimum_dh_group_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: Policy::minimum_ecdsa_group_size
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::minimum_ecdsa_group_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: Policy::minimum_ecdh_group_size
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::minimum_ecdh_group_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: Policy::minimum_signature_strength
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::minimum_signature_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: Policy::require_cert_revocation_info
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::require_cert_revocation_info() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: Policy::minimum_rsa_bits
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::minimum_rsa_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algo_name
      Src: /src/botan/src/lib/tls/tls_policy.cpp:276,1
    - Dst: Policy::minimum_rsa_bits
      Src: /src/botan/src/lib/tls/tls_policy.cpp:282,1
    - Dst: Policy::minimum_dh_group_size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:284,1
    - Dst: Policy::minimum_ecdh_group_size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:286,1
    - Dst: Policy::minimum_ecdsa_group_size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:288,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_policy.cpp:293,1
    - Dst: Policy::to_string
      Src: /src/botan/src/lib/tls/tls_policy.cpp:294,1
    - Dst: Policy::to_string
      Src: /src/botan/src/lib/tls/tls_policy.cpp:297,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - ' public_key'
    argTypes:
    - Public_Key
    constantsTouched: []
    func_position:
      end: 299
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 299
    functionName: Policy::check_peer_key_acceptable
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 4
    functionsReached:
    - Policy::minimum_ecdh_group_size
    - algo_name
    - Policy::to_string
    - Policy::minimum_ecdsa_group_size
    - Policy::minimum_dh_group_size
    - TLS_Exception
    - Policy::minimum_rsa_bits
    linkageType: ''
    returnType: void
    signature: void Policy::check_peer_key_acceptable(const Public_Key& public_key)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: Policy::maximum_session_tickets_per_client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::maximum_session_tickets_per_client_hello() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::days
      Src: /src/botan/src/lib/tls/tls_policy.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: Policy::session_ticket_lifetime
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached:
    - std::chrono::days
    linkageType: ''
    returnType: std::chrono::seconds
    signature: std::chrono::seconds Policy::session_ticket_lifetime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: Policy::reuse_session_tickets
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::reuse_session_tickets() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: Policy::new_session_tickets_upon_handshake_success
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::new_session_tickets_upon_handshake_success() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Policy::allow_tls13
      Src: /src/botan/src/lib/tls/tls_policy.cpp:319,1
    - Dst: Policy::allow_tls12
      Src: /src/botan/src/lib/tls/tls_policy.cpp:325,1
    - Dst: Policy::allow_dtls12
      Src: /src/botan/src/lib/tls/tls_policy.cpp:329,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - version
    argTypes:
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 335
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 335
    functionName: Policy::acceptable_protocol_version
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::allow_tls12
    - Policy::allow_tls13
    - Policy::allow_dtls12
    linkageType: ''
    returnType: bool
    signature: bool Policy::acceptable_protocol_version(Protocol_Version version)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Policy::acceptable_protocol_version
      Src: /src/botan/src/lib/tls/tls_policy.cpp:339,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls_policy.cpp:342,1
    - Dst: Policy::acceptable_protocol_version
      Src: /src/botan/src/lib/tls/tls_policy.cpp:345,1
    - Dst: Policy::acceptable_protocol_version
      Src: /src/botan/src/lib/tls/tls_policy.cpp:349,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls_policy.cpp:352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - datagram
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 354
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 354
    functionName: Policy::latest_supported_version
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::acceptable_protocol_version
    - Invalid_State
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version Policy::latest_supported_version(bool datagram) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:357,1
    - Dst: Policy::allowed_ciphers
      Src: /src/botan/src/lib/tls/tls_policy.cpp:357,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:357,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:358,1
    - Dst: Policy::allowed_macs
      Src: /src/botan/src/lib/tls/tls_policy.cpp:358,1
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' ciphersuite'
    argTypes:
    - Ciphersuite
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: Policy::acceptable_ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - value_exists
    - Policy::allowed_macs
    - Policy::allowed_ciphers
    - cipher_algo
    - mac_algo
    linkageType: ''
    returnType: bool
    signature: bool Policy::acceptable_ciphersuite(const Ciphersuite& ciphersuite)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: Policy::allow_client_initiated_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::allow_client_initiated_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Policy::allow_server_initiated_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::allow_server_initiated_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: Policy::allow_insecure_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::allow_insecure_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: Policy::allow_tls12
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::allow_tls12() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 387
    functionName: Policy::allow_tls13
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::allow_tls13() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: Policy::allow_dtls12
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::allow_dtls12() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: Policy::include_time_in_hello_random
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::include_time_in_hello_random() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: Policy::hide_unknown_users
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::hide_unknown_users() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 407
    functionName: Policy::server_uses_own_ciphersuite_preferences
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::server_uses_own_ciphersuite_preferences() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: Policy::negotiate_encrypt_then_mac
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::negotiate_encrypt_then_mac() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: Policy::record_size_limit
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: std::optional<uint16_t> Policy::record_size_limit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 419
    functionName: Policy::support_cert_status_message
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::support_cert_status_message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionName: Policy::allow_resumption_for_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::allow_resumption_for_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: Policy::tls_13_middlebox_compatibility_mode
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::tls_13_middlebox_compatibility_mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 431
    functionName: Policy::hash_hello_random
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::hash_hello_random() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: Policy::only_resume_with_exact_version
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::only_resume_with_exact_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: Policy::require_client_certificate_authentication
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::require_client_certificate_authentication() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Policy::require_client_certificate_authentication
      Src: /src/botan/src/lib/tls/tls_policy.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: Policy::request_client_certificate_authentication
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::require_client_certificate_authentication
    linkageType: ''
    returnType: bool
    signature: bool Policy::request_client_certificate_authentication() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 447
    functionName: Policy::abort_connection_on_undesired_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::abort_connection_on_undesired_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: Policy::accepted_client_certificate_types
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Certificate_Type>
    signature: std::vector<Certificate_Type> Policy::accepted_client_certificate_types()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: Policy::accepted_server_certificate_types
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Certificate_Type>
    signature: std::vector<Certificate_Type> Policy::accepted_server_certificate_types()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 459
    functionName: Policy::allow_dtls_epoch0_restart
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Policy::allow_dtls_epoch0_restart() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 463
    functionName: Policy::maximum_certificate_chain_size
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::maximum_certificate_chain_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: Policy::dtls_initial_timeout
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::dtls_initial_timeout() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: Policy::dtls_maximum_timeout
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::dtls_maximum_timeout() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: Policy::dtls_default_mtu
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Policy::dtls_default_mtu() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint16_t>
      Src: /src/botan/src/lib/tls/tls_policy.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: Policy::srtp_profiles
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint16_t>
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> Policy::srtp_profiles() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ciphers'
    - ' macs'
    - ' kex'
    - ' sigs'
    argTypes:
    - std::vector<std::string>
    - std::vector<std::string>
    - std::vector<std::string>
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 491
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 491
    functionName: Ciphersuite_Preference_Ordering::Ciphersuite_Preference_Ordering
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Ciphersuite_Preference_Ordering(const std::vector<std::string>&
      ciphers,\n                                      const std::vector<std::string>&
      macs,\n                                      const std::vector<std::string>&
      kex,\n                                      const std::vector<std::string>&
      sigs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls_policy.cpp:494,1
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls_policy.cpp:494,1
    - Dst: kex_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:496,1
    - Dst: kex_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:499,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:505,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:505,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:507,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:510,1
    - Dst: cipher_keylen
      Src: /src/botan/src/lib/tls/tls_policy.cpp:516,1
    - Dst: cipher_keylen
      Src: /src/botan/src/lib/tls/tls_policy.cpp:516,1
    - Dst: cipher_keylen
      Src: /src/botan/src/lib/tls/tls_policy.cpp:517,1
    - Dst: cipher_keylen
      Src: /src/botan/src/lib/tls/tls_policy.cpp:517,1
    - Dst: cipher_keylen
      Src: /src/botan/src/lib/tls/tls_policy.cpp:520,1
    - Dst: cipher_keylen
      Src: /src/botan/src/lib/tls/tls_policy.cpp:520,1
    - Dst: auth_method
      Src: /src/botan/src/lib/tls/tls_policy.cpp:525,1
    - Dst: auth_method
      Src: /src/botan/src/lib/tls/tls_policy.cpp:525,1
    - Dst: sig_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:527,1
    - Dst: sig_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:530,1
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:536,1
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:536,1
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:538,1
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:541,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Ciphersuite
    - Ciphersuite
    constantsTouched: []
    func_position:
      end: 548
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 548
    functionName: operator()(const Ciphersuite& a, const Ciphersuite& b) const
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - kex_method
    - kex_algo
    - cipher_algo
    - cipher_keylen
    - sig_algo
    - mac_algo
    - auth_method
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Ciphersuite& a, const Ciphersuite& b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Policy::allowed_ciphers
      Src: /src/botan/src/lib/tls/tls_policy.cpp:557,1
    - Dst: Policy::allowed_macs
      Src: /src/botan/src/lib/tls/tls_policy.cpp:558,1
    - Dst: Policy::allowed_key_exchange_methods
      Src: /src/botan/src/lib/tls/tls_policy.cpp:559,1
    - Dst: Policy::allowed_signature_methods
      Src: /src/botan/src/lib/tls/tls_policy.cpp:560,1
    - Dst: Ciphersuite::all_known_ciphersuites
      Src: /src/botan/src/lib/tls/tls_policy.cpp:564,1
    - Dst: valid
      Src: /src/botan/src/lib/tls/tls_policy.cpp:566,1
    - Dst: usable_in_version
      Src: /src/botan/src/lib/tls/tls_policy.cpp:571,1
    - Dst: Policy::acceptable_ciphersuite
      Src: /src/botan/src/lib/tls/tls_policy.cpp:576,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:580,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:580,1
    - Dst: Protocol_Version::is_pre_tls_13
      Src: /src/botan/src/lib/tls/tls_policy.cpp:586,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:587,1
    - Dst: kex_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:587,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:591,1
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:591,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_policy.cpp:595,1
    - Dst: sig_algo
      Src: /src/botan/src/lib/tls/tls_policy.cpp:595,1
    - Dst: auth_method
      Src: /src/botan/src/lib/tls/tls_policy.cpp:597,1
    - Dst: psk_ciphersuite
      Src: /src/botan/src/lib/tls/tls_policy.cpp:597,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_policy.cpp:604,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls_policy.cpp:607,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls_policy.cpp:608,1
    - Dst: std::sort
      Src: /src/botan/src/lib/tls/tls_policy.cpp:612,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/tls/tls_policy.cpp:612,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls_policy.cpp:612,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls_policy.cpp:615,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:615,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_policy.cpp:617,1
    - Dst: ciphersuite_code
      Src: /src/botan/src/lib/tls/tls_policy.cpp:617,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 36
    argCount: 1
    argNames:
    - version
    argTypes:
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 620
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 620
    functionName: Policy::ciphersuite_list
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::begin
    - Protocol_Version::is_pre_tls_13
    - sig_algo
    - std::vector::push_back
    - std::vector::empty
    - Policy::allowed_ciphers
    - Ciphersuite::all_known_ciphersuites
    - mac_algo
    - std::vector::reserve
    - Policy::allowed_key_exchange_methods
    - std::vector::end
    - value_exists
    - ciphersuite_code
    - Invalid_State
    - Policy::allowed_macs
    - Policy::acceptable_ciphersuite
    - cipher_algo
    - auth_method
    - psk_ciphersuite
    - kex_algo
    - Policy::allowed_signature_methods
    - valid
    - usable_in_version
    - std::sort
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> Policy::ciphersuite_list(Protocol_Version version)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:626,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' o'
    - key
    - ' v'
    argTypes:
    - std::ostream
    - char*
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 633
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 633
    functionName: print_vec
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void print_vec(std::ostream& o, const char* key, const std::vector<std::string>&
      v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/botan/src/lib/tls/tls_policy.cpp:639,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls_policy.cpp:640,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls_policy.cpp:640,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:646,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:648,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ' o'
    - key
    - ' params'
    argTypes:
    - std::ostream
    - char*
    - std::vector<Group_Params>
    constantsTouched: []
    func_position:
      end: 653
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 653
    functionName: print_vec
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::vector::size
    - auto::value
    - to_string
    linkageType: ''
    returnType: void
    signature: void print_vec(std::ostream& o, const char* key, const std::vector<Group_Params>&
      params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:657,1
    - Dst: certificate_type_to_string
      Src: /src/botan/src/lib/tls/tls_policy.cpp:658,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' o'
    - key
    - ' types'
    argTypes:
    - std::ostream
    - char*
    - std::vector<Certificate_Type>
    constantsTouched: []
    func_position:
      end: 664
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 664
    functionName: print_vec
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - certificate_type_to_string
    - size
    linkageType: ''
    returnType: void
    signature: void print_vec(std::ostream& o, const char* key, const std::vector<Certificate_Type>&
      types)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' o'
    - key
    - b
    argTypes:
    - std::ostream
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 668
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 668
    functionName: print_bool
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void print_bool(std::ostream& o, const char* key, bool b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:673,1
    - Dst: Policy::allow_tls12
      Src: /src/botan/src/lib/tls/tls_policy.cpp:673,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:674,1
    - Dst: Policy::allow_tls13
      Src: /src/botan/src/lib/tls/tls_policy.cpp:674,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:675,1
    - Dst: Policy::allow_dtls12
      Src: /src/botan/src/lib/tls/tls_policy.cpp:675,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:676,1
    - Dst: Policy::allow_ssl_key_log_file
      Src: /src/botan/src/lib/tls/tls_policy.cpp:676,1
    - Dst: print_vec
      Src: /src/botan/src/lib/tls/tls_policy.cpp:677,1
    - Dst: Policy::allowed_ciphers
      Src: /src/botan/src/lib/tls/tls_policy.cpp:677,1
    - Dst: print_vec
      Src: /src/botan/src/lib/tls/tls_policy.cpp:678,1
    - Dst: Policy::allowed_macs
      Src: /src/botan/src/lib/tls/tls_policy.cpp:678,1
    - Dst: print_vec
      Src: /src/botan/src/lib/tls/tls_policy.cpp:679,1
    - Dst: Policy::allowed_signature_hashes
      Src: /src/botan/src/lib/tls/tls_policy.cpp:679,1
    - Dst: print_vec
      Src: /src/botan/src/lib/tls/tls_policy.cpp:680,1
    - Dst: Policy::allowed_signature_methods
      Src: /src/botan/src/lib/tls/tls_policy.cpp:680,1
    - Dst: print_vec
      Src: /src/botan/src/lib/tls/tls_policy.cpp:681,1
    - Dst: Policy::allowed_key_exchange_methods
      Src: /src/botan/src/lib/tls/tls_policy.cpp:681,1
    - Dst: print_vec
      Src: /src/botan/src/lib/tls/tls_policy.cpp:682,1
    - Dst: key_exchange_groups
      Src: /src/botan/src/lib/tls/tls_policy.cpp:682,1
    - Dst: key_exchange_groups_to_offer
      Src: /src/botan/src/lib/tls/tls_policy.cpp:683,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls_policy.cpp:684,1
    - Dst: print_vec
      Src: /src/botan/src/lib/tls/tls_policy.cpp:685,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls_policy.cpp:685,1
    - Dst: print_vec
      Src: /src/botan/src/lib/tls/tls_policy.cpp:687,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:689,1
    - Dst: Policy::allow_insecure_renegotiation
      Src: /src/botan/src/lib/tls/tls_policy.cpp:689,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:690,1
    - Dst: Policy::include_time_in_hello_random
      Src: /src/botan/src/lib/tls/tls_policy.cpp:690,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:691,1
    - Dst: Policy::allow_server_initiated_renegotiation
      Src: /src/botan/src/lib/tls/tls_policy.cpp:691,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:692,1
    - Dst: Policy::hide_unknown_users
      Src: /src/botan/src/lib/tls/tls_policy.cpp:692,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:693,1
    - Dst: Policy::server_uses_own_ciphersuite_preferences
      Src: /src/botan/src/lib/tls/tls_policy.cpp:693,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:694,1
    - Dst: Policy::negotiate_encrypt_then_mac
      Src: /src/botan/src/lib/tls/tls_policy.cpp:694,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:695,1
    - Dst: Policy::support_cert_status_message
      Src: /src/botan/src/lib/tls/tls_policy.cpp:695,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:696,1
    - Dst: Policy::tls_13_middlebox_compatibility_mode
      Src: /src/botan/src/lib/tls/tls_policy.cpp:696,1
    - Dst: print_vec
      Src: /src/botan/src/lib/tls/tls_policy.cpp:697,1
    - Dst: Policy::accepted_client_certificate_types
      Src: /src/botan/src/lib/tls/tls_policy.cpp:697,1
    - Dst: print_vec
      Src: /src/botan/src/lib/tls/tls_policy.cpp:698,1
    - Dst: Policy::accepted_server_certificate_types
      Src: /src/botan/src/lib/tls/tls_policy.cpp:698,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:699,1
    - Dst: Policy::hash_hello_random
      Src: /src/botan/src/lib/tls/tls_policy.cpp:699,1
    - Dst: Policy::record_size_limit
      Src: /src/botan/src/lib/tls/tls_policy.cpp:700,1
    - Dst: Policy::record_size_limit
      Src: /src/botan/src/lib/tls/tls_policy.cpp:701,1
    - Dst: Policy::maximum_session_tickets_per_client_hello
      Src: /src/botan/src/lib/tls/tls_policy.cpp:703,1
    - Dst: Policy::session_ticket_lifetime
      Src: /src/botan/src/lib/tls/tls_policy.cpp:704,1
    - Dst: print_bool
      Src: /src/botan/src/lib/tls/tls_policy.cpp:705,1
    - Dst: Policy::reuse_session_tickets
      Src: /src/botan/src/lib/tls/tls_policy.cpp:705,1
    - Dst: Policy::new_session_tickets_upon_handshake_success
      Src: /src/botan/src/lib/tls/tls_policy.cpp:706,1
    - Dst: Policy::minimum_dh_group_size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:707,1
    - Dst: Policy::minimum_ecdh_group_size
      Src: /src/botan/src/lib/tls/tls_policy.cpp:708,1
    - Dst: Policy::minimum_rsa_bits
      Src: /src/botan/src/lib/tls/tls_policy.cpp:709,1
    - Dst: Policy::minimum_signature_strength
      Src: /src/botan/src/lib/tls/tls_policy.cpp:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - std::ostream
    constantsTouched: []
    func_position:
      end: 711
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 711
    functionName: Policy::print
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached:
    - Policy::hide_unknown_users
    - Policy::support_cert_status_message
    - key_exchange_groups_to_offer
    - Policy::session_ticket_lifetime
    - Policy::accepted_server_certificate_types
    - Policy::hash_hello_random
    - Policy::minimum_ecdh_group_size
    - Policy::minimum_signature_strength
    - Policy::record_size_limit
    - Policy::allowed_ciphers
    - Policy::minimum_dh_group_size
    - Policy::allow_server_initiated_renegotiation
    - Policy::maximum_session_tickets_per_client_hello
    - Policy::allowed_signature_hashes
    - Policy::allow_dtls12
    - Policy::allowed_key_exchange_methods
    - Policy::reuse_session_tickets
    - Policy::allow_insecure_renegotiation
    - print_vec
    - Policy::include_time_in_hello_random
    - Policy::allowed_macs
    - Policy::allow_tls13
    - std::string
    - Policy::accepted_client_certificate_types
    - Policy::tls_13_middlebox_compatibility_mode
    - print_bool
    - Policy::server_uses_own_ciphersuite_preferences
    - Policy::minimum_rsa_bits
    - Policy::negotiate_encrypt_then_mac
    - Policy::new_session_tickets_upon_handshake_success
    - Policy::allow_tls12
    - key_exchange_groups
    - Policy::allowed_signature_methods
    - Policy::allow_ssl_key_log_file
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void Policy::print(std::ostream& o) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Policy::print
      Src: /src/botan/src/lib/tls/tls_policy.cpp:715,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/tls/tls_policy.cpp:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 717
      start: 713
    functionDepth: 3
    functionLinenumber: 713
    functionLinenumberEnd: 717
    functionName: Policy::to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 2
    functionsReached:
    - Policy::print
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Policy::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 721
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 721
    functionName: Strict_Policy::allowed_ciphers
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Strict_Policy::allowed_ciphers() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 725
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 725
    functionName: Strict_Policy::allowed_signature_hashes
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Strict_Policy::allowed_signature_hashes()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 729
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 729
    functionName: Strict_Policy::allowed_macs
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Strict_Policy::allowed_macs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 733
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 733
    functionName: Strict_Policy::allowed_key_exchange_methods
    functionSourceFile: /src/botan/src/lib/tls/tls_policy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Strict_Policy::allowed_key_exchange_methods()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 118
    functionName: Botan::TLS::Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: Botan::TLS::Server_Name_Indicator
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Server_Name_Indicator
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Botan::TLS::type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 1
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - host_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Botan::TLS::Server_Name_Indicator
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Server_Name_Indicator(std::string_view host_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: Botan::TLS::host_name
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string host_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan::TLS::empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: Botan::Renegotiation_Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Renegotiation_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: Botan::type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - 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: Botan::Renegotiation_Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Renegotiation_Extension()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bits'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: Botan::Renegotiation_Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Renegotiation_Extension(const std::vector<uint8_t>& bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: Botan::renegotiation_info
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & renegotiation_info() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: Botan::empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: Application_Layer_Protocol_Notification
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Application_Layer_Protocol_Notification
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 35
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: protocols
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & protocols() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls_extensions.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - protocol
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: Application_Layer_Protocol_Notification
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: void Application_Layer_Protocol_Notification(std::string_view protocol)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' protocols'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: Application_Layer_Protocol_Notification
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Application_Layer_Protocol_Notification(const std::vector<std::string>&
      protocols)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 240
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Certificate_Type_Base
      Src: /src/botan/src/lib/tls/tls_extensions.h:218,1
    - Dst: Certificate_Type_Base
      Src: /src/botan/src/lib/tls/tls_extensions.h:224,1
    - Dst: Certificate_Type_Base
      Src: /src/botan/src/lib/tls/tls_extensions.h:228,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.h:240,1
    - Dst: front
      Src: /src/botan/src/lib/tls/tls_extensions.h:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 247
    functionName: Certificate_Type_Base
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 1
    functionsReached:
    - front
    - Certificate_Type_Base
    - size
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Certificate_Type_Base
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: Client_Certificate_Type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached:
    - static_type
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Client_Certificate_Type
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 275
    functionName: Server_Certificate_Type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached:
    - static_type
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Server_Certificate_Type
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: Session_Ticket_Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Session_Ticket_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 38
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: contents
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: Session_Ticket
    signature: Session_Ticket & contents() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: Session_Ticket_Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Session_Ticket_Extension()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - session_ticket
    argTypes:
    - Session_Ticket
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: Session_Ticket_Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Session_Ticket_Extension(Session_Ticket session_ticket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls_extensions.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 16
    functionsReached:
    - get
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize(Connection_Side) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 240
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: Supported_Groups
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Supported_Groups
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 39
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.h:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 241
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 373
    functionName: Supported_Point_Formats
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached:
    - static_type
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Supported_Point_Formats
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: Signature_Algorithms
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Signature_Algorithms
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 382
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 41
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 384
    functionName: supported_schemes
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> & supported_schemes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 388
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 242
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions.h:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schemes
    argTypes:
    - std::vector<Signature_Scheme>
    constantsTouched: []
    func_position:
      end: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    functionName: Signature_Algorithms
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Signature_Algorithms(std::vector<Signature_Scheme> schemes)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: Signature_Algorithms_Cert
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Signature_Algorithms_Cert
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 42
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 417
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 417
    functionName: supported_schemes
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> & supported_schemes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 421
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 421
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 243
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schemes
    argTypes:
    - std::vector<Signature_Scheme>
    constantsTouched: []
    func_position:
      end: 423
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 423
    functionName: Signature_Algorithms_Cert
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Signature_Algorithms_Cert(std::vector<Signature_Scheme> schemes)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 436
    functionName: SRTP_Protection_Profiles
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API SRTP_Protection_Profiles
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 43
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 440
    functionName: profiles
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> & profiles() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 444
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 444
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 244
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pp'
    argTypes:
    - std::vector<uint16_t>
    constantsTouched: []
    func_position:
      end: 446
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 446
    functionName: SRTP_Protection_Profiles
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SRTP_Protection_Profiles(const std::vector<uint16_t>& pp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pp
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 448
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: SRTP_Protection_Profiles
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SRTP_Protection_Profiles(uint16_t pp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 461
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 461
    functionName: Extended_Master_Secret
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Extended_Master_Secret
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 463
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 44
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 467
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 244
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 469
    functionName: Extended_Master_Secret
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Extended_Master_Secret()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionName: Encrypt_then_MAC
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Encrypt_then_MAC
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 481
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 481
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 45
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 485
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 244
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: Encrypt_then_MAC
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Encrypt_then_MAC()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 499
    functionName: Certificate_Status_Request
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Certificate_Status_Request
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 501
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 501
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 46
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 505
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 505
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 244
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 537
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 537
    functionName: Supported_Versions
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Supported_Versions
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 539
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 539
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 47
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.h:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 543
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 245
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls_extensions.h:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 547
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 547
    functionName: Supported_Versions
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Supported_Versions(Protocol_Version version)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 553
    functionName: versions
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Protocol_Version>
    signature: std::vector<Protocol_Version> & versions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 568
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 568
    functionName: Record_Size_Limit
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Record_Size_Limit
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 570
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 570
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 48
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: limit
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t limit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 580
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 580
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 245
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 594
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 594
    functionName: Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 596
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 49
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.h:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 600
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 600
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 246
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 602
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 602
    functionName: get_cookie
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & get_cookie() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 617
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 617
    functionName: Cookie
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 1
    functionsReached:
    - static_type
    linkageType: ''
    returnType: void
    signature: void Cookie(TLS_Data_Reader& reader, uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 619
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 619
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 51
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.h:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 623
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 623
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 247
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 625
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 625
    functionName: modes
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::vector<PSK_Key_Exchange_Mode>
    signature: std::vector<PSK_Key_Exchange_Mode> & modes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions.h:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - modes
    argTypes:
    - std::vector<PSK_Key_Exchange_Mode>
    constantsTouched: []
    func_position:
      end: 627
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 627
    functionName: PSK_Key_Exchange_Modes
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PSK_Key_Exchange_Modes(std::vector<PSK_Key_Exchange_Mode> modes)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 640
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 640
    functionName: Certificate_Authorities
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Certificate_Authorities
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 642
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 642
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 52
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.h:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 646
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 646
    functionName: empty
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 248
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 648
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 648
    functionName: distinguished_names
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<X509_DN>
    signature: std::vector<X509_DN> & distinguished_names() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 662
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 662
    functionName: Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 664
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 664
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 53
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 762
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 762
    functionName: Key_Share
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Key_Share
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 764
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 764
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 54
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 856
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 856
    functionName: ~Key_Share() override
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached:
    - static_type
    linkageType: ''
    returnType: void
    signature: void ~Key_Share() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 858
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 858
    functionName: type
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 56
    functionsReached:
    - static_type
    linkageType: ''
    returnType: Extension_Code
    signature: Extension_Code type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 864
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 864
    functionName: max_early_data_size
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> max_early_data_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions.h:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 874
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 874
    functionName: EarlyDataIndication
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 3
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void EarlyDataIndication(std::optional<uint32_t> max_early_data_size
      = std::nullopt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Unknown_Extension
      Src: /src/botan/src/lib/tls/tls_extensions.h:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 902
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 902
    functionName: Unknown_Extension
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 1
    functionsReached:
    - Unknown_Extension
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Unknown_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<T*>
      Src: /src/botan/src/lib/tls/tls_extensions.h:915,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls_extensions.h:915,1
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Extension::static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:915,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls_extensions.h:920,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls_extensions.h:923,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls_extensions.h:925,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls_extensions.h:927,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls_extensions.h:931,1
    - Dst: std::unique_ptr<Extension>
      Src: /src/botan/src/lib/tls/tls_extensions.h:931,1
    - Dst: contains_other_than
      Src: /src/botan/src/lib/tls/tls_extensions.h:953,1
    - Dst: take
      Src: /src/botan/src/lib/tls/tls_extensions.h:964,1
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Extension::static_type
      Src: /src/botan/src/lib/tls/tls_extensions.h:964,1
    - Dst: std::unique_ptr::reset
      Src: /src/botan/src/lib/tls/tls_extensions.h:966,1
    - Dst: dynamic_cast<T*>
      Src: /src/botan/src/lib/tls/tls_extensions.h:966,1
    - Dst: auto::get
      Src: /src/botan/src/lib/tls/tls_extensions.h:966,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls_extensions.h:967,1
    - Dst: auto::release
      Src: /src/botan/src/lib/tls/tls_extensions.h:968,1
    - Dst: take
      Src: /src/botan/src/lib/tls/tls_extensions.h:987,1
    - Dst: deserialize
      Src: /src/botan/src/lib/tls/tls_extensions.h:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 1001
    functionName: Extensions
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions.h
    functionUses: 0
    functionsReached:
    - add
    - Botan_Tests::TLS_Handshake_Test::Test_Extension::static_type
    - BOTAN_ASSERT_NOMSG
    - std::unique_ptr<Extension>
    - auto::release
    - std::unique_ptr::reset
    - size
    - take
    - dynamic_cast<T*>
    - empty
    - get
    - deserialize
    - auto::get
    - contains_other_than
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Extensions
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Server
      Src: /src/botan/src/lib/tls/tls_server.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 123
    functionName: Botan::TLS::Channel
    functionSourceFile: /src/botan/src/lib/tls/tls_server.h
    functionUses: 0
    functionsReached:
    - Server
    linkageType: ''
    returnType: Server
    signature: Server Channel
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:39,1
    - Dst: hash_hello_random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:41,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:42,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:43,1
    - Dst: auto::final
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:44,1
    - Dst: include_time_in_hello_random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:50,1
    - Dst: allow_tls12
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:50,1
    - Dst: allow_dtls12
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:50,1
    - Dst: store_be
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:53,1
    - Dst: auto::data
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' rng'
    - ' cb'
    - ' policy'
    argTypes:
    - RandomNumberGenerator
    - Callbacks
    - Policy
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: Botan::TLS::make_hello_random
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - auto::final
    - Botan::HashFunction::create_or_throw
    - random_vec
    - auto::update
    - allow_dtls12
    - hash_hello_random
    - auto::data
    - allow_tls12
    - store_be
    - include_time_in_hello_random
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> make_hello_random(RandomNumberGenerator& rng,
      Callbacks& cb, const Policy& policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan::TLS::Client_Hello_Internal::Client_Hello_Internal
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Client_Hello_Internal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:69,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:70,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:78,1
    - Dst: TLS_Data_Reader::get_fixed
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:79,1
    - Dst: Session_ID
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:80,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:80,1
    - Dst: is_datagram_protocol
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:82,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:83,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:84,1
    - Dst: TLS_Data_Reader::get_data_read_so_far
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:84,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:86,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:88,1
    - Dst: TLS_Data_Reader::get_remaining
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:88,1
    - Dst: auto::final_stdvec
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:89,1
    - Dst: TLS_Data_Reader::get_range_vector
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:92,1
    - Dst: TLS_Data_Reader::get_range_vector
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:93,1
    - Dst: deserialize
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 96
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 96
    functionName: Botan::TLS::Client_Hello_Internal::Client_Hello_Internal
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - Session_ID
    - Botan::HashFunction::create_or_throw
    - auto::update
    - is_datagram_protocol
    - TLS_Data_Reader::get_range
    - size
    - TLS_Data_Reader::get_range_vector
    - TLS_Data_Reader::get_remaining
    - auto::final_stdvec
    - Decoding_Error
    - Protocol_Version
    - deserialize
    - TLS_Data_Reader::get_fixed
    - TLS_Data_Reader::get_data_read_so_far
    linkageType: ''
    returnType: void
    signature: void Client_Hello_Internal(const std::vector<uint8_t>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:123,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:124,1
    - Dst: is_datagram_protocol
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 133
    functionName: Botan::TLS::Client_Hello_Internal::version
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - is_datagram_protocol
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Botan::TLS::Client_Hello_Internal::legacy_version
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version legacy_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: '& session_id() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Session_ID
    signature: Session_ID & session_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: '& random() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & random() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: '& ciphersuites() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> & ciphersuites() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: '& comp_methods() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & comp_methods() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: '& hello_cookie() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & hello_cookie() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: '& hello_cookie_input_bits() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & hello_cookie_input_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: '& extensions() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Extensions
    signature: Extensions & extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: '& extensions()'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Extensions
    signature: Extensions & extensions()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: Botan::TLS::Client_Hello::Client_Hello
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Client_Hello::Client_Hello(Client_Hello&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: Client_Hello::~Client_Hello()
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Client_Hello::~Client_Hello()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Client_Hello_Internal>
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: Botan::TLS::Client_Hello::Client_Hello
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Client_Hello_Internal>
    linkageType: ''
    returnType: void
    signature: void Client_Hello::Client_Hello()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:176,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::unique_ptr<Client_Hello_Internal>
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: Botan::TLS::Client_Hello::Client_Hello
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Client_Hello::Client_Hello(std::unique_ptr<Client_Hello_Internal>
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: Botan::TLS::Client_Hello::type
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handshake_Type
    signature: Handshake_Type Client_Hello::type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client_Hello::legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: Botan::TLS::Client_Hello::legacy_version
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client_Hello::legacy_version
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version Client_Hello::legacy_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '& Client_Hello::random() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - random
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & Client_Hello::random() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session_id
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: '& Client_Hello::session_id() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - session_id
    linkageType: ''
    returnType: Session_ID
    signature: Session_ID & Client_Hello::session_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: comp_methods
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: '& Client_Hello::compression_methods() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - comp_methods
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & Client_Hello::compression_methods() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphersuites
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: '& Client_Hello::ciphersuites() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - ciphersuites
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> & Client_Hello::ciphersuites() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: Botan::TLS::Client_Hello::extension_types
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: std::set<Extension_Code>
    signature: std::set<Extension_Code> Client_Hello::extension_types() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: '& Client_Hello::extensions() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: Extensions
    signature: Extensions & Client_Hello::extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:213,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:213,1
    - Dst: cookie
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hello_verify'
    argTypes:
    - Hello_Verify_Request
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: Botan::TLS::Client_Hello_12::update_hello_cookie
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - legacy_version
    - cookie
    linkageType: ''
    returnType: void
    signature: void Client_Hello_12::update_hello_cookie(const Hello_Verify_Request&
      hello_verify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:223,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:225,1
    - Dst: Botan::TLS::Client_Hello::legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:225,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:226,1
    - Dst: Botan::TLS::Client_Hello::legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:226,1
    - Dst: random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:227,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:229,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:229,1
    - Dst: Botan::TLS::Client_Hello::legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:231,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:232,1
    - Dst: hello_cookie
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:232,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:235,1
    - Dst: ciphersuites
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:235,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:236,1
    - Dst: comp_methods
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:236,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 247
    functionName: Botan::TLS::Client_Hello::serialize
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - session_id
    - comp_methods
    - hello_cookie
    - Botan::TLS::Client_Hello::legacy_version
    - random
    - std::vector::push_back
    - std::vector::reserve
    - append_tls_length_value
    - extensions
    - ciphersuites
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Client_Hello::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:250,1
    - Dst: hello_cookie_input_bits
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:250,1
    - Dst: hello_cookie_input_bits
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: Botan::TLS::Client_Hello::cookie_input_data
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - hello_cookie_input_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Client_Hello::cookie_input_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:259,1
    - Dst: ciphersuites
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:259,1
    - Dst: ciphersuites
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:259,1
    - Dst: ciphersuites
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ciphersuite
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: Botan::TLS::Client_Hello::offered_suite
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - find
    - ciphersuites
    linkageType: ''
    returnType: bool
    signature: bool Client_Hello::offered_suite(uint16_t ciphersuite) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:264,1
    - Dst: Signature_Algorithms*::supported_schemes
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: Botan::TLS::Client_Hello::signature_schemes
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - Signature_Algorithms*::supported_schemes
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> Client_Hello::signature_schemes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:275,1
    - Dst: Signature_Algorithms_Cert*::supported_schemes
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:276,1
    - Dst: Botan::TLS::Client_Hello::signature_schemes
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 280
    functionName: Botan::TLS::Client_Hello::certificate_signature_schemes
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello::signature_schemes
    - extensions
    - Signature_Algorithms_Cert*::supported_schemes
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> Client_Hello::certificate_signature_schemes()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:283,1
    - Dst: Supported_Groups*::ec_groups
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: Botan::TLS::Client_Hello::supported_ecc_curves
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - Supported_Groups*::ec_groups
    linkageType: ''
    returnType: std::vector<Group_Params>
    signature: std::vector<Group_Params> Client_Hello::supported_ecc_curves() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:290,1
    - Dst: Supported_Groups*::dh_groups
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:291,1
    - Dst: std::vector<Group_Params>
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: Botan::TLS::Client_Hello::supported_dh_groups
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - Supported_Groups*::dh_groups
    - std::vector<Group_Params>
    linkageType: ''
    returnType: std::vector<Group_Params>
    signature: std::vector<Group_Params> Client_Hello::supported_dh_groups() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:297,1
    - Dst: Supported_Point_Formats*::prefers_compressed
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 301
    functionName: Botan::TLS::Client_Hello_12::prefers_compressed_ec_points
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - Supported_Point_Formats*::prefers_compressed
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Client_Hello_12::prefers_compressed_ec_points() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:304,1
    - Dst: Server_Name_Indicator*::host_name
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: Botan::TLS::Client_Hello::sni_hostname
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - Server_Name_Indicator*::host_name
    linkageType: ''
    returnType: std::string
    signature: std::string Client_Hello::sni_hostname() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: Botan::TLS::Client_Hello_12::secure_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Client_Hello_12::secure_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:315,1
    - Dst: Renegotiation_Extension*::renegotiation_info
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: Botan::TLS::Client_Hello_12::renegotiation_info
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - Renegotiation_Extension*::renegotiation_info
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Client_Hello_12::renegotiation_info() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:322,1
    - Dst: Supported_Versions*::versions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: Botan::TLS::Client_Hello::supported_versions
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - Supported_Versions*::versions
    linkageType: ''
    returnType: std::vector<Protocol_Version>
    signature: std::vector<Protocol_Version> Client_Hello::supported_versions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: Botan::TLS::Client_Hello_12::supports_session_ticket
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Client_Hello_12::supports_session_ticket() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:333,1
    - Dst: auto*::contents
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: Botan::TLS::Client_Hello_12::session_ticket
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - auto*::contents
    linkageType: ''
    returnType: Session_Ticket
    signature: Session_Ticket Client_Hello_12::session_ticket() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client_Hello_12::session_ticket
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:344,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:344,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:346,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 351
    functionName: Botan::TLS::Client_Hello_12::session_handle
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - session_id
    - empty
    - auto::empty
    - Botan::TLS::Client_Hello_12::session_ticket
    linkageType: ''
    returnType: std::optional<Session_Handle>
    signature: std::optional<Session_Handle> Client_Hello_12::session_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: Botan::TLS::Client_Hello::supports_alpn
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Client_Hello::supports_alpn() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: Botan::TLS::Client_Hello_12::supports_extended_master_secret
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Client_Hello_12::supports_extended_master_secret() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: Botan::TLS::Client_Hello_12::supports_cert_status_message
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Client_Hello_12::supports_cert_status_message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Botan::TLS::Client_Hello_12::supports_encrypt_then_mac
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Client_Hello_12::supports_encrypt_then_mac() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: Botan::TLS::Client_Hello::sent_signature_algorithms
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Client_Hello::sent_signature_algorithms() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:374,1
    - Dst: auto::protocols
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 378
    functionName: Botan::TLS::Client_Hello::next_protocols
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - auto::protocols
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Client_Hello::next_protocols() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:381,1
    - Dst: SRTP_Protection_Profiles*::profiles
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 385
    functionName: Botan::TLS::Client_Hello::srtp_profiles
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - SRTP_Protection_Profiles*::profiles
    - extensions
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> Client_Hello::srtp_profiles() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hello_cookie
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: '& Client_Hello::cookie() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - hello_cookie
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & Client_Hello::cookie() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' io'
    argTypes:
    - Handshake_IO
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: Botan::TLS::Hello_Request::Hello_Request
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - send
    linkageType: ''
    returnType: void
    signature: void Hello_Request::Hello_Request(Handshake_IO& io)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:402,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 405
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 405
    functionName: Botan::TLS::Hello_Request::Hello_Request
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - empty
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void Hello_Request::Hello_Request(const std::vector<uint8_t>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: Botan::TLS::Hello_Request::serialize
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Hello_Request::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_exchange_groups
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:420,1
    - Dst: std::copy_if
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:422,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:422,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:422,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:422,1
    - Dst: is_post_quantum
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:423,1
    - Dst: std::make_unique<Supported_Groups>
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:426,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:426,1
    - Dst: auto::ec_groups
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:428,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:429,1
    - Dst: use_ecc_point_compression
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:429,1
    - Dst: Supported_Point_Formats::Supported_Point_Formats
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:429,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:432,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' policy'
    argTypes:
    - Policy
    constantsTouched: []
    func_position:
      end: 433
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 433
    functionName: Botan::TLS::Client_Hello_12::add_tls12_supported_groups_extensions
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - key_exchange_groups
    - std::copy_if
    - is_post_quantum
    - auto::ec_groups
    - std::vector::begin
    - std::back_inserter
    - use_ecc_point_compression
    - Supported_Point_Formats::Supported_Point_Formats
    - std::move
    - std::vector::end
    - extensions
    - std::make_unique<Supported_Groups>
    linkageType: ''
    returnType: void
    signature: void Client_Hello_12::add_tls12_supported_groups_extensions(const Policy&
      policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:435,1
    - Dst: offered_suite
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:438,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:438,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:439,1
    - Dst: Renegotiation_Extension*::renegotiation_info
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:440,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:441,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:445,1
    - Dst: Renegotiation_Extension::Renegotiation_Extension
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:445,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::unique_ptr<Client_Hello_Internal>
    constantsTouched: []
    func_position:
      end: 448
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 448
    functionName: Botan::TLS::Client_Hello_12::Client_Hello_12
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - Renegotiation_Extension*::renegotiation_info
    - offered_suite
    - TLS_Exception
    - std::move
    - extensions
    - Renegotiation_Extension::Renegotiation_Extension
    linkageType: ''
    returnType: void
    signature: void Client_Hello_12::Client_Hello_12(std::unique_ptr<Client_Hello_Internal>
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:454,1
    - Dst: string_to_ipv4
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:458,1
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 468
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 468
    functionName: Botan::TLS::hostname_acceptable_for_sni
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::empty
    - std::string_view::find
    - string_to_ipv4
    linkageType: ''
    returnType: bool
    signature: bool hostname_acceptable_for_sni(std::string_view hostname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Client_Hello_Internal>
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 475
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 475
    functionName: Botan::TLS::Client_Hello_12::Client_Hello_12
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Client_Hello_Internal>
    linkageType: ''
    returnType: void
    signature: void Client_Hello_12::Client_Hello_12(const std::vector<uint8_t>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: protocol_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:488,1
    - Dst: make_hello_random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:489,1
    - Dst: ciphersuite_list
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:490,1
    - Dst: protocol_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:490,1
    - Dst: acceptable_protocol_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:492,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:492,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:493,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:493,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:503,1
    - Dst: Extended_Master_Secret::Extended_Master_Secret
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:503,1
    - Dst: negotiate_encrypt_then_mac
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:505,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:506,1
    - Dst: Encrypt_then_MAC::Encrypt_then_MAC
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:506,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:509,1
    - Dst: Session_Ticket_Extension::Session_Ticket_Extension
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:509,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:511,1
    - Dst: Renegotiation_Extension::Renegotiation_Extension
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:511,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:513,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:513,1
    - Dst: Supported_Versions::Supported_Versions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:513,1
    - Dst: hostname_acceptable_for_sni
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:515,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:515,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:516,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:516,1
    - Dst: Server_Name_Indicator::Server_Name_Indicator
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:516,1
    - Dst: support_cert_status_message
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:519,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:520,1
    - Dst: Certificate_Status_Request::Certificate_Status_Request
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:520,1
    - Dst: Botan::TLS::Client_Hello_12::add_tls12_supported_groups_extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:523,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:525,1
    - Dst: acceptable_signature_schemes
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:525,1
    - Dst: Signature_Algorithms::Signature_Algorithms
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:525,1
    - Dst: acceptable_certificate_signature_schemes
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:526,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:531,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:531,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:531,1
    - Dst: Signature_Algorithms_Cert::Signature_Algorithms_Cert
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:531,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:534,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:534,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:535,1
    - Dst: Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:535,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:538,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:539,1
    - Dst: srtp_profiles
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:539,1
    - Dst: SRTP_Protection_Profiles::SRTP_Protection_Profiles
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:539,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:542,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:542,1
    - Dst: type
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:542,1
    - Dst: update
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:544,1
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:544,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 8
    argNames:
    - ' io'
    - ' hash'
    - ' policy'
    - ' cb'
    - ' rng'
    - ' reneg_info'
    - ' client_settings'
    - ' next_protocols'
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    - Policy
    - Callbacks
    - RandomNumberGenerator
    - std::vector<uint8_t>
    - Client_Hello_12::Settings
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 545
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 545
    functionName: Botan::TLS::Client_Hello_12::Client_Hello_12
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - type
    - Server_Name_Indicator::Server_Name_Indicator
    - Signature_Algorithms_Cert::Signature_Algorithms_Cert
    - support_cert_status_message
    - protocol_version
    - hostname_acceptable_for_sni
    - acceptable_protocol_version
    - auto::value
    - acceptable_certificate_signature_schemes
    - Encrypt_then_MAC::Encrypt_then_MAC
    - srtp_profiles
    - make_hello_random
    - legacy_version
    - Supported_Versions::Supported_Versions
    - hostname
    - send
    - update
    - extensions
    - Internal_Error
    - empty
    - std::move
    - Session_Ticket_Extension::Session_Ticket_Extension
    - SRTP_Protection_Profiles::SRTP_Protection_Profiles
    - Extended_Master_Secret::Extended_Master_Secret
    - Renegotiation_Extension::Renegotiation_Extension
    - Certificate_Status_Request::Certificate_Status_Request
    - Signature_Algorithms::Signature_Algorithms
    - acceptable_signature_schemes
    - ciphersuite_list
    - negotiate_encrypt_then_mac
    - Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
    - tls_modify_extensions
    - Botan::TLS::Client_Hello_12::add_tls12_supported_groups_extensions
    linkageType: ''
    returnType: void
    signature: "void Client_Hello_12::Client_Hello_12(Handshake_IO& io,\n                                 Handshake_Hash&
      hash,\n                                 const Policy& policy,\n                                 Callbacks&
      cb,\n                                 RandomNumberGenerator& rng,\n                                 const
      std::vector<uint8_t>& reneg_info,\n                                 const Client_Hello_12::Settings&
      client_settings,\n                                 const std::vector<std::string>&
      next_protocols)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session::version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:558,1
    - Dst: make_hello_random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:559,1
    - Dst: handle::id
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:566,1
    - Dst: Session_ID
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:566,1
    - Dst: make_hello_random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:566,1
    - Dst: ciphersuite_list
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:567,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:567,1
    - Dst: acceptable_protocol_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:569,1
    - Dst: session::version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:569,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:570,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:570,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:574,1
    - Dst: ciphersuites
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:574,1
    - Dst: session::ciphersuite_code
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:574,1
    - Dst: m_suites::push_back
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:575,1
    - Dst: session::ciphersuite_code
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:575,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:584,1
    - Dst: Extended_Master_Secret::Extended_Master_Secret
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:584,1
    - Dst: session::supports_encrypt_then_mac
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:586,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:587,1
    - Dst: Encrypt_then_MAC::Encrypt_then_MAC
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:587,1
    - Dst: handle::is_ticket
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:590,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:591,1
    - Dst: handle::ticket
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:591,1
    - Dst: Session_Ticket_Extension::Session_Ticket_Extension
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:591,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:594,1
    - Dst: Renegotiation_Extension::Renegotiation_Extension
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:594,1
    - Dst: session::server_info
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:596,1
    - Dst: hostname_acceptable_for_sni
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:598,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:599,1
    - Dst: Server_Name_Indicator::Server_Name_Indicator
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:599,1
    - Dst: support_cert_status_message
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:602,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:603,1
    - Dst: Certificate_Status_Request::Certificate_Status_Request
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:603,1
    - Dst: Botan::TLS::Client_Hello_12::add_tls12_supported_groups_extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:606,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:608,1
    - Dst: acceptable_signature_schemes
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:608,1
    - Dst: Signature_Algorithms::Signature_Algorithms
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:608,1
    - Dst: acceptable_certificate_signature_schemes
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:609,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:614,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:614,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:614,1
    - Dst: Signature_Algorithms_Cert::Signature_Algorithms_Cert
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:614,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:617,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:617,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:618,1
    - Dst: Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:618,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:621,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:621,1
    - Dst: type
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:621,1
    - Dst: update
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:623,1
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:623,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 8
    argNames:
    - ' io'
    - ' hash'
    - ' policy'
    - ' cb'
    - ' rng'
    - ' reneg_info'
    - ' session'
    - ' next_protocols'
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    - Policy
    - Callbacks
    - RandomNumberGenerator
    - std::vector<uint8_t>
    - Session_with_Handle
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 624
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 624
    functionName: Botan::TLS::Client_Hello_12::Client_Hello_12
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - type
    - Server_Name_Indicator::Server_Name_Indicator
    - Signature_Algorithms_Cert::Signature_Algorithms_Cert
    - support_cert_status_message
    - hostname_acceptable_for_sni
    - acceptable_protocol_version
    - auto::value
    - acceptable_certificate_signature_schemes
    - Encrypt_then_MAC::Encrypt_then_MAC
    - session::version
    - handle::ticket
    - make_hello_random
    - legacy_version
    - send
    - update
    - extensions
    - handle::is_ticket
    - Internal_Error
    - ciphersuites
    - value_exists
    - handle::id
    - session::supports_encrypt_then_mac
    - empty
    - std::move
    - Session_Ticket_Extension::Session_Ticket_Extension
    - Extended_Master_Secret::Extended_Master_Secret
    - Renegotiation_Extension::Renegotiation_Extension
    - m_suites::push_back
    - Certificate_Status_Request::Certificate_Status_Request
    - Signature_Algorithms::Signature_Algorithms
    - Session_ID
    - acceptable_signature_schemes
    - ciphersuite_list
    - Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
    - tls_modify_extensions
    - session::ciphersuite_code
    - Botan::TLS::Client_Hello_12::add_tls12_supported_groups_extensions
    - session::server_info
    linkageType: ''
    returnType: void
    signature: "void Client_Hello_12::Client_Hello_12(Handshake_IO& io,\n                                 Handshake_Hash&
      hash,\n                                 const Policy& policy,\n                                 Callbacks&
      cb,\n                                 RandomNumberGenerator& rng,\n                                 const
      std::vector<uint8_t>& reneg_info,\n                                 const Session_with_Handle&
      session,\n                                 const std::vector<std::string>& next_protocols)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:628,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:629,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:638,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:638,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:643,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:644,1
    - Dst: comp_methods
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:652,1
    - Dst: comp_methods
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:652,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:653,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:661,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:662,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:663,1
    - Dst: all
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:671,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:672,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:690,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:691,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:691,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:692,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:697,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:697,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:698,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:702,1
    - Dst: get
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:703,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:704,1
    - Dst: auto::groups
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:705,1
    - Dst: get
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:706,1
    - Dst: find
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:718,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:718,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:718,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:719,1
    - Dst: std::distance
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:723,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:723,1
    - Dst: static_cast<decltype(support_offset)>
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:729,1
    - Dst: found_in_supported_groups
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:737,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:738,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::unique_ptr<Client_Hello_Internal>
    constantsTouched: []
    func_position:
      end: 748
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 748
    functionName: Botan::TLS::Client_Hello_13::Client_Hello_13
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - auto::groups
    - BOTAN_ASSERT_NOMSG
    - comp_methods
    - auto::end
    - all
    - TLS_Exception
    - std::move
    - legacy_version
    - get
    - find
    - auto::begin
    - has
    - extensions
    - std::distance
    - found_in_supported_groups
    - BOTAN_ASSERT_NONNULL
    - static_cast<decltype(support_offset)>
    linkageType: ''
    returnType: void
    signature: void Client_Hello_13::Client_Hello_13(std::unique_ptr<Client_Hello_Internal>
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_hello_random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:766,1
    - Dst: ciphersuite_list
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:767,1
    - Dst: allow_tls12
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:769,1
    - Dst: ciphersuite_list
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:771,1
    - Dst: m_suites::insert
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:772,1
    - Dst: m_suites::end
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:772,1
    - Dst: auto::cbegin
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:772,1
    - Dst: auto::cend
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:772,1
    - Dst: tls_13_middlebox_compatibility_mode
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:775,1
    - Dst: Session_ID
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:783,1
    - Dst: make_hello_random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:783,1
    - Dst: hostname_acceptable_for_sni
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:786,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:787,1
    - Dst: Server_Name_Indicator::Server_Name_Indicator
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:787,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:790,1
    - Dst: key_exchange_groups
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:790,1
    - Dst: Supported_Groups::Supported_Groups
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:790,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:792,1
    - Dst: Key_Share::Key_Share
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:792,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:794,1
    - Dst: Supported_Versions::Supported_Versions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:794,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:796,1
    - Dst: acceptable_signature_schemes
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:796,1
    - Dst: Signature_Algorithms::Signature_Algorithms
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:796,1
    - Dst: acceptable_certificate_signature_schemes
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:797,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:801,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:801,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:801,1
    - Dst: Signature_Algorithms_Cert::Signature_Algorithms_Cert
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:801,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:807,1
    - Dst: PSK_Key_Exchange_Modes::PSK_Key_Exchange_Modes
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:807,1
    - Dst: support_cert_status_message
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:809,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:810,1
    - Dst: Certificate_Status_Request::Certificate_Status_Request
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:810,1
    - Dst: record_size_limit
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:816,1
    - Dst: allow_tls12
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:816,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:817,1
    - Dst: record_size_limit
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:817,1
    - Dst: Record_Size_Limit::Record_Size_Limit
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:817,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:820,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:821,1
    - Dst: Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:821,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:828,1
    - Dst: accepted_client_certificate_types
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:828,1
    - Dst: Client_Certificate_Type::Client_Certificate_Type
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:828,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:829,1
    - Dst: accepted_server_certificate_types
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:829,1
    - Dst: Server_Certificate_Type::Server_Certificate_Type
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:829,1
    - Dst: allow_tls12
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:831,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:832,1
    - Dst: Renegotiation_Extension::Renegotiation_Extension
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:832,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:833,1
    - Dst: Session_Ticket_Extension::Session_Ticket_Extension
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:833,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:836,1
    - Dst: Extended_Master_Secret::Extended_Master_Secret
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:836,1
    - Dst: negotiate_encrypt_then_mac
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:838,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:839,1
    - Dst: Encrypt_then_MAC::Encrypt_then_MAC
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:839,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:842,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:843,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:844,1
    - Dst: use_ecc_point_compression
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:844,1
    - Dst: Supported_Point_Formats::Supported_Point_Formats
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:844,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:848,1
    - Dst: std::vector<ExternalPSK>::empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:848,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:849,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:849,1
    - Dst: PSK::PSK
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:849,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:852,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:852,1
    - Dst: type
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:852,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:854,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:858,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:859,1
    - Dst: Botan::TLS::Client_Hello_13::calculate_psk_binders
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:862,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 7
    argNames:
    - ' policy'
    - ' cb'
    - ' rng'
    - hostname
    - ' next_protocols'
    - ' session'
    - psks
    argTypes:
    - Policy
    - Callbacks
    - RandomNumberGenerator
    - std::string_view
    - std::vector<std::string>
    - std::optional<Session_with_Handle>
    - std::vector<ExternalPSK>
    constantsTouched: []
    func_position:
      end: 864
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 864
    functionName: Botan::TLS::Client_Hello_13::Client_Hello_13
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - accepted_client_certificate_types
    - type
    - Server_Name_Indicator::Server_Name_Indicator
    - Signature_Algorithms_Cert::Signature_Algorithms_Cert
    - support_cert_status_message
    - Record_Size_Limit::Record_Size_Limit
    - accepted_server_certificate_types
    - has_value
    - hostname_acceptable_for_sni
    - Client_Certificate_Type::Client_Certificate_Type
    - auto::value
    - acceptable_certificate_signature_schemes
    - Encrypt_then_MAC::Encrypt_then_MAC
    - tls_13_middlebox_compatibility_mode
    - Supported_Groups::Supported_Groups
    - PSK_Key_Exchange_Modes::PSK_Key_Exchange_Modes
    - Supported_Point_Formats::Supported_Point_Formats
    - make_hello_random
    - auto::cend
    - Supported_Versions::Supported_Versions
    - extensions
    - std::vector<ExternalPSK>::empty
    - Key_Share::Key_Share
    - PSK::PSK
    - use_ecc_point_compression
    - empty
    - TLS_Exception
    - std::move
    - record_size_limit
    - Session_Ticket_Extension::Session_Ticket_Extension
    - allow_tls12
    - Extended_Master_Secret::Extended_Master_Secret
    - Renegotiation_Extension::Renegotiation_Extension
    - Certificate_Status_Request::Certificate_Status_Request
    - Signature_Algorithms::Signature_Algorithms
    - key_exchange_groups
    - Session_ID
    - acceptable_signature_schemes
    - ciphersuite_list
    - negotiate_encrypt_then_mac
    - Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
    - tls_modify_extensions
    - m_suites::insert
    - m_suites::end
    - Server_Certificate_Type::Server_Certificate_Type
    - Botan::TLS::Client_Hello_13::calculate_psk_binders
    - auto::cbegin
    linkageType: ''
    returnType: void
    signature: "void Client_Hello_13::Client_Hello_13(const Policy& policy,\n                                 Callbacks&
      cb,\n                                 RandomNumberGenerator& rng,\n                                 std::string_view
      hostname,\n                                 const std::vector<std::string>&
      next_protocols,\n                                 std::optional<Session_with_Handle>&
      session,\n                                 std::vector<ExternalPSK> psks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Client_Hello_Internal>
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:867,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:868,1
    - Dst: auto::is_pre_tls_13
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:870,1
    - Dst: Client_Hello_12
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:871,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:871,1
    - Dst: Botan::TLS::Client_Hello_13::Client_Hello_13
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:873,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:873,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 875
      start: 866
    functionDepth: 2
    functionLinenumber: 866
    functionLinenumberEnd: 875
    functionName: Botan::TLS::Client_Hello_13::parse
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 6
    functionsReached:
    - Botan::TLS::Client_Hello_13::Client_Hello_13
    - auto::version
    - Client_Hello_12
    - std::move
    - auto::is_pre_tls_13
    - std::make_unique<Client_Hello_Internal>
    linkageType: ''
    returnType: std::variant<Client_Hello_13, Client_Hello_12>
    signature: std::variant<Client_Hello_13, Client_Hello_12> Client_Hello_13::parse(const
      std::vector<uint8_t>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:881,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:881,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:882,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:882,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:884,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:885,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:887,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:888,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:899,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:900,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:900,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:901,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:901,1
    - Dst: Cookie::Cookie
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:901,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:908,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:908,1
    - Dst: type
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:908,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:910,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:913,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:913,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:914,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:914,1
    - Dst: auto::filter
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:920,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:920,1
    - Dst: Botan::TLS::Client_Hello_13::calculate_psk_binders
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:925,1
    - Dst: clone
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:925,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - ' hrr'
    - ' transcript_hash_state'
    - ' cb'
    - ' rng'
    argTypes:
    - Hello_Retry_Request
    - Transcript_Hash_State
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 927
      start: 877
    functionDepth: 2
    functionLinenumber: 877
    functionLinenumberEnd: 927
    functionName: Botan::TLS::Client_Hello_13::retry
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - type
    - auto::filter
    - Botan::TLS::Ciphersuite::by_id
    - BOTAN_ASSERT_NOMSG
    - auto::value
    - auto::has_value
    - BOTAN_STATE_CHECK
    - tls_modify_extensions
    - clone
    - Botan::TLS::Client_Hello_13::calculate_psk_binders
    - Cookie::Cookie
    - extensions
    - ciphersuite
    linkageType: ''
    returnType: void
    signature: "void Client_Hello_13::retry(const Hello_Retry_Request& hrr,\n                            const
      Transcript_Hash_State& transcript_hash_state,\n                            Callbacks&
      cb,\n                            RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session_id
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:935,1
    - Dst: m_data::session_id
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:935,1
    - Dst: random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:935,1
    - Dst: m_data::random
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:935,1
    - Dst: ciphersuites
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:936,1
    - Dst: m_data::ciphersuites
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:936,1
    - Dst: comp_methods
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:937,1
    - Dst: m_data::comp_methods
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:937,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:938,1
    - Dst: extension_types
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:941,1
    - Dst: extension_types
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:942,1
    - Dst: auto::contains
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:946,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:947,1
    - Dst: auto::is_implemented
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:950,1
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Extension::static_type
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:957,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:969,1
    - Dst: auto::contains
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:975,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:976,1
    - Dst: auto::is_implemented
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:979,1
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Extension::static_type
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:986,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:998,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1005,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1006,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 27
    argCount: 1
    argNames:
    - ' new_ch'
    argTypes:
    - Client_Hello_13
    constantsTouched: []
    func_position:
      end: 1023
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 1023
    functionName: Botan::TLS::Client_Hello_13::validate_updates
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::TLS_Handshake_Test::Test_Extension::static_type
    - m_data::ciphersuites
    - comp_methods
    - m_data::session_id
    - extension_types
    - m_data::random
    - auto::is_implemented
    - m_data::comp_methods
    - auto::contains
    - random
    - TLS_Exception
    - session_id
    - extensions
    - ciphersuites
    linkageType: ''
    returnType: void
    signature: void Client_Hello_13::validate_updates(const Client_Hello_13& new_ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1026,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1027,1
    - Dst: Botan::TLS::Handshake_Layer::prepare_message
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1040,1
    - Dst: auto::calculate_binders
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ths
    argTypes:
    - Transcript_Hash_State
    constantsTouched: []
    func_position:
      end: 1042
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1042
    functionName: Botan::TLS::Client_Hello_13::calculate_psk_binders
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 2
    functionsReached:
    - auto::calculate_binders
    - extensions
    - auto::empty
    - Botan::TLS::Handshake_Layer::prepare_message
    linkageType: ''
    returnType: void
    signature: void Client_Hello_13::calculate_psk_binders(Transcript_Hash_State ths)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1050,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1051,1
    - Dst: auto::versions
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1055,1
    - Dst: known_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1060,1
    - Dst: acceptable_protocol_version
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1060,1
    - Dst: std::optional::has_value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1064,1
    - Dst: std::optional
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1064,1
    - Dst: std::max
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1064,1
    - Dst: std::optional::value
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1064,1
    - Dst: std::optional
      Src: /src/botan/src/lib/tls/msg_client_hello.cpp:1064,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' policy'
    argTypes:
    - Policy
    constantsTouched: []
    func_position:
      end: 1068
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1068
    functionName: Botan::TLS::Client_Hello_13::highest_supported_version
    functionSourceFile: /src/botan/src/lib/tls/msg_client_hello.cpp
    functionUses: 0
    functionsReached:
    - acceptable_protocol_version
    - known_version
    - std::optional::has_value
    - std::max
    - auto::versions
    - std::optional
    - std::optional::value
    - extensions
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: std::optional<Protocol_Version>
    signature: std::optional<Protocol_Version> Client_Hello_13::highest_supported_version(const
      Policy& policy) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Null_RNG>
      Src: /src/botan/src/lib/tls/tls_session_manager_noop.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: Botan::TLS::Session_Manager_Noop::Session_Manager_Noop
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_noop.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Null_RNG>
    linkageType: ''
    returnType: void
    signature: void Session_Manager_Noop::Session_Manager_Noop()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~Channel()
    functionSourceFile: /src/botan/src/lib/tls/tls_channel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Channel()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_peer
      Src: /src/botan/src/lib/tls/tls_channel.h:48,1
    - Dst: std::span
      Src: /src/botan/src/lib/tls/tls_channel.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buf_size
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: received_data
    functionSourceFile: /src/botan/src/lib/tls/tls_channel.h
    functionUses: 20
    functionsReached:
    - from_peer
    - std::span
    linkageType: ''
    returnType: size_t
    signature: size_t received_data(const uint8_t buf[], size_t buf_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_peer
      Src: /src/botan/src/lib/tls/tls_channel.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: send
    functionSourceFile: /src/botan/src/lib/tls/tls_channel.h
    functionUses: 26
    functionsReached:
    - to_peer
    linkageType: ''
    returnType: void
    signature: void send(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_peer
      Src: /src/botan/src/lib/tls/tls_channel.h:56,1
    - Dst: std::span
      Src: /src/botan/src/lib/tls/tls_channel.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buf_size
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: send
    functionSourceFile: /src/botan/src/lib/tls/tls_channel.h
    functionUses: 26
    functionsReached:
    - to_peer
    - std::span
    linkageType: ''
    returnType: void
    signature: void send(const uint8_t buf[], size_t buf_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/botan/src/lib/tls/tls_channel.h:62,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/tls/tls_channel.h:62,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/tls/tls_channel.h:62,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/tls/tls_channel.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: send
    functionSourceFile: /src/botan/src/lib/tls/tls_channel.h
    functionUses: 27
    functionsReached:
    - std::string_view::size
    - send
    - std::string_view::data
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: void
    signature: void send(std::string_view s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:41,1
    - Dst: data
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:41,1
    - Dst: data
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:41,1
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' random'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::TLS::random_signals_hello_retry_request
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::is_equal
    - data
    - size
    linkageType: ''
    returnType: bool
    signature: bool random_signals_hello_retry_request(const std::vector<uint8_t>&
      random)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:48,1
    - Dst: Botan::TLS::make_hello_random
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:49,1
    - Dst: Protocol_Version::is_pre_tls_13
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:59,1
    - Dst: allow_tls13
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:59,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:61,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:61,1
    - Dst: auto::data
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:62,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:62,1
    - Dst: store_be
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' rng'
    - offered_version
    - ' cb'
    - ' policy'
    argTypes:
    - RandomNumberGenerator
    - Protocol_Version
    - Callbacks
    - Policy
    constantsTouched: []
    func_position:
      end: 67
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 67
    functionName: Botan::TLS::make_server_hello_random
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::make_hello_random
    - BOTAN_ASSERT_NOMSG
    - allow_tls13
    - Protocol_Version::is_pre_tls_13
    - auto::data
    - BOTAN_UNUSED
    - auto::size
    - store_be
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> make_server_hello_random(RandomNumberGenerator&
      rng,\n                                              Protocol_Version offered_version,\n
      \                                             Callbacks& cb,\n                                              const
      Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:82,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:83,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:91,1
    - Dst: TLS_Data_Reader::get_fixed
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:97,1
    - Dst: random_signals_hello_retry_request
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:98,1
    - Dst: Session_ID
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:100,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:100,1
    - Dst: TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:101,1
    - Dst: TLS_Data_Reader::get_byte
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:102,1
    - Dst: deserialize
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 113
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 113
    functionName: Botan::TLS::Server_Hello_Internal::Server_Hello_Internal
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - Session_ID
    - TLS_Data_Reader::get_uint16_t
    - TLS_Data_Reader::get_range
    - size
    - TLS_Data_Reader::get_byte
    - Decoding_Error
    - random_signals_hello_retry_request
    - Protocol_Version
    - TLS_Data_Reader::get_fixed
    - deserialize
    linkageType: ''
    returnType: void
    signature: void Server_Hello_Internal(const std::vector<uint8_t>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:122,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - lv
    - sid
    - r
    - cs
    - cm
    argTypes:
    - Protocol_Version
    - Session_ID
    - std::vector<uint8_t>
    - uint16_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: Botan::TLS::Server_Hello_Internal::Server_Hello_Internal
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Server_Hello_Internal(Protocol_Version lv,\n                            Session_ID
      sid,\n                            std::vector<uint8_t> r,\n                            const
      uint16_t cs,\n                            const uint8_t cm,\n                            bool
      is_hrr = false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: Botan::TLS::Server_Hello_Internal::version
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan::TLS::Server_Hello_Internal::legacy_version
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version legacy_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: '& session_id() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Session_ID
    signature: Session_ID & session_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: '& random() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & random() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: Botan::TLS::Server_Hello_Internal::ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ciphersuite() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: Botan::TLS::Server_Hello_Internal::comp_method
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t comp_method() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Botan::TLS::Server_Hello_Internal::is_hello_retry_request
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_hello_retry_request() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: '& extensions() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Extensions
    signature: Extensions & extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: '& extensions()'
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Extensions
    signature: Extensions & extensions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::unique_ptr<Server_Hello_Internal>
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: Botan::TLS::Server_Hello::Server_Hello
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Server_Hello::Server_Hello(std::unique_ptr<Server_Hello_Internal>
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: Botan::TLS::Server_Hello::Server_Hello
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Server_Hello::Server_Hello(Server_Hello&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: Server_Hello::~Server_Hello()
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Server_Hello::~Server_Hello()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:180,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:182,1
    - Dst: Botan::TLS::Server_Hello::legacy_version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:182,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:183,1
    - Dst: Botan::TLS::Server_Hello::legacy_version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:183,1
    - Dst: random
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:184,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:186,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:186,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:188,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:188,1
    - Dst: Botan::TLS::Server_Hello::ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:188,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:189,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:189,1
    - Dst: Botan::TLS::Server_Hello::ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:189,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:191,1
    - Dst: comp_method
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:191,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 196
    functionName: Botan::TLS::Server_Hello::serialize
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - comp_method
    - session_id
    - Botan::TLS::Server_Hello::legacy_version
    - get_byte<0>
    - Botan::TLS::Server_Hello::ciphersuite
    - get_byte<1>
    - random
    - std::vector::push_back
    - std::vector::reserve
    - append_tls_length_value
    - extensions
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Server_Hello::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: Botan::TLS::Server_Hello::type
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handshake_Type
    signature: Handshake_Type Server_Hello::type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server_Hello::legacy_version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: Botan::TLS::Server_Hello::legacy_version
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Server_Hello::legacy_version
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version Server_Hello::legacy_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: '& Server_Hello::random() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - random
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & Server_Hello::random() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: comp_method
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: Botan::TLS::Server_Hello::compression_method
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - comp_method
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Server_Hello::compression_method() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session_id
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: '& Server_Hello::session_id() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - session_id
    linkageType: ''
    returnType: Session_ID
    signature: Session_ID & Server_Hello::session_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server_Hello::ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: Botan::TLS::Server_Hello::ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Server_Hello::ciphersuite
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Server_Hello::ciphersuite() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: Botan::TLS::Server_Hello::extension_types
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: std::set<Extension_Code>
    signature: std::set<Extension_Code> Server_Hello::extension_types() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: '& Server_Hello::extensions() const'
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: Extensions
    signature: Extensions & Server_Hello::extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Server_Hello_Internal>
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:240,1
    - Dst: protocol_version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:241,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:242,1
    - Dst: make_server_hello_random
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:243,1
    - Dst: protocol_version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:243,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:244,1
    - Dst: Botan::TLS::Server_Hello_12::supports_extended_master_secret
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:246,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:247,1
    - Dst: Extended_Master_Secret::Extended_Master_Secret
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:247,1
    - Dst: supports_cert_status_message
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:251,1
    - Dst: support_cert_status_message
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:251,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:252,1
    - Dst: Certificate_Status_Request::Certificate_Status_Request
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:252,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:255,1
    - Dst: supports_alpn
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:255,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:256,1
    - Dst: Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:256,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:259,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:259,1
    - Dst: auto::cbc_ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:261,1
    - Dst: Botan::TLS::Server_Hello_12::supports_encrypt_then_mac
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:261,1
    - Dst: negotiate_encrypt_then_mac
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:261,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:262,1
    - Dst: Encrypt_then_MAC::Encrypt_then_MAC
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:262,1
    - Dst: auto::ecc_ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:265,1
    - Dst: extension_types
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:265,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:266,1
    - Dst: use_ecc_point_compression
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:266,1
    - Dst: Supported_Point_Formats::Supported_Point_Formats
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:266,1
    - Dst: Botan::TLS::Server_Hello_12::secure_renegotiation
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:269,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:270,1
    - Dst: Renegotiation_Extension::Renegotiation_Extension
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:270,1
    - Dst: Botan::TLS::Server_Hello_12::supports_session_ticket
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:273,1
    - Dst: offer_session_ticket
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:273,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:274,1
    - Dst: Session_Ticket_Extension::Session_Ticket_Extension
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:274,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:277,1
    - Dst: srtp_profiles
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:278,1
    - Dst: srtp_profiles
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:279,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:281,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:281,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:293,1
    - Dst: SRTP_Protection_Profiles::SRTP_Protection_Profiles
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:293,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:298,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:298,1
    - Dst: type
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:298,1
    - Dst: update
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:300,1
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:300,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 36
    argCount: 9
    argNames:
    - ' io'
    - ' hash'
    - ' policy'
    - ' cb'
    - ' rng'
    - ' reneg_info'
    - ' client_hello'
    - ' server_settings'
    - next_protocol
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    - Policy
    - Callbacks
    - RandomNumberGenerator
    - std::vector<uint8_t>
    - Client_Hello_12
    - Server_Hello_12::Settings
    - std::string_view
    constantsTouched: []
    func_position:
      end: 301
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 301
    functionName: Botan::TLS::Server_Hello_12::Server_Hello_12
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - type
    - Botan::TLS::Server_Hello_12::secure_renegotiation
    - auto::cbc_ciphersuite
    - support_cert_status_message
    - make_server_hello_random
    - Botan::TLS::Server_Hello_12::supports_encrypt_then_mac
    - protocol_version
    - offer_session_ticket
    - supports_alpn
    - std::vector::empty
    - extension_types
    - std::make_unique<Server_Hello_Internal>
    - Encrypt_then_MAC::Encrypt_then_MAC
    - Botan::TLS::Server_Hello_12::supports_session_ticket
    - srtp_profiles
    - Botan::TLS::Server_Hello_12::supports_extended_master_secret
    - std::string_view::empty
    - Supported_Point_Formats::Supported_Point_Formats
    - legacy_version
    - send
    - update
    - extensions
    - ciphersuite
    - supports_cert_status_message
    - use_ecc_point_compression
    - Session_Ticket_Extension::Session_Ticket_Extension
    - SRTP_Protection_Profiles::SRTP_Protection_Profiles
    - Extended_Master_Secret::Extended_Master_Secret
    - Renegotiation_Extension::Renegotiation_Extension
    - Certificate_Status_Request::Certificate_Status_Request
    - Botan::TLS::Ciphersuite::by_id
    - auto::ecc_ciphersuite
    - negotiate_encrypt_then_mac
    - Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
    - tls_modify_extensions
    - session_id
    linkageType: ''
    returnType: void
    signature: "void Server_Hello_12::Server_Hello_12(Handshake_IO& io,\n                                 Handshake_Hash&
      hash,\n                                 const Policy& policy,\n                                 Callbacks&
      cb,\n                                 RandomNumberGenerator& rng,\n                                 const
      std::vector<uint8_t>& reneg_info,\n                                 const Client_Hello_12&
      client_hello,\n                                 const Server_Hello_12::Settings&
      server_settings,\n                                 std::string_view next_protocol)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Server_Hello_Internal>
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:314,1
    - Dst: version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:314,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:315,1
    - Dst: make_hello_random
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:316,1
    - Dst: ciphersuite_code
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:317,1
    - Dst: Botan::TLS::Server_Hello_12::supports_extended_master_secret
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:319,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:320,1
    - Dst: Extended_Master_Secret::Extended_Master_Secret
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:320,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:323,1
    - Dst: supports_alpn
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:323,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:324,1
    - Dst: Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:324,1
    - Dst: Botan::TLS::Server_Hello_12::supports_encrypt_then_mac
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:327,1
    - Dst: negotiate_encrypt_then_mac
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:327,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:328,1
    - Dst: Ciphersuite::cbc_ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:329,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:330,1
    - Dst: Encrypt_then_MAC::Encrypt_then_MAC
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:330,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:334,1
    - Dst: extension_types
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:335,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:336,1
    - Dst: use_ecc_point_compression
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:336,1
    - Dst: Supported_Point_Formats::Supported_Point_Formats
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:336,1
    - Dst: Botan::TLS::Server_Hello_12::secure_renegotiation
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:339,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:340,1
    - Dst: Renegotiation_Extension::Renegotiation_Extension
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:340,1
    - Dst: Botan::TLS::Server_Hello_12::supports_session_ticket
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:343,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:344,1
    - Dst: Session_Ticket_Extension::Session_Ticket_Extension
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:344,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:347,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:347,1
    - Dst: type
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:347,1
    - Dst: update
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:349,1
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:349,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 10
    argNames:
    - ' io'
    - ' hash'
    - ' policy'
    - ' cb'
    - ' rng'
    - ' reneg_info'
    - ' client_hello'
    - ' resumed_session'
    - offer_session_ticket
    - next_protocol
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    - Policy
    - Callbacks
    - RandomNumberGenerator
    - std::vector<uint8_t>
    - Client_Hello_12
    - Session
    - bool
    - std::string_view
    constantsTouched: []
    func_position:
      end: 350
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 350
    functionName: Botan::TLS::Server_Hello_12::Server_Hello_12
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - type
    - Botan::TLS::Server_Hello_12::secure_renegotiation
    - Botan::TLS::Server_Hello_12::supports_encrypt_then_mac
    - supports_alpn
    - extension_types
    - std::make_unique<Server_Hello_Internal>
    - Encrypt_then_MAC::Encrypt_then_MAC
    - Botan::TLS::Server_Hello_12::supports_session_ticket
    - Botan::TLS::Server_Hello_12::supports_extended_master_secret
    - std::string_view::empty
    - make_hello_random
    - Supported_Point_Formats::Supported_Point_Formats
    - send
    - update
    - extensions
    - ciphersuite
    - ciphersuite_code
    - Ciphersuite::cbc_ciphersuite
    - use_ecc_point_compression
    - Session_Ticket_Extension::Session_Ticket_Extension
    - Extended_Master_Secret::Extended_Master_Secret
    - Renegotiation_Extension::Renegotiation_Extension
    - version
    - negotiate_encrypt_then_mac
    - Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
    - tls_modify_extensions
    - session_id
    linkageType: ''
    returnType: void
    signature: "void Server_Hello_12::Server_Hello_12(Handshake_IO& io,\n                                 Handshake_Hash&
      hash,\n                                 const Policy& policy,\n                                 Callbacks&
      cb,\n                                 RandomNumberGenerator& rng,\n                                 const
      std::vector<uint8_t>& reneg_info,\n                                 const Client_Hello_12&
      client_hello,\n                                 const Session& resumed_session,\n
      \                                bool offer_session_ticket,\n                                 std::string_view
      next_protocol)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Server_Hello_Internal>
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 353
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 353
    functionName: Botan::TLS::Server_Hello_12::Server_Hello_12
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Server_Hello_Internal>
    linkageType: ''
    returnType: void
    signature: void Server_Hello_12::Server_Hello_12(const std::vector<uint8_t>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:355,1
    - Dst: version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:356,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::unique_ptr<Server_Hello_Internal>
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 359
    functionName: Botan::TLS::Server_Hello_12::Server_Hello_12
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - version
    - TLS_Exception
    - std::move
    linkageType: ''
    returnType: void
    signature: void Server_Hello_12::Server_Hello_12(std::unique_ptr<Server_Hello_Internal>
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: Botan::TLS::Server_Hello_12::selected_version
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - legacy_version
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version Server_Hello_12::selected_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Botan::TLS::Server_Hello_12::secure_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 2
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Server_Hello_12::secure_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:370,1
    - Dst: Renegotiation_Extension*::renegotiation_info
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:371,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 374
    functionName: Botan::TLS::Server_Hello_12::renegotiation_info
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - extensions
    - Renegotiation_Extension*::renegotiation_info
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Server_Hello_12::renegotiation_info() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 378
    functionName: Botan::TLS::Server_Hello_12::supports_extended_master_secret
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 2
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Server_Hello_12::supports_extended_master_secret() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: Botan::TLS::Server_Hello_12::supports_encrypt_then_mac
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 2
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Server_Hello_12::supports_encrypt_then_mac() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: Botan::TLS::Server_Hello_12::supports_certificate_status_message
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Server_Hello_12::supports_certificate_status_message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 390
    functionName: Botan::TLS::Server_Hello_12::supports_session_ticket
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 2
    functionsReached:
    - extensions
    linkageType: ''
    returnType: bool
    signature: bool Server_Hello_12::supports_session_ticket() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:393,1
    - Dst: auto::profiles
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:394,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:395,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 402
    functionName: Botan::TLS::Server_Hello_12::srtp_profile
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - auto::profiles
    - extensions
    - auto::size
    - Decoding_Error
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Server_Hello_12::srtp_profile() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:405,1
    - Dst: auto::single_protocol
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: Botan::TLS::Server_Hello_12::next_protocol
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - auto::single_protocol
    linkageType: ''
    returnType: std::string
    signature: std::string Server_Hello_12::next_protocol() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:412,1
    - Dst: auto::prefers_compressed
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 416
    functionName: Botan::TLS::Server_Hello_12::prefers_compressed_ec_points
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - extensions
    - auto::prefers_compressed
    linkageType: ''
    returnType: bool
    signature: bool Server_Hello_12::prefers_compressed_ec_points() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 428
    functionName: Botan::TLS::Server_Hello_12::random_signals_downgrade
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Protocol_Version>
    signature: std::optional<Protocol_Version> Server_Hello_12::random_signals_downgrade()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:434,1
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' io'
    - ' hash'
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: Botan::TLS::Server_Hello_Done::Server_Hello_Done
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - update
    - send
    linkageType: ''
    returnType: void
    signature: void Server_Hello_Done::Server_Hello_Done(Handshake_IO& io, Handshake_Hash&
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:441,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: Botan::TLS::Server_Hello_Done::Server_Hello_Done
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - empty
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void Server_Hello_Done::Server_Hello_Done(const std::vector<uint8_t>&
      buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: Botan::TLS::Server_Hello_Done::serialize
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Server_Hello_Done::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:466,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:474,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:474,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:474,1
    - Dst: get
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:475,1
    - Dst: get
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:476,1
    - Dst: choose_key_exchange_group
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:477,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:484,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:490,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:491,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:502,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:508,1
    - Dst: Hello_Retry_Request
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:509,1
    - Dst: Botan::TLS::Server_Hello_13::Server_Hello_13
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 7
    argNames:
    - ' ch'
    - hello_retry_request_allowed
    - ' session_mgr'
    - ' credentials_mgr'
    - ' rng'
    - ' policy'
    - ' cb'
    argTypes:
    - Client_Hello_13
    - bool
    - Session_Manager
    - Credentials_Manager
    - RandomNumberGenerator
    - Policy
    - Callbacks
    constantsTouched: []
    func_position:
      end: 513
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 513
    functionName: Botan::TLS::Server_Hello_13::create
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - value_exists
    - BOTAN_ASSERT_NOMSG
    - Botan::TLS::Server_Hello_13::Server_Hello_13
    - BOTAN_STATE_CHECK
    - Hello_Retry_Request
    - get
    - TLS_Exception
    - extensions
    - has
    - choose_key_exchange_group
    linkageType: ''
    returnType: std::variant<Hello_Retry_Request, Server_Hello_13>
    signature: "std::variant<Hello_Retry_Request, Server_Hello_13> Server_Hello_13::create(const
      Client_Hello_13& ch,\n                                                                           bool
      hello_retry_request_allowed,\n                                                                           Session_Manager&
      session_mgr,\n                                                                           Credentials_Manager&
      credentials_mgr,\n                                                                           RandomNumberGenerator&
      rng,\n                                                                           const
      Policy& policy,\n                                                                           Callbacks&
      cb)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Server_Hello_Internal>
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:517,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:518,1
    - Dst: auto::is_pre_tls_13
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:521,1
    - Dst: Server_Hello_12
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:522,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:522,1
    - Dst: auto::is_hello_retry_request
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:527,1
    - Dst: Hello_Retry_Request
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:528,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:528,1
    - Dst: Botan::TLS::Server_Hello_13::Server_Hello_13
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:531,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:531,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:534,1
    - Dst: auto::to_string
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 535
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 535
    functionName: Botan::TLS::Server_Hello_13::parse
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 3
    functionsReached:
    - Server_Hello_12
    - Botan::TLS::Server_Hello_13::Server_Hello_13
    - auto::version
    - std::make_unique<Server_Hello_Internal>
    - Hello_Retry_Request
    - TLS_Exception
    - std::move
    - auto::to_string
    - auto::is_pre_tls_13
    - auto::is_hello_retry_request
    linkageType: ''
    returnType: std::variant<Hello_Retry_Request, Server_Hello_13, Server_Hello_12>
    signature: "std::variant<Hello_Retry_Request, Server_Hello_13, Server_Hello_12>
      Server_Hello_13::parse(\n   const std::vector<uint8_t>& buf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:541,1
    - Dst: version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:541,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:559,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:560,1
    - Dst: legacy_version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:561,1
    - Dst: compression_method
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:566,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:567,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:572,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:573,1
    - Dst: Botan::TLS::Server_Hello_13::selected_version
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:580,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:581,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 583
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 583
    functionName: Botan::TLS::Server_Hello_13::basic_validation
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - Botan::TLS::Server_Hello_13::selected_version
    - version
    - compression_method
    - TLS_Exception
    - legacy_version
    - extensions
    linkageType: ''
    returnType: void
    signature: void Server_Hello_13::basic_validation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:586,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:587,1
    - Dst: is_hello_retry_request
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:587,1
    - Dst: Botan::TLS::Server_Hello_13::basic_validation
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:588,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:590,1
    - Dst: contains_other_than
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:609,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:610,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:617,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:617,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:618,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::unique_ptr<Server_Hello_Internal>
    constantsTouched: []
    func_position:
      end: 620
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 620
    functionName: Botan::TLS::Server_Hello_13::Server_Hello_13
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 2
    functionsReached:
    - is_hello_retry_request
    - BOTAN_ASSERT_NOMSG
    - TLS_Exception
    - std::move
    - Botan::TLS::Server_Hello_13::basic_validation
    - has
    - extensions
    - contains_other_than
    linkageType: ''
    returnType: void
    signature: void Server_Hello_13::Server_Hello_13(std::unique_ptr<Server_Hello_Internal>
      data, Server_Hello_13::Server_Hello_Tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:624,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:625,1
    - Dst: is_hello_retry_request
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:625,1
    - Dst: Botan::TLS::Server_Hello_13::basic_validation
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:626,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:628,1
    - Dst: contains_other_than
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:643,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:644,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:651,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:651,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:652,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::unique_ptr<Server_Hello_Internal>
    constantsTouched: []
    func_position:
      end: 654
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 654
    functionName: Botan::TLS::Server_Hello_13::Server_Hello_13
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 2
    functionsReached:
    - is_hello_retry_request
    - BOTAN_ASSERT_NOMSG
    - TLS_Exception
    - std::move
    - Botan::TLS::Server_Hello_13::basic_validation
    - has
    - extensions
    - contains_other_than
    linkageType: ''
    returnType: void
    signature: "void Server_Hello_13::Server_Hello_13(std::unique_ptr<Server_Hello_Internal>
      data,\n                                 Server_Hello_13::Hello_Retry_Request_Tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::unique_ptr<Server_Hello_Internal>
    constantsTouched: []
    func_position:
      end: 657
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 657
    functionName: Botan::TLS::Server_Hello_13::Server_Hello_13
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Server_Hello_13::Server_Hello_13(std::unique_ptr<Server_Hello_Internal>
      data, Hello_Retry_Request_Creation_Tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphersuites
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:662,1
    - Dst: ciphersuite_list
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:664,1
    - Dst: server_uses_own_ciphersuite_preferences
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:666,1
    - Dst: std::swap
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:667,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:692,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:701,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' ch'
    - ' policy'
    argTypes:
    - Client_Hello_13
    - Policy
    constantsTouched: []
    func_position:
      end: 702
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 702
    functionName: Botan::TLS::choose_ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - value_exists
    - ciphersuite_list
    - std::swap
    - TLS_Exception
    - server_uses_own_ciphersuite_preferences
    - ciphersuites
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t choose_ciphersuite(const Client_Hello_13& ch, const Policy&
      policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Server_Hello_Internal>
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:712,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:714,1
    - Dst: make_server_hello_random
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:715,1
    - Dst: choose_ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:716,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:727,1
    - Dst: Supported_Versions::Supported_Versions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:727,1
    - Dst: std::optional<Named_Group>::has_value
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:729,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:730,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:730,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:731,1
    - Dst: Botan::TLS::Key_Share::create_as_encapsulation
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:731,1
    - Dst: std::optional<Named_Group>::value
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:732,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:732,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:735,1
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:737,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:738,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:738,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:739,1
    - Dst: get
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:746,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:747,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:751,1
    - Dst: auto::modes
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:751,1
    - Dst: get
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:752,1
    - Dst: sni_hostname
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:753,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:753,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:757,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:757,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:762,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:762,1
    - Dst: type
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 7
    argNames:
    - ' ch'
    - key_exchange_group
    - ' session_mgr'
    - ' credentials_mgr'
    - ' rng'
    - ' cb'
    - ' policy'
    argTypes:
    - Client_Hello_13
    - std::optional<Named_Group>
    - Session_Manager
    - Credentials_Manager
    - RandomNumberGenerator
    - Callbacks
    - Policy
    constantsTouched: []
    func_position:
      end: 763
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 763
    functionName: Botan::TLS::Server_Hello_13::Server_Hello_13
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 2
    functionsReached:
    - type
    - choose_ciphersuite
    - make_server_hello_random
    - std::optional<Named_Group>::has_value
    - get
    - Botan::TLS::Key_Share::create_as_encapsulation
    - BOTAN_ASSERT_NONNULL
    - BOTAN_ASSERT_NOMSG
    - auto::value
    - std::make_unique<Server_Hello_Internal>
    - Supported_Versions::Supported_Versions
    - extensions
    - ciphersuite
    - value_exists
    - auto::modes
    - std::move
    - sni_hostname
    - has
    - std::optional<Named_Group>::value
    - Botan::TLS::Ciphersuite::by_id
    - tls_modify_extensions
    - session_id
    linkageType: ''
    returnType: void
    signature: "void Server_Hello_13::Server_Hello_13(const Client_Hello_13& ch,\n
      \                                std::optional<Named_Group> key_exchange_group,\n
      \                                Session_Manager& session_mgr,\n                                 Credentials_Manager&
      credentials_mgr,\n                                 RandomNumberGenerator& rng,\n
      \                                Callbacks& cb,\n                                 const
      Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 775
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 775
    functionName: Botan::TLS::Server_Hello_13::random_signals_downgrade
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Protocol_Version>
    signature: std::optional<Protocol_Version> Server_Hello_13::random_signals_downgrade()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:778,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:779,1
    - Dst: auto::versions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:780,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:781,1
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:781,1
    - Dst: front
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 783
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 783
    functionName: Botan::TLS::Server_Hello_13::selected_version
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - size
    - auto::versions
    - extensions
    - front
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version Server_Hello_13::selected_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::unique_ptr<Server_Hello_Internal>
    constantsTouched: []
    func_position:
      end: 786
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 786
    functionName: Botan::TLS::Hello_Retry_Request::Hello_Retry_Request
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Hello_Retry_Request::Hello_Retry_Request(std::unique_ptr<Server_Hello_Internal>
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Server_Hello_Internal>
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:792,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:793,1
    - Dst: choose_ciphersuite
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:795,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:805,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:805,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:806,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:806,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:808,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:808,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:808,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:821,1
    - Dst: Supported_Versions::Supported_Versions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:821,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:823,1
    - Dst: Key_Share::Key_Share
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:823,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:825,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:825,1
    - Dst: type
      Src: /src/botan/src/lib/tls/msg_server_hello.cpp:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ch'
    - selected_group
    - ' policy'
    - ' cb'
    argTypes:
    - Client_Hello_13
    - Named_Group
    - Policy
    - Callbacks
    constantsTouched: []
    func_position:
      end: 826
      start: 788
    functionDepth: 2
    functionLinenumber: 788
    functionLinenumberEnd: 826
    functionName: Botan::TLS::Hello_Retry_Request::Hello_Retry_Request
    functionSourceFile: /src/botan/src/lib/tls/msg_server_hello.cpp
    functionUses: 0
    functionsReached:
    - value_exists
    - type
    - BOTAN_STATE_CHECK
    - std::make_unique<Server_Hello_Internal>
    - choose_ciphersuite
    - tls_modify_extensions
    - Supported_Versions::Supported_Versions
    - session_id
    - extensions
    - Key_Share::Key_Share
    linkageType: ''
    returnType: void
    signature: "void Hello_Retry_Request::Hello_Retry_Request(const Client_Hello_13&
      ch,\n                                         Named_Group selected_group,\n
      \                                        const Policy& policy,\n                                         Callbacks&
      cb)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls_version.h:46,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls_version.h:48,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls_version.h:58,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_version.h:67,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_version.h:74,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_version.h:74,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls_version.h:89,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls_version.h:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 157
    functionName: Botan::TLS::final
    functionSourceFile: /src/botan/src/lib/tls/tls_version.h
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - static_cast<uint8_t>
    - Protocol_Version
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 61
    functionName: Botan::TLS::Handshake_Transitions
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_transitions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Handshake_Transitions
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Group_Params_Code>
      Src: /src/botan/src/lib/tls/tls_algos.h:148,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls_algos.h:163,1
    - Dst: Botan::TLS::wire_code
      Src: /src/botan/src/lib/tls/tls_algos.h:182,1
    - Dst: Botan::TLS::wire_code
      Src: /src/botan/src/lib/tls/tls_algos.h:182,1
    - Dst: is_x25519
      Src: /src/botan/src/lib/tls/tls_algos.h:205,1
    - Dst: is_x448
      Src: /src/botan/src/lib/tls/tls_algos.h:205,1
    - Dst: is_ecdh_named_curve
      Src: /src/botan/src/lib/tls/tls_algos.h:205,1
    - Dst: is_pqc_hybrid_ml_kem
      Src: /src/botan/src/lib/tls/tls_algos.h:235,1
    - Dst: is_pqc_hybrid_frodokem
      Src: /src/botan/src/lib/tls/tls_algos.h:235,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 254
    functionName: Botan::TLS::final
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.h
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - is_x448
    - is_ecdh_named_curve
    - Botan::TLS::wire_code
    - is_pqc_hybrid_ml_kem
    - static_cast<Group_Params_Code>
    - is_x25519
    - is_pqc_hybrid_frodokem
    linkageType: ''
    returnType: Group_Params
    signature: Group_Params final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Kex_Algo
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: Botan::TLS::key_exchange_is_psk
    functionSourceFile: /src/botan/src/lib/tls/tls_algos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool key_exchange_is_psk(Kex_Algo m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: latest_supported_version
      Src: /src/botan/src/lib/tls/tls_server.cpp:35,1
    - Dst: auto::is_pre_tls_13
      Src: /src/botan/src/lib/tls/tls_server.cpp:37,1
    - Dst: std::make_unique<Server_Impl_13>
      Src: /src/botan/src/lib/tls/tls_server.cpp:39,1
    - Dst: expects_downgrade
      Src: /src/botan/src/lib/tls/tls_server.cpp:41,1
    - Dst: set_io_buffer_size
      Src: /src/botan/src/lib/tls/tls_server.cpp:42,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/tls/tls_server.cpp:45,1
    - Dst: std::make_unique<Server_Impl_12>
      Src: /src/botan/src/lib/tls/tls_server.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 7
    argNames:
    - ' callbacks'
    - ' session_manager'
    - ' creds'
    - ' policy'
    - ' rng'
    - is_datagram
    - io_buf_sz
    argTypes:
    - std::shared_ptr<Callbacks>
    - std::shared_ptr<Session_Manager>
    - std::shared_ptr<Credentials_Manager>
    - std::shared_ptr<const Policy>
    - std::shared_ptr<RandomNumberGenerator>
    - bool
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: Botan::TLS::Server::Server
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 0
    functionsReached:
    - expects_downgrade
    - latest_supported_version
    - set_io_buffer_size
    - std::make_unique<Server_Impl_12>
    - std::make_unique<Server_Impl_13>
    - auto::is_pre_tls_13
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: "void Server::Server(const std::shared_ptr<Callbacks>& callbacks,\n
      \              const std::shared_ptr<Session_Manager>& session_manager,\n               const
      std::shared_ptr<Credentials_Manager>& creds,\n               const std::shared_ptr<const
      Policy>& policy,\n               const std::shared_ptr<RandomNumberGenerator>&
      rng,\n               bool is_datagram,\n               size_t io_buf_sz)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Server::~Server()
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Server::~Server()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::from_peer
      Src: /src/botan/src/lib/tls/tls_server.cpp:55,1
    - Dst: is_downgrading
      Src: /src/botan/src/lib/tls/tls_server.cpp:57,1
    - Dst: extract_downgrade_info
      Src: /src/botan/src/lib/tls/tls_server.cpp:58,1
    - Dst: std::make_unique<Server_Impl_12>
      Src: /src/botan/src/lib/tls/tls_server.cpp:59,1
    - Dst: Botan::TLS::Server::from_peer
      Src: /src/botan/src/lib/tls/tls_server.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: Botan::TLS::Server::from_peer
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - extract_downgrade_info
    - is_downgrading
    - Botan::TLS::Server::from_peer
    - std::make_unique<Server_Impl_12>
    linkageType: ''
    returnType: size_t
    signature: size_t Server::from_peer(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls_server.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: Botan::TLS::Server::is_handshake_complete
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::is_handshake_complete
    linkageType: ''
    returnType: bool
    signature: bool Server::is_handshake_complete() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::is_active
      Src: /src/botan/src/lib/tls/tls_server.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Botan::TLS::Server::is_active
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 3
    functionsReached:
    - Botan::TLS::Server::is_active
    linkageType: ''
    returnType: bool
    signature: bool Server::is_active() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::is_closed
      Src: /src/botan/src/lib/tls/tls_server.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Botan::TLS::Server::is_closed
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Server::is_closed
    linkageType: ''
    returnType: bool
    signature: bool Server::is_closed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::is_closed_for_reading
      Src: /src/botan/src/lib/tls/tls_server.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan::TLS::Server::is_closed_for_reading
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::is_closed_for_reading
    linkageType: ''
    returnType: bool
    signature: bool Server::is_closed_for_reading() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::is_closed_for_writing
      Src: /src/botan/src/lib/tls/tls_server.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: Botan::TLS::Server::is_closed_for_writing
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::is_closed_for_writing
    linkageType: ''
    returnType: bool
    signature: bool Server::is_closed_for_writing() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::peer_cert_chain
      Src: /src/botan/src/lib/tls/tls_server.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::TLS::Server::peer_cert_chain
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::peer_cert_chain
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> Server::peer_cert_chain() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::peer_raw_public_key
      Src: /src/botan/src/lib/tls/tls_server.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: Botan::TLS::Server::peer_raw_public_key
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::peer_raw_public_key
    linkageType: ''
    returnType: std::shared_ptr<const Public_Key>
    signature: std::shared_ptr<const Public_Key> Server::peer_raw_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::external_psk_identity
      Src: /src/botan/src/lib/tls/tls_server.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: Botan::TLS::Server::external_psk_identity
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::external_psk_identity
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> Server::external_psk_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::key_material_export
      Src: /src/botan/src/lib/tls/tls_server.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - label
    - context
    - length
    argTypes:
    - std::string_view
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: Botan::TLS::Server::key_material_export
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::key_material_export
    linkageType: ''
    returnType: SymmetricKey
    signature: SymmetricKey Server::key_material_export(std::string_view label, std::string_view
      context, size_t length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::renegotiate
      Src: /src/botan/src/lib/tls/tls_server.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - force_full_renegotiation
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: Botan::TLS::Server::renegotiate
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::renegotiate
    linkageType: ''
    returnType: void
    signature: void Server::renegotiate(bool force_full_renegotiation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::new_session_ticket_supported
      Src: /src/botan/src/lib/tls/tls_server.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Botan::TLS::Server::new_session_ticket_supported
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::new_session_ticket_supported
    linkageType: ''
    returnType: bool
    signature: bool Server::new_session_ticket_supported() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::send_new_session_tickets
      Src: /src/botan/src/lib/tls/tls_server.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tickets
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: Botan::TLS::Server::send_new_session_tickets
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::send_new_session_tickets
    linkageType: ''
    returnType: size_t
    signature: size_t Server::send_new_session_tickets(const size_t tickets)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::update_traffic_keys
      Src: /src/botan/src/lib/tls/tls_server.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - request_peer_update
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: Botan::TLS::Server::update_traffic_keys
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::update_traffic_keys
    linkageType: ''
    returnType: void
    signature: void Server::update_traffic_keys(bool request_peer_update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::secure_renegotiation_supported
      Src: /src/botan/src/lib/tls/tls_server.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: Botan::TLS::Server::secure_renegotiation_supported
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::secure_renegotiation_supported
    linkageType: ''
    returnType: bool
    signature: bool Server::secure_renegotiation_supported() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::to_peer
      Src: /src/botan/src/lib/tls/tls_server.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::TLS::Server::to_peer
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::to_peer
    linkageType: ''
    returnType: void
    signature: void Server::to_peer(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::send_alert
      Src: /src/botan/src/lib/tls/tls_server.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' alert'
    argTypes:
    - Alert
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Botan::TLS::Server::send_alert
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::send_alert
    linkageType: ''
    returnType: void
    signature: void Server::send_alert(const Alert& alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::send_warning_alert
      Src: /src/botan/src/lib/tls/tls_server.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Alert::Type
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: Botan::TLS::Server::send_warning_alert
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::send_warning_alert
    linkageType: ''
    returnType: void
    signature: void Server::send_warning_alert(Alert::Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::send_fatal_alert
      Src: /src/botan/src/lib/tls/tls_server.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Alert::Type
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Botan::TLS::Server::send_fatal_alert
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::send_fatal_alert
    linkageType: ''
    returnType: void
    signature: void Server::send_fatal_alert(Alert::Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::close
      Src: /src/botan/src/lib/tls/tls_server.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: Botan::TLS::Server::close
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Server::close
    linkageType: ''
    returnType: void
    signature: void Server::close()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::timeout_check
      Src: /src/botan/src/lib/tls/tls_server.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: Botan::TLS::Server::timeout_check
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::timeout_check
    linkageType: ''
    returnType: bool
    signature: bool Server::timeout_check()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server::application_protocol
      Src: /src/botan/src/lib/tls/tls_server.cpp: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: Botan::TLS::Server::application_protocol
    functionSourceFile: /src/botan/src/lib/tls/tls_server.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server::application_protocol
    linkageType: ''
    returnType: std::string
    signature: std::string Server::application_protocol() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 49
    functionName: '& Signature_Scheme::all_available_schemes()'
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> & Signature_Scheme::all_available_schemes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::TLS::Signature_Scheme::Signature_Scheme
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Signature_Scheme::Signature_Scheme()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::PerfTest_MessageAuthenticationCode::PerfTest_MessageAuthenticationCode
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wire_code
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::TLS::Signature_Scheme::Signature_Scheme
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 2
    functionsReached:
    - Botan_CLI::PerfTest_MessageAuthenticationCode::PerfTest_MessageAuthenticationCode
    linkageType: ''
    returnType: void
    signature: void Signature_Scheme::Signature_Scheme(uint16_t wire_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wire_code
    argTypes:
    - Signature_Scheme::Code
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::TLS::Signature_Scheme::Signature_Scheme
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Signature_Scheme::Signature_Scheme(Signature_Scheme::Code wire_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:58,1
    - Dst: Signature_Scheme::all_available_schemes
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::TLS::Signature_Scheme::is_available
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 3
    functionsReached:
    - value_exists
    - Signature_Scheme::all_available_schemes
    linkageType: ''
    returnType: bool
    signature: bool Signature_Scheme::is_available() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::TLS::Signature_Scheme::is_set
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Signature_Scheme::is_set() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Signature_Scheme::to_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 100
    functionName: Botan::TLS::Signature_Scheme::to_string
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 3
    functionsReached:
    - Botan::TLS::Signature_Scheme::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string Signature_Scheme::to_string() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 130
    functionName: Botan::TLS::Signature_Scheme::hash_function_name
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Signature_Scheme::hash_function_name() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 167
    functionName: Botan::TLS::Signature_Scheme::padding_string
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Signature_Scheme::padding_string() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 195
    functionName: Botan::TLS::Signature_Scheme::algorithm_name
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Signature_Scheme::algorithm_name() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:201,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:203,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:205,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 224
    functionName: Botan::TLS::Signature_Scheme::key_algorithm_identifier
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 1
    functionsReached:
    - AlgorithmIdentifier
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Signature_Scheme::key_algorithm_identifier() const
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:229,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:229,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:231,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:231,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:233,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:233,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:235,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:235,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:238,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:238,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:240,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:240,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:242,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:242,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:244,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:244,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:247,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:247,1
    - Dst: PSS_Params
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:247,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:249,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:249,1
    - Dst: PSS_Params
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:249,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:251,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:251,1
    - Dst: PSS_Params
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:251,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 257
    functionName: Botan::TLS::Signature_Scheme::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - AlgorithmIdentifier
    - PSS_Params
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Signature_Scheme::algorithm_identifier() const
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 281
    functionName: Botan::TLS::Signature_Scheme::format
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Signature_Format>
    signature: std::optional<Signature_Format> Signature_Scheme::format() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Signature_Scheme::hash_function_name
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:289,1
    - Dst: is_pre_tls_13
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - ' protocol_version'
    argTypes:
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 304
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 304
    functionName: Botan::TLS::Signature_Scheme::is_compatible_with
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 0
    functionsReached:
    - is_pre_tls_13
    - Botan::TLS::Signature_Scheme::hash_function_name
    linkageType: ''
    returnType: bool
    signature: bool Signature_Scheme::is_compatible_with(const Protocol_Version& protocol_version)
      const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Signature_Scheme::algorithm_name
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:307,1
    - Dst: algo_name
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:307,1
    - Dst: key_length
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:312,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - Private_Key
    constantsTouched: []
    func_position:
      end: 330
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 330
    functionName: Botan::TLS::Signature_Scheme::is_suitable_for
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - key_length
    - Botan::TLS::Signature_Scheme::algorithm_name
    linkageType: ''
    returnType: bool
    signature: bool Signature_Scheme::is_suitable_for(const Private_Key& private_key)
      const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:334,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:334,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:334,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:334,1
    - Dst: algorithm_identifier
      Src: /src/botan/src/lib/tls/tls_signature_scheme.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' schemes'
    argTypes:
    - std::vector<Signature_Scheme>
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: Botan::TLS::to_algorithm_identifiers
    functionSourceFile: /src/botan/src/lib/tls/tls_signature_scheme.cpp
    functionUses: 0
    functionsReached:
    - std::transform
    - begin
    - std::back_inserter
    - algorithm_identifier
    - end
    linkageType: ''
    returnType: std::vector<AlgorithmIdentifier>
    signature: std::vector<AlgorithmIdentifier> to_algorithm_identifiers(const std::vector<Signature_Scheme>&
      schemes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: protocol_specific_prf
      Src: /src/botan/src/lib/tls/msg_finished.cpp:36,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/msg_finished.cpp:40,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/msg_finished.cpp:41,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/msg_finished.cpp:43,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/msg_finished.cpp:43,1
    - Dst: unlock
      Src: /src/botan/src/lib/tls/msg_finished.cpp:45,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/tls/msg_finished.cpp:45,1
    - Dst: session_keys
      Src: /src/botan/src/lib/tls/msg_finished.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' state'
    - side
    argTypes:
    - Handshake_State
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 46
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 46
    functionName: Botan::TLS::finished_compute_verify_12
    functionSourceFile: /src/botan/src/lib/tls/msg_finished.cpp
    functionUses: 0
    functionsReached:
    - hash
    - session_keys
    - auto::derive_key
    - std::make_pair
    - unlock
    - protocol_specific_prf
    - ciphersuite
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> finished_compute_verify_12(const Handshake_State&
      state, Connection_Side side)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::TLS::Finished::serialize
    functionSourceFile: /src/botan/src/lib/tls/msg_finished.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Finished::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::TLS::Finished::Finished
    functionSourceFile: /src/botan/src/lib/tls/msg_finished.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Finished::Finished(const std::vector<uint8_t>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::TLS::Finished::verify_data
    functionSourceFile: /src/botan/src/lib/tls/msg_finished.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Finished::verify_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finished_compute_verify_12
      Src: /src/botan/src/lib/tls/msg_finished.cpp:61,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/msg_finished.cpp:62,1
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_finished.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' io'
    - ' state'
    - side
    argTypes:
    - Handshake_IO
    - Handshake_State
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: Botan::TLS::Finished_12::Finished_12
    functionSourceFile: /src/botan/src/lib/tls/msg_finished.cpp
    functionUses: 0
    functionsReached:
    - finished_compute_verify_12
    - hash
    - send
    linkageType: ''
    returnType: void
    signature: void Finished_12::Finished_12(Handshake_IO& io, Handshake_State& state,
      Connection_Side side)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finished_compute_verify_12
      Src: /src/botan/src/lib/tls/msg_finished.cpp:66,1
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_finished.cpp:72,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/msg_finished.cpp:72,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/tls/msg_finished.cpp:76,1
    - Dst: data
      Src: /src/botan/src/lib/tls/msg_finished.cpp:76,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/msg_finished.cpp:76,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/msg_finished.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' state'
    - side
    argTypes:
    - Handshake_State
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: Botan::TLS::Finished_12::verify
    functionSourceFile: /src/botan/src/lib/tls/msg_finished.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Botan::CT::is_equal
    - data
    - size
    - finished_compute_verify_12
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: bool Finished_12::verify(const Handshake_State& state, Connection_Side
      side) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cipher_State*::finished_mac
      Src: /src/botan/src/lib/tls/msg_finished.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cipher_state
    - ' transcript_hash'
    argTypes:
    - Cipher_State*
    - Transcript_Hash
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: Botan::TLS::Finished_13::Finished_13
    functionSourceFile: /src/botan/src/lib/tls/msg_finished.cpp
    functionUses: 0
    functionsReached:
    - Cipher_State*::finished_mac
    linkageType: ''
    returnType: void
    signature: void Finished_13::Finished_13(Cipher_State* cipher_state, const Transcript_Hash&
      transcript_hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cipher_State*::verify_peer_finished_mac
      Src: /src/botan/src/lib/tls/msg_finished.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cipher_state
    - ' transcript_hash'
    argTypes:
    - Cipher_State*
    - Transcript_Hash
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: Botan::TLS::Finished_13::verify
    functionSourceFile: /src/botan/src/lib/tls/msg_finished.cpp
    functionUses: 0
    functionsReached:
    - Cipher_State*::verify_peer_finished_mac
    linkageType: ''
    returnType: bool
    signature: bool Finished_13::verify(Cipher_State* cipher_state, const Transcript_Hash&
      transcript_hash) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::TLS::capacity
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t capacity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::TLS::emits_session_tickets
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool emits_session_tickets() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session_Manager_Hybrid
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.h:52,1
    - Dst: find
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.h:68,1
    - Dst: store
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.h:71,1
    - Dst: Botan::TLS::remove
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.h:73,1
    - Dst: Botan::TLS::remove_all
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.h:75,1
    - Dst: Botan::TLS::get
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 94
    functionName: Botan::TLS::Session_Manager
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_hybrid.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::remove
    - Session_Manager_Hybrid
    - find
    - store
    - Botan::TLS::remove_all
    - Botan::TLS::get
    linkageType: ''
    returnType: Session_Manager_Hybrid
    signature: Session_Manager_Hybrid Session_Manager
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::type
      Src: /src/botan/src/lib/tls/tls_handshake_msg.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: Botan::TLS::wire_type
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_msg.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::type
    linkageType: ''
    returnType: Handshake_Type
    signature: Handshake_Type wire_type() const
  - 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: ~Handshake_Message()
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_msg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handshake_Message()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::TLS::Handshake_Message
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_msg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handshake_Message()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan::TLS::Handshake_Message
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_msg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handshake_Message(const Handshake_Message&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::TLS::Handshake_Message
    functionSourceFile: /src/botan/src/lib/tls/tls_handshake_msg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handshake_Message(Handshake_Message&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:23,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - stateful
    - ' credentials_manager'
    - ' rng'
    - prefer_tickets
    argTypes:
    - std::unique_ptr<Session_Manager>
    - std::shared_ptr<Credentials_Manager>
    - std::shared_ptr<RandomNumberGenerator>
    - bool
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: Botan::TLS::Session_Manager_Hybrid::Session_Manager_Hybrid
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void Session_Manager_Hybrid::Session_Manager_Hybrid(std::unique_ptr<Session_Manager>
      stateful,\n                                               const std::shared_ptr<Credentials_Manager>&
      credentials_manager,\n                                               const std::shared_ptr<RandomNumberGenerator>&
      rng,\n                                               bool prefer_tickets)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Session_Manager_Hybrid::establish
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:37,1
    - Dst: BOTAN_ASSERT_IMPLICATION
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:38,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:38,1
    - Dst: auto::is_ticket
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:39,1
    - Dst: Botan::TLS::Session_Manager_Hybrid::establish
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:47,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:47,1
    - Dst: BOTAN_ASSERT_IMPLICATION
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:48,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:49,1
    - Dst: auto::is_id
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:49,1
    - Dst: std::swap
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:57,1
    - Dst: preferred
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:60,1
    - Dst: fallback
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ' session'
    - ' id'
    - tls12_no_ticket
    argTypes:
    - Session
    - std::optional<Session_ID>
    - bool
    constantsTouched: []
    func_position:
      end: 65
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 65
    functionName: Botan::TLS::Session_Manager_Hybrid::establish
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp
    functionUses: 1
    functionsReached:
    - fallback
    - auto::has_value
    - version
    - BOTAN_ASSERT_IMPLICATION
    - auto::is_id
    - std::swap
    - auto::is_ticket
    - Botan::TLS::Session_Manager_Hybrid::establish
    - preferred
    linkageType: ''
    returnType: std::optional<Session_Handle>
    signature: "std::optional<Session_Handle> Session_Manager_Hybrid::establish(const
      Session& session,\n                                                                const
      std::optional<Session_ID>& id,\n                                                                bool
      tls12_no_ticket)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:74,1
    - Dst: std::reference_wrapper::get
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:77,1
    - Dst: std::reference_wrapper::get
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' handle'
    - ' callbacks'
    - ' policy'
    argTypes:
    - Session_Handle
    - Callbacks
    - Policy
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: Botan::TLS::Session_Manager_Hybrid::retrieve
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp
    functionUses: 0
    functionsReached:
    - std::reference_wrapper::get
    - std::swap
    linkageType: ''
    returnType: std::optional<Session>
    signature: "std::optional<Session> Session_Manager_Hybrid::retrieve(const Session_Handle&
      handle,\n                                                        Callbacks&
      callbacks,\n                                                        const Policy&
      policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Session_Manager_Hybrid::emits_session_tickets
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:85,1
    - Dst: Botan::TLS::Session_Manager_Hybrid::emits_session_tickets
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: Botan::TLS::Session_Manager_Hybrid::emits_session_tickets
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Session_Manager_Hybrid::emits_session_tickets
    linkageType: ''
    returnType: bool
    signature: bool Session_Manager_Hybrid::emits_session_tickets()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::TLS::Session_Manager_Hybrid::retrieve_one
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT
    linkageType: ''
    returnType: std::optional<Session>
    signature: std::optional<Session> Session_Manager_Hybrid::retrieve_one(const Session_Handle&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: Botan::TLS::Session_Manager_Hybrid::find_some
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager_hybrid.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT
    linkageType: ''
    returnType: std::vector<Session_with_Handle>
    signature: std::vector<Session_with_Handle> Session_Manager_Hybrid::find_some(const
      Server_Information&, const size_t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:29,1
    - Dst: update
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:30,1
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' io'
    - ' hash'
    - ticket
    - lifetime
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    - Session_Ticket
    - std::chrono::seconds
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: Botan::TLS::New_Session_Ticket_12::New_Session_Ticket_12
    functionSourceFile: /src/botan/src/lib/tls/msg_session_ticket.cpp
    functionUses: 0
    functionsReached:
    - update
    - std::move
    - send
    linkageType: ''
    returnType: void
    signature: "void New_Session_Ticket_12::New_Session_Ticket_12(Handshake_IO& io,\n
      \                                            Handshake_Hash& hash,\n                                             Session_Ticket
      ticket,\n                                             std::chrono::seconds lifetime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:34,1
    - Dst: send
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' io'
    - ' hash'
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::TLS::New_Session_Ticket_12::New_Session_Ticket_12
    functionSourceFile: /src/botan/src/lib/tls/msg_session_ticket.cpp
    functionUses: 0
    functionsReached:
    - update
    - send
    linkageType: ''
    returnType: void
    signature: void New_Session_Ticket_12::New_Session_Ticket_12(Handshake_IO& io,
      Handshake_Hash& hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:38,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:39,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:44,1
    - Dst: TLS_Data_Reader::get_uint32_t
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:44,1
    - Dst: Session_Ticket
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:45,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:45,1
    - Dst: TLS_Data_Reader::assert_done
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: Botan::TLS::New_Session_Ticket_12::New_Session_Ticket_12
    functionSourceFile: /src/botan/src/lib/tls/msg_session_ticket.cpp
    functionUses: 0
    functionsReached:
    - TLS_Data_Reader::assert_done
    - Session_Ticket
    - TLS_Data_Reader::get_range
    - size
    - Decoding_Error
    - Botan_CLI::Timer::seconds
    - TLS_Data_Reader::get_uint32_t
    linkageType: ''
    returnType: void
    signature: void New_Session_Ticket_12::New_Session_Ticket_12(const std::vector<uint8_t>&
      buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:53,1
    - Dst: std::chrono::seconds::count
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:53,1
    - Dst: std::chrono::seconds::count
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:53,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:53,1
    - Dst: store_be
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:55,1
    - Dst: static_cast<lifetime_t>
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:55,1
    - Dst: std::chrono::seconds::count
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:55,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sink
    - lifetime
    argTypes:
    - std::span<uint8_t>
    - std::chrono::seconds
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: Botan::TLS::store_lifetime
    functionSourceFile: /src/botan/src/lib/tls/msg_session_ticket.cpp
    functionUses: 0
    functionsReached:
    - static_cast<lifetime_t>
    - std::chrono::seconds::count
    - BOTAN_ARG_CHECK
    - std::span<uint8_t>::data
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - store_be
    linkageType: ''
    returnType: void
    signature: void store_lifetime(std::span<uint8_t> sink, std::chrono::seconds lifetime)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:62,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:62,1
    - Dst: count
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:62,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:62,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:63,1
    - Dst: get
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: Botan::TLS::New_Session_Ticket_12::serialize
    functionSourceFile: /src/botan/src/lib/tls/msg_session_ticket.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - get
    - append_tls_length_value
    - count
    - store_be
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> New_Session_Ticket_12::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lifetime_hint
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:73,1
    - Dst: session_age_add
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:74,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:75,1
    - Dst: opaque_handle
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:76,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:77,1
    - Dst: type
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - nonce
    - ' session'
    - ' handle'
    - ' callbacks'
    argTypes:
    - Ticket_Nonce
    - Session
    - Session_Handle
    - Callbacks
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: Botan::TLS::New_Session_Ticket_13::New_Session_Ticket_13
    functionSourceFile: /src/botan/src/lib/tls/msg_session_ticket.cpp
    functionUses: 0
    functionsReached:
    - type
    - session_age_add
    - tls_modify_extensions
    - opaque_handle
    - std::move
    - lifetime_hint
    linkageType: ''
    returnType: void
    signature: "void New_Session_Ticket_13::New_Session_Ticket_13(Ticket_Nonce nonce,\n
      \                                            const Session& session,\n                                             const
      Session_Handle& handle,\n                                             Callbacks&
      callbacks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:83,1
    - Dst: TLS_Data_Reader::get_uint32_t
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:83,1
    - Dst: std::chrono::days
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:88,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:89,1
    - Dst: TLS_Data_Reader::get_uint32_t
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:92,1
    - Dst: Ticket_Nonce
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:93,1
    - Dst: TLS_Data_Reader::get_tls_length_value
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:93,1
    - Dst: Opaque_Session_Handle
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:94,1
    - Dst: TLS_Data_Reader::get_tls_length_value
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:94,1
    - Dst: deserialize
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:96,1
    - Dst: type
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:96,1
    - Dst: contains_implemented_extensions_other_than
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:102,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:103,1
    - Dst: TLS_Data_Reader::assert_done
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' buf'
    - from
    argTypes:
    - std::vector<uint8_t>
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 107
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 107
    functionName: Botan::TLS::New_Session_Ticket_13::New_Session_Ticket_13
    functionSourceFile: /src/botan/src/lib/tls/msg_session_ticket.cpp
    functionUses: 0
    functionsReached:
    - type
    - TLS_Data_Reader::assert_done
    - TLS_Data_Reader::get_tls_length_value
    - contains_implemented_extensions_other_than
    - TLS_Exception
    - Ticket_Nonce
    - deserialize
    - Botan_CLI::Timer::seconds
    - std::chrono::days
    - TLS_Data_Reader::get_uint32_t
    - Opaque_Session_Handle
    linkageType: ''
    returnType: void
    signature: void New_Session_Ticket_13::New_Session_Ticket_13(const std::vector<uint8_t>&
      buf, Connection_Side from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:110,1
    - Dst: get
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:114,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:115,1
    - Dst: EarlyDataIndication*::max_early_data_size
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:115,1
    - Dst: EarlyDataIndication*::max_early_data_size
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: Botan::TLS::New_Session_Ticket_13::early_data_byte_limit
    functionSourceFile: /src/botan/src/lib/tls/msg_session_ticket.cpp
    functionUses: 0
    functionsReached:
    - has
    - get
    - BOTAN_ASSERT_NOMSG
    - EarlyDataIndication*::max_early_data_size
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> New_Session_Ticket_13::early_data_byte_limit()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_lifetime
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:122,1
    - Dst: std::span
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:122,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:122,1
    - Dst: store_be
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:123,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:123,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:124,1
    - Dst: get
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:124,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:125,1
    - Dst: get
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:125,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:128,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:129,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:130,1
    - Dst: Botan::TLS::New_Session_Ticket_13::serialize
      Src: /src/botan/src/lib/tls/msg_session_ticket.cpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 136
    functionName: Botan::TLS::New_Session_Ticket_13::serialize
    functionSourceFile: /src/botan/src/lib/tls/msg_session_ticket.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::New_Session_Ticket_13::serialize
    - std::span
    - empty
    - std::vector::push_back
    - store_lifetime
    - get
    - append_tls_length_value
    - store_be
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> New_Session_Ticket_13::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan::TLS::RFC6066_Empty_Certificate_Status_Request::RFC6066_Empty_Certificate_Status_Request
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RFC6066_Empty_Certificate_Status_Request()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - extension_size
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: Botan::TLS::RFC6066_Empty_Certificate_Status_Request::RFC6066_Empty_Certificate_Status_Request
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void RFC6066_Empty_Certificate_Status_Request(uint16_t extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::TLS::RFC6066_Empty_Certificate_Status_Request::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:36,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - names
    - keys
    argTypes:
    - std::vector<uint8_t>
    - std::vector<std::vector<uint8_t>>
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: Botan::TLS::RFC6066_Certificate_Status_Request::RFC6066_Certificate_Status_Request
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void RFC6066_Certificate_Status_Request(std::vector<uint8_t> names,
      std::vector<std::vector<uint8_t>> keys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:40,1
    - Dst: get_fixed
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:46,1
    - Dst: get_fixed
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:48,1
    - Dst: discard_next
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: Botan::TLS::RFC6066_Certificate_Status_Request::RFC6066_Certificate_Status_Request
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached:
    - get_fixed
    - Decoding_Error
    - discard_next
    linkageType: ''
    returnType: void
    signature: void RFC6066_Certificate_Status_Request(TLS_Data_Reader& reader, uint16_t
      extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: Botan::TLS::RFC6066_Certificate_Status_Request::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - Contents
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Botan::TLS::Certificate_Status_Request_Internal::Certificate_Status_Request_Internal
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Certificate_Status_Request_Internal(Contents c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Certificate_Status_Request_Internal>
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:109,1
    - Dst: RFC6066_Certificate_Status_Request
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:110,1
    - Dst: std::make_unique<Certificate_Status_Request_Internal>
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:123,1
    - Dst: RFC6066_Empty_Certificate_Status_Request
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:124,1
    - Dst: std::make_unique<Certificate_Status_Request_Internal>
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:139,1
    - Dst: Certificate_Status
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:140,1
    - Dst: get_fixed
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:140,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - ' reader'
    - extension_size
    - message_type
    - from
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    - Handshake_Type
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 148
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 148
    functionName: Botan::TLS::Certificate_Status_Request::Certificate_Status_Request
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached:
    - RFC6066_Certificate_Status_Request
    - get_fixed
    - RFC6066_Empty_Certificate_Status_Request
    - Certificate_Status
    - std::make_unique<Certificate_Status_Request_Internal>
    - TLS_Exception
    linkageType: ''
    returnType: void
    signature: "void Certificate_Status_Request::Certificate_Status_Request(TLS_Data_Reader&
      reader,\n                                                       uint16_t extension_size,\n
      \                                                      Handshake_Type message_type,\n
      \                                                      Connection_Side from)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Certificate_Status_Request_Internal>
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:151,1
    - Dst: RFC6066_Empty_Certificate_Status_Request
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: Botan::TLS::Certificate_Status_Request::Certificate_Status_Request
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Certificate_Status_Request_Internal>
    - RFC6066_Empty_Certificate_Status_Request
    linkageType: ''
    returnType: void
    signature: void Certificate_Status_Request::Certificate_Status_Request()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Certificate_Status_Request_Internal>
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:155,1
    - Dst: RFC6066_Certificate_Status_Request
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:156,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:156,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ocsp_responder_ids
    - ocsp_key_ids
    argTypes:
    - std::vector<uint8_t>
    - std::vector<std::vector<uint8_t>>
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: Botan::TLS::Certificate_Status_Request::Certificate_Status_Request
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Certificate_Status_Request_Internal>
    - RFC6066_Certificate_Status_Request
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Certificate_Status_Request::Certificate_Status_Request(std::vector<uint8_t>
      ocsp_responder_ids,\n                                                       std::vector<std::vector<uint8_t>>
      ocsp_key_ids)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Certificate_Status_Request_Internal>
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:159,1
    - Dst: Certificate_Status
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:159,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - response
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: Botan::TLS::Certificate_Status_Request::Certificate_Status_Request
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached:
    - Certificate_Status
    - std::make_unique<Certificate_Status_Request_Internal>
    - std::move
    linkageType: ''
    returnType: void
    signature: void Certificate_Status_Request::Certificate_Status_Request(std::vector<uint8_t>
      response)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: Certificate_Status_Request::~Certificate_Status_Request()
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Certificate_Status_Request::~Certificate_Status_Request()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:164,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:165,1
    - Dst: std::holds_alternative<Certificate_Status>
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:165,1
    - Dst: std::get<Certificate_Status>
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: '& Certificate_Status_Request::get_ocsp_response() const'
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 0
    functionsReached:
    - std::holds_alternative<Certificate_Status>
    - std::get<Certificate_Status>
    - BOTAN_STATE_CHECK
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & Certificate_Status_Request::get_ocsp_response()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:170,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:171,1
    - Dst: Botan::TLS::Certificate_Status_Request::serialize
      Src: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: Botan::TLS::Certificate_Status_Request::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls_extensions_cert_status_req.cpp
    functionUses: 1
    functionsReached:
    - std::visit
    - BOTAN_ASSERT_NONNULL
    - Botan::TLS::Certificate_Status_Request::serialize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_Status_Request::serialize(Connection_Side)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: Botan::TLS::emits_session_tickets
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool emits_session_tickets()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: ~Session_Manager()
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Session_Manager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: Botan::TLS::mutex
    functionSourceFile: /src/botan/src/lib/tls/tls_session_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: recursive_mutex_type
    signature: recursive_mutex_type & mutex()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:27,1
    - Dst: Group_Params::is_pqc_hybrid
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:27,1
    - Dst: Group_Params::code
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - group
    argTypes:
    - Group_Params
    constantsTouched: []
    func_position:
      end: 75
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 75
    functionName: Botan::TLS::algorithm_specs_for_group
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - Group_Params::code
    - BOTAN_ARG_CHECK
    - Group_Params::is_pqc_hybrid
    linkageType: ''
    returnType: std::vector<std::pair<std::string, std::string>>
    signature: std::vector<std::pair<std::string, std::string>> algorithm_specs_for_group(Group_Params
      group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:78,1
    - Dst: Group_Params::is_pqc_hybrid
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:78,1
    - Dst: Botan::TLS::algorithm_specs_for_group
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:80,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:82,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:82,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:93,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:93,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:93,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:95,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - group
    argTypes:
    - Group_Params
    constantsTouched: []
    func_position:
      end: 100
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 100
    functionName: Botan::TLS::algorithm_identifiers_for_group
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::algorithm_specs_for_group
    - AlgorithmIdentifier
    - BOTAN_ASSERT_NOMSG
    - std::vector::push_back
    - std::vector::reserve
    - Group_Params::is_pqc_hybrid
    - Botan::EC_Group::from_name
    - auto::size
    linkageType: ''
    returnType: std::vector<AlgorithmIdentifier>
    signature: std::vector<AlgorithmIdentifier> algorithm_identifiers_for_group(Group_Params
      group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:103,1
    - Dst: Group_Params::is_pqc_hybrid
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:103,1
    - Dst: Group_Params::code
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - group
    argTypes:
    - Group_Params
    constantsTouched: []
    func_position:
      end: 144
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 144
    functionName: Botan::TLS::public_key_lengths_for_group
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - Group_Params::code
    - Group_Params::is_pqc_hybrid
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> public_key_lengths_for_group(Group_Params group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:148,1
    - Dst: std::vector<std::unique_ptr<Public_Key>>::begin
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:148,1
    - Dst: std::vector<std::unique_ptr<Public_Key>>::end
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:148,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:148,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:149,1
    - Dst: supports_operation
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:150,1
    - Dst: supports_operation
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:151,1
    - Dst: std::make_unique<KEX_to_KEM_Adapter_PublicKey>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:152,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:152,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pks
    argTypes:
    - std::vector<std::unique_ptr<Public_Key>>
    constantsTouched: []
    func_position:
      end: 158
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 158
    functionName: Botan::TLS::convert_kex_to_kem_pks
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - std::vector<std::unique_ptr<Public_Key>>::begin
    - std::transform
    - std::back_inserter
    - BOTAN_ARG_CHECK
    - std::move
    - supports_operation
    - std::make_unique<KEX_to_KEM_Adapter_PublicKey>
    - std::vector<std::unique_ptr<Public_Key>>::end
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Public_Key>>
    signature: std::vector<std::unique_ptr<Public_Key>> convert_kex_to_kem_pks(std::vector<std::unique_ptr<Public_Key>>
      pks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:162,1
    - Dst: std::vector<std::unique_ptr<Private_Key>>::begin
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:162,1
    - Dst: std::vector<std::unique_ptr<Private_Key>>::end
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:162,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:162,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:163,1
    - Dst: supports_operation
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:164,1
    - Dst: supports_operation
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:165,1
    - Dst: dynamic_cast<PK_Key_Agreement_Key*>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:166,1
    - Dst: Botan::TLS::get
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:166,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:167,1
    - Dst: release
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:168,1
    - Dst: std::make_unique<KEX_to_KEM_Adapter_PrivateKey>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:169,1
    - Dst: std::unique_ptr<PK_Key_Agreement_Key>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:169,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - sks
    argTypes:
    - std::vector<std::unique_ptr<Private_Key>>
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: Botan::TLS::convert_kex_to_kem_sks
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<PK_Key_Agreement_Key>
    - std::transform
    - std::back_inserter
    - std::vector<std::unique_ptr<Private_Key>>::begin
    - dynamic_cast<PK_Key_Agreement_Key*>
    - std::move
    - supports_operation
    - std::vector<std::unique_ptr<Private_Key>>::end
    - release
    - BOTAN_ARG_CHECK
    - BOTAN_ASSERT_NONNULL
    - std::make_unique<KEX_to_KEM_Adapter_PrivateKey>
    - Botan::TLS::get
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Private_Key>>
    signature: std::vector<std::unique_ptr<Private_Key>> convert_kex_to_kem_sks(std::vector<std::unique_ptr<Private_Key>>
      sks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:182,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:182,1
    - Dst: shared_key_length
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:182,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:186,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:187,1
    - Dst: at
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:187,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:189,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' op'
    - out_shared_secret
    - ' shared_secrets'
    - desired_shared_key_len
    argTypes:
    - KEM_Operation
    - std::span<uint8_t>
    - std::vector<secure_vector<uint8_t>>
    - size_t
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 190
    functionName: Botan::TLS::concat_secret_combiner
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::append
    - BOTAN_ASSERT_NOMSG
    - std::span<uint8_t>::size
    - at
    - shared_key_length
    - size
    - BOTAN_ARG_CHECK
    - BufferStuffer::full
    linkageType: ''
    returnType: void
    signature: "void concat_secret_combiner(KEM_Operation& op,\n                            std::span<uint8_t>
      out_shared_secret,\n                            const std::vector<secure_vector<uint8_t>>&
      shared_secrets,\n                            size_t desired_shared_key_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reduce
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:194,1
    - Dst: shared_key_length
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::vector<KEM_Operation>
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: Botan::TLS::concat_shared_key_length
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - shared_key_length
    - reduce
    linkageType: ''
    returnType: size_t
    signature: size_t concat_shared_key_length(const std::vector<KEM_Operation>& operation)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' public_keys'
    - provider
    argTypes:
    - std::vector<std::unique_ptr<Public_Key>>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: Botan::TLS::Hybrid_TLS_KEM_Encryptor::Hybrid_TLS_KEM_Encryptor
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Hybrid_TLS_KEM_Encryptor(const std::vector<std::unique_ptr<Public_Key>>&
      public_keys, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat_secret_combiner
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out_shared_secret
    - ' shared_secrets'
    - desired_shared_key_len
    argTypes:
    - std::span<uint8_t>
    - std::vector<secure_vector<uint8_t>>
    - size_t
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: Botan::TLS::Hybrid_TLS_KEM_Encryptor::combine_shared_secrets
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - concat_secret_combiner
    linkageType: ''
    returnType: void
    signature: "void combine_shared_secrets(std::span<uint8_t> out_shared_secret,\n
      \                                 const std::vector<secure_vector<uint8_t>>&
      shared_secrets,\n                                  const std::vector<std::vector<uint8_t>>&
      /*ciphertexts*/,\n                                  size_t desired_shared_key_len,\n
      \                                 std::span<const uint8_t> /*salt*/) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat_shared_key_length
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:213,1
    - Dst: encryptors
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: Botan::TLS::Hybrid_TLS_KEM_Encryptor::shared_key_length
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - encryptors
    - concat_shared_key_length
    linkageType: ''
    returnType: size_t
    signature: size_t shared_key_length(size_t /*desired_shared_key_len*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' private_keys'
    - ' rng'
    - provider
    argTypes:
    - std::vector<std::unique_ptr<Private_Key>>
    - RandomNumberGenerator
    - std::string_view
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: Botan::TLS::Hybrid_TLS_KEM_Decryptor::Hybrid_TLS_KEM_Decryptor
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Hybrid_TLS_KEM_Decryptor(const std::vector<std::unique_ptr<Private_Key>>&
      private_keys,\n                               RandomNumberGenerator& rng,\n
      \                              const std::string_view provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat_secret_combiner
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out_shared_secret
    - ' shared_secrets'
    - desired_shared_key_len
    argTypes:
    - std::span<uint8_t>
    - std::vector<secure_vector<uint8_t>>
    - size_t
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: Botan::TLS::Hybrid_TLS_KEM_Decryptor::combine_shared_secrets
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - concat_secret_combiner
    linkageType: ''
    returnType: void
    signature: "void combine_shared_secrets(std::span<uint8_t> out_shared_secret,\n
      \                                 const std::vector<secure_vector<uint8_t>>&
      shared_secrets,\n                                  const std::vector<std::vector<uint8_t>>&
      /*ciphertexts*/,\n                                  size_t desired_shared_key_len,\n
      \                                 std::span<const uint8_t> /*salt*/) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat_shared_key_length
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:234,1
    - Dst: decryptors
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: Botan::TLS::Hybrid_TLS_KEM_Decryptor::shared_key_length
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - decryptors
    - concat_shared_key_length
    linkageType: ''
    returnType: size_t
    signature: size_t shared_key_length(size_t /*desired_shared_key_len*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key_lengths_for_group
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:242,1
    - Dst: algorithm_identifiers_for_group
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:243,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:244,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:244,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:244,1
    - Dst: reduce
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:247,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:248,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:249,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:254,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:254,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:255,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:256,1
    - Dst: load_public_key
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:256,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:256,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:258,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:258,1
    - Dst: std::make_unique<Hybrid_KEM_PublicKey>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:259,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - group
    - concatenated_public_keys
    argTypes:
    - Group_Params
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 260
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 260
    functionName: Botan::TLS::Hybrid_KEM_PublicKey::load_for_group
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 1
    functionsReached:
    - algorithm_identifiers_for_group
    - BOTAN_ASSERT_NOMSG
    - BufferSlicer::take
    - std::make_unique<Hybrid_KEM_PublicKey>
    - Decoding_Error
    - std::vector::reserve
    - public_key_lengths_for_group
    - std::span<const uint8_t>::size
    - BufferSlicer::empty
    - auto::size
    - std::move
    - load_public_key
    - std::vector::emplace_back
    - reduce
    linkageType: ''
    returnType: std::unique_ptr<Hybrid_KEM_PublicKey>
    signature: "std::unique_ptr<Hybrid_KEM_PublicKey> Hybrid_KEM_PublicKey::load_for_group(\n
      \  Group_Params group, std::span<const uint8_t> concatenated_public_keys)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: convert_kex_to_kem_pks
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:263,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pks
    argTypes:
    - std::vector<std::unique_ptr<Public_Key>>
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: Botan::TLS::Hybrid_KEM_PublicKey::Hybrid_KEM_PublicKey
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - convert_kex_to_kem_pks
    - std::move
    linkageType: ''
    returnType: void
    signature: void Hybrid_KEM_PublicKey::Hybrid_KEM_PublicKey(std::vector<std::unique_ptr<Public_Key>>
      pks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: convert_kex_to_kem_pks
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:266,1
    - Dst: extract_public_keys
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:266,1
    - Dst: convert_kex_to_kem_sks
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:267,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sks
    argTypes:
    - std::vector<std::unique_ptr<Private_Key>>
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: Botan::TLS::Hybrid_KEM_PrivateKey::Hybrid_KEM_PrivateKey
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 1
    functionsReached:
    - convert_kex_to_kem_pks
    - extract_public_keys
    - convert_kex_to_kem_sks
    - std::move
    linkageType: ''
    returnType: void
    signature: void Hybrid_KEM_PrivateKey::Hybrid_KEM_PrivateKey(std::vector<std::unique_ptr<Private_Key>>
      sks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_keys
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:271,1
    - Dst: public_keys
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:275,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 279
    functionName: Botan::TLS::Hybrid_KEM_PublicKey::algo_name
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - public_keys
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Hybrid_KEM_PublicKey::algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Not_Implemented::Not_Implemented
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: Botan::TLS::Hybrid_KEM_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::Not_Implemented::Not_Implemented
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Hybrid_KEM_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: Botan::TLS::Hybrid_KEM_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Hybrid_KEM_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Hybrid_KEM_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reduce
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:297,1
    - Dst: public_keys
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:297,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:297,1
    - Dst: concat
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:298,1
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 300
    functionName: Botan::TLS::Hybrid_KEM_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 3
    functionsReached:
    - Botan::TLS::Hybrid_KEM_PublicKey::raw_public_key_bits
    - public_keys
    - concat
    - std::vector<uint8_t>
    - reduce
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Hybrid_KEM_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Hybrid_KEM_PrivateKey>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:303,1
    - Dst: generate_other_sks_from_pks
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: Botan::TLS::Hybrid_KEM_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Hybrid_KEM_PrivateKey>
    - generate_other_sks_from_pks
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> Hybrid_KEM_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:308,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:309,1
    - Dst: std::make_unique<Hybrid_TLS_KEM_Encryptor>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:311,1
    - Dst: public_keys
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 312
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 312
    functionName: Botan::TLS::Hybrid_KEM_PublicKey::create_kem_encryption_op
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - std::string_view::empty
    - std::make_unique<Hybrid_TLS_KEM_Encryptor>
    - public_keys
    linkageType: ''
    returnType: std::unique_ptr<Botan::PK_Ops::KEM_Encryption>
    signature: "std::unique_ptr<Botan::PK_Ops::KEM_Encryption> Hybrid_KEM_PublicKey::create_kem_encryption_op(\n
      \  std::string_view params, std::string_view provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm_specs_for_group
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:316,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:318,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:318,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:320,1
    - Dst: create_private_key
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:320,1
    - Dst: std::make_unique<Hybrid_KEM_PrivateKey>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:322,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - group
    - ' rng'
    argTypes:
    - Group_Params
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 323
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 323
    functionName: Botan::TLS::Hybrid_KEM_PrivateKey::generate_from_group
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - std::vector::push_back
    - std::vector::reserve
    - std::move
    - algorithm_specs_for_group
    - std::make_unique<Hybrid_KEM_PrivateKey>
    - create_private_key
    linkageType: ''
    returnType: std::unique_ptr<Hybrid_KEM_PrivateKey>
    signature: "std::unique_ptr<Hybrid_KEM_PrivateKey> Hybrid_KEM_PrivateKey::generate_from_group(Group_Params
      group,\n                                                                                  RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:327,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:328,1
    - Dst: std::make_unique<Hybrid_TLS_KEM_Decryptor>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:330,1
    - Dst: private_keys
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: Botan::TLS::Hybrid_KEM_PrivateKey::create_kem_decryption_op
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - std::string_view::empty
    - private_keys
    - std::make_unique<Hybrid_TLS_KEM_Decryptor>
    linkageType: ''
    returnType: std::unique_ptr<Botan::PK_Ops::KEM_Decryption>
    signature: "std::unique_ptr<Botan::PK_Ops::KEM_Decryption> Hybrid_KEM_PrivateKey::create_kem_decryption_op(\n
      \  RandomNumberGenerator& rng, std::string_view params, std::string_view provider)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Hybrid_KEM_PublicKey
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 61
    functionName: Botan::TLS::Hybrid_KEM_PublicKey
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.h
    functionUses: 2
    functionsReached:
    - Botan::TLS::Hybrid_KEM_PublicKey
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Hybrid_KEM_PublicKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Hybrid_KEM_PublicKey>
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.h:82,1
    - Dst: extract_public_keys
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.h:82,1
    - Dst: private_keys
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: Botan::TLS::public_key
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.h
    functionUses: 0
    functionsReached:
    - private_keys
    - extract_public_keys
    - std::make_unique<Hybrid_KEM_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> public_key() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Hybrid_PrivateKey::check_key
      Src: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: Botan::TLS::check_key
    functionSourceFile: /src/botan/src/lib/tls/tls13_pqc/hybrid_public_key.h
    functionUses: 0
    functionsReached:
    - Botan::Hybrid_PrivateKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool check_key(RandomNumberGenerator& rng, bool strong) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:21,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:22,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:26,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:32,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:33,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:36,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:36,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 37
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 37
    functionName: Botan::TLS::Certificate_Status::Certificate_Status
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp
    functionUses: 0
    functionsReached:
    - assign
    - begin
    - size
    - end
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void Certificate_Status::Certificate_Status(const std::vector<uint8_t>&
      buf, const Connection_Side)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_bits
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:40,1
    - Dst: update
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:41,1
    - Dst: send
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' io'
    - ' hash'
    - ' ocsp'
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    - OCSP::Response
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: Botan::TLS::Certificate_Status::Certificate_Status
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp
    functionUses: 0
    functionsReached:
    - raw_bits
    - update
    - send
    linkageType: ''
    returnType: void
    signature: void Certificate_Status::Certificate_Status(Handshake_IO& io, Handshake_Hash&
      hash, const OCSP::Response& ocsp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:47,1
    - Dst: update
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:48,1
    - Dst: send
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' io'
    - ' hash'
    - raw_response_bytes
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: Botan::TLS::Certificate_Status::Certificate_Status
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp
    functionUses: 0
    functionsReached:
    - update
    - std::move
    - send
    linkageType: ''
    returnType: void
    signature: "void Certificate_Status::Certificate_Status(Handshake_IO& io,\n                                       Handshake_Hash&
      hash,\n                                       std::vector<uint8_t> raw_response_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - raw_response_bytes
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: Botan::TLS::Certificate_Status::Certificate_Status
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Certificate_Status::Certificate_Status(std::vector<uint8_t> raw_response_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:55,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:56,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:62,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:62,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:63,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:65,1
    - Dst: get_byte_var
      Src: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: Botan::TLS::Certificate_Status::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_cert_status.cpp
    functionUses: 0
    functionsReached:
    - Encoding_Error
    - size
    - std::vector::push_back
    - std::vector::reserve
    - get_byte_var
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_Status::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan::TLS::Client_Impl_12::application_protocol
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string application_protocol() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::TLS::Handshake_IO::Handshake_IO
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handshake_IO()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::TLS::Handshake_IO::Handshake_IO
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handshake_IO(const Handshake_IO&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: '& operator=(const Handshake_IO&)'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handshake_IO
    signature: Handshake_IO & operator=(const Handshake_IO&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: ~Handshake_IO()
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handshake_IO()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - writer
    argTypes:
    - writer_fn
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan::TLS::Stream_Handshake_IO::Stream_Handshake_IO
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stream_Handshake_IO(writer_fn writer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan::TLS::Stream_Handshake_IO::timeout_check
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool timeout_check() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan::TLS::Stream_Handshake_IO::have_more_data
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool have_more_data() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - writer
    - ' seq'
    - mtu
    - initial_timeout_ms
    - max_timeout_ms
    argTypes:
    - writer_fn
    - class Connection_Sequence_Numbers
    - uint16_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: Botan::TLS::Datagram_Handshake_IO::Datagram_Handshake_IO
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Datagram_Handshake_IO(writer_fn writer,\n                            class
      Connection_Sequence_Numbers& seq,\n                            uint16_t mtu,\n
      \                           uint64_t initial_timeout_ms,\n                            uint64_t
      max_timeout_ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: Botan::TLS::Datagram_Handshake_IO::Handshake_Reassembly::epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t epoch() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - e
    - mt
    - ' msg'
    argTypes:
    - uint16_t
    - Handshake_Type
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: Botan::TLS::Datagram_Handshake_IO::Message_Info
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message_Info(uint16_t e, Handshake_Type mt, const std::vector<uint8_t>&
      msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: Botan::TLS::Datagram_Handshake_IO::Message_Info
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message_Info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Handshake_State*::ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:23,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:24,1
    - Dst: valid
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:24,1
    - Dst: Handshake_State*::protocol_specific_prf
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:41,1
    - Dst: std::vector::assign
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:50,1
    - Dst: Handshake_State*::hash
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:51,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:51,1
    - Dst: std::vector::assign
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:53,1
    - Dst: Handshake_State*::client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:54,1
    - Dst: Handshake_State*::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:55,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:58,1
    - Dst: std::vector::assign
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:63,1
    - Dst: Handshake_State*::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:64,1
    - Dst: Handshake_State*::client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:65,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:67,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:68,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:68,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:68,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:68,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:68,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:68,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:72,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:73,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:75,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:76,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:80,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:81,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:83,1
    - Dst: null_ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:83,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:89,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:92,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:94,1
    - Dst: null_ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.cpp:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 3
    argNames:
    - state
    - ' pre_master_secret'
    - resuming
    argTypes:
    - Handshake_State*
    - secure_vector<uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 96
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 96
    functionName: Botan::TLS::Session_Keys::Session_Keys
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_session_key.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - null_ciphersuite
    - Handshake_State*::ciphersuite
    - Handshake_State*::hash
    - auto::derive_key
    - prf_algo
    - BOTAN_STATE_CHECK
    - data
    - assign
    - Handshake_State*::protocol_specific_prf
    - Handshake_State*::server_hello
    - size
    - copy_mem
    - std::vector::assign
    - resize
    - valid
    - Handshake_State*::client_hello
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: "void Session_Keys::Session_Keys(const Handshake_State* state,\n                           const
      secure_vector<uint8_t>& pre_master_secret,\n                           bool
      resuming)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:15,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:16,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:21,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:22,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:25,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:25,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:26,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:29,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:29,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:29,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 30
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 30
    functionName: Botan::TLS::Hello_Verify_Request::Hello_Verify_Request
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp
    functionUses: 0
    functionsReached:
    - assign
    - Protocol_Version::is_datagram_protocol
    - begin
    - static_cast<size_t>
    - size
    - end
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void Hello_Verify_Request::Hello_Verify_Request(const std::vector<uint8_t>&
      buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:35,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:36,1
    - Dst: auto::update_be
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:38,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:38,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:38,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:39,1
    - Dst: auto::update_be
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:40,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:40,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:40,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:41,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:43,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:43,1
    - Dst: auto::final
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:44,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' client_hello_bits'
    - client_identity
    - ' secret_key'
    argTypes:
    - std::vector<uint8_t>
    - std::string_view
    - SymmetricKey
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: Botan::TLS::Hello_Verify_Request::Hello_Verify_Request
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp
    functionUses: 0
    functionsReached:
    - auto::final
    - static_cast<uint64_t>
    - auto::set_key
    - auto::update_be
    - auto::update
    - auto::output_length
    - size
    - data
    - Botan::MessageAuthenticationCode::create_or_throw
    - std::string_view::size
    - resize
    linkageType: ''
    returnType: void
    signature: "void Hello_Verify_Request::Hello_Verify_Request(const std::vector<uint8_t>&
      client_hello_bits,\n                                           std::string_view
      client_identity,\n                                           const SymmetricKey&
      secret_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:56,1
    - Dst: Protocol_Version::major_version
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:56,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:57,1
    - Dst: Protocol_Version::minor_version
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:57,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:58,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:58,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 61
    functionName: Botan::TLS::Hello_Verify_Request::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_hello_verify.cpp
    functionUses: 0
    functionsReached:
    - Protocol_Version::minor_version
    - size
    - std::vector::push_back
    - Protocol_Version::major_version
    - static_cast<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Hello_Verify_Request::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_format
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:39,1
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:40,1
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_handshake
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:41,1
    - Dst: aead_key
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:43,1
    - Dst: nonce
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:44,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:46,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:46,1
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_format
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:48,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:51,1
    - Dst: fmt
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:51,1
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:51,1
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:52,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:52,1
    - Dst: std::make_unique<TLS_CBC_HMAC_AEAD_Encryption>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:55,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:55,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:56,1
    - Dst: cipher_keylen
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:57,1
    - Dst: mac_keylen
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:58,1
    - Dst: std::make_unique<TLS_CBC_HMAC_AEAD_Decryption>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:62,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:62,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:63,1
    - Dst: cipher_keylen
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:64,1
    - Dst: mac_keylen
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:65,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:71,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:72,1
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_format
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:74,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:76,1
    - Dst: fmt
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:76,1
    - Dst: mac_algo
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:76,1
    - Dst: std::make_unique<TLS_NULL_HMAC_AEAD_Encryption>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:79,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:79,1
    - Dst: mac_keylen
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:79,1
    - Dst: std::make_unique<TLS_NULL_HMAC_AEAD_Decryption>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:81,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:81,1
    - Dst: mac_keylen
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:81,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:84,1
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:88,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:88,1
    - Dst: set_key
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 6
    argNames:
    - version
    - side
    - our_side
    - ' suite'
    - ' keys'
    - uses_encrypt_then_mac
    argTypes:
    - Protocol_Version
    - Connection_Side
    - bool
    - Ciphersuite
    - Session_Keys
    - bool
    constantsTouched: []
    func_position:
      end: 92
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 92
    functionName: Botan::TLS::Connection_Cipher_State::Connection_Cipher_State
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<TLS_CBC_HMAC_AEAD_Encryption>
    - fmt
    - set_key
    - BOTAN_UNUSED
    - BOTAN_ASSERT_NOMSG
    - nonce
    - mac_keylen
    - mac_algo
    - aead_key
    - std::make_unique<TLS_NULL_HMAC_AEAD_Encryption>
    - std::make_unique<TLS_NULL_HMAC_AEAD_Decryption>
    - Internal_Error
    - Botan::TLS::Connection_Cipher_State::nonce_bytes_from_record
    - cipher_algo
    - size
    - cipher_keylen
    - std::move
    - Botan::AEAD_Mode::create_or_throw
    - Botan::TLS::Connection_Cipher_State::nonce_format
    - Botan::BlockCipher::create_or_throw
    - Botan::TLS::Connection_Cipher_State::nonce_bytes_from_handshake
    - Botan::MessageAuthenticationCode::create_or_throw
    - std::make_unique<TLS_CBC_HMAC_AEAD_Decryption>
    linkageType: ''
    returnType: void
    signature: "void Connection_Cipher_State::Connection_Cipher_State(Protocol_Version
      version,\n                                                 Connection_Side side,\n
      \                                                bool our_side,\n                                                 const
      Ciphersuite& suite,\n                                                 const
      Session_Keys& keys,\n                                                 bool uses_encrypt_then_mac)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:100,1
    - Dst: std::vector::swap
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:102,1
    - Dst: randomize
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:106,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:106,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:106,1
    - Dst: store_be
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:111,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:111,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:112,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:112,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:112,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:116,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:116,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:118,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:118,1
    - Dst: store_be
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:119,1
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_handshake
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:119,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - seq
    - ' rng'
    argTypes:
    - uint64_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 125
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 125
    functionName: Botan::TLS::Connection_Cipher_State::aead_nonce
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - BOTAN_ASSERT_NOMSG
    - Invalid_State
    - std::vector::swap
    - data
    - size
    - Botan::TLS::Connection_Cipher_State::nonce_bytes_from_handshake
    - copy_mem
    - empty
    - randomize
    - xor_buf
    - store_be
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Connection_Cipher_State::aead_nonce(uint64_t seq,
      RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:133,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:133,1
    - Dst: std::vector::swap
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:135,1
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:138,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:139,1
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:141,1
    - Dst: store_be
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:146,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:146,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:147,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:147,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:147,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:151,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:151,1
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:152,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:153,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:156,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:156,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:157,1
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_handshake
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:157,1
    - Dst: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:157,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:162,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - record
    - record_len
    - seq
    argTypes:
    - uint8_t[]
    - size_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 163
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 163
    functionName: Botan::TLS::Connection_Cipher_State::aead_nonce
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Connection_Cipher_State::nonce_bytes_from_record
    - BOTAN_ASSERT_NOMSG
    - Invalid_State
    - std::vector::swap
    - data
    - size
    - Botan::TLS::Connection_Cipher_State::nonce_bytes_from_handshake
    - copy_mem
    - empty
    - Decoding_Error
    - xor_buf
    - store_be
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Connection_Cipher_State::aead_nonce(const uint8_t
      record[], size_t record_len, uint64_t seq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:171,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:172,1
    - Dst: Protocol_Version::major_version
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:173,1
    - Dst: Protocol_Version::minor_version
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:174,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:175,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - msg_sequence
    - msg_type
    - version
    - msg_length
    argTypes:
    - uint64_t
    - Record_Type
    - Protocol_Version
    - uint16_t
    constantsTouched: []
    func_position:
      end: 179
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 179
    functionName: Botan::TLS::Connection_Cipher_State::format_ad
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - Protocol_Version::minor_version
    - get_byte<0>
    - get_byte<1>
    - Protocol_Version::major_version
    - static_cast<uint8_t>
    - store_be
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> Connection_Cipher_State::format_ad(uint64_t msg_sequence,\n
      \                                                       Record_Type msg_type,\n
      \                                                       Protocol_Version version,\n
      \                                                       uint16_t msg_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:185,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:186,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:186,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:187,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' output'
    - len_field
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: Botan::TLS::append_u16_len
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - get_byte<0>
    - get_byte<1>
    - BOTAN_ASSERT_EQUAL
    - push_back
    linkageType: ''
    returnType: void
    signature: void append_u16_len(secure_vector<uint8_t>& output, size_t len_field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:194,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:196,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:196,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:197,1
    - Dst: Protocol_Version::major_version
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:197,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:198,1
    - Dst: Protocol_Version::minor_version
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:198,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:200,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:202,1
    - Dst: get_byte_var
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' output'
    - record_type
    - version
    - record_sequence
    argTypes:
    - secure_vector<uint8_t>
    - Record_Type
    - Protocol_Version
    - uint64_t
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: Botan::TLS::write_record_header
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - Protocol_Version::minor_version
    - Protocol_Version::is_datagram_protocol
    - clear
    - push_back
    - get_byte_var
    - Protocol_Version::major_version
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: "void write_record_header(secure_vector<uint8_t>& output,\n                         Record_Type
      record_type,\n                         Protocol_Version version,\n                         uint64_t
      record_sequence)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:216,1
    - Dst: Botan::TLS::write_record_header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:218,1
    - Dst: Botan::TLS::append_u16_len
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:219,1
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:220,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - ' output'
    - record_type
    - version
    - record_sequence
    - message
    - message_len
    argTypes:
    - secure_vector<uint8_t>
    - Record_Type
    - Protocol_Version
    - uint64_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: Botan::TLS::write_unencrypted_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - Internal_Error
    - end
    - Botan::TLS::append_u16_len
    - insert
    - Botan::TLS::write_record_header
    linkageType: ''
    returnType: void
    signature: "void write_unencrypted_record(secure_vector<uint8_t>& output,\n                              Record_Type
      record_type,\n                              Protocol_Version version,\n                              uint64_t
      record_sequence,\n                              const uint8_t* message,\n                              size_t
      message_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::write_record_header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:231,1
    - Dst: aead
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:233,1
    - Dst: format_ad
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:234,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:234,1
    - Dst: set_associated_data
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:240,1
    - Dst: aead_nonce
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:242,1
    - Dst: Botan::TLS::append_u16_len
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:244,1
    - Dst: nonce_bytes_from_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:246,1
    - Dst: nonce_format
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:247,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:250,1
    - Dst: nonce_bytes_from_handshake
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:250,1
    - Dst: nonce_bytes_from_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:250,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:255,1
    - Dst: start
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:257,1
    - Dst: finish
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:258,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:260,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 8
    argNames:
    - ' output'
    - record_type
    - version
    - record_sequence
    - message
    - message_len
    - ' cs'
    - ' rng'
    argTypes:
    - secure_vector<uint8_t>
    - Record_Type
    - Protocol_Version
    - uint64_t
    - uint8_t*
    - size_t
    - Connection_Cipher_State
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 261
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 261
    functionName: Botan::TLS::write_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - nonce_format
    - format_ad
    - aead
    - BOTAN_ASSERT
    - nonce_bytes_from_handshake
    - aead_nonce
    - size
    - start
    - nonce_bytes_from_record
    - Botan::TLS::append_u16_len
    - finish
    - std::make_pair
    - Botan::TLS::write_record_header
    - set_associated_data
    linkageType: ''
    returnType: void
    signature: "void write_record(secure_vector<uint8_t>& output,\n                  Record_Type
      record_type,\n                  Protocol_Version version,\n                  uint64_t
      record_sequence,\n                  const uint8_t* message,\n                  size_t
      message_len,\n                  Connection_Cipher_State& cs,\n                  RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:267,1
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:273,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:273,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - ' readbuf'
    - ' input'
    - ' input_size'
    - ' input_consumed'
    - desired
    argTypes:
    - secure_vector<uint8_t>
    - uint8_t*
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 279
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 279
    functionName: Botan::TLS::fill_buffer_to
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - end
    - insert
    - size
    linkageType: ''
    returnType: size_t
    signature: "size_t fill_buffer_to(\n   secure_vector<uint8_t>& readbuf, const
      uint8_t*& input, size_t& input_size, size_t& input_consumed, size_t desired)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aead
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:288,1
    - Dst: aead_nonce
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:290,1
    - Dst: minimum_final_size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:301,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:302,1
    - Dst: set_associated_data
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:307,1
    - Dst: format_ad
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:308,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:308,1
    - Dst: start
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:310,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:312,1
    - Dst: finish
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - ' output'
    - record_contents
    - record_len
    - record_sequence
    - record_version
    - record_type
    - ' cs'
    argTypes:
    - secure_vector<uint8_t>
    - uint8_t[]
    - size_t
    - uint64_t
    - Protocol_Version
    - Record_Type
    - Connection_Cipher_State
    constantsTouched: []
    func_position:
      end: 314
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 314
    functionName: Botan::TLS::decrypt_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - minimum_final_size
    - static_cast<uint16_t>
    - format_ad
    - assign
    - aead
    - aead_nonce
    - TLS_Exception
    - start
    - finish
    - set_associated_data
    linkageType: ''
    returnType: void
    signature: "void decrypt_record(secure_vector<uint8_t>& output,\n                    uint8_t
      record_contents[],\n                    size_t record_len,\n                    uint64_t
      record_sequence,\n                    Protocol_Version record_version,\n                    Record_Type
      record_type,\n                    Connection_Cipher_State& cs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:323,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:326,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:329,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:329,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:349,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:349,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:349,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:352,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:356,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:364,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:366,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:371,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:372,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:378,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:382,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:386,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:389,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:389,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:389,1
    - Dst: static_cast<Record_Type>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:391,1
    - Dst: Connection_Sequence_Numbers*::next_read_sequence
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:397,1
    - Dst: Connection_Sequence_Numbers*::current_read_epoch
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:398,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:406,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:406,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:406,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:407,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:408,1
    - Dst: get_cipherstate
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:412,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:414,1
    - Dst: Botan::TLS::decrypt_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:416,1
    - Dst: Connection_Sequence_Numbers*::read_accept
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:419,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:422,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:423,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 50
    argCount: 7
    argNames:
    - ' readbuf'
    - input
    - input_len
    - ' consumed'
    - ' recbuf'
    - sequence_numbers
    - ' get_cipherstate'
    argTypes:
    - secure_vector<uint8_t>
    - uint8_t[]
    - size_t
    - size_t
    - secure_vector<uint8_t>
    - Connection_Sequence_Numbers*
    - get_cipherstate_fn
    constantsTouched: []
    func_position:
      end: 424
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 424
    functionName: Botan::TLS::read_tls_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - Record_Header
    - Connection_Sequence_Numbers*::next_read_sequence
    - assign
    - static_cast<size_t>
    - clear
    - BOTAN_ASSERT_EQUAL
    - BOTAN_ASSERT
    - data
    - Protocol_Version::is_datagram_protocol
    - std::string
    - size
    - TLS_Exception
    - reinterpret_cast<const char*>
    - Connection_Sequence_Numbers*::current_read_epoch
    - Connection_Sequence_Numbers*::read_accept
    - begin
    - static_cast<Record_Type>
    - get_cipherstate
    - Botan::TLS::decrypt_record
    linkageType: ''
    returnType: Record_Header
    signature: "Record_Header read_tls_record(secure_vector<uint8_t>& readbuf,\n                              const
      uint8_t input[],\n                              size_t input_len,\n                              size_t&
      consumed,\n                              secure_vector<uint8_t>& recbuf,\n                              Connection_Sequence_Numbers*
      sequence_numbers,\n                              const get_cipherstate_fn& get_cipherstate)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:434,1
    - Dst: Botan::TLS::fill_buffer_to
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:436,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:437,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:438,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:441,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:441,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:446,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:447,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:448,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:455,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:456,1
    - Dst: Botan::TLS::fill_buffer_to
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:459,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:461,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:462,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:465,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:465,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:465,1
    - Dst: static_cast<Record_Type>
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:467,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:475,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:476,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:481,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:481,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:481,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:482,1
    - Dst: Connection_Sequence_Numbers*::read_accept
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:484,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:486,1
    - Dst: get_cipherstate
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:491,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:493,1
    - Dst: Botan::TLS::decrypt_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:495,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:497,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:498,1
    - Dst: Connection_Sequence_Numbers*::read_accept
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:502,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:505,1
    - Dst: Record_Header
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:506,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 8
    argNames:
    - ' readbuf'
    - input
    - input_len
    - ' consumed'
    - ' recbuf'
    - sequence_numbers
    - ' get_cipherstate'
    - allow_epoch0_restart
    argTypes:
    - secure_vector<uint8_t>
    - uint8_t[]
    - size_t
    - size_t
    - secure_vector<uint8_t>
    - Connection_Sequence_Numbers*
    - get_cipherstate_fn
    - bool
    constantsTouched: []
    func_position:
      end: 507
      start: 426
    functionDepth: 3
    functionLinenumber: 426
    functionLinenumberEnd: 507
    functionName: Botan::TLS::read_dtls_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - Record_Header
    - Botan::TLS::fill_buffer_to
    - assign
    - Protocol_Version::is_datagram_protocol
    - begin
    - static_cast<Record_Type>
    - static_cast<size_t>
    - size
    - get_cipherstate
    - clear
    - Botan::TLS::decrypt_record
    - BOTAN_ASSERT_EQUAL
    - BOTAN_ASSERT
    - Connection_Sequence_Numbers*::read_accept
    linkageType: ''
    returnType: Record_Header
    signature: "Record_Header read_dtls_record(secure_vector<uint8_t>& readbuf,\n
      \                              const uint8_t input[],\n                               size_t
      input_len,\n                               size_t& consumed,\n                               secure_vector<uint8_t>&
      recbuf,\n                               Connection_Sequence_Numbers* sequence_numbers,\n
      \                              const get_cipherstate_fn& get_cipherstate,\n
      \                              bool allow_epoch0_restart)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::read_dtls_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:521,1
    - Dst: Botan::TLS::read_tls_record
      Src: /src/botan/src/lib/tls/tls12/tls_record.cpp:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 9
    argNames:
    - is_datagram
    - ' readbuf'
    - input
    - input_len
    - ' consumed'
    - ' recbuf'
    - sequence_numbers
    - ' get_cipherstate'
    - allow_epoch0_restart
    argTypes:
    - bool
    - secure_vector<uint8_t>
    - uint8_t[]
    - size_t
    - size_t
    - secure_vector<uint8_t>
    - Connection_Sequence_Numbers*
    - get_cipherstate_fn
    - bool
    constantsTouched: []
    func_position:
      end: 526
      start: 511
    functionDepth: 4
    functionLinenumber: 511
    functionLinenumberEnd: 526
    functionName: Botan::TLS::read_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::read_tls_record
    - Botan::TLS::read_dtls_record
    linkageType: ''
    returnType: Record_Header
    signature: "Record_Header read_record(bool is_datagram,\n                          secure_vector<uint8_t>&
      readbuf,\n                          const uint8_t input[],\n                          size_t
      input_len,\n                          size_t& consumed,\n                          secure_vector<uint8_t>&
      recbuf,\n                          Connection_Sequence_Numbers* sequence_numbers,\n
      \                         const get_cipherstate_fn& get_cipherstate,\n                          bool
      allow_epoch0_restart)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:26,1
    - Dst: send
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' io'
    - ' hash'
    - ' cert_list'
    argTypes:
    - Handshake_IO
    - Handshake_Hash
    - std::vector<X509_Certificate>
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: Botan::TLS::Certificate_12::Certificate_12
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp
    functionUses: 0
    functionsReached:
    - update
    - send
    linkageType: ''
    returnType: void
    signature: void Certificate_12::Certificate_12(Handshake_IO& io, Handshake_Hash&
      hash, const std::vector<X509_Certificate>& cert_list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:33,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:34,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:39,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:40,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:45,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:52,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:58,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:62,1
    - Dst: X509_Certificate
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:62,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:74,1
    - Dst: x509_version
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:74,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:75,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 2
    argNames:
    - ' buf'
    - ' policy'
    argTypes:
    - std::vector<uint8_t>
    - Policy
    constantsTouched: []
    func_position:
      end: 77
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 77
    functionName: Botan::TLS::Certificate_12::Certificate_12
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp
    functionUses: 0
    functionsReached:
    - x509_version
    - X509_Certificate
    - size
    - empty
    - Decoding_Error
    - push_back
    - TLS_Exception
    linkageType: ''
    returnType: void
    signature: void Certificate_12::Certificate_12(const std::vector<uint8_t>& buf,
      const Policy& policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_encode
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:86,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:89,1
    - Dst: get_byte_var
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:89,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:89,1
    - Dst: get_byte_var
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:96,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 100
    functionName: Botan::TLS::Certificate_12::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_certificate_12.cpp
    functionUses: 0
    functionsReached:
    - get_byte_var
    - std::vector::push_back
    - BER_encode
    - static_cast<uint32_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_12::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& client_aead_key() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_session_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & client_aead_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& server_aead_key() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_session_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & server_aead_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& client_nonce() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_session_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & client_nonce() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& server_nonce() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_session_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & server_nonce() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '& master_secret() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_session_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & master_secret() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_aead_key
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.h:49,1
    - Dst: server_aead_key
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - side
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: '& aead_key(Connection_Side side) const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_session_key.h
    functionUses: 0
    functionsReached:
    - client_aead_key
    - server_aead_key
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & aead_key(Connection_Side side) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_nonce
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.h:53,1
    - Dst: server_nonce
      Src: /src/botan/src/lib/tls/tls12/tls_session_key.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - side
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& nonce(Connection_Side side) const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_session_key.h
    functionUses: 0
    functionsReached:
    - server_nonce
    - client_nonce
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & nonce(Connection_Side side) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::TLS::Session_Keys::Session_Keys
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_session_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Session_Keys()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handshake_type_to_string
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:20,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::TLS::Handshake_Message::type_string
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - handshake_type_to_string
    - type
    linkageType: ''
    returnType: std::string
    signature: std::string Handshake_Message::type_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:86,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:87,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 1
    argNames:
    - type
    argTypes:
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 88
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 88
    functionName: Botan::TLS::handshake_type_to_string
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 1
    functionsReached:
    - std::to_string
    - TLS_Exception
    - static_cast<size_t>
    linkageType: ''
    returnType: char
    signature: char * handshake_type_to_string(Handshake_Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: Handshake_State::~Handshake_State()
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handshake_State::~Handshake_State()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:96,1
    - Dst: initial_record_version
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - io
    - ' cb'
    argTypes:
    - std::unique_ptr<Handshake_IO>
    - Callbacks
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: Botan::TLS::Handshake_State::Handshake_State
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - initial_record_version
    - std::move
    linkageType: ''
    returnType: void
    signature: void Handshake_State::Handshake_State(std::unique_ptr<Handshake_IO>
      io, Callbacks& cb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tls_inspect_handshake_msg
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Handshake_Message
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: Botan::TLS::Handshake_State::note_message
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - tls_inspect_handshake_msg
    linkageType: ''
    returnType: void
    signature: void Handshake_State::note_message(const Handshake_Message& msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:103,1
    - Dst: update_hello_cookie
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:105,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:106,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:107,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:107,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' hello_verify'
    argTypes:
    - Hello_Verify_Request
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: Botan::TLS::Handshake_State::hello_verify_request
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Handshake_State::note_message
    - hash
    - update_hello_cookie
    - handshake_io
    linkageType: ''
    returnType: void
    signature: void Handshake_State::hello_verify_request(const Hello_Verify_Request&
      hello_verify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:114,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:115,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:117,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - client_hello
    argTypes:
    - std::unique_ptr<Client_Hello_12>
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: Botan::TLS::Handshake_State::client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Handshake_State::note_message
    - hash
    - reset
    - std::move
    linkageType: ''
    returnType: void
    signature: void Handshake_State::client_hello(std::unique_ptr<Client_Hello_12>
      client_hello)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:123,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:124,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:125,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:125,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - server_hello
    argTypes:
    - std::unique_ptr<Server_Hello_12>
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: Botan::TLS::Handshake_State::server_hello
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Ciphersuite::by_id
    - std::move
    - Botan::TLS::Handshake_State::note_message
    - BOTAN_ASSERT_NONNULL
    - ciphersuite
    linkageType: ''
    returnType: void
    signature: void Handshake_State::server_hello(std::unique_ptr<Server_Hello_12>
      server_hello)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:130,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:131,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - server_certs
    argTypes:
    - std::unique_ptr<Certificate_12>
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: Botan::TLS::Handshake_State::server_certs
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Handshake_State::note_message
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::server_certs(std::unique_ptr<Certificate_12>
      server_certs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:136,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:137,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - server_cert_status
    argTypes:
    - std::unique_ptr<Certificate_Status>
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: Botan::TLS::Handshake_State::server_cert_status
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Handshake_State::note_message
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::server_cert_status(std::unique_ptr<Certificate_Status>
      server_cert_status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:142,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:143,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - server_kex
    argTypes:
    - std::unique_ptr<Server_Key_Exchange>
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: Botan::TLS::Handshake_State::server_kex
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Handshake_State::note_message
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::server_kex(std::unique_ptr<Server_Key_Exchange>
      server_kex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:148,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:149,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cert_req
    argTypes:
    - std::unique_ptr<Certificate_Request_12>
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: Botan::TLS::Handshake_State::cert_req
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Handshake_State::note_message
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::cert_req(std::unique_ptr<Certificate_Request_12>
      cert_req)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:154,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:155,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - server_hello_done
    argTypes:
    - std::unique_ptr<Server_Hello_Done>
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: Botan::TLS::Handshake_State::server_hello_done
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Handshake_State::note_message
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::server_hello_done(std::unique_ptr<Server_Hello_Done>
      server_hello_done)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:160,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:161,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - client_certs
    argTypes:
    - std::unique_ptr<Certificate_12>
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: Botan::TLS::Handshake_State::client_certs
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Handshake_State::note_message
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::client_certs(std::unique_ptr<Certificate_12>
      client_certs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:166,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:167,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - client_kex
    argTypes:
    - std::unique_ptr<Client_Key_Exchange>
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: Botan::TLS::Handshake_State::client_kex
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Handshake_State::note_message
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::client_kex(std::unique_ptr<Client_Key_Exchange>
      client_kex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:172,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:173,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - client_verify
    argTypes:
    - std::unique_ptr<Certificate_Verify_12>
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: Botan::TLS::Handshake_State::client_verify
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Handshake_State::note_message
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::client_verify(std::unique_ptr<Certificate_Verify_12>
      client_verify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:178,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:179,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - server_verify
    argTypes:
    - std::unique_ptr<Certificate_Verify_12>
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: Botan::TLS::Handshake_State::server_verify
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Handshake_State::note_message
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::server_verify(std::unique_ptr<Certificate_Verify_12>
      server_verify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:184,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:185,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - new_session_ticket
    argTypes:
    - std::unique_ptr<New_Session_Ticket_12>
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: Botan::TLS::Handshake_State::new_session_ticket
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Handshake_State::note_message
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::new_session_ticket(std::unique_ptr<New_Session_Ticket_12>
      new_session_ticket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:190,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:191,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - server_finished
    argTypes:
    - std::unique_ptr<Finished_12>
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: Botan::TLS::Handshake_State::server_finished
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Handshake_State::note_message
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::server_finished(std::unique_ptr<Finished_12>
      server_finished)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:196,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:197,1
    - Dst: Botan::TLS::Handshake_State::note_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - client_finished
    argTypes:
    - std::unique_ptr<Finished_12>
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: Botan::TLS::Handshake_State::client_finished
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Handshake_State::note_message
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Handshake_State::client_finished(std::unique_ptr<Finished_12>
      client_finished)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:202,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:203,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: '& Handshake_State::ciphersuite() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - value
    - has_value
    - Invalid_State
    linkageType: ''
    returnType: Ciphersuite
    signature: Ciphersuite & Handshake_State::ciphersuite() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Handshake_State::psk_identity
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: Botan::TLS::Handshake_State::psk_identity
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Handshake_State::psk_identity
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> Handshake_State::psk_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' version'
    argTypes:
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: Botan::TLS::Handshake_State::set_version
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handshake_State::set_version(const Protocol_Version& version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session_Keys
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:220,1
    - Dst: Botan::TLS::Handshake_State::client_kex
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: Botan::TLS::Handshake_State::compute_session_keys
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Session_Keys
    - Botan::TLS::Handshake_State::client_kex
    linkageType: ''
    returnType: void
    signature: void Handshake_State::compute_session_keys()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session_Keys
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' resume_master_secret'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: Botan::TLS::Handshake_State::compute_session_keys
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Session_Keys
    linkageType: ''
    returnType: void
    signature: void Handshake_State::compute_session_keys(const secure_vector<uint8_t>&
      resume_master_secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Handshake_State::confirm_transition_to
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handshake_msg
    argTypes:
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: Botan::TLS::Handshake_State::confirm_transition_to
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Handshake_State::confirm_transition_to
    linkageType: ''
    returnType: void
    signature: void Handshake_State::confirm_transition_to(Handshake_Type handshake_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Handshake_State::set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handshake_msg
    argTypes:
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: Botan::TLS::Handshake_State::set_expected_next
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Handshake_State::set_expected_next
    linkageType: ''
    returnType: void
    signature: void Handshake_State::set_expected_next(Handshake_Type handshake_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Handshake_State::received_handshake_msg
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handshake_msg
    argTypes:
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: Botan::TLS::Handshake_State::received_handshake_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Handshake_State::received_handshake_msg
    linkageType: ''
    returnType: bool
    signature: bool Handshake_State::received_handshake_msg(Handshake_Type handshake_msg)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_record
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:240,1
    - Dst: change_cipher_spec_expected
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: Botan::TLS::Handshake_State::get_next_handshake_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - get_next_record
    - change_cipher_spec_expected
    linkageType: ''
    returnType: std::pair<Handshake_Type, std::vector<uint8_t>>
    signature: std::pair<Handshake_Type, std::vector<uint8_t>> Handshake_State::get_next_handshake_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Handshake_State::new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:244,1
    - Dst: Botan::TLS::Handshake_State::new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:244,1
    - Dst: Botan::TLS::Handshake_State::new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:245,1
    - Dst: Botan::TLS::Handshake_State::client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: Botan::TLS::Handshake_State::session_ticket
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Handshake_State::client_hello
    - Botan::TLS::Handshake_State::new_session_ticket
    linkageType: ''
    returnType: Session_Ticket
    signature: Session_Ticket Handshake_State::session_ticket() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:252,1
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:255,1
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: Botan::TLS::Handshake_State::protocol_specific_prf
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::PBKDF::create_or_throw
    - ciphersuite
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> Handshake_State::protocol_specific_prf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algo_name
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:265,1
    - Dst: allowed_signature_schemes
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:267,1
    - Dst: Botan::TLS::Handshake_State::cert_req
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:270,1
    - Dst: Botan::TLS::Handshake_State::client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:270,1
    - Dst: is_available
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:273,1
    - Dst: algorithm_name
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:277,1
    - Dst: find
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:278,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:278,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:278,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:278,1
    - Dst: hash_function_name
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:285,1
    - Dst: allowed_signature_hash
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:287,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:288,1
    - Dst: format
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:291,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:292,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:295,1
    - Dst: padding_string
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:295,1
    - Dst: format
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:295,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - ' key'
    - ' chosen_scheme'
    - for_client_auth
    - ' policy'
    argTypes:
    - Private_Key
    - Signature_Scheme
    - bool
    - Policy
    constantsTouched: []
    func_position:
      end: 296
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 296
    functionName: Botan::TLS::Handshake_State::choose_sig_format
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - allowed_signature_schemes
    - format
    - std::make_pair
    - std::vector::begin
    - padding_string
    - algorithm_name
    - hash_function_name
    - is_available
    - Botan::TLS::Handshake_State::client_hello
    - find
    - std::vector::end
    - TLS_Exception
    - Invalid_Argument
    - Botan::TLS::Handshake_State::cert_req
    - allowed_signature_hash
    linkageType: ''
    returnType: std::pair<std::string, Signature_Format>
    signature: "std::pair<std::string, Signature_Format> Handshake_State::choose_sig_format(const
      Private_Key& key,\n                                                                            Signature_Scheme&
      chosen_scheme,\n                                                                            bool
      for_client_auth,\n                                                                            const
      Policy& policy) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_available
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:304,1
    - Dst: hash_function_name
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:304,1
    - Dst: algorithm_name
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - ' schemes'
    - key_type
    - hash_type
    argTypes:
    - std::vector<Signature_Scheme>
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 310
    functionName: Botan::TLS::supported_algos_include
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - algorithm_name
    - hash_function_name
    - is_available
    linkageType: ''
    returnType: bool
    signature: "bool supported_algos_include(const std::vector<Signature_Scheme>&
      schemes,\n                             std::string_view key_type,\n                             std::string_view
      hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algo_name
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:320,1
    - Dst: allowed_signature_method
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:322,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:323,1
    - Dst: Signature_Scheme::is_available
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:326,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:327,1
    - Dst: Signature_Scheme::algorithm_name
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:330,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:331,1
    - Dst: Botan::TLS::Handshake_State::cert_req
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:334,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:335,1
    - Dst: Botan::TLS::Handshake_State::cert_req
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:344,1
    - Dst: Signature_Scheme::hash_function_name
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:346,1
    - Dst: Signature_Scheme::is_compatible_with
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:348,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:349,1
    - Dst: supported_algos_include
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:352,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:353,1
    - Dst: Signature_Scheme::format
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:357,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:358,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:361,1
    - Dst: Signature_Scheme::padding_string
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:361,1
    - Dst: Signature_Scheme::format
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp:361,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 5
    argNames:
    - ' key'
    - scheme
    - ' offered_schemes'
    - for_client_auth
    - ' policy'
    argTypes:
    - Public_Key
    - Signature_Scheme
    - std::vector<Signature_Scheme>
    - bool
    - Policy
    constantsTouched: []
    func_position:
      end: 362
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 362
    functionName: Botan::TLS::Handshake_State::parse_sig_format
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.cpp
    functionUses: 0
    functionsReached:
    - supported_algos_include
    - algo_name
    - Signature_Scheme::padding_string
    - Signature_Scheme::is_compatible_with
    - allowed_signature_method
    - TLS_Exception
    - Signature_Scheme::algorithm_name
    - Decoding_Error
    - Signature_Scheme::format
    - std::make_pair
    - Invalid_Argument
    - Botan::TLS::Handshake_State::cert_req
    - Signature_Scheme::is_available
    - Signature_Scheme::hash_function_name
    linkageType: ''
    returnType: std::pair<std::string, Signature_Format>
    signature: "std::pair<std::string, Signature_Format> Handshake_State::parse_sig_format(\n
      \  const Public_Key& key,\n   Signature_Scheme scheme,\n   const std::vector<Signature_Scheme>&
      offered_schemes,\n   bool for_client_auth,\n   const Policy& policy) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: ~Connection_Sequence_Numbers()
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Connection_Sequence_Numbers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream_Sequence_Numbers::reset
      Src: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::TLS::Stream_Sequence_Numbers::Stream_Sequence_Numbers
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Stream_Sequence_Numbers::reset
    linkageType: ''
    returnType: void
    signature: void Stream_Sequence_Numbers()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: Botan::TLS::Stream_Sequence_Numbers::reset
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: Botan::TLS::Stream_Sequence_Numbers::new_read_cipher_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void new_read_cipher_state() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: Botan::TLS::Stream_Sequence_Numbers::new_write_cipher_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void new_write_cipher_state() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::TLS::Stream_Sequence_Numbers::current_read_epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t current_read_epoch() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: Botan::TLS::Stream_Sequence_Numbers::current_write_epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t current_write_epoch() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan::TLS::Stream_Sequence_Numbers::next_write_sequence
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t next_write_sequence(uint16_t) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::TLS::Stream_Sequence_Numbers::next_read_sequence
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t next_read_sequence() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::TLS::Stream_Sequence_Numbers::already_seen
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool already_seen(uint64_t) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan::TLS::Stream_Sequence_Numbers::read_accept
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void read_accept(uint64_t) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Datagram_Sequence_Numbers::reset
      Src: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::TLS::Datagram_Sequence_Numbers::Datagram_Sequence_Numbers
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Datagram_Sequence_Numbers::reset
    linkageType: ''
    returnType: void
    signature: void Datagram_Sequence_Numbers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: Botan::TLS::Datagram_Sequence_Numbers::reset
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 1
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void reset() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: Botan::TLS::Datagram_Sequence_Numbers::new_read_cipher_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void new_read_cipher_state() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: Botan::TLS::Datagram_Sequence_Numbers::new_write_cipher_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void new_write_cipher_state() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan::TLS::Datagram_Sequence_Numbers::current_read_epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t current_read_epoch() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan::TLS::Datagram_Sequence_Numbers::current_write_epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t current_write_epoch() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h:100,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h:101,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h:101,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - epoch
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: Botan::TLS::Datagram_Sequence_Numbers::next_write_sequence
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached:
    - end
    - static_cast<uint64_t>
    - find
    - BOTAN_ASSERT
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t next_write_sequence(uint16_t epoch) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Botan::TLS::Datagram_Sequence_Numbers::next_read_sequence
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t next_read_sequence() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sequence
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: Botan::TLS::Datagram_Sequence_Numbers::already_seen
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool already_seen(uint64_t sequence) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - sequence
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 150
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 150
    functionName: Botan::TLS::Datagram_Sequence_Numbers::read_accept
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_seq_numbers.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void read_accept(uint64_t sequence) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:42,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:43,1
    - Dst: psk_identity_hint
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:46,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:48,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:52,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:65,1
    - Dst: default_dh_group
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:66,1
    - Dst: choose_key_exchange_group
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:68,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:71,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:72,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:76,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:76,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:86,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:86,1
    - Dst: dynamic_cast<DH_PrivateKey*>
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:87,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:87,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:89,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:92,1
    - Dst: auto::get_int_field
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:92,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:93,1
    - Dst: auto::get_int_field
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:93,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:94,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:94,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:96,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:98,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:99,1
    - Dst: choose_key_exchange_group
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:102,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:104,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:105,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:110,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:110,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:111,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:111,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:113,1
    - Dst: public_value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:115,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:117,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:117,1
    - Dst: dynamic_cast<ECDH_PrivateKey*>
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:118,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:118,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:120,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:125,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:125,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:130,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:131,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:131,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:132,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:132,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:134,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:136,1
    - Dst: kex_method_to_string
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:136,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:139,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:140,1
    - Dst: choose_sig_format
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:142,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:144,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:146,1
    - Dst: params
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:147,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:149,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:152,1
    - Dst: send
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:152,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 6
    argNames:
    - ' io'
    - ' state'
    - ' policy'
    - ' creds'
    - ' rng'
    - signing_key
    argTypes:
    - Handshake_IO
    - Handshake_State
    - Policy
    - Credentials_Manager
    - RandomNumberGenerator
    - Private_Key*
    constantsTouched: []
    func_position:
      end: 153
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 153
    functionName: Botan::TLS::Server_Key_Exchange::Server_Key_Exchange
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp
    functionUses: 0
    functionsReached:
    - get_byte<0>
    - get_byte<1>
    - get
    - auto::public_value
    - BOTAN_ASSERT
    - kex_method_to_string
    - std::vector::empty
    - public_value
    - callbacks
    - params
    - send
    - value
    - auto::get_int_field
    - dynamic_cast<DH_PrivateKey*>
    - choose_key_exchange_group
    - client_hello
    - Internal_Error
    - ciphersuite
    - default_dh_group
    - hash
    - dynamic_cast<ECDH_PrivateKey*>
    - server_hello
    - TLS_Exception
    - push_back
    - append_tls_length_value
    - psk_identity_hint
    - choose_sig_format
    linkageType: ''
    returnType: void
    signature: "void Server_Key_Exchange::Server_Key_Exchange(Handshake_IO& io,\n
      \                                        Handshake_State& state,\n                                         const
      Policy& policy,\n                                         Credentials_Manager&
      creds,\n                                         RandomNumberGenerator& rng,\n
      \                                        const Private_Key* signing_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:162,1
    - Dst: TLS_Data_Reader::get_string
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:172,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:179,1
    - Dst: TLS_Data_Reader::get_byte
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:182,1
    - Dst: TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:183,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:184,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:186,1
    - Dst: kex_method_to_string
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:186,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:189,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:189,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:189,1
    - Dst: TLS_Data_Reader::read_so_far
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:189,1
    - Dst: Signature_Scheme
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:192,1
    - Dst: TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:192,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:193,1
    - Dst: TLS_Data_Reader::assert_done
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:196,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - ' buf'
    - kex_algo
    - auth_method
    - version
    argTypes:
    - std::vector<uint8_t>
    - Kex_Algo
    - Auth_Method
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 197
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 197
    functionName: Botan::TLS::Server_Key_Exchange::Server_Key_Exchange
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp
    functionUses: 0
    functionsReached:
    - TLS_Data_Reader::assert_done
    - TLS_Data_Reader::get_uint16_t
    - assign
    - data
    - Signature_Scheme
    - TLS_Data_Reader::get_range
    - TLS_Data_Reader::get_string
    - TLS_Data_Reader::get_byte
    - Decoding_Error
    - BOTAN_UNUSED
    - TLS_Data_Reader::read_so_far
    - kex_method_to_string
    linkageType: ''
    returnType: void
    signature: "void Server_Key_Exchange::Server_Key_Exchange(const std::vector<uint8_t>&
      buf,\n                                         const Kex_Algo kex_algo,\n                                         const
      Auth_Method auth_method,\n                                         Protocol_Version
      version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:203,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:205,1
    - Dst: is_set
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:206,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:207,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:207,1
    - Dst: wire_code
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:207,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:208,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:208,1
    - Dst: wire_code
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:208,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: Botan::TLS::Server_Key_Exchange::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp
    functionUses: 0
    functionsReached:
    - get_byte<0>
    - wire_code
    - params
    - get_byte<1>
    - empty
    - std::vector::push_back
    - is_set
    - append_tls_length_value
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Server_Key_Exchange::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_peer_key_acceptable
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:223,1
    - Dst: parse_sig_format
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:226,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:226,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:228,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:230,1
    - Dst: params
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:231,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' server_key'
    - ' state'
    - ' policy'
    argTypes:
    - Public_Key
    - Handshake_State
    - Policy
    constantsTouched: []
    func_position:
      end: 242
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 242
    functionName: Botan::TLS::Server_Key_Exchange::verify
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp
    functionUses: 0
    functionsReached:
    - check_peer_key_acceptable
    - params
    - server_hello
    - BOTAN_UNUSED
    - client_hello
    - parse_sig_format
    linkageType: ''
    returnType: bool
    signature: "bool Server_Key_Exchange::verify(const Public_Key& server_key,\n                                 const
      Handshake_State& state,\n                                 const Policy& policy)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: '& Server_Key_Exchange::server_kex_key() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_server_kex.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: PK_Key_Agreement_Key
    signature: PK_Key_Agreement_Key & Server_Key_Exchange::server_kex_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_hash.h:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan::TLS::Handshake_Hash::update
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_hash.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void update(const uint8_t in[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::TLS::Handshake_Hash::update
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& get_contents() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & get_contents() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_hash.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::TLS::Handshake_Hash::reset
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_hash.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_record.h:45,1
    - Dst: Botan::TLS::get
      Src: /src/botan/src/lib/tls/tls12/tls_record.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '& aead()'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    - Botan::TLS::get
    linkageType: ''
    returnType: AEAD_Mode
    signature: AEAD_Mode & aead()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_handshake
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t nonce_bytes_from_handshake() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Botan::TLS::Connection_Cipher_State::nonce_bytes_from_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t nonce_bytes_from_record() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan::TLS::Connection_Cipher_State::nonce_format
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Nonce_Format
    signature: Nonce_Format nonce_format() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - sequence
    - version
    - type
    argTypes:
    - uint64_t
    - Protocol_Version
    - Record_Type
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: Botan::TLS::Record_Header::Record_Header
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Record_Header(uint64_t sequence, Protocol_Version version, Record_Type
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls12/tls_record.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - needed
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: Botan::TLS::Record_Header::Record_Header
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 0
    functionsReached:
    - Protocol_Version
    linkageType: ''
    returnType: void
    signature: void Record_Header(size_t needed)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan::TLS::Record_Header::needed
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t needed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_record.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: Botan::TLS::Record_Header::version
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_record.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: Botan::TLS::Record_Header::sequence
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t sequence() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_record.h:90,1
    - Dst: Botan::TLS::Record_Header::sequence
      Src: /src/botan/src/lib/tls/tls12/tls_record.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Botan::TLS::Record_Header::epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - Botan::TLS::Record_Header::sequence
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t epoch() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_record.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: Botan::TLS::Record_Header::type
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_record.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: Record_Type
    signature: Record_Type type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - io
    - ' cb'
    argTypes:
    - std::unique_ptr<Handshake_IO>
    - Callbacks
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: Botan::TLS::Client_Handshake_State_12::Client_Handshake_State_12
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Client_Handshake_State_12(std::unique_ptr<Handshake_IO> io, Callbacks&
      cb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '& server_public_key() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT
    linkageType: ''
    returnType: Public_Key
    signature: Public_Key & server_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::TLS::Client_Handshake_State_12::maybe_server_public_key
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Public_Key
    signature: Public_Key * maybe_server_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:39,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - spk
    argTypes:
    - std::unique_ptr<Public_Key>
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: Botan::TLS::Client_Handshake_State_12::record_server_public_key
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - std::move
    linkageType: ''
    returnType: void
    signature: void record_server_public_key(std::unique_ptr<Public_Key> spk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::TLS::Client_Handshake_State_12::is_a_resumption
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool is_a_resumption() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Botan::TLS::Client_Handshake_State_12::discard_resumption_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void discard_resumption_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:48,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:48,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - session_info
    argTypes:
    - std::optional<Session>
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Botan::TLS::Client_Handshake_State_12::record_resumption_info
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - has_value
    - std::move
    linkageType: ''
    returnType: void
    signature: void record_resumption_info(std::optional<Session> session_info)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan::TLS::Client_Handshake_State_12::is_a_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_a_renegotiation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::TLS::Client_Handshake_State_12::mark_as_renegotiation
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mark_as_renegotiation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:57,1
    - Dst: is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:57,1
    - Dst: master_secret
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '& resume_master_secret() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - is_a_resumption
    - BOTAN_STATE_CHECK
    - master_secret
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & resume_master_secret() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:62,1
    - Dst: is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:62,1
    - Dst: peer_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '& resume_peer_certs() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - is_a_resumption
    - BOTAN_STATE_CHECK
    - peer_certs
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> & resume_peer_certs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:67,1
    - Dst: Botan::TLS::Client_Handshake_State_12::is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:67,1
    - Dst: supports_extended_master_secret
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: Botan::TLS::Client_Handshake_State_12::resumed_session_supports_extended_master_secret
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - supports_extended_master_secret
    - Botan::TLS::Client_Handshake_State_12::is_a_resumption
    linkageType: ''
    returnType: bool
    signature: bool resumed_session_supports_extended_master_secret() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:95,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:96,1
    - Dst: create_handshake_state
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:98,1
    - Dst: Botan::TLS::Client_Impl_12::send_client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ' callbacks'
    - ' session_manager'
    - ' creds'
    - ' policy'
    - ' rng'
    - info
    - datagram
    - ' next_protocols'
    - io_buf_sz
    argTypes:
    - std::shared_ptr<Callbacks>
    - std::shared_ptr<Session_Manager>
    - std::shared_ptr<Credentials_Manager>
    - std::shared_ptr<const Policy>
    - std::shared_ptr<RandomNumberGenerator>
    - Server_Information
    - bool
    - std::vector<std::string>
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 100
    functionName: Botan::TLS::Client_Impl_12::Client_Impl_12
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - create_handshake_state
    - Botan::TLS::Client_Impl_12::send_client_hello
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void Client_Impl_12::Client_Impl_12(const std::shared_ptr<Callbacks>&
      callbacks,\n                               const std::shared_ptr<Session_Manager>&
      session_manager,\n                               const std::shared_ptr<Credentials_Manager>&
      creds,\n                               const std::shared_ptr<const Policy>&
      policy,\n                               const std::shared_ptr<RandomNumberGenerator>&
      rng,\n                               Server_Information info,\n                               bool
      datagram,\n                               const std::vector<std::string>& next_protocols,\n
      \                              size_t io_buf_sz)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_handshake_state
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:112,1
    - Dst: client_hello_message::empty
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:114,1
    - Dst: client_hello_message::begin
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:118,1
    - Dst: client_hello_message::end
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:119,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:121,1
    - Dst: std::make_unique<Client_Hello_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:121,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:122,1
    - Dst: secure_renegotiation_check
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:124,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:124,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:125,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:129,1
    - Dst: tls12_session::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:129,1
    - Dst: tls12_session::session::version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:130,1
    - Dst: Botan::TLS::Client_Impl_12::send_client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:131,1
    - Dst: tls12_session::session::version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' downgrade_info'
    argTypes:
    - Channel_Impl::Downgrade_Information
    constantsTouched: []
    func_position:
      end: 137
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 137
    functionName: Botan::TLS::Client_Impl_12::Client_Impl_12
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - hash
    - tls12_session::has_value
    - BOTAN_ASSERT_NOMSG
    - create_handshake_state
    - Botan::TLS::Client_Impl_12::send_client_hello
    - client_hello_message::end
    - tls12_session::session::version
    - client_hello_message::empty
    - client_hello_message::begin
    - secure_renegotiation_check
    - std::make_unique<Client_Hello_12>
    - client_hello
    - set_expected_next
    linkageType: ''
    returnType: void
    signature: void Client_Impl_12::Client_Impl_12(const Channel_Impl::Downgrade_Information&
      downgrade_info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Client_Handshake_State_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:140,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:140,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - io
    argTypes:
    - std::unique_ptr<Handshake_IO>
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: Botan::TLS::Client_Impl_12::new_handshake_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Client_Handshake_State_12>
    - callbacks
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Handshake_State>
    signature: std::unique_ptr<Handshake_State> Client_Impl_12::new_handshake_state(std::unique_ptr<Handshake_IO>
      io)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Client_Handshake_State_12&>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:144,1
    - Dst: is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:146,1
    - Dst: resume_peer_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:147,1
    - Dst: server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:150,1
    - Dst: server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:151,1
    - Dst: std::vector<X509_Certificate>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - Handshake_State
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: Botan::TLS::Client_Impl_12::get_peer_cert_chain
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Client_Handshake_State_12&>
    - resume_peer_certs
    - std::vector<X509_Certificate>
    - is_a_resumption
    - server_certs
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> Client_Impl_12::get_peer_cert_chain(const
      Handshake_State& state) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:161,1
    - Dst: Botan::TLS::Client_Impl_12::send_client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' state'
    - force_full_renegotiation
    argTypes:
    - Handshake_State
    - bool
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: Botan::TLS::Client_Impl_12::initiate_handshake
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - version
    - Botan::TLS::Client_Impl_12::send_client_hello
    linkageType: ''
    returnType: void
    signature: void Client_Impl_12::initiate_handshake(Handshake_State& state, bool
      force_full_renegotiation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<Client_Handshake_State_12&>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:170,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:172,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:173,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:175,1
    - Dst: std::optional<Session_with_Handle>::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:179,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:179,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:180,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:180,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:180,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:180,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:181,1
    - Dst: auto::front
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:181,1
    - Dst: std::optional<Session_with_Handle>::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:185,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:197,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:197,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:198,1
    - Dst: std::make_unique<Client_Hello_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:198,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:198,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:199,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:200,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:201,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:202,1
    - Dst: secure_renegotiation_data_for_client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:203,1
    - Dst: std::optional<Session_with_Handle>::value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:204,1
    - Dst: record_resumption_info
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:207,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:207,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:212,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:214,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:215,1
    - Dst: std::make_unique<Client_Hello_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:215,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:215,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:216,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:217,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:218,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:219,1
    - Dst: secure_renegotiation_data_for_client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:220,1
    - Dst: secure_renegotiation_check
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:225,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:225,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - ' state_base'
    - force_full_renegotiation
    - version
    - session_and_handle
    - ' next_protocols'
    argTypes:
    - Handshake_State
    - bool
    - Protocol_Version
    - std::optional<Session_with_Handle>
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 226
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 226
    functionName: Botan::TLS::Client_Impl_12::send_client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 3
    functionsReached:
    - std::optional<Session_with_Handle>::value
    - handshake_io
    - auto::front
    - callbacks
    - hostname
    - client_hello
    - ciphersuite
    - session_manager
    - hash
    - record_resumption_info
    - empty
    - std::move
    - rng
    - std::make_unique<Client_Hello_12>
    - set_expected_next
    - secure_renegotiation_data_for_client_hello
    - version
    - std::optional<Session_with_Handle>::has_value
    - dynamic_cast<Client_Handshake_State_12&>
    - policy
    - secure_renegotiation_check
    - auto::empty
    linkageType: ''
    returnType: void
    signature: "void Client_Impl_12::send_client_hello(Handshake_State& state_base,\n
      \                                      bool force_full_renegotiation,\n                                       Protocol_Version
      version,\n                                       std::optional<Session_with_Handle>
      session_and_handle,\n                                       const std::vector<std::string>&
      next_protocols)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:235,1
    - Dst: Key_Constraints::includes_any
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:236,1
    - Dst: Key_Constraints::includes_any
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - usage
    - ' suite'
    argTypes:
    - Key_Constraints
    - Ciphersuite
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: Botan::TLS::key_usage_matches_ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - kex_method
    - Key_Constraints::includes_any
    linkageType: ''
    returnType: bool
    signature: bool key_usage_matches_ciphersuite(Key_Constraints usage, const Ciphersuite&
      suite)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:252,1
    - Dst: dynamic_cast<Client_Handshake_State_12&>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:254,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:259,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:260,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:263,1
    - Dst: secure_renegotiation_supported
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:264,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:264,1
    - Dst: mark_as_renegotiation
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:265,1
    - Dst: Botan::TLS::Client_Impl_12::initiate_handshake
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:266,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:268,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:271,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:272,1
    - Dst: send_warning_alert
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:275,1
    - Dst: confirm_transition_to
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:282,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:286,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:286,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:290,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:291,1
    - Dst: hello_verify_request
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:294,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:296,1
    - Dst: std::make_unique<Server_Hello_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:296,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:298,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:299,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:302,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:302,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:303,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:306,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:306,1
    - Dst: auto::usable_in_version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:307,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:307,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:308,1
    - Dst: auto::aead_ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:317,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:317,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:318,1
    - Dst: Botan::TLS::Ciphersuite::is_scsv
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:322,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:322,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:323,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:326,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:327,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:330,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:330,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:340,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:341,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:341,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:342,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:346,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:347,1
    - Dst: std::set_difference
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:351,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:352,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:352,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:352,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:352,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:352,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:354,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:360,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:362,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:362,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:366,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:366,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:367,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:371,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:372,1
    - Dst: set_version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:374,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:374,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:375,1
    - Dst: secure_renegotiation_check
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:377,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:377,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:385,1
    - Dst: is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:385,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:391,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:391,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:392,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:395,1
    - Dst: resumed_session_supports_extended_master_secret
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:396,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:397,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:400,1
    - Dst: resumed_session_supports_extended_master_secret
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:401,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:402,1
    - Dst: compute_session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:405,1
    - Dst: resume_master_secret
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:405,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:406,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:411,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:412,1
    - Dst: session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:412,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:415,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:416,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:418,1
    - Dst: Handshake_State*::version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:428,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:428,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:429,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:432,1
    - Dst: Handshake_State*::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:433,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:434,1
    - Dst: discard_resumption_state
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:438,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:440,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:441,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:442,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:445,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:445,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:446,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:449,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:449,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:450,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:453,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:453,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:454,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:455,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:458,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:458,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:459,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:460,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:469,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:470,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:471,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:472,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:474,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:475,1
    - Dst: server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:479,1
    - Dst: std::make_unique<Certificate_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:479,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:479,1
    - Dst: server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:481,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:483,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:484,1
    - Dst: Handshake_State*::server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:495,1
    - Dst: Handshake_State*::server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:496,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:499,1
    - Dst: X509_Certificate::subject_public_key
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:503,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:506,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:506,1
    - Dst: auto::algo_name
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:508,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:509,1
    - Dst: key_usage_matches_ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:512,1
    - Dst: X509_Certificate::constraints
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:512,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:512,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:513,1
    - Dst: record_server_public_key
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:516,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:516,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:518,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:519,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:521,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:522,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:525,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:526,1
    - Dst: trusted_certificate_authorities
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:529,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:529,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:531,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:532,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:532,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:536,1
    - Dst: what
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:536,1
    - Dst: server_cert_status
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:540,1
    - Dst: std::make_unique<Certificate_Status>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:540,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:542,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:543,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:545,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:546,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:549,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:550,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:552,1
    - Dst: server_kex
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:554,1
    - Dst: std::make_unique<Server_Key_Exchange>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:554,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:555,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:555,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:555,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:557,1
    - Dst: server_public_key
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:558,1
    - Dst: server_kex
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:560,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:560,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:561,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:565,1
    - Dst: cert_req
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:566,1
    - Dst: std::make_unique<Certificate_Request_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:566,1
    - Dst: server_hello_done
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:568,1
    - Dst: std::make_unique<Server_Hello_Done>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:568,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:570,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:571,1
    - Dst: server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:574,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:574,1
    - Dst: trusted_certificate_authorities
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:576,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:576,1
    - Dst: server_cert_status
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:579,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:580,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:580,1
    - Dst: server_cert_status
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:580,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:583,1
    - Dst: server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:583,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:587,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:588,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:592,1
    - Dst: what
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:592,1
    - Dst: received_handshake_msg
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:596,1
    - Dst: cert_req
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:597,1
    - Dst: find_cert_chain
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:600,1
    - Dst: cert_req
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:600,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:600,1
    - Dst: client_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:602,1
    - Dst: std::make_unique<Certificate_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:602,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:602,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:602,1
    - Dst: client_kex
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:605,1
    - Dst: std::make_unique<Client_Key_Exchange>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:605,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:606,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:606,1
    - Dst: maybe_server_public_key
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:606,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:606,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:606,1
    - Dst: compute_session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:608,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:609,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:614,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:615,1
    - Dst: session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:615,1
    - Dst: received_handshake_msg
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:618,1
    - Dst: client_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:618,1
    - Dst: private_key_for
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:620,1
    - Dst: client_certs
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:620,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:620,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:623,1
    - Dst: client_verify
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:626,1
    - Dst: std::make_unique<Certificate_Verify_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:627,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:627,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:627,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:627,1
    - Dst: auto::get
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:627,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:630,1
    - Dst: Change_Cipher_Spec
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:630,1
    - Dst: change_cipher_spec_writer
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:632,1
    - Dst: client_finished
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:634,1
    - Dst: std::make_unique<Finished_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:634,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:634,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:636,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:637,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:639,1
    - Dst: new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:642,1
    - Dst: std::make_unique<New_Session_Ticket_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:642,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:644,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:646,1
    - Dst: change_cipher_spec_reader
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:648,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:650,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:651,1
    - Dst: server_finished
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:654,1
    - Dst: std::make_unique<Finished_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:654,1
    - Dst: server_finished
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:656,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:657,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:660,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:660,1
    - Dst: client_finished
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:662,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:664,1
    - Dst: Change_Cipher_Spec
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:664,1
    - Dst: change_cipher_spec_writer
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:665,1
    - Dst: client_finished
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:666,1
    - Dst: std::make_unique<Finished_12>
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:666,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:666,1
    - Dst: session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:669,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:670,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:671,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:673,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:674,1
    - Dst: Botan::TLS::Client_Impl_12::get_peer_cert_chain
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:675,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:677,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:678,1
    - Dst: new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:682,1
    - Dst: new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:682,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:683,1
    - Dst: session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:689,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:689,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:691,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:691,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:700,1
    - Dst: is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:701,1
    - Dst: external_psk_identity
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:701,1
    - Dst: Session_Summary::set_session_id
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:702,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:702,1
    - Dst: new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:703,1
    - Dst: Session_Summary::set_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:704,1
    - Dst: auto::ticket
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:704,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:709,1
    - Dst: is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:719,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:719,1
    - Dst: auto::is_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:719,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:723,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:723,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:724,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:724,1
    - Dst: is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:727,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:729,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:729,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:731,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:731,1
    - Dst: activate_session
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:736,1
    - Dst: Unexpected_Message
      Src: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp:738,1
    CyclomaticComplexity: 129
    EdgeCount: 129
    ICount: 287
    argCount: 5
    argNames:
    - active_state
    - ' state_base'
    - type
    - ' contents'
    - epoch0_restart
    argTypes:
    - Handshake_State*
    - Handshake_State
    - Handshake_Type
    - std::vector<uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 740
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 740
    functionName: Botan::TLS::Client_Impl_12::process_handshake_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_client_impl_12.cpp
    functionUses: 0
    functionsReached:
    - X509_Certificate::constraints
    - handshake_io
    - change_cipher_spec_reader
    - server_public_key
    - std::make_unique<New_Session_Ticket_12>
    - auto::value
    - std::vector::empty
    - what
    - auto::has_value
    - static_cast<int>
    - server_kex
    - callbacks
    - send_warning_alert
    - client_hello
    - client_finished
    - TLS_Exception
    - resumed_session_supports_extended_master_secret
    - std::move
    - rng
    - std::vector::emplace_back
    - std::make_unique<Server_Hello_12>
    - external_psk_identity
    - set_expected_next
    - Botan::TLS::Ciphersuite::is_scsv
    - record_server_public_key
    - version
    - session_ticket
    - Session_Summary::set_session_id
    - auto::get
    - std::make_unique<Certificate_Status>
    - set_version
    - auto::is_ticket
    - server_certs
    - std::make_unique<Certificate_12>
    - std::set_difference
    - Botan::TLS::Client_Impl_12::initiate_handshake
    - auto::end
    - hostname
    - client_kex
    - session_manager
    - hash
    - Botan::TLS::Client_Impl_12::get_peer_cert_chain
    - auto::ticket
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - activate_session
    - std::make_unique<Server_Key_Exchange>
    - new_session_ticket
    - std::ostringstream::str
    - Session_Summary::set_session_ticket
    - Handshake_State*::version
    - policy
    - Unexpected_Message
    - std::make_unique<Certificate_Request_12>
    - discard_resumption_state
    - private_key_for
    - server_cert_status
    - server_hello_done
    - auto::begin
    - auto::usable_in_version
    - maybe_server_public_key
    - Handshake_State*::server_certs
    - hello_verify_request
    - X509_Certificate::subject_public_key
    - std::make_unique<Certificate_Verify_12>
    - value_exists
    - std::make_unique<Client_Key_Exchange>
    - std::make_unique<Server_Hello_Done>
    - std::back_inserter
    - confirm_transition_to
    - auto::aead_ciphersuite
    - Change_Cipher_Spec
    - cert_req
    - Botan::TLS::Ciphersuite::by_id
    - secure_renegotiation_check
    - find_cert_chain
    - trusted_certificate_authorities
    - client_verify
    - server_finished
    - std::make_unique<Finished_12>
    - compute_session_keys
    - session_keys
    - BOTAN_ASSERT_NOMSG
    - ciphersuite
    - change_cipher_spec_writer
    - received_handshake_msg
    - server_hello
    - empty
    - auto::algo_name
    - is_a_resumption
    - resume_master_secret
    - client_certs
    - secure_renegotiation_supported
    - Handshake_State*::server_hello
    - key_usage_matches_ciphersuite
    - dynamic_cast<Client_Handshake_State_12&>
    - mark_as_renegotiation
    linkageType: ''
    returnType: void
    signature: "void Client_Impl_12::process_handshake_msg(const Handshake_State*
      active_state,\n                                           Handshake_State& state_base,\n
      \                                          Handshake_Type type,\n                                           const
      std::vector<uint8_t>& contents,\n                                           bool
      epoch0_restart)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::TLS::Channel_Impl_12::Channel_Impl_12
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12(const Channel_Impl_12&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: '& operator=(const Channel_Impl_12&)'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Channel_Impl_12
    signature: Channel_Impl_12 & operator=(const Channel_Impl_12&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::is_closed
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: Botan::TLS::Channel_Impl_12::is_closed_for_reading
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_12::is_closed
    linkageType: ''
    returnType: bool
    signature: bool is_closed_for_reading() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::is_closed
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Botan::TLS::Channel_Impl_12::is_closed_for_writing
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_12::is_closed
    linkageType: ''
    returnType: bool
    signature: bool is_closed_for_writing() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan::TLS::Channel_Impl_12::peer_raw_public_key
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const Public_Key>
    signature: std::shared_ptr<const Public_Key> peer_raw_public_key() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: '& rng()'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RandomNumberGenerator
    signature: RandomNumberGenerator & rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: '& session_manager()'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Session_Manager
    signature: Session_Manager & session_manager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: '& policy() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Policy
    signature: Policy & policy() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: '& callbacks() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Callbacks
    signature: Callbacks & callbacks() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: Botan::TLS::Channel_Impl_12::active_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Handshake_State
    signature: Handshake_State * active_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: Botan::TLS::Channel_Impl_12::pending_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Handshake_State
    signature: Handshake_State * pending_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan::TLS::Server_Impl_12::application_protocol
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string application_protocol() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_uint32
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::TLS::load_be24
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - make_uint32
    linkageType: ''
    returnType: size_t
    signature: size_t load_be24(const uint8_t q[3])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:26,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:26,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:27,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:27,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:28,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out
    - val
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: Botan::TLS::store_be24
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - get_byte<1>
    - static_cast<uint32_t>
    - get_byte<2>
    - get_byte<3>
    linkageType: ''
    returnType: void
    signature: void store_be24(uint8_t out[3], size_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:32,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: Botan::TLS::steady_clock_ms
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t steady_clock_ms()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::TLS::Stream_Handshake_IO::initial_record_version
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version Stream_Handshake_IO::initial_record_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:47,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:47,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:50,1
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:55,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:55,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:57,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:57,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:57,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - record
    - record_len
    - record_type
    argTypes:
    - uint8_t[]
    - size_t
    - Record_Type
    constantsTouched: []
    func_position:
      end: 60
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 60
    functionName: Botan::TLS::Stream_Handshake_IO::add_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - static_cast<size_t>
    - end
    - Decoding_Error
    - insert
    linkageType: ''
    returnType: void
    signature: "void Stream_Handshake_IO::add_record(const uint8_t record[],\n                                     size_t
      record_len,\n                                     Record_Type record_type,\n
      \                                    uint64_t /*sequence_number*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:63,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:66,1
    - Dst: static_cast<Handshake_Type>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:67,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:70,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:73,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:73,1
    - Dst: erase
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:75,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:75,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:75,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:77,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:81,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 82
    functionName: Botan::TLS::Stream_Handshake_IO::get_next_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - begin
    - static_cast<Handshake_Type>
    - size
    - std::vector<uint8_t>
    - Decoding_Error
    - erase
    - std::make_pair
    linkageType: ''
    returnType: std::pair<Handshake_Type, std::vector<uint8_t>>
    signature: std::pair<Handshake_Type, std::vector<uint8_t>> Stream_Handshake_IO::get_next_record(bool
      /*expecting_ccs*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:85,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:89,1
    - Dst: store_be24
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:91,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:93,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:94,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:94,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' msg'
    - type
    argTypes:
    - std::vector<uint8_t>
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: Botan::TLS::Stream_Handshake_IO::format
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - store_be24
    - data
    - size
    - copy_mem
    - empty
    - static_cast<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Stream_Handshake_IO::format(const std::vector<uint8_t>&
      msg, Handshake_Type type) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: Botan::TLS::Stream_Handshake_IO::send_under_epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Stream_Handshake_IO::send_under_epoch(const Handshake_Message&
      /*msg*/, uint16_t /*epoch*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:105,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:107,1
    - Dst: m_send_hs
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:108,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:109,1
    - Dst: Botan::TLS::Stream_Handshake_IO::format
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:112,1
    - Dst: wire_type
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:112,1
    - Dst: m_send_hs
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Handshake_Message
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: Botan::TLS::Stream_Handshake_IO::send
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - type
    - wire_type
    - Botan::TLS::Stream_Handshake_IO::format
    - std::vector<uint8_t>
    - serialize
    - m_send_hs
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Stream_Handshake_IO::send(const Handshake_Message&
      msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: Botan::TLS::Datagram_Handshake_IO::initial_record_version
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version Datagram_Handshake_IO::initial_record_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Datagram_Handshake_IO::retransmit_flight
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: Botan::TLS::Datagram_Handshake_IO::retransmit_last_flight
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Datagram_Handshake_IO::retransmit_flight
    linkageType: ''
    returnType: void
    signature: void Datagram_Handshake_IO::retransmit_last_flight()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:127,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:129,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:129,1
    - Dst: m_send_hs
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:139,1
    - Dst: Botan::TLS::Datagram_Handshake_IO::send_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - flight_idx
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: Botan::TLS::Datagram_Handshake_IO::retransmit_flight
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 1
    functionsReached:
    - at
    - empty
    - BOTAN_ASSERT
    - m_send_hs
    - Botan::TLS::Datagram_Handshake_IO::send_message
    linkageType: ''
    returnType: void
    signature: void Datagram_Handshake_IO::retransmit_flight(size_t flight_idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: Botan::TLS::Datagram_Handshake_IO::have_more_data
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Datagram_Handshake_IO::have_more_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:152,1
    - Dst: rbegin
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:152,1
    - Dst: Botan::TLS::Datagram_Handshake_IO::retransmit_last_flight
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:166,1
    - Dst: std::min
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 170
    functionName: Botan::TLS::Datagram_Handshake_IO::timeout_check
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Datagram_Handshake_IO::retransmit_last_flight
    - rbegin
    - std::min
    - size
    linkageType: ''
    returnType: bool
    signature: bool Datagram_Handshake_IO::timeout_check()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:180,1
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:184,1
    - Dst: static_cast<Handshake_Type>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:195,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:204,1
    - Dst: add_fragment
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - record
    - record_len
    - record_type
    - record_sequence
    argTypes:
    - uint8_t[]
    - size_t
    - Record_Type
    - uint64_t
    constantsTouched: []
    func_position:
      end: 217
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 217
    functionName: Botan::TLS::Datagram_Handshake_IO::add_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - add_fragment
    - static_cast<Handshake_Type>
    - Decoding_Error
    - insert
    linkageType: ''
    returnType: void
    signature: "void Datagram_Handshake_IO::add_record(const uint8_t record[],\n                                       size_t
      record_len,\n                                       Record_Type record_type,\n
      \                                      uint64_t record_sequence)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rbegin
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:221,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:222,1
    - Dst: std::vector<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:222,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:226,1
    - Dst: contains
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:229,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:230,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:230,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:233,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:233,1
    - Dst: find
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:236,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:238,1
    - Dst: auto::second::complete
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:238,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:239,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:239,1
    - Dst: auto::second::message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - expecting_ccs
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 245
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 245
    functionName: Botan::TLS::Datagram_Handshake_IO::get_next_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - rbegin
    - contains
    - std::vector<uint16_t>
    - auto::second::message
    - empty
    - std::vector<uint8_t>
    - end
    - push_back
    - auto::second::complete
    - find
    - std::make_pair
    linkageType: ''
    returnType: std::pair<Handshake_Type, std::vector<uint8_t>>
    signature: std::pair<Handshake_Type, std::vector<uint8_t>> Datagram_Handshake_IO::get_next_record(bool
      expecting_ccs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: complete
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:253,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:264,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:268,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:272,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:276,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:277,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:291,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:292,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:296,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 6
    argNames:
    - fragment
    - fragment_length
    - fragment_offset
    - epoch
    - msg_type
    - msg_length
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    - uint16_t
    - Handshake_Type
    - size_t
    constantsTouched: []
    func_position:
      end: 299
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 299
    functionName: "Datagram_Handshake_IO::Handshake_Reassembly::add_fragment(const
      uint8_t fragment[],\n                                                               size_t
      fragment_length,\n                                                               size_t
      fragment_offset,\n                                                               uint16_t
      epoch,\n                                                               Handshake_Type
      msg_type,\n                                                               size_t
      msg_length)"
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - complete
    - assign
    - size
    - clear
    - Decoding_Error
    - resize
    linkageType: ''
    returnType: void
    signature: "void Datagram_Handshake_IO::Handshake_Reassembly::add_fragment(const
      uint8_t fragment[],\n                                                               size_t
      fragment_length,\n                                                               size_t
      fragment_offset,\n                                                               uint16_t
      epoch,\n                                                               Handshake_Type
      msg_type,\n                                                               size_t
      msg_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: Datagram_Handshake_IO::Handshake_Reassembly::complete() const
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool Datagram_Handshake_IO::Handshake_Reassembly::complete() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: complete
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:306,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:307,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: Datagram_Handshake_IO::Handshake_Reassembly::message() const
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - complete
    - Internal_Error
    linkageType: ''
    returnType: std::pair<Handshake_Type, std::vector<uint8_t>>
    signature: std::pair<Handshake_Type, std::vector<uint8_t>> Datagram_Handshake_IO::Handshake_Reassembly::message()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:321,1
    - Dst: store_be24
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:323,1
    - Dst: store_be
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:325,1
    - Dst: store_be24
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:327,1
    - Dst: store_be24
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:328,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - fragment
    - frag_len
    - frag_offset
    - msg_len
    - type
    - msg_sequence
    argTypes:
    - uint8_t[]
    - size_t
    - uint16_t
    - uint16_t
    - Handshake_Type
    - uint16_t
    constantsTouched: []
    func_position:
      end: 335
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 335
    functionName: Botan::TLS::Datagram_Handshake_IO::format_fragment
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - store_be24
    - static_cast<uint8_t>
    - store_be
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> Datagram_Handshake_IO::format_fragment(const
      uint8_t fragment[],\n                                                            size_t
      frag_len,\n                                                            uint16_t
      frag_offset,\n                                                            uint16_t
      msg_len,\n                                                            Handshake_Type
      type,\n                                                            uint16_t
      msg_sequence) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Datagram_Handshake_IO::format_fragment
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:340,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:340,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:340,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:340,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' msg'
    - type
    - msg_sequence
    argTypes:
    - std::vector<uint8_t>
    - Handshake_Type
    - uint16_t
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: Botan::TLS::Datagram_Handshake_IO::format_w_seq
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - data
    - size
    - Botan::TLS::Datagram_Handshake_IO::format_fragment
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> Datagram_Handshake_IO::format_w_seq(const std::vector<uint8_t>&
      msg,\n                                                         Handshake_Type
      type,\n                                                         uint16_t msg_sequence)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Datagram_Handshake_IO::format_w_seq
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' msg'
    - type
    argTypes:
    - std::vector<uint8_t>
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: Botan::TLS::Datagram_Handshake_IO::format
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Datagram_Handshake_IO::format_w_seq
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Datagram_Handshake_IO::format(const std::vector<uint8_t>&
      msg, Handshake_Type type) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Datagram_Handshake_IO::send_under_epoch
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:348,1
    - Dst: current_write_epoch
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Handshake_Message
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: Botan::TLS::Datagram_Handshake_IO::send
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 0
    functionsReached:
    - current_write_epoch
    - Botan::TLS::Datagram_Handshake_IO::send_under_epoch
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Datagram_Handshake_IO::send(const Handshake_Message&
      msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:352,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:353,1
    - Dst: m_send_hs
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:356,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:357,1
    - Dst: Botan::TLS::Datagram_Handshake_IO::send_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:360,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:362,1
    - Dst: rbegin
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:366,1
    - Dst: Botan::TLS::Datagram_Handshake_IO::Message_Info
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:367,1
    - Dst: steady_clock_ms
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:370,1
    - Dst: Botan::TLS::Datagram_Handshake_IO::send_message
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - ' msg'
    - epoch
    argTypes:
    - Handshake_Message
    - uint16_t
    constantsTouched: []
    func_position:
      end: 374
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 374
    functionName: Botan::TLS::Datagram_Handshake_IO::send_under_epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 1
    functionsReached:
    - type
    - rbegin
    - Botan::TLS::Datagram_Handshake_IO::Message_Info
    - steady_clock_ms
    - std::vector<uint8_t>
    - serialize
    - m_send_hs
    - Botan::TLS::Datagram_Handshake_IO::send_message
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Datagram_Handshake_IO::send_under_epoch(const
      Handshake_Message& msg, uint16_t epoch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Datagram_Handshake_IO::format_w_seq
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:382,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:384,1
    - Dst: m_send_hs
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:385,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:400,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:405,1
    - Dst: Botan::TLS::Datagram_Handshake_IO::format_fragment
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:408,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:410,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:411,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:411,1
    - Dst: m_send_hs
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp:415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - msg_seq
    - epoch
    - msg_type
    - ' msg_bits'
    argTypes:
    - uint16_t
    - uint16_t
    - Handshake_Type
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 422
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 422
    functionName: Botan::TLS::Datagram_Handshake_IO::send_message
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_io.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint16_t>
    - Botan::TLS::Datagram_Handshake_IO::format_w_seq
    - size
    - Botan::TLS::Datagram_Handshake_IO::format_fragment
    - auto::size
    - Invalid_Argument
    - m_send_hs
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> Datagram_Handshake_IO::send_message(uint16_t
      msg_seq,\n                                                         uint16_t
      epoch,\n                                                         Handshake_Type
      msg_type,\n                                                         const std::vector<uint8_t>&
      msg_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::TLS::Handshake_State::Handshake_State
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handshake_State(const Handshake_State&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '& operator=(const Handshake_State&)'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handshake_State
    signature: Handshake_State & operator=(const Handshake_State&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& handshake_io()'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handshake_IO
    signature: Handshake_IO & handshake_io()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Botan::TLS::Handshake_State::version
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Botan::TLS::Handshake_State::client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 2
    functionsReached:
    - get
    linkageType: ''
    returnType: Client_Hello_12
    signature: Client_Hello_12 * client_hello() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Botan::TLS::Handshake_State::server_hello
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Server_Hello_12
    signature: Server_Hello_12 * server_hello() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: Botan::TLS::Handshake_State::server_certs
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Certificate_12
    signature: Certificate_12 * server_certs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Botan::TLS::Handshake_State::server_kex
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Server_Key_Exchange
    signature: Server_Key_Exchange * server_kex() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan::TLS::Handshake_State::cert_req
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 2
    functionsReached:
    - get
    linkageType: ''
    returnType: Certificate_Request_12
    signature: Certificate_Request_12 * cert_req() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: Botan::TLS::Handshake_State::server_hello_done
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Server_Hello_Done
    signature: Server_Hello_Done * server_hello_done() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan::TLS::Handshake_State::client_certs
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Certificate_12
    signature: Certificate_12 * client_certs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: Botan::TLS::Handshake_State::client_kex
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 1
    functionsReached:
    - get
    linkageType: ''
    returnType: Client_Key_Exchange
    signature: Client_Key_Exchange * client_kex() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: Botan::TLS::Handshake_State::client_verify
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Certificate_Verify_12
    signature: Certificate_Verify_12 * client_verify() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: Botan::TLS::Handshake_State::server_verify
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Certificate_Verify_12
    signature: Certificate_Verify_12 * server_verify() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: Botan::TLS::Handshake_State::server_cert_status
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Certificate_Status
    signature: Certificate_Status * server_cert_status() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Botan::TLS::Handshake_State::new_session_ticket
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 1
    functionsReached:
    - get
    linkageType: ''
    returnType: New_Session_Ticket_12
    signature: New_Session_Ticket_12 * new_session_ticket() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: Botan::TLS::Handshake_State::server_finished
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Finished_12
    signature: Finished_12 * server_finished() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_state.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: Botan::TLS::Handshake_State::client_finished
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Finished_12
    signature: Finished_12 * client_finished() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: '& session_keys() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Session_Keys
    signature: Session_Keys & session_keys() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: '& callbacks() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Callbacks
    signature: Callbacks & callbacks() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '& hash()'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handshake_Hash
    signature: Handshake_Hash & hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: '& hash() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_state.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handshake_Hash
    signature: Handshake_Hash & hash() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - io
    - ' cb'
    argTypes:
    - std::unique_ptr<Handshake_IO>
    - Callbacks
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::TLS::Server_Handshake_State::Server_Handshake_State
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Server_Handshake_State(std::unique_ptr<Handshake_IO> io, Callbacks&
      cb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::TLS::Server_Handshake_State::server_rsa_kex_key
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Private_Key
    signature: Private_Key * server_rsa_kex_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::shared_ptr<Private_Key>
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::TLS::Server_Handshake_State::set_server_rsa_kex_key
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_server_rsa_kex_key(std::shared_ptr<Private_Key> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::TLS::Server_Handshake_State::allow_session_resumption
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allow_session_resumption() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - allow_session_resumption
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Botan::TLS::Server_Handshake_State::set_allow_session_resumption
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_allow_session_resumption(bool allow_session_resumption)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& resume_peer_certs() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> & resume_peer_certs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' certs'
    argTypes:
    - std::vector<X509_Certificate>
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::TLS::Server_Handshake_State::set_resume_certs
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_resume_certs(const std::vector<X509_Certificate>& certs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::TLS::Server_Handshake_State::mark_as_resumption
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mark_as_resumption()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan::TLS::Server_Handshake_State::is_a_resumption
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_a_resumption() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: retrieve
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:65,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:66,1
    - Dst: Client_Hello_12*::legacy_version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:71,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:71,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:76,1
    - Dst: Client_Hello_12*::ciphersuites
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:76,1
    - Dst: auto::ciphersuite_code
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:76,1
    - Dst: Client_Hello_12*::sni_hostname
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:81,1
    - Dst: Client_Hello_12*::sni_hostname
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:81,1
    - Dst: auto::server_info
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:81,1
    - Dst: Client_Hello_12*::supports_extended_master_secret
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:86,1
    - Dst: auto::supports_extended_master_secret
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:86,1
    - Dst: auto::supports_extended_master_secret
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:87,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:94,1
    - Dst: Client_Hello_12*::supports_encrypt_then_mac
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:99,1
    - Dst: auto::supports_encrypt_then_mac
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:99,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:104,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - ' handle_to_resume'
    - ' session_manager'
    - ' cb'
    - ' policy'
    - client_hello
    argTypes:
    - Session_Handle
    - Session_Manager
    - Callbacks
    - Policy
    - Client_Hello_12*
    constantsTouched: []
    func_position:
      end: 108
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 108
    functionName: Botan::TLS::check_for_resume
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - value_exists
    - Client_Hello_12*::legacy_version
    - retrieve
    - auto::supports_encrypt_then_mac
    - auto::has_value
    - auto::version
    - auto::server_info
    - Client_Hello_12*::supports_extended_master_secret
    - Client_Hello_12*::supports_encrypt_then_mac
    - TLS_Exception
    - auto::ciphersuite_code
    - Client_Hello_12*::sni_hostname
    - auto::supports_extended_master_secret
    - Client_Hello_12*::ciphersuites
    linkageType: ''
    returnType: std::optional<Session>
    signature: "std::optional<Session> check_for_resume(const Session_Handle& handle_to_resume,\n
      \                                       Session_Manager& session_manager,\n
      \                                       Callbacks& cb,\n                                        const
      Policy& policy,\n                                        const Client_Hello_12*
      client_hello)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphersuites
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:118,1
    - Dst: ciphersuite_list
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:119,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:121,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:122,1
    - Dst: std::swap
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:140,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:144,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:148,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:150,1
    - Dst: auto::valid
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:150,1
    - Dst: auto::ecc_ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:154,1
    - Dst: auto::kex_method
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:158,1
    - Dst: auto::signature_used
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:163,1
    - Dst: auto::sig_algo
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:164,1
    - Dst: contains
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:167,1
    - Dst: allowed_signature_schemes
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:171,1
    - Dst: signature_schemes
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:173,1
    - Dst: is_available
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:183,1
    - Dst: algorithm_name
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:187,1
    - Dst: auto::sig_algo
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:187,1
    - Dst: allowed_signature_hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:188,1
    - Dst: hash_function_name
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:188,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:194,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:209,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:212,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 40
    argCount: 4
    argNames:
    - ' policy'
    - version
    - ' cert_chains'
    - ' client_hello'
    argTypes:
    - Policy
    - Protocol_Version
    - std::map<std::string, std::vector<X509_Certificate>>
    - Client_Hello_12
    constantsTouched: []
    func_position:
      end: 213
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 213
    functionName: Botan::TLS::choose_ciphersuite
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - auto::signature_used
    - contains
    - signature_schemes
    - std::swap
    - auto::kex_method
    - algorithm_name
    - hash_function_name
    - allowed_signature_hash
    - allowed_signature_schemes
    - std::vector::empty
    - auto::has_value
    - is_available
    - auto::sig_algo
    - ciphersuites
    - value_exists
    - TLS_Exception
    - Botan::TLS::Ciphersuite::by_id
    - auto::valid
    - ciphersuite_list
    - auto::ecc_ciphersuite
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t choose_ciphersuite(const Policy& policy,\n                            Protocol_Version
      version,\n                            const std::map<std::string, std::vector<X509_Certificate>>&
      cert_chains,\n                            const Client_Hello_12& client_hello)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cert_chain_single_type
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:222,1
    - Dst: Botan::TLS::to_algorithm_identifiers
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:223,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:223,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - hostname
    - ' cert_sig_schemes'
    - ' creds'
    argTypes:
    - std::string_view
    - std::vector<Signature_Scheme>
    - Credentials_Manager
    constantsTouched: []
    func_position:
      end: 231
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 231
    functionName: Botan::TLS::get_server_certs
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - Botan::TLS::to_algorithm_identifiers
    - cert_chain_single_type
    - std::vector::empty
    linkageType: ''
    returnType: std::map<std::string, std::vector<X509_Certificate>>
    signature: "std::map<std::string, std::vector<X509_Certificate>> get_server_certs(\n
      \  std::string_view hostname, const std::vector<Signature_Scheme>& cert_sig_schemes,
      Credentials_Manager& creds)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' callbacks'
    - ' session_manager'
    - ' creds'
    - ' policy'
    - ' rng'
    - is_datagram
    - io_buf_sz
    argTypes:
    - std::shared_ptr<Callbacks>
    - std::shared_ptr<Session_Manager>
    - std::shared_ptr<Credentials_Manager>
    - std::shared_ptr<const Policy>
    - std::shared_ptr<RandomNumberGenerator>
    - bool
    - size_t
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: Botan::TLS::Server_Impl_12::Server_Impl_12
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void Server_Impl_12::Server_Impl_12(const std::shared_ptr<Callbacks>&
      callbacks,\n                               const std::shared_ptr<Session_Manager>&
      session_manager,\n                               const std::shared_ptr<Credentials_Manager>&
      creds,\n                               const std::shared_ptr<const Policy>&
      policy,\n                               const std::shared_ptr<RandomNumberGenerator>&
      rng,\n                               bool is_datagram,\n                               size_t
      io_buf_sz)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' downgrade_info'
    argTypes:
    - Channel_Impl::Downgrade_Information
    constantsTouched: []
    func_position:
      end: 254
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 254
    functionName: Botan::TLS::Server_Impl_12::Server_Impl_12
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Server_Impl_12::Server_Impl_12(const Channel_Impl::Downgrade_Information&
      downgrade_info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Server_Handshake_State>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:257,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:257,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:257,1
    - Dst: auto::set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - io
    argTypes:
    - std::unique_ptr<Handshake_IO>
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: Botan::TLS::Server_Impl_12::new_handshake_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - auto::set_expected_next
    - std::move
    - callbacks
    - std::make_unique<Server_Handshake_State>
    linkageType: ''
    returnType: std::unique_ptr<Handshake_State>
    signature: std::unique_ptr<Handshake_State> Server_Impl_12::new_handshake_state(std::unique_ptr<Handshake_IO>
      io)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Server_Handshake_State&>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:263,1
    - Dst: resume_peer_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:264,1
    - Dst: resume_peer_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:265,1
    - Dst: client_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:268,1
    - Dst: client_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:269,1
    - Dst: std::vector<X509_Certificate>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' state_base'
    argTypes:
    - Handshake_State
    constantsTouched: []
    func_position:
      end: 272
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 272
    functionName: Botan::TLS::Server_Impl_12::get_peer_cert_chain
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - std::vector<X509_Certificate>
    - resume_peer_certs
    - client_certs
    - dynamic_cast<const Server_Handshake_State&>
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> Server_Impl_12::get_peer_cert_chain(const
      Handshake_State& state_base) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<Server_Handshake_State&>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:278,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' state'
    - force_full_renegotiation
    argTypes:
    - Handshake_State
    - bool
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: Botan::TLS::Server_Impl_12::initiate_handshake
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<Server_Handshake_State&>
    - handshake_io
    linkageType: ''
    returnType: void
    signature: void Server_Impl_12::initiate_handshake(Handshake_State& state, bool
      force_full_renegotiation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::empty
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:292,1
    - Dst: allow_dtls12
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:294,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:294,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:294,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:297,1
    - Dst: allow_tls12
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:299,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:299,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:299,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:302,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:315,1
    - Dst: Protocol_Version::to_string
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:317,1
    - Dst: Protocol_Version::to_string
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:317,1
    - Dst: allow_dtls12
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:324,1
    - Dst: allow_tls12
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:328,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:333,1
    - Dst: Protocol_Version::to_string
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:334,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 4
    argNames:
    - ' policy'
    - client_offer
    - active_version
    - ' supported_versions'
    argTypes:
    - TLS::Policy
    - Protocol_Version
    - Protocol_Version
    - std::vector<Protocol_Version>
    constantsTouched: []
    func_position:
      end: 335
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 335
    functionName: Botan::TLS::select_version
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - value_exists
    - allow_dtls12
    - Botan::TLS::empty
    - TLS_Exception
    - Protocol_Version
    - allow_tls12
    - Protocol_Version::to_string
    linkageType: ''
    returnType: Protocol_Version
    signature: "Protocol_Version select_version(const TLS::Policy& policy,\n                                Protocol_Version
      client_offer,\n                                Protocol_Version active_version,\n
      \                               const std::vector<Protocol_Version>& supported_versions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_IMPLICATION
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:345,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:349,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:350,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:351,1
    - Dst: send_warning_alert
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:353,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:358,1
    - Dst: secure_renegotiation_supported
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:358,1
    - Dst: send_warning_alert
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:359,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:363,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:364,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:367,1
    - Dst: std::make_unique<Client_Hello_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:367,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:368,1
    - Dst: Protocol_Version::major_version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:372,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:373,1
    - Dst: Protocol_Version::major_version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:376,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:377,1
    - Dst: Protocol_Version::major_version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:379,1
    - Dst: Protocol_Version::minor_version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:379,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:380,1
    - Dst: select_version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:395,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:395,1
    - Dst: Handshake_State*::version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:397,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:397,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:398,1
    - Dst: set_version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:400,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:402,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:403,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:404,1
    - Dst: psk
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:411,1
    - Dst: SymmetricKey::empty
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:414,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:415,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:416,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:418,1
    - Dst: Hello_Verify_Request::cookie
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:418,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:420,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:422,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:425,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:426,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:430,1
    - Dst: reset_active_association_state
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:436,1
    - Dst: secure_renegotiation_check
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:439,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:439,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:441,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:442,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:444,1
    - Dst: allow_session_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:447,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:447,1
    - Dst: check_for_resume
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:448,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:449,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:449,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:449,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:449,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:449,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:453,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:454,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:454,1
    - Dst: std::optional::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:457,1
    - Dst: Botan::TLS::Server_Impl_12::session_resume
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:458,1
    - Dst: std::optional::value
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:458,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:458,1
    - Dst: Botan::TLS::Server_Impl_12::session_create
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:461,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 72
    argCount: 4
    argNames:
    - active_state
    - ' pending_state'
    - ' contents'
    - epoch0_restart
    argTypes:
    - Handshake_State*
    - Server_Handshake_State
    - std::vector<uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 463
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 463
    functionName: Botan::TLS::Server_Impl_12::process_client_hello_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Protocol_Version::minor_version
    - SymmetricKey::empty
    - set_version
    - handshake_io
    - Protocol_Version::major_version
    - Hello_Verify_Request::cookie
    - auto::value
    - auto::has_value
    - callbacks
    - send_warning_alert
    - reset_active_association_state
    - client_hello
    - value_exists
    - session_manager
    - allow_session_resumption
    - select_version
    - check_for_resume
    - psk
    - BOTAN_ASSERT_IMPLICATION
    - TLS_Exception
    - Protocol_Version
    - std::make_unique<Client_Hello_12>
    - std::optional::value
    - set_expected_next
    - Botan::TLS::Server_Impl_12::session_create
    - Botan::TLS::Server_Impl_12::session_resume
    - secure_renegotiation_supported
    - std::optional::has_value
    - Handshake_State*::version
    - policy
    - secure_renegotiation_check
    linkageType: ''
    returnType: void
    signature: "void Server_Impl_12::process_client_hello_msg(const Handshake_State*
      active_state,\n                                              Server_Handshake_State&
      pending_state,\n                                              const std::vector<uint8_t>&
      contents,\n                                              bool epoch0_restart)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:467,1
    - Dst: std::make_unique<Certificate_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:467,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:467,1
    - Dst: client_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:470,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:470,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:471,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' pending_state'
    - ' contents'
    argTypes:
    - Server_Handshake_State
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 475
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 475
    functionName: Botan::TLS::Server_Impl_12::process_certificate_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - client_certs
    - std::make_unique<Certificate_12>
    - TLS_Exception
    - policy
    - set_expected_next
    linkageType: ''
    returnType: void
    signature: "void Server_Impl_12::process_certificate_msg(Server_Handshake_State&
      pending_state,\n                                             const std::vector<uint8_t>&
      contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: received_handshake_msg
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:479,1
    - Dst: client_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:479,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:480,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:482,1
    - Dst: client_kex
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:485,1
    - Dst: std::make_unique<Client_Key_Exchange>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:485,1
    - Dst: server_rsa_kex_key
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:486,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:486,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:486,1
    - Dst: compute_session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:488,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:489,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:494,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:495,1
    - Dst: session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' pending_state'
    - ' contents'
    argTypes:
    - Server_Handshake_State
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 497
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 497
    functionName: Botan::TLS::Server_Impl_12::process_client_key_exchange_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Client_Key_Exchange>
    - client_certs
    - session_keys
    - received_handshake_msg
    - callbacks
    - server_rsa_kex_key
    - compute_session_keys
    - rng
    - policy
    - client_kex
    - client_hello
    - set_expected_next
    linkageType: ''
    returnType: void
    signature: "void Server_Impl_12::process_client_key_exchange_msg(Server_Handshake_State&
      pending_state,\n                                                     const std::vector<uint8_t>&
      contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:500,1
    - Dst: change_cipher_spec_reader
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pending_state'
    argTypes:
    - Server_Handshake_State
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: Botan::TLS::Server_Impl_12::process_change_cipher_spec_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - change_cipher_spec_reader
    - set_expected_next
    linkageType: ''
    returnType: void
    signature: void Server_Impl_12::process_change_cipher_spec_msg(Server_Handshake_State&
      pending_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_verify
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:507,1
    - Dst: std::make_unique<Certificate_Verify_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:507,1
    - Dst: client_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:509,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:511,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:512,1
    - Dst: allowed_usage
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:515,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:516,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:521,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:521,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:529,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:533,1
    - Dst: trusted_certificate_authorities
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:534,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:536,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:541,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:543,1
    - Dst: what
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:543,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:546,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - ' pending_state'
    - type
    - ' contents'
    argTypes:
    - Server_Handshake_State
    - Handshake_Type
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 547
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 547
    functionName: Botan::TLS::Server_Impl_12::process_certificate_verify_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - hash
    - client_certs
    - what
    - callbacks
    - handshake_io
    - empty
    - TLS_Exception
    - policy
    - allowed_usage
    - std::make_unique<Certificate_Verify_12>
    - trusted_certificate_authorities
    - client_hello
    - client_verify
    - set_expected_next
    linkageType: ''
    returnType: void
    signature: "void Server_Impl_12::process_certificate_verify_msg(Server_Handshake_State&
      pending_state,\n                                                    Handshake_Type
      type,\n                                                    const std::vector<uint8_t>&
      contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:552,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:554,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:555,1
    - Dst: client_finished
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:558,1
    - Dst: std::make_unique<Finished_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:558,1
    - Dst: client_finished
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:560,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:561,1
    - Dst: server_finished
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:564,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:567,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:567,1
    - Dst: session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:569,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:570,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:571,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:573,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:574,1
    - Dst: Botan::TLS::Server_Impl_12::get_peer_cert_chain
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:575,1
    - Dst: Server_Information
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:576,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:576,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:577,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:578,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:582,1
    - Dst: is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:583,1
    - Dst: external_psk_identity
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:583,1
    - Dst: Session_Summary::set_session_id
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:584,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:584,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:588,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:589,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:590,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:591,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:593,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:593,1
    - Dst: auto::is_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:593,1
    - Dst: new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:594,1
    - Dst: std::make_unique<New_Session_Ticket_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:595,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:595,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:596,1
    - Dst: auto::ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:597,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:598,1
    - Dst: new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:602,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:602,1
    - Dst: new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:603,1
    - Dst: std::make_unique<New_Session_Ticket_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:604,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:604,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:604,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:607,1
    - Dst: Change_Cipher_Spec
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:607,1
    - Dst: change_cipher_spec_writer
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:609,1
    - Dst: server_finished
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:611,1
    - Dst: std::make_unique<Finished_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:612,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:612,1
    - Dst: activate_session
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:615,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - ' pending_state'
    - type
    - ' contents'
    argTypes:
    - Server_Handshake_State
    - Handshake_Type
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 616
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 616
    functionName: Botan::TLS::Server_Impl_12::process_finished_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Finished_12>
    - handshake_io
    - auto::is_ticket
    - Botan::TLS::Server_Impl_12::get_peer_cert_chain
    - Server_Information
    - std::make_unique<New_Session_Ticket_12>
    - session_keys
    - auto::has_value
    - callbacks
    - client_hello
    - session_manager
    - hash
    - change_cipher_spec_writer
    - client_finished
    - auto::ticket
    - server_hello
    - TLS_Exception
    - activate_session
    - external_psk_identity
    - is_a_resumption
    - set_expected_next
    - Change_Cipher_Spec
    - new_session_ticket
    - Session_Summary::set_session_id
    - policy
    - server_finished
    linkageType: ''
    returnType: void
    signature: "void Server_Impl_12::process_finished_msg(Server_Handshake_State&
      pending_state,\n                                          Handshake_Type type,\n
      \                                         const std::vector<uint8_t>& contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<Server_Handshake_State&>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:626,1
    - Dst: confirm_transition_to
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:627,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:638,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:638,1
    - Dst: Botan::TLS::Server_Impl_12::process_client_hello_msg
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:643,1
    - Dst: Botan::TLS::Server_Impl_12::process_certificate_msg
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:646,1
    - Dst: Botan::TLS::Server_Impl_12::process_client_key_exchange_msg
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:649,1
    - Dst: Botan::TLS::Server_Impl_12::process_certificate_verify_msg
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:652,1
    - Dst: Botan::TLS::Server_Impl_12::process_change_cipher_spec_msg
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:655,1
    - Dst: Botan::TLS::Server_Impl_12::process_finished_msg
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:658,1
    - Dst: Unexpected_Message
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:661,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - active_state
    - ' state_base'
    - type
    - ' contents'
    - epoch0_restart
    argTypes:
    - Handshake_State*
    - Handshake_State
    - Handshake_Type
    - std::vector<uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 663
      start: 621
    functionDepth: 3
    functionLinenumber: 621
    functionLinenumberEnd: 663
    functionName: Botan::TLS::Server_Impl_12::process_handshake_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 0
    functionsReached:
    - hash
    - Botan::TLS::Server_Impl_12::process_change_cipher_spec_msg
    - Botan::TLS::Server_Impl_12::process_certificate_verify_msg
    - handshake_io
    - Botan::TLS::Server_Impl_12::process_client_key_exchange_msg
    - confirm_transition_to
    - dynamic_cast<Server_Handshake_State&>
    - Botan::TLS::Server_Impl_12::process_certificate_msg
    - Unexpected_Message
    - Botan::TLS::Server_Impl_12::process_finished_msg
    - Botan::TLS::Server_Impl_12::process_client_hello_msg
    linkageType: ''
    returnType: void
    signature: "void Server_Impl_12::process_handshake_msg(const Handshake_State*
      active_state,\n                                           Handshake_State& state_base,\n
      \                                          Handshake_Type type,\n                                           const
      std::vector<uint8_t>& contents,\n                                           bool
      epoch0_restart)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:673,1
    - Dst: std::make_unique<Server_Hello_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:673,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:673,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:674,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:675,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:676,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:677,1
    - Dst: secure_renegotiation_data_for_server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:678,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:679,1
    - Dst: secure_renegotiation_check
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:684,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:684,1
    - Dst: mark_as_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:686,1
    - Dst: compute_session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:687,1
    - Dst: session::master_secret
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:687,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:688,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:693,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:694,1
    - Dst: session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:694,1
    - Dst: set_resume_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:696,1
    - Dst: session::peer_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:696,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:700,1
    - Dst: is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:701,1
    - Dst: external_psk_identity
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:701,1
    - Dst: Session_Summary::set_session_id
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:702,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:702,1
    - Dst: handle::ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:703,1
    - Dst: Session_Summary::set_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:704,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:704,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:704,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:710,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:711,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:714,1
    - Dst: handle::id
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:714,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:718,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:719,1
    - Dst: auto::is_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:719,1
    - Dst: new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:720,1
    - Dst: std::make_unique<New_Session_Ticket_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:720,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:720,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:721,1
    - Dst: auto::ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:722,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:723,1
    - Dst: new_session_ticket
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:725,1
    - Dst: std::make_unique<New_Session_Ticket_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:726,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:726,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:726,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:730,1
    - Dst: Change_Cipher_Spec
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:730,1
    - Dst: change_cipher_spec_writer
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:732,1
    - Dst: server_finished
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:734,1
    - Dst: std::make_unique<Finished_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:735,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:735,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:736,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - ' pending_state'
    - ' session'
    argTypes:
    - Server_Handshake_State
    - Session_with_Handle
    constantsTouched: []
    func_position:
      end: 737
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 737
    functionName: Botan::TLS::Server_Impl_12::session_resume
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Finished_12>
    - set_resume_certs
    - handshake_io
    - auto::is_ticket
    - compute_session_keys
    - mark_as_resumption
    - std::make_unique<New_Session_Ticket_12>
    - session_keys
    - auto::value
    - session::peer_certs
    - auto::has_value
    - callbacks
    - handle::ticket
    - session::master_secret
    - client_hello
    - session_manager
    - hash
    - change_cipher_spec_writer
    - handle::id
    - auto::ticket
    - server_hello
    - rng
    - secure_renegotiation_data_for_server_hello
    - std::move
    - external_psk_identity
    - std::make_unique<Server_Hello_12>
    - is_a_resumption
    - Change_Cipher_Spec
    - set_expected_next
    - new_session_ticket
    - Session_Summary::set_session_ticket
    - Session_Summary::set_session_id
    - policy
    - secure_renegotiation_check
    - server_finished
    linkageType: ''
    returnType: void
    signature: void Server_Impl_12::session_resume(Server_Handshake_State& pending_state,
      const Session_with_Handle& session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:742,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:750,1
    - Dst: get_server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:751,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:753,1
    - Dst: std::map::empty
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:753,1
    - Dst: get_server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:754,1
    - Dst: std::map::empty
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:763,1
    - Dst: send_warning_alert
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:764,1
    - Dst: Session_ID
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:771,1
    - Dst: make_hello_random
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:771,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:771,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:771,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:771,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:772,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:774,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:776,1
    - Dst: std::make_unique<Server_Hello_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:776,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:776,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:777,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:778,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:779,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:780,1
    - Dst: secure_renegotiation_data_for_server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:781,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:782,1
    - Dst: secure_renegotiation_check
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:786,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:786,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:788,1
    - Dst: signature_used
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:792,1
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:792,1
    - Dst: signature_used
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:793,1
    - Dst: sig_algo
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:793,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:795,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:795,1
    - Dst: server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:797,1
    - Dst: std::make_unique<Certificate_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:798,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:798,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:798,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:800,1
    - Dst: is_a_resumption
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:800,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:801,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:803,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:804,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:805,1
    - Dst: server_cert_status
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:806,1
    - Dst: std::make_unique<Certificate_Status>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:807,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:807,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:807,1
    - Dst: private_key_for
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:811,1
    - Dst: server_certs
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:811,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:814,1
    - Dst: kex_method
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:818,1
    - Dst: set_server_rsa_kex_key
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:819,1
    - Dst: server_kex
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:821,1
    - Dst: std::make_unique<Server_Key_Exchange>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:821,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:822,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:822,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:822,1
    - Dst: std::shared_ptr::get
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:822,1
    - Dst: trusted_certificate_authorities
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:825,1
    - Dst: all_subjects
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:830,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:831,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:831,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:831,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:831,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:836,1
    - Dst: cert_req
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:837,1
    - Dst: std::make_unique<Certificate_Request_12>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:837,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:838,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:838,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:838,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:845,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:847,1
    - Dst: server_hello_done
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:850,1
    - Dst: std::make_unique<Server_Hello_Done>
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:851,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:851,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp:851,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 1
    argNames:
    - ' pending_state'
    argTypes:
    - Server_Handshake_State
    constantsTouched: []
    func_position:
      end: 852
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 852
    functionName: Botan::TLS::Server_Impl_12::session_create
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_server_impl_12.cpp
    functionUses: 1
    functionsReached:
    - private_key_for
    - server_cert_status
    - all_subjects
    - server_hello_done
    - handshake_io
    - sig_algo
    - auto::begin
    - std::string::empty
    - BOTAN_ASSERT
    - std::make_unique<Certificate_Request_12>
    - server_certs
    - kex_method
    - BOTAN_ASSERT_NOMSG
    - server_kex
    - std::make_unique<Certificate_12>
    - callbacks
    - make_hello_random
    - send_warning_alert
    - std::vector::end
    - auto::end
    - std::shared_ptr::get
    - client_hello
    - Internal_Error
    - ciphersuite
    - session_manager
    - hash
    - std::make_unique<Server_Hello_Done>
    - server_hello
    - empty
    - rng
    - secure_renegotiation_data_for_server_hello
    - std::make_unique<Server_Hello_12>
    - signature_used
    - std::map::empty
    - is_a_resumption
    - set_expected_next
    - std::make_unique<Server_Key_Exchange>
    - cert_req
    - Session_ID
    - version
    - get_server_certs
    - std::vector::insert
    - policy
    - secure_renegotiation_check
    - trusted_certificate_authorities
    - auto::empty
    - set_server_rsa_kex_key
    - std::make_unique<Certificate_Status>
    linkageType: ''
    returnType: void
    signature: void Server_Impl_12::session_create(Server_Handshake_State& pending_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_hash.cpp:23,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_hash.cpp:24,1
    - Dst: auto::final
      Src: /src/botan/src/lib/tls/tls12/tls_handshake_hash.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mac_algo
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 26
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 26
    functionName: Botan::TLS::Handshake_Hash::final
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_handshake_hash.cpp
    functionUses: 0
    functionsReached:
    - auto::final
    - auto::update
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Handshake_Hash::final(std::string_view mac_algo)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:37,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:38,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:39,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:40,1
    - Dst: reserve
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:46,1
    - Dst: reserve
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - ' callbacks'
    - ' session_manager'
    - ' rng'
    - ' policy'
    - is_server
    - is_datagram
    - reserved_io_buffer_size
    argTypes:
    - std::shared_ptr<Callbacks>
    - std::shared_ptr<Session_Manager>
    - std::shared_ptr<RandomNumberGenerator>
    - std::shared_ptr<const Policy>
    - bool
    - bool
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 48
    functionName: Botan::TLS::Channel_Impl_12::Channel_Impl_12
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    - reserve
    linkageType: ''
    returnType: void
    signature: "void Channel_Impl_12::Channel_Impl_12(const std::shared_ptr<Callbacks>&
      callbacks,\n                                 const std::shared_ptr<Session_Manager>&
      session_manager,\n                                 const std::shared_ptr<RandomNumberGenerator>&
      rng,\n                                 const std::shared_ptr<const Policy>&
      policy,\n                                 bool is_server,\n                                 bool
      is_datagram,\n                                 size_t reserved_io_buffer_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:51,1
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:52,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:53,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:54,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: Botan::TLS::Channel_Impl_12::reset_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - clear
    - reset
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::reset_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:60,1
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:61,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:62,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:63,1
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: Botan::TLS::Channel_Impl_12::reset_active_association_state
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - clear
    - reset
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::reset_active_association_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Channel_Impl_12::~Channel_Impl_12()
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::~Channel_Impl_12()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: '& Channel_Impl_12::sequence_numbers() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT
    linkageType: ''
    returnType: Connection_Sequence_Numbers
    signature: Connection_Sequence_Numbers & Channel_Impl_12::sequence_numbers() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:81,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:82,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:83,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - epoch
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: Botan::TLS::Channel_Impl_12::read_cipher_state_epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::to_string
    - Internal_Error
    - find
    linkageType: ''
    returnType: std::shared_ptr<Connection_Cipher_State>
    signature: std::shared_ptr<Connection_Cipher_State> Channel_Impl_12::read_cipher_state_epoch(uint16_t
      epoch) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:89,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:90,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:91,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - epoch
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: Botan::TLS::Channel_Impl_12::write_cipher_state_epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::to_string
    - Internal_Error
    - find
    linkageType: ''
    returnType: std::shared_ptr<Connection_Cipher_State>
    signature: std::shared_ptr<Connection_Cipher_State> Channel_Impl_12::write_cipher_state_epoch(uint16_t
      epoch) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:97,1
    - Dst: get_peer_cert_chain
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:98,1
    - Dst: std::vector<X509_Certificate>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: Botan::TLS::Channel_Impl_12::peer_cert_chain
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - std::vector<X509_Certificate>
    - Botan::TLS::Channel_Impl_12::active_state
    - get_peer_cert_chain
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> Channel_Impl_12::peer_cert_chain() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:104,1
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:104,1
    - Dst: Botan::TLS::Channel_Impl_12::pending_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:104,1
    - Dst: auto*::psk_identity
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: Botan::TLS::Channel_Impl_12::external_psk_identity
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_12::active_state
    - auto*::psk_identity
    - Botan::TLS::Channel_Impl_12::pending_state
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> Channel_Impl_12::external_psk_identity()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pending_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:113,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:114,1
    - Dst: active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:117,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:118,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:120,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:120,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:121,1
    - Dst: Protocol_Version::to_string
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:122,1
    - Dst: Protocol_Version::to_string
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:123,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:128,1
    - Dst: std::make_unique<Datagram_Sequence_Numbers>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:129,1
    - Dst: std::make_unique<Stream_Sequence_Numbers>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:131,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:138,1
    - Dst: std::make_unique<Datagram_Handshake_IO>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:140,1
    - Dst: std::bind
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:140,1
    - Dst: sequence_numbers
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:141,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:142,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:142,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:143,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:144,1
    - Dst: std::make_unique<Stream_Handshake_IO>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:146,1
    - Dst: std::bind
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:146,1
    - Dst: new_handshake_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:149,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:149,1
    - Dst: active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:151,1
    - Dst: set_version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:152,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:152,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - version
    argTypes:
    - Protocol_Version
    constantsTouched: []
    func_position:
      end: 156
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 156
    functionName: '& Channel_Impl_12::create_handshake_state(Protocol_Version version)'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - std::make_unique<Datagram_Handshake_IO>
    - sequence_numbers
    - std::bind
    - Protocol_Version::is_datagram_protocol
    - auto::version
    - pending_state
    - set_version
    - active_state
    - std::make_unique<Stream_Sequence_Numbers>
    - new_handshake_state
    - TLS_Exception
    - std::move
    - policy
    - Protocol_Version::to_string
    - std::make_unique<Stream_Handshake_IO>
    - std::make_unique<Datagram_Sequence_Numbers>
    - Internal_Error
    linkageType: ''
    returnType: Handshake_State
    signature: Handshake_State & Channel_Impl_12::create_handshake_state(Protocol_Version
      version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: Botan::TLS::Channel_Impl_12::timeout_check
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - handshake_io
    linkageType: ''
    returnType: bool
    signature: bool Channel_Impl_12::timeout_check()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::pending_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:168,1
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:172,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:174,1
    - Dst: initiate_handshake
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:177,1
    - Dst: create_handshake_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:177,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:177,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - force_full_renegotiation
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 181
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 181
    functionName: Botan::TLS::Channel_Impl_12::renegotiate
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_12::pending_state
    - initiate_handshake
    - Invalid_State
    - create_handshake_state
    - auto::version
    - policy
    - Botan::TLS::Channel_Impl_12::active_state
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::renegotiate(bool force_full_renegotiation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: Botan::TLS::Channel_Impl_12::update_traffic_keys
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::update_traffic_keys(bool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::pending_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:188,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:190,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:190,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:192,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:193,1
    - Dst: sequence_numbers
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:196,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:200,1
    - Dst: contains
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:200,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:204,1
    - Dst: auto::ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:207,1
    - Dst: auto::session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:208,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:209,1
    - Dst: Connection_Cipher_State::Connection_Cipher_State
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - side
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 212
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 212
    functionName: Botan::TLS::Channel_Impl_12::change_cipher_spec_reader
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_12::pending_state
    - sequence_numbers
    - contains
    - auto::version
    - auto::session_keys
    - auto::ciphersuite
    - auto::server_hello
    - Connection_Cipher_State::Connection_Cipher_State
    - BOTAN_ASSERT
    - Internal_Error
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::change_cipher_spec_reader(Connection_Side side)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::pending_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:215,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:217,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:217,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:219,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:220,1
    - Dst: sequence_numbers
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:223,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:227,1
    - Dst: contains
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:227,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:230,1
    - Dst: auto::ciphersuite
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:233,1
    - Dst: auto::session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:234,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:235,1
    - Dst: Connection_Cipher_State::Connection_Cipher_State
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - side
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 238
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 238
    functionName: Botan::TLS::Channel_Impl_12::change_cipher_spec_writer
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_12::pending_state
    - sequence_numbers
    - contains
    - auto::version
    - auto::session_keys
    - auto::ciphersuite
    - auto::server_hello
    - Connection_Cipher_State::Connection_Cipher_State
    - BOTAN_ASSERT
    - Internal_Error
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::change_cipher_spec_writer(Connection_Side side)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: Botan::TLS::Channel_Impl_12::is_handshake_complete
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_12::active_state
    linkageType: ''
    returnType: bool
    signature: bool Channel_Impl_12::is_handshake_complete() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::is_closed
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:245,1
    - Dst: Botan::TLS::Channel_Impl_12::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: Botan::TLS::Channel_Impl_12::is_active
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_12::is_closed
    - Botan::TLS::Channel_Impl_12::is_handshake_complete
    linkageType: ''
    returnType: bool
    signature: bool Channel_Impl_12::is_active() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: Botan::TLS::Channel_Impl_12::is_closed
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Channel_Impl_12::is_closed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:253,1
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:254,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:256,1
    - Dst: map_remove_if
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:262,1
    - Dst: map_remove_if
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:263,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 267
    functionName: Botan::TLS::Channel_Impl_12::activate_session
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - version
    - callbacks
    - map_remove_if
    - std::swap
    - reset
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::activate_session()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:272,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:273,1
    - Dst: Botan::TLS::Channel_Impl_12::read_cipher_state_epoch
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:279,1
    - Dst: read_record
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:281,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:287,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:293,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:295,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:300,1
    - Dst: Record_Header::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:307,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:311,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:312,1
    - Dst: BOTAN_ASSERT_IMPLICATION
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:316,1
    - Dst: Record_Header::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:320,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:320,1
    - Dst: static_cast<Handshake_Type>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:321,1
    - Dst: Record_Header::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:325,1
    - Dst: Record_Header::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:328,1
    - Dst: Record_Header::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:328,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:329,1
    - Dst: Botan::TLS::Channel_Impl_12::pending_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:331,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:332,1
    - Dst: Record_Header::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:333,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:333,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:334,1
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:336,1
    - Dst: Record_Header::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:337,1
    - Dst: auto::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:337,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:338,1
    - Dst: Record_Header::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:343,1
    - Dst: Record_Header::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:343,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:345,1
    - Dst: Botan::TLS::Channel_Impl_12::process_handshake_ccs
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:347,1
    - Dst: Record_Header::sequence
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:347,1
    - Dst: Record_Header::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:347,1
    - Dst: Record_Header::version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:347,1
    - Dst: Record_Header::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:348,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:350,1
    - Dst: Botan::TLS::Channel_Impl_12::pending_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:352,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:353,1
    - Dst: Botan::TLS::Channel_Impl_12::process_application_data
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:355,1
    - Dst: Record_Header::sequence
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:355,1
    - Dst: Record_Header::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:356,1
    - Dst: Botan::TLS::Channel_Impl_12::process_alert
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:357,1
    - Dst: Record_Header::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:358,1
    - Dst: Unexpected_Message
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:359,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:359,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:359,1
    - Dst: Record_Header::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:359,1
    - Dst: send_fatal_alert
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:366,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:366,1
    - Dst: send_fatal_alert
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:369,1
    - Dst: send_fatal_alert
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:372,1
    - Dst: send_fatal_alert
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:375,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 76
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 378
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 378
    functionName: Botan::TLS::Channel_Impl_12::from_peer
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - type
    - auto::version
    - Botan::TLS::Channel_Impl_12::process_application_data
    - std::to_string
    - static_cast<size_t>
    - get
    - BOTAN_ASSERT
    - Record_Header::version
    - Record_Header::type
    - Botan::TLS::Channel_Impl_12::process_handshake_ccs
    - Botan::TLS::Channel_Impl_12::pending_state
    - read_record
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - Record_Header::sequence
    - BOTAN_ASSERT_IMPLICATION
    - size
    - empty
    - send_fatal_alert
    - TLS_Exception
    - Botan::TLS::Channel_Impl_12::read_cipher_state_epoch
    - Botan::TLS::Channel_Impl_12::process_alert
    - static_cast<Handshake_Type>
    - auto::server_hello
    - Unexpected_Message
    - Botan::TLS::Channel_Impl_12::active_state
    linkageType: ''
    returnType: size_t
    signature: size_t Channel_Impl_12::from_peer(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:387,1
    - Dst: sequence_numbers
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:393,1
    - Dst: sequence_numbers
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:397,1
    - Dst: create_handshake_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:398,1
    - Dst: sequence_numbers
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:399,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:400,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:401,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:401,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:401,1
    - Dst: create_handshake_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:404,1
    - Dst: create_handshake_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:407,1
    - Dst: handshake_io
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:413,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:413,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:413,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:415,1
    - Dst: auto::get_next_handshake_msg
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:416,1
    - Dst: process_handshake_msg
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:422,1
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:422,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 5
    argNames:
    - ' record'
    - record_sequence
    - record_type
    - record_version
    - epoch0_restart
    argTypes:
    - secure_vector<uint8_t>
    - uint64_t
    - Record_Type
    - Protocol_Version
    - bool
    constantsTouched: []
    func_position:
      end: 429
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 429
    functionName: Botan::TLS::Channel_Impl_12::process_handshake_ccs
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 1
    functionsReached:
    - sequence_numbers
    - Protocol_Version::is_datagram_protocol
    - create_handshake_state
    - data
    - auto::get_next_handshake_msg
    - handshake_io
    - size
    - get
    - BOTAN_ASSERT
    - process_handshake_msg
    - Botan::TLS::Channel_Impl_12::active_state
    linkageType: ''
    returnType: void
    signature: "void Channel_Impl_12::process_handshake_ccs(const secure_vector<uint8_t>&
      record,\n                                            uint64_t record_sequence,\n
      \                                           Record_Type record_type,\n                                            Protocol_Version
      record_version,\n                                            bool epoch0_restart)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:432,1
    - Dst: Unexpected_Message
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:433,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - seq_no
    - ' record'
    argTypes:
    - uint64_t
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 437
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 437
    functionName: Botan::TLS::Channel_Impl_12::process_application_data
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Channel_Impl_12::active_state
    - callbacks
    - Unexpected_Message
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::process_application_data(uint64_t seq_no, const
      secure_vector<uint8_t>& record)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Alert::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:442,1
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:443,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:446,1
    - Dst: Alert::is_fatal
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:448,1
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:449,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:450,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:451,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:452,1
    - Dst: Alert::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:457,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:460,1
    - Dst: send_warning_alert
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:461,1
    - Dst: Alert::type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:464,1
    - Dst: Alert::is_fatal
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:464,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ' record'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 467
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 467
    functionName: Botan::TLS::Channel_Impl_12::process_alert
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 1
    functionsReached:
    - session_manager
    - Alert::is_fatal
    - Alert::type
    - callbacks
    - auto::server_hello
    - empty
    - reset
    - send_warning_alert
    - Botan::TLS::Channel_Impl_12::active_state
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::process_alert(const secure_vector<uint8_t>& record)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:474,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:477,1
    - Dst: version
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:477,1
    - Dst: Botan::TLS::write_unencrypted_record
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:482,1
    - Dst: Botan::TLS::write_record
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:484,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:484,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - cipher_state
    - epoch
    - record_type
    - input
    - length
    argTypes:
    - Connection_Cipher_State*
    - uint16_t
    - Record_Type
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 488
      start: 469
    functionDepth: 3
    functionLinenumber: 469
    functionLinenumberEnd: 488
    functionName: Botan::TLS::Channel_Impl_12::write_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::write_record
    - version
    - callbacks
    - rng
    - BOTAN_ASSERT
    - Botan::TLS::write_unencrypted_record
    linkageType: ''
    returnType: void
    signature: "void Channel_Impl_12::write_record(Connection_Cipher_State* cipher_state,\n
      \                                  uint16_t epoch,\n                                   Record_Type
      record_type,\n                                   const uint8_t input[],\n                                   size_t
      length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::write_cipher_state_epoch
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:495,1
    - Dst: Botan::TLS::Channel_Impl_12::write_record
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:499,1
    - Dst: auto::get
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - epoch
    - type
    - input
    - length
    argTypes:
    - uint16_t
    - Record_Type
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 504
      start: 490
    functionDepth: 4
    functionLinenumber: 490
    functionLinenumberEnd: 504
    functionName: Botan::TLS::Channel_Impl_12::send_record_array
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_12::write_cipher_state_epoch
    - Botan::TLS::Channel_Impl_12::write_record
    - auto::get
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::send_record_array(uint16_t epoch, Record_Type
      type, const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::send_record_array
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:507,1
    - Dst: sequence_numbers
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:507,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:507,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - record_type
    - ' record'
    argTypes:
    - Record_Type
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 508
      start: 506
    functionDepth: 5
    functionLinenumber: 506
    functionLinenumberEnd: 508
    functionName: Botan::TLS::Channel_Impl_12::send_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - data
    - Botan::TLS::Channel_Impl_12::send_record_array
    - sequence_numbers
    - size
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::send_record(Record_Type record_type, const std::vector<uint8_t>&
      record)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::send_record_array
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:513,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:513,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - epoch
    - record_type
    - ' record'
    argTypes:
    - uint16_t
    - Record_Type
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 5
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: Botan::TLS::Channel_Impl_12::send_record_under_epoch
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - data
    - Botan::TLS::Channel_Impl_12::send_record_array
    - size
    linkageType: ''
    returnType: void
    signature: "void Channel_Impl_12::send_record_under_epoch(uint16_t epoch,\n                                              Record_Type
      record_type,\n                                              const std::vector<uint8_t>&
      record)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::is_active
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:517,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:518,1
    - Dst: Botan::TLS::Channel_Impl_12::send_record_array
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:521,1
    - Dst: sequence_numbers
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:521,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:521,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 522
      start: 516
    functionDepth: 5
    functionLinenumber: 516
    functionLinenumberEnd: 522
    functionName: Botan::TLS::Channel_Impl_12::to_peer
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_12::send_record_array
    - sequence_numbers
    - Invalid_State
    - Botan::TLS::Channel_Impl_12::is_active
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::to_peer(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_valid
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:526,1
    - Dst: Botan::TLS::Channel_Impl_12::send_record
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:528,1
    - Dst: serialize
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:528,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:533,1
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:534,1
    - Dst: is_fatal
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:537,1
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:538,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:539,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:540,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:541,1
    - Dst: Session_ID
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:541,1
    - Dst: Botan::TLS::Channel_Impl_12::reset_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:544,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:547,1
    - Dst: is_fatal
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:547,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - ' alert'
    argTypes:
    - Alert
    constantsTouched: []
    func_position:
      end: 550
      start: 524
    functionDepth: 6
    functionLinenumber: 524
    functionLinenumberEnd: 550
    functionName: Botan::TLS::Channel_Impl_12::send_alert
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - type
    - session_manager
    - Session_ID
    - Botan::TLS::Channel_Impl_12::send_record
    - is_valid
    - is_fatal
    - auto::server_hello
    - empty
    - reset
    - serialize
    - Botan::TLS::Channel_Impl_12::active_state
    - Botan::TLS::Channel_Impl_12::reset_state
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::send_alert(const Alert& alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:555,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:559,1
    - Dst: Client_Hello_12*::renegotiation_info
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:564,1
    - Dst: Botan::TLS::Channel_Impl_12::secure_renegotiation_data_for_client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:566,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:567,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - client_hello
    argTypes:
    - Client_Hello_12*
    constantsTouched: []
    func_position:
      end: 570
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 570
    functionName: Botan::TLS::Channel_Impl_12::secure_renegotiation_check
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_12::secure_renegotiation_data_for_client_hello
    - Botan::TLS::Channel_Impl_12::active_state
    - TLS_Exception
    - Client_Hello_12*::renegotiation_info
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::secure_renegotiation_check(const Client_Hello_12*
      client_hello)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:575,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:579,1
    - Dst: Server_Hello_12*::renegotiation_info
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:584,1
    - Dst: Botan::TLS::Channel_Impl_12::secure_renegotiation_data_for_server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:586,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:587,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - server_hello
    argTypes:
    - Server_Hello_12*
    constantsTouched: []
    func_position:
      end: 590
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 590
    functionName: Botan::TLS::Channel_Impl_12::secure_renegotiation_check
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - Server_Hello_12*::renegotiation_info
    - Botan::TLS::Channel_Impl_12::active_state
    - Botan::TLS::Channel_Impl_12::secure_renegotiation_data_for_server_hello
    - TLS_Exception
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_12::secure_renegotiation_check(const Server_Hello_12*
      server_hello)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:593,1
    - Dst: auto::client_finished
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:594,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 597
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 597
    functionName: Botan::TLS::Channel_Impl_12::secure_renegotiation_data_for_client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Channel_Impl_12::active_state
    - std::vector<uint8_t>
    - auto::client_finished
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Channel_Impl_12::secure_renegotiation_data_for_client_hello()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:600,1
    - Dst: auto::client_finished
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:601,1
    - Dst: auto::server_finished
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:602,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 607
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 607
    functionName: Botan::TLS::Channel_Impl_12::secure_renegotiation_data_for_server_hello
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Channel_Impl_12::active_state
    - std::vector<uint8_t>
    - auto::server_finished
    - auto::client_finished
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Channel_Impl_12::secure_renegotiation_data_for_server_hello()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:610,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:611,1
    - Dst: Botan::TLS::Channel_Impl_12::pending_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:614,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:615,1
    - Dst: auto::secure_renegotiation
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 621
    functionName: Botan::TLS::Channel_Impl_12::secure_renegotiation_supported
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - auto::server_hello
    - Botan::TLS::Channel_Impl_12::active_state
    - Botan::TLS::Channel_Impl_12::pending_state
    - auto::secure_renegotiation
    linkageType: ''
    returnType: bool
    signature: bool Channel_Impl_12::secure_renegotiation_supported() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_12::active_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:626,1
    - Dst: Botan::TLS::Channel_Impl_12::pending_state
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:627,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:628,1
    - Dst: auto::protocol_specific_prf
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:631,1
    - Dst: auto::session_keys
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:633,1
    - Dst: auto::client_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:636,1
    - Dst: auto::server_hello
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:637,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:639,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:642,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:644,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:644,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:644,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:645,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:645,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:645,1
    - Dst: to_byte_vector
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:646,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:649,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:649,1
    - Dst: to_byte_vector
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:649,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp:651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - label
    - context
    - length
    argTypes:
    - std::string_view
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 653
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 653
    functionName: Botan::TLS::Channel_Impl_12::key_material_export
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_channel_impl_12.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - Botan::TLS::Channel_Impl_12::pending_state
    - Invalid_State
    - get_byte<0>
    - auto::derive_key
    - auto::protocol_specific_prf
    - auto::session_keys
    - auto::client_hello
    - auto::server_hello
    - get_byte<1>
    - std::string_view::empty
    - std::vector::push_back
    - to_byte_vector
    - Invalid_Argument
    - Botan::TLS::Channel_Impl_12::active_state
    - SymmetricKey
    linkageType: ''
    returnType: SymmetricKey
    signature: "SymmetricKey Channel_Impl_12::key_material_export(std::string_view
      label,\n                                                  std::string_view context,\n
      \                                                 size_t length) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:37,1
    - Dst: server_kex
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:42,1
    - Dst: server_kex
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:43,1
    - Dst: TLS_Data_Reader::get_string
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:44,1
    - Dst: psk_identity
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:47,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:47,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:49,1
    - Dst: to_byte_vector
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:49,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:49,1
    - Dst: psk
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:51,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:51,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:51,1
    - Dst: SymmetricKey::length
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:53,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:55,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:56,1
    - Dst: SymmetricKey::bits_of
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:56,1
    - Dst: server_kex
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:57,1
    - Dst: server_kex
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:58,1
    - Dst: TLS_Data_Reader::get_string
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:63,1
    - Dst: psk_identity
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:65,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:65,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:67,1
    - Dst: to_byte_vector
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:67,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:67,1
    - Dst: psk
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:69,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:69,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:69,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:73,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:73,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:74,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:74,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:75,1
    - Dst: TLS_Data_Reader::remaining_bytes
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:77,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:78,1
    - Dst: DL_Group::verify_group
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:83,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:84,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:87,1
    - Dst: Botan::CT::strip_leading_zeros
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:88,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:89,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:90,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:90,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:94,1
    - Dst: static_cast<Group_Params>
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:97,1
    - Dst: TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:97,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:98,1
    - Dst: Group_Params::is_ecdh_named_curve
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:100,1
    - Dst: Group_Params::is_x25519
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:100,1
    - Dst: Group_Params::is_x448
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:100,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:101,1
    - Dst: choose_key_exchange_group
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:105,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:106,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:109,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:111,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:114,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:116,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:117,1
    - Dst: SymmetricKey::bits_of
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:117,1
    - Dst: Group_Params::is_ecdh_named_curve
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:120,1
    - Dst: dynamic_cast<ECDH_PublicKey*>
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:121,1
    - Dst: auto::get
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:121,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:123,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:125,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:126,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:126,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:131,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:131,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:134,1
    - Dst: TLS_Data_Reader::assert_done
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:137,1
    - Dst: Unexpected_Message
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:142,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:146,1
    - Dst: dynamic_cast<const RSA_PublicKey*>
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:149,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:150,1
    - Dst: random_vec
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:152,1
    - Dst: Protocol_Version::major_version
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:153,1
    - Dst: Protocol_Version::minor_version
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:154,1
    - Dst: PK_Encryptor_EME::encrypt
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:158,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:160,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:162,1
    - Dst: Public_Key*::algo_name
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:163,1
    - Dst: hash
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:167,1
    - Dst: send
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:167,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 71
    argCount: 7
    argNames:
    - ' io'
    - ' state'
    - ' policy'
    - ' creds'
    - server_public_key
    - hostname
    - ' rng'
    argTypes:
    - Handshake_IO
    - Handshake_State
    - Policy
    - Credentials_Manager
    - Public_Key*
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 168
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 168
    functionName: Botan::TLS::Client_Key_Exchange::Client_Key_Exchange
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp
    functionUses: 0
    functionsReached:
    - Protocol_Version::minor_version
    - Group_Params::is_ecdh_named_curve
    - Decoding_Error
    - auto::public_value
    - Protocol_Version::major_version
    - TLS_Data_Reader::get_uint16_t
    - dynamic_cast<const RSA_PublicKey*>
    - server_kex
    - SymmetricKey::bits_of
    - callbacks
    - send
    - value
    - Group_Params::is_x448
    - choose_key_exchange_group
    - dynamic_cast<ECDH_PublicKey*>
    - client_hello
    - Internal_Error
    - ciphersuite
    - TLS_Data_Reader::assert_done
    - hash
    - psk
    - Botan::CT::strip_leading_zeros
    - random_vec
    - std::string
    - server_hello
    - TLS_Data_Reader::get_string
    - to_byte_vector
    - Public_Key*::algo_name
    - TLS_Exception
    - std::move
    - SymmetricKey::length
    - Botan::BigInt::from_bytes
    - append_tls_length_value
    - DL_Group::verify_group
    - TLS_Data_Reader::remaining_bytes
    - Group_Params::is_x25519
    - PK_Encryptor_EME::encrypt
    - TLS_Data_Reader::get_range
    - static_cast<Group_Params>
    - psk_identity
    - Unexpected_Message
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void Client_Key_Exchange::Client_Key_Exchange(Handshake_IO& io,\n
      \                                        Handshake_State& state,\n                                         const
      Policy& policy,\n                                         Credentials_Manager&
      creds,\n                                         const Public_Key* server_public_key,\n
      \                                        std::string_view hostname,\n                                         RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:179,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:182,1
    - Dst: server_certs
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:182,1
    - Dst: server_certs
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:182,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:186,1
    - Dst: Private_Key*::algo_name
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:189,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:190,1
    - Dst: Private_Key*::algo_name
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:190,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:194,1
    - Dst: TLS_Data_Reader::assert_done
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:195,1
    - Dst: PK_Decryptor_EME::decrypt_or_random
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:213,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:213,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:214,1
    - Dst: key_exchange_is_psk
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:225,1
    - Dst: TLS_Data_Reader::get_string
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:226,1
    - Dst: psk
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:228,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:228,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:228,1
    - Dst: SymmetricKey::empty
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:230,1
    - Dst: hide_unknown_users
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:231,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:232,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:234,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:234,1
    - Dst: SymmetricKey::length
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:240,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:241,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:242,1
    - Dst: SymmetricKey::bits_of
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:242,1
    - Dst: server_kex
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:244,1
    - Dst: algo_name
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:246,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:247,1
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:248,1
    - Dst: server_kex
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:250,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:251,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:251,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:255,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:255,1
    - Dst: algo_name
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:257,1
    - Dst: Botan::CT::strip_leading_zeros
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:258,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:262,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:263,1
    - Dst: SymmetricKey::bits_of
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:263,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:268,1
    - Dst: what
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:268,1
    - Dst: random_vec
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:279,1
    - Dst: public_value
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:279,1
    - Dst: TLS_Data_Reader::assert_done
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:282,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp:284,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 6
    argNames:
    - ' contents'
    - ' state'
    - server_rsa_kex_key
    - ' creds'
    - ' policy'
    - ' rng'
    argTypes:
    - std::vector<uint8_t>
    - Handshake_State
    - Private_Key*
    - Credentials_Manager
    - Policy
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 287
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 287
    functionName: Botan::TLS::Client_Key_Exchange::Client_Key_Exchange
    functionSourceFile: /src/botan/src/lib/tls/tls12/msg_client_kex.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - SymmetricKey::empty
    - BOTAN_ASSERT
    - server_certs
    - auto::value
    - Private_Key*::algo_name
    - server_kex
    - what
    - public_value
    - SymmetricKey::bits_of
    - callbacks
    - hide_unknown_users
    - value
    - client_hello
    - SymmetricKey
    - Internal_Error
    - ciphersuite
    - std::vector::data
    - TLS_Data_Reader::assert_done
    - algo_name
    - psk
    - Botan::CT::strip_leading_zeros
    - BOTAN_STATE_CHECK
    - random_vec
    - TLS_Data_Reader::get_string
    - TLS_Exception
    - SymmetricKey::length
    - append_tls_length_value
    - PK_Decryptor_EME::decrypt_or_random
    - TLS_Data_Reader::get_range
    - key_exchange_is_psk
    linkageType: ''
    returnType: void
    signature: "void Client_Key_Exchange::Client_Key_Exchange(const std::vector<uint8_t>&
      contents,\n                                         const Handshake_State& state,\n
      \                                        const Private_Key* server_rsa_kex_key,\n
      \                                        Credentials_Manager& creds,\n                                         const
      Policy& policy,\n                                         RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 62
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Mode
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API TLS_NULL_HMAC_AEAD_Mode
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h:69,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h:70,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 80
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Mode
    - std::move
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API TLS_NULL_HMAC_AEAD_Encryption
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h:87,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h:88,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h:88,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 95
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Mode
    - std::move
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption
    - tag_size
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API TLS_NULL_HMAC_AEAD_Decryption
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MessageAuthenticationCode>::name
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:23,1
    - Dst: std::unique_ptr<MessageAuthenticationCode>::output_length
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:23,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - mac
    - mac_keylen
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    - size_t
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::TLS_NULL_HMAC_AEAD_Mode
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::unique_ptr<MessageAuthenticationCode>::name
    - std::unique_ptr<MessageAuthenticationCode>::output_length
    linkageType: ''
    returnType: void
    signature: void TLS_NULL_HMAC_AEAD_Mode::TLS_NULL_HMAC_AEAD_Mode(std::unique_ptr<MessageAuthenticationCode>
      mac, size_t mac_keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::clear
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:26,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::clear
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 1
    functionsReached:
    - mac
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::clear
    linkageType: ''
    returnType: void
    signature: void TLS_NULL_HMAC_AEAD_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:31,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:31,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::reset
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - mac
    - empty
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: void
    signature: void TLS_NULL_HMAC_AEAD_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::name
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string TLS_NULL_HMAC_AEAD_Mode::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_NULL_HMAC_AEAD_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_NULL_HMAC_AEAD_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nl
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TLS_NULL_HMAC_AEAD_Mode::valid_nonce_length(size_t nl) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification TLS_NULL_HMAC_AEAD_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp: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: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - mac
    linkageType: ''
    returnType: bool
    signature: bool TLS_NULL_HMAC_AEAD_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::mac_keylen
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_NULL_HMAC_AEAD_Mode::mac_keylen() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '& TLS_NULL_HMAC_AEAD_Mode::mac() const'
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: MessageAuthenticationCode
    signature: MessageAuthenticationCode & TLS_NULL_HMAC_AEAD_Mode::mac() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:69,1
    - Dst: Invalid_Key_Length
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:70,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::name
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:70,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:70,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:72,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:72,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:72,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::reset
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::name
    - std::span<const uint8_t>::end
    - assign
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::reset
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::begin
    - Invalid_Key_Length
    linkageType: ''
    returnType: void
    signature: void TLS_NULL_HMAC_AEAD_Mode::key_schedule(std::span<const uint8_t>
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:77,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::valid_nonce_length
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:79,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:80,1
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::name
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - Invalid_IV_Length
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::name
    - BOTAN_UNUSED
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::valid_nonce_length
    linkageType: ''
    returnType: void
    signature: void TLS_NULL_HMAC_AEAD_Mode::start_msg(const uint8_t nonce[], size_t
      nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::process_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - mac
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_NULL_HMAC_AEAD_Mode::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:90,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:91,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:91,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - idx
    - ad
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::set_associated_data_n
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - mac
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void TLS_NULL_HMAC_AEAD_Mode::set_associated_data_n(size_t idx, std::span<const
      uint8_t> ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::set_associated_data_n
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - idx
    - ad
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption::set_associated_data_n
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_NULL_HMAC_AEAD_Mode::set_associated_data_n
    linkageType: ''
    returnType: void
    signature: void TLS_NULL_HMAC_AEAD_Encryption::set_associated_data_n(size_t idx,
      std::span<const uint8_t> ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption::output_length
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_NULL_HMAC_AEAD_Encryption::output_length(size_t input_length)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: process
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:105,1
    - Dst: subspan
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:105,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:106,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:106,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:106,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:107,1
    - Dst: last
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:107,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - process
    - size
    - resize
    - subspan
    - tag_size
    - mac
    - last
    linkageType: ''
    returnType: void
    signature: void TLS_NULL_HMAC_AEAD_Encryption::finish_msg(secure_vector<uint8_t>&
      buffer, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::output_length
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_NULL_HMAC_AEAD_Decryption::output_length(size_t input_length)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:115,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:115,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:115,1
    - Dst: subspan
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:118,1
    - Dst: auto::first
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:119,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:119,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:119,1
    - Dst: auto::subspan
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:120,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:120,1
    - Dst: process
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:122,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:123,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:124,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:127,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:127,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 128
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 128
    functionName: Botan::TLS::TLS_NULL_HMAC_AEAD_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_null/tls_null.cpp
    functionUses: 0
    functionsReached:
    - process
    - size
    - TLS_Exception
    - subspan
    - auto::subspan
    - mac
    - tag_size
    - auto::size
    - resize
    - BOTAN_ARG_CHECK
    - auto::first
    linkageType: ''
    returnType: void
    signature: void TLS_NULL_HMAC_AEAD_Decryption::finish_msg(secure_vector<uint8_t>&
      buffer, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<BlockCipher>::name
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:33,1
    - Dst: std::unique_ptr<MessageAuthenticationCode>::name
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:34,1
    - Dst: std::unique_ptr<MessageAuthenticationCode>::output_length
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:38,1
    - Dst: std::unique_ptr<BlockCipher>::block_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:39,1
    - Dst: Protocol_Version::is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:43,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:45,1
    - Dst: std::make_unique<Null_Padding>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:47,1
    - Dst: std::make_unique<CBC_Encryption>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:49,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:49,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:49,1
    - Dst: std::make_unique<CBC_Decryption>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:51,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:51,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 7
    argNames:
    - dir
    - cipher
    - mac
    - cipher_keylen
    - mac_keylen
    - version
    - use_encrypt_then_mac
    argTypes:
    - Cipher_Dir
    - std::unique_ptr<BlockCipher>
    - std::unique_ptr<MessageAuthenticationCode>
    - size_t
    - size_t
    - Protocol_Version
    - bool
    constantsTouched: []
    func_position:
      end: 53
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 53
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::TLS_CBC_HMAC_AEAD_Mode
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - Protocol_Version::is_datagram_protocol
    - std::unique_ptr<BlockCipher>::block_size
    - std::make_unique<CBC_Encryption>
    - std::unique_ptr<BlockCipher>::name
    - std::unique_ptr<MessageAuthenticationCode>::name
    - std::move
    - std::unique_ptr<MessageAuthenticationCode>::output_length
    - std::make_unique<Null_Padding>
    - std::make_unique<CBC_Decryption>
    linkageType: ''
    returnType: void
    signature: "void TLS_CBC_HMAC_AEAD_Mode::TLS_CBC_HMAC_AEAD_Mode(Cipher_Dir dir,\n
      \                                              std::unique_ptr<BlockCipher>
      cipher,\n                                               std::unique_ptr<MessageAuthenticationCode>
      mac,\n                                               size_t cipher_keylen,\n
      \                                              size_t mac_keylen,\n                                               Protocol_Version
      version,\n                                               bool use_encrypt_then_mac)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbc
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:56,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:57,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::reset
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::clear
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - mac
    - cbc
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::reset
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_HMAC_AEAD_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbc_state
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:62,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::clear
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:63,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::clear
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::reset
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 1
    functionsReached:
    - cbc_state
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::clear
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_HMAC_AEAD_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::name
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string TLS_CBC_HMAC_AEAD_Mode::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_CBC_HMAC_AEAD_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_CBC_HMAC_AEAD_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:80,1
    - Dst: block_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:81,1
    - Dst: iv_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - nl
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - iv_size
    - empty
    - block_size
    linkageType: ''
    returnType: bool
    signature: bool TLS_CBC_HMAC_AEAD_Mode::valid_nonce_length(size_t nl) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification TLS_CBC_HMAC_AEAD_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:91,1
    - Dst: cbc
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - mac
    - cbc
    linkageType: ''
    returnType: bool
    signature: bool TLS_CBC_HMAC_AEAD_Mode::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:97,1
    - Dst: Invalid_Key_Length
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:98,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::name
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:98,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:98,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:101,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:101,1
    - Dst: cbc
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:102,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::name
    - std::span<const uint8_t>::subspan
    - cbc
    - mac
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::first
    - Invalid_Key_Length
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_HMAC_AEAD_Mode::key_schedule(std::span<const uint8_t>
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::valid_nonce_length
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:106,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:107,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::name
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:107,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::clear
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:110,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - assign
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::name
    - Invalid_IV_Length
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::clear
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::valid_nonce_length
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_HMAC_AEAD_Mode::start_msg(const uint8_t nonce[], size_t
      nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:118,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::process_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - end
    - insert
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_CBC_HMAC_AEAD_Mode::process_msg(uint8_t buf[], size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:124,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:124,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:125,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - len
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::assoc_data_with_len
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - get_byte<0>
    - get_byte<1>
    - std::vector::size
    - BOTAN_ASSERT
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> TLS_CBC_HMAC_AEAD_Mode::assoc_data_with_len(uint16_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:131,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:132,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:133,1
    - Dst: assign
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:135,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:135,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - idx
    - ad
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::set_associated_data_n
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - assign
    - std::span<const uint8_t>::size
    - Invalid_Argument
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_HMAC_AEAD_Mode::set_associated_data_n(size_t idx, std::span<const
      uint8_t> ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::set_associated_data_n
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:139,1
    - Dst: use_encrypt_then_mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:141,1
    - Dst: assoc_data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:146,1
    - Dst: get_byte<0, uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:146,1
    - Dst: assoc_data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:147,1
    - Dst: get_byte<1, uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - idx
    - ad
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Encryption::set_associated_data_n
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - use_encrypt_then_mac
    - get_byte<0, uint16_t>
    - get_byte<1, uint16_t>
    - assoc_data
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Mode::set_associated_data_n
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_HMAC_AEAD_Encryption::set_associated_data_n(size_t idx,
      std::span<const uint8_t> ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:155,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:157,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:157,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:161,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:162,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:163,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:163,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:163,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:167,1
    - Dst: CT::Mask<uint8_t>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:168,1
    - Dst: Botan::CT::Mask::is_gte
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:168,1
    - Dst: auto::select
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:169,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:172,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:173,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:174,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:174,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:174,1
    - Dst: cbc
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:176,1
    - Dst: cbc_state
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:176,1
    - Dst: cbc
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:177,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:177,1
    - Dst: cbc_state
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:179,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:179,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:179,1
    - Dst: block_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:179,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:179,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - ' buffer'
    - offset
    - padding_length
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 180
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 180
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Encryption::cbc_encrypt_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - CT::Mask<uint8_t>
    - auto::select
    - cbc_state
    - BOTAN_ASSERT_NOMSG
    - block_size
    - data
    - size
    - Botan::CT::Mask::is_gte
    - cbc
    - Botan::CT::poison
    - resize
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: "void TLS_CBC_HMAC_AEAD_Encryption::cbc_encrypt_record(secure_vector<uint8_t>&
      buffer,\n                                                      size_t offset,\n
      \                                                     size_t padding_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:183,1
    - Dst: use_encrypt_then_mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:183,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:183,1
    - Dst: block_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:183,1
    - Dst: use_encrypt_then_mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:184,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Encryption::output_length
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - use_encrypt_then_mac
    - round_up
    - block_size
    - tag_size
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_CBC_HMAC_AEAD_Encryption::output_length(size_t input_length)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:188,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:194,1
    - Dst: block_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:194,1
    - Dst: reserve
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:199,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:199,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:200,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:202,1
    - Dst: msg
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:202,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:205,1
    - Dst: assoc_data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:205,1
    - Dst: use_encrypt_then_mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:207,1
    - Dst: iv_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:208,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:209,1
    - Dst: cbc_state
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:209,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Encryption::cbc_encrypt_record
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:212,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:213,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:214,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:214,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:214,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:215,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:215,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:215,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:218,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:220,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:220,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:220,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:221,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:221,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:221,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Encryption::cbc_encrypt_record
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 224
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 224
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Encryption::finish_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - iv_size
    - use_encrypt_then_mac
    - cbc_state
    - reserve
    - block_size
    - BOTAN_DEBUG_ASSERT
    - size
    - copy_mem
    - resize
    - tag_size
    - mac
    - update
    - assoc_data
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Encryption::cbc_encrypt_record
    - msg
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_HMAC_AEAD_Encryption::finish_msg(secure_vector<uint8_t>&
      buffer, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:253,1
    - Dst: Botan::CT::Mask::is_lte
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:257,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:258,1
    - Dst: auto::if_not_set_return
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - record
    - record_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 263
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 263
    functionName: Botan::TLS::check_tls_cbc_padding
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - Botan::bigint_ct_is_lt
    - Botan::BigInt::is_equal
    - Botan::CT::Mask::is_lte
    - auto::if_not_set_return
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t check_tls_cbc_padding(const uint8_t record[], size_t record_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:266,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:267,1
    - Dst: cbc
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:270,1
    - Dst: cbc_state
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:270,1
    - Dst: cbc_state
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:271,1
    - Dst: block_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:271,1
    - Dst: cbc
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - record_contents
    - record_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 274
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 274
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::cbc_decrypt_record
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - cbc_state
    - cbc
    - block_size
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_HMAC_AEAD_Decryption::cbc_decrypt_record(uint8_t record_contents[],
      size_t record_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::output_length
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TLS_CBC_HMAC_AEAD_Decryption::output_length(size_t /*input_length*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:328,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - plen
    - padlen
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 356
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 356
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::perform_additional_compressions
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - mac
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_HMAC_AEAD_Decryption::perform_additional_compressions(size_t
      plen, size_t padlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:359,1
    - Dst: resize
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:360,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:366,1
    - Dst: use_encrypt_then_mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:366,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:366,1
    - Dst: block_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:366,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:367,1
    - Dst: use_encrypt_then_mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:370,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:374,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:376,1
    - Dst: assoc_data_with_len
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:376,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:376,1
    - Dst: iv_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:377,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:378,1
    - Dst: cbc_state
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:378,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:380,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:383,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:383,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:387,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:387,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:387,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:389,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:390,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::cbc_decrypt_record
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:393,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:400,1
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:406,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:406,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::cbc_decrypt_record
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:408,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:410,1
    - Dst: Botan::CT::Mask::is_lte
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:425,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:425,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:425,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:425,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:427,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:429,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:435,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:440,1
    - Dst: assoc_data_with_len
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:440,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:441,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:444,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:444,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:448,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:448,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:448,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:450,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:450,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:452,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:454,1
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:455,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:455,1
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::perform_additional_compressions
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:457,1
    - Dst: is_datagram_protocol
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:464,1
    - Dst: mac
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:465,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp:467,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 470
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 470
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::finish_msg
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - auto::as_bool
    - auto::if_set_return
    - Botan::CT::is_equal
    - Botan::CT::unpoison
    - insert
    - assoc_data_with_len
    - BOTAN_ASSERT_NOMSG
    - block_size
    - cbc_state
    - Botan::CT::poison
    - tag_size
    - update
    - std::vector::data
    - iv_size
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::perform_additional_compressions
    - Botan::sha512_msg_expand
    - end
    - resize
    - TLS_Exception
    - Botan::CT::Mask::is_lte
    - use_encrypt_then_mac
    - is_datagram_protocol
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption::cbc_decrypt_record
    - mac
    linkageType: ''
    returnType: void
    signature: void TLS_CBC_HMAC_AEAD_Decryption::finish_msg(secure_vector<uint8_t>&
      buffer, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 102
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Mode
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Mode
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API TLS_CBC_HMAC_AEAD_Mode
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Encryption
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h:111,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h:118,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 134
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Encryption
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Encryption
    - std::move
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API TLS_CBC_HMAC_AEAD_Encryption
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h:143,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h:150,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h:151,1
    - Dst: tag_size
      Src: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 167
    functionName: Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption
    functionSourceFile: /src/botan/src/lib/tls/tls12/tls_cbc/tls_cbc.h
    functionUses: 1
    functionsReached:
    - std::move
    - Botan::TLS::TLS_CBC_HMAC_AEAD_Decryption
    - tag_size
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API TLS_CBC_HMAC_AEAD_Decryption
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session_Manager_SQLite
      Src: /src/botan/src/lib/tls/sessions_sqlite3/tls_session_manager_sqlite.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: Botan::TLS::Session_Manager_SQL
    functionSourceFile: /src/botan/src/lib/tls/sessions_sqlite3/tls_session_manager_sqlite.h
    functionUses: 0
    functionsReached:
    - Session_Manager_SQLite
    linkageType: ''
    returnType: Session_Manager_SQLite
    signature: Session_Manager_SQLite Session_Manager_SQL
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Sqlite3_Database>
      Src: /src/botan/src/lib/tls/sessions_sqlite3/tls_session_manager_sqlite.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - passphrase
    - ' rng'
    - db_filename
    - max_sessions
    argTypes:
    - std::string_view
    - std::shared_ptr<RandomNumberGenerator>
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: Botan::TLS::Session_Manager_SQLite::Session_Manager_SQLite
    functionSourceFile: /src/botan/src/lib/tls/sessions_sqlite3/tls_session_manager_sqlite.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Sqlite3_Database>
    linkageType: ''
    returnType: void
    signature: "void Session_Manager_SQLite::Session_Manager_SQLite(std::string_view
      passphrase,\n                                               const std::shared_ptr<RandomNumberGenerator>&
      rng,\n                                               std::string_view db_filename,\n
      \                                              size_t max_sessions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:23,1
    - Dst: Botan::TLS::Session_Manager_SQL::create_or_migrate_and_open
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - db
    - passphrase
    - ' rng'
    - max_sessions
    argTypes:
    - std::shared_ptr<SQL_Database>
    - std::string_view
    - std::shared_ptr<RandomNumberGenerator>
    - size_t
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: Botan::TLS::Session_Manager_SQL::Session_Manager_SQL
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Session_Manager_SQL::create_or_migrate_and_open
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Session_Manager_SQL::Session_Manager_SQL(std::shared_ptr<SQL_Database>
      db,\n                                         std::string_view passphrase,\n
      \                                        const std::shared_ptr<RandomNumberGenerator>&
      rng,\n                                         size_t max_sessions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Session_Manager_SQL::detect_schema_revision
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:28,1
    - Dst: exec
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:34,1
    - Dst: exec
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:35,1
    - Dst: Botan::TLS::Session_Manager_SQL::create_with_latest_schema
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:36,1
    - Dst: Botan::TLS::Session_Manager_SQL::initialize_existing_database
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:39,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - passphrase
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 44
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 44
    functionName: Botan::TLS::Session_Manager_SQL::create_or_migrate_and_open
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Session_Manager_SQL::initialize_existing_database
    - Botan::TLS::Session_Manager_SQL::create_with_latest_schema
    - exec
    - Botan::TLS::Session_Manager_SQL::detect_schema_revision
    - Internal_Error
    linkageType: ''
    returnType: void
    signature: void Session_Manager_SQL::create_or_migrate_and_open(std::string_view
      passphrase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: row_count
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:48,1
    - Dst: new_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:57,1
    - Dst: auto::step
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:58,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:59,1
    - Dst: Schema_Revision
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:61,1
    - Dst: auto::get_size_t
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 65
    functionName: Botan::TLS::Session_Manager_SQL::detect_schema_revision
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 1
    functionsReached:
    - auto::step
    - Schema_Revision
    - new_statement
    - row_count
    - Internal_Error
    - auto::get_size_t
    linkageType: ''
    returnType: Session_Manager_SQL::Schema_Revision
    signature: Session_Manager_SQL::Schema_Revision Session_Manager_SQL::detect_schema_revision()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_table
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:68,1
    - Dst: create_table
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:79,1
    - Dst: create_table
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:90,1
    - Dst: random_vec
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:92,1
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:97,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:99,1
    - Dst: auto::tune
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:100,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:100,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:102,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:103,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:103,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:103,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:103,1
    - Dst: auto::data
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:103,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:103,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:107,1
    - Dst: std::span
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:107,1
    - Dst: new_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:109,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:111,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:112,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:113,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:114,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:115,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - passphrase
    - rev
    argTypes:
    - std::string_view
    - Schema_Revision
    constantsTouched: []
    func_position:
      end: 118
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 118
    functionName: Botan::TLS::Session_Manager_SQL::create_with_latest_schema
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 1
    functionsReached:
    - Botan::PasswordHashFamily::create_or_throw
    - secure_vector::data
    - auto::bind
    - auto::tune
    - secure_vector::size
    - std::span
    - auto::derive_key
    - random_vec
    - Botan_CLI::Timer::milliseconds
    - create_table
    - std::string_view::size
    - auto::data
    - new_statement
    - auto::spin
    - auto::size
    - SymmetricKey
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: void Session_Manager_SQL::create_with_latest_schema(std::string_view
      passphrase, Schema_Revision rev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:121,1
    - Dst: auto::step
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:122,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:123,1
    - Dst: auto::get_blob
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:126,1
    - Dst: auto::get_str
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:129,1
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:133,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:134,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:136,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:137,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:137,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:137,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:137,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:142,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:145,1
    - Dst: std::span
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - passphrase
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 146
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 146
    functionName: Botan::TLS::Session_Manager_SQL::initialize_existing_database
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 1
    functionsReached:
    - Botan::PasswordHashFamily::create_or_throw
    - auto::from_params
    - secure_vector::data
    - std::string_view::data
    - secure_vector::size
    - std::span
    - auto::derive_key
    - auto::get_str
    - auto::step
    - std::string_view::size
    - new_statement
    - Invalid_Argument
    - SymmetricKey
    - Internal_Error
    - auto::get_blob
    linkageType: ''
    returnType: void
    signature: void Session_Manager_SQL::initialize_existing_database(std::string_view
      passphrase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: database_is_threadsafe
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:150,1
    - Dst: std::optional::emplace
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:151,1
    - Dst: mutex
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:151,1
    - Dst: server_info
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:154,1
    - Dst: new_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:158,1
    - Dst: id
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:164,1
    - Dst: random_vec
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:164,1
    - Dst: ticket
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:165,1
    - Dst: Session_Ticket
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:165,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:167,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:167,1
    - Dst: auto::get
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:167,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:168,1
    - Dst: auto::get
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:168,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:169,1
    - Dst: start_time
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:169,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:170,1
    - Dst: server_info
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:170,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:171,1
    - Dst: server_info
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:171,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:172,1
    - Dst: encrypt
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:172,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:174,1
    - Dst: Botan::TLS::Session_Manager_SQL::prune_session_cache
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ' session'
    - ' handle'
    argTypes:
    - Session
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 177
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 177
    functionName: Botan::TLS::Session_Manager_SQL::store
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 0
    functionsReached:
    - database_is_threadsafe
    - start_time
    - server_info
    - auto::bind
    - hex_encode
    - ticket
    - random_vec
    - Session_Ticket
    - Botan::TLS::Session_Manager_SQL::prune_session_cache
    - new_statement
    - encrypt
    - auto::spin
    - id
    - std::optional::emplace
    - auto::get
    - mutex
    linkageType: ''
    returnType: void
    signature: void Session_Manager_SQL::store(const Session& session, const Session_Handle&
      handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: database_is_threadsafe
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:181,1
    - Dst: std::optional::emplace
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:182,1
    - Dst: mutex
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:182,1
    - Dst: id
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:185,1
    - Dst: new_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:186,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:188,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:188,1
    - Dst: auto::get
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:188,1
    - Dst: auto::step
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:190,1
    - Dst: auto::get_blob
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:191,1
    - Dst: Botan::TLS::Session::decrypt
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' handle'
    argTypes:
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 200
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 200
    functionName: Botan::TLS::Session_Manager_SQL::retrieve_one
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 0
    functionsReached:
    - database_is_threadsafe
    - auto::bind
    - auto::get_blob
    - Botan::TLS::Session::decrypt
    - hex_encode
    - auto::step
    - new_statement
    - id
    - std::optional::emplace
    - auto::get
    - mutex
    linkageType: ''
    returnType: std::optional<Session>
    signature: std::optional<Session> Session_Manager_SQL::retrieve_one(const Session_Handle&
      handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: database_is_threadsafe
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:205,1
    - Dst: std::optional::emplace
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:206,1
    - Dst: mutex
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:206,1
    - Dst: new_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:209,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:215,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:215,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:216,1
    - Dst: port
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:216,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:217,1
    - Dst: auto::step
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:220,1
    - Dst: auto::get_blob
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:222,1
    - Dst: Session_Ticket
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:224,1
    - Dst: std::span
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:224,1
    - Dst: Session_ID
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:226,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:226,1
    - Dst: auto::get_str
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:226,1
    - Dst: auto::get_blob
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:230,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:233,1
    - Dst: Botan::TLS::Session::decrypt
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:234,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ' info'
    - max_sessions_hint
    argTypes:
    - Server_Information
    - size_t
    constantsTouched: []
    func_position:
      end: 239
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 239
    functionName: Botan::TLS::Session_Manager_SQL::find_some
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 0
    functionsReached:
    - database_is_threadsafe
    - auto::bind
    - auto::get_blob
    - Session_ID
    - std::span
    - Botan::TLS::Session::decrypt
    - auto::get_str
    - Session_Ticket
    - auto::step
    - new_statement
    - std::move
    - hostname
    - std::vector::emplace_back
    - std::optional::emplace
    - port
    - Botan::hex_decode
    - mutex
    linkageType: ''
    returnType: std::vector<Session_with_Handle>
    signature: "std::vector<Session_with_Handle> Session_Manager_SQL::find_some(const
      Server_Information& info,\n                                                                const
      size_t max_sessions_hint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: id
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:246,1
    - Dst: new_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:247,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:248,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:248,1
    - Dst: auto::get
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:248,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:249,1
    - Dst: ticket
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:250,1
    - Dst: new_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:251,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:252,1
    - Dst: auto::get
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:252,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:253,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:256,1
    - Dst: rows_changed_by_last_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' handle'
    argTypes:
    - Session_Handle
    constantsTouched: []
    func_position:
      end: 260
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 260
    functionName: Botan::TLS::Session_Manager_SQL::remove
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 0
    functionsReached:
    - rows_changed_by_last_statement
    - auto::bind
    - hex_encode
    - ticket
    - new_statement
    - auto::spin
    - id
    - Invalid_Argument
    - auto::get
    linkageType: ''
    returnType: size_t
    signature: size_t Session_Manager_SQL::remove(const Session_Handle& handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exec
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:267,1
    - Dst: rows_changed_by_last_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: Botan::TLS::Session_Manager_SQL::remove_all
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 0
    functionsReached:
    - rows_changed_by_last_statement
    - exec
    linkageType: ''
    returnType: size_t
    signature: size_t Session_Manager_SQL::remove_all()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:278,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:281,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 283
    functionName: Botan::TLS::Session_Manager_SQL::prune_session_cache
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp
    functionUses: 1
    functionsReached:
    - new_statement
    - auto::bind
    - auto::spin
    linkageType: ''
    returnType: void
    signature: void Session_Manager_SQL::prune_session_cache()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::TLS::Session_Manager_SQL
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Session_Manager_SQL(const Session_Manager_SQL&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::TLS::emits_session_tickets
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool emits_session_tickets() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_threadsafe
      Src: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::TLS::database_is_threadsafe
    functionSourceFile: /src/botan/src/lib/tls/sessions_sql/tls_session_manager_sql.h
    functionUses: 0
    functionsReached:
    - is_threadsafe
    linkageType: ''
    returnType: bool
    signature: bool database_is_threadsafe() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::get_associated_allocator
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::TLS::detail::AsyncBase::get_allocator
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached:
    - boost::asio::get_associated_allocator
    linkageType: ''
    returnType: allocator_type
    signature: allocator_type get_allocator() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::get_associated_executor
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:73,1
    - Dst: Botan::TLS::detail::AsyncBase::get_executor
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Botan::TLS::detail::AsyncBase::get_executor
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 1
    functionsReached:
    - boost::asio::get_associated_executor
    - Botan::TLS::detail::AsyncBase::get_executor
    linkageType: ''
    returnType: executor_type
    signature: executor_type get_executor() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<HandlerT>
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' handler'
    - ' executor'
    argTypes:
    - HandlerT
    - Executor1
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: Botan::TLS::detail::AsyncBase::AsyncBase
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached:
    - std::forward<HandlerT>
    linkageType: ''
    returnType: void
    signature: void AsyncBase(HandlerT&& handler, const Executor1& executor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:90,1
    - Dst: m_handler
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:91,1
    - Dst: std::forward<Args>
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: Botan::TLS::detail::AsyncBase::complete_now
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 21
    functionsReached:
    - std::forward<Args>
    - reset
    - m_handler
    linkageType: ''
    returnType: void
    signature: void complete_now(Args&&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<HandlerT>
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:114,1
    - Dst: get_executor
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:115,1
    - Dst: std::size_t
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' handler'
    - ' stream'
    - ' buffers'
    argTypes:
    - HandlerT
    - Stream
    - MutableBufferSequence
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: Botan::TLS::detail::AsyncReadOperation::AsyncReadOperation
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached:
    - get_executor
    - std::size_t
    - std::forward<HandlerT>
    linkageType: ''
    returnType: void
    signature: "void AsyncReadOperation(HandlerT&& handler,\n                         Stream&
      stream,\n                         const MutableBufferSequence& buffers,\n                         const
      boost::system::error_code& ec = {})"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: Botan::TLS::detail::AsyncReadOperation::AsyncReadOperation
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsyncReadOperation(AsyncReadOperation&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shutdown_received
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:142,1
    - Dst: input_buffer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:151,1
    - Dst: process_encrypted_data
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:152,1
    - Dst: has_received_data
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:157,1
    - Dst: handle_tls_protocol_errors
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:160,1
    - Dst: Botan::TLS::Channel_Impl::set_io_buffer_size
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:162,1
    - Dst: next_layer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:164,1
    - Dst: input_buffer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:164,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:164,1
    - Dst: has_received_data
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:172,1
    - Dst: copy_received_data
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:173,1
    - Dst: boost::asio::mutable_buffer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:180,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:180,1
    - Dst: operator()(boost::system::error_code ec, std::complete_now
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:184,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - ec
    - bytes_transferred
    argTypes:
    - boost::system::error_code
    - std::size_t
    constantsTouched: []
    func_position:
      end: 186
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 186
    functionName: operator()(boost::system::error_code ec, std::size_t bytes_transferred,
      bool isContinuation = true)
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached:
    - process_encrypted_data
    - shutdown_received
    - operator()(boost::system::error_code ec, std::complete_now
    - input_buffer
    - copy_received_data
    - std::move
    - has_received_data
    - next_layer
    - Botan::TLS::Channel_Impl::set_io_buffer_size
    - handle_tls_protocol_errors
    - boost::asio::mutable_buffer
    linkageType: ''
    returnType: void
    signature: void operator()(boost::system::error_code ec, std::size_t bytes_transferred,
      bool isContinuation = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<HandlerT>
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:214,1
    - Dst: get_executor
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:215,1
    - Dst: std::size_t
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' handler'
    - ' stream'
    - plainBytesTransferred
    argTypes:
    - HandlerT
    - Stream
    - std::size_t
    constantsTouched: []
    func_position:
      end: 219
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 219
    functionName: Botan::TLS::detail::AsyncWriteOperation::AsyncWriteOperation
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached:
    - get_executor
    - std::size_t
    - std::forward<HandlerT>
    linkageType: ''
    returnType: void
    signature: "void AsyncWriteOperation(HandlerT&& handler,\n                          Stream&
      stream,\n                          std::size_t plainBytesTransferred,\n                          const
      boost::system::error_code& ec = {})"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: Botan::TLS::detail::AsyncWriteOperation::AsyncWriteOperation
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsyncWriteOperation(AsyncWriteOperation&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shutdown_received
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:237,1
    - Dst: consume_send_buffer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:244,1
    - Dst: has_data_to_send
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:248,1
    - Dst: next_layer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:249,1
    - Dst: send_buffer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:249,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:249,1
    - Dst: boost::asio::const_buffer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:257,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:257,1
    - Dst: operator()(boost::system::error_code ec, std::complete_now
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:263,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ec
    - bytes_transferred
    argTypes:
    - boost::system::error_code
    - std::size_t
    constantsTouched: []
    func_position:
      end: 265
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 265
    functionName: operator()(boost::system::error_code ec, std::size_t bytes_transferred,
      bool isContinuation = true)
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached:
    - consume_send_buffer
    - shutdown_received
    - send_buffer
    - boost::asio::const_buffer
    - operator()(boost::system::error_code ec, std::complete_now
    - has_data_to_send
    - std::move
    - next_layer
    linkageType: ''
    returnType: void
    signature: void operator()(boost::system::error_code ec, std::size_t bytes_transferred,
      bool isContinuation = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<HandlerT>
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:285,1
    - Dst: get_executor
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:286,1
    - Dst: std::size_t
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' handler'
    - ' stream'
    argTypes:
    - HandlerT
    - Stream
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: Botan::TLS::detail::AsyncHandshakeOperation::AsyncHandshakeOperation
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached:
    - get_executor
    - std::size_t
    - std::forward<HandlerT>
    linkageType: ''
    returnType: void
    signature: void AsyncHandshakeOperation(HandlerT&& handler, Stream& stream, const
      boost::system::error_code& ec = {})
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: Botan::TLS::detail::AsyncHandshakeOperation::AsyncHandshakeOperation
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsyncHandshakeOperation(AsyncHandshakeOperation&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shutdown_received
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:310,1
    - Dst: input_buffer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:319,1
    - Dst: process_encrypted_data
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:320,1
    - Dst: has_data_to_send
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:326,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:334,1
    - Dst: native_handle
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:340,1
    - Dst: handle_tls_protocol_errors
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:343,1
    - Dst: next_layer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:348,1
    - Dst: input_buffer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:348,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:348,1
    - Dst: boost::asio::mutable_buffer
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:357,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:357,1
    - Dst: operator()(boost::system::error_code ec, std::complete_now
      Src: /src/botan/src/lib/tls/asio/asio_async_ops.h:361,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - ec
    - bytesTransferred
    argTypes:
    - boost::system::error_code
    - std::size_t
    constantsTouched: []
    func_position:
      end: 363
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 363
    functionName: operator()(boost::system::error_code ec, std::size_t bytesTransferred,
      bool isContinuation = true)
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_async_ops.h
    functionUses: 0
    functionsReached:
    - process_encrypted_data
    - shutdown_received
    - native_handle
    - operator()(boost::system::error_code ec, std::complete_now
    - input_buffer
    - has_data_to_send
    - std::move
    - next_layer
    - handle_tls_protocol_errors
    - boost::asio::mutable_buffer
    linkageType: ''
    returnType: void
    signature: void operator()(boost::system::error_code ec, std::size_t bytesTransferred,
      bool isContinuation = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Server_Information
      Src: /src/botan/src/lib/tls/asio/asio_context.h:67,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_context.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - credentials_manager
    - rng
    - session_manager
    - policy
    argTypes:
    - std::shared_ptr<Credentials_Manager>
    - std::shared_ptr<RandomNumberGenerator>
    - std::shared_ptr<Session_Manager>
    - std::shared_ptr<const Policy>
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: Botan::TLS::Context
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.h
    functionUses: 0
    functionsReached:
    - std::move
    - Server_Information
    linkageType: ''
    returnType: void
    signature: "void Context(std::shared_ptr<Credentials_Manager> credentials_manager,\n
      \             std::shared_ptr<RandomNumberGenerator> rng,\n              std::shared_ptr<Session_Manager>
      session_manager,\n              std::shared_ptr<const Policy> policy,\n              Server_Information
      server_info = Server_Information())"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: ~Context()
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Context()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan::TLS::Context
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context(Context&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::TLS::Context
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context(const Context&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_context.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - Verify_Callback
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Botan::TLS::set_verify_callback
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_verify_callback(Verify_Callback callback)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/botan/src/lib/tls/asio/asio_context.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan::TLS::has_verify_callback
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.h
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    linkageType: ''
    returnType: bool
    signature: bool has_verify_callback() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan::TLS::get_verify_callback
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Verify_Callback
    signature: Verify_Callback & get_verify_callback() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_context.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - server_info
    argTypes:
    - Server_Information
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan::TLS::set_server_info
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_server_info(Server_Information server_info)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~StreamCategory()
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StreamCategory()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::TLS::name
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * name() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: Botan::TLS::message
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string message(int value) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: Botan::TLS::botan_stream_category
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamCategory
    signature: StreamCategory & botan_stream_category()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::error_code
      Src: /src/botan/src/lib/tls/asio/asio_error.h:54,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/tls/asio/asio_error.h:54,1
    - Dst: Botan::TLS::botan_stream_category
      Src: /src/botan/src/lib/tls/asio/asio_error.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - Botan::TLS::StreamError
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan::TLS::make_error_code
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::botan_stream_category
    - static_cast<int>
    - Botan::TLS::error_code
    linkageType: ''
    returnType: boost::system::error_code
    signature: boost::system::error_code make_error_code(Botan::TLS::StreamError e)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: ~BotanAlertCategory()
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BotanAlertCategory()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::TLS::name
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * name() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Alert::type_string
      Src: /src/botan/src/lib/tls/asio/asio_error.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: Botan::TLS::message
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Alert::type_string
    linkageType: ''
    returnType: std::string
    signature: std::string message(int ev) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: Botan::TLS::botan_alert_category
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BotanAlertCategory
    signature: BotanAlertCategory & botan_alert_category() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::error_code
      Src: /src/botan/src/lib/tls/asio/asio_error.h:75,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/tls/asio/asio_error.h:75,1
    - Dst: Botan::TLS::botan_alert_category
      Src: /src/botan/src/lib/tls/asio/asio_error.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - Botan::TLS::Alert::Type
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: Botan::TLS::make_error_code
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Botan::TLS::error_code
    - Botan::TLS::botan_alert_category
    linkageType: ''
    returnType: boost::system::error_code
    signature: boost::system::error_code make_error_code(Botan::TLS::Alert::Type c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~BotanErrorCategory()
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BotanErrorCategory()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Botan::name
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * name() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/tls/asio/asio_error.h:86,1
    - Dst: static_cast<Botan::ErrorType>
      Src: /src/botan/src/lib/tls/asio/asio_error.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: Botan::message
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached:
    - static_cast<Botan::ErrorType>
    - Botan::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string message(int ev) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: Botan::botan_category
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BotanErrorCategory
    signature: BotanErrorCategory & botan_category() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::error_code
      Src: /src/botan/src/lib/tls/asio/asio_error.h:95,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/tls/asio/asio_error.h:95,1
    - Dst: Botan::botan_category
      Src: /src/botan/src/lib/tls/asio/asio_error.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - Botan::ErrorType
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Botan::make_error_code
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_error.h
    functionUses: 0
    functionsReached:
    - Botan::botan_category
    - static_cast<int>
    - Botan::TLS::error_code
    linkageType: ''
    returnType: boost::system::error_code
    signature: boost::system::error_code make_error_code(Botan::ErrorType e)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan::TLS::StreamCallbacks::StreamCallbacks
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamCallbacks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: commit
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:62,1
    - Dst: boost::asio::buffer_copy
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:62,1
    - Dst: prepare
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:62,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:62,1
    - Dst: Peer::buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:63,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:63,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: Botan::TLS::StreamCallbacks::tls_emit_data
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - prepare
    - Peer::buffer
    - std::span<const uint8_t>::size
    - commit
    - std::span<const uint8_t>::data
    - boost::asio::buffer_copy
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t> data) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: commit
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:67,1
    - Dst: boost::asio::buffer_copy
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:67,1
    - Dst: prepare
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:67,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:67,1
    - Dst: boost::asio::const_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:68,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:68,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: Botan::TLS::StreamCallbacks::tls_record_received
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - boost::asio::const_buffer
    - prepare
    - std::span<const uint8_t>::size
    - commit
    - std::span<const uint8_t>::data
    - boost::asio::buffer_copy
    linkageType: ''
    returnType: void
    signature: void tls_record_received(uint64_t, std::span<const uint8_t> data) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: Botan::TLS::StreamCallbacks::tls_peer_closed_connection
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tls_peer_closed_connection() final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS::Alert::is_fatal
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:86,1
    - Dst: TLS::Alert::type
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - alert
    argTypes:
    - TLS::Alert
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: Botan::TLS::StreamCallbacks::tls_alert
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - TLS::Alert::is_fatal
    - TLS::Alert::type
    linkageType: ''
    returnType: void
    signature: void tls_alert(TLS::Alert alert) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:101,1
    - Dst: auto::has_verify_callback
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:103,1
    - Dst: auto::get_verify_callback
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:104,1
    - Dst: Fuzzer_TLS_Client_Callbacks::tls_verify_cert_chain
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - ' cert_chain'
    - ' ocsp_responses'
    - ' trusted_roots'
    - usage
    - hostname
    - ' policy'
    argTypes:
    - std::vector<X509_Certificate>
    - std::vector<std::optional<OCSP::Response>>
    - std::vector<Certificate_Store*>
    - Usage_Type
    - std::string_view
    - TLS::Policy
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: Botan::TLS::StreamCallbacks::tls_verify_cert_chain
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - auto::has_verify_callback
    - auto::get_verify_callback
    - Fuzzer_TLS_Client_Callbacks::tls_verify_cert_chain
    - lock
    linkageType: ''
    returnType: void
    signature: "void tls_verify_cert_chain(const std::vector<X509_Certificate>& cert_chain,\n
      \                                const std::vector<std::optional<OCSP::Response>>&
      ocsp_responses,\n                                 const std::vector<Certificate_Store*>&
      trusted_roots,\n                                 Usage_Type usage,\n                                 std::string_view
      hostname,\n                                 const TLS::Policy& policy) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - std::weak_ptr<Botan::TLS::Context>
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: Botan::TLS::StreamCallbacks::set_context
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_context(std::weak_ptr<Botan::TLS::Context> context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: consume
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:117,1
    - Dst: size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: Botan::TLS::StreamCallbacks::consume_send_buffer
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - consume
    - size
    linkageType: ''
    returnType: void
    signature: void consume_send_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: '& send_buffer()'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boost::beast::flat_buffer
    signature: boost::beast::flat_buffer & send_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: '& send_buffer() const'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boost::beast::flat_buffer
    signature: boost::beast::flat_buffer & send_buffer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: '& receive_buffer()'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boost::beast::flat_buffer
    signature: boost::beast::flat_buffer & receive_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: '& receive_buffer() const'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boost::beast::flat_buffer
    signature: boost::beast::flat_buffer & receive_buffer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: Botan::TLS::StreamCallbacks::shutdown_received
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: bool
    signature: bool shutdown_received() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Botan::TLS::StreamCallbacks::alert_from_peer
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<Alert>
    signature: std::optional<Alert> alert_from_peer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:181,1
    - Dst: std::forward<Args>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:182,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:183,1
    - Dst: data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:185,1
    - Dst: size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:185,1
    - Dst: set_context
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - context
    - callbacks
    argTypes:
    - std::shared_ptr<Context>
    - std::shared_ptr<StreamCallbacks>
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: Botan::TLS::Stream::Stream
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - set_context
    - data
    - size
    - std::forward<Args>
    - std::move
    linkageType: ''
    returnType: void
    signature: void Stream(std::shared_ptr<Context> context, std::shared_ptr<StreamCallbacks>
      callbacks, Args&&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:197,1
    - Dst: std::make_shared<StreamCallbacks>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:197,1
    - Dst: std::forward<Args>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - context
    argTypes:
    - std::shared_ptr<Context>
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: Botan::TLS::Stream::Stream
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - std::make_shared<StreamCallbacks>
    - std::forward<Args>
    - std::move
    linkageType: ''
    returnType: void
    signature: void Stream(std::shared_ptr<Context> context, Args&&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<StreamCallbacks>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:213,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:214,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:214,1
    - Dst: std::forward<Arg>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' arg'
    - context
    argTypes:
    - Arg
    - std::shared_ptr<Context>
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: Botan::TLS::Stream::Stream
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - std::make_shared<StreamCallbacks>
    - std::forward<Arg>
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Stream(Arg&& arg,\n                      std::shared_ptr<Context>
      context,\n                      std::shared_ptr<StreamCallbacks> callbacks =
      std::make_shared<StreamCallbacks>())"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Context>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:229,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:229,1
    - Dst: std::forward<Args>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - server_info
    argTypes:
    - Server_Information
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: Botan::TLS::Stream::Stream
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - std::make_shared<Context>
    - std::move
    linkageType: ''
    returnType: void
    signature: void Stream(Server_Information server_info, Args&&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: ~Stream()
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Stream
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: Botan::TLS::Stream::Stream
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stream(Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Stream
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: '& operator=(Stream&& other)'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Stream
    signature: Stream & operator=(Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Stream
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: Botan::TLS::Stream::Stream
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stream(const Stream& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Stream
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: '& operator=(const Stream& other)'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Stream
    signature: Stream & operator=(const Stream& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: '& next_layer() const'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: next_layer_type
    signature: next_layer_type & next_layer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 248
    functionName: '& next_layer()'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: next_layer_type
    signature: next_layer_type & next_layer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::beast::get_lowest_layer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: '& lowest_layer()'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - boost::beast::get_lowest_layer
    linkageType: ''
    returnType: lowest_layer_type
    signature: lowest_layer_type & lowest_layer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::beast::get_lowest_layer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: '& lowest_layer() const'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - boost::beast::get_lowest_layer
    linkageType: ''
    returnType: lowest_layer_type
    signature: lowest_layer_type & lowest_layer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::get_executor
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: Botan::TLS::Stream::get_executor
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::Stream::get_executor
    linkageType: ''
    returnType: executor_type
    signature: executor_type get_executor() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:264,1
    - Dst: get
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: Botan::TLS::Stream::native_handle
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - get
    - Invalid_State
    linkageType: ''
    returnType: native_handle_type
    signature: native_handle_type native_handle()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::set_verify_callback
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:283,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - Context::Verify_Callback
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: Botan::TLS::Stream::set_verify_callback
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::Stream::set_verify_callback
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_verify_callback(Context::Verify_Callback callback)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::set_verify_callback
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:293,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - callback
    - ' ec'
    argTypes:
    - Context::Verify_Callback
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: Botan::TLS::Stream::set_verify_callback
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 2
    functionsReached:
    - Botan::TLS::Stream::set_verify_callback
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_verify_callback(Context::Verify_Callback callback, [[maybe_unused]]
      boost::system::error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - depth
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: Botan::TLS::Stream::set_verify_depth
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void set_verify_depth([[maybe_unused]] int depth)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - depth
    - ' ec'
    argTypes:
    - int
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: Botan::TLS::Stream::set_verify_depth
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_verify_depth([[maybe_unused]] int depth, boost::system::error_code&
      ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - verify_mode
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: Botan::TLS::Stream::set_verify_mode
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void set_verify_mode([[maybe_unused]] verify_mode v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - ' ec'
    argTypes:
    - verify_mode
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: Botan::TLS::Stream::set_verify_mode
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_verify_mode([[maybe_unused]] verify_mode v, boost::system::error_code&
      ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::handshake
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:348,1
    - Dst: do_throw_error
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - side
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 350
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 350
    functionName: Botan::TLS::Stream::handshake
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::Stream::handshake
    - do_throw_error
    linkageType: ''
    returnType: void
    signature: void handshake(Connection_Side side)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::setup_native_handle
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:361,1
    - Dst: Botan::TLS::Stream::has_data_to_send
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:370,1
    - Dst: Botan::TLS::Stream::send_pending_encrypted_data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:371,1
    - Dst: Botan::TLS::Stream::native_handle
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:376,1
    - Dst: Botan::TLS::Stream::handle_tls_protocol_errors
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:384,1
    - Dst: Botan::TLS::Stream::read_and_process_encrypted_data_from_peer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - side
    - ' ec'
    argTypes:
    - Connection_Side
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 392
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 392
    functionName: Botan::TLS::Stream::handshake
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::Stream::handle_tls_protocol_errors
    - Botan::TLS::Stream::setup_native_handle
    - Botan::TLS::Stream::has_data_to_send
    - Botan::TLS::Stream::send_pending_encrypted_data
    - Botan::TLS::Stream::read_and_process_encrypted_data_from_peer
    - Botan::TLS::Stream::native_handle
    linkageType: ''
    returnType: void
    signature: void handshake(Connection_Side side, boost::system::error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::async_initiate<CompletionToken, void(boost::system::error_code)>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:406,1
    - Dst: Botan::TLS::Stream::setup_native_handle
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:411,1
    - Dst: std::forward<completion_handler_t>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - side
    argTypes:
    - Botan::TLS::Connection_Side
    constantsTouched: []
    func_position:
      end: 418
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 418
    functionName: Botan::TLS::Stream::async_handshake
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - boost::asio::async_initiate<CompletionToken, void(boost::system::error_code)>
    - Botan::TLS::Stream::setup_native_handle
    - std::forward<completion_handler_t>
    linkageType: ''
    returnType: auto
    signature: "auto async_handshake(Botan::TLS::Connection_Side side,\n                           CompletionToken&&
      completion_token = default_completion_token{})"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - side
    - ' buffers'
    - ' handler'
    argTypes:
    - Connection_Side
    - ConstBufferSequence
    - BufferedHandshakeHandler
    constantsTouched: []
    func_position:
      end: 429
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 429
    functionName: Botan::TLS::Stream::async_handshake
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: auto
    signature: "auto async_handshake([[maybe_unused]] Connection_Side side,\n                           [[maybe_unused]]
      const ConstBufferSequence& buffers,\n                           [[maybe_unused]]
      BufferedHandshakeHandler&& handler)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::try_with_error_code
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:446,1
    - Dst: Botan::TLS::Stream::native_handle
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:446,1
    - Dst: Botan::TLS::Stream::send_pending_encrypted_data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: Botan::TLS::Stream::shutdown
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Stream::native_handle
    - Botan::TLS::Stream::try_with_error_code
    - Botan::TLS::Stream::send_pending_encrypted_data
    linkageType: ''
    returnType: void
    signature: void shutdown(boost::system::error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::shutdown
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:463,1
    - Dst: do_throw_error
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: Botan::TLS::Stream::shutdown
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::Stream::shutdown
    - do_throw_error
    linkageType: ''
    returnType: void
    signature: void shutdown()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handler
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ec
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 477
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 477
    functionName: operator()(boost::system::error_code ec, std::size_t)
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - handler
    linkageType: ''
    returnType: void
    signature: void operator()(boost::system::error_code ec, std::size_t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::get_associated_executor
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 483
    functionName: Botan::TLS::Stream::get_executor
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - boost::asio::get_associated_executor
    linkageType: ''
    returnType: executor_type
    signature: executor_type get_executor() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::get_associated_allocator
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: Botan::TLS::Stream::get_allocator
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - boost::asio::get_associated_allocator
    linkageType: ''
    returnType: allocator_type
    signature: allocator_type get_allocator() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::async_initiate<CompletionToken, void(boost::system::error_code)>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:506,1
    - Dst: Botan::TLS::Stream::try_with_error_code
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:511,1
    - Dst: Botan::TLS::Stream::native_handle
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:511,1
    - Dst: std::forward<completion_handler_t>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:516,1
    - Dst: Botan::TLS::Stream::get_executor
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:516,1
    - Dst: Botan::TLS::Channel_Impl::set_io_buffer_size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:518,1
    - Dst: Botan::TLS::Stream::send_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 522
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 522
    functionName: Botan::TLS::Stream::async_shutdown
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - boost::asio::async_initiate<CompletionToken, void(boost::system::error_code)>
    - Botan::TLS::Stream::try_with_error_code
    - Botan::TLS::Stream::send_buffer
    - Botan::TLS::Channel_Impl::set_io_buffer_size
    - Botan::TLS::Stream::native_handle
    - Botan::TLS::Stream::get_executor
    - std::forward<completion_handler_t>
    linkageType: ''
    returnType: auto
    signature: auto async_shutdown(CompletionToken&& completion_token = default_completion_token{})
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::has_received_data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:546,1
    - Dst: Botan::TLS::Stream::copy_received_data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:547,1
    - Dst: Botan::TLS::Stream::handle_tls_protocol_errors
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:556,1
    - Dst: Botan::TLS::Stream::read_and_process_encrypted_data_from_peer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' buffers'
    - ' ec'
    argTypes:
    - MutableBufferSequence
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 567
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 567
    functionName: Botan::TLS::Stream::read_some
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Stream::copy_received_data
    - Botan::TLS::Stream::has_received_data
    - Botan::TLS::Stream::handle_tls_protocol_errors
    - Botan::TLS::Stream::read_and_process_encrypted_data_from_peer
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t read_some(const MutableBufferSequence& buffers, boost::system::error_code&
      ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::read_some
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:582,1
    - Dst: do_throw_error
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' buffers'
    argTypes:
    - MutableBufferSequence
    constantsTouched: []
    func_position:
      end: 585
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 585
    functionName: Botan::TLS::Stream::read_some
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::Stream::read_some
    - do_throw_error
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t read_some(const MutableBufferSequence& buffers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::tls_encrypt
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:599,1
    - Dst: Botan::TLS::Stream::send_pending_encrypted_data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:600,1
    - Dst: Botan::TLS::Channel_Impl::set_io_buffer_size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' buffers'
    - ' ec'
    argTypes:
    - ConstBufferSequence
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 602
    functionName: Botan::TLS::Stream::write_some
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Stream::tls_encrypt
    - Botan::TLS::Channel_Impl::set_io_buffer_size
    - Botan::TLS::Stream::send_pending_encrypted_data
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t write_some(const ConstBufferSequence& buffers, boost::system::error_code&
      ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::write_some
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:617,1
    - Dst: do_throw_error
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' buffers'
    argTypes:
    - ConstBufferSequence
    constantsTouched: []
    func_position:
      end: 620
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 620
    functionName: Botan::TLS::Stream::write_some
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::Stream::write_some
    - do_throw_error
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t write_some(const ConstBufferSequence& buffers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::async_initiate<CompletionToken, void(boost::system::error_code,
        std::size_t)>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:634,1
    - Dst: Botan::TLS::Stream::tls_encrypt
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:639,1
    - Dst: Botan::TLS::Stream::send_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:644,1
    - Dst: Botan::TLS::Stream::send_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:644,1
    - Dst: std::forward<completion_handler_t>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:648,1
    - Dst: Botan::TLS::Channel_Impl::set_io_buffer_size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:650,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' buffers'
    argTypes:
    - ConstBufferSequence
    constantsTouched: []
    func_position:
      end: 655
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 655
    functionName: Botan::TLS::Stream::async_write_some
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - boost::asio::async_initiate<CompletionToken, void(boost::system::error_code,
      std::size_t)>
    - Botan::TLS::Stream::send_buffer
    - Botan::TLS::Channel_Impl::set_io_buffer_size
    - Botan::TLS::Stream::tls_encrypt
    - std::forward<completion_handler_t>
    linkageType: ''
    returnType: auto
    signature: "auto async_write_some(const ConstBufferSequence& buffers,\n                            CompletionToken&&
      completion_token = default_completion_token{})"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::async_initiate<CompletionToken, void(boost::system::error_code,
        std::size_t)>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:670,1
    - Dst: std::forward<completion_handler_t>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' buffers'
    argTypes:
    - MutableBufferSequence
    constantsTouched: []
    func_position:
      end: 679
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 679
    functionName: Botan::TLS::Stream::async_read_some
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - std::forward<completion_handler_t>
    - boost::asio::async_initiate<CompletionToken, void(boost::system::error_code,
      std::size_t)>
    linkageType: ''
    returnType: auto
    signature: "auto async_read_some(const MutableBufferSequence& buffers,\n                           CompletionToken&&
      completion_token = default_completion_token{})"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::shutdown_received
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 687
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 687
    functionName: Botan::TLS::Stream::shutdown_received
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::Stream::shutdown_received
    linkageType: ''
    returnType: bool
    signature: bool shutdown_received() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 697
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 697
    functionName: '& input_buffer()'
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boost::asio::mutable_buffer
    signature: boost::asio::mutable_buffer & input_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::send_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 699
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 699
    functionName: Botan::TLS::Stream::send_buffer
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 3
    functionsReached:
    - Botan::TLS::Stream::send_buffer
    linkageType: ''
    returnType: boost::asio::const_buffer
    signature: boost::asio::const_buffer send_buffer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: receive_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 702
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 702
    functionName: Botan::TLS::Stream::has_received_data
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - receive_buffer
    linkageType: ''
    returnType: bool
    signature: bool has_received_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::buffer_copy
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:711,1
    - Dst: receive_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:711,1
    - Dst: receive_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffers
    argTypes:
    - MutableBufferSequence
    constantsTouched: []
    func_position:
      end: 714
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 714
    functionName: Botan::TLS::Stream::copy_received_data
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - receive_buffer
    - boost::asio::buffer_copy
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t copy_received_data(MutableBufferSequence buffers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::send_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 717
      start: 717
    functionDepth: 2
    functionLinenumber: 717
    functionLinenumberEnd: 717
    functionName: Botan::TLS::Stream::has_data_to_send
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::Stream::send_buffer
    linkageType: ''
    returnType: bool
    signature: bool has_data_to_send() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::send_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytesConsumed
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 720
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 720
    functionName: Botan::TLS::Stream::consume_send_buffer
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Stream::send_buffer
    linkageType: ''
    returnType: void
    signature: void consume_send_buffer(std::size_t bytesConsumed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:736,1
    - Dst: Botan::TLS::Stream::try_with_error_code
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:739,1
    - Dst: std::unique_ptr<Client>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:742,1
    - Dst: m_policy::latest_supported_version
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:749,1
    - Dst: Client::Client
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:743,1
    - Dst: std::unique_ptr<Server>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:751,1
    - Dst: Server::Server
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:751,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - side
    - ' ec'
    argTypes:
    - Connection_Side
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 761
      start: 731
    functionDepth: 3
    functionLinenumber: 731
    functionLinenumberEnd: 761
    functionName: Botan::TLS::Stream::setup_native_handle
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 2
    functionsReached:
    - Invalid_State
    - Botan::TLS::Stream::try_with_error_code
    - std::unique_ptr<Client>
    - m_policy::latest_supported_version
    - Server::Server
    - Client::Client
    - std::unique_ptr<Server>
    linkageType: ''
    returnType: void
    signature: void setup_native_handle(Connection_Side side, boost::system::error_code&
      ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::error_from_us
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:788,1
    - Dst: Botan::TLS::Stream::alert_from_peer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:800,1
    - Dst: auto::type
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:801,1
    - Dst: auto::type
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 807
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 807
    functionName: Botan::TLS::Stream::handle_tls_protocol_errors
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 2
    functionsReached:
    - auto::type
    - Botan::TLS::Stream::error_from_us
    - Botan::TLS::Stream::alert_from_peer
    linkageType: ''
    returnType: void
    signature: void handle_tls_protocol_errors(boost::system::error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::has_received_data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:826,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:827,1
    - Dst: Botan::TLS::Stream::error_from_us
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:830,1
    - Dst: Botan::TLS::Stream::alert_from_peer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:830,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:831,1
    - Dst: input_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:838,1
    - Dst: Botan::TLS::Stream::read_some
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:838,1
    - Dst: input_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:838,1
    - Dst: Botan::TLS::Stream::process_encrypted_data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:840,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 844
      start: 818
    functionDepth: 2
    functionLinenumber: 818
    functionLinenumberEnd: 844
    functionName: Botan::TLS::Stream::read_and_process_encrypted_data_from_peer
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 2
    functionsReached:
    - Invalid_State
    - Botan::TLS::Stream::read_some
    - Botan::TLS::Stream::alert_from_peer
    - input_buffer
    - Botan::TLS::Stream::error_from_us
    - Botan::TLS::Stream::has_received_data
    - Botan::TLS::Stream::process_encrypted_data
    linkageType: ''
    returnType: void
    signature: void read_and_process_encrypted_data_from_peer(boost::system::error_code&
      ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Server::handle_write
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:859,1
    - Dst: Botan::TLS::Stream::send_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:859,1
    - Dst: Botan::TLS::Stream::consume_send_buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:860,1
    - Dst: Botan::TLS::Stream::shutdown_received
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:862,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' ec'
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 868
      start: 854
    functionDepth: 3
    functionLinenumber: 854
    functionLinenumberEnd: 868
    functionName: Botan::TLS::Stream::send_pending_encrypted_data
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 3
    functionsReached:
    - Botan::TLS::Stream::consume_send_buffer
    - Server::handle_write
    - Botan::TLS::Stream::send_buffer
    - Botan::TLS::Stream::shutdown_received
    linkageType: ''
    returnType: size_t
    signature: size_t send_pending_encrypted_data(boost::system::error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:883,1
    - Dst: boost::asio::buffer_sequence_begin
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:883,1
    - Dst: boost::asio::buffer_sequence_end
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:883,1
    - Dst: boost::asio::buffer_sequence_begin
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:888,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:889,1
    - Dst: boost::asio::const_buffer::data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:889,1
    - Dst: boost::asio::const_buffer::size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:889,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:891,1
    - Dst: Botan::TLS::Channel_Impl::set_io_buffer_size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:891,1
    - Dst: boost::asio::buffer_copy
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:892,1
    - Dst: Peer::buffer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:892,1
    - Dst: Botan::TLS::Stream::try_with_error_code
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:900,1
    - Dst: Botan::TLS::Stream::native_handle
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:900,1
    - Dst: unpack
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:900,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ' buffers'
    - ' ec'
    argTypes:
    - ConstBufferSequence
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 901
      start: 876
    functionDepth: 2
    functionLinenumber: 876
    functionLinenumberEnd: 901
    functionName: Botan::TLS::Stream::tls_encrypt
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 2
    functionsReached:
    - boost::asio::buffer_sequence_end
    - std::vector::resize
    - Botan::TLS::Stream::try_with_error_code
    - unpack
    - boost::asio::const_buffer::data
    - Peer::buffer
    - static_cast<const uint8_t*>
    - Botan::TLS::Channel_Impl::set_io_buffer_size
    - Botan::TLS::Stream::native_handle
    - boost::asio::const_buffer::size
    - std::distance
    - boost::asio::buffer_copy
    - boost::asio::buffer_sequence_begin
    linkageType: ''
    returnType: void
    signature: void tls_encrypt(const ConstBufferSequence& buffers, boost::system::error_code&
      ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::alert_from_peer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:915,1
    - Dst: Botan::TLS::Stream::error_from_us
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:915,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:916,1
    - Dst: Botan::TLS::Stream::try_with_error_code
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:923,1
    - Dst: Botan::TLS::Stream::native_handle
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:925,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:925,1
    - Dst: data
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:925,1
    - Dst: size
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:925,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' read_buffer'
    argTypes:
    - boost::asio::const_buffer
    constantsTouched: []
    func_position:
      end: 928
      start: 914
    functionDepth: 2
    functionLinenumber: 914
    functionLinenumberEnd: 928
    functionName: Botan::TLS::Stream::process_encrypted_data
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 1
    functionsReached:
    - Invalid_State
    - data
    - Botan::TLS::Stream::try_with_error_code
    - Botan::TLS::Stream::alert_from_peer
    - size
    - static_cast<const uint8_t*>
    - Botan::TLS::Stream::error_from_us
    - Botan::TLS::Stream::native_handle
    linkageType: ''
    returnType: void
    signature: void process_encrypted_data(const boost::asio::const_buffer& read_buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:934,1
    - Dst: type
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:936,1
    - Dst: error_type
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - f
    - ' ec'
    argTypes:
    - Fun
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 942
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 942
    functionName: Botan::TLS::Stream::try_with_error_code
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 5
    functionsReached:
    - type
    - error_type
    - f
    linkageType: ''
    returnType: void
    signature: void try_with_error_code(Fun f, boost::system::error_code& ec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Stream::alert_from_peer
      Src: /src/botan/src/lib/tls/asio/asio_stream.h:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 950
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 950
    functionName: Botan::TLS::Stream::alert_from_peer
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 4
    functionsReached:
    - Botan::TLS::Stream::alert_from_peer
    linkageType: ''
    returnType: std::optional<Alert>
    signature: std::optional<Alert> alert_from_peer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 958
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 958
    functionName: Botan::TLS::Stream::error_from_us
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_stream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boost::system::error_code
    signature: boost::system::error_code error_from_us() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<System_Certificate_Store>
      Src: /src/botan/src/lib/tls/asio/asio_context.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: Botan::TLS::Default_Credentials_Manager::Default_Credentials_Manager
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<System_Certificate_Store>
    linkageType: ''
    returnType: void
    signature: void Default_Credentials_Manager()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/asio/asio_context.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: Botan::TLS::Default_Credentials_Manager::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: std::vector<Certificate_Store*>
    signature: std::vector<Certificate_Store*> trusted_certificate_authorities(const
      std::string&, const std::string&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Default_Credentials_Manager>
      Src: /src/botan/src/lib/tls/asio/asio_context.cpp:52,1
    - Dst: std::make_shared<AutoSeeded_RNG>
      Src: /src/botan/src/lib/tls/asio/asio_context.cpp:53,1
    - Dst: std::make_shared<Session_Manager_In_Memory>
      Src: /src/botan/src/lib/tls/asio/asio_context.cpp:54,1
    - Dst: std::make_shared<Default_Policy>
      Src: /src/botan/src/lib/tls/asio/asio_context.cpp:55,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/asio/asio_context.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - server_info
    argTypes:
    - Server_Information
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: Botan::TLS::Context::Context
    functionSourceFile: /src/botan/src/lib/tls/asio/asio_context.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Session_Manager_In_Memory>
    - std::make_shared<AutoSeeded_RNG>
    - std::make_shared<Default_Credentials_Manager>
    - std::move
    - std::make_shared<Default_Policy>
    linkageType: ''
    returnType: void
    signature: void Context::Context(Server_Information server_info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:20,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:20,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:20,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data_from_peer
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::TLS::Handshake_Layer::copy_data
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::begin
    - end
    - std::span<const uint8_t>::end
    - insert
    linkageType: ''
    returnType: void
    signature: void Handshake_Layer::copy_data(std::span<const uint8_t> data_from_peer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Handshake_Type>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:29,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:43,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - byte_value
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 55
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 55
    functionName: Botan::TLS::handshake_type_from_byte
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Handshake_Type>
    - TLS_Exception
    linkageType: ''
    returnType: Handshake_Type
    signature: Handshake_Type handshake_type_from_byte(uint8_t byte_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remaining_bytes
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:63,1
    - Dst: Botan::TLS::handshake_type_from_byte
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:67,1
    - Dst: get_byte
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:67,1
    - Dst: remaining_bytes
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:71,1
    - Dst: get_fixed
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:76,1
    - Dst: generalize_to<Handshake_Message_13>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:83,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:83,1
    - Dst: generalize_to<Handshake_Message_13>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:87,1
    - Dst: Botan::TLS::Server_Hello_13::parse
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:87,1
    - Dst: Encrypted_Extensions
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:91,1
    - Dst: Certificate_13
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:93,1
    - Dst: Certificate_Request_13
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:95,1
    - Dst: Certificate_Verify_13
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:97,1
    - Dst: Finished_13
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:99,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:101,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:104,1
    - Dst: New_Session_Ticket_13
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:108,1
    - Dst: Key_Update
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:110,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 4
    argNames:
    - ' reader'
    - ' policy'
    - peer_side
    - cert_type
    argTypes:
    - TLS::TLS_Data_Reader
    - Policy
    - Connection_Side
    - Certificate_Type
    constantsTouched: []
    func_position:
      end: 115
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 115
    functionName: Botan::TLS::parse_message
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Botan::TLS::handshake_type_from_byte
    - remaining_bytes
    - Encrypted_Extensions
    - get_fixed
    - Certificate_Request_13
    - Key_Update
    - BOTAN_ASSERT
    - New_Session_Ticket_13
    - Certificate_Verify_13
    - get_byte
    - Certificate_13
    - BOTAN_UNUSED
    - Finished_13
    - Botan::TLS::Server_Hello_13::parse
    - generalize_to<Handshake_Message_13>
    linkageType: ''
    returnType: std::optional<Msg_Type>
    signature: "std::optional<Msg_Type> parse_message(TLS::TLS_Data_Reader& reader,\n
      \                                     const Policy& policy,\n                                      const
      Connection_Side peer_side,\n                                      const Certificate_Type
      cert_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_message<Handshake_Message_13>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:123,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:124,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:125,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:125,1
    - Dst: TLS::TLS_Data_Reader::read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:125,1
    - Dst: update
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:126,1
    - Dst: data
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:126,1
    - Dst: TLS::TLS_Data_Reader::read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:126,1
    - Dst: erase
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:127,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:127,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:127,1
    - Dst: TLS::TLS_Data_Reader::read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' policy'
    - ' transcript_hash'
    argTypes:
    - Policy
    - Transcript_Hash_State
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: Botan::TLS::Handshake_Layer::next_message
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - auto::has_value
    - data
    - size
    - cbegin
    - erase
    - update
    - TLS::TLS_Data_Reader::read_so_far
    - parse_message<Handshake_Message_13>
    linkageType: ''
    returnType: std::optional<Handshake_Message_13>
    signature: "std::optional<Handshake_Message_13> Handshake_Layer::next_message(const
      Policy& policy,\n                                                                  Transcript_Hash_State&
      transcript_hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_message<Post_Handshake_Message_13>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:136,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:137,1
    - Dst: erase
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:138,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:138,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:138,1
    - Dst: TLS::TLS_Data_Reader::read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' policy'
    argTypes:
    - Policy
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: Botan::TLS::Handshake_Layer::next_post_handshake_message
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - auto::has_value
    - cbegin
    - erase
    - parse_message<Post_Handshake_Message_13>
    - TLS::TLS_Data_Reader::read_so_far
    linkageType: ''
    returnType: std::optional<Post_Handshake_Message_13>
    signature: std::optional<Post_Handshake_Message_13> Handshake_Layer::next_post_handshake_message(const
      Policy& policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::reference_wrapper<T>
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: Botan::TLS::get
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp
    functionUses: 4
    functionsReached:
    - Botan::TLS::get
    linkageType: ''
    returnType: T
    signature: T & get(const std::reference_wrapper<T>& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: Botan::TLS::get
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & get(const T& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:162,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:162,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:166,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:166,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:166,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:166,1
    - Dst: concat
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: Botan::TLS::marshall_message
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - size
    - concat
    - get_byte<1>
    - static_cast<uint8_t>
    - get_byte<3>
    - get_byte<2>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> marshall_message(const T& message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: marshall_message
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:175,1
    - Dst: update
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - message
    - ' transcript_hash'
    argTypes:
    - Handshake_Message_13_Ref
    - Transcript_Hash_State
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: Botan::TLS::Handshake_Layer::prepare_message
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp
    functionUses: 1
    functionsReached:
    - update
    - marshall_message
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> Handshake_Layer::prepare_message(const Handshake_Message_13_Ref
      message,\n                                                      Transcript_Hash_State&
      transcript_hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: marshall_message
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - Post_Handshake_Message_13
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: Botan::TLS::Handshake_Layer::prepare_post_handshake_message
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.cpp
    functionUses: 0
    functionsReached:
    - marshall_message
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Handshake_Layer::prepare_post_handshake_message(const
      Post_Handshake_Message_13& message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:33,1
    - Dst: allow_tls12
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:36,1
    - Dst: expect_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:37,1
    - Dst: Botan::TLS::Client_Impl_13::find_session_for_resumption
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:41,1
    - Dst: auto::session::version
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:42,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:43,1
    - Dst: expects_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:44,1
    - Dst: request_downgrade_for_resumption
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:47,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:47,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:47,1
    - Dst: send_handshake_message
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:52,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:52,1
    - Dst: Client_Hello_13
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:53,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:56,1
    - Dst: find_preshared_keys
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:59,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:59,1
    - Dst: expects_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:61,1
    - Dst: preserve_client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:62,1
    - Dst: tls_13_middlebox_compatibility_mode
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:71,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 7
    argNames:
    - ' callbacks'
    - ' session_manager'
    - ' creds'
    - ' policy'
    - ' rng'
    - info
    - ' next_protocols'
    argTypes:
    - std::shared_ptr<Callbacks>
    - std::shared_ptr<Session_Manager>
    - std::shared_ptr<Credentials_Manager>
    - std::shared_ptr<const Policy>
    - std::shared_ptr<RandomNumberGenerator>
    - Server_Information
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 76
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 76
    functionName: Botan::TLS::Client_Impl_13::Client_Impl_13
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 0
    functionsReached:
    - expects_downgrade
    - Client_Hello_13
    - auto::value
    - tls_13_middlebox_compatibility_mode
    - send_handshake_message
    - find_preshared_keys
    - Botan::TLS::Client_Impl_13::find_session_for_resumption
    - expect_downgrade
    - auto::session::version
    - std::move
    - sending
    - set_expected_next
    - hostname
    - preserve_client_hello
    - allow_tls12
    - request_downgrade_for_resumption
    linkageType: ''
    returnType: void
    signature: "void Client_Impl_13::Client_Impl_13(const std::shared_ptr<Callbacks>&
      callbacks,\n                               const std::shared_ptr<Session_Manager>&
      session_manager,\n                               const std::shared_ptr<Credentials_Manager>&
      creds,\n                               const std::shared_ptr<const Policy>&
      policy,\n                               const std::shared_ptr<RandomNumberGenerator>&
      rng,\n                               Server_Information info,\n                               const
      std::vector<std::string>& next_protocols)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:79,1
    - Dst: confirm_transition_to
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:82,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:82,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:85,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:85,1
    - Dst: Botan::TLS::Client_Impl_13::handle
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:88,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:88,1
    - Dst: received
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:90,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - message
    argTypes:
    - Handshake_Message_13
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: Botan::TLS::Client_Impl_13::process_handshake_msg
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 0
    functionsReached:
    - received
    - std::visit
    - callbacks
    - Botan::TLS::Client_Impl_13::handle
    - confirm_transition_to
    - get
    - std::move
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::process_handshake_msg(Handshake_Message_13 message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:94,1
    - Dst: Botan::TLS::Client_Impl_13::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:94,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:96,1
    - Dst: Botan::TLS::Client_Impl_13::handle
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:96,1
    - Dst: received
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:96,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - message
    argTypes:
    - Post_Handshake_Message_13
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: Botan::TLS::Client_Impl_13::process_post_handshake_msg
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 0
    functionsReached:
    - received
    - BOTAN_STATE_CHECK
    - std::visit
    - Botan::TLS::Client_Impl_13::handle
    - Botan::TLS::Client_Impl_13::is_handshake_complete
    - std::move
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::process_post_handshake_msg(Post_Handshake_Message_13
      message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:104,1
    - Dst: has_server_finished
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:104,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionName: Botan::TLS::Client_Impl_13::process_dummy_change_cipher_spec
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 0
    functionsReached:
    - has_server_finished
    - TLS_Exception
    - has_client_hello
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::process_dummy_change_cipher_spec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handshake_finished
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: Botan::TLS::Client_Impl_13::is_handshake_complete
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 1
    functionsReached:
    - handshake_finished
    linkageType: ''
    returnType: bool
    signature: bool Client_Impl_13::is_handshake_complete() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:137,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:137,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:137,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:138,1
    - Dst: auto::front
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:145,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 148
    functionName: Botan::TLS::Client_Impl_13::find_session_for_resumption
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 1
    functionsReached:
    - session_manager
    - callbacks
    - std::move
    - policy
    - auto::empty
    - auto::front
    linkageType: ''
    returnType: std::optional<Session_with_Handle>
    signature: std::optional<Session_with_Handle> Client_Impl_13::find_session_for_resumption()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_hello_retry_request
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:151,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:152,1
    - Dst: expects_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:159,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:160,1
    - Dst: random_signals_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:173,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:174,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:183,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:184,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:191,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:192,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:192,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:193,1
    - Dst: selected_version
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:193,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:194,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:197,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:198,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:198,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:203,1
    - Dst: request_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:206,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:210,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 1
    argNames:
    - ' server_hello_msg'
    argTypes:
    - Server_Hello_12
    constantsTouched: []
    func_position:
      end: 211
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 211
    functionName: Botan::TLS::Client_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 2
    functionsReached:
    - expects_downgrade
    - has_hello_retry_request
    - session_id
    - BOTAN_ASSERT_NOMSG
    - request_downgrade
    - TLS_Exception
    - get
    - selected_version
    - policy
    - extensions
    - has
    - random_signals_downgrade
    - client_hello
    - set_expected_next
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::handle(const Server_Hello_12& server_hello_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session_id
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:219,1
    - Dst: session_id
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:219,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:220,1
    - Dst: offered_suite
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:226,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:226,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:227,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:236,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:236,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:237,1
    - Dst: selected_version
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:237,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ' ch'
    - ' sh'
    argTypes:
    - Client_Hello_13
    - Server_Hello_13
    constantsTouched: []
    func_position:
      end: 240
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 240
    functionName: Botan::TLS::validate_server_hello_ish
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - offered_suite
    - TLS_Exception
    - selected_version
    - session_id
    - extensions
    - ciphersuite
    linkageType: ''
    returnType: void
    signature: void validate_server_hello_ish(const Client_Hello_13& ch, const Server_Hello_13&
      sh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:247,1
    - Dst: validate_server_hello_ish
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:249,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:256,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:256,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:257,1
    - Dst: has_hello_retry_request
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:260,1
    - Dst: hello_retry_request
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:261,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:267,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:267,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:268,1
    - Dst: selected_version
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:275,1
    - Dst: selected_version
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:275,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:276,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:280,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:280,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:281,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:281,1
    - Dst: auto::usable_in_version
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:287,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:288,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:302,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:303,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:306,1
    - Dst: auto::decapsulate
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:307,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:307,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:307,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:307,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:307,1
    - Dst: set_algorithm
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:309,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:309,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:311,1
    - Dst: std::tie
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:312,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:313,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:313,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:313,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:318,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:318,1
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:319,1
    - Dst: advance_with_client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:325,1
    - Dst: previous
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:325,1
    - Dst: advance_with_server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:326,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:327,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:327,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:327,1
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:329,1
    - Dst: Botan::TLS::Cipher_State::init_with_server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:330,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:331,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:331,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:331,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:334,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:334,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:336,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - ' sh'
    argTypes:
    - Server_Hello_13
    constantsTouched: []
    func_position:
      end: 337
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 337
    functionName: Botan::TLS::Client_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 2
    functionsReached:
    - hello_retry_request
    - has_hello_retry_request
    - set_algorithm
    - std::tie
    - advance_with_server_hello
    - auto::usable_in_version
    - validate_server_hello_ish
    - has_value
    - previous
    - BOTAN_ASSERT_NOMSG
    - auto::value
    - auto::has_value
    - callbacks
    - extensions
    - client_hello
    - ciphersuite
    - current
    - TLS_Exception
    - selected_version
    - rng
    - reset
    - std::move
    - set_expected_next
    - auto::decapsulate
    - Botan::TLS::Ciphersuite::by_id
    - Botan::TLS::Cipher_State::init_with_server_hello
    - policy
    - advance_with_client_hello
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::handle(const Server_Hello_13& sh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:344,1
    - Dst: validate_server_hello_ish
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:346,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:352,1
    - Dst: auto::insert
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:353,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:354,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:355,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:358,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:358,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:359,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:359,1
    - Dst: Botan::TLS::Transcript_Hash_State::recreate_after_hello_retry_request
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:362,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:362,1
    - Dst: retry
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:364,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:364,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:364,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:366,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:366,1
    - Dst: send_handshake_message
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:368,1
    - Dst: std::reference_wrapper
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:368,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' hrr'
    argTypes:
    - Hello_Retry_Request
    constantsTouched: []
    func_position:
      end: 374
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 374
    functionName: Botan::TLS::Client_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 2
    functionsReached:
    - std::reference_wrapper
    - auto::insert
    - Botan::TLS::Ciphersuite::by_id
    - BOTAN_ASSERT_NOMSG
    - Botan::TLS::Transcript_Hash_State::recreate_after_hello_retry_request
    - auto::value
    - auto::has_value
    - send_handshake_message
    - callbacks
    - TLS_Exception
    - retry
    - rng
    - client_hello
    - extensions
    - validate_server_hello_ish
    - set_expected_next
    - ciphersuite
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::handle(const Hello_Retry_Request& hrr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:377,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:384,1
    - Dst: contains_other_than
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:385,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:386,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:393,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:393,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:401,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:402,1
    - Dst: set_record_size_limits
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:403,1
    - Dst: auto::limit
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:403,1
    - Dst: auto::limit
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:403,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:406,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:407,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:408,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:409,1
    - Dst: auto*::validate_selection
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:410,1
    - Dst: set_selected_certificate_type
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:419,1
    - Dst: auto*::selected_certificate_type
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:419,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:422,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:424,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:428,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:430,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - ' encrypted_extensions_msg'
    argTypes:
    - Encrypted_Extensions
    constantsTouched: []
    func_position:
      end: 432
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 432
    functionName: Botan::TLS::Client_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 2
    functionsReached:
    - auto::limit
    - set_record_size_limits
    - auto*::selected_certificate_type
    - callbacks
    - client_hello
    - server_hello
    - TLS_Exception
    - get
    - set_selected_certificate_type
    - auto*::validate_selection
    - has
    - extensions
    - contains_other_than
    - set_expected_next
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::handle(const Encrypted_Extensions& encrypted_extensions_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client_Impl_13::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:438,1
    - Dst: context
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:438,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:439,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:442,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:443,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' certificate_request_msg'
    argTypes:
    - Certificate_Request_13
    constantsTouched: []
    func_position:
      end: 445
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 445
    functionName: Botan::TLS::Client_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 2
    functionsReached:
    - context
    - callbacks
    - TLS_Exception
    - Botan::TLS::Client_Impl_13::is_handshake_complete
    - extensions
    - set_expected_next
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::handle(const Certificate_Request_13& certificate_request_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: request_context
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:451,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:452,1
    - Dst: validate_extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:458,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:458,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:458,1
    - Dst: verify
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:459,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:459,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:460,1
    - Dst: credentials_manager
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:461,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:462,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:463,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' certificate_msg'
    argTypes:
    - Certificate_13
    constantsTouched: []
    func_position:
      end: 466
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 466
    functionName: Botan::TLS::Client_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 2
    functionsReached:
    - verify
    - callbacks
    - validate_extensions
    - TLS_Exception
    - policy
    - hostname
    - credentials_manager
    - client_hello
    - request_context
    - set_expected_next
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::handle(const Certificate_13& certificate_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:477,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:478,1
    - Dst: signature_scheme
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:478,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:479,1
    - Dst: signature_scheme
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:480,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:488,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' certificate_verify_msg'
    argTypes:
    - Certificate_Verify_13
    constantsTouched: []
    func_position:
      end: 492
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 492
    functionName: Botan::TLS::Client_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 2
    functionsReached:
    - value_exists
    - TLS_Exception
    - signature_scheme
    - client_hello
    - set_expected_next
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::handle(const Certificate_Verify_13& certificate_verify_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:495,1
    - Dst: has_certificate_request
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:495,1
    - Dst: certificate_request
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:496,1
    - Dst: encrypted_extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:499,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:500,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:501,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:501,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:502,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:503,1
    - Dst: auto*::selected_certificate_type
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:512,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:526,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:526,1
    - Dst: Certificate_13
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:527,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:527,1
    - Dst: credentials_manager
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:527,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:527,1
    - Dst: client_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:535,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:536,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:536,1
    - Dst: Certificate_Verify_13
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:536,1
    - Dst: client_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:536,1
    - Dst: signature_schemes
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:537,1
    - Dst: hostname
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:538,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:539,1
    - Dst: credentials_manager
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:541,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:542,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:543,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' flight'
    argTypes:
    - Channel_Impl_13::AggregatedHandshakeMessages
    constantsTouched: []
    func_position:
      end: 546
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 546
    functionName: Botan::TLS::Client_Impl_13::send_client_authentication
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 0
    functionsReached:
    - add
    - auto*::selected_certificate_type
    - signature_schemes
    - Certificate_13
    - get
    - sending
    - BOTAN_ASSERT_NOMSG
    - callbacks
    - client_certificate
    - hostname
    - client_hello
    - encrypted_extensions
    - current
    - rng
    - has
    - certificate_request
    - Certificate_Verify_13
    - has_certificate_request
    - policy
    - credentials_manager
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::send_client_authentication(Channel_Impl_13::AggregatedHandshakeMessages&
      flight)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:553,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:553,1
    - Dst: previous
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:553,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:554,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:559,1
    - Dst: Session_Summary
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:559,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:559,1
    - Dst: Botan::TLS::Client_Impl_13::peer_cert_chain
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:561,1
    - Dst: Botan::TLS::Client_Impl_13::peer_raw_public_key
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:562,1
    - Dst: Botan::TLS::Client_Impl_13::external_psk_identity
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:563,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:564,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:566,1
    - Dst: advance_with_server_finished
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:570,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:570,1
    - Dst: aggregate_handshake_messages
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:572,1
    - Dst: has_certificate_request
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:577,1
    - Dst: Botan::TLS::Client_Impl_13::send_client_authentication
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:578,1
    - Dst: auto::add
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:582,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:582,1
    - Dst: Finished_13
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:582,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:582,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:582,1
    - Dst: auto::send
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:584,1
    - Dst: advance_with_client_finished
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:587,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:587,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:594,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' finished_msg'
    argTypes:
    - Finished_13
    constantsTouched: []
    func_position:
      end: 597
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 597
    functionName: Botan::TLS::Client_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::Client_Impl_13::send_client_authentication
    - Botan::TLS::Client_Impl_13::peer_cert_chain
    - get
    - sending
    - Finished_13
    - auto::add
    - aggregate_handshake_messages
    - Botan::TLS::Client_Impl_13::peer_raw_public_key
    - has_value
    - advance_with_client_finished
    - previous
    - callbacks
    - verify
    - advance_with_server_finished
    - auto::send
    - current
    - server_hello
    - TLS_Exception
    - set_expected_next
    - Botan::TLS::Client_Impl_13::external_psk_identity
    - has_certificate_request
    - Session_Summary
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::handle(const Finished_13& finished_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:600,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:601,1
    - Dst: psk
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:603,1
    - Dst: nonce
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:603,1
    - Dst: early_data_byte_limit
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:604,1
    - Dst: ticket_age_add
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:605,1
    - Dst: lifetime_hint
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:606,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:607,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:608,1
    - Dst: peer_cert_chain
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:610,1
    - Dst: peer_raw_public_key
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:611,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:613,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:615,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:616,1
    - Dst: handle
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' new_session_ticket'
    argTypes:
    - New_Session_Ticket_13
    constantsTouched: []
    func_position:
      end: 618
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 618
    functionName: TLS::Client_Impl_13::handle(const New_Session_Ticket_13& new_session_ticket)
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 0
    functionsReached:
    - session_manager
    - handle
    - ticket_age_add
    - psk
    - peer_raw_public_key
    - nonce
    - callbacks
    - server_hello
    - early_data_byte_limit
    - peer_cert_chain
    - lifetime_hint
    - extensions
    linkageType: ''
    returnType: void
    signature: void TLS::Client_Impl_13::handle(const New_Session_Ticket_13& new_session_ticket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_server_certificate_msg
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:621,1
    - Dst: server_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:622,1
    - Dst: server_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:623,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:626,1
    - Dst: session::peer_certs
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 631
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 631
    functionName: Botan::TLS::Client_Impl_13::peer_cert_chain
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 1
    functionsReached:
    - session::peer_certs
    - server_certificate
    - has_server_certificate_msg
    - has_value
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> Client_Impl_13::peer_cert_chain() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_server_certificate_msg
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:634,1
    - Dst: server_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:634,1
    - Dst: server_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:635,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:638,1
    - Dst: session::peer_raw_public_key
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:639,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 643
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 643
    functionName: Botan::TLS::Client_Impl_13::peer_raw_public_key
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 1
    functionsReached:
    - server_certificate
    - has_server_certificate_msg
    - has_value
    - session::peer_raw_public_key
    linkageType: ''
    returnType: std::shared_ptr<const Public_Key>
    signature: std::shared_ptr<const Public_Key> Client_Impl_13::peer_raw_public_key()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: Botan::TLS::Client_Impl_13::external_psk_identity
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> Client_Impl_13::external_psk_identity()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 651
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 651
    functionName: Botan::TLS::Client_Impl_13::prepend_ccs
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: bool
    signature: bool Client_Impl_13::prepend_ccs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:654,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:655,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - label
    - secret
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 657
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 657
    functionName: Botan::TLS::Client_Impl_13::maybe_log_secret
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 0
    functionsReached:
    - client_hello
    - callbacks
    - policy
    linkageType: ''
    returnType: void
    signature: void Client_Impl_13::maybe_log_secret(std::string_view label, std::span<const
      uint8_t> secret) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client_Impl_13::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:660,1
    - Dst: encrypted_extensions
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:661,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:662,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 668
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 668
    functionName: Botan::TLS::Client_Impl_13::application_protocol
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_client_impl_13.cpp
    functionUses: 0
    functionsReached:
    - get
    - has
    - Botan::TLS::Client_Impl_13::is_handshake_complete
    - encrypted_extensions
    linkageType: ''
    returnType: std::string
    signature: std::string Client_Impl_13::application_protocol() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Transcript_Hash_State::set_algorithm
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::TLS::Transcript_Hash_State::Transcript_Hash_State
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Transcript_Hash_State::set_algorithm
    linkageType: ''
    returnType: void
    signature: void Transcript_Hash_State::Transcript_Hash_State(std::string_view
      algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_hash::copy_state
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Transcript_Hash_State
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: Botan::TLS::Transcript_Hash_State::Transcript_Hash_State
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 0
    functionsReached:
    - m_hash::copy_state
    linkageType: ''
    returnType: void
    signature: void Transcript_Hash_State::Transcript_Hash_State(const Transcript_Hash_State&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:34,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:35,1
    - Dst: m_unprocessed_transcript::size
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:35,1
    - Dst: m_unprocessed_transcript::front
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:39,1
    - Dst: m_unprocessed_transcript::back
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:40,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:43,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:50,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:51,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:52,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:53,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:54,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:54,1
    - Dst: Transcript_Hash_State::m_hash::process
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:55,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:57,1
    - Dst: Transcript_Hash_State::update
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - algo_spec
    - ' prev_transcript_hash_state'
    argTypes:
    - std::string_view
    - Transcript_Hash_State
    constantsTouched: []
    func_position:
      end: 61
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 61
    functionName: Botan::TLS::Transcript_Hash_State::recreate_after_hello_retry_request
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 3
    functionsReached:
    - Transcript_Hash_State::m_hash::process
    - Transcript_Hash_State::update
    - BOTAN_ASSERT_NOMSG
    - BOTAN_STATE_CHECK
    - m_unprocessed_transcript::front
    - std::vector::push_back
    - std::vector::reserve
    - m_unprocessed_transcript::back
    - static_cast<uint8_t>
    - m_unprocessed_transcript::size
    linkageType: ''
    returnType: Transcript_Hash_State
    signature: "Transcript_Hash_State Transcript_Hash_State::recreate_after_hello_retry_request(\n
      \  std::string_view algo_spec, const Transcript_Hash_State& prev_transcript_hash_state)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:80,1
    - Dst: TLS_Data_Reader::get_byte
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:80,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:80,1
    - Dst: TLS_Data_Reader::discard_next
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:83,1
    - Dst: TLS_Data_Reader::discard_next
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:86,1
    - Dst: TLS_Data_Reader::discard_next
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:89,1
    - Dst: TLS_Data_Reader::get_byte
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:92,1
    - Dst: TLS_Data_Reader::discard_next
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:93,1
    - Dst: TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:99,1
    - Dst: TLS_Data_Reader::discard_next
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:100,1
    - Dst: TLS_Data_Reader::get_byte
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:103,1
    - Dst: TLS_Data_Reader::discard_next
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:104,1
    - Dst: TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:107,1
    - Dst: TLS_Data_Reader::read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:108,1
    - Dst: TLS_Data_Reader::has_remaining
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:109,1
    - Dst: TLS_Data_Reader::read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:109,1
    - Dst: static_cast<Extension_Code>
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:110,1
    - Dst: TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:110,1
    - Dst: TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:111,1
    - Dst: TLS_Data_Reader::discard_next
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:115,1
    - Dst: TLS_Data_Reader::get_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:120,1
    - Dst: TLS_Data_Reader::discard_next
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:121,1
    - Dst: TLS_Data_Reader::peek_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:124,1
    - Dst: TLS_Data_Reader::remaining_bytes
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:125,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:126,1
    - Dst: TLS_Data_Reader::read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - client_hello
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 136
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 136
    functionName: Botan::TLS::find_client_hello_truncation_mark
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 0
    functionsReached:
    - TLS_Data_Reader::get_uint16_t
    - BOTAN_ASSERT_NOMSG
    - TLS_Data_Reader::remaining_bytes
    - TLS_Data_Reader::has_remaining
    - TLS_Data_Reader::peek_uint16_t
    - TLS_Data_Reader::discard_next
    - static_cast<Extension_Code>
    - TLS_Data_Reader::get_byte
    - TLS_Exception
    - TLS_Data_Reader::read_so_far
    - static_cast<uint8_t>
    linkageType: ''
    returnType: size_t
    signature: size_t find_client_hello_truncation_mark(std::span<const uint8_t> client_hello)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_state
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: Botan::TLS::read_hash_state
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 0
    functionsReached:
    - copy_state
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> read_hash_state(std::unique_ptr<HashFunction>&
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:148,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:149,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:155,1
    - Dst: find_client_hello_truncation_mark
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:156,1
    - Dst: Botan::TLS::Transcript_Hash_State::update
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:160,1
    - Dst: read_hash_state
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:161,1
    - Dst: Botan::TLS::Transcript_Hash_State::update
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:162,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:164,1
    - Dst: Botan::TLS::Transcript_Hash_State::update
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:165,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:168,1
    - Dst: read_hash_state
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:168,1
    - Dst: push_back
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:170,1
    - Dst: std::vector
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - serialized_message_s
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 173
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 173
    functionName: Botan::TLS::Transcript_Hash_State::update
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Transcript_Hash_State::update
    - std::span<const uint8_t>::data
    - std::exchange
    - std::vector
    - read_hash_state
    - clear
    - push_back
    - std::span<const uint8_t>::size
    - static_cast<uint8_t>
    - find_client_hello_truncation_mark
    linkageType: ''
    returnType: void
    signature: void Transcript_Hash_State::update(std::span<const uint8_t> serialized_message_s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:176,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: '& Transcript_Hash_State::current() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 0
    functionsReached:
    - empty
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: Transcript_Hash
    signature: Transcript_Hash & Transcript_Hash_State::current() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:181,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: '& Transcript_Hash_State::previous() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 0
    functionsReached:
    - empty
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: Transcript_Hash
    signature: Transcript_Hash & Transcript_Hash_State::previous() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:186,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: '& Transcript_Hash_State::truncated() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 0
    functionsReached:
    - empty
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: Transcript_Hash
    signature: Transcript_Hash & Transcript_Hash_State::truncated() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:191,1
    - Dst: name
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:191,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:196,1
    - Dst: Botan::TLS::Transcript_Hash_State::update
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:198,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: Botan::TLS::Transcript_Hash_State::set_algorithm
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Transcript_Hash_State::update
    - name
    - Botan::HashFunction::create_or_throw
    - BOTAN_STATE_CHECK
    - clear
    linkageType: ''
    returnType: void
    signature: void Transcript_Hash_State::set_algorithm(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: Botan::TLS::Transcript_Hash_State::clone
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Transcript_Hash_State
    signature: Transcript_Hash_State Transcript_Hash_State::clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: Botan::TLS::Certificate_Request_13::type
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handshake_Type
    signature: Handshake_Type Certificate_Request_13::type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:28,1
    - Dst: TLS_Data_Reader::get_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:31,1
    - Dst: deserialize
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:32,1
    - Dst: Botan::TLS::Certificate_Request_13::type
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:32,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:39,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:40,1
    - Dst: contains_implemented_extensions_other_than
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:62,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ' buf'
    - side
    argTypes:
    - std::vector<uint8_t>
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 65
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 65
    functionName: Botan::TLS::Certificate_Request_13::Certificate_Request_13
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp
    functionUses: 0
    functionsReached:
    - TLS_Data_Reader::get_tls_length_value
    - contains_implemented_extensions_other_than
    - TLS_Exception
    - deserialize
    - has
    - Botan::TLS::Certificate_Request_13::type
    linkageType: ''
    returnType: void
    signature: void Certificate_Request_13::Certificate_Request_13(const std::vector<uint8_t>&
      buf, const Connection_Side side)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:87,1
    - Dst: std::make_unique<Signature_Algorithms>
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:87,1
    - Dst: acceptable_signature_schemes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:87,1
    - Dst: acceptable_certificate_signature_schemes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:88,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:92,1
    - Dst: std::make_unique<Signature_Algorithms_Cert>
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:92,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:92,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:92,1
    - Dst: std::vector<X509_DN>::empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:95,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:96,1
    - Dst: std::make_unique<Certificate_Authorities>
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:96,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:96,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:101,1
    - Dst: Botan::TLS::Certificate_Request_13::type
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - acceptable_CAs
    - ' policy'
    - ' callbacks'
    argTypes:
    - std::vector<X509_DN>
    - Policy
    - Callbacks
    constantsTouched: []
    func_position:
      end: 102
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 102
    functionName: Botan::TLS::Certificate_Request_13::Certificate_Request_13
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp
    functionUses: 0
    functionsReached:
    - add
    - std::vector<X509_DN>::empty
    - acceptable_signature_schemes
    - auto::value
    - acceptable_certificate_signature_schemes
    - tls_modify_extensions
    - std::make_unique<Signature_Algorithms>
    - std::make_unique<Certificate_Authorities>
    - std::make_unique<Signature_Algorithms_Cert>
    - std::move
    - Botan::TLS::Certificate_Request_13::type
    linkageType: ''
    returnType: void
    signature: "void Certificate_Request_13::Certificate_Request_13(std::vector<X509_DN>
      acceptable_CAs,\n                                               const Policy&
      policy,\n                                               Callbacks& callbacks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trusted_certificate_authorities
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:108,1
    - Dst: sni_hostname
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:108,1
    - Dst: all_subjects
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:112,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:113,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:113,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:113,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:113,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:116,1
    - Dst: request_client_certificate_authentication
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:116,1
    - Dst: Botan::TLS::Certificate_Request_13::Certificate_Request_13
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:120,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - ' client_hello'
    - ' cred_mgr'
    - ' callbacks'
    - ' policy'
    argTypes:
    - Client_Hello_13
    - Credentials_Manager
    - Callbacks
    - Policy
    constantsTouched: []
    func_position:
      end: 121
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 121
    functionName: Botan::TLS::Certificate_Request_13::maybe_create
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - all_subjects
    - auto::end
    - request_client_certificate_authentication
    - auto::begin
    - std::vector::insert
    - std::move
    - std::vector::end
    - sni_hostname
    - trusted_certificate_authorities
    - Botan::TLS::Certificate_Request_13::Certificate_Request_13
    linkageType: ''
    returnType: std::optional<Certificate_Request_13>
    signature: "std::optional<Certificate_Request_13> Certificate_Request_13::maybe_create(const
      Client_Hello_13& client_hello,\n                                                                           Credentials_Manager&
      cred_mgr,\n                                                                           Callbacks&
      callbacks,\n                                                                           const
      Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:124,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: Botan::TLS::Certificate_Request_13::acceptable_CAs
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp
    functionUses: 0
    functionsReached:
    - has
    - get
    linkageType: ''
    returnType: std::vector<X509_DN>
    signature: std::vector<X509_DN> Certificate_Request_13::acceptable_CAs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:133,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:133,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: '& Certificate_Request_13::signature_schemes() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp
    functionUses: 0
    functionsReached:
    - has
    - get
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> & Certificate_Request_13::signature_schemes()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:143,1
    - Dst: auto::supported_schemes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:144,1
    - Dst: signature_schemes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: '& Certificate_Request_13::certificate_signature_schemes() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp
    functionUses: 0
    functionsReached:
    - get
    - signature_schemes
    - auto::supported_schemes
    linkageType: ''
    returnType: std::vector<Signature_Scheme>
    signature: std::vector<Signature_Scheme> & Certificate_Request_13::certificate_signature_schemes()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:152,1
    - Dst: Botan::TLS::Certificate_Request_13::serialize
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: Botan::TLS::Certificate_Request_13::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_req_13.cpp
    functionUses: 1
    functionsReached:
    - append_tls_length_value
    - Botan::TLS::Certificate_Request_13::serialize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_Request_13::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Handshake_Layer
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.h:30,1
    - Dst: m_peer
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.h:31,1
    - Dst: m_certificate_type
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.h:41,1
    - Dst: Botan::TLS::empty
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 118
    functionName: Botan::TLS::Handshake_Layer
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_layer_13.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::Handshake_Layer
    - m_certificate_type
    - Botan::TLS::empty
    - m_peer
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Handshake_Layer
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - request_peer_update
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: Botan::TLS::Key_Update::Key_Update
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_key_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Update::Key_Update(const bool request_peer_update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/msg_key_update.cpp:18,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_key_update.cpp:19,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_key_update.cpp:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: Botan::TLS::Key_Update::Key_Update
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_key_update.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - size
    linkageType: ''
    returnType: void
    signature: void Key_Update::Key_Update(const std::vector<uint8_t>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/msg_key_update.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::TLS::Key_Update::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_key_update.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Key_Update::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~Secret_Logger()
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Secret_Logger()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Botan::TLS::Channel_Impl_13::AggregatedMessages::AggregatedMessages
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AggregatedMessages(const AggregatedMessages&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '& operator=(const AggregatedMessages&)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AggregatedMessages
    signature: AggregatedMessages & operator=(const AggregatedMessages&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan::TLS::Channel_Impl_13::AggregatedMessages::AggregatedMessages
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AggregatedMessages(AggregatedMessages&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '& operator=(AggregatedMessages&&)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AggregatedMessages
    signature: AggregatedMessages & operator=(AggregatedMessages&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: ~AggregatedMessages()
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AggregatedMessages()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan::TLS::Channel_Impl_13::AggregatedMessages::contains_messages
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool contains_messages() const
  - 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: Botan::TLS::Channel_Impl_13::Channel_Impl_13
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13(const Channel_Impl_13&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: '& operator=(const Channel_Impl_13&)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Channel_Impl_13
    signature: Channel_Impl_13 & operator=(const Channel_Impl_13&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_13::is_closed_for_reading
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:167,1
    - Dst: Botan::TLS::Channel_Impl_13::is_closed_for_writing
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: Botan::TLS::Channel_Impl_13::is_closed
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_13::is_closed_for_writing
    - Botan::TLS::Channel_Impl_13::is_closed_for_reading
    linkageType: ''
    returnType: bool
    signature: bool is_closed() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: Botan::TLS::Channel_Impl_13::is_closed_for_reading
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_closed_for_reading() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: Botan::TLS::Channel_Impl_13::is_closed_for_writing
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_closed_for_writing() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: Botan::TLS::Channel_Impl_13::renegotiate
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void renegotiate(bool /* unused */) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: Botan::TLS::Channel_Impl_13::secure_renegotiation_supported
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool secure_renegotiation_supported() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: Botan::TLS::Channel_Impl_13::timeout_check
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool timeout_check() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: Botan::TLS::Channel_Impl_13::prepend_ccs
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool prepend_ccs()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: Botan::TLS::Channel_Impl_13::opportunistically_update_traffic_keys
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void opportunistically_update_traffic_keys()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_13::aggregate_handshake_messages
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:242,1
    - Dst: generalize_to<Handshake_Message_13_Ref>
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::variant<MsgTs...>
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: Botan::TLS::Channel_Impl_13::send_handshake_message
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_13::aggregate_handshake_messages
    - generalize_to<Handshake_Message_13_Ref>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> send_handshake_message(const std::variant<MsgTs...>&
      message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_13::send_handshake_message
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:247,1
    - Dst: generalize_to<Handshake_Message_13_Ref>
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::reference_wrapper<MsgT>
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: Botan::TLS::Channel_Impl_13::send_handshake_message
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::Channel_Impl_13::send_handshake_message
    - generalize_to<Handshake_Message_13_Ref>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> send_handshake_message(std::reference_wrapper<MsgT>
      message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_13::aggregate_post_handshake_messages
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:251,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - Post_Handshake_Message_13
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: Botan::TLS::Channel_Impl_13::send_post_handshake_message
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TLS::Channel_Impl_13::aggregate_post_handshake_messages
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> send_post_handshake_message(Post_Handshake_Message_13
      message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AggregatedHandshakeMessages
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: Botan::TLS::Channel_Impl_13::aggregate_handshake_messages
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 1
    functionsReached:
    - AggregatedHandshakeMessages
    linkageType: ''
    returnType: AggregatedHandshakeMessages
    signature: AggregatedHandshakeMessages aggregate_handshake_messages()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AggregatedPostHandshakeMessages
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: Botan::TLS::Channel_Impl_13::aggregate_post_handshake_messages
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 1
    functionsReached:
    - AggregatedPostHandshakeMessages
    linkageType: ''
    returnType: AggregatedPostHandshakeMessages
    signature: AggregatedPostHandshakeMessages aggregate_post_handshake_messages()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: '& callbacks() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Callbacks
    signature: Callbacks & callbacks() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: '& session_manager()'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Session_Manager
    signature: Session_Manager & session_manager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 268
    functionName: '& credentials_manager()'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Credentials_Manager
    signature: Credentials_Manager & credentials_manager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: '& rng()'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RandomNumberGenerator
    signature: RandomNumberGenerator & rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: '& policy() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Policy
    signature: Policy & policy() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:16,1
    - Dst: has_hello_retry_request
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:16,1
    - Dst: validate_updates
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:17,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:20,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - client_hello
    argTypes:
    - Client_Hello_13
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: '& Handshake_State_13_Base::store(Client_Hello_13 client_hello,
      const bool)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - has_hello_retry_request
    - BOTAN_STATE_CHECK
    - validate_updates
    - std::move
    - value
    linkageType: ''
    returnType: Client_Hello_13
    signature: Client_Hello_13 & Handshake_State_13_Base::store(Client_Hello_13 client_hello,
      const bool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:25,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - client_hello
    argTypes:
    - Client_Hello_12
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: '& Handshake_State_13_Base::store(Client_Hello_12 client_hello,
      const bool)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - value
    linkageType: ''
    returnType: Client_Hello_12
    signature: Client_Hello_12 & Handshake_State_13_Base::store(Client_Hello_12 client_hello,
      const bool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:30,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - server_hello
    argTypes:
    - Server_Hello_13
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: '& Handshake_State_13_Base::store(Server_Hello_13 server_hello,
      const bool)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - value
    linkageType: ''
    returnType: Server_Hello_13
    signature: Server_Hello_13 & Handshake_State_13_Base::store(Server_Hello_13 server_hello,
      const bool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:35,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - server_hello
    argTypes:
    - Server_Hello_12
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '& Handshake_State_13_Base::store(Server_Hello_12 server_hello,
      const bool)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - value
    linkageType: ''
    returnType: Server_Hello_12
    signature: Server_Hello_12 & Handshake_State_13_Base::store(Server_Hello_12 server_hello,
      const bool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:40,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hello_retry_request
    argTypes:
    - Hello_Retry_Request
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '& Handshake_State_13_Base::store(Hello_Retry_Request hello_retry_request,
      const bool)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - value
    linkageType: ''
    returnType: Hello_Retry_Request
    signature: Hello_Retry_Request & Handshake_State_13_Base::store(Hello_Retry_Request
      hello_retry_request, const bool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:45,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - encrypted_extensions
    argTypes:
    - Encrypted_Extensions
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '& Handshake_State_13_Base::store(Encrypted_Extensions encrypted_extensions,
      const bool)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - value
    linkageType: ''
    returnType: Encrypted_Extensions
    signature: Encrypted_Extensions & Handshake_State_13_Base::store(Encrypted_Extensions
      encrypted_extensions, const bool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:50,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - certificate_request
    argTypes:
    - Certificate_Request_13
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '& Handshake_State_13_Base::store(Certificate_Request_13 certificate_request,
      const bool)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - value
    linkageType: ''
    returnType: Certificate_Request_13
    signature: Certificate_Request_13 & Handshake_State_13_Base::store(Certificate_Request_13
      certificate_request, const bool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:56,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - certificate
    - from_peer
    argTypes:
    - Certificate_13
    - bool
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: '& Handshake_State_13_Base::store(Certificate_13 certificate, const
      bool from_peer)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - value
    linkageType: ''
    returnType: Certificate_13
    signature: Certificate_13 & Handshake_State_13_Base::store(Certificate_13 certificate,
      const bool from_peer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:63,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - certificate_verify
    - from_peer
    argTypes:
    - Certificate_Verify_13
    - bool
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: '& Handshake_State_13_Base::store(Certificate_Verify_13 certificate_verify,
      const bool from_peer)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - value
    linkageType: ''
    returnType: Certificate_Verify_13
    signature: Certificate_Verify_13 & Handshake_State_13_Base::store(Certificate_Verify_13
      certificate_verify, const bool from_peer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:69,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - finished
    - from_peer
    argTypes:
    - Finished_13
    - bool
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: '& Handshake_State_13_Base::store(Finished_13 finished, const bool
      from_peer)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - value
    linkageType: ''
    returnType: Finished_13
    signature: Finished_13 & Handshake_State_13_Base::store(Finished_13 finished,
      const bool from_peer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - record_type
    - frgmnt
    argTypes:
    - Record_Type
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: Botan::TLS::Record
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Record(Record_Type record_type, secure_vector<uint8_t> frgmnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Record_Layer
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.h:48,1
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 117
    functionName: Botan::TLS::Record_Layer
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.h
    functionUses: 3
    functionsReached:
    - zap
    - Botan::TLS::Record_Layer
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Record_Layer
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - ticket_age_add
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: Botan::TLS::obfuscate_ticket_age
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t obfuscate_ticket_age(const uint64_t in, const uint64_t ticket_age_add)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp:31,1
    - Dst: Opaque_Session_Handle::get
      Src: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp:31,1
    - Dst: obfuscate_ticket_age
      Src: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp:31,1
    - Dst: std::chrono::milliseconds::count
      Src: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - identity
    - age
    - ticket_age_add
    argTypes:
    - Opaque_Session_Handle
    - std::chrono::milliseconds
    - uint32_t
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: Botan::TLS::PskIdentity::PskIdentity
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp
    functionUses: 1
    functionsReached:
    - std::chrono::milliseconds::count
    - obfuscate_ticket_age
    - std::move
    - Opaque_Session_Handle::get
    linkageType: ''
    returnType: void
    signature: "void PskIdentity::PskIdentity(Opaque_Session_Handle identity,\n                         const
      std::chrono::milliseconds age,\n                         const uint32_t ticket_age_add)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_byte_vector
      Src: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp:34,1
    - Dst: PresharedKeyID::get
      Src: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - identity
    argTypes:
    - PresharedKeyID
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: Botan::TLS::PskIdentity::PskIdentity
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp
    functionUses: 1
    functionsReached:
    - to_byte_vector
    - PresharedKeyID::get
    linkageType: ''
    returnType: void
    signature: void PskIdentity::PskIdentity(PresharedKeyID identity)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp:42,1
    - Dst: obfuscate_ticket_age
      Src: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ticket_age_add
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::TLS::PskIdentity::age
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp
    functionUses: 0
    functionsReached:
    - Botan_CLI::Timer::milliseconds
    - obfuscate_ticket_age
    linkageType: ''
    returnType: std::chrono::milliseconds
    signature: std::chrono::milliseconds PskIdentity::age(const uint32_t ticket_age_add)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::TLS::PskIdentity::identity_as_string
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string PskIdentity::identity_as_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: constraints
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:34,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:35,1
    - Dst: auto::includes_any
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: Botan::TLS::certificate_allows_signing
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - constraints
    - auto::empty
    - auto::includes_any
    linkageType: ''
    returnType: bool
    signature: bool certificate_allows_signing(const X509_Certificate& cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_available
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:45,1
    - Dst: is_compatible_with
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:45,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:46,1
    - Dst: algorithm_name
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:46,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:50,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ' peer_scheme_preference'
    argTypes:
    - std::vector<Signature_Scheme>
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: Botan::TLS::filter_signature_schemes
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - std::vector::push_back
    - algorithm_name
    - TLS_Exception
    - is_available
    - is_compatible_with
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> filter_signature_schemes(const std::vector<Signature_Scheme>&
      peer_scheme_preference)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:60,1
    - Dst: front
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::TLS::Certificate_13::has_certificate_chain
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - empty
    - front
    linkageType: ''
    returnType: bool
    signature: bool Certificate_13::has_certificate_chain() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:64,1
    - Dst: Botan::TLS::Certificate_13::has_certificate_chain
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::TLS::Certificate_13::is_raw_public_key
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - empty
    - Botan::TLS::Certificate_13::has_certificate_chain
    linkageType: ''
    returnType: bool
    signature: bool Certificate_13::is_raw_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:68,1
    - Dst: Botan::TLS::Certificate_13::has_certificate_chain
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:68,1
    - Dst: std::transform
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:70,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:70,1
    - Dst: cend
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:70,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:70,1
    - Dst: certificate
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: Botan::TLS::Certificate_13::cert_chain
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - certificate
    - std::transform
    - BOTAN_STATE_CHECK
    - std::back_inserter
    - cbegin
    - Botan::TLS::Certificate_13::has_certificate_chain
    - cend
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> Certificate_13::cert_chain() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:83,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:84,1
    - Dst: tls_examine_extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:87,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:87,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' requested_extensions'
    - ' cb'
    argTypes:
    - std::set<Extension_Code>
    - Callbacks
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: Botan::TLS::Certificate_13::validate_extensions
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - type
    - extensions
    - TLS_Exception
    - tls_examine_extensions
    linkageType: ''
    returnType: void
    signature: void Certificate_13::validate_extensions(const std::set<Extension_Code>&
      requested_extensions, Callbacks& cb) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:92,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:92,1
    - Dst: front
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: Botan::TLS::Certificate_13::public_key
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - front
    - empty
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: std::shared_ptr<const Public_Key>
    signature: std::shared_ptr<const Public_Key> Certificate_13::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:97,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:97,1
    - Dst: front
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '& Certificate_13::leaf() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - front
    - empty
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: X509_Certificate
    signature: X509_Certificate & Certificate_13::leaf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Certificate_13::is_raw_public_key
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:108,1
    - Dst: tls_verify_raw_public_key
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:109,1
    - Dst: Botan::TLS::Certificate_13::public_key
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:109,1
    - Dst: Botan::TLS::Certificate_13::verify_certificate_chain
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ' callbacks'
    - ' policy'
    - ' creds'
    - hostname
    - use_ocsp
    argTypes:
    - Callbacks
    - Policy
    - Credentials_Manager
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: Botan::TLS::Certificate_13::verify
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Certificate_13::is_raw_public_key
    - Botan::TLS::Certificate_13::verify_certificate_chain
    - tls_verify_raw_public_key
    - Botan::TLS::Certificate_13::public_key
    linkageType: ''
    returnType: void
    signature: "void Certificate_13::verify(Callbacks& callbacks,\n                            const
      Policy& policy,\n                            Credentials_Manager& creds,\n                            std::string_view
      hostname,\n                            bool use_ocsp) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:124,1
    - Dst: certificate
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:124,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:126,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:127,1
    - Dst: tls_parse_ocsp_response
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:127,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:128,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:130,1
    - Dst: front
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:135,1
    - Dst: certificate_allows_signing
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:136,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:137,1
    - Dst: trusted_certificate_authorities
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:141,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:142,1
    - Dst: tls_verify_cert_chain
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 6
    argNames:
    - ' callbacks'
    - ' policy'
    - ' creds'
    - hostname
    - use_ocsp
    - usage_type
    argTypes:
    - Callbacks
    - Policy
    - Credentials_Manager
    - std::string_view
    - bool
    - Usage_Type
    constantsTouched: []
    func_position:
      end: 145
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 145
    functionName: Botan::TLS::Certificate_13::verify_certificate_chain
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 1
    functionsReached:
    - certificate
    - front
    - tls_parse_ocsp_response
    - certificate_allows_signing
    - std::string
    - std::vector::push_back
    - TLS_Exception
    - tls_verify_cert_chain
    - std::vector::emplace_back
    - trusted_certificate_authorities
    - extensions
    linkageType: ''
    returnType: void
    signature: "void Certificate_13::verify_certificate_chain(Callbacks& callbacks,\n
      \                                             const Policy& policy,\n                                              Credentials_Manager&
      creds,\n                                              std::string_view hostname,\n
      \                                             bool use_ocsp,\n                                              Usage_Type
      usage_type) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tls_provide_cert_chain_status
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:154,1
    - Dst: std::vector<std::vector<uint8_t>>
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:155,1
    - Dst: std::vector<X509_Certificate>::size
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:155,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:157,1
    - Dst: std::vector<X509_Certificate>::size
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:157,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:158,1
    - Dst: std::vector<X509_Certificate>::size
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:161,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:162,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:163,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:164,1
    - Dst: Certificate_Status_Request::Certificate_Status_Request
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:164,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:175,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:175,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - cert_chain
    - csr
    - ' callbacks'
    argTypes:
    - std::vector<X509_Certificate>
    - Certificate_Status_Request*
    - Callbacks
    constantsTouched: []
    func_position:
      end: 177
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 177
    functionName: Botan::TLS::Certificate_13::setup_entries
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - Certificate_Status_Request::Certificate_Status_Request
    - type
    - tls_provide_cert_chain_status
    - tls_modify_extensions
    - emplace_back
    - std::vector<X509_Certificate>::size
    - empty
    - std::vector<std::vector<uint8_t>>
    - TLS_Exception
    - auto::size
    - extensions
    linkageType: ''
    returnType: void
    signature: "void Certificate_13::setup_entries(std::vector<X509_Certificate> cert_chain,\n
      \                                  const Certificate_Status_Request* csr,\n
      \                                  Callbacks& callbacks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:180,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:181,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:181,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:182,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:182,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - raw_public_key
    - ' callbacks'
    argTypes:
    - std::shared_ptr<Public_Key>
    - Callbacks
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: Botan::TLS::Certificate_13::setup_entry
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - type
    - tls_modify_extensions
    - emplace_back
    - std::move
    - extensions
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Certificate_13::setup_entry(std::shared_ptr<Public_Key> raw_public_key,
      Callbacks& callbacks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: context
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:193,1
    - Dst: filter_signature_schemes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:194,1
    - Dst: signature_schemes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:194,1
    - Dst: Botan::TLS::Certificate_13::setup_entries
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:198,1
    - Dst: find_cert_chain
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:199,1
    - Dst: to_algorithm_identifiers
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:200,1
    - Dst: certificate_signature_schemes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:200,1
    - Dst: acceptable_CAs
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:201,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:203,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:204,1
    - Dst: find_raw_public_key
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:207,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:207,1
    - Dst: Botan::TLS::Certificate_13::setup_entry
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:217,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - ' cert_request'
    - hostname
    - ' credentials_manager'
    - ' callbacks'
    - cert_type
    argTypes:
    - Certificate_Request_13
    - std::string_view
    - Credentials_Manager
    - Callbacks
    - Certificate_Type
    constantsTouched: []
    func_position:
      end: 220
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 220
    functionName: Botan::TLS::Certificate_13::Certificate_13
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Certificate_13::setup_entry
    - context
    - Botan::TLS::Certificate_13::setup_entries
    - signature_schemes
    - std::string
    - find_raw_public_key
    - certificate_signature_schemes
    - std::move
    - find_cert_chain
    - filter_signature_schemes
    - extensions
    - to_algorithm_identifiers
    - acceptable_CAs
    linkageType: ''
    returnType: void
    signature: "void Certificate_13::Certificate_13(const Certificate_Request_13&
      cert_request,\n                               std::string_view hostname,\n                               Credentials_Manager&
      credentials_manager,\n                               Callbacks& callbacks,\n
      \                              Certificate_Type cert_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:233,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:233,1
    - Dst: filter_signature_schemes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:235,1
    - Dst: signature_schemes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:235,1
    - Dst: sni_hostname
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:237,1
    - Dst: find_cert_chain
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:240,1
    - Dst: to_algorithm_identifiers
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:241,1
    - Dst: certificate_signature_schemes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:241,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:245,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:246,1
    - Dst: Botan::TLS::Certificate_13::setup_entries
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:249,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:249,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:249,1
    - Dst: find_raw_public_key
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:251,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:259,1
    - Dst: Botan::TLS::Certificate_13::setup_entry
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:262,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ' client_hello'
    - ' credentials_manager'
    - ' callbacks'
    - cert_type
    argTypes:
    - Client_Hello_13
    - Credentials_Manager
    - Callbacks
    - Certificate_Type
    constantsTouched: []
    func_position:
      end: 264
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 264
    functionName: Botan::TLS::Certificate_13::Certificate_13
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - Botan::TLS::Certificate_13::setup_entry
    - Botan::TLS::Certificate_13::setup_entries
    - signature_schemes
    - auto::empty
    - find_raw_public_key
    - certificate_signature_schemes
    - TLS_Exception
    - std::move
    - filter_signature_schemes
    - find_cert_chain
    - sni_hostname
    - extensions
    - to_algorithm_identifiers
    linkageType: ''
    returnType: void
    signature: "void Certificate_13::Certificate_13(const Client_Hello_13& client_hello,\n
      \                              Credentials_Manager& credentials_manager,\n                               Callbacks&
      callbacks,\n                               Certificate_Type cert_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_Certificate
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:274,1
    - Dst: get_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:274,1
    - Dst: subject_public_key
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:275,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:282,1
    - Dst: get_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:282,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:285,1
    - Dst: peek_uint16_t
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:291,1
    - Dst: get_fixed
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:292,1
    - Dst: deserialize
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:294,1
    - Dst: contains_implemented_extensions_other_than
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:307,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:311,1
    - Dst: contains_implemented_extensions_other_than
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:313,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:314,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - ' reader'
    - side
    - cert_type
    argTypes:
    - TLS_Data_Reader
    - Connection_Side
    - Certificate_Type
    constantsTouched: []
    func_position:
      end: 318
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 318
    functionName: "Certificate_13::Certificate_Entry::Certificate_Entry(TLS_Data_Reader&
      reader,\n                                                     const Connection_Side
      side,\n                                                     const Certificate_Type
      cert_type)"
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - get_fixed
    - Botan::X509::load_key
    - subject_public_key
    - X509_Certificate
    - get_tls_length_value
    - peek_uint16_t
    - TLS_Exception
    - contains_implemented_extensions_other_than
    - deserialize
    linkageType: ''
    returnType: void
    signature: "void Certificate_13::Certificate_Entry::Certificate_Entry(TLS_Data_Reader&
      reader,\n                                                     const Connection_Side
      side,\n                                                     const Certificate_Type
      cert_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:321,1
    - Dst: subject_public_key
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 321
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 321
    functionName: Certificate_13::Certificate_Entry::Certificate_Entry(X509_Certificate
      cert)
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - subject_public_key
    linkageType: ''
    returnType: void
    signature: void Certificate_13::Certificate_Entry::Certificate_Entry(X509_Certificate
      cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:324,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raw_public_key
    argTypes:
    - std::shared_ptr<Public_Key>
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: Certificate_13::Certificate_Entry::Certificate_Entry(std::shared_ptr<Public_Key>
      raw_public_key)
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Certificate_13::Certificate_Entry::Certificate_Entry(std::shared_ptr<Public_Key>
      raw_public_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:329,1
    - Dst: has_certificate
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:329,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: '& Certificate_13::Certificate_Entry::certificate() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - value
    - has_certificate
    linkageType: ''
    returnType: X509_Certificate
    signature: X509_Certificate & Certificate_13::Certificate_Entry::certificate()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: Certificate_13::Certificate_Entry::public_key() const
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: std::shared_ptr<const Public_Key>
    signature: std::shared_ptr<const Public_Key> Certificate_13::Certificate_Entry::public_key()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_certificate
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:339,1
    - Dst: BER_encode
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:339,1
    - Dst: Botan::X509::BER_encode
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: Certificate_13::Certificate_Entry::serialize() const
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509::BER_encode
    - BER_encode
    - has_certificate
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_13::Certificate_Entry::serialize()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS_Data_Reader::get_range
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:352,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:356,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:357,1
    - Dst: TLS_Data_Reader::get_uint24_t
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:360,1
    - Dst: TLS_Data_Reader::remaining_bytes
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:362,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:363,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:368,1
    - Dst: TLS_Data_Reader::has_remaining
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:371,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:372,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:380,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:385,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:391,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:391,1
    - Dst: front
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:402,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:403,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:409,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:410,1
    - Dst: Botan::TLS::Certificate_13::public_key
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:414,1
    - Dst: check_peer_key_acceptable
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:415,1
    - Dst: allowed_signature_method
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:417,1
    - Dst: auto::algo_name
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:417,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:418,1
    - Dst: auto::algo_name
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:418,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    argCount: 4
    argNames:
    - ' buf'
    - ' policy'
    - side
    - cert_type
    argTypes:
    - std::vector<uint8_t>
    - Policy
    - Connection_Side
    - Certificate_Type
    constantsTouched: []
    func_position:
      end: 420
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 420
    functionName: Botan::TLS::Certificate_13::Certificate_13
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Certificate_13::public_key
    - TLS_Data_Reader::remaining_bytes
    - BOTAN_ASSERT_NOMSG
    - check_peer_key_acceptable
    - TLS_Data_Reader::has_remaining
    - TLS_Data_Reader::get_range
    - size
    - emplace_back
    - empty
    - allowed_signature_method
    - TLS_Exception
    - Decoding_Error
    - auto::algo_name
    - front
    - TLS_Data_Reader::get_uint24_t
    linkageType: ''
    returnType: void
    signature: "void Certificate_13::Certificate_13(const std::vector<uint8_t>& buf,\n
      \                              const Policy& policy,\n                               Connection_Side
      side,\n                               Certificate_Type cert_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:428,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:432,1
    - Dst: Botan::TLS::Certificate_13::serialize
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:432,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:441,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:442,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 448
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 448
    functionName: Botan::TLS::Certificate_13::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_certificate_13.cpp
    functionUses: 1
    functionsReached:
    - append_tls_length_value
    - extensions
    - Botan::TLS::Certificate_13::serialize
    - auto::empty
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_13::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Named_Group>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:44,1
    - Dst: get_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:44,1
    - Dst: get_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' reader'
    argTypes:
    - TLS_Data_Reader
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: Botan::TLS::Key_Share_Entry::Key_Share_Entry
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Named_Group>
    - get_uint16_t
    - get_tls_length_value
    linkageType: ''
    returnType: void
    signature: void Key_Share_Entry(TLS_Data_Reader& reader)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - group
    argTypes:
    - TLS::Group_Params
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::TLS::Key_Share_Entry::Key_Share_Entry
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Share_Entry(const TLS::Group_Params group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tls_kem_generate_key
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:53,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:55,1
    - Dst: TLS::Group_Params::is_kem
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:58,1
    - Dst: public_key_bits
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:59,1
    - Dst: TLS::Group_Params::is_ecdh_named_curve
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:60,1
    - Dst: dynamic_cast<ECDH_PublicKey*>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:61,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:61,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:63,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:74,1
    - Dst: dynamic_cast<PK_Key_Agreement_Key*>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:76,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:76,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:78,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - group
    - ' cb'
    - ' rng'
    argTypes:
    - TLS::Group_Params
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 83
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 83
    functionName: Botan::TLS::Key_Share_Entry::Key_Share_Entry
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - TLS::Group_Params::is_ecdh_named_curve
    - tls_kem_generate_key
    - public_key_bits
    - TLS_Exception
    - get
    - TLS::Group_Params::is_kem
    - auto::public_value
    - dynamic_cast<PK_Key_Agreement_Key*>
    - dynamic_cast<ECDH_PublicKey*>
    linkageType: ''
    returnType: void
    signature: void Key_Share_Entry(const TLS::Group_Params group, Callbacks& cb,
      RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Key_Share_Entry::empty
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan::TLS::Key_Share_Entry::empty
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Key_Share_Entry::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:89,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:89,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:92,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:92,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:93,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:93,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: Botan::TLS::Key_Share_Entry::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - get_byte<0>
    - size
    - get_byte<1>
    - std::vector::push_back
    - std::vector::reserve
    - append_tls_length_value
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: Botan::TLS::Key_Share_Entry::group
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Named_Group
    signature: Named_Group group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:107,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' client_share'
    - ' policy'
    - ' cb'
    - ' rng'
    argTypes:
    - Key_Share_Entry
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: Botan::TLS::Key_Share_Entry::encapsulate
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> encapsulate(const Key_Share_Entry& client_share,\n
      \                                        const Policy& policy,\n                                         Callbacks&
      cb,\n                                         RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scoped_cleanup
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:121,1
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:121,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:122,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:123,1
    - Dst: tls_kem_decapsulate
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' received'
    - ' policy'
    - ' cb'
    - ' rng'
    argTypes:
    - Key_Share_Entry
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: Botan::TLS::Key_Share_Entry::decapsulate
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - scoped_cleanup
    - BOTAN_STATE_CHECK
    - reset
    - tls_kem_decapsulate
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> decapsulate(const Key_Share_Entry& received,\n
      \                                        const Policy& policy,\n                                         Callbacks&
      cb,\n                                         RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' reader'
    argTypes:
    - TLS_Data_Reader
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan::TLS::Key_Share_ServerHello::Key_Share_ServerHello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Share_ServerHello(TLS_Data_Reader& reader, uint16_t)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: ~Key_Share_ServerHello()
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Key_Share_ServerHello()
  - 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: Botan::TLS::Key_Share_ServerHello::Key_Share_ServerHello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Share_ServerHello(const Key_Share_ServerHello&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: '& operator=(const Key_Share_ServerHello&)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key_Share_ServerHello
    signature: Key_Share_ServerHello & operator=(const Key_Share_ServerHello&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: Botan::TLS::Key_Share_ServerHello::Key_Share_ServerHello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Share_ServerHello(Key_Share_ServerHello&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: '& operator=(Key_Share_ServerHello&&)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key_Share_ServerHello
    signature: Key_Share_ServerHello & operator=(Key_Share_ServerHello&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Key_Share_ServerHello::serialize
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: Botan::TLS::Key_Share_ServerHello::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Key_Share_ServerHello::serialize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Key_Share_ServerHello::empty
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: Botan::TLS::Key_Share_ServerHello::empty
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Key_Share_ServerHello::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: '& get_singleton_entry()'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key_Share_Entry
    signature: Key_Share_Entry & get_singleton_entry()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: '& get_singleton_entry() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key_Share_Entry
    signature: Key_Share_Entry & get_singleton_entry() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Key_Share_ServerHello::selected_group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: Botan::TLS::Key_Share_ServerHello::offered_groups
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Key_Share_ServerHello::selected_group
    linkageType: ''
    returnType: std::vector<Named_Group>
    signature: std::vector<Named_Group> offered_groups() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: Botan::TLS::Key_Share_ServerHello::selected_group
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - group
    linkageType: ''
    returnType: Named_Group
    signature: Named_Group selected_group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:166,1
    - Dst: Botan::TLS::Key_Share_ServerHello::empty
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:166,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: Botan::TLS::Key_Share_ServerHello::take_shared_secret
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Key_Share_ServerHello::empty
    - BOTAN_STATE_CHECK
    - std::exchange
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> take_shared_secret()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:187,1
    - Dst: read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:188,1
    - Dst: read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:190,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:191,1
    - Dst: has_remaining
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:195,1
    - Dst: remaining
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:195,1
    - Dst: remaining
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:196,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:197,1
    - Dst: std::find_if
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:207,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:207,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:207,1
    - Dst: group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:208,1
    - Dst: Key_Share_Entry::group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:208,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:209,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:210,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:213,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:213,1
    - Dst: read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:216,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:217,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - ' reader'
    argTypes:
    - TLS_Data_Reader
    constantsTouched: []
    func_position:
      end: 219
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 219
    functionName: Botan::TLS::Key_Share_ClientHello::Key_Share_ClientHello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - Key_Share_Entry::group
    - has_remaining
    - std::find_if
    - BOTAN_STATE_CHECK
    - begin
    - remaining
    - group
    - end
    - emplace_back
    - TLS_Exception
    - std::move
    - Decoding_Error
    - read_so_far
    - get_uint16_t
    linkageType: ''
    returnType: void
    signature: void Key_Share_ClientHello(TLS_Data_Reader& reader, uint16_t /* extension_size
      */)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_exchange_groups
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:222,1
    - Dst: key_exchange_groups_to_offer
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:223,1
    - Dst: find
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:237,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:237,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:237,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:237,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ' policy'
    - ' cb'
    - ' rng'
    argTypes:
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 242
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 242
    functionName: Botan::TLS::Key_Share_ClientHello::Key_Share_ClientHello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - key_exchange_groups
    - key_exchange_groups_to_offer
    - emplace_back
    - auto::begin
    - find
    - auto::end
    linkageType: ''
    returnType: void
    signature: void Key_Share_ClientHello(const Policy& policy, Callbacks& cb, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: ~Key_Share_ClientHello()
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Key_Share_ClientHello()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: Botan::TLS::Key_Share_ClientHello::Key_Share_ClientHello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Share_ClientHello(const Key_Share_ClientHello&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: '& operator=(const Key_Share_ClientHello&)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key_Share_ClientHello
    signature: Key_Share_ClientHello & operator=(const Key_Share_ClientHello&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: Botan::TLS::Key_Share_ClientHello::Key_Share_ClientHello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Share_ClientHello(Key_Share_ClientHello&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: '& operator=(Key_Share_ClientHello&&)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key_Share_ClientHello
    signature: Key_Share_ClientHello & operator=(Key_Share_ClientHello&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:256,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:256,1
    - Dst: cend
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:256,1
    - Dst: group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:257,1
    - Dst: cend
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:258,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:259,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:262,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - to_offer
    - ' cb'
    - ' rng'
    argTypes:
    - TLS::Group_Params
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 264
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 264
    functionName: Botan::TLS::Key_Share_ClientHello::retry_offer
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - cbegin
    - group
    - clear
    - emplace_back
    - TLS_Exception
    - std::find_if
    - cend
    linkageType: ''
    returnType: void
    signature: void retry_offer(const TLS::Group_Params to_offer, Callbacks& cb, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:268,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:268,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:270,1
    - Dst: group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 273
    functionName: Botan::TLS::Key_Share_ClientHello::offered_groups
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - group
    - std::vector::push_back
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: std::vector<Named_Group>
    signature: std::vector<Named_Group> offered_groups() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: Botan::TLS::Key_Share_ClientHello::selected_group
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: Named_Group
    signature: Named_Group selected_group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Key_Share_ClientHello::serialize
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:280,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:281,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:281,1
    - Dst: auto::cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:281,1
    - Dst: auto::cend
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:281,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: Botan::TLS::Key_Share_ClientHello::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Key_Share_ClientHello::serialize
    - std::vector::insert
    - auto::cend
    - std::vector::end
    - append_tls_length_value
    - auto::cbegin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 295
    functionName: Botan::TLS::Key_Share_ClientHello::empty
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_singleton_entry
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:301,1
    - Dst: std::find_if
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:304,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:304,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:304,1
    - Dst: group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:305,1
    - Dst: group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:305,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:311,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:311,1
    - Dst: Botan::TLS::Key_Share_ClientHello::encapsulate
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' server_share'
    - ' policy'
    - ' cb'
    - ' rng'
    argTypes:
    - Key_Share_ServerHello
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 314
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 314
    functionName: Botan::TLS::Key_Share_ClientHello::encapsulate
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - begin
    - BOTAN_STATE_CHECK
    - group
    - end
    - get_singleton_entry
    - std::find_if
    - Botan::TLS::Key_Share_ClientHello::encapsulate
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> encapsulate(Key_Share_ServerHello& server_share,\n
      \                                        const Policy& policy,\n                                         Callbacks&
      cb,\n                                         RandomNumberGenerator& rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_singleton_entry
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:320,1
    - Dst: std::find_if
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:323,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:323,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:323,1
    - Dst: group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:324,1
    - Dst: group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:324,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:331,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:332,1
    - Dst: auto::decapsulate
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' server_share'
    - ' policy'
    - ' cb'
    - ' rng'
    argTypes:
    - Key_Share_ServerHello
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 336
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 336
    functionName: Botan::TLS::Key_Share_ClientHello::decapsulate
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - auto::decapsulate
    - begin
    - group
    - end
    - TLS_Exception
    - get_singleton_entry
    - std::find_if
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> decapsulate(const Key_Share_ServerHello& server_share,\n
      \                                        const Policy& policy,\n                                         Callbacks&
      cb,\n                                         RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encapsulate
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - group
    - ' client_keyshare'
    - ' policy'
    - ' cb'
    - ' rng'
    argTypes:
    - Named_Group
    - Key_Share_ClientHello
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 349
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 349
    functionName: Botan::TLS::Key_Share_ServerHello::Key_Share_ServerHello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - encapsulate
    linkageType: ''
    returnType: void
    signature: "void Key_Share_ServerHello::Key_Share_ServerHello(Named_Group group,\n
      \                                            const Key_Share_ClientHello& client_keyshare,\n
      \                                            const Policy& policy,\n                                             Callbacks&
      cb,\n                                             RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:357,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:358,1
    - Dst: static_cast<Named_Group>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:361,1
    - Dst: get_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' reader'
    - extension_size
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: Botan::TLS::Key_Share_HelloRetryRequest::Key_Share_HelloRetryRequest
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Decoding_Error
    - get_uint16_t
    - static_cast<Named_Group>
    linkageType: ''
    returnType: void
    signature: void Key_Share_HelloRetryRequest(TLS_Data_Reader& reader, uint16_t
      extension_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - selected_group
    argTypes:
    - Named_Group
    constantsTouched: []
    func_position:
      end: 364
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 364
    functionName: Botan::TLS::Key_Share_HelloRetryRequest::Key_Share_HelloRetryRequest
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Share_HelloRetryRequest(Named_Group selected_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 366
    functionName: ~Key_Share_HelloRetryRequest()
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Key_Share_HelloRetryRequest()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 368
    functionName: Botan::TLS::Key_Share_HelloRetryRequest::Key_Share_HelloRetryRequest
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Share_HelloRetryRequest(const Key_Share_HelloRetryRequest&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 369
    functionName: '& operator=(const Key_Share_HelloRetryRequest&)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key_Share_HelloRetryRequest
    signature: Key_Share_HelloRetryRequest & operator=(const Key_Share_HelloRetryRequest&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 371
    functionName: Botan::TLS::Key_Share_HelloRetryRequest::Key_Share_HelloRetryRequest
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Share_HelloRetryRequest(Key_Share_HelloRetryRequest&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 372
    functionName: '& operator=(Key_Share_HelloRetryRequest&&)'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key_Share_HelloRetryRequest
    signature: Key_Share_HelloRetryRequest & operator=(Key_Share_HelloRetryRequest&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_code
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:375,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:376,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: Botan::TLS::Key_Share_HelloRetryRequest::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - wire_code
    - get_byte<1>
    - get_byte<0>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 379
    functionName: Botan::TLS::Key_Share_HelloRetryRequest::selected_group
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Named_Group
    signature: Named_Group selected_group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: Botan::TLS::Key_Share_HelloRetryRequest::offered_groups
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: std::vector<Named_Group>
    signature: std::vector<Named_Group> offered_groups() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 385
    functionName: Botan::TLS::Key_Share_HelloRetryRequest::empty
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ks
    argTypes:
    - Key_Share_Type
    constantsTouched: []
    func_position:
      end: 397
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 397
    functionName: Botan::TLS::Key_Share::Key_Share_Impl::Key_Share_Impl
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Key_Share_Impl(Key_Share_Type ks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Key_Share_Impl>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:405,1
    - Dst: Key_Share_ClientHello
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:405,1
    - Dst: std::make_unique<Key_Share_Impl>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:408,1
    - Dst: Key_Share_HelloRetryRequest
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:408,1
    - Dst: std::make_unique<Key_Share_Impl>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:411,1
    - Dst: Key_Share_ServerHello
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:411,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:413,1
    - Dst: std::string
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:413,1
    - Dst: handshake_type_to_string
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ' reader'
    - extension_size
    - message_type
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 416
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 416
    functionName: Botan::TLS::Key_Share::Key_Share
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - Key_Share_HelloRetryRequest
    - std::string
    - handshake_type_to_string
    - Key_Share_ClientHello
    - Invalid_Argument
    - Key_Share_ServerHello
    - std::make_unique<Key_Share_Impl>
    linkageType: ''
    returnType: void
    signature: void Key_Share::Key_Share(TLS_Data_Reader& reader, uint16_t extension_size,
      Handshake_Type message_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Key_Share_Impl>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:420,1
    - Dst: Key_Share_ClientHello
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' policy'
    - ' cb'
    - ' rng'
    argTypes:
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 420
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 420
    functionName: Botan::TLS::Key_Share::Key_Share
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - Key_Share_ClientHello
    - std::make_unique<Key_Share_Impl>
    linkageType: ''
    returnType: void
    signature: void Key_Share::Key_Share(const Policy& policy, Callbacks& cb, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Key_Share_Impl>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:424,1
    - Dst: Key_Share_HelloRetryRequest
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - selected_group
    argTypes:
    - Named_Group
    constantsTouched: []
    func_position:
      end: 424
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 424
    functionName: Botan::TLS::Key_Share::Key_Share
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - Key_Share_HelloRetryRequest
    - std::make_unique<Key_Share_Impl>
    linkageType: ''
    returnType: void
    signature: void Key_Share::Key_Share(Named_Group selected_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Key_Share_Impl>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:432,1
    - Dst: Key_Share_ServerHello
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:432,1
    - Dst: std::get<Key_Share_ClientHello>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - selected_group
    - ' client_keyshare'
    - ' policy'
    - ' cb'
    - ' rng'
    argTypes:
    - Group_Params
    - Key_Share
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 433
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 433
    functionName: Botan::TLS::Key_Share::Key_Share
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached:
    - Key_Share_ServerHello
    - std::get<Key_Share_ClientHello>
    - std::make_unique<Key_Share_Impl>
    linkageType: ''
    returnType: void
    signature: "void Key_Share::Key_Share(Group_Params selected_group,\n                     const
      Key_Share& client_keyshare,\n                     const Policy& policy,\n                     Callbacks&
      cb,\n                     RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 435
    functionName: Key_Share::~Key_Share()
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Share::~Key_Share()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:438,1
    - Dst: Botan::TLS::Key_Share::serialize
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: Botan::TLS::Key_Share::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 3
    functionsReached:
    - Botan::TLS::Key_Share::serialize
    - std::visit
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Key_Share::serialize(Connection_Side /*whoami*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:442,1
    - Dst: Botan::TLS::Key_Share::empty
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: Botan::TLS::Key_Share::empty
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - std::visit
    - Botan::TLS::Key_Share::empty
    linkageType: ''
    returnType: bool
    signature: bool Key_Share::empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Key_Share>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:450,1
    - Dst: Key_Share::Key_Share
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - selected_group
    - ' client_keyshare'
    - ' policy'
    - ' cb'
    - ' rng'
    argTypes:
    - Group_Params
    - Key_Share
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 451
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 451
    functionName: Botan::TLS::Key_Share::create_as_encapsulation
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr<Key_Share>
    - Key_Share::Key_Share
    linkageType: ''
    returnType: std::unique_ptr<Key_Share>
    signature: "std::unique_ptr<Key_Share> Key_Share::create_as_encapsulation(Group_Params
      selected_group,\n                                                              const
      Key_Share& client_keyshare,\n                                                              const
      Policy& policy,\n                                                              Callbacks&
      cb,\n                                                              RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:457,1
    - Dst: Botan::TLS::Key_Share::decapsulate
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:458,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' server_keyshare'
    - ' policy'
    - ' cb'
    - ' rng'
    argTypes:
    - Key_Share
    - Policy
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 466
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 466
    functionName: Botan::TLS::Key_Share::decapsulate
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - Invalid_Argument
    - Botan::TLS::Key_Share::decapsulate
    - std::visit
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> Key_Share::decapsulate(const Key_Share& server_keyshare,\n
      \                                             const Policy& policy,\n                                              Callbacks&
      cb,\n                                              RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:469,1
    - Dst: Botan::TLS::Key_Share::offered_groups
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionName: Botan::TLS::Key_Share::offered_groups
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Key_Share::offered_groups
    - std::visit
    linkageType: ''
    returnType: std::vector<Named_Group>
    signature: std::vector<Named_Group> Key_Share::offered_groups() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:473,1
    - Dst: Botan::TLS::Key_Share::selected_group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 474
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 474
    functionName: Botan::TLS::Key_Share::selected_group
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Key_Share::selected_group
    - std::visit
    linkageType: ''
    returnType: Named_Group
    signature: Named_Group Key_Share::selected_group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:477,1
    - Dst: Botan::TLS::Key_Share::take_shared_secret
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:478,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 483
    functionName: Botan::TLS::Key_Share::take_shared_secret
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - Invalid_Argument
    - Botan::TLS::Key_Share::take_shared_secret
    - std::visit
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Key_Share::take_shared_secret()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:489,1
    - Dst: Botan::TLS::Key_Share::selected_group
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:490,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:494,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:495,1
    - Dst: Botan::TLS::Key_Share::retry_offer
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:498,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp:501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - ' retry_request_keyshare'
    - ' supported_groups'
    - ' cb'
    - ' rng'
    argTypes:
    - Key_Share
    - std::vector<Named_Group>
    - Callbacks
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 505
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 505
    functionName: Botan::TLS::Key_Share::retry_offer
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_key_share.cpp
    functionUses: 1
    functionsReached:
    - value_exists
    - Botan::TLS::Key_Share::selected_group
    - std::visit
    - TLS_Exception
    - Invalid_Argument
    - Botan::TLS::Key_Share::retry_offer
    linkageType: ''
    returnType: void
    signature: "void Key_Share::retry_offer(const Key_Share& retry_request_keyshare,\n
      \                           const std::vector<Named_Group>& supported_groups,\n
      \                           Callbacks& cb,\n                            RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Cipher_State>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:126,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:126,1
    - Dst: Cipher_State::Cipher_State
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:126,1
    - Dst: auto::advance_without_psk
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:127,1
    - Dst: auto::advance_with_server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:128,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - side
    - ' shared_secret'
    - ' cipher'
    - ' transcript_hash'
    - ' loggger'
    argTypes:
    - Connection_Side
    - secure_vector<uint8_t>
    - Ciphersuite
    - Transcript_Hash
    - Secret_Logger
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: Botan::TLS::Cipher_State::init_with_server_hello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 3
    functionsReached:
    - Cipher_State::Cipher_State
    - auto::advance_without_psk
    - prf_algo
    - std::unique_ptr<Cipher_State>
    - std::move
    - auto::advance_with_server_hello
    linkageType: ''
    returnType: std::unique_ptr<Cipher_State>
    signature: "std::unique_ptr<Cipher_State> Cipher_State::init_with_server_hello(const
      Connection_Side side,\n                                                                   secure_vector<uint8_t>&&
      shared_secret,\n                                                                   const
      Ciphersuite& cipher,\n                                                                   const
      Transcript_Hash& transcript_hash,\n                                                                   const
      Secret_Logger& loggger)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Cipher_State>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:136,1
    - Dst: Cipher_State::Cipher_State
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:136,1
    - Dst: auto::advance_with_psk
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:137,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - side
    - type
    - ' psk'
    - prf_algo
    argTypes:
    - Connection_Side
    - Cipher_State::PSK_Type
    - secure_vector<uint8_t>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: Botan::TLS::Cipher_State::init_with_psk
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 1
    functionsReached:
    - Cipher_State::Cipher_State
    - auto::advance_with_psk
    - std::unique_ptr<Cipher_State>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Cipher_State>
    signature: "std::unique_ptr<Cipher_State> Cipher_State::init_with_psk(const Connection_Side
      side,\n                                                          const Cipher_State::PSK_Type
      type,\n                                                          secure_vector<uint8_t>&&
      psk,\n                                                          std::string_view
      prf_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:142,1
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:144,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:152,1
    - Dst: maybe_log_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:158,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:160,1
    - Dst: Botan::TLS::Cipher_State::empty_hash
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:160,1
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' transcript_hash'
    - ' loggger'
    argTypes:
    - Transcript_Hash
    - Secret_Logger
    constantsTouched: []
    func_position:
      end: 164
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 164
    functionName: Botan::TLS::Cipher_State::advance_with_client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - zap
    - Botan::TLS::Cipher_State::empty_hash
    - BOTAN_ASSERT_NOMSG
    - Botan::TLS::Cipher_State::derive_secret
    - maybe_log_secret
    linkageType: ''
    returnType: void
    signature: void Cipher_State::advance_with_client_hello(const Transcript_Hash&
      transcript_hash, const Secret_Logger& loggger)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:167,1
    - Dst: Botan::TLS::Cipher_State::hkdf_extract
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:169,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:169,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:169,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:171,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:172,1
    - Dst: maybe_log_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:178,1
    - Dst: maybe_log_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:179,1
    - Dst: Botan::TLS::Cipher_State::derive_write_traffic_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:185,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:186,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:187,1
    - Dst: Botan::TLS::Cipher_State::derive_read_traffic_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:189,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:190,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:191,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:194,1
    - Dst: maybe_log_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - ' transcript_hash'
    - ' loggger'
    argTypes:
    - Transcript_Hash
    - Secret_Logger
    constantsTouched: []
    func_position:
      end: 203
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 203
    functionName: Botan::TLS::Cipher_State::advance_with_server_finished
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - Botan::TLS::Cipher_State::derive_secret
    - std::move
    - maybe_log_secret
    - output_length
    - Botan::TLS::Cipher_State::hkdf_extract
    - Botan::TLS::Cipher_State::derive_read_traffic_key
    - Botan::TLS::Cipher_State::derive_write_traffic_key
    - secure_vector<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Cipher_State::advance_with_server_finished(const Transcript_Hash&
      transcript_hash, const Secret_Logger& loggger)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:206,1
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:208,1
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:209,1
    - Dst: Botan::TLS::Cipher_State::derive_read_traffic_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:214,1
    - Dst: Botan::TLS::Cipher_State::derive_write_traffic_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:216,1
    - Dst: Botan::TLS::Cipher_State::hkdf_extract
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:219,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:219,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:219,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:221,1
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' transcript_hash'
    argTypes:
    - Transcript_Hash
    constantsTouched: []
    func_position:
      end: 227
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 227
    functionName: Botan::TLS::Cipher_State::advance_with_client_finished
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - zap
    - BOTAN_ASSERT_NOMSG
    - Botan::TLS::Cipher_State::derive_secret
    - output_length
    - Botan::TLS::Cipher_State::hkdf_extract
    - Botan::TLS::Cipher_State::derive_read_traffic_key
    - Botan::TLS::Cipher_State::derive_write_traffic_key
    - secure_vector<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Cipher_State::advance_with_client_finished(const Transcript_Hash&
      transcript_hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:241,1
    - Dst: last
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:241,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - seq_no
    - iv
    argTypes:
    - uint64_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 244
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 244
    functionName: Botan::TLS::current_nonce
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - xor_buf
    - store_be
    - last
    linkageType: ''
    returnType: auto
    signature: auto current_nonce(const uint64_t seq_no, std::span<const uint8_t>
      iv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:249,1
    - Dst: set_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:251,1
    - Dst: set_associated_data
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:252,1
    - Dst: start
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:253,1
    - Dst: current_nonce
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:253,1
    - Dst: finish
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' header'
    - ' fragment'
    argTypes:
    - std::vector<uint8_t>
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 257
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 257
    functionName: Botan::TLS::Cipher_State::encrypt_record_fragment
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - current_nonce
    - set_key
    - start
    - finish
    - BOTAN_ASSERT_NONNULL
    - set_associated_data
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Cipher_State::encrypt_record_fragment(const std::vector<uint8_t>&
      header, secure_vector<uint8_t>& fragment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:261,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:262,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:262,1
    - Dst: minimum_final_size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:262,1
    - Dst: set_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:264,1
    - Dst: set_associated_data
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:265,1
    - Dst: start
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:266,1
    - Dst: current_nonce
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:266,1
    - Dst: finish
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' header'
    - ' encrypted_fragment'
    argTypes:
    - std::vector<uint8_t>
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 271
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 271
    functionName: Botan::TLS::Cipher_State::decrypt_record_fragment
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - minimum_final_size
    - current_nonce
    - size
    - set_key
    - start
    - finish
    - BOTAN_ARG_CHECK
    - BOTAN_ASSERT_NONNULL
    - set_associated_data
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t Cipher_State::decrypt_record_fragment(const std::vector<uint8_t>&
      header,\n                                               secure_vector<uint8_t>&
      encrypted_fragment)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:274,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: Botan::TLS::Cipher_State::encrypt_output_length
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - output_length
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: size_t
    signature: size_t Cipher_State::encrypt_output_length(const size_t input_length)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:279,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: Botan::TLS::Cipher_State::decrypt_output_length
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - output_length
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: size_t
    signature: size_t Cipher_State::decrypt_output_length(const size_t input_length)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:284,1
    - Dst: minimum_final_size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: Botan::TLS::Cipher_State::minimum_decryption_input_length
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - minimum_final_size
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: size_t
    signature: size_t Cipher_State::minimum_decryption_input_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 311
    functionName: Botan::TLS::Cipher_State::must_expect_unprotected_alert_traffic
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Cipher_State::must_expect_unprotected_alert_traffic() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:326,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 327
    functionName: Botan::TLS::Cipher_State::can_encrypt_application_traffic
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Cipher_State::can_encrypt_application_traffic() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:342,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:342,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 343
    functionName: Botan::TLS::Cipher_State::can_decrypt_application_traffic
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Cipher_State::can_decrypt_application_traffic() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:346,1
    - Dst: name
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: Botan::TLS::Cipher_State::hash_algorithm
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - name
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: std::string
    signature: std::string Cipher_State::hash_algorithm() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usable_in_version
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:351,1
    - Dst: Botan::TLS::Cipher_State::hash_algorithm
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:355,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:355,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:359,1
    - Dst: name
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:364,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:364,1
    - Dst: name
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:364,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' cipher'
    argTypes:
    - Ciphersuite
    constantsTouched: []
    func_position:
      end: 369
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 369
    functionName: Botan::TLS::Cipher_State::is_compatible_with
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - name
    - BOTAN_ASSERT_NOMSG
    - prf_algo
    - Botan::TLS::Cipher_State::hash_algorithm
    - cipher_algo
    - usable_in_version
    linkageType: ''
    returnType: bool
    signature: bool Cipher_State::is_compatible_with(const Ciphersuite& cipher) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:373,1
    - Dst: HMAC
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:375,1
    - Dst: new_object
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:375,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:376,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:377,1
    - Dst: auto::final_stdvec
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' transcript_hash_with_truncated_client_hello'
    argTypes:
    - Transcript_Hash
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: Botan::TLS::Cipher_State::psk_binder_mac
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - new_object
    - auto::set_key
    - auto::update
    - HMAC
    - auto::final_stdvec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> Cipher_State::psk_binder_mac(\n   const Transcript_Hash&
      transcript_hash_with_truncated_client_hello) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:382,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:383,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:384,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:384,1
    - Dst: HMAC
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:386,1
    - Dst: new_object
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:386,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:387,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:388,1
    - Dst: auto::final_stdvec
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' transcript_hash'
    argTypes:
    - Transcript_Hash
    constantsTouched: []
    func_position:
      end: 390
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 390
    functionName: Botan::TLS::Cipher_State::finished_mac
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - new_object
    - auto::set_key
    - auto::update
    - HMAC
    - empty
    - auto::final_stdvec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Cipher_State::finished_mac(const Transcript_Hash&
      transcript_hash) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:394,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:395,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:396,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:396,1
    - Dst: HMAC
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:398,1
    - Dst: new_object
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:398,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:399,1
    - Dst: auto::update
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:400,1
    - Dst: auto::verify_mac
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' transcript_hash'
    - ' peer_mac'
    argTypes:
    - Transcript_Hash
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 402
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 402
    functionName: Botan::TLS::Cipher_State::verify_peer_finished_mac
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - new_object
    - auto::set_key
    - auto::update
    - HMAC
    - empty
    - auto::verify_mac
    linkageType: ''
    returnType: bool
    signature: "bool Cipher_State::verify_peer_finished_mac(const Transcript_Hash&
      transcript_hash,\n                                            const std::vector<uint8_t>&
      peer_mac) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:405,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:407,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - Ticket_Nonce
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: Botan::TLS::Cipher_State::psk
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Cipher_State::derive_secret
    - get
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Cipher_State::psk(const Ticket_Nonce& nonce)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:411,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:412,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:413,1
    - Dst: store_be
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:417,1
    - Dst: Ticket_Nonce::data
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 420
    functionName: Botan::TLS::Cipher_State::next_ticket_nonce
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - BOTAN_STATE_CHECK
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - Ticket_Nonce::data
    - store_be
    linkageType: ''
    returnType: Ticket_Nonce
    signature: Ticket_Nonce Cipher_State::next_ticket_nonce()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:423,1
    - Dst: can_export_keys
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:423,1
    - Dst: update
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:425,1
    - Dst: final_stdvec
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:426,1
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:427,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:428,1
    - Dst: Botan::TLS::Cipher_State::empty_hash
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - label
    - context
    - length
    argTypes:
    - std::string_view
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 429
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 429
    functionName: Botan::TLS::Cipher_State::export_key
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - final_stdvec
    - Botan::TLS::Cipher_State::empty_hash
    - can_export_keys
    - Botan::TLS::Cipher_State::hkdf_expand_label
    - Botan::TLS::Cipher_State::derive_secret
    - update
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Cipher_State::export_key(std::string_view label,
      std::string_view context, size_t length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HMAC>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:434,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: Botan::TLS::create_hmac
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<HMAC>
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> create_hmac(std::string_view
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HKDF_Extract>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:442,1
    - Dst: create_hmac
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:442,1
    - Dst: std::make_unique<HKDF_Expand>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:443,1
    - Dst: create_hmac
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:443,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:444,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - whoami
    - hash_function
    argTypes:
    - Connection_Side
    - std::string_view
    constantsTouched: []
    func_position:
      end: 450
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 450
    functionName: Botan::TLS::Cipher_State::Cipher_State
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::create_or_throw
    - std::make_unique<HKDF_Expand>
    - create_hmac
    - output_length
    - std::make_unique<HKDF_Extract>
    linkageType: ''
    returnType: void
    signature: void Cipher_State::Cipher_State(Connection_Side whoami, std::string_view
      hash_function)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 452
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 452
    functionName: Cipher_State::~Cipher_State()
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cipher_State::~Cipher_State()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:455,1
    - Dst: Botan::TLS::Cipher_State::hkdf_extract
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:459,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:459,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:459,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:460,1
    - Dst: Botan::TLS::Cipher_State::empty_hash
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 464
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 464
    functionName: Botan::TLS::Cipher_State::advance_without_psk
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - Botan::TLS::Cipher_State::empty_hash
    - Botan::TLS::Cipher_State::derive_secret
    - output_length
    - Botan::TLS::Cipher_State::hkdf_extract
    - secure_vector<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Cipher_State::advance_without_psk()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:467,1
    - Dst: Botan::TLS::Cipher_State::hkdf_extract
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:469,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:469,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:479,1
    - Dst: Botan::TLS::Cipher_State::empty_hash
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:479,1
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:480,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - type
    - ' psk'
    argTypes:
    - PSK_Type
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 483
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 483
    functionName: Botan::TLS::Cipher_State::advance_with_psk
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Cipher_State::empty_hash
    - BOTAN_ASSERT_NOMSG
    - Botan::TLS::Cipher_State::derive_secret
    - Botan::TLS::Cipher_State::hkdf_expand_label
    - std::move
    - output_length
    - Botan::TLS::Cipher_State::hkdf_extract
    linkageType: ''
    returnType: void
    signature: void Cipher_State::advance_with_psk(PSK_Type type, secure_vector<uint8_t>&&
      psk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:489,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:490,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:491,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:492,1
    - Dst: Botan::TLS::Cipher_State::is_compatible_with
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:492,1
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:494,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:494,1
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:495,1
    - Dst: cipher_algo
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:495,1
    - Dst: Botan::TLS::Cipher_State::hkdf_extract
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:497,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:497,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:499,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:500,1
    - Dst: maybe_log_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:506,1
    - Dst: maybe_log_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:507,1
    - Dst: Botan::TLS::Cipher_State::derive_read_traffic_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:510,1
    - Dst: Botan::TLS::Cipher_State::derive_write_traffic_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:511,1
    - Dst: Botan::TLS::Cipher_State::derive_read_traffic_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:513,1
    - Dst: Botan::TLS::Cipher_State::derive_write_traffic_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:514,1
    - Dst: Botan::TLS::Cipher_State::derive_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:517,1
    - Dst: Botan::TLS::Cipher_State::empty_hash
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - ' cipher'
    - ' shared_secret'
    - ' transcript_hash'
    - ' loggger'
    argTypes:
    - Ciphersuite
    - secure_vector<uint8_t>
    - Transcript_Hash
    - Secret_Logger
    constantsTouched: []
    func_position:
      end: 520
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 520
    functionName: Botan::TLS::Cipher_State::advance_with_server_hello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - Botan::TLS::Cipher_State::empty_hash
    - Botan::TLS::Cipher_State::is_compatible_with
    - BOTAN_STATE_CHECK
    - cipher_algo
    - Botan::TLS::Cipher_State::derive_secret
    - std::move
    - maybe_log_secret
    - Botan::TLS::Cipher_State::hkdf_extract
    - Botan::TLS::Cipher_State::derive_read_traffic_key
    - Botan::TLS::Cipher_State::derive_write_traffic_key
    - Botan::AEAD_Mode::create_or_throw
    linkageType: ''
    returnType: void
    signature: "void Cipher_State::advance_with_server_hello(const Ciphersuite& cipher,\n
      \                                            secure_vector<uint8_t>&& shared_secret,\n
      \                                            const Transcript_Hash& transcript_hash,\n
      \                                            const Secret_Logger& loggger)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:524,1
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:526,1
    - Dst: minimum_keylength
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:526,1
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:527,1
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:533,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' traffic_secret'
    - handshake_traffic_secret
    argTypes:
    - secure_vector<uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 535
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 535
    functionName: Botan::TLS::Cipher_State::derive_write_traffic_key
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 3
    functionsReached:
    - output_length
    - Botan::TLS::Cipher_State::hkdf_expand_label
    - minimum_keylength
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void Cipher_State::derive_write_traffic_key(const secure_vector<uint8_t>&
      traffic_secret,\n                                            const bool handshake_traffic_secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:539,1
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:541,1
    - Dst: minimum_keylength
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:541,1
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:542,1
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:548,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' traffic_secret'
    - handshake_traffic_secret
    argTypes:
    - secure_vector<uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 550
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 550
    functionName: Botan::TLS::Cipher_State::derive_read_traffic_key
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 3
    functionsReached:
    - output_length
    - Botan::TLS::Cipher_State::hkdf_expand_label
    - minimum_keylength
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void Cipher_State::derive_read_traffic_key(const secure_vector<uint8_t>&
      traffic_secret,\n                                           const bool handshake_traffic_secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: derive_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:553,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:553,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ikm
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 554
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 554
    functionName: Botan::TLS::Cipher_State::hkdf_extract
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 5
    functionsReached:
    - output_length
    - std::vector<uint8_t>
    - derive_key
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Cipher_State::hkdf_extract(std::span<const uint8_t>
      ikm) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_vector::reserve
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:562,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:562,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:563,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:566,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:566,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:567,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:568,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:568,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:569,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:569,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:573,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:573,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:573,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:574,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:574,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:574,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:574,1
    - Dst: secure_vector::insert
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:575,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:575,1
    - Dst: std::string::cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:575,1
    - Dst: std::string::cend
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:575,1
    - Dst: secure_vector::insert
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:576,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:576,1
    - Dst: std::string_view::cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:576,1
    - Dst: std::string_view::cend
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:576,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:579,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:579,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:580,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:580,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:580,1
    - Dst: secure_vector::insert
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:581,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:581,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:581,1
    - Dst: cend
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:581,1
    - Dst: derive_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:584,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - ' secret'
    - label
    - ' context'
    - length
    argTypes:
    - secure_vector<uint8_t>
    - std::string_view
    - std::vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 586
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 586
    functionName: Botan::TLS::Cipher_State::hkdf_expand_label
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 4
    functionsReached:
    - static_cast<uint16_t>
    - std::string::size
    - get_byte<0>
    - secure_vector::end
    - cbegin
    - get_byte<1>
    - std::vector<uint8_t>
    - std::string::cend
    - std::string_view::cend
    - secure_vector::push_back
    - std::string_view::size
    - std::string::cbegin
    - static_cast<uint8_t>
    - BOTAN_ARG_CHECK
    - std::string_view::cbegin
    - derive_key
    - size
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - secure_vector::reserve
    - secure_vector::insert
    - cend
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> Cipher_State::hkdf_expand_label(const secure_vector<uint8_t>&
      secret,\n                                                       std::string_view
      label,\n                                                       const std::vector<uint8_t>&
      context,\n                                                       const size_t
      length) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:591,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' secret'
    - label
    - ' messages_hash'
    argTypes:
    - secure_vector<uint8_t>
    - std::string_view
    - Transcript_Hash
    constantsTouched: []
    func_position:
      end: 592
      start: 588
    functionDepth: 2
    functionLinenumber: 588
    functionLinenumberEnd: 592
    functionName: Botan::TLS::Cipher_State::derive_secret
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 8
    functionsReached:
    - output_length
    - Botan::TLS::Cipher_State::hkdf_expand_label
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> Cipher_State::derive_secret(const secure_vector<uint8_t>&
      secret,\n                                                   std::string_view
      label,\n                                                   const Transcript_Hash&
      messages_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:595,1
    - Dst: final_stdvec
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 597
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 597
    functionName: Botan::TLS::Cipher_State::empty_hash
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 5
    functionsReached:
    - update
    - final_stdvec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Cipher_State::empty_hash() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:600,1
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:603,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:603,1
    - Dst: fmt
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:605,1
    - Dst: maybe_log_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:608,1
    - Dst: Botan::TLS::Cipher_State::derive_read_traffic_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' logger'
    argTypes:
    - Secret_Logger
    constantsTouched: []
    func_position:
      end: 611
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 611
    functionName: Botan::TLS::Cipher_State::update_read_keys
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - fmt
    - Botan::TLS::Cipher_State::hkdf_expand_label
    - maybe_log_secret
    - output_length
    - Botan::TLS::Cipher_State::derive_read_traffic_key
    linkageType: ''
    returnType: void
    signature: void Cipher_State::update_read_keys(const Secret_Logger& logger)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:614,1
    - Dst: Botan::TLS::Cipher_State::hkdf_expand_label
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:616,1
    - Dst: output_length
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:616,1
    - Dst: fmt
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:618,1
    - Dst: maybe_log_secret
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:621,1
    - Dst: Botan::TLS::Cipher_State::derive_write_traffic_key
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' logger'
    argTypes:
    - Secret_Logger
    constantsTouched: []
    func_position:
      end: 624
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 624
    functionName: Botan::TLS::Cipher_State::update_write_keys
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - fmt
    - Botan::TLS::Cipher_State::hkdf_expand_label
    - maybe_log_secret
    - output_length
    - Botan::TLS::Cipher_State::derive_write_traffic_key
    linkageType: ''
    returnType: void
    signature: void Cipher_State::update_write_keys(const Secret_Logger& logger)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:627,1
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:628,1
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: Botan::TLS::Cipher_State::clear_read_keys
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Cipher_State::clear_read_keys()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:633,1
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:634,1
    - Dst: zap
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 636
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 636
    functionName: Botan::TLS::Cipher_State::clear_write_keys
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Cipher_State::clear_write_keys()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Transcript_Hash_State
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.h:30,1
    - Dst: Botan::TLS::Transcript_Hash_State
      Src: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.h:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 94
    functionName: Botan::TLS::Transcript_Hash_State
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_transcript_hash_13.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::Transcript_Hash_State
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Transcript_Hash_State
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::TLS::identity
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan::TLS::obfuscated_age
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_psk_identity_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t obfuscated_age() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - IteratorT
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: Botan::TLS::verify_change_cipher_spec
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool verify_change_cipher_spec(const IteratorT data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:39,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:40,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:41,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:42,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:43,1
    - Dst: static_cast<Record_Type>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - type_byte
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: Botan::TLS::read_record_type
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Record_Type>
    - TLS_Exception
    - static_cast<uint8_t>
    linkageType: ''
    returnType: Record_Type
    signature: Record_Type read_record_type(const uint8_t type_byte)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_record_type
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:55,1
    - Dst: Protocol_Version
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:56,1
    - Dst: make_uint16
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:56,1
    - Dst: make_uint16
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:57,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:58,1
    - Dst: major_version
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:62,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:63,1
    - Dst: version_code
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:69,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:70,1
    - Dst: Botan::TLS::TLSPlaintext_Header::type
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:79,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:80,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:94,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:107,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 2
    argNames:
    - hdr
    - check_tls13_version
    argTypes:
    - std::vector<uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 110
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 110
    functionName: Botan::TLS::TLSPlaintext_Header::TLSPlaintext_Header
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - make_uint16
    - read_record_type
    - major_version
    - Botan::TLS::TLSPlaintext_Header::type
    - TLS_Exception
    - std::move
    - Protocol_Version
    - version_code
    linkageType: ''
    returnType: void
    signature: void TLSPlaintext_Header(std::vector<uint8_t> hdr, const bool check_tls13_version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:118,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:120,1
    - Dst: major_version
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:121,1
    - Dst: minor_version
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:122,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:123,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - record_type
    - frgmnt_length
    - use_compatibility_version
    argTypes:
    - Record_Type
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: Botan::TLS::TLSPlaintext_Header::TLSPlaintext_Header
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - get_byte<0>
    - major_version
    - get_byte<1>
    - minor_version
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: "void TLSPlaintext_Header(const Record_Type record_type,\n                          const
      size_t frgmnt_length,\n                          const bool use_compatibility_version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Botan::TLS::TLSPlaintext_Header::type
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Record_Type
    signature: Record_Type type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Botan::TLS::TLSPlaintext_Header::fragment_length
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t fragment_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Botan::TLS::TLSPlaintext_Header::legacy_version
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Protocol_Version
    signature: Protocol_Version legacy_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: '& serialized() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & serialized() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - side
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 169
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 169
    functionName: Botan::TLS::Record_Layer::Record_Layer
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Record_Layer::Record_Layer(Connection_Side side)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:172,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:172,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:172,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: Botan::TLS::Record_Layer::copy_data
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - end
    - std::span<const uint8_t>::end
    - insert
    linkageType: ''
    returnType: void
    signature: void Record_Layer::copy_data(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:191,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:198,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:198,1
    - Dst: verify_change_cipher_spec
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:201,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:201,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:201,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:202,1
    - Dst: std::max
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:219,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:219,1
    - Dst: Cipher_State*::encrypt_output_length
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:224,1
    - Dst: Cipher_State*::encrypt_output_length
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:226,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:226,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:229,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:231,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:239,1
    - Dst: TLSPlaintext_Header
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:250,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:252,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:252,1
    - Dst: auto::cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:252,1
    - Dst: auto::cend
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:252,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:254,1
    - Dst: secure_vector::reserve
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:257,1
    - Dst: secure_vector::insert
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:260,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:260,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:260,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:260,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:261,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:261,1
    - Dst: Cipher_State*::encrypt_record_fragment
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:264,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:265,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:265,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:267,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:267,1
    - Dst: secure_vector::cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:267,1
    - Dst: secure_vector::cend
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:267,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:269,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:269,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:269,1
    - Dst: auto::end
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:269,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:276,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:276,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - type
    - data
    - cipher_state
    argTypes:
    - Record_Type
    - std::span<const uint8_t>
    - Cipher_State*
    constantsTouched: []
    func_position:
      end: 278
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 278
    functionName: Botan::TLS::Record_Layer::prepare_records
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - secure_vector::end
    - auto::begin
    - BOTAN_ASSERT
    - TLSPlaintext_Header
    - secure_vector::push_back
    - BOTAN_ASSERT_NOMSG
    - secure_vector::size
    - secure_vector::cend
    - std::span<const uint8_t>::empty
    - verify_change_cipher_spec
    - std::vector::reserve
    - auto::cend
    - std::span<const uint8_t>::size
    - std::vector::end
    - auto::end
    - Invalid_Argument
    - static_cast<uint8_t>
    - secure_vector::reserve
    - Cipher_State*::encrypt_record_fragment
    - std::span<const uint8_t>::begin
    - Cipher_State*::encrypt_output_length
    - secure_vector::cbegin
    - secure_vector::insert
    - std::span<const uint8_t>::subspan
    - std::max
    - std::vector::insert
    - auto::cbegin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> Record_Layer::prepare_records(const Record_Type
      type,\n                                                   std::span<const uint8_t>
      data,\n                                                   Cipher_State* cipher_state)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:281,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:282,1
    - Dst: cbegin
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:285,1
    - Dst: TLSPlaintext_Header::type
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:302,1
    - Dst: TLSPlaintext_Header::type
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:303,1
    - Dst: Cipher_State*::must_expect_unprotected_alert_traffic
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:304,1
    - Dst: TLSPlaintext_Header::type
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:304,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:305,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:308,1
    - Dst: TLSPlaintext_Header::fragment_length
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:308,1
    - Dst: TLSPlaintext_Header::fragment_length
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:309,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:309,1
    - Dst: TLSPlaintext_Header::fragment_length
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:313,1
    - Dst: TLSPlaintext_Header::type
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:315,1
    - Dst: verify_change_cipher_spec
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:316,1
    - Dst: TLSPlaintext_Header::fragment_length
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:316,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:317,1
    - Dst: TLSPlaintext_Header::type
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:320,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:320,1
    - Dst: erase
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:321,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:327,1
    - Dst: Record::fragment::size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:330,1
    - Dst: Cipher_State*::minimum_decryption_input_length
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:330,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:331,1
    - Dst: Cipher_State*::decrypt_output_length
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:334,1
    - Dst: Record::fragment::size
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:334,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:335,1
    - Dst: Cipher_State*::decrypt_record_fragment
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:338,1
    - Dst: TLSPlaintext_Header::serialized
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:338,1
    - Dst: std::find_if
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:342,1
    - Dst: Record::fragment::crbegin
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:342,1
    - Dst: Record::fragment::crend
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:342,1
    - Dst: Record::fragment::crend
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:344,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:349,1
    - Dst: read_record_type
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:353,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:359,1
    - Dst: Record::fragment::erase
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:363,1
    - Dst: base
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:363,1
    - Dst: Record::fragment::cend
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:363,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 37
    argCount: 1
    argNames:
    - cipher_state
    argTypes:
    - Cipher_State*
    constantsTouched: []
    func_position:
      end: 367
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 367
    functionName: Botan::TLS::Record_Layer::next_record
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - Record::fragment::erase
    - cbegin
    - Cipher_State*::decrypt_record_fragment
    - Record::fragment::cend
    - verify_change_cipher_spec
    - TLSPlaintext_Header::serialized
    - Record::fragment::crend
    - std::find_if
    - Cipher_State*::decrypt_output_length
    - TLSPlaintext_Header::type
    - base
    - TLSPlaintext_Header::fragment_length
    - size
    - TLS_Exception
    - Record::fragment::size
    - Cipher_State*::minimum_decryption_input_length
    - secure_vector<uint8_t>
    - Cipher_State*::must_expect_unprotected_alert_traffic
    - read_record_type
    - Record::fragment::crbegin
    - erase
    linkageType: ''
    returnType: Record_Layer::ReadResult<Record>
    signature: Record_Layer::ReadResult<Record> Record_Layer::next_record(Cipher_State*
      cipher_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:370,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:371,1
    - Dst: std::min
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:378,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - outgoing_limit
    - incoming_limit
    argTypes:
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 380
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 380
    functionName: Botan::TLS::Record_Layer::set_record_size_limits
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_record_layer_13.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - std::min
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void Record_Layer::set_record_size_limits(const uint16_t outgoing_limit,
      const uint16_t incoming_limit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - then
    - now
    argTypes:
    - std::chrono::system_clock::time_point
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: Botan::TLS::calculate_age
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) calculate_age(std::chrono::system_clock::time_point
      then, std::chrono::system_clock::time_point now)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PskIdentity
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:41,1
    - Dst: handle::opaque_handle
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:41,1
    - Dst: calculate_age
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:42,1
    - Dst: session::start_time
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:42,1
    - Dst: session::session_age_add
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:43,1
    - Dst: session::ciphersuite
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:44,1
    - Dst: session::extract_master_secret
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session_to_resume'
    - timestamp
    argTypes:
    - Session_with_Handle
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: Botan::TLS::Client_PSK::Client_PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - PskIdentity
    - calculate_age
    - session::session_age_add
    - session::ciphersuite
    - session::extract_master_secret
    - handle::opaque_handle
    - session::start_time
    linkageType: ''
    returnType: void
    signature: void Client_PSK(Session_with_Handle& session_to_resume, std::chrono::system_clock::time_point
      timestamp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PskIdentity
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:50,1
    - Dst: PresharedKeyID
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:50,1
    - Dst: identity
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:50,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:51,1
    - Dst: extract_master_secret
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' psk'
    argTypes:
    - ExternalPSK
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Botan::TLS::Client_PSK::Client_PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - PskIdentity
    - extract_master_secret
    - identity
    - prf_algo
    - PresharedKeyID
    linkageType: ''
    returnType: void
    signature: void Client_PSK(ExternalPSK&& psk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:56,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - id
    - bndr
    argTypes:
    - PskIdentity
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: Botan::TLS::Client_PSK::Client_PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Client_PSK(PskIdentity id, std::vector<uint8_t> bndr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:62,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:77,1
    - Dst: Botan::TLS::Cipher_State::init_with_psk
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:80,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - id
    - prf_algo
    - ' master_secret'
    - psk_type
    argTypes:
    - PskIdentity
    - std::string_view
    - secure_vector<uint8_t>
    - Cipher_State::PSK_Type
    constantsTouched: []
    func_position:
      end: 80
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 80
    functionName: Botan::TLS::Client_PSK::Client_PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Cipher_State::init_with_psk
    - std::move
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: void
    signature: "void Client_PSK(PskIdentity id,\n                 std::string_view
      prf_algo,\n                 secure_vector<uint8_t>&& master_secret,\n                 Cipher_State::PSK_Type
      psk_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '& identity() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PskIdentity
    signature: PskIdentity & identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: '& binder() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & binder() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: Botan::TLS::Client_PSK::is_resumption
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_resumption() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - binder
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: Botan::TLS::Client_PSK::set_binder
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_binder(std::vector<uint8_t> binder)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '& cipher_state() const'
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: Cipher_State
    signature: Cipher_State & cipher_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan::TLS::Client_PSK::take_cipher_state
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: std::unique_ptr<Cipher_State>
    signature: std::unique_ptr<Cipher_State> take_cipher_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::monostate
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: Botan::TLS::Server_PSK::Server_PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::monostate
    linkageType: ''
    returnType: void
    signature: void Server_PSK(uint16_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - id
    - session
    argTypes:
    - uint16_t
    - Session
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: Botan::TLS::Server_PSK::Server_PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Server_PSK(uint16_t id, Session session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - id
    - psk
    argTypes:
    - uint16_t
    - ExternalPSK
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Botan::TLS::Server_PSK::Server_PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Server_PSK(uint16_t id, ExternalPSK psk)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan::TLS::Server_PSK::selected_identity
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t selected_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:119,1
    - Dst: std::holds_alternative<std::monostate>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:119,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:120,1
    - Dst: std::monostate
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: Botan::TLS::Server_PSK::take_session_to_resume_or_psk
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::monostate
    - BOTAN_STATE_CHECK
    - std::holds_alternative<std::monostate>
    - std::exchange
    linkageType: ''
    returnType: std::variant<std::monostate, Session, ExternalPSK>
    signature: std::variant<std::monostate, Session, ExternalPSK> take_session_to_resume_or_psk()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - srv_psk
    argTypes:
    - Server_PSK
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: Botan::TLS::PSK::PSK_Internal::PSK_Internal
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PSK_Internal(Server_PSK srv_psk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - clt_psks
    argTypes:
    - std::vector<Client_PSK>
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: Botan::TLS::PSK::PSK_Internal::PSK_Internal
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PSK_Internal(std::vector<Client_PSK> clt_psks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:145,1
    - Dst: std::make_unique<PSK_Internal>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:149,1
    - Dst: Server_PSK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:149,1
    - Dst: get_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:151,1
    - Dst: read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:152,1
    - Dst: has_remaining
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:155,1
    - Dst: read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:155,1
    - Dst: get_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:156,1
    - Dst: get_uint32_t
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:157,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:158,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:158,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:161,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:162,1
    - Dst: read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:165,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:166,1
    - Dst: get_uint16_t
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:169,1
    - Dst: read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:170,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:173,1
    - Dst: has_remaining
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:178,1
    - Dst: read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:178,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:179,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:182,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:182,1
    - Dst: get_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:182,1
    - Dst: read_so_far
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:185,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:186,1
    - Dst: std::make_unique<PSK_Internal>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:189,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:189,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:191,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 32
    argCount: 3
    argNames:
    - ' reader'
    - extension_size
    - message_type
    argTypes:
    - TLS_Data_Reader
    - uint16_t
    - Handshake_Type
    constantsTouched: []
    func_position:
      end: 193
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 193
    functionName: Botan::TLS::PSK::PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - has_remaining
    - std::vector::empty
    - std::make_unique<PSK_Internal>
    - get_tls_length_value
    - get_uint32_t
    - TLS_Exception
    - std::move
    - read_so_far
    - std::vector::emplace_back
    - get_uint16_t
    - Server_PSK
    linkageType: ''
    returnType: void
    signature: void PSK::PSK(TLS_Data_Reader& reader, uint16_t extension_size, Handshake_Type
      message_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:198,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:199,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:199,1
    - Dst: tls_current_timestamp
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:199,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:203,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:203,1
    - Dst: std::make_unique<PSK_Internal>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:206,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ' session_to_resume'
    - psks
    - ' callbacks'
    argTypes:
    - std::optional<Session_with_Handle>
    - std::vector<ExternalPSK>
    - Callbacks
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: Botan::TLS::PSK::PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PSK_Internal>
    - std::move
    - value
    - std::vector::emplace_back
    - tls_current_timestamp
    - has_value
    linkageType: ''
    returnType: void
    signature: void PSK::PSK(std::optional<Session_with_Handle>& session_to_resume,
      std::vector<ExternalPSK> psks, Callbacks& callbacks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PSK_Internal>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:210,1
    - Dst: Server_PSK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:210,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - session_to_resume
    - psk_index
    argTypes:
    - Session
    - uint16_t
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: Botan::TLS::PSK::PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PSK_Internal>
    - Server_PSK
    - std::move
    linkageType: ''
    returnType: void
    signature: void PSK::PSK(Session session_to_resume, const uint16_t psk_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PSK_Internal>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:213,1
    - Dst: Server_PSK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:213,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - psk
    - psk_index
    argTypes:
    - ExternalPSK
    - uint16_t
    constantsTouched: []
    func_position:
      end: 213
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 213
    functionName: Botan::TLS::PSK::PSK
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PSK_Internal>
    - Server_PSK
    - std::move
    linkageType: ''
    returnType: void
    signature: void PSK::PSK(ExternalPSK psk, const uint16_t psk_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: PSK::~PSK()
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PSK::~PSK()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<Server_PSK>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:218,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:222,1
    - Dst: std::holds_alternative<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:222,1
    - Dst: std::get<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: Botan::TLS::PSK::empty
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::holds_alternative<std::vector<Client_PSK>>
    - std::holds_alternative<Server_PSK>
    - std::get<std::vector<Client_PSK>>
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: bool
    signature: bool PSK::empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:228,1
    - Dst: std::holds_alternative<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:228,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:229,1
    - Dst: std::holds_alternative<Server_PSK>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:229,1
    - Dst: std::get<Server_PSK>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:231,1
    - Dst: std::get<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:232,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:239,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:240,1
    - Dst: at
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:243,1
    - Dst: take_cipher_state
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:244,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:246,1
    - Dst: is_resumption
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:249,1
    - Dst: identity
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:252,1
    - Dst: clear
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:256,1
    - Dst: auto::is_compatible_with
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:263,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:264,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:267,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' server_psk'
    - ' cipher'
    argTypes:
    - PSK
    - Ciphersuite
    constantsTouched: []
    func_position:
      end: 268
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 268
    functionName: Botan::TLS::PSK::take_selected_psk_info
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - identity
    - take_cipher_state
    - auto::is_compatible_with
    - is_resumption
    - BOTAN_STATE_CHECK
    - at
    - size
    - std::holds_alternative<std::vector<Client_PSK>>
    - clear
    - TLS_Exception
    - std::move
    - std::get<std::vector<Client_PSK>>
    - std::get<Server_PSK>
    - std::holds_alternative<Server_PSK>
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: std::pair<std::optional<std::string>, std::unique_ptr<Cipher_State>>
    signature: "std::pair<std::optional<std::string>, std::unique_ptr<Cipher_State>>
      PSK::take_selected_psk_info(\n   const PSK& server_psk, const Ciphersuite& cipher)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:276,1
    - Dst: std::holds_alternative<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:276,1
    - Dst: std::get<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:278,1
    - Dst: std::transform
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:284,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:285,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:285,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:285,1
    - Dst: identity
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:285,1
    - Dst: choose_from_offered_tickets
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:287,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:287,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:288,1
    - Dst: ciphersuite
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:294,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:294,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:295,1
    - Dst: std::unique_ptr<PSK>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:299,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:299,1
    - Dst: PSK::PSK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:299,1
    - Dst: std::transform
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:306,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:306,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:306,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:306,1
    - Dst: identity
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:307,1
    - Dst: choose_preshared_key
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:310,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:310,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:311,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:317,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:317,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:318,1
    - Dst: std::find_if
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:323,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:323,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:323,1
    - Dst: identity_as_string
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:324,1
    - Dst: identity
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:324,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:326,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:327,1
    - Dst: std::unique_ptr<PSK>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:342,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:343,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:343,1
    - Dst: std::distance
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:343,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:343,1
    - Dst: PSK::PSK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 6
    argNames:
    - host
    - ' cipher'
    - ' session_mgr'
    - ' credentials_mgr'
    - ' callbacks'
    - ' policy'
    argTypes:
    - std::string_view
    - Ciphersuite
    - Session_Manager
    - Credentials_Manager
    - Callbacks
    - Policy
    constantsTouched: []
    func_position:
      end: 347
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 347
    functionName: Botan::TLS::PSK::select_offered_psk
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - identity
    - choose_preshared_key
    - std::vector::begin
    - auto::value
    - identity_as_string
    - std::get<std::vector<Client_PSK>>
    - std::find_if
    - std::vector::end
    - ciphersuite
    - std::transform
    - PSK::PSK
    - BOTAN_STATE_CHECK
    - std::back_inserter
    - end
    - TLS_Exception
    - std::move
    - std::unique_ptr<PSK>
    - begin
    - prf_algo
    - std::holds_alternative<std::vector<Client_PSK>>
    - choose_from_offered_tickets
    - std::distance
    linkageType: ''
    returnType: std::unique_ptr<PSK>
    signature: "std::unique_ptr<PSK> PSK::select_offered_psk(std::string_view host,\n
      \                                            const Ciphersuite& cipher,\n                                             Session_Manager&
      session_mgr,\n                                             Credentials_Manager&
      credentials_mgr,\n                                             Callbacks& callbacks,\n
      \                                            const Policy& policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:350,1
    - Dst: std::holds_alternative<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:350,1
    - Dst: std::get<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:351,1
    - Dst: std::remove_if
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:353,1
    - Dst: begin
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:353,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:353,1
    - Dst: cipher_state
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:354,1
    - Dst: is_compatible_with
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:355,1
    - Dst: erase
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:357,1
    - Dst: end
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' cipher'
    argTypes:
    - Ciphersuite
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: Botan::TLS::PSK::filter
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - std::remove_if
    - begin
    - BOTAN_STATE_CHECK
    - cipher_state
    - std::holds_alternative<std::vector<Client_PSK>>
    - end
    - erase
    - std::get<std::vector<Client_PSK>>
    - is_compatible_with
    linkageType: ''
    returnType: void
    signature: void PSK::filter(const Ciphersuite& cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:361,1
    - Dst: std::holds_alternative<Server_PSK>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:361,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:363,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:366,1
    - Dst: std::get<Server_PSK>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 372
    functionName: Botan::TLS::PSK::take_session_to_resume_or_psk
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - std::visit
    - TLS_Exception
    - std::get<Server_PSK>
    - std::holds_alternative<Server_PSK>
    linkageType: ''
    returnType: std::variant<Session, ExternalPSK>
    signature: std::variant<Session, ExternalPSK> PSK::take_session_to_resume_or_psk()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:377,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:379,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:380,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:382,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:382,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:383,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:383,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:386,1
    - Dst: identity
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:391,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:392,1
    - Dst: identity
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:392,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:395,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:395,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:396,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:396,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:397,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:397,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:398,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:398,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:400,1
    - Dst: binder
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:400,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:403,1
    - Dst: append_tls_length_value
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - side
    argTypes:
    - Connection_Side
    constantsTouched: []
    func_position:
      end: 410
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 410
    functionName: Botan::TLS::PSK::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - identity
    - binder
    - get_byte<0>
    - BOTAN_STATE_CHECK
    - std::visit
    - get_byte<1>
    - std::vector::push_back
    - std::vector::reserve
    - get_byte<3>
    - append_tls_length_value
    - get_byte<2>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PSK::serialize(Connection_Side side) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:414,1
    - Dst: std::holds_alternative<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:414,1
    - Dst: std::get<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:415,1
    - Dst: clone
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:416,1
    - Dst: cipher_state
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:417,1
    - Dst: auto::set_algorithm
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:418,1
    - Dst: hash_algorithm
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:418,1
    - Dst: set_binder
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:419,1
    - Dst: psk_binder_mac
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:419,1
    - Dst: auto::truncated
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' truncated_transcript_hash'
    argTypes:
    - Transcript_Hash_State
    constantsTouched: []
    func_position:
      end: 421
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 421
    functionName: Botan::TLS::PSK::calculate_binders
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - cipher_state
    - psk_binder_mac
    - auto::set_algorithm
    - std::holds_alternative<std::vector<Client_PSK>>
    - clone
    - set_binder
    - std::get<std::vector<Client_PSK>>
    - auto::truncated
    - hash_algorithm
    linkageType: ''
    returnType: void
    signature: void PSK::calculate_binders(const Transcript_Hash_State& truncated_transcript_hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:424,1
    - Dst: std::holds_alternative<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:424,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:425,1
    - Dst: std::holds_alternative<Server_PSK>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:425,1
    - Dst: std::get<std::vector<Client_PSK>>
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:428,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:430,1
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:430,1
    - Dst: binder
      Src: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' server_psk'
    - ' binder'
    argTypes:
    - PSK
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 432
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 432
    functionName: Botan::TLS::PSK::validate_binder
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_extensions_psk.cpp
    functionUses: 0
    functionsReached:
    - binder
    - BOTAN_STATE_CHECK
    - size
    - std::holds_alternative<std::vector<Client_PSK>>
    - std::get<std::vector<Client_PSK>>
    - std::holds_alternative<Server_PSK>
    linkageType: ''
    returnType: bool
    signature: bool PSK::validate_binder(const PSK& server_psk, const std::vector<uint8_t>&
      binder) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::TLS::Internal::Handshake_State_13_Base
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Handshake_State_13_Base
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::TLS::Internal::has_server_hello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool has_server_hello() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::TLS::Internal::has_server_certificate_msg
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool has_server_certificate_msg() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::TLS::Internal::has_client_certificate_msg
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool has_client_certificate_msg() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::TLS::Internal::has_hello_retry_request
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool has_hello_retry_request() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::TLS::Internal::has_certificate_request
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool has_certificate_request() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::TLS::Internal::has_server_finished
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool has_server_finished() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan::TLS::Internal::has_client_finished
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool has_client_finished() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::has_server_finished
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:43,1
    - Dst: Botan::TLS::Internal::has_client_finished
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::TLS::Internal::handshake_finished
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::has_server_finished
    - Botan::TLS::Internal::has_client_finished
    linkageType: ''
    returnType: bool
    signature: bool handshake_finished() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan::TLS::Internal::client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Client_Hello_13
    signature: Client_Hello_13 & client_hello()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::TLS::Internal::client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Client_Hello_13
    signature: Client_Hello_13 & client_hello() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::TLS::Internal::server_hello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Server_Hello_13
    signature: Server_Hello_13 & server_hello() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan::TLS::Internal::hello_retry_request
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Hello_Retry_Request
    signature: Hello_Retry_Request & hello_retry_request() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::TLS::Internal::encrypted_extensions
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Encrypted_Extensions
    signature: Encrypted_Extensions & encrypted_extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::TLS::Internal::certificate_request
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Certificate_Request_13
    signature: Certificate_Request_13 & certificate_request() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: Botan::TLS::Internal::server_certificate
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Certificate_13
    signature: Certificate_13 & server_certificate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan::TLS::Internal::client_certificate
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Certificate_13
    signature: Certificate_13 & client_certificate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::TLS::Internal::server_certificate_verify
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Certificate_Verify_13
    signature: Certificate_Verify_13 & server_certificate_verify() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::TLS::Internal::client_certificate_verify
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Certificate_Verify_13
    signature: Certificate_Verify_13 & client_certificate_verify() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan::TLS::Internal::server_finished
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Finished_13
    signature: Finished_13 & server_finished() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Internal::get
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::TLS::Internal::client_finished
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::Internal::get
    linkageType: ''
    returnType: Finished_13
    signature: Finished_13 & client_finished() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:87,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:88,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' opt'
    argTypes:
    - std::optional<MessageT>
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: Botan::TLS::Internal::get
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 12
    functionsReached:
    - value
    - has_value
    - Invalid_State
    linkageType: ''
    returnType: "private:\n      template <typename MessageT>"
    signature: "private:\n      template <typename MessageT> & get(const std::optional<MessageT>&
      opt) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:95,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:96,1
    - Dst: value
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' opt'
    argTypes:
    - std::optional<MessageT>
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: Botan::TLS::Internal::get
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 12
    functionsReached:
    - value
    - has_value
    - Invalid_State
    linkageType: ''
    returnType: MessageT
    signature: MessageT & get(std::optional<MessageT>& opt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Handshake_State_13
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:136,1
    - Dst: std::reference_wrapper<decltype(msg)>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:142,1
    - Dst: store
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:142,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:142,1
    - Dst: is_generalizable_to<Outbound_Message_T>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:147,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:149,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:150,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:150,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:151,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:155,1
    - Dst: std::reference_wrapper<decltype(msg)>
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:158,1
    - Dst: store
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:158,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:158,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:160,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:163,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:167,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:172,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 177
    functionName: Internal::Handshake_State_13_Base
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_handshake_state_13.h
    functionUses: 0
    functionsReached:
    - std::reference_wrapper<decltype(msg)>
    - std::visit
    - sending
    - std::move
    - Handshake_State_13
    - is_generalizable_to<Outbound_Message_T>
    - store
    - TLS_Exception
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Internal::Handshake_State_13_Base
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:18,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:25,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:26,1
    - Dst: key_exchange_groups
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:26,1
    - Dst: Supported_Groups::Supported_Groups
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:26,1
    - Dst: record_size_limit
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:29,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:31,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:37,1
    - Dst: auto::value_or
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:37,1
    - Dst: Record_Size_Limit::Record_Size_Limit
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:37,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:38,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:38,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:43,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:55,1
    - Dst: request_client_certificate_authentication
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:56,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:57,1
    - Dst: Client_Certificate_Type::Client_Certificate_Type
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:57,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:66,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:67,1
    - Dst: Server_Certificate_Type::Server_Certificate_Type
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:67,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:75,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:76,1
    - Dst: Server_Name_Indicator::Server_Name_Indicator
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:76,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:79,1
    - Dst: tls_server_choose_app_protocol
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:80,1
    - Dst: auto::protocols
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:80,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:81,1
    - Dst: add
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:82,1
    - Dst: Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:82,1
    - Dst: tls_modify_extensions
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:89,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:89,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - ' client_hello'
    - ' policy'
    - ' cb'
    argTypes:
    - Client_Hello_13
    - Policy
    - Callbacks
    constantsTouched: []
    func_position:
      end: 90
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 90
    functionName: Botan::TLS::Encrypted_Extensions::Encrypted_Extensions
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp
    functionUses: 0
    functionsReached:
    - add
    - type
    - Server_Name_Indicator::Server_Name_Indicator
    - Record_Size_Limit::Record_Size_Limit
    - request_client_certificate_authentication
    - get
    - Client_Certificate_Type::Client_Certificate_Type
    - auto::protocols
    - auto::value
    - auto::has_value
    - Supported_Groups::Supported_Groups
    - auto::value_or
    - extensions
    - tls_server_choose_app_protocol
    - TLS_Exception
    - record_size_limit
    - has
    - key_exchange_groups
    - Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification
    - tls_modify_extensions
    - Server_Certificate_Type::Server_Certificate_Type
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void Encrypted_Extensions::Encrypted_Extensions(const Client_Hello_13&
      client_hello, const Policy& policy, Callbacks& cb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:98,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:99,1
    - Dst: deserialize
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:102,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:102,1
    - Dst: contains_implemented_extensions_other_than
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:127,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 130
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 130
    functionName: Botan::TLS::Encrypted_Extensions::Encrypted_Extensions
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp
    functionUses: 0
    functionsReached:
    - type
    - size
    - contains_implemented_extensions_other_than
    - TLS_Exception
    - deserialize
    linkageType: ''
    returnType: void
    signature: void Encrypted_Extensions::Encrypted_Extensions(const std::vector<uint8_t>&
      buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Encrypted_Extensions::serialize
      Src: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: Botan::TLS::Encrypted_Extensions::serialize
    functionSourceFile: /src/botan/src/lib/tls/tls13/msg_encrypted_extensions.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Encrypted_Extensions::serialize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Encrypted_Extensions::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' alert'
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: is_user_canceled_alert
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: bool
    signature: bool is_user_canceled_alert(const Botan::TLS::Alert& alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' alert'
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: is_close_notify_alert
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: bool
    signature: bool is_close_notify_alert(const Botan::TLS::Alert& alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_close_notify_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:34,1
    - Dst: is_user_canceled_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' alert'
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: is_error_alert
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - is_user_canceled_alert
    - is_close_notify_alert
    linkageType: ''
    returnType: bool
    signature: bool is_error_alert(const Botan::TLS::Alert& alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:59,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:60,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:61,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:62,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - ' callbacks'
    - ' session_manager'
    - ' credentials_manager'
    - ' rng'
    - ' policy'
    - is_server
    argTypes:
    - std::shared_ptr<Callbacks>
    - std::shared_ptr<Session_Manager>
    - std::shared_ptr<Credentials_Manager>
    - std::shared_ptr<RandomNumberGenerator>
    - std::shared_ptr<const Policy>
    - bool
    constantsTouched: []
    func_position:
      end: 64
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 64
    functionName: Botan::TLS::Channel_Impl_13::Channel_Impl_13
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void Channel_Impl_13::Channel_Impl_13(const std::shared_ptr<Callbacks>&
      callbacks,\n                                 const std::shared_ptr<Session_Manager>&
      session_manager,\n                                 const std::shared_ptr<Credentials_Manager>&
      credentials_manager,\n                                 const std::shared_ptr<RandomNumberGenerator>&
      rng,\n                                 const std::shared_ptr<const Policy>&
      policy,\n                                 bool is_server)"
  - 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: Channel_Impl_13::~Channel_Impl_13()
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::~Channel_Impl_13()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:69,1
    - Dst: is_downgrading
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:69,1
    - Dst: expects_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:78,1
    - Dst: preserve_peer_transcript
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:79,1
    - Dst: copy_data
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:82,1
    - Dst: next_record
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:93,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:93,1
    - Dst: std::holds_alternative<BytesNeeded>
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:95,1
    - Dst: std::get<BytesNeeded>
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:96,1
    - Dst: std::get<Record>
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:99,1
    - Dst: has_pending_data
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:103,1
    - Dst: Unexpected_Message
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:104,1
    - Dst: copy_data
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:108,1
    - Dst: is_handshake_complete
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:110,1
    - Dst: next_message
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:111,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:111,1
    - Dst: "holds_any_of<Client_Hello_12,\n                                  Client_Hello_13
        /*, EndOfEarlyData,*/,\n                                  Server_Hello_13,\n
        \                                 Hello_Retry_Request,\n                                  Finished_13>"
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:127,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:131,1
    - Dst: has_pending_data
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:132,1
    - Dst: Unexpected_Message
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:133,1
    - Dst: process_handshake_msg
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:136,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:136,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:136,1
    - Dst: is_downgrading
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:138,1
    - Dst: Botan::TLS::Channel_Impl_13::shutdown
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:145,1
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:149,1
    - Dst: disable_receiving_compat_mode
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:156,1
    - Dst: next_post_handshake_message
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:161,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:161,1
    - Dst: process_post_handshake_msg
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:162,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:162,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:162,1
    - Dst: process_dummy_change_cipher_spec
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:166,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:168,1
    - Dst: seq_no::has_value
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:168,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:169,1
    - Dst: seq_no::value
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:169,1
    - Dst: Botan::TLS::Channel_Impl_13::process_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:171,1
    - Dst: Unexpected_Message
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:173,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:173,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:173,1
    - Dst: send_fatal_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:178,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:178,1
    - Dst: send_fatal_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:184,1
    - Dst: send_fatal_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:187,1
    - Dst: send_fatal_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:190,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 74
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 193
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 193
    functionName: Botan::TLS::Channel_Impl_13::from_peer
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - std::holds_alternative<BytesNeeded>
    - seq_no::value
    - type
    - preserve_peer_transcript
    - Botan::TLS::Channel_Impl_13::shutdown
    - is_handshake_complete
    - Botan::TLS::Channel_Impl_13::process_alert
    - std::to_string
    - next_record
    - static_cast<size_t>
    - get
    - BOTAN_ASSERT
    - disable_receiving_compat_mode
    - auto::value
    - is_downgrading
    - callbacks
    - next_message
    - "holds_any_of<Client_Hello_12,\n                                  Client_Hello_13
      /*, EndOfEarlyData,*/,\n                                  Server_Hello_13,\n
      \                                 Hello_Retry_Request,\n                                  Finished_13>"
    - process_dummy_change_cipher_spec
    - seq_no::has_value
    - next_post_handshake_message
    - std::get<BytesNeeded>
    - BOTAN_STATE_CHECK
    - std::get<Record>
    - send_fatal_alert
    - std::move
    - reset
    - process_handshake_msg
    - process_post_handshake_msg
    - expects_downgrade
    - has_pending_data
    - policy
    - Unexpected_Message
    - copy_data
    linkageType: ''
    returnType: size_t
    signature: size_t Channel_Impl_13::from_peer(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_pending_data
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:197,1
    - Dst: Unexpected_Message
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:198,1
    - Dst: update_read_keys
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:201,1
    - Dst: expects_reciprocation
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:211,1
    - Dst: Botan::TLS::Channel_Impl_13::opportunistically_update_traffic_keys
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' key_update'
    argTypes:
    - Key_Update
    constantsTouched: []
    func_position:
      end: 218
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 218
    functionName: Botan::TLS::Channel_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - has_pending_data
    - update_read_keys
    - expects_reciprocation
    - Unexpected_Message
    - Botan::TLS::Channel_Impl_13::opportunistically_update_traffic_keys
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::handle(const Key_Update& key_update)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' channel'
    - ' handshake_layer'
    argTypes:
    - Channel_Impl_13
    - Handshake_Layer
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: Channel_Impl_13::AggregatedMessages::AggregatedMessages(Channel_Impl_13&
      channel, Handshake_Layer& handshake_layer)
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::AggregatedMessages::AggregatedMessages(Channel_Impl_13&
      channel, Handshake_Layer& handshake_layer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' channel'
    - ' handshake_layer'
    - ' transcript_hash'
    argTypes:
    - Channel_Impl_13
    - Handshake_Layer
    - Transcript_Hash_State
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: "Channel_Impl_13::AggregatedHandshakeMessages::AggregatedHandshakeMessages(Channel_Impl_13&
      channel,\n                                                                          Handshake_Layer&
      handshake_layer,\n                                                                          Transcript_Hash_State&
      transcript_hash)"
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Channel_Impl_13::AggregatedHandshakeMessages::AggregatedHandshakeMessages(Channel_Impl_13&
      channel,\n                                                                          Handshake_Layer&
      handshake_layer,\n                                                                          Transcript_Hash_State&
      transcript_hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:230,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:230,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:230,1
    - Dst: prepare_message
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - message
    argTypes:
    - Handshake_Message_13_Ref
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: "& Channel_Impl_13::AggregatedHandshakeMessages::add(\n   const
      Handshake_Message_13_Ref message)"
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - get
    - std::visit
    - callbacks
    - prepare_message
    linkageType: ''
    returnType: Channel_Impl_13::AggregatedHandshakeMessages
    signature: "Channel_Impl_13::AggregatedHandshakeMessages & Channel_Impl_13::AggregatedHandshakeMessages::add(\n
      \  const Handshake_Message_13_Ref message)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:237,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:237,1
    - Dst: prepare_post_handshake_message
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - message
    argTypes:
    - Post_Handshake_Message_13
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: "& Channel_Impl_13::AggregatedPostHandshakeMessages::add(\n   Post_Handshake_Message_13
      message)"
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - prepare_post_handshake_message
    - std::visit
    - callbacks
    linkageType: ''
    returnType: Channel_Impl_13::AggregatedPostHandshakeMessages
    signature: "Channel_Impl_13::AggregatedPostHandshakeMessages & Channel_Impl_13::AggregatedPostHandshakeMessages::add(\n
      \  Post_Handshake_Message_13 message)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:243,1
    - Dst: contains_messages
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:243,1
    - Dst: send_record
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:244,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: Channel_Impl_13::AggregatedMessages::send()
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - contains_messages
    - BOTAN_STATE_CHECK
    - std::exchange
    - send_record
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Channel_Impl_13::AggregatedMessages::send()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_13::send_record
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: Botan::TLS::Channel_Impl_13::send_dummy_change_cipher_spec
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_13::send_record
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::send_dummy_change_cipher_spec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_13::is_active
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:259,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:260,1
    - Dst: Botan::TLS::Channel_Impl_13::update_traffic_keys
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:272,1
    - Dst: Botan::TLS::Channel_Impl_13::send_record
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:276,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:276,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 277
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 277
    functionName: Botan::TLS::Channel_Impl_13::to_peer
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - Invalid_State
    - Botan::TLS::Channel_Impl_13::is_active
    - Botan::TLS::Channel_Impl_13::send_record
    - Botan::TLS::Channel_Impl_13::update_traffic_keys
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::to_peer(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_valid
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:280,1
    - Dst: Botan::TLS::Channel_Impl_13::send_record
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:282,1
    - Dst: serialize
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:282,1
    - Dst: is_close_notify_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:292,1
    - Dst: clear_write_keys
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:295,1
    - Dst: is_error_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:299,1
    - Dst: Botan::TLS::Channel_Impl_13::shutdown
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:300,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ' alert'
    argTypes:
    - Alert
    constantsTouched: []
    func_position:
      end: 302
      start: 279
    functionDepth: 3
    functionLinenumber: 279
    functionLinenumberEnd: 302
    functionName: Botan::TLS::Channel_Impl_13::send_alert
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl_13::shutdown
    - Botan::TLS::Channel_Impl_13::send_record
    - is_valid
    - is_error_alert
    - clear_write_keys
    - serialize
    - is_close_notify_alert
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::send_alert(const Alert& alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: can_encrypt_application_traffic
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: Botan::TLS::Channel_Impl_13::is_active
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 1
    functionsReached:
    - can_encrypt_application_traffic
    linkageType: ''
    returnType: bool
    signature: bool Channel_Impl_13::is_active() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:312,1
    - Dst: is_downgrading
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:312,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:313,1
    - Dst: can_export_keys
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:313,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:314,1
    - Dst: export_key
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - label
    - context
    - length
    argTypes:
    - std::string_view
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: Botan::TLS::Channel_Impl_13::key_material_export
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - export_key
    - BOTAN_STATE_CHECK
    - is_downgrading
    - can_export_keys
    - SymmetricKey
    linkageType: ''
    returnType: SymmetricKey
    signature: "SymmetricKey Channel_Impl_13::key_material_export(std::string_view
      label,\n                                                  std::string_view context,\n
      \                                                 size_t length) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:318,1
    - Dst: is_downgrading
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:318,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:319,1
    - Dst: is_handshake_complete
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:319,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:320,1
    - Dst: Botan::TLS::Channel_Impl_13::send_post_handshake_message
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:321,1
    - Dst: Key_Update
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:321,1
    - Dst: update_write_keys
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - request_peer_update
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: Botan::TLS::Channel_Impl_13::update_traffic_keys
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 1
    functionsReached:
    - Key_Update
    - BOTAN_STATE_CHECK
    - is_downgrading
    - is_handshake_complete
    - update_write_keys
    - Botan::TLS::Channel_Impl_13::send_post_handshake_message
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::update_traffic_keys(bool request_peer_update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:326,1
    - Dst: is_downgrading
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:326,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:327,1
    - Dst: prepare_records
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:329,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:329,1
    - Dst: disable_sending_compat_mode
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:336,1
    - Dst: Botan::TLS::Channel_Impl_13::prepend_ccs
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:342,1
    - Dst: prepare_records
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:344,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:344,1
    - Dst: concat
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:345,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - type
    - ' record'
    argTypes:
    - Record_Type
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 349
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 349
    functionName: Botan::TLS::Channel_Impl_13::send_record
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 3
    functionsReached:
    - BOTAN_STATE_CHECK
    - is_downgrading
    - prepare_records
    - concat
    - callbacks
    - get
    - Botan::TLS::Channel_Impl_13::prepend_ccs
    - disable_sending_compat_mode
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::send_record(Record_Type type, const std::vector<uint8_t>&
      record)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_close_notify_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:354,1
    - Dst: clear_read_keys
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:357,1
    - Dst: clear_read_buffer
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:359,1
    - Dst: is_error_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:369,1
    - Dst: Alert::is_fatal
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:369,1
    - Dst: expects_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:374,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:377,1
    - Dst: Alert::is_fatal
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:381,1
    - Dst: Botan::TLS::Channel_Impl_13::shutdown
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:382,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:385,1
    - Dst: is_close_notify_alert
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:388,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:388,1
    - Dst: close
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:389,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - ' record'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 391
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 391
    functionName: Botan::TLS::Channel_Impl_13::process_alert
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 1
    functionsReached:
    - expects_downgrade
    - clear_read_keys
    - Botan::TLS::Channel_Impl_13::shutdown
    - close
    - Alert::is_fatal
    - is_error_alert
    - callbacks
    - TLS_Exception
    - clear_read_buffer
    - is_close_notify_alert
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::process_alert(const secure_vector<uint8_t>& record)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 400
    functionName: Botan::TLS::Channel_Impl_13::shutdown
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 3
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::shutdown()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Downgrade_Information>
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:419,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' server_info'
    - ' next_protocols'
    argTypes:
    - Server_Information
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 420
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 420
    functionName: Botan::TLS::Channel_Impl_13::expect_downgrade
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<Downgrade_Information>
    linkageType: ''
    returnType: void
    signature: "void Channel_Impl_13::expect_downgrade(const Server_Information& server_info,\n
      \                                      const std::vector<std::string>& next_protocols)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_13::set_record_size_limits
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - outgoing_limit
    - incoming_limit
    argTypes:
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: Botan::TLS::Channel_Impl_13::set_record_size_limits
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Channel_Impl_13::set_record_size_limits
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::set_record_size_limits(const uint16_t outgoing_limit,
      const uint16_t incoming_limit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl_13::set_selected_certificate_type
      Src: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert_type
    argTypes:
    - Certificate_Type
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: Botan::TLS::Channel_Impl_13::set_selected_certificate_type
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_channel_impl_13.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Channel_Impl_13::set_selected_certificate_type
    linkageType: ''
    returnType: void
    signature: void Channel_Impl_13::set_selected_certificate_type(const Certificate_Type
      cert_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Cipher_State
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.h:70,1
    - Dst: Botan::TLS::empty
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.h:201,1
    - Dst: Botan::TLS::Cipher_State
      Src: /src/botan/src/lib/tls/tls13/tls_cipher_state.h:266,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 343
    functionName: Botan::TLS::Cipher_State
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_cipher_state.h
    functionUses: 1
    functionsReached:
    - Botan::TLS::Cipher_State
    - Botan::TLS::empty
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Cipher_State
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: allow_tls12
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:26,1
    - Dst: expect_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:27,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' callbacks'
    - ' session_manager'
    - ' credentials_manager'
    - ' policy'
    - ' rng'
    argTypes:
    - std::shared_ptr<Callbacks>
    - std::shared_ptr<Session_Manager>
    - std::shared_ptr<Credentials_Manager>
    - std::shared_ptr<const Policy>
    - std::shared_ptr<RandomNumberGenerator>
    constantsTouched: []
    func_position:
      end: 32
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 32
    functionName: Botan::TLS::Server_Impl_13::Server_Impl_13
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - expect_downgrade
    - allow_tls12
    - set_expected_next
    linkageType: ''
    returnType: void
    signature: "void Server_Impl_13::Server_Impl_13(const std::shared_ptr<Callbacks>&
      callbacks,\n                               const std::shared_ptr<Session_Manager>&
      session_manager,\n                               const std::shared_ptr<Credentials_Manager>&
      credentials_manager,\n                               const std::shared_ptr<const
      Policy>& policy,\n                               const std::shared_ptr<RandomNumberGenerator>&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server_Impl_13::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:35,1
    - Dst: encrypted_extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:36,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:37,1
    - Dst: auto::single_protocol
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: Botan::TLS::Server_Impl_13::application_protocol
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Server_Impl_13::is_handshake_complete
    - get
    - auto::single_protocol
    - encrypted_extensions
    linkageType: ''
    returnType: std::string
    signature: std::string Server_Impl_13::application_protocol() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_client_certificate_msg
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:46,1
    - Dst: client_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:47,1
    - Dst: client_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:48,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:51,1
    - Dst: peer_certs
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: Botan::TLS::Server_Impl_13::peer_cert_chain
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - client_certificate
    - has_value
    - has_client_certificate_msg
    - peer_certs
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> Server_Impl_13::peer_cert_chain() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_client_certificate_msg
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:59,1
    - Dst: client_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:59,1
    - Dst: client_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:60,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:63,1
    - Dst: Botan::TLS::Server_Impl_13::peer_raw_public_key
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: Botan::TLS::Server_Impl_13::peer_raw_public_key
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Server_Impl_13::peer_raw_public_key
    - client_certificate
    - has_value
    - has_client_certificate_msg
    linkageType: ''
    returnType: std::shared_ptr<const Public_Key>
    signature: std::shared_ptr<const Public_Key> Server_Impl_13::peer_raw_public_key()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: Botan::TLS::Server_Impl_13::external_psk_identity
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> Server_Impl_13::external_psk_identity()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server_Impl_13::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:85,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:85,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:86,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: Botan::TLS::Server_Impl_13::new_session_ticket_supported
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - value_exists
    - Botan::TLS::Server_Impl_13::is_handshake_complete
    - client_hello
    linkageType: ''
    returnType: bool
    signature: bool Server_Impl_13::new_session_ticket_supported() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:91,1
    - Dst: Botan::TLS::Server_Impl_13::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:91,1
    - Dst: aggregate_post_handshake_messages
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:97,1
    - Dst: next_ticket_nonce
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:101,1
    - Dst: psk
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:102,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:104,1
    - Dst: Botan::TLS::Server_Impl_13::peer_cert_chain
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:105,1
    - Dst: Botan::TLS::Server_Impl_13::peer_raw_public_key
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:106,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:107,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:108,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:109,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:110,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:112,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:113,1
    - Dst: auto::add
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:114,1
    - Dst: New_Session_Ticket_13
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:114,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:114,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:114,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:114,1
    - Dst: auto::contains_messages
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:120,1
    - Dst: auto::send
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - tickets
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 125
    functionName: Botan::TLS::Server_Impl_13::send_new_session_tickets
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Server_Impl_13::peer_cert_chain
    - auto::add
    - auto::value
    - callbacks
    - Botan::TLS::Server_Impl_13::is_handshake_complete
    - client_hello
    - session_manager
    - psk
    - auto::send
    - BOTAN_STATE_CHECK
    - server_hello
    - auto::contains_messages
    - rng
    - std::move
    - New_Session_Ticket_13
    - next_ticket_nonce
    - aggregate_post_handshake_messages
    - policy
    - Botan::TLS::Server_Impl_13::peer_raw_public_key
    linkageType: ''
    returnType: size_t
    signature: size_t Server_Impl_13::send_new_session_tickets(const size_t tickets)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:128,1
    - Dst: confirm_transition_to
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:131,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:131,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:134,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:134,1
    - Dst: Botan::TLS::Server_Impl_13::handle
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:137,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:137,1
    - Dst: received
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:139,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - message
    argTypes:
    - Handshake_Message_13
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: Botan::TLS::Server_Impl_13::process_handshake_msg
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Server_Impl_13::handle
    - received
    - std::visit
    - callbacks
    - confirm_transition_to
    - get
    - std::move
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::process_handshake_msg(Handshake_Message_13 message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:143,1
    - Dst: Botan::TLS::Server_Impl_13::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:143,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:145,1
    - Dst: Botan::TLS::Server_Impl_13::handle
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:145,1
    - Dst: received
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:145,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - message
    argTypes:
    - Post_Handshake_Message_13
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: Botan::TLS::Server_Impl_13::process_post_handshake_msg
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Server_Impl_13::handle
    - received
    - BOTAN_STATE_CHECK
    - std::visit
    - Botan::TLS::Server_Impl_13::is_handshake_complete
    - std::move
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::process_post_handshake_msg(Post_Handshake_Message_13
      message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:153,1
    - Dst: has_client_finished
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:153,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: Botan::TLS::Server_Impl_13::process_dummy_change_cipher_spec
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - TLS_Exception
    - has_client_hello
    - has_client_finished
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::process_dummy_change_cipher_spec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handshake_finished
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: Botan::TLS::Server_Impl_13::is_handshake_complete
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 4
    functionsReached:
    - handshake_finished
    linkageType: ''
    returnType: bool
    signature: bool Server_Impl_13::is_handshake_complete() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:171,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:172,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - label
    - secret
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: Botan::TLS::Server_Impl_13::maybe_log_secret
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - client_hello
    - callbacks
    - policy
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::maybe_log_secret(std::string_view label, std::span<const
      uint8_t> secret) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:177,1
    - Dst: expects_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:177,1
    - Dst: request_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:179,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: Botan::TLS::Server_Impl_13::downgrade
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - expects_downgrade
    - set_expected_next
    - BOTAN_ASSERT_NOMSG
    - request_downgrade
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::downgrade()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:187,1
    - Dst: has_client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:187,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:188,1
    - Dst: has_hello_retry_request
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:188,1
    - Dst: has_server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:188,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:215,1
    - Dst: send_dummy_change_cipher_spec
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 218
    functionName: Botan::TLS::Server_Impl_13::maybe_handle_compatibility_mode
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - has_hello_retry_request
    - BOTAN_ASSERT_NOMSG
    - has_server_hello
    - has_client_hello
    - policy
    - send_dummy_change_cipher_spec
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::maybe_handle_compatibility_mode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:221,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:222,1
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:226,1
    - Dst: Server_Hello_13::ciphersuite
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:226,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:227,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:227,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:228,1
    - Dst: set_algorithm
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:229,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:229,1
    - Dst: Server_Hello_13::extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:233,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:236,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:237,1
    - Dst: Botan::TLS::Cipher_State::init_with_psk
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:238,1
    - Dst: extract_master_secret
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:240,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:241,1
    - Dst: identity
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:244,1
    - Dst: Botan::TLS::Cipher_State::init_with_psk
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:245,1
    - Dst: extract_master_secret
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:247,1
    - Dst: prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:248,1
    - Dst: auto::take_session_to_resume_or_psk
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:250,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:263,1
    - Dst: std::unique_ptr::psk_binder_mac
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:264,1
    - Dst: truncated
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:264,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:265,1
    - Dst: send_handshake_message
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:285,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:285,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:285,1
    - Dst: Botan::TLS::Server_Impl_13::maybe_handle_compatibility_mode
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:286,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:291,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:292,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:295,1
    - Dst: std::unique_ptr::advance_with_client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:296,1
    - Dst: previous
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:296,1
    - Dst: std::unique_ptr::advance_with_server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:297,1
    - Dst: auto::take_shared_secret
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:298,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:298,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:300,1
    - Dst: Botan::TLS::Cipher_State::init_with_server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:302,1
    - Dst: auto::take_shared_secret
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:303,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:303,1
    - Dst: aggregate_handshake_messages
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:307,1
    - Dst: auto::add
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:308,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:308,1
    - Dst: Encrypted_Extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:308,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:308,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:308,1
    - Dst: Botan::TLS::Certificate_Request_13::maybe_create
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:316,1
    - Dst: credentials_manager
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:316,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:316,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:316,1
    - Dst: auto::add
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:317,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:317,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:317,1
    - Dst: auto::value
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:317,1
    - Dst: encrypted_extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:320,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:329,1
    - Dst: set_selected_certificate_type
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:330,1
    - Dst: auto::selected_certificate_type
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:330,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:339,1
    - Dst: auto::selected_certificate_type
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:340,1
    - Dst: auto::add
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:346,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:346,1
    - Dst: Certificate_13
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:346,1
    - Dst: credentials_manager
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:346,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:346,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:347,1
    - Dst: Certificate_Verify_13
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:347,1
    - Dst: server_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:347,1
    - Dst: signature_schemes
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:348,1
    - Dst: sni_hostname
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:349,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:350,1
    - Dst: credentials_manager
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:352,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:353,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:354,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:355,1
    - Dst: auto::add
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:358,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:358,1
    - Dst: Finished_13
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:358,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:358,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:358,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:360,1
    - Dst: encrypted_extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:361,1
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:377,1
    - Dst: encrypted_extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:378,1
    - Dst: set_record_size_limits
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:379,1
    - Dst: auto::limit
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:379,1
    - Dst: auto::limit
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:379,1
    - Dst: auto::send
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:382,1
    - Dst: advance_with_server_finished
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:384,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:384,1
    - Dst: has_certificate_request
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:386,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:393,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:395,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 1
    argNames:
    - server_hello
    argTypes:
    - Server_Hello_13
    constantsTouched: []
    func_position:
      end: 397
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 397
    functionName: Botan::TLS::Server_Impl_13::handle_reply_to_client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - auto::take_session_to_resume_or_psk
    - identity
    - set_algorithm
    - signature_schemes
    - Server_Hello_13::extensions
    - get
    - sending
    - Certificate_13
    - Finished_13
    - auto::add
    - aggregate_handshake_messages
    - BOTAN_ASSERT_NONNULL
    - auto::limit
    - previous
    - BOTAN_ASSERT_NOMSG
    - auto::value
    - auto::selected_certificate_type
    - set_record_size_limits
    - auto::has_value
    - callbacks
    - extensions
    - client_hello
    - Botan::TLS::Server_Impl_13::maybe_handle_compatibility_mode
    - server_certificate
    - encrypted_extensions
    - Server_Hello_13::ciphersuite
    - advance_with_server_finished
    - auto::send
    - std::visit
    - truncated
    - send_handshake_message
    - server_hello
    - current
    - TLS_Exception
    - std::move
    - rng
    - credentials_manager
    - std::unique_ptr::psk_binder_mac
    - sni_hostname
    - auto::take_shared_secret
    - set_expected_next
    - Botan::TLS::Cipher_State::init_with_psk
    - Botan::TLS::Ciphersuite::by_id
    - extract_master_secret
    - Botan::TLS::Cipher_State::init_with_server_hello
    - std::unique_ptr::advance_with_client_hello
    - Encrypted_Extensions
    - Botan::TLS::Certificate_Request_13::maybe_create
    - prf_algo
    - Certificate_Verify_13
    - has_certificate_request
    - set_selected_certificate_type
    - policy
    - std::unique_ptr::advance_with_server_hello
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::handle_reply_to_client_hello(Server_Hello_13 server_hello)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Ciphersuite::by_id
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:400,1
    - Dst: Hello_Retry_Request::ciphersuite
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:400,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:401,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:401,1
    - Dst: send_handshake_message
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:403,1
    - Dst: sending
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:403,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:403,1
    - Dst: Botan::TLS::Server_Impl_13::maybe_handle_compatibility_mode
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:404,1
    - Dst: Botan::TLS::Transcript_Hash_State::recreate_after_hello_retry_request
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:406,1
    - Dst: auto::prf_algo
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:406,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - hello_retry_request
    argTypes:
    - Hello_Retry_Request
    constantsTouched: []
    func_position:
      end: 409
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 409
    functionName: Botan::TLS::Server_Impl_13::handle_reply_to_client_hello
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Server_Impl_13::maybe_handle_compatibility_mode
    - Botan::TLS::Ciphersuite::by_id
    - auto::prf_algo
    - BOTAN_ASSERT_NOMSG
    - Botan::TLS::Transcript_Hash_State::recreate_after_hello_retry_request
    - auto::has_value
    - send_handshake_message
    - sending
    - std::move
    - Hello_Retry_Request::ciphersuite
    - set_expected_next
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::handle_reply_to_client_hello(Hello_Retry_Request
      hello_retry_request)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:414,1
    - Dst: has_hello_retry_request
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:417,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:418,1
    - Dst: expects_downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:427,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:428,1
    - Dst: Botan::TLS::Server_Impl_13::downgrade
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' ch'
    argTypes:
    - Client_Hello_12
    constantsTouched: []
    func_position:
      end: 432
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 432
    functionName: Botan::TLS::Server_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 2
    functionsReached:
    - expects_downgrade
    - has_hello_retry_request
    - Botan::TLS::Server_Impl_13::downgrade
    - TLS_Exception
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::handle(const Client_Hello_12& ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:435,1
    - Dst: highest_supported_version
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:440,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:440,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:442,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:448,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:449,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:455,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:456,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:464,1
    - Dst: has
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:464,1
    - Dst: hello_retry_request
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:467,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:468,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:469,1
    - Dst: auto::size
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:470,1
    - Dst: auto::at
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:470,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:471,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:475,1
    - Dst: type
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:475,1
    - Dst: std::visit
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:476,1
    - Dst: Botan::TLS::Server_Impl_13::handle_reply_to_client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:476,1
    - Dst: std::move
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:476,1
    - Dst: Botan::TLS::Server_Hello_13::create
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:477,1
    - Dst: session_manager
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:479,1
    - Dst: credentials_manager
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:480,1
    - Dst: rng
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:481,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:482,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:483,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - ' client_hello'
    argTypes:
    - Client_Hello_13
    constantsTouched: []
    func_position:
      end: 484
      start: 434
    functionDepth: 4
    functionLinenumber: 434
    functionLinenumberEnd: 484
    functionName: Botan::TLS::Server_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 2
    functionsReached:
    - hello_retry_request
    - type
    - get
    - BOTAN_ASSERT_NOMSG
    - callbacks
    - Botan::TLS::Server_Impl_13::handle_reply_to_client_hello
    - Botan::TLS::Server_Hello_13::create
    - extensions
    - Not_Implemented
    - session_manager
    - highest_supported_version
    - std::visit
    - TLS_Exception
    - auto::at
    - std::move
    - rng
    - has
    - policy
    - auto::size
    - credentials_manager
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::handle(const Client_Hello_13& client_hello)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Server_Impl_13::is_handshake_complete
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:490,1
    - Dst: request_context
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:490,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:491,1
    - Dst: validate_extensions
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:497,1
    - Dst: certificate_request
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:497,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:498,1
    - Dst: empty
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:505,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:506,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:507,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:513,1
    - Dst: verify
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:524,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:524,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:525,1
    - Dst: credentials_manager
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:526,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:527,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:528,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:535,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' certificate_msg'
    argTypes:
    - Certificate_13
    constantsTouched: []
    func_position:
      end: 537
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 537
    functionName: Botan::TLS::Server_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 2
    functionsReached:
    - verify
    - certificate_request
    - callbacks
    - validate_extensions
    - Botan::TLS::Server_Impl_13::is_handshake_complete
    - empty
    - TLS_Exception
    - policy
    - credentials_manager
    - client_hello
    - request_context
    - set_expected_next
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::handle(const Certificate_13& certificate_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: certificate_request
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:545,1
    - Dst: value_exists
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:546,1
    - Dst: signature_scheme
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:546,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:547,1
    - Dst: signature_scheme
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:548,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:552,1
    - Dst: has_client_certificate_msg
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:552,1
    - Dst: client_certificate
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:553,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:561,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:564,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ' certificate_verify_msg'
    argTypes:
    - Certificate_Verify_13
    constantsTouched: []
    func_position:
      end: 565
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 565
    functionName: Botan::TLS::Server_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 2
    functionsReached:
    - value_exists
    - certificate_request
    - BOTAN_ASSERT_NOMSG
    - TLS_Exception
    - client_certificate
    - set_expected_next
    - signature_scheme
    - has_client_certificate_msg
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::handle(const Certificate_Verify_13& certificate_verify_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:572,1
    - Dst: get
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:572,1
    - Dst: previous
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:572,1
    - Dst: TLS_Exception
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:573,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:578,1
    - Dst: Session_Summary
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:579,1
    - Dst: server_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:579,1
    - Dst: Botan::TLS::Server_Impl_13::peer_cert_chain
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:581,1
    - Dst: Botan::TLS::Server_Impl_13::peer_raw_public_key
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:582,1
    - Dst: has_value
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:584,1
    - Dst: Server_Information
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:585,1
    - Dst: client_hello
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:585,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:586,1
    - Dst: advance_with_client_finished
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:588,1
    - Dst: current
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:588,1
    - Dst: set_expected_next
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:591,1
    - Dst: callbacks
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:593,1
    - Dst: Botan::TLS::Server_Impl_13::new_session_ticket_supported
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:595,1
    - Dst: Botan::TLS::Server_Impl_13::send_new_session_tickets
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:596,1
    - Dst: policy
      Src: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' finished_msg'
    argTypes:
    - Finished_13
    constantsTouched: []
    func_position:
      end: 598
      start: 567
    functionDepth: 3
    functionLinenumber: 567
    functionLinenumberEnd: 598
    functionName: Botan::TLS::Server_Impl_13::handle
    functionSourceFile: /src/botan/src/lib/tls/tls13/tls_server_impl_13.cpp
    functionUses: 2
    functionsReached:
    - verify
    - previous
    - Botan::TLS::Server_Impl_13::new_session_ticket_supported
    - callbacks
    - server_hello
    - Botan::TLS::Server_Impl_13::peer_cert_chain
    - current
    - TLS_Exception
    - get
    - Session_Summary
    - Server_Information
    - set_expected_next
    - Botan::TLS::Server_Impl_13::send_new_session_tickets
    - Botan::TLS::Server_Impl_13::peer_raw_public_key
    - policy
    - client_hello
    - has_value
    - advance_with_client_finished
    linkageType: ''
    returnType: void
    signature: void Server_Impl_13::handle(const Finished_13& finished_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::provider
    functionSourceFile: /src/botan/src/lib/hash/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ~HashFunction() override
    functionSourceFile: /src/botan/src/lib/hash/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HashFunction() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::HashFunction
    functionSourceFile: /src/botan/src/lib/hash/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HashFunction()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HashFunction
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::HashFunction
    functionSourceFile: /src/botan/src/lib/hash/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HashFunction(const HashFunction& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HashFunction
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::HashFunction
    functionSourceFile: /src/botan/src/lib/hash/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HashFunction(HashFunction&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Botan::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::new_object
      Src: /src/botan/src/lib/hash/hash.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: Botan::clone
    functionSourceFile: /src/botan/src/lib/hash/hash.h
    functionUses: 0
    functionsReached:
    - Botan::new_object
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction * clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/hash/hash.cpp:109,1
    - Dst: make_commoncrypto_hash
      Src: /src/botan/src/lib/hash/hash.cpp:110,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/hash/hash.cpp:113,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/hash/hash.cpp:118,1
    - Dst: std::make_unique<SHA_1>
      Src: /src/botan/src/lib/hash/hash.cpp:124,1
    - Dst: std::make_unique<SHA_224>
      Src: /src/botan/src/lib/hash/hash.cpp:130,1
    - Dst: std::make_unique<SHA_256>
      Src: /src/botan/src/lib/hash/hash.cpp:134,1
    - Dst: std::make_unique<SHA_384>
      Src: /src/botan/src/lib/hash/hash.cpp:140,1
    - Dst: std::make_unique<SHA_512>
      Src: /src/botan/src/lib/hash/hash.cpp:144,1
    - Dst: std::make_unique<SHA_512_256>
      Src: /src/botan/src/lib/hash/hash.cpp:148,1
    - Dst: std::make_unique<RIPEMD_160>
      Src: /src/botan/src/lib/hash/hash.cpp:154,1
    - Dst: std::make_unique<Whirlpool>
      Src: /src/botan/src/lib/hash/hash.cpp:160,1
    - Dst: std::make_unique<MD5>
      Src: /src/botan/src/lib/hash/hash.cpp:166,1
    - Dst: std::make_unique<MD4>
      Src: /src/botan/src/lib/hash/hash.cpp:172,1
    - Dst: std::make_unique<GOST_34_11>
      Src: /src/botan/src/lib/hash/hash.cpp:178,1
    - Dst: std::make_unique<Adler32>
      Src: /src/botan/src/lib/hash/hash.cpp:184,1
    - Dst: std::make_unique<CRC24>
      Src: /src/botan/src/lib/hash/hash.cpp:190,1
    - Dst: std::make_unique<CRC32>
      Src: /src/botan/src/lib/hash/hash.cpp:196,1
    - Dst: std::make_unique<Streebog>
      Src: /src/botan/src/lib/hash/hash.cpp:202,1
    - Dst: std::make_unique<Streebog>
      Src: /src/botan/src/lib/hash/hash.cpp:205,1
    - Dst: std::make_unique<SM3>
      Src: /src/botan/src/lib/hash/hash.cpp:211,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:218,1
    - Dst: std::make_unique<Skein_512>
      Src: /src/botan/src/lib/hash/hash.cpp:219,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/hash/hash.cpp:219,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/hash/hash.cpp:219,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:224,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:224,1
    - Dst: std::make_unique<BLAKE2b>
      Src: /src/botan/src/lib/hash/hash.cpp:225,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/hash/hash.cpp:225,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:230,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:230,1
    - Dst: std::make_unique<BLAKE2s>
      Src: /src/botan/src/lib/hash/hash.cpp:231,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/hash/hash.cpp:231,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:236,1
    - Dst: std::make_unique<Keccak_1600>
      Src: /src/botan/src/lib/hash/hash.cpp:237,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/hash/hash.cpp:237,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:242,1
    - Dst: std::make_unique<SHA_3>
      Src: /src/botan/src/lib/hash/hash.cpp:243,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/hash/hash.cpp:243,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:248,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/hash/hash.cpp:248,1
    - Dst: std::make_unique<SHAKE_128>
      Src: /src/botan/src/lib/hash/hash.cpp:249,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/hash/hash.cpp:249,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:251,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/hash/hash.cpp:251,1
    - Dst: std::make_unique<SHAKE_256>
      Src: /src/botan/src/lib/hash/hash.cpp:252,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/hash/hash.cpp:252,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:257,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/hash/hash.cpp:260,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/hash/hash.cpp:261,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/hash/hash.cpp:261,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/hash/hash.cpp:265,1
    - Dst: std::move
      Src: /src/botan/src/lib/hash/hash.cpp:265,1
    - Dst: std::make_unique<Parallel>
      Src: /src/botan/src/lib/hash/hash.cpp:268,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:273,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/hash/hash.cpp:273,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/hash/hash.cpp:274,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/hash/hash.cpp:274,1
    - Dst: std::make_unique<Truncated_Hash>
      Src: /src/botan/src/lib/hash/hash.cpp:279,1
    - Dst: std::move
      Src: /src/botan/src/lib/hash/hash.cpp:279,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/hash/hash.cpp:279,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/hash/hash.cpp:284,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/hash/hash.cpp:284,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/hash/hash.cpp:285,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/hash/hash.cpp:285,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/hash/hash.cpp:286,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/hash/hash.cpp:286,1
    - Dst: std::make_unique<Comb4P>
      Src: /src/botan/src/lib/hash/hash.cpp:289,1
    - Dst: std::move
      Src: /src/botan/src/lib/hash/hash.cpp:289,1
    - Dst: std::move
      Src: /src/botan/src/lib/hash/hash.cpp:289,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 103
    argCount: 2
    argNames:
    - algo_spec
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 295
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 295
    functionName: Botan::HashFunction::create
    functionSourceFile: /src/botan/src/lib/hash/hash.cpp
    functionUses: 27
    functionsReached:
    - std::make_unique<MD4>
    - std::make_unique<Streebog>
    - std::make_unique<SHA_224>
    - std::vector::push_back
    - std::make_unique<BLAKE2s>
    - std::make_unique<BLAKE2b>
    - std::make_unique<Skein_512>
    - SCAN_Name::arg_as_integer
    - std::make_unique<Keccak_1600>
    - std::make_unique<GOST_34_11>
    - std::make_unique<SHAKE_256>
    - std::string_view::empty
    - std::make_unique<SHA_512>
    - std::make_unique<SHA_256>
    - std::make_unique<SM3>
    - std::make_unique<RIPEMD_160>
    - std::make_unique<SHA_1>
    - SCAN_Name::algo_name
    - std::make_unique<Truncated_Hash>
    - SCAN_Name::arg_count
    - std::make_unique<Comb4P>
    - std::make_unique<CRC32>
    - std::move
    - std::make_unique<MD5>
    - make_commoncrypto_hash
    - std::make_unique<SHA_384>
    - std::make_unique<SHA_512_256>
    - Botan::HashFunction::create
    - std::make_unique<SHAKE_128>
    - std::make_unique<Whirlpool>
    - std::make_unique<CRC24>
    - std::make_unique<SHA_3>
    - SCAN_Name::arg
    - std::make_unique<Adler32>
    - std::make_unique<Parallel>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> HashFunction::create(std::string_view
      algo_spec, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/hash/hash.cpp:299,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/hash/hash.cpp:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: Botan::HashFunction::create_or_throw
    functionSourceFile: /src/botan/src/lib/hash/hash.cpp
    functionUses: 22
    functionsReached:
    - Lookup_Error
    - Botan::HashFunction::create
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> HashFunction::create_or_throw(std::string_view
      algo, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: probe_providers_of<HashFunction>
      Src: /src/botan/src/lib/hash/hash.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: Botan::HashFunction::providers
    functionSourceFile: /src/botan/src/lib/hash/hash.cpp
    functionUses: 6
    functionsReached:
    - probe_providers_of<HashFunction>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> HashFunction::providers(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::BLAKE2s::output_length
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::BLAKE2s::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<BLAKE2s>
      Src: /src/botan/src/lib/hash/blake2s/blake2s.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::BLAKE2s::new_object
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.h
    functionUses: 0
    functionsReached:
    - std::make_unique<BLAKE2s>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:30,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:32,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:34,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - a
    - b
    - c
    - d
    - x
    - y
    - v
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - uint32_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: Botan::B2S_G
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    linkageType: ''
    returnType: void
    signature: void B2S_G(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint32_t x,
      uint32_t y, uint32_t* v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::BLAKE2s::name
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string BLAKE2s::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BLAKE2s::add_data
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:63,1
    - Dst: std::span<const uint8_t>
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - outlen
    - key
    - keylen
    argTypes:
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: Botan::BLAKE2s::state_init
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>
    - Botan::BLAKE2s::add_data
    linkageType: ''
    returnType: void
    signature: void BLAKE2s::state_init(size_t outlen, const uint8_t* key, size_t
      keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:93,1
    - Dst: B2S_G
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:96,1
    - Dst: B2S_G
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:97,1
    - Dst: B2S_G
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:98,1
    - Dst: B2S_G
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:99,1
    - Dst: B2S_G
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:100,1
    - Dst: B2S_G
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:101,1
    - Dst: B2S_G
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:102,1
    - Dst: B2S_G
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - last
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 109
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 109
    functionName: Botan::BLAKE2s::compress
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.cpp
    functionUses: 0
    functionsReached:
    - load_le<uint32_t>
    - B2S_G
    linkageType: ''
    returnType: void
    signature: void BLAKE2s::compress(bool last)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BLAKE2s::state_init
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: Botan::BLAKE2s::clear
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.cpp
    functionUses: 0
    functionsReached:
    - Botan::BLAKE2s::state_init
    linkageType: ''
    returnType: void
    signature: void BLAKE2s::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:119,1
    - Dst: Botan::BLAKE2s::compress
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: Botan::BLAKE2s::add_data
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::size
    - Botan::BLAKE2s::compress
    linkageType: ''
    returnType: void
    signature: void BLAKE2s::add_data(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BLAKE2s::compress
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:141,1
    - Dst: copy_out_le
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:144,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:144,1
    - Dst: Botan::BLAKE2s::output_length
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:144,1
    - Dst: Botan::BLAKE2s::clear
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: Botan::BLAKE2s::final_result
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.cpp
    functionUses: 0
    functionsReached:
    - Botan::BLAKE2s::output_length
    - std::span<uint8_t>::first
    - Botan::BLAKE2s::clear
    - Botan::BLAKE2s::compress
    - copy_out_le
    linkageType: ''
    returnType: void
    signature: void BLAKE2s::final_result(std::span<uint8_t> out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<BLAKE2s>
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:150,1
    - Dst: memcpy
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:151,1
    - Dst: memcpy
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:152,1
    - Dst: memcpy
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: Botan::BLAKE2s::copy_state
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - std::make_unique<BLAKE2s>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> BLAKE2s::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:163,1
    - Dst: Botan::BLAKE2s::state_init
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - output_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: Botan::BLAKE2s::BLAKE2s
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - Botan::BLAKE2s::state_init
    linkageType: ''
    returnType: void
    signature: void BLAKE2s::BLAKE2s(size_t output_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:169,1
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:170,1
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/hash/blake2s/blake2s.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: BLAKE2s::~BLAKE2s()
    functionSourceFile: /src/botan/src/lib/hash/blake2s/blake2s.cpp
    functionUses: 0
    functionsReached:
    - secure_scrub_memory
    linkageType: ''
    returnType: void
    signature: void BLAKE2s::~BLAKE2s()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::update
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:24,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:25,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:27,1
    - Dst: data
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:27,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:27,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:28,1
    - Dst: data
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:28,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:28,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:30,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:31,1
    - Dst: data
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:31,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:31,1
    - Dst: std::min
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:31,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:31,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:31,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:33,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:34,1
    - Dst: data
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:34,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:34,1
    - Dst: std::min
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:34,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:34,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ' out'
    - ' in'
    - round_no
    - ' h1'
    - ' h2'
    argTypes:
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - uint8_t
    - HashFunction
    - HashFunction
    constantsTouched: []
    func_position:
      end: 35
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 35
    functionName: Botan::comb4p_round
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.cpp
    functionUses: 0
    functionsReached:
    - Botan::xor_buf
    - secure_vector::data
    - secure_vector::size
    - data
    - std::min
    - Botan::update
    - Botan::final
    - Botan::size
    linkageType: ''
    returnType: void
    signature: "void comb4p_round(secure_vector<uint8_t>& out,\n                  const
      secure_vector<uint8_t>& in,\n                  uint8_t round_no,\n                  HashFunction&
      h1,\n                  HashFunction& h2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:40,1
    - Dst: std::move
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:40,1
    - Dst: Botan::Comb4P::name
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:41,1
    - Dst: Botan::Comb4P::name
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:41,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:42,1
    - Dst: Botan::Comb4P::output_length
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:45,1
    - Dst: Botan::Comb4P::output_length
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:45,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:46,1
    - Dst: fmt
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:46,1
    - Dst: Botan::Comb4P::name
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:46,1
    - Dst: Botan::Comb4P::name
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:46,1
    - Dst: Botan::Comb4P::clear
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - h1
    - h2
    argTypes:
    - std::unique_ptr<HashFunction>
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: Botan::Comb4P::Comb4P
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.cpp
    functionUses: 0
    functionsReached:
    - Botan::Comb4P::name
    - Botan::Comb4P::clear
    - fmt
    - Botan::Comb4P::output_length
    - std::move
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Comb4P::Comb4P(std::unique_ptr<HashFunction> h1, std::unique_ptr<HashFunction>
      h2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:53,1
    - Dst: Botan::Comb4P::name
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:53,1
    - Dst: Botan::Comb4P::name
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::Comb4P::name
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.cpp
    functionUses: 2
    functionsReached:
    - fmt
    - Botan::Comb4P::name
    linkageType: ''
    returnType: std::string
    signature: std::string Comb4P::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Comb4P>
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:57,1
    - Dst: Botan::Comb4P::new_object
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:57,1
    - Dst: Botan::Comb4P::new_object
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::Comb4P::new_object
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Comb4P>
    - Botan::Comb4P::new_object
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Comb4P::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Comb4P::hash_block_size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:61,1
    - Dst: Botan::Comb4P::hash_block_size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:61,1
    - Dst: Botan::Comb4P::hash_block_size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: Botan::Comb4P::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.cpp
    functionUses: 1
    functionsReached:
    - Botan::Comb4P::hash_block_size
    linkageType: ''
    returnType: size_t
    signature: size_t Comb4P::hash_block_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Comb4P::clear
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:73,1
    - Dst: Botan::Comb4P::clear
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:74,1
    - Dst: update
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:77,1
    - Dst: update
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: Botan::Comb4P::clear
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.cpp
    functionUses: 2
    functionsReached:
    - update
    - Botan::Comb4P::clear
    linkageType: ''
    returnType: void
    signature: void Comb4P::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Comb4P::Comb4P
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:83,1
    - Dst: Botan::Comb4P::copy_state
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:84,1
    - Dst: Botan::Comb4P::copy_state
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: Botan::Comb4P::copy_state
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.cpp
    functionUses: 1
    functionsReached:
    - Comb4P::Comb4P
    - Botan::Comb4P::copy_state
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Comb4P::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:90,1
    - Dst: update
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: Botan::Comb4P::add_data
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void Comb4P::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:95,1
    - Dst: final
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:96,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:99,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:99,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:99,1
    - Dst: std::min
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:99,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:99,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:99,1
    - Dst: comb4p_round
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:102,1
    - Dst: comb4p_round
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:105,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:108,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:108,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:108,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:108,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:108,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:109,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:109,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:109,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:109,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:109,1
    - Dst: update
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:112,1
    - Dst: update
      Src: /src/botan/src/lib/hash/comb4p/comb4p.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 114
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 114
    functionName: Botan::Comb4P::final_result
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - secure_vector::size
    - comb4p_round
    - final
    - std::min
    - copy_mem
    - xor_buf
    - update
    - BufferStuffer::next
    linkageType: ''
    returnType: void
    signature: void Comb4P::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Comb4P::output_length
      Src: /src/botan/src/lib/hash/comb4p/comb4p.h:29,1
    - Dst: Botan::Comb4P::output_length
      Src: /src/botan/src/lib/hash/comb4p/comb4p.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::Comb4P::output_length
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.h
    functionUses: 2
    functionsReached:
    - Botan::Comb4P::output_length
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan::Comb4P::Comb4P
    functionSourceFile: /src/botan/src/lib/hash/comb4p/comb4p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Comb4P()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/shake/shake.cpp:17,1
    - Dst: fmt
      Src: /src/botan/src/lib/hash/shake/shake.cpp:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - output_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: Botan::SHAKE_128::SHAKE_128
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - fmt
    linkageType: ''
    returnType: void
    signature: void SHAKE_128::SHAKE_128(size_t output_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/hash/shake/shake.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::SHAKE_128::name
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string SHAKE_128::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHAKE_128>
      Src: /src/botan/src/lib/hash/shake/shake.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::SHAKE_128::new_object
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHAKE_128>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHAKE_128::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHAKE_128>
      Src: /src/botan/src/lib/hash/shake/shake.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan::SHAKE_128::copy_state
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHAKE_128>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHAKE_128::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absorb
      Src: /src/botan/src/lib/hash/shake/shake.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::SHAKE_128::add_data
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - absorb
    linkageType: ''
    returnType: void
    signature: void SHAKE_128::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finish
      Src: /src/botan/src/lib/hash/shake/shake.cpp:38,1
    - Dst: squeeze
      Src: /src/botan/src/lib/hash/shake/shake.cpp:39,1
    - Dst: Botan::SHAKE_128::clear
      Src: /src/botan/src/lib/hash/shake/shake.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: Botan::SHAKE_128::final_result
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - squeeze
    - Botan::SHAKE_128::clear
    - finish
    linkageType: ''
    returnType: void
    signature: void SHAKE_128::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/shake/shake.cpp:45,1
    - Dst: fmt
      Src: /src/botan/src/lib/hash/shake/shake.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - output_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: Botan::SHAKE_256::SHAKE_256
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - fmt
    linkageType: ''
    returnType: void
    signature: void SHAKE_256::SHAKE_256(size_t output_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/hash/shake/shake.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::SHAKE_256::name
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string SHAKE_256::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHAKE_256>
      Src: /src/botan/src/lib/hash/shake/shake.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan::SHAKE_256::new_object
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHAKE_256>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHAKE_256::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHAKE_256>
      Src: /src/botan/src/lib/hash/shake/shake.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::SHAKE_256::copy_state
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHAKE_256>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHAKE_256::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absorb
      Src: /src/botan/src/lib/hash/shake/shake.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::SHAKE_256::add_data
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - absorb
    linkageType: ''
    returnType: void
    signature: void SHAKE_256::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finish
      Src: /src/botan/src/lib/hash/shake/shake.cpp:66,1
    - Dst: squeeze
      Src: /src/botan/src/lib/hash/shake/shake.cpp:67,1
    - Dst: Botan::SHAKE_256::clear
      Src: /src/botan/src/lib/hash/shake/shake.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: Botan::SHAKE_256::final_result
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.cpp
    functionUses: 0
    functionsReached:
    - squeeze
    - Botan::SHAKE_256::clear
    - finish
    linkageType: ''
    returnType: void
    signature: void SHAKE_256::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: byte_rate
      Src: /src/botan/src/lib/hash/shake/shake.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::SHAKE_128::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.h
    functionUses: 0
    functionsReached:
    - byte_rate
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::SHAKE_128::output_length
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHAKE_128::clear
      Src: /src/botan/src/lib/hash/shake/shake.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::SHAKE_128::clear
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.h
    functionUses: 2
    functionsReached:
    - Botan::SHAKE_128::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHAKE_128::provider
      Src: /src/botan/src/lib/hash/shake/shake.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::SHAKE_128::provider
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.h
    functionUses: 1
    functionsReached:
    - Botan::SHAKE_128::provider
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: byte_rate
      Src: /src/botan/src/lib/hash/shake/shake.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan::SHAKE_256::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.h
    functionUses: 0
    functionsReached:
    - byte_rate
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::SHAKE_256::output_length
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHAKE_256::clear
      Src: /src/botan/src/lib/hash/shake/shake.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::SHAKE_256::clear
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.h
    functionUses: 2
    functionsReached:
    - Botan::SHAKE_256::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHAKE_256::provider
      Src: /src/botan/src/lib/hash/shake/shake.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::SHAKE_256::provider
    functionSourceFile: /src/botan/src/lib/hash/shake/shake.h
    functionUses: 1
    functionsReached:
    - Botan::SHAKE_256::provider
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: choose
      Src: /src/botan/src/lib/hash/sha1/sha1_f.h:22,1
    - Dst: rotl<5>
      Src: /src/botan/src/lib/hash/sha1/sha1_f.h:22,1
    - Dst: rotl<30>
      Src: /src/botan/src/lib/hash/sha1/sha1_f.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - A
    - ' B'
    - C
    - D
    - ' E'
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: Botan::SHA1_F::F1
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_f.h
    functionUses: 0
    functionsReached:
    - choose
    - rotl<5>
    - rotl<30>
    linkageType: ''
    returnType: void
    signature: void F1(uint32_t A, uint32_t& B, uint32_t C, uint32_t D, uint32_t&
      E, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotl<5>
      Src: /src/botan/src/lib/hash/sha1/sha1_f.h:27,1
    - Dst: rotl<30>
      Src: /src/botan/src/lib/hash/sha1/sha1_f.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - A
    - ' B'
    - C
    - D
    - ' E'
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: Botan::SHA1_F::F2
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_f.h
    functionUses: 0
    functionsReached:
    - rotl<5>
    - rotl<30>
    linkageType: ''
    returnType: void
    signature: void F2(uint32_t A, uint32_t& B, uint32_t C, uint32_t D, uint32_t&
      E, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: majority
      Src: /src/botan/src/lib/hash/sha1/sha1_f.h:32,1
    - Dst: rotl<5>
      Src: /src/botan/src/lib/hash/sha1/sha1_f.h:32,1
    - Dst: rotl<30>
      Src: /src/botan/src/lib/hash/sha1/sha1_f.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - A
    - ' B'
    - C
    - D
    - ' E'
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: Botan::SHA1_F::F3
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_f.h
    functionUses: 0
    functionsReached:
    - rotl<5>
    - rotl<30>
    - majority
    linkageType: ''
    returnType: void
    signature: void F3(uint32_t A, uint32_t& B, uint32_t C, uint32_t D, uint32_t&
      E, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotl<5>
      Src: /src/botan/src/lib/hash/sha1/sha1_f.h:38,1
    - Dst: rotl<30>
      Src: /src/botan/src/lib/hash/sha1/sha1_f.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - A
    - ' B'
    - C
    - D
    - ' E'
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: Botan::SHA1_F::F4
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_f.h
    functionUses: 0
    functionsReached:
    - rotl<5>
    - rotl<30>
    linkageType: ''
    returnType: void
    signature: void F4(uint32_t A, uint32_t& B, uint32_t C, uint32_t D, uint32_t&
      E, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::SHA_1::name
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::SHA_1::output_length
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::SHA_1::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_1::clear
      Src: /src/botan/src/lib/hash/sha1/sha1.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::SHA_1::clear
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.h
    functionUses: 1
    functionsReached:
    - Botan::SHA_1::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:29,1
    - Dst: sha1_compress_x86
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:30,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:35,1
    - Dst: sha1_armv8_compress_n
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:36,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:41,1
    - Dst: avx2_compress_n
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:42,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:47,1
    - Dst: simd_compress_n
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:48,1
    - Dst: first
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:54,1
    - Dst: load_be
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:59,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:59,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:64,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:65,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:66,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:67,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:68,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:69,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:70,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:71,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:76,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:77,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:78,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:79,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:80,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:81,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:82,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:83,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:84,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:85,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:86,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:87,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:88,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:89,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:90,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:91,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:92,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:93,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:94,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:95,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:97,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:98,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:99,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:100,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:101,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:102,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:103,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:104,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:105,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:106,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:107,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:108,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:109,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:110,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:111,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:112,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:113,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:114,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:115,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:116,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:118,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:119,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:120,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:121,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:122,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:123,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:124,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:125,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:126,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:127,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:128,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:129,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:130,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:131,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:132,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:133,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:134,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:135,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:136,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:137,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:139,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:140,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:141,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:142,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:143,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:144,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:145,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:146,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:147,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:148,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:149,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:150,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:151,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:152,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:153,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:154,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:155,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:156,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:157,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 111
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 166
    functionName: Botan::SHA_1::compress_n
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - BufferSlicer::take
    - F3
    - first
    - F1
    - sha1_compress_x86
    - F4
    - simd_compress_n
    - load_be
    - F2
    - avx2_compress_n
    - rotl<1>
    - sha1_armv8_compress_n
    linkageType: ''
    returnType: void
    signature: void SHA_1::compress_n(digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: Botan::SHA_1::init
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void SHA_1::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:177,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:183,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:189,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 201
    functionName: Botan::SHA_1::provider
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string SHA_1::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_1>
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: Botan::SHA_1::new_object
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_1>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_1::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_1>
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: Botan::SHA_1::copy_state
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_1>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_1::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: Botan::SHA_1::add_data
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void SHA_1::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/sha1/sha1.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: Botan::SHA_1::final_result
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void SHA_1::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:32,1
    - Dst: _mm256_alignr_epi8
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:32,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:32,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:32,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:34,1
    - Dst: _mm256_srli_si256
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:34,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:34,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:39,1
    - Dst: _mm256_slli_si256
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:39,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:39,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:42,1
    - Dst: auto::rotl
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - ' XW0'
    - XW1
    - XW2
    - XW3
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: Botan::sha1_avx2_next_w
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_alignr_epi8
    - SIMD_8x32::rotl
    - raw
    - SIMD_8x32::raw
    - auto::rotl
    - _mm256_slli_si256
    - SIMD_8x32
    - _mm256_srli_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: "BOTAN_FN_ISA_AVX2_BMI2 sha1_avx2_next_w(SIMD_8x32& XW0,\n                                                                     SIMD_8x32
      XW1,\n                                                                     SIMD_8x32
      XW2,\n                                                                     SIMD_8x32
      XW3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setr_epi32
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:62,1
    - Dst: _mm256_setr_epi32
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:63,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:72,1
    - Dst: _mm256_and_si256
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:72,1
    - Dst: _mm256_permutevar8x32_epi32
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:72,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: Botan::permute_words
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_and_si256
    - SIMD_8x32::raw
    - _mm256_permutevar8x32_epi32
    - _mm256_setr_epi32
    - SIMD_8x32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: BOTAN_FN_ISA_AVX2_BMI2 permute_words(SIMD_8x32 v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::permute_words
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:123,1
    - Dst: Botan::permute_words
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:126,1
    - Dst: Botan::permute_words
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:129,1
    - Dst: auto::rotl
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:130,1
    - Dst: Botan::permute_words
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' W0'
    - W2
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 139
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 139
    functionName: Botan::sha1_avx2_next_w2
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp
    functionUses: 0
    functionsReached:
    - auto::rotl
    - Botan::permute_words
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: BOTAN_FN_ISA_AVX2_BMI2 sha1_avx2_next_w2(SIMD_8x32& W0, SIMD_8x32 W2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:150,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:151,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:152,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:153,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:163,1
    - Dst: Botan::SIMD_8x32::load_be128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:170,1
    - Dst: Botan::SIMD_8x32::load_be128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:171,1
    - Dst: Botan::SIMD_8x32::load_be128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:172,1
    - Dst: Botan::SIMD_8x32::load_be128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:173,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:175,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:176,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:177,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:178,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:180,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:181,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:181,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:182,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:183,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:184,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:185,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:187,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:188,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:188,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:189,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:190,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:191,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:192,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:194,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:195,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:195,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:196,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:197,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:198,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:199,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:201,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:202,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:202,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:203,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:204,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:205,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:206,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:208,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:209,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:209,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:210,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:211,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:212,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:213,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:215,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:216,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:216,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:217,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:218,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:219,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:220,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:222,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:223,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:223,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:224,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:225,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:226,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:227,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:229,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:230,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:230,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:231,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:232,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:233,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:234,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:236,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:237,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:237,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:238,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:239,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:240,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:241,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:243,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:244,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:244,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:245,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:246,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:247,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:248,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:250,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:251,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:251,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:252,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:253,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:254,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:255,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:257,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:258,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:258,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:259,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:260,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:261,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:262,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:264,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:265,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:265,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:266,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:267,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:268,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:269,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:271,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:272,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:272,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:273,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:274,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:275,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:276,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:278,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:279,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:279,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:280,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:281,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:282,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:283,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:285,1
    - Dst: sha1_avx2_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:286,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:286,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:287,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:288,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:289,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:290,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:292,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:293,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:294,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:295,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:296,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:298,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:299,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:300,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:301,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:302,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:304,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:305,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:306,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:307,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:308,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:310,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:311,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:312,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:313,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:314,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:323,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:324,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:325,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:326,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:327,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:328,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:329,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:330,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:331,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:332,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:333,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:334,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:335,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:336,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:337,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:338,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:339,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:340,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:341,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:342,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:343,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:344,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:345,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:346,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:347,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:348,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:349,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:350,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:351,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:352,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:353,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:354,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:355,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:356,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:357,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:358,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:359,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:360,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:361,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:362,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:363,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:364,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:365,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:366,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:367,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:368,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:369,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:370,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:371,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:372,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:373,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:374,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:375,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:376,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:377,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:378,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:379,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:380,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:381,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:382,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:383,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:384,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:385,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:386,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:387,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:388,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:389,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:390,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:391,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:392,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:393,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:394,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:395,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:396,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:397,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:398,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:399,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:400,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:401,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:402,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:414,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:416,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:417,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:422,1
    - Dst: sha1_avx2_next_w2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:423,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:425,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:426,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:427,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:428,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:429,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:430,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:431,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:432,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:434,1
    - Dst: sha1_avx2_next_w2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:435,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:437,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:438,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:439,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:440,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:441,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:442,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:443,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:444,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:446,1
    - Dst: sha1_avx2_next_w2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:447,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:449,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:450,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:451,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:452,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:453,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:454,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:455,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:456,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:458,1
    - Dst: sha1_avx2_next_w2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:459,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:461,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:462,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:463,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:464,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:465,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:466,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:467,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:468,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:470,1
    - Dst: sha1_avx2_next_w2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:471,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:473,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:474,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:475,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:476,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:477,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:478,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:479,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:480,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:482,1
    - Dst: sha1_avx2_next_w2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:483,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:485,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:486,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:487,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:488,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:489,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:490,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:491,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:492,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:494,1
    - Dst: sha1_avx2_next_w2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:495,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:497,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:498,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:499,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:500,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:501,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:502,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:503,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:504,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:506,1
    - Dst: sha1_avx2_next_w2
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:507,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:509,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:510,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:511,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:512,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:513,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:514,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:515,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:516,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:518,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:520,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:521,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:522,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:523,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:524,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:525,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:526,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:527,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:529,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:531,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:532,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:533,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:534,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:535,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:536,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:537,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 315
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 546
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 546
    functionName: Botan::BOTAN_FN_ISA_AVX2_BMI2::avx2_compress_n
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_avx2/sha1_avx2.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::load_be
    - BufferSlicer::take
    - Botan::SIMD_8x32::load_be128
    - F3
    - sha1_avx2_next_w
    - F1
    - F4
    - F2
    - Botan::SIMD_8x32::splat
    - sha1_avx2_next_w2
    - SIMD_8x32::store_le128
    - SIMD_8x32::store_le
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX2_BMI2 SHA_1::avx2_compress_n(digest_type& digest,
      std::span<const uint8_t> input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:24,1
    - Dst: _mm_sha1nexte_epu32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:24,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:24,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::sha1_x86_nexte
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp
    functionUses: 0
    functionsReached:
    - _mm_sha1nexte_epu32
    - SIMD_4x32
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sha1_x86_nexte(const SIMD_4x32& x, const SIMD_4x32&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:28,1
    - Dst: _mm_sha1msg1_epu32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:28,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:28,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' W0'
    - ' W1'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: Botan::sha1_x86_msg1
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp
    functionUses: 0
    functionsReached:
    - _mm_sha1msg1_epu32
    - SIMD_4x32
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sha1_x86_msg1(const SIMD_4x32& W0, const SIMD_4x32&
      W1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:35,1
    - Dst: _mm_sha1msg1_epu32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:35,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:35,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:35,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:36,1
    - Dst: _mm_sha1msg2_epu32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:36,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:36,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' W0'
    - ' W1'
    - ' W2'
    - ' W3'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: Botan::sha1_x86_next_msg
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp
    functionUses: 0
    functionsReached:
    - _mm_sha1msg1_epu32
    - SIMD_4x32
    - _mm_sha1msg2_epu32
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE sha1_x86_next_msg(const SIMD_4x32& W0,\n                                                             SIMD_4x32&
      W1,\n                                                             SIMD_4x32&
      W2,\n                                                             SIMD_4x32&
      W3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:46,1
    - Dst: _mm_sha1rnds4_epu32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:46,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:46,1
    - Dst: Botan::sha1_x86_nexte
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:46,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:49,1
    - Dst: _mm_sha1rnds4_epu32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:49,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:49,1
    - Dst: Botan::sha1_x86_nexte
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' ABCD'
    - ' E'
    - ' W0'
    - ' W1'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: Botan::sha1_x86_rnds8
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp
    functionUses: 0
    functionsReached:
    - Botan::sha1_x86_nexte
    - SIMD_4x32
    - _mm_sha1rnds4_epu32
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE sha1_x86_rnds8(SIMD_4x32& ABCD,\n                                                          SIMD_4x32&
      E,\n                                                          const SIMD_4x32&
      W0,\n                                                          const SIMD_4x32&
      W1)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:53,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:53,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::rev_words
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp
    functionUses: 0
    functionsReached:
    - raw
    - SIMD_4x32
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE rev_words(const SIMD_4x32& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rev_words
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:63,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:63,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:64,1
    - Dst: rev_words
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:71,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:71,1
    - Dst: rev_words
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:72,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:72,1
    - Dst: rev_words
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:73,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:73,1
    - Dst: rev_words
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:74,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:74,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:77,1
    - Dst: _mm_sha1rnds4_epu32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:77,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:77,1
    - Dst: _mm_add_epi32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:77,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:77,1
    - Dst: auto::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:77,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:80,1
    - Dst: _mm_sha1rnds4_epu32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:80,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:80,1
    - Dst: _mm_sha1nexte_epu32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:80,1
    - Dst: auto::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:80,1
    - Dst: auto::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:80,1
    - Dst: sha1_x86_rnds8<0>
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:82,1
    - Dst: sha1_x86_msg1
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:84,1
    - Dst: sha1_x86_msg1
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:85,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:88,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:89,1
    - Dst: sha1_x86_rnds8<0, 1>
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:90,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:92,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:93,1
    - Dst: sha1_x86_rnds8<1>
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:94,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:96,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:97,1
    - Dst: sha1_x86_rnds8<1>
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:98,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:100,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:101,1
    - Dst: sha1_x86_rnds8<2>
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:102,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:104,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:105,1
    - Dst: sha1_x86_rnds8<2>
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:106,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:108,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:109,1
    - Dst: sha1_x86_rnds8<2, 3>
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:110,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:112,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:113,1
    - Dst: sha1_x86_rnds8<3>
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:114,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:116,1
    - Dst: sha1_x86_next_msg
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:117,1
    - Dst: sha1_x86_rnds8<3>
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:118,1
    - Dst: sha1_x86_nexte
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:121,1
    - Dst: rev_words
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:127,1
    - Dst: _mm_extract_epi32
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:128,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 3
    argNames:
    - ' digest'
    - input_span
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 129
    functionName: Botan::BOTAN_FN_ISA_SHANI::sha1_compress_x86
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp
    functionUses: 0
    functionsReached:
    - sha1_x86_msg1
    - rev_words
    - auto::raw
    - _mm_sha1nexte_epu32
    - SIMD_4x32::raw
    - _mm_extract_epi32
    - sha1_x86_rnds8<2>
    - sha1_x86_rnds8<0, 1>
    - Botan::SIMD_4x32::load_be
    - sha1_x86_rnds8<3>
    - _mm_sha1rnds4_epu32
    - Botan::SIMD_4x32::load_le
    - sha1_x86_rnds8<1>
    - sha1_x86_rnds8<2, 3>
    - SIMD_4x32
    - _mm_add_epi32
    - sha1_x86_next_msg
    - sha1_x86_rnds8<0>
    - sha1_x86_nexte
    linkageType: ''
    returnType: void
    signature: "void BOTAN_FN_ISA_SHANI SHA_1::sha1_compress_x86(digest_type& digest,\n
      \                                                std::span<const uint8_t> input_span,\n
      \                                                size_t blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vdupq_n_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:28,1
    - Dst: vdupq_n_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:29,1
    - Dst: vdupq_n_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:30,1
    - Dst: vdupq_n_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:31,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:33,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:48,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:49,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:50,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:51,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:53,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:53,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:53,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:54,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:54,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:54,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:55,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:55,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:55,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:56,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:56,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:56,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:58,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:59,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:62,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:62,1
    - Dst: vsha1cq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:63,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:64,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:65,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:68,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:68,1
    - Dst: vsha1cq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:69,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:70,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:71,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:72,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:75,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:75,1
    - Dst: vsha1cq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:76,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:77,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:78,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:79,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:82,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:82,1
    - Dst: vsha1cq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:83,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:84,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:85,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:86,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:89,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:89,1
    - Dst: vsha1cq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:90,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:91,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:92,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:93,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:96,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:96,1
    - Dst: vsha1pq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:97,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:98,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:99,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:100,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:103,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:103,1
    - Dst: vsha1pq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:104,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:105,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:106,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:107,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:110,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:110,1
    - Dst: vsha1pq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:111,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:112,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:113,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:114,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:117,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:117,1
    - Dst: vsha1pq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:118,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:119,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:120,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:121,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:124,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:124,1
    - Dst: vsha1pq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:125,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:126,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:127,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:128,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:131,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:131,1
    - Dst: vsha1mq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:132,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:133,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:134,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:135,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:138,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:138,1
    - Dst: vsha1mq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:139,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:140,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:141,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:142,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:145,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:145,1
    - Dst: vsha1mq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:146,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:147,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:148,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:149,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:152,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:152,1
    - Dst: vsha1mq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:153,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:154,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:155,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:156,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:159,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:159,1
    - Dst: vsha1mq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:160,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:161,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:162,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:163,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:166,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:166,1
    - Dst: vsha1pq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:167,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:168,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:169,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:170,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:173,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:173,1
    - Dst: vsha1pq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:174,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:175,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:176,1
    - Dst: vsha1su0q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:177,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:180,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:180,1
    - Dst: vsha1pq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:181,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:182,1
    - Dst: vsha1su1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:183,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:186,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:186,1
    - Dst: vsha1pq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:187,1
    - Dst: vsha1h_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:190,1
    - Dst: vgetq_lane_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:190,1
    - Dst: vsha1pq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:191,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:195,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 113
    argCount: 3
    argNames:
    - ' digest'
    - input8
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 204
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 204
    functionName: Botan::BOTAN_FN_ISA_SHA2::sha1_armv8_compress_n
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp
    functionUses: 0
    functionsReached:
    - vreinterpretq_u8_u32
    - vsha1su0q_u32
    - vsha1su1q_u32
    - vrev32q_u8
    - vsha1h_u32
    - vaddq_u32
    - vdupq_n_u32
    - vsha1cq_u32
    - vld1q_u32
    - vsha1pq_u32
    - vsha1mq_u32
    - vgetq_lane_u32
    - vst1q_u32
    - vreinterpretq_u32_u8
    linkageType: ''
    returnType: void
    signature: "void BOTAN_FN_ISA_SHA2 SHA_1::sha1_armv8_compress_n(digest_type& digest,\n
      \                                                   std::span<const uint8_t>
      input8,\n                                                    size_t blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::alignr8
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:50,1
    - Dst: SIMD_4x32::shift_elems_right
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:52,1
    - Dst: SIMD_4x32::shift_elems_left
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:57,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:60,1
    - Dst: auto::rotl
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - ' XW0'
    - XW1
    - XW2
    - XW3
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: Botan::sha1_simd_next_w
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::shift_elems_right
    - auto::rotl
    - SIMD_4x32::shift_elems_left
    - Botan::SIMD_4x32::alignr8
    - SIMD_4x32::rotl
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sha1_simd_next_w(SIMD_4x32& XW0, SIMD_4x32 XW1,
      SIMD_4x32 XW2, SIMD_4x32 XW3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:81,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:82,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:83,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:84,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:93,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:95,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:96,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:97,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:98,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:105,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:106,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:107,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:108,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:109,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:110,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:112,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:113,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:114,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:115,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:116,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:117,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:119,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:120,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:121,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:122,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:123,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:124,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:126,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:127,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:128,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:129,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:130,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:131,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:133,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:134,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:135,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:136,1
    - Dst: F1
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:137,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:138,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:140,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:141,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:142,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:143,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:144,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:145,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:147,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:148,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:149,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:150,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:151,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:152,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:154,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:155,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:156,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:157,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:158,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:159,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:161,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:162,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:163,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:164,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:165,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:166,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:168,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:169,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:170,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:171,1
    - Dst: F2
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:172,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:173,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:175,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:176,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:177,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:178,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:179,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:180,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:182,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:183,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:184,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:185,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:186,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:187,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:189,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:190,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:191,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:192,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:193,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:194,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:196,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:197,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:198,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:199,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:200,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:201,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:203,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:204,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:205,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:206,1
    - Dst: F3
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:207,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:208,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:210,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:211,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:212,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:213,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:214,1
    - Dst: sha1_simd_next_w
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:215,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:217,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:218,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:219,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:220,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:221,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:223,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:224,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:225,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:226,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:227,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:229,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:230,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:231,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:232,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:233,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:235,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:236,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:237,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:238,1
    - Dst: F4
      Src: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 124
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 247
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 247
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::simd_compress_n
    functionSourceFile: /src/botan/src/lib/hash/sha1/sha1_simd/sha1_simd.cpp
    functionUses: 0
    functionsReached:
    - BufferSlicer::take
    - F3
    - F1
    - Botan::SIMD_4x32::load_be
    - F4
    - F2
    - Botan::SIMD_4x32::splat
    - sha1_simd_next_w
    - SIMD_4x32::store_le
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_SIMD_4X32 SHA_1::simd_compress_n(digest_type& digest,
      std::span<const uint8_t> input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Threefish_512>
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:21,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:24,1
    - Dst: Botan::Skein_512::initial_block
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - arg_output_bits
    - arg_personalization
    argTypes:
    - size_t
    - std::string_view
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: Botan::Skein_512::Skein_512
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - Botan::Skein_512::initial_block
    - std::make_unique<Threefish_512>
    linkageType: ''
    returnType: void
    signature: void Skein_512::Skein_512(size_t arg_output_bits, std::string_view
      arg_personalization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:31,1
    - Dst: fmt
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:32,1
    - Dst: fmt
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: Botan::Skein_512::name
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.cpp
    functionUses: 0
    functionsReached:
    - empty
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string Skein_512::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Skein_512>
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::Skein_512::new_object
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Skein_512>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Skein_512::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Skein_512>
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: Botan::Skein_512::copy_state
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Skein_512>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Skein_512::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Skein_512::clear
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:51,1
    - Dst: Botan::Skein_512::initial_block
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: Botan::Skein_512::clear
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.cpp
    functionUses: 1
    functionsReached:
    - Botan::Skein_512::initial_block
    - Botan::Skein_512::clear
    linkageType: ''
    returnType: void
    signature: void Skein_512::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:60,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:60,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type
    - is_final
    argTypes:
    - type_code
    - bool
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: Botan::Skein_512::reset_tweak
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void Skein_512::reset_tweak(type_code type, bool is_final)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:66,1
    - Dst: store_le
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:70,1
    - Dst: Botan::Skein_512::reset_tweak
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:72,1
    - Dst: Botan::Skein_512::ubi_512
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:73,1
    - Dst: empty
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:75,1
    - Dst: length
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:81,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:82,1
    - Dst: Botan::Skein_512::reset_tweak
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:86,1
    - Dst: Botan::Skein_512::ubi_512
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:87,1
    - Dst: length
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:87,1
    - Dst: Botan::Skein_512::reset_tweak
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 91
    functionName: Botan::Skein_512::initial_block
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.cpp
    functionUses: 2
    functionsReached:
    - set_key
    - empty
    - store_le
    - length
    - Botan::Skein_512::ubi_512
    - Invalid_Argument
    - Botan::Skein_512::reset_tweak
    linkageType: ''
    returnType: void
    signature: void Skein_512::initial_block()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_le
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:100,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:100,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:104,1
    - Dst: skein_feedfwd
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:108,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - msg
    - msg_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: Botan::Skein_512::ubi_512
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.cpp
    functionUses: 1
    functionsReached:
    - load_le
    - secure_vector::data
    - static_cast<uint64_t>
    - skein_feedfwd
    linkageType: ''
    returnType: void
    signature: void Skein_512::ubi_512(const uint8_t msg[], size_t msg_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:121,1
    - Dst: handle_unaligned_data
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:122,1
    - Dst: Botan::Skein_512::ubi_512
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:123,1
    - Dst: auto::data
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:123,1
    - Dst: auto::size
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:123,1
    - Dst: in_alignment
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:126,1
    - Dst: Botan::Skein_512::ubi_512
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:129,1
    - Dst: data
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:129,1
    - Dst: size
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: Botan::Skein_512::add_data
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.cpp
    functionUses: 0
    functionsReached:
    - in_alignment
    - data
    - handle_unaligned_data
    - size
    - auto::data
    - BufferSlicer::empty
    - Botan::Skein_512::ubi_512
    - auto::size
    linkageType: ''
    returnType: void
    signature: void Skein_512::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:136,1
    - Dst: elements_in_buffer
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:138,1
    - Dst: fill_up_with_zeros
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:139,1
    - Dst: Botan::Skein_512::ubi_512
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:140,1
    - Dst: consume
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:140,1
    - Dst: Botan::Skein_512::reset_tweak
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:144,1
    - Dst: Botan::Skein_512::ubi_512
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:145,1
    - Dst: copy_out_le
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:147,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:147,1
    - Dst: Botan::Skein_512::initial_block
      Src: /src/botan/src/lib/hash/skein/skein_512.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: Botan::Skein_512::final_result
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.cpp
    functionUses: 0
    functionsReached:
    - Botan::Skein_512::initial_block
    - consume
    - static_cast<uint64_t>
    - fill_up_with_zeros
    - Botan::Skein_512::ubi_512
    - std::span<uint8_t>::first
    - Botan::Skein_512::reset_tweak
    - elements_in_buffer
    - copy_out_le
    linkageType: ''
    returnType: void
    signature: void Skein_512::final_result(std::span<uint8_t> out)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::Skein_512::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::Skein_512::output_length
    functionSourceFile: /src/botan/src/lib/hash/skein/skein_512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Streebog>
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::Streebog::copy_state
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Streebog>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Streebog::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:29,1
    - Dst: fmt
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:29,1
    - Dst: Botan::Streebog::clear
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - output_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: Botan::Streebog::Streebog
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - fmt
    - Botan::Streebog::clear
    linkageType: ''
    returnType: void
    signature: void Streebog::Streebog(size_t output_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan::Streebog::name
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string Streebog::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Streebog::clear
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:44,1
    - Dst: zeroise
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:45,1
    - Dst: std::fill
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:48,1
    - Dst: begin
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:48,1
    - Dst: end
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: Botan::Streebog::clear
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.cpp
    functionUses: 2
    functionsReached:
    - Botan::Streebog::clear
    - begin
    - zeroise
    - end
    - std::fill
    linkageType: ''
    returnType: void
    signature: void Streebog::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:57,1
    - Dst: handle_unaligned_data
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:58,1
    - Dst: Botan::Streebog::compress
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:59,1
    - Dst: auto::data
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:59,1
    - Dst: in_alignment
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:63,1
    - Dst: next_aligned_block_to_process
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:64,1
    - Dst: Botan::Streebog::compress
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:65,1
    - Dst: auto::data
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: Botan::Streebog::add_data
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.cpp
    functionUses: 0
    functionsReached:
    - next_aligned_block_to_process
    - in_alignment
    - Botan::Streebog::compress
    - handle_unaligned_data
    - auto::data
    - BufferSlicer::empty
    linkageType: ''
    returnType: void
    signature: void Streebog::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elements_in_buffer
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:76,1
    - Dst: append
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:79,1
    - Dst: fill_up_with_zeros
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:80,1
    - Dst: Botan::Streebog::compress
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:82,1
    - Dst: consume
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:82,1
    - Dst: fill_up_with_zeros
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:85,1
    - Dst: store_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:86,1
    - Dst: directly_modify_first
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:86,1
    - Dst: Botan::Streebog::compress
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:87,1
    - Dst: consume
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:87,1
    - Dst: Botan::Streebog::compress_64
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:89,1
    - Dst: data
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:89,1
    - Dst: memcpy
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:91,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:91,1
    - Dst: Botan::Streebog::output_length
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:91,1
    - Dst: Botan::Streebog::output_length
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:91,1
    - Dst: Botan::Streebog::clear
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 93
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 93
    functionName: Botan::Streebog::final_result
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.cpp
    functionUses: 0
    functionsReached:
    - consume
    - append
    - Botan::Streebog::clear
    - data
    - Botan::Streebog::compress
    - std::span<uint8_t>::data
    - directly_modify_first
    - store_le
    - memcpy
    - fill_up_with_zeros
    - Botan::Streebog::compress_64
    - Botan::Streebog::output_length
    - elements_in_buffer
    linkageType: ''
    returnType: void
    signature: void Streebog::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::reverse_bytes
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:101,1
    - Dst: Botan::store_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:103,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: Botan::force_le
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.cpp
    functionUses: 0
    functionsReached:
    - Botan::store_le
    - Botan::reverse_bytes
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t force_le(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:111,1
    - Dst: Botan::force_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:114,1
    - Dst: Botan::force_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:114,1
    - Dst: Botan::force_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:115,1
    - Dst: Botan::force_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:115,1
    - Dst: Botan::force_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:116,1
    - Dst: Botan::force_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:116,1
    - Dst: Botan::force_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:117,1
    - Dst: Botan::force_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - block
    argTypes:
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: Botan::lps
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - Botan::force_le
    linkageType: ''
    returnType: void
    signature: void lps(uint64_t block[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:125,1
    - Dst: Botan::Streebog::compress_64
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - input
    - last_block
    argTypes:
    - uint8_t[]
    - bool
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: Botan::Streebog::compress
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.cpp
    functionUses: 2
    functionsReached:
    - Botan::Streebog::compress_64
    - memcpy
    linkageType: ''
    returnType: void
    signature: void Streebog::compress(const uint8_t input[], bool last_block)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:136,1
    - Dst: data
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:136,1
    - Dst: lps
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:138,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:140,1
    - Dst: force_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:148,1
    - Dst: lps
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:150,1
    - Dst: lps
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:152,1
    - Dst: force_le
      Src: /src/botan/src/lib/hash/streebog/streebog.cpp:169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - M
    - last_block
    argTypes:
    - uint64_t[]
    - bool
    constantsTouched: []
    func_position:
      end: 175
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 175
    functionName: Botan::Streebog::compress_64
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.cpp
    functionUses: 2
    functionsReached:
    - copy_mem
    - data
    - lps
    - force_le
    linkageType: ''
    returnType: void
    signature: void Streebog::compress_64(const uint64_t M[], bool last_block)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::Streebog::output_length
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Streebog>
      Src: /src/botan/src/lib/hash/streebog/streebog.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::Streebog::new_object
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Streebog>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::Streebog::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/streebog/streebog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::BLAKE2b::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::BLAKE2b::output_length
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan::BLAKE2b::key_size
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t key_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:36,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:38,1
    - Dst: Botan::BLAKE2b::state_init
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - output_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: Botan::BLAKE2b::BLAKE2b
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - Botan::BLAKE2b::state_init
    - size
    linkageType: ''
    returnType: void
    signature: void BLAKE2b::BLAKE2b(size_t output_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:45,1
    - Dst: data
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:45,1
    - Dst: data
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:45,1
    - Dst: size
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:45,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:46,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:46,1
    - Dst: Botan::BLAKE2b::output_length
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:46,1
    - Dst: Botan::BLAKE2b::clear
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:50,1
    - Dst: append
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: Botan::BLAKE2b::state_init
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 1
    functionsReached:
    - append
    - data
    - size
    - copy_mem
    - Botan::BLAKE2b::clear
    - Botan::BLAKE2b::output_length
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void BLAKE2b::state_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:60,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:62,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:64,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    - M0
    - M1
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: Botan::G
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE G(uint64_t& a, uint64_t& b, uint64_t& c, uint64_t&
      d, uint64_t M0, uint64_t M1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::G
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:86,1
    - Dst: Botan::G
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:87,1
    - Dst: Botan::G
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:88,1
    - Dst: Botan::G
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:89,1
    - Dst: Botan::G
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:90,1
    - Dst: Botan::G
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:91,1
    - Dst: Botan::G
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:92,1
    - Dst: Botan::G
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - v
    - M
    argTypes:
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: Botan::ROUND
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - Botan::G
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE ROUND(uint64_t* v, const uint64_t* M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_le
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:107,1
    - Dst: ROUND<0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:122,1
    - Dst: ROUND<14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:123,1
    - Dst: ROUND<11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:124,1
    - Dst: ROUND<7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:125,1
    - Dst: ROUND<9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:126,1
    - Dst: ROUND<2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:127,1
    - Dst: ROUND<12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:128,1
    - Dst: ROUND<13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:129,1
    - Dst: ROUND<6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:130,1
    - Dst: ROUND<10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:131,1
    - Dst: ROUND<0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:132,1
    - Dst: ROUND<14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - input
    - blocks
    - increment
    argTypes:
    - uint8_t*
    - size_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 139
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 139
    functionName: Botan::BLAKE2b::compress
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - ROUND<11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4>
    - ROUND<6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5>
    - ROUND<14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3>
    - ROUND<9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13>
    - ROUND<10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0>
    - ROUND<2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9>
    - ROUND<13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10>
    - ROUND<7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8>
    - ROUND<12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11>
    - ROUND<0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15>
    - load_le
    linkageType: ''
    returnType: void
    signature: void BLAKE2b::compress(const uint8_t* input, size_t blocks, uint64_t
      increment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:144,1
    - Dst: handle_unaligned_data
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:145,1
    - Dst: Botan::BLAKE2b::compress
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:146,1
    - Dst: auto::data
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:146,1
    - Dst: in_alignment
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:149,1
    - Dst: Botan::BLAKE2b::compress
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:152,1
    - Dst: data
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 156
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 156
    functionName: Botan::BLAKE2b::add_data
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - in_alignment
    - data
    - handle_unaligned_data
    - auto::data
    - BufferSlicer::empty
    - Botan::BLAKE2b::compress
    linkageType: ''
    returnType: void
    signature: void BLAKE2b::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elements_in_buffer
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:159,1
    - Dst: fill_up_with_zeros
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:160,1
    - Dst: Botan::BLAKE2b::compress
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:163,1
    - Dst: consume
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:163,1
    - Dst: copy_out_le
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:164,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:164,1
    - Dst: Botan::BLAKE2b::output_length
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:164,1
    - Dst: Botan::BLAKE2b::state_init
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: Botan::BLAKE2b::final_result
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - consume
    - Botan::BLAKE2b::state_init
    - fill_up_with_zeros
    - Botan::BLAKE2b::output_length
    - Botan::BLAKE2b::compress
    - std::span<uint8_t>::first
    - elements_in_buffer
    - copy_out_le
    linkageType: ''
    returnType: void
    signature: void BLAKE2b::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: Botan::BLAKE2b::key_spec
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification BLAKE2b::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: Botan::BLAKE2b::name
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string BLAKE2b::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<BLAKE2b>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: Botan::BLAKE2b::new_object
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<BLAKE2b>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> BLAKE2b::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<BLAKE2b>
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: Botan::BLAKE2b::copy_state
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<BLAKE2b>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> BLAKE2b::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: Botan::BLAKE2b::has_keying_material
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BLAKE2b::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:189,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:189,1
    - Dst: size
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:189,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:191,1
    - Dst: resize
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:192,1
    - Dst: size
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:192,1
    - Dst: size
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:194,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:196,1
    - Dst: data
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:196,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:199,1
    - Dst: data
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:199,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:199,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:199,1
    - Dst: Botan::BLAKE2b::state_init
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 201
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 201
    functionName: Botan::BLAKE2b::key_schedule
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - clear_mem
    - data
    - Botan::BLAKE2b::state_init
    - size
    - copy_mem
    - resize
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void BLAKE2b::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroise
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:204,1
    - Dst: Botan::BLAKE2b::clear
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:205,1
    - Dst: zeroise
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:206,1
    - Dst: Botan::BLAKE2b::state_init
      Src: /src/botan/src/lib/hash/blake2/blake2b.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: Botan::BLAKE2b::clear
    functionSourceFile: /src/botan/src/lib/hash/blake2/blake2b.cpp
    functionUses: 2
    functionsReached:
    - zeroise
    - Botan::BLAKE2b::clear
    - Botan::BLAKE2b::state_init
    linkageType: ''
    returnType: void
    signature: void BLAKE2b::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 4
    argNames:
    - input
    - length
    - ' S1'
    - ' S2'
    argTypes:
    - uint8_t[]
    - size_t
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 64
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 64
    functionName: Botan::adler32_update
    functionSourceFile: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void adler32_update(const uint8_t input[], size_t length, uint16_t&
      S1, uint16_t& S2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:74,1
    - Dst: adler32_update
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:75,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:75,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:76,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:76,1
    - Dst: adler32_update
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:79,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:79,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: Botan::Adler32::add_data
    functionSourceFile: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp
    functionUses: 0
    functionsReached:
    - adler32_update
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::last
    linkageType: ''
    returnType: void
    signature: void Adler32::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:86,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:86,1
    - Dst: Botan::Adler32::clear
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: Botan::Adler32::final_result
    functionSourceFile: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp
    functionUses: 0
    functionsReached:
    - Botan::Adler32::clear
    - store_be
    - std::span<uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void Adler32::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Adler32>
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Botan::Adler32::copy_state
    functionSourceFile: /src/botan/src/lib/hash/checksum/adler32/adler32.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Adler32>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Adler32::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan::Adler32::name
    functionSourceFile: /src/botan/src/lib/hash/checksum/adler32/adler32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan::Adler32::output_length
    functionSourceFile: /src/botan/src/lib/hash/checksum/adler32/adler32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Adler32>
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::Adler32::new_object
    functionSourceFile: /src/botan/src/lib/hash/checksum/adler32/adler32.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Adler32>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: Botan::Adler32::clear
    functionSourceFile: /src/botan/src/lib/hash/checksum/adler32/adler32.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Adler32::clear
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::Adler32::Adler32
    functionSourceFile: /src/botan/src/lib/hash/checksum/adler32/adler32.h
    functionUses: 0
    functionsReached:
    - Botan::Adler32::clear
    linkageType: ''
    returnType: void
    signature: void Adler32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear
      Src: /src/botan/src/lib/hash/checksum/adler32/adler32.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~Adler32() override
    functionSourceFile: /src/botan/src/lib/hash/checksum/adler32/adler32.h
    functionUses: 0
    functionsReached:
    - Botan::clear
    linkageType: ''
    returnType: void
    signature: void ~Adler32() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan::CRC32::name
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc32/crc32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan::CRC32::output_length
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc32/crc32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CRC32>
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::CRC32::new_object
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc32/crc32.h
    functionUses: 0
    functionsReached:
    - std::make_unique<CRC32>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::CRC32::clear
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc32/crc32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRC32::clear
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::CRC32::CRC32
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc32/crc32.h
    functionUses: 0
    functionsReached:
    - Botan::CRC32::clear
    linkageType: ''
    returnType: void
    signature: void CRC32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~CRC32() override
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc32/crc32.h
    functionUses: 0
    functionsReached:
    - Botan::clear
    linkageType: ''
    returnType: void
    signature: void ~CRC32() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp:54,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp:54,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp:54,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: Botan::CRC32::add_data
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::last
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void CRC32::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp:85,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp:85,1
    - Dst: Botan::CRC32::clear
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: Botan::CRC32::final_result
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp
    functionUses: 0
    functionsReached:
    - Botan::CRC32::clear
    - store_be
    - std::span<uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void CRC32::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CRC32>
      Src: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: Botan::CRC32::copy_state
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc32/crc32.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CRC32>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> CRC32::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::CRC24::name
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::CRC24::output_length
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CRC24>
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::CRC24::new_object
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.h
    functionUses: 0
    functionsReached:
    - std::make_unique<CRC24>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::CRC24::clear
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRC24::clear
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::CRC24::CRC24
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.h
    functionUses: 0
    functionsReached:
    - Botan::CRC24::clear
    linkageType: ''
    returnType: void
    signature: void CRC24()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~CRC24() override
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.h
    functionUses: 0
    functionsReached:
    - Botan::clear
    linkageType: ''
    returnType: void
    signature: void ~CRC24() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crc
    - data
    argTypes:
    - uint32_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: Botan::process8
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp
    functionUses: 0
    functionsReached:
    - Botan::get_byte
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t process8(uint32_t crc, uint8_t data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:148,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:148,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:148,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crc
    - word
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: Botan::process32
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp
    functionUses: 0
    functionsReached:
    - Botan::get_byte
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t process32(uint32_t crc, uint32_t word)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CRC24>
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: Botan::CRC24::copy_state
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CRC24>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> CRC24::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:181,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:181,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:181,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:181,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:181,1
    - Dst: process8
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:182,1
    - Dst: std::span<const uint8_t>::front
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:182,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:185,1
    - Dst: load_le
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:187,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:187,1
    - Dst: process32
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:188,1
    - Dst: process32
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:189,1
    - Dst: process32
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:190,1
    - Dst: process32
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:191,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:193,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:193,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:196,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:196,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:196,1
    - Dst: process8
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:197,1
    - Dst: std::span<const uint8_t>::front
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 201
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 201
    functionName: Botan::CRC24::add_data
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - std::span<const uint8_t>::front
    - std::span<const uint8_t>::empty
    - process8
    - process32
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::last
    - load_le
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void CRC24::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:207,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:208,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:209,1
    - Dst: Botan::CRC24::clear
      Src: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: Botan::CRC24::final_result
    functionSourceFile: /src/botan/src/lib/hash/checksum/crc24/crc24.cpp
    functionUses: 0
    functionsReached:
    - get_byte<1>
    - get_byte<2>
    - Botan::CRC24::clear
    - get_byte<3>
    linkageType: ''
    returnType: void
    signature: void CRC24::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_f.h:36,1
    - Dst: Botan::majority
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_f.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 13
    argNames:
    - A
    - B
    - C
    - ' D'
    - E
    - F
    - G
    - ' H'
    - ' M1'
    - M2
    - M3
    - M4
    - magic
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 40
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 40
    functionName: Botan::SHA2_32_F
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_f.h
    functionUses: 0
    functionsReached:
    - Botan::majority
    - Botan::choose
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE SHA2_32_F(uint32_t A,\n                                  uint32_t
      B,\n                                  uint32_t C,\n                                  uint32_t&
      D,\n                                  uint32_t E,\n                                  uint32_t
      F,\n                                  uint32_t G,\n                                  uint32_t&
      H,\n                                  uint32_t& M1,\n                                  uint32_t
      M2,\n                                  uint32_t M3,\n                                  uint32_t
      M4,\n                                  uint32_t magic)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_f.h:49,1
    - Dst: Botan::majority
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_f.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - A
    - B
    - C
    - ' D'
    - E
    - F
    - G
    - ' H'
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: Botan::SHA2_32_F
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_f.h
    functionUses: 0
    functionsReached:
    - Botan::majority
    - Botan::choose
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE SHA2_32_F(\n   uint32_t A, uint32_t B, uint32_t
      C, uint32_t& D, uint32_t E, uint32_t F, uint32_t G, uint32_t& H, uint32_t M)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::SHA_224::name
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::SHA_224::output_length
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::SHA_224::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_224::clear
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::SHA_224::clear
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.h
    functionUses: 1
    functionsReached:
    - Botan::SHA_224::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::SHA_256::name
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Botan::SHA_256::output_length
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::SHA_256::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_256::clear
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan::SHA_256::clear
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.h
    functionUses: 1
    functionsReached:
    - Botan::SHA_256::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:28,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:34,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:40,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 52
    functionName: Botan::sha256_provider
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string sha256_provider()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:63,1
    - Dst: Botan::BOTAN_FN_ISA_SHANI::compress_digest_x86
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:64,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:69,1
    - Dst: Botan::BOTAN_FN_ISA_SHA2::compress_digest_armv8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:70,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:75,1
    - Dst: Botan::BOTAN_SCRUB_STACK_AFTER_RETURN::compress_digest_x86_avx2
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:76,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:81,1
    - Dst: Botan::SHA_256::compress_digest_x86_simd
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:82,1
    - Dst: load_be
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:94,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:94,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:98,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:99,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:100,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:101,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:102,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:103,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:104,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:105,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:106,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:107,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:108,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:109,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:110,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:111,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:112,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:113,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:115,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:116,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:117,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:118,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:119,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:120,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:121,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:122,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:123,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:124,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:125,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:126,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:127,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:128,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:129,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:130,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:132,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:133,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:134,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:135,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:136,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:137,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:138,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:139,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:140,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:141,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:142,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:143,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:144,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:145,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:146,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:147,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:149,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:150,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:151,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:152,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:153,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:154,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:155,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:156,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:157,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:158,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:159,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:160,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:161,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:162,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:163,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 88
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 177
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 177
    functionName: Botan::BOTAN_SCRUB_STACK_AFTER_RETURN::compress_digest
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - Botan::SHA_256::compress_digest_x86_simd
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - BufferSlicer::take
    - Botan::BOTAN_FN_ISA_SHANI::compress_digest_x86
    - load_be
    - Botan::BOTAN_SCRUB_STACK_AFTER_RETURN::compress_digest_x86_avx2
    - Botan::BOTAN_FN_ISA_SHA2::compress_digest_armv8
    - SHA2_32_F
    linkageType: ''
    returnType: void
    signature: "void BOTAN_SCRUB_STACK_AFTER_RETURN SHA_256::compress_digest(digest_type&
      digest,\n                                                             std::span<const
      uint8_t> input,\n                                                             size_t
      blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_provider
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: Botan::SHA_224::provider
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - sha256_provider
    linkageType: ''
    returnType: std::string
    signature: std::string SHA_224::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BOTAN_SCRUB_STACK_AFTER_RETURN::compress_digest
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: Botan::SHA_224::compress_n
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - Botan::BOTAN_SCRUB_STACK_AFTER_RETURN::compress_digest
    linkageType: ''
    returnType: void
    signature: void SHA_224::compress_n(digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: Botan::SHA_224::init
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void SHA_224::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_224>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: Botan::SHA_224::new_object
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_224>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_224::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_224>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: Botan::SHA_224::copy_state
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_224>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_224::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: Botan::SHA_224::add_data
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void SHA_224::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: Botan::SHA_224::final_result
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void SHA_224::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_provider
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: Botan::SHA_256::provider
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - sha256_provider
    linkageType: ''
    returnType: std::string
    signature: std::string SHA_256::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BOTAN_SCRUB_STACK_AFTER_RETURN::compress_digest
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: Botan::SHA_256::compress_n
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - Botan::BOTAN_SCRUB_STACK_AFTER_RETURN::compress_digest
    linkageType: ''
    returnType: void
    signature: void SHA_256::compress_n(digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: Botan::SHA_256::init
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void SHA_256::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_256>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: Botan::SHA_256::new_object
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_256>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_256::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_256>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: Botan::SHA_256::copy_state
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_256>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_256::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: Botan::SHA_256::add_data
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void SHA_256::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: Botan::SHA_256::final_result
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void SHA_256::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:24,1
    - Dst: _mm_alignr_epi8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:24,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:24,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::alignr4
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32
    - _mm_alignr_epi8
    - raw
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: BOTAN_FN_ISA_AVX2_BMI2 alignr4(const SIMD_4x32& a, const SIMD_4x32&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:29,1
    - Dst: _mm_srli_epi64
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:29,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::shr64
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32
    - _mm_srli_epi64
    - raw
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: BOTAN_FN_ISA_AVX2_BMI2 shr64(const SIMD_4x32& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:34,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:34,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::shuffle_32
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp
    functionUses: 0
    functionsReached:
    - raw
    - SIMD_4x32
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: BOTAN_FN_ISA_AVX2_BMI2 shuffle_32(const SIMD_4x32& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:38,1
    - Dst: _mm256_alignr_epi8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:38,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:38,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::alignr4
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_alignr_epi8
    - SIMD_8x32
    - raw
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: BOTAN_FN_ISA_AVX2_BMI2 alignr4(const SIMD_8x32& a, const SIMD_8x32&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:43,1
    - Dst: _mm256_srli_epi64
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:43,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::shr64
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp
    functionUses: 0
    functionsReached:
    - SIMD_8x32
    - _mm256_srli_epi64
    - raw
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: BOTAN_FN_ISA_AVX2_BMI2 shr64(const SIMD_8x32& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:48,1
    - Dst: _mm256_shuffle_epi32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:48,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::shuffle_32
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_shuffle_epi32
    - SIMD_8x32
    - raw
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: BOTAN_FN_ISA_AVX2_BMI2 shuffle_32(const SIMD_8x32& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_T
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:60,1
    - Dst: SIMD_T
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:61,1
    - Dst: Botan::alignr4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:63,1
    - Dst: Botan::alignr4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:64,1
    - Dst: auto::template shl<32 - sigma0_1>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:66,1
    - Dst: auto::template shr<sigma0_0>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:67,1
    - Dst: auto::template shr<sigma0_2>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:68,1
    - Dst: Botan::shuffle_32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:71,1
    - Dst: auto::template shr<sigma0_1 - sigma0_0>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:72,1
    - Dst: auto::template shl<sigma0_1 - sigma0_0>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:74,1
    - Dst: auto::template shr<sigma1_2>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:75,1
    - Dst: Botan::shr64
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:76,1
    - Dst: Botan::shr64
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:80,1
    - Dst: Botan::SIMD_4x32::byte_shuffle
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:81,1
    - Dst: Botan::shuffle_32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:83,1
    - Dst: auto::template shr<sigma1_2>
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:84,1
    - Dst: Botan::shr64
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:85,1
    - Dst: Botan::shr64
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:87,1
    - Dst: Botan::SIMD_4x32::byte_shuffle
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - x
    argTypes:
    - SIMD_T[]
    constantsTouched: []
    func_position:
      end: 97
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 97
    functionName: Botan::next_w
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp
    functionUses: 0
    functionsReached:
    - auto::template shr<sigma1_2>
    - SIMD_T
    - auto::template shr<sigma0_2>
    - auto::template shl<32 - sigma0_1>
    - auto::template shr<sigma0_0>
    - Botan::alignr4
    - auto::template shr<sigma0_1 - sigma0_0>
    - Botan::SIMD_4x32::byte_shuffle
    - Botan::shr64
    - auto::template shl<sigma0_1 - sigma0_0>
    - Botan::shuffle_32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: BOTAN_FN_ISA_AVX2_BMI2 next_w(SIMD_T x[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_be128
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:153,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:154,1
    - Dst: auto::store_le128
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:155,1
    - Dst: next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:162,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:162,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:164,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:165,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:166,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:167,1
    - Dst: auto::store_le128
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:169,1
    - Dst: next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:171,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:171,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:173,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:174,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:175,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:176,1
    - Dst: auto::store_le128
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:178,1
    - Dst: next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:180,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:180,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:182,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:183,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:184,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:185,1
    - Dst: auto::store_le128
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:187,1
    - Dst: next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:189,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:189,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:191,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:192,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:193,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:194,1
    - Dst: auto::store_le128
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:196,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:199,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:200,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:201,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:202,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:203,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:204,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:205,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:206,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:207,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:208,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:209,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:210,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:211,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:212,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:213,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:214,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:226,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:227,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:228,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:229,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:230,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:231,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:232,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:233,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:234,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:235,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:236,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:237,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:238,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:239,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:240,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:241,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:243,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:244,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:245,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:246,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:247,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:248,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:249,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:250,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:251,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:252,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:253,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:254,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:255,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:256,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:257,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:258,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:260,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:261,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:262,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:263,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:264,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:265,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:266,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:267,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:268,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:269,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:270,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:271,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:272,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:273,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:274,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:275,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:277,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:278,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:279,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:280,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:281,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:282,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:283,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:284,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:285,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:286,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:287,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:288,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:289,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:290,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:291,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:292,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:308,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:309,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:310,1
    - Dst: next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:317,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:317,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:319,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:320,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:321,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:322,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:324,1
    - Dst: next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:326,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:326,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:328,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:329,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:330,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:331,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:333,1
    - Dst: next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:335,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:335,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:337,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:338,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:339,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:340,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:342,1
    - Dst: next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:344,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:344,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:346,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:347,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:348,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:349,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:351,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:354,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:355,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:356,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:357,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:358,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:359,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:360,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:361,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:362,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:363,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:364,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:365,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:366,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:367,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:368,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp:369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 187
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 380
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 380
    functionName: Botan::BOTAN_SCRUB_STACK_AFTER_RETURN::compress_digest_x86_avx2
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_avx2/sha2_32_avx2.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_8x32::load_be128
    - Botan::SIMD_4x32::load_be
    - auto::store_le
    - next_w
    - auto::store_le128
    - Botan::SIMD_8x32::load_le
    - Botan::SIMD_4x32::load_le
    - SHA2_32_F
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: "BOTAN_FN_ISA_AVX2_BMI2 BOTAN_SCRUB_STACK_AFTER_RETURN void SHA_256::compress_digest_x86_avx2(\n
      \  digest_type& digest, std::span<const uint8_t> input, size_t blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:20,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:21,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:23,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:24,1
    - Dst: Botan::SIMD_4x32::alignr4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:26,1
    - Dst: Botan::SIMD_4x32::alignr4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:27,1
    - Dst: auto::rotr
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:29,1
    - Dst: auto::rotr
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:29,1
    - Dst: auto::shr
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:29,1
    - Dst: Botan::SIMD_4x32::byte_shuffle
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:31,1
    - Dst: auto::rotr
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:32,1
    - Dst: auto::rotr
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:32,1
    - Dst: auto::shr
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:32,1
    - Dst: Botan::SIMD_4x32::byte_shuffle
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:35,1
    - Dst: auto::rotr
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:36,1
    - Dst: auto::rotr
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:36,1
    - Dst: auto::shr
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - x
    argTypes:
    - SIMD_4x32[]
    constantsTouched: []
    func_position:
      end: 46
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 46
    functionName: Botan::sha256_simd_next_w
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp
    functionUses: 0
    functionsReached:
    - auto::rotr
    - Botan::SIMD_4x32::byte_shuffle
    - Botan::SIMD_4x32::alignr4
    - SIMD_4x32
    - auto::shr
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X32
    signature: BOTAN_FN_ISA_SIMD_4X32 sha256_simd_next_w(SIMD_4x32 x[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:83,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:84,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:85,1
    - Dst: sha256_simd_next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:92,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:92,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:94,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:95,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:96,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:97,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:99,1
    - Dst: sha256_simd_next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:101,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:101,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:103,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:104,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:105,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:106,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:108,1
    - Dst: sha256_simd_next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:110,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:110,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:112,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:113,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:114,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:115,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:117,1
    - Dst: sha256_simd_next_w
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:119,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:119,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:121,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:122,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:123,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:124,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:126,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:129,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:130,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:131,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:132,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:133,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:134,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:135,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:136,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:137,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:138,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:139,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:140,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:141,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:142,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:143,1
    - Dst: SHA2_32_F
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 155
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 155
    functionName: Botan::SHA_256::compress_digest_x86_simd
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_simd/sha2_32_simd.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::load_be
    - auto::store_le
    - sha256_simd_next_w
    - Botan::SIMD_4x32::load_le
    - SHA2_32_F
    linkageType: ''
    returnType: void
    signature: void SHA_256::compress_digest_x86_simd(digest_type& digest, std::span<const
      uint8_t> input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:27,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:27,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:27,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:27,1
    - Dst: auto::raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:27,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:28,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:28,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:28,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:28,1
    - Dst: auto::shift_elems_right
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' S0'
    - ' S1'
    - ' msg'
    - ' k'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: Botan::sha256_rnds4
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp
    functionUses: 0
    functionsReached:
    - auto::shift_elems_right
    - auto::raw
    - _mm_sha256rnds2_epu32
    - raw
    - SIMD_4x32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE sha256_rnds4(SIMD_4x32& S0,\n                                                        SIMD_4x32&
      S1,\n                                                        const SIMD_4x32&
      msg,\n                                                        const SIMD_4x32&
      k)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:32,1
    - Dst: _mm_alignr_epi8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:32,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:32,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:32,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:33,1
    - Dst: _mm_sha256msg1_epu32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:33,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:33,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:33,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:34,1
    - Dst: _mm_sha256msg2_epu32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:34,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:34,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' m0'
    - ' m1'
    - ' m2'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: Botan::sha256_msg_exp
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp
    functionUses: 0
    functionsReached:
    - _mm_sha256msg1_epu32
    - raw
    - SIMD_4x32
    - _mm_alignr_epi8
    - _mm_sha256msg2_epu32
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sha256_msg_exp(SIMD_4x32& m0, SIMD_4x32& m1, SIMD_4x32&
      m2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:38,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:38,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:38,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:39,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:39,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:39,1
    - Dst: _mm_alignr_epi8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:41,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:41,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:41,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:42,1
    - Dst: _mm_blend_epi16
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:42,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:42,1
    - Dst: raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:42,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' S0'
    - ' S1'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: Botan::sha256_permute_state
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp
    functionUses: 0
    functionsReached:
    - raw
    - _mm_shuffle_epi32
    - _mm_blend_epi16
    - SIMD_4x32
    - _mm_alignr_epi8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sha256_permute_state(SIMD_4x32& S0, SIMD_4x32& S1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:64,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:65,1
    - Dst: sha256_permute_state
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:67,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:73,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:74,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:75,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:76,1
    - Dst: sha256_rnds4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:78,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:78,1
    - Dst: sha256_rnds4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:79,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:79,1
    - Dst: sha256_rnds4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:80,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:80,1
    - Dst: sha256_rnds4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:81,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:81,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:83,1
    - Dst: _mm_sha256msg1_epu32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:83,1
    - Dst: auto::raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:83,1
    - Dst: auto::raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:83,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:84,1
    - Dst: _mm_sha256msg1_epu32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:84,1
    - Dst: auto::raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:84,1
    - Dst: auto::raw
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:84,1
    - Dst: sha256_msg_exp
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:87,1
    - Dst: sha256_rnds4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:88,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:88,1
    - Dst: sha256_msg_exp
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:90,1
    - Dst: sha256_rnds4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:91,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:91,1
    - Dst: sha256_msg_exp
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:93,1
    - Dst: sha256_rnds4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:94,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:94,1
    - Dst: sha256_msg_exp
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:96,1
    - Dst: sha256_rnds4
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:97,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:97,1
    - Dst: sha256_permute_state
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:108,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:110,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 3
    argNames:
    - ' digest'
    - input_span
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 112
    functionName: Botan::BOTAN_FN_ISA_SHANI::compress_digest_x86
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp
    functionUses: 1
    functionsReached:
    - _mm_sha256msg1_epu32
    - auto::raw
    - Botan::SIMD_4x32::load_be
    - sha256_msg_exp
    - sha256_permute_state
    - SIMD_4x32
    - sha256_rnds4
    - SIMD_4x32::store_le
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: void
    signature: "void BOTAN_FN_ISA_SHANI BOTAN_SCRUB_STACK_AFTER_RETURN SHA_256::compress_digest_x86(digest_type&
      digest,\n                                                                                    std::span<const
      uint8_t> input_span,\n                                                                                    size_t
      blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:39,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:40,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:50,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:51,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:52,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:53,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:55,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:55,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:55,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:56,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:56,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:56,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:57,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:57,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:57,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:58,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:58,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:58,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:63,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:63,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:64,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:65,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:67,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:67,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:70,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:70,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:71,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:72,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:74,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:74,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:77,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:77,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:78,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:79,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:81,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:81,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:84,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:84,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:85,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:86,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:88,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:88,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:91,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:91,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:92,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:93,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:95,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:95,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:98,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:98,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:99,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:100,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:102,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:102,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:105,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:105,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:106,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:107,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:109,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:109,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:112,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:112,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:113,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:114,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:116,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:116,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:119,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:119,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:120,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:121,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:123,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:123,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:126,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:126,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:127,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:128,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:130,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:130,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:133,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:133,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:134,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:135,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:137,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:137,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:140,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:140,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:141,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:142,1
    - Dst: vsha256su1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:144,1
    - Dst: vsha256su0q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:144,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:147,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:147,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:148,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:149,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:153,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:153,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:154,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:155,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:159,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:159,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:160,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:161,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:165,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:165,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:166,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:167,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:171,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:172,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:179,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 89
    argCount: 3
    argNames:
    - ' digest'
    - input8
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 181
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 181
    functionName: Botan::BOTAN_FN_ISA_SHA2::compress_digest_armv8
    functionSourceFile: /src/botan/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp
    functionUses: 1
    functionsReached:
    - vreinterpretq_u8_u32
    - vrev32q_u8
    - vaddq_u32
    - vsha256h2q_u32
    - vsha256su0q_u32
    - vld1q_u32
    - vst1q_u32
    - vsha256su1q_u32
    - vreinterpretq_u32_u8
    - vsha256hq_u32
    linkageType: ''
    returnType: void
    signature: "void BOTAN_FN_ISA_SHA2 BOTAN_SCRUB_STACK_AFTER_RETURN SHA_256::compress_digest_armv8(digest_type&
      digest,\n                                                                                     std::span<const
      uint8_t> input8,\n                                                                                     size_t
      blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MerkleDamgard_Hash::clear
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::MerkleDamgard_Hash::MerkleDamgard_Hash
    functionSourceFile: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h
    functionUses: 0
    functionsReached:
    - Botan::MerkleDamgard_Hash::clear
    linkageType: ''
    returnType: void
    signature: void MerkleDamgard_Hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:47,1
    - Dst: handle_unaligned_data
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:48,1
    - Dst: Botan::SHA_1::compress_n
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:49,1
    - Dst: auto::value
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:49,1
    - Dst: in_alignment
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:52,1
    - Dst: Botan::SHA_1::compress_n
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:55,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: Botan::MerkleDamgard_Hash::update
    functionSourceFile: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h
    functionUses: 0
    functionsReached:
    - auto::value
    - in_alignment
    - Botan::SHA_1::compress_n
    - handle_unaligned_data
    - BufferSlicer::empty
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MerkleDamgard_Hash::append_padding_bit
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:64,1
    - Dst: Botan::MerkleDamgard_Hash::append_counter_and_finalize
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:65,1
    - Dst: Botan::MerkleDamgard_Hash::copy_output
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:66,1
    - Dst: Botan::MerkleDamgard_Hash::clear
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: Botan::MerkleDamgard_Hash::final
    functionSourceFile: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h
    functionUses: 0
    functionsReached:
    - Botan::MerkleDamgard_Hash::clear
    - Botan::MerkleDamgard_Hash::append_counter_and_finalize
    - Botan::MerkleDamgard_Hash::copy_output
    - Botan::MerkleDamgard_Hash::append_padding_bit
    linkageType: ''
    returnType: void
    signature: void final(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:71,1
    - Dst: Botan::MerkleDamgard_Hash::clear
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: Botan::MerkleDamgard_Hash::clear
    functionSourceFile: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h
    functionUses: 3
    functionsReached:
    - Botan_Tests::test_x509_uninit
    - Botan::MerkleDamgard_Hash::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:78,1
    - Dst: ready_to_consume
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:78,1
    - Dst: append
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:81,1
    - Dst: append
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: Botan::MerkleDamgard_Hash::append_padding_bit
    functionSourceFile: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h
    functionUses: 1
    functionsReached:
    - ready_to_consume
    - BOTAN_ASSERT_NOMSG
    - append
    linkageType: ''
    returnType: void
    signature: void append_padding_bit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elements_until_alignment
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:91,1
    - Dst: fill_up_with_zeros
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:92,1
    - Dst: Botan::SHA_1::compress_n
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:93,1
    - Dst: consume
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:93,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:97,1
    - Dst: elements_until_alignment
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:97,1
    - Dst: fill_up_with_zeros
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:98,1
    - Dst: directly_modify_last
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:102,1
    - Dst: store_be
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:104,1
    - Dst: auto::data
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:104,1
    - Dst: store_le
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:106,1
    - Dst: auto::data
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:106,1
    - Dst: Botan::SHA_1::compress_n
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:110,1
    - Dst: consume
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: Botan::MerkleDamgard_Hash::append_counter_and_finalize
    functionSourceFile: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h
    functionUses: 1
    functionsReached:
    - consume
    - BOTAN_ASSERT_NOMSG
    - Botan::SHA_1::compress_n
    - directly_modify_last
    - elements_until_alignment
    - store_le
    - auto::data
    - fill_up_with_zeros
    - store_be
    linkageType: ''
    returnType: void
    signature: void append_counter_and_finalize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:114,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:114,1
    - Dst: copy_out_be
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:117,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:117,1
    - Dst: copy_out_le
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:119,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: Botan::MerkleDamgard_Hash::copy_output
    functionSourceFile: /src/botan/src/lib/hash/mdx_hash/mdx_hash.h
    functionUses: 1
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - std::span<uint8_t>::size
    - std::span<uint8_t>::first
    - copy_out_be
    - copy_out_le
    linkageType: ''
    returnType: void
    signature: void copy_output(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::MD4::name
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::MD4::output_length
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::MD4::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MD4::clear
      Src: /src/botan/src/lib/hash/md4/md4.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::MD4::clear
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.h
    functionUses: 1
    functionsReached:
    - Botan::MD4::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/md4/md4.cpp:21,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:22,1
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/md4/md4.cpp:24,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:25,1
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/md4/md4.cpp:27,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:28,1
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/md4/md4.cpp:30,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    - M0
    - M1
    - M2
    - M3
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 32
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 32
    functionName: Botan::FF4
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    - Botan::choose
    linkageType: ''
    returnType: void
    signature: void FF4(uint32_t& A, uint32_t& B, uint32_t& C, uint32_t& D, uint32_t
      M0, uint32_t M1, uint32_t M2, uint32_t M3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:44,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:47,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:50,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    - M0
    - M1
    - M2
    - M3
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 54
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 54
    functionName: Botan::GG4
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void GG4(uint32_t& A, uint32_t& B, uint32_t& C, uint32_t& D, uint32_t
      M0, uint32_t M1, uint32_t M2, uint32_t M3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:60,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:63,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:66,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md4/md4.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    - M0
    - M1
    - M2
    - M3
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: Botan::HH4
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void HH4(uint32_t& A, uint32_t& B, uint32_t& C, uint32_t& D, uint32_t
      M0, uint32_t M1, uint32_t M2, uint32_t M3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_le
      Src: /src/botan/src/lib/hash/md4/md4.cpp:85,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/md4/md4.cpp:85,1
    - Dst: FF4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:89,1
    - Dst: FF4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:90,1
    - Dst: FF4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:91,1
    - Dst: FF4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:92,1
    - Dst: GG4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:94,1
    - Dst: GG4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:95,1
    - Dst: GG4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:96,1
    - Dst: GG4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:97,1
    - Dst: HH4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:99,1
    - Dst: HH4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:100,1
    - Dst: HH4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:101,1
    - Dst: HH4
      Src: /src/botan/src/lib/hash/md4/md4.cpp:102,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/hash/md4/md4.cpp:112,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/hash/md4/md4.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 113
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 113
    functionName: Botan::MD4::compress_n
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.cpp
    functionUses: 0
    functionsReached:
    - FF4
    - BOTAN_ASSERT_NOMSG
    - HH4
    - BufferSlicer::take
    - GG4
    - BufferSlicer::empty
    - load_le
    linkageType: ''
    returnType: void
    signature: void MD4::compress_n(digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/hash/md4/md4.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: Botan::MD4::init
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void MD4::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MD4>
      Src: /src/botan/src/lib/hash/md4/md4.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: Botan::MD4::new_object
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MD4>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> MD4::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MD4>
      Src: /src/botan/src/lib/hash/md4/md4.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: Botan::MD4::copy_state
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MD4>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> MD4::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/md4/md4.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: Botan::MD4::add_data
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void MD4::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/md4/md4.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: Botan::MD4::final_result
    functionSourceFile: /src/botan/src/lib/hash/md4/md4.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void MD4::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: Botan::Truncated_Hash::add_data
    functionSourceFile: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void Truncated_Hash::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:23,1
    - Dst: Botan::Truncated_Hash::output_length
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:23,1
    - Dst: final
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:25,1
    - Dst: Botan::Truncated_Hash::output_length
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:28,1
    - Dst: std::copy_n
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:29,1
    - Dst: begin
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:29,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:29,1
    - Dst: zeroise
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:30,1
    - Dst: std::span<uint8_t>::back
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 37
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 37
    functionName: Botan::Truncated_Hash::final_result
    functionSourceFile: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - begin
    - final
    - std::span<uint8_t>::back
    - std::copy_n
    - std::span<uint8_t>::data
    - zeroise
    - Botan::Truncated_Hash::output_length
    linkageType: ''
    returnType: void
    signature: void Truncated_Hash::final_result(std::span<uint8_t> out)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::Truncated_Hash::output_length
    functionSourceFile: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Truncated_Hash::output_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:44,1
    - Dst: Botan::Truncated_Hash::name
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::Truncated_Hash::name
    functionSourceFile: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::Truncated_Hash::name
    linkageType: ''
    returnType: std::string
    signature: std::string Truncated_Hash::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Truncated_Hash>
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:48,1
    - Dst: Botan::Truncated_Hash::new_object
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::Truncated_Hash::new_object
    functionSourceFile: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Truncated_Hash>
    - Botan::Truncated_Hash::new_object
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Truncated_Hash::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Truncated_Hash>
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:52,1
    - Dst: Botan::Truncated_Hash::copy_state
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::Truncated_Hash::copy_state
    functionSourceFile: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Truncated_Hash>
    - Botan::Truncated_Hash::copy_state
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Truncated_Hash::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Truncated_Hash::clear
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp: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: Botan::Truncated_Hash::clear
    functionSourceFile: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp
    functionUses: 1
    functionsReached:
    - Botan::Truncated_Hash::clear
    linkageType: ''
    returnType: void
    signature: void Truncated_Hash::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:60,1
    - Dst: Botan::Truncated_Hash::output_length
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:60,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:61,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:64,1
    - Dst: Botan::Truncated_Hash::output_length
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:67,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - hash
    - bits
    argTypes:
    - std::unique_ptr<HashFunction>
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: Botan::Truncated_Hash::Truncated_Hash
    functionSourceFile: /src/botan/src/lib/hash/trunc_hash/trunc_hash.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - Botan::Truncated_Hash::output_length
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Truncated_Hash::Truncated_Hash(std::unique_ptr<HashFunction> hash,
      size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::MD5::name
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::MD5::output_length
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::MD5::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MD5::clear
      Src: /src/botan/src/lib/hash/md5/md5.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::MD5::clear
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.h
    functionUses: 1
    functionsReached:
    - Botan::MD5::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/md5/md5.cpp:25,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md5/md5.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' A'
    - B
    - C
    - D
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: Botan::FF
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    - Botan::choose
    linkageType: ''
    returnType: void
    signature: void FF(uint32_t& A, uint32_t B, uint32_t C, uint32_t D, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/md5/md5.cpp:34,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md5/md5.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' A'
    - B
    - C
    - D
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: Botan::GG
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    - Botan::choose
    linkageType: ''
    returnType: void
    signature: void GG(uint32_t& A, uint32_t B, uint32_t C, uint32_t D, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md5/md5.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' A'
    - B
    - C
    - D
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Botan::HH
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void HH(uint32_t& A, uint32_t B, uint32_t C, uint32_t D, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/md5/md5.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' A'
    - B
    - C
    - D
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: Botan::II
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void II(uint32_t& A, uint32_t B, uint32_t C, uint32_t D, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_le
      Src: /src/botan/src/lib/hash/md5/md5.cpp:69,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/md5/md5.cpp:69,1
    - Dst: FF< 7>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:73,1
    - Dst: FF<12>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:74,1
    - Dst: FF<17>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:75,1
    - Dst: FF<22>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:76,1
    - Dst: FF< 7>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:77,1
    - Dst: FF<12>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:78,1
    - Dst: FF<17>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:79,1
    - Dst: FF<22>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:80,1
    - Dst: FF< 7>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:81,1
    - Dst: FF<12>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:82,1
    - Dst: FF<17>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:83,1
    - Dst: FF<22>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:84,1
    - Dst: FF< 7>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:85,1
    - Dst: FF<12>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:86,1
    - Dst: FF<17>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:87,1
    - Dst: FF<22>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:88,1
    - Dst: GG< 5>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:90,1
    - Dst: GG< 9>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:91,1
    - Dst: GG<14>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:92,1
    - Dst: GG<20>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:93,1
    - Dst: GG< 5>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:94,1
    - Dst: GG< 9>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:95,1
    - Dst: GG<14>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:96,1
    - Dst: GG<20>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:97,1
    - Dst: GG< 5>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:98,1
    - Dst: GG< 9>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:99,1
    - Dst: GG<14>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:100,1
    - Dst: GG<20>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:101,1
    - Dst: GG< 5>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:102,1
    - Dst: GG< 9>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:103,1
    - Dst: GG<14>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:104,1
    - Dst: GG<20>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:105,1
    - Dst: HH< 4>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:107,1
    - Dst: HH<11>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:108,1
    - Dst: HH<16>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:109,1
    - Dst: HH<23>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:110,1
    - Dst: HH< 4>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:111,1
    - Dst: HH<11>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:112,1
    - Dst: HH<16>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:113,1
    - Dst: HH<23>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:114,1
    - Dst: HH< 4>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:115,1
    - Dst: HH<11>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:116,1
    - Dst: HH<16>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:117,1
    - Dst: HH<23>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:118,1
    - Dst: HH< 4>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:119,1
    - Dst: HH<11>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:120,1
    - Dst: HH<16>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:121,1
    - Dst: HH<23>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:122,1
    - Dst: II< 6>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:124,1
    - Dst: II<10>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:125,1
    - Dst: II<15>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:126,1
    - Dst: II<21>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:127,1
    - Dst: II< 6>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:128,1
    - Dst: II<10>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:129,1
    - Dst: II<15>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:130,1
    - Dst: II<21>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:131,1
    - Dst: II< 6>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:132,1
    - Dst: II<10>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:133,1
    - Dst: II<15>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:134,1
    - Dst: II<21>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:135,1
    - Dst: II< 6>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:136,1
    - Dst: II<10>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:137,1
    - Dst: II<15>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:138,1
    - Dst: II<21>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 72
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - MD5::digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 148
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 148
    functionName: Botan::MD5::compress_n
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.cpp
    functionUses: 0
    functionsReached:
    - HH< 4>
    - HH<11>
    - FF<17>
    - BufferSlicer::take
    - II< 6>
    - II<15>
    - II<10>
    - II<21>
    - HH<16>
    - HH<23>
    - GG< 9>
    - FF< 7>
    - FF<22>
    - GG< 5>
    - GG<20>
    - load_le
    - GG<14>
    - FF<12>
    linkageType: ''
    returnType: void
    signature: void MD5::compress_n(MD5::digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/hash/md5/md5.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: Botan::MD5::init
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void MD5::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MD5>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: Botan::MD5::new_object
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MD5>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> MD5::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MD5>
      Src: /src/botan/src/lib/hash/md5/md5.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: Botan::MD5::copy_state
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MD5>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> MD5::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/md5/md5.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: Botan::MD5::add_data
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void MD5::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/md5/md5.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: Botan::MD5::final_result
    functionSourceFile: /src/botan/src/lib/hash/md5/md5.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void MD5::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:82,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:82,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:82,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:82,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:82,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:82,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - x0
    - x1
    - x2
    - x3
    - x4
    - x5
    - x6
    - x7
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: Botan::whirl
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t whirl(uint64_t x0, uint64_t x1, uint64_t x2, uint64_t x3,
      uint64_t x4, uint64_t x5, uint64_t x6, uint64_t x7)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:104,1
    - Dst: whirl
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:128,1
    - Dst: whirl
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:129,1
    - Dst: whirl
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:130,1
    - Dst: whirl
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:131,1
    - Dst: whirl
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:132,1
    - Dst: whirl
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:133,1
    - Dst: whirl
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:134,1
    - Dst: whirl
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:135,1
    - Dst: load_be
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:139,1
    - Dst: auto::data
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 180
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 180
    functionName: Botan::Whirlpool::compress_n
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp
    functionUses: 0
    functionsReached:
    - load_be
    - auto::data
    - whirl
    - BufferSlicer::take
    linkageType: ''
    returnType: void
    signature: void Whirlpool::compress_n(digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:183,1
    - Dst: zeroise
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: Botan::Whirlpool::init
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp
    functionUses: 0
    functionsReached:
    - zeroise
    - resize
    linkageType: ''
    returnType: void
    signature: void Whirlpool::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Whirlpool>
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: Botan::Whirlpool::new_object
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Whirlpool>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Whirlpool::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Whirlpool>
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: Botan::Whirlpool::copy_state
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Whirlpool>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Whirlpool::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: Botan::Whirlpool::add_data
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void Whirlpool::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: Botan::Whirlpool::final_result
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void Whirlpool::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::Whirlpool::name
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::Whirlpool::output_length
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::Whirlpool::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Whirlpool::clear
      Src: /src/botan/src/lib/hash/whirlpool/whirlpool.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::Whirlpool::clear
    functionSourceFile: /src/botan/src/lib/hash/whirlpool/whirlpool.h
    functionUses: 1
    functionsReached:
    - Botan::Whirlpool::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: Botan::Parallel::add_data
    functionSourceFile: /src/botan/src/lib/hash/par_hash/par_hash.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void Parallel::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:25,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:25,1
    - Dst: Botan::Parallel::output_length
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: Botan::Parallel::final_result
    functionSourceFile: /src/botan/src/lib/hash/par_hash/par_hash.cpp
    functionUses: 0
    functionsReached:
    - final
    - BufferStuffer::next
    - Botan::Parallel::output_length
    linkageType: ''
    returnType: void
    signature: void Parallel::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Parallel::output_length
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: Botan::Parallel::output_length
    functionSourceFile: /src/botan/src/lib/hash/par_hash/par_hash.cpp
    functionUses: 2
    functionsReached:
    - Botan::Parallel::output_length
    linkageType: ''
    returnType: size_t
    signature: size_t Parallel::output_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:43,1
    - Dst: Botan::Parallel::name
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:47,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: Botan::Parallel::name
    functionSourceFile: /src/botan/src/lib/hash/par_hash/par_hash.cpp
    functionUses: 1
    functionsReached:
    - Botan::Parallel::name
    - std::ostringstream::str
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string Parallel::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:57,1
    - Dst: size
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:57,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:60,1
    - Dst: std::unique_ptr<HashFunction>
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:60,1
    - Dst: Botan::Parallel::new_object
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:60,1
    - Dst: std::make_unique<Parallel>
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: Botan::Parallel::new_object
    functionSourceFile: /src/botan/src/lib/hash/par_hash/par_hash.cpp
    functionUses: 1
    functionsReached:
    - Botan::Parallel::new_object
    - size
    - std::unique_ptr<HashFunction>
    - std::vector::push_back
    - std::vector::reserve
    - std::make_unique<Parallel>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Parallel::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:68,1
    - Dst: size
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:71,1
    - Dst: Botan::Parallel::copy_state
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:71,1
    - Dst: std::make_unique<Parallel>
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: Botan::Parallel::copy_state
    functionSourceFile: /src/botan/src/lib/hash/par_hash/par_hash.cpp
    functionUses: 1
    functionsReached:
    - Botan::Parallel::copy_state
    - size
    - std::vector::push_back
    - std::vector::reserve
    - std::make_unique<Parallel>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Parallel::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Parallel::clear
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: Botan::Parallel::clear
    functionSourceFile: /src/botan/src/lib/hash/par_hash/par_hash.cpp
    functionUses: 1
    functionsReached:
    - Botan::Parallel::clear
    linkageType: ''
    returnType: void
    signature: void Parallel::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:84,1
    - Dst: size
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:84,1
    - Dst: push_back
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:86,1
    - Dst: std::move
      Src: /src/botan/src/lib/hash/par_hash/par_hash.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' hashes'
    argTypes:
    - std::vector<std::unique_ptr<HashFunction>>
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: Botan::Parallel::Parallel
    functionSourceFile: /src/botan/src/lib/hash/par_hash/par_hash.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - reserve
    - size
    - std::move
    linkageType: ''
    returnType: void
    signature: void Parallel::Parallel(std::vector<std::unique_ptr<HashFunction>>&
      hashes)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::Parallel::Parallel
    functionSourceFile: /src/botan/src/lib/hash/par_hash/par_hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parallel(const Parallel&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(const Parallel&)'
    functionSourceFile: /src/botan/src/lib/hash/par_hash/par_hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Parallel
    signature: Parallel & operator=(const Parallel&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_f.h:36,1
    - Dst: Botan::majority
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_f.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 13
    argNames:
    - A
    - B
    - C
    - ' D'
    - E
    - F
    - G
    - ' H'
    - ' M1'
    - M2
    - M3
    - M4
    - magic
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 40
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 40
    functionName: Botan::SHA2_64_F
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_f.h
    functionUses: 0
    functionsReached:
    - Botan::majority
    - Botan::choose
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE SHA2_64_F(uint64_t A,\n                                  uint64_t
      B,\n                                  uint64_t C,\n                                  uint64_t&
      D,\n                                  uint64_t E,\n                                  uint64_t
      F,\n                                  uint64_t G,\n                                  uint64_t&
      H,\n                                  uint64_t& M1,\n                                  uint64_t
      M2,\n                                  uint64_t M3,\n                                  uint64_t
      M4,\n                                  uint64_t magic)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_f.h:49,1
    - Dst: Botan::majority
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_f.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - A
    - B
    - C
    - ' D'
    - E
    - F
    - G
    - ' H'
    - M
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: Botan::SHA2_64_F
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_f.h
    functionUses: 0
    functionsReached:
    - Botan::majority
    - Botan::choose
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE SHA2_64_F(\n   uint64_t A, uint64_t B, uint64_t
      C, uint64_t& D, uint64_t E, uint64_t F, uint64_t G, uint64_t& H, uint64_t M)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::SHA_384::name
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::SHA_384::output_length
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::SHA_384::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_384::clear
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::SHA_384::clear
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 1
    functionsReached:
    - Botan::SHA_384::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Botan::SHA_512::name
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: Botan::SHA_512::output_length
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan::SHA_512::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_512::clear
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Botan::SHA_512::clear
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 1
    functionsReached:
    - Botan::SHA_512::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Botan::SHA_512_256::name
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: Botan::SHA_512_256::output_length
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Botan::SHA_512_256::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_512_256::clear
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: Botan::SHA_512_256::clear
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.h
    functionUses: 1
    functionsReached:
    - Botan::SHA_512_256::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:26,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:32,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:38,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 50
    functionName: Botan::sha512_provider
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string sha512_provider()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:60,1
    - Dst: Botan::SHA_512::compress_digest_x86
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:61,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:66,1
    - Dst: compress_digest_armv8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:67,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:72,1
    - Dst: Botan::SHA_512::compress_digest_x86_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:73,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:78,1
    - Dst: Botan::SHA_512::compress_digest_x86_avx2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:79,1
    - Dst: load_be
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:91,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:91,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:95,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:96,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:97,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:98,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:99,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:100,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:101,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:102,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:103,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:104,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:105,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:106,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:107,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:108,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:109,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:110,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:111,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:112,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:113,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:114,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:115,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:116,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:117,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:118,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:119,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:120,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:121,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:122,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:123,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:124,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:125,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:126,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:127,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:128,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:129,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:130,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:131,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:132,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:133,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:134,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:135,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:136,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:137,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:138,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:139,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:140,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:141,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:142,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:143,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:144,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:145,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:146,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:147,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:148,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:149,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:150,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:151,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:152,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:153,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:154,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:155,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:156,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:157,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:158,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:159,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:160,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:161,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:162,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:163,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:164,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:165,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:166,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:167,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:168,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:169,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:170,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:171,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:172,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:173,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 104
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 187
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 187
    functionName: Botan::SHA_512::compress_digest
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - SHA2_64_F
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - BufferSlicer::take
    - load_be
    - Botan::SHA_512::compress_digest_x86_avx512
    - Botan::SHA_512::compress_digest_x86
    - Botan::SHA_512::compress_digest_x86_avx2
    - compress_digest_armv8
    linkageType: ''
    returnType: void
    signature: void SHA_512::compress_digest(digest_type& digest, std::span<const
      uint8_t> input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_provider
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: Botan::SHA_512_256::provider
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - sha512_provider
    linkageType: ''
    returnType: std::string
    signature: std::string SHA_512_256::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_provider
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: Botan::SHA_384::provider
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - sha512_provider
    linkageType: ''
    returnType: std::string
    signature: std::string SHA_384::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_provider
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: Botan::SHA_512::provider
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - sha512_provider
    linkageType: ''
    returnType: std::string
    signature: std::string SHA_512::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_512::compress_digest
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: Botan::SHA_512_256::compress_n
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - Botan::SHA_512::compress_digest
    linkageType: ''
    returnType: void
    signature: void SHA_512_256::compress_n(digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_512::compress_digest
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: Botan::SHA_384::compress_n
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - Botan::SHA_512::compress_digest
    linkageType: ''
    returnType: void
    signature: void SHA_384::compress_n(digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_512::compress_digest
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: Botan::SHA_512::compress_n
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - Botan::SHA_512::compress_digest
    linkageType: ''
    returnType: void
    signature: void SHA_512::compress_n(digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: Botan::SHA_512_256::init
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void SHA_512_256::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: Botan::SHA_384::init
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void SHA_384::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: Botan::SHA_512::init
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void SHA_512::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_384>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: Botan::SHA_384::new_object
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_384>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_384::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_512>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: Botan::SHA_512::new_object
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_512>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_512::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_512_256>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: Botan::SHA_512_256::new_object
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_512_256>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_512_256::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_384>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: Botan::SHA_384::copy_state
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_384>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_384::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_512>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: Botan::SHA_512::copy_state
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_512>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_512::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_512_256>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: Botan::SHA_512_256::copy_state
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_512_256>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_512_256::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: Botan::SHA_384::add_data
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void SHA_384::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: Botan::SHA_512::add_data
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void SHA_512::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: Botan::SHA_512_256::add_data
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void SHA_512_256::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: Botan::SHA_384::final_result
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void SHA_384::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: Botan::SHA_512::final_result
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void SHA_512::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: Botan::SHA_512_256::final_result
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void SHA_512_256::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:41,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:42,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:43,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:44,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:55,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:56,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:57,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:58,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:59,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:60,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:61,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:62,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:64,1
    - Dst: vrev64q_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:64,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:64,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:65,1
    - Dst: vrev64q_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:65,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:65,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:66,1
    - Dst: vrev64q_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:66,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:66,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:67,1
    - Dst: vrev64q_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:67,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:67,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:68,1
    - Dst: vrev64q_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:68,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:68,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:69,1
    - Dst: vrev64q_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:69,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:69,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:70,1
    - Dst: vrev64q_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:70,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:70,1
    - Dst: vreinterpretq_u64_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:71,1
    - Dst: vrev64q_u8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:71,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:71,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:76,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:76,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:77,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:77,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:78,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:78,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:78,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:79,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:80,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:81,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:81,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:81,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:84,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:84,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:85,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:85,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:86,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:86,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:86,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:87,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:88,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:89,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:89,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:89,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:92,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:92,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:93,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:93,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:94,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:94,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:94,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:95,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:96,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:97,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:97,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:97,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:100,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:100,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:101,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:101,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:102,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:102,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:102,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:103,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:104,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:105,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:105,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:105,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:108,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:108,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:109,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:109,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:110,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:110,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:110,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:111,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:112,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:113,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:113,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:113,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:116,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:116,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:117,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:117,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:118,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:118,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:118,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:119,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:120,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:121,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:121,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:121,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:124,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:124,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:125,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:125,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:126,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:126,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:126,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:127,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:128,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:129,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:129,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:129,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:132,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:132,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:133,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:133,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:134,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:134,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:134,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:135,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:136,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:137,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:137,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:137,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:140,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:140,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:141,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:141,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:142,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:142,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:142,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:143,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:144,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:145,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:145,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:145,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:148,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:148,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:149,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:149,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:150,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:150,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:150,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:151,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:152,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:153,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:153,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:153,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:156,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:156,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:157,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:157,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:158,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:158,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:158,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:159,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:160,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:161,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:161,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:161,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:164,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:164,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:165,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:165,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:166,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:166,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:166,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:167,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:168,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:169,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:169,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:169,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:172,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:172,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:173,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:173,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:174,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:174,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:174,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:175,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:176,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:177,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:177,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:177,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:180,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:180,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:181,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:181,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:182,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:182,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:182,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:183,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:184,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:185,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:185,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:185,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:188,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:188,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:189,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:189,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:190,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:190,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:190,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:191,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:192,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:193,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:193,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:193,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:196,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:196,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:197,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:197,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:198,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:198,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:198,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:199,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:200,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:201,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:201,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:201,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:204,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:204,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:205,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:205,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:206,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:206,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:206,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:207,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:208,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:209,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:209,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:209,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:212,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:212,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:213,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:213,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:214,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:214,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:214,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:215,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:216,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:217,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:217,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:217,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:220,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:220,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:221,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:221,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:222,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:222,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:222,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:223,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:224,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:225,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:225,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:225,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:228,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:228,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:229,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:229,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:230,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:230,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:230,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:231,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:232,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:233,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:233,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:233,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:236,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:236,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:237,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:237,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:238,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:238,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:238,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:239,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:240,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:241,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:241,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:241,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:244,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:244,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:245,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:245,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:246,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:246,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:246,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:247,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:248,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:249,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:249,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:249,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:252,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:252,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:253,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:253,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:254,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:254,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:254,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:255,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:256,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:257,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:257,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:257,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:260,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:260,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:261,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:261,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:262,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:262,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:262,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:263,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:264,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:265,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:265,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:265,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:268,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:268,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:269,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:269,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:270,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:270,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:270,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:271,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:272,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:273,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:273,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:273,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:276,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:276,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:277,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:277,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:278,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:278,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:278,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:279,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:280,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:281,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:281,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:281,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:284,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:284,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:285,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:285,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:286,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:286,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:286,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:287,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:288,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:289,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:289,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:289,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:292,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:292,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:293,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:293,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:294,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:294,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:294,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:295,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:296,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:297,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:297,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:297,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:300,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:300,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:301,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:301,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:302,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:302,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:302,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:303,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:304,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:305,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:305,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:305,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:308,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:308,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:309,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:309,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:310,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:310,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:310,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:311,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:312,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:313,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:313,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:313,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:316,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:316,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:317,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:317,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:318,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:318,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:318,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:319,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:320,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:321,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:321,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:321,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:324,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:324,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:325,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:325,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:326,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:326,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:326,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:327,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:328,1
    - Dst: vsha512su1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:329,1
    - Dst: vsha512su0q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:329,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:329,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:332,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:332,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:333,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:333,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:334,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:334,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:334,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:335,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:336,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:339,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:339,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:340,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:340,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:341,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:341,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:341,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:342,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:343,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:346,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:346,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:347,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:347,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:348,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:348,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:348,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:349,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:350,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:353,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:353,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:354,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:354,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:355,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:355,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:355,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:356,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:357,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:360,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:360,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:361,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:361,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:362,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:362,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:362,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:363,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:364,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:367,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:367,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:368,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:368,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:369,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:369,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:369,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:370,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:371,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:374,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:374,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:375,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:375,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:376,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:376,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:376,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:377,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:378,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:381,1
    - Dst: vld1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:381,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:382,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:382,1
    - Dst: vsha512hq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:383,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:383,1
    - Dst: vextq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:383,1
    - Dst: vsha512h2q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:384,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:385,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:388,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:389,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:390,1
    - Dst: vaddq_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:391,1
    - Dst: vst1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:398,1
    - Dst: vst1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:399,1
    - Dst: vst1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:400,1
    - Dst: vst1q_u64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 253
    argCount: 3
    argNames:
    - ' digest'
    - input8
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 402
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 402
    functionName: Botan::BOTAN_FN_ISA_SHA512::compress_digest_armv8
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_armv8/sha2_64_armv8.cpp
    functionUses: 0
    functionsReached:
    - vst1q_u64
    - vextq_u64
    - vsha512hq_u64
    - vld1q_u64
    - vsha512su1q_u64
    - vrev64q_u8
    - vreinterpretq_u64_u8
    - vsha512h2q_u64
    - vaddq_u64
    - vreinterpretq_u8_u64
    - vsha512su0q_u64
    linkageType: ''
    returnType: void
    signature: "void BOTAN_FN_ISA_SHA512 SHA_512::compress_digest_armv8(digest_type&
      digest,\n                                                        std::span<const
      uint8_t> input8,\n                                                        size_t
      blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::alignr8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:22,1
    - Dst: Botan::SIMD_4x32::alignr8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:23,1
    - Dst: auto::template rotr<1>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:25,1
    - Dst: auto::template rotr<8>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:25,1
    - Dst: auto::template shr<7>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:25,1
    - Dst: template rotr<19>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:26,1
    - Dst: template rotr<61>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:26,1
    - Dst: template shr<6>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - SIMD_T[]
    constantsTouched: []
    func_position:
      end: 40
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 40
    functionName: Botan::sha512_next_w_avx512
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp
    functionUses: 0
    functionsReached:
    - auto::template shr<7>
    - template rotr<61>
    - template shr<6>
    - auto::template rotr<8>
    - auto::template rotr<1>
    - Botan::SIMD_4x32::alignr8
    - template rotr<19>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sha512_next_w_avx512(SIMD_T x[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x64::load_be4
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:175,1
    - Dst: Botan::SIMD_8x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:177,1
    - Dst: auto::store_le4
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:178,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:186,1
    - Dst: Botan::SIMD_8x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:186,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:187,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:188,1
    - Dst: auto::store_le4
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:189,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:191,1
    - Dst: Botan::SIMD_8x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:191,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:192,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:193,1
    - Dst: auto::store_le4
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:194,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:196,1
    - Dst: Botan::SIMD_8x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:196,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:197,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:198,1
    - Dst: auto::store_le4
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:199,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:201,1
    - Dst: Botan::SIMD_8x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:201,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:202,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:203,1
    - Dst: auto::store_le4
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:204,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:206,1
    - Dst: Botan::SIMD_8x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:206,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:207,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:208,1
    - Dst: auto::store_le4
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:209,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:211,1
    - Dst: Botan::SIMD_8x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:211,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:212,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:213,1
    - Dst: auto::store_le4
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:214,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:216,1
    - Dst: Botan::SIMD_8x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:216,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:217,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:218,1
    - Dst: auto::store_le4
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:219,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:221,1
    - Dst: Botan::SIMD_8x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:221,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:222,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:223,1
    - Dst: auto::store_le4
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:224,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:228,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:229,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:230,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:231,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:232,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:233,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:234,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:235,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:236,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:237,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:238,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:239,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:240,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:241,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:242,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:243,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:257,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:258,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:259,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:260,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:261,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:262,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:263,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:264,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:265,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:266,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:267,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:268,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:269,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:270,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:271,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:272,1
    - Dst: Botan::SIMD_2x64::load_be
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:290,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:291,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:292,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:300,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:300,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:301,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:302,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:303,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:305,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:305,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:306,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:307,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:308,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:310,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:310,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:311,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:312,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:313,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:315,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:315,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:316,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:317,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:318,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:320,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:320,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:321,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:322,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:323,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:325,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:325,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:326,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:327,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:328,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:330,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:330,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:331,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:332,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:333,1
    - Dst: sha512_next_w_avx512
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:335,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:335,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:336,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:337,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:338,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:342,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:343,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:344,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:345,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:346,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:347,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:348,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:349,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:350,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:351,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:352,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:353,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:354,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:355,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:356,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp:357,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 159
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 368
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 368
    functionName: Botan::SHA_512::compress_digest_x86_avx512
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_avx512/sha2_64_avx512.cpp
    functionUses: 1
    functionsReached:
    - SHA2_64_F
    - auto::store_le4
    - Botan::SIMD_8x64::load_be4
    - sha512_next_w_avx512
    - Botan::SIMD_2x64::load_be
    - auto::store_le
    - Botan::SIMD_8x64::load_le
    - Botan::SIMD_2x64::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512_BMI2
    signature: "BOTAN_FN_ISA_AVX512_BMI2 SHA_512::compress_digest_x86_avx512(digest_type&
      digest,\n                                                                  std::span<const
      uint8_t> input,\n                                                                  size_t
      blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_sha512msg1_epi64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:17,1
    - Dst: _mm256_extracti128_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:17,1
    - Dst: _mm256_add_epi64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:18,1
    - Dst: _mm256_permute4x64_epi64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:18,1
    - Dst: _mm256_blend_epi32
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:18,1
    - Dst: _mm256_sha512msg2_epi64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' m0'
    - ' m1'
    - ' m2'
    - ' m3'
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: Botan::sha512_msg_expand
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp
    functionUses: 4
    functionsReached:
    - _mm256_blend_epi32
    - _mm256_extracti128_si256
    - _mm256_sha512msg1_epi64
    - _mm256_add_epi64
    - _mm256_permute4x64_epi64
    - _mm256_sha512msg2_epi64
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sha512_msg_expand(__m256i& m0, __m256i& m1, __m256i&
      m2, __m256i& m3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_add_epi64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:26,1
    - Dst: _mm256_sha512rnds2_epi64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:27,1
    - Dst: _mm256_extracti128_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:27,1
    - Dst: _mm256_sha512rnds2_epi64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:28,1
    - Dst: _mm256_extracti128_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' state0'
    - ' state1'
    - msg
    - K
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: Botan::sha512_4rounds
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp
    functionUses: 0
    functionsReached:
    - _mm256_add_epi64
    - _mm256_extracti128_si256
    - _mm256_sha512rnds2_epi64
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE sha512_4rounds(__m256i& state0,\n                                                           __m256i&
      state1,\n                                                           const __m256i
      msg,\n                                                           const __m256i
      K)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_shuffle_epi32
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:32,1
    - Dst: _mm256_shuffle_epi32
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:33,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:35,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' state0'
    - ' state1'
    argTypes:
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: Botan::permute_state
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp
    functionUses: 0
    functionsReached:
    - _mm256_shuffle_epi32
    - _mm256_permute2x128_si256
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE permute_state(__m256i& state0, __m256i& state1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const __m256i*>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:62,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:65,1
    - Dst: reinterpret_cast<__m256i*>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:67,1
    - Dst: data
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:67,1
    - Dst: reinterpret_cast<const __m256i*>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:68,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:68,1
    - Dst: _mm256_loadu_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:70,1
    - Dst: _mm256_loadu_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:71,1
    - Dst: permute_state
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:73,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:79,1
    - Dst: _mm256_loadu_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:79,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:80,1
    - Dst: _mm256_loadu_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:80,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:81,1
    - Dst: _mm256_loadu_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:81,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:82,1
    - Dst: _mm256_loadu_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:82,1
    - Dst: sha512_4rounds
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:84,1
    - Dst: _mm256_load_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:84,1
    - Dst: sha512_4rounds
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:85,1
    - Dst: _mm256_load_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:85,1
    - Dst: _mm256_sha512msg1_epi64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:86,1
    - Dst: _mm256_extracti128_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:86,1
    - Dst: sha512_4rounds
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:89,1
    - Dst: _mm256_load_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:89,1
    - Dst: sha512_msg_expand
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:90,1
    - Dst: sha512_4rounds
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:92,1
    - Dst: _mm256_load_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:92,1
    - Dst: sha512_msg_expand
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:93,1
    - Dst: sha512_4rounds
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:95,1
    - Dst: _mm256_load_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:95,1
    - Dst: sha512_msg_expand
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:96,1
    - Dst: sha512_4rounds
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:98,1
    - Dst: _mm256_load_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:98,1
    - Dst: sha512_msg_expand
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:99,1
    - Dst: sha512_4rounds
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:102,1
    - Dst: _mm256_load_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:102,1
    - Dst: sha512_4rounds
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:103,1
    - Dst: _mm256_load_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:103,1
    - Dst: _mm256_add_epi64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:105,1
    - Dst: _mm256_add_epi64
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:106,1
    - Dst: permute_state
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:111,1
    - Dst: _mm256_storeu_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:113,1
    - Dst: _mm256_storeu_si256
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 115
    functionName: Botan::SHA_512::compress_digest_x86
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_x86/sha2_64_x86.cpp
    functionUses: 1
    functionsReached:
    - permute_state
    - sha512_4rounds
    - reinterpret_cast<__m256i*>
    - _mm256_set_epi64x
    - data
    - _mm256_load_si256
    - _mm256_extracti128_si256
    - reinterpret_cast<const __m256i*>
    - _mm256_sha512msg1_epi64
    - _mm256_storeu_si256
    - _mm256_shuffle_epi8
    - _mm256_add_epi64
    - _mm256_loadu_si256
    - std::span<const uint8_t>::data
    - sha512_msg_expand
    linkageType: ''
    returnType: BOTAN_FN_ISA_SHA512
    signature: BOTAN_FN_ISA_SHA512 SHA_512::compress_digest_x86(digest_type& digest,
      std::span<const uint8_t> input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::alignr8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:22,1
    - Dst: Botan::SIMD_4x32::alignr8
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:23,1
    - Dst: auto::template rotr<1>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:25,1
    - Dst: auto::template rotr<8>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:25,1
    - Dst: auto::template shr<7>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:25,1
    - Dst: template rotr<19>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:26,1
    - Dst: template rotr<61>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:26,1
    - Dst: template shr<6>
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - SIMD_T[]
    constantsTouched: []
    func_position:
      end: 40
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 40
    functionName: Botan::sha512_next_w
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp
    functionUses: 0
    functionsReached:
    - auto::template shr<7>
    - template rotr<61>
    - template shr<6>
    - auto::template rotr<8>
    - auto::template rotr<1>
    - Botan::SIMD_4x32::alignr8
    - template rotr<19>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sha512_next_w(SIMD_T x[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::load_be2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:135,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:136,1
    - Dst: auto::store_le2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:137,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:145,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:145,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:146,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:147,1
    - Dst: auto::store_le2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:148,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:150,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:150,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:151,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:152,1
    - Dst: auto::store_le2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:153,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:155,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:155,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:156,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:157,1
    - Dst: auto::store_le2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:158,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:160,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:160,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:161,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:162,1
    - Dst: auto::store_le2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:163,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:165,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:165,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:166,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:167,1
    - Dst: auto::store_le2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:168,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:170,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:170,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:171,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:172,1
    - Dst: auto::store_le2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:173,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:175,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:175,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:176,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:177,1
    - Dst: auto::store_le2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:178,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:180,1
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:180,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:181,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:182,1
    - Dst: auto::store_le2
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:183,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:187,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:188,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:189,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:190,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:191,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:192,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:193,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:194,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:195,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:196,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:197,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:198,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:199,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:200,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:201,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:202,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:214,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:215,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:216,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:217,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:218,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:219,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:220,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:221,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:222,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:223,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:224,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:225,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:226,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:227,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:228,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:229,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:231,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:232,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:233,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:234,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:235,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:236,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:237,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:238,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:239,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:240,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:241,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:242,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:243,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:244,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:245,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:246,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:248,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:249,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:250,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:251,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:252,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:253,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:254,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:255,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:256,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:257,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:258,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:259,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:260,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:261,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:262,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:263,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:265,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:266,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:267,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:268,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:269,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:270,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:271,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:272,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:273,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:274,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:275,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:276,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:277,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:278,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:279,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:280,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:282,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:283,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:284,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:285,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:286,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:287,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:288,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:289,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:290,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:291,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:292,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:293,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:294,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:295,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:296,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:297,1
    - Dst: Botan::SIMD_2x64::load_be
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:313,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:314,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:315,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:323,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:323,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:324,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:325,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:326,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:328,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:328,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:329,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:330,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:331,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:333,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:333,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:334,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:335,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:336,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:338,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:338,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:339,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:340,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:341,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:343,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:343,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:344,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:345,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:346,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:348,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:348,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:349,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:350,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:351,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:353,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:353,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:354,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:355,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:356,1
    - Dst: sha512_next_w
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:358,1
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:358,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:359,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:360,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:361,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:365,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:366,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:367,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:368,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:369,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:370,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:371,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:372,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:373,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:374,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:375,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:376,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:377,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:378,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:379,1
    - Dst: SHA2_64_F
      Src: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 219
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 391
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 391
    functionName: Botan::SHA_512::compress_digest_x86_avx2
    functionSourceFile: /src/botan/src/lib/hash/sha2_64/sha2_64_avx2/sha2_64_avx2.cpp
    functionUses: 1
    functionsReached:
    - SHA2_64_F
    - Botan::SIMD_2x64::load_be
    - auto::store_le
    - auto::store_le2
    - Botan::SIMD_2x64::load_le
    - Botan::SIMD_4x64::load_le
    - sha512_next_w
    - Botan::SIMD_4x64::load_be2
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_BMI2
    signature: "BOTAN_FN_ISA_AVX2_BMI2 SHA_512::compress_digest_x86_avx2(digest_type&
      digest,\n                                                              std::span<const
      uint8_t> input,\n                                                              size_t
      blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:21,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - X
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Botan::P0
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t P0(uint32_t X)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:40,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:42,1
    - Dst: Botan::P0
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 11
    argNames:
    - A
    - ' B'
    - C
    - ' D'
    - E
    - ' F'
    - G
    - ' H'
    - TJ
    - Wi
    - Wj
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 44
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 44
    functionName: Botan::R1
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - Botan::P0
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: "void R1(uint32_t A,\n               uint32_t& B,\n               uint32_t
      C,\n               uint32_t& D,\n               uint32_t E,\n               uint32_t&
      F,\n               uint32_t G,\n               uint32_t& H,\n               uint32_t
      TJ,\n               uint32_t Wi,\n               uint32_t Wj)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:62,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:64,1
    - Dst: Botan::P0
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 11
    argNames:
    - A
    - ' B'
    - C
    - ' D'
    - E
    - ' F'
    - G
    - ' H'
    - TJ
    - Wi
    - Wj
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: Botan::R2
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - Botan::P0
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: "void R2(uint32_t A,\n               uint32_t& B,\n               uint32_t
      C,\n               uint32_t& D,\n               uint32_t E,\n               uint32_t&
      F,\n               uint32_t G,\n               uint32_t& H,\n               uint32_t
      TJ,\n               uint32_t Wi,\n               uint32_t Wj)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:69,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - X
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: Botan::P1
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t P1(uint32_t X)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::P1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:73,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:73,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - W0
    - W7
    - W13
    - W3
    - W10
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Botan::SM3_E
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - Botan::P1
    - Botan::rotl
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SM3_E(uint32_t W0, uint32_t W7, uint32_t W13, uint32_t W3,
      uint32_t W10)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_be
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:89,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:89,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:93,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:94,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:95,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:96,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:97,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:98,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:99,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:100,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:101,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:102,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:103,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:104,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:105,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:106,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:107,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:108,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:109,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:110,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:111,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:112,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:113,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:114,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:115,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:116,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:117,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:118,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:119,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:120,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:121,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:122,1
    - Dst: R1
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:123,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:124,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:125,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:126,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:127,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:128,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:129,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:130,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:131,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:132,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:133,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:134,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:135,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:136,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:137,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:138,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:139,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:140,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:141,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:142,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:143,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:144,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:145,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:146,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:147,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:148,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:149,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:150,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:151,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:152,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:153,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:154,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:155,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:156,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:157,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:158,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:159,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:160,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:161,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:162,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:163,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:164,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:165,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:166,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:167,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:168,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:169,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:170,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:171,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:172,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:173,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:174,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:175,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:176,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:177,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:178,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:179,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:180,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:181,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:182,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:183,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:184,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:185,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:186,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:187,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:188,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:189,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:190,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:191,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:192,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:193,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:194,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:195,1
    - Dst: SM3_E
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:196,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:197,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:198,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:199,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:200,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:201,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:202,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:203,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:204,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:205,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:206,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:207,1
    - Dst: R2
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 128
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 221
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 221
    functionName: Botan::SM3::compress_n
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - BufferSlicer::take
    - R2
    - load_be
    - R1
    - SM3_E
    linkageType: ''
    returnType: void
    signature: void SM3::compress_n(digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: Botan::SM3::init
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void SM3::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SM3>
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: Botan::SM3::new_object
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SM3>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SM3::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SM3>
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: Botan::SM3::copy_state
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SM3>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SM3::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: Botan::SM3::add_data
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void SM3::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/sm3/sm3.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: Botan::SM3::final_result
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void SM3::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::SM3::name
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::SM3::output_length
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::SM3::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SM3::clear
      Src: /src/botan/src/lib/hash/sm3/sm3.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::SM3::clear
    functionSourceFile: /src/botan/src/lib/hash/sm3/sm3.h
    functionUses: 1
    functionsReached:
    - Botan::SM3::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:27,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ' A'
    - B
    - ' C'
    - D
    - E
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: Botan::F1
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void F1(uint32_t& A, uint32_t B, uint32_t& C, uint32_t D, uint32_t
      E, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:36,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:37,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ' A'
    - B
    - ' C'
    - D
    - E
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: Botan::F2
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    - Botan::choose
    linkageType: ''
    returnType: void
    signature: void F2(uint32_t& A, uint32_t B, uint32_t& C, uint32_t D, uint32_t
      E, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:47,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ' A'
    - B
    - ' C'
    - D
    - E
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: Botan::F3
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void F3(uint32_t& A, uint32_t B, uint32_t& C, uint32_t D, uint32_t
      E, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:56,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:57,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ' A'
    - B
    - ' C'
    - D
    - E
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: Botan::F4
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    - Botan::choose
    linkageType: ''
    returnType: void
    signature: void F4(uint32_t& A, uint32_t B, uint32_t& C, uint32_t D, uint32_t
      E, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:67,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ' A'
    - B
    - ' C'
    - D
    - E
    - M
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: Botan::F5
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void F5(uint32_t& A, uint32_t B, uint32_t& C, uint32_t D, uint32_t
      E, uint32_t M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_le
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:84,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:84,1
    - Dst: F1<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:91,1
    - Dst: F5< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:92,1
    - Dst: F1<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:93,1
    - Dst: F5< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:94,1
    - Dst: F1<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:95,1
    - Dst: F5< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:96,1
    - Dst: F1<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:97,1
    - Dst: F5<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:98,1
    - Dst: F1< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:99,1
    - Dst: F5<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:100,1
    - Dst: F1< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:101,1
    - Dst: F5<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:102,1
    - Dst: F1< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:103,1
    - Dst: F5<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:104,1
    - Dst: F1< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:105,1
    - Dst: F5< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:106,1
    - Dst: F1<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:107,1
    - Dst: F5< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:108,1
    - Dst: F1<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:109,1
    - Dst: F5< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:110,1
    - Dst: F1<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:111,1
    - Dst: F5< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:112,1
    - Dst: F1<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:113,1
    - Dst: F5<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:114,1
    - Dst: F1< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:115,1
    - Dst: F5<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:116,1
    - Dst: F1< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:117,1
    - Dst: F5<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:118,1
    - Dst: F1< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:119,1
    - Dst: F5<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:120,1
    - Dst: F1< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:121,1
    - Dst: F5< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:122,1
    - Dst: F2< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:124,1
    - Dst: F4< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:125,1
    - Dst: F2< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:126,1
    - Dst: F4<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:127,1
    - Dst: F2< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:128,1
    - Dst: F4<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:129,1
    - Dst: F2<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:130,1
    - Dst: F4< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:131,1
    - Dst: F2<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:132,1
    - Dst: F4<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:133,1
    - Dst: F2< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:134,1
    - Dst: F4< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:135,1
    - Dst: F2< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:136,1
    - Dst: F4< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:137,1
    - Dst: F2<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:138,1
    - Dst: F4<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:139,1
    - Dst: F2< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:140,1
    - Dst: F4< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:141,1
    - Dst: F2<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:142,1
    - Dst: F4< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:143,1
    - Dst: F2<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:144,1
    - Dst: F4<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:145,1
    - Dst: F2< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:146,1
    - Dst: F4< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:147,1
    - Dst: F2<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:148,1
    - Dst: F4< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:149,1
    - Dst: F2< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:150,1
    - Dst: F4<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:151,1
    - Dst: F2<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:152,1
    - Dst: F4<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:153,1
    - Dst: F2<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:154,1
    - Dst: F4<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:155,1
    - Dst: F3<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:157,1
    - Dst: F3< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:158,1
    - Dst: F3<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:159,1
    - Dst: F3< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:160,1
    - Dst: F3< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:161,1
    - Dst: F3<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:162,1
    - Dst: F3< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:163,1
    - Dst: F3<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:164,1
    - Dst: F3<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:165,1
    - Dst: F3< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:166,1
    - Dst: F3< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:167,1
    - Dst: F3< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:168,1
    - Dst: F3<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:169,1
    - Dst: F3< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:170,1
    - Dst: F3<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:171,1
    - Dst: F3<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:172,1
    - Dst: F3<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:173,1
    - Dst: F3<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:174,1
    - Dst: F3< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:175,1
    - Dst: F3<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:176,1
    - Dst: F3<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:177,1
    - Dst: F3< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:178,1
    - Dst: F3< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:179,1
    - Dst: F3<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:180,1
    - Dst: F3< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:181,1
    - Dst: F3<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:182,1
    - Dst: F3<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:183,1
    - Dst: F3<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:184,1
    - Dst: F3< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:185,1
    - Dst: F3< 7>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:186,1
    - Dst: F3< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:187,1
    - Dst: F3< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:188,1
    - Dst: F4<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:190,1
    - Dst: F2<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:191,1
    - Dst: F4<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:192,1
    - Dst: F2< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:193,1
    - Dst: F4<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:194,1
    - Dst: F2< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:195,1
    - Dst: F4<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:196,1
    - Dst: F2<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:197,1
    - Dst: F4<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:198,1
    - Dst: F2<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:199,1
    - Dst: F4<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:200,1
    - Dst: F2<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:201,1
    - Dst: F4< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:202,1
    - Dst: F2< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:203,1
    - Dst: F4< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:204,1
    - Dst: F2<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:205,1
    - Dst: F4< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:206,1
    - Dst: F2< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:207,1
    - Dst: F4<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:208,1
    - Dst: F2< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:209,1
    - Dst: F4< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:210,1
    - Dst: F2<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:211,1
    - Dst: F4< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:212,1
    - Dst: F2< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:213,1
    - Dst: F4< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:214,1
    - Dst: F2<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:215,1
    - Dst: F4< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:216,1
    - Dst: F2< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:217,1
    - Dst: F4< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:218,1
    - Dst: F2<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:219,1
    - Dst: F4<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:220,1
    - Dst: F2< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:221,1
    - Dst: F5< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:223,1
    - Dst: F1< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:224,1
    - Dst: F5<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:225,1
    - Dst: F1< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:226,1
    - Dst: F5< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:227,1
    - Dst: F1<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:228,1
    - Dst: F5<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:229,1
    - Dst: F1< 9>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:230,1
    - Dst: F5< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:231,1
    - Dst: F1<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:232,1
    - Dst: F5< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:233,1
    - Dst: F1< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:234,1
    - Dst: F5<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:235,1
    - Dst: F1<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:236,1
    - Dst: F5<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:237,1
    - Dst: F1< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:238,1
    - Dst: F5< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:239,1
    - Dst: F1< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:240,1
    - Dst: F5<12>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:241,1
    - Dst: F1<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:242,1
    - Dst: F5<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:243,1
    - Dst: F1< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:244,1
    - Dst: F5<14>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:245,1
    - Dst: F1< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:246,1
    - Dst: F5<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:247,1
    - Dst: F1<15>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:248,1
    - Dst: F5< 8>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:249,1
    - Dst: F1<13>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:250,1
    - Dst: F5< 5>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:251,1
    - Dst: F1<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:252,1
    - Dst: F5< 6>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:253,1
    - Dst: F1<11>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 170
    argCount: 3
    argNames:
    - ' digest'
    - input
    - blocks
    argTypes:
    - digest_type
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 265
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 265
    functionName: Botan::RIPEMD_160::compress_n
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - F3<13>
    - F1< 8>
    - F5< 7>
    - F5< 9>
    - F4< 6>
    - F2< 9>
    - F1<15>
    - F2< 6>
    - F2< 8>
    - load_le
    - F4<15>
    - F4<14>
    - F1< 5>
    - F1< 6>
    - F3< 5>
    - F4<11>
    - F3< 9>
    - F5< 8>
    - F2< 5>
    - F4<13>
    - F3< 8>
    - F2<14>
    - F4<12>
    - F1< 7>
    - F1<12>
    - F2< 7>
    - F5<13>
    - F5< 6>
    - F5<12>
    - F2<15>
    - F5<14>
    - F4< 5>
    - BufferSlicer::take
    - F4< 8>
    - F1<14>
    - F3<11>
    - F3< 6>
    - F3< 7>
    - F3<14>
    - F2<12>
    - F1<13>
    - F4< 9>
    - F5<15>
    - F2<13>
    - F5<11>
    - F1<11>
    - F4< 7>
    - F2<11>
    - F3<15>
    - F1< 9>
    - F5< 5>
    - F3<12>
    linkageType: ''
    returnType: void
    signature: void RIPEMD_160::compress_n(digest_type& digest, std::span<const uint8_t>
      input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' digest'
    argTypes:
    - digest_type
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: Botan::RIPEMD_160::init
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void RIPEMD_160::init(digest_type& digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RIPEMD_160>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: Botan::RIPEMD_160::new_object
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RIPEMD_160>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> RIPEMD_160::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RIPEMD_160>
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: Botan::RIPEMD_160::copy_state
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RIPEMD_160>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> RIPEMD_160::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: Botan::RIPEMD_160::add_data
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void RIPEMD_160::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/hash/rmd160/rmd160.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: Botan::RIPEMD_160::final_result
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: void
    signature: void RIPEMD_160::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::RIPEMD_160::name
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::RIPEMD_160::output_length
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::RIPEMD_160::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RIPEMD_160::clear
      Src: /src/botan/src/lib/hash/rmd160/rmd160.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::RIPEMD_160::clear
    functionSourceFile: /src/botan/src/lib/hash/rmd160/rmd160.h
    functionUses: 1
    functionsReached:
    - Botan::RIPEMD_160::clear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan::GOST_34_11::name
    functionSourceFile: /src/botan/src/lib/hash/gost_3411/gost_3411.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::GOST_34_11::output_length
    functionSourceFile: /src/botan/src/lib/hash/gost_3411/gost_3411.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::GOST_34_11::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/gost_3411/gost_3411.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<GOST_34_11>
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::GOST_34_11::new_object
    functionSourceFile: /src/botan/src/lib/hash/gost_3411/gost_3411.h
    functionUses: 0
    functionsReached:
    - std::make_unique<GOST_34_11>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GOST_28147_89_Params
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: Botan::GOST_34_11::GOST_34_11
    functionSourceFile: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp
    functionUses: 0
    functionsReached:
    - GOST_28147_89_Params
    linkageType: ''
    returnType: void
    signature: void GOST_34_11::GOST_34_11()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GOST_34_11::clear
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:23,1
    - Dst: zeroise
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:24,1
    - Dst: zeroise
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:25,1
    - Dst: Botan::GOST_34_11::clear
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: Botan::GOST_34_11::clear
    functionSourceFile: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp
    functionUses: 1
    functionsReached:
    - zeroise
    - Botan::GOST_34_11::clear
    linkageType: ''
    returnType: void
    signature: void GOST_34_11::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<GOST_34_11>
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::GOST_34_11::copy_state
    functionSourceFile: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<GOST_34_11>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> GOST_34_11::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:40,1
    - Dst: handle_unaligned_data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:41,1
    - Dst: Botan::GOST_34_11::compress_n
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:42,1
    - Dst: auto::data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:42,1
    - Dst: in_alignment
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:45,1
    - Dst: Botan::GOST_34_11::compress_n
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:48,1
    - Dst: data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:48,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: Botan::GOST_34_11::add_data
    functionSourceFile: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp
    functionUses: 0
    functionsReached:
    - in_alignment
    - data
    - handle_unaligned_data
    - auto::data
    - BufferSlicer::empty
    - std::span<const uint8_t>::size
    - Botan::GOST_34_11::compress_n
    linkageType: ''
    returnType: void
    signature: void GOST_34_11::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:63,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:64,1
    - Dst: load_be
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:70,1
    - Dst: data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:70,1
    - Dst: load_be
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:71,1
    - Dst: get_byte_var
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:80,1
    - Dst: set_key
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:84,1
    - Dst: encrypt
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:85,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:151,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:156,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:160,1
    - Dst: data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:160,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:196,1
    - Dst: data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:196,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 107
    argCount: 2
    argNames:
    - input
    - blocks
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 198
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 198
    functionName: Botan::GOST_34_11::compress_n
    functionSourceFile: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp
    functionUses: 1
    functionsReached:
    - get_byte<0>
    - data
    - get_byte<1>
    - load_be
    - set_key
    - copy_mem
    - xor_buf
    - get_byte_var
    - encrypt
    linkageType: ''
    returnType: void
    signature: void GOST_34_11::compress_n(const uint8_t input[], size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: in_alignment
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:204,1
    - Dst: fill_up_with_zeros
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:205,1
    - Dst: Botan::GOST_34_11::compress_n
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:206,1
    - Dst: consume
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:206,1
    - Dst: store_le
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:211,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:211,1
    - Dst: Botan::GOST_34_11::compress_n
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:215,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:215,1
    - Dst: Botan::GOST_34_11::compress_n
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:216,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:216,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:218,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:218,1
    - Dst: data
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:218,1
    - Dst: Botan::GOST_34_11::clear
      Src: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: Botan::GOST_34_11::final_result
    functionSourceFile: /src/botan/src/lib/hash/gost_3411/gost_3411.cpp
    functionUses: 0
    functionsReached:
    - consume
    - secure_vector::data
    - in_alignment
    - data
    - std::span<uint8_t>::data
    - copy_mem
    - store_le
    - fill_up_with_zeros
    - Botan::GOST_34_11::compress_n
    - Botan::GOST_34_11::clear
    linkageType: ''
    returnType: void
    signature: void GOST_34_11::final_result(std::span<uint8_t> out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Keccak_1600>
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: Botan::Keccak_1600::copy_state
    functionSourceFile: /src/botan/src/lib/hash/keccak/keccak.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Keccak_1600>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Keccak_1600::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:24,1
    - Dst: fmt
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:24,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - output_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: Botan::Keccak_1600::Keccak_1600
    functionSourceFile: /src/botan/src/lib/hash/keccak/keccak.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - fmt
    linkageType: ''
    returnType: void
    signature: void Keccak_1600::Keccak_1600(size_t output_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::Keccak_1600::name
    functionSourceFile: /src/botan/src/lib/hash/keccak/keccak.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string Keccak_1600::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Keccak_1600>
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::Keccak_1600::new_object
    functionSourceFile: /src/botan/src/lib/hash/keccak/keccak.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Keccak_1600>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> Keccak_1600::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Keccak_1600::clear
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::Keccak_1600::clear
    functionSourceFile: /src/botan/src/lib/hash/keccak/keccak.cpp
    functionUses: 1
    functionsReached:
    - Botan::Keccak_1600::clear
    linkageType: ''
    returnType: void
    signature: void Keccak_1600::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Keccak_1600::provider
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::Keccak_1600::provider
    functionSourceFile: /src/botan/src/lib/hash/keccak/keccak.cpp
    functionUses: 1
    functionsReached:
    - Botan::Keccak_1600::provider
    linkageType: ''
    returnType: std::string
    signature: std::string Keccak_1600::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absorb
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::Keccak_1600::add_data
    functionSourceFile: /src/botan/src/lib/hash/keccak/keccak.cpp
    functionUses: 0
    functionsReached:
    - absorb
    linkageType: ''
    returnType: void
    signature: void Keccak_1600::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finish
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:49,1
    - Dst: squeeze
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:50,1
    - Dst: Botan::Keccak_1600::clear
      Src: /src/botan/src/lib/hash/keccak/keccak.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: Botan::Keccak_1600::final_result
    functionSourceFile: /src/botan/src/lib/hash/keccak/keccak.cpp
    functionUses: 0
    functionsReached:
    - squeeze
    - Botan::Keccak_1600::clear
    - finish
    linkageType: ''
    returnType: void
    signature: void Keccak_1600::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: byte_rate
      Src: /src/botan/src/lib/hash/keccak/keccak.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::Keccak_1600::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/keccak/keccak.h
    functionUses: 0
    functionsReached:
    - byte_rate
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Botan::Keccak_1600::output_length
    functionSourceFile: /src/botan/src/lib/hash/keccak/keccak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:21,1
    - Dst: fmt
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:21,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - output_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: Botan::SHA_3::SHA_3
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - fmt
    linkageType: ''
    returnType: void
    signature: void SHA_3::SHA_3(size_t output_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::SHA_3::name
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string SHA_3::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_3::provider
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan::SHA_3::provider
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.cpp
    functionUses: 1
    functionsReached:
    - Botan::SHA_3::provider
    linkageType: ''
    returnType: std::string
    signature: std::string SHA_3::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_3>
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::SHA_3::copy_state
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_3>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_3::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHA_3>
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::SHA_3::new_object
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SHA_3>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> SHA_3::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHA_3::clear
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::SHA_3::clear
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.cpp
    functionUses: 1
    functionsReached:
    - Botan::SHA_3::clear
    linkageType: ''
    returnType: void
    signature: void SHA_3::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absorb
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::SHA_3::add_data
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.cpp
    functionUses: 0
    functionsReached:
    - absorb
    linkageType: ''
    returnType: void
    signature: void SHA_3::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finish
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:50,1
    - Dst: squeeze
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:51,1
    - Dst: Botan::SHA_3::clear
      Src: /src/botan/src/lib/hash/sha3/sha3.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Botan::SHA_3::final_result
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.cpp
    functionUses: 0
    functionsReached:
    - squeeze
    - Botan::SHA_3::clear
    - finish
    linkageType: ''
    returnType: void
    signature: void SHA_3::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: byte_rate
      Src: /src/botan/src/lib/hash/sha3/sha3.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::SHA_3::hash_block_size
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.h
    functionUses: 0
    functionsReached:
    - byte_rate
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::SHA_3::output_length
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::SHA_3_224::SHA_3_224
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA_3_224()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::SHA_3_256::SHA_3_256
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA_3_256()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::SHA_3_384::SHA_3_384
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA_3_384()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::SHA_3_512::SHA_3_512
    functionSourceFile: /src/botan/src/lib/hash/sha3/sha3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA_3_512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_hash_sha512
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:16,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:16,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:17,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:17,1
    - Dst: Botan::Sodium::crypto_scalarmult_curve25519_base
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pk
    - sk
    - seed
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_seed_keypair
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_box.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - secure_vector::data
    - Botan::Sodium::crypto_scalarmult_curve25519_base
    - Botan::Sodium::crypto_hash_sha512
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_box_curve25519xsalsa20poly1305_seed_keypair(uint8_t
      pk[32], uint8_t sk[32], const uint8_t seed[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:22,1
    - Dst: Botan::Sodium::crypto_scalarmult_curve25519_base
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_keypair
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_box.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_scalarmult_curve25519_base
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_box_curve25519xsalsa20poly1305_keypair(uint8_t pk[32],
      uint8_t sk[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_scalarmult_curve25519
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:30,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:30,1
    - Dst: Botan::Sodium::crypto_core_hsalsa20
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:34,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_beforenm
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_box.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - Botan::Sodium::crypto_scalarmult_curve25519
    - Botan::Sodium::crypto_core_hsalsa20
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_box_curve25519xsalsa20poly1305_beforenm(uint8_t
      key[], const uint8_t pk[32], const uint8_t sk[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_beforenm
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:45,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:45,1
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_afternm
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:49,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - ctext
    - ptext
    - ptext_len
    - nonce
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_box.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_afternm
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_beforenm
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_box_curve25519xsalsa20poly1305(uint8_t ctext[],\n
      \                                                 const uint8_t ptext[],\n                                                  size_t
      ptext_len,\n                                                  const uint8_t
      nonce[],\n                                                  const uint8_t pk[32],\n
      \                                                 const uint8_t sk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_beforenm
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:60,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:60,1
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_open_afternm
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:64,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - ptext
    - ctext
    - ctext_len
    - nonce
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_open
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_box.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_beforenm
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_open_afternm
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_box_curve25519xsalsa20poly1305_open(uint8_t ptext[],\n
      \                                                      const uint8_t ctext[],\n
      \                                                      size_t ctext_len,\n                                                       const
      uint8_t nonce[],\n                                                       const
      uint8_t pk[32],\n                                                       const
      uint8_t sk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_beforenm
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:76,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:76,1
    - Dst: Botan::Sodium::crypto_box_detached_afternm
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:80,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - ctext
    - mac
    - ptext
    - ptext_len
    - nonce
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: Botan::Sodium::crypto_box_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_box.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_box_beforenm
    - secure_vector::data
    - Botan::Sodium::crypto_box_detached_afternm
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_box_detached(uint8_t ctext[],\n                                uint8_t
      mac[],\n                                const uint8_t ptext[],\n                                size_t
      ptext_len,\n                                const uint8_t nonce[],\n                                const
      uint8_t pk[32],\n                                const uint8_t sk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_beforenm
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:92,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:92,1
    - Dst: Botan::Sodium::crypto_box_open_detached_afternm
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:96,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_box.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - ptext
    - ctext
    - mac
    - ctext_len
    - nonce
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: Botan::Sodium::crypto_box_open_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_box.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_box_beforenm
    - secure_vector::data
    - Botan::Sodium::crypto_box_open_detached_afternm
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_box_open_detached(uint8_t ptext[],\n                                     const
      uint8_t ctext[],\n                                     const uint8_t mac[],\n
      \                                    size_t ctext_len,\n                                     const
      uint8_t nonce[],\n                                     const uint8_t pk[32],\n
      \                                    const uint8_t sk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: Botan::Sodium::sodium_version_string
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * sodium_version_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: Botan::Sodium::sodium_library_version_major
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sodium_library_version_major()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: Botan::Sodium::sodium_library_version_minor
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sodium_library_version_minor()
  - 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: Botan::Sodium::sodium_library_minimal
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sodium_library_minimal()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: Botan::Sodium::sodium_init
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sodium_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: Botan::Sodium::randombytes_seedbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t randombytes_seedbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: Botan::Sodium::randombytes_random
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t randombytes_random()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: Botan::Sodium::randombytes_stir
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void randombytes_stir()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: Botan::Sodium::randombytes_close
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int randombytes_close()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: Botan::Sodium::randombytes_implementation_name
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * randombytes_implementation_name()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: Botan::Sodium::randombytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void randombytes(uint8_t buf[], size_t buf_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_xsalsa20poly1305_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_noncebytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_xsalsa20poly1305_noncebytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_macbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_xsalsa20poly1305_macbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_xsalsa20poly1305_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_secretbox_xsalsa20poly1305_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_boxzerobytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_xsalsa20poly1305_boxzerobytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_zerobytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_xsalsa20poly1305_zerobytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: Botan::Sodium::crypto_secretbox_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: Botan::Sodium::crypto_secretbox_noncebytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_noncebytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: Botan::Sodium::crypto_secretbox_macbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_macbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: Botan::Sodium::crypto_secretbox_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: Botan::Sodium::crypto_secretbox_primitive
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * crypto_secretbox_primitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_secretbox_detached
      Src: /src/botan/src/lib/compat/sodium/sodium.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctext
    - ptext
    - ptext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: Botan::Sodium::crypto_secretbox_easy
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_secretbox_detached
    linkageType: ''
    returnType: int
    signature: "int crypto_secretbox_easy(\n   uint8_t ctext[], const uint8_t ptext[],
      size_t ptext_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_secretbox_open_detached
      Src: /src/botan/src/lib/compat/sodium/sodium.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - out
    - ctext
    - ctext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: Botan::Sodium::crypto_secretbox_open_easy
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_secretbox_open_detached
    linkageType: ''
    returnType: int
    signature: "int crypto_secretbox_open_easy(\n   uint8_t out[], const uint8_t ctext[],
      size_t ctext_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: Botan::Sodium::crypto_secretbox_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_secretbox_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: Botan::Sodium::crypto_secretbox_zerobytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_zerobytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: Botan::Sodium::crypto_secretbox_boxzerobytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_secretbox_boxzerobytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305
      Src: /src/botan/src/lib/compat/sodium/sodium.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctext
    - ptext
    - ptext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: Botan::Sodium::crypto_secretbox
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305
    linkageType: ''
    returnType: int
    signature: "int crypto_secretbox(\n   uint8_t ctext[], const uint8_t ptext[],
      size_t ptext_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_open
      Src: /src/botan/src/lib/compat/sodium/sodium.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptext
    - ctext
    - ctext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: Botan::Sodium::crypto_secretbox_open
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_open
    linkageType: ''
    returnType: int
    signature: "int crypto_secretbox_open(\n   uint8_t ptext[], const uint8_t ctext[],
      size_t ctext_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 365
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_chacha20poly1305_ietf_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_nsecbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_chacha20poly1305_ietf_nsecbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_chacha20poly1305_ietf_npubbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_abytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_chacha20poly1305_ietf_abytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_chacha20poly1305_ietf_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_aead_chacha20poly1305_ietf_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_chacha20poly1305_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 438
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 438
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_nsecbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_chacha20poly1305_nsecbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 442
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_chacha20poly1305_npubbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_abytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_chacha20poly1305_abytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_chacha20poly1305_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 499
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 499
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_aead_chacha20poly1305_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 505
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 505
    functionName: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_xchacha20poly1305_ietf_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_nsecbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_xchacha20poly1305_ietf_nsecbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 513
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionName: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_xchacha20poly1305_ietf_npubbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 517
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 517
    functionName: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_abytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_xchacha20poly1305_ietf_abytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_aead_xchacha20poly1305_ietf_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 570
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 570
    functionName: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_aead_xchacha20poly1305_ietf_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 576
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_seedbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_curve25519xsalsa20poly1305_seedbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_publickeybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_curve25519xsalsa20poly1305_publickeybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 584
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_secretkeybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_curve25519xsalsa20poly1305_secretkeybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 588
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 588
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_beforenmbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_curve25519xsalsa20poly1305_beforenmbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 592
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 592
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_noncebytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_curve25519xsalsa20poly1305_noncebytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 596
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_macbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_curve25519xsalsa20poly1305_macbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 600
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 600
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_curve25519xsalsa20poly1305_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 604
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 604
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_boxzerobytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_curve25519xsalsa20poly1305_boxzerobytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_zerobytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_curve25519xsalsa20poly1305_zerobytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305
      Src: /src/botan/src/lib/compat/sodium/sodium.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctext
    - ptext
    - ptext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 638
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 638
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_afternm
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305
    linkageType: ''
    returnType: int
    signature: "int crypto_box_curve25519xsalsa20poly1305_afternm(\n   uint8_t ctext[],
      const uint8_t ptext[], size_t ptext_len, const uint8_t nonce[], const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_open
      Src: /src/botan/src/lib/compat/sodium/sodium.h:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptext
    - ctext
    - ctext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 643
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 643
    functionName: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_open_afternm
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_open
    linkageType: ''
    returnType: int
    signature: "int crypto_box_curve25519xsalsa20poly1305_open_afternm(\n   uint8_t
      ptext[], const uint8_t ctext[], size_t ctext_len, const uint8_t nonce[], const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 649
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 649
    functionName: Botan::Sodium::crypto_box_seedbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_seedbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 653
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 653
    functionName: Botan::Sodium::crypto_box_publickeybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_publickeybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 657
    functionName: Botan::Sodium::crypto_box_secretkeybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_secretkeybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 661
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 661
    functionName: Botan::Sodium::crypto_box_noncebytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_noncebytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 665
    functionName: Botan::Sodium::crypto_box_macbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_macbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 669
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 669
    functionName: Botan::Sodium::crypto_box_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 673
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 673
    functionName: Botan::Sodium::crypto_box_beforenmbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_beforenmbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 677
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 677
    functionName: Botan::Sodium::crypto_box_primitive
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * crypto_box_primitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_seed_keypair
      Src: /src/botan/src/lib/compat/sodium/sodium.h:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pk
    - sk
    - seed
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 681
      start: 679
    functionDepth: 2
    functionLinenumber: 679
    functionLinenumberEnd: 681
    functionName: Botan::Sodium::crypto_box_seed_keypair
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_seed_keypair
    linkageType: ''
    returnType: int
    signature: int crypto_box_seed_keypair(uint8_t pk[32], uint8_t sk[32], const uint8_t
      seed[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_keypair
      Src: /src/botan/src/lib/compat/sodium/sodium.h:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 685
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 685
    functionName: Botan::Sodium::crypto_box_keypair
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_keypair
    linkageType: ''
    returnType: int
    signature: int crypto_box_keypair(uint8_t pk[32], uint8_t sk[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_detached
      Src: /src/botan/src/lib/compat/sodium/sodium.h:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctext
    - ptext
    - ptext_len
    - nonce
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 712
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 712
    functionName: Botan::Sodium::crypto_box_easy
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_box_detached
    linkageType: ''
    returnType: int
    signature: "int crypto_box_easy(uint8_t ctext[],\n                           const
      uint8_t ptext[],\n                           size_t ptext_len,\n                           const
      uint8_t nonce[],\n                           const uint8_t pk[32],\n                           const
      uint8_t sk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_open_detached
      Src: /src/botan/src/lib/compat/sodium/sodium.h:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - ptext
    - ctext
    - ctext_len
    - nonce
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 726
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 726
    functionName: Botan::Sodium::crypto_box_open_easy
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_box_open_detached
    linkageType: ''
    returnType: int
    signature: "int crypto_box_open_easy(uint8_t ptext[],\n                                const
      uint8_t ctext[],\n                                size_t ctext_len,\n                                const
      uint8_t nonce[],\n                                const uint8_t pk[32],\n                                const
      uint8_t sk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_beforenm
      Src: /src/botan/src/lib/compat/sodium/sodium.h:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 730
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 730
    functionName: Botan::Sodium::crypto_box_beforenm
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 2
    functionsReached:
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_beforenm
    linkageType: ''
    returnType: int
    signature: int crypto_box_beforenm(uint8_t key[], const uint8_t pk[32], const
      uint8_t sk[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_afternm
      Src: /src/botan/src/lib/compat/sodium/sodium.h:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctext
    - ptext
    - ptext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 735
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 735
    functionName: Botan::Sodium::crypto_box_afternm
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_afternm
    linkageType: ''
    returnType: int
    signature: "int crypto_box_afternm(\n   uint8_t ctext[], const uint8_t ptext[],
      size_t ptext_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_open_afternm
      Src: /src/botan/src/lib/compat/sodium/sodium.h:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptext
    - ctext
    - ctext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 740
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 740
    functionName: Botan::Sodium::crypto_box_open_afternm
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_open_afternm
    linkageType: ''
    returnType: int
    signature: "int crypto_box_open_afternm(\n   uint8_t ptext[], const uint8_t ctext[],
      size_t ctext_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_secretbox_open_detached
      Src: /src/botan/src/lib/compat/sodium/sodium.h:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ptext
    - ctext
    - mac
    - ctext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 749
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 749
    functionName: Botan::Sodium::crypto_box_open_detached_afternm
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_secretbox_open_detached
    linkageType: ''
    returnType: int
    signature: "int crypto_box_open_detached_afternm(uint8_t ptext[],\n                                            const
      uint8_t ctext[],\n                                            const uint8_t
      mac[],\n                                            size_t ctext_len,\n                                            const
      uint8_t nonce[],\n                                            const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_open_detached_afternm
      Src: /src/botan/src/lib/compat/sodium/sodium.h:757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ptext
    - ctext
    - ctext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 759
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 759
    functionName: Botan::Sodium::crypto_box_open_easy_afternm
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_box_open_detached_afternm
    linkageType: ''
    returnType: int
    signature: "int crypto_box_open_easy_afternm(\n   uint8_t ptext[], const uint8_t
      ctext[], size_t ctext_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_secretbox_detached
      Src: /src/botan/src/lib/compat/sodium/sodium.h:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctext
    - mac
    - ptext
    - ptext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 768
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 768
    functionName: Botan::Sodium::crypto_box_detached_afternm
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_secretbox_detached
    linkageType: ''
    returnType: int
    signature: "int crypto_box_detached_afternm(uint8_t ctext[],\n                                       uint8_t
      mac[],\n                                       const uint8_t ptext[],\n                                       size_t
      ptext_len,\n                                       const uint8_t nonce[],\n
      \                                      const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_detached_afternm
      Src: /src/botan/src/lib/compat/sodium/sodium.h:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctext
    - ptext
    - ptext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 773
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 773
    functionName: Botan::Sodium::crypto_box_easy_afternm
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_box_detached_afternm
    linkageType: ''
    returnType: int
    signature: "int crypto_box_easy_afternm(\n   uint8_t ctext[], const uint8_t ptext[],
      size_t ptext_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 777
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 777
    functionName: Botan::Sodium::crypto_box_zerobytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_zerobytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 781
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 781
    functionName: Botan::Sodium::crypto_box_boxzerobytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_box_boxzerobytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305
      Src: /src/botan/src/lib/compat/sodium/sodium.h:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctext
    - ptext
    - ptext_len
    - nonce
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 790
      start: 783
    functionDepth: 3
    functionLinenumber: 783
    functionLinenumberEnd: 790
    functionName: Botan::Sodium::crypto_box
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305
    linkageType: ''
    returnType: int
    signature: "int crypto_box(uint8_t ctext[],\n                      const uint8_t
      ptext[],\n                      size_t ptext_len,\n                      const
      uint8_t nonce[],\n                      const uint8_t pk[32],\n                      const
      uint8_t sk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_open
      Src: /src/botan/src/lib/compat/sodium/sodium.h:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ptext
    - ctext
    - ctext_len
    - nonce
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 799
      start: 792
    functionDepth: 3
    functionLinenumber: 792
    functionLinenumberEnd: 799
    functionName: Botan::Sodium::crypto_box_open
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_box_curve25519xsalsa20poly1305_open
    linkageType: ''
    returnType: int
    signature: "int crypto_box_open(uint8_t ptext[],\n                           const
      uint8_t ctext[],\n                           size_t ctext_len,\n                           const
      uint8_t nonce[],\n                           const uint8_t pk[32],\n                           const
      uint8_t sk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 805
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 805
    functionName: Botan::Sodium::crypto_hash_sha512_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_hash_sha512_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 814
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 814
    functionName: Botan::Sodium::crypto_auth_hmacsha512_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_auth_hmacsha512_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 818
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 818
    functionName: Botan::Sodium::crypto_auth_hmacsha512_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_auth_hmacsha512_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 828
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 828
    functionName: Botan::Sodium::crypto_auth_hmacsha512_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_auth_hmacsha512_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 834
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 834
    functionName: Botan::Sodium::crypto_auth_hmacsha512256_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_auth_hmacsha512256_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 838
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 838
    functionName: Botan::Sodium::crypto_auth_hmacsha512256_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_auth_hmacsha512256_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 848
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 848
    functionName: Botan::Sodium::crypto_auth_hmacsha512256_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_auth_hmacsha512256_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 854
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 854
    functionName: Botan::Sodium::crypto_auth_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_auth_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 858
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 858
    functionName: Botan::Sodium::crypto_auth_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_auth_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 862
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 862
    functionName: Botan::Sodium::crypto_auth_primitive
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * crypto_auth_primitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_auth_hmacsha512256
      Src: /src/botan/src/lib/compat/sodium/sodium.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 866
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 866
    functionName: Botan::Sodium::crypto_auth
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_auth_hmacsha512256
    linkageType: ''
    returnType: int
    signature: int crypto_auth(uint8_t out[], const uint8_t in[], size_t in_len, const
      uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_auth_hmacsha512256_verify
      Src: /src/botan/src/lib/compat/sodium/sodium.h:869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mac
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 870
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 870
    functionName: Botan::Sodium::crypto_auth_verify
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_auth_hmacsha512256_verify
    linkageType: ''
    returnType: int
    signature: int crypto_auth_verify(const uint8_t mac[], const uint8_t in[], size_t
      in_len, const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 874
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 874
    functionName: Botan::Sodium::crypto_auth_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_auth_keygen(uint8_t k[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 880
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 880
    functionName: Botan::Sodium::crypto_hash_sha256_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_hash_sha256_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 889
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 889
    functionName: Botan::Sodium::crypto_auth_hmacsha256_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_auth_hmacsha256_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 893
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 893
    functionName: Botan::Sodium::crypto_auth_hmacsha256_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_auth_hmacsha256_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 903
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 903
    functionName: Botan::Sodium::crypto_auth_hmacsha256_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_auth_hmacsha256_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 909
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 909
    functionName: Botan::Sodium::crypto_stream_xsalsa20_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_xsalsa20_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 913
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 913
    functionName: Botan::Sodium::crypto_stream_xsalsa20_noncebytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_xsalsa20_noncebytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 917
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 917
    functionName: Botan::Sodium::crypto_stream_xsalsa20_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_xsalsa20_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 932
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 932
    functionName: Botan::Sodium::crypto_stream_xsalsa20_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_stream_xsalsa20_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 938
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 938
    functionName: Botan::Sodium::crypto_core_hsalsa20_outputbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_core_hsalsa20_outputbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 942
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 942
    functionName: Botan::Sodium::crypto_core_hsalsa20_inputbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_core_hsalsa20_inputbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 946
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 946
    functionName: Botan::Sodium::crypto_core_hsalsa20_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_core_hsalsa20_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 950
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 950
    functionName: Botan::Sodium::crypto_core_hsalsa20_constbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_core_hsalsa20_constbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 959
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 959
    functionName: Botan::Sodium::crypto_hash_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_hash_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_hash_sha512
      Src: /src/botan/src/lib/compat/sodium/sodium.h:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - in
    - in_len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 963
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 963
    functionName: Botan::Sodium::crypto_hash
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_hash_sha512
    linkageType: ''
    returnType: int
    signature: int crypto_hash(uint8_t out[], const uint8_t in[], size_t in_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 967
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 967
    functionName: Botan::Sodium::crypto_hash_primitive
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * crypto_hash_primitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 973
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 973
    functionName: Botan::Sodium::crypto_onetimeauth_poly1305_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_onetimeauth_poly1305_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 977
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 977
    functionName: Botan::Sodium::crypto_onetimeauth_poly1305_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_onetimeauth_poly1305_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 987
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 987
    functionName: Botan::Sodium::crypto_onetimeauth_poly1305_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_onetimeauth_poly1305_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 993
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 993
    functionName: Botan::Sodium::crypto_onetimeauth_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_onetimeauth_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 997
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 997
    functionName: Botan::Sodium::crypto_onetimeauth_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_onetimeauth_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1001
    functionName: Botan::Sodium::crypto_onetimeauth_primitive
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * crypto_onetimeauth_primitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_onetimeauth_poly1305
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1005
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1005
    functionName: Botan::Sodium::crypto_onetimeauth
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_onetimeauth_poly1305
    linkageType: ''
    returnType: int
    signature: int crypto_onetimeauth(uint8_t out[], const uint8_t in[], size_t in_len,
      const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_onetimeauth_poly1305_verify
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - h
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1009
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1009
    functionName: Botan::Sodium::crypto_onetimeauth_verify
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_onetimeauth_poly1305_verify
    linkageType: ''
    returnType: int
    signature: int crypto_onetimeauth_verify(const uint8_t h[], const uint8_t in[],
      size_t in_len, const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_onetimeauth_poly1305_keygen
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1013
      start: 1011
    functionDepth: 2
    functionLinenumber: 1011
    functionLinenumberEnd: 1013
    functionName: Botan::Sodium::crypto_onetimeauth_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_onetimeauth_poly1305_keygen
    linkageType: ''
    returnType: void
    signature: void crypto_onetimeauth_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1019
    functionName: Botan::Sodium::crypto_scalarmult_curve25519_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_scalarmult_curve25519_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1023
    functionName: Botan::Sodium::crypto_scalarmult_curve25519_scalarbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_scalarmult_curve25519_scalarbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_scalarmult_curve25519_bytes
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1035
    functionName: Botan::Sodium::crypto_scalarmult_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_scalarmult_curve25519_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_scalarmult_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_scalarmult_curve25519_scalarbytes
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1039
    functionName: Botan::Sodium::crypto_scalarmult_scalarbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_scalarmult_curve25519_scalarbytes
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_scalarmult_scalarbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1043
    functionName: Botan::Sodium::crypto_scalarmult_primitive
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * crypto_scalarmult_primitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_scalarmult_curve25519_base
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1047
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1047
    functionName: Botan::Sodium::crypto_scalarmult_base
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_scalarmult_curve25519_base
    linkageType: ''
    returnType: int
    signature: int crypto_scalarmult_base(uint8_t out[], const uint8_t scalar[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_scalarmult_curve25519
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - scalar
    - base
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1051
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1051
    functionName: Botan::Sodium::crypto_scalarmult
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_scalarmult_curve25519
    linkageType: ''
    returnType: int
    signature: int crypto_scalarmult(uint8_t out[], const uint8_t scalar[], const
      uint8_t base[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1057
    functionName: Botan::Sodium::crypto_stream_chacha20_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_chacha20_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1061
    functionName: Botan::Sodium::crypto_stream_chacha20_noncebytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_chacha20_noncebytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1065
    functionName: Botan::Sodium::crypto_stream_chacha20_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_chacha20_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1080
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1080
    functionName: Botan::Sodium::crypto_stream_chacha20_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_stream_chacha20_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1084
    functionName: Botan::Sodium::crypto_stream_chacha20_ietf_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_chacha20_ietf_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1088
    functionName: Botan::Sodium::crypto_stream_chacha20_ietf_noncebytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_chacha20_ietf_noncebytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1092
    functionName: Botan::Sodium::crypto_stream_chacha20_ietf_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_chacha20_ietf_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1107
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1107
    functionName: Botan::Sodium::crypto_stream_chacha20_ietf_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_stream_chacha20_ietf_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1113
    functionName: Botan::Sodium::crypto_stream_xchacha20_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_xchacha20_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1117
    functionName: Botan::Sodium::crypto_stream_xchacha20_noncebytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_xchacha20_noncebytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1121
    functionName: Botan::Sodium::crypto_stream_xchacha20_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_xchacha20_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1136
      start: 1134
    functionDepth: 1
    functionLinenumber: 1134
    functionLinenumberEnd: 1136
    functionName: Botan::Sodium::crypto_stream_xchacha20_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_stream_xchacha20_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1142
    functionName: Botan::Sodium::crypto_stream_salsa20_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_salsa20_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1146
    functionName: Botan::Sodium::crypto_stream_salsa20_noncebytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_salsa20_noncebytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1150
    functionName: Botan::Sodium::crypto_stream_salsa20_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_salsa20_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1165
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1165
    functionName: Botan::Sodium::crypto_stream_salsa20_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_stream_salsa20_keygen(uint8_t k[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_stream_xsalsa20_keybytes
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1171
    functionName: Botan::Sodium::crypto_stream_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_stream_xsalsa20_keybytes
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_stream_xsalsa20_noncebytes
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1173
    functionDepth: 1
    functionLinenumber: 1173
    functionLinenumberEnd: 1175
    functionName: Botan::Sodium::crypto_stream_noncebytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_stream_xsalsa20_noncebytes
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_noncebytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1179
    functionName: Botan::Sodium::crypto_stream_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_stream_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1183
    functionName: Botan::Sodium::crypto_stream_primitive
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * crypto_stream_primitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_stream_xsalsa20
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - out_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1187
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1187
    functionName: Botan::Sodium::crypto_stream
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_stream_xsalsa20
    linkageType: ''
    returnType: int
    signature: int crypto_stream(uint8_t out[], size_t out_len, const uint8_t nonce[24],
      const uint8_t key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_stream_xsalsa20_xor
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - in
    - in_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1192
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1192
    functionName: Botan::Sodium::crypto_stream_xor
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_stream_xsalsa20_xor
    linkageType: ''
    returnType: int
    signature: "int crypto_stream_xor(\n   uint8_t out[], const uint8_t in[], size_t
      in_len, const uint8_t nonce[24], const uint8_t key[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1196
      start: 1194
    functionDepth: 1
    functionLinenumber: 1194
    functionLinenumberEnd: 1196
    functionName: Botan::Sodium::crypto_stream_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_stream_keygen(uint8_t key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1202
    functionName: Botan::Sodium::crypto_shorthash_siphash24_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_shorthash_siphash24_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1206
    functionName: Botan::Sodium::crypto_shorthash_siphash24_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_shorthash_siphash24_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_shorthash_siphash24_bytes
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1215
    functionName: Botan::Sodium::crypto_shorthash_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_shorthash_siphash24_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_shorthash_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_shorthash_siphash24_keybytes
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1217
    functionDepth: 1
    functionLinenumber: 1217
    functionLinenumberEnd: 1219
    functionName: Botan::Sodium::crypto_shorthash_keybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_shorthash_siphash24_keybytes
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_shorthash_keybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1223
    functionName: Botan::Sodium::crypto_shorthash_primitive
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * crypto_shorthash_primitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_shorthash_siphash24
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - in
    - in_len
    - k
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1227
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1227
    functionName: Botan::Sodium::crypto_shorthash
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_shorthash_siphash24
    linkageType: ''
    returnType: int
    signature: int crypto_shorthash(uint8_t out[], const uint8_t in[], size_t in_len,
      const uint8_t k[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1231
      start: 1229
    functionDepth: 1
    functionLinenumber: 1229
    functionLinenumberEnd: 1231
    functionName: Botan::Sodium::crypto_shorthash_keygen
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: void
    signature: void crypto_shorthash_keygen(uint8_t k[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1237
    functionName: Botan::Sodium::crypto_sign_ed25519_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_sign_ed25519_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1241
    functionName: Botan::Sodium::crypto_sign_ed25519_seedbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_sign_ed25519_seedbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1245
    functionName: Botan::Sodium::crypto_sign_ed25519_publickeybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_sign_ed25519_publickeybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1249
    functionName: Botan::Sodium::crypto_sign_ed25519_secretkeybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_sign_ed25519_secretkeybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1253
    functionName: Botan::Sodium::crypto_sign_ed25519_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_sign_ed25519_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1272
    functionName: Botan::Sodium::crypto_sign_bytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_sign_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1276
    functionName: Botan::Sodium::crypto_sign_seedbytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_sign_seedbytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1280
    functionName: Botan::Sodium::crypto_sign_publickeybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_sign_publickeybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1284
    functionName: Botan::Sodium::crypto_sign_secretkeybytes
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_sign_secretkeybytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1288
    functionName: Botan::Sodium::crypto_sign_messagebytes_max
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_sign_messagebytes_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1292
    functionName: Botan::Sodium::crypto_sign_primitive
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * crypto_sign_primitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_sign_ed25519_seed_keypair
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pk
    - sk
    - seed
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1296
      start: 1294
    functionDepth: 1
    functionLinenumber: 1294
    functionLinenumberEnd: 1296
    functionName: Botan::Sodium::crypto_sign_seed_keypair
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_sign_ed25519_seed_keypair
    linkageType: ''
    returnType: int
    signature: int crypto_sign_seed_keypair(uint8_t pk[32], uint8_t sk[32], const
      uint8_t seed[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_sign_ed25519_keypair
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1300
      start: 1298
    functionDepth: 1
    functionLinenumber: 1298
    functionLinenumberEnd: 1300
    functionName: Botan::Sodium::crypto_sign_keypair
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_sign_ed25519_keypair
    linkageType: ''
    returnType: int
    signature: int crypto_sign_keypair(uint8_t pk[32], uint8_t sk[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_sign_ed25519_detached
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - sig_len
    - msg
    - msg_len
    - sk
    argTypes:
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1305
      start: 1302
    functionDepth: 1
    functionLinenumber: 1302
    functionLinenumberEnd: 1305
    functionName: Botan::Sodium::crypto_sign_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_sign_ed25519_detached
    linkageType: ''
    returnType: int
    signature: "int crypto_sign_detached(\n   uint8_t sig[], unsigned long long* sig_len,
      const uint8_t msg[], size_t msg_len, const uint8_t sk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_sign_ed25519_verify_detached
      Src: /src/botan/src/lib/compat/sodium/sodium.h:1308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sig
    - in
    - in_len
    - pk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1309
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1309
    functionName: Botan::Sodium::crypto_sign_verify_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_sign_ed25519_verify_detached
    linkageType: ''
    returnType: int
    signature: int crypto_sign_verify_detached(const uint8_t sig[], const uint8_t
      in[], size_t in_len, const uint8_t pk[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:25,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:26,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:27,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:28,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:31,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:32,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:33,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:34,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:36,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:37,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:38,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:39,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:41,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:42,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:43,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:44,1
    - Dst: Botan::Salsa20::hsalsa20
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:47,1
    - Dst: store_le
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:48,1
    - Dst: std::span<uint8_t, 32>
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - out
    - in
    - key
    - c
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 50
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 50
    functionName: Botan::Sodium::crypto_core_hsalsa20
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp
    functionUses: 1
    functionsReached:
    - load_le<uint32_t>
    - Botan::Salsa20::hsalsa20
    - std::span<uint8_t, 32>
    - store_le
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_core_hsalsa20(uint8_t out[], const uint8_t in[],
      const uint8_t key[], const uint8_t c[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Salsa20::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:54,1
    - Dst: Salsa20::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:55,1
    - Dst: Salsa20::write_keystream
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out
    - out_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: Botan::Sodium::crypto_stream_salsa20
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp
    functionUses: 1
    functionsReached:
    - Salsa20::set_key
    - Salsa20::set_iv
    - Salsa20::write_keystream
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_stream_salsa20(uint8_t out[], size_t out_len, const
      uint8_t nonce[], const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_stream_salsa20_xor_ic
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - in
    - in_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: Botan::Sodium::crypto_stream_salsa20_xor
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_stream_salsa20_xor_ic
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_stream_salsa20_xor(\n   uint8_t out[], const uint8_t
      in[], size_t in_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Salsa20::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:72,1
    - Dst: Salsa20::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:73,1
    - Dst: Salsa20::seek
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:74,1
    - Dst: Salsa20::cipher
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - out
    - in
    - in_len
    - nonce
    - ic
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint64_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: Botan::Sodium::crypto_stream_salsa20_xor_ic
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp
    functionUses: 1
    functionsReached:
    - Salsa20::set_key
    - Salsa20::seek
    - Salsa20::set_iv
    - Salsa20::cipher
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_stream_salsa20_xor_ic(\n   uint8_t out[], const
      uint8_t in[], size_t in_len, const uint8_t nonce[], uint64_t ic, const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Salsa20::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:81,1
    - Dst: Salsa20::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:82,1
    - Dst: Salsa20::write_keystream
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out
    - out_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: Botan::Sodium::crypto_stream_xsalsa20
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp
    functionUses: 2
    functionsReached:
    - Salsa20::set_key
    - Salsa20::set_iv
    - Salsa20::write_keystream
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_stream_xsalsa20(uint8_t out[], size_t out_len, const
      uint8_t nonce[], const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_stream_xsalsa20_xor_ic
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - in
    - in_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: Botan::Sodium::crypto_stream_xsalsa20_xor
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp
    functionUses: 2
    functionsReached:
    - Botan::Sodium::crypto_stream_xsalsa20_xor_ic
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_stream_xsalsa20_xor(\n   uint8_t out[], const uint8_t
      in[], size_t in_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Salsa20::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:99,1
    - Dst: Salsa20::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:100,1
    - Dst: Salsa20::seek
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:101,1
    - Dst: Salsa20::cipher
      Src: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - out
    - in
    - in_len
    - nonce
    - ic
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint64_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: Botan::Sodium::crypto_stream_xsalsa20_xor_ic
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_salsa.cpp
    functionUses: 1
    functionsReached:
    - Salsa20::set_key
    - Salsa20::seek
    - Salsa20::set_iv
    - Salsa20::cipher
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_stream_xsalsa20_xor_ic(\n   uint8_t out[], const
      uint8_t in[], size_t in_len, const uint8_t nonce[], uint64_t ic, const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:23,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:24,1
    - Dst: auto::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:25,1
    - Dst: auto::write_keystream
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:28,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:28,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:28,1
    - Dst: auto::cipher
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:30,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:32,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:33,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:34,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:35,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - ctext
    - ptext
    - ptext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 39
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 39
    functionName: Botan::Sodium::crypto_secretbox_xsalsa20poly1305
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp
    functionUses: 3
    functionsReached:
    - secure_vector::data
    - auto::final
    - secure_vector::size
    - clear_mem
    - auto::set_key
    - auto::write_keystream
    - auto::update
    - auto::set_iv
    - Botan::MessageAuthenticationCode::create_or_throw
    - auto::cipher
    - Botan::StreamCipher::create_or_throw
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_secretbox_xsalsa20poly1305(\n   uint8_t ctext[],
      const uint8_t ptext[], size_t ptext_len, const uint8_t nonce[], const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:47,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:48,1
    - Dst: auto::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:49,1
    - Dst: auto::write_keystream
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:52,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:52,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:52,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:54,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:55,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:56,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:57,1
    - Dst: Botan::CT::is_not_equal
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:59,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:59,1
    - Dst: auto::cipher
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:63,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - ptext
    - ctext
    - ctext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 67
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 67
    functionName: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_open
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp
    functionUses: 3
    functionsReached:
    - Botan::CT::is_not_equal
    - secure_vector::data
    - auto::final
    - secure_vector::size
    - clear_mem
    - auto::set_key
    - auto::write_keystream
    - auto::update
    - auto::set_iv
    - Botan::MessageAuthenticationCode::create_or_throw
    - auto::cipher
    - Botan::StreamCipher::create_or_throw
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_secretbox_xsalsa20poly1305_open(\n   uint8_t ptext[],
      const uint8_t ctext[], size_t ctext_len, const uint8_t nonce[], const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:75,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:76,1
    - Dst: auto::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:77,1
    - Dst: auto::write_keystream
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:80,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:80,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:80,1
    - Dst: auto::cipher
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:82,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:84,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:85,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:86,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - ctext
    - mac
    - ptext
    - ptext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: Botan::Sodium::crypto_secretbox_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp
    functionUses: 3
    functionsReached:
    - secure_vector::data
    - auto::final
    - secure_vector::size
    - auto::set_key
    - auto::write_keystream
    - auto::update
    - auto::set_iv
    - Botan::MessageAuthenticationCode::create_or_throw
    - auto::cipher
    - Botan::StreamCipher::create_or_throw
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_secretbox_detached(uint8_t ctext[],\n                                      uint8_t
      mac[],\n                                      const uint8_t ptext[],\n                                      size_t
      ptext_len,\n                                      const uint8_t nonce[],\n                                      const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:98,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:99,1
    - Dst: auto::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:100,1
    - Dst: auto::write_keystream
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:103,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:103,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:103,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:105,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:106,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:107,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:108,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:110,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:110,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:110,1
    - Dst: auto::cipher
      Src: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - ptext
    - ctext
    - mac
    - ctext_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 117
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 117
    functionName: Botan::Sodium::crypto_secretbox_open_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_secretbox.cpp
    functionUses: 3
    functionsReached:
    - secure_vector::data
    - auto::final
    - secure_vector::size
    - Botan::CT::is_equal
    - auto::set_key
    - auto::write_keystream
    - auto::update
    - auto::set_iv
    - Botan::MessageAuthenticationCode::create_or_throw
    - auto::cipher
    - Botan::StreamCipher::create_or_throw
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_secretbox_open_detached(uint8_t ptext[],\n                                           const
      uint8_t ctext[],\n                                           const uint8_t mac[],\n
      \                                          size_t ctext_len,\n                                           const
      uint8_t nonce[],\n                                           const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: system_rng
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:23,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan::Sodium::randombytes_buf
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 20
    functionsReached:
    - static_cast<uint8_t*>
    - system_rng
    linkageType: ''
    returnType: void
    signature: void Sodium::randombytes_buf(void* buf, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - upper_bound
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: Botan::Sodium::randombytes_uniform
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sodium::randombytes_buf
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Sodium::randombytes_uniform(uint32_t upper_bound)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:41,1
    - Dst: ChaCha::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:42,1
    - Dst: ChaCha::write_keystream
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:43,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - size
    - seed
    argTypes:
    - void*
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: Botan::Sodium::randombytes_buf_deterministic
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 1
    functionsReached:
    - ChaCha::write_keystream
    - static_cast<uint8_t*>
    - ChaCha::set_key
    - ChaCha::set_iv
    linkageType: ''
    returnType: void
    signature: void Sodium::randombytes_buf_deterministic(void* buf, size_t size,
      const uint8_t seed[randombytes_SEEDBYTES])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:47,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::Sodium::crypto_verify_16
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::is_equal
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_verify_16(const uint8_t x[16], const uint8_t y[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:51,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::Sodium::crypto_verify_32
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::is_equal
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_verify_32(const uint8_t x[32], const uint8_t y[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:55,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Botan::Sodium::crypto_verify_64
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::is_equal
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_verify_64(const uint8_t x[64], const uint8_t y[64])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: Botan::Sodium::sodium_memzero
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 0
    functionsReached:
    - secure_scrub_memory
    linkageType: ''
    returnType: void
    signature: void Sodium::sodium_memzero(void* ptr, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:63,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:63,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:63,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:65,1
    - Dst: auto::select
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - len
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: Botan::Sodium::sodium_memcmp
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan::CT::is_equal
    - static_cast<int>
    - static_cast<const uint8_t*>
    - auto::select
    linkageType: ''
    returnType: int
    signature: int Sodium::sodium_memcmp(const void* x, const void* y, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:76,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:77,1
    - Dst: auto::select
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:78,1
    - Dst: auto::select
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:78,1
    - Dst: static_cast<int8_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - x
    - y
    - len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: Botan::Sodium::sodium_compare
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 1
    functionsReached:
    - static_cast<int8_t>
    - Botan::bigint_ct_is_lt
    - Botan::BigInt::is_equal
    - auto::select
    linkageType: ''
    returnType: int
    signature: int Sodium::sodium_compare(const uint8_t x[], const uint8_t y[], size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:89,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - b
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: Botan::Sodium::sodium_is_zero
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 4
    functionsReached:
    - static_cast<int>
    - Botan::sha512_msg_expand
    linkageType: ''
    returnType: int
    signature: int Sodium::sodium_is_zero(const uint8_t b[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - b
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: Botan::Sodium::sodium_increment
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sodium::sodium_increment(uint8_t b[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: Botan::Sodium::sodium_add
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sodium::sodium_add(uint8_t a[], const uint8_t b[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_le
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: Botan::Sodium::sodium_malloc
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 0
    functionsReached:
    - store_le
    linkageType: ''
    returnType: void
    signature: void * Sodium::sodium_malloc(size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:128,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:128,1
    - Dst: free
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: Botan::Sodium::sodium_free
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 1
    functionsReached:
    - free
    - static_cast<size_t>
    - secure_scrub_memory
    linkageType: ''
    returnType: void
    signature: void Sodium::sodium_free(void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::sodium_malloc
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - count
    - size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: Botan::Sodium::sodium_allocarray
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sodium::sodium_malloc
    linkageType: ''
    returnType: void
    signature: void * Sodium::sodium_allocarray(size_t count, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OS::page_prohibit_access
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:143,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: Botan::Sodium::sodium_mprotect_noaccess
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 0
    functionsReached:
    - OS::page_prohibit_access
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int Sodium::sodium_mprotect_noaccess(void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OS::page_allow_access
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:153,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_utils.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: Botan::Sodium::sodium_mprotect_readwrite
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_utils.cpp
    functionUses: 0
    functionsReached:
    - OS::page_allow_access
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int Sodium::sodium_mprotect_readwrite(void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:16,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:17,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in
    - in_len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 3
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: Botan::Sodium::crypto_hash_sha512
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 3
    functionsReached:
    - auto::final
    - auto::update
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_hash_sha512(uint8_t out[64], const uint8_t in[],
      size_t in_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:23,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:24,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in
    - in_len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: Botan::Sodium::crypto_hash_sha256
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 1
    functionsReached:
    - auto::final
    - auto::update
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_hash_sha256(uint8_t out[], const uint8_t in[], size_t
      in_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:30,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:31,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:32,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: Botan::Sodium::crypto_shorthash_siphash24
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 2
    functionsReached:
    - Botan::MessageAuthenticationCode::create_or_throw
    - auto::set_key
    - auto::update
    - auto::final
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_shorthash_siphash24(uint8_t out[8], const uint8_t
      in[], size_t in_len, const uint8_t key[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:38,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:39,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:40,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: Botan::Sodium::crypto_onetimeauth_poly1305
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 2
    functionsReached:
    - Botan::MessageAuthenticationCode::create_or_throw
    - auto::set_key
    - auto::update
    - auto::final
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_onetimeauth_poly1305(uint8_t out[], const uint8_t
      in[], size_t in_len, const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_onetimeauth_poly1305
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:50,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:50,1
    - Dst: Botan::Sodium::crypto_verify_16
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:51,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mac
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: Botan::Sodium::crypto_onetimeauth_poly1305_verify
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 2
    functionsReached:
    - Botan::Sodium::crypto_onetimeauth_poly1305
    - secure_vector::data
    - Botan::Sodium::crypto_verify_16
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_onetimeauth_poly1305_verify(const uint8_t mac[],\n
      \                                              const uint8_t in[],\n                                               size_t
      in_len,\n                                               const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:55,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:56,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:57,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: Botan::Sodium::crypto_auth_hmacsha512
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 1
    functionsReached:
    - Botan::MessageAuthenticationCode::create_or_throw
    - auto::set_key
    - auto::update
    - auto::final
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_auth_hmacsha512(uint8_t out[], const uint8_t in[],
      size_t in_len, const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_auth_hmacsha512
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:64,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:64,1
    - Dst: Botan::Sodium::crypto_verify_64
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:65,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mac
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: Botan::Sodium::crypto_auth_hmacsha512_verify
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_verify_64
    - secure_vector::data
    - Botan::Sodium::crypto_auth_hmacsha512
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_auth_hmacsha512_verify(const uint8_t mac[], const
      uint8_t in[], size_t in_len, const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:69,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:70,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:71,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:74,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:76,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - out
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: Botan::Sodium::crypto_auth_hmacsha512256
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 2
    functionsReached:
    - auto::final
    - secure_vector::data
    - auto::set_key
    - auto::update
    - copy_mem
    - Botan::MessageAuthenticationCode::create_or_throw
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_auth_hmacsha512256(uint8_t out[], const uint8_t
      in[], size_t in_len, const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_auth_hmacsha512256
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:85,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:85,1
    - Dst: Botan::Sodium::crypto_verify_32
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:86,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mac
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: Botan::Sodium::crypto_auth_hmacsha512256_verify
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 2
    functionsReached:
    - secure_vector::data
    - Botan::Sodium::crypto_auth_hmacsha512256
    - Botan::Sodium::crypto_verify_32
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_auth_hmacsha512256_verify(const uint8_t mac[],\n
      \                                            const uint8_t in[],\n                                             size_t
      in_len,\n                                             const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:90,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:91,1
    - Dst: auto::update
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:92,1
    - Dst: auto::final
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: Botan::Sodium::crypto_auth_hmacsha256
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 1
    functionsReached:
    - Botan::MessageAuthenticationCode::create_or_throw
    - auto::set_key
    - auto::update
    - auto::final
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_auth_hmacsha256(uint8_t out[], const uint8_t in[],
      size_t in_len, const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_auth_hmacsha256
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:99,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:99,1
    - Dst: Botan::Sodium::crypto_verify_32
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:100,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_auth.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mac
    - in
    - in_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: Botan::Sodium::crypto_auth_hmacsha256_verify
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_auth.cpp
    functionUses: 1
    functionsReached:
    - secure_vector::data
    - Botan::Sodium::crypto_auth_hmacsha256
    - Botan::Sodium::crypto_verify_32
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_auth_hmacsha256_verify(const uint8_t mac[], const
      uint8_t in[], size_t in_len, const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:14,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:15,1
    - Dst: auto::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:16,1
    - Dst: auto::write_keystream
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out
    - out_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 19
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 19
    functionName: Botan::Sodium::crypto_stream_chacha20
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp
    functionUses: 1
    functionsReached:
    - auto::set_iv
    - auto::set_key
    - auto::write_keystream
    - Botan::StreamCipher::create_or_throw
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_stream_chacha20(uint8_t out[], size_t out_len, const
      uint8_t nonce[], const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_stream_chacha20_xor_ic
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - in
    - in_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: Botan::Sodium::crypto_stream_chacha20_xor
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_stream_chacha20_xor_ic
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_stream_chacha20_xor(\n   uint8_t out[], const uint8_t
      in[], size_t in_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:32,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:33,1
    - Dst: auto::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:34,1
    - Dst: auto::seek
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:35,1
    - Dst: auto::cipher
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - out
    - in
    - in_len
    - nonce
    - ic
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint64_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: Botan::Sodium::crypto_stream_chacha20_xor_ic
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp
    functionUses: 1
    functionsReached:
    - auto::set_key
    - auto::set_iv
    - auto::seek
    - auto::cipher
    - Botan::StreamCipher::create_or_throw
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_stream_chacha20_xor_ic(\n   uint8_t out[], const
      uint8_t in[], size_t in_len, const uint8_t nonce[], uint64_t ic, const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:41,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:42,1
    - Dst: auto::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:43,1
    - Dst: auto::write_keystream
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out
    - out_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: Botan::Sodium::crypto_stream_chacha20_ietf
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp
    functionUses: 1
    functionsReached:
    - auto::set_iv
    - auto::set_key
    - auto::write_keystream
    - Botan::StreamCipher::create_or_throw
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_stream_chacha20_ietf(uint8_t out[], size_t out_len,
      const uint8_t nonce[], const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_stream_chacha20_ietf_xor_ic
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - in
    - in_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: Botan::Sodium::crypto_stream_chacha20_ietf_xor
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_stream_chacha20_ietf_xor_ic
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_stream_chacha20_ietf_xor(\n   uint8_t out[], const
      uint8_t in[], size_t in_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:55,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:56,1
    - Dst: auto::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:57,1
    - Dst: auto::seek
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:58,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:58,1
    - Dst: auto::cipher
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - out
    - in
    - in_len
    - nonce
    - ic
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint32_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: Botan::Sodium::crypto_stream_chacha20_ietf_xor_ic
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint64_t>
    - auto::set_key
    - auto::set_iv
    - auto::seek
    - auto::cipher
    - Botan::StreamCipher::create_or_throw
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_stream_chacha20_ietf_xor_ic(\n   uint8_t out[],
      const uint8_t in[], size_t in_len, const uint8_t nonce[], uint32_t ic, const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:64,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:65,1
    - Dst: auto::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:66,1
    - Dst: auto::write_keystream
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out
    - out_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: Botan::Sodium::crypto_stream_xchacha20
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp
    functionUses: 1
    functionsReached:
    - auto::set_iv
    - auto::set_key
    - auto::write_keystream
    - Botan::StreamCipher::create_or_throw
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_stream_xchacha20(uint8_t out[], size_t out_len,
      const uint8_t nonce[], const uint8_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_stream_xchacha20_xor_ic
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - in
    - in_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: Botan::Sodium::crypto_stream_xchacha20_xor
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_stream_xchacha20_xor_ic
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_stream_xchacha20_xor(\n   uint8_t out[], const
      uint8_t in[], size_t in_len, const uint8_t nonce[], const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:82,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:83,1
    - Dst: auto::set_iv
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:84,1
    - Dst: auto::seek
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:85,1
    - Dst: auto::cipher
      Src: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - out
    - in
    - in_len
    - nonce
    - ic
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint64_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: Botan::Sodium::crypto_stream_xchacha20_xor_ic
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_chacha.cpp
    functionUses: 1
    functionsReached:
    - auto::set_key
    - auto::set_iv
    - auto::seek
    - auto::cipher
    - Botan::StreamCipher::create_or_throw
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_stream_xchacha20_xor_ic(\n   uint8_t out[], const
      uint8_t in[], size_t in_len, const uint8_t nonce[], uint64_t ic, const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curve25519_donna
      Src: /src/botan/src/lib/compat/sodium/sodium_25519.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - scalar
    - point
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: Botan::Sodium::crypto_scalarmult_curve25519
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_25519.cpp
    functionUses: 2
    functionsReached:
    - curve25519_donna
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_scalarmult_curve25519(uint8_t out[32], const uint8_t
      scalar[32], const uint8_t point[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curve25519_basepoint
      Src: /src/botan/src/lib/compat/sodium/sodium_25519.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: Botan::Sodium::crypto_scalarmult_curve25519_base
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_25519.cpp
    functionUses: 3
    functionsReached:
    - curve25519_basepoint
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_scalarmult_curve25519_base(uint8_t out[32], const
      uint8_t scalar[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ed25519_sign
      Src: /src/botan/src/lib/compat/sodium/sodium_25519.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - sig
    - sig_len
    - msg
    - msg_len
    - sk
    argTypes:
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: Botan::Sodium::crypto_sign_ed25519_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_25519.cpp
    functionUses: 2
    functionsReached:
    - ed25519_sign
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_sign_ed25519_detached(\n   uint8_t sig[], unsigned
      long long* sig_len, const uint8_t msg[], size_t msg_len, const uint8_t sk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sig
    - msg
    - msg_len
    - pk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: Botan::Sodium::crypto_sign_ed25519_verify_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_25519.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_sign_ed25519_verify_detached(const uint8_t sig[],\n
      \                                               const uint8_t msg[],\n                                                size_t
      msg_len,\n                                                const uint8_t pk[32])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::randombytes_buf
      Src: /src/botan/src/lib/compat/sodium/sodium_25519.cpp:44,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_25519.cpp:44,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/compat/sodium/sodium_25519.cpp:44,1
    - Dst: Botan::Sodium::crypto_sign_ed25519_seed_keypair
      Src: /src/botan/src/lib/compat/sodium/sodium_25519.cpp:45,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_25519.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: Botan::Sodium::crypto_sign_ed25519_keypair
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_25519.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_sign_ed25519_seed_keypair
    - secure_vector::data
    - Botan::Sodium::randombytes_buf
    - secure_vector::size
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_sign_ed25519_keypair(uint8_t pk[32], uint8_t sk[64])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ed25519_gen_keypair
      Src: /src/botan/src/lib/compat/sodium/sodium_25519.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pk
    - sk
    - seed
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: Botan::Sodium::crypto_sign_ed25519_seed_keypair
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_25519.cpp
    functionUses: 3
    functionsReached:
    - ed25519_gen_keypair
    linkageType: ''
    returnType: int
    signature: int Sodium::crypto_sign_ed25519_seed_keypair(uint8_t pk[], uint8_t
      sk[], const uint8_t seed[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:25,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:27,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:28,1
    - Dst: auto::start
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:29,1
    - Dst: secure_vector::reserve
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:33,1
    - Dst: secure_vector::assign
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:34,1
    - Dst: auto::finish
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:36,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:38,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:38,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:38,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 9
    argNames:
    - ctext
    - ctext_len
    - ptext
    - ptext_len
    - ad
    - ad_len
    - nonce
    - nonce_len
    - key
    argTypes:
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 43
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 43
    functionName: Botan::sodium_aead_chacha20poly1305_encrypt
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - secure_vector::data
    - secure_vector::assign
    - auto::finish
    - secure_vector::size
    - auto::set_key
    - auto::set_associated_data
    - secure_vector::reserve
    - Botan::copy_mem
    - Botan::AEAD_Mode::create_or_throw
    linkageType: ''
    returnType: int
    signature: "int sodium_aead_chacha20poly1305_encrypt(uint8_t ctext[],\n                                         unsigned
      long long* ctext_len,\n                                         const uint8_t
      ptext[],\n                                         size_t ptext_len,\n                                         const
      uint8_t ad[],\n                                         size_t ad_len,\n                                         const
      uint8_t nonce[],\n                                         size_t nonce_len,\n
      \                                        const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:60,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:62,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:63,1
    - Dst: auto::start
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:64,1
    - Dst: secure_vector::assign
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:68,1
    - Dst: auto::finish
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:71,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:78,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:78,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 9
    argNames:
    - ptext
    - ptext_len
    - ctext
    - ctext_len
    - ad
    - ad_len
    - nonce
    - nonce_len
    - key
    argTypes:
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 80
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 80
    functionName: Botan::sodium_aead_chacha20poly1305_decrypt
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - secure_vector::data
    - secure_vector::assign
    - auto::finish
    - secure_vector::size
    - auto::set_key
    - auto::set_associated_data
    - Botan::copy_mem
    - Botan::AEAD_Mode::create_or_throw
    linkageType: ''
    returnType: int
    signature: "int sodium_aead_chacha20poly1305_decrypt(uint8_t ptext[],\n                                         unsigned
      long long* ptext_len,\n                                         const uint8_t
      ctext[],\n                                         size_t ctext_len,\n                                         const
      uint8_t ad[],\n                                         size_t ad_len,\n                                         const
      uint8_t nonce[],\n                                         size_t nonce_len,\n
      \                                        const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:91,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:93,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:94,1
    - Dst: auto::start
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:95,1
    - Dst: secure_vector::reserve
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:99,1
    - Dst: secure_vector::assign
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:100,1
    - Dst: auto::finish
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:102,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:104,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:104,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:105,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 9
    argNames:
    - ctext
    - mac
    - ptext
    - ptext_len
    - ad
    - ad_len
    - nonce
    - nonce_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 107
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 107
    functionName: Botan::sodium_aead_chacha20poly1305_encrypt_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - secure_vector::data
    - secure_vector::assign
    - auto::finish
    - auto::set_key
    - auto::set_associated_data
    - secure_vector::reserve
    - Botan::copy_mem
    - Botan::AEAD_Mode::create_or_throw
    linkageType: ''
    returnType: int
    signature: "int sodium_aead_chacha20poly1305_encrypt_detached(uint8_t ctext[],\n
      \                                                 uint8_t mac[],\n                                                  const
      uint8_t ptext[],\n                                                  size_t ptext_len,\n
      \                                                 const uint8_t ad[],\n                                                  size_t
      ad_len,\n                                                  const uint8_t nonce[],\n
      \                                                 size_t nonce_len,\n                                                  const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:118,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:120,1
    - Dst: auto::set_associated_data
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:121,1
    - Dst: auto::start
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:122,1
    - Dst: secure_vector::reserve
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:126,1
    - Dst: secure_vector::assign
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:127,1
    - Dst: secure_vector::insert
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:128,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:128,1
    - Dst: auto::finish
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:131,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:136,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:136,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 9
    argNames:
    - ptext
    - ctext
    - ctext_len
    - mac
    - ad
    - ad_len
    - nonce
    - nonce_len
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 138
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 138
    functionName: Botan::sodium_aead_chacha20poly1305_decrypt_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - secure_vector::data
    - secure_vector::insert
    - secure_vector::assign
    - auto::finish
    - secure_vector::size
    - auto::set_key
    - auto::set_associated_data
    - secure_vector::end
    - secure_vector::reserve
    - Botan::copy_mem
    - Botan::AEAD_Mode::create_or_throw
    linkageType: ''
    returnType: int
    signature: "int sodium_aead_chacha20poly1305_decrypt_detached(uint8_t ptext[],\n
      \                                                 const uint8_t ctext[],\n                                                  size_t
      ctext_len,\n                                                  const uint8_t
      mac[],\n                                                  const uint8_t ad[],\n
      \                                                 size_t ad_len,\n                                                  const
      uint8_t nonce[],\n                                                  size_t nonce_len,\n
      \                                                 const uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:151,1
    - Dst: sodium_aead_chacha20poly1305_encrypt
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:153,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ctext
    - ctext_len
    - ptext
    - ptext_len
    - ad
    - ad_len
    - unused_secret_nonce
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_encrypt
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
    - sodium_aead_chacha20poly1305_encrypt
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_chacha20poly1305_ietf_encrypt(uint8_t ctext[],\n
      \                                                     unsigned long long* ctext_len,\n
      \                                                     const uint8_t ptext[],\n
      \                                                     size_t ptext_len,\n                                                      const
      uint8_t ad[],\n                                                      size_t
      ad_len,\n                                                      const uint8_t
      unused_secret_nonce[],\n                                                      const
      uint8_t nonce[],\n                                                      const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:166,1
    - Dst: sodium_aead_chacha20poly1305_decrypt
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:168,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ptext
    - ptext_len
    - unused_secret_nonce
    - ctext
    - ctext_len
    - ad
    - ad_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_decrypt
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - sodium_aead_chacha20poly1305_decrypt
    - Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_chacha20poly1305_ietf_decrypt(uint8_t ptext[],\n
      \                                                     unsigned long long* ptext_len,\n
      \                                                     uint8_t unused_secret_nonce[],\n
      \                                                     const uint8_t ctext[],\n
      \                                                     size_t ctext_len,\n                                                      const
      uint8_t ad[],\n                                                      size_t
      ad_len,\n                                                      const uint8_t
      nonce[],\n                                                      const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:182,1
    - Dst: sodium_aead_chacha20poly1305_encrypt_detached
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:188,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 10
    argNames:
    - ctext
    - mac
    - mac_len
    - ptext
    - ptext_len
    - ad
    - ad_len
    - unused_secret_nonce
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 190
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 190
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_encrypt_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
    - sodium_aead_chacha20poly1305_encrypt_detached
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_chacha20poly1305_ietf_encrypt_detached(uint8_t
      ctext[],\n                                                               uint8_t
      mac[],\n                                                               unsigned
      long long* mac_len,\n                                                               const
      uint8_t ptext[],\n                                                               size_t
      ptext_len,\n                                                               const
      uint8_t ad[],\n                                                               size_t
      ad_len,\n                                                               const
      uint8_t unused_secret_nonce[],\n                                                               const
      uint8_t nonce[],\n                                                               const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:201,1
    - Dst: sodium_aead_chacha20poly1305_decrypt_detached
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:203,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ptext
    - unused_secret_nonce
    - ctext
    - ctext_len
    - mac
    - ad
    - ad_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_ietf_decrypt_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_aead_chacha20poly1305_ietf_npubbytes
    - BOTAN_UNUSED
    - sodium_aead_chacha20poly1305_decrypt_detached
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_chacha20poly1305_ietf_decrypt_detached(uint8_t
      ptext[],\n                                                               uint8_t
      unused_secret_nonce[],\n                                                               const
      uint8_t ctext[],\n                                                               size_t
      ctext_len,\n                                                               const
      uint8_t mac[],\n                                                               const
      uint8_t ad[],\n                                                               size_t
      ad_len,\n                                                               const
      uint8_t nonce[],\n                                                               const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:216,1
    - Dst: sodium_aead_chacha20poly1305_encrypt
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:217,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ctext
    - ctext_len
    - ptext
    - ptext_len
    - ad
    - ad_len
    - unused_secret_nonce
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_encrypt
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - sodium_aead_chacha20poly1305_encrypt
    - BOTAN_UNUSED
    - Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_chacha20poly1305_encrypt(uint8_t ctext[],\n
      \                                                unsigned long long* ctext_len,\n
      \                                                const uint8_t ptext[],\n                                                 size_t
      ptext_len,\n                                                 const uint8_t ad[],\n
      \                                                size_t ad_len,\n                                                 const
      uint8_t unused_secret_nonce[],\n                                                 const
      uint8_t nonce[],\n                                                 const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:230,1
    - Dst: sodium_aead_chacha20poly1305_decrypt
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:231,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ptext
    - ptext_len
    - unused_secret_nonce
    - ctext
    - ctext_len
    - ad
    - ad_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 233
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 233
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_decrypt
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - sodium_aead_chacha20poly1305_decrypt
    - BOTAN_UNUSED
    - Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_chacha20poly1305_decrypt(uint8_t ptext[],\n
      \                                                unsigned long long* ptext_len,\n
      \                                                uint8_t unused_secret_nonce[],\n
      \                                                const uint8_t ctext[],\n                                                 size_t
      ctext_len,\n                                                 const uint8_t ad[],\n
      \                                                size_t ad_len,\n                                                 const
      uint8_t nonce[],\n                                                 const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:245,1
    - Dst: sodium_aead_chacha20poly1305_encrypt_detached
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:250,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 10
    argNames:
    - ctext
    - mac
    - mac_len
    - ptext
    - ptext_len
    - ad
    - ad_len
    - unused_secret_nonce
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_encrypt_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - sodium_aead_chacha20poly1305_encrypt_detached
    - BOTAN_UNUSED
    - Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_chacha20poly1305_encrypt_detached(uint8_t
      ctext[],\n                                                          uint8_t
      mac[],\n                                                          unsigned long
      long* mac_len,\n                                                          const
      uint8_t ptext[],\n                                                          size_t
      ptext_len,\n                                                          const
      uint8_t ad[],\n                                                          size_t
      ad_len,\n                                                          const uint8_t
      unused_secret_nonce[],\n                                                          const
      uint8_t nonce[],\n                                                          const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:263,1
    - Dst: sodium_aead_chacha20poly1305_decrypt_detached
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:265,1
    - Dst: Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ptext
    - unused_secret_nonce
    - ctext
    - ctext_len
    - mac
    - ad
    - ad_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 267
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 267
    functionName: Botan::Sodium::crypto_aead_chacha20poly1305_decrypt_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_aead_chacha20poly1305_npubbytes
    - BOTAN_UNUSED
    - sodium_aead_chacha20poly1305_decrypt_detached
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_chacha20poly1305_decrypt_detached(uint8_t
      ptext[],\n                                                          uint8_t
      unused_secret_nonce[],\n                                                          const
      uint8_t ctext[],\n                                                          size_t
      ctext_len,\n                                                          const
      uint8_t mac[],\n                                                          const
      uint8_t ad[],\n                                                          size_t
      ad_len,\n                                                          const uint8_t
      nonce[],\n                                                          const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:278,1
    - Dst: sodium_aead_chacha20poly1305_encrypt
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:280,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ctext
    - ctext_len
    - ptext
    - ptext_len
    - ad
    - ad_len
    - unused_secret_nonce
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 282
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 282
    functionName: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_encrypt
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - sodium_aead_chacha20poly1305_encrypt
    - BOTAN_UNUSED
    - Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_xchacha20poly1305_ietf_encrypt(uint8_t ctext[],\n
      \                                                      unsigned long long* ctext_len,\n
      \                                                      const uint8_t ptext[],\n
      \                                                      size_t ptext_len,\n                                                       const
      uint8_t ad[],\n                                                       size_t
      ad_len,\n                                                       const uint8_t
      unused_secret_nonce[],\n                                                       const
      uint8_t nonce[],\n                                                       const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:293,1
    - Dst: sodium_aead_chacha20poly1305_decrypt
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:295,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ptext
    - ptext_len
    - unused_secret_nonce
    - ctext
    - ctext_len
    - ad
    - ad_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 297
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 297
    functionName: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_decrypt
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - sodium_aead_chacha20poly1305_decrypt
    - Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_xchacha20poly1305_ietf_decrypt(uint8_t ptext[],\n
      \                                                      unsigned long long* ptext_len,\n
      \                                                      uint8_t unused_secret_nonce[],\n
      \                                                      const uint8_t ctext[],\n
      \                                                      size_t ctext_len,\n                                                       const
      uint8_t ad[],\n                                                       size_t
      ad_len,\n                                                       const uint8_t
      nonce[],\n                                                       const uint8_t
      key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:309,1
    - Dst: sodium_aead_chacha20poly1305_encrypt_detached
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:314,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 10
    argNames:
    - ctext
    - mac
    - mac_len
    - ptext
    - ptext_len
    - ad
    - ad_len
    - unused_secret_nonce
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - unsigned long long*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 316
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 316
    functionName: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_encrypt_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
    - sodium_aead_chacha20poly1305_encrypt_detached
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_xchacha20poly1305_ietf_encrypt_detached(uint8_t
      ctext[],\n                                                                uint8_t
      mac[],\n                                                                unsigned
      long long* mac_len,\n                                                                const
      uint8_t ptext[],\n                                                                size_t
      ptext_len,\n                                                                const
      uint8_t ad[],\n                                                                size_t
      ad_len,\n                                                                const
      uint8_t unused_secret_nonce[],\n                                                                const
      uint8_t nonce[],\n                                                                const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:327,1
    - Dst: sodium_aead_chacha20poly1305_decrypt_detached
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:328,1
    - Dst: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
      Src: /src/botan/src/lib/compat/sodium/sodium_aead.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ptext
    - unused_secret_nonce
    - ctext
    - ctext_len
    - mac
    - ad
    - ad_len
    - nonce
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_decrypt_detached
    functionSourceFile: /src/botan/src/lib/compat/sodium/sodium_aead.cpp
    functionUses: 1
    functionsReached:
    - Botan::Sodium::crypto_aead_xchacha20poly1305_ietf_npubbytes
    - BOTAN_UNUSED
    - sodium_aead_chacha20poly1305_decrypt_detached
    linkageType: ''
    returnType: int
    signature: "int Sodium::crypto_aead_xchacha20poly1305_ietf_decrypt_detached(uint8_t
      ptext[],\n                                                                uint8_t
      unused_secret_nonce[],\n                                                                const
      uint8_t ctext[],\n                                                                size_t
      ctext_len,\n                                                                const
      uint8_t mac[],\n                                                                const
      uint8_t ad[],\n                                                                size_t
      ad_len,\n                                                                const
      uint8_t nonce[],\n                                                                const
      uint8_t key[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:126,1
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:127,1
    - Dst: std::make_unique<RSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:132,1
    - Dst: std::make_unique<X25519_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:138,1
    - Dst: std::make_unique<X448_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:144,1
    - Dst: std::make_unique<McEliece_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:150,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:155,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:155,1
    - Dst: std::make_unique<FrodoKEM_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:156,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:161,1
    - Dst: std::make_unique<Kyber_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:162,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:167,1
    - Dst: std::make_unique<ML_KEM_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:168,1
    - Dst: std::make_unique<ECDSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:174,1
    - Dst: std::make_unique<ECDH_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:180,1
    - Dst: std::make_unique<DH_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:186,1
    - Dst: std::make_unique<DSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:192,1
    - Dst: std::make_unique<ElGamal_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:198,1
    - Dst: std::make_unique<ECGDSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:204,1
    - Dst: std::make_unique<ECKCDSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:210,1
    - Dst: std::make_unique<Ed25519_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:216,1
    - Dst: std::make_unique<Ed448_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:222,1
    - Dst: std::make_unique<GOST_3410_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:228,1
    - Dst: std::make_unique<SM2_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:234,1
    - Dst: std::make_unique<XMSS_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:240,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:245,1
    - Dst: std::make_unique<Dilithium_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:246,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:251,1
    - Dst: std::make_unique<ML_DSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:252,1
    - Dst: std::make_unique<HSS_LMS_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:258,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:263,1
    - Dst: std::make_unique<SphincsPlus_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:264,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:269,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:269,1
    - Dst: std::make_unique<SLH_DSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:270,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:275,1
    - Dst: std::make_unique<Classic_McEliece_PublicKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:276,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:280,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:280,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 77
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 281
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 281
    functionName: Botan::load_public_key
    functionSourceFile: /src/botan/src/lib/pubkey/pk_algs.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<ML_DSA_PublicKey>
    - std::make_unique<ECDSA_PublicKey>
    - std::make_unique<GOST_3410_PublicKey>
    - std::make_unique<RSA_PublicKey>
    - std::make_unique<SphincsPlus_PublicKey>
    - std::make_unique<Kyber_PublicKey>
    - std::make_unique<X25519_PublicKey>
    - std::string_view::starts_with
    - std::make_unique<Classic_McEliece_PublicKey>
    - std::make_unique<DH_PublicKey>
    - std::make_unique<HSS_LMS_PublicKey>
    - std::make_unique<Ed448_PublicKey>
    - std::make_unique<McEliece_PublicKey>
    - std::make_unique<SM2_PublicKey>
    - Botan::Decoding_Error
    - std::make_unique<SLH_DSA_PublicKey>
    - std::make_unique<ECGDSA_PublicKey>
    - std::make_unique<ECKCDSA_PublicKey>
    - std::make_unique<FrodoKEM_PublicKey>
    - std::make_unique<ElGamal_PublicKey>
    - std::make_unique<XMSS_PublicKey>
    - std::make_unique<X448_PublicKey>
    - Botan::split_on
    - Botan::oid
    - std::make_unique<ML_KEM_PublicKey>
    - std::make_unique<ECDH_PublicKey>
    - std::make_unique<Ed25519_PublicKey>
    - std::make_unique<DSA_PublicKey>
    - std::make_unique<Dilithium_PublicKey>
    - Botan::fmt
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: "std::unique_ptr<Public_Key> load_public_key(const AlgorithmIdentifier&
      alg_id,\n                                            [[maybe_unused]] std::span<const
      uint8_t> key_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:285,1
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:286,1
    - Dst: std::make_unique<RSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:291,1
    - Dst: std::make_unique<X25519_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:297,1
    - Dst: std::make_unique<X448_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:303,1
    - Dst: std::make_unique<ECDSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:309,1
    - Dst: std::make_unique<ECDH_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:315,1
    - Dst: std::make_unique<DH_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:321,1
    - Dst: std::make_unique<DSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:327,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:332,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:332,1
    - Dst: std::make_unique<FrodoKEM_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:333,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:338,1
    - Dst: std::make_unique<Kyber_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:339,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:344,1
    - Dst: std::make_unique<ML_KEM_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:345,1
    - Dst: std::make_unique<McEliece_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:351,1
    - Dst: std::make_unique<ECGDSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:357,1
    - Dst: std::make_unique<ECKCDSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:363,1
    - Dst: std::make_unique<Ed25519_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:369,1
    - Dst: std::make_unique<Ed448_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:375,1
    - Dst: std::make_unique<GOST_3410_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:381,1
    - Dst: std::make_unique<SM2_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:387,1
    - Dst: std::make_unique<ElGamal_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:393,1
    - Dst: std::make_unique<XMSS_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:399,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:404,1
    - Dst: std::make_unique<Dilithium_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:405,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:410,1
    - Dst: std::make_unique<ML_DSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:411,1
    - Dst: std::make_unique<HSS_LMS_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:417,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:422,1
    - Dst: std::make_unique<SphincsPlus_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:423,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:428,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:428,1
    - Dst: std::make_unique<SLH_DSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:429,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:434,1
    - Dst: std::make_unique<Classic_McEliece_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:435,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:439,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:439,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 77
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 440
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 440
    functionName: Botan::load_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/pk_algs.cpp
    functionUses: 6
    functionsReached:
    - std::make_unique<Classic_McEliece_PrivateKey>
    - std::make_unique<Ed448_PrivateKey>
    - std::make_unique<ML_KEM_PrivateKey>
    - std::make_unique<ECDSA_PrivateKey>
    - std::make_unique<ECDH_PrivateKey>
    - std::string_view::starts_with
    - std::make_unique<RSA_PrivateKey>
    - std::make_unique<DH_PrivateKey>
    - std::make_unique<ECGDSA_PrivateKey>
    - std::make_unique<SM2_PrivateKey>
    - std::make_unique<ElGamal_PrivateKey>
    - std::make_unique<ML_DSA_PrivateKey>
    - std::make_unique<FrodoKEM_PrivateKey>
    - Botan::Decoding_Error
    - std::make_unique<ECKCDSA_PrivateKey>
    - std::make_unique<HSS_LMS_PrivateKey>
    - std::make_unique<SLH_DSA_PrivateKey>
    - std::make_unique<X448_PrivateKey>
    - std::make_unique<McEliece_PrivateKey>
    - std::make_unique<X25519_PrivateKey>
    - std::make_unique<GOST_3410_PrivateKey>
    - std::make_unique<SphincsPlus_PrivateKey>
    - std::make_unique<Kyber_PrivateKey>
    - Botan::fmt
    - Botan::split_on
    - Botan::oid
    - std::make_unique<DSA_PrivateKey>
    - std::make_unique<Dilithium_PrivateKey>
    - std::make_unique<Ed25519_PrivateKey>
    - std::make_unique<XMSS_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: "std::unique_ptr<Private_Key> load_private_key(const AlgorithmIdentifier&
      alg_id,\n                                              [[maybe_unused]] std::span<const
      uint8_t> key_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:446,1
    - Dst: std::make_unique<ECDSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:450,1
    - Dst: std::make_unique<ECDH_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:456,1
    - Dst: std::make_unique<ECKCDSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:462,1
    - Dst: std::make_unique<GOST_3410_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:468,1
    - Dst: std::make_unique<SM2_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:474,1
    - Dst: std::make_unique<ECGDSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:480,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - alg_name
    - ' ec_group'
    - ' rng'
    argTypes:
    - std::string_view
    - EC_Group
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 485
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 485
    functionName: Botan::create_ec_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/pk_algs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ECDH_PrivateKey>
    - std::make_unique<ECKCDSA_PrivateKey>
    - std::make_unique<ECGDSA_PrivateKey>
    - BOTAN_UNUSED
    - std::make_unique<SM2_PrivateKey>
    - std::make_unique<GOST_3410_PrivateKey>
    - std::make_unique<ECDSA_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: "std::unique_ptr<Private_Key> create_ec_private_key(std::string_view
      alg_name,\n                                                   const EC_Group&
      ec_group,\n                                                   RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<X25519_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:497,1
    - Dst: std::make_unique<X448_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:503,1
    - Dst: std::make_unique<RSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:510,1
    - Dst: std::make_unique<McEliece_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:532,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:537,1
    - Dst: Botan::Classic_McEliece_Parameter_Set::from_string
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:538,1
    - Dst: std::make_unique<Classic_McEliece_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:539,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:545,1
    - Dst: FrodoKEMMode
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:545,1
    - Dst: std::make_unique<FrodoKEM_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:546,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:553,1
    - Dst: KyberMode
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:556,1
    - Dst: std::make_unique<Kyber_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:559,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:566,1
    - Dst: ML_KEM_Mode
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:569,1
    - Dst: std::make_unique<ML_KEM_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:572,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:577,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:579,1
    - Dst: DilithiumMode
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:582,1
    - Dst: std::make_unique<Dilithium_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:585,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:592,1
    - Dst: ML_DSA_Mode
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:595,1
    - Dst: std::make_unique<ML_DSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:598,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:605,1
    - Dst: std::string
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:608,1
    - Dst: std::make_unique<HSS_LMS_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:611,1
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:617,1
    - Dst: std::make_unique<SphincsPlus_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:619,1
    - Dst: Botan_CLI::tls_proxy_session::create
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:625,1
    - Dst: std::make_unique<SLH_DSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:627,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:634,1
    - Dst: XMSS_Parameters
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:637,1
    - Dst: std::make_unique<XMSS_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:640,1
    - Dst: std::make_unique<Ed25519_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:646,1
    - Dst: std::make_unique<Ed448_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:652,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:663,1
    - Dst: std::string
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:664,1
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:681,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:682,1
    - Dst: Botan::create_ec_private_key
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:683,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:694,1
    - Dst: std::string
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:695,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:703,1
    - Dst: std::make_unique<DH_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:707,1
    - Dst: std::make_unique<DSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:713,1
    - Dst: std::make_unique<ElGamal_PrivateKey>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:719,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:725,1
    - Dst: std::unique_ptr<Private_Key>
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:727,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 133
    argCount: 4
    argNames:
    - alg_name
    - ' rng'
    - params
    - provider
    argTypes:
    - std::string_view
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 728
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 728
    functionName: Botan::create_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/pk_algs.cpp
    functionUses: 27
    functionsReached:
    - std::make_unique<Classic_McEliece_PrivateKey>
    - std::make_unique<Ed448_PrivateKey>
    - std::unique_ptr<Private_Key>
    - BOTAN_UNUSED
    - FrodoKEMMode
    - std::make_unique<ML_KEM_PrivateKey>
    - std::string_view::starts_with
    - std::make_unique<RSA_PrivateKey>
    - std::make_unique<DH_PrivateKey>
    - ML_DSA_Mode
    - std::string_view::empty
    - std::make_unique<ElGamal_PrivateKey>
    - std::make_unique<ML_DSA_PrivateKey>
    - std::make_unique<FrodoKEM_PrivateKey>
    - std::make_unique<HSS_LMS_PrivateKey>
    - KyberMode
    - std::make_unique<SLH_DSA_PrivateKey>
    - Botan::Sphincs_Parameters::create
    - std::make_unique<X448_PrivateKey>
    - std::string
    - Botan::create_ec_private_key
    - Botan_CLI::tls_proxy_session::create
    - std::make_unique<McEliece_PrivateKey>
    - Botan::DL_Group::from_name
    - std::make_unique<X25519_PrivateKey>
    - ML_KEM_Mode
    - std::make_unique<SphincsPlus_PrivateKey>
    - std::make_unique<Kyber_PrivateKey>
    - Botan::Classic_McEliece_Parameter_Set::from_string
    - DilithiumMode
    - Botan::EC_Group::supports_named_group
    - std::make_unique<DSA_PrivateKey>
    - std::make_unique<Dilithium_PrivateKey>
    - Botan::EC_Group::from_name
    - std::make_unique<Ed25519_PrivateKey>
    - std::make_unique<XMSS_PrivateKey>
    - XMSS_Parameters
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: "std::unique_ptr<Private_Key> create_private_key(std::string_view alg_name,\n
      \                                               RandomNumberGenerator& rng,\n
      \                                               std::string_view params,\n                                                std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:736,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/pk_algs.cpp:740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - alg_name
    - ' possible'
    argTypes:
    - std::string_view
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 743
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 743
    functionName: Botan::probe_provider_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/pk_algs.cpp
    functionUses: 2
    functionsReached:
    - std::vector::push_back
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> probe_provider_private_key(std::string_view
      alg_name,\n                                                    const std::vector<std::string>&
      possible)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Unknown_PK_Field_Name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:19,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: '& Asymmetric_Key::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Unknown_PK_Field_Name
    linkageType: ''
    returnType: BigInt
    signature: BigInt & Asymmetric_Key::get_int_field(std::string_view field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:24,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:24,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:26,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:26,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: Botan::Asymmetric_Key::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - algo_name
    - Lookup_Error
    - fmt
    linkageType: ''
    returnType: OID
    signature: OID Asymmetric_Key::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _signature_element_size_for_DER_encoding
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: Botan::Asymmetric_Key::_default_x509_signature_format
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - _signature_element_size_for_DER_encoding
    linkageType: ''
    returnType: Signature_Format
    signature: Signature_Format Asymmetric_Key::_default_x509_signature_format() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:39,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:40,1
    - Dst: auto::process
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:40,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:44,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:46,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:49,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bits
    - bits_len
    - hash_name
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: Botan::create_hex_fingerprint
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - Botan::HashFunction::create_or_throw
    - std::string::push_back
    - Botan::hex_encode
    - auto::process
    linkageType: ''
    returnType: std::string
    signature: std::string create_hex_fingerprint(const uint8_t bits[], size_t bits_len,
      std::string_view hash_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:59,1
    - Dst: algorithm_identifier
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:61,1
    - Dst: public_key_bits
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: Botan::Public_Key::subject_public_key
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - public_key_bits
    - algorithm_identifier
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Public_Key::subject_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:71,1
    - Dst: pkcs8_algorithm_identifier
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:74,1
    - Dst: private_key_bits
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: Botan::Private_Key::private_key_info
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - pkcs8_algorithm_identifier
    - private_key_bits
    - DER_Encoder
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Private_Key::private_key_info() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:81,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan::Private_Key::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Not_Implemented
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Private_Key::raw_private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_hex_fingerprint
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:88,1
    - Dst: Botan::Public_Key::subject_public_key
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash_algo
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: Botan::Public_Key::fingerprint_public
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - create_hex_fingerprint
    - Botan::Public_Key::subject_public_key
    linkageType: ''
    returnType: std::string
    signature: std::string Public_Key::fingerprint_public(std::string_view hash_algo)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_hex_fingerprint
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:95,1
    - Dst: private_key_bits
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash_algo
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Botan::Private_Key::fingerprint_private
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - create_hex_fingerprint
    - private_key_bits
    linkageType: ''
    returnType: std::string
    signature: std::string Private_Key::fingerprint_private(std::string_view hash_algo)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:101,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:101,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: Botan::Public_Key::create_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - fmt
    - Lookup_Error
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Encryption>
    signature: "std::unique_ptr<PK_Ops::Encryption> Public_Key::create_encryption_op(RandomNumberGenerator&
      /*rng*/,\n                                                                     std::string_view
      /*params*/,\n                                                                     std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:106,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:106,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: Botan::Public_Key::create_kem_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - fmt
    - Lookup_Error
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Encryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Encryption> Public_Key::create_kem_encryption_op(std::string_view
      /*params*/,\n                                                                             std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:111,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:111,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: Botan::Public_Key::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - fmt
    - Lookup_Error
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> Public_Key::create_verification_op(std::string_view
      /*params*/,\n                                                                         std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:116,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:116,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: Botan::Public_Key::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - fmt
    - Lookup_Error
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> Public_Key::create_x509_verification_op(const
      AlgorithmIdentifier& /*params*/,\n                                                                              std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:122,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:122,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: Botan::Private_Key::create_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - fmt
    - Lookup_Error
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Decryption>
    signature: "std::unique_ptr<PK_Ops::Decryption> Private_Key::create_decryption_op(RandomNumberGenerator&
      /*rng*/,\n                                                                      std::string_view
      /*params*/,\n                                                                      std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:128,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:128,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: Botan::Private_Key::create_kem_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - fmt
    - Lookup_Error
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Decryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Decryption> Private_Key::create_kem_decryption_op(RandomNumberGenerator&
      /*rng*/,\n                                                                              std::string_view
      /*params*/,\n                                                                              std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:134,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:134,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: Botan::Private_Key::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - fmt
    - Lookup_Error
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> Private_Key::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                    std::string_view
      /*params*/,\n                                                                    std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:140,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:140,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pk_keys.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: Botan::Private_Key::create_key_agreement_op
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - fmt
    - Lookup_Error
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Key_Agreement>
    signature: "std::unique_ptr<PK_Ops::Key_Agreement> Private_Key::create_key_agreement_op(RandomNumberGenerator&
      /*rng*/,\n                                                                            std::string_view
      /*params*/,\n                                                                            std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:22,1
    - Dst: subject_public_key
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Public_Key
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::X509::PEM_encode
    functionSourceFile: /src/botan/src/lib/pubkey/x509_key.cpp
    functionUses: 3
    functionsReached:
    - Botan::PEM_Code::encode
    - subject_public_key
    linkageType: ''
    returnType: std::string
    signature: std::string PEM_encode(const Public_Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1::maybe_BER
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:33,1
    - Dst: Botan::PEM_Code::matches
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:33,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:34,1
    - Dst: Botan::PEM_Code::decode_check_label
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:36,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:38,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:41,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:42,1
    - Dst: load_public_key
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:45,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/x509_key.cpp:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: Botan::X509::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/x509_key.cpp
    functionUses: 14
    functionsReached:
    - BER_Decoder
    - std::vector::empty
    - load_public_key
    - Botan::PEM_Code::matches
    - Decoding_Error
    - Botan::ASN1::maybe_BER
    - Botan::PEM_Code::decode_check_label
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> load_key(DataSource& source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_decrypt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:26,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: Botan::PK_Decryptor::decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - do_decrypt
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> PK_Decryptor::decrypt(const uint8_t in[], size_t
      length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:43,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:55,1
    - Dst: do_decrypt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:63,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:65,1
    - Dst: CT::Mask<uint8_t>
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:66,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:66,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:66,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:68,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:76,1
    - Dst: auto::select_n
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:82,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:82,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:82,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 7
    argNames:
    - in
    - length
    - expected_pt_len
    - ' rng'
    - required_content_bytes
    - required_content_offsets
    - required_contents_length
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    - RandomNumberGenerator
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 85
    functionName: Botan::PK_Decryptor::decrypt_or_random
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached:
    - CT::Mask<uint8_t>
    - secure_vector::data
    - secure_vector::size
    - random_vec
    - Botan::BigInt::is_equal
    - BOTAN_ASSERT
    - auto::select_n
    - do_decrypt
    - secure_vector::resize
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> PK_Decryptor::decrypt_or_random(const uint8_t
      in[],\n                                                       size_t length,\n
      \                                                      size_t expected_pt_len,\n
      \                                                      RandomNumberGenerator&
      rng,\n                                                       const uint8_t required_content_bytes[],\n
      \                                                      const uint8_t required_content_offsets[],\n
      \                                                      size_t required_contents_length)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Decryptor::decrypt_or_random
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - in
    - length
    - expected_pt_len
    - ' rng'
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: Botan::PK_Decryptor::decrypt_or_random
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 1
    functionsReached:
    - Botan::PK_Decryptor::decrypt_or_random
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> PK_Decryptor::decrypt_or_random(const uint8_t
      in[],\n                                                       size_t length,\n
      \                                                      size_t expected_pt_len,\n
      \                                                      RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_encryption_op
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:98,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:100,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:100,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - ' key'
    - ' rng'
    - padding
    - provider
    argTypes:
    - Public_Key
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: Botan::PK_Encryptor_EME::PK_Encryptor_EME
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Invalid_Argument
    - create_encryption_op
    - fmt
    linkageType: ''
    returnType: void
    signature: "void PK_Encryptor_EME::PK_Encryptor_EME(const Public_Key& key,\n                                   RandomNumberGenerator&
      rng,\n                                   std::string_view padding,\n                                   std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: PK_Encryptor_EME::~PK_Encryptor_EME()
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Encryptor_EME::~PK_Encryptor_EME()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Botan::PK_Encryptor_EME::PK_Encryptor_EME
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Encryptor_EME::PK_Encryptor_EME(PK_Encryptor_EME&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Encryptor_EME::ciphertext_length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptext_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: Botan::PK_Encryptor_EME::ciphertext_length
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 1
    functionsReached:
    - Botan::PK_Encryptor_EME::ciphertext_length
    linkageType: ''
    returnType: size_t
    signature: size_t PK_Encryptor_EME::ciphertext_length(size_t ptext_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - length
    - ' rng'
    argTypes:
    - uint8_t[]
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: Botan::PK_Encryptor_EME::enc
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached:
    - encrypt
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PK_Encryptor_EME::enc(const uint8_t in[], size_t
      length, RandomNumberGenerator& rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: max_input_bits
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: Botan::PK_Encryptor_EME::maximum_input_size
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 1
    functionsReached:
    - max_input_bits
    linkageType: ''
    returnType: size_t
    signature: size_t PK_Encryptor_EME::maximum_input_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_decryption_op
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:125,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:127,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:127,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - ' key'
    - ' rng'
    - padding
    - provider
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: Botan::PK_Decryptor_EME::PK_Decryptor_EME
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Invalid_Argument
    - create_decryption_op
    - fmt
    linkageType: ''
    returnType: void
    signature: "void PK_Decryptor_EME::PK_Decryptor_EME(const Private_Key& key,\n
      \                                  RandomNumberGenerator& rng,\n                                   std::string_view
      padding,\n                                   std::string_view provider)"
  - 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: PK_Decryptor_EME::~PK_Decryptor_EME()
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Decryptor_EME::~PK_Decryptor_EME()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: Botan::PK_Decryptor_EME::PK_Decryptor_EME
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Decryptor_EME::PK_Decryptor_EME(PK_Decryptor_EME&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Decryptor_EME::plaintext_length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctext_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Botan::PK_Decryptor_EME::plaintext_length
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 1
    functionsReached:
    - Botan::PK_Decryptor_EME::plaintext_length
    linkageType: ''
    returnType: size_t
    signature: size_t PK_Decryptor_EME::plaintext_length(size_t ctext_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' valid_mask'
    - in
    - in_len
    argTypes:
    - uint8_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: Botan::PK_Decryptor_EME::do_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached:
    - decrypt
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> PK_Decryptor_EME::do_decrypt(uint8_t& valid_mask,
      const uint8_t in[], size_t in_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_kem_encryption_op
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:145,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:147,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:147,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' key'
    - param
    - provider
    argTypes:
    - Public_Key
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached:
    - create_kem_encryption_op
    - Invalid_Argument
    - algo_name
    - fmt
    linkageType: ''
    returnType: void
    signature: void PK_KEM_Encryptor::PK_KEM_Encryptor(const Public_Key& key, std::string_view
      param, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' key'
    - ' rng'
    - kem_param
    - provider
    argTypes:
    - Public_Key
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: "void PK_KEM_Encryptor::PK_KEM_Encryptor(const Public_Key& key,\n                                   RandomNumberGenerator&
      rng,\n                                   std::string_view kem_param,\n                                   std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: PK_KEM_Encryptor::~PK_KEM_Encryptor()
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_KEM_Encryptor::~PK_KEM_Encryptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: Botan::PK_KEM_Encryptor::PK_KEM_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_KEM_Encryptor::PK_KEM_Encryptor(PK_KEM_Encryptor&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_KEM_Encryptor::shared_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired_shared_key_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: Botan::PK_KEM_Encryptor::shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached:
    - Botan::PK_KEM_Encryptor::shared_key_length
    linkageType: ''
    returnType: size_t
    signature: size_t PK_KEM_Encryptor::shared_key_length(size_t desired_shared_key_len)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_KEM_Encryptor::encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: Botan::PK_KEM_Encryptor::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached:
    - Botan::PK_KEM_Encryptor::encapsulated_key_length
    linkageType: ''
    returnType: size_t
    signature: size_t PK_KEM_Encryptor::encapsulated_key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:177,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:177,1
    - Dst: Botan::PK_KEM_Encryptor::encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:177,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:178,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:178,1
    - Dst: Botan::PK_KEM_Encryptor::shared_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:178,1
    - Dst: kem_encrypt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - out_encapsulated_key
    - out_shared_key
    - ' rng'
    - desired_shared_key_len
    - salt
    argTypes:
    - std::span<uint8_t>
    - std::span<uint8_t>
    - RandomNumberGenerator
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: Botan::PK_KEM_Encryptor::encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 6
    functionsReached:
    - Botan::PK_KEM_Encryptor::shared_key_length
    - kem_encrypt
    - std::span<uint8_t>::size
    - Botan::PK_KEM_Encryptor::encapsulated_key_length
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void PK_KEM_Encryptor::encrypt(std::span<uint8_t> out_encapsulated_key,\n
      \                              std::span<uint8_t> out_shared_key,\n                               RandomNumberGenerator&
      rng,\n                               size_t desired_shared_key_len,\n                               std::span<const
      uint8_t> salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_KEM_Decryptor::shared_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desired_shared_key_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: Botan::PK_KEM_Decryptor::shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 4
    functionsReached:
    - Botan::PK_KEM_Decryptor::shared_key_length
    linkageType: ''
    returnType: size_t
    signature: size_t PK_KEM_Decryptor::shared_key_length(size_t desired_shared_key_len)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_KEM_Decryptor::encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: Botan::PK_KEM_Decryptor::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 2
    functionsReached:
    - Botan::PK_KEM_Decryptor::encapsulated_key_length
    linkageType: ''
    returnType: size_t
    signature: size_t PK_KEM_Decryptor::encapsulated_key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_kem_decryption_op
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:195,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:197,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:197,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - ' key'
    - ' rng'
    - param
    - provider
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 199
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 199
    functionName: Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached:
    - algo_name
    - Invalid_Argument
    - create_kem_decryption_op
    - fmt
    linkageType: ''
    returnType: void
    signature: "void PK_KEM_Decryptor::PK_KEM_Decryptor(const Private_Key& key,\n
      \                                  RandomNumberGenerator& rng,\n                                   std::string_view
      param,\n                                   std::string_view provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: PK_KEM_Decryptor::~PK_KEM_Decryptor()
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_KEM_Decryptor::~PK_KEM_Decryptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: Botan::PK_KEM_Decryptor::PK_KEM_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_KEM_Decryptor::PK_KEM_Decryptor(PK_KEM_Decryptor&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:210,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:210,1
    - Dst: Botan::PK_KEM_Decryptor::shared_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:210,1
    - Dst: kem_decrypt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - out_shared_key
    - encap_key
    - desired_shared_key_len
    - salt
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: Botan::PK_KEM_Decryptor::decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 6
    functionsReached:
    - std::span<uint8_t>::size
    - kem_decrypt
    - BOTAN_ARG_CHECK
    - Botan::PK_KEM_Decryptor::shared_key_length
    linkageType: ''
    returnType: void
    signature: "void PK_KEM_Decryptor::decrypt(std::span<uint8_t> out_shared_key,\n
      \                              std::span<const uint8_t> encap_key,\n                               size_t
      desired_shared_key_len,\n                               std::span<const uint8_t>
      salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_key_agreement_op
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:219,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:221,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:221,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - ' key'
    - ' rng'
    - kdf
    - provider
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: Botan::PK_Key_Agreement::PK_Key_Agreement
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Invalid_Argument
    - create_key_agreement_op
    - fmt
    linkageType: ''
    returnType: void
    signature: "void PK_Key_Agreement::PK_Key_Agreement(const Private_Key& key,\n
      \                                  RandomNumberGenerator& rng,\n                                   std::string_view
      kdf,\n                                   std::string_view provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: PK_Key_Agreement::~PK_Key_Agreement()
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Key_Agreement::~PK_Key_Agreement()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 227
    functionName: Botan::PK_Key_Agreement::PK_Key_Agreement
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Key_Agreement::PK_Key_Agreement(PK_Key_Agreement&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Key_Agreement::agreed_value_size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: Botan::PK_Key_Agreement::agreed_value_size
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 2
    functionsReached:
    - Botan::PK_Key_Agreement::agreed_value_size
    linkageType: ''
    returnType: size_t
    signature: size_t PK_Key_Agreement::agreed_value_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:238,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:238,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:238,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key_len
    - peer_key
    - peer_key_len
    - salt
    argTypes:
    - size_t
    - uint8_t[]
    - size_t
    - std::string_view
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: Botan::PK_Key_Agreement::derive_key
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 6
    functionsReached:
    - std::string_view::length
    - cast_char_ptr_to_uint8
    - std::string_view::data
    - Botan::PK_Key_Agreement::derive_key
    linkageType: ''
    returnType: SymmetricKey
    signature: "SymmetricKey PK_Key_Agreement::derive_key(size_t key_len,\n                                          const
      uint8_t peer_key[],\n                                          size_t peer_key_len,\n
      \                                         std::string_view salt) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:244,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:245,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:245,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:245,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:245,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key_len
    - peer_key
    - salt
    argTypes:
    - size_t
    - std::span<const uint8_t>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: Botan::PK_Key_Agreement::derive_key
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 7
    functionsReached:
    - Botan::PK_Key_Agreement::derive_key
    - std::span<const uint8_t>::size
    - std::string_view::length
    - std::span<const uint8_t>::data
    - std::string_view::data
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: SymmetricKey
    signature: "SymmetricKey PK_Key_Agreement::derive_key(size_t key_len,\n                                          const
      std::span<const uint8_t> peer_key,\n                                          std::string_view
      salt) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:250,1
    - Dst: agree
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key_len
    - peer_key
    - peer_key_len
    - salt
    - salt_len
    argTypes:
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: Botan::PK_Key_Agreement::derive_key
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 7
    functionsReached:
    - SymmetricKey
    - agree
    linkageType: ''
    returnType: SymmetricKey
    signature: "SymmetricKey PK_Key_Agreement::derive_key(\n   size_t key_len, const
      uint8_t peer_key[], size_t peer_key_len, const uint8_t salt[], size_t salt_len)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _signature_element_size_for_DER_encoding
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:258,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:260,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:260,1
    - Dst: create_signature_op
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:263,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:265,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:265,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - ' key'
    - ' rng'
    - emsa
    - format
    - provider
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - Signature_Format
    - std::string_view
    constantsTouched: []
    func_position:
      end: 267
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 267
    functionName: Botan::PK_Signer::PK_Signer
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 4
    functionsReached:
    - algo_name
    - _signature_element_size_for_DER_encoding
    - create_signature_op
    - fmt
    - has_value
    - Invalid_Argument
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void PK_Signer::PK_Signer(const Private_Key& key,\n                     RandomNumberGenerator&
      rng,\n                     std::string_view emsa,\n                     Signature_Format
      format,\n                     std::string_view provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Signer::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: Botan::PK_Signer::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 2
    functionsReached:
    - Botan::PK_Signer::algorithm_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier PK_Signer::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Signer::hash_function
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: Botan::PK_Signer::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 2
    functionsReached:
    - Botan::PK_Signer::hash_function
    linkageType: ''
    returnType: std::string
    signature: std::string PK_Signer::hash_function() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: PK_Signer::~PK_Signer()
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Signer::~PK_Signer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: Botan::PK_Signer::PK_Signer
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Signer::PK_Signer(PK_Signer&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Signer::update
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:283,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:283,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:283,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: Botan::PK_Signer::update
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 8
    functionsReached:
    - Botan::PK_Signer::update
    - std::string_view::size
    - std::string_view::data
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: void
    signature: void PK_Signer::update(std::string_view in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Signer::update
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: Botan::PK_Signer::update
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 9
    functionsReached:
    - Botan::PK_Signer::update
    linkageType: ''
    returnType: void
    signature: void PK_Signer::update(const uint8_t in[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:293,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:293,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:294,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:299,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:301,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:301,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:301,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - sig
    - parts
    - part_size
    argTypes:
    - std::span<const uint8_t>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 307
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 307
    functionName: Botan::der_encode_signature
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached:
    - BufferSlicer::take
    - DER_Encoder
    - Encoding_Error
    - Botan::BigInt::from_bytes
    - std::vector::reserve
    - std::span<const uint8_t>::size
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> der_encode_signature(std::span<const uint8_t>
      sig, size_t parts, size_t part_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Signer::signature_length
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:313,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 353
    functionName: Botan::PK_Signer::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 1
    functionsReached:
    - Botan::PK_Signer::signature_length
    - Internal_Error
    linkageType: ''
    returnType: size_t
    signature: size_t PK_Signer::signature_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sign
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:356,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:361,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:361,1
    - Dst: der_encode_signature
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:362,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:362,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 366
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 366
    functionName: Botan::PK_Signer::signature
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 6
    functionsReached:
    - der_encode_signature
    - sign
    - BOTAN_ASSERT_NOMSG
    - value
    - has_value
    - Internal_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PK_Signer::signature(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_verification_op
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:372,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:374,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:374,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:374,1
    - Dst: _signature_element_size_for_DER_encoding
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:378,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:381,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ' key'
    - emsa
    - format
    - provider
    argTypes:
    - Public_Key
    - std::string_view
    - Signature_Format
    - std::string_view
    constantsTouched: []
    func_position:
      end: 383
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 383
    functionName: Botan::PK_Verifier::PK_Verifier
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 3
    functionsReached:
    - create_verification_op
    - algo_name
    - _signature_element_size_for_DER_encoding
    - fmt
    - has_value
    - Invalid_Argument
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void PK_Verifier::PK_Verifier(const Public_Key& key,\n                         std::string_view
      emsa,\n                         Signature_Format format,\n                         std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_x509_verification_op
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:388,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:390,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:390,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:390,1
    - Dst: _default_x509_signature_format
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:393,1
    - Dst: _signature_element_size_for_DER_encoding
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' key'
    - ' signature_algorithm'
    - provider
    argTypes:
    - Public_Key
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: Botan::PK_Verifier::PK_Verifier
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 3
    functionsReached:
    - algo_name
    - _signature_element_size_for_DER_encoding
    - fmt
    - _default_x509_signature_format
    - Invalid_Argument
    - create_x509_verification_op
    linkageType: ''
    returnType: void
    signature: "void PK_Verifier::PK_Verifier(const Public_Key& key,\n                         const
      AlgorithmIdentifier& signature_algorithm,\n                         std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 397
    functionName: PK_Verifier::~PK_Verifier()
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Verifier::~PK_Verifier()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 399
    functionName: Botan::PK_Verifier::PK_Verifier
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Verifier::PK_Verifier(PK_Verifier&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Verifier::hash_function
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: Botan::PK_Verifier::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 2
    functionsReached:
    - Botan::PK_Verifier::hash_function
    linkageType: ''
    returnType: std::string
    signature: std::string PK_Verifier::hash_function() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:408,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - Signature_Format
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: Botan::PK_Verifier::set_input_format
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - has_value
    linkageType: ''
    returnType: void
    signature: void PK_Verifier::set_input_format(Signature_Format format)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:414,1
    - Dst: Botan::PK_Verifier::check_signature
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - msg_length
    - sig
    - sig_length
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: Botan::PK_Verifier::verify_message
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 8
    functionsReached:
    - Botan::PK_Verifier::update
    - Botan::PK_Verifier::check_signature
    linkageType: ''
    returnType: bool
    signature: bool PK_Verifier::verify_message(const uint8_t msg[], size_t msg_length,
      const uint8_t sig[], size_t sig_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:419,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:419,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:419,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionName: Botan::PK_Verifier::update
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 8
    functionsReached:
    - Botan::PK_Verifier::update
    - std::string_view::size
    - std::string_view::data
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: void
    signature: void PK_Verifier::update(std::string_view in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: Botan::PK_Verifier::update
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 9
    functionsReached:
    - Botan::PK_Verifier::update
    linkageType: ''
    returnType: void
    signature: void PK_Verifier::update(const uint8_t in[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:431,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:433,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:437,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:439,1
    - Dst: BigInt::serialize
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:440,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:445,1
    - Dst: Botan::der_encode_signature
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:448,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:450,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:450,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:450,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:450,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:451,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - sig
    - length
    - sig_parts
    - sig_part_size
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 454
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 454
    functionName: Botan::decode_der_signature
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder::more_items
    - Botan::Decoding_Error
    - BOTAN_ASSERT_NOMSG
    - std::vector::size
    - Botan::CT::is_equal
    - BigInt::serialize
    - Botan::der_encode_signature
    - BER_Decoder::start_sequence
    - BER_Decoder::decode
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> decode_der_signature(const uint8_t sig[], size_t
      length, size_t sig_parts, size_t sig_part_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_signature
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:461,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:466,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:466,1
    - Dst: decode_der_signature
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:469,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:469,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/pubkey.cpp:477,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - sig
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 486
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 486
    functionName: Botan::PK_Verifier::check_signature
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.cpp
    functionUses: 5
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - is_valid_signature
    - decode_der_signature
    - value
    - has_value
    - Internal_Error
    linkageType: ''
    returnType: bool
    signature: bool PK_Verifier::check_signature(const uint8_t sig[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan::_signature_element_size_for_DER_encoding
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> _signature_element_size_for_DER_encoding() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/pk_keys.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: get_oid
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.h
    functionUses: 0
    functionsReached:
    - object_identifier
    linkageType: ''
    returnType: OID
    signature: OID get_oid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _signature_element_size_for_DER_encoding
      Src: /src/botan/src/lib/pubkey/pk_keys.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: message_parts
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.h
    functionUses: 1
    functionsReached:
    - _signature_element_size_for_DER_encoding
    linkageType: ''
    returnType: size_t
    signature: size_t message_parts() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _signature_element_size_for_DER_encoding
      Src: /src/botan/src/lib/pubkey/pk_keys.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: message_part_size
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.h
    functionUses: 0
    functionsReached:
    - _signature_element_size_for_DER_encoding
    linkageType: ''
    returnType: size_t
    signature: size_t message_part_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _default_x509_signature_format
      Src: /src/botan/src/lib/pubkey/pk_keys.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: default_x509_signature_format
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.h
    functionUses: 2
    functionsReached:
    - _default_x509_signature_format
    linkageType: ''
    returnType: Signature_Format
    signature: Signature_Format default_x509_signature_format() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm_identifier
      Src: /src/botan/src/lib/pubkey/pk_keys.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: pkcs8_algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.h
    functionUses: 1
    functionsReached:
    - algorithm_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier pkcs8_algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: stateful_operation
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stateful_operation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: remaining_operations
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> remaining_operations() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_hex_fingerprint
      Src: /src/botan/src/lib/pubkey/pk_keys.h:426,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/pk_keys.h:426,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pk_keys.h:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vec
    - hash_name
    argTypes:
    - std::span<const uint8_t>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: create_hex_fingerprint
    functionSourceFile: /src/botan/src/lib/pubkey/pk_keys.h
    functionUses: 3
    functionsReached:
    - create_hex_fingerprint
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: std::string
    signature: std::string create_hex_fingerprint(std::span<const uint8_t> vec, std::string_view
      hash_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subject_public_key
      Src: /src/botan/src/lib/pubkey/x509_key.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Public_Key
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::X509::BER_encode
    functionSourceFile: /src/botan/src/lib/pubkey/x509_key.h
    functionUses: 4
    functionsReached:
    - subject_public_key
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> BER_encode(const Public_Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/lib/pubkey/x509_key.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: Botan::X509::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/x509_key.h
    functionUses: 15
    functionsReached:
    - Botan::X509::load_key
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> load_key(std::string_view filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/lib/pubkey/x509_key.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' enc'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: Botan::X509::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/x509_key.h
    functionUses: 16
    functionsReached:
    - Botan::X509::load_key
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> load_key(const std::vector<uint8_t>& enc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/lib/pubkey/x509_key.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enc
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: Botan::X509::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/x509_key.h
    functionUses: 17
    functionsReached:
    - Botan::X509::load_key
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> load_key(std::span<const uint8_t> enc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/lib/pubkey/x509_key.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Public_Key
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: Botan::X509::copy_key
    functionSourceFile: /src/botan/src/lib/pubkey/x509_key.h
    functionUses: 0
    functionsReached:
    - Botan::X509::load_key
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> copy_key(const Public_Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: PK_Ops::Signature::algorithm_identifier() const
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier PK_Ops::Signature::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EME::create
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - eme
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: PK_Ops::Encryption_with_EME::Encryption_with_EME(std::string_view
      eme)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::EME::create
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Encryption_with_EME::Encryption_with_EME(std::string_view
      eme)
  - 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: PK_Ops::Encryption_with_EME::~Encryption_with_EME()
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Encryption_with_EME::~Encryption_with_EME()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: maximum_input_size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:34,1
    - Dst: max_ptext_input_bits
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: PK_Ops::Encryption_with_EME::max_input_bits() const
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - maximum_input_size
    - max_ptext_input_bits
    linkageType: ''
    returnType: size_t
    signature: size_t PK_Ops::Encryption_with_EME::max_input_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:40,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:40,1
    - Dst: raw_encrypt
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:44,1
    - Dst: first
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: PK_Ops::Encryption_with_EME::encrypt(std::span<const uint8_t> msg,
      RandomNumberGenerator& rng)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - first
    - BOTAN_ARG_CHECK
    - raw_encrypt
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PK_Ops::Encryption_with_EME::encrypt(std::span<const
      uint8_t> msg, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EME::create
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - eme
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: PK_Ops::Decryption_with_EME::Decryption_with_EME(std::string_view
      eme)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::EME::create
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Decryption_with_EME::Decryption_with_EME(std::string_view
      eme)
  - 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: PK_Ops::Decryption_with_EME::~Decryption_with_EME()
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Decryption_with_EME::~Decryption_with_EME()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_decrypt
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:52,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:54,1
    - Dst: unpad
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:55,1
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:57,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:57,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:69,1
    - Dst: auto::value_or
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' valid_mask'
    - ctext
    argTypes:
    - uint8_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: PK_Ops::Decryption_with_EME::decrypt(uint8_t& valid_mask, std::span<const
      uint8_t> ctext)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::size
    - raw_decrypt
    - auto::has_value
    - auto::value_or
    - Botan::CT::Mask::from_choice
    - unpad
    - secure_vector::resize
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> PK_Ops::Decryption_with_EME::decrypt(uint8_t&
      valid_mask, std::span<const uint8_t> ctext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: PK_Ops::Key_Agreement_with_KDF::Key_Agreement_with_KDF(std::string_view
      kdf)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::PBKDF::create_or_throw
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Key_Agreement_with_KDF::Key_Agreement_with_KDF(std::string_view
      kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: PK_Ops::Key_Agreement_with_KDF::~Key_Agreement_with_KDF()
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Key_Agreement_with_KDF::~Key_Agreement_with_KDF()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:84,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:85,1
    - Dst: raw_agree
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:88,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:88,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:88,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:90,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:90,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - key_len
    - other_key
    - salt
    argTypes:
    - size_t
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: "PK_Ops::Key_Agreement_with_KDF::agree(size_t key_len,\n                                                             std::span<const
      uint8_t> other_key,\n                                                             std::span<const
      uint8_t> salt)"
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::empty
    - derive_key
    - raw_agree
    - std::span<const uint8_t>::size
    - Invalid_Argument
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> PK_Ops::Key_Agreement_with_KDF::agree(size_t
      key_len,\n                                                             std::span<const
      uint8_t> other_key,\n                                                             std::span<const
      uint8_t> salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:98,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:104,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:104,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:105,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:105,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:111,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:112,1
    - Dst: std::make_unique<RawHashFunction>
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:113,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:116,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:117,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:117,1
    - Dst: std::make_unique<RawHashFunction>
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:118,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:118,1
    - Dst: Algorithm_Not_Found
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - padding
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 125
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 125
    functionName: Botan::create_signature_hash
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - SCAN_Name::algo_name
    - Algorithm_Not_Found
    - SCAN_Name::arg_count
    - std::make_unique<RawHashFunction>
    - Botan::HashFunction::create
    - std::move
    - SCAN_Name::arg
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> create_signature_hash(std::string_view
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_signature_hash
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: PK_Ops::Signature_with_Hash::Signature_with_Hash(std::string_view
      hash)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - create_signature_hash
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Signature_with_Hash::Signature_with_Hash(std::string_view
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: PK_Ops::Signature_with_Hash::~Signature_with_Hash()
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Signature_with_Hash::~Signature_with_Hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: PK_Ops::Signature_with_Hash::rfc6979_hash_function() const
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string PK_Ops::Signature_with_Hash::rfc6979_hash_function() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: PK_Ops::Signature_with_Hash::hash_function() const
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string PK_Ops::Signature_with_Hash::hash_function() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: PK_Ops::Signature_with_Hash::update(std::span<const uint8_t> msg)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Signature_with_Hash::update(std::span<const uint8_t> msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:153,1
    - Dst: raw_sign
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: PK_Ops::Signature_with_Hash::sign(RandomNumberGenerator& rng)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - raw_sign
    - final_stdvec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PK_Ops::Signature_with_Hash::sign(RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_signature_hash
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - padding
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: PK_Ops::Verification_with_Hash::Verification_with_Hash(std::string_view
      padding)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - create_signature_hash
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Verification_with_Hash::Verification_with_Hash(std::string_view
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: PK_Ops::Verification_with_Hash::~Verification_with_Hash()
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Verification_with_Hash::~Verification_with_Hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: PK_Ops::Verification_with_Hash::hash_function() const
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string PK_Ops::Verification_with_Hash::hash_function() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: split_on
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:169,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:169,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:171,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:172,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:173,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:173,1
    - Dst: parameters_are_empty
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:176,1
    - Dst: parameters_are_null
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:177,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:179,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:179,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:182,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:182,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:186,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - ' alg_id'
    - pk_algo
    - allow_null_parameters
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 187
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 187
    functionName: "PK_Ops::Verification_with_Hash::Verification_with_Hash(const AlgorithmIdentifier&
      alg_id,\n                                                       std::string_view
      pk_algo,\n                                                       bool allow_null_parameters)"
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::create_or_throw
    - fmt
    - split_on
    - parameters_are_empty
    - parameters_are_null
    - Decoding_Error
    - oid
    - auto::size
    linkageType: ''
    returnType: void
    signature: "void PK_Ops::Verification_with_Hash::Verification_with_Hash(const
      AlgorithmIdentifier& alg_id,\n                                                       std::string_view
      pk_algo,\n                                                       bool allow_null_parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: PK_Ops::Verification_with_Hash::update(std::span<const uint8_t>
      msg)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void PK_Ops::Verification_with_Hash::update(std::span<const uint8_t>
      msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:194,1
    - Dst: verify
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: PK_Ops::Verification_with_Hash::is_valid_signature(std::span<const
      uint8_t> sig)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - verify
    - final_stdvec
    linkageType: ''
    returnType: bool
    signature: bool PK_Ops::Verification_with_Hash::is_valid_signature(std::span<const
      uint8_t> sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_Ops::KEM_Encryption_with_KDF::raw_kem_shared_key_length
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - desired_shared_key_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: PK_Ops::KEM_Encryption_with_KDF::shared_key_length(size_t desired_shared_key_len)
      const
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - PK_Ops::KEM_Encryption_with_KDF::raw_kem_shared_key_length
    linkageType: ''
    returnType: size_t
    signature: size_t PK_Ops::KEM_Encryption_with_KDF::shared_key_length(size_t desired_shared_key_len)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:211,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:211,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:212,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:212,1
    - Dst: encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:212,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:215,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:216,1
    - Dst: "PK_Ops::KEM_Encryption_with_KDF::kem_encrypt(std::span<uint8_t> out_encapsulated_key,\n
        \                                                 std::span<uint8_t> out_shared_key,\n
        \                                                 RandomNumberGenerator& rng,\n
        \                                                 size_t desired_shared_key_len,\n
        \                                                 std::raw_kem_encrypt"
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:219,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:220,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:222,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:222,1
    - Dst: raw_kem_shared_key_length
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:222,1
    - Dst: "PK_Ops::KEM_Encryption_with_KDF::kem_encrypt(std::span<uint8_t> out_encapsulated_key,\n
        \                                                 std::span<uint8_t> out_shared_key,\n
        \                                                 RandomNumberGenerator& rng,\n
        \                                                 size_t desired_shared_key_len,\n
        \                                                 std::raw_kem_encrypt"
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - out_encapsulated_key
    - out_shared_key
    - ' rng'
    - desired_shared_key_len
    - salt
    argTypes:
    - std::span<uint8_t>
    - std::span<uint8_t>
    - RandomNumberGenerator
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 225
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 225
    functionName: "PK_Ops::KEM_Encryption_with_KDF::kem_encrypt(std::span<uint8_t>
      out_encapsulated_key,\n                                                  std::span<uint8_t>
      out_shared_key,\n                                                  RandomNumberGenerator&
      rng,\n                                                  size_t desired_shared_key_len,\n
      \                                                 std::span<const uint8_t> salt)"
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - raw_kem_shared_key_length
    - BOTAN_ASSERT_NOMSG
    - std::span<const uint8_t>::empty
    - std::span<uint8_t>::size
    - derive_key
    - "PK_Ops::KEM_Encryption_with_KDF::kem_encrypt(std::span<uint8_t> out_encapsulated_key,\n
      \                                                 std::span<uint8_t> out_shared_key,\n
      \                                                 RandomNumberGenerator& rng,\n
      \                                                 size_t desired_shared_key_len,\n
      \                                                 std::raw_kem_encrypt"
    - BOTAN_ASSERT_EQUAL
    - BOTAN_ARG_CHECK
    - encapsulated_key_length
    linkageType: ''
    returnType: void
    signature: "void PK_Ops::KEM_Encryption_with_KDF::kem_encrypt(std::span<uint8_t>
      out_encapsulated_key,\n                                                  std::span<uint8_t>
      out_shared_key,\n                                                  RandomNumberGenerator&
      rng,\n                                                  size_t desired_shared_key_len,\n
      \                                                 std::span<const uint8_t> salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: PK_Ops::KEM_Encryption_with_KDF::KEM_Encryption_with_KDF(std::string_view
      kdf)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::PBKDF::create_or_throw
    linkageType: ''
    returnType: void
    signature: void PK_Ops::KEM_Encryption_with_KDF::KEM_Encryption_with_KDF(std::string_view
      kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: PK_Ops::KEM_Encryption_with_KDF::~KEM_Encryption_with_KDF()
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Ops::KEM_Encryption_with_KDF::~KEM_Encryption_with_KDF()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_Ops::KEM_Decryption_with_KDF::raw_kem_shared_key_length
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - desired_shared_key_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: PK_Ops::KEM_Decryption_with_KDF::shared_key_length(size_t desired_shared_key_len)
      const
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - PK_Ops::KEM_Decryption_with_KDF::raw_kem_shared_key_length
    linkageType: ''
    returnType: size_t
    signature: size_t PK_Ops::KEM_Decryption_with_KDF::shared_key_length(size_t desired_shared_key_len)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:247,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:247,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:250,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:251,1
    - Dst: "PK_Ops::KEM_Decryption_with_KDF::kem_decrypt(std::span<uint8_t> out_shared_key,\n
        \                                                 std::span<const uint8_t>
        encapsulated_key,\n                                                  size_t
        desired_shared_key_len,\n                                                  std::raw_kem_decrypt"
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:254,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:255,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:257,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:257,1
    - Dst: raw_kem_shared_key_length
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:257,1
    - Dst: "PK_Ops::KEM_Decryption_with_KDF::kem_decrypt(std::span<uint8_t> out_shared_key,\n
        \                                                 std::span<const uint8_t>
        encapsulated_key,\n                                                  size_t
        desired_shared_key_len,\n                                                  std::raw_kem_decrypt"
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - out_shared_key
    - encapsulated_key
    - desired_shared_key_len
    - salt
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 260
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 260
    functionName: "PK_Ops::KEM_Decryption_with_KDF::kem_decrypt(std::span<uint8_t>
      out_shared_key,\n                                                  std::span<const
      uint8_t> encapsulated_key,\n                                                  size_t
      desired_shared_key_len,\n                                                  std::span<const
      uint8_t> salt)"
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - raw_kem_shared_key_length
    - std::span<const uint8_t>::empty
    - std::span<uint8_t>::size
    - derive_key
    - BOTAN_ASSERT_EQUAL
    - "PK_Ops::KEM_Decryption_with_KDF::kem_decrypt(std::span<uint8_t> out_shared_key,\n
      \                                                 std::span<const uint8_t> encapsulated_key,\n
      \                                                 size_t desired_shared_key_len,\n
      \                                                 std::raw_kem_decrypt"
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void PK_Ops::KEM_Decryption_with_KDF::kem_decrypt(std::span<uint8_t>
      out_shared_key,\n                                                  std::span<const
      uint8_t> encapsulated_key,\n                                                  size_t
      desired_shared_key_len,\n                                                  std::span<const
      uint8_t> salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/pubkey/pk_ops.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: PK_Ops::KEM_Decryption_with_KDF::KEM_Decryption_with_KDF(std::string_view
      kdf)
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::PBKDF::create_or_throw
    linkageType: ''
    returnType: void
    signature: void PK_Ops::KEM_Decryption_with_KDF::KEM_Decryption_with_KDF(std::string_view
      kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 268
    functionName: PK_Ops::KEM_Decryption_with_KDF::~KEM_Decryption_with_KDF()
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Ops::KEM_Decryption_with_KDF::~KEM_Decryption_with_KDF()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' source'
    - ' pbe_alg_id'
    argTypes:
    - DataSource
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: Botan::PKCS8::PKCS8_extract
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> PKCS8_extract(DataSource& source, AlgorithmIdentifier&
      pbe_alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1::maybe_BER
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:50,1
    - Dst: Botan::PEM_Code::matches
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:50,1
    - Dst: Botan::PKCS8::PKCS8_extract
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:52,1
    - Dst: end_of_data
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:55,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:59,1
    - Dst: Botan::PEM_Code::decode
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:65,1
    - Dst: Botan::PKCS8::PKCS8_extract
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:72,1
    - Dst: PKCS8_Exception
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:74,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:74,1
    - Dst: secure_vector::empty
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:78,1
    - Dst: PKCS8_Exception
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:79,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:82,1
    - Dst: AlgorithmIdentifier::oid
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:87,1
    - Dst: PKCS8_Exception
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:88,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:88,1
    - Dst: AlgorithmIdentifier::oid
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:88,1
    - Dst: pbes2_decrypt
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:92,1
    - Dst: get_passphrase
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:92,1
    - Dst: AlgorithmIdentifier::parameters
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:92,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:94,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:95,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:101,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:109,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 4
    argNames:
    - ' source'
    - ' get_passphrase'
    - ' pk_alg_id'
    - is_encrypted
    argTypes:
    - DataSource
    - std::function<std::string()>
    - AlgorithmIdentifier
    - bool
    constantsTouched: []
    func_position:
      end: 112
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 112
    functionName: Botan::PKCS8::PKCS8_decode
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier::parameters
    - Botan::PEM_Code::decode
    - secure_vector::push_back
    - secure_vector::empty
    - BER_Decoder
    - fmt
    - Botan::PEM_Code::matches
    - PKCS8_Exception
    - AlgorithmIdentifier::oid
    - end_of_data
    - Decoding_Error
    - BOTAN_UNUSED
    - get_passphrase
    - Botan::ASN1::maybe_BER
    - pbes2_decrypt
    - Botan::PKCS8::PKCS8_extract
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> PKCS8_decode(DataSource& source,\n                                    const
      std::function<std::string()>& get_passphrase,\n                                    AlgorithmIdentifier&
      pk_alg_id,\n                                    bool is_encrypted)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:120,1
    - Dst: private_key_info
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Private_Key
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: Botan::PKCS8::PEM_encode
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 6
    functionsReached:
    - Botan::PEM_Code::encode
    - private_key_info
    linkageType: ''
    returnType: std::string
    signature: std::string PEM_encode(const Private_Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:128,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:138,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:140,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:145,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:150,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:150,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:150,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:151,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:151,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:154,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:154,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:154,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - pbe_algo
    - key_algo
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 155
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 155
    functionName: Botan::PKCS8::choose_pbe_params
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 0
    functionsReached:
    - SCAN_Name::algo_name
    - SCAN_Name::arg_count
    - fmt
    - std::string_view::empty
    - std::make_pair
    - Invalid_Argument
    - SCAN_Name::arg
    linkageType: ''
    returnType: std::pair<std::string, std::string>
    signature: std::pair<std::string, std::string> choose_pbe_params(std::string_view
      pbe_algo, std::string_view key_algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::choose_pbe_params
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:170,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:170,1
    - Dst: pbes2_encrypt_msec
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:173,1
    - Dst: Botan::PKCS8::BER_encode
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:173,1
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:177,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:181,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' key'
    - ' rng'
    - pass
    - msec
    - pbe_algo
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - std::chrono::milliseconds
    - std::string_view
    constantsTouched: []
    func_position:
      end: 184
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 184
    functionName: Botan::PKCS8::BER_encode
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 4
    functionsReached:
    - DER_Encoder::start_sequence
    - algo_name
    - Botan::PKCS8::BER_encode
    - Encoding_Error
    - BOTAN_UNUSED
    - Botan::PKCS8::choose_pbe_params
    - pbes2_encrypt_msec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> BER_encode(const Private_Key& key,\n                                RandomNumberGenerator&
      rng,\n                                std::string_view pass,\n                                std::chrono::milliseconds
      msec,\n                                std::string_view pbe_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:194,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:195,1
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:198,1
    - Dst: Botan::PKCS8::BER_encode
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' key'
    - ' rng'
    - pass
    - msec
    - pbe_algo
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - std::chrono::milliseconds
    - std::string_view
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: Botan::PKCS8::PEM_encode
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 7
    functionsReached:
    - Botan::PEM_Code::encode
    - std::string_view::empty
    - Botan::PKCS8::BER_encode
    - Botan::PKCS8::PEM_encode
    linkageType: ''
    returnType: std::string
    signature: "std::string PEM_encode(const Private_Key& key,\n                       RandomNumberGenerator&
      rng,\n                       std::string_view pass,\n                       std::chrono::milliseconds
      msec,\n                       std::string_view pbe_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pbes2_encrypt_iter
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:212,1
    - Dst: private_key_info
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:212,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:215,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:216,1
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:221,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:226,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - ' key'
    - ' rng'
    - pass
    - pbkdf_iterations
    - cipher
    - pbkdf_hash
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - size_t
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 229
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 229
    functionName: Botan::PKCS8::BER_encode_encrypted_pbkdf_iter
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 2
    functionsReached:
    - DER_Encoder::start_sequence
    - Encoding_Error
    - std::string_view::empty
    - BOTAN_UNUSED
    - private_key_info
    - pbes2_encrypt_iter
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> BER_encode_encrypted_pbkdf_iter(const Private_Key&
      key,\n                                                     RandomNumberGenerator&
      rng,\n                                                     std::string_view
      pass,\n                                                     size_t pbkdf_iterations,\n
      \                                                    std::string_view cipher,\n
      \                                                    std::string_view pbkdf_hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:240,1
    - Dst: Botan::PKCS8::BER_encode_encrypted_pbkdf_iter
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' key'
    - ' rng'
    - pass
    - pbkdf_iterations
    - cipher
    - pbkdf_hash
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - size_t
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: Botan::PKCS8::PEM_encode_encrypted_pbkdf_iter
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 2
    functionsReached:
    - Botan::PEM_Code::encode
    - Botan::PKCS8::BER_encode_encrypted_pbkdf_iter
    linkageType: ''
    returnType: std::string
    signature: "std::string PEM_encode_encrypted_pbkdf_iter(const Private_Key& key,\n
      \                                           RandomNumberGenerator& rng,\n                                            std::string_view
      pass,\n                                            size_t pbkdf_iterations,\n
      \                                           std::string_view cipher,\n                                            std::string_view
      pbkdf_hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pbes2_encrypt_msec
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:256,1
    - Dst: private_key_info
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:256,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:260,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:261,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:265,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:273,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - ' key'
    - ' rng'
    - pass
    - pbkdf_msec
    - pbkdf_iterations
    - cipher
    - pbkdf_hash
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - std::chrono::milliseconds
    - size_t*
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 276
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 276
    functionName: Botan::PKCS8::BER_encode_encrypted_pbkdf_msec
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 2
    functionsReached:
    - DER_Encoder
    - Encoding_Error
    - std::string_view::empty
    - BOTAN_UNUSED
    - private_key_info
    - pbes2_encrypt_msec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> BER_encode_encrypted_pbkdf_msec(const Private_Key&
      key,\n                                                     RandomNumberGenerator&
      rng,\n                                                     std::string_view
      pass,\n                                                     std::chrono::milliseconds
      pbkdf_msec,\n                                                     size_t* pbkdf_iterations,\n
      \                                                    std::string_view cipher,\n
      \                                                    std::string_view pbkdf_hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:288,1
    - Dst: Botan::PKCS8::BER_encode_encrypted_pbkdf_msec
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' key'
    - ' rng'
    - pass
    - pbkdf_msec
    - pbkdf_iterations
    - cipher
    - pbkdf_hash
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - std::chrono::milliseconds
    - size_t*
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: Botan::PKCS8::PEM_encode_encrypted_pbkdf_msec
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 2
    functionsReached:
    - Botan::PEM_Code::encode
    - Botan::PKCS8::BER_encode_encrypted_pbkdf_msec
    linkageType: ''
    returnType: std::string
    signature: "std::string PEM_encode_encrypted_pbkdf_msec(const Private_Key& key,\n
      \                                           RandomNumberGenerator& rng,\n                                            std::string_view
      pass,\n                                            std::chrono::milliseconds
      pbkdf_msec,\n                                            size_t* pbkdf_iterations,\n
      \                                           std::string_view cipher,\n                                            std::string_view
      pbkdf_hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::PKCS8_decode
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:302,1
    - Dst: AlgorithmIdentifier::oid
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:304,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:305,1
    - Dst: PKCS8_Exception
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:306,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:306,1
    - Dst: AlgorithmIdentifier::oid
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:306,1
    - Dst: load_private_key
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' source'
    - ' get_pass'
    - is_encrypted
    argTypes:
    - DataSource
    - std::function<std::string()>
    - bool
    constantsTouched: []
    func_position:
      end: 310
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 310
    functionName: Botan::PKCS8::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 24
    functionsReached:
    - fmt
    - load_private_key
    - PKCS8_Exception
    - Botan::PKCS8::PKCS8_decode
    - AlgorithmIdentifier::oid
    - std::string::empty
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: "std::unique_ptr<Private_Key> load_key(DataSource& source,\n                                      const
      std::function<std::string()>& get_pass,\n                                      bool
      is_encrypted)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' source'
    - ' get_pass'
    argTypes:
    - DataSource
    - std::function<std::string()>
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: Botan::PKCS8::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 25
    functionsReached:
    - Botan::PKCS8::load_key
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> load_key(DataSource& source, const std::function<std::string()>&
      get_pass)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - ' get_passphrase'
    argTypes:
    - std::span<const uint8_t>
    - std::function<std::string()>
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: Botan::PKCS8::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 26
    functionsReached:
    - Botan::PKCS8::load_key
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: "std::unique_ptr<Private_Key> load_key(std::span<const uint8_t> source,\n
      \                                     const std::function<std::string()>& get_passphrase)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - pass
    argTypes:
    - std::span<const uint8_t>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: Botan::PKCS8::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 27
    functionsReached:
    - Botan::PKCS8::load_key
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> load_key(std::span<const uint8_t> source,
      std::string_view pass)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - source
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: Botan::PKCS8::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 28
    functionsReached:
    - Botan::PKCS8::load_key
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> load_key(std::span<const uint8_t> source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:341,1
    - Dst: std::string
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' source'
    - pass
    argTypes:
    - DataSource
    - std::string_view
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: Botan::PKCS8::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 29
    functionsReached:
    - std::string
    - Botan::PKCS8::load_key
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> load_key(DataSource& source, std::string_view
      pass)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_Exception
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:350,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/lib/pubkey/pkcs8.cpp:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: Botan::PKCS8::load_key
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.cpp
    functionUses: 30
    functionsReached:
    - PKCS8_Exception
    - Botan::PKCS8::load_key
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> load_key(DataSource& source)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::PK_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Encryptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ~PK_Encryptor()
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PK_Encryptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan::PK_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Encryptor(const PK_Encryptor&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::PK_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Encryptor(PK_Encryptor&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: ~PK_Decryptor()
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PK_Decryptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: PK_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Decryptor(const PK_Decryptor&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: PK_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PK_Decryptor(PK_Decryptor&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_Signer
      Src: /src/botan/src/lib/pubkey/pubkey.h:165,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/pubkey.h:187,1
    - Dst: signature
      Src: /src/botan/src/lib/pubkey/pubkey.h:188,1
    - Dst: sign_message
      Src: /src/botan/src/lib/pubkey/pubkey.h:198,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/pubkey.h:198,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pubkey.h:198,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/pubkey.h:205,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/pubkey.h:218,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/pubkey.h:218,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pubkey.h:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 265
    functionName: final
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 63
    functionsReached:
    - PK_Signer
    - data
    - size
    - update
    - signature
    - sign_message
    linkageType: ''
    returnType: PK_Signer
    signature: PK_Signer final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_Verifier
      Src: /src/botan/src/lib/pubkey/pubkey.h:281,1
    - Dst: verify_message
      Src: /src/botan/src/lib/pubkey/pubkey.h:326,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/pubkey.h:326,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pubkey.h:326,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/pubkey.h:326,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pubkey.h:326,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/pubkey.h:334,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/pubkey.h:349,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/pubkey.h:349,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pubkey.h:349,1
    - Dst: check_signature
      Src: /src/botan/src/lib/pubkey/pubkey.h:372,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/pubkey.h:372,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pubkey.h:372,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/pubkey.h:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 392
    functionName: final
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 63
    functionsReached:
    - data
    - size
    - BOTAN_DEPRECATED
    - check_signature
    - verify_message
    - update
    - PK_Verifier
    linkageType: ''
    returnType: PK_Verifier
    signature: PK_Verifier final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_Key_Agreement
      Src: /src/botan/src/lib/pubkey/pubkey.h:406,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/pubkey.h:441,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/pubkey.h:441,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pubkey.h:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 473
    functionName: final
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 63
    functionsReached:
    - data
    - derive_key
    - size
    - PK_Key_Agreement
    linkageType: ''
    returnType: PK_Key_Agreement
    signature: PK_Key_Agreement final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 513
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 513
    functionName: PK_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PK_Encryptor_EME
    signature: PK_Encryptor_EME PK_Encryptor
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_Decryptor_EME
      Src: /src/botan/src/lib/pubkey/pubkey.h:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 546
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 546
    functionName: PK_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached:
    - PK_Decryptor_EME
    linkageType: ''
    returnType: PK_Decryptor_EME
    signature: PK_Decryptor_EME PK_Decryptor
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pubkey.h:554,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pubkey.h:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - encapsulated_shared_key
    - shared_key
    argTypes:
    - std::vector<uint8_t>
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 554
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 554
    functionName: KEM_Encapsulation::KEM_Encapsulation
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void KEM_Encapsulation(std::vector<uint8_t> encapsulated_shared_key,
      secure_vector<uint8_t> shared_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 559
    functionName: '& encapsulated_shared_key() const'
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & encapsulated_shared_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 564
    functionName: '& shared_key() const'
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & shared_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/pubkey.h:570,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/pubkey/pubkey.h:570,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/pubkey/pubkey.h:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' kem'
    argTypes:
    - KEM_Encapsulation
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: KEM_Encapsulation::destructure
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - std::exchange
    linkageType: ''
    returnType: std::pair<std::vector<uint8_t>, secure_vector<uint8_t>>
    signature: std::pair<std::vector<uint8_t>, secure_vector<uint8_t>> destructure(KEM_Encapsulation&&
      kem)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - encapsulated_size
    - shared_key_size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 577
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 577
    functionName: KEM_Encapsulation::KEM_Encapsulation
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KEM_Encapsulation(size_t encapsulated_size, size_t shared_key_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_KEM_Encryptor
      Src: /src/botan/src/lib/pubkey/pubkey.h:595,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/pubkey.h:604,1
    - Dst: encrypt
      Src: /src/botan/src/lib/pubkey/pubkey.h:656,1
    - Dst: KEM_Encapsulation
      Src: /src/botan/src/lib/pubkey/pubkey.h:657,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pubkey.h:657,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pubkey.h:657,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/pubkey.h:675,1
    - Dst: encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.h:675,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/pubkey.h:676,1
    - Dst: shared_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.h:676,1
    - Dst: encrypt
      Src: /src/botan/src/lib/pubkey/pubkey.h:677,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/pubkey.h:696,1
    - Dst: encrypt
      Src: /src/botan/src/lib/pubkey/pubkey.h:703,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/pubkey.h:706,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/pubkey.h:712,1
    - Dst: encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.h:712,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/pubkey.h:713,1
    - Dst: shared_key_length
      Src: /src/botan/src/lib/pubkey/pubkey.h:713,1
    - Dst: encrypt
      Src: /src/botan/src/lib/pubkey/pubkey.h:714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 719
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 719
    functionName: final
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 63
    functionsReached:
    - shared_key_length
    - BOTAN_DEPRECATED
    - resize
    - std::move
    - encrypt
    - encapsulated_key_length
    - KEM_Encapsulation
    - PK_KEM_Encryptor
    linkageType: ''
    returnType: PK_KEM_Encryptor
    signature: PK_KEM_Encryptor final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_KEM_Decryptor
      Src: /src/botan/src/lib/pubkey/pubkey.h:733,1
    - Dst: decrypt
      Src: /src/botan/src/lib/pubkey/pubkey.h:801,1
    - Dst: decrypt
      Src: /src/botan/src/lib/pubkey/pubkey.h:820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 826
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 826
    functionName: final
    functionSourceFile: /src/botan/src/lib/pubkey/pubkey.h
    functionUses: 63
    functionsReached:
    - PK_KEM_Decryptor
    - decrypt
    linkageType: ''
    returnType: PK_KEM_Decryptor
    signature: PK_KEM_Decryptor final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: Botan::Decoding_Error
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: PKCS8_Exception
    signature: PKCS8_Exception Decoding_Error
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: private_key_info
      Src: /src/botan/src/lib/pubkey/pkcs8.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Private_Key
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::PKCS8::BER_encode
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.h
    functionUses: 5
    functionsReached:
    - private_key_info
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> BER_encode(const Private_Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: private_key_info
      Src: /src/botan/src/lib/pubkey/pkcs8.h:237,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/lib/pubkey/pkcs8.h:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Private_Key
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: Botan::PKCS8::copy_key
    functionSourceFile: /src/botan/src/lib/pubkey/pkcs8.h
    functionUses: 0
    functionsReached:
    - private_key_info
    - Botan::PKCS8::load_key
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> copy_key(const Private_Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: Botan::ecp_work_factor
    functionSourceFile: /src/botan/src/lib/pubkey/workfactor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ecp_work_factor(size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/workfactor.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bits
    - log2_k
    argTypes:
    - size_t
    - double
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: Botan::nfs_workfactor
    functionSourceFile: /src/botan/src/lib/pubkey/workfactor.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t nfs_workfactor(size_t bits, double log2_k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::nfs_workfactor
      Src: /src/botan/src/lib/pubkey/workfactor.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: Botan::if_work_factor
    functionSourceFile: /src/botan/src/lib/pubkey/workfactor.cpp
    functionUses: 2
    functionsReached:
    - Botan::nfs_workfactor
    linkageType: ''
    returnType: size_t
    signature: size_t if_work_factor(size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::if_work_factor
      Src: /src/botan/src/lib/pubkey/workfactor.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: Botan::dl_work_factor
    functionSourceFile: /src/botan/src/lib/pubkey/workfactor.cpp
    functionUses: 1
    functionsReached:
    - Botan::if_work_factor
    linkageType: ''
    returnType: size_t
    signature: size_t dl_work_factor(size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: Botan::dl_exponent_size
    functionSourceFile: /src/botan/src/lib/pubkey/workfactor.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t dl_exponent_size(size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 63
    functionName: Botan::PK_Ops::Encryption
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Encryption
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: Botan::PK_Ops::Decryption
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Decryption
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: Botan::PK_Ops::Verification
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Verification
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 137
    functionName: Botan::PK_Ops::Signature
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Signature
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: Botan::PK_Ops::Key_Agreement
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Key_Agreement
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: Botan::PK_Ops::KEM_Encryption
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API KEM_Encryption
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: Botan::PK_Ops::KEM_Decryption
    functionSourceFile: /src/botan/src/lib/pubkey/pk_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API KEM_Decryption
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:39,1
    - Dst: is_slh_dsa
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:39,1
    - Dst: StrongSpan<const SphincsContext>::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:39,1
    - Dst: is_slh_dsa
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:41,1
    - Dst: Botan::concat
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:45,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:46,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:46,1
    - Dst: Botan::checked_cast_to
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:46,1
    - Dst: StrongSpan<const SphincsContext>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:46,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:47,1
    - Dst: is_slh_dsa
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:52,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:56,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - ' params'
    - context
    argTypes:
    - SphincsInputMessage
    - Sphincs_Parameters
    - StrongSpan<const SphincsContext>
    constantsTouched: []
    func_position:
      end: 61
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 61
    functionName: Botan::prepare_message
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - StrongSpan<const SphincsContext>::empty
    - Botan::checked_cast_to
    - Botan::store_be
    - BOTAN_ARG_CHECK
    - StrongSpan<const SphincsContext>::size
    - std::move
    - is_slh_dsa
    - Botan::concat
    - Internal_Error
    linkageType: ''
    returnType: SphincsMessageInternal
    signature: "SphincsMessageInternal prepare_message(SphincsInputMessage msg,\n
      \                                      const Sphincs_Parameters& params,\n                                       StrongSpan<const
      SphincsContext> context)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:69,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - params
    - public_seed
    - sphincs_root
    argTypes:
    - Sphincs_Parameters
    - SphincsPublicSeed
    - SphincsTreeNode
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: Botan::SphincsPlus_PublicKeyInternal::SphincsPlus_PublicKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void SphincsPlus_PublicKeyInternal(Sphincs_Parameters params,\n                                    SphincsPublicSeed
      public_seed,\n                                    SphincsTreeNode sphincs_root)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:72,1
    - Dst: public_key_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:72,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:73,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:77,1
    - Dst: Sphincs_Parameters::n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:77,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:78,1
    - Dst: Sphincs_Parameters::n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:78,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:80,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - params
    - key_bits
    argTypes:
    - Sphincs_Parameters
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: Botan::SphincsPlus_PublicKeyInternal::SphincsPlus_PublicKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - BufferSlicer::copy
    - Sphincs_Parameters::n
    - public_key_bytes
    - Decoding_Error
    - std::span<const uint8_t>::size
    - BufferSlicer::empty
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_PublicKeyInternal(Sphincs_Parameters params, std::span<const
      uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan::SphincsPlus_PublicKeyInternal::key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - concat
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: '& seed() const'
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SphincsPublicSeed
    signature: SphincsPublicSeed & seed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: '& root() const'
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SphincsTreeNode
    signature: SphincsTreeNode & root() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: '& parameters() const'
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Sphincs_Parameters
    signature: Sphincs_Parameters & parameters() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:100,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - secret_seed
    - prf
    argTypes:
    - SphincsSecretSeed
    - SphincsSecretPRF
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: Botan::SphincsPlus_PrivateKeyInternal::SphincsPlus_PrivateKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_PrivateKeyInternal(SphincsSecretSeed secret_seed,
      SphincsSecretPRF prf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:103,1
    - Dst: private_key_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:103,1
    - Dst: public_key_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:103,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:104,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:108,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:108,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:109,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:109,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:111,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' params'
    - key_bits
    argTypes:
    - Sphincs_Parameters
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: Botan::SphincsPlus_PrivateKeyInternal::SphincsPlus_PrivateKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - private_key_bytes
    - BOTAN_ASSERT_NOMSG
    - n
    - BufferSlicer::copy
    - public_key_bytes
    - Decoding_Error
    - BufferSlicer::empty
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_PrivateKeyInternal(const Sphincs_Parameters& params,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: '& seed() const'
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SphincsSecretSeed
    signature: SphincsSecretSeed & seed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: '& prf() const'
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SphincsSecretPRF
    signature: SphincsSecretPRF & prf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan::SphincsPlus_PrivateKeyInternal::key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - concat
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pub_key
    - type
    - hash
    argTypes:
    - std::span<const uint8_t>
    - Sphincs_Parameter_Set
    - Sphincs_Hash_Type
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: Botan::SphincsPlus_PublicKey::SphincsPlus_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sphincs_Parameters::create
    linkageType: ''
    returnType: void
    signature: "void SphincsPlus_PublicKey::SphincsPlus_PublicKey(std::span<const
      uint8_t> pub_key,\n                                             Sphincs_Parameter_Set
      type,\n                                             Sphincs_Hash_Type hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SphincsPlus_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:131,1
    - Dst: Sphincs_Parameters::is_available
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:132,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pub_key
    - params
    argTypes:
    - std::span<const uint8_t>
    - Sphincs_Parameters
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: Botan::SphincsPlus_PublicKey::SphincsPlus_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<SphincsPlus_PublicKeyInternal>
    - Sphincs_Parameters::is_available
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_PublicKey::SphincsPlus_PublicKey(std::span<const uint8_t>
      pub_key, Sphincs_Parameters params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:138,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: Botan::SphincsPlus_PublicKey::SphincsPlus_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sphincs_Parameters::create
    - oid
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_PublicKey::SphincsPlus_PublicKey(const AlgorithmIdentifier&
      alg_id, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: SphincsPlus_PublicKey::~SphincsPlus_PublicKey()
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_PublicKey::~SphincsPlus_PublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: Botan::SphincsPlus_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - parameters
    linkageType: ''
    returnType: size_t
    signature: size_t SphincsPlus_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: Botan::SphincsPlus_PublicKey::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - parameters
    linkageType: ''
    returnType: std::string
    signature: std::string SphincsPlus_PublicKey::algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: Botan::SphincsPlus_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - parameters
    linkageType: ''
    returnType: size_t
    signature: size_t SphincsPlus_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: Botan::SphincsPlus_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - parameters
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier SphincsPlus_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: Botan::SphincsPlus_PublicKey::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - parameters
    linkageType: ''
    returnType: OID
    signature: OID SphincsPlus_PublicKey::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: Botan::SphincsPlus_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SphincsPlus_PublicKey::check_key(RandomNumberGenerator&, bool)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_bits
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: Botan::SphincsPlus_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> SphincsPlus_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SphincsPlus_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: Botan::SphincsPlus_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan::SphincsPlus_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> SphincsPlus_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SphincsPlus_PrivateKey>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:178,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: Botan::SphincsPlus_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - parameters
    - std::make_unique<SphincsPlus_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> SphincsPlus_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:184,1
    - Dst: Botan::Sphincs_Hash_Functions::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:185,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:185,1
    - Dst: seed
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:185,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:187,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:187,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:189,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pub_key
    argTypes:
    - std::shared_ptr<SphincsPlus_PublicKeyInternal>
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: Botan::SphincsPlus_Verification_Operation::SphincsPlus_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sphincs_Hash_Functions::create
    - size
    - parameters
    - std::move
    - seed
    - BOTAN_ARG_CHECK
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_Verification_Operation(std::shared_ptr<SphincsPlus_PublicKeyInternal>
      pub_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:200,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:200,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:200,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: Botan::SphincsPlus_Verification_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::span<const uint8_t>::end
    - get
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prepare_message
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:207,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:207,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:207,1
    - Dst: Botan::SphincsPlus_Verification_Operation::slh_verify_internal
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: Botan::SphincsPlus_Verification_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::exchange
    - parameters
    - prepare_message
    - Botan::SphincsPlus_Verification_Operation::slh_verify_internal
    linkageType: ''
    returnType: bool
    signature: bool is_valid_signature(std::span<const uint8_t> sig) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: msg_hash_function_name
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: Botan::SphincsPlus_Verification_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - msg_hash_function_name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:216,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:217,1
    - Dst: sphincs_signature_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:217,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:223,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:223,1
    - Dst: Sphincs_Address::set_tree_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:228,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:229,1
    - Dst: fors_signature_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:229,1
    - Dst: fors_public_key_from_signature
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:230,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:233,1
    - Dst: ht_signature_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:233,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:234,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:234,1
    - Dst: ht_verify
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:235,1
    - Dst: root
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' msg'
    - sig
    argTypes:
    - SphincsMessageInternal
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 236
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 236
    functionName: Botan::SphincsPlus_Verification_Operation::slh_verify_internal
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 1
    functionsReached:
    - Sphincs_Address::set_tree_address
    - BOTAN_ASSERT_NOMSG
    - BufferSlicer::take
    - n
    - fors_public_key_from_signature
    - ht_signature_bytes
    - sphincs_signature_bytes
    - ht_verify
    - root
    - parameters
    - BufferSlicer::empty
    - std::span<const uint8_t>::size
    - fors_signature_bytes
    linkageType: ''
    returnType: bool
    signature: bool slh_verify_internal(const SphincsMessageInternal& msg, std::span<const
      uint8_t> sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:246,1
    - Dst: std::make_unique<SphincsPlus_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:247,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:249,1
    - Dst: Botan::SphincsPlus_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - provider
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: Botan::SphincsPlus_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::empty
    - std::make_unique<SphincsPlus_Verification_Operation>
    - Botan::SphincsPlus_PublicKey::algo_name
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> SphincsPlus_PublicKey::create_verification_op(std::string_view
      /*params*/,\n                                                                                    std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:254,1
    - Dst: Botan::SphincsPlus_PublicKey::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:255,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:256,1
    - Dst: std::make_unique<SphincsPlus_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:258,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:260,1
    - Dst: Botan::SphincsPlus_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ' signature_algorithm'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: Botan::SphincsPlus_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Provider_Not_Found
    - Botan::SphincsPlus_PublicKey::algorithm_identifier
    - std::string_view::empty
    - Decoding_Error
    - Botan::SphincsPlus_PublicKey::algo_name
    - std::make_unique<SphincsPlus_Verification_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> SphincsPlus_PublicKey::create_x509_verification_op(\n
      \  const AlgorithmIdentifier& signature_algorithm, std::string_view provider)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: Botan::SphincsPlus_PublicKey::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SphincsPlus_PublicKey::supports_operation(PublicKeyOperation op)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:270,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:276,1
    - Dst: auto::private_key_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:276,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:277,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:280,1
    - Dst: auto::private_key_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:280,1
    - Dst: auto::public_key_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' oid'
    - key_bits
    argTypes:
    - OID
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: Botan::slice_off_public_key
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - auto::public_key_bytes
    - Botan::Decoding_Error
    - std::span<const uint8_t>::subspan
    - Botan::Sphincs_Parameters::create
    - std::span<const uint8_t>::size
    - auto::private_key_bytes
    linkageType: ''
    returnType: std::span<const uint8_t>
    signature: std::span<const uint8_t> slice_off_public_key(const OID& oid, std::span<const
      uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - private_key
    - type
    - hash
    argTypes:
    - std::span<const uint8_t>
    - Sphincs_Parameter_Set
    - Sphincs_Hash_Type
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: Botan::SphincsPlus_PrivateKey::SphincsPlus_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sphincs_Parameters::create
    linkageType: ''
    returnType: void
    signature: "void SphincsPlus_PrivateKey::SphincsPlus_PrivateKey(std::span<const
      uint8_t> private_key,\n                                               Sphincs_Parameter_Set
      type,\n                                               Sphincs_Hash_Type hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:291,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: Botan::SphincsPlus_PrivateKey::SphincsPlus_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sphincs_Parameters::create
    - oid
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_PrivateKey::SphincsPlus_PrivateKey(const AlgorithmIdentifier&
      alg_id, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_off_public_key
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:294,1
    - Dst: Sphincs_Parameters::object_identifier
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:294,1
    - Dst: Sphincs_Parameters::is_available
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:295,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:296,1
    - Dst: Sphincs_Parameters::private_key_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:299,1
    - Dst: Sphincs_Parameters::public_key_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:299,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:300,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:300,1
    - Dst: std::make_shared<SphincsPlus_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:302,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - private_key
    - params
    argTypes:
    - std::span<const uint8_t>
    - Sphincs_Parameters
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: Botan::SphincsPlus_PrivateKey::SphincsPlus_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - slice_off_public_key
    - BOTAN_ASSERT_NOMSG
    - Sphincs_Parameters::object_identifier
    - Sphincs_Parameters::private_key_bytes
    - Sphincs_Parameters::is_available
    - std::make_shared<SphincsPlus_PrivateKeyInternal>
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::first
    - Not_Implemented
    - Sphincs_Parameters::public_key_bytes
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_PrivateKey::SphincsPlus_PrivateKey(std::span<const
      uint8_t> private_key, Sphincs_Parameters params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' rng'
    - type
    - hash
    argTypes:
    - RandomNumberGenerator
    - Sphincs_Parameter_Set
    - Sphincs_Hash_Type
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: Botan::SphincsPlus_PrivateKey::SphincsPlus_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sphincs_Parameters::create
    linkageType: ''
    returnType: void
    signature: "void SphincsPlus_PrivateKey::SphincsPlus_PrivateKey(RandomNumberGenerator&
      rng,\n                                               Sphincs_Parameter_Set type,\n
      \                                              Sphincs_Hash_Type hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Sphincs_Parameters::is_available
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:312,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:313,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:315,1
    - Dst: Sphincs_Parameters::n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:315,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:316,1
    - Dst: Sphincs_Parameters::n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:316,1
    - Dst: std::make_shared<SphincsPlus_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:318,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:318,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:318,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:320,1
    - Dst: Sphincs_Parameters::n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:320,1
    - Dst: Botan::Sphincs_Hash_Functions::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:321,1
    - Dst: xmss_gen_root
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:322,1
    - Dst: seed
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:322,1
    - Dst: std::make_shared<SphincsPlus_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:324,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:324,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' rng'
    - params
    argTypes:
    - RandomNumberGenerator
    - Sphincs_Parameters
    constantsTouched: []
    func_position:
      end: 325
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 325
    functionName: Botan::SphincsPlus_PrivateKey::SphincsPlus_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<SphincsPlus_PublicKeyInternal>
    - Botan::Sphincs_Hash_Functions::create
    - random_vec
    - Sphincs_Parameters::is_available
    - xmss_gen_root
    - Sphincs_Parameters::n
    - std::move
    - std::make_shared<SphincsPlus_PrivateKeyInternal>
    - seed
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_PrivateKey::SphincsPlus_PrivateKey(RandomNumberGenerator&
      rng, Sphincs_Parameters params)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: SphincsPlus_PrivateKey::~SphincsPlus_PrivateKey()
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsPlus_PrivateKey::~SphincsPlus_PrivateKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:330,1
    - Dst: key_bits
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:330,1
    - Dst: key_bits
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: Botan::SphincsPlus_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 1
    functionsReached:
    - key_bits
    - concat
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> SphincsPlus_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SphincsPlus_PrivateKey::private_key_bits
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: Botan::SphincsPlus_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan::SphincsPlus_PrivateKey::private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> SphincsPlus_PrivateKey::raw_private_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SphincsPlus_PublicKey>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: Botan::SphincsPlus_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<SphincsPlus_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> SphincsPlus_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:346,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:347,1
    - Dst: Botan::Sphincs_Hash_Functions::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:348,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:348,1
    - Dst: seed
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:348,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:351,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:351,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:352,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - private_key
    - public_key
    - randomized
    argTypes:
    - std::shared_ptr<SphincsPlus_PrivateKeyInternal>
    - std::shared_ptr<SphincsPlus_PublicKeyInternal>
    - bool
    constantsTouched: []
    func_position:
      end: 354
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 354
    functionName: Botan::SphincsPlus_Signature_Operation::SphincsPlus_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sphincs_Hash_Functions::create
    - size
    - parameters
    - std::move
    - seed
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void SphincsPlus_Signature_Operation(std::shared_ptr<SphincsPlus_PrivateKeyInternal>
      private_key,\n                                      std::shared_ptr<SphincsPlus_PublicKeyInternal>
      public_key,\n                                      bool randomized)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:358,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:358,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:358,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: Botan::SphincsPlus_Signature_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::span<const uint8_t>::end
    - get
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:364,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:364,1
    - Dst: prepare_message
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:366,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:366,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:366,1
    - Dst: Botan::SphincsPlus_Signature_Operation::slh_sign_internal
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 369
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 369
    functionName: Botan::SphincsPlus_Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - std::exchange
    - random_vec
    - parameters
    - prepare_message
    - Botan::SphincsPlus_Signature_Operation::slh_sign_internal
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator& rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 371
    functionName: Botan::SphincsPlus_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - parameters
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 375
    functionName: Botan::SphincsPlus_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - parameters
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier algorithm_identifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: msg_hash_function_name
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 377
    functionName: Botan::SphincsPlus_Signature_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - msg_hash_function_name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:383,1
    - Dst: sphincs_signature_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:385,1
    - Dst: std::optional<StrongSpan<const SphincsOptionalRandomness>>::has_value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:391,1
    - Dst: std::optional<StrongSpan<const SphincsOptionalRandomness>>::value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:391,1
    - Dst: StrongSpan<const SphincsOptionalRandomness>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:391,1
    - Dst: seed
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:391,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:393,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:393,1
    - Dst: PRF_msg
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:394,1
    - Dst: prf
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:394,1
    - Dst: Sphincs_Address::set_tree_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:401,1
    - Dst: fors_sign_and_pkgen
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:402,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:402,1
    - Dst: fors_signature_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:402,1
    - Dst: seed
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:404,1
    - Dst: ht_sign
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:410,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:410,1
    - Dst: ht_signature_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:410,1
    - Dst: seed
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:412,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:418,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' message'
    - addrnd
    argTypes:
    - SphincsMessageInternal
    - std::optional<StrongSpan<const SphincsOptionalRandomness>>
    constantsTouched: []
    func_position:
      end: 420
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 420
    functionName: Botan::SphincsPlus_Signature_Operation::slh_sign_internal
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 1
    functionsReached:
    - BufferStuffer::full
    - Sphincs_Address::set_tree_address
    - PRF_msg
    - fors_signature_bytes
    - BOTAN_ASSERT_NOMSG
    - n
    - std::optional<StrongSpan<const SphincsOptionalRandomness>>::has_value
    - ht_signature_bytes
    - sphincs_signature_bytes
    - parameters
    - fors_sign_and_pkgen
    - StrongSpan<const SphincsOptionalRandomness>
    - seed
    - std::optional<StrongSpan<const SphincsOptionalRandomness>>::value
    - ht_sign
    - prf
    - BufferStuffer::next
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> slh_sign_internal(const SphincsMessageInternal&
      message,\n                                             std::optional<StrongSpan<const
      SphincsOptionalRandomness>> addrnd)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:433,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:434,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:434,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:441,1
    - Dst: std::make_unique<SphincsPlus_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:442,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:444,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp:444,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 445
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 445
    functionName: Botan::SphincsPlus_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::make_unique<SphincsPlus_Signature_Operation>
    - Provider_Not_Found
    - std::string_view::empty
    - BOTAN_UNUSED
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> SphincsPlus_PrivateKey::create_signature_op(RandomNumberGenerator&
      rng,\n                                                                               std::string_view
      params,\n                                                                               std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:50,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:51,1
    - Dst: Botan::copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:54,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:54,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:54,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:54,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:59,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:65,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:65,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:66,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:66,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:75,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:80,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:85,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:90,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:95,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:100,1
    - Dst: Botan::Sphincs_Address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:116,1
    - Dst: auto::copy_subtree_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:117,1
    - Dst: Sphincs_Address::copy_keypair_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:133,1
    - Dst: Sphincs_Address_Type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:137,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:141,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:142,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:142,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:150,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:151,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:152,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:153,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:154,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:155,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 163
    functionName: Botan::Sphincs_Address
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_address.h
    functionUses: 3
    functionsReached:
    - Botan::begin
    - Botan::get
    - set_type
    - Sphincs_Address_Type
    - std::array::data
    - static_cast<uint32_t>
    - static_cast<uint8_t>
    - Botan::copy
    - Sphincs_Address::copy_keypair_from
    - fill
    - Botan::size
    - Botan::end
    - Botan::store_be
    - Botan::Sphincs_Address
    - auto::copy_subtree_from
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Sphincs_Address
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' sphincs_params'
    - ' pub_seed'
    argTypes:
    - Sphincs_Parameters
    - SphincsPublicSeed
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::Sphincs_Hash_Functions::Sphincs_Hash_Functions
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Sphincs_Hash_Functions::Sphincs_Hash_Functions(const Sphincs_Parameters&
      sphincs_params,\n                                               const SphincsPublicSeed&
      pub_seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:36,1
    - Dst: std::make_unique<Sphincs_Hash_Functions_Sha2>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:39,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:41,1
    - Dst: std::make_unique<Sphincs_Hash_Functions_Shake>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:46,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:48,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:52,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' sphincs_params'
    - ' pub_seed'
    argTypes:
    - Sphincs_Parameters
    - SphincsPublicSeed
    constantsTouched: []
    func_position:
      end: 55
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 55
    functionName: Botan::Sphincs_Hash_Functions::create
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp
    functionUses: 5
    functionsReached:
    - std::make_unique<Sphincs_Hash_Functions_Sha2>
    - hash_type
    - BOTAN_ASSERT_UNREACHABLE
    - std::make_unique<Sphincs_Hash_Functions_Shake>
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<Sphincs_Hash_Functions>
    signature: "std::unique_ptr<Sphincs_Hash_Functions> Sphincs_Hash_Functions::create(const
      Sphincs_Parameters& sphincs_params,\n                                                                       const
      SphincsPublicSeed& pub_seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:64,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:64,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:65,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:65,1
    - Dst: Botan::copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:70,1
    - Dst: std::span<const uint8_t>::rbegin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:70,1
    - Dst: std::span<const uint8_t>::rend
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:70,1
    - Dst: std::array::rbegin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:70,1
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:71,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:71,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:73,1
    - Dst: wrapped_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - nbits
    - bytes
    argTypes:
    - uint32_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: Botan::from_first_n_bits
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - std::array::rbegin
    - std::array::data
    - std::span<const uint8_t>::rend
    - T
    - Botan::copy
    - wrapped_type
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::rbegin
    - Botan::load_be
    linkageType: ''
    returnType: T
    signature: T from_first_n_bits(const uint32_t nbits, std::span<const uint8_t>
      bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: H_msg_digest
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:80,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:86,1
    - Dst: fors_message_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:86,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:87,1
    - Dst: tree_digest_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:87,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:88,1
    - Dst: leaf_digest_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:88,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:89,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:89,1
    - Dst: from_first_n_bits<XmssTreeIndexInLayer>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:91,1
    - Dst: h
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:91,1
    - Dst: xmss_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:91,1
    - Dst: from_first_n_bits<TreeNodeIndex>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:92,1
    - Dst: xmss_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:92,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - ' root'
    - ' message'
    argTypes:
    - StrongSpan<const SphincsMessageRandomness>
    - SphincsTreeNode
    - SphincsMessageInternal
    constantsTouched: []
    func_position:
      end: 94
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 94
    functionName: Botan::Sphincs_Hash_Functions::H_msg
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - BufferSlicer::take
    - BufferSlicer::copy
    - fors_message_bytes
    - h
    - H_msg_digest
    - leaf_digest_bytes
    - BufferSlicer::empty
    - tree_digest_bytes
    - std::move
    - from_first_n_bits<TreeNodeIndex>
    - from_first_n_bits<XmssTreeIndexInLayer>
    - xmss_tree_height
    linkageType: ''
    returnType: std::tuple<SphincsHashedMessage, XmssTreeIndexInLayer, TreeNodeIndex>
    signature: "std::tuple<SphincsHashedMessage, XmssTreeIndexInLayer, TreeNodeIndex>
      Sphincs_Hash_Functions::H_msg(\n   StrongSpan<const SphincsMessageRandomness>
      r, const SphincsTreeNode& root, const SphincsMessageInternal& message)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:31,1
    - Dst: StrongSpan<const WotsNode>::begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:31,1
    - Dst: StrongSpan<const WotsNode>::end
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:31,1
    - Dst: StrongSpan<WotsPublicKeyNode>::begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:31,1
    - Dst: w
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:34,1
    - Dst: set_hash_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:35,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 7
    argNames:
    - out
    - wots_chain_key
    - start
    - steps
    - ' addr'
    - ' hashes'
    - ' params'
    argTypes:
    - StrongSpan<WotsPublicKeyNode>
    - StrongSpan<const WotsNode>
    - WotsHashIndex
    - uint8_t
    - Sphincs_Address
    - Sphincs_Hash_Functions
    - Sphincs_Parameters
    constantsTouched: []
    func_position:
      end: 38
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 38
    functionName: Botan::chain
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp
    functionUses: 0
    functionsReached:
    - StrongSpan<WotsPublicKeyNode>::begin
    - T
    - StrongSpan<const WotsNode>::begin
    - Botan::copy
    - set_hash_address
    - w
    - StrongSpan<const WotsNode>::end
    linkageType: ''
    returnType: void
    signature: "void chain(StrongSpan<WotsPublicKeyNode> out,\n           StrongSpan<const
      WotsNode> wots_chain_key,\n           WotsHashIndex start,\n           uint8_t
      steps,\n           Sphincs_Address& addr,\n           Sphincs_Hash_Functions&
      hashes,\n           const Sphincs_Parameters& params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:47,1
    - Dst: std::span<WotsHashIndex>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:47,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:47,1
    - Dst: log_w
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:47,1
    - Dst: log_w
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:59,1
    - Dst: WotsHashIndex
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:60,1
    - Dst: w
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - output
    - input
    - ' params'
    argTypes:
    - std::span<WotsHashIndex>
    - std::span<const uint8_t>
    - Sphincs_Parameters
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: Botan::base_2_b
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - log_w
    - WotsHashIndex
    - w
    - std::span<const uint8_t>::size
    - std::span<WotsHashIndex>::size
    linkageType: ''
    returnType: void
    signature: void base_2_b(std::span<WotsHashIndex> output, std::span<const uint8_t>
      input, const Sphincs_Parameters& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: w
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:75,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:75,1
    - Dst: wots_len_2
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:79,1
    - Dst: log_w
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:79,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:82,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:82,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:85,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:85,1
    - Dst: Botan::base_2_b
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:86,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - output
    - msg_base_w
    - ' params'
    argTypes:
    - std::span<WotsHashIndex>
    - std::span<const WotsHashIndex>
    - Sphincs_Parameters
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: Botan::wots_checksum
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp
    functionUses: 0
    functionsReached:
    - Botan::get
    - Botan::base_2_b
    - std::array::data
    - log_w
    - BOTAN_ASSERT_NOMSG
    - std::span
    - wots_len_2
    - std::array::size
    - w
    - Botan::store_be
    linkageType: ''
    returnType: void
    signature: "void wots_checksum(std::span<WotsHashIndex> output,\n                   std::span<const
      WotsHashIndex> msg_base_w,\n                   const Sphincs_Parameters& params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wots_len_1
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:92,1
    - Dst: wots_len_2
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:92,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:94,1
    - Dst: wots_len_1
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:94,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:95,1
    - Dst: wots_len_2
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:95,1
    - Dst: Botan::base_2_b
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:97,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:97,1
    - Dst: Botan::wots_checksum
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' msg'
    - ' params'
    argTypes:
    - SphincsTreeNode
    - Sphincs_Parameters
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: Botan::chain_lengths
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp
    functionUses: 1
    functionsReached:
    - Botan::get
    - Botan::base_2_b
    - std::span
    - wots_len_1
    - wots_len_2
    - Botan::wots_checksum
    linkageType: ''
    returnType: std::vector<WotsHashIndex>
    signature: std::vector<WotsHashIndex> chain_lengths(const SphincsTreeNode& msg,
      const Sphincs_Parameters& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::chain_lengths
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:108,1
    - Dst: wots_len
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:109,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:109,1
    - Dst: wots_len
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:113,1
    - Dst: set_chain_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:114,1
    - Dst: WotsChainIndex::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:117,1
    - Dst: Botan::chain
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:120,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:120,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:120,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:121,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ' hashed_message'
    - signature
    - ' address'
    - ' params'
    - ' hashes'
    argTypes:
    - SphincsTreeNode
    - StrongSpan<const WotsSignature>
    - Sphincs_Address
    - Sphincs_Parameters
    - Sphincs_Hash_Functions
    constantsTouched: []
    func_position:
      end: 130
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 130
    functionName: Botan::wots_public_key_from_signature
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp
    functionUses: 1
    functionsReached:
    - wots_len
    - Botan::chain
    - BufferSlicer::take
    - n
    - WotsChainIndex::get
    - Botan::chain_lengths
    - set_chain_address
    - BufferStuffer::next
    linkageType: ''
    returnType: WotsPublicKey
    signature: "WotsPublicKey wots_public_key_from_signature(const SphincsTreeNode&
      hashed_message,\n                                             StrongSpan<const
      WotsSignature> signature,\n                                             Sphincs_Address&
      address,\n                                             const Sphincs_Parameters&
      params,\n                                             Sphincs_Hash_Functions&
      hashes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:143,1
    - Dst: std::optional<TreeNodeIndex>::has_value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:143,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:143,1
    - Dst: wots_len
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:143,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:144,1
    - Dst: get_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:144,1
    - Dst: wots_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:147,1
    - Dst: set_keypair_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:152,1
    - Dst: set_keypair_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:153,1
    - Dst: wots_len
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:155,1
    - Dst: std::optional<TreeNodeIndex>::has_value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:159,1
    - Dst: std::optional<TreeNodeIndex>::value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:159,1
    - Dst: WotsChainIndex::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:160,1
    - Dst: set_chain_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:167,1
    - Dst: set_hash_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:168,1
    - Dst: WotsHashIndex
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:168,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:169,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:171,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:171,1
    - Dst: PRF
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:173,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:175,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:180,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:180,1
    - Dst: Botan::copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:181,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:181,1
    - Dst: auto::end
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:181,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:181,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:181,1
    - Dst: w
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:185,1
    - Dst: set_hash_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:190,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:192,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp:197,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 10
    argNames:
    - sig_out
    - leaf_out
    - ' secret_seed'
    - leaf_idx
    - sign_leaf_idx
    - ' wots_steps'
    - ' leaf_addr'
    - ' pk_addr'
    - ' params'
    - ' hashes'
    argTypes:
    - StrongSpan<WotsSignature>
    - StrongSpan<SphincsTreeNode>
    - SphincsSecretSeed
    - TreeNodeIndex
    - std::optional<TreeNodeIndex>
    - std::vector<WotsHashIndex>
    - Sphincs_Address
    - Sphincs_Address
    - Sphincs_Parameters
    - Sphincs_Hash_Functions
    constantsTouched: []
    func_position:
      end: 198
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 198
    functionName: Botan::wots_sign_and_pkgen
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_wots.cpp
    functionUses: 0
    functionsReached:
    - std::optional<TreeNodeIndex>::has_value
    - set_keypair_address
    - set_type
    - T
    - auto::begin
    - get_type
    - set_hash_address
    - BOTAN_ASSERT_NOMSG
    - auto::value
    - n
    - auto::has_value
    - WotsChainIndex::get
    - auto::end
    - wots_bytes
    - WotsHashIndex
    - std::optional<TreeNodeIndex>::value
    - Botan::copy
    - set_chain_address
    - PRF
    - BufferStuffer::next
    - wots_len
    - w
    - Botan::size
    linkageType: ''
    returnType: void
    signature: "void wots_sign_and_pkgen(StrongSpan<WotsSignature> sig_out,\n                         StrongSpan<SphincsTreeNode>
      leaf_out,\n                         const SphincsSecretSeed& secret_seed,\n
      \                        TreeNodeIndex leaf_idx,\n                         std::optional<TreeNodeIndex>
      sign_leaf_idx,\n                         const std::vector<WotsHashIndex>& wots_steps,\n
      \                        Sphincs_Address& leaf_addr,\n                         Sphincs_Address&
      pk_addr,\n                         const Sphincs_Parameters& params,\n                         Sphincs_Hash_Functions&
      hashes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:28,1
    - Dst: StrongSpan<SphincsHypertreeSignature>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:28,1
    - Dst: ht_signature_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:28,1
    - Dst: Sphincs_Address::set_tree_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:32,1
    - Dst: d
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:37,1
    - Dst: Sphincs_Address::set_layer_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:41,1
    - Dst: Sphincs_Address::copy_subtree_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:42,1
    - Dst: Botan::xmss_sign_and_pkgen
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:44,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:44,1
    - Dst: xmss_signature_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:44,1
    - Dst: TreeNodeIndex
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:54,1
    - Dst: XmssTreeIndexInLayer::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:54,1
    - Dst: xmss_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:54,1
    - Dst: xmss_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:55,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:58,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 7
    argNames:
    - out_sig
    - ' message_to_sign'
    - ' secret_seed'
    - tree_index_in_layer
    - idx_leaf
    - ' params'
    - ' hashes'
    argTypes:
    - StrongSpan<SphincsHypertreeSignature>
    - SphincsTreeNode
    - SphincsSecretSeed
    - XmssTreeIndexInLayer
    - TreeNodeIndex
    - Sphincs_Parameters
    - Sphincs_Hash_Functions
    constantsTouched: []
    func_position:
      end: 59
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 59
    functionName: Botan::ht_sign
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::full
    - Sphincs_Address::set_tree_address
    - BOTAN_ASSERT_NOMSG
    - Botan::xmss_sign_and_pkgen
    - ht_signature_bytes
    - xmss_signature_bytes
    - XmssTreeIndexInLayer::get
    - d
    - Sphincs_Address::set_layer_address
    - StrongSpan<SphincsHypertreeSignature>::size
    - TreeNodeIndex
    - xmss_tree_height
    - Sphincs_Address::copy_subtree_from
    - BufferStuffer::next
    linkageType: ''
    returnType: void
    signature: "void ht_sign(StrongSpan<SphincsHypertreeSignature> out_sig,\n             const
      SphincsTreeNode& message_to_sign,\n             const SphincsSecretSeed& secret_seed,\n
      \            XmssTreeIndexInLayer tree_index_in_layer,\n             TreeNodeIndex
      idx_leaf,\n             const Sphincs_Parameters& params,\n             Sphincs_Hash_Functions&
      hashes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:68,1
    - Dst: StrongSpan<const SphincsHypertreeSignature>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:68,1
    - Dst: ht_signature_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:68,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:75,1
    - Dst: d
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:78,1
    - Dst: Sphincs_Address::set_layer_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:82,1
    - Dst: Sphincs_Address::set_tree_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:83,1
    - Dst: Sphincs_Address::copy_subtree_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:85,1
    - Dst: Sphincs_Address::set_keypair_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:86,1
    - Dst: Sphincs_Address::copy_keypair_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:88,1
    - Dst: Botan::wots_public_key_from_signature
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:90,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:91,1
    - Dst: wots_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:91,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:94,1
    - Dst: Botan::compute_root
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:97,1
    - Dst: StrongSpan<SphincsTreeNode>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:97,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:103,1
    - Dst: xmss_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:103,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:103,1
    - Dst: xmss_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:104,1
    - Dst: TreeNodeIndex
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:108,1
    - Dst: XmssTreeIndexInLayer::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:108,1
    - Dst: xmss_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:108,1
    - Dst: xmss_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:109,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:112,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 7
    argNames:
    - ' signed_msg'
    - ht_sig
    - ' pk_root'
    - tree_index_in_layer
    - idx_leaf
    - ' params'
    - ' hashes'
    argTypes:
    - SphincsTreeNode
    - StrongSpan<const SphincsHypertreeSignature>
    - SphincsTreeNode
    - XmssTreeIndexInLayer
    - TreeNodeIndex
    - Sphincs_Parameters
    - Sphincs_Hash_Functions
    constantsTouched: []
    func_position:
      end: 116
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 116
    functionName: Botan::ht_verify
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hypertree.cpp
    functionUses: 0
    functionsReached:
    - StrongSpan<const SphincsHypertreeSignature>::size
    - T
    - TreeNodeIndex
    - Sphincs_Address::set_keypair_address
    - Sphincs_Address::set_tree_address
    - BOTAN_ASSERT_NOMSG
    - n
    - ht_signature_bytes
    - Sphincs_Address::set_layer_address
    - StrongSpan<SphincsTreeNode>
    - xmss_tree_height
    - Sphincs_Address::copy_subtree_from
    - Sphincs_Address::copy_keypair_from
    - BufferSlicer::take
    - Botan::wots_public_key_from_signature
    - wots_bytes
    - d
    - Botan::compute_root
    - XmssTreeIndexInLayer::get
    - BufferSlicer::empty
    linkageType: ''
    returnType: bool
    signature: "bool ht_verify(const SphincsTreeNode& signed_msg,\n               StrongSpan<const
      SphincsHypertreeSignature> ht_sig,\n               const SphincsTreeNode& pk_root,\n
      \              XmssTreeIndexInLayer tree_index_in_layer,\n               TreeNodeIndex
      idx_leaf,\n               const Sphincs_Parameters& params,\n               Sphincs_Hash_Functions&
      hashes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:26,1
    - Dst: StrongSpan<SphincsTreeNode>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:26,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:26,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:27,1
    - Dst: StrongSpan<SphincsAuthenticationPath>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:27,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:27,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:31,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:32,1
    - Dst: set_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:45,1
    - Dst: TreeLayerIndex
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:45,1
    - Dst: gen_leaf
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:46,1
    - Dst: TreeLayerIndex::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:56,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:57,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:64,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:64,1
    - Dst: StrongSpan<SphincsAuthenticationPath>::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:65,1
    - Dst: TreeLayerIndex::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:65,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:65,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:65,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:66,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:71,1
    - Dst: TreeLayerIndex::get
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:71,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:71,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:71,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:80,1
    - Dst: set_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:89,1
    - Dst: set_tree_index
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:90,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:92,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:95,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:96,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 9
    argNames:
    - out_root
    - out_auth_path
    - ' params'
    - ' hashes'
    - leaf_idx
    - idx_offset
    - total_tree_height
    - ' gen_leaf'
    - ' tree_address'
    argTypes:
    - StrongSpan<SphincsTreeNode>
    - StrongSpan<SphincsAuthenticationPath>
    - Sphincs_Parameters
    - Sphincs_Hash_Functions
    - std::optional<TreeNodeIndex>
    - uint32_t
    - uint32_t
    - GenerateLeafFunction
    - Sphincs_Address
    constantsTouched: []
    func_position:
      end: 100
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 100
    functionName: Botan::treehash
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp
    functionUses: 0
    functionsReached:
    - StrongSpan<SphincsAuthenticationPath>::get
    - TreeLayerIndex::get
    - BOTAN_ASSERT_NOMSG
    - auto::value
    - std::span
    - n
    - auto::has_value
    - set_tree_index
    - T
    - gen_leaf
    - TreeLayerIndex
    - set_tree_height
    - Botan::copy_mem
    - StrongSpan<SphincsTreeNode>::size
    - StrongSpan<SphincsAuthenticationPath>::size
    linkageType: ''
    returnType: void
    signature: "void treehash(StrongSpan<SphincsTreeNode> out_root,\n              StrongSpan<SphincsAuthenticationPath>
      out_auth_path,\n              const Sphincs_Parameters& params,\n              Sphincs_Hash_Functions&
      hashes,\n              std::optional<TreeNodeIndex> leaf_idx,\n              uint32_t
      idx_offset,\n              uint32_t total_tree_height,\n              const
      GenerateLeafFunction& gen_leaf,\n              Sphincs_Address& tree_address)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:111,1
    - Dst: StrongSpan<SphincsTreeNode>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:111,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:111,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:112,1
    - Dst: StrongSpan<const SphincsAuthenticationPath>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:112,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:112,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:113,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:113,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:113,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:117,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:134,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:134,1
    - Dst: std::swap
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:137,1
    - Dst: set_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:142,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:144,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:147,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 9
    argNames:
    - out
    - ' params'
    - ' hashes'
    - ' leaf'
    - leaf_idx
    - idx_offset
    - authentication_path
    - total_tree_height
    - ' tree_address'
    argTypes:
    - StrongSpan<SphincsTreeNode>
    - Sphincs_Parameters
    - Sphincs_Hash_Functions
    - SphincsTreeNode
    - TreeNodeIndex
    - uint32_t
    - StrongSpan<const SphincsAuthenticationPath>
    - uint32_t
    - Sphincs_Address
    constantsTouched: []
    func_position:
      end: 148
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 148
    functionName: Botan::compute_root
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_treehash.cpp
    functionUses: 1
    functionsReached:
    - StrongSpan<const SphincsAuthenticationPath>::size
    - BOTAN_ASSERT_NOMSG
    - BufferSlicer::take
    - n
    - T
    - std::swap
    - BufferSlicer::empty
    - set_tree_height
    - Botan::size
    - Botan::copy_mem
    - StrongSpan<SphincsTreeNode>::size
    linkageType: ''
    returnType: void
    signature: "void compute_root(StrongSpan<SphincsTreeNode> out,\n                  const
      Sphincs_Parameters& params,\n                  Sphincs_Hash_Functions& hashes,\n
      \                 const SphincsTreeNode& leaf,\n                  TreeNodeIndex
      leaf_idx,\n                  uint32_t idx_offset,\n                  StrongSpan<const
      SphincsAuthenticationPath> authentication_path,\n                  uint32_t
      total_tree_height,\n                  Sphincs_Address& tree_address)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Hash_Functions
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:25,1
    - Dst: tweak_hash
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:58,1
    - Dst: std::forward<BufferTs>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:58,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:59,1
    - Dst: std::forward<BufferTs>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:59,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:60,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:65,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:66,1
    - Dst: std::forward<BufferTs>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:66,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:71,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:75,1
    - Dst: Botan::Sphincs_Hash_Functions
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 104
    functionName: Botan::Sphincs_Hash_Functions
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_hash.h
    functionUses: 1
    functionsReached:
    - Botan::Sphincs_Hash_Functions
    - tweak_hash
    - std::forward<BufferTs>
    - n
    - Botan::update
    - Botan::final
    - T
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Sphincs_Hash_Functions
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.h:200,1
    - Dst: Sphincs_Parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 255
    functionName: final
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.h
    functionUses: 64
    functionsReached:
    - Sphincs_Parameters
    - public_key_bytes
    linkageType: ''
    returnType: Sphincs_Parameters
    signature: Sphincs_Parameters final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:160,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:160,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 128
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 161
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 161
    functionName: Botan::set_and_hash_from_name
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Lookup_Error
    linkageType: ''
    returnType: std::pair<Sphincs_Parameter_Set, Sphincs_Hash_Type>
    signature: std::pair<Sphincs_Parameter_Set, Sphincs_Hash_Type> set_and_hash_from_name(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:245,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:248,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 81
    argCount: 2
    argNames:
    - set
    - hash
    argTypes:
    - Sphincs_Parameter_Set
    - Sphincs_Hash_Type
    constantsTouched: []
    func_position:
      end: 249
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 249
    functionName: Botan::name_from_set_and_hash
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: std::string
    signature: std::string name_from_set_and_hash(Sphincs_Parameter_Set set, Sphincs_Hash_Type
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - set
    argTypes:
    - Sphincs_Parameter_Set
    constantsTouched: []
    func_position:
      end: 269
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 269
    functionName: Botan::is_slh_dsa_set
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: bool
    signature: bool is_slh_dsa_set(Sphincs_Parameter_Set set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:283,1
    - Dst: is_slh_dsa_set
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:283,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:285,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:286,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:287,1
    - Dst: ceil_log2
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:290,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:294,1
    - Dst: ceil_log2
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:300,1
    - Dst: ceil_tobytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:309,1
    - Dst: ceil_tobytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:314,1
    - Dst: ceil_tobytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:320,1
    - Dst: ceil_tobytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:321,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 9
    argNames:
    - set
    - hash_type
    - n
    - h
    - d
    - a
    - k
    - w
    - bitsec
    argTypes:
    - Sphincs_Parameter_Set
    - Sphincs_Hash_Type
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 323
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 323
    functionName: Botan::Sphincs_Parameters::Sphincs_Parameters
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - ceil_log2
    - ceil_tobytes
    - is_slh_dsa_set
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void Sphincs_Parameters::Sphincs_Parameters(Sphincs_Parameter_Set
      set,\n                                       Sphincs_Hash_Type hash_type,\n
      \                                      uint32_t n,\n                                       uint32_t
      h,\n                                       uint32_t d,\n                                       uint32_t
      a,\n                                       uint32_t k,\n                                       uint32_t
      w,\n                                       uint32_t bitsec)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 348
    functionName: Botan::Sphincs_Parameters::is_available
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Sphincs_Parameters::is_available() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::Sphincs_Parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:356,1
    - Dst: Botan::Sphincs_Parameters::Sphincs_Parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:359,1
    - Dst: Botan::Sphincs_Parameters::Sphincs_Parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:363,1
    - Dst: Botan::Sphincs_Parameters::Sphincs_Parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:366,1
    - Dst: Botan::Sphincs_Parameters::Sphincs_Parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:370,1
    - Dst: Botan::Sphincs_Parameters::Sphincs_Parameters
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:373,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - set
    - hash
    argTypes:
    - Sphincs_Parameter_Set
    - Sphincs_Hash_Type
    constantsTouched: []
    func_position:
      end: 376
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 376
    functionName: Botan::Sphincs_Parameters::create
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 19
    functionsReached:
    - Botan::Sphincs_Parameters::Sphincs_Parameters
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: Sphincs_Parameters
    signature: "Sphincs_Parameters Sphincs_Parameters::create(\n   Sphincs_Parameter_Set
      set, Sphincs_Hash_Type hash /*, SlhDsaInputMode input_mode [TODO: prehash mode]*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: Botan::Sphincs_Parameters::create
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 20
    functionsReached:
    - Botan::Sphincs_Parameters::create
    linkageType: ''
    returnType: Sphincs_Parameters
    signature: Sphincs_Parameters Sphincs_Parameters::create(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_slh_dsa_set
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: Botan::Sphincs_Parameters::is_slh_dsa
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 0
    functionsReached:
    - is_slh_dsa_set
    linkageType: ''
    returnType: bool
    signature: bool Sphincs_Parameters::is_slh_dsa() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:392,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:392,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 397
    functionName: Botan::Sphincs_Parameters::hash_name
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 0
    functionsReached:
    - n
    - fmt
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: std::string
    signature: std::string Sphincs_Parameters::hash_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name_from_set_and_hash
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:400,1
    - Dst: parameter_set
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:400,1
    - Dst: hash_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: Botan::Sphincs_Parameters::to_string
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 0
    functionsReached:
    - hash_type
    - name_from_set_and_hash
    - parameter_set
    linkageType: ''
    returnType: std::string
    signature: std::string Sphincs_Parameters::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sphincs_Parameters::create
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:404,1
    - Dst: to_formatted_string
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 405
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 405
    functionName: Botan::Sphincs_Parameters::create
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 21
    functionsReached:
    - to_formatted_string
    - Botan::Sphincs_Parameters::create
    linkageType: ''
    returnType: Sphincs_Parameters
    signature: Sphincs_Parameters Sphincs_Parameters::create(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:408,1
    - Dst: Botan::Sphincs_Parameters::to_string
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 409
    functionName: Botan::Sphincs_Parameters::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - Botan::Sphincs_Parameters::to_string
    linkageType: ''
    returnType: OID
    signature: OID Sphincs_Parameters::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:412,1
    - Dst: Botan::Sphincs_Parameters::object_identifier
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: Botan::Sphincs_Parameters::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_parameters.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sphincs_Parameters::object_identifier
    - AlgorithmIdentifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Sphincs_Parameters::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:28,1
    - Dst: wots_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:28,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:29,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:29,1
    - Dst: std::optional<TreeNodeIndex>::has_value
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:34,1
    - Dst: Botan::chain_lengths
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:35,1
    - Dst: Sphincs_Address::as_subtree_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:41,1
    - Dst: Sphincs_Address::as_subtree_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:42,1
    - Dst: Sphincs_Address::set_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:44,1
    - Dst: Botan::wots_sign_and_pkgen
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:47,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:51,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:52,1
    - Dst: get_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:52,1
    - Dst: Botan::treehash
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:53,1
    - Dst: xmss_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 8
    argNames:
    - out_sig
    - ' message'
    - ' secret_seed'
    - ' wots_addr'
    - ' tree_addr'
    - idx_leaf
    - ' params'
    - ' hashes'
    argTypes:
    - StrongSpan<SphincsXmssSignature>
    - SphincsTreeNode
    - SphincsSecretSeed
    - Sphincs_Address
    - Sphincs_Address
    - std::optional<TreeNodeIndex>
    - Sphincs_Parameters
    - Sphincs_Hash_Functions
    constantsTouched: []
    func_position:
      end: 56
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 56
    functionName: Botan::xmss_sign_and_pkgen
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp
    functionUses: 1
    functionsReached:
    - BufferStuffer::remaining_capacity
    - std::optional<TreeNodeIndex>::has_value
    - Sphincs_Address::set_type
    - BOTAN_ASSERT_NOMSG
    - wots_bytes
    - n
    - Botan::chain_lengths
    - get_type
    - Sphincs_Address::as_subtree_from
    - xmss_tree_height
    - Botan::wots_sign_and_pkgen
    - BufferStuffer::next
    - Botan::treehash
    linkageType: ''
    returnType: SphincsTreeNode
    signature: "SphincsTreeNode xmss_sign_and_pkgen(StrongSpan<SphincsXmssSignature>
      out_sig,\n                                    const SphincsTreeNode& message,\n
      \                                   const SphincsSecretSeed& secret_seed,\n
      \                                   Sphincs_Address& wots_addr,\n                                    Sphincs_Address&
      tree_addr,\n                                    std::optional<TreeNodeIndex>
      idx_leaf,\n                                    const Sphincs_Parameters& params,\n
      \                                   Sphincs_Hash_Functions& hashes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmss_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:64,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:64,1
    - Dst: wots_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:64,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:65,1
    - Dst: Sphincs_Address::set_layer_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:70,1
    - Dst: HypertreeLayerIndex
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:70,1
    - Dst: d
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:70,1
    - Dst: Sphincs_Address::set_layer_address
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:71,1
    - Dst: HypertreeLayerIndex
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:71,1
    - Dst: d
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:71,1
    - Dst: Botan::xmss_sign_and_pkgen
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' params'
    - ' secret_seed'
    - ' hashes'
    argTypes:
    - Sphincs_Parameters
    - SphincsSecretSeed
    - Sphincs_Hash_Functions
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: Botan::xmss_gen_root
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_xmss.cpp
    functionUses: 0
    functionsReached:
    - Botan::xmss_sign_and_pkgen
    - wots_bytes
    - n
    - HypertreeLayerIndex
    - d
    - Sphincs_Address::set_layer_address
    - xmss_tree_height
    linkageType: ''
    returnType: SphincsTreeNode
    signature: "SphincsTreeNode xmss_gen_root(const Sphincs_Parameters& params,\n
      \                             const SphincsSecretSeed& secret_seed,\n                              Sphincs_Hash_Functions&
      hashes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:29,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:29,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:29,1
    - Dst: a
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:29,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:31,1
    - Dst: is_slh_dsa
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:38,1
    - Dst: a
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:40,1
    - Dst: is_slh_dsa
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:45,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:49,1
    - Dst: a
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:53,1
    - Dst: update_idx
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:54,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - message
    - ' params'
    argTypes:
    - std::span<const uint8_t>
    - Sphincs_Parameters
    constantsTouched: []
    func_position:
      end: 59
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 59
    functionName: Botan::fors_message_to_indices
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - std::span<const uint8_t>::size
    - is_slh_dsa
    - k
    - update_idx
    - a
    - Internal_Error
    linkageType: ''
    returnType: std::vector<TreeNodeIndex>
    signature: std::vector<TreeNodeIndex> fors_message_to_indices(std::span<const
      uint8_t> message, const Sphincs_Parameters& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:69,1
    - Dst: StrongSpan<ForsSignature>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:69,1
    - Dst: fors_signature_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:69,1
    - Dst: Botan::fors_message_to_indices
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:71,1
    - Dst: Sphincs_Address::as_keypair_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:73,1
    - Dst: Sphincs_Address::as_keypair_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:75,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:77,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:77,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:83,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:87,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:87,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:87,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:88,1
    - Dst: auto::set_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:92,1
    - Dst: TreeLayerIndex
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:93,1
    - Dst: PRF
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:96,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:96,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:96,1
    - Dst: auto::set_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:99,1
    - Dst: auto::set_tree_index
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:102,1
    - Dst: auto::set_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:103,1
    - Dst: PRF
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:105,1
    - Dst: auto::set_type
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:107,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:108,1
    - Dst: Botan::treehash
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:111,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:111,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:111,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:112,1
    - Dst: a
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:112,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:112,1
    - Dst: a
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:117,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:122,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:122,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:123,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:123,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 6
    argNames:
    - sig_out
    - ' hashed_message'
    - ' secret_seed'
    - ' address'
    - ' params'
    - ' hashes'
    argTypes:
    - StrongSpan<ForsSignature>
    - SphincsHashedMessage
    - SphincsSecretSeed
    - Sphincs_Address
    - Sphincs_Parameters
    - Sphincs_Hash_Functions
    constantsTouched: []
    func_position:
      end: 127
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 127
    functionName: Botan::fors_sign_and_pkgen
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp
    functionUses: 1
    functionsReached:
    - a
    - BufferStuffer::full
    - BOTAN_ASSERT_NOMSG
    - n
    - T
    - Sphincs_Address::as_keypair_from
    - TreeLayerIndex
    - Botan::fors_message_to_indices
    - StrongSpan<ForsSignature>::size
    - auto::set_type
    - auto::set_tree_index
    - auto::size
    - k
    - PRF
    - fors_signature_bytes
    - BufferStuffer::next
    - Botan::treehash
    linkageType: ''
    returnType: SphincsTreeNode
    signature: "SphincsTreeNode fors_sign_and_pkgen(StrongSpan<ForsSignature> sig_out,\n
      \                                   const SphincsHashedMessage& hashed_message,\n
      \                                   const SphincsSecretSeed& secret_seed,\n
      \                                   const Sphincs_Address& address,\n                                    const
      Sphincs_Parameters& params,\n                                    Sphincs_Hash_Functions&
      hashes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fors_message_to_indices
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:134,1
    - Dst: Sphincs_Address::as_keypair_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:136,1
    - Dst: Sphincs_Address::as_keypair_from
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:138,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:141,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:141,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:146,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:146,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:146,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:147,1
    - Dst: auto::set_tree_height
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:151,1
    - Dst: TreeLayerIndex
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:151,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:152,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:152,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:153,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:153,1
    - Dst: a
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:153,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:154,1
    - Dst: Botan::compute_root
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:157,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:157,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:157,1
    - Dst: a
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:164,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:168,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:168,1
    - Dst: T
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - ' hashed_message'
    - signature
    - ' address'
    - ' params'
    - ' hashes'
    argTypes:
    - SphincsHashedMessage
    - StrongSpan<const ForsSignature>
    - Sphincs_Address
    - Sphincs_Parameters
    - Sphincs_Hash_Functions
    constantsTouched: []
    func_position:
      end: 173
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 173
    functionName: Botan::fors_public_key_from_signature
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sp_fors.cpp
    functionUses: 1
    functionsReached:
    - auto::set_tree_height
    - BufferStuffer::full
    - BOTAN_ASSERT_NOMSG
    - BufferSlicer::take
    - n
    - T
    - Sphincs_Address::as_keypair_from
    - TreeLayerIndex
    - Botan::fors_message_to_indices
    - auto::size
    - k
    - a
    - Botan::compute_root
    - BufferStuffer::next
    linkageType: ''
    returnType: SphincsTreeNode
    signature: "SphincsTreeNode fors_public_key_from_signature(const SphincsHashedMessage&
      hashed_message,\n                                               StrongSpan<const
      ForsSignature> signature,\n                                               const
      Sphincs_Address& address,\n                                               const
      Sphincs_Parameters& params,\n                                               Sphincs_Hash_Functions&
      hashes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:24,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:25,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:26,1
    - Dst: to_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' address'
    - input_length
    argTypes:
    - Sphincs_Address
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: '& tweak_hash(const Sphincs_Address& address, size_t input_length)
      override'
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h
    functionUses: 0
    functionsReached:
    - to_bytes
    - BOTAN_UNUSED
    - Botan::update
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & tweak_hash(const Sphincs_Address& address, size_t input_length)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:33,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:34,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:35,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:36,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:37,1
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - r
    - ' root'
    - ' message'
    argTypes:
    - StrongSpan<const SphincsMessageRandomness>
    - SphincsTreeNode
    - SphincsMessageInternal
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: Botan::Sphincs_Hash_Functions_Shake::H_msg_digest
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h
    functionUses: 0
    functionsReached:
    - update
    - final_stdvec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> H_msg_digest(StrongSpan<const SphincsMessageRandomness>
      r,\n                                        const SphincsTreeNode& root,\n                                        const
      SphincsMessageInternal& message) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:45,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:46,1
    - Dst: h_msg_digest_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:47,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sphincs_params'
    - ' pub_seed'
    argTypes:
    - Sphincs_Parameters
    - SphincsPublicSeed
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: Botan::Sphincs_Hash_Functions_Shake::Sphincs_Hash_Functions_Shake
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h
    functionUses: 0
    functionsReached:
    - n
    - update
    - h_msg_digest_bytes
    linkageType: ''
    returnType: void
    signature: void Sphincs_Hash_Functions_Shake(const Sphincs_Parameters& sphincs_params,
      const SphincsPublicSeed& pub_seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:55,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:56,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:57,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:58,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - out
    - sk_prf
    - opt_rand
    - ' msg'
    argTypes:
    - StrongSpan<SphincsMessageRandomness>
    - StrongSpan<const SphincsSecretPRF>
    - StrongSpan<const SphincsOptionalRandomness>
    - SphincsMessageInternal
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: Botan::Sphincs_Hash_Functions_Shake::PRF_msg
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h
    functionUses: 0
    functionsReached:
    - update
    - final
    linkageType: ''
    returnType: void
    signature: "void PRF_msg(StrongSpan<SphincsMessageRandomness> out,\n                   StrongSpan<const
      SphincsSecretPRF> sk_prf,\n                   StrongSpan<const SphincsOptionalRandomness>
      opt_rand,\n                   const SphincsMessageInternal& msg) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::Sphincs_Hash_Functions_Shake::msg_hash_function_name
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_shake_base/sp_hash_shake.h
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string msg_hash_function_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:37,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:39,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:40,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:41,1
    - Dst: to_bytes_compressed
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' address'
    - input_length
    argTypes:
    - Sphincs_Address
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: '& tweak_hash(const Sphincs_Address& address, size_t input_length)
      override'
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h
    functionUses: 0
    functionsReached:
    - n
    - to_bytes_compressed
    - Botan::update
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & tweak_hash(const Sphincs_Address& address, size_t input_length)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:48,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:49,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:50,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:51,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:52,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:54,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:55,1
    - Dst: h_msg_digest_bytes
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:57,1
    - Dst: mgf1_mask
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:58,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:58,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:58,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:58,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - r
    - ' root'
    - ' message'
    argTypes:
    - StrongSpan<const SphincsMessageRandomness>
    - SphincsTreeNode
    - SphincsMessageInternal
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: Botan::Sphincs_Hash_Functions_Sha2::H_msg_digest
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h
    functionUses: 0
    functionsReached:
    - std::vector::size
    - final
    - concat
    - h_msg_digest_bytes
    - mgf1_mask
    - update
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> H_msg_digest(StrongSpan<const SphincsMessageRandomness>
      r,\n                                        const SphincsTreeNode& root,\n                                        const
      SphincsMessageInternal& message) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:66,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:67,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:67,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:67,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:68,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:68,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:68,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:68,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:70,1
    - Dst: std::make_unique<Truncated_Hash>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:71,1
    - Dst: std::make_unique<SHA_256>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:71,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:71,1
    - Dst: std::make_unique<SHA_256>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:72,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:75,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:75,1
    - Dst: std::make_unique<Truncated_Hash>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:76,1
    - Dst: std::make_unique<SHA_512>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:76,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:76,1
    - Dst: std::make_unique<SHA_512>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:77,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:79,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:80,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:80,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:80,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:81,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:81,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:81,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:81,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:84,1
    - Dst: std::make_unique<Truncated_Hash>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:85,1
    - Dst: std::make_unique<SHA_256>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:85,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:85,1
    - Dst: std::make_unique<SHA_256>
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - ' sphincs_params'
    - ' pub_seed'
    argTypes:
    - Sphincs_Parameters
    - SphincsPublicSeed
    constantsTouched: []
    func_position:
      end: 89
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 89
    functionName: Botan::Sphincs_Hash_Functions_Sha2::Sphincs_Hash_Functions_Sha2
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Truncated_Hash>
    - BOTAN_ASSERT_NOMSG
    - copy
    - begin
    - n
    - size
    - std::vector<uint8_t>
    - end
    - std::make_unique<SHA_512>
    - std::make_unique<SHA_256>
    linkageType: ''
    returnType: void
    signature: void Sphincs_Hash_Functions_Sha2(const Sphincs_Parameters& sphincs_params,
      const SphincsPublicSeed& pub_seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_object
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:95,1
    - Dst: HMAC::set_key
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:96,1
    - Dst: HMAC::update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:97,1
    - Dst: HMAC::update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:98,1
    - Dst: HMAC::update
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:99,1
    - Dst: HMAC::final
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:101,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:102,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:102,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:102,1
    - Dst: StrongSpan<SphincsMessageRandomness>::size
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:102,1
    - Dst: StrongSpan<SphincsMessageRandomness>::begin
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - out
    - sk_prf
    - opt_rand
    - ' msg'
    argTypes:
    - StrongSpan<SphincsMessageRandomness>
    - StrongSpan<const SphincsSecretPRF>
    - StrongSpan<const SphincsOptionalRandomness>
    - SphincsMessageInternal
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: Botan::Sphincs_Hash_Functions_Sha2::PRF_msg
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h
    functionUses: 0
    functionsReached:
    - HMAC::final
    - StrongSpan<SphincsMessageRandomness>::begin
    - HMAC::set_key
    - new_object
    - copy
    - HMAC::update
    - auto::begin
    - StrongSpan<SphincsMessageRandomness>::size
    linkageType: ''
    returnType: void
    signature: "void PRF_msg(StrongSpan<SphincsMessageRandomness> out,\n                   StrongSpan<const
      SphincsSecretPRF> sk_prf,\n                   StrongSpan<const SphincsOptionalRandomness>
      opt_rand,\n                   const SphincsMessageInternal& msg) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Botan::Sphincs_Hash_Functions_Sha2::msg_hash_function_name
    functionSourceFile: /src/botan/src/lib/pubkey/sphincsplus/sphincsplus_common/sphincsplus_sha2_base/sp_hash_sha2.h
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string msg_hash_function_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~EC_Scalar_Data()
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EC_Scalar_Data()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ~EC_AffinePoint_Data()
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EC_AffinePoint_Data()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: ~EC_Mul2Table_Data()
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EC_Mul2Table_Data()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: '& oid() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OID
    signature: OID & oid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: '& der_named_curve() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & der_named_curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: '& p() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: '& a() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & a() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: '& b() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & b() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: '& order() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & order() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: '& cofactor() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & cofactor() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: '& curve() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CurveGFp
    signature: CurveGFp & curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: '& base_point() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point & base_point() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: '& monty() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Montgomery_Params
    signature: Montgomery_Params & monty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: '& monty_a() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & monty_a() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: '& monty_b() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & monty_b() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: '& mod_order() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Barrett_Reduction
    signature: Barrett_Reduction & mod_order() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: Botan::EC_Group_Data::order_is_less_than_p
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool order_is_less_than_p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: Botan::EC_Group_Data::has_cofactor
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_cofactor() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: '& g_x() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & g_x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: '& g_y() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & g_y() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: Botan::EC_Group_Data::p_words
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t p_words() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: Botan::EC_Group_Data::p_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t p_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: Botan::EC_Group_Data::p_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t p_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: Botan::EC_Group_Data::order_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t order_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: Botan::EC_Group_Data::order_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t order_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: Botan::EC_Group_Data::a_is_minus_3
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool a_is_minus_3() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: Botan::EC_Group_Data::a_is_zero
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool a_is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: Botan::EC_Group_Data::source
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Group_Source
    signature: EC_Group_Source source() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: Botan::EC_Group_Data::engine
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Group_Engine
    signature: EC_Group_Engine engine() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: '& pcurve() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: PCurve::PrimeOrderCurve
    signature: PCurve::PrimeOrderCurve & pcurve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.h:19,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.h:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - group
    - v
    argTypes:
    - std::shared_ptr<const EC_Group_Data>
    - PCurve::PrimeOrderCurve::Scalar
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: Botan::EC_Scalar_Data_PC::EC_Scalar_Data_PC
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void EC_Scalar_Data_PC(std::shared_ptr<const EC_Group_Data> group,
      PCurve::PrimeOrderCurve::Scalar v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& value() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& value() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCurve::PrimeOrderCurve::AffinePoint
    signature: PCurve::PrimeOrderCurve::AffinePoint & value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:15,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inner
    argTypes:
    - std::unique_ptr<EC_Scalar_Data>
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: Botan::EC_Scalar::_from_inner
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::_from_inner(std::unique_ptr<EC_Scalar_Data> inner)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:18,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scalar
    argTypes:
    - std::unique_ptr<EC_Scalar_Data>
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: Botan::EC_Scalar::EC_Scalar
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void EC_Scalar::EC_Scalar(std::unique_ptr<EC_Scalar_Data> scalar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan::EC_Scalar::EC_Scalar
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 2
    functionsReached:
    - inner
    linkageType: ''
    returnType: void
    signature: void EC_Scalar::EC_Scalar(const EC_Scalar& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::EC_Scalar::EC_Scalar
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void EC_Scalar::EC_Scalar(EC_Scalar&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& EC_Scalar::assign'
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: '& EC_Scalar::operator=(const EC_Scalar& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - '& EC_Scalar::assign'
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar & EC_Scalar::operator=(const EC_Scalar& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:34,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:34,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:34,1
    - Dst: std::swap
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: '& EC_Scalar::operator=(EC_Scalar&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - _inner
    - BOTAN_ARG_CHECK
    - std::swap
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar & EC_Scalar::operator=(EC_Scalar&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: EC_Scalar::~EC_Scalar()
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_Scalar::~EC_Scalar()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::EC_Scalar::bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Scalar::bytes
    linkageType: ''
    returnType: size_t
    signature: size_t EC_Scalar::bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:46,1
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' group'
    - bytes
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::EC_Scalar::from_bytes_with_trunc
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 2
    functionsReached:
    - _data
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::from_bytes_with_trunc(const EC_Group& group, std::span<const
      uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:50,1
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:51,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:51,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' group'
    - bytes
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: Botan::EC_Scalar::from_bytes_mod_order
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 2
    functionsReached:
    - Decoding_Error
    - std::move
    - _data
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::from_bytes_mod_order(const EC_Group& group, std::span<const
      uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:58,1
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' group'
    - ' rng'
    argTypes:
    - EC_Group
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::EC_Scalar::random
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 7
    functionsReached:
    - _data
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::random(const EC_Group& group, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:62,1
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - EC_Group
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::EC_Scalar::one
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 3
    functionsReached:
    - _data
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::one(const EC_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:66,1
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:67,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:67,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' group'
    - ' bn'
    argTypes:
    - EC_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: Botan::EC_Scalar::from_bigint
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 3
    functionsReached:
    - Invalid_Argument
    - std::move
    - _data
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::from_bigint(const EC_Group& group, const BigInt&
      bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:74,1
    - Dst: Botan::EC_Scalar::serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:75,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: Botan::EC_Scalar::to_bigint
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_bytes
    - Botan::EC_Scalar::serialize_to
    - Botan::EC_Scalar::bytes
    linkageType: ''
    returnType: BigInt
    signature: BigInt EC_Scalar::to_bigint() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:80,1
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:81,1
    - Dst: Botan::EC_Scalar::gk_x_mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:81,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - EC_Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: Botan::EC_Scalar::gk_x_mod_order
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 2
    functionsReached:
    - Botan::EC_Scalar::gk_x_mod_order
    - _inner
    - inner
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::gk_x_mod_order(const EC_Scalar& scalar, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: Botan::EC_Scalar::serialize_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 1
    functionsReached:
    - inner
    linkageType: ''
    returnType: void
    signature: void EC_Scalar::serialize_to(std::span<uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:89,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:89,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:89,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:91,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:91,1
    - Dst: Botan::EC_Scalar::serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:92,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:92,1
    - Dst: Botan::EC_Scalar::serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:93,1
    - Dst: std::span<uint8_t>::last
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - bytes
    - ' r'
    - ' s'
    argTypes:
    - std::span<uint8_t>
    - EC_Scalar
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: Botan::EC_Scalar::serialize_pair_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar::serialize_to
    - std::span<uint8_t>::size
    - std::span<uint8_t>::last
    - _inner
    - std::span<uint8_t>::first
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void EC_Scalar::serialize_pair_to(std::span<uint8_t> bytes, const EC_Scalar&
      r, const EC_Scalar& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:98,1
    - Dst: Botan::EC_Scalar::deserialize
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:104,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:104,1
    - Dst: Botan::EC_Scalar::deserialize
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:105,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:105,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:108,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:108,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' group'
    - bytes
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: Botan::EC_Scalar::deserialize_pair
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::first
    - auto::value
    - Botan::EC_Scalar::deserialize
    - std::span<const uint8_t>::last
    - std::span<const uint8_t>::size
    - std::make_pair
    linkageType: ''
    returnType: std::optional<std::pair<EC_Scalar, EC_Scalar>>
    signature: "std::optional<std::pair<EC_Scalar, EC_Scalar>> EC_Scalar::deserialize_pair(const
      EC_Group& group,\n                                                                           std::span<const
      uint8_t> bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:115,1
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:116,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' group'
    - bytes
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: Botan::EC_Scalar::deserialize
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - _data
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: std::optional<EC_Scalar>
    signature: std::optional<EC_Scalar> EC_Scalar::deserialize(const EC_Group& group,
      std::span<const uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:123,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' group'
    - bytes
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: Botan::EC_Scalar::EC_Scalar
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 9
    functionsReached:
    - Decoding_Error
    - _data
    linkageType: ''
    returnType: void
    signature: void EC_Scalar::EC_Scalar(const EC_Group& group, std::span<const uint8_t>
      bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: Botan::EC_Scalar::is_zero
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - inner
    linkageType: ''
    returnType: bool
    signature: bool EC_Scalar::is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:134,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: Botan::EC_Scalar::invert
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - inner
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::invert() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:138,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: Botan::EC_Scalar::invert_vartime
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - inner
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::invert_vartime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:142,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: Botan::EC_Scalar::negate
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - inner
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::square_self
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: Botan::EC_Scalar::square_self
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Scalar::square_self
    linkageType: ''
    returnType: void
    signature: void EC_Scalar::square_self()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:150,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:150,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: Botan::EC_Scalar::add
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - inner
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::add(const EC_Scalar& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:154,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:154,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: Botan::EC_Scalar::sub
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - inner
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::sub(const EC_Scalar& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:158,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:158,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: Botan::EC_Scalar::mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - inner
    - Botan::EC_Scalar::EC_Scalar
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar EC_Scalar::mul(const EC_Scalar& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::assign
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:162,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: Botan::EC_Scalar::assign
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 1
    functionsReached:
    - inner
    - Botan::EC_Scalar::assign
    linkageType: ''
    returnType: void
    signature: void EC_Scalar::assign(const EC_Scalar& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:166,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: Botan::EC_Scalar::is_eq
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.cpp
    functionUses: 0
    functionsReached:
    - inner
    linkageType: ''
    returnType: bool
    signature: bool EC_Scalar::is_eq(const EC_Scalar& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:63,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:98,1
    - Dst: Botan::EC_Scalar::gk_x_mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:100,1
    - Dst: Botan::bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:120,1
    - Dst: Botan::serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:121,1
    - Dst: bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:137,1
    - Dst: T::bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:137,1
    - Dst: serialize_pair_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:138,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:150,1
    - Dst: Botan::add
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:210,1
    - Dst: sub
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:212,1
    - Dst: Botan::mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:214,1
    - Dst: is_eq
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:216,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:226,1
    - Dst: EC_Scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 238
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_scalar.h
    functionUses: 7
    functionsReached:
    - serialize_pair_to
    - EC_Scalar
    - Botan::is_zero
    - Botan::mul
    - sub
    - Botan::EC_Scalar::gk_x_mod_order
    - inner
    - T::bytes
    - Botan::add
    - BOTAN_DEPRECATED
    - Botan::serialize_to
    - bytes
    - is_eq
    - Botan::bytes
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::EC_Group_Data_Map::EC_Group_Data_Map
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_Group_Data_Map()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data_Map::clear
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: Botan::EC_Group_Data_Map::clear
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Group_Data_Map::clear
    linkageType: ''
    returnType: size_t
    signature: size_t clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:42,1
    - Dst: Botan::EC_Group::EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:48,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:51,1
    - Dst: std::shared_ptr<EC_Group_Data>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: Botan::EC_Group_Data_Map::lookup
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<EC_Group_Data>
    - Botan::EC_Group::EC_group_info
    - push_back
    - oid
    linkageType: ''
    returnType: std::shared_ptr<EC_Group_Data>
    signature: std::shared_ptr<EC_Group_Data> lookup(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:68,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:68,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:73,1
    - Dst: params_match
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:82,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:83,1
    - Dst: to_string
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:83,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:97,1
    - Dst: params_match
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:97,1
    - Dst: set_oid
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:98,1
    - Dst: Botan::EC_Group::EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:107,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:112,1
    - Dst: auto::params_match
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:112,1
    - Dst: Botan::EC_Group_Data::create
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:120,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 9
    argNames:
    - ' p'
    - ' a'
    - ' b'
    - ' g_x'
    - ' g_y'
    - ' order'
    - ' cofactor'
    - ' oid'
    - source
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - OID
    - EC_Group_Source
    constantsTouched: []
    func_position:
      end: 126
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 126
    functionName: Botan::EC_Group_Data_Map::lookup_or_create
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - to_string
    - BOTAN_ASSERT_NOMSG
    - Botan::EC_Group_Data::create
    - set_oid
    - BOTAN_ARG_CHECK
    - auto::params_match
    - params_match
    - push_back
    - oid
    - Invalid_Argument
    - has_value
    - Botan::EC_Group::EC_group_info
    linkageType: ''
    returnType: std::shared_ptr<EC_Group_Data>
    signature: "std::shared_ptr<EC_Group_Data> lookup_or_create(const BigInt& p,\n
      \                                                     const BigInt& a,\n                                                      const
      BigInt& b,\n                                                      const BigInt&
      g_x,\n                                                      const BigInt& g_y,\n
      \                                                     const BigInt& order,\n
      \                                                     const BigInt& cofactor,\n
      \                                                     const OID& oid,\n                                                      EC_Group_Source
      source)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params_match
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:139,1
    - Dst: Botan::EC_Group::EC_group_identity_from_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:145,1
    - Dst: OID::has_value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:146,1
    - Dst: Botan::EC_Group::EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:147,1
    - Dst: auto::params_match
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:150,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:151,1
    - Dst: Botan::EC_Group_Data::create
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:163,1
    - Dst: OID
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:163,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 8
    argNames:
    - ' p'
    - ' a'
    - ' b'
    - ' g_x'
    - ' g_y'
    - ' order'
    - ' cofactor'
    - source
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - EC_Group_Source
    constantsTouched: []
    func_position:
      end: 166
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 166
    functionName: Botan::EC_Group_Data_Map::lookup_or_create_without_oid
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - OID
    - Botan::EC_Group_Data::create
    - auto::params_match
    - params_match
    - push_back
    - Botan::EC_Group::EC_group_info
    - OID::has_value
    - Botan::EC_Group::EC_group_identity_from_order
    linkageType: ''
    returnType: std::shared_ptr<EC_Group_Data>
    signature: "std::shared_ptr<EC_Group_Data> lookup_or_create_without_oid(const
      BigInt& p,\n                                                                  const
      BigInt& a,\n                                                                  const
      BigInt& b,\n                                                                  const
      BigInt& g_x,\n                                                                  const
      BigInt& g_y,\n                                                                  const
      BigInt& order,\n                                                                  const
      BigInt& cofactor,\n                                                                  EC_Group_Source
      source)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: '& EC_Group::ec_group_data()'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Group_Data_Map
    signature: EC_Group_Data_Map & EC_Group::ec_group_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_group_data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: Botan::EC_Group::clear_registered_curve_data
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 6
    functionsReached:
    - ec_group_data
    linkageType: ''
    returnType: size_t
    signature: size_t EC_Group::clear_registered_curve_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:199,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:199,1
    - Dst: Botan::EC_Group_Data::create
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - p_str
    - a_str
    - b_str
    - g_x_str
    - g_y_str
    - order_str
    - ' oid'
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - OID
    constantsTouched: []
    func_position:
      end: 210
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 210
    functionName: Botan::EC_Group::load_EC_group_info
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group_Data::create
    - BOTAN_ARG_CHECK
    - has_value
    linkageType: ''
    returnType: std::shared_ptr<EC_Group_Data>
    signature: "std::shared_ptr<EC_Group_Data> EC_Group::load_EC_group_info(const
      char* p_str,\n                                                            const
      char* a_str,\n                                                            const
      char* b_str,\n                                                            const
      char* g_x_str,\n                                                            const
      char* g_y_str,\n                                                            const
      char* order_str,\n                                                            const
      OID& oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder::peek_next_object
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:217,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:221,1
    - Dst: ec_group_data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:223,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:225,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:225,1
    - Dst: OID::to_string
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:225,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:228,1
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:234,1
    - Dst: OID
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:237,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:251,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:251,1
    - Dst: BigInt::is_negative
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:251,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:252,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:256,1
    - Dst: is_bailie_psw_probable_prime
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:257,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:258,1
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:261,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:262,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:266,1
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:269,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:269,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:270,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:274,1
    - Dst: is_bailie_psw_probable_prime
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:275,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:276,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:281,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:285,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:285,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:286,1
    - Dst: auto::square
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:318,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:319,1
    - Dst: auto::cube
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:319,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:319,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:321,1
    - Dst: ec_group_data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:324,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:325,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:327,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:329,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:330,1
    - Dst: asn1_tag_to_string
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:330,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 59
    argCount: 2
    argNames:
    - bits
    - source
    argTypes:
    - std::span<const uint8_t>
    - EC_Group_Source
    constantsTouched: []
    func_position:
      end: 332
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 332
    functionName: Botan::EC_Group::BER_decode_EC_group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - fmt
    - Decoding_Error
    - asn1_tag_to_string
    - OID
    - BigInt::bits
    - BER_Decoder::start_sequence
    - BER_Decoder::decode
    - ec_group_data
    - auto::multiply
    - is_negative
    - BigInt::is_negative
    - auto::reduce
    - OID::to_string
    - Botan::Barrett_Reduction::for_public_modulus
    - BER_Decoder::peek_next_object
    - is_bailie_psw_probable_prime
    - auto::cube
    - std::make_pair
    - is_zero
    - auto::square
    linkageType: ''
    returnType: std::pair<std::shared_ptr<EC_Group_Data>, bool>
    signature: "std::pair<std::shared_ptr<EC_Group_Data>, bool> EC_Group::BER_decode_EC_group(std::span<const
      uint8_t> bits,\n                                                                              EC_Group_Source
      source)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: Botan::EC_Group::EC_Group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_Group::EC_Group()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: EC_Group::~EC_Group()
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_Group::~EC_Group()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: Botan::EC_Group::EC_Group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_Group::EC_Group(const EC_Group&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::shared_ptr<EC_Group_Data>
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: Botan::EC_Group::EC_Group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 6
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void EC_Group::EC_Group(std::shared_ptr<EC_Group_Data>&& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_Group::known_named_groups
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:347,1
    - Dst: std::string
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: Botan::EC_Group::supports_named_group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 29
    functionsReached:
    - std::string
    - EC_Group::known_named_groups
    linkageType: ''
    returnType: bool
    signature: bool EC_Group::supports_named_group(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 357
    functionName: Botan::EC_Group::supports_application_specific_group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EC_Group::supports_application_specific_group()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: Botan::EC_Group::supports_application_specific_group_with_cofactor
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EC_Group::supports_application_specific_group_with_cofactor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_group_data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:370,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:373,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:373,1
    - Dst: to_string
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:373,1
    - Dst: Botan::EC_Group::EC_Group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:376,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 377
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 377
    functionName: Botan::EC_Group::from_OID
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 7
    functionsReached:
    - Botan::EC_Group::EC_Group
    - fmt
    - std::move
    - to_string
    - Invalid_Argument
    - ec_group_data
    linkageType: ''
    returnType: EC_Group
    signature: EC_Group EC_Group::from_OID(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:383,1
    - Dst: ec_group_data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:384,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:384,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:388,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:388,1
    - Dst: Botan::EC_Group::EC_Group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:391,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: Botan::EC_Group::from_name
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 62
    functionsReached:
    - Botan::OID::from_name
    - Botan::EC_Group::EC_Group
    - auto::value
    - fmt
    - std::move
    - Invalid_Argument
    - ec_group_data
    linkageType: ''
    returnType: EC_Group
    signature: EC_Group EC_Group::from_name(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:395,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:400,1
    - Dst: OID::has_value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:401,1
    - Dst: ec_group_data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:402,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:407,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:407,1
    - Dst: Botan::PEM_Code::decode_check_label
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:409,1
    - Dst: Botan::EC_Group::BER_decode_EC_group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:411,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:418,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:418,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 420
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 420
    functionName: Botan::EC_Group::EC_Group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 8
    functionsReached:
    - Botan::EC_Group::BER_decode_EC_group
    - fmt
    - std::string_view::empty
    - std::string_view::size
    - std::string_view::substr
    - Botan::OID::from_string
    - Invalid_Argument
    - OID::has_value
    - Botan::PEM_Code::decode_check_label
    - ec_group_data
    linkageType: ''
    returnType: void
    signature: void EC_Group::EC_Group(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::decode_check_label
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:424,1
    - Dst: Botan::EC_Group::EC_Group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pem
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 426
    functionName: Botan::EC_Group::from_PEM
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Group::EC_Group
    - Botan::PEM_Code::decode_check_label
    linkageType: ''
    returnType: EC_Group
    signature: EC_Group EC_Group::from_PEM(std::string_view pem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:436,1
    - Dst: ec_group_data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:437,1
    - Dst: ec_group_data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - ' p'
    - ' a'
    - ' b'
    - ' base_x'
    - ' base_y'
    - ' order'
    - ' cofactor'
    - ' oid'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - OID
    constantsTouched: []
    func_position:
      end: 443
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 443
    functionName: Botan::EC_Group::EC_Group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 9
    functionsReached:
    - has_value
    - ec_group_data
    linkageType: ''
    returnType: void
    signature: "void EC_Group::EC_Group(const BigInt& p,\n                   const
      BigInt& a,\n                   const BigInt& b,\n                   const BigInt&
      base_x,\n                   const BigInt& base_y,\n                   const
      BigInt& order,\n                   const BigInt& cofactor,\n                   const
      OID& oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:452,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:452,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:461,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:461,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:462,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:462,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:464,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:465,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:466,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:467,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:472,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:478,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:480,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:480,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:483,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:485,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:486,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:487,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:488,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:489,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:489,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:489,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:491,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:492,1
    - Dst: is_bailie_psw_probable_prime
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:492,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:494,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:495,1
    - Dst: is_bailie_psw_probable_prime
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:495,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:499,1
    - Dst: abs
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:499,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:499,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:502,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:502,1
    - Dst: auto::cube
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:502,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:502,1
    - Dst: auto::square
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:502,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:503,1
    - Dst: auto::square
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:506,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:507,1
    - Dst: auto::cube
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:507,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:507,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:508,1
    - Dst: ec_group_data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:513,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 7
    argNames:
    - ' oid'
    - ' p'
    - ' a'
    - ' b'
    - ' base_x'
    - ' base_y'
    - ' order'
    argTypes:
    - OID
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 514
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 514
    functionName: Botan::EC_Group::EC_Group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 9
    functionsReached:
    - abs
    - BigInt::set_bit
    - auto::multiply
    - Botan_Tests::BitOps_Tests::test_power_of_2
    - is_bailie_psw_probable_prime
    - auto::cube
    - auto::square
    - bits
    - auto::reduce
    - has_value
    - Botan::Barrett_Reduction::for_public_modulus
    - BOTAN_ARG_CHECK
    - ec_group_data
    linkageType: ''
    returnType: void
    signature: "void EC_Group::EC_Group(const OID& oid,\n                   const
      BigInt& p,\n                   const BigInt& a,\n                   const BigInt&
      b,\n                   const BigInt& base_x,\n                   const BigInt&
      base_y,\n                   const BigInt& order)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::BER_decode_EC_group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ber
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 520
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 520
    functionName: Botan::EC_Group::EC_Group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 9
    functionsReached:
    - Botan::EC_Group::BER_decode_EC_group
    linkageType: ''
    returnType: void
    signature: void EC_Group::EC_Group(std::span<const uint8_t> ber)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 527
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 527
    functionName: '& EC_Group::data() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: EC_Group_Data
    signature: EC_Group_Data & EC_Group::data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 531
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 531
    functionName: Botan::EC_Group::get_p_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t EC_Group::get_p_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 535
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 535
    functionName: Botan::EC_Group::get_p_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t EC_Group::get_p_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 539
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 539
    functionName: Botan::EC_Group::get_order_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t EC_Group::get_order_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 543
    functionName: Botan::EC_Group::get_order_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t EC_Group::get_order_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 547
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 547
    functionName: '& EC_Group::get_p() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & EC_Group::get_p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 551
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 551
    functionName: '& EC_Group::get_a() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & EC_Group::get_a() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 555
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 555
    functionName: '& EC_Group::get_b() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & EC_Group::get_b() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 560
    functionName: '& EC_Group::get_base_point() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point & EC_Group::get_base_point() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 564
    functionName: '& EC_Group::generator() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point & EC_Group::generator() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:568,1
    - Dst: on_the_curve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:573,1
    - Dst: get_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:578,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:578,1
    - Dst: Botan::EC_Group::has_cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:582,1
    - Dst: get_cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:583,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:583,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' point'
    argTypes:
    - EC_Point
    constantsTouched: []
    func_position:
      end: 589
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 589
    functionName: Botan::EC_Group::verify_public_element
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::has_cofactor
    - get_cofactor
    - get_order
    - is_zero
    - on_the_curve
    linkageType: ''
    returnType: bool
    signature: bool EC_Group::verify_public_element(const EC_Point& point) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 595
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 595
    functionName: '& EC_Group::get_order() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & EC_Group::get_order() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: '& EC_Group::get_g_x() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & EC_Group::get_g_x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 603
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 603
    functionName: '& EC_Group::get_g_y() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & EC_Group::get_g_y() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 607
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 607
    functionName: '& EC_Group::get_cofactor() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & EC_Group::get_cofactor() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 611
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 611
    functionName: Botan::EC_Group::has_cofactor
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 1
    functionsReached:
    - data
    linkageType: ''
    returnType: bool
    signature: bool EC_Group::has_cofactor() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 615
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 615
    functionName: '& EC_Group::get_curve_oid() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: OID
    signature: OID & EC_Group::get_curve_oid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 619
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 619
    functionName: Botan::EC_Group::source
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: EC_Group_Source
    signature: EC_Group_Source EC_Group::source() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 623
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 623
    functionName: Botan::EC_Group::engine
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 1
    functionsReached:
    - data
    linkageType: ''
    returnType: EC_Group_Engine
    signature: EC_Group_Engine EC_Group::engine() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:626,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:628,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 633
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 633
    functionName: Botan::EC_Group::DER_encode
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - empty
    - data
    - Encoding_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_Group::DER_encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::generator
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:644,1
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:646,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:650,1
    - Dst: get_a
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:653,1
    - Dst: get_b
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:654,1
    - Dst: get_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:657,1
    - Dst: get_cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:658,1
    - Dst: Botan::EC_Group::DER_encode
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:662,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:666,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - form
    argTypes:
    - EC_Group_Encoding
    constantsTouched: []
    func_position:
      end: 668
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 668
    functionName: Botan::EC_Group::DER_encode
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 1
    functionsReached:
    - DER_Encoder::start_sequence
    - get_cofactor
    - get_p
    - get_order
    - Botan::EC_AffinePoint::generator
    - Botan::EC_Group::DER_encode
    - get_b
    - Internal_Error
    - get_a
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_Group::DER_encode(EC_Group_Encoding form) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::DER_encode
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:671,1
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - form
    argTypes:
    - EC_Group_Encoding
    constantsTouched: []
    func_position:
      end: 673
      start: 670
    functionDepth: 2
    functionLinenumber: 670
    functionLinenumberEnd: 673
    functionName: Botan::EC_Group::PEM_encode
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::DER_encode
    - Botan::PEM_Code::encode
    linkageType: ''
    returnType: std::string
    signature: std::string EC_Group::PEM_encode(EC_Group_Encoding form) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:680,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:680,1
    - Dst: get_a
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:680,1
    - Dst: get_a
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:680,1
    - Dst: get_b
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:680,1
    - Dst: get_b
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:680,1
    - Dst: get_g_x
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:681,1
    - Dst: get_g_x
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:681,1
    - Dst: get_g_y
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:681,1
    - Dst: get_g_y
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:681,1
    - Dst: get_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:681,1
    - Dst: get_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:681,1
    - Dst: get_cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:682,1
    - Dst: get_cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:682,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Group
    constantsTouched: []
    func_position:
      end: 683
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 683
    functionName: EC_Group::operator==(const EC_Group& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - get_g_y
    - get_cofactor
    - get_p
    - get_order
    - get_g_x
    - get_b
    - get_a
    linkageType: ''
    returnType: bool
    signature: bool EC_Group::operator==(const EC_Group& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:696,1
    - Dst: get_a
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:697,1
    - Dst: get_b
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:698,1
    - Dst: get_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:699,1
    - Dst: is_prime
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:715,1
    - Dst: is_prime
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:720,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:725,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:727,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:727,1
    - Dst: auto::cube
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:727,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:727,1
    - Dst: auto::square
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:727,1
    - Dst: get_cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:734,1
    - Dst: get_base_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:739,1
    - Dst: on_the_curve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:741,1
    - Dst: get_cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:744,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:744,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:748,1
    - Dst: get_cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:754,1
    - Dst: abs
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:754,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:754,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 759
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 759
    functionName: Botan::EC_Group::verify_group
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - abs
    - auto::multiply
    - get_base_point
    - get_cofactor
    - get_p
    - get_order
    - is_prime
    - auto::cube
    - auto::reduce
    - on_the_curve
    - bits
    - get_b
    - is_zero
    - Botan::Barrett_Reduction::for_public_modulus
    - auto::square
    - get_a
    linkageType: ''
    returnType: bool
    signature: bool EC_Group::verify_group(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:761,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' h'
    argTypes:
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 761
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 761
    functionName: EC_Group::Mul2Table::Mul2Table(const EC_AffinePoint& h)
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - _group
    - _inner
    linkageType: ''
    returnType: void
    signature: void EC_Group::Mul2Table::Mul2Table(const EC_AffinePoint& h)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 763
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 763
    functionName: EC_Group::Mul2Table::~Mul2Table()
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_Group::Mul2Table::~Mul2Table()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul2_vartime
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:766,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:766,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:766,1
    - Dst: Botan::EC_AffinePoint::_from_inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:768,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - EC_Scalar
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 772
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 772
    functionName: EC_Group::Mul2Table::mul2_vartime(const EC_Scalar& x, const EC_Scalar&
      y) const
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_AffinePoint::_from_inner
    - _inner
    - mul2_vartime
    - std::move
    linkageType: ''
    returnType: std::optional<EC_AffinePoint>
    signature: std::optional<EC_AffinePoint> EC_Group::Mul2Table::mul2_vartime(const
      EC_Scalar& x, const EC_Scalar& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul2_vartime_x_mod_order_eq
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:777,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:777,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:777,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' v'
    - ' x'
    - ' y'
    argTypes:
    - EC_Scalar
    - EC_Scalar
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 778
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 778
    functionName: "EC_Group::Mul2Table::mul2_vartime_x_mod_order_eq(const EC_Scalar&
      v,\n                                                      const EC_Scalar& x,\n
      \                                                     const EC_Scalar& y) const"
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - _inner
    - mul2_vartime_x_mod_order_eq
    linkageType: ''
    returnType: bool
    signature: "bool EC_Group::Mul2Table::mul2_vartime_x_mod_order_eq(const EC_Scalar&
      v,\n                                                      const EC_Scalar& x,\n
      \                                                     const EC_Scalar& y) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_Group::Mul2Table::mul2_vartime_x_mod_order_eq
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' v'
    - ' c'
    - ' x'
    - ' y'
    argTypes:
    - EC_Scalar
    - EC_Scalar
    - EC_Scalar
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 785
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 785
    functionName: "EC_Group::Mul2Table::mul2_vartime_x_mod_order_eq(const EC_Scalar&
      v,\n                                                      const EC_Scalar& c,\n
      \                                                     const EC_Scalar& x,\n
      \                                                     const EC_Scalar& y) const"
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.cpp
    functionUses: 0
    functionsReached:
    - EC_Group::Mul2Table::mul2_vartime_x_mod_order_eq
    linkageType: ''
    returnType: bool
    signature: "bool EC_Group::Mul2Table::mul2_vartime_x_mod_order_eq(const EC_Scalar&
      v,\n                                                      const EC_Scalar& c,\n
      \                                                     const EC_Scalar& x,\n
      \                                                     const EC_Scalar& y) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:18,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:30,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:42,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:54,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:66,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:78,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:90,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:102,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:114,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:126,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:138,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:150,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:162,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:174,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:186,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:198,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:210,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:222,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:234,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:246,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:258,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:270,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:282,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:294,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:306,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:318,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:330,1
    - Dst: Botan::EC_Group::load_EC_group_info
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:342,1
    - Dst: std::shared_ptr<EC_Group_Data>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:352,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 86
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 353
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 353
    functionName: Botan::EC_Group::EC_group_info
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp
    functionUses: 3
    functionsReached:
    - std::shared_ptr<EC_Group_Data>
    - Botan::EC_Group::load_EC_group_info
    linkageType: ''
    returnType: std::shared_ptr<EC_Group_Data>
    signature: std::shared_ptr<EC_Group_Data> EC_Group::EC_group_info(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:360,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:364,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:368,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:372,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:376,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:380,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:384,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:388,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:392,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:396,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:400,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:404,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:408,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:412,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:416,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:420,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:424,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:428,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:432,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:436,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:440,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:444,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:448,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:452,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:456,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:460,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:464,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:468,1
    - Dst: OID
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:472,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 86
    argCount: 1
    argNames:
    - ' order'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 473
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 473
    functionName: Botan::EC_Group::EC_group_identity_from_order
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp
    functionUses: 2
    functionsReached:
    - OID
    - BigInt
    linkageType: ''
    returnType: OID
    signature: OID EC_Group::EC_group_identity_from_order(const BigInt& order)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:478,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:478,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:482,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:482,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:486,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:486,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:490,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:490,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:494,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:494,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:498,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:498,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:502,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:507,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:507,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:511,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:511,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:515,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:515,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:519,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:519,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:523,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:523,1
    - Dst: defined
      Src: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp:527,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 551
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 551
    functionName: '& EC_Group::known_named_groups()'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_named.cpp
    functionUses: 0
    functionsReached:
    - defined
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> & EC_Group::known_named_groups()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: EC_Group_Data::~EC_Group_Data()
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_Group_Data::~EC_Group_Data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:45,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:46,1
    - Dst: sig_words
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:50,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:51,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:52,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:55,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:60,1
    - Dst: DER_Encoder::encode
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:62,1
    - Dst: human_name_or_empty
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:64,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:65,1
    - Dst: Botan::PCurve::PrimeOrderCurve::for_named_curve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:67,1
    - Dst: Botan::PCurve::PrimeOrderCurve::from_params
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:76,1
    - Dst: mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:86,1
    - Dst: R2
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:86,1
    - Dst: mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:87,1
    - Dst: R2
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:87,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:93,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:94,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:96,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:97,1
    - Dst: to_string
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:97,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 9
    argNames:
    - ' p'
    - ' a'
    - ' b'
    - ' g_x'
    - ' g_y'
    - ' order'
    - ' cofactor'
    - ' oid'
    - source
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - OID
    - EC_Group_Source
    constantsTouched: []
    func_position:
      end: 101
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 101
    functionName: Botan::EC_Group_Data::EC_Group_Data
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - Botan::Barrett_Reduction::for_public_modulus
    - fmt
    - DER_Encoder::encode
    - R2
    - bits
    - empty
    - Botan::PCurve::PrimeOrderCurve::from_params
    - std::string::empty
    - Botan::PCurve::PrimeOrderCurve::for_named_curve
    - to_string
    - human_name_or_empty
    - is_zero
    - sig_words
    - Not_Implemented
    - mul
    linkageType: ''
    returnType: void
    signature: "void EC_Group_Data::EC_Group_Data(const BigInt& p,\n                             const
      BigInt& a,\n                             const BigInt& b,\n                             const
      BigInt& g_x,\n                             const BigInt& g_y,\n                             const
      BigInt& order,\n                             const BigInt& cofactor,\n                             const
      OID& oid,\n                             EC_Group_Source source)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<EC_Group_Data>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:112,1
    - Dst: CurveGFp
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:115,1
    - Dst: auto::get
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:115,1
    - Dst: EC_Point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:116,1
    - Dst: std::make_unique<EC_Point_Base_Point_Precompute>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 9
    argNames:
    - ' p'
    - ' a'
    - ' b'
    - ' g_x'
    - ' g_y'
    - ' order'
    - ' cofactor'
    - ' oid'
    - source
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - OID
    - EC_Group_Source
    constantsTouched: []
    func_position:
      end: 123
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 123
    functionName: Botan::EC_Group_Data::create
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 3
    functionsReached:
    - std::make_unique<EC_Point_Base_Point_Precompute>
    - CurveGFp
    - EC_Point
    - std::make_shared<EC_Group_Data>
    - auto::get
    linkageType: ''
    returnType: std::shared_ptr<EC_Group_Data>
    signature: "std::shared_ptr<EC_Group_Data> EC_Group_Data::create(const BigInt&
      p,\n                                                     const BigInt& a,\n
      \                                                    const BigInt& b,\n                                                     const
      BigInt& g_x,\n                                                     const BigInt&
      g_y,\n                                                     const BigInt& order,\n
      \                                                    const BigInt& cofactor,\n
      \                                                    const OID& oid,\n                                                     EC_Group_Source
      source)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::p
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:132,1
    - Dst: Botan::EC_Group_Data::a
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:132,1
    - Dst: Botan::EC_Group_Data::b
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:132,1
    - Dst: Botan::EC_Group_Data::order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:132,1
    - Dst: Botan::EC_Group_Data::cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:133,1
    - Dst: Botan::EC_Group_Data::g_x
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:133,1
    - Dst: Botan::EC_Group_Data::g_y
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - ' p'
    - ' a'
    - ' b'
    - ' g_x'
    - ' g_y'
    - ' order'
    - ' cofactor'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: Botan::EC_Group_Data::params_match
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group_Data::g_x
    - Botan::EC_Group_Data::g_y
    - Botan::EC_Group_Data::p
    - Botan::EC_Group_Data::order
    - Botan::EC_Group_Data::b
    - Botan::EC_Group_Data::cofactor
    - Botan::EC_Group_Data::a
    linkageType: ''
    returnType: bool
    signature: "bool EC_Group_Data::params_match(const BigInt& p,\n                                 const
      BigInt& a,\n                                 const BigInt& b,\n                                 const
      BigInt& g_x,\n                                 const BigInt& g_y,\n                                 const
      BigInt& order,\n                                 const BigInt& cofactor) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::params_match
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:137,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:137,1
    - Dst: a
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:137,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:137,1
    - Dst: g_x
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:137,1
    - Dst: g_y
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:137,1
    - Dst: order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:137,1
    - Dst: cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Group_Data
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Botan::EC_Group_Data::params_match
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 1
    functionsReached:
    - g_x
    - b
    - Botan::EC_Group_Data::params_match
    - p
    - cofactor
    - order
    - g_y
    - a
    linkageType: ''
    returnType: bool
    signature: bool EC_Group_Data::params_match(const EC_Group_Data& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:141,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:141,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:142,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:142,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:142,1
    - Dst: DER_Encoder::encode
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: Botan::EC_Group_Data::set_oid
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - empty
    - BOTAN_STATE_CHECK
    - BOTAN_ARG_CHECK
    - DER_Encoder::encode
    linkageType: ''
    returnType: void
    signature: void EC_Group_Data::set_oid(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::order_bits
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:152,1
    - Dst: Botan::EC_Group_Data::scalar_from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:154,1
    - Dst: Botan::EC_Group_Data::scalar_from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:163,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:163,1
    - Dst: Botan::EC_Group_Data::scalar_from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 177
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 177
    functionName: Botan::EC_Group_Data::scalar_from_bytes_with_trunc
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group_Data::scalar_from_bytes_mod_order
    - std::span<const uint8_t>::first
    - Botan::EC_Group_Data::order_bits
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Group_Data::scalar_from_bytes_with_trunc(std::span<const
      uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:180,1
    - Dst: Botan::EC_Group_Data::order_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:180,1
    - Dst: scalar_from_wide_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:185,1
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:186,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:186,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:186,1
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:192,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:192,1
    - Dst: reduce
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:192,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:192,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 197
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 197
    functionName: Botan::EC_Group_Data::scalar_from_bytes_mod_order
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 1
    functionsReached:
    - BigInt
    - shared_from_this
    - Botan::EC_Group_Data::order_bytes
    - std::make_unique<EC_Scalar_Data_PC>
    - std::move
    - std::span<const uint8_t>::size
    - std::make_unique<EC_Scalar_Data_BN>
    - scalar_from_wide_bytes
    - Not_Implemented
    - reduce
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Group_Data::scalar_from_bytes_mod_order(std::span<const
      uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:201,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:201,1
    - Dst: random_scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:201,1
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:204,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:204,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:205,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:205,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: Botan::EC_Group_Data::scalar_random
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - random_scalar
    - shared_from_this
    - Botan::BigInt::random_integer
    - std::make_unique<EC_Scalar_Data_PC>
    - std::make_unique<EC_Scalar_Data_BN>
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Group_Data::scalar_random(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:214,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:214,1
    - Dst: Botan::EC_Group_Data::scalar_one
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:214,1
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:217,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:217,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:217,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: Botan::EC_Group_Data::scalar_one
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - shared_from_this
    - Botan::EC_Group_Data::scalar_one
    - std::make_unique<EC_Scalar_Data_PC>
    - std::make_unique<EC_Scalar_Data_BN>
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Group_Data::scalar_one() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::scalar_deserialize
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:230,1
    - Dst: serialize
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:230,1
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:233,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:233,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 238
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 238
    functionName: Botan::EC_Group_Data::scalar_from_bigint
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - shared_from_this
    - Botan::EC_Group_Data::scalar_deserialize
    - serialize
    - std::make_unique<EC_Scalar_Data_BN>
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Group_Data::scalar_from_bigint(const
      BigInt& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:243,1
    - Dst: base_point_mul_x_mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:244,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:244,1
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:245,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:245,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:248,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:249,1
    - Dst: mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:251,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:251,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:253,1
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:254,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:254,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:254,1
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:256,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:256,1
    - Dst: reduce
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:256,1
    - Dst: auto::get_affine_x
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:256,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - EC_Scalar_Data
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 262
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 262
    functionName: Botan::EC_Group_Data::gk_x_mod_order
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - base_point_mul_x_mod_order
    - fiat_bls12_381_fp_nonzero
    - reduce
    - BOTAN_STATE_CHECK
    - shared_from_this
    - EC_Scalar_Data_BN::checked_ref
    - EC_Scalar_Data_PC::checked_ref
    - auto::get_affine_x
    - std::make_unique<EC_Scalar_Data_PC>
    - value
    - std::make_unique<EC_Scalar_Data_BN>
    - auto::is_zero
    - Not_Implemented
    - mul
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: "std::unique_ptr<EC_Scalar_Data> EC_Group_Data::gk_x_mod_order(const
      EC_Scalar_Data& scalar,\n                                                              RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:265,1
    - Dst: deserialize_scalar
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:270,1
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:271,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:271,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:279,1
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:283,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:283,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:283,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 288
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 288
    functionName: Botan::EC_Group_Data::scalar_deserialize
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 1
    functionsReached:
    - deserialize_scalar
    - shared_from_this
    - std::make_unique<EC_Scalar_Data_PC>
    - std::move
    - std::span<const uint8_t>::size
    - std::make_unique<EC_Scalar_Data_BN>
    - BigInt::is_zero
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Group_Data::scalar_deserialize(std::span<const
      uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:293,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:298,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:298,1
    - Dst: Botan::EC_Group_Data::point_deserialize
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:300,1
    - Dst: deserialize_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:306,1
    - Dst: std::make_unique<EC_AffinePoint_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:307,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:307,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:307,1
    - Dst: Botan::OS2ECP
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:313,1
    - Dst: std::make_unique<EC_AffinePoint_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:314,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:314,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:314,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:316,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 322
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 322
    functionName: Botan::EC_Group_Data::point_deserialize
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::end
    - Botan::OS2ECP
    - Botan::EC_Group_Data::point_deserialize
    - std::make_unique<EC_AffinePoint_Data_BN>
    - std::make_unique<EC_AffinePoint_Data_PC>
    - shared_from_this
    - std::move
    - std::span<const uint8_t>::size
    - deserialize_point
    - std::span<const uint8_t>::begin
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: std::unique_ptr<EC_AffinePoint_Data> EC_Group_Data::point_deserialize(std::span<const
      uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:333,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:334,1
    - Dst: Botan::expand_message_xmd
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:339,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:341,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - hash_fn
    - input
    - domain_sep
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 345
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 345
    functionName: Botan::h2c_expand_message
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - Botan::expand_message_xmd
    - std::string_view::starts_with
    - BOTAN_UNUSED
    - Not_Implemented
    linkageType: ''
    returnType: std::function<void(std::span<uint8_t>)>
    signature: "std::function<void(std::span<uint8_t>)> h2c_expand_message(std::string_view
      hash_fn,\n                                                           std::span<const
      uint8_t> input,\n                                                           std::span<const
      uint8_t> domain_sep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_to_curve_ro
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:353,1
    - Dst: h2c_expand_message
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:353,1
    - Dst: std::make_unique<EC_AffinePoint_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:354,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:354,1
    - Dst: point_to_affine
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:354,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - hash_fn
    - input
    - domain_sep
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: Botan::EC_Group_Data::point_hash_to_curve_ro
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - hash_to_curve_ro
    - h2c_expand_message
    - point_to_affine
    - shared_from_this
    - std::make_unique<EC_AffinePoint_Data_PC>
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: "std::unique_ptr<EC_AffinePoint_Data> EC_Group_Data::point_hash_to_curve_ro(std::string_view
      hash_fn,\n                                                                           std::span<const
      uint8_t> input,\n                                                                           std::span<const
      uint8_t> domain_sep) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_to_curve_nu
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:364,1
    - Dst: h2c_expand_message
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:364,1
    - Dst: std::make_unique<EC_AffinePoint_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:365,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:365,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:365,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - hash_fn
    - input
    - domain_sep
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 369
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 369
    functionName: Botan::EC_Group_Data::point_hash_to_curve_nu
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - h2c_expand_message
    - shared_from_this
    - std::make_unique<EC_AffinePoint_Data_PC>
    - std::move
    - hash_to_curve_nu
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: "std::unique_ptr<EC_AffinePoint_Data> EC_Group_Data::point_hash_to_curve_nu(std::string_view
      hash_fn,\n                                                                           std::span<const
      uint8_t> input,\n                                                                           std::span<const
      uint8_t> domain_sep) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:374,1
    - Dst: point_to_affine
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:375,1
    - Dst: mul_by_g
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:375,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:375,1
    - Dst: std::make_unique<EC_AffinePoint_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:376,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:376,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:376,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:379,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:380,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:382,1
    - Dst: m_base_mult::mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:384,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:384,1
    - Dst: std::make_unique<EC_AffinePoint_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:385,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:385,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:385,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - EC_Scalar_Data
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 390
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 390
    functionName: Botan::EC_Group_Data::point_g_mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - point_to_affine
    - BOTAN_STATE_CHECK
    - std::make_unique<EC_AffinePoint_Data_BN>
    - std::make_unique<EC_AffinePoint_Data_PC>
    - shared_from_this
    - EC_Scalar_Data_BN::checked_ref
    - group
    - EC_Scalar_Data_PC::checked_ref
    - Not_Implemented
    - std::move
    - value
    - m_base_mult::mul
    - mul_by_g
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: "std::unique_ptr<EC_AffinePoint_Data> EC_Group_Data::point_g_mul(const
      EC_Scalar_Data& scalar,\n                                                                RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::mul_px_qy
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:398,1
    - Dst: EC_AffinePoint_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:398,1
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:399,1
    - Dst: EC_AffinePoint_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:400,1
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:401,1
    - Dst: std::make_unique<EC_AffinePoint_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:405,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:405,1
    - Dst: point_to_affine
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:405,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:412,1
    - Dst: to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:415,1
    - Dst: to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:416,1
    - Dst: order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:418,1
    - Dst: cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:418,1
    - Dst: EC_Point_Var_Point_Precompute::mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:420,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:420,1
    - Dst: EC_Point_Var_Point_Precompute::mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:421,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:421,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:425,1
    - Dst: auto::force_affine
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:426,1
    - Dst: std::make_unique<EC_AffinePoint_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:427,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:427,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:427,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - ' p'
    - ' x'
    - ' q'
    - ' y'
    - ' rng'
    argTypes:
    - EC_AffinePoint_Data
    - EC_Scalar_Data
    - EC_AffinePoint_Data
    - EC_Scalar_Data
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 435
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 435
    functionName: Botan::EC_Group_Data::mul_px_qy
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Group_Data::mul_px_qy
    - point_to_affine
    - auto::force_affine
    - to_legacy_point
    - std::make_unique<EC_AffinePoint_Data_BN>
    - shared_from_this
    - std::make_unique<EC_AffinePoint_Data_PC>
    - EC_Point_Var_Point_Precompute::mul
    - group
    - EC_Scalar_Data_PC::checked_ref
    - EC_AffinePoint_Data_PC::checked_ref
    - cofactor
    - EC_Scalar_Data_BN::checked_ref
    - order
    - std::move
    - auto::is_zero
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: "std::unique_ptr<EC_AffinePoint_Data> EC_Group_Data::mul_px_qy(const
      EC_AffinePoint_Data& p,\n                                                              const
      EC_Scalar_Data& x,\n                                                              const
      EC_AffinePoint_Data& q,\n                                                              const
      EC_Scalar_Data& y,\n                                                              RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_add
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:440,1
    - Dst: EC_AffinePoint_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:440,1
    - Dst: EC_AffinePoint_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:441,1
    - Dst: std::make_unique<EC_AffinePoint_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:443,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:443,1
    - Dst: point_to_affine
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:443,1
    - Dst: to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:446,1
    - Dst: to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:446,1
    - Dst: std::make_unique<EC_AffinePoint_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:447,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:447,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:447,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' p'
    - ' q'
    argTypes:
    - EC_AffinePoint_Data
    - EC_AffinePoint_Data
    constantsTouched: []
    func_position:
      end: 452
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 452
    functionName: Botan::EC_Group_Data::affine_add
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - point_add
    - point_to_affine
    - to_legacy_point
    - std::make_unique<EC_AffinePoint_Data_BN>
    - std::make_unique<EC_AffinePoint_Data_PC>
    - shared_from_this
    - EC_AffinePoint_Data_PC::checked_ref
    - std::move
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: "std::unique_ptr<EC_AffinePoint_Data> EC_Group_Data::affine_add(const
      EC_AffinePoint_Data& p,\n                                                               const
      EC_AffinePoint_Data& q) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_negate
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:456,1
    - Dst: EC_AffinePoint_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:456,1
    - Dst: std::make_unique<EC_AffinePoint_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:457,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:457,1
    - Dst: to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:460,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:461,1
    - Dst: std::make_unique<EC_AffinePoint_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:462,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:462,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:462,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - EC_AffinePoint_Data
    constantsTouched: []
    func_position:
      end: 467
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 467
    functionName: Botan::EC_Group_Data::affine_neg
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - auto::negate
    - to_legacy_point
    - std::make_unique<EC_AffinePoint_Data_BN>
    - shared_from_this
    - std::make_unique<EC_AffinePoint_Data_PC>
    - EC_AffinePoint_Data_PC::checked_ref
    - std::move
    - point_negate
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: std::unique_ptr<EC_AffinePoint_Data> EC_Group_Data::affine_neg(const
      EC_AffinePoint_Data& p) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Mul2Table_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:471,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:474,1
    - Dst: Botan::EC_Group_Data::base_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:474,1
    - Dst: std::make_unique<EC_Mul2Table_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:475,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' h'
    argTypes:
    - EC_AffinePoint_Data
    constantsTouched: []
    func_position:
      end: 480
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 480
    functionName: Botan::EC_Group_Data::make_mul2_table
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_data.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_Mul2Table_Data_PC>
    - shared_from_this
    - Botan::EC_Group_Data::base_point
    - std::make_unique<EC_Mul2Table_Data_BN>
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<EC_Mul2Table_Data>
    signature: std::unique_ptr<EC_Mul2Table_Data> EC_Group_Data::make_mul2_table(const
      EC_AffinePoint_Data& h) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:118,1
    - Dst: OID
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:126,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:183,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:190,1
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:190,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:200,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:217,1
    - Dst: Botan::EC_Group::from_PEM
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:218,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:224,1
    - Dst: EC_Group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:224,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:293,1
    - Dst: Mul2Table
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:339,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:474,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:475,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:478,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:480,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:487,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:495,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:501,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:503,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:504,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:505,1
    - Dst: Mul2Table::mul2_vartime
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:509,1
    - Dst: auto::to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:510,1
    - Dst: Botan::EC_AffinePoint::identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:512,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:522,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:524,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:525,1
    - Dst: auto::to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:526,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:537,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:539,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:540,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:540,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:550,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:555,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:556,1
    - Dst: auto::mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:557,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:563,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:564,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:580,1
    - Dst: Botan::EC_AffinePoint::hash_to_curve_ro
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:591,1
    - Dst: Botan::EC_AffinePoint::hash_to_curve_nu
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:593,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:609,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:616,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:616,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:616,1
    - Dst: Botan::EC_AffinePoint::hash_to_curve_ro
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:619,1
    - Dst: Botan::EC_AffinePoint::hash_to_curve_nu
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:621,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:628,1
    - Dst: Botan::EC_AffinePoint::from_bigint_xy
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:629,1
    - Dst: auto::to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:630,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:632,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:639,1
    - Dst: Botan::EC_AffinePoint::identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:640,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:647,1
    - Dst: get_a
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:647,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:647,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:652,1
    - Dst: get_a
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:652,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:657,1
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:658,1
    - Dst: auto::serialize
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:658,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:664,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:665,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:671,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:672,1
    - Dst: auto::square_self
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:673,1
    - Dst: auto::to_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:674,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:680,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:681,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:682,1
    - Dst: to_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:683,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:689,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:691,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:692,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:693,1
    - Dst: to_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:694,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:700,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:701,1
    - Dst: to_bigint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:702,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:705,1
    - Dst: get_p_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:708,1
    - Dst: get_p_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:710,1
    - Dst: EC_Group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_group.h:717,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 122
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 735
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 735
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.h
    functionUses: 7
    functionsReached:
    - Mul2Table
    - to_bigint
    - Mul2Table::mul2_vartime
    - get_p_bytes
    - OID
    - Botan::EC_Scalar::from_bigint
    - data
    - Botan::EC_Scalar::from_bytes_mod_order
    - Botan::EC_AffinePoint::g_mul
    - reinterpret_cast<const uint8_t*>
    - Botan::EC_Scalar::random
    - EC_AffinePoint
    - Botan::Decoding_Error
    - BigInt
    - Botan::EC_AffinePoint::hash_to_curve_nu
    - get_p
    - BOTAN_DEPRECATED
    - auto::to_legacy_point
    - get_a
    - Botan::EC_AffinePoint::from_bigint_xy
    - Botan::EC_AffinePoint::hash_to_curve_ro
    - EC_Group
    - Botan::EC_Group::from_OID
    - Botan::EC_Group::from_PEM
    - auto::to_bigint
    - auto::serialize
    - auto::square_self
    - Botan::size
    - auto::mul
    - Botan::EC_AffinePoint::identity
    linkageType: ''
    returnType: EC_Group
    signature: EC_Group final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - EC_Group
    - EC_Group
    constantsTouched: []
    func_position:
      end: 739
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 739
    functionName: operator!=(const EC_Group& lhs, const EC_Group& rhs)
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_group.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const EC_Group& lhs, const EC_Group& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:15,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - point
    argTypes:
    - std::unique_ptr<EC_AffinePoint_Data>
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: Botan::EC_AffinePoint::EC_AffinePoint
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 9
    functionsReached:
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::EC_AffinePoint(std::unique_ptr<EC_AffinePoint_Data>
      point)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: Botan::EC_AffinePoint::EC_AffinePoint
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 9
    functionsReached:
    - inner
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::EC_AffinePoint(const EC_AffinePoint& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan::EC_AffinePoint::EC_AffinePoint
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 9
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::EC_AffinePoint(EC_AffinePoint&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: '& EC_AffinePoint::operator=(const EC_AffinePoint& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - inner
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint & EC_AffinePoint::operator=(const EC_AffinePoint& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '& EC_AffinePoint::operator=(EC_AffinePoint&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint & EC_AffinePoint::operator=(EC_AffinePoint&& other)
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:36,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' group'
    - bytes
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: Botan::EC_AffinePoint::EC_AffinePoint
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 9
    functionsReached:
    - Decoding_Error
    - _data
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::EC_AffinePoint(const EC_Group& group, std::span<const
      uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::EC_AffinePoint::to_legacy_point
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_AffinePoint::to_legacy_point
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point EC_AffinePoint::to_legacy_point() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' pt'
    argTypes:
    - EC_Group
    - EC_Point
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: Botan::EC_AffinePoint::EC_AffinePoint
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 9
    functionsReached:
    - encode
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::EC_AffinePoint(const EC_Group& group, const EC_Point&
      pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_AffinePoint::_group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:60,1
    - Dst: _group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:60,1
    - Dst: EC_AffinePoint::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:64,1
    - Dst: is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:65,1
    - Dst: EC_AffinePoint::serialize_uncompressed
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:71,1
    - Dst: serialize_uncompressed
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:72,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:73,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:73,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:73,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:75,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:75,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:75,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 76
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 76
    functionName: EC_AffinePoint::operator==(const EC_AffinePoint& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - EC_AffinePoint::_group
    - serialize_uncompressed
    - BOTAN_ASSERT_NOMSG
    - _group
    - EC_AffinePoint::is_identity
    - Botan::CT::is_equal
    - is_identity
    - auto::data
    - auto::size
    - EC_AffinePoint::serialize_uncompressed
    linkageType: ''
    returnType: bool
    signature: bool EC_AffinePoint::operator==(const EC_AffinePoint& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - EC_Group
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: Botan::EC_AffinePoint::identity
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 4
    functionsReached:
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint EC_AffinePoint::identity(const EC_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::from_bigint_xy
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:86,1
    - Dst: get_g_x
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:86,1
    - Dst: get_g_y
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:86,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - EC_Group
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: Botan::EC_AffinePoint::generator
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 8
    functionsReached:
    - Botan::EC_AffinePoint::from_bigint_xy
    - get_g_x
    - Internal_Error
    - get_g_y
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint EC_AffinePoint::generator(const EC_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:93,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:93,1
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:96,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:96,1
    - Dst: serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:103,1
    - Dst: subspan
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:103,1
    - Dst: serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:104,1
    - Dst: last
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:104,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' group'
    - ' x'
    - ' y'
    argTypes:
    - EC_Group
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: Botan::EC_AffinePoint::from_bigint_xy
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 7
    functionsReached:
    - get_p
    - is_negative
    - Botan::EC_AffinePoint::deserialize
    - subspan
    - serialize_to
    - last
    linkageType: ''
    returnType: std::optional<EC_AffinePoint>
    signature: std::optional<EC_AffinePoint> EC_AffinePoint::from_bigint_xy(const
      EC_Group& group, const BigInt& x, const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: Botan::EC_AffinePoint::field_element_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - inner
    linkageType: ''
    returnType: size_t
    signature: size_t EC_AffinePoint::field_element_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: Botan::EC_AffinePoint::is_identity
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - inner
    linkageType: ''
    returnType: bool
    signature: bool EC_AffinePoint::is_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:121,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:122,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' group'
    - hash_fn
    - input
    - domain_sep
    argTypes:
    - EC_Group
    - std::string_view
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: Botan::EC_AffinePoint::hash_to_curve_ro
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 3
    functionsReached:
    - Botan::EC_AffinePoint::EC_AffinePoint
    - std::move
    - _data
    linkageType: ''
    returnType: EC_AffinePoint
    signature: "EC_AffinePoint EC_AffinePoint::hash_to_curve_ro(const EC_Group& group,\n
      \                                               std::string_view hash_fn,\n
      \                                               std::span<const uint8_t> input,\n
      \                                               std::span<const uint8_t> domain_sep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:129,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:130,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' group'
    - hash_fn
    - input
    - domain_sep
    argTypes:
    - EC_Group
    - std::string_view
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: Botan::EC_AffinePoint::hash_to_curve_nu
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 3
    functionsReached:
    - Botan::EC_AffinePoint::EC_AffinePoint
    - std::move
    - _data
    linkageType: ''
    returnType: EC_AffinePoint
    signature: "EC_AffinePoint EC_AffinePoint::hash_to_curve_nu(const EC_Group& group,\n
      \                                               std::string_view hash_fn,\n
      \                                               std::span<const uint8_t> input,\n
      \                                               std::span<const uint8_t> domain_sep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: EC_AffinePoint::~EC_AffinePoint()
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::~EC_AffinePoint()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _data
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:136,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:137,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' group'
    - bytes
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: Botan::EC_AffinePoint::deserialize
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 5
    functionsReached:
    - Botan::EC_AffinePoint::EC_AffinePoint
    - std::move
    - _data
    linkageType: ''
    returnType: std::optional<EC_AffinePoint>
    signature: std::optional<EC_AffinePoint> EC_AffinePoint::deserialize(const EC_Group&
      group, std::span<const uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:144,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:144,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:145,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - EC_Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: Botan::EC_AffinePoint::g_mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 7
    functionsReached:
    - inner
    - _inner
    - Botan::EC_AffinePoint::EC_AffinePoint
    - std::move
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint EC_AffinePoint::g_mul(const EC_Scalar& scalar, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:149,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:149,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - EC_Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: Botan::EC_AffinePoint::mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - inner
    - _inner
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint EC_AffinePoint::mul(const EC_Scalar& scalar, RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:153,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - EC_Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: Botan::EC_AffinePoint::mul_x_only
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - inner
    - _inner
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> EC_AffinePoint::mul_x_only(const EC_Scalar&
      scalar, RandomNumberGenerator& rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:161,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:161,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:161,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:161,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:161,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:163,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ' p'
    - ' x'
    - ' q'
    - ' y'
    - ' rng'
    argTypes:
    - EC_AffinePoint
    - EC_Scalar
    - EC_AffinePoint
    - EC_Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: Botan::EC_AffinePoint::mul_px_qy
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 3
    functionsReached:
    - _inner
    - Botan::EC_AffinePoint::EC_AffinePoint
    - std::move
    linkageType: ''
    returnType: std::optional<EC_AffinePoint>
    signature: "std::optional<EC_AffinePoint> EC_AffinePoint::mul_px_qy(const EC_AffinePoint&
      p,\n                                                        const EC_Scalar&
      x,\n                                                        const EC_AffinePoint&
      q,\n                                                        const EC_Scalar&
      y,\n                                                        RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:170,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:170,1
    - Dst: _inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:170,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:171,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' q'
    argTypes:
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: Botan::EC_AffinePoint::add
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - _inner
    - Botan::EC_AffinePoint::EC_AffinePoint
    - std::move
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint EC_AffinePoint::add(const EC_AffinePoint& q) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::_inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:175,1
    - Dst: Botan::EC_AffinePoint::_inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:175,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:176,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: Botan::EC_AffinePoint::negate
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_AffinePoint::EC_AffinePoint
    - std::move
    - Botan::EC_AffinePoint::_inner
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint EC_AffinePoint::negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::serialize_compressed
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:181,1
    - Dst: Botan::EC_AffinePoint::serialize_uncompressed
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:183,1
    - Dst: Botan::EC_AffinePoint::serialize_uncompressed
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:187,1
    - Dst: auto::front
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - EC_Point_Format
    constantsTouched: []
    func_position:
      end: 192
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 192
    functionName: Botan::EC_AffinePoint::serialize
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_AffinePoint::serialize_uncompressed
    - auto::front
    - Botan::EC_AffinePoint::serialize_compressed
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_AffinePoint::serialize(EC_Point_Format format)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:195,1
    - Dst: Botan::EC_AffinePoint::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:195,1
    - Dst: Botan::EC_AffinePoint::serialize_x_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: Botan::EC_AffinePoint::serialize_x_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_AffinePoint::is_identity
    - BOTAN_STATE_CHECK
    - Botan::EC_AffinePoint::serialize_x_to
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::serialize_x_to(std::span<uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:200,1
    - Dst: Botan::EC_AffinePoint::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:200,1
    - Dst: Botan::EC_AffinePoint::serialize_y_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: Botan::EC_AffinePoint::serialize_y_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_AffinePoint::is_identity
    - BOTAN_STATE_CHECK
    - Botan::EC_AffinePoint::serialize_y_to
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::serialize_y_to(std::span<uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:205,1
    - Dst: Botan::EC_AffinePoint::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:205,1
    - Dst: Botan::EC_AffinePoint::serialize_xy_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: Botan::EC_AffinePoint::serialize_xy_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_AffinePoint::is_identity
    - BOTAN_STATE_CHECK
    - Botan::EC_AffinePoint::serialize_xy_to
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::serialize_xy_to(std::span<uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:210,1
    - Dst: Botan::EC_AffinePoint::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:210,1
    - Dst: Botan::EC_AffinePoint::serialize_compressed_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: Botan::EC_AffinePoint::serialize_compressed_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_AffinePoint::is_identity
    - BOTAN_STATE_CHECK
    - Botan::EC_AffinePoint::serialize_compressed_to
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::serialize_compressed_to(std::span<uint8_t> bytes)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:215,1
    - Dst: Botan::EC_AffinePoint::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:215,1
    - Dst: Botan::EC_AffinePoint::serialize_uncompressed_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: Botan::EC_AffinePoint::serialize_uncompressed_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_AffinePoint::is_identity
    - BOTAN_STATE_CHECK
    - Botan::EC_AffinePoint::serialize_uncompressed_to
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint::serialize_uncompressed_to(std::span<uint8_t> bytes)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:220,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inner
    argTypes:
    - std::unique_ptr<EC_AffinePoint_Data>
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: Botan::EC_AffinePoint::_from_inner
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_AffinePoint::EC_AffinePoint
    - std::move
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint EC_AffinePoint::_from_inner(std::unique_ptr<EC_AffinePoint_Data>
      inner)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: '& EC_AffinePoint::_group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.cpp
    functionUses: 0
    functionsReached:
    - inner
    linkageType: ''
    returnType: std::shared_ptr<const EC_Group_Data>
    signature: std::shared_ptr<const EC_Group_Data> & EC_AffinePoint::_group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const EC_Scalar_Data_PC*>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:14,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:16,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 19
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 19
    functionName: '& EC_Scalar_Data_PC::checked_ref(const EC_Scalar_Data& data)'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - dynamic_cast<const EC_Scalar_Data_PC*>
    linkageType: ''
    returnType: EC_Scalar_Data_PC
    signature: EC_Scalar_Data_PC & EC_Scalar_Data_PC::checked_ref(const EC_Scalar_Data&
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: '& EC_Scalar_Data_PC::group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const EC_Group_Data>
    signature: std::shared_ptr<const EC_Group_Data> & EC_Scalar_Data_PC::group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar_Data_PC::group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::EC_Scalar_Data_PC::bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar_Data_PC::group
    linkageType: ''
    returnType: size_t
    signature: size_t EC_Scalar_Data_PC::bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:30,1
    - Dst: Botan::EC_Scalar_Data_PC::group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:30,1
    - Dst: Botan::EC_Scalar_Data_PC::value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan::EC_Scalar_Data_PC::clone
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar_Data_PC::group
    - std::make_unique<EC_Scalar_Data_PC>
    - Botan::EC_Scalar_Data_PC::value
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_PC::clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar_Data_PC::group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:34,1
    - Dst: scalar_is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: Botan::EC_Scalar_Data_PC::is_zero
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar_Data_PC::group
    - scalar_is_zero
    linkageType: ''
    returnType: bool
    signature: bool EC_Scalar_Data_PC::is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:39,1
    - Dst: scalar_equal
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:40,1
    - Dst: checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: Botan::EC_Scalar_Data_PC::is_eq
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - group
    - checked_ref
    - scalar_equal
    linkageType: ''
    returnType: bool
    signature: bool EC_Scalar_Data_PC::is_eq(const EC_Scalar_Data& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::EC_Scalar_Data_PC::assign
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - checked_ref
    linkageType: ''
    returnType: void
    signature: void EC_Scalar_Data_PC::assign(const EC_Scalar_Data& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Botan::EC_Scalar_Data_PC::square_self
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - pcurve
    linkageType: ''
    returnType: void
    signature: void EC_Scalar_Data_PC::square_self()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:53,1
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::EC_Scalar_Data_PC::negate
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_Scalar_Data_PC>
    - pcurve
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_PC::negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:57,1
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::EC_Scalar_Data_PC::invert
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_Scalar_Data_PC>
    - pcurve
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_PC::invert() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:61,1
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: Botan::EC_Scalar_Data_PC::invert_vartime
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_Scalar_Data_PC>
    - pcurve
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_PC::invert_vartime()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:65,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:65,1
    - Dst: checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: Botan::EC_Scalar_Data_PC::add
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - group
    - checked_ref
    - std::make_unique<EC_Scalar_Data_PC>
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_PC::add(const EC_Scalar_Data&
      other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:69,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:69,1
    - Dst: checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: Botan::EC_Scalar_Data_PC::sub
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - group
    - checked_ref
    - std::make_unique<EC_Scalar_Data_PC>
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_PC::sub(const EC_Scalar_Data&
      other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:73,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:73,1
    - Dst: checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Botan::EC_Scalar_Data_PC::mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - group
    - checked_ref
    - std::make_unique<EC_Scalar_Data_PC>
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_PC::mul(const EC_Scalar_Data&
      other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:77,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:77,1
    - Dst: order_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:77,1
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: Botan::EC_Scalar_Data_PC::serialize_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - order_bytes
    - std::span<uint8_t>::size
    - BOTAN_ARG_CHECK
    - pcurve
    linkageType: ''
    returnType: void
    signature: void EC_Scalar_Data_PC::serialize_to(std::span<uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:83,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:83,1
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:84,1
    - Dst: affine_point_is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:86,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:87,1
    - Dst: Botan::EC_AffinePoint_Data_PC::field_element_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:87,1
    - Dst: serialize_point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - group
    - pt
    argTypes:
    - std::shared_ptr<const EC_Group_Data>
    - PCurve::PrimeOrderCurve::AffinePoint
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: Botan::EC_AffinePoint_Data_PC::EC_AffinePoint_Data_PC
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - pcurve
    - affine_point_is_identity
    - serialize_point
    - resize
    - std::move
    - Botan::EC_AffinePoint_Data_PC::field_element_bytes
    linkageType: ''
    returnType: void
    signature: "void EC_AffinePoint_Data_PC::EC_AffinePoint_Data_PC(std::shared_ptr<const
      EC_Group_Data> group,\n                                               PCurve::PrimeOrderCurve::AffinePoint
      pt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const EC_AffinePoint_Data_PC*>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:93,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - EC_AffinePoint_Data
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: '& EC_AffinePoint_Data_PC::checked_ref(const EC_AffinePoint_Data&
      data)'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - dynamic_cast<const EC_AffinePoint_Data_PC*>
    linkageType: ''
    returnType: EC_AffinePoint_Data_PC
    signature: EC_AffinePoint_Data_PC & EC_AffinePoint_Data_PC::checked_ref(const
      EC_AffinePoint_Data& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_AffinePoint_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: Botan::EC_AffinePoint_Data_PC::clone
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_AffinePoint_Data_PC>
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: std::unique_ptr<EC_AffinePoint_Data> EC_AffinePoint_Data_PC::clone()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: '& EC_AffinePoint_Data_PC::group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const EC_Group_Data>
    signature: std::shared_ptr<const EC_Group_Data> & EC_AffinePoint_Data_PC::group()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:110,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:110,1
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:111,1
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:112,1
    - Dst: point_to_affine
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:113,1
    - Dst: Botan::EC_AffinePoint_Data_PC::mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:113,1
    - Dst: std::make_unique<EC_AffinePoint_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:114,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - EC_Scalar_Data
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: Botan::EC_AffinePoint_Data_PC::mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 1
    functionsReached:
    - pcurve
    - point_to_affine
    - std::make_unique<EC_AffinePoint_Data_PC>
    - group
    - EC_Scalar_Data_PC::checked_ref
    - std::move
    - BOTAN_ARG_CHECK
    - Botan::EC_AffinePoint_Data_PC::mul
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: "std::unique_ptr<EC_AffinePoint_Data> EC_AffinePoint_Data_PC::mul(const
      EC_Scalar_Data& scalar,\n                                                                 RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:119,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:119,1
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:120,1
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - EC_Scalar_Data
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: Botan::EC_AffinePoint_Data_PC::mul_x_only
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - group
    - EC_Scalar_Data_PC::checked_ref
    - BOTAN_ARG_CHECK
    - pcurve
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> EC_AffinePoint_Data_PC::mul_x_only(const EC_Scalar_Data&
      scalar,\n                                                          RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::EC_AffinePoint_Data_PC::field_element_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 1
    functionsReached:
    - pcurve
    linkageType: ''
    returnType: size_t
    signature: size_t EC_AffinePoint_Data_PC::field_element_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Botan::EC_AffinePoint_Data_PC::is_identity
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EC_AffinePoint_Data_PC::is_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:133,1
    - Dst: Botan::EC_AffinePoint_Data_PC::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:133,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:135,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:135,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:136,1
    - Dst: subspan
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: Botan::EC_AffinePoint_Data_PC::serialize_x_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - std::span<uint8_t>::size
    - copy_mem
    - subspan
    - BOTAN_ARG_CHECK
    - Botan::EC_AffinePoint_Data_PC::is_identity
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_PC::serialize_x_to(std::span<uint8_t> bytes)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:140,1
    - Dst: Botan::EC_AffinePoint_Data_PC::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:140,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:142,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:142,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:143,1
    - Dst: subspan
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: Botan::EC_AffinePoint_Data_PC::serialize_y_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - std::span<uint8_t>::size
    - copy_mem
    - subspan
    - BOTAN_ARG_CHECK
    - Botan::EC_AffinePoint_Data_PC::is_identity
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_PC::serialize_y_to(std::span<uint8_t> bytes)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:147,1
    - Dst: Botan::EC_AffinePoint_Data_PC::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:147,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:149,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:149,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:150,1
    - Dst: last
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: Botan::EC_AffinePoint_Data_PC::serialize_xy_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - std::span<uint8_t>::size
    - last
    - copy_mem
    - BOTAN_ARG_CHECK
    - Botan::EC_AffinePoint_Data_PC::is_identity
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_PC::serialize_xy_to(std::span<uint8_t> bytes)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:154,1
    - Dst: Botan::EC_AffinePoint_Data_PC::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:154,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:156,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:156,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:160,1
    - Dst: Botan::EC_AffinePoint_Data_PC::serialize_x_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:161,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: Botan::EC_AffinePoint_Data_PC::serialize_compressed_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::append
    - BOTAN_STATE_CHECK
    - std::span<uint8_t>::size
    - Botan::EC_AffinePoint_Data_PC::serialize_x_to
    - BOTAN_ARG_CHECK
    - BufferStuffer::next
    - Botan::EC_AffinePoint_Data_PC::is_identity
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_PC::serialize_compressed_to(std::span<uint8_t>
      bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:165,1
    - Dst: Botan::EC_AffinePoint_Data_PC::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:165,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:167,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:167,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: Botan::EC_AffinePoint_Data_PC::serialize_uncompressed_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - std::span<uint8_t>::size
    - copy_mem
    - BOTAN_ARG_CHECK
    - Botan::EC_AffinePoint_Data_PC::is_identity
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_PC::serialize_uncompressed_to(std::span<uint8_t>
      bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint_Data_PC::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:173,1
    - Dst: EC_Point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:174,1
    - Dst: curve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:174,1
    - Dst: EC_Point
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:177,1
    - Dst: curve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:177,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:178,1
    - Dst: subspan
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:178,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:179,1
    - Dst: last
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: Botan::EC_AffinePoint_Data_PC::to_legacy_point
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - EC_Point
    - last
    - subspan
    - curve
    - Botan::BigInt::from_bytes
    - Botan::EC_AffinePoint_Data_PC::is_identity
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point EC_AffinePoint_Data_PC::to_legacy_point() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:184,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:185,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:185,1
    - Dst: EC_AffinePoint_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:187,1
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:189,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' q'
    argTypes:
    - EC_AffinePoint_Data
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: Botan::EC_Mul2Table_Data_PC::EC_Mul2Table_Data_PC
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - pcurve
    - group
    - EC_AffinePoint_Data_PC::checked_ref
    - value
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void EC_Mul2Table_Data_PC::EC_Mul2Table_Data_PC(const EC_AffinePoint_Data&
      q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:194,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:194,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:194,1
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:196,1
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:197,1
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:199,1
    - Dst: Botan::EC_Mul2Table_Data_PC::mul2_vartime
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:201,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:201,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:201,1
    - Dst: std::make_unique<EC_AffinePoint_Data_PC>
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:202,1
    - Dst: point_to_affine
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' xd'
    - ' yd'
    argTypes:
    - EC_Scalar_Data
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 206
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 206
    functionName: Botan::EC_Mul2Table_Data_PC::mul2_vartime
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Mul2Table_Data_PC::mul2_vartime
    - pcurve
    - point_to_affine
    - std::make_unique<EC_AffinePoint_Data_PC>
    - group
    - EC_Scalar_Data_PC::checked_ref
    - value
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: "std::unique_ptr<EC_AffinePoint_Data> EC_Mul2Table_Data_PC::mul2_vartime(const
      EC_Scalar_Data& xd,\n                                                                        const
      EC_Scalar_Data& yd) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:211,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:211,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:211,1
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:213,1
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:214,1
    - Dst: EC_Scalar_Data_PC::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:215,1
    - Dst: pcurve
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:217,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:217,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:217,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ' vd'
    - ' xd'
    - ' yd'
    argTypes:
    - EC_Scalar_Data
    - EC_Scalar_Data
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 218
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 218
    functionName: Botan::EC_Mul2Table_Data_PC::mul2_vartime_x_mod_order_eq
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_inner_pc.cpp
    functionUses: 0
    functionsReached:
    - pcurve
    - group
    - EC_Scalar_Data_PC::checked_ref
    - value
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: bool
    signature: "bool EC_Mul2Table_Data_PC::mul2_vartime_x_mod_order_eq(const EC_Scalar_Data&
      vd,\n                                                       const EC_Scalar_Data&
      xd,\n                                                       const EC_Scalar_Data&
      yd) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:41,1
    - Dst: Botan::field_element_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:158,1
    - Dst: Botan::serialize_x_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:159,1
    - Dst: Botan::field_element_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:168,1
    - Dst: Botan::serialize_y_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:169,1
    - Dst: Botan::field_element_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:178,1
    - Dst: Botan::serialize_xy_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:179,1
    - Dst: Botan::field_element_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:188,1
    - Dst: Botan::serialize_uncompressed_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:189,1
    - Dst: Botan::field_element_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:198,1
    - Dst: Botan::serialize_compressed_to
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:199,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:228,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:230,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:233,1
    - Dst: Botan::mul
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:235,1
    - Dst: Botan::mul_x_only
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:242,1
    - Dst: inner
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:247,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 261
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/ec_apoint.h
    functionUses: 7
    functionsReached:
    - Botan::field_element_bytes
    - Botan::serialize_y_to
    - Botan::mul
    - inner
    - Botan::serialize_uncompressed_to
    - Botan::serialize_xy_to
    - BOTAN_DEPRECATED
    - Botan::EC_AffinePoint::g_mul
    - Botan::mul_x_only
    - Botan::serialize_compressed_to
    - Botan::serialize_x_to
    - EC_AffinePoint
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - order_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::blinding_size
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t blinding_size(size_t order_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_seeded
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:24,1
    - Dst: Botan::blinding_size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:25,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:25,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' group_order'
    - ' rng'
    argTypes:
    - BigInt
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: Botan::blinding_mask
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp
    functionUses: 0
    functionsReached:
    - bits
    - BigInt::set_bit
    - Botan::is_seeded
    - Botan::blinding_size
    linkageType: ''
    returnType: BigInt
    signature: BigInt blinding_mask(const BigInt& group_order, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_Point_Multi_Point_Precompute::multi_exp
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x'
    - ' z1'
    - ' y'
    - ' z2'
    argTypes:
    - EC_Point
    - BigInt
    - EC_Point
    - BigInt
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: Botan::multi_exponentiate
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp
    functionUses: 0
    functionsReached:
    - EC_Point_Multi_Point_Precompute::multi_exp
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point multi_exponentiate(const EC_Point& x, const BigInt& z1, const
      EC_Point& y, const BigInt& z2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_curve
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:42,1
    - Dst: EC_Point::mult2
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:56,1
    - Dst: mult2
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:58,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:61,1
    - Dst: plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:62,1
    - Dst: plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:64,1
    - Dst: plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:65,1
    - Dst: plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:66,1
    - Dst: EC_Point::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:68,1
    - Dst: EC_Point::mult2
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:69,1
    - Dst: Botan::EC_Point::force_all_affine
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:72,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:72,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:74,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:74,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:77,1
    - Dst: get_x
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:78,1
    - Dst: get_y
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - ' base'
    - ' mod_order'
    argTypes:
    - EC_Point
    - Barrett_Reduction
    constantsTouched: []
    func_position:
      end: 83
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 83
    functionName: Botan::EC_Point_Base_Point_Precompute::EC_Point_Base_Point_Precompute
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Point::force_all_affine
    - get_curve
    - plus
    - EC_Point::swap
    - std::vector::size
    - get_x
    - get_y
    - EC_Point::mult2
    - mult2
    - resize
    - std::move
    - get_word_vector
    linkageType: ''
    returnType: void
    signature: "void EC_Point_Base_Point_Precompute::EC_Point_Base_Point_Precompute(const
      EC_Point& base,\n                                                               const
      Barrett_Reduction& mod_order)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:89,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:90,1
    - Dst: reduce
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:94,1
    - Dst: is_seeded
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:96,1
    - Dst: blinding_mask
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:98,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:107,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:107,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:110,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:110,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:110,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:117,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:117,1
    - Dst: zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:119,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:121,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:122,1
    - Dst: BigInt::get_substring
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:132,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:134,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:135,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:136,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:137,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:138,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:139,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:140,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:143,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:144,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:145,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:146,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:147,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:148,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:149,1
    - Dst: EC_Point::add_affine
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:154,1
    - Dst: is_seeded
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:156,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:162,1
    - Dst: EC_Point::randomize_repr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:163,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:163,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:167,1
    - Dst: EC_Point::on_the_curve
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:167,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - ' k'
    - ' rng'
    - ' group_order'
    - ' ws'
    argTypes:
    - BigInt
    - RandomNumberGenerator
    - BigInt
    - std::vector<BigInt>
    constantsTouched: []
    func_position:
      end: 170
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 170
    functionName: Botan::EC_Point_Base_Point_Precompute::mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp
    functionUses: 0
    functionsReached:
    - auto::if_set_return
    - Botan::BigInt::is_equal
    - EC_Point::randomize_repr
    - BOTAN_ASSERT
    - BOTAN_DEBUG_ASSERT
    - BigInt::bits
    - EC_Point::add_affine
    - Invalid_Argument
    - is_seeded
    - EC_Point::on_the_curve
    - is_negative
    - size
    - resize
    - BigInt::get_substring
    - zero
    - bits
    - blinding_mask
    - get_word_vector
    - reduce
    linkageType: ''
    returnType: EC_Point
    signature: "EC_Point EC_Point_Base_Point_Precompute::mul(const BigInt& k,\n                                             RandomNumberGenerator&
      rng,\n                                             const BigInt& group_order,\n
      \                                            std::vector<BigInt>& ws) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_curve
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:175,1
    - Dst: get_p_words
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:175,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:176,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:177,1
    - Dst: auto::randomize_repr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:181,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:183,1
    - Dst: auto::zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:184,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:187,1
    - Dst: double_of
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:188,1
    - Dst: plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:189,1
    - Dst: is_seeded
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:193,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:195,1
    - Dst: randomize_repr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:196,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:200,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:200,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:203,1
    - Dst: get_x
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:204,1
    - Dst: get_y
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:205,1
    - Dst: get_z
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ' ipoint'
    - ' rng'
    - ' ws'
    argTypes:
    - EC_Point
    - RandomNumberGenerator
    - std::vector<BigInt>
    constantsTouched: []
    func_position:
      end: 209
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 209
    functionName: Botan::EC_Point_Var_Point_Precompute::EC_Point_Var_Point_Precompute
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp
    functionUses: 0
    functionsReached:
    - randomize_repr
    - get_curve
    - plus
    - std::vector::size
    - is_seeded
    - get_x
    - get_y
    - static_cast<size_t>
    - auto::randomize_repr
    - size
    - get_p_words
    - resize
    - double_of
    - auto::zero
    - get_z
    linkageType: ''
    returnType: void
    signature: "void EC_Point_Var_Point_Precompute::EC_Point_Var_Point_Precompute(const
      EC_Point& ipoint,\n                                                             RandomNumberGenerator&
      rng,\n                                                             std::vector<BigInt>&
      ws)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:215,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:216,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:218,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:219,1
    - Dst: blinding_mask
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:223,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:237,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:237,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:237,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:239,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:242,1
    - Dst: EC_Point::add
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:246,1
    - Dst: EC_Point::randomize_repr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:253,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:253,1
    - Dst: EC_Point::mult2i
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:257,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:261,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:261,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:261,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:263,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:266,1
    - Dst: EC_Point::add
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:270,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:275,1
    - Dst: EC_Point::on_the_curve
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:275,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - ' k'
    - ' rng'
    - ' group_order'
    - ' ws'
    argTypes:
    - BigInt
    - RandomNumberGenerator
    - BigInt
    - std::vector<BigInt>
    constantsTouched: []
    func_position:
      end: 278
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 278
    functionName: Botan::EC_Point_Var_Point_Precompute::mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - BOTAN_ASSERT_NOMSG
    - clear_mem
    - secure_vector::size
    - auto::if_set_return
    - EC_Point::add
    - is_negative
    - Botan::BigInt::is_equal
    - EC_Point::randomize_repr
    - EC_Point::on_the_curve
    - size
    - EC_Point::mult2i
    - resize
    - blinding_mask
    - Invalid_Argument
    - get_word_vector
    linkageType: ''
    returnType: EC_Point
    signature: "EC_Point EC_Point_Var_Point_Precompute::mul(const BigInt& k,\n                                            RandomNumberGenerator&
      rng,\n                                            const BigInt& group_order,\n
      \                                           std::vector<BigInt>& ws) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: on_the_curve
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:281,1
    - Dst: on_the_curve
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:281,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:282,1
    - Dst: zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:282,1
    - Dst: EC_Point::mult2
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:289,1
    - Dst: EC_Point::plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:291,1
    - Dst: EC_Point::mult2
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:294,1
    - Dst: EC_Point::plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:296,1
    - Dst: reserve
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:298,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:300,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:301,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:302,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:304,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:305,1
    - Dst: plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:305,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:306,1
    - Dst: plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:306,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:307,1
    - Dst: plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:307,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:309,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:310,1
    - Dst: EC_Point::plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:310,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:311,1
    - Dst: EC_Point::plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:311,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:312,1
    - Dst: EC_Point::plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:312,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:314,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:315,1
    - Dst: EC_Point::plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:315,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:316,1
    - Dst: EC_Point::plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:316,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:317,1
    - Dst: EC_Point::plus
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:317,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:321,1
    - Dst: Botan::EC_Point::force_all_affine
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:327,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - EC_Point
    - EC_Point
    constantsTouched: []
    func_position:
      end: 331
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 331
    functionName: Botan::EC_Point_Multi_Point_Precompute::EC_Point_Multi_Point_Precompute
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp
    functionUses: 0
    functionsReached:
    - zero
    - Botan::EC_Point::force_all_affine
    - plus
    - reserve
    - EC_Point::mult2
    - push_back
    - EC_Point::plus
    - is_zero
    - on_the_curve
    - get_word_vector
    linkageType: ''
    returnType: void
    signature: void EC_Point_Multi_Point_Precompute::EC_Point_Multi_Point_Precompute(const
      EC_Point& x, const EC_Point& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:334,1
    - Dst: zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:342,1
    - Dst: EC_Point::mult2i
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:346,1
    - Dst: EC_Point::add_affine
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:357,1
    - Dst: EC_Point::add
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:359,1
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:364,1
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:364,1
    - Dst: EC_Point::negate
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp:365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' z1'
    - ' z2'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 369
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 369
    functionName: Botan::EC_Point_Multi_Point_Precompute::multi_exp
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/point_mul.cpp
    functionUses: 0
    functionsReached:
    - zero
    - EC_Point::negate
    - EC_Point::add
    - is_negative
    - size
    - EC_Point::mult2i
    - EC_Point::add_affine
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point EC_Point_Multi_Point_Precompute::multi_exp(const BigInt& z1,
      const BigInt& z2) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.h:18,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.h:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - group
    - v
    argTypes:
    - std::shared_ptr<const EC_Group_Data>
    - BigInt
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: Botan::EC_Scalar_Data_BN::EC_Scalar_Data_BN
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void EC_Scalar_Data_BN(std::shared_ptr<const EC_Group_Data> group,
      BigInt v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& value() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan::EC_AffinePoint_Data_BN::to_legacy_point
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point to_legacy_point() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:53,1
    - Dst: Botan::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:63,1
    - Dst: Botan::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:75,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:99,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:133,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:134,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:162,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:237,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:244,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:251,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:253,1
    - Dst: swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:256,1
    - Dst: swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:257,1
    - Dst: swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:258,1
    - Dst: swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:261,1
    - Dst: EC_Point::add
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:339,1
    - Dst: EC_Point::mult2
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:350,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 365
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h
    functionUses: 7
    functionsReached:
    - Botan::is_zero
    - swap
    - get_p
    - EC_Point::add
    - EC_Point::mult2
    - BOTAN_DEPRECATED
    - Botan::swap
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_Point
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' lhs'
    argTypes:
    - EC_Point
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: operator-(const EC_Point& lhs)
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h
    functionUses: 0
    functionsReached:
    - EC_Point
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point operator-(const EC_Point& lhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - EC_Point
    - EC_Point
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: operator+(const EC_Point& lhs, const EC_Point& rhs)
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point operator+(const EC_Point& lhs, const EC_Point& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - EC_Point
    - EC_Point
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: operator-(const EC_Point& lhs, const EC_Point& rhs)
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point operator-(const EC_Point& lhs, const EC_Point& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' point'
    - ' scalar'
    argTypes:
    - EC_Point
    - BigInt
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: operator*(const EC_Point& point, const BigInt& scalar)
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h
    functionUses: 0
    functionsReached:
    - Botan::mul
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point operator*(const EC_Point& point, const BigInt& scalar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' scalar'
    - ' point'
    argTypes:
    - BigInt
    - EC_Point
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: operator*(const BigInt& scalar, const EC_Point& point)
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.h
    functionUses: 0
    functionsReached:
    - Botan::mul
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point operator*(const BigInt& scalar, const EC_Point& point)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_Group_Data*
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::CurveGFp::CurveGFp
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void CurveGFp::CurveGFp(const EC_Group_Data* group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '& CurveGFp::group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: EC_Group_Data
    signature: EC_Group_Data & CurveGFp::group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& CurveGFp::group'
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '& CurveGFp::get_a() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - '& CurveGFp::group'
    linkageType: ''
    returnType: BigInt
    signature: BigInt & CurveGFp::get_a() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& CurveGFp::group'
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '& CurveGFp::get_b() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - '& CurveGFp::group'
    linkageType: ''
    returnType: BigInt
    signature: BigInt & CurveGFp::get_b() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& CurveGFp::group'
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '& CurveGFp::get_p() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - '& CurveGFp::group'
    linkageType: ''
    returnType: BigInt
    signature: BigInt & CurveGFp::get_p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CurveGFp::group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::CurveGFp::get_p_words
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - Botan::CurveGFp::group
    linkageType: ''
    returnType: size_t
    signature: size_t CurveGFp::get_p_words() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:56,1
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' group'
    - ' x'
    - ' ws'
    argTypes:
    - EC_Group_Data
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan::to_rep
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - monty
    linkageType: ''
    returnType: void
    signature: void to_rep(const EC_Group_Data& group, BigInt& x, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' group'
    - ' z'
    - ' ws'
    argTypes:
    - EC_Group_Data
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::from_rep
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - monty
    linkageType: ''
    returnType: void
    signature: void from_rep(const EC_Group_Data& group, BigInt& z, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' group'
    - ' x'
    - ' ws'
    argTypes:
    - EC_Group_Data
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::from_rep_to_tmp
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - monty
    linkageType: ''
    returnType: BigInt
    signature: BigInt from_rep_to_tmp(const EC_Group_Data& group, const BigInt& x,
      secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' group'
    - ' z'
    - ' x'
    - ' y'
    - ' ws'
    argTypes:
    - EC_Group_Data
    - BigInt
    - BigInt
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: Botan::fe_mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - monty
    linkageType: ''
    returnType: void
    signature: void fe_mul(const EC_Group_Data& group, BigInt& z, const BigInt& x,
      const BigInt& y, secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' group'
    - ' z'
    - x_w
    - x_size
    - ' y'
    - ' ws'
    argTypes:
    - EC_Group_Data
    - BigInt
    - word[]
    - size_t
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: Botan::fe_mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - monty
    linkageType: ''
    returnType: void
    signature: "void fe_mul(\n   const EC_Group_Data& group, BigInt& z, const word
      x_w[], size_t x_size, const BigInt& y, secure_vector<word>& ws)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' group'
    - ' x'
    - ' y'
    - ' ws'
    argTypes:
    - EC_Group_Data
    - BigInt
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Botan::fe_mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - monty
    linkageType: ''
    returnType: BigInt
    signature: BigInt fe_mul(const EC_Group_Data& group, const BigInt& x, const BigInt&
      y, secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' group'
    - ' z'
    - ' x'
    - ' ws'
    argTypes:
    - EC_Group_Data
    - BigInt
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan::fe_sqr
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - monty
    linkageType: ''
    returnType: void
    signature: void fe_sqr(const EC_Group_Data& group, BigInt& z, const BigInt& x,
      secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' group'
    - ' z'
    - x_w
    - x_size
    - ' ws'
    argTypes:
    - EC_Group_Data
    - BigInt
    - word[]
    - size_t
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: Botan::fe_sqr
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - monty
    linkageType: ''
    returnType: void
    signature: void fe_sqr(const EC_Group_Data& group, BigInt& z, const word x_w[],
      size_t x_size, secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' group'
    - ' x'
    - ' ws'
    argTypes:
    - EC_Group_Data
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::fe_sqr
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - monty
    linkageType: ''
    returnType: BigInt
    signature: BigInt fe_sqr(const EC_Group_Data& group, const BigInt& x, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:93,1
    - Dst: Botan::inverse_mod_public_prime
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:93,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:93,1
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' group'
    - ' x'
    - ' ws'
    argTypes:
    - EC_Group_Data
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: Botan::invert_element
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - p
    - Botan::inverse_mod_public_prime
    - monty
    linkageType: ''
    returnType: BigInt
    signature: BigInt invert_element(const EC_Group_Data& group, const BigInt& x,
      secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p_words
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - EC_Group_Data
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: Botan::monty_ws_size
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - p_words
    linkageType: ''
    returnType: size_t
    signature: size_t monty_ws_size(const EC_Group_Data& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' curve'
    argTypes:
    - CurveGFp
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan::EC_Point::EC_Point
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - group
    linkageType: ''
    returnType: void
    signature: void EC_Point::EC_Point(const CurveGFp& curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Point::EC_Point
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: Botan::EC_Point::zero
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Point::EC_Point
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point EC_Point::zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:109,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:109,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:109,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:110,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:112,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:113,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:115,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:116,1
    - Dst: to_rep
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:121,1
    - Dst: to_rep
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - ' curve'
    - x
    - y
    argTypes:
    - CurveGFp
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: Botan::EC_Point::EC_Point
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 1
    functionsReached:
    - to_rep
    - group
    - p
    - std::move
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void EC_Point::EC_Point(const CurveGFp& curve, BigInt x, BigInt y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:126,1
    - Dst: Botan::EC_Point::randomize_repr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: Botan::EC_Point::randomize_repr
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 2
    functionsReached:
    - group
    - Botan::EC_Point::randomize_repr
    linkageType: ''
    returnType: void
    signature: void EC_Point::randomize_repr(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_seeded
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:132,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:136,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:138,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:138,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:147,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:148,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:150,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:151,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' rng'
    - ' ws'
    argTypes:
    - RandomNumberGenerator
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 153
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 153
    functionName: Botan::EC_Point::randomize_repr
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 2
    functionsReached:
    - is_seeded
    - fe_sqr
    - group
    - Botan::BigInt::random_integer
    - p
    - fe_mul
    linkageType: ''
    returnType: void
    signature: void EC_Point::randomize_repr(RandomNumberGenerator& rng, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:158,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:158,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:161,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' ws_bn'
    - cap_size
    argTypes:
    - std::vector<BigInt>
    - size_t
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: Botan::resize_ws
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - Botan::size
    - get_word_vector
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void resize_ws(std::vector<BigInt>& ws_bn, size_t cap_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:170,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:171,1
    - Dst: Botan::EC_Point::is_affine
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:171,1
    - Dst: Botan::EC_Point::add_affine
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:174,1
    - Dst: m_x::_data
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:174,1
    - Dst: std::min
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:175,1
    - Dst: m_x::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:175,1
    - Dst: m_y::_data
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:176,1
    - Dst: std::min
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:177,1
    - Dst: m_y::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' other'
    - ' workspace'
    argTypes:
    - EC_Point
    - std::vector<BigInt>
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: Botan::EC_Point::add_affine
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - m_x::size
    - BOTAN_DEBUG_ASSERT
    - m_x::_data
    - std::min
    - m_y::_data
    - Botan::EC_Point::is_affine
    - Botan::EC_Point::add_affine
    - m_y::size
    linkageType: ''
    returnType: void
    signature: void EC_Point::add_affine(const EC_Point& other, std::vector<BigInt>&
      workspace)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:183,1
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:183,1
    - Dst: as_bool
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:183,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:187,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:189,1
    - Dst: set_words
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:190,1
    - Dst: set_words
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:191,1
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:192,1
    - Dst: resize_ws
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:196,1
    - Dst: monty_ws_size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:196,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:198,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:199,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:212,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:214,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:215,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:217,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:218,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:220,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:222,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:224,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:225,1
    - Dst: Botan::EC_Point::mult2
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:226,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:231,1
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:232,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:233,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:237,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:239,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:241,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:243,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:244,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:246,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:247,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:249,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:251,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:252,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:253,1
    - Dst: Botan::EC_Point::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:254,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:256,1
    - Dst: Botan::EC_Point::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 5
    argNames:
    - x_words
    - x_size
    - y_words
    - y_size
    - ' ws_bn'
    argTypes:
    - word[]
    - size_t
    - word[]
    - size_t
    - std::vector<BigInt>
    constantsTouched: []
    func_position:
      end: 258
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 258
    functionName: Botan::EC_Point::add_affine
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 1
    functionsReached:
    - mod_sub
    - fe_sqr
    - as_bool
    - monty
    - Botan::EC_Point::swap
    - Botan::EC_Point::mult2
    - set_words
    - group
    - p
    - clear
    - monty_ws_size
    - resize_ws
    - is_zero
    - Botan::CT::all_zeros
    - fe_mul
    - get_word_vector
    linkageType: ''
    returnType: void
    signature: "void EC_Point::add_affine(\n   const word x_words[], size_t x_size,
      const word y_words[], size_t y_size, std::vector<BigInt>& ws_bn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:261,1
    - Dst: Botan::EC_Point::add
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:265,1
    - Dst: m_x::_data
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:265,1
    - Dst: std::min
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:266,1
    - Dst: m_x::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:266,1
    - Dst: m_y::_data
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:267,1
    - Dst: std::min
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:268,1
    - Dst: m_y::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:268,1
    - Dst: m_z::_data
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:269,1
    - Dst: std::min
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:270,1
    - Dst: m_z::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' other'
    - ' workspace'
    argTypes:
    - EC_Point
    - std::vector<BigInt>
    constantsTouched: []
    func_position:
      end: 272
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 272
    functionName: Botan::EC_Point::add
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_Point::add
    - m_x::size
    - m_z::_data
    - m_x::_data
    - std::min
    - m_y::_data
    - m_z::size
    - BOTAN_ARG_CHECK
    - m_y::size
    linkageType: ''
    returnType: void
    signature: void EC_Point::add(const EC_Point& other, std::vector<BigInt>& workspace)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:281,1
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:281,1
    - Dst: as_bool
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:281,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:285,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:287,1
    - Dst: set_words
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:288,1
    - Dst: set_words
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:289,1
    - Dst: set_words
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:290,1
    - Dst: resize_ws
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:294,1
    - Dst: monty_ws_size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:294,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:296,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:297,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:310,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:312,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:313,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:314,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:315,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:317,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:318,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:320,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:321,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:323,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:325,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:327,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:328,1
    - Dst: Botan::EC_Point::mult2
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:329,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:334,1
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:335,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:336,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:340,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:342,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:344,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:346,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:347,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:348,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:349,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:351,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:353,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:354,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:356,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:358,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 7
    argNames:
    - x_words
    - x_size
    - y_words
    - y_size
    - z_words
    - z_size
    - ' ws_bn'
    argTypes:
    - word[]
    - size_t
    - word[]
    - size_t
    - word[]
    - size_t
    - std::vector<BigInt>
    constantsTouched: []
    func_position:
      end: 360
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 360
    functionName: Botan::EC_Point::add
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 1
    functionsReached:
    - mod_sub
    - fe_sqr
    - as_bool
    - monty
    - Botan::EC_Point::mult2
    - set_words
    - group
    - p
    - clear
    - monty_ws_size
    - resize_ws
    - is_zero
    - Botan::CT::all_zeros
    - fe_mul
    - get_word_vector
    linkageType: ''
    returnType: void
    signature: "void EC_Point::add(const word x_words[],\n                   size_t
      x_size,\n                   const word y_words[],\n                   size_t
      y_size,\n                   const word z_words[],\n                   size_t
      z_size,\n                   std::vector<BigInt>& ws_bn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:367,1
    - Dst: Botan::EC_Point::EC_Point
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:368,1
    - Dst: Botan::EC_Point::mult2
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - iterations
    - ' ws_bn'
    argTypes:
    - size_t
    - std::vector<BigInt>
    constantsTouched: []
    func_position:
      end: 379
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 379
    functionName: Botan::EC_Point::mult2i
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - is_zero
    - Botan::EC_Point::mult2
    - Botan::EC_Point::EC_Point
    linkageType: ''
    returnType: void
    signature: void EC_Point::mult2i(size_t iterations, std::vector<BigInt>& ws_bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:383,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:387,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:389,1
    - Dst: Botan::EC_Point::EC_Point
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:390,1
    - Dst: resize_ws
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:394,1
    - Dst: monty_ws_size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:394,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:396,1
    - Dst: get_word_vector
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:397,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:408,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:410,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:412,1
    - Dst: mod_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:413,1
    - Dst: a_is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:415,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:417,1
    - Dst: mod_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:418,1
    - Dst: a_is_minus_3
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:419,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:424,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:428,1
    - Dst: mod_add
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:431,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:433,1
    - Dst: mod_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:435,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:437,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:438,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:439,1
    - Dst: monty_a
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:439,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:441,1
    - Dst: mod_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:442,1
    - Dst: mod_add
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:443,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:446,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:447,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:448,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:450,1
    - Dst: mod_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:451,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:453,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:455,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:456,1
    - Dst: Botan::EC_Point::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:458,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:460,1
    - Dst: mod_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:461,1
    - Dst: Botan::EC_Point::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:463,1
    - Dst: Botan::EC_Point::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 1
    argNames:
    - ' ws_bn'
    argTypes:
    - std::vector<BigInt>
    constantsTouched: []
    func_position:
      end: 465
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 465
    functionName: Botan::EC_Point::mult2
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 3
    functionsReached:
    - mod_sub
    - fe_sqr
    - mod_add
    - mod_mul
    - Botan::EC_Point::swap
    - group
    - p
    - a_is_zero
    - a_is_minus_3
    - monty_a
    - resize_ws
    - is_zero
    - monty_ws_size
    - fe_mul
    - get_word_vector
    - Botan::EC_Point::EC_Point
    linkageType: ''
    returnType: void
    signature: void EC_Point::mult2(std::vector<BigInt>& ws_bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - EC_Point
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: '& EC_Point::operator+=(const EC_Point& rhs)'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - add
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point & EC_Point::operator+=(const EC_Point& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_Point
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:475,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - EC_Point
    constantsTouched: []
    func_position:
      end: 484
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 484
    functionName: '& EC_Point::operator-=(const EC_Point& rhs)'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - EC_Point
    - is_zero
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point & EC_Point::operator-=(const EC_Point& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' scalar'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 489
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 489
    functionName: '& EC_Point::operator*=(const BigInt& scalar)'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point & EC_Point::operator*=(const BigInt& scalar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Point::zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:496,1
    - Dst: Botan::EC_Point::add
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:500,1
    - Dst: Botan::EC_Point::mult2
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:501,1
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:504,1
    - Dst: negate
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:505,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:508,1
    - Dst: Botan::EC_Point::on_the_curve
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' scalar'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 511
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 511
    functionName: Botan::EC_Point::mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - negate
    - Botan::EC_Point::add
    - BOTAN_DEBUG_ASSERT
    - is_negative
    - Botan::EC_Point::mult2
    - Botan::EC_Point::on_the_curve
    - Botan::EC_Point::zero
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point EC_Point::mul(const BigInt& scalar) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<EC_Point>::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:515,1
    - Dst: Botan::EC_Point::force_affine
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:517,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:523,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:524,1
    - Dst: m_curve::group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:537,1
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:538,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:540,1
    - Dst: monty_ws_size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:540,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:541,1
    - Dst: monty_ws_size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:541,1
    - Dst: std::span<EC_Point>::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:544,1
    - Dst: std::span<EC_Point>::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:547,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:548,1
    - Dst: invert_element
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:551,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:551,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:558,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:560,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:562,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:563,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:564,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:565,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:569,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:570,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:571,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:572,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - points
    - ' ws'
    argTypes:
    - std::span<EC_Point>
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 574
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 574
    functionName: Botan::EC_Point::force_all_affine
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 2
    functionsReached:
    - invert_element
    - std::vector::size
    - Invalid_State
    - std::span<EC_Point>::size
    - monty
    - fe_sqr
    - size
    - m_curve::group
    - resize
    - Botan::EC_Point::force_affine
    - is_zero
    - monty_ws_size
    - fe_mul
    linkageType: ''
    returnType: void
    signature: void EC_Point::force_all_affine(std::span<EC_Point> points, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:577,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:578,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:583,1
    - Dst: invert_element
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:585,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:586,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:587,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:588,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:589,1
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 591
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 591
    functionName: Botan::EC_Point::force_affine
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 3
    functionsReached:
    - invert_element
    - fe_sqr
    - Invalid_State
    - monty
    - group
    - is_zero
    - fe_mul
    linkageType: ''
    returnType: void
    signature: void EC_Point::force_affine()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:594,1
    - Dst: monty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 596
    functionName: Botan::EC_Point::is_affine
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 1
    functionsReached:
    - group
    - monty
    linkageType: ''
    returnType: bool
    signature: bool EC_Point::is_affine() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:599,1
    - Dst: BigInt::encode_1363
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:602,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:602,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:602,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 604
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 604
    functionName: Botan::EC_Point::x_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - BigInt::encode_1363
    - secure_vector::data
    - secure_vector::size
    - group
    - Botan::EC_Point::get_affine_x
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> EC_Point::x_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:607,1
    - Dst: BigInt::encode_1363
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:610,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:610,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:610,1
    - Dst: Botan::EC_Point::get_affine_y
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 612
    functionName: Botan::EC_Point::y_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - BigInt::encode_1363
    - secure_vector::data
    - secure_vector::size
    - group
    - Botan::EC_Point::get_affine_y
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> EC_Point::y_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:615,1
    - Dst: BigInt::encode_1363
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:618,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:618,1
    - Dst: BigInt::encode_1363
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:619,1
    - Dst: Botan::EC_Point::get_affine_y
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 621
    functionName: Botan::EC_Point::xy_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - group
    - Botan::EC_Point::get_affine_y
    - Botan::EC_Point::get_affine_x
    - BigInt::encode_1363
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> EC_Point::xy_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:624,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:625,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:630,1
    - Dst: Botan::EC_Point::is_affine
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:632,1
    - Dst: from_rep_to_tmp
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:633,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:636,1
    - Dst: invert_element
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:637,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:640,1
    - Dst: from_rep
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 643
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 643
    functionName: Botan::EC_Point::get_affine_x
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 4
    functionsReached:
    - invert_element
    - fe_sqr
    - Invalid_State
    - from_rep
    - Botan::EC_Point::is_affine
    - group
    - is_zero
    - fe_mul
    - from_rep_to_tmp
    linkageType: ''
    returnType: BigInt
    signature: BigInt EC_Point::get_affine_x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:646,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:647,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:650,1
    - Dst: Botan::EC_Point::is_affine
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:653,1
    - Dst: from_rep_to_tmp
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:654,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:657,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:658,1
    - Dst: invert_element
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:659,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:662,1
    - Dst: from_rep
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:663,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 665
    functionName: Botan::EC_Point::get_affine_y
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 4
    functionsReached:
    - invert_element
    - fe_sqr
    - Invalid_State
    - from_rep
    - Botan::EC_Point::is_affine
    - group
    - is_zero
    - fe_mul
    - from_rep_to_tmp
    linkageType: ''
    returnType: BigInt
    signature: BigInt EC_Point::get_affine_y() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:674,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:678,1
    - Dst: from_rep_to_tmp
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:681,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:681,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:682,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:682,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:683,1
    - Dst: monty_a
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:683,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:684,1
    - Dst: monty_b
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:686,1
    - Dst: from_rep_to_tmp
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:690,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:695,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:696,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:696,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:697,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:697,1
    - Dst: from_rep_to_tmp
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 704
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 704
    functionName: Botan::EC_Point::on_the_curve
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 4
    functionsReached:
    - fe_sqr
    - group
    - monty_a
    - is_zero
    - monty_b
    - fe_mul
    - from_rep_to_tmp
    linkageType: ''
    returnType: bool
    signature: bool EC_Point::on_the_curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Point::is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:707,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:711,1
    - Dst: has_cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:716,1
    - Dst: mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:717,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:717,1
    - Dst: to_rep
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:737,1
    - Dst: fe_sqr
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:739,1
    - Dst: Botan::EC_Point::get_z
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:739,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:740,1
    - Dst: Botan::EC_Point::get_x
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:751,1
    - Dst: order_is_less_than_p
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:755,1
    - Dst: order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:756,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:757,1
    - Dst: to_rep
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:758,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:759,1
    - Dst: Botan::EC_Point::get_x
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:761,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 769
      start: 706
    functionDepth: 2
    functionLinenumber: 706
    functionLinenumberEnd: 769
    functionName: Botan::EC_Point::_is_x_eq_to_v_mod_order
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - has_cofactor
    - fe_sqr
    - Botan::EC_Point::is_zero
    - to_rep
    - group
    - p
    - mod_order
    - Botan::EC_Point::get_x
    - order
    - Botan::EC_Point::get_affine_x
    - Botan::EC_Point::get_z
    - order_is_less_than_p
    - fe_mul
    linkageType: ''
    returnType: bool
    signature: bool EC_Point::_is_x_eq_to_v_mod_order(const BigInt& v) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Point::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:773,1
    - Dst: Botan::EC_Point::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:774,1
    - Dst: Botan::EC_Point::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:775,1
    - Dst: Botan::EC_Point::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Point
    constantsTouched: []
    func_position:
      end: 777
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 777
    functionName: Botan::EC_Point::swap
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 4
    functionsReached:
    - Botan::EC_Point::swap
    linkageType: ''
    returnType: void
    signature: void EC_Point::swap(EC_Point& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:785,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:786,1
    - Dst: get_affine_x
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:789,1
    - Dst: get_affine_x
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:789,1
    - Dst: get_affine_y
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:789,1
    - Dst: get_affine_y
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:789,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Point
    constantsTouched: []
    func_position:
      end: 790
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 790
    functionName: EC_Point::operator==(const EC_Point& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - is_zero
    - get_affine_y
    - get_affine_x
    linkageType: ''
    returnType: bool
    signature: bool EC_Point::operator==(const EC_Point& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:794,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:795,1
    - Dst: Botan::EC_Point::get_affine_x
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:800,1
    - Dst: Botan::EC_Point::get_affine_y
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:801,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:809,1
    - Dst: BigInt::serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:810,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:810,1
    - Dst: BigInt::serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:811,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:811,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:813,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:813,1
    - Dst: BigInt::get_bit
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:813,1
    - Dst: BigInt::serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:814,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:814,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:816,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:816,1
    - Dst: BigInt::get_bit
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:816,1
    - Dst: BigInt::serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:817,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:817,1
    - Dst: BigInt::serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:818,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:818,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - format
    argTypes:
    - EC_Point_Format
    constantsTouched: []
    func_position:
      end: 824
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 824
    functionName: Botan::EC_Point::encode
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 4
    functionsReached:
    - BufferStuffer::append
    - BigInt::get_bit
    - std::vector<uint8_t>
    - Botan::EC_Point::get_affine_y
    - Botan::EC_Point::get_affine_x
    - Invalid_Argument
    - is_zero
    - static_cast<uint8_t>
    - BufferStuffer::next
    - BigInt::serialize_to
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_Point::encode(EC_Point_Format format) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sqrt_modulo_prime
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:831,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:834,1
    - Dst: BigInt::get_bit
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - y_mod_2
    - ' x'
    - ' p'
    - ' a'
    - ' b'
    argTypes:
    - bool
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 842
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 842
    functionName: Botan::decompress_point
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 0
    functionsReached:
    - BigInt::get_bit
    - Botan::sqrt_modulo_prime
    - Botan::Decoding_Error
    linkageType: ''
    returnType: BigInt
    signature: BigInt decompress_point(bool y_mod_2, const BigInt& x, const BigInt&
      p, const BigInt& a, const BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OS2ECP
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:847,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:847,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ' curve'
    argTypes:
    - std::span<const uint8_t>
    - CurveGFp
    constantsTouched: []
    func_position:
      end: 848
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 848
    functionName: Botan::OS2ECP
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 2
    functionsReached:
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - Botan::OS2ECP
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point OS2ECP(std::span<const uint8_t> data, const CurveGFp& curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_Point
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:853,1
    - Dst: EC_Point::on_the_curve
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:860,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:861,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - data
    - data_len
    - ' curve'
    argTypes:
    - uint8_t[]
    - size_t
    - CurveGFp
    constantsTouched: []
    func_position:
      end: 865
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 865
    functionName: Botan::OS2ECP
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 2
    functionsReached:
    - EC_Point
    - Botan::Decoding_Error
    - EC_Point::on_the_curve
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point OS2ECP(const uint8_t data[], size_t data_len, const CurveGFp&
      curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:869,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:879,1
    - Dst: Botan::BigInt::decode
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:881,1
    - Dst: Botan::decompress_point
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:884,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:887,1
    - Dst: Botan::BigInt::decode
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:890,1
    - Dst: Botan::BigInt::decode
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:891,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:894,1
    - Dst: Botan::BigInt::decode
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:897,1
    - Dst: Botan::BigInt::decode
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:898,1
    - Dst: Botan::decompress_point
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:902,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:903,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:906,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:906,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:906,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:910,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp:913,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 5
    argNames:
    - pt
    - pt_len
    - ' p'
    - ' a'
    - ' b'
    argTypes:
    - uint8_t[]
    - size_t
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 914
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 914
    functionName: Botan::OS2ECP
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_point.cpp
    functionUses: 2
    functionsReached:
    - Botan::Decoding_Error
    - Botan::decompress_point
    - static_cast<int>
    - Botan::to_string
    - std::make_pair
    - Botan::BigInt::decode
    linkageType: ''
    returnType: std::pair<BigInt, BigInt>
    signature: std::pair<BigInt, BigInt> OS2ECP(const uint8_t pt[], size_t pt_len,
      const BigInt& p, const BigInt& a, const BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const EC_Scalar_Data_BN*>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:15,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: '& EC_Scalar_Data_BN::checked_ref(const EC_Scalar_Data& data)'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - dynamic_cast<const EC_Scalar_Data_BN*>
    linkageType: ''
    returnType: EC_Scalar_Data_BN
    signature: EC_Scalar_Data_BN & EC_Scalar_Data_BN::checked_ref(const EC_Scalar_Data&
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: '& EC_Scalar_Data_BN::group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const EC_Group_Data>
    signature: std::shared_ptr<const EC_Group_Data> & EC_Scalar_Data_BN::group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar_Data_BN::group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Botan::EC_Scalar_Data_BN::bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar_Data_BN::group
    linkageType: ''
    returnType: size_t
    signature: size_t EC_Scalar_Data_BN::bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:31,1
    - Dst: Botan::EC_Scalar_Data_BN::group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:31,1
    - Dst: Botan::EC_Scalar_Data_BN::value
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::EC_Scalar_Data_BN::clone
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar_Data_BN::group
    - Botan::EC_Scalar_Data_BN::value
    - std::make_unique<EC_Scalar_Data_BN>
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_BN::clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar_Data_BN::value
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Botan::EC_Scalar_Data_BN::is_zero
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar_Data_BN::value
    linkageType: ''
    returnType: bool
    signature: bool EC_Scalar_Data_BN::is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:39,1
    - Dst: checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::EC_Scalar_Data_BN::is_eq
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - checked_ref
    - value
    linkageType: ''
    returnType: bool
    signature: bool EC_Scalar_Data_BN::is_eq(const EC_Scalar_Data& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::EC_Scalar_Data_BN::assign
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - checked_ref
    linkageType: ''
    returnType: void
    signature: void EC_Scalar_Data_BN::assign(const EC_Scalar_Data& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::EC_Scalar_Data_BN::square_self
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - mod_order
    linkageType: ''
    returnType: void
    signature: void EC_Scalar_Data_BN::square_self()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:51,1
    - Dst: mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:51,1
    - Dst: order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::EC_Scalar_Data_BN::negate
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - mod_order
    - order
    - std::make_unique<EC_Scalar_Data_BN>
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_BN::negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:55,1
    - Dst: inverse_mod_public_prime
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:55,1
    - Dst: order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Botan::EC_Scalar_Data_BN::invert
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - inverse_mod_public_prime
    - order
    - std::make_unique<EC_Scalar_Data_BN>
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_BN::invert() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:59,1
    - Dst: inverse_mod_public_prime
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:59,1
    - Dst: order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: Botan::EC_Scalar_Data_BN::invert_vartime
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - inverse_mod_public_prime
    - order
    - std::make_unique<EC_Scalar_Data_BN>
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_BN::invert_vartime()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:63,1
    - Dst: mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:63,1
    - Dst: checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: Botan::EC_Scalar_Data_BN::add
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - checked_ref
    - mod_order
    - std::make_unique<EC_Scalar_Data_BN>
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_BN::add(const EC_Scalar_Data&
      other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:67,1
    - Dst: mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:68,1
    - Dst: order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:68,1
    - Dst: checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: Botan::EC_Scalar_Data_BN::sub
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - checked_ref
    - mod_order
    - order
    - std::make_unique<EC_Scalar_Data_BN>
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_BN::sub(const EC_Scalar_Data&
      other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_Scalar_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:72,1
    - Dst: mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:72,1
    - Dst: checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Botan::EC_Scalar_Data_BN::mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - checked_ref
    - mod_order
    - std::make_unique<EC_Scalar_Data_BN>
    linkageType: ''
    returnType: std::unique_ptr<EC_Scalar_Data>
    signature: std::unique_ptr<EC_Scalar_Data> EC_Scalar_Data_BN::mul(const EC_Scalar_Data&
      other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:76,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:76,1
    - Dst: order_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:76,1
    - Dst: Botan::EC_Scalar_Data_BN::serialize_to
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: Botan::EC_Scalar_Data_BN::serialize_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 1
    functionsReached:
    - order_bytes
    - Botan::EC_Scalar_Data_BN::serialize_to
    - std::span<uint8_t>::size
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void EC_Scalar_Data_BN::serialize_to(std::span<uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:81,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:81,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:82,1
    - Dst: force_affine
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:83,1
    - Dst: xy_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - group
    - pt
    argTypes:
    - std::shared_ptr<const EC_Group_Data>
    - EC_Point
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: Botan::EC_AffinePoint_Data_BN::EC_AffinePoint_Data_BN
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - xy_bytes
    - is_zero
    - std::move
    - force_affine
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_BN::EC_AffinePoint_Data_BN(std::shared_ptr<const
      EC_Group_Data> group, EC_Point pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EC_AffinePoint_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::EC_AffinePoint_Data_BN::clone
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_AffinePoint_Data_BN>
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: std::unique_ptr<EC_AffinePoint_Data> EC_AffinePoint_Data_BN::clone()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: '& EC_AffinePoint_Data_BN::group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const EC_Group_Data>
    signature: std::shared_ptr<const EC_Group_Data> & EC_AffinePoint_Data_BN::group()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:98,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:98,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:99,1
    - Dst: order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:109,1
    - Dst: cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:109,1
    - Dst: EC_Point_Var_Point_Precompute::mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:110,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:110,1
    - Dst: std::make_unique<EC_AffinePoint_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:111,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - EC_Scalar_Data
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: Botan::EC_AffinePoint_Data_BN::mul
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EC_AffinePoint_Data_BN>
    - EC_Scalar_Data_BN::checked_ref
    - EC_Point_Var_Point_Precompute::mul
    - group
    - cofactor
    - std::move
    - order
    - value
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: "std::unique_ptr<EC_AffinePoint_Data> EC_AffinePoint_Data_BN::mul(const
      EC_Scalar_Data& scalar,\n                                                                 RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:116,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:116,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:117,1
    - Dst: order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:127,1
    - Dst: cofactor
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:127,1
    - Dst: EC_Point_Var_Point_Precompute::mul
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:128,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:128,1
    - Dst: auto::x_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - EC_Scalar_Data
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: Botan::EC_AffinePoint_Data_BN::mul_x_only
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - EC_Scalar_Data_BN::checked_ref
    - EC_Point_Var_Point_Precompute::mul
    - group
    - cofactor
    - order
    - value
    - auto::x_bytes
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> EC_AffinePoint_Data_BN::mul_x_only(const EC_Scalar_Data&
      scalar,\n                                                          RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p_bytes
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: Botan::EC_AffinePoint_Data_BN::field_element_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - p_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t EC_AffinePoint_Data_BN::field_element_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Botan::EC_AffinePoint_Data_BN::is_identity
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EC_AffinePoint_Data_BN::is_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:141,1
    - Dst: Botan::EC_AffinePoint_Data_BN::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:141,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:143,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:143,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:144,1
    - Dst: first
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: Botan::EC_AffinePoint_Data_BN::serialize_x_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - std::span<uint8_t>::size
    - first
    - copy_mem
    - Botan::EC_AffinePoint_Data_BN::is_identity
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_BN::serialize_x_to(std::span<uint8_t> bytes)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:148,1
    - Dst: Botan::EC_AffinePoint_Data_BN::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:148,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:150,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:150,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:151,1
    - Dst: last
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: Botan::EC_AffinePoint_Data_BN::serialize_y_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - std::span<uint8_t>::size
    - copy_mem
    - Botan::EC_AffinePoint_Data_BN::is_identity
    - BOTAN_ARG_CHECK
    - last
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_BN::serialize_y_to(std::span<uint8_t> bytes)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:155,1
    - Dst: Botan::EC_AffinePoint_Data_BN::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:155,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:157,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:157,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: Botan::EC_AffinePoint_Data_BN::serialize_xy_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - std::span<uint8_t>::size
    - copy_mem
    - Botan::EC_AffinePoint_Data_BN::is_identity
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_BN::serialize_xy_to(std::span<uint8_t> bytes)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:162,1
    - Dst: Botan::EC_AffinePoint_Data_BN::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:162,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:164,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:164,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:168,1
    - Dst: Botan::EC_AffinePoint_Data_BN::serialize_x_to
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:169,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: Botan::EC_AffinePoint_Data_BN::serialize_compressed_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::append
    - Botan::EC_AffinePoint_Data_BN::serialize_x_to
    - BOTAN_STATE_CHECK
    - std::span<uint8_t>::size
    - Botan::EC_AffinePoint_Data_BN::is_identity
    - BOTAN_ARG_CHECK
    - BufferStuffer::next
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_BN::serialize_compressed_to(std::span<uint8_t>
      bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:173,1
    - Dst: Botan::EC_AffinePoint_Data_BN::is_identity
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:173,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:175,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:175,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:177,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: Botan::EC_AffinePoint_Data_BN::serialize_uncompressed_to
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::append
    - BOTAN_STATE_CHECK
    - std::span<uint8_t>::size
    - Botan::EC_AffinePoint_Data_BN::is_identity
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void EC_AffinePoint_Data_BN::serialize_uncompressed_to(std::span<uint8_t>
      bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:182,1
    - Dst: to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:182,1
    - Dst: to_legacy_point
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:182,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:183,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g'
    - ' h'
    argTypes:
    - EC_AffinePoint_Data
    - EC_AffinePoint_Data
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: Botan::EC_Mul2Table_Data_BN::EC_Mul2Table_Data_BN
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - group
    - to_legacy_point
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void EC_Mul2Table_Data_BN::EC_Mul2Table_Data_BN(const EC_AffinePoint_Data&
      g, const EC_AffinePoint_Data& h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:188,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:188,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:188,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:190,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:191,1
    - Dst: multi_exp
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:192,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:192,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:192,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:194,1
    - Dst: std::make_unique<EC_AffinePoint_Data_BN>
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:197,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - EC_Scalar_Data
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: Botan::EC_Mul2Table_Data_BN::mul2_vartime
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - multi_exp
    - std::make_unique<EC_AffinePoint_Data_BN>
    - EC_Scalar_Data_BN::checked_ref
    - group
    - std::move
    - value
    - auto::is_zero
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: std::unique_ptr<EC_AffinePoint_Data>
    signature: "std::unique_ptr<EC_AffinePoint_Data> EC_Mul2Table_Data_BN::mul2_vartime(const
      EC_Scalar_Data& x,\n                                                                        const
      EC_Scalar_Data& y) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:203,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:203,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:203,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:203,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:205,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:206,1
    - Dst: EC_Scalar_Data_BN::checked_ref
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:207,1
    - Dst: multi_exp
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:208,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:208,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:208,1
    - Dst: auto::_is_x_eq_to_v_mod_order
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:210,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - ' v'
    - ' x'
    - ' y'
    argTypes:
    - EC_Scalar_Data
    - EC_Scalar_Data
    - EC_Scalar_Data
    constantsTouched: []
    func_position:
      end: 211
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 211
    functionName: Botan::EC_Mul2Table_Data_BN::mul2_vartime_x_mod_order_eq
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/ec_inner_bn.cpp
    functionUses: 0
    functionsReached:
    - multi_exp
    - EC_Scalar_Data_BN::checked_ref
    - group
    - auto::_is_x_eq_to_v_mod_order
    - value
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: bool
    signature: "bool EC_Mul2Table_Data_BN::mul2_vartime_x_mod_order_eq(const EC_Scalar_Data&
      v,\n                                                       const EC_Scalar_Data&
      x,\n                                                       const EC_Scalar_Data&
      y) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/curve_gfp.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 80
    functionName: Botan::CurveGFp
    functionSourceFile: /src/botan/src/lib/pubkey/ec_group/legacy_ec_point/curve_gfp.h
    functionUses: 0
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API CurveGFp
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:26,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:26,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:27,1
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:28,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' key'
    - kdf_hash
    argTypes:
    - SM2_Encryption_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: Botan::SM2_Encryption_Operation::SM2_Encryption_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp
    functionUses: 0
    functionsReached:
    - _public_ec_point
    - Botan::HashFunction::create_or_throw
    - domain
    - fmt
    - Botan::PBKDF::create_or_throw
    linkageType: ''
    returnType: void
    signature: void SM2_Encryption_Operation(const SM2_Encryption_PublicKey& key,
      std::string_view kdf_hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: Botan::SM2_Encryption_Operation::max_input_bits
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t max_input_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptext_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: Botan::SM2_Encryption_Operation::ciphertext_length
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp
    functionUses: 0
    functionsReached:
    - output_length
    linkageType: ''
    returnType: size_t
    signature: size_t ciphertext_length(size_t ptext_len) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:44,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:46,1
    - Dst: mul
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:48,1
    - Dst: EC_AffinePoint::x_bytes
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:50,1
    - Dst: EC_AffinePoint::y_bytes
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:51,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:57,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:57,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:59,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:60,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:62,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:63,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:64,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:65,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:68,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:70,1
    - Dst: EC_AffinePoint::x_bytes
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:70,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:71,1
    - Dst: EC_AffinePoint::y_bytes
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 77
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 77
    functionName: Botan::SM2_Encryption_Operation::encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp
    functionUses: 0
    functionsReached:
    - EC_AffinePoint::y_bytes
    - DER_Encoder
    - BigInt
    - final
    - derive_key
    - Botan::EC_AffinePoint::g_mul
    - std::span<const uint8_t>::size
    - xor_buf
    - update
    - Botan::EC_Scalar::random
    - EC_AffinePoint::x_bytes
    - mul
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> encrypt(std::span<const uint8_t> msg, RandomNumberGenerator&
      rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:91,1
    - Dst: _private_key
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:91,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:92,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:94,1
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' key'
    - ' rng'
    - kdf_hash
    argTypes:
    - SM2_Encryption_PrivateKey
    - RandomNumberGenerator
    - std::string_view
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: Botan::SM2_Decryption_Operation::SM2_Decryption_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::create_or_throw
    - domain
    - fmt
    - _private_key
    - Botan::PBKDF::create_or_throw
    linkageType: ''
    returnType: void
    signature: "void SM2_Decryption_Operation(const SM2_Encryption_PrivateKey& key,\n
      \                              RandomNumberGenerator& rng,\n                               std::string_view
      kdf_hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:105,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptext_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: Botan::SM2_Decryption_Operation::plaintext_length
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp
    functionUses: 0
    functionsReached:
    - output_length
    linkageType: ''
    returnType: size_t
    signature: size_t plaintext_length(size_t ptext_len) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:118,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:118,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:119,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:125,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:135,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:143,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:143,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:144,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:147,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:147,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:147,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:147,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:148,1
    - Dst: Botan::EC_AffinePoint::from_bigint_xy
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:151,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:155,1
    - Dst: auto::mul
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:158,1
    - Dst: auto::x_bytes
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:159,1
    - Dst: auto::y_bytes
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:160,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:162,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:162,1
    - Dst: auto::xy_bytes
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:162,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:164,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:164,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:164,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:164,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:166,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:167,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:168,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:169,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:171,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:171,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:171,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:171,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - ' valid_mask'
    - ctext
    argTypes:
    - uint8_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 177
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 177
    functionName: Botan::SM2_Decryption_Operation::decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Botan::CT::is_equal
    - BER_Decoder
    - data
    - std::span<const uint8_t>::size
    - auto::size
    - update
    - std::span<const uint8_t>::data
    - std::vector::data
    - secure_vector::data
    - DER_Encoder
    - final
    - derive_key
    - size
    - auto::xy_bytes
    - xor_buf
    - auto::x_bytes
    - secure_vector<uint8_t>
    - Botan::EC_AffinePoint::from_bigint_xy
    - auto::data
    - auto::y_bytes
    - output_length
    - auto::mul
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> decrypt(uint8_t& valid_mask, std::span<const
      uint8_t> ctext) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:192,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:194,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:195,1
    - Dst: std::make_unique<SM2_Encryption_Operation>
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:196,1
    - Dst: std::make_unique<SM2_Encryption_Operation>
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:198,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:202,1
    - Dst: Botan::SM2_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 203
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 203
    functionName: Botan::SM2_PublicKey::create_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp
    functionUses: 0
    functionsReached:
    - Provider_Not_Found
    - std::make_unique<SM2_Encryption_Operation>
    - std::string_view::empty
    - BOTAN_UNUSED
    - Botan::SM2_PublicKey::algo_name
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Encryption>
    signature: "std::unique_ptr<PK_Ops::Encryption> SM2_PublicKey::create_encryption_op(RandomNumberGenerator&
      rng,\n                                                                        std::string_view
      params,\n                                                                        std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:208,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:209,1
    - Dst: std::make_unique<SM2_Decryption_Operation>
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:210,1
    - Dst: std::make_unique<SM2_Decryption_Operation>
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:212,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:216,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 217
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 217
    functionName: Botan::SM2_PrivateKey::create_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2_enc.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - std::make_unique<SM2_Decryption_Operation>
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Decryption>
    signature: "std::unique_ptr<PK_Ops::Decryption> SM2_PrivateKey::create_decryption_op(RandomNumberGenerator&
      rng,\n                                                                         std::string_view
      params,\n                                                                         std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' public_point'
    argTypes:
    - EC_Group
    - EC_Point
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::SM2_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SM2_PublicKey(const EC_Group& group, const EC_Point& public_point)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: Botan::SM2_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SM2_PublicKey(const AlgorithmIdentifier& alg_id, std::span<const
      uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::_signature_element_size_for_DER_encoding
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.h
    functionUses: 0
    functionsReached:
    - Botan::domain
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> _signature_element_size_for_DER_encoding() const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: get_da_inv
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & get_da_inv() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: _get_da_inv
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar & _get_da_inv() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/sm2/sm2.h:156,1
    - Dst: sm2_compute_za
      Src: /src/botan/src/lib/pubkey/sm2/sm2.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' hash'
    - user_id
    - ' group'
    - ' pubkey'
    argTypes:
    - HashFunction
    - std::string_view
    - EC_Group
    - EC_Point
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: sm2_compute_za
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.h
    functionUses: 1
    functionsReached:
    - sm2_compute_za
    - EC_AffinePoint
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> sm2_compute_za(HashFunction& hash,\n                                           std::string_view
      user_id,\n                                           const EC_Group& group,\n
      \                                          const EC_Point& pubkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::SM2_PublicKey::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SM2_PublicKey::algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SM2_Signature_PublicKey>
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:24,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:24,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::SM2_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - domain
    - std::make_unique<SM2_Signature_PublicKey>
    - _public_ec_point
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> SM2_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PrivateKey::check_key
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:28,1
    - Dst: private_value
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:37,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:37,1
    - Dst: Botan::KeyPair::signature_consistency_check
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 46
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 46
    functionName: Botan::SM2_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - domain
    - Botan::KeyPair::signature_consistency_check
    - Botan::EC_PrivateKey::check_key
    - private_value
    linkageType: ''
    returnType: bool
    signature: bool SM2_PrivateKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SM2_PrivateKey::_private_key
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:50,1
    - Dst: Botan::EC_Scalar::one
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:50,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:50,1
    - Dst: invert
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:50,1
    - Dst: to_bigint
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: Botan::SM2_PrivateKey::SM2_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - invert
    - domain
    - to_bigint
    - Botan::EC_Scalar::one
    - Botan::SM2_PrivateKey::_private_key
    linkageType: ''
    returnType: void
    signature: void SM2_PrivateKey::SM2_PrivateKey(const AlgorithmIdentifier& alg_id,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:54,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:54,1
    - Dst: Botan::SM2_PrivateKey::_private_key
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:55,1
    - Dst: Botan::EC_Scalar::one
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:55,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:55,1
    - Dst: invert
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:55,1
    - Dst: to_bigint
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - group
    - x
    argTypes:
    - EC_Group
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: Botan::SM2_PrivateKey::SM2_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - invert
    - domain
    - to_bigint
    - std::move
    - Botan::EC_Scalar::one
    - Botan::SM2_PrivateKey::_private_key
    linkageType: ''
    returnType: void
    signature: void SM2_PrivateKey::SM2_PrivateKey(EC_Group group, EC_Scalar x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:59,1
    - Dst: Botan::SM2_PrivateKey::_private_key
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:60,1
    - Dst: Botan::EC_Scalar::one
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:60,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:60,1
    - Dst: invert
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:60,1
    - Dst: to_bigint
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rng'
    - group
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: Botan::SM2_PrivateKey::SM2_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - invert
    - domain
    - to_bigint
    - std::move
    - Botan::EC_Scalar::one
    - Botan::SM2_PrivateKey::_private_key
    linkageType: ''
    returnType: void
    signature: void SM2_PrivateKey::SM2_PrivateKey(RandomNumberGenerator& rng, EC_Group
      group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:64,1
    - Dst: Botan::SM2_PrivateKey::_private_key
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:65,1
    - Dst: Botan::EC_Scalar::one
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:65,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:65,1
    - Dst: invert
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:65,1
    - Dst: to_bigint
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' rng'
    - group
    - ' x'
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: Botan::SM2_PrivateKey::SM2_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - invert
    - domain
    - to_bigint
    - std::move
    - Botan::EC_Scalar::one
    - Botan::SM2_PrivateKey::_private_key
    linkageType: ''
    returnType: void
    signature: void SM2_PrivateKey::SM2_PrivateKey(RandomNumberGenerator& rng, EC_Group
      group, const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:72,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:73,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:78,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:78,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:79,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:79,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:80,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:84,1
    - Dst: get_a
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:84,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:85,1
    - Dst: get_b
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:85,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:86,1
    - Dst: get_g_x
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:86,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:87,1
    - Dst: get_g_y
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:87,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:88,1
    - Dst: xy_bytes
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:88,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ' hash'
    - user_id
    - ' group'
    - ' pubkey'
    argTypes:
    - HashFunction
    - std::string_view
    - EC_Group
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 91
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 91
    functionName: Botan::sm2_compute_za
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - Botan::get_byte
    - get_g_y
    - Botan::update
    - Botan::final
    - get_g_x
    - std::string_view::size
    - get_b
    - xy_bytes
    - Invalid_Argument
    - get_a
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> sm2_compute_za(HashFunction& hash,\n                                    std::string_view
      user_id,\n                                    const EC_Group& group,\n                                    const
      EC_AffinePoint& pubkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:101,1
    - Dst: _private_key
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:101,1
    - Dst: _get_da_inv
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:101,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:105,1
    - Dst: sm2_compute_za
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:107,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:107,1
    - Dst: Botan::SM2_Signature_Operation::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' sm2'
    - ident
    - hash
    argTypes:
    - SM2_PrivateKey
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: Botan::SM2_Signature_Operation::SM2_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - _public_ec_point
    - Botan::HashFunction::create_or_throw
    - sm2_compute_za
    - domain
    - _private_key
    - Botan::SM2_Signature_Operation::update
    - _get_da_inv
    linkageType: ''
    returnType: void
    signature: void SM2_Signature_Operation(const SM2_PrivateKey& sm2, std::string_view
      ident, std::string_view hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_order_bytes
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: Botan::SM2_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - get_order_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SM2_Signature_Operation::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:116,1
    - Dst: insert
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:118,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:118,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:118,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: Botan::SM2_Signature_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 2
    functionsReached:
    - std::span<const uint8_t>::end
    - end
    - insert
    - Botan::SM2_Signature_Operation::update
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: Botan::SM2_Signature_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:139,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:139,1
    - Dst: Botan::SM2_Signature_Operation::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:141,1
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:144,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:145,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:150,1
    - Dst: Botan::EC_Scalar::gk_x_mod_order
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:152,1
    - Dst: Botan::EC_Scalar::deserialize_pair
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: Botan::SM2_Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar::deserialize_pair
    - Botan::EC_Scalar::gk_x_mod_order
    - final
    - Botan::EC_Scalar::from_bytes_mod_order
    - clear
    - Botan::SM2_Signature_Operation::update
    - Botan::EC_Scalar::random
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> SM2_Signature_Operation::sign(RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:164,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:164,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:168,1
    - Dst: sm2_compute_za
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:170,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:170,1
    - Dst: Botan::SM2_Verification_Operation::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' sm2'
    - ident
    - hash
    argTypes:
    - SM2_PublicKey
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: Botan::SM2_Verification_Operation::SM2_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - _public_ec_point
    - sm2_compute_za
    - Botan::HashFunction::create_or_throw
    - domain
    - Botan::SM2_Verification_Operation::update
    linkageType: ''
    returnType: void
    signature: void SM2_Verification_Operation(const SM2_PublicKey& sm2, std::string_view
      ident, std::string_view hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SM2_Verification_Operation::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:177,1
    - Dst: insert
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:179,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:179,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:179,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: Botan::SM2_Verification_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 2
    functionsReached:
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    - end
    - Botan::SM2_Verification_Operation::update
    - insert
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: Botan::SM2_Verification_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:198,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:198,1
    - Dst: Botan::SM2_Verification_Operation::update
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:200,1
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:203,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:204,1
    - Dst: Botan::EC_Scalar::deserialize_pair
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:209,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:210,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:212,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:212,1
    - Dst: auto::is_nonzero
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:214,1
    - Dst: mul2_vartime_x_mod_order_eq
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 221
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 221
    functionName: Botan::SM2_Verification_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar::deserialize_pair
    - auto::value
    - is_nonzero
    - final
    - mul2_vartime_x_mod_order_eq
    - Botan::EC_Scalar::from_bytes_mod_order
    - clear
    - auto::is_nonzero
    - Botan::SM2_Verification_Operation::update
    linkageType: ''
    returnType: bool
    signature: bool SM2_Verification_Operation::is_valid_signature(std::span<const
      uint8_t> sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:237,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:241,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - params
    - ' userid'
    - ' hash'
    argTypes:
    - std::string_view
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 244
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 244
    functionName: Botan::parse_sm2_param_string
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::find
    - std::string_view::substr
    linkageType: ''
    returnType: void
    signature: void parse_sm2_param_string(std::string_view params, std::string& userid,
      std::string& hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SM2_PrivateKey>
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:249,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: Botan::SM2_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - domain
    - std::make_unique<SM2_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> SM2_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:254,1
    - Dst: parse_sm2_param_string
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:256,1
    - Dst: std::make_unique<SM2_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:257,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:260,1
    - Dst: Botan::SM2_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: Botan::SM2_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SM2_Verification_Operation>
    - Provider_Not_Found
    - parse_sm2_param_string
    - std::string_view::empty
    - Botan::SM2_PublicKey::algo_name
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> SM2_PublicKey::create_verification_op(std::string_view
      params,\n                                                                            std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:266,1
    - Dst: parse_sm2_param_string
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:268,1
    - Dst: std::make_unique<SM2_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:269,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:272,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/sm2/sm2.cpp:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: Botan::SM2_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/sm2/sm2.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::make_unique<SM2_Signature_Operation>
    - Provider_Not_Found
    - parse_sm2_param_string
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> SM2_PrivateKey::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                       std::string_view
      params,\n                                                                       std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:15,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:15,1
    - Dst: to_legacy_point
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:17,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:22,1
    - Dst: is_identity
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - group
    - pt
    argTypes:
    - EC_Group
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 23
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 23
    functionName: Botan::EC_PublicKey_Data::EC_PublicKey_Data
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp
    functionUses: 0
    functionsReached:
    - is_identity
    - to_legacy_point
    - std::move
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey_Data::EC_PublicKey_Data(EC_Group group, EC_AffinePoint
      pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:26,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:26,1
    - Dst: to_bigint
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:26,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:29,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - group
    - x
    argTypes:
    - EC_Group
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: Botan::EC_PrivateKey_Data::EC_PrivateKey_Data
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp
    functionUses: 0
    functionsReached:
    - is_nonzero
    - std::move
    - to_bigint
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void EC_PrivateKey_Data::EC_PrivateKey_Data(EC_Group group, EC_Scalar
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:37,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:48,1
    - Dst: last
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:48,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:48,1
    - Dst: Botan::decode_ec_secret_key_scalar
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:49,1
    - Dst: Botan::EC_Scalar::deserialize
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:52,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:53,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' group'
    - bytes
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 57
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 57
    functionName: Botan::decode_ec_secret_key_scalar
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp
    functionUses: 1
    functionsReached:
    - Botan::Decoding_Error
    - auto::value
    - Botan::EC_Scalar::deserialize
    - Botan::decode_ec_secret_key_scalar
    - std::span<const uint8_t>::size
    - Botan::copy_mem
    - last
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar decode_ec_secret_key_scalar(const EC_Group& group, std::span<const
      uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode_ec_secret_key_scalar
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - bytes
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: Botan::EC_PrivateKey_Data::EC_PrivateKey_Data
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp
    functionUses: 0
    functionsReached:
    - decode_ec_secret_key_scalar
    linkageType: ''
    returnType: void
    signature: void EC_PrivateKey_Data::EC_PrivateKey_Data(const EC_Group& group,
      std::span<const uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:68,1
    - Dst: invert
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:68,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:70,1
    - Dst: std::make_shared<EC_PublicKey_Data>
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:74,1
    - Dst: public_point
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' rng'
    - with_modular_inverse
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: Botan::EC_PrivateKey_Data::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<EC_PublicKey_Data>
    - public_point
    - invert
    - Botan::EC_AffinePoint::g_mul
    linkageType: ''
    returnType: std::shared_ptr<EC_PublicKey_Data>
    signature: "std::shared_ptr<EC_PublicKey_Data> EC_PrivateKey_Data::public_key(RandomNumberGenerator&
      rng,\n                                                                  bool
      with_modular_inverse) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PrivateKey_Data::public_key
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - with_modular_inverse
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: Botan::EC_PrivateKey_Data::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_PrivateKey_Data::public_key
    linkageType: ''
    returnType: std::shared_ptr<EC_PublicKey_Data>
    signature: std::shared_ptr<EC_PublicKey_Data> EC_PrivateKey_Data::public_key(bool
      with_modular_inverse) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PrivateKey_Data::serialize_to
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: Botan::EC_PrivateKey_Data::serialize_to
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_PrivateKey_Data::serialize_to
    linkageType: ''
    returnType: void
    signature: void EC_PrivateKey_Data::serialize_to(std::span<uint8_t> output) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EC_PublicKey
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::EC_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey(EC_PublicKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~EC_PublicKey() override
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EC_PublicKey() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan::domain_format
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Group_Encoding
    signature: EC_Group_Encoding domain_format() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan::point_encoding
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Point_Format
    signature: EC_Point_Format point_encoding() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: Botan::EC_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_PrivateKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - bytes
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: Botan::EC_PublicKey_Data::EC_PublicKey_Data
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h
    functionUses: 0
    functionsReached:
    - EC_AffinePoint
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey_Data(const EC_Group& group, std::span<const uint8_t>
      bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Group
    signature: EC_Group & group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& public_key() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint & public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& legacy_point() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point & legacy_point() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PrivateKey_Data::group
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h:61,1
    - Dst: Botan::EC_PrivateKey_Data::serialize_to
      Src: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: Botan::EC_PrivateKey_Data::serialize
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h
    functionUses: 0
    functionsReached:
    - Botan::EC_PrivateKey_Data::serialize_to
    - Botan::EC_PrivateKey_Data::group
    linkageType: ''
    returnType: T
    signature: T serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '& group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Group
    signature: EC_Group & group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: '& private_key() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar & private_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& legacy_bigint() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ec_key_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & legacy_bigint() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Botan::EC_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - domain
    linkageType: ''
    returnType: size_t
    signature: size_t EC_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecp_work_factor
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:31,1
    - Dst: Botan::EC_PublicKey::key_length
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::EC_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - ecp_work_factor
    - Botan::EC_PublicKey::key_length
    linkageType: ''
    returnType: size_t
    signature: size_t EC_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_curve_oid
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - EC_Group
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: Botan::default_encoding_for
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - get_curve_oid
    linkageType: ''
    returnType: EC_Group_Encoding
    signature: EC_Group_Encoding default_encoding_for(const EC_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:48,1
    - Dst: std::make_shared<const EC_PublicKey_Data>
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:49,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:49,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:49,1
    - Dst: default_encoding_for
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:50,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - group
    - ' pub_point'
    argTypes:
    - EC_Group
    - EC_Point
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: Botan::EC_PublicKey::EC_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<const EC_PublicKey_Data>
    - default_encoding_for
    - domain
    - std::move
    - EC_AffinePoint
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey::EC_PublicKey(EC_Group group, const EC_Point& pub_point)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<const EC_PublicKey_Data>
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:55,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:55,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:55,1
    - Dst: default_encoding_for
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:56,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - group
    - pub_point
    argTypes:
    - EC_Group
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: Botan::EC_PublicKey::EC_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<const EC_PublicKey_Data>
    - domain
    - std::move
    - default_encoding_for
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey::EC_PublicKey(EC_Group group, EC_AffinePoint pub_point)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<const EC_PublicKey_Data>
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:60,1
    - Dst: EC_Group
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:60,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:60,1
    - Dst: default_encoding_for
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:61,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: Botan::EC_PublicKey::EC_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<const EC_PublicKey_Data>
    - EC_Group
    - default_encoding_for
    - domain
    - parameters
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey::EC_PublicKey(const AlgorithmIdentifier& alg_id,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:65,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '& EC_PublicKey::domain() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - group
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: EC_Group
    signature: EC_Group & EC_PublicKey::domain() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:71,1
    - Dst: legacy_point
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '& EC_PublicKey::public_point() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - legacy_point
    linkageType: ''
    returnType: EC_Point
    signature: EC_Point & EC_PublicKey::public_point() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:77,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '& EC_PublicKey::_public_ec_point() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - public_key
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint & EC_PublicKey::_public_ec_point() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:83,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: Botan::EC_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _public_ec_point
    linkageType: ''
    returnType: bool
    signature: bool EC_PublicKey::check_key(RandomNumberGenerator& rng, bool /*strong*/)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:87,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:87,1
    - Dst: Botan::EC_PublicKey::DER_domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: Botan::EC_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_PublicKey::DER_domain
    - AlgorithmIdentifier
    - object_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier EC_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:91,1
    - Dst: point_encoding
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Botan::EC_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - point_encoding
    - _public_ec_point
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp: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: Botan::EC_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:99,1
    - Dst: domain_format
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: Botan::EC_PublicKey::DER_domain
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 1
    functionsReached:
    - domain
    - domain_format
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_PublicKey::DER_domain() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - enc
    argTypes:
    - EC_Point_Format
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: Botan::EC_PublicKey::set_point_encoding
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey::set_point_encoding(EC_Point_Format enc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:111,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - form
    argTypes:
    - EC_Group_Encoding
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: Botan::EC_PublicKey::set_parameter_encoding
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - domain
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey::set_parameter_encoding(EC_Group_Encoding form)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:119,1
    - Dst: legacy_bigint
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: '& EC_PrivateKey::private_value() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - legacy_bigint
    linkageType: ''
    returnType: BigInt
    signature: BigInt & EC_PrivateKey::private_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:124,1
    - Dst: private_key
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: '& EC_PrivateKey::_private_key() const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - private_key
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar & EC_PrivateKey::_private_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:135,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:135,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:135,1
    - Dst: std::make_shared<EC_PrivateKey_Data>
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:136,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:136,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:136,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:137,1
    - Dst: default_encoding_for
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:138,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' rng'
    - ec_group
    - ' x'
    - with_modular_inverse
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    - BigInt
    - bool
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: Botan::EC_PrivateKey::EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - default_encoding_for
    - domain
    - Botan::EC_Scalar::from_bigint
    - std::make_shared<EC_PrivateKey_Data>
    - std::move
    - public_key
    - is_zero
    - Botan::EC_Scalar::random
    linkageType: ''
    returnType: void
    signature: "void EC_PrivateKey::EC_PrivateKey(RandomNumberGenerator& rng,\n                             EC_Group
      ec_group,\n                             const BigInt& x,\n                             bool
      with_modular_inverse)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:142,1
    - Dst: std::make_shared<EC_PrivateKey_Data>
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:143,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:143,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:143,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:144,1
    - Dst: default_encoding_for
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:145,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' rng'
    - ec_group
    - with_modular_inverse
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    - bool
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: Botan::EC_PrivateKey::EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - default_encoding_for
    - domain
    - std::make_shared<EC_PrivateKey_Data>
    - std::move
    - public_key
    - Botan::EC_Scalar::random
    linkageType: ''
    returnType: void
    signature: void EC_PrivateKey::EC_PrivateKey(RandomNumberGenerator& rng, EC_Group
      ec_group, bool with_modular_inverse)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<EC_PrivateKey_Data>
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:149,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:149,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:149,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:150,1
    - Dst: default_encoding_for
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:151,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ec_group
    - x
    - with_modular_inverse
    argTypes:
    - EC_Group
    - EC_Scalar
    - bool
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: Botan::EC_PrivateKey::EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - default_encoding_for
    - domain
    - std::make_shared<EC_PrivateKey_Data>
    - std::move
    - public_key
    linkageType: ''
    returnType: void
    signature: void EC_PrivateKey::EC_PrivateKey(EC_Group ec_group, EC_Scalar x, bool
      with_modular_inverse)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:155,1
    - Dst: serialize
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: Botan::EC_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - serialize
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> EC_PrivateKey::raw_private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:160,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:162,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:164,1
    - Dst: Botan::EC_PrivateKey::raw_private_key_bits
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:165,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: Botan::EC_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    - BOTAN_STATE_CHECK
    - static_cast<size_t>
    - Botan::EC_PrivateKey::raw_private_key_bits
    - public_key
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> EC_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:176,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:182,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:186,1
    - Dst: std::make_shared<EC_PrivateKey_Data>
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:190,1
    - Dst: secure_vector::empty
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:192,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:193,1
    - Dst: std::make_shared<EC_PublicKey_Data>
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:195,1
    - Dst: default_encoding_for
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:198,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ' alg_id'
    - key_bits
    - with_modular_inverse
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 199
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 199
    functionName: Botan::EC_PrivateKey::EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::empty
    - BER_Decoder
    - default_encoding_for
    - domain
    - std::make_shared<EC_PrivateKey_Data>
    - parameters
    - public_key
    - ASN1_Type
    - std::make_shared<EC_PublicKey_Data>
    linkageType: ''
    returnType: void
    signature: "void EC_PrivateKey::EC_PrivateKey(const AlgorithmIdentifier& alg_id,\n
      \                            std::span<const uint8_t> key_bits,\n                             bool
      with_modular_inverse)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PublicKey::check_key
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: Botan::EC_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 1
    functionsReached:
    - Botan::EC_PublicKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool EC_PrivateKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:211,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:211,1
    - Dst: '& EC_PublicKey::get_int_field(std::domain'
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:213,1
    - Dst: '& EC_PublicKey::get_int_field(std::domain'
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:215,1
    - Dst: '& EC_PublicKey::get_int_field(std::domain'
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:217,1
    - Dst: '& EC_PublicKey::get_int_field(std::domain'
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:219,1
    - Dst: '& EC_PublicKey::get_int_field(std::domain'
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:221,1
    - Dst: '& EC_PublicKey::get_int_field(std::domain'
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:223,1
    - Dst: '& EC_PublicKey::get_int_field(std::domain'
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:225,1
    - Dst: Public_Key::get_int_field
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:227,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 229
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 229
    functionName: '& EC_PublicKey::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - '& EC_PublicKey::get_int_field(std::domain'
    - Public_Key::get_int_field
    - Not_Implemented
    linkageType: ''
    returnType: BigInt
    signature: BigInt & EC_PublicKey::get_int_field(std::string_view field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& EC_PrivateKey::get_int_field(std::private_value'
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:233,1
    - Dst: EC_PublicKey::get_int_field
      Src: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: '& EC_PrivateKey::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/ecc_key/ecc_key.cpp
    functionUses: 0
    functionsReached:
    - EC_PublicKey::get_int_field
    - '& EC_PrivateKey::get_int_field(std::private_value'
    linkageType: ''
    returnType: BigInt
    signature: BigInt & EC_PrivateKey::get_int_field(std::string_view field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::curve25519_donna
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mypublic
    - secret
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: Botan::curve25519_basepoint
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - Botan::curve25519_donna
    linkageType: ''
    returnType: void
    signature: void curve25519_basepoint(uint8_t mypublic[32], const uint8_t secret[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:28,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - size
    - thing
    argTypes:
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: Botan::size_check
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan::Decoding_Error
    linkageType: ''
    returnType: void
    signature: void size_check(size_t size, const char* thing)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::curve25519_donna
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:34,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:34,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' secret'
    - pubval
    argTypes:
    - secure_vector<uint8_t>
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: Botan::curve25519
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - Botan::curve25519_donna
    - data
    - secure_vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> curve25519(const secure_vector<uint8_t>& secret,
      const uint8_t pubval[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:41,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::X25519_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - object_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier X25519_PublicKey::algorithm_identifier() const
  - 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: Botan::X25519_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool X25519_PublicKey::check_key(RandomNumberGenerator& /*rng*/, bool
      /*strong*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: Botan::X25519_PublicKey::X25519_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X25519_PublicKey::X25519_PublicKey(const AlgorithmIdentifier&
      /*unused*/, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:52,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:52,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:52,1
    - Dst: size_check
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:54,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: Botan::X25519_PublicKey::X25519_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - assign
    - size_check
    - size
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void X25519_PublicKey::X25519_PublicKey(std::span<const uint8_t> pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::X25519_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X25519_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X25519_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::X25519_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - Botan::X25519_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X25519_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<X25519_PrivateKey>
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan::X25519_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<X25519_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> X25519_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:70,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:71,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:74,1
    - Dst: assign
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:75,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:75,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:75,1
    - Dst: curve25519_basepoint
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:76,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:76,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - secret_key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: Botan::X25519_PrivateKey::X25519_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - assign
    - data
    - Decoding_Error
    - resize
    - curve25519_basepoint
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void X25519_PrivateKey::X25519_PrivateKey(std::span<const uint8_t>
      secret_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:80,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:81,1
    - Dst: curve25519_basepoint
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:82,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:82,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: Botan::X25519_PrivateKey::X25519_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - data
    - random_vec
    - resize
    - curve25519_basepoint
    linkageType: ''
    returnType: void
    signature: void X25519_PrivateKey::X25519_PrivateKey(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:86,1
    - Dst: size_check
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:88,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:88,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:89,1
    - Dst: curve25519_basepoint
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:90,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:90,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: Botan::X25519_PrivateKey::X25519_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    - data
    - size_check
    - size
    - resize
    - curve25519_basepoint
    linkageType: ''
    returnType: void
    signature: void X25519_PrivateKey::X25519_PrivateKey(const AlgorithmIdentifier&
      /*unused*/, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<X25519_PublicKey>
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:94,1
    - Dst: public_value
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: Botan::X25519_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - public_value
    - std::make_unique<X25519_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> X25519_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: Botan::X25519_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> X25519_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curve25519_basepoint
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:103,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:103,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: Botan::X25519_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - data
    - curve25519_basepoint
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: bool X25519_PrivateKey::check_key(RandomNumberGenerator& /*rng*/, bool
      /*strong*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_check
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:108,1
    - Dst: curve25519
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - w
    - w_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: Botan::X25519_PrivateKey::agree
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - curve25519
    - size_check
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> X25519_PrivateKey::agree(const uint8_t w[],
      size_t w_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - kdf
    argTypes:
    - X25519_PrivateKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: Botan::X25519_KA_Operation::X25519_KA_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X25519_KA_Operation(const X25519_PrivateKey& key, std::string_view
      kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: Botan::X25519_KA_Operation::agreed_value_size
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t agreed_value_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: agree
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:125,1
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:136,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:136,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:136,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - w
    - w_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: Botan::X25519_KA_Operation::raw_agree
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - auto::size
    - Invalid_Argument
    - Botan::CT::all_zeros
    - agree
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> raw_agree(const uint8_t w[], size_t w_len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:152,1
    - Dst: std::make_unique<X25519_KA_Operation>
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:153,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:155,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/x25519/x25519.cpp:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: Botan::X25519_PrivateKey::create_key_agreement_op
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - std::make_unique<X25519_KA_Operation>
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Key_Agreement>
    signature: "std::unique_ptr<PK_Ops::Key_Agreement> X25519_PrivateKey::create_key_agreement_op(RandomNumberGenerator&
      /*rng*/,\n                                                                                  std::string_view
      params,\n                                                                                  std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/x25519/x25519.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::public_value
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.h
    functionUses: 0
    functionsReached:
    - raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/x25519/x25519.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: public_value
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.h
    functionUses: 18
    functionsReached:
    - raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_value() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> raw_private_key_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: get_x
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/x25519.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & get_x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: Botan::fsum
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fsum(uint64_t out[5], const uint64_t in[5])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: Botan::fdifference_backwards
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fdifference_backwards(uint64_t out[5], const uint64_t in[5])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:80,1
    - Dst: Botan::fsum
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:81,1
    - Dst: Botan::fdifference_backwards
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: Botan::fadd_sub
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached:
    - Botan::copy_mem
    - Botan::fsum
    - Botan::fdifference_backwards
    linkageType: ''
    returnType: void
    signature: void fadd_sub(uint64_t x[5], uint64_t y[5])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:89,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:92,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:92,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:95,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:95,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:98,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:98,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:101,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:101,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - out
    - in
    - scalar
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: Botan::fscalar_product
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached:
    - uint128_t
    - Botan::carry_shift
    linkageType: ''
    returnType: void
    signature: void fscalar_product(uint64_t out[5], const uint64_t in[5], const uint64_t
      scalar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:145,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:147,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:149,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 3
    argNames:
    - out
    - in
    - in2
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 168
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 168
    functionName: Botan::fmul
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached:
    - Botan::carry_shift
    linkageType: ''
    returnType: void
    signature: void fmul(uint64_t out[5], const uint64_t in[5], const uint64_t in2[5])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:184,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:184,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:184,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:185,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:185,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:185,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:186,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:186,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:186,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:187,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:187,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:187,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:188,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:188,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:188,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:191,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:193,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:195,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 215
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 215
    functionName: Botan::fsquare
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached:
    - uint128_t
    - Botan::carry_shift
    linkageType: ''
    returnType: void
    signature: void fsquare(uint64_t out[5], const uint64_t in[5], size_t count =
      1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:219,1
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:220,1
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:221,1
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:222,1
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint64_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: Botan::fexpand
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached:
    - Botan::load_le
    linkageType: ''
    returnType: void
    signature: void fexpand(uint64_t* out, const uint8_t* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::store_le
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:285,1
    - Dst: Botan::combine_lower
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:286,1
    - Dst: Botan::combine_lower
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:287,1
    - Dst: Botan::combine_lower
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:288,1
    - Dst: Botan::combine_lower
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 2
    argNames:
    - out
    - input
    argTypes:
    - uint8_t*
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 290
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 290
    functionName: Botan::fcontract
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached:
    - Botan::store_le
    - Botan::combine_lower
    linkageType: ''
    returnType: void
    signature: void fcontract(uint8_t* out, const uint64_t input[5])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fadd_sub
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:317,1
    - Dst: Botan::fadd_sub
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:318,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:320,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:321,1
    - Dst: Botan::fadd_sub
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:323,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:325,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:326,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:327,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:329,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:330,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:331,1
    - Dst: Botan::fdifference_backwards
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:333,1
    - Dst: Botan::fscalar_product
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:334,1
    - Dst: Botan::fsum
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:335,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 9
    argNames:
    - result_two_q_x
    - result_two_q_z
    - result_q_plus_q_dash_x
    - result_q_plus_q_dash_z
    - in_q_x
    - in_q_z
    - in_q_dash_x
    - in_q_dash_z
    - q_minus_q_dash
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 338
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 338
    functionName: Botan::fmonty
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached:
    - Botan::fsquare
    - Botan::fsum
    - Botan::fdifference_backwards
    - Botan::fscalar_product
    - Botan::fadd_sub
    - Botan::fmul
    linkageType: ''
    returnType: void
    signature: "void fmonty(uint64_t result_two_q_x[5],\n            uint64_t result_two_q_z[5],\n
      \           uint64_t result_q_plus_q_dash_x[5],\n            uint64_t result_q_plus_q_dash_z[5],\n
      \           uint64_t in_q_x[5],\n            uint64_t in_q_z[5],\n            uint64_t
      in_q_dash_x[5],\n            uint64_t in_q_dash_z[5],\n            const uint64_t
      q_minus_q_dash[5])"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - a
    - b
    - c
    - d
    - swap
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - CT::Mask<uint64_t>
    constantsTouched: []
    func_position:
      end: 357
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 357
    functionName: Botan::swap_conditional
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_conditional(uint64_t a[5], uint64_t b[5], uint64_t c[5],
      uint64_t d[5], CT::Mask<uint64_t> swap)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:375,1
    - Dst: Botan::CT::Mask::expand_bit
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:379,1
    - Dst: Botan::CT::Mask::expand_bit
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:380,1
    - Dst: Botan::CT::Mask::expand_bit
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:381,1
    - Dst: Botan::CT::Mask::expand_bit
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:382,1
    - Dst: Botan::CT::Mask::expand_bit
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:383,1
    - Dst: Botan::CT::Mask::expand_bit
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:384,1
    - Dst: Botan::CT::Mask::expand_bit
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:385,1
    - Dst: Botan::CT::Mask::expand_bit
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:386,1
    - Dst: Botan::swap_conditional
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:388,1
    - Dst: Botan::fmonty
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:389,1
    - Dst: Botan::swap_conditional
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:391,1
    - Dst: Botan::fmonty
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:392,1
    - Dst: Botan::swap_conditional
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:394,1
    - Dst: Botan::fmonty
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:395,1
    - Dst: Botan::swap_conditional
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:397,1
    - Dst: Botan::fmonty
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:398,1
    - Dst: Botan::swap_conditional
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:400,1
    - Dst: Botan::fmonty
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:401,1
    - Dst: Botan::swap_conditional
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:403,1
    - Dst: Botan::fmonty
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:404,1
    - Dst: Botan::swap_conditional
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:406,1
    - Dst: Botan::fmonty
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:407,1
    - Dst: Botan::swap_conditional
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:409,1
    - Dst: Botan::fmonty
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:410,1
    - Dst: Botan::swap_conditional
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:412,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:415,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 4
    argNames:
    - resultx
    - resultz
    - n
    - q
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint8_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 417
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 417
    functionName: Botan::cmult
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::expand_bit
    - Botan::swap_conditional
    - Botan::copy_mem
    - Botan::fmonty
    linkageType: ''
    returnType: void
    signature: void cmult(uint64_t resultx[5], uint64_t resultz[5], const uint8_t
      n[32], const uint64_t q[5])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:428,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:429,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:430,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:431,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:432,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:433,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:434,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:435,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:436,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:437,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:438,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:439,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:440,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:441,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:442,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:443,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:444,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:445,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:446,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:447,1
    - Dst: Botan::fsquare
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:448,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - out
    - z
    argTypes:
    - uint64_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 450
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 450
    functionName: Botan::crecip
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 0
    functionsReached:
    - Botan::fsquare
    - Botan::fmul
    linkageType: ''
    returnType: void
    signature: void crecip(uint64_t out[5], const uint64_t z[5])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:455,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:456,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:461,1
    - Dst: Botan::fexpand
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:466,1
    - Dst: Botan::cmult
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:467,1
    - Dst: Botan::crecip
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:468,1
    - Dst: Botan::fmul
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:469,1
    - Dst: Botan::fcontract
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:470,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:472,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:473,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/x25519/donna.cpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - mypublic
    - secret
    - basepoint
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 475
      start: 454
    functionDepth: 4
    functionLinenumber: 454
    functionLinenumberEnd: 475
    functionName: Botan::curve25519_donna
    functionSourceFile: /src/botan/src/lib/pubkey/x25519/donna.cpp
    functionUses: 2
    functionsReached:
    - Botan::cmult
    - Botan::fcontract
    - Botan::fmul
    - Botan::CT::poison
    - Botan::fexpand
    - Botan::crecip
    - Botan::CT::unpoison
    - Botan::copy_mem
    linkageType: ''
    returnType: void
    signature: void curve25519_donna(uint8_t mypublic[32], const uint8_t secret[32],
      const uint8_t basepoint[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:80,1
    - Dst: std::span<const T>::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:80,1
    - Dst: std::span<const T>::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - polyvec
    argTypes:
    - std::span<const T>
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: Botan::CRYSTALS::Trait_Base::polys_in_polyvec
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - std::span<const T>::size
    linkageType: ''
    returnType: size_t
    signature: size_t polys_in_polyvec(std::span<const T> polyvec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:88,1
    - Dst: std::span<U>::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:88,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:89,1
    - Dst: std::span<U>::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:89,1
    - Dst: std::span<U>::subspan
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:90,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:91,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - polyvec
    - index
    argTypes:
    - std::span<U>
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: Botan::CRYSTALS::Trait_Base::poly_in_polyvec
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - std::span<U>::size
    - BOTAN_DEBUG_ASSERT
    - auto::data
    - auto::size
    - std::span<U>::subspan
    linkageType: ''
    returnType: std::span<U, N>
    signature: std::span<U, N> poly_in_polyvec(std::span<U> polyvec, size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Mock_Trait::montgomery_reduce_coefficient
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:94,1
    - Dst: static_cast<T2>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan::CRYSTALS::Trait_Base::fqmul
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - static_cast<T2>
    - Botan_Tests::Mock_Trait::montgomery_reduce_coefficient
    linkageType: ''
    returnType: T
    signature: T fqmul(T a, T b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - result
    - lhs
    - rhs
    argTypes:
    - std::span<T, N>
    - std::span<const T, N>
    - std::span<const T, N>
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: Botan::CRYSTALS::Trait_Base::poly_add
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void poly_add(std::span<T, N> result, std::span<const T, N> lhs, std::span<const
      T, N> rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - result
    - lhs
    - rhs
    argTypes:
    - std::span<T, N>
    - std::span<const T, N>
    - std::span<const T, N>
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: Botan::CRYSTALS::Trait_Base::poly_sub
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void poly_sub(std::span<T, N> result, std::span<const T, N> lhs, std::span<const
      T, N> rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:113,1
    - Dst: static_cast<unsigned_T>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:113,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - coeffs
    argTypes:
    - std::span<T, N>
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: Botan::CRYSTALS::Trait_Base::poly_cadd_q
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::expand_top_bit
    - static_cast<unsigned_T>
    - auto::if_set_return
    linkageType: ''
    returnType: void
    signature: void poly_cadd_q(std::span<T, N> coeffs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Trait_Base::fqmul
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan::CRYSTALS::Trait_Base::to_montgomery
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::Trait_Base::fqmul
    linkageType: ''
    returnType: T
    signature: T to_montgomery(T a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Mock_Trait::barrett_reduce_coefficient
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - poly
    argTypes:
    - std::span<T, N>
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: Botan::CRYSTALS::Trait_Base::barrett_reduce
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::Mock_Trait::barrett_reduce_coefficient
    linkageType: ''
    returnType: void
    signature: void barrett_reduce(std::span<T, N> poly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_mem
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:130,1
    - Dst: Botan::CRYSTALS::Trait_Base::polys_in_polyvec
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:132,1
    - Dst: Botan_Tests::Mock_Trait::poly_pointwise_montgomery
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:133,1
    - Dst: Botan::CRYSTALS::Trait_Base::poly_in_polyvec
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:133,1
    - Dst: Botan::CRYSTALS::Trait_Base::poly_in_polyvec
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:133,1
    - Dst: Botan::CRYSTALS::Trait_Base::poly_add
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:134,1
    - Dst: Botan::CRYSTALS::Trait_Base::barrett_reduce
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - w
    - u
    - v
    argTypes:
    - std::span<T, N>
    - std::span<const T>
    - std::span<const T>
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: Botan::CRYSTALS::Trait_Base::polyvec_pointwise_acc_montgomery
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::Trait_Base::poly_in_polyvec
    - Botan::CRYSTALS::Trait_Base::barrett_reduce
    - clear_mem
    - Botan::CRYSTALS::Trait_Base::poly_add
    - Botan_Tests::Mock_Trait::poly_pointwise_montgomery
    - Botan::CRYSTALS::Trait_Base::polys_in_polyvec
    linkageType: ''
    returnType: void
    signature: "void polyvec_pointwise_acc_montgomery(std::span<T, N> w,\n                                                             std::span<const
      T> u,\n                                                             std::span<const
      T> v)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Polynomial::from_domain_cast
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:165,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - StructureT<Trait, From>
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: Botan::CRYSTALS::detail::domain_cast
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::CRYSTALS::Polynomial::from_domain_cast
    linkageType: ''
    returnType: StructureT<Trait, To>
    signature: StructureT<Trait, To> domain_cast(StructureT<Trait, From>&& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:178,1
    - Dst: static_cast<unsigned_T>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:184,1
    - Dst: static_cast<int64_t>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:184,1
    - Dst: map
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:190,1
    - Dst: map
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:191,1
    - Dst: Botan_Tests::test_other_key_not_set
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:193,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:195,1
    - Dst: map
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:195,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - range
    - min
    - max
    argTypes:
    - std::span<const T, N>
    - T
    - T
    constantsTouched: []
    func_position:
      end: 198
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 198
    functionName: Botan::CRYSTALS::detail::ct_all_within_range
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - auto::as_bool
    - BOTAN_DEBUG_ASSERT
    - Botan::CT::Mask::is_within_range
    - static_cast<unsigned_T>
    - map
    - Botan_Tests::test_other_key_not_set
    - static_cast<int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool ct_all_within_range(std::span<const T, N> range, T min, T max)\n
      \  requires(sizeof(T) <= 4)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:236,1
    - Dst: Botan::CRYSTALS::Polynomial::owns_storage
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:237,1
    - Dst: std::span<T, Trait::N>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Polynomial<Trait, OtherD>
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: Botan::CRYSTALS::Polynomial::Polynomial
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::Polynomial::owns_storage
    - std::move
    - std::span<T, Trait::N>
    linkageType: ''
    returnType: void
    signature: void Polynomial(Polynomial<Trait, OtherD>&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Polynomial::Polynomial
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:248,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Polynomial<Trait, OtherD>
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: Botan::CRYSTALS::Polynomial::from_domain_cast
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - std::move
    - Botan::CRYSTALS::Polynomial::Polynomial
    linkageType: ''
    returnType: Polynomial<Trait, D>
    signature: Polynomial<Trait, D> from_domain_cast(Polynomial<Trait, OtherD>&& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:252,1
    - Dst: Botan::CRYSTALS::Polynomial::owns_storage
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: Botan::CRYSTALS::Polynomial::Polynomial
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - Botan::CRYSTALS::Polynomial::owns_storage
    linkageType: ''
    returnType: void
    signature: void Polynomial()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:254,1
    - Dst: Botan::CRYSTALS::Polynomial::owns_storage
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coeffs
    argTypes:
    - std::span<T, Trait::N>
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: Botan::CRYSTALS::Polynomial::Polynomial
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - Botan::CRYSTALS::Polynomial::owns_storage
    linkageType: ''
    returnType: void
    signature: void Polynomial(std::span<T, Trait::N> coeffs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomial
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: Botan::CRYSTALS::Polynomial::Polynomial
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Polynomial(const ThisPolynomial& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomial
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: Botan::CRYSTALS::Polynomial::Polynomial
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Polynomial(ThisPolynomial&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomial
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: '& operator=(const ThisPolynomial& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThisPolynomial
    signature: ThisPolynomial & operator=(const ThisPolynomial& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:265,1
    - Dst: owns_storage
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:265,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:266,1
    - Dst: std::span<T, Trait::N>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomial
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: '& operator=(ThisPolynomial&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - std::span<T, Trait::N>
    - owns_storage
    - BOTAN_ASSERT_NOMSG
    - std::move
    linkageType: ''
    returnType: ThisPolynomial
    signature: ThisPolynomial & operator=(ThisPolynomial&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: ~Polynomial()
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Polynomial()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Polynomial::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: Botan::CRYSTALS::Polynomial::size
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - Botan::CRYSTALS::Polynomial::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: Botan::CRYSTALS::Polynomial::domain
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Domain
    signature: Domain domain() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:280,1
    - Dst: std::span<T, Trait::N>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:281,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:282,1
    - Dst: ThisPolynomial::owns_storage
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: Botan::CRYSTALS::Polynomial::clone
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - copy_mem
    - ThisPolynomial::owns_storage
    - BOTAN_DEBUG_ASSERT
    - std::span<T, Trait::N>
    linkageType: ''
    returnType: ThisPolynomial
    signature: ThisPolynomial clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::detail::ct_all_within_range
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:288,1
    - Dst: Botan::CRYSTALS::Polynomial::coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: Botan::CRYSTALS::Polynomial::ct_validate_value_range
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::Polynomial::coefficients
    - Botan::CRYSTALS::detail::ct_all_within_range
    linkageType: ''
    returnType: bool
    signature: bool ct_validate_value_range(T min, T max) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: Botan::CRYSTALS::Polynomial::hamming_weight
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hamming_weight() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: Botan::CRYSTALS::Polynomial::coefficients
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::span<T, Trait::N>
    signature: std::span<T, Trait::N> coefficients()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: Botan::CRYSTALS::Polynomial::coefficients
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::span<const T, Trait::N>
    signature: std::span<const T, Trait::N> coefficients() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: '& operator[](size_t i)'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator[](size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: operator[](size_t i) const
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T operator[](size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Polynomial::begin
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: Botan::CRYSTALS::Polynomial::begin
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - Botan::CRYSTALS::Polynomial::begin
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) begin()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Polynomial::begin
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: Botan::CRYSTALS::Polynomial::begin
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 2
    functionsReached:
    - Botan::CRYSTALS::Polynomial::begin
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) begin() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Polynomial::end
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    functionName: Botan::CRYSTALS::Polynomial::end
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - Botan::CRYSTALS::Polynomial::end
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) end()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Polynomial::end
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: Botan::CRYSTALS::Polynomial::end
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 2
    functionsReached:
    - Botan::CRYSTALS::Polynomial::end
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) end() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: Botan::CRYSTALS::Polynomial::owns_storage
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 3
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool owns_storage() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Trait_Base::barrett_reduce
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: '& reduce()'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::Trait_Base::barrett_reduce
    linkageType: ''
    returnType: ThisPolynomial
    signature: ThisPolynomial & reduce()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Trait_Base::poly_cadd_q
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: '& conditional_add_q()'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::Trait_Base::poly_cadd_q
    linkageType: ''
    returnType: ThisPolynomial
    signature: ThisPolynomial & conditional_add_q()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: Botan::CRYSTALS::Polynomial::_const_time_poison
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: Botan::CRYSTALS::Polynomial::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Trait_Base::poly_add
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomial
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: operator+=(const ThisPolynomial& other)
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::Trait_Base::poly_add
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator+=(const ThisPolynomial& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Trait_Base::poly_sub
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomial
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: operator-=(const ThisPolynomial& other)
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::Trait_Base::poly_sub
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator-=(const ThisPolynomial& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:376,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:377,1
    - Dst: Botan::CRYSTALS::PolynomialVector::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:377,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:380,1
    - Dst: Polynomial<Trait, D>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:381,1
    - Dst: subspan
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PolynomialVector<Trait, OtherD>
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: Botan::CRYSTALS::PolynomialVector::PolynomialVector
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - Polynomial<Trait, D>
    - emplace_back
    - std::move
    - subspan
    - Botan::CRYSTALS::PolynomialVector::size
    linkageType: ''
    returnType: void
    signature: void PolynomialVector(PolynomialVector<Trait, OtherD>&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialVector::PolynomialVector
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:394,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PolynomialVector<Trait, OtherD>
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: Botan::CRYSTALS::PolynomialVector::from_domain_cast
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::CRYSTALS::PolynomialVector::PolynomialVector
    linkageType: ''
    returnType: PolynomialVector<Trait, D>
    signature: PolynomialVector<Trait, D> from_domain_cast(PolynomialVector<Trait,
      OtherD>&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:400,1
    - Dst: Polynomial<Trait, D>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:401,1
    - Dst: subspan
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vecsize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: Botan::CRYSTALS::PolynomialVector::PolynomialVector
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - emplace_back
    - Polynomial<Trait, D>
    - subspan
    linkageType: ''
    returnType: void
    signature: void PolynomialVector(size_t vecsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomialVector
    constantsTouched: []
    func_position:
      end: 405
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 405
    functionName: Botan::CRYSTALS::PolynomialVector::PolynomialVector
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolynomialVector(const ThisPolynomialVector& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomialVector
    constantsTouched: []
    func_position:
      end: 406
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 406
    functionName: Botan::CRYSTALS::PolynomialVector::PolynomialVector
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolynomialVector(ThisPolynomialVector&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomialVector
    constantsTouched: []
    func_position:
      end: 407
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 407
    functionName: '& operator=(const ThisPolynomialVector& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThisPolynomialVector
    signature: ThisPolynomialVector & operator=(const ThisPolynomialVector& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomialVector
    constantsTouched: []
    func_position:
      end: 408
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 408
    functionName: '& operator=(ThisPolynomialVector&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThisPolynomialVector
    signature: ThisPolynomialVector & operator=(ThisPolynomialVector&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 409
    functionName: ~PolynomialVector()
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PolynomialVector()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialVector::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 411
    functionName: Botan::CRYSTALS::PolynomialVector::size
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 2
    functionsReached:
    - Botan::CRYSTALS::PolynomialVector::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: Botan::CRYSTALS::PolynomialVector::domain
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Domain
    signature: Domain domain() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 424
    functionName: Botan::CRYSTALS::PolynomialVector::clone
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - copy_mem
    linkageType: ''
    returnType: ThisPolynomialVector
    signature: ThisPolynomialVector clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 433
    functionName: Botan::CRYSTALS::PolynomialVector::hamming_weight
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hamming_weight() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::detail::ct_all_within_range
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:437,1
    - Dst: Botan::CRYSTALS::PolynomialVector::coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 438
      start: 436
    functionDepth: 3
    functionLinenumber: 436
    functionLinenumberEnd: 438
    functionName: Botan::CRYSTALS::PolynomialVector::ct_validate_value_range
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::PolynomialVector::coefficients
    - Botan::CRYSTALS::detail::ct_all_within_range
    linkageType: ''
    returnType: bool
    signature: bool ct_validate_value_range(T min, T max) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 440
    functionName: Botan::CRYSTALS::PolynomialVector::coefficients
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::span<T>
    signature: std::span<T> coefficients()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: Botan::CRYSTALS::PolynomialVector::coefficients
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::span<const T>
    signature: std::span<const T> coefficients() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:445,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:445,1
    - Dst: m_vec::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:445,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:446,1
    - Dst: Botan::CRYSTALS::Trait_Base::poly_add
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:447,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:447,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:447,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomialVector
    constantsTouched: []
    func_position:
      end: 450
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 450
    functionName: '& operator+=(const ThisPolynomialVector& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - coefficients
    - Botan::CRYSTALS::Trait_Base::poly_add
    - size
    - BOTAN_ASSERT
    - m_vec::size
    linkageType: ''
    returnType: ThisPolynomialVector
    signature: ThisPolynomialVector & operator+=(const ThisPolynomialVector& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:453,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:453,1
    - Dst: m_vec::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:453,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:454,1
    - Dst: Botan::CRYSTALS::Trait_Base::poly_sub
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:455,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:455,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:455,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomialVector
    constantsTouched: []
    func_position:
      end: 458
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 458
    functionName: '& operator-=(const ThisPolynomialVector& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - coefficients
    - size
    - Botan::CRYSTALS::Trait_Base::poly_sub
    - BOTAN_ASSERT
    - m_vec::size
    linkageType: ''
    returnType: ThisPolynomialVector
    signature: ThisPolynomialVector & operator-=(const ThisPolynomialVector& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Trait_Base::barrett_reduce
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:462,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 460
    functionDepth: 3
    functionLinenumber: 460
    functionLinenumberEnd: 465
    functionName: '& reduce()'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::Trait_Base::barrett_reduce
    - coefficients
    linkageType: ''
    returnType: ThisPolynomialVector
    signature: ThisPolynomialVector & reduce()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Trait_Base::poly_cadd_q
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:469,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 472
    functionName: '& conditional_add_q()'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - coefficients
    - Botan::CRYSTALS::Trait_Base::poly_cadd_q
    linkageType: ''
    returnType: ThisPolynomialVector
    signature: ThisPolynomialVector & conditional_add_q()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: '& operator[](size_t i)'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Polynomial<Trait, D>
    signature: Polynomial<Trait, D> & operator[](size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 476
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 476
    functionName: '& operator[](size_t i) const'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Polynomial<Trait, D>
    signature: Polynomial<Trait, D> & operator[](size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialVector::begin
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 478
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 478
    functionName: Botan::CRYSTALS::PolynomialVector::begin
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - Botan::CRYSTALS::PolynomialVector::begin
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) begin()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialVector::begin
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 480
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 480
    functionName: Botan::CRYSTALS::PolynomialVector::begin
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 2
    functionsReached:
    - Botan::CRYSTALS::PolynomialVector::begin
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) begin() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialVector::end
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 482
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 482
    functionName: Botan::CRYSTALS::PolynomialVector::end
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - Botan::CRYSTALS::PolynomialVector::end
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) end()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialVector::end
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 484
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 484
    functionName: Botan::CRYSTALS::PolynomialVector::end
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 2
    functionsReached:
    - Botan::CRYSTALS::PolynomialVector::end
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) end() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison_range
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 486
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 486
    functionName: Botan::CRYSTALS::PolynomialVector::_const_time_poison
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison_range
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison_range
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: Botan::CRYSTALS::PolynomialVector::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_range
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mat
    argTypes:
    - std::vector<PolynomialVector<Trait>>
    constantsTouched: []
    func_position:
      end: 500
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 500
    functionName: Botan::CRYSTALS::PolynomialMatrix::PolynomialMatrix
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PolynomialMatrix(std::vector<PolynomialVector<Trait>> mat)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomialMatrix
    constantsTouched: []
    func_position:
      end: 502
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 502
    functionName: Botan::CRYSTALS::PolynomialMatrix::PolynomialMatrix
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolynomialMatrix(const ThisPolynomialMatrix& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomialMatrix
    constantsTouched: []
    func_position:
      end: 503
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 503
    functionName: Botan::CRYSTALS::PolynomialMatrix::PolynomialMatrix
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolynomialMatrix(ThisPolynomialMatrix&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomialMatrix
    constantsTouched: []
    func_position:
      end: 504
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 504
    functionName: '& operator=(const ThisPolynomialMatrix& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThisPolynomialMatrix
    signature: ThisPolynomialMatrix & operator=(const ThisPolynomialMatrix& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ThisPolynomialMatrix
    constantsTouched: []
    func_position:
      end: 505
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 505
    functionName: '& operator=(ThisPolynomialMatrix&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThisPolynomialMatrix
    signature: ThisPolynomialMatrix & operator=(ThisPolynomialMatrix&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 506
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 506
    functionName: ~PolynomialMatrix()
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PolynomialMatrix()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialMatrix::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    functionName: Botan::CRYSTALS::PolynomialMatrix::size
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - Botan::CRYSTALS::PolynomialMatrix::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:511,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rows
    - cols
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: Botan::CRYSTALS::PolynomialMatrix::PolynomialMatrix
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - emplace_back
    - reserve
    linkageType: ''
    returnType: void
    signature: void PolynomialMatrix(size_t rows, size_t cols)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: '& operator[](size_t i)'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PolynomialVector<Trait, Domain::NTT>
    signature: PolynomialVector<Trait, Domain::NTT> & operator[](size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 519
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 519
    functionName: '& operator[](size_t i) const'
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PolynomialVector<Trait, Domain::NTT>
    signature: PolynomialVector<Trait, Domain::NTT> & operator[](size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialMatrix::begin
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 521
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 521
    functionName: Botan::CRYSTALS::PolynomialMatrix::begin
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - Botan::CRYSTALS::PolynomialMatrix::begin
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) begin()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialMatrix::begin
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 523
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 523
    functionName: Botan::CRYSTALS::PolynomialMatrix::begin
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 2
    functionsReached:
    - Botan::CRYSTALS::PolynomialMatrix::begin
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) begin() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialMatrix::end
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: Botan::CRYSTALS::PolynomialMatrix::end
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 1
    functionsReached:
    - Botan::CRYSTALS::PolynomialMatrix::end
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) end()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::PolynomialMatrix::end
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 527
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 527
    functionName: Botan::CRYSTALS::PolynomialMatrix::end
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 2
    functionsReached:
    - Botan::CRYSTALS::PolynomialMatrix::end
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) end() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison_range
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 529
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 529
    functionName: Botan::CRYSTALS::PolynomialMatrix::_const_time_poison
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison_range
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison_range
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 531
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 531
    functionName: Botan::CRYSTALS::PolynomialMatrix::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_range
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::Trait_Base::to_montgomery
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Polynomial<Trait, D>
    constantsTouched: []
    func_position:
      end: 541
      start: 537
    functionDepth: 4
    functionLinenumber: 537
    functionLinenumberEnd: 541
    functionName: Botan::CRYSTALS::detail::montgomery
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::Trait_Base::to_montgomery
    linkageType: ''
    returnType: void
    signature: void montgomery(Polynomial<Trait, D>& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:547,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:547,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:547,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:548,1
    - Dst: reduce
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' out'
    - ' a'
    - ' b'
    argTypes:
    - Polynomial<Trait, Domain::NTT>
    - PolynomialVector<Trait, Domain::NTT>
    - PolynomialVector<Trait, Domain::NTT>
    constantsTouched: []
    func_position:
      end: 552
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 552
    functionName: Botan::CRYSTALS::detail::dot_product
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - reduce
    - size
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: "void dot_product(Polynomial<Trait, Domain::NTT>& out,\n                 const
      PolynomialVector<Trait, Domain::NTT>& a,\n                 const PolynomialVector<Trait,
      Domain::NTT>& b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::domain_cast<Domain::NTT>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:558,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:558,1
    - Dst: Botan_Tests::Mock_Trait::ntt
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:559,1
    - Dst: auto::coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - Polynomial<Trait, Domain::Normal>
    constantsTouched: []
    func_position:
      end: 561
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 561
    functionName: Botan::CRYSTALS::ntt
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - auto::coefficients
    - detail::domain_cast<Domain::NTT>
    - Botan_Tests::Mock_Trait::ntt
    - std::move
    linkageType: ''
    returnType: Polynomial<Trait, Domain::NTT>
    signature: Polynomial<Trait, Domain::NTT> ntt(Polynomial<Trait, Domain::Normal>
      p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::domain_cast<Domain::Normal>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:565,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:565,1
    - Dst: Botan_Tests::Mock_Trait::inverse_ntt
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:566,1
    - Dst: auto::coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_ntt
    argTypes:
    - Polynomial<Trait, Domain::NTT>
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: Botan::CRYSTALS::inverse_ntt
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::Mock_Trait::inverse_ntt
    - detail::domain_cast<Domain::Normal>
    - auto::coefficients
    - std::move
    linkageType: ''
    returnType: Polynomial<Trait, Domain::Normal>
    signature: Polynomial<Trait, Domain::Normal> inverse_ntt(Polynomial<Trait, Domain::NTT>
      p_ntt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::domain_cast<Domain::NTT>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:572,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:572,1
    - Dst: Botan_Tests::Mock_Trait::ntt
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:574,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - polyvec
    argTypes:
    - PolynomialVector<Trait, Domain::Normal>
    constantsTouched: []
    func_position:
      end: 577
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 577
    functionName: Botan::CRYSTALS::ntt
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - coefficients
    - detail::domain_cast<Domain::NTT>
    - Botan_Tests::Mock_Trait::ntt
    - std::move
    linkageType: ''
    returnType: PolynomialVector<Trait, Domain::NTT>
    signature: PolynomialVector<Trait, Domain::NTT> ntt(PolynomialVector<Trait, Domain::Normal>
      polyvec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::domain_cast<Domain::Normal>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:581,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:581,1
    - Dst: Botan_Tests::Mock_Trait::inverse_ntt
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:583,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - polyvec_ntt
    argTypes:
    - PolynomialVector<Trait, Domain::NTT>
    constantsTouched: []
    func_position:
      end: 586
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 586
    functionName: Botan::CRYSTALS::inverse_ntt
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::Mock_Trait::inverse_ntt
    - coefficients
    - detail::domain_cast<Domain::Normal>
    - std::move
    linkageType: ''
    returnType: PolynomialVector<Trait, Domain::Normal>
    signature: PolynomialVector<Trait, Domain::Normal> inverse_ntt(PolynomialVector<Trait,
      Domain::NTT> polyvec_ntt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::detail::montgomery
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - Polynomial<Trait, D>
    constantsTouched: []
    func_position:
      end: 592
      start: 589
    functionDepth: 5
    functionLinenumber: 589
    functionLinenumberEnd: 592
    functionName: Botan::CRYSTALS::montgomery
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::detail::montgomery
    linkageType: ''
    returnType: Polynomial<Trait, D>
    signature: Polynomial<Trait, D> montgomery(Polynomial<Trait, D> p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::detail::montgomery
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - polyvec
    argTypes:
    - PolynomialVector<Trait, D>
    constantsTouched: []
    func_position:
      end: 600
      start: 595
    functionDepth: 5
    functionLinenumber: 595
    functionLinenumberEnd: 600
    functionName: Botan::CRYSTALS::montgomery
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::detail::montgomery
    linkageType: ''
    returnType: PolynomialVector<Trait, D>
    signature: PolynomialVector<Trait, D> montgomery(PolynomialVector<Trait, D> polyvec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:605,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:605,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:605,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:606,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:607,1
    - Dst: Botan::CRYSTALS::Trait_Base::poly_add
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:608,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:608,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:608,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - PolynomialVector<Trait, Domain::Normal>
    - PolynomialVector<Trait, Domain::Normal>
    constantsTouched: []
    func_position:
      end: 611
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 611
    functionName: "operator+(const PolynomialVector<Trait, Domain::Normal>& a,\n                                                  const
      PolynomialVector<Trait, Domain::Normal>& b)"
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - coefficients
    - size
    - Botan::CRYSTALS::Trait_Base::poly_add
    linkageType: ''
    returnType: PolynomialVector<Trait, Domain::Normal>
    signature: "PolynomialVector<Trait, Domain::Normal> operator+(const PolynomialVector<Trait,
      Domain::Normal>& a,\n                                                  const
      PolynomialVector<Trait, Domain::Normal>& b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:616,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:617,1
    - Dst: Botan::CRYSTALS::Trait_Base::polyvec_pointwise_acc_montgomery
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:618,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:618,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:618,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' mat'
    - ' vec'
    argTypes:
    - PolynomialMatrix<Trait>
    - PolynomialVector<Trait, Domain::NTT>
    constantsTouched: []
    func_position:
      end: 621
      start: 614
    functionDepth: 4
    functionLinenumber: 614
    functionLinenumberEnd: 621
    functionName: "operator*(const PolynomialMatrix<Trait>& mat,\n                                               const
      PolynomialVector<Trait, Domain::NTT>& vec)"
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - coefficients
    - Botan::CRYSTALS::Trait_Base::polyvec_pointwise_acc_montgomery
    - size
    linkageType: ''
    returnType: PolynomialVector<Trait, Domain::NTT>
    signature: "PolynomialVector<Trait, Domain::NTT> operator*(const PolynomialMatrix<Trait>&
      mat,\n                                               const PolynomialVector<Trait,
      Domain::NTT>& vec)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::detail::dot_product
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - PolynomialVector<Trait, Domain::NTT>
    - PolynomialVector<Trait, Domain::NTT>
    constantsTouched: []
    func_position:
      end: 629
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 629
    functionName: "operator*(const PolynomialVector<Trait, Domain::NTT>& a,\n                                         const
      PolynomialVector<Trait, Domain::NTT>& b)"
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - Botan::CRYSTALS::detail::dot_product
    linkageType: ''
    returnType: Polynomial<Trait, Domain::NTT>
    signature: "Polynomial<Trait, Domain::NTT> operator*(const PolynomialVector<Trait,
      Domain::NTT>& a,\n                                         const PolynomialVector<Trait,
      Domain::NTT>& b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:634,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:635,1
    - Dst: Botan_Tests::Mock_Trait::poly_pointwise_montgomery
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:636,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:636,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:636,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' pv'
    argTypes:
    - Polynomial<Trait, Domain::NTT>
    - PolynomialVector<Trait, Domain::NTT>
    constantsTouched: []
    func_position:
      end: 639
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 639
    functionName: "operator*(const Polynomial<Trait, Domain::NTT>& p,\n                                               const
      PolynomialVector<Trait, Domain::NTT>& pv)"
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - coefficients
    - Botan_Tests::Mock_Trait::poly_pointwise_montgomery
    - size
    linkageType: ''
    returnType: PolynomialVector<Trait, Domain::NTT>
    signature: "PolynomialVector<Trait, Domain::NTT> operator*(const Polynomial<Trait,
      Domain::NTT>& p,\n                                               const PolynomialVector<Trait,
      Domain::NTT>& pv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Mock_Trait::poly_pointwise_montgomery
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:645,1
    - Dst: Polynomial::coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:645,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:645,1
    - Dst: coefficients
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Polynomial<Trait, Domain::NTT>
    - Polynomial<Trait, Domain::NTT>
    constantsTouched: []
    func_position:
      end: 647
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 647
    functionName: "operator*(const Polynomial<Trait, Domain::NTT>& a,\n                                         const
      Polynomial<Trait, Domain::NTT>& b)"
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - coefficients
    - Polynomial::coefficients
    - Botan_Tests::Mock_Trait::poly_pointwise_montgomery
    linkageType: ''
    returnType: Polynomial<Trait, Domain::NTT>
    signature: "Polynomial<Trait, Domain::NTT> operator*(const Polynomial<Trait, Domain::NTT>&
      a,\n                                         const Polynomial<Trait, Domain::NTT>&
      b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:651,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:652,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' pv'
    - shift
    argTypes:
    - PolynomialVector<Trait, Domain::Normal>
    - size_t
    constantsTouched: []
    func_position:
      end: 659
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 659
    functionName: operator<<(const PolynomialVector<Trait, Domain::Normal>& pv, size_t
      shift)
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - size
    linkageType: ''
    returnType: PolynomialVector<Trait, Domain::Normal>
    signature: PolynomialVector<Trait, Domain::Normal> operator<<(const PolynomialVector<Trait,
      Domain::Normal>& pv, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_into
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' slicer'
    argTypes:
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::CRYSTALS::detail::as_byte_source
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h
    functionUses: 0
    functionsReached:
    - copy_into
    linkageType: ''
    returnType: auto
    signature: auto as_byte_source(BufferSlicer& slicer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' xof'
    argTypes:
    - Botan::XOF
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan::CRYSTALS::detail::as_byte_source
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h
    functionUses: 0
    functionsReached:
    - output
    linkageType: ''
    returnType: auto
    signature: auto as_byte_source(Botan::XOF& xof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:119,1
    - Dst: remaining_capacity
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:119,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:119,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:133,1
    - Dst: map
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:140,1
    - Dst: static_cast<typename trait::sink_t>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:141,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:145,1
    - Dst: store_le
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:165,1
    - Dst: append
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:166,1
    - Dst: template first<trait::bytes_per_pack>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ' p'
    - ' stuffer'
    - map
    argTypes:
    - Polynomial<PolyTrait, D>
    - BufferStuffer
    - MapFnT
    constantsTouched: []
    func_position:
      end: 168
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 168
    functionName: Botan::CRYSTALS::pack
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h
    functionUses: 0
    functionsReached:
    - append
    - BOTAN_DEBUG_ASSERT
    - template first<trait::bytes_per_pack>
    - size
    - static_cast<typename trait::sink_t>
    - store_le
    - map
    - remaining_capacity
    linkageType: ''
    returnType: void
    signature: void pack(const Polynomial<PolyTrait, D>& p, BufferStuffer& stuffer,
      MapFnT map)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::detail::as_byte_source
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:193,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:198,1
    - Dst: get_bytes
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:199,1
    - Dst: template first<trait::bytes_per_pack>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:199,1
    - Dst: load_le<typename trait::collector_array>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:200,1
    - Dst: unmap
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:215,1
    - Dst: static_cast<typename trait::unsigned_T>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ' p'
    - ' byte_source'
    - unmap
    argTypes:
    - Polynomial<PolyTrait, D>
    - ByteSourceT
    - UnmapFnT
    constantsTouched: []
    func_position:
      end: 218
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 218
    functionName: Botan::CRYSTALS::unpack
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h
    functionUses: 0
    functionsReached:
    - unmap
    - template first<trait::bytes_per_pack>
    - size
    - Botan::CRYSTALS::detail::as_byte_source
    - static_cast<typename trait::unsigned_T>
    - load_le<typename trait::collector_array>
    - get_bytes
    linkageType: ''
    returnType: void
    signature: void unpack(Polynomial<PolyTrait, D>& p, ByteSourceT& byte_source,
      UnmapFnT unmap)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::pack
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:224,1
    - Dst: static_cast<unsigned_T>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' stuffer'
    argTypes:
    - Polynomial<PolyTrait, D>
    - BufferStuffer
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: Botan::CRYSTALS::pack
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned_T>
    - Botan::CRYSTALS::pack
    linkageType: ''
    returnType: void
    signature: void pack(const Polynomial<PolyTrait, D>& p, BufferStuffer& stuffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CRYSTALS::unpack
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:231,1
    - Dst: requires std::is_integral_v<T>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p'
    - ' byte_source'
    argTypes:
    - Polynomial<PolyTrait, D>
    - ByteSourceT
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: Botan::CRYSTALS::unpack
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_encoding.h
    functionUses: 1
    functionsReached:
    - Botan::CRYSTALS::unpack
    - requires std::is_integral_v<T>
    linkageType: ''
    returnType: void
    signature: void unpack(Polynomial<PolyTrait, D>& p, ByteSourceT& byte_source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T2
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: Botan::montgomery_R
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached:
    - T2
    linkageType: ''
    returnType: T
    signature: T montgomery_R(T q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T2>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:54,1
    - Dst: Botan::montgomery_R
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:54,1
    - Dst: static_cast<T2>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:54,1
    - Dst: Botan::montgomery_R
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: Botan::montgomery_R2
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached:
    - Botan::montgomery_R
    - static_cast<T2>
    linkageType: ''
    returnType: T
    signature: T montgomery_R2(T q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:71,1
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:79,1
    - Dst: std::make_tuple
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:79,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:79,1
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:80,1
    - Dst: std::make_tuple
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:80,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:80,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: Botan::extended_euclidean_algorithm
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - std::make_tuple
    - std::tie
    - std::swap
    linkageType: ''
    returnType: eea_result<T>
    signature: eea_result<T> extended_euclidean_algorithm(T a, T b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T2
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:94,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:95,1
    - Dst: Botan::extended_euclidean_algorithm
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Botan::modular_inverse
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - Botan::extended_euclidean_algorithm
    - T2
    linkageType: ''
    returnType: T
    signature: T modular_inverse(T q, T2 m = T2(1) << sizeof(T) * 8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ceil_log2
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: Botan::bitlen
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached:
    - Botan::ceil_log2
    linkageType: ''
    returnType: auto
    signature: auto bitlen(size_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ceil_log2
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:114,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:131,1
    - Dst: csubq
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:132,1
    - Dst: pow
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:132,1
    - Dst: bitreverse
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - q
    - monty
    - root_of_unity
    argTypes:
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 136
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 136
    functionName: Botan::precompute_zetas
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached:
    - bitreverse
    - pow
    - csubq
    - std::array::size
    - Botan::ceil_log2
    linkageType: ''
    returnType: auto
    signature: auto precompute_zetas(T q, T monty, T root_of_unity)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::array<uint8_t, bytes>
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: Botan::detail::Bounded_XOF::default_transformer
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto default_transformer(std::array<uint8_t, bytes> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: Botan::detail::Bounded_XOF::default_predicate
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool default_predicate(T)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: Botan::detail::Bounded_XOF::Bounded_XOF
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Bounded_XOF()\n         requires std::default_initializable<XofT>"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - xof
    argTypes:
    - XofT
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: Botan::detail::Bounded_XOF::Bounded_XOF
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bounded_XOF(XofT xof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Bounded_XOF::next
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:178,1
    - Dst: std::forward<PredicateFnT>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: Botan::detail::Bounded_XOF::next_byte
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Bounded_XOF::next
    - std::forward<PredicateFnT>
    linkageType: ''
    returnType: auto
    signature: auto next_byte(PredicateFnT&& predicate = default_predicate<1, uint8_t>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: transformer
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:194,1
    - Dst: Botan::detail::Bounded_XOF::take
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:194,1
    - Dst: predicate
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 199
    functionName: Botan::detail::Bounded_XOF::next
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 1
    functionsReached:
    - transformer
    - predicate
    - Botan::detail::Bounded_XOF::take
    linkageType: ''
    returnType: auto
    signature: "auto next(MapFnT&& transformer = default_transformer<bytes>,\n                          PredicateFnT&&
      predicate = default_predicate<bytes, MappedValueT<bytes, MapFnT>>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:206,1
    - Dst: template output<bytes>
      Src: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: Botan::detail::Bounded_XOF::take
    functionSourceFile: /src/botan/src/lib/pubkey/pqcrystals/pqcrystals_helpers.h
    functionUses: 1
    functionsReached:
    - Internal_Error
    - template output<bytes>
    linkageType: ''
    returnType: std::array<uint8_t, bytes>
    signature: std::array<uint8_t, bytes> take()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/pubkey/pem/pem.h:39,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/pem/pem.h:39,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/pem/pem.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' data'
    - label
    argTypes:
    - std::vector<uint8_t, Alloc>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::PEM_Code::encode
    functionSourceFile: /src/botan/src/lib/pubkey/pem/pem.h
    functionUses: 11
    functionsReached:
    - Botan::PEM_Code::encode
    - data
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string encode(const std::vector<uint8_t, Alloc>& data, std::string_view
      label, size_t line_width = 64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:21,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:23,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:25,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:27,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:27,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:28,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - width
    - in
    argTypes:
    - size_t
    - std::string_view
    constantsTouched: []
    func_position:
      end: 32
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 32
    functionName: Botan::PEM_Code::linewrap
    functionSourceFile: /src/botan/src/lib/pubkey/pem/pem.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string_view::size
    - std::string::empty
    - std::string::push_back
    linkageType: ''
    returnType: std::string
    signature: std::string linewrap(size_t width, std::string_view in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:40,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:41,1
    - Dst: Botan::PEM_Code::linewrap
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:43,1
    - Dst: base64_encode
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - der
    - length
    - label
    - width
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: Botan::PEM_Code::encode
    functionSourceFile: /src/botan/src/lib/pubkey/pem/pem.cpp
    functionUses: 11
    functionsReached:
    - fmt
    - Botan::PEM_Code::linewrap
    - base64_encode
    linkageType: ''
    returnType: std::string
    signature: std::string encode(const uint8_t der[], size_t length, std::string_view
      label, size_t width)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::decode
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:51,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:53,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' source'
    - label_want
    argTypes:
    - DataSource
    - std::string_view
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: Botan::PEM_Code::decode_check_label
    functionSourceFile: /src/botan/src/lib/pubkey/pem/pem.cpp
    functionUses: 6
    functionsReached:
    - fmt
    - Botan::PEM_Code::decode
    - Decoding_Error
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> decode_check_label(DataSource& source, std::string_view
      label_want)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:65,1
    - Dst: std::string::length
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:71,1
    - Dst: read_byte
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:73,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:74,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:76,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:79,1
    - Dst: std::string::length
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:85,1
    - Dst: read_byte
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:87,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:88,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:90,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:93,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:97,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:103,1
    - Dst: std::string::length
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:105,1
    - Dst: read_byte
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:107,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:108,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:110,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:113,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:117,1
    - Dst: base64_decode
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:121,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:121,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:121,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 2
    argNames:
    - ' source'
    - ' label'
    argTypes:
    - DataSource
    - std::string
    constantsTouched: []
    func_position:
      end: 122
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 122
    functionName: Botan::PEM_Code::decode
    functionSourceFile: /src/botan/src/lib/pubkey/pem/pem.cpp
    functionUses: 4
    functionsReached:
    - std::vector::size
    - fmt
    - read_byte
    - clear
    - std::vector::push_back
    - Decoding_Error
    - std::string::length
    - base64_decode
    - static_cast<char>
    - std::vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> decode(DataSource& source, std::string& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::decode_check_label
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pem
    - label_want
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: Botan::PEM_Code::decode_check_label
    functionSourceFile: /src/botan/src/lib/pubkey/pem/pem.cpp
    functionUses: 7
    functionsReached:
    - Botan::PEM_Code::decode_check_label
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> decode_check_label(std::string_view pem, std::string_view
      label_want)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::decode
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pem
    - ' label'
    argTypes:
    - std::string_view
    - std::string
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: Botan::PEM_Code::decode
    functionSourceFile: /src/botan/src/lib/pubkey/pem/pem.cpp
    functionUses: 5
    functionsReached:
    - Botan::PEM_Code::decode
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> decode(std::string_view pem, std::string& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:138,1
    - Dst: std::string::length
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:143,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:150,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/pubkey/pem/pem.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ' source'
    - extra
    - search_range
    argTypes:
    - DataSource
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 162
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 162
    functionName: Botan::PEM_Code::matches
    functionSourceFile: /src/botan/src/lib/pubkey/pem/pem.cpp
    functionUses: 2
    functionsReached:
    - std::string::length
    - fmt
    - std::string::size
    - static_cast<char>
    linkageType: ''
    returnType: bool
    signature: bool matches(DataSource& source, std::string_view extra, size_t search_range)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' public_point'
    argTypes:
    - EC_Group
    - EC_Point
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::ECKCDSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECKCDSA_PublicKey(const EC_Group& group, const EC_Point& public_point)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: Botan::ECKCDSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECKCDSA_PublicKey(const AlgorithmIdentifier& alg_id, std::span<const
      uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::domain
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::_signature_element_size_for_DER_encoding
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.h
    functionUses: 0
    functionsReached:
    - Botan::domain
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> _signature_element_size_for_DER_encoding() const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rng'
    - group
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: ECKCDSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECKCDSA_PrivateKey(RandomNumberGenerator& rng, EC_Group group)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' rng'
    - ' group'
    - ' x'
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: ECKCDSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECKCDSA_PrivateKey(RandomNumberGenerator& rng, const EC_Group&
      group, const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECKCDSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:25,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:25,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::ECKCDSA_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _public_ec_point
    - std::make_unique<ECKCDSA_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> ECKCDSA_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PrivateKey::check_key
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:29,1
    - Dst: Botan::KeyPair::signature_consistency_check
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: Botan::ECKCDSA_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::KeyPair::signature_consistency_check
    - Botan::EC_PrivateKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool ECKCDSA_PrivateKey::check_key(RandomNumberGenerator& rng, bool
      strong) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:43,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:49,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:49,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:50,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:50,1
    - Dst: Algorithm_Not_Found
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - padding
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 59
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 59
    functionName: Botan::eckcdsa_signature_hash
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - SCAN_Name::algo_name
    - Algorithm_Not_Found
    - SCAN_Name::arg_count
    - Botan::HashFunction::create
    - SCAN_Name::arg
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> eckcdsa_signature_hash(std::string_view
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:62,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:62,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:64,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:65,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:65,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:65,1
    - Dst: parameters_are_empty
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:68,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:69,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ' alg_id'
    argTypes:
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: Botan::eckcdsa_signature_hash
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::Decoding_Error
    - Botan::HashFunction::create_or_throw
    - Botan::oid
    - Botan::split_on
    - parameters_are_empty
    - auto::size
    - Botan::fmt
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> eckcdsa_signature_hash(const AlgorithmIdentifier&
      alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xy_bytes
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:76,1
    - Dst: auto::resize
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' point'
    - hash_block_size
    argTypes:
    - EC_AffinePoint
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: Botan::eckcdsa_prefix
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - xy_bytes
    - auto::resize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> eckcdsa_prefix(const EC_AffinePoint& point, size_t
      hash_block_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:108,1
    - Dst: erase
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:110,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:110,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' digest'
    - group_order_bytes
    argTypes:
    - std::vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: Botan::truncate_hash_if_needed
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::size
    - Botan::begin
    - erase
    linkageType: ''
    returnType: void
    signature: void truncate_hash_if_needed(std::vector<uint8_t>& digest, size_t group_order_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:120,1
    - Dst: _private_key
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:121,1
    - Dst: eckcdsa_signature_hash
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:122,1
    - Dst: eckcdsa_prefix
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:123,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:123,1
    - Dst: hash_block_size
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' eckcdsa'
    - padding
    argTypes:
    - ECKCDSA_PrivateKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: Botan::ECKCDSA_Signature_Operation::ECKCDSA_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - _public_ec_point
    - domain
    - eckcdsa_signature_hash
    - _private_key
    - eckcdsa_prefix
    - hash_block_size
    linkageType: ''
    returnType: void
    signature: void ECKCDSA_Signature_Operation(const ECKCDSA_PrivateKey& eckcdsa,
      std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ECKCDSA_Signature_Operation::update
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:128,1
    - Dst: Botan::ECKCDSA_Signature_Operation::update
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: Botan::ECKCDSA_Signature_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::ECKCDSA_Signature_Operation::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:136,1
    - Dst: truncate_hash_if_needed
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:137,1
    - Dst: get_order_bytes
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:137,1
    - Dst: Botan::ECKCDSA_Signature_Operation::raw_sign
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: Botan::ECKCDSA_Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - truncate_hash_if_needed
    - Botan::ECKCDSA_Signature_Operation::raw_sign
    - get_order_bytes
    - final_stdvec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator& rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_order_bytes
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan::ECKCDSA_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - get_order_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: Botan::ECKCDSA_Signature_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:158,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:159,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: Botan::ECKCDSA_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - AlgorithmIdentifier
    - name
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier ECKCDSA_Signature_Operation::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:164,1
    - Dst: Botan::ECKCDSA_Signature_Operation::update
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:168,1
    - Dst: Botan::EC_AffinePoint::g_mul
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:168,1
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:169,1
    - Dst: truncate_hash_if_needed
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:170,1
    - Dst: get_order_bytes
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:170,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:174,1
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:175,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:178,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:179,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:182,1
    - Dst: auto::serialize
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 183
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 183
    functionName: Botan::ECKCDSA_Signature_Operation::raw_sign
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 1
    functionsReached:
    - get_order_bytes
    - final_stdvec
    - Botan::EC_Scalar::from_bytes_mod_order
    - concat
    - Botan::EC_AffinePoint::g_mul
    - Botan::ECKCDSA_Signature_Operation::update
    - auto::serialize
    - xor_buf
    - truncate_hash_if_needed
    - auto::is_zero
    - Botan::EC_Scalar::random
    - Internal_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ECKCDSA_Signature_Operation::raw_sign(std::span<const
      uint8_t> msg, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:191,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:192,1
    - Dst: eckcdsa_signature_hash
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:193,1
    - Dst: eckcdsa_prefix
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:194,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:194,1
    - Dst: hash_block_size
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' eckcdsa'
    - padding
    argTypes:
    - ECKCDSA_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: Botan::ECKCDSA_Verification_Operation::ECKCDSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - _public_ec_point
    - domain
    - eckcdsa_signature_hash
    - eckcdsa_prefix
    - hash_block_size
    linkageType: ''
    returnType: void
    signature: void ECKCDSA_Verification_Operation(const ECKCDSA_PublicKey& eckcdsa,
      std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:198,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:199,1
    - Dst: eckcdsa_signature_hash
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:200,1
    - Dst: eckcdsa_prefix
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:201,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:201,1
    - Dst: hash_block_size
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' eckcdsa'
    - ' alg_id'
    argTypes:
    - ECKCDSA_PublicKey
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: Botan::ECKCDSA_Verification_Operation::ECKCDSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - _public_ec_point
    - domain
    - eckcdsa_signature_hash
    - eckcdsa_prefix
    - hash_block_size
    linkageType: ''
    returnType: void
    signature: void ECKCDSA_Verification_Operation(const ECKCDSA_PublicKey& eckcdsa,
      const AlgorithmIdentifier& alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: Botan::ECKCDSA_Verification_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ECKCDSA_Verification_Operation::update
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:223,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:223,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:223,1
    - Dst: Botan::ECKCDSA_Verification_Operation::update
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: Botan::ECKCDSA_Verification_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::ECKCDSA_Verification_Operation::update
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void ECKCDSA_Verification_Operation::update(std::span<const uint8_t>
      msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:230,1
    - Dst: truncate_hash_if_needed
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:231,1
    - Dst: get_order_bytes
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:231,1
    - Dst: Botan::ECKCDSA_Verification_Operation::verify
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: Botan::ECKCDSA_Verification_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - truncate_hash_if_needed
    - Botan::ECKCDSA_Verification_Operation::verify
    - get_order_bytes
    - final_stdvec
    linkageType: ''
    returnType: bool
    signature: bool ECKCDSA_Verification_Operation::is_valid_signature(std::span<const
      uint8_t> sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:239,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:243,1
    - Dst: Botan::EC_Scalar::deserialize
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:245,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:245,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:246,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:247,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:247,1
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:249,1
    - Dst: mul2_vartime
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:251,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:251,1
    - Dst: process
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:252,1
    - Dst: auto::x_bytes
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:252,1
    - Dst: truncate_hash_if_needed
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:253,1
    - Dst: get_order_bytes
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:253,1
    - Dst: constant_time_compare
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - msg
    - sig
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 259
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 259
    functionName: Botan::ECKCDSA_Verification_Operation::verify
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 1
    functionsReached:
    - xor_buf
    - truncate_hash_if_needed
    - auto::size
    - get_order_bytes
    - auto::value
    - Botan::EC_Scalar::deserialize
    - Botan::EC_Scalar::from_bytes_mod_order
    - process
    - constant_time_compare
    - std::span<const uint8_t>::last
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::first
    - auto::x_bytes
    - mul2_vartime
    linkageType: ''
    returnType: bool
    signature: bool ECKCDSA_Verification_Operation::verify(std::span<const uint8_t>
      msg, std::span<const uint8_t> sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECKCDSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:264,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: Botan::ECKCDSA_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - std::make_unique<ECKCDSA_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> ECKCDSA_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:269,1
    - Dst: std::make_unique<ECKCDSA_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:270,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:272,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: Botan::ECKCDSA_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ECKCDSA_Verification_Operation>
    - algo_name
    - std::string_view::empty
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> ECKCDSA_PublicKey::create_verification_op(std::string_view
      params,\n                                                                                std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:277,1
    - Dst: std::make_unique<ECKCDSA_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:278,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:281,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' signature_algorithm'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 282
    functionName: Botan::ECKCDSA_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ECKCDSA_Verification_Operation>
    - algo_name
    - std::string_view::empty
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> ECKCDSA_PublicKey::create_x509_verification_op(\n
      \  const AlgorithmIdentifier& signature_algorithm, std::string_view provider)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:287,1
    - Dst: std::make_unique<ECKCDSA_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:288,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:290,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: Botan::ECKCDSA_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/eckcdsa/eckcdsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - std::make_unique<ECKCDSA_Signature_Operation>
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> ECKCDSA_PrivateKey::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                           std::string_view
      params,\n                                                                           std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PublicKey>
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' group'
    - ' y'
    argTypes:
    - DL_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: Botan::ElGamal_PublicKey::ElGamal_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<DL_PublicKey>
    linkageType: ''
    returnType: void
    signature: void ElGamal_PublicKey::ElGamal_PublicKey(const DL_Group& group, const
      BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PublicKey>
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan::ElGamal_PublicKey::ElGamal_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<DL_PublicKey>
    linkageType: ''
    returnType: void
    signature: void ElGamal_PublicKey::ElGamal_PublicKey(const AlgorithmIdentifier&
      alg_id, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ElGamal_PublicKey::estimated_strength
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Botan::ElGamal_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 1
    functionsReached:
    - Botan::ElGamal_PublicKey::estimated_strength
    linkageType: ''
    returnType: size_t
    signature: size_t ElGamal_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p_bits
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::ElGamal_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - p_bits
    linkageType: ''
    returnType: size_t
    signature: size_t ElGamal_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:35,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:35,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Botan::ElGamal_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - group
    - AlgorithmIdentifier
    - object_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier ElGamal_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key_as_bytes
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::ElGamal_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - public_key_as_bytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ElGamal_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_encode
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::ElGamal_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - DER_encode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ElGamal_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_int_field
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:47,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: '& ElGamal_PublicKey::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - get_int_field
    linkageType: ''
    returnType: BigInt
    signature: BigInt & ElGamal_PublicKey::get_int_field(std::string_view field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ElGamal_PrivateKey>
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:51,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::ElGamal_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - group
    - std::make_unique<ElGamal_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> ElGamal_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ElGamal_PublicKey::check_key
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Botan::ElGamal_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 1
    functionsReached:
    - Botan::ElGamal_PublicKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool ElGamal_PublicKey::check_key(RandomNumberGenerator& rng, bool
      strong) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PrivateKey>
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:59,1
    - Dst: Botan::ElGamal_PrivateKey::public_key
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' rng'
    - ' group'
    argTypes:
    - RandomNumberGenerator
    - DL_Group
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: Botan::ElGamal_PrivateKey::ElGamal_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<DL_PrivateKey>
    - Botan::ElGamal_PrivateKey::public_key
    linkageType: ''
    returnType: void
    signature: void ElGamal_PrivateKey::ElGamal_PrivateKey(RandomNumberGenerator&
      rng, const DL_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PrivateKey>
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:64,1
    - Dst: Botan::ElGamal_PrivateKey::public_key
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' group'
    - ' x'
    argTypes:
    - DL_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: Botan::ElGamal_PrivateKey::ElGamal_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<DL_PrivateKey>
    - Botan::ElGamal_PrivateKey::public_key
    linkageType: ''
    returnType: void
    signature: void ElGamal_PrivateKey::ElGamal_PrivateKey(const DL_Group& group,
      const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PrivateKey>
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:69,1
    - Dst: Botan::ElGamal_PrivateKey::public_key
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: Botan::ElGamal_PrivateKey::ElGamal_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<DL_PrivateKey>
    - Botan::ElGamal_PrivateKey::public_key
    linkageType: ''
    returnType: void
    signature: void ElGamal_PrivateKey::ElGamal_PrivateKey(const AlgorithmIdentifier&
      alg_id, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Public_Key>
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:74,1
    - Dst: ElGamal_PublicKey::ElGamal_PublicKey
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: Botan::ElGamal_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 3
    functionsReached:
    - ElGamal_PublicKey::ElGamal_PublicKey
    - std::unique_ptr<Public_Key>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> ElGamal_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_int_field
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:78,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: '& ElGamal_PrivateKey::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - get_int_field
    linkageType: ''
    returnType: BigInt
    signature: BigInt & ElGamal_PrivateKey::get_int_field(std::string_view field)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_encode
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: Botan::ElGamal_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - DER_encode
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> ElGamal_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ElGamal_PrivateKey::raw_private_key_bits
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: Botan::ElGamal_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 1
    functionsReached:
    - Botan::ElGamal_PrivateKey::raw_private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> ElGamal_PrivateKey::raw_private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ElGamal_PrivateKey::check_key
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:90,1
    - Dst: Botan::KeyPair::encryption_consistency_check
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: Botan::ElGamal_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 1
    functionsReached:
    - Botan::ElGamal_PrivateKey::check_key
    - Botan::KeyPair::encryption_consistency_check
    linkageType: ''
    returnType: bool
    signature: bool ElGamal_PrivateKey::check_key(RandomNumberGenerator& rng, bool
      strong) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty_precompute
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:113,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:113,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - eme
    argTypes:
    - std::shared_ptr<const DL_PublicKey>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: Botan::ElGamal_Encryption_Operation::ElGamal_Encryption_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - group
    - public_key
    - monty_precompute
    linkageType: ''
    returnType: void
    signature: void ElGamal_Encryption_Operation(const std::shared_ptr<const DL_PublicKey>&
      key, std::string_view eme)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan::ElGamal_Encryption_Operation::ciphertext_length
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - group
    linkageType: ''
    returnType: size_t
    signature: size_t ciphertext_length(size_t /*ptext_len*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan::ElGamal_Encryption_Operation::max_ptext_input_bits
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - group
    linkageType: ''
    returnType: size_t
    signature: size_t max_ptext_input_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:131,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:133,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:134,1
    - Dst: power_g_p
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:148,1
    - Dst: multiply_mod_p
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:149,1
    - Dst: monty_execute
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:149,1
    - Dst: unlock
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:151,1
    - Dst: Botan::BigInt::encode_fixed_length_int_pair
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:151,1
    - Dst: p_bytes
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ptext
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 152
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 152
    functionName: Botan::ElGamal_Encryption_Operation::raw_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - power_g_p
    - Botan::BigInt::encode_fixed_length_int_pair
    - get_p
    - group
    - monty_execute
    - multiply_mod_p
    - p_bytes
    - Invalid_Argument
    - unlock
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> ElGamal_Encryption_Operation::raw_encrypt(std::span<const
      uint8_t> ptext,\n                                                               RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:165,1
    - Dst: Botan::ElGamal_Decryption_Operation::powermod_x_p
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' key'
    - eme
    - ' rng'
    argTypes:
    - std::shared_ptr<const DL_PrivateKey>
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: Botan::ElGamal_Decryption_Operation::ElGamal_Decryption_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - group
    - Botan::ElGamal_Decryption_Operation::powermod_x_p
    linkageType: ''
    returnType: void
    signature: "void ElGamal_Decryption_Operation(const std::shared_ptr<const DL_PrivateKey>&
      key,\n                                   std::string_view eme,\n                                   RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: Botan::ElGamal_Decryption_Operation::plaintext_length
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - group
    linkageType: ''
    returnType: size_t
    signature: size_t plaintext_length(size_t /*ctext_len*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:175,1
    - Dst: private_key
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Botan::ElGamal_Decryption_Operation::powermod_x_p
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 1
    functionsReached:
    - group
    - private_key
    linkageType: ''
    returnType: BigInt
    signature: BigInt powermod_x_p(const BigInt& v) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:182,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:186,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:187,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:190,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:191,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:193,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:193,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:194,1
    - Dst: blind
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:197,1
    - Dst: multiply_mod_p
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:199,1
    - Dst: inverse_mod_p
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:199,1
    - Dst: Botan::ElGamal_Decryption_Operation::powermod_x_p
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:199,1
    - Dst: unblind
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ctext
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 202
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 202
    functionName: Botan::ElGamal_Decryption_Operation::raw_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - Botan::ElGamal_Decryption_Operation::powermod_x_p
    - unblind
    - inverse_mod_p
    - get_p
    - blind
    - group
    - std::span<const uint8_t>::last
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::first
    - Invalid_Argument
    - multiply_mod_p
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> ElGamal_Decryption_Operation::raw_decrypt(std::span<const
      uint8_t> ctext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:209,1
    - Dst: std::make_unique<ElGamal_Encryption_Operation>
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:210,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:212,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: Botan::ElGamal_PublicKey::create_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - std::make_unique<ElGamal_Encryption_Operation>
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Encryption>
    signature: "std::unique_ptr<PK_Ops::Encryption> ElGamal_PublicKey::create_encryption_op(RandomNumberGenerator&
      /*rng*/,\n                                                                            std::string_view
      params,\n                                                                            std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:218,1
    - Dst: std::make_unique<ElGamal_Decryption_Operation>
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:219,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:221,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: Botan::ElGamal_PrivateKey::create_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - std::make_unique<ElGamal_Decryption_Operation>
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Decryption>
    signature: "std::unique_ptr<PK_Ops::Decryption> ElGamal_PrivateKey::create_decryption_op(RandomNumberGenerator&
      rng,\n                                                                             std::string_view
      params,\n                                                                             std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::ElGamal_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ElGamal_PublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/elgamal/elgamal.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::shared_ptr<const DL_PublicKey>
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan::ElGamal_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/elgamal/elgamal.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ElGamal_PublicKey(std::shared_ptr<const DL_PublicKey> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::KEM_Encryption_with_Combiner::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& encryptors()'
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<PK_KEM_Encryptor>
    signature: std::vector<PK_KEM_Encryptor> & encryptors()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& encryptors() const'
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<PK_KEM_Encryptor>
    signature: std::vector<PK_KEM_Encryptor> & encryptors() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Botan::KEM_Decryption_with_Combiner::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& decryptors()'
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<PK_KEM_Decryptor>
    signature: std::vector<PK_KEM_Decryptor> & decryptors()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: '& decryptors() const'
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<PK_KEM_Decryptor>
    signature: std::vector<PK_KEM_Decryptor> & decryptors() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:20,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:21,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:21,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:23,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:24,1
    - Dst: Botan::Hybrid_PublicKey::supports_operation
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:24,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:25,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:25,1
    - Dst: std::max
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:26,1
    - Dst: key_length
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:26,1
    - Dst: std::max
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:27,1
    - Dst: estimated_strength
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pks
    argTypes:
    - std::vector<std::unique_ptr<Public_Key>>
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: Botan::Hybrid_PublicKey::Hybrid_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - key_length
    - fmt
    - std::max
    - Botan::Hybrid_PublicKey::supports_operation
    - size
    - std::move
    - estimated_strength
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void Hybrid_PublicKey::Hybrid_PublicKey(std::vector<std::unique_ptr<Public_Key>>
      pks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reduce
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:32,1
    - Dst: public_keys
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:32,1
    - Dst: Botan::Hybrid_PublicKey::check_key
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Botan::Hybrid_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp
    functionUses: 1
    functionsReached:
    - Botan::Hybrid_PublicKey::check_key
    - public_keys
    - reduce
    linkageType: ''
    returnType: bool
    signature: bool Hybrid_PublicKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reduce
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:36,1
    - Dst: public_keys
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:36,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:36,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:37,1
    - Dst: Botan::Hybrid_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: Botan::Hybrid_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp
    functionUses: 1
    functionsReached:
    - Botan::Hybrid_PublicKey::raw_public_key_bits
    - public_keys
    - concat
    - std::vector<uint8_t>
    - reduce
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Hybrid_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::Hybrid_PublicKey::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Hybrid_PublicKey::supports_operation(PublicKeyOperation op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:48,1
    - Dst: public_keys
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:48,1
    - Dst: public_keys
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:49,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:50,1
    - Dst: generate_another
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: Botan::Hybrid_PublicKey::generate_other_sks_from_pks
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp
    functionUses: 0
    functionsReached:
    - generate_another
    - std::vector::push_back
    - std::vector::reserve
    - public_keys
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Private_Key>>
    signature: "std::vector<std::unique_ptr<Private_Key>> Hybrid_PublicKey::generate_other_sks_from_pks(\n
      \  RandomNumberGenerator& rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:56,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:57,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:57,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:59,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:60,1
    - Dst: supports_operation
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - private_keys
    argTypes:
    - std::vector<std::unique_ptr<Private_Key>>
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: Botan::Hybrid_PrivateKey::Hybrid_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp
    functionUses: 0
    functionsReached:
    - supports_operation
    - std::move
    - size
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void Hybrid_PrivateKey::Hybrid_PrivateKey(std::vector<std::unique_ptr<Private_Key>>
      private_keys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan::Hybrid_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Hybrid_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reduce
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:70,1
    - Dst: private_keys
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:70,1
    - Dst: Botan::Hybrid_PrivateKey::check_key
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan::Hybrid_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp
    functionUses: 2
    functionsReached:
    - private_keys
    - Botan::Hybrid_PrivateKey::check_key
    - reduce
    linkageType: ''
    returnType: bool
    signature: bool Hybrid_PrivateKey::check_key(RandomNumberGenerator& rng, bool
      strong) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:76,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:76,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:78,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:79,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' private_keys'
    argTypes:
    - std::vector<std::unique_ptr<Private_Key>>
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: Botan::Hybrid_PrivateKey::extract_public_keys
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::vector::push_back
    - std::vector::reserve
    - public_key
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Public_Key>>
    signature: "std::vector<std::unique_ptr<Public_Key>> Hybrid_PrivateKey::extract_public_keys(\n
      \  const std::vector<std::unique_ptr<Private_Key>>& private_keys)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:18,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:18,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:20,1
    - Dst: Botan::KEM_Encryption_with_Combiner::encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' public_keys'
    - provider
    argTypes:
    - std::vector<std::unique_ptr<Public_Key>>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: Botan::KEM_Encryption_with_Combiner::KEM_Encryption_with_Combiner
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - Botan::KEM_Encryption_with_Combiner::encapsulated_key_length
    - reserve
    - size
    linkageType: ''
    returnType: void
    signature: "void KEM_Encryption_with_Combiner::KEM_Encryption_with_Combiner(const
      std::vector<std::unique_ptr<Public_Key>>& public_keys,\n                                                           std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:30,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:30,1
    - Dst: Botan::KEM_Encryption_with_Combiner::encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:30,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:32,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:32,1
    - Dst: shared_key_length
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:32,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:36,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:36,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:39,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:39,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:43,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:43,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:44,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:44,1
    - Dst: Botan::KEM_Encryption_with_Combiner::combine_ciphertexts
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:46,1
    - Dst: combine_shared_secrets
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - out_encapsulated_key
    - out_shared_key
    - ' rng'
    - desired_shared_key_len
    - salt
    argTypes:
    - std::span<uint8_t>
    - std::span<uint8_t>
    - RandomNumberGenerator
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 48
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 48
    functionName: Botan::KEM_Encryption_with_Combiner::kem_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::KEM_Encryption_with_Combiner::encapsulated_key_length
    - combine_shared_secrets
    - std::span<uint8_t>::size
    - shared_key_length
    - size
    - Botan::KEM_Encryption_with_Combiner::combine_ciphertexts
    - std::vector::push_back
    - std::vector::reserve
    - std::move
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void KEM_Encryption_with_Combiner::kem_encrypt(std::span<uint8_t>
      out_encapsulated_key,\n                                               std::span<uint8_t>
      out_shared_key,\n                                               RandomNumberGenerator&
      rng,\n                                               size_t desired_shared_key_len,\n
      \                                              std::span<const uint8_t> salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:53,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:53,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:54,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:54,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:54,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:55,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:55,1
    - Dst: Botan::KEM_Encryption_with_Combiner::encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:55,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:57,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:58,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:58,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:58,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:60,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:60,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:62,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - out_ciphertext
    - ' ciphertexts'
    - salt
    argTypes:
    - std::span<uint8_t>
    - std::vector<std::vector<uint8_t>>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: Botan::KEM_Encryption_with_Combiner::combine_ciphertexts
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEM_Encryption_with_Combiner::encapsulated_key_length
    - BufferStuffer::append
    - BOTAN_ASSERT_NOMSG
    - std::span<const uint8_t>::empty
    - std::span<uint8_t>::size
    - at
    - size
    - BOTAN_ARG_CHECK
    - BufferStuffer::full
    linkageType: ''
    returnType: void
    signature: "void KEM_Encryption_with_Combiner::combine_ciphertexts(std::span<uint8_t>
      out_ciphertext,\n                                                       const
      std::vector<std::vector<uint8_t>>& ciphertexts,\n                                                       std::span<const
      uint8_t> salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:70,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:70,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:72,1
    - Dst: Botan::KEM_Decryption_with_Combiner::encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' private_keys'
    - ' rng'
    - provider
    argTypes:
    - std::vector<std::unique_ptr<Private_Key>>
    - RandomNumberGenerator
    - std::string_view
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: Botan::KEM_Decryption_with_Combiner::KEM_Decryption_with_Combiner
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - Botan::KEM_Decryption_with_Combiner::encapsulated_key_length
    - reserve
    - size
    linkageType: ''
    returnType: void
    signature: "void KEM_Decryption_with_Combiner::KEM_Decryption_with_Combiner(\n
      \  const std::vector<std::unique_ptr<Private_Key>>& private_keys,\n   RandomNumberGenerator&
      rng,\n   std::string_view provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:81,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:81,1
    - Dst: Botan::KEM_Decryption_with_Combiner::encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:81,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:82,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:82,1
    - Dst: shared_key_length
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:82,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:85,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:85,1
    - Dst: Botan::KEM_Decryption_with_Combiner::split_ciphertexts
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:86,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:87,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:87,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:87,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:89,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:90,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:90,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:90,1
    - Dst: combine_shared_secrets
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - out_shared_key
    - encapsulated_key
    - desired_shared_key_len
    - salt
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: Botan::KEM_Decryption_with_Combiner::kem_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - combine_shared_secrets
    - std::span<uint8_t>::size
    - Botan::KEM_Decryption_with_Combiner::split_ciphertexts
    - at
    - shared_key_length
    - size
    - std::vector::push_back
    - std::vector::reserve
    - auto::at
    - std::span<const uint8_t>::size
    - BOTAN_ASSERT
    - Botan::KEM_Decryption_with_Combiner::encapsulated_key_length
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void KEM_Decryption_with_Combiner::kem_decrypt(std::span<uint8_t>
      out_shared_key,\n                                               std::span<const
      uint8_t> encapsulated_key,\n                                               size_t
      desired_shared_key_len,\n                                               std::span<const
      uint8_t> salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:98,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:98,1
    - Dst: Botan::KEM_Decryption_with_Combiner::encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:98,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:100,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:100,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:103,1
    - Dst: BufferSlicer::copy_as_vector
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:103,1
    - Dst: Botan::KEM_Decryption_with_Combiner::encapsulated_key_length
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:103,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:105,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - concat_ciphertext
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: Botan::KEM_Decryption_with_Combiner::split_ciphertexts
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem_ops.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - BufferSlicer::copy_as_vector
    - size
    - std::vector::push_back
    - std::vector::reserve
    - BufferSlicer::empty
    - std::span<const uint8_t>::size
    - Botan::KEM_Decryption_with_Combiner::encapsulated_key_length
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: "std::vector<std::vector<uint8_t>> KEM_Decryption_with_Combiner::split_ciphertexts(\n
      \  std::span<const uint8_t> concat_ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.h:61,1
    - Dst: Botan::Hybrid_PublicKey
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.h:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 84
    functionName: Botan::Hybrid_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.h
    functionUses: 1
    functionsReached:
    - raw_public_key_bits
    - Botan::Hybrid_PublicKey
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Hybrid_PublicKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Hybrid_PrivateKey
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.h:99,1
    - Dst: Hybrid_PrivateKey
      Src: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.h:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 129
    functionName: Botan::BOTAN_DIAGNOSTIC_IGNORE_INHERITED_VIA_DOMINANCE
    functionSourceFile: /src/botan/src/lib/pubkey/hybrid_kem/hybrid_kem.h
    functionUses: 0
    functionsReached:
    - Hybrid_PrivateKey
    linkageType: ''
    returnType: BOTAN_DIAGNOSTIC_PUSH
    signature: BOTAN_DIAGNOSTIC_PUSH BOTAN_DIAGNOSTIC_IGNORE_INHERITED_VIA_DOMINANCE
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_hash::new_object
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:20,1
    - Dst: m_msg_hash::new_object
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: Botan::XMSS_Hash::XMSS_Hash
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp
    functionUses: 0
    functionsReached:
    - m_msg_hash::new_object
    - m_hash::new_object
    linkageType: ''
    returnType: void
    signature: void XMSS_Hash::XMSS_Hash(const XMSS_Hash& hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:25,1
    - Dst: hash_function_name
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:25,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:26,1
    - Dst: hash_function_name
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:26,1
    - Dst: hash_id_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:27,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:29,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:29,1
    - Dst: hash_function_name
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:29,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:32,1
    - Dst: Botan::XMSS_Hash::output_length
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - XMSS_Parameters
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: Botan::XMSS_Hash::XMSS_Hash
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Hash::output_length
    - Lookup_Error
    - fmt
    - Botan::HashFunction::create
    - hash_function_name
    - BOTAN_ASSERT
    - hash_id_size
    linkageType: ''
    returnType: void
    signature: void XMSS_Hash::XMSS_Hash(const XMSS_Parameters& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:38,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:39,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:40,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:41,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:41,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:41,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:42,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:42,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:42,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:43,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:43,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - randomness
    - root
    - index_bytes
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: Botan::XMSS_Hash::h_msg_init
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp
    functionUses: 0
    functionsReached:
    - clear
    - update
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: "void XMSS_Hash::h_msg_init(std::span<const uint8_t> randomness,\n
      \                          std::span<const uint8_t> root,\n                           std::span<const
      uint8_t> index_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:47,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:47,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::XMSS_Hash::h_msg_update
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp
    functionUses: 0
    functionsReached:
    - update
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void XMSS_Hash::h_msg_update(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::XMSS_Hash::h_msg_final
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.cpp
    functionUses: 0
    functionsReached:
    - final
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> XMSS_Hash::h_msg_final()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::Atomic::Atomic
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/atomic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Atomic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_data::load
      Src: /src/botan/src/lib/pubkey/xmss/atomic.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Atomic
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::Atomic::Atomic
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/atomic.h
    functionUses: 0
    functionsReached:
    - m_data::load
    linkageType: ''
    returnType: void
    signature: void Atomic(const Atomic& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/botan/src/lib/pubkey/xmss/atomic.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::atomic<T>
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::Atomic::Atomic
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/atomic.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: void
    signature: void Atomic(const std::atomic<T>& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~Atomic()
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/atomic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Atomic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/botan/src/lib/pubkey/xmss/atomic.h:36,1
    - Dst: m_data::load
      Src: /src/botan/src/lib/pubkey/xmss/atomic.h:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Atomic
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: '& operator=(const Atomic& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/atomic.h
    functionUses: 0
    functionsReached:
    - m_data::load
    - store
    linkageType: ''
    returnType: Atomic
    signature: Atomic & operator=(const Atomic& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/botan/src/lib/pubkey/xmss/atomic.h:42,1
    - Dst: load
      Src: /src/botan/src/lib/pubkey/xmss/atomic.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - std::atomic<T>
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '& operator=(const std::atomic<T>& a)'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/atomic.h
    functionUses: 0
    functionsReached:
    - load
    - store
    linkageType: ''
    returnType: Atomic
    signature: Atomic & operator=(const std::atomic<T>& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: operator std::atomic<T>&()
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/atomic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator std::atomic<T>&()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/botan/src/lib/pubkey/xmss/atomic.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: operator T()
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/atomic.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: void
    signature: void operator T()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::XMSS_Index_Registry::XMSS_Index_Registry
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMSS_Index_Registry(const XMSS_Index_Registry&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(const XMSS_Index_Registry&)'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_Index_Registry
    signature: XMSS_Index_Registry & operator=(const XMSS_Index_Registry&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '& get_instance()'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_Index_Registry
    signature: XMSS_Index_Registry & get_instance()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::XMSS_Index_Registry::XMSS_Index_Registry
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMSS_Index_Registry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_parameters.cpp:86,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/xmss/xmss_parameters.cpp:86,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 1
    argNames:
    - param_set
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 87
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 87
    functionName: Botan::XMSS_Parameters::xmss_id_from_string
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Lookup_Error
    linkageType: ''
    returnType: XMSS_Parameters::xmss_algorithm_t
    signature: XMSS_Parameters::xmss_algorithm_t XMSS_Parameters::xmss_id_from_string(std::string_view
      param_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Parameters::xmss_id_from_string
      Src: /src/botan/src/lib/pubkey/xmss/xmss_parameters.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - param_set
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: Botan::XMSS_Parameters::XMSS_Parameters
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.cpp
    functionUses: 2
    functionsReached:
    - Botan::XMSS_Parameters::xmss_id_from_string
    linkageType: ''
    returnType: void
    signature: void XMSS_Parameters::XMSS_Parameters(std::string_view param_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/xmss/xmss_parameters.cpp:327,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/pubkey/xmss/xmss_parameters.cpp:327,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 236
    argCount: 1
    argNames:
    - oid
    argTypes:
    - xmss_algorithm_t
    constantsTouched: []
    func_position:
      end: 329
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 329
    functionName: Botan::XMSS_Parameters::XMSS_Parameters
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.cpp
    functionUses: 2
    functionsReached:
    - std::to_string
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void XMSS_Parameters::XMSS_Parameters(xmss_algorithm_t oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:52,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:52,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:52,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:53,1
    - Dst: Botan::wots_parameter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:53,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:54,1
    - Dst: Botan::wots_parameter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:61,1
    - Dst: set_hash_address
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:62,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:62,1
    - Dst: set_key_mask_mode
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:65,1
    - Dst: prf
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:66,1
    - Dst: bytes
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:66,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:67,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:67,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:67,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:67,1
    - Dst: set_key_mask_mode
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:70,1
    - Dst: prf
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:73,1
    - Dst: bytes
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:73,1
    - Dst: f
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - ' params'
    - ' result'
    - start_idx
    - steps
    - ' adrs'
    - seed
    - ' hash'
    argTypes:
    - XMSS_WOTS_Parameters
    - secure_vector<uint8_t>
    - size_t
    - size_t
    - XMSS_Address
    - std::span<const uint8_t>
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 76
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 76
    functionName: Botan::chain
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp
    functionUses: 1
    functionsReached:
    - Botan::xor_buf
    - secure_vector::data
    - BOTAN_ASSERT_NOMSG
    - Botan::wots_parameter
    - static_cast<uint32_t>
    - data
    - bytes
    - set_hash_address
    - f
    - set_key_mask_mode
    - Botan::size
    - output_length
    - prf
    linkageType: ''
    returnType: void
    signature: "void chain(const XMSS_WOTS_Parameters& params,\n           secure_vector<uint8_t>&
      result,\n           size_t start_idx,\n           size_t steps,\n           XMSS_Address&
      adrs,\n           std::span<const uint8_t> seed,\n           XMSS_Hash& hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:85,1
    - Dst: key_data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:85,1
    - Dst: len
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:86,1
    - Dst: set_chain_address
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:87,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:87,1
    - Dst: chain
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:88,1
    - Dst: wots_parameter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - params
    - public_seed
    - ' private_key'
    - ' adrs'
    - ' hash'
    argTypes:
    - XMSS_WOTS_Parameters
    - std::span<const uint8_t>
    - XMSS_WOTS_PrivateKey
    - XMSS_Address
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: Botan::XMSS_WOTS_PublicKey::XMSS_WOTS_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp
    functionUses: 0
    functionsReached:
    - chain
    - static_cast<uint32_t>
    - wots_parameter
    - std::move
    - len
    - set_chain_address
    - key_data
    linkageType: ''
    returnType: void
    signature: "void XMSS_WOTS_PublicKey::XMSS_WOTS_PublicKey(XMSS_WOTS_Parameters
      params,\n                                         std::span<const uint8_t> public_seed,\n
      \                                        const XMSS_WOTS_PrivateKey& private_key,\n
      \                                        XMSS_Address& adrs,\n                                         XMSS_Hash&
      hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:98,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:98,1
    - Dst: base_w
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:99,1
    - Dst: len_1
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:99,1
    - Dst: append_checksum
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:101,1
    - Dst: len
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:103,1
    - Dst: set_chain_address
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:104,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:104,1
    - Dst: chain
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:105,1
    - Dst: wots_parameter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - params
    - public_seed
    - signature
    - ' msg'
    - ' adrs'
    - ' hash'
    argTypes:
    - XMSS_WOTS_Parameters
    - std::span<const uint8_t>
    - wots_keysig_t
    - secure_vector<uint8_t>
    - XMSS_Address
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 113
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 113
    functionName: Botan::XMSS_WOTS_PublicKey::XMSS_WOTS_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp
    functionUses: 0
    functionsReached:
    - len_1
    - set_chain_address
    - chain
    - static_cast<uint32_t>
    - wots_parameter
    - std::move
    - len
    - base_w
    - append_checksum
    linkageType: ''
    returnType: void
    signature: "void XMSS_WOTS_PublicKey::XMSS_WOTS_PublicKey(XMSS_WOTS_Parameters
      params,\n                                         std::span<const uint8_t> public_seed,\n
      \                                        wots_keysig_t signature,\n                                         const
      secure_vector<uint8_t>& msg,\n                                         XMSS_Address&
      adrs,\n                                         XMSS_Hash& hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_w
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:119,1
    - Dst: len_1
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:119,1
    - Dst: append_checksum
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:121,1
    - Dst: Botan::XMSS_WOTS_PrivateKey::key_data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:122,1
    - Dst: len
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:124,1
    - Dst: set_chain_address
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:125,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:125,1
    - Dst: chain
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' msg'
    - public_seed
    - ' adrs'
    - ' hash'
    argTypes:
    - secure_vector<uint8_t>
    - std::span<const uint8_t>
    - XMSS_Address
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: Botan::XMSS_WOTS_PrivateKey::sign
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp
    functionUses: 0
    functionsReached:
    - len_1
    - set_chain_address
    - chain
    - static_cast<uint32_t>
    - Botan::XMSS_WOTS_PrivateKey::key_data
    - len
    - base_w
    - append_checksum
    linkageType: ''
    returnType: wots_keysig_t
    signature: "wots_keysig_t XMSS_WOTS_PrivateKey::sign(const secure_vector<uint8_t>&
      msg,\n                                         std::span<const uint8_t> public_seed,\n
      \                                        XMSS_Address& adrs,\n                                         XMSS_Hash&
      hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:137,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:138,1
    - Dst: len
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:138,1
    - Dst: len
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:139,1
    - Dst: XMSS_Address::set_chain_address
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:140,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:140,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:141,1
    - Dst: XMSS_Address::bytes
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:141,1
    - Dst: prf_keygen
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - params
    - public_seed
    - private_seed
    - adrs
    - ' hash'
    argTypes:
    - XMSS_WOTS_Parameters
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - XMSS_Address
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: Botan::XMSS_WOTS_PrivateKey::XMSS_WOTS_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - concat
    - XMSS_Address::set_chain_address
    - resize
    - std::move
    - len
    - XMSS_Address::bytes
    - prf_keygen
    linkageType: ''
    returnType: void
    signature: "void XMSS_WOTS_PrivateKey::XMSS_WOTS_PrivateKey(XMSS_WOTS_Parameters
      params,\n                                           std::span<const uint8_t>
      public_seed,\n                                           std::span<const uint8_t>
      private_seed,\n                                           XMSS_Address adrs,\n
      \                                          XMSS_Hash& hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:151,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:152,1
    - Dst: len
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:152,1
    - Dst: prf
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:155,1
    - Dst: XMSS_Address::bytes
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:155,1
    - Dst: len
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:157,1
    - Dst: XMSS_Tools::concat<size_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:158,1
    - Dst: prf
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - params
    - private_seed
    - adrs
    - ' hash'
    argTypes:
    - XMSS_WOTS_Parameters
    - std::span<const uint8_t>
    - XMSS_Address
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 161
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 161
    functionName: Botan::XMSS_WOTS_PrivateKey::XMSS_WOTS_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots.cpp
    functionUses: 0
    functionsReached:
    - XMSS_Tools::concat<size_t>
    - resize
    - std::move
    - len
    - XMSS_Address::bytes
    - prf
    linkageType: ''
    returnType: void
    signature: "void XMSS_WOTS_PrivateKey::XMSS_WOTS_PrivateKey(XMSS_WOTS_Parameters
      params,\n                                           std::span<const uint8_t>
      private_seed,\n                                           XMSS_Address adrs,\n
      \                                          XMSS_Hash& hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - params
    argTypes:
    - XMSS_WOTS_Parameters
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::XMSS_WOTS_Base::XMSS_WOTS_Base
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void XMSS_WOTS_Base(XMSS_WOTS_Parameters params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.h:36,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - params
    - key_data
    argTypes:
    - XMSS_WOTS_Parameters
    - wots_keysig_t
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: Botan::XMSS_WOTS_Base::XMSS_WOTS_Base
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void XMSS_WOTS_Base(XMSS_WOTS_Parameters params, wots_keysig_t key_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& key_data() const'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: wots_keysig_t
    signature: wots_keysig_t & key_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::XMSS_Address::get_layer_addr
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t get_layer_addr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::XMSS_Address::set_layer_addr
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void set_layer_addr()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Botan::XMSS_Address::get_tree_addr
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_tree_addr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::XMSS_Address::set_tree_addr
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void set_tree_addr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: Botan::XMSS_Address::get_type
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - static_cast<Type>
    linkageType: ''
    returnType: Type
    signature: Type get_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:92,1
    - Dst: std::fill
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:93,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:93,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:93,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: Botan::XMSS_Address::set_type
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - begin
    - std::fill
    - static_cast<uint8_t>
    - end
    linkageType: ''
    returnType: void
    signature: void set_type(Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Mask
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan::XMSS_Address::get_key_mask_mode
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Key_Mask
    linkageType: ''
    returnType: Key_Mask
    signature: Key_Mask get_key_mask_mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:111,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:111,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - Key_Mask
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: Botan::XMSS_Address::set_key_mask_mode
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_type
    - static_cast<uint8_t>
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void set_key_mask_mode(Key_Mask value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:124,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:124,1
    - Dst: Botan::XMSS_Address::get_hi32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: Botan::XMSS_Address::get_ots_address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_hi32
    - Botan::XMSS_Address::get_type
    - BOTAN_ASSERT
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_ots_address() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:138,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:138,1
    - Dst: Botan::XMSS_Address::set_hi32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: Botan::XMSS_Address::set_ots_address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_type
    - Botan::XMSS_Address::set_hi32
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void set_ots_address(uint32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:152,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:152,1
    - Dst: Botan::XMSS_Address::get_hi32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: Botan::XMSS_Address::get_ltree_address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_hi32
    - Botan::XMSS_Address::get_type
    - BOTAN_ASSERT
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_ltree_address() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:166,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:166,1
    - Dst: Botan::XMSS_Address::set_hi32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: Botan::XMSS_Address::set_ltree_address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_type
    - Botan::XMSS_Address::set_hi32
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void set_ltree_address(uint32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:179,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:179,1
    - Dst: Botan::XMSS_Address::get_lo32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: Botan::XMSS_Address::get_chain_address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_type
    - Botan::XMSS_Address::get_lo32
    - BOTAN_ASSERT
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_chain_address() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:190,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:190,1
    - Dst: Botan::XMSS_Address::set_lo32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: Botan::XMSS_Address::set_chain_address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_type
    - Botan::XMSS_Address::set_lo32
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void set_chain_address(uint32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:204,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:204,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:204,1
    - Dst: Botan::XMSS_Address::get_lo32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: Botan::XMSS_Address::get_tree_height
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_type
    - Botan::XMSS_Address::get_lo32
    - BOTAN_ASSERT
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_tree_height() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:218,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:218,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:218,1
    - Dst: Botan::XMSS_Address::set_lo32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: Botan::XMSS_Address::set_tree_height
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_type
    - Botan::XMSS_Address::set_lo32
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void set_tree_height(uint32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:232,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:232,1
    - Dst: Botan::XMSS_Address::get_hi32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: Botan::XMSS_Address::get_hash_address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_hi32
    - Botan::XMSS_Address::get_type
    - BOTAN_ASSERT
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_hash_address() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:246,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:246,1
    - Dst: Botan::XMSS_Address::set_hi32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: Botan::XMSS_Address::set_hash_address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_type
    - Botan::XMSS_Address::set_hi32
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void set_hash_address(uint32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:260,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:260,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:260,1
    - Dst: Botan::XMSS_Address::get_hi32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: Botan::XMSS_Address::get_tree_index
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_hi32
    - Botan::XMSS_Address::get_type
    - BOTAN_ASSERT
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_tree_index() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:274,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:274,1
    - Dst: Botan::XMSS_Address::get_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:274,1
    - Dst: Botan::XMSS_Address::set_hi32
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: Botan::XMSS_Address::set_tree_index
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::get_type
    - Botan::XMSS_Address::set_hi32
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void set_tree_index(uint32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: '& bytes() const'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: '& bytes()'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Address::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: Botan::XMSS_Address::size
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 1
    functionsReached:
    - Botan::XMSS_Address::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Address::set_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: Botan::XMSS_Address::XMSS_Address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::set_type
    linkageType: ''
    returnType: void
    signature: void XMSS_Address()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Address::set_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: Botan::XMSS_Address::XMSS_Address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::set_type
    linkageType: ''
    returnType: void
    signature: void XMSS_Address(Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:293,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:294,1
    - Dst: Botan::XMSS_Address::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_address.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: Botan::XMSS_Address::XMSS_Address
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Address::size
    - std::move
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void XMSS_Address(secure_vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: Botan::XMSS_Address::get_hi32
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_hi32(size_t offset) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - offset
    - value
    argTypes:
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: Botan::XMSS_Address::set_hi32
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_hi32(size_t offset, uint32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: Botan::XMSS_Address::get_lo32
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_lo32(size_t offset) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - offset
    - value
    argTypes:
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: Botan::XMSS_Address::set_lo32
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_address.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_lo32(size_t offset, uint32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:17,1
    - Dst: XMSS_Parameters::len
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:18,1
    - Dst: XMSS_Parameters::tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:18,1
    - Dst: XMSS_Parameters::element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:18,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:19,1
    - Dst: XMSS_Parameters::total_number_of_signatures
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:26,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:27,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:30,1
    - Dst: XMSS_Parameters::element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:31,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:32,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:32,1
    - Dst: XMSS_Parameters::len
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:34,1
    - Dst: XMSS_Parameters::element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:36,1
    - Dst: ots_signature::push_back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:37,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:37,1
    - Dst: ots_signature::back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:38,1
    - Dst: XMSS_Parameters::element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:38,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:39,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:39,1
    - Dst: ots_signature::back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:39,1
    - Dst: XMSS_Parameters::tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:42,1
    - Dst: XMSS_Parameters::element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:44,1
    - Dst: authentication_path::push_back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:45,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:45,1
    - Dst: authentication_path::back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:46,1
    - Dst: XMSS_Parameters::element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:46,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:47,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:47,1
    - Dst: authentication_path::back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:47,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - oid
    - raw_sig
    argTypes:
    - XMSS_Parameters::xmss_algorithm_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 49
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 49
    functionName: Botan::XMSS_Signature::XMSS_Signature
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp
    functionUses: 0
    functionsReached:
    - XMSS_Parameters::element_size
    - authentication_path::push_back
    - std::span<const uint8_t>::begin
    - copy
    - std::back_inserter
    - authentication_path::back
    - ots_signature::back
    - ots_signature::push_back
    - Decoding_Error
    - XMSS_Parameters::len
    - std::span<const uint8_t>::size
    - XMSS_Parameters::total_number_of_signatures
    - XMSS_Parameters::tree_height
    - secure_vector<uint8_t>
    linkageType: ''
    returnType: void
    signature: void XMSS_Signature::XMSS_Signature(XMSS_Parameters::xmss_algorithm_t
      oid, std::span<const uint8_t> raw_sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:52,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:53,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:54,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:55,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:57,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:57,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:57,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:57,1
    - Dst: tree
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:59,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:60,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:60,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:60,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:60,1
    - Dst: tree
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:63,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:64,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:64,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:64,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: Botan::XMSS_Signature::bytes
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.cpp
    functionUses: 0
    functionsReached:
    - copy
    - begin
    - std::back_inserter
    - end
    - tree
    - static_cast<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> XMSS_Signature::bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:23,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:24,1
    - Dst: std::unique_ptr::update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:25,1
    - Dst: std::unique_ptr::update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:26,1
    - Dst: std::unique_ptr::final
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' private_seed'
    - ' prf'
    argTypes:
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: Botan::XMSS_Index_Registry::make_key_id
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::update
    - std::unique_ptr::final
    - Botan::HashFunction::create
    - BOTAN_ASSERT
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t XMSS_Index_Registry::make_key_id(const secure_vector<uint8_t>&
      private_seed,\n                                          const secure_vector<uint8_t>&
      prf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:40,1
    - Dst: Botan::XMSS_Index_Registry::add
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:43,1
    - Dst: Botan::XMSS_Index_Registry::make_key_id
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' private_seed'
    - ' prf'
    argTypes:
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: Botan::XMSS_Index_Registry::get
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - Botan::XMSS_Index_Registry::add
    - Botan::XMSS_Index_Registry::make_key_id
    linkageType: ''
    returnType: std::shared_ptr<Atomic<size_t>>
    signature: "std::shared_ptr<Atomic<size_t>> XMSS_Index_Registry::get(const secure_vector<uint8_t>&
      private_seed,\n                                                         const
      secure_vector<uint8_t>& prf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:48,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: Botan::XMSS_Index_Registry::get
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t XMSS_Index_Registry::get(uint64_t id) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:60,1
    - Dst: std::make_shared<Atomic<size_t>>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:62,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:67,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:68,1
    - Dst: std::make_shared<Atomic<size_t>>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:68,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - id
    - last_unused
    argTypes:
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: Botan::XMSS_Index_Registry::add
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_index_registry.cpp
    functionUses: 1
    functionsReached:
    - push_back
    - size
    - std::make_shared<Atomic<size_t>>
    linkageType: ''
    returnType: size_t
    signature: size_t XMSS_Index_Registry::add(uint64_t id, size_t last_unused)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmss_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' public_key'
    argTypes:
    - XMSS_PublicKey
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: Botan::XMSS_Verification_Operation::XMSS_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp
    functionUses: 0
    functionsReached:
    - xmss_parameters
    linkageType: ''
    returnType: void
    signature: void XMSS_Verification_Operation::XMSS_Verification_Operation(const
      XMSS_PublicKey& public_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmss_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:26,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:29,1
    - Dst: set_ots_address
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:30,1
    - Dst: ots_oid
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:32,1
    - Dst: tree
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:32,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:34,1
    - Dst: set_ltree_address
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:35,1
    - Dst: Botan::XMSS_Common_Ops::create_l_tree
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:38,1
    - Dst: XMSS_WOTS_PublicKey::key_data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:38,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:40,1
    - Dst: set_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:41,1
    - Dst: tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:43,1
    - Dst: set_tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:44,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:44,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:45,1
    - Dst: set_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:46,1
    - Dst: get_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:46,1
    - Dst: Botan::XMSS_Common_Ops::randomize_tree_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:47,1
    - Dst: tree
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:48,1
    - Dst: set_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:50,1
    - Dst: get_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:50,1
    - Dst: Botan::XMSS_Common_Ops::randomize_tree_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:51,1
    - Dst: tree
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - ' sig'
    - ' msg'
    - ' adrs'
    - ' seed'
    argTypes:
    - XMSS_Signature
    - secure_vector<uint8_t>
    - XMSS_Address
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 57
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 57
    functionName: Botan::XMSS_Verification_Operation::root_from_signature
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp
    functionUses: 0
    functionsReached:
    - set_type
    - tree_height
    - ots_oid
    - get_tree_index
    - set_tree_index
    - static_cast<uint32_t>
    - static_cast<size_t>
    - Botan::XMSS_Common_Ops::randomize_tree_hash
    - XMSS_WOTS_PublicKey::key_data
    - set_ots_address
    - tree
    - set_ltree_address
    - Botan::XMSS_Common_Ops::create_l_tree
    - set_tree_height
    - xmss_parameters
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> XMSS_Verification_Operation::root_from_signature(const
      XMSS_Signature& sig,\n                                                                        const
      secure_vector<uint8_t>& msg,\n                                                                        XMSS_Address&
      adrs,\n                                                                        const
      secure_vector<uint8_t>& seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Tools::concat
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:64,1
    - Dst: unused_leaf_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:64,1
    - Dst: xmss_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:64,1
    - Dst: h_msg
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:65,1
    - Dst: randomness
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:65,1
    - Dst: root
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:65,1
    - Dst: Botan::XMSS_Verification_Operation::root_from_signature
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:67,1
    - Dst: public_seed
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:67,1
    - Dst: root
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' sig'
    - ' msg'
    - ' public_key'
    argTypes:
    - XMSS_Signature
    - secure_vector<uint8_t>
    - XMSS_PublicKey
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: Botan::XMSS_Verification_Operation::verify
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp
    functionUses: 0
    functionsReached:
    - randomness
    - public_seed
    - Botan::XMSS_Verification_Operation::root_from_signature
    - root
    - h_msg
    - xmss_parameters
    - unused_leaf_index
    - Botan::XMSS_Tools::concat
    linkageType: ''
    returnType: bool
    signature: "bool XMSS_Verification_Operation::verify(const XMSS_Signature& sig,\n
      \                                        const secure_vector<uint8_t>& msg,\n
      \                                        const XMSS_PublicKey& public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:80,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:80,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:80,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: Botan::XMSS_Verification_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - end
    - std::span<const uint8_t>::end
    - insert
    linkageType: ''
    returnType: void
    signature: void XMSS_Verification_Operation::update(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmss_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:85,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:87,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: Botan::XMSS_Verification_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.cpp
    functionUses: 0
    functionsReached:
    - clear
    - xmss_parameters
    linkageType: ''
    returnType: bool
    signature: bool XMSS_Verification_Operation::is_valid_signature(std::span<const
      uint8_t> sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmss_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - XMSS_PrivateKey
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: Botan::XMSS_Signature_Operation::XMSS_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp
    functionUses: 0
    functionsReached:
    - xmss_parameters
    linkageType: ''
    returnType: void
    signature: void XMSS_Signature_Operation::XMSS_Signature_Operation(const XMSS_PrivateKey&
      private_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Signature_Operation::build_auth_path
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:34,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:35,1
    - Dst: set_ots_address
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:36,1
    - Dst: wots_private_key_for
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:39,1
    - Dst: public_seed
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' msg'
    - ' xmss_priv_key'
    - ' adrs'
    argTypes:
    - secure_vector<uint8_t>
    - XMSS_PrivateKey
    - XMSS_Address
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: Botan::XMSS_Signature_Operation::generate_tree_signature
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp
    functionUses: 0
    functionsReached:
    - set_type
    - Botan::XMSS_Signature_Operation::build_auth_path
    - public_seed
    - wots_private_key_for
    - set_ots_address
    linkageType: ''
    returnType: XMSS_Signature::TreeSignature
    signature: "XMSS_Signature::TreeSignature XMSS_Signature_Operation::generate_tree_signature(const
      secure_vector<uint8_t>& msg,\n                                                                                XMSS_PrivateKey&
      xmss_priv_key,\n                                                                                XMSS_Address&
      adrs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' msg_hash'
    - ' xmss_priv_key'
    argTypes:
    - secure_vector<uint8_t>
    - XMSS_PrivateKey
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: Botan::XMSS_Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_Signature
    signature: XMSS_Signature XMSS_Signature_Operation::sign(const secure_vector<uint8_t>&
      msg_hash, XMSS_PrivateKey& xmss_priv_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmss_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:51,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:53,1
    - Dst: len
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:53,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:53,1
    - Dst: tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:53,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: Botan::XMSS_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp
    functionUses: 0
    functionsReached:
    - len
    - tree_height
    - xmss_parameters
    - element_size
    linkageType: ''
    returnType: size_t
    signature: size_t XMSS_Signature_Operation::signature_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmss_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:57,1
    - Dst: tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:58,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:59,1
    - Dst: tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:61,1
    - Dst: tree_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:63,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' priv_key'
    - ' adrs'
    argTypes:
    - XMSS_PrivateKey
    - XMSS_Address
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: Botan::XMSS_Signature_Operation::build_auth_path
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp
    functionUses: 1
    functionsReached:
    - xmss_parameters
    - set_type
    - tree_hash
    - static_cast<size_t>
    - tree_height
    linkageType: ''
    returnType: wots_keysig_t
    signature: wots_keysig_t XMSS_Signature_Operation::build_auth_path(XMSS_PrivateKey&
      priv_key, XMSS_Address& adrs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Signature_Operation::initialize
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:70,1
    - Dst: h_msg_update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: Botan::XMSS_Signature_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Signature_Operation::initialize
    - h_msg_update
    linkageType: ''
    returnType: void
    signature: void XMSS_Signature_Operation::update(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Signature_Operation::initialize
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:75,1
    - Dst: Botan::XMSS_Signature_Operation::sign
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:76,1
    - Dst: h_msg_final
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: Botan::XMSS_Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp
    functionUses: 1
    functionsReached:
    - Botan::XMSS_Signature_Operation::initialize
    - Botan::XMSS_Signature_Operation::sign
    - h_msg_final
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> XMSS_Signature_Operation::sign(RandomNumberGenerator&
      /*rng*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:90,1
    - Dst: reserve_unused_leaf_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:90,1
    - Dst: Botan::XMSS_Tools::concat
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:93,1
    - Dst: prf
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:94,1
    - Dst: prf_value
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:94,1
    - Dst: secure_vector::clear
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:95,1
    - Dst: Botan::XMSS_Tools::concat
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:96,1
    - Dst: xmss_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:96,1
    - Dst: h_msg_init
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:97,1
    - Dst: root
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 99
    functionName: Botan::XMSS_Signature_Operation::initialize
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp
    functionUses: 2
    functionsReached:
    - secure_vector::clear
    - h_msg_init
    - reserve_unused_leaf_index
    - static_cast<uint32_t>
    - prf_value
    - root
    - xmss_parameters
    - prf
    - Botan::XMSS_Tools::concat
    linkageType: ''
    returnType: void
    signature: void XMSS_Signature_Operation::initialize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:102,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: Botan::XMSS_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - AlgorithmIdentifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier XMSS_Signature_Operation::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Signature_Operation::hash_function
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan::XMSS_Signature_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature_operation.h
    functionUses: 1
    functionsReached:
    - Botan::XMSS_Signature_Operation::hash_function
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Verification_Operation::hash_function
      Src: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::XMSS_Verification_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_verification_operation.h
    functionUses: 1
    functionsReached:
    - Botan::XMSS_Verification_Operation::hash_function
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.h:51,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - leaf_idx
    - randomness
    - tree_sig
    argTypes:
    - size_t
    - secure_vector<uint8_t>
    - XMSS_Signature::TreeSignature
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: Botan::XMSS_Signature::XMSS_Signature
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void XMSS_Signature(size_t leaf_idx, secure_vector<uint8_t> randomness,
      XMSS_Signature::TreeSignature tree_sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::XMSS_Signature::unused_leaf_index
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t unused_leaf_index() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& randomness() const'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & randomness() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '& tree() const'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_Signature::TreeSignature
    signature: XMSS_Signature::TreeSignature & tree() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan::XMSS_Signature::set_unused_leaf_idx
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_unused_leaf_idx(size_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: '& randomness()'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & randomness()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - randomness
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::XMSS_Signature::set_randomness
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_randomness(secure_vector<uint8_t> randomness)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '& tree()'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_Signature::TreeSignature
    signature: XMSS_Signature::TreeSignature & tree()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_signature.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tree_sig
    argTypes:
    - XMSS_Signature::TreeSignature
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::XMSS_Signature::set_tree
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_signature.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_tree(XMSS_Signature::TreeSignature tree_sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:44,1
    - Dst: Botan::raw_private_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:44,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:45,1
    - Dst: Botan::raw_legacy_private_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:45,1
    - Dst: secure_vector::assign
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:46,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:46,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:46,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - key_bits
    - ' xmss_params'
    argTypes:
    - std::span<const uint8_t>
    - XMSS_Parameters
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: Botan::extract_raw_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - Botan::raw_legacy_private_key_size
    - secure_vector::assign
    - BER_Decoder
    - Botan::raw_private_key_size
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> extract_raw_private_key(std::span<const uint8_t>
      key_bits, const XMSS_Parameters& xmss_params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:67,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:67,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:68,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:68,1
    - Dst: XMSS_Index_Registry::get_instance
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' xmss_params'
    - ' wots_params'
    - wots_derivation_method
    - ' rng'
    argTypes:
    - XMSS_Parameters
    - XMSS_WOTS_Parameters
    - WOTS_Derivation_Method
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: Botan::XMSS_PrivateKey_Internal::XMSS_PrivateKey_Internal
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - random_vec
    - element_size
    - XMSS_Index_Registry::get_instance
    linkageType: ''
    returnType: void
    signature: "void XMSS_PrivateKey_Internal(const XMSS_Parameters& xmss_params,\n
      \                              const XMSS_WOTS_Parameters& wots_params,\n                               WOTS_Derivation_Method
      wots_derivation_method,\n                               RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:80,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:81,1
    - Dst: XMSS_Index_Registry::get_instance
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' xmss_params'
    - ' wots_params'
    - wots_derivation_method
    - private_seed
    - prf
    argTypes:
    - XMSS_Parameters
    - XMSS_WOTS_Parameters
    - WOTS_Derivation_Method
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: Botan::XMSS_PrivateKey_Internal::XMSS_PrivateKey_Internal
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - XMSS_Index_Registry::get_instance
    linkageType: ''
    returnType: void
    signature: "void XMSS_PrivateKey_Internal(const XMSS_Parameters& xmss_params,\n
      \                              const XMSS_WOTS_Parameters& wots_params,\n                               WOTS_Derivation_Method
      wots_derivation_method,\n                               secure_vector<uint8_t>
      private_seed,\n                               secure_vector<uint8_t> prf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XMSS_Index_Registry::get_instance
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:90,1
    - Dst: extract_raw_private_key
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:101,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:103,1
    - Dst: raw_private_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:103,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:104,1
    - Dst: raw_legacy_private_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:104,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:105,1
    - Dst: BufferSlicer::skip
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:111,1
    - Dst: raw_public_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:111,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:113,1
    - Dst: tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:115,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:116,1
    - Dst: BufferSlicer::copy_as_secure_vector
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:119,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:119,1
    - Dst: BufferSlicer::copy_as_secure_vector
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:120,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:120,1
    - Dst: Botan::XMSS_PrivateKey_Internal::set_unused_leaf_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:121,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:126,1
    - Dst: static_cast<WOTS_Derivation_Method>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:126,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:126,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:128,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - ' xmss_params'
    - ' wots_params'
    - key_bits
    argTypes:
    - XMSS_Parameters
    - XMSS_WOTS_Parameters
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 129
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 129
    functionName: Botan::XMSS_PrivateKey_Internal::XMSS_PrivateKey_Internal
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - extract_raw_private_key
    - BOTAN_ASSERT_NOMSG
    - secure_vector::size
    - BufferSlicer::take
    - Botan::XMSS_PrivateKey_Internal::set_unused_leaf_index
    - raw_legacy_private_key_size
    - XMSS_Index_Registry::get_instance
    - Decoding_Error
    - BufferSlicer::empty
    - BufferSlicer::copy_as_secure_vector
    - raw_private_key_size
    - static_cast<WOTS_Derivation_Method>
    - BufferSlicer::skip
    - tree_height
    - raw_public_key_size
    - element_size
    linkageType: ''
    returnType: void
    signature: "void XMSS_PrivateKey_Internal(const XMSS_Parameters& xmss_params,\n
      \                              const XMSS_WOTS_Parameters& wots_params,\n                               std::span<const
      uint8_t> key_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:133,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:133,1
    - Dst: Botan::XMSS_PrivateKey_Internal::unused_leaf_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:133,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:133,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:136,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:136,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - raw_public_key
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: Botan::XMSS_PrivateKey_Internal::serialize
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - Botan::XMSS_PrivateKey_Internal::unused_leaf_index
    - concat
    - std::vector::push_back
    - static_cast<uint8_t>
    - store_be
    - std::vector::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> serialize(std::vector<uint8_t> raw_public_key)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: '& hash()'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_Hash
    signature: XMSS_Hash & hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: '& prf_value() const'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & prf_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: '& private_seed()'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & private_seed()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: '& wots_parameters()'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_WOTS_Parameters
    signature: XMSS_WOTS_Parameters & wots_parameters()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: Botan::XMSS_PrivateKey_Internal::wots_derivation_method
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WOTS_Derivation_Method
    signature: WOTS_Derivation_Method wots_derivation_method() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: '& index_registry()'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_Index_Registry
    signature: XMSS_Index_Registry & index_registry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:155,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:156,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:156,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:156,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:156,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: Botan::XMSS_PrivateKey_Internal::recover_global_leaf_index
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - element_size
    - get
    - size
    - BOTAN_ASSERT
    linkageType: ''
    returnType: std::shared_ptr<Atomic<size_t>>
    signature: std::shared_ptr<Atomic<size_t>> recover_global_leaf_index() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:162,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:163,1
    - Dst: static_cast<std::atomic<size_t>&>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:165,1
    - Dst: Botan::XMSS_PrivateKey_Internal::recover_global_leaf_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:165,1
    - Dst: load
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:169,1
    - Dst: compare_exchange_strong
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 175
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 175
    functionName: Botan::XMSS_PrivateKey_Internal::set_unused_leaf_index
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - static_cast<std::atomic<size_t>&>
    - Botan::XMSS_PrivateKey_Internal::recover_global_leaf_index
    - Decoding_Error
    - compare_exchange_strong
    - tree_height
    - load
    linkageType: ''
    returnType: void
    signature: void set_unused_leaf_index(size_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: total_number_of_signatures
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:179,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: Botan::XMSS_PrivateKey_Internal::reserve_unused_leaf_index
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - total_number_of_signatures
    linkageType: ''
    returnType: size_t
    signature: size_t reserve_unused_leaf_index()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PrivateKey_Internal::recover_global_leaf_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: Botan::XMSS_PrivateKey_Internal::unused_leaf_index
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - Botan::XMSS_PrivateKey_Internal::recover_global_leaf_index
    linkageType: ''
    returnType: size_t
    signature: size_t unused_leaf_index() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: total_number_of_signatures
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:188,1
    - Dst: Botan::XMSS_PrivateKey_Internal::recover_global_leaf_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: Botan::XMSS_PrivateKey_Internal::remaining_signatures
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - Botan::XMSS_PrivateKey_Internal::recover_global_leaf_index
    - total_number_of_signatures
    linkageType: ''
    returnType: size_t
    signature: size_t remaining_signatures() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<XMSS_PrivateKey_Internal>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: Botan::XMSS_PrivateKey::XMSS_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<XMSS_PrivateKey_Internal>
    linkageType: ''
    returnType: void
    signature: void XMSS_PrivateKey::XMSS_PrivateKey(std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<XMSS_PrivateKey_Internal>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:210,1
    - Dst: Botan::XMSS_PrivateKey::tree_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:212,1
    - Dst: tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - xmss_algo_id
    - ' rng'
    - wots_derivation_method
    argTypes:
    - XMSS_Parameters::xmss_algorithm_t
    - RandomNumberGenerator
    - WOTS_Derivation_Method
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: Botan::XMSS_PrivateKey::XMSS_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - Botan::XMSS_PrivateKey::tree_hash
    - tree_height
    - std::make_shared<XMSS_PrivateKey_Internal>
    linkageType: ''
    returnType: void
    signature: "void XMSS_PrivateKey::XMSS_PrivateKey(XMSS_Parameters::xmss_algorithm_t
      xmss_algo_id,\n                                 RandomNumberGenerator& rng,\n
      \                                WOTS_Derivation_Method wots_derivation_method)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:222,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:222,1
    - Dst: std::make_shared<XMSS_PrivateKey_Internal>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:223,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:224,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:224,1
    - Dst: set_unused_leaf_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:225,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:226,1
    - Dst: prf_value
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:226,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:226,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:228,1
    - Dst: private_seed
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:228,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - xmss_algo_id
    - idx_leaf
    - wots_priv_seed
    - prf
    - root
    - public_seed
    - wots_derivation_method
    argTypes:
    - XMSS_Parameters::xmss_algorithm_t
    - size_t
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - WOTS_Derivation_Method
    constantsTouched: []
    func_position:
      end: 230
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 230
    functionName: Botan::XMSS_PrivateKey::XMSS_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - prf_value
    - private_seed
    - std::move
    - element_size
    - std::make_shared<XMSS_PrivateKey_Internal>
    - BOTAN_ARG_CHECK
    - set_unused_leaf_index
    linkageType: ''
    returnType: void
    signature: "void XMSS_PrivateKey::XMSS_PrivateKey(XMSS_Parameters::xmss_algorithm_t
      xmss_algo_id,\n                                 size_t idx_leaf,\n                                 secure_vector<uint8_t>
      wots_priv_seed,\n                                 secure_vector<uint8_t> prf,\n
      \                                secure_vector<uint8_t> root,\n                                 secure_vector<uint8_t>
      public_seed,\n                                 WOTS_Derivation_Method wots_derivation_method)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:233,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:234,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:234,1
    - Dst: Thread_Pool::global_instance
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:240,1
    - Dst: Botan::XMSS_PrivateKey::tree_hash_subtree
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:247,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:257,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:262,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:262,1
    - Dst: hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:264,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:274,1
    - Dst: run
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:274,1
    - Dst: std::ref
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:276,1
    - Dst: std::ref
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:279,1
    - Dst: std::ref
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:280,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:284,1
    - Dst: std::vector::clear
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:286,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:290,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:291,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:291,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:293,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:294,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:294,1
    - Dst: set_tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:296,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:296,1
    - Dst: set_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:297,1
    - Dst: get_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:297,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:299,1
    - Dst: run
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:299,1
    - Dst: std::ref
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:300,1
    - Dst: std::cref
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:301,1
    - Dst: std::cref
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:302,1
    - Dst: std::ref
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:303,1
    - Dst: std::cref
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:304,1
    - Dst: Botan::XMSS_PrivateKey::public_seed
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:304,1
    - Dst: std::ref
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:305,1
    - Dst: std::cref
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:306,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:310,1
    - Dst: std::vector::clear
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:312,1
    - Dst: set_tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:316,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:316,1
    - Dst: set_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:317,1
    - Dst: get_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:317,1
    - Dst: Botan::XMSS_Common_Ops::randomize_tree_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:318,1
    - Dst: Botan::XMSS_PrivateKey::public_seed
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:319,1
    - Dst: hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:319,1
    - Dst: Botan::XMSS_PrivateKey::tree_hash_subtree
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:323,1
    - Dst: hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - start_idx
    - target_node_height
    - ' adrs'
    argTypes:
    - size_t
    - size_t
    - XMSS_Address
    constantsTouched: []
    func_position:
      end: 326
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 326
    functionName: Botan::XMSS_PrivateKey::tree_hash
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - get_tree_index
    - std::vector::begin
    - static_cast<uint32_t>
    - static_cast<size_t>
    - std::vector::push_back
    - get
    - BOTAN_ASSERT
    - Botan::XMSS_PrivateKey::public_seed
    - BOTAN_ASSERT_NOMSG
    - std::vector::clear
    - Botan::XMSS_Common_Ops::randomize_tree_hash
    - Botan::XMSS_PrivateKey::tree_hash_subtree
    - set_tree_height
    - hash
    - std::ref
    - set_tree_index
    - run
    - secure_vector<uint8_t>
    - Thread_Pool::global_instance
    - std::cref
    - element_size
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> XMSS_PrivateKey::tree_hash(size_t start_idx,
      size_t target_node_height, XMSS_Address& adrs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PrivateKey::tree_hash_subtree
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:332,1
    - Dst: hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' result'
    - start_idx
    - target_node_height
    - ' adrs'
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    - size_t
    - XMSS_Address
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: Botan::XMSS_PrivateKey::tree_hash_subtree
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 2
    functionsReached:
    - hash
    - Botan::XMSS_PrivateKey::tree_hash_subtree
    linkageType: ''
    returnType: void
    signature: "void XMSS_PrivateKey::tree_hash_subtree(secure_vector<uint8_t>& result,\n
      \                                       size_t start_idx,\n                                        size_t
      target_node_height,\n                                        XMSS_Address& adrs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PrivateKey::public_seed
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:337,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:340,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:340,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:352,1
    - Dst: set_ots_address
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:353,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:353,1
    - Dst: Botan::XMSS_PrivateKey::wots_public_key_for
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:355,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:357,1
    - Dst: set_ltree_address
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:358,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:358,1
    - Dst: Botan::XMSS_Common_Ops::create_l_tree
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:359,1
    - Dst: XMSS_WOTS_PublicKey::key_data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:359,1
    - Dst: set_type
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:362,1
    - Dst: set_tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:363,1
    - Dst: set_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:364,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:364,1
    - Dst: set_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:367,1
    - Dst: get_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:367,1
    - Dst: Botan::XMSS_Common_Ops::randomize_tree_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:368,1
    - Dst: set_tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:372,1
    - Dst: get_tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - ' result'
    - start_idx
    - target_node_height
    - ' adrs'
    - ' hash'
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    - size_t
    - XMSS_Address
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 377
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 377
    functionName: Botan::XMSS_PrivateKey::tree_hash_subtree
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 2
    functionsReached:
    - set_type
    - get_tree_index
    - get_tree_height
    - static_cast<uint32_t>
    - set_tree_index
    - Botan::XMSS_Common_Ops::randomize_tree_hash
    - XMSS_WOTS_PublicKey::key_data
    - set_ots_address
    - set_ltree_address
    - Botan::XMSS_Common_Ops::create_l_tree
    - set_tree_height
    - Botan::XMSS_PrivateKey::public_seed
    - Botan::XMSS_PrivateKey::wots_public_key_for
    - element_size
    - secure_vector<uint8_t>
    linkageType: ''
    returnType: void
    signature: "void XMSS_PrivateKey::tree_hash_subtree(\n   secure_vector<uint8_t>&
      result, size_t start_idx, size_t target_node_height, XMSS_Address& adrs, XMSS_Hash&
      hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PrivateKey::wots_private_key_for
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:380,1
    - Dst: XMSS_WOTS_PublicKey
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:381,1
    - Dst: wots_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' adrs'
    - ' hash'
    argTypes:
    - XMSS_Address
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: Botan::XMSS_PrivateKey::wots_public_key_for
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - Botan::XMSS_PrivateKey::wots_private_key_for
    - wots_parameters
    - XMSS_WOTS_PublicKey
    linkageType: ''
    returnType: XMSS_WOTS_PublicKey
    signature: XMSS_WOTS_PublicKey XMSS_PrivateKey::wots_public_key_for(XMSS_Address&
      adrs, XMSS_Hash& hash) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PrivateKey::wots_derivation_method
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:385,1
    - Dst: XMSS_WOTS_PrivateKey
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:387,1
    - Dst: wots_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:388,1
    - Dst: private_seed
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:388,1
    - Dst: XMSS_WOTS_PrivateKey
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:390,1
    - Dst: wots_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:390,1
    - Dst: private_seed
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:390,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' adrs'
    - ' hash'
    argTypes:
    - XMSS_Address
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 394
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 394
    functionName: Botan::XMSS_PrivateKey::wots_private_key_for
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - Invalid_State
    - Botan::XMSS_PrivateKey::wots_derivation_method
    - XMSS_WOTS_PrivateKey
    - private_seed
    - wots_parameters
    linkageType: ''
    returnType: XMSS_WOTS_PrivateKey
    signature: XMSS_WOTS_PrivateKey XMSS_PrivateKey::wots_private_key_for(XMSS_Address&
      adrs, XMSS_Hash& hash) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:397,1
    - Dst: Botan::XMSS_PrivateKey::raw_private_key
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 398
    functionName: Botan::XMSS_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - Botan::XMSS_PrivateKey::raw_private_key
    - DER_Encoder
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> XMSS_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PrivateKey::reserve_unused_leaf_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 402
    functionName: Botan::XMSS_PrivateKey::reserve_unused_leaf_index
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - Botan::XMSS_PrivateKey::reserve_unused_leaf_index
    linkageType: ''
    returnType: size_t
    signature: size_t XMSS_PrivateKey::reserve_unused_leaf_index()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PrivateKey::unused_leaf_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: Botan::XMSS_PrivateKey::unused_leaf_index
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - Botan::XMSS_PrivateKey::unused_leaf_index
    linkageType: ''
    returnType: size_t
    signature: size_t XMSS_PrivateKey::unused_leaf_index() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PrivateKey::remaining_signatures
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 410
    functionName: Botan::XMSS_PrivateKey::remaining_signatures
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - Botan::XMSS_PrivateKey::remaining_signatures
    linkageType: ''
    returnType: size_t
    signature: size_t XMSS_PrivateKey::remaining_signatures() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PrivateKey::remaining_signatures
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: Botan::XMSS_PrivateKey::remaining_operations
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 1
    functionsReached:
    - Botan::XMSS_PrivateKey::remaining_signatures
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> XMSS_PrivateKey::remaining_operations() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prf_value
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionName: '& XMSS_PrivateKey::prf_value() const'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - prf_value
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & XMSS_PrivateKey::prf_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:421,1
    - Dst: raw_public_key
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: Botan::XMSS_PrivateKey::raw_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 2
    functionsReached:
    - raw_public_key
    - serialize
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> XMSS_PrivateKey::raw_private_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PrivateKey::wots_derivation_method
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 426
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 426
    functionName: Botan::XMSS_PrivateKey::wots_derivation_method
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 2
    functionsReached:
    - Botan::XMSS_PrivateKey::wots_derivation_method
    linkageType: ''
    returnType: WOTS_Derivation_Method
    signature: WOTS_Derivation_Method XMSS_PrivateKey::wots_derivation_method() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<XMSS_PublicKey>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:429,1
    - Dst: xmss_parameters
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:429,1
    - Dst: root
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:429,1
    - Dst: public_seed
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: Botan::XMSS_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - root
    - xmss_parameters
    - public_seed
    - std::make_unique<XMSS_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> XMSS_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:435,1
    - Dst: std::make_unique<XMSS_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:436,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:439,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - provider
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 440
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 440
    functionName: Botan::XMSS_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_privatekey.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - std::make_unique<XMSS_Signature_Operation>
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> XMSS_PrivateKey::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                        std::string_view
      /*params*/,\n                                                                        std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:48,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:48,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - param_set
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 49
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 49
    functionName: Botan::XMSS_WOTS_Parameters::xmss_wots_id_from_string
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - Lookup_Error
    linkageType: ''
    returnType: XMSS_WOTS_Parameters::ots_algorithm_t
    signature: XMSS_WOTS_Parameters::ots_algorithm_t XMSS_WOTS_Parameters::xmss_wots_id_from_string(std::string_view
      param_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_WOTS_Parameters::xmss_wots_id_from_string
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - param_set
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: Botan::XMSS_WOTS_Parameters::XMSS_WOTS_Parameters
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp
    functionUses: 0
    functionsReached:
    - Botan::XMSS_WOTS_Parameters::xmss_wots_id_from_string
    linkageType: ''
    returnType: void
    signature: void XMSS_WOTS_Parameters::XMSS_WOTS_Parameters(std::string_view param_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:113,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:117,1
    - Dst: std::ceil
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:117,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:117,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:118,1
    - Dst: floor
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:118,1
    - Dst: log2
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:118,1
    - Dst: wots_parameter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:118,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:119,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 65
    argCount: 1
    argNames:
    - oid
    argTypes:
    - ots_algorithm_t
    constantsTouched: []
    func_position:
      end: 122
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 122
    functionName: Botan::XMSS_WOTS_Parameters::XMSS_WOTS_Parameters
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp
    functionUses: 0
    functionsReached:
    - log2
    - Not_Implemented
    - static_cast<size_t>
    - floor
    - wots_parameter
    - std::ceil
    - BOTAN_ASSERT
    - element_size
    linkageType: ''
    returnType: void
    signature: void XMSS_WOTS_Parameters::XMSS_WOTS_Parameters(ots_algorithm_t oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_vector::reserve
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:126,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:139,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' msg'
    - out_size
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 142
    functionName: Botan::XMSS_WOTS_Parameters::base_w
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::reserve
    - static_cast<uint8_t>
    - secure_vector::push_back
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> XMSS_WOTS_Parameters::base_w(const secure_vector<uint8_t>&
      msg, size_t out_size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Tools::concat
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:148,1
    - Dst: Botan::XMSS_WOTS_Parameters::base_w
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: Botan::XMSS_WOTS_Parameters::base_w
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp
    functionUses: 1
    functionsReached:
    - Botan::XMSS_Tools::concat
    - Botan::XMSS_WOTS_Parameters::base_w
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> XMSS_WOTS_Parameters::base_w(size_t value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:155,1
    - Dst: wots_parameter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:156,1
    - Dst: Botan::XMSS_WOTS_Parameters::base_w
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:159,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:160,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:160,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:160,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: Botan::XMSS_WOTS_Parameters::append_checksum
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_wots_parameters.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::begin
    - std::back_inserter
    - secure_vector::end
    - size
    - wots_parameter
    - std::move
    - Botan::XMSS_WOTS_Parameters::base_w
    linkageType: ''
    returnType: void
    signature: void XMSS_WOTS_Parameters::append_checksum(secure_vector<uint8_t>&
      data) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:32,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:33,1
    - Dst: static_cast<XMSS_Parameters::xmss_algorithm_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - raw_key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: Botan::deserialize_xmss_oid
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 0
    functionsReached:
    - static_cast<XMSS_Parameters::xmss_algorithm_t>
    - Botan::Decoding_Error
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: XMSS_Parameters::xmss_algorithm_t
    signature: XMSS_Parameters::xmss_algorithm_t deserialize_xmss_oid(std::span<const
      uint8_t> raw_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:50,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:56,1
    - Dst: XMSS_Parameters::raw_public_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:56,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:56,1
    - Dst: XMSS_Parameters::raw_private_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:56,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:57,1
    - Dst: XMSS_Parameters::raw_legacy_private_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:57,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:58,1
    - Dst: std::vector::assign
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:61,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:61,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:61,1
    - Dst: std::vector::assign
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:63,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:63,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 67
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 67
    functionName: Botan::extract_raw_public_key
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - std::vector::size
    - Botan::Decoding_Error
    - BER_Decoder
    - XMSS_Parameters::raw_private_key_size
    - std::vector::assign
    - XMSS_Parameters::raw_legacy_private_key_size
    - XMSS_Parameters::raw_public_key_size
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> extract_raw_public_key(std::span<const uint8_t>
      key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ots_oid
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:73,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:74,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:75,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - xmss_oid
    - ' rng'
    argTypes:
    - XMSS_Parameters::xmss_algorithm_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: Botan::XMSS_PublicKey::XMSS_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 1
    functionsReached:
    - random_vec
    - ots_oid
    - element_size
    linkageType: ''
    returnType: void
    signature: void XMSS_PublicKey::XMSS_PublicKey(XMSS_Parameters::xmss_algorithm_t
      xmss_oid, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extract_raw_public_key
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:78,1
    - Dst: deserialize_xmss_oid
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:79,1
    - Dst: ots_oid
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:80,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:81,1
    - Dst: raw_public_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:81,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:82,1
    - Dst: BufferSlicer::skip
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:86,1
    - Dst: BufferSlicer::copy_as_secure_vector
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:88,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:88,1
    - Dst: BufferSlicer::copy_as_secure_vector
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:89,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: Botan::XMSS_PublicKey::XMSS_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 1
    functionsReached:
    - ots_oid
    - extract_raw_public_key
    - size
    - Decoding_Error
    - deserialize_xmss_oid
    - BufferSlicer::skip
    - BufferSlicer::copy_as_secure_vector
    - raw_public_key_size
    - element_size
    linkageType: ''
    returnType: void
    signature: void XMSS_PublicKey::XMSS_PublicKey(std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ots_oid
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:96,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:97,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:98,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:99,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:99,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:99,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:100,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:100,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - xmss_oid
    - root
    - public_seed
    argTypes:
    - XMSS_Parameters::xmss_algorithm_t
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: Botan::XMSS_PublicKey::XMSS_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 1
    functionsReached:
    - ots_oid
    - size
    - std::move
    - BOTAN_ARG_CHECK
    - element_size
    linkageType: ''
    returnType: void
    signature: "void XMSS_PublicKey::XMSS_PublicKey(XMSS_Parameters::xmss_algorithm_t
      xmss_oid,\n                               secure_vector<uint8_t> root,\n                               secure_vector<uint8_t>
      public_seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:105,1
    - Dst: std::make_unique<XMSS_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:106,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:108,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - provider
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: Botan::XMSS_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - std::make_unique<XMSS_Verification_Operation>
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> XMSS_PublicKey::create_verification_op(std::string_view
      /*params*/,\n                                                                             std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:113,1
    - Dst: Botan::XMSS_PublicKey::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:114,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:115,1
    - Dst: std::make_unique<XMSS_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:117,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:119,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ' alg_id'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: Botan::XMSS_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::string_view::empty
    - Decoding_Error
    - Botan::XMSS_PublicKey::algorithm_identifier
    - std::make_unique<XMSS_Verification_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> XMSS_PublicKey::create_x509_verification_op(const
      AlgorithmIdentifier& alg_id,\n                                                                                  std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:123,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:123,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:123,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: Botan::XMSS_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - store_be
    - concat
    - oid
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> XMSS_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:128,1
    - Dst: Botan::XMSS_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: Botan::XMSS_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 0
    functionsReached:
    - Botan::XMSS_PublicKey::raw_public_key_bits
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> XMSS_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: Botan::XMSS_PublicKey::raw_public_key
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 0
    functionsReached:
    - Botan::XMSS_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> XMSS_PublicKey::raw_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<XMSS_PrivateKey>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:140,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: Botan::XMSS_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_publickey.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<XMSS_PrivateKey>
    - oid
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> XMSS_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' hash'
    argTypes:
    - XMSS_Hash
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::XMSS_Hash::XMSS_Hash
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMSS_Hash(XMSS_Hash&& hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~XMSS_Hash()
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~XMSS_Hash()
  - 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: '& operator=(const XMSS_Hash&)'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_Hash
    signature: XMSS_Hash & operator=(const XMSS_Hash&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '& operator=(XMSS_Hash&&)'
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_Hash
    signature: XMSS_Hash & operator=(XMSS_Hash&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::XMSS_Hash::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:41,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:42,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:43,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:43,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:43,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:44,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:44,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:44,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - hash_id
    - ' result'
    - key
    - data
    argTypes:
    - uint8_t
    - secure_vector<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: Botan::XMSS_Hash::calculate_hash
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached:
    - update
    - final
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: "void calculate_hash(const uint8_t hash_id,\n                                 secure_vector<uint8_t>&
      result,\n                                 std::span<const uint8_t> key,\n                                 std::span<const
      uint8_t> data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Hash::calculate_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' result'
    - key
    - data
    argTypes:
    - secure_vector<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::XMSS_Hash::prf
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Hash::calculate_hash
    linkageType: ''
    returnType: void
    signature: void prf(secure_vector<uint8_t>& result, std::span<const uint8_t> key,
      std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Hash::calculate_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' result'
    - key
    - data
    argTypes:
    - secure_vector<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: Botan::XMSS_Hash::prf_keygen
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Hash::calculate_hash
    linkageType: ''
    returnType: void
    signature: "void prf_keygen(secure_vector<uint8_t>& result,\n                             std::span<const
      uint8_t> key,\n                             std::span<const uint8_t> data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Hash::calculate_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' result'
    - key
    - data
    argTypes:
    - secure_vector<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: Botan::XMSS_Hash::f
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Hash::calculate_hash
    linkageType: ''
    returnType: void
    signature: void f(secure_vector<uint8_t>& result, std::span<const uint8_t> key,
      std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Hash::calculate_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' result'
    - key
    - data
    argTypes:
    - secure_vector<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: Botan::XMSS_Hash::h
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Hash::calculate_hash
    linkageType: ''
    returnType: void
    signature: void h(secure_vector<uint8_t>& result, std::span<const uint8_t> key,
      std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Hash::h_msg_init
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:116,1
    - Dst: Botan::XMSS_Hash::h_msg_update
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:117,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - randomness
    - root
    - index_bytes
    - data
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: Botan::XMSS_Hash::h_msg
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 0
    functionsReached:
    - Botan::XMSS_Hash::h_msg_update
    - final
    - Botan::XMSS_Hash::h_msg_init
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> h_msg(std::span<const uint8_t> randomness,\n
      \                                  std::span<const uint8_t> root,\n                                   std::span<const
      uint8_t> index_bytes,\n                                   std::span<const uint8_t>
      data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XMSS_Hash::output_length
      Src: /src/botan/src/lib/pubkey/xmss/xmss_hash.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: Botan::XMSS_Hash::output_length
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_hash.h
    functionUses: 2
    functionsReached:
    - Botan::XMSS_Hash::output_length
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::XMSS_Tools::XMSS_Tools
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_tools.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMSS_Tools()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::XMSS_Tools::XMSS_Tools
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_tools.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMSS_Tools(const XMSS_Tools&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: operator=(const XMSS_Tools&)
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_tools.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const XMSS_Tools&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse_copy
      Src: /src/botan/src/lib/pubkey/xmss/xmss_tools.h:58,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_tools.h:58,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/xmss/xmss_tools.h:60,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_tools.h:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' target'
    - ' src'
    argTypes:
    - secure_vector<uint8_t>
    - T
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: Botan::XMSS_Tools::concat
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_tools.h
    functionUses: 3
    functionsReached:
    - copy
    - std::reverse_copy
    - std::back_inserter
    linkageType: ''
    returnType: void
    signature: void XMSS_Tools::concat(secure_vector<uint8_t>& target, const T& src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/xmss/xmss_tools.h:68,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_tools.h:68,1
    - Dst: std::reverse_copy
      Src: /src/botan/src/lib/pubkey/xmss/xmss_tools.h:73,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_tools.h:73,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/xmss/xmss_tools.h:75,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/xmss/xmss_tools.h:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' target'
    - ' src'
    - len
    argTypes:
    - secure_vector<uint8_t>
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: Botan::XMSS_Tools::concat
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_tools.h
    functionUses: 3
    functionsReached:
    - copy
    - std::back_inserter
    - size
    - std::reverse_copy
    - resize
    linkageType: ''
    returnType: void
    signature: void XMSS_Tools::concat(secure_vector<uint8_t>& target, const T& src,
      size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/xmss/xmss.h:75,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/xmss/xmss.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: Botan::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss.h
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - object_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier algorithm_identifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_key(RandomNumberGenerator&, bool) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::estimated_strength
      Src: /src/botan/src/lib/pubkey/xmss/xmss.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Botan::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss.h
    functionUses: 1
    functionsReached:
    - Botan::estimated_strength
    linkageType: ''
    returnType: size_t
    signature: size_t estimated_strength() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::estimated_strength
      Src: /src/botan/src/lib/pubkey/xmss/xmss.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Botan::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss.h
    functionUses: 0
    functionsReached:
    - Botan::estimated_strength
    linkageType: ''
    returnType: size_t
    signature: size_t key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan::public_seed
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & public_seed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan::root
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & root() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: Botan::xmss_parameters
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_Parameters
    signature: XMSS_Parameters & xmss_parameters() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: stateful_operation
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stateful_operation() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 116
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: XMSS_WOTS_Parameters
    signature: XMSS_WOTS_Parameters final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: Botan::std::name
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void std::string& name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: Botan::hash_function_name
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & hash_function_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: Botan::element_size
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t element_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: Botan::hash_id_size
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_id_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: Botan::tree_height
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tree_height() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: Botan::total_number_of_signatures
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 0
    functionsReached:
    - Botan::tree_height
    linkageType: ''
    returnType: size_t
    signature: size_t total_number_of_signatures() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: Botan::wots_parameter
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t wots_parameter() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: Botan::len
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t len() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: Botan::oid
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: xmss_algorithm_t
    signature: xmss_algorithm_t oid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: Botan::ots_oid
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMSS_WOTS_Parameters::ots_algorithm_t
    signature: XMSS_WOTS_Parameters::ots_algorithm_t ots_oid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: Botan::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: Botan::raw_public_key_size
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 0
    functionsReached:
    - Botan::element_size
    linkageType: ''
    returnType: size_t
    signature: size_t raw_public_key_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::raw_public_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h:225,1
    - Dst: Botan::element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: Botan::raw_legacy_private_key_size
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 1
    functionsReached:
    - Botan::element_size
    - Botan::raw_public_key_size
    linkageType: ''
    returnType: size_t
    signature: size_t raw_legacy_private_key_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::raw_legacy_private_key_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 3
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: Botan::raw_private_key_size
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 1
    functionsReached:
    - Botan::raw_legacy_private_key_size
    linkageType: ''
    returnType: size_t
    signature: size_t raw_private_key_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - XMSS_Parameters
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: operator==(const XMSS_Parameters& p) const
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const XMSS_Parameters& p) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key_mask_mode
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:22,1
    - Dst: prf
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:24,1
    - Dst: bytes
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:24,1
    - Dst: set_key_mask_mode
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:26,1
    - Dst: prf
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:28,1
    - Dst: bytes
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:28,1
    - Dst: set_key_mask_mode
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:30,1
    - Dst: prf
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:32,1
    - Dst: bytes
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:32,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:34,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:34,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:34,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:34,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:34,1
    - Dst: element_size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:37,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:38,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:40,1
    - Dst: h
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 7
    argNames:
    - ' result'
    - ' left'
    - ' right'
    - ' adrs'
    - ' seed'
    - ' hash'
    - ' params'
    argTypes:
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - XMSS_Address
    - secure_vector<uint8_t>
    - XMSS_Hash
    - XMSS_Parameters
    constantsTouched: []
    func_position:
      end: 44
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 44
    functionName: Botan::XMSS_Common_Ops::randomize_tree_hash
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp
    functionUses: 3
    functionsReached:
    - secure_vector::size
    - h
    - set_key_mask_mode
    - size
    - bytes
    - BOTAN_ASSERT
    - prf
    - element_size
    linkageType: ''
    returnType: void
    signature: "void XMSS_Common_Ops::randomize_tree_hash(secure_vector<uint8_t>&
      result,\n                                          const secure_vector<uint8_t>&
      left,\n                                          const secure_vector<uint8_t>&
      right,\n                                          XMSS_Address& adrs,\n                                          const
      secure_vector<uint8_t>& seed,\n                                          XMSS_Hash&
      hash,\n                                          const XMSS_Parameters& params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:53,1
    - Dst: set_tree_index
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:57,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:57,1
    - Dst: Botan::XMSS_Common_Ops::randomize_tree_hash
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:58,1
    - Dst: set_tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:64,1
    - Dst: get_tree_height
      Src: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - ' result'
    - pk
    - ' adrs'
    - ' seed'
    - ' hash'
    - ' params'
    argTypes:
    - secure_vector<uint8_t>
    - wots_keysig_t
    - XMSS_Address
    - secure_vector<uint8_t>
    - XMSS_Hash
    - XMSS_Parameters
    constantsTouched: []
    func_position:
      end: 67
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 67
    functionName: Botan::XMSS_Common_Ops::create_l_tree
    functionSourceFile: /src/botan/src/lib/pubkey/xmss/xmss_common_ops.cpp
    functionUses: 2
    functionsReached:
    - get_tree_height
    - static_cast<uint32_t>
    - set_tree_index
    - Botan::XMSS_Common_Ops::randomize_tree_hash
    - set_tree_height
    linkageType: ''
    returnType: void
    signature: "void XMSS_Common_Ops::create_l_tree(secure_vector<uint8_t>& result,\n
      \                                   wots_keysig_t pk,\n                                    XMSS_Address&
      adrs,\n                                    const secure_vector<uint8_t>& seed,\n
      \                                   XMSS_Hash& hash,\n                                    const
      XMSS_Parameters& params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' public_point'
    argTypes:
    - EC_Group
    - EC_Point
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::GOST_3410_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GOST_3410_PublicKey(const EC_Group& group, const EC_Point& public_point)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::_signature_element_size_for_DER_encoding
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.h
    functionUses: 0
    functionsReached:
    - Botan::domain
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> _signature_element_size_for_DER_encoding() const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::_default_x509_signature_format
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Signature_Format
    signature: Signature_Format _default_x509_signature_format() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PublicKey::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: pkcs8_algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.h
    functionUses: 1
    functionsReached:
    - Botan::EC_PublicKey::algorithm_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier pkcs8_algorithm_identifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:25,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:25,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - domain
    argTypes:
    - EC_Group
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: Botan::check_domain
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan::Decoding_Error
    linkageType: ''
    returnType: EC_Group
    signature: EC_Group check_domain(EC_Group domain)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:33,1
    - Dst: std::swap
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:39,1
    - Dst: std::swap
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:40,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: Botan::GOST_3410_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - _public_ec_point
    - std::swap
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> GOST_3410_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:52,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: Botan::GOST_3410_PublicKey::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - Encoding_Error
    linkageType: ''
    returnType: std::string
    signature: std::string GOST_3410_PublicKey::algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:61,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:62,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:64,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: Botan::GOST_3410_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - domain
    - AlgorithmIdentifier
    - object_identifier
    - DER_Encoder
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier GOST_3410_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:73,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:73,1
    - Dst: check_domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:75,1
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:75,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:78,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:80,1
    - Dst: auto::get_p_bits
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:80,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:81,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:88,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:88,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:89,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:90,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:90,1
    - Dst: std::vector::rbegin
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:90,1
    - Dst: std::vector::rend
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:90,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:91,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:91,1
    - Dst: std::vector::rbegin
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:91,1
    - Dst: std::vector::rend
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:91,1
    - Dst: std::make_shared<EC_PublicKey_Data>
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:93,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 94
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 94
    functionName: Botan::GOST_3410_PublicKey::GOST_3410_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Botan::EC_Group::from_OID
    - BER_Decoder
    - auto::get_p_bits
    - parameters
    - Decoding_Error
    - std::vector::reserve
    - std::vector::push_back
    - std::vector::insert
    - std::vector::end
    - check_domain
    - std::vector::rbegin
    - std::vector::rend
    - std::move
    - std::make_shared<EC_PublicKey_Data>
    linkageType: ''
    returnType: void
    signature: void GOST_3410_PublicKey::GOST_3410_PublicKey(const AlgorithmIdentifier&
      alg_id, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:97,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' domain'
    - ' x'
    argTypes:
    - EC_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: Botan::GOST_3410_PrivateKey::GOST_3410_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - check_domain
    - Botan::EC_Scalar::from_bigint
    linkageType: ''
    returnType: void
    signature: void GOST_3410_PrivateKey::GOST_3410_PrivateKey(const EC_Group& domain,
      const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:100,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rng'
    - domain
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: Botan::GOST_3410_PrivateKey::GOST_3410_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - check_domain
    - std::move
    linkageType: ''
    returnType: void
    signature: void GOST_3410_PrivateKey::GOST_3410_PrivateKey(RandomNumberGenerator&
      rng, EC_Group domain)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' rng'
    - ' domain'
    - ' x'
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: Botan::GOST_3410_PrivateKey::GOST_3410_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - check_domain
    linkageType: ''
    returnType: void
    signature: void GOST_3410_PrivateKey::GOST_3410_PrivateKey(RandomNumberGenerator&
      rng, const EC_Group& domain, const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<GOST_3410_PublicKey>
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:106,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:106,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: Botan::GOST_3410_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<GOST_3410_PublicKey>
    - _public_ec_point
    - domain
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> GOST_3410_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::rbegin
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:112,1
    - Dst: std::span<const uint8_t>::rend
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:112,1
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:114,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:115,1
    - Dst: Botan::EC_Scalar::one
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' group'
    - msg
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: Botan::gost_msg_to_scalar
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::rend
    - Botan::EC_Scalar::from_bytes_mod_order
    - auto::is_zero
    - std::span<const uint8_t>::rbegin
    - Botan::EC_Scalar::one
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar gost_msg_to_scalar(const EC_Group& group, std::span<const
      uint8_t> msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:128,1
    - Dst: _private_key
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' gost_3410'
    - emsa
    argTypes:
    - GOST_3410_PrivateKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: Botan::GOST_3410_Signature_Operation::GOST_3410_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _private_key
    linkageType: ''
    returnType: void
    signature: void GOST_3410_Signature_Operation(const GOST_3410_PrivateKey& gost_3410,
      std::string_view emsa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_order_bytes
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan::GOST_3410_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - get_order_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_function
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:142,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:157,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:158,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:161,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 162
    functionName: Botan::GOST_3410_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - hash_function
    - AlgorithmIdentifier
    - std::string::empty
    - Not_Implemented
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier GOST_3410_Signature_Operation::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gost_msg_to_scalar
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:165,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:167,1
    - Dst: Botan::EC_Scalar::gk_x_mod_order
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:168,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:171,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:171,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:172,1
    - Dst: Botan::EC_Scalar::deserialize_pair
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: Botan::GOST_3410_Signature_Operation::raw_sign
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar::deserialize_pair
    - Botan::EC_Scalar::gk_x_mod_order
    - gost_msg_to_scalar
    - auto::is_zero
    - Botan::EC_Scalar::random
    - Internal_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> GOST_3410_Signature_Operation::raw_sign(std::span<const
      uint8_t> msg, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters_are_empty
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:179,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:180,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:183,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:197,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:197,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - ' alg_id'
    argTypes:
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: Botan::gost_hash_from_algid
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan::oid
    - parameters_are_empty
    - Botan::Decoding_Error
    - Botan::fmt
    linkageType: ''
    returnType: std::string
    signature: std::string gost_hash_from_algid(const AlgorithmIdentifier& alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:206,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' gost'
    - padding
    argTypes:
    - GOST_3410_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: Botan::GOST_3410_Verification_Operation::GOST_3410_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _public_ec_point
    linkageType: ''
    returnType: void
    signature: void GOST_3410_Verification_Operation(const GOST_3410_PublicKey& gost,
      std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gost_hash_from_algid
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:209,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:210,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' gost'
    - ' alg_id'
    argTypes:
    - GOST_3410_PublicKey
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: Botan::GOST_3410_Verification_Operation::GOST_3410_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _public_ec_point
    - gost_hash_from_algid
    linkageType: ''
    returnType: void
    signature: void GOST_3410_Verification_Operation(const GOST_3410_PublicKey& gost,
      const AlgorithmIdentifier& alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::deserialize_pair
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:221,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:222,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:224,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:224,1
    - Dst: gost_msg_to_scalar
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:225,1
    - Dst: auto::invert_vartime
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:227,1
    - Dst: mul2_vartime_x_mod_order_eq
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:230,1
    - Dst: negate
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - sig
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 235
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 235
    functionName: Botan::GOST_3410_Verification_Operation::verify
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - negate
    - Botan::EC_Scalar::deserialize_pair
    - auto::value
    - is_nonzero
    - auto::invert_vartime
    - mul2_vartime_x_mod_order_eq
    - gost_msg_to_scalar
    linkageType: ''
    returnType: bool
    signature: bool GOST_3410_Verification_Operation::verify(std::span<const uint8_t>
      msg, std::span<const uint8_t> sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<GOST_3410_PrivateKey>
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:240,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: Botan::GOST_3410_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - domain
    - std::make_unique<GOST_3410_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> GOST_3410_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:245,1
    - Dst: std::make_unique<GOST_3410_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:246,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:248,1
    - Dst: Botan::GOST_3410_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: Botan::GOST_3410_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan::GOST_3410_PublicKey::algo_name
    - std::string_view::empty
    - std::make_unique<GOST_3410_Verification_Operation>
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> GOST_3410_PublicKey::create_verification_op(std::string_view
      params,\n                                                                                  std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:253,1
    - Dst: std::make_unique<GOST_3410_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:254,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:257,1
    - Dst: Botan::GOST_3410_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' signature_algorithm'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: Botan::GOST_3410_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - Botan::GOST_3410_PublicKey::algo_name
    - std::string_view::empty
    - std::make_unique<GOST_3410_Verification_Operation>
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> GOST_3410_PublicKey::create_x509_verification_op(\n
      \  const AlgorithmIdentifier& signature_algorithm, std::string_view provider)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:263,1
    - Dst: std::make_unique<GOST_3410_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:264,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:266,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: Botan::GOST_3410_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/gost_3410/gost_3410.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - std::make_unique<GOST_3410_Signature_Operation>
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> GOST_3410_PrivateKey::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                             std::string_view
      params,\n                                                                             std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem/frodo_shake_generator.h:24,1
    - Dst: Botan::mode
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem/frodo_shake_generator.h:24,1
    - Dst: SHAKE_128_XOF
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem/frodo_shake_generator.h:26,1
    - Dst: FrodoSeedA
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem/frodo_shake_generator.h:26,1
    - Dst: Botan::clear
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem/frodo_shake_generator.h:27,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem/frodo_shake_generator.h:28,1
    - Dst: Botan::store_le
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem/frodo_shake_generator.h:28,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem/frodo_shake_generator.h:29,1
    - Dst: Botan::output
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem/frodo_shake_generator.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' constants'
    - seed_a
    argTypes:
    - FrodoKEMConstants
    - StrongSpan<const FrodoSeedA>
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: Botan::create_shake_row_generator
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem/frodo_shake_generator.h
    functionUses: 0
    functionsReached:
    - Botan::store_le
    - SHAKE_128_XOF
    - BOTAN_ASSERT_NOMSG
    - Botan::mode
    - Botan::update
    - FrodoSeedA
    - Botan::output
    - Botan::clear
    linkageType: ''
    returnType: auto
    signature: auto create_shake_row_generator(const FrodoKEMConstants& constants,
      StrongSpan<const FrodoSeedA> seed_a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:26,1
    - Dst: Botan::mode
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:26,1
    - Dst: AES_128::set_key
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:30,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:34,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:34,1
    - Dst: setup_aes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:34,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:37,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:37,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:43,1
    - Dst: Botan::store_le
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:43,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:44,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:44,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:47,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:47,1
    - Dst: AES_128::encrypt
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - ' constants'
    - seed_a
    argTypes:
    - FrodoKEMConstants
    - StrongSpan<const FrodoSeedA>
    constantsTouched: []
    func_position:
      end: 51
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 51
    functionName: Botan::create_aes_row_generator
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_aes/frodo_aes_generator.h
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - AES_128::set_key
    - BufferStuffer::remaining_capacity
    - Botan::store_le
    - BufferStuffer::append
    - BOTAN_ASSERT_NOMSG
    - AES_128::encrypt
    - Botan::mode
    - n
    - BOTAN_DEBUG_ASSERT
    - Botan::clear_mem
    - setup_aes
    - BufferStuffer::full
    - BufferStuffer::next
    linkageType: ''
    returnType: auto
    signature: auto create_aes_row_generator(const FrodoKEMConstants& constants, StrongSpan<const
      FrodoSeedA> seed_a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FrodoKEMConstants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.h:27,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.h:39,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.h:41,1
    - Dst: FrodoDomainSeparator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.h:75,1
    - Dst: FrodoDomainSeparator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.h:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 99
    functionName: Botan::FrodoKEMConstants
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.h
    functionUses: 1
    functionsReached:
    - Botan::size
    - Botan::FrodoKEMConstants
    - at
    - FrodoDomainSeparator
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API FrodoKEMConstants
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp:64,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp:64,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 65
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 65
    functionName: Botan::FrodoKEM_mode_from_string
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - Botan::fmt
    linkageType: ''
    returnType: FrodoKEMMode::Mode
    signature: FrodoKEMMode::Mode FrodoKEM_mode_from_string(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mode
    argTypes:
    - Mode
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::FrodoKEMMode::FrodoKEMMode
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FrodoKEMMode::FrodoKEMMode(Mode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrodoKEM_mode_from_string
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp:71,1
    - Dst: to_formatted_string
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::FrodoKEMMode::FrodoKEMMode
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp
    functionUses: 2
    functionsReached:
    - to_formatted_string
    - FrodoKEM_mode_from_string
    linkageType: ''
    returnType: void
    signature: void FrodoKEMMode::FrodoKEMMode(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrodoKEM_mode_from_string
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::FrodoKEMMode::FrodoKEMMode
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp
    functionUses: 2
    functionsReached:
    - FrodoKEM_mode_from_string
    linkageType: ''
    returnType: void
    signature: void FrodoKEMMode::FrodoKEMMode(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp:76,1
    - Dst: Botan::FrodoKEMMode::to_string
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: Botan::FrodoKEMMode::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - Botan::FrodoKEMMode::to_string
    linkageType: ''
    returnType: OID
    signature: OID FrodoKEMMode::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 109
    functionName: Botan::FrodoKEMMode::to_string
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: std::string
    signature: std::string FrodoKEMMode::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:37,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:37,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:37,1
    - Dst: SHAKE_XOF
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:38,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:39,1
    - Dst: Botan::FrodoKEM_PublicKeyInternal::serialize
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:39,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:40,1
    - Dst: len_sec_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - constants
    - seed_a
    - b
    argTypes:
    - FrodoKEMConstants
    - FrodoSeedA
    - FrodoMatrix
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: Botan::FrodoKEM_PublicKeyInternal::FrodoKEM_PublicKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - output
    - len_sec_bytes
    - Botan::FrodoKEM_PublicKeyInternal::serialize
    - std::move
    - update
    - SHAKE_XOF
    linkageType: ''
    returnType: void
    signature: void FrodoKEM_PublicKeyInternal(FrodoKEMConstants constants, FrodoSeedA
      seed_a, FrodoMatrix b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& constants() const'
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FrodoKEMConstants
    signature: FrodoKEMConstants & constants() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '& seed_a() const'
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FrodoSeedA
    signature: FrodoSeedA & seed_a() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& b() const'
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FrodoMatrix
    signature: FrodoMatrix & b() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '& hash() const'
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FrodoPublicKeyHash
    signature: FrodoPublicKeyHash & hash() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:51,1
    - Dst: seed_a
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:51,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::FrodoKEM_PublicKeyInternal::serialize
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 1
    functionsReached:
    - b
    - concat
    - seed_a
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:63,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - s_trans
    argTypes:
    - FrodoSeedS
    - FrodoMatrix
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: Botan::FrodoKEM_PrivateKeyInternal::FrodoKEM_PrivateKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void FrodoKEM_PrivateKeyInternal(FrodoSeedS s, FrodoMatrix s_trans)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '& s() const'
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FrodoSeedS
    signature: FrodoSeedS & s() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& s_trans() const'
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FrodoMatrix
    signature: FrodoMatrix & s_trans() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::FrodoKEM_PrivateKeyInternal::_const_time_poison
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::FrodoKEM_PrivateKeyInternal::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - kdf
    argTypes:
    - std::shared_ptr<FrodoKEM_PublicKeyInternal>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: Botan::Frodo_KEM_Encryptor::Frodo_KEM_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Frodo_KEM_Encryptor(std::shared_ptr<FrodoKEM_PublicKeyInternal>
      key, std::string_view kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Botan::Frodo_KEM_Encryptor::raw_kem_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - constants
    linkageType: ''
    returnType: size_t
    signature: size_t raw_kem_shared_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan::Frodo_KEM_Encryptor::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - constants
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:94,1
    - Dst: SHAKE_XOF
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:95,1
    - Dst: Botan::FrodoMatrix::make_sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:96,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:100,1
    - Dst: len_packed_b_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:100,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:101,1
    - Dst: len_packed_c_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:101,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:102,1
    - Dst: len_salt_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:102,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:104,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:104,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:106,1
    - Dst: len_sec_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:106,1
    - Dst: randomize
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:107,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:109,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:111,1
    - Dst: hash
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:111,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:112,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:113,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:114,1
    - Dst: len_se_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:114,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:115,1
    - Dst: len_sec_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:115,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:116,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:118,1
    - Dst: encapsulation_domain_separator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:118,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:119,1
    - Dst: sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:121,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:121,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:121,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:121,1
    - Dst: sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:123,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:123,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:123,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:123,1
    - Dst: Botan::FrodoMatrix::mul_add_sa_plus_e
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:125,1
    - Dst: seed_a
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:125,1
    - Dst: auto::pack
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:127,1
    - Dst: sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:129,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:129,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:129,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:129,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:130,1
    - Dst: Botan::FrodoMatrix::mul_add_sb_plus_e
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:132,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:132,1
    - Dst: Botan::FrodoMatrix::encode
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:134,1
    - Dst: Botan::FrodoMatrix::add
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:136,1
    - Dst: auto::pack
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:138,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:140,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:141,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:142,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - out_encapsulated_key
    - out_shared_key
    - ' rng'
    argTypes:
    - std::span<uint8_t>
    - std::span<uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 145
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 145
    functionName: Botan::Frodo_KEM_Encryptor::raw_kem_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - len_packed_c_bytes
    - len_se_bytes
    - clear
    - len_packed_b_bytes
    - n_bar
    - Botan::FrodoMatrix::make_sample_generator
    - encapsulation_domain_separator
    - Botan::FrodoMatrix::mul_add_sa_plus_e
    - output
    - Botan::CT::unpoison_all
    - BOTAN_ASSERT_NOMSG
    - n
    - Botan::CT::poison
    - randomize
    - update
    - SHAKE_XOF
    - Botan::FrodoMatrix::mul_add_sb_plus_e
    - hash
    - len_sec_bytes
    - Botan::FrodoMatrix::encode
    - random_vec
    - len_salt_bytes
    - b
    - seed_a
    - Botan::FrodoMatrix::add
    - BufferStuffer::next
    - constants
    - auto::pack
    - sample_generator
    - BufferStuffer::full
    - std::tuple
    linkageType: ''
    returnType: void
    signature: "void raw_kem_encrypt(std::span<uint8_t> out_encapsulated_key,\n                           std::span<uint8_t>
      out_shared_key,\n                           RandomNumberGenerator& rng) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:156,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - public_key
    - private_key
    - kdf
    argTypes:
    - std::shared_ptr<FrodoKEM_PublicKeyInternal>
    - std::shared_ptr<FrodoKEM_PrivateKeyInternal>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: Botan::Frodo_KEM_Decryptor::Frodo_KEM_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Frodo_KEM_Decryptor(std::shared_ptr<FrodoKEM_PublicKeyInternal>
      public_key,\n                          std::shared_ptr<FrodoKEM_PrivateKeyInternal>
      private_key,\n                          std::string_view kdf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: Botan::Frodo_KEM_Decryptor::raw_kem_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - constants
    linkageType: ''
    returnType: size_t
    signature: size_t raw_kem_shared_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: Botan::Frodo_KEM_Decryptor::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - constants
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:163,1
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:165,1
    - Dst: SHAKE_XOF
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:166,1
    - Dst: Botan::FrodoMatrix::make_sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:167,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:169,1
    - Dst: len_ct_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:169,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:170,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:174,1
    - Dst: len_packed_b_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:174,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:175,1
    - Dst: len_packed_c_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:175,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:176,1
    - Dst: len_salt_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:176,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:177,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:177,1
    - Dst: Botan::FrodoMatrix::unpack
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:179,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:179,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:179,1
    - Dst: Botan::FrodoMatrix::unpack
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:180,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:180,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:180,1
    - Dst: Botan::FrodoMatrix::mul_bs
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:182,1
    - Dst: s_trans
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:182,1
    - Dst: Botan::FrodoMatrix::sub
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:183,1
    - Dst: auto::decode
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:185,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:187,1
    - Dst: hash
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:187,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:188,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:189,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:191,1
    - Dst: len_se_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:191,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:192,1
    - Dst: len_sec_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:192,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:193,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:195,1
    - Dst: encapsulation_domain_separator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:195,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:196,1
    - Dst: sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:197,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:197,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:197,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:197,1
    - Dst: sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:199,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:199,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:199,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:199,1
    - Dst: Botan::FrodoMatrix::mul_add_sa_plus_e
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:201,1
    - Dst: seed_a
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:201,1
    - Dst: sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:203,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:203,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:203,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:203,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:204,1
    - Dst: Botan::FrodoMatrix::mul_add_sb_plus_e
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:206,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:206,1
    - Dst: Botan::FrodoMatrix::encode
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:208,1
    - Dst: Botan::FrodoMatrix::add
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:209,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:214,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:215,1
    - Dst: auto::constant_time_compare
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:220,1
    - Dst: auto::constant_time_compare
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:220,1
    - Dst: len_sec_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:222,1
    - Dst: Botan::CT::conditional_copy_mem
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:223,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:223,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:223,1
    - Dst: s
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:223,1
    - Dst: len_sec_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:223,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:225,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:226,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:227,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - out_shared_key
    - encapsulated_key
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 230
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 230
    functionName: Botan::Frodo_KEM_Decryptor::raw_kem_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - len_packed_c_bytes
    - len_se_bytes
    - len_ct_bytes
    - clear
    - len_packed_b_bytes
    - n_bar
    - Botan::FrodoMatrix::make_sample_generator
    - Botan::FrodoMatrix::mul_bs
    - encapsulation_domain_separator
    - Botan::FrodoMatrix::mul_add_sa_plus_e
    - auto::constant_time_compare
    - s_trans
    - output
    - BOTAN_ASSERT_NOMSG
    - auto::decode
    - n
    - Botan::FrodoMatrix::sub
    - std::span<const uint8_t>::size
    - s
    - Invalid_Argument
    - update
    - SHAKE_XOF
    - Botan::FrodoMatrix::mul_add_sb_plus_e
    - Botan::CT::conditional_copy_mem
    - std::vector::data
    - hash
    - len_sec_bytes
    - BufferSlicer::take
    - Botan::FrodoMatrix::encode
    - len_salt_bytes
    - b
    - auto::reduce
    - Botan::FrodoMatrix::unpack
    - seed_a
    - Botan::FrodoMatrix::add
    - constants
    - Botan::CT::scoped_poison
    - auto::data
    - BufferSlicer::empty
    - Botan::CT::unpoison
    - sample_generator
    - std::tuple
    linkageType: ''
    returnType: void
    signature: void raw_kem_decrypt(std::span<uint8_t> out_shared_key, std::span<const
      uint8_t> encapsulated_key) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:243,1
    - Dst: FrodoKEMConstants::len_public_key_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:243,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:244,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:248,1
    - Dst: FrodoKEMConstants::len_a_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:248,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:249,1
    - Dst: FrodoKEMConstants::d
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:249,1
    - Dst: FrodoKEMConstants::n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:249,1
    - Dst: FrodoKEMConstants::n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:249,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:250,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:250,1
    - Dst: Botan::FrodoMatrix::unpack
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:252,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:252,1
    - Dst: FrodoKEMConstants::n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:252,1
    - Dst: FrodoKEMConstants::n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:252,1
    - Dst: std::make_shared<FrodoKEM_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:254,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:254,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:254,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pub_key
    - mode
    argTypes:
    - std::span<const uint8_t>
    - FrodoKEMMode
    constantsTouched: []
    func_position:
      end: 255
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 255
    functionName: Botan::FrodoKEM_PublicKey::FrodoKEM_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - FrodoKEMConstants::n_bar
    - std::make_shared<FrodoKEM_PublicKeyInternal>
    - BOTAN_ASSERT_NOMSG
    - BufferSlicer::take
    - BufferSlicer::copy
    - FrodoKEMConstants::d
    - FrodoKEMConstants::len_public_key_bytes
    - Botan::FrodoMatrix::unpack
    - BufferSlicer::empty
    - std::move
    - std::span<const uint8_t>::size
    - FrodoKEMConstants::n
    - Invalid_Argument
    - FrodoKEMConstants::len_a_bytes
    - std::tuple
    linkageType: ''
    returnType: void
    signature: void FrodoKEM_PublicKey::FrodoKEM_PublicKey(std::span<const uint8_t>
      pub_key, FrodoKEMMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrodoKEMMode
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:258,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: Botan::FrodoKEM_PublicKey::FrodoKEM_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - FrodoKEMMode
    - oid
    linkageType: ''
    returnType: void
    signature: void FrodoKEM_PublicKey::FrodoKEM_PublicKey(const AlgorithmIdentifier&
      alg_id, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FrodoKEM_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:261,1
    - Dst: m_public::constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:262,1
    - Dst: m_public::seed_a
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:262,1
    - Dst: m_public::b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FrodoKEM_PublicKey
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: Botan::FrodoKEM_PublicKey::FrodoKEM_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<FrodoKEM_PublicKeyInternal>
    - m_public::constants
    - m_public::seed_a
    - m_public::b
    linkageType: ''
    returnType: void
    signature: void FrodoKEM_PublicKey::FrodoKEM_PublicKey(const FrodoKEM_PublicKey&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FrodoKEM_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:267,1
    - Dst: m_public::constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:268,1
    - Dst: m_public::seed_a
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:268,1
    - Dst: m_public::b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FrodoKEM_PublicKey
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: '& FrodoKEM_PublicKey::operator=(const FrodoKEM_PublicKey& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<FrodoKEM_PublicKeyInternal>
    - m_public::constants
    - m_public::seed_a
    - m_public::b
    linkageType: ''
    returnType: FrodoKEM_PublicKey
    signature: FrodoKEM_PublicKey & FrodoKEM_PublicKey::operator=(const FrodoKEM_PublicKey&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:274,1
    - Dst: Botan::FrodoKEM_PublicKey::object_identifier
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: Botan::FrodoKEM_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan::FrodoKEM_PublicKey::object_identifier
    - AlgorithmIdentifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier FrodoKEM_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: Botan::FrodoKEM_PublicKey::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 1
    functionsReached:
    - constants
    linkageType: ''
    returnType: OID
    signature: OID FrodoKEM_PublicKey::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: Botan::FrodoKEM_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - constants
    linkageType: ''
    returnType: size_t
    signature: size_t FrodoKEM_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: Botan::FrodoKEM_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - constants
    linkageType: ''
    returnType: size_t
    signature: size_t FrodoKEM_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:290,1
    - Dst: seed_a
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:290,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:290,1
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: Botan::FrodoKEM_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - b
    - constants
    - concat
    - seed_a
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> FrodoKEM_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FrodoKEM_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: Botan::FrodoKEM_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan::FrodoKEM_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> FrodoKEM_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: Botan::FrodoKEM_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool FrodoKEM_PublicKey::check_key(RandomNumberGenerator&, bool) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FrodoKEM_PrivateKey>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:304,1
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: Botan::FrodoKEM_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<FrodoKEM_PrivateKey>
    - constants
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> FrodoKEM_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:309,1
    - Dst: std::make_unique<Frodo_KEM_Encryptor>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:310,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:312,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: Botan::FrodoKEM_PublicKey::create_kem_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::make_unique<Frodo_KEM_Encryptor>
    - std::string_view::empty
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Encryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Encryption> FrodoKEM_PublicKey::create_kem_encryption_op(std::string_view
      params,\n                                                                                     std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrodoKEMConstants::SHAKE_XOF
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:321,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:323,1
    - Dst: FrodoKEMConstants::len_sec_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:323,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:324,1
    - Dst: FrodoKEMConstants::len_se_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:324,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:325,1
    - Dst: FrodoKEMConstants::len_a_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:325,1
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:327,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:329,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:330,1
    - Dst: FrodoKEMConstants::len_a_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:330,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:331,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:333,1
    - Dst: FrodoKEMConstants::keygen_domain_separator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:333,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:334,1
    - Dst: Botan::FrodoMatrix::make_sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:336,1
    - Dst: sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:337,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:337,1
    - Dst: FrodoKEMConstants::n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:337,1
    - Dst: FrodoKEMConstants::n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:337,1
    - Dst: sample_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:338,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:338,1
    - Dst: FrodoKEMConstants::n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:338,1
    - Dst: FrodoKEMConstants::n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:338,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:339,1
    - Dst: Botan::FrodoMatrix::mul_add_as_plus_e
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:341,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:343,1
    - Dst: std::make_shared<FrodoKEM_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:345,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:345,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:345,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:345,1
    - Dst: std::make_shared<FrodoKEM_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:346,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:346,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ' rng'
    - mode
    argTypes:
    - RandomNumberGenerator
    - FrodoKEMMode
    constantsTouched: []
    func_position:
      end: 347
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 347
    functionName: Botan::FrodoKEM_PrivateKey::FrodoKEM_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - FrodoKEMConstants::len_se_bytes
    - FrodoKEMConstants::keygen_domain_separator
    - clear
    - std::make_shared<FrodoKEM_PrivateKeyInternal>
    - Botan::FrodoMatrix::make_sample_generator
    - FrodoKEMConstants::len_a_bytes
    - output
    - Botan::CT::unpoison_all
    - FrodoKEMConstants::SHAKE_XOF
    - update
    - std::make_shared<FrodoKEM_PublicKeyInternal>
    - Botan::CT::poison_all
    - random_vec
    - std::move
    - FrodoKEMConstants::n
    - FrodoKEMConstants::n_bar
    - Botan::FrodoMatrix::mul_add_as_plus_e
    - sample_generator
    - FrodoKEMConstants::len_sec_bytes
    - std::tuple
    linkageType: ''
    returnType: void
    signature: void FrodoKEM_PrivateKey::FrodoKEM_PrivateKey(RandomNumberGenerator&
      rng, FrodoKEMMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:352,1
    - Dst: FrodoKEMConstants::len_private_key_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:352,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:353,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:357,1
    - Dst: FrodoKEMConstants::len_sec_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:357,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:358,1
    - Dst: FrodoKEMConstants::len_a_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:358,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:359,1
    - Dst: FrodoKEMConstants::d
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:359,1
    - Dst: FrodoKEMConstants::n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:359,1
    - Dst: FrodoKEMConstants::n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:359,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:360,1
    - Dst: FrodoKEMConstants::n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:360,1
    - Dst: FrodoKEMConstants::n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:360,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:361,1
    - Dst: FrodoKEMConstants::len_sec_bytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:361,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:362,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:362,1
    - Dst: Botan::FrodoMatrix::unpack
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:364,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:364,1
    - Dst: FrodoKEMConstants::n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:364,1
    - Dst: FrodoKEMConstants::n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:364,1
    - Dst: Botan::FrodoMatrix::deserialize
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:365,1
    - Dst: FrodoKEMConstants::n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:365,1
    - Dst: FrodoKEMConstants::n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:365,1
    - Dst: std::make_shared<FrodoKEM_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:367,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:367,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:367,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:367,1
    - Dst: std::make_shared<FrodoKEM_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:368,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:368,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:368,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:370,1
    - Dst: hash
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sk
    - mode
    argTypes:
    - std::span<const uint8_t>
    - FrodoKEMMode
    constantsTouched: []
    func_position:
      end: 371
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 371
    functionName: Botan::FrodoKEM_PrivateKey::FrodoKEM_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan::FrodoMatrix::deserialize
    - std::make_shared<FrodoKEM_PrivateKeyInternal>
    - FrodoKEMConstants::len_a_bytes
    - FrodoKEMConstants::len_private_key_bytes
    - BOTAN_ASSERT_NOMSG
    - std::span<const uint8_t>::size
    - Invalid_Argument
    - std::make_shared<FrodoKEM_PublicKeyInternal>
    - hash
    - BufferSlicer::take
    - BufferSlicer::copy
    - BOTAN_STATE_CHECK
    - Botan::FrodoMatrix::unpack
    - std::move
    - FrodoKEMConstants::n
    - FrodoKEMConstants::n_bar
    - FrodoKEMConstants::d
    - BufferSlicer::empty
    - FrodoKEMConstants::len_sec_bytes
    - std::tuple
    linkageType: ''
    returnType: void
    signature: void FrodoKEM_PrivateKey::FrodoKEM_PrivateKey(std::span<const uint8_t>
      sk, FrodoKEMMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrodoKEMMode
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:374,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 374
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 374
    functionName: Botan::FrodoKEM_PrivateKey::FrodoKEM_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - FrodoKEMMode
    - oid
    linkageType: ''
    returnType: void
    signature: void FrodoKEM_PrivateKey::FrodoKEM_PrivateKey(const AlgorithmIdentifier&
      alg_id, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<FrodoKEM_PublicKey>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 378
    functionName: Botan::FrodoKEM_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<FrodoKEM_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> FrodoKEM_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FrodoKEM_PrivateKey::raw_private_key_bits
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: Botan::FrodoKEM_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - Botan::FrodoKEM_PrivateKey::raw_private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> FrodoKEM_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:385,1
    - Dst: s
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:385,1
    - Dst: seed_a
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:386,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:387,1
    - Dst: constants
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:387,1
    - Dst: s_trans
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:388,1
    - Dst: hash
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 390
    functionName: Botan::FrodoKEM_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 1
    functionsReached:
    - hash
    - s_trans
    - s
    - concat
    - b
    - seed_a
    - constants
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> FrodoKEM_PrivateKey::raw_private_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:395,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:396,1
    - Dst: std::make_unique<Frodo_KEM_Decryptor>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:397,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:399,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 400
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 400
    functionName: Botan::FrodoKEM_PrivateKey::create_kem_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::string_view::empty
    - std::make_unique<Frodo_KEM_Decryptor>
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Decryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Decryption> FrodoKEM_PrivateKey::create_kem_decryption_op(RandomNumberGenerator&
      rng,\n                                                                                      std::string_view
      params,\n                                                                                      std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::FrodoMatrix::elements_at
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t elements_at(size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' constants'
    argTypes:
    - FrodoKEMConstants
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: Botan::FrodoMatrix::packed_size
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: size_t packed_size(const FrodoKEMConstants& constants) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FrodoMatrix::pack
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' constants'
    argTypes:
    - FrodoKEMConstants
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: Botan::FrodoMatrix::pack
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h
    functionUses: 1
    functionsReached:
    - Botan::FrodoMatrix::pack
    linkageType: ''
    returnType: FrodoPackedMatrix
    signature: FrodoPackedMatrix pack(const FrodoKEMConstants& constants) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: Botan::FrodoMatrix::dimensions
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimensions
    signature: Dimensions dimensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: Botan::FrodoMatrix::element_count
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t element_count() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan::FrodoMatrix::_const_time_poison
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: Botan::FrodoMatrix::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h:136,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h:136,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' dimensions'
    - elements
    argTypes:
    - Dimensions
    - secure_vector<uint16_t>
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: Botan::FrodoMatrix::FrodoMatrix
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.h
    functionUses: 0
    functionsReached:
    - std::get<0>
    - std::move
    - std::get<1>
    linkageType: ''
    returnType: void
    signature: void FrodoMatrix(const Dimensions& dimensions, secure_vector<uint16_t>
      elements)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrodoKEMMode::is_available
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:19,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:20,1
    - Dst: FrodoKEMMode::to_string
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:20,1
    - Dst: FrodoKEMMode::is_ephemeral
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:23,1
    - Dst: FrodoKEMMode::mode
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:27,1
    - Dst: FrodoKEMMode::is_static
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:36,1
    - Dst: FrodoKEMMode::is_ephemeral
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:39,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:42,1
    - Dst: FrodoKEMMode::is_static
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:58,1
    - Dst: FrodoKEMMode::is_ephemeral
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:61,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:64,1
    - Dst: FrodoKEMMode::is_static
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:80,1
    - Dst: FrodoKEMMode::is_ephemeral
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:83,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:86,1
    - Dst: Botan::XOF::create_or_throw
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:95,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 70
    argCount: 1
    argNames:
    - mode
    argTypes:
    - FrodoKEMMode
    constantsTouched: []
    func_position:
      end: 96
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 96
    functionName: Botan::FrodoKEMConstants::FrodoKEMConstants
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp
    functionUses: 0
    functionsReached:
    - FrodoKEMMode::is_available
    - FrodoKEMMode::to_string
    - Botan::XOF::create_or_throw
    - BOTAN_ASSERT_UNREACHABLE
    - FrodoKEMMode::is_ephemeral
    - FrodoKEMMode::is_static
    - FrodoKEMMode::mode
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void FrodoKEMConstants::FrodoKEMConstants(FrodoKEMMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: FrodoKEMConstants::~FrodoKEMConstants()
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FrodoKEMConstants::~FrodoKEMConstants()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: '& FrodoKEMConstants::SHAKE_XOF() const'
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_constants.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: XOF
    signature: XOF & FrodoKEMConstants::SHAKE_XOF() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::mode
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Mode
    signature: Mode mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: Botan::is_ephemeral
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_ephemeral() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: Botan::is_static
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_static() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: Botan::is_shake
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_shake() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: Botan::is_aes
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_aes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_aes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.h:69,1
    - Dst: Botan::is_shake
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.h:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: Botan::is_available
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.h
    functionUses: 0
    functionsReached:
    - Botan::is_shake
    - Botan::is_aes
    linkageType: ''
    returnType: bool
    signature: bool is_available() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FrodoKEMMode
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: operator==(const FrodoKEMMode& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const FrodoKEMMode& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FrodoKEMMode
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: operator!=(const FrodoKEMMode& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_mode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const FrodoKEMMode& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::FrodoKEM_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FrodoKEM_PublicKey(FrodoKEM_PublicKey&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ~FrodoKEM_PublicKey() override
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FrodoKEM_PublicKey() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodokem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_vector<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:46,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:46,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:46,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dimensions'
    argTypes:
    - FrodoMatrix::Dimensions
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::make_elements_vector
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 0
    functionsReached:
    - std::get<0>
    - std::get<1>
    - static_cast<size_t>
    - secure_vector<uint16_t>
    linkageType: ''
    returnType: secure_vector<uint16_t>
    signature: secure_vector<uint16_t> make_elements_vector(const FrodoMatrix::Dimensions&
      dimensions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mode
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:52,1
    - Dst: Botan::create_aes_row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:53,1
    - Dst: Botan::mode
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:58,1
    - Dst: Botan::create_shake_row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:59,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' constants'
    - seed_a
    argTypes:
    - FrodoKEMConstants
    - StrongSpan<const FrodoSeedA>
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: Botan::make_row_generator
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 0
    functionsReached:
    - Botan::mode
    - Botan::create_aes_row_generator
    - Botan::create_shake_row_generator
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: std::function<void(std::span<uint8_t> out, uint16_t i)>
    signature: "std::function<void(std::span<uint8_t> out, uint16_t i)> make_row_generator(const
      FrodoKEMConstants& constants,\n                                                                           StrongSpan<const
      FrodoSeedA> seed_a)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:73,1
    - Dst: StrongSpan<const FrodoSampleR>::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:73,1
    - Dst: StrongSpan<const FrodoSampleR>::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:74,1
    - Dst: make_elements_vector
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:76,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:77,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:77,1
    - Dst: load_le<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:79,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:79,1
    - Dst: StrongSpan<const FrodoSampleR>::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:79,1
    - Dst: Botan::CT::value_barrier
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:82,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:82,1
    - Dst: Botan::CT::Mask::expand_bit
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:83,1
    - Dst: cdf_table_len
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:88,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:90,1
    - Dst: cdf_table_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:90,1
    - Dst: auto::select
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:95,1
    - Dst: Botan::FrodoMatrix::FrodoMatrix
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:98,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' constants'
    - ' dimensions'
    - r
    argTypes:
    - FrodoKEMConstants
    - Dimensions
    - StrongSpan<const FrodoSampleR>
    constantsTouched: []
    func_position:
      end: 99
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 99
    functionName: Botan::FrodoMatrix::sample
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 0
    functionsReached:
    - make_elements_vector
    - static_cast<uint16_t>
    - auto::select
    - BOTAN_ASSERT_NOMSG
    - cdf_table_len
    - Botan::CT::Mask::expand_bit
    - Botan::FrodoMatrix::FrodoMatrix
    - StrongSpan<const FrodoSampleR>::size
    - cdf_table_at
    - Botan::bigint_ct_is_lt
    - auto::data
    - StrongSpan<const FrodoSampleR>::data
    - std::move
    - auto::size
    - Botan::CT::value_barrier
    - load_le<uint16_t>
    linkageType: ''
    returnType: FrodoMatrix
    signature: "FrodoMatrix FrodoMatrix::sample(const FrodoKEMConstants& constants,\n
      \                               const Dimensions& dimensions,\n                                StrongSpan<const
      FrodoSampleR> r)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FrodoMatrix::sample
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:104,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:106,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:106,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' constants'
    - ' shake'
    argTypes:
    - FrodoKEMConstants
    - Botan::XOF
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: Botan::FrodoMatrix::make_sample_generator
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 3
    functionsReached:
    - std::get<0>
    - std::get<1>
    - Botan::FrodoMatrix::sample
    - output
    linkageType: ''
    returnType: std::function<FrodoMatrix(const FrodoMatrix::Dimensions& dimensions)>
    signature: "std::function<FrodoMatrix(const FrodoMatrix::Dimensions& dimensions)>
      FrodoMatrix::make_sample_generator(\n   const FrodoKEMConstants& constants,
      Botan::XOF& shake)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:111,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:111,1
    - Dst: make_elements_vector
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dims
    argTypes:
    - Dimensions
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: Botan::FrodoMatrix::FrodoMatrix
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 1
    functionsReached:
    - std::get<0>
    - make_elements_vector
    - std::get<1>
    linkageType: ''
    returnType: void
    signature: void FrodoMatrix::FrodoMatrix(Dimensions dims)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:117,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:117,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:117,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:117,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:117,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:118,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:118,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:118,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:118,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:120,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:120,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:120,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:120,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:120,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:120,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:120,1
    - Dst: make_elements_vector
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:123,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:123,1
    - Dst: make_row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:124,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:130,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:133,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:133,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:134,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:136,1
    - Dst: BufferStuffer
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:137,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:140,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:140,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:140,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:140,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:141,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:141,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:141,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:141,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:142,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:142,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:142,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:142,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:143,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:143,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:143,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:143,1
    - Dst: load_le<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:146,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:146,1
    - Dst: std::span::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:146,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:146,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:148,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:150,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:158,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:158,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:158,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:158,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:159,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:159,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:159,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:159,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:160,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:160,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:160,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:160,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:161,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:161,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:161,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:161,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:163,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:163,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:163,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:163,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:163,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:164,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:164,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:164,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:164,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:164,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:165,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:165,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:165,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:165,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:165,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:166,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:166,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:166,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:166,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:166,1
    - Dst: Botan::FrodoMatrix::FrodoMatrix
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:170,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:170,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - ' constants'
    - ' s'
    - ' e'
    - seed_a
    argTypes:
    - FrodoKEMConstants
    - FrodoMatrix
    - FrodoMatrix
    - StrongSpan<const FrodoSeedA>
    constantsTouched: []
    func_position:
      end: 171
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 171
    functionName: Botan::FrodoMatrix::mul_add_as_plus_e
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint16_t>
    - make_row_generator
    - std::vector::size
    - reinterpret_cast<uint8_t*>
    - n_bar
    - std::array::at
    - BOTAN_ASSERT
    - Botan::FrodoMatrix::dimensions
    - make_elements_vector
    - row_generator
    - n
    - Botan::FrodoMatrix::elements_at
    - std::get<0>
    - load_le<uint16_t>
    - std::vector::data
    - std::span::data
    - BufferStuffer
    - auto::at
    - std::move
    - auto::next
    - Botan::FrodoMatrix::FrodoMatrix
    - std::get<1>
    - std::vector::at
    linkageType: ''
    returnType: FrodoMatrix
    signature: "FrodoMatrix FrodoMatrix::mul_add_as_plus_e(const FrodoKEMConstants&
      constants,\n                                           const FrodoMatrix& s,\n
      \                                          const FrodoMatrix& e,\n                                           StrongSpan<const
      FrodoSeedA> seed_a)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:177,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:177,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:177,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:177,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:177,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:178,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:178,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:178,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:178,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:180,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:180,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:180,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:180,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:180,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:180,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:180,1
    - Dst: make_row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:184,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:190,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:192,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:192,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:193,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:196,1
    - Dst: BufferStuffer
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:197,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:200,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:200,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:200,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:200,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:201,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:201,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:201,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:201,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:202,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:202,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:202,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:202,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:203,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:203,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:203,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:203,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:204,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:204,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:204,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:204,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:205,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:205,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:205,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:205,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:206,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:206,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:206,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:206,1
    - Dst: row_generator
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:207,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:207,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:207,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:207,1
    - Dst: load_le<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:210,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:210,1
    - Dst: std::span::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:210,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:210,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:212,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:216,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:216,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:218,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:219,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:219,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:221,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:221,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:221,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:223,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:223,1
    - Dst: Botan::FrodoMatrix::FrodoMatrix
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:228,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:228,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:228,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - ' constants'
    - ' s'
    - ' e'
    - seed_a
    argTypes:
    - FrodoKEMConstants
    - FrodoMatrix
    - FrodoMatrix
    - StrongSpan<const FrodoSeedA>
    constantsTouched: []
    func_position:
      end: 229
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 229
    functionName: Botan::FrodoMatrix::mul_add_sa_plus_e
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint16_t>
    - make_row_generator
    - std::vector::size
    - reinterpret_cast<uint8_t*>
    - n_bar
    - BOTAN_ASSERT
    - Botan::FrodoMatrix::dimensions
    - row_generator
    - n
    - Botan::FrodoMatrix::elements_at
    - std::get<0>
    - load_le<uint16_t>
    - std::vector::data
    - std::span::data
    - BufferStuffer
    - auto::at
    - std::move
    - auto::next
    - Botan::FrodoMatrix::FrodoMatrix
    - std::get<1>
    - std::vector::at
    linkageType: ''
    returnType: FrodoMatrix
    signature: "FrodoMatrix FrodoMatrix::mul_add_sa_plus_e(const FrodoKEMConstants&
      constants,\n                                           const FrodoMatrix& s,\n
      \                                          const FrodoMatrix& e,\n                                           StrongSpan<const
      FrodoSeedA> seed_a)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:235,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:235,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:235,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:235,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:235,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:236,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:236,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:236,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:236,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:238,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:238,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:238,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:238,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:238,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:238,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:238,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:240,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:240,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:240,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:240,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:240,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:240,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:240,1
    - Dst: make_elements_vector
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:243,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:243,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:245,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:246,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:247,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:247,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:247,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:247,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:248,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:249,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:249,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:249,1
    - Dst: static_cast<uint32_t /* to avoid integral promotion */>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:250,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:250,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:250,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:251,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:251,1
    - Dst: Botan::FrodoMatrix::FrodoMatrix
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:256,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:256,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - ' constants'
    - ' b'
    - ' s'
    - ' e'
    argTypes:
    - FrodoKEMConstants
    - FrodoMatrix
    - FrodoMatrix
    - FrodoMatrix
    constantsTouched: []
    func_position:
      end: 257
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 257
    functionName: Botan::FrodoMatrix::mul_add_sb_plus_e
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 2
    functionsReached:
    - make_elements_vector
    - static_cast<uint16_t>
    - n
    - Botan::FrodoMatrix::elements_at
    - BOTAN_ASSERT
    - Botan::FrodoMatrix::FrodoMatrix
    - std::get<1>
    - n_bar
    - auto::at
    - std::move
    - Botan::FrodoMatrix::dimensions
    - std::get<0>
    - static_cast<uint32_t /* to avoid integral promotion */>
    linkageType: ''
    returnType: FrodoMatrix
    signature: "FrodoMatrix FrodoMatrix::mul_add_sb_plus_e(const FrodoKEMConstants&
      constants,\n                                           const FrodoMatrix& b,\n
      \                                          const FrodoMatrix& s,\n                                           const
      FrodoMatrix& e)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple<size_t, size_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:262,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:262,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:262,1
    - Dst: make_elements_vector
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:263,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:265,1
    - Dst: StrongSpan<const FrodoPlaintext>::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:265,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:265,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:265,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:265,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:268,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:268,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:270,1
    - Dst: static_cast<uint64_t /* avoiding integral promotion */>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:271,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:271,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:274,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:274,1
    - Dst: d
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:274,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:274,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:275,1
    - Dst: Botan::FrodoMatrix::FrodoMatrix
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:279,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' constants'
    - in
    argTypes:
    - FrodoKEMConstants
    - StrongSpan<const FrodoPlaintext>
    constantsTouched: []
    func_position:
      end: 280
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 280
    functionName: Botan::FrodoMatrix::encode
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 2
    functionsReached:
    - make_elements_vector
    - static_cast<uint16_t>
    - StrongSpan<const FrodoPlaintext>::size
    - BOTAN_ASSERT_NOMSG
    - Botan::FrodoMatrix::FrodoMatrix
    - d
    - b
    - n_bar
    - auto::at
    - std::make_tuple<size_t, size_t>
    - std::move
    - static_cast<uint64_t /* avoiding integral promotion */>
    linkageType: ''
    returnType: FrodoMatrix
    signature: FrodoMatrix FrodoMatrix::encode(const FrodoKEMConstants& constants,
      StrongSpan<const FrodoPlaintext> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:284,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:284,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:284,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:285,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:285,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:285,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:285,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:286,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:286,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:286,1
    - Dst: make_elements_vector
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:288,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:288,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:290,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:290,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:291,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:291,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:291,1
    - Dst: Botan::FrodoMatrix::FrodoMatrix
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:294,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:294,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' constants'
    - ' a'
    - ' b'
    argTypes:
    - FrodoKEMConstants
    - FrodoMatrix
    - FrodoMatrix
    constantsTouched: []
    func_position:
      end: 295
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 295
    functionName: Botan::FrodoMatrix::add
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 2
    functionsReached:
    - make_elements_vector
    - BOTAN_ASSERT_NOMSG
    - Botan::FrodoMatrix::elements_at
    - Botan::FrodoMatrix::FrodoMatrix
    - std::get<1>
    - n_bar
    - auto::at
    - std::move
    - Botan::FrodoMatrix::dimensions
    - std::get<0>
    linkageType: ''
    returnType: FrodoMatrix
    signature: FrodoMatrix FrodoMatrix::add(const FrodoKEMConstants& constants, const
      FrodoMatrix& a, const FrodoMatrix& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:299,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:299,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:299,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:300,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:300,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:300,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:300,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:301,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:301,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:301,1
    - Dst: make_elements_vector
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:303,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:303,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:305,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:305,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:306,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:306,1
    - Dst: Botan::FrodoMatrix::elements_at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:306,1
    - Dst: Botan::FrodoMatrix::FrodoMatrix
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:309,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:309,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' constants'
    - ' a'
    - ' b'
    argTypes:
    - FrodoKEMConstants
    - FrodoMatrix
    - FrodoMatrix
    constantsTouched: []
    func_position:
      end: 310
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 310
    functionName: Botan::FrodoMatrix::sub
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 1
    functionsReached:
    - make_elements_vector
    - BOTAN_ASSERT_NOMSG
    - Botan::FrodoMatrix::elements_at
    - Botan::FrodoMatrix::FrodoMatrix
    - std::get<1>
    - n_bar
    - auto::at
    - std::move
    - Botan::FrodoMatrix::dimensions
    - std::get<0>
    linkageType: ''
    returnType: FrodoMatrix
    signature: FrodoMatrix FrodoMatrix::sub(const FrodoKEMConstants& constants, const
      FrodoMatrix& a, const FrodoMatrix& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:313,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:313,1
    - Dst: Botan::FrodoMatrix::dimensions
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:313,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:315,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:315,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:315,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:316,1
    - Dst: m_elements::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:316,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FrodoMatrix
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: Botan::FrodoMatrix::constant_time_compare
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - Botan::CT::is_equal
    - data
    - m_elements::data
    - size
    - reinterpret_cast<const uint8_t*>
    - Botan::FrodoMatrix::dimensions
    linkageType: ''
    returnType: CT::Mask<uint8_t>
    signature: CT::Mask<uint8_t> FrodoMatrix::constant_time_compare(const FrodoMatrix&
      other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:321,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:321,1
    - Dst: make_elements_vector
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:322,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:324,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:325,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:326,1
    - Dst: n_bar
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:326,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:328,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:335,1
    - Dst: Botan::FrodoMatrix::FrodoMatrix
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:340,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' constants'
    - ' b'
    - ' s'
    argTypes:
    - FrodoKEMConstants
    - FrodoMatrix
    - FrodoMatrix
    constantsTouched: []
    func_position:
      end: 341
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 341
    functionName: Botan::FrodoMatrix::mul_bs
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 1
    functionsReached:
    - make_elements_vector
    - static_cast<uint16_t>
    - n
    - Botan::FrodoMatrix::FrodoMatrix
    - auto::at
    - n_bar
    - std::move
    linkageType: ''
    returnType: FrodoMatrix
    signature: FrodoMatrix FrodoMatrix::mul_bs(const FrodoKEMConstants& constants,
      const FrodoMatrix& b, const FrodoMatrix& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:345,1
    - Dst: StrongSpan<FrodoPackedMatrix>::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:345,1
    - Dst: Botan::FrodoMatrix::element_count
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:352,1
    - Dst: Botan::FrodoMatrix::element_count
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:352,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:368,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:369,1
    - Dst: Botan::FrodoMatrix::element_count
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:374,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:375,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:376,1
    - Dst: d
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:376,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - ' constants'
    - out
    argTypes:
    - FrodoKEMConstants
    - StrongSpan<FrodoPackedMatrix>
    constantsTouched: []
    func_position:
      end: 387
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 387
    functionName: Botan::FrodoMatrix::pack
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - Botan::FrodoMatrix::element_count
    - at
    - d
    - StrongSpan<FrodoPackedMatrix>::size
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void FrodoMatrix::pack(const FrodoKEMConstants& constants, StrongSpan<FrodoPackedMatrix>
      out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:390,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:392,1
    - Dst: store_le
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:393,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:393,1
    - Dst: FrodoSerializedMatrix::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 397
    functionName: Botan::FrodoMatrix::serialize
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 0
    functionsReached:
    - FrodoSerializedMatrix::data
    - store_le
    - at
    - size
    linkageType: ''
    returnType: FrodoSerializedMatrix
    signature: FrodoSerializedMatrix FrodoMatrix::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:404,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:411,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:411,1
    - Dst: d
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:411,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:411,1
    - Dst: d
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:412,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:412,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:413,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:413,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:416,1
    - Dst: b
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' constants'
    argTypes:
    - FrodoKEMConstants
    constantsTouched: []
    func_position:
      end: 422
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 422
    functionName: Botan::FrodoMatrix::decode
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - static_cast<uint64_t>
    - at
    - d
    - b
    linkageType: ''
    returnType: FrodoPlaintext
    signature: FrodoPlaintext FrodoMatrix::decode(const FrodoKEMConstants& constants)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:431,1
    - Dst: ceil_tobytes
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:431,1
    - Dst: make_elements_vector
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:433,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:458,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:458,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:458,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:461,1
    - Dst: Botan::FrodoMatrix::FrodoMatrix
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:478,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:478,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - ' constants'
    - ' dimensions'
    - packed_bytes
    argTypes:
    - FrodoKEMConstants
    - Dimensions
    - StrongSpan<const FrodoPackedMatrix>
    constantsTouched: []
    func_position:
      end: 479
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 479
    functionName: Botan::FrodoMatrix::unpack
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 3
    functionsReached:
    - make_elements_vector
    - static_cast<uint16_t>
    - BOTAN_ASSERT_NOMSG
    - Botan::FrodoMatrix::FrodoMatrix
    - ceil_tobytes
    - auto::at
    - std::move
    - static_cast<uint8_t>
    linkageType: ''
    returnType: FrodoMatrix
    signature: "FrodoMatrix FrodoMatrix::unpack(const FrodoKEMConstants& constants,\n
      \                               const Dimensions& dimensions,\n                                StrongSpan<const
      FrodoPackedMatrix> packed_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_elements_vector
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:482,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:483,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:483,1
    - Dst: StrongSpan<const FrodoSerializedMatrix>::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:483,1
    - Dst: load_le<uint16_t>
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:484,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:484,1
    - Dst: StrongSpan<const FrodoSerializedMatrix>::data
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:484,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:484,1
    - Dst: Botan::FrodoMatrix::FrodoMatrix
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:485,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' dimensions'
    - bytes
    argTypes:
    - Dimensions
    - StrongSpan<const FrodoSerializedMatrix>
    constantsTouched: []
    func_position:
      end: 486
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 486
    functionName: Botan::FrodoMatrix::deserialize
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 1
    functionsReached:
    - make_elements_vector
    - StrongSpan<const FrodoSerializedMatrix>::data
    - BOTAN_ASSERT_NOMSG
    - Botan::FrodoMatrix::FrodoMatrix
    - auto::data
    - std::move
    - auto::size
    - StrongSpan<const FrodoSerializedMatrix>::size
    - load_le<uint16_t>
    linkageType: ''
    returnType: FrodoMatrix
    signature: FrodoMatrix FrodoMatrix::deserialize(const Dimensions& dimensions,
      StrongSpan<const FrodoSerializedMatrix> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: d
      Src: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' constants'
    argTypes:
    - FrodoKEMConstants
    constantsTouched: []
    func_position:
      end: 496
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 496
    functionName: Botan::FrodoMatrix::reduce
    functionSourceFile: /src/botan/src/lib/pubkey/frodokem/frodokem_common/frodo_matrix.cpp
    functionUses: 0
    functionsReached:
    - d
    linkageType: ''
    returnType: void
    signature: void FrodoMatrix::reduce(const FrodoKEMConstants& constants)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan::Blinder::Blinder
    functionSourceFile: /src/botan/src/lib/pubkey/blinding/blinding.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Blinder(const Blinder&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& operator=(const Blinder&)'
    functionSourceFile: /src/botan/src/lib/pubkey/blinding/blinding.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Blinder
    signature: Blinder & operator=(const Blinder&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '& rng() const'
    functionSourceFile: /src/botan/src/lib/pubkey/blinding/blinding.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RandomNumberGenerator
    signature: RandomNumberGenerator & rng() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:18,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:19,1
    - Dst: modulus_bits
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:20,1
    - Dst: Botan::Blinder::blinding_nonce
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:24,1
    - Dst: m_fwd_fn
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:25,1
    - Dst: m_inv_fn
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' reducer'
    - ' rng'
    - fwd
    - inv
    argTypes:
    - Barrett_Reduction
    - RandomNumberGenerator
    - std::function<BigInt(const BigInt&)>
    - std::function<BigInt(const BigInt&)>
    constantsTouched: []
    func_position:
      end: 27
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 27
    functionName: Botan::Blinder::Blinder
    functionSourceFile: /src/botan/src/lib/pubkey/blinding/blinding.cpp
    functionUses: 0
    functionsReached:
    - m_fwd_fn
    - m_inv_fn
    - std::move
    - modulus_bits
    - Botan::Blinder::blinding_nonce
    linkageType: ''
    returnType: void
    signature: "void Blinder::Blinder(const Barrett_Reduction& reducer,\n                 RandomNumberGenerator&
      rng,\n                 std::function<BigInt(const BigInt&)> fwd,\n                 std::function<BigInt(const
      BigInt&)> inv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan::Blinder::blinding_nonce
    functionSourceFile: /src/botan/src/lib/pubkey/blinding/blinding.cpp
    functionUses: 1
    functionsReached:
    - BigInt
    linkageType: ''
    returnType: BigInt
    signature: BigInt Blinder::blinding_nonce() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Blinder::blinding_nonce
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:37,1
    - Dst: m_fwd_fn
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:38,1
    - Dst: m_inv_fn
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:39,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:42,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:43,1
    - Dst: multiply
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: Botan::Blinder::blind
    functionSourceFile: /src/botan/src/lib/pubkey/blinding/blinding.cpp
    functionUses: 0
    functionsReached:
    - multiply
    - m_fwd_fn
    - m_inv_fn
    - square
    - Botan::Blinder::blinding_nonce
    linkageType: ''
    returnType: BigInt
    signature: BigInt Blinder::blind(const BigInt& i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: multiply
      Src: /src/botan/src/lib/pubkey/blinding/blinding.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::Blinder::unblind
    functionSourceFile: /src/botan/src/lib/pubkey/blinding/blinding.cpp
    functionUses: 0
    functionsReached:
    - multiply
    linkageType: ''
    returnType: BigInt
    signature: BigInt Blinder::unblind(const BigInt& i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RFC6979_Nonce_Generator
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 44
    functionName: Botan::RFC6979_Nonce_Generator
    functionSourceFile: /src/botan/src/lib/pubkey/rfc6979/rfc6979.h
    functionUses: 1
    functionsReached:
    - Botan::RFC6979_Nonce_Generator
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API RFC6979_Nonce_Generator
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.h:53,1
    - Dst: RFC6979_Nonce_Generator::nonce_for
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x'
    - ' q'
    - ' h'
    - hash
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - std::string_view
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: Botan::generate_rfc6979_nonce
    functionSourceFile: /src/botan/src/lib/pubkey/rfc6979/rfc6979.h
    functionUses: 1
    functionsReached:
    - bits
    - RFC6979_Nonce_Generator::nonce_for
    linkageType: ''
    returnType: BigInt
    signature: BigInt generate_rfc6979_nonce(const BigInt& x, const BigInt& q, const
      BigInt& h, std::string_view hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: RFC6979_Nonce_Generator::~RFC6979_Nonce_Generator()
    functionSourceFile: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RFC6979_Nonce_Generator::~RFC6979_Nonce_Generator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HMAC_DRBG>
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:21,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:21,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:21,1
    - Dst: serialize_to
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:23,1
    - Dst: first
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hash
    - order_bits
    - ' x'
    argTypes:
    - std::string_view
    - size_t
    - BigInt
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: Botan::RFC6979_Nonce_Generator::RFC6979_Nonce_Generator
    functionSourceFile: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - first
    - std::make_unique<HMAC_DRBG>
    - Botan::MessageAuthenticationCode::create_or_throw
    - serialize_to
    linkageType: ''
    returnType: void
    signature: void RFC6979_Nonce_Generator::RFC6979_Nonce_Generator(std::string_view
      hash, size_t order_bits, const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:27,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:27,1
    - Dst: serialize_to
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:29,1
    - Dst: last
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:29,1
    - Dst: initialize_with
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:31,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:34,1
    - Dst: randomize
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:39,1
    - Dst: BigInt::_assign_from_bytes
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ' order'
    - ' m'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 48
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 48
    functionName: Botan::RFC6979_Nonce_Generator::nonce_for
    functionSourceFile: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp
    functionUses: 1
    functionsReached:
    - initialize_with
    - BOTAN_ASSERT_NOMSG
    - BOTAN_DEBUG_ASSERT
    - bits
    - randomize
    - BigInt::_assign_from_bytes
    - serialize_to
    - last
    linkageType: ''
    returnType: BigInt
    signature: BigInt RFC6979_Nonce_Generator::nonce_for(const BigInt& order, const
      BigInt& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HMAC_DRBG>
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:53,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:53,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:53,1
    - Dst: serialize_to
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:55,1
    - Dst: first
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hash
    - order_bits
    - ' scalar'
    argTypes:
    - std::string_view
    - size_t
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: Botan::RFC6979_Nonce_Generator::RFC6979_Nonce_Generator
    functionSourceFile: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - first
    - std::make_unique<HMAC_DRBG>
    - Botan::MessageAuthenticationCode::create_or_throw
    - serialize_to
    linkageType: ''
    returnType: void
    signature: void RFC6979_Nonce_Generator::RFC6979_Nonce_Generator(std::string_view
      hash, size_t order_bits, const EC_Scalar& scalar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize_to
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:59,1
    - Dst: last
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:59,1
    - Dst: initialize_with
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:61,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:64,1
    - Dst: randomize
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:67,1
    - Dst: Botan::EC_Scalar::deserialize
      Src: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' group'
    - ' m'
    argTypes:
    - EC_Group
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: Botan::RFC6979_Nonce_Generator::nonce_for
    functionSourceFile: /src/botan/src/lib/pubkey/rfc6979/rfc6979.cpp
    functionUses: 1
    functionsReached:
    - initialize_with
    - BOTAN_ASSERT_NOMSG
    - Botan::EC_Scalar::deserialize
    - randomize
    - serialize_to
    - last
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar RFC6979_Nonce_Generator::nonce_for(const EC_Group& group,
      const EC_Scalar& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::public_value
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::public_value
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 1
    functionsReached:
    - Botan::public_value
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_value() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::public_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 1
    functionsReached:
    - Botan::public_key
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> public_key() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::generate_another
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 1
    functionsReached:
    - Botan::generate_another
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> generate_another(RandomNumberGenerator&
      rng) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECIES_ECDH_KA_Operation
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:66,1
    - Dst: Botan::PK_Ops::Key_Agreement_with_KDF
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:67,1
    - Dst: m_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:67,1
    - Dst: m_rng
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:67,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:69,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:72,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:73,1
    - Dst: auto::mul
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:74,1
    - Dst: _private_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:74,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 83
    functionName: Botan::PK_Ops::Key_Agreement_with_KDF
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 1
    functionsReached:
    - m_rng
    - domain
    - Botan::EC_AffinePoint::deserialize
    - _private_key
    - ECIES_ECDH_KA_Operation
    - Decoding_Error
    - m_key
    - auto::mul
    - Botan::PK_Ops::Key_Agreement_with_KDF
    linkageType: ''
    returnType: BOTAN_DIAGNOSTIC_POP
    signature: BOTAN_DIAGNOSTIC_POP PK_Ops::Key_Agreement_with_KDF
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECIES_ECDH_KA_Operation>
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: Botan::ECIES_PrivateKey::create_key_agreement_op
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ECIES_ECDH_KA_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Key_Agreement>
    signature: "std::unique_ptr<PK_Ops::Key_Agreement> ECIES_PrivateKey::create_key_agreement_op(RandomNumberGenerator&
      rng,\n                                                                                 std::string_view
      /*params*/,\n                                                                                 std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ECDH_PrivateKey*>
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:106,1
    - Dst: Botan::cofactor_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:109,1
    - Dst: Botan::old_cofactor_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:109,1
    - Dst: Botan::check_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:109,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:114,1
    - Dst: Botan::cofactor_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:117,1
    - Dst: PK_Key_Agreement
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:119,1
    - Dst: ECIES_PrivateKey
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:119,1
    - Dst: PK_Key_Agreement
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - ' private_key'
    - ' ecies_params'
    - for_encryption
    - ' rng'
    argTypes:
    - PK_Key_Agreement_Key
    - ECIES_KA_Params
    - bool
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 123
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 123
    functionName: Botan::create_key_agreement
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan::check_mode
    - ECIES_PrivateKey
    - Botan::old_cofactor_mode
    - PK_Key_Agreement
    - Botan::cofactor_mode
    - Invalid_Argument
    - dynamic_cast<const ECDH_PrivateKey*>
    linkageType: ''
    returnType: PK_Key_Agreement
    signature: "PK_Key_Agreement create_key_agreement(const PK_Key_Agreement_Key&
      private_key,\n                                      const ECIES_KA_Params& ecies_params,\n
      \                                     bool for_encryption,\n                                      RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_key_agreement
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' private_key'
    - ' ecies_params'
    - for_encryption
    - ' rng'
    argTypes:
    - PK_Key_Agreement_Key
    - ECIES_KA_Params
    - bool
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: ECIES_KA_Operation::ECIES_KA_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - create_key_agreement
    linkageType: ''
    returnType: void
    signature: "void ECIES_KA_Operation::ECIES_KA_Operation(const PK_Key_Agreement_Key&
      private_key,\n                                       const ECIES_KA_Params&
      ecies_params,\n                                       bool for_encryption,\n
      \                                      RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:138,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:139,1
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:142,1
    - Dst: kdf
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:142,1
    - Dst: old_cofactor_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:148,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:148,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:149,1
    - Dst: single_hash_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:155,1
    - Dst: EC_Point::encode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:160,1
    - Dst: point_format
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:160,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:164,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:164,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:164,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:164,1
    - Dst: secure_vector::insert
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:165,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:165,1
    - Dst: SymmetricKey::begin
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:165,1
    - Dst: SymmetricKey::end
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:165,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:168,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:168,1
    - Dst: secret_length
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' eph_public_key_bin'
    - ' other_public_key_point'
    argTypes:
    - std::vector<uint8_t>
    - EC_Point
    constantsTouched: []
    func_position:
      end: 169
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 169
    functionName: ECIES_KA_Operation::derive_secret
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 1
    functionsReached:
    - kdf
    - std::vector::size
    - secret_length
    - auto::derive_key
    - secure_vector::end
    - group
    - Invalid_Argument
    - SymmetricKey
    - single_hash_mode
    - std::vector::data
    - SymmetricKey::begin
    - old_cofactor_mode
    - derive_key
    - SymmetricKey::end
    - EC_Point::encode
    - secure_vector::insert
    - point_format
    - Botan::PBKDF::create_or_throw
    - is_zero
    linkageType: ''
    returnType: SymmetricKey
    signature: "SymmetricKey ECIES_KA_Operation::derive_secret(const std::vector<uint8_t>&
      eph_public_key_bin,\n                                               const EC_Point&
      other_public_key_point) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:177,1
    - Dst: is_identity
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:177,1
    - Dst: Botan::PBKDF::create_or_throw
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:179,1
    - Dst: kdf
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:179,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:183,1
    - Dst: old_cofactor_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:187,1
    - Dst: has_cofactor
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:187,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:189,1
    - Dst: get_cofactor
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:189,1
    - Dst: auto::mul
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:190,1
    - Dst: single_hash_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:196,1
    - Dst: secure_vector::assign
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:197,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:197,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:197,1
    - Dst: auto::serialize
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:201,1
    - Dst: point_format
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:201,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:205,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:205,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:205,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:205,1
    - Dst: secure_vector::insert
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:206,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:206,1
    - Dst: SymmetricKey::begin
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:206,1
    - Dst: SymmetricKey::end
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:206,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:209,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:209,1
    - Dst: secret_length
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - eph_public_key_bin
    - ' other_public_key_point'
    argTypes:
    - std::span<const uint8_t>
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 210
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 210
    functionName: ECIES_KA_Operation::derive_secret
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 1
    functionsReached:
    - kdf
    - std::span<const uint8_t>::end
    - std::vector::size
    - secret_length
    - auto::derive_key
    - secure_vector::end
    - group
    - has_cofactor
    - secure_vector::assign
    - get_cofactor
    - Botan::EC_Scalar::from_bigint
    - single_hash_mode
    - BOTAN_ARG_CHECK
    - SymmetricKey
    - std::vector::data
    - SymmetricKey::begin
    - old_cofactor_mode
    - derive_key
    - SymmetricKey::end
    - is_identity
    - std::span<const uint8_t>::begin
    - secure_vector::insert
    - point_format
    - auto::serialize
    - Botan::PBKDF::create_or_throw
    - auto::mul
    linkageType: ''
    returnType: SymmetricKey
    signature: "SymmetricKey ECIES_KA_Operation::derive_secret(std::span<const uint8_t>
      eph_public_key_bin,\n                                               const EC_AffinePoint&
      other_public_key_point) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' group'
    - kdf
    - length
    - point_format
    - flags
    argTypes:
    - EC_Group
    - std::string_view
    - size_t
    - EC_Point_Format
    - ECIES_Flags
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: ECIES_KA_Params::ECIES_KA_Params
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ECIES_KA_Params::ECIES_KA_Params(\n   const EC_Group& group,
      std::string_view kdf, size_t length, EC_Point_Format point_format, ECIES_Flags
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' group'
    - kdf
    - length
    - point_format
    - single_hash_mode
    argTypes:
    - EC_Group
    - std::string_view
    - size_t
    - EC_Point_Format
    - bool
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: ECIES_KA_Params::ECIES_KA_Params
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ECIES_KA_Params::ECIES_KA_Params(\n   const EC_Group& group,
      std::string_view kdf, size_t length, EC_Point_Format point_format, bool single_hash_mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cofactor_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:248,1
    - Dst: old_cofactor_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:248,1
    - Dst: check_mode
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:248,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 8
    argNames:
    - ' group'
    - kdf
    - dem_algo_spec
    - dem_key_len
    - mac_spec
    - mac_key_len
    - point_format
    - flags
    argTypes:
    - EC_Group
    - std::string_view
    - std::string_view
    - size_t
    - std::string_view
    - size_t
    - EC_Point_Format
    - ECIES_Flags
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: ECIES_System_Params::ECIES_System_Params
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 1
    functionsReached:
    - Invalid_Argument
    - old_cofactor_mode
    - cofactor_mode
    - check_mode
    linkageType: ''
    returnType: void
    signature: "void ECIES_System_Params::ECIES_System_Params(const EC_Group& group,\n
      \                                        std::string_view kdf,\n                                         std::string_view
      dem_algo_spec,\n                                         size_t dem_key_len,\n
      \                                        std::string_view mac_spec,\n                                         size_t
      mac_key_len,\n                                         EC_Point_Format point_format,\n
      \                                        ECIES_Flags flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - ' group'
    - kdf
    - dem_algo_spec
    - dem_key_len
    - mac_spec
    - mac_key_len
    - point_format
    - single_hash_mode
    argTypes:
    - EC_Group
    - std::string_view
    - std::string_view
    - size_t
    - std::string_view
    - size_t
    - EC_Point_Format
    - bool
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: ECIES_System_Params::ECIES_System_Params
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ECIES_System_Params::ECIES_System_Params(const EC_Group& group,\n
      \                                        std::string_view kdf,\n                                         std::string_view
      dem_algo_spec,\n                                         size_t dem_key_len,\n
      \                                        std::string_view mac_spec,\n                                         size_t
      mac_key_len,\n                                         EC_Point_Format point_format,\n
      \                                        bool single_hash_mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: ECIES_System_Params::create_mac
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan::MessageAuthenticationCode::create_or_throw
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> ECIES_System_Params::create_mac()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::create_or_throw
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - direction
    argTypes:
    - Cipher_Dir
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: ECIES_System_Params::create_cipher
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - Botan::Cipher_Mode::create_or_throw
    linkageType: ''
    returnType: std::unique_ptr<Cipher_Mode>
    signature: std::unique_ptr<Cipher_Mode> ECIES_System_Params::create_cipher(Cipher_Dir
      direction) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_value
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:283,1
    - Dst: point_format
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:287,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:291,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:291,1
    - Dst: point_format
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:291,1
    - Dst: create_mac
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:293,1
    - Dst: create_cipher
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' private_key'
    - ' ecies_params'
    - ' rng'
    argTypes:
    - PK_Key_Agreement_Key
    - ECIES_System_Params
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 295
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 295
    functionName: ECIES_Encryptor::ECIES_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - point_format
    - public_value
    - group
    - create_mac
    - create_cipher
    - EC_AffinePoint
    linkageType: ''
    returnType: void
    signature: "void ECIES_Encryptor::ECIES_Encryptor(const PK_Key_Agreement_Key&
      private_key,\n                                 const ECIES_System_Params& ecies_params,\n
      \                                RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECDH_PrivateKey
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:301,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rng'
    - ' ecies_params'
    argTypes:
    - RandomNumberGenerator
    - ECIES_System_Params
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: ECIES_Encryptor::ECIES_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - group
    - ECDH_PrivateKey
    linkageType: ''
    returnType: void
    signature: void ECIES_Encryptor::ECIES_Encryptor(RandomNumberGenerator& rng, const
      ECIES_System_Params& ecies_params)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 309
    functionName: ECIES_Encryptor::maximum_input_size
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ECIES_Encryptor::maximum_input_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:312,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:312,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptext_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: ECIES_Encryptor::ciphertext_length
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - output_length
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t ECIES_Encryptor::ciphertext_length(size_t ptext_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:321,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:322,1
    - Dst: derive_secret
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:325,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:325,1
    - Dst: set_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:329,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:329,1
    - Dst: SymmetricKey::begin
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:329,1
    - Dst: dem_keylen
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:329,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:330,1
    - Dst: valid_nonce_length
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:330,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:330,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:331,1
    - Dst: name
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:331,1
    - Dst: start
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:334,1
    - Dst: bits_of
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:334,1
    - Dst: finish
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:337,1
    - Dst: set_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:340,1
    - Dst: SymmetricKey::begin
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:340,1
    - Dst: dem_keylen
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:340,1
    - Dst: mac_keylen
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:340,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:341,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:342,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:343,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:345,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 349
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 349
    functionName: ECIES_Encryptor::enc
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - name
    - set_key
    - start
    - has_value
    - mac_keylen
    - bits_of
    - derive_secret
    - value
    - update
    - Invalid_Argument
    - SymmetricKey
    - Invalid_State
    - SymmetricKey::begin
    - final
    - size
    - concat
    - empty
    - dem_keylen
    - valid_nonce_length
    - finish
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> ECIES_Encryptor::enc(const uint8_t data[],\n
      \                                         size_t length,\n                                          RandomNumberGenerator&
      /*unused*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_mac
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:368,1
    - Dst: create_cipher
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' key'
    - ' ecies_params'
    - ' rng'
    argTypes:
    - PK_Key_Agreement_Key
    - ECIES_System_Params
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 370
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 370
    functionName: ECIES_Decryptor::ECIES_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - create_mac
    - create_cipher
    linkageType: ''
    returnType: void
    signature: "void ECIES_Decryptor::ECIES_Decryptor(const PK_Key_Agreement_Key&
      key,\n                                 const ECIES_System_Params& ecies_params,\n
      \                                RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' group'
    - format
    argTypes:
    - EC_Group
    - EC_Point_Format
    constantsTouched: []
    func_position:
      end: 381
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 381
    functionName: compute_point_size
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t compute_point_size(const EC_Group& group, EC_Point_Format format)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctext_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 394
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 394
    functionName: ECIES_Decryptor::plaintext_length
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - output_length
    linkageType: ''
    returnType: size_t
    signature: size_t ECIES_Decryptor::plaintext_length(size_t ctext_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:402,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:403,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:408,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:409,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:412,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:412,1
    - Dst: derive_secret
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:419,1
    - Dst: set_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:422,1
    - Dst: SymmetricKey::begin
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:422,1
    - Dst: dem_keylen
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:422,1
    - Dst: mac_keylen
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:422,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:423,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:424,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:425,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:427,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:428,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:428,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:428,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:428,1
    - Dst: set_key
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:433,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:433,1
    - Dst: SymmetricKey::begin
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:433,1
    - Dst: dem_keylen
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:433,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:434,1
    - Dst: valid_nonce_length
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:434,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:434,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:435,1
    - Dst: name
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:435,1
    - Dst: start
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:437,1
    - Dst: bits_of
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:437,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:442,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:442,1
    - Dst: finish
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:443,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/ecies/ecies.cpp:449,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - ' valid_mask'
    - in
    - in_len
    argTypes:
    - uint8_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 450
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 450
    functionName: ECIES_Decryptor::do_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - name
    - Botan::CT::is_equal
    - std::vector::begin
    - group
    - set_key
    - Decoding_Error
    - start
    - mac_keylen
    - bits_of
    - derive_secret
    - std::vector::end
    - update
    - Invalid_Argument
    - SymmetricKey
    - std::vector::data
    - EC_AffinePoint
    - secure_vector::data
    - SymmetricKey::begin
    - final
    - size
    - empty
    - secure_vector<uint8_t>
    - dem_keylen
    - valid_nonce_length
    - finish
    - output_length
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> ECIES_Decryptor::do_decrypt(uint8_t& valid_mask,
      const uint8_t in[], size_t in_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ECIES_Flags>
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:67,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:67,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ECIES_Flags
    - ECIES_Flags
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: operator|(ECIES_Flags a, ECIES_Flags b)
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - static_cast<ECIES_Flags>
    linkageType: ''
    returnType: ECIES_Flags
    signature: ECIES_Flags operator|(ECIES_Flags a, ECIES_Flags b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ECIES_Flags>
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:71,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:71,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ECIES_Flags
    - ECIES_Flags
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: operator&(ECIES_Flags a, ECIES_Flags b)
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - static_cast<ECIES_Flags>
    linkageType: ''
    returnType: ECIES_Flags
    signature: ECIES_Flags operator&(ECIES_Flags a, ECIES_Flags b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: Botan::ECIES_KA_Params
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECIES_KA_Params(const ECIES_KA_Params&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: ~ECIES_KA_Params()
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ECIES_KA_Params()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: Botan::group
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Group
    signature: EC_Group & group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: Botan::secret_length
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t secret_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: Botan::single_hash_mode
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool single_hash_mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: Botan::cofactor_mode
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cofactor_mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Botan::old_cofactor_mode
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool old_cofactor_mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan::check_mode
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: Botan::point_format
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_Point_Format
    signature: EC_Point_Format point_format() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: Botan::kdf
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & kdf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::kdf
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: Botan::kdf_spec
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached:
    - Botan::kdf
    linkageType: ''
    returnType: std::string
    signature: std::string & kdf_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::group
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: Botan::domain
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 3
    functionsReached:
    - Botan::group
    linkageType: ''
    returnType: EC_Group
    signature: EC_Group & domain() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::point_format
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: Botan::compression_type
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached:
    - Botan::point_format
    linkageType: ''
    returnType: EC_Point_Format
    signature: EC_Point_Format compression_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECIES_System_Params
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:163,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 219
    functionName: ECIES_KA_Params
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached:
    - ECIES_System_Params
    - BOTAN_DEPRECATED
    linkageType: ''
    returnType: ECIES_System_Params
    signature: ECIES_System_Params ECIES_KA_Params
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECIES_Encryptor
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:271,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:285,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:285,1
    - Dst: assign
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:296,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:296,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:296,1
    - Dst: ECIES_KA_Operation::ECIES_KA_Operation
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:305,1
    - Dst: ECIES_System_Params::ECIES_System_Params
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 313
    functionName: PK_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached:
    - ECIES_System_Params::ECIES_System_Params
    - assign
    - begin
    - group
    - end
    - ECIES_KA_Operation::ECIES_KA_Operation
    - ECIES_Encryptor
    - EC_AffinePoint
    linkageType: ''
    returnType: ECIES_Encryptor
    signature: ECIES_Encryptor PK_Encryptor
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECIES_Decryptor
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:325,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:333,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:333,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:333,1
    - Dst: ECIES_KA_Operation::ECIES_KA_Operation
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:340,1
    - Dst: ECIES_System_Params::ECIES_System_Params
      Src: /src/botan/src/lib/pubkey/ecies/ecies.h:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 346
    functionName: PK_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/ecies/ecies.h
    functionUses: 0
    functionsReached:
    - ECIES_System_Params::ECIES_System_Params
    - begin
    - ECIES_Decryptor
    - std::vector<uint8_t>
    - ECIES_KA_Operation::ECIES_KA_Operation
    - end
    linkageType: ''
    returnType: ECIES_Decryptor
    signature: ECIES_Decryptor PK_Decryptor
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:25,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:27,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:28,1
    - Dst: H
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:30,1
    - Dst: indcpa_encrypt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:32,1
    - Dst: precomputed_matrix_At
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:32,1
    - Dst: KDF
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:34,1
    - Dst: H
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:34,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - out_encapsulated_key
    - out_shared_key
    - ' rng'
    argTypes:
    - StrongSpan<KyberCompressedCiphertext>
    - StrongSpan<KyberSharedSecret>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 36
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 36
    functionName: Botan::Kyber_KEM_Encryptor::encapsulate
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_all
    - H
    - precomputed_matrix_At
    - random_vec
    - Botan::CT::poison
    - mode
    - indcpa_encrypt
    - KDF
    linkageType: ''
    returnType: void
    signature: "void Kyber_KEM_Encryptor::encapsulate(StrongSpan<KyberCompressedCiphertext>
      out_encapsulated_key,\n                                      StrongSpan<KyberSharedSecret>
      out_shared_key,\n                                      RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:43,1
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:45,1
    - Dst: H_public_key_bits_raw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:47,1
    - Dst: z
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:48,1
    - Dst: indcpa_decrypt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:50,1
    - Dst: indcpa_encrypt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:53,1
    - Dst: precomputed_matrix_At
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:53,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:56,1
    - Dst: StrongSpan<const KyberCompressedCiphertext>::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:56,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:56,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:57,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:57,1
    - Dst: KyberSharedSecret::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:57,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:58,1
    - Dst: StrongSpan<const KyberCompressedCiphertext>::data
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:58,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:58,1
    - Dst: StrongSpan<const KyberCompressedCiphertext>::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:58,1
    - Dst: Botan::CT::conditional_copy_mem
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:59,1
    - Dst: KyberSharedSecret::data
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:59,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:59,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:59,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:59,1
    - Dst: KDF
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:61,1
    - Dst: H
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:61,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out_shared_key
    - encapsulated_key
    argTypes:
    - StrongSpan<KyberSharedSecret>
    - StrongSpan<const KyberCompressedCiphertext>
    constantsTouched: []
    func_position:
      end: 63
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 63
    functionName: Botan::Kyber_KEM_Decryptor::decapsulate
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.cpp
    functionUses: 0
    functionsReached:
    - H_public_key_bits_raw
    - precomputed_matrix_At
    - Botan::CT::unpoison
    - Botan::CT::is_equal
    - mode
    - indcpa_decrypt
    - KyberSharedSecret::data
    - BOTAN_ASSERT_NOMSG
    - KyberSharedSecret::size
    - data
    - indcpa_encrypt
    - StrongSpan<const KyberCompressedCiphertext>::size
    - StrongSpan<const KyberCompressedCiphertext>::data
    - Botan::CT::conditional_copy_mem
    - H
    - size
    - KDF
    - z
    - Botan::CT::scoped_poison
    - auto::data
    - auto::size
    linkageType: ''
    returnType: void
    signature: "void Kyber_KEM_Decryptor::decapsulate(StrongSpan<KyberSharedSecret>
      out_shared_key,\n                                      StrongSpan<const KyberCompressedCiphertext>
      encapsulated_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - kdf
    argTypes:
    - std::shared_ptr<const Kyber_PublicKeyInternal>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: Botan::Kyber_KEM_Encryptor::Kyber_KEM_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Kyber_KEM_Encryptor(std::shared_ptr<const Kyber_PublicKeyInternal>
      key, std::string_view kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '& mode() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.h
    functionUses: 0
    functionsReached:
    - Botan::mode
    linkageType: ''
    returnType: KyberConstants
    signature: KyberConstants & mode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.h:42,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - private_key
    - public_key
    - kdf
    argTypes:
    - std::shared_ptr<const Kyber_PrivateKeyInternal>
    - std::shared_ptr<const Kyber_PublicKeyInternal>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: Botan::Kyber_KEM_Decryptor::Kyber_KEM_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Kyber_KEM_Decryptor(std::shared_ptr<const Kyber_PrivateKeyInternal>
      private_key,\n                          std::shared_ptr<const Kyber_PublicKeyInternal>
      public_key,\n                          std::string_view kdf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '& mode() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_round3_impl.h
    functionUses: 0
    functionsReached:
    - Botan::mode
    linkageType: ''
    returnType: KyberConstants
    signature: KyberConstants & mode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:26,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:27,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:28,1
    - Dst: Botan::XOF::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:29,1
    - Dst: Botan::XOF::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: Botan::Kyber_Modern_Symmetric_Primitives::Kyber_Modern_Symmetric_Primitives
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h
    functionUses: 0
    functionsReached:
    - Botan::XOF::create_or_throw
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: void
    signature: void Kyber_Modern_Symmetric_Primitives()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::Kyber_Modern_Symmetric_Primitives::seed_expansion_domain_separator
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::array<uint8_t, 1>>
    signature: std::optional<std::array<uint8_t, 1>> seed_expansion_domain_separator(const
      KyberConstants&) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& get_G() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_G() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '& get_H() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_H() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& get_J() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_J() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& get_KDF() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_KDF() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:46,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:47,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:48,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seed
    - nonce
    argTypes:
    - std::span<const uint8_t>
    - uint8_t
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: '& get_PRF(std::span<const uint8_t> seed, const uint8_t nonce) const
      override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h
    functionUses: 0
    functionsReached:
    - clear
    - update
    - store_be
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & get_PRF(std::span<const uint8_t> seed, const uint8_t nonce)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:53,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:54,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:55,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:55,1
    - Dst: make_uint16
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:55,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:55,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seed
    - matrix_position
    argTypes:
    - std::span<const uint8_t>
    - std::tuple<uint8_t, uint8_t>
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: '& get_XOF(std::span<const uint8_t> seed, std::tuple<uint8_t, uint8_t>
      matrix_position) const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber/kyber_modern.h
    functionUses: 0
    functionsReached:
    - make_uint16
    - std::get<1>
    - clear
    - std::get<0>
    - update
    - store_be
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & get_XOF(std::span<const uint8_t> seed, std::tuple<uint8_t,
      uint8_t> matrix_position) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h:26,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h:27,1
    - Dst: std::make_unique<AES_256_CTR_XOF>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Botan::Kyber_90s_Symmetric_Primitives::Kyber_90s_Symmetric_Primitives
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h
    functionUses: 0
    functionsReached:
    - std::make_unique<AES_256_CTR_XOF>
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: void
    signature: void Kyber_90s_Symmetric_Primitives()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Botan::Kyber_90s_Symmetric_Primitives::seed_expansion_domain_separator
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::array<uint8_t, 1>>
    signature: std::optional<std::array<uint8_t, 1>> seed_expansion_domain_separator(const
      KyberConstants&) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& get_G() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_G() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& get_H() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_H() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '& get_J() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_J() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& get_KDF() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_KDF() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h:44,1
    - Dst: start
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - seed
    - nonce
    argTypes:
    - std::span<const uint8_t>
    - uint8_t
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: '& get_PRF(std::span<const uint8_t> seed, const uint8_t nonce) const
      override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h
    functionUses: 0
    functionsReached:
    - clear
    - start
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & get_PRF(std::span<const uint8_t> seed, const uint8_t nonce)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h:51,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h:52,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h:52,1
    - Dst: start
      Src: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - seed
    - mpos
    argTypes:
    - std::span<const uint8_t>
    - std::tuple<uint8_t, uint8_t>
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: '& get_XOF(std::span<const uint8_t> seed, std::tuple<uint8_t, uint8_t>
      mpos) const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_round3/kyber_90s/kyber_90s.h
    functionUses: 0
    functionsReached:
    - clear
    - start
    - std::get<1>
    - std::get<0>
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & get_XOF(std::span<const uint8_t> seed, std::tuple<uint8_t,
      uint8_t> mpos) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - kdf
    argTypes:
    - std::shared_ptr<const Kyber_PublicKeyInternal>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: Botan::ML_KEM_Encryptor::ML_KEM_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ML_KEM_Encryptor(std::shared_ptr<const Kyber_PublicKeyInternal>
      key, std::string_view kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mode
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& mode() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached:
    - Botan::mode
    linkageType: ''
    returnType: KyberConstants
    signature: KyberConstants & mode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:46,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - private_key
    - public_key
    - kdf
    argTypes:
    - std::shared_ptr<const Kyber_PrivateKeyInternal>
    - std::shared_ptr<const Kyber_PublicKeyInternal>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: Botan::ML_KEM_Decryptor::ML_KEM_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ML_KEM_Decryptor(std::shared_ptr<const Kyber_PrivateKeyInternal>
      private_key,\n                       std::shared_ptr<const Kyber_PublicKeyInternal>
      public_key,\n                       std::string_view kdf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mode
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& mode() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached:
    - Botan::mode
    linkageType: ''
    returnType: KyberConstants
    signature: KyberConstants & mode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:63,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:64,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:65,1
    - Dst: Botan::XOF::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:66,1
    - Dst: Botan::XOF::create_or_throw
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: Botan::ML_KEM_Symmetric_Primitives::ML_KEM_Symmetric_Primitives
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached:
    - Botan::XOF::create_or_throw
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: void
    signature: void ML_KEM_Symmetric_Primitives()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: k
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: Botan::ML_KEM_Symmetric_Primitives::seed_expansion_domain_separator
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached:
    - k
    linkageType: ''
    returnType: std::optional<std::array<uint8_t, 1>>
    signature: std::optional<std::array<uint8_t, 1>> seed_expansion_domain_separator(const
      KyberConstants& mode) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& get_G() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_G() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '& get_H() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_H() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '& get_J() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_J() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: '& get_KDF() const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: HashFunction
    signature: HashFunction & get_KDF() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:87,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:88,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:89,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seed
    - nonce
    argTypes:
    - std::span<const uint8_t>
    - uint8_t
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: '& get_PRF(std::span<const uint8_t> seed, const uint8_t nonce) const
      override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached:
    - clear
    - update
    - store_be
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & get_PRF(std::span<const uint8_t> seed, const uint8_t nonce)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:94,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:95,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:96,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:96,1
    - Dst: make_uint16
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:96,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:96,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seed
    - matrix_position
    argTypes:
    - std::span<const uint8_t>
    - std::tuple<uint8_t, uint8_t>
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: '& get_XOF(std::span<const uint8_t> seed, std::tuple<uint8_t, uint8_t>
      matrix_position) const override'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.h
    functionUses: 0
    functionsReached:
    - make_uint16
    - std::get<1>
    - clear
    - std::get<0>
    - update
    - store_be
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & get_XOF(std::span<const uint8_t> seed, std::tuple<uint8_t,
      uint8_t> matrix_position) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:28,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:30,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:31,1
    - Dst: indcpa_encrypt
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:34,1
    - Dst: precomputed_matrix_At
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:34,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:37,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out_encapsulated_key
    - out_shared_key
    - ' rng'
    argTypes:
    - StrongSpan<KyberCompressedCiphertext>
    - StrongSpan<KyberSharedSecret>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 39
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 39
    functionName: Botan::ML_KEM_Encryptor::encapsulate
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_all
    - precomputed_matrix_At
    - random_vec
    - Botan::CT::scoped_poison
    - copy_mem
    - mode
    - indcpa_encrypt
    linkageType: ''
    returnType: void
    signature: "void ML_KEM_Encryptor::encapsulate(StrongSpan<KyberCompressedCiphertext>
      out_encapsulated_key,\n                                   StrongSpan<KyberSharedSecret>
      out_shared_key,\n                                   RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:50,1
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:52,1
    - Dst: H_public_key_bits_raw
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:54,1
    - Dst: z
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:55,1
    - Dst: indcpa_decrypt
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:57,1
    - Dst: J
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:60,1
    - Dst: indcpa_encrypt
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:61,1
    - Dst: precomputed_matrix_At
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:61,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:63,1
    - Dst: StrongSpan<const KyberCompressedCiphertext>::size
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:63,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:63,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:64,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:64,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:64,1
    - Dst: StrongSpan<KyberSharedSecret>::size
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:64,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:64,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:65,1
    - Dst: StrongSpan<const KyberCompressedCiphertext>::data
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:65,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:65,1
    - Dst: StrongSpan<const KyberCompressedCiphertext>::size
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:65,1
    - Dst: Botan::CT::conditional_copy_mem
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:66,1
    - Dst: StrongSpan<KyberSharedSecret>::data
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:66,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:66,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:66,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:66,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out_shared_key
    - c
    argTypes:
    - StrongSpan<KyberSharedSecret>
    - StrongSpan<const KyberCompressedCiphertext>
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: Botan::ML_KEM_Decryptor::decapsulate
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/ml_kem/ml_kem_impl.cpp
    functionUses: 0
    functionsReached:
    - H_public_key_bits_raw
    - precomputed_matrix_At
    - Botan::CT::unpoison
    - Botan::CT::is_equal
    - mode
    - indcpa_decrypt
    - J
    - BOTAN_ASSERT_NOMSG
    - data
    - indcpa_encrypt
    - StrongSpan<const KyberCompressedCiphertext>::size
    - StrongSpan<const KyberCompressedCiphertext>::data
    - Botan::CT::conditional_copy_mem
    - StrongSpan<KyberSharedSecret>::size
    - size
    - StrongSpan<KyberSharedSecret>::data
    - z
    - Botan::CT::scoped_poison
    - auto::data
    - auto::size
    linkageType: ''
    returnType: void
    signature: "void ML_KEM_Decryptor::decapsulate(StrongSpan<KyberSharedSecret> out_shared_key,\n
      \                                  StrongSpan<const KyberCompressedCiphertext>
      c)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:84,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:84,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 85
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 85
    functionName: Botan::kyber_mode_from_string
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - Botan::fmt
    linkageType: ''
    returnType: KyberMode::Mode
    signature: KyberMode::Mode kyber_mode_from_string(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mode
    argTypes:
    - Mode
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan::KyberMode::KyberMode
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KyberMode::KyberMode(Mode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kyber_mode_from_string
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:91,1
    - Dst: to_formatted_string
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan::KyberMode::KyberMode
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 6
    functionsReached:
    - to_formatted_string
    - kyber_mode_from_string
    linkageType: ''
    returnType: void
    signature: void KyberMode::KyberMode(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kyber_mode_from_string
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: Botan::KyberMode::KyberMode
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 6
    functionsReached:
    - kyber_mode_from_string
    linkageType: ''
    returnType: void
    signature: void KyberMode::KyberMode(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:96,1
    - Dst: Botan::KyberMode::to_string
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: Botan::KyberMode::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - Botan::KyberMode::to_string
    linkageType: ''
    returnType: OID
    signature: OID KyberMode::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 122
    functionName: Botan::KyberMode::to_string
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: std::string
    signature: std::string KyberMode::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::KyberMode::is_90s
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool KyberMode::is_90s() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberMode::is_90s
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Botan::KyberMode::is_modern
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::KyberMode::is_90s
    linkageType: ''
    returnType: bool
    signature: bool KyberMode::is_modern() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: Botan::KyberMode::is_ml_kem
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool KyberMode::is_ml_kem() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: Botan::KyberMode::is_kyber_round3
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool KyberMode::is_kyber_round3() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberMode::is_kyber_round3
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:143,1
    - Dst: Botan::KyberMode::is_modern
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:143,1
    - Dst: Botan::KyberMode::is_kyber_round3
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:149,1
    - Dst: Botan::KyberMode::is_90s
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:149,1
    - Dst: Botan::KyberMode::is_ml_kem
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 161
    functionName: Botan::KyberMode::is_available
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - Botan::KyberMode::is_modern
    - Botan::KyberMode::is_90s
    - Botan::KyberMode::is_ml_kem
    - Botan::KyberMode::is_kyber_round3
    linkageType: ''
    returnType: bool
    signature: bool KyberMode::is_available() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PublicKey::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: Botan::Kyber_PublicKey::mode
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - Botan::Kyber_PublicKey::mode
    linkageType: ''
    returnType: KyberMode
    signature: KyberMode Kyber_PublicKey::mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PublicKey::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: Botan::Kyber_PublicKey::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_PublicKey::mode
    linkageType: ''
    returnType: std::string
    signature: std::string Kyber_PublicKey::algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:176,1
    - Dst: Botan::Kyber_PublicKey::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: Botan::Kyber_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_PublicKey::mode
    - AlgorithmIdentifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Kyber_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PublicKey::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: Botan::Kyber_PublicKey::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_PublicKey::mode
    linkageType: ''
    returnType: OID
    signature: OID Kyber_PublicKey::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PublicKey::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: Botan::Kyber_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_PublicKey::mode
    linkageType: ''
    returnType: size_t
    signature: size_t Kyber_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KyberMode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:188,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: Botan::Kyber_PublicKey::Kyber_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - KyberMode
    - oid
    linkageType: ''
    returnType: void
    signature: void Kyber_PublicKey::Kyber_PublicKey(const AlgorithmIdentifier& alg_id,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Kyber_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:191,1
    - Dst: KyberSerializedPublicKey
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pub_key
    - mode
    argTypes:
    - std::span<const uint8_t>
    - KyberMode
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: Botan::Kyber_PublicKey::Kyber_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<Kyber_PublicKeyInternal>
    - KyberSerializedPublicKey
    linkageType: ''
    returnType: void
    signature: void Kyber_PublicKey::Kyber_PublicKey(std::span<const uint8_t> pub_key,
      KyberMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Kyber_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:195,1
    - Dst: m_public::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:196,1
    - Dst: m_public::t
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:196,1
    - Dst: m_public::rho
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Kyber_PublicKey
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: Botan::Kyber_PublicKey::Kyber_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<Kyber_PublicKeyInternal>
    - m_public::rho
    - m_public::mode
    - m_public::t
    linkageType: ''
    returnType: void
    signature: void Kyber_PublicKey::Kyber_PublicKey(const Kyber_PublicKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key_bits_raw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: Botan::Kyber_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - public_key_bits_raw
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Kyber_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: Botan::Kyber_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Kyber_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PublicKey::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: Botan::Kyber_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_PublicKey::mode
    linkageType: ''
    returnType: size_t
    signature: size_t Kyber_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PublicKey::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:218,1
    - Dst: Botan::Kyber_Algos::encode_polynomial_vector
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:219,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:219,1
    - Dst: public_key_bits_raw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:221,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:222,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:222,1
    - Dst: std::equal
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:222,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:222,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:222,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: Botan::Kyber_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Algos::encode_polynomial_vector
    - std::vector::size
    - public_key_bits_raw
    - Botan::Kyber_PublicKey::mode
    - t
    - std::vector::begin
    - begin
    - size
    - std::equal
    - std::vector::end
    linkageType: ''
    returnType: bool
    signature: bool Kyber_PublicKey::check_key(RandomNumberGenerator&, bool) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Kyber_PrivateKey>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:226,1
    - Dst: Botan::Kyber_PublicKey::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: Botan::Kyber_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Kyber_PrivateKey>
    - Botan::Kyber_PublicKey::mode
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> Kyber_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:233,1
    - Dst: Botan::Kyber_Algos::expand_keypair
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:234,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:234,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - mode
    argTypes:
    - RandomNumberGenerator
    - KyberMode
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: Botan::Kyber_PrivateKey::Kyber_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - random_vec
    - std::tie
    - Botan::Kyber_Algos::expand_keypair
    linkageType: ''
    returnType: void
    signature: void Kyber_PrivateKey::Kyber_PrivateKey(RandomNumberGenerator& rng,
      KyberMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KyberMode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:240,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: Botan::Kyber_PrivateKey::Kyber_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - KyberMode
    - oid
    linkageType: ''
    returnType: void
    signature: void Kyber_PrivateKey::Kyber_PrivateKey(const AlgorithmIdentifier&
      alg_id, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KyberConstants::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:245,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:245,1
    - Dst: KyberConstants::seed_private_key_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:245,1
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:246,1
    - Dst: Seed_Expanding_Keypair_Codec
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:246,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:246,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:247,1
    - Dst: KyberConstants::expanded_private_key_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:247,1
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:248,1
    - Dst: Expanded_Keypair_Codec
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:248,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:248,1
    - Dst: KyberConstants::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:249,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:249,1
    - Dst: KyberConstants::seed_private_key_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:249,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:250,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - sk
    - m
    argTypes:
    - std::span<const uint8_t>
    - KyberMode
    constantsTouched: []
    func_position:
      end: 254
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 254
    functionName: Botan::Kyber_PrivateKey::Kyber_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - Expanded_Keypair_Codec
    - std::tie
    - KyberConstants::mode
    - KyberConstants::seed_private_key_bytes
    - Seed_Expanding_Keypair_Codec
    - std::move
    - std::span<const uint8_t>::size
    - KyberConstants::expanded_private_key_bytes
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Kyber_PrivateKey::Kyber_PrivateKey(std::span<const uint8_t> sk,
      KyberMode m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Kyber_PublicKey>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: Botan::Kyber_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Kyber_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> Kyber_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PrivateKey::private_key_bits
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: Botan::Kyber_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_PrivateKey::private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Kyber_PrivateKey::raw_private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PrivateKey::private_key_bits_with_format
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:265,1
    - Dst: Botan::Kyber_PrivateKey::private_key_format
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: Botan::Kyber_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 2
    functionsReached:
    - Botan::Kyber_PrivateKey::private_key_bits_with_format
    - Botan::Kyber_PrivateKey::private_key_format
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Kyber_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PublicKey::check_key
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:276,1
    - Dst: PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 287
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 287
    functionName: Botan::Kyber_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - PK_KEM_Decryptor::decrypt
    - Botan::Kyber_PublicKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool Kyber_PrivateKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:291,1
    - Dst: Botan::Kyber_PublicKey::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:293,1
    - Dst: std::make_unique<Kyber_KEM_Encryptor>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:294,1
    - Dst: Botan::Kyber_PublicKey::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:299,1
    - Dst: std::make_unique<ML_KEM_Encryptor>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:300,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:304,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:306,1
    - Dst: Botan::Kyber_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:306,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 307
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 307
    functionName: Botan::Kyber_PublicKey::create_kem_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - Provider_Not_Found
    - Botan::Kyber_PublicKey::mode
    - BOTAN_ASSERT_UNREACHABLE
    - std::string_view::empty
    - Botan::Kyber_PublicKey::algo_name
    - std::make_unique<Kyber_KEM_Encryptor>
    - std::make_unique<ML_KEM_Encryptor>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Encryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Encryption> Kyber_PublicKey::create_kem_encryption_op(std::string_view
      params,\n                                                                                  std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:312,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:313,1
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:315,1
    - Dst: std::make_unique<Kyber_KEM_Decryptor>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:316,1
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:321,1
    - Dst: std::make_unique<ML_KEM_Decryptor>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:322,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:326,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:328,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 329
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 329
    functionName: Botan::Kyber_PrivateKey::create_kem_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Kyber_KEM_Decryptor>
    - algo_name
    - Provider_Not_Found
    - std::make_unique<ML_KEM_Decryptor>
    - std::string_view::empty
    - mode
    - BOTAN_UNUSED
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Decryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Decryption> Kyber_PrivateKey::create_kem_decryption_op(RandomNumberGenerator&
      rng,\n                                                                                   std::string_view
      params,\n                                                                                   std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:332,1
    - Dst: seed
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:332,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: Botan::Kyber_PrivateKey::private_key_format
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - mode
    - has_value
    - seed
    linkageType: ''
    returnType: MlPrivateKeyFormat
    signature: MlPrivateKeyFormat Kyber_PrivateKey::private_key_format() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_PrivateKey::private_key_format
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:339,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:340,1
    - Dst: std::make_unique<Seed_Expanding_Keypair_Codec>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:345,1
    - Dst: std::make_unique<Expanded_Keypair_Codec>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:347,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:349,1
    - Dst: auto::encode_keypair
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - format
    argTypes:
    - MlPrivateKeyFormat
    constantsTouched: []
    func_position:
      end: 352
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 352
    functionName: Botan::Kyber_PrivateKey::private_key_bits_with_format
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Expanded_Keypair_Codec>
    - Botan::Kyber_PrivateKey::private_key_format
    - Encoding_Error
    - auto::encode_keypair
    - std::make_unique<Seed_Expanding_Keypair_Codec>
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Kyber_PrivateKey::private_key_bits_with_format(MlPrivateKeyFormat
      format) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: ~Kyber_Keypair_Codec()
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Kyber_Keypair_Codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphertext_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h:56,1
    - Dst: Botan::Kyber_PublicKeyInternal::indcpa_encrypt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' m'
    - ' r'
    - ' At'
    argTypes:
    - KyberMessage
    - KyberEncryptionRandomness
    - KyberPolyMat
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: Botan::Kyber_PublicKeyInternal::indcpa_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 1
    functionsReached:
    - ciphertext_bytes
    - Botan::Kyber_PublicKeyInternal::indcpa_encrypt
    linkageType: ''
    returnType: KyberCompressedCiphertext
    signature: "KyberCompressedCiphertext indcpa_encrypt(const KyberMessage& m,\n
      \                                              const KyberEncryptionRandomness&
      r,\n                                               const KyberPolyMat& At) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '& t() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberPolyVecNTT
    signature: KyberPolyVecNTT & t() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: '& rho() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberSeedRho
    signature: KyberSeedRho & rho() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '& mode() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberConstants
    signature: KyberConstants & mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& public_key_bits_raw() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberSerializedPublicKey
    signature: KyberSerializedPublicKey & public_key_bits_raw() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '& H_public_key_bits_raw() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberHashedPublicKey
    signature: KyberHashedPublicKey & H_public_key_bits_raw() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::Kyber_PublicKeyInternal::Kyber_PublicKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Kyber_PublicKeyInternal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h:84,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h:84,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - mode
    - s
    - seed
    argTypes:
    - KyberConstants
    - KyberPolyVecNTT
    - KyberPrivateKeySeed
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: Botan::Kyber_PrivateKeyInternal::Kyber_PrivateKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Kyber_PrivateKeyInternal(KyberConstants mode, KyberPolyVecNTT
      s, KyberPrivateKeySeed seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: '& s()'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberPolyVecNTT
    signature: KyberPolyVecNTT & s()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: '& s() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberPolyVecNTT
    signature: KyberPolyVecNTT & s() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: '& seed() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberPrivateKeySeed
    signature: KyberPrivateKeySeed & seed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& z() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberImplicitRejectionValue
    signature: KyberImplicitRejectionValue & z() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: '& mode() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberConstants
    signature: KyberConstants & mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan::Kyber_PrivateKeyInternal::Kyber_PrivateKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Kyber_PrivateKeyInternal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: Botan::Kyber_PrivateKeyInternal::_const_time_poison
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan::Kyber_PrivateKeyInternal::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~Kyber_Symmetric_Primitives()
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Kyber_Symmetric_Primitives()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_H
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - StrongSpan<const KyberMessage>
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::Kyber_Symmetric_Primitives::H
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - get_H
    linkageType: ''
    returnType: KyberMessage
    signature: KyberMessage H(StrongSpan<const KyberMessage> m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_H
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - StrongSpan<const KyberCompressedCiphertext>
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::Kyber_Symmetric_Primitives::H
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - get_H
    linkageType: ''
    returnType: KyberHashedCiphertext
    signature: KyberHashedCiphertext H(StrongSpan<const KyberCompressedCiphertext>
      r) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_H
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pk
    argTypes:
    - StrongSpan<const KyberSerializedPublicKey>
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::Kyber_Symmetric_Primitives::H
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - get_H
    linkageType: ''
    returnType: KyberHashedPublicKey
    signature: KyberHashedPublicKey H(StrongSpan<const KyberSerializedPublicKey> pk)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seed_expansion_domain_separator
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:48,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:49,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - seed
    - ' mode'
    argTypes:
    - StrongSpan<const KyberSeedRandomness>
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: Botan::Kyber_Symmetric_Primitives::G
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - seed_expansion_domain_separator
    - Botan::Kyber_Symmetric_Primitives::G_split
    linkageType: ''
    returnType: std::pair<KyberSeedRho, KyberSeedSigma>
    signature: "std::pair<KyberSeedRho, KyberSeedSigma> G(StrongSpan<const KyberSeedRandomness>
      seed,\n                                                const KyberConstants&
      mode) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - pubkey_hash
    argTypes:
    - StrongSpan<const KyberMessage>
    - StrongSpan<const KyberHashedPublicKey>
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: Botan::Kyber_Symmetric_Primitives::G
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Symmetric_Primitives::G_split
    linkageType: ''
    returnType: std::pair<KyberSharedSecret, KyberEncryptionRandomness>
    signature: "std::pair<KyberSharedSecret, KyberEncryptionRandomness> G(\n         StrongSpan<const
      KyberMessage> msg, StrongSpan<const KyberHashedPublicKey> pubkey_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_J
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:62,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:63,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:64,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rejection_value
    - ciphertext
    argTypes:
    - StrongSpan<const KyberImplicitRejectionValue>
    - StrongSpan<const KyberCompressedCiphertext>
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: Botan::Kyber_Symmetric_Primitives::J
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - update
    - get_J
    - final
    linkageType: ''
    returnType: KyberSharedSecret
    signature: "KyberSharedSecret J(StrongSpan<const KyberImplicitRejectionValue>
      rejection_value,\n                          StrongSpan<const KyberCompressedCiphertext>
      ciphertext) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_KDF
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:72,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:73,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:74,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - shared_secret
    - hashed_ciphertext
    argTypes:
    - StrongSpan<KyberSharedSecret>
    - StrongSpan<const KyberSharedSecret>
    - StrongSpan<const KyberHashedCiphertext>
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: Botan::Kyber_Symmetric_Primitives::KDF
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - update
    - final
    - get_KDF
    linkageType: ''
    returnType: void
    signature: "void KDF(StrongSpan<KyberSharedSecret> out,\n               StrongSpan<const
      KyberSharedSecret> shared_secret,\n               StrongSpan<const KyberHashedCiphertext>
      hashed_ciphertext) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::visit
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:81,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:81,1
    - Dst: get_PRF
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - seed
    - nonce
    - outlen
    argTypes:
    - KyberSigmaOrEncryptionRandomness
    - uint8_t
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: Botan::Kyber_Symmetric_Primitives::PRF
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - get_PRF
    - get
    - std::visit
    linkageType: ''
    returnType: KyberSamplingRandomness
    signature: "KyberSamplingRandomness PRF(KyberSigmaOrEncryptionRandomness seed,\n
      \                                 const uint8_t nonce,\n                                  const
      size_t outlen) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_XOF
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - matrix_position
    argTypes:
    - StrongSpan<const KyberSeedRho>
    - std::tuple<uint8_t, uint8_t>
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: '& XOF(StrongSpan<const KyberSeedRho> seed, std::tuple<uint8_t,
      uint8_t> matrix_position) const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - get_XOF
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & XOF(StrongSpan<const KyberSeedRho> seed, std::tuple<uint8_t,
      uint8_t> matrix_position) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_G
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:94,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:95,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:96,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:100,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:101,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:102,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: Botan::Kyber_Symmetric_Primitives::G_split
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_symmetric_primitives.h
    functionUses: 2
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - get_G
    - BufferSlicer::copy
    - final
    - BufferSlicer::empty
    - update
    linkageType: ''
    returnType: std::pair<T1, T2>
    signature: std::pair<T1, T2> G_split(InputTs&&... inputs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: polynomial_vector_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:52,1
    - Dst: Botan::Kyber_Algos::encode_polynomial_vector
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' vec'
    - ' mode'
    argTypes:
    - KyberPolyVecNTT
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: Botan::Kyber_Algos::encode_polynomial_vector
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h
    functionUses: 2
    functionsReached:
    - Botan::Kyber_Algos::encode_polynomial_vector
    - polynomial_vector_bytes
    linkageType: ''
    returnType: T
    signature: T encode_polynomial_vector(const KyberPolyVecNTT& vec, const KyberConstants&
      mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - seed
    - ' mode'
    argTypes:
    - StrongSpan<const SeedT>
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: Botan::Kyber_Algos::PolynomialSampler::PolynomialSampler
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolynomialSampler(StrongSpan<const SeedT> seed, const KyberConstants&
      mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:71,1
    - Dst: Botan::Kyber_Algos::PolynomialSampler::sample_poly_cbd
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:73,1
    - Dst: eta1
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: Botan::Kyber_Algos::PolynomialSampler::sample_polynomial_vector_cbd_eta1
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h
    functionUses: 0
    functionsReached:
    - k
    - Botan::Kyber_Algos::PolynomialSampler::sample_poly_cbd
    - eta1
    linkageType: ''
    returnType: KyberPolyVec
    signature: KyberPolyVec sample_polynomial_vector_cbd_eta1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_Algos::PolynomialSampler::sample_poly_cbd
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:82,1
    - Dst: eta2
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: Botan::Kyber_Algos::PolynomialSampler::sample_polynomial_cbd_eta2
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Algos::PolynomialSampler::sample_poly_cbd
    - eta2
    linkageType: ''
    returnType: KyberPoly
    signature: "KyberPoly sample_polynomial_cbd_eta2()\n         requires std::same_as<KyberEncryptionRandomness,
      SeedT>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:89,1
    - Dst: Botan::Kyber_Algos::PolynomialSampler::sample_poly_cbd
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:91,1
    - Dst: eta2
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: Botan::Kyber_Algos::PolynomialSampler::sample_polynomial_vector_cbd_eta2
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h
    functionUses: 0
    functionsReached:
    - k
    - Botan::Kyber_Algos::PolynomialSampler::sample_poly_cbd
    - eta2
    linkageType: ''
    returnType: KyberPolyVec
    signature: "KyberPolyVec sample_polynomial_vector_cbd_eta2()\n         requires
      std::same_as<KyberEncryptionRandomness, SeedT>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan::Kyber_Algos::PolynomialSampler::prf
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h
    functionUses: 0
    functionsReached:
    - symmetric_primitives
    linkageType: ''
    returnType: KyberSamplingRandomness
    signature: KyberSamplingRandomness prf(size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_Algos::PolynomialSampler::prf
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:103,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:103,1
    - Dst: Botan::Kyber_Algos::PolynomialSampler::prf
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:105,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:105,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:108,1
    - Dst: sample_polynomial_from_cbd
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' poly'
    - eta
    argTypes:
    - KyberPoly
    - KyberConstants::KyberEta
    constantsTouched: []
    func_position:
      end: 112
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 112
    functionName: Botan::Kyber_Algos::PolynomialSampler::sample_poly_cbd
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.h
    functionUses: 3
    functionsReached:
    - Botan::Kyber_Algos::PolynomialSampler::prf
    - sample_polynomial_from_cbd
    - size
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: void
    signature: void sample_poly_cbd(KyberPoly& poly, KyberConstants::KyberEta eta)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_helpers.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t, 3>
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::Kyber_Algos::load_le3
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_helpers.h
    functionUses: 0
    functionsReached:
    - Botan::load_le
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t load_le3(std::span<const uint8_t, 3> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_helpers.h:34,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_helpers.h:49,1
    - Dst: static_cast<unsigned_T>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_helpers.h:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - KyberConstants::T
    constantsTouched: []
    func_position:
      end: 57
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 57
    functionName: Botan::Kyber_Algos::compress
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_helpers.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - static_cast<unsigned_T>
    linkageType: ''
    returnType: std::make_unsigned_t<KyberConstants::T>
    signature: std::make_unsigned_t<KyberConstants::T> compress(KyberConstants::T
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_helpers.h:65,1
    - Dst: requires std::is_integral_v<T>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_helpers.h:69,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_helpers.h:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::make_unsigned_t<KyberConstants::T>
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: Botan::Kyber_Algos::decompress
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_helpers.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - static_cast<uint32_t>
    - requires std::is_integral_v<T>
    linkageType: ''
    returnType: KyberConstants::T
    signature: KyberConstants::T decompress(std::make_unsigned_t<KyberConstants::T>
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:30,1
    - Dst: static_cast<T2>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:31,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - T2
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: Botan::KyberPolyTraits::montgomery_reduce_coefficient
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - static_cast<T2>
    linkageType: ''
    returnType: T
    signature: T montgomery_reduce_coefficient(T2 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: Botan::KyberPolyTraits::barrett_reduce_coefficient
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T barrett_reduce_coefficient(T a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:56,1
    - Dst: barrett_reduce
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::span<T, N>
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: Botan::KyberPolyTraits::ntt
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h
    functionUses: 0
    functionsReached:
    - barrett_reduce
    - fqmul
    linkageType: ''
    returnType: void
    signature: void ntt(std::span<T, N> p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberPolyTraits::barrett_reduce_coefficient
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:83,1
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:84,1
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::span<T, N>
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: Botan::KyberPolyTraits::inverse_ntt
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h
    functionUses: 0
    functionsReached:
    - fqmul
    - Botan::KyberPolyTraits::barrett_reduce_coefficient
    linkageType: ''
    returnType: void
    signature: void inverse_ntt(std::span<T, N> p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:107,1
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:107,1
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:107,1
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:107,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:108,1
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:108,1
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:108,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:111,1
    - Dst: Tq_elem_count
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:121,1
    - Dst: Tq_elem
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:123,1
    - Dst: basemul
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:123,1
    - Dst: Tq_elem
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:123,1
    - Dst: Tq_elem
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:123,1
    - Dst: Tq_elem
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:124,1
    - Dst: basemul
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:124,1
    - Dst: Tq_elem
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:124,1
    - Dst: Tq_elem
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - result
    - lhs
    - rhs
    argTypes:
    - std::span<T, N>
    - std::span<const T, N>
    - std::span<const T, N>
    constantsTouched: []
    func_position:
      end: 126
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 126
    functionName: Botan::KyberPolyTraits::poly_pointwise_montgomery
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_polynomial.h
    functionUses: 0
    functionsReached:
    - basemul
    - static_cast<T>
    - size
    - fqmul
    - Tq_elem_count
    - Tq_elem
    linkageType: ''
    returnType: void
    signature: "void poly_pointwise_montgomery(std::span<T, N> result,\n                                                      std::span<const
      T, N> lhs,\n                                                      std::span<const
      T, N> rhs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CRYSTALS::pack<(1 << d) - 1>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bs'
    - ' p'
    argTypes:
    - BufferStuffer
    - KyberPoly
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan::Kyber_Algos::poly_compress_and_encode
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - CRYSTALS::pack<(1 << d) - 1>
    linkageType: ''
    returnType: void
    signature: void poly_compress_and_encode(BufferStuffer& bs, const KyberPoly& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CRYSTALS::pack<KyberConstants::Q - 1>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bs'
    - ' p'
    argTypes:
    - BufferStuffer
    - KyberPolyNTT
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::Kyber_Algos::byte_encode
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - CRYSTALS::pack<KyberConstants::Q - 1>
    linkageType: ''
    returnType: void
    signature: void byte_encode(BufferStuffer& bs, const KyberPolyNTT& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CRYSTALS::unpack<(1 << d) - 1>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' bs'
    argTypes:
    - KyberPoly
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::Kyber_Algos::poly_decode_and_decompress
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - CRYSTALS::unpack<(1 << d) - 1>
    linkageType: ''
    returnType: void
    signature: void poly_decode_and_decompress(KyberPoly& p, BufferSlicer& bs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CRYSTALS::unpack<KyberConstants::Q - 1>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:60,1
    - Dst: ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:62,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - ' bs'
    argTypes:
    - KyberPolyNTT
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: Botan::Kyber_Algos::byte_decode
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - ct_validate_value_range
    - Decoding_Error
    - CRYSTALS::unpack<KyberConstants::Q - 1>
    linkageType: ''
    returnType: void
    signature: void byte_decode(KyberPolyNTT& p, BufferSlicer& bs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bounded_XOF<KyberConstants::SAMPLE_NTT_POLY_FROM_XOF_BOUND>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:80,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:83,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:89,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:99,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:102,1
    - Dst: sample
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - ' p'
    - ' xof'
    argTypes:
    - KyberPolyNTT
    - XOF
    constantsTouched: []
    func_position:
      end: 112
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 112
    functionName: Botan::Kyber_Algos::sample_ntt_uniform
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - sample
    - std::exchange
    - Bounded_XOF<KyberConstants::SAMPLE_NTT_POLY_FROM_XOF_BOUND>
    - has_value
    linkageType: ''
    returnType: void
    signature: void sample_ntt_uniform(KyberPolyNTT& p, XOF& xof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:131,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:149,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' poly'
    - randomness
    argTypes:
    - KyberPoly
    - StrongSpan<const KyberSamplingRandomness>
    constantsTouched: []
    func_position:
      end: 150
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 150
    functionName: Botan::Kyber_Algos::sample_poly_cbd
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - BufferSlicer::empty
    - BOTAN_ASSERT_NOMSG
    - size
    linkageType: ''
    returnType: void
    signature: "void sample_poly_cbd<KyberConstants::KyberEta::_2>(KyberPoly& poly,\n
      \                                                  StrongSpan<const KyberSamplingRandomness>
      randomness)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:160,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:179,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' poly'
    - randomness
    argTypes:
    - KyberPoly
    - StrongSpan<const KyberSamplingRandomness>
    constantsTouched: []
    func_position:
      end: 180
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 180
    functionName: Botan::Kyber_Algos::sample_poly_cbd
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - BufferSlicer::empty
    - BOTAN_ASSERT_NOMSG
    - size
    linkageType: ''
    returnType: void
    signature: "void sample_poly_cbd<KyberConstants::KyberEta::_3>(KyberPoly& poly,\n
      \                                                  StrongSpan<const KyberSamplingRandomness>
      randomness)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_Algos::byte_encode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:187,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:189,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - out
    - ' vec'
    argTypes:
    - std::span<uint8_t>
    - KyberPolyVecNTT
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: Botan::Kyber_Algos::encode_polynomial_vector
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 2
    functionsReached:
    - BufferStuffer::full
    - Botan::Kyber_Algos::byte_encode
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void encode_polynomial_vector(std::span<uint8_t> out, const KyberPolyVecNTT&
      vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:193,1
    - Dst: Botan::Kyber_Algos::byte_decode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:197,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:199,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - ' mode'
    argTypes:
    - std::span<const uint8_t>
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 202
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 202
    functionName: Botan::Kyber_Algos::decode_polynomial_vector
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - k
    - Botan::Kyber_Algos::byte_decode
    - BufferSlicer::empty
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: KyberPolyVecNTT
    signature: KyberPolyVecNTT decode_polynomial_vector(std::span<const uint8_t> a,
      const KyberConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:205,1
    - Dst: StrongSpan<const KyberMessage>::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:205,1
    - Dst: Botan::Kyber_Algos::poly_decode_and_decompress
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - StrongSpan<const KyberMessage>
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: Botan::Kyber_Algos::polynomial_from_message
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - StrongSpan<const KyberMessage>::size
    - Botan::Kyber_Algos::poly_decode_and_decompress
    - BOTAN_ASSERT
    linkageType: ''
    returnType: KyberPoly
    signature: KyberPoly polynomial_from_message(StrongSpan<const KyberMessage> msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:213,1
    - Dst: Botan::Kyber_Algos::poly_compress_and_encode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - KyberPoly
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: Botan::Kyber_Algos::polynomial_to_message
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - size
    - Botan::Kyber_Algos::poly_compress_and_encode
    linkageType: ''
    returnType: KyberMessage
    signature: KyberMessage polynomial_to_message(const KyberPoly& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_Algos::poly_compress_and_encode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' sink'
    - ' polyvec'
    argTypes:
    - BufferStuffer
    - KyberPolyVec
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: Botan::Kyber_Algos::polyvec_compress_and_encode
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Algos::poly_compress_and_encode
    linkageType: ''
    returnType: void
    signature: void polyvec_compress_and_encode(BufferStuffer& sink, const KyberPolyVec&
      polyvec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: d_u
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:231,1
    - Dst: Botan::Kyber_Algos::polyvec_compress_and_encode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:233,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:234,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:234,1
    - Dst: Botan::Kyber_Algos::polyvec_compress_and_encode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:237,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:238,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:238,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - out
    - ' pv'
    - ' mode'
    argTypes:
    - std::span<uint8_t>
    - KyberPolyVec
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 243
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 243
    functionName: Botan::Kyber_Algos::compress_polyvec
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Algos::polyvec_compress_and_encode
    - BOTAN_ASSERT_NOMSG
    - d_u
    - BufferStuffer::full
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: void
    signature: void compress_polyvec(std::span<uint8_t> out, const KyberPolyVec& pv,
      const KyberConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: d_v
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:248,1
    - Dst: Botan::Kyber_Algos::poly_compress_and_encode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:250,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:251,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:251,1
    - Dst: Botan::Kyber_Algos::poly_compress_and_encode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:254,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:255,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:255,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - out
    - ' p'
    - ' mode'
    argTypes:
    - std::span<uint8_t>
    - KyberPoly
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: Botan::Kyber_Algos::compress_poly
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - Botan::Kyber_Algos::poly_compress_and_encode
    - d_v
    - BufferStuffer::full
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: void
    signature: void compress_poly(std::span<uint8_t> out, const KyberPoly& p, const
      KyberConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_Algos::poly_decode_and_decompress
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' polyvec'
    - ' source'
    argTypes:
    - KyberPolyVec
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: Botan::Kyber_Algos::polyvec_decode_and_decompress
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Algos::poly_decode_and_decompress
    linkageType: ''
    returnType: void
    signature: void polyvec_decode_and_decompress(KyberPolyVec& polyvec, BufferSlicer&
      source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:270,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:270,1
    - Dst: polynomial_vector_compressed_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:270,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:273,1
    - Dst: d_u
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:276,1
    - Dst: Botan::Kyber_Algos::polyvec_decode_and_decompress
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:278,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:279,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:279,1
    - Dst: Botan::Kyber_Algos::polyvec_decode_and_decompress
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:282,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:283,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:283,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - ' mode'
    argTypes:
    - std::span<const uint8_t>
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 288
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 288
    functionName: Botan::Kyber_Algos::decompress_polynomial_vector
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - polynomial_vector_compressed_bytes
    - Botan::Kyber_Algos::polyvec_decode_and_decompress
    - BOTAN_ASSERT_NOMSG
    - d_u
    - BufferSlicer::empty
    - std::span<const uint8_t>::size
    - BOTAN_ASSERT
    - k
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: KyberPolyVec
    signature: KyberPolyVec decompress_polynomial_vector(std::span<const uint8_t>
      buffer, const KyberConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:291,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:291,1
    - Dst: polynomial_compressed_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:291,1
    - Dst: d_v
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:296,1
    - Dst: Botan::Kyber_Algos::poly_decode_and_decompress
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:298,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:299,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:299,1
    - Dst: Botan::Kyber_Algos::poly_decode_and_decompress
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:302,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:303,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:303,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - ' mode'
    argTypes:
    - std::span<const uint8_t>
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 308
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 308
    functionName: Botan::Kyber_Algos::decompress_polynomial
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Algos::poly_decode_and_decompress
    - BOTAN_ASSERT_NOMSG
    - d_v
    - polynomial_compressed_bytes
    - BufferSlicer::empty
    - std::span<const uint8_t>::size
    - BOTAN_ASSERT
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: KyberPoly
    signature: KyberPoly decompress_polynomial(std::span<const uint8_t> buffer, const
      KyberConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:322,1
    - Dst: KyberPrivateKeySeed::d::has_value
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:322,1
    - Dst: KyberPrivateKeySeed::d::value
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:323,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:325,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:327,1
    - Dst: Botan::Kyber_Algos::sample_matrix
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:331,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:335,1
    - Dst: Kyber_Algos::PolynomialSampler::sample_polynomial_vector_cbd_eta1
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:335,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:336,1
    - Dst: Kyber_Algos::PolynomialSampler::sample_polynomial_vector_cbd_eta1
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:336,1
    - Dst: montgomery
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:338,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:340,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:344,1
    - Dst: std::make_shared<Kyber_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:347,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:347,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:347,1
    - Dst: std::make_shared<Kyber_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:348,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:348,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:348,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - seed
    - mode
    argTypes:
    - KyberPrivateKeySeed
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 350
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 350
    functionName: Botan::Kyber_Algos::expand_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 1
    functionsReached:
    - Botan::CT::unpoison_all
    - KyberPrivateKeySeed::d::has_value
    - std::make_shared<Kyber_PrivateKeyInternal>
    - KyberPrivateKeySeed::d::value
    - Botan::Kyber_Algos::sample_matrix
    - std::make_shared<Kyber_PublicKeyInternal>
    - ntt
    - auto::reduce
    - Botan::CT::poison
    - montgomery
    - std::move
    - Botan::CT::unpoison
    - BOTAN_ARG_CHECK
    - Kyber_Algos::PolynomialSampler::sample_polynomial_vector_cbd_eta1
    linkageType: ''
    returnType: KyberInternalKeypair
    signature: KyberInternalKeypair expand_keypair(KyberPrivateKeySeed seed, KyberConstants
      mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_Algos::compress_polyvec
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:357,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:357,1
    - Dst: polynomial_vector_compressed_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:357,1
    - Dst: Botan::Kyber_Algos::compress_poly
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:358,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:358,1
    - Dst: polynomial_compressed_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:358,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:359,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - out
    - ' u'
    - ' v'
    - ' m_mode'
    argTypes:
    - StrongSpan<KyberCompressedCiphertext>
    - KyberPolyVec
    - KyberPoly
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 360
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 360
    functionName: Botan::Kyber_Algos::compress_ciphertext
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - polynomial_vector_compressed_bytes
    - BOTAN_ASSERT_NOMSG
    - Botan::Kyber_Algos::compress_polyvec
    - Botan::Kyber_Algos::compress_poly
    - polynomial_compressed_bytes
    - BufferStuffer::full
    - BufferStuffer::next
    linkageType: ''
    returnType: void
    signature: "void compress_ciphertext(StrongSpan<KyberCompressedCiphertext> out,\n
      \                        const KyberPolyVec& u,\n                         const
      KyberPoly& v,\n                         const KyberConstants& m_mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StrongSpan<const KyberCompressedCiphertext>::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:368,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:369,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:373,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:374,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:375,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:375,1
    - Dst: Botan::Kyber_Algos::decompress_polynomial_vector
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:377,1
    - Dst: Botan::Kyber_Algos::decompress_polynomial
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ct
    - ' mode'
    argTypes:
    - StrongSpan<const KyberCompressedCiphertext>
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 378
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 378
    functionName: Botan::Kyber_Algos::decompress_ciphertext
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Algos::decompress_polynomial
    - BOTAN_ASSERT_NOMSG
    - BufferSlicer::take
    - Botan::Kyber_Algos::decompress_polynomial_vector
    - Decoding_Error
    - BufferSlicer::empty
    - StrongSpan<const KyberCompressedCiphertext>::size
    linkageType: ''
    returnType: std::pair<KyberPolyVec, KyberPoly>
    signature: "std::pair<KyberPolyVec, KyberPoly> decompress_ciphertext(StrongSpan<const
      KyberCompressedCiphertext> ct,\n                                                         const
      KyberConstants& mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:381,1
    - Dst: StrongSpan<const KyberSeedRho>::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:381,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:383,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:383,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:385,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:386,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:387,1
    - Dst: std::tuple
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:387,1
    - Dst: Botan::Kyber_Algos::sample_ntt_uniform
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:388,1
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - seed
    - transposed
    - ' mode'
    argTypes:
    - StrongSpan<const KyberSeedRho>
    - bool
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 393
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 393
    functionName: Botan::Kyber_Algos::sample_matrix
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 1
    functionsReached:
    - StrongSpan<const KyberSeedRho>::size
    - std::tuple
    - BOTAN_ASSERT
    - k
    - symmetric_primitives
    - Botan::Kyber_Algos::sample_ntt_uniform
    linkageType: ''
    returnType: KyberPolyMat
    signature: KyberPolyMat sample_matrix(StrongSpan<const KyberSeedRho> seed, bool
      transposed, const KyberConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_Algos::sample_poly_cbd
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:406,1
    - Dst: Botan::Kyber_Algos::sample_poly_cbd
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:408,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' poly'
    - eta
    - ' randomness'
    argTypes:
    - KyberPoly
    - KyberConstants::KyberEta
    - KyberSamplingRandomness
    constantsTouched: []
    func_position:
      end: 412
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 412
    functionName: Botan::Kyber_Algos::sample_polynomial_from_cbd
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Algos::sample_poly_cbd
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: void
    signature: "void sample_polynomial_from_cbd(KyberPoly& poly,\n                                KyberConstants::KyberEta
      eta,\n                                const KyberSamplingRandomness& randomness)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KyberMode::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:35,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:67,1
    - Dst: KyberMode::is_kyber_round3
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:71,1
    - Dst: KyberMode::is_90s
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:71,1
    - Dst: std::make_unique<Kyber_90s_Symmetric_Primitives>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:72,1
    - Dst: KyberMode::is_kyber_round3
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:77,1
    - Dst: KyberMode::is_modern
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:77,1
    - Dst: std::make_unique<Kyber_Modern_Symmetric_Primitives>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:78,1
    - Dst: KyberMode::is_ml_kem
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:83,1
    - Dst: std::make_unique<ML_KEM_Symmetric_Primitives>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:84,1
    - Dst: bitlen
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:89,1
    - Dst: Botan::KyberConstants::k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:89,1
    - Dst: Botan::KyberConstants::d_u
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:90,1
    - Dst: Botan::KyberConstants::k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:90,1
    - Dst: Botan::KyberConstants::d_v
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:91,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:93,1
    - Dst: Botan::KyberConstants::public_key_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:93,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp:97,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 1
    argNames:
    - mode
    argTypes:
    - KyberMode
    constantsTouched: []
    func_position:
      end: 99
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 99
    functionName: Botan::KyberConstants::KyberConstants
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp
    functionUses: 0
    functionsReached:
    - KyberMode::is_modern
    - Botan::KyberConstants::public_key_bytes
    - KyberMode::mode
    - bitlen
    - std::make_unique<Kyber_Modern_Symmetric_Primitives>
    - Botan::KyberConstants::d_u
    - static_cast<uint32_t>
    - Not_Implemented
    - KyberMode::is_90s
    - KyberMode::is_kyber_round3
    - std::make_unique<Kyber_90s_Symmetric_Primitives>
    - Botan::KyberConstants::k
    - Botan::KyberConstants::d_v
    - KyberMode::is_ml_kem
    - BOTAN_ASSERT_UNREACHABLE
    - std::make_unique<ML_KEM_Symmetric_Primitives>
    linkageType: ''
    returnType: void
    signature: void KyberConstants::KyberConstants(KyberMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: KyberConstants::~KyberConstants()
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KyberConstants::~KyberConstants()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan::mode
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: Mode
    signature: Mode mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KyberMode
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: operator==(const KyberMode& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const KyberMode& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KyberMode
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: operator!=(const KyberMode& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const KyberMode& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: ~Kyber_PublicKey() override
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Kyber_PublicKey() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::KyberConstants::KyberConstants
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KyberConstants(const KyberConstants& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan::KyberConstants::KyberConstants
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KyberConstants(KyberConstants&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& operator=(const KyberConstants& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberConstants
    signature: KyberConstants & operator=(const KyberConstants& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: '& operator=(KyberConstants&& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberConstants
    signature: KyberConstants & operator=(KyberConstants&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::KyberConstants::mode
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberMode
    signature: KyberMode mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberConstants::k
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::KyberConstants::canonical_parameter_set_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached:
    - Botan::KyberConstants::k
    linkageType: ''
    returnType: size_t
    signature: size_t canonical_parameter_set_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan::KyberConstants::k
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t k() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Botan::KyberConstants::eta1
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberEta
    signature: KyberEta eta1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Botan::KyberConstants::eta2
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberEta
    signature: KyberEta eta2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Botan::KyberConstants::d_u
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: KyberDu
    signature: KyberDu d_u() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: Botan::KyberConstants::d_v
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: KyberDv
    signature: KyberDv d_v() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: Botan::KyberConstants::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberStrength
    signature: KyberStrength estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan::KyberConstants::polynomial_vector_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t polynomial_vector_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: Botan::KyberConstants::polynomial_vector_compressed_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t polynomial_vector_compressed_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan::KyberConstants::polynomial_compressed_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t polynomial_compressed_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberConstants::polynomial_vector_compressed_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h:105,1
    - Dst: Botan::KyberConstants::polynomial_compressed_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Botan::KyberConstants::ciphertext_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached:
    - Botan::KyberConstants::polynomial_vector_compressed_bytes
    - Botan::KyberConstants::polynomial_compressed_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t ciphertext_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: Botan::KyberConstants::shared_key_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t shared_key_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KyberConstants::polynomial_vector_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: Botan::KyberConstants::public_key_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 1
    functionsReached:
    - Botan::KyberConstants::polynomial_vector_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t public_key_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: Botan::KyberConstants::expanded_private_key_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t expanded_private_key_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan::KyberConstants::seed_private_key_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t seed_private_key_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: '& symmetric_primitives() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Kyber_Symmetric_Primitives
    signature: Kyber_Symmetric_Primitives & symmetric_primitives() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_Algos::sample_matrix
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:21,1
    - Dst: rho
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:21,1
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pk'
    argTypes:
    - Kyber_PublicKeyInternal
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: Botan::Kyber_KEM_Operation_Base::Kyber_KEM_Operation_Base
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Algos::sample_matrix
    - mode
    - rho
    linkageType: ''
    returnType: void
    signature: void Kyber_KEM_Operation_Base(const Kyber_PublicKeyInternal& pk)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& precomputed_matrix_At() const'
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KyberPolyMat
    signature: KyberPolyMat & precomputed_matrix_At() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::Kyber_KEM_Encryptor_Base::raw_kem_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h
    functionUses: 0
    functionsReached:
    - mode
    linkageType: ''
    returnType: size_t
    signature: size_t raw_kem_shared_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::Kyber_KEM_Encryptor_Base::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h
    functionUses: 0
    functionsReached:
    - mode
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encapsulate
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:42,1
    - Dst: StrongSpan<KyberCompressedCiphertext>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:42,1
    - Dst: StrongSpan<KyberSharedSecret>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out_encapsulated_key
    - out_shared_key
    - ' rng'
    argTypes:
    - std::span<uint8_t>
    - std::span<uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: Botan::Kyber_KEM_Encryptor_Base::raw_kem_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h
    functionUses: 0
    functionsReached:
    - StrongSpan<KyberCompressedCiphertext>
    - StrongSpan<KyberSharedSecret>
    - encapsulate
    linkageType: ''
    returnType: void
    signature: "void raw_kem_encrypt(std::span<uint8_t> out_encapsulated_key,\n                           std::span<uint8_t>
      out_shared_key,\n                           RandomNumberGenerator& rng) final"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - kdf
    - ' pk'
    argTypes:
    - std::string_view
    - Kyber_PublicKeyInternal
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: Botan::Kyber_KEM_Encryptor_Base::Kyber_KEM_Encryptor_Base
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Kyber_KEM_Encryptor_Base(std::string_view kdf, const Kyber_PublicKeyInternal&
      pk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::Kyber_KEM_Decryptor_Base::raw_kem_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h
    functionUses: 0
    functionsReached:
    - mode
    linkageType: ''
    returnType: size_t
    signature: size_t raw_kem_shared_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Botan::Kyber_KEM_Decryptor_Base::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h
    functionUses: 0
    functionsReached:
    - mode
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decapsulate
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:66,1
    - Dst: StrongSpan<KyberSharedSecret>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:66,1
    - Dst: StrongSpan<const KyberCompressedCiphertext>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out_shared_key
    - encapsulated_key
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: Botan::Kyber_KEM_Decryptor_Base::raw_kem_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h
    functionUses: 0
    functionsReached:
    - StrongSpan<KyberSharedSecret>
    - StrongSpan<const KyberCompressedCiphertext>
    - decapsulate
    linkageType: ''
    returnType: void
    signature: void raw_kem_decrypt(std::span<uint8_t> out_shared_key, std::span<const
      uint8_t> encapsulated_key) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - kdf
    - ' pk'
    argTypes:
    - std::string_view
    - Kyber_PublicKeyInternal
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: Botan::Kyber_KEM_Decryptor_Base::Kyber_KEM_Decryptor_Base
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_encaps_base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Kyber_KEM_Decryptor_Base(std::string_view kdf, const Kyber_PublicKeyInternal&
      pk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KyberSerializedPublicKey::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:22,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - public_key
    - expected_length
    argTypes:
    - KyberSerializedPublicKey
    - size_t
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: Botan::validate_public_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp
    functionUses: 0
    functionsReached:
    - KyberSerializedPublicKey::size
    - Invalid_Argument
    linkageType: ''
    returnType: KyberSerializedPublicKey
    signature: KyberSerializedPublicKey validate_public_key_length(KyberSerializedPublicKey
      public_key, size_t expected_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:40,1
    - Dst: Botan::Kyber_Algos::decode_polynomial_vector
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:43,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:43,1
    - Dst: KyberConstants::polynomial_vector_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:43,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:44,1
    - Dst: KyberConstants::public_key_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:44,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:45,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:46,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:48,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:48,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:50,1
    - Dst: std::make_shared<Kyber_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:53,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:53,1
    - Dst: std::make_shared<Kyber_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:54,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:55,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:56,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:60,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:63,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:64,1
    - Dst: KyberInternalKeypair::first::H_public_key_bits_raw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:64,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:64,1
    - Dst: std::equal
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:65,1
    - Dst: KyberInternalKeypair::first::H_public_key_bits_raw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:65,1
    - Dst: KyberInternalKeypair::first::H_public_key_bits_raw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:66,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sk
    - mode
    argTypes:
    - std::span<const uint8_t>
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 71
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 71
    functionName: Botan::Expanded_Keypair_Codec::decode_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp
    functionUses: 0
    functionsReached:
    - KyberConstants::public_key_bytes
    - BOTAN_ASSERT_NOMSG
    - Botan::CT::unpoison_all
    - BufferSlicer::take
    - std::make_shared<Kyber_PrivateKeyInternal>
    - BufferSlicer::copy
    - std::make_shared<Kyber_PublicKeyInternal>
    - KyberConstants::polynomial_vector_bytes
    - Botan::CT::scoped_poison
    - std::equal
    - BufferSlicer::empty
    - Botan::Kyber_Algos::decode_polynomial_vector
    - std::move
    - BOTAN_ASSERT
    - auto::size
    - auto::begin
    - BOTAN_ARG_CHECK
    - KyberInternalKeypair::first::H_public_key_bits_raw
    linkageType: ''
    returnType: KyberInternalKeypair
    signature: KyberInternalKeypair Expanded_Keypair_Codec::decode_keypair(std::span<const
      uint8_t> sk, KyberConstants mode) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:74,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:75,1
    - Dst: KyberInternalKeypair::first::mode
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:76,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:77,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:78,1
    - Dst: Botan::Kyber_Algos::encode_polynomial_vector
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:78,1
    - Dst: KyberInternalKeypair::second::s
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:78,1
    - Dst: KyberInternalKeypair::first::public_key_bits_raw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:79,1
    - Dst: KyberInternalKeypair::first::H_public_key_bits_raw
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:80,1
    - Dst: KyberInternalKeypair::second::z
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:81,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - keypair
    argTypes:
    - KyberInternalKeypair
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: Botan::Expanded_Keypair_Codec::encode_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Algos::encode_polynomial_vector
    - KyberInternalKeypair::first::mode
    - KyberInternalKeypair::second::s
    - KyberInternalKeypair::second::z
    - KyberInternalKeypair::first::public_key_bits_raw
    - concat
    - Botan::CT::scoped_poison
    - Botan::CT::unpoison
    - KyberInternalKeypair::first::H_public_key_bits_raw
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Expanded_Keypair_Codec::encode_keypair(KyberInternalKeypair
      keypair) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:90,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:91,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:93,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:93,1
    - Dst: Botan::Kyber_Algos::expand_keypair
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:94,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:94,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - private_key
    - mode
    argTypes:
    - std::span<const uint8_t>
    - KyberConstants
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: Botan::Seed_Expanding_Keypair_Codec::decode_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - BufferSlicer::copy
    - Botan::Kyber_Algos::expand_keypair
    - BufferSlicer::empty
    - std::move
    linkageType: ''
    returnType: KyberInternalKeypair
    signature: "KyberInternalKeypair Seed_Expanding_Keypair_Codec::decode_keypair(std::span<const
      uint8_t> private_key,\n                                                                  KyberConstants
      mode) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:98,1
    - Dst: KyberInternalKeypair::second::seed
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:99,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:100,1
    - Dst: d::has_value
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:100,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:101,1
    - Dst: d::value
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - keypair
    argTypes:
    - KyberInternalKeypair
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: Botan::Seed_Expanding_Keypair_Codec::encode_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp
    functionUses: 0
    functionsReached:
    - d::has_value
    - concat
    - d::value
    - BOTAN_ARG_CHECK
    - BOTAN_ASSERT_NONNULL
    - KyberInternalKeypair::second::seed
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Seed_Expanding_Keypair_Codec::encode_keypair(KyberInternalKeypair
      keypair) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:105,1
    - Dst: validate_public_key_length
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:106,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:106,1
    - Dst: public_key_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:106,1
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:107,1
    - Dst: Botan::Kyber_Algos::decode_polynomial_vector
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:108,1
    - Dst: first
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:109,1
    - Dst: polynomial_vector_bytes
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:109,1
    - Dst: last
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - mode
    - public_key
    argTypes:
    - KyberConstants
    - KyberSerializedPublicKey
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: Botan::Kyber_PublicKeyInternal::Kyber_PublicKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp
    functionUses: 0
    functionsReached:
    - validate_public_key_length
    - first
    - public_key_bytes
    - std::move
    - Botan::Kyber_Algos::decode_polynomial_vector
    - polynomial_vector_bytes
    - symmetric_primitives
    - last
    linkageType: ''
    returnType: void
    signature: void Kyber_PublicKeyInternal::Kyber_PublicKeyInternal(KyberConstants
      mode, KyberSerializedPublicKey public_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:113,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:114,1
    - Dst: Kyber_Algos::encode_polynomial_vector<std::vector<uint8_t>>
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:114,1
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:115,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:116,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - mode
    - t
    - rho
    argTypes:
    - KyberConstants
    - KyberPolyVecNTT
    - KyberSeedRho
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: Botan::Kyber_PublicKeyInternal::Kyber_PublicKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp
    functionUses: 0
    functionsReached:
    - Kyber_Algos::encode_polynomial_vector<std::vector<uint8_t>>
    - std::move
    - symmetric_primitives
    - concat
    linkageType: ''
    returnType: void
    signature: void Kyber_PublicKeyInternal::Kyber_PublicKeyInternal(KyberConstants
      mode, KyberPolyVecNTT t, KyberSeedRho rho)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:135,1
    - Dst: Kyber_Algos::PolynomialSampler::sample_polynomial_vector_cbd_eta1
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:135,1
    - Dst: Kyber_Algos::PolynomialSampler::sample_polynomial_vector_cbd_eta2
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:136,1
    - Dst: Kyber_Algos::PolynomialSampler::sample_polynomial_cbd_eta2
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:137,1
    - Dst: inverse_ntt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:139,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:141,1
    - Dst: Botan::Kyber_Algos::polynomial_from_message
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:143,1
    - Dst: inverse_ntt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:144,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:147,1
    - Dst: Botan::Kyber_Algos::compress_ciphertext
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - out_ct
    - m
    - r
    - ' At'
    argTypes:
    - StrongSpan<KyberCompressedCiphertext>
    - StrongSpan<const KyberMessage>
    - StrongSpan<const KyberEncryptionRandomness>
    - KyberPolyMat
    constantsTouched: []
    func_position:
      end: 150
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 150
    functionName: Botan::Kyber_PublicKeyInternal::indcpa_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp
    functionUses: 1
    functionsReached:
    - Kyber_Algos::PolynomialSampler::sample_polynomial_cbd_eta2
    - Botan::Kyber_Algos::polynomial_from_message
    - Botan::Kyber_Algos::compress_ciphertext
    - ntt
    - auto::reduce
    - inverse_ntt
    - Kyber_Algos::PolynomialSampler::sample_polynomial_vector_cbd_eta2
    - Kyber_Algos::PolynomialSampler::sample_polynomial_vector_cbd_eta1
    linkageType: ''
    returnType: void
    signature: "void Kyber_PublicKeyInternal::indcpa_encrypt(StrongSpan<KyberCompressedCiphertext>
      out_ct,\n                                             StrongSpan<const KyberMessage>
      m,\n                                             StrongSpan<const KyberEncryptionRandomness>
      r,\n                                             const KyberPolyMat& At) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inverse_ntt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:160,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:160,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:160,1
    - Dst: reduce
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:161,1
    - Dst: Botan::Kyber_Algos::polynomial_to_message
      Src: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ct
    argTypes:
    - StrongSpan<const KyberCompressedCiphertext>
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: Botan::Kyber_PrivateKeyInternal::indcpa_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp
    functionUses: 0
    functionsReached:
    - ntt
    - std::move
    - inverse_ntt
    - Botan::Kyber_Algos::polynomial_to_message
    - reduce
    linkageType: ''
    returnType: KyberMessage
    signature: KyberMessage Kyber_PrivateKeyInternal::indcpa_decrypt(StrongSpan<const
      KyberCompressedCiphertext> ct) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint64_t, WORDS_448>
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::Gf448Elem::Gf448Elem
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.h
    functionUses: 0
    functionsReached:
    - copy_mem
    linkageType: ''
    returnType: void
    signature: void Gf448Elem(std::span<const uint64_t, WORDS_448> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Gf448Elem
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: operator!=(const Gf448Elem& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Gf448Elem& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: Botan::Gf448Elem::words
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::span<uint64_t, WORDS_448>
    signature: std::span<uint64_t, WORDS_448> words()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: Botan::Gf448Elem::words
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::span<const uint64_t, WORDS_448>
    signature: std::span<const uint64_t, WORDS_448> words() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: Botan::words_for_bits
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t words_for_bits(size_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::store_le
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.h:48,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.h:48,1
    - Dst: Botan::Scalar448
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.h:65,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 68
    functionName: Botan::Scalar448
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.h
    functionUses: 2
    functionsReached:
    - Botan::store_le
    - Botan::copy_mem
    - Botan::Scalar448
    - std::span
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Scalar448
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - carry
    argTypes:
    - uint64_t
    - uint64_t
    - bool*
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: Botan::u64_add
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t u64_add(uint64_t a, uint64_t b, bool* carry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:40,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:41,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:41,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - carry
    argTypes:
    - uint64_t
    - uint64_t
    - bool*
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: Botan::u64_add_with_carry
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t u64_add_with_carry(uint64_t a, uint64_t b, bool* carry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:55,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - borrow
    argTypes:
    - uint64_t
    - uint64_t
    - bool*
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: Botan::u64_sub_with_borrow
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t u64_sub_with_borrow(uint64_t a, uint64_t b, bool* borrow)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:72,1
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:74,1
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:75,1
    - Dst: Botan::u64_add_with_carry
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:78,1
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:81,1
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:82,1
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:83,1
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:87,1
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:88,1
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - h_3
    - h_1
    argTypes:
    - std::span<uint64_t, WORDS_448>
    - std::span<const uint64_t, 8>
    constantsTouched: []
    func_position:
      end: 97
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 97
    functionName: Botan::reduce_after_add
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - Botan::u64_add_with_carry
    - Botan::u64_add
    linkageType: ''
    returnType: void
    signature: void reduce_after_add(std::span<uint64_t, WORDS_448> h_3, std::span<const
      uint64_t, 8> h_1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:113,1
    - Dst: Botan::u64_add_with_carry
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:117,1
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:124,1
    - Dst: Botan::u64_add_with_carry
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:127,1
    - Dst: Botan::u64_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:141,1
    - Dst: Botan::u64_add_with_carry
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:144,1
    - Dst: Botan::reduce_after_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - std::span<uint64_t, WORDS_448>
    - std::span<const uint64_t, 14>
    constantsTouched: []
    func_position:
      end: 149
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 149
    functionName: Botan::reduce_after_mul
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - Botan::u64_add_with_carry
    - Botan::u64_add
    - Botan::reduce_after_add
    linkageType: ''
    returnType: void
    signature: void reduce_after_mul(std::span<uint64_t, WORDS_448> out, std::span<const
      uint64_t, 14> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::comba_mul
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:155,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:155,1
    - Dst: std::span<const uint64_t, WORDS_448>::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:155,1
    - Dst: std::span<const uint64_t, WORDS_448>::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:155,1
    - Dst: Botan::reduce_after_mul
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - std::span<uint64_t, WORDS_448>
    - std::span<const uint64_t, WORDS_448>
    - std::span<const uint64_t, WORDS_448>
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: Botan::gf_mul
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint64_t, WORDS_448>::data
    - Botan::comba_mul
    - Botan::reduce_after_mul
    - std::array::data
    linkageType: ''
    returnType: void
    signature: "void gf_mul(std::span<uint64_t, WORDS_448> out,\n            std::span<const
      uint64_t, WORDS_448> a,\n            std::span<const uint64_t, WORDS_448> b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::comba_sqr
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:161,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:161,1
    - Dst: std::span<const uint64_t, WORDS_448>::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:161,1
    - Dst: Botan::reduce_after_mul
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - std::span<uint64_t, WORDS_448>
    - std::span<const uint64_t, WORDS_448>
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: Botan::gf_square
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - Botan::comba_sqr
    - std::span<const uint64_t, WORDS_448>::data
    - std::array::data
    - Botan::reduce_after_mul
    linkageType: ''
    returnType: void
    signature: void gf_square(std::span<uint64_t, WORDS_448> out, std::span<const
      uint64_t, WORDS_448> a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:169,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:169,1
    - Dst: Botan::u64_add_with_carry
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:174,1
    - Dst: Botan::reduce_after_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - std::span<uint64_t, WORDS_448>
    - std::span<const uint64_t, WORDS_448>
    - std::span<const uint64_t, WORDS_448>
    constantsTouched: []
    func_position:
      end: 179
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 179
    functionName: Botan::gf_add
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - Botan::reduce_after_add
    - Botan::u64_add_with_carry
    - Botan::copy_mem
    - std::span
    linkageType: ''
    returnType: void
    signature: "void gf_add(std::span<uint64_t, WORDS_448> out,\n            std::span<const
      uint64_t, WORDS_448> a,\n            std::span<const uint64_t, WORDS_448> b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:194,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:200,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:201,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:202,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:203,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:204,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:205,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:206,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:212,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:213,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:214,1
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - std::span<uint64_t, WORDS_448>
    - std::span<const uint64_t, WORDS_448>
    - std::span<const uint64_t, WORDS_448>
    constantsTouched: []
    func_position:
      end: 219
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 219
    functionName: Botan::gf_sub
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - Botan::u64_sub_with_borrow
    linkageType: ''
    returnType: void
    signature: "void gf_sub(std::span<uint64_t, WORDS_448> out,\n            std::span<const
      uint64_t, WORDS_448> a,\n            std::span<const uint64_t, WORDS_448> b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:226,1
    - Dst: Botan::gf_square
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:230,1
    - Dst: Botan::gf_mul
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - std::span<uint64_t, WORDS_448>
    - std::span<const uint64_t, WORDS_448>
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: Botan::gf_inv
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - Botan::gf_square
    - Botan::gf_mul
    - Botan::clear_mem
    linkageType: ''
    returnType: void
    signature: void gf_inv(std::span<uint64_t, WORDS_448> out, std::span<const uint64_t,
      WORDS_448> a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::u64_sub_with_borrow
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:256,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:259,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:259,1
    - Dst: std::span<const uint64_t, WORDS_448>::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:259,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint64_t, WORDS_448>
    constantsTouched: []
    func_position:
      end: 261
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 261
    functionName: Botan::to_canonical
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint64_t, WORDS_448>::data
    - Botan::u64_sub_with_borrow
    - std::array::data
    - Botan::sha512_msg_expand
    linkageType: ''
    returnType: std::array<uint64_t, WORDS_448>
    signature: std::array<uint64_t, WORDS_448> to_canonical(std::span<const uint64_t,
      WORDS_448> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_le
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::span<const uint8_t, BYTES_448>
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: Botan::Gf448Elem::Gf448Elem
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - load_le
    linkageType: ''
    returnType: void
    signature: void Gf448Elem::Gf448Elem(std::span<const uint8_t, BYTES_448> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - least_sig_word
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: Botan::Gf448Elem::Gf448Elem
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    linkageType: ''
    returnType: void
    signature: void Gf448Elem::Gf448Elem(uint64_t least_sig_word)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_le
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:275,1
    - Dst: to_canonical
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t, BYTES_448>
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: Botan::Gf448Elem::to_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - store_le
    - to_canonical
    linkageType: ''
    returnType: void
    signature: void Gf448Elem::to_bytes(std::span<uint8_t, BYTES_448> out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Gf448Elem::to_bytes
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: Botan::Gf448Elem::to_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 1
    functionsReached:
    - Botan::Gf448Elem::to_bytes
    linkageType: ''
    returnType: std::array<uint8_t, BYTES_448>
    signature: std::array<uint8_t, BYTES_448> Gf448Elem::to_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::conditional_swap
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - b
    - ' other'
    argTypes:
    - bool
    - Gf448Elem
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: Botan::Gf448Elem::ct_cond_swap
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::conditional_swap
    linkageType: ''
    returnType: void
    signature: void Gf448Elem::ct_cond_swap(bool b, Gf448Elem& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::conditional_assign_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:291,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:291,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:291,1
    - Dst: m_x::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - ' other'
    argTypes:
    - bool
    - Gf448Elem
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: Botan::Gf448Elem::ct_cond_assign
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - data
    - static_cast<uint64_t>
    - Botan::CT::conditional_assign_mem
    - m_x::data
    linkageType: ''
    returnType: void
    signature: void Gf448Elem::ct_cond_assign(bool b, const Gf448Elem& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gf_add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Gf448Elem
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: Gf448Elem::operator+(const Gf448Elem& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - gf_add
    linkageType: ''
    returnType: Gf448Elem
    signature: Gf448Elem Gf448Elem::operator+(const Gf448Elem& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gf_sub
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Gf448Elem
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: Gf448Elem::operator-(const Gf448Elem& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - gf_sub
    linkageType: ''
    returnType: Gf448Elem
    signature: Gf448Elem Gf448Elem::operator-(const Gf448Elem& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gf_sub
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: Gf448Elem::operator-() const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - gf_sub
    linkageType: ''
    returnType: Gf448Elem
    signature: Gf448Elem Gf448Elem::operator-() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gf_mul
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Gf448Elem
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: Gf448Elem::operator*(const Gf448Elem& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - gf_mul
    linkageType: ''
    returnType: Gf448Elem
    signature: Gf448Elem Gf448Elem::operator*(const Gf448Elem& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gf_inv
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:320,1
    - Dst: gf_mul
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Gf448Elem
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: Gf448Elem::operator/(const Gf448Elem& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - gf_inv
    - gf_mul
    linkageType: ''
    returnType: Gf448Elem
    signature: Gf448Elem Gf448Elem::operator/(const Gf448Elem& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_canonical
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:326,1
    - Dst: to_canonical
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:327,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:328,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:328,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Gf448Elem
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: Gf448Elem::operator==(const Gf448Elem& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::is_equal
    - auto::data
    - to_canonical
    linkageType: ''
    returnType: bool
    signature: bool Gf448Elem::operator==(const Gf448Elem& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_canonical
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:332,1
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:334,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: Botan::Gf448Elem::is_zero
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - Botan::CT::all_zeros
    - to_canonical
    linkageType: ''
    returnType: bool
    signature: bool Gf448Elem::is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_canonical
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: Botan::Gf448Elem::is_odd
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - to_canonical
    linkageType: ''
    returnType: bool
    signature: bool Gf448Elem::is_odd() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_le<std::array<uint64_t, WORDS_448>>
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:343,1
    - Dst: to_canonical
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:344,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:345,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:345,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::span<const uint8_t, BYTES_448>
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: Botan::Gf448Elem::bytes_are_canonical_representation
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::is_equal
    - auto::data
    - to_canonical
    - load_le<std::array<uint64_t, WORDS_448>>
    linkageType: ''
    returnType: bool
    signature: bool Gf448Elem::bytes_are_canonical_representation(std::span<const
      uint8_t, BYTES_448> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::gf_square
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:350,1
    - Dst: Gf448Elem::words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:350,1
    - Dst: words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' elem'
    argTypes:
    - Gf448Elem
    constantsTouched: []
    func_position:
      end: 352
      start: 348
    functionDepth: 4
    functionLinenumber: 348
    functionLinenumberEnd: 352
    functionName: Botan::square
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - Botan::gf_square
    - words
    - Gf448Elem::words
    linkageType: ''
    returnType: Gf448Elem
    signature: Gf448Elem square(const Gf448Elem& elem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::gf_square
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:359,1
    - Dst: Gf448Elem::words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:359,1
    - Dst: Gf448Elem::words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:359,1
    - Dst: Botan::gf_mul
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:361,1
    - Dst: Gf448Elem::words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:361,1
    - Dst: Gf448Elem::words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:361,1
    - Dst: words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' elem'
    argTypes:
    - Gf448Elem
    constantsTouched: []
    func_position:
      end: 366
      start: 354
    functionDepth: 4
    functionLinenumber: 354
    functionLinenumberEnd: 366
    functionName: Botan::root
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_gf.cpp
    functionUses: 0
    functionsReached:
    - Botan::gf_square
    - words
    - Botan::gf_mul
    - Gf448Elem::words
    linkageType: ''
    returnType: Gf448Elem
    signature: Gf448Elem root(const Gf448Elem& elem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:24,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:24,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:25,1
    - Dst: std::array<word, 1>
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:25,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:28,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:28,1
    - Dst: word
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:30,1
    - Dst: Botan::bigint_shr2
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:33,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:33,1
    - Dst: std::span<const word, S>::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:33,1
    - Dst: std::span<const word, S>::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:33,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::span<const word, S>
    constantsTouched: []
    func_position:
      end: 37
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 37
    functionName: Botan::div_mod_2_446
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - std::span<const word, S>::size
    - std::array::data
    - std::span
    - Botan::bigint_shr2
    - std::span<const word, S>::data
    - word
    - std::array<word, 1>
    - std::make_pair
    - Botan::copy_mem
    linkageType: ''
    returnType: auto
    signature: auto div_mod_2_446(std::span<const word, S> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: Botan::c_words
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - Botan::load_le
    linkageType: ''
    returnType: std::array<word, WORDS_C>
    signature: std::array<word, WORDS_C> c_words()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: Botan::big_l_words
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - Botan::load_le
    linkageType: ''
    returnType: std::array<word, Scalar448::WORDS>
    signature: std::array<word, Scalar448::WORDS> big_l_words()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::c_words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:61,1
    - Dst: Botan::bigint_mul
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    - Dst: std::span<const word, S>::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    - Dst: std::span<const word, S>::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    - Dst: std::span<const word, S>::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::span<const word, S>
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: Botan::mul_c
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - Botan::c_words
    - std::span<const word, S>::data
    - std::array::size
    - Botan::bigint_mul
    - std::span<const word, S>::size
    linkageType: ''
    returnType: std::array<word, S + WORDS_C>
    signature: std::array<word, S + WORDS_C> mul_c(std::span<const word, S> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:73,1
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:74,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:74,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:74,1
    - Dst: std::span<const word, Scalar448::WORDS>::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:74,1
    - Dst: std::span<const word, Scalar448::WORDS>::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:74,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:75,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - std::span<const word, Scalar448::WORDS>
    - std::span<const word, Scalar448::WORDS>
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: Botan::add
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 1
    functionsReached:
    - Botan::bigint_add2_nc
    - std::array::data
    - std::span<const word, Scalar448::WORDS>::data
    - std::span<const word, Scalar448::WORDS>::size
    - std::array::size
    - BOTAN_ASSERT
    - Botan::CT::unpoison
    - Botan::copy_mem
    linkageType: ''
    returnType: std::array<word, Scalar448::WORDS>
    signature: "std::array<word, Scalar448::WORDS> add(std::span<const word, Scalar448::WORDS>
      x,\n                                       std::span<const word, Scalar448::WORDS>
      y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:87,1
    - Dst: Botan::big_l_words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:88,1
    - Dst: Botan::bigint_sub2
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:90,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:90,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:90,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:90,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:90,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:91,1
    - Dst: auto::select_n
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:92,1
    - Dst: std::span<word, Scalar448::WORDS>::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:92,1
    - Dst: std::span<word, Scalar448::WORDS>::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:92,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:92,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::span<word, Scalar448::WORDS>
    constantsTouched: []
    func_position:
      end: 95
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 95
    functionName: Botan::ct_subtract_L_if_bigger
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - auto::select_n
    - std::span<word, Scalar448::WORDS>::data
    - Botan::bigint_sub2
    - std::array::data
    - auto::as_bool
    - Botan::big_l_words
    - Botan::sha512_msg_expand
    - auto::data
    - std::array::size
    - auto::size
    - Botan::copy_mem
    linkageType: ''
    returnType: bool
    signature: bool ct_subtract_L_if_bigger(std::span<word, Scalar448::WORDS> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::words_for_bits
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:98,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:101,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:101,1
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::span<const uint8_t, S>
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: Botan::bytes_to_words
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - Botan::load_le
    - Botan::copy_mem
    - Botan::words_for_bits
    - std::span
    linkageType: ''
    returnType: std::array<word, words_for_bits(S * 8)>
    signature: std::array<word, words_for_bits(S * 8)> bytes_to_words(std::span<const
      uint8_t, S> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mul_c
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:119,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:119,1
    - Dst: Botan::add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:121,1
    - Dst: Botan::mul_c
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:124,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:124,1
    - Dst: Botan::add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:126,1
    - Dst: Botan::mul_c
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:129,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:129,1
    - Dst: Botan::add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:131,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:133,1
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:133,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:133,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:133,1
    - Dst: Botan::ct_subtract_L_if_bigger
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::array<word, WORDS_REDUCE_SZ>
    constantsTouched: []
    func_position:
      end: 143
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 143
    functionName: Botan::ct_reduce_mod_L
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - Botan::mul_c
    - BOTAN_ASSERT_NOMSG
    - std::span
    - data
    - Botan::add
    - Botan::size
    - Botan::CT::all_zeros
    - Botan::ct_subtract_L_if_bigger
    linkageType: ''
    returnType: std::array<word, Scalar448::WORDS>
    signature: std::array<word, Scalar448::WORDS> ct_reduce_mod_L(const std::array<word,
      WORDS_REDUCE_SZ> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:148,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:148,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:150,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:150,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:150,1
    - Dst: bytes_to_words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:152,1
    - Dst: std::span<const uint8_t, 114>
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:152,1
    - Dst: ct_reduce_mod_L
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - in_bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: Botan::Scalar448::Scalar448
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - bytes_to_words
    - std::span<const uint8_t, 114>
    - copy_mem
    - std::span<const uint8_t>::size
    - BOTAN_ARG_CHECK
    - ct_reduce_mod_L
    linkageType: ''
    returnType: void
    signature: void Scalar448::Scalar448(std::span<const uint8_t> in_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bit_pos
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: Botan::Scalar448::get_bit
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: bool
    signature: bool Scalar448::get_bit(size_t bit_pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:163,1
    - Dst: ct_subtract_L_if_bigger
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:164,1
    - Dst: Scalar448
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Scalar448
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: Scalar448::operator+(const Scalar448& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - add
    - ct_subtract_L_if_bigger
    - Scalar448
    linkageType: ''
    returnType: Scalar448
    signature: Scalar448 Scalar448::operator+(const Scalar448& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bigint_mul
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:171,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:171,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:172,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:173,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:174,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:175,1
    - Dst: m_scalar_words::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:176,1
    - Dst: m_scalar_words::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:177,1
    - Dst: m_scalar_words::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:178,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:179,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:180,1
    - Dst: Scalar448
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:182,1
    - Dst: ct_reduce_mod_L
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Scalar448
    constantsTouched: []
    func_position:
      end: 183
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 183
    functionName: Scalar448::operator*(const Scalar448& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - data
    - Scalar448
    - m_scalar_words::size
    - size
    - m_scalar_words::data
    - bigint_mul
    - std::array::size
    - ct_reduce_mod_L
    linkageType: ''
    returnType: Scalar448
    signature: Scalar448 Scalar448::operator*(const Scalar448& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:186,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:186,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:188,1
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:189,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:189,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:189,1
    - Dst: bytes_to_words
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:190,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:190,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:191,1
    - Dst: ct_subtract_L_if_bigger
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:191,1
    - Dst: as_bool
      Src: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: Botan::Scalar448::bytes_are_reduced
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/curve448_scalar.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::first
    - as_bool
    - std::span<const uint8_t>::subspan
    - bytes_to_words
    - BOTAN_ARG_CHECK
    - Botan::sha512_msg_expand
    - auto::data
    - std::span<const uint8_t>::size
    - auto::size
    - ct_subtract_L_if_bigger
    - Botan::CT::all_zeros
    linkageType: ''
    returnType: bool
    signature: bool Scalar448::bytes_are_reduced(std::span<const uint8_t> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::x448_basepoint
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:23,1
    - Dst: Botan::decode_scalar
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:23,1
    - Dst: Botan::encode_point
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:24,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mypublic
    - secret
    argTypes:
    - std::span<uint8_t, X448_LEN>
    - std::span<const uint8_t, X448_LEN>
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: Botan::x448_basepoint_from_data
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - Botan::decode_scalar
    - Botan::copy_mem
    - Botan::x448_basepoint
    - Botan::encode_point
    linkageType: ''
    returnType: void
    signature: void x448_basepoint_from_data(std::span<uint8_t, X448_LEN> mypublic,
      std::span<const uint8_t, X448_LEN> secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:30,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:31,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: Botan::ber_decode_sk
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::size
    - BOTAN_ASSERT_NOMSG
    - BER_Decoder
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> ber_decode_sk(std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:38,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::X448_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - object_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier X448_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::X448_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool X448_PublicKey::check_key(RandomNumberGenerator& /*rng*/, bool
      /*strong*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:46,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::X448_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X448_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X448_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::X448_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - Botan::X448_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X448_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<X448_PrivateKey>
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan::X448_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<X448_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> X448_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: Botan::X448_PublicKey::X448_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X448_PublicKey::X448_PublicKey(const AlgorithmIdentifier& /*alg_id*/,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:61,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:61,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: Botan::X448_PublicKey::X448_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void X448_PublicKey::X448_PublicKey(std::span<const uint8_t> pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ber_decode_sk
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: Botan::X448_PrivateKey::X448_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - ber_decode_sk
    linkageType: ''
    returnType: void
    signature: void X448_PrivateKey::X448_PrivateKey(const AlgorithmIdentifier& /*alg_id*/,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:69,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:69,1
    - Dst: assign
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:70,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:70,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:70,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:71,1
    - Dst: x448_basepoint_from_data
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:72,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:72,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - secret_key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: Botan::X448_PrivateKey::X448_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - assign
    - std::span
    - x448_basepoint_from_data
    - Botan::CT::scoped_poison
    - std::span<const uint8_t>::size
    - Botan::CT::unpoison
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void X448_PrivateKey::X448_PrivateKey(std::span<const uint8_t> secret_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan::X448_PrivateKey::X448_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - random_vec
    linkageType: ''
    returnType: void
    signature: void X448_PrivateKey::X448_PrivateKey(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<X448_PublicKey>
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:79,1
    - Dst: public_value
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: Botan::X448_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - public_value
    - std::make_unique<X448_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> X448_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: Botan::X448_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> X448_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:88,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:88,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:89,1
    - Dst: x448_basepoint_from_data
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:90,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:90,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:91,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:91,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:91,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: Botan::X448_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - std::array::data
    - std::span
    - Botan::CT::is_equal
    - data
    - x448_basepoint_from_data
    - size
    - Botan::CT::scoped_poison
    linkageType: ''
    returnType: bool
    signature: bool X448_PrivateKey::check_key(RandomNumberGenerator& /*rng*/, bool
      /*strong*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:102,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:102,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:103,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sk
    - kdf
    argTypes:
    - std::span<const uint8_t>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: Botan::X448_KA_Operation::X448_KA_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::begin
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void X448_KA_Operation(std::span<const uint8_t> sk, std::string_view
      kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Botan::X448_KA_Operation::agreed_value_size
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t agreed_value_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:109,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:112,1
    - Dst: std::span::size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:112,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:113,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:113,1
    - Dst: decode_scalar
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:114,1
    - Dst: decode_point
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:115,1
    - Dst: encode_point
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:117,1
    - Dst: x448
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:117,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:118,1
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:130,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:130,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:130,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - w_data
    - w_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 135
    functionName: Botan::X448_KA_Operation::raw_agree
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - decode_scalar
    - std::span::size
    - decode_point
    - BOTAN_ASSERT_NOMSG
    - auto::size
    - x448
    - size
    - Botan::CT::scoped_poison
    - Botan::CT::all_zeros
    - auto::data
    - Botan::CT::unpoison
    - Invalid_Argument
    - encode_point
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> raw_agree(const uint8_t w_data[], size_t w_len)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:146,1
    - Dst: std::make_unique<X448_KA_Operation>
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:147,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:149,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: Botan::X448_PrivateKey::create_key_agreement_op
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<X448_KA_Operation>
    - algo_name
    - std::string_view::empty
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Key_Agreement>
    signature: "std::unique_ptr<PK_Ops::Key_Agreement> X448_PrivateKey::create_key_agreement_op(RandomNumberGenerator&
      /*rng*/,\n                                                                                std::string_view
      params,\n                                                                                std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' scalar'
    - bit
    argTypes:
    - ScalarX448
    - size_t
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: Botan::get_bit
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_bit(const ScalarX448& scalar, size_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::begin
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:22,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Point448
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::encode_point
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp
    functionUses: 1
    functionsReached:
    - Botan::begin
    - Botan::end
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> encode_point(const Point448& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:26,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:26,1
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Botan::decode_point
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp
    functionUses: 0
    functionsReached:
    - Botan::typecast_copy
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: Point448
    signature: Point448 decode_point(std::span<const uint8_t> p_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:31,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:31,1
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - scalar_bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: Botan::decode_scalar
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp
    functionUses: 1
    functionsReached:
    - Botan::typecast_copy
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: ScalarX448
    signature: ScalarX448 decode_scalar(std::span<const uint8_t> scalar_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::x448
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - ScalarX448
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: Botan::x448_basepoint
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp
    functionUses: 1
    functionsReached:
    - Botan::x448
    linkageType: ''
    returnType: Point448
    signature: Point448 x448_basepoint(const ScalarX448& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Gf448Elem
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:51,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:51,1
    - Dst: Gf448Elem
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:54,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:54,1
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:56,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:59,1
    - Dst: Botan::get_bit
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:59,1
    - Dst: Gf448Elem::ct_cond_swap
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:62,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:62,1
    - Dst: Gf448Elem::ct_cond_swap
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:63,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:63,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:67,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:69,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:75,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:76,1
    - Dst: Gf448Elem::ct_cond_swap
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:81,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:81,1
    - Dst: Gf448Elem::ct_cond_swap
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:82,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:82,1
    - Dst: Point448
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:86,1
    - Dst: auto::to_bytes
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - ' k'
    - ' u'
    argTypes:
    - ScalarX448
    - Point448
    constantsTouched: []
    func_position:
      end: 87
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 87
    functionName: Botan::x448
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448_internal.cpp
    functionUses: 1
    functionsReached:
    - Botan::get
    - Gf448Elem::ct_cond_swap
    - auto::as_bool
    - Botan::sha512_msg_expand
    - Botan::CT::Mask::cleared
    - Botan::square
    - Gf448Elem
    - Botan::get_bit
    - Point448
    - auto::to_bytes
    linkageType: ''
    returnType: Point448
    signature: Point448 x448(const ScalarX448& k, const Point448& u)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t estimated_strength() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::public_value
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.h
    functionUses: 1
    functionsReached:
    - raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: public_value
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.h
    functionUses: 21
    functionsReached:
    - raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_value() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.h:92,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/curve448/x448/x448.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/x448/x448.h
    functionUses: 9
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> raw_private_key_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.h:107,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.h
    functionUses: 9
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> raw_private_key_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 76
    functionName: Botan::Ed448Point
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Ed448Point
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:24,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::Ed448_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - object_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Ed448_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Ed448Point::decode
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: Botan::Ed448_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - Botan::Ed448Point::decode
    linkageType: ''
    returnType: bool
    signature: bool Ed448_PublicKey::check_key(RandomNumberGenerator& /*rng*/, bool
      /*strong*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: Botan::Ed448_PublicKey::Ed448_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed448_PublicKey::Ed448_PublicKey(const AlgorithmIdentifier& /*
      unused */, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:40,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:41,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:43,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: Botan::Ed448_PublicKey::Ed448_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - Decoding_Error
    - std::span<const uint8_t>::first
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void Ed448_PublicKey::Ed448_PublicKey(std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:47,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::Ed448_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Ed448_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Ed448_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::Ed448_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - Botan::Ed448_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Ed448_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Ed448_PrivateKey>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Botan::Ed448_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Ed448_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> Ed448_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:60,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:62,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:63,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:65,1
    - Dst: create_pk_from_sk
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:66,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: Botan::Ed448_PrivateKey::Ed448_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::size
    - BER_Decoder
    - std::span
    - create_pk_from_sk
    - Decoding_Error
    - std::move
    linkageType: ''
    returnType: void
    signature: void Ed448_PrivateKey::Ed448_PrivateKey(const AlgorithmIdentifier&
      /*unused*/, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::Ed448_PrivateKey::Ed448_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - random_vec
    linkageType: ''
    returnType: void
    signature: void Ed448_PrivateKey::Ed448_PrivateKey(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:72,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:73,1
    - Dst: assign
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:75,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:75,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:75,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:76,1
    - Dst: create_pk_from_sk
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:77,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:77,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: Botan::Ed448_PrivateKey::Ed448_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - assign
    - std::span
    - Botan::CT::scoped_poison
    - create_pk_from_sk
    - Decoding_Error
    - std::span<const uint8_t>::size
    - Botan::CT::unpoison
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void Ed448_PrivateKey::Ed448_PrivateKey(std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Ed448_PublicKey>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: Botan::Ed448_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Ed448_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> Ed448_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:86,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:86,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: Botan::Ed448_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - size
    - DER_Encoder
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Ed448_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Botan::Ed448_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Ed448_PrivateKey::check_key(RandomNumberGenerator& /*rng*/, bool
      /*strong*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan::Ed448_Message::Ed448_Message
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed448_Message()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: ~Ed448_Message()
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Ed448_Message()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Botan::Ed448_Message::Ed448_Message
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed448_Message(const Ed448_Message&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: '& operator=(const Ed448_Message&)'
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ed448_Message
    signature: Ed448_Message & operator=(const Ed448_Message&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Botan::Ed448_Message::Ed448_Message
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed448_Message(Ed448_Message&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: '& operator=(Ed448_Message&&)'
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ed448_Message
    signature: Ed448_Message & operator=(Ed448_Message&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Prehashed_Ed448_Message::update
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: Botan::Prehashed_Ed448_Message::update
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 1
    functionsReached:
    - Botan::Prehashed_Ed448_Message::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Botan::Prehashed_Ed448_Message::get_and_clear
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - final_stdvec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> get_and_clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan::Prehashed_Ed448_Message::Prehashed_Ed448_Message
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: void
    signature: void Prehashed_Ed448_Message(std::string_view hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:124,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:124,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:124,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: Botan::Pure_Ed448_Message::update
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - end
    - std::span<const uint8_t>::end
    - insert
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: Botan::Pure_Ed448_Message::get_and_clear
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - std::exchange
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> get_and_clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:139,1
    - Dst: public_key_bits
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:140,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:141,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:141,1
    - Dst: std::make_unique<Prehashed_Ed448_Message>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:143,1
    - Dst: std::make_unique<Pure_Ed448_Message>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Ed448_PublicKey
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: Botan::Ed448_Verify_Operation::Ed448_Verify_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - std::make_unique<Pure_Ed448_Message>
    - std::make_unique<Prehashed_Ed448_Message>
    - copy_mem
    - public_key_bits
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Ed448_Verify_Operation(const Ed448_PublicKey& key,\n                                      std::optional<std::string>
      prehash_function = std::nullopt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Ed448_Verify_Operation::update
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: Botan::Ed448_Verify_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 1
    functionsReached:
    - Botan::Ed448_Verify_Operation::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_and_clear
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:152,1
    - Dst: verify_signature
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:154,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: Botan::Ed448_Verify_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - verify_signature
    - get_and_clear
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool is_valid_signature(std::span<const uint8_t> sig) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_or
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: Botan::Ed448_Verify_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - value_or
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:175,1
    - Dst: public_key_bits
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:176,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:177,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:177,1
    - Dst: raw_private_key_bits
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:178,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:179,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:179,1
    - Dst: assign
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:180,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:180,1
    - Dst: auto::end
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:180,1
    - Dst: std::make_unique<Prehashed_Ed448_Message>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:182,1
    - Dst: std::make_unique<Pure_Ed448_Message>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Ed448_PrivateKey
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: Botan::Ed448_Sign_Operation::Ed448_Sign_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - assign
    - std::span
    - auto::end
    - std::make_unique<Prehashed_Ed448_Message>
    - copy_mem
    - public_key_bits
    - std::make_unique<Pure_Ed448_Message>
    - auto::begin
    - std::move
    - auto::size
    - raw_private_key_bits
    linkageType: ''
    returnType: void
    signature: "void Ed448_Sign_Operation(const Ed448_PrivateKey& key,\n                                    std::optional<std::string>
      prehash_function = std::nullopt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Ed448_Sign_Operation::update
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: Botan::Ed448_Sign_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 1
    functionsReached:
    - Botan::Ed448_Sign_Operation::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:191,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:191,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:192,1
    - Dst: sign_message
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:193,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:194,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:194,1
    - Dst: get_and_clear
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:194,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:195,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:196,1
    - Dst: auto::end
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: Botan::Ed448_Sign_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - std::span
    - size
    - Botan::CT::scoped_poison
    - auto::end
    - auto::begin
    - get_and_clear
    - Botan::CT::unpoison
    - has_value
    - sign_message
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator& /*rng*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: Botan::Ed448_Sign_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_or
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: Botan::Ed448_Sign_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - value_or
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:213,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: Botan::Ed448_Sign_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - AlgorithmIdentifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Ed448_Sign_Operation::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:220,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:221,1
    - Dst: std::make_unique<Ed448_Verify_Operation>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:222,1
    - Dst: std::make_unique<Ed448_Verify_Operation>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:224,1
    - Dst: std::make_unique<Ed448_Verify_Operation>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:226,1
    - Dst: std::string
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:226,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:229,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: Botan::Ed448_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::string
    - std::string_view::empty
    - std::make_unique<Ed448_Verify_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> Ed448_PublicKey::create_verification_op(std::string_view
      params,\n                                                                              std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:234,1
    - Dst: Botan::Ed448_PublicKey::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:235,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:236,1
    - Dst: std::make_unique<Ed448_Verify_Operation>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:239,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:241,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ' alg_id'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: Botan::Ed448_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::string_view::empty
    - Decoding_Error
    - std::make_unique<Ed448_Verify_Operation>
    - Botan::Ed448_PublicKey::algorithm_identifier
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> Ed448_PublicKey::create_x509_verification_op(const
      AlgorithmIdentifier& alg_id,\n                                                                                   std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:247,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:248,1
    - Dst: std::make_unique<Ed448_Sign_Operation>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:249,1
    - Dst: std::make_unique<Ed448_Sign_Operation>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:251,1
    - Dst: std::make_unique<Ed448_Sign_Operation>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:253,1
    - Dst: std::string
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:253,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:256,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp:256,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 257
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 257
    functionName: Botan::Ed448_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::make_unique<Ed448_Sign_Operation>
    - Provider_Not_Found
    - std::string
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> Ed448_PrivateKey::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                         std::string_view
      params,\n                                                                         std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:29,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:29,1
    - Dst: Botan::concat
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:30,1
    - Dst: Botan::store_le
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:31,1
    - Dst: Botan::store_le
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:32,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:32,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint8_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 34
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 34
    functionName: Botan::dom4
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - Botan::store_le
    - BOTAN_ARG_CHECK
    - static_cast<uint8_t>
    - std::span<const uint8_t>::size
    - Botan::concat
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> dom4(uint8_t x, std::span<const uint8_t> y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SHAKE_256_XOF
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:38,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:39,1
    - Dst: Botan::dom4
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:39,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:39,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:40,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:40,1
    - Dst: auto::output
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - f
    - context
    argTypes:
    - bool
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: Botan::shake
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - auto::output
    - std::span
    - SHAKE_256_XOF
    - auto::update
    - static_cast<uint8_t>
    - Botan::dom4
    linkageType: ''
    returnType: std::array<uint8_t, 2 * ED448_LEN>
    signature: std::array<uint8_t, 2 * ED448_LEN> shake(bool f, std::span<const uint8_t>
      context, Ts... xs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:48,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - std::span<const uint8_t, 114>
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: Botan::split
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - BufferSlicer::take
    linkageType: ''
    returnType: std::pair<std::span<const uint8_t, 57>, std::span<const uint8_t, 57>>
    signature: std::pair<std::span<const uint8_t, 57>, std::span<const uint8_t, 57>>
      split(std::span<const uint8_t, 114> arr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::output
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:60,1
    - Dst: Botan::Scalar448
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' shake_xof'
    argTypes:
    - XOF
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: Botan::scalar_from_xof
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - Botan::Scalar448
    - Botan::output
    linkageType: ''
    returnType: Scalar448
    signature: Scalar448 scalar_from_xof(XOF& shake_xof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t, ED448_LEN>::back
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:80,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:81,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:84,1
    - Dst: Botan::Gf448Elem::bytes_are_canonical_representation
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:85,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:86,1
    - Dst: Gf448Elem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:88,1
    - Dst: Gf448Elem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:99,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:100,1
    - Dst: Gf448Elem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:100,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:101,1
    - Dst: Gf448Elem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:101,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:102,1
    - Dst: root
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:102,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:102,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:102,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:102,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:106,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:107,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:112,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:113,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:117,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:118,1
    - Dst: auto::words
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:118,1
    - Dst: words
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:118,1
    - Dst: Gf448Elem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:120,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - enc
    argTypes:
    - std::span<const uint8_t, ED448_LEN>
    constantsTouched: []
    func_position:
      end: 121
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 121
    functionName: Botan::Ed448Point::decode
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 2
    functionsReached:
    - std::array::data
    - auto::words
    - std::span
    - words
    - Botan::sha512_msg_expand
    - Gf448Elem
    - root
    - Decoding_Error
    - std::span<const uint8_t, ED448_LEN>::back
    - square
    - auto::is_zero
    - Botan::Gf448Elem::bytes_are_canonical_representation
    linkageType: ''
    returnType: Ed448Point
    signature: Ed448Point Ed448Point::decode(std::span<const uint8_t, ED448_LEN> enc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed448Point
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:138,1
    - Dst: Gf448Elem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:138,1
    - Dst: Gf448Elem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 139
    functionName: Botan::Ed448Point::base_point
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - Gf448Elem
    - Ed448Point
    linkageType: ''
    returnType: Ed448Point
    signature: Ed448Point Ed448Point::base_point()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: y
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:149,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:149,1
    - Dst: std::array::back
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:153,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:153,1
    - Dst: x
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 156
    functionName: Botan::Ed448Point::encode
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - y
    - std::array::back
    - x
    - static_cast<uint8_t>
    linkageType: ''
    returnType: std::array<uint8_t, ED448_LEN>
    signature: std::array<uint8_t, ED448_LEN> Ed448Point::encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:161,1
    - Dst: Gf448Elem
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:164,1
    - Dst: Ed448Point
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Ed448Point
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: Ed448Point::operator+(const Ed448Point& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - Gf448Elem
    - Ed448Point
    - square
    linkageType: ''
    returnType: Ed448Point
    signature: Ed448Point Ed448Point::operator+(const Ed448Point& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:177,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:178,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:179,1
    - Dst: square
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:181,1
    - Dst: Ed448Point
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: Botan::Ed448Point::double_point
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - Ed448Point
    - square
    linkageType: ''
    returnType: Ed448Point
    signature: Ed448Point Ed448Point::double_point() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed448Point::double_point
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:198,1
    - Dst: Ed448Point::ct_conditional_assign
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:201,1
    - Dst: get_bit
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Scalar448
    constantsTouched: []
    func_position:
      end: 204
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 204
    functionName: Botan::Ed448Point::scalar_mul
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - Ed448Point::double_point
    - Ed448Point::ct_conditional_assign
    - get_bit
    linkageType: ''
    returnType: Ed448Point
    signature: Ed448Point Ed448Point::scalar_mul(const Scalar448& s) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:208,1
    - Dst: x
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:208,1
    - Dst: x
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:208,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:209,1
    - Dst: y
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:209,1
    - Dst: y
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:209,1
    - Dst: as_bool
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Ed448Point
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: Ed448Point::operator==(const Ed448Point& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - x
    - y
    - as_bool
    - Botan::sha512_msg_expand
    linkageType: ''
    returnType: bool
    signature: bool Ed448Point::operator==(const Ed448Point& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ct_cond_assign
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:215,1
    - Dst: ct_cond_assign
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:216,1
    - Dst: ct_cond_assign
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cond
    - ' other'
    argTypes:
    - bool
    - Ed448Point
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: Botan::Ed448Point::ct_conditional_assign
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - ct_cond_assign
    linkageType: ''
    returnType: void
    signature: void Ed448Point::ct_conditional_assign(bool cond, const Ed448Point&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_mul
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - Scalar448
    - Ed448Point
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: operator*(const Scalar448& lhs, const Ed448Point& rhs)
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - scalar_mul
    linkageType: ''
    returnType: Ed448Point
    signature: Ed448Point operator*(const Scalar448& lhs, const Ed448Point& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SHAKE_256_XOF
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:227,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:228,1
    - Dst: Botan::scalar_from_xof
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:230,1
    - Dst: Botan::Ed448Point::base_point
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:234,1
    - Dst: Botan::encode
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sk
    argTypes:
    - std::span<const uint8_t, ED448_LEN>
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: Botan::create_pk_from_sk
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 1
    functionsReached:
    - Botan::scalar_from_xof
    - Botan::Ed448Point::base_point
    - SHAKE_256_XOF
    - auto::update
    - Botan::encode
    linkageType: ''
    returnType: std::array<uint8_t, ED448_LEN>
    signature: std::array<uint8_t, ED448_LEN> create_pk_from_sk(std::span<const uint8_t,
      ED448_LEN> sk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SHAKE_256_XOF
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:251,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:252,1
    - Dst: Botan::scalar_from_xof
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:253,1
    - Dst: auto::output
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:255,1
    - Dst: Botan::Ed448Point::base_point
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:264,1
    - Dst: Botan::encode
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:264,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:276,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:277,1
    - Dst: auto::to_bytes
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:277,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:278,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - sk
    - pk
    - pgflag
    - context
    - msg
    argTypes:
    - std::span<const uint8_t, ED448_LEN>
    - std::span<const uint8_t, ED448_LEN>
    - bool
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 281
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 281
    functionName: Botan::sign_message
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - Botan::scalar_from_xof
    - Botan::Ed448Point::base_point
    - BufferStuffer::append
    - auto::output
    - SHAKE_256_XOF
    - auto::update
    - Botan::encode
    - auto::to_bytes
    - BOTAN_ASSERT
    - BufferStuffer::full
    linkageType: ''
    returnType: std::array<uint8_t, 2 * ED448_LEN>
    signature: "std::array<uint8_t, 2 * ED448_LEN> sign_message(std::span<const uint8_t,
      ED448_LEN> sk,\n                                                std::span<const
      uint8_t, ED448_LEN> pk,\n                                                bool
      pgflag,\n                                                std::span<const uint8_t>
      context,\n                                                std::span<const uint8_t>
      msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:296,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:298,1
    - Dst: Botan::Ed448Point::decode
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:301,1
    - Dst: Botan::Scalar448::bytes_are_reduced
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:302,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:304,1
    - Dst: Botan::Ed448Point::base_point
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:312,1
    - Dst: Botan::Ed448Point::decode
      Src: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - pk
    - phflag
    - context
    - sig
    - msg
    argTypes:
    - std::span<const uint8_t, ED448_LEN>
    - bool
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 313
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 313
    functionName: Botan::verify_signature
    functionSourceFile: /src/botan/src/lib/pubkey/curve448/ed448/ed448_internal.cpp
    functionUses: 0
    functionsReached:
    - Botan::Ed448Point::base_point
    - Botan::Decoding_Error
    - Botan::Scalar448::bytes_are_reduced
    - std::span<const uint8_t>::size
    - Botan::Ed448Point::decode
    linkageType: ''
    returnType: bool
    signature: "bool verify_signature(std::span<const uint8_t, ED448_LEN> pk,\n                      bool
      phflag,\n                      std::span<const uint8_t> context,\n                      std::span<const
      uint8_t> sig,\n                      std::span<const uint8_t> msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PublicKey>
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: Botan::DH_PublicKey::DH_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<DL_PublicKey>
    linkageType: ''
    returnType: void
    signature: void DH_PublicKey::DH_PublicKey(const AlgorithmIdentifier& alg_id,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PublicKey>
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' group'
    - ' y'
    argTypes:
    - DL_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Botan::DH_PublicKey::DH_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<DL_PublicKey>
    linkageType: ''
    returnType: void
    signature: void DH_PublicKey::DH_PublicKey(const DL_Group& group, const BigInt&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DH_PublicKey::estimated_strength
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::DH_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 1
    functionsReached:
    - Botan::DH_PublicKey::estimated_strength
    linkageType: ''
    returnType: size_t
    signature: size_t DH_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p_bits
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::DH_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - p_bits
    linkageType: ''
    returnType: size_t
    signature: size_t DH_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_int_field
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:33,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '& DH_PublicKey::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - get_int_field
    linkageType: ''
    returnType: BigInt
    signature: BigInt & DH_PublicKey::get_int_field(std::string_view field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '& DH_PublicKey::group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - group
    linkageType: ''
    returnType: DL_Group
    signature: DL_Group & DH_PublicKey::group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:41,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:41,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::DH_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - group
    - AlgorithmIdentifier
    - object_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier DH_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key_as_bytes
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::DH_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - public_key_as_bytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DH_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_encode
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Botan::DH_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - DER_encode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DH_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DH_PublicKey::check_key
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::DH_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 1
    functionsReached:
    - Botan::DH_PublicKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool DH_PublicKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DH_PrivateKey>
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:57,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::DH_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - group
    - std::make_unique<DH_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> DH_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PrivateKey>
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:61,1
    - Dst: Botan::DH_PrivateKey::public_key
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' rng'
    - ' group'
    argTypes:
    - RandomNumberGenerator
    - DL_Group
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: Botan::DH_PrivateKey::DH_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<DL_PrivateKey>
    - Botan::DH_PrivateKey::public_key
    linkageType: ''
    returnType: void
    signature: void DH_PrivateKey::DH_PrivateKey(RandomNumberGenerator& rng, const
      DL_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PrivateKey>
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:66,1
    - Dst: Botan::DH_PrivateKey::public_key
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' group'
    - ' x'
    argTypes:
    - DL_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: Botan::DH_PrivateKey::DH_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<DL_PrivateKey>
    - Botan::DH_PrivateKey::public_key
    linkageType: ''
    returnType: void
    signature: void DH_PrivateKey::DH_PrivateKey(const DL_Group& group, const BigInt&
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PrivateKey>
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:71,1
    - Dst: Botan::DH_PrivateKey::public_key
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: Botan::DH_PrivateKey::DH_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<DL_PrivateKey>
    - Botan::DH_PrivateKey::public_key
    linkageType: ''
    returnType: void
    signature: void DH_PrivateKey::DH_PrivateKey(const AlgorithmIdentifier& alg_id,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<DH_PublicKey>
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:76,1
    - Dst: DH_PublicKey::DH_PublicKey
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: Botan::DH_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 3
    functionsReached:
    - DH_PublicKey::DH_PublicKey
    - std::unique_ptr<DH_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> DH_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: Botan::DH_PrivateKey::public_value
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 2
    functionsReached:
    - raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DH_PrivateKey::public_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_encode
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: Botan::DH_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - DER_encode
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> DH_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DH_PrivateKey::raw_private_key_bits
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: Botan::DH_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 1
    functionsReached:
    - Botan::DH_PrivateKey::raw_private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> DH_PrivateKey::raw_private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_int_field
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:92,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: '& DH_PrivateKey::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - get_int_field
    linkageType: ''
    returnType: BigInt
    signature: BigInt & DH_PrivateKey::get_int_field(std::string_view field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: private_key
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:107,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:109,1
    - Dst: Botan::DH_KA_Operation::powermod_x_p
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:112,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' key'
    - kdf
    - ' rng'
    argTypes:
    - std::shared_ptr<const DL_PrivateKey>
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: Botan::DH_KA_Operation::DH_KA_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - group
    - private_key
    - Botan::DH_KA_Operation::powermod_x_p
    linkageType: ''
    returnType: void
    signature: "void DH_KA_Operation(const std::shared_ptr<const DL_PrivateKey>& key,\n
      \                     std::string_view kdf,\n                      RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Botan::DH_KA_Operation::agreed_value_size
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - group
    linkageType: ''
    returnType: size_t
    signature: size_t agreed_value_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::group
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: '& group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - Botan::group
    linkageType: ''
    returnType: DL_Group
    signature: DL_Group & group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:121,1
    - Dst: private_key
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: Botan::DH_KA_Operation::powermod_x_p
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 1
    functionsReached:
    - group
    - private_key
    linkageType: ''
    returnType: BigInt
    signature: BigInt powermod_x_p(const BigInt& v) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:129,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:131,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:132,1
    - Dst: blind
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:135,1
    - Dst: Botan::DH_KA_Operation::powermod_x_p
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:136,1
    - Dst: unblind
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:137,1
    - Dst: BigInt::serialize
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:139,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - w
    - w_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: Botan::DH_KA_Operation::raw_agree
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - unblind
    - Botan::DH_KA_Operation::powermod_x_p
    - BigInt::serialize
    - blind
    - group
    - Botan::BigInt::from_bytes
    - Invalid_Argument
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> DH_KA_Operation::raw_agree(const uint8_t w[],
      size_t w_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:147,1
    - Dst: std::make_unique<DH_KA_Operation>
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:148,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:150,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/dh/dh.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: Botan::DH_PrivateKey::create_key_agreement_op
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - std::make_unique<DH_KA_Operation>
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Key_Agreement>
    signature: "std::unique_ptr<PK_Ops::Key_Agreement> DH_PrivateKey::create_key_agreement_op(RandomNumberGenerator&
      rng,\n                                                                              std::string_view
      params,\n                                                                              std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/dh/dh.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::public_value
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.h
    functionUses: 1
    functionsReached:
    - raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::DH_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DH_PublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dh/dh.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::shared_ptr<const DL_PublicKey>
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::DH_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dh/dh.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DH_PublicKey(std::shared_ptr<const DL_PublicKey> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bit_size_to_byte_size
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:27,1
    - Dst: Botan::bit_size_to_byte_size
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:27,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:33,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:33,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:34,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:34,1
    - Dst: Botan::bit_size_to_byte_size
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:34,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:36,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:36,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:38,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:41,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:43,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - dimension
    - codimension
    argTypes:
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 49
    functionName: Botan::concat_vectors
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.cpp
    functionUses: 0
    functionsReached:
    - data
    - Botan::bit_size_to_byte_size
    - static_cast<uint8_t>
    - Botan::copy_mem
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> concat_vectors(const secure_vector<uint8_t>&
      a,\n                                      const secure_vector<uint8_t>& b,\n
      \                                     size_t dimension,\n                                      size_t
      codimension)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bit_size_to_32bit_size
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:58,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:65,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:65,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:65,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:67,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:73,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:73,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:73,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:75,1
    - Dst: Botan::concat_vectors
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:78,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - ' cleartext'
    - ' public_matrix'
    - code_length
    - t
    argTypes:
    - secure_vector<uint8_t>
    - std::vector<uint8_t>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 81
    functionName: Botan::mult_by_pubkey
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.cpp
    functionUses: 0
    functionsReached:
    - Botan::bit_size_to_32bit_size
    - Botan::xor_buf
    - secure_vector::data
    - secure_vector::resize
    - secure_vector::size
    - Botan::concat_vectors
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> mult_by_pubkey(const secure_vector<uint8_t>&
      cleartext,\n                                      const std::vector<uint8_t>&
      public_matrix,\n                                      size_t code_length,\n
      \                                     size_t t)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::random_code_element
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:89,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - code_length
    - error_weight
    - ' rng'
    argTypes:
    - size_t
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 105
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 105
    functionName: Botan::create_random_error_vector
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - Botan::random_code_element
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> create_random_error_vector(size_t code_length,
      size_t error_weight, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::create_random_error_vector
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:116,1
    - Dst: Botan::get_t
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:116,1
    - Dst: Botan::mult_by_pubkey
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:119,1
    - Dst: Botan::get_public_matrix
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:119,1
    - Dst: Botan::get_code_length
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:119,1
    - Dst: Botan::get_t
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:119,1
    - Dst: swap
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:123,1
    - Dst: swap
      Src: /src/botan/src/lib/pubkey/mce/mceliece.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ' ciphertext_out'
    - ' error_mask_out'
    - ' plaintext'
    - ' key'
    - ' rng'
    argTypes:
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - McEliece_PublicKey
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: Botan::mceliece_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.cpp
    functionUses: 0
    functionsReached:
    - Botan::create_random_error_vector
    - swap
    - Botan::get_code_length
    - Botan::get_t
    - Botan::get_public_matrix
    - Botan::mult_by_pubkey
    linkageType: ''
    returnType: void
    signature: "void mceliece_encrypt(secure_vector<uint8_t>& ciphertext_out,\n                      secure_vector<uint8_t>&
      error_mask_out,\n                      const secure_vector<uint8_t>& plaintext,\n
      \                     const McEliece_PublicKey& key,\n                      RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - matrix
    - numo_rows
    - words_per_row
    - input_vec
    - output_vec
    - output_vec_len
    argTypes:
    - std::vector<uint32_t>
    - size_t
    - size_t
    - uint8_t[]
    - uint32_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: Botan::matrix_arr_mul
    functionSourceFile: /src/botan/src/lib/pubkey/mce/goppa_code.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void matrix_arr_mul(std::vector<uint32_t> matrix,\n                    size_t
      numo_rows,\n                    size_t words_per_row,\n                    const
      uint8_t input_vec[],\n                    uint32_t output_vec[],\n                    size_t
      output_vec_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:47,1
    - Dst: Botan::polyn_gf2m::eea_with_coefficients
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:49,1
    - Dst: std::shared_ptr::gf_inv
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:52,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:52,1
    - Dst: std::shared_ptr::gf_log
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:53,1
    - Dst: get_degree
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:54,1
    - Dst: set_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:55,1
    - Dst: std::shared_ptr::gf_mul_zrz
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:55,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:55,1
    - Dst: add_to_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:59,1
    - Dst: get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:61,1
    - Dst: std::shared_ptr::gf_sqrt
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:64,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:64,1
    - Dst: polyn_gf2m::add_to_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:68,1
    - Dst: std::shared_ptr::gf_mul
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:68,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:68,1
    - Dst: polyn_gf2m::add_to_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:71,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:75,1
    - Dst: Botan::polyn_gf2m::eea_with_coefficients
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:77,1
    - Dst: get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:82,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:85,1
    - Dst: polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:87,1
    - Dst: std::shared_ptr::gf_square
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:87,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:87,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:91,1
    - Dst: polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:93,1
    - Dst: std::shared_ptr::gf_square
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:93,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:93,1
    - Dst: Botan::find_roots_gf2m_decomp
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:96,1
    - Dst: Botan::gray_to_lex
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:104,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - ' syndrom_polyn'
    - ' g'
    - ' sqrtmod'
    - ' Linv'
    argTypes:
    - polyn_gf2m
    - polyn_gf2m
    - std::vector<polyn_gf2m>
    - std::vector<gf2m>
    constantsTouched: []
    func_position:
      end: 114
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 114
    functionName: Botan::goppa_decode
    functionSourceFile: /src/botan/src/lib/pubkey/mce/goppa_code.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::gf_mul_zrz
    - get_degree
    - get_coef
    - std::shared_ptr::gf_square
    - BOTAN_ASSERT
    - get_sp_field
    - polyn_gf2m::set_coef
    - Botan::find_roots_gf2m_decomp
    - add_to_coef
    - set_coef
    - polyn_gf2m::add_to_coef
    - Botan::polyn_gf2m::eea_with_coefficients
    - std::shared_ptr::gf_inv
    - std::shared_ptr::gf_mul
    - static_cast<gf2m>
    - std::shared_ptr::gf_log
    - polyn_gf2m::get_degree
    - Botan::gray_to_lex
    - std::shared_ptr::gf_sqrt
    linkageType: ''
    returnType: secure_vector<gf2m>
    signature: "secure_vector<gf2m> goppa_decode(const polyn_gf2m& syndrom_polyn,\n
      \                                const polyn_gf2m& g,\n                                 const
      std::vector<polyn_gf2m>& sqrtmod,\n                                 const std::vector<gf2m>&
      Linv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mceliece_decrypt
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:121,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:121,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' plaintext_out'
    - ' error_mask_out'
    - ' ciphertext'
    - ' key'
    argTypes:
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - McEliece_PrivateKey
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: Botan::mceliece_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/mce/goppa_code.cpp
    functionUses: 1
    functionsReached:
    - Botan::size
    - data
    - Botan::mceliece_decrypt
    linkageType: ''
    returnType: void
    signature: "void mceliece_decrypt(secure_vector<uint8_t>& plaintext_out,\n                      secure_vector<uint8_t>&
      error_mask_out,\n                      const secure_vector<uint8_t>& ciphertext,\n
      \                     const McEliece_PrivateKey& key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mceliece_decrypt
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:130,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - ' plaintext'
    - ' error_mask'
    - ciphertext
    - ciphertext_len
    - ' key'
    argTypes:
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    - uint8_t[]
    - size_t
    - McEliece_PrivateKey
    constantsTouched: []
    func_position:
      end: 142
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 142
    functionName: Botan::mceliece_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/mce/goppa_code.cpp
    functionUses: 2
    functionsReached:
    - Invalid_Argument
    - Botan::mceliece_decrypt
    linkageType: ''
    returnType: void
    signature: "void mceliece_decrypt(secure_vector<uint8_t>& plaintext,\n                      secure_vector<uint8_t>&
      error_mask,\n                      const uint8_t ciphertext[],\n                      size_t
      ciphertext_len,\n                      const McEliece_PrivateKey& key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_goppa_polyn
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:155,1
    - Dst: Botan::get_code_length
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:159,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:160,1
    - Dst: Botan::bit_size_to_byte_size
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:164,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:165,1
    - Dst: Botan::matrix_arr_mul
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:169,1
    - Dst: get_H_coeffs
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:169,1
    - Dst: Botan::get_code_length
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:170,1
    - Dst: Botan::bit_size_to_32bit_size
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:171,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:173,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:174,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:179,1
    - Dst: polyn_gf2m
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:182,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:183,1
    - Dst: Botan::bit_size_to_byte_size
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:183,1
    - Dst: get_goppa_polyn
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:183,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:185,1
    - Dst: Botan::goppa_decode
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:186,1
    - Dst: get_goppa_polyn
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:186,1
    - Dst: get_sqrtmod
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:186,1
    - Dst: get_Linv
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:186,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:191,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/mce/goppa_code.cpp:191,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - ' error_pos'
    - ciphertext
    - ciphertext_len
    - ' key'
    argTypes:
    - secure_vector<gf2m>
    - uint8_t*
    - size_t
    - McEliece_PrivateKey
    constantsTouched: []
    func_position:
      end: 208
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 208
    functionName: Botan::mceliece_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/mce/goppa_code.cpp
    functionUses: 2
    functionsReached:
    - Botan::bit_size_to_32bit_size
    - get_H_coeffs
    - secure_vector::data
    - Botan::bit_size_to_byte_size
    - Botan::goppa_decode
    - secure_vector::size
    - Botan::matrix_arr_mul
    - Botan::get_code_length
    - get_goppa_polyn
    - polyn_gf2m
    - get_Linv
    - Invalid_Argument
    - polyn_gf2m::get_degree
    - get_sqrtmod
    - static_cast<uint8_t>
    - Botan::copy_mem
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> mceliece_decrypt(secure_vector<gf2m>& error_pos,\n
      \                                       const uint8_t* ciphertext,\n                                        size_t
      ciphertext_len,\n                                        const McEliece_PrivateKey&
      key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gf_mul_fast
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:29,1
    - Dst: gf_exp
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:31,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:31,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:31,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:33,1
    - Dst: gf_exp
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:35,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:35,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:35,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:35,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:47,1
    - Dst: gf_mul_lll
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:47,1
    - Dst: gf_exp
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:49,1
    - Dst: gf_mul_rrr
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:49,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:51,1
    - Dst: gf_mul_lll
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:51,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:51,1
    - Dst: gf_mul_rrn
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:53,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:55,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:55,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:57,1
    - Dst: gf_mul_lnn
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:57,1
    - Dst: gf_exp
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:59,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:59,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:59,1
    - Dst: gf_mul_nrn
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:64,1
    - Dst: gf_mul_zrz
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:66,1
    - Dst: gf_mul_nrn
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:71,1
    - Dst: gf_exp
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:73,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:73,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:73,1
    - Dst: get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:73,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:75,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:75,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:75,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:77,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:77,1
    - Dst: gf_exp
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:79,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:79,1
    - Dst: gf_exp
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:81,1
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:81,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:81,1
    - Dst: gf_exp
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:83,1
    - Dst: gf_ord
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:83,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:83,1
    - Dst: gf_ord
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:85,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:85,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:87,1
    - Dst: gf_log
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:91,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:95,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:97,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:103,1
    - Dst: get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:103,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:112,1
    - Dst: gf_ord
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:112,1
    - Dst: get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 113
    functionName: Botan::GF2m_Field
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_small_m.h
    functionUses: 0
    functionsReached:
    - gf_mul_rrn
    - gf_mul_zrz
    - gf_mul_fast
    - gf_ord
    - at
    - gf_mul_rrr
    - gf_mul_nrn
    - get_extension_degree
    - gf_mul_lll
    - gf_exp
    - gf_log
    - _gf_modq_1
    - gf_mul_lnn
    - static_cast<gf2m>
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API GF2m_Field
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tst
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Botan::expand_mask_16bit
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t expand_mask_16bit(T tst)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - gray
    argTypes:
    - gf2m
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: Botan::gray_to_lex
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gf2m
    signature: gf2m gray_to_lex(gf2m gray)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lex
    argTypes:
    - gf2m
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::lex_to_gray
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gf2m
    signature: gf2m lex_to_gray(gf2m lex)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bit_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::bit_size_to_byte_size
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bit_size_to_byte_size(size_t bit_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bit_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::bit_size_to_32bit_size
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bit_size_to_32bit_size(size_t bit_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::polyn_gf2m::polyn_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(const polyn_gf2m&)'
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: polyn_gf2m
    signature: polyn_gf2m & operator=(const polyn_gf2m&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: operator!=(const polyn_gf2m& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const polyn_gf2m& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::polyn_gf2m::swap
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::polyn_gf2m::polyn_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached:
    - Botan::polyn_gf2m::swap
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m(polyn_gf2m&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::swap
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: '& operator=(polyn_gf2m&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached:
    - Botan::swap
    linkageType: ''
    returnType: polyn_gf2m
    signature: polyn_gf2m & operator=(polyn_gf2m&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::polyn_gf2m::get_sp_field
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<GF2m_Field>
    signature: std::shared_ptr<GF2m_Field> get_sp_field() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '& operator[](size_t i)'
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gf2m
    signature: gf2m & operator[](size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: operator[](size_t i) const
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gf2m
    signature: gf2m operator[](size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan::polyn_gf2m::get_lead_coef
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gf2m
    signature: gf2m get_lead_coef() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan::polyn_gf2m::get_coef
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gf2m
    signature: gf2m get_coef(size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - v
    argTypes:
    - size_t
    - gf2m
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Botan::polyn_gf2m::set_coef
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_coef(size_t i, gf2m v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - v
    argTypes:
    - size_t
    - gf2m
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan::polyn_gf2m::add_to_coef
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_to_coef(size_t i, gf2m v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: Botan::polyn_gf2m::set_degree
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_degree(int d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:44,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - deg
    - prime_poly
    argTypes:
    - size_t
    - gf2m
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: Botan::gf_exp_table
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - static_cast<size_t>
    linkageType: ''
    returnType: std::vector<gf2m>
    signature: std::vector<gf2m> gf_exp_table(size_t deg, gf2m prime_poly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:59,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:59,1
    - Dst: Botan::empty
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:62,1
    - Dst: Botan::gf_exp_table
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - deg
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: Botan::exp_table
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - Botan::to_string
    - Botan::empty
    - Botan::gf_exp_table
    linkageType: ''
    returnType: std::vector<gf2m>
    signature: std::vector<gf2m> & exp_table(size_t deg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:70,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:72,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:72,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:73,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - deg
    - ' exp'
    argTypes:
    - size_t
    - std::vector<gf2m>
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: Botan::gf_log_table
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - static_cast<size_t>
    - static_cast<gf2m>
    linkageType: ''
    returnType: std::vector<gf2m>
    signature: std::vector<gf2m> gf_log_table(size_t deg, const std::vector<gf2m>&
      exp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:83,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:83,1
    - Dst: Botan::empty
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:86,1
    - Dst: Botan::gf_log_table
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:87,1
    - Dst: Botan::exp_table
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - deg
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: Botan::log_table
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp
    functionUses: 0
    functionsReached:
    - Botan::gf_log_table
    - Botan::to_string
    - Botan::empty
    - Botan::exp_table
    - Invalid_Argument
    linkageType: ''
    returnType: std::vector<gf2m>
    signature: std::vector<gf2m> & log_table(size_t deg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - to_enc
    - mem
    argTypes:
    - gf2m
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: Botan::encode_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t encode_gf2m(gf2m to_enc, uint8_t* mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mem
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: Botan::decode_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gf2m
    signature: gf2m decode_gf2m(const uint8_t* mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_table
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:111,1
    - Dst: exp_table
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - extdeg
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: Botan::GF2m_Field::GF2m_Field
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp
    functionUses: 0
    functionsReached:
    - exp_table
    - log_table
    linkageType: ''
    returnType: void
    signature: void GF2m_Field::GF2m_Field(size_t extdeg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gf_modq_1
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:116,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - gf2m
    - gf2m
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: Botan::GF2m_Field::gf_div
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_small_m.cpp
    functionUses: 0
    functionsReached:
    - _gf_modq_1
    - static_cast<gf2m>
    linkageType: ''
    returnType: gf2m
    signature: gf2m GF2m_Field::gf_div(gf2m x, gf2m y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - j
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::binary_matrix::coef
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t coef(size_t i, size_t j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - j
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::binary_matrix::set_coef_to_one
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void set_coef_to_one(size_t i, size_t j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - j
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::binary_matrix::toggle_coeff
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void toggle_coeff(size_t i, size_t j)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::binary_matrix::rows
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t rows() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan::binary_matrix::columns
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t columns() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& elem() const'
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint32_t>
    signature: std::vector<uint32_t> & elem() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint32_t>
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rown
    - coln
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: Botan::binary_matrix::binary_matrix
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint32_t>
    linkageType: ''
    returnType: void
    signature: void binary_matrix::binary_matrix(size_t rown, size_t coln)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: Botan::binary_matrix::row_xor
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void binary_matrix::row_xor(size_t a, size_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::binary_matrix::coef
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:84,1
    - Dst: Botan::binary_matrix::row_xor
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:87,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:96,1
    - Dst: secure_vector::clear
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:99,1
    - Dst: Botan::binary_matrix::coef
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:106,1
    - Dst: Botan::binary_matrix::row_xor
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:107,1
    - Dst: Botan::binary_matrix::coef
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:113,1
    - Dst: Botan::binary_matrix::row_xor
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:114,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 120
    functionName: Botan::binary_matrix::row_reduced_echelon_form
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::clear
    - Botan::binary_matrix::coef
    - static_cast<int>
    - Botan::binary_matrix::row_xor
    linkageType: ''
    returnType: secure_vector<size_t>
    signature: secure_vector<size_t> binary_matrix::row_reduced_echelon_form()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:123,1
    - Dst: Botan::random_gf2m
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:124,1
    - Dst: std::swap
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:127,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' L'
    - ' rng'
    argTypes:
    - std::vector<gf2m>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: Botan::randomize_support
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached:
    - Botan::size
    - Botan::random_gf2m
    - std::swap
    linkageType: ''
    returnType: void
    signature: void randomize_support(std::vector<gf2m>& L, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: polyn_gf2m*::eval
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:144,1
    - Dst: Botan::lex_to_gray
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:144,1
    - Dst: Botan::gf_inv
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:145,1
    - Dst: get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:148,1
    - Dst: binary_matrix::set_coef_to_one
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:151,1
    - Dst: get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:151,1
    - Dst: Botan::gf_mul
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:154,1
    - Dst: Botan::lex_to_gray
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:154,1
    - Dst: binary_matrix::row_reduced_echelon_form
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:158,1
    - Dst: secure_vector::empty
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:159,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:160,1
    - Dst: std::make_unique<binary_matrix>
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:163,1
    - Dst: auto::rows
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:164,1
    - Dst: auto::columns
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:165,1
    - Dst: binary_matrix::coef
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:166,1
    - Dst: auto::toggle_coeff
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:167,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 5
    argNames:
    - ' L'
    - g
    - ' sp_field'
    - code_length
    - t
    argTypes:
    - std::vector<gf2m>
    - polyn_gf2m*
    - GF2m_Field
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 181
      start: 131
    functionDepth: 5
    functionLinenumber: 131
    functionLinenumberEnd: 181
    functionName: Botan::generate_R
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<binary_matrix>
    - binary_matrix::row_reduced_echelon_form
    - secure_vector::empty
    - Invalid_State
    - auto::toggle_coeff
    - polyn_gf2m*::eval
    - Botan::lex_to_gray
    - binary_matrix::coef
    - auto::rows
    - binary_matrix::set_coef_to_one
    - get_extension_degree
    - Botan::gf_mul
    - auto::columns
    - Botan::gf_inv
    linkageType: ''
    returnType: std::unique_ptr<binary_matrix>
    signature: "std::unique_ptr<binary_matrix> generate_R(\n   std::vector<gf2m>&
      L, polyn_gf2m* g, const GF2m_Field& sp_field, size_t code_length, size_t t)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:188,1
    - Dst: std::make_shared<GF2m_Field>
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:191,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:196,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:197,1
    - Dst: Botan::randomize_support
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:199,1
    - Dst: polyn_gf2m
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:207,1
    - Dst: Botan::generate_R
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:210,1
    - Dst: Botan::polyn_gf2m::sqrt_mod_init
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:215,1
    - Dst: Botan::syndrome_init
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:216,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:216,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:231,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:231,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:234,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:245,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:246,1
    - Dst: std::unique_ptr::elem
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:248,1
    - Dst: std::unique_ptr::elem
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:249,1
    - Dst: Botan::store_le
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:250,1
    - Dst: std::unique_ptr::elem
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:250,1
    - Dst: McEliece_PrivateKey
      Src: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp:253,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - ' rng'
    - ext_deg
    - code_length
    - t
    argTypes:
    - RandomNumberGenerator
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 254
      start: 184
    functionDepth: 6
    functionLinenumber: 184
    functionLinenumberEnd: 254
    functionName: Botan::generate_mceliece_key
    functionSourceFile: /src/botan/src/lib/pubkey/mce/code_based_key_gen.cpp
    functionUses: 0
    functionsReached:
    - Botan::store_le
    - std::vector::size
    - std::unique_ptr::elem
    - McEliece_PrivateKey
    - static_cast<int>
    - static_cast<uint32_t>
    - Botan::syndrome_init
    - Botan::polyn_gf2m::sqrt_mod_init
    - polyn_gf2m
    - std::make_shared<GF2m_Field>
    - get_coef
    - Botan::randomize_support
    - static_cast<gf2m>
    - Botan::generate_R
    - Invalid_Argument
    linkageType: ''
    returnType: McEliece_PrivateKey
    signature: McEliece_PrivateKey generate_mceliece_key(RandomNumberGenerator& rng,
      size_t ext_deg, size_t code_length, size_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::expand_mask_16bit
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - res_root_arr
    - res_root_arr_len
    - root_pos
    argTypes:
    - gf2m[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: Botan::patch_root_array
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp
    functionUses: 0
    functionsReached:
    - Botan::expand_mask_16bit
    linkageType: ''
    returnType: void
    signature: void patch_root_array(gf2m res_root_arr[], size_t res_root_arr_len,
      size_t root_pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: Botan::brootf_decomp_calc_sum_limit
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t brootf_decomp_calc_sum_limit(uint32_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:72,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:75,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:78,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:79,1
    - Dst: std::shared_ptr::gf_l_from_n
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:81,1
    - Dst: std::shared_ptr::gf_l_from_n
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:85,1
    - Dst: brootf_decomp_calc_sum_limit
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:89,1
    - Dst: Botan::gf2m_decomp_rootfind_state::m_Lik::resize
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:90,1
    - Dst: std::shared_ptr::get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:90,1
    - Dst: Botan::gf2m_decomp_rootfind_state::m_Aij::resize
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' polyn'
    - code_length
    argTypes:
    - polyn_gf2m
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 92
    functionName: Botan::gf2m_decomp_rootfind_state::gf2m_decomp_rootfind_state
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::get_extension_degree
    - brootf_decomp_calc_sum_limit
    - Botan::gf2m_decomp_rootfind_state::m_Aij::resize
    - get_coef
    - get_sp_field
    - Botan::gf2m_decomp_rootfind_state::m_Lik::resize
    - Internal_Error
    - std::shared_ptr::gf_l_from_n
    linkageType: ''
    returnType: void
    signature: void gf2m_decomp_rootfind_state::gf2m_decomp_rootfind_state(const polyn_gf2m&
      polyn, size_t code_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sigma'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: Botan::gf2m_decomp_rootfind_state::calc_Ai_zero
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp
    functionUses: 0
    functionsReached:
    - get_coef
    linkageType: ''
    returnType: void
    signature: void gf2m_decomp_rootfind_state::calc_Ai_zero(const polyn_gf2m& sigma)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lex_to_gray
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:118,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 149
    functionName: Botan::gf2m_decomp_rootfind_state::calc_next_Aij
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp
    functionUses: 0
    functionsReached:
    - lex_to_gray
    - static_cast<gf2m>
    linkageType: ''
    returnType: void
    signature: void gf2m_decomp_rootfind_state::calc_next_Aij()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:152,1
    - Dst: get_degree
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:154,1
    - Dst: std::shared_ptr::get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:155,1
    - Dst: std::shared_ptr::gf_l_from_n
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:158,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:158,1
    - Dst: std::shared_ptr::gf_mul_rrr
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:159,1
    - Dst: std::shared_ptr::gf_mul_rrr
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:160,1
    - Dst: std::shared_ptr::gf_mul_rrr
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:162,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:174,1
    - Dst: std::shared_ptr::gf_mul_zrz
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' sigma'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 181
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 181
    functionName: Botan::gf2m_decomp_rootfind_state::calc_LiK
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::gf_mul_zrz
    - std::shared_ptr::get_extension_degree
    - get_degree
    - std::shared_ptr::gf_mul_rrr
    - get_coef
    - static_cast<gf2m>
    - get_sp_field
    - std::shared_ptr::gf_l_from_n
    linkageType: ''
    returnType: void
    signature: void gf2m_decomp_rootfind_state::calc_LiK(const polyn_gf2m& sigma)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:187,1
    - Dst: std::shared_ptr::gf_l_from_n
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:188,1
    - Dst: std::shared_ptr::gf_square_rr
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:189,1
    - Dst: std::shared_ptr::gf_mul_rrr
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:190,1
    - Dst: std::shared_ptr::gf_mul_rrr
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:191,1
    - Dst: std::shared_ptr::gf_mul_nrr
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:193,1
    - Dst: std::shared_ptr::gf_mul_zrz
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:204,1
    - Dst: std::shared_ptr::gf_mul_rrr
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:212,1
    - Dst: std::shared_ptr::gf_mul_zrz
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ' sigma'
    - j_gray
    argTypes:
    - polyn_gf2m
    - gf2m
    constantsTouched: []
    func_position:
      end: 218
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 218
    functionName: Botan::gf2m_decomp_rootfind_state::calc_Fxj_j_neq_0
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::gf_mul_nrr
    - std::shared_ptr::gf_mul_zrz
    - std::shared_ptr::gf_mul_rrr
    - std::shared_ptr::gf_square_rr
    - get_sp_field
    - std::shared_ptr::gf_l_from_n
    linkageType: ''
    returnType: gf2m
    signature: gf2m gf2m_decomp_rootfind_state::calc_Fxj_j_neq_0(const polyn_gf2m&
      sigma, gf2m j_gray)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:222,1
    - Dst: Botan::gf2m_decomp_rootfind_state::calc_Ai_zero
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:226,1
    - Dst: Botan::gf2m_decomp_rootfind_state::calc_LiK
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:227,1
    - Dst: get_coef
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:232,1
    - Dst: Botan::gf2m_decomp_rootfind_state::calc_Fxj_j_neq_0
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:234,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:242,1
    - Dst: Botan::gf2m_decomp_rootfind_state::calc_next_Aij
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:245,1
    - Dst: patch_root_array
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:249,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:249,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' sigma'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 251
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 251
    functionName: Botan::gf2m_decomp_rootfind_state::find_roots
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - secure_vector::size
    - Botan::gf2m_decomp_rootfind_state::calc_Fxj_j_neq_0
    - static_cast<uint32_t>
    - patch_root_array
    - Botan::gf2m_decomp_rootfind_state::calc_next_Aij
    - Botan::gf2m_decomp_rootfind_state::calc_Ai_zero
    - get_coef
    - BOTAN_ASSERT
    - Botan::gf2m_decomp_rootfind_state::calc_LiK
    linkageType: ''
    returnType: secure_vector<gf2m>
    signature: secure_vector<gf2m> gf2m_decomp_rootfind_state::find_roots(const polyn_gf2m&
      sigma)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gf2m_decomp_rootfind_state::find_roots
      Src: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' polyn'
    - code_length
    argTypes:
    - polyn_gf2m
    - size_t
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: Botan::find_roots_gf2m_decomp
    functionSourceFile: /src/botan/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp
    functionUses: 1
    functionsReached:
    - gf2m_decomp_rootfind_state::find_roots
    linkageType: ''
    returnType: secure_vector<gf2m>
    signature: secure_vector<gf2m> find_roots_gf2m_decomp(const polyn_gf2m& polyn,
      size_t code_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - n
    - k
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: Botan::binomial
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double binomial(size_t n, size_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp:35,1
    - Dst: std::log
      Src: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - n
    - k
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: Botan::log_binomial
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp
    functionUses: 0
    functionsReached:
    - std::log
    linkageType: ''
    returnType: double
    signature: double log_binomial(size_t n, size_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::log_binomial
      Src: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp:44,1
    - Dst: Botan::log_binomial
      Src: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - n
    - k
    - w
    - p
    - l
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: Botan::nb_iter
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp
    functionUses: 0
    functionsReached:
    - Botan::log_binomial
    linkageType: ''
    returnType: double
    signature: double nb_iter(size_t n, size_t k, size_t w, size_t p, size_t l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - n
    - k
    - p
    - l
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: Botan::cout_iter
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp
    functionUses: 0
    functionsReached:
    - std::log
    linkageType: ''
    returnType: double
    signature: double cout_iter(size_t n, size_t k, size_t p, size_t l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::nb_iter
      Src: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp:66,1
    - Dst: Botan::cout_iter
      Src: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - n
    - k
    - w
    - p
    - l
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan::cout_total
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp
    functionUses: 0
    functionsReached:
    - Botan::nb_iter
    - Botan::cout_iter
    linkageType: ''
    returnType: double
    signature: double cout_total(size_t n, size_t k, size_t w, size_t p, size_t l)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - n
    - k
    - w
    - p
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: Botan::best_wf
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double best_wf(size_t n, size_t k, size_t w, size_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp:100,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - n
    - t
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: Botan::mceliece_work_factor
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mce_workfactor.cpp
    functionUses: 0
    functionsReached:
    - std::min
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t mceliece_work_factor(size_t n, size_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' pub_matrix'
    - t
    - the_code_length
    argTypes:
    - std::vector<uint8_t>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: Botan::McEliece_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void McEliece_PublicKey(const std::vector<uint8_t>& pub_matrix, size_t
      t, size_t the_code_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - McEliece_PublicKey
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::McEliece_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void McEliece_PublicKey(const McEliece_PublicKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~McEliece_PublicKey() override
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~McEliece_PublicKey() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_key(RandomNumberGenerator&, bool) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::get_t
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t get_t() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan::get_code_length
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t get_code_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::get_public_matrix
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & get_public_matrix() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - McEliece_PublicKey
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: operator!=(const McEliece_PublicKey& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const McEliece_PublicKey& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 119
    functionName: get_H_coeffs
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void get_H_coeffs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: get_Linv
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<gf2m>
    signature: std::vector<gf2m> & get_Linv() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: get_sqrtmod
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<polyn_gf2m>
    signature: std::vector<polyn_gf2m> & get_sqrtmod() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: get_dimension
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t get_dimension() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: get_codimension
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t get_codimension() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - McEliece_PrivateKey
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: operator!=(const McEliece_PrivateKey& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const McEliece_PrivateKey& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::McEliece_PrivateKey::McEliece_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void McEliece_PrivateKey::McEliece_PrivateKey(const McEliece_PrivateKey&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::McEliece_PrivateKey::McEliece_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void McEliece_PrivateKey::McEliece_PrivateKey(McEliece_PrivateKey&&)
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: McEliece_PrivateKey::~McEliece_PrivateKey()
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void McEliece_PrivateKey::~McEliece_PrivateKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_degree
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:39,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:39,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:44,1
    - Dst: ceil_log2
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:44,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:44,1
    - Dst: get_degree
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:44,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' goppa_polyn'
    - ' parity_check_matrix_coeffs'
    - ' square_root_matrix'
    - ' inverse_support'
    - ' public_matrix'
    argTypes:
    - polyn_gf2m
    - std::vector<uint32_t>
    - std::vector<polyn_gf2m>
    - std::vector<gf2m>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: Botan::McEliece_PrivateKey::McEliece_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - ceil_log2
    - get_degree
    - static_cast<size_t>
    - size
    linkageType: ''
    returnType: void
    signature: "void McEliece_PrivateKey::McEliece_PrivateKey(const polyn_gf2m& goppa_polyn,\n
      \                                        const std::vector<uint32_t>& parity_check_matrix_coeffs,\n
      \                                        const std::vector<polyn_gf2m>& square_root_matrix,\n
      \                                        const std::vector<gf2m>& inverse_support,\n
      \                                        const std::vector<uint8_t>& public_matrix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_mceliece_key
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' rng'
    - code_length
    - t
    argTypes:
    - RandomNumberGenerator
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Botan::McEliece_PrivateKey::McEliece_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - generate_mceliece_key
    linkageType: ''
    returnType: void
    signature: void McEliece_PrivateKey::McEliece_PrivateKey(RandomNumberGenerator&
      rng, size_t code_length, size_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& McEliece_PrivateKey::get_goppa_polyn() const'
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: polyn_gf2m
    signature: polyn_gf2m & McEliece_PrivateKey::get_goppa_polyn() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: Botan::McEliece_PublicKey::get_message_word_bit_length
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t McEliece_PublicKey::get_message_word_bit_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: randomize
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:65,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:65,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:65,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: Botan::McEliece_PublicKey::random_plaintext_element
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::size
    - secure_vector::data
    - randomize
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> McEliece_PublicKey::random_plaintext_element(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:77,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Botan::McEliece_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - object_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier McEliece_PublicKey::algorithm_identifier() const
  - 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: Botan::McEliece_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> McEliece_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:86,1
    - Dst: get_code_length
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:89,1
    - Dst: get_t
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: Botan::McEliece_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - get_code_length
    - get_t
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> McEliece_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: Botan::McEliece_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t McEliece_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mceliece_work_factor
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: Botan::McEliece_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - mceliece_work_factor
    linkageType: ''
    returnType: size_t
    signature: size_t McEliece_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: Botan::McEliece_PublicKey::McEliece_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder::start_sequence
    linkageType: ''
    returnType: void
    signature: void McEliece_PublicKey::McEliece_PublicKey(std::span<const uint8_t>
      key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:122,1
    - Dst: get_code_length
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:124,1
    - Dst: get_t
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:125,1
    - Dst: encode
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:128,1
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:129,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:130,1
    - Dst: DER_Encoder::encode
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:131,1
    - Dst: encode
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:131,1
    - Dst: DER_Encoder::end_cons
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:133,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:137,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:137,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:138,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:138,1
    - Dst: DER_Encoder::encode
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:140,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:143,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:143,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:144,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:144,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:145,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:145,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:146,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:146,1
    - Dst: DER_Encoder::encode
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:148,1
    - Dst: DER_Encoder::end_cons
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:149,1
    - Dst: DER_Encoder::get_contents
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 151
    functionName: Botan::McEliece_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 2
    functionsReached:
    - DER_Encoder::start_sequence
    - DER_Encoder::get_contents
    - get_code_length
    - secure_vector::push_back
    - get_byte<0>
    - encode
    - DER_Encoder::encode
    - size
    - DER_Encoder::end_cons
    - get_byte<1>
    - get_t
    - get_byte<3>
    - get_byte<2>
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> McEliece_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::McEliece_PrivateKey::random_plaintext_element
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:154,1
    - Dst: mceliece_encrypt
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:158,1
    - Dst: mceliece_decrypt
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 169
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 169
    functionName: Botan::McEliece_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 1
    functionsReached:
    - mceliece_decrypt
    - Botan::McEliece_PrivateKey::random_plaintext_element
    - mceliece_encrypt
    linkageType: ''
    returnType: bool
    signature: bool McEliece_PrivateKey::check_key(RandomNumberGenerator& rng, bool
      /*unused*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:175,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:184,1
    - Dst: std::make_shared<GF2m_Field>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:193,1
    - Dst: polyn_gf2m
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:194,1
    - Dst: get_degree
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:195,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:195,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:196,1
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:198,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:201,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:202,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:204,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:205,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:207,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:208,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:210,1
    - Dst: polyn_gf2m
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:210,1
    - Dst: BER_Decoder::end_cons
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:213,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:214,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:215,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:217,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:218,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:222,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:225,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:226,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:227,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:229,1
    - Dst: bit_size_to_32bit_size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:229,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:230,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:233,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:235,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 237
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 237
    functionName: Botan::McEliece_PrivateKey::McEliece_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - get_degree
    - secure_vector::push_back
    - secure_vector::size
    - static_cast<int>
    - bit_size_to_32bit_size
    - BER_Decoder::end_cons
    - polyn_gf2m
    - Decoding_Error
    - std::make_shared<GF2m_Field>
    - push_back
    - BER_Decoder::start_sequence
    - BER_Decoder::decode
    linkageType: ''
    returnType: void
    signature: void McEliece_PrivateKey::McEliece_PrivateKey(std::span<const uint8_t>
      key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const McEliece_PublicKey*>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:240,1
    - Dst: static_cast<const McEliece_PublicKey*>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - McEliece_PrivateKey
    constantsTouched: []
    func_position:
      end: 262
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 262
    functionName: McEliece_PrivateKey::operator==(const McEliece_PrivateKey& other)
      const
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const McEliece_PublicKey*>
    linkageType: ''
    returnType: bool
    signature: bool McEliece_PrivateKey::operator==(const McEliece_PrivateKey& other)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<McEliece_PublicKey>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:265,1
    - Dst: get_public_matrix
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:265,1
    - Dst: get_t
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:265,1
    - Dst: get_code_length
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: Botan::McEliece_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - get_code_length
    - get_t
    - std::make_unique<McEliece_PublicKey>
    - get_public_matrix
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> McEliece_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - McEliece_PublicKey
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: McEliece_PublicKey::operator==(const McEliece_PublicKey& other)
      const
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool McEliece_PublicKey::operator==(const McEliece_PublicKey& other)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - kdf
    argTypes:
    - McEliece_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: Botan::MCE_KEM_Encryptor::MCE_KEM_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MCE_KEM_Encryptor(const McEliece_PublicKey& key, std::string_view
      kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: Botan::MCE_KEM_Encryptor::raw_kem_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t raw_kem_shared_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_code_length
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: Botan::MCE_KEM_Encryptor::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - get_code_length
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_plaintext_element
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:300,1
    - Dst: mceliece_encrypt
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:303,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:306,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:306,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:306,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:307,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:307,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:307,1
    - Dst: std::span<uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:307,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:309,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:309,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:309,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:309,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:311,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - out_encapsulated_key
    - raw_shared_key
    - ' rng'
    argTypes:
    - std::span<uint8_t>
    - std::span<uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 313
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 313
    functionName: Botan::MCE_KEM_Encryptor::raw_kem_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::begin
    - BufferStuffer::append
    - BOTAN_ASSERT_NOMSG
    - secure_vector::size
    - random_plaintext_element
    - copy
    - std::span<uint8_t>::size
    - secure_vector::end
    - size
    - std::span<uint8_t>::begin
    - mceliece_encrypt
    linkageType: ''
    returnType: void
    signature: "void raw_kem_encrypt(std::span<uint8_t> out_encapsulated_key,\n                           std::span<uint8_t>
      raw_shared_key,\n                           RandomNumberGenerator& rng) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - kdf
    argTypes:
    - McEliece_PrivateKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 321
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 321
    functionName: Botan::MCE_KEM_Decryptor::MCE_KEM_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MCE_KEM_Decryptor(const McEliece_PrivateKey& key, std::string_view
      kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: Botan::MCE_KEM_Decryptor::raw_kem_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t raw_kem_shared_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_code_length
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: Botan::MCE_KEM_Decryptor::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - get_code_length
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mceliece_decrypt
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:334,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:334,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:334,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:337,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:337,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:337,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:337,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:339,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out_shared_key
    - encapsulated_key
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: Botan::MCE_KEM_Decryptor::raw_kem_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::append
    - BOTAN_ASSERT_NOMSG
    - secure_vector::size
    - std::span<uint8_t>::size
    - mceliece_decrypt
    - size
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void raw_kem_decrypt(std::span<uint8_t> out_shared_key, std::span<const
      uint8_t> encapsulated_key) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<McEliece_PrivateKey>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:349,1
    - Dst: get_code_length
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:349,1
    - Dst: get_t
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: Botan::McEliece_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - get_code_length
    - std::make_unique<McEliece_PrivateKey>
    - get_t
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> McEliece_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:354,1
    - Dst: std::make_unique<MCE_KEM_Encryptor>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:355,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:357,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: Botan::McEliece_PublicKey::create_kem_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - Provider_Not_Found
    - std::make_unique<MCE_KEM_Encryptor>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Encryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Encryption> McEliece_PublicKey::create_kem_encryption_op(std::string_view
      params,\n                                                                                     std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:363,1
    - Dst: std::make_unique<MCE_KEM_Decryptor>
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:364,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:366,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 367
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 367
    functionName: Botan::McEliece_PrivateKey::create_kem_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/mce/mceliece_key.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MCE_KEM_Decryptor>
    - algo_name
    - std::string_view::empty
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Decryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Decryption> McEliece_PrivateKey::create_kem_decryption_op(RandomNumberGenerator&
      /*rng*/,\n                                                                                      std::string_view
      params,\n                                                                                      std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - gf2m
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Botan::generate_gf2m_mask
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gf2m
    signature: gf2m generate_gf2m_mask(gf2m a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 55
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 55
    functionName: Botan::nlz_16bit
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned nlz_16bit(uint16_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expand_mask_16bit
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:64,1
    - Dst: const_cast<polyn_gf2m*>
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: Botan::polyn_gf2m::calc_degree_secure
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - expand_mask_16bit
    - const_cast<polyn_gf2m*>
    linkageType: ''
    returnType: int
    signature: int polyn_gf2m::calc_degree_secure() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::randomize
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:76,1
    - Dst: Botan::make_uint16
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: Botan::random_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 1
    functionsReached:
    - Botan::randomize
    - Botan::make_uint16
    linkageType: ''
    returnType: gf2m
    signature: gf2m random_gf2m(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:82,1
    - Dst: Botan::random_gf2m
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - code_length
    - ' rng'
    argTypes:
    - uint16_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: Botan::random_code_element
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 1
    functionsReached:
    - Invalid_Argument
    - Botan::random_gf2m
    linkageType: ''
    returnType: gf2m
    signature: gf2m random_code_element(uint16_t code_length, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan::polyn_gf2m::polyn_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::polyn_gf2m(const polyn_gf2m& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - d
    - ' sp_field'
    argTypes:
    - int
    - std::shared_ptr<GF2m_Field>
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: Botan::polyn_gf2m::polyn_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::polyn_gf2m(int d, const std::shared_ptr<GF2m_Field>&
      sp_field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_vector<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: Botan::polyn_gf2m::realloc
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - secure_vector<gf2m>
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::realloc(uint32_t new_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:112,1
    - Dst: secure_vector<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:116,1
    - Dst: decode_gf2m
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:119,1
    - Dst: get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:123,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:124,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - mem
    - mem_len
    - ' sp_field'
    argTypes:
    - uint8_t*
    - uint32_t
    - std::shared_ptr<GF2m_Field>
    constantsTouched: []
    func_position:
      end: 128
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 128
    functionName: Botan::polyn_gf2m::polyn_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - get_extension_degree
    - decode_gf2m
    - Decoding_Error
    - Botan::polyn_gf2m::get_degree
    - secure_vector<gf2m>
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::polyn_gf2m(const uint8_t* mem, uint32_t mem_len, const
      std::shared_ptr<GF2m_Field>& sp_field)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' sp_field'
    argTypes:
    - std::shared_ptr<GF2m_Field>
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan::polyn_gf2m::polyn_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::polyn_gf2m(const std::shared_ptr<GF2m_Field>& sp_field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:141,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:142,1
    - Dst: secure_vector<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:144,1
    - Dst: static_cast<gf2m>
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:145,1
    - Dst: Botan::polyn_gf2m::m_sp_field::get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:145,1
    - Dst: Botan::polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:158,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - degree
    - mem
    - mem_byte_len
    - ' sp_field'
    argTypes:
    - int
    - uint8_t*
    - size_t
    - std::shared_ptr<GF2m_Field>
    constantsTouched: []
    func_position:
      end: 162
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 162
    functionName: Botan::polyn_gf2m::polyn_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - Botan::polyn_gf2m::set_coef
    - Botan::polyn_gf2m::m_sp_field::get_extension_degree
    - get_extension_degree
    - Decoding_Error
    - Botan::polyn_gf2m::get_degree
    - static_cast<gf2m>
    - secure_vector<gf2m>
    linkageType: ''
    returnType: void
    signature: "void polyn_gf2m::polyn_gf2m(int degree,\n                       const
      uint8_t* mem,\n                       size_t mem_byte_len,\n                       const
      std::shared_ptr<GF2m_Field>& sp_field)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_mem
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:165,1
    - Dst: Botan::polyn_gf2m::m_coeff::size
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: Botan::polyn_gf2m::set_to_zero
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - Botan::polyn_gf2m::m_coeff::size
    - clear_mem
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::set_to_zero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<polyn_gf2m*>
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: Botan::polyn_gf2m::get_degree
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 2
    functionsReached:
    - const_cast<polyn_gf2m*>
    linkageType: ''
    returnType: int
    signature: int polyn_gf2m::get_degree() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::gf_mul
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - coeff
    - a
    - d
    - ' sp_field'
    argTypes:
    - gf2m*
    - gf2m
    - int
    - std::shared_ptr<GF2m_Field>
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 191
    functionName: Botan::eval_aux
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - Botan::gf_mul
    linkageType: ''
    returnType: gf2m
    signature: gf2m eval_aux(const gf2m* /*restrict*/ coeff, gf2m a, int d, const
      std::shared_ptr<GF2m_Field>& sp_field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eval_aux
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - gf2m
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: Botan::polyn_gf2m::eval
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - eval_aux
    linkageType: ''
    returnType: gf2m
    signature: gf2m polyn_gf2m::eval(gf2m a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:203,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:203,1
    - Dst: std::shared_ptr::gf_inv_rn
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:205,1
    - Dst: Botan::polyn_gf2m::get_lead_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:205,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:209,1
    - Dst: std::shared_ptr::gf_mul_rrn
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:213,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:214,1
    - Dst: std::shared_ptr::gf_mul_zrz
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:215,1
    - Dst: Botan::polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:217,1
    - Dst: Botan::polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:220,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:220,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:221,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:221,1
    - Dst: Botan::polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:222,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:222,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - ' p'
    - ' g'
    argTypes:
    - polyn_gf2m
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 225
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 225
    functionName: Botan::polyn_gf2m::remainder
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::gf_inv_rn
    - std::shared_ptr::gf_mul_zrz
    - Botan::polyn_gf2m::get_lead_coef
    - Botan::polyn_gf2m::set_coef
    - Botan::polyn_gf2m::get_degree
    - std::shared_ptr::gf_mul_rrn
    - BOTAN_ASSERT
    - Botan::polyn_gf2m::set_degree
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::remainder(polyn_gf2m& p, const polyn_gf2m& g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:231,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:239,1
    - Dst: Botan::polyn_gf2m::polyn_gf2m
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:239,1
    - Dst: Botan::polyn_gf2m::get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:239,1
    - Dst: Botan::polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:242,1
    - Dst: Botan::polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:243,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:247,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:248,1
    - Dst: Botan::polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:249,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:249,1
    - Dst: Botan::polyn_gf2m::remainder
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 253
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 253
    functionName: Botan::polyn_gf2m::sqmod_init
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - Botan::polyn_gf2m::remainder
    - clear_mem
    - Botan::polyn_gf2m::set_coef
    - Botan::polyn_gf2m::polyn_gf2m
    - copy_mem
    - std::vector::push_back
    - Botan::polyn_gf2m::get_degree
    - Botan::polyn_gf2m::get_sp_field
    - Invalid_Argument
    - Botan::polyn_gf2m::set_degree
    linkageType: ''
    returnType: std::vector<polyn_gf2m>
    signature: std::vector<polyn_gf2m> polyn_gf2m::sqmod_init(const polyn_gf2m& g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:266,1
    - Dst: std::shared_ptr::gf_square
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:266,1
    - Dst: std::shared_ptr::gf_log
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:273,1
    - Dst: std::shared_ptr::gf_mul_rrr
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:274,1
    - Dst: std::shared_ptr::gf_mul_zrz
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:276,1
    - Dst: polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:282,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:283,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:283,1
    - Dst: polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:284,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ' sq'
    - d
    argTypes:
    - std::vector<polyn_gf2m>
    - int
    constantsTouched: []
    func_position:
      end: 287
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 287
    functionName: Botan::polyn_gf2m::sqmod
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::gf_mul_zrz
    - std::shared_ptr::gf_mul_rrr
    - Botan::polyn_gf2m::set_coef
    - polyn_gf2m::set_degree
    - std::shared_ptr::gf_square
    - std::shared_ptr::gf_log
    - polyn_gf2m::get_degree
    linkageType: ''
    returnType: polyn_gf2m
    signature: polyn_gf2m polyn_gf2m::sqmod(const std::vector<polyn_gf2m>& sq, int
      d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:291,1
    - Dst: Botan::polyn_gf2m::remainder
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:294,1
    - Dst: Botan::polyn_gf2m::gcd_aux
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' p1'
    - ' p2'
    argTypes:
    - polyn_gf2m
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 297
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 297
    functionName: Botan::polyn_gf2m::gcd_aux
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 1
    functionsReached:
    - Botan::polyn_gf2m::gcd_aux
    - Botan::polyn_gf2m::remainder
    - Botan::polyn_gf2m::get_degree
    linkageType: ''
    returnType: polyn_gf2m
    signature: polyn_gf2m polyn_gf2m::gcd_aux(polyn_gf2m& p1, polyn_gf2m& p2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:302,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:302,1
    - Dst: Botan::polyn_gf2m::polyn_gf2m
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:303,1
    - Dst: Botan::polyn_gf2m::gcd_aux
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:303,1
    - Dst: Botan::polyn_gf2m::polyn_gf2m
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:305,1
    - Dst: Botan::polyn_gf2m::gcd_aux
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' p1'
    - ' p2'
    argTypes:
    - polyn_gf2m
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: Botan::polyn_gf2m::gcd
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - Botan::polyn_gf2m::polyn_gf2m
    - polyn_gf2m::get_degree
    - Botan::polyn_gf2m::gcd_aux
    linkageType: ''
    returnType: polyn_gf2m
    signature: polyn_gf2m polyn_gf2m::gcd(const polyn_gf2m& p1, const polyn_gf2m&
      p2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::polyn_gf2m::get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:311,1
    - Dst: Botan::polyn_gf2m::sqmod_init
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:315,1
    - Dst: polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:319,1
    - Dst: Botan::polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:320,1
    - Dst: polyn_gf2m::sqmod
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:323,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:326,1
    - Dst: Botan::polyn_gf2m::gcd
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:327,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:329,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 343
      start: 310
    functionDepth: 4
    functionLinenumber: 310
    functionLinenumberEnd: 343
    functionName: Botan::polyn_gf2m::degppf
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - Botan::polyn_gf2m::set_coef
    - Botan::polyn_gf2m::sqmod_init
    - polyn_gf2m::sqmod
    - polyn_gf2m::set_degree
    - Botan::polyn_gf2m::get_sp_field
    - polyn_gf2m::get_degree
    - Botan::polyn_gf2m::gcd
    linkageType: ''
    returnType: size_t
    signature: size_t polyn_gf2m::degppf(const polyn_gf2m& g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::polyn_gf2m::m_coeff::size
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:347,1
    - Dst: Botan::polyn_gf2m::m_coeff::size
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:350,1
    - Dst: expand_mask_16bit
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:354,1
    - Dst: Botan::polyn_gf2m::calc_degree_secure
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - trgt_deg
    - patch_elem
    argTypes:
    - uint32_t
    - gf2m
    constantsTouched: []
    func_position:
      end: 358
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 358
    functionName: Botan::polyn_gf2m::patchup_deg_secure
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - Botan::polyn_gf2m::calc_degree_secure
    - expand_mask_16bit
    - Botan::polyn_gf2m::m_coeff::size
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::patchup_deg_secure(uint32_t trgt_deg, gf2m patch_elem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:372,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:374,1
    - Dst: polyn_gf2m::set_to_zero
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:383,1
    - Dst: polyn_gf2m::set_to_zero
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:384,1
    - Dst: Botan::polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:385,1
    - Dst: polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:386,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:395,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:396,1
    - Dst: std::shared_ptr::gf_div
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:400,1
    - Dst: std::shared_ptr::gf_log
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:402,1
    - Dst: std::shared_ptr::gf_mul_zrz
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:405,1
    - Dst: std::shared_ptr::gf_mul_zrz
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:409,1
    - Dst: polyn_gf2m::calc_degree_secure
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:423,1
    - Dst: polyn_gf2m::calc_degree_secure
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:424,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:425,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:427,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:430,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:431,1
    - Dst: generate_gf2m_mask
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:435,1
    - Dst: polyn_gf2m::patchup_deg_secure
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:437,1
    - Dst: polyn_gf2m::calc_degree_secure
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:443,1
    - Dst: polyn_gf2m::calc_degree_secure
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:444,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:460,1
    - Dst: expand_mask_16bit
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:483,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:486,1
    - Dst: expand_mask_16bit
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:495,1
    - Dst: polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:498,1
    - Dst: expand_mask_16bit
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:509,1
    - Dst: polyn_gf2m::patchup_deg_secure
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:513,1
    - Dst: polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:532,1
    - Dst: polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:533,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:535,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 76
    argCount: 3
    argNames:
    - ' p'
    - ' g'
    - break_deg
    argTypes:
    - polyn_gf2m
    - polyn_gf2m
    - int
    constantsTouched: []
    func_position:
      end: 536
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 536
    functionName: Botan::polyn_gf2m::eea_with_coefficients
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 1
    functionsReached:
    - std::shared_ptr::gf_mul_zrz
    - std::make_pair
    - Botan::polyn_gf2m::set_coef
    - polyn_gf2m::patchup_deg_secure
    - generate_gf2m_mask
    - polyn_gf2m::set_degree
    - polyn_gf2m::set_to_zero
    - Botan::polyn_gf2m::get_degree
    - std::shared_ptr::gf_div
    - expand_mask_16bit
    - BOTAN_ASSERT
    - std::shared_ptr::gf_log
    - polyn_gf2m::get_degree
    - polyn_gf2m::calc_degree_secure
    linkageType: ''
    returnType: std::pair<polyn_gf2m, polyn_gf2m>
    signature: "std::pair<polyn_gf2m, polyn_gf2m> polyn_gf2m::eea_with_coefficients(const
      polyn_gf2m& p,\n                                                                    const
      polyn_gf2m& g,\n                                                                    int
      break_deg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:539,1
    - Dst: Botan::polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:540,1
    - Dst: Botan::polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:543,1
    - Dst: random_code_element
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:543,1
    - Dst: get_cardinality
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - t
    - ' rng'
    - ' sp_field'
    argTypes:
    - size_t
    - RandomNumberGenerator
    - std::shared_ptr<GF2m_Field>
    constantsTouched: []
    func_position:
      end: 552
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 552
    functionName: Botan::polyn_gf2m::polyn_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 2
    functionsReached:
    - Botan::polyn_gf2m::set_coef
    - static_cast<int>
    - get_cardinality
    - random_code_element
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::polyn_gf2m(size_t t, RandomNumberGenerator& rng, const
      std::shared_ptr<GF2m_Field>& sp_field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:555,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:556,1
    - Dst: std::shared_ptr::gf_div
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:561,1
    - Dst: Botan::polyn_gf2m::m_sp_field::gf_mul
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:563,1
    - Dst: std::shared_ptr::gf_mul
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 566
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 566
    functionName: Botan::polyn_gf2m::poly_shiftmod
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - Botan::polyn_gf2m::m_sp_field::gf_mul
    - std::shared_ptr::gf_mul
    - std::shared_ptr::gf_div
    - Botan::polyn_gf2m::get_degree
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::poly_shiftmod(const polyn_gf2m& g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:573,1
    - Dst: Botan::polyn_gf2m::sqmod_init
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:576,1
    - Dst: Botan::polyn_gf2m::get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:578,1
    - Dst: polyn_gf2m::set_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:579,1
    - Dst: Botan::polyn_gf2m::set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:581,1
    - Dst: std::shared_ptr::get_extension_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:583,1
    - Dst: polyn_gf2m::sqmod
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:585,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:594,1
    - Dst: Botan::polyn_gf2m::polyn_gf2m
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:594,1
    - Dst: Botan::polyn_gf2m::get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:594,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:598,1
    - Dst: Botan::polyn_gf2m::poly_shiftmod
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:601,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 606
      start: 568
    functionDepth: 3
    functionLinenumber: 568
    functionLinenumberEnd: 606
    functionName: Botan::polyn_gf2m::sqrt_mod_init
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 1
    functionsReached:
    - std::shared_ptr::get_extension_degree
    - Botan::polyn_gf2m::set_coef
    - Botan::polyn_gf2m::sqmod_init
    - polyn_gf2m::sqmod
    - Botan::polyn_gf2m::polyn_gf2m
    - polyn_gf2m::set_degree
    - std::vector::push_back
    - Botan::polyn_gf2m::get_degree
    - Botan::polyn_gf2m::get_sp_field
    - Botan::polyn_gf2m::poly_shiftmod
    linkageType: ''
    returnType: std::vector<polyn_gf2m>
    signature: std::vector<polyn_gf2m> polyn_gf2m::sqrt_mod_init(const polyn_gf2m&
      g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_sp_field
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:612,1
    - Dst: get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:615,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:621,1
    - Dst: polyn_gf2m
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:621,1
    - Dst: set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:623,1
    - Dst: set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:625,1
    - Dst: std::shared_ptr::gf_mul
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:625,1
    - Dst: Botan::lex_to_gray
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:625,1
    - Dst: std::shared_ptr::gf_mul
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:627,1
    - Dst: Botan::lex_to_gray
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:627,1
    - Dst: set_coef
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:629,1
    - Dst: std::shared_ptr::gf_div
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ' generator'
    - ' support'
    - n
    argTypes:
    - polyn_gf2m
    - std::vector<gf2m>
    - int
    constantsTouched: []
    func_position:
      end: 633
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 633
    functionName: Botan::syndrome_init
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 1
    functionsReached:
    - get_degree
    - Botan::lex_to_gray
    - std::vector::push_back
    - polyn_gf2m
    - std::shared_ptr::gf_mul
    - std::shared_ptr::gf_div
    - get_sp_field
    - set_coef
    linkageType: ''
    returnType: std::vector<polyn_gf2m>
    signature: std::vector<polyn_gf2m> syndrome_init(const polyn_gf2m& generator,
      const std::vector<gf2m>& support, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:637,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:638,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:640,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:642,1
    - Dst: Botan::polyn_gf2m::get_degree
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' encoded'
    - ' sp_field'
    argTypes:
    - secure_vector<uint8_t>
    - std::shared_ptr<GF2m_Field>
    constantsTouched: []
    func_position:
      end: 645
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 645
    functionName: Botan::polyn_gf2m::polyn_gf2m
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 3
    functionsReached:
    - Decoding_Error
    - push_back
    - Botan::polyn_gf2m::get_degree
    - size
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::polyn_gf2m(const secure_vector<uint8_t>& encoded,
      const std::shared_ptr<GF2m_Field>& sp_field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:651,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:652,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:659,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:659,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:660,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 663
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 663
    functionName: Botan::polyn_gf2m::encode
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached:
    - get_byte<0>
    - get_byte<1>
    - secure_vector::push_back
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> polyn_gf2m::encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:666,1
    - Dst: std::swap
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:667,1
    - Dst: std::swap
      Src: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 669
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 669
    functionName: Botan::polyn_gf2m::swap
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 1
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: void polyn_gf2m::swap(polyn_gf2m& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - polyn_gf2m
    constantsTouched: []
    func_position:
      end: 676
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 676
    functionName: polyn_gf2m::operator==(const polyn_gf2m& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/mce/polyn_gf2m.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool polyn_gf2m::operator==(const polyn_gf2m& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' public_point'
    argTypes:
    - EC_Group
    - EC_Point
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::ECDSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_PublicKey(const EC_Group& group, const EC_Point& public_point)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: Botan::ECDSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_PublicKey(const AlgorithmIdentifier& alg_id, std::span<const
      uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::domain
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: Botan::_signature_element_size_for_DER_encoding
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.h
    functionUses: 0
    functionsReached:
    - Botan::domain
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> _signature_element_size_for_DER_encoding() const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rng'
    - group
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: ECDSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECDSA_PrivateKey(RandomNumberGenerator& rng, EC_Group group)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' rng'
    - ' group'
    - ' x'
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: ECDSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_PrivateKey(RandomNumberGenerator& rng, const EC_Group& group,
      const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_cofactor
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:26,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:27,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:31,1
    - Dst: get_order
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:34,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:37,1
    - Dst: BigInt::bytes
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:50,1
    - Dst: BigInt::serialize_to
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:54,1
    - Dst: subspan
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:54,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:56,1
    - Dst: Botan::EC_Scalar::from_bytes_with_trunc
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:58,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:59,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:61,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:63,1
    - Dst: EC_Group::Mul2Table::mul2_vartime
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:64,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:65,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:70,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 5
    argNames:
    - ' group'
    - ' msg'
    - ' r'
    - ' s'
    - v
    argTypes:
    - EC_Group
    - std::vector<uint8_t>
    - BigInt
    - BigInt
    - uint8_t
    constantsTouched: []
    func_position:
      end: 71
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 71
    functionName: Botan::recover_ecdsa_public_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - has_cofactor
    - EC_Group::Mul2Table::mul2_vartime
    - Botan::EC_Scalar::from_bytes_with_trunc
    - Botan::Decoding_Error
    - auto::value
    - Botan::EC_Scalar::from_bigint
    - get_order
    - Botan::EC_AffinePoint::deserialize
    - subspan
    - BigInt::bytes
    - Invalid_Argument
    - BigInt::serialize_to
    linkageType: ''
    returnType: EC_AffinePoint
    signature: "EC_AffinePoint recover_ecdsa_public_key(\n   const EC_Group& group,
      const std::vector<uint8_t>& msg, const BigInt& r, const BigInt& s, uint8_t v)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recover_ecdsa_public_key
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' group'
    - ' msg'
    - ' r'
    - ' s'
    - v
    argTypes:
    - EC_Group
    - std::vector<uint8_t>
    - BigInt
    - BigInt
    - uint8_t
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: Botan::ECDSA_PublicKey::ECDSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - recover_ecdsa_public_key
    linkageType: ''
    returnType: void
    signature: "void ECDSA_PublicKey::ECDSA_PublicKey(\n   const EC_Group& group,
      const std::vector<uint8_t>& msg, const BigInt& r, const BigInt& s, uint8_t v)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECDSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:80,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: Botan::ECDSA_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - std::make_unique<ECDSA_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> ECDSA_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ECDSA_PublicKey::_public_ec_point
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:84,1
    - Dst: recover_ecdsa_public_key
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:88,1
    - Dst: Botan::ECDSA_PublicKey::domain
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:88,1
    - Dst: auto::serialize_compressed
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:90,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' msg'
    - ' r'
    - ' s'
    argTypes:
    - std::vector<uint8_t>
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: Botan::ECDSA_PublicKey::recovery_param
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - recover_ecdsa_public_key
    - Botan::ECDSA_PublicKey::domain
    - auto::serialize_compressed
    - Botan::ECDSA_PublicKey::_public_ec_point
    - Internal_Error
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ECDSA_PublicKey::recovery_param(const std::vector<uint8_t>&
      msg, const BigInt& r, const BigInt& s) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECDSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:102,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:102,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: Botan::ECDSA_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<ECDSA_PublicKey>
    - domain
    - _public_ec_point
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> ECDSA_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PrivateKey::check_key
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:106,1
    - Dst: Botan::KeyPair::signature_consistency_check
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: Botan::ECDSA_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::KeyPair::signature_consistency_check
    - Botan::EC_PrivateKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool ECDSA_PrivateKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:126,1
    - Dst: _private_key
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:127,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:128,1
    - Dst: invert
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:129,1
    - Dst: std::make_unique<RFC6979_Nonce_Generator>
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:131,1
    - Dst: Botan::ECDSA_Signature_Operation::rfc6979_hash_function
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:132,1
    - Dst: get_order_bits
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:132,1
    - Dst: _private_key
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ecdsa'
    - padding
    - ' rng'
    argTypes:
    - ECDSA_PrivateKey
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: Botan::ECDSA_Signature_Operation::ECDSA_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RFC6979_Nonce_Generator>
    - invert
    - get_order_bits
    - Botan::ECDSA_Signature_Operation::rfc6979_hash_function
    - domain
    - _private_key
    - Botan::EC_Scalar::random
    linkageType: ''
    returnType: void
    signature: void ECDSA_Signature_Operation(const ECDSA_PrivateKey& ecdsa, std::string_view
      padding, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_order_bytes
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: Botan::ECDSA_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - get_order_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_function
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:155,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:156,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: Botan::ECDSA_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - hash_function
    - AlgorithmIdentifier
    - Botan::OID::from_string
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier ECDSA_Signature_Operation::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::from_bytes_with_trunc
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:161,1
    - Dst: nonce_for
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:164,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:166,1
    - Dst: Botan::EC_Scalar::gk_x_mod_order
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:169,1
    - Dst: invert
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:172,1
    - Dst: square_self
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:177,1
    - Dst: square_self
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:178,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:185,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:185,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:186,1
    - Dst: Botan::EC_Scalar::deserialize_pair
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 190
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 190
    functionName: Botan::ECDSA_Signature_Operation::raw_sign
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar::deserialize_pair
    - Botan::EC_Scalar::from_bytes_with_trunc
    - square_self
    - invert
    - nonce_for
    - Botan::EC_Scalar::gk_x_mod_order
    - auto::is_zero
    - Botan::EC_Scalar::random
    - Internal_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ECDSA_Signature_Operation::raw_sign(std::span<const
      uint8_t> msg, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:198,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ecdsa'
    - padding
    argTypes:
    - ECDSA_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: Botan::ECDSA_Verification_Operation::ECDSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _public_ec_point
    linkageType: ''
    returnType: void
    signature: void ECDSA_Verification_Operation(const ECDSA_PublicKey& ecdsa, std::string_view
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:202,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ecdsa'
    - ' alg_id'
    argTypes:
    - ECDSA_PublicKey
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: Botan::ECDSA_Verification_Operation::ECDSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _public_ec_point
    linkageType: ''
    returnType: void
    signature: void ECDSA_Verification_Operation(const ECDSA_PublicKey& ecdsa, const
      AlgorithmIdentifier& alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::deserialize_pair
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:213,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:214,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:216,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:216,1
    - Dst: Botan::EC_Scalar::from_bytes_with_trunc
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:217,1
    - Dst: invert_vartime
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:219,1
    - Dst: mul2_vartime_x_mod_order_eq
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - sig
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 227
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 227
    functionName: Botan::ECDSA_Verification_Operation::verify
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar::deserialize_pair
    - Botan::EC_Scalar::from_bytes_with_trunc
    - auto::value
    - is_nonzero
    - mul2_vartime_x_mod_order_eq
    - invert_vartime
    linkageType: ''
    returnType: bool
    signature: bool ECDSA_Verification_Operation::verify(std::span<const uint8_t>
      msg, std::span<const uint8_t> sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:233,1
    - Dst: std::make_unique<ECDSA_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:234,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:237,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: Botan::ECDSA_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ECDSA_Verification_Operation>
    - algo_name
    - std::string_view::empty
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> ECDSA_PublicKey::create_verification_op(std::string_view
      params,\n                                                                              std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:242,1
    - Dst: std::make_unique<ECDSA_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:243,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:246,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' signature_algorithm'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: Botan::ECDSA_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ECDSA_Verification_Operation>
    - algo_name
    - std::string_view::empty
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> ECDSA_PublicKey::create_x509_verification_op(\n
      \  const AlgorithmIdentifier& signature_algorithm, std::string_view provider)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:252,1
    - Dst: std::make_unique<ECDSA_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:253,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:256,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 257
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 257
    functionName: Botan::ECDSA_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/ecdsa/ecdsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::make_unique<ECDSA_Signature_Operation>
    - std::string_view::empty
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> ECDSA_PrivateKey::create_signature_op(RandomNumberGenerator&
      rng,\n                                                                         std::string_view
      params,\n                                                                         std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::DSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_PublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dsa/dsa.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::shared_ptr<const DL_PublicKey>
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::DSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DSA_PublicKey(std::shared_ptr<const DL_PublicKey> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::DSA_PublicKey::_signature_element_size_for_DER_encoding
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - group
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> DSA_PublicKey::_signature_element_size_for_DER_encoding()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DSA_PublicKey::estimated_strength
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: Botan::DSA_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::DSA_PublicKey::estimated_strength
    linkageType: ''
    returnType: size_t
    signature: size_t DSA_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p_bits
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Botan::DSA_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - p_bits
    linkageType: ''
    returnType: size_t
    signature: size_t DSA_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_int_field
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:36,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '& DSA_PublicKey::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - get_int_field
    linkageType: ''
    returnType: BigInt
    signature: BigInt & DSA_PublicKey::get_int_field(std::string_view field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:40,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:40,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::DSA_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - group
    - AlgorithmIdentifier
    - object_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier DSA_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key_as_bytes
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::DSA_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - public_key_as_bytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DSA_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_encode
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::DSA_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - DER_encode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DSA_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DSA_PublicKey::check_key
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::DSA_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::DSA_PublicKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool DSA_PublicKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:56,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan::DSA_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - group
    - std::make_unique<DSA_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> DSA_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PublicKey>
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:60,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:62,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: Botan::DSA_PublicKey::DSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<DL_PublicKey>
    - group
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void DSA_PublicKey::DSA_PublicKey(const AlgorithmIdentifier& alg_id,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PublicKey>
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:66,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:68,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' group'
    - ' y'
    argTypes:
    - DL_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: Botan::DSA_PublicKey::DSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<DL_PublicKey>
    - group
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void DSA_PublicKey::DSA_PublicKey(const DL_Group& group, const BigInt&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:72,1
    - Dst: has_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:72,1
    - Dst: std::make_shared<DL_PrivateKey>
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:74,1
    - Dst: Botan::DSA_PrivateKey::public_key
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' rng'
    - ' group'
    argTypes:
    - RandomNumberGenerator
    - DL_Group
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: Botan::DSA_PrivateKey::DSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - has_q
    - Botan::DSA_PrivateKey::public_key
    - std::make_shared<DL_PrivateKey>
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void DSA_PrivateKey::DSA_PrivateKey(RandomNumberGenerator& rng, const
      DL_Group& group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:79,1
    - Dst: has_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:79,1
    - Dst: std::make_shared<DL_PrivateKey>
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:81,1
    - Dst: Botan::DSA_PrivateKey::public_key
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' group'
    - ' x'
    argTypes:
    - DL_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: Botan::DSA_PrivateKey::DSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - has_q
    - Botan::DSA_PrivateKey::public_key
    - std::make_shared<DL_PrivateKey>
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void DSA_PrivateKey::DSA_PrivateKey(const DL_Group& group, const BigInt&
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PrivateKey>
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:86,1
    - Dst: Botan::DSA_PrivateKey::public_key
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:87,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:89,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: Botan::DSA_PrivateKey::DSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - group
    - std::make_shared<DL_PrivateKey>
    - Botan::DSA_PrivateKey::public_key
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void DSA_PrivateKey::DSA_PrivateKey(const AlgorithmIdentifier& alg_id,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DSA_PrivateKey::check_key
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:93,1
    - Dst: private_key
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:97,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:97,1
    - Dst: Botan::KeyPair::signature_consistency_check
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: Botan::DSA_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 1
    functionsReached:
    - group
    - Botan::KeyPair::signature_consistency_check
    - Botan::DSA_PrivateKey::check_key
    - private_key
    linkageType: ''
    returnType: bool
    signature: bool DSA_PrivateKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_encode
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: Botan::DSA_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - DER_encode
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> DSA_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DSA_PrivateKey::raw_private_key_bits
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Botan::DSA_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::DSA_PrivateKey::raw_private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> DSA_PrivateKey::raw_private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_int_field
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:113,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: '& DSA_PrivateKey::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - get_int_field
    linkageType: ''
    returnType: BigInt
    signature: BigInt & DSA_PrivateKey::get_int_field(std::string_view field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<DSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:118,1
    - Dst: DSA_PublicKey::DSA_PublicKey
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: Botan::DSA_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 4
    functionsReached:
    - DSA_PublicKey::DSA_PublicKey
    - std::unique_ptr<DSA_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> DSA_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:132,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:132,1
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' key'
    - emsa
    - ' rng'
    argTypes:
    - std::shared_ptr<const DL_PrivateKey>
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: Botan::DSA_Signature_Operation::DSA_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - group
    - Botan::BigInt::random_integer
    linkageType: ''
    returnType: void
    signature: "void DSA_Signature_Operation(const std::shared_ptr<const DL_PrivateKey>&
      key,\n                              std::string_view emsa,\n                              RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: Botan::DSA_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - group
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_function
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:148,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:149,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: Botan::DSA_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - hash_function
    - AlgorithmIdentifier
    - Botan::OID::from_string
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier DSA_Signature_Operation::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:154,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:155,1
    - Dst: Botan::BigInt::from_bytes_with_max_bits
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:157,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:157,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:157,1
    - Dst: q_bits
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:157,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:164,1
    - Dst: generate_rfc6979_nonce
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:165,1
    - Dst: private_key
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:165,1
    - Dst: Botan::DSA_Signature_Operation::rfc6979_hash_function
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:165,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:167,1
    - Dst: multiply_mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:170,1
    - Dst: inverse_mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:170,1
    - Dst: mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:170,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:181,1
    - Dst: power_g_p
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:181,1
    - Dst: q_bits
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:181,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:181,1
    - Dst: square_mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:186,1
    - Dst: square_mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:187,1
    - Dst: multiply_mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:189,1
    - Dst: multiply_mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:190,1
    - Dst: private_key
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:190,1
    - Dst: multiply_mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:192,1
    - Dst: mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:192,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:195,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:195,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:196,1
    - Dst: unlock
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:199,1
    - Dst: Botan::BigInt::encode_fixed_length_int_pair
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:199,1
    - Dst: bytes
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - msg
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 200
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 200
    functionName: Botan::DSA_Signature_Operation::raw_sign
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - power_g_p
    - Botan::DSA_Signature_Operation::rfc6979_hash_function
    - group
    - BOTAN_UNUSED
    - q_bits
    - private_key
    - mod_q
    - Botan::BigInt::encode_fixed_length_int_pair
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - Internal_Error
    - Botan::BigInt::from_bytes_with_max_bits
    - inverse_mod_q
    - Botan::BigInt::random_integer
    - square_mod_q
    - generate_rfc6979_nonce
    - get_q
    - multiply_mod_q
    - ct_modulo
    - bytes
    - BigInt::is_zero
    - unlock
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DSA_Signature_Operation::raw_sign(std::span<const
      uint8_t> msg, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - emsa
    argTypes:
    - std::shared_ptr<const DL_PublicKey>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: Botan::DSA_Verification_Operation::DSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_Verification_Operation(const std::shared_ptr<const DL_PublicKey>&
      key, std::string_view emsa)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - ' alg_id'
    argTypes:
    - std::shared_ptr<const DL_PublicKey>
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: Botan::DSA_Verification_Operation::DSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_Verification_Operation(const std::shared_ptr<const DL_PublicKey>&
      key, const AlgorithmIdentifier& alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:220,1
    - Dst: auto::get_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:222,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:225,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:229,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:230,1
    - Dst: Botan::BigInt::from_bytes_with_max_bits
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:236,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:236,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:236,1
    - Dst: auto::q_bits
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:236,1
    - Dst: auto::inverse_mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:241,1
    - Dst: auto::multiply_mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:243,1
    - Dst: auto::multiply_mod_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:244,1
    - Dst: auto::multi_exponentiate
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:246,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:246,1
    - Dst: auto::get_q
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - input
    - sig
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 250
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 250
    functionName: Botan::DSA_Verification_Operation::verify
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - auto::multiply_mod_q
    - Botan::BigInt::from_bytes_with_max_bits
    - auto::q_bits
    - auto::get_q
    - group
    - std::span<const uint8_t>::last
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::first
    - public_key
    - auto::multi_exponentiate
    - auto::inverse_mod_q
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: bool
    signature: bool DSA_Verification_Operation::verify(std::span<const uint8_t> input,
      std::span<const uint8_t> sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:256,1
    - Dst: std::make_unique<DSA_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:257,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:259,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: Botan::DSA_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - std::make_unique<DSA_Verification_Operation>
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> DSA_PublicKey::create_verification_op(std::string_view
      params,\n                                                                            std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:264,1
    - Dst: std::make_unique<DSA_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:265,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:268,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' signature_algorithm'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: Botan::DSA_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - std::make_unique<DSA_Verification_Operation>
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> DSA_PublicKey::create_x509_verification_op(\n
      \  const AlgorithmIdentifier& signature_algorithm, std::string_view provider)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:274,1
    - Dst: std::make_unique<DSA_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:275,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:277,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/dsa/dsa.cpp:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: Botan::DSA_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/dsa/dsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - std::make_unique<DSA_Signature_Operation>
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> DSA_PrivateKey::create_signature_op(RandomNumberGenerator&
      rng,\n                                                                       std::string_view
      params,\n                                                                       std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: Botan::decode_single_bigint
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: BigInt
    signature: BigInt decode_single_bigint(std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_q
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:24,1
    - Dst: q_bits
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:24,1
    - Dst: q_bits
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:24,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:25,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:25,1
    - Dst: BigInt
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:27,1
    - Dst: exponent_bits
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' group'
    - ' rng'
    argTypes:
    - DL_Group
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: Botan::generate_private_dl_key
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - has_q
    - BigInt
    - get_q
    - Botan::BigInt::random_integer
    - q_bits
    - exponent_bits
    linkageType: ''
    returnType: BigInt
    signature: BigInt generate_private_dl_key(const DL_Group& group, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:32,1
    - Dst: verify_private_element
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' group'
    argTypes:
    - BigInt
    - DL_Group
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: Botan::check_dl_private_key_input
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - verify_private_element
    linkageType: ''
    returnType: BigInt
    signature: BigInt check_dl_private_key_input(const BigInt& x, const DL_Group&
      group)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' public_key'
    argTypes:
    - DL_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: Botan::DL_PublicKey::DL_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DL_PublicKey::DL_PublicKey(const DL_Group& group, const BigInt&
      public_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:44,1
    - Dst: decode_single_bigint
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' alg_id'
    - key_bits
    - format
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    - DL_Group_Format
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: Botan::DL_PublicKey::DL_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - parameters
    - decode_single_bigint
    linkageType: ''
    returnType: void
    signature: "void DL_PublicKey::DL_PublicKey(const AlgorithmIdentifier& alg_id,\n
      \                          std::span<const uint8_t> key_bits,\n                           DL_Group_Format
      format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:47,1
    - Dst: p_bytes
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::DL_PublicKey::public_key_as_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - serialize
    - p_bytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DL_PublicKey::public_key_as_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: Botan::DL_PublicKey::DER_encode
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DL_PublicKey::DER_encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_group
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:57,1
    - Dst: verify_public_element
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::DL_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - verify_group
    - verify_public_element
    linkageType: ''
    returnType: bool
    signature: bool DL_PublicKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_PublicKey::estimated_strength
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: Botan::DL_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 1
    functionsReached:
    - Botan::DL_PublicKey::estimated_strength
    linkageType: ''
    returnType: size_t
    signature: size_t DL_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_PublicKey::p_bits
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: Botan::DL_PublicKey::p_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 1
    functionsReached:
    - Botan::DL_PublicKey::p_bits
    linkageType: ''
    returnType: size_t
    signature: size_t DL_PublicKey::p_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_dl_private_key_input
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:70,1
    - Dst: power_g_p
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:71,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' private_key'
    argTypes:
    - DL_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: Botan::DL_PrivateKey::DL_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - bits
    - power_g_p
    - check_dl_private_key_input
    linkageType: ''
    returnType: void
    signature: void DL_PrivateKey::DL_PrivateKey(const DL_Group& group, const BigInt&
      private_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_private_dl_key
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:75,1
    - Dst: power_g_p
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:76,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' rng'
    argTypes:
    - DL_Group
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: Botan::DL_PrivateKey::DL_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - generate_private_dl_key
    - power_g_p
    - bits
    linkageType: ''
    returnType: void
    signature: void DL_PrivateKey::DL_PrivateKey(const DL_Group& group, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:81,1
    - Dst: check_dl_private_key_input
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:82,1
    - Dst: decode_single_bigint
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:82,1
    - Dst: power_g_p
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:83,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' alg_id'
    - key_bits
    - format
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    - DL_Group_Format
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: Botan::DL_PrivateKey::DL_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - power_g_p
    - check_dl_private_key_input
    - bits
    - parameters
    - decode_single_bigint
    linkageType: ''
    returnType: void
    signature: "void DL_PrivateKey::DL_PrivateKey(const AlgorithmIdentifier& alg_id,\n
      \                            std::span<const uint8_t> key_bits,\n                             DL_Group_Format
      format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: Botan::DL_PrivateKey::DER_encode
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> DL_PrivateKey::DER_encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: Botan::DL_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - serialize
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> DL_PrivateKey::raw_private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_group
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:94,1
    - Dst: verify_private_element
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: Botan::DL_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - verify_group
    - verify_private_element
    linkageType: ''
    returnType: bool
    signature: bool DL_PrivateKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_PublicKey>
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: Botan::DL_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<DL_PublicKey>
    linkageType: ''
    returnType: std::shared_ptr<DL_PublicKey>
    signature: std::shared_ptr<DL_PublicKey> DL_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:103,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:105,1
    - Dst: get_g
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:107,1
    - Dst: Unknown_PK_Field_Name
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - algo
    - field
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: '& DL_PublicKey::get_int_field(std::string_view algo, std::string_view
      field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - get_p
    - get_q
    - get_g
    - Unknown_PK_Field_Name
    linkageType: ''
    returnType: BigInt
    signature: BigInt & DL_PublicKey::get_int_field(std::string_view algo, std::string_view
      field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:117,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:119,1
    - Dst: get_g
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:121,1
    - Dst: Unknown_PK_Field_Name
      Src: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - algo
    - field
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 129
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 129
    functionName: '& DL_PrivateKey::get_int_field(std::string_view algo, std::string_view
      field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.cpp
    functionUses: 0
    functionsReached:
    - get_p
    - get_q
    - get_g
    - Unknown_PK_Field_Name
    linkageType: ''
    returnType: BigInt
    signature: BigInt & DL_PrivateKey::get_int_field(std::string_view algo, std::string_view
      field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '& group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DL_Group
    signature: DL_Group & group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& public_key() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& group() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DL_Group
    signature: DL_Group & group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: '& private_key() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_algo/dl_scheme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & private_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:24,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:25,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:26,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:27,1
    - Dst: fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:28,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:29,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:30,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:31,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:32,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:33,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:34,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:35,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:36,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:37,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:38,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:39,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:40,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:41,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:42,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:43,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:44,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 48
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 48
    functionName: Botan::FE_25519::invert
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp
    functionUses: 0
    functionsReached:
    - fe_sq
    - fe_mul
    - fe_sq_iter
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 FE_25519::invert(const FE_25519& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:55,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:56,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:57,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:58,1
    - Dst: fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:59,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:60,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:61,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:62,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:63,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:64,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:65,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:66,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:67,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:68,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:69,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:70,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:71,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:72,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:73,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:74,1
    - Dst: fe_sq_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:75,1
    - Dst: fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 79
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 79
    functionName: Botan::FE_25519::pow_22523
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp
    functionUses: 0
    functionsReached:
    - fe_sq
    - fe_mul
    - fe_sq_iter
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 FE_25519::pow_22523(const FE_25519& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:270,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:271,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:278,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:279,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:286,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:287,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:293,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:294,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:300,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:301,1
    - Dst: carry<25, 19>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:307,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:312,1
    - Dst: Botan::FE_25519::FE_25519
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - ' f'
    - ' g'
    argTypes:
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 317
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 317
    functionName: Botan::FE_25519::mul
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp
    functionUses: 0
    functionsReached:
    - carry<26>
    - carry<25>
    - carry<25, 19>
    - Botan::FE_25519::FE_25519
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 FE_25519::mul(const FE_25519& f, const FE_25519& g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:429,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:430,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:431,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:432,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:433,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:434,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:436,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:437,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:439,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:440,1
    - Dst: carry<25, 19>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:441,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:442,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:444,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:445,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:446,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:447,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:448,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:449,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:450,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:451,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:452,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:453,1
    - Dst: Botan::FE_25519::FE_25519
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 2
    argNames:
    - ' f'
    - iter
    argTypes:
    - FE_25519
    - size_t
    constantsTouched: []
    func_position:
      end: 457
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 457
    functionName: Botan::FE_25519::sqr_iter
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp
    functionUses: 0
    functionsReached:
    - carry<26>
    - carry<25, 19>
    - static_cast<int32_t>
    - carry<25>
    - Botan::FE_25519::FE_25519
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 FE_25519::sqr_iter(const FE_25519& f, size_t iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:577,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:578,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:580,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:581,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:583,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:584,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:586,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:587,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:588,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:589,1
    - Dst: carry<25, 19>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:590,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:591,1
    - Dst: Botan::FE_25519::FE_25519
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 594
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 594
    functionName: Botan::FE_25519::sqr2
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp
    functionUses: 0
    functionsReached:
    - carry<26>
    - carry<25>
    - carry<25, 19>
    - Botan::FE_25519::FE_25519
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 FE_25519::sqr2(const FE_25519& f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: carry<25, 19>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:612,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:613,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:614,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:615,1
    - Dst: carry<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:616,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:618,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:619,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:620,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:621,1
    - Dst: carry<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:622,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:624,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:625,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:626,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:627,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:628,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:629,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:630,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:631,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:632,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 634
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 634
    functionName: Botan::FE_25519::from_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp
    functionUses: 0
    functionsReached:
    - carry<26>
    - carry<25>
    - carry<25, 19>
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: void FE_25519::from_bytes(const uint8_t s[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:676,1
    - Dst: carry0<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:692,1
    - Dst: carry0<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:693,1
    - Dst: carry0<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:694,1
    - Dst: carry0<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:695,1
    - Dst: carry0<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:696,1
    - Dst: carry0<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:697,1
    - Dst: carry0<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:698,1
    - Dst: carry0<25>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:699,1
    - Dst: carry0<26>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:700,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:713,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:714,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:715,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:716,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:717,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:718,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:719,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:720,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:721,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:722,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:723,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:724,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:725,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:726,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:727,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:728,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:729,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:730,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:731,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:732,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:733,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:734,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:735,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:736,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:737,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:738,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:739,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:740,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:741,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:742,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:743,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 745
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 745
    functionName: Botan::FE_25519::to_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.cpp
    functionUses: 0
    functionsReached:
    - carry0<26>
    - static_cast<uint8_t>
    - static_cast<int32_t>
    - carry0<25>
    linkageType: ''
    returnType: void
    signature: void FE_25519::to_bytes(uint8_t s[32]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - 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: Botan::get_public_key
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & get_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.h:48,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pub
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::Ed25519_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519.h
    functionUses: 3
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void Ed25519_PublicKey(std::span<const uint8_t> pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: get_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> & get_private_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> raw_private_key_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:59,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:64,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:69,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:74,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:79,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:84,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:89,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:94,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:99,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:104,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ge_p1p1*
    - ge_p3*
    - ge_cached*
    constantsTouched: []
    func_position:
      end: 110
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 110
    functionName: Botan::ge_add
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_mul
    - Botan::fe_sub
    - Botan::fe_add
    linkageType: ''
    returnType: void
    signature: void ge_add(ge_p1p1* r, const ge_p3* p, const ge_cached* q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:119,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:122,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:125,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:128,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:131,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:134,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:137,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:140,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:143,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ge_p1p1*
    - ge_p3*
    - ge_precomp*
    constantsTouched: []
    func_position:
      end: 147
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 147
    functionName: Botan::ge_madd
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_mul
    - Botan::fe_sub
    - Botan::fe_add
    linkageType: ''
    returnType: void
    signature: void ge_madd(ge_p1p1* r, const ge_p3* p, const ge_precomp* q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:159,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:164,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:169,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:174,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:179,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:184,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:189,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:194,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:199,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ge_p1p1*
    - ge_p3*
    - ge_precomp*
    constantsTouched: []
    func_position:
      end: 205
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 205
    functionName: Botan::ge_msub
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_mul
    - Botan::fe_sub
    - Botan::fe_add
    linkageType: ''
    returnType: void
    signature: void ge_msub(ge_p1p1* r, const ge_p3* p, const ge_precomp* q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:212,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:213,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p2*
    - ge_p1p1*
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: Botan::ge_p1p1_to_p2
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_mul
    linkageType: ''
    returnType: void
    signature: void ge_p1p1_to_p2(ge_p2* r, const ge_p1p1* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:222,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:223,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:224,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p3*
    - ge_p1p1*
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: Botan::ge_p1p1_to_p3
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_mul
    linkageType: ''
    returnType: void
    signature: void ge_p1p1_to_p3(ge_p3* r, const ge_p1p1* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:237,1
    - Dst: Botan::fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:242,1
    - Dst: Botan::fe_sq2
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:247,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:252,1
    - Dst: Botan::fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:257,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:262,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:267,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:272,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p1p1*
    - ge_p2*
    constantsTouched: []
    func_position:
      end: 278
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 278
    functionName: Botan::ge_p2_dbl
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_add
    - Botan::fe_sq2
    - Botan::fe_sub
    - Botan::fe_sq
    linkageType: ''
    returnType: void
    signature: void ge_p2_dbl(ge_p1p1* r, const ge_p2* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_0
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:281,1
    - Dst: Botan::fe_1
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:282,1
    - Dst: Botan::fe_1
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:283,1
    - Dst: Botan::fe_0
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - h
    argTypes:
    - ge_p3*
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: Botan::ge_p3_0
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_0
    - Botan::fe_1
    linkageType: ''
    returnType: void
    signature: void ge_p3_0(ge_p3* h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ge_p2_dbl
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p1p1*
    - ge_p3*
    constantsTouched: []
    func_position:
      end: 298
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 298
    functionName: Botan::ge_p3_dbl
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::ge_p2_dbl
    linkageType: ''
    returnType: void
    signature: void ge_p3_dbl(ge_p1p1* r, const ge_p3* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:307,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:308,1
    - Dst: Botan::fe_copy
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:309,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_cached*
    - ge_p3*
    constantsTouched: []
    func_position:
      end: 311
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 311
    functionName: Botan::ge_p3_to_cached
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_copy
    - Botan::fe_mul
    - Botan::fe_sub
    - Botan::fe_add
    linkageType: ''
    returnType: void
    signature: void ge_p3_to_cached(ge_cached* r, const ge_p3* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:322,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:327,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:332,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:337,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:342,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:347,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:352,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:357,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:362,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:367,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ge_p1p1*
    - ge_p3*
    - ge_cached*
    constantsTouched: []
    func_position:
      end: 373
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 373
    functionName: Botan::ge_sub
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_mul
    - Botan::fe_sub
    - Botan::fe_add
    linkageType: ''
    returnType: void
    signature: void ge_sub(ge_p1p1* r, const ge_p3* p, const ge_cached* q)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - int8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 403
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 403
    functionName: Botan::slide
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void slide(int8_t* r, const uint8_t* a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_invert
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:410,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:411,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:412,1
    - Dst: Botan::fe_tobytes
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:413,1
    - Dst: Botan::fe_isnegative
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - uint8_t*
    - ge_p2*
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: Botan::ge_tobytes
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_invert
    - Botan::fe_mul
    - Botan::fe_isnegative
    - Botan::fe_tobytes
    linkageType: ''
    returnType: void
    signature: void ge_tobytes(uint8_t* s, const ge_p2* h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_0
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:418,1
    - Dst: Botan::fe_1
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:419,1
    - Dst: Botan::fe_1
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - ge_p2*
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: Botan::ge_p2_0
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_0
    - Botan::fe_1
    linkageType: ''
    returnType: void
    signature: void ge_p2_0(ge_p2* h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_frombytes
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:437,1
    - Dst: Botan::fe_1
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:438,1
    - Dst: Botan::fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:439,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:440,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:441,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:442,1
    - Dst: Botan::fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:444,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:445,1
    - Dst: Botan::fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:446,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:447,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:448,1
    - Dst: Botan::fe_pow22523
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:450,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:451,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:452,1
    - Dst: Botan::fe_sq
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:454,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:455,1
    - Dst: Botan::fe_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:456,1
    - Dst: Botan::fe_isnonzero
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:457,1
    - Dst: Botan::fe_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:458,1
    - Dst: Botan::fe_isnonzero
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:459,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:462,1
    - Dst: Botan::fe_isnegative
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:465,1
    - Dst: Botan::fe_neg
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:466,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 2
    argNames:
    - h
    - s
    argTypes:
    - ge_p3*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 471
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 471
    functionName: Botan::ge_frombytes_negate_vartime
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_isnonzero
    - Botan::fe_frombytes
    - Botan::fe_neg
    - Botan::fe_pow22523
    - Botan::fe_sq
    - Botan::fe_add
    - Botan::fe_mul
    - Botan::fe_1
    - Botan::fe_sub
    - Botan::fe_isnegative
    linkageType: ''
    returnType: int
    signature: int ge_frombytes_negate_vartime(ge_p3* h, const uint8_t* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::slide
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:533,1
    - Dst: Botan::slide
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:534,1
    - Dst: Botan::ge_p3_to_cached
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:536,1
    - Dst: Botan::ge_p3_dbl
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:537,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:538,1
    - Dst: Botan::ge_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:539,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:540,1
    - Dst: Botan::ge_p3_to_cached
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:541,1
    - Dst: Botan::ge_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:542,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:543,1
    - Dst: Botan::ge_p3_to_cached
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:544,1
    - Dst: Botan::ge_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:545,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:546,1
    - Dst: Botan::ge_p3_to_cached
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:547,1
    - Dst: Botan::ge_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:548,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:549,1
    - Dst: Botan::ge_p3_to_cached
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:550,1
    - Dst: Botan::ge_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:551,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:552,1
    - Dst: Botan::ge_p3_to_cached
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:553,1
    - Dst: Botan::ge_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:554,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:555,1
    - Dst: Botan::ge_p3_to_cached
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:556,1
    - Dst: Botan::ge_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:557,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:558,1
    - Dst: Botan::ge_p3_to_cached
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:559,1
    - Dst: Botan::ge_p2_0
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:561,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:570,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:573,1
    - Dst: Botan::ge_add
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:574,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:576,1
    - Dst: Botan::ge_sub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:577,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:581,1
    - Dst: Botan::ge_madd
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:582,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:584,1
    - Dst: Botan::ge_msub
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:585,1
    - Dst: Botan::ge_p1p1_to_p2
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:588,1
    - Dst: Botan::ge_tobytes
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:591,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 4
    argNames:
    - out
    - a
    - A
    - b
    argTypes:
    - uint8_t[]
    - uint8_t*
    - ge_p3*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 592
      start: 480
    functionDepth: 3
    functionLinenumber: 480
    functionLinenumberEnd: 592
    functionName: Botan::ge_double_scalarmult_vartime
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::ge_madd
    - Botan::ge_p2_dbl
    - Botan::ge_p1p1_to_p2
    - Botan::ge_add
    - Botan::slide
    - Botan::ge_sub
    - Botan::ge_p1p1_to_p3
    - Botan::ge_p2_0
    - Botan::ge_msub
    - Botan::ge_tobytes
    - Botan::ge_p3_to_cached
    - Botan::ge_p3_dbl
    linkageType: ''
    returnType: void
    signature: void ge_double_scalarmult_vartime(uint8_t out[32], const uint8_t* a,
      const ge_p3* A, const uint8_t* b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:1951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - c
    argTypes:
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 1952
      start: 1944
    functionDepth: 0
    functionLinenumber: 1944
    functionLinenumberEnd: 1952
    functionName: Botan::equal
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t equal(int8_t b, int8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:1955,1
    - Dst: Botan::equal
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:1955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - c
    argTypes:
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 1956
      start: 1954
    functionDepth: 1
    functionLinenumber: 1954
    functionLinenumberEnd: 1956
    functionName: Botan::equal32
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::equal
    - static_cast<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t equal32(int8_t b, int8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:1962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 1963
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 1963
    functionName: Botan::negative
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t negative(int8_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_1
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:1966,1
    - Dst: Botan::fe_1
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:1967,1
    - Dst: Botan::fe_0
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:1968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - ge_precomp*
    constantsTouched: []
    func_position:
      end: 1969
      start: 1965
    functionDepth: 1
    functionLinenumber: 1965
    functionLinenumberEnd: 1969
    functionName: Botan::ge_precomp_0
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_0
    - Botan::fe_1
    linkageType: ''
    returnType: void
    signature: void ge_precomp_0(ge_precomp* h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ge_precomp_0
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:1985,1
    - Dst: Botan::fe_neg
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2007,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - t
    - base
    - b
    argTypes:
    - ge_precomp*
    - ge_precomp*
    - int8_t
    constantsTouched: []
    func_position:
      end: 2018
      start: 1971
    functionDepth: 2
    functionLinenumber: 1971
    functionLinenumberEnd: 2018
    functionName: Botan::select
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 1
    functionsReached:
    - Botan::ge_precomp_0
    - Botan::fe_neg
    linkageType: ''
    returnType: void
    signature: void select(ge_precomp* t, const ge_precomp* base, int8_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_invert
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2025,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2026,1
    - Dst: Botan::fe_mul
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2027,1
    - Dst: Botan::fe_tobytes
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2028,1
    - Dst: Botan::fe_isnegative
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - uint8_t*
    - ge_p3*
    constantsTouched: []
    func_position:
      end: 2030
      start: 2020
    functionDepth: 1
    functionLinenumber: 2020
    functionLinenumberEnd: 2030
    functionName: Botan::ge_p3_tobytes
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_invert
    - Botan::fe_mul
    - Botan::fe_isnegative
    - Botan::fe_tobytes
    linkageType: ''
    returnType: void
    signature: void ge_p3_tobytes(uint8_t* s, const ge_p3* h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ge_p3_0
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2069,1
    - Dst: Botan::select
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2071,1
    - Dst: Botan::ge_madd
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2072,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2073,1
    - Dst: Botan::ge_p3_dbl
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2076,1
    - Dst: Botan::ge_p1p1_to_p2
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2077,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2078,1
    - Dst: Botan::ge_p1p1_to_p2
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2079,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2080,1
    - Dst: Botan::ge_p1p1_to_p2
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2081,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2082,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2083,1
    - Dst: Botan::select
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2086,1
    - Dst: Botan::ge_madd
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2087,1
    - Dst: Botan::ge_p1p1_to_p3
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2088,1
    - Dst: Botan::ge_p3_tobytes
      Src: /src/botan/src/lib/pubkey/ed25519/ge.cpp:2091,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 2092
      start: 2043
    functionDepth: 3
    functionLinenumber: 2043
    functionLinenumberEnd: 2092
    functionName: Botan::ge_scalarmult_base
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ge.cpp
    functionUses: 0
    functionsReached:
    - Botan::ge_madd
    - Botan::ge_p2_dbl
    - Botan::ge_p3_0
    - Botan::ge_p1p1_to_p2
    - Botan::select
    - Botan::ge_p1p1_to_p3
    - Botan::ge_p3_tobytes
    - Botan::ge_p3_dbl
    linkageType: ''
    returnType: void
    signature: void ge_scalarmult_base(uint8_t out[32], const uint8_t a[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::secure_scrub_memory
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: ~FE_25519()
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached:
    - Botan::secure_scrub_memory
    linkageType: ''
    returnType: void
    signature: void ~FE_25519()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:31,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: Botan::FE_25519::FE_25519
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 3
    functionsReached:
    - Invalid_Argument
    - clear_mem
    linkageType: ''
    returnType: void
    signature: void FE_25519(int init = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::initializer_list<int32_t>::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:38,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:39,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:41,1
    - Dst: std::initializer_list<int32_t>::begin
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::initializer_list<int32_t>
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: Botan::FE_25519::FE_25519
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 3
    functionsReached:
    - std::initializer_list<int32_t>::size
    - Invalid_Argument
    - copy_mem
    - std::initializer_list<int32_t>::begin
    linkageType: ''
    returnType: void
    signature: void FE_25519(std::initializer_list<int32_t> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:54,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:55,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:56,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:57,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:58,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:59,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:60,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:61,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:62,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 10
    argNames:
    - h0
    - h1
    - h2
    - h3
    - h4
    - h5
    - h6
    - h7
    - h8
    - h9
    argTypes:
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 64
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 64
    functionName: Botan::FE_25519::FE_25519
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 3
    functionsReached:
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: "void FE_25519(int64_t h0,\n               int64_t h1,\n               int64_t
      h2,\n               int64_t h3,\n               int64_t h4,\n               int64_t
      h5,\n               int64_t h6,\n               int64_t h7,\n               int64_t
      h8,\n               int64_t h9)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan::FE_25519::FE_25519
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FE_25519(const FE_25519& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& operator=(const FE_25519& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 & operator=(const FE_25519& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::FE_25519::FE_25519
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FE_25519(FE_25519&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& operator=(FE_25519&& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 & operator=(FE_25519&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::to_bytes
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: Botan::FE_25519::is_zero
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached:
    - Botan::FE_25519::to_bytes
    linkageType: ''
    returnType: bool
    signature: bool is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::to_bytes
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: Botan::FE_25519::is_negative
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached:
    - Botan::FE_25519::to_bytes
    linkageType: ''
    returnType: bool
    signature: bool is_negative() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: Botan::FE_25519::add
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 add(const FE_25519& a, const FE_25519& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: Botan::FE_25519::sub
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 sub(const FE_25519& a, const FE_25519& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: Botan::FE_25519::negate
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 negate(const FE_25519& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::sqr_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: Botan::FE_25519::sqr
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached:
    - Botan::FE_25519::sqr_iter
    linkageType: ''
    returnType: FE_25519
    signature: FE_25519 sqr(const FE_25519& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: operator[](size_t i) const
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t operator[](size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: '& operator[](size_t i)'
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t & operator[](size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_bytes
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - b
    argTypes:
    - FE_25519
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: Botan::fe_frombytes
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 1
    functionsReached:
    - from_bytes
    linkageType: ''
    returnType: void
    signature: void fe_frombytes(FE_25519& x, const uint8_t* b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_bytes
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - ' x'
    argTypes:
    - uint8_t*
    - FE_25519
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: Botan::fe_tobytes
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 2
    functionsReached:
    - to_bytes
    linkageType: ''
    returnType: void
    signature: void fe_tobytes(uint8_t* b, const FE_25519& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: Botan::fe_copy
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe_copy(FE_25519& a, const FE_25519& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: Botan::fe_isnonzero
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 1
    functionsReached:
    - Botan::is_zero
    linkageType: ''
    returnType: int
    signature: int fe_isnonzero(const FE_25519& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: Botan::fe_isnegative
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 3
    functionsReached:
    - is_negative
    linkageType: ''
    returnType: int
    signature: int fe_isnegative(const FE_25519& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FE_25519
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: Botan::fe_0
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 3
    functionsReached:
    - FE_25519
    linkageType: ''
    returnType: void
    signature: void fe_0(FE_25519& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FE_25519
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FE_25519
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: Botan::fe_1
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 4
    functionsReached:
    - FE_25519
    linkageType: ''
    returnType: void
    signature: void fe_1(FE_25519& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::add
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' a'
    - ' b'
    argTypes:
    - FE_25519
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: Botan::fe_add
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 7
    functionsReached:
    - Botan::FE_25519::add
    linkageType: ''
    returnType: void
    signature: void fe_add(FE_25519& x, const FE_25519& a, const FE_25519& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::sub
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' a'
    - ' b'
    argTypes:
    - FE_25519
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: Botan::fe_sub
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 7
    functionsReached:
    - Botan::FE_25519::sub
    linkageType: ''
    returnType: void
    signature: void fe_sub(FE_25519& x, const FE_25519& a, const FE_25519& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::negate
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' z'
    argTypes:
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: Botan::fe_neg
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 2
    functionsReached:
    - Botan::FE_25519::negate
    linkageType: ''
    returnType: void
    signature: void fe_neg(FE_25519& x, const FE_25519& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::mul
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' a'
    - ' b'
    argTypes:
    - FE_25519
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: Botan::fe_mul
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 10
    functionsReached:
    - Botan::FE_25519::mul
    linkageType: ''
    returnType: void
    signature: void fe_mul(FE_25519& x, const FE_25519& a, const FE_25519& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::sqr
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' z'
    argTypes:
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: Botan::fe_sq
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 2
    functionsReached:
    - Botan::FE_25519::sqr
    linkageType: ''
    returnType: void
    signature: void fe_sq(FE_25519& x, const FE_25519& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::sqr_iter
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' z'
    - iter
    argTypes:
    - FE_25519
    - FE_25519
    - size_t
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: Botan::fe_sq_iter
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 0
    functionsReached:
    - Botan::FE_25519::sqr_iter
    linkageType: ''
    returnType: void
    signature: void fe_sq_iter(FE_25519& x, const FE_25519& z, size_t iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::sqr2
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' z'
    argTypes:
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: Botan::fe_sq2
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 1
    functionsReached:
    - Botan::FE_25519::sqr2
    linkageType: ''
    returnType: void
    signature: void fe_sq2(FE_25519& x, const FE_25519& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::invert
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' z'
    argTypes:
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: Botan::fe_invert
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 2
    functionsReached:
    - Botan::FE_25519::invert
    linkageType: ''
    returnType: void
    signature: void fe_invert(FE_25519& x, const FE_25519& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FE_25519::pow_22523
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - FE_25519
    - FE_25519
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: Botan::fe_pow22523
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_fe.h
    functionUses: 1
    functionsReached:
    - Botan::FE_25519::pow_22523
    linkageType: ''
    returnType: void
    signature: void fe_pow22523(FE_25519& x, const FE_25519& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_internal.h:20,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_internal.h:20,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_internal.h:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::load_3
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_internal.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t load_3(const uint8_t in[3])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_internal.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::load_4
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_internal.h
    functionUses: 0
    functionsReached:
    - Botan::load_le
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t load_4(const uint8_t* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' h0'
    - ' h1'
    argTypes:
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: Botan::carry
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void carry(int64_t& h0, int64_t& h1)\n   requires(S > 0 && S < 64)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' h0'
    - ' h1'
    argTypes:
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: Botan::carry0
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void carry0(int64_t& h0, int64_t& h1)\n   requires(S > 0 && S < 64)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' h0'
    - ' h1'
    argTypes:
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: Botan::carry0
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void carry0(int32_t& h0, int32_t& h1)\n   requires(S > 0 && S < 32)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - ' s1'
    - ' s2'
    - ' s3'
    - ' s4'
    - ' s5'
    - ' s6'
    - ' X'
    argTypes:
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: Botan::redc_mul
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void redc_mul(int64_t& s1, int64_t& s2, int64_t& s3, int64_t& s4, int64_t&
      s5, int64_t& s6, int64_t& X)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:24,1
    - Dst: SHA_512::final
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:25,1
    - Dst: Botan::ge_scalarmult_base
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:30,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:33,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - pk
    - sk
    - seed
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 35
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 35
    functionName: Botan::ed25519_gen_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp
    functionUses: 0
    functionsReached:
    - SHA_512::final
    - SHA_512::update
    - Botan::copy_mem
    - Botan::ge_scalarmult_base
    linkageType: ''
    returnType: void
    signature: void ed25519_gen_keypair(uint8_t* pk, uint8_t* sk, const uint8_t seed[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:49,1
    - Dst: SHA_512::final
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:50,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:55,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:56,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:57,1
    - Dst: SHA_512::final
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:58,1
    - Dst: Botan::sc_reduce
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:60,1
    - Dst: Botan::ge_scalarmult_base
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:61,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:63,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:64,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:65,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:66,1
    - Dst: SHA_512::final
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:67,1
    - Dst: Botan::sc_reduce
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:69,1
    - Dst: Botan::sc_muladd
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 6
    argNames:
    - sig
    - m
    - mlen
    - sk
    - domain_sep
    - domain_sep_len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 37
    functionDepth: 4
    functionLinenumber: 37
    functionLinenumberEnd: 71
    functionName: Botan::ed25519_sign
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp
    functionUses: 0
    functionsReached:
    - SHA_512::update
    - Botan::sc_muladd
    - SHA_512::final
    - Botan::sc_reduce
    - Botan::ge_scalarmult_base
    linkageType: ''
    returnType: void
    signature: "void ed25519_sign(uint8_t sig[64],\n                  const uint8_t
      m[],\n                  size_t mlen,\n                  const uint8_t sk[64],\n
      \                 const uint8_t domain_sep[],\n                  size_t domain_sep_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ge_frombytes_negate_vartime
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:87,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:117,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:118,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:119,1
    - Dst: SHA_512::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:120,1
    - Dst: SHA_512::final
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:121,1
    - Dst: Botan::sc_reduce
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:122,1
    - Dst: Botan::ge_double_scalarmult_vartime
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:124,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp:126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 6
    argNames:
    - m
    - mlen
    - sig
    - pk
    - domain_sep
    - domain_sep_len
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t[]
    - uint8_t*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 127
      start: 73
    functionDepth: 4
    functionLinenumber: 73
    functionLinenumberEnd: 127
    functionName: Botan::ed25519_verify
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519.cpp
    functionUses: 0
    functionsReached:
    - SHA_512::update
    - Botan::CT::is_equal
    - Botan::ge_double_scalarmult_vartime
    - Botan::ge_frombytes_negate_vartime
    - SHA_512::final
    - Botan::sc_reduce
    linkageType: ''
    returnType: bool
    signature: "bool ed25519_verify(const uint8_t* m,\n                    size_t
      mlen,\n                    const uint8_t sig[64],\n                    const
      uint8_t* pk,\n                    const uint8_t domain_sep[],\n                    size_t
      domain_sep_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:53,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:54,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:55,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:56,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:57,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:58,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:60,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:61,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:62,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:63,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:64,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:65,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:67,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:68,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:69,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:70,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:71,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:73,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:74,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:75,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:76,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:77,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:78,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:80,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:81,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:82,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:83,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:84,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:85,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:87,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:88,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:89,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:90,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:91,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:92,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:94,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:96,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:97,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:98,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:99,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:100,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:101,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:102,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:103,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:104,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:105,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:106,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:107,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:109,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:111,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:112,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:113,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:114,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:115,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:116,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:117,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:118,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:119,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:120,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:121,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:122,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:124,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:125,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:126,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:127,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:128,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:129,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:130,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:131,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:132,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:133,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:134,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:135,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:136,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:137,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:138,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:139,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:140,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:141,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:142,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:143,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:144,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:145,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:146,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:147,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:148,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:149,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:150,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:151,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:152,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:153,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:154,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 94
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 156
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 156
    functionName: Botan::sc_reduce
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/sc_reduce.cpp
    functionUses: 2
    functionsReached:
    - Botan::carry
    - static_cast<uint8_t>
    - Botan::carry0
    - Botan::redc_mul
    linkageType: ''
    returnType: void
    signature: void sc_reduce(uint8_t* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:94,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:95,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:96,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:97,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:98,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:99,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:100,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:101,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:102,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:103,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:104,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:105,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:107,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:108,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:109,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:110,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:111,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:112,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:113,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:114,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:115,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:116,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:117,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:119,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:120,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:121,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:122,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:123,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:124,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:126,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:127,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:128,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:129,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:130,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:131,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:133,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:134,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:135,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:136,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:137,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:139,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:140,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:141,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:142,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:143,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:144,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:146,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:147,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:148,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:149,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:150,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:151,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:153,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:154,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:155,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:156,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:157,1
    - Dst: Botan::carry
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:158,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:160,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:162,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:163,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:164,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:165,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:166,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:167,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:168,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:169,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:170,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:171,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:172,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:173,1
    - Dst: Botan::redc_mul
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:175,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:177,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:178,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:179,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:180,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:181,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:182,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:183,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:184,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:185,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:186,1
    - Dst: Botan::carry0
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:187,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:189,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:190,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:191,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:192,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:193,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:194,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:195,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:196,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:197,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:198,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:199,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:200,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:201,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:202,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:203,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:204,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:205,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:206,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:207,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:208,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:209,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:210,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:211,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:212,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:213,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:214,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:215,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:216,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:217,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:218,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:219,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 116
    argCount: 4
    argNames:
    - s
    - a
    - b
    - c
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 221
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 221
    functionName: Botan::sc_muladd
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/sc_muladd.cpp
    functionUses: 1
    functionsReached:
    - Botan::carry
    - static_cast<uint8_t>
    - Botan::carry0
    - Botan::redc_mul
    linkageType: ''
    returnType: void
    signature: void sc_muladd(uint8_t* s, const uint8_t* a, const uint8_t* b, const
      uint8_t* c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:22,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::Ed25519_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - object_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Ed25519_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:26,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:35,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:35,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:48,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:48,1
    - Dst: ge_frombytes_negate_vartime
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:51,1
    - Dst: ge_double_scalarmult_vartime
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:56,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 63
    functionName: Botan::Ed25519_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::is_equal
    - data
    - size
    - copy_mem
    - ge_frombytes_negate_vartime
    - ge_double_scalarmult_vartime
    linkageType: ''
    returnType: bool
    signature: bool Ed25519_PublicKey::check_key(RandomNumberGenerator& /*rng*/, bool
      /*strong*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:67,1
    - Dst: assign
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pub_key
    - pub_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: Botan::Ed25519_PublicKey::Ed25519_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - assign
    linkageType: ''
    returnType: void
    signature: void Ed25519_PublicKey::Ed25519_PublicKey(const uint8_t pub_key[],
      size_t pub_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:73,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:73,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:73,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:75,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: Botan::Ed25519_PublicKey::Ed25519_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - assign
    - size
    - Decoding_Error
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void Ed25519_PublicKey::Ed25519_PublicKey(const AlgorithmIdentifier&
      /*unused*/, std::span<const uint8_t> key_bits)
  - 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: Botan::Ed25519_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Ed25519_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Ed25519_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: Botan::Ed25519_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::Ed25519_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Ed25519_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Ed25519_PrivateKey>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::Ed25519_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Ed25519_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> Ed25519_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:93,1
    - Dst: assign
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:94,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:94,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:94,1
    - Dst: assign
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:95,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:95,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:95,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:96,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:97,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:98,1
    - Dst: ed25519_gen_keypair
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:99,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:99,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:99,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:99,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - secret_key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: Botan::Ed25519_PrivateKey::Ed25519_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - assign
    - begin
    - data
    - end
    - resize
    - ed25519_gen_keypair
    - Decoding_Error
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void Ed25519_PrivateKey::Ed25519_PrivateKey(std::span<const uint8_t>
      secret_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:107,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:107,1
    - Dst: Botan::Ed25519_PrivateKey::Ed25519_PrivateKey
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - seed
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: Botan::Ed25519_PrivateKey::from_seed
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 1
    functionsReached:
    - Botan::Ed25519_PrivateKey::Ed25519_PrivateKey
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: Ed25519_PrivateKey
    signature: Ed25519_PrivateKey Ed25519_PrivateKey::from_seed(std::span<const uint8_t>
      seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:113,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:113,1
    - Dst: Botan::Ed25519_PrivateKey::Ed25519_PrivateKey
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: Botan::Ed25519_PrivateKey::from_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::Ed25519_PrivateKey::Ed25519_PrivateKey
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: Ed25519_PrivateKey
    signature: Ed25519_PrivateKey Ed25519_PrivateKey::from_bytes(std::span<const uint8_t>
      bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:118,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:119,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:120,1
    - Dst: ed25519_gen_keypair
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:121,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:121,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:121,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: Botan::Ed25519_PrivateKey::Ed25519_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 2
    functionsReached:
    - secure_vector::data
    - data
    - random_vec
    - ed25519_gen_keypair
    - resize
    linkageType: ''
    returnType: void
    signature: void Ed25519_PrivateKey::Ed25519_PrivateKey(RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:126,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:128,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:129,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:131,1
    - Dst: resize
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:132,1
    - Dst: ed25519_gen_keypair
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:133,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:133,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:133,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: Botan::Ed25519_PrivateKey::Ed25519_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 2
    functionsReached:
    - secure_vector::data
    - secure_vector::size
    - BER_Decoder
    - data
    - ed25519_gen_keypair
    - Decoding_Error
    - resize
    linkageType: ''
    returnType: void
    signature: void Ed25519_PrivateKey::Ed25519_PrivateKey(const AlgorithmIdentifier&
      /*unused*/, std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Ed25519_PublicKey>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:137,1
    - Dst: get_public_key
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Botan::Ed25519_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Ed25519_PublicKey>
    - get_public_key
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> Ed25519_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: Botan::Ed25519_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Ed25519_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: Botan::Ed25519_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Ed25519_PrivateKey::check_key(RandomNumberGenerator& /*rng*/,
      bool /*strong*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_public_key
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Ed25519_PublicKey
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: Botan::Ed25519_Pure_Verify_Operation::Ed25519_Pure_Verify_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - get_public_key
    linkageType: ''
    returnType: void
    signature: void Ed25519_Pure_Verify_Operation(const Ed25519_PublicKey& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:158,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:158,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:158,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: Botan::Ed25519_Pure_Verify_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - end
    - std::span<const uint8_t>::end
    - insert
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:161,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:165,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:165,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: Botan::Ed25519_Pure_Verify_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - clear
    - BOTAN_ASSERT_EQUAL
    - size
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: bool
    signature: bool is_valid_signature(std::span<const uint8_t> sig) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: Botan::Ed25519_Pure_Verify_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_public_key
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:184,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' key'
    - hash
    - rfc8032
    argTypes:
    - Ed25519_PublicKey
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: Botan::Ed25519_Hashed_Verify_Operation::Ed25519_Hashed_Verify_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::create_or_throw
    - get_public_key
    linkageType: ''
    returnType: void
    signature: void Ed25519_Hashed_Verify_Operation(const Ed25519_PublicKey& key,
      std::string_view hash, bool rfc8032)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Ed25519_Hashed_Verify_Operation::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: Botan::Ed25519_Hashed_Verify_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 1
    functionsReached:
    - Botan::Ed25519_Hashed_Verify_Operation::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:197,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:200,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:201,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:201,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:203,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:203,1
    - Dst: ed25519_verify
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:204,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:205,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:205,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:205,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:205,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:205,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: Botan::Ed25519_Hashed_Verify_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - ed25519_verify
    - final
    - data
    - size
    - BOTAN_ASSERT_EQUAL
    - std::span<const uint8_t>::size
    - output_length
    - std::span<const uint8_t>::data
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: bool is_valid_signature(std::span<const uint8_t> sig) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: Botan::Ed25519_Hashed_Verify_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_private_key_bits
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Ed25519_PrivateKey
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: Botan::Ed25519_Pure_Sign_Operation::Ed25519_Pure_Sign_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - raw_private_key_bits
    linkageType: ''
    returnType: void
    signature: void Ed25519_Pure_Sign_Operation(const Ed25519_PrivateKey& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:223,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:223,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:223,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: Botan::Ed25519_Pure_Sign_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - end
    - std::span<const uint8_t>::end
    - insert
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ed25519_sign
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:227,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:227,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:227,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:227,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:227,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: Botan::Ed25519_Pure_Sign_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - clear
    - ed25519_sign
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator& /*rng*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: Botan::Ed25519_Pure_Sign_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: Botan::Ed25519_Pure_Sign_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:244,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: Botan::Ed25519_Pure_Sign_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - AlgorithmIdentifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Ed25519_Pure_Sign_Operation::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_private_key_bits
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:253,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' key'
    - hash
    - rfc8032
    argTypes:
    - Ed25519_PrivateKey
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: Botan::Ed25519_Hashed_Sign_Operation::Ed25519_Hashed_Sign_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::create_or_throw
    - raw_private_key_bits
    linkageType: ''
    returnType: void
    signature: void Ed25519_Hashed_Sign_Operation(const Ed25519_PrivateKey& key, std::string_view
      hash, bool rfc8032)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: Botan::Ed25519_Hashed_Sign_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Ed25519_Hashed_Sign_Operation::update
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: Botan::Ed25519_Hashed_Sign_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 1
    functionsReached:
    - Botan::Ed25519_Hashed_Sign_Operation::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:269,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:270,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:270,1
    - Dst: ed25519_sign
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:271,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:272,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:272,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:272,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:272,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:272,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: Botan::Ed25519_Hashed_Sign_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - final
    - data
    - size
    - ed25519_sign
    - output_length
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator& /*rng*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: Botan::Ed25519_Hashed_Sign_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:288,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:289,1
    - Dst: std::make_unique<Ed25519_Pure_Verify_Operation>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:290,1
    - Dst: std::make_unique<Ed25519_Hashed_Verify_Operation>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:292,1
    - Dst: std::make_unique<Ed25519_Hashed_Verify_Operation>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:294,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:297,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:297,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 298
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 298
    functionName: Botan::Ed25519_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::string_view::empty
    - std::make_unique<Ed25519_Pure_Verify_Operation>
    - std::make_unique<Ed25519_Hashed_Verify_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> Ed25519_PublicKey::create_verification_op(std::string_view
      params,\n                                                                                std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:302,1
    - Dst: Botan::Ed25519_PublicKey::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:303,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:304,1
    - Dst: std::make_unique<Ed25519_Pure_Verify_Operation>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:307,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:309,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ' alg_id'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 310
    functionName: Botan::Ed25519_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::string_view::empty
    - Decoding_Error
    - std::make_unique<Ed25519_Pure_Verify_Operation>
    - Botan::Ed25519_PublicKey::algorithm_identifier
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> Ed25519_PublicKey::create_x509_verification_op(const
      AlgorithmIdentifier& alg_id,\n                                                                                     std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:315,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:316,1
    - Dst: std::make_unique<Ed25519_Pure_Sign_Operation>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:317,1
    - Dst: std::make_unique<Ed25519_Hashed_Sign_Operation>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:319,1
    - Dst: std::make_unique<Ed25519_Hashed_Sign_Operation>
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:321,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:324,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp:324,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 325
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 325
    functionName: Botan::Ed25519_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/ed25519/ed25519_key.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::string_view::empty
    - std::make_unique<Ed25519_Pure_Sign_Operation>
    - std::make_unique<Ed25519_Hashed_Sign_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> Ed25519_PrivateKey::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                           std::string_view
      params,\n                                                                           std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_Encryptor_EME::maximum_input_size
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:29,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:34,1
    - Dst: PK_Encryptor_EME::maximum_input_size
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:34,1
    - Dst: PK_Encryptor_EME::encrypt
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:36,1
    - Dst: unlock
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:41,1
    - Dst: PK_Decryptor_EME::decrypt
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' rng'
    - ' private_key'
    - ' public_key'
    - padding
    argTypes:
    - RandomNumberGenerator
    - Private_Key
    - Public_Key
    - std::string_view
    constantsTouched: []
    func_position:
      end: 44
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 44
    functionName: Botan::KeyPair::encryption_consistency_check
    functionSourceFile: /src/botan/src/lib/pubkey/keypair/keypair.cpp
    functionUses: 1
    functionsReached:
    - PK_Encryptor_EME::maximum_input_size
    - random_vec
    - PK_Decryptor_EME::decrypt
    - PK_Encryptor_EME::encrypt
    - unlock
    linkageType: ''
    returnType: bool
    signature: "bool encryption_consistency_check(RandomNumberGenerator& rng,\n                                  const
      Private_Key& private_key,\n                                  const Public_Key&
      public_key,\n                                  std::string_view padding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: randomize
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:57,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:57,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:57,1
    - Dst: PK_Signer::sign_message
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:62,1
    - Dst: PK_Verifier::verify_message
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:67,1
    - Dst: PK_Verifier::verify_message
      Src: /src/botan/src/lib/pubkey/keypair/keypair.cpp:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ' rng'
    - ' private_key'
    - ' public_key'
    - padding
    argTypes:
    - RandomNumberGenerator
    - Private_Key
    - Public_Key
    - std::string_view
    constantsTouched: []
    func_position:
      end: 79
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 79
    functionName: Botan::KeyPair::signature_consistency_check
    functionSourceFile: /src/botan/src/lib/pubkey/keypair/keypair.cpp
    functionUses: 4
    functionsReached:
    - std::vector::size
    - PK_Verifier::verify_message
    - randomize
    - PK_Signer::sign_message
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: "bool signature_consistency_check(RandomNumberGenerator& rng,\n                                 const
      Private_Key& private_key,\n                                 const Public_Key&
      public_key,\n                                 std::string_view padding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/keypair/keypair.h:52,1
    - Dst: Botan::KeyPair::encryption_consistency_check
      Src: /src/botan/src/lib/pubkey/keypair/keypair.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' rng'
    - ' sk'
    - padding
    argTypes:
    - RandomNumberGenerator
    - Private_Key
    - std::string_view
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: Botan::KeyPair::encryption_consistency_check
    functionSourceFile: /src/botan/src/lib/pubkey/keypair/keypair.h
    functionUses: 2
    functionsReached:
    - public_key
    - Botan::KeyPair::encryption_consistency_check
    linkageType: ''
    returnType: bool
    signature: bool encryption_consistency_check(RandomNumberGenerator& rng, const
      Private_Key& sk, std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/keypair/keypair.h:65,1
    - Dst: Botan::KeyPair::signature_consistency_check
      Src: /src/botan/src/lib/pubkey/keypair/keypair.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' rng'
    - ' sk'
    - padding
    argTypes:
    - RandomNumberGenerator
    - Private_Key
    - std::string_view
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: Botan::KeyPair::signature_consistency_check
    functionSourceFile: /src/botan/src/lib/pubkey/keypair/keypair.h
    functionUses: 5
    functionsReached:
    - public_key
    - Botan::KeyPair::signature_consistency_check
    linkageType: ''
    returnType: bool
    signature: bool signature_consistency_check(RandomNumberGenerator& rng, const
      Private_Key& sk, std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_q
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:29,1
    - Dst: LMS_Tree_Node_Idx::get
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' identifier'
    - q
    argTypes:
    - LMS_Identifier
    - LMS_Tree_Node_Idx
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::Chain_Generator::Chain_Generator
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 0
    functionsReached:
    - set_q
    - LMS_Tree_Node_Idx::get
    linkageType: ''
    returnType: void
    signature: void Chain_Generator(const LMS_Identifier& identifier, LMS_Tree_Node_Idx
      q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:38,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:40,1
    - Dst: set_i
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:41,1
    - Dst: set_j
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:44,1
    - Dst: gen
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - ' hash'
    - chain_idx
    - start
    - end
    - in
    - out
    argTypes:
    - HashFunction
    - uint16_t
    - uint8_t
    - uint8_t
    - std::span<const uint8_t>
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 47
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 47
    functionName: Botan::Chain_Generator::process
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 0
    functionsReached:
    - set_j
    - copy_mem
    - gen
    - set_i
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void process(HashFunction& hash,\n                   uint16_t chain_idx,\n
      \                  uint8_t start,\n                   uint8_t end,\n                   std::span<const
      uint8_t> in,\n                   std::span<uint8_t> out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:55,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - S
    - i
    argTypes:
    - std::span<const uint8_t>
    - uint32_t
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: Botan::byte
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t byte(std::span<const uint8_t> S, uint32_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - S
    - i
    - ' params'
    argTypes:
    - std::span<const uint8_t>
    - uint32_t
    - LMOTS_Params
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: Botan::coef
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t coef(std::span<const uint8_t> S, uint32_t i, const LMOTS_Params&
      params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: n
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:71,1
    - Dst: w
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:71,1
    - Dst: coef_max
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:72,1
    - Dst: Botan::coef
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:72,1
    - Dst: Botan::checked_cast_to
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:74,1
    - Dst: ls
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' params'
    - S
    argTypes:
    - LMOTS_Params
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: Botan::checksum
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 0
    functionsReached:
    - Botan::checked_cast_to
    - ls
    - n
    - coef_max
    - Botan::coef
    - w
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t checksum(const LMOTS_Params& params, std::span<const uint8_t>
      S)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: n
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:82,1
    - Dst: Botan::hash
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:84,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:85,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:86,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:86,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:87,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:87,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:88,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:89,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:90,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:90,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:91,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:93,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:93,1
    - Dst: Botan::checksum
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ' params'
    - ' identifier'
    - ' q'
    - C
    - ' msg'
    argTypes:
    - LMOTS_Params
    - LMS_Identifier
    - LMS_Tree_Node_Idx
    - std::span<const uint8_t>
    - LMS_Message
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: Botan::gen_Q_with_cksm
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 0
    functionsReached:
    - Botan::checksum
    - auto::final
    - BufferStuffer::append
    - n
    - auto::update
    - Botan::store_be
    - Botan::hash
    - BufferStuffer::next
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> gen_Q_with_cksm(const LMOTS_Params& params,\n
      \                                    const LMS_Identifier& identifier,\n                                     const
      LMS_Tree_Node_Idx& q,\n                                     std::span<const
      uint8_t> C,\n                                     const LMS_Message& msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMOTS_Params::LMOTS_Params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 1
    argNames:
    - type
    argTypes:
    - LMOTS_Algorithm_Type
    constantsTouched: []
    func_position:
      end: 142
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 142
    functionName: Botan::LMOTS_Params::create_or_throw
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 1
    functionsReached:
    - Botan::LMOTS_Params::LMOTS_Params
    linkageType: ''
    returnType: LMOTS_Params
    signature: LMOTS_Params LMOTS_Params::create_or_throw(LMOTS_Algorithm_Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:146,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:160,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:174,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:188,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:202,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:205,1
    - Dst: Botan::LMOTS_Params::LMOTS_Params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:208,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 2
    argNames:
    - hash_name
    - w
    argTypes:
    - std::string_view
    - uint8_t
    constantsTouched: []
    func_position:
      end: 209
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 209
    functionName: Botan::LMOTS_Params::create_or_throw
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 1
    functionsReached:
    - Botan::LMOTS_Params::LMOTS_Params
    - Decoding_Error
    linkageType: ''
    returnType: LMOTS_Params
    signature: LMOTS_Params LMOTS_Params::create_or_throw(std::string_view hash_name,
      uint8_t w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:213,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:214,1
    - Dst: ceil_division<size_t>
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:216,1
    - Dst: ceil_division<size_t>
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:217,1
    - Dst: high_bit
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:217,1
    - Dst: checked_cast_to<uint8_t>
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:218,1
    - Dst: checked_cast_to<uint16_t>
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - algorithm_type
    - hash_name
    - w
    argTypes:
    - LMOTS_Algorithm_Type
    - std::string_view
    - uint8_t
    constantsTouched: []
    func_position:
      end: 220
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 220
    functionName: Botan::LMOTS_Params::LMOTS_Params
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 2
    functionsReached:
    - Botan::HashFunction::create_or_throw
    - auto::output_length
    - checked_cast_to<uint16_t>
    - high_bit
    - checked_cast_to<uint8_t>
    - ceil_division<size_t>
    linkageType: ''
    returnType: void
    signature: void LMOTS_Params::LMOTS_Params(LMOTS_Algorithm_Type algorithm_type,
      std::string_view hash_name, uint8_t w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:225,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:225,1
    - Dst: Botan::LMOTS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:226,1
    - Dst: LMOTS_Params::p
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:229,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:230,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:230,1
    - Dst: LMOTS_Params::n
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:230,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:232,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - lmots_type
    - C
    - y_buffer
    argTypes:
    - LMOTS_Algorithm_Type
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 233
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 233
    functionName: Botan::LMOTS_Signature::LMOTS_Signature
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 0
    functionsReached:
    - Botan::LMOTS_Params::create_or_throw
    - BOTAN_ASSERT_NOMSG
    - BufferSlicer::take
    - LMOTS_Params::p
    - LMOTS_Params::n
    - std::move
    - push_back
    - BufferSlicer::empty
    linkageType: ''
    returnType: void
    signature: "void LMOTS_Signature::LMOTS_Signature(LMOTS_Algorithm_Type lmots_type,\n
      \                                std::vector<uint8_t> C,\n                                 std::vector<uint8_t>
      y_buffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:239,1
    - Dst: load_be<LMOTS_Algorithm_Type>
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:242,1
    - Dst: take
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:242,1
    - Dst: Botan::LMOTS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:245,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:247,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:248,1
    - Dst: copy_as_vector
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:252,1
    - Dst: LMOTS_Params::n
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:252,1
    - Dst: copy_as_vector
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:254,1
    - Dst: LMOTS_Params::p
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:254,1
    - Dst: LMOTS_Params::n
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:254,1
    - Dst: Botan::LMOTS_Signature::LMOTS_Signature
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:256,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:256,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' slicer'
    argTypes:
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 257
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 257
    functionName: Botan::LMOTS_Signature::from_bytes_or_throw
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 1
    functionsReached:
    - Botan::LMOTS_Params::create_or_throw
    - copy_as_vector
    - LMOTS_Params::p
    - Botan::LMOTS_Signature::LMOTS_Signature
    - size
    - take
    - LMOTS_Params::n
    - Decoding_Error
    - std::move
    - load_be<LMOTS_Algorithm_Type>
    linkageType: ''
    returnType: LMOTS_Signature
    signature: LMOTS_Signature LMOTS_Signature::from_bytes_or_throw(BufferSlicer&
      slicer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:265,1
    - Dst: PseudorandomKeyGeneration::set_q
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:267,1
    - Dst: LMS_Tree_Node_Idx::get
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:267,1
    - Dst: PseudorandomKeyGeneration::set_j
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:268,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:270,1
    - Dst: PseudorandomKeyGeneration::set_i
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:271,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:272,1
    - Dst: PseudorandomKeyGeneration::gen
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' params'
    - ' identifier'
    - q
    - ' seed'
    argTypes:
    - LMOTS_Params
    - LMS_Identifier
    - LMS_Tree_Node_Idx
    - LMS_Seed
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: Botan::LMOTS_Private_Key::LMOTS_Private_Key
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 0
    functionsReached:
    - hash
    - PseudorandomKeyGeneration::set_i
    - p
    - PseudorandomKeyGeneration::gen
    - push_back
    - PseudorandomKeyGeneration::set_q
    - PseudorandomKeyGeneration::set_j
    - LMS_Tree_Node_Idx::get
    linkageType: ''
    returnType: void
    signature: "void LMOTS_Private_Key::LMOTS_Private_Key(const LMOTS_Params& params,\n
      \                                    const LMS_Identifier& identifier,\n                                     LMS_Tree_Node_Idx
      q,\n                                     const LMS_Seed& seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:277,1
    - Dst: StrongSpan<LMOTS_Signature_Bytes>::size
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:277,1
    - Dst: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::block_size
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:277,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:277,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:279,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:280,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:280,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:280,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:281,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:281,1
    - Dst: Botan::LMOTS_Private_Key::derive_random_C
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:286,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:287,1
    - Dst: gen_Q_with_cksm
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:289,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:289,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:289,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:289,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:292,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:293,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:293,1
    - Dst: Chain_Generator::process
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:295,1
    - Dst: chain_input
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:295,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:297,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - out_sig
    - ' msg'
    argTypes:
    - StrongSpan<LMOTS_Signature_Bytes>
    - LMS_Message
    constantsTouched: []
    func_position:
      end: 298
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 298
    functionName: Botan::LMOTS_Private_Key::sign
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::full
    - gen_Q_with_cksm
    - BufferStuffer::append
    - Chain_Generator::process
    - chain_input
    - BOTAN_ASSERT_NOMSG
    - Botan::LMOTS_Private_Key::derive_random_C
    - StrongSpan<LMOTS_Signature_Bytes>::size
    - q
    - params
    - identifier
    - Botan::CT::unpoison
    - Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::block_size
    - BOTAN_ARG_CHECK
    - store_be
    - BufferStuffer::next
    linkageType: ''
    returnType: void
    signature: void LMOTS_Private_Key::sign(StrongSpan<LMOTS_Signature_Bytes> out_sig,
      const LMS_Message& msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PseudorandomKeyGeneration::set_q
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:303,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:303,1
    - Dst: PseudorandomKeyGeneration::set_i
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:304,1
    - Dst: PseudorandomKeyGeneration::set_j
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:305,1
    - Dst: PseudorandomKeyGeneration::gen
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - ' hash'
    argTypes:
    - std::span<uint8_t>
    - HashFunction
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: Botan::LMOTS_Private_Key::derive_random_C
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 1
    functionsReached:
    - PseudorandomKeyGeneration::set_i
    - q
    - PseudorandomKeyGeneration::gen
    - PseudorandomKeyGeneration::set_q
    - PseudorandomKeyGeneration::set_j
    linkageType: ''
    returnType: void
    signature: void LMOTS_Private_Key::derive_random_C(std::span<uint8_t> out, HashFunction&
      hash) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:311,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:312,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:312,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:313,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:313,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:313,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:314,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:314,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:316,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:316,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:317,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:318,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:319,1
    - Dst: Chain_Generator::process
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:320,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:320,1
    - Dst: chain_input
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:320,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:321,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' lmots_sk'
    argTypes:
    - LMOTS_Private_Key
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: Botan::LMOTS_Public_Key::LMOTS_Public_Key
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 0
    functionsReached:
    - auto::final
    - chain_input
    - auto::update
    - q
    - params
    - identifier
    - store_be
    - Chain_Generator::process
    linkageType: ''
    returnType: void
    signature: void LMOTS_Public_Key::LMOTS_Public_Key(const LMOTS_Private_Key& lmots_sk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMOTS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:331,1
    - Dst: algorithm_type
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:331,1
    - Dst: Botan::gen_Q_with_cksm
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:335,1
    - Dst: C
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:335,1
    - Dst: auto::hash
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:338,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:339,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:340,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:340,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:341,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:341,1
    - Dst: auto::hash
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:344,1
    - Dst: auto::n
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:345,1
    - Dst: auto::p
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:346,1
    - Dst: Chain_Generator::process
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:348,1
    - Dst: auto::coef_max
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:348,1
    - Dst: y
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:348,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:349,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ' sig'
    - ' msg'
    - ' identifier'
    - q
    argTypes:
    - LMOTS_Signature
    - LMS_Message
    - LMS_Identifier
    - LMS_Tree_Node_Idx
    constantsTouched: []
    func_position:
      end: 353
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 353
    functionName: Botan::lmots_compute_pubkey_from_sig
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.cpp
    functionUses: 1
    functionsReached:
    - auto::n
    - auto::final
    - Botan::LMOTS_Params::create_or_throw
    - C
    - y
    - auto::update
    - auto::hash
    - Botan::gen_Q_with_cksm
    - algorithm_type
    - auto::coef_max
    - auto::p
    - Botan::store_be
    - Chain_Generator::process
    linkageType: ''
    returnType: LMOTS_K
    signature: "LMOTS_K lmots_compute_pubkey_from_sig(const LMOTS_Signature& sig,\n
      \                                     const LMS_Message& msg,\n                                      const
      LMS_Identifier& identifier,\n                                      LMS_Tree_Node_Idx
      q)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp:19,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp:20,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp:21,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp:22,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp:23,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp:23,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: Botan::PseudorandomKeyGeneration::PseudorandomKeyGeneration
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - std::span<const uint8_t>::size
    - std::span
    linkageType: ''
    returnType: void
    signature: void PseudorandomKeyGeneration::PseudorandomKeyGeneration(std::span<const
      uint8_t> identifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp:27,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp:28,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - ' hash'
    - seed
    argTypes:
    - std::span<uint8_t>
    - HashFunction
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: Botan::PseudorandomKeyGeneration::gen
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.cpp
    functionUses: 0
    functionsReached:
    - update
    - final
    linkageType: ''
    returnType: void
    signature: void PseudorandomKeyGeneration::gen(std::span<uint8_t> out, HashFunction&
      hash, std::span<const uint8_t> seed) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:98,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:98,1
    - Dst: Botan::checked_cast_to
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:103,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 118
    functionName: Botan::HSS_LMS_Params
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 0
    functionsReached:
    - Botan::size
    - Botan::get
    - at
    - Botan::checked_cast_to
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API HSS_LMS_Params
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: '& hss_params() const'
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HSS_LMS_Params
    signature: HSS_LMS_Params & hss_params() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: Botan::HSS_LMS_PrivateKeyInternal::get_idx
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HSS_Sig_Idx
    signature: HSS_Sig_Idx get_idx() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: Botan::HSS_LMS_PrivateKeyInternal::signature_size
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t signature_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: Botan::HSS_LMS_PrivateKeyInternal::_const_time_poison
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: Botan::HSS_LMS_PrivateKeyInternal::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - L
    - top_lms_pub_key
    argTypes:
    - HSS_Level
    - LMS_PublicKey
    constantsTouched: []
    func_position:
      end: 265
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 265
    functionName: Botan::HSS_LMS_PublicKeyInternal::HSS_LMS_PublicKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_PublicKeyInternal(HSS_Level L, LMS_PublicKey top_lms_pub_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: '& lms_pub_key() const'
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LMS_PublicKey
    signature: LMS_PublicKey & lms_pub_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: Botan::HSS_LMS_PublicKeyInternal::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: Botan::HSS_LMS_PublicKeyInternal::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HSS_Level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:371,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:371,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:371,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:379,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:379,1
    - Dst: Botan::HSS_Signature
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.h:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 395
    functionName: Botan::HSS_Signature
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.h
    functionUses: 1
    functionsReached:
    - Botan::size
    - Botan::get
    - Botan::HSS_Signature
    - static_cast<uint32_t>
    - at
    - HSS_Level
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API HSS_Signature
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - total_tree_height
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::TreeAddress::TreeAddress
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void TreeAddress(uint32_t total_tree_height)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:38,1
    - Dst: LMS_Tree_Node_Idx::get
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:38,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:39,1
    - Dst: LMS_TreeLayerIndex::get
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:39,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:40,1
    - Dst: LMS_Tree_Node_Idx::get
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tree_layer
    - tree_index
    argTypes:
    - LMS_TreeLayerIndex
    - LMS_Tree_Node_Idx
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: '& set_address(LMS_TreeLayerIndex tree_layer, LMS_Tree_Node_Idx
      tree_index)'
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - LMS_Tree_Node_Idx::get
    - LMS_TreeLayerIndex::get
    - BOTAN_ARG_CHECK
    - Botan::get
    linkageType: ''
    returnType: TreeAddress
    signature: TreeAddress & set_address(LMS_TreeLayerIndex tree_layer, LMS_Tree_Node_Idx
      tree_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::TreeAddress::r
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t r() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan::TreeAddress::is_leaf
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_leaf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:49,1
    - Dst: Botan::TreeAddress::is_leaf
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:49,1
    - Dst: LMS_Tree_Node_Idx
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:50,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: Botan::TreeAddress::q
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - get
    - BOTAN_STATE_CHECK
    - Botan::TreeAddress::is_leaf
    - LMS_Tree_Node_Idx
    linkageType: ''
    returnType: LMS_Tree_Node_Idx
    signature: LMS_Tree_Node_Idx q() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hash
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:59,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:59,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:63,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:64,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:64,1
    - Dst: r
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:64,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:65,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:65,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:66,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:67,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' lms_params'
    - identifier
    argTypes:
    - LMS_Params
    - LMS_Identifier
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: Botan::get_hash_pair_func_for_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::update
    - Botan::final
    - std::move
    - Botan::store_be
    - Botan::hash
    - r
    linkageType: ''
    returnType: auto
    signature: auto get_hash_pair_func_for_identifier(const LMS_Params& lms_params,
      LMS_Identifier identifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:76,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:76,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:77,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:77,1
    - Dst: r
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:77,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:78,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:78,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:79,1
    - Dst: K
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:79,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - out
    - ' lmots_pk'
    - ' tree_address'
    - ' hash'
    argTypes:
    - StrongSpan<LMS_Tree_Node>
    - LMOTS_Public_Key
    - TreeAddress
    - HashFunction
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: Botan::lms_gen_leaf
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - K
    - Botan::update
    - Botan::final
    - identifier
    - Botan::store_be
    - r
    linkageType: ''
    returnType: void
    signature: "void lms_gen_leaf(StrongSpan<LMS_Tree_Node> out,\n                  const
      LMOTS_Public_Key& lmots_pk,\n                  const TreeAddress& tree_address,\n
      \                 HashFunction& hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:84,1
    - Dst: Botan::LMOTS_Private_Key
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:85,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:85,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:85,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:85,1
    - Dst: seed
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:85,1
    - Dst: Botan::LMOTS_Public_Key
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:86,1
    - Dst: Botan::lms_gen_leaf
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' lms_sk'
    argTypes:
    - LMS_PrivateKey
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: Botan::lms_gen_leaf_func
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::lms_gen_leaf
    - Botan::LMOTS_Private_Key
    - q
    - lms_params
    - lmots_params
    - Botan::LMOTS_Public_Key
    - identifier
    - seed
    linkageType: ''
    returnType: auto
    signature: auto lms_gen_leaf_func(const LMS_PrivateKey& lms_sk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get_hash_pair_func_for_identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:95,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:95,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:95,1
    - Dst: Botan::lms_gen_leaf_func
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:96,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:97,1
    - Dst: Botan::treehash
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:99,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:102,1
    - Dst: LMS_TreeLayerIndex
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:103,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:103,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:105,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out_root
    - out_auth_path
    - leaf_idx
    - ' lms_sk'
    argTypes:
    - StrongSpan<LMS_Tree_Node>
    - std::optional<StrongSpan<LMS_AuthenticationPath>>
    - std::optional<LMS_Tree_Node_Idx>
    - LMS_PrivateKey
    constantsTouched: []
    func_position:
      end: 108
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 108
    functionName: Botan::lms_treehash
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - LMS_TreeLayerIndex
    - Botan::lms_gen_leaf_func
    - Botan::get_hash_pair_func_for_identifier
    - lms_params
    - identifier
    - std::move
    - Botan::treehash
    linkageType: ''
    returnType: void
    signature: "void lms_treehash(StrongSpan<LMS_Tree_Node> out_root,\n                  std::optional<StrongSpan<LMS_AuthenticationPath>>
      out_auth_path,\n                  std::optional<LMS_Tree_Node_Idx> leaf_idx,\n
      \                 const LMS_PrivateKey& lms_sk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMS_Params::LMS_Params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 1
    argNames:
    - type
    argTypes:
    - LMS_Algorithm_Type
    constantsTouched: []
    func_position:
      end: 161
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 161
    functionName: Botan::LMS_Params::create_or_throw
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::LMS_Params::LMS_Params
    linkageType: ''
    returnType: LMS_Params
    signature: LMS_Params LMS_Params::create_or_throw(LMS_Algorithm_Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:178,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:194,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:210,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:226,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:229,1
    - Dst: Botan::LMS_Params::LMS_Params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:232,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 68
    argCount: 2
    argNames:
    - hash_name
    - height
    argTypes:
    - std::string_view
    - uint8_t
    constantsTouched: []
    func_position:
      end: 233
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 233
    functionName: Botan::LMS_Params::create_or_throw
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - Botan::LMS_Params::LMS_Params
    linkageType: ''
    returnType: LMS_Params
    signature: LMS_Params LMS_Params::create_or_throw(std::string_view hash_name,
      uint8_t height)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:237,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - algorithm_type
    - hash_name
    - h
    argTypes:
    - LMS_Algorithm_Type
    - std::string_view
    - uint8_t
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: Botan::LMS_Params::LMS_Params
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 2
    functionsReached:
    - auto::output_length
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: void
    signature: void LMS_Params::LMS_Params(LMS_Algorithm_Type algorithm_type, std::string_view
      hash_name, uint8_t h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:245,1
    - Dst: StrongSpan<LMS_Signature_Bytes>::size
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:245,1
    - Dst: Botan::LMS_Signature::size
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:245,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:245,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:245,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:248,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:248,1
    - Dst: LMOTS_Private_Key::sign
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:250,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:250,1
    - Dst: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::block_size
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:250,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:250,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:251,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:251,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:251,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:252,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:252,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:252,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:254,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:254,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:256,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:257,1
    - Dst: lms_treehash
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:258,1
    - Dst: StrongSpan<LMS_Tree_Node>
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:258,1
    - Dst: LMS_Tree_Node::get
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:258,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:260,1
    - Dst: LMS_PublicKey
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:261,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:261,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:261,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:261,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - out_sig
    - q
    - ' msg'
    argTypes:
    - StrongSpan<LMS_Signature_Bytes>
    - LMS_Tree_Node_Idx
    - LMS_Message
    constantsTouched: []
    func_position:
      end: 262
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 262
    functionName: Botan::LMS_PrivateKey::sign_and_get_pk
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::append
    - LMS_Tree_Node::get
    - lmots_params
    - StrongSpan<LMS_Tree_Node>
    - StrongSpan<LMS_Signature_Bytes>::size
    - LMS_PublicKey
    - store_be
    - BOTAN_ASSERT_NOMSG
    - Botan::LMS_Signature::size
    - LMOTS_Private_Key::sign
    - BOTAN_ARG_CHECK
    - lms_params
    - identifier
    - std::move
    - lms_treehash
    - BufferStuffer::next
    - Botan::CT::unpoison
    - Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::block_size
    - BufferStuffer::full
    linkageType: ''
    returnType: LMS_PublicKey
    signature: "LMS_PublicKey LMS_PrivateKey::sign_and_get_pk(StrongSpan<LMS_Signature_Bytes>
      out_sig,\n                                              LMS_Tree_Node_Idx q,\n
      \                                             const LMS_Message& msg) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:268,1
    - Dst: load_be<LMS_Algorithm_Type>
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:271,1
    - Dst: take
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:271,1
    - Dst: Botan::LMS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:273,1
    - Dst: Botan::LMS_PublicKey::size
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:275,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:276,1
    - Dst: load_be<LMOTS_Algorithm_Type>
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:279,1
    - Dst: take
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:279,1
    - Dst: Botan::LMOTS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:280,1
    - Dst: auto::hash_name
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:282,1
    - Dst: auto::hash_name
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:282,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:283,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:287,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:289,1
    - Dst: auto::m
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:289,1
    - Dst: Botan::LMS_PublicKey::LMS_PublicKey
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:291,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:291,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:291,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:291,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' slicer'
    argTypes:
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 292
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 292
    functionName: Botan::LMS_PublicKey::from_bytes_or_throw
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 1
    functionsReached:
    - Botan::LMOTS_Params::create_or_throw
    - copy
    - load_be<LMS_Algorithm_Type>
    - Botan::LMS_PublicKey::size
    - take
    - auto::m
    - Decoding_Error
    - auto::hash_name
    - Botan::LMS_PublicKey::LMS_PublicKey
    - std::move
    - load_be<LMOTS_Algorithm_Type>
    - Botan::LMS_Params::create_or_throw
    linkageType: ''
    returnType: LMS_PublicKey
    signature: LMS_PublicKey LMS_PublicKey::from_bytes_or_throw(BufferSlicer& slicer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:296,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:297,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:297,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:298,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:298,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: Botan::LMS_PublicKey::to_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - concat
    - lms_params
    - lmots_params
    - identifier
    - store_be
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> LMS_PublicKey::to_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:308,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:308,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:308,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:308,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:309,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:309,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:310,1
    - Dst: Botan::LMS_PublicKey::size
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:310,1
    - Dst: Botan::LMS_PublicKey::lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - lms_params
    - lmots_params
    - I
    - lms_root
    argTypes:
    - LMS_Params
    - LMOTS_Params
    - LMS_Identifier
    - LMS_Tree_Node
    constantsTouched: []
    func_position:
      end: 311
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 311
    functionName: Botan::LMS_PublicKey::LMS_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 1
    functionsReached:
    - Botan::LMS_PublicKey::size
    - identifier
    - std::move
    - Botan::LMS_PublicKey::lms_params
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void LMS_PublicKey::LMS_PublicKey(LMS_Params lms_params,\n                             LMOTS_Params
      lmots_params,\n                             LMS_Identifier I,\n                             LMS_Tree_Node
      lms_root)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' lms_params'
    argTypes:
    - LMS_Params
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: Botan::LMS_PublicKey::size
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 2
    functionsReached:
    - m
    linkageType: ''
    returnType: size_t
    signature: size_t LMS_PublicKey::size(const LMS_Params& lms_params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:321,1
    - Dst: load_be<LMS_Tree_Node_Idx>
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:324,1
    - Dst: take
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:324,1
    - Dst: Botan::LMOTS_Signature::from_bytes_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:327,1
    - Dst: Botan::LMOTS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:328,1
    - Dst: auto::algorithm_type
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:328,1
    - Dst: remaining
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:330,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:331,1
    - Dst: load_be<LMS_Algorithm_Type>
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:334,1
    - Dst: take
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:334,1
    - Dst: Botan::LMS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:336,1
    - Dst: Botan::LMS_Signature::size
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:338,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:339,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:343,1
    - Dst: LMS_Params::m
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:343,1
    - Dst: LMS_Params::h
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:343,1
    - Dst: LMS_Signature
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:345,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:345,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' slicer'
    argTypes:
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 346
      start: 317
    functionDepth: 4
    functionLinenumber: 317
    functionLinenumberEnd: 346
    functionName: Botan::LMS_Signature::from_bytes_or_throw
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 1
    functionsReached:
    - Botan::LMOTS_Signature::from_bytes_or_throw
    - Botan::LMOTS_Params::create_or_throw
    - LMS_Params::m
    - copy
    - load_be<LMS_Tree_Node_Idx>
    - remaining
    - load_be<LMS_Algorithm_Type>
    - take
    - LMS_Signature
    - Botan::LMS_Signature::size
    - Decoding_Error
    - std::move
    - auto::algorithm_type
    - Botan::LMS_Params::create_or_throw
    - LMS_Params::h
    linkageType: ''
    returnType: LMS_Signature
    signature: LMS_Signature LMS_Signature::from_bytes_or_throw(BufferSlicer& slicer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:348,1
    - Dst: lms_treehash
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:349,1
    - Dst: StrongSpan<LMS_Tree_Node>
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sk'
    argTypes:
    - LMS_PrivateKey
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: Botan::LMS_PublicKey::LMS_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 1
    functionsReached:
    - StrongSpan<LMS_Tree_Node>
    - lms_treehash
    - lms_params
    linkageType: ''
    returnType: void
    signature: void LMS_PublicKey::LMS_PublicKey(const LMS_PrivateKey& sk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lms_root
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:353,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:353,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:357,1
    - Dst: lms_type
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:357,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:362,1
    - Dst: lmots_sig
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:362,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:367,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:367,1
    - Dst: Botan::LMS_PublicKey::lms_compute_root_from_sig
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:371,1
    - Dst: std::optional::has_value
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:372,1
    - Dst: std::optional::value
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:376,1
    - Dst: lms_root
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' msg'
    - ' sig'
    argTypes:
    - LMS_Message
    - LMS_Signature
    constantsTouched: []
    func_position:
      end: 377
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 377
    functionName: Botan::LMS_PublicKey::verify_signature
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 0
    functionsReached:
    - lms_type
    - std::optional::has_value
    - q
    - lms_params
    - lmots_params
    - lmots_sig
    - std::optional::value
    - lms_root
    - Botan::LMS_PublicKey::lms_compute_root_from_sig
    linkageType: ''
    returnType: bool
    signature: bool LMS_PublicKey::verify_signature(const LMS_Message& msg, const
      LMS_Signature& sig) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:382,1
    - Dst: lms_type
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:382,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:383,1
    - Dst: lmots_sig
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:383,1
    - Dst: Botan::LMS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:387,1
    - Dst: lms_type
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:387,1
    - Dst: lmots_sig
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:388,1
    - Dst: Botan::LMOTS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:389,1
    - Dst: algorithm_type
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:389,1
    - Dst: lmots_compute_pubkey_from_sig
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:390,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:390,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:390,1
    - Dst: LMS_Params::hash
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:391,1
    - Dst: get_hash_pair_func_for_identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:393,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:393,1
    - Dst: TreeAddress
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:395,1
    - Dst: LMS_Params::h
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:395,1
    - Dst: auto::set_address
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:396,1
    - Dst: LMS_TreeLayerIndex
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:396,1
    - Dst: LMS_Tree_Node_Idx
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:396,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:396,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:398,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:398,1
    - Dst: LMS_Params::m
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:399,1
    - Dst: lms_gen_leaf
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:400,1
    - Dst: LMS_Params::m
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:402,1
    - Dst: compute_root
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:404,1
    - Dst: StrongSpan<LMS_Tree_Node>
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:404,1
    - Dst: auth_path
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:405,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:406,1
    - Dst: StrongSpan<const LMS_Tree_Node>
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:407,1
    - Dst: LMS_Params::m
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:408,1
    - Dst: LMS_TreeLayerIndex
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:409,1
    - Dst: LMS_Params::h
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:409,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:411,1
    - Dst: LMS_Tree_Node
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' msg'
    - ' sig'
    argTypes:
    - LMS_Message
    - LMS_Signature
    constantsTouched: []
    func_position:
      end: 417
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 417
    functionName: Botan::LMS_PublicKey::lms_compute_root_from_sig
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 1
    functionsReached:
    - Botan::LMOTS_Params::create_or_throw
    - LMS_Params::m
    - StrongSpan<const LMS_Tree_Node>
    - lms_type
    - auth_path
    - TreeAddress
    - lmots_params
    - StrongSpan<LMS_Tree_Node>
    - lmots_compute_pubkey_from_sig
    - lmots_sig
    - Botan::LMS_Params::create_or_throw
    - compute_root
    - algorithm_type
    - get_hash_pair_func_for_identifier
    - LMS_TreeLayerIndex
    - lms_gen_leaf
    - q
    - lms_params
    - identifier
    - std::move
    - LMS_Params::h
    - LMS_Tree_Node_Idx
    - auto::set_address
    - LMS_Params::hash
    - LMS_Tree_Node
    linkageType: ''
    returnType: std::optional<LMS_Tree_Node>
    signature: "std::optional<LMS_Tree_Node> LMS_PublicKey::lms_compute_root_from_sig(const
      LMS_Message& msg,\n                                                                      const
      LMS_Signature& sig) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::block_size
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:420,1
    - Dst: h
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:420,1
    - Dst: m
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.cpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lms_params'
    - ' lmots_params'
    argTypes:
    - LMS_Params
    - LMOTS_Params
    constantsTouched: []
    func_position:
      end: 421
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 421
    functionName: Botan::LMS_Signature::size
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.cpp
    functionUses: 3
    functionsReached:
    - Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::block_size
    - h
    - m
    linkageType: ''
    returnType: size_t
    signature: size_t LMS_Signature::size(const LMS_Params& lms_params, const LMOTS_Params&
      lmots_params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan::PseudorandomKeyGeneration::set_q
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.h
    functionUses: 0
    functionsReached:
    - store_be
    linkageType: ''
    returnType: void
    signature: void set_q(uint32_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::PseudorandomKeyGeneration::set_i
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.h
    functionUses: 0
    functionsReached:
    - store_be
    linkageType: ''
    returnType: void
    signature: void set_i(uint16_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::PseudorandomKeyGeneration::set_j
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.h
    functionUses: 0
    functionsReached:
    - store_be
    linkageType: ''
    returnType: void
    signature: void set_j(uint8_t j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.h:55,1
    - Dst: Botan::PseudorandomKeyGeneration::gen
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' hash'
    - seed
    argTypes:
    - HashFunction
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: Botan::PseudorandomKeyGeneration::gen
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms_utils.h
    functionUses: 1
    functionsReached:
    - output_length
    - Botan::PseudorandomKeyGeneration::gen
    linkageType: ''
    returnType: T
    signature: T gen(HashFunction& hash, std::span<const uint8_t> seed) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - hash_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: Botan::is_supported_hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_supported_hash_function(std::string_view hash_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:61,1
    - Dst: params_at_level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:64,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:66,1
    - Dst: HSS_Level::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:66,1
    - Dst: Botan::checked_cast_to
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:67,1
    - Dst: HSS_Sig_Idx::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:67,1
    - Dst: Botan::checked_cast_to
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:67,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:70,1
    - Dst: HSS_Sig_Idx
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hss_idx
    - ' hss_params'
    argTypes:
    - HSS_Sig_Idx
    - HSS_LMS_Params
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: Botan::derive_lms_leaf_indices_from_hss_index
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - params_at_level
    - Botan::checked_cast_to
    - BOTAN_ARG_CHECK
    - HSS_Sig_Idx
    - HSS_Level::get
    - L
    - std::vector::at
    - HSS_Sig_Idx::get
    linkageType: ''
    returnType: std::vector<LMS_Tree_Node_Idx>
    signature: "std::vector<LMS_Tree_Node_Idx> derive_lms_leaf_indices_from_hss_index(HSS_Sig_Idx
      hss_idx,\n                                                                      const
      HSS_LMS_Params& hss_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:78,1
    - Dst: Botan::HSS_LMS_Params::calc_max_sig_count
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:78,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:79,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:79,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - lm_lmots_params
    argTypes:
    - std::vector<LMS_LMOTS_Params_Pair>
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: Botan::HSS_LMS_Params::HSS_LMS_Params
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - size
    - empty
    - std::move
    - BOTAN_ARG_CHECK
    - Botan::HSS_LMS_Params::calc_max_sig_count
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_Params::HSS_LMS_Params(std::vector<LMS_LMOTS_Params_Pair>
      lm_lmots_params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:85,1
    - Dst: std::string
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:86,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:88,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:93,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:93,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:93,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:94,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:95,1
    - Dst: is_supported_hash_function
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:95,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:97,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:98,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:99,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:99,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:100,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:100,1
    - Dst: checked_cast_to_or_throw<uint8_t, Invalid_Argument>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:102,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:102,1
    - Dst: checked_cast_to_or_throw<uint8_t, Invalid_Argument>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:103,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:103,1
    - Dst: push_back
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:105,1
    - Dst: Botan::LMS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:105,1
    - Dst: Botan::LMOTS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:105,1
    - Dst: Botan::HSS_LMS_Params::calc_max_sig_count
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - algo_params
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 108
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 108
    functionName: Botan::HSS_LMS_Params::HSS_LMS_Params
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - SCAN_Name::algo_name
    - std::string_view::starts_with
    - checked_cast_to_or_throw<uint8_t, Invalid_Argument>
    - Botan::LMS_Params::create_or_throw
    - Botan::LMOTS_Params::create_or_throw
    - SCAN_Name::arg_as_integer
    - SCAN_Name::arg_count
    - fmt
    - std::string
    - push_back
    - is_supported_hash_function
    - SCAN_Name::arg
    - BOTAN_ARG_CHECK
    - Botan::HSS_LMS_Params::calc_max_sig_count
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_Params::HSS_LMS_Params(std::string_view algo_params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:112,1
    - Dst: params_at_level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:113,1
    - Dst: HSS_Sig_Idx
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:116,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:116,1
    - Dst: HSS_Sig_Idx
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: Botan::HSS_LMS_Params::calc_max_sig_count
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 2
    functionsReached:
    - L
    - params_at_level
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - HSS_Sig_Idx
    linkageType: ''
    returnType: HSS_Sig_Idx
    signature: HSS_Sig_Idx HSS_LMS_Params::calc_max_sig_count() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_Signature::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:122,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:123,1
    - Dst: params_at_level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:123,1
    - Dst: HSS_Level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:123,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' hss_params'
    - ' rng'
    argTypes:
    - HSS_LMS_Params
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: Botan::HSS_LMS_PrivateKeyInternal::HSS_LMS_PrivateKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - params_at_level
    - HSS_Level
    - random_vec
    - Botan::HSS_Signature::size
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_PrivateKeyInternal::HSS_LMS_PrivateKeyInternal(const HSS_LMS_Params&
      hss_params, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:129,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:130,1
    - Dst: load_be<HSS_Level>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:134,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:134,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:136,1
    - Dst: load_be<HSS_Sig_Idx>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:139,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:139,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:143,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:144,1
    - Dst: load_be<LMS_Algorithm_Type>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:146,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:146,1
    - Dst: load_be<LMOTS_Algorithm_Type>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:147,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:147,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:148,1
    - Dst: Botan::LMS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:148,1
    - Dst: Botan::LMOTS_Params::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:148,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:150,1
    - Dst: std::any_of
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:151,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:151,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:151,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:156,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:159,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:159,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:160,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:162,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:162,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:163,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:165,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:166,1
    - Dst: std::shared_ptr<HSS_LMS_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:168,1
    - Dst: HSS_LMS_Params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:169,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:169,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:169,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:169,1
    - Dst: HSS_LMS_PrivateKeyInternal::HSS_LMS_PrivateKeyInternal
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:169,1
    - Dst: auto::set_idx
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:171,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 1
    argNames:
    - key_bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 173
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 173
    functionName: Botan::HSS_LMS_PrivateKeyInternal::from_bytes_or_throw
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - Botan::LMOTS_Params::create_or_throw
    - std::vector::begin
    - std::vector::push_back
    - Decoding_Error
    - auto::set_idx
    - Botan::LMS_Params::create_or_throw
    - std::shared_ptr<HSS_LMS_PrivateKeyInternal>
    - load_be<HSS_Sig_Idx>
    - std::any_of
    - std::span<const uint8_t>::size
    - std::vector::end
    - BufferSlicer::take
    - BufferSlicer::copy
    - std::vector::at
    - std::move
    - HSS_LMS_PrivateKeyInternal::HSS_LMS_PrivateKeyInternal
    - BufferSlicer::remaining
    - load_be<HSS_Level>
    - load_be<LMS_Algorithm_Type>
    - BufferSlicer::empty
    - load_be<LMOTS_Algorithm_Type>
    - HSS_LMS_Params
    linkageType: ''
    returnType: std::shared_ptr<HSS_LMS_PrivateKeyInternal>
    signature: "std::shared_ptr<HSS_LMS_PrivateKeyInternal> HSS_LMS_PrivateKeyInternal::from_bytes_or_throw(\n
      \  std::span<const uint8_t> key_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:179,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:179,1
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:179,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:180,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:180,1
    - Dst: Botan::HSS_LMS_PrivateKeyInternal::get_idx
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:180,1
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:182,1
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:183,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:184,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:184,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:184,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:185,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:185,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:185,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:187,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:188,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:189,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 192
    functionName: Botan::HSS_LMS_PrivateKeyInternal::to_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::append
    - BOTAN_ASSERT_NOMSG
    - Botan::HSS_LMS_PrivateKeyInternal::get_idx
    - hss_params
    - lms_params
    - lmots_params
    - store_be
    - BufferStuffer::full
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> HSS_LMS_PrivateKeyInternal::to_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - HSS_Sig_Idx
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: Botan::HSS_LMS_PrivateKeyInternal::set_idx
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_PrivateKeyInternal::set_idx(HSS_Sig_Idx idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: max_sig_count
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:200,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:201,1
    - Dst: Botan::HSS_LMS_PrivateKeyInternal::set_idx
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: Botan::HSS_LMS_PrivateKeyInternal::reserve_next_idx
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - Botan::HSS_LMS_PrivateKeyInternal::set_idx
    - Decoding_Error
    - max_sig_count
    linkageType: ''
    returnType: HSS_Sig_Idx
    signature: HSS_Sig_Idx HSS_LMS_PrivateKeyInternal::reserve_next_idx()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:210,1
    - Dst: Botan::HSS_LMS_PrivateKeyInternal::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:211,1
    - Dst: Botan::HSS_LMS_PrivateKeyInternal::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: Botan::HSS_LMS_PrivateKeyInternal::size
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 1
    functionsReached:
    - hss_params
    - Botan::HSS_LMS_PrivateKeyInternal::size
    linkageType: ''
    returnType: size_t
    signature: size_t HSS_LMS_PrivateKeyInternal::size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:218,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:219,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:220,1
    - Dst: Botan::HSS_Signature::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:222,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:223,1
    - Dst: Botan::HSS_LMS_PrivateKeyInternal::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:223,1
    - Dst: params_at_level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:223,1
    - Dst: HSS_Level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:223,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:225,1
    - Dst: Botan::HSS_LMS_PrivateKeyInternal::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hss_params
    - hss_seed
    - identifier
    argTypes:
    - HSS_LMS_Params
    - LMS_Seed
    - LMS_Identifier
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: Botan::HSS_LMS_PrivateKeyInternal::HSS_LMS_PrivateKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - params_at_level
    - Botan::HSS_Signature::size
    - Botan::HSS_LMS_PrivateKeyInternal::size
    - std::move
    - HSS_Level
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void HSS_LMS_PrivateKeyInternal::HSS_LMS_PrivateKeyInternal(HSS_LMS_Params
      hss_params,\n                                                       LMS_Seed
      hss_seed,\n                                                       LMS_Identifier
      identifier)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:231,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:231,1
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:231,1
    - Dst: derive_lms_leaf_indices_from_hss_index
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:233,1
    - Dst: Botan::HSS_LMS_PrivateKeyInternal::reserve_next_idx
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:233,1
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:233,1
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:239,1
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:241,1
    - Dst: HSS_Level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:242,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:243,1
    - Dst: Botan::HSS_LMS_PrivateKeyInternal::hss_derive_root_lms_private_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:243,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:245,1
    - Dst: Botan::HSS_LMS_PrivateKeyInternal::hss_derive_child_lms_private_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:246,1
    - Dst: std::vector::back
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:246,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:246,1
    - Dst: HSS_Level::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:246,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:247,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:247,1
    - Dst: Botan::LMS_PublicKey::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:247,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:247,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:249,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:249,1
    - Dst: Botan::LMS_Signature::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:250,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:250,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:250,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:252,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:252,1
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:258,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:260,1
    - Dst: HSS_Level::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:260,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:261,1
    - Dst: HSS_Level::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:261,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:261,1
    - Dst: HSS_Level::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:261,1
    - Dst: LMS_Message
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:261,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:264,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:264,1
    - Dst: HSS_Level::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:264,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:266,1
    - Dst: HSS_Level::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:266,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:267,1
    - Dst: HSS_Level::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:267,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:267,1
    - Dst: HSS_Level::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:267,1
    - Dst: LMS_Message
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 273
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 273
    functionName: Botan::HSS_LMS_PrivateKeyInternal::sign
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::append
    - hss_params
    - Botan::HSS_LMS_PrivateKeyInternal::hss_derive_root_lms_private_key
    - std::vector::back
    - lmots_params
    - copy_mem
    - std::vector::push_back
    - HSS_Level
    - store_be
    - BOTAN_ASSERT_NOMSG
    - LMS_Message
    - Botan::LMS_Signature::size
    - Botan::HSS_LMS_PrivateKeyInternal::hss_derive_child_lms_private_key
    - lms_params
    - BufferStuffer::next
    - Botan::LMS_PublicKey::size
    - Botan::HSS_LMS_PrivateKeyInternal::reserve_next_idx
    - HSS_Level::get
    - derive_lms_leaf_indices_from_hss_index
    - std::vector::at
    - BufferStuffer::full
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> HSS_LMS_PrivateKeyInternal::sign(std::span<const
      uint8_t> msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:276,1
    - Dst: HSS_Level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:276,1
    - Dst: LMS_PrivateKey
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:277,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:277,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: Botan::HSS_LMS_PrivateKeyInternal::hss_derive_root_lms_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 1
    functionsReached:
    - hss_params
    - LMS_PrivateKey
    - lms_params
    - lmots_params
    - HSS_Level
    linkageType: ''
    returnType: LMS_PrivateKey
    signature: LMS_PrivateKey HSS_LMS_PrivateKeyInternal::hss_derive_root_lms_private_key()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:284,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:284,1
    - Dst: identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:287,1
    - Dst: PseudorandomKeyGeneration::set_q
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:288,1
    - Dst: LMS_Tree_Node_Idx::get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:288,1
    - Dst: PseudorandomKeyGeneration::set_i
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:289,1
    - Dst: PseudorandomKeyGeneration::set_j
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:290,1
    - Dst: PseudorandomKeyGeneration::gen
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:291,1
    - Dst: seed
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:291,1
    - Dst: PseudorandomKeyGeneration::set_i
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:294,1
    - Dst: PseudorandomKeyGeneration::gen
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:295,1
    - Dst: seed
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:295,1
    - Dst: auto::resize
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:296,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:297,1
    - Dst: LMS_PrivateKey
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:299,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:299,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:300,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:301,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' child_lms_lmots_params'
    - ' parent_sk'
    - parent_q
    argTypes:
    - HSS_LMS_Params::LMS_LMOTS_Params_Pair
    - LMS_PrivateKey
    - LMS_Tree_Node_Idx
    constantsTouched: []
    func_position:
      end: 303
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 303
    functionName: Botan::HSS_LMS_PrivateKeyInternal::hss_derive_child_lms_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 1
    functionsReached:
    - Botan::HashFunction::create_or_throw
    - LMS_PrivateKey
    - PseudorandomKeyGeneration::set_i
    - lms_params
    - lmots_params
    - PseudorandomKeyGeneration::gen
    - auto::resize
    - identifier
    - std::move
    - seed
    - PseudorandomKeyGeneration::set_q
    - PseudorandomKeyGeneration::set_j
    - Botan::CT::unpoison
    - LMS_Tree_Node_Idx::get
    linkageType: ''
    returnType: LMS_PrivateKey
    signature: "LMS_PrivateKey HSS_LMS_PrivateKeyInternal::hss_derive_child_lms_private_key(\n
      \  const HSS_LMS_Params::LMS_LMOTS_Params_Pair& child_lms_lmots_params,\n   const
      LMS_PrivateKey& parent_sk,\n   LMS_Tree_Node_Idx parent_q)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:306,1
    - Dst: hss_derive_root_lms_private_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:308,1
    - Dst: LMS_PublicKey
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:309,1
    - Dst: Botan::HSS_LMS_PublicKeyInternal::HSS_LMS_PublicKeyInternal
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:311,1
    - Dst: L
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:311,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' hss_sk'
    argTypes:
    - HSS_LMS_PrivateKeyInternal
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: Botan::HSS_LMS_PublicKeyInternal::create
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - Botan::HSS_LMS_PublicKeyInternal::HSS_LMS_PublicKeyInternal
    - hss_params
    - hss_derive_root_lms_private_key
    - std::move
    - LMS_PublicKey
    - L
    linkageType: ''
    returnType: HSS_LMS_PublicKeyInternal
    signature: HSS_LMS_PublicKeyInternal HSS_LMS_PublicKeyInternal::create(const HSS_LMS_PrivateKeyInternal&
      hss_sk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:316,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:317,1
    - Dst: load_be<HSS_Level>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:321,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:321,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:323,1
    - Dst: Botan::LMS_PublicKey::from_bytes_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:326,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:328,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:329,1
    - Dst: std::make_shared<HSS_LMS_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:331,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:331,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - key_bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 332
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 332
    functionName: Botan::HSS_LMS_PublicKeyInternal::from_bytes_or_throw
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - BufferSlicer::take
    - load_be<HSS_Level>
    - Decoding_Error
    - BufferSlicer::empty
    - std::move
    - std::span<const uint8_t>::size
    - Botan::LMS_PublicKey::from_bytes_or_throw
    - std::make_shared<HSS_LMS_PublicKeyInternal>
    linkageType: ''
    returnType: std::shared_ptr<HSS_LMS_PublicKeyInternal>
    signature: "std::shared_ptr<HSS_LMS_PublicKeyInternal> HSS_LMS_PublicKeyInternal::from_bytes_or_throw(\n
      \  std::span<const uint8_t> key_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:335,1
    - Dst: store_be
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:335,1
    - Dst: Botan::HSS_LMS_PublicKeyInternal::to_bytes
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: Botan::HSS_LMS_PublicKeyInternal::to_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 1
    functionsReached:
    - Botan::HSS_LMS_PublicKeyInternal::to_bytes
    - store_be
    - concat
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> HSS_LMS_PublicKeyInternal::to_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:339,1
    - Dst: Botan::HSS_LMS_PublicKeyInternal::object_identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: Botan::HSS_LMS_PublicKeyInternal::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - Botan::HSS_LMS_PublicKeyInternal::object_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier HSS_LMS_PublicKeyInternal::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:343,1
    - Dst: Botan::HSS_LMS_PublicKeyInternal::algo_name
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: Botan::HSS_LMS_PublicKeyInternal::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 1
    functionsReached:
    - Botan::OID::from_string
    - Botan::HSS_LMS_PublicKeyInternal::algo_name
    linkageType: ''
    returnType: OID
    signature: OID HSS_LMS_PublicKeyInternal::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMS_PublicKey::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:347,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: Botan::HSS_LMS_PublicKeyInternal::size
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - Botan::LMS_PublicKey::size
    - lms_params
    linkageType: ''
    returnType: size_t
    signature: size_t HSS_LMS_PublicKeyInternal::size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_cast_to<HSS_Level>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:351,1
    - Dst: Nspk
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:351,1
    - Dst: lms_pub_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:356,1
    - Dst: LMS_PublicKey*::lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:357,1
    - Dst: Nspk
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:360,1
    - Dst: signed_pub_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:361,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:362,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:363,1
    - Dst: LMS_PublicKey*::verify_signature
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:367,1
    - Dst: LMS_Message
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:367,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:367,1
    - Dst: signature
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:367,1
    - Dst: public_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:370,1
    - Dst: LMS_PublicKey*::verify_signature
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:374,1
    - Dst: LMS_Message
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:374,1
    - Dst: bottom_sig
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - msg
    - ' sig'
    argTypes:
    - std::span<const uint8_t>
    - HSS_Signature
    constantsTouched: []
    func_position:
      end: 375
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 375
    functionName: Botan::HSS_LMS_PublicKeyInternal::verify_signature
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - checked_cast_to<HSS_Level>
    - LMS_Message
    - lms_pub_key
    - signed_pub_key
    - bottom_sig
    - LMS_PublicKey*::verify_signature
    - LMS_PublicKey*::lms_params
    - Nspk
    - signature
    - public_key
    linkageType: ''
    returnType: bool
    signature: bool HSS_LMS_PublicKeyInternal::verify_signature(std::span<const uint8_t>
      msg, const HSS_Signature& sig) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:378,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sig
    - pub
    argTypes:
    - LMS_Signature
    - LMS_PublicKey
    constantsTouched: []
    func_position:
      end: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    functionName: HSS_Signature::Signed_Pub_Key::Signed_Pub_Key(LMS_Signature sig,
      LMS_PublicKey pub)
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HSS_Signature::Signed_Pub_Key::Signed_Pub_Key(LMS_Signature sig,
      LMS_PublicKey pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:381,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:382,1
    - Dst: load_be
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:386,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:386,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:388,1
    - Dst: Botan::LMS_Signature::from_bytes_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:393,1
    - Dst: Botan::LMS_PublicKey::from_bytes_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:394,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:395,1
    - Dst: Signed_Pub_Key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:395,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:395,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:395,1
    - Dst: Botan::LMS_Signature::from_bytes_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:398,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:400,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:401,1
    - Dst: HSS_Signature
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:403,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:403,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:403,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - sig_bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 404
      start: 380
    functionDepth: 5
    functionLinenumber: 380
    functionLinenumberEnd: 404
    functionName: Botan::HSS_Signature::from_bytes_or_throw
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 1
    functionsReached:
    - HSS_Signature
    - BufferSlicer::take
    - Botan::LMS_Signature::from_bytes_or_throw
    - load_be
    - std::vector::push_back
    - Decoding_Error
    - Signed_Pub_Key
    - std::move
    - std::span<const uint8_t>::size
    - BufferSlicer::empty
    - Botan::LMS_PublicKey::from_bytes_or_throw
    linkageType: ''
    returnType: HSS_Signature
    signature: HSS_Signature HSS_Signature::from_bytes_or_throw(std::span<const uint8_t>
      sig_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMS_Signature::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:408,1
    - Dst: params_at_level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:408,1
    - Dst: HSS_Level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:408,1
    - Dst: params_at_level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:409,1
    - Dst: HSS_Level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:409,1
    - Dst: L
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:410,1
    - Dst: params_at_level
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:411,1
    - Dst: Botan::LMS_PublicKey::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:412,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:412,1
    - Dst: Botan::LMS_Signature::size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:413,1
    - Dst: lms_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:413,1
    - Dst: lmots_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss.cpp:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - HSS_LMS_Params
    constantsTouched: []
    func_position:
      end: 416
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 416
    functionName: Botan::HSS_Signature::size
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss.cpp
    functionUses: 2
    functionsReached:
    - params_at_level
    - Botan::LMS_PublicKey::size
    - lms_params
    - lmots_params
    - Botan::LMS_Signature::size
    - HSS_Level
    - L
    linkageType: ''
    returnType: size_t
    signature: size_t HSS_Signature::size(const HSS_LMS_Params& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: Botan::LMS_Params::algorithm_type
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LMS_Algorithm_Type
    signature: LMS_Algorithm_Type algorithm_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Botan::LMS_Params::h
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t h() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: Botan::LMS_Params::m
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t m() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: '& hash_name() const'
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & hash_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:129,1
    - Dst: hash_name
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Botan::LMS_Params::hash
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.h
    functionUses: 0
    functionsReached:
    - hash_name
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> hash() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMS_Instance
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 180
    functionName: Botan::LMS_Instance
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.h
    functionUses: 1
    functionsReached:
    - Botan::LMS_Instance
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API LMS_Instance
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMS_PrivateKey
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:195,1
    - Dst: Botan::LMS_Instance
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:196,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:196,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:196,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:196,1
    - Dst: m_seed
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:196,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 215
    functionName: Botan::LMS_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.h
    functionUses: 2
    functionsReached:
    - Botan::LMS_Instance
    - std::move
    - Botan::LMS_PrivateKey
    - m_seed
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API LMS_PrivateKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 286
    functionName: Botan::LMS_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.h
    functionUses: 1
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API LMS_PublicKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMS_Signature
      Src: /src/botan/src/lib/pubkey/hss_lms/lms.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 346
    functionName: Botan::LMS_Signature
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lms.h
    functionUses: 1
    functionsReached:
    - Botan::LMS_Signature
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API LMS_Signature
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: stateful_operation
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stateful_operation() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:155,1
    - Dst: hash_name
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:155,1
    - Dst: Botan::LMOTS_Params
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 173
    functionName: Botan::LMOTS_Params
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h
    functionUses: 1
    functionsReached:
    - hash_name
    - Botan::LMOTS_Params
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API LMOTS_Params
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:202,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:207,1
    - Dst: p
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:207,1
    - Dst: Botan::LMOTS_Signature
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 216
    functionName: Botan::LMOTS_Signature
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h
    functionUses: 1
    functionsReached:
    - n
    - Botan::LMOTS_Signature
    - at
    - p
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API LMOTS_Signature
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OTS_Instance
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 249
    functionName: Botan::OTS_Instance
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h
    functionUses: 1
    functionsReached:
    - Botan::OTS_Instance
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API OTS_Instance
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMOTS_Private_Key
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:264,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 296
    functionName: Botan::LMOTS_Private_Key
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h
    functionUses: 3
    functionsReached:
    - at
    - Botan::LMOTS_Private_Key
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API LMOTS_Private_Key
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::LMOTS_Public_Key
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:312,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 332
    functionName: Botan::LMOTS_Public_Key
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/lm_ots.h
    functionUses: 3
    functionsReached:
    - Botan::LMOTS_Public_Key
    - std::move
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API LMOTS_Public_Key
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_LMS_PublicKeyInternal::from_bytes_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pub_key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 4
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: Botan::HSS_LMS_PublicKey::HSS_LMS_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::HSS_LMS_PublicKeyInternal::from_bytes_or_throw
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_PublicKey::HSS_LMS_PublicKey(std::span<const uint8_t>
      pub_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: HSS_LMS_PublicKey::~HSS_LMS_PublicKey()
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_PublicKey::~HSS_LMS_PublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan::HSS_LMS_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t HSS_LMS_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lms_pub_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: Botan::HSS_LMS_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - lms_pub_key
    linkageType: ''
    returnType: size_t
    signature: size_t HSS_LMS_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_LMS_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Botan::HSS_LMS_PublicKey::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 1
    functionsReached:
    - Botan::HSS_LMS_PublicKey::algo_name
    linkageType: ''
    returnType: std::string
    signature: std::string HSS_LMS_PublicKey::algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_LMS_PublicKey::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::HSS_LMS_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 1
    functionsReached:
    - Botan::HSS_LMS_PublicKey::algorithm_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier HSS_LMS_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_LMS_PublicKey::object_identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::HSS_LMS_PublicKey::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 1
    functionsReached:
    - Botan::HSS_LMS_PublicKey::object_identifier
    linkageType: ''
    returnType: OID
    signature: OID HSS_LMS_PublicKey::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: Botan::HSS_LMS_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HSS_LMS_PublicKey::check_key(RandomNumberGenerator&, bool) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_bytes
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::HSS_LMS_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - to_bytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> HSS_LMS_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_LMS_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: Botan::HSS_LMS_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::HSS_LMS_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> HSS_LMS_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pub_key
    argTypes:
    - std::shared_ptr<HSS_LMS_PublicKeyInternal>
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: Botan::HSS_LMS_Verification_Operation::HSS_LMS_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_Verification_Operation(std::shared_ptr<HSS_LMS_PublicKeyInternal>
      pub_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:67,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:67,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:67,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: Botan::HSS_LMS_Verification_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - end
    - std::span<const uint8_t>::end
    - insert
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:71,1
    - Dst: Botan::HSS_Signature::from_bytes_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:73,1
    - Dst: verify_signature
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 6
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: Botan::HSS_LMS_Verification_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::HSS_Signature::from_bytes_or_throw
    - verify_signature
    - std::exchange
    linkageType: ''
    returnType: bool
    signature: bool is_valid_signature(std::span<const uint8_t> sig) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lms_pub_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Botan::HSS_LMS_Verification_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - lms_pub_key
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:90,1
    - Dst: std::make_unique<HSS_LMS_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:91,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:93,1
    - Dst: Botan::HSS_LMS_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - provider
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: Botan::HSS_LMS_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<HSS_LMS_Verification_Operation>
    - std::string_view::empty
    - Botan::HSS_LMS_PublicKey::algo_name
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> HSS_LMS_PublicKey::create_verification_op(std::string_view
      /*params*/,\n                                                                                std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:98,1
    - Dst: Botan::HSS_LMS_PublicKey::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:99,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:100,1
    - Dst: std::make_unique<HSS_LMS_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:102,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:104,1
    - Dst: Botan::HSS_LMS_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ' signature_algorithm'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: Botan::HSS_LMS_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Provider_Not_Found
    - std::make_unique<HSS_LMS_Verification_Operation>
    - std::string_view::empty
    - Decoding_Error
    - Botan::HSS_LMS_PublicKey::algo_name
    - Botan::HSS_LMS_PublicKey::algorithm_identifier
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> HSS_LMS_PublicKey::create_x509_verification_op(\n
      \  const AlgorithmIdentifier& signature_algorithm, std::string_view provider)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: Botan::HSS_LMS_PublicKey::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HSS_LMS_PublicKey::supports_operation(PublicKeyOperation op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: Botan::HSS_LMS_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> HSS_LMS_PublicKey::generate_another(RandomNumberGenerator&)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_LMS_PrivateKeyInternal::from_bytes_or_throw
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:118,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:119,1
    - Dst: std::make_shared<HSS_LMS_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:120,1
    - Dst: Botan::HSS_LMS_PublicKeyInternal::create
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:120,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: Botan::HSS_LMS_PrivateKey::HSS_LMS_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 2
    functionsReached:
    - Botan::HSS_LMS_PrivateKeyInternal::from_bytes_or_throw
    - Botan::HSS_LMS_PublicKeyInternal::create
    - Botan::CT::scoped_poison
    - Botan::CT::unpoison
    - std::make_shared<HSS_LMS_PublicKeyInternal>
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_PrivateKey::HSS_LMS_PrivateKey(std::span<const uint8_t>
      private_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<HSS_LMS_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:126,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:127,1
    - Dst: std::make_shared<HSS_LMS_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:128,1
    - Dst: Botan::HSS_LMS_PublicKeyInternal::create
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:128,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' rng'
    - algo_params
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: Botan::HSS_LMS_PrivateKey::HSS_LMS_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 2
    functionsReached:
    - Botan::HSS_LMS_PublicKeyInternal::create
    - Botan::CT::scoped_poison
    - std::make_shared<HSS_LMS_PrivateKeyInternal>
    - Botan::CT::unpoison
    - std::make_shared<HSS_LMS_PublicKeyInternal>
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_PrivateKey::HSS_LMS_PrivateKey(RandomNumberGenerator&
      rng, std::string_view algo_params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:132,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:133,1
    - Dst: std::make_shared<HSS_LMS_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:134,1
    - Dst: Botan::HSS_LMS_PublicKeyInternal::create
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:134,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sk
    argTypes:
    - std::shared_ptr<HSS_LMS_PrivateKeyInternal>
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: Botan::HSS_LMS_PrivateKey::HSS_LMS_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 2
    functionsReached:
    - Botan::HSS_LMS_PublicKeyInternal::create
    - Botan::CT::scoped_poison
    - std::move
    - Botan::CT::unpoison
    - std::make_shared<HSS_LMS_PublicKeyInternal>
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_PrivateKey::HSS_LMS_PrivateKey(std::shared_ptr<HSS_LMS_PrivateKeyInternal>
      sk)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: HSS_LMS_PrivateKey::~HSS_LMS_PrivateKey()
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HSS_LMS_PrivateKey::~HSS_LMS_PrivateKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:141,1
    - Dst: Botan::CT::driveby_unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:142,1
    - Dst: to_bytes
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: Botan::HSS_LMS_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::driveby_unpoison
    - to_bytes
    - Botan::CT::scoped_poison
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> HSS_LMS_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_LMS_PrivateKey::private_key_bits
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: Botan::HSS_LMS_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::HSS_LMS_PrivateKey::private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> HSS_LMS_PrivateKey::raw_private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HSS_LMS_PublicKey>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: Botan::HSS_LMS_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<HSS_LMS_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> HSS_LMS_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:157,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: Botan::HSS_LMS_PrivateKey::pkcs8_algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - AlgorithmIdentifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier HSS_LMS_PrivateKey::pkcs8_algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:161,1
    - Dst: get_idx
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:161,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: Botan::HSS_LMS_PrivateKey::remaining_operations
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - get
    - hss_params
    - get_idx
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> HSS_LMS_PrivateKey::remaining_operations()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HSS_LMS_PrivateKey>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:166,1
    - Dst: std::make_shared<HSS_LMS_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:167,1
    - Dst: hss_params
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:167,1
    - Dst: HSS_LMS_PrivateKey::HSS_LMS_PrivateKey
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: Botan::HSS_LMS_PrivateKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - hss_params
    - std::make_shared<HSS_LMS_PrivateKeyInternal>
    - std::unique_ptr<HSS_LMS_PrivateKey>
    - HSS_LMS_PrivateKey::HSS_LMS_PrivateKey
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> HSS_LMS_PrivateKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:174,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - private_key
    - public_key
    argTypes:
    - std::shared_ptr<HSS_LMS_PrivateKeyInternal>
    - std::shared_ptr<HSS_LMS_PublicKeyInternal>
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: Botan::HSS_LMS_Signature_Operation::HSS_LMS_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HSS_LMS_Signature_Operation(std::shared_ptr<HSS_LMS_PrivateKeyInternal>
      private_key,\n                                  std::shared_ptr<HSS_LMS_PublicKeyInternal>
      public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:177,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:177,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:177,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: Botan::HSS_LMS_Signature_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::begin
    - end
    - std::span<const uint8_t>::end
    - insert
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::exchange
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:181,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:182,1
    - Dst: Botan::CT::driveby_unpoison
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:183,1
    - Dst: Botan::HSS_LMS_Signature_Operation::sign
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: Botan::HSS_LMS_Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 1
    functionsReached:
    - Botan::CT::driveby_unpoison
    - Botan::HSS_LMS_Signature_Operation::sign
    - std::exchange
    - Botan::CT::scoped_poison
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signature_size
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: Botan::HSS_LMS_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - signature_size
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HSS_LMS_Signature_Operation::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: Botan::HSS_LMS_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 1
    functionsReached:
    - Botan::HSS_LMS_Signature_Operation::algorithm_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier algorithm_identifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lms_pub_key
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: Botan::HSS_LMS_Signature_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - lms_pub_key
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:201,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:202,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:202,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:204,1
    - Dst: std::make_unique<HSS_LMS_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:205,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:207,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: Botan::HSS_LMS_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/hss_lms/hss_lms.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::string_view::empty
    - BOTAN_UNUSED
    - std::make_unique<HSS_LMS_Signature_Operation>
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> HSS_LMS_PrivateKey::create_signature_op(RandomNumberGenerator&
      rng,\n                                                                           std::string_view
      params,\n                                                                           std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameter_Set::from_oid
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:26,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::Classic_McEliece_PublicKey::Classic_McEliece_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Parameter_Set::from_oid
    - oid
    linkageType: ''
    returnType: void
    signature: "void Classic_McEliece_PublicKey::Classic_McEliece_PublicKey(const
      AlgorithmIdentifier& alg_id,\n                                                       std::span<const
      uint8_t> key_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:30,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:31,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:31,1
    - Dst: auto::pk_size_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:31,1
    - Dst: std::make_shared<Classic_McEliece_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:32,1
    - Dst: Classic_McEliece_Matrix
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:33,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:33,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key_bits
    - param_set
    argTypes:
    - std::span<const uint8_t>
    - Classic_McEliece_Parameter_Set
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: Botan::Classic_McEliece_PublicKey::Classic_McEliece_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - Botan::Classic_McEliece_Parameters::create
    - Classic_McEliece_Matrix
    - auto::pk_size_bytes
    - std::make_shared<Classic_McEliece_PublicKeyInternal>
    - std::span<const uint8_t>::size
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: "void Classic_McEliece_PublicKey::Classic_McEliece_PublicKey(std::span<const
      uint8_t> key_bits,\n                                                       Classic_McEliece_Parameter_Set
      param_set)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Classic_McEliece_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Classic_McEliece_PublicKey
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::Classic_McEliece_PublicKey::Classic_McEliece_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Classic_McEliece_PublicKeyInternal>
    linkageType: ''
    returnType: void
    signature: void Classic_McEliece_PublicKey::Classic_McEliece_PublicKey(const Classic_McEliece_PublicKey&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Classic_McEliece_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Classic_McEliece_PublicKey
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: '& Classic_McEliece_PublicKey::operator=(const Classic_McEliece_PublicKey&
      other)'
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Classic_McEliece_PublicKeyInternal>
    linkageType: ''
    returnType: Classic_McEliece_PublicKey
    signature: Classic_McEliece_PublicKey & Classic_McEliece_PublicKey::operator=(const
      Classic_McEliece_PublicKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:48,1
    - Dst: Botan::Classic_McEliece_PublicKey::object_identifier
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::Classic_McEliece_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - Botan::Classic_McEliece_PublicKey::object_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Classic_McEliece_PublicKey::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::Classic_McEliece_PublicKey::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 1
    functionsReached:
    - params
    linkageType: ''
    returnType: OID
    signature: OID Classic_McEliece_PublicKey::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: Botan::Classic_McEliece_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - params
    linkageType: ''
    returnType: size_t
    signature: size_t Classic_McEliece_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: Botan::Classic_McEliece_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - params
    linkageType: ''
    returnType: size_t
    signature: size_t Classic_McEliece_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: Botan::Classic_McEliece_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Classic_McEliece_PublicKey::public_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: matrix
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: Botan::Classic_McEliece_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 1
    functionsReached:
    - matrix
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Classic_McEliece_PublicKey::raw_public_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Botan::Classic_McEliece_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Classic_McEliece_PublicKey::check_key(RandomNumberGenerator&,
      bool) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Classic_McEliece_PrivateKey>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:77,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Botan::Classic_McEliece_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Classic_McEliece_PrivateKey>
    - params
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> Classic_McEliece_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:82,1
    - Dst: std::make_unique<Classic_McEliece_Encryptor>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:83,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:85,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: Botan::Classic_McEliece_PublicKey::create_kem_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - Provider_Not_Found
    - std::make_unique<Classic_McEliece_Encryptor>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Encryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Encryption> Classic_McEliece_PublicKey::create_kem_encryption_op(\n
      \  std::string_view params, std::string_view provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:90,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:91,1
    - Dst: auto::seed_len
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:91,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:92,1
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:93,1
    - Dst: Botan::Classic_McEliece_KeyPair_Internal::generate
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:93,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:95,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:96,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' rng'
    - param_set
    argTypes:
    - RandomNumberGenerator
    - Classic_McEliece_Parameter_Set
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: Botan::Classic_McEliece_PrivateKey::Classic_McEliece_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_KeyPair_Internal::generate
    - Botan::CT::unpoison_all
    - Botan::Classic_McEliece_Parameters::create
    - random_vec
    - std::tie
    - Botan::CT::poison
    - auto::seed_len
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void Classic_McEliece_PrivateKey::Classic_McEliece_PrivateKey(RandomNumberGenerator&
      rng,\n                                                         Classic_McEliece_Parameter_Set
      param_set)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:102,1
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:103,1
    - Dst: Botan::Classic_McEliece_PrivateKeyInternal::from_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:104,1
    - Dst: std::make_shared<Classic_McEliece_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:105,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:105,1
    - Dst: Botan::Classic_McEliece_PublicKeyInternal::create_from_private_key
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:109,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sk
    - param_set
    argTypes:
    - std::span<const uint8_t>
    - Classic_McEliece_Parameter_Set
    constantsTouched: []
    func_position:
      end: 111
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionName: Botan::Classic_McEliece_PrivateKey::Classic_McEliece_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_all
    - Botan::Classic_McEliece_Parameters::create
    - Botan::CT::scoped_poison
    - std::make_shared<Classic_McEliece_PrivateKeyInternal>
    - Botan::Classic_McEliece_PublicKeyInternal::create_from_private_key
    - std::move
    - Botan::Classic_McEliece_PrivateKeyInternal::from_bytes
    linkageType: ''
    returnType: void
    signature: "void Classic_McEliece_PrivateKey::Classic_McEliece_PrivateKey(std::span<const
      uint8_t> sk,\n                                                         Classic_McEliece_Parameter_Set
      param_set)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameter_Set::from_oid
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:115,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: Botan::Classic_McEliece_PrivateKey::Classic_McEliece_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Parameter_Set::from_oid
    - oid
    linkageType: ''
    returnType: void
    signature: "void Classic_McEliece_PrivateKey::Classic_McEliece_PrivateKey(const
      AlgorithmIdentifier& alg_id,\n                                                         std::span<const
      uint8_t> key_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Classic_McEliece_PublicKey>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: Botan::Classic_McEliece_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Classic_McEliece_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> Classic_McEliece_PrivateKey::public_key()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_PrivateKey::raw_private_key_bits
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: Botan::Classic_McEliece_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_PrivateKey::raw_private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Classic_McEliece_PrivateKey::private_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: Botan::Classic_McEliece_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 1
    functionsReached:
    - serialize
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Classic_McEliece_PrivateKey::raw_private_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_PrivateKey::check_key
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp: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: Botan::Classic_McEliece_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 1
    functionsReached:
    - Botan::Classic_McEliece_PrivateKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool Classic_McEliece_PrivateKey::check_key(RandomNumberGenerator&,
      bool) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:135,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:136,1
    - Dst: std::make_unique<Classic_McEliece_Decryptor>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:137,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:139,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: Botan::Classic_McEliece_PrivateKey::create_kem_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::make_unique<Classic_McEliece_Decryptor>
    - std::string_view::empty
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Decryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Decryption> Classic_McEliece_PrivateKey::create_kem_decryption_op(\n
      \  RandomNumberGenerator& rng, std::string_view params, std::string_view provider)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' params'
    - ' e'
    - ' mat'
    argTypes:
    - Classic_McEliece_Parameters
    - CmceErrorVector
    - Classic_McEliece_Matrix
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: Botan::Classic_McEliece_Encryptor::encode
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp
    functionUses: 0
    functionsReached:
    - mul
    linkageType: ''
    returnType: CmceCodeWord
    signature: "CmceCodeWord Classic_McEliece_Encryptor::encode(const Classic_McEliece_Parameters&
      params,\n                                                const CmceErrorVector&
      e,\n                                                const Classic_McEliece_Matrix&
      mat) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:25,1
    - Dst: sigma1
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:25,1
    - Dst: tau
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:25,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:26,1
    - Dst: secure_vector::reserve
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:29,1
    - Dst: tau
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:29,1
    - Dst: tau
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:34,1
    - Dst: load_le<uint16_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:35,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:35,1
    - Dst: sigma1
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:35,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:41,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:42,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:42,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:43,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:46,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:46,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:52,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:55,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:62,1
    - Dst: ceil_tobytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:63,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:63,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:68,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:72,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:73,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:76,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:76,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:76,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:77,1
    - Dst: CmceErrorVector
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:81,1
    - Dst: secure_bitvector
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:81,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:81,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - ' params'
    - ' rng'
    argTypes:
    - Classic_McEliece_Parameters
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 82
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 82
    functionName: Botan::Classic_McEliece_Encryptor::fixed_weight_vector_gen
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - secure_vector::push_back
    - secure_vector::size
    - BufferSlicer::take
    - n
    - auto::if_set_return
    - random_vec
    - t
    - Botan::BigInt::is_equal
    - ceil_tobytes
    - secure_bitvector
    - Botan::CT::poison
    - secure_vector::reserve
    - CmceErrorVector
    - Botan::CT::unpoison
    - sigma1
    - load_le<uint16_t>
    - tau
    linkageType: ''
    returnType: std::optional<CmceErrorVector>
    signature: "std::optional<CmceErrorVector> Classic_McEliece_Encryptor::fixed_weight_vector_gen(\n
      \  const Classic_McEliece_Parameters& params, RandomNumberGenerator& rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:87,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:87,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:87,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:89,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:89,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:89,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:91,1
    - Dst: Botan::Classic_McEliece_Encryptor::fixed_weight_vector_gen
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:101,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:102,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:105,1
    - Dst: hash_func
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:108,1
    - Dst: CmceErrorVector::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:111,1
    - Dst: Botan::Classic_McEliece_Encryptor::encode
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:113,1
    - Dst: matrix
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:113,1
    - Dst: auto::to_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:114,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:114,1
    - Dst: ceil_tobytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:114,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:114,1
    - Dst: is_pc
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:115,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:117,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:118,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:119,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:119,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:119,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:121,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:121,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:124,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:125,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:126,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:127,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - out_encapsulated_key
    - out_shared_key
    - ' rng'
    argTypes:
    - std::span<uint8_t>
    - std::span<uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 129
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 129
    functionName: Botan::Classic_McEliece_Encryptor::raw_kem_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.cpp
    functionUses: 0
    functionsReached:
    - matrix
    - Botan::CT::unpoison_all
    - BOTAN_ASSERT_NOMSG
    - auto::value
    - auto::update
    - params
    - BOTAN_ARG_CHECK
    - Botan::Classic_McEliece_Encryptor::encode
    - is_pc
    - Internal_Error
    - hash_func
    - CmceErrorVector::get
    - BufferStuffer::next
    - auto::final
    - std::span<uint8_t>::size
    - Botan::Classic_McEliece_Encryptor::fixed_weight_vector_gen
    - ceil_tobytes
    - auto::output_length
    - auto::to_bytes
    - auto::size
    - BufferStuffer::full
    linkageType: ''
    returnType: void
    signature: "void Classic_McEliece_Encryptor::raw_kem_encrypt(std::span<uint8_t>
      out_encapsulated_key,\n                                                 std::span<uint8_t>
      out_shared_key,\n                                                 RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Polynomial
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h:39,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h:49,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h:54,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h:66,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h:68,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 74
    functionName: Botan::Classic_McEliece_Polynomial
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h
    functionUses: 2
    functionsReached:
    - Botan::CT::unpoison
    - Botan::Classic_McEliece_Polynomial
    - at
    - Botan::CT::poison
    - Botan::size
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Classic_McEliece_Polynomial
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Minimal_Polynomial
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: Botan::Classic_McEliece_Minimal_Polynomial
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h
    functionUses: 1
    functionsReached:
    - Botan::Classic_McEliece_Minimal_Polynomial
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Classic_McEliece_Minimal_Polynomial
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: Botan::Classic_McEliece_Polynomial_Ring
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Classic_McEliece_Polynomial_Ring
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - poly_big_f_coef
    - poly_f
    - t
    argTypes:
    - std::vector<Big_F_Coefficient>
    - CmceGfMod
    - size_t
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: Botan::Classic_McEliece_Polynomial_Ring
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Classic_McEliece_Polynomial_Ring(std::vector<Big_F_Coefficient>
      poly_big_f_coef, CmceGfMod poly_f, size_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan::poly_f
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CmceGfMod
    signature: CmceGfMod poly_f() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Botan::degree
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t degree() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Classic_McEliece_Decryptor
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.h:33,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.h:36,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 81
    functionName: Botan::Classic_McEliece_Decryptor::KEM_Decryption_with_KDF
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.h
    functionUses: 0
    functionsReached:
    - Classic_McEliece_Decryptor
    - params
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: 'class BOTAN_TEST_API Classic_McEliece_Decryptor final : public PK_Ops::KEM_Decryption_with_KDF'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:21,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:21,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:21,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:22,1
    - Dst: gf
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:22,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:22,1
    - Dst: alphas
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:24,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:24,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:26,1
    - Dst: goppa_poly
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:27,1
    - Dst: inv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:28,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:30,1
    - Dst: static_cast<bool>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:30,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:30,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:32,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:33,1
    - Dst: Classic_McEliece_Polynomial
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' params'
    - ' goppa_poly'
    - ' ordering'
    - ' code_word'
    argTypes:
    - Classic_McEliece_Parameters
    - Classic_McEliece_Minimal_Polynomial
    - Classic_McEliece_Field_Ordering
    - secure_bitvector
    constantsTouched: []
    func_position:
      end: 39
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 39
    functionName: Botan::Classic_McEliece_Decryptor::compute_goppa_syndrome
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp
    functionUses: 0
    functionsReached:
    - n
    - auto::if_set_return
    - t
    - at
    - alphas
    - size
    - Botan::sha512_msg_expand
    - inv
    - static_cast<bool>
    - gf
    - goppa_poly
    - CmceGfElem
    - BOTAN_ASSERT
    - Classic_McEliece_Polynomial
    linkageType: ''
    returnType: Classic_McEliece_Polynomial
    signature: "Classic_McEliece_Polynomial Classic_McEliece_Decryptor::compute_goppa_syndrome(\n
      \  const Classic_McEliece_Parameters& params,\n   const Classic_McEliece_Minimal_Polynomial&
      goppa_poly,\n   const Classic_McEliece_Field_Ordering& ordering,\n   const secure_bitvector&
      code_word) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:44,1
    - Dst: gf
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:44,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:44,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:45,1
    - Dst: gf
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:45,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:45,1
    - Dst: gf
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:47,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:47,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:50,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:50,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:51,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:51,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:53,1
    - Dst: gf
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:54,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:54,1
    - Dst: std::min
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:55,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:55,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:56,1
    - Dst: coef_at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:56,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:60,1
    - Dst: GF_Mask
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:63,1
    - Dst: Botan::CT::Mask::is_lte
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:63,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:69,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:71,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:71,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:71,1
    - Dst: auto::select
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:74,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:76,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:77,1
    - Dst: auto::select
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:77,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:77,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:77,1
    - Dst: auto::select
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:80,1
    - Dst: std::rotate
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:83,1
    - Dst: std::vector::rbegin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:83,1
    - Dst: std::vector::rbegin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:83,1
    - Dst: std::vector::rend
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:83,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:86,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:86,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:86,1
    - Dst: Classic_McEliece_Polynomial
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ' params'
    - ' syndrome'
    argTypes:
    - Classic_McEliece_Parameters
    - Classic_McEliece_Polynomial
    constantsTouched: []
    func_position:
      end: 89
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 89
    functionName: Botan::Classic_McEliece_Decryptor::berlekamp_massey
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp
    functionUses: 0
    functionsReached:
    - auto::if_set_return
    - std::vector::begin
    - std::rotate
    - std::reverse
    - coef_at
    - Classic_McEliece_Polynomial
    - std::vector::end
    - GF_Mask
    - t
    - std::min
    - Botan::sha512_msg_expand
    - std::vector::rbegin
    - auto::at
    - std::vector::rend
    - Botan::CT::Mask::is_lte
    - auto::select
    - gf
    - CmceGfElem
    - std::vector::at
    linkageType: ''
    returnType: Classic_McEliece_Polynomial
    signature: "Classic_McEliece_Polynomial Classic_McEliece_Decryptor::berlekamp_massey(\n
      \  const Classic_McEliece_Parameters& params, const Classic_McEliece_Polynomial&
      syndrome) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:92,1
    - Dst: CmceCodeWord::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:92,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:92,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:92,1
    - Dst: CmceCodeWord::resize
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:93,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:93,1
    - Dst: Botan::Classic_McEliece_Decryptor::compute_goppa_syndrome
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:96,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:96,1
    - Dst: g
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:96,1
    - Dst: field_ordering
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:96,1
    - Dst: CmceCodeWord::as
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:96,1
    - Dst: Botan::Classic_McEliece_Decryptor::berlekamp_massey
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:97,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:97,1
    - Dst: field_ordering
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:100,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:100,1
    - Dst: std::transform
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:101,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:102,1
    - Dst: auto::end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:102,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:102,1
    - Dst: locator
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:102,1
    - Dst: CmceErrorVector::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:106,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:106,1
    - Dst: Botan_Tests::test_other_key_not_set
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:107,1
    - Dst: CmceErrorVector::push_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:109,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:109,1
    - Dst: CT::Mask<uint8_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:111,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:111,1
    - Dst: CmceErrorVector::hamming_weight
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:111,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:111,1
    - Dst: Botan::Classic_McEliece_Decryptor::compute_goppa_syndrome
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:114,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:114,1
    - Dst: g
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:114,1
    - Dst: field_ordering
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:114,1
    - Dst: CmceErrorVector::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:114,1
    - Dst: Botan_Tests::test_other_key_not_set
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:115,1
    - Dst: auto::degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:116,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:117,1
    - Dst: auto::coef_at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:117,1
    - Dst: auto::coef_at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:117,1
    - Dst: auto::elem_mask
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:120,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - big_c
    argTypes:
    - CmceCodeWord
    constantsTouched: []
    func_position:
      end: 123
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 123
    functionName: Botan::Classic_McEliece_Decryptor::decode
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp
    functionUses: 0
    functionsReached:
    - auto::degree
    - Botan::Sodium::sodium_is_zero
    - Botan::BigInt::is_equal
    - auto::begin
    - Botan::Classic_McEliece_Decryptor::berlekamp_massey
    - BOTAN_ASSERT
    - CmceErrorVector::hamming_weight
    - CmceCodeWord::resize
    - g
    - auto::elem_mask
    - params
    - auto::coef_at
    - auto::end
    - CT::Mask<uint8_t>
    - std::transform
    - Botan::Classic_McEliece_Decryptor::compute_goppa_syndrome
    - CmceErrorVector::push_back
    - locator
    - std::back_inserter
    - field_ordering
    - CmceErrorVector::get
    - CmceCodeWord::as
    - std::move
    - CmceCodeWord::size
    - Botan_Tests::test_other_key_not_set
    linkageType: ''
    returnType: std::pair<CT::Mask<uint8_t>, CmceErrorVector>
    signature: std::pair<CT::Mask<uint8_t>, CmceErrorVector> Classic_McEliece_Decryptor::decode(CmceCodeWord
      big_c) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:127,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:127,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:127,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:128,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:128,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:128,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:130,1
    - Dst: s
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:146,1
    - Dst: select_n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:147,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:147,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:147,1
    - Dst: s
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:147,1
    - Dst: s
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:147,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:150,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:152,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:153,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:154,1
    - Dst: auto::final_stdvec
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:155,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:156,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:156,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:156,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:156,1
    - Dst: CT::Mask::select_n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:157,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:157,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:157,1
    - Dst: s
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:157,1
    - Dst: s
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:157,1
    - Dst: CT::Mask::select
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:158,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:161,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:162,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:163,1
    - Dst: auto::final
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:164,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - out_shared_key
    - encapsulated_key
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 166
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 166
    functionName: Botan::Classic_McEliece_Decryptor::raw_kem_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_decaps.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::is_equal
    - get
    - select_n
    - data
    - auto::update
    - params
    - std::span<const uint8_t>::size
    - s
    - BOTAN_ARG_CHECK
    - secure_vector::data
    - CT::Mask::select
    - size
    - auto::final_stdvec
    - auto::final
    - CT::Mask::select_n
    - std::span<uint8_t>::size
    - Botan::CT::scoped_poison
    - auto::data
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: "void Classic_McEliece_Decryptor::raw_kem_decrypt(std::span<uint8_t>
      out_shared_key,\n                                                 std::span<const
      uint8_t> encapsulated_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:26,1
    - Dst: CmceKeyGenSeed::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:26,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:27,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:27,1
    - Dst: prg
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:29,1
    - Dst: auto::output
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:31,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:31,1
    - Dst: auto::output
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:32,1
    - Dst: sigma2
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:32,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:32,1
    - Dst: auto::output
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:33,1
    - Dst: sigma1
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:33,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:33,1
    - Dst: auto::output
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:34,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::create_field_ordering
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:37,1
    - Dst: poly_ring
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:43,1
    - Dst: Botan::Classic_McEliece_Matrix::create_matrix_and_apply_pivots
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:50,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:50,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:50,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:54,1
    - Dst: std::make_shared<Classic_McEliece_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:58,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:59,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:59,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:59,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:59,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:59,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:59,1
    - Dst: std::make_shared<Classic_McEliece_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:60,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - out_next_seed
    - ' params'
    - seed
    argTypes:
    - std::span<uint8_t>
    - Classic_McEliece_Parameters
    - CmceKeyGenSeed
    constantsTouched: []
    func_position:
      end: 61
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 61
    functionName: Botan::try_generate_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Matrix::create_matrix_and_apply_pivots
    - auto::output
    - auto::value
    - poly_ring
    - n
    - CmceKeyGenSeed::size
    - std::span<uint8_t>::size
    - prg
    - sigma2
    - q
    - t
    - std::make_shared<Classic_McEliece_PrivateKeyInternal>
    - BOTAN_ASSERT_EQUAL
    - std::move
    - std::make_shared<Classic_McEliece_PublicKeyInternal>
    - sigma1
    - Botan::Classic_McEliece_Field_Ordering::create_field_ordering
    linkageType: ''
    returnType: std::optional<Classic_McEliece_KeyPair_Internal>
    signature: "std::optional<Classic_McEliece_KeyPair_Internal> try_generate_keypair(std::span<uint8_t>
      out_next_seed,\n                                                                      const
      Classic_McEliece_Parameters& params,\n                                                                      CmceKeyGenSeed
      seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:67,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:67,1
    - Dst: sk_size_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:67,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:70,1
    - Dst: seed_len
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:70,1
    - Dst: CmceColumnSelection
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:71,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:71,1
    - Dst: sk_c_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:71,1
    - Dst: Botan::Classic_McEliece_Minimal_Polynomial::from_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:72,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:72,1
    - Dst: sk_poly_g_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:72,1
    - Dst: poly_f
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:72,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::create_from_control_bits
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:73,1
    - Dst: secure_bitvector
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:74,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:74,1
    - Dst: sk_alpha_control_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:74,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:75,1
    - Dst: sk_s_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:75,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:76,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:76,1
    - Dst: Classic_McEliece_PrivateKeyInternal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:78,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:79,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:79,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:79,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:79,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' params'
    - sk_bytes
    argTypes:
    - Classic_McEliece_Parameters
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: Botan::Classic_McEliece_PrivateKeyInternal::from_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_ASSERT
    - sk_c_bytes
    - BOTAN_ASSERT_NOMSG
    - secure_bitvector
    - seed_len
    - CmceColumnSelection
    - Botan::Classic_McEliece_Minimal_Polynomial::from_bytes
    - std::span<const uint8_t>::size
    - sk_s_bytes
    - sk_size_bytes
    - BufferSlicer::take
    - Classic_McEliece_PrivateKeyInternal
    - BufferSlicer::copy
    - sk_alpha_control_bytes
    - std::move
    - Botan::Classic_McEliece_Field_Ordering::create_from_control_bits
    - poly_f
    - BufferSlicer::empty
    - sk_poly_g_bytes
    linkageType: ''
    returnType: Classic_McEliece_PrivateKeyInternal
    signature: "Classic_McEliece_PrivateKeyInternal Classic_McEliece_PrivateKeyInternal::from_bytes(\n
      \  const Classic_McEliece_Parameters& params, std::span<const uint8_t> sk_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alphas_control_bits
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:83,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:92,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::create_from_control_bits
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:92,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:97,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:97,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:97,1
    - Dst: Botan::Classic_McEliece_PrivateKeyInternal::serialize
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:97,1
    - Dst: auto::to_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: Botan::Classic_McEliece_PrivateKeyInternal::serialize
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp
    functionUses: 1
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::create_from_control_bits
    - concat
    - auto::to_bytes
    - alphas_control_bits
    - get
    - BOTAN_ASSERT
    - Botan::Classic_McEliece_PrivateKeyInternal::serialize
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Classic_McEliece_PrivateKeyInternal::serialize()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prg
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:101,1
    - Dst: auto::output
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:103,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:103,1
    - Dst: auto::output
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:104,1
    - Dst: sigma2
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:104,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:104,1
    - Dst: auto::output
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:105,1
    - Dst: sigma1
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:105,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:105,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:108,1
    - Dst: CT::is_equal<uint8_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:108,1
    - Dst: auto::data
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:108,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:108,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:108,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:111,1
    - Dst: c
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:111,1
    - Dst: poly_ring
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:113,1
    - Dst: auto::degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:114,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:115,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:115,1
    - Dst: auto::coef_at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:115,1
    - Dst: coef_at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:115,1
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:118,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::create_field_ordering
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:122,1
    - Dst: auto::permute_with_pivots
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:123,1
    - Dst: c
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:123,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:124,1
    - Dst: auto::ct_is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:124,1
    - Dst: field_ordering
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:124,1
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:126,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 130
    functionName: Botan::Classic_McEliece_PrivateKeyInternal::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp
    functionUses: 0
    functionsReached:
    - auto::output
    - auto::degree
    - auto::as_bool
    - Botan::BigInt::is_equal
    - coef_at
    - poly_ring
    - n
    - auto::permute_with_pivots
    - data
    - Botan::CT::Mask::cleared
    - auto::ct_is_equal
    - auto::coef_at
    - sigma1
    - t
    - q
    - field_ordering
    - Botan::sha512_msg_expand
    - CT::is_equal<uint8_t>
    - prg
    - sigma2
    - c
    - auto::data
    - Botan::Classic_McEliece_Field_Ordering::create_field_ordering
    linkageType: ''
    returnType: bool
    signature: bool Classic_McEliece_PrivateKeyInternal::check_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Matrix::create_matrix
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:134,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:134,1
    - Dst: field_ordering
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:134,1
    - Dst: g
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:134,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:135,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:136,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:138,1
    - Dst: Botan::CT::driveby_unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:142,1
    - Dst: equals
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:142,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:143,1
    - Dst: std::make_shared<Classic_McEliece_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:146,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:146,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' sk'
    argTypes:
    - Classic_McEliece_PrivateKeyInternal
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: Botan::Classic_McEliece_PublicKeyInternal::create_from_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp
    functionUses: 1
    functionsReached:
    - g
    - Botan::Classic_McEliece_Matrix::create_matrix
    - auto::value
    - auto::has_value
    - Botan::CT::driveby_unpoison
    - field_ordering
    - params
    - equals
    - Decoding_Error
    - std::make_shared<Classic_McEliece_PublicKeyInternal>
    - std::move
    linkageType: ''
    returnType: std::shared_ptr<Classic_McEliece_PublicKeyInternal>
    signature: "std::shared_ptr<Classic_McEliece_PublicKeyInternal> Classic_McEliece_PublicKeyInternal::create_from_private_key(\n
      \  const Classic_McEliece_PrivateKeyInternal& sk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:151,1
    - Dst: StrongSpan<const CmceInitialSeed>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:151,1
    - Dst: seed_len
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:151,1
    - Dst: StrongSpan<const CmceInitialSeed>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:153,1
    - Dst: StrongSpan<const CmceInitialSeed>::begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:154,1
    - Dst: StrongSpan<const CmceInitialSeed>::end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:154,1
    - Dst: try_generate_keypair
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:157,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:157,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' params'
    - seed
    argTypes:
    - Classic_McEliece_Parameters
    - StrongSpan<const CmceInitialSeed>
    constantsTouched: []
    func_position:
      end: 162
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 162
    functionName: Botan::Classic_McEliece_KeyPair_Internal::generate
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.cpp
    functionUses: 1
    functionsReached:
    - StrongSpan<const CmceInitialSeed>::end
    - auto::value
    - seed_len
    - StrongSpan<const CmceInitialSeed>::size
    - BOTAN_ASSERT_EQUAL
    - std::move
    - StrongSpan<const CmceInitialSeed>::begin
    - try_generate_keypair
    linkageType: ''
    returnType: Classic_McEliece_KeyPair_Internal
    signature: "Classic_McEliece_KeyPair_Internal Classic_McEliece_KeyPair_Internal::generate(const
      Classic_McEliece_Parameters& params,\n                                                                              StrongSpan<const
      CmceInitialSeed> seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:85,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:86,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:86,1
    - Dst: pk_size_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:86,1
    - Dst: pk_no_cols
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:87,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:91,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:91,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:91,1
    - Dst: pk_row_size_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:91,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:92,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:94,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:95,1
    - Dst: pk_no_cols
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:95,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 113
    functionName: Botan::Classic_McEliece_Matrix
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - pk_no_rows
    - Botan::CT::unpoison
    - pk_no_cols
    - pk_size_bytes
    - pk_row_size_bytes
    - std::move
    - Botan::size
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Classic_McEliece_Matrix
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Classic_McEliece_Encryptor
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.h:30,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.h:33,1
    - Dst: params
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 56
    functionName: Botan::Classic_McEliece_Encryptor::KEM_Encryption_with_KDF
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_encaps.h
    functionUses: 0
    functionsReached:
    - Classic_McEliece_Encryptor
    - params
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: 'class BOTAN_TEST_API Classic_McEliece_Encryptor final : public PK_Ops::KEM_Encryption_with_KDF'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Botan::Classic_McEliece_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Classic_McEliece_PublicKey(Classic_McEliece_PublicKey&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: ~Classic_McEliece_PublicKey() override
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Classic_McEliece_PublicKey() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h:84,1
    - Dst: pi_ref
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h:84,1
    - Dst: pi_ref
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h:84,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h:85,1
    - Dst: pi_ref
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h:85,1
    - Dst: pi_ref
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h:85,1
    - Dst: pi_ref
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h:85,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h:102,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h:104,1
    - Dst: Botan::Classic_McEliece_Field_Ordering
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 112
    functionName: Botan::Classic_McEliece_Field_Ordering
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.h
    functionUses: 1
    functionsReached:
    - Botan::CT::is_equal
    - pi_ref
    - Botan::CT::poison
    - Botan::CT::unpoison
    - BOTAN_ARG_CHECK
    - Botan::Classic_McEliece_Field_Ordering
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Classic_McEliece_Field_Ordering
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CT::Mask<uint64_t>::conditional_swap
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:30,1
    - Dst: CT::Mask<uint64_t>::conditional_swap
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cond_mask
    - ' a'
    - ' b'
    argTypes:
    - CT::Mask<uint64_t>
    - std::pair<T1, T2>
    - std::pair<T1, T2>
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: Botan::CMCE_CT::cond_swap_pair
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - CT::Mask<uint64_t>::conditional_swap
    linkageType: ''
    returnType: void
    signature: void cond_swap_pair(CT::Mask<uint64_t> cond_mask, std::pair<T1, T2>&
      a, std::pair<T1, T2>& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:39,1
    - Dst: Botan::CMCE_CT::cond_swap_pair
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:40,1
    - Dst: Botan::CT::Mask::is_gt
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:42,1
    - Dst: Botan::CMCE_CT::cond_swap_pair
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - a
    - i
    - k
    - l
    argTypes:
    - std::span<std::pair<T1, T2>>
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: Botan::CMCE_CT::compare_and_swap_pair
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - Botan::bigint_ct_is_lt
    - Botan::CMCE_CT::cond_swap_pair
    - Botan::CT::Mask::is_gt
    linkageType: ''
    returnType: void
    signature: void compare_and_swap_pair(std::span<std::pair<T1, T2>> a, size_t i,
      size_t k, size_t l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:51,1
    - Dst: is_power_of_2
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:51,1
    - Dst: Botan::CMCE_CT::compare_and_swap_pair
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - a
    argTypes:
    - std::span<std::pair<T1, T2>>
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: Botan::CMCE_CT::bitonic_sort_pair
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - Botan::CMCE_CT::compare_and_swap_pair
    - BOTAN_ARG_CHECK
    - is_power_of_2
    linkageType: ''
    returnType: void
    signature: void bitonic_sort_pair(std::span<std::pair<T1, T2>> a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:67,1
    - Dst: auto::select
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: Botan::CMCE_CT::min
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - Botan::bigint_ct_is_lt
    - auto::select
    linkageType: ''
    returnType: T
    signature: T min(const T& a, const T& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:78,1
    - Dst: std::span<const T1>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:78,1
    - Dst: std::span<const T2>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:78,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:80,1
    - Dst: std::span<const T1>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:80,1
    - Dst: std::span<const T1>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:81,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:82,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - vec_1
    - vec_2
    argTypes:
    - std::span<const T1>
    - std::span<const T2>
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: Botan::zip
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - std::span<const T1>::size
    - std::vector::push_back
    - std::vector::reserve
    - std::make_pair
    - BOTAN_ARG_CHECK
    - std::span<const T2>::size
    linkageType: ''
    returnType: std::vector<std::pair<T1, T2>>
    signature: std::vector<std::pair<T1, T2>> zip(std::span<const T1> vec_1, std::span<const
      T2> vec_2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::pair::first::reserve
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:91,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:91,1
    - Dst: std::pair::second::reserve
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:92,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:92,1
    - Dst: std::pair::first::push_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:95,1
    - Dst: std::pair::second::push_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' vec_zipped'
    argTypes:
    - std::span<std::pair<T1, T2>>
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: Botan::unzip
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - std::pair::first::reserve
    - std::pair::second::push_back
    - std::pair::second::reserve
    - std::pair::first::push_back
    - Botan::size
    linkageType: ''
    returnType: std::pair<secure_vector<T1>, secure_vector<T2>>
    signature: std::pair<secure_vector<T1>, secure_vector<T2>> unzip(const std::span<std::pair<T1,
      T2>>& vec_zipped)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:103,1
    - Dst: std::span<const uint32_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:103,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:103,1
    - Dst: std::transform
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:107,1
    - Dst: std::span<const uint32_t>::begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:107,1
    - Dst: std::span<const uint32_t>::end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:107,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:107,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vec
    argTypes:
    - std::span<const uint32_t>
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: Botan::enumerate
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - std::transform
    - BOTAN_DEBUG_ASSERT
    - std::back_inserter
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - std::span<const uint32_t>::begin
    - std::span<const uint32_t>::end
    - std::make_pair
    - std::span<const uint32_t>::size
    linkageType: ''
    returnType: std::vector<std::pair<uint32_t, uint16_t>>
    signature: std::vector<std::pair<uint32_t, uint16_t>> enumerate(std::span<const
      uint32_t> vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::enumerate
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:122,1
    - Dst: Botan::CMCE_CT::bitonic_sort_pair
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:123,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:123,1
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:126,1
    - Dst: CmcePermutation::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:126,1
    - Dst: Botan::unzip
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:126,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:126,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: Botan::create_pi
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - std::tie
    - CmcePermutation::get
    - Botan::CMCE_CT::bitonic_sort_pair
    - Botan::enumerate
    - Botan::unzip
    - std::make_pair
    linkageType: ''
    returnType: std::pair<secure_vector<uint32_t>, CmcePermutation>
    signature: std::pair<secure_vector<uint32_t>, CmcePermutation> create_pi(secure_vector<uint32_t>
      a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ct_reverse_bits
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:136,1
    - Dst: CmcePermutationElement::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:136,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:138,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pi_elem
    - modulus
    - m
    argTypes:
    - CmcePermutationElement
    - CmceGfMod
    - size_t
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: Botan::from_pi
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - CmcePermutationElement::get
    - Botan::Classic_McEliece_GF
    - Botan::ct_reverse_bits
    - CmceGfElem
    linkageType: ''
    returnType: Classic_McEliece_GF
    signature: Classic_McEliece_GF from_pi(CmcePermutationElement pi_elem, CmceGfMod
      modulus, size_t m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::zip
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:145,1
    - Dst: Botan::CMCE_CT::bitonic_sort_pair
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:146,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:146,1
    - Dst: std::transform
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:149,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:149,1
    - Dst: auto::end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:149,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - c
    - pi
    argTypes:
    - std::span<const uint16_t>
    - std::span<const uint16_t>
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: Botan::composeinv
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - std::transform
    - std::span
    - std::back_inserter
    - auto::begin
    - Botan::CMCE_CT::bitonic_sort_pair
    - auto::end
    - Botan::zip
    linkageType: ''
    returnType: secure_vector<uint16_t>
    signature: secure_vector<uint16_t> composeinv(std::span<const uint16_t> c, std::span<const
      uint16_t> pi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::composeinv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:158,1
    - Dst: Botan::composeinv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:159,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p'
    - ' q'
    argTypes:
    - secure_vector<uint16_t>
    - secure_vector<uint16_t>
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 4
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: Botan::simultaneous_composeinv
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::composeinv
    linkageType: ''
    returnType: void
    signature: void simultaneous_composeinv(secure_vector<uint16_t>& p, secure_vector<uint16_t>&
      q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:169,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:170,1
    - Dst: Botan::is_power_of_2
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:170,1
    - Dst: secure_vector<uint16_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:174,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:174,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:178,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:178,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:182,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:182,1
    - Dst: std::iota
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:186,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:186,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:186,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:186,1
    - Dst: Botan::composeinv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:187,1
    - Dst: Botan::simultaneous_composeinv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:189,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:192,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:193,1
    - Dst: Botan::CMCE_CT::min
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:193,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:193,1
    - Dst: Botan::simultaneous_composeinv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:196,1
    - Dst: Botan::composeinv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:199,1
    - Dst: Botan::simultaneous_composeinv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:200,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:202,1
    - Dst: Botan::CMCE_CT::min
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:202,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:202,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:202,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:208,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:208,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:213,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:213,1
    - Dst: Botan::composeinv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:216,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:220,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:220,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:225,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:225,1
    - Dst: Botan::composeinv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:228,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:233,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:233,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:234,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:234,1
    - Dst: Botan::generate_control_bits_internal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:237,1
    - Dst: Botan::generate_control_bits_internal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:238,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:240,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:240,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:241,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:242,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:242,1
    - Dst: secure_vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:243,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:243,1
    - Dst: Botan::concat
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:246,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - ' pi'
    argTypes:
    - secure_vector<uint16_t>
    constantsTouched: []
    func_position:
      end: 247
      start: 168
    functionDepth: 5
    functionLinenumber: 168
    functionLinenumberEnd: 247
    functionName: Botan::generate_control_bits_internal
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint16_t>
    - secure_vector::begin
    - Botan::simultaneous_composeinv
    - auto::size
    - BOTAN_ASSERT_NOMSG
    - Botan::composeinv
    - Botan::CMCE_CT::min
    - at
    - secure_vector::at
    - std::iota
    - secure_vector::end
    - static_cast<size_t>
    - Botan::generate_control_bits_internal
    - auto::at
    - Botan::size
    - Botan::concat
    - Botan::is_power_of_2
    - secure_vector<uint16_t>
    linkageType: ''
    returnType: secure_vector<uint16_t>
    signature: secure_vector<uint16_t> generate_control_bits_internal(const secure_vector<uint16_t>&
      pi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:250,1
    - Dst: std::span<const uint32_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:251,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:252,1
    - Dst: CT::Mask::as_choice
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vec
    argTypes:
    - std::span<const uint32_t>
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: Botan::ct_has_adjacent_duplicates
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - CT::Mask::as_choice
    - Botan::BigInt::is_equal
    - std::span<const uint32_t>::size
    - Botan::CT::Mask::cleared
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice ct_has_adjacent_duplicates(std::span<const uint32_t> vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:261,1
    - Dst: StrongSpan<const CmceOrderingBits>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:261,1
    - Dst: sigma2
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:261,1
    - Dst: q
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:261,1
    - Dst: load_le<secure_vector<uint32_t>>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:263,1
    - Dst: ct_has_adjacent_duplicates
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:265,1
    - Dst: Classic_McEliece_Field_Ordering
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:269,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:269,1
    - Dst: poly_f
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' params'
    - random_bits
    argTypes:
    - Classic_McEliece_Parameters
    - StrongSpan<const CmceOrderingBits>
    constantsTouched: []
    func_position:
      end: 270
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 270
    functionName: Botan::Classic_McEliece_Field_Ordering::create_field_ordering
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 2
    functionsReached:
    - ct_has_adjacent_duplicates
    - poly_f
    - q
    - load_le<secure_vector<uint32_t>>
    - sigma2
    - StrongSpan<const CmceOrderingBits>::size
    - std::move
    - Classic_McEliece_Field_Ordering
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: std::optional<Classic_McEliece_Field_Ordering>
    signature: "std::optional<Classic_McEliece_Field_Ordering> Classic_McEliece_Field_Ordering::create_field_ordering(\n
      \  const Classic_McEliece_Parameters& params, StrongSpan<const CmceOrderingBits>
      random_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:273,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:273,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:274,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:274,1
    - Dst: std::transform
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:278,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:278,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:278,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:278,1
    - Dst: from_pi
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:279,1
    - Dst: CmcePermutationElement
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:279,1
    - Dst: Botan::log_q_from_mod
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: Botan::Classic_McEliece_Field_Ordering::alphas
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 9
    functionsReached:
    - std::transform
    - BOTAN_ASSERT_NOMSG
    - CmcePermutationElement
    - begin
    - std::back_inserter
    - size
    - Botan::log_q_from_mod
    - get
    - from_pi
    linkageType: ''
    returnType: std::vector<Classic_McEliece_GF>
    signature: std::vector<Classic_McEliece_GF> Classic_McEliece_Field_Ordering::alphas(size_t
      n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_control_bits_internal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:287,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:287,1
    - Dst: secure_bitvector
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:288,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:288,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:289,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:290,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: Botan::Classic_McEliece_Field_Ordering::alphas_control_bits
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - secure_bitvector
    - get
    - auto::at
    - auto::size
    - generate_control_bits_internal
    linkageType: ''
    returnType: secure_bitvector
    signature: secure_bitvector Classic_McEliece_Field_Ordering::alphas_control_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:300,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:300,1
    - Dst: m
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:300,1
    - Dst: m
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:300,1
    - Dst: std::iota
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:303,1
    - Dst: CmcePermutation::begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:303,1
    - Dst: CmcePermutation::end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:303,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:303,1
    - Dst: m
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:304,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:308,1
    - Dst: auto::conditional_swap
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:309,1
    - Dst: Classic_McEliece_Field_Ordering
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:313,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:313,1
    - Dst: poly_f
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' params'
    - ' control_bits'
    argTypes:
    - Classic_McEliece_Parameters
    - secure_bitvector
    constantsTouched: []
    func_position:
      end: 314
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 314
    functionName: Botan::Classic_McEliece_Field_Ordering::create_from_control_bits
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint16_t>
    - CmcePermutation::begin
    - BOTAN_ASSERT_NOMSG
    - CmcePermutation::end
    - poly_f
    - std::iota
    - size
    - Botan::sha512_msg_expand
    - std::move
    - Classic_McEliece_Field_Ordering
    - m
    - auto::conditional_swap
    linkageType: ''
    returnType: Classic_McEliece_Field_Ordering
    signature: "Classic_McEliece_Field_Ordering Classic_McEliece_Field_Ordering::create_from_control_bits(\n
      \  const Classic_McEliece_Parameters& params, const secure_bitvector& control_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:318,1
    - Dst: Classic_McEliece_Parameters::mu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:318,1
    - Dst: Classic_McEliece_Parameters::mu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:320,1
    - Dst: Botan::EC_Group_Data::point_hash_to_curve_nu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:322,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:323,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:323,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:324,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:324,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:325,1
    - Dst: conditional_swap
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:326,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:327,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' params'
    - ' pivots'
    argTypes:
    - Classic_McEliece_Parameters
    - CmceColumnSelection
    constantsTouched: []
    func_position:
      end: 330
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 330
    functionName: Botan::Classic_McEliece_Field_Ordering::permute_with_pivots
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_field_ordering.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group_Data::point_hash_to_curve_nu
    - pk_no_rows
    - Botan::BigInt::is_equal
    - at
    - Classic_McEliece_Parameters::mu
    - Botan::sha512_msg_expand
    - conditional_swap
    - get
    linkageType: ''
    returnType: void
    signature: "void Classic_McEliece_Field_Ordering::permute_with_pivots(const Classic_McEliece_Parameters&
      params,\n                                                          const CmceColumnSelection&
      pivots)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:30,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - pos
    argTypes:
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan::bit_at_mask
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - Botan::sha512_msg_expand
    linkageType: ''
    returnType: CT::Mask<uint64_t>
    signature: CT::Mask<uint64_t> bit_at_mask(uint64_t val, size_t pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' val'
    - i
    - j
    argTypes:
    - uint64_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: Botan::swap_bits
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_bits(uint64_t& val, size_t i, size_t j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_other_key_not_set
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:44,1
    - Dst: Botan::bit_at_mask
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:46,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:48,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: Botan::count_lsb_zeros
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp
    functionUses: 0
    functionsReached:
    - auto::if_set_return
    - static_cast<size_t>
    - Botan::bit_at_mask
    - Botan_Tests::test_other_key_not_set
    linkageType: ''
    returnType: size_t
    signature: size_t count_lsb_zeros(uint64_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alphas
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:57,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:57,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:59,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:61,1
    - Dst: g
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:61,1
    - Dst: std::vector<CmceMatrixRow>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:63,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:63,1
    - Dst: CmceMatrixRow
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:63,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:63,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:65,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:66,1
    - Dst: m
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:67,1
    - Dst: m
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:68,1
    - Dst: Botan::elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:68,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:73,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:74,1
    - Dst: auto::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - ' params'
    - ' field_ordering'
    - ' g'
    argTypes:
    - Classic_McEliece_Parameters
    - Classic_McEliece_Field_Ordering
    - Classic_McEliece_Minimal_Polynomial
    constantsTouched: []
    func_position:
      end: 79
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: Botan::init_matrix_with_alphas
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp
    functionUses: 0
    functionsReached:
    - g
    - pk_no_rows
    - n
    - t
    - CmceMatrixRow
    - alphas
    - std::vector::push_back
    - std::vector::reserve
    - auto::at
    - Botan::elem
    - std::vector::at
    - m
    - std::vector<CmceMatrixRow>
    linkageType: ''
    returnType: CmceMatrix
    signature: "CmceMatrix init_matrix_with_alphas(const Classic_McEliece_Parameters&
      params,\n                                   const Classic_McEliece_Field_Ordering&
      field_ordering,\n                                   const Classic_McEliece_Minimal_Polynomial&
      g)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:82,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:82,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:82,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:83,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:83,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:83,1
    - Dst: Botan::EC_Group_Data::point_hash_to_curve_nu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:84,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:93,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:93,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:94,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:95,1
    - Dst: subvector
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:95,1
    - Dst: Classic_McEliece_Parameters::mu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:103,1
    - Dst: Classic_McEliece_Parameters::mu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:112,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:114,1
    - Dst: Classic_McEliece_Parameters::mu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:115,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:116,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:119,1
    - Dst: auto::as_choice
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:120,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:130,1
    - Dst: Classic_McEliece_Parameters::mu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:134,1
    - Dst: Botan::bit_at_mask
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:136,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:136,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:137,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:137,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:137,1
    - Dst: Classic_McEliece_Parameters::mu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:146,1
    - Dst: Botan::bit_at_mask
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:148,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:148,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:149,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:149,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:149,1
    - Dst: Botan::EC_Group_Data::point_hash_to_curve_nu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:156,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:157,1
    - Dst: CmceColumnSelection::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:158,1
    - Dst: auto::select
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:158,1
    - Dst: CmceColumnSelection::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:158,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:163,1
    - Dst: Classic_McEliece_Parameters::mu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:164,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:165,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:165,1
    - Dst: std::array::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:165,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:170,1
    - Dst: subvector_replace
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:171,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - ' mat'
    - ' params'
    argTypes:
    - CmceMatrix
    - Classic_McEliece_Parameters
    constantsTouched: []
    func_position:
      end: 175
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 175
    functionName: Botan::move_columns
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp
    functionUses: 0
    functionsReached:
    - Botan::size
    - auto::if_set_return
    - Botan::Sodium::sodium_is_zero
    - Botan::BigInt::is_equal
    - Classic_McEliece_Parameters::mu
    - std::vector::push_back
    - std::array::at
    - BOTAN_ASSERT
    - Botan::EC_Group_Data::point_hash_to_curve_nu
    - n
    - subvector
    - std::vector::reserve
    - subvector_replace
    - Botan::get
    - CmceColumnSelection::at
    - auto::select
    - pk_no_rows
    - Botan::swap_bits
    - Botan::bit_at_mask
    - auto::as_choice
    - std::vector::at
    linkageType: ''
    returnType: std::optional<CmceColumnSelection>
    signature: std::optional<CmceColumnSelection> move_columns(CmceMatrix& mat, const
      Classic_McEliece_Parameters& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:178,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:178,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:178,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:179,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:179,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:179,1
    - Dst: CmceColumnSelection
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:182,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:185,1
    - Dst: is_f
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:186,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:186,1
    - Dst: mu
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:186,1
    - Dst: Botan::move_columns
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:187,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:189,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:193,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:193,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:201,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:202,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:202,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:202,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:208,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:216,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:218,1
    - Dst: at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:218,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:218,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' params'
    - ' mat'
    argTypes:
    - Classic_McEliece_Parameters
    - CmceMatrix
    constantsTouched: []
    func_position:
      end: 224
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 224
    functionName: Botan::apply_gauss
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp
    functionUses: 0
    functionsReached:
    - Botan::get
    - Botan::move_columns
    - is_f
    - pk_no_rows
    - n
    - CmceColumnSelection
    - mu
    - Botan::CT::unpoison
    - auto::value
    - at
    - std::move
    - BOTAN_ASSERT
    - Botan::size
    linkageType: ''
    returnType: std::optional<CmceColumnSelection>
    signature: std::optional<CmceColumnSelection> apply_gauss(const Classic_McEliece_Parameters&
      params, CmceMatrix& mat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pk_size_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:229,1
    - Dst: BufferStuffer
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:230,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:232,1
    - Dst: subvector
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:233,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:233,1
    - Dst: auto::next
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:233,1
    - Dst: pk_row_size_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:233,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:236,1
    - Dst: auto::full
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' params'
    - ' mat'
    argTypes:
    - Classic_McEliece_Parameters
    - CmceMatrix
    constantsTouched: []
    func_position:
      end: 239
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 239
    functionName: Botan::extract_pk_bytes_from_matrix
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp
    functionUses: 0
    functionsReached:
    - auto::next
    - BOTAN_ASSERT_NOMSG
    - pk_no_rows
    - subvector
    - BufferStuffer
    - pk_row_size_bytes
    - auto::full
    - pk_size_bytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> extract_pk_bytes_from_matrix(const Classic_McEliece_Parameters&
      params, const CmceMatrix& mat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_matrix_with_alphas
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:247,1
    - Dst: apply_gauss
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:248,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:250,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:251,1
    - Dst: extract_pk_bytes_from_matrix
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:256,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:257,1
    - Dst: Classic_McEliece_Matrix
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:257,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:257,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' params'
    - ' field_ordering'
    - ' g'
    argTypes:
    - Classic_McEliece_Parameters
    - Classic_McEliece_Field_Ordering
    - Classic_McEliece_Minimal_Polynomial
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: Botan::Classic_McEliece_Matrix::create_matrix
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - Classic_McEliece_Matrix
    - auto::value
    - auto::has_value
    - apply_gauss
    - extract_pk_bytes_from_matrix
    - init_matrix_with_alphas
    - std::move
    - Botan::CT::unpoison
    linkageType: ''
    returnType: std::optional<std::pair<Classic_McEliece_Matrix, CmceColumnSelection>>
    signature: "std::optional<std::pair<Classic_McEliece_Matrix, CmceColumnSelection>>
      Classic_McEliece_Matrix::create_matrix(\n   const Classic_McEliece_Parameters&
      params,\n   const Classic_McEliece_Field_Ordering& field_ordering,\n   const
      Classic_McEliece_Minimal_Polynomial& g)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Matrix::create_matrix
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:264,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:267,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:272,1
    - Dst: is_f
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:274,1
    - Dst: permute_with_pivots
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' params'
    - ' field_ordering'
    - ' g'
    argTypes:
    - Classic_McEliece_Parameters
    - Classic_McEliece_Field_Ordering
    - Classic_McEliece_Minimal_Polynomial
    constantsTouched: []
    func_position:
      end: 279
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 279
    functionName: Botan::Classic_McEliece_Matrix::create_matrix_and_apply_pivots
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp
    functionUses: 1
    functionsReached:
    - Botan::Classic_McEliece_Matrix::create_matrix
    - permute_with_pivots
    - is_f
    - auto::value
    - Botan::CT::unpoison
    linkageType: ''
    returnType: std::optional<std::pair<Classic_McEliece_Matrix, CmceColumnSelection>>
    signature: "std::optional<std::pair<Classic_McEliece_Matrix, CmceColumnSelection>>
      Classic_McEliece_Matrix::create_matrix_and_apply_pivots(const Classic_McEliece_Parameters&
      params,\n                                                        Classic_McEliece_Field_Ordering&
      field_ordering,\n                                                        const
      Classic_McEliece_Minimal_Polynomial& g)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subvector
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:282,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:282,1
    - Dst: subvector
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:283,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:283,1
    - Dst: BufferSlicer
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:284,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:286,1
    - Dst: auto::take
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:287,1
    - Dst: pk_row_size_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:287,1
    - Dst: secure_bitvector
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:288,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:288,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:288,1
    - Dst: auto::has_odd_hamming_weight
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:290,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:293,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' params'
    - ' e'
    argTypes:
    - Classic_McEliece_Parameters
    - CmceErrorVector
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: Botan::Classic_McEliece_Matrix::mul
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_matrix.cpp
    functionUses: 0
    functionsReached:
    - auto::take
    - secure_bitvector
    - pk_no_rows
    - n
    - auto::has_odd_hamming_weight
    - BOTAN_ASSERT_NOMSG
    - subvector
    - BufferSlicer
    - pk_row_size_bytes
    - auto::empty
    linkageType: ''
    returnType: CmceCodeWord
    signature: CmceCodeWord Classic_McEliece_Matrix::mul(const Classic_McEliece_Parameters&
      params, const CmceErrorVector& e) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: Botan::Classic_McEliece_GF
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 3
    functionsReached:
    - Botan::Classic_McEliece_GF
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Classic_McEliece_GF
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::floor_log2
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:54,1
    - Dst: CmceGfMod::get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - modulus
    argTypes:
    - CmceGfMod
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::log_q_from_mod
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 1
    functionsReached:
    - CmceGfMod::get
    - Botan::floor_log2
    linkageType: ''
    returnType: size_t
    signature: size_t log_q_from_mod(CmceGfMod modulus)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::log_q_from_mod
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::log_q
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 0
    functionsReached:
    - Botan::log_q_from_mod
    linkageType: ''
    returnType: size_t
    signature: size_t log_q() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::elem
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CmceGfElem
    signature: CmceGfElem elem() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Botan::modulus
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CmceGfMod
    signature: CmceGfMod modulus() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:81,1
    - Dst: Botan::log_q
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - elem
    argTypes:
    - CmceGfElem
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: '& operator=(const CmceGfElem elem)'
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 0
    functionsReached:
    - Botan::log_q
    - CmceGfElem
    linkageType: ''
    returnType: Classic_McEliece_GF
    signature: Classic_McEliece_GF & operator=(const CmceGfElem elem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:89,1
    - Dst: Classic_McEliece_GF::inv
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - Classic_McEliece_GF
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator/(Classic_McEliece_GF other) const
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - Classic_McEliece_GF::inv
    linkageType: ''
    returnType: Classic_McEliece_GF
    signature: Classic_McEliece_GF operator/(Classic_McEliece_GF other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:97,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - Classic_McEliece_GF
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: operator+(Classic_McEliece_GF other) const
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - Botan::Classic_McEliece_GF
    linkageType: ''
    returnType: Classic_McEliece_GF
    signature: Classic_McEliece_GF operator+(Classic_McEliece_GF other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - Classic_McEliece_GF
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: '& operator+=(Classic_McEliece_GF other)'
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    linkageType: ''
    returnType: Classic_McEliece_GF
    signature: Classic_McEliece_GF & operator+=(Classic_McEliece_GF other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - Classic_McEliece_GF
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: '& operator*=(Classic_McEliece_GF other)'
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    linkageType: ''
    returnType: Classic_McEliece_GF
    signature: Classic_McEliece_GF & operator*=(Classic_McEliece_GF other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:127,1
    - Dst: Classic_McEliece_GF::elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Classic_McEliece_GF
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: operator==(Classic_McEliece_GF other) const
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 0
    functionsReached:
    - Classic_McEliece_GF::elem
    - Botan::elem
    linkageType: ''
    returnType: bool
    signature: bool operator==(Classic_McEliece_GF other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: Botan::square
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Classic_McEliece_GF
    signature: Classic_McEliece_GF square() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: Botan::is_zero
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 3
    functionsReached:
    - Botan::elem
    linkageType: ''
    returnType: bool
    signature: bool is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GF_Mask
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:157,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:157,1
    - Dst: expand
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:160,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:160,1
    - Dst: GF_Mask
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:162,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:162,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:162,1
    - Dst: GF_Mask
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:165,1
    - Dst: Botan::CT::Mask::is_lte
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:165,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:165,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:165,1
    - Dst: GF_Mask
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:169,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:169,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:169,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:169,1
    - Dst: GF_Mask
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:172,1
    - Dst: Botan_Tests::test_other_key_not_set
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:172,1
    - Dst: Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:177,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:177,1
    - Dst: if_set_return
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:177,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:177,1
    - Dst: modulus
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:177,1
    - Dst: Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:181,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:181,1
    - Dst: select
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:181,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:181,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:181,1
    - Dst: modulus
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:181,1
    - Dst: Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:185,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:185,1
    - Dst: select
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:185,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:185,1
    - Dst: get
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:185,1
    - Dst: modulus
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:185,1
    - Dst: select
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:188,1
    - Dst: as_bool
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 201
    functionName: GF_Mask
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.h
    functionUses: 2
    functionsReached:
    - elem
    - as_bool
    - Botan::Sodium::sodium_is_zero
    - Botan::BigInt::is_equal
    - Botan::sha512_msg_expand
    - get
    - modulus
    - Botan::CT::Mask::is_lte
    - Botan_Tests::test_other_key_not_set
    - expand
    - CmceGfElem
    - if_set_return
    - GF_Mask
    - Classic_McEliece_GF
    - select
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API GF_Mask
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Classic_McEliece_Parameter_Set::code
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:17,1
    - Dst: CmceGfMod
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:21,1
    - Dst: CmceGfMod
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:37,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - param_set
    argTypes:
    - Classic_McEliece_Parameter_Set
    constantsTouched: []
    func_position:
      end: 40
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 40
    functionName: Botan::determine_poly_f
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp
    functionUses: 0
    functionsReached:
    - CmceGfMod
    - Classic_McEliece_Parameter_Set::code
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: CmceGfMod
    signature: CmceGfMod determine_poly_f(Classic_McEliece_Parameter_Set param_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::determine_poly_f
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:43,1
    - Dst: Classic_McEliece_Parameter_Set::code
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:45,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:49,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:49,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:50,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:50,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:51,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:51,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:57,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:57,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:58,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:58,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:59,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:59,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:60,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:60,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:69,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:69,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:70,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:70,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:83,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:83,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:84,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:84,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:85,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:85,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:86,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:86,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - param_set
    argTypes:
    - Classic_McEliece_Parameter_Set
    constantsTouched: []
    func_position:
      end: 91
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 91
    functionName: Botan::determine_poly_ring
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp
    functionUses: 0
    functionsReached:
    - Botan::determine_poly_f
    - Classic_McEliece_Parameter_Set::code
    - CmceGfElem
    - Botan::Classic_McEliece_GF
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: Classic_McEliece_Polynomial_Ring
    signature: Classic_McEliece_Polynomial_Ring determine_poly_ring(Classic_McEliece_Parameter_Set
      param_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: determine_poly_ring
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:96,1
    - Dst: Classic_McEliece_Parameter_Set::code
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:98,1
    - Dst: Botan::Classic_McEliece_Parameters::Classic_McEliece_Parameters
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:101,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:101,1
    - Dst: Botan::Classic_McEliece_Parameters::Classic_McEliece_Parameters
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:105,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:105,1
    - Dst: Botan::Classic_McEliece_Parameters::Classic_McEliece_Parameters
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:111,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:111,1
    - Dst: Botan::Classic_McEliece_Parameters::Classic_McEliece_Parameters
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:117,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:117,1
    - Dst: Botan::Classic_McEliece_Parameters::Classic_McEliece_Parameters
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:123,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:123,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - set
    argTypes:
    - Classic_McEliece_Parameter_Set
    constantsTouched: []
    func_position:
      end: 126
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 126
    functionName: Botan::Classic_McEliece_Parameters::create
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp
    functionUses: 10
    functionsReached:
    - BOTAN_ASSERT_UNREACHABLE
    - Botan::Classic_McEliece_Parameters::Classic_McEliece_Parameters
    - std::move
    - determine_poly_ring
    - Classic_McEliece_Parameter_Set::code
    linkageType: ''
    returnType: Classic_McEliece_Parameters
    signature: Classic_McEliece_Parameters Classic_McEliece_Parameters::create(Classic_McEliece_Parameter_Set
      set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:129,1
    - Dst: Botan::Classic_McEliece_Parameter_Set::from_string
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Botan::Classic_McEliece_Parameters::create
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp
    functionUses: 11
    functionsReached:
    - Botan::Classic_McEliece_Parameter_Set::from_string
    - Botan::Classic_McEliece_Parameters::create
    linkageType: ''
    returnType: Classic_McEliece_Parameters
    signature: Classic_McEliece_Parameters Classic_McEliece_Parameters::create(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameters::create
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:133,1
    - Dst: Botan::Classic_McEliece_Parameter_Set::from_oid
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: Botan::Classic_McEliece_Parameters::create
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp
    functionUses: 12
    functionsReached:
    - Botan::Classic_McEliece_Parameter_Set::from_oid
    - Botan::Classic_McEliece_Parameters::create
    linkageType: ''
    returnType: Classic_McEliece_Parameters
    signature: Classic_McEliece_Parameters Classic_McEliece_Parameters::create(const
      OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:137,1
    - Dst: to_string
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Botan::Classic_McEliece_Parameters::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - to_string
    linkageType: ''
    returnType: OID
    signature: OID Classic_McEliece_Parameters::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:144,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - param_set
    - m
    - n
    - poly_ring
    argTypes:
    - Classic_McEliece_Parameter_Set
    - size_t
    - size_t
    - Classic_McEliece_Polynomial_Ring
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: Botan::Classic_McEliece_Parameters::Classic_McEliece_Parameters
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: "void Classic_McEliece_Parameters::Classic_McEliece_Parameters(Classic_McEliece_Parameter_Set
      param_set,\n                                                         size_t
      m,\n                                                         size_t n,\n                                                         Classic_McEliece_Polynomial_Ring
      poly_ring)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: code
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:153,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 177
    functionName: Botan::Classic_McEliece_Parameters::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp
    functionUses: 0
    functionsReached:
    - code
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: size_t
    signature: size_t Classic_McEliece_Parameters::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:180,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:180,1
    - Dst: Botan::XOF::create_or_throw
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:181,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:183,1
    - Dst: std::array<uint8_t, 1>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:183,1
    - Dst: auto::update
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - seed
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 187
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 187
    functionName: Botan::Classic_McEliece_Parameters::prg
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.cpp
    functionUses: 0
    functionsReached:
    - Botan::XOF::create_or_throw
    - auto::update
    - BOTAN_ASSERT_EQUAL
    - std::span<const uint8_t>::size
    - std::array<uint8_t, 1>
    linkageType: ''
    returnType: std::unique_ptr<XOF>
    signature: std::unique_ptr<XOF> Classic_McEliece_Parameters::prg(std::span<const
      uint8_t> seed) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:19,1
    - Dst: Classic_McEliece_GF::modulus
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:19,1
    - Dst: coef_at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:19,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:21,1
    - Dst: Classic_McEliece_GF::modulus
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:21,1
    - Dst: rbegin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:22,1
    - Dst: rend
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - Classic_McEliece_GF
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: Classic_McEliece_Polynomial::operator()(Classic_McEliece_GF a) const
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp
    functionUses: 0
    functionsReached:
    - rbegin
    - BOTAN_DEBUG_ASSERT
    - rend
    - Classic_McEliece_GF::modulus
    - coef_at
    - CmceGfElem
    linkageType: ''
    returnType: Classic_McEliece_GF
    signature: Classic_McEliece_GF Classic_McEliece_Polynomial::operator()(Classic_McEliece_GF
      a) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:32,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:36,1
    - Dst: coef_at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:36,1
    - Dst: coef_at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:36,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:42,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:42,1
    - Dst: std::vector::erase
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:46,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:46,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:46,1
    - Dst: Classic_McEliece_Polynomial
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:48,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Classic_McEliece_Polynomial
    - Classic_McEliece_Polynomial
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: Botan::Classic_McEliece_Polynomial_Ring::multiply
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp
    functionUses: 0
    functionsReached:
    - std::vector::begin
    - std::vector::erase
    - coef_at
    - std::move
    - CmceGfElem
    - std::vector::end
    - Classic_McEliece_Polynomial
    - std::vector::at
    linkageType: ''
    returnType: Classic_McEliece_Polynomial
    signature: "Classic_McEliece_Polynomial Classic_McEliece_Polynomial_Ring::multiply(const
      Classic_McEliece_Polynomial& a,\n                                                                       const
      Classic_McEliece_Polynomial& b) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:53,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:53,1
    - Dst: Botan::Classic_McEliece_Polynomial_Ring::create_element_from_coef
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:54,1
    - Dst: load_le<std::vector<CmceGfElem>>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: Botan::Classic_McEliece_Polynomial_Ring::create_element_from_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp
    functionUses: 0
    functionsReached:
    - load_le<std::vector<CmceGfElem>>
    - Botan::Classic_McEliece_Polynomial_Ring::create_element_from_coef
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: Classic_McEliece_Polynomial
    signature: "Classic_McEliece_Polynomial Classic_McEliece_Polynomial_Ring::create_element_from_bytes(\n
      \  std::span<const uint8_t> bytes) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:60,1
    - Dst: Botan::log_q_from_mod
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:60,1
    - Dst: std::transform
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:61,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:61,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:61,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:61,1
    - Dst: Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:62,1
    - Dst: Classic_McEliece_Polynomial
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' coeff_vec'
    argTypes:
    - std::vector<CmceGfElem>
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: Botan::Classic_McEliece_Polynomial_Ring::create_element_from_coef
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp
    functionUses: 1
    functionsReached:
    - std::transform
    - begin
    - std::back_inserter
    - end
    - Botan::log_q_from_mod
    - CmceGfElem
    - Classic_McEliece_Polynomial
    - Classic_McEliece_GF
    linkageType: ''
    returnType: Classic_McEliece_Polynomial
    signature: "Classic_McEliece_Polynomial Classic_McEliece_Polynomial_Ring::create_element_from_coef(\n
      \  const std::vector<CmceGfElem>& coeff_vec) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - Classic_McEliece_Polynomial_Ring::Big_F_Coefficient
    - Classic_McEliece_Polynomial_Ring::Big_F_Coefficient
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: "operator==(const Classic_McEliece_Polynomial_Ring::Big_F_Coefficient&
      lhs,\n                const Classic_McEliece_Polynomial_Ring::Big_F_Coefficient&
      rhs)"
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator==(const Classic_McEliece_Polynomial_Ring::Big_F_Coefficient&
      lhs,\n                const Classic_McEliece_Polynomial_Ring::Big_F_Coefficient&
      rhs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Polynomial_Ring::create_element_from_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:74,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:77,1
    - Dst: Botan::Classic_McEliece_Polynomial_Ring::create_element_from_coef
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:77,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:77,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:78,1
    - Dst: std::vector<CmceGfElem>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:78,1
    - Dst: degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:78,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:78,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:80,1
    - Dst: degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:82,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:83,1
    - Dst: Botan::Classic_McEliece_Polynomial_Ring::multiply
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:83,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:83,1
    - Dst: degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:87,1
    - Dst: degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:88,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:89,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:89,1
    - Dst: degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:91,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:92,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:92,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:92,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:97,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:103,1
    - Dst: degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:105,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:106,1
    - Dst: degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:109,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:111,1
    - Dst: degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:113,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:114,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:114,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:120,1
    - Dst: degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:120,1
    - Dst: auto::emplace_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:122,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:122,1
    - Dst: poly_f
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:122,1
    - Dst: Classic_McEliece_Minimal_Polynomial
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:124,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - seed
    argTypes:
    - StrongSpan<const CmceIrreducibleBits>
    constantsTouched: []
    func_position:
      end: 125
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 125
    functionName: Botan::Classic_McEliece_Polynomial_Ring::compute_minimal_polynomial
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp
    functionUses: 0
    functionsReached:
    - auto::emplace_back
    - Classic_McEliece_Minimal_Polynomial
    - auto::if_set_return
    - poly_f
    - Botan::Sodium::sodium_is_zero
    - concat
    - Botan::Classic_McEliece_Polynomial_Ring::create_element_from_coef
    - Botan::Classic_McEliece_Polynomial_Ring::multiply
    - std::vector::push_back
    - std::move
    - CmceGfElem
    - Botan::Classic_McEliece_Polynomial_Ring::create_element_from_bytes
    - Botan::CT::unpoison
    - std::vector::at
    - std::vector<CmceGfElem>
    - degree
    linkageType: ''
    returnType: std::optional<Classic_McEliece_Minimal_Polynomial>
    signature: "std::optional<Classic_McEliece_Minimal_Polynomial> Classic_McEliece_Polynomial_Ring::compute_minimal_polynomial(\n
      \  StrongSpan<const CmceIrreducibleBits> seed) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:128,1
    - Dst: coef
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:128,1
    - Dst: coef
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:129,1
    - Dst: std::span
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:131,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:131,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:132,1
    - Dst: store_le
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:135,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:135,1
    - Dst: elem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:135,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:137,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: Botan::Classic_McEliece_Minimal_Polynomial::serialize
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - BOTAN_ASSERT_NOMSG
    - elem
    - std::span
    - size
    - store_le
    - coef
    - BufferStuffer::full
    - BufferStuffer::next
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Classic_McEliece_Minimal_Polynomial::serialize()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:143,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:143,1
    - Dst: load_le<std::vector<CmceGfElem>>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:144,1
    - Dst: std::transform
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:146,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:146,1
    - Dst: auto::end
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:146,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:146,1
    - Dst: Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:147,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:150,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:150,1
    - Dst: Classic_McEliece_Minimal_Polynomial
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - bytes
    - poly_f
    argTypes:
    - std::span<const uint8_t>
    - CmceGfMod
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: Botan::Classic_McEliece_Minimal_Polynomial::from_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_poly.cpp
    functionUses: 2
    functionsReached:
    - std::transform
    - BOTAN_ASSERT_NOMSG
    - load_le<std::vector<CmceGfElem>>
    - Classic_McEliece_Minimal_Polynomial
    - std::back_inserter
    - auto::begin
    - std::span<const uint8_t>::size
    - CmceGfElem
    - auto::end
    - std::vector::emplace_back
    - Classic_McEliece_GF
    linkageType: ''
    returnType: Classic_McEliece_Minimal_Polynomial
    signature: "Classic_McEliece_Minimal_Polynomial Classic_McEliece_Minimal_Polynomial::from_bytes(std::span<const
      uint8_t> bytes,\n                                                                                    CmceGfMod
      poly_f)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.cpp:67,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.cpp:67,1
    - Dst: Classic_McEliece_Parameter_Set
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.cpp:69,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 52
    argCount: 1
    argNames:
    - nm
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 70
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 70
    functionName: Botan::Classic_McEliece_Parameter_Set::from_string
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.cpp
    functionUses: 4
    functionsReached:
    - Invalid_Argument
    - Classic_McEliece_Parameter_Set
    - fmt
    linkageType: ''
    returnType: Classic_McEliece_Parameter_Set
    signature: Classic_McEliece_Parameter_Set Classic_McEliece_Parameter_Set::from_string(std::string_view
      nm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 108
    functionName: Botan::Classic_McEliece_Parameter_Set::to_string
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: std::string
    signature: std::string Classic_McEliece_Parameter_Set::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Parameter_Set::from_string
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.cpp:111,1
    - Dst: to_formatted_string
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: Botan::Classic_McEliece_Parameter_Set::from_oid
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.cpp
    functionUses: 3
    functionsReached:
    - Botan::Classic_McEliece_Parameter_Set::from_string
    - to_formatted_string
    linkageType: ''
    returnType: Classic_McEliece_Parameter_Set
    signature: Classic_McEliece_Parameter_Set Classic_McEliece_Parameter_Set::from_oid(const
      OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - code
    argTypes:
    - Code
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::Classic_McEliece_Parameter_Set
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Classic_McEliece_Parameter_Set(Code code)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::code
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Code
    signature: Code code() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Classic_McEliece_Parameter_Set
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: operator==(const Classic_McEliece_Parameter_Set& other) const
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameter_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Classic_McEliece_Parameter_Set& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::degree
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:105,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:139,1
    - Dst: Botan::poly_f
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:146,1
    - Dst: ell
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:158,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:168,1
    - Dst: m
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:173,1
    - Dst: m
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:173,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:178,1
    - Dst: seed_len
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:185,1
    - Dst: sk_c_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:185,1
    - Dst: sk_poly_g_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:185,1
    - Dst: sk_alpha_control_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:185,1
    - Dst: sk_s_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:185,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:191,1
    - Dst: m
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:191,1
    - Dst: n
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:200,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:200,1
    - Dst: pk_no_cols
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:205,1
    - Dst: pk_no_rows
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:212,1
    - Dst: pk_row_size_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:212,1
    - Dst: Botan::ceil_division
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:217,1
    - Dst: m
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:217,1
    - Dst: t
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:217,1
    - Dst: ell
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:224,1
    - Dst: is_pc
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:230,1
    - Dst: encode_out_size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:232,1
    - Dst: hash_out_bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:232,1
    - Dst: encode_out_size
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:234,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:257,1
    - Dst: Botan::Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:265,1
    - Dst: Botan::poly_f
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:265,1
    - Dst: Botan::Classic_McEliece_Parameters
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h:268,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 29
    functionDepth: 3
    functionLinenumber: 29
    functionLinenumberEnd: 277
    functionName: Botan::Classic_McEliece_Parameters
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_parameters.h
    functionUses: 1
    functionsReached:
    - Botan::Classic_McEliece_Parameters
    - Botan::degree
    - ell
    - pk_no_cols
    - Botan::Classic_McEliece_GF
    - sk_c_bytes
    - Botan::ceil_division
    - Botan::HashFunction::create_or_throw
    - seed_len
    - n
    - Botan::poly_f
    - sk_s_bytes
    - encode_out_size
    - m
    - is_pc
    - t
    - sk_alpha_control_bytes
    - pk_no_rows
    - hash_out_bytes
    - pk_row_size_bytes
    - sk_poly_g_bytes
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Classic_McEliece_Parameters
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp:28,1
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp:40,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp:40,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - x
    - mod
    argTypes:
    - uint32_t
    - CmceGfMod
    constantsTouched: []
    func_position:
      end: 43
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 43
    functionName: Botan::internal_reduce
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - CmceGfElem
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: CmceGfElem
    signature: CmceGfElem internal_reduce(uint32_t x, CmceGfMod mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp:48,1
    - Dst: log_q
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp:55,1
    - Dst: Classic_McEliece_GF
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp:59,1
    - Dst: internal_reduce
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - Classic_McEliece_GF
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: Classic_McEliece_GF::operator*(Classic_McEliece_GF other) const
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp
    functionUses: 0
    functionsReached:
    - log_q
    - internal_reduce
    - BOTAN_ASSERT_NOMSG
    - Classic_McEliece_GF
    linkageType: ''
    returnType: Classic_McEliece_GF
    signature: Classic_McEliece_GF Classic_McEliece_GF::operator*(Classic_McEliece_GF
      other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CmceGfElem
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp:70,1
    - Dst: Classic_McEliece_GF::square
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 82
    functionName: Botan::Classic_McEliece_GF::inv
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_gf.cpp
    functionUses: 0
    functionsReached:
    - Classic_McEliece_GF::square
    - CmceGfElem
    linkageType: ''
    returnType: Classic_McEliece_GF
    signature: Classic_McEliece_GF Classic_McEliece_GF::inv() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_PublicKeyInternal
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: Botan::Classic_McEliece_PublicKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 1
    functionsReached:
    - Botan::Classic_McEliece_PublicKeyInternal
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Classic_McEliece_PublicKeyInternal
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bytes
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: Botan::serialize
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 0
    functionsReached:
    - bytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Botan::matrix
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Classic_McEliece_Matrix
    signature: Classic_McEliece_Matrix & matrix() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::params
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Classic_McEliece_Parameters
    signature: Classic_McEliece_Parameters & params() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: delta
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CmceKeyGenSeed
    signature: CmceKeyGenSeed & delta() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: c
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 246
    functionsReached: []
    linkageType: ''
    returnType: CmceColumnSelection
    signature: CmceColumnSelection & c() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: g
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 801
    functionsReached: []
    linkageType: ''
    returnType: Classic_McEliece_Minimal_Polynomial
    signature: Classic_McEliece_Minimal_Polynomial & g() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: field_ordering
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Classic_McEliece_Field_Ordering
    signature: Classic_McEliece_Field_Ordering & field_ordering() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: s
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 1413
    functionsReached: []
    linkageType: ''
    returnType: CmceRejectionSeed
    signature: CmceRejectionSeed & s() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: params
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: Classic_McEliece_Parameters
    signature: Classic_McEliece_Parameters & params() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: _const_time_poison
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: _const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h:206,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 208
    functionName: Classic_McEliece_KeyPair_Internal
    functionSourceFile: /src/botan/src/lib/pubkey/classic_mceliece/cmce_keys_internal.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: struct BOTAN_TEST_API
    signature: struct BOTAN_TEST_API Classic_McEliece_KeyPair_Internal
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECDH_PublicKey>
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:18,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:18,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: Botan::ECDH_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _public_ec_point
    - std::make_unique<ECDH_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> ECDH_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:30,1
    - Dst: Botan::ECDH_KA_Operation::mul_cofactor_inv
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:31,1
    - Dst: _private_key
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' key'
    - kdf
    - ' rng'
    argTypes:
    - ECDH_PrivateKey
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: Botan::ECDH_KA_Operation::ECDH_KA_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp
    functionUses: 0
    functionsReached:
    - domain
    - Botan::ECDH_KA_Operation::mul_cofactor_inv
    - _private_key
    linkageType: ''
    returnType: void
    signature: void ECDH_KA_Operation(const ECDH_PrivateKey& key, std::string_view
      kdf, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p_bytes
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::ECDH_KA_Operation::agreed_value_size
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp
    functionUses: 0
    functionsReached:
    - get_p_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t agreed_value_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_cofactor
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:38,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:40,1
    - Dst: get_cofactor
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:40,1
    - Dst: OS2ECP
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:40,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:42,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:46,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:49,1
    - Dst: auto::is_identity
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:59,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:60,1
    - Dst: auto::mul_x_only
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - w
    - w_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 64
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 64
    functionName: Botan::ECDH_KA_Operation::raw_agree
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp
    functionUses: 0
    functionsReached:
    - has_cofactor
    - OS2ECP
    - get_cofactor
    - Botan::EC_AffinePoint::deserialize
    - auto::mul_x_only
    - Decoding_Error
    - auto::is_identity
    - Not_Implemented
    - EC_AffinePoint
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> raw_agree(const uint8_t w[], size_t w_len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_cofactor
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:71,1
    - Dst: Botan::EC_Scalar::from_bigint
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:73,1
    - Dst: get_cofactor
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' group'
    - ' x'
    argTypes:
    - EC_Group
    - EC_Scalar
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: Botan::ECDH_KA_Operation::mul_cofactor_inv
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp
    functionUses: 1
    functionsReached:
    - get_cofactor
    - has_cofactor
    - Botan::EC_Scalar::from_bigint
    linkageType: ''
    returnType: EC_Scalar
    signature: EC_Scalar mul_cofactor_inv(const EC_Group& group, const EC_Scalar&
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECDH_PrivateKey>
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:87,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: Botan::ECDH_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ECDH_PrivateKey>
    - domain
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> ECDH_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - format
    argTypes:
    - EC_Point_Format
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Botan::ECDH_PublicKey::public_value
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp
    functionUses: 1
    functionsReached:
    - _public_ec_point
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ECDH_PublicKey::public_value(EC_Point_Format format)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:97,1
    - Dst: std::make_unique<ECDH_KA_Operation>
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:98,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:101,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: Botan::ECDH_PrivateKey::create_key_agreement_op
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - Provider_Not_Found
    - std::make_unique<ECDH_KA_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Key_Agreement>
    signature: "std::unique_ptr<PK_Ops::Key_Agreement> ECDH_PrivateKey::create_key_agreement_op(RandomNumberGenerator&
      rng,\n                                                                                std::string_view
      params,\n                                                                                std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' public_point'
    argTypes:
    - EC_Group
    - EC_Point
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::ECDH_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDH_PublicKey(const EC_Group& group, const EC_Point& public_point)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' public_key'
    argTypes:
    - EC_Group
    - EC_AffinePoint
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::ECDH_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDH_PublicKey(const EC_Group& group, const EC_AffinePoint& public_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::public_value
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::public_value
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.h
    functionUses: 2
    functionsReached:
    - Botan::public_value
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rng'
    - group
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: ECDH_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.h
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECDH_PrivateKey(RandomNumberGenerator& rng, EC_Group group)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' rng'
    - ' group'
    - ' x'
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: ECDH_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDH_PrivateKey(RandomNumberGenerator& rng, const EC_Group& group,
      const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ECDH_PublicKey::public_value
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: public_value
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.h
    functionUses: 23
    functionsReached:
    - Botan::ECDH_PublicKey::public_value
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_value() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ECDH_PublicKey::public_value
      Src: /src/botan/src/lib/pubkey/ecdh/ecdh.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - EC_Point_Format
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: public_value
    functionSourceFile: /src/botan/src/lib/pubkey/ecdh/ecdh.h
    functionUses: 24
    functionsReached:
    - Botan::ECDH_PublicKey::public_value
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_value(EC_Point_Format type) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.cpp:16,1
    - Dst: DilithiumInternalKeypair::second::seed
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.cpp:17,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.cpp:18,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.cpp:18,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - keypair
    argTypes:
    - DilithiumInternalKeypair
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: Botan::ML_DSA_Expanding_Keypair_Codec::encode_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.cpp
    functionUses: 0
    functionsReached:
    - DilithiumInternalKeypair::second::seed
    - BOTAN_ARG_CHECK
    - value
    - has_value
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> ML_DSA_Expanding_Keypair_Codec::encode_keypair(DilithiumInternalKeypair
      keypair) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_Algos::expand_keypair
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.cpp:24,1
    - Dst: DilithiumSeedRandomness
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.cpp:24,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - private_key_seed
    - mode
    argTypes:
    - std::span<const uint8_t>
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: Botan::ML_DSA_Expanding_Keypair_Codec::decode_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::expand_keypair
    - std::move
    - DilithiumSeedRandomness
    linkageType: ''
    returnType: DilithiumInternalKeypair
    signature: "DilithiumInternalKeypair ML_DSA_Expanding_Keypair_Codec::decode_keypair(std::span<const
      uint8_t> private_key_seed,\n                                                                        DilithiumConstants
      mode) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - user_context
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::ML_DSA_MessageHash::is_valid_user_context
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: bool
    signature: bool is_valid_user_context(std::span<const uint8_t> user_context) const
      final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumMessageHash::start
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:46,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:49,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - user_context
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: Botan::ML_DSA_MessageHash::start
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h
    functionUses: 0
    functionsReached:
    - update
    - Botan::DilithiumMessageHash::start
    linkageType: ''
    returnType: void
    signature: void start(std::span<const uint8_t> user_context) final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: H_256<DilithiumSeedRhoPrime>
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - k
    - rnd
    - mu
    argTypes:
    - StrongSpan<const DilithiumSigningSeedK>
    - StrongSpan<const DilithiumOptionalRandomness>
    - StrongSpan<const DilithiumMessageRepresentative>
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: Botan::ML_DSA_Symmetric_Primitives::H
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h
    functionUses: 0
    functionsReached:
    - H_256<DilithiumSeedRhoPrime>
    linkageType: ''
    returnType: DilithiumSeedRhoPrime
    signature: "DilithiumSeedRhoPrime H(StrongSpan<const DilithiumSigningSeedK> k,\n
      \                             StrongSpan<const DilithiumOptionalRandomness>
      rnd,\n                              StrongSpan<const DilithiumMessageRepresentative>
      mu) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DilithiumShakeXOF>
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:65,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:66,1
    - Dst: l
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: Botan::ML_DSA_Symmetric_Primitives::ML_DSA_Symmetric_Primitives
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<DilithiumShakeXOF>
    - k
    - l
    linkageType: ''
    returnType: void
    signature: void ML_DSA_Symmetric_Primitives(const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<std::reference_wrapper<RandomNumberGenerator>>::has_value
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:75,1
    - Dst: std::optional<std::reference_wrapper<RandomNumberGenerator>>::get
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:76,1
    - Dst: Botan::ML_DSA_Symmetric_Primitives::H
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - k
    - mu
    - rng
    argTypes:
    - StrongSpan<const DilithiumSigningSeedK>
    - StrongSpan<const DilithiumMessageRepresentative>
    - std::optional<std::reference_wrapper<RandomNumberGenerator>>
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: Botan::ML_DSA_Symmetric_Primitives::H_maybe_randomized
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h
    functionUses: 0
    functionsReached:
    - Botan::ML_DSA_Symmetric_Primitives::H
    - std::optional<std::reference_wrapper<RandomNumberGenerator>>::has_value
    - std::optional<std::reference_wrapper<RandomNumberGenerator>>::get
    linkageType: ''
    returnType: DilithiumSeedRhoPrime
    signature: "DilithiumSeedRhoPrime H_maybe_randomized(\n         StrongSpan<const
      DilithiumSigningSeedK> k,\n         StrongSpan<const DilithiumMessageRepresentative>
      mu,\n         std::optional<std::reference_wrapper<RandomNumberGenerator>> rng)
      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seed
    argTypes:
    - StrongSpan<const DilithiumCommitmentHash>
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: Botan::ML_DSA_Symmetric_Primitives::truncate_commitment_hash
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StrongSpan<const DilithiumCommitmentHash>
    signature: "StrongSpan<const DilithiumCommitmentHash> truncate_commitment_hash(\n
      \        StrongSpan<const DilithiumCommitmentHash> seed) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ML_DSA_MessageHash>
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:89,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tr
    argTypes:
    - DilithiumHashedPublicKey
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::ML_DSA_Symmetric_Primitives::get_message_hash
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ML_DSA_MessageHash>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<DilithiumMessageHash>
    signature: std::unique_ptr<DilithiumMessageHash> get_message_hash(DilithiumHashedPublicKey
      tr) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: Botan::ML_DSA_Symmetric_Primitives::seed_expansion_domain_separator
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/ml_dsa/ml_dsa_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::array<uint8_t, 2>>
    signature: std::optional<std::array<uint8_t, 2>> seed_expansion_domain_separator()
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_Algos::encode_keypair
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keypair
    argTypes:
    - DilithiumInternalKeypair
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: Botan::Dilithium_Expanded_Keypair_Codec::encode_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::encode_keypair
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Dilithium_Expanded_Keypair_Codec::encode_keypair(DilithiumInternalKeypair
      keypair) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp:24,1
    - Dst: DilithiumConstants::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp:24,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp:25,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp:25,1
    - Dst: DilithiumConstants::private_key_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp:25,1
    - Dst: Botan::Dilithium_Algos::decode_keypair
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp:27,1
    - Dst: StrongSpan<const DilithiumSerializedPrivateKey>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp:27,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - private_key
    - mode
    argTypes:
    - std::span<const uint8_t>
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: Botan::Dilithium_Expanded_Keypair_Codec::decode_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.cpp
    functionUses: 0
    functionsReached:
    - DilithiumConstants::private_key_bytes
    - DilithiumConstants::mode
    - Botan::Dilithium_Algos::decode_keypair
    - std::span<const uint8_t>::size
    - std::move
    - StrongSpan<const DilithiumSerializedPrivateKey>
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: DilithiumInternalKeypair
    signature: "DilithiumInternalKeypair Dilithium_Expanded_Keypair_Codec::decode_keypair(std::span<const
      uint8_t> private_key,\n                                                                          DilithiumConstants
      mode) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: H_256<DilithiumSeedRhoPrime>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - mu
    argTypes:
    - StrongSpan<const DilithiumSigningSeedK>
    - StrongSpan<const DilithiumMessageRepresentative>
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: Botan::Dilithium_Round3_Symmetric_Primitives::H
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - H_256<DilithiumSeedRhoPrime>
    linkageType: ''
    returnType: DilithiumSeedRhoPrime
    signature: "DilithiumSeedRhoPrime H(StrongSpan<const DilithiumSigningSeedK> k,\n
      \                             StrongSpan<const DilithiumMessageRepresentative>
      mu) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<std::reference_wrapper<RandomNumberGenerator>>::has_value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.h:44,1
    - Dst: std::optional<std::reference_wrapper<RandomNumberGenerator>>::get
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.h:45,1
    - Dst: Botan::Dilithium_Round3_Symmetric_Primitives::H
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - k
    - mu
    - rng
    argTypes:
    - StrongSpan<const DilithiumSigningSeedK>
    - StrongSpan<const DilithiumMessageRepresentative>
    - std::optional<std::reference_wrapper<RandomNumberGenerator>>
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: Botan::Dilithium_Round3_Symmetric_Primitives::H_maybe_randomized
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Round3_Symmetric_Primitives::H
    - std::optional<std::reference_wrapper<RandomNumberGenerator>>::has_value
    - std::optional<std::reference_wrapper<RandomNumberGenerator>>::get
    linkageType: ''
    returnType: DilithiumSeedRhoPrime
    signature: "DilithiumSeedRhoPrime H_maybe_randomized(\n         StrongSpan<const
      DilithiumSigningSeedK> k,\n         StrongSpan<const DilithiumMessageRepresentative>
      mu,\n         std::optional<std::reference_wrapper<RandomNumberGenerator>> rng)
      const final"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StrongSpan<const DilithiumCommitmentHash>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.h:51,1
    - Dst: StrongSpan<const DilithiumCommitmentHash>::get
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seed
    argTypes:
    - StrongSpan<const DilithiumCommitmentHash>
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Botan::Dilithium_Round3_Symmetric_Primitives::truncate_commitment_hash
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - StrongSpan<const DilithiumCommitmentHash>::get
    - StrongSpan<const DilithiumCommitmentHash>
    linkageType: ''
    returnType: StrongSpan<const DilithiumCommitmentHash>
    signature: "StrongSpan<const DilithiumCommitmentHash> truncate_commitment_hash(\n
      \        StrongSpan<const DilithiumCommitmentHash> seed) const final"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: Botan::Dilithium_Round3_Symmetric_Primitives::seed_expansion_domain_separator
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_round3_symmetric_primitives.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::array<uint8_t, 2>>
    signature: std::optional<std::array<uint8_t, 2>> seed_expansion_domain_separator()
      const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DilithiumShakeXOF>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium/dilithium_round3.h:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: Botan::Dilithium_Symmetric_Primitives::Dilithium_Symmetric_Primitives
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium/dilithium_round3.h
    functionUses: 0
    functionsReached:
    - std::make_unique<DilithiumShakeXOF>
    linkageType: ''
    returnType: void
    signature: void Dilithium_Symmetric_Primitives(const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XOF
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - nonce
    argTypes:
    - std::span<const uint8_t>
    - uint16_t
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: '& XOF128(std::span<const uint8_t> seed, uint16_t nonce) const override'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp
    functionUses: 0
    functionsReached:
    - XOF
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & XOF128(std::span<const uint8_t> seed, uint16_t nonce)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XOF
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - nonce
    argTypes:
    - std::span<const uint8_t>
    - uint16_t
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: '& XOF256(std::span<const uint8_t> seed, uint16_t nonce) const override'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp
    functionUses: 0
    functionsReached:
    - XOF
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & XOF256(std::span<const uint8_t> seed, uint16_t nonce)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp:39,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp:39,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp:41,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp:41,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp:42,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp:44,1
    - Dst: start
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' xof'
    - seed
    - nonce
    argTypes:
    - Botan::XOF
    - std::span<const uint8_t>
    - uint16_t
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: '& XOF(Botan::XOF& xof, std::span<const uint8_t> seed, uint16_t
      nonce)'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - get_byte<0>
    - get_byte<1>
    - clear
    - start
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::first
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & XOF(Botan::XOF& xof, std::span<const uint8_t> seed, uint16_t
      nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AES_XOF>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: Botan::Dilithium_AES_Symmetric_Primitives::Dilithium_AES_Symmetric_Primitives
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_round3/dilithium_aes/dilithium_aes.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AES_XOF>
    linkageType: ''
    returnType: void
    signature: void Dilithium_AES_Symmetric_Primitives::Dilithium_AES_Symmetric_Primitives(const
      DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_ml_dsa
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::is_dilithium_round3
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.h
    functionUses: 0
    functionsReached:
    - is_ml_dsa
    linkageType: ''
    returnType: bool
    signature: bool is_dilithium_round3() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan::mode
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: Mode
    signature: Mode mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~Dilithium_PublicKey() override
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Dilithium_PublicKey() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h:27,1
    - Dst: static_cast<T2>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h:27,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h:27,1
    - Dst: static_cast<T2>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - T2
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: Botan::DilithiumPolyTraits::montgomery_reduce_coefficient
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - static_cast<T2>
    linkageType: ''
    returnType: T
    signature: T montgomery_reduce_coefficient(T2 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: Botan::DilithiumPolyTraits::barrett_reduce_coefficient
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T barrett_reduce_coefficient(T a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - coeffs
    argTypes:
    - std::span<T, N>
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: Botan::DilithiumPolyTraits::ntt
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h
    functionUses: 0
    functionsReached:
    - fqmul
    linkageType: ''
    returnType: void
    signature: void ntt(std::span<T, N> coeffs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h:89,1
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - coeffs
    argTypes:
    - std::span<T, N>
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: Botan::DilithiumPolyTraits::inverse_ntt
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h
    functionUses: 0
    functionsReached:
    - fqmul
    linkageType: ''
    returnType: void
    signature: void inverse_ntt(std::span<T, N> coeffs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fqmul
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - result
    - lhs
    - rhs
    argTypes:
    - std::span<T, N>
    - std::span<const T, N>
    - std::span<const T, N>
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: Botan::DilithiumPolyTraits::poly_pointwise_montgomery
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_polynomial.h
    functionUses: 0
    functionsReached:
    - fqmul
    linkageType: ''
    returnType: void
    signature: "void poly_pointwise_montgomery(std::span<T, N> result,\n                                                      std::span<const
      T, N> lhs,\n                                                      std::span<const
      T, N> rhs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~Dilithium_Keypair_Codec()
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Dilithium_Keypair_Codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Dilithium_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:38,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:38,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:38,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mode
    - raw_pk
    argTypes:
    - DilithiumConstants
    - StrongSpan<const DilithiumSerializedPublicKey>
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: Botan::Dilithium_PublicKeyInternal::decode
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached:
    - std::make_shared<Dilithium_PublicKeyInternal>
    - std::move
    linkageType: ''
    returnType: std::shared_ptr<Dilithium_PublicKeyInternal>
    signature: "std::shared_ptr<Dilithium_PublicKeyInternal> decode(\n         DilithiumConstants
      mode, StrongSpan<const DilithiumSerializedPublicKey> raw_pk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:42,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:43,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:44,1
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:45,1
    - Dst: Botan::Dilithium_PublicKeyInternal::raw_pk
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:45,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:46,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:46,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:47,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mode
    - rho
    - t1
    argTypes:
    - DilithiumConstants
    - DilithiumSeedRho
    - DilithiumPolyVec
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: Botan::Dilithium_PublicKeyInternal::Dilithium_PublicKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - size
    - empty
    - std::move
    - Botan::Dilithium_PublicKeyInternal::raw_pk
    - symmetric_primitives
    linkageType: ''
    returnType: void
    signature: void Dilithium_PublicKeyInternal(DilithiumConstants mode, DilithiumSeedRho
      rho, DilithiumPolyVec t1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_Algos::encode_public_key
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::Dilithium_PublicKeyInternal::raw_pk
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 1
    functionsReached:
    - Botan::Dilithium_Algos::encode_public_key
    linkageType: ''
    returnType: DilithiumSerializedPublicKey
    signature: DilithiumSerializedPublicKey raw_pk() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& tr() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumHashedPublicKey
    signature: DilithiumHashedPublicKey & tr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& t1() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumPolyVec
    signature: DilithiumPolyVec & t1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '& rho() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumSeedRho
    signature: DilithiumSeedRho & rho() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '& mode() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumConstants
    signature: DilithiumConstants & mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:76,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:77,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:78,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:79,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:80,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - mode
    - seed
    - signing_seed
    - s1
    - s2
    - t0
    argTypes:
    - DilithiumConstants
    - std::optional<DilithiumSeedRandomness>
    - DilithiumSigningSeedK
    - DilithiumPolyVec
    - DilithiumPolyVec
    - DilithiumPolyVec
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: Botan::Dilithium_PrivateKeyInternal::Dilithium_PrivateKeyInternal
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Dilithium_PrivateKeyInternal(DilithiumConstants mode,\n                                   std::optional<DilithiumSeedRandomness>
      seed,\n                                   DilithiumSigningSeedK signing_seed,\n
      \                                  DilithiumPolyVec s1,\n                                   DilithiumPolyVec
      s2,\n                                   DilithiumPolyVec t0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: '& mode() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumConstants
    signature: DilithiumConstants & mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& seed() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<DilithiumSeedRandomness>
    signature: std::optional<DilithiumSeedRandomness> & seed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: '& signing_seed() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumSigningSeedK
    signature: DilithiumSigningSeedK & signing_seed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: '& s1() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumPolyVec
    signature: DilithiumPolyVec & s1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: '& s2() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumPolyVec
    signature: DilithiumPolyVec & s2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& t0() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumPolyVec
    signature: DilithiumPolyVec & t0() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:98,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:99,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:100,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: Botan::Dilithium_PrivateKeyInternal::_const_time_poison
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    - value
    - Botan::CT::poison_all
    - has_value
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:105,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:106,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:107,1
    - Dst: value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: Botan::Dilithium_PrivateKeyInternal::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    - value
    - Botan::CT::unpoison_all
    - has_value
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Botan::DilithiumConstants::DilithiumConstants
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DilithiumConstants(const DilithiumConstants& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan::DilithiumConstants::DilithiumConstants
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DilithiumConstants(DilithiumConstants&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: '& operator=(const DilithiumConstants& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumConstants
    signature: DilithiumConstants & operator=(const DilithiumConstants& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& operator=(DilithiumConstants&& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumConstants
    signature: DilithiumConstants & operator=(DilithiumConstants&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumConstants::is_modern
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan::DilithiumConstants::is_modern
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 1
    functionsReached:
    - Botan::DilithiumConstants::is_modern
    linkageType: ''
    returnType: bool
    signature: bool is_modern() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumConstants::is_aes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan::DilithiumConstants::is_aes
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 1
    functionsReached:
    - Botan::DilithiumConstants::is_aes
    linkageType: ''
    returnType: bool
    signature: bool is_aes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumConstants::is_ml_dsa
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: Botan::DilithiumConstants::is_ml_dsa
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 1
    functionsReached:
    - Botan::DilithiumConstants::is_ml_dsa
    linkageType: ''
    returnType: bool
    signature: bool is_ml_dsa() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Botan::DilithiumConstants::tau
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumTau
    signature: DilithiumTau tau() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Botan::DilithiumConstants::lambda
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumLambda
    signature: DilithiumLambda lambda() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: Botan::DilithiumConstants::gamma1
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumGamma1
    signature: DilithiumGamma1 gamma1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan::DilithiumConstants::gamma2
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumGamma2
    signature: DilithiumGamma2 gamma2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: Botan::DilithiumConstants::k
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t k() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: Botan::DilithiumConstants::l
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t l() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: Botan::DilithiumConstants::eta
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumEta
    signature: DilithiumEta eta() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: Botan::DilithiumConstants::beta
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumBeta
    signature: DilithiumBeta beta() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Botan::DilithiumConstants::omega
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumOmega
    signature: DilithiumOmega omega() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: Botan::DilithiumConstants::public_key_hash_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t public_key_hash_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan::DilithiumConstants::commitment_hash_full_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t commitment_hash_full_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: Botan::DilithiumConstants::signature_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t signature_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Botan::DilithiumConstants::public_key_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t public_key_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Botan::DilithiumConstants::private_key_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t private_key_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: Botan::DilithiumConstants::serialized_commitment_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t serialized_commitment_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: Botan::DilithiumConstants::mode
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumMode
    signature: DilithiumMode mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumConstants::k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h:161,1
    - Dst: Botan::DilithiumConstants::l
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: Botan::DilithiumConstants::canonical_parameter_set_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached:
    - Botan::DilithiumConstants::l
    - Botan::DilithiumConstants::k
    linkageType: ''
    returnType: size_t
    signature: size_t canonical_parameter_set_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: '& symmetric_primitives() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dilithium_Symmetric_Primitives_Base
    signature: Dilithium_Symmetric_Primitives_Base & symmetric_primitives() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: '& keypair_codec() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dilithium_Keypair_Codec
    signature: Dilithium_Keypair_Codec & keypair_codec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:33,1
    - Dst: Botan::DilithiumMessageHash::clear
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tr
    argTypes:
    - DilithiumHashedPublicKey
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::DilithiumMessageHash::DilithiumMessageHash
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::DilithiumMessageHash::clear
    linkageType: ''
    returnType: void
    signature: void DilithiumMessageHash(DilithiumHashedPublicKey tr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~DilithiumMessageHash()
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DilithiumMessageHash()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:38,1
    - Dst: Botan::DilithiumMessageHash::name
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::DilithiumMessageHash::name
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 1
    functionsReached:
    - Botan::fmt
    - Botan::DilithiumMessageHash::name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - user_context
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: Botan::DilithiumMessageHash::is_valid_user_context
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::empty
    linkageType: ''
    returnType: bool
    signature: bool is_valid_user_context(std::span<const uint8_t> user_context) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:47,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:48,1
    - Dst: Botan::DilithiumMessageHash::is_valid_user_context
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:48,1
    - Dst: Botan::DilithiumMessageHash::update
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - user_context
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: Botan::DilithiumMessageHash::start
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 1
    functionsReached:
    - Botan::DilithiumMessageHash::is_valid_user_context
    - Botan::DilithiumMessageHash::update
    - BOTAN_STATE_CHECK
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void start(std::span<const uint8_t> user_context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumMessageHash::ensure_started
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:54,1
    - Dst: Botan::DilithiumMessageHash::update
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: Botan::DilithiumMessageHash::update
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 2
    functionsReached:
    - Botan::DilithiumMessageHash::update
    - Botan::DilithiumMessageHash::ensure_started
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumMessageHash::ensure_started
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:59,1
    - Dst: Botan::DilithiumMessageHash::clear
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:60,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: Botan::DilithiumMessageHash::final
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - output
    - Botan::DilithiumMessageHash::ensure_started
    - Botan::DilithiumMessageHash::clear
    linkageType: ''
    returnType: DilithiumMessageRepresentative
    signature: DilithiumMessageRepresentative final()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumMessageHash::clear
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: Botan::DilithiumMessageHash::clear
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 3
    functionsReached:
    - Botan::DilithiumMessageHash::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumMessageHash::start
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: Botan::DilithiumMessageHash::ensure_started
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 2
    functionsReached:
    - Botan::DilithiumMessageHash::start
    linkageType: ''
    returnType: void
    signature: void ensure_started()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: ~DilithiumXOF()
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DilithiumXOF()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: commitment_hash_full_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:104,1
    - Dst: public_key_hash_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:105,1
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:106,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' mode'
    - xof_adapter
    argTypes:
    - DilithiumConstants
    - std::unique_ptr<DilithiumXOF>
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: Botan::Dilithium_Symmetric_Primitives_Base::Dilithium_Symmetric_Primitives_Base
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - commitment_hash_full_bytes
    - public_key_hash_bytes
    - std::move
    - mode
    linkageType: ''
    returnType: void
    signature: void Dilithium_Symmetric_Primitives_Base(const DilithiumConstants&
      mode, std::unique_ptr<DilithiumXOF> xof_adapter)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: ~Dilithium_Symmetric_Primitives_Base()
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Dilithium_Symmetric_Primitives_Base()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: Botan::Dilithium_Symmetric_Primitives_Base::Dilithium_Symmetric_Primitives_Base
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Dilithium_Symmetric_Primitives_Base(const Dilithium_Symmetric_Primitives_Base&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: '& operator=(const Dilithium_Symmetric_Primitives_Base&)'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dilithium_Symmetric_Primitives_Base
    signature: Dilithium_Symmetric_Primitives_Base & operator=(const Dilithium_Symmetric_Primitives_Base&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: Botan::Dilithium_Symmetric_Primitives_Base::Dilithium_Symmetric_Primitives_Base
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Dilithium_Symmetric_Primitives_Base(Dilithium_Symmetric_Primitives_Base&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: '& operator=(Dilithium_Symmetric_Primitives_Base&&)'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dilithium_Symmetric_Primitives_Base
    signature: Dilithium_Symmetric_Primitives_Base & operator=(Dilithium_Symmetric_Primitives_Base&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DilithiumMessageHash>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:119,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tr
    argTypes:
    - DilithiumHashedPublicKey
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Botan::Dilithium_Symmetric_Primitives_Base::get_message_hash
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - std::make_unique<DilithiumMessageHash>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<DilithiumMessageHash>
    signature: std::unique_ptr<DilithiumMessageHash> get_message_hash(DilithiumHashedPublicKey
      tr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_Symmetric_Primitives_Base::H_256
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pk
    argTypes:
    - StrongSpan<const DilithiumSerializedPublicKey>
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: Botan::Dilithium_Symmetric_Primitives_Base::H
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Symmetric_Primitives_Base::H_256
    linkageType: ''
    returnType: DilithiumHashedPublicKey
    signature: DilithiumHashedPublicKey H(StrongSpan<const DilithiumSerializedPublicKey>
      pk) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:135,1
    - Dst: seed_expansion_domain_separator
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:136,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:137,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:137,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:143,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:144,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:145,1
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:146,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:148,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:148,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - seed
    argTypes:
    - StrongSpan<const DilithiumSeedRandomness>
    constantsTouched: []
    func_position:
      end: 149
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 149
    functionName: Botan::Dilithium_Symmetric_Primitives_Base::H
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - output
    - auto::value
    - clear
    - std::move
    - seed_expansion_domain_separator
    - update
    linkageType: ''
    returnType: std::tuple<DilithiumSeedRho, DilithiumSeedRhoPrime, DilithiumSigningSeedK>
    signature: "std::tuple<DilithiumSeedRho, DilithiumSeedRhoPrime, DilithiumSigningSeedK>
      H(\n         StrongSpan<const DilithiumSeedRandomness> seed) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_Symmetric_Primitives_Base::H_256
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mu
    - w1
    argTypes:
    - StrongSpan<const DilithiumMessageRepresentative>
    - StrongSpan<const DilithiumSerializedCommitment>
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: Botan::Dilithium_Symmetric_Primitives_Base::H
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Symmetric_Primitives_Base::H_256
    linkageType: ''
    returnType: DilithiumCommitmentHash
    signature: "DilithiumCommitmentHash H(StrongSpan<const DilithiumMessageRepresentative>
      mu,\n                                StrongSpan<const DilithiumSerializedCommitment>
      w1) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:157,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:158,1
    - Dst: truncate_commitment_hash
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - seed
    argTypes:
    - StrongSpan<const DilithiumCommitmentHash>
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: '& H(StrongSpan<const DilithiumCommitmentHash> seed) const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - truncate_commitment_hash
    - Botan::update
    - Botan::clear
    linkageType: ''
    returnType: SHAKE_256_XOF
    signature: SHAKE_256_XOF & H(StrongSpan<const DilithiumCommitmentHash> seed) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XOF128
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - nonce
    argTypes:
    - StrongSpan<const DilithiumSeedRho>
    - uint16_t
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: '& H(StrongSpan<const DilithiumSeedRho> seed, uint16_t nonce) const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - XOF128
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & H(StrongSpan<const DilithiumSeedRho> seed, uint16_t nonce)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XOF256
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - nonce
    argTypes:
    - StrongSpan<const DilithiumSeedRhoPrime>
    - uint16_t
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: '& H(StrongSpan<const DilithiumSeedRhoPrime> seed, uint16_t nonce)
      const'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 0
    functionsReached:
    - XOF256
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & H(StrongSpan<const DilithiumSeedRhoPrime> seed, uint16_t
      nonce) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:192,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:193,1
    - Dst: output
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - outbytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: Botan::Dilithium_Symmetric_Primitives_Base::H_256
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.h
    functionUses: 2
    functionsReached:
    - clear
    - update
    - output
    linkageType: ''
    returnType: OutT
    signature: OutT H_256(size_t outbytes, InTs&&... ins) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:42,1
    - Dst: static_cast<unsigned_T>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: Botan::Dilithium_Algos::is_negative_mask
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::expand_top_bit
    - static_cast<unsigned_T>
    linkageType: ''
    returnType: auto
    signature: auto is_negative_mask(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - DilithiumConstants::T
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: Botan::Dilithium_Algos::map_range
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    linkageType: ''
    returnType: std::make_unsigned_t<DilithiumConstants::T>
    signature: std::make_unsigned_t<DilithiumConstants::T> map_range(DilithiumConstants::T
      c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: requires std::is_integral_v<T>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - std::make_unsigned_t<DilithiumConstants::T>
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: Botan::Dilithium_Algos::unmap_range
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - requires std::is_integral_v<T>
    linkageType: ''
    returnType: DilithiumConstants::T
    signature: DilithiumConstants::T unmap_range(std::make_unsigned_t<DilithiumConstants::T>
      c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CRYSTALS::pack<b>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:65,1
    - Dst: CRYSTALS::pack<a + b>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' stuffer'
    argTypes:
    - CRYSTALS::Polynomial<PolyTrait, D>
    - BufferStuffer
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: Botan::Dilithium_Algos::poly_pack
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - CRYSTALS::pack<b>
    - CRYSTALS::pack<a + b>
    linkageType: ''
    returnType: void
    signature: void poly_pack(const CRYSTALS::Polynomial<PolyTrait, D>& p, BufferStuffer&
      stuffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CRYSTALS::unpack<b>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:82,1
    - Dst: CRYSTALS::unpack<a + b>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:86,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:91,1
    - Dst: is_power_of_2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:92,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:92,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:92,1
    - Dst: ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:94,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - ' get_bytes'
    argTypes:
    - CRYSTALS::Polynomial<PolyTrait, D>
    - ByteSourceT
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: Botan::Dilithium_Algos::poly_unpack
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - ct_validate_value_range
    - static_cast<uint64_t>
    - CRYSTALS::unpack<b>
    - BOTAN_DEBUG_ASSERT
    - CRYSTALS::unpack<a + b>
    - Decoding_Error
    - is_power_of_2
    linkageType: ''
    returnType: void
    signature: void poly_unpack(CRYSTALS::Polynomial<PolyTrait, D>& p, ByteSourceT&
      get_bytes, bool check_range = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitlen
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:104,1
    - Dst: Botan::Dilithium_Algos::poly_pack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' stuffer'
    argTypes:
    - DilithiumPoly
    - BufferStuffer
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: Botan::Dilithium_Algos::poly_pack_t1
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - bitlen
    - Botan::Dilithium_Algos::poly_pack
    linkageType: ''
    returnType: void
    signature: void poly_pack_t1(const DilithiumPoly& p, BufferStuffer& stuffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gamma2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:115,1
    - Dst: Botan::Dilithium_Algos::poly_pack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:117,1
    - Dst: Botan::Dilithium_Algos::poly_pack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:119,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' p'
    - ' stuffer'
    - ' mode'
    argTypes:
    - DilithiumPoly
    - BufferStuffer
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: Botan::Dilithium_Algos::poly_pack_w1
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - gamma2
    - Botan::Dilithium_Algos::poly_pack
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: void
    signature: void poly_pack_w1(const DilithiumPoly& p, BufferStuffer& stuffer, const
      DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gamma1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:131,1
    - Dst: Botan::Dilithium_Algos::poly_pack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:133,1
    - Dst: Botan::Dilithium_Algos::poly_pack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:135,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' p'
    - ' stuffer'
    - ' mode'
    argTypes:
    - DilithiumPoly
    - BufferStuffer
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: Botan::Dilithium_Algos::poly_pack_gamma1
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::poly_pack
    - gamma1
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: void
    signature: void poly_pack_gamma1(const DilithiumPoly& p, BufferStuffer& stuffer,
      const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:149,1
    - Dst: Botan::Dilithium_Algos::poly_pack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:151,1
    - Dst: Botan::Dilithium_Algos::poly_pack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:153,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' p'
    - ' stuffer'
    - ' mode'
    argTypes:
    - DilithiumPoly
    - BufferStuffer
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: Botan::Dilithium_Algos::poly_pack_eta
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - eta
    - Botan::Dilithium_Algos::poly_pack
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: void
    signature: void poly_pack_eta(const DilithiumPoly& p, BufferStuffer& stuffer,
      const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_Algos::poly_pack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' stuffer'
    argTypes:
    - DilithiumPoly
    - BufferStuffer
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: Botan::Dilithium_Algos::poly_pack_t0
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::poly_pack
    linkageType: ''
    returnType: void
    signature: void poly_pack_t0(const DilithiumPoly& p, BufferStuffer& stuffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitlen
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:175,1
    - Dst: is_power_of_2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:179,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:179,1
    - Dst: Botan::Dilithium_Algos::poly_unpack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' slicer'
    argTypes:
    - DilithiumPoly
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: Botan::Dilithium_Algos::poly_unpack_t1
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::poly_unpack
    - static_cast<uint32_t>
    - bitlen
    - is_power_of_2
    linkageType: ''
    returnType: void
    signature: void poly_unpack_t1(DilithiumPoly& p, BufferSlicer& slicer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gamma1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:190,1
    - Dst: Botan::Dilithium_Algos::poly_unpack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:192,1
    - Dst: Botan::Dilithium_Algos::poly_unpack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:194,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' p'
    - ' byte_source'
    - ' mode'
    argTypes:
    - DilithiumPoly
    - ByteSourceT
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: Botan::Dilithium_Algos::poly_unpack_gamma1
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::poly_unpack
    - gamma1
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: void
    signature: void poly_unpack_gamma1(DilithiumPoly& p, ByteSourceT& byte_source,
      const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:208,1
    - Dst: Botan::Dilithium_Algos::poly_unpack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:210,1
    - Dst: Botan::Dilithium_Algos::poly_unpack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:212,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' p'
    - ' slicer'
    - ' mode'
    argTypes:
    - DilithiumPoly
    - BufferSlicer
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: Botan::Dilithium_Algos::poly_unpack_eta
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - eta
    - BOTAN_ASSERT_UNREACHABLE
    - Botan::Dilithium_Algos::poly_unpack
    linkageType: ''
    returnType: void
    signature: void poly_unpack_eta(DilithiumPoly& p, BufferSlicer& slicer, const
      DilithiumConstants& mode, bool check_range = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_Algos::poly_unpack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' slicer'
    argTypes:
    - DilithiumPoly
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: Botan::Dilithium_Algos::poly_unpack_t0
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::poly_unpack
    linkageType: ''
    returnType: void
    signature: void poly_unpack_t0(DilithiumPoly& p, BufferSlicer& slicer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:233,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:233,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:233,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:234,1
    - Dst: ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:234,1
    - Dst: next
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:236,1
    - Dst: omega
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:236,1
    - Dst: next
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:237,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:237,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:241,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:243,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:243,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:247,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:251,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ' h'
    - ' stuffer'
    - ' mode'
    argTypes:
    - DilithiumPolyVec
    - BufferStuffer
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 252
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 252
    functionName: Botan::Dilithium_Algos::hint_pack
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::remaining_capacity
    - ct_validate_value_range
    - BufferStuffer::append
    - BOTAN_ASSERT_NOMSG
    - BOTAN_DEBUG_ASSERT
    - size
    - omega
    - next
    - k
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void hint_pack(const DilithiumPolyVec& h, BufferStuffer& stuffer, const
      DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:258,1
    - Dst: omega
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:258,1
    - Dst: take
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:259,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:259,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:261,1
    - Dst: BufferSlicer::take_byte
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:264,1
    - Dst: omega
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:267,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:271,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:275,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:290,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:290,1
    - Dst: std::all_of
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:291,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:291,1
    - Dst: auto::end
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:291,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:295,1
    - Dst: DilithiumPolyVec::ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:295,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ' slicer'
    - ' mode'
    argTypes:
    - BufferSlicer
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 297
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 297
    functionName: Botan::Dilithium_Algos::hint_unpack
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - BufferSlicer::take_byte
    - DilithiumPolyVec::ct_validate_value_range
    - BufferSlicer::take
    - BOTAN_DEBUG_ASSERT
    - auto::end
    - take
    - auto::begin
    - omega
    - auto::size
    - k
    - std::all_of
    - BufferSlicer::remaining
    linkageType: ''
    returnType: std::optional<DilithiumPolyVec>
    signature: std::optional<DilithiumPolyVec> hint_unpack(BufferSlicer& slicer, const
      DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:313,1
    - Dst: clone
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:313,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:314,1
    - Dst: inverse_ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:315,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:315,1
    - Dst: auto::conditional_add_q
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:317,1
    - Dst: Botan::Dilithium_Algos::power2round
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' A'
    - ' s1'
    - ' s2'
    argTypes:
    - DilithiumPolyMatNTT
    - DilithiumPolyVec
    - DilithiumPolyVec
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: Botan::Dilithium_Algos::compute_t1_and_t0
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::power2round
    - auto::conditional_add_q
    - ntt
    - auto::reduce
    - clone
    - std::move
    - inverse_ntt
    linkageType: ''
    returnType: std::pair<DilithiumPolyVec, DilithiumPolyVec>
    signature: "std::pair<DilithiumPolyVec, DilithiumPolyVec> compute_t1_and_t0(const
      DilithiumPolyMatNTT& A,\n                                                                const
      DilithiumPolyVec& s1,\n                                                                const
      DilithiumPolyVec& s2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:330,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:333,1
    - Dst: Botan::Dilithium_Algos::poly_pack_t1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:335,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:338,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rho
    - ' t1'
    - ' mode'
    argTypes:
    - StrongSpan<const DilithiumSeedRho>
    - DilithiumPolyVec
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 340
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 340
    functionName: Botan::Dilithium_Algos::encode_public_key
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 1
    functionsReached:
    - BufferStuffer::append
    - BOTAN_ASSERT_NOMSG
    - public_key_bytes
    - Botan::Dilithium_Algos::poly_pack_t1
    - BufferStuffer::full
    linkageType: ''
    returnType: DilithiumSerializedPublicKey
    signature: "DilithiumSerializedPublicKey encode_public_key(StrongSpan<const DilithiumSeedRho>
      rho,\n                                               const DilithiumPolyVec&
      t1,\n                                               const DilithiumConstants&
      mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StrongSpan<const DilithiumSerializedPublicKey>::size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:347,1
    - Dst: public_key_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:347,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:348,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:352,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:354,1
    - Dst: Botan::Dilithium_Algos::poly_unpack_t1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:356,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:358,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:358,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:360,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pk
    - ' mode'
    argTypes:
    - StrongSpan<const DilithiumSerializedPublicKey>
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 361
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 361
    functionName: Botan::Dilithium_Algos::decode_public_key
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - BufferSlicer::copy
    - public_key_bytes
    - StrongSpan<const DilithiumSerializedPublicKey>::size
    - Decoding_Error
    - BufferSlicer::empty
    - Botan::Dilithium_Algos::poly_unpack_t1
    - std::move
    - k
    linkageType: ''
    returnType: std::pair<DilithiumSeedRho, DilithiumPolyVec>
    signature: "std::pair<DilithiumSeedRho, DilithiumPolyVec> decode_public_key(StrongSpan<const
      DilithiumSerializedPublicKey> pk,\n                                                                const
      DilithiumConstants& mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:370,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:371,1
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:372,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:373,1
    - Dst: private_key_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:375,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:378,1
    - Dst: rho
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:378,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:379,1
    - Dst: signing_seed
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:379,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:380,1
    - Dst: tr
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:380,1
    - Dst: s1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:382,1
    - Dst: Botan::Dilithium_Algos::poly_pack_eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:383,1
    - Dst: s2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:386,1
    - Dst: Botan::Dilithium_Algos::poly_pack_eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:387,1
    - Dst: t0
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:390,1
    - Dst: Botan::Dilithium_Algos::poly_pack_t0
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:391,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:394,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:394,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' keypair'
    argTypes:
    - DilithiumInternalKeypair
    constantsTouched: []
    func_position:
      end: 398
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 398
    functionName: Botan::Dilithium_Algos::encode_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 1
    functionsReached:
    - BufferStuffer::full
    - BufferStuffer::append
    - private_key_bytes
    - BOTAN_ASSERT_NOMSG
    - Botan::Dilithium_Algos::poly_pack_eta
    - t0
    - Botan::CT::unpoison
    - Botan::Dilithium_Algos::poly_pack_t0
    - s2
    - Botan::CT::scoped_poison
    - mode
    - rho
    - signing_seed
    - tr
    - BOTAN_ASSERT_NONNULL
    - s1
    linkageType: ''
    returnType: DilithiumSerializedPrivateKey
    signature: DilithiumSerializedPrivateKey encode_keypair(const DilithiumInternalKeypair&
      keypair)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:410,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:412,1
    - Dst: StrongSpan<const DilithiumSerializedPrivateKey>::size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:412,1
    - Dst: DilithiumConstants::private_key_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:412,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:416,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:417,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:418,1
    - Dst: DilithiumConstants::public_key_hash_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:418,1
    - Dst: DilithiumConstants::l
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:420,1
    - Dst: Botan::Dilithium_Algos::poly_unpack_eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:422,1
    - Dst: DilithiumConstants::k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:425,1
    - Dst: Botan::Dilithium_Algos::poly_unpack_eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:427,1
    - Dst: DilithiumConstants::k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:430,1
    - Dst: Botan::Dilithium_Algos::poly_unpack_t0
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:432,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:435,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:435,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:441,1
    - Dst: Botan::Dilithium_Algos::expand_A
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:443,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:446,1
    - Dst: std::make_shared<Dilithium_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:449,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:449,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:449,1
    - Dst: std::make_shared<Dilithium_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:450,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:450,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:452,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:453,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:454,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:455,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:458,1
    - Dst: DilithiumInternalKeypair::first::tr
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:460,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:461,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - sk
    - mode
    argTypes:
    - StrongSpan<const DilithiumSerializedPrivateKey>
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 467
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 467
    functionName: Botan::Dilithium_Algos::decode_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - Botan::Dilithium_Algos::expand_A
    - BufferSlicer::copy
    - std::make_shared<Dilithium_PrivateKeyInternal>
    - Botan::CT::scoped_poison
    - DilithiumConstants::public_key_hash_bytes
    - StrongSpan<const DilithiumSerializedPrivateKey>::size
    - std::make_shared<Dilithium_PublicKeyInternal>
    - DilithiumConstants::private_key_bytes
    - Botan::Dilithium_Algos::poly_unpack_eta
    - Botan::Dilithium_Algos::poly_unpack_t0
    - BufferSlicer::empty
    - std::move
    - Botan::CT::unpoison
    - DilithiumInternalKeypair::first::tr
    - DilithiumConstants::k
    - Decoding_Error
    - DilithiumConstants::l
    linkageType: ''
    returnType: DilithiumInternalKeypair
    signature: DilithiumInternalKeypair decode_keypair(StrongSpan<const DilithiumSerializedPrivateKey>
      sk, DilithiumConstants mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signature_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:478,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:481,1
    - Dst: Botan::Dilithium_Algos::poly_pack_gamma1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:483,1
    - Dst: Botan::Dilithium_Algos::hint_pack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - c
    - ' response'
    - ' hint'
    - ' mode'
    argTypes:
    - StrongSpan<const DilithiumCommitmentHash>
    - DilithiumPolyVec
    - DilithiumPolyVec
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 488
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 488
    functionName: Botan::Dilithium_Algos::encode_signature
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - signature_bytes
    - BufferStuffer::append
    - Botan::Dilithium_Algos::hint_pack
    - Botan::Dilithium_Algos::poly_pack_gamma1
    linkageType: ''
    returnType: DilithiumSerializedSignature
    signature: "DilithiumSerializedSignature encode_signature(StrongSpan<const DilithiumCommitmentHash>
      c,\n                                              const DilithiumPolyVec& response,\n
      \                                             const DilithiumPolyVec& hint,\n
      \                                             const DilithiumConstants& mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:496,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:496,1
    - Dst: signature_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:496,1
    - Dst: BufferSlicer::copy
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:498,1
    - Dst: commitment_hash_full_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:498,1
    - Dst: l
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:500,1
    - Dst: Botan::Dilithium_Algos::poly_unpack_gamma1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:502,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:504,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:504,1
    - Dst: omega
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:504,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:504,1
    - Dst: Botan::Dilithium_Algos::hint_unpack
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:506,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:507,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:507,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:508,1
    - Dst: std::make_tuple
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:512,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:512,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:512,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:512,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - sig
    - ' mode'
    argTypes:
    - StrongSpan<const DilithiumSerializedSignature>
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 513
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 513
    functionName: Botan::Dilithium_Algos::decode_signature
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - signature_bytes
    - BOTAN_ASSERT_NOMSG
    - auto::value
    - BufferSlicer::copy
    - auto::has_value
    - Botan::Dilithium_Algos::poly_unpack_gamma1
    - Botan::Dilithium_Algos::hint_unpack
    - BufferSlicer::empty
    - std::move
    - std::make_tuple
    - omega
    - commitment_hash_full_bytes
    - k
    - l
    - BufferSlicer::remaining
    linkageType: ''
    returnType: std::optional<std::tuple<DilithiumCommitmentHash, DilithiumPolyVec,
      DilithiumPolyVec>>
    signature: "std::optional<std::tuple<DilithiumCommitmentHash, DilithiumPolyVec,
      DilithiumPolyVec>> decode_signature(\n   StrongSpan<const DilithiumSerializedSignature>
      sig, const DilithiumConstants& mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialized_commitment_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:519,1
    - Dst: Botan::Dilithium_Algos::poly_pack_w1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' w1'
    - ' mode'
    argTypes:
    - DilithiumPolyVec
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 527
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 527
    functionName: Botan::Dilithium_Algos::encode_commitment
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - serialized_commitment_bytes
    - Botan::Dilithium_Algos::poly_pack_w1
    linkageType: ''
    returnType: DilithiumSerializedCommitment
    signature: DilithiumSerializedCommitment encode_commitment(const DilithiumPolyVec&
      w1, const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:534,1
    - Dst: Bounded_XOF<DilithiumConstants::SAMPLE_IN_BALL_XOF_BOUND + 8>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:535,1
    - Dst: DilithiumPoly::size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:539,1
    - Dst: auto::next_byte
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:540,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:546,1
    - Dst: DilithiumPoly::ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:546,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:547,1
    - Dst: DilithiumPoly::hamming_weight
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:547,1
    - Dst: tau
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - seed
    - ' mode'
    argTypes:
    - StrongSpan<const DilithiumCommitmentHash>
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: Botan::Dilithium_Algos::sample_in_ball
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - DilithiumPoly::size
    - DilithiumPoly::hamming_weight
    - Bounded_XOF<DilithiumConstants::SAMPLE_IN_BALL_XOF_BOUND + 8>
    - BOTAN_DEBUG_ASSERT
    - DilithiumPoly::ct_validate_value_range
    - auto::next_byte
    - symmetric_primitives
    - tau
    linkageType: ''
    returnType: DilithiumPoly
    signature: DilithiumPoly sample_in_ball(StrongSpan<const DilithiumCommitmentHash>
      seed, const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:565,1
    - Dst: Bounded_XOF<DilithiumConstants::SAMPLE_NTT_POLY_FROM_XOF_BOUND>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:566,1
    - Dst: make_uint32
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:570,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:574,1
    - Dst: ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - rho
    - ' p'
    - nonce
    - ' mode'
    argTypes:
    - StrongSpan<const DilithiumSeedRho>
    - DilithiumPolyNTT
    - uint16_t
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 575
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 575
    functionName: Botan::Dilithium_Algos::sample_ntt_uniform
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - ct_validate_value_range
    - BOTAN_DEBUG_ASSERT
    - make_uint32
    - symmetric_primitives
    - Bounded_XOF<DilithiumConstants::SAMPLE_NTT_POLY_FROM_XOF_BOUND>
    linkageType: ''
    returnType: void
    signature: "void sample_ntt_uniform(StrongSpan<const DilithiumSeedRho> rho,\n
      \                       DilithiumPolyNTT& p,\n                        uint16_t
      nonce,\n                        const DilithiumConstants& mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:584,1
    - Dst: Botan::CT::driveby_unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:587,1
    - Dst: Botan::CT::driveby_unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:592,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 598
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 598
    functionName: Botan::Dilithium_Algos::coeff_from_halfbyte
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - Botan::CT::driveby_unpoison
    linkageType: ''
    returnType: std::optional<int32_t>
    signature: std::optional<int32_t> coeff_from_halfbyte(uint8_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bounded_XOF<DilithiumConstants::SAMPLE_POLY_FROM_XOF_BOUND>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:605,1
    - Dst: std::exchange
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:607,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:611,1
    - Dst: has_value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:611,1
    - Dst: next_byte
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:613,1
    - Dst: Botan::Dilithium_Algos::coeff_from_halfbyte
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:614,1
    - Dst: Botan::Dilithium_Algos::coeff_from_halfbyte
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:615,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:617,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:620,1
    - Dst: next_coeff
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:628,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' p'
    - ' xof'
    argTypes:
    - DilithiumPoly
    - Botan::XOF
    constantsTouched: []
    func_position:
      end: 630
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 630
    functionName: Botan::Dilithium_Algos::sample_uniform_eta
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::coeff_from_halfbyte
    - std::exchange
    - BOTAN_DEBUG_ASSERT
    - auto::has_value
    - next_coeff
    - Bounded_XOF<DilithiumConstants::SAMPLE_POLY_FROM_XOF_BOUND>
    - next_byte
    - has_value
    linkageType: ''
    returnType: void
    signature: void sample_uniform_eta(DilithiumPoly& p, Botan::XOF& xof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:641,1
    - Dst: eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:642,1
    - Dst: Botan::Dilithium_Algos::sample_uniform_eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:644,1
    - Dst: Botan::Dilithium_Algos::sample_uniform_eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:647,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:652,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:654,1
    - Dst: ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:654,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:654,1
    - Dst: eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:654,1
    - Dst: eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - rhoprime
    - ' p'
    - nonce
    - ' mode'
    argTypes:
    - StrongSpan<const DilithiumSeedRhoPrime>
    - DilithiumPoly
    - uint16_t
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 655
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 655
    functionName: Botan::Dilithium_Algos::sample_uniform_eta
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 1
    functionsReached:
    - Botan::Dilithium_Algos::sample_uniform_eta
    - ct_validate_value_range
    - static_cast<int32_t>
    - eta
    - BOTAN_DEBUG_ASSERT
    - Botan::CT::poison
    - symmetric_primitives
    linkageType: ''
    returnType: void
    signature: "void sample_uniform_eta(StrongSpan<const DilithiumSeedRhoPrime> rhoprime,\n
      \                       DilithiumPoly& p,\n                        uint16_t
      nonce,\n                        const DilithiumConstants& mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DilithiumConstants::symmetric_primitives
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:666,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:667,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:670,1
    - Dst: Botan::Dilithium_Algos::expand_A
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:672,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:676,1
    - Dst: std::make_shared<Dilithium_PublicKeyInternal>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:679,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:679,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:679,1
    - Dst: std::make_shared<Dilithium_PrivateKeyInternal>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:680,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:681,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:681,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:681,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:681,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:681,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:681,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - xi
    - mode
    argTypes:
    - DilithiumSeedRandomness
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 687
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 687
    functionName: Botan::Dilithium_Algos::expand_keypair
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 1
    functionsReached:
    - DilithiumConstants::symmetric_primitives
    - Botan::Dilithium_Algos::expand_A
    - std::make_shared<Dilithium_PrivateKeyInternal>
    - std::make_shared<Dilithium_PublicKeyInternal>
    - Botan::CT::poison
    - std::move
    - Botan::CT::unpoison
    linkageType: ''
    returnType: DilithiumInternalKeypair
    signature: DilithiumInternalKeypair expand_keypair(DilithiumSeedRandomness xi,
      DilithiumConstants mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:696,1
    - Dst: l
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:696,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:697,1
    - Dst: l
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:698,1
    - Dst: Botan::Dilithium_Algos::sample_ntt_uniform
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:699,1
    - Dst: load_le
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rho
    - ' mode'
    argTypes:
    - StrongSpan<const DilithiumSeedRho>
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 703
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 703
    functionName: Botan::Dilithium_Algos::expand_A
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 2
    functionsReached:
    - k
    - l
    - Botan::Dilithium_Algos::sample_ntt_uniform
    - load_le
    linkageType: ''
    returnType: DilithiumPolyMatNTT
    signature: DilithiumPolyMatNTT expand_A(StrongSpan<const DilithiumSeedRho> rho,
      const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:710,1
    - Dst: DilithiumPolyVec
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:710,1
    - Dst: l
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:710,1
    - Dst: DilithiumPolyVec
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:710,1
    - Dst: k
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:710,1
    - Dst: Botan::Dilithium_Algos::sample_uniform_eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:715,1
    - Dst: Botan::Dilithium_Algos::sample_uniform_eta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rhoprime
    - ' mode'
    argTypes:
    - StrongSpan<const DilithiumSeedRhoPrime>
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 723
      start: 708
    functionDepth: 3
    functionLinenumber: 708
    functionLinenumberEnd: 723
    functionName: Botan::Dilithium_Algos::expand_s
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::sample_uniform_eta
    - DilithiumPolyVec
    - std::make_pair
    - k
    - l
    linkageType: ''
    returnType: std::pair<DilithiumPolyVec, DilithiumPolyVec>
    signature: "std::pair<DilithiumPolyVec, DilithiumPolyVec> expand_s(StrongSpan<const
      DilithiumSeedRhoPrime> rhoprime,\n                                                       const
      DilithiumConstants& mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: l
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:731,1
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:733,1
    - Dst: Botan::Dilithium_Algos::poly_unpack_gamma1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - rhoprime
    - nonce
    - ' mode'
    argTypes:
    - StrongSpan<const DilithiumSeedRhoPrime>
    - uint16_t
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 737
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 737
    functionName: Botan::Dilithium_Algos::expand_mask
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::poly_unpack_gamma1
    - l
    - symmetric_primitives
    linkageType: ''
    returnType: DilithiumPolyVec
    signature: "DilithiumPolyVec expand_mask(StrongSpan<const DilithiumSeedRhoPrime>
      rhoprime,\n                             uint16_t nonce,\n                             const
      DilithiumConstants& mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:754,1
    - Dst: DilithiumPolyVec
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:754,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:754,1
    - Dst: DilithiumPolyVec
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:754,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:754,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:756,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:757,1
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:758,1
    - Dst: Botan::Dilithium_Algos::power2round
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - DilithiumPolyVec
    constantsTouched: []
    func_position:
      end: 763
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 763
    functionName: Botan::Dilithium_Algos::power2round
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 2
    functionsReached:
    - Botan::Dilithium_Algos::power2round
    - std::tie
    - DilithiumPolyVec
    - size
    - std::make_pair
    linkageType: ''
    returnType: std::pair<DilithiumPolyVec, DilithiumPolyVec>
    signature: std::pair<DilithiumPolyVec, DilithiumPolyVec> power2round(const DilithiumPolyVec&
      vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_Algos::is_negative_mask
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:783,1
    - Dst: Botan::Dilithium_Algos::is_negative_mask
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 792
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 792
    functionName: Botan::Dilithium_Algos::decompose
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::is_negative_mask
    linkageType: ''
    returnType: std::pair<int32_t, int32_t>
    signature: std::pair<int32_t, int32_t> decompose(int32_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:800,1
    - Dst: DilithiumPolyVec
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:800,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:800,1
    - Dst: DilithiumPolyVec
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:800,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:800,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:802,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:803,1
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:804,1
    - Dst: Botan::Dilithium_Algos::decompose
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:804,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - DilithiumPolyVec
    constantsTouched: []
    func_position:
      end: 809
      start: 799
    functionDepth: 3
    functionLinenumber: 799
    functionLinenumberEnd: 809
    functionName: Botan::Dilithium_Algos::decompose_all_coefficents
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - std::tie
    - DilithiumPolyVec
    - size
    - std::make_pair
    - Botan::Dilithium_Algos::decompose
    linkageType: ''
    returnType: std::pair<DilithiumPolyVec, DilithiumPolyVec>
    signature: std::pair<DilithiumPolyVec, DilithiumPolyVec> decompose_all_coefficents(const
      DilithiumPolyVec& vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gamma2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:821,1
    - Dst: Botan::Dilithium_Algos::decompose_all_coefficents
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:823,1
    - Dst: Botan::Dilithium_Algos::decompose_all_coefficents
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:826,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:830,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' vec'
    - ' mode'
    argTypes:
    - DilithiumPolyVec
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 831
      start: 819
    functionDepth: 4
    functionLinenumber: 819
    functionLinenumberEnd: 831
    functionName: Botan::Dilithium_Algos::decompose
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 1
    functionsReached:
    - gamma2
    - BOTAN_ASSERT_UNREACHABLE
    - Botan::Dilithium_Algos::decompose_all_coefficents
    linkageType: ''
    returnType: std::pair<DilithiumPolyVec, DilithiumPolyVec>
    signature: std::pair<DilithiumPolyVec, DilithiumPolyVec> decompose(const DilithiumPolyVec&
      vec, const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:844,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:844,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:844,1
    - Dst: gamma2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:846,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:847,1
    - Dst: gamma2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:847,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:849,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:850,1
    - Dst: Botan::CT::Mask::is_gt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:855,1
    - Dst: Botan::CT::Mask::is_lte
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:855,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:856,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:856,1
    - Dst: as_choice
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:855,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:860,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:862,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:863,1
    - Dst: Botan::Dilithium_Algos::make_hint
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:864,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:868,1
    - Dst: DilithiumPolyVec::ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ' z'
    - ' r'
    - ' mode'
    argTypes:
    - DilithiumPolyVec
    - DilithiumPolyVec
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 871
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 871
    functionName: Botan::Dilithium_Algos::make_hint
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 1
    functionsReached:
    - Botan::CT::Mask::is_gt
    - as_choice
    - BOTAN_DEBUG_ASSERT
    - static_cast<uint32_t>
    - Botan::BigInt::is_equal
    - Botan::Sodium::sodium_is_zero
    - size
    - Botan::Dilithium_Algos::make_hint
    - Botan::CT::Mask::is_lte
    - gamma2
    - DilithiumPolyVec::ct_validate_value_range
    linkageType: ''
    returnType: DilithiumPolyVec
    signature: DilithiumPolyVec make_hint(const DilithiumPolyVec& z, const DilithiumPolyVec&
      r, const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:884,1
    - Dst: static_cast<decltype(r1)>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:884,1
    - Dst: static_cast<decltype(r1)>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:884,1
    - Dst: modulo_m
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:896,1
    - Dst: modulo_m
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:898,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:902,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:903,1
    - Dst: Botan::Dilithium_Algos::use_hint
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - ' hints'
    - ' vec'
    argTypes:
    - DilithiumPolyVec
    - DilithiumPolyVec
    constantsTouched: []
    func_position:
      end: 907
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 907
    functionName: Botan::Dilithium_Algos::use_hint_on_coefficients
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - static_cast<decltype(r1)>
    - modulo_m
    - BOTAN_DEBUG_ASSERT
    - size
    - Botan::Dilithium_Algos::use_hint
    linkageType: ''
    returnType: void
    signature: void use_hint_on_coefficients(const DilithiumPolyVec& hints, DilithiumPolyVec&
      vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:919,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:919,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:919,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:920,1
    - Dst: ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:920,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:921,1
    - Dst: ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:921,1
    - Dst: gamma2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:924,1
    - Dst: Botan::Dilithium_Algos::use_hint_on_coefficients
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:926,1
    - Dst: Botan::Dilithium_Algos::use_hint_on_coefficients
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:929,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:933,1
    - Dst: ct_validate_value_range
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:933,1
    - Dst: gamma2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' vec'
    - ' hints'
    - ' mode'
    argTypes:
    - DilithiumPolyVec
    - DilithiumPolyVec
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 934
      start: 918
    functionDepth: 2
    functionLinenumber: 918
    functionLinenumberEnd: 934
    functionName: Botan::Dilithium_Algos::use_hint
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 1
    functionsReached:
    - ct_validate_value_range
    - BOTAN_DEBUG_ASSERT
    - Botan::Dilithium_Algos::use_hint_on_coefficients
    - size
    - gamma2
    linkageType: ''
    returnType: void
    signature: void use_hint(DilithiumPolyVec& vec, const DilithiumPolyVec& hints,
      const DilithiumConstants& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:937,1
    - Dst: Botan::Dilithium_Algos::is_negative_mask
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:944,1
    - Dst: Botan::CT::driveby_unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp:945,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' vec'
    - bound
    argTypes:
    - DilithiumPolyVec
    - size_t
    constantsTouched: []
    func_position:
      end: 952
      start: 936
    functionDepth: 2
    functionLinenumber: 936
    functionLinenumberEnd: 952
    functionName: Botan::Dilithium_Algos::infinity_norm_within_bound
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_algos.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - Botan::CT::driveby_unpoison
    - Botan::Dilithium_Algos::is_negative_mask
    linkageType: ''
    returnType: bool
    signature: bool infinity_norm_within_bound(const DilithiumPolyVec& vec, size_t
      bound)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_modern
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.cpp:31,1
    - Dst: is_ml_dsa
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.cpp:31,1
    - Dst: std::make_unique<Dilithium_Symmetric_Primitives>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.cpp:32,1
    - Dst: is_aes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.cpp:37,1
    - Dst: std::make_unique<Dilithium_AES_Symmetric_Primitives>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.cpp:38,1
    - Dst: is_ml_dsa
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.cpp:43,1
    - Dst: std::make_unique<ML_DSA_Symmetric_Primitives>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.cpp:44,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.cpp:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - DilithiumConstants
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: Botan::Dilithium_Symmetric_Primitives_Base::create
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_symmetric_primitives.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ML_DSA_Symmetric_Primitives>
    - is_aes
    - is_modern
    - std::make_unique<Dilithium_AES_Symmetric_Primitives>
    - std::make_unique<Dilithium_Symmetric_Primitives>
    - is_ml_dsa
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<Dilithium_Symmetric_Primitives_Base>
    signature: "std::unique_ptr<Dilithium_Symmetric_Primitives_Base> Dilithium_Symmetric_Primitives_Base::create(\n
      \  const DilithiumConstants& mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DilithiumMode::is_dilithium_round3
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.cpp:24,1
    - Dst: std::make_unique<Dilithium_Expanded_Keypair_Codec>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.cpp:25,1
    - Dst: DilithiumMode::is_ml_dsa
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.cpp:30,1
    - Dst: std::make_unique<ML_DSA_Expanding_Keypair_Codec>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.cpp:31,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.cpp:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - mode
    argTypes:
    - DilithiumMode
    constantsTouched: []
    func_position:
      end: 36
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 36
    functionName: Botan::Dilithium_Keypair_Codec::create
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_keys.cpp
    functionUses: 0
    functionsReached:
    - DilithiumMode::is_dilithium_round3
    - DilithiumMode::is_ml_dsa
    - std::make_unique<ML_DSA_Expanding_Keypair_Codec>
    - std::make_unique<Dilithium_Expanded_Keypair_Codec>
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<Dilithium_Keypair_Codec>
    signature: std::unique_ptr<Dilithium_Keypair_Codec> Dilithium_Keypair_Codec::create(DilithiumMode
      mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:60,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:60,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 61
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 61
    functionName: Botan::dilithium_mode_from_string
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - Botan::fmt
    linkageType: ''
    returnType: DilithiumMode::Mode
    signature: DilithiumMode::Mode dilithium_mode_from_string(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dilithium_mode_from_string
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:65,1
    - Dst: to_formatted_string
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan::DilithiumMode::DilithiumMode
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 2
    functionsReached:
    - to_formatted_string
    - dilithium_mode_from_string
    linkageType: ''
    returnType: void
    signature: void DilithiumMode::DilithiumMode(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dilithium_mode_from_string
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: Botan::DilithiumMode::DilithiumMode
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 2
    functionsReached:
    - dilithium_mode_from_string
    linkageType: ''
    returnType: void
    signature: void DilithiumMode::DilithiumMode(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:70,1
    - Dst: Botan::DilithiumMode::to_string
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan::DilithiumMode::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - Botan::DilithiumMode::to_string
    linkageType: ''
    returnType: OID
    signature: OID DilithiumMode::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 96
    functionName: Botan::DilithiumMode::to_string
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: std::string
    signature: std::string DilithiumMode::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: Botan::DilithiumMode::is_aes
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DilithiumMode::is_aes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DilithiumMode::is_aes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: Botan::DilithiumMode::is_modern
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan::DilithiumMode::is_aes
    linkageType: ''
    returnType: bool
    signature: bool DilithiumMode::is_modern() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: Botan::DilithiumMode::is_ml_dsa
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DilithiumMode::is_ml_dsa() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_dilithium_round3
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:112,1
    - Dst: Botan::DilithiumMode::is_aes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:112,1
    - Dst: is_dilithium_round3
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:117,1
    - Dst: Botan::DilithiumMode::is_modern
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:117,1
    - Dst: Botan::DilithiumMode::is_ml_dsa
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: Botan::DilithiumMode::is_available
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 1
    functionsReached:
    - Botan::DilithiumMode::is_ml_dsa
    - Botan::DilithiumMode::is_modern
    - Botan::DilithiumMode::is_aes
    - is_dilithium_round3
    linkageType: ''
    returnType: bool
    signature: bool DilithiumMode::is_available() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:132,1
    - Dst: second::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:134,1
    - Dst: first::tr
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:134,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:135,1
    - Dst: second::s1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:135,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:136,1
    - Dst: second::s2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:136,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:137,1
    - Dst: second::t0
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:137,1
    - Dst: Botan::Dilithium_Algos::expand_A
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:138,1
    - Dst: first::rho
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:138,1
    - Dst: second::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - keypair
    - randomized
    argTypes:
    - DilithiumInternalKeypair
    - bool
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: Botan::Dilithium_Signature_Operation::Dilithium_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::expand_A
    - ntt
    - first::rho
    - first::tr
    - std::move
    - second::t0
    - second::s2
    - second::mode
    - second::s1
    linkageType: ''
    returnType: void
    signature: void Dilithium_Signature_Operation(DilithiumInternalKeypair keypair,
      bool randomized)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_Signature_Operation::update
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: Botan::Dilithium_Signature_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 1
    functionsReached:
    - Botan::Dilithium_Signature_Operation::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:154,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:156,1
    - Dst: second::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:157,1
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:158,1
    - Dst: H_maybe_randomized
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:160,1
    - Dst: second::signing_seed
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:160,1
    - Dst: Botan::Dilithium_Signature_Operation::maybe
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:160,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:161,1
    - Dst: l
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:163,1
    - Dst: Botan::Dilithium_Algos::expand_mask
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:164,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:166,1
    - Dst: auto::clone
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:166,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:167,1
    - Dst: inverse_ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:168,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:168,1
    - Dst: auto::conditional_add_q
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:169,1
    - Dst: Botan::CT::driveby_unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:172,1
    - Dst: H
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:172,1
    - Dst: Botan::Dilithium_Algos::encode_commitment
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:172,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:174,1
    - Dst: Botan::Dilithium_Algos::sample_in_ball
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:174,1
    - Dst: inverse_ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:175,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:177,1
    - Dst: Botan::Dilithium_Algos::infinity_norm_within_bound
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:180,1
    - Dst: to_underlying
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:180,1
    - Dst: gamma1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:180,1
    - Dst: beta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:180,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:183,1
    - Dst: inverse_ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:185,1
    - Dst: reduce
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:191,1
    - Dst: Botan::Dilithium_Algos::infinity_norm_within_bound
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:193,1
    - Dst: to_underlying
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:193,1
    - Dst: gamma2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:193,1
    - Dst: beta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:193,1
    - Dst: inverse_ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:197,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:198,1
    - Dst: Botan::Dilithium_Algos::infinity_norm_within_bound
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:200,1
    - Dst: gamma2
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:200,1
    - Dst: conditional_add_q
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:205,1
    - Dst: Botan::Dilithium_Algos::make_hint
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:208,1
    - Dst: Botan::CT::driveby_unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:209,1
    - Dst: auto::hamming_weight
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:209,1
    - Dst: omega
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:209,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:212,1
    - Dst: Botan::Dilithium_Algos::encode_signature
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:214,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:217,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 218
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 218
    functionName: Botan::Dilithium_Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::infinity_norm_within_bound
    - Botan::Dilithium_Algos::expand_mask
    - Botan::Dilithium_Signature_Operation::maybe
    - omega
    - beta
    - second::signing_seed
    - Botan::Dilithium_Algos::encode_commitment
    - to_underlying
    - Botan::CT::poison
    - inverse_ntt
    - l
    - second::mode
    - symmetric_primitives
    - Internal_Error
    - auto::conditional_add_q
    - H
    - final
    - auto::clone
    - auto::hamming_weight
    - ntt
    - auto::reduce
    - std::move
    - Botan::Dilithium_Algos::make_hint
    - gamma1
    - Botan::Dilithium_Algos::encode_signature
    - H_maybe_randomized
    - conditional_add_q
    - Botan::CT::driveby_unpoison
    - Botan::CT::scoped_poison
    - Botan::CT::unpoison
    - gamma2
    - Botan::Dilithium_Algos::sample_in_ball
    - reduce
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator& rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: second::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: Botan::Dilithium_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - second::mode
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:223,1
    - Dst: second::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: Botan::Dilithium_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - second::mode
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier algorithm_identifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 227
    functionName: Botan::Dilithium_Signature_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 236
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 236
    functionName: Botan::Dilithium_Signature_Operation::maybe
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::reference_wrapper<RandomNumberGenerator>>
    signature: std::optional<std::reference_wrapper<RandomNumberGenerator>> maybe(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:252,1
    - Dst: Botan::Dilithium_Algos::expand_A
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:253,1
    - Dst: rho
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:253,1
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:253,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:254,1
    - Dst: t1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:254,1
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:255,1
    - Dst: tr
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pubkey
    argTypes:
    - std::shared_ptr<Dilithium_PublicKeyInternal>
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: Botan::Dilithium_Verification_Operation::Dilithium_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::expand_A
    - t1
    - ntt
    - mode
    - std::move
    - rho
    - tr
    linkageType: ''
    returnType: void
    signature: void Dilithium_Verification_Operation(std::shared_ptr<Dilithium_PublicKeyInternal>
      pubkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_Verification_Operation::update
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: Botan::Dilithium_Verification_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 1
    functionsReached:
    - Botan::Dilithium_Verification_Operation::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:270,1
    - Dst: symmetric_primitives
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:271,1
    - Dst: final
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:274,1
    - Dst: StrongSpan::size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:276,1
    - Dst: signature_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:276,1
    - Dst: Botan::Dilithium_Algos::decode_signature
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:280,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:281,1
    - Dst: is_ml_dsa
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:287,1
    - Dst: hamming_weight
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:287,1
    - Dst: omega
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:287,1
    - Dst: Botan::Dilithium_Algos::infinity_norm_within_bound
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:291,1
    - Dst: to_underlying
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:291,1
    - Dst: gamma1
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:291,1
    - Dst: beta
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:291,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:295,1
    - Dst: Botan::Dilithium_Algos::sample_in_ball
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:295,1
    - Dst: ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:296,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:296,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:298,1
    - Dst: inverse_ntt
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:299,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:299,1
    - Dst: auto::conditional_add_q
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:300,1
    - Dst: Botan::Dilithium_Algos::use_hint
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:301,1
    - Dst: H
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:303,1
    - Dst: Botan::Dilithium_Algos::encode_commitment
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:303,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:305,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:305,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:305,1
    - Dst: std::equal
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:306,1
    - Dst: begin
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:306,1
    - Dst: end
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:306,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 307
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 307
    functionName: Botan::Dilithium_Verification_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::infinity_norm_within_bound
    - mode
    - auto::begin
    - omega
    - beta
    - signature_bytes
    - BOTAN_ASSERT_NOMSG
    - Botan::Dilithium_Algos::decode_signature
    - auto::has_value
    - to_underlying
    - Botan::Dilithium_Algos::encode_commitment
    - std::equal
    - StrongSpan::size
    - inverse_ntt
    - is_ml_dsa
    - symmetric_primitives
    - auto::conditional_add_q
    - H
    - final
    - size
    - ntt
    - auto::reduce
    - end
    - std::move
    - gamma1
    - Botan::Dilithium_Algos::use_hint
    - hamming_weight
    - begin
    - auto::size
    - Botan::Dilithium_Algos::sample_in_ball
    linkageType: ''
    returnType: bool
    signature: bool is_valid_signature(std::span<const uint8_t> sig) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: Botan::Dilithium_Verification_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DilithiumMode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:319,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - pk
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: Botan::Dilithium_PublicKey::Dilithium_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - DilithiumMode
    - oid
    linkageType: ''
    returnType: void
    signature: void Dilithium_PublicKey::Dilithium_PublicKey(const AlgorithmIdentifier&
      alg_id, std::span<const uint8_t> pk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:323,1
    - Dst: DilithiumConstants::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:323,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:324,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:324,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:324,1
    - Dst: DilithiumConstants::public_key_bytes
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:324,1
    - Dst: Botan::Dilithium_PublicKeyInternal::decode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:327,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:327,1
    - Dst: StrongSpan<const DilithiumSerializedPublicKey>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pk
    - m
    argTypes:
    - std::span<const uint8_t>
    - DilithiumMode
    constantsTouched: []
    func_position:
      end: 328
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 328
    functionName: Botan::Dilithium_PublicKey::Dilithium_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::empty
    - Botan::Dilithium_PublicKeyInternal::decode
    - DilithiumConstants::public_key_bytes
    - DilithiumConstants::mode
    - std::move
    - std::span<const uint8_t>::size
    - BOTAN_ARG_CHECK
    - StrongSpan<const DilithiumSerializedPublicKey>
    linkageType: ''
    returnType: void
    signature: void Dilithium_PublicKey::Dilithium_PublicKey(std::span<const uint8_t>
      pk, DilithiumMode m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:339,1
    - Dst: std::string
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:339,1
    - Dst: Botan::Dilithium_PublicKey::object_identifier
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 340
    functionName: Botan::Dilithium_PublicKey::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_PublicKey::object_identifier
    - mode
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string Dilithium_PublicKey::algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:343,1
    - Dst: Botan::Dilithium_PublicKey::object_identifier
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: Botan::Dilithium_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - Botan::Dilithium_PublicKey::object_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier Dilithium_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: Botan::Dilithium_PublicKey::object_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 2
    functionsReached:
    - mode
    linkageType: ''
    returnType: OID
    signature: OID Dilithium_PublicKey::object_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: Botan::Dilithium_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - mode
    linkageType: ''
    returnType: size_t
    signature: size_t Dilithium_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: Botan::Dilithium_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - mode
    linkageType: ''
    returnType: size_t
    signature: size_t Dilithium_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_pk
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: Botan::Dilithium_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - raw_pk
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Dilithium_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: Botan::Dilithium_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Dilithium_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: Botan::Dilithium_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Dilithium_PublicKey::check_key(RandomNumberGenerator&, bool) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Dilithium_PrivateKey>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:373,1
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: Botan::Dilithium_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - mode
    - std::make_unique<Dilithium_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> Dilithium_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:378,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:378,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:379,1
    - Dst: std::make_unique<Dilithium_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:380,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:382,1
    - Dst: Botan::Dilithium_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 383
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 383
    functionName: Botan::Dilithium_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_PublicKey::algo_name
    - std::make_unique<Dilithium_Verification_Operation>
    - Provider_Not_Found
    - std::string_view::empty
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> Dilithium_PublicKey::create_verification_op(std::string_view
      params,\n                                                                                  std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:387,1
    - Dst: Botan::Dilithium_PublicKey::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:388,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:389,1
    - Dst: std::make_unique<Dilithium_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:391,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:393,1
    - Dst: Botan::Dilithium_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ' alg_id'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 394
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 394
    functionName: Botan::Dilithium_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_PublicKey::algo_name
    - std::make_unique<Dilithium_Verification_Operation>
    - Provider_Not_Found
    - Botan::Dilithium_PublicKey::algorithm_identifier
    - std::string_view::empty
    - Decoding_Error
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> Dilithium_PublicKey::create_x509_verification_op(\n
      \  const AlgorithmIdentifier& alg_id, std::string_view provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:408,1
    - Dst: DilithiumConstants::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:408,1
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:409,1
    - Dst: Botan::Dilithium_Algos::expand_keypair
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:409,1
    - Dst: random_vec
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:410,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' rng'
    - m
    argTypes:
    - RandomNumberGenerator
    - DilithiumMode
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: Botan::Dilithium_PrivateKey::Dilithium_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Algos::expand_keypair
    - random_vec
    - std::tie
    - DilithiumConstants::mode
    - std::move
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void Dilithium_PrivateKey::Dilithium_PrivateKey(RandomNumberGenerator&
      rng, DilithiumMode m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DilithiumMode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:414,1
    - Dst: oid
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - sk
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 414
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 414
    functionName: Botan::Dilithium_PrivateKey::Dilithium_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - DilithiumMode
    - oid
    linkageType: ''
    returnType: void
    signature: void Dilithium_PrivateKey::Dilithium_PrivateKey(const AlgorithmIdentifier&
      alg_id, std::span<const uint8_t> sk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DilithiumConstants::keypair_codec
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:418,1
    - Dst: std::tie
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:419,1
    - Dst: decode_keypair
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:419,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sk
    - m
    argTypes:
    - std::span<const uint8_t>
    - DilithiumMode
    constantsTouched: []
    func_position:
      end: 420
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 420
    functionName: Botan::Dilithium_PrivateKey::Dilithium_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - DilithiumConstants::keypair_codec
    - decode_keypair
    - std::tie
    - std::move
    linkageType: ''
    returnType: void
    signature: void Dilithium_PrivateKey::Dilithium_PrivateKey(std::span<const uint8_t>
      sk, DilithiumMode m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dilithium_PrivateKey::private_key_bits
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: Botan::Dilithium_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_PrivateKey::private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Dilithium_PrivateKey::raw_private_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: Botan::Dilithium_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 3
    functionsReached:
    - mode
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Dilithium_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:433,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:435,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:435,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:443,1
    - Dst: std::make_unique<Dilithium_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:444,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:446,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 447
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 447
    functionName: Botan::Dilithium_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::make_unique<Dilithium_Signature_Operation>
    - std::string_view::empty
    - BOTAN_UNUSED
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> Dilithium_PrivateKey::create_signature_op(RandomNumberGenerator&
      rng,\n                                                                             std::string_view
      params,\n                                                                             std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Dilithium_PublicKey>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: Botan::Dilithium_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Dilithium_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> Dilithium_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DilithiumMode::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:21,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - mode
    argTypes:
    - DilithiumMode
    constantsTouched: []
    func_position:
      end: 35
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 35
    functionName: Botan::public_key_hash_size
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp
    functionUses: 0
    functionsReached:
    - DilithiumMode::mode
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t public_key_hash_size(DilithiumMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DilithiumMode::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:38,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - mode
    argTypes:
    - DilithiumMode
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: Botan::commitment_hash_full_size
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp
    functionUses: 0
    functionsReached:
    - DilithiumMode::mode
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t commitment_hash_full_size(DilithiumMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: DilithiumConstants::~DilithiumConstants()
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DilithiumConstants::~DilithiumConstants()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key_hash_size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:61,1
    - Dst: commitment_hash_full_size
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:62,1
    - Dst: Botan::DilithiumConstants::mode
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:63,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:104,1
    - Dst: bitlen
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:107,1
    - Dst: bitlen
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:108,1
    - Dst: bitlen
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:110,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:110,1
    - Dst: bitlen
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:111,1
    - Dst: bitlen
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:118,1
    - Dst: Botan::Dilithium_Symmetric_Primitives_Base::create
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:120,1
    - Dst: Botan::Dilithium_Keypair_Codec::create
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 50
    argCount: 1
    argNames:
    - mode
    argTypes:
    - DilithiumMode
    constantsTouched: []
    func_position:
      end: 122
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 122
    functionName: Botan::DilithiumConstants::DilithiumConstants
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_constants.cpp
    functionUses: 0
    functionsReached:
    - Botan::Dilithium_Keypair_Codec::create
    - commitment_hash_full_size
    - public_key_hash_size
    - bitlen
    - static_cast<uint32_t>
    - Botan::Dilithium_Symmetric_Primitives_Base::create
    - Botan::DilithiumConstants::mode
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: void
    signature: void DilithiumConstants::DilithiumConstants(DilithiumMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XOF
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_shake/dilithium_shake_xof.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - nonce
    argTypes:
    - std::span<const uint8_t>
    - uint16_t
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: '& XOF128(std::span<const uint8_t> seed, uint16_t nonce) const override'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_shake/dilithium_shake_xof.h
    functionUses: 0
    functionsReached:
    - XOF
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & XOF128(std::span<const uint8_t> seed, uint16_t nonce)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XOF
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_shake/dilithium_shake_xof.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - nonce
    argTypes:
    - std::span<const uint8_t>
    - uint16_t
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: '& XOF256(std::span<const uint8_t> seed, uint16_t nonce) const override'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_shake/dilithium_shake_xof.h
    functionUses: 0
    functionsReached:
    - XOF
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & XOF256(std::span<const uint8_t> seed, uint16_t nonce)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_shake/dilithium_shake_xof.h:31,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_shake/dilithium_shake_xof.h:32,1
    - Dst: update
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_shake/dilithium_shake_xof.h:33,1
    - Dst: store_le
      Src: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_shake/dilithium_shake_xof.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' xof'
    - seed
    - nonce
    argTypes:
    - Botan::XOF
    - std::span<const uint8_t>
    - uint16_t
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: '& XOF(Botan::XOF& xof, std::span<const uint8_t> seed, uint16_t
      nonce)'
    functionSourceFile: /src/botan/src/lib/pubkey/dilithium/dilithium_common/dilithium_shake/dilithium_shake_xof.h
    functionUses: 0
    functionsReached:
    - clear
    - update
    - store_le
    linkageType: ''
    returnType: Botan::XOF
    signature: Botan::XOF & XOF(Botan::XOF& xof, std::span<const uint8_t> seed, uint16_t
      nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:17,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:23,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:29,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:35,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:41,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:48,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:54,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:60,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:66,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:72,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:78,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:84,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:98,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:105,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:112,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:119,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:126,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:133,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:140,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:147,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:154,1
    - Dst: Botan::DL_Group::load_DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:161,1
    - Dst: std::shared_ptr<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp:164,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 165
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 165
    functionName: Botan::DL_Group::DL_group_info
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_named.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group::load_DL_group_info
    - std::shared_ptr<DL_Group_Data>
    linkageType: ''
    returnType: std::shared_ptr<DL_Group_Data>
    signature: std::shared_ptr<DL_Group_Data> DL_Group::DL_group_info(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:32,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:33,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:34,1
    - Dst: monty_precompute
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:35,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:36,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:37,1
    - Dst: dl_work_factor
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:38,1
    - Dst: dl_exponent_size
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' p'
    - ' q'
    - ' g'
    - source
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - DL_Group_Source
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: Botan::DL_Group_Data::DL_Group_Data
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Montgomery_Params>
    - bits
    - dl_exponent_size
    - monty_precompute
    - Botan::Barrett_Reduction::for_public_modulus
    - dl_work_factor
    linkageType: ''
    returnType: void
    signature: void DL_Group_Data(const BigInt& p, const BigInt& q, const BigInt&
      g, DL_Group_Source source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:45,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:46,1
    - Dst: monty_precompute
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:47,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:48,1
    - Dst: dl_work_factor
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:50,1
    - Dst: dl_exponent_size
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' p'
    - ' g'
    - source
    argTypes:
    - BigInt
    - BigInt
    - DL_Group_Source
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: Botan::DL_Group_Data::DL_Group_Data
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Montgomery_Params>
    - bits
    - dl_exponent_size
    - monty_precompute
    - Botan::Barrett_Reduction::for_public_modulus
    - dl_work_factor
    linkageType: ''
    returnType: void
    signature: void DL_Group_Data(const BigInt& p, const BigInt& g, DL_Group_Source
      source)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ~DL_Group_Data()
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DL_Group_Data()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DL_Group_Data
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::DL_Group_Data::DL_Group_Data
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DL_Group_Data(const DL_Group_Data& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DL_Group_Data
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Botan::DL_Group_Data::DL_Group_Data
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DL_Group_Data(DL_Group_Data&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DL_Group_Data
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '& operator=(const DL_Group_Data& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DL_Group_Data
    signature: DL_Group_Data & operator=(const DL_Group_Data& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DL_Group_Data
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '& operator=(DL_Group_Data&& other)'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DL_Group_Data
    signature: DL_Group_Data & operator=(DL_Group_Data&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '& p() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: '& q() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & q() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '& g() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & g() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& reducer_mod_p() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Barrett_Reduction
    signature: Barrett_Reduction & reducer_mod_p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '& reducer_mod_q() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: Barrett_Reduction
    signature: Barrett_Reduction & reducer_mod_q() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: Botan::DL_Group_Data::monty_params_p
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const Montgomery_Params>
    signature: std::shared_ptr<const Montgomery_Params> monty_params_p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan::DL_Group_Data::p_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t p_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan::DL_Group_Data::q_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t q_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Botan::DL_Group_Data::p_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t p_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Botan::DL_Group_Data::q_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t q_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Botan::DL_Group_Data::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: Botan::DL_Group_Data::exponent_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t exponent_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty_execute
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - max_k_bits
    argTypes:
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::DL_Group_Data::power_g_p
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - monty_execute
    linkageType: ''
    returnType: BigInt
    signature: BigInt power_g_p(const BigInt& k, size_t max_k_bits) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty_execute_vartime
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan::DL_Group_Data::power_g_p_vartime
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - monty_execute_vartime
    linkageType: ''
    returnType: BigInt
    signature: BigInt power_g_p_vartime(const BigInt& k) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty_exp
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' b'
    - ' k'
    - max_k_bits
    argTypes:
    - BigInt
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Botan::DL_Group_Data::power_b_p
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - monty_exp
    linkageType: ''
    returnType: BigInt
    signature: BigInt power_b_p(const BigInt& b, const BigInt& k, size_t max_k_bits)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty_exp_vartime
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' b'
    - ' k'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: Botan::DL_Group_Data::power_b_p_vartime
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - monty_exp_vartime
    linkageType: ''
    returnType: BigInt
    signature: BigInt power_b_p_vartime(const BigInt& b, const BigInt& k) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan::DL_Group_Data::q_is_set
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool q_is_set() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group_Data::q_is_set
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:105,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:106,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - function
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: Botan::DL_Group_Data::assert_q_is_set
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - Botan::DL_Group_Data::q_is_set
    - fmt
    - Invalid_State
    linkageType: ''
    returnType: void
    signature: void assert_q_is_set(std::string_view function) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Botan::DL_Group_Data::source
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DL_Group_Source
    signature: DL_Group_Source source() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:133,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:137,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:138,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:141,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:142,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:145,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:146,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - data
    - data_len
    - format
    - source
    argTypes:
    - uint8_t[]
    - size_t
    - DL_Group_Format
    - DL_Group_Source
    constantsTouched: []
    func_position:
      end: 150
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 150
    functionName: Botan::DL_Group::BER_decode_DL_group
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<DL_Group_Data>
    - Invalid_Argument
    - BER_Decoder::start_sequence
    - BER_Decoder::decode
    linkageType: ''
    returnType: std::shared_ptr<DL_Group_Data>
    signature: "std::shared_ptr<DL_Group_Data> DL_Group::BER_decode_DL_group(const
      uint8_t data[],\n                                                             size_t
      data_len,\n                                                             DL_Group_Format
      format,\n                                                             DL_Group_Source
      source)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:158,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:159,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_str
    - q_str
    - g_str
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: Botan::DL_Group::load_DL_group_info
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<DL_Group_Data>
    - BigInt::is_zero
    linkageType: ''
    returnType: std::shared_ptr<DL_Group_Data>
    signature: std::shared_ptr<DL_Group_Data> DL_Group::load_DL_group_info(const char*
      p_str, const char* q_str, const char* g_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_str
    - g_str
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: Botan::DL_Group::load_DL_group_info
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<DL_Group_Data>
    linkageType: ''
    returnType: std::shared_ptr<DL_Group_Data>
    signature: std::shared_ptr<DL_Group_Data> DL_Group::load_DL_group_info(const char*
      p_str, const char* g_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:184,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: Botan::pem_label_to_dl_format
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan::Decoding_Error
    linkageType: ''
    returnType: DL_Group_Format
    signature: DL_Group_Format pem_label_to_dl_format(std::string_view label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:195,1
    - Dst: unlock
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:200,1
    - Dst: Botan::PEM_Code::decode
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:200,1
    - Dst: pem_label_to_dl_format
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:201,1
    - Dst: Botan::DL_Group::BER_decode_DL_group
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:203,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:203,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:203,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:208,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: Botan::DL_Group::DL_Group
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 1
    functionsReached:
    - Botan::PEM_Code::decode
    - std::vector::size
    - fmt
    - pem_label_to_dl_format
    - Botan::DL_Group::DL_group_info
    - Invalid_Argument
    - unlock
    - Botan::DL_Group::BER_decode_DL_group
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void DL_Group::DL_Group(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::DL_group_info
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:213,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:216,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:216,1
    - Dst: Botan::DL_Group::DL_Group
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: Botan::DL_Group::from_name
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 14
    functionsReached:
    - Invalid_Argument
    - Botan::DL_Group::DL_Group
    - fmt
    - Botan::DL_Group::DL_group_info
    linkageType: ''
    returnType: DL_Group
    signature: DL_Group DL_Group::from_name(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlock
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:225,1
    - Dst: Botan::PEM_Code::decode
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:225,1
    - Dst: pem_label_to_dl_format
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:226,1
    - Dst: Botan::DL_Group::DL_Group
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pem
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: Botan::DL_Group::from_PEM
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 1
    functionsReached:
    - Botan::PEM_Code::decode
    - pem_label_to_dl_format
    - unlock
    - Botan::DL_Group::DL_Group
    linkageType: ''
    returnType: DL_Group
    signature: DL_Group DL_Group::from_PEM(std::string_view pem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::vartime_divide
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:237,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:240,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:244,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:245,1
    - Dst: Botan::monty_exp_vartime
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:248,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:248,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:254,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ' p'
    - ' q'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 255
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 255
    functionName: Botan::make_dsa_generator
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Montgomery_Params>
    - Botan::BigInt::from_word
    - Botan::monty_exp_vartime
    - Invalid_Argument
    - Botan::vartime_divide
    - Botan::Barrett_Reduction::for_public_modulus
    - Internal_Error
    linkageType: ''
    returnType: BigInt
    signature: BigInt make_dsa_generator(const BigInt& p, const BigInt& q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:264,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:264,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:268,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:268,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:273,1
    - Dst: random_safe_prime
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:276,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:286,1
    - Dst: jacobi
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:287,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:288,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:291,1
    - Dst: dl_exponent_size
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:294,1
    - Dst: random_prime
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:297,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:301,1
    - Dst: is_prime
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:301,1
    - Dst: BigInt::randomize
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:302,1
    - Dst: make_dsa_generator
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:307,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:308,1
    - Dst: generate_dsa_primes
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:315,1
    - Dst: make_dsa_generator
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:316,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:317,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:319,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 4
    argNames:
    - ' rng'
    - type
    - pbits
    - qbits
    argTypes:
    - RandomNumberGenerator
    - PrimeType
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 321
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 321
    functionName: Botan::DL_Group::DL_Group
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 3
    functionsReached:
    - make_dsa_generator
    - generate_dsa_primes
    - BigInt::randomize
    - std::make_shared<DL_Group_Data>
    - fmt
    - Botan::BigInt::from_word
    - is_prime
    - random_safe_prime
    - random_prime
    - dl_exponent_size
    - BigInt::bits
    - Invalid_Argument
    - jacobi
    linkageType: ''
    returnType: void
    signature: void DL_Group::DL_Group(RandomNumberGenerator& rng, PrimeType type,
      size_t pbits, size_t qbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_dsa_primes
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:329,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:330,1
    - Dst: make_dsa_generator
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:333,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - ' rng'
    - ' seed'
    - pbits
    - qbits
    argTypes:
    - RandomNumberGenerator
    - std::vector<uint8_t>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 336
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 336
    functionName: Botan::DL_Group::DL_Group
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 3
    functionsReached:
    - std::make_shared<DL_Group_Data>
    - Invalid_Argument
    - make_dsa_generator
    - generate_dsa_primes
    linkageType: ''
    returnType: void
    signature: void DL_Group::DL_Group(RandomNumberGenerator& rng, const std::vector<uint8_t>&
      seed, size_t pbits, size_t qbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' g'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: Botan::DL_Group::DL_Group
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 3
    functionsReached:
    - std::make_shared<DL_Group_Data>
    linkageType: ''
    returnType: void
    signature: void DL_Group::DL_Group(const BigInt& p, const BigInt& g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:349,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:350,1
    - Dst: std::make_shared<DL_Group_Data>
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' p'
    - ' q'
    - ' g'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: Botan::DL_Group::DL_Group
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 3
    functionsReached:
    - std::make_shared<DL_Group_Data>
    - is_zero
    linkageType: ''
    returnType: void
    signature: void DL_Group::DL_Group(const BigInt& p, const BigInt& q, const BigInt&
      g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 362
    functionName: '& DL_Group::data() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: DL_Group_Data
    signature: DL_Group_Data & DL_Group::data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:365,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:366,1
    - Dst: is_zero
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:372,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' y'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 379
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 379
    functionName: Botan::DL_Group::verify_public_element
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    - get_p
    - get_q
    - is_zero
    linkageType: ''
    returnType: bool
    signature: bool DL_Group::verify_public_element(const BigInt& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:382,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 394
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 394
    functionName: Botan::DL_Group::verify_private_element
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - get_p
    - get_q
    linkageType: ''
    returnType: bool
    signature: bool DL_Group::verify_private_element(const BigInt& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:397,1
    - Dst: Botan::DL_Group::power_g_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:403,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:403,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 408
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 408
    functionName: Botan::DL_Group::verify_element_pair
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - bits
    - get_p
    - Botan::DL_Group::power_g_p
    linkageType: ''
    returnType: bool
    signature: bool DL_Group::verify_element_pair(const BigInt& y, const BigInt& x)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:420,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:421,1
    - Dst: get_g
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:422,1
    - Dst: is_prime
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:431,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:439,1
    - Dst: is_prime
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:442,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:453,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:453,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 461
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 461
    functionName: Botan::DL_Group::verify_group
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 1
    functionsReached:
    - get_p
    - data
    - get_q
    - get_g
    - Botan::BigInt::from_word
    - is_prime
    linkageType: ''
    returnType: bool
    signature: bool DL_Group::verify_group(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: '& DL_Group::get_p() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & DL_Group::get_p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 475
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 475
    functionName: '& DL_Group::get_g() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & DL_Group::get_g() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 482
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 482
    functionName: '& DL_Group::get_q() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & DL_Group::get_q() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: Botan::DL_Group::monty_params_p
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::shared_ptr<const Montgomery_Params>
    signature: std::shared_ptr<const Montgomery_Params> DL_Group::monty_params_p()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 490
    functionName: Botan::DL_Group::has_q
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: bool
    signature: bool DL_Group::has_q() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 494
    functionName: Botan::DL_Group::p_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t DL_Group::p_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 498
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 498
    functionName: Botan::DL_Group::p_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t DL_Group::p_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:501,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: Botan::DL_Group::q_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t DL_Group::q_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:506,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: Botan::DL_Group::q_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t DL_Group::q_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 512
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 512
    functionName: Botan::DL_Group::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t DL_Group::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 516
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 516
    functionName: Botan::DL_Group::exponent_bits
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t DL_Group::exponent_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inverse_mod_public_prime
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:520,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 521
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 521
    functionName: Botan::DL_Group::inverse_mod_p
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - get_p
    - inverse_mod_public_prime
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::inverse_mod_p(const BigInt& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 525
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 525
    functionName: Botan::DL_Group::mod_p
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::mod_p(const BigInt& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: Botan::DL_Group::multiply_mod_p
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::multiply_mod_p(const BigInt& x, const BigInt& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 533
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 533
    functionName: '& DL_Group::_reducer_mod_p() const'
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: Barrett_Reduction
    signature: Barrett_Reduction & DL_Group::_reducer_mod_p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:536,1
    - Dst: inverse_mod_public_prime
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:538,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: Botan::DL_Group::inverse_mod_q
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    - inverse_mod_public_prime
    - get_q
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::inverse_mod_q(const BigInt& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:542,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: Botan::DL_Group::mod_q
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::mod_q(const BigInt& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:547,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: Botan::DL_Group::multiply_mod_q
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::multiply_mod_q(const BigInt& x, const BigInt& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:552,1
    - Dst: Botan::DL_Group::multiply_mod_q
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:553,1
    - Dst: Botan::DL_Group::multiply_mod_q
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' z'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 554
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 554
    functionName: Botan::DL_Group::multiply_mod_q
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 1
    functionsReached:
    - data
    - Botan::DL_Group::multiply_mod_q
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::multiply_mod_q(const BigInt& x, const BigInt& y, const
      BigInt& z) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:557,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 559
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 559
    functionName: Botan::DL_Group::square_mod_q
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::square_mod_q(const BigInt& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty_multi_exp
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:562,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:562,1
    - Dst: get_g
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' z'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 563
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 563
    functionName: Botan::DL_Group::multi_exponentiate
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - monty_multi_exp
    - data
    - get_g
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::multi_exponentiate(const BigInt& x, const BigInt&
      y, const BigInt& z) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - max_x_bits
    argTypes:
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 567
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 567
    functionName: Botan::DL_Group::power_g_p
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 1
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::power_g_p(const BigInt& x, size_t max_x_bits) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::power_b_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:570,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' b'
    - ' x'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: Botan::DL_Group::power_b_p
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 1
    functionsReached:
    - data
    - Botan::DL_Group::power_b_p
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::power_b_p(const BigInt& b, const BigInt& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' b'
    - ' x'
    - max_x_bits
    argTypes:
    - BigInt
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 575
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 575
    functionName: Botan::DL_Group::power_b_p
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 1
    functionsReached:
    - data
    linkageType: ''
    returnType: BigInt
    signature: BigInt DL_Group::power_b_p(const BigInt& b, const BigInt& x, size_t
      max_x_bits) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 579
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 579
    functionName: Botan::DL_Group::source
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: DL_Group_Source
    signature: DL_Group_Source DL_Group::source() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:585,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:586,1
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:593,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:593,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:593,1
    - Dst: get_g
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:593,1
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:595,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:595,1
    - Dst: get_g
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:595,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:595,1
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:597,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:597,1
    - Dst: get_g
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:597,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - format
    argTypes:
    - DL_Group_Format
    constantsTouched: []
    func_position:
      end: 603
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 603
    functionName: Botan::DL_Group::DER_encode
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder::start_sequence
    - get_p
    - get_q
    - get_g
    - Encoding_Error
    - Invalid_Argument
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DL_Group::DER_encode(DL_Group_Format format) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::DER_encode
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:609,1
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:612,1
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:614,1
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:616,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - format
    argTypes:
    - DL_Group_Format
    constantsTouched: []
    func_position:
      end: 620
      start: 608
    functionDepth: 2
    functionLinenumber: 608
    functionLinenumberEnd: 620
    functionName: Botan::DL_Group::PEM_encode
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 1
    functionsReached:
    - Botan::PEM_Code::encode
    - Botan::DL_Group::DER_encode
    - Invalid_Argument
    linkageType: ''
    returnType: std::string
    signature: std::string DL_Group::PEM_encode(DL_Group_Format format) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::BER_decode_DL_group
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ber
    - ber_len
    - format
    argTypes:
    - uint8_t[]
    - size_t
    - DL_Group_Format
    constantsTouched: []
    func_position:
      end: 624
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 624
    functionName: Botan::DL_Group::DL_Group
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.cpp
    functionUses: 3
    functionsReached:
    - Botan::DL_Group::BER_decode_DL_group
    linkageType: ''
    returnType: void
    signature: void DL_Group::DL_Group(const uint8_t ber[], size_t ber_len, DL_Group_Format
      format)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:58,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:68,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:85,1
    - Dst: Botan::DL_Group::from_PEM
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:86,1
    - Dst: data
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:138,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:138,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:187,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:263,1
    - Dst: power_g_p
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:264,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:264,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:364,1
    - Dst: DL_Group
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:366,1
    - Dst: DL_Group
      Src: /src/botan/src/lib/pubkey/dl_group/dl_group.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 396
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/pubkey/dl_group/dl_group.h
    functionUses: 10
    functionsReached:
    - power_g_p
    - data
    - DL_Group
    - BOTAN_DEPRECATED
    - bits
    - Botan::DL_Group::from_PEM
    - Botan::size
    linkageType: ''
    returnType: DL_Group
    signature: DL_Group final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::known_pbes_cipher_mode
    functionSourceFile: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool known_pbes_cipher_mode(std::string_view mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:31,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:31,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:36,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:36,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:44,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:47,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:48,1
    - Dst: AlgorithmIdentifier::oid
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:55,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:56,1
    - Dst: std::string::starts_with
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:56,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:57,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:57,1
    - Dst: AlgorithmIdentifier::oid
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:57,1
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:60,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:60,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:61,1
    - Dst: auto::hash
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:64,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:66,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:66,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:72,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:72,1
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:87,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:88,1
    - Dst: auto::hash
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:89,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:93,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:93,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:93,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - passphrase
    - ' kdf_algo'
    - default_key_size
    argTypes:
    - std::string_view
    - AlgorithmIdentifier
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 95
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp
    functionUses: 2
    functionsReached:
    - Botan::PasswordHashFamily::create_or_throw
    - auto::from_params
    - AlgorithmIdentifier
    - Botan::Decoding_Error
    - BER_Decoder
    - secure_vector::size
    - Botan::oid
    - auto::hash
    - AlgorithmIdentifier::oid
    - parameters
    - std::string::empty
    - Botan::OID::from_string
    - Botan::fmt
    - std::string::starts_with
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> derive_key(std::string_view passphrase,\n                                  const
      AlgorithmIdentifier& kdf_algo,\n                                  size_t default_key_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::random_vec
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:106,1
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:109,1
    - Dst: auto::tune
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:115,1
    - Dst: auto::from_iterations
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:117,1
    - Dst: std::unique_ptr::hash
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:121,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:132,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:141,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:141,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:144,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:145,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:147,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:149,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:149,1
    - Dst: auto::tune
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:156,1
    - Dst: auto::from_iterations
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:158,1
    - Dst: std::unique_ptr::hash
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:162,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:172,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:177,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:180,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 8
    argNames:
    - passphrase
    - digest
    - ' rng'
    - msec_in_iterations_out
    - iterations_if_msec_null
    - key_length
    - include_key_length_in_struct
    - ' kdf_algo'
    argTypes:
    - std::string_view
    - std::string_view
    - RandomNumberGenerator
    - size_t*
    - size_t
    - size_t
    - bool
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 183
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 183
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp
    functionUses: 2
    functionsReached:
    - Botan::PasswordHashFamily::create_or_throw
    - auto::from_iterations
    - AlgorithmIdentifier
    - auto::tune
    - DER_Encoder
    - std::unique_ptr::hash
    - Invalid_Argument
    - Botan::OID::from_string
    - Botan::fmt
    - Botan::PasswordHashFamily::create
    - Botan::random_vec
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> derive_key(std::string_view passphrase,\n                                  std::string_view
      digest,\n                                  RandomNumberGenerator& rng,\n                                  size_t*
      msec_in_iterations_out,\n                                  size_t iterations_if_msec_null,\n
      \                                 size_t key_length,\n                                  bool
      include_key_length_in_struct,\n                                  AlgorithmIdentifier&
      kdf_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:195,1
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:197,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:199,1
    - Dst: Botan::known_pbes_cipher_mode
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:199,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:200,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:200,1
    - Dst: Botan::random_vec
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:205,1
    - Dst: auto::default_nonce_length
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:205,1
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:211,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:220,1
    - Dst: auto::start
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:221,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:222,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:222,1
    - Dst: auto::finish
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:223,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:226,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:229,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:232,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:235,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:237,1
    - Dst: Botan::unlock
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 7
    argNames:
    - key_bits
    - passphrase
    - msec_in_iterations_out
    - iterations_if_msec_null
    - cipher
    - prf
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - std::string_view
    - size_t*
    - size_t
    - std::string_view
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 238
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 238
    functionName: Botan::pbes2_encrypt_shared
    functionSourceFile: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - std::span<const uint8_t>::end
    - AlgorithmIdentifier
    - Botan::unlock
    - Botan::OID::from_string
    - Encoding_Error
    - auto::default_nonce_length
    - Botan::Cipher_Mode::create
    - Botan::known_pbes_cipher_mode
    - auto::size
    - Botan::random_vec
    - DER_Encoder
    - std::span<const uint8_t>::begin
    - auto::finish
    - auto::set_key
    - Botan::split_on
    - Botan::derive_key
    - std::make_pair
    - Botan::fmt
    linkageType: ''
    returnType: std::pair<AlgorithmIdentifier, std::vector<uint8_t>>
    signature: "std::pair<AlgorithmIdentifier, std::vector<uint8_t>> pbes2_encrypt_shared(std::span<const
      uint8_t> key_bits,\n                                                                          std::string_view
      passphrase,\n                                                                          size_t*
      msec_in_iterations_out,\n                                                                          size_t
      iterations_if_msec_null,\n                                                                          std::string_view
      cipher,\n                                                                          std::string_view
      prf,\n                                                                          RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::pbes2_encrypt_shared
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key_bits
    - passphrase
    - msec
    - cipher
    - digest
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - std::string_view
    - std::chrono::milliseconds
    - std::string_view
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: Botan::pbes2_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp
    functionUses: 0
    functionsReached:
    - Botan::pbes2_encrypt_shared
    linkageType: ''
    returnType: std::pair<AlgorithmIdentifier, std::vector<uint8_t>>
    signature: "std::pair<AlgorithmIdentifier, std::vector<uint8_t>> pbes2_encrypt(std::span<const
      uint8_t> key_bits,\n                                                                   std::string_view
      passphrase,\n                                                                   std::chrono::milliseconds
      msec,\n                                                                   std::string_view
      cipher,\n                                                                   std::string_view
      digest,\n                                                                   RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::pbes2_encrypt_shared
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - key_bits
    - passphrase
    - msec
    - out_iterations_if_nonnull
    - cipher
    - digest
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - std::string_view
    - std::chrono::milliseconds
    - size_t*
    - std::string_view
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 269
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 269
    functionName: Botan::pbes2_encrypt_msec
    functionSourceFile: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp
    functionUses: 0
    functionsReached:
    - Botan::pbes2_encrypt_shared
    linkageType: ''
    returnType: std::pair<AlgorithmIdentifier, std::vector<uint8_t>>
    signature: "std::pair<AlgorithmIdentifier, std::vector<uint8_t>> pbes2_encrypt_msec(std::span<const
      uint8_t> key_bits,\n                                                                        std::string_view
      passphrase,\n                                                                        std::chrono::milliseconds
      msec,\n                                                                        size_t*
      out_iterations_if_nonnull,\n                                                                        std::string_view
      cipher,\n                                                                        std::string_view
      digest,\n                                                                        RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::pbes2_encrypt_shared
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key_bits
    - passphrase
    - pbkdf_iter
    - cipher
    - digest
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - std::string_view
    - size_t
    - std::string_view
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: Botan::pbes2_encrypt_iter
    functionSourceFile: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp
    functionUses: 0
    functionsReached:
    - Botan::pbes2_encrypt_shared
    linkageType: ''
    returnType: std::pair<AlgorithmIdentifier, std::vector<uint8_t>>
    signature: "std::pair<AlgorithmIdentifier, std::vector<uint8_t>> pbes2_encrypt_iter(std::span<const
      uint8_t> key_bits,\n                                                                        std::string_view
      passphrase,\n                                                                        size_t
      pbkdf_iter,\n                                                                        std::string_view
      cipher,\n                                                                        std::string_view
      digest,\n                                                                        RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:285,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:287,1
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:288,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:289,1
    - Dst: Botan::known_pbes_cipher_mode
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:289,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:290,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:290,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:290,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:294,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:294,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:296,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:298,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:298,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:301,1
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:301,1
    - Dst: auto::key_spec
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:301,1
    - Dst: auto::start
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:303,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:305,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:305,1
    - Dst: auto::finish
      Src: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - key_bits
    - passphrase
    - ' params'
    argTypes:
    - std::span<const uint8_t>
    - std::string_view
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 309
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 309
    functionName: Botan::pbes2_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/pbes2/pbes2.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - Botan::Cipher_Mode::create
    - std::span<const uint8_t>::end
    - Botan::Decoding_Error
    - Botan::known_pbes_cipher_mode
    - BER_Decoder
    - auto::finish
    - auto::set_key
    - Botan::split_on
    - Botan::oid
    - Botan::derive_key
    - parameters
    - auto::size
    - Botan::fmt
    - auto::key_spec
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> pbes2_decrypt(std::span<const uint8_t> key_bits,\n
      \                                    std::string_view passphrase,\n                                     const
      std::vector<uint8_t>& params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DLIES_Encryptor
      Src: /src/botan/src/lib/pubkey/dlies/dlies.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 87
    functionName: Botan::PK_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.h
    functionUses: 0
    functionsReached:
    - DLIES_Encryptor
    linkageType: ''
    returnType: DLIES_Encryptor
    signature: DLIES_Encryptor PK_Encryptor
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DLIES_Decryptor
      Src: /src/botan/src/lib/pubkey/dlies/dlies.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 148
    functionName: Botan::PK_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.h
    functionUses: 0
    functionsReached:
    - DLIES_Decryptor
    linkageType: ''
    returnType: DLIES_Decryptor
    signature: DLIES_Decryptor PK_Decryptor
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:22,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' own_priv_key'
    - ' rng'
    - kdf
    - mac
    - mac_key_length
    argTypes:
    - DH_PrivateKey
    - RandomNumberGenerator
    - std::unique_ptr<KDF>
    - std::unique_ptr<MessageAuthenticationCode>
    - size_t
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: Botan::DLIES_Encryptor::DLIES_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void DLIES_Encryptor::DLIES_Encryptor(const DH_PrivateKey& own_priv_key,\n
      \                                RandomNumberGenerator& rng,\n                                 std::unique_ptr<KDF>
      kdf,\n                                 std::unique_ptr<MessageAuthenticationCode>
      mac,\n                                 size_t mac_key_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_value
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:32,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:34,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:35,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:37,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:40,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - ' own_priv_key'
    - ' rng'
    - kdf
    - cipher
    - cipher_key_len
    - mac
    - mac_key_length
    argTypes:
    - DH_PrivateKey
    - RandomNumberGenerator
    - std::unique_ptr<KDF>
    - std::unique_ptr<Cipher_Mode>
    - size_t
    - std::unique_ptr<MessageAuthenticationCode>
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: Botan::DLIES_Encryptor::DLIES_Encryptor
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.cpp
    functionUses: 0
    functionsReached:
    - public_value
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void DLIES_Encryptor::DLIES_Encryptor(const DH_PrivateKey& own_priv_key,\n
      \                                RandomNumberGenerator& rng,\n                                 std::unique_ptr<KDF>
      kdf,\n                                 std::unique_ptr<Cipher_Mode> cipher,\n
      \                                size_t cipher_key_len,\n                                 std::unique_ptr<MessageAuthenticationCode>
      mac,\n                                 size_t mac_key_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:45,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:46,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:50,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:54,1
    - Dst: SymmetricKey::bits_of
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:54,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:56,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:57,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:64,1
    - Dst: set_key
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:65,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:67,1
    - Dst: valid_nonce_length
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:67,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:67,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:68,1
    - Dst: name
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:68,1
    - Dst: start
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:70,1
    - Dst: bits_of
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:70,1
    - Dst: finish
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:71,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:73,1
    - Dst: set_key
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:77,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:77,1
    - Dst: process
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:78,1
    - Dst: concat
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 82
    functionName: Botan::DLIES_Encryptor::enc
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - Invalid_State
    - secure_vector::size
    - name
    - valid_nonce_length
    - SymmetricKey::bits_of
    - process
    - derive_key
    - Encoding_Error
    - size
    - bits_of
    - empty
    - set_key
    - start
    - concat
    - finish
    - xor_buf
    - Invalid_Argument
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DLIES_Encryptor::enc(const uint8_t in[], size_t
      length, RandomNumberGenerator& /*unused*/) const
  - 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: Botan::DLIES_Encryptor::maximum_input_size
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DLIES_Encryptor::maximum_input_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:94,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:94,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptext_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: Botan::DLIES_Encryptor::ciphertext_length
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.cpp
    functionUses: 0
    functionsReached:
    - output_length
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t DLIES_Encryptor::ciphertext_length(size_t ptext_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_value
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:104,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:106,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:107,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:109,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:112,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - ' own_priv_key'
    - ' rng'
    - kdf
    - cipher
    - cipher_key_len
    - mac
    - mac_key_length
    argTypes:
    - DH_PrivateKey
    - RandomNumberGenerator
    - std::unique_ptr<KDF>
    - std::unique_ptr<Cipher_Mode>
    - size_t
    - std::unique_ptr<MessageAuthenticationCode>
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: Botan::DLIES_Decryptor::DLIES_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.cpp
    functionUses: 0
    functionsReached:
    - public_value
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void DLIES_Decryptor::DLIES_Decryptor(const DH_PrivateKey& own_priv_key,\n
      \                                RandomNumberGenerator& rng,\n                                 std::unique_ptr<KDF>
      kdf,\n                                 std::unique_ptr<Cipher_Mode> cipher,\n
      \                                size_t cipher_key_len,\n                                 std::unique_ptr<MessageAuthenticationCode>
      mac,\n                                 size_t mac_key_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:121,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' own_priv_key'
    - ' rng'
    - kdf
    - mac
    - mac_key_length
    argTypes:
    - DH_PrivateKey
    - RandomNumberGenerator
    - std::unique_ptr<KDF>
    - std::unique_ptr<MessageAuthenticationCode>
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: Botan::DLIES_Decryptor::DLIES_Decryptor
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void DLIES_Decryptor::DLIES_Decryptor(const DH_PrivateKey& own_priv_key,\n
      \                                RandomNumberGenerator& rng,\n                                 std::unique_ptr<KDF>
      kdf,\n                                 std::unique_ptr<MessageAuthenticationCode>
      mac,\n                                 size_t mac_key_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:124,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctext_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: Botan::DLIES_Decryptor::plaintext_length
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.cpp
    functionUses: 0
    functionsReached:
    - output_length
    linkageType: ''
    returnType: size_t
    signature: size_t DLIES_Decryptor::plaintext_length(size_t ctext_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:132,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:133,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:138,1
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:145,1
    - Dst: SymmetricKey::bits_of
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:145,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:147,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:148,1
    - Dst: set_key
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:154,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:154,1
    - Dst: process
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:155,1
    - Dst: output_length
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:159,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:161,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:161,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:161,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:161,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:166,1
    - Dst: set_key
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:167,1
    - Dst: empty
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:173,1
    - Dst: valid_nonce_length
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:173,1
    - Dst: size
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:173,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:174,1
    - Dst: name
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:174,1
    - Dst: start
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:176,1
    - Dst: bits_of
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:176,1
    - Dst: finish
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:177,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:183,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:186,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/pubkey/dlies/dlies.cpp:186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - ' valid_mask'
    - msg
    - length
    argTypes:
    - uint8_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 190
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 190
    functionName: Botan::DLIES_Decryptor::do_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/dlies/dlies.cpp
    functionUses: 0
    functionsReached:
    - name
    - Botan::CT::is_equal
    - process
    - Encoding_Error
    - set_key
    - Decoding_Error
    - start
    - secure_vector::size
    - SymmetricKey::bits_of
    - bits_of
    - Invalid_Argument
    - secure_vector::data
    - derive_key
    - size
    - empty
    - xor_buf
    - secure_vector<uint8_t>
    - valid_nonce_length
    - finish
    - output_length
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> DLIES_Decryptor::do_decrypt(uint8_t& valid_mask,
      const uint8_t msg[], size_t length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECGDSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:17,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:17,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: Botan::ECGDSA_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - std::make_unique<ECGDSA_PublicKey>
    - _public_ec_point
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> ECGDSA_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PrivateKey::check_key
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:21,1
    - Dst: Botan::KeyPair::signature_consistency_check
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: Botan::ECGDSA_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::KeyPair::signature_consistency_check
    - Botan::EC_PrivateKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool ECGDSA_PrivateKey::check_key(RandomNumberGenerator& rng, bool
      strong) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:40,1
    - Dst: _private_key
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ecgdsa'
    - emsa
    argTypes:
    - ECGDSA_PrivateKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: Botan::ECGDSA_Signature_Operation::ECGDSA_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _private_key
    linkageType: ''
    returnType: void
    signature: void ECGDSA_Signature_Operation(const ECGDSA_PrivateKey& ecgdsa, std::string_view
      emsa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_order_bytes
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::ECGDSA_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - get_order_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_function
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:54,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:55,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: Botan::ECGDSA_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - hash_function
    - AlgorithmIdentifier
    - Botan::OID::from_string
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier ECGDSA_Signature_Operation::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::from_bytes_with_trunc
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:60,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:62,1
    - Dst: Botan::EC_Scalar::gk_x_mod_order
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:64,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:69,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:69,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:70,1
    - Dst: Botan::EC_Scalar::deserialize_pair
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: Botan::ECGDSA_Signature_Operation::raw_sign
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar::deserialize_pair
    - Botan::EC_Scalar::from_bytes_with_trunc
    - Botan::EC_Scalar::gk_x_mod_order
    - auto::is_zero
    - Botan::EC_Scalar::random
    - Internal_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ECGDSA_Signature_Operation::raw_sign(std::span<const
      uint8_t> msg, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:82,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ecgdsa'
    - padding
    argTypes:
    - ECGDSA_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: Botan::ECGDSA_Verification_Operation::ECGDSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _public_ec_point
    linkageType: ''
    returnType: void
    signature: void ECGDSA_Verification_Operation(const ECGDSA_PublicKey& ecgdsa,
      std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:86,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ecgdsa'
    - ' alg_id'
    argTypes:
    - ECGDSA_PublicKey
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: Botan::ECGDSA_Verification_Operation::ECGDSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - _public_ec_point
    linkageType: ''
    returnType: void
    signature: void ECGDSA_Verification_Operation(const ECGDSA_PublicKey& ecgdsa,
      const AlgorithmIdentifier& alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::deserialize_pair
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:97,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:98,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:100,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:100,1
    - Dst: Botan::EC_Scalar::from_bytes_with_trunc
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:101,1
    - Dst: invert_vartime
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:103,1
    - Dst: mul2_vartime_x_mod_order_eq
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - sig
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: Botan::ECGDSA_Verification_Operation::verify
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar::deserialize_pair
    - Botan::EC_Scalar::from_bytes_with_trunc
    - auto::value
    - is_nonzero
    - mul2_vartime_x_mod_order_eq
    - invert_vartime
    linkageType: ''
    returnType: bool
    signature: bool ECGDSA_Verification_Operation::verify(std::span<const uint8_t>
      msg, std::span<const uint8_t> sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECGDSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:116,1
    - Dst: domain
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: Botan::ECGDSA_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ECGDSA_PrivateKey>
    - domain
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> ECGDSA_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:121,1
    - Dst: std::make_unique<ECGDSA_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:122,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:124,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: Botan::ECGDSA_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - std::make_unique<ECGDSA_Verification_Operation>
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> ECGDSA_PublicKey::create_verification_op(std::string_view
      params,\n                                                                               std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:129,1
    - Dst: std::make_unique<ECGDSA_Verification_Operation>
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:130,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:133,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' signature_algorithm'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: Botan::ECGDSA_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - std::make_unique<ECGDSA_Verification_Operation>
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> ECGDSA_PublicKey::create_x509_verification_op(\n
      \  const AlgorithmIdentifier& signature_algorithm, std::string_view provider)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:139,1
    - Dst: std::make_unique<ECGDSA_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:140,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:142,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: Botan::ECGDSA_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - std::make_unique<ECGDSA_Signature_Operation>
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> ECGDSA_PrivateKey::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                          std::string_view
      params,\n                                                                          std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' group'
    - ' public_point'
    argTypes:
    - EC_Group
    - EC_Point
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::ECGDSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECGDSA_PublicKey(const EC_Group& group, const EC_Point& public_point)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' alg_id'
    - key_bits
    argTypes:
    - AlgorithmIdentifier
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: Botan::ECGDSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECGDSA_PublicKey(const AlgorithmIdentifier& alg_id, std::span<const
      uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::domain
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::_signature_element_size_for_DER_encoding
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.h
    functionUses: 0
    functionsReached:
    - Botan::domain
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> _signature_element_size_for_DER_encoding() const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rng'
    - group
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ECGDSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECGDSA_PrivateKey(RandomNumberGenerator& rng, EC_Group group)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' rng'
    - ' group'
    - ' x'
    argTypes:
    - RandomNumberGenerator
    - EC_Group
    - BigInt
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: ECGDSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/ecgdsa/ecgdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECGDSA_PrivateKey(RandomNumberGenerator& rng, const EC_Group&
      group, const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KEX_to_KEM_Adapter_PublicKey
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 44
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.h
    functionUses: 2
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PublicKey
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API KEX_to_KEM_Adapter_PublicKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:49,1
    - Dst: Botan::supports_operation
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:49,1
    - Dst: dynamic_cast<const ECDH_PublicKey*>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:52,1
    - Dst: auto*::domain
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:53,1
    - Dst: dynamic_cast<const DH_PublicKey*>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:58,1
    - Dst: auto*::group
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:59,1
    - Dst: dynamic_cast<const X25519_PublicKey*>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:64,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:65,1
    - Dst: dynamic_cast<const X448_PublicKey*>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:71,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:72,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:77,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:78,1
    - Dst: Botan::algo_name
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' kex_public_key'
    argTypes:
    - Public_Key
    constantsTouched: []
    func_position:
      end: 80
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 80
    functionName: Botan::kex_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - auto*::domain
    - BOTAN_ASSERT_NOMSG
    - dynamic_cast<const DH_PublicKey*>
    - auto*::group
    - dynamic_cast<const X25519_PublicKey*>
    - BOTAN_UNUSED
    - Botan::algo_name
    - Botan::fmt
    - dynamic_cast<const X448_PublicKey*>
    - Botan::supports_operation
    - dynamic_cast<const ECDH_PublicKey*>
    - Not_Implemented
    linkageType: ''
    returnType: size_t
    signature: size_t kex_shared_key_length(const Public_Key& kex_public_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:88,1
    - Dst: Botan::supports_operation
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:88,1
    - Dst: Botan::generate_another
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:91,1
    - Dst: dynamic_cast<PK_Key_Agreement_Key*>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:92,1
    - Dst: auto::get
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:92,1
    - Dst: auto::release
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:97,1
    - Dst: std::unique_ptr<PK_Key_Agreement_Key>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:99,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' kex_public_key'
    - ' rng'
    argTypes:
    - Public_Key
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: Botan::generate_key_agreement_private_key
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<PK_Key_Agreement_Key>
    - BOTAN_ASSERT_NOMSG
    - auto::release
    - dynamic_cast<PK_Key_Agreement_Key*>
    - Botan::generate_another
    - BOTAN_ASSERT
    - auto::get
    - Botan::supports_operation
    linkageType: ''
    returnType: std::unique_ptr<PK_Key_Agreement_Key>
    signature: "std::unique_ptr<PK_Key_Agreement_Key> generate_key_agreement_private_key(const
      Public_Key& kex_public_key,\n                                                                         RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:107,1
    - Dst: Botan::public_key
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - std::unique_ptr<Private_Key>
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: Botan::maybe_get_public_key
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - Botan::public_key
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> maybe_get_public_key(const std::unique_ptr<Private_Key>&
      private_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' key'
    - kdf
    - provider
    argTypes:
    - Public_Key
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: Botan::KEX_to_KEM_Adapter_Encryption_Operation::KEX_to_KEM_Adapter_Encryption_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KEX_to_KEM_Adapter_Encryption_Operation(const Public_Key& key,
      std::string_view kdf, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kex_shared_key_length
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan::KEX_to_KEM_Adapter_Encryption_Operation::raw_kem_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - kex_shared_key_length
    linkageType: ''
    returnType: size_t
    signature: size_t raw_kem_shared_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: Botan::KEX_to_KEM_Adapter_Encryption_Operation::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - raw_public_key_bits
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_key_agreement_private_key
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:130,1
    - Dst: PK_Key_Agreement
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:131,1
    - Dst: raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:132,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:135,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:140,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:140,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:141,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:143,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:144,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:144,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:145,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:145,1
    - Dst: auto::end
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:145,1
    - Dst: std::span<uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:145,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:146,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:146,1
    - Dst: auto::end
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:146,1
    - Dst: std::span<uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - out_encapsulated_key
    - raw_shared_key
    - ' rng'
    argTypes:
    - std::span<uint8_t>
    - std::span<uint8_t>
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 147
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 147
    functionName: Botan::KEX_to_KEM_Adapter_Encryption_Operation::raw_kem_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - copy
    - std::span<uint8_t>::size
    - raw_public_key_bits
    - auto::end
    - std::span<uint8_t>::begin
    - BOTAN_ASSERT_EQUAL
    - auto::begin
    - auto::public_value
    - PK_Key_Agreement
    - auto::size
    - generate_key_agreement_private_key
    linkageType: ''
    returnType: void
    signature: "void raw_kem_encrypt(std::span<uint8_t> out_encapsulated_key,\n                           std::span<uint8_t>
      raw_shared_key,\n                           Botan::RandomNumberGenerator& rng)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_value
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' key'
    - ' rng'
    - kdf
    - provider
    argTypes:
    - PK_Key_Agreement_Key
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: Botan::KEX_to_KEM_Decryption_Operation::KEX_to_KEM_Decryption_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - public_value
    linkageType: ''
    returnType: void
    signature: "void KEX_to_KEM_Decryption_Operation(const PK_Key_Agreement_Key& key,\n
      \                                     RandomNumberGenerator& rng,\n                                      const
      std::string_view kdf,\n                                      const std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: derive_key
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:165,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:166,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:167,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:167,1
    - Dst: copy
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:168,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:168,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:168,1
    - Dst: std::span<uint8_t>::begin
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out_shared_key
    - encap_key
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: Botan::KEX_to_KEM_Decryption_Operation::raw_kem_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::begin
    - secure_vector::size
    - copy
    - std::span<uint8_t>::size
    - secure_vector::end
    - derive_key
    - std::span<uint8_t>::begin
    - BOTAN_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void raw_kem_decrypt(std::span<uint8_t> out_shared_key, std::span<const
      uint8_t> encap_key) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: Botan::KEX_to_KEM_Decryption_Operation::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: agreed_value_size
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: Botan::KEX_to_KEM_Decryption_Operation::raw_kem_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - agreed_value_size
    linkageType: ''
    returnType: size_t
    signature: size_t raw_kem_shared_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:183,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:184,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:185,1
    - Dst: Botan::KEX_to_KEM_Adapter_PublicKey::supports_operation
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - public_key
    argTypes:
    - std::unique_ptr<Public_Key>
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::KEX_to_KEM_Adapter_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PublicKey::supports_operation
    - std::move
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void KEX_to_KEM_Adapter_PublicKey::KEX_to_KEM_Adapter_PublicKey(std::unique_ptr<Public_Key>
      public_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:189,1
    - Dst: Botan::KEX_to_KEM_Adapter_PublicKey::algo_name
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::KEX_to_KEM_Adapter_PublicKey::algo_name
    linkageType: ''
    returnType: std::string
    signature: std::string KEX_to_KEM_Adapter_PublicKey::algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KEX_to_KEM_Adapter_PublicKey::estimated_strength
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PublicKey::estimated_strength
    linkageType: ''
    returnType: size_t
    signature: size_t KEX_to_KEM_Adapter_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KEX_to_KEM_Adapter_PublicKey::key_length
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PublicKey::key_length
    linkageType: ''
    returnType: size_t
    signature: size_t KEX_to_KEM_Adapter_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KEX_to_KEM_Adapter_PublicKey::check_key
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PublicKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool KEX_to_KEM_Adapter_PublicKey::check_key(RandomNumberGenerator&
      rng, bool strong) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KEX_to_KEM_Adapter_PublicKey::algorithm_identifier
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PublicKey::algorithm_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier KEX_to_KEM_Adapter_PublicKey::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KEX_to_KEM_Adapter_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> KEX_to_KEM_Adapter_PublicKey::raw_public_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KEX_to_KEM_Adapter_PublicKey::public_key_bits
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PublicKey::public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> KEX_to_KEM_Adapter_PublicKey::public_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KEX_to_KEM_Adapter_PrivateKey>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:217,1
    - Dst: generate_key_agreement_private_key
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - generate_key_agreement_private_key
    - std::make_unique<KEX_to_KEM_Adapter_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> KEX_to_KEM_Adapter_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool KEX_to_KEM_Adapter_PublicKey::supports_operation(PublicKeyOperation
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: maybe_get_public_key
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:225,1
    - Dst: dynamic_cast<PK_Key_Agreement_Key*>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:226,1
    - Dst: std::unique_ptr<Private_Key>::release
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:226,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:227,1
    - Dst: std::unique_ptr<PK_Key_Agreement_Key>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - std::unique_ptr<Private_Key>
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: Botan::KEX_to_KEM_Adapter_PrivateKey::KEX_to_KEM_Adapter_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr<PK_Key_Agreement_Key>
    - maybe_get_public_key
    - dynamic_cast<PK_Key_Agreement_Key*>
    - BOTAN_ARG_CHECK
    - std::unique_ptr<Private_Key>::release
    linkageType: ''
    returnType: void
    signature: void KEX_to_KEM_Adapter_PrivateKey::KEX_to_KEM_Adapter_PrivateKey(std::unique_ptr<Private_Key>
      private_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KEX_to_KEM_Adapter_PrivateKey::private_key_bits
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: Botan::KEX_to_KEM_Adapter_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PrivateKey::private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> KEX_to_KEM_Adapter_PrivateKey::private_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KEX_to_KEM_Adapter_PrivateKey::raw_private_key_bits
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: Botan::KEX_to_KEM_Adapter_PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PrivateKey::raw_private_key_bits
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> KEX_to_KEM_Adapter_PrivateKey::raw_private_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KEX_to_KEM_Adapter_PublicKey>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:240,1
    - Dst: Botan::KEX_to_KEM_Adapter_PrivateKey::public_key
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: Botan::KEX_to_KEM_Adapter_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PrivateKey::public_key
    - std::make_unique<KEX_to_KEM_Adapter_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> KEX_to_KEM_Adapter_PrivateKey::public_key()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KEX_to_KEM_Adapter_PrivateKey::check_key
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: Botan::KEX_to_KEM_Adapter_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 1
    functionsReached:
    - Botan::KEX_to_KEM_Adapter_PrivateKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool KEX_to_KEM_Adapter_PrivateKey::check_key(RandomNumberGenerator&
      rng, bool strong) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KEX_to_KEM_Adapter_Encryption_Operation>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - kdf
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: Botan::KEX_to_KEM_Adapter_PublicKey::create_kem_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<KEX_to_KEM_Adapter_Encryption_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Encryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Encryption> KEX_to_KEM_Adapter_PublicKey::create_kem_encryption_op(\n
      \  std::string_view kdf, std::string_view provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KEX_to_KEM_Decryption_Operation>
      Src: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' rng'
    - kdf
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: Botan::KEX_to_KEM_Adapter_PrivateKey::create_kem_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/kex_to_kem_adapter/kex_to_kem_adapter.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<KEX_to_KEM_Decryption_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Decryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Decryption> KEX_to_KEM_Adapter_PrivateKey::create_kem_decryption_op(\n
      \  RandomNumberGenerator& rng, std::string_view kdf, std::string_view provider)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan::algo_name
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:37,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:38,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:39,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:40,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:41,1
    - Dst: bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - ' n'
    - ' e'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: Botan::RSA_Public_Data::RSA_Public_Data
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Montgomery_Params>
    - bits
    - bytes
    - std::move
    - Botan::Barrett_Reduction::for_public_modulus
    linkageType: ''
    returnType: void
    signature: void RSA_Public_Data(BigInt&& n, BigInt&& e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty_precompute
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:46,1
    - Dst: monty_execute_vartime
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: Botan::RSA_Public_Data::public_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - monty_execute_vartime
    - monty_precompute
    linkageType: ''
    returnType: BigInt
    signature: BigInt public_op(const BigInt& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& get_n() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & get_n() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& get_e() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & get_e() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::RSA_Public_Data::public_modulus_bits
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t public_modulus_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::RSA_Public_Data::public_modulus_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t public_modulus_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '& monty_n() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const Montgomery_Params>
    signature: std::shared_ptr<const Montgomery_Params> & monty_n() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: '& reducer_mod_n() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Barrett_Reduction
    signature: Barrett_Reduction & reducer_mod_n() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:74,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:75,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:76,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:77,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:78,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:79,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:80,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:81,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:83,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 6
    argNames:
    - ' d'
    - ' p'
    - ' q'
    - ' d1'
    - ' d2'
    - ' c'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: Botan::RSA_Private_Data::RSA_Private_Data
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - bits
    - std::make_shared<Montgomery_Params>
    - std::move
    linkageType: ''
    returnType: void
    signature: void RSA_Private_Data(BigInt&& d, BigInt&& p, BigInt&& q, BigInt&&
      d1, BigInt&& d2, BigInt&& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& get_d() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & get_d() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: '& get_p() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & get_p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: '& get_q() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & get_q() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: '& get_d1() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & get_d1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& get_d2() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & get_d2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: '& get_c() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & get_c() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& get_c_monty() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & get_c_monty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: '& monty_p() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const Montgomery_Params>
    signature: std::shared_ptr<const Montgomery_Params> & monty_p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: '& monty_q() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const Montgomery_Params>
    signature: std::shared_ptr<const Montgomery_Params> & monty_q() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Botan::RSA_Private_Data::p_bits
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t p_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Botan::RSA_Private_Data::q_bits
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t q_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_Private_Data::p_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:108,1
    - Dst: Botan::RSA_Private_Data::q_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: Botan::RSA_Private_Data::primes_imbalanced
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::RSA_Private_Data::p_bits
    - Botan::RSA_Private_Data::q_bits
    linkageType: ''
    returnType: bool
    signature: bool primes_imbalanced() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: Botan::RSA_PublicKey::public_data
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const RSA_Public_Data>
    signature: std::shared_ptr<const RSA_Public_Data> RSA_PublicKey::public_data()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:131,1
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:133,1
    - Dst: Public_Key::get_int_field
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: '& RSA_PublicKey::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_n
    - Public_Key::get_int_field
    - get_e
    linkageType: ''
    returnType: BigInt
    signature: BigInt & RSA_PublicKey::get_int_field(std::string_view field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RSA_PrivateKey>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:140,1
    - Dst: public_modulus_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:140,1
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: Botan::RSA_PublicKey::generate_another
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bits
    - std::make_unique<RSA_PrivateKey>
    - get_e
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> RSA_PublicKey::generate_another(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: '& RSA_PublicKey::get_n() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_n
    linkageType: ''
    returnType: BigInt
    signature: BigInt & RSA_PublicKey::get_n() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: '& RSA_PublicKey::get_e() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_e
    linkageType: ''
    returnType: BigInt
    signature: BigInt & RSA_PublicKey::get_e() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:152,1
    - Dst: is_even
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:152,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:152,1
    - Dst: is_negative
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:152,1
    - Dst: is_even
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:152,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:153,1
    - Dst: std::make_shared<RSA_Public_Data>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:155,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:155,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:155,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 2
    argNames:
    - ' n'
    - ' e'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: Botan::RSA_PublicKey::init
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - is_even
    - is_negative
    - bits
    - Decoding_Error
    - std::make_shared<RSA_Public_Data>
    - std::move
    linkageType: ''
    returnType: void
    signature: void RSA_PublicKey::init(BigInt&& n, BigInt&& e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:160,1
    - Dst: Botan::RSA_PublicKey::init
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:162,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:162,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: Botan::RSA_PublicKey::RSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - BER_Decoder
    - Botan::RSA_PublicKey::init
    linkageType: ''
    returnType: void
    signature: void RSA_PublicKey::RSA_PublicKey(const AlgorithmIdentifier& /*unused*/,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: Botan::RSA_PublicKey::supports_operation
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RSA_PublicKey::supports_operation(PublicKeyOperation op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_PublicKey::init
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:173,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:173,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' modulus'
    - ' exponent'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: Botan::RSA_PublicKey::RSA_PublicKey
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - Botan::RSA_PublicKey::init
    linkageType: ''
    returnType: void
    signature: void RSA_PublicKey::RSA_PublicKey(const BigInt& modulus, const BigInt&
      exponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_modulus_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: Botan::RSA_PublicKey::key_length
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bits
    linkageType: ''
    returnType: size_t
    signature: size_t RSA_PublicKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: if_work_factor
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:181,1
    - Dst: Botan::RSA_PublicKey::key_length
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: Botan::RSA_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::RSA_PublicKey::key_length
    - if_work_factor
    linkageType: ''
    returnType: size_t
    signature: size_t RSA_PublicKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:185,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: Botan::RSA_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - object_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier RSA_PublicKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: Botan::RSA_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> RSA_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:195,1
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:195,1
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: Botan::RSA_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder::start_sequence
    - get_n
    - get_e
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> RSA_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:204,1
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:204,1
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:204,1
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: Botan::RSA_PublicKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_n
    - get_e
    linkageType: ''
    returnType: bool
    signature: bool RSA_PublicKey::check_key(RandomNumberGenerator& /*rng*/, bool
      /*strong*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: Botan::RSA_PrivateKey::private_data
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const RSA_Private_Data>
    signature: std::shared_ptr<const RSA_Private_Data> RSA_PrivateKey::private_data()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:215,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:217,1
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:218,1
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:219,1
    - Dst: get_d
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:220,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:221,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:222,1
    - Dst: get_d1
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:223,1
    - Dst: get_d2
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:224,1
    - Dst: get_c
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 228
    functionName: Botan::RSA_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    - get_d
    - get_p
    - get_q
    - get_d1
    - static_cast<size_t>
    - get_c
    - get_e
    - get_n
    - get_d2
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> RSA_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: '& RSA_PrivateKey::get_p() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_p
    linkageType: ''
    returnType: BigInt
    signature: BigInt & RSA_PrivateKey::get_p() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: '& RSA_PrivateKey::get_q() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_q
    linkageType: ''
    returnType: BigInt
    signature: BigInt & RSA_PrivateKey::get_q() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_d
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: '& RSA_PrivateKey::get_d() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_d
    linkageType: ''
    returnType: BigInt
    signature: BigInt & RSA_PrivateKey::get_d() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_c
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: '& RSA_PrivateKey::get_c() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_c
    linkageType: ''
    returnType: BigInt
    signature: BigInt & RSA_PrivateKey::get_c() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_d1
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: '& RSA_PrivateKey::get_d1() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_d1
    linkageType: ''
    returnType: BigInt
    signature: BigInt & RSA_PrivateKey::get_d1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_d2
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: '& RSA_PrivateKey::get_d2() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_d2
    linkageType: ''
    returnType: BigInt
    signature: BigInt & RSA_PrivateKey::get_d2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<RSA_Private_Data>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:255,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:256,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:256,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:256,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:256,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:256,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - ' d'
    - ' p'
    - ' q'
    - ' d1'
    - ' d2'
    - ' c'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: Botan::RSA_PrivateKey::init
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_shared<RSA_Private_Data>
    linkageType: ''
    returnType: void
    signature: void RSA_PrivateKey::init(BigInt&& d, BigInt&& p, BigInt&& q, BigInt&&
      d1, BigInt&& d2, BigInt&& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:262,1
    - Dst: Botan::RSA_PublicKey::init
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:275,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:275,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:275,1
    - Dst: Botan::RSA_PrivateKey::init
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:277,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:277,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:277,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:277,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:277,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:277,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 278
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 278
    functionName: Botan::RSA_PrivateKey::RSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::RSA_PrivateKey::init
    - std::move
    - BER_Decoder
    - Botan::RSA_PublicKey::init
    linkageType: ''
    returnType: void
    signature: void RSA_PrivateKey::RSA_PrivateKey(const AlgorithmIdentifier& /*unused*/,
      std::span<const uint8_t> key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:285,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:296,1
    - Dst: lcm
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:297,1
    - Dst: compute_rsa_secret_exponent
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:298,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:301,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:302,1
    - Dst: inverse_mod_secret_prime
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:303,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:303,1
    - Dst: Botan::RSA_PublicKey::init
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:305,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:305,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:305,1
    - Dst: Botan::RSA_PrivateKey::init
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:307,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:307,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:307,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:307,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:307,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:307,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ' prime1'
    - ' prime2'
    - ' exp'
    - ' d_exp'
    - ' mod'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 308
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 308
    functionName: Botan::RSA_PrivateKey::RSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::RSA_PublicKey::init
    - ct_modulo
    - lcm
    - inverse_mod_secret_prime
    - std::move
    - Botan::RSA_PrivateKey::init
    - BigInt::is_zero
    - compute_rsa_secret_exponent
    linkageType: ''
    returnType: void
    signature: "void RSA_PrivateKey::RSA_PrivateKey(\n   const BigInt& prime1, const
      BigInt& prime2, const BigInt& exp, const BigInt& d_exp, const BigInt& mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:315,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:315,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:319,1
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:326,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:330,1
    - Dst: generate_rsa_prime
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:334,1
    - Dst: generate_rsa_prime
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:335,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:338,1
    - Dst: bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:344,1
    - Dst: lcm
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:354,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:356,1
    - Dst: low_zero_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:356,1
    - Dst: compute_rsa_secret_exponent
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:358,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:359,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:360,1
    - Dst: inverse_mod_secret_prime
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:361,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:361,1
    - Dst: Botan::RSA_PublicKey::init
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:363,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:363,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:363,1
    - Dst: Botan::RSA_PrivateKey::init
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:365,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:365,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:365,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:365,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:365,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:365,1
    - Dst: std::move
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:365,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 3
    argNames:
    - ' rng'
    - bits
    - exp
    argTypes:
    - RandomNumberGenerator
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 366
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 366
    functionName: Botan::RSA_PrivateKey::RSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - generate_rsa_prime
    - BOTAN_DEBUG_ASSERT
    - fmt
    - Botan::BigInt::from_u64
    - Botan::RSA_PublicKey::init
    - bits
    - BigInt::bits
    - lcm
    - ct_modulo
    - inverse_mod_secret_prime
    - std::move
    - Invalid_Argument
    - Botan::RSA_PrivateKey::init
    - compute_rsa_secret_exponent
    - Internal_Error
    - low_zero_bits
    linkageType: ''
    returnType: void
    signature: void RSA_PrivateKey::RSA_PrivateKey(RandomNumberGenerator& rng, size_t
      bits, size_t exp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:370,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:372,1
    - Dst: get_d
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:374,1
    - Dst: get_c
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:376,1
    - Dst: get_d1
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:378,1
    - Dst: get_d2
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:380,1
    - Dst: RSA_PublicKey::get_int_field
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 384
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 384
    functionName: '& RSA_PrivateKey::get_int_field(std::string_view field) const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - RSA_PublicKey::get_int_field
    - get_d
    - get_p
    - get_q
    - get_c
    - get_d1
    - get_d2
    linkageType: ''
    returnType: BigInt
    signature: BigInt & RSA_PrivateKey::get_int_field(std::string_view field) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RSA_PublicKey>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:387,1
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:387,1
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 388
    functionName: Botan::RSA_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_n
    - std::make_unique<RSA_PublicKey>
    - get_e
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> RSA_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:394,1
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:394,1
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:394,1
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:394,1
    - Dst: get_d
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:398,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:398,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:398,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:402,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:402,1
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:402,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:406,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:406,1
    - Dst: get_d1
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:410,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:410,1
    - Dst: get_d
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:410,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:410,1
    - Dst: get_d2
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:413,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:413,1
    - Dst: get_d
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:413,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:413,1
    - Dst: get_c
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:416,1
    - Dst: inverse_mod_secret_prime
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:416,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:416,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:416,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:416,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:416,1
    - Dst: is_prime
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:422,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:422,1
    - Dst: is_prime
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:425,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:425,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:430,1
    - Dst: get_e
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:430,1
    - Dst: get_d
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:430,1
    - Dst: lcm
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:430,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:430,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:430,1
    - Dst: Botan::KeyPair::signature_consistency_check
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:440,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 444
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 444
    functionName: Botan::RSA_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_d
    - get_q
    - get_p
    - get_d1
    - get_c
    - is_prime
    - Botan::KeyPair::signature_consistency_check
    - ct_modulo
    - inverse_mod_secret_prime
    - lcm
    - get_e
    - get_n
    - get_d2
    linkageType: ''
    returnType: bool
    signature: bool RSA_PrivateKey::check_key(RandomNumberGenerator& rng, bool strong)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_Private_Operation::public_modulus_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 453
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 453
    functionName: Botan::RSA_Private_Operation::public_modulus_bits
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::RSA_Private_Operation::public_modulus_bits
    linkageType: ''
    returnType: size_t
    signature: size_t public_modulus_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_Private_Operation::public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 455
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 455
    functionName: Botan::RSA_Private_Operation::public_modulus_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::RSA_Private_Operation::public_modulus_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t public_modulus_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_data
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:458,1
    - Dst: private_data
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:459,1
    - Dst: reducer_mod_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:461,1
    - Dst: public_op
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:463,1
    - Dst: inverse_mod_rsa_public_modulus
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:464,1
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:464,1
    - Dst: p_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:466,1
    - Dst: q_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' rsa'
    - ' rng'
    argTypes:
    - RSA_PrivateKey
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 467
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 467
    functionName: Botan::RSA_Private_Operation::RSA_Private_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - reducer_mod_n
    - private_data
    - public_data
    - q_bits
    - p_bits
    - get_n
    - inverse_mod_rsa_public_modulus
    - public_op
    linkageType: ''
    returnType: void
    signature: void RSA_Private_Operation(const RSA_PrivateKey& rsa, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:470,1
    - Dst: Botan::RSA_Private_Operation::public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:470,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:471,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:473,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:473,1
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:474,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:475,1
    - Dst: unblind
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:480,1
    - Dst: Botan::RSA_Private_Operation::rsa_private_op
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:480,1
    - Dst: blind
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:480,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:481,1
    - Dst: public_op
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:481,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:482,1
    - Dst: Botan::RSA_Private_Operation::public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:482,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:482,1
    - Dst: BigInt::serialize_to
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:483,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - out
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 484
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 484
    functionName: Botan::RSA_Private_Operation::raw_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::RSA_Private_Operation::public_modulus_bytes
    - unblind
    - std::span<uint8_t>::size
    - blind
    - Decoding_Error
    - Botan::RSA_Private_Operation::rsa_private_op
    - std::span<const uint8_t>::size
    - BOTAN_ASSERT
    - get_n
    - std::span<const uint8_t>::data
    - public_op
    - BigInt::serialize_to
    linkageType: ''
    returnType: void
    signature: void raw_op(std::span<uint8_t> out, std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: primes_imbalanced
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:492,1
    - Dst: monty_exp
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:493,1
    - Dst: monty_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:493,1
    - Dst: get_d
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:493,1
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:493,1
    - Dst: rng
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:499,1
    - Dst: sig_words
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:511,1
    - Dst: Thread_Pool::global_instance
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:513,1
    - Dst: get_d1
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:515,1
    - Dst: get_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:515,1
    - Dst: monty_precompute
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:516,1
    - Dst: Botan::Montgomery_Int::from_wide_int
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:516,1
    - Dst: monty_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:516,1
    - Dst: monty_execute
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:517,1
    - Dst: rng
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:524,1
    - Dst: get_d2
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:525,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:525,1
    - Dst: monty_precompute
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:526,1
    - Dst: Botan::Montgomery_Int::from_wide_int
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:526,1
    - Dst: monty_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:526,1
    - Dst: monty_execute
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:527,1
    - Dst: auto::get
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:530,1
    - Dst: Botan::Montgomery_Int::from_wide_int
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:541,1
    - Dst: monty_p
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:541,1
    - Dst: get_c_monty
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:548,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:549,1
    - Dst: get_q
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 550
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 550
    functionName: Botan::RSA_Private_Operation::rsa_private_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - monty_n
    - monty_q
    - monty_p
    - auto::value
    - monty_execute
    - Botan::Montgomery_Int::from_wide_int
    - get_n
    - primes_imbalanced
    - get_d
    - get_p
    - get_d1
    - rng
    - Thread_Pool::global_instance
    - get_q
    - monty_exp
    - monty_precompute
    - get_c_monty
    - auto::get
    - sig_words
    - get_d2
    linkageType: ''
    returnType: BigInt
    signature: BigInt rsa_private_op(const BigInt& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_Signature_Operation::update
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:565,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:565,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: Botan::RSA_Signature_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::data
    - Botan::RSA_Signature_Operation::update
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_data
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:569,1
    - Dst: encoding_of
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:570,1
    - Dst: raw_op
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 575
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 575
    functionName: Botan::RSA_Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - encoding_of
    - raw_data
    - raw_op
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator& rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 577
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 577
    functionName: Botan::RSA_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_Signature_Operation::hash_function
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 581
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 581
    functionName: Botan::RSA_Signature_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::RSA_Signature_Operation::hash_function
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EMSA::create_or_throw
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' rsa'
    - padding
    - ' rng'
    argTypes:
    - RSA_PrivateKey
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 584
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 584
    functionName: Botan::RSA_Signature_Operation::RSA_Signature_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EMSA::create_or_throw
    linkageType: ''
    returnType: void
    signature: void RSA_Signature_Operation(const RSA_PrivateKey& rsa, std::string_view
      padding, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:591,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:595,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:596,1
    - Dst: std::string::starts_with
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:599,1
    - Dst: Botan::PSS_Params::from_emsa_name
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:600,1
    - Dst: name
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:600,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:601,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:604,1
    - Dst: fmt
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 605
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 605
    functionName: Botan::RSA_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - name
    - fmt
    - Botan::OID::from_string
    - Invalid_Argument
    - std::string::starts_with
    - Botan::PSS_Params::from_emsa_name
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier RSA_Signature_Operation::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' rsa'
    - eme
    - ' rng'
    argTypes:
    - RSA_PrivateKey
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 611
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 611
    functionName: Botan::RSA_Decryption_Operation::RSA_Decryption_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_Decryption_Operation(const RSA_PrivateKey& rsa, std::string_view
      eme, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 613
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 613
    functionName: Botan::RSA_Decryption_Operation::plaintext_length
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t plaintext_length(size_t /*ctext_len*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_op
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 619
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 619
    functionName: Botan::RSA_Decryption_Operation::raw_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - raw_op
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> raw_decrypt(std::span<const uint8_t> input)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' key'
    - kdf
    - ' rng'
    argTypes:
    - RSA_PrivateKey
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 626
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 626
    functionName: Botan::RSA_KEM_Decryption_Operation::RSA_KEM_Decryption_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_KEM_Decryption_Operation(const RSA_PrivateKey& key, std::string_view
      kdf, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 628
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 628
    functionName: Botan::RSA_KEM_Decryption_Operation::raw_kem_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t raw_kem_shared_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 630
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 630
    functionName: Botan::RSA_KEM_Decryption_Operation::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_op
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out_shared_key
    - encapsulated_key
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 634
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 634
    functionName: Botan::RSA_KEM_Decryption_Operation::raw_kem_decrypt
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - raw_op
    linkageType: ''
    returnType: void
    signature: void raw_kem_decrypt(std::span<uint8_t> out_shared_key, std::span<const
      uint8_t> encapsulated_key) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_data
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rsa'
    argTypes:
    - RSA_PublicKey
    constantsTouched: []
    func_position:
      end: 642
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 642
    functionName: Botan::RSA_Public_Operation::RSA_Public_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_data
    linkageType: ''
    returnType: void
    signature: void RSA_Public_Operation(const RSA_PublicKey& rsa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_Public_Operation::public_modulus_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 644
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 644
    functionName: Botan::RSA_Public_Operation::public_modulus_bits
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::RSA_Public_Operation::public_modulus_bits
    linkageType: ''
    returnType: size_t
    signature: size_t public_modulus_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:648,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:649,1
    - Dst: Botan::RSA_Public_Operation::public_op
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 653
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 653
    functionName: Botan::RSA_Public_Operation::public_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - get_n
    - Botan::RSA_Public_Operation::public_op
    - Decoding_Error
    linkageType: ''
    returnType: BigInt
    signature: BigInt public_op(const BigInt& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_Public_Operation::public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 655
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 655
    functionName: Botan::RSA_Public_Operation::public_modulus_bytes
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::RSA_Public_Operation::public_modulus_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t public_modulus_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 657
    functionName: '& get_n() const'
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - get_n
    linkageType: ''
    returnType: BigInt
    signature: BigInt & get_n() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rsa'
    - eme
    argTypes:
    - RSA_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 667
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 667
    functionName: Botan::RSA_Encryption_Operation::RSA_Encryption_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_Encryption_Operation(const RSA_PublicKey& rsa, std::string_view
      eme)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 669
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 669
    functionName: Botan::RSA_Encryption_Operation::ciphertext_length
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t ciphertext_length(size_t /*ptext_len*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_modulus_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 671
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 671
    functionName: Botan::RSA_Encryption_Operation::max_ptext_input_bits
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bits
    linkageType: ''
    returnType: size_t
    signature: size_t max_ptext_input_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_op
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:675,1
    - Dst: public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 676
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 676
    functionName: Botan::RSA_Encryption_Operation::raw_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bytes
    - public_op
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> raw_encrypt(std::span<const uint8_t> input, RandomNumberGenerator&
      /*rng*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_Verify_Operation::update
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:682,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:682,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 682
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 682
    functionName: Botan::RSA_Verify_Operation::update
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::data
    - Botan::RSA_Verify_Operation::update
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_data
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:685,1
    - Dst: Botan::RSA_Verify_Operation::recover_message_repr
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:686,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:686,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:686,1
    - Dst: verify
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:687,1
    - Dst: public_modulus_bits
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: Botan::RSA_Verify_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - verify
    - public_modulus_bits
    - Botan::RSA_Verify_Operation::recover_message_repr
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - raw_data
    linkageType: ''
    returnType: bool
    signature: bool is_valid_signature(std::span<const uint8_t> sig) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EMSA::create_or_throw
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rsa'
    - padding
    argTypes:
    - RSA_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 691
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 691
    functionName: Botan::RSA_Verify_Operation::RSA_Verify_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::EMSA::create_or_throw
    linkageType: ''
    returnType: void
    signature: void RSA_Verify_Operation(const RSA_PublicKey& rsa, std::string_view
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RSA_Verify_Operation::hash_function
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 693
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 693
    functionName: Botan::RSA_Verify_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::RSA_Verify_Operation::hash_function
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:697,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:698,1
    - Dst: public_op
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - input
    - input_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 702
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 702
    functionName: Botan::RSA_Verify_Operation::recover_message_repr
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 1
    functionsReached:
    - public_modulus_bytes
    - Decoding_Error
    - public_op
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> recover_message_repr(const uint8_t input[], size_t
      input_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - kdf
    argTypes:
    - RSA_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 711
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 711
    functionName: Botan::RSA_KEM_Encryption_Operation::RSA_KEM_Encryption_Operation
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_KEM_Encryption_Operation(const RSA_PublicKey& key, std::string_view
      kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 714
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 714
    functionName: Botan::RSA_KEM_Encryption_Operation::raw_kem_shared_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t raw_kem_shared_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_modulus_bytes
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 716
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 716
    functionName: Botan::RSA_KEM_Encryption_Operation::encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - public_modulus_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t encapsulated_key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:721,1
    - Dst: get_n
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:721,1
    - Dst: public_op
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:722,1
    - Dst: BigInt::serialize_to
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:724,1
    - Dst: BigInt::serialize_to
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out_encapsulated_key
    - raw_shared_key
    - ' rng'
    argTypes:
    - std::span<uint8_t>
    - std::span<uint8_t>
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 726
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 726
    functionName: Botan::RSA_KEM_Encryption_Operation::raw_kem_encrypt
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - BigInt::serialize_to
    - Botan::BigInt::random_integer
    - public_op
    - get_n
    linkageType: ''
    returnType: void
    signature: "void raw_kem_encrypt(std::span<uint8_t> out_encapsulated_key,\n                           std::span<uint8_t>
      raw_shared_key,\n                           RandomNumberGenerator& rng) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:734,1
    - Dst: std::make_unique<RSA_Encryption_Operation>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:735,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:737,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:737,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 738
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 738
    functionName: Botan::RSA_PublicKey::create_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - std::make_unique<RSA_Encryption_Operation>
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Encryption>
    signature: "std::unique_ptr<PK_Ops::Encryption> RSA_PublicKey::create_encryption_op(RandomNumberGenerator&
      /*rng*/,\n                                                                        std::string_view
      params,\n                                                                        std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:742,1
    - Dst: std::make_unique<RSA_KEM_Encryption_Operation>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:743,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:745,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 746
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 746
    functionName: Botan::RSA_PublicKey::create_kem_encryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RSA_KEM_Encryption_Operation>
    - algo_name
    - std::string_view::empty
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Encryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Encryption> RSA_PublicKey::create_kem_encryption_op(std::string_view
      params,\n                                                                                std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:750,1
    - Dst: std::make_unique<RSA_Verify_Operation>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:751,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:754,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 755
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 755
    functionName: Botan::RSA_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::make_unique<RSA_Verify_Operation>
    - std::string_view::empty
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> RSA_PublicKey::create_verification_op(std::string_view
      params,\n                                                                            std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:760,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:760,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:762,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:762,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:763,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:770,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:771,1
    - Dst: parameters
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:774,1
    - Dst: PSS_Params::hash_function
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:778,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:782,1
    - Dst: PSS_Params::mgf_function
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:785,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:786,1
    - Dst: PSS_Params::hash_algid
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:791,1
    - Dst: PSS_Params::mgf_hash_algid
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:791,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:792,1
    - Dst: PSS_Params::trailer_field
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:795,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:796,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:799,1
    - Dst: PSS_Params::salt_length
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:799,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 23
    argCount: 1
    argNames:
    - ' alg_id'
    argTypes:
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 803
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 803
    functionName: Botan::parse_rsa_signature_algorithm
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - PSS_Params::hash_function
    - Botan::Decoding_Error
    - PSS_Params::salt_length
    - Botan::oid
    - Botan::split_on
    - parameters
    - PSS_Params::mgf_hash_algid
    - auto::size
    - PSS_Params::mgf_function
    - auto::empty
    - PSS_Params::hash_algid
    - PSS_Params::trailer_field
    linkageType: ''
    returnType: std::string
    signature: std::string parse_rsa_signature_algorithm(const AlgorithmIdentifier&
      alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:809,1
    - Dst: std::make_unique<RSA_Verify_Operation>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:810,1
    - Dst: parse_rsa_signature_algorithm
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:810,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:813,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:813,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' alg_id'
    - provider
    argTypes:
    - AlgorithmIdentifier
    - std::string_view
    constantsTouched: []
    func_position:
      end: 814
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 814
    functionName: Botan::RSA_PublicKey::create_x509_verification_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - Provider_Not_Found
    - std::make_unique<RSA_Verify_Operation>
    - std::string_view::empty
    - parse_rsa_signature_algorithm
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> RSA_PublicKey::create_x509_verification_op(const
      AlgorithmIdentifier& alg_id,\n                                                                                 std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:819,1
    - Dst: std::make_unique<RSA_Decryption_Operation>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:820,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:823,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:823,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 824
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 824
    functionName: Botan::RSA_PrivateKey::create_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RSA_Decryption_Operation>
    - algo_name
    - std::string_view::empty
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Decryption>
    signature: "std::unique_ptr<PK_Ops::Decryption> RSA_PrivateKey::create_decryption_op(RandomNumberGenerator&
      rng,\n                                                                         std::string_view
      params,\n                                                                         std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:829,1
    - Dst: std::make_unique<RSA_KEM_Decryption_Operation>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:830,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:833,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 834
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 834
    functionName: Botan::RSA_PrivateKey::create_kem_decryption_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - std::make_unique<RSA_KEM_Decryption_Operation>
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::KEM_Decryption>
    signature: "std::unique_ptr<PK_Ops::KEM_Decryption> RSA_PrivateKey::create_kem_decryption_op(RandomNumberGenerator&
      rng,\n                                                                                 std::string_view
      params,\n                                                                                 std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:839,1
    - Dst: std::make_unique<RSA_Signature_Operation>
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:840,1
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:843,1
    - Dst: algo_name
      Src: /src/botan/src/lib/pubkey/rsa/rsa.cpp:843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 844
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 844
    functionName: Botan::RSA_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/pubkey/rsa/rsa.cpp
    functionUses: 0
    functionsReached:
    - algo_name
    - std::string_view::empty
    - std::make_unique<RSA_Signature_Operation>
    - Provider_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> RSA_PrivateKey::create_signature_op(RandomNumberGenerator&
      rng,\n                                                                       std::string_view
      params,\n                                                                       std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/botan/src/lib/psk_db/psk_db.h:69,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/psk_db/psk_db.h:69,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/psk_db/psk_db.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - psk
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::set_vec
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.h
    functionUses: 0
    functionsReached:
    - set
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void set_vec(std::string_view name, std::span<const uint8_t> psk)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~PSK_Database()
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PSK_Database()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: is_encrypted
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_encrypted() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PSK_Database::get
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:19,1
    - Dst: std::string
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:20,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:20,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:20,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: Botan::PSK_Database::get_str
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - secure_vector::size
    - std::string
    - Botan::PSK_Database::get
    - cast_uint8_ptr_to_char
    linkageType: ''
    returnType: std::string
    signature: std::string PSK_Database::get_str(std::string_view name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PSK_Database::set
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:24,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:24,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:24,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - psk
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::PSK_Database::set_str
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.cpp
    functionUses: 0
    functionsReached:
    - Botan::PSK_Database::set
    - std::string_view::size
    - std::string_view::data
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: void
    signature: void PSK_Database::set_str(std::string_view name, std::string_view
      psk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:28,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:29,1
    - Dst: set_key
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:30,1
    - Dst: set_key
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:32,1
    - Dst: process
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:32,1
    - Dst: set_key
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:33,1
    - Dst: process
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' master_key'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: Botan::Encrypted_PSK_Database::Encrypted_PSK_Database
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.cpp
    functionUses: 0
    functionsReached:
    - Botan::MessageAuthenticationCode::create_or_throw
    - process
    - set_key
    - Botan::BlockCipher::create_or_throw
    linkageType: ''
    returnType: void
    signature: void Encrypted_PSK_Database::Encrypted_PSK_Database(const secure_vector<uint8_t>&
      master_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Encrypted_PSK_Database::~Encrypted_PSK_Database()
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Encrypted_PSK_Database::~Encrypted_PSK_Database()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kv_get_all
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:39,1
    - Dst: base64_decode
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:45,1
    - Dst: nist_key_unwrap_padded
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:46,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:46,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:46,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:48,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:48,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:48,1
    - Dst: std::set::insert
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: Botan::Encrypted_PSK_Database::list_names
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - std::set::insert
    - secure_vector::size
    - kv_get_all
    - nist_key_unwrap_padded
    - base64_decode
    - cast_uint8_ptr_to_char
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> Encrypted_PSK_Database::list_names() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nist_key_wrap_padded
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:58,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:58,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:58,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:58,1
    - Dst: Botan::Encrypted_PSK_Database::kv_del
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:60,1
    - Dst: base64_encode
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: Botan::Encrypted_PSK_Database::remove
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.cpp
    functionUses: 0
    functionsReached:
    - cast_char_ptr_to_uint8
    - base64_encode
    - std::string_view::size
    - nist_key_wrap_padded
    - std::string_view::data
    - Botan::Encrypted_PSK_Database::kv_del
    linkageType: ''
    returnType: void
    signature: void Encrypted_PSK_Database::remove(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nist_key_wrap_padded
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:65,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:65,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:65,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:65,1
    - Dst: kv_get
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:67,1
    - Dst: base64_encode
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:67,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:69,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:70,1
    - Dst: base64_decode
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:73,1
    - Dst: new_object
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:75,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:76,1
    - Dst: process
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:76,1
    - Dst: nist_key_unwrap_padded
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:78,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:78,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: Botan::Encrypted_PSK_Database::get
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - base64_encode
    - base64_decode
    - new_object
    - secure_vector::size
    - auto::set_key
    - process
    - std::string_view::size
    - kv_get
    - std::string::empty
    - nist_key_unwrap_padded
    - Invalid_Argument
    - nist_key_wrap_padded
    - std::string_view::data
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Encrypted_PSK_Database::get(std::string_view
      name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nist_key_wrap_padded
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:88,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:88,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:88,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:88,1
    - Dst: new_object
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:90,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:91,1
    - Dst: process
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:91,1
    - Dst: nist_key_wrap_padded
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:92,1
    - Dst: Botan::Encrypted_PSK_Database::kv_set
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:94,1
    - Dst: base64_encode
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:94,1
    - Dst: base64_encode
      Src: /src/botan/src/lib/psk_db/psk_db.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - name
    - val
    - len
    argTypes:
    - std::string_view
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: Botan::Encrypted_PSK_Database::set
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db.cpp
    functionUses: 0
    functionsReached:
    - base64_encode
    - new_object
    - auto::set_key
    - process
    - Botan::Encrypted_PSK_Database::kv_set
    - std::string_view::size
    - nist_key_wrap_padded
    - std::string_view::data
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: void
    signature: void Encrypted_PSK_Database::set(std::string_view name, const uint8_t
      val[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:16,1
    - Dst: create_table
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' master_key'
    - db
    - table_name
    argTypes:
    - secure_vector<uint8_t>
    - std::shared_ptr<SQL_Database>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 18
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 18
    functionName: Botan::Encrypted_PSK_Database_SQL::Encrypted_PSK_Database_SQL
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db_sql.cpp
    functionUses: 0
    functionsReached:
    - create_table
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Encrypted_PSK_Database_SQL::Encrypted_PSK_Database_SQL(const
      secure_vector<uint8_t>& master_key,\n                                                       std::shared_ptr<SQL_Database>
      db,\n                                                       std::string_view
      table_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Encrypted_PSK_Database_SQL::~Encrypted_PSK_Database_SQL()
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db_sql.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Encrypted_PSK_Database_SQL::~Encrypted_PSK_Database_SQL()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:23,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:24,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: Botan::Encrypted_PSK_Database_SQL::kv_del
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - auto::bind
    - auto::spin
    linkageType: ''
    returnType: void
    signature: void Encrypted_PSK_Database_SQL::kv_del(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:29,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:31,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:32,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: Botan::Encrypted_PSK_Database_SQL::kv_set
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - auto::bind
    - auto::spin
    linkageType: ''
    returnType: void
    signature: void Encrypted_PSK_Database_SQL::kv_set(std::string_view name, std::string_view
      value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:38,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:40,1
    - Dst: auto::step
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:42,1
    - Dst: auto::get_str
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: Botan::Encrypted_PSK_Database_SQL::kv_get
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db_sql.cpp
    functionUses: 0
    functionsReached:
    - auto::get_str
    - new_statement
    - auto::bind
    - auto::step
    linkageType: ''
    returnType: std::string
    signature: std::string Encrypted_PSK_Database_SQL::kv_get(std::string_view name)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:51,1
    - Dst: auto::step
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:53,1
    - Dst: std::set::insert
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:54,1
    - Dst: auto::get_str
      Src: /src/botan/src/lib/psk_db/psk_db_sql.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: Botan::Encrypted_PSK_Database_SQL::kv_get_all
    functionSourceFile: /src/botan/src/lib/psk_db/psk_db_sql.cpp
    functionUses: 0
    functionsReached:
    - auto::get_str
    - std::set::insert
    - new_statement
    - auto::step
    linkageType: ''
    returnType: std::set<std::string>
    signature: std::set<std::string> Encrypted_PSK_Database_SQL::kv_get_all() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:31,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:33,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:35,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:37,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - alg_id
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: Botan::get_pbkdf_prf
    functionSourceFile: /src/botan/src/lib/passhash/passhash9/passhash9.cpp
    functionUses: 0
    functionsReached:
    - Botan::MessageAuthenticationCode::create
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> get_pbkdf_prf(uint8_t alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:50,1
    - Dst: Botan::get_pbkdf_prf
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:52,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:55,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:55,1
    - Dst: Botan::randomize
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:61,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:61,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:61,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:66,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:67,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:67,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:68,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:68,1
    - Dst: PKCS5_PBKDF2::derive_key
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:70,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:70,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:70,1
    - Dst: Botan::base64_encode
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - pass
    - ' rng'
    - work_factor
    - alg_id
    argTypes:
    - std::string_view
    - RandomNumberGenerator
    - uint16_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 73
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 73
    functionName: Botan::generate_passhash9
    functionSourceFile: /src/botan/src/lib/passhash/passhash9/passhash9.cpp
    functionUses: 3
    functionsReached:
    - secure_vector::data
    - secure_vector::push_back
    - secure_vector::size
    - Botan::get_byte
    - BOTAN_ARG_CHECK
    - Botan::base64_encode
    - Botan::to_string
    - Invalid_Argument
    - PKCS5_PBKDF2::derive_key
    - Botan::get_pbkdf_prf
    - Botan::randomize
    linkageType: ''
    returnType: std::string
    signature: "std::string generate_passhash9(std::string_view pass,\n                               RandomNumberGenerator&
      rng,\n                               uint16_t work_factor,\n                               uint8_t
      alg_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:80,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:84,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:90,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:90,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:90,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:92,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:106,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:106,1
    - Dst: Botan::get_pbkdf_prf
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:111,1
    - Dst: PKCS5_PBKDF2::derive_key
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:120,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:125,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:125,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - pass
    - hash
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 126
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 126
    functionName: Botan::check_passhash9
    functionSourceFile: /src/botan/src/lib/passhash/passhash9/passhash9.cpp
    functionUses: 2
    functionsReached:
    - secure_vector::data
    - secure_vector::size
    - Botan::CT::is_equal
    - Botan::base64_decode
    - std::string_view::size
    - Botan::to_string
    - Botan::size
    - Invalid_Argument
    - PKCS5_PBKDF2::derive_key
    - Botan::get_pbkdf_prf
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: bool check_passhash9(std::string_view pass, std::string_view hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get_pbkdf_prf
      Src: /src/botan/src/lib/passhash/passhash9/passhash9.cpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - alg_id
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: Botan::is_passhash9_alg_supported
    functionSourceFile: /src/botan/src/lib/passhash/passhash9/passhash9.cpp
    functionUses: 3
    functionsReached:
    - Botan::get_pbkdf_prf
    linkageType: ''
    returnType: bool
    signature: bool is_passhash9_alg_supported(uint8_t alg_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:24,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:25,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:26,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:28,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:29,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:31,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:32,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:33,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:34,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:37,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:38,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:39,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:40,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:41,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:42,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:43,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:44,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 48
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 48
    functionName: Botan::base64_to_bcrypt_encoding
    functionSourceFile: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp
    functionUses: 0
    functionsReached:
    - auto::select
    - Botan::CT::Mask::is_within_range
    - Botan::BigInt::is_equal
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t base64_to_bcrypt_encoding(uint8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:51,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:52,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:54,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:55,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:56,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:58,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:59,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:60,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:61,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:64,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:65,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:66,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:67,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:68,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:69,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:70,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:71,1
    - Dst: auto::select
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: Botan::bcrypt_encoding_to_base64
    functionSourceFile: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp
    functionUses: 0
    functionsReached:
    - auto::select
    - Botan::CT::Mask::is_within_range
    - Botan::BigInt::is_equal
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t bcrypt_encoding_to_base64(uint8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base64_encode
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:78,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:80,1
    - Dst: std::string::back
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:80,1
    - Dst: std::string::pop_back
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:81,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:84,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:85,1
    - Dst: Botan::base64_to_bcrypt_encoding
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:85,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: Botan::bcrypt_base64_encode
    functionSourceFile: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::back
    - Botan::base64_encode
    - static_cast<uint8_t>
    - std::string::empty
    - Botan::base64_to_bcrypt_encoding
    - static_cast<char>
    - std::string::pop_back
    linkageType: ''
    returnType: std::string
    signature: std::string bcrypt_base64_encode(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:93,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:95,1
    - Dst: Botan::unlock
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:98,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: Botan::bcrypt_base64_decode
    functionSourceFile: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp
    functionUses: 0
    functionsReached:
    - Botan::unlock
    - std::string_view::size
    - std::string::push_back
    - Botan::base64_decode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> bcrypt_base64_decode(std::string_view input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:108,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:116,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:117,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:117,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:117,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:117,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:117,1
    - Dst: Blowfish::salted_set_key
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:120,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:121,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:121,1
    - Dst: data
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:121,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:121,1
    - Dst: Blowfish::encrypt_n
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:126,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:126,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:126,1
    - Dst: Botan::bcrypt_base64_encode
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:129,1
    - Dst: data
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:129,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:129,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:131,1
    - Dst: std::string::length
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:132,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:136,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:139,1
    - Dst: Botan::bcrypt_base64_encode
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:140,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:140,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - pass
    - ' salt'
    - work_factor
    - version
    argTypes:
    - std::string_view
    - std::vector<uint8_t>
    - uint16_t
    - char
    constantsTouched: []
    func_position:
      end: 141
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 141
    functionName: Botan::make_bcrypt
    functionSourceFile: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::string_view::data
    - Botan::bcrypt_base64_encode
    - secure_vector::size
    - data
    - std::string_view::size
    - Blowfish::salted_set_key
    - Blowfish::encrypt_n
    - Botan::to_string
    - BOTAN_ARG_CHECK
    - std::vector::data
    - secure_vector::data
    - std::string::length
    - std::string_view::length
    - Botan::copy_mem
    - Botan::cast_char_ptr_to_uint8
    - Botan::size
    - Botan::fmt
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string make_bcrypt(std::string_view pass, const std::vector<uint8_t>&
      salt, uint16_t work_factor, char version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:152,1
    - Dst: std::string
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:152,1
    - Dst: Botan::random_vec
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:156,1
    - Dst: Botan::make_bcrypt
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - pass
    - ' rng'
    - work_factor
    - version
    argTypes:
    - std::string_view
    - RandomNumberGenerator
    - uint16_t
    - char
    constantsTouched: []
    func_position:
      end: 158
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 158
    functionName: Botan::generate_bcrypt
    functionSourceFile: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp
    functionUses: 4
    functionsReached:
    - Invalid_Argument
    - Botan::make_bcrypt
    - std::string
    - Botan::random_vec
    linkageType: ''
    returnType: std::string
    signature: std::string generate_bcrypt(std::string_view pass, RandomNumberGenerator&
      rng, uint16_t work_factor, char version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:161,1
    - Dst: Botan::bcrypt_base64_decode
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:173,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:173,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:174,1
    - Dst: Botan::make_bcrypt
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:178,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:180,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:180,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:180,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:180,1
    - Dst: std::string::data
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:180,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp:180,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - pass
    - hash
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 182
      start: 160
    functionDepth: 4
    functionLinenumber: 160
    functionLinenumberEnd: 182
    functionName: Botan::check_bcrypt
    functionSourceFile: /src/botan/src/lib/passhash/bcrypt/bcrypt.cpp
    functionUses: 2
    functionsReached:
    - Botan::bcrypt_base64_decode
    - Botan::cast_char_ptr_to_uint8
    - std::string::size
    - std::vector::size
    - Botan::CT::is_equal
    - Botan::make_bcrypt
    - std::string_view::size
    - std::string_view::substr
    - std::string::data
    - std::string_view::data
    linkageType: ''
    returnType: bool
    signature: bool check_bcrypt(std::string_view pass, std::string_view hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:22,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:22,1
    - Dst: std::string::resize
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:23,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: Botan::strip_padding
    functionSourceFile: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::resize
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string strip_padding(std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - y
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: Botan::argon2_family
    functionSourceFile: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::string
    signature: std::string argon2_family(uint8_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::randomize
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:52,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:52,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:52,1
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:56,1
    - Dst: Botan::argon2_family
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:56,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:57,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:59,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:59,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:59,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:59,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:59,1
    - Dst: Botan::strip_padding
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:61,1
    - Dst: Botan::base64_encode
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:61,1
    - Dst: Botan::strip_padding
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:62,1
    - Dst: Botan::base64_encode
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:62,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 9
    argNames:
    - password
    - password_len
    - ' rng'
    - p
    - M
    - t
    - y
    - salt_len
    - output_len
    argTypes:
    - char*
    - size_t
    - RandomNumberGenerator
    - size_t
    - size_t
    - size_t
    - uint8_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 75
    functionName: Botan::argon2_generate_pwhash
    functionSourceFile: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp
    functionUses: 2
    functionsReached:
    - Botan::PasswordHashFamily::create_or_throw
    - auto::from_params
    - std::vector::size
    - auto::derive_key
    - Botan::strip_padding
    - Botan::base64_encode
    - Botan::fmt
    - Botan::randomize
    - Botan::argon2_family
    - std::vector::data
    linkageType: ''
    returnType: std::string
    signature: "std::string argon2_generate_pwhash(const char* password,\n                                   size_t
      password_len,\n                                   RandomNumberGenerator& rng,\n
      \                                  size_t p,\n                                   size_t
      M,\n                                   size_t t,\n                                   uint8_t
      y,\n                                   size_t salt_len,\n                                   size_t
      output_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:78,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:80,1
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:100,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:102,1
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:109,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:111,1
    - Dst: Botan::base64_decode_max_output
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:128,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:128,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:129,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:129,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:129,1
    - Dst: Botan::base64_decode_max_output
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:131,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:131,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:132,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:132,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:132,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:134,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:138,1
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:139,1
    - Dst: Botan::argon2_family
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:139,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:140,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:142,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:142,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:142,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:142,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:142,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:144,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:144,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:144,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp:144,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - password
    - password_len
    - input_hash
    argTypes:
    - char*
    - size_t
    - std::string_view
    constantsTouched: []
    func_position:
      end: 145
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 145
    functionName: Botan::argon2_check_pwhash
    functionSourceFile: /src/botan/src/lib/passhash/argon2fmt/argon2fmt.cpp
    functionUses: 0
    functionsReached:
    - Botan::PasswordHashFamily::create_or_throw
    - auto::from_params
    - std::vector::size
    - auto::derive_key
    - Botan::CT::is_equal
    - std::vector::resize
    - Botan::split_on
    - Botan::base64_decode_max_output
    - Botan::base64_decode
    - Botan::size
    - Botan::argon2_family
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: bool argon2_check_pwhash(const char* password, size_t password_len,
      std::string_view input_hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/x509/x509_ext.cpp:33,1
    - Dst: Botan::Cert_Extension::static_oid
      Src: /src/botan/src/lib/x509/x509_ext.cpp:33,1
    - Dst: std::make_unique<T>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: Botan::make_extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - Botan::Cert_Extension::static_oid
    - std::make_unique<T>
    linkageType: ''
    returnType: auto
    signature: auto make_extension([[maybe_unused]] const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_sub_element_of
      Src: /src/botan/src/lib/x509/x509_ext.cpp:38,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:42,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:44,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:46,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:48,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:50,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:52,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:54,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:56,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:58,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:60,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:62,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:64,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:66,1
    - Dst: Botan::is_sub_element_of
      Src: /src/botan/src/lib/x509/x509_ext.cpp:70,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:74,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:76,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:78,1
    - Dst: Botan::make_extension
      Src: /src/botan/src/lib/x509/x509_ext.cpp:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 85
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 85
    functionName: Botan::extension_from_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Botan::make_extension
    - Botan::is_sub_element_of
    linkageType: ''
    returnType: std::unique_ptr<Certificate_Extension>
    signature: std::unique_ptr<Certificate_Extension> extension_from_oid(const OID&
      oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:91,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:91,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' tn'
    argTypes:
    - ASN1_String
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: Botan::is_valid_telephone_number
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Botan::size
    - value
    - Botan::empty
    linkageType: ''
    returnType: bool
    signature: bool is_valid_telephone_number(const ASN1_String& tn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extension_from_oid
      Src: /src/botan/src/lib/x509/x509_ext.cpp:110,1
    - Dst: std::make_unique<Cert_Extension::Unknown_Extension>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:114,1
    - Dst: auto::decode_inner
      Src: /src/botan/src/lib/x509/x509_ext.cpp:118,1
    - Dst: std::make_unique<Cert_Extension::Unknown_Extension>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:120,1
    - Dst: auto::decode_inner
      Src: /src/botan/src/lib/x509/x509_ext.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' oid'
    - critical
    - ' body'
    argTypes:
    - OID
    - bool
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: Botan::Extensions::create_extn_obj
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - extension_from_oid
    - auto::decode_inner
    - std::make_unique<Cert_Extension::Unknown_Extension>
    linkageType: ''
    returnType: std::unique_ptr<Certificate_Extension>
    signature: "std::unique_ptr<Certificate_Extension> Extensions::create_extn_obj(const
      OID& oid,\n                                                                   bool
      critical,\n                                                                   const
      std::vector<uint8_t>& body)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/x509/x509_ext.cpp:127,1
    - Dst: get
      Src: /src/botan/src/lib/x509/x509_ext.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: '& Extensions::Extensions_Info::obj() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - get
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: Certificate_Extension
    signature: Certificate_Extension & Extensions::Extensions_Info::obj() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: Botan::Certificate_Extension::validate
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Certificate_Extension::validate(const X509_Certificate& /*unused*/,\n
      \                                    const X509_Certificate& /*unused*/,\n                                     const
      std::vector<X509_Certificate>& /*unused*/,\n                                     std::vector<std::set<Certificate_Status_Code>>&
      /*unused*/,\n                                     size_t /*unused*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/lib/x509/x509_ext.cpp:145,1
    - Dst: std::unique_ptr<Certificate_Extension>::oid_of
      Src: /src/botan/src/lib/x509/x509_ext.cpp:145,1
    - Dst: std::unique_ptr<Certificate_Extension>::oid_name
      Src: /src/botan/src/lib/x509/x509_ext.cpp:146,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509_ext.cpp:147,1
    - Dst: std::unique_ptr<Certificate_Extension>::oid_of
      Src: /src/botan/src/lib/x509/x509_ext.cpp:150,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:152,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/x509_ext.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - extn
    - critical
    argTypes:
    - std::unique_ptr<Certificate_Extension>
    - bool
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: Botan::Extensions::add
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 4
    functionsReached:
    - emplace
    - std::unique_ptr<Certificate_Extension>::oid_of
    - std::unique_ptr<Certificate_Extension>::oid_name
    - contains
    - push_back
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Extensions::add(std::unique_ptr<Certificate_Extension> extn, bool
      critical)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/botan/src/lib/x509/x509_ext.cpp:157,1
    - Dst: std::unique_ptr<Certificate_Extension>::oid_of
      Src: /src/botan/src/lib/x509/x509_ext.cpp:157,1
    - Dst: std::unique_ptr<Certificate_Extension>::oid_of
      Src: /src/botan/src/lib/x509/x509_ext.cpp:161,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:163,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/x509_ext.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - extn
    - critical
    argTypes:
    - std::unique_ptr<Certificate_Extension>
    - bool
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: Botan::Extensions::add_new
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 1
    functionsReached:
    - emplace
    - std::unique_ptr<Certificate_Extension>::oid_of
    - push_back
    - contains
    linkageType: ''
    returnType: bool
    signature: bool Extensions::add_new(std::unique_ptr<Certificate_Extension> extn,
      bool critical)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/botan/src/lib/x509/x509_ext.cpp:172,1
    - Dst: find
      Src: /src/botan/src/lib/x509/x509_ext.cpp:172,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:172,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: Botan::Extensions::remove
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 1
    functionsReached:
    - begin
    - erase
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool Extensions::remove(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Extensions::remove
      Src: /src/botan/src/lib/x509/x509_ext.cpp:180,1
    - Dst: std::unique_ptr<Certificate_Extension>::oid_of
      Src: /src/botan/src/lib/x509/x509_ext.cpp:180,1
    - Dst: std::unique_ptr<Certificate_Extension>::oid_of
      Src: /src/botan/src/lib/x509/x509_ext.cpp:182,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:184,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/x509_ext.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - extn
    - critical
    argTypes:
    - std::unique_ptr<Certificate_Extension>
    - bool
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: Botan::Extensions::replace
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 1
    functionsReached:
    - Botan::Extensions::remove
    - emplace
    - std::unique_ptr<Certificate_Extension>::oid_of
    - push_back
    linkageType: ''
    returnType: void
    signature: void Extensions::replace(std::unique_ptr<Certificate_Extension> extn,
      bool critical)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/x509/x509_ext.cpp:189,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: Botan::Extensions::extension_set
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool Extensions::extension_set(const OID& oid) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/x509/x509_ext.cpp:193,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:194,1
    - Dst: auto::second::is_critical
      Src: /src/botan/src/lib/x509/x509_ext.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: Botan::Extensions::critical_extension_set
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 1
    functionsReached:
    - end
    - auto::second::is_critical
    - find
    linkageType: ''
    returnType: bool
    signature: bool Extensions::critical_extension_set(const OID& oid) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/x509/x509_ext.cpp:201,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:202,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509_ext.cpp:203,1
    - Dst: auto::second::bits
      Src: /src/botan/src/lib/x509/x509_ext.cpp:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: Botan::Extensions::get_extension_bits
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 1
    functionsReached:
    - end
    - auto::second::bits
    - find
    - Invalid_Argument
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Extensions::get_extension_bits(const OID& oid)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/x509/x509_ext.cpp:210,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:211,1
    - Dst: auto::second::obj
      Src: /src/botan/src/lib/x509/x509_ext.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: Botan::Extensions::get_extension_object
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - end
    - auto::second::obj
    - find
    linkageType: ''
    returnType: Certificate_Extension
    signature: Certificate_Extension * Extensions::get_extension_object(const OID&
      oid) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Extensions::get_extension_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:219,1
    - Dst: Certificate_Extension*::copy
      Src: /src/botan/src/lib/x509/x509_ext.cpp:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: Botan::Extensions::get
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Botan::Extensions::get_extension_object
    - Certificate_Extension*::copy
    linkageType: ''
    returnType: std::unique_ptr<Certificate_Extension>
    signature: std::unique_ptr<Certificate_Extension> Extensions::get(const OID& oid)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/x509/x509_ext.cpp:227,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:227,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:229,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/x509_ext.cpp:229,1
    - Dst: second::obj
      Src: /src/botan/src/lib/x509/x509_ext.cpp:229,1
    - Dst: second::is_critical
      Src: /src/botan/src/lib/x509/x509_ext.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: Botan::Extensions::extensions
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - second::is_critical
    - size
    - std::vector::push_back
    - std::vector::reserve
    - second::obj
    - std::make_pair
    linkageType: ''
    returnType: std::vector<std::pair<std::unique_ptr<Certificate_Extension>, bool>>
    signature: std::vector<std::pair<std::unique_ptr<Certificate_Extension>, bool>>
      Extensions::extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::map::emplace
      Src: /src/botan/src/lib/x509/x509_ext.cpp:237,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/x509_ext.cpp:237,1
    - Dst: second::bits
      Src: /src/botan/src/lib/x509/x509_ext.cpp:237,1
    - Dst: second::is_critical
      Src: /src/botan/src/lib/x509/x509_ext.cpp:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: Botan::Extensions::extensions_raw
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - std::map::emplace
    - second::bits
    - second::is_critical
    - std::make_pair
    linkageType: ''
    returnType: std::map<OID, std::pair<std::vector<uint8_t>, bool>>
    signature: std::map<OID, std::pair<std::vector<uint8_t>, bool>> Extensions::extensions_raw()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: second::bits
      Src: /src/botan/src/lib/x509/x509_ext.cpp:252,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' to_object'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 261
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 261
    functionName: Botan::Extensions::encode_into
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - second::bits
    - start_sequence
    linkageType: ''
    returnType: void
    signature: void Extensions::encode_into(DER_Encoder& to_object) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/x509/x509_ext.cpp:267,1
    - Dst: clear
      Src: /src/botan/src/lib/x509/x509_ext.cpp:268,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:270,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/x509_ext.cpp:272,1
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:277,1
    - Dst: Botan::Extensions::create_extn_obj
      Src: /src/botan/src/lib/x509/x509_ext.cpp:283,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:286,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/x509_ext.cpp:287,1
    - Dst: BER_Decoder::verify_end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' from_source'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 290
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 290
    functionName: Botan::Extensions::decode_from
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - BER_Decoder::more_items
    - start_sequence
    - clear
    - Botan::Extensions::create_extn_obj
    - push_back
    - BER_Decoder::start_sequence
    - BER_Decoder::verify_end
    linkageType: ''
    returnType: void
    signature: void Extensions::decode_from(BER_Decoder& from_source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/x509/x509_ext.cpp:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: Botan::Cert_Extension::Basic_Constraints::get_path_limit
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: size_t
    signature: size_t Basic_Constraints::get_path_limit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:309,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: Botan::Cert_Extension::Basic_Constraints::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Basic_Constraints::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 329
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 329
    functionName: Botan::Cert_Extension::Basic_Constraints::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void Basic_Constraints::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:335,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:336,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:343,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:343,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:344,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:345,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:346,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 352
    functionName: Botan::Cert_Extension::Key_Usage::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::vector::push_back
    - static_cast<uint8_t>
    - Encoding_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Key_Usage::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:360,1
    - Dst: BER_Object::assert_is_a
      Src: /src/botan/src/lib/x509/x509_ext.cpp:362,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/x509_ext.cpp:364,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/x509_ext.cpp:364,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:370,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/x509_ext.cpp:375,1
    - Dst: make_uint16
      Src: /src/botan/src/lib/x509/x509_ext.cpp:376,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/x509_ext.cpp:377,1
    - Dst: make_uint16
      Src: /src/botan/src/lib/x509/x509_ext.cpp:378,1
    - Dst: Key_Constraints
      Src: /src/botan/src/lib/x509/x509_ext.cpp:381,1
    - Dst: Key_Constraints
      Src: /src/botan/src/lib/x509/x509_ext.cpp:383,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 385
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 385
    functionName: Botan::Cert_Extension::Key_Usage::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder::get_next_object
    - make_uint16
    - Key_Constraints
    - BER_Object::length
    - BER_Object::assert_is_a
    - BER_Decoding_Error
    linkageType: ''
    returnType: void
    signature: void Key_Usage::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: Botan::Cert_Extension::Subject_Key_ID::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Subject_Key_ID::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: Botan::Cert_Extension::Subject_Key_ID::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void Subject_Key_ID::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/x509/x509_ext.cpp:407,1
    - Dst: resize
      Src: /src/botan/src/lib/x509/x509_ext.cpp:409,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/x509/x509_ext.cpp:409,1
    - Dst: auto::update
      Src: /src/botan/src/lib/x509/x509_ext.cpp:411,1
    - Dst: auto::final
      Src: /src/botan/src/lib/x509/x509_ext.cpp:412,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_ext.cpp:412,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:416,1
    - Dst: resize
      Src: /src/botan/src/lib/x509/x509_ext.cpp:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' pub_key'
    - hash_name
    argTypes:
    - std::vector<uint8_t>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: Botan::Cert_Extension::Subject_Key_ID::Subject_Key_ID
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - auto::final
    - Botan::HashFunction::create_or_throw
    - data
    - auto::update
    - auto::output_length
    - size
    - resize
    linkageType: ''
    returnType: void
    signature: void Subject_Key_ID::Subject_Key_ID(const std::vector<uint8_t>& pub_key,
      std::string_view hash_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:426,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 431
    functionName: Botan::Cert_Extension::Authority_Key_ID::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - ASN1_Type
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Authority_Key_ID::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 438
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 438
    functionName: Botan::Cert_Extension::Authority_Key_ID::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void Authority_Key_ID::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: Botan::Cert_Extension::Subject_Alternative_Name::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Subject_Alternative_Name::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: Botan::Cert_Extension::Issuer_Alternative_Name::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Issuer_Alternative_Name::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 463
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 463
    functionName: Botan::Cert_Extension::Subject_Alternative_Name::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void Subject_Alternative_Name::decode_inner(const std::vector<uint8_t>&
      in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionName: Botan::Cert_Extension::Issuer_Alternative_Name::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void Issuer_Alternative_Name::decode_inner(const std::vector<uint8_t>&
      in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: Botan::Cert_Extension::Extended_Key_Usage::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Extended_Key_Usage::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: Botan::Cert_Extension::Extended_Key_Usage::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void Extended_Key_Usage::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/x509_ext.cpp:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: Botan::Cert_Extension::Name_Constraints::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Name_Constraints::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:500,1
    - Dst: BER_Decoder::decode_optional_list
      Src: /src/botan/src/lib/x509/x509_ext.cpp:503,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:503,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:504,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:505,1
    - Dst: BER_Decoder::decode_optional_list
      Src: /src/botan/src/lib/x509/x509_ext.cpp:510,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:510,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:511,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:512,1
    - Dst: BER_Decoder::end_cons
      Src: /src/botan/src/lib/x509/x509_ext.cpp:516,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:518,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:518,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:519,1
    - Dst: NameConstraints
      Src: /src/botan/src/lib/x509/x509_ext.cpp:522,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509_ext.cpp:522,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509_ext.cpp:522,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 523
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 523
    functionName: Botan::Cert_Extension::Name_Constraints::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - NameConstraints
    - std::vector::empty
    - BER_Decoder::end_cons
    - Decoding_Error
    - std::move
    - BER_Decoder::decode_optional_list
    - BER_Decoder::start_sequence
    - ASN1_Type
    linkageType: ''
    returnType: void
    signature: void Name_Constraints::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: permitted
      Src: /src/botan/src/lib/x509/x509_ext.cpp:530,1
    - Dst: excluded
      Src: /src/botan/src/lib/x509/x509_ext.cpp:530,1
    - Dst: is_CA_cert
      Src: /src/botan/src/lib/x509/x509_ext.cpp:531,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:532,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:539,1
    - Dst: is_permitted
      Src: /src/botan/src/lib/x509/x509_ext.cpp:541,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:542,1
    - Dst: is_excluded
      Src: /src/botan/src/lib/x509/x509_ext.cpp:546,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:547,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - ' subject'
    - ' cert_path'
    - ' cert_status'
    - pos
    argTypes:
    - X509_Certificate
    - std::vector<X509_Certificate>
    - std::vector<std::set<Certificate_Status_Code>>
    - size_t
    constantsTouched: []
    func_position:
      end: 552
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 552
    functionName: Botan::Cert_Extension::Name_Constraints::validate
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - excluded
    - is_CA_cert
    - at
    - is_excluded
    - is_permitted
    - permitted
    linkageType: ''
    returnType: void
    signature: "void Name_Constraints::validate(const X509_Certificate& subject,\n
      \                               const X509_Certificate& /*issuer*/,\n                                const
      std::vector<X509_Certificate>& cert_path,\n                                std::vector<std::set<Certificate_Status_Code>>&
      cert_status,\n                                size_t pos)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 561
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 561
    functionName: Botan::Cert_Extension::Policy_Information::Policy_Information
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Policy_Information()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 563
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 563
    functionName: Botan::Cert_Extension::Policy_Information::Policy_Information
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Policy_Information(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: '& oid() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OID
    signature: OID & oid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' codec'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 567
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 567
    functionName: Botan::Cert_Extension::Policy_Information::encode_into
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    linkageType: ''
    returnType: void
    signature: void encode_into(DER_Encoder& codec) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' codec'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: Botan::Cert_Extension::Policy_Information::decode_from
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    linkageType: ''
    returnType: void
    signature: void decode_from(BER_Decoder& codec) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/x509/x509_ext.cpp:585,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:585,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:587,1
    - Dst: Policy_Information
      Src: /src/botan/src/lib/x509/x509_ext.cpp:587,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 593
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 593
    functionName: Botan::Cert_Extension::Certificate_Policies::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    - Policy_Information
    - size
    - std::vector::push_back
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Certificate_Policies::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:601,1
    - Dst: clear
      Src: /src/botan/src/lib/x509/x509_ext.cpp:602,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:604,1
    - Dst: oid
      Src: /src/botan/src/lib/x509/x509_ext.cpp:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 606
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 606
    functionName: Botan::Cert_Extension::Certificate_Policies::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - clear
    - push_back
    - BER_Decoder
    - oid
    linkageType: ''
    returnType: void
    signature: void Certificate_Policies::decode_inner(const std::vector<uint8_t>&
      in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:613,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:613,1
    - Dst: std::set::size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:614,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:614,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' cert_status'
    - pos
    argTypes:
    - std::vector<std::set<Certificate_Status_Code>>
    - size_t
    constantsTouched: []
    func_position:
      end: 617
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 617
    functionName: Botan::Cert_Extension::Certificate_Policies::validate
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - begin
    - at
    - size
    - end
    - std::set::size
    linkageType: ''
    returnType: void
    signature: "void Certificate_Policies::validate(const X509_Certificate& /*subject*/,\n
      \                                   const X509_Certificate& /*issuer*/,\n                                    const
      std::vector<X509_Certificate>& /*cert_path*/,\n                                    std::vector<std::set<Certificate_Status_Code>>&
      cert_status,\n                                    size_t pos)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:623,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:625,1
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:627,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509_ext.cpp:628,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:629,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:629,1
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:636,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509_ext.cpp:637,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:638,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:638,1
    - Dst: DER_Encoder::end_cons
      Src: /src/botan/src/lib/x509/x509_ext.cpp:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 644
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 644
    functionName: Botan::Cert_Extension::Authority_Information_Access::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder::start_sequence
    - DER_Encoder::end_cons
    - ASN1_String::value
    - empty
    - Botan::OID::from_string
    - ASN1_Type
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Authority_Information_Access::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:647,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/x509_ext.cpp:649,1
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:652,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:654,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509_ext.cpp:656,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:657,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/x509_ext.cpp:659,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/x509/x509_ext.cpp:660,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509_ext.cpp:663,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:664,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/x509_ext.cpp:666,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:667,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/x509/x509_ext.cpp:667,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 671
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 671
    functionName: Botan::Cert_Extension::Authority_Information_Access::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder::get_next_object
    - BER_Decoder::more_items
    - BER_Decoder
    - Botan::ASN1::to_string
    - BER_Object::is_a
    - push_back
    - Botan::OID::from_string
    - BER_Decoder::start_sequence
    - BER_Decoder::decode
    linkageType: ''
    returnType: void
    signature: void Authority_Information_Access::decode_inner(const std::vector<uint8_t>&
      in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/x509/x509_ext.cpp:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 681
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 681
    functionName: Botan::Cert_Extension::CRL_Number::get_crl_number
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: size_t
    signature: size_t CRL_Number::get_crl_number() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/x509/x509_ext.cpp:688,1
    - Dst: std::make_unique<CRL_Number>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 691
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 691
    functionName: Botan::Cert_Extension::CRL_Number::copy
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CRL_Number>
    - Invalid_State
    linkageType: ''
    returnType: std::unique_ptr<Certificate_Extension>
    signature: std::unique_ptr<Certificate_Extension> CRL_Number::copy() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 700
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 700
    functionName: Botan::Cert_Extension::CRL_Number::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> CRL_Number::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 708
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 708
    functionName: Botan::Cert_Extension::CRL_Number::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void CRL_Number::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:715,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 717
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 717
    functionName: Botan::Cert_Extension::CRL_ReasonCode::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> CRL_ReasonCode::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:724,1
    - Dst: static_cast<CRL_Code>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 726
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 726
    functionName: Botan::Cert_Extension::CRL_ReasonCode::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    - static_cast<CRL_Code>
    linkageType: ''
    returnType: void
    signature: void CRL_ReasonCode::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 732
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 732
    functionName: Botan::Cert_Extension::CRL_Distribution_Points::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> CRL_Distribution_Points::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:735,1
    - Dst: point
      Src: /src/botan/src/lib/x509/x509_ext.cpp:740,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:747,1
    - Dst: std::stringstream::str
      Src: /src/botan/src/lib/x509/x509_ext.cpp:747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 748
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 748
    functionName: Botan::Cert_Extension::CRL_Distribution_Points::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - point
    - push_back
    - std::stringstream::str
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void CRL_Distribution_Points::decode_inner(const std::vector<uint8_t>&
      buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uris
      Src: /src/botan/src/lib/x509/x509_ext.cpp:751,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:753,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/x509_ext.cpp:754,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:758,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:759,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:760,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:761,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' der'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 766
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 766
    functionName: CRL_Distribution_Points::Distribution_Point::encode_into(DER_Encoder&
      der) const
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - uris
    - start_sequence
    - auto::empty
    - ASN1_Type
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void CRL_Distribution_Points::Distribution_Point::encode_into(DER_Encoder&
      der) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:769,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ber'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 778
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 778
    functionName: CRL_Distribution_Points::Distribution_Point::decode_from(BER_Decoder&
      ber)
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    - ASN1_Type
    linkageType: ''
    returnType: void
    signature: void CRL_Distribution_Points::Distribution_Point::decode_from(BER_Decoder&
      ber)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/x509_ext.cpp:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 782
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 782
    functionName: Botan::Cert_Extension::CRL_Issuing_Distribution_Point::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> CRL_Issuing_Distribution_Point::encode_inner()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 786
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 786
    functionName: Botan::Cert_Extension::CRL_Issuing_Distribution_Point::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void CRL_Issuing_Distribution_Point::decode_inner(const std::vector<uint8_t>&
      buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/x509_ext.cpp:789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 790
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 790
    functionName: TNAuthList::Entry::encode_into(DER_Encoder&) const
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void TNAuthList::Entry::encode_into(DER_Encoder&) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:793,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:800,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509_ext.cpp:801,1
    - Dst: RangeContainer
      Src: /src/botan/src/lib/x509/x509_ext.cpp:804,1
    - Dst: std::get<RangeContainer>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:805,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:806,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/x509_ext.cpp:807,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:810,1
    - Dst: is_valid_telephone_number
      Src: /src/botan/src/lib/x509/x509_ext.cpp:811,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:812,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:812,1
    - Dst: TelephoneNumberRangeData::start::value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:812,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:815,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:817,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:817,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:820,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509_ext.cpp:820,1
    - Dst: BER_Decoder::end_cons
      Src: /src/botan/src/lib/x509/x509_ext.cpp:822,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:824,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:825,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:830,1
    - Dst: is_valid_telephone_number
      Src: /src/botan/src/lib/x509/x509_ext.cpp:831,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:832,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:832,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:832,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509_ext.cpp:834,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:836,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:836,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 1
    argNames:
    - ' ber'
    argTypes:
    - class BER_Decoder
    constantsTouched: []
    func_position:
      end: 838
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 838
    functionName: TNAuthList::Entry::decode_from(class BER_Decoder& ber)
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - is_valid_telephone_number
    - std::get<RangeContainer>
    - get_next_object
    - BER_Decoder::more_items
    - BER_Decoder
    - TelephoneNumberRangeData::start::value
    - fmt
    - ASN1_String::value
    - emplace_back
    - BER_Decoder::end_cons
    - empty
    - Decoding_Error
    - std::move
    - BER_Decoder::decode
    - RangeContainer
    linkageType: ''
    returnType: void
    signature: void TNAuthList::Entry::decode_from(class BER_Decoder& ber)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/x509_ext.cpp:841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 842
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 842
    functionName: Botan::Cert_Extension::TNAuthList::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> TNAuthList::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:845,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:846,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 849
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 849
    functionName: Botan::Cert_Extension::TNAuthList::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - empty
    - Decoding_Error
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void TNAuthList::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/x509/x509_ext.cpp:852,1
    - Dst: type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:852,1
    - Dst: std::get<ASN1_String>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 854
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 854
    functionName: '& TNAuthList::Entry::service_provider_code() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - type
    - BOTAN_STATE_CHECK
    - std::get<ASN1_String>
    linkageType: ''
    returnType: std::string
    signature: std::string & TNAuthList::Entry::service_provider_code() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/x509/x509_ext.cpp:857,1
    - Dst: type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:857,1
    - Dst: std::get<RangeContainer>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: '& TNAuthList::Entry::telephone_number_range() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - type
    - BOTAN_STATE_CHECK
    - std::get<RangeContainer>
    linkageType: ''
    returnType: TNAuthList::Entry::RangeContainer
    signature: TNAuthList::Entry::RangeContainer & TNAuthList::Entry::telephone_number_range()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/x509/x509_ext.cpp:862,1
    - Dst: type
      Src: /src/botan/src/lib/x509/x509_ext.cpp:862,1
    - Dst: std::get<ASN1_String>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 864
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 864
    functionName: '& TNAuthList::Entry::telephone_number() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - type
    - BOTAN_STATE_CHECK
    - std::get<ASN1_String>
    linkageType: ''
    returnType: std::string
    signature: std::string & TNAuthList::Entry::telephone_number() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 870
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 870
    functionName: Botan::Cert_Extension::IPAddressBlocks::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> IPAddressBlocks::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 874
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 874
    functionName: Botan::Cert_Extension::IPAddressBlocks::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:877,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:879,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:879,1
    - Dst: has_value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:881,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:882,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:882,1
    - Dst: add_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:885,1
    - Dst: std::holds_alternative<IPAddressChoice<Version::IPv4>>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:887,1
    - Dst: encode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:888,1
    - Dst: std::get<IPAddressChoice<Version::IPv4>>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:888,1
    - Dst: encode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:890,1
    - Dst: std::get<IPAddressChoice<Version::IPv6>>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:890,1
    - Dst: end_cons
      Src: /src/botan/src/lib/x509/x509_ext.cpp:892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' into'
    argTypes:
    - Botan::DER_Encoder
    constantsTouched: []
    func_position:
      end: 893
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 893
    functionName: IPAddressBlocks::IPAddressFamily::encode_into(Botan::DER_Encoder&
      into) const
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - std::get<IPAddressChoice<Version::IPv4>>
    - std::get<IPAddressChoice<Version::IPv6>>
    - start_sequence
    - get_byte<0>
    - end_cons
    - encode
    - get_byte<1>
    - std::vector::push_back
    - std::holds_alternative<IPAddressChoice<Version::IPv4>>
    - value
    - add_object
    - has_value
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks::IPAddressFamily::encode_into(Botan::DER_Encoder&
      into) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peek_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:896,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:898,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:898,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:898,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:901,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:904,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:908,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:919,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:923,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:926,1
    - Dst: BER_Decoder::end_cons
      Src: /src/botan/src/lib/x509/x509_ext.cpp:929,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - Botan::BER_Decoder
    constantsTouched: []
    func_position:
      end: 930
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 930
    functionName: IPAddressBlocks::IPAddressFamily::decode_from(Botan::BER_Decoder&
      from)
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    - fmt
    - static_cast<uint32_t>
    - peek_next_object
    - BER_Decoder::end_cons
    - Decoding_Error
    - BER_Decoder::decode
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks::IPAddressFamily::decode_from(Botan::BER_Decoder&
      from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: safi
      Src: /src/botan/src/lib/x509/x509_ext.cpp:946,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:947,1
    - Dst: safi
      Src: /src/botan/src/lib/x509/x509_ext.cpp:947,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:950,1
    - Dst: std::map::begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:954,1
    - Dst: std::map::end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:954,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509_ext.cpp:959,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:959,1
    - Dst: std::holds_alternative<IPAddressChoice<Version::IPv4>>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:962,1
    - Dst: addr_choice
      Src: /src/botan/src/lib/x509/x509_ext.cpp:962,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:963,1
    - Dst: Botan::Cert_Extension::IPAddressBlocks::merge
      Src: /src/botan/src/lib/x509/x509_ext.cpp:963,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:965,1
    - Dst: Botan::Cert_Extension::IPAddressBlocks::merge
      Src: /src/botan/src/lib/x509/x509_ext.cpp:965,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 969
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 969
    functionName: Botan::Cert_Extension::IPAddressBlocks::sort_and_merge
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - addr_choice
    - std::map::end
    - BOTAN_ASSERT_NOMSG
    - static_cast<uint32_t>
    - Botan::Cert_Extension::IPAddressBlocks::merge
    - empty
    - std::vector::push_back
    - std::holds_alternative<IPAddressChoice<Version::IPv4>>
    - std::map::begin
    - push_back
    - safi
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks::sort_and_merge()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/x509/x509_ext.cpp:977,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:977,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:980,1
    - Dst: std::get<IPAddressChoice<V>>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:987,1
    - Dst: addr_choice
      Src: /src/botan/src/lib/x509/x509_ext.cpp:987,1
    - Dst: IPAddressChoice::ranges
      Src: /src/botan/src/lib/x509/x509_ext.cpp:988,1
    - Dst: IPAddressChoice::ranges
      Src: /src/botan/src/lib/x509/x509_ext.cpp:989,1
    - Dst: IPAddressFamily
      Src: /src/botan/src/lib/x509/x509_ext.cpp:994,1
    - Dst: IPAddressChoice<V>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:994,1
    - Dst: safi
      Src: /src/botan/src/lib/x509/x509_ext.cpp:994,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:999,1
    - Dst: std::get<IPAddressChoice<V>>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1005,1
    - Dst: addr_choice
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1005,1
    - Dst: IPAddressChoice::ranges
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1006,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1008,1
    - Dst: safi
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1014,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - ' blocks'
    argTypes:
    - std::vector<IPAddressFamily>
    constantsTouched: []
    func_position:
      end: 1016
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 1016
    functionName: Botan::Cert_Extension::IPAddressBlocks::merge
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 1
    functionsReached:
    - addr_choice
    - IPAddressChoice::ranges
    - size
    - empty
    - std::vector::push_back
    - Decoding_Error
    - IPAddressFamily
    - BOTAN_ASSERT
    - safi
    - std::get<IPAddressChoice<V>>
    - IPAddressChoice<V>
    linkageType: ''
    returnType: IPAddressBlocks::IPAddressFamily
    signature: IPAddressBlocks::IPAddressFamily IPAddressBlocks::merge(std::vector<IPAddressFamily>&
      blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<std::span<const T>>::has_value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1041,1
    - Dst: std::optional<std::span<const T>>::value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1045,1
    - Dst: std::optional<std::span<const T>>::value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1045,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1047,1
    - Dst: std::sort
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1051,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1051,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1051,1
    - Dst: min
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1051,1
    - Dst: min
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1051,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1052,1
    - Dst: T::min
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1056,1
    - Dst: T::max
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1056,1
    - Dst: T::min
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1056,1
    - Dst: T::max
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1056,1
    - Dst: std::vector::erase
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1058,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1058,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1058,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1059,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1059,1
    - Dst: T
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1059,1
    - Dst: T::min
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1059,1
    - Dst: std::max
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1059,1
    - Dst: T::max
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1059,1
    - Dst: T::max
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1059,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ranges
    argTypes:
    - std::optional<std::span<const T>>
    constantsTouched: []
    func_position:
      end: 1065
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1065
    functionName: Botan::Cert_Extension::sort_and_merge_ranges
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::optional<std::span<const T>>::has_value
    - std::vector::empty
    - std::vector::begin
    - T
    - std::max
    - min
    - std::sort
    - std::vector::erase
    - std::vector::insert
    - T::max
    - std::vector::end
    - std::optional<std::span<const T>>::value
    - T::min
    linkageType: ''
    returnType: std::optional<std::vector<T>>
    signature: std::optional<std::vector<T>> sort_and_merge_ranges(std::optional<std::span<const
      T>> ranges)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const T>::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1073,1
    - Dst: std::span<const T>::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1074,1
    - Dst: std::span<const T>::begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1076,1
    - Dst: std::span<const T>::begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1076,1
    - Dst: std::span<const T>::end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1076,1
    - Dst: auto::min
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1078,1
    - Dst: max
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1078,1
    - Dst: std::span<const T>::end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1081,1
    - Dst: std::span<const T>::end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1081,1
    - Dst: auto::min
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1086,1
    - Dst: min
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1086,1
    - Dst: auto::max
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1090,1
    - Dst: max
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1090,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - subject
    - issuer
    argTypes:
    - std::span<const T>
    - std::span<const T>
    constantsTouched: []
    func_position:
      end: 1098
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1098
    functionName: Botan::Cert_Extension::validate_subject_in_issuer
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - std::span<const T>::begin
    - auto::min
    - auto::max
    - min
    - max
    - std::span<const T>::end
    - std::span<const T>::empty
    linkageType: ''
    returnType: bool
    signature: bool validate_subject_in_issuer(std::span<const T> subject, std::span<const
      T> issuer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::get<IPAddressBlocks::IPAddressChoice<V>>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1104,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1106,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1107,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1107,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - afam
    - ' choice'
    - ' map'
    argTypes:
    - uint32_t
    - IPAddressBlocks::IPAddressFamily::AddrChoice
    - IPValidationMap<V>
    constantsTouched: []
    func_position:
      end: 1108
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1108
    functionName: Botan::Cert_Extension::populate_validation_map
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::get<IPAddressBlocks::IPAddressChoice<V>>
    - std::move
    - value
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: "void populate_validation_map(uint32_t afam,\n                             const
      IPAddressBlocks::IPAddressFamily::AddrChoice& choice,\n                             IPValidationMap<V>&
      map)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: safi
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1117,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1118,1
    - Dst: safi
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1118,1
    - Dst: addr_choice
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1121,1
    - Dst: std::holds_alternative<IPAddressBlocks::IPAddressChoice<IPv4>>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1122,1
    - Dst: Botan::Cert_Extension::populate_validation_map
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1123,1
    - Dst: Botan::Cert_Extension::populate_validation_map
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1125,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' addr_blocks'
    argTypes:
    - std::vector<IPAddressBlocks::IPAddressFamily>
    constantsTouched: []
    func_position:
      end: 1130
      start: 1110
    functionDepth: 2
    functionLinenumber: 1110
    functionLinenumberEnd: 1130
    functionName: Botan::Cert_Extension::create_validation_map
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - addr_choice
    - Botan::Cert_Extension::populate_validation_map
    - static_cast<uint32_t>
    - std::make_pair
    - std::holds_alternative<IPAddressBlocks::IPAddressChoice<IPv4>>
    - safi
    linkageType: ''
    returnType: std::pair<IPValidationMap<IPv4>, IPValidationMap<IPv6>>
    signature: "std::pair<IPValidationMap<IPv4>, IPValidationMap<IPv6>> create_validation_map(\n
      \  const std::vector<IPAddressBlocks::IPAddressFamily>& addr_blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sort_and_merge_ranges<IPAddressOrRange<V>>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ranges
    argTypes:
    - std::optional<std::span<const IPAddressBlocks::IPAddressOrRange<V>>>
    constantsTouched: []
    func_position:
      end: 1138
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1138
    functionName: "IPAddressBlocks::IPAddressChoice<V>::IPAddressChoice(\n   std::optional<std::span<const
      IPAddressBlocks::IPAddressOrRange<V>>> ranges)"
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - sort_and_merge_ranges<IPAddressOrRange<V>>
    linkageType: ''
    returnType: void
    signature: "void IPAddressBlocks::IPAddressChoice<V>::IPAddressChoice(\n   std::optional<std::span<const
      IPAddressBlocks::IPAddressOrRange<V>>> ranges)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1142,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1143,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1143,1
    - Dst: encode_null
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' into'
    argTypes:
    - Botan::DER_Encoder
    constantsTouched: []
    func_position:
      end: 1147
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1147
    functionName: IPAddressBlocks::IPAddressChoice<V>::encode_into(Botan::DER_Encoder&
      into) const
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    - encode_null
    - has_value
    - value
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks::IPAddressChoice<V>::encode_into(Botan::DER_Encoder&
      into) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peek_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1151,1
    - Dst: decode_null
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1154,1
    - Dst: decode_list
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1158,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1161,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1161,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - Botan::BER_Decoder
    constantsTouched: []
    func_position:
      end: 1163
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1163
    functionName: IPAddressBlocks::IPAddressChoice<V>::decode_from(Botan::BER_Decoder&
      from)
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - decode_null
    - fmt
    - static_cast<uint32_t>
    - decode_list
    - peek_next_object
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks::IPAddressChoice<V>::decode_from(Botan::BER_Decoder&
      from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1183,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1184,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1220,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1232,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1243,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1244,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1245,1
    - Dst: add_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1248,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1258,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1267,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1268,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1269,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1272,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1273,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1274,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1277,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 1
    argNames:
    - ' into'
    argTypes:
    - Botan::DER_Encoder
    constantsTouched: []
    func_position:
      end: 1282
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1282
    functionName: IPAddressBlocks::IPAddressOrRange<V>::encode_into(Botan::DER_Encoder&
      into) const
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - start_sequence
    - std::vector::push_back
    - value
    - add_object
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks::IPAddressOrRange<V>::encode_into(Botan::DER_Encoder&
      into) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peek_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1288,1
    - Dst: decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1295,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1298,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1298,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1299,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1300,1
    - Dst: std::vector::erase
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1306,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1306,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1308,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1309,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1313,1
    - Dst: IPAddress<V>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1316,1
    - Dst: IPAddress<V>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1327,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1334,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1342,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1342,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1343,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1344,1
    - Dst: std::vector::erase
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1349,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1349,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1351,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1352,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1358,1
    - Dst: IPAddress<V>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1361,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1365,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1365,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1366,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1367,1
    - Dst: std::vector::erase
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1372,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1372,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1375,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1376,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1382,1
    - Dst: IPAddress<V>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1390,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1393,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1396,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1396,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1396,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 55
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - Botan::BER_Decoder
    constantsTouched: []
    func_position:
      end: 1398
      start: 1285
    functionDepth: 1
    functionLinenumber: 1285
    functionLinenumberEnd: 1398
    functionName: IPAddressBlocks::IPAddressOrRange<V>::decode_from(Botan::BER_Decoder&
      from)
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::empty
    - decode
    - fmt
    - std::vector::begin
    - start_sequence
    - static_cast<uint32_t>
    - IPAddress<V>
    - peek_next_object
    - std::vector::erase
    - Decoding_Error
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks::IPAddressOrRange<V>::decode_from(Botan::BER_Decoder&
      from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1402,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 1409
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1409
    functionName: IPAddressBlocks::IPAddress<V>::IPAddress(std::span<uint8_t> v)
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks::IPAddress<V>::IPAddress(std::span<uint8_t> v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1419,1
    - Dst: std::any_of
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1423,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1423,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1423,1
    - Dst: validate_root_cert_ext
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1429,1
    - Dst: validate_root_cert_ext
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1429,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1430,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1436,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1436,1
    - Dst: auto::v3_extensions
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1437,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1440,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1446,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1446,1
    - Dst: count
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1450,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1451,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1456,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1457,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1458,1
    - Dst: validate_subject_in_issuer
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1462,1
    - Dst: std::span
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1462,1
    - Dst: std::span
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1462,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1463,1
    - Dst: validate_against_issuer
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1472,1
    - Dst: validate_against_issuer
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1472,1
    - Dst: std::all_of
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1479,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1479,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1479,1
    - Dst: validate_no_checks_left
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1486,1
    - Dst: validate_no_checks_left
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1486,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 3
    argNames:
    - ' cert_path'
    - ' cert_status'
    - pos
    argTypes:
    - std::vector<X509_Certificate>
    - std::vector<std::set<Certificate_Status_Code>>
    - size_t
    constantsTouched: []
    func_position:
      end: 1491
      start: 1411
    functionDepth: 1
    functionLinenumber: 1411
    functionLinenumberEnd: 1491
    functionName: Botan::Cert_Extension::IPAddressBlocks::validate
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - std::span
    - begin
    - at
    - validate_root_cert_ext
    - size
    - validate_subject_in_issuer
    - std::any_of
    - end
    - auto::v3_extensions
    - validate_no_checks_left
    - validate_against_issuer
    - count
    - std::all_of
    linkageType: ''
    returnType: void
    signature: "void IPAddressBlocks::validate(const X509_Certificate& /* unused */,\n
      \                              const X509_Certificate& /* unused */,\n                               const
      std::vector<X509_Certificate>& cert_path,\n                               std::vector<std::set<Certificate_Status_Code>>&
      cert_status,\n                               size_t pos)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1504
    functionName: Botan::Cert_Extension::ASBlocks::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ASBlocks::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 1508
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1508
    functionName: Botan::Cert_Extension::ASBlocks::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void ASBlocks::decode_inner(const std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1511,1
    - Dst: has_value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1513,1
    - Dst: start_explicit
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1514,1
    - Dst: encode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1515,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1515,1
    - Dst: end_explicit
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1516,1
    - Dst: has_value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1519,1
    - Dst: start_explicit
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1520,1
    - Dst: encode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1521,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1521,1
    - Dst: end_explicit
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1522,1
    - Dst: end_cons
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' into'
    argTypes:
    - Botan::DER_Encoder
    constantsTouched: []
    func_position:
      end: 1526
      start: 1510
    functionDepth: 1
    functionLinenumber: 1510
    functionLinenumberEnd: 1526
    functionName: ASBlocks::ASIdentifiers::encode_into(Botan::DER_Encoder& into) const
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - end_explicit
    - start_sequence
    - end_cons
    - encode
    - has_value
    - value
    - start_explicit
    linkageType: ''
    returnType: void
    signature: void ASBlocks::ASIdentifiers::encode_into(Botan::DER_Encoder& into)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peek_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1529,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1531,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1531,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1531,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1534,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1536,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1541,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1543,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1546,1
    - Dst: BER_Object::type_tag
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1547,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1548,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1549,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1551,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1554,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1554,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1554,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1560,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1562,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1564,1
    - Dst: BER_Object::type_tag
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1565,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1567,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1568,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1568,1
    - Dst: BER_Decoder::end_cons
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1572,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - Botan::BER_Decoder
    constantsTouched: []
    func_position:
      end: 1573
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1573
    functionName: ASBlocks::ASIdentifiers::decode_from(Botan::BER_Decoder& from)
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder::get_next_object
    - BER_Decoder
    - start_sequence
    - fmt
    - static_cast<uint32_t>
    - peek_next_object
    - BER_Decoder::end_cons
    - Decoding_Error
    - BER_Object::type_tag
    - BER_Decoder::decode
    linkageType: ''
    returnType: void
    signature: void ASBlocks::ASIdentifiers::decode_from(Botan::BER_Decoder& from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1576,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1577,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1577,1
    - Dst: encode_null
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' into'
    argTypes:
    - Botan::DER_Encoder
    constantsTouched: []
    func_position:
      end: 1581
      start: 1575
    functionDepth: 1
    functionLinenumber: 1575
    functionLinenumberEnd: 1581
    functionName: ASBlocks::ASIdentifierChoice::encode_into(Botan::DER_Encoder& into)
      const
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    - encode_null
    - has_value
    - value
    linkageType: ''
    returnType: void
    signature: void ASBlocks::ASIdentifierChoice::encode_into(Botan::DER_Encoder&
      into) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sort_and_merge_ranges<ASIdOrRange>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ranges'
    argTypes:
    - std::optional<std::vector<ASIdOrRange>>
    constantsTouched: []
    func_position:
      end: 1585
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1585
    functionName: ASBlocks::ASIdentifierChoice::ASIdentifierChoice(const std::optional<std::vector<ASIdOrRange>>&
      ranges)
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - sort_and_merge_ranges<ASIdOrRange>
    linkageType: ''
    returnType: void
    signature: void ASBlocks::ASIdentifierChoice::ASIdentifierChoice(const std::optional<std::vector<ASIdOrRange>>&
      ranges)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peek_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1588,1
    - Dst: decode_list
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1594,1
    - Dst: sort_and_merge_ranges<ASIdOrRange>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1596,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1598,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1598,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - Botan::BER_Decoder
    constantsTouched: []
    func_position:
      end: 1600
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1600
    functionName: ASBlocks::ASIdentifierChoice::decode_from(Botan::BER_Decoder& from)
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - static_cast<uint32_t>
    - sort_and_merge_ranges<ASIdOrRange>
    - decode_list
    - peek_next_object
    - Decoding_Error
    linkageType: ''
    returnType: void
    signature: void ASBlocks::ASIdentifierChoice::decode_from(Botan::BER_Decoder&
      from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1604,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1604,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1607,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1609,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1609,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' into'
    argTypes:
    - Botan::DER_Encoder
    constantsTouched: []
    func_position:
      end: 1611
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1611
    functionName: ASBlocks::ASIdOrRange::encode_into(Botan::DER_Encoder& into) const
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    - Encoding_Error
    - encode
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void ASBlocks::ASIdOrRange::encode_into(Botan::DER_Encoder& into) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peek_next_object
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1614,1
    - Dst: decode
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1620,1
    - Dst: checked_cast_to<asnum_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1621,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1624,1
    - Dst: checked_cast_to<asnum_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1625,1
    - Dst: checked_cast_to<asnum_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1626,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1628,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1628,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 1630
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1630
    functionName: ASBlocks::ASIdOrRange::decode_from(BER_Decoder& from)
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - decode
    - start_sequence
    - fmt
    - static_cast<uint32_t>
    - peek_next_object
    - Decoding_Error
    - checked_cast_to<asnum_t>
    linkageType: ''
    returnType: void
    signature: void ASBlocks::ASIdOrRange::decode_from(BER_Decoder& from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1642,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1645,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1648,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1654,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1654,1
    - Dst: auto::v3_extensions
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1655,1
    - Dst: ASBlocks*::as_identifiers
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1657,1
    - Dst: ASBlocks*::as_identifiers
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1658,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1659,1
    - Dst: ASBlocks*::as_identifiers
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1662,1
    - Dst: auto::asnum
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1665,1
    - Dst: asnum
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1666,1
    - Dst: auto::asnum
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1667,1
    - Dst: validate_subject_in_issuer<ASBlocks::ASIdOrRange>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1669,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1670,1
    - Dst: auto::rdi
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1677,1
    - Dst: rdi
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1678,1
    - Dst: auto::rdi
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1679,1
    - Dst: validate_subject_in_issuer<ASBlocks::ASIdOrRange>
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1681,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1682,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    argCount: 3
    argNames:
    - ' cert_path'
    - ' cert_status'
    - pos
    argTypes:
    - std::vector<X509_Certificate>
    - std::vector<std::set<Certificate_Status_Code>>
    - size_t
    constantsTouched: []
    func_position:
      end: 1694
      start: 1632
    functionDepth: 1
    functionLinenumber: 1632
    functionLinenumberEnd: 1694
    functionName: Botan::Cert_Extension::ASBlocks::validate
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - ASBlocks*::as_identifiers
    - BOTAN_ASSERT_NOMSG
    - begin
    - at
    - size
    - end
    - auto::v3_extensions
    - auto::asnum
    - validate_subject_in_issuer<ASBlocks::ASIdOrRange>
    - auto::rdi
    - rdi
    - asnum
    linkageType: ''
    returnType: void
    signature: "void ASBlocks::validate(const X509_Certificate& /* unused */,\n                        const
      X509_Certificate& /* unused */,\n                        const std::vector<X509_Certificate>&
      cert_path,\n                        std::vector<std::set<Certificate_Status_Code>>&
      cert_status,\n                        size_t pos)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509_ext.cpp:1697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 1698
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1698
    functionName: Botan::Cert_Extension::OCSP_NoCheck::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    linkageType: ''
    returnType: void
    signature: void OCSP_NoCheck::decode_inner(const std::vector<uint8_t>& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1702
    functionName: Botan::Cert_Extension::Unknown_Extension::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Unknown_Extension::encode_inner() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bytes'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 1707
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1707
    functionName: Botan::Cert_Extension::Unknown_Extension::decode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unknown_Extension::decode_inner(const std::vector<uint8_t>& bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 143
    functionName: Botan::X509_Object
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PKCS10_Request
    signature: PKCS10_Request X509_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: Botan::X509_Object
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_Object(const X509_Object&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>
      Src: /src/botan/src/lib/x509/x509_obj.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Botan::alternate_PEM_labels
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.h
    functionUses: 0
    functionsReached:
    - std::vector<std::string>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> alternate_PEM_labels() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: ~X509_Object() override
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~X509_Object() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_CA_cert
      Src: /src/botan/src/lib/x509/x509_ca.cpp:28,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509_ca.cpp:29,1
    - Dst: Botan::X509_Object::choose_sig_format
      Src: /src/botan/src/lib/x509/x509_ca.cpp:32,1
    - Dst: algorithm_identifier
      Src: /src/botan/src/lib/x509/x509_ca.cpp:33,1
    - Dst: hash_function
      Src: /src/botan/src/lib/x509/x509_ca.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - ' cert'
    - ' key'
    - hash_fn
    - padding_method
    - ' rng'
    argTypes:
    - X509_Certificate
    - Private_Key
    - std::string_view
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: Botan::X509_CA::X509_CA
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 1
    functionsReached:
    - is_CA_cert
    - hash_function
    - algorithm_identifier
    - Botan::X509_Object::choose_sig_format
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: "void X509_CA::X509_CA(const X509_Certificate& cert,\n                 const
      Private_Key& key,\n                 std::string_view hash_fn,\n                 std::string_view
      padding_method,\n                 RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::X509_CA::X509_CA
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_CA::X509_CA(X509_CA&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: X509_CA::~X509_CA()
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_CA::~X509_CA()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_CA
      Src: /src/botan/src/lib/x509/x509_ca.cpp:45,1
    - Dst: Key_Constraints::ca_constraints
      Src: /src/botan/src/lib/x509/x509_ca.cpp:45,1
    - Dst: constraints
      Src: /src/botan/src/lib/x509/x509_ca.cpp:45,1
    - Dst: subject_public_key
      Src: /src/botan/src/lib/x509/x509_ca.cpp:47,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/lib/x509/x509_ca.cpp:48,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509_ca.cpp:49,1
    - Dst: extensions
      Src: /src/botan/src/lib/x509/x509_ca.cpp:52,1
    - Dst: Extensions::replace
      Src: /src/botan/src/lib/x509/x509_ca.cpp:54,1
    - Dst: std::make_unique<Cert_Extension::Basic_Constraints>
      Src: /src/botan/src/lib/x509/x509_ca.cpp:54,1
    - Dst: is_CA
      Src: /src/botan/src/lib/x509/x509_ca.cpp:54,1
    - Dst: path_limit
      Src: /src/botan/src/lib/x509/x509_ca.cpp:54,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/x509/x509_ca.cpp:56,1
    - Dst: Extensions::replace
      Src: /src/botan/src/lib/x509/x509_ca.cpp:57,1
    - Dst: std::make_unique<Cert_Extension::Key_Usage>
      Src: /src/botan/src/lib/x509/x509_ca.cpp:57,1
    - Dst: Extensions::replace
      Src: /src/botan/src/lib/x509/x509_ca.cpp:60,1
    - Dst: std::make_unique<Cert_Extension::Authority_Key_ID>
      Src: /src/botan/src/lib/x509/x509_ca.cpp:60,1
    - Dst: subject_key_id
      Src: /src/botan/src/lib/x509/x509_ca.cpp:60,1
    - Dst: Extensions::replace
      Src: /src/botan/src/lib/x509/x509_ca.cpp:61,1
    - Dst: std::make_unique<Cert_Extension::Subject_Key_ID>
      Src: /src/botan/src/lib/x509/x509_ca.cpp:61,1
    - Dst: raw_public_key
      Src: /src/botan/src/lib/x509/x509_ca.cpp:61,1
    - Dst: Extensions::replace
      Src: /src/botan/src/lib/x509/x509_ca.cpp:63,1
    - Dst: std::make_unique<Cert_Extension::Subject_Alternative_Name>
      Src: /src/botan/src/lib/x509/x509_ca.cpp:63,1
    - Dst: subject_alt_name
      Src: /src/botan/src/lib/x509/x509_ca.cpp:63,1
    - Dst: Extensions::replace
      Src: /src/botan/src/lib/x509/x509_ca.cpp:65,1
    - Dst: std::make_unique<Cert_Extension::Extended_Key_Usage>
      Src: /src/botan/src/lib/x509/x509_ca.cpp:65,1
    - Dst: ex_constraints
      Src: /src/botan/src/lib/x509/x509_ca.cpp:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' req'
    - ' ca_cert'
    - hash_fn
    argTypes:
    - PKCS10_Request
    - X509_Certificate
    - std::string_view
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: Botan::X509_CA::choose_extensions
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 0
    functionsReached:
    - constraints
    - std::make_unique<Cert_Extension::Key_Usage>
    - subject_key_id
    - auto::compatible_with
    - is_CA
    - Invalid_Argument
    - extensions
    - ex_constraints
    - std::make_unique<Cert_Extension::Basic_Constraints>
    - Extensions::replace
    - std::make_unique<Cert_Extension::Authority_Key_ID>
    - subject_public_key
    - std::make_unique<Cert_Extension::Subject_Key_ID>
    - Key_Constraints::ca_constraints
    - raw_public_key
    - std::make_unique<Cert_Extension::Subject_Alternative_Name>
    - path_limit
    - subject_alt_name
    - auto::empty
    - std::make_unique<Cert_Extension::Extended_Key_Usage>
    linkageType: ''
    returnType: Extensions
    signature: "Extensions X509_CA::choose_extensions(const PKCS10_Request& req,\n
      \                                     const X509_Certificate& ca_cert,\n                                      std::string_view
      hash_fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_CA::choose_extensions
      Src: /src/botan/src/lib/x509/x509_ca.cpp:75,1
    - Dst: Botan::X509_CA::make_cert
      Src: /src/botan/src/lib/x509/x509_ca.cpp:77,1
    - Dst: algorithm_identifier
      Src: /src/botan/src/lib/x509/x509_ca.cpp:80,1
    - Dst: raw_public_key
      Src: /src/botan/src/lib/x509/x509_ca.cpp:81,1
    - Dst: ca_certificate
      Src: /src/botan/src/lib/x509/x509_ca.cpp:84,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/x509_ca.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' req'
    - ' rng'
    - ' serial_number'
    - ' not_before'
    - ' not_after'
    argTypes:
    - PKCS10_Request
    - RandomNumberGenerator
    - BigInt
    - X509_Time
    - X509_Time
    constantsTouched: []
    func_position:
      end: 87
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 87
    functionName: Botan::X509_CA::sign_request
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 10
    functionsReached:
    - Botan::X509_CA::make_cert
    - Botan::X509_CA::choose_extensions
    - raw_public_key
    - algorithm_identifier
    - ca_certificate
    - subject_dn
    linkageType: ''
    returnType: X509_Certificate
    signature: "X509_Certificate X509_CA::sign_request(const PKCS10_Request& req,\n
      \                                      RandomNumberGenerator& rng,\n                                       const
      BigInt& serial_number,\n                                       const X509_Time&
      not_before,\n                                       const X509_Time& not_after)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_CA::choose_extensions
      Src: /src/botan/src/lib/x509/x509_ca.cpp:96,1
    - Dst: Botan::X509_CA::make_cert
      Src: /src/botan/src/lib/x509/x509_ca.cpp:98,1
    - Dst: algorithm_identifier
      Src: /src/botan/src/lib/x509/x509_ca.cpp:100,1
    - Dst: raw_public_key
      Src: /src/botan/src/lib/x509/x509_ca.cpp:101,1
    - Dst: ca_certificate
      Src: /src/botan/src/lib/x509/x509_ca.cpp:104,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/x509_ca.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' req'
    - ' rng'
    - ' not_before'
    - ' not_after'
    argTypes:
    - PKCS10_Request
    - RandomNumberGenerator
    - X509_Time
    - X509_Time
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: Botan::X509_CA::sign_request
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 10
    functionsReached:
    - Botan::X509_CA::make_cert
    - Botan::X509_CA::choose_extensions
    - raw_public_key
    - algorithm_identifier
    - ca_certificate
    - subject_dn
    linkageType: ''
    returnType: X509_Certificate
    signature: "X509_Certificate X509_CA::sign_request(const PKCS10_Request& req,\n
      \                                      RandomNumberGenerator& rng,\n                                       const
      X509_Time& not_before,\n                                       const X509_Time&
      not_after) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_CA::make_cert
      Src: /src/botan/src/lib/x509/x509_ca.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ' signer'
    - ' rng'
    - ' sig_algo'
    - ' pub_key'
    - ' not_before'
    - ' not_after'
    - ' issuer_dn'
    - ' subject_dn'
    - ' extensions'
    argTypes:
    - PK_Signer
    - RandomNumberGenerator
    - AlgorithmIdentifier
    - std::vector<uint8_t>
    - X509_Time
    - X509_Time
    - X509_DN
    - X509_DN
    - Extensions
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: Botan::X509_CA::make_cert
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 3
    functionsReached:
    - Botan::X509_CA::make_cert
    linkageType: ''
    returnType: X509_Certificate
    signature: "X509_Certificate X509_CA::make_cert(PK_Signer& signer,\n                                    RandomNumberGenerator&
      rng,\n                                    const AlgorithmIdentifier& sig_algo,\n
      \                                   const std::vector<uint8_t>& pub_key,\n                                    const
      X509_Time& not_before,\n                                    const X509_Time&
      not_after,\n                                    const X509_DN& issuer_dn,\n
      \                                   const X509_DN& subject_dn,\n                                    const
      Extensions& extensions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_Certificate
      Src: /src/botan/src/lib/x509/x509_ca.cpp:141,1
    - Dst: Botan::X509_Object::make_signed
      Src: /src/botan/src/lib/x509/x509_ca.cpp:141,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ca.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - ' signer'
    - ' rng'
    - ' serial_no'
    - ' sig_algo'
    - ' pub_key'
    - ' not_before'
    - ' not_after'
    - ' issuer_dn'
    - ' subject_dn'
    - ' extensions'
    argTypes:
    - PK_Signer
    - RandomNumberGenerator
    - BigInt
    - AlgorithmIdentifier
    - std::vector<uint8_t>
    - X509_Time
    - X509_Time
    - X509_DN
    - X509_DN
    - Extensions
    constantsTouched: []
    func_position:
      end: 170
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 170
    functionName: Botan::X509_CA::make_cert
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 3
    functionsReached:
    - X509_Certificate
    - Botan::X509_Object::make_signed
    - DER_Encoder
    linkageType: ''
    returnType: X509_Certificate
    signature: "X509_Certificate X509_CA::make_cert(PK_Signer& signer,\n                                    RandomNumberGenerator&
      rng,\n                                    const BigInt& serial_no,\n                                    const
      AlgorithmIdentifier& sig_algo,\n                                    const std::vector<uint8_t>&
      pub_key,\n                                    const X509_Time& not_before,\n
      \                                   const X509_Time& not_after,\n                                    const
      X509_DN& issuer_dn,\n                                    const X509_DN& subject_dn,\n
      \                                   const Extensions& extensions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_CA::new_crl
      Src: /src/botan/src/lib/x509/x509_ca.cpp:176,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/x509/x509_ca.cpp:176,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/lib/x509/x509_ca.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - next_update
    argTypes:
    - RandomNumberGenerator
    - uint32_t
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: Botan::X509_CA::new_crl
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 5
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - Botan_CLI::Timer::seconds
    - Botan::X509_CA::new_crl
    linkageType: ''
    returnType: X509_CRL
    signature: X509_CRL X509_CA::new_crl(RandomNumberGenerator& rng, uint32_t next_update)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_CA::update_crl
      Src: /src/botan/src/lib/x509/x509_ca.cpp:186,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/x509/x509_ca.cpp:186,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/lib/x509/x509_ca.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' crl'
    - ' new_revoked'
    - ' rng'
    - next_update
    argTypes:
    - X509_CRL
    - std::vector<CRL_Entry>
    - RandomNumberGenerator
    - uint32_t
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: Botan::X509_CA::update_crl
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 2
    functionsReached:
    - Botan::X509_CA::update_crl
    - Botan::TLS::detail::AsyncBase::complete_now
    - Botan_CLI::Timer::seconds
    linkageType: ''
    returnType: X509_CRL
    signature: "X509_CRL X509_CA::update_crl(const X509_CRL& crl,\n                             const
      std::vector<CRL_Entry>& new_revoked,\n                             RandomNumberGenerator&
      rng,\n                             uint32_t next_update) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_CA::make_crl
      Src: /src/botan/src/lib/x509/x509_ca.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' rng'
    - issue_time
    - next_update
    argTypes:
    - RandomNumberGenerator
    - std::chrono::system_clock::time_point
    - std::chrono::seconds
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: Botan::X509_CA::new_crl
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 5
    functionsReached:
    - Botan::X509_CA::make_crl
    linkageType: ''
    returnType: X509_CRL
    signature: "X509_CRL X509_CA::new_crl(RandomNumberGenerator& rng,\n                          std::chrono::system_clock::time_point
      issue_time,\n                          std::chrono::seconds next_update) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_revoked
      Src: /src/botan/src/lib/x509/x509_ca.cpp:201,1
    - Dst: copy
      Src: /src/botan/src/lib/x509/x509_ca.cpp:203,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/x509_ca.cpp:203,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509_ca.cpp:203,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/x509/x509_ca.cpp:203,1
    - Dst: Botan::X509_CA::make_crl
      Src: /src/botan/src/lib/x509/x509_ca.cpp:205,1
    - Dst: crl_number
      Src: /src/botan/src/lib/x509/x509_ca.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' last_crl'
    - ' new_revoked'
    - ' rng'
    - issue_time
    - next_update
    argTypes:
    - X509_CRL
    - std::vector<CRL_Entry>
    - RandomNumberGenerator
    - std::chrono::system_clock::time_point
    - std::chrono::seconds
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: Botan::X509_CA::update_crl
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 2
    functionsReached:
    - copy
    - begin
    - std::back_inserter
    - crl_number
    - end
    - get_revoked
    - Botan::X509_CA::make_crl
    linkageType: ''
    returnType: X509_CRL
    signature: "X509_CRL X509_CA::update_crl(const X509_CRL& last_crl,\n                             const
      std::vector<CRL_Entry>& new_revoked,\n                             RandomNumberGenerator&
      rng,\n                             std::chrono::system_clock::time_point issue_time,\n
      \                            std::chrono::seconds next_update) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Extensions::add
      Src: /src/botan/src/lib/x509/x509_ca.cpp:221,1
    - Dst: std::make_unique<Cert_Extension::Authority_Key_ID>
      Src: /src/botan/src/lib/x509/x509_ca.cpp:221,1
    - Dst: subject_key_id
      Src: /src/botan/src/lib/x509/x509_ca.cpp:221,1
    - Dst: Extensions::add
      Src: /src/botan/src/lib/x509/x509_ca.cpp:222,1
    - Dst: std::make_unique<Cert_Extension::CRL_Number>
      Src: /src/botan/src/lib/x509/x509_ca.cpp:222,1
    - Dst: Botan::X509_Object::make_signed
      Src: /src/botan/src/lib/x509/x509_ca.cpp:225,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ca.cpp:227,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/x509_ca.cpp:230,1
    - Dst: X509_Time
      Src: /src/botan/src/lib/x509/x509_ca.cpp:231,1
    - Dst: X509_Time
      Src: /src/botan/src/lib/x509/x509_ca.cpp:232,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ca.cpp:233,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_ca.cpp:234,1
    - Dst: X509_CRL
      Src: /src/botan/src/lib/x509/x509_ca.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ' revoked'
    - crl_number
    - ' rng'
    - issue_time
    - next_update
    argTypes:
    - std::vector<CRL_Entry>
    - uint32_t
    - RandomNumberGenerator
    - std::chrono::system_clock::time_point
    - std::chrono::seconds
    constantsTouched: []
    func_position:
      end: 249
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 249
    functionName: Botan::X509_CA::make_crl
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.cpp
    functionUses: 2
    functionsReached:
    - Extensions::add
    - X509_CRL
    - std::make_unique<Cert_Extension::Authority_Key_ID>
    - DER_Encoder
    - std::make_unique<Cert_Extension::CRL_Number>
    - X509_Time
    - subject_key_id
    - empty
    - subject_dn
    - Botan::X509_Object::make_signed
    linkageType: ''
    returnType: X509_CRL
    signature: "X509_CRL X509_CA::make_crl(const std::vector<CRL_Entry>& revoked,\n
      \                          uint32_t crl_number,\n                           RandomNumberGenerator&
      rng,\n                           std::chrono::system_clock::time_point issue_time,\n
      \                          std::chrono::seconds next_update) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Botan::X509_Certificate::PEM_label
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X509_Certificate::PEM_label() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: Botan::X509_Certificate::alternate_PEM_labels
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> X509_Certificate::alternate_PEM_labels() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/botan/src/lib/x509/x509cert.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' src'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: Botan::X509_Certificate::X509_Certificate
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 1
    functionsReached:
    - load_data
    linkageType: ''
    returnType: void
    signature: void X509_Certificate::X509_Certificate(DataSource& src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:84,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509cert.cpp:84,1
    - Dst: load_data
      Src: /src/botan/src/lib/x509/x509cert.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: Botan::X509_Certificate::X509_Certificate
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 1
    functionsReached:
    - data
    - size
    - load_data
    linkageType: ''
    returnType: void
    signature: void X509_Certificate::X509_Certificate(const std::vector<uint8_t>&
      vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/botan/src/lib/x509/x509cert.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: Botan::X509_Certificate::X509_Certificate
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 1
    functionsReached:
    - load_data
    linkageType: ''
    returnType: void
    signature: void X509_Certificate::X509_Certificate(const uint8_t data[], size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/botan/src/lib/x509/x509cert.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fsname
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: Botan::X509_Certificate::X509_Certificate
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 1
    functionsReached:
    - load_data
    linkageType: ''
    returnType: void
    signature: void X509_Certificate::X509_Certificate(std::string_view fsname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<X509_Certificate_Data>
      Src: /src/botan/src/lib/x509/x509cert.cpp:103,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509cert.cpp:109,1
    - Dst: signed_body
      Src: /src/botan/src/lib/x509/x509cert.cpp:109,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/x509cert.cpp:110,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/x509/x509cert.cpp:126,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/x509/x509cert.cpp:126,1
    - Dst: signature_algorithm
      Src: /src/botan/src/lib/x509/x509cert.cpp:128,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/x509/x509cert.cpp:129,1
    - Dst: BER_Object::assert_is_a
      Src: /src/botan/src/lib/x509/x509cert.cpp:132,1
    - Dst: BigInt::serialize
      Src: /src/botan/src/lib/x509/x509cert.cpp:137,1
    - Dst: BigInt::is_negative
      Src: /src/botan/src/lib/x509/x509cert.cpp:139,1
    - Dst: Botan::ASN1::put_in_sequence
      Src: /src/botan/src/lib/x509/x509cert.cpp:140,1
    - Dst: auto::m_subject_dn::get_bits
      Src: /src/botan/src/lib/x509/x509cert.cpp:140,1
    - Dst: Botan::ASN1::put_in_sequence
      Src: /src/botan/src/lib/x509/x509cert.cpp:141,1
    - Dst: auto::m_issuer_dn::get_bits
      Src: /src/botan/src/lib/x509/x509cert.cpp:141,1
    - Dst: auto::m_subject_public_key_bits::assign
      Src: /src/botan/src/lib/x509/x509cert.cpp:143,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/x509/x509cert.cpp:143,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/x509/x509cert.cpp:143,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/x509cert.cpp:143,1
    - Dst: Botan::ASN1::put_in_sequence
      Src: /src/botan/src/lib/x509/x509cert.cpp:145,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509cert.cpp:147,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/x509cert.cpp:151,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/x509cert.cpp:153,1
    - Dst: BER_Object::is_set
      Src: /src/botan/src/lib/x509/x509cert.cpp:154,1
    - Dst: BER_Bad_Tag
      Src: /src/botan/src/lib/x509/x509cert.cpp:155,1
    - Dst: BER_Object::tagging
      Src: /src/botan/src/lib/x509/x509cert.cpp:155,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:159,1
    - Dst: auto::get_constraints
      Src: /src/botan/src/lib/x509/x509cert.cpp:160,1
    - Dst: auto::m_key_constraints::empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:165,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/x509/x509cert.cpp:166,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:170,1
    - Dst: auto::get_key_id
      Src: /src/botan/src/lib/x509/x509cert.cpp:171,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:174,1
    - Dst: auto::get_key_id
      Src: /src/botan/src/lib/x509/x509cert.cpp:175,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:178,1
    - Dst: auto::get_name_constraints
      Src: /src/botan/src/lib/x509/x509cert.cpp:179,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:182,1
    - Dst: auto::object_identifiers
      Src: /src/botan/src/lib/x509/x509cert.cpp:183,1
    - Dst: auto::m_extended_key_usage::empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:195,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/x509/x509cert.cpp:196,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:200,1
    - Dst: auto::get_is_ca
      Src: /src/botan/src/lib/x509/x509cert.cpp:201,1
    - Dst: auto::get_path_limit
      Src: /src/botan/src/lib/x509/x509cert.cpp:240,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:245,1
    - Dst: auto::get_alt_name
      Src: /src/botan/src/lib/x509/x509cert.cpp:246,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:249,1
    - Dst: auto::get_alt_name
      Src: /src/botan/src/lib/x509/x509cert.cpp:250,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509cert.cpp:256,1
    - Dst: auto::m_v3_extensions::extension_set
      Src: /src/botan/src/lib/x509/x509cert.cpp:257,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:259,1
    - Dst: auto::get_policy_oids
      Src: /src/botan/src/lib/x509/x509cert.cpp:260,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:263,1
    - Dst: auto::ocsp_responder
      Src: /src/botan/src/lib/x509/x509cert.cpp:264,1
    - Dst: auto::ca_issuers
      Src: /src/botan/src/lib/x509/x509cert.cpp:265,1
    - Dst: auto::m_v3_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509cert.cpp:268,1
    - Dst: auto::crl_distribution_urls
      Src: /src/botan/src/lib/x509/x509cert.cpp:269,1
    - Dst: auto::m_subject_key_id::empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:274,1
    - Dst: auto::m_authority_key_id::empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:274,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/lib/x509/x509cert.cpp:285,1
    - Dst: Botan::verify_signature
      Src: /src/botan/src/lib/x509/x509cert.cpp:287,1
    - Dst: BER_encode
      Src: /src/botan/src/lib/x509/x509cert.cpp:301,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/x509/x509cert.cpp:303,1
    - Dst: auto::update
      Src: /src/botan/src/lib/x509/x509cert.cpp:304,1
    - Dst: auto::final_stdvec
      Src: /src/botan/src/lib/x509/x509cert.cpp:305,1
    - Dst: Botan::create_hex_fingerprint
      Src: /src/botan/src/lib/x509/x509cert.cpp:308,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/x509/x509cert.cpp:311,1
    - Dst: auto::update
      Src: /src/botan/src/lib/x509/x509cert.cpp:312,1
    - Dst: auto::final_stdvec
      Src: /src/botan/src/lib/x509/x509cert.cpp:313,1
    - Dst: auto::update
      Src: /src/botan/src/lib/x509/x509cert.cpp:315,1
    - Dst: auto::final_stdvec
      Src: /src/botan/src/lib/x509/x509cert.cpp:316,1
    - Dst: Botan::create_hex_fingerprint
      Src: /src/botan/src/lib/x509/x509cert.cpp:318,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 106
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - X509_Object
    constantsTouched: []
    func_position:
      end: 322
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 322
    functionName: Botan::parse_x509_cert_body
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - BER_Object::tagging
    - BER_encode
    - auto::m_issuer_dn::get_bits
    - auto::get_is_ca
    - BER_Object::is_a
    - auto::get_constraints
    - auto::m_subject_public_key_bits::assign
    - BER_Decoder
    - BigInt::serialize
    - auto::update
    - auto::crl_distribution_urls
    - Botan::to_string
    - Botan::create_hex_fingerprint
    - auto::m_authority_key_id::empty
    - BER_Bad_Tag
    - BER_Object::bits
    - Botan::Decoding_Error
    - auto::object_identifiers
    - auto::ocsp_responder
    - signed_body
    - BigInt::is_negative
    - signature_algorithm
    - auto::get_path_limit
    - auto::final_stdvec
    - Botan::ASN1::put_in_sequence
    - BER_Object::length
    - BER_Object::assert_is_a
    - auto::get_policy_oids
    - auto::get_key_id
    - auto::m_subject_key_id::empty
    - Botan::verify_signature
    - auto::m_subject_dn::get_bits
    - auto::m_v3_extensions::extension_set
    - auto::ca_issuers
    - Botan::X509::load_key
    - std::make_unique<X509_Certificate_Data>
    - auto::get_alt_name
    - Botan::HashFunction::create
    - BER_Object::is_set
    - auto::m_key_constraints::empty
    - auto::m_extended_key_usage::empty
    - auto::get_name_constraints
    - Botan::OID::from_string
    - ASN1_Type
    - auto::m_v3_extensions::get_extension_object_as
    linkageType: ''
    returnType: std::unique_ptr<X509_Certificate_Data>
    signature: std::unique_ptr<X509_Certificate_Data> parse_x509_cert_body(const X509_Object&
      obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/x509/x509cert.cpp:330,1
    - Dst: parse_x509_cert_body
      Src: /src/botan/src/lib/x509/x509cert.cpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: Botan::X509_Certificate::force_decode
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - parse_x509_cert_body
    - reset
    linkageType: ''
    returnType: void
    signature: void X509_Certificate::force_decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/x509/x509cert.cpp:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: '& X509_Certificate::data() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: X509_Certificate_Data
    signature: X509_Certificate_Data & X509_Certificate::data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509cert.cpp:342,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: Botan::X509_Certificate::x509_version
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 2
    functionsReached:
    - data
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t X509_Certificate::x509_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: Botan::X509_Certificate::is_self_signed
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::is_self_signed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: '& X509_Certificate::not_before() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: X509_Time
    signature: X509_Time & X509_Certificate::not_before() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: '& X509_Certificate::not_after() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: X509_Time
    signature: X509_Time & X509_Certificate::not_after() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: '& X509_Certificate::subject_public_key_algo() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier & X509_Certificate::subject_public_key_algo() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: '& X509_Certificate::v2_issuer_key_id() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::v2_issuer_key_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: '& X509_Certificate::v2_subject_key_id() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::v2_subject_key_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: '& X509_Certificate::subject_public_key_bits() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::subject_public_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 375
    functionName: '& X509_Certificate::subject_public_key_info() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::subject_public_key_info()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: '& X509_Certificate::subject_public_key_bitstring() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::subject_public_key_bitstring()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:382,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:382,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/x509/x509cert.cpp:383,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 387
    functionName: '& X509_Certificate::subject_public_key_bitstring_sha1() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - empty
    - data
    - Encoding_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::subject_public_key_bitstring_sha1()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: '& X509_Certificate::authority_key_id() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::authority_key_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: '& X509_Certificate::subject_key_id() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::subject_key_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: '& X509_Certificate::serial_number() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::serial_number() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: Botan::X509_Certificate::is_serial_negative
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::is_serial_negative() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp: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: '& X509_Certificate::issuer_dn() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: X509_DN
    signature: X509_DN & X509_Certificate::issuer_dn() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: '& X509_Certificate::subject_dn() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: X509_DN
    signature: X509_DN & X509_Certificate::subject_dn() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: '& X509_Certificate::raw_issuer_dn() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::raw_issuer_dn() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 419
    functionName: '& X509_Certificate::raw_subject_dn() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_Certificate::raw_subject_dn() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:422,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:422,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 427
    functionName: Botan::X509_Certificate::is_CA_cert
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::is_CA_cert() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:430,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:430,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509cert.cpp:434,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: Botan::X509_Certificate::path_limit
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t X509_Certificate::path_limit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: Botan::X509_Certificate::constraints
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 1
    functionsReached:
    - data
    linkageType: ''
    returnType: Key_Constraints
    signature: Key_Constraints X509_Certificate::constraints() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: '& X509_Certificate::extended_key_usage() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<OID>
    signature: std::vector<OID> & X509_Certificate::extended_key_usage() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 447
    functionName: '& X509_Certificate::certificate_policy_oids() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<OID>
    signature: std::vector<OID> & X509_Certificate::certificate_policy_oids() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: '& X509_Certificate::name_constraints() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: NameConstraints
    signature: NameConstraints & X509_Certificate::name_constraints() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: '& X509_Certificate::v3_extensions() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: Extensions
    signature: Extensions & X509_Certificate::v3_extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate::constraints
      Src: /src/botan/src/lib/x509/x509cert.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - usage
    argTypes:
    - Key_Constraints
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: Botan::X509_Certificate::has_constraints
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate::constraints
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::has_constraints(Key_Constraints usage) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate::constraints
      Src: /src/botan/src/lib/x509/x509cert.cpp:463,1
    - Dst: Botan::X509_Certificate::constraints
      Src: /src/botan/src/lib/x509/x509cert.cpp:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - usage
    argTypes:
    - Key_Constraints
    constantsTouched: []
    func_position:
      end: 467
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 467
    functionName: Botan::X509_Certificate::allowed_usage
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 1
    functionsReached:
    - Botan::X509_Certificate::constraints
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::allowed_usage(Key_Constraints usage) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate::allowed_extended_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:470,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509cert.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - usage
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 471
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 471
    functionName: Botan::X509_Certificate::allowed_extended_usage
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 1
    functionsReached:
    - Botan::OID::from_string
    - Botan::X509_Certificate::allowed_extended_usage
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::allowed_extended_usage(std::string_view usage)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extended_key_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:474,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:475,1
    - Dst: find
      Src: /src/botan/src/lib/x509/x509cert.cpp:479,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/x509cert.cpp:479,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509cert.cpp:479,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509cert.cpp:479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' usage'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 484
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 484
    functionName: Botan::X509_Certificate::allowed_extended_usage
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 1
    functionsReached:
    - begin
    - end
    - empty
    - find
    - extended_key_usage
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::allowed_extended_usage(const OID& usage) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:494,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:494,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:495,1
    - Dst: Botan::X509_Certificate::allowed_extended_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:496,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:499,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:499,1
    - Dst: Botan::X509_Certificate::allowed_extended_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:500,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:503,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:503,1
    - Dst: Botan::X509_Certificate::has_ex_constraint
      Src: /src/botan/src/lib/x509/x509cert.cpp:504,1
    - Dst: Botan::X509_Certificate::is_CA_cert
      Src: /src/botan/src/lib/x509/x509cert.cpp:507,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:510,1
    - Dst: Botan::X509_Certificate::allowed_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:510,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - usage
    argTypes:
    - Usage_Type
    constantsTouched: []
    func_position:
      end: 514
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 514
    functionName: Botan::X509_Certificate::allowed_usage
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 2
    functionsReached:
    - Botan::X509_Certificate::allowed_usage
    - Botan::X509_Certificate::has_ex_constraint
    - Botan::X509_Certificate::allowed_extended_usage
    - Botan::X509_Certificate::is_CA_cert
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::allowed_usage(Usage_Type usage) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate::has_ex_constraint
      Src: /src/botan/src/lib/x509/x509cert.cpp:517,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509cert.cpp:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ex_constraint
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: Botan::X509_Certificate::has_ex_constraint
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 3
    functionsReached:
    - Botan::OID::from_string
    - Botan::X509_Certificate::has_ex_constraint
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::has_ex_constraint(std::string_view ex_constraint)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extended_key_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:521,1
    - Dst: find
      Src: /src/botan/src/lib/x509/x509cert.cpp:522,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/x509cert.cpp:522,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509cert.cpp:522,1
    - Dst: end
      Src: /src/botan/src/lib/x509/x509cert.cpp:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' usage'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 523
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 523
    functionName: Botan::X509_Certificate::has_ex_constraint
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 3
    functionsReached:
    - begin
    - end
    - find
    - extended_key_usage
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::has_ex_constraint(const OID& usage) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: v3_extensions
      Src: /src/botan/src/lib/x509/x509cert.cpp:529,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509cert.cpp:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ex_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 530
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 530
    functionName: Botan::X509_Certificate::is_critical
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - v3_extensions
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::is_critical(std::string_view ex_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 534
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 534
    functionName: Botan::X509_Certificate::ocsp_responder
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 2
    functionsReached:
    - data
    linkageType: ''
    returnType: std::string
    signature: std::string X509_Certificate::ocsp_responder() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 538
    functionName: Botan::X509_Certificate::ca_issuers
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 2
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> X509_Certificate::ca_issuers() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 542
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 542
    functionName: Botan::X509_Certificate::crl_distribution_points
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> X509_Certificate::crl_distribution_points()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:546,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:546,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 550
    functionName: Botan::X509_Certificate::crl_distribution_point
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - empty
    - data
    linkageType: ''
    returnType: std::string
    signature: std::string X509_Certificate::crl_distribution_point() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 554
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 554
    functionName: '& X509_Certificate::subject_alt_name() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: AlternativeName
    signature: AlternativeName & X509_Certificate::subject_alt_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 558
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 558
    functionName: '& X509_Certificate::issuer_alt_name() const'
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: AlternativeName
    signature: AlternativeName & X509_Certificate::issuer_alt_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::begin
      Src: /src/botan/src/lib/x509/x509cert.cpp:563,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/x509/x509cert.cpp:563,1
    - Dst: has_field
      Src: /src/botan/src/lib/x509/x509cert.cpp:565,1
    - Dst: get_attribute
      Src: /src/botan/src/lib/x509/x509cert.cpp:566,1
    - Dst: set_to_vector
      Src: /src/botan/src/lib/x509/x509cert.cpp:568,1
    - Dst: email
      Src: /src/botan/src/lib/x509/x509cert.cpp:568,1
    - Dst: set_to_vector
      Src: /src/botan/src/lib/x509/x509cert.cpp:570,1
    - Dst: dns
      Src: /src/botan/src/lib/x509/x509cert.cpp:570,1
    - Dst: set_to_vector
      Src: /src/botan/src/lib/x509/x509cert.cpp:572,1
    - Dst: uris
      Src: /src/botan/src/lib/x509/x509cert.cpp:572,1
    - Dst: ipv4_address
      Src: /src/botan/src/lib/x509/x509cert.cpp:575,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509cert.cpp:576,1
    - Dst: Botan::ipv4_to_string
      Src: /src/botan/src/lib/x509/x509cert.cpp:576,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - req
    - ' dn'
    - ' alt_name'
    argTypes:
    - std::string_view
    - X509_DN
    - AlternativeName
    constantsTouched: []
    func_position:
      end: 582
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 582
    functionName: Botan::get_cert_user_info
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - Botan::begin
    - dns
    - uris
    - email
    - ipv4_address
    - get_attribute
    - std::vector::push_back
    - has_field
    - Botan::ipv4_to_string
    - Botan::end
    - set_to_vector
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> get_cert_user_info(std::string_view req, const
      X509_DN& dn, const AlternativeName& alt_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cert_user_info
      Src: /src/botan/src/lib/x509/x509cert.cpp:590,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/x509cert.cpp:590,1
    - Dst: subject_alt_name
      Src: /src/botan/src/lib/x509/x509cert.cpp:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 591
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 591
    functionName: Botan::X509_Certificate::subject_info
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - subject_alt_name
    - get_cert_user_info
    - subject_dn
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> X509_Certificate::subject_info(std::string_view
      req) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cert_user_info
      Src: /src/botan/src/lib/x509/x509cert.cpp:597,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/x509cert.cpp:597,1
    - Dst: issuer_alt_name
      Src: /src/botan/src/lib/x509/x509cert.cpp:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 598
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 598
    functionName: Botan::X509_Certificate::issuer_info
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - get_cert_user_info
    - issuer_dn
    - issuer_alt_name
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> X509_Certificate::issuer_info(std::string_view
      req) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Public_Key>
      Src: /src/botan/src/lib/x509/x509cert.cpp:605,1
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/lib/x509/x509cert.cpp:605,1
    - Dst: subject_public_key_info
      Src: /src/botan/src/lib/x509/x509cert.cpp:605,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509cert.cpp:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 609
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 609
    functionName: Botan::X509_Certificate::subject_public_key
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 4
    functionsReached:
    - subject_public_key_info
    - Botan::X509::load_key
    - Decoding_Error
    - std::unique_ptr<Public_Key>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> X509_Certificate::subject_public_key()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate::subject_public_key
      Src: /src/botan/src/lib/x509/x509cert.cpp:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 613
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 613
    functionName: Botan::X509_Certificate::load_subject_public_key
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate::subject_public_key
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> X509_Certificate::load_subject_public_key()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:616,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:616,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/x509/x509cert.cpp:617,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 620
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 620
    functionName: Botan::X509_Certificate::raw_issuer_dn_sha256
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 1
    functionsReached:
    - empty
    - data
    - Encoding_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X509_Certificate::raw_issuer_dn_sha256() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:623,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:623,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/x509/x509cert.cpp:624,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 627
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 627
    functionName: Botan::X509_Certificate::raw_subject_dn_sha256
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 1
    functionsReached:
    - empty
    - data
    - Encoding_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X509_Certificate::raw_subject_dn_sha256() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:639,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:639,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:640,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:641,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:641,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:642,1
    - Dst: create_hex_fingerprint
      Src: /src/botan/src/lib/x509/x509cert.cpp:644,1
    - Dst: Botan::X509_Certificate::BER_encode
      Src: /src/botan/src/lib/x509/x509cert.cpp:644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - hash_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 646
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 646
    functionName: Botan::X509_Certificate::fingerprint
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 2
    functionsReached:
    - create_hex_fingerprint
    - empty
    - data
    - Botan::X509_Certificate::BER_encode
    linkageType: ''
    returnType: std::string
    signature: std::string X509_Certificate::fingerprint(std::string_view hash_name)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:649,1
    - Dst: string_to_ipv4
      Src: /src/botan/src/lib/x509/x509cert.cpp:653,1
    - Dst: subject_alt_name
      Src: /src/botan/src/lib/x509/x509cert.cpp:654,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/x509cert.cpp:655,1
    - Dst: auto::value
      Src: /src/botan/src/lib/x509/x509cert.cpp:655,1
    - Dst: Botan::X509_Certificate::subject_info
      Src: /src/botan/src/lib/x509/x509cert.cpp:657,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509cert.cpp:660,1
    - Dst: Botan::X509_Certificate::subject_info
      Src: /src/botan/src/lib/x509/x509cert.cpp:661,1
    - Dst: host_wildcard_match
      Src: /src/botan/src/lib/x509/x509cert.cpp:665,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 672
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 672
    functionName: Botan::X509_Certificate::matches_dns_name
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - contains
    - auto::value
    - Botan::X509_Certificate::subject_info
    - data
    - std::string_view::empty
    - subject_alt_name
    - host_wildcard_match
    - string_to_ipv4
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::matches_dns_name(std::string_view name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_Certificate::signature
      Src: /src/botan/src/lib/x509/x509cert.cpp:678,1
    - Dst: signature
      Src: /src/botan/src/lib/x509/x509cert.cpp:678,1
    - Dst: X509_Certificate::signature_algorithm
      Src: /src/botan/src/lib/x509/x509cert.cpp:678,1
    - Dst: signature_algorithm
      Src: /src/botan/src/lib/x509/x509cert.cpp:678,1
    - Dst: X509_Certificate::signed_body
      Src: /src/botan/src/lib/x509/x509cert.cpp:679,1
    - Dst: signed_body
      Src: /src/botan/src/lib/x509/x509cert.cpp:679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 680
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 680
    functionName: X509_Certificate::operator==(const X509_Certificate& other) const
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - X509_Certificate::signature_algorithm
    - signed_body
    - signature_algorithm
    - X509_Certificate::signed_body
    - X509_Certificate::signature
    - signature
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::operator==(const X509_Certificate& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_Certificate::signature
      Src: /src/botan/src/lib/x509/x509cert.cpp:684,1
    - Dst: signature
      Src: /src/botan/src/lib/x509/x509cert.cpp:684,1
    - Dst: X509_Certificate::signature
      Src: /src/botan/src/lib/x509/x509cert.cpp:685,1
    - Dst: signature
      Src: /src/botan/src/lib/x509/x509cert.cpp:685,1
    - Dst: X509_Certificate::signed_body
      Src: /src/botan/src/lib/x509/x509cert.cpp:689,1
    - Dst: signed_body
      Src: /src/botan/src/lib/x509/x509cert.cpp:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 690
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 690
    functionName: X509_Certificate::operator<(const X509_Certificate& other) const
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached:
    - signed_body
    - X509_Certificate::signed_body
    - X509_Certificate::signature
    - signature
    linkageType: ''
    returnType: bool
    signature: bool X509_Certificate::operator<(const X509_Certificate& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cert1'
    - ' cert2'
    argTypes:
    - X509_Certificate
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 697
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 697
    functionName: operator!=(const X509_Certificate& cert1, const X509_Certificate&
      cert2)
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const X509_Certificate& cert1, const X509_Certificate&
      cert2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate::x509_version
      Src: /src/botan/src/lib/x509/x509cert.cpp:702,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/x509cert.cpp:703,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/x509cert.cpp:704,1
    - Dst: Botan::X509_Certificate::not_before
      Src: /src/botan/src/lib/x509/x509cert.cpp:705,1
    - Dst: Botan::X509_Certificate::not_after
      Src: /src/botan/src/lib/x509/x509cert.cpp:706,1
    - Dst: Botan::X509_Certificate::subject_public_key
      Src: /src/botan/src/lib/x509/x509cert.cpp:709,1
    - Dst: auto::algo_name
      Src: /src/botan/src/lib/x509/x509cert.cpp:710,1
    - Dst: auto::key_length
      Src: /src/botan/src/lib/x509/x509cert.cpp:710,1
    - Dst: Botan::X509::PEM_encode
      Src: /src/botan/src/lib/x509/x509cert.cpp:711,1
    - Dst: Botan::X509_Certificate::subject_public_key_algo
      Src: /src/botan/src/lib/x509/x509cert.cpp:713,1
    - Dst: oid
      Src: /src/botan/src/lib/x509/x509cert.cpp:715,1
    - Dst: what
      Src: /src/botan/src/lib/x509/x509cert.cpp:716,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/x509/x509cert.cpp:717,1
    - Dst: Botan::X509_Certificate::subject_public_key_bitstring
      Src: /src/botan/src/lib/x509/x509cert.cpp:717,1
    - Dst: Botan::X509_Certificate::constraints
      Src: /src/botan/src/lib/x509/x509cert.cpp:721,1
    - Dst: Key_Constraints::empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:722,1
    - Dst: Key_Constraints::includes
      Src: /src/botan/src/lib/x509/x509cert.cpp:725,1
    - Dst: Key_Constraints::includes
      Src: /src/botan/src/lib/x509/x509cert.cpp:728,1
    - Dst: Key_Constraints::includes
      Src: /src/botan/src/lib/x509/x509cert.cpp:731,1
    - Dst: Key_Constraints::includes
      Src: /src/botan/src/lib/x509/x509cert.cpp:734,1
    - Dst: Key_Constraints::includes
      Src: /src/botan/src/lib/x509/x509cert.cpp:737,1
    - Dst: Key_Constraints::includes
      Src: /src/botan/src/lib/x509/x509cert.cpp:740,1
    - Dst: Key_Constraints::includes
      Src: /src/botan/src/lib/x509/x509cert.cpp:743,1
    - Dst: Key_Constraints::includes
      Src: /src/botan/src/lib/x509/x509cert.cpp:746,1
    - Dst: Key_Constraints::includes
      Src: /src/botan/src/lib/x509/x509cert.cpp:749,1
    - Dst: Botan::X509_Certificate::certificate_policy_oids
      Src: /src/botan/src/lib/x509/x509cert.cpp:754,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:755,1
    - Dst: Botan::X509_Certificate::to_string
      Src: /src/botan/src/lib/x509/x509cert.cpp:759,1
    - Dst: Botan::X509_Certificate::extended_key_usage
      Src: /src/botan/src/lib/x509/x509cert.cpp:763,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:764,1
    - Dst: to_formatted_string
      Src: /src/botan/src/lib/x509/x509cert.cpp:767,1
    - Dst: Botan::X509_Certificate::name_constraints
      Src: /src/botan/src/lib/x509/x509cert.cpp:771,1
    - Dst: permitted
      Src: /src/botan/src/lib/x509/x509cert.cpp:773,1
    - Dst: excluded
      Src: /src/botan/src/lib/x509/x509cert.cpp:773,1
    - Dst: permitted
      Src: /src/botan/src/lib/x509/x509cert.cpp:776,1
    - Dst: permitted
      Src: /src/botan/src/lib/x509/x509cert.cpp:778,1
    - Dst: base
      Src: /src/botan/src/lib/x509/x509cert.cpp:779,1
    - Dst: excluded
      Src: /src/botan/src/lib/x509/x509cert.cpp:784,1
    - Dst: excluded
      Src: /src/botan/src/lib/x509/x509cert.cpp:786,1
    - Dst: base
      Src: /src/botan/src/lib/x509/x509cert.cpp:787,1
    - Dst: Botan::X509_Certificate::ocsp_responder
      Src: /src/botan/src/lib/x509/x509cert.cpp:793,1
    - Dst: Botan::X509_Certificate::ocsp_responder
      Src: /src/botan/src/lib/x509/x509cert.cpp:794,1
    - Dst: Botan::X509_Certificate::ca_issuers
      Src: /src/botan/src/lib/x509/x509cert.cpp:797,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509cert.cpp:798,1
    - Dst: Botan::X509_Certificate::crl_distribution_points
      Src: /src/botan/src/lib/x509/x509cert.cpp:805,1
    - Dst: Botan::X509_Certificate::signature_algorithm
      Src: /src/botan/src/lib/x509/x509cert.cpp:809,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/x509/x509cert.cpp:811,1
    - Dst: Botan::X509_Certificate::serial_number
      Src: /src/botan/src/lib/x509/x509cert.cpp:811,1
    - Dst: Botan::X509_Certificate::authority_key_id
      Src: /src/botan/src/lib/x509/x509cert.cpp:813,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/x509/x509cert.cpp:814,1
    - Dst: Botan::X509_Certificate::authority_key_id
      Src: /src/botan/src/lib/x509/x509cert.cpp:814,1
    - Dst: Botan::X509_Certificate::subject_key_id
      Src: /src/botan/src/lib/x509/x509cert.cpp:817,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/x509/x509cert.cpp:818,1
    - Dst: Botan::X509_Certificate::subject_key_id
      Src: /src/botan/src/lib/x509/x509cert.cpp:818,1
    - Dst: Botan::X509_Certificate::is_self_signed
      Src: /src/botan/src/lib/x509/x509cert.cpp:821,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/x509/x509cert.cpp:825,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 826
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 826
    functionName: Botan::X509_Certificate::to_string
    functionSourceFile: /src/botan/src/lib/x509/x509cert.cpp
    functionUses: 2
    functionsReached:
    - Botan::X509_Certificate::signature_algorithm
    - excluded
    - Botan::X509::PEM_encode
    - Key_Constraints::includes
    - Botan::X509_Certificate::not_before
    - Botan::X509_Certificate::authority_key_id
    - Botan::X509_Certificate::subject_public_key
    - what
    - hex_encode
    - std::vector::empty
    - Botan::X509_Certificate::not_after
    - Botan::X509_Certificate::certificate_policy_oids
    - Botan::X509_Certificate::constraints
    - base
    - Botan::X509_Certificate::x509_version
    - Botan::X509_Certificate::ocsp_responder
    - Botan::X509_Certificate::extended_key_usage
    - empty
    - Botan::X509_Certificate::subject_key_id
    - issuer_dn
    - auto::algo_name
    - Botan::X509_Certificate::name_constraints
    - Botan::X509_Certificate::crl_distribution_points
    - Botan::X509_Certificate::is_self_signed
    - auto::key_length
    - std::ostringstream::str
    - Botan::X509_Certificate::to_string
    - Botan::X509_Certificate::serial_number
    - to_formatted_string
    - Botan::X509_Certificate::ca_issuers
    - Key_Constraints::empty
    - subject_dn
    - Botan::X509_Certificate::subject_public_key_bitstring
    - Botan::X509_Certificate::subject_public_key_algo
    - permitted
    - oid
    linkageType: ''
    returnType: std::string
    signature: std::string X509_Certificate::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/x509/name_constraint.cpp:27,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/x509/name_constraint.cpp:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 43
    functionName: Botan::GeneralName::type
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - Encoding_Error
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: std::string
    signature: std::string GeneralName::type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::get<RFC822_IDX>
      Src: /src/botan/src/lib/x509/name_constraint.cpp:49,1
    - Dst: std::get<DNS_IDX>
      Src: /src/botan/src/lib/x509/name_constraint.cpp:51,1
    - Dst: std::get<URI_IDX>
      Src: /src/botan/src/lib/x509/name_constraint.cpp:53,1
    - Dst: std::get<DN_IDX>
      Src: /src/botan/src/lib/x509/name_constraint.cpp:55,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/name_constraint.cpp:58,1
    - Dst: ipv4_to_string
      Src: /src/botan/src/lib/x509/name_constraint.cpp:58,1
    - Dst: ipv4_to_string
      Src: /src/botan/src/lib/x509/name_constraint.cpp:58,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/x509/name_constraint.cpp:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: Botan::GeneralName::name
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - std::get<URI_IDX>
    - fmt
    - ipv4_to_string
    - std::get<DN_IDX>
    - std::get<DNS_IDX>
    - std::get<RFC822_IDX>
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: std::string
    signature: std::string GeneralName::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/name_constraint.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: Botan::GeneralName::encode_into
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void GeneralName::encode_into(DER_Encoder& /*to*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/x509/name_constraint.cpp:69,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/name_constraint.cpp:71,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/name_constraint.cpp:73,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/name_constraint.cpp:75,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/x509/name_constraint.cpp:75,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/name_constraint.cpp:76,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/name_constraint.cpp:80,1
    - Dst: tolower_string
      Src: /src/botan/src/lib/x509/name_constraint.cpp:80,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/x509/name_constraint.cpp:80,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/name_constraint.cpp:81,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/name_constraint.cpp:83,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/x509/name_constraint.cpp:83,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/name_constraint.cpp:84,1
    - Dst: X509_DN::decode_from
      Src: /src/botan/src/lib/x509/name_constraint.cpp:87,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/name_constraint.cpp:89,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/name_constraint.cpp:90,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/name_constraint.cpp:91,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/name_constraint.cpp:96,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/name_constraint.cpp:96,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/name_constraint.cpp:97,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/name_constraint.cpp:101,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/x509/name_constraint.cpp:101,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/name_constraint.cpp:101,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - ' ber'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 106
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 106
    functionName: Botan::GeneralName::decode_from
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - get_next_object
    - X509_DN::decode_from
    - Botan::ASN1::to_string
    - std::to_string
    - BER_Object::is_a
    - tolower_string
    - BER_Object::length
    - Decoding_Error
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void GeneralName::decode_from(BER_Decoder& ber)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::get<DNS_IDX>
      Src: /src/botan/src/lib/x509/name_constraint.cpp:110,1
    - Dst: Botan::GeneralName::matches_dns
      Src: /src/botan/src/lib/x509/name_constraint.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dns_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: Botan::GeneralName::matches_dns
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 1
    functionsReached:
    - Botan::GeneralName::matches_dns
    - std::get<DNS_IDX>
    linkageType: ''
    returnType: bool
    signature: bool GeneralName::matches_dns(const std::string& dns_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ip
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: Botan::GeneralName::matches_ipv4
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeneralName::matches_ipv4(uint32_t ip) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::get<DN_IDX>
      Src: /src/botan/src/lib/x509/name_constraint.cpp:126,1
    - Dst: Botan::GeneralName::matches_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dn'
    argTypes:
    - X509_DN
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: Botan::GeneralName::matches_dn
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 1
    functionsReached:
    - std::get<DN_IDX>
    - Botan::GeneralName::matches_dn
    linkageType: ''
    returnType: bool
    signature: bool GeneralName::matches_dn(const X509_DN& dn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:161,1
    - Dst: subject_alt_name
      Src: /src/botan/src/lib/x509/name_constraint.cpp:162,1
    - Dst: std::get<DNS_IDX>
      Src: /src/botan/src/lib/x509/name_constraint.cpp:167,1
    - Dst: dns
      Src: /src/botan/src/lib/x509/name_constraint.cpp:169,1
    - Dst: MatchScore::add
      Src: /src/botan/src/lib/x509/name_constraint.cpp:172,1
    - Dst: Botan::GeneralName::matches_dns
      Src: /src/botan/src/lib/x509/name_constraint.cpp:172,1
    - Dst: count
      Src: /src/botan/src/lib/x509/name_constraint.cpp:175,1
    - Dst: get_attribute
      Src: /src/botan/src/lib/x509/name_constraint.cpp:177,1
    - Dst: string_to_ipv4
      Src: /src/botan/src/lib/x509/name_constraint.cpp:178,1
    - Dst: MatchScore::add
      Src: /src/botan/src/lib/x509/name_constraint.cpp:179,1
    - Dst: Botan::GeneralName::matches_dns
      Src: /src/botan/src/lib/x509/name_constraint.cpp:179,1
    - Dst: std::get<DN_IDX>
      Src: /src/botan/src/lib/x509/name_constraint.cpp:184,1
    - Dst: MatchScore::add
      Src: /src/botan/src/lib/x509/name_constraint.cpp:185,1
    - Dst: Botan::GeneralName::matches_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:185,1
    - Dst: directory_names
      Src: /src/botan/src/lib/x509/name_constraint.cpp:187,1
    - Dst: MatchScore::add
      Src: /src/botan/src/lib/x509/name_constraint.cpp:188,1
    - Dst: Botan::GeneralName::matches_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:188,1
    - Dst: count
      Src: /src/botan/src/lib/x509/name_constraint.cpp:193,1
    - Dst: get_attribute
      Src: /src/botan/src/lib/x509/name_constraint.cpp:195,1
    - Dst: string_to_ipv4
      Src: /src/botan/src/lib/x509/name_constraint.cpp:196,1
    - Dst: MatchScore::add
      Src: /src/botan/src/lib/x509/name_constraint.cpp:198,1
    - Dst: ipv4_address
      Src: /src/botan/src/lib/x509/name_constraint.cpp:202,1
    - Dst: MatchScore::add
      Src: /src/botan/src/lib/x509/name_constraint.cpp:204,1
    - Dst: MatchScore::result
      Src: /src/botan/src/lib/x509/name_constraint.cpp:212,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 213
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 213
    functionName: Botan::GeneralName::matches
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - dns
    - string_to_ipv4
    - directory_names
    - ipv4_address
    - MatchScore::result
    - Botan::GeneralName::matches_dns
    - get_attribute
    - std::get<DN_IDX>
    - Botan::GeneralName::matches_dn
    - subject_dn
    - std::get<DNS_IDX>
    - subject_alt_name
    - count
    - MatchScore::add
    linkageType: ''
    returnType: GeneralName::MatchResult
    signature: GeneralName::MatchResult GeneralName::matches(const X509_Certificate&
      cert) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:218,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:218,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:220,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:220,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/name_constraint.cpp:224,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:224,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:224,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/name_constraint.cpp:226,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/x509/name_constraint.cpp:230,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:230,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:230,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:230,1
    - Dst: std::string_view::front
      Src: /src/botan/src/lib/x509/name_constraint.cpp:232,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/x509/name_constraint.cpp:235,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:237,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/x509/name_constraint.cpp:237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - name
    - constraint
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 240
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 240
    functionName: Botan::GeneralName::matches_dns
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - std::string_view::front
    - std::string_view::empty
    - std::string_view::size
    - std::string_view::substr
    linkageType: ''
    returnType: bool
    signature: bool GeneralName::matches_dns(std::string_view name, std::string_view
      constraint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_attributes
      Src: /src/botan/src/lib/x509/name_constraint.cpp:244,1
    - Dst: dn_info
      Src: /src/botan/src/lib/x509/name_constraint.cpp:248,1
    - Dst: auto::equal_range
      Src: /src/botan/src/lib/x509/name_constraint.cpp:249,1
    - Dst: second::value
      Src: /src/botan/src/lib/x509/name_constraint.cpp:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ' name'
    - ' constraint'
    argTypes:
    - X509_DN
    - X509_DN
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: Botan::GeneralName::matches_dn
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 2
    functionsReached:
    - dn_info
    - auto::equal_range
    - second::value
    - get_attributes
    linkageType: ''
    returnType: bool
    signature: bool GeneralName::matches_dn(const X509_DN& name, const X509_DN& constraint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/botan/src/lib/x509/name_constraint.cpp:261,1
    - Dst: name
      Src: /src/botan/src/lib/x509/name_constraint.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' gn'
    argTypes:
    - std::ostream
    - GeneralName
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: '& operator<<(std::ostream& os, const GeneralName& gn)'
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - type
    - name
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const GeneralName& gn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: Botan::GeneralSubtree::GeneralSubtree
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeneralSubtree::GeneralSubtree()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/name_constraint.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: Botan::GeneralSubtree::encode_into
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void GeneralSubtree::encode_into(DER_Encoder& /*to*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/name_constraint.cpp:274,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/name_constraint.cpp:276,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/name_constraint.cpp:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' ber'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 282
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 282
    functionName: Botan::GeneralSubtree::decode_from
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    - Decoding_Error
    - ASN1_Type
    linkageType: ''
    returnType: void
    signature: void GeneralSubtree::decode_from(BER_Decoder& ber)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/botan/src/lib/x509/name_constraint.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' gs'
    argTypes:
    - std::ostream
    - GeneralSubtree
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: '& operator<<(std::ostream& os, const GeneralSubtree& gs)'
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - base
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const GeneralSubtree& gs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/x509/name_constraint.cpp:291,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/name_constraint.cpp:291,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/name_constraint.cpp:293,1
    - Dst: base
      Src: /src/botan/src/lib/x509/name_constraint.cpp:293,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/name_constraint.cpp:296,1
    - Dst: base
      Src: /src/botan/src/lib/x509/name_constraint.cpp:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ' permitted_subtrees'
    - ' excluded_subtrees'
    argTypes:
    - std::vector<GeneralSubtree>
    - std::vector<GeneralSubtree>
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: Botan::NameConstraints::NameConstraints
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - base
    - std::move
    - insert
    linkageType: ''
    returnType: void
    signature: "void NameConstraints::NameConstraints(std::vector<GeneralSubtree>&&
      permitted_subtrees,\n                                 std::vector<GeneralSubtree>&&
      excluded_subtrees)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::checked_add
      Src: /src/botan/src/lib/x509/name_constraint.cpp:309,1
    - Dst: Botan::checked_mul
      Src: /src/botan/src/lib/x509/name_constraint.cpp:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - dn_count
    - alt_count
    - constraint_count
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 317
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 317
    functionName: Botan::exceeds_limit
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - Botan::checked_mul
    - Botan::checked_add
    linkageType: ''
    returnType: bool
    signature: bool exceeds_limit(size_t dn_count, size_t alt_count, size_t constraint_count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: permitted
      Src: /src/botan/src/lib/x509/name_constraint.cpp:322,1
    - Dst: subject_alt_name
      Src: /src/botan/src/lib/x509/name_constraint.cpp:326,1
    - Dst: exceeds_limit
      Src: /src/botan/src/lib/x509/name_constraint.cpp:328,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:328,1
    - Dst: count
      Src: /src/botan/src/lib/x509/name_constraint.cpp:328,1
    - Dst: permitted
      Src: /src/botan/src/lib/x509/name_constraint.cpp:328,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:333,1
    - Dst: other_names
      Src: /src/botan/src/lib/x509/name_constraint.cpp:333,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:336,1
    - Dst: uris
      Src: /src/botan/src/lib/x509/name_constraint.cpp:336,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:339,1
    - Dst: email
      Src: /src/botan/src/lib/x509/name_constraint.cpp:339,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:346,1
    - Dst: base
      Src: /src/botan/src/lib/x509/name_constraint.cpp:351,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/name_constraint.cpp:361,1
    - Dst: starts_with
      Src: /src/botan/src/lib/x509/name_constraint.cpp:361,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:366,1
    - Dst: base
      Src: /src/botan/src/lib/x509/name_constraint.cpp:371,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:382,1
    - Dst: base
      Src: /src/botan/src/lib/x509/name_constraint.cpp:387,1
    - Dst: is_permitted_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:396,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:396,1
    - Dst: directory_names
      Src: /src/botan/src/lib/x509/name_constraint.cpp:400,1
    - Dst: is_permitted_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:401,1
    - Dst: dns
      Src: /src/botan/src/lib/x509/name_constraint.cpp:406,1
    - Dst: is_permitted_dns_name
      Src: /src/botan/src/lib/x509/name_constraint.cpp:407,1
    - Dst: ipv4_address
      Src: /src/botan/src/lib/x509/name_constraint.cpp:412,1
    - Dst: is_permitted_ipv4
      Src: /src/botan/src/lib/x509/name_constraint.cpp:413,1
    - Dst: count
      Src: /src/botan/src/lib/x509/name_constraint.cpp:418,1
    - Dst: subject_info
      Src: /src/botan/src/lib/x509/name_constraint.cpp:419,1
    - Dst: find
      Src: /src/botan/src/lib/x509/name_constraint.cpp:420,1
    - Dst: string_to_ipv4
      Src: /src/botan/src/lib/x509/name_constraint.cpp:421,1
    - Dst: is_permitted_ipv4
      Src: /src/botan/src/lib/x509/name_constraint.cpp:422,1
    - Dst: auto::value
      Src: /src/botan/src/lib/x509/name_constraint.cpp:422,1
    - Dst: is_permitted_dns_name
      Src: /src/botan/src/lib/x509/name_constraint.cpp:426,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 78
    argCount: 2
    argNames:
    - ' cert'
    - reject_unknown
    argTypes:
    - X509_Certificate
    - bool
    constantsTouched: []
    func_position:
      end: 436
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 436
    functionName: Botan::NameConstraints::is_permitted
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - subject_info
    - other_names
    - contains
    - ipv4_address
    - is_permitted_dn
    - string_to_ipv4
    - is_permitted_ipv4
    - directory_names
    - auto::value
    - email
    - starts_with
    - base
    - empty
    - find
    - exceeds_limit
    - dns
    - uris
    - subject_dn
    - permitted
    - subject_alt_name
    - count
    - is_permitted_dns_name
    linkageType: ''
    returnType: bool
    signature: bool NameConstraints::is_permitted(const X509_Certificate& cert, bool
      reject_unknown) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: excluded
      Src: /src/botan/src/lib/x509/name_constraint.cpp:439,1
    - Dst: subject_alt_name
      Src: /src/botan/src/lib/x509/name_constraint.cpp:443,1
    - Dst: exceeds_limit
      Src: /src/botan/src/lib/x509/name_constraint.cpp:445,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:445,1
    - Dst: count
      Src: /src/botan/src/lib/x509/name_constraint.cpp:445,1
    - Dst: excluded
      Src: /src/botan/src/lib/x509/name_constraint.cpp:445,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:452,1
    - Dst: other_names
      Src: /src/botan/src/lib/x509/name_constraint.cpp:452,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:455,1
    - Dst: uris
      Src: /src/botan/src/lib/x509/name_constraint.cpp:455,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:458,1
    - Dst: email
      Src: /src/botan/src/lib/x509/name_constraint.cpp:458,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:465,1
    - Dst: base
      Src: /src/botan/src/lib/x509/name_constraint.cpp:470,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/name_constraint.cpp:480,1
    - Dst: starts_with
      Src: /src/botan/src/lib/x509/name_constraint.cpp:480,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:485,1
    - Dst: base
      Src: /src/botan/src/lib/x509/name_constraint.cpp:490,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/name_constraint.cpp:501,1
    - Dst: base
      Src: /src/botan/src/lib/x509/name_constraint.cpp:506,1
    - Dst: is_excluded_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:515,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:515,1
    - Dst: directory_names
      Src: /src/botan/src/lib/x509/name_constraint.cpp:519,1
    - Dst: is_excluded_dn
      Src: /src/botan/src/lib/x509/name_constraint.cpp:520,1
    - Dst: dns
      Src: /src/botan/src/lib/x509/name_constraint.cpp:525,1
    - Dst: is_excluded_dns_name
      Src: /src/botan/src/lib/x509/name_constraint.cpp:526,1
    - Dst: ipv4_address
      Src: /src/botan/src/lib/x509/name_constraint.cpp:531,1
    - Dst: is_excluded_ipv4
      Src: /src/botan/src/lib/x509/name_constraint.cpp:532,1
    - Dst: count
      Src: /src/botan/src/lib/x509/name_constraint.cpp:537,1
    - Dst: subject_info
      Src: /src/botan/src/lib/x509/name_constraint.cpp:538,1
    - Dst: find
      Src: /src/botan/src/lib/x509/name_constraint.cpp:539,1
    - Dst: string_to_ipv4
      Src: /src/botan/src/lib/x509/name_constraint.cpp:540,1
    - Dst: is_excluded_ipv4
      Src: /src/botan/src/lib/x509/name_constraint.cpp:541,1
    - Dst: auto::value
      Src: /src/botan/src/lib/x509/name_constraint.cpp:541,1
    - Dst: is_excluded_dns_name
      Src: /src/botan/src/lib/x509/name_constraint.cpp:545,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 78
    argCount: 2
    argNames:
    - ' cert'
    - reject_unknown
    argTypes:
    - X509_Certificate
    - bool
    constantsTouched: []
    func_position:
      end: 555
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 555
    functionName: Botan::NameConstraints::is_excluded
    functionSourceFile: /src/botan/src/lib/x509/name_constraint.cpp
    functionUses: 0
    functionsReached:
    - subject_info
    - excluded
    - is_excluded_ipv4
    - other_names
    - contains
    - ipv4_address
    - is_excluded_dn
    - string_to_ipv4
    - directory_names
    - auto::value
    - email
    - starts_with
    - base
    - empty
    - find
    - exceeds_limit
    - dns
    - uris
    - subject_dn
    - is_excluded_dns_name
    - subject_alt_name
    - count
    linkageType: ''
    returnType: bool
    signature: bool NameConstraints::is_excluded(const X509_Certificate& cert, bool
      reject_unknown) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: Certificate_Store::~Certificate_Store()
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Certificate_Store::~Certificate_Store()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_all_certs
      Src: /src/botan/src/lib/x509/certstor.cpp:22,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/x509/certstor.cpp:24,1
    - Dst: auto::front
      Src: /src/botan/src/lib/x509/certstor.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: Botan::Certificate_Store::find_cert
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 0
    functionsReached:
    - find_all_certs
    - auto::front
    - auto::empty
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store::find_cert(const
      X509_DN& subject_dn,\n                                                             const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::Certificate_Store::find_crl_for
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<X509_CRL>
    signature: std::optional<X509_CRL> Certificate_Store::find_crl_for(const X509_Certificate&
      /*unused*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/x509/certstor.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: Botan::Certificate_Store_In_Memory::add_certificate
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 39
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void Certificate_Store_In_Memory::add_certificate(const X509_Certificate&
      cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/x509/certstor.cpp:48,1
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/certstor.cpp:50,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/certstor.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: Botan::Certificate_Store_In_Memory::all_subjects
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::vector::reserve
    - size
    - subject_dn
    linkageType: ''
    returnType: std::vector<X509_DN>
    signature: std::vector<X509_DN> Certificate_Store_In_Memory::all_subjects() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor.cpp:59,1
    - Dst: subject_key_id
      Src: /src/botan/src/lib/x509/certstor.cpp:60,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor.cpp:62,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/certstor.cpp:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 73
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 73
    functionName: Botan::Certificate_Store_In_Memory::find_cert
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 1
    functionsReached:
    - empty
    - subject_key_id
    - subject_dn
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_In_Memory::find_cert(const
      X509_DN& subject_dn,\n                                                                       const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor.cpp:80,1
    - Dst: subject_key_id
      Src: /src/botan/src/lib/x509/certstor.cpp:81,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor.cpp:83,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/certstor.cpp:88,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/certstor.cpp:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: Botan::Certificate_Store_In_Memory::find_all_certs
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 0
    functionsReached:
    - empty
    - subject_key_id
    - subject_dn
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> Certificate_Store_In_Memory::find_all_certs(const
      X509_DN& subject_dn,\n                                                                          const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor.cpp:98,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/certstor.cpp:99,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/x509/certstor.cpp:102,1
    - Dst: auto::update
      Src: /src/botan/src/lib/x509/certstor.cpp:105,1
    - Dst: subject_public_key_bitstring
      Src: /src/botan/src/lib/x509/certstor.cpp:105,1
    - Dst: auto::final_stdvec
      Src: /src/botan/src/lib/x509/certstor.cpp:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' key_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: Botan::Certificate_Store_In_Memory::find_cert_by_pubkey_sha1
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 0
    functionsReached:
    - auto::update
    - Botan::HashFunction::create
    - size
    - auto::final_stdvec
    - subject_public_key_bitstring
    - Invalid_Argument
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_In_Memory::find_cert_by_pubkey_sha1(\n
      \  const std::vector<uint8_t>& key_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor.cpp:116,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/certstor.cpp:117,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/x509/certstor.cpp:120,1
    - Dst: auto::update
      Src: /src/botan/src/lib/x509/certstor.cpp:123,1
    - Dst: raw_subject_dn
      Src: /src/botan/src/lib/x509/certstor.cpp:123,1
    - Dst: auto::final_stdvec
      Src: /src/botan/src/lib/x509/certstor.cpp:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' subject_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: Botan::Certificate_Store_In_Memory::find_cert_by_raw_subject_dn_sha256
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 1
    functionsReached:
    - raw_subject_dn
    - auto::update
    - Botan::HashFunction::create
    - size
    - auto::final_stdvec
    - Invalid_Argument
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_In_Memory::find_cert_by_raw_subject_dn_sha256(\n
      \  const std::vector<uint8_t>& subject_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/certstor.cpp:133,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/certstor.cpp:137,1
    - Dst: this_update
      Src: /src/botan/src/lib/x509/certstor.cpp:138,1
    - Dst: this_update
      Src: /src/botan/src/lib/x509/certstor.cpp:138,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/certstor.cpp:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' crl'
    argTypes:
    - X509_CRL
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: Botan::Certificate_Store_In_Memory::add_crl
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 4
    functionsReached:
    - push_back
    - issuer_dn
    - this_update
    linkageType: ''
    returnType: void
    signature: void Certificate_Store_In_Memory::add_crl(const X509_CRL& crl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: authority_key_id
      Src: /src/botan/src/lib/x509/certstor.cpp:150,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor.cpp:154,1
    - Dst: authority_key_id
      Src: /src/botan/src/lib/x509/certstor.cpp:155,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor.cpp:157,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/certstor.cpp:162,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/certstor.cpp:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' subject'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 168
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 168
    functionName: Botan::Certificate_Store_In_Memory::find_crl_for
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 0
    functionsReached:
    - empty
    - issuer_dn
    - authority_key_id
    linkageType: ''
    returnType: std::optional<X509_CRL>
    signature: std::optional<X509_CRL> Certificate_Store_In_Memory::find_crl_for(const
      X509_Certificate& subject) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/lib/x509/certstor.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 40
    functionsReached:
    - Botan::Certificate_Store_In_Memory::add_certificate
    linkageType: ''
    returnType: void
    signature: void Certificate_Store_In_Memory::Certificate_Store_In_Memory(const
      X509_Certificate& cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/certstor.cpp:176,1
    - Dst: get_files_recursive
      Src: /src/botan/src/lib/x509/certstor.cpp:180,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/certstor.cpp:182,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/certstor.cpp:183,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/certstor.cpp:183,1
    - Dst: DataSource_Stream::end_of_data
      Src: /src/botan/src/lib/x509/certstor.cpp:189,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/certstor.cpp:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - dir
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 200
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 200
    functionName: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    functionSourceFile: /src/botan/src/lib/x509/certstor.cpp
    functionUses: 40
    functionsReached:
    - std::vector::empty
    - std::string
    - get_files_recursive
    - std::vector::push_back
    - std::string_view::empty
    - push_back
    - DataSource_Stream::end_of_data
    linkageType: ''
    returnType: void
    signature: void Certificate_Store_In_Memory::Certificate_Store_In_Memory(std::string_view
      dir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<CRL_Entry_Data>
      Src: /src/botan/src/lib/x509/crl_ent.cpp:29,1
    - Dst: serial_number
      Src: /src/botan/src/lib/x509/crl_ent.cpp:30,1
    - Dst: X509_Time
      Src: /src/botan/src/lib/x509/crl_ent.cpp:31,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/x509/crl_ent.cpp:31,1
    - Dst: m_extensions::add
      Src: /src/botan/src/lib/x509/crl_ent.cpp:35,1
    - Dst: std::make_unique<Cert_Extension::CRL_ReasonCode>
      Src: /src/botan/src/lib/x509/crl_ent.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' cert'
    - why
    argTypes:
    - X509_Certificate
    - CRL_Code
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: Botan::CRL_Entry::CRL_Entry
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - m_extensions::add
    - X509_Time
    - std::make_shared<CRL_Entry_Data>
    - std::make_unique<Cert_Extension::CRL_ReasonCode>
    - serial_number
    linkageType: ''
    returnType: void
    signature: void CRL_Entry::CRL_Entry(const X509_Certificate& cert, CRL_Code why)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serial_number
      Src: /src/botan/src/lib/x509/crl_ent.cpp:43,1
    - Dst: serial_number
      Src: /src/botan/src/lib/x509/crl_ent.cpp:43,1
    - Dst: expire_time
      Src: /src/botan/src/lib/x509/crl_ent.cpp:46,1
    - Dst: expire_time
      Src: /src/botan/src/lib/x509/crl_ent.cpp:46,1
    - Dst: reason_code
      Src: /src/botan/src/lib/x509/crl_ent.cpp:49,1
    - Dst: reason_code
      Src: /src/botan/src/lib/x509/crl_ent.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' a1'
    - ' a2'
    argTypes:
    - CRL_Entry
    - CRL_Entry
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: operator==(const CRL_Entry& a1, const CRL_Entry& a2)
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 0
    functionsReached:
    - expire_time
    - reason_code
    - serial_number
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CRL_Entry& a1, const CRL_Entry& a2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a1'
    - ' a2'
    argTypes:
    - CRL_Entry
    - CRL_Entry
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: operator!=(const CRL_Entry& a1, const CRL_Entry& a2)
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CRL_Entry& a1, const CRL_Entry& a2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/crl_ent.cpp:66,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/x509/crl_ent.cpp:67,1
    - Dst: serial_number
      Src: /src/botan/src/lib/x509/crl_ent.cpp:67,1
    - Dst: expire_time
      Src: /src/botan/src/lib/x509/crl_ent.cpp:68,1
    - Dst: extensions
      Src: /src/botan/src/lib/x509/crl_ent.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' der'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: Botan::CRL_Entry::encode_into
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    - expire_time
    - Botan::BigInt::from_bytes
    - extensions
    - serial_number
    linkageType: ''
    returnType: void
    signature: void CRL_Entry::encode_into(DER_Encoder& der) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_is_a
      Src: /src/botan/src/lib/x509/crl_ent.cpp:78,1
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:80,1
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:80,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/x509/crl_ent.cpp:81,1
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:81,1
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:81,1
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:82,1
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:82,1
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:83,1
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:83,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/x509/crl_ent.cpp:95,1
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:95,1
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - BER_Object
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: Botan::decode_serial_number
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - data
    - assert_is_a
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> decode_serial_number(const BER_Object& obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CRL_Entry_Data>
      Src: /src/botan/src/lib/x509/crl_ent.cpp:105,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/crl_ent.cpp:107,1
    - Dst: decode_serial_number
      Src: /src/botan/src/lib/x509/crl_ent.cpp:109,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/crl_ent.cpp:109,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/crl_ent.cpp:111,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/crl_ent.cpp:113,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/crl_ent.cpp:114,1
    - Dst: auto::m_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/crl_ent.cpp:115,1
    - Dst: auto::get_reason
      Src: /src/botan/src/lib/x509/crl_ent.cpp:116,1
    - Dst: BER_Decoder::end_cons
      Src: /src/botan/src/lib/x509/crl_ent.cpp:122,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/crl_ent.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 125
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 125
    functionName: Botan::CRL_Entry::decode_from
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 1
    functionsReached:
    - BER_Decoder::get_next_object
    - BER_Decoder::more_items
    - std::make_unique<CRL_Entry_Data>
    - start_sequence
    - auto::m_extensions::get_extension_object_as
    - BER_Decoder::end_cons
    - std::move
    - decode_serial_number
    - auto::get_reason
    - BER_Decoder::decode
    linkageType: ''
    returnType: void
    signature: void CRL_Entry::decode_from(BER_Decoder& source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/x509/crl_ent.cpp:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: '& CRL_Entry::data() const'
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: CRL_Entry_Data
    signature: CRL_Entry_Data & CRL_Entry::data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: '& CRL_Entry::serial_number() const'
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & CRL_Entry::serial_number() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: '& CRL_Entry::expire_time() const'
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: X509_Time
    signature: X509_Time & CRL_Entry::expire_time() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: Botan::CRL_Entry::reason_code
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: CRL_Code
    signature: CRL_Code CRL_Entry::reason_code() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/crl_ent.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: '& CRL_Entry::extensions() const'
    functionSourceFile: /src/botan/src/lib/x509/crl_ent.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: Extensions
    signature: Extensions & CRL_Entry::extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1::maybe_BER
      Src: /src/botan/src/lib/x509/x509_obj.cpp:26,1
    - Dst: Botan::PEM_Code::matches
      Src: /src/botan/src/lib/x509/x509_obj.cpp:26,1
    - Dst: Botan::X509_Object::decode_from
      Src: /src/botan/src/lib/x509/x509_obj.cpp:28,1
    - Dst: PEM_label
      Src: /src/botan/src/lib/x509/x509_obj.cpp:33,1
    - Dst: alternate_PEM_labels
      Src: /src/botan/src/lib/x509/x509_obj.cpp:35,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_obj.cpp:43,1
    - Dst: PEM_label
      Src: /src/botan/src/lib/x509/x509_obj.cpp:43,1
    - Dst: Botan::X509_Object::decode_from
      Src: /src/botan/src/lib/x509/x509_obj.cpp:48,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_obj.cpp:51,1
    - Dst: PEM_label
      Src: /src/botan/src/lib/x509/x509_obj.cpp:51,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 53
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 53
    functionName: Botan::X509_Object::load_data
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 0
    functionsReached:
    - PEM_label
    - Botan::PEM_Code::matches
    - alternate_PEM_labels
    - Decoding_Error
    - Botan::ASN1::maybe_BER
    - Botan::X509_Object::decode_from
    linkageType: ''
    returnType: void
    signature: void X509_Object::load_data(DataSource& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_obj.cpp:56,1
    - Dst: signed_body
      Src: /src/botan/src/lib/x509/x509_obj.cpp:58,1
    - Dst: signature_algorithm
      Src: /src/botan/src/lib/x509/x509_obj.cpp:60,1
    - Dst: signature
      Src: /src/botan/src/lib/x509/x509_obj.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' to'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: Botan::X509_Object::encode_into
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    - signed_body
    - signature
    - signature_algorithm
    linkageType: ''
    returnType: void
    signature: void X509_Object::encode_into(DER_Encoder& to) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_obj.cpp:69,1
    - Dst: force_decode
      Src: /src/botan/src/lib/x509/x509_obj.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: Botan::X509_Object::decode_from
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 1
    functionsReached:
    - start_sequence
    - force_decode
    linkageType: ''
    returnType: void
    signature: void X509_Object::decode_from(BER_Decoder& from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/x509/x509_obj.cpp:84,1
    - Dst: BER_encode
      Src: /src/botan/src/lib/x509/x509_obj.cpp:84,1
    - Dst: PEM_label
      Src: /src/botan/src/lib/x509/x509_obj.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: Botan::X509_Object::PEM_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 0
    functionsReached:
    - Botan::PEM_Code::encode
    - BER_encode
    - PEM_label
    linkageType: ''
    returnType: std::string
    signature: std::string X509_Object::PEM_encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1::put_in_sequence
      Src: /src/botan/src/lib/x509/x509_obj.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Botan::X509_Object::tbs_data
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1::put_in_sequence
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X509_Object::tbs_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Object::verify_signature
      Src: /src/botan/src/lib/x509/x509_obj.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pub_key'
    argTypes:
    - Public_Key
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: Botan::X509_Object::check_signature
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Object::verify_signature
    linkageType: ''
    returnType: bool
    signature: bool X509_Object::check_signature(const Public_Key& pub_key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/x509_obj.cpp:108,1
    - Dst: PK_Verifier::hash_function
      Src: /src/botan/src/lib/x509/x509_obj.cpp:108,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/x509_obj.cpp:110,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/x509_obj.cpp:113,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/x509_obj.cpp:115,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/x509_obj.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' pub_key'
    argTypes:
    - Public_Key
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: Botan::X509_Object::verify_signature
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - PK_Verifier::hash_function
    linkageType: ''
    returnType: std::pair<Certificate_Status_Code, std::string>
    signature: std::pair<Certificate_Status_Code, std::string> X509_Object::verify_signature(const
      Public_Key& pub_key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sign_message
      Src: /src/botan/src/lib/x509/x509_obj.cpp:129,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/x509_obj.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' signer'
    - ' rng'
    - ' algo'
    - ' tbs_bits'
    argTypes:
    - PK_Signer
    - RandomNumberGenerator
    - AlgorithmIdentifier
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: Botan::X509_Object::make_signed
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 2
    functionsReached:
    - DER_Encoder
    - sign_message
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> X509_Object::make_signed(PK_Signer& signer,\n
      \                                             RandomNumberGenerator& rng,\n
      \                                             const AlgorithmIdentifier& algo,\n
      \                                             const secure_vector<uint8_t>&
      tbs_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/x509/x509_obj.cpp:149,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:149,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:152,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/x509_obj.cpp:152,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:156,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:157,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/x509/x509_obj.cpp:160,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:163,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/x509/x509_obj.cpp:164,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/x509/x509_obj.cpp:166,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:170,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/x509_obj.cpp:170,1
    - Dst: starts_with
      Src: /src/botan/src/lib/x509/x509_obj.cpp:171,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:172,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/x509_obj.cpp:172,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/x509_obj.cpp:175,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509_obj.cpp:177,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    argCount: 3
    argNames:
    - ' algo_name'
    - hash_fn
    - user_specified_padding
    argTypes:
    - std::string
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 179
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 179
    functionName: Botan::x509_signature_padding_for
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - std::string_view::empty
    - starts_with
    - Invalid_Argument
    - Botan::fmt
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: std::string
    signature: "std::string x509_signature_padding_for(const std::string& algo_name,\n
      \                                      std::string_view hash_fn,\n                                       std::string_view
      user_specified_padding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:190,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:194,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:197,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/x509/x509_obj.cpp:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - key_name
    - signer_hash_fn
    - user_hash_fn
    - chosen_padding
    - user_specified_padding
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 202
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 202
    functionName: Botan::format_padding_error_message
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::empty
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: "std::string format_padding_error_message(std::string_view key_name,\n
      \                                        std::string_view signer_hash_fn,\n
      \                                        std::string_view user_hash_fn,\n                                         std::string_view
      chosen_padding,\n                                         std::string_view user_specified_padding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _default_x509_signature_format
      Src: /src/botan/src/lib/x509/x509_obj.cpp:213,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:215,1
    - Dst: std::make_unique<PK_Signer>
      Src: /src/botan/src/lib/x509/x509_obj.cpp:217,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:218,1
    - Dst: auto::hash_function
      Src: /src/botan/src/lib/x509/x509_obj.cpp:218,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509_obj.cpp:219,1
    - Dst: format_padding_error_message
      Src: /src/botan/src/lib/x509/x509_obj.cpp:219,1
    - Dst: algo_name
      Src: /src/botan/src/lib/x509/x509_obj.cpp:220,1
    - Dst: auto::hash_function
      Src: /src/botan/src/lib/x509/x509_obj.cpp:220,1
    - Dst: x509_signature_padding_for
      Src: /src/botan/src/lib/x509/x509_obj.cpp:226,1
    - Dst: algo_name
      Src: /src/botan/src/lib/x509/x509_obj.cpp:226,1
    - Dst: std::make_unique<PK_Signer>
      Src: /src/botan/src/lib/x509/x509_obj.cpp:229,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509_obj.cpp:230,1
    - Dst: auto::hash_function
      Src: /src/botan/src/lib/x509/x509_obj.cpp:230,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509_obj.cpp:231,1
    - Dst: format_padding_error_message
      Src: /src/botan/src/lib/x509/x509_obj.cpp:231,1
    - Dst: algo_name
      Src: /src/botan/src/lib/x509/x509_obj.cpp:232,1
    - Dst: auto::hash_function
      Src: /src/botan/src/lib/x509/x509_obj.cpp:232,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509_obj.cpp:236,1
    - Dst: algo_name
      Src: /src/botan/src/lib/x509/x509_obj.cpp:236,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - ' key'
    - ' rng'
    - hash_fn
    - user_specified_padding
    argTypes:
    - Private_Key
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: Botan::X509_Object::choose_sig_format
    functionSourceFile: /src/botan/src/lib/x509/x509_obj.cpp
    functionUses: 1
    functionsReached:
    - algo_name
    - format_padding_error_message
    - x509_signature_padding_for
    - std::make_unique<PK_Signer>
    - std::string_view::empty
    - Invalid_Argument
    - _default_x509_signature_format
    - auto::hash_function
    linkageType: ''
    returnType: std::unique_ptr<PK_Signer>
    signature: "std::unique_ptr<PK_Signer> X509_Object::choose_sig_format(const Private_Key&
      key,\n                                                          RandomNumberGenerator&
      rng,\n                                                          std::string_view
      hash_fn,\n                                                          std::string_view
      user_specified_padding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 75
    functionName: Botan::ASN1_Object
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CRL_Entry
    signature: CRL_Entry ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/x509_crl.h:154,1
    - Dst: X509_CRL
      Src: /src/botan/src/lib/x509/x509_crl.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 211
    functionName: Botan::X509_Object
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.h
    functionUses: 0
    functionsReached:
    - X509_CRL
    - BOTAN_DEPRECATED
    linkageType: ''
    returnType: X509_CRL
    signature: X509_CRL X509_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:22,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:24,1
    - Dst: auto::name
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:24,1
    - Dst: unlock
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:25,1
    - Dst: auto::process
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:25,1
    - Dst: subject_public_key_bitstring
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:25,1
    - Dst: unlock
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:26,1
    - Dst: auto::process
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:26,1
    - Dst: raw_subject_dn
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' issuer'
    - ' subject_serial'
    argTypes:
    - X509_Certificate
    - BigInt
    constantsTouched: []
    func_position:
      end: 28
      start: 17
    functionDepth: 3
    functionLinenumber: 17
    functionLinenumberEnd: 28
    functionName: Botan::OCSP::CertID::CertID
    functionSourceFile: /src/botan/src/lib/x509/ocsp_types.cpp
    functionUses: 0
    functionsReached:
    - auto::name
    - AlgorithmIdentifier
    - raw_subject_dn
    - auto::process
    - Botan::HashFunction::create_or_throw
    - subject_public_key_bitstring
    - unlock
    linkageType: ''
    returnType: void
    signature: void CertID::CertID(const X509_Certificate& issuer, const BigInt& subject_serial)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:32,1
    - Dst: serial_number
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:32,1
    - Dst: oid
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:36,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:37,1
    - Dst: unlock
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:39,1
    - Dst: auto::process
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:39,1
    - Dst: raw_issuer_dn
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:39,1
    - Dst: unlock
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:43,1
    - Dst: auto::process
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:43,1
    - Dst: subject_public_key_bitstring
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' issuer'
    - ' subject'
    argTypes:
    - X509_Certificate
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: Botan::OCSP::CertID::is_id_for
    functionSourceFile: /src/botan/src/lib/x509/ocsp_types.cpp
    functionUses: 0
    functionsReached:
    - auto::process
    - Botan::HashFunction::create_or_throw
    - raw_issuer_dn
    - subject_public_key_bitstring
    - oid
    - Botan::BigInt::from_bytes
    - unlock
    - serial_number
    linkageType: ''
    returnType: bool
    signature: bool CertID::is_id_for(const X509_Certificate& issuer, const X509_Certificate&
      subject) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' to'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: Botan::OCSP::CertID::encode_into
    functionSourceFile: /src/botan/src/lib/x509/ocsp_types.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    linkageType: ''
    returnType: void
    signature: void CertID::encode_into(DER_Encoder& to) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: Botan::OCSP::CertID::decode_from
    functionSourceFile: /src/botan/src/lib/x509/ocsp_types.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    linkageType: ''
    returnType: void
    signature: void CertID::decode_from(BER_Decoder& from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Botan::OCSP::SingleResponse::encode_into
    functionSourceFile: /src/botan/src/lib/x509/ocsp_types.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void SingleResponse::encode_into(DER_Encoder& /*to*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:79,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:83,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:84,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:100,1
    - Dst: BER_Object::type
      Src: /src/botan/src/lib/x509/ocsp_types.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 101
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 101
    functionName: Botan::OCSP::SingleResponse::decode_from
    functionSourceFile: /src/botan/src/lib/x509/ocsp_types.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    - static_cast<uint32_t>
    - ASN1_Type
    - BER_Object::type
    linkageType: ''
    returnType: void
    signature: void SingleResponse::decode_from(BER_Decoder& from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/key_constraint.cpp:24,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/key_constraint.cpp:28,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/key_constraint.cpp:32,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/key_constraint.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/key_constraint.cpp:40,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/key_constraint.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/key_constraint.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/key_constraint.cpp:52,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/key_constraint.cpp:56,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/key_constraint.cpp:60,1
    - Dst: string_join
      Src: /src/botan/src/lib/x509/key_constraint.cpp:64,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 65
    functionName: Botan::Key_Constraints::to_string
    functionSourceFile: /src/botan/src/lib/x509/key_constraint.cpp
    functionUses: 0
    functionsReached:
    - string_join
    - std::vector::push_back
    - std::vector::empty
    linkageType: ''
    returnType: std::string
    signature: std::string Key_Constraints::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: supports_operation
      Src: /src/botan/src/lib/x509/key_constraint.cpp:73,1
    - Dst: supports_operation
      Src: /src/botan/src/lib/x509/key_constraint.cpp:77,1
    - Dst: supports_operation
      Src: /src/botan/src/lib/x509/key_constraint.cpp:81,1
    - Dst: supports_operation
      Src: /src/botan/src/lib/x509/key_constraint.cpp:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' pub_key'
    argTypes:
    - Public_Key
    constantsTouched: []
    func_position:
      end: 95
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 95
    functionName: Botan::Key_Constraints::compatible_with
    functionSourceFile: /src/botan/src/lib/x509/key_constraint.cpp
    functionUses: 0
    functionsReached:
    - supports_operation
    linkageType: ''
    returnType: bool
    signature: bool Key_Constraints::compatible_with(const Public_Key& pub_key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CertID
      Src: /src/botan/src/lib/x509/ocsp.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 44
    functionName: Botan::OCSP::ASN1_Object
    functionSourceFile: /src/botan/src/lib/x509/ocsp.h
    functionUses: 0
    functionsReached:
    - CertID
    linkageType: ''
    returnType: CertID
    signature: CertID ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 65
    functionName: Botan::OCSP::ASN1_Object
    functionSourceFile: /src/botan/src/lib/x509/ocsp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SingleResponse
    signature: SingleResponse ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Request
      Src: /src/botan/src/lib/x509/ocsp.h:77,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/ocsp.h:99,1
    - Dst: issuer_key_hash
      Src: /src/botan/src/lib/x509/ocsp.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 106
    functionName: Botan::OCSP::final
    functionSourceFile: /src/botan/src/lib/x509/ocsp.h
    functionUses: 0
    functionsReached:
    - issuer_key_hash
    - Not_Implemented
    - Request
    linkageType: ''
    returnType: Request
    signature: Request final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Response
      Src: /src/botan/src/lib/x509/ocsp.h:133,1
    - Dst: data
      Src: /src/botan/src/lib/x509/ocsp.h:139,1
    - Dst: size
      Src: /src/botan/src/lib/x509/ocsp.h:139,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/x509/ocsp.h:215,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/x509/ocsp.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 245
    functionName: Botan::OCSP::final
    functionSourceFile: /src/botan/src/lib/x509/ocsp.h
    functionUses: 0
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - fiat_bls12_381_fp_nonzero
    - Response
    - data
    - size
    linkageType: ''
    returnType: Response
    signature: Response final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/x509/ocsp.cpp:30,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/ocsp.cpp:32,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/ocsp.cpp:33,1
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/x509/ocsp.cpp:38,1
    - Dst: auto::more_items
      Src: /src/botan/src/lib/x509/ocsp.cpp:39,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/ocsp.cpp:40,1
    - Dst: X509_Certificate::decode_from
      Src: /src/botan/src/lib/x509/ocsp.cpp:42,1
    - Dst: auto::end_cons
      Src: /src/botan/src/lib/x509/ocsp.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ' ber'
    - tag
    - ' output'
    argTypes:
    - BER_Decoder
    - ASN1_Type
    - std::vector<X509_Certificate>
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: Botan::OCSP::decode_optional_list
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 0
    functionsReached:
    - get_next_object
    - BER_Object::is_a
    - X509_Certificate::decode_from
    - push_back
    - auto::more_items
    - auto::end_cons
    - BER_Decoder::start_sequence
    linkageType: ''
    returnType: void
    signature: void decode_optional_list(BER_Decoder& ber, ASN1_Type tag, std::vector<X509_Certificate>&
      output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/x509/ocsp.cpp:52,1
    - Dst: serial_number
      Src: /src/botan/src/lib/x509/ocsp.cpp:52,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/ocsp.cpp:53,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/ocsp.cpp:53,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/ocsp.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' issuer_cert'
    - ' subject_cert'
    argTypes:
    - X509_Certificate
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: Botan::OCSP::Request::Request
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 0
    functionsReached:
    - subject_dn
    - issuer_dn
    - Botan::BigInt::from_bytes
    - Invalid_Argument
    - serial_number
    linkageType: ''
    returnType: void
    signature: void Request::Request(const X509_Certificate& issuer_cert, const X509_Certificate&
      subject_cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' issuer_cert'
    - ' subject_serial'
    argTypes:
    - X509_Certificate
    - BigInt
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: Botan::OCSP::Request::Request
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request::Request(const X509_Certificate& issuer_cert, const BigInt&
      subject_serial)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/ocsp.cpp:63,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/x509/ocsp.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 78
    functionName: Botan::OCSP::Request::BER_encode
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Request::BER_encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base64_encode
      Src: /src/botan/src/lib/x509/ocsp.cpp:81,1
    - Dst: Botan::OCSP::Request::BER_encode
      Src: /src/botan/src/lib/x509/ocsp.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan::OCSP::Request::base64_encode
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 1
    functionsReached:
    - Botan::base64_encode
    - Botan::OCSP::Request::BER_encode
    linkageType: ''
    returnType: std::string
    signature: std::string Request::base64_encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - status
    argTypes:
    - Certificate_Status_Code
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: Botan::OCSP::Response::Response
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response::Response(Certificate_Status_Code status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/ocsp.cpp:89,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/ocsp.cpp:93,1
    - Dst: static_cast<Response_Status_Code>
      Src: /src/botan/src/lib/x509/ocsp.cpp:95,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/ocsp.cpp:101,1
    - Dst: BER_Decoder::start_context_specific
      Src: /src/botan/src/lib/x509/ocsp.cpp:102,1
    - Dst: BER_Decoder::decode_and_check
      Src: /src/botan/src/lib/x509/ocsp.cpp:104,1
    - Dst: OID
      Src: /src/botan/src/lib/x509/ocsp.cpp:104,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/ocsp.cpp:106,1
    - Dst: BER_Decoder::get_next_octet_string
      Src: /src/botan/src/lib/x509/ocsp.cpp:106,1
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/x509/ocsp.cpp:108,1
    - Dst: decode_optional_list
      Src: /src/botan/src/lib/x509/ocsp.cpp:113,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/ocsp.cpp:113,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/x509/ocsp.cpp:118,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/ocsp.cpp:119,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/ocsp.cpp:121,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/ocsp.cpp:130,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/ocsp.cpp:136,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/ocsp.cpp:139,1
    - Dst: BER_Decoder::end_cons
      Src: /src/botan/src/lib/x509/ocsp.cpp:143,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - response_bits
    - response_bits_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 144
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 144
    functionName: Botan::OCSP::Response::Response
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder::decode_and_check
    - BER_Decoder::more_items
    - BER_Decoder
    - OID
    - static_cast<Response_Status_Code>
    - ASN1_Type
    - BER_Decoder::end_cons
    - Decoding_Error
    - BER_Decoder::get_next_octet_string
    - decode_optional_list
    - BER_Decoder::start_sequence
    - BER_Decoder::decode
    - BER_Decoder::start_context_specific
    linkageType: ''
    returnType: void
    signature: void Response::Response(const uint8_t response_bits[], size_t response_bits_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/ocsp.cpp:147,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/ocsp.cpp:148,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/ocsp.cpp:151,1
    - Dst: subject_public_key_bitstring_sha1
      Src: /src/botan/src/lib/x509/ocsp.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' candidate'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: Botan::OCSP::Response::is_issued_by
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 0
    functionsReached:
    - empty
    - subject_dn
    - subject_public_key_bitstring_sha1
    linkageType: ''
    returnType: bool
    signature: bool Response::is_issued_by(const X509_Certificate& candidate) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/x509/ocsp.cpp:160,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/ocsp.cpp:163,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/ocsp.cpp:163,1
    - Dst: Botan::OCSP::Response::is_issued_by
      Src: /src/botan/src/lib/x509/ocsp.cpp:167,1
    - Dst: subject_public_key
      Src: /src/botan/src/lib/x509/ocsp.cpp:172,1
    - Dst: PK_Verifier::verify_message
      Src: /src/botan/src/lib/x509/ocsp.cpp:176,1
    - Dst: Botan::ASN1::put_in_sequence
      Src: /src/botan/src/lib/x509/ocsp.cpp:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' issuer'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 184
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 184
    functionName: Botan::OCSP::Response::verify_signature
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan::OCSP::Response::is_issued_by
    - subject_public_key
    - empty
    - Botan::ASN1::put_in_sequence
    - PK_Verifier::verify_message
    - value
    linkageType: ''
    returnType: Certificate_Status_Code
    signature: Certificate_Status_Code Response::verify_signature(const X509_Certificate&
      issuer) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OCSP::Response::is_issued_by
      Src: /src/botan/src/lib/x509/ocsp.cpp:191,1
    - Dst: std::find_if
      Src: /src/botan/src/lib/x509/ocsp.cpp:196,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/ocsp.cpp:196,1
    - Dst: end
      Src: /src/botan/src/lib/x509/ocsp.cpp:196,1
    - Dst: std::bind
      Src: /src/botan/src/lib/x509/ocsp.cpp:196,1
    - Dst: end
      Src: /src/botan/src/lib/x509/ocsp.cpp:197,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/ocsp.cpp:203,1
    - Dst: Certificate_Store*::find_cert_by_pubkey_sha1
      Src: /src/botan/src/lib/x509/ocsp.cpp:204,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/ocsp.cpp:210,1
    - Dst: Certificate_Store*::find_cert
      Src: /src/botan/src/lib/x509/ocsp.cpp:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ' issuer_certificate'
    - trusted_ocsp_responders
    argTypes:
    - X509_Certificate
    - Certificate_Store*
    constantsTouched: []
    func_position:
      end: 219
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 219
    functionName: Botan::OCSP::Response::find_signing_certificate
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 0
    functionsReached:
    - Botan::OCSP::Response::is_issued_by
    - std::bind
    - begin
    - Certificate_Store*::find_cert
    - end
    - empty
    - Certificate_Store*::find_cert_by_pubkey_sha1
    - std::find_if
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Response::find_signing_certificate(\n
      \  const X509_Certificate& issuer_certificate, const Certificate_Store* trusted_ocsp_responders)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/x509/ocsp.cpp:226,1
    - Dst: certid
      Src: /src/botan/src/lib/x509/ocsp.cpp:230,1
    - Dst: cert_status
      Src: /src/botan/src/lib/x509/ocsp.cpp:233,1
    - Dst: this_update
      Src: /src/botan/src/lib/x509/ocsp.cpp:237,1
    - Dst: next_update
      Src: /src/botan/src/lib/x509/ocsp.cpp:241,1
    - Dst: next_update
      Src: /src/botan/src/lib/x509/ocsp.cpp:242,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/x509/ocsp.cpp:245,1
    - Dst: this_update
      Src: /src/botan/src/lib/x509/ocsp.cpp:246,1
    - Dst: cert_status
      Src: /src/botan/src/lib/x509/ocsp.cpp:250,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - ' issuer'
    - ' subject'
    - ref_time
    - max_age
    argTypes:
    - X509_Certificate
    - X509_Certificate
    - std::chrono::system_clock::time_point
    - std::chrono::seconds
    constantsTouched: []
    func_position:
      end: 259
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 259
    functionName: Botan::OCSP::Response::status_for
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 1
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - certid
    - this_update
    - value
    - cert_status
    - next_update
    linkageType: ''
    returnType: Certificate_Status_Code
    signature: "Certificate_Status_Code Response::status_for(const X509_Certificate&
      issuer,\n                                             const X509_Certificate&
      subject,\n                                             std::chrono::system_clock::time_point
      ref_time,\n                                             std::chrono::seconds
      max_age) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/ocsp.cpp:267,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/ocsp.cpp:268,1
    - Dst: Botan::HTTP::POST_sync
      Src: /src/botan/src/lib/x509/ocsp.cpp:273,1
    - Dst: OCSP::Request::BER_encode
      Src: /src/botan/src/lib/x509/ocsp.cpp:273,1
    - Dst: auto::throw_unless_ok
      Src: /src/botan/src/lib/x509/ocsp.cpp:275,1
    - Dst: Test_No_Shutdown_Response::Test_No_Shutdown_Response
      Src: /src/botan/src/lib/x509/ocsp.cpp:279,1
    - Dst: auto::body
      Src: /src/botan/src/lib/x509/ocsp.cpp:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' issuer'
    - ' subject_serial'
    - ocsp_responder
    - timeout
    argTypes:
    - X509_Certificate
    - BigInt
    - std::string_view
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 280
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 280
    functionName: Botan::OCSP::online_check
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 1
    functionsReached:
    - auto::body
    - Test_No_Shutdown_Response::Test_No_Shutdown_Response
    - std::string_view::empty
    - Botan::HTTP::POST_sync
    - OCSP::Request::BER_encode
    - Invalid_Argument
    - auto::throw_unless_ok
    linkageType: ''
    returnType: Response
    signature: "Response online_check(const X509_Certificate& issuer,\n                      const
      BigInt& subject_serial,\n                      std::string_view ocsp_responder,\n
      \                     std::chrono::milliseconds timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/ocsp.cpp:285,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/ocsp.cpp:285,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/ocsp.cpp:286,1
    - Dst: Botan::OCSP::online_check
      Src: /src/botan/src/lib/x509/ocsp.cpp:289,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/x509/ocsp.cpp:289,1
    - Dst: serial_number
      Src: /src/botan/src/lib/x509/ocsp.cpp:289,1
    - Dst: ocsp_responder
      Src: /src/botan/src/lib/x509/ocsp.cpp:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' issuer'
    - ' subject'
    - timeout
    argTypes:
    - X509_Certificate
    - X509_Certificate
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 290
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 290
    functionName: Botan::OCSP::online_check
    functionSourceFile: /src/botan/src/lib/x509/ocsp.cpp
    functionUses: 2
    functionsReached:
    - ocsp_responder
    - subject_dn
    - serial_number
    - issuer_dn
    - Botan::BigInt::from_bytes
    - Invalid_Argument
    - Botan::OCSP::online_check
    linkageType: ''
    returnType: Response
    signature: "Response online_check(const X509_Certificate& issuer,\n                      const
      X509_Certificate& subject,\n                      std::chrono::milliseconds
      timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_sub_element_of
      Src: /src/botan/src/lib/x509/x509_dn_ub.cpp:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 73
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 73
    functionName: Botan::X509_DN::lookup_ub
    functionSourceFile: /src/botan/src/lib/x509/x509_dn_ub.cpp
    functionUses: 0
    functionsReached:
    - is_sub_element_of
    linkageType: ''
    returnType: size_t
    signature: size_t X509_DN::lookup_ub(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:41,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:42,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:49,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:52,1
    - Dst: CertificatePathStatusCodes::at
      Src: /src/botan/src/lib/x509/x509path.cpp:53,1
    - Dst: signature_algorithm
      Src: /src/botan/src/lib/x509/x509path.cpp:61,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:62,1
    - Dst: subject_public_key
      Src: /src/botan/src/lib/x509/x509path.cpp:66,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:68,1
    - Dst: std::unique_ptr::estimated_strength
      Src: /src/botan/src/lib/x509/x509path.cpp:72,1
    - Dst: minimum_key_strength
      Src: /src/botan/src/lib/x509/x509path.cpp:72,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:73,1
    - Dst: verify_signature
      Src: /src/botan/src/lib/x509/x509path.cpp:76,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:79,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509path.cpp:83,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:83,1
    - Dst: trusted_hashes
      Src: /src/botan/src/lib/x509/x509path.cpp:84,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:87,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/x509path.cpp:88,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:89,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:103,1
    - Dst: CertificatePathStatusCodes::at
      Src: /src/botan/src/lib/x509/x509path.cpp:104,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509path.cpp:107,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:113,1
    - Dst: matches_dns_name
      Src: /src/botan/src/lib/x509/x509path.cpp:113,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:114,1
    - Dst: allowed_usage
      Src: /src/botan/src/lib/x509/x509path.cpp:117,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:119,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:121,1
    - Dst: has_constraints
      Src: /src/botan/src/lib/x509/x509path.cpp:124,1
    - Dst: is_CA_cert
      Src: /src/botan/src/lib/x509/x509path.cpp:124,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:133,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:136,1
    - Dst: CertificatePathStatusCodes::at
      Src: /src/botan/src/lib/x509/x509path.cpp:137,1
    - Dst: is_self_signed
      Src: /src/botan/src/lib/x509/x509path.cpp:144,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:145,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/x509path.cpp:149,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/x509path.cpp:149,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:150,1
    - Dst: is_serial_negative
      Src: /src/botan/src/lib/x509/x509path.cpp:154,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:155,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/x509path.cpp:160,1
    - Dst: second::size
      Src: /src/botan/src/lib/x509/x509path.cpp:163,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:164,1
    - Dst: not_before
      Src: /src/botan/src/lib/x509/x509path.cpp:172,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:174,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:176,1
    - Dst: not_after
      Src: /src/botan/src/lib/x509/x509path.cpp:180,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:182,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:184,1
    - Dst: is_CA_cert
      Src: /src/botan/src/lib/x509/x509path.cpp:189,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:190,1
    - Dst: x509_version
      Src: /src/botan/src/lib/x509/x509path.cpp:195,1
    - Dst: v2_issuer_key_id
      Src: /src/botan/src/lib/x509/x509path.cpp:196,1
    - Dst: v2_subject_key_id
      Src: /src/botan/src/lib/x509/x509path.cpp:196,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:197,1
    - Dst: v3_extensions
      Src: /src/botan/src/lib/x509/x509path.cpp:201,1
    - Dst: extensions
      Src: /src/botan/src/lib/x509/x509path.cpp:202,1
    - Dst: x509_version
      Src: /src/botan/src/lib/x509/x509path.cpp:203,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:203,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:204,1
    - Dst: first::validate
      Src: /src/botan/src/lib/x509/x509path.cpp:207,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:209,1
    - Dst: get_extension_oids
      Src: /src/botan/src/lib/x509/x509path.cpp:209,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:210,1
    - Dst: CertificatePathStatusCodes::at
      Src: /src/botan/src/lib/x509/x509path.cpp:217,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/x509path.cpp:224,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/x509path.cpp:224,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:228,1
    - Dst: path_limit
      Src: /src/botan/src/lib/x509/x509path.cpp:236,1
    - Dst: path_limit
      Src: /src/botan/src/lib/x509/x509path.cpp:236,1
    - Dst: path_limit
      Src: /src/botan/src/lib/x509/x509path.cpp:237,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 106
    argCount: 5
    argNames:
    - ' cert_path'
    - ref_time
    - hostname
    - usage
    - ' restrictions'
    argTypes:
    - std::vector<X509_Certificate>
    - std::chrono::system_clock::time_point
    - std::string_view
    - Usage_Type
    - Path_Validation_Restrictions
    constantsTouched: []
    func_position:
      end: 242
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 242
    functionName: Botan::PKIX::check_chain
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 1
    functionsReached:
    - get_extension_oids
    - contains
    - second::size
    - is_serial_negative
    - static_cast<uint32_t>
    - not_after
    - minimum_key_strength
    - std::string::empty
    - insert
    - BOTAN_ASSERT_NOMSG
    - std::unique_ptr::estimated_strength
    - x509_version
    - v2_issuer_key_id
    - trusted_hashes
    - std::string_view::empty
    - Invalid_Argument
    - extensions
    - not_before
    - is_CA_cert
    - first::validate
    - subject_public_key
    - size
    - signature_algorithm
    - matches_dns_name
    - empty
    - issuer_dn
    - allowed_usage
    - v2_subject_key_id
    - v3_extensions
    - has_constraints
    - path_limit
    - subject_dn
    - is_self_signed
    - CertificatePathStatusCodes::at
    - verify_signature
    linkageType: ''
    returnType: CertificatePathStatusCodes
    signature: "CertificatePathStatusCodes PKIX::check_chain(const std::vector<X509_Certificate>&
      cert_path,\n                                             std::chrono::system_clock::time_point
      ref_time,\n                                             std::string_view hostname,\n
      \                                            Usage_Type usage,\n                                             const
      Path_Validation_Restrictions& restrictions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trusted_ocsp_responders
      Src: /src/botan/src/lib/x509/x509path.cpp:259,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/x509/x509path.cpp:287,1
    - Dst: Path_Validation_Restrictions
      Src: /src/botan/src/lib/x509/x509path.cpp:289,1
    - Dst: minimum_key_strength
      Src: /src/botan/src/lib/x509/x509path.cpp:290,1
    - Dst: trusted_hashes
      Src: /src/botan/src/lib/x509/x509path.cpp:292,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/lib/x509/x509path.cpp:294,1
    - Dst: Botan::concat
      Src: /src/botan/src/lib/x509/x509path.cpp:294,1
    - Dst: auto::result
      Src: /src/botan/src/lib/x509/x509path.cpp:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - ' signing_cert'
    - ' ca'
    - ' extra_certs'
    - ' certstores'
    - ref_time
    - ' restrictions'
    argTypes:
    - X509_Certificate
    - X509_Certificate
    - std::vector<X509_Certificate>
    - std::vector<Certificate_Store*>
    - std::chrono::system_clock::time_point
    - Path_Validation_Restrictions
    constantsTouched: []
    func_position:
      end: 303
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 303
    functionName: Botan::verify_ocsp_signing_cert
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - Botan::x509_path_validate
    - Path_Validation_Restrictions
    - minimum_key_strength
    - trusted_hashes
    - trusted_ocsp_responders
    - Botan::concat
    - auto::result
    linkageType: ''
    returnType: Certificate_Status_Code
    signature: "Certificate_Status_Code verify_ocsp_signing_cert(const X509_Certificate&
      signing_cert,\n                                                 const X509_Certificate&
      ca,\n                                                 const std::vector<X509_Certificate>&
      extra_certs,\n                                                 const std::vector<Certificate_Store*>&
      certstores,\n                                                 std::chrono::system_clock::time_point
      ref_time,\n                                                 const Path_Validation_Restrictions&
      restrictions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:312,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:313,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:316,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:318,1
    - Dst: CertificatePathStatusCodes::at
      Src: /src/botan/src/lib/x509/x509path.cpp:319,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509path.cpp:321,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509path.cpp:322,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:324,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509path.cpp:324,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509path.cpp:325,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509path.cpp:327,1
    - Dst: dummy_status
      Src: /src/botan/src/lib/x509/x509path.cpp:329,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:331,1
    - Dst: auto::value
      Src: /src/botan/src/lib/x509/x509path.cpp:331,1
    - Dst: find_signing_certificate
      Src: /src/botan/src/lib/x509/x509path.cpp:333,1
    - Dst: trusted_ocsp_responders
      Src: /src/botan/src/lib/x509/x509path.cpp:333,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:335,1
    - Dst: verify_ocsp_signing_cert
      Src: /src/botan/src/lib/x509/x509path.cpp:337,1
    - Dst: auto::value
      Src: /src/botan/src/lib/x509/x509path.cpp:337,1
    - Dst: concat
      Src: /src/botan/src/lib/x509/x509path.cpp:339,1
    - Dst: certificates
      Src: /src/botan/src/lib/x509/x509path.cpp:339,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:344,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:345,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:347,1
    - Dst: status_for
      Src: /src/botan/src/lib/x509/x509path.cpp:347,1
    - Dst: max_ocsp_age
      Src: /src/botan/src/lib/x509/x509path.cpp:347,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:350,1
    - Dst: CertificatePathStatusCodes::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:355,1
    - Dst: CertificatePathStatusCodes::back
      Src: /src/botan/src/lib/x509/x509path.cpp:355,1
    - Dst: CertificatePathStatusCodes::pop_back
      Src: /src/botan/src/lib/x509/x509path.cpp:356,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 5
    argNames:
    - ' cert_path'
    - ' ocsp_responses'
    - ' certstores'
    - ref_time
    - ' restrictions'
    argTypes:
    - std::vector<X509_Certificate>
    - std::vector<std::optional<OCSP::Response>>
    - std::vector<Certificate_Store*>
    - std::chrono::system_clock::time_point
    - Path_Validation_Restrictions
    constantsTouched: []
    func_position:
      end: 360
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 360
    functionName: Botan::PKIX::check_ocsp
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 5
    functionsReached:
    - CertificatePathStatusCodes::empty
    - CertificatePathStatusCodes::back
    - certificates
    - auto::value
    - at
    - size
    - dummy_status
    - concat
    - empty
    - verify_ocsp_signing_cert
    - status_for
    - CertificatePathStatusCodes::pop_back
    - Invalid_Argument
    - max_ocsp_age
    - CertificatePathStatusCodes::at
    - find_signing_certificate
    - insert
    - trusted_ocsp_responders
    linkageType: ''
    returnType: CertificatePathStatusCodes
    signature: "CertificatePathStatusCodes PKIX::check_ocsp(const std::vector<X509_Certificate>&
      cert_path,\n                                            const std::vector<std::optional<OCSP::Response>>&
      ocsp_responses,\n                                            const std::vector<Certificate_Store*>&
      certstores,\n                                            std::chrono::system_clock::time_point
      ref_time,\n                                            const Path_Validation_Restrictions&
      restrictions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:365,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:366,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:369,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:372,1
    - Dst: CertificatePathStatusCodes::at
      Src: /src/botan/src/lib/x509/x509path.cpp:373,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:375,1
    - Dst: has_value
      Src: /src/botan/src/lib/x509/x509path.cpp:375,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509path.cpp:376,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509path.cpp:377,1
    - Dst: allowed_usage
      Src: /src/botan/src/lib/x509/x509path.cpp:379,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:380,1
    - Dst: this_update
      Src: /src/botan/src/lib/x509/x509path.cpp:383,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:384,1
    - Dst: next_update
      Src: /src/botan/src/lib/x509/x509path.cpp:387,1
    - Dst: next_update
      Src: /src/botan/src/lib/x509/x509path.cpp:387,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:388,1
    - Dst: subject_public_key
      Src: /src/botan/src/lib/x509/x509path.cpp:391,1
    - Dst: check_signature
      Src: /src/botan/src/lib/x509/x509path.cpp:392,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:393,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:396,1
    - Dst: is_revoked
      Src: /src/botan/src/lib/x509/x509path.cpp:398,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:399,1
    - Dst: crl_distribution_points
      Src: /src/botan/src/lib/x509/x509path.cpp:402,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:403,1
    - Dst: crl_issuing_distribution_point
      Src: /src/botan/src/lib/x509/x509path.cpp:404,1
    - Dst: find
      Src: /src/botan/src/lib/x509/x509path.cpp:406,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/x509/x509path.cpp:406,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509path.cpp:406,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509path.cpp:406,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:407,1
    - Dst: extensions
      Src: /src/botan/src/lib/x509/x509path.cpp:411,1
    - Dst: first::oid_of
      Src: /src/botan/src/lib/x509/x509path.cpp:416,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:420,1
    - Dst: CertificatePathStatusCodes::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:426,1
    - Dst: CertificatePathStatusCodes::back
      Src: /src/botan/src/lib/x509/x509path.cpp:426,1
    - Dst: CertificatePathStatusCodes::pop_back
      Src: /src/botan/src/lib/x509/x509path.cpp:427,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 3
    argNames:
    - ' cert_path'
    - ' crls'
    - ref_time
    argTypes:
    - std::vector<X509_Certificate>
    - std::vector<std::optional<X509_CRL>>
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 431
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 431
    functionName: Botan::PKIX::check_crl
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 1
    functionsReached:
    - first::oid_of
    - at
    - is_revoked
    - auto::begin
    - has_value
    - insert
    - this_update
    - auto::end
    - Invalid_Argument
    - auto::empty
    - extensions
    - CertificatePathStatusCodes::pop_back
    - CertificatePathStatusCodes::empty
    - subject_public_key
    - size
    - empty
    - check_signature
    - find
    - allowed_usage
    - next_update
    - crl_distribution_points
    - CertificatePathStatusCodes::at
    - crl_issuing_distribution_point
    - CertificatePathStatusCodes::back
    linkageType: ''
    returnType: CertificatePathStatusCodes
    signature: "CertificatePathStatusCodes PKIX::check_crl(const std::vector<X509_Certificate>&
      cert_path,\n                                           const std::vector<std::optional<X509_CRL>>&
      crls,\n                                           std::chrono::system_clock::time_point
      ref_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:436,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:437,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:440,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:441,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:444,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:446,1
    - Dst: find_crl_for
      Src: /src/botan/src/lib/x509/x509path.cpp:448,1
    - Dst: Botan::PKIX::check_crl
      Src: /src/botan/src/lib/x509/x509path.cpp:455,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - ' cert_path'
    - ' certstores'
    - ref_time
    argTypes:
    - std::vector<X509_Certificate>
    - std::vector<Certificate_Store*>
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 456
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 456
    functionName: Botan::PKIX::check_crl
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 2
    functionsReached:
    - Botan::PKIX::check_crl
    - size
    - empty
    - Invalid_Argument
    - find_crl_for
    linkageType: ''
    returnType: CertificatePathStatusCodes
    signature: "CertificatePathStatusCodes PKIX::check_crl(const std::vector<X509_Certificate>&
      cert_path,\n                                           const std::vector<Certificate_Store*>&
      certstores,\n                                           std::chrono::system_clock::time_point
      ref_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:465,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:466,1
    - Dst: ocsp_all_intermediates
      Src: /src/botan/src/lib/x509/x509path.cpp:473,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:474,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:476,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509path.cpp:481,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509path.cpp:482,1
    - Dst: ocsp_responder
      Src: /src/botan/src/lib/x509/x509path.cpp:484,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/x509/x509path.cpp:485,1
    - Dst: std::async
      Src: /src/botan/src/lib/x509/x509path.cpp:485,1
    - Dst: Test_No_Shutdown_Response::Test_No_Shutdown_Response
      Src: /src/botan/src/lib/x509/x509path.cpp:486,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/x509/x509path.cpp:489,1
    - Dst: std::async
      Src: /src/botan/src/lib/x509/x509path.cpp:489,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/x509/x509path.cpp:490,1
    - Dst: serial_number
      Src: /src/botan/src/lib/x509/x509path.cpp:490,1
    - Dst: Botan::HTTP::POST_sync
      Src: /src/botan/src/lib/x509/x509path.cpp:494,1
    - Dst: ocsp_responder
      Src: /src/botan/src/lib/x509/x509path.cpp:494,1
    - Dst: OCSP::Request::BER_encode
      Src: /src/botan/src/lib/x509/x509path.cpp:496,1
    - Dst: HTTP::Response::status_code
      Src: /src/botan/src/lib/x509/x509path.cpp:502,1
    - Dst: Test_No_Shutdown_Response::Test_No_Shutdown_Response
      Src: /src/botan/src/lib/x509/x509path.cpp:503,1
    - Dst: Test_No_Shutdown_Response::Test_No_Shutdown_Response
      Src: /src/botan/src/lib/x509/x509path.cpp:507,1
    - Dst: HTTP::Response::body
      Src: /src/botan/src/lib/x509/x509path.cpp:507,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/x509/x509path.cpp:513,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/x509path.cpp:513,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:516,1
    - Dst: get
      Src: /src/botan/src/lib/x509/x509path.cpp:516,1
    - Dst: Botan::PKIX::check_ocsp
      Src: /src/botan/src/lib/x509/x509path.cpp:519,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 5
    argNames:
    - ' cert_path'
    - ' trusted_certstores'
    - ref_time
    - timeout
    - ' restrictions'
    argTypes:
    - std::vector<X509_Certificate>
    - std::vector<Certificate_Store*>
    - std::chrono::system_clock::time_point
    - std::chrono::milliseconds
    - Path_Validation_Restrictions
    constantsTouched: []
    func_position:
      end: 520
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 520
    functionName: Botan::PKIX::check_ocsp_online
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - at
    - std::vector::push_back
    - get
    - std::async
    - serial_number
    - Botan::PKIX::check_ocsp
    - Test_No_Shutdown_Response::Test_No_Shutdown_Response
    - HTTP::Response::body
    - ocsp_all_intermediates
    - std::vector::reserve
    - Botan::HTTP::POST_sync
    - HTTP::Response::status_code
    - Invalid_Argument
    - size
    - empty
    - ocsp_responder
    - Botan::BigInt::from_bytes
    - std::vector::emplace_back
    - OCSP::Request::BER_encode
    linkageType: ''
    returnType: CertificatePathStatusCodes
    signature: "CertificatePathStatusCodes PKIX::check_ocsp_online(const std::vector<X509_Certificate>&
      cert_path,\n                                                   const std::vector<Certificate_Store*>&
      trusted_certstores,\n                                                   std::chrono::system_clock::time_point
      ref_time,\n                                                   std::chrono::milliseconds
      timeout,\n                                                   const Path_Validation_Restrictions&
      restrictions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:527,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:528,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:530,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:531,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:535,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:537,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509path.cpp:538,1
    - Dst: find_crl_for
      Src: /src/botan/src/lib/x509/x509path.cpp:540,1
    - Dst: has_value
      Src: /src/botan/src/lib/x509/x509path.cpp:541,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/x509/x509path.cpp:554,1
    - Dst: std::future<std::optional<X509_CRL>>
      Src: /src/botan/src/lib/x509/x509path.cpp:554,1
    - Dst: crl_distribution_point
      Src: /src/botan/src/lib/x509/x509path.cpp:555,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/x509/x509path.cpp:557,1
    - Dst: std::async
      Src: /src/botan/src/lib/x509/x509path.cpp:557,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/x509path.cpp:558,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/x509/x509path.cpp:561,1
    - Dst: std::async
      Src: /src/botan/src/lib/x509/x509path.cpp:561,1
    - Dst: Botan::HTTP::GET_sync
      Src: /src/botan/src/lib/x509/x509path.cpp:562,1
    - Dst: crl_distribution_point
      Src: /src/botan/src/lib/x509/x509path.cpp:562,1
    - Dst: auto::throw_unless_ok
      Src: /src/botan/src/lib/x509/x509path.cpp:566,1
    - Dst: X509_CRL
      Src: /src/botan/src/lib/x509/x509path.cpp:568,1
    - Dst: auto::body
      Src: /src/botan/src/lib/x509/x509path.cpp:568,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/x509path.cpp:573,1
    - Dst: valid
      Src: /src/botan/src/lib/x509/x509path.cpp:574,1
    - Dst: get
      Src: /src/botan/src/lib/x509/x509path.cpp:576,1
    - Dst: Botan::PKIX::check_crl
      Src: /src/botan/src/lib/x509/x509path.cpp:584,1
    - Dst: auto::size
      Src: /src/botan/src/lib/x509/x509path.cpp:587,1
    - Dst: contains
      Src: /src/botan/src/lib/x509/x509path.cpp:588,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509path.cpp:590,1
    - Dst: has_value
      Src: /src/botan/src/lib/x509/x509path.cpp:590,1
    - Dst: Certificate_Store_In_Memory*::add_crl
      Src: /src/botan/src/lib/x509/x509path.cpp:591,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 5
    argNames:
    - ' cert_path'
    - ' certstores'
    - crl_store
    - ref_time
    - timeout
    argTypes:
    - std::vector<X509_Certificate>
    - std::vector<Certificate_Store*>
    - Certificate_Store_In_Memory*
    - std::chrono::system_clock::time_point
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 597
      start: 522
    functionDepth: 2
    functionLinenumber: 522
    functionLinenumberEnd: 597
    functionName: Botan::PKIX::check_crl_online
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - contains
    - at
    - Certificate_Store_In_Memory*::add_crl
    - get
    - std::async
    - Botan::HTTP::GET_sync
    - auto::throw_unless_ok
    - has_value
    - find_crl_for
    - crl_distribution_point
    - X509_CRL
    - BOTAN_ASSERT_NOMSG
    - std::future<std::optional<X509_CRL>>
    - Invalid_Argument
    - Not_Implemented
    - size
    - empty
    - std::vector::emplace_back
    - Botan::PKIX::check_crl
    - auto::body
    - valid
    - auto::size
    linkageType: ''
    returnType: CertificatePathStatusCodes
    signature: "CertificatePathStatusCodes PKIX::check_crl_online(const std::vector<X509_Certificate>&
      cert_path,\n                                                  const std::vector<Certificate_Store*>&
      certstores,\n                                                  Certificate_Store_In_Memory*
      crl_store,\n                                                  std::chrono::system_clock::time_point
      ref_time,\n                                                  std::chrono::milliseconds
      timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_self_signed
      Src: /src/botan/src/lib/x509/x509path.cpp:605,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:617,1
    - Dst: std::set::insert
      Src: /src/botan/src/lib/x509/x509path.cpp:618,1
    - Dst: fingerprint
      Src: /src/botan/src/lib/x509/x509path.cpp:618,1
    - Dst: Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/lib/x509/x509path.cpp:622,1
    - Dst: back
      Src: /src/botan/src/lib/x509/x509path.cpp:627,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/x509path.cpp:628,1
    - Dst: authority_key_id
      Src: /src/botan/src/lib/x509/x509path.cpp:629,1
    - Dst: find_cert
      Src: /src/botan/src/lib/x509/x509path.cpp:635,1
    - Dst: Certificate_Store_In_Memory::find_cert
      Src: /src/botan/src/lib/x509/x509path.cpp:644,1
    - Dst: std::optional::fingerprint
      Src: /src/botan/src/lib/x509/x509path.cpp:651,1
    - Dst: std::set::contains
      Src: /src/botan/src/lib/x509/x509path.cpp:653,1
    - Dst: std::set::insert
      Src: /src/botan/src/lib/x509/x509path.cpp:658,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:659,1
    - Dst: std::optional::is_self_signed
      Src: /src/botan/src/lib/x509/x509path.cpp:661,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - ' cert_path'
    - ' trusted_certstores'
    - ' end_entity'
    - ' end_entity_extra'
    argTypes:
    - std::vector<X509_Certificate>
    - std::vector<Certificate_Store*>
    - X509_Certificate
    - std::vector<X509_Certificate>
    constantsTouched: []
    func_position:
      end: 669
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 669
    functionName: Botan::PKIX::build_certificate_path
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    - authority_key_id
    - fingerprint
    - std::optional::is_self_signed
    - Certificate_Store_In_Memory::find_cert
    - std::optional::fingerprint
    - find_cert
    - push_back
    - issuer_dn
    - is_self_signed
    - back
    - Certificate_Store_In_Memory::add_certificate
    - std::set::contains
    linkageType: ''
    returnType: Certificate_Status_Code
    signature: "Certificate_Status_Code PKIX::build_certificate_path(std::vector<X509_Certificate>&
      cert_path,\n                                                     const std::vector<Certificate_Store*>&
      trusted_certstores,\n                                                     const
      X509_Certificate& end_entity,\n                                                     const
      std::vector<X509_Certificate>& end_entity_extra)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:700,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:701,1
    - Dst: is_self_signed
      Src: /src/botan/src/lib/x509/x509path.cpp:704,1
    - Dst: Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/lib/x509/x509path.cpp:715,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:733,1
    - Dst: std::vector::back
      Src: /src/botan/src/lib/x509/x509path.cpp:734,1
    - Dst: std::vector::pop_back
      Src: /src/botan/src/lib/x509/x509path.cpp:737,1
    - Dst: std::vector::back
      Src: /src/botan/src/lib/x509/x509path.cpp:738,1
    - Dst: std::set::erase
      Src: /src/botan/src/lib/x509/x509path.cpp:739,1
    - Dst: std::vector::pop_back
      Src: /src/botan/src/lib/x509/x509path.cpp:740,1
    - Dst: std::vector::pop_back
      Src: /src/botan/src/lib/x509/x509path.cpp:745,1
    - Dst: std::optional::fingerprint
      Src: /src/botan/src/lib/x509/x509path.cpp:748,1
    - Dst: std::set::count
      Src: /src/botan/src/lib/x509/x509path.cpp:749,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:750,1
    - Dst: std::optional::is_self_signed
      Src: /src/botan/src/lib/x509/x509path.cpp:756,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:759,1
    - Dst: back
      Src: /src/botan/src/lib/x509/x509path.cpp:760,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:766,1
    - Dst: std::optional::issuer_dn
      Src: /src/botan/src/lib/x509/x509path.cpp:771,1
    - Dst: std::optional::authority_key_id
      Src: /src/botan/src/lib/x509/x509path.cpp:772,1
    - Dst: find_all_certs
      Src: /src/botan/src/lib/x509/x509path.cpp:777,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/x509/x509path.cpp:778,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/x509/x509path.cpp:778,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/x509/x509path.cpp:778,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509path.cpp:778,1
    - Dst: Certificate_Store_In_Memory::find_all_certs
      Src: /src/botan/src/lib/x509/x509path.cpp:782,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:785,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:785,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:786,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:791,1
    - Dst: std::set::emplace
      Src: /src/botan/src/lib/x509/x509path.cpp:792,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:795,1
    - Dst: std::optional<X509_Certificate>
      Src: /src/botan/src/lib/x509/x509path.cpp:795,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:798,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:802,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:808,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:809,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/x509/x509path.cpp:810,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 4
    argNames:
    - ' cert_paths_out'
    - ' trusted_certstores'
    - ' end_entity'
    - ' end_entity_extra'
    argTypes:
    - std::vector<std::vector<X509_Certificate>>
    - std::vector<Certificate_Store*>
    - std::optional<X509_Certificate>
    - std::vector<X509_Certificate>
    constantsTouched: []
    func_position:
      end: 818
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 818
    functionName: Botan::PKIX::build_all_certificate_paths
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 0
    functionsReached:
    - std::optional::is_self_signed
    - std::vector::back
    - std::vector::push_back
    - find_all_certs
    - auto::begin
    - std::set::count
    - std::vector::empty
    - std::optional<X509_Certificate>
    - std::optional::fingerprint
    - std::vector::end
    - auto::end
    - Invalid_Argument
    - Certificate_Store_In_Memory::add_certificate
    - std::optional::authority_key_id
    - Internal_Error
    - std::vector::pop_back
    - std::optional::issuer_dn
    - empty
    - push_back
    - back
    - std::set::emplace
    - Certificate_Store_In_Memory::find_all_certs
    - std::vector::insert
    - is_self_signed
    - std::set::erase
    linkageType: ''
    returnType: Certificate_Status_Code
    signature: "Certificate_Status_Code PKIX::build_all_certificate_paths(std::vector<std::vector<X509_Certificate>>&
      cert_paths_out,\n                                                          const
      std::vector<Certificate_Store*>& trusted_certstores,\n                                                          const
      std::optional<X509_Certificate>& end_entity,\n                                                          const
      std::vector<X509_Certificate>& end_entity_extra)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:824,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:825,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:828,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:831,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:831,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:836,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:840,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:840,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:849,1
    - Dst: require_revocation_information
      Src: /src/botan/src/lib/x509/x509path.cpp:854,1
    - Dst: ocsp_all_intermediates
      Src: /src/botan/src/lib/x509/x509path.cpp:855,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:856,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 25
    argCount: 4
    argNames:
    - ' chain_status'
    - ' crl'
    - ' ocsp'
    - ' restrictions'
    argTypes:
    - CertificatePathStatusCodes
    - CertificatePathStatusCodes
    - CertificatePathStatusCodes
    - Path_Validation_Restrictions
    constantsTouched: []
    func_position:
      end: 860
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 860
    functionName: Botan::PKIX::merge_revocation_status
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 0
    functionsReached:
    - size
    - empty
    - ocsp_all_intermediates
    - Invalid_Argument
    - require_revocation_information
    - insert
    linkageType: ''
    returnType: void
    signature: "void PKIX::merge_revocation_status(CertificatePathStatusCodes& chain_status,\n
      \                                  const CertificatePathStatusCodes& crl,\n
      \                                  const CertificatePathStatusCodes& ocsp,\n
      \                                  const Path_Validation_Restrictions& restrictions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:863,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:864,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:871,1
    - Dst: rbegin
      Src: /src/botan/src/lib/x509/x509path.cpp:872,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' cert_status'
    argTypes:
    - CertificatePathStatusCodes
    constantsTouched: []
    func_position:
      end: 880
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 880
    functionName: Botan::PKIX::overall_status
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 2
    functionsReached:
    - empty
    - rbegin
    - Invalid_Argument
    linkageType: ''
    returnType: Certificate_Status_Code
    signature: Certificate_Status_Code PKIX::overall_status(const CertificatePathStatusCodes&
      cert_status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:890,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509path.cpp:891,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/x509/x509path.cpp:896,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:897,1
    - Dst: Botan::PKIX::build_all_certificate_paths
      Src: /src/botan/src/lib/x509/x509path.cpp:902,1
    - Dst: Path_Validation_Result
      Src: /src/botan/src/lib/x509/x509path.cpp:906,1
    - Dst: Botan::PKIX::check_chain
      Src: /src/botan/src/lib/x509/x509path.cpp:912,1
    - Dst: Botan::PKIX::check_crl
      Src: /src/botan/src/lib/x509/x509path.cpp:914,1
    - Dst: Botan::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:918,1
    - Dst: Botan::PKIX::check_ocsp
      Src: /src/botan/src/lib/x509/x509path.cpp:919,1
    - Dst: CertificatePathStatusCodes::empty
      Src: /src/botan/src/lib/x509/x509path.cpp:922,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/lib/x509/x509path.cpp:922,1
    - Dst: Botan::PKIX::check_ocsp_online
      Src: /src/botan/src/lib/x509/x509path.cpp:924,1
    - Dst: CertificatePathStatusCodes::resize
      Src: /src/botan/src/lib/x509/x509path.cpp:926,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:927,1
    - Dst: Botan::PKIX::merge_revocation_status
      Src: /src/botan/src/lib/x509/x509path.cpp:931,1
    - Dst: Path_Validation_Result::successful_validation
      Src: /src/botan/src/lib/x509/x509path.cpp:934,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:937,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509path.cpp:937,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 8
    argNames:
    - ' end_certs'
    - ' restrictions'
    - ' trusted_roots'
    - hostname
    - usage
    - ref_time
    - ocsp_timeout
    - ' ocsp_resp'
    argTypes:
    - std::vector<X509_Certificate>
    - Path_Validation_Restrictions
    - std::vector<Certificate_Store*>
    - std::string_view
    - Usage_Type
    - std::chrono::system_clock::time_point
    - std::chrono::milliseconds
    - std::vector<std::optional<OCSP::Response>>
    constantsTouched: []
    func_position:
      end: 941
      start: 882
    functionDepth: 3
    functionLinenumber: 882
    functionLinenumberEnd: 941
    functionName: Botan::x509_path_validate
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 34
    functionsReached:
    - CertificatePathStatusCodes::empty
    - Path_Validation_Result
    - Botan::PKIX::check_crl
    - Botan::PKIX::check_ocsp
    - Botan::PKIX::check_ocsp_online
    - Botan::PKIX::merge_revocation_status
    - CertificatePathStatusCodes::resize
    - Botan_CLI::Timer::milliseconds
    - std::vector::push_back
    - std::move
    - Path_Validation_Result::successful_validation
    - Botan::empty
    - insert
    - Botan::size
    - Invalid_Argument
    - Botan::PKIX::build_all_certificate_paths
    - Botan::PKIX::check_chain
    linkageType: ''
    returnType: Path_Validation_Result
    signature: "Path_Validation_Result x509_path_validate(const std::vector<X509_Certificate>&
      end_certs,\n                                          const Path_Validation_Restrictions&
      restrictions,\n                                          const std::vector<Certificate_Store*>&
      trusted_roots,\n                                          std::string_view hostname,\n
      \                                         Usage_Type usage,\n                                          std::chrono::system_clock::time_point
      ref_time,\n                                          std::chrono::milliseconds
      ocsp_timeout,\n                                          const std::vector<std::optional<OCSP::Response>>&
      ocsp_resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:952,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/lib/x509/x509path.cpp:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - ' end_cert'
    - ' restrictions'
    - ' trusted_roots'
    - hostname
    - usage
    - when
    - ocsp_timeout
    - ' ocsp_resp'
    argTypes:
    - X509_Certificate
    - Path_Validation_Restrictions
    - std::vector<Certificate_Store*>
    - std::string_view
    - Usage_Type
    - std::chrono::system_clock::time_point
    - std::chrono::milliseconds
    - std::vector<std::optional<OCSP::Response>>
    constantsTouched: []
    func_position:
      end: 954
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 954
    functionName: Botan::x509_path_validate
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 35
    functionsReached:
    - std::vector::push_back
    - Botan::x509_path_validate
    linkageType: ''
    returnType: Path_Validation_Result
    signature: "Path_Validation_Result x509_path_validate(const X509_Certificate&
      end_cert,\n                                          const Path_Validation_Restrictions&
      restrictions,\n                                          const std::vector<Certificate_Store*>&
      trusted_roots,\n                                          std::string_view hostname,\n
      \                                         Usage_Type usage,\n                                          std::chrono::system_clock::time_point
      when,\n                                          std::chrono::milliseconds ocsp_timeout,\n
      \                                         const std::vector<std::optional<OCSP::Response>>&
      ocsp_resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:965,1
    - Dst: const_cast<Certificate_Store*>
      Src: /src/botan/src/lib/x509/x509path.cpp:965,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/lib/x509/x509path.cpp:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - ' end_certs'
    - ' restrictions'
    - ' store'
    - hostname
    - usage
    - when
    - ocsp_timeout
    - ' ocsp_resp'
    argTypes:
    - std::vector<X509_Certificate>
    - Path_Validation_Restrictions
    - Certificate_Store
    - std::string_view
    - Usage_Type
    - std::chrono::system_clock::time_point
    - std::chrono::milliseconds
    - std::vector<std::optional<OCSP::Response>>
    constantsTouched: []
    func_position:
      end: 968
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 968
    functionName: Botan::x509_path_validate
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 36
    functionsReached:
    - std::vector::push_back
    - const_cast<Certificate_Store*>
    - Botan::x509_path_validate
    linkageType: ''
    returnType: Path_Validation_Result
    signature: "Path_Validation_Result x509_path_validate(const std::vector<X509_Certificate>&
      end_certs,\n                                          const Path_Validation_Restrictions&
      restrictions,\n                                          const Certificate_Store&
      store,\n                                          std::string_view hostname,\n
      \                                         Usage_Type usage,\n                                          std::chrono::system_clock::time_point
      when,\n                                          std::chrono::milliseconds ocsp_timeout,\n
      \                                         const std::vector<std::optional<OCSP::Response>>&
      ocsp_resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:979,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:982,1
    - Dst: const_cast<Certificate_Store*>
      Src: /src/botan/src/lib/x509/x509path.cpp:982,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/lib/x509/x509path.cpp:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 8
    argNames:
    - ' end_cert'
    - ' restrictions'
    - ' store'
    - hostname
    - usage
    - when
    - ocsp_timeout
    - ' ocsp_resp'
    argTypes:
    - X509_Certificate
    - Path_Validation_Restrictions
    - Certificate_Store
    - std::string_view
    - Usage_Type
    - std::chrono::system_clock::time_point
    - std::chrono::milliseconds
    - std::vector<std::optional<OCSP::Response>>
    constantsTouched: []
    func_position:
      end: 985
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 985
    functionName: Botan::x509_path_validate
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 37
    functionsReached:
    - std::vector::push_back
    - const_cast<Certificate_Store*>
    - Botan::x509_path_validate
    linkageType: ''
    returnType: Path_Validation_Result
    signature: "Path_Validation_Result x509_path_validate(const X509_Certificate&
      end_cert,\n                                          const Path_Validation_Restrictions&
      restrictions,\n                                          const Certificate_Store&
      store,\n                                          std::string_view hostname,\n
      \                                         Usage_Type usage,\n                                          std::chrono::system_clock::time_point
      when,\n                                          std::chrono::milliseconds ocsp_timeout,\n
      \                                         const std::vector<std::optional<OCSP::Response>>&
      ocsp_resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509path.cpp:997,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:1000,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:1003,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:1004,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:1005,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:1006,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:1007,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/x509path.cpp:1008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - require_rev
    - key_strength
    - ocsp_intermediates
    - max_ocsp_age
    - trusted_ocsp_responders
    - ignore_trusted_root_time_range
    argTypes:
    - bool
    - size_t
    - bool
    - std::chrono::seconds
    - std::unique_ptr<Certificate_Store>
    - bool
    constantsTouched: []
    func_position:
      end: 1009
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 1009
    functionName: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 22
    functionsReached:
    - std::move
    - insert
    linkageType: ''
    returnType: void
    signature: "void Path_Validation_Restrictions::Path_Validation_Restrictions(bool
      require_rev,\n                                                           size_t
      key_strength,\n                                                           bool
      ocsp_intermediates,\n                                                           std::chrono::seconds
      max_ocsp_age,\n                                                           std::unique_ptr<Certificate_Store>
      trusted_ocsp_responders,\n                                                           bool
      ignore_trusted_root_time_range)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::set::insert
      Src: /src/botan/src/lib/x509/x509path.cpp:1019,1
    - Dst: CertificatePathStatusCodes::push_back
      Src: /src/botan/src/lib/x509/x509path.cpp:1022,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' all_statuses'
    argTypes:
    - CertificatePathStatusCodes
    constantsTouched: []
    func_position:
      end: 1025
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1025
    functionName: Botan::find_warnings
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 0
    functionsReached:
    - CertificatePathStatusCodes::push_back
    - std::set::insert
    linkageType: ''
    returnType: CertificatePathStatusCodes
    signature: CertificatePathStatusCodes find_warnings(const CertificatePathStatusCodes&
      all_statuses)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509path.cpp:1030,1
    - Dst: find_warnings
      Src: /src/botan/src/lib/x509/x509path.cpp:1031,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509path.cpp:1032,1
    - Dst: Botan::PKIX::overall_status
      Src: /src/botan/src/lib/x509/x509path.cpp:1033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - status
    - ' cert_chain'
    argTypes:
    - CertificatePathStatusCodes
    - std::vector<X509_Certificate>
    constantsTouched: []
    func_position:
      end: 1033
      start: 1028
    functionDepth: 2
    functionLinenumber: 1028
    functionLinenumberEnd: 1033
    functionName: Botan::Path_Validation_Result::Path_Validation_Result
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 2
    functionsReached:
    - Botan::PKIX::overall_status
    - std::move
    - find_warnings
    linkageType: ''
    returnType: void
    signature: "void Path_Validation_Result::Path_Validation_Result(CertificatePathStatusCodes
      status,\n                                               std::vector<X509_Certificate>&&
      cert_chain)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:1036,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/x509/x509path.cpp:1037,1
    - Dst: result
      Src: /src/botan/src/lib/x509/x509path.cpp:1039,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/x509/x509path.cpp:1040,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:1043,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1044
    functionName: '& Path_Validation_Result::trust_root() const'
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 0
    functionsReached:
    - result
    - empty
    - Invalid_State
    - size
    linkageType: ''
    returnType: X509_Certificate
    signature: X509_Certificate & Path_Validation_Result::trust_root() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: result
      Src: /src/botan/src/lib/x509/x509path.cpp:1047,1
    - Dst: result
      Src: /src/botan/src/lib/x509/x509path.cpp:1047,1
    - Dst: result
      Src: /src/botan/src/lib/x509/x509path.cpp:1048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1049
    functionName: Botan::Path_Validation_Result::successful_validation
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 17
    functionsReached:
    - result
    linkageType: ''
    returnType: bool
    signature: bool Path_Validation_Result::successful_validation() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509path.cpp:1053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1058
    functionName: Botan::Path_Validation_Result::no_warnings
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 1
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Path_Validation_Result::no_warnings() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1062
    functionName: Botan::Path_Validation_Result::warnings
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CertificatePathStatusCodes
    signature: CertificatePathStatusCodes Path_Validation_Result::warnings() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Path_Validation_Result::status_string
      Src: /src/botan/src/lib/x509/x509path.cpp:1065,1
    - Dst: result
      Src: /src/botan/src/lib/x509/x509path.cpp:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1066
    functionName: Botan::Path_Validation_Result::result_string
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 12
    functionsReached:
    - result
    - Botan::Path_Validation_Result::status_string
    linkageType: ''
    returnType: std::string
    signature: std::string Path_Validation_Result::result_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - code
    argTypes:
    - Certificate_Status_Code
    constantsTouched: []
    func_position:
      end: 1074
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1074
    functionName: Botan::Path_Validation_Result::status_string
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Path_Validation_Result::status_string(Certificate_Status_Code
      code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/x509/x509path.cpp:1079,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/x509/x509path.cpp:1081,1
    - Dst: Botan::Path_Validation_Result::status_string
      Src: /src/botan/src/lib/x509/x509path.cpp:1081,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/x509/x509path.cpp:1085,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/x509/x509path.cpp:1087,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/x509/x509path.cpp:1087,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/x509/x509path.cpp:1088,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/x509/x509path.cpp:1088,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/x509/x509path.cpp:1088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1091
    functionName: Botan::Path_Validation_Result::warnings_string
    functionSourceFile: /src/botan/src/lib/x509/x509path.cpp
    functionUses: 1
    functionsReached:
    - Botan::Path_Validation_Result::status_string
    - std::string::size
    - std::ostringstream::str
    - std::to_string
    - size
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string Path_Validation_Result::warnings_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/x509_ca.h:224,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ca.h:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 252
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/x509/x509_ca.h
    functionUses: 10
    functionsReached:
    - at
    - BOTAN_DEPRECATED
    linkageType: ''
    returnType: X509_CA
    signature: X509_CA final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tolower
      Src: /src/botan/src/lib/x509/x509_dn.cpp:24,1
    - Dst: static_cast<unsigned char>
      Src: /src/botan/src/lib/x509/x509_dn.cpp:24,1
    - Dst: std::tolower
      Src: /src/botan/src/lib/x509/x509_dn.cpp:24,1
    - Dst: static_cast<unsigned char>
      Src: /src/botan/src/lib/x509/x509_dn.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char
    - char
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::caseless_cmp
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - std::tolower
    linkageType: ''
    returnType: bool
    signature: bool caseless_cmp(char a, char b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::isspace
      Src: /src/botan/src/lib/x509/x509_dn.cpp:28,1
    - Dst: static_cast<unsigned char>
      Src: /src/botan/src/lib/x509/x509_dn.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: Botan::is_space
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - std::isspace
    linkageType: ''
    returnType: bool
    signature: bool is_space(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::begin
      Src: /src/botan/src/lib/x509/x509_dn.cpp:37,1
    - Dst: std::string_view::begin
      Src: /src/botan/src/lib/x509/x509_dn.cpp:38,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:40,1
    - Dst: Botan::is_space
      Src: /src/botan/src/lib/x509/x509_dn.cpp:40,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:43,1
    - Dst: Botan::is_space
      Src: /src/botan/src/lib/x509/x509_dn.cpp:43,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:47,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:47,1
    - Dst: Botan::is_space
      Src: /src/botan/src/lib/x509/x509_dn.cpp:48,1
    - Dst: Botan::is_space
      Src: /src/botan/src/lib/x509/x509_dn.cpp:49,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:53,1
    - Dst: Botan::is_space
      Src: /src/botan/src/lib/x509/x509_dn.cpp:53,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:56,1
    - Dst: Botan::is_space
      Src: /src/botan/src/lib/x509/x509_dn.cpp:56,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:60,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:60,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:63,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:63,1
    - Dst: Botan::caseless_cmp
      Src: /src/botan/src/lib/x509/x509_dn.cpp:68,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:75,1
    - Dst: Botan::is_space
      Src: /src/botan/src/lib/x509/x509_dn.cpp:75,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:78,1
    - Dst: Botan::is_space
      Src: /src/botan/src/lib/x509/x509_dn.cpp:78,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:82,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:82,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 86
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 86
    functionName: Botan::x500_name_cmp
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::begin
    - Botan::caseless_cmp
    - Botan::is_space
    - std::string_view::end
    linkageType: ''
    returnType: bool
    signature: bool x500_name_cmp(std::string_view name1, std::string_view name2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/x509_dn.cpp:94,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509_dn.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - str
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: Botan::X509_DN::add_attribute
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 5
    functionsReached:
    - Botan::OID::from_string
    - Botan::X509_DN::add_attribute
    linkageType: ''
    returnType: void
    signature: void X509_DN::add_attribute(std::string_view type, std::string_view
      str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_dn.cpp:101,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509_dn.cpp:105,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/x509_dn.cpp:105,1
    - Dst: clear
      Src: /src/botan/src/lib/x509/x509_dn.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' oid'
    - ' str'
    argTypes:
    - OID
    - ASN1_String
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: Botan::X509_DN::add_attribute
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 5
    functionsReached:
    - std::make_pair
    - empty
    - clear
    - push_back
    linkageType: ''
    returnType: void
    signature: void X509_DN::add_attribute(const OID& oid, const ASN1_String& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::multimap::emplace
      Src: /src/botan/src/lib/x509/x509_dn.cpp:116,1
    - Dst: second::value
      Src: /src/botan/src/lib/x509/x509_dn.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: Botan::X509_DN::get_attributes
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - std::multimap::emplace
    - second::value
    linkageType: ''
    returnType: std::multimap<OID, std::string>
    signature: std::multimap<OID, std::string> X509_DN::get_attributes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::multimap::emplace
      Src: /src/botan/src/lib/x509/x509_dn.cpp:128,1
    - Dst: first::to_formatted_string
      Src: /src/botan/src/lib/x509/x509_dn.cpp:128,1
    - Dst: second::value
      Src: /src/botan/src/lib/x509/x509_dn.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: Botan::X509_DN::contents
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - second::value
    - std::multimap::emplace
    - first::to_formatted_string
    linkageType: ''
    returnType: std::multimap<std::string, std::string>
    signature: std::multimap<std::string, std::string> X509_DN::contents() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509_dn.cpp:135,1
    - Dst: Botan::X509_DN::deref_info_field
      Src: /src/botan/src/lib/x509/x509_dn.cpp:135,1
    - Dst: OID::has_value
      Src: /src/botan/src/lib/x509/x509_dn.cpp:136,1
    - Dst: Botan::X509_DN::has_field
      Src: /src/botan/src/lib/x509/x509_dn.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - attr
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: Botan::X509_DN::has_field
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 1
    functionsReached:
    - Botan::OID::from_string
    - Botan::X509_DN::deref_info_field
    - OID::has_value
    - Botan::X509_DN::has_field
    linkageType: ''
    returnType: bool
    signature: bool X509_DN::has_field(std::string_view attr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: Botan::X509_DN::has_field
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool X509_DN::has_field(const OID& oid) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509_dn.cpp:155,1
    - Dst: Botan::X509_DN::deref_info_field
      Src: /src/botan/src/lib/x509/x509_dn.cpp:155,1
    - Dst: Botan::X509_DN::get_first_attribute
      Src: /src/botan/src/lib/x509/x509_dn.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attr
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: Botan::X509_DN::get_first_attribute
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 1
    functionsReached:
    - Botan::OID::from_string
    - Botan::X509_DN::deref_info_field
    - Botan::X509_DN::get_first_attribute
    linkageType: ''
    returnType: std::string
    signature: std::string X509_DN::get_first_attribute(std::string_view attr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_String
      Src: /src/botan/src/lib/x509/x509_dn.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: Botan::X509_DN::get_first_attribute
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 1
    functionsReached:
    - ASN1_String
    linkageType: ''
    returnType: ASN1_String
    signature: ASN1_String X509_DN::get_first_attribute(const OID& oid) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509_dn.cpp:173,1
    - Dst: Botan::X509_DN::deref_info_field
      Src: /src/botan/src/lib/x509/x509_dn.cpp:173,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/x509_dn.cpp:179,1
    - Dst: second::value
      Src: /src/botan/src/lib/x509/x509_dn.cpp:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - attr
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: Botan::X509_DN::get_attribute
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - Botan::X509_DN::deref_info_field
    - std::vector::push_back
    - second::value
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> X509_DN::get_attribute(std::string_view attr)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/x509/x509_dn.cpp:214,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 1
    argNames:
    - info
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 215
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 215
    functionName: Botan::X509_DN::deref_info_field
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 3
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string X509_DN::deref_info_field(std::string_view info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_attributes
      Src: /src/botan/src/lib/x509/x509_dn.cpp:221,1
    - Dst: get_attributes
      Src: /src/botan/src/lib/x509/x509_dn.cpp:222,1
    - Dst: auto::size
      Src: /src/botan/src/lib/x509/x509_dn.cpp:224,1
    - Dst: auto::size
      Src: /src/botan/src/lib/x509/x509_dn.cpp:224,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/x509/x509_dn.cpp:228,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/x509/x509_dn.cpp:229,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:232,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:232,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:235,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:238,1
    - Dst: Botan::x500_name_cmp
      Src: /src/botan/src/lib/x509/x509_dn.cpp:244,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - ' dn1'
    - ' dn2'
    argTypes:
    - X509_DN
    - X509_DN
    constantsTouched: []
    func_position:
      end: 251
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 251
    functionName: operator==(const X509_DN& dn1, const X509_DN& dn2)
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - auto::end
    - auto::begin
    - auto::size
    - get_attributes
    - Botan::x500_name_cmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const X509_DN& dn1, const X509_DN& dn2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' dn1'
    - ' dn2'
    argTypes:
    - X509_DN
    - X509_DN
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: operator!=(const X509_DN& dn1, const X509_DN& dn2)
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const X509_DN& dn1, const X509_DN& dn2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_attributes
      Src: /src/botan/src/lib/x509/x509_dn.cpp:264,1
    - Dst: get_attributes
      Src: /src/botan/src/lib/x509/x509_dn.cpp:265,1
    - Dst: auto::size
      Src: /src/botan/src/lib/x509/x509_dn.cpp:268,1
    - Dst: auto::size
      Src: /src/botan/src/lib/x509/x509_dn.cpp:268,1
    - Dst: auto::size
      Src: /src/botan/src/lib/x509/x509_dn.cpp:271,1
    - Dst: auto::size
      Src: /src/botan/src/lib/x509/x509_dn.cpp:271,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/x509/x509_dn.cpp:276,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/x509/x509_dn.cpp:277,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:279,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:279,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509_dn.cpp:289,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:289,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509_dn.cpp:290,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:290,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/x509/x509_dn.cpp:295,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/x509/x509_dn.cpp:296,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:297,1
    - Dst: auto::end
      Src: /src/botan/src/lib/x509/x509_dn.cpp:297,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/x509/x509_dn.cpp:298,1
    - Dst: Botan::x500_name_cmp
      Src: /src/botan/src/lib/x509/x509_dn.cpp:301,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/x509/x509_dn.cpp:312,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - ' dn1'
    - ' dn2'
    argTypes:
    - X509_DN
    - X509_DN
    constantsTouched: []
    func_position:
      end: 314
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 314
    functionName: operator<(const X509_DN& dn1, const X509_DN& dn2)
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - BOTAN_DEBUG_ASSERT
    - auto::end
    - auto::begin
    - auto::size
    - get_attributes
    - Botan::x500_name_cmp
    linkageType: ''
    returnType: bool
    signature: bool operator<(const X509_DN& dn1, const X509_DN& dn2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_DN::encode_into
      Src: /src/botan/src/lib/x509/x509_dn.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: Botan::X509_DN::DER_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_DN::encode_into
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X509_DN::DER_encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_dn.cpp:327,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_dn.cpp:329,1
    - Dst: raw_bytes
      Src: /src/botan/src/lib/x509/x509_dn.cpp:334,1
    - Dst: start_set
      Src: /src/botan/src/lib/x509/x509_dn.cpp:337,1
    - Dst: end_cons
      Src: /src/botan/src/lib/x509/x509_dn.cpp:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' der'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 342
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 342
    functionName: Botan::X509_DN::encode_into
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 1
    functionsReached:
    - start_set
    - start_sequence
    - end_cons
    - raw_bytes
    - empty
    linkageType: ''
    returnType: void
    signature: void X509_DN::encode_into(DER_Encoder& der) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_dn.cpp:350,1
    - Dst: clear
      Src: /src/botan/src/lib/x509/x509_dn.cpp:354,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/x509_dn.cpp:356,1
    - Dst: BER_Decoder::start_set
      Src: /src/botan/src/lib/x509/x509_dn.cpp:357,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/x509_dn.cpp:359,1
    - Dst: BER_Decoder::start_sequence
      Src: /src/botan/src/lib/x509/x509_dn.cpp:363,1
    - Dst: Botan::X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/x509_dn.cpp:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 374
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 374
    functionName: Botan::X509_DN::decode_from
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 3
    functionsReached:
    - BER_Decoder::more_items
    - start_sequence
    - BER_Decoder::start_set
    - clear
    - Botan::X509_DN::add_attribute
    - BER_Decoder::start_sequence
    linkageType: ''
    returnType: void
    signature: void X509_DN::decode_from(BER_Decoder& source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_formatted_string
      Src: /src/botan/src/lib/x509/x509_dn.cpp:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 398
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 398
    functionName: Botan::to_short_form
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - to_formatted_string
    linkageType: ''
    returnType: std::string
    signature: std::string to_short_form(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/x509/x509_dn.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: Botan::X509_DN::to_string
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string X509_DN::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dn_info
      Src: /src/botan/src/lib/x509/x509_dn.cpp:409,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509_dn.cpp:411,1
    - Dst: to_short_form
      Src: /src/botan/src/lib/x509/x509_dn.cpp:412,1
    - Dst: second::value
      Src: /src/botan/src/lib/x509/x509_dn.cpp:413,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509_dn.cpp:421,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' out'
    - ' dn'
    argTypes:
    - std::ostream
    - X509_DN
    constantsTouched: []
    func_position:
      end: 426
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 426
    functionName: '& operator<<(std::ostream& out, const X509_DN& dn)'
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - dn_info
    - second::value
    - size
    - to_short_form
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& out, const X509_DN& dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: good
      Src: /src/botan/src/lib/x509/x509_dn.cpp:435,1
    - Dst: std::isspace
      Src: /src/botan/src/lib/x509/x509_dn.cpp:438,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/x509/x509_dn.cpp:438,1
    - Dst: std::isspace
      Src: /src/botan/src/lib/x509/x509_dn.cpp:440,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/x509/x509_dn.cpp:441,1
    - Dst: good
      Src: /src/botan/src/lib/x509/x509_dn.cpp:448,1
    - Dst: std::isspace
      Src: /src/botan/src/lib/x509/x509_dn.cpp:451,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/x509/x509_dn.cpp:452,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509_dn.cpp:456,1
    - Dst: good
      Src: /src/botan/src/lib/x509/x509_dn.cpp:461,1
    - Dst: std::isspace
      Src: /src/botan/src/lib/x509/x509_dn.cpp:464,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/x509/x509_dn.cpp:465,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/x509/x509_dn.cpp:468,1
    - Dst: good
      Src: /src/botan/src/lib/x509/x509_dn.cpp:473,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/x509/x509_dn.cpp:476,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/x509/x509_dn.cpp:480,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/x509/x509_dn.cpp:484,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/x509/x509_dn.cpp:484,1
    - Dst: add_attribute
      Src: /src/botan/src/lib/x509/x509_dn.cpp:485,1
    - Dst: Botan::X509_DN::deref_info_field
      Src: /src/botan/src/lib/x509/x509_dn.cpp:485,1
    - Dst: good
      Src: /src/botan/src/lib/x509/x509_dn.cpp:489,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 58
    argCount: 2
    argNames:
    - ' in'
    - ' dn'
    argTypes:
    - std::istream
    - X509_DN
    constantsTouched: []
    func_position:
      end: 491
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 491
    functionName: '& operator>>(std::istream& in, X509_DN& dn)'
    functionSourceFile: /src/botan/src/lib/x509/x509_dn.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_DN::deref_info_field
    - std::isspace
    - std::string::push_back
    - add_attribute
    - std::string::empty
    - Invalid_Argument
    - good
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& in, X509_DN& dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_Time
      Src: /src/botan/src/lib/x509/x509opt.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - time_string
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: Botan::X509_Cert_Options::not_before
    functionSourceFile: /src/botan/src/lib/x509/x509opt.cpp
    functionUses: 2
    functionsReached:
    - X509_Time
    linkageType: ''
    returnType: void
    signature: void X509_Cert_Options::not_before(std::string_view time_string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_Time
      Src: /src/botan/src/lib/x509/x509opt.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - time_string
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::X509_Cert_Options::not_after
    functionSourceFile: /src/botan/src/lib/x509/x509opt.cpp
    functionUses: 2
    functionsReached:
    - X509_Time
    linkageType: ''
    returnType: void
    signature: void X509_Cert_Options::not_after(std::string_view time_string)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - usage
    argTypes:
    - Key_Constraints
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::X509_Cert_Options::add_constraints
    functionSourceFile: /src/botan/src/lib/x509/x509opt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_Cert_Options::add_constraints(Key_Constraints usage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509opt.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::X509_Cert_Options::add_ex_constraint
    functionSourceFile: /src/botan/src/lib/x509/x509opt.cpp
    functionUses: 2
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void X509_Cert_Options::add_ex_constraint(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/x509/x509opt.cpp:47,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509opt.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - oid_str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::X509_Cert_Options::add_ex_constraint
    functionSourceFile: /src/botan/src/lib/x509/x509opt.cpp
    functionUses: 2
    functionsReached:
    - Botan::OID::from_string
    - push_back
    linkageType: ''
    returnType: void
    signature: void X509_Cert_Options::add_ex_constraint(std::string_view oid_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: Botan::X509_Cert_Options::CA_key
    functionSourceFile: /src/botan/src/lib/x509/x509opt.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_Cert_Options::CA_key(size_t limit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: Botan::X509_Cert_Options::set_padding_scheme
    functionSourceFile: /src/botan/src/lib/x509/x509opt.cpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_Cert_Options::set_padding_scheme(std::string_view scheme)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/x509/x509opt.cpp:71,1
    - Dst: X509_Time
      Src: /src/botan/src/lib/x509/x509opt.cpp:73,1
    - Dst: X509_Time
      Src: /src/botan/src/lib/x509/x509opt.cpp:74,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/lib/x509/x509opt.cpp:74,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/x509opt.cpp:76,1
    - Dst: split_on
      Src: /src/botan/src/lib/x509/x509opt.cpp:80,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/x509opt.cpp:82,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509opt.cpp:83,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509opt.cpp:86,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/x509opt.cpp:89,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/x509opt.cpp:92,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/x509opt.cpp:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - initial_opts
    - expiration_time
    argTypes:
    - std::string_view
    - uint32_t
    constantsTouched: []
    func_position:
      end: 98
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 98
    functionName: Botan::X509_Cert_Options::X509_Cert_Options
    functionSourceFile: /src/botan/src/lib/x509/x509opt.cpp
    functionUses: 4
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - std::vector::size
    - std::vector::empty
    - split_on
    - X509_Time
    - std::string_view::empty
    - Invalid_Argument
    - Botan_CLI::Timer::seconds
    linkageType: ''
    returnType: void
    signature: void X509_Cert_Options::X509_Cert_Options(std::string_view initial_opts,
      uint32_t expiration_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_cert
      Src: /src/botan/src/lib/x509/certstor.h:71,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/certstor.h:71,1
    - Dst: subject_key_id
      Src: /src/botan/src/lib/x509/certstor.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: Botan::certificate_known
    functionSourceFile: /src/botan/src/lib/x509/certstor.h
    functionUses: 0
    functionsReached:
    - subject_key_id
    - subject_dn
    - find_cert
    linkageType: ''
    returnType: bool
    signature: bool certificate_known(const X509_Certificate& cert) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 146
    functionName: Certificate_Store
    functionSourceFile: /src/botan/src/lib/x509/certstor.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Certificate_Store_In_Memory
    signature: Certificate_Store_In_Memory Certificate_Store
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/alt_name.cpp:19,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/alt_name.cpp:20,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/alt_name.cpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - uri
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: Botan::AlternativeName::add_uri
    functionSourceFile: /src/botan/src/lib/x509/alt_name.cpp
    functionUses: 2
    functionsReached:
    - std::string_view::empty
    - std::string
    - insert
    linkageType: ''
    returnType: void
    signature: void AlternativeName::add_uri(std::string_view uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/alt_name.cpp:25,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/alt_name.cpp:26,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/alt_name.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - addr
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: Botan::AlternativeName::add_email
    functionSourceFile: /src/botan/src/lib/x509/alt_name.cpp
    functionUses: 2
    functionsReached:
    - std::string_view::empty
    - std::string
    - insert
    linkageType: ''
    returnType: void
    signature: void AlternativeName::add_email(std::string_view addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/alt_name.cpp:31,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/alt_name.cpp:32,1
    - Dst: tolower_string
      Src: /src/botan/src/lib/x509/alt_name.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dns
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: Botan::AlternativeName::add_dns
    functionSourceFile: /src/botan/src/lib/x509/alt_name.cpp
    functionUses: 2
    functionsReached:
    - std::string_view::empty
    - insert
    - tolower_string
    linkageType: ''
    returnType: void
    signature: void AlternativeName::add_dns(std::string_view dns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/x509/alt_name.cpp:37,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/alt_name.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' oid'
    - ' value'
    argTypes:
    - OID
    - ASN1_String
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::AlternativeName::add_other_name
    functionSourceFile: /src/botan/src/lib/x509/alt_name.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - insert
    linkageType: ''
    returnType: void
    signature: void AlternativeName::add_other_name(const OID& oid, const ASN1_String&
      value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/x509/alt_name.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dn'
    argTypes:
    - X509_DN
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::AlternativeName::add_dn
    functionSourceFile: /src/botan/src/lib/x509/alt_name.cpp
    functionUses: 2
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void AlternativeName::add_dn(const X509_DN& dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/x509/alt_name.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::AlternativeName::add_ipv4_address
    functionSourceFile: /src/botan/src/lib/x509/alt_name.cpp
    functionUses: 1
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void AlternativeName::add_ipv4_address(uint32_t ip)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_add
      Src: /src/botan/src/lib/x509/alt_name.cpp:49,1
    - Dst: size
      Src: /src/botan/src/lib/x509/alt_name.cpp:50,1
    - Dst: size
      Src: /src/botan/src/lib/x509/alt_name.cpp:50,1
    - Dst: size
      Src: /src/botan/src/lib/x509/alt_name.cpp:50,1
    - Dst: size
      Src: /src/botan/src/lib/x509/alt_name.cpp:50,1
    - Dst: size
      Src: /src/botan/src/lib/x509/alt_name.cpp:50,1
    - Dst: size
      Src: /src/botan/src/lib/x509/alt_name.cpp:50,1
    - Dst: BOTAN_ASSERT_IS_SOME
      Src: /src/botan/src/lib/x509/alt_name.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: Botan::AlternativeName::count
    functionSourceFile: /src/botan/src/lib/x509/alt_name.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_IS_SOME
    - checked_add
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AlternativeName::count() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlternativeName::count
      Src: /src/botan/src/lib/x509/alt_name.cpp: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: Botan::AlternativeName::has_items
    functionSourceFile: /src/botan/src/lib/x509/alt_name.cpp
    functionUses: 0
    functionsReached:
    - Botan::AlternativeName::count
    linkageType: ''
    returnType: bool
    signature: bool AlternativeName::has_items() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/alt_name.cpp:60,1
    - Dst: start_explicit
      Src: /src/botan/src/lib/x509/alt_name.cpp:76,1
    - Dst: add_object
      Src: /src/botan/src/lib/x509/alt_name.cpp:86,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/alt_name.cpp:86,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/x509/alt_name.cpp:86,1
    - Dst: add_object
      Src: /src/botan/src/lib/x509/alt_name.cpp:91,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/alt_name.cpp:91,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/x509/alt_name.cpp:91,1
    - Dst: add_object
      Src: /src/botan/src/lib/x509/alt_name.cpp:95,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/alt_name.cpp:95,1
    - Dst: DER_encode
      Src: /src/botan/src/lib/x509/alt_name.cpp:95,1
    - Dst: add_object
      Src: /src/botan/src/lib/x509/alt_name.cpp:100,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/alt_name.cpp:100,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/x509/alt_name.cpp:100,1
    - Dst: store_be
      Src: /src/botan/src/lib/x509/alt_name.cpp:104,1
    - Dst: add_object
      Src: /src/botan/src/lib/x509/alt_name.cpp:106,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/x509/alt_name.cpp:106,1
    - Dst: auto::data
      Src: /src/botan/src/lib/x509/alt_name.cpp:106,1
    - Dst: end_cons
      Src: /src/botan/src/lib/x509/alt_name.cpp:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - ' der'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 110
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 110
    functionName: Botan::AlternativeName::encode_into
    functionSourceFile: /src/botan/src/lib/x509/alt_name.cpp
    functionUses: 0
    functionsReached:
    - DER_encode
    - start_sequence
    - store_be
    - end_cons
    - ASN1_String::value
    - auto::data
    - add_object
    - start_explicit
    - ASN1_Type
    linkageType: ''
    returnType: void
    signature: void AlternativeName::encode_into(DER_Encoder& der) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/alt_name.cpp:113,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/alt_name.cpp:115,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/alt_name.cpp:116,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/alt_name.cpp:118,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/alt_name.cpp:122,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/alt_name.cpp:123,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/alt_name.cpp:124,1
    - Dst: BER_Decoder::verify_end
      Src: /src/botan/src/lib/x509/alt_name.cpp:125,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/alt_name.cpp:127,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/alt_name.cpp:128,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/alt_name.cpp:133,1
    - Dst: BER_Decoder::verify_end
      Src: /src/botan/src/lib/x509/alt_name.cpp:134,1
    - Dst: Botan::ASN1_String::is_string_type
      Src: /src/botan/src/lib/x509/alt_name.cpp:136,1
    - Dst: BER_Object::type
      Src: /src/botan/src/lib/x509/alt_name.cpp:136,1
    - Dst: BER_Object::get_class
      Src: /src/botan/src/lib/x509/alt_name.cpp:136,1
    - Dst: Botan::AlternativeName::add_othername
      Src: /src/botan/src/lib/x509/alt_name.cpp:137,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/x509/alt_name.cpp:137,1
    - Dst: BER_Object::type
      Src: /src/botan/src/lib/x509/alt_name.cpp:137,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/alt_name.cpp:140,1
    - Dst: Botan::AlternativeName::add_email
      Src: /src/botan/src/lib/x509/alt_name.cpp:141,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/x509/alt_name.cpp:141,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/alt_name.cpp:142,1
    - Dst: insert
      Src: /src/botan/src/lib/x509/alt_name.cpp:143,1
    - Dst: check_and_canonicalize_dns_name
      Src: /src/botan/src/lib/x509/alt_name.cpp:143,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/x509/alt_name.cpp:143,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/alt_name.cpp:144,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/alt_name.cpp:147,1
    - Dst: Botan::AlternativeName::add_dn
      Src: /src/botan/src/lib/x509/alt_name.cpp:148,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/alt_name.cpp:149,1
    - Dst: Botan::AlternativeName::add_uri
      Src: /src/botan/src/lib/x509/alt_name.cpp:150,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/x509/alt_name.cpp:150,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/alt_name.cpp:151,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/alt_name.cpp:152,1
    - Dst: Botan::AlternativeName::add_ipv4_address
      Src: /src/botan/src/lib/x509/alt_name.cpp:154,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/alt_name.cpp:155,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/alt_name.cpp:156,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 160
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 160
    functionName: Botan::AlternativeName::decode_from
    functionSourceFile: /src/botan/src/lib/x509/alt_name.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder::more_items
    - Botan::ASN1::to_string
    - BER_Object::is_a
    - Decoding_Error
    - Botan::AlternativeName::add_dn
    - BER_Object::type
    - insert
    - Botan::AlternativeName::add_ipv4_address
    - Botan::AlternativeName::add_uri
    - check_and_canonicalize_dns_name
    - BER_Decoder::verify_end
    - BER_Decoder::decode
    - BER_Decoder::get_next_object
    - Botan::ASN1_String::is_string_type
    - BER_Object::length
    - Botan::AlternativeName::add_email
    - start_sequence
    - Botan::AlternativeName::add_othername
    - BER_Object::get_class
    linkageType: ''
    returnType: void
    signature: void AlternativeName::decode_from(BER_Decoder& source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Path_Validation_Restrictions
      Src: /src/botan/src/lib/x509/x509path.h:56,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/x509/x509path.h:60,1
    - Dst: std::make_unique<Certificate_Store_In_Memory>
      Src: /src/botan/src/lib/x509/x509path.h:61,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/x509/x509path.h:86,1
    - Dst: std::make_unique<Certificate_Store_In_Memory>
      Src: /src/botan/src/lib/x509/x509path.h:87,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509path.h:94,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/x509/x509path.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 152
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/x509/x509path.h
    functionUses: 10
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - Botan::get
    - Path_Validation_Restrictions
    - std::make_unique<Certificate_Store_In_Memory>
    - std::move
    linkageType: ''
    returnType: Path_Validation_Restrictions
    signature: Path_Validation_Restrictions final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 232
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/x509/x509path.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: Path_Validation_Result
    signature: Path_Validation_Result final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::X509_CRL::PEM_label
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X509_CRL::PEM_label() const
  - 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: Botan::X509_CRL::alternate_PEM_labels
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> X509_CRL::alternate_PEM_labels() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' src'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::X509_CRL::X509_CRL
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 5
    functionsReached:
    - load_data
    linkageType: ''
    returnType: void
    signature: void X509_CRL::X509_CRL(DataSource& src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:45,1
    - Dst: size
      Src: /src/botan/src/lib/x509/x509_crl.cpp:45,1
    - Dst: load_data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: Botan::X509_CRL::X509_CRL
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 5
    functionsReached:
    - data
    - size
    - load_data
    linkageType: ''
    returnType: void
    signature: void X509_CRL::X509_CRL(const std::vector<uint8_t>& vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fsname
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: Botan::X509_CRL::X509_CRL
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 5
    functionsReached:
    - load_data
    linkageType: ''
    returnType: void
    signature: void X509_CRL::X509_CRL(std::string_view fsname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<CRL_Data>
      Src: /src/botan/src/lib/x509/x509_crl.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' issuer'
    - ' this_update'
    - ' next_update'
    - ' revoked'
    argTypes:
    - X509_DN
    - X509_Time
    - X509_Time
    - std::vector<CRL_Entry>
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: Botan::X509_CRL::X509_CRL
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 5
    functionsReached:
    - std::make_shared<CRL_Data>
    linkageType: ''
    returnType: void
    signature: "void X509_CRL::X509_CRL(const X509_DN& issuer,\n                   const
      X509_Time& this_update,\n                   const X509_Time& next_update,\n
      \                  const std::vector<CRL_Entry>& revoked)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/x509_crl.cpp:76,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/x509_crl.cpp:76,1
    - Dst: authority_key_id
      Src: /src/botan/src/lib/x509/x509_crl.cpp:80,1
    - Dst: authority_key_id
      Src: /src/botan/src/lib/x509/x509_crl.cpp:81,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/x509/x509_crl.cpp:83,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_crl.cpp:83,1
    - Dst: serial_number
      Src: /src/botan/src/lib/x509/x509_crl.cpp:89,1
    - Dst: get_revoked
      Src: /src/botan/src/lib/x509/x509_crl.cpp:94,1
    - Dst: serial_number
      Src: /src/botan/src/lib/x509/x509_crl.cpp:95,1
    - Dst: reason_code
      Src: /src/botan/src/lib/x509/x509_crl.cpp:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 105
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 105
    functionName: Botan::X509_CRL::is_revoked
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - authority_key_id
    - std::vector::empty
    - empty
    - get_revoked
    - reason_code
    - issuer_dn
    - serial_number
    linkageType: ''
    returnType: bool
    signature: bool X509_CRL::is_revoked(const X509_Certificate& cert) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CRL_Data>
      Src: /src/botan/src/lib/x509/x509_crl.cpp:113,1
    - Dst: BER_Decoder::decode_optional
      Src: /src/botan/src/lib/x509/x509_crl.cpp:117,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/x509/x509_crl.cpp:121,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/x509/x509_crl.cpp:121,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_crl.cpp:125,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/x509/x509_crl.cpp:128,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_crl.cpp:131,1
    - Dst: BER_Decoder::decode_optional
      Src: /src/botan/src/lib/x509/x509_crl.cpp:139,1
    - Dst: auto::m_next_update::time_is_set
      Src: /src/botan/src/lib/x509/x509_crl.cpp:140,1
    - Dst: BER_Decoder::decode_optional
      Src: /src/botan/src/lib/x509/x509_crl.cpp:141,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/x509_crl.cpp:144,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/x509_crl.cpp:146,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/x509_crl.cpp:149,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_crl.cpp:151,1
    - Dst: auto::m_entries::push_back
      Src: /src/botan/src/lib/x509/x509_crl.cpp:152,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/x509_crl.cpp:154,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/x509_crl.cpp:157,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/x509_crl.cpp:159,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/x509_crl.cpp:160,1
    - Dst: BER_Object::is_set
      Src: /src/botan/src/lib/x509/x509_crl.cpp:163,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/x509/x509_crl.cpp:164,1
    - Dst: BER_Decoder::verify_end
      Src: /src/botan/src/lib/x509/x509_crl.cpp:167,1
    - Dst: auto::m_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509_crl.cpp:170,1
    - Dst: auto::get_crl_number
      Src: /src/botan/src/lib/x509/x509_crl.cpp:171,1
    - Dst: auto::m_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509_crl.cpp:173,1
    - Dst: auto::get_key_id
      Src: /src/botan/src/lib/x509/x509_crl.cpp:174,1
    - Dst: auto::m_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/x509_crl.cpp:176,1
    - Dst: auto::get_point
      Src: /src/botan/src/lib/x509/x509_crl.cpp:177,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - ' body'
    - ' sig_algo'
    argTypes:
    - std::vector<uint8_t>
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 181
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 181
    functionName: Botan::decode_crl_body
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder::get_next_object
    - auto::get_crl_number
    - BER_Decoder::more_items
    - Botan::Decoding_Error
    - std::make_unique<CRL_Data>
    - auto::get_point
    - BER_Object::is_a
    - BER_Object::is_set
    - auto::m_extensions::get_extension_object_as
    - auto::m_next_update::time_is_set
    - BER_Decoder::decode_optional
    - Botan::to_string
    - auto::m_entries::push_back
    - auto::get_key_id
    - BER_Decoder::verify_end
    - BER_Decoder::decode
    linkageType: ''
    returnType: std::unique_ptr<CRL_Data>
    signature: std::unique_ptr<CRL_Data> decode_crl_body(const std::vector<uint8_t>&
      body, const AlgorithmIdentifier& sig_algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/x509/x509_crl.cpp:186,1
    - Dst: decode_crl_body
      Src: /src/botan/src/lib/x509/x509_crl.cpp:186,1
    - Dst: signed_body
      Src: /src/botan/src/lib/x509/x509_crl.cpp:186,1
    - Dst: signature_algorithm
      Src: /src/botan/src/lib/x509/x509_crl.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: Botan::X509_CRL::force_decode
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - signed_body
    - decode_crl_body
    - reset
    - signature_algorithm
    linkageType: ''
    returnType: void
    signature: void X509_CRL::force_decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/x509/x509_crl.cpp:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: '& X509_CRL::data() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: CRL_Data
    signature: CRL_Data & X509_CRL::data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: '& X509_CRL::extensions() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: Extensions
    signature: Extensions & X509_CRL::extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: '& X509_CRL::get_revoked() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<CRL_Entry>
    signature: std::vector<CRL_Entry> & X509_CRL::get_revoked() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_crl.cpp:208,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: Botan::X509_CRL::x509_version
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - data
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t X509_CRL::x509_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: '& X509_CRL::issuer_dn() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: X509_DN
    signature: X509_DN & X509_CRL::issuer_dn() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: '& X509_CRL::authority_key_id() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509_CRL::authority_key_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/x509_crl.cpp:229,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: Botan::X509_CRL::crl_number
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 1
    functionsReached:
    - data
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t X509_CRL::crl_number() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: '& X509_CRL::this_update() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: X509_Time
    signature: X509_Time & X509_CRL::this_update() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: '& X509_CRL::next_update() const'
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: X509_Time
    signature: X509_Time & X509_CRL::next_update() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:250,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_crl.cpp:250,1
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: Botan::X509_CRL::crl_issuing_distribution_point
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - empty
    - data
    linkageType: ''
    returnType: std::string
    signature: std::string X509_CRL::crl_issuing_distribution_point() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/x509_crl.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: Botan::X509_CRL::issuing_distribution_points
    functionSourceFile: /src/botan/src/lib/x509/x509_crl.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> X509_CRL::issuing_distribution_points() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:24,1
    - Dst: Botan::AlternativeName::add_email
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:25,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:27,1
    - Dst: Botan::AlternativeName::add_dns
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:28,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:30,1
    - Dst: Botan::AlternativeName::add_uri
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:31,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:33,1
    - Dst: string_to_ipv4
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:34,1
    - Dst: Botan::AlternativeName::add_ipv4_address
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:35,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:37,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:37,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - email_addr
    - uri
    - dns
    - ip
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 40
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 40
    functionName: Botan::AlternativeName::AlternativeName
    functionSourceFile: /src/botan/src/lib/x509/asn1_alt_name.cpp
    functionUses: 4
    functionsReached:
    - Botan::AlternativeName::add_dns
    - Botan::AlternativeName::add_uri
    - fmt
    - Botan::AlternativeName::add_ipv4_address
    - std::string_view::empty
    - Invalid_Argument
    - Botan::AlternativeName::add_email
    - string_to_ipv4
    linkageType: ''
    returnType: void
    signature: "void AlternativeName::AlternativeName(std::string_view email_addr,\n
      \                                std::string_view uri,\n                                 std::string_view
      dns,\n                                 std::string_view ip)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:46,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:46,1
    - Dst: Botan::AlternativeName::add_dns
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:51,1
    - Dst: Botan::AlternativeName::add_email
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:53,1
    - Dst: Botan::AlternativeName::add_uri
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:55,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:58,1
    - Dst: Botan::AlternativeName::add_dn
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:60,1
    - Dst: string_to_ipv4
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:62,1
    - Dst: Botan::AlternativeName::add_ipv4_address
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:63,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:65,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:65,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:68,1
    - Dst: fmt
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:68,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 70
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 70
    functionName: Botan::AlternativeName::add_attribute
    functionSourceFile: /src/botan/src/lib/x509/asn1_alt_name.cpp
    functionUses: 1
    functionsReached:
    - Botan::AlternativeName::add_dns
    - Botan::AlternativeName::add_uri
    - fmt
    - std::string
    - Not_Implemented
    - Botan::AlternativeName::add_ipv4_address
    - std::string_view::empty
    - Botan::AlternativeName::add_dn
    - Invalid_Argument
    - Botan::AlternativeName::add_email
    - string_to_ipv4
    linkageType: ''
    returnType: void
    signature: void AlternativeName::add_attribute(std::string_view type, std::string_view
      value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:76,1
    - Dst: Botan::AlternativeName::add_other_name
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:79,1
    - Dst: ASN1_String
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' oid'
    - value
    - type
    argTypes:
    - OID
    - std::string_view
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: Botan::AlternativeName::add_othername
    functionSourceFile: /src/botan/src/lib/x509/asn1_alt_name.cpp
    functionUses: 1
    functionsReached:
    - std::string_view::empty
    - ASN1_String
    - Botan::AlternativeName::add_other_name
    linkageType: ''
    returnType: void
    signature: void AlternativeName::add_othername(const OID& oid, std::string_view
      value, ASN1_Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlternativeName::dns
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:88,1
    - Dst: std::multimap::emplace
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:89,1
    - Dst: Botan::AlternativeName::email
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:92,1
    - Dst: std::multimap::emplace
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:93,1
    - Dst: Botan::AlternativeName::uris
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:96,1
    - Dst: std::multimap::emplace
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:97,1
    - Dst: Botan::AlternativeName::ipv4_address
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:100,1
    - Dst: std::multimap::emplace
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:101,1
    - Dst: ipv4_to_string
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:101,1
    - Dst: Botan::AlternativeName::directory_names
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:104,1
    - Dst: std::multimap::emplace
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:105,1
    - Dst: to_string
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:105,1
    - Dst: Botan::AlternativeName::other_names
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:108,1
    - Dst: std::multimap::emplace
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:109,1
    - Dst: first::to_formatted_string
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:109,1
    - Dst: second::value
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 113
    functionName: Botan::AlternativeName::contents
    functionSourceFile: /src/botan/src/lib/x509/asn1_alt_name.cpp
    functionUses: 0
    functionsReached:
    - Botan::AlternativeName::directory_names
    - Botan::AlternativeName::ipv4_address
    - Botan::AlternativeName::email
    - Botan::AlternativeName::other_names
    - ipv4_to_string
    - first::to_formatted_string
    - Botan::AlternativeName::uris
    - to_string
    - Botan::AlternativeName::dns
    - std::multimap::emplace
    - second::value
    linkageType: ''
    returnType: std::multimap<std::string, std::string>
    signature: std::multimap<std::string, std::string> AlternativeName::contents()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlternativeName::contents
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:118,1
    - Dst: std::multimap::emplace
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: Botan::AlternativeName::get_attributes
    functionSourceFile: /src/botan/src/lib/x509/asn1_alt_name.cpp
    functionUses: 0
    functionsReached:
    - std::multimap::emplace
    - Botan::AlternativeName::contents
    linkageType: ''
    returnType: std::multimap<std::string, std::string, std::less<>>
    signature: std::multimap<std::string, std::string, std::less<>> AlternativeName::get_attributes()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlternativeName::get_attribute
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attr
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: Botan::AlternativeName::has_field
    functionSourceFile: /src/botan/src/lib/x509/asn1_alt_name.cpp
    functionUses: 0
    functionsReached:
    - Botan::AlternativeName::get_attribute
    linkageType: ''
    returnType: bool
    signature: bool AlternativeName::has_field(std::string_view attr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlternativeName::get_attribute
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:130,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: Botan::AlternativeName::get_first_attribute
    functionSourceFile: /src/botan/src/lib/x509/asn1_alt_name.cpp
    functionUses: 0
    functionsReached:
    - Botan::AlternativeName::get_attribute
    - auto::empty
    linkageType: ''
    returnType: std::string
    signature: std::string AlternativeName::get_first_attribute(std::string_view type)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:140,1
    - Dst: end
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:140,1
    - Dst: set_to_vector
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:143,1
    - Dst: Botan::AlternativeName::dns
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:143,1
    - Dst: set_to_vector
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:145,1
    - Dst: Botan::AlternativeName::email
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:145,1
    - Dst: set_to_vector
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:147,1
    - Dst: Botan::AlternativeName::uris
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:147,1
    - Dst: Botan::AlternativeName::directory_names
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:151,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:152,1
    - Dst: to_string
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:152,1
    - Dst: Botan::AlternativeName::ipv4_address
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:158,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:159,1
    - Dst: ipv4_to_string
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - attr
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 165
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 165
    functionName: Botan::AlternativeName::get_attribute
    functionSourceFile: /src/botan/src/lib/x509/asn1_alt_name.cpp
    functionUses: 2
    functionsReached:
    - Botan::AlternativeName::directory_names
    - Botan::AlternativeName::ipv4_address
    - Botan::AlternativeName::email
    - begin
    - ipv4_to_string
    - end
    - Botan::AlternativeName::uris
    - std::vector::push_back
    - to_string
    - Botan::AlternativeName::dns
    - set_to_vector
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> AlternativeName::get_attribute(std::string_view
      attr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlternativeName::directory_names
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:173,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/x509/asn1_alt_name.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: Botan::AlternativeName::dn
    functionSourceFile: /src/botan/src/lib/x509/asn1_alt_name.cpp
    functionUses: 0
    functionsReached:
    - Botan::AlternativeName::directory_names
    - std::ostringstream::str
    linkageType: ''
    returnType: X509_DN
    signature: X509_DN AlternativeName::dn() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Constraints
      Src: /src/botan/src/lib/x509/pkix_enums.h:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 192
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/x509/pkix_enums.h
    functionUses: 10
    functionsReached:
    - Key_Constraints
    linkageType: ''
    returnType: Key_Constraints
    signature: Key_Constraints final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    functionName: Botan::X509_Certificate
    functionSourceFile: /src/botan/src/lib/x509/x509cert.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_Certificate()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: Botan::X509_Certificate
    functionSourceFile: /src/botan/src/lib/x509/x509cert.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_Certificate(const X509_Certificate& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: return std::make_unique<Basic_Constraints>
      Src: /src/botan/src/lib/x509/x509_ext.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: Botan::Cert_Extension::Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - return std::make_unique<Basic_Constraints>
    linkageType: ''
    returnType: Basic_Constraints
    signature: Basic_Constraints Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::Cert_Extension::Basic_Constraints
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Basic_Constraints(bool ca = false, size_t limit = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::Cert_Extension::get_is_ca
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool get_is_ca() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan::Cert_Extension::static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 1
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cert_Extension::static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::Cert_Extension::oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - Botan::Cert_Extension::static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: return std::make_unique<Key_Usage>
      Src: /src/botan/src/lib/x509/x509_ext.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - return std::make_unique<Key_Usage>
    linkageType: ''
    returnType: Key_Usage
    signature: Key_Usage Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - Key_Constraints
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Key_Usage
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Usage(Key_Constraints c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Key_Usage
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Usage()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: get_constraints
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Key_Constraints
    signature: Key_Constraints get_constraints() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 2
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 4
    functionsReached:
    - static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Subject_Key_ID
      Src: /src/botan/src/lib/x509/x509_ext.h:89,1
    - Dst: std::make_unique<Subject_Key_ID>
      Src: /src/botan/src/lib/x509/x509_ext.h:96,1
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:101,1
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 106
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Subject_Key_ID>
    - OID
    - static_oid
    - Subject_Key_ID
    linkageType: ''
    returnType: Subject_Key_ID
    signature: Subject_Key_ID Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: return std::make_unique<Authority_Key_ID>
      Src: /src/botan/src/lib/x509/x509_ext.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - return std::make_unique<Authority_Key_ID>
    linkageType: ''
    returnType: Authority_Key_ID
    signature: Authority_Key_ID Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: Authority_Key_ID
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Authority_Key_ID()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Authority_Key_ID
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Authority_Key_ID(const std::vector<uint8_t>& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: get_key_id
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & get_key_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 4
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 4
    functionsReached:
    - static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:153,1
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:155,1
    - Dst: std::make_unique<Subject_Alternative_Name>
      Src: /src/botan/src/lib/x509/x509_ext.h:158,1
    - Dst: get_alt_name
      Src: /src/botan/src/lib/x509/x509_ext.h:158,1
    - Dst: AlternativeName
      Src: /src/botan/src/lib/x509/x509_ext.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 164
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - get_alt_name
    - AlternativeName
    - static_oid
    - OID
    - std::make_unique<Subject_Alternative_Name>
    linkageType: ''
    returnType: Subject_Alternative_Name
    signature: Subject_Alternative_Name Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_items
      Src: /src/botan/src/lib/x509/x509_ext.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - has_items
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:181,1
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:183,1
    - Dst: std::make_unique<Issuer_Alternative_Name>
      Src: /src/botan/src/lib/x509/x509_ext.h:186,1
    - Dst: get_alt_name
      Src: /src/botan/src/lib/x509/x509_ext.h:186,1
    - Dst: AlternativeName
      Src: /src/botan/src/lib/x509/x509_ext.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 192
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - get_alt_name
    - AlternativeName
    - static_oid
    - OID
    - std::make_unique<Issuer_Alternative_Name>
    linkageType: ''
    returnType: Issuer_Alternative_Name
    signature: Issuer_Alternative_Name Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_items
      Src: /src/botan/src/lib/x509/x509_ext.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - has_items
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: return std::make_unique<Extended_Key_Usage>
      Src: /src/botan/src/lib/x509/x509_ext.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - return std::make_unique<Extended_Key_Usage>
    linkageType: ''
    returnType: Extended_Key_Usage
    signature: Extended_Key_Usage Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: Extended_Key_Usage
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Extended_Key_Usage()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - std::vector<OID>
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: Extended_Key_Usage
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Extended_Key_Usage(const std::vector<OID>& o)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: object_identifiers
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<OID>
    signature: std::vector<OID> & object_identifiers() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 7
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 4
    functionsReached:
    - static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: return std::make_unique<Name_Constraints>
      Src: /src/botan/src/lib/x509/x509_ext.h:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - return std::make_unique<Name_Constraints>
    linkageType: ''
    returnType: Name_Constraints
    signature: Name_Constraints Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 241
    functionName: Name_Constraints
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Name_Constraints()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' nc'
    argTypes:
    - NameConstraints
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: Name_Constraints
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Name_Constraints(const NameConstraints& nc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: get_name_constraints
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: NameConstraints
    signature: NameConstraints & get_name_constraints() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 8
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 4
    functionsReached:
    - static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: return std::make_unique<Certificate_Policies>
      Src: /src/botan/src/lib/x509/x509_ext.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - return std::make_unique<Certificate_Policies>
    linkageType: ''
    returnType: Certificate_Policies
    signature: Certificate_Policies Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: Certificate_Policies
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Certificate_Policies()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - std::vector<OID>
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: Certificate_Policies
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Certificate_Policies(const std::vector<OID>& o)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: get_policy_oids
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<OID>
    signature: std::vector<OID> & get_policy_oids() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 9
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 4
    functionsReached:
    - static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: return std::make_unique<Authority_Information_Access>
      Src: /src/botan/src/lib/x509/x509_ext.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - return std::make_unique<Authority_Information_Access>
    linkageType: ''
    returnType: Authority_Information_Access
    signature: Authority_Information_Access Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: Authority_Information_Access
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Authority_Information_Access()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>
      Src: /src/botan/src/lib/x509/x509_ext.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ocsp
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: Authority_Information_Access
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - std::vector<std::string>
    linkageType: ''
    returnType: void
    signature: "void Authority_Information_Access(std::string_view ocsp,\n                                            const
      std::vector<std::string>& ca_issuers = std::vector<std::string>())"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: ocsp_responder
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ocsp_responder() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 10
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 4
    functionsReached:
    - static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: ca_issuers
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & ca_issuers() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.h:330,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.h:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:352,1
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 357
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - static_oid
    - OID
    linkageType: ''
    returnType: CRL_Number
    signature: CRL_Number Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: return std::make_unique<CRL_ReasonCode>
      Src: /src/botan/src/lib/x509/x509_ext.h:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - return std::make_unique<CRL_ReasonCode>
    linkageType: ''
    returnType: CRL_ReasonCode
    signature: CRL_ReasonCode Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 377
    functionName: CRL_ReasonCode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CRL_ReasonCode(CRL_Code r = CRL_Code::Unspecified)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 379
    functionName: get_reason
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CRL_Code
    signature: CRL_Code get_reason() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 381
    functionName: static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 12
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 383
    functionName: oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 4
    functionsReached:
    - static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 388
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_into
      Src: /src/botan/src/lib/x509/x509_ext.h:404,1
    - Dst: Distribution_Point
      Src: /src/botan/src/lib/x509/x509_ext.h:407,1
    - Dst: AlternativeName
      Src: /src/botan/src/lib/x509/x509_ext.h:407,1
    - Dst: m_point
      Src: /src/botan/src/lib/x509/x509_ext.h:407,1
    - Dst: point
      Src: /src/botan/src/lib/x509/x509_ext.h:409,1
    - Dst: copy
      Src: /src/botan/src/lib/x509/x509_ext.h:415,1
    - Dst: std::make_unique<CRL_Distribution_Points>
      Src: /src/botan/src/lib/x509/x509_ext.h:416,1
    - Dst: CRL_Distribution_Points
      Src: /src/botan/src/lib/x509/x509_ext.h:419,1
    - Dst: CRL_Distribution_Points
      Src: /src/botan/src/lib/x509/x509_ext.h:421,1
    - Dst: m_distribution_points
      Src: /src/botan/src/lib/x509/x509_ext.h:421,1
    - Dst: distribution_points
      Src: /src/botan/src/lib/x509/x509_ext.h:423,1
    - Dst: crl_distribution_urls
      Src: /src/botan/src/lib/x509/x509_ext.h:425,1
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:427,1
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:427,1
    - Dst: oid_of
      Src: /src/botan/src/lib/x509/x509_ext.h:429,1
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:429,1
    - Dst: oid_name
      Src: /src/botan/src/lib/x509/x509_ext.h:432,1
    - Dst: should_encode
      Src: /src/botan/src/lib/x509/x509_ext.h:434,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/x509_ext.h:434,1
    - Dst: encode_inner
      Src: /src/botan/src/lib/x509/x509_ext.h:436,1
    - Dst: CRL_Issuing_Distribution_Point
      Src: /src/botan/src/lib/x509/x509_ext.h:449,1
    - Dst: CRL_Issuing_Distribution_Point
      Src: /src/botan/src/lib/x509/x509_ext.h:451,1
    - Dst: m_distribution_point
      Src: /src/botan/src/lib/x509/x509_ext.h:452,1
    - Dst: copy
      Src: /src/botan/src/lib/x509/x509_ext.h:454,1
    - Dst: return std::make_unique<CRL_Issuing_Distribution_Point>
      Src: /src/botan/src/lib/x509/x509_ext.h:455,1
    - Dst: get_point
      Src: /src/botan/src/lib/x509/x509_ext.h:458,1
    - Dst: point
      Src: /src/botan/src/lib/x509/x509_ext.h:458,1
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:460,1
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 465
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - Distribution_Point
    - oid_name
    - point
    - static_oid
    - m_distribution_point
    - AlternativeName
    - return std::make_unique<CRL_Issuing_Distribution_Point>
    - std::make_unique<CRL_Distribution_Points>
    - should_encode
    - OID
    - CRL_Issuing_Distribution_Point
    - distribution_points
    - m_point
    - m_distribution_points
    - CRL_Distribution_Points
    - empty
    - encode_inner
    - get_point
    - crl_distribution_urls
    - copy
    - encode_into
    - oid_of
    linkageType: ''
    returnType: CRL_Distribution_Points
    signature: CRL_Distribution_Points Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 467
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: OCSP_NoCheck::OCSP_NoCheck
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OCSP_NoCheck()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<OCSP_NoCheck>
      Src: /src/botan/src/lib/x509/x509_ext.h:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 490
    functionName: OCSP_NoCheck::copy
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - std::make_unique<OCSP_NoCheck>
    linkageType: ''
    returnType: std::unique_ptr<Certificate_Extension>
    signature: std::unique_ptr<Certificate_Extension> copy() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 492
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 492
    functionName: OCSP_NoCheck::static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_NoCheck::static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 494
    functionName: OCSP_NoCheck::oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - OCSP_NoCheck::static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 497
    functionName: OCSP_NoCheck::oid_name
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string oid_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 499
    functionName: OCSP_NoCheck::should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 501
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 501
    functionName: OCSP_NoCheck::encode_inner
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> encode_inner() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 542
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 542
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TNAuthList
    signature: TNAuthList Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 544
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 544
    functionName: TNAuthList
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TNAuthList()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TNAuthList>
      Src: /src/botan/src/lib/x509/x509_ext.h:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 546
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 546
    functionName: copy
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 47
    functionsReached:
    - std::make_unique<TNAuthList>
    linkageType: ''
    returnType: std::unique_ptr<Certificate_Extension>
    signature: std::unique_ptr<Certificate_Extension> copy() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 548
    functionName: static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 15
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 550
    functionName: oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 5
    functionsReached:
    - static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 552
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 552
    functionName: entries
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Entry>
    signature: std::vector<Entry> & entries() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 557
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 557
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IPAddress
      Src: /src/botan/src/lib/x509/x509_ext.h:583,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.h:589,1
    - Dst: std::array::rbegin
      Src: /src/botan/src/lib/x509/x509_ext.h:590,1
    - Dst: std::array::rend
      Src: /src/botan/src/lib/x509/x509_ext.h:590,1
    - Dst: IPAddress<V>
      Src: /src/botan/src/lib/x509/x509_ext.h:598,1
    - Dst: IPAddress<V>
      Src: /src/botan/src/lib/x509/x509_ext.h:606,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.h:611,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.h:611,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.h:613,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.h:613,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.h:621,1
    - Dst: value
      Src: /src/botan/src/lib/x509/x509_ext.h:621,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 626
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 626
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - std::array::rbegin
    - IPAddress<V>
    - IPAddress
    - std::array::rend
    - value
    linkageType: ''
    returnType: IPAddressBlocks
    signature: IPAddressBlocks Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.h:640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 651
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 651
    functionName: '(3, 9) IPAddressOrRange final : public ASN1_Object'
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - Decoding_Error
    linkageType: ''
    returnType: class BOTAN_PUBLIC_API
    signature: 'class BOTAN_PUBLIC_API (3, 9) IPAddressOrRange final : public ASN1_Object'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IPAddressChoice
      Src: /src/botan/src/lib/x509/x509_ext.h:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 667
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 667
    functionName: '(3, 9) IPAddressChoice final : public ASN1_Object'
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - IPAddressChoice
    linkageType: ''
    returnType: class BOTAN_PUBLIC_API
    signature: 'class BOTAN_PUBLIC_API (3, 9) IPAddressChoice final : public ASN1_Object'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<IPAddressChoice<Version::IPv4>>
      Src: /src/botan/src/lib/x509/x509_ext.h:680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 697
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 697
    functionName: ASN1_Object
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - std::holds_alternative<IPAddressChoice<Version::IPv4>>
    linkageType: ''
    returnType: IPAddressFamily
    signature: IPAddressFamily ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 699
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 699
    functionName: IPAddressBlocks
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sort_and_merge
      Src: /src/botan/src/lib/x509/x509_ext.h:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' blocks'
    argTypes:
    - std::vector<IPAddressFamily>
    constantsTouched: []
    func_position:
      end: 701
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 701
    functionName: IPAddressBlocks
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - sort_and_merge
    linkageType: ''
    returnType: void
    signature: void IPAddressBlocks(const std::vector<IPAddressFamily>& blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IPAddressBlocks>
      Src: /src/botan/src/lib/x509/x509_ext.h:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 703
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 703
    functionName: copy
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 47
    functionsReached:
    - std::make_unique<IPAddressBlocks>
    linkageType: ''
    returnType: std::unique_ptr<Certificate_Extension>
    signature: std::unique_ptr<Certificate_Extension> copy() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 705
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 705
    functionName: static_oid
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 16
    functionsReached:
    - OID
    linkageType: ''
    returnType: OID
    signature: OID static_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 707
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 707
    functionName: oid_of
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 5
    functionsReached:
    - static_oid
    linkageType: ''
    returnType: OID
    signature: OID oid_of() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 715
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 715
    functionName: addr_blocks
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: std::vector<IPAddressFamily>
    signature: std::vector<IPAddressFamily> & addr_blocks() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 720
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 720
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.h:757,1
    - Dst: has_value
      Src: /src/botan/src/lib/x509/x509_ext.h:791,1
    - Dst: has_value
      Src: /src/botan/src/lib/x509/x509_ext.h:791,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/x509_ext.h:792,1
    - Dst: std::make_unique<ASBlocks>
      Src: /src/botan/src/lib/x509/x509_ext.h:809,1
    - Dst: OID
      Src: /src/botan/src/lib/x509/x509_ext.h:811,1
    - Dst: static_oid
      Src: /src/botan/src/lib/x509/x509_ext.h:813,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 832
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 832
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ASBlocks>
    - static_oid
    - OID
    - Decoding_Error
    - has_value
    linkageType: ''
    returnType: ASBlocks
    signature: ASBlocks Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Unknown_Extension
      Src: /src/botan/src/lib/x509/x509_ext.h:840,1
    - Dst: std::make_unique<Unknown_Extension>
      Src: /src/botan/src/lib/x509/x509_ext.h:843,1
    - Dst: at
      Src: /src/botan/src/lib/x509/x509_ext.h:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 874
      start: 838
    functionDepth: 2
    functionLinenumber: 838
    functionLinenumberEnd: 874
    functionName: Certificate_Extension
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Unknown_Extension>
    - at
    - Unknown_Extension
    linkageType: ''
    returnType: Unknown_Extension
    signature: Unknown_Extension Certificate_Extension
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 876
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 876
    functionName: should_encode
    functionSourceFile: /src/botan/src/lib/x509/x509_ext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_encode() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 112
    argCount: 1
    argNames:
    - code
    argTypes:
    - Certificate_Status_Code
    constantsTouched: []
    func_position:
      end: 131
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 131
    functionName: Botan::to_string
    functionSourceFile: /src/botan/src/lib/x509/cert_status.cpp
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * to_string(Certificate_Status_Code code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_components
      Src: /src/botan/src/lib/x509/x509_utils.h:17,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/x509/x509_utils.h:19,1
    - Dst: std::initializer_list<uint32_t>::size
      Src: /src/botan/src/lib/x509/x509_utils.h:19,1
    - Dst: Botan::equal
      Src: /src/botan/src/lib/x509/x509_utils.h:23,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/x509/x509_utils.h:23,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/x509/x509_utils.h:23,1
    - Dst: std::initializer_list<uint32_t>::begin
      Src: /src/botan/src/lib/x509/x509_utils.h:23,1
    - Dst: std::initializer_list<uint32_t>::end
      Src: /src/botan/src/lib/x509/x509_utils.h:23,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/x509/x509_utils.h:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' oid'
    - prefix
    argTypes:
    - OID
    - std::initializer_list<uint32_t>
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: Botan::is_sub_element_of
    functionSourceFile: /src/botan/src/lib/x509/x509_utils.h
    functionUses: 1
    functionsReached:
    - Botan::begin
    - std::initializer_list<uint32_t>::begin
    - std::initializer_list<uint32_t>::end
    - Botan::equal
    - std::initializer_list<uint32_t>::size
    - Botan::size
    - Botan::end
    - get_components
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> is_sub_element_of(const OID& oid, std::initializer_list<uint32_t>
      prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 184
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/x509/x509self.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: X509_Cert_Options
    signature: X509_Cert_Options final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Constraints::to_string
      Src: /src/botan/src/lib/x509/pkix_types.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - Key_Constraints
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Botan::key_constraints_to_string
    functionSourceFile: /src/botan/src/lib/x509/pkix_types.h
    functionUses: 0
    functionsReached:
    - Key_Constraints::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string key_constraints_to_string(Key_Constraints c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_DN
      Src: /src/botan/src/lib/x509/pkix_types.h:43,1
    - Dst: add_attribute
      Src: /src/botan/src/lib/x509/pkix_types.h:47,1
    - Dst: add_attribute
      Src: /src/botan/src/lib/x509/pkix_types.h:53,1
    - Dst: add_attribute
      Src: /src/botan/src/lib/x509/pkix_types.h:59,1
    - Dst: Botan::empty
      Src: /src/botan/src/lib/x509/pkix_types.h:76,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/x509/pkix_types.h:78,1
    - Dst: add_attribute
      Src: /src/botan/src/lib/x509/pkix_types.h:93,1
    - Dst: ASN1_String
      Src: /src/botan/src/lib/x509/pkix_types.h:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 111
    functionName: Botan::ASN1_Object
    functionSourceFile: /src/botan/src/lib/x509/pkix_types.h
    functionUses: 0
    functionsReached:
    - X509_DN
    - add_attribute
    - Botan::empty
    - Botan::size
    - ASN1_String
    linkageType: ''
    returnType: X509_DN
    signature: X509_DN ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:167,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:185,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:188,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:191,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:194,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:197,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:200,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:203,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:206,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:208,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:210,1
    - Dst: encode_into
      Src: /src/botan/src/lib/x509/pkix_types.h:230,1
    - Dst: decode_from
      Src: /src/botan/src/lib/x509/pkix_types.h:231,1
    - Dst: Attribute
      Src: /src/botan/src/lib/x509/pkix_types.h:233,1
    - Dst: Attribute
      Src: /src/botan/src/lib/x509/pkix_types.h:234,1
    - Dst: Attribute
      Src: /src/botan/src/lib/x509/pkix_types.h:235,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/x509/pkix_types.h:237,1
    - Dst: parameters
      Src: /src/botan/src/lib/x509/pkix_types.h:239,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/x509/pkix_types.h:241,1
    - Dst: get_parameters
      Src: /src/botan/src/lib/x509/pkix_types.h:243,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:280,1
    - Dst: GeneralName
      Src: /src/botan/src/lib/x509/pkix_types.h:280,1
    - Dst: encode_into
      Src: /src/botan/src/lib/x509/pkix_types.h:283,1
    - Dst: decode_from
      Src: /src/botan/src/lib/x509/pkix_types.h:285,1
    - Dst: type_code
      Src: /src/botan/src/lib/x509/pkix_types.h:290,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:295,1
    - Dst: Botan::type
      Src: /src/botan/src/lib/x509/pkix_types.h:295,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:300,1
    - Dst: Botan::name
      Src: /src/botan/src/lib/x509/pkix_types.h:300,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:307,1
    - Dst: matches
      Src: /src/botan/src/lib/x509/pkix_types.h:307,1
    - Dst: matches_dns
      Src: /src/botan/src/lib/x509/pkix_types.h:309,1
    - Dst: matches_ipv4
      Src: /src/botan/src/lib/x509/pkix_types.h:310,1
    - Dst: matches_dn
      Src: /src/botan/src/lib/x509/pkix_types.h:311,1
    - Dst: matches_dns
      Src: /src/botan/src/lib/x509/pkix_types.h:323,1
    - Dst: matches_dn
      Src: /src/botan/src/lib/x509/pkix_types.h:325,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:328,1
    - Dst: BOTAN_PUBLIC_API
      Src: /src/botan/src/lib/x509/pkix_types.h:340,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:345,1
    - Dst: GeneralSubtree
      Src: /src/botan/src/lib/x509/pkix_types.h:345,1
    - Dst: encode_into
      Src: /src/botan/src/lib/x509/pkix_types.h:347,1
    - Dst: decode_from
      Src: /src/botan/src/lib/x509/pkix_types.h:349,1
    - Dst: base
      Src: /src/botan/src/lib/x509/pkix_types.h:354,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:360,1
    - Dst: BOTAN_PUBLIC_API
      Src: /src/botan/src/lib/x509/pkix_types.h:367,1
    - Dst: NameConstraints
      Src: /src/botan/src/lib/x509/pkix_types.h:372,1
    - Dst: m_permitted_subtrees
      Src: /src/botan/src/lib/x509/pkix_types.h:372,1
    - Dst: m_excluded_subtrees
      Src: /src/botan/src/lib/x509/pkix_types.h:372,1
    - Dst: NameConstraints
      Src: /src/botan/src/lib/x509/pkix_types.h:379,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:385,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/x509/pkix_types.h:392,1
    - Dst: Botan::copy
      Src: /src/botan/src/lib/x509/pkix_types.h:437,1
    - Dst: Certificate_Extension
      Src: /src/botan/src/lib/x509/pkix_types.h:460,1
    - Dst: should_encode
      Src: /src/botan/src/lib/x509/pkix_types.h:465,1
    - Dst: encode_inner
      Src: /src/botan/src/lib/x509/pkix_types.h:467,1
    - Dst: decode_inner
      Src: /src/botan/src/lib/x509/pkix_types.h:468,1
    - Dst: get_extension_object
      Src: /src/botan/src/lib/x509/pkix_types.h:483,1
    - Dst: get_extension_object_as
      Src: /src/botan/src/lib/x509/pkix_types.h:486,1
    - Dst: Botan::Cert_Extension::static_oid
      Src: /src/botan/src/lib/x509/pkix_types.h:486,1
    - Dst: if
      Src: /src/botan/src/lib/x509/pkix_types.h:487,1
    - Dst: get_extension_object
      Src: /src/botan/src/lib/x509/pkix_types.h:487,1
    - Dst: if
      Src: /src/botan/src/lib/x509/pkix_types.h:489,1
    - Dst: oid_name
      Src: /src/botan/src/lib/x509/pkix_types.h:489,1
    - Dst: dynamic_cast<const T*>
      Src: /src/botan/src/lib/x509/pkix_types.h:491,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/x509/pkix_types.h:494,1
    - Dst: get_extension_oids
      Src: /src/botan/src/lib/x509/pkix_types.h:505,1
    - Dst: extension_set
      Src: /src/botan/src/lib/x509/pkix_types.h:510,1
    - Dst: critical_extension_set
      Src: /src/botan/src/lib/x509/pkix_types.h:515,1
    - Dst: get_extension_bits
      Src: /src/botan/src/lib/x509/pkix_types.h:521,1
    - Dst: encode_into
      Src: /src/botan/src/lib/x509/pkix_types.h:523,1
    - Dst: decode_from
      Src: /src/botan/src/lib/x509/pkix_types.h:524,1
    - Dst: Botan::add
      Src: /src/botan/src/lib/x509/pkix_types.h:532,1
    - Dst: add_new
      Src: /src/botan/src/lib/x509/pkix_types.h:542,1
    - Dst: replace
      Src: /src/botan/src/lib/x509/pkix_types.h:549,1
    - Dst: remove
      Src: /src/botan/src/lib/x509/pkix_types.h:555,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/x509/pkix_types.h:564,1
    - Dst: "template <typename T>\n      std::unique_ptr<T> get_raw"
      Src: /src/botan/src/lib/x509/pkix_types.h:576,1
    - Dst: find
      Src: /src/botan/src/lib/x509/pkix_types.h:578,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/x509/pkix_types.h:580,1
    - Dst: if
      Src: /src/botan/src/lib/x509/pkix_types.h:582,1
    - Dst: second::obj
      Src: /src/botan/src/lib/x509/pkix_types.h:582,1
    - Dst: std::make_unique<T>
      Src: /src/botan/src/lib/x509/pkix_types.h:583,1
    - Dst: decode_inner
      Src: /src/botan/src/lib/x509/pkix_types.h:584,1
    - Dst: second::bits
      Src: /src/botan/src/lib/x509/pkix_types.h:584,1
    - Dst: extensions
      Src: /src/botan/src/lib/x509/pkix_types.h:597,1
    - Dst: extensions_raw
      Src: /src/botan/src/lib/x509/pkix_types.h:604,1
    - Dst: Extensions
      Src: /src/botan/src/lib/x509/pkix_types.h:606,1
    - Dst: Extensions
      Src: /src/botan/src/lib/x509/pkix_types.h:611,1
    - Dst: create_extn_obj
      Src: /src/botan/src/lib/x509/pkix_types.h:615,1
    - Dst: m_bits
      Src: /src/botan/src/lib/x509/pkix_types.h:622,1
    - Dst: encode_inner
      Src: /src/botan/src/lib/x509/pkix_types.h:622,1
    - Dst: m_critical
      Src: /src/botan/src/lib/x509/pkix_types.h:622,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/pkix_types.h:627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 639
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 639
    functionName: Botan::ASN1_Object
    functionSourceFile: /src/botan/src/lib/x509/pkix_types.h
    functionUses: 0
    functionsReached:
    - get_extension_oids
    - oid_name
    - m_permitted_subtrees
    - critical_extension_set
    - Botan::add
    - add_new
    - Attribute
    - remove
    - m_excluded_subtrees
    - type_code
    - m_bits
    - matches_dns
    - get_parameters
    - should_encode
    - m_critical
    - matches
    - Certificate_Extension
    - Botan::name
    - decode_from
    - if
    - second::obj
    - GeneralSubtree
    - GeneralName
    - decode_inner
    - extensions
    - base
    - Extensions
    - matches_dn
    - extensions_raw
    - Botan::Decoding_Error
    - get_extension_object
    - NameConstraints
    - replace
    - extension_set
    - get_extension_object_as
    - BOTAN_DEPRECATED
    - parameters
    - Botan::copy
    - encode_inner
    - Botan::Cert_Extension::static_oid
    - find
    - std::move
    - create_extn_obj
    - BOTAN_PUBLIC_API
    - Botan::get
    - "template <typename T>\n      std::unique_ptr<T> get_raw"
    - matches_ipv4
    - second::bits
    - encode_into
    - Botan::oid
    - dynamic_cast<const T*>
    - get_extension_bits
    - object_identifier
    - std::make_unique<T>
    - Botan::end
    - Botan::type
    linkageType: ''
    returnType: AlternativeName
    signature: AlternativeName ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::PKCS10_Request::PEM_label
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string PKCS10_Request::PEM_label() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::PKCS10_Request::alternate_PEM_labels
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> PKCS10_Request::alternate_PEM_labels() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/botan/src/lib/x509/pkcs10.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' src'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::PKCS10_Request::PKCS10_Request
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 1
    functionsReached:
    - load_data
    linkageType: ''
    returnType: void
    signature: void PKCS10_Request::PKCS10_Request(DataSource& src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/pkcs10.cpp:41,1
    - Dst: size
      Src: /src/botan/src/lib/x509/pkcs10.cpp:41,1
    - Dst: load_data
      Src: /src/botan/src/lib/x509/pkcs10.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: Botan::PKCS10_Request::PKCS10_Request
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 1
    functionsReached:
    - data
    - size
    - load_data
    linkageType: ''
    returnType: void
    signature: void PKCS10_Request::PKCS10_Request(const std::vector<uint8_t>& vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_data
      Src: /src/botan/src/lib/x509/pkcs10.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fsname
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: Botan::PKCS10_Request::PKCS10_Request
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 1
    functionsReached:
    - load_data
    linkageType: ''
    returnType: void
    signature: void PKCS10_Request::PKCS10_Request(std::string_view fsname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: choose_sig_format
      Src: /src/botan/src/lib/x509/pkcs10.cpp:60,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/lib/x509/pkcs10.cpp:61,1
    - Dst: DER_Encoder::start_sequence
      Src: /src/botan/src/lib/x509/pkcs10.cpp:67,1
    - Dst: Botan::PKCS10_Request::subject_public_key
      Src: /src/botan/src/lib/x509/pkcs10.cpp:70,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/pkcs10.cpp:73,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/pkcs10.cpp:75,1
    - Dst: ASN1_String
      Src: /src/botan/src/lib/x509/pkcs10.cpp:75,1
    - Dst: DER_Encoder::encode
      Src: /src/botan/src/lib/x509/pkcs10.cpp:76,1
    - Dst: Attribute
      Src: /src/botan/src/lib/x509/pkcs10.cpp:76,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/x509/pkcs10.cpp:80,1
    - Dst: DER_Encoder::encode
      Src: /src/botan/src/lib/x509/pkcs10.cpp:81,1
    - Dst: Attribute
      Src: /src/botan/src/lib/x509/pkcs10.cpp:81,1
    - Dst: DER_Encoder::end_explicit
      Src: /src/botan/src/lib/x509/pkcs10.cpp:84,1
    - Dst: Botan::X509_Object::make_signed
      Src: /src/botan/src/lib/x509/pkcs10.cpp:86,1
    - Dst: DER_Encoder::get_contents
      Src: /src/botan/src/lib/x509/pkcs10.cpp:86,1
    - Dst: Botan::PKCS10_Request::PKCS10_Request
      Src: /src/botan/src/lib/x509/pkcs10.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 7
    argNames:
    - ' key'
    - ' subject_dn'
    - ' extensions'
    - hash_fn
    - ' rng'
    - padding_scheme
    - challenge
    argTypes:
    - Private_Key
    - X509_DN
    - Extensions
    - std::string_view
    - RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 89
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 89
    functionName: Botan::PKCS10_Request::create
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 2
    functionsReached:
    - DER_Encoder::start_sequence
    - DER_Encoder::get_contents
    - Botan::PKCS10_Request::PKCS10_Request
    - choose_sig_format
    - DER_Encoder
    - auto::algorithm_identifier
    - DER_Encoder::encode
    - Botan::PKCS10_Request::subject_public_key
    - Attribute
    - std::string_view::empty
    - DER_Encoder::end_explicit
    - ASN1_String
    - Botan::X509_Object::make_signed
    linkageType: ''
    returnType: PKCS10_Request
    signature: "PKCS10_Request PKCS10_Request::create(const Private_Key& key,\n                                      const
      X509_DN& subject_dn,\n                                      const Extensions&
      extensions,\n                                      std::string_view hash_fn,\n
      \                                     RandomNumberGenerator& rng,\n                                      std::string_view
      padding_scheme,\n                                      std::string_view challenge)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKCS10_Data>
      Src: /src/botan/src/lib/x509/pkcs10.cpp:97,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/pkcs10.cpp:102,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/x509/pkcs10.cpp:104,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/x509/pkcs10.cpp:104,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/pkcs10.cpp:107,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/pkcs10.cpp:109,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/pkcs10.cpp:110,1
    - Dst: BER_Bad_Tag
      Src: /src/botan/src/lib/x509/pkcs10.cpp:111,1
    - Dst: BER_Object::tagging
      Src: /src/botan/src/lib/x509/pkcs10.cpp:111,1
    - Dst: Botan::ASN1::put_in_sequence
      Src: /src/botan/src/lib/x509/pkcs10.cpp:114,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/x509/pkcs10.cpp:114,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/x509/pkcs10.cpp:114,1
    - Dst: BER_Decoder::get_next_object
      Src: /src/botan/src/lib/x509/pkcs10.cpp:116,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/x509/pkcs10.cpp:120,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/x509/pkcs10.cpp:122,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/pkcs10.cpp:124,1
    - Dst: Attribute::object_identifier
      Src: /src/botan/src/lib/x509/pkcs10.cpp:126,1
    - Dst: Attribute::get_parameters
      Src: /src/botan/src/lib/x509/pkcs10.cpp:127,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/pkcs10.cpp:129,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/pkcs10.cpp:131,1
    - Dst: std::set::insert
      Src: /src/botan/src/lib/x509/pkcs10.cpp:132,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/x509/pkcs10.cpp:132,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/pkcs10.cpp:133,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/pkcs10.cpp:135,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/x509/pkcs10.cpp:136,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/pkcs10.cpp:137,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/x509/pkcs10.cpp:138,1
    - Dst: BER_Decoder::verify_end
      Src: /src/botan/src/lib/x509/pkcs10.cpp:141,1
    - Dst: BER_Object::is_set
      Src: /src/botan/src/lib/x509/pkcs10.cpp:142,1
    - Dst: BER_Bad_Tag
      Src: /src/botan/src/lib/x509/pkcs10.cpp:143,1
    - Dst: BER_Object::tagging
      Src: /src/botan/src/lib/x509/pkcs10.cpp:143,1
    - Dst: BER_Decoder::verify_end
      Src: /src/botan/src/lib/x509/pkcs10.cpp:146,1
    - Dst: auto::m_extensions::get_extension_object_as
      Src: /src/botan/src/lib/x509/pkcs10.cpp:148,1
    - Dst: auto::get_alt_name
      Src: /src/botan/src/lib/x509/pkcs10.cpp:149,1
    - Dst: auto::m_alt_name::add_email
      Src: /src/botan/src/lib/x509/pkcs10.cpp:153,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - ' body'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 157
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 157
    functionName: Botan::decode_pkcs10
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    - BER_Object::tagging
    - BER_Decoder::more_items
    - BER_Object::is_a
    - ASN1_String::value
    - std::make_unique<PKCS10_Data>
    - Attribute::object_identifier
    - Botan::to_string
    - Attribute::get_parameters
    - BER_Decoder::verify_end
    - BER_Bad_Tag
    - BER_Decoder::decode
    - auto::m_alt_name::add_email
    - BER_Object::bits
    - BER_Decoder::get_next_object
    - Botan::Decoding_Error
    - Botan::ASN1::put_in_sequence
    - BER_Object::length
    - auto::get_alt_name
    - BER_Object::is_set
    - auto::m_extensions::get_extension_object_as
    - Botan::OID::from_string
    linkageType: ''
    returnType: std::unique_ptr<PKCS10_Data>
    signature: std::unique_ptr<PKCS10_Data> decode_pkcs10(const std::vector<uint8_t>&
      body)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/x509/pkcs10.cpp:162,1
    - Dst: decode_pkcs10
      Src: /src/botan/src/lib/x509/pkcs10.cpp:164,1
    - Dst: signed_body
      Src: /src/botan/src/lib/x509/pkcs10.cpp:164,1
    - Dst: Botan::PKCS10_Request::subject_public_key
      Src: /src/botan/src/lib/x509/pkcs10.cpp:166,1
    - Dst: Botan::PKCS10_Request::check_signature
      Src: /src/botan/src/lib/x509/pkcs10.cpp:167,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/pkcs10.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: Botan::PKCS10_Request::force_decode
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - signed_body
    - Botan::PKCS10_Request::check_signature
    - Botan::PKCS10_Request::subject_public_key
    - Decoding_Error
    - reset
    - decode_pkcs10
    linkageType: ''
    returnType: void
    signature: void PKCS10_Request::force_decode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/x509/pkcs10.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: '& PKCS10_Request::data() const'
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    linkageType: ''
    returnType: PKCS10_Data
    signature: PKCS10_Data & PKCS10_Request::data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/pkcs10.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: Botan::PKCS10_Request::challenge_password
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 1
    functionsReached:
    - data
    linkageType: ''
    returnType: std::string
    signature: std::string PKCS10_Request::challenge_password() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/pkcs10.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: '& PKCS10_Request::subject_dn() const'
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: X509_DN
    signature: X509_DN & PKCS10_Request::subject_dn() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/pkcs10.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: '& PKCS10_Request::raw_public_key() const'
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & PKCS10_Request::raw_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::load_key
      Src: /src/botan/src/lib/x509/pkcs10.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: Botan::PKCS10_Request::subject_public_key
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 2
    functionsReached:
    - Botan::X509::load_key
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> PKCS10_Request::subject_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/pkcs10.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: '& PKCS10_Request::subject_alt_name() const'
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: AlternativeName
    signature: AlternativeName & PKCS10_Request::subject_alt_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/x509/pkcs10.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: '& PKCS10_Request::extensions() const'
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: Extensions
    signature: Extensions & PKCS10_Request::extensions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/x509/pkcs10.cpp:226,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/pkcs10.cpp:226,1
    - Dst: dynamic_cast<Cert_Extension::Key_Usage&>
      Src: /src/botan/src/lib/x509/pkcs10.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: Botan::PKCS10_Request::constraints
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - extensions
    - dynamic_cast<Cert_Extension::Key_Usage&>
    linkageType: ''
    returnType: Key_Constraints
    signature: Key_Constraints PKCS10_Request::constraints() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/x509/pkcs10.cpp:237,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/pkcs10.cpp:237,1
    - Dst: dynamic_cast<Cert_Extension::Extended_Key_Usage&>
      Src: /src/botan/src/lib/x509/pkcs10.cpp:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: Botan::PKCS10_Request::ex_constraints
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - extensions
    - dynamic_cast<Cert_Extension::Extended_Key_Usage&>
    linkageType: ''
    returnType: std::vector<OID>
    signature: std::vector<OID> PKCS10_Request::ex_constraints() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/x509/pkcs10.cpp:248,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/pkcs10.cpp:248,1
    - Dst: dynamic_cast<Cert_Extension::Basic_Constraints&>
      Src: /src/botan/src/lib/x509/pkcs10.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: Botan::PKCS10_Request::is_CA
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - extensions
    - dynamic_cast<Cert_Extension::Basic_Constraints&>
    linkageType: ''
    returnType: bool
    signature: bool PKCS10_Request::is_CA() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extensions
      Src: /src/botan/src/lib/x509/pkcs10.cpp:259,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/pkcs10.cpp:259,1
    - Dst: dynamic_cast<Cert_Extension::Basic_Constraints&>
      Src: /src/botan/src/lib/x509/pkcs10.cpp:260,1
    - Dst: get_is_ca
      Src: /src/botan/src/lib/x509/pkcs10.cpp:261,1
    - Dst: get_path_limit
      Src: /src/botan/src/lib/x509/pkcs10.cpp:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 267
    functionName: Botan::PKCS10_Request::path_limit
    functionSourceFile: /src/botan/src/lib/x509/pkcs10.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<Cert_Extension::Basic_Constraints&>
    - get_is_ca
    - Botan::OID::from_string
    - extensions
    - get_path_limit
    linkageType: ''
    returnType: size_t
    signature: size_t PKCS10_Request::path_limit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' attr_oid'
    - ' attr_value'
    argTypes:
    - OID
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: Botan::Attribute::Attribute
    functionSourceFile: /src/botan/src/lib/x509/x509_attribute.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Attribute::Attribute(const OID& attr_oid, const std::vector<uint8_t>&
      attr_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509_attribute.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - attr_oid
    - ' attr_value'
    argTypes:
    - std::string_view
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: Botan::Attribute::Attribute
    functionSourceFile: /src/botan/src/lib/x509/x509_attribute.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    linkageType: ''
    returnType: void
    signature: void Attribute::Attribute(std::string_view attr_oid, const std::vector<uint8_t>&
      attr_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_attribute.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' codec'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::Attribute::encode_into
    functionSourceFile: /src/botan/src/lib/x509/x509_attribute.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    linkageType: ''
    returnType: void
    signature: void Attribute::encode_into(DER_Encoder& codec) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/x509/x509_attribute.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' codec'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::Attribute::decode_from
    functionSourceFile: /src/botan/src/lib/x509/x509_attribute.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    linkageType: ''
    returnType: void
    signature: void Attribute::decode_from(BER_Decoder& codec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/x509self.cpp:30,1
    - Dst: X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/x509self.cpp:31,1
    - Dst: X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/x509self.cpp:32,1
    - Dst: X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/x509self.cpp:33,1
    - Dst: X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/x509self.cpp:34,1
    - Dst: X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/x509self.cpp:35,1
    - Dst: X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/x509self.cpp:36,1
    - Dst: X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/x509self.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' opts'
    argTypes:
    - X509_Cert_Options
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: Botan::load_dn_info
    functionSourceFile: /src/botan/src/lib/x509/x509self.cpp
    functionUses: 0
    functionsReached:
    - X509_DN::add_attribute
    linkageType: ''
    returnType: X509_DN
    signature: X509_DN load_dn_info(const X509_Cert_Options& opts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_extension_object_as
      Src: /src/botan/src/lib/x509/x509self.cpp:52,1
    - Dst: auto::get_alt_name
      Src: /src/botan/src/lib/x509/x509self.cpp:53,1
    - Dst: AlternativeName::add_dns
      Src: /src/botan/src/lib/x509/x509self.cpp:56,1
    - Dst: AlternativeName::add_dns
      Src: /src/botan/src/lib/x509/x509self.cpp:58,1
    - Dst: AlternativeName::add_uri
      Src: /src/botan/src/lib/x509/x509self.cpp:60,1
    - Dst: AlternativeName::add_email
      Src: /src/botan/src/lib/x509/x509self.cpp:61,1
    - Dst: ip::empty
      Src: /src/botan/src/lib/x509/x509self.cpp:62,1
    - Dst: Botan::string_to_ipv4
      Src: /src/botan/src/lib/x509/x509self.cpp:63,1
    - Dst: AlternativeName::add_ipv4_address
      Src: /src/botan/src/lib/x509/x509self.cpp:64,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509self.cpp:66,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/x509/x509self.cpp:66,1
    - Dst: xmpp::empty
      Src: /src/botan/src/lib/x509/x509self.cpp:70,1
    - Dst: AlternativeName::add_other_name
      Src: /src/botan/src/lib/x509/x509self.cpp:71,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/x509/x509self.cpp:71,1
    - Dst: ASN1_String
      Src: /src/botan/src/lib/x509/x509self.cpp:71,1
    - Dst: std::make_unique<Cert_Extension::Subject_Alternative_Name>
      Src: /src/botan/src/lib/x509/x509self.cpp:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' opts'
    - ' extensions'
    argTypes:
    - X509_Cert_Options
    - Extensions
    constantsTouched: []
    func_position:
      end: 75
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 75
    functionName: Botan::create_alt_name_ext
    functionSourceFile: /src/botan/src/lib/x509/x509self.cpp
    functionUses: 0
    functionsReached:
    - xmpp::empty
    - Botan::fmt
    - AlternativeName::add_other_name
    - AlternativeName::add_email
    - Botan::string_to_ipv4
    - AlternativeName::add_ipv4_address
    - auto::get_alt_name
    - get_extension_object_as
    - std::make_unique<Cert_Extension::Subject_Alternative_Name>
    - ip::empty
    - AlternativeName::add_uri
    - Botan::OID::from_string
    - Invalid_Argument
    - AlternativeName::add_dns
    - ASN1_String
    linkageType: ''
    returnType: auto
    signature: auto create_alt_name_ext(const X509_Cert_Options& opts, const Extensions&
      extensions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509::BER_encode
      Src: /src/botan/src/lib/x509/x509self.cpp:88,1
    - Dst: Botan::X509_Object::choose_sig_format
      Src: /src/botan/src/lib/x509/x509self.cpp:89,1
    - Dst: auto::algorithm_identifier
      Src: /src/botan/src/lib/x509/x509self.cpp:90,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/x509/x509self.cpp:91,1
    - Dst: AlgorithmIdentifier::oid
      Src: /src/botan/src/lib/x509/x509self.cpp:91,1
    - Dst: load_dn_info
      Src: /src/botan/src/lib/x509/x509self.cpp:93,1
    - Dst: Key_Constraints::ca_constraints
      Src: /src/botan/src/lib/x509/x509self.cpp:97,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/lib/x509/x509self.cpp:99,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509self.cpp:100,1
    - Dst: Extensions::add_new
      Src: /src/botan/src/lib/x509/x509self.cpp:103,1
    - Dst: std::make_unique<Cert_Extension::Basic_Constraints>
      Src: /src/botan/src/lib/x509/x509self.cpp:103,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/x509/x509self.cpp:105,1
    - Dst: Extensions::add_new
      Src: /src/botan/src/lib/x509/x509self.cpp:106,1
    - Dst: std::make_unique<Cert_Extension::Key_Usage>
      Src: /src/botan/src/lib/x509/x509self.cpp:106,1
    - Dst: std::make_unique<Cert_Extension::Subject_Key_ID>
      Src: /src/botan/src/lib/x509/x509self.cpp:109,1
    - Dst: auto::hash_function
      Src: /src/botan/src/lib/x509/x509self.cpp:109,1
    - Dst: Extensions::add_new
      Src: /src/botan/src/lib/x509/x509self.cpp:111,1
    - Dst: std::make_unique<Cert_Extension::Authority_Key_ID>
      Src: /src/botan/src/lib/x509/x509self.cpp:111,1
    - Dst: auto::get_key_id
      Src: /src/botan/src/lib/x509/x509self.cpp:111,1
    - Dst: Extensions::add_new
      Src: /src/botan/src/lib/x509/x509self.cpp:112,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/x509self.cpp:112,1
    - Dst: Extensions::replace
      Src: /src/botan/src/lib/x509/x509self.cpp:114,1
    - Dst: create_alt_name_ext
      Src: /src/botan/src/lib/x509/x509self.cpp:114,1
    - Dst: Extensions::add_new
      Src: /src/botan/src/lib/x509/x509self.cpp:116,1
    - Dst: std::make_unique<Cert_Extension::Extended_Key_Usage>
      Src: /src/botan/src/lib/x509/x509self.cpp:116,1
    - Dst: Botan::X509_CA::make_cert
      Src: /src/botan/src/lib/x509/x509self.cpp:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ' opts'
    - ' key'
    - hash_fn
    - ' rng'
    argTypes:
    - X509_Cert_Options
    - Private_Key
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 119
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 119
    functionName: Botan::X509::create_self_signed_cert
    functionSourceFile: /src/botan/src/lib/x509/x509self.cpp
    functionUses: 12
    functionsReached:
    - Extensions::add_new
    - Botan::X509_CA::make_cert
    - Botan::X509::BER_encode
    - std::make_unique<Cert_Extension::Key_Usage>
    - auto::compatible_with
    - load_dn_info
    - BOTAN_ASSERT_NOMSG
    - auto::algorithm_identifier
    - Invalid_Argument
    - std::make_unique<Cert_Extension::Basic_Constraints>
    - Extensions::replace
    - std::make_unique<Cert_Extension::Authority_Key_ID>
    - create_alt_name_ext
    - std::move
    - auto::get_key_id
    - std::make_unique<Cert_Extension::Subject_Key_ID>
    - Key_Constraints::ca_constraints
    - Botan::X509_Object::choose_sig_format
    - AlgorithmIdentifier::oid
    - auto::hash_function
    - auto::empty
    - std::make_unique<Cert_Extension::Extended_Key_Usage>
    linkageType: ''
    returnType: X509_Certificate
    signature: "X509_Certificate create_self_signed_cert(const X509_Cert_Options&
      opts,\n                                         const Private_Key& key,\n                                         std::string_view
      hash_fn,\n                                         RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_dn_info
      Src: /src/botan/src/lib/x509/x509self.cpp:128,1
    - Dst: Key_Constraints::ca_constraints
      Src: /src/botan/src/lib/x509/x509self.cpp:130,1
    - Dst: auto::compatible_with
      Src: /src/botan/src/lib/x509/x509self.cpp:132,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/x509self.cpp:133,1
    - Dst: Extensions::add_new
      Src: /src/botan/src/lib/x509/x509self.cpp:138,1
    - Dst: std::make_unique<Cert_Extension::Basic_Constraints>
      Src: /src/botan/src/lib/x509/x509self.cpp:138,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/x509/x509self.cpp:140,1
    - Dst: Extensions::add_new
      Src: /src/botan/src/lib/x509/x509self.cpp:141,1
    - Dst: std::make_unique<Cert_Extension::Key_Usage>
      Src: /src/botan/src/lib/x509/x509self.cpp:141,1
    - Dst: Extensions::replace
      Src: /src/botan/src/lib/x509/x509self.cpp:144,1
    - Dst: create_alt_name_ext
      Src: /src/botan/src/lib/x509/x509self.cpp:144,1
    - Dst: ex_constraints::empty
      Src: /src/botan/src/lib/x509/x509self.cpp:146,1
    - Dst: Extensions::add_new
      Src: /src/botan/src/lib/x509/x509self.cpp:147,1
    - Dst: std::make_unique<Cert_Extension::Extended_Key_Usage>
      Src: /src/botan/src/lib/x509/x509self.cpp:147,1
    - Dst: Botan::PKCS10_Request::create
      Src: /src/botan/src/lib/x509/x509self.cpp:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ' opts'
    - ' key'
    - hash_fn
    - ' rng'
    argTypes:
    - X509_Cert_Options
    - Private_Key
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 151
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 151
    functionName: Botan::X509::create_cert_req
    functionSourceFile: /src/botan/src/lib/x509/x509self.cpp
    functionUses: 22
    functionsReached:
    - load_dn_info
    - Extensions::add_new
    - std::make_unique<Cert_Extension::Basic_Constraints>
    - Extensions::replace
    - Key_Constraints::ca_constraints
    - std::make_unique<Cert_Extension::Key_Usage>
    - ex_constraints::empty
    - Botan::PKCS10_Request::create
    - auto::compatible_with
    - create_alt_name_ext
    - Invalid_Argument
    - auto::empty
    - std::make_unique<Cert_Extension::Extended_Key_Usage>
    linkageType: ''
    returnType: PKCS10_Request
    signature: "PKCS10_Request create_cert_req(const X509_Cert_Options& opts,\n                               const
      Private_Key& key,\n                               std::string_view hash_fn,\n
      \                              RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:23,1
    - Dst: create_table
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:24,1
    - Dst: create_table
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:32,1
    - Dst: create_table
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - db
    - passwd
    - ' rng'
    - table_prefix
    argTypes:
    - std::shared_ptr<SQL_Database>
    - std::string_view
    - RandomNumberGenerator
    - std::string_view
    constantsTouched: []
    func_position:
      end: 43
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 43
    functionName: Botan::Certificate_Store_In_SQL::Certificate_Store_In_SQL
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - create_table
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Certificate_Store_In_SQL::Certificate_Store_In_SQL(std::shared_ptr<SQL_Database>
      db,\n                                                   std::string_view passwd,\n
      \                                                  RandomNumberGenerator& rng,\n
      \                                                  std::string_view table_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_encode
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:50,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:52,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:53,1
    - Dst: std::shared_ptr::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:55,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:57,1
    - Dst: std::shared_ptr::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:60,1
    - Dst: std::shared_ptr::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:61,1
    - Dst: std::shared_ptr::step
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:64,1
    - Dst: std::shared_ptr::get_blob
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:65,1
    - Dst: X509_Certificate
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:66,1
    - Dst: std::optional<X509_Certificate>
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: Botan::Certificate_Store_In_SQL::find_cert
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - BER_encode
    - std::optional<X509_Certificate>
    - X509_Certificate
    - std::shared_ptr::get_blob
    - empty
    - std::shared_ptr::step
    - std::shared_ptr::bind
    - new_statement
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_In_SQL::find_cert(const
      X509_DN& subject_dn,\n                                                                    const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_encode
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:78,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:80,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:81,1
    - Dst: std::shared_ptr::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:82,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:84,1
    - Dst: std::shared_ptr::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:87,1
    - Dst: std::shared_ptr::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:88,1
    - Dst: std::shared_ptr::step
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:92,1
    - Dst: std::shared_ptr::get_blob
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:93,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:94,1
    - Dst: X509_Certificate
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: Botan::Certificate_Store_In_SQL::find_all_certs
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - BER_encode
    - X509_Certificate
    - std::shared_ptr::get_blob
    - empty
    - std::shared_ptr::step
    - std::vector::push_back
    - std::shared_ptr::bind
    - new_statement
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> Certificate_Store_In_SQL::find_all_certs(const
      X509_DN& subject_dn,\n                                                                       const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: Botan::Certificate_Store_In_SQL::find_cert_by_pubkey_sha1
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_In_SQL::find_cert_by_pubkey_sha1(\n
      \  const std::vector<uint8_t>& /*key_hash*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: Botan::Certificate_Store_In_SQL::find_cert_by_raw_subject_dn_sha256
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_In_SQL::find_cert_by_raw_subject_dn_sha256(\n
      \  const std::vector<uint8_t>& /*subject_hash*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_SQL::generate_crls
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:111,1
    - Dst: get_revoked
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:114,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:114,1
    - Dst: issuer_dn
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:114,1
    - Dst: std::optional<X509_CRL>
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' subject'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: Botan::Certificate_Store_In_SQL::find_crl_for
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - std::optional<X509_CRL>
    - Botan::Certificate_Store_In_SQL::generate_crls
    - issuer_dn
    - get_revoked
    linkageType: ''
    returnType: std::optional<X509_CRL>
    signature: std::optional<X509_CRL> Certificate_Store_In_SQL::find_crl_for(const
      X509_Certificate& subject) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:124,1
    - Dst: auto::step
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:126,1
    - Dst: auto::get_blob
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:127,1
    - Dst: X509_DN::decode_from
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:131,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 137
    functionName: Botan::Certificate_Store_In_SQL::all_subjects
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - X509_DN::decode_from
    - auto::step
    - std::vector::push_back
    - new_statement
    - auto::get_blob
    linkageType: ''
    returnType: std::vector<X509_DN>
    signature: std::vector<X509_DN> Certificate_Store_In_SQL::all_subjects() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:140,1
    - Dst: BER_encode
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:141,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:143,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:152,1
    - Dst: fingerprint
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:152,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:153,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:154,1
    - Dst: subject_key_id
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:154,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:155,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:155,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:156,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 160
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 160
    functionName: Botan::Certificate_Store_In_SQL::insert_cert
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - BER_encode
    - auto::bind
    - fingerprint
    - subject_key_id
    - std::vector<uint8_t>
    - subject_dn
    - new_statement
    - auto::spin
    linkageType: ''
    returnType: bool
    signature: bool Certificate_Store_In_SQL::insert_cert(const X509_Certificate&
      cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_SQL::find_cert
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:163,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:163,1
    - Dst: subject_key_id
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:163,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:167,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:169,1
    - Dst: fingerprint
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:169,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: Botan::Certificate_Store_In_SQL::remove_cert
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - auto::bind
    - Botan::Certificate_Store_In_SQL::find_cert
    - fingerprint
    - subject_key_id
    - subject_dn
    - new_statement
    - auto::spin
    linkageType: ''
    returnType: bool
    signature: bool Certificate_Store_In_SQL::remove_cert(const X509_Certificate&
      cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:177,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:184,1
    - Dst: fingerprint
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:184,1
    - Dst: auto::step
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:187,1
    - Dst: auto::get_blob
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:188,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 194
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 194
    functionName: Botan::Certificate_Store_In_SQL::find_key
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - auto::bind
    - fingerprint
    - Botan::PKCS8::load_key
    - auto::step
    - new_statement
    - auto::get_blob
    linkageType: ''
    returnType: std::shared_ptr<const Private_Key>
    signature: std::shared_ptr<const Private_Key> Certificate_Store_In_SQL::find_key(const
      X509_Certificate& cert) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fingerprint_private
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:197,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:199,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:201,1
    - Dst: auto::step
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:204,1
    - Dst: auto::get_blob
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:205,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:206,1
    - Dst: X509_Certificate
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Private_Key
    constantsTouched: []
    func_position:
      end: 210
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 210
    functionName: Botan::Certificate_Store_In_SQL::find_certs_for_key
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - auto::bind
    - X509_Certificate
    - auto::step
    - std::vector::push_back
    - new_statement
    - fingerprint_private
    - auto::get_blob
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> Certificate_Store_In_SQL::find_certs_for_key(const
      Private_Key& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_SQL::insert_cert
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:213,1
    - Dst: Botan::Certificate_Store_In_SQL::find_key
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:215,1
    - Dst: Botan::PKCS8::BER_encode
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:219,1
    - Dst: fingerprint_private
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:220,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:223,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:225,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:226,1
    - Dst: auto::data
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:226,1
    - Dst: auto::size
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:226,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:227,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:229,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:232,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:233,1
    - Dst: fingerprint
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:233,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ' cert'
    - ' key'
    argTypes:
    - X509_Certificate
    - Private_Key
    constantsTouched: []
    func_position:
      end: 237
      start: 212
    functionDepth: 4
    functionLinenumber: 212
    functionLinenumberEnd: 237
    functionName: Botan::Certificate_Store_In_SQL::insert_key
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - auto::bind
    - Botan::Certificate_Store_In_SQL::insert_cert
    - fingerprint
    - Botan::Certificate_Store_In_SQL::find_key
    - Botan::PKCS8::BER_encode
    - auto::data
    - new_statement
    - fingerprint_private
    - auto::spin
    - auto::size
    linkageType: ''
    returnType: bool
    signature: bool Certificate_Store_In_SQL::insert_key(const X509_Certificate& cert,
      const Private_Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fingerprint_private
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:240,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:241,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:243,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Private_Key
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: Botan::Certificate_Store_In_SQL::remove_key
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - new_statement
    - fingerprint_private
    - auto::bind
    - auto::spin
    linkageType: ''
    returnType: void
    signature: void Certificate_Store_In_SQL::remove_key(const Private_Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_SQL::insert_cert
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:249,1
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:251,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:254,1
    - Dst: fingerprint
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:254,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:255,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:255,1
    - Dst: time_is_set
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:257,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:258,1
    - Dst: BER_encode
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:258,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:260,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:260,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' cert'
    - code
    - ' time'
    argTypes:
    - X509_Certificate
    - CRL_Code
    - X509_Time
    constantsTouched: []
    func_position:
      end: 264
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 264
    functionName: Botan::Certificate_Store_In_SQL::revoke_cert
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - BER_encode
    - auto::bind
    - Botan::Certificate_Store_In_SQL::insert_cert
    - fingerprint
    - time_is_set
    - static_cast<uint32_t>
    - static_cast<size_t>
    - new_statement
    - auto::spin
    linkageType: ''
    returnType: void
    signature: void Certificate_Store_In_SQL::revoke_cert(const X509_Certificate&
      cert, CRL_Code code, const X509_Time& time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:267,1
    - Dst: auto::bind
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:269,1
    - Dst: fingerprint
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:269,1
    - Dst: auto::spin
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' cert'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: Botan::Certificate_Store_In_SQL::affirm_cert
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 0
    functionsReached:
    - auto::spin
    - new_statement
    - auto::bind
    - fingerprint
    linkageType: ''
    returnType: void
    signature: void Certificate_Store_In_SQL::affirm_cert(const X509_Certificate&
      cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:274,1
    - Dst: auto::step
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:281,1
    - Dst: auto::get_blob
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:282,1
    - Dst: X509_Certificate
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:283,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:283,1
    - Dst: static_cast<CRL_Code>
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:284,1
    - Dst: auto::get_size_t
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:284,1
    - Dst: CRL_Entry
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:285,1
    - Dst: std::map::find
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:287,1
    - Dst: auto::issuer_dn
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:287,1
    - Dst: std::map::end
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:288,1
    - Dst: std::map::insert
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:289,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:289,1
    - Dst: auto::issuer_dn
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:289,1
    - Dst: std::vector<CRL_Entry>
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:289,1
    - Dst: auto::second::push_back
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:291,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:298,1
    - Dst: std::map::size
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:298,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:301,1
    - Dst: X509_CRL
      Src: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 305
    functionName: Botan::Certificate_Store_In_SQL::generate_crls
    functionSourceFile: /src/botan/src/lib/x509/certstor_sql/certstor_sql.cpp
    functionUses: 1
    functionsReached:
    - std::vector<uint8_t>
    - std::vector::push_back
    - std::map::size
    - std::vector<CRL_Entry>
    - auto::get_size_t
    - X509_CRL
    - std::vector::reserve
    - auto::second::push_back
    - auto::get_blob
    - std::map::end
    - X509_Certificate
    - CRL_Entry
    - std::map::find
    - auto::issuer_dn
    - std::map::insert
    - auto::step
    - new_statement
    - std::make_pair
    - static_cast<CRL_Code>
    linkageType: ''
    returnType: std::vector<X509_CRL>
    signature: std::vector<X509_CRL> Certificate_Store_In_SQL::generate_crls() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Certificate_Store_MacOS
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.h:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 74
    functionName: Botan::Certificate_Store
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.h
    functionUses: 0
    functionsReached:
    - Certificate_Store_MacOS
    linkageType: ''
    returnType: Certificate_Store_MacOS
    signature: Certificate_Store_MacOS Certificate_Store
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::scoped_CFType::scoped_CFType
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scoped_CFType(T value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - scoped_CFType<T>
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::scoped_CFType::scoped_CFType
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scoped_CFType(const scoped_CFType<T>& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - scoped_CFType<T>
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::scoped_CFType::scoped_CFType
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void scoped_CFType(scoped_CFType<T>&& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CFRelease
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: ~scoped_CFType()
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - CFRelease
    linkageType: ''
    returnType: void
    signature: void ~scoped_CFType()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: operator bool() const
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: Botan::scoped_CFType::assign
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void assign(T value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& get()'
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & get()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& get() const'
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dn_info
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:70,1
    - Dst: auto::tagging
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:75,1
    - Dst: std::string::reserve
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:77,1
    - Dst: auto::value
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:77,1
    - Dst: auto::value
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:78,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:81,1
    - Dst: ::toupper
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:81,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:82,1
    - Dst: std::string::back
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:82,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:84,1
    - Dst: std::string::back
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:88,1
    - Dst: std::string::erase
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:90,1
    - Dst: std::string::end
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:90,1
    - Dst: ASN1_String
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:93,1
    - Dst: auto::tagging
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:93,1
    - Dst: X509_DN::add_attribute
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ' dn'
    argTypes:
    - X509_DN
    constantsTouched: []
    func_position:
      end: 100
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 100
    functionName: Botan::normalize
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - X509_DN::add_attribute
    - std::string::back
    - ::toupper
    - std::string::push_back
    - std::string::erase
    - dn_info
    - auto::tagging
    - std::string::empty
    - std::string::reserve
    - std::string::end
    - ASN1_String
    linkageType: ''
    returnType: X509_DN
    signature: X509_DN normalize(const X509_DN& dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::normalize
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dn'
    argTypes:
    - X509_DN
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: Botan::normalizeAndSerialize
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - Botan::normalize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> normalizeAndSerialize(const X509_DN& dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:110,1
    - Dst: CFStringGetLength
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:113,1
    - Dst: CFStringGetMaximumSizeForEncoding
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:114,1
    - Dst: CFStringGetCString
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:117,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:117,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:117,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:119,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:119,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cfstring
    argTypes:
    - CFStringRef
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: Botan::to_string
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 26
    functionsReached:
    - CFStringGetMaximumSizeForEncoding
    - std::vector::size
    - std::string
    - CFStringGetLength
    - CFStringGetCString
    - std::vector::data
    linkageType: ''
    returnType: std::string
    signature: std::string to_string(const CFStringRef cfstring)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:124,1
    - Dst: scoped_CFType::get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - OSStatus
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: Botan::to_string
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 27
    functionsReached:
    - scoped_CFType::get
    - Botan::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string to_string(const OSStatus status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Internal_Error
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:132,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:132,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - status
    - context
    argTypes:
    - OSStatus
    - std::string
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: Botan::check_success
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - Botan::to_string
    - std::string
    - Internal_Error
    linkageType: ''
    returnType: void
    signature: void check_success(const OSStatus status, const std::string context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Internal_Error
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:141,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' value'
    - context
    argTypes:
    - T
    - std::string
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: Botan::check_notnull
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - Internal_Error
    linkageType: ''
    returnType: void
    signature: void check_notnull(const T& value, const std::string context)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: Botan::Certificate_Store_MacOS_Impl::Query::Query
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Query()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: ~Query()
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Query()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Query
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: Botan::Certificate_Store_MacOS_Impl::Query::Query
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Query(Query&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Query
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: '& operator=(Query&& other)'
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Query
    signature: Query & operator=(Query&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Query
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: Botan::Certificate_Store_MacOS_Impl::Query::Query
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Query(const Query& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Query
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: '& operator=(const Query& other)'
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Query
    signature: Query & operator=(const Query& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:174,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - CFStringRef
    - CFTypeRef
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: Botan::Certificate_Store_MacOS_Impl::Query::addParameter
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void addParameter(CFStringRef key, CFTypeRef value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:179,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:179,1
    - Dst: emplace_back
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:181,1
    - Dst: CFDataCreateWithBytesNoCopy
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:182,1
    - Dst: data
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:182,1
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:182,1
    - Dst: check_notnull
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:183,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:185,1
    - Dst: get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - CFStringRef
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: Botan::Certificate_Store_MacOS_Impl::Query::addParameter
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 1
    functionsReached:
    - check_notnull
    - data
    - size
    - emplace_back
    - get
    - std::move
    - CFDataCreateWithBytesNoCopy
    - Botan::Certificate_Store_MacOS_Impl::Query::addParameter
    linkageType: ''
    returnType: void
    signature: void addParameter(CFStringRef key, std::vector<uint8_t> value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:194,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:195,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:196,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:197,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:198,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:199,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:201,1
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:201,1
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:201,1
    - Dst: scoped_CFType<CFDictionaryRef>
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:203,1
    - Dst: CFDictionaryCreate
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:203,1
    - Dst: data
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:204,1
    - Dst: data
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:205,1
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:206,1
    - Dst: check_notnull
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ' keychains'
    - ' policy'
    argTypes:
    - CFArrayRef
    - SecPolicyRef
    constantsTouched: []
    func_position:
      end: 212
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 212
    functionName: Botan::Certificate_Store_MacOS_Impl::Query::prepare
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - check_notnull
    - data
    - size
    - scoped_CFType<CFDictionaryRef>
    - BOTAN_ASSERT_EQUAL
    - CFDictionaryCreate
    - Botan::Certificate_Store_MacOS_Impl::Query::addParameter
    linkageType: ''
    returnType: scoped_CFType<CFDictionaryRef>
    signature: scoped_CFType<CFDictionaryRef> prepare(const CFArrayRef& keychains,
      const SecPolicyRef& policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecPolicyCreateBasicX509
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:228,1
    - Dst: SecKeychainOpen
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:237,1
    - Dst: get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:237,1
    - Dst: check_success
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:238,1
    - Dst: SecKeychainOpen
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:238,1
    - Dst: get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:238,1
    - Dst: check_notnull
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:241,1
    - Dst: get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:245,1
    - Dst: get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:245,1
    - Dst: assign
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:247,1
    - Dst: CFArrayCreate
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:248,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:248,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:248,1
    - Dst: check_notnull
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 250
    functionName: Botan::Certificate_Store_MacOS_Impl::Certificate_Store_MacOS_Impl
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - check_notnull
    - assign
    - std::array::data
    - CFArrayCreate
    - check_success
    - get
    - std::array::size
    - SecKeychainOpen
    - SecPolicyCreateBasicX509
    linkageType: ''
    returnType: void
    signature: void Certificate_Store_MacOS_Impl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:253,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::search
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:256,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:256,1
    - Dst: scoped_CFType::get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:256,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::readCertificate
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:259,1
    - Dst: scoped_CFType::get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - query
    argTypes:
    - Query
    constantsTouched: []
    func_position:
      end: 262
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 262
    functionName: Botan::Certificate_Store_MacOS_Impl::findOne
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - Query::addParameter
    - Botan::Certificate_Store_MacOS_Impl::readCertificate
    - scoped_CFType::get
    - Botan::Certificate_Store_MacOS_Impl::search
    - std::move
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: std::optional<X509_Certificate> findOne(Query query) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:265,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::search
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:268,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:268,1
    - Dst: scoped_CFType::get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:268,1
    - Dst: CFArrayGetCount
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:273,1
    - Dst: scoped_CFType::get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:273,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:274,1
    - Dst: CFArrayGetValueAtIndex
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:277,1
    - Dst: scoped_CFType::get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:277,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:278,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::readCertificate
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - query
    argTypes:
    - Query
    constantsTouched: []
    func_position:
      end: 283
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 283
    functionName: Botan::Certificate_Store_MacOS_Impl::findAll
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - Query::addParameter
    - CFArrayGetValueAtIndex
    - Botan::Certificate_Store_MacOS_Impl::readCertificate
    - scoped_CFType::get
    - Botan::Certificate_Store_MacOS_Impl::search
    - std::move
    - BOTAN_ASSERT
    - std::vector::emplace_back
    - CFArrayGetCount
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: std::vector<X509_Certificate> findAll(Query query) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Query::prepare
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:287,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::keychains
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:287,1
    - Dst: Botan::Certificate_Store_MacOS_Impl::policy
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:287,1
    - Dst: SecItemCopyMatching
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:289,1
    - Dst: scoped_CFType::get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:289,1
    - Dst: check_success
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:295,1
    - Dst: check_notnull
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - query
    - result
    argTypes:
    - Query
    - CFTypeRef*
    constantsTouched: []
    func_position:
      end: 297
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 297
    functionName: Botan::Certificate_Store_MacOS_Impl::search
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 2
    functionsReached:
    - SecItemCopyMatching
    - check_notnull
    - scoped_CFType::get
    - check_success
    - Query::prepare
    - Botan::Certificate_Store_MacOS_Impl::policy
    - Botan::Certificate_Store_MacOS_Impl::keychains
    linkageType: ''
    returnType: void
    signature: void search(Query query, CFTypeRef* result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CFGetTypeID
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:303,1
    - Dst: SecCertificateGetTypeID
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:303,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:304,1
    - Dst: static_cast<SecCertificateRef>
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:307,1
    - Dst: const_cast<void*>
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:307,1
    - Dst: check_notnull
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:310,1
    - Dst: CFDataGetBytePtr
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:312,1
    - Dst: scoped_CFType::get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:312,1
    - Dst: CFDataGetLength
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:313,1
    - Dst: scoped_CFType::get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:313,1
    - Dst: X509_Certificate
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - CFTypeRef
    constantsTouched: []
    func_position:
      end: 317
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 317
    functionName: Botan::Certificate_Store_MacOS_Impl::readCertificate
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 2
    functionsReached:
    - CFDataGetLength
    - const_cast<void*>
    - check_notnull
    - scoped_CFType::get
    - SecCertificateGetTypeID
    - X509_Certificate
    - CFDataGetBytePtr
    - static_cast<SecCertificateRef>
    - CFGetTypeID
    - Internal_Error
    linkageType: ''
    returnType: X509_Certificate
    signature: X509_Certificate readCertificate(CFTypeRef object) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: Botan::Certificate_Store_MacOS_Impl::keychains
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 1
    functionsReached:
    - get
    linkageType: ''
    returnType: CFArrayRef
    signature: CFArrayRef keychains() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: Botan::Certificate_Store_MacOS_Impl::policy
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 1
    functionsReached:
    - get
    linkageType: ''
    returnType: SecPolicyRef
    signature: SecPolicyRef policy() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Certificate_Store_MacOS_Impl>
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: Botan::Certificate_Store_MacOS::Certificate_Store_MacOS
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Certificate_Store_MacOS_Impl>
    linkageType: ''
    returnType: void
    signature: void Certificate_Store_MacOS::Certificate_Store_MacOS()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: findAll
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:346,1
    - Dst: std::transform
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:349,1
    - Dst: auto::cbegin
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:349,1
    - Dst: auto::cend
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:350,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:351,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 355
    functionName: Botan::Certificate_Store_MacOS::all_subjects
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - findAll
    - std::transform
    - std::back_inserter
    - subject_dn
    - auto::cend
    - auto::cbegin
    linkageType: ''
    returnType: std::vector<X509_DN>
    signature: std::vector<X509_DN> Certificate_Store_MacOS::all_subjects() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:360,1
    - Dst: normalizeAndSerialize
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:360,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:362,1
    - Dst: Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:363,1
    - Dst: findOne
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:366,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 367
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 367
    functionName: Botan::Certificate_Store_MacOS::find_cert
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - Certificate_Store_MacOS_Impl::Query::addParameter
    - normalizeAndSerialize
    - empty
    - std::move
    - findOne
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_MacOS::find_cert(const
      X509_DN& subject_dn,\n                                                                   const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:372,1
    - Dst: normalizeAndSerialize
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:372,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:374,1
    - Dst: Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:375,1
    - Dst: findAll
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:378,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: Botan::Certificate_Store_MacOS::find_all_certs
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - findAll
    - Certificate_Store_MacOS_Impl::Query::addParameter
    - normalizeAndSerialize
    - empty
    - std::move
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> Certificate_Store_MacOS::find_all_certs(const
      X509_DN& subject_dn,\n                                                                      const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:383,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:384,1
    - Dst: Certificate_Store_MacOS_Impl::Query::addParameter
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:388,1
    - Dst: findOne
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:390,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' key_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 391
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 391
    functionName: Botan::Certificate_Store_MacOS::find_cert_by_pubkey_sha1
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - Certificate_Store_MacOS_Impl::Query::addParameter
    - size
    - findOne
    - std::move
    - Invalid_Argument
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_MacOS::find_cert_by_pubkey_sha1(\n
      \  const std::vector<uint8_t>& key_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:395,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' subject_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: Botan::Certificate_Store_MacOS::find_cert_by_raw_subject_dn_sha256
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Not_Implemented
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_MacOS::find_cert_by_raw_subject_dn_sha256(\n
      \  const std::vector<uint8_t>& subject_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' subject'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: Botan::Certificate_Store_MacOS::find_crl_for
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_macos/certstor_macos.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::optional<X509_CRL>
    signature: std::optional<X509_CRL> Certificate_Store_MacOS::find_crl_for(const
      X509_Certificate& subject) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - context
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Botan::Handle_Guard::Handle_Guard
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handle_Guard(T context)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Handle_Guard<T>
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::Handle_Guard::Handle_Guard
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handle_Guard(const Handle_Guard<T>& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Handle_Guard<T>
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::Handle_Guard::Handle_Guard
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Handle_Guard(Handle_Guard<T>&& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ~Handle_Guard()
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~Handle_Guard()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: operator bool() const
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: Botan::Handle_Guard::assign
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool assign(T context)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: '& get()'
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & get()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: '& get() const'
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: operator->()
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T operator->()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CertFreeCertificateContext
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: Botan::Handle_Guard::close
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - CertFreeCertificateContext
    linkageType: ''
    returnType: typename std::enable_if<std::is_same<T2, PCCERT_CONTEXT>::value>::type
    signature: typename std::enable_if<std::is_same<T2, PCCERT_CONTEXT>::value>::type
      close()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CertCloseStore
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: Botan::Handle_Guard::close
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - CertCloseStore
    linkageType: ''
    returnType: typename std::enable_if<std::is_same<T2, HCERTSTORE>::value>::type
    signature: typename std::enable_if<std::is_same<T2, HCERTSTORE>::value>::type
      close()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CertOpenSystemStoreA
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:88,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:90,1
    - Dst: std::string
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:90,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:91,1
    - Dst: ::GetLastError
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cert_store_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: Botan::open_cert_store
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - CertOpenSystemStoreA
    - Botan::to_string
    - Internal_Error
    - ::GetLastError
    linkageType: ''
    returnType: HCERTSTORE
    signature: HCERTSTORE open_cert_store(const char* cert_store_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::open_cert_store
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:103,1
    - Dst: Handle_Guard::assign
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:105,1
    - Dst: CertFindCertificateInStore
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:105,1
    - Dst: Handle_Guard::get
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:105,1
    - Dst: Handle_Guard::get
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:110,1
    - Dst: filter
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:112,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ' blob'
    - ' find_type'
    - filter
    - return_on_first_found
    argTypes:
    - _CRYPTOAPI_BLOB
    - DWORD
    - std::function<bool(const std::vector<X509_Certificate>& certs, const X509_Certificate&
      cert)>
    - bool
    constantsTouched: []
    func_position:
      end: 122
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 122
    functionName: Botan::search_cert_stores
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - Handle_Guard::get
    - std::vector::push_back
    - CertFindCertificateInStore
    - Botan::open_cert_store
    - Handle_Guard::assign
    - filter
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> search_cert_stores(\n   const _CRYPTOAPI_BLOB&
      blob,\n   const DWORD& find_type,\n   std::function<bool(const std::vector<X509_Certificate>&
      certs, const X509_Certificate& cert)> filter,\n   bool return_on_first_found)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:125,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:125,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' certs'
    - cert
    argTypes:
    - std::vector<X509_Certificate>
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::already_contains_certificate
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - Botan::begin
    - std::any_of
    - Botan::end
    linkageType: ''
    returnType: bool
    signature: bool already_contains_certificate(const std::vector<X509_Certificate>&
      certs, X509_Certificate cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::empty
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:136,1
    - Dst: DER_encode
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:138,1
    - Dst: static_cast<DWORD>
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:139,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:139,1
    - Dst: reinterpret_cast<BYTE*>
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:140,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:140,1
    - Dst: static_cast<DWORD>
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:143,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:143,1
    - Dst: const_cast<BYTE*>
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:144,1
    - Dst: data
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:144,1
    - Dst: Botan::already_contains_certificate
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:148,1
    - Dst: Botan::empty
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:148,1
    - Dst: subject_dn
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:148,1
    - Dst: Botan::search_cert_stores
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ' subject_dn'
    - ' key_id'
    - return_on_first_found
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 152
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 152
    functionName: Botan::find_cert_by_dn_and_key_id
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - Botan::already_contains_certificate
    - std::vector::size
    - DER_encode
    - Botan::search_cert_stores
    - const_cast<BYTE*>
    - data
    - static_cast<DWORD>
    - reinterpret_cast<BYTE*>
    - subject_dn
    - Botan::empty
    - Botan::size
    - std::vector::data
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> find_cert_by_dn_and_key_id(const X509_DN&
      subject_dn,\n                                                         const
      std::vector<uint8_t>& key_id,\n                                                         bool
      return_on_first_found)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: Botan::Certificate_Store_Windows::Certificate_Store_Windows
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Certificate_Store_Windows::Certificate_Store_Windows()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_cert_store
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:161,1
    - Dst: Handle_Guard::assign
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:166,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:166,1
    - Dst: Handle_Guard::get
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:166,1
    - Dst: Handle_Guard::get
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:166,1
    - Dst: X509_DN::decode_from
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:170,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:171,1
    - Dst: std::move
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 176
    functionName: Botan::Certificate_Store_Windows::all_subjects
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - Handle_Guard::get
    - X509_DN::decode_from
    - open_cert_store
    - CertEnumCertificatesInStore
    - std::move
    - std::vector::emplace_back
    - Handle_Guard::assign
    linkageType: ''
    returnType: std::vector<X509_DN>
    signature: std::vector<X509_DN> Certificate_Store_Windows::all_subjects() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_cert_by_dn_and_key_id
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:180,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:181,1
    - Dst: auto::front
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: Botan::Certificate_Store_Windows::find_cert
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - find_cert_by_dn_and_key_id
    - auto::front
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_Windows::find_cert(const
      X509_DN& subject_dn,\n                                                                     const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_cert_by_dn_and_key_id
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: Botan::Certificate_Store_Windows::find_all_certs
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - find_cert_by_dn_and_key_id
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> Certificate_Store_Windows::find_all_certs(const
      X509_DN& subject_dn,\n                                                                        const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:194,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:195,1
    - Dst: static_cast<DWORD>
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:199,1
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:199,1
    - Dst: const_cast<BYTE*>
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:200,1
    - Dst: data
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:200,1
    - Dst: search_cert_stores
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:207,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:208,1
    - Dst: auto::front
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:209,1
    - Dst: Botan::Certificate_Store_Windows::find_cert_by_pubkey_sha1_via_exhaustive_search
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' key_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 214
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 214
    functionName: Botan::Certificate_Store_Windows::find_cert_by_pubkey_sha1
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - const_cast<BYTE*>
    - data
    - search_cert_stores
    - size
    - static_cast<DWORD>
    - Botan::Certificate_Store_Windows::find_cert_by_pubkey_sha1_via_exhaustive_search
    - Invalid_Argument
    - auto::empty
    - auto::front
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_Windows::find_cert_by_pubkey_sha1(\n
      \  const std::vector<uint8_t>& key_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:218,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' subject_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: Botan::Certificate_Store_Windows::find_cert_by_raw_subject_dn_sha256
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Not_Implemented
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_Windows::find_cert_by_raw_subject_dn_sha256(\n
      \  const std::vector<uint8_t>& subject_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' subject'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: Botan::Certificate_Store_Windows::find_crl_for
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::optional<X509_CRL>
    signature: std::optional<X509_CRL> Certificate_Store_Windows::find_crl_for(const
      X509_Certificate& subject) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:230,1
    - Dst: end
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:230,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:234,1
    - Dst: open_cert_store
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:236,1
    - Dst: Handle_Guard::assign
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:241,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:241,1
    - Dst: Handle_Guard::get
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:241,1
    - Dst: Handle_Guard::get
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:241,1
    - Dst: auto::process
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:243,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:243,1
    - Dst: std::equal
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:245,1
    - Dst: begin
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:245,1
    - Dst: end
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:245,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' key_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 256
      start: 228
    functionDepth: 3
    functionLinenumber: 228
    functionLinenumberEnd: 256
    functionName: Botan::Certificate_Store_Windows::find_cert_by_pubkey_sha1_via_exhaustive_search
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.cpp
    functionUses: 1
    functionsReached:
    - Handle_Guard::get
    - Botan::HashFunction::create_or_throw
    - open_cert_store
    - static_cast<uint8_t*>
    - begin
    - CertEnumCertificatesInStore
    - end
    - std::equal
    - auto::begin
    - find
    - Handle_Guard::assign
    - auto::process
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Certificate_Store_Windows::find_cert_by_pubkey_sha1_via_exhaustive_search(\n
      \  const std::vector<uint8_t>& key_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Certificate_Store_Windows
      Src: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.h:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 83
    functionName: Botan::Certificate_Store
    functionSourceFile: /src/botan/src/lib/x509/certstor_system_windows/certstor_windows.h
    functionUses: 0
    functionsReached:
    - Certificate_Store_Windows
    linkageType: ''
    returnType: Certificate_Store_Windows
    signature: Certificate_Store_Windows Certificate_Store
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Certificate_Store_In_SQLite
      Src: /src/botan/src/lib/x509/certstor_sqlite3/certstor_sqlite.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: Botan::Certificate_Store_In_SQL
    functionSourceFile: /src/botan/src/lib/x509/certstor_sqlite3/certstor_sqlite.h
    functionUses: 0
    functionsReached:
    - Certificate_Store_In_SQLite
    linkageType: ''
    returnType: Certificate_Store_In_SQLite
    signature: Certificate_Store_In_SQLite Certificate_Store_In_SQL
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Sqlite3_Database>
      Src: /src/botan/src/lib/x509/certstor_sqlite3/certstor_sqlite.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - db_path
    - passwd
    - ' rng'
    - table_prefix
    argTypes:
    - std::string_view
    - std::string_view
    - RandomNumberGenerator
    - std::string_view
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: Botan::Certificate_Store_In_SQLite::Certificate_Store_In_SQLite
    functionSourceFile: /src/botan/src/lib/x509/certstor_sqlite3/certstor_sqlite.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Sqlite3_Database>
    linkageType: ''
    returnType: void
    signature: "void Certificate_Store_In_SQLite::Certificate_Store_In_SQLite(std::string_view
      db_path,\n                                                         std::string_view
      passwd,\n                                                         RandomNumberGenerator&
      rng,\n                                                         std::string_view
      table_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: end_of_data
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:22,1
    - Dst: Botan::unlock
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:26,1
    - Dst: Botan::PEM_Code::decode
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:26,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:29,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 35
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 35
    functionName: Botan::decode_all_certificates
    functionSourceFile: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - end_of_data
    - Botan::unlock
    - Botan::PEM_Code::decode
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: std::vector<std::vector<uint8_t>> decode_all_certificates(DataSource&
      source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:39,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:40,1
    - Dst: decode_all_certificates
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:45,1
    - Dst: X509_Certificate::is_self_signed
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:54,1
    - Dst: X509_Certificate::is_CA_cert
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:54,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:55,1
    - Dst: X509_Certificate::subject_dn
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:55,1
    - Dst: X509_Certificate::subject_dn
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:56,1
    - Dst: push_back
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:56,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:57,1
    - Dst: X509_Certificate::subject_public_key_bitstring_sha1
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:57,1
    - Dst: emplace
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:58,1
    - Dst: X509_Certificate::raw_subject_dn_sha256
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:58,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:60,1
    - Dst: X509_Certificate::subject_dn
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:60,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:64,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:65,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - file
    - ignore_non_ca
    argTypes:
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: Botan::Flatfile_Certificate_Store::Flatfile_Certificate_Store
    functionSourceFile: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - X509_Certificate::subject_dn
    - X509_Certificate::subject_public_key_bitstring_sha1
    - X509_Certificate::is_self_signed
    - std::string_view::empty
    - empty
    - push_back
    - X509_Certificate::raw_subject_dn_sha256
    - decode_all_certificates
    - Invalid_Argument
    - X509_Certificate::is_CA_cert
    linkageType: ''
    returnType: void
    signature: void Flatfile_Certificate_Store::Flatfile_Certificate_Store(std::string_view
      file, bool ignore_non_ca)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan::Flatfile_Certificate_Store::all_subjects
    functionSourceFile: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::vector<X509_DN>
    signature: std::vector<X509_DN> Flatfile_Certificate_Store::all_subjects() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:77,1
    - Dst: empty
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:80,1
    - Dst: subject_key_id
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:80,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 89
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 89
    functionName: Botan::Flatfile_Certificate_Store::find_all_certs
    functionSourceFile: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp
    functionUses: 2
    functionsReached:
    - empty
    - subject_key_id
    - at
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> Flatfile_Certificate_Store::find_all_certs(const
      X509_DN& subject_dn,\n                                                                         const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:93,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:94,1
    - Dst: find
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:97,1
    - Dst: end
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' key_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: Botan::Flatfile_Certificate_Store::find_cert_by_pubkey_sha1
    functionSourceFile: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp
    functionUses: 2
    functionsReached:
    - Invalid_Argument
    - end
    - find
    - size
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Flatfile_Certificate_Store::find_cert_by_pubkey_sha1(\n
      \  const std::vector<uint8_t>& key_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:108,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:109,1
    - Dst: find
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:112,1
    - Dst: end
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' subject_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: Botan::Flatfile_Certificate_Store::find_cert_by_raw_subject_dn_sha256
    functionSourceFile: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - end
    - find
    - size
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> Flatfile_Certificate_Store::find_cert_by_raw_subject_dn_sha256(\n
      \  const std::vector<uint8_t>& subject_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' subject'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: Botan::Flatfile_Certificate_Store::find_crl_for
    functionSourceFile: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::optional<X509_CRL>
    signature: std::optional<X509_CRL> Flatfile_Certificate_Store::find_crl_for(const
      X509_Certificate& subject) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Flatfile_Certificate_Store
      Src: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.h:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 72
    functionName: Botan::Certificate_Store
    functionSourceFile: /src/botan/src/lib/x509/certstor_flatfile/certstor_flatfile.h
    functionUses: 0
    functionsReached:
    - Flatfile_Certificate_Store
    linkageType: ''
    returnType: Flatfile_Certificate_Store
    signature: Flatfile_Certificate_Store Certificate_Store
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Certificate_Store_MacOS>
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp:25,1
    - Dst: std::make_shared<Certificate_Store_Windows>
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp:27,1
    - Dst: std::make_shared<Flatfile_Certificate_Store>
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp:29,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: Botan::System_Certificate_Store::System_Certificate_Store
    functionSourceFile: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<Certificate_Store_Windows>
    - std::make_shared<Certificate_Store_MacOS>
    - Not_Implemented
    - std::make_shared<Flatfile_Certificate_Store>
    linkageType: ''
    returnType: void
    signature: void System_Certificate_Store::System_Certificate_Store()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::System_Certificate_Store::find_cert
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: Botan::System_Certificate_Store::find_cert
    functionSourceFile: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp
    functionUses: 1
    functionsReached:
    - Botan::System_Certificate_Store::find_cert
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> System_Certificate_Store::find_cert(const
      X509_DN& subject_dn,\n                                                                    const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::System_Certificate_Store::find_all_certs
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' subject_dn'
    - ' key_id'
    argTypes:
    - X509_DN
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: Botan::System_Certificate_Store::find_all_certs
    functionSourceFile: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp
    functionUses: 2
    functionsReached:
    - Botan::System_Certificate_Store::find_all_certs
    linkageType: ''
    returnType: std::vector<X509_Certificate>
    signature: "std::vector<X509_Certificate> System_Certificate_Store::find_all_certs(const
      X509_DN& subject_dn,\n                                                                       const
      std::vector<uint8_t>& key_id) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::System_Certificate_Store::find_cert_by_pubkey_sha1
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: Botan::System_Certificate_Store::find_cert_by_pubkey_sha1
    functionSourceFile: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp
    functionUses: 1
    functionsReached:
    - Botan::System_Certificate_Store::find_cert_by_pubkey_sha1
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> System_Certificate_Store::find_cert_by_pubkey_sha1(\n
      \  const std::vector<uint8_t>& key_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::System_Certificate_Store::find_cert_by_raw_subject_dn_sha256
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' subject_hash'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: Botan::System_Certificate_Store::find_cert_by_raw_subject_dn_sha256
    functionSourceFile: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp
    functionUses: 1
    functionsReached:
    - Botan::System_Certificate_Store::find_cert_by_raw_subject_dn_sha256
    linkageType: ''
    returnType: std::optional<X509_Certificate>
    signature: "std::optional<X509_Certificate> System_Certificate_Store::find_cert_by_raw_subject_dn_sha256(\n
      \  const std::vector<uint8_t>& subject_hash) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::System_Certificate_Store::find_crl_for
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' subject'
    argTypes:
    - X509_Certificate
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan::System_Certificate_Store::find_crl_for
    functionSourceFile: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp
    functionUses: 1
    functionsReached:
    - Botan::System_Certificate_Store::find_crl_for
    linkageType: ''
    returnType: std::optional<X509_CRL>
    signature: std::optional<X509_CRL> System_Certificate_Store::find_crl_for(const
      X509_Certificate& subject) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::System_Certificate_Store::all_subjects
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::System_Certificate_Store::all_subjects
    functionSourceFile: /src/botan/src/lib/x509/certstor_system/certstor_system.cpp
    functionUses: 2
    functionsReached:
    - Botan::System_Certificate_Store::all_subjects
    linkageType: ''
    returnType: std::vector<X509_DN>
    signature: std::vector<X509_DN> System_Certificate_Store::all_subjects() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System_Certificate_Store
      Src: /src/botan/src/lib/x509/certstor_system/certstor_system.h:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 35
    functionName: Botan::Certificate_Store
    functionSourceFile: /src/botan/src/lib/x509/certstor_system/certstor_system.h
    functionUses: 0
    functionsReached:
    - System_Certificate_Store
    linkageType: ''
    returnType: System_Certificate_Store
    signature: System_Certificate_Store Certificate_Store
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:43,1
    - Dst: std::make_unique<SHAKE_128_Cipher>
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:44,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:49,1
    - Dst: std::make_unique<SHAKE_256_Cipher>
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:50,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:57,1
    - Dst: std::make_unique<ChaCha>
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:58,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:65,1
    - Dst: std::make_unique<Salsa20>
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:66,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:74,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:74,1
    - Dst: SCAN_Name::arg_count_between
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:74,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:75,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:76,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:76,1
    - Dst: std::make_unique<CTR_BE>
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:79,1
    - Dst: std::move
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:79,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:86,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:87,1
    - Dst: std::make_unique<ChaCha>
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:88,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:88,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:94,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:94,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:95,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:96,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:96,1
    - Dst: std::make_unique<OFB>
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:97,1
    - Dst: std::move
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:97,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:105,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:105,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:105,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:108,1
    - Dst: std::make_unique<RC4>
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:109,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:115,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:116,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 48
    argCount: 2
    argNames:
    - algo_spec
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 119
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 119
    functionName: Botan::StreamCipher::create
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.cpp
    functionUses: 4
    functionsReached:
    - SCAN_Name::algo_name
    - std::make_unique<OFB>
    - std::make_unique<ChaCha>
    - SCAN_Name::arg_as_integer
    - std::make_unique<SHAKE_256_Cipher>
    - SCAN_Name::arg_count
    - Botan::BlockCipher::create
    - std::string_view::empty
    - std::move
    - BOTAN_UNUSED
    - std::make_unique<Salsa20>
    - SCAN_Name::arg_count_between
    - SCAN_Name::arg
    - std::make_unique<CTR_BE>
    - std::make_unique<SHAKE_128_Cipher>
    - std::make_unique<RC4>
    linkageType: ''
    returnType: std::unique_ptr<StreamCipher>
    signature: std::unique_ptr<StreamCipher> StreamCipher::create(std::string_view
      algo_spec, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:123,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: Botan::StreamCipher::create_or_throw
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.cpp
    functionUses: 10
    functionsReached:
    - Botan::StreamCipher::create
    - Lookup_Error
    linkageType: ''
    returnType: std::unique_ptr<StreamCipher>
    signature: std::unique_ptr<StreamCipher> StreamCipher::create_or_throw(std::string_view
      algo, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: probe_providers_of<StreamCipher>
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: Botan::StreamCipher::providers
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.cpp
    functionUses: 4
    functionsReached:
    - probe_providers_of<StreamCipher>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> StreamCipher::providers(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:134,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:134,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:134,1
    - Dst: cipher_bytes
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:135,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:135,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:135,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - std::span<const uint8_t>
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: Botan::StreamCipher::cipher
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::data
    - cipher_bytes
    - std::span<uint8_t>::size
    - std::span<uint8_t>::data
    - std::span<const uint8_t>::size
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void StreamCipher::cipher(std::span<const uint8_t> in, std::span<uint8_t>
      out)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: Botan::StreamCipher::default_iv_length
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t StreamCipher::default_iv_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_mem
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:143,1
    - Dst: cipher1
      Src: /src/botan/src/lib/stream/stream_cipher.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: Botan::StreamCipher::generate_keystream
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.cpp
    functionUses: 0
    functionsReached:
    - cipher1
    - clear_mem
    linkageType: ''
    returnType: void
    signature: void StreamCipher::generate_keystream(uint8_t out[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher_bytes
      Src: /src/botan/src/lib/stream/stream_cipher.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::cipher
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - cipher_bytes
    linkageType: ''
    returnType: void
    signature: void cipher(const uint8_t in[], uint8_t out[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_keystream
      Src: /src/botan/src/lib/stream/stream_cipher.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: Botan::write_keystream
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - generate_keystream
    linkageType: ''
    returnType: void
    signature: void write_keystream(uint8_t out[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_keystream
      Src: /src/botan/src/lib/stream/stream_cipher.h:88,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/stream/stream_cipher.h:88,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/stream/stream_cipher.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: Botan::write_keystream
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - std::span<uint8_t>::data
    - generate_keystream
    linkageType: ''
    returnType: void
    signature: void write_keystream(std::span<uint8_t> out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::write_keystream
      Src: /src/botan/src/lib/stream/stream_cipher.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: Botan::keystream_bytes
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - Botan::write_keystream
    linkageType: ''
    returnType: T
    signature: T keystream_bytes(size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::cipher
      Src: /src/botan/src/lib/stream/stream_cipher.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Botan::cipher1
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - Botan::cipher
    linkageType: ''
    returnType: void
    signature: void cipher1(uint8_t buf[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::cipher
      Src: /src/botan/src/lib/stream/stream_cipher.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: Botan::cipher1
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - Botan::cipher
    linkageType: ''
    returnType: void
    signature: void cipher1(std::span<uint8_t> buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::cipher
      Src: /src/botan/src/lib/stream/stream_cipher.h:124,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/stream/stream_cipher.h:124,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/stream/stream_cipher.h:124,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/stream/stream_cipher.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inout
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: Botan::encipher
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - Botan::cipher
    - std::span<uint8_t>::size
    - std::span<uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void encipher(std::span<uint8_t> inout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::cipher
      Src: /src/botan/src/lib/stream/stream_cipher.h:131,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/stream/stream_cipher.h:131,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/stream/stream_cipher.h:131,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/stream/stream_cipher.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inout
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Botan::encrypt
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 2
    functionsReached:
    - Botan::cipher
    - std::span<uint8_t>::size
    - std::span<uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void encrypt(std::span<uint8_t> inout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::cipher
      Src: /src/botan/src/lib/stream/stream_cipher.h:138,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/stream/stream_cipher.h:138,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/stream/stream_cipher.h:138,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/stream/stream_cipher.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inout
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: Botan::decrypt
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - Botan::cipher
    - std::span<uint8_t>::size
    - std::span<uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void decrypt(std::span<uint8_t> inout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_iv_bytes
      Src: /src/botan/src/lib/stream/stream_cipher.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iv
    - iv_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: Botan::set_iv
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - set_iv_bytes
    linkageType: ''
    returnType: void
    signature: void set_iv(const uint8_t iv[], size_t iv_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_iv_bytes
      Src: /src/botan/src/lib/stream/stream_cipher.h:175,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/stream/stream_cipher.h:175,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/stream/stream_cipher.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iv
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Botan::set_iv
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - set_iv_bytes
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void set_iv(std::span<const uint8_t> iv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iv_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: Botan::valid_iv_length
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_iv_length(size_t iv_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::new_object
      Src: /src/botan/src/lib/stream/stream_cipher.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: Botan::clone
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached:
    - Botan::new_object
    linkageType: ''
    returnType: StreamCipher
    signature: StreamCipher * clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: Botan::provider
    functionSourceFile: /src/botan/src/lib/stream/stream_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:19,1
    - Dst: size
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:21,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:22,1
    - Dst: size
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:22,1
    - Dst: size
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:23,1
    - Dst: size
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:24,1
    - Dst: size
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:25,1
    - Dst: Botan::RC4::generate
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:26,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - in
    - out
    - length
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: Botan::RC4::cipher_bytes
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached:
    - xor_buf
    - assert_key_material_set
    - size
    - Botan::RC4::generate
    linkageType: ''
    returnType: void
    signature: void RC4::cipher_bytes(const uint8_t in[], uint8_t out[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RC4>
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::RC4::new_object
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RC4>
    linkageType: ''
    returnType: std::unique_ptr<StreamCipher>
    signature: std::unique_ptr<StreamCipher> RC4::new_object() const
  - 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: Botan::RC4::buffer_size
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RC4::buffer_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::RC4::key_spec
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification RC4::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: Botan::RC4::set_iv_bytes
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached:
    - Invalid_IV_Length
    linkageType: ''
    returnType: void
    signature: void RC4::set_iv_bytes(const uint8_t* /*iv*/, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 86
    functionName: Botan::RC4::generate
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void RC4::generate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::RC4::has_keying_material
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool RC4::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:96,1
    - Dst: resize
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:97,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:102,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:106,1
    - Dst: std::swap
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:107,1
    - Dst: size
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:110,1
    - Dst: Botan::RC4::generate
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:111,1
    - Dst: size
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: Botan::RC4::key_schedule
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::swap
    - resize
    - Botan::RC4::generate
    - std::span<const uint8_t>::size
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void RC4::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: Botan::RC4::name
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string RC4::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:134,1
    - Dst: zap
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: Botan::RC4::clear
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void RC4::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: Botan::RC4::RC4
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RC4::RC4(size_t s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/stream/rc4/rc4.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: Botan::RC4::seek
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void RC4::seek(uint64_t /*offset*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear
      Src: /src/botan/src/lib/stream/rc4/rc4.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~RC4() override
    functionSourceFile: /src/botan/src/lib/stream/rc4/rc4.h
    functionUses: 0
    functionsReached:
    - Botan::clear
    linkageType: ''
    returnType: void
    signature: void ~RC4() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:19,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:20,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:21,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' x3'
    - ' x4'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: Botan::salsa20_quarter_round
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void salsa20_quarter_round(uint32_t& x1, uint32_t& x2, uint32_t& x3,
      uint32_t& x4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:37,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:38,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:39,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:40,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:42,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:43,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:44,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - uint32_t[]
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 56
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 56
    functionName: Botan::Salsa20::hsalsa20
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 1
    functionsReached:
    - salsa20_quarter_round
    linkageType: ''
    returnType: void
    signature: void Salsa20::hsalsa20(uint32_t output[8], const uint32_t input[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:63,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:70,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:71,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:72,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:73,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:75,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:76,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:77,1
    - Dst: salsa20_quarter_round
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:78,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:81,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:82,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:83,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:84,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:85,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:86,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:87,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:88,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:89,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:90,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:91,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:92,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:93,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:94,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:95,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 3
    argNames:
    - output
    - input
    - rounds
    argTypes:
    - uint8_t[]
    - uint32_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 97
    functionName: Botan::Salsa20::salsa_core
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 1
    functionsReached:
    - store_le
    - salsa20_quarter_round
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Salsa20::salsa_core(uint8_t output[64], const uint32_t input[16],
      size_t rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:103,1
    - Dst: size
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:105,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:108,1
    - Dst: Botan::Salsa20::salsa_core
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:109,1
    - Dst: data
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:109,1
    - Dst: data
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:109,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - in
    - out
    - length
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 124
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 124
    functionName: Botan::Salsa20::cipher_bytes
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached:
    - data
    - Botan::Salsa20::salsa_core
    - assert_key_material_set
    - size
    - xor_buf
    linkageType: ''
    returnType: void
    signature: void Salsa20::cipher_bytes(const uint8_t in[], uint8_t out[], size_t
      length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 162
    functionName: Botan::Salsa20::initialize_state
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void Salsa20::initialize_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: Botan::Salsa20::has_keying_material
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Salsa20::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: Botan::Salsa20::buffer_size
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Salsa20::buffer_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:176,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:176,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:177,1
    - Dst: data
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:177,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:177,1
    - Dst: size
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:177,1
    - Dst: resize
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:179,1
    - Dst: resize
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:180,1
    - Dst: set_iv
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: Botan::Salsa20::key_schedule
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached:
    - load_le<uint32_t>
    - data
    - set_iv
    - size
    - resize
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void Salsa20::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:189,1
    - Dst: Botan::Salsa20::valid_iv_length
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:191,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:192,1
    - Dst: Botan::Salsa20::name
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:192,1
    - Dst: Botan::Salsa20::initialize_state
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:195,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:203,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:204,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:207,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:208,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:209,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:210,1
    - Dst: Botan::Salsa20::hsalsa20
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:213,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:213,1
    - Dst: data
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:213,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:219,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:220,1
    - Dst: Botan::Salsa20::salsa_core
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:230,1
    - Dst: data
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:230,1
    - Dst: data
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 2
    argNames:
    - iv
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 235
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 235
    functionName: Botan::Salsa20::set_iv_bytes
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached:
    - Botan::Salsa20::hsalsa20
    - secure_vector::data
    - load_le<uint32_t>
    - data
    - Botan::Salsa20::salsa_core
    - assert_key_material_set
    - Invalid_IV_Length
    - Botan::Salsa20::name
    - Botan::Salsa20::initialize_state
    - Botan::Salsa20::valid_iv_length
    linkageType: ''
    returnType: void
    signature: void Salsa20::set_iv_bytes(const uint8_t iv[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iv_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: Botan::Salsa20::valid_iv_length
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Salsa20::valid_iv_length(size_t iv_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: Botan::Salsa20::default_iv_length
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Salsa20::default_iv_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: Botan::Salsa20::key_spec
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification Salsa20::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Salsa20>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: Botan::Salsa20::new_object
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Salsa20>
    linkageType: ''
    returnType: std::unique_ptr<StreamCipher>
    signature: std::unique_ptr<StreamCipher> Salsa20::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: Botan::Salsa20::name
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Salsa20::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:261,1
    - Dst: zap
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:262,1
    - Dst: zap
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: Botan::Salsa20::clear
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Salsa20::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:268,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:273,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:275,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:276,1
    - Dst: Botan::Salsa20::salsa_core
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:278,1
    - Dst: data
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:278,1
    - Dst: data
      Src: /src/botan/src/lib/stream/salsa20/salsa20.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 284
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 284
    functionName: Botan::Salsa20::seek
    functionSourceFile: /src/botan/src/lib/stream/salsa20/salsa20.cpp
    functionUses: 0
    functionsReached:
    - load_le<uint32_t>
    - Botan::Salsa20::salsa_core
    - data
    - assert_key_material_set
    - store_le
    linkageType: ''
    returnType: void
    signature: void Salsa20::seek(uint64_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:26,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:29,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:32,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: Botan::chacha_quarter_round
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void chacha_quarter_round(uint32_t& a, uint32_t& b, uint32_t& c, uint32_t&
      d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:42,1
    - Dst: Botan::chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:49,1
    - Dst: Botan::chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:50,1
    - Dst: Botan::chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:51,1
    - Dst: Botan::chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:52,1
    - Dst: Botan::chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:54,1
    - Dst: Botan::chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:55,1
    - Dst: Botan::chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:56,1
    - Dst: Botan::chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - output
    - input
    - rounds
    argTypes:
    - uint32_t[]
    - uint32_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 68
    functionName: Botan::hchacha
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - Botan::chacha_quarter_round
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void hchacha(uint32_t output[8], const uint32_t input[16], size_t rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rounds
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Botan::ChaCha::ChaCha
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void ChaCha::ChaCha(size_t rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:78,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: Botan::ChaCha::parallelism
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: size_t
    signature: size_t ChaCha::parallelism()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:94,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:100,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 112
    functionName: Botan::ChaCha::provider
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string ChaCha::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:115,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:118,1
    - Dst: Botan::BOTAN_FN_ISA_AVX512::chacha_avx512_x16
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:120,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:128,1
    - Dst: Botan::BOTAN_FN_ISA_AVX2::chacha_avx2_x8
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:130,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:138,1
    - Dst: Botan::ChaCha::chacha_simd32_x4
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:140,1
    - Dst: chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:154,1
    - Dst: chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:155,1
    - Dst: chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:156,1
    - Dst: chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:157,1
    - Dst: chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:159,1
    - Dst: chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:160,1
    - Dst: chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:161,1
    - Dst: chacha_quarter_round
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:162,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:182,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:183,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:184,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:185,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:186,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:187,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:188,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:189,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:190,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:191,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:192,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:193,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:194,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:195,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:196,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 69
    argCount: 4
    argNames:
    - output
    - output_blocks
    - state
    - rounds
    argTypes:
    - uint8_t[]
    - size_t
    - uint32_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 202
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 202
    functionName: Botan::ChaCha::chacha
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - Botan::BOTAN_FN_ISA_AVX2::chacha_avx2_x8
    - chacha_quarter_round
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - store_le
    - BOTAN_ASSERT
    - Botan::BOTAN_FN_ISA_AVX512::chacha_avx512_x16
    - Botan::ChaCha::chacha_simd32_x4
    linkageType: ''
    returnType: void
    signature: void ChaCha::chacha(uint8_t output[], size_t output_blocks, uint32_t
      state[16], size_t rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:208,1
    - Dst: size
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:210,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:213,1
    - Dst: Botan::ChaCha::chacha
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:214,1
    - Dst: data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:214,1
    - Dst: size
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:214,1
    - Dst: data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:214,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - in
    - out
    - length
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 225
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 225
    functionName: Botan::ChaCha::cipher_bytes
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - Botan::ChaCha::chacha
    - data
    - assert_key_material_set
    - size
    - xor_buf
    linkageType: ''
    returnType: void
    signature: void ChaCha::cipher_bytes(const uint8_t in[], uint8_t out[], size_t
      length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:228,1
    - Dst: size
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:230,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:235,1
    - Dst: Botan::ChaCha::chacha
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:236,1
    - Dst: data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:236,1
    - Dst: size
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:236,1
    - Dst: data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:236,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - out
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 246
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 246
    functionName: Botan::ChaCha::generate_keystream
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - Botan::ChaCha::chacha
    - data
    - assert_key_material_set
    - size
    - copy_mem
    linkageType: ''
    returnType: void
    signature: void ChaCha::generate_keystream(uint8_t out[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 286
    functionName: Botan::ChaCha::initialize_state
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void ChaCha::initialize_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: Botan::ChaCha::has_keying_material
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool ChaCha::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: Botan::ChaCha::buffer_size
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ChaCha::buffer_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:300,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:300,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:301,1
    - Dst: data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:301,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:301,1
    - Dst: size
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:301,1
    - Dst: resize
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:303,1
    - Dst: resize
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:306,1
    - Dst: Botan::ChaCha::parallelism
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:306,1
    - Dst: set_iv
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 309
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 309
    functionName: Botan::ChaCha::key_schedule
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - load_le<uint32_t>
    - data
    - set_iv
    - size
    - resize
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - Botan::ChaCha::parallelism
    linkageType: ''
    returnType: void
    signature: void ChaCha::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: Botan::ChaCha::default_iv_length
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ChaCha::default_iv_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: Botan::ChaCha::key_spec
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification ChaCha::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ChaCha>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: Botan::ChaCha::new_object
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ChaCha>
    linkageType: ''
    returnType: std::unique_ptr<StreamCipher>
    signature: std::unique_ptr<StreamCipher> ChaCha::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - iv_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 325
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionName: Botan::ChaCha::valid_iv_length
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ChaCha::valid_iv_length(size_t iv_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:328,1
    - Dst: Botan::ChaCha::valid_iv_length
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:330,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:331,1
    - Dst: Botan::ChaCha::name
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:331,1
    - Dst: Botan::ChaCha::initialize_state
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:334,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:341,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:342,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:344,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:345,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:346,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:348,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:349,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:350,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:351,1
    - Dst: hchacha
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:354,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:354,1
    - Dst: data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:354,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:366,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:367,1
    - Dst: Botan::ChaCha::chacha
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:370,1
    - Dst: data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:370,1
    - Dst: size
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:370,1
    - Dst: data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:370,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 2
    argNames:
    - iv
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 372
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 372
    functionName: Botan::ChaCha::set_iv_bytes
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - hchacha
    - secure_vector::data
    - load_le<uint32_t>
    - Botan::ChaCha::chacha
    - data
    - Botan::ChaCha::initialize_state
    - assert_key_material_set
    - size
    - Invalid_IV_Length
    - Botan::ChaCha::name
    - Botan::ChaCha::valid_iv_length
    linkageType: ''
    returnType: void
    signature: void ChaCha::set_iv_bytes(const uint8_t iv[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:375,1
    - Dst: zap
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:376,1
    - Dst: zap
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: Botan::ChaCha::clear
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void ChaCha::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: Botan::ChaCha::name
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 1
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string ChaCha::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:386,1
    - Dst: store_le
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:393,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:395,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:396,1
    - Dst: Botan::ChaCha::chacha
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:398,1
    - Dst: data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:398,1
    - Dst: size
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:398,1
    - Dst: data
      Src: /src/botan/src/lib/stream/chacha/chacha.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 400
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 400
    functionName: Botan::ChaCha::seek
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha.cpp
    functionUses: 0
    functionsReached:
    - load_le<uint32_t>
    - Botan::ChaCha::chacha
    - data
    - assert_key_material_set
    - size
    - store_le
    linkageType: ''
    returnType: void
    signature: void ChaCha::seek(uint64_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::reset_registers
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:16,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:18,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:19,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:22,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:24,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:25,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:26,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:27,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:28,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:29,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:30,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:31,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:32,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:33,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:34,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:35,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:36,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:37,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:38,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:39,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:52,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:53,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:54,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:55,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:67,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:68,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:69,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:70,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:82,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:83,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:84,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:85,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:97,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:98,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:99,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:100,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:112,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:113,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:114,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:115,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:127,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:128,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:129,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:130,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:142,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:143,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:144,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:145,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:157,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:158,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:159,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:160,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:163,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:164,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:165,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:166,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:167,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:168,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:169,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:170,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:171,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:172,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:173,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:174,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:175,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:176,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:177,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:178,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:180,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:181,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:183,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:184,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:185,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:186,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:187,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:188,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:189,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:190,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:191,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:192,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:193,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:194,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:195,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:196,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:197,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:198,1
    - Dst: Botan::SIMD_8x32::zero_registers
      Src: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 140
    argCount: 3
    argNames:
    - output
    - state
    - rounds
    argTypes:
    - uint8_t[]
    - uint32_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 206
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 206
    functionName: Botan::BOTAN_FN_ISA_AVX2::chacha_avx2_x8
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp
    functionUses: 1
    functionsReached:
    - SIMD_8x32::rotl
    - Botan::SIMD_8x32::zero_registers
    - Botan::SIMD_8x32::splat
    - SIMD_8x32
    - BOTAN_ASSERT
    - Botan::SIMD_8x32::transpose
    - SIMD_8x32::store_le
    - Botan::SIMD_8x32::reset_registers
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX2 ChaCha::chacha_avx2_x8(uint8_t output[64 * 8],
      uint32_t state[16], size_t rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:16,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:17,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:20,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:22,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:23,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:24,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:25,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:26,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:27,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:28,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:29,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:30,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:31,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:32,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:33,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:34,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:35,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:36,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:37,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:50,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:51,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:52,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:53,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:65,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:66,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:67,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:68,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:80,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:81,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:82,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:83,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:95,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:96,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:97,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:98,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:110,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:111,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:112,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:113,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:125,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:126,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:127,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:128,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:140,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:141,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:142,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:143,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:155,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:156,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:157,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:158,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:161,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:162,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:163,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:164,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:165,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:166,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:167,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:168,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:169,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:170,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:171,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:172,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:173,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:174,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:175,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:176,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:178,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:179,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:180,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:181,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:183,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:184,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:185,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:186,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:187,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:188,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:189,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:190,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:191,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:192,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:193,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:194,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:195,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:196,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:197,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 140
    argCount: 3
    argNames:
    - output
    - state
    - rounds
    argTypes:
    - uint8_t[]
    - uint32_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 204
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 204
    functionName: Botan::ChaCha::chacha_simd32_x4
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::splat
    - SIMD_4x32
    - SIMD_4x32::store_le
    - BOTAN_ASSERT
    - SIMD_4x32::rotl
    - Botan::SIMD_4x32::transpose
    linkageType: ''
    returnType: void
    signature: void ChaCha::chacha_simd32_x4(uint8_t output[64 * 4], uint32_t state[16],
      size_t rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:16,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:17,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:20,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:23,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:24,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:25,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:26,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:27,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:28,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:29,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:30,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:31,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:32,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:33,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:34,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:35,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:36,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:37,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:38,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:51,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:52,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:53,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:54,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:66,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:67,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:68,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:69,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:81,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:82,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:83,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:84,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:96,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:97,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:98,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:99,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:111,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:112,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:113,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:114,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:126,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:127,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:128,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:129,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:141,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:142,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:143,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:144,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:156,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:157,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:158,1
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:159,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:162,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:163,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:164,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:165,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:166,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:167,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:168,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:169,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:170,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:171,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:172,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:173,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:174,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:175,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:176,1
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:177,1
    - Dst: Botan::SIMD_16x32::transpose
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:179,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:181,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:182,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:183,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:184,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:185,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:186,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:187,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:188,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:189,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:190,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:191,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:192,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:193,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:194,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:195,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:196,1
    - Dst: Botan::SIMD_16x32::zero_registers
      Src: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 138
    argCount: 3
    argNames:
    - output
    - state
    - rounds
    argTypes:
    - uint8_t[]
    - uint32_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 204
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 204
    functionName: Botan::BOTAN_FN_ISA_AVX512::chacha_avx512_x16
    functionSourceFile: /src/botan/src/lib/stream/chacha/chacha_avx512/chacha_avx512.cpp
    functionUses: 1
    functionsReached:
    - SIMD_16x32::store_le
    - Botan::SIMD_16x32::zero_registers
    - SIMD_16x32
    - Botan::SIMD_16x32::splat
    - BOTAN_ASSERT
    - SIMD_16x32::rotl
    - Botan::SIMD_16x32::transpose
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX512 ChaCha::chacha_avx512_x16(uint8_t output[64
      * 16], uint32_t state[16], size_t rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:18,1
    - Dst: block_size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:19,1
    - Dst: parallel_bytes
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:21,1
    - Dst: parallel_bytes
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:22,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: Botan::CTR_BE::CTR_BE
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - size
    - block_size
    - parallel_bytes
    linkageType: ''
    returnType: void
    signature: void CTR_BE::CTR_BE(std::unique_ptr<BlockCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:27,1
    - Dst: block_size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:28,1
    - Dst: parallel_bytes
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:30,1
    - Dst: parallel_bytes
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:31,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:32,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - cipher
    - ctr_size
    argTypes:
    - std::unique_ptr<BlockCipher>
    - size_t
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: Botan::CTR_BE::CTR_BE
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 0
    functionsReached:
    - block_size
    - size
    - std::move
    - parallel_bytes
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void CTR_BE::CTR_BE(std::unique_ptr<BlockCipher> cipher, size_t ctr_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CTR_BE::clear
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:38,1
    - Dst: zeroise
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:39,1
    - Dst: zeroise
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:40,1
    - Dst: zap
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: Botan::CTR_BE::clear
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 1
    functionsReached:
    - zeroise
    - Botan::CTR_BE::clear
    - zap
    linkageType: ''
    returnType: void
    signature: void CTR_BE::clear()
  - 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: Botan::CTR_BE::default_iv_length
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CTR_BE::default_iv_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iv_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::CTR_BE::valid_iv_length
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CTR_BE::valid_iv_length(size_t iv_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan::CTR_BE::buffer_size
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t CTR_BE::buffer_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CTR_BE::key_spec
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::CTR_BE::key_spec
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 1
    functionsReached:
    - Botan::CTR_BE::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification CTR_BE::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CTR_BE>
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:62,1
    - Dst: Botan::CTR_BE::new_object
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::CTR_BE::new_object
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<CTR_BE>
    - Botan::CTR_BE::new_object
    linkageType: ''
    returnType: std::unique_ptr<StreamCipher>
    signature: std::unique_ptr<StreamCipher> CTR_BE::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CTR_BE::has_keying_material
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan::CTR_BE::has_keying_material
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 1
    functionsReached:
    - Botan::CTR_BE::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool CTR_BE::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:70,1
    - Dst: set_iv
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: Botan::CTR_BE::key_schedule
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 0
    functionsReached:
    - set_key
    - set_iv
    linkageType: ''
    returnType: void
    signature: void CTR_BE::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:78,1
    - Dst: Botan::CTR_BE::name
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:78,1
    - Dst: fmt
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:80,1
    - Dst: Botan::CTR_BE::name
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: Botan::CTR_BE::name
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::CTR_BE::name
    linkageType: ''
    returnType: std::string
    signature: std::string CTR_BE::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:85,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:93,1
    - Dst: Botan::CTR_BE::add_counter
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:100,1
    - Dst: encrypt_n
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:101,1
    - Dst: data
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:101,1
    - Dst: data
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:101,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:107,1
    - Dst: Botan::CTR_BE::add_counter
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:112,1
    - Dst: encrypt_n
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:113,1
    - Dst: data
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:113,1
    - Dst: data
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:113,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - in
    - out
    - length
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 118
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 118
    functionName: Botan::CTR_BE::cipher_bytes
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 0
    functionsReached:
    - data
    - assert_key_material_set
    - xor_buf
    - encrypt_n
    - Botan::CTR_BE::add_counter
    linkageType: ''
    returnType: void
    signature: void CTR_BE::cipher_bytes(const uint8_t in[], uint8_t out[], size_t
      length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:121,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:125,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:130,1
    - Dst: Botan::CTR_BE::add_counter
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:131,1
    - Dst: encrypt_n
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:132,1
    - Dst: data
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:132,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:134,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:135,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:138,1
    - Dst: Botan::CTR_BE::add_counter
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:139,1
    - Dst: encrypt_n
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:140,1
    - Dst: data
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:140,1
    - Dst: data
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:140,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:144,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:146,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - out
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 147
    functionName: Botan::CTR_BE::generate_keystream
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - data
    - assert_key_material_set
    - size
    - copy_mem
    - encrypt_n
    - Botan::CTR_BE::add_counter
    linkageType: ''
    returnType: void
    signature: void CTR_BE::generate_keystream(uint8_t out[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CTR_BE::valid_iv_length
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:150,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:151,1
    - Dst: Botan::CTR_BE::name
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:151,1
    - Dst: resize
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:154,1
    - Dst: zeroise
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:155,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:156,1
    - Dst: Botan::CTR_BE::seek
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - iv
    - iv_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: Botan::CTR_BE::set_iv_bytes
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 0
    functionsReached:
    - Botan::CTR_BE::seek
    - zeroise
    - Invalid_IV_Length
    - copy_mem
    - resize
    - Botan::CTR_BE::valid_iv_length
    - Botan::CTR_BE::name
    linkageType: ''
    returnType: void
    signature: void CTR_BE::set_iv_bytes(const uint8_t iv[], size_t iv_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:171,1
    - Dst: store_be
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:178,1
    - Dst: store_be
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:188,1
    - Dst: store_be
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:189,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:200,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:202,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - counter
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 206
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 206
    functionName: Botan::CTR_BE::add_counter
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint8_t>
    - store_be
    linkageType: ''
    returnType: void
    signature: void CTR_BE::add_counter(const uint64_t counter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:209,1
    - Dst: zeroise
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:213,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:214,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:214,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:214,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:215,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:215,1
    - Dst: is_power_of_2
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:224,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:227,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:232,1
    - Dst: store_be
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:238,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:243,1
    - Dst: Botan::CTR_BE::add_counter
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:254,1
    - Dst: encrypt_n
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:257,1
    - Dst: data
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:257,1
    - Dst: data
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:257,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ctr/ctr.cpp:258,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 259
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 259
    functionName: Botan::CTR_BE::seek
    functionSourceFile: /src/botan/src/lib/stream/ctr/ctr.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - data
    - assert_key_material_set
    - size
    - zeroise
    - copy_mem
    - is_power_of_2
    - encrypt_n
    - store_be
    - Botan::CTR_BE::add_counter
    linkageType: ''
    returnType: void
    signature: void CTR_BE::seek(uint64_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:17,1
    - Dst: block_size
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: Botan::OFB::OFB
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - block_size
    linkageType: ''
    returnType: void
    signature: void OFB::OFB(std::unique_ptr<BlockCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OFB::clear
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:20,1
    - Dst: zeroise
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: Botan::OFB::clear
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 1
    functionsReached:
    - zeroise
    - Botan::OFB::clear
    linkageType: ''
    returnType: void
    signature: void OFB::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OFB::has_keying_material
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::OFB::has_keying_material
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 1
    functionsReached:
    - Botan::OFB::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool OFB::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan::OFB::buffer_size
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t OFB::buffer_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:34,1
    - Dst: set_iv
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: Botan::OFB::key_schedule
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 0
    functionsReached:
    - set_key
    - set_iv
    linkageType: ''
    returnType: void
    signature: void OFB::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:41,1
    - Dst: Botan::OFB::name
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::OFB::name
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::OFB::name
    linkageType: ''
    returnType: std::string
    signature: std::string OFB::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::OFB::default_iv_length
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: size_t
    signature: size_t OFB::default_iv_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iv_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Botan::OFB::valid_iv_length
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 0
    functionsReached:
    - block_size
    linkageType: ''
    returnType: bool
    signature: bool OFB::valid_iv_length(size_t iv_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OFB::key_spec
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::OFB::key_spec
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 1
    functionsReached:
    - Botan::OFB::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification OFB::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<OFB>
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:57,1
    - Dst: Botan::OFB::new_object
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::OFB::new_object
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<OFB>
    - Botan::OFB::new_object
    linkageType: ''
    returnType: std::unique_ptr<StreamCipher>
    signature: std::unique_ptr<StreamCipher> OFB::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:61,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:62,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:62,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:63,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:64,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:65,1
    - Dst: encrypt
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:66,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - in
    - out
    - length
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: Botan::OFB::cipher_bytes
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 0
    functionsReached:
    - xor_buf
    - encrypt
    - size
    linkageType: ''
    returnType: void
    signature: void OFB::cipher_bytes(const uint8_t in[], uint8_t out[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OFB::valid_iv_length
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:74,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:75,1
    - Dst: Botan::OFB::name
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:75,1
    - Dst: zeroise
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:78,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:79,1
    - Dst: size
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:79,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:80,1
    - Dst: encrypt
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - iv
    - iv_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: Botan::OFB::set_iv_bytes
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 0
    functionsReached:
    - Botan::OFB::name
    - BOTAN_ASSERT_NOMSG
    - size
    - zeroise
    - Invalid_IV_Length
    - copy_mem
    - Botan::OFB::valid_iv_length
    - encrypt
    linkageType: ''
    returnType: void
    signature: void OFB::set_iv_bytes(const uint8_t iv[], size_t iv_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/stream/ofb/ofb.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: Botan::OFB::seek
    functionSourceFile: /src/botan/src/lib/stream/ofb/ofb.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void OFB::seek(uint64_t /*offset*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::SHAKE_Cipher::has_keying_material
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_keying_material() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: byte_rate
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::SHAKE_Cipher::buffer_size
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.h
    functionUses: 0
    functionsReached:
    - byte_rate
    linkageType: ''
    returnType: size_t
    signature: size_t buffer_size() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::SHAKE_128_Cipher::name
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHAKE_128_Cipher>
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Botan::SHAKE_128_Cipher::new_object
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SHAKE_128_Cipher>
    linkageType: ''
    returnType: std::unique_ptr<StreamCipher>
    signature: std::unique_ptr<StreamCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::SHAKE_256_Cipher::name
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHAKE_256_Cipher>
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Botan::SHAKE_256_Cipher::new_object
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SHAKE_256_Cipher>
    linkageType: ''
    returnType: std::unique_ptr<StreamCipher>
    signature: std::unique_ptr<StreamCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHAKE_Cipher::buffer_size
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - keccak_capacity
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: Botan::SHAKE_Cipher::SHAKE_Cipher
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 0
    functionsReached:
    - Botan::SHAKE_Cipher::buffer_size
    linkageType: ''
    returnType: void
    signature: void SHAKE_Cipher::SHAKE_Cipher(size_t keccak_capacity)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:28,1
    - Dst: name
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: Botan::SHAKE_Cipher::set_iv_bytes
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 0
    functionsReached:
    - Invalid_IV_Length
    - name
    linkageType: ''
    returnType: void
    signature: void SHAKE_Cipher::set_iv_bytes(const uint8_t /*iv*/[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::SHAKE_Cipher::seek
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void SHAKE_Cipher::seek(uint64_t /*offset*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHAKE_Cipher::clear
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:37,1
    - Dst: zeroise
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: Botan::SHAKE_Cipher::clear
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 1
    functionsReached:
    - Botan::SHAKE_Cipher::clear
    - zeroise
    linkageType: ''
    returnType: void
    signature: void SHAKE_Cipher::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:44,1
    - Dst: size
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:46,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:50,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:51,1
    - Dst: Botan::SHAKE_Cipher::generate_keystream_internal
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:52,1
    - Dst: std::span
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:52,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:53,1
    - Dst: data
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:53,1
    - Dst: cipher_some
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:63,1
    - Dst: cipher_some
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:68,1
    - Dst: cipher_some
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - in
    - out
    - length
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 73
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 73
    functionName: Botan::SHAKE_Cipher::cipher_bytes
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - std::span
    - data
    - assert_key_material_set
    - size
    - xor_buf
    - cipher_some
    - Botan::SHAKE_Cipher::generate_keystream_internal
    linkageType: ''
    returnType: void
    signature: void SHAKE_Cipher::cipher_bytes(const uint8_t in[], uint8_t out[],
      size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:76,1
    - Dst: Botan::SHAKE_Cipher::generate_keystream_internal
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: Botan::SHAKE_Cipher::generate_keystream
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::SHAKE_Cipher::generate_keystream_internal
    linkageType: ''
    returnType: void
    signature: void SHAKE_Cipher::generate_keystream(uint8_t out[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: squeeze
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:81,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: Botan::SHAKE_Cipher::generate_keystream_internal
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 2
    functionsReached:
    - std::span<uint8_t>::size
    - squeeze
    linkageType: ''
    returnType: void
    signature: void SHAKE_Cipher::generate_keystream_internal(std::span<uint8_t> out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHAKE_Cipher::clear
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:86,1
    - Dst: absorb
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:87,1
    - Dst: finish
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: Botan::SHAKE_Cipher::key_schedule
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 0
    functionsReached:
    - Botan::SHAKE_Cipher::clear
    - absorb
    - finish
    linkageType: ''
    returnType: void
    signature: void SHAKE_Cipher::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: Botan::SHAKE_Cipher::key_spec
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification SHAKE_Cipher::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan::SHAKE_128_Cipher::SHAKE_128_Cipher
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHAKE_128_Cipher::SHAKE_128_Cipher()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan::SHAKE_256_Cipher::SHAKE_256_Cipher
    functionSourceFile: /src/botan/src/lib/stream/shake_cipher/shake_cipher.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHAKE_256_Cipher::SHAKE_256_Cipher()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:21,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:21,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:22,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:22,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:23,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:24,1
    - Dst: is_odd
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:24,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:46,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:56,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:56,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:56,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:58,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:58,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:58,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:58,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:59,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:59,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:59,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:59,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:65,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:65,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:65,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:65,1
    - Dst: Botan::bigint_shr1
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:66,1
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:67,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:68,1
    - Dst: Botan::bigint_cnd_sub
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:77,1
    - Dst: Botan::bigint_cnd_add
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:80,1
    - Dst: Botan::bigint_cnd_abs
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:81,1
    - Dst: Botan::bigint_cnd_swap
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:82,1
    - Dst: Botan::bigint_shr1
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:85,1
    - Dst: Botan::bigint_cnd_sub
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:88,1
    - Dst: Botan::bigint_cnd_add
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:91,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:91,1
    - Dst: Botan::bigint_shr1
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:96,1
    - Dst: Botan::bigint_cnd_add
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:99,1
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:102,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:104,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:106,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:109,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:109,1
    - Dst: if_set_zero_out
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:113,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:120,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:122,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:122,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:122,1
    - Dst: BigInt::swap_reg
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 2
    argNames:
    - ' n'
    - ' mod'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 127
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 127
    functionName: Botan::inverse_mod_odd_modulus
    functionSourceFile: /src/botan/src/lib/math/numbertheory/mod_inv.cpp
    functionUses: 0
    functionsReached:
    - Botan::bigint_add2_nc
    - Botan::bigint_cnd_abs
    - BigInt::swap_reg
    - auto::as_bool
    - Botan::CT::unpoison
    - Botan::BigInt::is_equal
    - Botan::Sodium::sodium_is_zero
    - BOTAN_ASSERT
    - Botan::bigint_shr1
    - BOTAN_ASSERT_NOMSG
    - secure_vector::size
    - _data
    - Botan::bigint_cnd_add
    - Botan::CT::poison
    - Botan::bigint_cnd_sub
    - Botan::CT::all_zeros
    - if_set_zero_out
    - secure_vector::data
    - std::min
    - Botan::copy_mem
    - is_positive
    - Botan::clear_mem
    - Botan::bigint_cnd_swap
    - Botan::size
    - is_odd
    linkageType: ''
    returnType: BigInt
    signature: BigInt inverse_mod_odd_modulus(const BigInt& n, const BigInt& mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:135,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:136,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:139,1
    - Dst: BigInt::mask_bits
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:143,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:145,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:146,1
    - Dst: BigInt::grow_to
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:151,1
    - Dst: Botan::round_up
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:151,1
    - Dst: BigInt::grow_to
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:152,1
    - Dst: BigInt::conditionally_set_bit
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:163,1
    - Dst: BigInt::ct_cond_assign
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:165,1
    - Dst: BigInt::mask_bits
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:169,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ' a1'
    - k
    argTypes:
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 173
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 173
    functionName: Botan::inverse_mod_pow2
    functionSourceFile: /src/botan/src/lib/math/numbertheory/mod_inv.cpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - BigInt::ct_cond_assign
    - is_even
    - BigInt::grow_to
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - BigInt::conditionally_set_bit
    - BigInt::mask_bits
    - Botan::CT::unpoison
    - Botan::round_up
    linkageType: ''
    returnType: BigInt
    signature: BigInt inverse_mod_pow2(const BigInt& a1, size_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:178,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:179,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:180,1
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:183,1
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:183,1
    - Dst: is_odd
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:187,1
    - Dst: Botan::inverse_mod_odd_modulus
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:188,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:189,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:198,1
    - Dst: is_odd
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:198,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:201,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:203,1
    - Dst: Botan::inverse_mod_pow2
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:207,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:208,1
    - Dst: Botan::inverse_mod_odd_modulus
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:231,1
    - Dst: Botan::ct_modulo
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:231,1
    - Dst: BigInt::ct_cond_add
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:239,1
    - Dst: BigInt::get_bit
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:239,1
    - Dst: Botan::inverse_mod_odd_modulus
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:251,1
    - Dst: Botan::ct_modulo
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:251,1
    - Dst: Botan::inverse_mod_pow2
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:252,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:259,1
    - Dst: Botan::inverse_mod_pow2
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:261,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:264,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:264,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:269,1
    - Dst: BigInt::mask_bits
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:270,1
    - Dst: BigInt::ct_cond_assign
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:272,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - ' x'
    - ' mod'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 278
      start: 177
    functionDepth: 4
    functionLinenumber: 177
    functionLinenumberEnd: 278
    functionName: Botan::inverse_mod_general
    functionSourceFile: /src/botan/src/lib/math/numbertheory/mod_inv.cpp
    functionUses: 2
    functionsReached:
    - BigInt::ct_cond_assign
    - is_even
    - is_odd
    - BOTAN_ASSERT_NOMSG
    - Botan::inverse_mod_pow2
    - BigInt::get_bit
    - Botan_Tests::BitOps_Tests::test_power_of_2
    - BigInt::mask_bits
    - BigInt::ct_cond_add
    - Botan::inverse_mod_odd_modulus
    - auto::is_zero
    - BigInt::is_zero
    - BOTAN_ARG_CHECK
    - BigInt::set_sign
    - Botan::ct_modulo
    linkageType: ''
    returnType: std::optional<BigInt>
    signature: std::optional<BigInt> inverse_mod_general(const BigInt& x, const BigInt&
      mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:281,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:281,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:281,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:282,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:283,1
    - Dst: is_odd
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:283,1
    - Dst: Botan::inverse_mod_odd_modulus
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' x'
    - ' p'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 289
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 289
    functionName: Botan::inverse_mod_secret_prime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/mod_inv.cpp
    functionUses: 2
    functionsReached:
    - is_odd
    - Botan::inverse_mod_odd_modulus
    - BOTAN_ARG_CHECK
    - is_positive
    linkageType: ''
    returnType: BigInt
    signature: BigInt inverse_mod_secret_prime(const BigInt& x, const BigInt& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::inverse_mod_secret_prime
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' p'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: Botan::inverse_mod_public_prime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/mod_inv.cpp
    functionUses: 2
    functionsReached:
    - Botan::inverse_mod_secret_prime
    linkageType: ''
    returnType: BigInt
    signature: BigInt inverse_mod_public_prime(const BigInt& x, const BigInt& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:296,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:296,1
    - Dst: is_odd
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:296,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:297,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:297,1
    - Dst: Botan::inverse_mod_odd_modulus
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:298,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:299,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' x'
    - ' n'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: Botan::inverse_mod_rsa_public_modulus
    functionSourceFile: /src/botan/src/lib/math/numbertheory/mod_inv.cpp
    functionUses: 0
    functionsReached:
    - is_positive
    - BigInt::is_zero
    - Botan::inverse_mod_odd_modulus
    - BOTAN_ASSERT
    - is_odd
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: BigInt
    signature: BigInt inverse_mod_rsa_public_modulus(const BigInt& x, const BigInt&
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_gte
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:313,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 315
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 315
    functionName: Botan::barrett_mod_65537
    functionSourceFile: /src/botan/src/lib/math/numbertheory/mod_inv.cpp
    functionUses: 0
    functionsReached:
    - auto::if_set_return
    - Botan::CT::Mask::is_gte
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t barrett_mod_65537(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::barrett_mod_65537
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:322,1
    - Dst: Botan::barrett_mod_65537
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:323,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - word
    constantsTouched: []
    func_position:
      end: 326
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 326
    functionName: Botan::inverse_mod_65537
    functionSourceFile: /src/botan/src/lib/math/numbertheory/mod_inv.cpp
    functionUses: 0
    functionsReached:
    - Botan::barrett_mod_65537
    - static_cast<word>
    linkageType: ''
    returnType: word
    signature: word inverse_mod_65537(word x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:336,1
    - Dst: Botan::gcd
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:336,1
    - Dst: Botan::ct_mod_word
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:352,1
    - Dst: Botan::inverse_mod_65537
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:353,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:354,1
    - Dst: Botan::ct_divide_word
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:356,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:360,1
    - Dst: Botan::inverse_mod_general
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:361,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ' e'
    - ' phi_n'
    - ' p'
    - ' q'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 367
      start: 330
    functionDepth: 5
    functionLinenumber: 330
    functionLinenumberEnd: 367
    functionName: Botan::compute_rsa_secret_exponent
    functionSourceFile: /src/botan/src/lib/math/numbertheory/mod_inv.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - Botan::ct_divide_word
    - Botan::gcd
    - Botan::inverse_mod_general
    - BOTAN_UNUSED
    - Botan::ct_mod_word
    - Botan::inverse_mod_65537
    - Internal_Error
    linkageType: ''
    returnType: BigInt
    signature: BigInt compute_rsa_secret_exponent(const BigInt& e, const BigInt& phi_n,
      const BigInt& p, const BigInt& q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:370,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:370,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:371,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:371,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:372,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:372,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:374,1
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:374,1
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:374,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:375,1
    - Dst: Botan::inverse_mod
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:379,1
    - Dst: Botan::ct_modulo
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:379,1
    - Dst: Botan::inverse_mod_general
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:382,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/numbertheory/mod_inv.cpp:382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ' n'
    - ' mod'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 383
      start: 369
    functionDepth: 5
    functionLinenumber: 369
    functionLinenumberEnd: 383
    functionName: Botan::inverse_mod
    functionSourceFile: /src/botan/src/lib/math/numbertheory/mod_inv.cpp
    functionUses: 4
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - Botan::is_zero
    - is_even
    - is_negative
    - Botan::inverse_mod
    - Botan::inverse_mod_general
    - BOTAN_ARG_CHECK
    - Botan::ct_modulo
    linkageType: ''
    returnType: BigInt
    signature: BigInt inverse_mod(const BigInt& n, const BigInt& mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::multiply
      Src: /src/botan/src/lib/math/numbertheory/barrett.h:66,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/math/numbertheory/barrett.h:66,1
    - Dst: Botan::Barrett_Reduction
      Src: /src/botan/src/lib/math/numbertheory/barrett.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 80
    functionName: Botan::Barrett_Reduction
    functionSourceFile: /src/botan/src/lib/math/numbertheory/barrett.h
    functionUses: 1
    functionsReached:
    - Botan::Barrett_Reduction
    - Botan::square
    - Botan::multiply
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Barrett_Reduction
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pbits
    - qbits
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: Botan::fips186_3_valid_size
    functionSourceFile: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fips186_3_valid_size(size_t pbits, size_t qbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qbits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: Botan::hash_function_for
    functionSourceFile: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp
    functionUses: 0
    functionsReached:
    - Botan::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function_for(size_t qbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fips186_3_valid_size
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:61,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:62,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:62,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:65,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:66,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:67,1
    - Dst: Botan::hash_function_for
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:70,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:71,1
    - Dst: _assign_from_bytes
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:96,1
    - Dst: auto::process
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:96,1
    - Dst: Seed::value
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:96,1
    - Dst: set_bit
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:97,1
    - Dst: set_bit
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:98,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:100,1
    - Dst: auto::update
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:114,1
    - Dst: Seed::value
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:114,1
    - Dst: auto::final
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:115,1
    - Dst: BigInt::_assign_from_bytes
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:119,1
    - Dst: subspan
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:119,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:120,1
    - Dst: bits
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:125,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:125,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 7
    argNames:
    - ' rng'
    - ' p'
    - ' q'
    - pbits
    - qbits
    - ' seed_c'
    - offset
    argTypes:
    - RandomNumberGenerator
    - BigInt
    - BigInt
    - size_t
    - size_t
    - std::vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 131
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 131
    functionName: Botan::generate_dsa_primes
    functionSourceFile: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp
    functionUses: 1
    functionsReached:
    - Botan::is_prime
    - Botan::fmt
    - auto::final
    - BigInt::set_bit
    - Botan::HashFunction::create_or_throw
    - _assign_from_bytes
    - set_bit
    - auto::update
    - BigInt::_assign_from_bytes
    - Botan::fips186_3_valid_size
    - bits
    - Botan::hash_function_for
    - subspan
    - Botan::size
    - Invalid_Argument
    - Seed::value
    - auto::process
    linkageType: ''
    returnType: bool
    signature: "bool generate_dsa_primes(RandomNumberGenerator& rng,\n                         BigInt&
      p,\n                         BigInt& q,\n                         size_t pbits,\n
      \                        size_t qbits,\n                         const std::vector<uint8_t>&
      seed_c,\n                         size_t offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::randomize
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:139,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:139,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:139,1
    - Dst: Botan::generate_dsa_primes
      Src: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - ' rng'
    - ' p'
    - ' q'
    - pbits
    - qbits
    argTypes:
    - RandomNumberGenerator
    - BigInt
    - BigInt
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: Botan::generate_dsa_primes
    functionSourceFile: /src/botan/src/lib/math/numbertheory/dsa_gen.cpp
    functionUses: 2
    functionsReached:
    - Botan::generate_dsa_primes
    - Botan::randomize
    - std::vector::size
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> generate_dsa_primes(RandomNumberGenerator& rng,
      BigInt& p, BigInt& q, size_t pbits, size_t qbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:27,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:28,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:29,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:36,1
    - Dst: is_odd
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:36,1
    - Dst: Botan::jacobi
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:38,1
    - Dst: Botan::BigInt::from_s32
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:39,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:42,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:43,1
    - Dst: Botan::monty_exp_vartime
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:47,1
    - Dst: Botan::monty_exp_vartime
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:57,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:58,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:58,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:59,1
    - Dst: Botan::jacobi
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:68,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:68,1
    - Dst: Botan::BigInt::from_s32
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:80,1
    - Dst: Botan::monty_exp_vartime
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:84,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:84,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:91,1
    - Dst: Botan::BigInt::from_s32
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:95,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:99,1
    - Dst: Botan::monty_exp_vartime
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:100,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:100,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:101,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:102,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:103,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:106,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - ' a'
    - ' p'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 111
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 111
    functionName: Botan::sqrt_modulo_prime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/numthry.cpp
    functionUses: 4
    functionsReached:
    - Botan::BigInt::from_s32
    - auto::multiply
    - BOTAN_ASSERT_NOMSG
    - Botan_Tests::BitOps_Tests::test_power_of_2
    - std::make_shared<Montgomery_Params>
    - auto::square
    - Botan::BigInt::from_word
    - Botan::jacobi
    - Botan::monty_exp_vartime
    - is_odd
    - Botan::Barrett_Reduction::for_public_modulus
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: BigInt
    signature: BigInt sqrt_modulo_prime(const BigInt& a, const BigInt& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:117,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:118,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:133,1
    - Dst: std::swap
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - ' a'
    - ' n'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 152
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 152
    functionName: Botan::jacobi
    functionSourceFile: /src/botan/src/lib/math/numbertheory/numthry.cpp
    functionUses: 1
    functionsReached:
    - Invalid_Argument
    - BigInt::is_zero
    - is_even
    - std::swap
    linkageType: ''
    returnType: int32_t
    signature: int32_t jacobi(const BigInt& a, const BigInt& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt::square
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: Botan::square
    functionSourceFile: /src/botan/src/lib/math/numbertheory/numthry.cpp
    functionUses: 2
    functionsReached:
    - BigInt::square
    linkageType: ''
    returnType: BigInt
    signature: BigInt square(const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:170,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:172,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:173,1
    - Dst: auto::if_not_set_return
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:180,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:182,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:187,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 188
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 188
    functionName: Botan::low_zero_bits
    functionSourceFile: /src/botan/src/lib/math/numbertheory/numthry.cpp
    functionUses: 0
    functionsReached:
    - auto::if_set_return
    - static_cast<size_t>
    - Botan::sha512_msg_expand
    - Botan::CT::Mask::cleared
    - Botan::size
    - word_at
    - auto::if_not_set_return
    linkageType: ''
    returnType: size_t
    signature: size_t low_zero_bits(const BigInt& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:194,1
    - Dst: Botan::abs
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:195,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:197,1
    - Dst: Botan::abs
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:198,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:202,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:203,1
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:207,1
    - Dst: auto::set_sign
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:209,1
    - Dst: auto::set_sign
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:210,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:222,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:225,1
    - Dst: auto::is_odd
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:225,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:225,1
    - Dst: auto::is_odd
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:225,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:228,1
    - Dst: Botan::bigint_cmp
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:228,1
    - Dst: auto::_data
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:228,1
    - Dst: auto::size
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:228,1
    - Dst: auto::_data
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:228,1
    - Dst: auto::size
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:228,1
    - Dst: Botan::bigint_sub_abs
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:229,1
    - Dst: auto::mutable_data
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:229,1
    - Dst: auto::_data
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:229,1
    - Dst: auto::_data
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:229,1
    - Dst: auto::ct_cond_assign
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:230,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:230,1
    - Dst: auto::ct_cond_assign
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:231,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:231,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:233,1
    - Dst: auto::is_even
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:233,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:234,1
    - Dst: auto::is_even
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:234,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:235,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:235,1
    - Dst: if_set_return
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:239,1
    - Dst: Botan::bigint_shr2
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:242,1
    - Dst: auto::mutable_data
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:242,1
    - Dst: auto::_data
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:242,1
    - Dst: auto::ct_cond_assign
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:243,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:243,1
    - Dst: Botan::bigint_shr2
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:246,1
    - Dst: auto::mutable_data
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:246,1
    - Dst: auto::_data
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:246,1
    - Dst: auto::ct_cond_assign
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:247,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:247,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:253,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:253,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:253,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:254,1
    - Dst: auto::is_odd
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:254,1
    - Dst: auto::is_odd
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:254,1
    - Dst: auto::ct_cond_assign
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:257,1
    - Dst: auto::is_even
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:257,1
    - Dst: auto::ct_shift_left
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:260,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 265
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 265
    functionName: Botan::gcd
    functionSourceFile: /src/botan/src/lib/math/numbertheory/numthry.cpp
    functionUses: 5
    functionsReached:
    - Botan::is_zero
    - auto::as_bool
    - Botan::bigint_sub_abs
    - auto::ct_cond_assign
    - Botan::CT::unpoison_all
    - Botan::bigint_cmp
    - BOTAN_DEBUG_ASSERT
    - Botan::bigint_shr2
    - auto::ct_shift_left
    - auto::set_sign
    - Botan::CT::poison_all
    - Botan::sha512_msg_expand
    - Botan::abs
    - if_set_return
    - as_bool
    - auto::mutable_data
    - auto::_data
    - auto::is_even
    - auto::is_zero
    - auto::size
    - auto::is_odd
    - Botan::BigInt::with_capacity
    linkageType: ''
    returnType: BigInt
    signature: BigInt gcd(const BigInt& a, const BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: auto::set_sign
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:276,1
    - Dst: Botan::gcd
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:277,1
    - Dst: Botan::ct_divide
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: Botan::lcm
    functionSourceFile: /src/botan/src/lib/math/numbertheory/numthry.cpp
    functionUses: 0
    functionsReached:
    - Botan::ct_divide
    - Botan::gcd
    - auto::set_sign
    linkageType: ''
    returnType: BigInt
    signature: BigInt lcm(const BigInt& a, const BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:285,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:286,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:289,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:289,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:290,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:291,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:293,1
    - Dst: Botan::Barrett_Reduction::for_secret_modulus
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:296,1
    - Dst: is_odd
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:300,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:301,1
    - Dst: Botan::monty_exp
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:302,1
    - Dst: Botan::ct_modulo
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:302,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:309,1
    - Dst: Botan::ct_modulo
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:310,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:314,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:315,1
    - Dst: BigInt::ct_cond_assign
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:316,1
    - Dst: Botan::get_bit
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:316,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - ' base'
    - ' exp'
    - ' mod'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 319
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 319
    functionName: Botan::power_mod
    functionSourceFile: /src/botan/src/lib/math/numbertheory/numthry.cpp
    functionUses: 2
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - Botan::is_zero
    - auto::multiply
    - BigInt::ct_cond_assign
    - is_negative
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - std::make_shared<Montgomery_Params>
    - Botan::Barrett_Reduction::for_secret_modulus
    - Botan::get_bit
    - Botan::monty_exp
    - is_odd
    - auto::square
    - Botan::ct_modulo
    linkageType: ''
    returnType: BigInt
    signature: BigInt power_mod(const BigInt& base, const BigInt& exp, const BigInt&
      mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:323,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:326,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:331,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:333,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:348,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ' C'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 350
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 350
    functionName: Botan::is_perfect_square
    functionSourceFile: /src/botan/src/lib/math/numbertheory/numthry.cpp
    functionUses: 1
    functionsReached:
    - Invalid_Argument
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - fiat_bls12_381_fp_nonzero
    - Botan_Tests::BitOps_Tests::test_power_of_2
    linkageType: ''
    returnType: BigInt
    signature: BigInt is_perfect_square(const BigInt& C)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:359,1
    - Dst: std::binary_search
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:369,1
    - Dst: Botan::Barrett_Reduction::for_secret_modulus
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:372,1
    - Dst: Botan::is_seeded
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:374,1
    - Dst: Botan::is_miller_rabin_probable_prime
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:377,1
    - Dst: Botan::is_lucas_probable_prime
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:384,1
    - Dst: Botan::is_bailie_psw_probable_prime
      Src: /src/botan/src/lib/math/numbertheory/numthry.cpp:387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - ' n'
    - ' rng'
    - prob
    - is_random
    argTypes:
    - BigInt
    - RandomNumberGenerator
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 389
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 389
    functionName: Botan::is_prime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/numthry.cpp
    functionUses: 6
    functionsReached:
    - std::binary_search
    - is_even
    - Botan::is_miller_rabin_probable_prime
    - Botan::is_seeded
    - Botan::Barrett_Reduction::for_secret_modulus
    - Botan::is_lucas_probable_prime
    - Botan::is_bailie_psw_probable_prime
    linkageType: ''
    returnType: bool
    signature: bool is_prime(const BigInt& n, RandomNumberGenerator& rng, size_t prob,
      bool is_random)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::monty_precompute
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.h:52,1
    - Dst: Botan::monty_execute
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' params_p'
    - ' g'
    - ' k'
    - max_k_bits
    argTypes:
    - std::shared_ptr<const Montgomery_Params>
    - BigInt
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: Botan::monty_exp
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.h
    functionUses: 1
    functionsReached:
    - Botan::monty_execute
    - Botan::monty_precompute
    linkageType: ''
    returnType: Montgomery_Int
    signature: "Montgomery_Int monty_exp(const std::shared_ptr<const Montgomery_Params>&
      params_p,\n                                const BigInt& g,\n                                const
      BigInt& k,\n                                size_t max_k_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::monty_precompute
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.h:59,1
    - Dst: Botan::monty_execute_vartime
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' params_p'
    - ' g'
    - ' k'
    argTypes:
    - std::shared_ptr<const Montgomery_Params>
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: Botan::monty_exp_vartime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.h
    functionUses: 2
    functionsReached:
    - Botan::monty_execute_vartime
    - Botan::monty_precompute
    linkageType: ''
    returnType: Montgomery_Int
    signature: "Montgomery_Int monty_exp_vartime(const std::shared_ptr<const Montgomery_Params>&
      params_p,\n                                        const BigInt& g,\n                                        const
      BigInt& k)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::abs
      Src: /src/botan/src/lib/math/numbertheory/numthry.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::abs
    functionSourceFile: /src/botan/src/lib/math/numbertheory/numthry.h
    functionUses: 2
    functionsReached:
    - Botan::abs
    linkageType: ''
    returnType: BigInt
    signature: BigInt abs(const BigInt& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:25,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' init_value'
    - sieve_size
    - step
    - check_2p1
    argTypes:
    - BigInt
    - size_t
    - word
    - bool
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: Botan::Prime_Sieve::Prime_Sieve
    functionSourceFile: /src/botan/src/lib/math/numbertheory/make_prm.cpp
    functionUses: 0
    functionsReached:
    - std::min
    - size
    linkageType: ''
    returnType: void
    signature: void Prime_Sieve(const BigInt& init_value, size_t sieve_size, word
      step, bool check_2p1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::Prime_Sieve::sieve_size
    functionSourceFile: /src/botan/src/lib/math/numbertheory/make_prm.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t sieve_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::Prime_Sieve::check_2p1
    functionSourceFile: /src/botan/src/lib/math/numbertheory/make_prm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_2p1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_other_key_not_set
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:36,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:37,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:41,1
    - Dst: Botan::Prime_Sieve::check_2p1
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:43,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:53,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 58
    functionName: Botan::Prime_Sieve::next
    functionSourceFile: /src/botan/src/lib/math/numbertheory/make_prm.cpp
    functionUses: 0
    functionsReached:
    - auto::as_bool
    - Botan::BigInt::is_equal
    - Botan::Prime_Sieve::check_2p1
    - Botan::sha512_msg_expand
    - size
    - Botan_Tests::test_other_key_not_set
    linkageType: ''
    returnType: bool
    signature: bool next()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' v'
    - ' sieve'
    argTypes:
    - BigInt
    - Prime_Sieve
    constantsTouched: []
    func_position:
      end: 88
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 88
    functionName: Botan::no_small_multiples
    functionSourceFile: /src/botan/src/lib/math/numbertheory/make_prm.cpp
    functionUses: 0
    functionsReached:
    - is_even
    linkageType: ''
    returnType: bool
    signature: bool no_small_multiples(const BigInt& v, const Prime_Sieve& sieve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:100,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:100,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:102,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:102,1
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:102,1
    - Dst: bits
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:102,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:103,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:106,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:112,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:119,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:123,1
    - Dst: Botan::next_byte
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:123,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:125,1
    - Dst: Botan::next_byte
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:125,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:127,1
    - Dst: Botan::next_byte
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:127,1
    - Dst: Botan::randomize
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:132,1
    - Dst: Botan::high_bit
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:136,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:137,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:151,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:152,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:153,1
    - Dst: Prime_Sieve::next
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:163,1
    - Dst: BigInt::is_even
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:168,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:172,1
    - Dst: Botan::no_small_multiples
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:172,1
    - Dst: Botan::Barrett_Reduction::for_secret_modulus
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:174,1
    - Dst: Botan::is_miller_rabin_probable_prime
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:181,1
    - Dst: Botan::gcd
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:189,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:194,1
    - Dst: Botan::is_miller_rabin_probable_prime
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:198,1
    - Dst: Botan::is_lucas_probable_prime
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:202,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 69
    argCount: 6
    argNames:
    - ' rng'
    - bits
    - ' coprime'
    - equiv
    - modulo
    - prob
    argTypes:
    - RandomNumberGenerator
    - size_t
    - BigInt
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 209
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 209
    functionName: Botan::random_prime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/make_prm.cpp
    functionUses: 6
    functionsReached:
    - BigInt::set_bit
    - Botan::is_zero
    - Botan::high_bit
    - Prime_Sieve::next
    - Botan::randomize
    - Botan::is_miller_rabin_probable_prime
    - BOTAN_DEBUG_ASSERT
    - Botan::BigInt::from_word
    - Botan::is_lucas_probable_prime
    - Botan::gcd
    - BigInt::bits
    - Botan::to_string
    - Invalid_Argument
    - Not_Implemented
    - BigInt::is_even
    - is_even
    - is_negative
    - Botan::next_byte
    - Botan::Barrett_Reduction::for_secret_modulus
    - bits
    - Botan::no_small_multiples
    linkageType: ''
    returnType: BigInt
    signature: "BigInt random_prime(\n   RandomNumberGenerator& rng, size_t bits,
      const BigInt& coprime, size_t equiv, size_t modulo, size_t prob)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:217,1
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:225,1
    - Dst: bits
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:225,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:226,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:244,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:245,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:246,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:247,1
    - Dst: Prime_Sieve::next
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:256,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:260,1
    - Dst: Botan::no_small_multiples
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:260,1
    - Dst: Botan::Barrett_Reduction::for_secret_modulus
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:262,1
    - Dst: Botan::is_miller_rabin_probable_prime
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:269,1
    - Dst: Botan::gcd
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:276,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:280,1
    - Dst: Botan::is_miller_rabin_probable_prime
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:284,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 5
    argNames:
    - ' keygen_rng'
    - ' prime_test_rng'
    - bits
    - ' coprime'
    - prob
    argTypes:
    - RandomNumberGenerator
    - RandomNumberGenerator
    - size_t
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 289
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 289
    functionName: Botan::generate_rsa_prime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/make_prm.cpp
    functionUses: 0
    functionsReached:
    - BigInt::set_bit
    - is_even
    - Botan::is_miller_rabin_probable_prime
    - BOTAN_DEBUG_ASSERT
    - Botan::Barrett_Reduction::for_secret_modulus
    - bits
    - Botan::gcd
    - Botan::no_small_multiples
    - Prime_Sieve::next
    - BigInt::bits
    - Invalid_Argument
    linkageType: ''
    returnType: BigInt
    signature: "BigInt generate_rsa_prime(RandomNumberGenerator& keygen_rng,\n                          RandomNumberGenerator&
      prime_test_rng,\n                          size_t bits,\n                          const
      BigInt& coprime,\n                          size_t prob)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:296,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:296,1
    - Dst: Botan::random_prime
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:307,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:307,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/lib/math/numbertheory/make_prm.cpp:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ' rng'
    - bits
    argTypes:
    - RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 314
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 314
    functionName: Botan::random_safe_prime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/make_prm.cpp
    functionUses: 2
    functionsReached:
    - Botan::is_prime
    - fiat_bls12_381_fp_nonzero
    - Botan::random_prime
    - Botan::to_string
    - Invalid_Argument
    linkageType: ''
    returnType: BigInt
    signature: BigInt random_safe_prime(RandomNumberGenerator& rng, size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::reduce
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:34,1
    - Dst: multiply
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:40,1
    - Dst: multiply
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:40,1
    - Dst: Botan::reduce
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:47,1
    - Dst: multiply
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:54,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:54,1
    - Dst: Botan::reduce
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:65,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:69,1
    - Dst: Modular_Reducer
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:79,1
    - Dst: Modular_Reducer
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:84,1
    - Dst: Modular_Reducer
      Src: /src/botan/src/lib/math/numbertheory/reducer.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 91
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/math/numbertheory/reducer.h
    functionUses: 10
    functionsReached:
    - multiply
    - BOTAN_DEPRECATED
    - Botan::square
    - Modular_Reducer
    - Botan::reduce
    linkageType: ''
    returnType: Modular_Reducer
    signature: Modular_Reducer final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:18,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:19,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:23,1
    - Dst: monty_inverse
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:24,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:24,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:26,1
    - Dst: reduce
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:28,1
    - Dst: square
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:29,1
    - Dst: multiply
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - ' mod_p'
    argTypes:
    - BigInt
    - Barrett_Reduction
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: Botan::Montgomery_Params::Montgomery_Params
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - monty_inverse
    - multiply
    - word_at
    - is_even
    - Botan_Tests::BitOps_Tests::test_power_of_2
    - Invalid_Argument
    - sig_words
    - square
    - reduce
    linkageType: ''
    returnType: void
    signature: void Montgomery_Params::Montgomery_Params(const BigInt& p, const Barrett_Reduction&
      mod_p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:34,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:35,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:39,1
    - Dst: monty_inverse
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:40,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:40,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:42,1
    - Dst: Botan::Barrett_Reduction::for_secret_modulus
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:44,1
    - Dst: auto::reduce
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:46,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:47,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: Botan::Montgomery_Params::Montgomery_Params
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - monty_inverse
    - auto::multiply
    - word_at
    - is_even
    - Botan_Tests::BitOps_Tests::test_power_of_2
    - Botan::Barrett_Reduction::for_secret_modulus
    - auto::reduce
    - Invalid_Argument
    - sig_words
    - auto::square
    linkageType: ''
    returnType: void
    signature: void Montgomery_Params::Montgomery_Params(const BigInt& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:54,1
    - Dst: resize
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:55,1
    - Dst: BigInt::grow_to
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:59,1
    - Dst: bigint_monty_redc_inplace
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:61,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:61,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:61,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:61,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' x'
    - ' ws'
    argTypes:
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: Botan::Montgomery_Params::redc
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - bigint_monty_redc_inplace
    - _data
    - BigInt::mutable_data
    - BigInt::grow_to
    - data
    - size
    - resize
    linkageType: ''
    returnType: BigInt
    signature: BigInt Montgomery_Params::redc(const BigInt& x, secure_vector<word>&
      ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:67,1
    - Dst: Botan::Montgomery_Params::mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' ws'
    argTypes:
    - BigInt
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: Botan::Montgomery_Params::mul
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 1
    functionsReached:
    - Botan::Montgomery_Params::mul
    - Botan::BigInt::with_capacity
    linkageType: ''
    returnType: BigInt
    signature: BigInt Montgomery_Params::mul(const BigInt& x, const BigInt& y, secure_vector<word>&
      ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:75,1
    - Dst: resize
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:76,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:79,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:79,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:80,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:80,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:82,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:83,1
    - Dst: bigint_mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:86,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:86,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:87,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:88,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:89,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:90,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:90,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:91,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:92,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:93,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:93,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:94,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:95,1
    - Dst: bigint_monty_redc_inplace
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:97,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:97,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:97,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:97,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - ' y'
    - ' ws'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: Botan::Montgomery_Params::mul
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 1
    functionsReached:
    - _data
    - bigint_monty_redc_inplace
    - BOTAN_DEBUG_ASSERT
    - std::min
    - data
    - size
    - bigint_mul
    - resize
    - mutable_data
    - sig_words
    - grow_to
    linkageType: ''
    returnType: void
    signature: void Montgomery_Params::mul(BigInt& z, const BigInt& x, const BigInt&
      y, secure_vector<word>& ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:101,1
    - Dst: Botan::Montgomery_Params::mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - y
    - ' ws'
    argTypes:
    - BigInt
    - std::span<const word>
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: Botan::Montgomery_Params::mul
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 2
    functionsReached:
    - Botan::Montgomery_Params::mul
    - Botan::BigInt::with_capacity
    linkageType: ''
    returnType: BigInt
    signature: BigInt Montgomery_Params::mul(const BigInt& x, std::span<const word>
      y, secure_vector<word>& ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:108,1
    - Dst: resize
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:109,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:111,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:112,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:115,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:115,1
    - Dst: bigint_mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:117,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:117,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:118,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:119,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:120,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:121,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:121,1
    - Dst: std::span<const word>::data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:122,1
    - Dst: std::span<const word>::size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:123,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:124,1
    - Dst: std::span<const word>::size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:124,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:125,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:126,1
    - Dst: bigint_monty_redc_inplace
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:128,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:128,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:128,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:128,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - y
    - ' ws'
    argTypes:
    - BigInt
    - BigInt
    - std::span<const word>
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: Botan::Montgomery_Params::mul
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 2
    functionsReached:
    - _data
    - bigint_monty_redc_inplace
    - BOTAN_DEBUG_ASSERT
    - std::min
    - std::span<const word>::size
    - data
    - size
    - bigint_mul
    - resize
    - mutable_data
    - sig_words
    - grow_to
    - std::span<const word>::data
    linkageType: ''
    returnType: void
    signature: void Montgomery_Params::mul(BigInt& z, const BigInt& x, std::span<const
      word> y, secure_vector<word>& ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:134,1
    - Dst: resize
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:135,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:141,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:141,1
    - Dst: bigint_mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:143,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:145,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:146,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:147,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:147,1
    - Dst: std::span<const word>::data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:148,1
    - Dst: std::span<const word>::size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:149,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:150,1
    - Dst: std::span<const word>::size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:150,1
    - Dst: bigint_monty_redc_inplace
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:154,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:154,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:156,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:157,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:159,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' x'
    - y
    - ' ws'
    argTypes:
    - BigInt
    - std::span<const word>
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 160
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 160
    functionName: Botan::Montgomery_Params::mul_by
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - _data
    - bigint_monty_redc_inplace
    - BOTAN_DEBUG_ASSERT
    - std::min
    - std::span<const word>::size
    - size
    - copy_mem
    - bigint_mul
    - resize
    - mutable_data
    - sig_words
    - grow_to
    - std::span<const word>::data
    linkageType: ''
    returnType: void
    signature: void Montgomery_Params::mul_by(BigInt& x, std::span<const word> y,
      secure_vector<word>& ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:165,1
    - Dst: resize
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:166,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:172,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:172,1
    - Dst: bigint_mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:174,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:176,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:177,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:178,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:178,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:179,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:180,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:181,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:181,1
    - Dst: bigint_monty_redc_inplace
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:185,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:185,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:187,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:188,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:190,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' ws'
    argTypes:
    - BigInt
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 191
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 191
    functionName: Botan::Montgomery_Params::mul_by
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - _data
    - bigint_monty_redc_inplace
    - BOTAN_DEBUG_ASSERT
    - std::min
    - size
    - copy_mem
    - bigint_mul
    - resize
    - mutable_data
    - sig_words
    - grow_to
    linkageType: ''
    returnType: void
    signature: void Montgomery_Params::mul_by(BigInt& x, const BigInt& y, secure_vector<word>&
      ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:194,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:194,1
    - Dst: Botan::Montgomery_Params::sqr
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:195,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:195,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' ws'
    argTypes:
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: Botan::Montgomery_Params::sqr
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 1
    functionsReached:
    - _data
    - BOTAN_DEBUG_ASSERT
    - size
    - Botan::Montgomery_Params::sqr
    - sig_words
    linkageType: ''
    returnType: BigInt
    signature: BigInt Montgomery_Params::sqr(const BigInt& x, secure_vector<word>&
      ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:199,1
    - Dst: Botan::Montgomery_Params::sqr
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - ' ws'
    argTypes:
    - std::span<const word>
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: Botan::Montgomery_Params::sqr
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 2
    functionsReached:
    - Botan::Montgomery_Params::sqr
    - Botan::BigInt::with_capacity
    linkageType: ''
    returnType: BigInt
    signature: BigInt Montgomery_Params::sqr(std::span<const word> x, secure_vector<word>&
      ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Params::sqr
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:205,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:205,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' ws'
    argTypes:
    - BigInt
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: Botan::Montgomery_Params::sqr
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 3
    functionsReached:
    - Botan::Montgomery_Params::sqr
    - _data
    - size
    linkageType: ''
    returnType: void
    signature: void Montgomery_Params::sqr(BigInt& z, const BigInt& x, secure_vector<word>&
      ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:211,1
    - Dst: resize
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:212,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:215,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:216,1
    - Dst: bigint_sqr
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:219,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:219,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:219,1
    - Dst: std::span<const word>::data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:219,1
    - Dst: std::span<const word>::size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:219,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:219,1
    - Dst: std::span<const word>::size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:219,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:219,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:219,1
    - Dst: bigint_monty_redc_inplace
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:221,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:221,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:221,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:221,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' z'
    - x
    - ' ws'
    argTypes:
    - BigInt
    - std::span<const word>
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 222
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 222
    functionName: Botan::Montgomery_Params::sqr
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 3
    functionsReached:
    - bigint_monty_redc_inplace
    - _data
    - bigint_sqr
    - std::min
    - std::span<const word>::size
    - data
    - size
    - resize
    - mutable_data
    - grow_to
    - std::span<const word>::data
    linkageType: ''
    returnType: void
    signature: void Montgomery_Params::sqr(BigInt& z, std::span<const word> x, secure_vector<word>&
      ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:227,1
    - Dst: resize
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:228,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:234,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:234,1
    - Dst: bigint_sqr
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:236,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:236,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:236,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:236,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:236,1
    - Dst: bigint_monty_redc_inplace
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:238,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:238,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:240,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:241,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:243,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' x'
    - ' ws'
    argTypes:
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: Botan::Montgomery_Params::square_this
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - _data
    - bigint_monty_redc_inplace
    - bigint_sqr
    - BOTAN_DEBUG_ASSERT
    - std::min
    - size
    - copy_mem
    - resize
    - mutable_data
    - sig_words
    - grow_to
    linkageType: ''
    returnType: void
    signature: void Montgomery_Params::square_this(BigInt& x, secure_vector<word>&
      ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Int::Montgomery_Int
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:247,1
    - Dst: R1
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - std::shared_ptr<const Montgomery_Params>
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: Botan::Montgomery_Int::one
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - R1
    - Botan::Montgomery_Int::Montgomery_Int
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Int::one(const std::shared_ptr<const Montgomery_Params>&
      params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:254,1
    - Dst: redc
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:254,1
    - Dst: R3
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:254,1
    - Dst: Botan::Montgomery_Int::Montgomery_Int
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' params'
    - ' x'
    argTypes:
    - std::shared_ptr<const Montgomery_Params>
    - BigInt
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 256
    functionName: Botan::Montgomery_Int::from_wide_int
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 1
    functionsReached:
    - redc
    - R3
    - Botan::Montgomery_Int::Montgomery_Int
    - Botan::Montgomery_Int::mul
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Int::from_wide_int(const std::shared_ptr<const
      Montgomery_Params>& params, const BigInt& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:265,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:265,1
    - Dst: Botan::Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:267,1
    - Dst: R2
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' params'
    - ' v'
    - redc_needed
    argTypes:
    - std::shared_ptr<const Montgomery_Params>
    - BigInt
    - bool
    constantsTouched: []
    func_position:
      end: 269
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 269
    functionName: Botan::Montgomery_Int::Montgomery_Int
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 2
    functionsReached:
    - p
    - BOTAN_ASSERT_NOMSG
    - Botan::Montgomery_Int::mul
    - R2
    linkageType: ''
    returnType: void
    signature: "void Montgomery_Int::Montgomery_Int(const std::shared_ptr<const Montgomery_Params>&
      params,\n                               const BigInt& v,\n                               bool
      redc_needed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:277,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:277,1
    - Dst: Botan::Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:279,1
    - Dst: R2
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' params'
    - bits
    - len
    - redc_needed
    argTypes:
    - std::shared_ptr<const Montgomery_Params>
    - uint8_t[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: Botan::Montgomery_Int::Montgomery_Int
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 2
    functionsReached:
    - p
    - BOTAN_ASSERT_NOMSG
    - Botan::Montgomery_Int::mul
    - R2
    linkageType: ''
    returnType: void
    signature: "void Montgomery_Int::Montgomery_Int(const std::shared_ptr<const Montgomery_Params>&
      params,\n                               const uint8_t bits[],\n                               size_t
      len,\n                               bool redc_needed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:287,1
    - Dst: set_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:288,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:291,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:291,1
    - Dst: Botan::Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:293,1
    - Dst: R2
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - params
    - words
    - len
    - redc_needed
    argTypes:
    - std::shared_ptr<const Montgomery_Params>
    - word[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 295
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 295
    functionName: Botan::Montgomery_Int::Montgomery_Int
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - set_words
    - p
    - R2
    - std::move
    - Botan::Montgomery_Int::mul
    linkageType: ''
    returnType: void
    signature: "void Montgomery_Int::Montgomery_Int(std::shared_ptr<const Montgomery_Params>
      params,\n                               const word words[],\n                               size_t
      len,\n                               bool redc_needed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:299,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:299,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: Botan::Montgomery_Int::fix_size
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - sig_words
    - grow_to
    linkageType: ''
    returnType: void
    signature: void Montgomery_Int::fix_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:304,1
    - Dst: m_params::p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Montgomery_Int
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: Montgomery_Int::operator==(const Montgomery_Int& other) const
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - p
    - m_params::p
    linkageType: ''
    returnType: bool
    signature: bool Montgomery_Int::operator==(const Montgomery_Int& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Int::value
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: Botan::Montgomery_Int::serialize
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - Botan::Montgomery_Int::value
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Montgomery_Int::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: Botan::Montgomery_Int::size
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - p
    linkageType: ''
    returnType: size_t
    signature: size_t Montgomery_Int::size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: R1
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: Botan::Montgomery_Int::is_one
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - R1
    linkageType: ''
    returnType: bool
    signature: bool Montgomery_Int::is_one() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Int::is_zero
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: Botan::Montgomery_Int::is_zero
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 1
    functionsReached:
    - Botan::Montgomery_Int::is_zero
    linkageType: ''
    returnType: bool
    signature: bool Montgomery_Int::is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: redc
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: Botan::Montgomery_Int::value
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 2
    functionsReached:
    - redc
    linkageType: ''
    returnType: BigInt
    signature: BigInt Montgomery_Int::value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:329,1
    - Dst: BigInt::mod_add
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:332,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:332,1
    - Dst: Montgomery_Int
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Montgomery_Int
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: Montgomery_Int::operator+(const Montgomery_Int& other) const
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - p
    - BOTAN_STATE_CHECK
    - Montgomery_Int
    - BigInt::mod_add
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Int::operator+(const Montgomery_Int& other)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:337,1
    - Dst: BigInt::mod_sub
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:340,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:340,1
    - Dst: Montgomery_Int
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Montgomery_Int
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: Montgomery_Int::operator-(const Montgomery_Int& other) const
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - p
    - BOTAN_STATE_CHECK
    - Montgomery_Int
    - BigInt::mod_sub
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Int::operator-(const Montgomery_Int& other)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:345,1
    - Dst: '& Montgomery_Int::add'
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Montgomery_Int
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: '& Montgomery_Int::operator+=(const Montgomery_Int& other)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - '& Montgomery_Int::add'
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::operator+=(const Montgomery_Int& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:351,1
    - Dst: mod_add
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:352,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' other'
    - ' ws'
    argTypes:
    - Montgomery_Int
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: '& Montgomery_Int::add(const Montgomery_Int& other, secure_vector<word>&
      ws)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - p
    - BOTAN_STATE_CHECK
    - mod_add
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::add(const Montgomery_Int& other, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:357,1
    - Dst: '& Montgomery_Int::sub'
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Montgomery_Int
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: '& Montgomery_Int::operator-=(const Montgomery_Int& other)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - '& Montgomery_Int::sub'
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::operator-=(const Montgomery_Int& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:363,1
    - Dst: mod_sub
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:364,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' other'
    - ' ws'
    argTypes:
    - Montgomery_Int
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: '& Montgomery_Int::sub(const Montgomery_Int& other, secure_vector<word>&
      ws)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - mod_sub
    - BOTAN_STATE_CHECK
    - p
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::sub(const Montgomery_Int& other, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:369,1
    - Dst: Montgomery_Int
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:371,1
    - Dst: mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Montgomery_Int
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: Montgomery_Int::operator*(const Montgomery_Int& other) const
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - Montgomery_Int
    - mul
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Int::operator*(const Montgomery_Int& other)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:375,1
    - Dst: Botan::Montgomery_Int::Montgomery_Int
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:376,1
    - Dst: Botan::Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' other'
    - ' ws'
    argTypes:
    - Montgomery_Int
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: Botan::Montgomery_Int::mul
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 5
    functionsReached:
    - BOTAN_STATE_CHECK
    - Botan::Montgomery_Int::Montgomery_Int
    - Botan::Montgomery_Int::mul
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Int::mul(const Montgomery_Int& other, secure_vector<word>&
      ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:380,1
    - Dst: mul_by
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' other'
    - ' ws'
    argTypes:
    - Montgomery_Int
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: '& Montgomery_Int::mul_by(const Montgomery_Int& other, secure_vector<word>&
      ws)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - mul_by
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::mul_by(const Montgomery_Int& other,
      secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_by
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' other'
    - ' ws'
    argTypes:
    - secure_vector<word>
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: '& Montgomery_Int::mul_by(const secure_vector<word>& other, secure_vector<word>&
      ws)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - mul_by
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::mul_by(const secure_vector<word>&
      other, secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:391,1
    - Dst: mul_by
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Montgomery_Int
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: '& Montgomery_Int::operator*=(const Montgomery_Int& other)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - mul_by
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::operator*=(const Montgomery_Int& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_by
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: '& Montgomery_Int::operator*=(const secure_vector<word>& other)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - mul_by
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::operator*=(const secure_vector<word>&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square_this
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' ws'
    - n
    argTypes:
    - secure_vector<word>
    - size_t
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: '& Montgomery_Int::square_this_n_times(secure_vector<word>& ws,
      size_t n)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - square_this
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::square_this_n_times(secure_vector<word>&
      ws, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square_this
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: '& Montgomery_Int::square_this(secure_vector<word>& ws)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - square_this
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::square_this(secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Int::Montgomery_Int
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:414,1
    - Dst: sqr
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: Botan::Montgomery_Int::square
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - sqr
    - Botan::Montgomery_Int::Montgomery_Int
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Int::square(secure_vector<word>& ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Int::Montgomery_Int
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:418,1
    - Dst: sqr
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 419
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 419
    functionName: Botan::Montgomery_Int::cube
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - sqr
    - Botan::Montgomery_Int::Montgomery_Int
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Int::cube(secure_vector<word>& ws) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Int::Montgomery_Int
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:422,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionName: Botan::Montgomery_Int::additive_inverse
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - p
    - Botan::Montgomery_Int::Montgomery_Int
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Int::additive_inverse() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mod_mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:426,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: '& Montgomery_Int::mul_by_2(secure_vector<word>& ws)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - p
    - mod_mul
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::mul_by_2(secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mod_mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:431,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: '& Montgomery_Int::mul_by_3(secure_vector<word>& ws)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - p
    - mod_mul
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::mul_by_3(secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mod_mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:436,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: '& Montgomery_Int::mul_by_4(secure_vector<word>& ws)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - p
    - mod_mul
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::mul_by_4(secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mod_mul
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:441,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty.cpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: '& Montgomery_Int::mul_by_8(secure_vector<word>& ws)'
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.cpp
    functionUses: 0
    functionsReached:
    - p
    - mod_mul
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int & Montgomery_Int::mul_by_8(secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:20,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:20,1
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:26,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:30,1
    - Dst: BigInt::is_negative
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:43,1
    - Dst: BigInt::flip_sign
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:44,1
    - Dst: BigInt::flip_sign
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:48,1
    - Dst: Botan::is_perfect_square
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:51,1
    - Dst: BigInt::is_negative
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:56,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:63,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:64,1
    - Dst: multiply
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:71,1
    - Dst: Botan::reduce
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:73,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:73,1
    - Dst: multiply
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:73,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:73,1
    - Dst: ct_cond_add
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:74,1
    - Dst: is_odd
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:74,1
    - Dst: Botan::reduce
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:76,1
    - Dst: Botan::reduce
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:81,1
    - Dst: ct_cond_add
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:82,1
    - Dst: is_odd
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:82,1
    - Dst: Botan::reduce
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:85,1
    - Dst: multiply
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:85,1
    - Dst: ct_cond_add
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:86,1
    - Dst: is_odd
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:86,1
    - Dst: BigInt::ct_cond_assign
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:89,1
    - Dst: BigInt::ct_cond_assign
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:90,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 2
    argNames:
    - ' C'
    - ' mod_C'
    argTypes:
    - BigInt
    - Barrett_Reduction
    constantsTouched: []
    func_position:
      end: 94
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 94
    functionName: Botan::is_lucas_probable_prime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/primality.cpp
    functionUses: 3
    functionsReached:
    - multiply
    - BigInt::ct_cond_assign
    - is_even
    - BigInt::flip_sign
    - Botan::is_perfect_square
    - Botan::BigInt::from_word
    - BigInt::is_negative
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - is_positive
    - Botan::square
    - ct_cond_add
    - is_odd
    - BOTAN_ARG_CHECK
    - Botan::reduce
    linkageType: ''
    returnType: bool
    signature: bool is_lucas_probable_prime(const BigInt& C, const Barrett_Reduction&
      mod_C)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:99,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:103,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:104,1
    - Dst: Botan::passes_miller_rabin_test
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:105,1
    - Dst: Botan::is_lucas_probable_prime
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ' n'
    - ' mod_n'
    argTypes:
    - BigInt
    - Barrett_Reduction
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 5
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: Botan::is_bailie_psw_probable_prime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/primality.cpp
    functionUses: 2
    functionsReached:
    - is_even
    - Botan::BigInt::from_word
    - std::make_shared<Montgomery_Params>
    - Botan::is_lucas_probable_prime
    - Botan::passes_miller_rabin_test
    linkageType: ''
    returnType: bool
    signature: bool is_bailie_psw_probable_prime(const BigInt& n, const Barrett_Reduction&
      mod_n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:112,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:116,1
    - Dst: Botan::monty_precompute
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:125,1
    - Dst: Botan::monty_execute
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:127,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - ' n'
    - ' mod_n'
    - ' monty_n'
    - ' a'
    argTypes:
    - BigInt
    - Barrett_Reduction
    - std::shared_ptr<Montgomery_Params>
    - BigInt
    constantsTouched: []
    func_position:
      end: 150
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 150
    functionName: Botan::passes_miller_rabin_test
    functionSourceFile: /src/botan/src/lib/math/numbertheory/primality.cpp
    functionUses: 1
    functionsReached:
    - Botan::monty_execute
    - is_even
    - BOTAN_ASSERT_NOMSG
    - Botan::monty_precompute
    - Botan::square
    linkageType: ''
    returnType: bool
    signature: "bool passes_miller_rabin_test(const BigInt& n,\n                              const
      Barrett_Reduction& mod_n,\n                              const std::shared_ptr<Montgomery_Params>&
      monty_n,\n                              const BigInt& a)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_even
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:156,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:160,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:163,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:163,1
    - Dst: Botan::passes_miller_rabin_test
      Src: /src/botan/src/lib/math/numbertheory/primality.cpp:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - ' n'
    - ' mod_n'
    - ' rng'
    - test_iterations
    argTypes:
    - BigInt
    - Barrett_Reduction
    - RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 172
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 172
    functionName: Botan::is_miller_rabin_probable_prime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/primality.cpp
    functionUses: 4
    functionsReached:
    - is_even
    - std::make_shared<Montgomery_Params>
    - Botan::BigInt::from_word
    - Botan::BigInt::random_integer
    - Botan::passes_miller_rabin_test
    linkageType: ''
    returnType: bool
    signature: "bool is_miller_rabin_probable_prime(const BigInt& n,\n                                    const
      Barrett_Reduction& mod_n,\n                                    RandomNumberGenerator&
      rng,\n                                    size_t test_iterations)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - n_bits
    - prob
    - random
    argTypes:
    - size_t
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 213
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 213
    functionName: Botan::miller_rabin_test_iterations
    functionSourceFile: /src/botan/src/lib/math/numbertheory/primality.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t miller_rabin_test_iterations(size_t n_bits, size_t prob, bool
      random)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:16,1
    - Dst: bits
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:16,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:18,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' m'
    - mu
    - mw
    argTypes:
    - BigInt
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: Botan::Barrett_Reduction::Barrett_Reduction
    functionSourceFile: /src/botan/src/lib/math/numbertheory/barrett.cpp
    functionUses: 0
    functionsReached:
    - bits
    - std::move
    - grow_to
    linkageType: ''
    returnType: void
    signature: void Barrett_Reduction::Barrett_Reduction(const BigInt& m, BigInt mu,
      size_t mw)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:23,1
    - Dst: is_zero
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:23,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:24,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:24,1
    - Dst: Botan::Barrett_Reduction::Barrett_Reduction
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:30,1
    - Dst: ct_divide_pow2k
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' mod'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: Botan::Barrett_Reduction::for_secret_modulus
    functionSourceFile: /src/botan/src/lib/math/numbertheory/barrett.cpp
    functionUses: 7
    functionsReached:
    - Botan::Barrett_Reduction::Barrett_Reduction
    - is_negative
    - ct_divide_pow2k
    - is_zero
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: Barrett_Reduction
    signature: Barrett_Reduction Barrett_Reduction::for_secret_modulus(const BigInt&
      mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:34,1
    - Dst: is_zero
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:34,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:35,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:35,1
    - Dst: Botan::Barrett_Reduction::Barrett_Reduction
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:41,1
    - Dst: Botan_Tests::BitOps_Tests::test_power_of_2
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' mod'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: Botan::Barrett_Reduction::for_public_modulus
    functionSourceFile: /src/botan/src/lib/math/numbertheory/barrett.cpp
    functionUses: 18
    functionsReached:
    - Botan_Tests::BitOps_Tests::test_power_of_2
    - Botan::Barrett_Reduction::Barrett_Reduction
    - is_negative
    - is_zero
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: Barrett_Reduction
    signature: Barrett_Reduction Barrett_Reduction::for_public_modulus(const BigInt&
      mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:56,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:56,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:59,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:61,1
    - Dst: resize
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:62,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:65,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:83,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:83,1
    - Dst: std::span<const word>::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:83,1
    - Dst: Botan::bigint_mul
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:94,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:95,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:95,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:95,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:95,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:95,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:95,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:95,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:95,1
    - Dst: Botan::bigint_mul
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:99,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:99,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:100,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:102,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:104,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:105,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:107,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:108,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:112,1
    - Dst: subspan
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:112,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:116,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:116,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:116,1
    - Dst: secure_vector::swap
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:121,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:130,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:130,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:132,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:132,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:135,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:135,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:135,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:135,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:142,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:142,1
    - Dst: Botan::bigint_sub3
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:144,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:144,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:144,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:144,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:145,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:145,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:145,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:145,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:148,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:149,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:150,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:151,1
    - Dst: BigInt::_from_words
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 5
    argNames:
    - mod_words
    - ' modulus'
    - ' mu'
    - x_words
    - ' ws'
    argTypes:
    - size_t
    - BigInt
    - BigInt
    - std::span<const word>
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 154
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 154
    functionName: Botan::barrett_reduce
    functionSourceFile: /src/botan/src/lib/math/numbertheory/barrett.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    - Botan::Sodium::sodium_is_zero
    - Botan::bigint_mul
    - std::span<const word>::data
    - BOTAN_ASSERT_NOMSG
    - secure_vector::size
    - _data
    - data
    - Botan::CT::poison
    - subspan
    - static_cast<word>
    - secure_vector::data
    - Botan::bigint_sub3
    - Botan::sha512_msg_expand
    - resize
    - Botan::word_sub
    - BigInt::_from_words
    - Botan::copy_mem
    - secure_vector::swap
    - Botan::clear_mem
    - Botan::size
    - sig_words
    linkageType: ''
    returnType: BigInt
    signature: "BigInt barrett_reduce(\n   size_t mod_words, const BigInt& modulus,
      const BigInt& mu, std::span<const word> x_words, secure_vector<word>& ws)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Choice::from_int
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:157,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:157,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:157,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:158,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:158,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:158,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:158,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' modulus'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: Botan::acceptable_barrett_input
    functionSourceFile: /src/botan/src/lib/math/numbertheory/barrett.cpp
    functionUses: 0
    functionsReached:
    - _data
    - Botan::CT::Choice::from_int
    - static_cast<uint32_t>
    - is_positive
    - Botan::bigint_ct_is_lt
    - Botan::size
    - sig_words
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice acceptable_barrett_input(const BigInt& x, const BigInt&
      modulus)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:165,1
    - Dst: acceptable_barrett_input
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:165,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:166,1
    - Dst: acceptable_barrett_input
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:166,1
    - Dst: bigint_mul
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:171,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:171,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:172,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:173,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:174,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:175,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:175,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:176,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:177,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:178,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:178,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:179,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:180,1
    - Dst: barrett_reduce
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 183
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 183
    functionName: Botan::Barrett_Reduction::multiply
    functionSourceFile: /src/botan/src/lib/math/numbertheory/barrett.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - _data
    - secure_vector::size
    - std::min
    - size
    - bigint_mul
    - barrett_reduce
    - BOTAN_ARG_CHECK
    - acceptable_barrett_input
    linkageType: ''
    returnType: BigInt
    signature: BigInt Barrett_Reduction::multiply(const BigInt& x, const BigInt& y)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:186,1
    - Dst: acceptable_barrett_input
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:186,1
    - Dst: bigint_sqr
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:191,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:191,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:191,1
    - Dst: _data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:191,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:191,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:191,1
    - Dst: size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:191,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:191,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:191,1
    - Dst: barrett_reduce
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: Botan::Barrett_Reduction::square
    functionSourceFile: /src/botan/src/lib/math/numbertheory/barrett.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - _data
    - secure_vector::size
    - bigint_sqr
    - std::min
    - size
    - barrett_reduce
    - BOTAN_ARG_CHECK
    - acceptable_barrett_input
    linkageType: ''
    returnType: BigInt
    signature: BigInt Barrett_Reduction::square(const BigInt& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:197,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:197,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:200,1
    - Dst: barrett_reduce
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:203,1
    - Dst: _as_span
      Src: /src/botan/src/lib/math/numbertheory/barrett.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: Botan::Barrett_Reduction::reduce
    functionSourceFile: /src/botan/src/lib/math/numbertheory/barrett.cpp
    functionUses: 0
    functionsReached:
    - barrett_reduce
    - _as_span
    - BOTAN_ARG_CHECK
    - is_positive
    linkageType: ''
    returnType: BigInt
    signature: BigInt Barrett_Reduction::reduce(const BigInt& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Int
      Src: /src/botan/src/lib/math/numbertheory/monty.h:29,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/numbertheory/monty.h:123,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/numbertheory/monty.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 132
    functionName: Botan::Montgomery_Int
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.h
    functionUses: 1
    functionsReached:
    - Botan::CT::unpoison
    - Botan::CT::poison
    - Botan::Montgomery_Int
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Montgomery_Int
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Params
      Src: /src/botan/src/lib/math/numbertheory/monty.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 194
    functionName: Botan::Montgomery_Params
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty.h
    functionUses: 1
    functionsReached:
    - Botan::Montgomery_Params
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Montgomery_Params
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/reducer.cpp:16,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' mod'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: Botan::Modular_Reducer::Modular_Reducer
    functionSourceFile: /src/botan/src/lib/math/numbertheory/reducer.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Modular_Reducer::Modular_Reducer(const BigInt& mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ct_modulo
      Src: /src/botan/src/lib/math/numbertheory/reducer.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan::Modular_Reducer::reduce
    functionSourceFile: /src/botan/src/lib/math/numbertheory/reducer.cpp
    functionUses: 0
    functionsReached:
    - ct_modulo
    linkageType: ''
    returnType: BigInt
    signature: BigInt Modular_Reducer::reduce(const BigInt& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _params
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:35,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:37,1
    - Dst: reserve
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:42,1
    - Dst: push_back
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:44,1
    - Dst: Botan::Montgomery_Int::one
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:44,1
    - Dst: push_back
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:46,1
    - Dst: push_back
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:49,1
    - Dst: fix_size
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:54,1
    - Dst: Botan::CT::poison_range
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - ' g'
    - window_bits
    - const_time
    argTypes:
    - Montgomery_Int
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 60
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 60
    functionName: Botan::Montgomery_Exponentation_State::Montgomery_Exponentation_State
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - _params
    - Botan::CT::poison_range
    - push_back
    - fix_size
    - Invalid_Argument
    - Botan::Montgomery_Int::one
    linkageType: ''
    returnType: void
    signature: "void Montgomery_Exponentation_State::Montgomery_Exponentation_State(const
      Montgomery_Int& g,\n                                                               size_t
      window_bits,\n                                                               bool
      const_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:65,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:65,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:69,1
    - Dst: data
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:69,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:69,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:71,1
    - Dst: repr
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:72,1
    - Dst: repr
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:73,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:75,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:75,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:75,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:77,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:78,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:81,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' output'
    - ' g'
    - nibble
    argTypes:
    - secure_vector<word>
    - std::vector<Montgomery_Int>
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 85
    functionName: Botan::const_time_lookup
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - auto::if_set_return
    - data
    - Botan::BigInt::is_equal
    - Botan::clear_mem
    - Botan::size
    - repr
    linkageType: ''
    returnType: void
    signature: void const_time_lookup(secure_vector<word>& output, const std::vector<Montgomery_Int>&
      g, size_t nibble)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:90,1
    - Dst: bits
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:90,1
    - Dst: Botan::Montgomery_Int::one
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:96,1
    - Dst: p_words
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:99,1
    - Dst: const_time_lookup
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:102,1
    - Dst: get_substring
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:102,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:103,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:103,1
    - Dst: Montgomery_Int::square_this_n_times
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:106,1
    - Dst: const_time_lookup
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:107,1
    - Dst: get_substring
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:107,1
    - Dst: Montgomery_Int::mul_by
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:108,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' scalar'
    - max_k_bits
    argTypes:
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 113
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 113
    functionName: Botan::Montgomery_Exponentation_State::exponentiation
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - p_words
    - const_time_lookup
    - secure_vector::size
    - Montgomery_Int::mul_by
    - BOTAN_DEBUG_ASSERT
    - Montgomery_Int::square_this_n_times
    - bits
    - Botan::CT::unpoison
    - Botan::Montgomery_Int::one
    - get_substring
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Exponentation_State::exponentiation(const
      BigInt& scalar, size_t max_k_bits) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Montgomery_Int::one
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:121,1
    - Dst: get_substring
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:124,1
    - Dst: Montgomery_Int::square_this_n_times
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:127,1
    - Dst: Montgomery_Int::mul_by
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:131,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' scalar'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 137
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 137
    functionName: Botan::Montgomery_Exponentation_State::exponentiation_vartime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.cpp
    functionUses: 0
    functionsReached:
    - Montgomery_Int::mul_by
    - Montgomery_Int::square_this_n_times
    - Botan::CT::unpoison
    - Botan::Montgomery_Int::one
    - get_substring
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int Montgomery_Exponentation_State::exponentiation_vartime(const
      BigInt& scalar) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<const Montgomery_Exponentation_State>
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' g'
    - window_bits
    - const_time
    argTypes:
    - Montgomery_Int
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: Botan::monty_precompute
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.cpp
    functionUses: 3
    functionsReached:
    - std::make_shared<const Montgomery_Exponentation_State>
    linkageType: ''
    returnType: std::shared_ptr<const Montgomery_Exponentation_State>
    signature: "std::shared_ptr<const Montgomery_Exponentation_State> monty_precompute(const
      Montgomery_Int& g,\n                                                                       size_t
      window_bits,\n                                                                       bool
      const_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:147,1
    - Dst: p
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:147,1
    - Dst: Botan::monty_precompute
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' params'
    - ' g'
    - window_bits
    - const_time
    argTypes:
    - std::shared_ptr<const Montgomery_Params>
    - BigInt
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: Botan::monty_precompute
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.cpp
    functionUses: 4
    functionsReached:
    - p
    - BOTAN_ARG_CHECK
    - Botan::monty_precompute
    linkageType: ''
    returnType: std::shared_ptr<const Montgomery_Exponentation_State>
    signature: "std::shared_ptr<const Montgomery_Exponentation_State> monty_precompute(\n
      \  const std::shared_ptr<const Montgomery_Params>& params, const BigInt& g,
      size_t window_bits, bool const_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exponentiation
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' precomputed_state'
    - ' k'
    - max_k_bits
    argTypes:
    - Montgomery_Exponentation_State
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: Botan::monty_execute
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.cpp
    functionUses: 2
    functionsReached:
    - exponentiation
    linkageType: ''
    returnType: Montgomery_Int
    signature: "Montgomery_Int monty_execute(const Montgomery_Exponentation_State&
      precomputed_state,\n                             const BigInt& k,\n                             size_t
      max_k_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exponentiation_vartime
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' precomputed_state'
    - ' k'
    argTypes:
    - Montgomery_Exponentation_State
    - BigInt
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: Botan::monty_execute_vartime
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.cpp
    functionUses: 1
    functionsReached:
    - exponentiation_vartime
    linkageType: ''
    returnType: Montgomery_Int
    signature: Montgomery_Int monty_execute_vartime(const Montgomery_Exponentation_State&
      precomputed_state, const BigInt& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:167,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:167,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:168,1
    - Dst: Botan::R1
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:175,1
    - Dst: Montgomery_Int::square
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:179,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:180,1
    - Dst: Montgomery_Int::square
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:183,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:184,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:186,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:187,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:188,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:190,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:191,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:192,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:194,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:195,1
    - Dst: Montgomery_Int::mul
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:196,1
    - Dst: Montgomery_Int::square_this
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:219,1
    - Dst: Montgomery_Int::square_this
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:220,1
    - Dst: Montgomery_Int::mul_by
      Src: /src/botan/src/lib/math/numbertheory/monty_exp.cpp:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - ' params_p'
    - ' x_bn'
    - ' z1'
    - ' y_bn'
    - ' z2'
    argTypes:
    - std::shared_ptr<const Montgomery_Params>
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 232
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 232
    functionName: Botan::monty_multi_exp
    functionSourceFile: /src/botan/src/lib/math/numbertheory/monty_exp.cpp
    functionUses: 0
    functionsReached:
    - Montgomery_Int::mul
    - Montgomery_Int::mul_by
    - is_negative
    - Montgomery_Int::square_this
    - Botan::R1
    - Invalid_Argument
    - Montgomery_Int::square
    linkageType: ''
    returnType: Montgomery_Int
    signature: "Montgomery_Int monty_multi_exp(const std::shared_ptr<const Montgomery_Params>&
      params_p,\n                               const BigInt& x_bn,\n                               const
      BigInt& z1,\n                               const BigInt& y_bn,\n                               const
      BigInt& z2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::numsp512d1::Curve::fe_invert2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:36,1
    - Dst: invert
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' fe'
    argTypes:
    - typename C::FieldElement
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: Botan::invert_field_element
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - invert
    - Botan::PCurve::numsp512d1::Curve::fe_invert2
    linkageType: ''
    returnType: auto
    signature: auto invert_field_element(const typename C::FieldElement& fe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::numsp512d1::Curve::fe_invert2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:51,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:51,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:52,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:52,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:53,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:53,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:53,1
    - Dst: Botan::invert_field_element
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:55,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:55,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:56,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:58,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:58,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - typename C::ProjectivePoint
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: Botan::to_affine
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - Botan::invert_field_element
    - z
    - y
    - x
    - Botan::EC_AffinePoint::EC_AffinePoint
    - auto::square
    - Botan::PCurve::numsp512d1::Curve::fe_invert2
    linkageType: ''
    returnType: auto
    signature: auto to_affine(const typename C::ProjectivePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:68,1
    - Dst: Botan::PCurve::numsp512d1::Curve::fe_invert2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:68,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:68,1
    - Dst: Botan::invert_field_element
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:70,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:70,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:71,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - typename C::ProjectivePoint
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: Botan::to_affine_x
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - Botan::invert_field_element
    - z
    - x
    - auto::square
    - Botan::PCurve::numsp512d1::Curve::fe_invert2
    linkageType: ''
    returnType: auto
    signature: auto to_affine_x(const typename C::ProjectivePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:82,1
    - Dst: Botan::CT::Choice::no
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:84,1
    - Dst: is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:87,1
    - Dst: CT::Choice::as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:90,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:95,1
    - Dst: Botan::to_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:95,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:99,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:108,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:108,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:110,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:110,1
    - Dst: Botan::invert_field_element
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:113,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:119,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:122,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:124,1
    - Dst: AffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:124,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:124,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:124,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:127,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:129,1
    - Dst: AffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:129,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:129,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:129,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:130,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:130,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - projective
    argTypes:
    - std::span<const typename C::ProjectivePoint>
    constantsTouched: []
    func_position:
      end: 135
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 135
    functionName: Botan::to_affine_batch
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - Botan::invert_field_element
    - std::vector::begin
    - z
    - y
    - std::reverse
    - is_identity
    - Botan::CT::Choice::no
    - std::vector::reserve
    - std::vector::push_back
    - AffinePoint
    - CT::Choice::as_bool
    - Botan::to_affine
    - std::vector::end
    - x
    - auto::square
    linkageType: ''
    returnType: auto
    signature: auto to_affine_batch(std::span<const typename C::ProjectivePoint> projective)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:146,1
    - Dst: is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:147,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:149,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:153,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:154,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:155,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:156,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:157,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:157,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:158,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:158,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:165,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:165,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:165,1
    - Dst: dbl
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:166,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:169,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:172,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:180,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:181,1
    - Dst: Botan::Ed448Point::ct_conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:184,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:184,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:184,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:184,1
    - Dst: Botan::Ed448Point::ct_conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:187,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:187,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:187,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:187,1
    - Dst: ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - ProjectivePoint
    - ProjectivePoint
    constantsTouched: []
    func_position:
      end: 190
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 190
    functionName: Botan::point_add
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - Botan::Ed448Point::ct_conditional_assign
    - as_bool
    - ProjectivePoint
    - z
    - y
    - is_identity
    - dbl
    - auto::is_zero
    - x
    - auto::square
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint point_add(const ProjectivePoint& a, const ProjectivePoint&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:196,1
    - Dst: is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:197,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:198,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:208,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:209,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:210,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:210,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:211,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:212,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:217,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:217,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:217,1
    - Dst: dbl
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:218,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:221,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:223,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:224,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:229,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:232,1
    - Dst: Botan::Ed448Point::ct_conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:235,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:235,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:235,1
    - Dst: Botan::Ed448Point::ct_conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:238,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:238,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:238,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:238,1
    - Dst: ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' one'
    argTypes:
    - ProjectivePoint
    - AffinePoint
    - FieldElement
    constantsTouched: []
    func_position:
      end: 241
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 241
    functionName: Botan::point_add_mixed
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - Botan::Ed448Point::ct_conditional_assign
    - as_bool
    - ProjectivePoint
    - z
    - y
    - is_identity
    - dbl
    - auto::is_zero
    - x
    - auto::square
    linkageType: ''
    returnType: ProjectivePoint
    signature: "ProjectivePoint point_add_mixed(const ProjectivePoint& a,\n                                                 const
      AffinePoint& b,\n                                                 const FieldElement&
      one)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:248,1
    - Dst: is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:249,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:250,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:260,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:261,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:261,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:263,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:264,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:265,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:266,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:267,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:272,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:272,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:272,1
    - Dst: dbl
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:273,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:276,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:278,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:279,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:284,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:287,1
    - Dst: Botan::Ed448Point::ct_conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:290,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:290,1
    - Dst: Botan::Ed448Point::ct_conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:293,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:293,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:293,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:293,1
    - Dst: ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - sub
    - ' one'
    argTypes:
    - ProjectivePoint
    - AffinePoint
    - CT::Choice
    - FieldElement
    constantsTouched: []
    func_position:
      end: 296
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 296
    functionName: Botan::point_add_or_sub_mixed
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - Botan::Ed448Point::ct_conditional_assign
    - as_bool
    - auto::negate
    - ProjectivePoint
    - y
    - z
    - is_identity
    - dbl
    - auto::conditional_assign
    - auto::is_zero
    - x
    - auto::square
    linkageType: ''
    returnType: ProjectivePoint
    signature: "ProjectivePoint point_add_or_sub_mixed(const ProjectivePoint& a,\n
      \                                                       const AffinePoint& b,\n
      \                                                       CT::Choice sub,\n                                                        const
      FieldElement& one)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:314,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:315,1
    - Dst: mul3
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:315,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:315,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:318,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:319,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:320,1
    - Dst: auto::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:320,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:321,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:322,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:322,1
    - Dst: ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - ProjectivePoint
    constantsTouched: []
    func_position:
      end: 325
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 325
    functionName: Botan::dbl_a_minus_3
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - auto::mul2
    - ProjectivePoint
    - z
    - y
    - mul3
    - x
    - auto::square
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint dbl_a_minus_3(const ProjectivePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:331,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:334,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:335,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:336,1
    - Dst: auto::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:336,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:337,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:338,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:338,1
    - Dst: ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - ProjectivePoint
    constantsTouched: []
    func_position:
      end: 341
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 341
    functionName: Botan::dbl_a_zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - auto::mul2
    - ProjectivePoint
    - y
    - z
    - x
    - auto::square
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint dbl_a_zero(const ProjectivePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:346,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:347,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:347,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:350,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:351,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:352,1
    - Dst: auto::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:352,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:353,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:354,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:354,1
    - Dst: ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - ' A'
    argTypes:
    - ProjectivePoint
    - FieldElement
    constantsTouched: []
    func_position:
      end: 357
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 357
    functionName: Botan::dbl_generic
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - auto::mul2
    - ProjectivePoint
    - z
    - y
    - x
    - auto::square
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint dbl_generic(const ProjectivePoint& pt, const FieldElement&
      A)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:378,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:379,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:380,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:381,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:384,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:385,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:386,1
    - Dst: mul3
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:386,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:388,1
    - Dst: auto::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:388,1
    - Dst: mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:390,1
    - Dst: ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:396,1
    - Dst: auto::div2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' pt'
    - n
    argTypes:
    - ProjectivePoint
    - size_t
    constantsTouched: []
    func_position:
      end: 397
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 397
    functionName: Botan::dbl_n_a_minus_3
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - auto::mul2
    - auto::div2
    - ProjectivePoint
    - mul2
    - y
    - z
    - mul3
    - x
    - auto::square
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint dbl_n_a_minus_3(const ProjectivePoint& pt, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:401,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:402,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:403,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:406,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:407,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:408,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:410,1
    - Dst: auto::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:410,1
    - Dst: mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:412,1
    - Dst: ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:415,1
    - Dst: auto::div2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' pt'
    - n
    argTypes:
    - ProjectivePoint
    - size_t
    constantsTouched: []
    func_position:
      end: 416
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 416
    functionName: Botan::dbl_n_a_zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - auto::mul2
    - auto::div2
    - ProjectivePoint
    - mul2
    - y
    - z
    - x
    - auto::square
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint dbl_n_a_zero(const ProjectivePoint& pt, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:420,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:421,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:422,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:423,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:426,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:427,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:428,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:430,1
    - Dst: auto::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:430,1
    - Dst: mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:432,1
    - Dst: ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:438,1
    - Dst: auto::div2
      Src: /src/botan/src/lib/math/pcurves/pcurves_algos.h:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' pt'
    - ' A'
    - n
    argTypes:
    - ProjectivePoint
    - FieldElement
    - size_t
    constantsTouched: []
    func_position:
      end: 439
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 439
    functionName: Botan::dbl_n_generic
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_algos.h
    functionUses: 0
    functionsReached:
    - auto::mul2
    - auto::div2
    - ProjectivePoint
    - mul2
    - y
    - z
    - x
    - auto::square
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint dbl_n_generic(const ProjectivePoint& pt, const FieldElement&
      A, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::PCurve::PrimeOrderCurve::Scalar::Scalar
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scalar(const Scalar& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::PCurve::PrimeOrderCurve::Scalar::Scalar
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scalar(Scalar&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& operator=(const Scalar& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Scalar
    signature: Scalar & operator=(const Scalar& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& operator=(Scalar&& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Scalar
    signature: Scalar & operator=(Scalar&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ~Scalar()
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Scalar()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& _curve() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & _curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& _value() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & _value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurve::Scalar::Scalar
      Src: /src/botan/src/lib/math/pcurves/pcurves.h:78,1
    - Dst: std::move
      Src: /src/botan/src/lib/math/pcurves/pcurves.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - curve
    - v
    argTypes:
    - CurvePtr
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan::PCurve::PrimeOrderCurve::Scalar::_create
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::PCurve::PrimeOrderCurve::Scalar::Scalar
    linkageType: ''
    returnType: Scalar
    signature: Scalar _create(CurvePtr curve, StorageUnit v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/math/pcurves/pcurves.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - curve
    - v
    argTypes:
    - CurvePtr
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Botan::PCurve::PrimeOrderCurve::Scalar::Scalar
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Scalar(CurvePtr curve, StorageUnit v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan::PCurve::PrimeOrderCurve::AffinePoint::AffinePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AffinePoint(const AffinePoint& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan::PCurve::PrimeOrderCurve::AffinePoint::AffinePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AffinePoint(AffinePoint&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: '& operator=(const AffinePoint& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AffinePoint
    signature: AffinePoint & operator=(const AffinePoint& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '& operator=(AffinePoint&& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AffinePoint
    signature: AffinePoint & operator=(AffinePoint&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~AffinePoint()
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AffinePoint()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurve::AffinePoint::generator
      Src: /src/botan/src/lib/math/pcurves/pcurves.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' curve'
    argTypes:
    - CurvePtr
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: Botan::PCurve::PrimeOrderCurve::AffinePoint::generator
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurve::AffinePoint::generator
    linkageType: ''
    returnType: AffinePoint
    signature: AffinePoint generator(const CurvePtr& curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: '& _curve() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & _curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '& _x() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & _x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: '& _y() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & _y() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurve::AffinePoint::AffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves.h:109,1
    - Dst: std::move
      Src: /src/botan/src/lib/math/pcurves/pcurves.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - curve
    - x
    - y
    argTypes:
    - CurvePtr
    - StorageUnit
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Botan::PCurve::PrimeOrderCurve::AffinePoint::_create
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::PCurve::PrimeOrderCurve::AffinePoint::AffinePoint
    linkageType: ''
    returnType: AffinePoint
    signature: AffinePoint _create(CurvePtr curve, StorageUnit x, StorageUnit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/math/pcurves/pcurves.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - curve
    - x
    - y
    argTypes:
    - CurvePtr
    - StorageUnit
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: Botan::PCurve::PrimeOrderCurve::AffinePoint::AffinePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AffinePoint(CurvePtr curve, StorageUnit x, StorageUnit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ProjectivePoint
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: Botan::PCurve::PrimeOrderCurve::ProjectivePoint::ProjectivePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProjectivePoint(const ProjectivePoint& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ProjectivePoint
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Botan::PCurve::PrimeOrderCurve::ProjectivePoint::ProjectivePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProjectivePoint(ProjectivePoint&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ProjectivePoint
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& operator=(const ProjectivePoint& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint & operator=(const ProjectivePoint& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ProjectivePoint
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '& operator=(ProjectivePoint&& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint & operator=(ProjectivePoint&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: ~ProjectivePoint()
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ProjectivePoint()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: '& _curve() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & _curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: '& _x() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & _x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: '& _y() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & _y() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: '& _z() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & _z() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurve::ProjectivePoint::ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves.h:143,1
    - Dst: std::move
      Src: /src/botan/src/lib/math/pcurves/pcurves.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - curve
    - x
    - y
    - z
    argTypes:
    - CurvePtr
    - StorageUnit
    - StorageUnit
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: Botan::PCurve::PrimeOrderCurve::ProjectivePoint::_create
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::PCurve::PrimeOrderCurve::ProjectivePoint::ProjectivePoint
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint _create(CurvePtr curve, StorageUnit x, StorageUnit
      y, StorageUnit z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/math/pcurves/pcurves.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - curve
    - x
    - y
    - z
    argTypes:
    - CurvePtr
    - StorageUnit
    - StorageUnit
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: Botan::PCurve::PrimeOrderCurve::ProjectivePoint::ProjectivePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ProjectivePoint(CurvePtr curve, StorageUnit x, StorageUnit y,
      StorageUnit z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: ~PrecomputedMul2Table()
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PrecomputedMul2Table()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: ~PrimeOrderCurve()
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PrimeOrderCurve()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:47,1
    - Dst: std::span<const ProjectivePoint>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:47,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:50,1
    - Dst: std::span<const ProjectivePoint>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:50,1
    - Dst: to_affine_batch<C>
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pts
    argTypes:
    - std::span<const ProjectivePoint>
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: Botan::AffinePointTable::AffinePointTable
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_mul.h
    functionUses: 0
    functionsReached:
    - to_affine_batch<C>
    - std::span<const ProjectivePoint>::size
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void AffinePointTable(std::span<const ProjectivePoint> pts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:63,1
    - Dst: size
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:63,1
    - Dst: Botan::EC_AffinePoint::identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:65,1
    - Dst: size
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:69,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:70,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: Botan::AffinePointTable::ct_select
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_mul.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - Botan::BigInt::is_equal
    - size
    - auto::conditional_assign
    - Botan::EC_AffinePoint::identity
    linkageType: ''
    returnType: AffinePoint
    signature: "AffinePoint ct_select(size_t idx) const\n         requires(WholeRangeSearch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:84,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:85,1
    - Dst: size
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:85,1
    - Dst: Botan::EC_AffinePoint::identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:87,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:92,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - idx
    - iter
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: Botan::AffinePointTable::ct_select
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_mul.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - Botan::BigInt::is_equal
    - size
    - auto::conditional_assign
    - Botan::EC_AffinePoint::identity
    linkageType: ''
    returnType: AffinePoint
    signature: "AffinePoint ct_select(size_t idx, size_t iter) const\n         requires(!WholeRangeSearch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:152,1
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:154,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:157,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:161,1
    - Dst: dbl
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:161,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:163,1
    - Dst: dbl
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:167,1
    - Dst: Botan::to_affine_batch
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' p'
    - max_scalar_bits
    argTypes:
    - typename C::AffinePoint
    - size_t
    constantsTouched: []
    func_position:
      end: 171
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 171
    functionName: Botan::basemul_setup
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_mul.h
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - dbl
    - std::vector::reserve
    - Botan::to_affine_batch
    - std::vector::emplace_back
    - Botan::PCurve::GenericProjectivePoint::from_affine
    linkageType: ''
    returnType: std::vector<typename C::AffinePoint>
    signature: std::vector<typename C::AffinePoint> basemul_setup(const typename C::AffinePoint&
      p, size_t max_scalar_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const typename C::AffinePoint>::first
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:184,1
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:185,1
    - Dst: Botan::PCurve::GenericAffinePoint::ct_select
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:185,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:186,1
    - Dst: auto::randomize_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:187,1
    - Dst: std::span<const typename C::AffinePoint>::subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:195,1
    - Dst: Botan::PCurve::GenericAffinePoint::ct_select
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:202,1
    - Dst: auto::randomize_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:205,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - table
    - ' scalar'
    - ' rng'
    argTypes:
    - std::span<const typename C::AffinePoint>
    - BlindedScalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 211
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 211
    functionName: Botan::basemul_exec
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_mul.h
    functionUses: 0
    functionsReached:
    - auto::randomize_rep
    - Botan::CT::poison
    - Botan::PCurve::GenericAffinePoint::ct_select
    - Botan::CT::unpoison
    - std::span<const typename C::AffinePoint>::subspan
    - Botan::PCurve::GenericProjectivePoint::from_affine
    - std::span<const typename C::AffinePoint>::first
    linkageType: ''
    returnType: typename C::ProjectivePoint
    signature: "typename C::ProjectivePoint basemul_exec(std::span<const typename
      C::AffinePoint> table,\n                                         const BlindedScalar&
      scalar,\n                                         RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:221,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:222,1
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:222,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:226,1
    - Dst: dbl
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:226,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:228,1
    - Dst: AffinePointTable<C>
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - typename C::AffinePoint
    constantsTouched: []
    func_position:
      end: 233
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionName: Botan::varpoint_setup
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_mul.h
    functionUses: 0
    functionsReached:
    - AffinePointTable<C>
    - std::vector::push_back
    - dbl
    - std::vector::reserve
    - Botan::PCurve::GenericProjectivePoint::from_affine
    linkageType: ''
    returnType: AffinePointTable<C>
    signature: AffinePointTable<C> varpoint_setup(const typename C::AffinePoint& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:243,1
    - Dst: ct_select
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:243,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:244,1
    - Dst: auto::randomize_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:245,1
    - Dst: auto::dbl_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:250,1
    - Dst: get_window
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:251,1
    - Dst: ct_select
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:279,1
    - Dst: auto::randomize_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:282,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ' table'
    - ' scalar'
    - ' rng'
    argTypes:
    - AffinePointTable<C>
    - BlindedScalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 288
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 288
    functionName: Botan::varpoint_exec
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_mul.h
    functionUses: 0
    functionsReached:
    - get_window
    - ct_select
    - auto::randomize_rep
    - Botan::CT::poison
    - Botan::CT::unpoison
    - Botan::PCurve::GenericProjectivePoint::from_affine
    - auto::dbl_n
    linkageType: ''
    returnType: typename C::ProjectivePoint
    signature: "typename C::ProjectivePoint varpoint_exec(const AffinePointTable<C>&
      table,\n                                          const BlindedScalar& scalar,\n
      \                                         RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:321,1
    - Dst: dbl
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:333,1
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:347,1
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:355,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:361,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:365,1
    - Dst: next_tbl_e
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:365,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - ' p'
    - ' q'
    argTypes:
    - typename C::AffinePoint
    - typename C::AffinePoint
    constantsTouched: []
    func_position:
      end: 369
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 369
    functionName: Botan::mul2_setup
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_mul.h
    functionUses: 0
    functionsReached:
    - next_tbl_e
    - dbl
    - std::vector::reserve
    - std::vector::emplace_back
    - Botan::PCurve::GenericProjectivePoint::from_affine
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: std::vector<typename C::ProjectivePoint>
    signature: "std::vector<typename C::ProjectivePoint> mul2_setup(const typename
      C::AffinePoint& p,\n                                                    const
      typename C::AffinePoint& q)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:382,1
    - Dst: ct_select
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:382,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:383,1
    - Dst: auto::randomize_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:384,1
    - Dst: auto::dbl_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:389,1
    - Dst: ct_select
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:394,1
    - Dst: auto::randomize_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:397,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/pcurves/pcurves_mul.h:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - ' table'
    - ' x'
    - ' y'
    - ' rng'
    argTypes:
    - AffinePointTable<C>
    - BlindedScalar
    - BlindedScalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 403
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 403
    functionName: Botan::mul2_exec
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_mul.h
    functionUses: 0
    functionsReached:
    - ct_select
    - auto::randomize_rep
    - Botan::CT::poison
    - Botan::CT::unpoison
    - Botan::PCurve::GenericProjectivePoint::from_affine
    - auto::dbl_n
    linkageType: ''
    returnType: typename C::ProjectivePoint
    signature: "typename C::ProjectivePoint mul2_exec(const AffinePointTable<C>& table,\n
      \                                     const BlindedScalar& x,\n                                      const
      BlindedScalar& y,\n                                      RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PCurveInstance::from_params
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:18,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ' p'
    - ' a'
    - ' b'
    - ' base_x'
    - ' base_y'
    - ' order'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: Botan::PCurve::PrimeOrderCurve::from_params
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PCurveInstance::from_params
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: "std::shared_ptr<const PrimeOrderCurve> PrimeOrderCurve::from_params(\n
      \  const BigInt& p, const BigInt& a, const BigInt& b, const BigInt& base_x,
      const BigInt& base_y, const BigInt& order)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PCurveInstance::secp256r1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:29,1
    - Dst: Botan::PCurve::PCurveInstance::secp384r1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:35,1
    - Dst: Botan::PCurve::PCurveInstance::secp521r1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:41,1
    - Dst: Botan::PCurve::PCurveInstance::brainpool256r1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:47,1
    - Dst: Botan::PCurve::PCurveInstance::brainpool384r1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:53,1
    - Dst: Botan::PCurve::PCurveInstance::brainpool512r1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:59,1
    - Dst: Botan::PCurve::PCurveInstance::frp256v1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:65,1
    - Dst: Botan::PCurve::PCurveInstance::secp192r1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:71,1
    - Dst: Botan::PCurve::PCurveInstance::secp224r1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:77,1
    - Dst: Botan::PCurve::PCurveInstance::secp256k1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:83,1
    - Dst: Botan::PCurve::PCurveInstance::sm2p256v1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:89,1
    - Dst: Botan::PCurve::PCurveInstance::numsp512d1
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:95,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/math/pcurves/pcurves.cpp:99,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 101
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 101
    functionName: Botan::PCurve::PrimeOrderCurve::for_named_curve
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PCurveInstance::brainpool512r1
    - Botan::PCurve::PCurveInstance::frp256v1
    - Botan::PCurve::PCurveInstance::secp521r1
    - Botan::PCurve::PCurveInstance::brainpool256r1
    - Botan::PCurve::PCurveInstance::secp192r1
    - Botan::PCurve::PCurveInstance::secp256r1
    - Botan::PCurve::PCurveInstance::brainpool384r1
    - Botan::PCurve::PCurveInstance::secp384r1
    - Botan::PCurve::PCurveInstance::numsp512d1
    - BOTAN_UNUSED
    - Botan::PCurve::PCurveInstance::secp224r1
    - Botan::PCurve::PCurveInstance::sm2p256v1
    - Botan::PCurve::PCurveInstance::secp256k1
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PrimeOrderCurve::for_named_curve(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_brainpool384r1/pcurves_brainpool384r1.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Botan::PCurve::PCurveInstance::brainpool384r1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_brainpool384r1/pcurves_brainpool384r1.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::brainpool384r1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_brainpool512r1/pcurves_brainpool512r1.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan::PCurve::PCurveInstance::brainpool512r1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_brainpool512r1/pcurves_brainpool512r1.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::brainpool512r1()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::PCurve::numsp512d1::Numsp512d1Rep::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> one()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: redc_crandall<W, N, C>
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp
    functionUses: 0
    functionsReached:
    - redc_crandall<W, N, C>
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> redc(const std::array<W, 2 * N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::PCurve::numsp512d1::Numsp512d1Rep::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> to_rep(const std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::PCurve::numsp512d1::Numsp512d1Rep::wide_to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> wide_to_rep(const std::array<W, 2 * N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::PCurve::numsp512d1::Numsp512d1Rep::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> from_rep(const std::array<W, N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:55,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:57,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:60,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:62,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:65,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:67,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:70,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:73,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:76,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:79,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:82,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:84,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:86,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:88,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:90,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FieldElement
    constantsTouched: []
    func_position:
      end: 94
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 94
    functionName: Botan::PCurve::numsp512d1::Curve::fe_invert2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp
    functionUses: 3
    functionsReached:
    - auto::square
    - square
    - auto::square_n
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement fe_invert2(const FieldElement& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: Botan::PCurve::PCurveInstance::numsp512d1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_numsp512d1/pcurves_numsp512d1.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::numsp512d1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:60,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:61,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:62,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:63,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:64,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:65,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:66,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:67,1
    - Dst: SolinasAccum::final_carry
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:68,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:70,1
    - Dst: bigint_correct_redc<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:72,1
    - Dst: Botan::PCurve::Secp256r1Rep::p256_mul_mod_256
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 75
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 75
    functionName: Botan::PCurve::Secp256r1Rep::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::Secp256r1Rep::p256_mul_mod_256
    - bigint_correct_redc<N>
    - BOTAN_DEBUG_ASSERT
    - SolinasAccum::accum
    - SolinasAccum::final_carry
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> redc(const std::array<W, 2 * N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::PCurve::Secp256r1Rep::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> one()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: Botan::PCurve::Secp256r1Rep::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> to_rep(const std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::Secp256r1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Botan::PCurve::Secp256r1Rep::wide_to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::Secp256r1Rep::redc
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> wide_to_rep(const std::array<W, 2 * N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan::PCurve::Secp256r1Rep::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> from_rep(const std::array<W, N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - i
    argTypes:
    - W
    constantsTouched: []
    func_position:
      end: 109
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 109
    functionName: Botan::PCurve::Secp256r1Rep::p256_mul_mod_256
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> p256_mul_mod_256(W i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:133,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:135,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:138,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:141,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:143,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:145,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:148,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:150,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:152,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:154,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:156,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FieldElement
    constantsTouched: []
    func_position:
      end: 161
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 161
    functionName: Botan::PCurve::secp256r1::Curve::fe_invert2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp
    functionUses: 0
    functionsReached:
    - auto::square
    - square
    - auto::square_n
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement fe_invert2(const FieldElement& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:164,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:165,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:170,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:190,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:193,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:195,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:197,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:199,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:201,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:203,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:205,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:207,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:209,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:211,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:213,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:215,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:217,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:219,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:221,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:223,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:225,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:227,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:229,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 235
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 235
    functionName: Botan::PCurve::secp256r1::Curve::scalar_invert
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp
    functionUses: 0
    functionsReached:
    - auto::square
    - square
    - auto::square_n
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_invert(const Scalar& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: Botan::PCurve::PCurveInstance::secp256r1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256r1/pcurves_secp256r1.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::secp256r1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_frp256v1/pcurves_frp256v1.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan::PCurve::PCurveInstance::frp256v1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_frp256v1/pcurves_frp256v1.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::frp256v1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:67,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:68,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:69,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:70,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:71,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:72,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:73,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:74,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:75,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:76,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:77,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:78,1
    - Dst: SolinasAccum::final_carry
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:79,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:81,1
    - Dst: bigint_correct_redc<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:83,1
    - Dst: Botan::PCurve::Secp384r1Rep::p384_mul_mod_384
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 86
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 86
    functionName: Botan::PCurve::Secp384r1Rep::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp
    functionUses: 0
    functionsReached:
    - bigint_correct_redc<N>
    - BOTAN_DEBUG_ASSERT
    - Botan::PCurve::Secp384r1Rep::p384_mul_mod_384
    - SolinasAccum::accum
    - SolinasAccum::final_carry
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> redc(const std::array<W, 2 * N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: Botan::PCurve::Secp384r1Rep::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> one()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Botan::PCurve::Secp384r1Rep::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> to_rep(const std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::Secp384r1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan::PCurve::Secp384r1Rep::wide_to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::Secp384r1Rep::redc
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> wide_to_rep(const std::array<W, 2 * N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan::PCurve::Secp384r1Rep::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> from_rep(const std::array<W, N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - i
    argTypes:
    - W
    constantsTouched: []
    func_position:
      end: 120
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 120
    functionName: Botan::PCurve::Secp384r1Rep::p384_mul_mod_384
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> p384_mul_mod_384(W i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:144,1
    - Dst: FieldElement::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:147,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:150,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:153,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:155,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:158,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:161,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:164,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:167,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:169,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:171,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:173,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:175,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FieldElement
    constantsTouched: []
    func_position:
      end: 180
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 180
    functionName: Botan::PCurve::secp384r1::Curve::fe_invert2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp
    functionUses: 0
    functionsReached:
    - FieldElement::square_n
    - square
    - FieldElement::square
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement fe_invert2(const FieldElement& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:185,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:193,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:196,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:197,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:198,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:200,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:203,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:206,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:208,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:211,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:213,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:216,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:219,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:221,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:223,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:225,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:227,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:229,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:231,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:233,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:235,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:237,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:239,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:241,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:243,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:245,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:247,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:249,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:251,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:253,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:255,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:257,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:259,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:261,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:263,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:265,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:267,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:269,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:271,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:273,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:275,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:277,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:279,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:281,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:283,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:285,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:287,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:289,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 98
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 295
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 295
    functionName: Botan::PCurve::secp384r1::Curve::scalar_invert
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp
    functionUses: 0
    functionsReached:
    - auto::square
    - square
    - auto::square_n
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_invert(const Scalar& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: Botan::PCurve::PCurveInstance::secp384r1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp384r1/pcurves_secp384r1.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::secp384r1()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::PCurve::secp521r1::P521Rep::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> one()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:28,1
    - Dst: word_add
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:46,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:65,1
    - Dst: word_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:69,1
    - Dst: word_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 74
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 74
    functionName: Botan::PCurve::secp521r1::P521Rep::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sodium::sodium_is_zero
    - word_sub
    - static_cast<W>
    - word_add
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> redc(const std::array<W, 2 * N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan::PCurve::secp521r1::P521Rep::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> to_rep(const std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::secp521r1::P521Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan::PCurve::secp521r1::P521Rep::wide_to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::secp521r1::P521Rep::redc
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> wide_to_rep(const std::array<W, 2 * N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Botan::PCurve::secp521r1::P521Rep::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> from_rep(const std::array<W, N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:102,1
    - Dst: FieldElement::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:104,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:107,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:109,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:112,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:115,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:118,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:121,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:124,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:127,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:130,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:132,1
    - Dst: FieldElement::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FieldElement
    constantsTouched: []
    func_position:
      end: 137
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 137
    functionName: Botan::PCurve::secp521r1::Curve::fe_invert2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp
    functionUses: 0
    functionsReached:
    - FieldElement::square_n
    - square
    - FieldElement::square
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement fe_invert2(const FieldElement& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:142,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:166,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:168,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:170,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:172,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:175,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:177,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:180,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:183,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:185,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:188,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:190,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:192,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:194,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:196,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:198,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:200,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:202,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:204,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:206,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:208,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:210,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:212,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:214,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:216,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:218,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:220,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:222,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:224,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:226,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:228,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:230,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:232,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:234,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:236,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:238,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:240,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:242,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:244,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:246,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:248,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:250,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:252,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:254,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:256,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 98
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 262
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 262
    functionName: Botan::PCurve::secp521r1::Curve::scalar_invert
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp
    functionUses: 0
    functionsReached:
    - auto::square
    - square
    - auto::square_n
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_invert(const Scalar& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: Botan::PCurve::PCurveInstance::secp521r1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp521r1/pcurves_secp521r1.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::secp521r1()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::PCurve::secp256k1::Secp256k1Rep::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> one()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: redc_crandall<W, N, C>
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::PCurve::secp256k1::Secp256k1Rep::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp
    functionUses: 0
    functionsReached:
    - redc_crandall<W, N, C>
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> redc(const std::array<W, 2 * N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::PCurve::secp256k1::Secp256k1Rep::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> to_rep(const std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::secp256k1::Secp256k1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::PCurve::secp256k1::Secp256k1Rep::wide_to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::secp256k1::Secp256k1Rep::redc
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> wide_to_rep(const std::array<W, 2 * N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan::PCurve::secp256k1::Secp256k1Rep::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> from_rep(const std::array<W, N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:59,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:62,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:64,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:67,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:70,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:73,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:76,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:79,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:82,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:85,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:87,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:89,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:91,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:93,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FieldElement
    constantsTouched: []
    func_position:
      end: 97
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 97
    functionName: Botan::PCurve::secp256k1::Curve::fe_invert2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp
    functionUses: 0
    functionsReached:
    - auto::square
    - square
    - auto::square_n
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement fe_invert2(const FieldElement& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:100,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:108,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:110,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:112,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:115,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:117,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:118,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:119,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:121,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:123,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:126,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:128,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:131,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:133,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:136,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:138,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:140,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:142,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:144,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:146,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:148,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:150,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:152,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:154,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:156,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:158,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:160,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:162,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:164,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:166,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:168,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:170,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:172,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:174,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:176,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:178,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:180,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 72
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 185
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 185
    functionName: Botan::PCurve::secp256k1::Curve::scalar_invert
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp
    functionUses: 0
    functionsReached:
    - auto::square
    - square
    - auto::square_n
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_invert(const Scalar& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: Botan::PCurve::PCurveInstance::secp256k1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp256k1/pcurves_secp256k1.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::secp256k1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:27,1
    - Dst: load_be<word>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:37,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:37,1
    - Dst: bigint_shl1
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:42,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:42,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:42,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 51
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 51
    functionName: Botan::PCurve::bytes_to_words
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - bigint_shl1
    - std::span<const uint8_t>::size
    - std::array::size
    - std::span<const uint8_t>::data
    - load_be<word>
    linkageType: ''
    returnType: std::optional<std::array<word, N>>
    signature: std::optional<std::array<word, N>> bytes_to_words(std::span<const uint8_t>
      bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:61,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:63,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:67,1
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:67,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:69,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - ' elem'
    - ' one'
    - bits
    - exp
    argTypes:
    - T
    - T
    - size_t
    - std::span<const word>
    constantsTouched: []
    func_position:
      end: 93
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 93
    functionName: Botan::PCurve::impl_pow_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::vector::reserve
    - square
    - auto::square
    linkageType: ''
    returnType: T
    signature: T impl_pow_vartime(const T& elem, const T& one, size_t bits, std::span<const
      word> exp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sig_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:108,1
    - Dst: bits
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:109,1
    - Dst: bytes
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:110,1
    - Dst: bits
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:111,1
    - Dst: bytes
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:112,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:115,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed_rev
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:116,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:117,1
    - Dst: R1
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:117,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:118,1
    - Dst: R2
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:118,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed_rev
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:119,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:120,1
    - Dst: p_dash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:121,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:123,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed_rev
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:124,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:125,1
    - Dst: R1
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:125,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:126,1
    - Dst: R2
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:126,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:127,1
    - Dst: R3
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:127,1
    - Dst: p_dash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:128,1
    - Dst: is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:131,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:134,1
    - Dst: Botan::PCurve::GenericCurveParams::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:134,1
    - Dst: R2
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:134,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:135,1
    - Dst: Botan::PCurve::GenericCurveParams::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:135,1
    - Dst: R2
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:135,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:137,1
    - Dst: Botan::PCurve::GenericCurveParams::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:137,1
    - Dst: R2
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:137,1
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:138,1
    - Dst: Botan::PCurve::GenericCurveParams::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:138,1
    - Dst: R2
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - ' p'
    - ' a'
    - ' b'
    - ' base_x'
    - ' base_y'
    - ' order'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 139
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 139
    functionName: Botan::PCurve::GenericCurveParams::GenericCurveParams
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericCurveParams::bn_to_fixed_rev
    - Botan::PCurve::GenericCurveParams::bn_to_fixed
    - R2
    - bits
    - R3
    - R1
    - bytes
    - p_dash
    - is_zero
    - sig_words
    - Botan::PCurve::GenericCurveParams::mul
    linkageType: ''
    returnType: void
    signature: "void GenericCurveParams(const BigInt& p,\n                         const
      BigInt& a,\n                         const BigInt& b,\n                         const
      BigInt& base_x,\n                         const BigInt& base_y,\n                         const
      BigInt& order)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan::PCurve::GenericCurveParams::words
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t words() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: Botan::PCurve::GenericCurveParams::order_bits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t order_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: Botan::PCurve::GenericCurveParams::order_bytes
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t order_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: Botan::PCurve::GenericCurveParams::field_bits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t field_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: Botan::PCurve::GenericCurveParams::field_bytes
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t field_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: '& monty_order() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Montgomery_Params
    signature: Montgomery_Params & monty_order() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: '& monty_field() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Montgomery_Params
    signature: Montgomery_Params & monty_field() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: '& field() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & field() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: '& field_minus_2() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & field_minus_2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: '& field_monty_r1() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & field_monty_r1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: '& field_monty_r2() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & field_monty_r2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: '& field_p_plus_1_over_4() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & field_p_plus_1_over_4() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: '& field_p_over_2_plus_1() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & field_p_over_2_plus_1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: Botan::PCurve::GenericCurveParams::field_p_dash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: word
    signature: word field_p_dash() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '& order() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & order() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: '& order_minus_2() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & order_minus_2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: '& order_monty_r1() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & order_monty_r1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: '& order_monty_r2() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & order_monty_r2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: '& order_monty_r3() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & order_monty_r3() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: Botan::PCurve::GenericCurveParams::order_p_dash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: word
    signature: word order_p_dash() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: '& monty_curve_a() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & monty_curve_a() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: '& monty_curve_b() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & monty_curve_b() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: '& base_x() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & base_x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: '& base_y() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & base_y() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: Botan::PCurve::GenericCurveParams::a_is_minus_3
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool a_is_minus_3() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: Botan::PCurve::GenericCurveParams::a_is_zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool a_is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: Botan::PCurve::GenericCurveParams::order_is_less_than_field
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool order_is_less_than_field() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:196,1
    - Dst: bigint_comba_mul4
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:199,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:199,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:199,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:199,1
    - Dst: bigint_comba_mul6
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:201,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:201,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:201,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:201,1
    - Dst: bigint_comba_mul8
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:203,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:203,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:203,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:203,1
    - Dst: bigint_comba_mul9
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:205,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:205,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:205,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:205,1
    - Dst: bigint_mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:207,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:207,1
    - Dst: size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:207,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:207,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - std::array<word, 2 * N>
    - std::array<word, N>
    - std::array<word, N>
    constantsTouched: []
    func_position:
      end: 209
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 209
    functionName: Botan::PCurve::GenericCurveParams::mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - clear_mem
    - data
    - bigint_comba_mul8
    - size
    - bigint_comba_mul6
    - bigint_comba_mul4
    - bigint_mul
    - bigint_comba_mul9
    linkageType: ''
    returnType: void
    signature: void mul(std::array<word, 2 * N>& z, const std::array<word, N>& x,
      const std::array<word, N>& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:212,1
    - Dst: bigint_comba_sqr4
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:215,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:215,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:215,1
    - Dst: bigint_comba_sqr6
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:217,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:217,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:217,1
    - Dst: bigint_comba_sqr8
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:219,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:219,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:219,1
    - Dst: bigint_comba_sqr9
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:221,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:221,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:221,1
    - Dst: bigint_sqr
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:223,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:223,1
    - Dst: size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:223,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - std::array<word, 2 * N>
    - std::array<word, N>
    constantsTouched: []
    func_position:
      end: 225
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 225
    functionName: Botan::PCurve::GenericCurveParams::sqr
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - bigint_comba_sqr4
    - clear_mem
    - bigint_comba_sqr8
    - bigint_comba_sqr6
    - bigint_sqr
    - data
    - size
    - bigint_comba_sqr9
    linkageType: ''
    returnType: void
    signature: void sqr(std::array<word, 2 * N>& z, const std::array<word, N>& x)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:230,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:233,1
    - Dst: first
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:233,1
    - Dst: _as_span
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: Botan::PCurve::GenericCurveParams::bn_to_fixed
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - copy_mem
    - first
    - _as_span
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::array<word, PrimeOrderCurve::StorageWords>
    signature: std::array<word, PrimeOrderCurve::StorageWords> bn_to_fixed(const BigInt&
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericCurveParams::bn_to_fixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:238,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:239,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:239,1
    - Dst: auto::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: Botan::PCurve::GenericCurveParams::bn_to_fixed_rev
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - auto::end
    - auto::begin
    - Botan::PCurve::GenericCurveParams::bn_to_fixed
    - std::reverse
    linkageType: ''
    returnType: std::array<word, PrimeOrderCurve::StorageWords>
    signature: std::array<word, PrimeOrderCurve::StorageWords> bn_to_fixed_rev(const
      BigInt& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:289,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:294,1
    - Dst: last
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:294,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:294,1
    - Dst: bytes_to_words<2 * N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:296,1
    - Dst: Botan::PCurve::GenericScalar::wide_to_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:298,1
    - Dst: auto::value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:298,1
    - Dst: Botan::PCurve::GenericScalar::GenericScalar
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - curve
    - bytes
    argTypes:
    - GenericPrimeOrderCurve*
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 303
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 303
    functionName: Botan::PCurve::GenericScalar::from_wide_bytes
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - bytes_to_words<2 * N>
    - auto::value
    - Botan::PCurve::GenericScalar::wide_to_rep
    - copy_mem
    - std::span<const uint8_t>::size
    - Botan::PCurve::GenericScalar::GenericScalar
    - last
    linkageType: ''
    returnType: std::optional<GenericScalar>
    signature: "std::optional<GenericScalar> from_wide_bytes(const GenericPrimeOrderCurve*
      curve,\n                                                          std::span<const
      uint8_t> bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:309,1
    - Dst: bytes_to_words<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:313,1
    - Dst: bigint_ct_is_lt
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:316,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:316,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:316,1
    - Dst: Botan::PCurve::GenericScalar::GenericScalar
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:321,1
    - Dst: Botan::PCurve::GenericScalar::to_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - curve
    - bytes
    argTypes:
    - GenericPrimeOrderCurve*
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 325
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 325
    functionName: Botan::PCurve::GenericScalar::deserialize
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - bytes_to_words<N>
    - Botan::PCurve::GenericScalar::to_rep
    - GenericPrimeOrderCurve*::_params
    - bigint_ct_is_lt
    - auto::data
    - std::span<const uint8_t>::size
    - Botan::PCurve::GenericScalar::GenericScalar
    linkageType: ''
    returnType: std::optional<GenericScalar>
    signature: "std::optional<GenericScalar> deserialize(const GenericPrimeOrderCurve*
      curve,\n                                                      std::span<const
      uint8_t> bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::GenericScalar
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curve
    argTypes:
    - GenericPrimeOrderCurve*
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: Botan::PCurve::GenericScalar::zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericScalar::GenericScalar
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar zero(const GenericPrimeOrderCurve* curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::GenericScalar
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:333,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curve
    argTypes:
    - GenericPrimeOrderCurve*
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: Botan::PCurve::GenericScalar::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - GenericPrimeOrderCurve*::_params
    - Botan::PCurve::GenericScalar::GenericScalar
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar one(const GenericPrimeOrderCurve* curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:341,1
    - Dst: randomize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:344,1
    - Dst: Botan::PCurve::GenericScalar::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:353,1
    - Dst: auto::value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:354,1
    - Dst: auto::value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:355,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - curve
    - ' rng'
    argTypes:
    - GenericPrimeOrderCurve*
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 361
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 361
    functionName: Botan::PCurve::GenericScalar::random
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - GenericPrimeOrderCurve*::_params
    - Botan::PCurve::GenericScalar::deserialize
    - randomize
    - Internal_Error
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar random(const GenericPrimeOrderCurve* curve, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:364,1
    - Dst: bigint_add3_nc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:368,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:368,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:368,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:368,1
    - Dst: bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:371,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:371,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:371,1
    - Dst: auto::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:371,1
    - Dst: GenericScalar
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - GenericScalar
    - GenericScalar
    constantsTouched: []
    func_position:
      end: 373
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 373
    functionName: operator+(const GenericScalar& a, const GenericScalar& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - StorageUnit::data
    - data
    - auto::_params
    - check_curve
    - GenericScalar
    - bigint_add3_nc
    - bigint_monty_maybe_sub
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar operator+(const GenericScalar& a, const GenericScalar&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - GenericScalar
    - GenericScalar
    constantsTouched: []
    func_position:
      end: 375
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 375
    functionName: operator-(const GenericScalar& a, const GenericScalar& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - negate
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar operator-(const GenericScalar& a, const GenericScalar&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:378,1
    - Dst: auto::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:381,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:381,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:381,1
    - Dst: GenericScalar
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:382,1
    - Dst: redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - GenericScalar
    - GenericScalar
    constantsTouched: []
    func_position:
      end: 383
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 383
    functionName: operator*(const GenericScalar& a, const GenericScalar& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - redc
    - auto::_params
    - check_curve
    - GenericScalar
    - value
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar operator*(const GenericScalar& a, const GenericScalar&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:386,1
    - Dst: auto::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:389,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:389,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:389,1
    - Dst: redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericScalar
    constantsTouched: []
    func_position:
      end: 392
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 392
    functionName: '& operator*=(const GenericScalar& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - redc
    - auto::_params
    - value
    - check_curve
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar & operator*=(const GenericScalar& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: auto::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:398,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:398,1
    - Dst: Botan::PCurve::GenericScalar::GenericScalar
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:399,1
    - Dst: Botan::PCurve::GenericScalar::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 400
    functionName: Botan::PCurve::GenericScalar::square
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericScalar::redc
    - auto::_params
    - value
    - Botan::PCurve::GenericScalar::GenericScalar
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar square() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::one
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:403,1
    - Dst: Botan::PCurve::GenericScalar::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:403,1
    - Dst: Botan::PCurve::GenericScalar::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:404,1
    - Dst: Botan::PCurve::GenericScalar::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:405,1
    - Dst: impl_pow_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:406,1
    - Dst: last
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' exp'
    argTypes:
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 407
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 407
    functionName: Botan::PCurve::GenericScalar::pow_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericScalar::one
    - Botan::PCurve::GenericScalar::curve
    - last
    - impl_pow_vartime
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar pow_vartime(const StorageUnit& exp) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:410,1
    - Dst: Botan::PCurve::GenericScalar::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:410,1
    - Dst: bigint_sub3
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:413,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:413,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:413,1
    - Dst: Botan::PCurve::GenericScalar::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:413,1
    - Dst: auto::if_set_zero_out
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:414,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:414,1
    - Dst: Botan::PCurve::GenericScalar::GenericScalar
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: Botan::PCurve::GenericScalar::negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericScalar::data
    - StorageUnit::data
    - _params
    - Botan::PCurve::GenericScalar::GenericScalar
    - bigint_sub3
    - Botan::CT::all_zeros
    - auto::if_set_zero_out
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::pow_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:418,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 418
    functionName: Botan::PCurve::GenericScalar::invert
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericScalar::pow_vartime
    - _params
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar invert() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:422,1
    - Dst: Botan::PCurve::GenericScalar::serialize_to
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 425
    functionName: Botan::PCurve::GenericScalar::serialize
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericScalar::serialize_to
    - _params
    linkageType: ''
    returnType: T
    signature: T serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::from_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:428,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:429,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:429,1
    - Dst: auto::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:429,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:432,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:432,1
    - Dst: store_be
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:435,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:437,1
    - Dst: subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 438
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 438
    functionName: Botan::PCurve::GenericScalar::serialize_to
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::GenericScalar::from_rep
    - std::span<uint8_t>::size
    - std::reverse
    - copy_mem
    - auto::begin
    - subspan
    - auto::end
    - BOTAN_ARG_CHECK
    - store_be
    linkageType: ''
    returnType: void
    signature: void serialize_to(std::span<uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:440,1
    - Dst: Botan::PCurve::GenericScalar::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:440,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 440
    functionName: Botan::PCurve::GenericScalar::is_zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::all_zeros
    - _params
    - Botan::PCurve::GenericScalar::data
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: Botan::PCurve::GenericScalar::is_nonzero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericScalar::is_zero
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_nonzero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Choice::no
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:446,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:449,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:449,1
    - Dst: m_val::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:449,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericScalar
    constantsTouched: []
    func_position:
      end: 450
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 450
    functionName: operator==(const GenericScalar& other) const
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - m_val::data
    - Botan::CT::is_equal
    - data
    - _params
    - Botan::CT::Choice::no
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice operator==(const GenericScalar& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::from_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 455
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 455
    functionName: Botan::PCurve::GenericScalar::to_words
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericScalar::from_rep
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit to_words() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 457
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 457
    functionName: '& stash_value() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & stash_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: Botan::PCurve::GenericScalar::curve
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: GenericPrimeOrderCurve
    signature: GenericPrimeOrderCurve * curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - curve
    - val
    argTypes:
    - GenericPrimeOrderCurve*
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 461
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 461
    functionName: Botan::PCurve::GenericScalar::GenericScalar
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericScalar(const GenericPrimeOrderCurve* curve, StorageUnit
      val)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 464
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 464
    functionName: '& value() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 466
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 466
    functionName: Botan::PCurve::GenericScalar::data
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 3
    functionsReached:
    - Botan::PCurve::GenericScalar::data
    linkageType: ''
    returnType: W
    signature: W * data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - GenericScalar
    - GenericScalar
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: Botan::PCurve::GenericScalar::check_curve
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: GenericPrimeOrderCurve
    signature: GenericPrimeOrderCurve * check_curve(const GenericScalar& a, const
      GenericScalar& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:474,1
    - Dst: bigint_monty_redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:478,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:479,1
    - Dst: std::array<W, 2 * N>::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:479,1
    - Dst: Botan::PCurve::GenericScalar::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:479,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:479,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:479,1
    - Dst: StorageUnit::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - curve
    - z
    argTypes:
    - GenericPrimeOrderCurve*
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 481
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 481
    functionName: Botan::PCurve::GenericScalar::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - bigint_monty_redc
    - std::array<W, 2 * N>::data
    - Botan::PCurve::GenericScalar::data
    - StorageUnit::data
    - GenericPrimeOrderCurve*::_params
    - StorageUnit::size
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit redc(const GenericPrimeOrderCurve* curve, std::array<W,
      2 * N> z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:485,1
    - Dst: template first<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:485,1
    - Dst: Botan::PCurve::GenericScalar::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - curve
    - z
    argTypes:
    - GenericPrimeOrderCurve*
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 487
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 487
    functionName: Botan::PCurve::GenericScalar::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 2
    functionsReached:
    - copy_mem
    - Botan::PCurve::GenericScalar::redc
    - template first<N>
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit from_rep(const GenericPrimeOrderCurve* curve, StorageUnit
      z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:491,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:491,1
    - Dst: Botan::PCurve::GenericScalar::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - curve
    - x
    argTypes:
    - GenericPrimeOrderCurve*
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 493
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 493
    functionName: Botan::PCurve::GenericScalar::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - GenericPrimeOrderCurve*::_params
    - Botan::PCurve::GenericScalar::redc
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit to_rep(const GenericPrimeOrderCurve* curve, StorageUnit
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:496,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:498,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:498,1
    - Dst: Botan::PCurve::GenericScalar::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - curve
    - x
    argTypes:
    - GenericPrimeOrderCurve*
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 500
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 500
    functionName: Botan::PCurve::GenericScalar::wide_to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::GenericScalar::redc
    - GenericPrimeOrderCurve*::_params
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit wide_to_rep(const GenericPrimeOrderCurve* curve, std::array<W,
      2 * N> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:516,1
    - Dst: bytes_to_words<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:520,1
    - Dst: bigint_ct_is_lt
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:523,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:523,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:523,1
    - Dst: Botan::PCurve::GenericField::from_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - curve
    - bytes
    argTypes:
    - GenericPrimeOrderCurve*
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 532
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 532
    functionName: Botan::PCurve::GenericField::deserialize
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - bytes_to_words<N>
    - GenericPrimeOrderCurve*::_params
    - bigint_ct_is_lt
    - auto::data
    - std::span<const uint8_t>::size
    - Botan::PCurve::GenericField::from_words
    linkageType: ''
    returnType: std::optional<GenericField>
    signature: "std::optional<GenericField> deserialize(const GenericPrimeOrderCurve*
      curve,\n                                                     std::span<const
      uint8_t> bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:535,1
    - Dst: Botan::PCurve::GenericField::to_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - curve
    - ' words'
    argTypes:
    - GenericPrimeOrderCurve*
    - std::array<word, N>
    constantsTouched: []
    func_position:
      end: 536
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 536
    functionName: Botan::PCurve::GenericField::from_words
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::GenericField::GenericField
    - Botan::PCurve::GenericField::to_rep
    linkageType: ''
    returnType: GenericField
    signature: GenericField from_words(const GenericPrimeOrderCurve* curve, const
      std::array<word, N>& words)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curve
    argTypes:
    - GenericPrimeOrderCurve*
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: Botan::PCurve::GenericField::zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::GenericField
    linkageType: ''
    returnType: GenericField
    signature: GenericField zero(const GenericPrimeOrderCurve* curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:544,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curve
    argTypes:
    - GenericPrimeOrderCurve*
    constantsTouched: []
    func_position:
      end: 545
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 545
    functionName: Botan::PCurve::GenericField::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::GenericField
    - GenericPrimeOrderCurve*::_params
    linkageType: ''
    returnType: GenericField
    signature: GenericField one(const GenericPrimeOrderCurve* curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:548,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curve
    argTypes:
    - GenericPrimeOrderCurve*
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: Botan::PCurve::GenericField::curve_a
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::GenericField
    - GenericPrimeOrderCurve*::_params
    linkageType: ''
    returnType: GenericField
    signature: GenericField curve_a(const GenericPrimeOrderCurve* curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:552,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curve
    argTypes:
    - GenericPrimeOrderCurve*
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: Botan::PCurve::GenericField::curve_b
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::GenericField
    - GenericPrimeOrderCurve*::_params
    linkageType: ''
    returnType: GenericField
    signature: GenericField curve_b(const GenericPrimeOrderCurve* curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:560,1
    - Dst: randomize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:563,1
    - Dst: Botan::PCurve::GenericField::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:572,1
    - Dst: auto::value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:573,1
    - Dst: auto::value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:574,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - curve
    - ' rng'
    argTypes:
    - GenericPrimeOrderCurve*
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 580
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 580
    functionName: Botan::PCurve::GenericField::random
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - GenericPrimeOrderCurve*::_params
    - randomize
    - Botan::PCurve::GenericField::deserialize
    - Internal_Error
    linkageType: ''
    returnType: GenericField
    signature: GenericField random(const GenericPrimeOrderCurve* curve, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:586,1
    - Dst: shift_right<1>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:587,1
    - Dst: bigint_cnd_add
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:590,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:590,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:590,1
    - Dst: Botan::PCurve::GenericField::GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 593
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 593
    functionName: Botan::PCurve::GenericField::div2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - bigint_cnd_add
    - StorageUnit::data
    - _params
    - Botan::PCurve::GenericField::GenericField
    - shift_right<1>
    - value
    linkageType: ''
    returnType: GenericField
    signature: GenericField div2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:597,1
    - Dst: shift_left<1>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:598,1
    - Dst: bigint_monty_maybe_sub<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:601,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:601,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:601,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:601,1
    - Dst: Botan::PCurve::GenericField::GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 603
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 603
    functionName: Botan::PCurve::GenericField::mul2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - shift_left<1>
    - bigint_monty_maybe_sub<N>
    - StorageUnit::data
    - _params
    - Botan::PCurve::GenericField::GenericField
    - value
    linkageType: ''
    returnType: GenericField
    signature: GenericField mul2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 606
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 606
    functionName: Botan::PCurve::GenericField::mul3
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::mul2
    linkageType: ''
    returnType: GenericField
    signature: GenericField mul3() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 609
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 609
    functionName: Botan::PCurve::GenericField::mul4
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::mul2
    linkageType: ''
    returnType: GenericField
    signature: GenericField mul4() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 612
    functionName: Botan::PCurve::GenericField::mul8
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::mul2
    linkageType: ''
    returnType: GenericField
    signature: GenericField mul8() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:615,1
    - Dst: bigint_add3_nc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:619,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:619,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:619,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:619,1
    - Dst: bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:622,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:622,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:622,1
    - Dst: auto::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:622,1
    - Dst: GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - GenericField
    - GenericField
    constantsTouched: []
    func_position:
      end: 624
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 624
    functionName: operator+(const GenericField& a, const GenericField& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - StorageUnit::data
    - data
    - auto::_params
    - check_curve
    - bigint_add3_nc
    - GenericField
    - bigint_monty_maybe_sub
    linkageType: ''
    returnType: GenericField
    signature: GenericField operator+(const GenericField& a, const GenericField& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - GenericField
    - GenericField
    constantsTouched: []
    func_position:
      end: 626
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 626
    functionName: operator-(const GenericField& a, const GenericField& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - negate
    linkageType: ''
    returnType: GenericField
    signature: GenericField operator-(const GenericField& a, const GenericField& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:629,1
    - Dst: auto::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:632,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:632,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:632,1
    - Dst: GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:633,1
    - Dst: redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - GenericField
    - GenericField
    constantsTouched: []
    func_position:
      end: 634
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 634
    functionName: operator*(const GenericField& a, const GenericField& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - redc
    - auto::_params
    - check_curve
    - value
    - GenericField
    linkageType: ''
    returnType: GenericField
    signature: GenericField operator*(const GenericField& a, const GenericField& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:637,1
    - Dst: auto::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:640,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:640,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:640,1
    - Dst: redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericField
    constantsTouched: []
    func_position:
      end: 643
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 643
    functionName: '& operator*=(const GenericField& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - redc
    - auto::_params
    - value
    - check_curve
    linkageType: ''
    returnType: GenericField
    signature: GenericField & operator*=(const GenericField& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:647,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:647,1
    - Dst: Botan::PCurve::GenericField::GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:648,1
    - Dst: Botan::PCurve::GenericField::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 649
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 649
    functionName: Botan::PCurve::GenericField::square
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::GenericField
    - value
    - Botan::PCurve::GenericField::redc
    - _params
    linkageType: ''
    returnType: GenericField
    signature: GenericField square() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::one
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:652,1
    - Dst: Botan::PCurve::GenericField::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:652,1
    - Dst: Botan::PCurve::GenericField::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:653,1
    - Dst: Botan::PCurve::GenericField::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:654,1
    - Dst: impl_pow_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:655,1
    - Dst: last
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' exp'
    argTypes:
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 656
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 656
    functionName: Botan::PCurve::GenericField::pow_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - impl_pow_vartime
    - Botan::PCurve::GenericField::one
    - last
    - Botan::PCurve::GenericField::curve
    linkageType: ''
    returnType: GenericField
    signature: GenericField pow_vartime(const StorageUnit& exp) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:659,1
    - Dst: Botan::PCurve::GenericField::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:659,1
    - Dst: bigint_sub3
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:662,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:662,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:662,1
    - Dst: Botan::PCurve::GenericField::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:662,1
    - Dst: auto::if_set_zero_out
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:663,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:663,1
    - Dst: Botan::PCurve::GenericField::GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 665
    functionName: Botan::PCurve::GenericField::negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - StorageUnit::data
    - Botan::PCurve::GenericField::data
    - _params
    - Botan::PCurve::GenericField::GenericField
    - bigint_sub3
    - Botan::CT::all_zeros
    - auto::if_set_zero_out
    linkageType: ''
    returnType: GenericField
    signature: GenericField negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::pow_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:667,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 667
      start: 667
    functionDepth: 3
    functionLinenumber: 667
    functionLinenumberEnd: 667
    functionName: Botan::PCurve::GenericField::invert
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::pow_vartime
    - _params
    linkageType: ''
    returnType: GenericField
    signature: GenericField invert() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:671,1
    - Dst: Botan::PCurve::GenericField::serialize_to
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 674
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 674
    functionName: Botan::PCurve::GenericField::serialize
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::serialize_to
    - _params
    linkageType: ''
    returnType: T
    signature: T serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::from_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:677,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:678,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:678,1
    - Dst: auto::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:678,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:681,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:681,1
    - Dst: store_be
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:684,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:686,1
    - Dst: subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 687
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 687
    functionName: Botan::PCurve::GenericField::serialize_to
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - std::span<uint8_t>::size
    - std::reverse
    - copy_mem
    - auto::begin
    - subspan
    - auto::end
    - Botan::PCurve::GenericField::from_rep
    - BOTAN_ARG_CHECK
    - store_be
    linkageType: ''
    returnType: void
    signature: void serialize_to(std::span<uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:689,1
    - Dst: Botan::PCurve::GenericField::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:689,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 689
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 689
    functionName: Botan::PCurve::GenericField::is_zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::all_zeros
    - Botan::PCurve::GenericField::data
    - _params
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 691
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 691
    functionName: Botan::PCurve::GenericField::is_nonzero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::is_zero
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_nonzero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Choice::no
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:695,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:698,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:698,1
    - Dst: m_val::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:698,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericField
    constantsTouched: []
    func_position:
      end: 699
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 699
    functionName: operator==(const GenericField& other) const
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - m_val::data
    - Botan::CT::is_equal
    - data
    - _params
    - Botan::CT::Choice::no
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice operator==(const GenericField& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 701
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 701
    functionName: '& stash_value() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & stash_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 703
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 703
    functionName: Botan::PCurve::GenericField::curve
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: GenericPrimeOrderCurve
    signature: GenericPrimeOrderCurve * curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::from_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:706,1
    - Dst: Botan::CT::Choice::from_int
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 708
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 708
    functionName: Botan::PCurve::GenericField::is_even
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::Choice::from_int
    - Botan::PCurve::GenericField::from_rep
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_even() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::from_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 713
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 713
    functionName: Botan::PCurve::GenericField::to_words
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::from_rep
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit to_words() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 715
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 715
    functionName: Botan::PCurve::GenericField::_const_time_poison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 717
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 717
    functionName: Botan::PCurve::GenericField::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:720,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cond
    - ' nx'
    argTypes:
    - CT::Choice
    - GenericField
    constantsTouched: []
    func_position:
      end: 725
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 725
    functionName: Botan::PCurve::GenericField::conditional_assign
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::from_choice
    - choose
    linkageType: ''
    returnType: void
    signature: void conditional_assign(CT::Choice cond, const GenericField& nx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:734,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:737,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' x'
    - ' y'
    - cond
    - ' nx'
    - ' ny'
    argTypes:
    - GenericField
    - GenericField
    - CT::Choice
    - GenericField
    - GenericField
    constantsTouched: []
    func_position:
      end: 740
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 740
    functionName: Botan::PCurve::GenericField::conditional_assign
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::from_choice
    - choose
    linkageType: ''
    returnType: void
    signature: "void conditional_assign(\n         GenericField& x, GenericField&
      y, CT::Choice cond, const GenericField& nx, const GenericField& ny)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:754,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:757,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:758,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - ' x'
    - ' y'
    - ' z'
    - cond
    - ' nx'
    - ' ny'
    - ' nz'
    argTypes:
    - GenericField
    - GenericField
    - GenericField
    - CT::Choice
    - GenericField
    - GenericField
    - GenericField
    constantsTouched: []
    func_position:
      end: 761
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 761
    functionName: Botan::PCurve::GenericField::conditional_assign
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::from_choice
    - choose
    linkageType: ''
    returnType: void
    signature: "void conditional_assign(GenericField& x,\n                                     GenericField&
      y,\n                                     GenericField& z,\n                                     CT::Choice
      cond,\n                                     const GenericField& nx,\n                                     const
      GenericField& ny,\n                                     const GenericField&
      nz)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:764,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:764,1
    - Dst: Botan::PCurve::GenericField::pow_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:766,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:766,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:767,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:769,1
    - Dst: Botan::PCurve::GenericField::zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 771
      start: 763
    functionDepth: 3
    functionLinenumber: 763
    functionLinenumberEnd: 771
    functionName: Botan::PCurve::GenericField::sqrt
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::zero
    - BOTAN_STATE_CHECK
    - _params
    - Botan::PCurve::GenericField::pow_vartime
    - auto::conditional_assign
    - auto::square
    linkageType: ''
    returnType: std::pair<GenericField, CT::Choice>
    signature: std::pair<GenericField, CT::Choice> sqrt() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - curve
    - val
    argTypes:
    - GenericPrimeOrderCurve*
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 773
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 773
    functionName: Botan::PCurve::GenericField::GenericField
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericField(const GenericPrimeOrderCurve* curve, StorageUnit
      val)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 776
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 776
    functionName: '& value() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit & value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 778
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 778
    functionName: Botan::PCurve::GenericField::data
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 3
    functionsReached:
    - Botan::PCurve::GenericField::data
    linkageType: ''
    returnType: W
    signature: W * data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - GenericField
    - GenericField
    constantsTouched: []
    func_position:
      end: 783
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 783
    functionName: Botan::PCurve::GenericField::check_curve
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    linkageType: ''
    returnType: GenericPrimeOrderCurve
    signature: GenericPrimeOrderCurve * check_curve(const GenericField& a, const GenericField&
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:786,1
    - Dst: bigint_monty_redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:790,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:791,1
    - Dst: std::array<W, 2 * N>::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:791,1
    - Dst: Botan::PCurve::GenericField::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:791,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:791,1
    - Dst: StorageUnit::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:791,1
    - Dst: StorageUnit::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - curve
    - z
    argTypes:
    - GenericPrimeOrderCurve*
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 793
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 793
    functionName: Botan::PCurve::GenericField::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - bigint_monty_redc
    - std::array<W, 2 * N>::data
    - StorageUnit::data
    - GenericPrimeOrderCurve*::_params
    - Botan::PCurve::GenericField::data
    - StorageUnit::size
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit redc(const GenericPrimeOrderCurve* curve, std::array<W,
      2 * N> z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:797,1
    - Dst: template first<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:797,1
    - Dst: Botan::PCurve::GenericField::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - curve
    - z
    argTypes:
    - GenericPrimeOrderCurve*
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 799
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 799
    functionName: Botan::PCurve::GenericField::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 3
    functionsReached:
    - copy_mem
    - Botan::PCurve::GenericField::redc
    - template first<N>
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit from_rep(const GenericPrimeOrderCurve* curve, StorageUnit
      z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:803,1
    - Dst: GenericPrimeOrderCurve*::_params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:803,1
    - Dst: Botan::PCurve::GenericField::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - curve
    - x
    argTypes:
    - GenericPrimeOrderCurve*
    - StorageUnit
    constantsTouched: []
    func_position:
      end: 805
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 805
    functionName: Botan::PCurve::GenericField::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - GenericPrimeOrderCurve*::_params
    - Botan::PCurve::GenericField::redc
    linkageType: ''
    returnType: StorageUnit
    signature: StorageUnit to_rep(const GenericPrimeOrderCurve* curve, StorageUnit
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - GenericField
    - GenericField
    constantsTouched: []
    func_position:
      end: 818
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 818
    functionName: Botan::PCurve::GenericAffinePoint::GenericAffinePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericAffinePoint(const GenericField& x, const GenericField&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:821,1
    - Dst: Botan::PCurve::GenericField::zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - curve
    argTypes:
    - GenericPrimeOrderCurve*
    constantsTouched: []
    func_position:
      end: 821
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 821
    functionName: Botan::PCurve::GenericAffinePoint::GenericAffinePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::zero
    linkageType: ''
    returnType: void
    signature: void GenericAffinePoint(const GenericPrimeOrderCurve* curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericAffinePoint::GenericAffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:824,1
    - Dst: Botan::PCurve::GenericField::zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:824,1
    - Dst: Botan::PCurve::GenericField::zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curve
    argTypes:
    - GenericPrimeOrderCurve*
    constantsTouched: []
    func_position:
      end: 825
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 825
    functionName: Botan::PCurve::GenericAffinePoint::identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::zero
    - Botan::PCurve::GenericAffinePoint::GenericAffinePoint
    linkageType: ''
    returnType: GenericAffinePoint
    signature: GenericAffinePoint identity(const GenericPrimeOrderCurve* curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericAffinePoint::identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:827,1
    - Dst: Botan::PCurve::GenericAffinePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 827
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 827
    functionName: Botan::PCurve::GenericAffinePoint::identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::GenericAffinePoint::curve
    - Botan::PCurve::GenericAffinePoint::identity
    linkageType: ''
    returnType: GenericAffinePoint
    signature: GenericAffinePoint identity(const GenericAffinePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:829,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 829
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 829
    functionName: Botan::PCurve::GenericAffinePoint::is_identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - x
    - y
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericAffinePoint::GenericAffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:831,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:831,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 831
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 831
    functionName: Botan::PCurve::GenericAffinePoint::negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericAffinePoint::GenericAffinePoint
    - y
    - x
    linkageType: ''
    returnType: GenericAffinePoint
    signature: GenericAffinePoint negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:838,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:838,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:839,1
    - Dst: Botan::PCurve::GenericAffinePoint::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:839,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:841,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:842,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:842,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:843,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:843,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:844,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 845
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 845
    functionName: Botan::PCurve::GenericAffinePoint::serialize_to
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::append
    - BOTAN_DEBUG_ASSERT
    - Botan::PCurve::GenericAffinePoint::is_identity
    - BOTAN_STATE_CHECK
    - std::span<uint8_t>::size
    - y
    - x
    - BOTAN_ARG_CHECK
    - BufferStuffer::full
    - BufferStuffer::next
    linkageType: ''
    returnType: void
    signature: void serialize_to(std::span<uint8_t> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:853,1
    - Dst: std::span<const GenericAffinePoint>::empty
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:853,1
    - Dst: Botan::PCurve::GenericAffinePoint::identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:854,1
    - Dst: Botan::PCurve::GenericAffinePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:854,1
    - Dst: std::span<const GenericAffinePoint>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:858,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:859,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pts
    - idx
    argTypes:
    - std::span<const GenericAffinePoint>
    - size_t
    constantsTouched: []
    func_position:
      end: 864
      start: 852
    functionDepth: 2
    functionLinenumber: 852
    functionLinenumberEnd: 864
    functionName: Botan::PCurve::GenericAffinePoint::ct_select
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - Botan::BigInt::is_equal
    - std::span<const GenericAffinePoint>::size
    - Botan::PCurve::GenericAffinePoint::identity
    - auto::conditional_assign
    - Botan::PCurve::GenericAffinePoint::curve
    - std::span<const GenericAffinePoint>::empty
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: auto
    signature: auto ct_select(std::span<const GenericAffinePoint> pts, size_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:870,1
    - Dst: Botan::PCurve::GenericField::curve_a
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:870,1
    - Dst: Botan::PCurve::GenericAffinePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:870,1
    - Dst: Botan::PCurve::GenericField::curve_b
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:870,1
    - Dst: Botan::PCurve::GenericAffinePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - GenericField
    constantsTouched: []
    func_position:
      end: 871
      start: 869
    functionDepth: 2
    functionLinenumber: 869
    functionLinenumberEnd: 871
    functionName: Botan::PCurve::GenericAffinePoint::x3_ax_b
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericAffinePoint::curve
    - Botan::PCurve::GenericField::curve_a
    - square
    - Botan::PCurve::GenericField::curve_b
    linkageType: ''
    returnType: GenericField
    signature: GenericField x3_ax_b(const GenericField& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:882,1
    - Dst: Botan::PCurve::GenericField::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:883,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:883,1
    - Dst: Botan::PCurve::GenericField::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:884,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:884,1
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:887,1
    - Dst: Botan::PCurve::GenericAffinePoint::x3_ax_b
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:888,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:889,1
    - Dst: Botan::PCurve::GenericAffinePoint::GenericAffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:890,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:893,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:894,1
    - Dst: Botan::PCurve::GenericField::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:896,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:896,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:899,1
    - Dst: auto::is_even
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:900,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:901,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:901,1
    - Dst: Botan::PCurve::GenericAffinePoint::GenericAffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:902,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:905,1
    - Dst: Botan::PCurve::GenericAffinePoint::identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:907,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - curve
    - bytes
    argTypes:
    - GenericPrimeOrderCurve*
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 911
      start: 878
    functionDepth: 3
    functionLinenumber: 878
    functionLinenumberEnd: 911
    functionName: Botan::PCurve::GenericAffinePoint::deserialize
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericAffinePoint::x3_ax_b
    - as_bool
    - auto::negate
    - Botan::PCurve::GenericAffinePoint::GenericAffinePoint
    - std::span<const uint8_t>::subspan
    - Botan::BigInt::is_equal
    - auto::is_even
    - std::span<const uint8_t>::size
    - auto::conditional_assign
    - Botan::PCurve::GenericAffinePoint::identity
    - Botan::PCurve::GenericField::deserialize
    - square
    linkageType: ''
    returnType: std::optional<GenericAffinePoint>
    signature: "std::optional<GenericAffinePoint> deserialize(const GenericPrimeOrderCurve*
      curve,\n                                                           std::span<const
      uint8_t> bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 916
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 916
    functionName: '& x() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericField
    signature: GenericField & x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 921
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 921
    functionName: '& y() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericField
    signature: GenericField & y() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:927,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:927,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - ' pt'
    argTypes:
    - CT::Choice
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 928
      start: 926
    functionDepth: 2
    functionLinenumber: 926
    functionLinenumberEnd: 928
    functionName: Botan::PCurve::GenericAffinePoint::conditional_assign
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - x
    - y
    - Botan::PCurve::GenericField::conditional_assign
    linkageType: ''
    returnType: void
    signature: void conditional_assign(CT::Choice cond, const GenericAffinePoint&
      pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericAffinePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 930
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 930
    functionName: Botan::PCurve::GenericAffinePoint::curve
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 4
    functionsReached:
    - Botan::PCurve::GenericAffinePoint::curve
    linkageType: ''
    returnType: GenericPrimeOrderCurve
    signature: GenericPrimeOrderCurve * curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 932
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 932
    functionName: Botan::PCurve::GenericAffinePoint::_const_time_poison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 934
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 934
    functionName: Botan::PCurve::GenericAffinePoint::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericProjectivePoint::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:951,1
    - Dst: Fuzzer_TLS_Client_Creds::psk_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:952,1
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:952,1
    - Dst: Botan::PCurve::GenericProjectivePoint::GenericProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:954,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:954,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 956
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 956
    functionName: Botan::PCurve::GenericProjectivePoint::from_affine
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 6
    functionsReached:
    - Botan::PCurve::GenericProjectivePoint::curve
    - Fuzzer_TLS_Client_Creds::psk_identity
    - y
    - Botan::PCurve::GenericProjectivePoint::is_identity
    - Botan::PCurve::GenericProjectivePoint::GenericProjectivePoint
    - x
    linkageType: ''
    returnType: Self
    signature: Self from_affine(const GenericAffinePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:962,1
    - Dst: Botan::PCurve::GenericField::zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:962,1
    - Dst: Botan::PCurve::GenericField::one
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:962,1
    - Dst: Botan::PCurve::GenericField::zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curve
    argTypes:
    - GenericPrimeOrderCurve*
    constantsTouched: []
    func_position:
      end: 963
      start: 961
    functionDepth: 2
    functionLinenumber: 961
    functionLinenumberEnd: 963
    functionName: Botan::PCurve::GenericProjectivePoint::identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::zero
    - Self
    - Botan::PCurve::GenericField::one
    linkageType: ''
    returnType: Self
    signature: Self identity(const GenericPrimeOrderCurve* curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:969,1
    - Dst: Botan::PCurve::GenericField::one
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:969,1
    - Dst: Botan::PCurve::GenericField::zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - curve
    argTypes:
    - GenericPrimeOrderCurve*
    constantsTouched: []
    func_position:
      end: 969
      start: 968
    functionDepth: 2
    functionLinenumber: 968
    functionLinenumberEnd: 969
    functionName: Botan::PCurve::GenericProjectivePoint::GenericProjectivePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::GenericField::zero
    - Botan::PCurve::GenericField::one
    linkageType: ''
    returnType: void
    signature: void GenericProjectivePoint(const GenericPrimeOrderCurve* curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::one
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:975,1
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - GenericField
    - GenericField
    constantsTouched: []
    func_position:
      end: 975
      start: 974
    functionDepth: 2
    functionLinenumber: 974
    functionLinenumberEnd: 975
    functionName: Botan::PCurve::GenericProjectivePoint::GenericProjectivePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::GenericProjectivePoint::curve
    - Botan::PCurve::GenericField::one
    linkageType: ''
    returnType: void
    signature: void GenericProjectivePoint(const GenericField& x, const GenericField&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' z'
    argTypes:
    - GenericField
    - GenericField
    - GenericField
    constantsTouched: []
    func_position:
      end: 981
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 981
    functionName: Botan::PCurve::GenericProjectivePoint::GenericProjectivePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericProjectivePoint(const GenericField& x, const GenericField&
      y, const GenericField& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 983
      start: 983
    functionDepth: 2
    functionLinenumber: 983
    functionLinenumberEnd: 983
    functionName: operator+(const Self& a, const Self& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: Self
    signature: Self operator+(const Self& a, const Self& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::point_add_mixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 985
      start: 985
    functionDepth: 2
    functionLinenumber: 985
    functionLinenumberEnd: 985
    functionName: operator+(const Self& a, const GenericAffinePoint& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::point_add_mixed
    linkageType: ''
    returnType: Self
    signature: Self operator+(const Self& a, const GenericAffinePoint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::point_add_mixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - GenericAffinePoint
    - Self
    constantsTouched: []
    func_position:
      end: 987
      start: 987
    functionDepth: 2
    functionLinenumber: 987
    functionLinenumberEnd: 987
    functionName: operator+(const GenericAffinePoint& a, const Self& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::point_add_mixed
    linkageType: ''
    returnType: Self
    signature: Self operator+(const GenericAffinePoint& a, const Self& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 992
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 992
    functionName: '& operator+=(const Self& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: Self & operator+=(const Self& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 997
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 997
    functionName: '& operator+=(const GenericAffinePoint& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: Self & operator+=(const GenericAffinePoint& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 999
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 999
    functionName: Botan::PCurve::GenericProjectivePoint::is_identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - z
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_add_mixed<Self, GenericAffinePoint, GenericField>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1005,1
    - Dst: Botan::PCurve::GenericField::one
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1005,1
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 1006
      start: 1004
    functionDepth: 2
    functionLinenumber: 1004
    functionLinenumberEnd: 1006
    functionName: Botan::PCurve::GenericProjectivePoint::add_mixed
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericProjectivePoint::curve
    - point_add_mixed<Self, GenericAffinePoint, GenericField>
    - Botan::PCurve::GenericField::one
    linkageType: ''
    returnType: Self
    signature: Self add_mixed(const Self& a, const GenericAffinePoint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_add<Self, GenericField>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 1011
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1011
    functionName: Botan::PCurve::GenericProjectivePoint::add
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - point_add<Self, GenericField>
    linkageType: ''
    returnType: Self
    signature: Self add(const Self& a, const Self& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1017,1
    - Dst: dbl_n_a_minus_3
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1018,1
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1019,1
    - Dst: dbl_n_a_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1020,1
    - Dst: Botan::PCurve::GenericField::curve_a
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1022,1
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1022,1
    - Dst: dbl_n_generic
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1023,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1025
      start: 1016
    functionDepth: 2
    functionLinenumber: 1016
    functionLinenumberEnd: 1025
    functionName: Botan::PCurve::GenericProjectivePoint::dbl_n
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericProjectivePoint::curve
    - dbl_n_a_minus_3
    - dbl_n_a_zero
    - Botan::PCurve::GenericField::curve_a
    - dbl_n_generic
    linkageType: ''
    returnType: Self
    signature: Self dbl_n(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1031,1
    - Dst: dbl_a_minus_3
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1032,1
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1033,1
    - Dst: dbl_a_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1034,1
    - Dst: Botan::PCurve::GenericField::curve_a
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1036,1
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1036,1
    - Dst: dbl_generic
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1037,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1030
    functionDepth: 2
    functionLinenumber: 1030
    functionLinenumberEnd: 1039
    functionName: Botan::PCurve::GenericProjectivePoint::dbl
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericProjectivePoint::curve
    - dbl_a_minus_3
    - Botan::PCurve::GenericField::curve_a
    - dbl_generic
    - dbl_a_zero
    linkageType: ''
    returnType: Self
    signature: Self dbl() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1044,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1044,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1044,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1044
    functionName: Botan::PCurve::GenericProjectivePoint::negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - x
    - Self
    - z
    - y
    linkageType: ''
    returnType: Self
    signature: Self negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_seeded
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1056,1
    - Dst: Botan::PCurve::GenericField::random
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1057,1
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1057,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1066
      start: 1052
    functionDepth: 3
    functionLinenumber: 1052
    functionLinenumberEnd: 1066
    functionName: Botan::PCurve::GenericProjectivePoint::randomize_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericProjectivePoint::curve
    - is_seeded
    - auto::square
    - Botan::PCurve::GenericField::random
    linkageType: ''
    returnType: void
    signature: void randomize_rep(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1071
    functionName: '& x() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericField
    signature: GenericField & x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1076
    functionName: '& y() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericField
    signature: GenericField & y() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1081
    functionName: '& z() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericField
    signature: GenericField & z() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericProjectivePoint::curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1083
    functionName: Botan::PCurve::GenericProjectivePoint::curve
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 7
    functionsReached:
    - Botan::PCurve::GenericProjectivePoint::curve
    linkageType: ''
    returnType: GenericPrimeOrderCurve
    signature: GenericPrimeOrderCurve * curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1085
    functionName: Botan::PCurve::GenericProjectivePoint::_const_time_poison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1087
    functionName: Botan::PCurve::GenericProjectivePoint::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1110,1
    - Dst: curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1112,1
    - Dst: is_seeded
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1123,1
    - Dst: randomize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1124,1
    - Dst: serialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1126,1
    - Dst: auto::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1127,1
    - Dst: load_le
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1133,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1133,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1133,1
    - Dst: to_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1139,1
    - Dst: mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1142,1
    - Dst: order
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1142,1
    - Dst: bigint_add2_nc
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1143,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1143,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1143,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1145,1
    - Dst: std::array::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1145,1
    - Dst: std::array::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1145,1
    - Dst: store_be<std::vector<uint8_t>>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - ' scalar'
    - ' rng'
    - wb
    argTypes:
    - GenericScalar
    - RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 1150
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1150
    functionName: Botan::PCurve::GenericBlindedScalarBits::GenericBlindedScalarBits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - is_seeded
    - secure_vector::data
    - BOTAN_ASSERT_NOMSG
    - std::array::data
    - store_be<std::vector<uint8_t>>
    - std::array::end
    - std::array::begin
    - to_words
    - bigint_add2_nc
    - std::reverse
    - auto::data
    - serialize
    - randomize
    - curve
    - auto::size
    - load_le
    - order
    - mul
    linkageType: ''
    returnType: void
    signature: void GenericBlindedScalarBits(const GenericScalar& scalar, RandomNumberGenerator&
      rng, size_t wb)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1152
    functionName: Botan::PCurve::GenericBlindedScalarBits::windows
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t windows() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1154
    functionName: Botan::PCurve::GenericBlindedScalarBits::bits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_window_bits<3>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1158,1
    - Dst: read_window_bits<4>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1160,1
    - Dst: read_window_bits<5>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1162,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1166
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1166
    functionName: Botan::PCurve::GenericBlindedScalarBits::get_window
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - read_window_bits<4>
    - read_window_bits<5>
    - BOTAN_ASSERT_UNREACHABLE
    - read_window_bits<3>
    linkageType: ''
    returnType: size_t
    signature: size_t get_window(size_t offset) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericBlindedScalarBits::blinding_bits
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - order_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1175
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1175
    functionName: Botan::PCurve::GenericBlindedScalarBits::blinding_bits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::GenericBlindedScalarBits::blinding_bits
    linkageType: ''
    returnType: size_t
    signature: size_t blinding_bits(size_t order_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: varpoint_setup<GenericCurve, TableSize>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 1189
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1189
    functionName: Botan::PCurve::GenericWindowedMul::GenericWindowedMul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - varpoint_setup<GenericCurve, TableSize>
    linkageType: ''
    returnType: void
    signature: void GenericWindowedMul(const GenericAffinePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: varpoint_exec<GenericCurve, WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' rng'
    argTypes:
    - GenericScalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1195
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1195
    functionName: Botan::PCurve::GenericWindowedMul::mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - varpoint_exec<GenericCurve, WindowBits>
    linkageType: ''
    returnType: GenericProjectivePoint
    signature: GenericProjectivePoint mul(const GenericScalar& s, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basemul_setup<GenericCurve, WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1208,1
    - Dst: Botan::PCurve::GenericBaseMulTable::blinded_scalar_bits
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1208,1
    - Dst: curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 1208
      start: 1207
    functionDepth: 1
    functionLinenumber: 1207
    functionLinenumberEnd: 1208
    functionName: Botan::PCurve::GenericBaseMulTable::GenericBaseMulTable
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericBaseMulTable::blinded_scalar_bits
    - basemul_setup<GenericCurve, WindowBits>
    - curve
    linkageType: ''
    returnType: void
    signature: void GenericBaseMulTable(const GenericAffinePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basemul_exec<GenericCurve, WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' rng'
    argTypes:
    - GenericScalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1213
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1213
    functionName: Botan::PCurve::GenericBaseMulTable::mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - basemul_exec<GenericCurve, WindowBits>
    linkageType: ''
    returnType: GenericProjectivePoint
    signature: GenericProjectivePoint mul(const GenericScalar& s, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericBlindedScalarBits::blinding_bits
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' curve'
    argTypes:
    - GenericPrimeOrderCurve
    constantsTouched: []
    func_position:
      end: 1219
      start: 1216
    functionDepth: 2
    functionLinenumber: 1216
    functionLinenumberEnd: 1219
    functionName: Botan::PCurve::GenericBaseMulTable::blinded_scalar_bits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::GenericBlindedScalarBits::blinding_bits
    linkageType: ''
    returnType: size_t
    signature: size_t blinded_scalar_bits(const GenericPrimeOrderCurve& curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericWindowedMul2
    constantsTouched: []
    func_position:
      end: 1228
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1228
    functionName: Botan::PCurve::GenericWindowedMul2::GenericWindowedMul2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericWindowedMul2(const GenericWindowedMul2& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericWindowedMul2
    constantsTouched: []
    func_position:
      end: 1229
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1229
    functionName: Botan::PCurve::GenericWindowedMul2::GenericWindowedMul2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericWindowedMul2(GenericWindowedMul2&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericWindowedMul2
    constantsTouched: []
    func_position:
      end: 1230
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1230
    functionName: '& operator=(const GenericWindowedMul2& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericWindowedMul2
    signature: GenericWindowedMul2 & operator=(const GenericWindowedMul2& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericWindowedMul2
    constantsTouched: []
    func_position:
      end: 1231
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1231
    functionName: '& operator=(GenericWindowedMul2&& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericWindowedMul2
    signature: GenericWindowedMul2 & operator=(GenericWindowedMul2&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1233
    functionName: ~GenericWindowedMul2()
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GenericWindowedMul2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul2_setup<GenericCurve, WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p'
    - ' q'
    argTypes:
    - GenericAffinePoint
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 1236
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1236
    functionName: Botan::PCurve::GenericWindowedMul2::GenericWindowedMul2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - mul2_setup<GenericCurve, WindowBits>
    linkageType: ''
    returnType: void
    signature: void GenericWindowedMul2(const GenericAffinePoint& p, const GenericAffinePoint&
      q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul2_exec<GenericCurve, WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' rng'
    argTypes:
    - GenericScalar
    - GenericScalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1242
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1242
    functionName: Botan::PCurve::GenericWindowedMul2::mul2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - mul2_exec<GenericCurve, WindowBits>
    linkageType: ''
    returnType: GenericProjectivePoint
    signature: GenericProjectivePoint mul2(const GenericScalar& x, const GenericScalar&
      y, RandomNumberGenerator& rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericVartimeWindowedMul2
    constantsTouched: []
    func_position:
      end: 1252
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1252
    functionName: Botan::PCurve::GenericVartimeWindowedMul2::GenericVartimeWindowedMul2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericVartimeWindowedMul2(const GenericVartimeWindowedMul2& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericVartimeWindowedMul2
    constantsTouched: []
    func_position:
      end: 1253
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1253
    functionName: Botan::PCurve::GenericVartimeWindowedMul2::GenericVartimeWindowedMul2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericVartimeWindowedMul2(GenericVartimeWindowedMul2&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericVartimeWindowedMul2
    constantsTouched: []
    func_position:
      end: 1254
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1254
    functionName: '& operator=(const GenericVartimeWindowedMul2& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericVartimeWindowedMul2
    signature: GenericVartimeWindowedMul2 & operator=(const GenericVartimeWindowedMul2&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericVartimeWindowedMul2
    constantsTouched: []
    func_position:
      end: 1255
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1255
    functionName: '& operator=(GenericVartimeWindowedMul2&& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericVartimeWindowedMul2
    signature: GenericVartimeWindowedMul2 & operator=(GenericVartimeWindowedMul2&&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1257
    functionName: ~GenericVartimeWindowedMul2() override
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GenericVartimeWindowedMul2() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_affine_batch<GenericCurve>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1260,1
    - Dst: mul2_setup<GenericCurve, WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p'
    - ' q'
    argTypes:
    - GenericAffinePoint
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 1260
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1260
    functionName: Botan::PCurve::GenericVartimeWindowedMul2::GenericVartimeWindowedMul2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - mul2_setup<GenericCurve, WindowBits>
    - to_affine_batch<GenericCurve>
    linkageType: ''
    returnType: void
    signature: void GenericVartimeWindowedMul2(const GenericAffinePoint& p, const
      GenericAffinePoint& q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1263,1
    - Dst: serialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1264,1
    - Dst: curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1266,1
    - Dst: GenericProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1267,1
    - Dst: read_window_bits<WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1274,1
    - Dst: read_window_bits<WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1275,1
    - Dst: auto::dbl_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - GenericScalar
    - GenericScalar
    constantsTouched: []
    func_position:
      end: 1289
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1289
    functionName: Botan::PCurve::GenericVartimeWindowedMul2::mul2_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - GenericProjectivePoint
    - serialize
    - curve
    - read_window_bits<WindowBits>
    - auto::dbl_n
    linkageType: ''
    returnType: GenericProjectivePoint
    signature: GenericProjectivePoint mul2_vartime(const GenericScalar& x, const GenericScalar&
      y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<GenericCurveParams>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - ' p'
    - ' a'
    - ' b'
    - ' base_x'
    - ' base_y'
    - ' order'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 1297
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1297
    functionName: Botan::PCurve::GenericPrimeOrderCurve::GenericPrimeOrderCurve
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<GenericCurveParams>
    linkageType: ''
    returnType: void
    signature: "void GenericPrimeOrderCurve::GenericPrimeOrderCurve(\n   const BigInt&
      p, const BigInt& a, const BigInt& b, const BigInt& base_x, const BigInt& base_y,
      const BigInt& order)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1300,1
    - Dst: std::make_unique<GenericBaseMulTable>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1301,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1301,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::generator
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1299
    functionDepth: 1
    functionLinenumber: 1299
    functionLinenumberEnd: 1302
    functionName: Botan::PCurve::GenericPrimeOrderCurve::_precompute_base_mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::generator
    - BOTAN_STATE_CHECK
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - std::make_unique<GenericBaseMulTable>
    linkageType: ''
    returnType: void
    signature: void GenericPrimeOrderCurve::_precompute_base_mul()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1306
    functionName: Botan::PCurve::GenericPrimeOrderCurve::order_bits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - _params
    linkageType: ''
    returnType: size_t
    signature: size_t GenericPrimeOrderCurve::order_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1310
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_bytes
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - _params
    linkageType: ''
    returnType: size_t
    signature: size_t GenericPrimeOrderCurve::scalar_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1314
    functionName: Botan::PCurve::GenericPrimeOrderCurve::field_element_bytes
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - _params
    linkageType: ''
    returnType: size_t
    signature: size_t GenericPrimeOrderCurve::field_element_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1318,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1319,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1319,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1320
      start: 1316
    functionDepth: 1
    functionLinenumber: 1316
    functionLinenumberEnd: 1320
    functionName: Botan::PCurve::GenericPrimeOrderCurve::mul_by_g
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    - Botan::PCurve::GenericPrimeOrderCurve::mul
    linkageType: ''
    returnType: PrimeOrderCurve::ProjectivePoint
    signature: "PrimeOrderCurve::ProjectivePoint GenericPrimeOrderCurve::mul_by_g(const
      Scalar& scalar,\n                                                                  RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1324,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1325,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1325,1
    - Dst: to_affine_x<GenericCurve>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1326,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1327,1
    - Dst: Botan::PCurve::GenericScalar::from_wide_bytes
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1328
      start: 1322
    functionDepth: 2
    functionLinenumber: 1322
    functionLinenumberEnd: 1328
    functionName: Botan::PCurve::GenericPrimeOrderCurve::base_point_mul_x_mod_order
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::mul
    - BOTAN_STATE_CHECK
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    - Botan::PCurve::GenericScalar::from_wide_bytes
    - to_affine_x<GenericCurve>
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: "PrimeOrderCurve::Scalar GenericPrimeOrderCurve::base_point_mul_x_mod_order(const
      Scalar& scalar,\n                                                                           RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1334,1
    - Dst: GenericWindowedMul::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1334,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt'
    - ' scalar'
    - ' rng'
    argTypes:
    - AffinePoint
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1335
      start: 1330
    functionDepth: 1
    functionLinenumber: 1330
    functionLinenumberEnd: 1335
    functionName: Botan::PCurve::GenericPrimeOrderCurve::mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 2
    functionsReached:
    - GenericWindowedMul::mul
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::ProjectivePoint
    signature: "PrimeOrderCurve::ProjectivePoint GenericPrimeOrderCurve::mul(const
      AffinePoint& pt,\n                                                             const
      Scalar& scalar,\n                                                             RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GenericWindowedMul::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1341,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1341,1
    - Dst: to_affine_x<GenericCurve>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt'
    - ' scalar'
    - ' rng'
    argTypes:
    - AffinePoint
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1343
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1343
    functionName: Botan::PCurve::GenericPrimeOrderCurve::mul_x_only
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - GenericWindowedMul::mul
    - to_affine_x<GenericCurve>
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> GenericPrimeOrderCurve::mul_x_only(const AffinePoint&
      pt,\n                                                          const Scalar&
      scalar,\n                                                          RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<GenericVartimeWindowedMul2>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1347,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1347,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::generator
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1347,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' q'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1348
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1348
    functionName: Botan::PCurve::GenericPrimeOrderCurve::mul2_setup_g
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::generator
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - std::make_unique<GenericVartimeWindowedMul2>
    linkageType: ''
    returnType: std::unique_ptr<const PrimeOrderCurve::PrecomputedMul2Table>
    signature: "std::unique_ptr<const PrimeOrderCurve::PrecomputedMul2Table> GenericPrimeOrderCurve::mul2_setup_g(\n
      \  const AffinePoint& q) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const GenericVartimeWindowedMul2&>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1353,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::mul2_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1354,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1354,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1354,1
    - Dst: auto::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1355,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' tableb'
    - ' s1'
    - ' s2'
    argTypes:
    - PrecomputedMul2Table
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 1360
      start: 1350
    functionDepth: 1
    functionLinenumber: 1350
    functionLinenumberEnd: 1360
    functionName: Botan::PCurve::GenericPrimeOrderCurve::mul2_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::mul2_vartime
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    - dynamic_cast<const GenericVartimeWindowedMul2&>
    - auto::is_identity
    linkageType: ''
    returnType: std::optional<PrimeOrderCurve::ProjectivePoint>
    signature: "std::optional<PrimeOrderCurve::ProjectivePoint> GenericPrimeOrderCurve::mul2_vartime(const
      PrecomputedMul2Table& tableb,\n                                                                                     const
      Scalar& s1,\n                                                                                     const
      Scalar& s2) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GenericWindowedMul2::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1365,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1365,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1365,1
    - Dst: auto::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1366,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ' p'
    - ' x'
    - ' q'
    - ' y'
    - ' rng'
    argTypes:
    - AffinePoint
    - Scalar
    - AffinePoint
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1371
      start: 1362
    functionDepth: 1
    functionLinenumber: 1362
    functionLinenumberEnd: 1371
    functionName: Botan::PCurve::GenericPrimeOrderCurve::mul_px_qy
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - auto::is_identity
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    - GenericWindowedMul2::mul2
    linkageType: ''
    returnType: std::optional<PrimeOrderCurve::ProjectivePoint>
    signature: "std::optional<PrimeOrderCurve::ProjectivePoint> GenericPrimeOrderCurve::mul_px_qy(\n
      \  const AffinePoint& p, const Scalar& x, const AffinePoint& q, const Scalar&
      y, RandomNumberGenerator& rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const GenericVartimeWindowedMul2&>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1377,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::mul2_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1378,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1378,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1378,1
    - Dst: auto::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1380,1
    - Dst: auto::z
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1381,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1383,1
    - Dst: Botan::PCurve::GenericField::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1385,1
    - Dst: auto::x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1386,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1386,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1390,1
    - Dst: Botan::PCurve::GenericField::from_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1391,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1391,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1392,1
    - Dst: auto::to_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1394,1
    - Dst: bigint_ct_is_lt
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1395,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1395,1
    - Dst: auto::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1395,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1395,1
    - Dst: auto::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1395,1
    - Dst: auto::x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1396,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1396,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - ' tableb'
    - ' v'
    - ' s1'
    - ' s2'
    argTypes:
    - PrecomputedMul2Table
    - Scalar
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 1403
      start: 1373
    functionDepth: 2
    functionLinenumber: 1373
    functionLinenumberEnd: 1403
    functionName: Botan::PCurve::GenericPrimeOrderCurve::mul2_vartime_x_mod_order_eq
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - auto::to_words
    - as_bool
    - auto::negate
    - Botan::PCurve::GenericPrimeOrderCurve::mul2_vartime
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - _params
    - bigint_ct_is_lt
    - dynamic_cast<const GenericVartimeWindowedMul2&>
    - auto::data
    - auto::is_identity
    - auto::z
    - auto::x
    - auto::size
    - Botan::PCurve::GenericField::deserialize
    - Botan::PCurve::GenericField::from_words
    linkageType: ''
    returnType: bool
    signature: "bool GenericPrimeOrderCurve::mul2_vartime_x_mod_order_eq(const PrecomputedMul2Table&
      tableb,\n                                                         const Scalar&
      v,\n                                                         const Scalar& s1,\n
      \                                                        const Scalar& s2) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurve::AffinePoint::_create
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1406,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1406,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1406,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1405
    functionDepth: 2
    functionLinenumber: 1405
    functionLinenumberEnd: 1407
    functionName: Botan::PCurve::GenericPrimeOrderCurve::generator
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 2
    functionsReached:
    - Botan::PCurve::PrimeOrderCurve::AffinePoint::_create
    - shared_from_this
    - _params
    linkageType: ''
    returnType: PrimeOrderCurve::AffinePoint
    signature: PrimeOrderCurve::AffinePoint GenericPrimeOrderCurve::generator() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_affine<GenericCurve>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1410,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1410,1
    - Dst: auto::y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1412,1
    - Dst: Botan::PCurve::GenericAffinePoint::x3_ax_b
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1413,1
    - Dst: auto::x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1413,1
    - Dst: auto::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1414,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1416,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1416,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - ProjectivePoint
    constantsTouched: []
    func_position:
      end: 1419
      start: 1409
    functionDepth: 3
    functionLinenumber: 1409
    functionLinenumberEnd: 1419
    functionName: Botan::PCurve::GenericPrimeOrderCurve::point_to_affine
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericAffinePoint::x3_ax_b
    - auto::as_bool
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    - auto::x
    - auto::is_identity
    - BOTAN_ASSERT
    - auto::y
    - to_affine<GenericCurve>
    linkageType: ''
    returnType: PrimeOrderCurve::AffinePoint
    signature: PrimeOrderCurve::AffinePoint GenericPrimeOrderCurve::point_to_affine(const
      ProjectivePoint& pt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1422,1
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1422,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1422,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - AffinePoint
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1423
      start: 1421
    functionDepth: 2
    functionLinenumber: 1421
    functionLinenumberEnd: 1423
    functionName: Botan::PCurve::GenericPrimeOrderCurve::point_add
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericProjectivePoint::from_affine
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::ProjectivePoint
    signature: PrimeOrderCurve::ProjectivePoint GenericPrimeOrderCurve::point_add(const
      AffinePoint& a, const AffinePoint& b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1426,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1427
      start: 1425
    functionDepth: 1
    functionLinenumber: 1425
    functionLinenumberEnd: 1427
    functionName: Botan::PCurve::GenericPrimeOrderCurve::point_negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::AffinePoint
    signature: PrimeOrderCurve::AffinePoint GenericPrimeOrderCurve::point_negate(const
      AffinePoint& pt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1431
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1431
    functionName: Botan::PCurve::GenericPrimeOrderCurve::affine_point_is_identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    linkageType: ''
    returnType: bool
    signature: bool GenericPrimeOrderCurve::affine_point_is_identity(const AffinePoint&
      pt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - ' pt'
    argTypes:
    - std::span<uint8_t>
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1435
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1435
    functionName: Botan::PCurve::GenericPrimeOrderCurve::serialize_point
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    linkageType: ''
    returnType: void
    signature: void GenericPrimeOrderCurve::serialize_point(std::span<uint8_t> bytes,
      const AffinePoint& pt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1438,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1438,1
    - Dst: _params
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1438,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - ' scalar'
    argTypes:
    - std::span<uint8_t>
    - Scalar
    constantsTouched: []
    func_position:
      end: 1440
      start: 1437
    functionDepth: 1
    functionLinenumber: 1437
    functionLinenumberEnd: 1440
    functionName: Botan::PCurve::GenericPrimeOrderCurve::serialize_scalar
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - BOTAN_ARG_CHECK
    - _params
    linkageType: ''
    returnType: void
    signature: void GenericPrimeOrderCurve::serialize_scalar(std::span<uint8_t> bytes,
      const Scalar& scalar) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1444,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1445,1
    - Dst: auto::value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 1449
      start: 1442
    functionDepth: 2
    functionLinenumber: 1442
    functionLinenumberEnd: 1449
    functionName: Botan::PCurve::GenericPrimeOrderCurve::deserialize_scalar
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericScalar::deserialize
    - auto::value
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: std::optional<PrimeOrderCurve::Scalar>
    signature: "std::optional<PrimeOrderCurve::Scalar> GenericPrimeOrderCurve::deserialize_scalar(\n
      \  std::span<const uint8_t> bytes) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericScalar::from_wide_bytes
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1453,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1454,1
    - Dst: auto::value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 1458
      start: 1451
    functionDepth: 2
    functionLinenumber: 1451
    functionLinenumberEnd: 1458
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_from_wide_bytes
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - Botan::PCurve::GenericScalar::from_wide_bytes
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: std::optional<PrimeOrderCurve::Scalar>
    signature: "std::optional<PrimeOrderCurve::Scalar> GenericPrimeOrderCurve::scalar_from_wide_bytes(\n
      \  std::span<const uint8_t> bytes) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericAffinePoint::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1462,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1463,1
    - Dst: auto::value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 1467
      start: 1460
    functionDepth: 4
    functionLinenumber: 1460
    functionLinenumberEnd: 1467
    functionName: Botan::PCurve::GenericPrimeOrderCurve::deserialize_point
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - Botan::PCurve::GenericAffinePoint::deserialize
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: std::optional<PrimeOrderCurve::AffinePoint>
    signature: "std::optional<PrimeOrderCurve::AffinePoint> GenericPrimeOrderCurve::deserialize_point(\n
      \  std::span<const uint8_t> bytes) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1470,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1470,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 1471
      start: 1469
    functionDepth: 1
    functionLinenumber: 1469
    functionLinenumberEnd: 1471
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_add
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: PrimeOrderCurve::Scalar GenericPrimeOrderCurve::scalar_add(const Scalar&
      a, const Scalar& b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1474,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1474,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 1475
      start: 1473
    functionDepth: 1
    functionLinenumber: 1473
    functionLinenumberEnd: 1475
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_sub
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: PrimeOrderCurve::Scalar GenericPrimeOrderCurve::scalar_sub(const Scalar&
      a, const Scalar& b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1478,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1478,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 1479
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1479
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: PrimeOrderCurve::Scalar GenericPrimeOrderCurve::scalar_mul(const Scalar&
      a, const Scalar& b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1482,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 1483
      start: 1481
    functionDepth: 1
    functionLinenumber: 1481
    functionLinenumberEnd: 1483
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_square
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: PrimeOrderCurve::Scalar GenericPrimeOrderCurve::scalar_square(const
      Scalar& s) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1486,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 1487
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1487
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_invert
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: PrimeOrderCurve::Scalar GenericPrimeOrderCurve::scalar_invert(const
      Scalar& s) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1491,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 1492
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1492
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_invert_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: PrimeOrderCurve::Scalar GenericPrimeOrderCurve::scalar_invert_vartime(const
      Scalar& s) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1495,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 1496
      start: 1494
    functionDepth: 1
    functionLinenumber: 1494
    functionLinenumberEnd: 1496
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: PrimeOrderCurve::Scalar GenericPrimeOrderCurve::scalar_negate(const
      Scalar& s) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 1500
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1500
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_is_zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    linkageType: ''
    returnType: bool
    signature: bool GenericPrimeOrderCurve::scalar_is_zero(const Scalar& s) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1503,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1503,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 1504
      start: 1502
    functionDepth: 1
    functionLinenumber: 1502
    functionLinenumberEnd: 1504
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_equal
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - as_bool
    linkageType: ''
    returnType: bool
    signature: bool GenericPrimeOrderCurve::scalar_equal(const Scalar& a, const Scalar&
      b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1507,1
    - Dst: Botan::PCurve::GenericScalar::one
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1506
    functionDepth: 2
    functionLinenumber: 1506
    functionLinenumberEnd: 1508
    functionName: Botan::PCurve::GenericPrimeOrderCurve::scalar_one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericScalar::one
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: PrimeOrderCurve::Scalar GenericPrimeOrderCurve::scalar_one() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1511,1
    - Dst: Botan::PCurve::GenericScalar::random
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1512
      start: 1510
    functionDepth: 3
    functionLinenumber: 1510
    functionLinenumberEnd: 1512
    functionName: Botan::PCurve::GenericPrimeOrderCurve::random_scalar
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericScalar::random
    - Botan::PCurve::GenericPrimeOrderCurve::stash
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: PrimeOrderCurve::Scalar GenericPrimeOrderCurve::random_scalar(RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurve::Scalar::_create
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1515,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1515,1
    - Dst: stash_value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - GenericScalar
    constantsTouched: []
    func_position:
      end: 1516
      start: 1514
    functionDepth: 2
    functionLinenumber: 1514
    functionLinenumberEnd: 1516
    functionName: Botan::PCurve::GenericPrimeOrderCurve::stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 20
    functionsReached:
    - stash_value
    - shared_from_this
    - Botan::PCurve::PrimeOrderCurve::Scalar::_create
    linkageType: ''
    returnType: PrimeOrderCurve::Scalar
    signature: PrimeOrderCurve::Scalar GenericPrimeOrderCurve::stash(const GenericScalar&
      s) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1519,1
    - Dst: _curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1519,1
    - Dst: GenericScalar
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1520,1
    - Dst: _value
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - PrimeOrderCurve::Scalar
    constantsTouched: []
    func_position:
      end: 1521
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1521
    functionName: Botan::PCurve::GenericPrimeOrderCurve::from_stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 24
    functionsReached:
    - GenericScalar
    - BOTAN_ARG_CHECK
    - _value
    - _curve
    linkageType: ''
    returnType: GenericScalar
    signature: GenericScalar GenericPrimeOrderCurve::from_stash(const PrimeOrderCurve::Scalar&
      s) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1524,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1525,1
    - Dst: Botan::PCurve::PrimeOrderCurve::AffinePoint::_create
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1526,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - GenericAffinePoint
    constantsTouched: []
    func_position:
      end: 1527
      start: 1523
    functionDepth: 2
    functionLinenumber: 1523
    functionLinenumberEnd: 1527
    functionName: Botan::PCurve::GenericPrimeOrderCurve::stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 20
    functionsReached:
    - x
    - y
    - Botan::PCurve::PrimeOrderCurve::AffinePoint::_create
    - shared_from_this
    linkageType: ''
    returnType: PrimeOrderCurve::AffinePoint
    signature: PrimeOrderCurve::AffinePoint GenericPrimeOrderCurve::stash(const GenericAffinePoint&
      pt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1530,1
    - Dst: _curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1530,1
    - Dst: GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1531,1
    - Dst: _x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1531,1
    - Dst: GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1532,1
    - Dst: _y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1532,1
    - Dst: GenericAffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - PrimeOrderCurve::AffinePoint
    constantsTouched: []
    func_position:
      end: 1534
      start: 1529
    functionDepth: 0
    functionLinenumber: 1529
    functionLinenumberEnd: 1534
    functionName: Botan::PCurve::GenericPrimeOrderCurve::from_stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 24
    functionsReached:
    - _x
    - GenericAffinePoint
    - _y
    - _curve
    - GenericField
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: GenericAffinePoint
    signature: GenericAffinePoint GenericPrimeOrderCurve::from_stash(const PrimeOrderCurve::AffinePoint&
      pt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1537,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1538,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1539,1
    - Dst: Botan::PCurve::PrimeOrderCurve::ProjectivePoint::_create
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1540,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - GenericProjectivePoint
    constantsTouched: []
    func_position:
      end: 1541
      start: 1536
    functionDepth: 2
    functionLinenumber: 1536
    functionLinenumberEnd: 1541
    functionName: Botan::PCurve::GenericPrimeOrderCurve::stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 20
    functionsReached:
    - y
    - z
    - shared_from_this
    - Botan::PCurve::PrimeOrderCurve::ProjectivePoint::_create
    - x
    linkageType: ''
    returnType: PrimeOrderCurve::ProjectivePoint
    signature: PrimeOrderCurve::ProjectivePoint GenericPrimeOrderCurve::stash(const
      GenericProjectivePoint& pt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1544,1
    - Dst: _curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1544,1
    - Dst: GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1545,1
    - Dst: _x
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1545,1
    - Dst: GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1546,1
    - Dst: _y
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1546,1
    - Dst: GenericField
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1547,1
    - Dst: _z
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1547,1
    - Dst: GenericProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - PrimeOrderCurve::ProjectivePoint
    constantsTouched: []
    func_position:
      end: 1549
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1549
    functionName: Botan::PCurve::GenericPrimeOrderCurve::from_stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 24
    functionsReached:
    - _x
    - _z
    - GenericProjectivePoint
    - _y
    - _curve
    - GenericField
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: GenericProjectivePoint
    signature: GenericProjectivePoint GenericPrimeOrderCurve::from_stash(const PrimeOrderCurve::ProjectivePoint&
      pt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1553,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - expand_message
    argTypes:
    - std::function<void(std::span<uint8_t>)>
    constantsTouched: []
    func_position:
      end: 1555
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1555
    functionName: Botan::PCurve::GenericPrimeOrderCurve::hash_to_curve_nu
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Not_Implemented
    linkageType: ''
    returnType: PrimeOrderCurve::AffinePoint
    signature: "PrimeOrderCurve::AffinePoint GenericPrimeOrderCurve::hash_to_curve_nu(\n
      \  std::function<void(std::span<uint8_t>)> expand_message) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1559,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - expand_message
    argTypes:
    - std::function<void(std::span<uint8_t>)>
    constantsTouched: []
    func_position:
      end: 1561
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1561
    functionName: Botan::PCurve::GenericPrimeOrderCurve::hash_to_curve_ro
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Not_Implemented
    linkageType: ''
    returnType: PrimeOrderCurve::ProjectivePoint
    signature: "PrimeOrderCurve::ProjectivePoint GenericPrimeOrderCurve::hash_to_curve_ro(\n
      \  std::function<void(std::span<uint8_t>)> expand_message) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1568,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1569,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1570,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1571,1
    - Dst: bits
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1590,1
    - Dst: std::make_shared<GenericPrimeOrderCurve>
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1594,1
    - Dst: auto::_precompute_base_mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp:1604,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 6
    argNames:
    - ' p'
    - ' a'
    - ' b'
    - ' base_x'
    - ' base_y'
    - ' order'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 1606
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1606
    functionName: Botan::PCurve::PCurveInstance::from_params
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.cpp
    functionUses: 1
    functionsReached:
    - bits
    - BOTAN_ARG_CHECK
    - auto::_precompute_base_mul
    - std::make_shared<GenericPrimeOrderCurve>
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: "std::shared_ptr<const PrimeOrderCurve> PCurveInstance::from_params(\n
      \  const BigInt& p, const BigInt& a, const BigInt& b, const BigInt& base_x,
      const BigInt& base_y, const BigInt& order)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: '& _params() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_generic/pcurves_generic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericCurveParams
    signature: GenericCurveParams & _params() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_brainpool256r1/pcurves_brainpool256r1.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan::PCurve::PCurveInstance::brainpool256r1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_brainpool256r1/pcurves_brainpool256r1.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::brainpool256r1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:56,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:57,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:58,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:59,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:60,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:61,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:62,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:63,1
    - Dst: SolinasAccum::final_carry
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:64,1
    - Dst: bigint_correct_redc<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:66,1
    - Dst: Botan::PCurve::sm2p256v1::Sm2p256v1Rep::sm2_mul_mod_256
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 69
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 69
    functionName: Botan::PCurve::sm2p256v1::Sm2p256v1Rep::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::sm2p256v1::Sm2p256v1Rep::sm2_mul_mod_256
    - SolinasAccum::accum
    - bigint_correct_redc<N>
    - SolinasAccum::final_carry
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> redc(const std::array<W, 2 * N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::PCurve::sm2p256v1::Sm2p256v1Rep::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> one()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::PCurve::sm2p256v1::Sm2p256v1Rep::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> to_rep(const std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::sm2p256v1::Sm2p256v1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Botan::PCurve::sm2p256v1::Sm2p256v1Rep::wide_to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::sm2p256v1::Sm2p256v1Rep::redc
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> wide_to_rep(const std::array<W, 2 * N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::PCurve::sm2p256v1::Sm2p256v1Rep::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> from_rep(const std::array<W, N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - i
    argTypes:
    - W
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: Botan::PCurve::sm2p256v1::Sm2p256v1Rep::sm2_mul_mod_256
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> sm2_mul_mod_256(W i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:124,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:126,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:129,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:131,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:133,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:136,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:138,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:141,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:143,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:145,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:148,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:150,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:152,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FieldElement
    constantsTouched: []
    func_position:
      end: 156
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 156
    functionName: Botan::PCurve::sm2p256v1::Curve::fe_invert2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp
    functionUses: 0
    functionsReached:
    - auto::square
    - square
    - auto::square_n
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement fe_invert2(const FieldElement& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: Botan::PCurve::PCurveInstance::sm2p256v1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_sm2p256v1/pcurves_sm2p256v1.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::sm2p256v1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:50,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:51,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:52,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:53,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:54,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:55,1
    - Dst: SolinasAccum::final_carry
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:56,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:58,1
    - Dst: bigint_correct_redc<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:60,1
    - Dst: Botan::PCurve::secp192r1::Secp192r1Rep::p192_mul_mod_192
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 63
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 63
    functionName: Botan::PCurve::secp192r1::Secp192r1Rep::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::secp192r1::Secp192r1Rep::p192_mul_mod_192
    - bigint_correct_redc<N>
    - BOTAN_DEBUG_ASSERT
    - SolinasAccum::accum
    - SolinasAccum::final_carry
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> redc(const std::array<W, 2 * N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan::PCurve::secp192r1::Secp192r1Rep::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> one()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: Botan::PCurve::secp192r1::Secp192r1Rep::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> to_rep(const std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::secp192r1::Secp192r1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::PCurve::secp192r1::Secp192r1Rep::wide_to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::secp192r1::Secp192r1Rep::redc
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> wide_to_rep(const std::array<W, 2 * N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::PCurve::secp192r1::Secp192r1Rep::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> from_rep(const std::array<W, N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - i
    argTypes:
    - W
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: Botan::PCurve::secp192r1::Secp192r1Rep::p192_mul_mod_192
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> p192_mul_mod_192(W i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:113,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:115,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:117,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:118,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:120,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:123,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:125,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:128,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:131,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:135,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:137,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:140,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FieldElement
    constantsTouched: []
    func_position:
      end: 144
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 144
    functionName: Botan::PCurve::secp192r1::Curve::fe_invert2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp
    functionUses: 0
    functionsReached:
    - auto::square
    - square
    - auto::square_n
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement fe_invert2(const FieldElement& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: Botan::PCurve::PCurveInstance::secp192r1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp192r1/pcurves_secp192r1.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::secp192r1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:53,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:54,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:55,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:56,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:57,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:58,1
    - Dst: SolinasAccum::accum
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:59,1
    - Dst: SolinasAccum::final_carry
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:60,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:62,1
    - Dst: bigint_correct_redc<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:64,1
    - Dst: Botan::PCurve::secp224r1::Secp224r1Rep::p224_mul_mod_224
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 67
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 67
    functionName: Botan::PCurve::secp224r1::Secp224r1Rep::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp
    functionUses: 0
    functionsReached:
    - bigint_correct_redc<N>
    - Botan::PCurve::secp224r1::Secp224r1Rep::p224_mul_mod_224
    - BOTAN_DEBUG_ASSERT
    - SolinasAccum::accum
    - SolinasAccum::final_carry
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> redc(const std::array<W, 2 * N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::PCurve::secp224r1::Secp224r1Rep::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> one()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::PCurve::secp224r1::Secp224r1Rep::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> to_rep(const std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::secp224r1::Secp224r1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::PCurve::secp224r1::Secp224r1Rep::wide_to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::secp224r1::Secp224r1Rep::redc
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> wide_to_rep(const std::array<W, 2 * N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Botan::PCurve::secp224r1::Secp224r1Rep::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> from_rep(const std::array<W, N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - i
    argTypes:
    - W
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: Botan::PCurve::secp224r1::Secp224r1Rep::p224_mul_mod_224
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> p224_mul_mod_224(W i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:117,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:119,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:122,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:125,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:127,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:129,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:132,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:135,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:138,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:140,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:143,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:145,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FieldElement
    constantsTouched: []
    func_position:
      end: 148
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 148
    functionName: Botan::PCurve::secp224r1::Curve::fe_invert2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp
    functionUses: 0
    functionsReached:
    - auto::square
    - square
    - auto::square_n
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement fe_invert2(const FieldElement& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:152,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:153,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:164,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:166,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:168,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:171,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:174,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:176,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:178,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:180,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:182,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:184,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:186,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:188,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:190,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:192,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:194,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:196,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:198,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:200,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:202,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:204,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:206,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:208,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:210,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 215
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 215
    functionName: Botan::PCurve::secp224r1::Curve::scalar_invert
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp
    functionUses: 0
    functionsReached:
    - auto::square
    - square
    - auto::square_n
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_invert(const Scalar& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: Botan::PCurve::PCurveInstance::secp224r1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_secp224r1/pcurves_secp224r1.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> PCurveInstance::secp224r1()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::MontgomeryRep::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> one()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: monty_redc_pdash1
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:84,1
    - Dst: monty_redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: Botan::MontgomeryRep::redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - monty_redc
    - monty_redc_pdash1
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> redc(const std::array<W, 2 * N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: comba_mul<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:95,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:95,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:95,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:95,1
    - Dst: fuzz_mp_redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: Botan::MontgomeryRep::to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - data
    - comba_mul<N>
    - std::array::data
    - fuzz_mp_redc
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> to_rep(const std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_mp_redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:106,1
    - Dst: comba_mul<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:108,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:108,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:108,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:108,1
    - Dst: fuzz_mp_redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, 2 * N>
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: Botan::MontgomeryRep::wide_to_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - comba_mul<N>
    - std::array::data
    - data
    - auto::data
    - fuzz_mp_redc
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> wide_to_rep(const std::array<W, 2 * N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:117,1
    - Dst: template first<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:117,1
    - Dst: fuzz_mp_redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: Botan::MontgomeryRep::from_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - copy_mem
    - template first<N>
    - fuzz_mp_redc
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> from_rep(const std::array<W, N>& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: Botan::IntMod::IntMod
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntMod()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: Botan::IntMod::IntMod
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntMod(const Self& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: Botan::IntMod::IntMod
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntMod(Self&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: '& operator=(const Self& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IntMod
    signature: IntMod & operator=(const Self& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: '& operator=(Self&& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IntMod
    signature: IntMod & operator=(Self&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: Botan::IntMod::zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: Self zero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:177,1
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::one
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: Botan::IntMod::one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::one
    - Self
    linkageType: ''
    returnType: Self
    signature: Self one()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:190,1
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::to_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:190,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:194,1
    - Dst: template first<L>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:194,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:195,1
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::to_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - w
    argTypes:
    - std::array<W, L>
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: Botan::IntMod::from_words
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - copy_mem
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::to_rep
    - Self
    - template first<L>
    linkageType: ''
    returnType: Self
    signature: Self from_words(std::array<W, L> w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:202,1
    - Dst: Botan::IntMod::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:202,1
    - Dst: size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: Botan::IntMod::is_zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::CT::all_zeros
    - Botan::IntMod::data
    - size
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::IntMod::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: Botan::IntMod::is_nonzero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::IntMod::is_zero
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_nonzero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: Botan::IntMod::is_one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_one() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::from_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:218,1
    - Dst: Botan::CT::Choice::from_int
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: Botan::IntMod::is_even
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Choice::from_int
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::from_rep
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_even() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:230,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:234,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:234,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:234,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:234,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: operator+(const Self& a, const Self& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - std::array::data
    - data
    - Self
    - Botan::word_add
    - Botan::bigint_monty_maybe_sub
    linkageType: ''
    returnType: Self
    signature: Self operator+(const Self& a, const Self& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:245,1
    - Dst: Botan::bigint_cnd_add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:248,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:248,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:248,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: operator-(const Self& a, const Self& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - std::array::data
    - data
    - Botan::bigint_cnd_add
    - Botan::word_sub
    - Self
    linkageType: ''
    returnType: Self
    signature: Self operator-(const Self& a, const Self& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p_div_2_plus_1
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:258,1
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:262,1
    - Dst: shift_right<1>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:263,1
    - Dst: bigint_cnd_add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:266,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:266,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:266,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 269
    functionName: Botan::IntMod::div2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - bigint_cnd_add
    - std::array::data
    - p_div_2_plus_1
    - auto::data
    - shift_right<1>
    - value
    - Self
    linkageType: ''
    returnType: Self
    signature: Self div2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:273,1
    - Dst: shift_left<1>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:274,1
    - Dst: bigint_monty_maybe_sub<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:277,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:277,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:277,1
    - Dst: Botan::IntMod::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:277,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: Botan::IntMod::mul2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - shift_left<1>
    - bigint_monty_maybe_sub<N>
    - std::array::data
    - Botan::IntMod::data
    - value
    - Self
    linkageType: ''
    returnType: Self
    signature: Self mul2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::IntMod::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: Botan::IntMod::mul3
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::IntMod::mul2
    linkageType: ''
    returnType: Self
    signature: Self mul3() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::IntMod::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: Botan::IntMod::mul4
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::IntMod::mul2
    linkageType: ''
    returnType: Self
    signature: Self mul4() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::IntMod::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: Botan::IntMod::mul8
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::IntMod::mul2
    linkageType: ''
    returnType: Self
    signature: Self mul8() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::comba_mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:295,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:295,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:295,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:295,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:296,1
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: operator*(const Self& a, const Self& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - std::array::data
    - data
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
    - Self
    - Botan::comba_mul
    linkageType: ''
    returnType: Self
    signature: Self operator*(const Self& a, const Self& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::comba_mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:304,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:304,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:304,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:304,1
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: '& operator*=(const Self& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - data
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
    - Botan::comba_mul
    - std::array::data
    linkageType: ''
    returnType: Self
    signature: Self & operator*=(const Self& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:315,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cond
    - ' nx'
    argTypes:
    - CT::Choice
    - Self
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: Botan::IntMod::conditional_assign
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::from_choice
    - choose
    linkageType: ''
    returnType: void
    signature: void conditional_assign(CT::Choice cond, const Self& nx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:328,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:331,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' x'
    - ' y'
    - cond
    - ' nx'
    - ' ny'
    argTypes:
    - Self
    - Self
    - CT::Choice
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 334
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 334
    functionName: Botan::IntMod::conditional_assign
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::from_choice
    - choose
    linkageType: ''
    returnType: void
    signature: void conditional_assign(Self& x, Self& y, CT::Choice cond, const Self&
      nx, const Self& ny)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:343,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:346,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:347,1
    - Dst: choose
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - ' x'
    - ' y'
    - ' z'
    - cond
    - ' nx'
    - ' ny'
    - ' nz'
    argTypes:
    - Self
    - Self
    - Self
    - CT::Choice
    - Self
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 350
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 350
    functionName: Botan::IntMod::conditional_assign
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::from_choice
    - choose
    linkageType: ''
    returnType: void
    signature: "void conditional_assign(\n         Self& x, Self& y, Self& z, CT::Choice
      cond, const Self& nx, const Self& ny, const Self& nz)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: comba_sqr<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:359,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:359,1
    - Dst: Botan::IntMod::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:359,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:360,1
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: Botan::IntMod::square
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - std::array::data
    - comba_sqr<N>
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
    - Botan::IntMod::data
    - Self
    linkageType: ''
    returnType: Self
    signature: Self square() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: comba_sqr<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:373,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:373,1
    - Dst: Botan::IntMod::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:373,1
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: Botan::IntMod::square_n
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::redc
    - std::array::data
    - Botan::IntMod::data
    - comba_sqr<N>
    linkageType: ''
    returnType: void
    signature: void square_n(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:384,1
    - Dst: Botan::IntMod::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:384,1
    - Dst: word_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:389,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 393
    functionName: Botan::IntMod::negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - word_sub
    - Self
    - Botan::CT::all_zeros
    - Botan::IntMod::data
    linkageType: ''
    returnType: Self
    signature: Self negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::IntMod::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:426,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:432,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' exp'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 451
      start: 408
    functionDepth: 3
    functionLinenumber: 408
    functionLinenumberEnd: 451
    functionName: Botan::IntMod::pow_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - Botan::IntMod::square
    - auto::square_n
    linkageType: ''
    returnType: Self
    signature: Self pow_vartime(const std::array<W, N>& exp) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::IntMod::pow_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 466
      start: 466
    functionDepth: 4
    functionLinenumber: 466
    functionLinenumberEnd: 466
    functionName: Botan::IntMod::invert
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::IntMod::pow_vartime
    linkageType: ''
    returnType: Self
    signature: Self invert() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p_div_2_plus_1
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:476,1
    - Dst: shift_right<1>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:479,1
    - Dst: shift_right<1>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:481,1
    - Dst: bigint_add2_nc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:484,1
    - Dst: m_val::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:484,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' a'
    - ' x'
    argTypes:
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 487
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 487
    functionName: Botan::IntMod::_invert_vartime_div2_helper
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - m_val::data
    - p_div_2_plus_1
    - bigint_add2_nc
    - auto::data
    - shift_right<1>
    linkageType: ''
    returnType: void
    signature: void _invert_vartime_div2_helper(Self& a, Self& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::IntMod::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:525,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:526,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:529,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:530,1
    - Dst: Botan::IntMod::to_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:530,1
    - Dst: Botan::IntMod::_invert_vartime_div2_helper
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:533,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:535,1
    - Dst: Botan::IntMod::_invert_vartime_div2_helper
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:540,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:545,1
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::to_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:548,1
    - Dst: bigint_sub3
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:564,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:564,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:564,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:564,1
    - Dst: Botan::IntMod::_invert_vartime_div2_helper
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:570,1
    - Dst: bigint_sub3
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:573,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:573,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:573,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:573,1
    - Dst: Botan::IntMod::_invert_vartime_div2_helper
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 579
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 579
    functionName: Botan::IntMod::invert_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::to_rep
    - std::array::data
    - auto::negate
    - auto::data
    - Botan::IntMod::to_words
    - Botan::IntMod::is_zero
    - Botan::IntMod::_invert_vartime_div2_helper
    - bigint_sub3
    - Self
    linkageType: ''
    returnType: Self
    signature: Self invert_vartime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p_plus_1_over_4
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:590,1
    - Dst: Botan::IntMod::pow_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:591,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:594,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:595,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:595,1
    - Dst: shanks_tonelli_c1c2
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:608,1
    - Dst: shanks_tonelli_c3
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:609,1
    - Dst: p_minus_1_over_2
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:610,1
    - Dst: shanks_tonelli_c4<Self>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:611,1
    - Dst: Self::pow_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:612,1
    - Dst: Botan::IntMod::pow_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:616,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:617,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:624,1
    - Dst: auto::is_one
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:625,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:626,1
    - Dst: auto::square_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:627,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:628,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:633,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:634,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 637
      start: 586
    functionDepth: 4
    functionLinenumber: 586
    functionLinenumberEnd: 637
    functionName: Botan::IntMod::sqrt
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - p_plus_1_over_4
    - Self::pow_vartime
    - auto::is_one
    - Botan::IntMod::pow_vartime
    - shanks_tonelli_c1c2
    - shanks_tonelli_c4<Self>
    - auto::square_n
    - auto::conditional_assign
    - p_minus_1_over_2
    - shanks_tonelli_c3
    - auto::square
    linkageType: ''
    returnType: std::pair<Self, CT::Choice>
    signature: std::pair<Self, CT::Choice> sqrt() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:646,1
    - Dst: Botan::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:646,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: operator==(const Self& other) const
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::CT::is_equal
    - data
    - Botan::data
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice operator==(const Self& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 652
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 652
    functionName: operator!=(const Self& other) const
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice operator!=(const Self& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::from_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 657
    functionName: Botan::IntMod::to_words
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 1
    functionsReached:
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::from_rep
    linkageType: ''
    returnType: std::array<W, Self::N>
    signature: std::array<W, Self::N> to_words() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::from_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:663,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:664,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:664,1
    - Dst: auto::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:664,1
    - Dst: store_be
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:667,1
    - Dst: store_be
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:670,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:672,1
    - Dst: template subspan<extra, Self::BYTES>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t, Self::BYTES>
    constantsTouched: []
    func_position:
      end: 674
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 674
    functionName: Botan::IntMod::serialize_to
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - std::reverse
    - template subspan<extra, Self::BYTES>
    - copy_mem
    - auto::begin
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::from_rep
    - auto::end
    - store_be
    linkageType: ''
    returnType: void
    signature: void serialize_to(std::span<uint8_t, Self::BYTES> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 689
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 689
    functionName: Botan::IntMod::stash_value
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, L>
    signature: std::array<W, L> stash_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' stash'
    argTypes:
    - std::array<W, L>
    constantsTouched: []
    func_position:
      end: 704
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 704
    functionName: Botan::IntMod::from_stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: Self from_stash(const std::array<W, L>& stash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:716,1
    - Dst: bytes_to_words<W, N, BYTES>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:720,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:720,1
    - Dst: bigint_ct_is_lt
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:722,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:722,1
    - Dst: Botan::IntMod::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:722,1
    - Dst: Botan::PCurve::GenericField::from_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 728
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 728
    functionName: Botan::IntMod::deserialize
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::IntMod::data
    - bigint_ct_is_lt
    - bytes_to_words<W, N, BYTES>
    - auto::data
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::first
    - Botan::PCurve::GenericField::from_words
    linkageType: ''
    returnType: std::optional<Self>
    signature: std::optional<Self> deserialize(std::span<const uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:740,1
    - Dst: template last<L>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:740,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:741,1
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::wide_to_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:741,1
    - Dst: bytes_to_words<W, 2 * N, 2 * BYTES>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t, L>
    constantsTouched: []
    func_position:
      end: 742
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 742
    functionName: Botan::IntMod::from_wide_bytes
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - bytes_to_words<W, 2 * N, 2 * BYTES>
    - copy_mem
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::wide_to_rep
    - template last<L>
    - Self
    linkageType: ''
    returnType: Self
    signature: Self from_wide_bytes(std::span<const uint8_t, L> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:751,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:756,1
    - Dst: last
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:756,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:756,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:757,1
    - Dst: Botan::PCurve::numsp512d1::Numsp512d1Rep::wide_to_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:757,1
    - Dst: bytes_to_words<W, 2 * N, 2 * BYTES>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 758
      start: 750
    functionDepth: 2
    functionLinenumber: 750
    functionLinenumberEnd: 758
    functionName: Botan::IntMod::from_wide_bytes_varlen
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - bytes_to_words<W, 2 * N, 2 * BYTES>
    - copy_mem
    - Botan::PCurve::numsp512d1::Numsp512d1Rep::wide_to_rep
    - std::span<const uint8_t>::size
    - Self
    - last
    linkageType: ''
    returnType: std::optional<Self>
    signature: std::optional<Self> from_wide_bytes_varlen(std::span<const uint8_t>
      bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: randomize
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:777,1
    - Dst: Botan_CLI::FEC_Share::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:786,1
    - Dst: auto::value
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:787,1
    - Dst: auto::value
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:788,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:793,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 794
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 794
    functionName: Botan::IntMod::random
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - auto::value
    - Botan_CLI::FEC_Share::deserialize
    - Internal_Error
    - randomize
    linkageType: ''
    returnType: Self
    signature: Self random(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::from_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:804,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 806
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 806
    functionName: Botan::IntMod::constant
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericField::from_words
    - auto::negate
    linkageType: ''
    returnType: Self
    signature: Self constant(int8_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 808
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 808
    functionName: Botan::IntMod::_const_time_poison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 810
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 810
    functionName: Botan::IntMod::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 813
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 813
    functionName: '& value() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> & value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::IntMod::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 815
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 815
    functionName: Botan::IntMod::data
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 7
    functionsReached:
    - Botan::IntMod::data
    linkageType: ''
    returnType: W
    signature: W * data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 817
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 817
    functionName: Botan::IntMod::IntMod
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntMod(std::array<W, N> v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - FieldElement
    - FieldElement
    constantsTouched: []
    func_position:
      end: 841
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 841
    functionName: Botan::AffineCurvePoint::AffineCurvePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AffineCurvePoint(const FieldElement& x, const FieldElement& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:843,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 843
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 843
    functionName: Botan::AffineCurvePoint::AffineCurvePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    linkageType: ''
    returnType: void
    signature: void AffineCurvePoint()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:845,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:845,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 845
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 845
    functionName: Botan::AffineCurvePoint::identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - Self
    linkageType: ''
    returnType: Self
    signature: Self identity()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:848,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:848,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 848
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 848
    functionName: Botan::AffineCurvePoint::identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - Self
    linkageType: ''
    returnType: Self
    signature: Self identity(const Self&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:850,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 850
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 850
    functionName: Botan::AffineCurvePoint::is_identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - x
    - y
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 852
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 852
    functionName: Botan::AffineCurvePoint::AffineCurvePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AffineCurvePoint(const Self& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 853
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 853
    functionName: Botan::AffineCurvePoint::AffineCurvePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AffineCurvePoint(Self&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 854
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 854
    functionName: '& operator=(const Self& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AffineCurvePoint
    signature: AffineCurvePoint & operator=(const Self& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 855
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 855
    functionName: '& operator=(Self&& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AffineCurvePoint
    signature: AffineCurvePoint & operator=(Self&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:857,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:857,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 857
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 857
    functionName: Botan::AffineCurvePoint::negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - x
    - Self
    - y
    linkageType: ''
    returnType: Self
    signature: Self negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:863,1
    - Dst: Botan::AffineCurvePoint::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:863,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:865,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:866,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:866,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:867,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:867,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:868,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<uint8_t, Self::BYTES>
    constantsTouched: []
    func_position:
      end: 869
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 869
    functionName: Botan::AffineCurvePoint::serialize_to
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::AffineCurvePoint::is_identity
    - BufferStuffer::append
    - BOTAN_DEBUG_ASSERT
    - BOTAN_STATE_CHECK
    - y
    - x
    - BufferStuffer::full
    - BufferStuffer::next
    linkageType: ''
    returnType: void
    signature: void serialize_to(std::span<uint8_t, Self::BYTES> bytes) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fuzzer_TLS_Client_Creds::psk_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:877,1
    - Dst: std::span<const Self>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:881,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:882,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pts
    - idx
    argTypes:
    - std::span<const Self>
    - size_t
    constantsTouched: []
    func_position:
      end: 887
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 887
    functionName: Botan::AffineCurvePoint::ct_select
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Fuzzer_TLS_Client_Creds::psk_identity
    - Botan::BigInt::is_equal
    - std::span<const Self>::size
    - auto::conditional_assign
    linkageType: ''
    returnType: auto
    signature: auto ct_select(std::span<const Self> pts, size_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FieldElement
    constantsTouched: []
    func_position:
      end: 892
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 892
    functionName: Botan::AffineCurvePoint::x3_ax_b
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - square
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement x3_ax_b(const FieldElement& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:900,1
    - Dst: Botan_CLI::FEC_Share::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:901,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:901,1
    - Dst: Botan_CLI::FEC_Share::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:902,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:902,1
    - Dst: square
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:905,1
    - Dst: Botan::PCurve::GenericAffinePoint::x3_ax_b
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:906,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:907,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:908,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:911,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:912,1
    - Dst: Botan_CLI::FEC_Share::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:914,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:914,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:917,1
    - Dst: auto::is_even
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:918,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:919,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:919,1
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:920,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:923,1
    - Dst: Fuzzer_TLS_Client_Creds::psk_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:925,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 929
      start: 899
    functionDepth: 3
    functionLinenumber: 899
    functionLinenumberEnd: 929
    functionName: Botan::AffineCurvePoint::deserialize
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericAffinePoint::x3_ax_b
    - as_bool
    - auto::negate
    - Fuzzer_TLS_Client_Creds::psk_identity
    - std::span<const uint8_t>::subspan
    - Botan::BigInt::is_equal
    - Botan_CLI::FEC_Share::deserialize
    - auto::is_even
    - std::span<const uint8_t>::size
    - auto::conditional_assign
    - Self
    - square
    linkageType: ''
    returnType: std::optional<Self>
    signature: std::optional<Self> deserialize(std::span<const uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 934
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 934
    functionName: '& x() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement & x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 939
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 939
    functionName: '& y() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement & y() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Ed448Point::ct_conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:945,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:945,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - ' pt'
    argTypes:
    - CT::Choice
    - Self
    constantsTouched: []
    func_position:
      end: 946
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 946
    functionName: Botan::AffineCurvePoint::conditional_assign
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - x
    - y
    - Botan::Ed448Point::ct_conditional_assign
    linkageType: ''
    returnType: void
    signature: void conditional_assign(CT::Choice cond, const Self& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 948
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 948
    functionName: Botan::AffineCurvePoint::_const_time_poison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 950
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 950
    functionName: Botan::AffineCurvePoint::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ProjectiveCurvePoint::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:980,1
    - Dst: Fuzzer_TLS_Client_Creds::psk_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:981,1
    - Dst: Botan::ProjectiveCurvePoint::ProjectiveCurvePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:983,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:983,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 985
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 985
    functionName: Botan::ProjectiveCurvePoint::from_affine
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::ProjectiveCurvePoint::is_identity
    - Fuzzer_TLS_Client_Creds::psk_identity
    - y
    - Botan::ProjectiveCurvePoint::ProjectiveCurvePoint
    - x
    linkageType: ''
    returnType: Self
    signature: Self from_affine(const AffinePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:990,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:990,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:990,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 990
      start: 990
    functionDepth: 3
    functionLinenumber: 990
    functionLinenumberEnd: 990
    functionName: Botan::ProjectiveCurvePoint::identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - Self
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    linkageType: ''
    returnType: Self
    signature: Self identity()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:996,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:996,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 996
      start: 995
    functionDepth: 3
    functionLinenumber: 995
    functionLinenumberEnd: 996
    functionName: Botan::ProjectiveCurvePoint::ProjectiveCurvePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 1
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    linkageType: ''
    returnType: void
    signature: void ProjectiveCurvePoint()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - FieldElement
    - FieldElement
    constantsTouched: []
    func_position:
      end: 1002
      start: 1001
    functionDepth: 3
    functionLinenumber: 1001
    functionLinenumberEnd: 1002
    functionName: Botan::ProjectiveCurvePoint::ProjectiveCurvePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 1
    functionsReached:
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    linkageType: ''
    returnType: void
    signature: void ProjectiveCurvePoint(const FieldElement& x, const FieldElement&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' z'
    argTypes:
    - FieldElement
    - FieldElement
    - FieldElement
    constantsTouched: []
    func_position:
      end: 1008
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1008
    functionName: Botan::ProjectiveCurvePoint::ProjectiveCurvePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProjectiveCurvePoint(const FieldElement& x, const FieldElement&
      y, const FieldElement& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 1010
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1010
    functionName: Botan::ProjectiveCurvePoint::ProjectiveCurvePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProjectiveCurvePoint(const Self& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 1011
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1011
    functionName: Botan::ProjectiveCurvePoint::ProjectiveCurvePoint
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProjectiveCurvePoint(Self&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 1012
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1012
    functionName: '& operator=(const Self& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProjectiveCurvePoint
    signature: ProjectiveCurvePoint & operator=(const Self& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 1013
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1013
    functionName: '& operator=(Self&& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProjectiveCurvePoint
    signature: ProjectiveCurvePoint & operator=(Self&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 1015
      start: 1015
    functionDepth: 2
    functionLinenumber: 1015
    functionLinenumberEnd: 1015
    functionName: operator+(const Self& a, const Self& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: Self
    signature: Self operator+(const Self& a, const Self& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::point_add_mixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1017
      start: 1017
    functionDepth: 2
    functionLinenumber: 1017
    functionLinenumberEnd: 1017
    functionName: operator+(const Self& a, const AffinePoint& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::point_add_mixed
    linkageType: ''
    returnType: Self
    signature: Self operator+(const Self& a, const AffinePoint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::point_add_mixed
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - AffinePoint
    - Self
    constantsTouched: []
    func_position:
      end: 1019
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1019
    functionName: operator+(const AffinePoint& a, const Self& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::point_add_mixed
    linkageType: ''
    returnType: Self
    signature: Self operator+(const AffinePoint& a, const Self& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 1024
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1024
    functionName: '& operator+=(const Self& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: Self & operator+=(const Self& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1029
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1029
    functionName: '& operator+=(const AffinePoint& other)'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: Self & operator+=(const AffinePoint& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 1031
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1031
    functionName: operator-(const Self& a, const Self& b)
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - negate
    linkageType: ''
    returnType: Self
    signature: Self operator-(const Self& a, const Self& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1033
    functionName: Botan::ProjectiveCurvePoint::is_identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 1
    functionsReached:
    - z
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice is_identity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Ed448Point::ct_conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1036,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1036,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1036,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - ' pt'
    argTypes:
    - CT::Choice
    - Self
    constantsTouched: []
    func_position:
      end: 1037
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1037
    functionName: Botan::ProjectiveCurvePoint::conditional_assign
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - x
    - y
    - Botan::Ed448Point::ct_conditional_assign
    - z
    linkageType: ''
    returnType: void
    signature: void conditional_assign(CT::Choice cond, const Self& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_add_mixed<Self, AffinePoint, FieldElement>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1043,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1044
      start: 1042
    functionDepth: 3
    functionLinenumber: 1042
    functionLinenumberEnd: 1044
    functionName: Botan::ProjectiveCurvePoint::add_mixed
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - point_add_mixed<Self, AffinePoint, FieldElement>
    linkageType: ''
    returnType: Self
    signature: Self add_mixed(const Self& a, const AffinePoint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_add_or_sub_mixed<Self, AffinePoint, FieldElement>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1048,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - sub
    argTypes:
    - Self
    - AffinePoint
    - CT::Choice
    constantsTouched: []
    func_position:
      end: 1049
      start: 1047
    functionDepth: 3
    functionLinenumber: 1047
    functionLinenumberEnd: 1049
    functionName: Botan::ProjectiveCurvePoint::add_or_sub
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - point_add_or_sub_mixed<Self, AffinePoint, FieldElement>
    linkageType: ''
    returnType: Self
    signature: Self add_or_sub(const Self& a, const AffinePoint& b, CT::Choice sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_add<Self, FieldElement>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 1054
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1054
    functionName: Botan::ProjectiveCurvePoint::add
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - point_add<Self, FieldElement>
    linkageType: ''
    returnType: Self
    signature: Self add(const Self& a, const Self& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbl_n_a_minus_3
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1061,1
    - Dst: dbl_n_a_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1063,1
    - Dst: dbl_n_generic
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1067
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1067
    functionName: Botan::ProjectiveCurvePoint::dbl_n
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - dbl_n_a_zero
    - dbl_n_a_minus_3
    - dbl_n_generic
    linkageType: ''
    returnType: Self
    signature: Self dbl_n(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbl_a_minus_3
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1074,1
    - Dst: dbl_a_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1076,1
    - Dst: dbl_generic
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1080
    functionName: Botan::ProjectiveCurvePoint::dbl
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - dbl_generic
    - dbl_a_minus_3
    - dbl_a_zero
    linkageType: ''
    returnType: Self
    signature: Self dbl() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1085,1
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1085,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1085,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1085
    functionName: Botan::ProjectiveCurvePoint::negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - x
    - Self
    - z
    - y
    linkageType: ''
    returnType: Self
    signature: Self negate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_seeded
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1097,1
    - Dst: Botan_Tests::Fixed_Output_RNG::random
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1098,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1107
      start: 1093
    functionDepth: 2
    functionLinenumber: 1093
    functionLinenumberEnd: 1107
    functionName: Botan::ProjectiveCurvePoint::randomize_rep
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan_Tests::Fixed_Output_RNG::random
    - is_seeded
    - auto::square
    linkageType: ''
    returnType: void
    signature: void randomize_rep(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1112
    functionName: '& x() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement & x() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1117
    functionName: '& y() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement & y() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1122
    functionName: '& z() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FieldElement
    signature: FieldElement & z() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1124
    functionDepth: 1
    functionLinenumber: 1124
    functionLinenumberEnd: 1124
    functionName: Botan::ProjectiveCurvePoint::_const_time_poison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1126
    functionDepth: 1
    functionLinenumber: 1126
    functionLinenumberEnd: 1126
    functionName: Botan::ProjectiveCurvePoint::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison_all
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BlindedScalarBits::blinding_bits
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sb
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1264
      start: 1248
    functionDepth: 1
    functionLinenumber: 1248
    functionLinenumberEnd: 1264
    functionName: Botan::BlindedScalarBits::blinding_bits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 1
    functionsReached:
    - Botan::BlindedScalarBits::blinding_bits
    linkageType: ''
    returnType: size_t
    signature: size_t blinding_bits(size_t sb)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1275
    functionName: Botan::BlindedScalarBits::bits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_seeded
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1285,1
    - Dst: randomize
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1286,1
    - Dst: serialize_to
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1296,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1297,1
    - Dst: load_le
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1303,1
    - Dst: to_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1309,1
    - Dst: comba_mul<n_words>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1312,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1312,1
    - Dst: bigint_add2_nc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1313,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1313,1
    - Dst: auto::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1313,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1315,1
    - Dst: store_be<std::vector<uint8_t>>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1316,1
    - Dst: resize
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1319,1
    - Dst: serialize_to
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1320,1
    - Dst: template first<Bytes>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1320,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1323,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1323,1
    - Dst: size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - typename C::Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1324
      start: 1277
    functionDepth: 1
    functionLinenumber: 1277
    functionLinenumberEnd: 1324
    functionName: Botan::BlindedScalarBits::BlindedScalarBits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - is_seeded
    - store_be<std::vector<uint8_t>>
    - template first<Bytes>
    - to_words
    - data
    - comba_mul<n_words>
    - bigint_add2_nc
    - std::reverse
    - size
    - Botan::CT::poison
    - auto::data
    - resize
    - std::array::size
    - randomize
    - auto::size
    - load_le
    - serialize_to
    linkageType: ''
    returnType: void
    signature: void BlindedScalarBits(const typename C::Scalar& scalar, RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_window_bits<WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1329
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1329
    functionName: Botan::BlindedScalarBits::get_window
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - read_window_bits<WindowBits>
    linkageType: ''
    returnType: size_t
    signature: size_t get_window(size_t offset) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::secure_scrub_memory
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1332,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1332,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1332,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1333,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1333,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1331
    functionDepth: 1
    functionLinenumber: 1331
    functionLinenumberEnd: 1334
    functionName: ~BlindedScalarBits()
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::size
    - data
    - Botan::CT::unpoison
    - Botan::secure_scrub_memory
    linkageType: ''
    returnType: void
    signature: void ~BlindedScalarBits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize_to
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' scalar'
    argTypes:
    - typename C::Scalar
    constantsTouched: []
    func_position:
      end: 1346
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1346
    functionName: Botan::UnblindedScalarBits::UnblindedScalarBits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - serialize_to
    linkageType: ''
    returnType: void
    signature: void UnblindedScalarBits(const typename C::Scalar& scalar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_window_bits<WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1351
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1351
    functionName: Botan::UnblindedScalarBits::get_window
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - read_window_bits<WindowBits>
    linkageType: ''
    returnType: size_t
    signature: size_t get_window(size_t offset) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basemul_setup<C, WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1371
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1371
    functionName: Botan::PrecomputedBaseMulTable::PrecomputedBaseMulTable
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - basemul_setup<C, WindowBits>
    linkageType: ''
    returnType: void
    signature: void PrecomputedBaseMulTable(const AffinePoint& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basemul_exec<C, WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' rng'
    argTypes:
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1376
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1376
    functionName: Botan::PrecomputedBaseMulTable::mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - basemul_exec<C, WindowBits>
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint mul(const Scalar& s, RandomNumberGenerator& rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: varpoint_setup<C, TableSize>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1406
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1406
    functionName: Botan::WindowedMulTable::WindowedMulTable
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - varpoint_setup<C, TableSize>
    linkageType: ''
    returnType: void
    signature: void WindowedMulTable(const AffinePoint& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: varpoint_exec<C, WindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' rng'
    argTypes:
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1411
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1411
    functionName: Botan::WindowedMulTable::mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - varpoint_exec<C, WindowBits>
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint mul(const Scalar& s, RandomNumberGenerator& rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sb
    - wb
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1440
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1440
    functionName: Botan::WindowedBoothMulTable::compute_full_windows
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t compute_full_windows(size_t sb, size_t wb)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sb
    - wb
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1450
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1450
    functionName: Botan::WindowedBoothMulTable::compute_initial_shift
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t compute_initial_shift(size_t sb, size_t wb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: varpoint_setup<C, TableSize>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1460
      start: 1460
    functionDepth: 0
    functionLinenumber: 1460
    functionLinenumberEnd: 1460
    functionName: Botan::WindowedBoothMulTable::WindowedBoothMulTable
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - varpoint_setup<C, TableSize>
    linkageType: ''
    returnType: void
    signature: void WindowedBoothMulTable(const AffinePoint& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericProjectivePoint::identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1465,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1466,1
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1475,1
    - Dst: ct_select
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1475,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1476,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1476,1
    - Dst: Botan::ProjectiveCurvePoint::add_or_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1478,1
    - Dst: ct_select
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1478,1
    - Dst: auto::dbl_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1481,1
    - Dst: auto::randomize_rep
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1484,1
    - Dst: Botan::ProjectiveCurvePoint::add_or_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1491,1
    - Dst: ct_select
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1491,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ' s'
    - ' rng'
    argTypes:
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1495
      start: 1462
    functionDepth: 4
    functionLinenumber: 1462
    functionLinenumberEnd: 1495
    functionName: Botan::WindowedBoothMulTable::mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - auto::negate
    - ct_select
    - auto::randomize_rep
    - Botan::CT::poison
    - auto::conditional_assign
    - Botan::CT::unpoison
    - Botan::ProjectiveCurvePoint::add_or_sub
    - Botan::PCurve::GenericProjectivePoint::from_affine
    - Botan::PCurve::GenericProjectivePoint::identity
    - auto::dbl_n
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint mul(const Scalar& s, RandomNumberGenerator& rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1502,1
    - Dst: auto::select
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1504,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1507,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1507,1
    - Dst: auto::as_choice
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 1508
      start: 1499
    functionDepth: 1
    functionLinenumber: 1499
    functionLinenumberEnd: 1508
    functionName: Botan::WindowedBoothMulTable::booth_recode
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - auto::select
    - static_cast<size_t>
    - Botan::sha512_msg_expand
    - auto::as_choice
    - std::make_pair
    linkageType: ''
    returnType: std::pair<size_t, CT::Choice>
    signature: std::pair<size_t, CT::Choice> booth_recode(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul2_setup<C, W>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p'
    - ' q'
    argTypes:
    - AffinePoint
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1523
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1523
    functionName: Botan::WindowedMul2Table::WindowedMul2Table
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 1
    functionsReached:
    - mul2_setup<C, W>
    linkageType: ''
    returnType: void
    signature: void WindowedMul2Table(const AffinePoint& p, const AffinePoint& q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul2_exec<C, W>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' s1'
    - ' s2'
    - ' rng'
    argTypes:
    - Scalar
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 1534
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1534
    functionName: Botan::WindowedMul2Table::mul2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - mul2_exec<C, W>
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint mul2(const Scalar& s1, const Scalar& s2, RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_affine_batch<C>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1553,1
    - Dst: mul2_setup<C, W>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p'
    - ' q'
    argTypes:
    - AffinePoint
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 1553
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1553
    functionName: Botan::VartimeMul2Table::VartimeMul2Table
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - mul2_setup<C, W>
    - to_affine_batch<C>
    linkageType: ''
    returnType: void
    signature: void VartimeMul2Table(const AffinePoint& p, const AffinePoint& q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericProjectivePoint::identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1574,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1590,1
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1591,1
    - Dst: auto::dbl_n
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1594,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' s1'
    - ' s2'
    argTypes:
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 1607
      start: 1564
    functionDepth: 3
    functionLinenumber: 1564
    functionLinenumberEnd: 1607
    functionName: Botan::VartimeMul2Table::mul2_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - auto::dbl_n
    - Botan::PCurve::GenericProjectivePoint::from_affine
    - Botan::PCurve::GenericProjectivePoint::identity
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint mul2_vartime(const Scalar& s1, const Scalar& s2) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::invert_field_element
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1619
    functionDepth: 2
    functionLinenumber: 1619
    functionLinenumberEnd: 1625
    functionName: Botan::SSWU_C2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::invert_field_element
    linkageType: ''
    returnType: auto
    signature: "auto & SSWU_C2()\n   requires C::ValidForSswuHash"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SSWU_C2
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1638,1
    - Dst: negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1633
    functionDepth: 3
    functionLinenumber: 1633
    functionLinenumberEnd: 1640
    functionName: Botan::SSWU_C1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - negate
    - Botan::SSWU_C2
    linkageType: ''
    returnType: auto
    signature: "auto & SSWU_C1()\n   requires C::ValidForSswuHash"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1649,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1650,1
    - Dst: auto::square
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1651,1
    - Dst: Botan::invert_field_element
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1652,1
    - Dst: Botan::SSWU_C1
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1653,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1653,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1654,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1654,1
    - Dst: Botan::SSWU_C2
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1654,1
    - Dst: Botan::PCurve::GenericAffinePoint::x3_ax_b
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1655,1
    - Dst: Botan::PCurve::GenericAffinePoint::x3_ax_b
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1658,1
    - Dst: auto::sqrt
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1665,1
    - Dst: Botan::Ed448Point::ct_conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1667,1
    - Dst: auto::conditional_assign
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1669,1
    - Dst: auto::is_even
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1669,1
    - Dst: is_even
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1669,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1669,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1671,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' u'
    argTypes:
    - typename C::FieldElement
    constantsTouched: []
    func_position:
      end: 1675
      start: 1648
    functionDepth: 4
    functionLinenumber: 1648
    functionLinenumberEnd: 1675
    functionName: Botan::map_to_curve_sswu
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericAffinePoint::x3_ax_b
    - Botan::invert_field_element
    - Botan::Ed448Point::ct_conditional_assign
    - is_even
    - auto::negate
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - Botan::SSWU_C2
    - auto::is_even
    - Botan::square
    - auto::sqrt
    - Botan::CT::poison
    - auto::conditional_assign
    - auto::is_zero
    - Botan::CT::unpoison
    - Botan::EC_AffinePoint::EC_AffinePoint
    - auto::square
    - Botan::SSWU_C1
    linkageType: ''
    returnType: auto
    signature: auto map_to_curve_sswu(const typename C::FieldElement& u) -> typename
      C::AffinePoint
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expand_message
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1697,1
    - Dst: Botan::PCurve::GenericScalar::from_wide_bytes
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1700,1
    - Dst: std::span<const uint8_t, L>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1700,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1700,1
    - Dst: Botan::PCurve::GenericScalar::from_wide_bytes
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1701,1
    - Dst: std::span<const uint8_t, L>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1701,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1701,1
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1703,1
    - Dst: Botan::map_to_curve_sswu
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1703,1
    - Dst: Botan::map_to_curve_sswu
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1704,1
    - Dst: Botan::PCurve::GenericScalar::from_wide_bytes
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1707,1
    - Dst: std::span<const uint8_t, L>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1707,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1707,1
    - Dst: Botan::map_to_curve_sswu
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h:1708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' expand_message'
    argTypes:
    - ExpandMsg
    constantsTouched: []
    func_position:
      end: 1710
      start: 1690
    functionDepth: 5
    functionLinenumber: 1690
    functionLinenumberEnd: 1710
    functionName: Botan::hash_to_curve_sswu
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_impl.h
    functionUses: 0
    functionsReached:
    - std::array::data
    - std::span<const uint8_t, L>
    - expand_message
    - Botan::PCurve::GenericScalar::from_wide_bytes
    - Botan::map_to_curve_sswu
    - Botan::PCurve::GenericProjectivePoint::from_affine
    linkageType: ''
    returnType: auto
    signature: "auto hash_to_curve_sswu(const ExpandMsg& expand_message)\n   -> std::conditional_t<RO,
      typename C::ProjectivePoint, typename C::AffinePoint>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::shift_left
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:31,1
    - Dst: Botan::bigint_sub3
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:36,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:36,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:36,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:36,1
    - Dst: std::swap
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:39,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:44,1
    - Dst: template first<N>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' x'
    - ' p'
    argTypes:
    - std::array<W, XN>
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 46
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 46
    functionName: Botan::reduce_mod
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - std::array::data
    - Botan::bigint_sub3
    - data
    - std::swap
    - template first<N>
    - Botan::copy_mem
    - Botan::shift_left
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> reduce_mod(const std::array<W, XN>& x, const std::array<W,
      N>& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::reduce_mod
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Botan::montygomery_r
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - Botan::reduce_mod
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> montygomery_r(const std::array<W, N>& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::comba_mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:60,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:60,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:60,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:60,1
    - Dst: Botan::reduce_mod
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' p'
    argTypes:
    - std::array<W, N>
    - std::array<W, N>
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: Botan::mul_mod
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - Botan::reduce_mod
    - data
    - Botan::comba_mul
    - std::array::data
    linkageType: ''
    returnType: std::array<W, N>
    signature: "std::array<W, N> mul_mod(const std::array<W, N>& x,\n                                          const
      std::array<W, N>& y,\n                                          const std::array<W,
      N>& p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:73,1
    - Dst: word3::monty_step_pdash1
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:75,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:79,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:82,1
    - Dst: word3::monty_step_pdash1
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:84,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:89,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:92,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:94,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:97,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:99,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:101,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:103,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:103,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:103,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - ' z'
    - ' p'
    argTypes:
    - std::array<W, 2 * N>
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 106
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 106
    functionName: Botan::monty_redc_pdash1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - word3::add
    - word3::extract
    - std::array::data
    - data
    - word3::monty_step_pdash1
    - word3::mul
    - Botan::bigint_monty_maybe_sub
    linkageType: ''
    returnType: auto
    signature: auto monty_redc_pdash1(const std::array<W, 2 * N>& z, const std::array<W,
      N>& p) -> std::array<W, N>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:116,1
    - Dst: Botan::bigint_monty_redc_4
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:119,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:119,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:119,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:119,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:119,1
    - Dst: Botan::bigint_monty_redc_6
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:122,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:122,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:122,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:122,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:122,1
    - Dst: Botan::bigint_monty_redc_8
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:125,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:125,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:125,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:125,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:125,1
    - Dst: Botan::bigint_monty_redc_12
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:128,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:128,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:128,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:128,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:128,1
    - Dst: Botan::bigint_monty_redc_16
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:131,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:131,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:131,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:131,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:131,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:138,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:140,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:144,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:147,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:149,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:154,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:157,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:159,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:162,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:164,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:166,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:168,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:168,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:168,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - ' z'
    - ' p'
    - p_dash
    argTypes:
    - std::array<W, 2 * N>
    - std::array<W, N>
    - W
    constantsTouched: []
    func_position:
      end: 171
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 171
    functionName: Botan::monty_redc
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - word3::add
    - word3::monty_step
    - std::array::data
    - word3::extract
    - data
    - std::is_constant_evaluated
    - Botan::bigint_monty_redc_12
    - word3::mul
    - Botan::bigint_monty_redc_4
    - Botan::bigint_monty_redc_6
    - Botan::bigint_monty_maybe_sub
    - Botan::bigint_monty_redc_16
    - Botan::bigint_monty_redc_8
    linkageType: ''
    returnType: auto
    signature: "auto monty_redc(const std::array<W, 2 * N>& z, const std::array<W,
      N>& p, W p_dash)\n   -> std::array<W, N>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_sub3
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:179,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:179,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:179,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:180,1
    - Dst: std::array::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:180,1
    - Dst: std::array::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: Botan::p_minus
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - Botan::bigint_sub3
    - std::array::data
    - std::array::end
    - std::array::begin
    - data
    - std::reverse
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> p_minus(const std::array<W, N>& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_add3_nc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:188,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:188,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:188,1
    - Dst: Botan::shift_right
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:189,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:190,1
    - Dst: std::array::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:190,1
    - Dst: std::array::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: Botan::p_plus_1_over_4
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - std::array::data
    - Botan::bigint_add3_nc
    - std::array::end
    - std::array::begin
    - data
    - Botan::shift_right
    - std::reverse
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> p_plus_1_over_4(const std::array<W, N>& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_sub3
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:198,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:198,1
    - Dst: data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:198,1
    - Dst: Botan::shift_right
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:199,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:200,1
    - Dst: std::array::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:200,1
    - Dst: std::array::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: Botan::p_minus_1_over_2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - Botan::bigint_sub3
    - std::array::data
    - std::array::end
    - std::array::begin
    - data
    - Botan::shift_right
    - std::reverse
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> p_minus_1_over_2(const std::array<W, N>& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::shift_right
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:208,1
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:209,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: Botan::p_div_2_plus_1
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - Botan::bigint_add2_nc
    - Botan::shift_right
    - std::array::data
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> p_div_2_plus_1(const std::array<W, N>& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::shift_right
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:219,1
    - Dst: Botan::shift_right
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:227,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:231,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:231,1
    - Dst: auto::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 233
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 233
    functionName: Botan::shanks_tonelli_c1c2
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - auto::end
    - auto::begin
    - Botan::shift_right
    - std::reverse
    linkageType: ''
    returnType: std::pair<size_t, std::array<W, N>>
    signature: std::pair<size_t, std::array<W, N>> shanks_tonelli_c1c2(const std::array<W,
      N>& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:238,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:238,1
    - Dst: auto::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:238,1
    - Dst: Botan::shift_right
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:239,1
    - Dst: std::reverse
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:240,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:240,1
    - Dst: auto::end
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' c2'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: Botan::shanks_tonelli_c3
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - auto::end
    - auto::begin
    - Botan::shift_right
    - std::reverse
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> shanks_tonelli_c3(const std::array<W, N>& c2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:246,1
    - Dst: Botan::IntMod::constant
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:250,1
    - Dst: auto::pow_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:253,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:255,1
    - Dst: auto::is_one
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:255,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' p_minus_1_over_2'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 263
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 263
    functionName: Botan::shanks_tonelli_c4
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - auto::as_bool
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - auto::is_one
    - Botan::IntMod::constant
    - auto::is_zero
    - auto::pow_vartime
    linkageType: ''
    returnType: auto
    signature: auto shanks_tonelli_c4(const std::array<W, N>& p_minus_1_over_2) ->
      Z
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:270,1
    - Dst: Botan::get_bit
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 280
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 280
    functionName: Botan::count_bits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - Botan::get_bit
    - static_cast<uint8_t>
    linkageType: ''
    returnType: size_t
    signature: size_t count_bits(const std::array<W, N>& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:294,1
    - Dst: std::span<const uint8_t, L>::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:294,1
    - Dst: Botan::shift_left
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t, L>
    constantsTouched: []
    func_position:
      end: 308
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 308
    functionName: Botan::bytes_to_words
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_util.h
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t, L>::data
    - Botan::load_be
    - Botan::shift_left
    linkageType: ''
    returnType: auto
    signature: auto bytes_to_words(std::span<const uint8_t, L> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_solinas.h:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - xw
    - i
    argTypes:
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: Botan::get_uint32
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_solinas.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_uint32(const W xw[], size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::SolinasAccum::SolinasAccum
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_solinas.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SolinasAccum(std::array<W, N>& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_solinas.h:53,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_solinas.h:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: Botan::SolinasAccum::accum
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_solinas.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void accum(int64_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_solinas.h:70,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_solinas.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - C
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: Botan::SolinasAccum::final_carry
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_solinas.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - static_cast<W>
    linkageType: ''
    returnType: W
    signature: W final_carry(int64_t C)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::PCurve::PrimeOrderCurveImpl::order_bits
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t order_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_bytes
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t scalar_bytes() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::PCurve::PrimeOrderCurveImpl::field_element_bytes
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t field_element_bytes() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:39,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:39,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::PCurve::PrimeOrderCurveImpl::mul_by_g
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - Botan::PCurve::PrimeOrderCurveImpl::mul
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint mul_by_g(const Scalar& scalar, RandomNumberGenerator&
      rng) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WindowedBoothMulTable<C, VarPointWindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:43,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:43,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:44,1
    - Dst: auto::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:44,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt'
    - ' scalar'
    - ' rng'
    argTypes:
    - AffinePoint
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Botan::PCurve::PrimeOrderCurveImpl::mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 1
    functionsReached:
    - auto::mul
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    - WindowedBoothMulTable<C, VarPointWindowBits>
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint mul(const AffinePoint& pt, const Scalar& scalar, RandomNumberGenerator&
      rng) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WindowedBoothMulTable<C, VarPointWindowBits>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:50,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:50,1
    - Dst: to_affine_x<C>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:51,1
    - Dst: auto::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:51,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:51,1
    - Dst: auto::serialize_to
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' pt'
    - ' scalar'
    - ' rng'
    argTypes:
    - AffinePoint
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: Botan::PCurve::PrimeOrderCurveImpl::mul_x_only
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - auto::serialize_to
    - auto::mul
    - WindowedBoothMulTable<C, VarPointWindowBits>
    - to_affine_x<C>
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> mul_x_only(const AffinePoint& pt,\n                                        const
      Scalar& scalar,\n                                        RandomNumberGenerator&
      rng) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '& table() const'
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & table() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - typename C::AffinePoint
    - typename C::AffinePoint
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: Botan::PCurve::PrimeOrderCurveImpl::PrecomputedMul2TableC::PrecomputedMul2TableC
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrecomputedMul2TableC(const typename C::AffinePoint& x, const
      typename C::AffinePoint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PrecomputedMul2TableC>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:69,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' q'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: Botan::PCurve::PrimeOrderCurveImpl::mul2_setup_g
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - std::make_unique<PrecomputedMul2TableC>
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    linkageType: ''
    returnType: std::unique_ptr<const PrecomputedMul2Table>
    signature: std::unique_ptr<const PrecomputedMul2Table> mul2_setup_g(const AffinePoint&
      q) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const PrecomputedMul2TableC&>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:76,1
    - Dst: table
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:77,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:77,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:77,1
    - Dst: auto::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:78,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:81,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' tableb'
    - ' x'
    - ' y'
    argTypes:
    - PrecomputedMul2Table
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: Botan::PCurve::PrimeOrderCurveImpl::mul2_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - table
    - auto::is_identity
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    - Invalid_Argument
    - dynamic_cast<const PrecomputedMul2TableC&>
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    linkageType: ''
    returnType: std::optional<ProjectivePoint>
    signature: "std::optional<ProjectivePoint> mul2_vartime(const PrecomputedMul2Table&
      tableb,\n                                                  const Scalar& x,\n
      \                                                 const Scalar& y) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WindowedMul2Table::mul2
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:94,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:94,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:94,1
    - Dst: auto::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:95,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ' p'
    - ' x'
    - ' q'
    - ' y'
    - ' rng'
    argTypes:
    - AffinePoint
    - Scalar
    - AffinePoint
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: Botan::PCurve::PrimeOrderCurveImpl::mul_px_qy
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - auto::is_identity
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    - WindowedMul2Table::mul2
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    linkageType: ''
    returnType: std::optional<ProjectivePoint>
    signature: "std::optional<ProjectivePoint> mul_px_qy(const AffinePoint& p,\n                                               const
      Scalar& x,\n                                               const AffinePoint&
      q,\n                                               const Scalar& y,\n                                               RandomNumberGenerator&
      rng) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const PrecomputedMul2TableC&>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:107,1
    - Dst: table
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:108,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:108,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:108,1
    - Dst: auto::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:110,1
    - Dst: auto::z
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:127,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:130,1
    - Dst: Botan_CLI::FEC_Share::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:132,1
    - Dst: auto::x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:133,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:133,1
    - Dst: Botan::PCurve::GenericField::from_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:163,1
    - Dst: auto::negate
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:164,1
    - Dst: auto::to_words
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:166,1
    - Dst: bigint_ct_is_lt
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:167,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:167,1
    - Dst: auto::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:167,1
    - Dst: auto::data
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:167,1
    - Dst: auto::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:167,1
    - Dst: auto::x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:168,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:168,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:175,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - ' tableb'
    - ' v'
    - ' x'
    - ' y'
    argTypes:
    - PrecomputedMul2Table
    - Scalar
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 177
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 177
    functionName: Botan::PCurve::PrimeOrderCurveImpl::mul2_vartime_x_mod_order_eq
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - auto::to_words
    - table
    - as_bool
    - auto::negate
    - Botan_CLI::FEC_Share::deserialize
    - bigint_ct_is_lt
    - Botan::PCurve::GenericField::from_words
    - auto::data
    - auto::is_identity
    - auto::z
    - auto::x
    - Invalid_Argument
    - auto::size
    - dynamic_cast<const PrecomputedMul2TableC&>
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    linkageType: ''
    returnType: bool
    signature: "bool mul2_vartime_x_mod_order_eq(const PrecomputedMul2Table& tableb,\n
      \                                      const Scalar& v,\n                                       const
      Scalar& x,\n                                       const Scalar& y) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::mul
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:180,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:180,1
    - Dst: to_affine_x<C>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:182,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:184,1
    - Dst: Botan::PCurve::GenericScalar::from_wide_bytes
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' scalar'
    - ' rng'
    argTypes:
    - Scalar
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: Botan::PCurve::PrimeOrderCurveImpl::base_point_mul_x_mod_order
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    - Botan::PCurve::GenericScalar::from_wide_bytes
    - to_affine_x<C>
    - Botan::PCurve::PrimeOrderCurveImpl::mul
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    linkageType: ''
    returnType: Scalar
    signature: Scalar base_point_mul_x_mod_order(const Scalar& scalar, RandomNumberGenerator&
      rng) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: Botan::PCurve::PrimeOrderCurveImpl::generator
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: AffinePoint
    signature: AffinePoint generator() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_affine<C>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:190,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:190,1
    - Dst: auto::y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:192,1
    - Dst: Botan::PCurve::GenericAffinePoint::x3_ax_b
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:193,1
    - Dst: auto::x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:193,1
    - Dst: auto::is_identity
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:194,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:196,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:196,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - ProjectivePoint
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: Botan::PCurve::PrimeOrderCurveImpl::point_to_affine
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::GenericAffinePoint::x3_ax_b
    - auto::as_bool
    - to_affine<C>
    - auto::x
    - auto::is_identity
    - BOTAN_ASSERT
    - auto::y
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    linkageType: ''
    returnType: AffinePoint
    signature: AffinePoint point_to_affine(const ProjectivePoint& pt) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:202,1
    - Dst: Botan::PCurve::GenericProjectivePoint::from_affine
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:202,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:202,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - AffinePoint
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: Botan::PCurve::PrimeOrderCurveImpl::point_add
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - Botan::PCurve::GenericProjectivePoint::from_affine
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint point_add(const AffinePoint& a, const AffinePoint&
      b) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:205,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: Botan::PCurve::PrimeOrderCurveImpl::point_negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: AffinePoint
    signature: AffinePoint point_negate(const AffinePoint& pt) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: Botan::PCurve::PrimeOrderCurveImpl::affine_point_is_identity
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    linkageType: ''
    returnType: bool
    signature: bool affine_point_is_identity(const AffinePoint& pt) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:212,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:212,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:213,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - ' pt'
    argTypes:
    - std::span<uint8_t>
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: Botan::PCurve::PrimeOrderCurveImpl::serialize_point
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::subspan
    - std::span<uint8_t>::size
    - BOTAN_ARG_CHECK
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    linkageType: ''
    returnType: void
    signature: void serialize_point(std::span<uint8_t> bytes, const AffinePoint& pt)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:217,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:217,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:218,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - ' scalar'
    argTypes:
    - std::span<uint8_t>
    - Scalar
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: Botan::PCurve::PrimeOrderCurveImpl::serialize_scalar
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::subspan
    - std::span<uint8_t>::size
    - BOTAN_ARG_CHECK
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    linkageType: ''
    returnType: void
    signature: void serialize_scalar(std::span<uint8_t> bytes, const Scalar& scalar)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Scalar::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:222,1
    - Dst: auto::is_zero
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:223,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: Botan::PCurve::PrimeOrderCurveImpl::deserialize_scalar
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar::deserialize
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    - auto::is_zero
    linkageType: ''
    returnType: std::optional<Scalar>
    signature: std::optional<Scalar> deserialize_scalar(std::span<const uint8_t> bytes)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::IntMod::from_wide_bytes_varlen
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:232,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_from_wide_bytes
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::IntMod::from_wide_bytes_varlen
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: std::optional<Scalar>
    signature: std::optional<Scalar> scalar_from_wide_bytes(std::span<const uint8_t>
      bytes) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:240,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: Botan::PCurve::PrimeOrderCurveImpl::deserialize_point
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    - Botan::EC_AffinePoint::deserialize
    linkageType: ''
    returnType: std::optional<AffinePoint>
    signature: std::optional<AffinePoint> deserialize_point(std::span<const uint8_t>
      bytes) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:249,1
    - Dst: hash_to_curve_sswu<C, false>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:249,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - expand_message
    argTypes:
    - std::function<void(std::span<uint8_t>)>
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: Botan::PCurve::PrimeOrderCurveImpl::hash_to_curve_nu
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - hash_to_curve_sswu<C, false>
    - Not_Implemented
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: AffinePoint
    signature: AffinePoint hash_to_curve_nu(std::function<void(std::span<uint8_t>)>
      expand_message) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:257,1
    - Dst: hash_to_curve_sswu<C, true>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:257,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - expand_message
    argTypes:
    - std::function<void(std::span<uint8_t>)>
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: Botan::PCurve::PrimeOrderCurveImpl::hash_to_curve_ro
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - hash_to_curve_sswu<C, true>
    - Not_Implemented
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint hash_to_curve_ro(std::function<void(std::span<uint8_t>)>
      expand_message) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:264,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:264,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_add
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_add(const Scalar& a, const Scalar& b) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:268,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:268,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_sub
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_sub(const Scalar& a, const Scalar& b) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:272,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:272,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_mul
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_mul(const Scalar& a, const Scalar& b) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:275,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_square
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_square(const Scalar& s) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:278,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:280,1
    - Dst: Botan::PCurve::secp256r1::Curve::scalar_invert
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:280,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:282,1
    - Dst: auto::invert
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ss'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_invert
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::secp256r1::Curve::scalar_invert
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - auto::invert
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_invert(const Scalar& ss) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:287,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:288,1
    - Dst: auto::invert_vartime
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ss'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_invert_vartime
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - auto::invert_vartime
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_invert_vartime(const Scalar& ss) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:291,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_negate
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_negate(const Scalar& s) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_is_zero
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    linkageType: ''
    returnType: bool
    signature: bool scalar_is_zero(const Scalar& s) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:296,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:296,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Scalar
    - Scalar
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_equal
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - as_bool
    - Botan::PCurve::PrimeOrderCurveImpl::from_stash
    linkageType: ''
    returnType: bool
    signature: bool scalar_equal(const Scalar& a, const Scalar& b) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:299,1
    - Dst: Botan::EC_Scalar::one
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: Botan::PCurve::PrimeOrderCurveImpl::scalar_one
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar::one
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: Scalar
    signature: Scalar scalar_one() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:301,1
    - Dst: Botan::EC_Scalar::random
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: Botan::PCurve::PrimeOrderCurveImpl::random_scalar
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached:
    - Botan::EC_Scalar::random
    - Botan::PCurve::PrimeOrderCurveImpl::stash
    linkageType: ''
    returnType: Scalar
    signature: Scalar random_scalar(RandomNumberGenerator& rng) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 303
    functionName: Botan::PCurve::PrimeOrderCurveImpl::PrimeOrderCurveImpl
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrimeOrderCurveImpl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<const PrimeOrderCurveImpl<C>>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: Botan::PCurve::PrimeOrderCurveImpl::instance
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 19
    functionsReached:
    - std::make_shared<const PrimeOrderCurveImpl<C>>
    linkageType: ''
    returnType: std::shared_ptr<const PrimeOrderCurve>
    signature: std::shared_ptr<const PrimeOrderCurve> instance()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurve::Scalar::_create
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:312,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:312,1
    - Dst: template stash_value<StorageWords>
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - typename C::Scalar
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: Botan::PCurve::PrimeOrderCurveImpl::stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 23
    functionsReached:
    - template stash_value<StorageWords>
    - Botan::PCurve::PrimeOrderCurve::Scalar::_create
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: Scalar
    signature: Scalar stash(const typename C::Scalar& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:316,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:316,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:317,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:319,1
    - Dst: _value
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: Botan::PCurve::PrimeOrderCurveImpl::from_stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 23
    functionsReached:
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - _value
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    - _curve
    - Invalid_Argument
    linkageType: ''
    returnType: typename C::Scalar
    signature: typename C::Scalar from_stash(const Scalar& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:323,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:324,1
    - Dst: Botan::PCurve::PrimeOrderCurve::AffinePoint::_create
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:325,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - typename C::AffinePoint
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: Botan::PCurve::PrimeOrderCurveImpl::stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 23
    functionsReached:
    - x
    - y
    - Botan::PCurve::PrimeOrderCurve::AffinePoint::_create
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: AffinePoint
    signature: AffinePoint stash(const typename C::AffinePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:329,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:329,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:330,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:332,1
    - Dst: _x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:332,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:333,1
    - Dst: _y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:333,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - AffinePoint
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: Botan::PCurve::PrimeOrderCurveImpl::from_stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 23
    functionsReached:
    - _x
    - _y
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    - _curve
    - Invalid_Argument
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: typename C::AffinePoint
    signature: typename C::AffinePoint from_stash(const AffinePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:338,1
    - Dst: y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:339,1
    - Dst: z
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:340,1
    - Dst: Botan::PCurve::PrimeOrderCurve::ProjectivePoint::_create
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:341,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - typename C::ProjectivePoint
    constantsTouched: []
    func_position:
      end: 342
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 342
    functionName: Botan::PCurve::PrimeOrderCurveImpl::stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 23
    functionsReached:
    - y
    - z
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    - Botan::PCurve::PrimeOrderCurve::ProjectivePoint::_create
    - x
    linkageType: ''
    returnType: ProjectivePoint
    signature: ProjectivePoint stash(const typename C::ProjectivePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _curve
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:345,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:345,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:346,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:348,1
    - Dst: _x
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:348,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:349,1
    - Dst: _y
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:349,1
    - Dst: Botan::PCurve::GenericPrimeOrderCurve::from_stash
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:350,1
    - Dst: _z
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:350,1
    - Dst: Botan::PCurve::PrimeOrderCurve::ProjectivePoint::ProjectivePoint
      Src: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - ProjectivePoint
    constantsTouched: []
    func_position:
      end: 352
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 352
    functionName: Botan::PCurve::PrimeOrderCurveImpl::from_stash
    functionSourceFile: /src/botan/src/lib/math/pcurves/pcurves_impl/pcurves_wrap.h
    functionUses: 23
    functionsReached:
    - _x
    - _z
    - Botan::PCurve::PrimeOrderCurve::ProjectivePoint::ProjectivePoint
    - _y
    - Botan::PCurve::GenericPrimeOrderCurve::from_stash
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    - _curve
    - Invalid_Argument
    linkageType: ''
    returnType: typename C::ProjectivePoint
    signature: typename C::ProjectivePoint from_stash(const ProjectivePoint& pt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:19,1
    - Dst: std::max
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:19,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:21,1
    - Dst: bigint_add2
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:22,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:22,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:22,1
    - Dst: bigint_sub2
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:28,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:28,1
    - Dst: bigint_sub2_rev
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:31,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:31,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:36,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - y
    - y_words
    - y_sign
    argTypes:
    - word[]
    - size_t
    - Sign
    constantsTouched: []
    func_position:
      end: 43
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 43
    functionName: '& BigInt::add(const word y[], size_t y_words, Sign y_sign)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - sign
    - bigint_sub2_rev
    - bigint_sub2
    - std::max
    - size
    - set_sign
    - mutable_data
    - bigint_add2
    - grow_to
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::add(const word y[], size_t y_words, Sign y_sign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& BigInt::is_negative'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:46,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:46,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:46,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:47,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:50,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:51,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:64,1
    - Dst: '& BigInt::grow_to'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:66,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:67,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:70,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:71,1
    - Dst: bigint_sub3
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:74,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:74,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:74,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:75,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:76,1
    - Dst: bigint_sub3
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:79,1
    - Dst: '& BigInt::_data'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:79,1
    - Dst: bigint_add3_nc
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:82,1
    - Dst: '& BigInt::_data'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:82,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:82,1
    - Dst: Botan::CT::conditional_copy_mem
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:84,1
    - Dst: set_words
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' s'
    - ' mod'
    - ' ws'
    argTypes:
    - BigInt
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 88
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 88
    functionName: '& BigInt::mod_add(const BigInt& s, const BigInt& mod, secure_vector<word>&
      ws)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - '& BigInt::grow_to'
    - _data
    - BOTAN_DEBUG_ASSERT
    - is_negative
    - size
    - '& BigInt::is_negative'
    - '& BigInt::_data'
    - set_words
    - bigint_add3_nc
    - resize
    - BOTAN_UNUSED
    - bigint_sub3
    - Invalid_Argument
    - BOTAN_ARG_CHECK
    - grow_to
    - Botan::CT::conditional_copy_mem
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::mod_add(const BigInt& s, const BigInt& mod, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& BigInt::is_negative'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:91,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:91,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:91,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:92,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:96,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:97,1
    - Dst: '& BigInt::grow_to'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:101,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:102,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:104,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:105,1
    - Dst: bigint_mod_sub
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:108,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:108,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:108,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:108,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - ' s'
    - ' mod'
    - ' ws'
    argTypes:
    - BigInt
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: '& BigInt::mod_sub(const BigInt& s, const BigInt& mod, secure_vector<word>&
      ws)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - '& BigInt::grow_to'
    - _data
    - BOTAN_DEBUG_ASSERT
    - is_negative
    - data
    - size
    - '& BigInt::is_negative'
    - resize
    - mutable_data
    - bigint_mod_sub
    - Invalid_Argument
    - grow_to
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::mod_sub(const BigInt& s, const BigInt& mod, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:114,1
    - Dst: '& BigInt::is_negative'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:114,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:115,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:117,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:119,1
    - Dst: '& BigInt::reduce_below'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - y
    - ' mod'
    - ' ws'
    argTypes:
    - uint8_t
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: '& BigInt::mod_mul(uint8_t y, const BigInt& mod, secure_vector<word>&
      ws)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - '& BigInt::is_negative'
    - '& BigInt::reduce_below'
    - BOTAN_ARG_CHECK
    - static_cast<word>
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::mod_mul(uint8_t y, const BigInt& mod, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& BigInt::sign'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:125,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:126,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:131,1
    - Dst: std::max
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:131,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:132,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:132,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:132,1
    - Dst: '& BigInt::cond_flip_sign'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:136,1
    - Dst: '& BigInt::swap_reg'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - y
    - y_sw
    - ' ws'
    argTypes:
    - word[]
    - size_t
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 140
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 140
    functionName: '& BigInt::rev_sub(const word y[], size_t y_sw, secure_vector<word>&
      ws)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - clear_mem
    - '& BigInt::sign'
    - data
    - std::max
    - size
    - '& BigInt::swap_reg'
    - resize
    - '& BigInt::cond_flip_sign'
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::rev_sub(const word y[], size_t y_sw, secure_vector<word>&
      ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '& BigInt::mul'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' y'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: '& BigInt::operator*=(const BigInt& y)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - '& BigInt::mul'
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::operator*=(const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:153,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:153,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:153,1
    - Dst: clear
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:156,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:157,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:159,1
    - Dst: bigint_linmul3
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:160,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:160,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:160,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:160,1
    - Dst: bigint_linmul2
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:162,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:162,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:162,1
    - Dst: set_word_at
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:163,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:166,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:167,1
    - Dst: bigint_mul
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:171,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:171,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:171,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:171,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:171,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:171,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:171,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:171,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:171,1
    - Dst: '& BigInt::swap_reg'
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ' y'
    - ' ws'
    argTypes:
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 177
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 177
    functionName: '& BigInt::mul(const BigInt& y, secure_vector<word>& ws)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - sign
    - bigint_linmul2
    - secure_vector::data
    - _data
    - secure_vector::size
    - bigint_linmul3
    - set_word_at
    - data
    - set_sign
    - size
    - clear
    - bigint_mul
    - '& BigInt::swap_reg'
    - resize
    - mutable_data
    - word_at
    - grow_to
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::mul(const BigInt& y, secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:183,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:183,1
    - Dst: bigint_sqr
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:185,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:185,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:185,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:185,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:185,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:185,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:185,1
    - Dst: swap_reg
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:187,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' ws'
    argTypes:
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 191
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 191
    functionName: '& BigInt::square(secure_vector<word>& ws)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - _data
    - secure_vector::size
    - bigint_sqr
    - swap_reg
    - data
    - size
    - set_sign
    - resize
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::square(secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:195,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:196,1
    - Dst: bigint_linmul2
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:199,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:199,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:199,1
    - Dst: set_word_at
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:200,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - y
    argTypes:
    - word
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: '& BigInt::operator*=(word y)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - bigint_linmul2
    - set_word_at
    - size
    - set_sign
    - clear
    - mutable_data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::operator*=(word y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:209,1
    - Dst: is_power_of_2
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:209,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:209,1
    - Dst: bits
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' y'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 215
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 215
    functionName: '& BigInt::operator/=(const BigInt& y)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - bits
    - word_at
    - sig_words
    - is_power_of_2
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::operator/=(const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mod'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: '& BigInt::operator%=(const BigInt& mod)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::operator%=(const BigInt& mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:229,1
    - Dst: is_power_of_2
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:234,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:235,1
    - Dst: bigint_modop_vartime
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:239,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:239,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:243,1
    - Dst: set_to_zero
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:247,1
    - Dst: set_word_at
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:248,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - mod
    argTypes:
    - word
    constantsTouched: []
    func_position:
      end: 251
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 251
    functionName: BigInt::operator%=(word mod)
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - sign
    - set_to_zero
    - set_word_at
    - set_sign
    - bigint_modop_vartime
    - is_power_of_2
    - Invalid_Argument
    - word_at
    linkageType: ''
    returnType: word
    signature: word BigInt::operator%=(word mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:260,1
    - Dst: bigint_shl1
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:262,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - shift
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 265
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 265
    functionName: '& BigInt::operator<<=(size_t shift)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - bigint_shl1
    - grow_to
    - mutable_data
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::operator<<=(size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bigint_shr1
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:271,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:271,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:271,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:273,1
    - Dst: is_zero
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:273,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops2.cpp:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - shift
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: '& BigInt::operator>>=(size_t shift)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops2.cpp
    functionUses: 0
    functionsReached:
    - is_negative
    - size
    - set_sign
    - bigint_shr1
    - mutable_data
    - is_zero
    linkageType: ''
    returnType: BigInt
    signature: BigInt & BigInt::operator>>=(size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:20,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:20,1
    - Dst: set_word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:22,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:22,1
    - Dst: set_word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:23,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: Botan::BigInt::BigInt
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 17
    functionsReached:
    - set_word_at
    - static_cast<word>
    linkageType: ''
    returnType: void
    signature: void BigInt::BigInt(uint64_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::BigInt::from_u64
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 6
    functionsReached:
    - Botan::BigInt::BigInt
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::from_u64(uint64_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt::set_word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - word
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: Botan::BigInt::from_word
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 12
    functionsReached:
    - BigInt::set_word_at
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::from_word(word n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:42,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:42,1
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:44,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: Botan::BigInt::from_s32
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint64_t>
    - Botan::BigInt::from_u64
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::from_s32(int32_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt::grow_to
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Botan::BigInt::with_capacity
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 5
    functionsReached:
    - BigInt::grow_to
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::with_capacity(size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:63,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:68,1
    - Dst: Botan::BigInt::decode
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:73,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:73,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:73,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:73,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:76,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 80
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 80
    functionName: Botan::BigInt::BigInt
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 18
    functionsReached:
    - set_sign
    - std::string_view::empty
    - std::string_view::length
    - Botan::BigInt::decode
    - std::string_view::data
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: void
    signature: void BigInt::BigInt(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: Botan::BigInt::from_string
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 1
    functionsReached:
    - Botan::BigInt::BigInt
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::from_string(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt::assign_from_bytes
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: Botan::BigInt::from_bytes
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 24
    functionsReached:
    - BigInt::assign_from_bytes
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::from_bytes(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::decode
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - length
    - base
    argTypes:
    - uint8_t[]
    - size_t
    - Base
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: Botan::BigInt::BigInt
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 19
    functionsReached:
    - Botan::BigInt::decode
    linkageType: ''
    returnType: void
    signature: void BigInt::BigInt(const uint8_t input[], size_t length, Base base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - input
    - length
    - max_bits
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: Botan::BigInt::from_bytes_with_max_bits
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 2
    functionsReached:
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::from_bytes_with_max_bits(const uint8_t input[], size_t
      length, size_t max_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::randomize
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' rng'
    - bits
    - set_high_bit
    argTypes:
    - RandomNumberGenerator
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: Botan::BigInt::BigInt
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 19
    functionsReached:
    - Botan::BigInt::randomize
    linkageType: ''
    returnType: void
    signature: void BigInt::BigInt(RandomNumberGenerator& rng, size_t bits, bool set_high_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_byte_var
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:122,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: Botan::BigInt::byte_at
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 2
    functionsReached:
    - get_byte_var
    - word_at
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t BigInt::byte_at(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:126,1
    - Dst: bigint_cmp
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:135,1
    - Dst: Botan::BigInt::_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - word
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: Botan::BigInt::cmp_word
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - bigint_cmp
    - is_negative
    - Botan::BigInt::_data
    linkageType: ''
    returnType: int32_t
    signature: int32_t BigInt::cmp_word(word other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_positive
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:143,1
    - Dst: Botan::BigInt::is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:143,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:147,1
    - Dst: Botan::BigInt::is_positive
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:147,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:151,1
    - Dst: Botan::BigInt::is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:151,1
    - Dst: bigint_cmp
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:152,1
    - Dst: Botan::BigInt::_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:152,1
    - Dst: Botan::BigInt::size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:152,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:152,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:152,1
    - Dst: bigint_cmp
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:156,1
    - Dst: Botan::BigInt::_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:156,1
    - Dst: Botan::BigInt::size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:156,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:156,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - ' other'
    - check_signs
    argTypes:
    - BigInt
    - bool
    constantsTouched: []
    func_position:
      end: 157
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 157
    functionName: Botan::BigInt::cmp
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 1
    functionsReached:
    - bigint_cmp
    - Botan::BigInt::is_negative
    - Botan::BigInt::size
    - _data
    - is_negative
    - Botan::BigInt::is_positive
    - size
    - is_positive
    - Botan::BigInt::_data
    linkageType: ''
    returnType: int32_t
    signature: int32_t BigInt::cmp(const BigInt& other, bool check_signs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::sign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:160,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:160,1
    - Dst: bigint_ct_is_eq
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:164,1
    - Dst: Botan::BigInt::_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:164,1
    - Dst: Botan::BigInt::sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:164,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:164,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: Botan::BigInt::is_equal
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 29
    functionsReached:
    - sign
    - _data
    - Botan::BigInt::sign
    - Botan::BigInt::_data
    - bigint_ct_is_eq
    - Botan::BigInt::sig_words
    - sig_words
    linkageType: ''
    returnType: bool
    signature: bool BigInt::is_equal(const BigInt& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:168,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:168,1
    - Dst: Botan::BigInt::is_positive
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:172,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:172,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:176,1
    - Dst: Botan::BigInt::is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:176,1
    - Dst: bigint_ct_is_lt
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:177,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:177,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:177,1
    - Dst: Botan::BigInt::_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:177,1
    - Dst: Botan::BigInt::sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:177,1
    - Dst: bigint_ct_is_lt
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:180,1
    - Dst: Botan::BigInt::_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:180,1
    - Dst: Botan::BigInt::sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:180,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:180,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:180,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 181
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 181
    functionName: Botan::BigInt::is_less_than
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_negative
    - _data
    - Botan::BigInt::is_positive
    - is_negative
    - bigint_ct_is_lt
    - is_positive
    - Botan::BigInt::_data
    - Botan::BigInt::sig_words
    - sig_words
    linkageType: ''
    returnType: bool
    signature: bool BigInt::is_less_than(const BigInt& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:187,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:190,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:191,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - out
    - size
    argTypes:
    - word[]
    - size_t
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: Botan::BigInt::encode_words
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - Encoding_Error
    - clear_mem
    - _data
    linkageType: ''
    returnType: void
    signature: void BigInt::encode_words(word out[], size_t size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:195,1
    - Dst: capacity
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:195,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:196,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:196,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: BigInt::Data::set_to_zero()
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - data
    - size
    - capacity
    - resize
    linkageType: ''
    returnType: void
    signature: void BigInt::Data::set_to_zero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_to_zero
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:202,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:207,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:208,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:211,1
    - Dst: invalidate_sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 216
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 216
    functionName: BigInt::Data::mask_bits(size_t n)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - invalidate_sig_words
    - clear_mem
    - set_to_zero
    - size
    - static_cast<word>
    linkageType: ''
    returnType: void
    signature: void BigInt::Data::mask_bits(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ct_is_zero
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:226,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 237
    functionName: BigInt::Data::calc_sig_words() const
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    - ct_is_zero
    linkageType: ''
    returnType: size_t
    signature: size_t BigInt::Data::calc_sig_words() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:244,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:257,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:260,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:262,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - offset
    - length
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 265
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 265
    functionName: Botan::BigInt::get_substring
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - static_cast<uint32_t>
    - word_at
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t BigInt::get_substring(size_t offset, size_t length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:271,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:272,1
    - Dst: Botan::BigInt::bits
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:274,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:275,1
    - Dst: Botan::BigInt::byte_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 283
    functionName: Botan::BigInt::to_u32bit
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::bits
    - is_negative
    - Botan::BigInt::byte_at
    - Encoding_Error
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t BigInt::to_u32bit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:291,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:292,1
    - Dst: set_word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:293,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: Botan::BigInt::clear_bit
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 1
    functionsReached:
    - static_cast<word>
    - set_word_at
    - word_at
    - size
    linkageType: ''
    returnType: void
    signature: void BigInt::clear_bit(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:298,1
    - Dst: Botan::BigInt::bits
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: Botan::BigInt::bytes
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 1
    functionsReached:
    - Botan::BigInt::bits
    - round_up
    linkageType: ''
    returnType: size_t
    signature: size_t BigInt::bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:304,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 308
    functionName: Botan::BigInt::top_bits_free
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    - word_at
    linkageType: ''
    returnType: size_t
    signature: size_t BigInt::top_bits_free() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 321
    functionName: Botan::BigInt::bits
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t BigInt::bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt::flip_sign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: BigInt::operator-() const
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - BigInt::flip_sign
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::operator-() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:333,1
    - Dst: Botan::BigInt::is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:333,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:334,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:339,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:340,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:343,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:344,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:347,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:347,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:347,1
    - Dst: bigint_sub3
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:352,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:352,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:352,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:352,1
    - Dst: swap_reg
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:358,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - ' p'
    - ' ws'
    argTypes:
    - BigInt
    - secure_vector<word>
    constantsTouched: []
    func_position:
      end: 362
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 362
    functionName: Botan::BigInt::reduce_below
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_negative
    - _data
    - clear_mem
    - swap_reg
    - is_negative
    - data
    - size
    - resize
    - bigint_sub3
    - Invalid_Argument
    - grow_to
    linkageType: ''
    returnType: size_t
    signature: size_t BigInt::reduce_below(const BigInt& p, secure_vector<word>& ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:365,1
    - Dst: Botan::BigInt::is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:365,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:366,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:371,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:375,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:377,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:377,1
    - Dst: bigint_sub3
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:380,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:380,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:380,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:380,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:382,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:382,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:382,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' mod'
    - ' ws'
    - bound
    argTypes:
    - BigInt
    - secure_vector<word>
    - size_t
    constantsTouched: []
    func_position:
      end: 384
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 384
    functionName: Botan::BigInt::ct_reduce_below
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_negative
    - _data
    - clear_mem
    - is_negative
    - data
    - Botan::Sodium::sodium_is_zero
    - resize
    - mutable_data
    - bigint_sub3
    - Invalid_Argument
    - grow_to
    linkageType: ''
    returnType: void
    signature: void BigInt::ct_reduce_below(const BigInt& mod, secure_vector<word>&
      ws, size_t bound)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: Botan::BigInt::abs
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - BigInt::set_sign
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::abs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:399,1
    - Dst: Botan::BigInt::bytes
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:399,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:399,1
    - Dst: Botan::BigInt::binary_encode
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:401,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:401,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 402
    functionName: Botan::BigInt::serialize_to
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - std::span<uint8_t>::data
    - Botan::BigInt::binary_encode
    - BOTAN_ARG_CHECK
    - Botan::BigInt::bytes
    linkageType: ''
    returnType: void
    signature: void BigInt::serialize_to(std::span<uint8_t> output) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:412,1
    - Dst: store_be
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:413,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:417,1
    - Dst: get_byte_var
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - output
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 423
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 423
    functionName: Botan::BigInt::binary_encode
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 2
    functionsReached:
    - get_byte_var
    - word_at
    - store_be
    linkageType: ''
    returnType: void
    signature: void BigInt::binary_encode(uint8_t output[], size_t len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:429,1
    - Dst: round_up
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:435,1
    - Dst: load_be<word>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:438,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:438,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:439,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:439,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:442,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:443,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:443,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:445,1
    - Dst: last
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:445,1
    - Dst: load_be<word>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:446,1
    - Dst: swap
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 450
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 450
    functionName: Botan::BigInt::assign_from_bytes
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - swap
    - std::span<const uint8_t>::empty
    - clear
    - copy_mem
    - round_up
    - std::span<const uint8_t>::last
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::first
    - load_be<word>
    - last
    linkageType: ''
    returnType: void
    signature: void BigInt::assign_from_bytes(std::span<const uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:453,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:453,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:454,1
    - Dst: Botan::BigInt::grow_to
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:456,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:456,1
    - Dst: bigint_cnd_add
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:458,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:458,1
    - Dst: Botan::BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:458,1
    - Dst: Botan::BigInt::size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:458,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:458,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - predicate
    - ' value'
    argTypes:
    - bool
    - BigInt
    constantsTouched: []
    func_position:
      end: 459
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 459
    functionName: Botan::BigInt::ct_cond_add
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::is_negative
    - Botan::BigInt::size
    - bigint_cnd_add
    - _data
    - is_negative
    - Botan::BigInt::mutable_data
    - Invalid_Argument
    - sig_words
    - Botan::BigInt::grow_to
    - static_cast<word>
    linkageType: ''
    returnType: void
    signature: void BigInt::ct_cond_add(bool predicate, const BigInt& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:463,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:463,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:463,1
    - Dst: bigint_shl2
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:464,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:464,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:464,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:464,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:466,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:466,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:466,1
    - Dst: bigint_shl2
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:471,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:471,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:471,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:471,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:473,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:473,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:476,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:476,1
    - Dst: BigInt::resize
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:486,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:486,1
    - Dst: shl_bit
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:488,1
    - Dst: Botan::BigInt::ct_cond_assign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:489,1
    - Dst: shl_word
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:490,1
    - Dst: Botan::BigInt::ct_cond_assign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - shift
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 493
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 493
    functionName: Botan::BigInt::ct_shift_left
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - _data
    - clear_mem
    - BOTAN_ASSERT_NOMSG
    - BOTAN_DEBUG_ASSERT
    - shl_bit
    - bigint_shl2
    - Botan::BigInt::ct_cond_assign
    - BigInt::resize
    - size
    - mutable_data
    - shl_word
    linkageType: ''
    returnType: void
    signature: void BigInt::ct_shift_left(size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:497,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:498,1
    - Dst: bigint_cnd_swap
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:500,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:500,1
    - Dst: Botan::BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:500,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - predicate
    - ' other'
    argTypes:
    - bool
    - BigInt
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: Botan::BigInt::ct_cond_swap
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - bigint_cnd_swap
    - Botan::BigInt::mutable_data
    - mutable_data
    - grow_to
    - static_cast<word>
    linkageType: ''
    returnType: void
    signature: void BigInt::ct_cond_swap(bool predicate, BigInt& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:506,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:512,1
    - Dst: static_cast<Sign>
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - predicate
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 513
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 513
    functionName: Botan::BigInt::cond_flip_sign
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Sign>
    - Botan::sha512_msg_expand
    - set_sign
    linkageType: ''
    returnType: void
    signature: void BigInt::cond_flip_sign(bool predicate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:520,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:525,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:528,1
    - Dst: Botan::BigInt::word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:529,1
    - Dst: Botan::BigInt::set_word_at
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:530,1
    - Dst: auto::select
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:530,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:533,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:533,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:533,1
    - Dst: Botan::BigInt::cond_flip_sign
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:534,1
    - Dst: auto::as_choice
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:534,1
    - Dst: as_bool
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - predicate
    - ' other'
    argTypes:
    - bool
    - BigInt
    constantsTouched: []
    func_position:
      end: 535
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 535
    functionName: Botan::BigInt::ct_cond_assign
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 1
    functionsReached:
    - auto::select
    - sign
    - Botan::BigInt::set_word_at
    - as_bool
    - Botan::BigInt::word_at
    - Botan::BigInt::is_equal
    - Botan::sha512_msg_expand
    - Botan::BigInt::cond_flip_sign
    - auto::as_choice
    - word_at
    - grow_to
    linkageType: ''
    returnType: void
    signature: void BigInt::ct_cond_assign(bool predicate, const BigInt& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:538,1
    - Dst: const_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:538,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 539
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 539
    functionName: Botan::BigInt::_const_time_poison
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    - const_data
    - size
    linkageType: ''
    returnType: void
    signature: void BigInt::_const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:542,1
    - Dst: const_data
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:542,1
    - Dst: size
      Src: /src/botan/src/lib/math/bigint/bigint.cpp:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 543
    functionName: Botan::BigInt::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    - const_data
    - size
    linkageType: ''
    returnType: void
    signature: void BigInt::_const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: Botan::decimal_conversion_radix
    functionSourceFile: /src/botan/src/lib/math/bigint/big_code.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: word
    signature: word decimal_conversion_radix()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: Botan::decimal_conversion_radix_digits
    functionSourceFile: /src/botan/src/lib/math/bigint/big_code.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t decimal_conversion_radix_digits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decimal_conversion_radix
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:38,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:49,1
    - Dst: ct_divide_word
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:56,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:60,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:60,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:71,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:76,1
    - Dst: std::vector::back
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:76,1
    - Dst: std::vector::pop_back
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:77,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:80,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:80,1
    - Dst: std::string::reserve
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:84,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:84,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:86,1
    - Dst: std::vector::rbegin
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:91,1
    - Dst: std::vector::rend
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:91,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:92,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 100
    functionName: Botan::BigInt::to_dec_string
    functionSourceFile: /src/botan/src/lib/math/bigint/big_code.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - BOTAN_ASSERT_NOMSG
    - std::vector::empty
    - std::vector::pop_back
    - std::vector::back
    - ct_divide_word
    - is_negative
    - decimal_conversion_radix
    - std::string::push_back
    - std::vector::rbegin
    - std::vector::rend
    - std::string::empty
    - std::string::reserve
    - BigInt::is_zero
    - static_cast<uint8_t>
    - BigInt::set_sign
    linkageType: ''
    returnType: std::string
    signature: std::string BigInt::to_dec_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::max<size_t>
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:104,1
    - Dst: Botan::BigInt::serialize_to
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:107,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:111,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: Botan::BigInt::to_hex_string
    functionSourceFile: /src/botan/src/lib/math/bigint/big_code.cpp
    functionUses: 5
    functionsReached:
    - hex_encode
    - is_negative
    - std::max<size_t>
    - Botan::BigInt::serialize_to
    linkageType: ''
    returnType: std::string
    signature: std::string BigInt::to_hex_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:123,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:123,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:124,1
    - Dst: Botan::BigInt::bytes
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:126,1
    - Dst: Botan::BigInt::bytes
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:126,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:127,1
    - Dst: Botan::BigInt::serialize_to
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:131,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:131,1
    - Dst: Botan::BigInt::serialize_to
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:132,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - ' n1'
    - ' n2'
    - bytes
    argTypes:
    - BigInt
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: Botan::BigInt::encode_fixed_length_int_pair
    functionSourceFile: /src/botan/src/lib/math/bigint/big_code.cpp
    functionUses: 4
    functionsReached:
    - is_negative
    - Encoding_Error
    - Botan::BigInt::serialize_to
    - BufferStuffer::next
    - Botan::BigInt::bytes
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> BigInt::encode_fixed_length_int_pair(const BigInt&
      n1, const BigInt& n2, size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:138,1
    - Dst: Botan::BigInt::decode
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:140,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:140,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - base
    argTypes:
    - std::span<const uint8_t>
    - Base
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: Botan::BigInt::decode
    functionSourceFile: /src/botan/src/lib/math/bigint/big_code.cpp
    functionUses: 4
    functionsReached:
    - Botan::BigInt::from_bytes
    - Botan::BigInt::decode
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::decode(std::span<const uint8_t> buf, Base base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:148,1
    - Dst: hex_decode_locked
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:157,1
    - Dst: hex_decode_locked
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:160,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:160,1
    - Dst: hex_decode_locked
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:163,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:163,1
    - Dst: BigInt::assign_from_bytes
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:166,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:175,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:179,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_code.cpp:186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - length
    - base
    argTypes:
    - uint8_t[]
    - size_t
    - Base
    constantsTouched: []
    func_position:
      end: 188
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 188
    functionName: Botan::BigInt::decode
    functionSourceFile: /src/botan/src/lib/math/bigint/big_code.cpp
    functionUses: 4
    functionsReached:
    - hex_decode_locked
    - BOTAN_ASSERT_NOMSG
    - BigInt::assign_from_bytes
    - Botan::BigInt::from_bytes
    - Invalid_Argument
    - cast_uint8_ptr_to_char
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::decode(const uint8_t buf[], size_t length, Base base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Hexadecimal BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:32,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:33,1
    - Dst: BigInt
      Src: /src/botan/src/lib/math/bigint/bigint.h:49,1
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/lib/math/bigint/bigint.h:54,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:73,1
    - Dst: assign_from_bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:117,1
    - Dst: assign_from_bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:123,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:131,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:144,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:162,1
    - Dst: Botan::swap
      Src: /src/botan/src/lib/math/bigint/bigint.h:167,1
    - Dst: Botan::_const_time_unpoison
      Src: /src/botan/src/lib/math/bigint/bigint.h:169,1
    - Dst: Botan::swap
      Src: /src/botan/src/lib/math/bigint/bigint.h:176,1
    - Dst: swap
      Src: /src/botan/src/lib/math/bigint/bigint.h:192,1
    - Dst: std::swap
      Src: /src/botan/src/lib/math/bigint/bigint.h:193,1
    - Dst: swap
      Src: /src/botan/src/lib/math/bigint/bigint.h:196,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:198,1
    - Dst: swap
      Src: /src/botan/src/lib/math/bigint/bigint.h:199,1
    - Dst: Botan::add
      Src: /src/botan/src/lib/math/bigint/bigint.h:207,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.h:207,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:207,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/bigint.h:207,1
    - Dst: Botan::add
      Src: /src/botan/src/lib/math/bigint/bigint.h:213,1
    - Dst: sub
      Src: /src/botan/src/lib/math/bigint/bigint.h:219,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.h:219,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:219,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/bigint.h:219,1
    - Dst: sub
      Src: /src/botan/src/lib/math/bigint/bigint.h:225,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/math/bigint/bigint.h:307,1
    - Dst: Botan::add
      Src: /src/botan/src/lib/math/bigint/bigint.h:317,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:325,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:331,1
    - Dst: Botan::square
      Src: /src/botan/src/lib/math/bigint/bigint.h:331,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:339,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:349,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:359,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:370,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:380,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:392,1
    - Dst: set_to_zero
      Src: /src/botan/src/lib/math/bigint/bigint.h:400,1
    - Dst: Botan::get_bit
      Src: /src/botan/src/lib/math/bigint/bigint.h:439,1
    - Dst: Botan::get_bit
      Src: /src/botan/src/lib/math/bigint/bigint.h:445,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/bigint/bigint.h:451,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:457,1
    - Dst: conditionally_set_bit
      Src: /src/botan/src/lib/math/bigint/bigint.h:463,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/bigint/bigint.h:475,1
    - Dst: set_word_at
      Src: /src/botan/src/lib/math/bigint/bigint.h:476,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/bigint.h:476,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:489,1
    - Dst: mask_bits
      Src: /src/botan/src/lib/math/bigint/bigint.h:489,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/bigint.h:496,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:505,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:512,1
    - Dst: get_word_at
      Src: /src/botan/src/lib/math/bigint/bigint.h:547,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:549,1
    - Dst: set_word_at
      Src: /src/botan/src/lib/math/bigint/bigint.h:549,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:551,1
    - Dst: set_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:552,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/bigint.h:559,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/bigint.h:565,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/bigint.h:577,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:586,1
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/bigint.h:586,1
    - Dst: reverse_sign
      Src: /src/botan/src/lib/math/bigint/bigint.h:586,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/bigint/bigint.h:593,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/bigint/bigint.h:609,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:615,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:634,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:640,1
    - Dst: mutable_data
      Src: /src/botan/src/lib/math/bigint/bigint.h:640,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:646,1
    - Dst: const_data
      Src: /src/botan/src/lib/math/bigint/bigint.h:646,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:651,1
    - Dst: mutable_vector
      Src: /src/botan/src/lib/math/bigint/bigint.h:652,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:658,1
    - Dst: const_vector
      Src: /src/botan/src/lib/math/bigint/bigint.h:659,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:666,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/bigint.h:666,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:668,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/bigint.h:668,1
    - Dst: Botan::serialize_to
      Src: /src/botan/src/lib/math/bigint/bigint.h:716,1
    - Dst: Botan::serialize
      Src: /src/botan/src/lib/math/bigint/bigint.h:725,1
    - Dst: Botan::bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:725,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:732,1
    - Dst: Botan::serialize_to
      Src: /src/botan/src/lib/math/bigint/bigint.h:733,1
    - Dst: Botan::bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:733,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:750,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:757,1
    - Dst: Botan::assign_from_bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:758,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:765,1
    - Dst: Botan::assign_from_bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:766,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:773,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:779,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:785,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:790,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:796,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:803,1
    - Dst: _const_time_poison
      Src: /src/botan/src/lib/math/bigint/bigint.h:803,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:805,1
    - Dst: Botan::_const_time_unpoison
      Src: /src/botan/src/lib/math/bigint/bigint.h:805,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/math/bigint/bigint.h:822,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:831,1
    - Dst: Botan::serialize
      Src: /src/botan/src/lib/math/bigint/bigint.h:832,1
    - Dst: bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:832,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:840,1
    - Dst: Botan::serialize
      Src: /src/botan/src/lib/math/bigint/bigint.h:841,1
    - Dst: bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:841,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:857,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:858,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:866,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:867,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:877,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:886,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:894,1
    - Dst: Botan::serialize
      Src: /src/botan/src/lib/math/bigint/bigint.h:896,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:899,1
    - Dst: serialize_to
      Src: /src/botan/src/lib/math/bigint/bigint.h:900,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:903,1
    - Dst: serialize_to
      Src: /src/botan/src/lib/math/bigint/bigint.h:905,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/math/bigint/bigint.h:915,1
    - Dst: const_span
      Src: /src/botan/src/lib/math/bigint/bigint.h:926,1
    - Dst: const_data
      Src: /src/botan/src/lib/math/bigint/bigint.h:936,1
    - Dst: assign_from_bytes
      Src: /src/botan/src/lib/math/bigint/bigint.h:947,1
    - Dst: BigInt::m_data::swap
      Src: /src/botan/src/lib/math/bigint/bigint.h:957,1
    - Dst: invalidate_sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:987,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/bigint.h:988,1
    - Dst: data
      Src: /src/botan/src/lib/math/bigint/bigint.h:991,1
    - Dst: invalidate_sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:996,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/bigint/bigint.h:1003,1
    - Dst: invalidate_sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:1010,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/bigint/bigint.h:1011,1
    - Dst: grow_to
      Src: /src/botan/src/lib/math/bigint/bigint.h:1015,1
    - Dst: invalidate_sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:1021,1
    - Dst: assign
      Src: /src/botan/src/lib/math/bigint/bigint.h:1022,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/bigint/bigint.h:1030,1
    - Dst: capacity
      Src: /src/botan/src/lib/math/bigint/bigint.h:1031,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/bigint.h:1032,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/bigint.h:1034,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/bigint/bigint.h:1039,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/bigint.h:1043,1
    - Dst: resize
      Src: /src/botan/src/lib/math/bigint/bigint.h:1046,1
    - Dst: swap
      Src: /src/botan/src/lib/math/bigint/bigint.h:1049,1
    - Dst: std::swap
      Src: /src/botan/src/lib/math/bigint/bigint.h:1050,1
    - Dst: swap
      Src: /src/botan/src/lib/math/bigint/bigint.h:1054,1
    - Dst: invalidate_sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:1055,1
    - Dst: calc_sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:1062,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/math/bigint/bigint.h:1068,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 259
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 1078
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 10
    functionsReached:
    - BigInt::set_bit
    - Botan::is_zero
    - assign
    - assign_from_bytes
    - swap
    - BigInt::m_data::swap
    - Botan::add
    - static_cast<size_t>
    - std::swap
    - set_sign
    - Botan::get_bit
    - const_span
    - Hexadecimal BOTAN_DEPRECATED
    - sign
    - _data
    - set_to_zero
    - set_word_at
    - data
    - Botan::BigInt::from_u64
    - Botan::square
    - set_words
    - mutable_vector
    - Botan::_const_time_unpoison
    - const_vector
    - Botan::assign_from_bytes
    - word_at
    - get_word_at
    - static_cast<word>
    - Botan::bytes
    - BigInt
    - const_data
    - Botan::serialize
    - BOTAN_DEPRECATED
    - Botan::serialize_to
    - calc_sig_words
    - conditionally_set_bit
    - resize
    - reverse_sign
    - mutable_data
    - Botan::BigInt::from_bytes
    - mask_bits
    - invalidate_sig_words
    - sub
    - is_nonzero
    - _const_time_poison
    - capacity
    - bytes
    - Botan::size
    - sig_words
    - grow_to
    - serialize_to
    - Botan::swap
    linkageType: ''
    returnType: BigInt
    signature: BigInt final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::add2
      Src: /src/botan/src/lib/math/bigint/bigint.h:1084,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.h:1084,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:1084,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/bigint.h:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 1085
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1085
    functionName: operator+(const BigInt& x, const BigInt& y)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - sign
    - sig_words
    - Botan::BigInt::add2
    - _data
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator+(const BigInt& x, const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::add2
      Src: /src/botan/src/lib/math/bigint/bigint.h:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 1089
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1089
    functionName: operator+(const BigInt& x, word y)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - Botan::BigInt::add2
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator+(const BigInt& x, word y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - ' y'
    argTypes:
    - word
    - BigInt
    constantsTouched: []
    func_position:
      end: 1093
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1093
    functionName: operator+(word x, const BigInt& y)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator+(word x, const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::add2
      Src: /src/botan/src/lib/math/bigint/bigint.h:1096,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/bigint.h:1096,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/bigint.h:1096,1
    - Dst: reverse_sign
      Src: /src/botan/src/lib/math/bigint/bigint.h:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 1097
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1097
    functionName: operator-(const BigInt& x, const BigInt& y)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - sig_words
    - reverse_sign
    - Botan::BigInt::add2
    - _data
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator-(const BigInt& x, const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::add2
      Src: /src/botan/src/lib/math/bigint/bigint.h:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 1101
      start: 1099
    functionDepth: 1
    functionLinenumber: 1099
    functionLinenumberEnd: 1101
    functionName: operator-(const BigInt& x, word y)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - Botan::BigInt::add2
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator-(const BigInt& x, word y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - ' y'
    argTypes:
    - word
    - BigInt
    constantsTouched: []
    func_position:
      end: 1108
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1108
    functionName: operator*(word x, const BigInt& y)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator*(word x, const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_equal
      Src: /src/botan/src/lib/math/bigint/bigint.h:1121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 1122
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1122
    functionName: operator==(const BigInt& a, const BigInt& b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - is_equal
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BigInt& a, const BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_equal
      Src: /src/botan/src/lib/math/bigint/bigint.h:1125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 1126
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1126
    functionName: operator!=(const BigInt& a, const BigInt& b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - is_equal
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const BigInt& a, const BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/botan/src/lib/math/bigint/bigint.h:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 1130
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1130
    functionName: operator<=(const BigInt& a, const BigInt& b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - cmp
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const BigInt& a, const BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/botan/src/lib/math/bigint/bigint.h:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 1134
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1134
    functionName: operator>=(const BigInt& a, const BigInt& b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - cmp
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const BigInt& a, const BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_less_than
      Src: /src/botan/src/lib/math/bigint/bigint.h:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 1138
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1138
    functionName: operator<(const BigInt& a, const BigInt& b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - is_less_than
    linkageType: ''
    returnType: bool
    signature: bool operator<(const BigInt& a, const BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_less_than
      Src: /src/botan/src/lib/math/bigint/bigint.h:1141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 1142
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1142
    functionName: operator>(const BigInt& a, const BigInt& b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - is_less_than
    linkageType: ''
    returnType: bool
    signature: bool operator>(const BigInt& a, const BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp_word
      Src: /src/botan/src/lib/math/bigint/bigint.h:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 1146
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1146
    functionName: operator==(const BigInt& a, word b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - cmp_word
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BigInt& a, word b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp_word
      Src: /src/botan/src/lib/math/bigint/bigint.h:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 1150
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1150
    functionName: operator!=(const BigInt& a, word b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - cmp_word
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const BigInt& a, word b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp_word
      Src: /src/botan/src/lib/math/bigint/bigint.h:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 1154
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1154
    functionName: operator<=(const BigInt& a, word b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - cmp_word
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const BigInt& a, word b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp_word
      Src: /src/botan/src/lib/math/bigint/bigint.h:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 1158
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1158
    functionName: operator>=(const BigInt& a, word b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - cmp_word
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const BigInt& a, word b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp_word
      Src: /src/botan/src/lib/math/bigint/bigint.h:1161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 1162
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1162
    functionName: operator<(const BigInt& a, word b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - cmp_word
    linkageType: ''
    returnType: bool
    signature: bool operator<(const BigInt& a, word b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp_word
      Src: /src/botan/src/lib/math/bigint/bigint.h:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 1166
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1166
    functionName: operator>(const BigInt& a, word b)
    functionSourceFile: /src/botan/src/lib/math/bigint/bigint.h
    functionUses: 0
    functionsReached:
    - cmp_word
    linkageType: ''
    returnType: bool
    signature: bool operator>(const BigInt& a, word b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cond_flip_sign
      Src: /src/botan/src/lib/math/bigint/divide.cpp:22,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/divide.cpp:22,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/divide.cpp:22,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/divide.cpp:24,1
    - Dst: is_nonzero
      Src: /src/botan/src/lib/math/bigint/divide.cpp:24,1
    - Dst: Botan::abs
      Src: /src/botan/src/lib/math/bigint/divide.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' x'
    - ' y'
    - ' q'
    - ' r'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: Botan::sign_fixup
    functionSourceFile: /src/botan/src/lib/math/bigint/divide.cpp
    functionUses: 0
    functionsReached:
    - sign
    - cond_flip_sign
    - is_nonzero
    - is_negative
    - Botan::abs
    linkageType: ''
    returnType: void
    signature: void sign_fixup(const BigInt& x, const BigInt& y, BigInt& q, BigInt&
      r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/bigint/divide.cpp:37,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/bigint/divide.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - q
    - y2
    - y1
    - x3
    - x2
    - x1
    argTypes:
    - word
    - word
    - word
    - word
    - word
    - word
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: Botan::division_check_vartime
    functionSourceFile: /src/botan/src/lib/math/bigint/divide.cpp
    functionUses: 0
    functionsReached:
    - Botan::word_madd2
    linkageType: ''
    returnType: bool
    signature: bool division_check_vartime(word q, word y2, word y1, word x3, word
      x2, word x1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/bigint/divide.cpp:52,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/divide.cpp:53,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/divide.cpp:61,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/divide.cpp:62,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/divide.cpp:63,1
    - Dst: BigInt::conditionally_set_bit
      Src: /src/botan/src/lib/math/bigint/divide.cpp:70,1
    - Dst: BigInt::conditionally_set_bit
      Src: /src/botan/src/lib/math/bigint/divide.cpp:74,1
    - Dst: BigInt::ct_cond_swap
      Src: /src/botan/src/lib/math/bigint/divide.cpp:75,1
    - Dst: Botan::sign_fixup
      Src: /src/botan/src/lib/math/bigint/divide.cpp:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ' x'
    - ' y'
    - ' q_out'
    - ' r_out'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 81
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 81
    functionName: Botan::ct_divide
    functionSourceFile: /src/botan/src/lib/math/bigint/divide.cpp
    functionUses: 5
    functionsReached:
    - Botan::is_zero
    - BigInt::conditionally_set_bit
    - Botan::sign_fixup
    - BigInt::ct_cond_swap
    - Invalid_Argument
    - Botan::BigInt::with_capacity
    linkageType: ''
    returnType: void
    signature: void ct_divide(const BigInt& x, const BigInt& y, BigInt& q_out, BigInt&
      r_out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/bigint/divide.cpp:84,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/bigint/divide.cpp:84,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/bigint/divide.cpp:85,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/divide.cpp:85,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/bigint/divide.cpp:86,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/bigint/divide.cpp:92,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/bigint/divide.cpp:95,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/divide.cpp:99,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/divide.cpp:100,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/divide.cpp:101,1
    - Dst: BigInt::set_bit
      Src: /src/botan/src/lib/math/bigint/divide.cpp:103,1
    - Dst: Botan::bigint_shl1
      Src: /src/botan/src/lib/math/bigint/divide.cpp:108,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/divide.cpp:108,1
    - Dst: BigInt::size
      Src: /src/botan/src/lib/math/bigint/divide.cpp:108,1
    - Dst: BigInt::size
      Src: /src/botan/src/lib/math/bigint/divide.cpp:108,1
    - Dst: BigInt::conditionally_set_bit
      Src: /src/botan/src/lib/math/bigint/divide.cpp:113,1
    - Dst: Botan::bigint_cnd_swap
      Src: /src/botan/src/lib/math/bigint/divide.cpp:115,1
    - Dst: static_cast<word>
      Src: /src/botan/src/lib/math/bigint/divide.cpp:115,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/divide.cpp:115,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/divide.cpp:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - k
    - ' y'
    argTypes:
    - size_t
    - BigInt
    constantsTouched: []
    func_position:
      end: 121
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 121
    functionName: Botan::ct_divide_pow2k
    functionSourceFile: /src/botan/src/lib/math/bigint/divide.cpp
    functionUses: 1
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - Botan::is_zero
    - BigInt::set_bit
    - BOTAN_ASSERT_NOMSG
    - BigInt::mutable_data
    - BigInt::size
    - is_negative
    - BigInt::conditionally_set_bit
    - Botan::bigint_shl1
    - Botan::bigint_cnd_swap
    - Botan::BigInt::with_capacity
    - BOTAN_ARG_CHECK
    - static_cast<word>
    linkageType: ''
    returnType: BigInt
    signature: BigInt ct_divide_pow2k(size_t k, const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/divide.cpp:125,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/divide.cpp:131,1
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/math/bigint/divide.cpp:138,1
    - Dst: Botan::CT::Mask::is_gte
      Src: /src/botan/src/lib/math/bigint/divide.cpp:143,1
    - Dst: BigInt::conditionally_set_bit
      Src: /src/botan/src/lib/math/bigint/divide.cpp:144,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/math/bigint/divide.cpp:144,1
    - Dst: auto::select
      Src: /src/botan/src/lib/math/bigint/divide.cpp:145,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/divide.cpp:148,1
    - Dst: BigInt::flip_sign
      Src: /src/botan/src/lib/math/bigint/divide.cpp:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - ' x'
    - y
    - ' q_out'
    - ' r_out'
    argTypes:
    - BigInt
    - word
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 158
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 158
    functionName: Botan::ct_divide_word
    functionSourceFile: /src/botan/src/lib/math/bigint/divide.cpp
    functionUses: 5
    functionsReached:
    - auto::select
    - BigInt::flip_sign
    - auto::as_bool
    - is_negative
    - BigInt::conditionally_set_bit
    - Botan::CT::Mask::is_gte
    - Botan::CT::Mask::expand_top_bit
    - Invalid_Argument
    - Botan::BigInt::with_capacity
    linkageType: ''
    returnType: void
    signature: void ct_divide_word(const BigInt& x, word y, BigInt& q_out, word& r_out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ct_divide_word
      Src: /src/botan/src/lib/math/bigint/divide.cpp:163,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/math/bigint/divide.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: Botan::ct_divide_word
    functionSourceFile: /src/botan/src/lib/math/bigint/divide.cpp
    functionUses: 6
    functionsReached:
    - Botan::ct_divide_word
    - BOTAN_UNUSED
    linkageType: ''
    returnType: BigInt
    signature: BigInt ct_divide_word(const BigInt& x, word y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/bigint/divide.cpp:169,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/bigint/divide.cpp:169,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/bigint/divide.cpp:170,1
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/math/bigint/divide.cpp:180,1
    - Dst: Botan::CT::Mask::is_gte
      Src: /src/botan/src/lib/math/bigint/divide.cpp:185,1
    - Dst: auto::select
      Src: /src/botan/src/lib/math/bigint/divide.cpp:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 190
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 190
    functionName: Botan::ct_mod_word
    functionSourceFile: /src/botan/src/lib/math/bigint/divide.cpp
    functionUses: 1
    functionsReached:
    - auto::select
    - Botan::CT::Mask::is_gte
    - Botan::CT::Mask::expand_top_bit
    - is_positive
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: word
    signature: word ct_mod_word(const BigInt& x, word y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/divide.cpp:193,1
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/bigint/divide.cpp:193,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/divide.cpp:194,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/divide.cpp:201,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/divide.cpp:202,1
    - Dst: BigInt::conditionally_set_bit
      Src: /src/botan/src/lib/math/bigint/divide.cpp:209,1
    - Dst: BigInt::ct_cond_swap
      Src: /src/botan/src/lib/math/bigint/divide.cpp:213,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/divide.cpp:216,1
    - Dst: BigInt::is_nonzero
      Src: /src/botan/src/lib/math/bigint/divide.cpp:217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 223
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 223
    functionName: Botan::ct_modulo
    functionSourceFile: /src/botan/src/lib/math/bigint/divide.cpp
    functionUses: 4
    functionsReached:
    - Botan::is_zero
    - is_negative
    - BigInt::conditionally_set_bit
    - BigInt::ct_cond_swap
    - BigInt::is_nonzero
    - Invalid_Argument
    - Botan::BigInt::with_capacity
    linkageType: ''
    returnType: BigInt
    signature: BigInt ct_modulo(const BigInt& x, const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/bigint/divide.cpp:231,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/divide.cpp:232,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/bigint/divide.cpp:237,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/bigint/divide.cpp:242,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/divide.cpp:245,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/divide.cpp:246,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/math/bigint/divide.cpp:260,1
    - Dst: BigInt::grow_to
      Src: /src/botan/src/lib/math/bigint/divide.cpp:262,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/divide.cpp:264,1
    - Dst: BigInt::reduce_below
      Src: /src/botan/src/lib/math/bigint/divide.cpp:269,1
    - Dst: BigInt::word_at
      Src: /src/botan/src/lib/math/bigint/divide.cpp:271,1
    - Dst: BigInt::word_at
      Src: /src/botan/src/lib/math/bigint/divide.cpp:272,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/bigint/divide.cpp:273,1
    - Dst: BigInt::word_at
      Src: /src/botan/src/lib/math/bigint/divide.cpp:276,1
    - Dst: BigInt::word_at
      Src: /src/botan/src/lib/math/bigint/divide.cpp:277,1
    - Dst: BigInt::word_at
      Src: /src/botan/src/lib/math/bigint/divide.cpp:278,1
    - Dst: Botan::bigint_divop_vartime
      Src: /src/botan/src/lib/math/bigint/divide.cpp:280,1
    - Dst: Botan::division_check_vartime
      Src: /src/botan/src/lib/math/bigint/divide.cpp:284,1
    - Dst: BigInt::is_negative
      Src: /src/botan/src/lib/math/bigint/divide.cpp:296,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/bigint/divide.cpp:299,1
    - Dst: BigInt::is_positive
      Src: /src/botan/src/lib/math/bigint/divide.cpp:299,1
    - Dst: Botan::sign_fixup
      Src: /src/botan/src/lib/math/bigint/divide.cpp:309,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 4
    argNames:
    - ' x'
    - ' y_arg'
    - ' q_out'
    - ' r_out'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 313
      start: 230
    functionDepth: 3
    functionLinenumber: 230
    functionLinenumberEnd: 313
    functionName: Botan::vartime_divide
    functionSourceFile: /src/botan/src/lib/math/bigint/divide.cpp
    functionUses: 4
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - Botan::is_zero
    - BOTAN_ASSERT_NOMSG
    - BigInt::mutable_data
    - BigInt::grow_to
    - BOTAN_DEBUG_ASSERT
    - BigInt::is_negative
    - BigInt::word_at
    - Botan::division_check_vartime
    - Botan::sign_fixup
    - BigInt::reduce_below
    - BigInt::is_positive
    - Botan::bigint_divop_vartime
    - Invalid_Argument
    - BigInt::set_sign
    linkageType: ''
    returnType: void
    signature: void vartime_divide(const BigInt& x, const BigInt& y_arg, BigInt& q_out,
      BigInt& r_out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_sign
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:19,1
    - Dst: clear
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:22,1
    - Dst: random_vec
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:24,1
    - Dst: round_up
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:24,1
    - Dst: Botan::BigInt::assign_from_bytes
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' rng'
    - bitsize
    - set_high_bit
    argTypes:
    - RandomNumberGenerator
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 38
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 38
    functionName: Botan::BigInt::randomize
    functionSourceFile: /src/botan/src/lib/math/bigint/big_rand.cpp
    functionUses: 4
    functionsReached:
    - Botan::BigInt::assign_from_bytes
    - random_vec
    - set_sign
    - clear
    - round_up
    linkageType: ''
    returnType: void
    signature: void BigInt::randomize(RandomNumberGenerator& rng, size_t bitsize,
      bool set_high_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:44,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:44,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:45,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:59,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:59,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:62,1
    - Dst: BigInt::randomize
      Src: /src/botan/src/lib/math/bigint/big_rand.cpp:69,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - ' rng'
    - ' min'
    - ' max'
    argTypes:
    - RandomNumberGenerator
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 73
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 73
    functionName: Botan::BigInt::random_integer
    functionSourceFile: /src/botan/src/lib/math/bigint/big_rand.cpp
    functionUses: 12
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - BigInt::randomize
    - BOTAN_DEBUG_ASSERT
    - is_negative
    - Botan::BigInt::random_integer
    - Invalid_Argument
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::random_integer(RandomNumberGenerator& rng, const BigInt&
      min, const BigInt& max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ct_divide
      Src: /src/botan/src/lib/math/bigint/divide.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: Botan::ct_divide
    functionSourceFile: /src/botan/src/lib/math/bigint/divide.h
    functionUses: 6
    functionsReached:
    - Botan::ct_divide
    linkageType: ''
    returnType: BigInt
    signature: BigInt ct_divide(const BigInt& x, const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:22,1
    - Dst: std::max
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:22,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:24,1
    - Dst: bigint_add3
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:25,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:25,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:25,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:26,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:26,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:32,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:34,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:36,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ' x'
    - y
    - y_words
    - y_sign
    argTypes:
    - BigInt
    - word[]
    - size_t
    - BigInt::Sign
    constantsTouched: []
    func_position:
      end: 41
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 41
    functionName: Botan::BigInt::add2
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops3.cpp
    functionUses: 4
    functionsReached:
    - sign
    - _data
    - BigInt::mutable_data
    - std::max
    - bigint_add3
    - Botan::BigInt::with_capacity
    - BigInt::set_sign
    linkageType: ''
    returnType: BigInt
    signature: BigInt BigInt::add2(const BigInt& x, const word y[], size_t y_words,
      BigInt::Sign y_sign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:50,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:50,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:50,1
    - Dst: Botan::bigint_linmul3
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:53,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:53,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:53,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:53,1
    - Dst: Botan::bigint_linmul3
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:55,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:55,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:55,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:55,1
    - Dst: BigInt::size
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:57,1
    - Dst: Botan::bigint_mul
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:59,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:59,1
    - Dst: BigInt::size
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:60,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:61,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:62,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:64,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:65,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:67,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:68,1
    - Dst: BigInt::cond_flip_sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:71,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:71,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:71,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 74
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 74
    functionName: operator*(const BigInt& x, const BigInt& y)
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops3.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - sign
    - _data
    - secure_vector::size
    - BigInt::mutable_data
    - Botan::bigint_linmul3
    - BigInt::size
    - Botan::bigint_mul
    - BigInt::cond_flip_sign
    - Botan::size
    - word_at
    - Botan::BigInt::with_capacity
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator*(const BigInt& x, const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:82,1
    - Dst: Botan::bigint_linmul3
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:85,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:85,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:85,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:86,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: operator*(const BigInt& x, word y)
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops3.cpp
    functionUses: 0
    functionsReached:
    - sign
    - _data
    - BigInt::mutable_data
    - Botan::bigint_linmul3
    - Botan::BigInt::with_capacity
    - BigInt::set_sign
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator*(const BigInt& x, word y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:96,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:97,1
    - Dst: Botan::vartime_divide
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: operator/(const BigInt& x, const BigInt& y)
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops3.cpp
    functionUses: 0
    functionsReached:
    - word_at
    - Botan::vartime_divide
    - sig_words
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator/(const BigInt& x, const BigInt& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:110,1
    - Dst: Botan::ct_divide_word
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: operator/(const BigInt& x, word y)
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops3.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - Botan::ct_divide_word
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator/(const BigInt& x, word y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_zero
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:123,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:124,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:126,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:127,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:129,1
    - Dst: is_positive
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:129,1
    - Dst: sig_words
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:133,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:134,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:134,1
    - Dst: Botan::vartime_divide
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - ' n'
    - ' mod'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 140
      start: 122
    functionDepth: 4
    functionLinenumber: 122
    functionLinenumberEnd: 140
    functionName: operator%(const BigInt& n, const BigInt& mod)
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops3.cpp
    functionUses: 0
    functionsReached:
    - Botan::is_zero
    - word_at
    - is_negative
    - Botan::BigInt::from_word
    - is_positive
    - Invalid_Argument
    - Botan::vartime_divide
    - sig_words
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator%(const BigInt& n, const BigInt& mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:147,1
    - Dst: Botan::is_power_of_2
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:156,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:157,1
    - Dst: Botan::bigint_modop_vartime
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:161,1
    - Dst: word_at
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:161,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ' n'
    - mod
    argTypes:
    - BigInt
    - word
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: operator%(const BigInt& n, word mod)
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops3.cpp
    functionUses: 0
    functionsReached:
    - sign
    - Botan::bigint_modop_vartime
    - Invalid_Argument
    - word_at
    - Botan::is_power_of_2
    linkageType: ''
    returnType: word
    signature: word operator%(const BigInt& n, word mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:178,1
    - Dst: Botan::bigint_shl2
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:179,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:179,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:179,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:180,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: operator<<(const BigInt& x, size_t shift)
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops3.cpp
    functionUses: 0
    functionsReached:
    - Botan::bigint_shl2
    - sign
    - _data
    - BigInt::mutable_data
    - Botan::BigInt::with_capacity
    - BigInt::set_sign
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator<<(const BigInt& x, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:192,1
    - Dst: Botan::BigInt::with_capacity
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:195,1
    - Dst: Botan::bigint_shr2
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:196,1
    - Dst: BigInt::mutable_data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:196,1
    - Dst: _data
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:196,1
    - Dst: is_negative
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:198,1
    - Dst: BigInt::is_zero
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:198,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:199,1
    - Dst: BigInt::set_sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:201,1
    - Dst: sign
      Src: /src/botan/src/lib/math/bigint/big_ops3.cpp:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 205
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 205
    functionName: operator>>(const BigInt& x, size_t shift)
    functionSourceFile: /src/botan/src/lib/math/bigint/big_ops3.cpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - sign
    - _data
    - BigInt::mutable_data
    - is_negative
    - Botan::bigint_shr2
    - BigInt::is_zero
    - Botan::BigInt::with_capacity
    - BigInt::set_sign
    linkageType: ''
    returnType: BigInt
    signature: BigInt operator>>(const BigInt& x, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flags
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:18,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:21,1
    - Dst: to_dec_string
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:28,1
    - Dst: to_hex_string
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:30,1
    - Dst: good
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:33,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:34,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ' stream'
    - ' n'
    argTypes:
    - std::ostream
    - BigInt
    constantsTouched: []
    func_position:
      end: 37
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 37
    functionName: '& operator<<(std::ostream& stream, const BigInt& n)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_io.cpp
    functionUses: 0
    functionsReached:
    - to_dec_string
    - to_hex_string
    - Stream_IO_Error
    - Invalid_Argument
    - flags
    - good
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& stream, const BigInt& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:44,1
    - Dst: bad
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:45,1
    - Dst: fail
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:45,1
    - Dst: eof
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:45,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:46,1
    - Dst: BigInt
      Src: /src/botan/src/lib/math/bigint/big_io.cpp:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ' stream'
    - ' n'
    argTypes:
    - std::istream
    - BigInt
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: '& operator>>(std::istream& stream, BigInt& n)'
    functionSourceFile: /src/botan/src/lib/math/bigint/big_io.cpp
    functionUses: 0
    functionsReached:
    - fail
    - BigInt
    - bad
    - eof
    - std::getline
    - Stream_IO_Error
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& stream, BigInt& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:16,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:17,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:18,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:19,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:20,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:21,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:22,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:23,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:24,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:25,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:26,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:27,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:28,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:29,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:30,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:31,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:32,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:33,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:34,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:35,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:36,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:37,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:38,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:39,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:40,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:41,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:42,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:43,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:44,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 5
    argNames:
    - r
    - z
    - p
    - p_dash
    - ws
    argTypes:
    - word[]
    - word[]
    - word[]
    - word
    - word[]
    constantsTouched: []
    func_position:
      end: 46
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 46
    functionName: Botan::bigint_monty_redc_4
    functionSourceFile: /src/botan/src/lib/math/mp/mp_monty_n.cpp
    functionUses: 2
    functionsReached:
    - word3::add
    - word3::monty_step
    - word3::extract
    - word3::mul
    - Botan::bigint_monty_maybe_sub
    linkageType: ''
    returnType: void
    signature: void bigint_monty_redc_4(word r[4], const word z[8], const word p[4],
      word p_dash, word ws[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:50,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:51,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:52,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:53,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:54,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:55,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:56,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:57,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:58,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:59,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:60,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:61,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:62,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:63,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:64,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:65,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:66,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:67,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:68,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:69,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:70,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:71,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:72,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:73,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:74,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:75,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:76,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:77,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:78,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:79,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:80,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:81,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:82,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:83,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:84,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:85,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:86,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:87,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:88,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:89,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:90,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:91,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:92,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:93,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:94,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:95,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:96,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:97,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:98,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:99,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:100,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:101,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:102,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:103,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:104,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 5
    argNames:
    - r
    - z
    - p
    - p_dash
    - ws
    argTypes:
    - word[]
    - word[]
    - word[]
    - word
    - word[]
    constantsTouched: []
    func_position:
      end: 106
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 106
    functionName: Botan::bigint_monty_redc_6
    functionSourceFile: /src/botan/src/lib/math/mp/mp_monty_n.cpp
    functionUses: 2
    functionsReached:
    - word3::add
    - word3::monty_step
    - word3::extract
    - word3::mul
    - Botan::bigint_monty_maybe_sub
    linkageType: ''
    returnType: void
    signature: void bigint_monty_redc_6(word r[6], const word z[12], const word p[6],
      word p_dash, word ws[6])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:110,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:111,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:112,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:113,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:114,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:115,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:116,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:117,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:118,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:119,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:120,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:121,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:122,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:123,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:124,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:125,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:126,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:127,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:128,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:129,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:130,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:131,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:132,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:133,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:134,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:135,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:136,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:137,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:138,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:139,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:140,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:141,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:142,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:143,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:144,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:145,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:146,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:147,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:148,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:149,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:150,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:151,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:152,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:153,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:154,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:155,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:156,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:157,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:158,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:159,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:160,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:161,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:162,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:163,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:164,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:165,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:166,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:167,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:168,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:169,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:170,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:171,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:172,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:173,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:174,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:175,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:176,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:177,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:178,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:179,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:180,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:181,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:182,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:183,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:184,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:185,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:186,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:187,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:188,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:189,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:190,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:191,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:192,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:193,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:194,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:195,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:196,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:197,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:198,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 90
    argCount: 5
    argNames:
    - r
    - z
    - p
    - p_dash
    - ws
    argTypes:
    - word[]
    - word[]
    - word[]
    - word
    - word[]
    constantsTouched: []
    func_position:
      end: 200
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 200
    functionName: Botan::bigint_monty_redc_8
    functionSourceFile: /src/botan/src/lib/math/mp/mp_monty_n.cpp
    functionUses: 2
    functionsReached:
    - word3::add
    - word3::monty_step
    - word3::extract
    - word3::mul
    - Botan::bigint_monty_maybe_sub
    linkageType: ''
    returnType: void
    signature: void bigint_monty_redc_8(word r[8], const word z[16], const word p[8],
      word p_dash, word ws[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:204,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:205,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:206,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:207,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:208,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:209,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:210,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:211,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:212,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:213,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:214,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:215,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:216,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:217,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:218,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:219,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:220,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:221,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:222,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:223,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:224,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:225,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:226,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:227,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:228,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:229,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:230,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:231,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:232,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:233,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:234,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:235,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:236,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:237,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:238,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:239,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:240,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:241,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:242,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:243,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:244,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:245,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:246,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:247,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:248,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:249,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:250,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:251,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:252,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:253,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:254,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:255,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:256,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:257,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:258,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:259,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:260,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:261,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:262,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:263,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:264,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:265,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:266,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:267,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:268,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:269,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:270,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:271,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:272,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:273,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:274,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:275,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:276,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:277,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:278,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:279,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:280,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:281,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:282,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:283,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:284,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:285,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:286,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:287,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:288,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:289,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:290,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:291,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:292,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:293,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:294,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:295,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:296,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:297,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:298,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:299,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:300,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:301,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:302,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:303,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:304,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:305,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:306,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:307,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:308,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:309,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:310,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:311,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:312,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:313,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:314,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:315,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:316,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:317,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:318,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:319,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:320,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:321,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:322,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:323,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:324,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:325,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:326,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:327,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:328,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:329,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:330,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:331,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:332,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:333,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:334,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:335,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:336,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:337,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:338,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:339,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:340,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:341,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:342,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:343,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:344,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:345,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:346,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:347,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:348,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:349,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:350,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:351,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:352,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:353,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:354,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:355,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:356,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:357,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:358,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:359,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:360,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:361,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:362,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:363,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:364,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:365,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:366,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:367,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:368,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:369,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:370,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:371,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:372,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:373,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:374,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:375,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:376,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:377,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:378,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:379,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:380,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:381,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:382,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:383,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:384,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 182
    argCount: 5
    argNames:
    - r
    - z
    - p
    - p_dash
    - ws
    argTypes:
    - word[]
    - word[]
    - word[]
    - word
    - word[]
    constantsTouched: []
    func_position:
      end: 386
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 386
    functionName: Botan::bigint_monty_redc_12
    functionSourceFile: /src/botan/src/lib/math/mp/mp_monty_n.cpp
    functionUses: 1
    functionsReached:
    - word3::add
    - word3::monty_step
    - word3::extract
    - word3::mul
    - Botan::bigint_monty_maybe_sub
    linkageType: ''
    returnType: void
    signature: void bigint_monty_redc_12(word r[12], const word z[24], const word
      p[12], word p_dash, word ws[12])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:390,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:391,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:392,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:393,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:394,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:395,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:396,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:397,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:398,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:399,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:400,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:401,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:402,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:403,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:404,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:405,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:406,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:407,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:408,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:409,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:410,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:411,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:412,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:413,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:414,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:415,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:416,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:417,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:418,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:419,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:420,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:421,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:422,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:423,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:424,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:425,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:426,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:427,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:428,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:429,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:430,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:431,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:432,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:433,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:434,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:435,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:436,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:437,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:438,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:439,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:440,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:441,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:442,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:443,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:444,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:445,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:446,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:447,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:448,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:449,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:450,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:451,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:452,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:453,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:454,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:455,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:456,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:457,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:458,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:459,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:460,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:461,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:462,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:463,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:464,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:465,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:466,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:467,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:468,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:469,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:470,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:471,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:472,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:473,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:474,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:475,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:476,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:477,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:478,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:479,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:480,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:481,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:482,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:483,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:484,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:485,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:486,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:487,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:488,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:489,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:490,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:491,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:492,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:493,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:494,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:495,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:496,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:497,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:498,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:499,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:500,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:501,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:502,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:503,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:504,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:505,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:506,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:507,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:508,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:509,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:510,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:511,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:512,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:513,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:514,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:515,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:516,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:517,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:518,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:519,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:520,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:521,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:522,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:523,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:524,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:525,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:526,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:527,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:528,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:529,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:530,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:531,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:532,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:533,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:534,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:535,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:536,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:537,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:538,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:539,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:540,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:541,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:542,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:543,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:544,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:545,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:546,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:547,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:548,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:549,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:550,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:551,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:552,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:553,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:554,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:555,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:556,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:557,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:558,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:559,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:560,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:561,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:562,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:563,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:564,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:565,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:566,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:567,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:568,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:569,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:570,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:571,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:572,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:573,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:574,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:575,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:576,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:577,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:578,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:579,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:580,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:581,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:582,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:583,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:584,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:585,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:586,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:587,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:588,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:589,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:590,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:591,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:592,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:593,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:594,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:595,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:596,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:597,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:598,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:599,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:600,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:601,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:602,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:603,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:604,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:605,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:606,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:607,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:608,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:609,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:610,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:611,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:612,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:613,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:614,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:615,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:616,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:617,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:618,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:619,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:620,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:621,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:622,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:623,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:624,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:625,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:626,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:627,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:628,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:629,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:630,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:631,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:632,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:633,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:634,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:635,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:636,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:637,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:638,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:639,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:640,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:641,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:642,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:643,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:644,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:645,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:646,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:647,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:648,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:649,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:650,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:651,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:652,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:653,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:654,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:655,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:656,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:657,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:658,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:659,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:660,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:661,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:662,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:663,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:664,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:665,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:666,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:667,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:668,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:669,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:670,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:671,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:672,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:673,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:674,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:675,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:676,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:677,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:678,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:679,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:680,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:681,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:682,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:683,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:684,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:685,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:686,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:687,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:688,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:689,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:690,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:691,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:692,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:693,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:694,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 306
    argCount: 5
    argNames:
    - r
    - z
    - p
    - p_dash
    - ws
    argTypes:
    - word[]
    - word[]
    - word[]
    - word
    - word[]
    constantsTouched: []
    func_position:
      end: 696
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 696
    functionName: Botan::bigint_monty_redc_16
    functionSourceFile: /src/botan/src/lib/math/mp/mp_monty_n.cpp
    functionUses: 2
    functionsReached:
    - word3::add
    - word3::monty_step
    - word3::extract
    - word3::mul
    - Botan::bigint_monty_maybe_sub
    linkageType: ''
    returnType: void
    signature: void bigint_monty_redc_16(word r[16], const word z[32], const word
      p[16], word p_dash, word ws[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:700,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:701,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:702,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:703,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:704,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:705,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:706,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:707,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:708,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:709,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:710,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:711,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:712,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:713,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:714,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:715,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:716,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:717,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:718,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:719,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:720,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:721,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:722,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:723,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:724,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:725,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:726,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:727,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:728,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:729,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:730,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:731,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:732,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:733,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:734,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:735,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:736,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:737,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:738,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:739,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:740,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:741,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:742,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:743,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:744,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:745,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:746,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:747,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:748,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:749,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:750,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:751,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:752,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:753,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:754,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:755,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:756,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:757,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:758,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:759,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:760,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:761,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:762,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:763,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:764,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:765,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:766,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:767,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:768,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:769,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:770,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:771,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:772,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:773,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:774,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:775,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:776,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:777,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:778,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:779,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:780,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:781,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:782,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:783,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:784,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:785,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:786,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:787,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:788,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:789,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:790,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:791,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:792,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:793,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:794,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:795,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:796,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:797,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:798,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:799,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:800,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:801,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:802,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:803,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:804,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:805,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:806,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:807,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:808,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:809,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:810,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:811,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:812,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:813,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:814,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:815,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:816,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:817,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:818,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:819,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:820,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:821,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:822,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:823,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:824,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:825,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:826,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:827,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:828,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:829,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:830,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:831,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:832,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:833,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:834,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:835,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:836,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:837,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:838,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:839,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:840,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:841,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:842,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:843,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:844,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:845,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:846,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:847,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:848,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:849,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:850,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:851,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:852,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:853,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:854,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:855,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:856,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:857,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:858,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:859,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:860,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:861,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:862,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:863,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:864,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:865,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:866,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:867,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:868,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:869,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:870,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:871,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:872,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:873,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:874,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:875,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:876,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:877,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:878,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:879,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:880,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:881,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:882,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:883,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:884,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:885,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:886,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:887,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:888,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:889,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:890,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:891,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:892,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:893,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:894,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:895,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:896,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:897,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:898,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:899,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:900,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:901,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:902,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:903,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:904,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:905,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:906,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:907,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:908,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:909,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:910,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:911,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:912,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:913,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:914,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:915,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:916,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:917,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:918,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:919,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:920,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:921,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:922,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:923,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:924,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:925,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:926,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:927,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:928,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:929,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:930,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:931,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:932,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:933,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:934,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:935,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:936,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:937,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:938,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:939,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:940,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:941,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:942,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:943,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:944,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:945,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:946,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:947,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:948,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:949,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:950,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:951,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:952,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:953,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:954,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:955,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:956,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:957,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:958,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:959,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:960,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:961,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:962,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:963,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:964,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:965,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:966,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:967,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:968,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:969,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:970,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:971,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:972,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:973,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:974,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:975,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:976,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:977,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:978,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:979,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:980,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:981,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:982,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:983,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:984,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:985,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:986,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:987,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:988,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:989,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:990,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:991,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:992,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:993,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:994,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:995,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:996,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:997,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:998,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:999,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1000,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1001,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1002,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1003,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1004,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1005,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1006,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1007,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1008,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1009,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1010,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1011,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1012,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1013,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1014,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1015,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1016,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1017,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1018,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1019,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1020,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1021,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1022,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1023,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1024,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1025,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1026,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1027,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1028,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1029,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1030,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1031,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1032,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1033,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1034,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1035,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1036,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1037,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1038,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1039,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1040,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1041,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1042,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1043,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1044,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1045,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1046,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1047,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1048,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1049,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1050,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1051,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1052,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1053,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1054,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1055,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1056,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1057,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1058,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1059,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1060,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1061,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1062,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1063,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1064,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1065,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1066,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1067,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1068,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1069,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1070,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1071,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1072,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1073,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1074,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1075,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1076,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1077,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1078,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1079,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1080,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1081,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1082,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1083,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1084,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1085,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1086,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1087,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1088,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1089,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1090,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1091,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1092,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1093,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1094,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1095,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1096,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1097,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1098,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1099,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1100,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1101,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1102,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1103,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1104,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1105,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1106,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1107,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1108,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1109,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1110,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1111,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1112,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1113,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1114,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1115,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1116,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1117,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1118,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1119,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1120,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1121,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1122,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1123,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1124,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1125,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1126,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1127,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1128,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1129,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1130,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1131,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1132,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1133,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1134,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1135,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1136,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1137,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1138,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1139,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1140,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1141,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1142,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1143,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1144,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1145,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1146,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1147,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1148,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1149,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1150,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1151,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1152,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1153,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1154,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1155,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1156,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1157,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1158,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1159,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1160,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1161,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1162,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1163,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1164,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1165,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1166,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1167,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1168,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1169,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1170,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1171,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1172,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1173,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1174,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1175,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1176,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1177,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1178,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1179,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1180,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1181,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1182,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1183,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1184,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1185,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1186,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1187,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1188,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1189,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1190,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1191,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1192,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1193,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1194,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1195,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1196,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1197,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1198,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1199,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1200,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1201,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1202,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1203,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1204,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1205,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1206,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1207,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1208,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1209,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1210,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1211,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1212,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1213,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1214,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1215,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1216,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1217,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1218,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1219,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1220,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1221,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1222,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1223,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1224,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1225,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1226,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1227,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1228,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1229,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1230,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1231,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1232,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1233,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1234,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1235,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1236,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1237,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1238,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1239,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1240,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1241,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1242,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1243,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1244,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1245,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1246,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1247,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1248,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1249,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1250,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1251,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1252,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1253,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1254,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1255,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1256,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1257,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1258,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1259,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1260,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1261,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1262,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1263,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1264,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1265,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1266,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1267,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1268,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1269,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1270,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1271,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1272,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1273,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1274,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1275,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1276,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1277,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1278,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1279,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1280,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1281,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1282,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1283,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1284,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1285,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1286,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1287,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1288,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1289,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1290,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1291,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1292,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1293,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1294,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1295,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1296,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1297,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1298,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1299,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1300,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1301,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1302,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1303,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1304,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1305,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1306,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1307,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1308,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1309,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1310,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1311,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1312,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1313,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1314,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1315,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1316,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1317,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1318,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1319,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1320,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1321,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1322,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1323,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1324,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1325,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1326,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1327,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1328,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1329,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1330,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1331,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1332,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1333,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1334,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1335,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1336,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1337,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1338,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1339,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1340,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1341,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1342,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1343,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1344,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1345,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1346,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1347,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1348,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 650
    argCount: 5
    argNames:
    - r
    - z
    - p
    - p_dash
    - ws
    argTypes:
    - word[]
    - word[]
    - word[]
    - word
    - word[]
    constantsTouched: []
    func_position:
      end: 1350
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 1350
    functionName: Botan::bigint_monty_redc_24
    functionSourceFile: /src/botan/src/lib/math/mp/mp_monty_n.cpp
    functionUses: 1
    functionsReached:
    - word3::add
    - word3::monty_step
    - word3::extract
    - word3::mul
    - Botan::bigint_monty_maybe_sub
    linkageType: ''
    returnType: void
    signature: void bigint_monty_redc_24(word r[24], const word z[48], const word
      p[24], word p_dash, word ws[24])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1354,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1355,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1356,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1357,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1358,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1359,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1360,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1361,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1362,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1363,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1364,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1365,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1366,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1367,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1368,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1369,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1370,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1371,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1372,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1373,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1374,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1375,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1376,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1377,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1378,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1379,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1380,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1381,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1382,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1383,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1384,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1385,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1386,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1387,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1388,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1389,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1390,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1391,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1392,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1393,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1394,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1395,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1396,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1397,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1398,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1399,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1400,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1401,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1402,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1403,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1404,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1405,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1406,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1407,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1408,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1409,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1410,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1411,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1412,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1413,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1414,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1415,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1416,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1417,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1418,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1419,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1420,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1421,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1422,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1423,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1424,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1425,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1426,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1427,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1428,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1429,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1430,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1431,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1432,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1433,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1434,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1435,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1436,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1437,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1438,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1439,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1440,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1441,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1442,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1443,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1444,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1445,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1446,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1447,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1448,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1449,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1450,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1451,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1452,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1453,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1454,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1455,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1456,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1457,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1458,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1459,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1460,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1461,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1462,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1463,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1464,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1465,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1466,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1467,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1468,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1469,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1470,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1471,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1472,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1473,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1474,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1475,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1476,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1477,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1478,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1479,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1480,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1481,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1482,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1483,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1484,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1485,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1486,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1487,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1488,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1489,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1490,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1491,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1492,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1493,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1494,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1495,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1496,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1497,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1498,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1499,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1500,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1501,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1502,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1503,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1504,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1505,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1506,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1507,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1508,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1509,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1510,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1511,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1512,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1513,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1514,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1515,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1516,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1517,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1518,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1519,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1520,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1521,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1522,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1523,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1524,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1525,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1526,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1527,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1528,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1529,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1530,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1531,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1532,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1533,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1534,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1535,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1536,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1537,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1538,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1539,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1540,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1541,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1542,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1543,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1544,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1545,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1546,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1547,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1548,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1549,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1550,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1551,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1552,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1553,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1554,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1555,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1556,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1557,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1558,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1559,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1560,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1561,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1562,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1563,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1564,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1565,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1566,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1567,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1568,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1569,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1570,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1571,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1572,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1573,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1574,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1575,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1576,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1577,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1578,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1579,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1580,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1581,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1582,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1583,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1584,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1585,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1586,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1587,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1588,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1589,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1590,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1591,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1592,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1593,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1594,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1595,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1596,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1597,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1598,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1599,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1600,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1601,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1602,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1603,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1604,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1605,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1606,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1607,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1608,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1609,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1610,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1611,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1612,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1613,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1614,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1615,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1616,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1617,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1618,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1619,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1620,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1621,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1622,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1623,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1624,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1625,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1626,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1627,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1628,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1629,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1630,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1631,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1632,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1633,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1634,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1635,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1636,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1637,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1638,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1639,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1640,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1641,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1642,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1643,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1644,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1645,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1646,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1647,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1648,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1649,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1650,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1651,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1652,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1653,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1654,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1655,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1656,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1657,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1658,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1659,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1660,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1661,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1662,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1663,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1664,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1665,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1666,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1667,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1668,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1669,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1670,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1671,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1672,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1673,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1674,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1675,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1676,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1677,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1678,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1679,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1680,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1681,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1682,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1683,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1684,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1685,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1686,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1687,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1688,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1689,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1690,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1691,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1692,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1693,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1694,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1695,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1696,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1697,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1698,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1699,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1700,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1701,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1702,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1703,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1704,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1705,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1706,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1707,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1708,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1709,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1710,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1711,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1712,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1713,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1714,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1715,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1716,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1717,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1718,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1719,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1720,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1721,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1722,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1723,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1724,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1725,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1726,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1727,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1728,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1729,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1730,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1731,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1732,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1733,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1734,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1735,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1736,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1737,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1738,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1739,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1740,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1741,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1742,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1743,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1744,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1745,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1746,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1747,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1748,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1749,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1750,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1751,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1752,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1753,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1754,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1755,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1756,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1757,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1758,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1759,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1760,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1761,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1762,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1763,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1764,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1765,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1766,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1767,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1768,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1769,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1770,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1771,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1772,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1773,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1774,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1775,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1776,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1777,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1778,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1779,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1780,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1781,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1782,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1783,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1784,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1785,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1786,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1787,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1788,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1789,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1790,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1791,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1792,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1793,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1794,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1795,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1796,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1797,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1798,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1799,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1800,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1801,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1802,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1803,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1804,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1805,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1806,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1807,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1808,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1809,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1810,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1811,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1812,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1813,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1814,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1815,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1816,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1817,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1818,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1819,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1820,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1821,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1822,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1823,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1824,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1825,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1826,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1827,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1828,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1829,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1830,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1831,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1832,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1833,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1834,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1835,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1836,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1837,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1838,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1839,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1840,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1841,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1842,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1843,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1844,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1845,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1846,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1847,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1848,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1849,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1850,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1851,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1852,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1853,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1854,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1855,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1856,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1857,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1858,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1859,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1860,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1861,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1862,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1863,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1864,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1865,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1866,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1867,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1868,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1869,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1870,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1871,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1872,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1873,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1874,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1875,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1876,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1877,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1878,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1879,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1880,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1881,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1882,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1883,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1884,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1885,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1886,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1887,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1888,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1889,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1890,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1891,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1892,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1893,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1894,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1895,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1896,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1897,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1898,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1899,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1900,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1901,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1902,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1903,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1904,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1905,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1906,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1907,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1908,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1909,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1910,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1911,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1912,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1913,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1914,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1915,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1916,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1917,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1918,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1919,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1920,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1921,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1922,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1923,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1924,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1925,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1926,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1927,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1928,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1929,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1930,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1931,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1932,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1933,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1934,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1935,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1936,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1937,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1938,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1939,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1940,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1941,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1942,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1943,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1944,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1945,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1946,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1947,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1948,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1949,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1950,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1951,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1952,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1953,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1954,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1955,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1956,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1957,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1958,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1959,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1960,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1961,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1962,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1963,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1964,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1965,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1966,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1967,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1968,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1969,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1970,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1971,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1972,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1973,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1974,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1975,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1976,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1977,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1978,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1979,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1980,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1981,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1982,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1983,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1984,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1985,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1986,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1987,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1988,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1989,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1990,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1991,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1992,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1993,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1994,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1995,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1996,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1997,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1998,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:1999,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2000,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2001,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2002,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2003,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2004,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2005,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2006,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2007,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2008,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2009,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2010,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2011,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2012,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2013,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2014,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2015,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2016,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2017,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2018,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2019,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2020,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2021,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2022,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2023,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2024,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2025,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2026,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2027,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2028,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2029,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2030,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2031,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2032,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2033,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2034,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2035,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2036,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2037,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2038,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2039,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2040,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2041,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2042,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2043,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2044,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2045,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2046,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2047,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2048,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2049,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2050,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2051,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2052,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2053,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2054,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2055,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2056,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2057,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2058,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2059,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2060,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2061,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2062,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2063,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2064,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2065,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2066,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2067,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2068,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2069,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2070,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2071,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2072,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2073,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2074,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2075,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2076,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2077,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2078,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2079,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2080,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2081,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2082,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2083,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2084,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2085,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2086,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2087,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2088,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2089,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2090,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2091,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2092,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2093,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2094,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2095,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2096,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2097,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2098,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2099,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2100,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2101,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2102,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2103,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2104,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2105,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2106,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2107,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2108,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2109,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2110,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2111,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2112,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2113,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2114,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2115,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2116,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2117,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2118,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2119,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2120,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2121,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2122,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2123,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2124,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2125,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2126,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2127,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2128,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2129,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2130,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2131,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2132,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2133,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2134,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2135,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2136,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2137,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2138,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2139,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2140,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2141,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2142,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2143,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2144,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2145,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2146,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2147,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2148,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2149,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2150,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2151,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2152,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2153,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2154,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2155,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2156,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2157,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2158,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2159,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2160,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2161,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2162,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2163,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2164,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2165,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2166,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2167,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2168,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2169,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2170,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2171,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2172,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2173,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2174,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2175,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2176,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2177,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2178,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2179,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2180,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2181,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2182,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2183,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2184,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2185,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2186,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2187,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2188,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2189,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2190,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2191,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2192,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2193,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2194,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2195,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2196,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2197,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2198,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2199,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2200,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2201,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2202,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2203,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2204,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2205,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2206,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2207,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2208,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2209,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2210,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2211,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2212,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2213,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2214,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2215,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2216,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2217,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2218,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2219,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2220,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2221,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2222,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2223,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2224,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2225,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2226,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2227,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2228,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2229,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2230,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2231,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2232,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2233,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2234,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2235,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2236,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2237,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2238,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2239,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2240,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2241,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2242,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2243,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2244,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2245,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2246,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2247,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2248,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2249,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2250,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2251,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2252,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2253,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2254,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2255,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2256,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2257,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2258,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2259,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2260,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2261,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2262,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2263,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2264,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2265,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2266,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2267,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2268,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2269,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2270,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2271,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2272,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2273,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2274,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2275,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2276,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2277,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2278,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2279,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2280,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2281,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2282,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2283,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2284,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2285,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2286,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2287,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2288,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2289,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2290,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2291,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2292,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2293,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2294,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2295,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2296,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2297,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2298,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2299,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2300,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2301,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2302,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2303,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2304,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2305,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2306,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2307,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2308,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2309,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2310,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2311,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2312,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2313,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2314,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2315,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2316,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2317,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2318,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2319,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2320,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2321,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2322,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2323,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2324,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2325,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2326,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2327,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2328,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2329,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2330,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2331,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2332,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2333,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2334,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2335,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2336,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2337,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2338,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2339,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2340,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2341,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2342,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2343,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2344,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2345,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2346,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2347,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2348,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2349,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2350,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2351,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2352,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2353,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2354,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2355,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2356,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2357,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2358,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2359,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2360,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2361,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2362,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2363,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2364,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2365,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2366,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2367,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2368,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2369,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2370,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2371,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2372,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2373,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2374,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2375,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2376,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2377,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2378,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2379,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2380,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2381,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2382,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2383,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2384,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2385,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2386,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2387,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2388,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2389,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2390,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2391,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2392,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2393,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2394,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2395,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2396,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2397,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2398,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2399,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2400,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2401,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2402,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2403,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2404,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2405,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2406,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2407,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2408,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2409,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2410,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2411,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2412,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2413,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2414,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2415,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2416,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2417,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2418,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2419,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2420,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2421,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2422,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2423,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2424,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2425,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2426,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2427,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2428,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2429,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2430,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2431,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2432,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2433,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2434,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2435,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2436,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2437,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2438,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2439,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2440,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2441,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2442,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2443,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2444,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2445,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2446,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2447,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2448,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2449,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2450,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2451,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2452,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2453,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2454,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2455,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2456,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2457,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2458,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2459,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2460,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2461,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2462,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2463,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2464,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2465,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2466,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2467,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2468,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2469,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2470,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2471,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2472,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2473,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2474,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/mp/mp_monty_n.cpp:2475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1122
    argCount: 5
    argNames:
    - r
    - z
    - p
    - p_dash
    - ws
    argTypes:
    - word[]
    - word[]
    - word[]
    - word
    - word[]
    constantsTouched: []
    func_position:
      end: 2476
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 2476
    functionName: Botan::bigint_monty_redc_32
    functionSourceFile: /src/botan/src/lib/math/mp/mp_monty_n.cpp
    functionUses: 1
    functionsReached:
    - word3::add
    - word3::monty_step
    - word3::extract
    - word3::mul
    - Botan::bigint_monty_maybe_sub
    linkageType: ''
    returnType: void
    signature: void bigint_monty_redc_32(word r[32], const word z[64], const word
      p[32], word p_dash, word ws[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:22,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:27,1
    - Dst: Botan::word8_madd3
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:35,1
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 6
    argNames:
    - z
    - z_size
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - word[]
    - size_t
    - word[]
    - size_t
    - word[]
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 44
    functionName: Botan::basecase_mul
    functionSourceFile: /src/botan/src/lib/math/mp/mp_karat.cpp
    functionUses: 1
    functionsReached:
    - Botan::word_madd3
    - Invalid_Argument
    - Botan::clear_mem
    - Botan::word8_madd3
    linkageType: ''
    returnType: void
    signature: void basecase_mul(word z[], size_t z_size, const word x[], size_t x_size,
      const word y[], size_t y_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:48,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:53,1
    - Dst: Botan::word8_madd3
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:61,1
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - z
    - z_size
    - x
    - x_size
    argTypes:
    - word[]
    - size_t
    - word[]
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: Botan::basecase_sqr
    functionSourceFile: /src/botan/src/lib/math/mp/mp_karat.cpp
    functionUses: 1
    functionsReached:
    - Botan::word_madd3
    - Invalid_Argument
    - Botan::clear_mem
    - Botan::word8_madd3
    linkageType: ''
    returnType: void
    signature: void basecase_sqr(word z[], size_t z_size, const word x[], size_t x_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_comba_mul6
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:84,1
    - Dst: Botan::bigint_comba_mul8
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:86,1
    - Dst: Botan::bigint_comba_mul9
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:88,1
    - Dst: Botan::bigint_comba_mul16
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:90,1
    - Dst: Botan::bigint_comba_mul24
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:92,1
    - Dst: Botan::basecase_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:94,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:110,1
    - Dst: Botan::bigint_sub_abs
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:122,1
    - Dst: Botan::bigint_sub_abs
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:123,1
    - Dst: Botan::karatsuba_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:126,1
    - Dst: Botan::karatsuba_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:129,1
    - Dst: Botan::karatsuba_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:132,1
    - Dst: Botan::bigint_add3_nc
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:134,1
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:135,1
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:137,1
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:138,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:140,1
    - Dst: Botan::bigint_cnd_add_or_sub
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 5
    argNames:
    - z
    - x
    - y
    - N
    - workspace
    argTypes:
    - word[]
    - word[]
    - word[]
    - size_t
    - word[]
    constantsTouched: []
    func_position:
      end: 143
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 143
    functionName: Botan::karatsuba_mul
    functionSourceFile: /src/botan/src/lib/math/mp/mp_karat.cpp
    functionUses: 1
    functionsReached:
    - Botan::karatsuba_mul
    - Botan::bigint_add2_nc
    - Botan::bigint_comba_mul16
    - Botan::bigint_comba_mul8
    - Botan::bigint_add3_nc
    - Botan::bigint_sub_abs
    - Botan::bigint_cnd_add_or_sub
    - Botan::bigint_comba_mul9
    - Botan::clear_mem
    - Botan::basecase_mul
    - Botan::bigint_comba_mul24
    - Botan::bigint_comba_mul6
    linkageType: ''
    returnType: void
    signature: void karatsuba_mul(word z[], const word x[], const word y[], size_t
      N, word workspace[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_comba_sqr6
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:152,1
    - Dst: Botan::bigint_comba_sqr8
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:154,1
    - Dst: Botan::bigint_comba_sqr9
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:156,1
    - Dst: Botan::bigint_comba_sqr16
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:158,1
    - Dst: Botan::bigint_comba_sqr24
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:160,1
    - Dst: Botan::basecase_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:162,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:176,1
    - Dst: Botan::bigint_sub_abs
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:179,1
    - Dst: Botan::karatsuba_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:180,1
    - Dst: Botan::karatsuba_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:182,1
    - Dst: Botan::karatsuba_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:183,1
    - Dst: Botan::bigint_add3_nc
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:185,1
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:186,1
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:188,1
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:189,1
    - Dst: Botan::bigint_sub2
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - z
    - x
    - N
    - workspace
    argTypes:
    - word[]
    - word[]
    - size_t
    - word[]
    constantsTouched: []
    func_position:
      end: 197
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 197
    functionName: Botan::karatsuba_sqr
    functionSourceFile: /src/botan/src/lib/math/mp/mp_karat.cpp
    functionUses: 1
    functionsReached:
    - Botan::bigint_comba_sqr8
    - Botan::bigint_comba_sqr6
    - Botan::bigint_comba_sqr9
    - Botan::karatsuba_sqr
    - Botan::bigint_add2_nc
    - Botan::bigint_add3_nc
    - Botan::bigint_comba_sqr24
    - Botan::bigint_sub_abs
    - Botan::basecase_sqr
    - Botan::bigint_sub2
    - Botan::clear_mem
    - Botan::bigint_comba_sqr16
    linkageType: ''
    returnType: void
    signature: void karatsuba_sqr(word z[], const word x[], size_t N, word workspace[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 28
    argCount: 5
    argNames:
    - z_size
    - x_size
    - x_sw
    - y_size
    - y_sw
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 239
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 239
    functionName: Botan::karatsuba_size
    functionSourceFile: /src/botan/src/lib/math/mp/mp_karat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t karatsuba_size(size_t z_size, size_t x_size, size_t x_sw, size_t
      y_size, size_t y_sw)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - z_size
    - x_size
    - x_sw
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 268
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 268
    functionName: Botan::karatsuba_size
    functionSourceFile: /src/botan/src/lib/math/mp/mp_karat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t karatsuba_size(size_t z_size, size_t x_size, size_t x_sw)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - x_sw
    - x_size
    - y_sw
    - y_size
    - z_size
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: Botan::sized_for_comba_mul
    functionSourceFile: /src/botan/src/lib/math/mp/mp_karat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sized_for_comba_mul(size_t x_sw, size_t x_size, size_t y_sw, size_t
      y_size, size_t z_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - x_sw
    - x_size
    - z_size
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: Botan::sized_for_comba_sqr
    functionSourceFile: /src/botan/src/lib/math/mp/mp_karat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sized_for_comba_sqr(size_t x_sw, size_t x_size, size_t z_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:292,1
    - Dst: Botan::bigint_linmul3
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:295,1
    - Dst: Botan::bigint_linmul3
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:297,1
    - Dst: Botan::sized_for_comba_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:298,1
    - Dst: Botan::bigint_comba_mul4
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:299,1
    - Dst: Botan::sized_for_comba_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:300,1
    - Dst: Botan::bigint_comba_mul6
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:301,1
    - Dst: Botan::sized_for_comba_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:302,1
    - Dst: Botan::bigint_comba_mul8
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:303,1
    - Dst: Botan::sized_for_comba_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:304,1
    - Dst: Botan::bigint_comba_mul9
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:305,1
    - Dst: Botan::sized_for_comba_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:306,1
    - Dst: Botan::bigint_comba_mul16
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:307,1
    - Dst: Botan::sized_for_comba_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:308,1
    - Dst: Botan::bigint_comba_mul24
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:309,1
    - Dst: Botan::basecase_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:311,1
    - Dst: Botan::karatsuba_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:316,1
    - Dst: Botan::basecase_mul
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:318,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 10
    argNames:
    - z
    - z_size
    - x
    - x_size
    - x_sw
    - y
    - y_size
    - y_sw
    - workspace
    - ws_size
    argTypes:
    - word[]
    - size_t
    - word[]
    - size_t
    - size_t
    - word[]
    - size_t
    - size_t
    - word[]
    - size_t
    constantsTouched: []
    func_position:
      end: 321
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 321
    functionName: Botan::bigint_mul
    functionSourceFile: /src/botan/src/lib/math/mp/mp_karat.cpp
    functionUses: 3
    functionsReached:
    - Botan::karatsuba_mul
    - Botan::bigint_comba_mul16
    - Botan::bigint_comba_mul8
    - Botan::bigint_comba_mul4
    - Botan::sized_for_comba_mul
    - Botan::bigint_linmul3
    - Botan::bigint_comba_mul9
    - Botan::clear_mem
    - Botan::basecase_mul
    - Botan::bigint_comba_mul24
    - Botan::bigint_comba_mul6
    linkageType: ''
    returnType: void
    signature: "void bigint_mul(word z[],\n                size_t z_size,\n                const
      word x[],\n                size_t x_size,\n                size_t x_sw,\n                const
      word y[],\n                size_t y_size,\n                size_t y_sw,\n                word
      workspace[],\n                size_t ws_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:327,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:329,1
    - Dst: Botan::bigint_linmul3
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:332,1
    - Dst: Botan::sized_for_comba_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:333,1
    - Dst: Botan::bigint_comba_sqr4
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:334,1
    - Dst: Botan::sized_for_comba_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:335,1
    - Dst: Botan::bigint_comba_sqr6
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:336,1
    - Dst: Botan::sized_for_comba_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:337,1
    - Dst: Botan::bigint_comba_sqr8
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:338,1
    - Dst: Botan::sized_for_comba_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:339,1
    - Dst: Botan::bigint_comba_sqr9
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:340,1
    - Dst: Botan::sized_for_comba_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:341,1
    - Dst: Botan::bigint_comba_sqr16
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:342,1
    - Dst: Botan::sized_for_comba_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:343,1
    - Dst: Botan::bigint_comba_sqr24
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:344,1
    - Dst: Botan::basecase_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:346,1
    - Dst: Botan::karatsuba_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:351,1
    - Dst: Botan::basecase_sqr
      Src: /src/botan/src/lib/math/mp/mp_karat.cpp:353,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 7
    argNames:
    - z
    - z_size
    - x
    - x_size
    - x_sw
    - workspace
    - ws_size
    argTypes:
    - word[]
    - size_t
    - word[]
    - size_t
    - size_t
    - word[]
    - size_t
    constantsTouched: []
    func_position:
      end: 356
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 356
    functionName: Botan::bigint_sqr
    functionSourceFile: /src/botan/src/lib/math/mp/mp_karat.cpp
    functionUses: 0
    functionsReached:
    - Botan::bigint_comba_sqr6
    - Botan::bigint_comba_sqr8
    - Botan::bigint_comba_sqr9
    - Botan::karatsuba_sqr
    - Botan::bigint_comba_sqr24
    - Botan::bigint_linmul3
    - Botan::basecase_sqr
    - Botan::clear_mem
    - BOTAN_ASSERT
    - Botan::bigint_comba_sqr16
    - Botan::bigint_comba_sqr4
    - Botan::sized_for_comba_sqr
    linkageType: ''
    returnType: void
    signature: void bigint_sqr(word z[], size_t z_size, const word x[], size_t x_size,
      size_t x_sw, word workspace[], size_t ws_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:88,1
    - Dst: dword
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:103,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:104,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - W
    - W
    - W*
    constantsTouched: []
    func_position:
      end: 106
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 106
    functionName: Botan::word_madd2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 1
    functionsReached:
    - std::is_constant_evaluated
    - static_cast<W>
    - dword
    linkageType: ''
    returnType: auto
    signature: auto word_madd2(W a, W b, W* c) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:114,1
    - Dst: dword
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:133,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:134,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - W
    - W
    - W
    - W*
    constantsTouched: []
    func_position:
      end: 136
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 136
    functionName: Botan::word_madd3
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 2
    functionsReached:
    - std::is_constant_evaluated
    - static_cast<W>
    - dword
    linkageType: ''
    returnType: auto
    signature: auto word_madd3(W a, W b, W c, W* d) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_COMPILER_HAS_BUILTIN
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:192,1
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:193,1
    - Dst: __builtin_addc
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:195,1
    - Dst: __builtin_addcl
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:197,1
    - Dst: __builtin_addcll
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:199,1
    - Dst: hi_dword
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:211,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:212,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - x
    - y
    - carry
    argTypes:
    - W
    - W
    - W*
    constantsTouched: []
    func_position:
      end: 222
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 222
    functionName: Botan::word_add
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 1
    functionsReached:
    - __builtin_addc
    - BOTAN_COMPILER_HAS_BUILTIN
    - hi_dword
    - std::is_constant_evaluated
    - __builtin_addcl
    - __builtin_addcll
    - static_cast<W>
    linkageType: ''
    returnType: auto
    signature: auto word_add(W x, W y, W* carry) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:230,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:239,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:240,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:241,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:242,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:243,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:244,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:245,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - x
    - y
    - carry
    argTypes:
    - W[]
    - W[]
    - W
    constantsTouched: []
    func_position:
      end: 248
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 248
    functionName: Botan::word8_add2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - std::is_constant_evaluated
    - Botan::word_add
    linkageType: ''
    returnType: auto
    signature: auto word8_add2(W x[8], const W y[8], W carry) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:256,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:265,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:266,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:267,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:268,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:269,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:270,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:271,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - z
    - x
    - y
    - carry
    argTypes:
    - W[]
    - W[]
    - W[]
    - W
    constantsTouched: []
    func_position:
      end: 274
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 274
    functionName: Botan::word8_add3
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - std::is_constant_evaluated
    - Botan::word_add
    linkageType: ''
    returnType: auto
    signature: auto word8_add3(W z[8], const W x[8], const W y[8], W carry) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_COMPILER_HAS_BUILTIN
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:281,1
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:282,1
    - Dst: __builtin_subc
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:284,1
    - Dst: __builtin_subcl
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:286,1
    - Dst: __builtin_subcll
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - x
    - y
    - carry
    argTypes:
    - W
    - W
    - W*
    constantsTouched: []
    func_position:
      end: 299
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 299
    functionName: Botan::word_sub
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 2
    functionsReached:
    - BOTAN_COMPILER_HAS_BUILTIN
    - __builtin_subcl
    - __builtin_subcll
    - std::is_constant_evaluated
    - __builtin_subc
    linkageType: ''
    returnType: auto
    signature: auto word_sub(W x, W y, W* carry) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:307,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:316,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:317,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:318,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:319,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:320,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:321,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:322,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - x
    - y
    - carry
    argTypes:
    - W[]
    - W[]
    - W
    constantsTouched: []
    func_position:
      end: 325
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 325
    functionName: Botan::word8_sub2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - Botan::word_sub
    - std::is_constant_evaluated
    linkageType: ''
    returnType: auto
    signature: auto word8_sub2(W x[8], const W y[8], W carry) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:333,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:342,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:343,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:344,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:345,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:346,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:347,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:348,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - x
    - y
    - carry
    argTypes:
    - W[]
    - W[]
    - W
    constantsTouched: []
    func_position:
      end: 351
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 351
    functionName: Botan::word8_sub2_rev
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - Botan::word_sub
    - std::is_constant_evaluated
    linkageType: ''
    returnType: auto
    signature: auto word8_sub2_rev(W x[8], const W y[8], W carry) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:359,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:368,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:369,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:370,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:371,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:372,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:373,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:374,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - z
    - x
    - y
    - carry
    argTypes:
    - W[]
    - W[]
    - W[]
    - W
    constantsTouched: []
    func_position:
      end: 377
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 377
    functionName: Botan::word8_sub3
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - Botan::word_sub
    - std::is_constant_evaluated
    linkageType: ''
    returnType: auto
    signature: auto word8_sub3(W z[8], const W x[8], const W y[8], W carry) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:385,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:394,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:395,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:396,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:397,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:398,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:399,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:400,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - x
    - y
    - carry
    argTypes:
    - W[]
    - W
    - W
    constantsTouched: []
    func_position:
      end: 403
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 403
    functionName: Botan::word8_linmul2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - std::is_constant_evaluated
    - Botan::word_madd2
    linkageType: ''
    returnType: auto
    signature: auto word8_linmul2(W x[8], W y, W carry) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:411,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:420,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:421,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:422,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:423,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:424,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:425,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:426,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - z
    - x
    - y
    - carry
    argTypes:
    - W[]
    - W[]
    - W
    - W
    constantsTouched: []
    func_position:
      end: 429
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 429
    functionName: Botan::word8_linmul3
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - std::is_constant_evaluated
    - Botan::word_madd2
    linkageType: ''
    returnType: auto
    signature: auto word8_linmul3(W z[8], const W x[8], W y, W carry) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:437,1
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:446,1
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:447,1
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:448,1
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:449,1
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:450,1
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:451,1
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:452,1
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - z
    - x
    - y
    - carry
    argTypes:
    - W[]
    - W[]
    - W
    - W
    constantsTouched: []
    func_position:
      end: 455
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 455
    functionName: Botan::word8_madd3
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 2
    functionsReached:
    - Botan::word_madd3
    - std::is_constant_evaluated
    linkageType: ''
    returnType: auto
    signature: auto word8_madd3(W z[8], const W x[8], W y, W carry) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 470
    functionName: Botan::word3::word3
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void word3()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<W3>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - W
    - W
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: Botan::word3::mul
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - static_cast<W3>
    linkageType: ''
    returnType: void
    signature: void mul(W x, W y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<W3>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - W
    - W
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: Botan::word3::mul_x2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - static_cast<W3>
    linkageType: ''
    returnType: void
    signature: void mul_x2(W x, W y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - W
    constantsTouched: []
    func_position:
      end: 476
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 476
    functionName: Botan::word3::add
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add(W x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 482
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 482
    functionName: Botan::word3::extract
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - static_cast<W>
    linkageType: ''
    returnType: W
    signature: W extract()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:485,1
    - Dst: Botan::word3::mul
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p0
    - p_dash
    argTypes:
    - W
    - W
    constantsTouched: []
    func_position:
      end: 490
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 490
    functionName: Botan::word3::monty_step
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - static_cast<W>
    - Botan::word3::mul
    linkageType: ''
    returnType: W
    signature: W monty_step(W p0, W p_dash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:493,1
    - Dst: static_cast<W3>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 497
    functionName: Botan::word3::monty_step_pdash1
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - static_cast<W3>
    - static_cast<W>
    linkageType: ''
    returnType: W
    signature: W monty_step_pdash1()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 509
    functionName: Botan::word3::word3
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void word3()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:513,1
    - Dst: dword
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:531,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:532,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - W
    - W
    constantsTouched: []
    func_position:
      end: 536
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 536
    functionName: Botan::word3::mul
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 1
    functionsReached:
    - std::is_constant_evaluated
    - static_cast<W>
    - dword
    linkageType: ''
    returnType: void
    signature: void mul(W x, W y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:540,1
    - Dst: word_madd2
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:562,1
    - Dst: word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:566,1
    - Dst: word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:567,1
    - Dst: word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:571,1
    - Dst: word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - W
    - W
    constantsTouched: []
    func_position:
      end: 574
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 574
    functionName: Botan::word3::mul_x2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - word_add
    - std::is_constant_evaluated
    - word_madd2
    linkageType: ''
    returnType: void
    signature: void mul_x2(W x, W y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:580,1
    - Dst: word_add
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - W
    constantsTouched: []
    func_position:
      end: 583
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 583
    functionName: Botan::word3::add
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - word_add
    linkageType: ''
    returnType: void
    signature: void add(W x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 591
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 591
    functionName: Botan::word3::extract
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: W
    signature: W extract()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word3::mul
      Src: /src/botan/src/lib/math/mp/mp_asmi.h:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p0
    - p_dash
    argTypes:
    - W
    - W
    constantsTouched: []
    func_position:
      end: 600
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 600
    functionName: Botan::word3::monty_step
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached:
    - Botan::word3::mul
    linkageType: ''
    returnType: W
    signature: W monty_step(W p0, W p_dash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 609
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 609
    functionName: Botan::word3::monty_step_pdash1
    functionSourceFile: /src/botan/src/lib/math/mp/mp_asmi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: W
    signature: W monty_step_pdash1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:33,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:37,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:39,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:43,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:46,1
    - Dst: word3::monty_step
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:47,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:52,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:55,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:56,1
    - Dst: word3::add
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:59,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:61,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:63,1
    - Dst: Botan::bigint_monty_maybe_sub
      Src: /src/botan/src/lib/math/mp/mp_monty.cpp:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 7
    argNames:
    - r
    - z
    - z_size
    - p
    - p_size
    - p_dash
    - ws
    argTypes:
    - word[]
    - word[]
    - size_t
    - word[]
    - size_t
    - word
    - word[]
    constantsTouched: []
    func_position:
      end: 84
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 84
    functionName: Botan::bigint_monty_redc_generic
    functionSourceFile: /src/botan/src/lib/math/mp/mp_monty.cpp
    functionUses: 1
    functionsReached:
    - word3::add
    - word3::extract
    - word3::monty_step
    - word3::mul
    - Botan::bigint_monty_maybe_sub
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void bigint_monty_redc_generic(\n   word r[], const word z[], size_t
      z_size, const word p[], size_t p_size, word p_dash, word ws[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:19,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:20,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:21,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:22,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:23,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:24,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:25,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:26,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:27,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:28,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:29,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:30,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:31,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:32,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:33,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:34,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:35,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 37
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 37
    functionName: Botan::bigint_comba_sqr4
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 2
    functionsReached:
    - word3::mul
    - word3::extract
    - word3::mul_x2
    linkageType: ''
    returnType: void
    signature: void bigint_comba_sqr4(word z[8], const word x[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:45,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:46,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:47,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:48,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:49,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:50,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:51,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:52,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:53,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:54,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:55,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:56,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:57,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:58,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:59,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:60,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:61,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:62,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:63,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:64,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:65,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:66,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:67,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - word[]
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 69
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 69
    functionName: Botan::bigint_comba_mul4
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 3
    functionsReached:
    - word3::mul
    - word3::extract
    linkageType: ''
    returnType: void
    signature: void bigint_comba_mul4(word z[8], const word x[4], const word y[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:77,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:78,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:79,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:80,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:81,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:82,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:83,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:84,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:85,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:86,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:87,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:88,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:89,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:90,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:91,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:92,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:93,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:94,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:95,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:96,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:97,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:98,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:99,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:100,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:101,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:102,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:103,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:104,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:105,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:106,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:107,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:108,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 110
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 110
    functionName: Botan::bigint_comba_sqr6
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 3
    functionsReached:
    - word3::mul
    - word3::extract
    - word3::mul_x2
    linkageType: ''
    returnType: void
    signature: void bigint_comba_sqr6(word z[12], const word x[6])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:118,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:119,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:120,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:121,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:122,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:123,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:124,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:125,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:126,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:127,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:128,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:129,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:130,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:131,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:132,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:133,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:134,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:135,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:136,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:137,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:138,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:139,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:140,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:141,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:142,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:143,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:144,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:145,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:146,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:147,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:148,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:149,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:150,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:151,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:152,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:153,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:154,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:155,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:156,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:157,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:158,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:159,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:160,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:161,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:162,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:163,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:164,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - word[]
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 166
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 166
    functionName: Botan::bigint_comba_mul6
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 4
    functionsReached:
    - word3::mul
    - word3::extract
    linkageType: ''
    returnType: void
    signature: void bigint_comba_mul6(word z[12], const word x[6], const word y[6])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:174,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:175,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:176,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:177,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:178,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:179,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:180,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:181,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:182,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:183,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:184,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:185,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:186,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:187,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:188,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:189,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:190,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:191,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:192,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:193,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:194,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:195,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:196,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:197,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:198,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:199,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:200,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:201,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:202,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:203,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:204,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:205,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:206,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:207,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:208,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:209,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:210,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:211,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:212,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:213,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:214,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 216
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 216
    functionName: Botan::bigint_comba_sqr7
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 0
    functionsReached:
    - word3::mul
    - word3::extract
    - word3::mul_x2
    linkageType: ''
    returnType: void
    signature: void bigint_comba_sqr7(word z[14], const word x[7])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:224,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:225,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:226,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:227,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:228,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:229,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:230,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:231,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:232,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:233,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:234,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:235,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:236,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:237,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:238,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:239,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:240,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:241,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:242,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:243,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:244,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:245,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:246,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:247,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:248,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:249,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:250,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:251,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:252,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:253,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:254,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:255,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:256,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:257,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:258,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:259,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:260,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:261,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:262,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:263,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:264,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:265,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:266,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:267,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:268,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:269,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:270,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:271,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:272,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:273,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:274,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:275,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:276,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:277,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:278,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:279,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:280,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:281,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:282,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:283,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:284,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:285,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 64
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - word[]
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 287
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 287
    functionName: Botan::bigint_comba_mul7
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 0
    functionsReached:
    - word3::mul
    - word3::extract
    linkageType: ''
    returnType: void
    signature: void bigint_comba_mul7(word z[14], const word x[7], const word y[7])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:295,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:296,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:297,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:298,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:299,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:300,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:301,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:302,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:303,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:304,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:305,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:306,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:307,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:308,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:309,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:310,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:311,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:312,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:313,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:314,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:315,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:316,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:317,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:318,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:319,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:320,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:321,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:322,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:323,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:324,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:325,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:326,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:327,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:328,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:329,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:330,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:331,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:332,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:333,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:334,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:335,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:336,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:337,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:338,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:339,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:340,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:341,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:342,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:343,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:344,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:345,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 347
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 347
    functionName: Botan::bigint_comba_sqr8
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 3
    functionsReached:
    - word3::mul
    - word3::extract
    - word3::mul_x2
    linkageType: ''
    returnType: void
    signature: void bigint_comba_sqr8(word z[16], const word x[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:355,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:356,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:357,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:358,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:359,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:360,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:361,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:362,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:363,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:364,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:365,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:366,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:367,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:368,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:369,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:370,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:371,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:372,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:373,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:374,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:375,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:376,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:377,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:378,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:379,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:380,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:381,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:382,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:383,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:384,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:385,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:386,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:387,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:388,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:389,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:390,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:391,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:392,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:393,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:394,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:395,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:396,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:397,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:398,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:399,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:400,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:401,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:402,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:403,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:404,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:405,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:406,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:407,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:408,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:409,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:410,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:411,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:412,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:413,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:414,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:415,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:416,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:417,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:418,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:419,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:420,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:421,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:422,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:423,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:424,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:425,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:426,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:427,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:428,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:429,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:430,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:431,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:432,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:433,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 81
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - word[]
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 435
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 435
    functionName: Botan::bigint_comba_mul8
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 4
    functionsReached:
    - word3::mul
    - word3::extract
    linkageType: ''
    returnType: void
    signature: void bigint_comba_mul8(word z[16], const word x[8], const word y[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:443,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:444,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:445,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:446,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:447,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:448,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:449,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:450,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:451,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:452,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:453,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:454,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:455,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:456,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:457,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:458,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:459,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:460,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:461,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:462,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:463,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:464,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:465,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:466,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:467,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:468,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:469,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:470,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:471,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:472,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:473,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:474,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:475,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:476,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:477,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:478,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:479,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:480,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:481,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:482,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:483,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:484,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:485,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:486,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:487,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:488,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:489,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:490,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:491,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:492,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:493,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:494,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:495,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:496,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:497,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:498,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:499,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:500,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:501,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:502,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:503,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:504,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 64
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 506
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 506
    functionName: Botan::bigint_comba_sqr9
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 3
    functionsReached:
    - word3::mul
    - word3::extract
    - word3::mul_x2
    linkageType: ''
    returnType: void
    signature: void bigint_comba_sqr9(word z[18], const word x[9])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:514,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:515,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:516,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:517,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:518,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:519,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:520,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:521,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:522,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:523,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:524,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:525,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:526,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:527,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:528,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:529,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:530,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:531,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:532,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:533,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:534,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:535,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:536,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:537,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:538,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:539,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:540,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:541,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:542,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:543,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:544,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:545,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:546,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:547,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:548,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:549,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:550,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:551,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:552,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:553,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:554,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:555,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:556,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:557,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:558,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:559,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:560,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:561,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:562,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:563,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:564,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:565,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:566,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:567,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:568,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:569,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:570,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:571,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:572,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:573,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:574,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:575,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:576,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:577,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:578,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:579,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:580,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:581,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:582,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:583,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:584,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:585,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:586,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:587,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:588,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:589,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:590,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:591,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:592,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:593,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:594,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:595,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:596,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:597,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:598,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:599,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:600,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:601,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:602,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:603,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:604,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:605,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:606,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:607,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:608,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:609,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:610,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:611,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 100
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - word[]
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 613
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 613
    functionName: Botan::bigint_comba_mul9
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 4
    functionsReached:
    - word3::mul
    - word3::extract
    linkageType: ''
    returnType: void
    signature: void bigint_comba_mul9(word z[18], const word x[9], const word y[9])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:621,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:622,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:623,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:624,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:625,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:626,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:627,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:628,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:629,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:630,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:631,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:632,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:633,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:634,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:635,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:636,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:637,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:638,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:639,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:640,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:641,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:642,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:643,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:644,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:645,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:646,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:647,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:648,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:649,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:650,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:651,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:652,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:653,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:654,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:655,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:656,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:657,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:658,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:659,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:660,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:661,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:662,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:663,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:664,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:665,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:666,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:667,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:668,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:669,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:670,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:671,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:672,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:673,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:674,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:675,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:676,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:677,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:678,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:679,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:680,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:681,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:682,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:683,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:684,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:685,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:686,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:687,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:688,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:689,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:690,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:691,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:692,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:693,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:694,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:695,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:696,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:697,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:698,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:699,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:700,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:701,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:702,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:703,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:704,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:705,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:706,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:707,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:708,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:709,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:710,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:711,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:712,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:713,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:714,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:715,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:716,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:717,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:718,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:719,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:720,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:721,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:722,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:723,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:724,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:725,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:726,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:727,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:728,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:729,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:730,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:731,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:732,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:733,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:734,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:735,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:736,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:737,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:738,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:739,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:740,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:741,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:742,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:743,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:744,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:745,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:746,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:747,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:748,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:749,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:750,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:751,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:752,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:753,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:754,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:755,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:756,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:757,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:758,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:759,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:760,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:761,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:762,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:763,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:764,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:765,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:766,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:767,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:768,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:769,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:770,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:771,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:772,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:773,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:774,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:775,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:776,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:777,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:778,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:779,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:780,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:781,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:782,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:783,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:784,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:785,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:786,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:787,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 169
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 789
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 789
    functionName: Botan::bigint_comba_sqr16
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 3
    functionsReached:
    - word3::mul
    - word3::extract
    - word3::mul_x2
    linkageType: ''
    returnType: void
    signature: void bigint_comba_sqr16(word z[32], const word x[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:797,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:798,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:799,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:800,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:801,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:802,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:803,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:804,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:805,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:806,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:807,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:808,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:809,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:810,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:811,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:812,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:813,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:814,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:815,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:816,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:817,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:818,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:819,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:820,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:821,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:822,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:823,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:824,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:825,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:826,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:827,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:828,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:829,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:830,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:831,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:832,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:833,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:834,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:835,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:836,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:837,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:838,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:839,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:840,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:841,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:842,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:843,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:844,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:845,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:846,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:847,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:848,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:849,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:850,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:851,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:852,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:853,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:854,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:855,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:856,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:857,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:858,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:859,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:860,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:861,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:862,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:863,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:864,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:865,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:866,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:867,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:868,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:869,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:870,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:871,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:872,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:873,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:874,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:875,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:876,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:877,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:878,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:879,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:880,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:881,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:882,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:883,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:884,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:885,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:886,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:887,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:888,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:889,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:890,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:891,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:892,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:893,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:894,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:895,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:896,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:897,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:898,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:899,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:900,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:901,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:902,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:903,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:904,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:905,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:906,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:907,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:908,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:909,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:910,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:911,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:912,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:913,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:914,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:915,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:916,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:917,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:918,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:919,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:920,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:921,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:922,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:923,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:924,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:925,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:926,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:927,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:928,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:929,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:930,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:931,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:932,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:933,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:934,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:935,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:936,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:937,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:938,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:939,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:940,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:941,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:942,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:943,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:944,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:945,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:946,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:947,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:948,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:949,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:950,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:951,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:952,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:953,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:954,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:955,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:956,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:957,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:958,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:959,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:960,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:961,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:962,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:963,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:964,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:965,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:966,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:967,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:968,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:969,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:970,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:971,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:972,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:973,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:974,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:975,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:976,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:977,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:978,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:979,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:980,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:981,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:982,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:983,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:984,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:985,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:986,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:987,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:988,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:989,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:990,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:991,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:992,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:993,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:994,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:995,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:996,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:997,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:998,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:999,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1000,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1001,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1002,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1003,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1004,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1005,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1006,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1007,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1008,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1009,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1010,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1011,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1012,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1013,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1014,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1015,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1016,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1017,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1018,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1019,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1020,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1021,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1022,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1023,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1024,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1025,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1026,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1027,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1028,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1029,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1030,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1031,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1032,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1033,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1034,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1035,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1036,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1037,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1038,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1039,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1040,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1041,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1042,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1043,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1044,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1045,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1046,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1047,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1048,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1049,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1050,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1051,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1052,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1053,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1054,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1055,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1056,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1057,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1058,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1059,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1060,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1061,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1062,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1063,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1064,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1065,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1066,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1067,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1068,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1069,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1070,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1071,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1072,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1073,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1074,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1075,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1076,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1077,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1078,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1079,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1080,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1081,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1082,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1083,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 289
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - word[]
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 1085
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 1085
    functionName: Botan::bigint_comba_mul16
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 4
    functionsReached:
    - word3::mul
    - word3::extract
    linkageType: ''
    returnType: void
    signature: void bigint_comba_mul16(word z[32], const word x[16], const word y[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1093,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1094,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1095,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1096,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1097,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1098,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1099,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1100,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1101,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1102,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1103,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1104,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1105,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1106,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1107,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1108,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1109,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1110,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1111,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1112,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1113,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1114,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1115,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1116,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1117,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1118,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1119,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1120,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1121,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1122,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1123,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1124,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1125,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1126,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1127,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1128,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1129,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1130,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1131,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1132,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1133,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1134,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1135,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1136,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1137,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1138,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1139,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1140,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1141,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1142,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1143,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1144,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1145,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1146,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1147,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1148,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1149,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1150,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1151,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1152,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1153,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1154,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1155,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1156,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1157,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1158,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1159,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1160,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1161,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1162,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1163,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1164,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1165,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1166,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1167,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1168,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1169,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1170,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1171,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1172,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1173,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1174,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1175,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1176,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1177,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1178,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1179,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1180,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1181,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1182,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1183,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1184,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1185,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1186,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1187,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1188,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1189,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1190,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1191,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1192,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1193,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1194,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1195,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1196,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1197,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1198,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1199,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1200,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1201,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1202,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1203,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1204,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1205,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1206,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1207,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1208,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1209,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1210,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1211,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1212,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1213,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1214,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1215,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1216,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1217,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1218,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1219,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1220,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1221,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1222,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1223,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1224,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1225,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1226,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1227,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1228,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1229,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1230,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1231,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1232,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1233,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1234,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1235,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1236,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1237,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1238,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1239,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1240,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1241,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1242,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1243,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1244,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1245,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1246,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1247,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1248,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1249,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1250,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1251,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1252,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1253,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1254,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1255,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1256,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1257,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1258,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1259,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1260,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1261,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1262,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1263,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1264,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1265,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1266,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1267,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1268,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1269,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1270,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1271,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1272,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1273,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1274,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1275,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1276,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1277,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1278,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1279,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1280,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1281,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1282,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1283,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1284,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1285,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1286,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1287,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1288,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1289,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1290,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1291,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1292,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1293,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1294,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1295,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1296,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1297,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1298,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1299,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1300,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1301,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1302,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1303,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1304,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1305,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1306,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1307,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1308,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1309,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1310,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1311,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1312,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1313,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1314,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1315,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1316,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1317,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1318,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1319,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1320,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1321,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1322,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1323,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1324,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1325,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1326,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1327,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1328,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1329,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1330,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1331,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1332,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1333,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1334,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1335,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1336,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1337,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1338,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1339,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1340,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1341,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1342,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1343,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1344,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1345,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1346,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1347,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1348,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1349,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1350,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1351,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1352,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1353,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1354,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1355,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1356,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1357,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1358,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1359,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1360,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1361,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1362,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1363,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1364,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1365,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1366,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1367,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1368,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1369,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1370,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1371,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1372,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1373,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1374,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1375,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1376,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1377,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1378,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1379,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1380,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1381,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1382,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1383,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1384,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1385,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1386,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1387,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1388,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1389,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1390,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1391,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1392,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1393,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1394,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1395,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1396,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1397,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1398,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1399,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1400,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1401,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1402,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1403,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1404,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1405,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1406,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1407,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1408,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1409,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1410,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1411,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1412,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1413,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1414,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1415,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1416,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1417,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1418,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1419,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1420,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1421,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1422,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1423,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1424,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1425,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1426,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1427,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1428,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1429,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1430,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1431,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1432,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1433,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1434,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1435,1
    - Dst: word3::mul_x2
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1436,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1437,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1438,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1439,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 349
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 1441
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1441
    functionName: Botan::bigint_comba_sqr24
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 3
    functionsReached:
    - word3::mul
    - word3::extract
    - word3::mul_x2
    linkageType: ''
    returnType: void
    signature: void bigint_comba_sqr24(word z[48], const word x[24])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1449,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1450,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1451,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1452,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1453,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1454,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1455,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1456,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1457,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1458,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1459,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1460,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1461,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1462,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1463,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1464,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1465,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1466,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1467,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1468,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1469,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1470,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1471,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1472,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1473,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1474,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1475,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1476,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1477,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1478,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1479,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1480,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1481,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1482,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1483,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1484,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1485,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1486,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1487,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1488,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1489,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1490,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1491,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1492,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1493,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1494,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1495,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1496,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1497,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1498,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1499,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1500,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1501,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1502,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1503,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1504,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1505,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1506,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1507,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1508,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1509,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1510,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1511,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1512,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1513,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1514,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1515,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1516,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1517,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1518,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1519,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1520,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1521,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1522,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1523,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1524,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1525,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1526,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1527,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1528,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1529,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1530,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1531,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1532,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1533,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1534,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1535,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1536,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1537,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1538,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1539,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1540,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1541,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1542,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1543,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1544,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1545,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1546,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1547,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1548,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1549,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1550,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1551,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1552,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1553,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1554,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1555,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1556,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1557,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1558,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1559,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1560,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1561,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1562,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1563,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1564,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1565,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1566,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1567,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1568,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1569,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1570,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1571,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1572,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1573,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1574,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1575,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1576,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1577,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1578,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1579,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1580,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1581,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1582,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1583,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1584,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1585,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1586,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1587,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1588,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1589,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1590,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1591,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1592,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1593,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1594,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1595,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1596,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1597,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1598,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1599,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1600,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1601,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1602,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1603,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1604,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1605,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1606,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1607,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1608,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1609,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1610,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1611,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1612,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1613,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1614,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1615,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1616,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1617,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1618,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1619,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1620,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1621,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1622,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1623,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1624,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1625,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1626,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1627,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1628,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1629,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1630,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1631,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1632,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1633,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1634,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1635,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1636,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1637,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1638,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1639,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1640,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1641,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1642,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1643,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1644,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1645,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1646,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1647,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1648,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1649,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1650,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1651,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1652,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1653,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1654,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1655,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1656,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1657,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1658,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1659,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1660,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1661,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1662,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1663,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1664,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1665,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1666,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1667,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1668,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1669,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1670,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1671,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1672,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1673,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1674,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1675,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1676,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1677,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1678,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1679,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1680,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1681,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1682,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1683,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1684,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1685,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1686,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1687,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1688,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1689,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1690,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1691,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1692,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1693,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1694,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1695,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1696,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1697,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1698,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1699,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1700,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1701,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1702,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1703,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1704,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1705,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1706,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1707,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1708,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1709,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1710,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1711,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1712,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1713,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1714,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1715,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1716,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1717,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1718,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1719,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1720,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1721,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1722,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1723,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1724,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1725,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1726,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1727,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1728,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1729,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1730,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1731,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1732,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1733,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1734,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1735,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1736,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1737,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1738,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1739,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1740,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1741,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1742,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1743,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1744,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1745,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1746,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1747,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1748,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1749,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1750,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1751,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1752,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1753,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1754,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1755,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1756,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1757,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1758,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1759,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1760,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1761,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1762,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1763,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1764,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1765,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1766,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1767,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1768,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1769,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1770,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1771,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1772,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1773,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1774,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1775,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1776,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1777,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1778,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1779,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1780,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1781,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1782,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1783,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1784,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1785,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1786,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1787,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1788,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1789,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1790,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1791,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1792,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1793,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1794,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1795,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1796,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1797,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1798,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1799,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1800,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1801,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1802,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1803,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1804,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1805,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1806,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1807,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1808,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1809,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1810,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1811,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1812,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1813,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1814,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1815,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1816,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1817,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1818,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1819,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1820,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1821,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1822,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1823,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1824,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1825,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1826,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1827,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1828,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1829,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1830,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1831,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1832,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1833,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1834,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1835,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1836,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1837,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1838,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1839,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1840,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1841,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1842,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1843,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1844,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1845,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1846,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1847,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1848,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1849,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1850,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1851,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1852,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1853,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1854,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1855,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1856,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1857,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1858,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1859,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1860,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1861,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1862,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1863,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1864,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1865,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1866,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1867,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1868,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1869,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1870,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1871,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1872,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1873,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1874,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1875,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1876,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1877,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1878,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1879,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1880,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1881,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1882,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1883,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1884,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1885,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1886,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1887,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1888,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1889,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1890,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1891,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1892,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1893,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1894,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1895,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1896,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1897,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1898,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1899,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1900,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1901,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1902,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1903,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1904,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1905,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1906,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1907,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1908,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1909,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1910,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1911,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1912,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1913,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1914,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1915,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1916,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1917,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1918,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1919,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1920,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1921,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1922,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1923,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1924,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1925,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1926,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1927,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1928,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1929,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1930,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1931,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1932,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1933,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1934,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1935,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1936,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1937,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1938,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1939,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1940,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1941,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1942,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1943,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1944,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1945,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1946,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1947,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1948,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1949,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1950,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1951,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1952,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1953,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1954,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1955,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1956,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1957,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1958,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1959,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1960,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1961,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1962,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1963,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1964,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1965,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1966,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1967,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1968,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1969,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1970,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1971,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1972,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1973,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1974,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1975,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1976,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1977,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1978,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1979,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1980,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1981,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1982,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1983,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1984,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1985,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1986,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1987,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1988,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1989,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1990,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1991,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1992,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1993,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1994,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1995,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1996,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1997,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1998,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:1999,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2000,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2001,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2002,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2003,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2004,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2005,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2006,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2007,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2008,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2009,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2010,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2011,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2012,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2013,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2014,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2015,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2016,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2017,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2018,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2019,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2020,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2021,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2022,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2023,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2024,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2025,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2026,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2027,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2028,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2029,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2030,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2031,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2032,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2033,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2034,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2035,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2036,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2037,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2038,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2039,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2040,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2041,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2042,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2043,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2044,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2045,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2046,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2047,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2048,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2049,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2050,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2051,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2052,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2053,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2054,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2055,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2056,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2057,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2058,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2059,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2060,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2061,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2062,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2063,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2064,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2065,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2066,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2067,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2068,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2069,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2070,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2071,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_comba.cpp:2072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 625
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - word[]
    - word[]
    - word[]
    constantsTouched: []
    func_position:
      end: 2073
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 2073
    functionName: Botan::bigint_comba_mul24
    functionSourceFile: /src/botan/src/lib/math/mp/mp_comba.cpp
    functionUses: 4
    functionsReached:
    - word3::mul
    - word3::extract
    linkageType: ''
    returnType: void
    signature: void bigint_comba_mul24(word z[48], const word x[24], const word y[24])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/mp/mp_core.h:32,1
    - Dst: auto::select
      Src: /src/botan/src/lib/math/mp/mp_core.h:37,1
    - Dst: auto::select
      Src: /src/botan/src/lib/math/mp/mp_core.h:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - cnd
    - x
    - y
    - size
    argTypes:
    - W
    - W[]
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: Botan::bigint_cnd_swap
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 2
    functionsReached:
    - auto::select
    - Botan::sha512_msg_expand
    linkageType: ''
    returnType: void
    signature: void bigint_cnd_swap(W cnd, W x[], W y[], size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/mp/mp_core.h:44,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/mp/mp_core.h:46,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:51,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:55,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_core.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - cnd
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: Botan::bigint_cnd_add
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 2
    functionsReached:
    - static_cast<W>
    - Botan::word_add
    - Botan::sha512_msg_expand
    - BOTAN_ASSERT
    linkageType: ''
    returnType: W
    signature: W bigint_cnd_add(W cnd, W x[], size_t x_size, const W y[], size_t y_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_cnd_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cnd
    - x
    - y
    - size
    argTypes:
    - W
    - W[]
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: Botan::bigint_cnd_add
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 3
    functionsReached:
    - Botan::bigint_cnd_add
    linkageType: ''
    returnType: W
    signature: W bigint_cnd_add(W cnd, W x[], const W y[], size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/mp/mp_core.h:76,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/mp/mp_core.h:78,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:83,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:87,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_core.h:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - cnd
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 91
    functionName: Botan::bigint_cnd_sub
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 1
    functionsReached:
    - Botan::word_sub
    - static_cast<W>
    - Botan::sha512_msg_expand
    - BOTAN_ASSERT
    linkageType: ''
    returnType: auto
    signature: auto bigint_cnd_sub(W cnd, W x[], size_t x_size, const W y[], size_t
      y_size) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_cnd_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cnd
    - x
    - y
    - size
    argTypes:
    - W
    - W[]
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: Botan::bigint_cnd_sub
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 2
    functionsReached:
    - Botan::bigint_cnd_sub
    linkageType: ''
    returnType: auto
    signature: auto bigint_cnd_sub(W cnd, W x[], const W y[], size_t size) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word8_add3
      Src: /src/botan/src/lib/math/mp/mp_core.h:120,1
    - Dst: Botan::word8_sub3
      Src: /src/botan/src/lib/math/mp/mp_core.h:121,1
    - Dst: CT::Mask<W>::select_n
      Src: /src/botan/src/lib/math/mp/mp_core.h:122,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:126,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:127,1
    - Dst: CT::Mask<W>::select
      Src: /src/botan/src/lib/math/mp/mp_core.h:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - mask
    - x
    - y
    - size
    argTypes:
    - CT::Mask<W>
    - W[]
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 131
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 131
    functionName: Botan::bigint_cnd_add_or_sub
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 1
    functionsReached:
    - Botan::word8_sub3
    - CT::Mask<W>::select_n
    - Botan::word_add
    - Botan::word8_add3
    - Botan::word_sub
    - CT::Mask<W>::select
    linkageType: ''
    returnType: void
    signature: void bigint_cnd_add_or_sub(CT::Mask<W> mask, W x[], const W y[], size_t
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word8_add3
      Src: /src/botan/src/lib/math/mp/mp_core.h:153,1
    - Dst: Botan::word8_sub3
      Src: /src/botan/src/lib/math/mp/mp_core.h:154,1
    - Dst: CT::Mask<W>::select_n
      Src: /src/botan/src/lib/math/mp/mp_core.h:155,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:159,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:160,1
    - Dst: CT::Mask<W>::select
      Src: /src/botan/src/lib/math/mp/mp_core.h:161,1
    - Dst: CT::Mask<W>::select
      Src: /src/botan/src/lib/math/mp/mp_core.h:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - mask
    - x
    - y
    - z
    - size
    argTypes:
    - CT::Mask<W>
    - W[]
    - W[]
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 165
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 165
    functionName: Botan::bigint_cnd_addsub
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - Botan::word8_sub3
    - CT::Mask<W>::select_n
    - Botan::word_add
    - Botan::word8_add3
    - Botan::word_sub
    - CT::Mask<W>::select
    linkageType: ''
    returnType: auto
    signature: auto bigint_cnd_addsub(CT::Mask<W> mask, W x[], const W y[], const
      W z[], size_t size) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/mp/mp_core.h:174,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/mp/mp_core.h:176,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:178,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_core.h:178,1
    - Dst: auto::select
      Src: /src/botan/src/lib/math/mp/mp_core.h:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cnd
    - x
    - size
    argTypes:
    - W
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: Botan::bigint_cnd_abs
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 1
    functionsReached:
    - auto::select
    - auto::if_set_return
    - Botan::word_add
    - Botan::sha512_msg_expand
    - static_cast<W>
    linkageType: ''
    returnType: void
    signature: void bigint_cnd_abs(W cnd, W x[], size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/mp/mp_core.h:190,1
    - Dst: Botan::word8_add2
      Src: /src/botan/src/lib/math/mp/mp_core.h:195,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:199,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:203,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_core.h:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 207
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 207
    functionName: Botan::bigint_add2_nc
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 5
    functionsReached:
    - static_cast<W>
    - Botan::word_add
    - Botan::word8_add2
    - BOTAN_ASSERT
    linkageType: ''
    returnType: auto
    signature: auto bigint_add2_nc(W x[], size_t x_size, const W y[], size_t y_size)
      -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_add3_nc
      Src: /src/botan/src/lib/math/mp/mp_core.h:215,1
    - Dst: Botan::word8_add3
      Src: /src/botan/src/lib/math/mp/mp_core.h:223,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:227,1
    - Dst: Botan::word_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:231,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_core.h:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - z
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W[]
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 235
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 235
    functionName: Botan::bigint_add3_nc
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 4
    functionsReached:
    - static_cast<W>
    - Botan::word_add
    - Botan::bigint_add3_nc
    - Botan::word8_add3
    linkageType: ''
    returnType: auto
    signature: auto bigint_add3_nc(W z[], const W x[], size_t x_size, const W y[],
      size_t y_size) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/math/mp/mp_core.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: Botan::bigint_add2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - Botan::bigint_add2_nc
    linkageType: ''
    returnType: void
    signature: void bigint_add2(W x[], size_t x_size, const W y[], size_t y_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_add3_nc
      Src: /src/botan/src/lib/math/mp/mp_core.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - z
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W[]
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: Botan::bigint_add3
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - Botan::bigint_add3_nc
    linkageType: ''
    returnType: void
    signature: void bigint_add3(W z[], const W x[], size_t x_size, const W y[], size_t
      y_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/mp/mp_core.h:264,1
    - Dst: Botan::word8_sub2
      Src: /src/botan/src/lib/math/mp/mp_core.h:269,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:273,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:277,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_core.h:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 281
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 281
    functionName: Botan::bigint_sub2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 2
    functionsReached:
    - Botan::word_sub
    - Botan::word8_sub2
    - static_cast<W>
    - BOTAN_ASSERT
    linkageType: ''
    returnType: auto
    signature: auto bigint_sub2(W x[], size_t x_size, const W y[], size_t y_size)
      -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word8_sub2_rev
      Src: /src/botan/src/lib/math/mp/mp_core.h:293,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:297,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/mp/mp_core.h:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - x
    - y
    - y_size
    argTypes:
    - W[]
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 301
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 301
    functionName: Botan::bigint_sub2_rev
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - Botan::word_sub
    - Botan::word8_sub2_rev
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void bigint_sub2_rev(W x[], const W y[], size_t y_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/math/mp/mp_core.h:314,1
    - Dst: Botan::word8_sub3
      Src: /src/botan/src/lib/math/mp/mp_core.h:319,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:323,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:327,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_core.h:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - z
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W[]
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 331
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 331
    functionName: Botan::bigint_sub3
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 4
    functionsReached:
    - Botan::word_sub
    - Botan::word8_sub3
    - static_cast<W>
    - BOTAN_ASSERT
    linkageType: ''
    returnType: auto
    signature: auto bigint_sub3(W z[], const W x[], size_t x_size, const W y[], size_t
      y_size) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word8_sub3
      Src: /src/botan/src/lib/math/mp/mp_core.h:350,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:354,1
    - Dst: Botan::CT::conditional_assign_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - N
    - z
    - x0
    - x
    - p
    argTypes:
    - size_t
    - W[]
    - W
    - W[]
    - W[]
    constantsTouched: []
    func_position:
      end: 360
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 360
    functionName: Botan::bigint_monty_maybe_sub
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 11
    functionsReached:
    - Botan::word_sub
    - Botan::word8_sub3
    - Botan::CT::conditional_assign_mem
    linkageType: ''
    returnType: void
    signature: void bigint_monty_maybe_sub(size_t N, W z[], W x0, const W x[], const
      W p[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:377,1
    - Dst: Botan::CT::conditional_assign_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - z
    - x0
    - x
    - y
    argTypes:
    - W[]
    - W
    - W[]
    - W[]
    constantsTouched: []
    func_position:
      end: 383
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 383
    functionName: Botan::bigint_monty_maybe_sub
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 11
    functionsReached:
    - Botan::word_sub
    - Botan::CT::conditional_assign_mem
    linkageType: ''
    returnType: void
    signature: void bigint_monty_maybe_sub(W z[N], W x0, const W x[N], const W y[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word8_sub3
      Src: /src/botan/src/lib/math/mp/mp_core.h:410,1
    - Dst: Botan::word8_sub3
      Src: /src/botan/src/lib/math/mp/mp_core.h:411,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:415,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:416,1
    - Dst: Botan::CT::conditional_copy_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - z
    - x
    - y
    - N
    - ws
    argTypes:
    - W[]
    - W[]
    - W[]
    - size_t
    - W[]
    constantsTouched: []
    func_position:
      end: 420
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 420
    functionName: Botan::bigint_sub_abs
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 3
    functionsReached:
    - Botan::word_sub
    - Botan::word8_sub3
    - Botan::CT::conditional_copy_mem
    linkageType: ''
    returnType: auto
    signature: auto bigint_sub_abs(W z[], const W x[], const W y[], size_t N, W ws[])
      -> CT::Mask<W>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:430,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:431,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/mp/mp_core.h:433,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/mp/mp_core.h:434,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/mp/mp_core.h:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - x
    - x_size
    - x_words
    - shift
    argTypes:
    - W[]
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 442
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 442
    functionName: Botan::bigint_shl1
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 1
    functionsReached:
    - auto::if_set_return
    - Botan::clear_mem
    - Botan::copy_mem
    - Botan::sha512_msg_expand
    linkageType: ''
    returnType: void
    signature: void bigint_shl1(W x[], size_t x_size, size_t x_words, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:452,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:454,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/mp/mp_core.h:454,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/mp/mp_core.h:456,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/mp/mp_core.h:457,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/mp/mp_core.h:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - x
    - x_size
    - shift
    argTypes:
    - W[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 466
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 466
    functionName: Botan::bigint_shr1
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 1
    functionsReached:
    - auto::if_set_return
    - std::min
    - Botan::sha512_msg_expand
    - Botan::clear_mem
    - Botan::copy_mem
    linkageType: ''
    returnType: void
    signature: void bigint_shr1(W x[], size_t x_size, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:473,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/mp/mp_core.h:475,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/mp/mp_core.h:476,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/mp/mp_core.h:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - y
    - x
    - x_size
    - shift
    argTypes:
    - W[]
    - W[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 484
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 484
    functionName: Botan::bigint_shl2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 1
    functionsReached:
    - auto::if_set_return
    - Botan::copy_mem
    - Botan::sha512_msg_expand
    linkageType: ''
    returnType: void
    signature: void bigint_shl2(W y[], const W x[], size_t x_size, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:493,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/mp/mp_core.h:496,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/mp/mp_core.h:497,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/math/mp/mp_core.h:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - y
    - x
    - x_size
    - shift
    argTypes:
    - W[]
    - W[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 505
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 505
    functionName: Botan::bigint_shr2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 3
    functionsReached:
    - auto::if_set_return
    - Botan::copy_mem
    - Botan::sha512_msg_expand
    linkageType: ''
    returnType: void
    signature: void bigint_shr2(W y[], const W x[], size_t x_size, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word8_linmul2
      Src: /src/botan/src/lib/math/mp/mp_core.h:517,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_core.h:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - x
    - x_size
    - y
    argTypes:
    - W[]
    - size_t
    - W
    constantsTouched: []
    func_position:
      end: 525
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 525
    functionName: Botan::bigint_linmul2
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - Botan::word8_linmul2
    - Botan::word_madd2
    linkageType: ''
    returnType: auto
    signature: auto bigint_linmul2(W x[], size_t x_size, W y) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word8_linmul3
      Src: /src/botan/src/lib/math/mp/mp_core.h:534,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_core.h:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - z
    - x
    - x_size
    - y
    argTypes:
    - W[]
    - W[]
    - size_t
    - W
    constantsTouched: []
    func_position:
      end: 542
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 542
    functionName: Botan::bigint_linmul3
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 4
    functionsReached:
    - Botan::word8_linmul3
    - Botan::word_madd2
    linkageType: ''
    returnType: void
    signature: void bigint_linmul3(W z[], const W x[], size_t x_size, W y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_core.h:554,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/mp/mp_core.h:563,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/math/mp/mp_core.h:564,1
    - Dst: auto::select
      Src: /src/botan/src/lib/math/mp/mp_core.h:566,1
    - Dst: auto::select
      Src: /src/botan/src/lib/math/mp/mp_core.h:566,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/math/mp/mp_core.h:576,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/math/mp/mp_core.h:584,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/math/mp/mp_core.h:587,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/math/mp/mp_core.h:588,1
    - Dst: static_cast<int32_t>
      Src: /src/botan/src/lib/math/mp/mp_core.h:589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 590
      start: 551
    functionDepth: 2
    functionLinenumber: 551
    functionLinenumberEnd: 590
    functionName: Botan::bigint_cmp
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 1
    functionsReached:
    - auto::select
    - static_cast<int32_t>
    - BOTAN_DEBUG_ASSERT
    - Botan::BigInt::is_equal
    - Botan::Sodium::sodium_is_zero
    - Botan::bigint_ct_is_lt
    - Botan::CT::unpoison
    - static_cast<W>
    linkageType: ''
    returnType: int32_t
    signature: int32_t bigint_cmp(const W x[], size_t x_size, const W y[], size_t
      y_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/mp/mp_core.h:602,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/math/mp/mp_core.h:605,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/math/mp/mp_core.h:606,1
    - Dst: auto::select_mask
      Src: /src/botan/src/lib/math/mp/mp_core.h:607,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/math/mp/mp_core.h:616,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/math/mp/mp_core.h:624,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 628
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 628
    functionName: Botan::bigint_ct_is_lt
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 9
    functionsReached:
    - Botan::BigInt::is_equal
    - Botan::Sodium::sodium_is_zero
    - Botan::sha512_msg_expand
    - Botan::bigint_ct_is_lt
    - auto::select_mask
    linkageType: ''
    returnType: auto
    signature: "auto bigint_ct_is_lt(const W x[], size_t x_size, const W y[], size_t
      y_size, bool lt_or_equal = false)\n   -> CT::Mask<W>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/math/mp/mp_core.h:651,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 652
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 652
    functionName: Botan::bigint_ct_is_eq
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::sodium_is_zero
    linkageType: ''
    returnType: auto
    signature: auto bigint_ct_is_eq(const W x[], size_t x_size, const W y[], size_t
      y_size) -> CT::Mask<W>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::conditional_swap_ptr
      Src: /src/botan/src/lib/math/mp/mp_core.h:673,1
    - Dst: Botan::CT::conditional_swap
      Src: /src/botan/src/lib/math/mp/mp_core.h:674,1
    - Dst: std::min
      Src: /src/botan/src/lib/math/mp/mp_core.h:681,1
    - Dst: Botan::bigint_sub3
      Src: /src/botan/src/lib/math/mp/mp_core.h:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - z
    - x
    - x_size
    - y
    - y_size
    argTypes:
    - W[]
    - W[]
    - size_t
    - W[]
    - size_t
    constantsTouched: []
    func_position:
      end: 686
      start: 668
    functionDepth: 3
    functionLinenumber: 668
    functionLinenumberEnd: 686
    functionName: Botan::bigint_sub_abs
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 3
    functionsReached:
    - std::min
    - Botan::CT::conditional_swap
    - Botan::bigint_sub3
    - Botan::CT::conditional_swap_ptr
    linkageType: ''
    returnType: int32_t
    signature: int32_t bigint_sub_abs(W z[], const W x[], size_t x_size, const W y[],
      size_t y_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_sub3
      Src: /src/botan/src/lib/math/mp/mp_core.h:700,1
    - Dst: Botan::bigint_cnd_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:703,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - t
    - s
    - mod
    - mod_sw
    - ws
    argTypes:
    - W[]
    - W[]
    - W[]
    - size_t
    - W[]
    constantsTouched: []
    func_position:
      end: 706
      start: 698
    functionDepth: 3
    functionLinenumber: 698
    functionLinenumberEnd: 706
    functionName: Botan::bigint_mod_sub
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - Botan::copy_mem
    - Botan::bigint_sub3
    - Botan::bigint_cnd_add
    linkageType: ''
    returnType: void
    signature: void bigint_mod_sub(W t[], const W s[], const W mod[], size_t mod_sw,
      W ws[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/mp/mp_core.h:714,1
    - Dst: static_cast<W>
      Src: /src/botan/src/lib/math/mp/mp_core.h:721,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - n1
    - n0
    - d
    argTypes:
    - W
    - W
    - W
    constantsTouched: []
    func_position:
      end: 741
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 741
    functionName: Botan::bigint_divop_vartime
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 1
    functionsReached:
    - Invalid_Argument
    - static_cast<W>
    linkageType: ''
    returnType: auto
    signature: auto bigint_divop_vartime(W n1, W n0, W d) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/mp/mp_core.h:749,1
    - Dst: Botan::bigint_divop_vartime
      Src: /src/botan/src/lib/math/mp/mp_core.h:752,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_core.h:754,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - n1
    - n0
    - d
    argTypes:
    - W
    - W
    - W
    constantsTouched: []
    func_position:
      end: 756
      start: 747
    functionDepth: 2
    functionLinenumber: 747
    functionLinenumberEnd: 756
    functionName: Botan::bigint_modop_vartime
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 1
    functionsReached:
    - Botan::bigint_divop_vartime
    - Invalid_Argument
    - Botan::word_madd2
    linkageType: ''
    returnType: auto
    signature: auto bigint_modop_vartime(W n1, W n0, W d) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/math/mp/mp_core.h:768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - a
    argTypes:
    - W
    constantsTouched: []
    func_position:
      end: 792
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 792
    functionName: Botan::monty_inverse
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: auto
    signature: auto monty_inverse(W a) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 806
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 806
    functionName: Botan::shift_left
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: W
    signature: W shift_left(std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 820
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 820
    functionName: Botan::shift_right
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: W
    signature: W shift_right(std::array<W, N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int8_t>
      Src: /src/botan/src/lib/math/mp/mp_core.h:836,1
    - Dst: static_cast<int8_t>
      Src: /src/botan/src/lib/math/mp/mp_core.h:838,1
    - Dst: static_cast<int8_t>
      Src: /src/botan/src/lib/math/mp/mp_core.h:840,1
    - Dst: Botan::shift_left
      Src: /src/botan/src/lib/math/mp/mp_core.h:851,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - (s)
    argTypes:
    - char[]
    constantsTouched: []
    func_position:
      end: 857
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 857
    functionName: Botan::hex_to_words
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - static_cast<int8_t>
    - Botan::shift_left
    linkageType: ''
    returnType: auto
    signature: auto hex_to_words(const char (&s)[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_core.h:883,1
    - Dst: Botan::bigint_comba_mul4
      Src: /src/botan/src/lib/math/mp/mp_core.h:885,1
    - Dst: Botan::bigint_comba_mul6
      Src: /src/botan/src/lib/math/mp/mp_core.h:888,1
    - Dst: Botan::bigint_comba_mul7
      Src: /src/botan/src/lib/math/mp/mp_core.h:891,1
    - Dst: Botan::bigint_comba_mul8
      Src: /src/botan/src/lib/math/mp/mp_core.h:894,1
    - Dst: Botan::bigint_comba_mul9
      Src: /src/botan/src/lib/math/mp/mp_core.h:897,1
    - Dst: Botan::bigint_comba_mul16
      Src: /src/botan/src/lib/math/mp/mp_core.h:900,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_core.h:911,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_core.h:913,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - W[]
    - W[]
    - W[]
    constantsTouched: []
    func_position:
      end: 915
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 915
    functionName: Botan::comba_mul
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 4
    functionsReached:
    - Botan::bigint_comba_mul16
    - Botan::bigint_comba_mul8
    - word3::extract
    - Botan::bigint_comba_mul4
    - Botan::bigint_comba_mul7
    - std::is_constant_evaluated
    - Botan::bigint_comba_mul9
    - word3::mul
    - Botan::bigint_comba_mul6
    linkageType: ''
    returnType: void
    signature: void comba_mul(W z[2 * N], const W x[N], const W y[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_core.h:919,1
    - Dst: Botan::bigint_comba_sqr4
      Src: /src/botan/src/lib/math/mp/mp_core.h:921,1
    - Dst: Botan::bigint_comba_sqr6
      Src: /src/botan/src/lib/math/mp/mp_core.h:924,1
    - Dst: Botan::bigint_comba_sqr7
      Src: /src/botan/src/lib/math/mp/mp_core.h:927,1
    - Dst: Botan::bigint_comba_sqr8
      Src: /src/botan/src/lib/math/mp/mp_core.h:930,1
    - Dst: Botan::bigint_comba_sqr9
      Src: /src/botan/src/lib/math/mp/mp_core.h:933,1
    - Dst: Botan::bigint_comba_sqr16
      Src: /src/botan/src/lib/math/mp/mp_core.h:936,1
    - Dst: word3::mul
      Src: /src/botan/src/lib/math/mp/mp_core.h:947,1
    - Dst: word3::extract
      Src: /src/botan/src/lib/math/mp/mp_core.h:949,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - W[]
    - W[]
    constantsTouched: []
    func_position:
      end: 951
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 951
    functionName: Botan::comba_sqr
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 1
    functionsReached:
    - Botan::bigint_comba_sqr8
    - Botan::bigint_comba_sqr6
    - Botan::bigint_comba_sqr9
    - word3::extract
    - Botan::bigint_comba_sqr7
    - std::is_constant_evaluated
    - word3::mul
    - Botan::bigint_comba_sqr16
    - Botan::bigint_comba_sqr4
    linkageType: ''
    returnType: void
    signature: void comba_sqr(W z[2 * N], const W x[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/math/mp/mp_core.h:991,1
    - Dst: Botan::bigint_monty_redc_4
      Src: /src/botan/src/lib/math/mp/mp_core.h:994,1
    - Dst: Botan::bigint_monty_redc_6
      Src: /src/botan/src/lib/math/mp/mp_core.h:996,1
    - Dst: Botan::bigint_monty_redc_8
      Src: /src/botan/src/lib/math/mp/mp_core.h:998,1
    - Dst: Botan::bigint_monty_redc_12
      Src: /src/botan/src/lib/math/mp/mp_core.h:1000,1
    - Dst: Botan::bigint_monty_redc_16
      Src: /src/botan/src/lib/math/mp/mp_core.h:1002,1
    - Dst: Botan::bigint_monty_redc_24
      Src: /src/botan/src/lib/math/mp/mp_core.h:1004,1
    - Dst: Botan::bigint_monty_redc_32
      Src: /src/botan/src/lib/math/mp/mp_core.h:1006,1
    - Dst: Botan::bigint_monty_redc_generic
      Src: /src/botan/src/lib/math/mp/mp_core.h:1008,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 7
    argNames:
    - r
    - z
    - p
    - p_size
    - p_dash
    - ws
    - ws_size
    argTypes:
    - word[]
    - word[]
    - word[]
    - size_t
    - word
    - word[]
    - size_t
    constantsTouched: []
    func_position:
      end: 1010
      start: 987
    functionDepth: 2
    functionLinenumber: 987
    functionLinenumberEnd: 1010
    functionName: Botan::bigint_monty_redc
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - Botan::bigint_monty_redc_24
    - Botan::bigint_monty_redc_generic
    - Botan::bigint_monty_redc_16
    - Botan::bigint_monty_redc_32
    - Botan::bigint_monty_redc_12
    - Botan::bigint_monty_redc_4
    - Botan::bigint_monty_redc_6
    - BOTAN_ARG_CHECK
    - Botan::bigint_monty_redc_8
    linkageType: ''
    returnType: void
    signature: "void bigint_monty_redc(\n   word r[], const word z[], const word p[],
      size_t p_size, word p_dash, word ws[], size_t ws_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_monty_redc
      Src: /src/botan/src/lib/math/mp/mp_core.h:1013,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - z
    - p
    - p_size
    - p_dash
    - ws
    - ws_size
    argTypes:
    - word[]
    - word[]
    - size_t
    - word
    - word[]
    - size_t
    constantsTouched: []
    func_position:
      end: 1015
      start: 1012
    functionDepth: 3
    functionLinenumber: 1012
    functionLinenumberEnd: 1015
    functionName: Botan::bigint_monty_redc_inplace
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - Botan::bigint_monty_redc
    - Botan::clear_mem
    linkageType: ''
    returnType: void
    signature: void bigint_monty_redc_inplace(word z[], const word p[], size_t p_size,
      word p_dash, word ws[], size_t ws_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::word_madd3
      Src: /src/botan/src/lib/math/mp/mp_core.h:1065,1
    - Dst: Botan::word_madd2
      Src: /src/botan/src/lib/math/mp/mp_core.h:1070,1
    - Dst: Botan::bigint_add2_nc
      Src: /src/botan/src/lib/math/mp/mp_core.h:1072,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1072,1
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/math/mp/mp_core.h:1093,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1111,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1111,1
    - Dst: Botan::CT::conditional_assign_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:1116,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1116,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1116,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:1121,1
    - Dst: Botan::word_sub
      Src: /src/botan/src/lib/math/mp/mp_core.h:1123,1
    - Dst: Botan::CT::conditional_assign_mem
      Src: /src/botan/src/lib/math/mp/mp_core.h:1128,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1128,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - z
    argTypes:
    - std::span<const W, 2 * N>
    constantsTouched: []
    func_position:
      end: 1131
      start: 1056
    functionDepth: 4
    functionLinenumber: 1056
    functionLinenumberEnd: 1131
    functionName: Botan::redc_crandall
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - Botan::bigint_add2_nc
    - std::array::data
    - Botan::word_madd3
    - std::is_constant_evaluated
    - Botan::word_sub
    - Botan::CT::conditional_assign_mem
    - Botan::word_madd2
    linkageType: ''
    returnType: std::array<W, N>
    signature: std::array<W, N> redc_crandall(std::span<const W, 2 * N> z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_sub2
      Src: /src/botan/src/lib/math/mp/mp_core.h:1139,1
    - Dst: data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1139,1
    - Dst: data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1139,1
    - Dst: Botan::bigint_cnd_add
      Src: /src/botan/src/lib/math/mp/mp_core.h:1140,1
    - Dst: data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1140,1
    - Dst: data
      Src: /src/botan/src/lib/math/mp/mp_core.h:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r'
    - ' P'
    - ' C'
    argTypes:
    - std::array<W, N>
    - std::array<W, N>
    - std::array<W, N>
    constantsTouched: []
    func_position:
      end: 1141
      start: 1137
    functionDepth: 3
    functionLinenumber: 1137
    functionLinenumberEnd: 1141
    functionName: Botan::bigint_correct_redc
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - data
    - Botan::bigint_sub2
    - Botan::bigint_cnd_add
    linkageType: ''
    returnType: void
    signature: void bigint_correct_redc(std::array<W, N>& r, const std::array<W, N>&
      P, const std::array<W, N>& C)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const W, N>::size
      Src: /src/botan/src/lib/math/mp/mp_core.h:1152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - words
    - offset
    argTypes:
    - std::span<const W, N>
    - size_t
    constantsTouched: []
    func_position:
      end: 1166
      start: 1145
    functionDepth: 1
    functionLinenumber: 1145
    functionLinenumberEnd: 1166
    functionName: Botan::read_window_bits
    functionSourceFile: /src/botan/src/lib/math/mp/mp_core.h
    functionUses: 0
    functionsReached:
    - std::span<const W, N>::size
    linkageType: ''
    returnType: size_t
    signature: size_t read_window_bits(std::span<const W, N> words, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~RandomNumberGenerator()
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RandomNumberGenerator()
  - 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: Botan::RandomNumberGenerator
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RandomNumberGenerator()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::RandomNumberGenerator
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RandomNumberGenerator(const RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fill_bytes_with_input
      Src: /src/botan/src/lib/rng/rng.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::randomize
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 5
    functionsReached:
    - Botan::fill_bytes_with_input
    linkageType: ''
    returnType: void
    signature: void randomize(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::randomize
      Src: /src/botan/src/lib/rng/rng.h:70,1
    - Dst: std::span
      Src: /src/botan/src/lib/rng/rng.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - output
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::randomize
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 6
    functionsReached:
    - Botan::randomize
    - std::span
    linkageType: ''
    returnType: void
    signature: void randomize(uint8_t output[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fill_bytes_with_input
      Src: /src/botan/src/lib/rng/rng.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan::add_entropy
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 0
    functionsReached:
    - Botan::fill_bytes_with_input
    linkageType: ''
    returnType: void
    signature: void add_entropy(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::add_entropy
      Src: /src/botan/src/lib/rng/rng.h:93,1
    - Dst: std::span
      Src: /src/botan/src/lib/rng/rng.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: Botan::add_entropy
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 1
    functionsReached:
    - Botan::add_entropy
    - std::span
    linkageType: ''
    returnType: void
    signature: void add_entropy(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::add_entropy
      Src: /src/botan/src/lib/rng/rng.h:101,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/rng/rng.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: Botan::add_entropy_T
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 0
    functionsReached:
    - Botan::add_entropy
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: void
    signature: void add_entropy_T(const T& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fill_bytes_with_input
      Src: /src/botan/src/lib/rng/rng.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: Botan::randomize_with_input
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 0
    functionsReached:
    - Botan::fill_bytes_with_input
    linkageType: ''
    returnType: void
    signature: void randomize_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::randomize_with_input
      Src: /src/botan/src/lib/rng/rng.h:125,1
    - Dst: std::span
      Src: /src/botan/src/lib/rng/rng.h:125,1
    - Dst: std::span
      Src: /src/botan/src/lib/rng/rng.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - output
    - output_len
    - input
    - input_len
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::randomize_with_input
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 1
    functionsReached:
    - Botan::randomize_with_input
    - std::span
    linkageType: ''
    returnType: void
    signature: void randomize_with_input(uint8_t output[], size_t output_len, const
      uint8_t input[], size_t input_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::randomize_with_ts_input
      Src: /src/botan/src/lib/rng/rng.h:145,1
    - Dst: std::span
      Src: /src/botan/src/lib/rng/rng.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - output
    - output_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: Botan::randomize_with_ts_input
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 1
    functionsReached:
    - Botan::randomize_with_ts_input
    - std::span
    linkageType: ''
    returnType: void
    signature: void randomize_with_ts_input(uint8_t output[], size_t output_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::randomize
      Src: /src/botan/src/lib/rng/rng.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: Botan::random_vec
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 3
    functionsReached:
    - Botan::randomize
    linkageType: ''
    returnType: void
    signature: void random_vec(std::span<uint8_t> v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/rng/rng.h:208,1
    - Dst: Botan::random_vec
      Src: /src/botan/src/lib/rng/rng.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' v'
    - bytes
    argTypes:
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: Botan::random_vec
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 4
    functionsReached:
    - resize
    - Botan::random_vec
    linkageType: ''
    returnType: void
    signature: void random_vec(T& v, size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::random_vec
      Src: /src/botan/src/lib/rng/rng.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: Botan::random_vec
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 5
    functionsReached:
    - Botan::random_vec
    linkageType: ''
    returnType: T
    signature: T random_vec(size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::random_vec
      Src: /src/botan/src/lib/rng/rng.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: Botan::random_array
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 0
    functionsReached:
    - Botan::random_vec
    linkageType: ''
    returnType: std::array<uint8_t, bytes>
    signature: std::array<uint8_t, bytes> random_array()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fill_bytes_with_input
      Src: /src/botan/src/lib/rng/rng.h:246,1
    - Dst: std::span
      Src: /src/botan/src/lib/rng/rng.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: Botan::next_byte
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 1
    functionsReached:
    - Botan::fill_bytes_with_input
    - std::span
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t next_byte()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::next_byte
      Src: /src/botan/src/lib/rng/rng.h:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: Botan::next_nonzero_byte
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 0
    functionsReached:
    - Botan::next_byte
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t next_nonzero_byte()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 312
    functionName: RandomNumberGenerator
    functionSourceFile: /src/botan/src/lib/rng/rng.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Null_RNG
    signature: Null_RNG RandomNumberGenerator
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RandomNumberGenerator::accepts_input
      Src: /src/botan/src/lib/rng/rng.cpp:28,1
    - Dst: store_le
      Src: /src/botan/src/lib/rng/rng.cpp:32,1
    - Dst: subspan
      Src: /src/botan/src/lib/rng/rng.cpp:32,1
    - Dst: Botan::OS::get_high_resolution_clock
      Src: /src/botan/src/lib/rng/rng.cpp:32,1
    - Dst: store_le
      Src: /src/botan/src/lib/rng/rng.cpp:33,1
    - Dst: subspan
      Src: /src/botan/src/lib/rng/rng.cpp:33,1
    - Dst: Botan::OS::get_process_id
      Src: /src/botan/src/lib/rng/rng.cpp:33,1
    - Dst: system_rng
      Src: /src/botan/src/lib/rng/rng.cpp:40,1
    - Dst: subspan
      Src: /src/botan/src/lib/rng/rng.cpp:40,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/rng/rng.cpp:42,1
    - Dst: Botan::RandomNumberGenerator::fill_bytes_with_input
      Src: /src/botan/src/lib/rng/rng.cpp:45,1
    - Dst: Botan::RandomNumberGenerator::fill_bytes_with_input
      Src: /src/botan/src/lib/rng/rng.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 49
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 49
    functionName: Botan::RandomNumberGenerator::randomize_with_ts_input
    functionSourceFile: /src/botan/src/lib/rng/rng.cpp
    functionUses: 0
    functionsReached:
    - system_rng
    - Botan::RandomNumberGenerator::fill_bytes_with_input
    - Botan::OS::get_process_id
    - store_le
    - subspan
    - BOTAN_UNUSED
    - Botan::OS::get_high_resolution_clock
    - Botan::RandomNumberGenerator::accepts_input
    linkageType: ''
    returnType: void
    signature: void RandomNumberGenerator::randomize_with_ts_input(std::span<uint8_t>
      output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RandomNumberGenerator::accepts_input
      Src: /src/botan/src/lib/rng/rng.cpp:52,1
    - Dst: poll
      Src: /src/botan/src/lib/rng/rng.cpp:54,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/rng/rng.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' srcs'
    - poll_bits
    - poll_timeout
    argTypes:
    - Entropy_Sources
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: Botan::RandomNumberGenerator::reseed
    functionSourceFile: /src/botan/src/lib/rng/rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::RandomNumberGenerator::accepts_input
    - poll
    - BOTAN_UNUSED
    linkageType: ''
    returnType: size_t
    signature: size_t RandomNumberGenerator::reseed(Entropy_Sources& srcs, size_t
      poll_bits, std::chrono::milliseconds poll_timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RandomNumberGenerator::accepts_input
      Src: /src/botan/src/lib/rng/rng.cpp:64,1
    - Dst: Botan::RandomNumberGenerator::add_entropy
      Src: /src/botan/src/lib/rng/rng.cpp:65,1
    - Dst: random_vec
      Src: /src/botan/src/lib/rng/rng.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' rng'
    - poll_bits
    argTypes:
    - RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: Botan::RandomNumberGenerator::reseed_from_rng
    functionSourceFile: /src/botan/src/lib/rng/rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::RandomNumberGenerator::accepts_input
    - random_vec
    - Botan::RandomNumberGenerator::add_entropy
    linkageType: ''
    returnType: void
    signature: void RandomNumberGenerator::reseed_from_rng(RandomNumberGenerator&
      rng, size_t poll_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/rng.cpp:71,1
    - Dst: PRNG_Unseeded
      Src: /src/botan/src/lib/rng/rng.cpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: Botan::Null_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/rng.cpp
    functionUses: 0
    functionsReached:
    - PRNG_Unseeded
    - std::span<uint8_t>::empty
    linkageType: ''
    returnType: void
    signature: void Null_RNG::fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> /* ignored */)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Processor_RNG
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 44
    functionName: Botan::Hardware_RNG
    functionSourceFile: /src/botan/src/lib/rng/processor_rng/processor_rng.h
    functionUses: 0
    functionsReached:
    - Processor_RNG
    linkageType: ''
    returnType: Processor_RNG
    signature: Processor_RNG Hardware_RNG
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _rdrand32_step
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:61,1
    - Dst: _rdrand64_step
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:63,1
    - Dst: reinterpret_cast<unsigned long long*>
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' success'
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 91
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 91
    functionName: Botan::read_hwrng
    functionSourceFile: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp
    functionUses: 0
    functionsReached:
    - _rdrand32_step
    - _rdrand64_step
    - reinterpret_cast<unsigned long long*>
    linkageType: ''
    returnType: hwrng_output
    signature: hwrng_output read_hwrng(bool& success)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::read_hwrng
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:96,1
    - Dst: PRNG_Unseeded
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: Botan::read_hwrng
    functionSourceFile: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp
    functionUses: 1
    functionsReached:
    - Botan::read_hwrng
    - PRNG_Unseeded
    linkageType: ''
    returnType: hwrng_output
    signature: hwrng_output read_hwrng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:111,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: Botan::Processor_RNG::available
    functionSourceFile: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp
    functionUses: 3
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: bool
    signature: bool Processor_RNG::available()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: Botan::Processor_RNG::name
    functionSourceFile: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Processor_RNG::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:131,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:133,1
    - Dst: read_hwrng
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:134,1
    - Dst: store_le
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:135,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:135,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:136,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:139,1
    - Dst: read_hwrng
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:141,1
    - Dst: store_le
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:143,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 149
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 149
    functionName: Botan::Processor_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - std::span<uint8_t>::empty
    - std::span<uint8_t>::data
    - store_le
    - BOTAN_UNUSED
    - read_hwrng
    - std::span<uint8_t>::subspan
    linkageType: ''
    returnType: void
    signature: void Processor_RNG::fill_bytes_with_input(std::span<uint8_t> out, std::span<const
      uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Processor_RNG::available
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:152,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: Botan::Processor_RNG::Processor_RNG
    functionSourceFile: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp
    functionUses: 2
    functionsReached:
    - Botan::Processor_RNG::available
    - Invalid_State
    linkageType: ''
    returnType: void
    signature: void Processor_RNG::Processor_RNG()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: Botan::Processor_RNG::reseed
    functionSourceFile: /src/botan/src/lib/rng/processor_rng/processor_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t Processor_RNG::reseed(Entropy_Sources& /*srcs*/,\n                             size_t
      /*poll_bits*/,\n                             std::chrono::milliseconds /*poll_timeout*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ESDM_RNG
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 107
    functionName: Botan::Botan::RandomNumberGenerator
    functionSourceFile: /src/botan/src/lib/rng/esdm_rng/esdm_rng.h
    functionUses: 0
    functionsReached:
    - ESDM_RNG
    linkageType: ''
    returnType: ESDM_RNG
    signature: ESDM_RNG Botan::RandomNumberGenerator
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ESDM_Context::acquire
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: Botan::ESDM_Context::instance
    functionSourceFile: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp
    functionUses: 0
    functionsReached:
    - ESDM_Context::acquire
    linkageType: ''
    returnType: std::shared_ptr<void>
    signature: std::shared_ptr<void> instance()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::ESDM_Context::ESDM_Context
    functionSourceFile: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ESDM_Context()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: esdm_rpcc_init_unpriv_service
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:35,1
    - Dst: Botan::System_Error::System_Error
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:36,1
    - Dst: Botan::ESDM_Context::release
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: Botan::ESDM_Context::acquire
    functionSourceFile: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::System_Error::System_Error
    - Botan::ESDM_Context::release
    - esdm_rpcc_init_unpriv_service
    linkageType: ''
    returnType: std::shared_ptr<void>
    signature: std::shared_ptr<void> acquire()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: esdm_rpcc_fini_unpriv_service
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: Botan::ESDM_Context::release
    functionSourceFile: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp
    functionUses: 1
    functionsReached:
    - esdm_rpcc_fini_unpriv_service
    linkageType: ''
    returnType: void
    signature: void release()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ESDM_Context::instance
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - prediction_resistance
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: Botan::ESDM_RNG::ESDM_RNG
    functionSourceFile: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::ESDM_Context::instance
    linkageType: ''
    returnType: void
    signature: void ESDM_RNG::ESDM_RNG(bool prediction_resistance)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:66,1
    - Dst: esdm_invoke
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:73,1
    - Dst: esdm_rpcc_write_data
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:73,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:73,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:73,1
    - Dst: Botan::System_Error::System_Error
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:78,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:82,1
    - Dst: esdm_invoke
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:86,1
    - Dst: esdm_rpcc_get_random_bytes_pr
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:86,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:86,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:86,1
    - Dst: esdm_invoke
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:88,1
    - Dst: esdm_rpcc_get_random_bytes_full
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:88,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:88,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:88,1
    - Dst: static_cast<ssize_t>
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:93,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:93,1
    - Dst: Botan::System_Error::System_Error
      Src: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 97
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 97
    functionName: Botan::ESDM_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp
    functionUses: 0
    functionsReached:
    - esdm_rpcc_get_random_bytes_full
    - esdm_rpcc_get_random_bytes_pr
    - std::span<const uint8_t>::empty
    - esdm_rpcc_write_data
    - esdm_invoke
    - std::span<uint8_t>::empty
    - std::span<uint8_t>::size
    - std::span<uint8_t>::data
    - static_cast<ssize_t>
    - std::span<const uint8_t>::size
    - Botan::System_Error::System_Error
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void ESDM_RNG::fill_bytes_with_input(std::span<uint8_t> out, std::span<const
      uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: Botan::esdm_rng
    functionSourceFile: /src/botan/src/lib/rng/esdm_rng/esdm_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RandomNumberGenerator
    signature: RandomNumberGenerator & esdm_rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:15,1
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:16,1
    - Dst: clear
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 3
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: Botan::ChaCha_RNG::ChaCha_RNG
    functionSourceFile: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp
    functionUses: 3
    functionsReached:
    - clear
    - Botan::MessageAuthenticationCode::create_or_throw
    - Botan::StreamCipher::create_or_throw
    linkageType: ''
    returnType: void
    signature: void ChaCha_RNG::ChaCha_RNG()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:21,1
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:22,1
    - Dst: clear
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:23,1
    - Dst: add_entropy
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - seed
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: Botan::ChaCha_RNG::ChaCha_RNG
    functionSourceFile: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp
    functionUses: 3
    functionsReached:
    - clear
    - Botan::MessageAuthenticationCode::create_or_throw
    - add_entropy
    - Botan::StreamCipher::create_or_throw
    linkageType: ''
    returnType: void
    signature: void ChaCha_RNG::ChaCha_RNG(std::span<const uint8_t> seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:29,1
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:30,1
    - Dst: clear
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' underlying_rng'
    - reseed_interval
    argTypes:
    - RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: Botan::ChaCha_RNG::ChaCha_RNG
    functionSourceFile: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp
    functionUses: 3
    functionsReached:
    - clear
    - Botan::MessageAuthenticationCode::create_or_throw
    - Botan::StreamCipher::create_or_throw
    linkageType: ''
    returnType: void
    signature: void ChaCha_RNG::ChaCha_RNG(RandomNumberGenerator& underlying_rng,
      size_t reseed_interval)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:38,1
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:39,1
    - Dst: clear
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' underlying_rng'
    - ' entropy_sources'
    - reseed_interval
    argTypes:
    - RandomNumberGenerator
    - Entropy_Sources
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: Botan::ChaCha_RNG::ChaCha_RNG
    functionSourceFile: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp
    functionUses: 3
    functionsReached:
    - clear
    - Botan::MessageAuthenticationCode::create_or_throw
    - Botan::StreamCipher::create_or_throw
    linkageType: ''
    returnType: void
    signature: "void ChaCha_RNG::ChaCha_RNG(RandomNumberGenerator& underlying_rng,\n
      \                      Entropy_Sources& entropy_sources,\n                       size_t
      reseed_interval)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:45,1
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:46,1
    - Dst: clear
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' entropy_sources'
    - reseed_interval
    argTypes:
    - Entropy_Sources
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: Botan::ChaCha_RNG::ChaCha_RNG
    functionSourceFile: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp
    functionUses: 3
    functionsReached:
    - clear
    - Botan::MessageAuthenticationCode::create_or_throw
    - Botan::StreamCipher::create_or_throw
    linkageType: ''
    returnType: void
    signature: void ChaCha_RNG::ChaCha_RNG(Entropy_Sources& entropy_sources, size_t
      reseed_interval)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:51,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:51,1
    - Dst: output_length
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:51,1
    - Dst: set_key
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:52,1
    - Dst: final
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: Botan::ChaCha_RNG::clear_state
    functionSourceFile: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp
    functionUses: 0
    functionsReached:
    - output_length
    - set_key
    - std::vector<uint8_t>
    - final
    linkageType: ''
    returnType: void
    signature: void ChaCha_RNG::clear_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:56,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:56,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:58,1
    - Dst: Botan::ChaCha_RNG::update
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:59,1
    - Dst: write_keystream
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: Botan::ChaCha_RNG::generate_output
    functionSourceFile: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - std::span<const uint8_t>::empty
    - Botan::ChaCha_RNG::update
    - std::span<uint8_t>::empty
    - write_keystream
    linkageType: ''
    returnType: void
    signature: void ChaCha_RNG::generate_output(std::span<uint8_t> output, std::span<const
      uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ChaCha_RNG::update
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:66,1
    - Dst: set_key
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:67,1
    - Dst: final
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:67,1
    - Dst: keystream_bytes
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:68,1
    - Dst: output_length
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:68,1
    - Dst: set_key
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: Botan::ChaCha_RNG::update
    functionSourceFile: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp
    functionUses: 2
    functionsReached:
    - keystream_bytes
    - final
    - Botan::ChaCha_RNG::update
    - set_key
    - output_length
    linkageType: ''
    returnType: void
    signature: void ChaCha_RNG::update(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Botan::ChaCha_RNG::security_level
    functionSourceFile: /src/botan/src/lib/rng/chacha_rng/chacha_rng.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ChaCha_RNG::security_level() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha_RNG
      Src: /src/botan/src/lib/rng/chacha_rng/chacha_rng.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 119
    functionName: Botan::Stateful_RNG
    functionSourceFile: /src/botan/src/lib/rng/chacha_rng/chacha_rng.h
    functionUses: 0
    functionsReached:
    - ChaCha_RNG
    linkageType: ''
    returnType: ChaCha_RNG
    signature: ChaCha_RNG Stateful_RNG
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mac_output_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: Botan::hmac_drbg_security_level
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hmac_drbg_security_level(size_t mac_output_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:36,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:37,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:41,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - reseed_interval
    - max_number_of_bytes_per_request
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: Botan::check_limits
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void check_limits(size_t reseed_interval, size_t max_number_of_bytes_per_request)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:52,1
    - Dst: hmac_drbg_security_level
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:54,1
    - Dst: output_length
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:54,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:55,1
    - Dst: check_limits
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:57,1
    - Dst: clear
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - prf
    - ' underlying_rng'
    - reseed_interval
    - max_number_of_bytes_per_request
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    - RandomNumberGenerator
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: Botan::HMAC_DRBG::HMAC_DRBG
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 0
    functionsReached:
    - check_limits
    - clear
    - hmac_drbg_security_level
    - std::move
    - output_length
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void HMAC_DRBG::HMAC_DRBG(std::unique_ptr<MessageAuthenticationCode>
      prf,\n                     RandomNumberGenerator& underlying_rng,\n                     size_t
      reseed_interval,\n                     size_t max_number_of_bytes_per_request)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:68,1
    - Dst: hmac_drbg_security_level
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:70,1
    - Dst: output_length
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:70,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:71,1
    - Dst: check_limits
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:73,1
    - Dst: clear
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - prf
    - ' underlying_rng'
    - ' entropy_sources'
    - reseed_interval
    - max_number_of_bytes_per_request
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    - RandomNumberGenerator
    - Entropy_Sources
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: Botan::HMAC_DRBG::HMAC_DRBG
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 0
    functionsReached:
    - check_limits
    - clear
    - hmac_drbg_security_level
    - std::move
    - output_length
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void HMAC_DRBG::HMAC_DRBG(std::unique_ptr<MessageAuthenticationCode>
      prf,\n                     RandomNumberGenerator& underlying_rng,\n                     Entropy_Sources&
      entropy_sources,\n                     size_t reseed_interval,\n                     size_t
      max_number_of_bytes_per_request)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:83,1
    - Dst: hmac_drbg_security_level
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:85,1
    - Dst: output_length
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:85,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:86,1
    - Dst: check_limits
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:88,1
    - Dst: clear
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - prf
    - ' entropy_sources'
    - reseed_interval
    - max_number_of_bytes_per_request
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    - Entropy_Sources
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: Botan::HMAC_DRBG::HMAC_DRBG
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 0
    functionsReached:
    - check_limits
    - clear
    - hmac_drbg_security_level
    - std::move
    - output_length
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void HMAC_DRBG::HMAC_DRBG(std::unique_ptr<MessageAuthenticationCode>
      prf,\n                     Entropy_Sources& entropy_sources,\n                     size_t
      reseed_interval,\n                     size_t max_number_of_bytes_per_request)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:95,1
    - Dst: hmac_drbg_security_level
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:97,1
    - Dst: output_length
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:97,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:98,1
    - Dst: clear
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - prf
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: Botan::HMAC_DRBG::HMAC_DRBG
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 0
    functionsReached:
    - clear
    - hmac_drbg_security_level
    - std::move
    - output_length
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void HMAC_DRBG::HMAC_DRBG(std::unique_ptr<MessageAuthenticationCode>
      prf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:104,1
    - Dst: fmt
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:104,1
    - Dst: hmac_drbg_security_level
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:106,1
    - Dst: output_length
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:106,1
    - Dst: clear
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hmac_hash
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: Botan::HMAC_DRBG::HMAC_DRBG
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - clear
    - Botan::MessageAuthenticationCode::create_or_throw
    - hmac_drbg_security_level
    - output_length
    linkageType: ''
    returnType: void
    signature: void HMAC_DRBG::HMAC_DRBG(std::string_view hmac_hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:111,1
    - Dst: resize
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:113,1
    - Dst: resize
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:114,1
    - Dst: size
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:117,1
    - Dst: set_key
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:120,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:120,1
    - Dst: size
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: Botan::HMAC_DRBG::clear_state
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 0
    functionsReached:
    - size
    - empty
    - std::vector<uint8_t>
    - resize
    - set_key
    linkageType: ''
    returnType: void
    signature: void HMAC_DRBG::clear_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:124,1
    - Dst: Botan::HMAC_DRBG::name
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: Botan::HMAC_DRBG::name
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 2
    functionsReached:
    - fmt
    - Botan::HMAC_DRBG::name
    linkageType: ''
    returnType: std::string
    signature: std::string HMAC_DRBG::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:132,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:132,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:134,1
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:135,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:138,1
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:140,1
    - Dst: final
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:141,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:142,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:142,1
    - Dst: data
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:142,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:144,1
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: Botan::HMAC_DRBG::generate_output
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - std::span<const uint8_t>::empty
    - final
    - data
    - std::span<uint8_t>::empty
    - std::span<uint8_t>::data
    - copy_mem
    - Botan::HMAC_DRBG::update
    - std::span<uint8_t>::subspan
    linkageType: ''
    returnType: void
    signature: void HMAC_DRBG::generate_output(std::span<uint8_t> output, std::span<const
      uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:155,1
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:156,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:157,1
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:158,1
    - Dst: final
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:160,1
    - Dst: set_key
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:161,1
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:163,1
    - Dst: final
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:164,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:166,1
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:167,1
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:168,1
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:169,1
    - Dst: final
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:170,1
    - Dst: set_key
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:171,1
    - Dst: Botan::HMAC_DRBG::update
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:173,1
    - Dst: final
      Src: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 176
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 176
    functionName: Botan::HMAC_DRBG::update
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 2
    functionsReached:
    - std::span<const uint8_t>::empty
    - Botan::HMAC_DRBG::update
    - final
    - set_key
    linkageType: ''
    returnType: void
    signature: void HMAC_DRBG::update(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: Botan::HMAC_DRBG::security_level
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t HMAC_DRBG::security_level() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 144
    functionName: Botan::Stateful_RNG
    functionSourceFile: /src/botan/src/lib/rng/hmac_drbg/hmac_drbg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HMAC_DRBG
    signature: HMAC_DRBG Stateful_RNG
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resolve
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: Botan::System_RNG_Impl::System_RNG_Impl
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - resolve
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::System_RNG_Impl::System_RNG_Impl
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl(const System_RNG_Impl& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::System_RNG_Impl::System_RNG_Impl
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl(System_RNG_Impl&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& operator=(const System_RNG_Impl& other)'
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: System_RNG_Impl
    signature: System_RNG_Impl & operator=(const System_RNG_Impl& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& operator=(System_RNG_Impl&& other)'
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: System_RNG_Impl
    signature: System_RNG_Impl & operator=(System_RNG_Impl&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: Botan::System_RNG_Impl::is_seeded
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan::System_RNG_Impl::accepts_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: Botan::System_RNG_Impl::clear
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan::System_RNG_Impl::name
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ULONG>
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:74,1
    - Dst: std::min
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:74,1
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:78,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: Botan::System_RNG_Impl::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ULONG>
    - std::min
    - BOTAN_ASSERT
    - System_Error
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> /* ignored */) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::BCryptOpenAlgorithmProvider
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:99,1
    - Dst: BCRYPT_SUCCESS
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:100,1
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: Botan::System_RNG_Impl::System_RNG_Impl
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - ::BCryptOpenAlgorithmProvider
    - System_Error
    - BCRYPT_SUCCESS
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Botan::System_RNG_Impl::System_RNG_Impl
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl(const System_RNG_Impl& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Botan::System_RNG_Impl::System_RNG_Impl
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl(System_RNG_Impl&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: '& operator=(const System_RNG_Impl& other)'
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: System_RNG_Impl
    signature: System_RNG_Impl & operator=(const System_RNG_Impl& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: '& operator=(System_RNG_Impl&& other)'
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: System_RNG_Impl
    signature: System_RNG_Impl & operator=(System_RNG_Impl&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::BCryptCloseAlgorithmProvider
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: ~System_RNG_Impl() override
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - ::BCryptCloseAlgorithmProvider
    linkageType: ''
    returnType: void
    signature: void ~System_RNG_Impl() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: Botan::System_RNG_Impl::is_seeded
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Botan::System_RNG_Impl::accepts_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: Botan::System_RNG_Impl::clear
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: Botan::System_RNG_Impl::name
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ULONG>
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:133,1
    - Dst: std::min
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:133,1
    - Dst: BCryptGenRandom
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:135,1
    - Dst: static_cast<PUCHAR>
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:135,1
    - Dst: BCRYPT_SUCCESS
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:136,1
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:137,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 144
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 144
    functionName: Botan::System_RNG_Impl::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - std::min
    - BCryptGenRandom
    - System_Error
    - static_cast<ULONG>
    - BOTAN_ASSERT
    - static_cast<PUCHAR>
    - BCRYPT_SUCCESS
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> /* ignored */) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: Botan::System_RNG_Impl::accepts_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: Botan::System_RNG_Impl::is_seeded
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: Botan::System_RNG_Impl::clear
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: Botan::System_RNG_Impl::name
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::CCRandomGenerateBytes
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:165,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:165,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:165,1
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: Botan::System_RNG_Impl::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - System_Error
    - std::span<uint8_t>::size
    - std::span<uint8_t>::data
    - ::CCRandomGenerateBytes
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> /* ignored */) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: Botan::System_RNG_Impl::accepts_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: Botan::System_RNG_Impl::is_seeded
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: Botan::System_RNG_Impl::clear
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: Botan::System_RNG_Impl::name
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:191,1
    - Dst: ::arc4random_buf
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:192,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:192,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: Botan::System_RNG_Impl::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - ::arc4random_buf
    - std::span<uint8_t>::size
    - std::span<uint8_t>::empty
    - std::span<uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> /* ignored */) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: Botan::System_RNG_Impl::accepts_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: Botan::System_RNG_Impl::is_seeded
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: Botan::System_RNG_Impl::clear
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: Botan::System_RNG_Impl::name
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 235
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 235
    functionName: Botan::System_RNG_Impl::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - System_Error
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> /* ignored */) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::impl::open
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:253,1
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:255,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:259,1
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:262,1
    - Dst: mcl::impl::open
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:264,1
    - Dst: mcl::impl::open
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:273,1
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 279
    functionName: Botan::System_RNG_Impl::System_RNG_Impl
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - mcl::impl::open
    - Botan::TLS::Channel_Impl::close
    - System_Error
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: Botan::System_RNG_Impl::System_RNG_Impl
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl(const System_RNG_Impl& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: Botan::System_RNG_Impl::System_RNG_Impl
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl(System_RNG_Impl&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: '& operator=(const System_RNG_Impl& other)'
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: System_RNG_Impl
    signature: System_RNG_Impl & operator=(const System_RNG_Impl& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - System_RNG_Impl
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: '& operator=(System_RNG_Impl&& other)'
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: System_RNG_Impl
    signature: System_RNG_Impl & operator=(System_RNG_Impl&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: ~System_RNG_Impl() override
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl::close
    linkageType: ''
    returnType: void
    signature: void ~System_RNG_Impl() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: Botan::System_RNG_Impl::is_seeded
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: Botan::System_RNG_Impl::accepts_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: Botan::System_RNG_Impl::clear
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: Botan::System_RNG_Impl::name
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::System_RNG_Impl::maybe_write_entropy
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:310,1
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:320,1
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 328
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 328
    functionName: Botan::System_RNG_Impl::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 0
    functionsReached:
    - System_Error
    - Botan::System_RNG_Impl::maybe_write_entropy
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl::fill_bytes_with_input(std::span<uint8_t> output,
      std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:331,1
    - Dst: System_Error
      Src: /src/botan/src/lib/rng/system_rng/system_rng.cpp:359,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - entropy_input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 365
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 365
    functionName: Botan::System_RNG_Impl::maybe_write_entropy
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::empty
    - System_Error
    linkageType: ''
    returnType: void
    signature: void System_RNG_Impl::maybe_write_entropy(std::span<const uint8_t>
      entropy_input)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: Botan::system_rng
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: RandomNumberGenerator
    signature: RandomNumberGenerator & system_rng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/rng/system_rng/system_rng.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::RandomNumberGenerator
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.h
    functionUses: 2
    functionsReached:
    - Botan::system_rng
    linkageType: ''
    returnType: System_RNG
    signature: System_RNG RandomNumberGenerator
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/rng/system_rng/system_rng.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::is_seeded
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.h
    functionUses: 2
    functionsReached:
    - Botan::system_rng
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/rng/system_rng/system_rng.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::accepts_input
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.h
    functionUses: 0
    functionsReached:
    - Botan::system_rng
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/rng/system_rng/system_rng.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::clear
    functionSourceFile: /src/botan/src/lib/rng/system_rng/system_rng.h
    functionUses: 6
    functionsReached:
    - Botan::system_rng
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:29,1
    - Dst: jent_entropy_collector_alloc
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:34,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: Botan::Jitter_RNG_Internal::Jitter_RNG_Internal
    functionSourceFile: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp
    functionUses: 0
    functionsReached:
    - jent_entropy_collector_alloc
    - BOTAN_ASSERT_NONNULL
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void Jitter_RNG_Internal::Jitter_RNG_Internal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jent_entropy_collector_free
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: Jitter_RNG_Internal::~Jitter_RNG_Internal()
    functionSourceFile: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp
    functionUses: 0
    functionsReached:
    - jent_entropy_collector_free
    linkageType: ''
    returnType: void
    signature: void Jitter_RNG_Internal::~Jitter_RNG_Internal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:46,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:50,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:76,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:82,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:82,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 83
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 83
    functionName: Botan::Jitter_RNG_Internal::collect_into_buffer
    functionSourceFile: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - std::span<uint8_t>::size
    - std::span<uint8_t>::empty
    - static_cast<size_t>
    - BOTAN_ASSERT
    - Internal_Error
    linkageType: ''
    returnType: void
    signature: void Jitter_RNG_Internal::collect_into_buffer(std::span<uint8_t> buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Jitter_RNG_Internal>
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan::Jitter_RNG::Jitter_RNG
    functionSourceFile: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Jitter_RNG_Internal>
    linkageType: ''
    returnType: void
    signature: void Jitter_RNG::Jitter_RNG()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Jitter_RNG::~Jitter_RNG()
    functionSourceFile: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Jitter_RNG::~Jitter_RNG()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Jitter_RNG_Internal>
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: Botan::Jitter_RNG::clear
    functionSourceFile: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Jitter_RNG_Internal>
    linkageType: ''
    returnType: void
    signature: void Jitter_RNG::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:94,1
    - Dst: collect_into_buffer
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: Botan::Jitter_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/jitter_rng/jitter_rng.cpp
    functionUses: 0
    functionsReached:
    - collect_into_buffer
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void Jitter_RNG::fill_bytes_with_input(std::span<uint8_t> out, std::span<const
      uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Jitter_RNG
      Src: /src/botan/src/lib/rng/jitter_rng/jitter_rng.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 39
    functionName: Botan::RandomNumberGenerator
    functionSourceFile: /src/botan/src/lib/rng/jitter_rng/jitter_rng.h
    functionUses: 2
    functionsReached:
    - Jitter_RNG
    linkageType: ''
    returnType: Jitter_RNG
    signature: Jitter_RNG RandomNumberGenerator
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_state
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: Botan::Stateful_RNG::clear
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp
    functionUses: 0
    functionsReached:
    - clear_state
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: Botan::Stateful_RNG::force_reseed
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG::force_reseed()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: Botan::Stateful_RNG::is_seeded
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Stateful_RNG::is_seeded() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Stateful_RNG::clear
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:34,1
    - Dst: add_entropy
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: Botan::Stateful_RNG::initialize_with
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::Stateful_RNG::clear
    - add_entropy
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG::initialize_with(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:39,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:39,1
    - Dst: Botan::Stateful_RNG::reseed_check
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:45,1
    - Dst: Botan::Stateful_RNG::generate_output
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:46,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:48,1
    - Dst: Botan::Stateful_RNG::reseed_check
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:51,1
    - Dst: Botan::Stateful_RNG::generate_output
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:52,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:52,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 60
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 60
    functionName: Botan::Stateful_RNG::generate_batched_output
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::Stateful_RNG::generate_output
    - BOTAN_ASSERT_NOMSG
    - std::span<uint8_t>::empty
    - Botan::Stateful_RNG::reseed_check
    - std::span<uint8_t>::subspan
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG::generate_batched_output(std::span<uint8_t> output,
      std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:65,1
    - Dst: Botan::Stateful_RNG::update
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:67,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:69,1
    - Dst: security_level
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:69,1
    - Dst: Botan::Stateful_RNG::reset_reseed_counter
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:70,1
    - Dst: Botan::Stateful_RNG::generate_batched_output
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: Botan::Stateful_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::Stateful_RNG::update
    - std::span<uint8_t>::empty
    - Botan::Stateful_RNG::generate_batched_output
    - Botan::Stateful_RNG::reset_reseed_counter
    - std::span<const uint8_t>::size
    - security_level
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG::fill_bytes_with_input(std::span<uint8_t> output,
      std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: security_level
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:82,1
    - Dst: Botan::Stateful_RNG::reset_reseed_counter
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' srcs'
    - poll_bits
    - poll_timeout
    argTypes:
    - Entropy_Sources
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: Botan::Stateful_RNG::reseed
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::Stateful_RNG::reset_reseed_counter
    - security_level
    linkageType: ''
    returnType: size_t
    signature: size_t Stateful_RNG::reseed(Entropy_Sources& srcs, size_t poll_bits,
      std::chrono::milliseconds poll_timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RandomNumberGenerator::reseed_from_rng
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:92,1
    - Dst: security_level
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:94,1
    - Dst: Botan::Stateful_RNG::reset_reseed_counter
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' rng'
    - poll_bits
    argTypes:
    - RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: Botan::Stateful_RNG::reseed_from_rng
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::RandomNumberGenerator::reseed_from_rng
    - Botan::Stateful_RNG::reset_reseed_counter
    - security_level
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG::reseed_from_rng(RandomNumberGenerator& rng, size_t
      poll_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: Botan::Stateful_RNG::reset_reseed_counter
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG::reset_reseed_counter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Stateful_RNG::is_seeded
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:111,1
    - Dst: Botan::Stateful_RNG::reseed_from_rng
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:116,1
    - Dst: security_level
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:116,1
    - Dst: Botan::Stateful_RNG::reseed
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:120,1
    - Dst: security_level
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:120,1
    - Dst: Botan::Stateful_RNG::is_seeded
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:123,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:125,1
    - Dst: PRNG_Unseeded
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:127,1
    - Dst: name
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:127,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp:131,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 134
    functionName: Botan::Stateful_RNG::reseed_check
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.cpp
    functionUses: 1
    functionsReached:
    - PRNG_Unseeded
    - Invalid_State
    - name
    - Botan::Stateful_RNG::reseed
    - security_level
    - BOTAN_ASSERT
    - Botan::Stateful_RNG::is_seeded
    - Botan::Stateful_RNG::reseed_from_rng
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG::reseed_check()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' rng'
    - reseed_interval
    argTypes:
    - RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: Botan::Stateful_RNG
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG(RandomNumberGenerator& rng, size_t reseed_interval)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' entropy_sources'
    - reseed_interval
    argTypes:
    - Entropy_Sources
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: Botan::Stateful_RNG
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG(Entropy_Sources& entropy_sources, size_t reseed_interval)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: Botan::Stateful_RNG
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stateful_RNG()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::initialize_with
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.h:67,1
    - Dst: std::span
      Src: /src/botan/src/lib/rng/stateful_rng/stateful_rng.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: Botan::initialize_with
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.h
    functionUses: 1
    functionsReached:
    - Botan::initialize_with
    - std::span
    linkageType: ''
    returnType: void
    signature: void initialize_with(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::accepts_input
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Botan::reseed_interval
    functionSourceFile: /src/botan/src/lib/rng/stateful_rng/stateful_rng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t reseed_interval() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 95
    functionName: Botan::RandomNumberGenerator
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: AutoSeeded_RNG
    signature: AutoSeeded_RNG RandomNumberGenerator
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:31,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: Botan::auto_rng_hmac
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 0
    functionsReached:
    - Botan::MessageAuthenticationCode::create
    - Internal_Error
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> auto_rng_hmac()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: AutoSeeded_RNG::~AutoSeeded_RNG()
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AutoSeeded_RNG::~AutoSeeded_RNG()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HMAC_DRBG>
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:45,1
    - Dst: auto_rng_hmac
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:45,1
    - Dst: Botan::AutoSeeded_RNG::force_reseed
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' underlying_rng'
    - reseed_interval
    argTypes:
    - RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: Botan::AutoSeeded_RNG::AutoSeeded_RNG
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 2
    functionsReached:
    - Botan::AutoSeeded_RNG::force_reseed
    - std::make_unique<HMAC_DRBG>
    - auto_rng_hmac
    linkageType: ''
    returnType: void
    signature: void AutoSeeded_RNG::AutoSeeded_RNG(RandomNumberGenerator& underlying_rng,
      size_t reseed_interval)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HMAC_DRBG>
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:51,1
    - Dst: auto_rng_hmac
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:51,1
    - Dst: Botan::AutoSeeded_RNG::force_reseed
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' entropy_sources'
    - reseed_interval
    argTypes:
    - Entropy_Sources
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: Botan::AutoSeeded_RNG::AutoSeeded_RNG
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 2
    functionsReached:
    - Botan::AutoSeeded_RNG::force_reseed
    - std::make_unique<HMAC_DRBG>
    - auto_rng_hmac
    linkageType: ''
    returnType: void
    signature: void AutoSeeded_RNG::AutoSeeded_RNG(Entropy_Sources& entropy_sources,
      size_t reseed_interval)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HMAC_DRBG>
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:59,1
    - Dst: auto_rng_hmac
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:59,1
    - Dst: Botan::AutoSeeded_RNG::force_reseed
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' underlying_rng'
    - ' entropy_sources'
    - reseed_interval
    argTypes:
    - RandomNumberGenerator
    - Entropy_Sources
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: Botan::AutoSeeded_RNG::AutoSeeded_RNG
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 2
    functionsReached:
    - Botan::AutoSeeded_RNG::force_reseed
    - std::make_unique<HMAC_DRBG>
    - auto_rng_hmac
    linkageType: ''
    returnType: void
    signature: "void AutoSeeded_RNG::AutoSeeded_RNG(RandomNumberGenerator& underlying_rng,\n
      \                              Entropy_Sources& entropy_sources,\n                               size_t
      reseed_interval)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HMAC_DRBG>
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:66,1
    - Dst: auto_rng_hmac
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:66,1
    - Dst: system_rng
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:66,1
    - Dst: std::make_unique<HMAC_DRBG>
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:68,1
    - Dst: auto_rng_hmac
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:68,1
    - Dst: Entropy_Sources::global_sources
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:68,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:70,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:71,1
    - Dst: Botan::AutoSeeded_RNG::force_reseed
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - reseed_interval
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: Botan::AutoSeeded_RNG::AutoSeeded_RNG
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 2
    functionsReached:
    - system_rng
    - auto_rng_hmac
    - Botan::AutoSeeded_RNG::force_reseed
    - std::make_unique<HMAC_DRBG>
    - Entropy_Sources::global_sources
    - BOTAN_UNUSED
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void AutoSeeded_RNG::AutoSeeded_RNG(size_t reseed_interval)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::force_reseed
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:78,1
    - Dst: next_byte
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:79,1
    - Dst: Botan::AutoSeeded_RNG::is_seeded
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:81,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: Botan::AutoSeeded_RNG::force_reseed
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 5
    functionsReached:
    - Botan::AutoSeeded_RNG::force_reseed
    - next_byte
    - Internal_Error
    - Botan::AutoSeeded_RNG::is_seeded
    linkageType: ''
    returnType: void
    signature: void AutoSeeded_RNG::force_reseed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::is_seeded
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: Botan::AutoSeeded_RNG::is_seeded
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 3
    functionsReached:
    - Botan::AutoSeeded_RNG::is_seeded
    linkageType: ''
    returnType: bool
    signature: bool AutoSeeded_RNG::is_seeded() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::clear
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Botan::AutoSeeded_RNG::clear
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 2
    functionsReached:
    - Botan::AutoSeeded_RNG::clear
    linkageType: ''
    returnType: void
    signature: void AutoSeeded_RNG::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::name
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp: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: Botan::AutoSeeded_RNG::name
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 2
    functionsReached:
    - Botan::AutoSeeded_RNG::name
    linkageType: ''
    returnType: std::string
    signature: std::string AutoSeeded_RNG::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::reseed
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' srcs'
    - poll_bits
    - poll_timeout
    argTypes:
    - Entropy_Sources
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: Botan::AutoSeeded_RNG::reseed
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 1
    functionsReached:
    - Botan::AutoSeeded_RNG::reseed
    linkageType: ''
    returnType: size_t
    signature: size_t AutoSeeded_RNG::reseed(Entropy_Sources& srcs, size_t poll_bits,
      std::chrono::milliseconds poll_timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:103,1
    - Dst: randomize_with_ts_input
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:104,1
    - Dst: randomize_with_input
      Src: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: Botan::AutoSeeded_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/rng/auto_rng/auto_rng.cpp
    functionUses: 0
    functionsReached:
    - randomize_with_input
    - std::span<const uint8_t>::empty
    - randomize_with_ts_input
    linkageType: ''
    returnType: void
    signature: void AutoSeeded_RNG::fill_bytes_with_input(std::span<uint8_t> out,
      std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reseed_from_rng
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:48,1
    - Dst: system_rng
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: Botan::System_RNG_EntropySource::poll
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 0
    functionsReached:
    - system_rng
    - reseed_from_rng
    linkageType: ''
    returnType: size_t
    signature: size_t poll(RandomNumberGenerator& rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan::System_RNG_EntropySource::name
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reseed_from_rng
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: Botan::Processor_RNG_EntropySource::poll
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 0
    functionsReached:
    - reseed_from_rng
    linkageType: ''
    returnType: size_t
    signature: size_t poll(RandomNumberGenerator& rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Processor_RNG_EntropySource::name
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Botan::Processor_RNG_EntropySource::name
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 1
    functionsReached:
    - Botan::Processor_RNG_EntropySource::name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reseed_from_rng
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: Botan::Jitter_RNG_EntropySource::poll
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 0
    functionsReached:
    - reseed_from_rng
    linkageType: ''
    returnType: size_t
    signature: size_t poll(RandomNumberGenerator& rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Jitter_RNG_EntropySource::name
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: Botan::Jitter_RNG_EntropySource::name
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 1
    functionsReached:
    - Botan::Jitter_RNG_EntropySource::name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<System_RNG_EntropySource>
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:114,1
    - Dst: Botan::Processor_RNG::available
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:120,1
    - Dst: std::make_unique<Processor_RNG_EntropySource>
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:121,1
    - Dst: std::make_unique<Intel_Rdseed>
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:128,1
    - Dst: std::make_unique<Getentropy>
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:134,1
    - Dst: std::make_unique<Win32_EntropySource>
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:140,1
    - Dst: std::make_unique<Jitter_RNG_EntropySource>
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:146,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:150,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 152
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 152
    functionName: Botan::Entropy_Source::create
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Getentropy>
    - std::make_unique<System_RNG_EntropySource>
    - std::make_unique<Win32_EntropySource>
    - std::make_unique<Processor_RNG_EntropySource>
    - std::make_unique<Intel_Rdseed>
    - std::make_unique<Jitter_RNG_EntropySource>
    - BOTAN_UNUSED
    - Botan::Processor_RNG::available
    linkageType: ''
    returnType: std::unique_ptr<Entropy_Source>
    signature: std::unique_ptr<Entropy_Source> Entropy_Source::create(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:156,1
    - Dst: std::move
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::unique_ptr<Entropy_Source>
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: Botan::Entropy_Sources::add_source
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 2
    functionsReached:
    - push_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void Entropy_Sources::add_source(std::unique_ptr<Entropy_Source> src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:162,1
    - Dst: size
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:162,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:164,1
    - Dst: name
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: Botan::Entropy_Sources::enabled_sources
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::vector::reserve
    - name
    - size
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Entropy_Sources::enabled_sources() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:172,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:172,1
    - Dst: Botan::Entropy_Sources::poll
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:180,1
    - Dst: timeout_expired
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' rng'
    - poll_bits
    - timeout
    argTypes:
    - RandomNumberGenerator
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 188
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 188
    functionName: Botan::Entropy_Sources::poll
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 1
    functionsReached:
    - timeout_expired
    - Botan::TLS::detail::AsyncBase::complete_now
    - Botan::Entropy_Sources::poll
    linkageType: ''
    returnType: size_t
    signature: size_t Entropy_Sources::poll(RandomNumberGenerator& rng, size_t poll_bits,
      std::chrono::milliseconds timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:192,1
    - Dst: Botan::Entropy_Sources::poll
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' rng'
    - the_src
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: Botan::Entropy_Sources::poll_just
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 0
    functionsReached:
    - Botan::Entropy_Sources::poll
    - name
    linkageType: ''
    returnType: size_t
    signature: size_t Entropy_Sources::poll_just(RandomNumberGenerator& rng, std::string_view
      the_src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Entropy_Sources::add_source
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:202,1
    - Dst: Botan::Entropy_Source::create
      Src: /src/botan/src/lib/entropy/entropy_srcs.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' sources'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 4
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: Botan::Entropy_Sources::Entropy_Sources
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 3
    functionsReached:
    - Botan::Entropy_Sources::add_source
    - Botan::Entropy_Source::create
    linkageType: ''
    returnType: void
    signature: void Entropy_Sources::Entropy_Sources(const std::vector<std::string>&
      sources)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: '& Entropy_Sources::global_sources()'
    functionSourceFile: /src/botan/src/lib/entropy/entropy_srcs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Entropy_Sources
    signature: Entropy_Sources & Entropy_Sources::global_sources()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::Entropy_Source
    functionSourceFile: /src/botan/src/lib/entropy/entropy_src.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Entropy_Source()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Entropy_Source
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::Entropy_Source
    functionSourceFile: /src/botan/src/lib/entropy/entropy_src.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Entropy_Source(const Entropy_Source& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Entropy_Source
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::Entropy_Source
    functionSourceFile: /src/botan/src/lib/entropy/entropy_src.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Entropy_Source(Entropy_Source&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~Entropy_Source()
    functionSourceFile: /src/botan/src/lib/entropy/entropy_src.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Entropy_Source()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 90
    functionName: final
    functionSourceFile: /src/botan/src/lib/entropy/entropy_src.h
    functionUses: 103
    functionsReached: []
    linkageType: ''
    returnType: Entropy_Sources
    signature: Entropy_Sources final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _rdseed32_step
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:46,1
    - Dst: push_back
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:50,1
    - Dst: _mm_pause
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' seed'
    argTypes:
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 63
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 63
    functionName: Botan::read_rdseed
    functionSourceFile: /src/botan/src/lib/entropy/rdseed/rdseed.cpp
    functionUses: 0
    functionsReached:
    - _rdseed32_step
    - _mm_pause
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool read_rdseed(secure_vector<uint32_t>& seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:71,1
    - Dst: secure_vector::reserve
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:73,1
    - Dst: read_rdseed
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:84,1
    - Dst: secure_vector::empty
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:89,1
    - Dst: add_entropy
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:90,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:90,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:90,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/entropy/rdseed/rdseed.cpp:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 96
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 96
    functionName: Botan::Intel_Rdseed::poll
    functionSourceFile: /src/botan/src/lib/entropy/rdseed/rdseed.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - secure_vector::empty
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - secure_vector::size
    - read_rdseed
    - secure_vector::reserve
    - add_entropy
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: size_t
    signature: size_t Intel_Rdseed::poll(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan::Intel_Rdseed::name
    functionSourceFile: /src/botan/src/lib/entropy/rdseed/rdseed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan::Win32_EntropySource::name
    functionSourceFile: /src/botan/src/lib/entropy/win32_stats/es_win32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_entropy_T
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:18,1
    - Dst: ::GetTickCount
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:18,1
    - Dst: add_entropy_T
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:19,1
    - Dst: ::GetMessagePos
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:19,1
    - Dst: add_entropy_T
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:20,1
    - Dst: ::GetMessageTime
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:20,1
    - Dst: add_entropy_T
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:21,1
    - Dst: ::GetInputState
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:21,1
    - Dst: add_entropy_T
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:23,1
    - Dst: ::GetCurrentProcessId
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:23,1
    - Dst: add_entropy_T
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:24,1
    - Dst: ::GetCurrentThreadId
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:24,1
    - Dst: ::GetSystemInfo
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:27,1
    - Dst: add_entropy_T
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:28,1
    - Dst: ::GlobalMemoryStatusEx
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:31,1
    - Dst: add_entropy_T
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:32,1
    - Dst: ::GetCursorPos
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:35,1
    - Dst: add_entropy_T
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:36,1
    - Dst: ::GetCaretPos
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:38,1
    - Dst: add_entropy_T
      Src: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 58
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 58
    functionName: Botan::Win32_EntropySource::poll
    functionSourceFile: /src/botan/src/lib/entropy/win32_stats/es_win32.cpp
    functionUses: 0
    functionsReached:
    - ::GetCurrentThreadId
    - ::GetInputState
    - ::GetMessagePos
    - ::GetCursorPos
    - add_entropy_T
    - ::GetMessageTime
    - ::GetSystemInfo
    - ::GetCurrentProcessId
    - ::GlobalMemoryStatusEx
    - ::GetTickCount
    - ::GetCaretPos
    linkageType: ''
    returnType: size_t
    signature: size_t Win32_EntropySource::poll(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::getentropy
      Src: /src/botan/src/lib/entropy/getentropy/getentropy.cpp:28,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/entropy/getentropy/getentropy.cpp:28,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/entropy/getentropy/getentropy.cpp:28,1
    - Dst: add_entropy
      Src: /src/botan/src/lib/entropy/getentropy/getentropy.cpp:29,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/entropy/getentropy/getentropy.cpp:29,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/entropy/getentropy/getentropy.cpp:29,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/entropy/getentropy/getentropy.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: Botan::Getentropy::poll
    functionSourceFile: /src/botan/src/lib/entropy/getentropy/getentropy.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::size
    - secure_vector::data
    - add_entropy
    - ::getentropy
    linkageType: ''
    returnType: size_t
    signature: size_t Getentropy::poll(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan::Getentropy::name
    functionSourceFile: /src/botan/src/lib/entropy/getentropy/getentropy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:17,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:17,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:17,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:17,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:19,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:19,1
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:20,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:21,1
    - Dst: Botan::nist_key_wrap
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:23,1
    - Dst: data
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:23,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:23,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:24,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:24,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' key'
    - ' kek'
    argTypes:
    - secure_vector<uint8_t>
    - SymmetricKey
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: Botan::rfc3394_keywrap
    functionSourceFile: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp
    functionUses: 2
    functionsReached:
    - Botan::BlockCipher::create_or_throw
    - std::vector::begin
    - auto::set_key
    - Botan::nist_key_wrap
    - data
    - Botan::to_string
    - std::vector::end
    - Botan::size
    - BOTAN_ARG_CHECK
    - secure_vector<uint8_t>
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> rfc3394_keywrap(const secure_vector<uint8_t>&
      key, const SymmetricKey& kek)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:28,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:28,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:28,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:28,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:30,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:30,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:30,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:32,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:32,1
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:33,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:34,1
    - Dst: Botan::nist_key_unwrap
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:36,1
    - Dst: data
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:36,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - ' kek'
    argTypes:
    - secure_vector<uint8_t>
    - SymmetricKey
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: Botan::rfc3394_keyunwrap
    functionSourceFile: /src/botan/src/lib/misc/rfc3394/rfc3394.cpp
    functionUses: 2
    functionsReached:
    - Botan::BlockCipher::create_or_throw
    - auto::set_key
    - data
    - Botan::nist_key_unwrap
    - Botan::to_string
    - Botan::size
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> rfc3394_keyunwrap(const secure_vector<uint8_t>&
      key, const SymmetricKey& kek)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:51,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:51,1
    - Dst: randomize
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:52,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:55,1
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:60,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:61,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:65,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:65,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:66,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:67,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:68,1
    - Dst: Botan::Cipher_Mode::create_or_throw
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:78,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:79,1
    - Dst: auto::start
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:80,1
    - Dst: auto::finish
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:81,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:83,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:84,1
    - Dst: std::unique_ptr::update
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:86,1
    - Dst: std::unique_ptr::final
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:90,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:91,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:91,1
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - input
    - input_len
    - passphrase
    - ' rng'
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 94
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 94
    functionName: Botan::CryptoBox::encrypt
    functionSourceFile: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp
    functionUses: 1
    functionsReached:
    - Botan::PasswordHashFamily::create_or_throw
    - auto::start
    - auto::derive_key
    - copy_mem
    - std::unique_ptr::final
    - std::unique_ptr::update
    - store_be
    - std::unique_ptr::set_key
    - std::string_view::data
    - secure_vector::size
    - std::string_view::size
    - randomize
    - auto::from_params
    - secure_vector::data
    - Botan::PEM_Code::encode
    - auto::finish
    - auto::set_key
    - Botan::MessageAuthenticationCode::create_or_throw
    - Botan::Cipher_Mode::create_or_throw
    linkageType: ''
    returnType: std::string
    signature: std::string encrypt(const uint8_t input[], size_t input_len, std::string_view
      passphrase, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PEM_Code::decode_check_label
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:98,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:100,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:101,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:107,1
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:114,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:115,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:119,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:120,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:120,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:120,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:120,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:128,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:129,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:131,1
    - Dst: std::unique_ptr::update
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:132,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:132,1
    - Dst: std::unique_ptr::final
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:134,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:136,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:136,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:137,1
    - Dst: Botan::Cipher_Mode::create_or_throw
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:140,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:141,1
    - Dst: auto::start
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:142,1
    - Dst: auto::finish
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:143,1
    - Dst: secure_vector::erase
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:145,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:145,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - input
    - input_len
    - passphrase
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    constantsTouched: []
    func_position:
      end: 147
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 147
    functionName: Botan::CryptoBox::decrypt_bin
    functionSourceFile: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp
    functionUses: 1
    functionsReached:
    - Botan::PasswordHashFamily::create_or_throw
    - auto::start
    - auto::derive_key
    - Botan::CT::is_equal
    - Decoding_Error
    - std::unique_ptr::final
    - std::unique_ptr::update
    - std::unique_ptr::set_key
    - std::string_view::data
    - secure_vector::size
    - secure_vector::erase
    - std::string_view::size
    - auto::from_params
    - secure_vector::begin
    - secure_vector::data
    - auto::finish
    - auto::set_key
    - Botan::MessageAuthenticationCode::create_or_throw
    - Botan::Cipher_Mode::create_or_throw
    - Botan::PEM_Code::decode_check_label
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> decrypt_bin(const uint8_t input[], size_t input_len,
      std::string_view passphrase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt_bin
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:153,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:153,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:153,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - passphrase
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: 'BOTAN_DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS


      secure_vector<uint8_t> decrypt_bin(std::string_view input, std::string_view
      passphrase)'
    functionSourceFile: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::size
    - decrypt_bin
    - std::string_view::data
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: BOTAN_DIAGNOSTIC_PUSH
    signature: 'BOTAN_DIAGNOSTIC_PUSH BOTAN_DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS


      secure_vector<uint8_t> decrypt_bin(std::string_view input, std::string_view
      passphrase)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CryptoBox::decrypt_bin
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:157,1
    - Dst: std::string
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:159,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:159,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - input_len
    - passphrase
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 4
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: Botan::CryptoBox::decrypt
    functionSourceFile: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp
    functionUses: 1
    functionsReached:
    - Botan::CryptoBox::decrypt_bin
    - cast_uint8_ptr_to_char
    - std::string
    - secure_vector::size
    linkageType: ''
    returnType: std::string
    signature: std::string decrypt(const uint8_t input[], size_t input_len, std::string_view
      passphrase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CryptoBox::decrypt
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:163,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:163,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:163,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - passphrase
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: Botan::CryptoBox::decrypt
    functionSourceFile: /src/botan/src/lib/misc/cryptobox/cryptobox.cpp
    functionUses: 2
    functionsReached:
    - std::string_view::data
    - std::string_view::size
    - Botan::CryptoBox::decrypt
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: std::string
    signature: std::string decrypt(std::string_view input, std::string_view passphrase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:38,1
    - Dst: static_cast<int64_t>
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:38,1
    - Dst: T
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:38,1
    - Dst: Botan::impl_from_little_endian
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - i
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: Botan::impl_from_little_endian
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 1
    functionsReached:
    - T
    - Botan::impl_from_little_endian
    - static_cast<int64_t>
    linkageType: ''
    returnType: T
    signature: "T impl_from_little_endian(const uint8_t* t, const size_t i)\n   requires(sizeof(T)
      <= sizeof(int64_t))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::impl_from_little_endian
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::from_little_endian
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 0
    functionsReached:
    - Botan::impl_from_little_endian
    linkageType: ''
    returnType: T
    signature: T from_little_endian(const uint8_t* t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: Botan::copy
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 6
    functionsReached:
    - Botan::typecast_copy
    linkageType: ''
    returnType: T
    signature: "T copy(const uint8_t* t)\n   requires(is_array<T>::value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::from_little_endian
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: Botan::copy
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 6
    functionsReached:
    - Botan::from_little_endian
    linkageType: ''
    returnType: T
    signature: "T copy(const uint8_t* t)\n   requires(!is_array<T>::value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:63,1
    - Dst: Roughtime::Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:64,1
    - Dst: T::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:66,1
    - Dst: T::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:69,1
    - Dst: Roughtime::Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:70,1
    - Dst: T::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:77,1
    - Dst: Roughtime::Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:78,1
    - Dst: Roughtime::Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:81,1
    - Dst: std::map::emplace
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:85,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:85,1
    - Dst: Roughtime::Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:87,1
    - Dst: std::string
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:87,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:89,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 92
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 92
    functionName: Botan::unpack_roughtime_packet
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 0
    functionsReached:
    - Roughtime::Roughtime_Error
    - std::map::emplace
    - static_cast<uint32_t>
    - std::string
    - T::size
    - std::vector<uint8_t>
    - T::data
    linkageType: ''
    returnType: std::map<std::string, std::vector<uint8_t>>
    signature: std::map<std::string, std::vector<uint8_t>> unpack_roughtime_packet(T
      bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:96,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:97,1
    - Dst: Roughtime::Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:98,1
    - Dst: second::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:100,1
    - Dst: Roughtime::Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:101,1
    - Dst: Botan::copy
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:103,1
    - Dst: second::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ' map'
    - ' label'
    argTypes:
    - std::map<std::string, std::vector<uint8_t>>
    - std::string
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: Botan::get
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 13
    functionsReached:
    - second::data
    - second::size
    - Roughtime::Roughtime_Error
    - Botan::copy
    - find
    - Botan::end
    linkageType: ''
    returnType: T
    signature: T get(const std::map<std::string, std::vector<uint8_t>>& map, const
      std::string& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:107,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:108,1
    - Dst: Roughtime::Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' map'
    - ' label'
    argTypes:
    - std::map<std::string, std::vector<uint8_t>>
    - std::string
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: Botan::get_v
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 0
    functionsReached:
    - Botan::end
    - Roughtime::Roughtime_Error
    - find
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & get_v(const std::map<std::string, std::vector<uint8_t>>&
      map, const std::string& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:118,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:118,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:118,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:118,1
    - Dst: PK_Verifier::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:120,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:120,1
    - Dst: PK_Verifier::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:121,1
    - Dst: PK_Verifier::check_signature
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:122,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:122,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' pk'
    - ' payload'
    - ' signature'
    argTypes:
    - std::array<uint8_t, 32>
    - std::vector<uint8_t>
    - std::array<uint8_t, 64>
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: Botan::verify_signature
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 1
    functionsReached:
    - Botan::cast_char_ptr_to_uint8
    - PK_Verifier::update
    - data
    - std::vector<uint8_t>
    - PK_Verifier::check_signature
    - Botan::size
    linkageType: ''
    returnType: bool
    signature: "bool verify_signature(const std::array<uint8_t, 32>& pk,\n                      const
      std::vector<uint8_t>& payload,\n                      const std::array<uint8_t,
      64>& signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:127,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:128,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:129,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:129,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:129,1
    - Dst: auto::final
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:130,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' leaf'
    argTypes:
    - std::array<uint8_t, 64>
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: Botan::hashLeaf
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 0
    functionsReached:
    - auto::final
    - std::array::data
    - Botan::HashFunction::create_or_throw
    - data
    - auto::update
    - Botan::size
    linkageType: ''
    returnType: std::array<uint8_t, 64>
    signature: std::array<uint8_t, 64> hashLeaf(const std::array<uint8_t, 64>& leaf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:135,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:136,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:138,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:138,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:138,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:139,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:139,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:139,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:141,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:141,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:141,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:142,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:142,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:142,1
    - Dst: auto::final
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:144,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' hash'
    - ' node'
    - reverse
    argTypes:
    - std::array<uint8_t, 64>
    - std::array<uint8_t, 64>
    - bool
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: Botan::hashNode
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 0
    functionsReached:
    - auto::final
    - Botan::HashFunction::create_or_throw
    - data
    - auto::update
    - Botan::size
    linkageType: ''
    returnType: void
    signature: void hashNode(std::array<uint8_t, 64>& hash, const std::array<uint8_t,
      64>& node, bool reverse)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t, T>::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:149,1
    - Dst: std::logic_error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:150,1
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:152,1
    - Dst: std::vector<uint8_t, T>::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - vec
    argTypes:
    - std::vector<uint8_t, T>
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: Botan::vector_to_array
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 0
    functionsReached:
    - Botan::typecast_copy
    - std::vector<uint8_t, T>::size
    - std::logic_error
    - std::vector<uint8_t, T>::data
    linkageType: ''
    returnType: std::array<uint8_t, N>
    signature: std::array<uint8_t, N> vector_to_array(std::vector<uint8_t, T> vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:159,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:160,1
    - Dst: typecast_copy<std::array<uint8_t, 64>>
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:162,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: Botan::Roughtime::Nonce::Nonce
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 1
    functionsReached:
    - Invalid_Argument
    - data
    - typecast_copy<std::array<uint8_t, 64>>
    - size
    linkageType: ''
    returnType: void
    signature: void Nonce::Nonce(const std::vector<uint8_t>& nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: randomize
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:166,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:166,1
    - Dst: size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: Botan::Roughtime::Nonce::Nonce
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 1
    functionsReached:
    - data
    - size
    - randomize
    linkageType: ''
    returnType: void
    signature: void Nonce::Nonce(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:171,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:171,1
    - Dst: get_nonce
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:171,1
    - Dst: get_nonce
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:171,1
    - Dst: memset
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:172,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:172,1
    - Dst: get_nonce
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:172,1
    - Dst: std::array::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:172,1
    - Dst: get_nonce
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - Nonce
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: Botan::Roughtime::encode_request
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 1
    functionsReached:
    - std::array::data
    - get_nonce
    - memcpy
    - memset
    - std::array::size
    linkageType: ''
    returnType: std::array<uint8_t, request_min_size>
    signature: std::array<uint8_t, request_min_size> encode_request(const Nonce& nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unpack_roughtime_packet
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:177,1
    - Dst: unpack_roughtime_packet
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:178,1
    - Dst: get_v
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:178,1
    - Dst: get
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:179,1
    - Dst: get
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:180,1
    - Dst: unpack_roughtime_packet
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:181,1
    - Dst: get_v
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:182,1
    - Dst: unpack_roughtime_packet
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:183,1
    - Dst: get
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:185,1
    - Dst: get
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:186,1
    - Dst: verify_signature
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:187,1
    - Dst: Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:188,1
    - Dst: get
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:191,1
    - Dst: get_v
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:192,1
    - Dst: get
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:193,1
    - Dst: Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:198,1
    - Dst: Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:201,1
    - Dst: hashLeaf
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:204,1
    - Dst: get_nonce
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:204,1
    - Dst: hashNode
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:208,1
    - Dst: typecast_copy<std::array<uint8_t, 64>>
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:208,1
    - Dst: auto::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:208,1
    - Dst: Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:214,1
    - Dst: sys_microseconds64
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:217,1
    - Dst: get
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:217,1
    - Dst: sys_microseconds64
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:218,1
    - Dst: get
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:218,1
    - Dst: sys_microseconds64
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:219,1
    - Dst: get
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:219,1
    - Dst: get
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:220,1
    - Dst: Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:222,1
    - Dst: Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:225,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - ' response'
    - ' nonce'
    argTypes:
    - std::vector<uint8_t>
    - Nonce
    constantsTouched: []
    func_position:
      end: 228
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 228
    functionName: Botan::Roughtime::Response::from_bits
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 3
    functionsReached:
    - hashLeaf
    - Roughtime_Error
    - get_v
    - get_nonce
    - get
    - hashNode
    - auto::data
    - sys_microseconds64
    - verify_signature
    - typecast_copy<std::array<uint8_t, 64>>
    - unpack_roughtime_packet
    linkageType: ''
    returnType: Response
    signature: Response Response::from_bits(const std::vector<uint8_t>& response,
      const Nonce& nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PK_Verifier::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:233,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:233,1
    - Dst: PK_Verifier::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:234,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:234,1
    - Dst: size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:234,1
    - Dst: PK_Verifier::check_signature
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:235,1
    - Dst: data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:235,1
    - Dst: size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' pk'
    argTypes:
    - Ed25519_PublicKey
    constantsTouched: []
    func_position:
      end: 236
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 236
    functionName: Botan::Roughtime::Response::validate
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 0
    functionsReached:
    - PK_Verifier::update
    - data
    - size
    - PK_Verifier::check_signature
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: bool
    signature: bool Response::validate(const Ed25519_PublicKey& pk) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_nonce
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:240,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:241,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:242,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:243,1
    - Dst: auto::final
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:243,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:244,1
    - Dst: auto::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:244,1
    - Dst: auto::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:244,1
    - Dst: auto::final
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:245,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' previous_response'
    - ' blind'
    argTypes:
    - std::vector<uint8_t>
    - Nonce
    constantsTouched: []
    func_position:
      end: 248
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 248
    functionName: Botan::Roughtime::nonce_from_blind
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 1
    functionsReached:
    - auto::final
    - std::array::data
    - Botan::HashFunction::create_or_throw
    - auto::update
    - get_nonce
    - auto::data
    - auto::size
    linkageType: ''
    returnType: Nonce
    signature: Nonce nonce_from_blind(const std::vector<uint8_t>& previous_response,
      const Nonce& blind)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:251,1
    - Dst: std::getline
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:253,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:255,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:257,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:259,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:261,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:265,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:267,1
    - Dst: Ed25519_PublicKey
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:269,1
    - Dst: base64_decode
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:269,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:269,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:272,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:274,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:277,1
    - Dst: base64_decode
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:279,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:279,1
    - Dst: Nonce
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:280,1
    - Dst: vector_to_array<64>
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:280,1
    - Dst: base64_decode
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:280,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:280,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:283,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:285,1
    - Dst: unlock
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:287,1
    - Dst: base64_decode
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:287,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:287,1
    - Dst: push_back
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:289,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 291
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 291
    functionName: Botan::Roughtime::Chain::Chain
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 2
    functionsReached:
    - unlock
    - Ed25519_PublicKey
    - base64_decode
    - vector_to_array<64>
    - std::string
    - std::string::find
    - Nonce
    - Decoding_Error
    - push_back
    - std::getline
    - std::string::substr
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void Chain::Chain(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:295,1
    - Dst: nonce_from_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:297,1
    - Dst: response
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:297,1
    - Dst: nonce_or_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:297,1
    - Dst: nonce_or_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:297,1
    - Dst: Botan::Roughtime::Response::from_bits
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:298,1
    - Dst: response
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:298,1
    - Dst: auto::validate
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:299,1
    - Dst: public_key
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:299,1
    - Dst: Roughtime_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:300,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 305
    functionName: Botan::Roughtime::Chain::responses
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 1
    functionsReached:
    - response
    - Roughtime_Error
    - auto::validate
    - nonce_from_blind
    - nonce_or_blind
    - size
    - Botan::Roughtime::Response::from_bits
    - std::vector::push_back
    - public_key
    linkageType: ''
    returnType: std::vector<Response>
    signature: std::vector<Response> Chain::responses() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:308,1
    - Dst: nonce_from_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:308,1
    - Dst: back
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' blind'
    argTypes:
    - Nonce
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: Botan::Roughtime::Chain::next_nonce
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 1
    functionsReached:
    - nonce_from_blind
    - empty
    - back
    linkageType: ''
    returnType: Nonce
    signature: Nonce Chain::next_nonce(const Nonce& blind) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:313,1
    - Dst: size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:316,1
    - Dst: size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:317,1
    - Dst: auto::nonce_or_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:319,1
    - Dst: nonce_from_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:320,1
    - Dst: response
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:320,1
    - Dst: nonce_or_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:320,1
    - Dst: clear
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:321,1
    - Dst: push_back
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:322,1
    - Dst: size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:325,1
    - Dst: nonce_or_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:326,1
    - Dst: nonce_from_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:327,1
    - Dst: response
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:327,1
    - Dst: nonce_or_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:327,1
    - Dst: erase
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:329,1
    - Dst: begin
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:329,1
    - Dst: push_back
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' new_link'
    - max_chain_size
    argTypes:
    - Link
    - size_t
    constantsTouched: []
    func_position:
      end: 332
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 332
    functionName: Botan::Roughtime::Chain::append
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 1
    functionsReached:
    - response
    - auto::nonce_or_blind
    - nonce_from_blind
    - begin
    - nonce_or_blind
    - size
    - clear
    - push_back
    - erase
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void Chain::append(const Link& new_link, size_t max_chain_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:336,1
    - Dst: size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:336,1
    - Dst: base64_encode
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:340,1
    - Dst: public_key
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:340,1
    - Dst: base64_encode
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:342,1
    - Dst: nonce_or_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:342,1
    - Dst: nonce_or_blind
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:342,1
    - Dst: base64_encode
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:344,1
    - Dst: response
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 348
    functionName: Botan::Roughtime::Chain::to_string
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 1
    functionsReached:
    - response
    - base64_encode
    - nonce_or_blind
    - size
    - std::string::reserve
    - public_key
    linkageType: ''
    returnType: std::string
    signature: std::string Chain::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:351,1
    - Dst: Botan::OS::open_socket_udp
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:352,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:354,1
    - Dst: Botan::Roughtime::encode_request
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:357,1
    - Dst: auto::write
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:358,1
    - Dst: auto::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:358,1
    - Dst: auto::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:358,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:360,1
    - Dst: System_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:361,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:365,1
    - Dst: auto::read
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:367,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:367,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:367,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:369,1
    - Dst: System_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:370,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:373,1
    - Dst: System_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:374,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:377,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - uri
    - ' nonce'
    - timeout
    argTypes:
    - std::string_view
    - Nonce
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 379
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 379
    functionName: Botan::Roughtime::online_request
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 2
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - Botan::Roughtime::encode_request
    - std::vector::size
    - auto::read
    - System_Error
    - std::vector::resize
    - Botan::OS::open_socket_udp
    - auto::data
    - auto::size
    - auto::write
    - Not_Implemented
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> online_request(std::string_view uri, const Nonce&
      nonce, std::chrono::milliseconds timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:383,1
    - Dst: std::getline
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:386,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:388,1
    - Dst: Botan::Roughtime::Decoding_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:390,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:392,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:395,1
    - Dst: Botan::Roughtime::Decoding_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:397,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:399,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:401,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:405,1
    - Dst: Botan::Roughtime::Decoding_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:408,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:410,1
    - Dst: Ed25519_PublicKey
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:411,1
    - Dst: base64_decode
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:411,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:414,1
    - Dst: Botan::Roughtime::Decoding_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:416,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:418,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:420,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:427,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:428,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:429,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:432,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:438,1
    - Dst: Botan::Roughtime::Decoding_Error
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:439,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/misc/roughtime/roughtime.cpp:442,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 445
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 445
    functionName: Botan::Roughtime::servers_from_str
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.cpp
    functionUses: 2
    functionsReached:
    - Ed25519_PublicKey
    - base64_decode
    - std::string
    - std::string::find
    - std::vector::push_back
    - Botan::Roughtime::Decoding_Error
    - std::getline
    - auto::empty
    - std::string::substr
    - Not_Implemented
    linkageType: ''
    returnType: std::vector<Server_Information>
    signature: std::vector<Server_Information> servers_from_str(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: Botan::Roughtime::Decoding_Error
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Roughtime_Error
    signature: Roughtime_Error Decoding_Error
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Nonce
      Src: /src/botan/src/lib/misc/roughtime/roughtime.h:34,1
    - Dst: Nonce
      Src: /src/botan/src/lib/misc/roughtime/roughtime.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: Botan::Roughtime::final
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.h
    functionUses: 0
    functionsReached:
    - Nonce
    linkageType: ''
    returnType: Nonce
    signature: Nonce final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Response
      Src: /src/botan/src/lib/misc/roughtime/roughtime.h:72,1
    - Dst: m_cert_dele
      Src: /src/botan/src/lib/misc/roughtime/roughtime.h:76,1
    - Dst: m_cert_sig
      Src: /src/botan/src/lib/misc/roughtime/roughtime.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 82
    functionName: Botan::Roughtime::final
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.h
    functionUses: 0
    functionsReached:
    - m_cert_sig
    - Response
    - m_cert_dele
    linkageType: ''
    returnType: Response
    signature: Response final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Link
      Src: /src/botan/src/lib/misc/roughtime/roughtime.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: Botan::Roughtime::final
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.h
    functionUses: 0
    functionsReached:
    - Link
    linkageType: ''
    returnType: Link
    signature: Link final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Chain
      Src: /src/botan/src/lib/misc/roughtime/roughtime.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 117
    functionName: Botan::Roughtime::final
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.h
    functionUses: 0
    functionsReached:
    - Chain
    linkageType: ''
    returnType: Chain
    signature: Chain final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Server_Information
      Src: /src/botan/src/lib/misc/roughtime/roughtime.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: Botan::Roughtime::final
    functionSourceFile: /src/botan/src/lib/misc/roughtime/roughtime.h
    functionUses: 0
    functionsReached:
    - Server_Information
    linkageType: ''
    returnType: Server_Information
    signature: Server_Information final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FPE_FE1
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 82
    functionName: Botan::SymmetricAlgorithm
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.h
    functionUses: 0
    functionsReached:
    - FPE_FE1
    linkageType: ''
    returnType: FPE_FE1
    signature: FPE_FE1 SymmetricAlgorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:29,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:31,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:32,1
    - Dst: std::swap
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:53,1
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:55,1
    - Dst: std::swap
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:60,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - n
    - ' a'
    - ' b'
    argTypes:
    - BigInt
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 67
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 67
    functionName: Botan::factor
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - Botan::BigInt::from_word
    - std::swap
    - BOTAN_ARG_CHECK
    - Internal_Error
    linkageType: ''
    returnType: void
    signature: void factor(BigInt n, BigInt& a, BigInt& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:73,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:76,1
    - Dst: serialize
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:78,1
    - Dst: size
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:80,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:81,1
    - Dst: factor
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:84,1
    - Dst: std::swap
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:88,1
    - Dst: std::swap
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - ' n'
    - rounds
    - compat_mode
    - mac_algo
    argTypes:
    - BigInt
    - size_t
    - bool
    - std::string_view
    constantsTouched: []
    func_position:
      end: 95
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 95
    functionName: Botan::FPE_FE1::FPE_FE1
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 0
    functionsReached:
    - factor
    - size
    - std::swap
    - Botan::MessageAuthenticationCode::create_or_throw
    - serialize
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void FPE_FE1::FPE_FE1(const BigInt& n, size_t rounds, bool compat_mode,
      std::string_view mac_algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: FPE_FE1::~FPE_FE1()
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FPE_FE1::~FPE_FE1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FPE_FE1::clear
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: Botan::FPE_FE1::clear
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 1
    functionsReached:
    - Botan::FPE_FE1::clear
    linkageType: ''
    returnType: void
    signature: void FPE_FE1::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:104,1
    - Dst: Botan::FPE_FE1::name
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Botan::FPE_FE1::name
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::FPE_FE1::name
    linkageType: ''
    returnType: std::string
    signature: std::string FPE_FE1::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FPE_FE1::key_spec
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: Botan::FPE_FE1::key_spec
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 1
    functionsReached:
    - Botan::FPE_FE1::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification FPE_FE1::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FPE_FE1::has_keying_material
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: Botan::FPE_FE1::has_keying_material
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 1
    functionsReached:
    - Botan::FPE_FE1::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool FPE_FE1::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: Botan::FPE_FE1::key_schedule
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 0
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void FPE_FE1::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:123,1
    - Dst: update
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:125,1
    - Dst: update_be
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:126,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:126,1
    - Dst: update_be
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:128,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:128,1
    - Dst: size
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:128,1
    - Dst: update
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:129,1
    - Dst: data
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:129,1
    - Dst: size
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:129,1
    - Dst: final
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:131,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' R'
    - round
    - ' tweak_mac'
    - ' tmp'
    argTypes:
    - BigInt
    - size_t
    - secure_vector<uint8_t>
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: Botan::FPE_FE1::F
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 0
    functionsReached:
    - update_be
    - static_cast<uint32_t>
    - data
    - final
    - size
    - serialize
    - Botan::BigInt::from_bytes
    - update
    linkageType: ''
    returnType: BigInt
    signature: "BigInt FPE_FE1::F(const BigInt& R,\n                  size_t round,\n
      \                 const secure_vector<uint8_t>& tweak_mac,\n                  secure_vector<uint8_t>&
      tmp) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update_be
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:136,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:136,1
    - Dst: size
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:136,1
    - Dst: update
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:137,1
    - Dst: data
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:137,1
    - Dst: size
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:137,1
    - Dst: update_be
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:139,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:139,1
    - Dst: update
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:141,1
    - Dst: final
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - tweak
    - tweak_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: Botan::FPE_FE1::compute_tweak_mac
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 0
    functionsReached:
    - update_be
    - data
    - static_cast<uint32_t>
    - final
    - size
    - update
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> FPE_FE1::compute_tweak_mac(const uint8_t tweak[],
      size_t tweak_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FPE_FE1::compute_tweak_mac
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:148,1
    - Dst: ct_divide
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:156,1
    - Dst: Botan::FPE_FE1::F
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:157,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' input'
    - tweak
    - tweak_len
    argTypes:
    - BigInt
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 162
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 162
    functionName: Botan::FPE_FE1::encrypt
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 1
    functionsReached:
    - Botan::FPE_FE1::compute_tweak_mac
    - ct_modulo
    - Botan::FPE_FE1::F
    - ct_divide
    linkageType: ''
    returnType: BigInt
    signature: BigInt FPE_FE1::encrypt(const BigInt& input, const uint8_t tweak[],
      size_t tweak_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::FPE_FE1::compute_tweak_mac
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:165,1
    - Dst: ct_divide
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:172,1
    - Dst: Botan::FPE_FE1::F
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:174,1
    - Dst: ct_modulo
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' input'
    - tweak
    - tweak_len
    argTypes:
    - BigInt
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 179
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 179
    functionName: Botan::FPE_FE1::decrypt
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 1
    functionsReached:
    - Botan::FPE_FE1::compute_tweak_mac
    - ct_modulo
    - Botan::FPE_FE1::F
    - ct_divide
    linkageType: ''
    returnType: BigInt
    signature: BigInt FPE_FE1::decrypt(const BigInt& input, const uint8_t tweak[],
      size_t tweak_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:183,1
    - Dst: Botan::FPE_FE1::encrypt
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - tweak
    argTypes:
    - BigInt
    - uint64_t
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: Botan::FPE_FE1::encrypt
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 2
    functionsReached:
    - store_be
    - Botan::FPE_FE1::encrypt
    linkageType: ''
    returnType: BigInt
    signature: BigInt FPE_FE1::encrypt(const BigInt& x, uint64_t tweak) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:189,1
    - Dst: Botan::FPE_FE1::decrypt
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - tweak
    argTypes:
    - BigInt
    - uint64_t
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: Botan::FPE_FE1::decrypt
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 2
    functionsReached:
    - Botan::FPE_FE1::decrypt
    - store_be
    linkageType: ''
    returnType: BigInt
    signature: BigInt FPE_FE1::decrypt(const BigInt& x, uint64_t tweak) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FPE_FE1::set_key
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:197,1
    - Dst: FPE_FE1::encrypt
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:198,1
    - Dst: data
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:198,1
    - Dst: size
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' n'
    - ' X'
    - ' key'
    - ' tweak'
    argTypes:
    - BigInt
    - BigInt
    - SymmetricKey
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: Botan::FPE::fe1_encrypt
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 2
    functionsReached:
    - FPE_FE1::set_key
    - data
    - FPE_FE1::encrypt
    - size
    linkageType: ''
    returnType: BigInt
    signature: BigInt fe1_encrypt(const BigInt& n, const BigInt& X, const SymmetricKey&
      key, const std::vector<uint8_t>& tweak)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FPE_FE1::set_key
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:203,1
    - Dst: FPE_FE1::decrypt
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:204,1
    - Dst: data
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:204,1
    - Dst: size
      Src: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' n'
    - ' X'
    - ' key'
    - ' tweak'
    argTypes:
    - BigInt
    - BigInt
    - SymmetricKey
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: Botan::FPE::fe1_decrypt
    functionSourceFile: /src/botan/src/lib/misc/fpe_fe1/fpe_fe1.cpp
    functionUses: 2
    functionsReached:
    - FPE_FE1::set_key
    - data
    - FPE_FE1::decrypt
    - size
    linkageType: ''
    returnType: BigInt
    signature: BigInt fe1_decrypt(const BigInt& n, const BigInt& X, const SymmetricKey&
      key, const std::vector<uint8_t>& tweak)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:23,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:23,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:25,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:31,1
    - Dst: Botan::encrypt
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:33,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:33,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:34,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:37,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:38,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:42,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:42,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:42,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:44,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:44,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - input
    - input_len
    - ' bc'
    - ICV
    argTypes:
    - uint8_t[]
    - size_t
    - BlockCipher
    - uint64_t
    constantsTouched: []
    func_position:
      end: 45
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 45
    functionName: Botan::raw_nist_key_wrap
    functionSourceFile: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp
    functionUses: 0
    functionsReached:
    - Botan::encrypt
    - Botan::xor_buf
    - secure_vector::data
    - secure_vector::begin
    - secure_vector::end
    - std::vector<uint8_t>
    - Botan::store_be
    - Botan::copy_mem
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> raw_nist_key_wrap(const uint8_t input[], size_t
      input_len, const BlockCipher& bc, uint64_t ICV)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:52,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:64,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:64,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:71,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:73,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:75,1
    - Dst: Botan::decrypt
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:77,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:77,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:79,1
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:83,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - input
    - input_len
    - ' bc'
    - ' ICV_out'
    argTypes:
    - uint8_t[]
    - size_t
    - BlockCipher
    - uint64_t
    constantsTouched: []
    func_position:
      end: 86
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 86
    functionName: Botan::raw_nist_key_unwrap
    functionSourceFile: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp
    functionUses: 0
    functionsReached:
    - Botan::xor_buf
    - secure_vector::data
    - Botan::decrypt
    - Invalid_Argument
    - Botan::store_be
    - Botan::copy_mem
    - Botan::load_be
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> raw_nist_key_unwrap(const uint8_t input[],\n
      \                                          size_t input_len,\n                                           const
      BlockCipher& bc,\n                                           uint64_t& ICV_out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:91,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:92,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:96,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:107,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:107,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:108,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:108,1
    - Dst: Botan::encrypt
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:109,1
    - Dst: Botan::raw_nist_key_wrap
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - input
    - input_len
    - ' bc'
    argTypes:
    - uint8_t[]
    - size_t
    - BlockCipher
    constantsTouched: []
    func_position:
      end: 114
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 114
    functionName: Botan::nist_key_wrap
    functionSourceFile: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp
    functionUses: 1
    functionsReached:
    - Botan::encrypt
    - Botan::raw_nist_key_wrap
    - block_size
    - Invalid_Argument
    - Botan::store_be
    - Botan::copy_mem
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> nist_key_wrap(const uint8_t input[], size_t input_len,
      const BlockCipher& bc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:117,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:118,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:122,1
    - Dst: Botan::decrypt
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:132,1
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:134,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:134,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:135,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:136,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:136,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:136,1
    - Dst: Botan::raw_nist_key_unwrap
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:138,1
    - Dst: Invalid_Authentication_Tag
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - input
    - input_len
    - ' bc'
    argTypes:
    - uint8_t[]
    - size_t
    - BlockCipher
    constantsTouched: []
    func_position:
      end: 146
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 146
    functionName: Botan::nist_key_unwrap
    functionSourceFile: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp
    functionUses: 1
    functionsReached:
    - secure_vector::data
    - secure_vector::resize
    - Botan::raw_nist_key_unwrap
    - Invalid_Authentication_Tag
    - block_size
    - Botan::decrypt
    - Invalid_Argument
    - Botan::copy_mem
    - Botan::load_be
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> nist_key_unwrap(const uint8_t input[], size_t
      input_len, const BlockCipher& bc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:149,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:150,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:160,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:160,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:161,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:161,1
    - Dst: Botan::encrypt
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:162,1
    - Dst: Botan::raw_nist_key_wrap
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - input
    - input_len
    - ' bc'
    argTypes:
    - uint8_t[]
    - size_t
    - BlockCipher
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: Botan::nist_key_wrap_padded
    functionSourceFile: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp
    functionUses: 0
    functionsReached:
    - Botan::encrypt
    - Botan::raw_nist_key_wrap
    - block_size
    - Invalid_Argument
    - Botan::store_be
    - Botan::copy_mem
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> nist_key_wrap_padded(const uint8_t input[], size_t
      input_len, const BlockCipher& bc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_size
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:170,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:171,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:175,1
    - Dst: Botan::decrypt
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:183,1
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:185,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:185,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:186,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:187,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:187,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:187,1
    - Dst: Botan::raw_nist_key_unwrap
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:189,1
    - Dst: Invalid_Authentication_Tag
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:193,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:198,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:198,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:198,1
    - Dst: Invalid_Authentication_Tag
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:199,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:205,1
    - Dst: Invalid_Authentication_Tag
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:206,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:210,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp:210,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 3
    argNames:
    - input
    - input_len
    - ' bc'
    argTypes:
    - uint8_t[]
    - size_t
    - BlockCipher
    constantsTouched: []
    func_position:
      end: 213
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 213
    functionName: Botan::nist_key_unwrap_padded
    functionSourceFile: /src/botan/src/lib/misc/nist_keywrap/nist_keywrap.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - secure_vector::resize
    - Botan::raw_nist_key_unwrap
    - Invalid_Authentication_Tag
    - block_size
    - secure_vector::size
    - Botan::decrypt
    - Invalid_Argument
    - Botan::copy_mem
    - Botan::load_be
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> nist_key_unwrap_padded(const uint8_t input[],
      size_t input_len, const BlockCipher& bc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::update
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:20,1
    - Dst: Botan::serialize
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:20,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:21,1
    - Dst: Botan::serialize
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:21,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:23,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' hash_fn'
    - p_bytes
    - ' in1'
    - ' in2'
    argTypes:
    - HashFunction
    - size_t
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: Botan::hash_seq
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_bytes
    - Botan::serialize
    - Botan::update
    - Botan::final
    linkageType: ''
    returnType: BigInt
    signature: BigInt hash_seq(HashFunction& hash_fn, size_t p_bytes, const BigInt&
      in1, const BigInt& in2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::update
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:30,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:31,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:32,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:34,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:36,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:37,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:39,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' hash_fn'
    - identifier
    - password
    - ' salt'
    argTypes:
    - HashFunction
    - std::string_view
    - std::string_view
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 42
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 42
    functionName: Botan::compute_x
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_bytes
    - Botan::update
    - Botan::final
    linkageType: ''
    returnType: BigInt
    signature: "BigInt compute_x(HashFunction& hash_fn,\n                 std::string_view
      identifier,\n                 std::string_view password,\n                 const
      std::vector<uint8_t>& salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:52,1
    - Dst: bits
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:52,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:54,1
    - Dst: auto::get_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:56,1
    - Dst: auto::get_g
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:56,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ' N'
    - ' g'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: Botan::srp6_group_identifier
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.cpp
    functionUses: 1
    functionsReached:
    - auto::get_p
    - auto::get_g
    - bits
    - Botan::to_string
    - Invalid_Argument
    - Botan::DL_Group::from_name
    linkageType: ''
    returnType: std::string
    signature: std::string srp6_group_identifier(const BigInt& N, const BigInt& g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:72,1
    - Dst: Botan::srp6_client_agree
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - identifier
    - password
    - group_id
    - hash_id
    - ' salt'
    - ' B'
    - ' rng'
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    - std::string_view
    - std::vector<uint8_t>
    - BigInt
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 4
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: Botan::srp6_client_agree
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.cpp
    functionUses: 2
    functionsReached:
    - Botan::DL_Group::from_name
    - Botan::srp6_client_agree
    linkageType: ''
    returnType: std::pair<BigInt, SymmetricKey>
    signature: "std::pair<BigInt, SymmetricKey> srp6_client_agree(std::string_view
      identifier,\n                                                  std::string_view
      password,\n                                                  std::string_view
      group_id,\n                                                  std::string_view
      hash_id,\n                                                  const std::vector<uint8_t>&
      salt,\n                                                  const BigInt& B,\n
      \                                                 RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:86,1
    - Dst: p_bits
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:86,1
    - Dst: get_g
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:88,1
    - Dst: get_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:89,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:94,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:97,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:98,1
    - Dst: p_bits
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:98,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:99,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:99,1
    - Dst: auto::name
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:99,1
    - Dst: Botan::hash_seq
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:102,1
    - Dst: power_g_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:106,1
    - Dst: Botan::hash_seq
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:108,1
    - Dst: Botan::compute_x
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:110,1
    - Dst: power_g_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:112,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:112,1
    - Dst: mod_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:114,1
    - Dst: mod_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:114,1
    - Dst: multiply_mod_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:114,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:119,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:119,1
    - Dst: power_b_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:121,1
    - Dst: BigInt::serialize
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:123,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 8
    argNames:
    - identifier
    - password
    - ' group'
    - hash_id
    - ' salt'
    - ' B'
    - a_bits
    - ' rng'
    argTypes:
    - std::string_view
    - std::string_view
    - DL_Group
    - std::string_view
    - std::vector<uint8_t>
    - BigInt
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 126
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 126
    functionName: Botan::srp6_client_agree
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.cpp
    functionUses: 2
    functionsReached:
    - power_g_p
    - mod_p
    - auto::name
    - BOTAN_ASSERT_NOMSG
    - Botan::HashFunction::create_or_throw
    - BigInt::serialize
    - BigInt::bits
    - power_b_p
    - p_bits
    - Invalid_Argument
    - BOTAN_ARG_CHECK
    - Botan::Decoding_Error
    - get_p
    - Botan::hash_seq
    - get_g
    - auto::output_length
    - Botan::compute_x
    - multiply_mod_p
    - std::make_pair
    - Botan::fmt
    linkageType: ''
    returnType: std::pair<BigInt, SymmetricKey>
    signature: "std::pair<BigInt, SymmetricKey> srp6_client_agree(std::string_view
      identifier,\n                                                  std::string_view
      password,\n                                                  const DL_Group&
      group,\n                                                  std::string_view hash_id,\n
      \                                                 const std::vector<uint8_t>&
      salt,\n                                                  const BigInt& B,\n
      \                                                 const size_t a_bits,\n                                                  RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:133,1
    - Dst: Botan::srp6_generate_verifier
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - identifier
    - password
    - ' salt'
    - group_id
    - hash_id
    argTypes:
    - std::string_view
    - std::string_view
    - std::vector<uint8_t>
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: Botan::srp6_generate_verifier
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.cpp
    functionUses: 3
    functionsReached:
    - Botan::DL_Group::from_name
    - Botan::srp6_generate_verifier
    linkageType: ''
    returnType: BigInt
    signature: "BigInt srp6_generate_verifier(std::string_view identifier,\n                              std::string_view
      password,\n                              const std::vector<uint8_t>& salt,\n
      \                             std::string_view group_id,\n                              std::string_view
      hash_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:142,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:143,1
    - Dst: p_bits
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:143,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:144,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:144,1
    - Dst: auto::name
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:144,1
    - Dst: Botan::compute_x
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:147,1
    - Dst: power_g_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:148,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - identifier
    - password
    - ' salt'
    - ' group'
    - hash_id
    argTypes:
    - std::string_view
    - std::string_view
    - std::vector<uint8_t>
    - DL_Group
    - std::string_view
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: Botan::srp6_generate_verifier
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.cpp
    functionUses: 3
    functionsReached:
    - auto::name
    - Botan::fmt
    - power_g_p
    - Botan::HashFunction::create_or_throw
    - auto::output_length
    - Botan::compute_x
    - p_bits
    - Invalid_Argument
    linkageType: ''
    returnType: BigInt
    signature: "BigInt srp6_generate_verifier(std::string_view identifier,\n                              std::string_view
      password,\n                              const std::vector<uint8_t>& salt,\n
      \                             const DL_Group& group,\n                              std::string_view
      hash_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:155,1
    - Dst: Botan::SRP6_Server_Session::step1
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' v'
    - group_id
    - hash_id
    - ' rng'
    argTypes:
    - BigInt
    - std::string_view
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: Botan::SRP6_Server_Session::step1
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.cpp
    functionUses: 3
    functionsReached:
    - Botan::SRP6_Server_Session::step1
    - Botan::DL_Group::from_name
    linkageType: ''
    returnType: BigInt
    signature: "BigInt SRP6_Server_Session::step1(const BigInt& v,\n                                  std::string_view
      group_id,\n                                  std::string_view hash_id,\n                                  RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:162,1
    - Dst: p_bits
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:162,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:164,1
    - Dst: std::make_unique<DL_Group>
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:165,1
    - Dst: get_g
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:167,1
    - Dst: get_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:168,1
    - Dst: BigInt
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:171,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:174,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:175,1
    - Dst: p_bits
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:175,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:176,1
    - Dst: fmt
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:176,1
    - Dst: auto::name
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:176,1
    - Dst: hash_seq
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:179,1
    - Dst: p_bytes
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:179,1
    - Dst: mod_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:180,1
    - Dst: power_g_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ' v'
    - ' group'
    - hash_id
    - b_bits
    - ' rng'
    argTypes:
    - BigInt
    - DL_Group
    - std::string_view
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 183
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 183
    functionName: Botan::SRP6_Server_Session::step1
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.cpp
    functionUses: 3
    functionsReached:
    - auto::name
    - power_g_p
    - Botan::HashFunction::create_or_throw
    - BigInt
    - mod_p
    - get_p
    - std::make_unique<DL_Group>
    - BOTAN_STATE_CHECK
    - get_g
    - auto::output_length
    - fmt
    - hash_seq
    - p_bits
    - p_bytes
    - Invalid_Argument
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: BigInt
    signature: "BigInt SRP6_Server_Session::step1(\n   const BigInt& v, const DL_Group&
      group, std::string_view hash_id, size_t b_bits, RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:186,1
    - Dst: get_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:188,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:189,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:192,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:193,1
    - Dst: p_bits
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:193,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:194,1
    - Dst: fmt
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:194,1
    - Dst: auto::name
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:194,1
    - Dst: hash_seq
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:197,1
    - Dst: p_bytes
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:197,1
    - Dst: power_b_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:199,1
    - Dst: p_bits
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:199,1
    - Dst: power_b_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:200,1
    - Dst: multiply_mod_p
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:200,1
    - Dst: p_bits
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:200,1
    - Dst: SymmetricKey
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:202,1
    - Dst: BigInt::serialize
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:202,1
    - Dst: p_bytes
      Src: /src/botan/src/lib/misc/srp6/srp6.cpp:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ' A'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 203
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 203
    functionName: Botan::SRP6_Server_Session::step2
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.cpp
    functionUses: 2
    functionsReached:
    - auto::name
    - Botan::HashFunction::create_or_throw
    - get_p
    - BOTAN_STATE_CHECK
    - fmt
    - auto::output_length
    - hash_seq
    - BigInt::serialize
    - Decoding_Error
    - power_b_p
    - p_bits
    - p_bytes
    - multiply_mod_p
    - Invalid_Argument
    - SymmetricKey
    linkageType: ''
    returnType: SymmetricKey
    signature: SymmetricKey SRP6_Server_Session::step2(const BigInt& A)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 139
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/misc/srp6/srp6.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: SRP6_Server_Session
    signature: SRP6_Server_Session final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 85
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: ZFEC
    signature: ZFEC final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:89,1
    - Dst: GF_Table::ptr
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - y
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 107
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 107
    functionName: Botan::GF_MUL_TABLE
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec.cpp
    functionUses: 0
    functionsReached:
    - resize
    - GF_Table::ptr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * GF_MUL_TABLE(uint8_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:128,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:139,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:144,1
    - Dst: pivot_search
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:157,1
    - Dst: std::swap
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:169,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:180,1
    - Dst: std::swap
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 2
    argNames:
    - matrix
    - K
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 216
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 216
    functionName: Botan::invert_matrix
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - Invalid_Argument
    - pivot_search
    - std::swap
    linkageType: ''
    returnType: void
    signature: void invert_matrix(uint8_t matrix[], size_t K)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - vdm
    - K
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 280
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 280
    functionName: Botan::create_inverted_vdm
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void create_inverted_vdm(uint8_t vdm[], size_t K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:295,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:303,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:312,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 4
    argNames:
    - z
    - x
    - y
    - size
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t
    - size_t
    constantsTouched: []
    func_position:
      end: 347
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 347
    functionName: Botan::ZFEC::addmul
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: void
    signature: void ZFEC::addmul(uint8_t z[], const uint8_t x[], uint8_t y, size_t
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:360,1
    - Dst: create_inverted_vdm
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:370,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:372,1
    - Dst: GF_MUL_TABLE
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:392,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - K
    - N
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 397
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 397
    functionName: Botan::ZFEC::ZFEC
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - std::vector::size
    - create_inverted_vdm
    - GF_MUL_TABLE
    linkageType: ''
    returnType: void
    signature: void ZFEC::ZFEC(size_t K, size_t N)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:404,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:411,1
    - Dst: Botan::ZFEC::encode_shares
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - input
    - size
    - ' output_cb'
    argTypes:
    - uint8_t[]
    - size_t
    - output_cb_t
    constantsTouched: []
    func_position:
      end: 415
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 415
    functionName: Botan::ZFEC::encode
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec.cpp
    functionUses: 3
    functionsReached:
    - Botan::ZFEC::encode_shares
    - Invalid_Argument
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void ZFEC::encode(const uint8_t input[], size_t size, const output_cb_t&
      output_cb) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:420,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:421,1
    - Dst: output_cb
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:426,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:432,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:432,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:432,1
    - Dst: Botan::ZFEC::addmul
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:435,1
    - Dst: output_cb
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:438,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' shares'
    - share_size
    - ' output_cb'
    argTypes:
    - std::vector<const uint8_t*>
    - size_t
    - output_cb_t
    constantsTouched: []
    func_position:
      end: 440
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 440
    functionName: Botan::ZFEC::encode_shares
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - clear_mem
    - Botan::ZFEC::addmul
    - size
    - output_cb
    - Invalid_Argument
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: "void ZFEC::encode_shares(const std::vector<const uint8_t*>& shares,\n
      \                        size_t share_size,\n                         const
      output_cb_t& output_cb) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:457,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:458,1
    - Dst: begin
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:465,1
    - Dst: rbegin
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:466,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:487,1
    - Dst: output_cb
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:499,1
    - Dst: memcpy
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:502,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:512,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:513,1
    - Dst: invert_matrix
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:518,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:520,1
    - Dst: Botan::ZFEC::addmul
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:524,1
    - Dst: output_cb
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:526,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - ' shares'
    - share_size
    - ' output_cb'
    argTypes:
    - std::map<size_t, const uint8_t*>
    - size_t
    - output_cb_t
    constantsTouched: []
    func_position:
      end: 529
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 529
    functionName: Botan::ZFEC::decode_shares
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec.cpp
    functionUses: 3
    functionsReached:
    - rbegin
    - std::vector::size
    - BOTAN_ASSERT_NOMSG
    - begin
    - Botan::ZFEC::addmul
    - size
    - output_cb
    - Decoding_Error
    - memcpy
    - invert_matrix
    linkageType: ''
    returnType: void
    signature: "void ZFEC::decode_shares(const std::map<size_t, const uint8_t*>& shares,\n
      \                        size_t share_size,\n                         const
      output_cb_t& output_cb) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:533,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/misc/zfec/zfec.cpp:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 545
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 545
    functionName: Botan::ZFEC::provider
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec.cpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string ZFEC::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:18,1
    - Dst: _mm_add_epi8
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:18,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:18,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: Botan::rshift_1_u8
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp
    functionUses: 0
    functionsReached:
    - _mm_add_epi8
    - SIMD_4x32
    - SIMD_4x32::raw
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 rshift_1_u8(SIMD_4x32 v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:22,1
    - Dst: _mm_cmpgt_epi8
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:22,1
    - Dst: _mm_setzero_si128
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:22,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::high_bit_set_u8
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32
    - SIMD_4x32::raw
    - _mm_cmpgt_epi8
    - _mm_setzero_si128
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 high_bit_set_u8(SIMD_4x32 v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::splat_u8
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:28,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:34,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:35,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:36,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:37,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:39,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:40,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:41,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:42,1
    - Dst: rshift_1_u8
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:63,1
    - Dst: rshift_1_u8
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:64,1
    - Dst: rshift_1_u8
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:65,1
    - Dst: rshift_1_u8
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:66,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:81,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:82,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:83,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 4
    argNames:
    - z
    - x
    - y
    - size
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 92
    functionName: Botan::size_t::addmul_sse2
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec_sse2/zfec_sse2.cpp
    functionUses: 0
    functionsReached:
    - rshift_1_u8
    - SIMD_4x32::store_le
    - Botan::SIMD_4x32::splat_u8
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_SSE2
    signature: BOTAN_FN_ISA_SSE2 size_t ZFEC::addmul_sse2(uint8_t z[], const uint8_t
      x[], uint8_t y, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::splat_u8
      Src: /src/botan/src/lib/misc/zfec/zfec_vperm/zfec_vperm.cpp:462,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_vperm/zfec_vperm.cpp:465,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_vperm/zfec_vperm.cpp:466,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_vperm/zfec_vperm.cpp:471,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/misc/zfec/zfec_vperm/zfec_vperm.cpp:472,1
    - Dst: auto::shr
      Src: /src/botan/src/lib/misc/zfec/zfec_vperm/zfec_vperm.cpp:477,1
    - Dst: Botan::SIMD_4x32::byte_shuffle
      Src: /src/botan/src/lib/misc/zfec/zfec_vperm/zfec_vperm.cpp:480,1
    - Dst: Botan::SIMD_4x32::byte_shuffle
      Src: /src/botan/src/lib/misc/zfec/zfec_vperm/zfec_vperm.cpp:481,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/misc/zfec/zfec_vperm/zfec_vperm.cpp:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - z
    - x
    - y
    - size
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t
    - size_t
    constantsTouched: []
    func_position:
      end: 495
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 495
    functionName: Botan::size_t::addmul_vperm
    functionSourceFile: /src/botan/src/lib/misc/zfec/zfec_vperm/zfec_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x32::splat_u8
    - Botan::SIMD_4x32::byte_shuffle
    - auto::store_le
    - auto::shr
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X32
    signature: BOTAN_FN_ISA_SIMD_4X32 size_t ZFEC::addmul_vperm(uint8_t z[], const
      uint8_t x[], uint8_t y, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HOTP
      Src: /src/botan/src/lib/misc/hotp/otp.h:27,1
    - Dst: HOTP
      Src: /src/botan/src/lib/misc/hotp/otp.h:28,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/misc/hotp/otp.h:28,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/hotp/otp.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 59
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/misc/hotp/otp.h
    functionUses: 12
    functionsReached:
    - Botan::begin
    - HOTP
    - Botan::size
    linkageType: ''
    returnType: HOTP
    signature: HOTP final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TOTP
      Src: /src/botan/src/lib/misc/hotp/otp.h:72,1
    - Dst: TOTP
      Src: /src/botan/src/lib/misc/hotp/otp.h:73,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/misc/hotp/otp.h:73,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/hotp/otp.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 107
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/misc/hotp/otp.h
    functionUses: 12
    functionsReached:
    - Botan::begin
    - Botan::size
    - TOTP
    linkageType: ''
    returnType: TOTP
    signature: TOTP final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:16,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:31,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:33,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:35,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:37,1
    - Dst: set_key
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:40,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - key
    - key_len
    - hash_algo
    - digits
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 41
    functionName: Botan::HOTP::HOTP
    functionSourceFile: /src/botan/src/lib/misc/hotp/hotp.cpp
    functionUses: 0
    functionsReached:
    - Botan::MessageAuthenticationCode::create_or_throw
    - BOTAN_ARG_CHECK
    - set_key
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void HOTP::HOTP(const uint8_t key[], size_t key_len, std::string_view
      hash_algo, size_t digits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update_be
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:44,1
    - Dst: final
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - counter
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: Botan::HOTP::generate_hotp
    functionSourceFile: /src/botan/src/lib/misc/hotp/hotp.cpp
    functionUses: 1
    functionsReached:
    - final
    - update_be
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HOTP::generate_hotp(uint64_t counter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HOTP::generate_hotp
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:54,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:55,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/misc/hotp/hotp.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - otp
    - starting_counter
    - resync_range
    argTypes:
    - uint32_t
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: Botan::HOTP::verify_hotp
    functionSourceFile: /src/botan/src/lib/misc/hotp/hotp.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - Botan::HOTP::generate_hotp
    linkageType: ''
    returnType: std::pair<bool, uint64_t>
    signature: std::pair<bool, uint64_t> HOTP::verify_hotp(uint32_t otp, uint64_t
      starting_counter, size_t resync_range)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calendar_point
      Src: /src/botan/src/lib/misc/hotp/totp.cpp:18,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/misc/hotp/totp.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - hash_algo
    - digits
    - time_step
    argTypes:
    - uint8_t[]
    - size_t
    - std::string_view
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: Botan::TOTP::TOTP
    functionSourceFile: /src/botan/src/lib/misc/hotp/totp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - calendar_point
    linkageType: ''
    returnType: void
    signature: void TOTP::TOTP(const uint8_t key[], size_t key_len, std::string_view
      hash_algo, size_t digits, size_t time_step)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TOTP::generate_totp
      Src: /src/botan/src/lib/misc/hotp/totp.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - current_time
    argTypes:
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: Botan::TOTP::generate_totp
    functionSourceFile: /src/botan/src/lib/misc/hotp/totp.cpp
    functionUses: 2
    functionsReached:
    - Botan::TOTP::generate_totp
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t TOTP::generate_totp(std::chrono::system_clock::time_point
      current_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_hotp
      Src: /src/botan/src/lib/misc/hotp/totp.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unix_time
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Botan::TOTP::generate_totp
    functionSourceFile: /src/botan/src/lib/misc/hotp/totp.cpp
    functionUses: 2
    functionsReached:
    - generate_hotp
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t TOTP::generate_totp(uint64_t unix_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TOTP::verify_totp
      Src: /src/botan/src/lib/misc/hotp/totp.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - otp
    - current_time
    - clock_drift_accepted
    argTypes:
    - uint32_t
    - std::chrono::system_clock::time_point
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: Botan::TOTP::verify_totp
    functionSourceFile: /src/botan/src/lib/misc/hotp/totp.cpp
    functionUses: 2
    functionsReached:
    - Botan::TOTP::verify_totp
    linkageType: ''
    returnType: bool
    signature: bool TOTP::verify_totp(uint32_t otp, std::chrono::system_clock::time_point
      current_time, size_t clock_drift_accepted)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_hotp
      Src: /src/botan/src/lib/misc/hotp/totp.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - otp
    - unix_time
    - clock_drift_accepted
    argTypes:
    - uint32_t
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: Botan::TOTP::verify_totp
    functionSourceFile: /src/botan/src/lib/misc/hotp/totp.cpp
    functionUses: 2
    functionsReached:
    - generate_hotp
    linkageType: ''
    returnType: bool
    signature: bool TOTP::verify_totp(uint32_t otp, uint64_t unix_time, size_t clock_drift_accepted)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::size
      Src: /src/botan/src/lib/misc/tss/tss.h:92,1
    - Dst: Botan::empty
      Src: /src/botan/src/lib/misc/tss/tss.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 101
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.h
    functionUses: 12
    functionsReached:
    - Botan::size
    - Botan::empty
    linkageType: ''
    returnType: RTSS_Share
    signature: RTSS_Share final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: Botan::gfp_mul
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t gfp_mul(uint8_t x, uint8_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/tss/tss.cpp:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - hash_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: Botan::rtss_hash_id
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t rtss_hash_id(std::string_view hash_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HashFunction>
      Src: /src/botan/src/lib/misc/tss/tss.cpp:81,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/misc/tss/tss.cpp:84,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/misc/tss/tss.cpp:86,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: Botan::get_rtss_hash_by_id
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<HashFunction>
    - Botan::Decoding_Error
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> get_rtss_hash_by_id(uint8_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hex_decode_locked
      Src: /src/botan/src/lib/misc/tss/tss.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hex_input
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Botan::RTSS_Share::RTSS_Share
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.cpp
    functionUses: 2
    functionsReached:
    - hex_decode_locked
    linkageType: ''
    returnType: void
    signature: void RTSS_Share::RTSS_Share(std::string_view hex_input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/misc/tss/tss.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bin
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: Botan::RTSS_Share::RTSS_Share
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.cpp
    functionUses: 2
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void RTSS_Share::RTSS_Share(const uint8_t bin[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initialized
      Src: /src/botan/src/lib/misc/tss/tss.cpp:103,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/misc/tss/tss.cpp:104,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:107,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: Botan::RTSS_Share::share_id
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.cpp
    functionUses: 0
    functionsReached:
    - Decoding_Error
    - Invalid_State
    - size
    - initialized
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t RTSS_Share::share_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hex_encode
      Src: /src/botan/src/lib/misc/tss/tss.cpp:115,1
    - Dst: data
      Src: /src/botan/src/lib/misc/tss/tss.cpp:115,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: Botan::RTSS_Share::to_string
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.cpp
    functionUses: 0
    functionsReached:
    - hex_encode
    - data
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string RTSS_Share::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RTSS_Share::split
      Src: /src/botan/src/lib/misc/tss/tss.cpp:120,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/misc/tss/tss.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - M
    - N
    - S
    - S_len
    - identifier
    - ' rng'
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t[]
    - uint16_t
    - uint8_t[]
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: Botan::RTSS_Share::split
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.cpp
    functionUses: 3
    functionsReached:
    - std::vector<uint8_t>
    - Botan::RTSS_Share::split
    linkageType: ''
    returnType: std::vector<RTSS_Share>
    signature: "std::vector<RTSS_Share> RTSS_Share::split(\n   uint8_t M, uint8_t
      N, const uint8_t S[], uint16_t S_len, const uint8_t identifier[16], RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/tss/tss.cpp:131,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:134,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/misc/tss/tss.cpp:135,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/misc/tss/tss.cpp:142,1
    - Dst: std::unique_ptr::process
      Src: /src/botan/src/lib/misc/tss/tss.cpp:148,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:151,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:152,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/misc/tss/tss.cpp:159,1
    - Dst: data
      Src: /src/botan/src/lib/misc/tss/tss.cpp:159,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:159,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/misc/tss/tss.cpp:162,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/misc/tss/tss.cpp:163,1
    - Dst: m_contents::reserve
      Src: /src/botan/src/lib/misc/tss/tss.cpp:169,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:169,1
    - Dst: m_contents::push_back
      Src: /src/botan/src/lib/misc/tss/tss.cpp:175,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:178,1
    - Dst: randomize
      Src: /src/botan/src/lib/misc/tss/tss.cpp:180,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/misc/tss/tss.cpp:180,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:180,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:188,1
    - Dst: gfp_mul
      Src: /src/botan/src/lib/misc/tss/tss.cpp:189,1
    - Dst: gfp_mul
      Src: /src/botan/src/lib/misc/tss/tss.cpp:190,1
    - Dst: m_contents::push_back
      Src: /src/botan/src/lib/misc/tss/tss.cpp:193,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 7
    argNames:
    - M
    - N
    - S
    - S_len
    - ' identifier'
    - hash_fn
    - ' rng'
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t[]
    - uint16_t
    - std::vector<uint8_t>
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 198
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 198
    functionName: Botan::RTSS_Share::split
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr::process
    - std::vector::size
    - Botan::HashFunction::create_or_throw
    - secure_vector::size
    - get_byte<0>
    - data
    - m_contents::reserve
    - m_contents::push_back
    - Encoding_Error
    - size
    - gfp_mul
    - copy_mem
    - get_byte<1>
    - randomize
    - Invalid_Argument
    - std::vector::data
    linkageType: ''
    returnType: std::vector<RTSS_Share>
    signature: "std::vector<RTSS_Share> RTSS_Share::split(uint8_t M,\n                                          uint8_t
      N,\n                                          const uint8_t S[],\n                                          uint16_t
      S_len,\n                                          const std::vector<uint8_t>&
      identifier,\n                                          std::string_view hash_fn,\n
      \                                         RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:201,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:202,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:205,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:206,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:207,1
    - Dst: Botan::RTSS_Share::share_id
      Src: /src/botan/src/lib/misc/tss/tss.cpp:210,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:211,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:215,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:215,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:216,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/misc/tss/tss.cpp:219,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:220,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:227,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:228,1
    - Dst: get_rtss_hash_by_id
      Src: /src/botan/src/lib/misc/tss/tss.cpp:234,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:237,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:244,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:245,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:249,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:252,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:253,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:258,1
    - Dst: size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:261,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:270,1
    - Dst: gfp_mul
      Src: /src/botan/src/lib/misc/tss/tss.cpp:275,1
    - Dst: gfp_mul
      Src: /src/botan/src/lib/misc/tss/tss.cpp:278,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/misc/tss/tss.cpp:280,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/misc/tss/tss.cpp:284,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/misc/tss/tss.cpp:284,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:285,1
    - Dst: auto::update
      Src: /src/botan/src/lib/misc/tss/tss.cpp:290,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/tss/tss.cpp:290,1
    - Dst: auto::final
      Src: /src/botan/src/lib/misc/tss/tss.cpp:291,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/misc/tss/tss.cpp:293,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/misc/tss/tss.cpp:293,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/misc/tss/tss.cpp:293,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/misc/tss/tss.cpp:294,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/misc/tss/tss.cpp:298,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 57
    argCount: 1
    argNames:
    - ' shares'
    argTypes:
    - std::vector<RTSS_Share>
    constantsTouched: []
    func_position:
      end: 302
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 302
    functionName: Botan::RTSS_Share::reconstruct
    functionSourceFile: /src/botan/src/lib/misc/tss/tss.cpp
    functionUses: 3
    functionsReached:
    - secure_vector::data
    - auto::final
    - std::vector::size
    - secure_vector::push_back
    - secure_vector::size
    - secure_vector::resize
    - get_rtss_hash_by_id
    - Botan::CT::is_equal
    - auto::update
    - auto::output_length
    - size
    - gfp_mul
    - Decoding_Error
    - Botan::RTSS_Share::share_id
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> RTSS_Share::reconstruct(const std::vector<RTSS_Share>&
      shares)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan::secure_allocator::secure_allocator
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secure_allocator() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::secure_allocator::secure_allocator
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secure_allocator(const secure_allocator&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(const secure_allocator&) noexcept'
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_allocator
    signature: secure_allocator & operator=(const secure_allocator&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::secure_allocator::secure_allocator
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secure_allocator(secure_allocator&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '& operator=(secure_allocator&&) noexcept'
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_allocator
    signature: secure_allocator & operator=(secure_allocator&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ~secure_allocator() noexcept
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~secure_allocator() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::secure_allocator::secure_allocator
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secure_allocator(const secure_allocator<U>&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T*>
      Src: /src/botan/src/lib/base/secmem.h:52,1
    - Dst: allocate_memory
      Src: /src/botan/src/lib/base/secmem.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: Botan::secure_allocator::allocate
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached:
    - allocate_memory
    - static_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * allocate(std::size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deallocate_memory
      Src: /src/botan/src/lib/base/secmem.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - std::size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::secure_allocator::deallocate
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached:
    - deallocate_memory
    linkageType: ''
    returnType: void
    signature: void deallocate(T* p, std::size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: operator==(const secure_allocator<T>&, const secure_allocator<U>&)
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const secure_allocator<T>&, const secure_allocator<U>&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: operator!=(const secure_allocator<T>&, const secure_allocator<U>&)
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const secure_allocator<T>&, const secure_allocator<U>&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_vector<T>
      Src: /src/botan/src/lib/base/secmem.h:81,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/base/secmem.h:81,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/base/secmem.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<T>
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan::lock
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 5
    functionsReached:
    - Botan::begin
    - Botan::end
    - secure_vector<T>
    linkageType: ''
    returnType: secure_vector<T>
    signature: secure_vector<T> lock(const std::vector<T>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<T>
      Src: /src/botan/src/lib/base/secmem.h:86,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/base/secmem.h:86,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/base/secmem.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - secure_vector<T>
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: Botan::unlock
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 12
    functionsReached:
    - Botan::begin
    - Botan::end
    - std::vector<T>
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> unlock(const secure_vector<T>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/base/secmem.h:91,1
    - Dst: end
      Src: /src/botan/src/lib/base/secmem.h:91,1
    - Dst: begin
      Src: /src/botan/src/lib/base/secmem.h:91,1
    - Dst: end
      Src: /src/botan/src/lib/base/secmem.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - std::vector<T, Alloc>
    - std::vector<T, Alloc2>
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '& operator+=(std::vector<T, Alloc>& out, const std::vector<T, Alloc2>&
      in)'
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached:
    - end
    - begin
    - insert
    linkageType: ''
    returnType: std::vector<T, Alloc>
    signature: std::vector<T, Alloc> & operator+=(std::vector<T, Alloc>& out, const
      std::vector<T, Alloc2>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/base/secmem.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - in
    argTypes:
    - std::vector<T, Alloc>
    - T
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '& operator+=(std::vector<T, Alloc>& out, T in)'
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: std::vector<T, Alloc>
    signature: std::vector<T, Alloc> & operator+=(std::vector<T, Alloc>& out, T in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/base/secmem.h:103,1
    - Dst: end
      Src: /src/botan/src/lib/base/secmem.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - std::vector<T, Alloc>
    - std::pair<const T*, L>
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '& operator+=(std::vector<T, Alloc>& out, const std::pair<const
      T*, L>& in)'
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached:
    - end
    - insert
    linkageType: ''
    returnType: std::vector<T, Alloc>
    signature: std::vector<T, Alloc> & operator+=(std::vector<T, Alloc>& out, const
      std::pair<const T*, L>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/base/secmem.h:109,1
    - Dst: end
      Src: /src/botan/src/lib/base/secmem.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - std::vector<T, Alloc>
    - std::pair<T*, L>
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: '& operator+=(std::vector<T, Alloc>& out, const std::pair<T*, L>&
      in)'
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached:
    - end
    - insert
    linkageType: ''
    returnType: std::vector<T, Alloc>
    signature: std::vector<T, Alloc> & operator+=(std::vector<T, Alloc>& out, const
      std::pair<T*, L>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fill
      Src: /src/botan/src/lib/base/secmem.h:119,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/base/secmem.h:119,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/base/secmem.h:119,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/base/secmem.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<T, Alloc>
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Botan::zeroise
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached:
    - Botan::begin
    - std::fill
    - Botan::end
    - static_cast<T>
    linkageType: ''
    returnType: void
    signature: void zeroise(std::vector<T, Alloc>& vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::zeroise
      Src: /src/botan/src/lib/base/secmem.h:128,1
    - Dst: Botan::clear
      Src: /src/botan/src/lib/base/secmem.h:129,1
    - Dst: shrink_to_fit
      Src: /src/botan/src/lib/base/secmem.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<T, Alloc>
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: Botan::zap
    functionSourceFile: /src/botan/src/lib/base/secmem.h
    functionUses: 0
    functionsReached:
    - Botan::zeroise
    - Botan::clear
    - shrink_to_fit
    linkageType: ''
    returnType: void
    signature: void zap(std::vector<T, Alloc>& vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_data
      Src: /src/botan/src/lib/base/buf_comp.cpp:14,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/base/buf_comp.cpp:14,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/base/buf_comp.cpp:14,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/base/buf_comp.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: Botan::Buffered_Computation::update
    functionSourceFile: /src/botan/src/lib/base/buf_comp.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::size
    - add_data
    - std::string_view::data
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: void
    signature: void Buffered_Computation::update(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/base/buf_comp.cpp:19,1
    - Dst: add_data
      Src: /src/botan/src/lib/base/buf_comp.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: Botan::Buffered_Computation::update_be
    functionSourceFile: /src/botan/src/lib/base/buf_comp.cpp
    functionUses: 0
    functionsReached:
    - add_data
    - store_be
    linkageType: ''
    returnType: void
    signature: void Buffered_Computation::update_be(uint16_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/base/buf_comp.cpp:25,1
    - Dst: add_data
      Src: /src/botan/src/lib/base/buf_comp.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: Botan::Buffered_Computation::update_be
    functionSourceFile: /src/botan/src/lib/base/buf_comp.cpp
    functionUses: 0
    functionsReached:
    - add_data
    - store_be
    linkageType: ''
    returnType: void
    signature: void Buffered_Computation::update_be(uint32_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/base/buf_comp.cpp:31,1
    - Dst: add_data
      Src: /src/botan/src/lib/base/buf_comp.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: Botan::Buffered_Computation::update_be
    functionSourceFile: /src/botan/src/lib/base/buf_comp.cpp
    functionUses: 0
    functionsReached:
    - add_data
    - store_be
    linkageType: ''
    returnType: void
    signature: void Buffered_Computation::update_be(uint64_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_le
      Src: /src/botan/src/lib/base/buf_comp.cpp:37,1
    - Dst: add_data
      Src: /src/botan/src/lib/base/buf_comp.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: Botan::Buffered_Computation::update_le
    functionSourceFile: /src/botan/src/lib/base/buf_comp.cpp
    functionUses: 0
    functionsReached:
    - store_le
    - add_data
    linkageType: ''
    returnType: void
    signature: void Buffered_Computation::update_le(uint16_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_le
      Src: /src/botan/src/lib/base/buf_comp.cpp:43,1
    - Dst: add_data
      Src: /src/botan/src/lib/base/buf_comp.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: Botan::Buffered_Computation::update_le
    functionSourceFile: /src/botan/src/lib/base/buf_comp.cpp
    functionUses: 0
    functionsReached:
    - store_le
    - add_data
    linkageType: ''
    returnType: void
    signature: void Buffered_Computation::update_le(uint32_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_le
      Src: /src/botan/src/lib/base/buf_comp.cpp:49,1
    - Dst: add_data
      Src: /src/botan/src/lib/base/buf_comp.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: Botan::Buffered_Computation::update_le
    functionSourceFile: /src/botan/src/lib/base/buf_comp.cpp
    functionUses: 0
    functionsReached:
    - store_le
    - add_data
    linkageType: ''
    returnType: void
    signature: void Buffered_Computation::update_le(uint64_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/base/buf_comp.cpp:54,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/base/buf_comp.cpp:54,1
    - Dst: output_length
      Src: /src/botan/src/lib/base/buf_comp.cpp:54,1
    - Dst: final_result
      Src: /src/botan/src/lib/base/buf_comp.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: Botan::Buffered_Computation::final
    functionSourceFile: /src/botan/src/lib/base/buf_comp.cpp
    functionUses: 0
    functionsReached:
    - output_length
    - std::span<uint8_t>::size
    - BOTAN_ARG_CHECK
    - final_result
    linkageType: ''
    returnType: void
    signature: void Buffered_Computation::final(std::span<uint8_t> out)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/base/symkey.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: OctetString
    signature: OctetString final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::size
      Src: /src/botan/src/lib/base/symkey.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::size
    functionSourceFile: /src/botan/src/lib/base/symkey.h
    functionUses: 54
    functionsReached:
    - Botan::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::empty
      Src: /src/botan/src/lib/base/symkey.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::empty
    functionSourceFile: /src/botan/src/lib/base/symkey.h
    functionUses: 8
    functionsReached:
    - Botan::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::bits_of
    functionSourceFile: /src/botan/src/lib/base/symkey.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> bits_of() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/base/symkey.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan::begin
    functionSourceFile: /src/botan/src/lib/base/symkey.h
    functionUses: 12
    functionsReached:
    - data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * begin() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::begin
      Src: /src/botan/src/lib/base/symkey.h:46,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/base/symkey.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan::end
    functionSourceFile: /src/botan/src/lib/base/symkey.h
    functionUses: 12
    functionsReached:
    - Botan::begin
    - Botan::size
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * end() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/base/symkey.h:93,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/base/symkey.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: Botan::OctetString
    functionSourceFile: /src/botan/src/lib/base/symkey.h
    functionUses: 4
    functionsReached:
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void OctetString(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/base/symkey.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - in
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: Botan::OctetString
    functionSourceFile: /src/botan/src/lib/base/symkey.h
    functionUses: 4
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void OctetString(secure_vector<uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_data
      Src: /src/botan/src/lib/base/buf_comp.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::update
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 17
    functionsReached:
    - add_data
    linkageType: ''
    returnType: void
    signature: void update(const uint8_t in[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_data
      Src: /src/botan/src/lib/base/buf_comp.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan::update
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 17
    functionsReached:
    - add_data
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_data
      Src: /src/botan/src/lib/base/buf_comp.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::update
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 17
    functionsReached:
    - add_data
    linkageType: ''
    returnType: void
    signature: void update(uint8_t in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_result
      Src: /src/botan/src/lib/base/buf_comp.h:69,1
    - Dst: output_length
      Src: /src/botan/src/lib/base/buf_comp.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 12
    functionsReached:
    - output_length
    - final_result
    linkageType: ''
    returnType: void
    signature: void final(uint8_t out[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_result
      Src: /src/botan/src/lib/base/buf_comp.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 12
    functionsReached:
    - final_result
    linkageType: ''
    returnType: T
    signature: T final()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::final
      Src: /src/botan/src/lib/base/buf_comp.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan::final_stdvec
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 0
    functionsReached:
    - Botan::final
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> final_stdvec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/base/buf_comp.h:89,1
    - Dst: output_length
      Src: /src/botan/src/lib/base/buf_comp.h:89,1
    - Dst: final_result
      Src: /src/botan/src/lib/base/buf_comp.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 13
    functionsReached:
    - output_length
    - resize
    - final_result
    linkageType: ''
    returnType: void
    signature: void final(T& out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::update
      Src: /src/botan/src/lib/base/buf_comp.h:102,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/base/buf_comp.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: Botan::process
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 0
    functionsReached:
    - Botan::update
    - Botan::final
    linkageType: ''
    returnType: T
    signature: T process(const uint8_t in[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::update
      Src: /src/botan/src/lib/base/buf_comp.h:114,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/base/buf_comp.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Botan::process
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 0
    functionsReached:
    - Botan::update
    - Botan::final
    linkageType: ''
    returnType: T
    signature: T process(std::string_view in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::update
      Src: /src/botan/src/lib/base/buf_comp.h:126,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/base/buf_comp.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: Botan::process
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 0
    functionsReached:
    - Botan::update
    - Botan::final
    linkageType: ''
    returnType: T
    signature: T process(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: ~Buffered_Computation()
    functionSourceFile: /src/botan/src/lib/base/buf_comp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Buffered_Computation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/base/sym_algo.h:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 74
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/base/sym_algo.h
    functionUses: 16
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~SymmetricAlgorithm()
    functionSourceFile: /src/botan/src/lib/base/sym_algo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SymmetricAlgorithm()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SymmetricAlgorithm
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Botan::SymmetricAlgorithm
    functionSourceFile: /src/botan/src/lib/base/sym_algo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SymmetricAlgorithm(const SymmetricAlgorithm& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SymmetricAlgorithm
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Botan::SymmetricAlgorithm
    functionSourceFile: /src/botan/src/lib/base/sym_algo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SymmetricAlgorithm(SymmetricAlgorithm&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::key_spec
      Src: /src/botan/src/lib/base/sym_algo.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan::maximum_keylength
    functionSourceFile: /src/botan/src/lib/base/sym_algo.h
    functionUses: 0
    functionsReached:
    - Botan::key_spec
    linkageType: ''
    returnType: size_t
    signature: size_t maximum_keylength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::key_spec
      Src: /src/botan/src/lib/base/sym_algo.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Botan::minimum_keylength
    functionSourceFile: /src/botan/src/lib/base/sym_algo.h
    functionUses: 0
    functionsReached:
    - Botan::key_spec
    linkageType: ''
    returnType: size_t
    signature: size_t minimum_keylength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::key_spec
      Src: /src/botan/src/lib/base/sym_algo.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Botan::valid_keylength
    functionSourceFile: /src/botan/src/lib/base/sym_algo.h
    functionUses: 0
    functionsReached:
    - Botan::key_spec
    linkageType: ''
    returnType: bool
    signature: bool valid_keylength(size_t length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::set_key
      Src: /src/botan/src/lib/base/sym_algo.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: Botan::set_key
    functionSourceFile: /src/botan/src/lib/base/sym_algo.h
    functionUses: 3
    functionsReached:
    - Botan::set_key
    linkageType: ''
    returnType: void
    signature: void set_key(const uint8_t key[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: throw_key_not_set_error
      Src: /src/botan/src/lib/base/sym_algo.h:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - predicate
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: assert_key_material_set
    functionSourceFile: /src/botan/src/lib/base/sym_algo.h
    functionUses: 22
    functionsReached:
    - throw_key_not_set_error
    linkageType: ''
    returnType: void
    signature: void assert_key_material_set(bool predicate) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/base/symkey.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - len
    argTypes:
    - RandomNumberGenerator
    - size_t
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Botan::OctetString::OctetString
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 0
    functionsReached:
    - random_vec
    linkageType: ''
    returnType: void
    signature: void OctetString::OctetString(RandomNumberGenerator& rng, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/base/symkey.cpp:28,1
    - Dst: resize
      Src: /src/botan/src/lib/base/symkey.cpp:29,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/base/symkey.cpp:29,1
    - Dst: resize
      Src: /src/botan/src/lib/base/symkey.cpp:30,1
    - Dst: hex_decode
      Src: /src/botan/src/lib/base/symkey.cpp:30,1
    - Dst: data
      Src: /src/botan/src/lib/base/symkey.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hex_string
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: Botan::OctetString::OctetString
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 0
    functionsReached:
    - data
    - hex_decode
    - std::string_view::empty
    - resize
    - std::string_view::length
    linkageType: ''
    returnType: void
    signature: void OctetString::OctetString(std::string_view hex_string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/base/symkey.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - n
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::OctetString::OctetString
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void OctetString::OctetString(const uint8_t in[], size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: Botan::odd_parity_of
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t odd_parity_of(uint8_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/base/symkey.cpp:58,1
    - Dst: odd_parity_of
      Src: /src/botan/src/lib/base/symkey.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: Botan::OctetString::set_odd_parity
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 1
    functionsReached:
    - odd_parity_of
    - size
    linkageType: ''
    returnType: void
    signature: void OctetString::set_odd_parity()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hex_encode
      Src: /src/botan/src/lib/base/symkey.cpp:67,1
    - Dst: data
      Src: /src/botan/src/lib/base/symkey.cpp:67,1
    - Dst: size
      Src: /src/botan/src/lib/base/symkey.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: Botan::OctetString::to_string
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 1
    functionsReached:
    - hex_encode
    - data
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string OctetString::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroise
      Src: /src/botan/src/lib/base/symkey.cpp:75,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/base/symkey.cpp:78,1
    - Dst: data
      Src: /src/botan/src/lib/base/symkey.cpp:78,1
    - Dst: begin
      Src: /src/botan/src/lib/base/symkey.cpp:78,1
    - Dst: std::min
      Src: /src/botan/src/lib/base/symkey.cpp:78,1
    - Dst: length
      Src: /src/botan/src/lib/base/symkey.cpp:78,1
    - Dst: length
      Src: /src/botan/src/lib/base/symkey.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - OctetString
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: '& OctetString::operator^=(const OctetString& k)'
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 0
    functionsReached:
    - begin
    - data
    - std::min
    - zeroise
    - length
    - xor_buf
    linkageType: ''
    returnType: OctetString
    signature: OctetString & OctetString::operator^=(const OctetString& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bits_of
      Src: /src/botan/src/lib/base/symkey.cpp:86,1
    - Dst: Botan::bits_of
      Src: /src/botan/src/lib/base/symkey.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s1'
    - ' s2'
    argTypes:
    - OctetString
    - OctetString
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: operator==(const OctetString& s1, const OctetString& s2)
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 0
    functionsReached:
    - Botan::bits_of
    linkageType: ''
    returnType: bool
    signature: bool operator==(const OctetString& s1, const OctetString& s2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s1'
    - ' s2'
    argTypes:
    - OctetString
    - OctetString
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: operator!=(const OctetString& s1, const OctetString& s2)
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const OctetString& s1, const OctetString& s2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bits_of
      Src: /src/botan/src/lib/base/symkey.cpp:101,1
    - Dst: Botan::bits_of
      Src: /src/botan/src/lib/base/symkey.cpp:102,1
    - Dst: Botan::OctetString
      Src: /src/botan/src/lib/base/symkey.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' k1'
    - ' k2'
    argTypes:
    - OctetString
    - OctetString
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: operator+(const OctetString& k1, const OctetString& k2)
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 0
    functionsReached:
    - Botan::bits_of
    - Botan::OctetString
    linkageType: ''
    returnType: OctetString
    signature: OctetString operator+(const OctetString& k1, const OctetString& k2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/botan/src/lib/base/symkey.cpp:110,1
    - Dst: length
      Src: /src/botan/src/lib/base/symkey.cpp:110,1
    - Dst: length
      Src: /src/botan/src/lib/base/symkey.cpp:110,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/base/symkey.cpp:112,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/base/symkey.cpp:112,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/base/symkey.cpp:112,1
    - Dst: length
      Src: /src/botan/src/lib/base/symkey.cpp:112,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/base/symkey.cpp:113,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/base/symkey.cpp:113,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/base/symkey.cpp:113,1
    - Dst: length
      Src: /src/botan/src/lib/base/symkey.cpp:113,1
    - Dst: Botan::OctetString
      Src: /src/botan/src/lib/base/symkey.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' k1'
    - ' k2'
    argTypes:
    - OctetString
    - OctetString
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: operator^(const OctetString& k1, const OctetString& k2)
    functionSourceFile: /src/botan/src/lib/base/symkey.cpp
    functionUses: 0
    functionsReached:
    - Botan::begin
    - Botan::xor_buf
    - secure_vector::data
    - std::max
    - length
    - Botan::copy_mem
    - Botan::OctetString
    linkageType: ''
    returnType: OctetString
    signature: OctetString operator^(const OctetString& k1, const OctetString& k2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SymmetricAlgorithm::set_key
      Src: /src/botan/src/lib/base/sym_algo.cpp:15,1
    - Dst: begin
      Src: /src/botan/src/lib/base/sym_algo.cpp:15,1
    - Dst: length
      Src: /src/botan/src/lib/base/sym_algo.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - OctetString
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: Botan::SymmetricAlgorithm::set_key
    functionSourceFile: /src/botan/src/lib/base/sym_algo.cpp
    functionUses: 1
    functionsReached:
    - Botan::SymmetricAlgorithm::set_key
    - begin
    - length
    linkageType: ''
    returnType: void
    signature: void SymmetricAlgorithm::set_key(const OctetString& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Not_Set
      Src: /src/botan/src/lib/base/sym_algo.cpp:19,1
    - Dst: name
      Src: /src/botan/src/lib/base/sym_algo.cpp:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: Botan::SymmetricAlgorithm::throw_key_not_set_error
    functionSourceFile: /src/botan/src/lib/base/sym_algo.cpp
    functionUses: 0
    functionsReached:
    - Key_Not_Set
    - name
    linkageType: ''
    returnType: void
    signature: void SymmetricAlgorithm::throw_key_not_set_error() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: valid_keylength
      Src: /src/botan/src/lib/base/sym_algo.cpp:23,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/base/sym_algo.cpp:23,1
    - Dst: Invalid_Key_Length
      Src: /src/botan/src/lib/base/sym_algo.cpp:24,1
    - Dst: name
      Src: /src/botan/src/lib/base/sym_algo.cpp:24,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/base/sym_algo.cpp:24,1
    - Dst: key_schedule
      Src: /src/botan/src/lib/base/sym_algo.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: Botan::SymmetricAlgorithm::set_key
    functionSourceFile: /src/botan/src/lib/base/sym_algo.cpp
    functionUses: 1
    functionsReached:
    - name
    - valid_keylength
    - std::span<const uint8_t>::size
    - key_schedule
    - Invalid_Key_Length
    linkageType: ''
    returnType: void
    signature: void SymmetricAlgorithm::set_key(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Compression_Alloc_Info*>
      Src: /src/botan/src/lib/compression/compress_utils.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - self
    - n
    - size
    argTypes:
    - void*
    - T
    - T
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::Compression_Alloc_Info::malloc
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached:
    - static_cast<Compression_Alloc_Info*>
    linkageType: ''
    returnType: void
    signature: void * malloc(void* self, T n, T size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Compression_Alloc_Info*>
      Src: /src/botan/src/lib/compression/compress_utils.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - self
    - ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::Compression_Alloc_Info::free
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached:
    - static_cast<Compression_Alloc_Info*>
    linkageType: ''
    returnType: void
    signature: void free(void* self, void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ByteType*>
      Src: /src/botan/src/lib/compression/compress_utils.h:45,1
    - Dst: static_cast<StreamLenType>
      Src: /src/botan/src/lib/compression/compress_utils.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - b
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: Botan::Zlib_Style_Stream::next_in
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached:
    - static_cast<StreamLenType>
    - reinterpret_cast<ByteType*>
    linkageType: ''
    returnType: void
    signature: void next_in(uint8_t* b, size_t len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ByteType*>
      Src: /src/botan/src/lib/compression/compress_utils.h:50,1
    - Dst: static_cast<StreamLenType>
      Src: /src/botan/src/lib/compression/compress_utils.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - b
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: Botan::Zlib_Style_Stream::next_out
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached:
    - static_cast<StreamLenType>
    - reinterpret_cast<ByteType*>
    linkageType: ''
    returnType: void
    signature: void next_out(uint8_t* b, size_t len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::Zlib_Style_Stream::avail_in
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t avail_in() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::Zlib_Style_Stream::avail_out
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t avail_out() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Compression_Alloc_Info>
      Src: /src/botan/src/lib/compression/compress_utils.h:58,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/compression/compress_utils.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: Botan::Zlib_Style_Stream::Zlib_Style_Stream
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Compression_Alloc_Info>
    - clear_mem
    linkageType: ''
    returnType: void
    signature: void Zlib_Style_Stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Style_Stream
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan::Zlib_Style_Stream::Zlib_Style_Stream
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Zlib_Style_Stream(const Zlib_Style_Stream& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Style_Stream
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::Zlib_Style_Stream::Zlib_Style_Stream
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Zlib_Style_Stream(Zlib_Style_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Style_Stream
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: '& operator=(const Zlib_Style_Stream& other)'
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Zlib_Style_Stream
    signature: Zlib_Style_Stream & operator=(const Zlib_Style_Stream& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Style_Stream
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: '& operator=(Zlib_Style_Stream&& other)'
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Zlib_Style_Stream
    signature: Zlib_Style_Stream & operator=(Zlib_Style_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/compression/compress_utils.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: ~Zlib_Style_Stream() override
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached:
    - Botan::clear_mem
    linkageType: ''
    returnType: void
    signature: void ~Zlib_Style_Stream() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::Zlib_Style_Stream::streamp
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stream_t
    signature: stream_t * streamp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/compression/compress_utils.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Botan::Zlib_Style_Stream::alloc
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Compression_Alloc_Info
    signature: Compression_Alloc_Info * alloc()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: ~Compression_Algorithm()
    functionSourceFile: /src/botan/src/lib/compression/compression.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Compression_Algorithm()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: ~Decompression_Algorithm()
    functionSourceFile: /src/botan/src/lib/compression/compression.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Decompression_Algorithm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Compression_Algorithm::create
      Src: /src/botan/src/lib/compression/compression.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: make_compressor
    functionSourceFile: /src/botan/src/lib/compression/compression.h
    functionUses: 0
    functionsReached:
    - Botan::Compression_Algorithm::create
    linkageType: ''
    returnType: Compression_Algorithm
    signature: Compression_Algorithm * make_compressor(std::string_view type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decompression_Algorithm::create
      Src: /src/botan/src/lib/compression/compression.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: make_decompressor
    functionSourceFile: /src/botan/src/lib/compression/compression.h
    functionUses: 0
    functionsReached:
    - Botan::Decompression_Algorithm::create
    linkageType: ''
    returnType: Decompression_Algorithm
    signature: Decompression_Algorithm * make_decompressor(std::string_view type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/compression.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: Exception
    functionSourceFile: /src/botan/src/lib/compression/compression.h
    functionUses: 131
    functionsReached:
    - Compression_Error
    linkageType: ''
    returnType: Compression_Error
    signature: Compression_Error Exception
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: ~Compression_Stream()
    functionSourceFile: /src/botan/src/lib/compression/compression.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Compression_Stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Zlib_Compression>
      Src: /src/botan/src/lib/compression/compression.cpp:32,1
    - Dst: std::make_unique<Gzip_Compression>
      Src: /src/botan/src/lib/compression/compression.cpp:35,1
    - Dst: std::make_unique<Deflate_Compression>
      Src: /src/botan/src/lib/compression/compression.cpp:38,1
    - Dst: std::make_unique<Bzip2_Compression>
      Src: /src/botan/src/lib/compression/compression.cpp:44,1
    - Dst: std::make_unique<LZMA_Compression>
      Src: /src/botan/src/lib/compression/compression.cpp:50,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compression/compression.cpp:54,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 56
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 56
    functionName: Botan::Compression_Algorithm::create
    functionSourceFile: /src/botan/src/lib/compression/compression.cpp
    functionUses: 6
    functionsReached:
    - std::make_unique<Gzip_Compression>
    - std::make_unique<LZMA_Compression>
    - std::make_unique<Bzip2_Compression>
    - std::make_unique<Deflate_Compression>
    - std::make_unique<Zlib_Compression>
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::unique_ptr<Compression_Algorithm>
    signature: std::unique_ptr<Compression_Algorithm> Compression_Algorithm::create(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Compression_Algorithm::create
      Src: /src/botan/src/lib/compression/compression.cpp:60,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/compression/compression.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - algo
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: Botan::Compression_Algorithm::create_or_throw
    functionSourceFile: /src/botan/src/lib/compression/compression.cpp
    functionUses: 1
    functionsReached:
    - Lookup_Error
    - Botan::Compression_Algorithm::create
    linkageType: ''
    returnType: std::unique_ptr<Compression_Algorithm>
    signature: std::unique_ptr<Compression_Algorithm> Compression_Algorithm::create_or_throw(std::string_view
      algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Zlib_Decompression>
      Src: /src/botan/src/lib/compression/compression.cpp:70,1
    - Dst: std::make_unique<Gzip_Decompression>
      Src: /src/botan/src/lib/compression/compression.cpp:73,1
    - Dst: std::make_unique<Deflate_Decompression>
      Src: /src/botan/src/lib/compression/compression.cpp:76,1
    - Dst: std::make_unique<Bzip2_Decompression>
      Src: /src/botan/src/lib/compression/compression.cpp:82,1
    - Dst: std::make_unique<LZMA_Decompression>
      Src: /src/botan/src/lib/compression/compression.cpp:88,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/compression/compression.cpp:92,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 94
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 94
    functionName: Botan::Decompression_Algorithm::create
    functionSourceFile: /src/botan/src/lib/compression/compression.cpp
    functionUses: 4
    functionsReached:
    - std::make_unique<LZMA_Decompression>
    - std::make_unique<Deflate_Decompression>
    - std::make_unique<Zlib_Decompression>
    - std::make_unique<Bzip2_Decompression>
    - std::make_unique<Gzip_Decompression>
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::unique_ptr<Decompression_Algorithm>
    signature: std::unique_ptr<Decompression_Algorithm> Decompression_Algorithm::create(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decompression_Algorithm::create
      Src: /src/botan/src/lib/compression/compression.cpp:98,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/compression/compression.cpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - algo
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: Botan::Decompression_Algorithm::create_or_throw
    functionSourceFile: /src/botan/src/lib/compression/compression.cpp
    functionUses: 1
    functionsReached:
    - Lookup_Error
    - Botan::Decompression_Algorithm::create
    linkageType: ''
    returnType: std::unique_ptr<Decompression_Algorithm>
    signature: std::unique_ptr<Decompression_Algorithm> Decompression_Algorithm::create_or_throw(std::string_view
      algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/compression/compress_utils.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - func_name
    - type
    - rc
    argTypes:
    - char*
    - ErrorType
    - int
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: Botan::Compression_Error::Compression_Error
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Compression_Error::Compression_Error(const char* func_name, ErrorType
      type, int rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_mul
      Src: /src/botan/src/lib/compression/compress_utils.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - n
    - size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 43
    functionName: Botan::Compression_Alloc_Info::do_malloc
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - checked_mul
    linkageType: ''
    returnType: void
    signature: void * Compression_Alloc_Info::do_malloc(size_t n, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/compression/compress_utils.cpp:47,1
    - Dst: end
      Src: /src/botan/src/lib/compression/compress_utils.cpp:49,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/compression/compress_utils.cpp:50,1
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/compression/compress_utils.cpp:53,1
    - Dst: Botan::Compression_Alloc_Info::free
      Src: /src/botan/src/lib/compression/compress_utils.cpp:54,1
    - Dst: erase
      Src: /src/botan/src/lib/compression/compress_utils.cpp:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: Botan::Compression_Alloc_Info::do_free
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - secure_scrub_memory
    - end
    - erase
    - find
    - Botan::Compression_Alloc_Info::free
    - Internal_Error
    linkageType: ''
    returnType: void
    signature: void Compression_Alloc_Info::do_free(void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/compression/compress_utils.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::Stream_Compression::clear
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stream_Compression::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_stream
      Src: /src/botan/src/lib/compression/compress_utils.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::Stream_Compression::start
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - make_stream
    linkageType: ''
    returnType: void
    signature: void Stream_Compression::start(size_t level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/compression/compress_utils.cpp:68,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/compression/compress_utils.cpp:69,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:69,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:72,1
    - Dst: run_flag
      Src: /src/botan/src/lib/compression/compress_utils.cpp:72,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:76,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:76,1
    - Dst: resize
      Src: /src/botan/src/lib/compression/compress_utils.cpp:77,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:77,1
    - Dst: empty
      Src: /src/botan/src/lib/compression/compress_utils.cpp:85,1
    - Dst: resize
      Src: /src/botan/src/lib/compression/compress_utils.cpp:86,1
    - Dst: next_in
      Src: /src/botan/src/lib/compression/compress_utils.cpp:89,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:89,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:89,1
    - Dst: next_out
      Src: /src/botan/src/lib/compression/compress_utils.cpp:90,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:90,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:90,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/compression/compress_utils.cpp:96,1
    - Dst: avail_in
      Src: /src/botan/src/lib/compression/compress_utils.cpp:96,1
    - Dst: resize
      Src: /src/botan/src/lib/compression/compress_utils.cpp:97,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:97,1
    - Dst: avail_out
      Src: /src/botan/src/lib/compression/compress_utils.cpp:97,1
    - Dst: avail_out
      Src: /src/botan/src/lib/compression/compress_utils.cpp:99,1
    - Dst: resize
      Src: /src/botan/src/lib/compression/compress_utils.cpp:101,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:101,1
    - Dst: next_out
      Src: /src/botan/src/lib/compression/compress_utils.cpp:102,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:102,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:102,1
    - Dst: avail_in
      Src: /src/botan/src/lib/compression/compress_utils.cpp:103,1
    - Dst: resize
      Src: /src/botan/src/lib/compression/compress_utils.cpp:104,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:104,1
    - Dst: avail_out
      Src: /src/botan/src/lib/compression/compress_utils.cpp:104,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/compression/compress_utils.cpp:109,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:109,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:109,1
    - Dst: swap
      Src: /src/botan/src/lib/compression/compress_utils.cpp:110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - ' buf'
    - offset
    - flags
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 111
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 111
    functionName: Botan::Stream_Compression::process
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - next_out
    - avail_out
    - swap
    - avail_in
    - data
    - size
    - copy_mem
    - empty
    - next_in
    - resize
    - BOTAN_ASSERT
    - run_flag
    linkageType: ''
    returnType: void
    signature: void Stream_Compression::process(secure_vector<uint8_t>& buf, size_t
      offset, uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/compression/compress_utils.cpp:114,1
    - Dst: Botan::Stream_Compression::process
      Src: /src/botan/src/lib/compression/compress_utils.cpp:115,1
    - Dst: flush_flag
      Src: /src/botan/src/lib/compression/compress_utils.cpp:115,1
    - Dst: run_flag
      Src: /src/botan/src/lib/compression/compress_utils.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' buf'
    - offset
    - flush
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Botan::Stream_Compression::update
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::Stream_Compression::process
    - flush_flag
    - run_flag
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void Stream_Compression::update(secure_vector<uint8_t>& buf, size_t
      offset, bool flush)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/compression/compress_utils.cpp:119,1
    - Dst: Botan::Stream_Compression::process
      Src: /src/botan/src/lib/compression/compress_utils.cpp:120,1
    - Dst: finish_flag
      Src: /src/botan/src/lib/compression/compress_utils.cpp:120,1
    - Dst: Botan::Stream_Compression::clear
      Src: /src/botan/src/lib/compression/compress_utils.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' buf'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: Botan::Stream_Compression::finish
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - Botan::Stream_Compression::clear
    - Botan::Stream_Compression::process
    - finish_flag
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void Stream_Compression::finish(secure_vector<uint8_t>& buf, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/compression/compress_utils.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::Stream_Decompression::clear
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stream_Decompression::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_stream
      Src: /src/botan/src/lib/compression/compress_utils.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Botan::Stream_Decompression::start
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - make_stream
    linkageType: ''
    returnType: void
    signature: void Stream_Decompression::start()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/compression/compress_utils.cpp:133,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/compression/compress_utils.cpp:134,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:134,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:136,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:136,1
    - Dst: resize
      Src: /src/botan/src/lib/compression/compress_utils.cpp:137,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:137,1
    - Dst: next_in
      Src: /src/botan/src/lib/compression/compress_utils.cpp:140,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:140,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:140,1
    - Dst: next_out
      Src: /src/botan/src/lib/compression/compress_utils.cpp:141,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:141,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:141,1
    - Dst: avail_in
      Src: /src/botan/src/lib/compression/compress_utils.cpp:147,1
    - Dst: resize
      Src: /src/botan/src/lib/compression/compress_utils.cpp:149,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:149,1
    - Dst: avail_out
      Src: /src/botan/src/lib/compression/compress_utils.cpp:149,1
    - Dst: Botan::Stream_Decompression::clear
      Src: /src/botan/src/lib/compression/compress_utils.cpp:150,1
    - Dst: Botan::Stream_Decompression::start
      Src: /src/botan/src/lib/compression/compress_utils.cpp:156,1
    - Dst: next_in
      Src: /src/botan/src/lib/compression/compress_utils.cpp:157,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:157,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:157,1
    - Dst: avail_out
      Src: /src/botan/src/lib/compression/compress_utils.cpp:160,1
    - Dst: resize
      Src: /src/botan/src/lib/compression/compress_utils.cpp:162,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:162,1
    - Dst: next_out
      Src: /src/botan/src/lib/compression/compress_utils.cpp:163,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:163,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:163,1
    - Dst: avail_in
      Src: /src/botan/src/lib/compression/compress_utils.cpp:164,1
    - Dst: resize
      Src: /src/botan/src/lib/compression/compress_utils.cpp:165,1
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:165,1
    - Dst: avail_out
      Src: /src/botan/src/lib/compression/compress_utils.cpp:165,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/compression/compress_utils.cpp:170,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:170,1
    - Dst: data
      Src: /src/botan/src/lib/compression/compress_utils.cpp:170,1
    - Dst: swap
      Src: /src/botan/src/lib/compression/compress_utils.cpp:171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - ' buf'
    - offset
    - flags
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 172
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 172
    functionName: Botan::Stream_Decompression::process
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - next_out
    - Botan::Stream_Decompression::start
    - avail_out
    - swap
    - avail_in
    - data
    - Botan::Stream_Decompression::clear
    - size
    - copy_mem
    - next_in
    - resize
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void Stream_Decompression::process(secure_vector<uint8_t>& buf, size_t
      offset, uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Stream_Decompression::process
      Src: /src/botan/src/lib/compression/compress_utils.cpp:175,1
    - Dst: run_flag
      Src: /src/botan/src/lib/compression/compress_utils.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' buf'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: Botan::Stream_Decompression::update
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - run_flag
    - Botan::Stream_Decompression::process
    linkageType: ''
    returnType: void
    signature: void Stream_Decompression::update(secure_vector<uint8_t>& buf, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/compression/compress_utils.cpp:179,1
    - Dst: get
      Src: /src/botan/src/lib/compression/compress_utils.cpp:179,1
    - Dst: Botan::Stream_Decompression::process
      Src: /src/botan/src/lib/compression/compress_utils.cpp:180,1
    - Dst: finish_flag
      Src: /src/botan/src/lib/compression/compress_utils.cpp:180,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/compression/compress_utils.cpp:184,1
    - Dst: fmt
      Src: /src/botan/src/lib/compression/compress_utils.cpp:184,1
    - Dst: name
      Src: /src/botan/src/lib/compression/compress_utils.cpp:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ' buf'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: Botan::Stream_Decompression::finish
    functionSourceFile: /src/botan/src/lib/compression/compress_utils.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - name
    - fmt
    - size
    - Botan::Stream_Decompression::process
    - get
    - finish_flag
    linkageType: ''
    returnType: void
    signature: void Stream_Decompression::finish(secure_vector<uint8_t>& buf, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::Stream_Compression
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Zlib_Compression
    signature: Zlib_Compression Stream_Compression
  - 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: Stream_Decompression
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Zlib_Decompression
    signature: Zlib_Decompression Stream_Decompression
  - 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: Stream_Compression
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Deflate_Compression
    signature: Deflate_Compression Stream_Compression
  - 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: Stream_Decompression
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Deflate_Decompression
    signature: Deflate_Decompression Stream_Decompression
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: Stream_Compression
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Gzip_Compression
    signature: Gzip_Compression Stream_Compression
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: Stream_Decompression
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Gzip_Decompression
    signature: Gzip_Decompression Stream_Decompression
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: streamp
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:23,1
    - Dst: alloc
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:23,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:24,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: Botan::Zlib_Stream::Zlib_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - streamp
    - alloc
    linkageType: ''
    returnType: void
    signature: void Zlib_Stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::Zlib_Stream::run_flag
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t run_flag() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::Zlib_Stream::flush_flag
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t flush_flag() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::Zlib_Stream::finish_flag
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t finish_flag() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wbits
    - wbits_offset
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: Botan::Zlib_Stream::compute_window_bits
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compute_window_bits(int wbits, int wbits_offset) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compute_window_bits
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:46,1
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - level
    - wbits
    argTypes:
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: Botan::Zlib_Compression_Stream::Zlib_Compression_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - Compression_Error
    - compute_window_bits
    linkageType: ''
    returnType: void
    signature: void Zlib_Compression_Stream(size_t level, int wbits, int wbits_offset
      = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::deflateEnd
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:61,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: ~Zlib_Compression_Stream() override
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - ::deflateEnd
    - streamp
    linkageType: ''
    returnType: void
    signature: void ~Zlib_Compression_Stream() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Compression_Stream
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Botan::Zlib_Compression_Stream::Zlib_Compression_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Zlib_Compression_Stream(const Zlib_Compression_Stream& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Compression_Stream
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::Zlib_Compression_Stream::Zlib_Compression_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Zlib_Compression_Stream(Zlib_Compression_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Compression_Stream
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '& operator=(const Zlib_Compression_Stream& other)'
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Zlib_Compression_Stream
    signature: Zlib_Compression_Stream & operator=(const Zlib_Compression_Stream&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Compression_Stream
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '& operator=(Zlib_Compression_Stream&& other)'
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Zlib_Compression_Stream
    signature: Zlib_Compression_Stream & operator=(Zlib_Compression_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: Botan::Zlib_Compression_Stream::run
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - Compression_Error
    linkageType: ''
    returnType: bool
    signature: bool run(uint32_t flags) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - wbits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: Botan::Zlib_Decompression_Stream::Zlib_Decompression_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - Compression_Error
    linkageType: ''
    returnType: void
    signature: void Zlib_Decompression_Stream(int wbits, int wbits_offset = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::inflateEnd
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:89,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~Zlib_Decompression_Stream() override
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - streamp
    - ::inflateEnd
    linkageType: ''
    returnType: void
    signature: void ~Zlib_Decompression_Stream() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Decompression_Stream
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan::Zlib_Decompression_Stream::Zlib_Decompression_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Zlib_Decompression_Stream(const Zlib_Decompression_Stream& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Decompression_Stream
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan::Zlib_Decompression_Stream::Zlib_Decompression_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Zlib_Decompression_Stream(Zlib_Decompression_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Decompression_Stream
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: '& operator=(const Zlib_Decompression_Stream& other)'
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Zlib_Decompression_Stream
    signature: Zlib_Decompression_Stream & operator=(const Zlib_Decompression_Stream&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Zlib_Decompression_Stream
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& operator=(Zlib_Decompression_Stream&& other)'
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Zlib_Decompression_Stream
    signature: Zlib_Decompression_Stream & operator=(Zlib_Decompression_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: Botan::Zlib_Decompression_Stream::run
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - Compression_Error
    linkageType: ''
    returnType: bool
    signature: bool run(uint32_t flags) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - level
    - wbits
    argTypes:
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: Botan::Deflate_Compression_Stream::Deflate_Compression_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Deflate_Compression_Stream(size_t level, int wbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wbits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Botan::Deflate_Decompression_Stream::Deflate_Decompression_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Deflate_Decompression_Stream(int wbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_mem
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:121,1
    - Dst: static_cast<uLong>
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:123,1
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - level
    - wbits
    - os_code
    - hdr_time
    argTypes:
    - size_t
    - int
    - uint8_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: Botan::Gzip_Compression_Stream::Gzip_Compression_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uLong>
    - clear_mem
    - Compression_Error
    linkageType: ''
    returnType: void
    signature: void Gzip_Compression_Stream(size_t level, int wbits, uint8_t os_code,
      uint64_t hdr_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wbits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan::Gzip_Decompression_Stream::Gzip_Decompression_Stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Gzip_Decompression_Stream(int wbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Zlib_Compression_Stream>
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: Botan::Zlib_Compression::make_stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Zlib_Compression_Stream>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Stream>
    signature: std::unique_ptr<Compression_Stream> Zlib_Compression::make_stream(size_t
      level) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Zlib_Decompression_Stream>
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: Botan::Zlib_Decompression::make_stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Zlib_Decompression_Stream>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Stream>
    signature: std::unique_ptr<Compression_Stream> Zlib_Decompression::make_stream()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Deflate_Compression_Stream>
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: Botan::Deflate_Compression::make_stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Deflate_Compression_Stream>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Stream>
    signature: std::unique_ptr<Compression_Stream> Deflate_Compression::make_stream(size_t
      level) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Deflate_Decompression_Stream>
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: Botan::Deflate_Decompression::make_stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Deflate_Decompression_Stream>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Stream>
    signature: std::unique_ptr<Compression_Stream> Deflate_Decompression::make_stream()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Gzip_Compression_Stream>
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: Botan::Gzip_Compression::make_stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Gzip_Compression_Stream>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Stream>
    signature: std::unique_ptr<Compression_Stream> Gzip_Compression::make_stream(size_t
      level) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Gzip_Decompression_Stream>
      Src: /src/botan/src/lib/compression/zlib/zlib.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: Botan::Gzip_Decompression::make_stream
    functionSourceFile: /src/botan/src/lib/compression/zlib/zlib.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Gzip_Decompression_Stream>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Stream>
    signature: std::unique_ptr<Compression_Stream> Gzip_Decompression::make_stream()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: streamp
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:25,1
    - Dst: alloc
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:25,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:26,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: Botan::Bzip2_Stream::Bzip2_Stream
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached:
    - streamp
    - alloc
    linkageType: ''
    returnType: void
    signature: void Bzip2_Stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::Bzip2_Stream::run_flag
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t run_flag() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::Bzip2_Stream::flush_flag
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t flush_flag() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::Bzip2_Stream::finish_flag
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t finish_flag() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - block_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: Botan::Bzip2_Compression_Stream::Bzip2_Compression_Stream
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached:
    - Compression_Error
    linkageType: ''
    returnType: void
    signature: void Bzip2_Compression_Stream(size_t block_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bzip2_Compression_Stream
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::Bzip2_Compression_Stream::Bzip2_Compression_Stream
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bzip2_Compression_Stream(const Bzip2_Compression_Stream& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bzip2_Compression_Stream
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Botan::Bzip2_Compression_Stream::Bzip2_Compression_Stream
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bzip2_Compression_Stream(Bzip2_Compression_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bzip2_Compression_Stream
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '& operator=(const Bzip2_Compression_Stream& other)'
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bzip2_Compression_Stream
    signature: Bzip2_Compression_Stream & operator=(const Bzip2_Compression_Stream&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bzip2_Compression_Stream
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '& operator=(Bzip2_Compression_Stream&& other)'
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bzip2_Compression_Stream
    signature: Bzip2_Compression_Stream & operator=(Bzip2_Compression_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BZ2_bzCompressEnd
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:61,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: ~Bzip2_Compression_Stream() override
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached:
    - streamp
    - BZ2_bzCompressEnd
    linkageType: ''
    returnType: void
    signature: void ~Bzip2_Compression_Stream() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: Botan::Bzip2_Compression_Stream::run
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached:
    - Compression_Error
    linkageType: ''
    returnType: bool
    signature: bool run(uint32_t flags) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: Botan::Bzip2_Decompression_Stream::Bzip2_Decompression_Stream
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached:
    - Compression_Error
    linkageType: ''
    returnType: void
    signature: void Bzip2_Decompression_Stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bzip2_Decompression_Stream
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Botan::Bzip2_Decompression_Stream::Bzip2_Decompression_Stream
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bzip2_Decompression_Stream(const Bzip2_Decompression_Stream& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bzip2_Decompression_Stream
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan::Bzip2_Decompression_Stream::Bzip2_Decompression_Stream
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bzip2_Decompression_Stream(Bzip2_Decompression_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bzip2_Decompression_Stream
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& operator=(const Bzip2_Decompression_Stream& other)'
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bzip2_Decompression_Stream
    signature: Bzip2_Decompression_Stream & operator=(const Bzip2_Decompression_Stream&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bzip2_Decompression_Stream
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: '& operator=(Bzip2_Decompression_Stream&& other)'
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bzip2_Decompression_Stream
    signature: Bzip2_Decompression_Stream & operator=(Bzip2_Decompression_Stream&&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BZ2_bzDecompressEnd
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:89,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~Bzip2_Decompression_Stream() override
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached:
    - streamp
    - BZ2_bzDecompressEnd
    linkageType: ''
    returnType: void
    signature: void ~Bzip2_Decompression_Stream() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: Botan::Bzip2_Decompression_Stream::run
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached:
    - Compression_Error
    linkageType: ''
    returnType: bool
    signature: bool run(uint32_t) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Bzip2_Compression_Stream>
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - comp_level
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: Botan::Bzip2_Compression::make_stream
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Bzip2_Compression_Stream>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Stream>
    signature: std::unique_ptr<Compression_Stream> Bzip2_Compression::make_stream(size_t
      comp_level) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Bzip2_Decompression_Stream>
      Src: /src/botan/src/lib/compression/bzip2/bzip2.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Botan::Bzip2_Decompression::make_stream
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Bzip2_Decompression_Stream>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Stream>
    signature: std::unique_ptr<Compression_Stream> Bzip2_Decompression::make_stream()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::Stream_Compression
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bzip2_Compression
    signature: Bzip2_Compression Stream_Compression
  - 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: Stream_Decompression
    functionSourceFile: /src/botan/src/lib/compression/bzip2/bzip2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bzip2_Decompression
    signature: Bzip2_Decompression Stream_Decompression
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:24,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: Botan::LZMA_Stream::LZMA_Stream
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached:
    - streamp
    - alloc
    linkageType: ''
    returnType: void
    signature: void LZMA_Stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::lzma_end
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:30,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: ~LZMA_Stream() override
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached:
    - streamp
    - ::lzma_end
    linkageType: ''
    returnType: void
    signature: void ~LZMA_Stream() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LZMA_Stream
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::LZMA_Stream::LZMA_Stream
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LZMA_Stream(const LZMA_Stream& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LZMA_Stream
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::LZMA_Stream::LZMA_Stream
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LZMA_Stream(LZMA_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LZMA_Stream
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& operator=(const LZMA_Stream& other)'
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LZMA_Stream
    signature: LZMA_Stream & operator=(const LZMA_Stream& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LZMA_Stream
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(LZMA_Stream&& other)'
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LZMA_Stream
    signature: LZMA_Stream & operator=(LZMA_Stream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::lzma_code
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:38,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:38,1
    - Dst: static_cast<lzma_action>
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:38,1
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: Botan::LZMA_Stream::run
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached:
    - streamp
    - static_cast<lzma_action>
    - ::lzma_code
    - Compression_Error
    linkageType: ''
    returnType: bool
    signature: bool run(uint32_t flags) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::LZMA_Stream::run_flag
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t run_flag() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::LZMA_Stream::flush_flag
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t flush_flag() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::LZMA_Stream::finish_flag
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t finish_flag() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::lzma_easy_encoder
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:66,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:66,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:66,1
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - level
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: Botan::LZMA_Compression_Stream::LZMA_Compression_Stream
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached:
    - ::lzma_easy_encoder
    - streamp
    - Compression_Error
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void LZMA_Compression_Stream(size_t level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::lzma_stream_decoder
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:77,1
    - Dst: streamp
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:77,1
    - Dst: Compression_Error
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: Botan::LZMA_Decompression_Stream::LZMA_Decompression_Stream
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached:
    - ::lzma_stream_decoder
    - streamp
    - Compression_Error
    linkageType: ''
    returnType: void
    signature: void LZMA_Decompression_Stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<LZMA_Compression_Stream>
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: Botan::LZMA_Compression::make_stream
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<LZMA_Compression_Stream>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Stream>
    signature: std::unique_ptr<Compression_Stream> LZMA_Compression::make_stream(size_t
      level) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<LZMA_Decompression_Stream>
      Src: /src/botan/src/lib/compression/lzma/lzma.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: Botan::LZMA_Decompression::make_stream
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<LZMA_Decompression_Stream>
    linkageType: ''
    returnType: std::unique_ptr<Compression_Stream>
    signature: std::unique_ptr<Compression_Stream> LZMA_Decompression::make_stream()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Botan::Stream_Compression
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LZMA_Compression
    signature: LZMA_Compression Stream_Compression
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Stream_Decompression
    functionSourceFile: /src/botan/src/lib/compression/lzma/lzma.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LZMA_Decompression
    signature: LZMA_Decompression Stream_Decompression
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::parallelism
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t parallelism() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::parallelism
      Src: /src/botan/src/lib/block/block_cipher.h:67,1
    - Dst: block_size
      Src: /src/botan/src/lib/block/block_cipher.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: Botan::parallel_bytes
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached:
    - Botan::parallelism
    - block_size
    linkageType: ''
    returnType: size_t
    signature: size_t parallel_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::provider
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_n
      Src: /src/botan/src/lib/block/block_cipher.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Botan::encrypt
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 5
    functionsReached:
    - encrypt_n
    linkageType: ''
    returnType: void
    signature: void encrypt(const uint8_t in[], uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt_n
      Src: /src/botan/src/lib/block/block_cipher.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan::decrypt
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 3
    functionsReached:
    - decrypt_n
    linkageType: ''
    returnType: void
    signature: void decrypt(const uint8_t in[], uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_n
      Src: /src/botan/src/lib/block/block_cipher.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - block
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: Botan::encrypt
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 5
    functionsReached:
    - encrypt_n
    linkageType: ''
    returnType: void
    signature: void encrypt(uint8_t block[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt_n
      Src: /src/botan/src/lib/block/block_cipher.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - block
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Botan::decrypt
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 3
    functionsReached:
    - decrypt_n
    linkageType: ''
    returnType: void
    signature: void decrypt(uint8_t block[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_n
      Src: /src/botan/src/lib/block/block_cipher.h:114,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/block/block_cipher.h:114,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/block/block_cipher.h:114,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/block/block_cipher.h:114,1
    - Dst: block_size
      Src: /src/botan/src/lib/block/block_cipher.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - block
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: Botan::encrypt
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 5
    functionsReached:
    - encrypt_n
    - std::span<uint8_t>::size
    - block_size
    - std::span<uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void encrypt(std::span<uint8_t> block) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt_n
      Src: /src/botan/src/lib/block/block_cipher.h:122,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/block/block_cipher.h:122,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/block/block_cipher.h:122,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/block/block_cipher.h:122,1
    - Dst: block_size
      Src: /src/botan/src/lib/block/block_cipher.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - block
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: Botan::decrypt
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 3
    functionsReached:
    - decrypt_n
    - std::span<uint8_t>::size
    - block_size
    - std::span<uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void decrypt(std::span<uint8_t> block) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_n
      Src: /src/botan/src/lib/block/block_cipher.h:131,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/block_cipher.h:131,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/block/block_cipher.h:131,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/block_cipher.h:131,1
    - Dst: block_size
      Src: /src/botan/src/lib/block/block_cipher.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - std::span<const uint8_t>
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: Botan::encrypt
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 5
    functionsReached:
    - block_size
    - std::span<uint8_t>::data
    - std::span<const uint8_t>::size
    - encrypt_n
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void encrypt(std::span<const uint8_t> in, std::span<uint8_t> out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt_n
      Src: /src/botan/src/lib/block/block_cipher.h:140,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/block_cipher.h:140,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/block/block_cipher.h:140,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/block_cipher.h:140,1
    - Dst: block_size
      Src: /src/botan/src/lib/block/block_cipher.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - std::span<const uint8_t>
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: Botan::decrypt
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 3
    functionsReached:
    - block_size
    - decrypt_n
    - std::span<uint8_t>::data
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void decrypt(std::span<const uint8_t> in, std::span<uint8_t> out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_n
      Src: /src/botan/src/lib/block/block_cipher.h:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - data
    - mask
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: Botan::encrypt_n_xex
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached:
    - encrypt_n
    linkageType: ''
    returnType: void
    signature: void encrypt_n_xex(uint8_t data[], const uint8_t mask[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt_n
      Src: /src/botan/src/lib/block/block_cipher.h:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - data
    - mask
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: Botan::decrypt_n_xex
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached:
    - decrypt_n
    linkageType: ''
    returnType: void
    signature: void decrypt_n_xex(uint8_t data[], const uint8_t mask[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::new_object
      Src: /src/botan/src/lib/block/block_cipher.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: Botan::clone
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached:
    - Botan::new_object
    linkageType: ''
    returnType: BlockCipher
    signature: BlockCipher * clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: ~BlockCipher() override
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BlockCipher() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: Botan::BlockCipher
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BlockCipher()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BlockCipher
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: Botan::BlockCipher
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BlockCipher(const BlockCipher& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BlockCipher
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: Botan::BlockCipher
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BlockCipher(BlockCipher&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: Block_Cipher_Fixed_Params::block_size
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/block/block_cipher.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: Block_Cipher_Fixed_Params::key_spec
    functionSourceFile: /src/botan/src/lib/block/block_cipher.h
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/block/block_cipher.cpp:94,1
    - Dst: make_commoncrypto_block_cipher
      Src: /src/botan/src/lib/block/block_cipher.cpp:95,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/block/block_cipher.cpp:98,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/block/block_cipher.cpp:107,1
    - Dst: std::make_unique<AES_128>
      Src: /src/botan/src/lib/block/block_cipher.cpp:113,1
    - Dst: std::make_unique<AES_192>
      Src: /src/botan/src/lib/block/block_cipher.cpp:117,1
    - Dst: std::make_unique<AES_256>
      Src: /src/botan/src/lib/block/block_cipher.cpp:121,1
    - Dst: std::make_unique<ARIA_128>
      Src: /src/botan/src/lib/block/block_cipher.cpp:127,1
    - Dst: std::make_unique<ARIA_192>
      Src: /src/botan/src/lib/block/block_cipher.cpp:131,1
    - Dst: std::make_unique<ARIA_256>
      Src: /src/botan/src/lib/block/block_cipher.cpp:135,1
    - Dst: std::make_unique<Serpent>
      Src: /src/botan/src/lib/block/block_cipher.cpp:141,1
    - Dst: std::make_unique<SHACAL2>
      Src: /src/botan/src/lib/block/block_cipher.cpp:147,1
    - Dst: std::make_unique<Twofish>
      Src: /src/botan/src/lib/block/block_cipher.cpp:153,1
    - Dst: std::make_unique<Threefish_512>
      Src: /src/botan/src/lib/block/block_cipher.cpp:159,1
    - Dst: std::make_unique<Blowfish>
      Src: /src/botan/src/lib/block/block_cipher.cpp:165,1
    - Dst: std::make_unique<Camellia_128>
      Src: /src/botan/src/lib/block/block_cipher.cpp:171,1
    - Dst: std::make_unique<Camellia_192>
      Src: /src/botan/src/lib/block/block_cipher.cpp:175,1
    - Dst: std::make_unique<Camellia_256>
      Src: /src/botan/src/lib/block/block_cipher.cpp:179,1
    - Dst: std::make_unique<DES>
      Src: /src/botan/src/lib/block/block_cipher.cpp:185,1
    - Dst: std::make_unique<TripleDES>
      Src: /src/botan/src/lib/block/block_cipher.cpp:189,1
    - Dst: std::make_unique<Noekeon>
      Src: /src/botan/src/lib/block/block_cipher.cpp:195,1
    - Dst: std::make_unique<CAST_128>
      Src: /src/botan/src/lib/block/block_cipher.cpp:201,1
    - Dst: std::make_unique<IDEA>
      Src: /src/botan/src/lib/block/block_cipher.cpp:207,1
    - Dst: std::make_unique<Kuznyechik>
      Src: /src/botan/src/lib/block/block_cipher.cpp:213,1
    - Dst: std::make_unique<SEED>
      Src: /src/botan/src/lib/block/block_cipher.cpp:219,1
    - Dst: std::make_unique<SM4>
      Src: /src/botan/src/lib/block/block_cipher.cpp:225,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/block/block_cipher.cpp:232,1
    - Dst: std::make_unique<GOST_28147_89>
      Src: /src/botan/src/lib/block/block_cipher.cpp:233,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/block/block_cipher.cpp:233,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/block/block_cipher.cpp:238,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/block/block_cipher.cpp:238,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/block/block_cipher.cpp:239,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/block/block_cipher.cpp:239,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/block/block_cipher.cpp:240,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/block/block_cipher.cpp:240,1
    - Dst: std::make_unique<Cascade_Cipher>
      Src: /src/botan/src/lib/block/block_cipher.cpp:243,1
    - Dst: std::move
      Src: /src/botan/src/lib/block/block_cipher.cpp:243,1
    - Dst: std::move
      Src: /src/botan/src/lib/block/block_cipher.cpp:243,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/block/block_cipher.cpp:249,1
    - Dst: SCAN_Name::arg_count_between
      Src: /src/botan/src/lib/block/block_cipher.cpp:249,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/block/block_cipher.cpp:250,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/block/block_cipher.cpp:250,1
    - Dst: Botan::StreamCipher::create
      Src: /src/botan/src/lib/block/block_cipher.cpp:251,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/block/block_cipher.cpp:251,1
    - Dst: std::make_unique<Lion>
      Src: /src/botan/src/lib/block/block_cipher.cpp:255,1
    - Dst: std::move
      Src: /src/botan/src/lib/block/block_cipher.cpp:255,1
    - Dst: std::move
      Src: /src/botan/src/lib/block/block_cipher.cpp:255,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/block/block_cipher.cpp:260,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/block/block_cipher.cpp:261,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 92
    argCount: 2
    argNames:
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 264
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 264
    functionName: Botan::BlockCipher::create
    functionSourceFile: /src/botan/src/lib/block/block_cipher.cpp
    functionUses: 6
    functionsReached:
    - std::make_unique<DES>
    - std::make_unique<ARIA_192>
    - Botan::BlockCipher::create
    - std::make_unique<ARIA_128>
    - BOTAN_UNUSED
    - SCAN_Name::arg_count_between
    - Botan::StreamCipher::create
    - std::make_unique<Blowfish>
    - std::make_unique<TripleDES>
    - std::make_unique<CAST_128>
    - std::make_unique<Camellia_128>
    - std::string_view::empty
    - std::make_unique<Kuznyechik>
    - std::make_unique<ARIA_256>
    - std::make_unique<AES_192>
    - SCAN_Name::algo_name
    - std::make_unique<Camellia_192>
    - SCAN_Name::arg_count
    - std::make_unique<Serpent>
    - std::make_unique<Twofish>
    - std::make_unique<Threefish_512>
    - std::make_unique<Camellia_256>
    - std::move
    - std::make_unique<Cascade_Cipher>
    - std::make_unique<SEED>
    - std::make_unique<Noekeon>
    - std::make_unique<Lion>
    - std::make_unique<AES_256>
    - std::make_unique<AES_128>
    - std::make_unique<SM4>
    - Botan::HashFunction::create
    - make_commoncrypto_block_cipher
    - std::make_unique<GOST_28147_89>
    - std::make_unique<SHACAL2>
    - SCAN_Name::arg
    - std::make_unique<IDEA>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> BlockCipher::create(std::string_view algo,
      std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/block/block_cipher.cpp:268,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/block/block_cipher.cpp:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: Botan::BlockCipher::create_or_throw
    functionSourceFile: /src/botan/src/lib/block/block_cipher.cpp
    functionUses: 11
    functionsReached:
    - Lookup_Error
    - Botan::BlockCipher::create
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> BlockCipher::create_or_throw(std::string_view
      algo, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: probe_providers_of<BlockCipher>
      Src: /src/botan/src/lib/block/block_cipher.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: Botan::BlockCipher::providers
    functionSourceFile: /src/botan/src/lib/block/block_cipher.cpp
    functionUses: 4
    functionsReached:
    - probe_providers_of<BlockCipher>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> BlockCipher::providers(std::string_view algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 41
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 41
    functionName: Botan::Serpent_F::SBoxE0
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE0(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 67
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 67
    functionName: Botan::Serpent_F::SBoxE1
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE1(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: Botan::Serpent_F::SBoxE2
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE2(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: Botan::Serpent_F::SBoxE3
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE3(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 143
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 143
    functionName: Botan::Serpent_F::SBoxE4
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE4(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 170
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 170
    functionName: Botan::Serpent_F::SBoxE5
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE5(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 193
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 193
    functionName: Botan::Serpent_F::SBoxE6
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE6(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 221
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 221
    functionName: Botan::Serpent_F::SBoxE7
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE7(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 246
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 246
    functionName: Botan::Serpent_F::SBoxD0
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD0(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 274
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 274
    functionName: Botan::Serpent_F::SBoxD1
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD1(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 299
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 299
    functionName: Botan::Serpent_F::SBoxD2
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD2(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 325
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 325
    functionName: Botan::Serpent_F::SBoxD3
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD3(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 351
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 351
    functionName: Botan::Serpent_F::SBoxD4
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD4(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 379
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 379
    functionName: Botan::Serpent_F::SBoxD5
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD5(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 403
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 403
    functionName: Botan::Serpent_F::SBoxD6
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD6(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 430
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 430
    functionName: Botan::Serpent_F::SBoxD7
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_sbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD7(T& a, T& b, T& c, T& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::Serpent::name
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Serpent>
      Src: /src/botan/src/lib/block/serpent/serpent.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::Serpent::new_object
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Serpent>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::Serpent::parallelism
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t parallelism() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:26,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:29,1
    - Dst: avx512_encrypt_16
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:31,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:40,1
    - Dst: avx2_encrypt_8
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:42,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:51,1
    - Dst: Botan::Serpent::simd_encrypt_4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:53,1
    - Dst: data
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:61,1
    - Dst: load_le
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:65,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:67,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:68,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:69,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:70,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:71,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:72,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:73,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:74,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:75,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:76,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:77,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:78,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:79,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:80,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:81,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:82,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:83,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:84,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:85,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:86,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:87,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:88,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:89,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:90,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:91,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:92,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:93,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:94,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:95,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:96,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:97,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:98,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:99,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:100,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:101,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:102,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:103,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:104,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:105,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:106,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:107,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:108,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:109,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:110,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:111,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:112,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:113,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:114,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:115,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:116,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:117,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:118,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:119,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:120,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:121,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:122,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:123,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:124,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:125,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:126,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:127,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:128,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:129,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:130,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:131,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:132,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:133,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:134,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:135,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:136,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:137,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:138,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:139,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:140,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:141,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:142,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:143,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:144,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:145,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:146,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:147,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:148,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:149,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:150,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:151,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:152,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:153,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:154,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:155,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:156,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:157,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:158,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:159,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:160,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:161,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:162,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 126
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 166
    functionName: Botan::Serpent::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent.cpp
    functionUses: 0
    functionsReached:
    - SBoxE4
    - SBoxE2
    - SBoxE7
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::Serpent::simd_encrypt_4
    - data
    - key_xor
    - assert_key_material_set
    - SBoxE0
    - transform
    - SBoxE5
    - store_le
    - SBoxE3
    - avx2_encrypt_8
    - load_le
    - SBoxE1
    - avx512_encrypt_16
    - SBoxE6
    linkageType: ''
    returnType: void
    signature: void Serpent::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:174,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:177,1
    - Dst: avx512_decrypt_16
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:179,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:188,1
    - Dst: avx2_decrypt_8
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:190,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:199,1
    - Dst: Botan::Serpent::simd_decrypt_4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:201,1
    - Dst: data
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:209,1
    - Dst: load_le
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:213,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:215,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:216,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:217,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:218,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:219,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:220,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:221,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:222,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:223,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:224,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:225,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:226,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:227,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:228,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:229,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:230,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:231,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:232,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:233,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:234,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:235,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:236,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:237,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:238,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:239,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:240,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:241,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:242,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:243,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:244,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:245,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:246,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:247,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:248,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:249,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:250,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:251,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:252,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:253,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:254,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:255,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:256,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:257,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:258,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:259,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:260,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:261,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:262,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:263,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:264,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:265,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:266,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:267,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:268,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:269,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:270,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:271,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:272,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:273,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:274,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:275,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:276,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:277,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:278,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:279,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:280,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:281,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:282,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:283,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:284,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:285,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:286,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:287,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:288,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:289,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:290,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:291,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:292,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:293,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:294,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:295,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:296,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:297,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:298,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:299,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:300,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:301,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:302,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:303,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:304,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:305,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:306,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:307,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:308,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:309,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:310,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:312,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 126
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 314
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 314
    functionName: Botan::Serpent::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent.cpp
    functionUses: 0
    functionsReached:
    - SBoxD2
    - SBoxD1
    - SBoxD6
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - SBoxD4
    - avx512_decrypt_16
    - data
    - key_xor
    - assert_key_material_set
    - Botan::Serpent::simd_decrypt_4
    - SBoxD7
    - i_transform
    - SBoxD5
    - SBoxD3
    - SBoxD0
    - store_le
    - load_le
    - avx2_decrypt_8
    linkageType: ''
    returnType: void
    signature: void Serpent::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: Botan::Serpent::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Serpent::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:329,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:330,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:330,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:333,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:333,1
    - Dst: rotl<11>
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:337,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:340,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:341,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:342,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:343,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:345,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:346,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:347,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:348,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:350,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:351,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:352,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:353,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:355,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:356,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:357,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:358,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:359,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:361,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:362,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:363,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:364,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:366,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:367,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:368,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:369,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:371,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:372,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:373,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:374,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:376,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:377,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:378,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:379,1
    - Dst: assign
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:381,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:381,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 382
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 382
    functionName: Botan::Serpent::key_schedule
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent.cpp
    functionUses: 0
    functionsReached:
    - SBoxE4
    - SBoxE2
    - secure_vector::begin
    - assign
    - std::span<const uint8_t>::data
    - SBoxE7
    - load_le<uint32_t>
    - secure_vector::end
    - SBoxE5
    - SBoxE0
    - SBoxE3
    - std::span<const uint8_t>::size
    - SBoxE1
    - rotl<11>
    - SBoxE6
    linkageType: ''
    returnType: void
    signature: void Serpent::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: Botan::Serpent::clear
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Serpent::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:390,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:396,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/serpent/serpent.cpp:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 408
    functionName: Botan::Serpent::provider
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string Serpent::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: Botan::Serpent_F::shl
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_fn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE shl(uint32_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotl<13>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:26,1
    - Dst: rotl<3>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:27,1
    - Dst: Botan::Serpent_F::shl
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:29,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:30,1
    - Dst: rotl<7>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:31,1
    - Dst: Botan::Serpent_F::shl
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:33,1
    - Dst: rotl<5>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:34,1
    - Dst: rotl<22>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: Botan::Serpent_F::transform
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_fn.h
    functionUses: 0
    functionsReached:
    - rotl<5>
    - rotl<13>
    - rotl<22>
    - rotl<1>
    - rotl<3>
    - Botan::Serpent_F::shl
    - rotl<7>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE transform(T& B0, T& B1, T& B2, T& B3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotr<22>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:43,1
    - Dst: rotr<5>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:44,1
    - Dst: Botan::Serpent_F::shl
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:45,1
    - Dst: rotr<7>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:47,1
    - Dst: rotr<1>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:48,1
    - Dst: Botan::Serpent_F::shl
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:49,1
    - Dst: rotr<3>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:51,1
    - Dst: rotr<13>
      Src: /src/botan/src/lib/block/serpent/serpent_fn.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: Botan::Serpent_F::i_transform
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_fn.h
    functionUses: 0
    functionsReached:
    - rotr<13>
    - rotr<7>
    - rotr<22>
    - rotr<5>
    - rotr<1>
    - Botan::Serpent_F::shl
    - rotr<3>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE i_transform(T& B0, T& B1, T& B2, T& B3)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - RK
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Botan::Serpent_F::Key_Inserter::Key_Inserter
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_fn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Inserter(const uint32_t* RK)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - R
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - size_t
    - T
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: operator()(size_t R, T& B0, T& B1, T& B2, T& B3) const
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_fn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(size_t R, T& B0, T& B1, T& B2, T& B3) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0xb9>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:17,1
    - Dst: SIMD_16x32::ternary_fn<0xe2>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:18,1
    - Dst: SIMD_16x32::ternary_fn<0x36>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:19,1
    - Dst: SIMD_16x32::ternary_fn<0x26>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:20,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:21,1
    - Dst: SIMD_16x32::ternary_fn<0x96>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:22,1
    - Dst: SIMD_16x32::ternary_fn<0xa9>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:23,1
    - Dst: SIMD_16x32::ternary_fn<0x3c>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Botan::SBoxE0
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0x26>
    - SIMD_16x32::ternary_fn<0xa9>
    - SIMD_16x32::ternary_fn<0xb9>
    - SIMD_16x32::ternary_fn<0x36>
    - SIMD_16x32::ternary_fn<0xe2>
    - SIMD_16x32::ternary_fn<0x3c>
    - SIMD_16x32::ternary_fn<0x96>
    - SIMD_16x32::ternary_fn<0xac>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE0(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0xe5>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:32,1
    - Dst: SIMD_16x32::ternary_fn<0x26>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:33,1
    - Dst: SIMD_16x32::ternary_fn<0xa6>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:34,1
    - Dst: SIMD_16x32::ternary_fn<0x2b>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:35,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:36,1
    - Dst: SIMD_16x32::ternary_fn<0x83>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:37,1
    - Dst: SIMD_16x32::ternary_fn<0x69>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:38,1
    - Dst: SIMD_16x32::ternary_fn<0x65>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: Botan::SBoxE1
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0xe5>
    - SIMD_16x32::ternary_fn<0x26>
    - SIMD_16x32::ternary_fn<0xa6>
    - SIMD_16x32::ternary_fn<0x83>
    - SIMD_16x32::ternary_fn<0x65>
    - SIMD_16x32::ternary_fn<0x69>
    - SIMD_16x32::ternary_fn<0x2b>
    - SIMD_16x32::ternary_fn<0xac>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE1(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0x96>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:47,1
    - Dst: SIMD_16x32::ternary_fn<0xda>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:48,1
    - Dst: SIMD_16x32::ternary_fn<0x66>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:49,1
    - Dst: SIMD_16x32::ternary_fn<0x94>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:50,1
    - Dst: SIMD_16x32::ternary_fn<0xa1>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:51,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:52,1
    - Dst: SIMD_16x32::ternary_fn<0xd2>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:53,1
    - Dst: SIMD_16x32::ternary_fn<0x2d>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:54,1
    - Dst: SIMD_16x32::ternary_fn<0x2d>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: Botan::SBoxE2
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0x66>
    - SIMD_16x32::ternary_fn<0xd2>
    - SIMD_16x32::ternary_fn<0x94>
    - SIMD_16x32::ternary_fn<0x2d>
    - SIMD_16x32::ternary_fn<0xda>
    - SIMD_16x32::ternary_fn<0xa1>
    - SIMD_16x32::ternary_fn<0x96>
    - SIMD_16x32::ternary_fn<0xac>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE2(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0x92>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:63,1
    - Dst: SIMD_16x32::ternary_fn<0x3b>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:64,1
    - Dst: SIMD_16x32::ternary_fn<0xbc>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:65,1
    - Dst: SIMD_16x32::ternary_fn<0x68>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:66,1
    - Dst: SIMD_16x32::ternary_fn<0x6e>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:67,1
    - Dst: SIMD_16x32::ternary_fn<0xb9>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:68,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:69,1
    - Dst: SIMD_16x32::ternary_fn<0x6d>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:70,1
    - Dst: SIMD_16x32::ternary_fn<0x38>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: Botan::SBoxE3
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0x92>
    - SIMD_16x32::ternary_fn<0x6d>
    - SIMD_16x32::ternary_fn<0x3b>
    - SIMD_16x32::ternary_fn<0x6e>
    - SIMD_16x32::ternary_fn<0xb9>
    - SIMD_16x32::ternary_fn<0x38>
    - SIMD_16x32::ternary_fn<0x68>
    - SIMD_16x32::ternary_fn<0xbc>
    - SIMD_16x32::ternary_fn<0xac>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE3(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0xc2>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:79,1
    - Dst: SIMD_16x32::ternary_fn<0x79>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:80,1
    - Dst: SIMD_16x32::ternary_fn<0x71>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:81,1
    - Dst: SIMD_16x32::ternary_fn<0x6b>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:82,1
    - Dst: SIMD_16x32::ternary_fn<0xc2>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:83,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:84,1
    - Dst: SIMD_16x32::ternary_fn<0x3c>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:85,1
    - Dst: SIMD_16x32::ternary_fn<0x49>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:86,1
    - Dst: SIMD_16x32::ternary_fn<0xd6>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: Botan::SBoxE4
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0x79>
    - SIMD_16x32::ternary_fn<0x6b>
    - SIMD_16x32::ternary_fn<0xc2>
    - SIMD_16x32::ternary_fn<0x71>
    - SIMD_16x32::ternary_fn<0xd6>
    - SIMD_16x32::ternary_fn<0x49>
    - SIMD_16x32::ternary_fn<0x3c>
    - SIMD_16x32::ternary_fn<0xac>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE4(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0xa9>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:95,1
    - Dst: SIMD_16x32::ternary_fn<0x93>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:96,1
    - Dst: SIMD_16x32::ternary_fn<0xc3>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:97,1
    - Dst: SIMD_16x32::ternary_fn<0x27>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:98,1
    - Dst: SIMD_16x32::ternary_fn<0x85>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:99,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:100,1
    - Dst: SIMD_16x32::ternary_fn<0x2d>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:101,1
    - Dst: SIMD_16x32::ternary_fn<0x7a>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:102,1
    - Dst: SIMD_16x32::ternary_fn<0x87>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: Botan::SBoxE5
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0x85>
    - SIMD_16x32::ternary_fn<0xa9>
    - SIMD_16x32::ternary_fn<0x27>
    - SIMD_16x32::ternary_fn<0x2d>
    - SIMD_16x32::ternary_fn<0x87>
    - SIMD_16x32::ternary_fn<0xc3>
    - SIMD_16x32::ternary_fn<0x93>
    - SIMD_16x32::ternary_fn<0x7a>
    - SIMD_16x32::ternary_fn<0xac>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE5(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0x61>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:111,1
    - Dst: SIMD_16x32::ternary_fn<0x9c>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:112,1
    - Dst: SIMD_16x32::ternary_fn<0x93>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:113,1
    - Dst: SIMD_16x32::ternary_fn<0xb5>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:114,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:115,1
    - Dst: SIMD_16x32::ternary_fn<0x3c>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:116,1
    - Dst: SIMD_16x32::ternary_fn<0x7c>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:117,1
    - Dst: SIMD_16x32::ternary_fn<0x1e>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:118,1
    - Dst: SIMD_16x32::ternary_fn<0x29>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: Botan::SBoxE6
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0x1e>
    - SIMD_16x32::ternary_fn<0x9c>
    - SIMD_16x32::ternary_fn<0x7c>
    - SIMD_16x32::ternary_fn<0x61>
    - SIMD_16x32::ternary_fn<0x93>
    - SIMD_16x32::ternary_fn<0x3c>
    - SIMD_16x32::ternary_fn<0x29>
    - SIMD_16x32::ternary_fn<0xb5>
    - SIMD_16x32::ternary_fn<0xac>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE6(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0x9b>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:127,1
    - Dst: SIMD_16x32::ternary_fn<0x61>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:128,1
    - Dst: SIMD_16x32::ternary_fn<0xe3>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:129,1
    - Dst: SIMD_16x32::ternary_fn<0x83>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:130,1
    - Dst: SIMD_16x32::ternary_fn<0x49>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:131,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:132,1
    - Dst: SIMD_16x32::ternary_fn<0xe1>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:133,1
    - Dst: SIMD_16x32::ternary_fn<0xd1>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:134,1
    - Dst: SIMD_16x32::ternary_fn<0x87>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: Botan::SBoxE7
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0xe3>
    - SIMD_16x32::ternary_fn<0x83>
    - SIMD_16x32::ternary_fn<0xd1>
    - SIMD_16x32::ternary_fn<0x61>
    - SIMD_16x32::ternary_fn<0x87>
    - SIMD_16x32::ternary_fn<0x49>
    - SIMD_16x32::ternary_fn<0x9b>
    - SIMD_16x32::ternary_fn<0xe1>
    - SIMD_16x32::ternary_fn<0xac>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxE7(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0x67>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:143,1
    - Dst: SIMD_16x32::ternary_fn<0x49>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:144,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:145,1
    - Dst: SIMD_16x32::ternary_fn<0xa9>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:146,1
    - Dst: SIMD_16x32::ternary_fn<0x3c>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:147,1
    - Dst: SIMD_16x32::ternary_fn<0x4d>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:148,1
    - Dst: SIMD_16x32::ternary_fn<0x69>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:149,1
    - Dst: SIMD_16x32::ternary_fn<0x56>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: Botan::SBoxD0
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0xa9>
    - SIMD_16x32::ternary_fn<0x56>
    - SIMD_16x32::ternary_fn<0x49>
    - SIMD_16x32::ternary_fn<0x69>
    - SIMD_16x32::ternary_fn<0x3c>
    - SIMD_16x32::ternary_fn<0x67>
    - SIMD_16x32::ternary_fn<0x4d>
    - SIMD_16x32::ternary_fn<0xac>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD0(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0x73>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:158,1
    - Dst: SIMD_16x32::ternary_fn<0x68>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:159,1
    - Dst: SIMD_16x32::ternary_fn<0xc5>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:160,1
    - Dst: SIMD_16x32::ternary_fn<0x2d>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:161,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:162,1
    - Dst: SIMD_16x32::ternary_fn<0x96>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:163,1
    - Dst: SIMD_16x32::ternary_fn<0xd2>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:164,1
    - Dst: SIMD_16x32::ternary_fn<0x99>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: Botan::SBoxD1
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0xd2>
    - SIMD_16x32::ternary_fn<0xc5>
    - SIMD_16x32::ternary_fn<0x68>
    - SIMD_16x32::ternary_fn<0x2d>
    - SIMD_16x32::ternary_fn<0x73>
    - SIMD_16x32::ternary_fn<0x99>
    - SIMD_16x32::ternary_fn<0x96>
    - SIMD_16x32::ternary_fn<0xac>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD1(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0xc6>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:173,1
    - Dst: SIMD_16x32::ternary_fn<0x9c>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:174,1
    - Dst: SIMD_16x32::ternary_fn<0xe1>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:175,1
    - Dst: SIMD_16x32::ternary_fn<0x87>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:176,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:177,1
    - Dst: SIMD_16x32::ternary_fn<0xd1>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:178,1
    - Dst: SIMD_16x32::ternary_fn<0x9b>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:179,1
    - Dst: SIMD_16x32::ternary_fn<0x5b>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 185
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 185
    functionName: Botan::SBoxD2
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0x9c>
    - SIMD_16x32::ternary_fn<0xd1>
    - SIMD_16x32::ternary_fn<0x87>
    - SIMD_16x32::ternary_fn<0xc6>
    - SIMD_16x32::ternary_fn<0x5b>
    - SIMD_16x32::ternary_fn<0x9b>
    - SIMD_16x32::ternary_fn<0xe1>
    - SIMD_16x32::ternary_fn<0xac>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD2(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0x94>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:188,1
    - Dst: SIMD_16x32::ternary_fn<0x99>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:189,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:190,1
    - Dst: SIMD_16x32::ternary_fn<0x97>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:191,1
    - Dst: SIMD_16x32::ternary_fn<0x4b>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:192,1
    - Dst: SIMD_16x32::ternary_fn<0x94>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:193,1
    - Dst: SIMD_16x32::ternary_fn<0x0e>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:194,1
    - Dst: SIMD_16x32::ternary_fn<0x1c>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:195,1
    - Dst: SIMD_16x32::ternary_fn<0xb4>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 201
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 201
    functionName: Botan::SBoxD3
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0x94>
    - SIMD_16x32::ternary_fn<0xb4>
    - SIMD_16x32::ternary_fn<0x4b>
    - SIMD_16x32::ternary_fn<0x0e>
    - SIMD_16x32::ternary_fn<0x99>
    - SIMD_16x32::ternary_fn<0x97>
    - SIMD_16x32::ternary_fn<0x1c>
    - SIMD_16x32::ternary_fn<0xac>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD3(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0xa9>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:204,1
    - Dst: SIMD_16x32::ternary_fn<0xa6>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:205,1
    - Dst: SIMD_16x32::ternary_fn<0xb5>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:206,1
    - Dst: SIMD_16x32::ternary_fn<0x5e>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:207,1
    - Dst: SIMD_16x32::ternary_fn<0x50>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:208,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:209,1
    - Dst: SIMD_16x32::ternary_fn<0x96>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:210,1
    - Dst: SIMD_16x32::ternary_fn<0x4b>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:211,1
    - Dst: SIMD_16x32::ternary_fn<0x5a>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 217
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 217
    functionName: Botan::SBoxD4
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0xa6>
    - SIMD_16x32::ternary_fn<0xa9>
    - SIMD_16x32::ternary_fn<0x4b>
    - SIMD_16x32::ternary_fn<0x5e>
    - SIMD_16x32::ternary_fn<0x50>
    - SIMD_16x32::ternary_fn<0x5a>
    - SIMD_16x32::ternary_fn<0xb5>
    - SIMD_16x32::ternary_fn<0x96>
    - SIMD_16x32::ternary_fn<0xac>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD4(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0xc9>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:220,1
    - Dst: SIMD_16x32::ternary_fn<0x65>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:221,1
    - Dst: SIMD_16x32::ternary_fn<0x25>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:222,1
    - Dst: SIMD_16x32::ternary_fn<0x63>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:223,1
    - Dst: SIMD_16x32::ternary_fn<0x86>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:224,1
    - Dst: SIMD_16x32::ternary_fn<0x87>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:225,1
    - Dst: SIMD_16x32::ternary_fn<0xc3>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:226,1
    - Dst: SIMD_16x32::ternary_fn<0x47>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:227,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 233
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 233
    functionName: Botan::SBoxD5
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0x63>
    - SIMD_16x32::ternary_fn<0xac>
    - SIMD_16x32::ternary_fn<0x47>
    - SIMD_16x32::ternary_fn<0xc9>
    - SIMD_16x32::ternary_fn<0x65>
    - SIMD_16x32::ternary_fn<0x87>
    - SIMD_16x32::ternary_fn<0xc3>
    - SIMD_16x32::ternary_fn<0x25>
    - SIMD_16x32::ternary_fn<0x86>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD5(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0x07>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:236,1
    - Dst: SIMD_16x32::ternary_fn<0x9e>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:237,1
    - Dst: SIMD_16x32::ternary_fn<0xc6>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:238,1
    - Dst: SIMD_16x32::ternary_fn<0x34>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:239,1
    - Dst: SIMD_16x32::ternary_fn<0x2b>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:240,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:241,1
    - Dst: SIMD_16x32::ternary_fn<0xcb>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:242,1
    - Dst: SIMD_16x32::ternary_fn<0x4b>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:243,1
    - Dst: SIMD_16x32::ternary_fn<0x69>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 249
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 249
    functionName: Botan::SBoxD6
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0xcb>
    - SIMD_16x32::ternary_fn<0x9e>
    - SIMD_16x32::ternary_fn<0x4b>
    - SIMD_16x32::ternary_fn<0x07>
    - SIMD_16x32::ternary_fn<0xc6>
    - SIMD_16x32::ternary_fn<0x69>
    - SIMD_16x32::ternary_fn<0x2b>
    - SIMD_16x32::ternary_fn<0x34>
    - SIMD_16x32::ternary_fn<0xac>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD6(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0x67>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:252,1
    - Dst: SIMD_16x32::ternary_fn<0x3e>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:253,1
    - Dst: SIMD_16x32::ternary_fn<0x1c>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:254,1
    - Dst: SIMD_16x32::ternary_fn<0x87>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:255,1
    - Dst: SIMD_16x32::ternary_fn<0x7d>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:256,1
    - Dst: SIMD_16x32::ternary_fn<0xac>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:257,1
    - Dst: SIMD_16x32::ternary_fn<0x96>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:258,1
    - Dst: SIMD_16x32::ternary_fn<0xd2>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:259,1
    - Dst: SIMD_16x32::ternary_fn<0x6d>
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 265
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 265
    functionName: Botan::SBoxD7
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0x6d>
    - SIMD_16x32::ternary_fn<0x96>
    - SIMD_16x32::ternary_fn<0xd2>
    - SIMD_16x32::ternary_fn<0x67>
    - SIMD_16x32::ternary_fn<0x87>
    - SIMD_16x32::ternary_fn<0x1c>
    - SIMD_16x32::ternary_fn<0x3e>
    - SIMD_16x32::ternary_fn<0x7d>
    - SIMD_16x32::ternary_fn<0xac>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE SBoxD7(SIMD_16x32& a, SIMD_16x32& b, SIMD_16x32&
      c, SIMD_16x32& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:272,1
    - Dst: Botan::SIMD_16x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:273,1
    - Dst: Botan::SIMD_16x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:274,1
    - Dst: Botan::SIMD_16x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:275,1
    - Dst: Botan::SIMD_16x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:277,1
    - Dst: data
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:279,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:281,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:282,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:283,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:284,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:285,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:286,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:287,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:288,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:289,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:290,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:291,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:292,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:293,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:294,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:295,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:296,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:297,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:298,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:299,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:300,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:301,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:302,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:303,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:304,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:306,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:307,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:308,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:309,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:310,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:311,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:312,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:313,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:314,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:315,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:316,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:317,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:318,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:319,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:320,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:321,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:322,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:323,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:324,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:325,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:326,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:327,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:328,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:329,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:331,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:332,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:333,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:334,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:335,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:336,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:337,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:338,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:339,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:340,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:341,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:342,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:343,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:344,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:345,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:346,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:347,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:348,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:349,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:350,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:351,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:352,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:353,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:354,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:356,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:357,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:358,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:359,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:360,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:361,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:362,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:363,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:364,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:365,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:366,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:367,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:368,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:369,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:370,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:371,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:372,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:373,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:374,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:375,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:376,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:377,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:378,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:379,1
    - Dst: Botan::SIMD_16x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:381,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:382,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:383,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:384,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:385,1
    - Dst: Botan::SIMD_16x32::zero_registers
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 104
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 388
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 388
    functionName: Botan::BOTAN_FN_ISA_AVX512::avx512_encrypt_16
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SBoxE4
    - SBoxE2
    - SIMD_16x32::store_le
    - Botan::SIMD_16x32::zero_registers
    - SBoxE7
    - data
    - key_xor
    - Botan::SIMD_16x32::load_le
    - SBoxE0
    - transform
    - SBoxE5
    - SBoxE3
    - SBoxE1
    - SBoxE6
    - Botan::SIMD_16x32::transpose
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX512 Serpent::avx512_encrypt_16(const uint8_t in[16
      * 16], uint8_t out[16 * 16]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:393,1
    - Dst: Botan::SIMD_16x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:394,1
    - Dst: Botan::SIMD_16x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:395,1
    - Dst: Botan::SIMD_16x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:396,1
    - Dst: Botan::SIMD_16x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:398,1
    - Dst: data
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:400,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:402,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:403,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:404,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:405,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:406,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:407,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:408,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:409,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:410,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:411,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:412,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:413,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:414,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:415,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:416,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:417,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:418,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:419,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:420,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:421,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:422,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:423,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:424,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:425,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:427,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:428,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:429,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:430,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:431,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:432,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:433,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:434,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:435,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:436,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:437,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:438,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:439,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:440,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:441,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:442,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:443,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:444,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:445,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:446,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:447,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:448,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:449,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:450,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:452,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:453,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:454,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:455,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:456,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:457,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:458,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:459,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:460,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:461,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:462,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:463,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:464,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:465,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:466,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:467,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:468,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:469,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:470,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:471,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:472,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:473,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:474,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:475,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:477,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:478,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:479,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:480,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:481,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:482,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:483,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:484,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:485,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:486,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:487,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:488,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:489,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:490,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:491,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:492,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:493,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:494,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:495,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:496,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:497,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:498,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:499,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:500,1
    - Dst: Botan::SIMD_16x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:502,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:504,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:505,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:506,1
    - Dst: SIMD_16x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:507,1
    - Dst: Botan::SIMD_16x32::zero_registers
      Src: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 104
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 510
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 510
    functionName: Botan::BOTAN_FN_ISA_AVX512::avx512_decrypt_16
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx512/serpent_avx512.cpp
    functionUses: 0
    functionsReached:
    - SIMD_16x32::store_le
    - SBoxD2
    - SBoxD1
    - Botan::SIMD_16x32::zero_registers
    - SBoxD6
    - SBoxD4
    - data
    - i_transform
    - key_xor
    - Botan::SIMD_16x32::load_le
    - SBoxD7
    - SBoxD5
    - SBoxD3
    - SBoxD0
    - Botan::SIMD_16x32::transpose
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX512 Serpent::avx512_decrypt_16(const uint8_t in[16
      * 16], uint8_t out[16 * 16]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::reset_registers
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:54,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:56,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:57,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:58,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:59,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:61,1
    - Dst: data
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:63,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:65,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:66,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:67,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:68,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:69,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:70,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:71,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:72,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:73,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:74,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:75,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:76,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:77,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:78,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:79,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:80,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:81,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:82,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:83,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:84,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:85,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:86,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:87,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:88,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:90,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:91,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:92,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:93,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:94,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:95,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:96,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:97,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:98,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:99,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:100,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:101,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:102,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:103,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:104,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:105,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:106,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:107,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:108,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:109,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:110,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:111,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:112,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:113,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:115,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:116,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:117,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:118,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:119,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:120,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:121,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:122,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:123,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:124,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:125,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:126,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:127,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:128,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:129,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:130,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:131,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:132,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:133,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:134,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:135,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:136,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:137,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:138,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:140,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:141,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:142,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:143,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:144,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:145,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:146,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:147,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:148,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:149,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:150,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:151,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:152,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:153,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:154,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:155,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:156,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:157,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:158,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:159,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:160,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:161,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:162,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:163,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:165,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:166,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:167,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:168,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:169,1
    - Dst: Botan::SIMD_8x32::zero_registers
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 105
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 172
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 172
    functionName: Botan::BOTAN_FN_ISA_AVX2::avx2_encrypt_8
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp
    functionUses: 0
    functionsReached:
    - SBoxE4
    - SBoxE2
    - Botan::SIMD_8x32::zero_registers
    - SBoxE7
    - data
    - key_xor
    - SBoxE5
    - SBoxE0
    - transform
    - SBoxE6
    - SBoxE3
    - Botan::SIMD_8x32::transpose
    - SIMD_8x32::store_le
    - SBoxE1
    - Botan::SIMD_8x32::reset_registers
    - Botan::SIMD_8x32::load_le
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX2 Serpent::avx2_encrypt_8(const uint8_t in[128],
      uint8_t out[128]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::reset_registers
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:177,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:179,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:180,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:181,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:182,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:184,1
    - Dst: data
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:186,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:188,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:189,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:190,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:191,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:192,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:193,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:194,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:195,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:196,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:197,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:198,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:199,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:200,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:201,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:202,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:203,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:204,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:205,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:206,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:207,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:208,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:209,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:210,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:211,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:213,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:214,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:215,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:216,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:217,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:218,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:219,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:220,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:221,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:222,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:223,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:224,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:225,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:226,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:227,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:228,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:229,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:230,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:231,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:232,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:233,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:234,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:235,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:236,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:238,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:239,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:240,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:241,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:242,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:243,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:244,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:245,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:246,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:247,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:248,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:249,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:250,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:251,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:252,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:253,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:254,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:255,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:256,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:257,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:258,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:259,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:260,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:261,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:263,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:264,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:265,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:266,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:267,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:268,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:269,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:270,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:271,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:272,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:273,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:274,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:275,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:276,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:277,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:278,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:279,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:280,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:281,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:282,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:283,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:284,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:285,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:286,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:288,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:290,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:291,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:292,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:293,1
    - Dst: Botan::SIMD_8x32::zero_registers
      Src: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 105
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 296
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 296
    functionName: Botan::BOTAN_FN_ISA_AVX2::avx2_decrypt_8
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp
    functionUses: 0
    functionsReached:
    - SBoxD2
    - Botan::SIMD_8x32::zero_registers
    - SBoxD1
    - SBoxD6
    - SBoxD4
    - data
    - i_transform
    - key_xor
    - SBoxD5
    - SBoxD7
    - SBoxD3
    - SBoxD0
    - Botan::SIMD_8x32::transpose
    - SIMD_8x32::store_le
    - Botan::SIMD_8x32::reset_registers
    - Botan::SIMD_8x32::load_le
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX2 Serpent::avx2_decrypt_8(const uint8_t in[128],
      uint8_t out[128]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:21,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:22,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:23,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:24,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:26,1
    - Dst: data
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:28,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:30,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:31,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:32,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:33,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:34,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:35,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:36,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:37,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:38,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:39,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:40,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:41,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:42,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:43,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:44,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:45,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:46,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:47,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:48,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:49,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:50,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:51,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:52,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:53,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:55,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:56,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:57,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:58,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:59,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:60,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:61,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:62,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:63,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:64,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:65,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:66,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:67,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:68,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:69,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:70,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:71,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:72,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:73,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:74,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:75,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:76,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:77,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:78,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:80,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:81,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:82,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:83,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:84,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:85,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:86,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:87,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:88,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:89,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:90,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:91,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:92,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:93,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:94,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:95,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:96,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:97,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:98,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:99,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:100,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:101,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:102,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:103,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:105,1
    - Dst: SBoxE0
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:106,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:107,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:108,1
    - Dst: SBoxE1
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:109,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:110,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:111,1
    - Dst: SBoxE2
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:112,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:113,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:114,1
    - Dst: SBoxE3
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:115,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:116,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:117,1
    - Dst: SBoxE4
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:118,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:119,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:120,1
    - Dst: SBoxE5
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:121,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:122,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:123,1
    - Dst: SBoxE6
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:124,1
    - Dst: transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:125,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:126,1
    - Dst: SBoxE7
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:127,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:128,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:130,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:132,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:133,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:134,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 103
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 136
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 136
    functionName: Botan::Serpent::simd_encrypt_4
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp
    functionUses: 1
    functionsReached:
    - SBoxE4
    - SBoxE2
    - SBoxE7
    - data
    - key_xor
    - SBoxE5
    - SBoxE0
    - transform
    - SBoxE3
    - SIMD_4x32::store_le
    - SBoxE6
    - SBoxE1
    - Botan::SIMD_4x32::transpose
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: void
    signature: void Serpent::simd_encrypt_4(const uint8_t in[64], uint8_t out[64])
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:144,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:145,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:146,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:147,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:149,1
    - Dst: data
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:151,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:153,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:154,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:155,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:156,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:157,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:158,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:159,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:160,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:161,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:162,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:163,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:164,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:165,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:166,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:167,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:168,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:169,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:170,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:171,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:172,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:173,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:174,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:175,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:176,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:178,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:179,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:180,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:181,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:182,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:183,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:184,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:185,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:186,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:187,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:188,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:189,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:190,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:191,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:192,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:193,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:194,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:195,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:196,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:197,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:198,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:199,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:200,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:201,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:203,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:204,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:205,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:206,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:207,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:208,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:209,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:210,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:211,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:212,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:213,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:214,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:215,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:216,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:217,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:218,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:219,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:220,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:221,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:222,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:223,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:224,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:225,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:226,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:228,1
    - Dst: SBoxD7
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:229,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:230,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:231,1
    - Dst: SBoxD6
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:232,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:233,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:234,1
    - Dst: SBoxD5
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:235,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:236,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:237,1
    - Dst: SBoxD4
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:238,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:239,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:240,1
    - Dst: SBoxD3
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:241,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:242,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:243,1
    - Dst: SBoxD2
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:244,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:245,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:246,1
    - Dst: SBoxD1
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:247,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:248,1
    - Dst: i_transform
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:249,1
    - Dst: SBoxD0
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:250,1
    - Dst: key_xor
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:251,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:253,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:255,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:256,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:257,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 103
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 259
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 259
    functionName: Botan::Serpent::simd_decrypt_4
    functionSourceFile: /src/botan/src/lib/block/serpent/serpent_simd/serpent_simd.cpp
    functionUses: 1
    functionsReached:
    - SBoxD2
    - SBoxD1
    - SBoxD6
    - SBoxD4
    - data
    - i_transform
    - key_xor
    - SBoxD5
    - SBoxD7
    - SBoxD3
    - SBoxD0
    - SIMD_4x32::store_le
    - Botan::SIMD_4x32::transpose
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: void
    signature: void Serpent::simd_decrypt_4(const uint8_t in[64], uint8_t out[64])
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - V
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 224
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 224
    functionName: Botan::AES_SBOX
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AES_SBOX(uint32_t V[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - V
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 371
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 371
    functionName: Botan::AES_INV_SBOX
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AES_INV_SBOX(uint32_t V[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:374,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:375,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:376,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:377,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:379,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:380,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:381,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:382,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:384,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:385,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:386,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 388
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 388
    functionName: Botan::bit_transpose
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::swap_bits
    linkageType: ''
    returnType: void
    signature: void bit_transpose(uint32_t B[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:399,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:400,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:402,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:403,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:410,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:411,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:412,1
    - Dst: Botan::swap_bits
      Src: /src/botan/src/lib/block/aes/aes.cpp:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - B
    - K
    - r
    argTypes:
    - uint32_t[]
    - uint32_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 414
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 414
    functionName: Botan::ks_expand
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::swap_bits
    linkageType: ''
    returnType: void
    signature: void ks_expand(uint32_t B[8], const uint32_t K[], size_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bit_permute_step
      Src: /src/botan/src/lib/block/aes/aes.cpp:421,1
    - Dst: Botan::bit_permute_step
      Src: /src/botan/src/lib/block/aes/aes.cpp:422,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/block/aes/aes.cpp:423,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/block/aes/aes.cpp:424,1
    - Dst: Botan::bit_permute_step
      Src: /src/botan/src/lib/block/aes/aes.cpp:429,1
    - Dst: Botan::bit_permute_step
      Src: /src/botan/src/lib/block/aes/aes.cpp:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 434
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 434
    functionName: Botan::shift_rows
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::bit_permute_step
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void shift_rows(uint32_t B[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bit_permute_step
      Src: /src/botan/src/lib/block/aes/aes.cpp:442,1
    - Dst: Botan::bit_permute_step
      Src: /src/botan/src/lib/block/aes/aes.cpp:443,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/block/aes/aes.cpp:444,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/block/aes/aes.cpp:445,1
    - Dst: Botan::bit_permute_step
      Src: /src/botan/src/lib/block/aes/aes.cpp:450,1
    - Dst: Botan::bit_permute_step
      Src: /src/botan/src/lib/block/aes/aes.cpp:451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 455
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 455
    functionName: Botan::inv_shift_rows
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::bit_permute_step
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void inv_shift_rows(uint32_t B[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/aes/aes.cpp:472,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/aes/aes.cpp:472,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/aes/aes.cpp:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 474
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 474
    functionName: Botan::mix_columns
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    linkageType: ''
    returnType: void
    signature: void mix_columns(uint32_t B[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/aes/aes.cpp:503,1
    - Dst: Botan::mix_columns
      Src: /src/botan/src/lib/block/aes/aes.cpp:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 507
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 507
    functionName: Botan::inv_mix_columns
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    - Botan::mix_columns
    linkageType: ''
    returnType: void
    signature: void inv_mix_columns(uint32_t B[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/block/aes/aes.cpp:513,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:513,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:513,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:513,1
    - Dst: Botan::ks_expand
      Src: /src/botan/src/lib/block/aes/aes.cpp:519,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes.cpp:519,1
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/block/aes/aes.cpp:530,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/aes/aes.cpp:532,1
    - Dst: Botan::bit_transpose
      Src: /src/botan/src/lib/block/aes/aes.cpp:538,1
    - Dst: Botan::AES_SBOX
      Src: /src/botan/src/lib/block/aes/aes.cpp:541,1
    - Dst: Botan::shift_rows
      Src: /src/botan/src/lib/block/aes/aes.cpp:542,1
    - Dst: Botan::mix_columns
      Src: /src/botan/src/lib/block/aes/aes.cpp:543,1
    - Dst: Botan::AES_SBOX
      Src: /src/botan/src/lib/block/aes/aes.cpp:551,1
    - Dst: Botan::shift_rows
      Src: /src/botan/src/lib/block/aes/aes.cpp:552,1
    - Dst: Botan::bit_transpose
      Src: /src/botan/src/lib/block/aes/aes.cpp:553,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/aes/aes.cpp:559,1
    - Dst: Botan::copy_out_be
      Src: /src/botan/src/lib/block/aes/aes.cpp:561,1
    - Dst: std::span
      Src: /src/botan/src/lib/block/aes/aes.cpp:561,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - in
    - out
    - blocks
    - ' EK'
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 567
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 567
    functionName: Botan::aes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::AES_SBOX
    - Botan::shift_rows
    - std::span
    - Botan::CT::unpoison
    - data
    - Botan::mix_columns
    - Botan::CT::poison
    - Botan::ks_expand
    - BOTAN_ASSERT
    - Botan::size
    - Botan::copy_out_be
    - Botan::bit_transpose
    - Botan::load_be
    linkageType: ''
    returnType: void
    signature: void aes_encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks,
      const secure_vector<uint32_t>& EK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/block/aes/aes.cpp:573,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:573,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:573,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:573,1
    - Dst: Botan::ks_expand
      Src: /src/botan/src/lib/block/aes/aes.cpp:579,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes.cpp:579,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/aes/aes.cpp:590,1
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/block/aes/aes.cpp:592,1
    - Dst: Botan::bit_transpose
      Src: /src/botan/src/lib/block/aes/aes.cpp:598,1
    - Dst: Botan::AES_INV_SBOX
      Src: /src/botan/src/lib/block/aes/aes.cpp:601,1
    - Dst: Botan::inv_shift_rows
      Src: /src/botan/src/lib/block/aes/aes.cpp:602,1
    - Dst: Botan::inv_mix_columns
      Src: /src/botan/src/lib/block/aes/aes.cpp:603,1
    - Dst: Botan::AES_INV_SBOX
      Src: /src/botan/src/lib/block/aes/aes.cpp:611,1
    - Dst: Botan::inv_shift_rows
      Src: /src/botan/src/lib/block/aes/aes.cpp:612,1
    - Dst: Botan::bit_transpose
      Src: /src/botan/src/lib/block/aes/aes.cpp:613,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/aes/aes.cpp:619,1
    - Dst: Botan::copy_out_be
      Src: /src/botan/src/lib/block/aes/aes.cpp:621,1
    - Dst: std::span
      Src: /src/botan/src/lib/block/aes/aes.cpp:621,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - in
    - out
    - blocks
    - ' DK'
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 627
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 627
    functionName: Botan::aes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::AES_INV_SBOX
    - std::span
    - Botan::CT::unpoison
    - data
    - Botan::inv_shift_rows
    - Botan::CT::poison
    - Botan::ks_expand
    - Botan::inv_mix_columns
    - BOTAN_ASSERT
    - Botan::size
    - Botan::copy_out_be
    - Botan::bit_transpose
    - Botan::load_be
    linkageType: ''
    returnType: void
    signature: void aes_decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks,
      const secure_vector<uint32_t>& DK)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 635
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 635
    functionName: Botan::xtime32
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t xtime32(uint32_t s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/aes/aes.cpp:646,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/aes/aes.cpp:646,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/aes/aes.cpp:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s1
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 647
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 647
    functionName: Botan::InvMixColumn
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t InvMixColumn(uint32_t s1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::InvMixColumn
      Src: /src/botan/src/lib/block/aes/aes.cpp:650,1
    - Dst: Botan::InvMixColumn
      Src: /src/botan/src/lib/block/aes/aes.cpp:651,1
    - Dst: Botan::InvMixColumn
      Src: /src/botan/src/lib/block/aes/aes.cpp:652,1
    - Dst: Botan::InvMixColumn
      Src: /src/botan/src/lib/block/aes/aes.cpp:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 654
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 654
    functionName: Botan::InvMixColumn_x4
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::InvMixColumn
    linkageType: ''
    returnType: void
    signature: void InvMixColumn_x4(uint32_t x[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AES_SBOX
      Src: /src/botan/src/lib/block/aes/aes.cpp:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 672
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 672
    functionName: Botan::SE_word
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::AES_SBOX
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SE_word(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/block/aes/aes.cpp:693,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/block/aes/aes.cpp:698,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/aes/aes.cpp:700,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes.cpp:702,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes.cpp:703,1
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/block/aes/aes.cpp:706,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/aes/aes.cpp:710,1
    - Dst: Botan::SE_word
      Src: /src/botan/src/lib/block/aes/aes.cpp:710,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:712,1
    - Dst: Botan::SE_word
      Src: /src/botan/src/lib/block/aes/aes.cpp:716,1
    - Dst: Botan::InvMixColumn_x4
      Src: /src/botan/src/lib/block/aes/aes.cpp:731,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:736,1
    - Dst: Botan::reverse_bytes
      Src: /src/botan/src/lib/block/aes/aes.cpp:737,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:739,1
    - Dst: Botan::reverse_bytes
      Src: /src/botan/src/lib/block/aes/aes.cpp:740,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/aes/aes.cpp:744,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes.cpp:744,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:744,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/aes/aes.cpp:745,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes.cpp:745,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:745,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/aes/aes.cpp:746,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 4
    argNames:
    - key
    - length
    - ' EK'
    - ' DK'
    argTypes:
    - uint8_t[]
    - size_t
    - secure_vector<uint32_t>
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 747
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 747
    functionName: Botan::aes_key_schedule
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::InvMixColumn_x4
    - BOTAN_ASSERT_NOMSG
    - Botan::CT::unpoison
    - Botan::reverse_bytes
    - data
    - Botan::SE_word
    - Botan::CT::poison
    - resize
    - Botan::size
    - Botan::load_be
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: "void aes_key_schedule(const uint8_t key[],\n                      size_t
      length,\n                      secure_vector<uint32_t>& EK,\n                      secure_vector<uint32_t>&
      DK,\n                      bool bswap_keys = false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:751,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:757,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 770
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 770
    functionName: Botan::aes_parallelism
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: size_t
    signature: size_t aes_parallelism()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/aes/aes.cpp:774,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/aes/aes.cpp:780,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/aes/aes.cpp:786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 792
      start: 772
    functionDepth: 2
    functionLinenumber: 772
    functionLinenumberEnd: 792
    functionName: Botan::aes_provider
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string aes_provider()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_provider
      Src: /src/botan/src/lib/block/aes/aes.cpp:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 798
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 798
    functionName: Botan::AES_128::provider
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - aes_provider
    linkageType: ''
    returnType: std::string
    signature: std::string AES_128::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_provider
      Src: /src/botan/src/lib/block/aes/aes.cpp:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 802
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 802
    functionName: Botan::AES_192::provider
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - aes_provider
    linkageType: ''
    returnType: std::string
    signature: std::string AES_192::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_provider
      Src: /src/botan/src/lib/block/aes/aes.cpp:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 806
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 806
    functionName: Botan::AES_256::provider
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - aes_provider
    linkageType: ''
    returnType: std::string
    signature: std::string AES_256::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_parallelism
      Src: /src/botan/src/lib/block/aes/aes.cpp:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 810
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 810
    functionName: Botan::AES_128::parallelism
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - aes_parallelism
    linkageType: ''
    returnType: size_t
    signature: size_t AES_128::parallelism() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_parallelism
      Src: /src/botan/src/lib/block/aes/aes.cpp:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 814
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 814
    functionName: Botan::AES_192::parallelism
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - aes_parallelism
    linkageType: ''
    returnType: size_t
    signature: size_t AES_192::parallelism() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_parallelism
      Src: /src/botan/src/lib/block/aes/aes.cpp:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 818
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 818
    functionName: Botan::AES_256::parallelism
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - aes_parallelism
    linkageType: ''
    returnType: size_t
    signature: size_t AES_256::parallelism() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/aes/aes.cpp:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 822
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 822
    functionName: Botan::AES_128::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool AES_128::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/aes/aes.cpp:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 826
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 826
    functionName: Botan::AES_192::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool AES_192::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/aes/aes.cpp:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 830
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 830
    functionName: Botan::AES_256::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool AES_256::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aes/aes.cpp:833,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:836,1
    - Dst: Botan::AES_128::x86_vaes_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:837,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:842,1
    - Dst: Botan::AES_128::hw_aes_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:843,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:848,1
    - Dst: Botan::AES_128::vperm_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:849,1
    - Dst: aes_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 854
      start: 832
    functionDepth: 2
    functionLinenumber: 832
    functionLinenumberEnd: 854
    functionName: Botan::AES_128::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - aes_encrypt_n
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - assert_key_material_set
    - Botan::AES_128::hw_aes_encrypt_n
    - Botan::AES_128::vperm_encrypt_n
    - Botan::AES_128::x86_vaes_encrypt_n
    linkageType: ''
    returnType: void
    signature: void AES_128::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aes/aes.cpp:857,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:860,1
    - Dst: Botan::AES_128::x86_vaes_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:861,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:866,1
    - Dst: Botan::AES_128::hw_aes_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:867,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:872,1
    - Dst: Botan::AES_128::vperm_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:873,1
    - Dst: aes_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:877,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 878
      start: 856
    functionDepth: 2
    functionLinenumber: 856
    functionLinenumberEnd: 878
    functionName: Botan::AES_128::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::AES_128::vperm_decrypt_n
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::AES_128::hw_aes_decrypt_n
    - assert_key_material_set
    - aes_decrypt_n
    - Botan::AES_128::x86_vaes_decrypt_n
    linkageType: ''
    returnType: void
    signature: void AES_128::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:882,1
    - Dst: Botan::AES_128::aesni_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:883,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:883,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:883,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:888,1
    - Dst: aes_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:889,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:889,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:889,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:894,1
    - Dst: aes_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:896,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:896,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:896,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:901,1
    - Dst: Botan::AES_128::vperm_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:902,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:902,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:902,1
    - Dst: aes_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:906,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:906,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:906,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 907
      start: 880
    functionDepth: 2
    functionLinenumber: 880
    functionLinenumberEnd: 907
    functionName: Botan::AES_128::key_schedule
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::AES_128::aesni_key_schedule
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::AES_128::vperm_key_schedule
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - aes_key_schedule
    linkageType: ''
    returnType: void
    signature: void AES_128::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/aes/aes.cpp:910,1
    - Dst: zap
      Src: /src/botan/src/lib/block/aes/aes.cpp:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 912
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 912
    functionName: Botan::AES_128::clear
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void AES_128::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aes/aes.cpp:915,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:918,1
    - Dst: Botan::AES_192::x86_vaes_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:919,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:924,1
    - Dst: Botan::AES_192::hw_aes_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:925,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:930,1
    - Dst: Botan::AES_192::vperm_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:931,1
    - Dst: aes_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:935,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 936
      start: 914
    functionDepth: 2
    functionLinenumber: 914
    functionLinenumberEnd: 936
    functionName: Botan::AES_192::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::AES_192::x86_vaes_encrypt_n
    - aes_encrypt_n
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - assert_key_material_set
    - Botan::AES_192::vperm_encrypt_n
    - Botan::AES_192::hw_aes_encrypt_n
    linkageType: ''
    returnType: void
    signature: void AES_192::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aes/aes.cpp:939,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:942,1
    - Dst: Botan::AES_192::x86_vaes_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:943,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:948,1
    - Dst: Botan::AES_192::hw_aes_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:949,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:954,1
    - Dst: Botan::AES_192::vperm_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:955,1
    - Dst: aes_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 960
      start: 938
    functionDepth: 2
    functionLinenumber: 938
    functionLinenumberEnd: 960
    functionName: Botan::AES_192::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::AES_192::x86_vaes_decrypt_n
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - assert_key_material_set
    - Botan::AES_192::vperm_decrypt_n
    - aes_decrypt_n
    - Botan::AES_192::hw_aes_decrypt_n
    linkageType: ''
    returnType: void
    signature: void AES_192::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:964,1
    - Dst: Botan::AES_192::aesni_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:965,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:965,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:965,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:970,1
    - Dst: aes_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:971,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:971,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:971,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:976,1
    - Dst: aes_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:978,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:978,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:978,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:983,1
    - Dst: Botan::AES_192::vperm_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:984,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:984,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:984,1
    - Dst: aes_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:988,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:988,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:988,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 989
      start: 962
    functionDepth: 2
    functionLinenumber: 962
    functionLinenumberEnd: 989
    functionName: Botan::AES_192::key_schedule
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::AES_192::aesni_key_schedule
    - std::span<const uint8_t>::size
    - Botan::AES_192::vperm_key_schedule
    - std::span<const uint8_t>::data
    - aes_key_schedule
    linkageType: ''
    returnType: void
    signature: void AES_192::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/aes/aes.cpp:992,1
    - Dst: zap
      Src: /src/botan/src/lib/block/aes/aes.cpp:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 994
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 994
    functionName: Botan::AES_192::clear
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void AES_192::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aes/aes.cpp:997,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:1000,1
    - Dst: Botan::AES_256::x86_vaes_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:1001,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:1006,1
    - Dst: Botan::AES_256::hw_aes_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:1007,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:1012,1
    - Dst: Botan::AES_256::vperm_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:1013,1
    - Dst: aes_encrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:1017,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 1018
      start: 996
    functionDepth: 2
    functionLinenumber: 996
    functionLinenumberEnd: 1018
    functionName: Botan::AES_256::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - aes_encrypt_n
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - assert_key_material_set
    - Botan::AES_256::hw_aes_encrypt_n
    - Botan::AES_256::x86_vaes_encrypt_n
    - Botan::AES_256::vperm_encrypt_n
    linkageType: ''
    returnType: void
    signature: void AES_256::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aes/aes.cpp:1021,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:1024,1
    - Dst: Botan::AES_256::x86_vaes_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:1025,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:1030,1
    - Dst: Botan::AES_256::hw_aes_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:1031,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:1036,1
    - Dst: Botan::AES_256::vperm_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:1037,1
    - Dst: aes_decrypt_n
      Src: /src/botan/src/lib/block/aes/aes.cpp:1041,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 1042
      start: 1020
    functionDepth: 2
    functionLinenumber: 1020
    functionLinenumberEnd: 1042
    functionName: Botan::AES_256::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::AES_256::hw_aes_decrypt_n
    - Botan::AES_256::x86_vaes_decrypt_n
    - Botan::AES_256::vperm_decrypt_n
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - assert_key_material_set
    - aes_decrypt_n
    linkageType: ''
    returnType: void
    signature: void AES_256::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:1046,1
    - Dst: Botan::AES_256::aesni_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:1047,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:1047,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:1047,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:1052,1
    - Dst: aes_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:1053,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:1053,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:1053,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:1058,1
    - Dst: aes_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:1060,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:1060,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:1060,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/aes/aes.cpp:1065,1
    - Dst: Botan::AES_256::vperm_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:1066,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:1066,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:1066,1
    - Dst: aes_key_schedule
      Src: /src/botan/src/lib/block/aes/aes.cpp:1070,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aes/aes.cpp:1070,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aes/aes.cpp:1070,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 1071
      start: 1044
    functionDepth: 2
    functionLinenumber: 1044
    functionLinenumberEnd: 1071
    functionName: Botan::AES_256::key_schedule
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - Botan::AES_256::aesni_key_schedule
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - Botan::AES_256::vperm_key_schedule
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - aes_key_schedule
    linkageType: ''
    returnType: void
    signature: void AES_256::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/aes/aes.cpp:1074,1
    - Dst: zap
      Src: /src/botan/src/lib/block/aes/aes.cpp:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1076
    functionName: Botan::AES_256::clear
    functionSourceFile: /src/botan/src/lib/block/aes/aes.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void AES_256::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::AES_128::name
    functionSourceFile: /src/botan/src/lib/block/aes/aes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AES_128>
      Src: /src/botan/src/lib/block/aes/aes.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::AES_128::new_object
    functionSourceFile: /src/botan/src/lib/block/aes/aes.h
    functionUses: 0
    functionsReached:
    - std::make_unique<AES_128>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: Botan::AES_192::name
    functionSourceFile: /src/botan/src/lib/block/aes/aes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AES_192>
      Src: /src/botan/src/lib/block/aes/aes.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan::AES_192::new_object
    functionSourceFile: /src/botan/src/lib/block/aes/aes.h
    functionUses: 0
    functionsReached:
    - std::make_unique<AES_192>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: Botan::AES_256::name
    functionSourceFile: /src/botan/src/lib/block/aes/aes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AES_256>
      Src: /src/botan/src/lib/block/aes/aes.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: Botan::AES_256::new_object
    functionSourceFile: /src/botan/src/lib/block/aes/aes.h
    functionUses: 0
    functionsReached:
    - std::make_unique<AES_256>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:21,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:22,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:22,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:23,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:23,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:24,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:24,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:25,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:25,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - key
    - key_getting_rcon
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: Botan::aes_128_key_expansion
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - _mm_xor_si128
    - _mm_slli_si128
    - _mm_shuffle_epi32
    - _MM_SHUFFLE
    - _mm_aeskeygenassist_si128
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI aes_128_key_expansion(__m128i key, __m128i key_getting_rcon)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:35,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:35,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:36,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:36,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:37,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:37,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:38,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:38,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:39,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:42,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:42,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:48,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:48,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:49,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:49,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:49,1
    - Dst: _mm_cvtsi128_si32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:52,1
    - Dst: _mm_cvtsi128_si32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:53,1
    - Dst: _mm_srli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - K1
    - K2
    - key2_with_rcon
    - ' out'
    - offset
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i
    - secure_vector<uint32_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 54
    functionName: Botan::aes_192_key_expansion
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<__m128i*>
    - _mm_xor_si128
    - _mm_srli_si128
    - _mm_storeu_si128
    - _mm_slli_si128
    - _mm_shuffle_epi32
    - _MM_SHUFFLE
    - _mm_cvtsi128_si32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: "BOTAN_FN_ISA_AESNI aes_192_key_expansion(\n   __m128i* K1, __m128i*
      K2, __m128i key2_with_rcon, secure_vector<uint32_t>& out, size_t offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:60,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:61,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:61,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:63,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:63,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:64,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:64,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:65,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:65,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - key
    - key2
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: Botan::aes_256_key_expansion
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - _mm_xor_si128
    - _mm_slli_si128
    - _mm_shuffle_epi32
    - _MM_SHUFFLE
    - _mm_aeskeygenassist_si128
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI aes_256_key_expansion(__m128i key, __m128i key2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - K
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: Botan::keyxor
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE keyxor(SIMD_4x32 K, SIMD_4x32& B0, SIMD_4x32& B1,
      SIMD_4x32& B2, SIMD_4x32& B3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:77,1
    - Dst: _mm_aesenc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:77,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:77,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - K
    - ' B'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Botan::aesenc
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32
    - SIMD_4x32::raw
    - _mm_aesenc_si128
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE aesenc(SIMD_4x32 K, SIMD_4x32& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:82,1
    - Dst: _mm_aesenc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:82,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:82,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:82,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:83,1
    - Dst: _mm_aesenc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:83,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:83,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:83,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:84,1
    - Dst: _mm_aesenc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:84,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:84,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:84,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:85,1
    - Dst: _mm_aesenc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:85,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:85,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - K
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: Botan::aesenc
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32
    - SIMD_4x32::raw
    - _mm_aesenc_si128
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE aesenc(\n   SIMD_4x32 K, SIMD_4x32& B0, SIMD_4x32&
      B1, SIMD_4x32& B2, SIMD_4x32& B3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:89,1
    - Dst: _mm_aesenclast_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:89,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:89,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - K
    - ' B'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::aesenclast
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - _mm_aesenclast_si128
    - SIMD_4x32
    - SIMD_4x32::raw
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE aesenclast(SIMD_4x32 K, SIMD_4x32& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:94,1
    - Dst: _mm_aesenclast_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:94,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:94,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:94,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:95,1
    - Dst: _mm_aesenclast_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:95,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:95,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:95,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:96,1
    - Dst: _mm_aesenclast_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:96,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:96,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:96,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:97,1
    - Dst: _mm_aesenclast_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:97,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:97,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - K
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: Botan::aesenclast
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - _mm_aesenclast_si128
    - SIMD_4x32
    - SIMD_4x32::raw
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE aesenclast(\n   SIMD_4x32 K, SIMD_4x32& B0, SIMD_4x32&
      B1, SIMD_4x32& B2, SIMD_4x32& B3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:101,1
    - Dst: _mm_aesdec_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:101,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:101,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - K
    - ' B'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: Botan::aesdec
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::raw
    - SIMD_4x32
    - _mm_aesdec_si128
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE aesdec(SIMD_4x32 K, SIMD_4x32& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:106,1
    - Dst: _mm_aesdec_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:106,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:106,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:106,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:107,1
    - Dst: _mm_aesdec_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:107,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:107,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:107,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:108,1
    - Dst: _mm_aesdec_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:108,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:108,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:108,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:109,1
    - Dst: _mm_aesdec_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:109,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:109,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - K
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: Botan::aesdec
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::raw
    - SIMD_4x32
    - _mm_aesdec_si128
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE aesdec(\n   SIMD_4x32 K, SIMD_4x32& B0, SIMD_4x32&
      B1, SIMD_4x32& B2, SIMD_4x32& B3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:113,1
    - Dst: _mm_aesdeclast_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:113,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:113,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - K
    - ' B'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: Botan::aesdeclast
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32
    - SIMD_4x32::raw
    - _mm_aesdeclast_si128
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE aesdeclast(SIMD_4x32 K, SIMD_4x32& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:118,1
    - Dst: _mm_aesdeclast_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:118,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:118,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:118,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:119,1
    - Dst: _mm_aesdeclast_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:119,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:119,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:119,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:120,1
    - Dst: _mm_aesdeclast_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:120,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:120,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:120,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:121,1
    - Dst: _mm_aesdeclast_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:121,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:121,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - K
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: Botan::aesdeclast
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32
    - SIMD_4x32::raw
    - _mm_aesdeclast_si128
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE aesdeclast(\n   SIMD_4x32 K, SIMD_4x32& B0, SIMD_4x32&
      B1, SIMD_4x32& B2, SIMD_4x32& B3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:130,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:131,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:132,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:133,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:134,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:135,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:136,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:137,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:138,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:139,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:140,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:143,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:144,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:145,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:146,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:148,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:149,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:150,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:151,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:152,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:153,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:154,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:155,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:156,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:157,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:158,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:160,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:161,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:162,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:163,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:171,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:174,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:175,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:176,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:177,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:178,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:179,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:180,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:181,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:182,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:183,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 187
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 187
    functionName: Botan::AES_128::hw_aes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 1
    functionsReached:
    - keyxor
    - SIMD_4x32::store_le
    - aesenclast
    - aesenc
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI AES_128::hw_aes_encrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:193,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:194,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:195,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:196,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:197,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:198,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:199,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:200,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:201,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:202,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:203,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:206,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:207,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:208,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:209,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:211,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:212,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:213,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:214,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:215,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:216,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:217,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:218,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:219,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:220,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:221,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:223,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:224,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:225,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:226,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:234,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:237,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:238,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:239,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:240,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:241,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:242,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:243,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:244,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:245,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:246,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 250
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 250
    functionName: Botan::AES_128::hw_aes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 1
    functionsReached:
    - aesdec
    - aesdeclast
    - keyxor
    - SIMD_4x32::store_le
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI AES_128::hw_aes_decrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:256,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:257,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:259,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:259,1
    - Dst: aes_128_key_expansion<0x01>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:260,1
    - Dst: aes_128_key_expansion<0x02>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:261,1
    - Dst: aes_128_key_expansion<0x04>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:262,1
    - Dst: aes_128_key_expansion<0x08>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:263,1
    - Dst: aes_128_key_expansion<0x10>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:264,1
    - Dst: aes_128_key_expansion<0x20>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:265,1
    - Dst: aes_128_key_expansion<0x40>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:266,1
    - Dst: aes_128_key_expansion<0x80>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:267,1
    - Dst: aes_128_key_expansion<0x1B>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:268,1
    - Dst: aes_128_key_expansion<0x36>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:269,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:271,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:271,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:272,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:273,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:274,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:275,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:276,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:277,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:278,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:279,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:280,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:281,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:282,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:286,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:286,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:287,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:288,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:288,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:289,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:289,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:290,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:290,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:291,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:291,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:292,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:292,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:293,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:293,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:294,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:294,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:295,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:295,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:296,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:296,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 298
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 298
    functionName: Botan::AES_128::aesni_key_schedule
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 1
    functionsReached:
    - aes_128_key_expansion<0x80>
    - reinterpret_cast<__m128i*>
    - aes_128_key_expansion<0x1B>
    - aes_128_key_expansion<0x04>
    - aes_128_key_expansion<0x10>
    - aes_128_key_expansion<0x40>
    - reinterpret_cast<const __m128i*>
    - aes_128_key_expansion<0x02>
    - aes_128_key_expansion<0x36>
    - data
    - aes_128_key_expansion<0x01>
    - _mm_storeu_si128
    - resize
    - _mm_loadu_si128
    - _mm_aesimc_si128
    - aes_128_key_expansion<0x20>
    - aes_128_key_expansion<0x08>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI AES_128::aesni_key_schedule(const uint8_t key[],
      size_t /*length*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:304,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:305,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:306,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:307,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:308,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:309,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:310,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:311,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:312,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:313,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:314,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:315,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:316,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:319,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:320,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:321,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:322,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:324,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:325,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:326,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:327,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:328,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:329,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:330,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:331,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:332,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:333,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:334,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:335,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:336,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:338,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:339,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:340,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:341,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:349,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:353,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:354,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:355,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:356,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:357,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:358,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:359,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:360,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:361,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:362,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:363,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:364,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 368
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 368
    functionName: Botan::AES_192::hw_aes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 1
    functionsReached:
    - keyxor
    - SIMD_4x32::store_le
    - aesenclast
    - aesenc
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI AES_192::hw_aes_encrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:374,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:375,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:376,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:377,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:378,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:379,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:380,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:381,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:382,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:383,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:384,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:385,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:386,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:389,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:390,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:391,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:392,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:394,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:395,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:396,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:397,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:398,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:399,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:400,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:401,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:402,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:403,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:404,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:405,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:406,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:408,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:409,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:410,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:411,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:419,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:423,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:424,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:425,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:426,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:427,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:428,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:429,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:430,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:431,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:432,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:433,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:434,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 438
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 438
    functionName: Botan::AES_192::hw_aes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 1
    functionsReached:
    - aesdec
    - aesdeclast
    - keyxor
    - SIMD_4x32::store_le
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI AES_192::hw_aes_decrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:444,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:445,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:447,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:447,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:448,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:448,1
    - Dst: _mm_srli_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:449,1
    - Dst: load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:451,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:451,1
    - Dst: aes_192_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:453,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:453,1
    - Dst: aes_192_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:454,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:454,1
    - Dst: aes_192_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:455,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:455,1
    - Dst: aes_192_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:456,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:456,1
    - Dst: aes_192_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:457,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:457,1
    - Dst: aes_192_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:458,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:458,1
    - Dst: aes_192_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:459,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:459,1
    - Dst: aes_192_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:460,1
    - Dst: _mm_aeskeygenassist_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:460,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:463,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:463,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:465,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:465,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:466,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:466,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:467,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:467,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:467,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:468,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:468,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:468,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:469,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:469,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:469,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:470,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:470,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:470,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:471,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:471,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:471,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:472,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:472,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:472,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:473,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:473,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:473,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:474,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:474,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:474,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:475,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:475,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:475,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:476,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:476,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:476,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:477,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:477,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:477,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:478,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 479
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 479
    functionName: Botan::AES_192::aesni_key_schedule
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<__m128i*>
    - _mm_srli_si128
    - reinterpret_cast<const __m128i*>
    - _mm_storeu_si128
    - data
    - resize
    - _mm_aeskeygenassist_si128
    - _mm_loadu_si128
    - load_le
    - _mm_aesimc_si128
    - aes_192_key_expansion
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI AES_192::aesni_key_schedule(const uint8_t key[],
      size_t /*length*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:485,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:486,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:487,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:488,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:489,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:490,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:491,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:492,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:493,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:494,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:495,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:496,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:497,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:498,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:499,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:502,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:503,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:504,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:505,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:507,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:508,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:509,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:510,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:511,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:512,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:513,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:514,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:515,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:516,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:517,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:518,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:519,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:520,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:521,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:523,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:524,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:525,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:526,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:534,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:538,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:539,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:540,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:541,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:542,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:543,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:544,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:545,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:546,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:547,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:548,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:549,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:550,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:551,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 555
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 555
    functionName: Botan::AES_256::hw_aes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 1
    functionsReached:
    - keyxor
    - SIMD_4x32::store_le
    - aesenclast
    - aesenc
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI AES_256::hw_aes_encrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:561,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:562,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:563,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:564,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:565,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:566,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:567,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:568,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:569,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:570,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:571,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:572,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:573,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:574,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:575,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:578,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:579,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:580,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:581,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:583,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:584,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:585,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:586,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:587,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:588,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:589,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:590,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:591,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:592,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:593,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:594,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:595,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:596,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:597,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:599,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:600,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:601,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:602,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:610,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:614,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:615,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:616,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:617,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:618,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:619,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:620,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:621,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:622,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:623,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:624,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:625,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:626,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:627,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 631
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 631
    functionName: Botan::AES_256::hw_aes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 1
    functionsReached:
    - aesdec
    - aesdeclast
    - keyxor
    - SIMD_4x32::store_le
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI AES_256::hw_aes_decrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:637,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:638,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:640,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:640,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:641,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:641,1
    - Dst: aes_128_key_expansion<0x01>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:643,1
    - Dst: aes_256_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:644,1
    - Dst: aes_128_key_expansion<0x02>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:646,1
    - Dst: aes_256_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:647,1
    - Dst: aes_128_key_expansion<0x04>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:649,1
    - Dst: aes_256_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:650,1
    - Dst: aes_128_key_expansion<0x08>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:652,1
    - Dst: aes_256_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:653,1
    - Dst: aes_128_key_expansion<0x10>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:655,1
    - Dst: aes_256_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:656,1
    - Dst: aes_128_key_expansion<0x20>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:658,1
    - Dst: aes_256_key_expansion
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:659,1
    - Dst: aes_128_key_expansion<0x40>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:661,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:663,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:663,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:664,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:665,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:666,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:667,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:668,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:669,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:670,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:671,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:672,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:673,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:674,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:675,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:676,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:677,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:678,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:681,1
    - Dst: data
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:681,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:682,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:683,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:683,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:684,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:684,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:685,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:685,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:686,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:686,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:687,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:687,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:688,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:688,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:689,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:689,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:690,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:690,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:691,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:691,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:692,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:692,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:693,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:693,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:694,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:694,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:695,1
    - Dst: _mm_aesimc_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:695,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 697
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 697
    functionName: Botan::AES_256::aesni_key_schedule
    functionSourceFile: /src/botan/src/lib/block/aes/aes_ni/aes_ni.cpp
    functionUses: 1
    functionsReached:
    - aes_256_key_expansion
    - reinterpret_cast<__m128i*>
    - aes_128_key_expansion<0x04>
    - aes_128_key_expansion<0x10>
    - aes_128_key_expansion<0x40>
    - reinterpret_cast<const __m128i*>
    - aes_128_key_expansion<0x02>
    - data
    - _mm_storeu_si128
    - aes_128_key_expansion<0x01>
    - resize
    - _mm_loadu_si128
    - _mm_aesimc_si128
    - aes_128_key_expansion<0x20>
    - aes_128_key_expansion<0x08>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AESNI
    signature: BOTAN_FN_ISA_AESNI AES_256::aesni_key_schedule(const uint8_t key[],
      size_t /*length*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - K
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: Botan::keyxor
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE keyxor(SIMD_8x32 K, SIMD_8x32& B0, SIMD_8x32& B1,
      SIMD_8x32& B2, SIMD_8x32& B3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:26,1
    - Dst: _mm256_aesenc_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:26,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:26,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - K
    - ' B'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::aesenc
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 0
    functionsReached:
    - _mm256_aesenc_epi128
    - SIMD_8x32::raw
    - SIMD_8x32
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE aesenc(SIMD_8x32 K, SIMD_8x32& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:31,1
    - Dst: _mm256_aesenc_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:31,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:31,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:31,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:32,1
    - Dst: _mm256_aesenc_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:32,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:32,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:32,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:33,1
    - Dst: _mm256_aesenc_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:33,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:33,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:33,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:34,1
    - Dst: _mm256_aesenc_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:34,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:34,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - K
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: Botan::aesenc
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 0
    functionsReached:
    - _mm256_aesenc_epi128
    - SIMD_8x32::raw
    - SIMD_8x32
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE aesenc(\n   SIMD_8x32 K, SIMD_8x32& B0, SIMD_8x32&
      B1, SIMD_8x32& B2, SIMD_8x32& B3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:38,1
    - Dst: _mm256_aesenclast_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:38,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:38,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - K
    - ' B'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::aesenclast
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 0
    functionsReached:
    - raw
    - SIMD_8x32::raw
    - SIMD_8x32
    - _mm256_aesenclast_epi128
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE aesenclast(SIMD_8x32 K, SIMD_8x32& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:43,1
    - Dst: _mm256_aesenclast_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:43,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:43,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:43,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:44,1
    - Dst: _mm256_aesenclast_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:44,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:44,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:44,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:45,1
    - Dst: _mm256_aesenclast_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:45,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:45,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:45,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:46,1
    - Dst: _mm256_aesenclast_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:46,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:46,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - K
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: Botan::aesenclast
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 0
    functionsReached:
    - raw
    - SIMD_8x32::raw
    - SIMD_8x32
    - _mm256_aesenclast_epi128
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE aesenclast(\n   SIMD_8x32 K, SIMD_8x32& B0, SIMD_8x32&
      B1, SIMD_8x32& B2, SIMD_8x32& B3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:50,1
    - Dst: _mm256_aesdec_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:50,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:50,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - K
    - ' B'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::aesdec
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 0
    functionsReached:
    - SIMD_8x32::raw
    - _mm256_aesdec_epi128
    - SIMD_8x32
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE aesdec(SIMD_8x32 K, SIMD_8x32& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:55,1
    - Dst: _mm256_aesdec_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:55,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:55,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:55,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:56,1
    - Dst: _mm256_aesdec_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:56,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:56,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:56,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:57,1
    - Dst: _mm256_aesdec_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:57,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:57,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:57,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:58,1
    - Dst: _mm256_aesdec_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:58,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:58,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - K
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: Botan::aesdec
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 0
    functionsReached:
    - SIMD_8x32::raw
    - _mm256_aesdec_epi128
    - SIMD_8x32
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE aesdec(\n   SIMD_8x32 K, SIMD_8x32& B0, SIMD_8x32&
      B1, SIMD_8x32& B2, SIMD_8x32& B3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:62,1
    - Dst: _mm256_aesdeclast_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:62,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:62,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - K
    - ' B'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::aesdeclast
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 0
    functionsReached:
    - _mm256_aesdeclast_epi128
    - SIMD_8x32::raw
    - SIMD_8x32
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE aesdeclast(SIMD_8x32 K, SIMD_8x32& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:67,1
    - Dst: _mm256_aesdeclast_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:67,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:67,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:67,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:68,1
    - Dst: _mm256_aesdeclast_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:68,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:68,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:68,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:69,1
    - Dst: _mm256_aesdeclast_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:69,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:69,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:69,1
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:70,1
    - Dst: _mm256_aesdeclast_epi128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:70,1
    - Dst: raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:70,1
    - Dst: SIMD_8x32::raw
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - K
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: Botan::aesdeclast
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 0
    functionsReached:
    - _mm256_aesdeclast_epi128
    - SIMD_8x32::raw
    - SIMD_8x32
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE aesdeclast(\n   SIMD_8x32 K, SIMD_8x32& B0, SIMD_8x32&
      B1, SIMD_8x32& B2, SIMD_8x32& B3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:79,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:80,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:81,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:82,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:83,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:84,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:85,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:86,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:87,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:88,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:89,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:92,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:93,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:94,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:95,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:97,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:98,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:99,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:100,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:101,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:102,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:103,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:104,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:105,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:106,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:107,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:109,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:110,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:111,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:112,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:120,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:123,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:124,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:125,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:126,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:127,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:128,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:129,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:130,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:131,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:132,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:134,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:142,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:145,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:146,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:147,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:148,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:149,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:150,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:151,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:152,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:153,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:154,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 52
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 158
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 158
    functionName: Botan::AES_128::x86_vaes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_8x32::load_le128
    - keyxor
    - Botan::SIMD_8x32::load_le
    - SIMD_8x32::store_le128
    - aesenclast
    - SIMD_8x32::store_le
    - aesenc
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_VAES
    signature: BOTAN_FN_ISA_AVX2_VAES AES_128::x86_vaes_encrypt_n(const uint8_t in[],
      uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:164,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:165,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:166,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:167,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:168,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:169,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:170,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:171,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:172,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:173,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:174,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:177,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:178,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:179,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:180,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:182,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:183,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:184,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:185,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:186,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:187,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:188,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:189,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:190,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:191,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:192,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:194,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:195,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:196,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:197,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:205,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:208,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:209,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:210,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:211,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:212,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:213,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:214,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:215,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:216,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:217,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:219,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:227,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:230,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:231,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:232,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:233,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:234,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:235,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:236,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:237,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:238,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:239,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 52
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 243
    functionName: Botan::AES_128::x86_vaes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 1
    functionsReached:
    - aesdec
    - Botan::SIMD_8x32::load_le128
    - aesdeclast
    - keyxor
    - SIMD_8x32::store_le128
    - SIMD_8x32::store_le
    - Botan::SIMD_8x32::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_VAES
    signature: BOTAN_FN_ISA_AVX2_VAES AES_128::x86_vaes_decrypt_n(const uint8_t in[],
      uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:249,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:250,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:251,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:252,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:253,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:254,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:255,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:256,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:257,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:258,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:259,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:260,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:261,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:264,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:265,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:266,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:267,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:269,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:270,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:271,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:272,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:273,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:274,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:275,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:276,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:277,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:278,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:279,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:280,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:281,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:283,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:284,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:285,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:286,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:294,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:297,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:298,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:299,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:300,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:301,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:302,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:303,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:304,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:305,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:306,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:307,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:308,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:310,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:318,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:321,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:322,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:323,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:324,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:325,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:326,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:327,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:328,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:329,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:330,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:331,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:332,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 336
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 336
    functionName: Botan::AES_192::x86_vaes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_8x32::load_le128
    - keyxor
    - Botan::SIMD_8x32::load_le
    - SIMD_8x32::store_le128
    - aesenclast
    - SIMD_8x32::store_le
    - aesenc
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_VAES
    signature: BOTAN_FN_ISA_AVX2_VAES AES_192::x86_vaes_encrypt_n(const uint8_t in[],
      uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:342,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:343,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:344,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:345,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:346,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:347,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:348,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:349,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:350,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:351,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:352,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:353,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:354,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:357,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:358,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:359,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:360,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:362,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:363,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:364,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:365,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:366,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:367,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:368,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:369,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:370,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:371,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:372,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:373,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:374,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:376,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:377,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:378,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:379,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:387,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:390,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:391,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:392,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:393,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:394,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:395,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:396,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:397,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:398,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:399,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:400,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:401,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:403,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:411,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:414,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:415,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:416,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:417,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:418,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:419,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:420,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:421,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:422,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:423,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:424,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:425,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 429
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 429
    functionName: Botan::AES_192::x86_vaes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 1
    functionsReached:
    - aesdec
    - Botan::SIMD_8x32::load_le128
    - aesdeclast
    - keyxor
    - SIMD_8x32::store_le128
    - SIMD_8x32::store_le
    - Botan::SIMD_8x32::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_VAES
    signature: BOTAN_FN_ISA_AVX2_VAES AES_192::x86_vaes_decrypt_n(const uint8_t in[],
      uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:432,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:433,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:434,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:435,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:436,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:437,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:438,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:439,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:440,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:441,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:442,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:443,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:444,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:445,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:446,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:449,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:450,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:451,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:452,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:454,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:455,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:456,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:457,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:458,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:459,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:460,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:461,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:462,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:463,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:464,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:465,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:466,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:467,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:468,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:470,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:471,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:472,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:473,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:481,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:484,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:485,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:486,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:487,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:488,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:489,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:490,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:491,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:492,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:493,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:494,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:495,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:496,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:497,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:499,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:507,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:510,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:511,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:512,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:513,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:514,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:515,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:516,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:517,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:518,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:519,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:520,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:521,1
    - Dst: aesenc
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:522,1
    - Dst: aesenclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:523,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 64
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 527
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 527
    functionName: Botan::AES_256::x86_vaes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_8x32::load_le128
    - keyxor
    - Botan::SIMD_8x32::load_le
    - SIMD_8x32::store_le128
    - aesenclast
    - SIMD_8x32::store_le
    - aesenc
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_VAES
    signature: BOTAN_FN_ISA_AVX2_VAES AES_256::x86_vaes_encrypt_n(const uint8_t in[],
      uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:533,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:534,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:535,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:536,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:537,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:538,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:539,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:540,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:541,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:542,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:543,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:544,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:545,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:546,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:547,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:550,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:551,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:552,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:553,1
    - Dst: keyxor
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:555,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:556,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:557,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:558,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:559,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:560,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:561,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:562,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:563,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:564,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:565,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:566,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:567,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:568,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:569,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:571,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:572,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:573,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:574,1
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:582,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:585,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:586,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:587,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:588,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:589,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:590,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:591,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:592,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:593,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:594,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:595,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:596,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:597,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:598,1
    - Dst: SIMD_8x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:600,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:608,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:611,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:612,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:613,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:614,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:615,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:616,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:617,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:618,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:619,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:620,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:621,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:622,1
    - Dst: aesdec
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:623,1
    - Dst: aesdeclast
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:624,1
    - Dst: SIMD_8x32::store_le128
      Src: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp:626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 64
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 628
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 628
    functionName: Botan::AES_256::x86_vaes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vaes/aes_vaes.cpp
    functionUses: 1
    functionsReached:
    - aesdec
    - Botan::SIMD_8x32::load_le128
    - aesdeclast
    - keyxor
    - SIMD_8x32::store_le128
    - SIMD_8x32::store_le
    - Botan::SIMD_8x32::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_VAES
    signature: BOTAN_FN_ISA_AVX2_VAES AES_256::x86_vaes_decrypt_n(const uint8_t in[],
      uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vaesmcq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:22,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' B'
    - K
    argTypes:
    - uint8x16_t
    - uint8x16_t
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::AES_AARCH64::enc
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 0
    functionsReached:
    - vaeseq_u8
    - vaesmcq_u8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE enc(uint8x16_t& B, uint8x16_t K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vaesmcq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:27,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:27,1
    - Dst: vaesmcq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:28,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:28,1
    - Dst: vaesmcq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:29,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:29,1
    - Dst: vaesmcq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:30,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - K
    argTypes:
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: Botan::AES_AARCH64::enc4
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 0
    functionsReached:
    - vaeseq_u8
    - vaesmcq_u8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE enc4(\n   uint8x16_t& B0, uint8x16_t& B1, uint8x16_t&
      B2, uint8x16_t& B3, uint8x16_t K)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:34,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' B'
    - K
    - K2
    argTypes:
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::AES_AARCH64::enc_last
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 0
    functionsReached:
    - vaeseq_u8
    - veorq_u8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE enc_last(uint8x16_t& B, uint8x16_t K, uint8x16_t
      K2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:39,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:39,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:40,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:40,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:41,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:41,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:42,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - K
    - K2
    argTypes:
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: Botan::AES_AARCH64::enc4_last
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 0
    functionsReached:
    - vaeseq_u8
    - veorq_u8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE enc4_last(\n   uint8x16_t& B0, uint8x16_t& B1,
      uint8x16_t& B2, uint8x16_t& B3, uint8x16_t K, uint8x16_t K2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vaesimcq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:46,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' B'
    - K
    argTypes:
    - uint8x16_t
    - uint8x16_t
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::AES_AARCH64::dec
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 0
    functionsReached:
    - vaesimcq_u8
    - vaesdq_u8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE dec(uint8x16_t& B, uint8x16_t K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vaesimcq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:51,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:51,1
    - Dst: vaesimcq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:52,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:52,1
    - Dst: vaesimcq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:53,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:53,1
    - Dst: vaesimcq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:54,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - K
    argTypes:
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: Botan::AES_AARCH64::dec4
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 0
    functionsReached:
    - vaesimcq_u8
    - vaesdq_u8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE dec4(\n   uint8x16_t& B0, uint8x16_t& B1, uint8x16_t&
      B2, uint8x16_t& B3, uint8x16_t K)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:58,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' B'
    - K
    - K2
    argTypes:
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::AES_AARCH64::dec_last
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 0
    functionsReached:
    - veorq_u8
    - vaesdq_u8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE dec_last(uint8x16_t& B, uint8x16_t K, uint8x16_t
      K2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:63,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:63,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:64,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:64,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:65,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:65,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:66,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - K
    - K2
    argTypes:
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    - uint8x16_t
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: Botan::AES_AARCH64::dec4_last
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 0
    functionsReached:
    - veorq_u8
    - vaesdq_u8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE dec4_last(\n   uint8x16_t& B0, uint8x16_t& B1,
      uint8x16_t& B2, uint8x16_t& B3, uint8x16_t K, uint8x16_t K2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:77,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:78,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:79,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:80,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:81,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:82,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:83,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:84,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:85,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:86,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:87,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:92,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:93,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:94,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:95,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:97,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:98,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:99,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:100,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:101,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:102,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:103,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:104,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:105,1
    - Dst: enc4_last
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:106,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:108,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:109,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:110,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:111,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:119,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:120,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:121,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:122,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:123,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:124,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:125,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:126,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:127,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:128,1
    - Dst: enc_last
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:129,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 132
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 132
    functionName: Botan::AES_128::hw_aes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 1
    functionsReached:
    - enc4
    - enc4_last
    - vld1q_u8
    - vst1q_u8
    - enc_last
    - enc
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_128::hw_aes_encrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:140,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:141,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:142,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:143,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:144,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:145,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:146,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:147,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:148,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:149,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:150,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:155,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:156,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:157,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:158,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:160,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:161,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:162,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:163,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:164,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:165,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:166,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:167,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:168,1
    - Dst: dec4_last
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:169,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:171,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:172,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:173,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:174,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:182,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:183,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:184,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:185,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:186,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:187,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:188,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:189,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:190,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:191,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:192,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:192,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 195
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 195
    functionName: Botan::AES_128::hw_aes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 1
    functionsReached:
    - vaesdq_u8
    - dec4
    - vld1q_u8
    - dec
    - vst1q_u8
    - veorq_u8
    - dec4_last
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_128::hw_aes_decrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:203,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:204,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:205,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:206,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:207,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:208,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:209,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:210,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:211,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:212,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:213,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:214,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:215,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:220,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:221,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:222,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:223,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:225,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:226,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:227,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:228,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:229,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:230,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:231,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:232,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:233,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:234,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:235,1
    - Dst: enc4_last
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:236,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:238,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:239,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:240,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:241,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:249,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:250,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:251,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:252,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:253,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:254,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:255,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:256,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:257,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:258,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:259,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:260,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:261,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:261,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 264
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 264
    functionName: Botan::AES_192::hw_aes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 1
    functionsReached:
    - enc4
    - enc4_last
    - vld1q_u8
    - vst1q_u8
    - enc
    - vaeseq_u8
    - veorq_u8
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_192::hw_aes_encrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:272,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:273,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:274,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:275,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:276,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:277,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:278,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:279,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:280,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:281,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:282,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:283,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:284,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:289,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:290,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:291,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:292,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:294,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:295,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:296,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:297,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:298,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:299,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:300,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:301,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:302,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:303,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:304,1
    - Dst: dec4_last
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:305,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:307,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:308,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:309,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:310,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:318,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:319,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:320,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:321,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:322,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:323,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:324,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:325,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:326,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:327,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:328,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:329,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:330,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:330,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 333
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 333
    functionName: Botan::AES_192::hw_aes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 1
    functionsReached:
    - vaesdq_u8
    - dec4
    - vld1q_u8
    - dec
    - vst1q_u8
    - veorq_u8
    - dec4_last
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_192::hw_aes_decrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:341,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:342,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:343,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:344,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:345,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:346,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:347,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:348,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:349,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:350,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:351,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:352,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:353,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:354,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:355,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:362,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:363,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:364,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:365,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:367,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:368,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:369,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:370,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:371,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:372,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:373,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:374,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:375,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:376,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:377,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:378,1
    - Dst: enc4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:379,1
    - Dst: enc4_last
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:380,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:382,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:383,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:384,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:385,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:393,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:394,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:395,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:396,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:397,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:398,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:399,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:400,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:401,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:402,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:403,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:404,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:405,1
    - Dst: enc
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:406,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:407,1
    - Dst: vaeseq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:407,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 410
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 410
    functionName: Botan::AES_256::hw_aes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 1
    functionsReached:
    - enc4
    - enc4_last
    - vld1q_u8
    - vst1q_u8
    - enc
    - vaeseq_u8
    - veorq_u8
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_256::hw_aes_encrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:418,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:419,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:420,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:421,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:422,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:423,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:424,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:425,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:426,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:427,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:428,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:429,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:430,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:431,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:432,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:437,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:438,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:439,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:440,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:442,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:443,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:444,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:445,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:446,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:447,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:448,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:449,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:450,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:451,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:452,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:453,1
    - Dst: dec4
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:454,1
    - Dst: dec4_last
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:455,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:457,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:458,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:459,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:460,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:468,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:469,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:470,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:471,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:472,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:473,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:474,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:475,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:476,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:477,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:478,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:479,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:480,1
    - Dst: dec
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:481,1
    - Dst: veorq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:482,1
    - Dst: vaesdq_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:482,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 485
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 485
    functionName: Botan::AES_256::hw_aes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_armv8/aes_armv8.cpp
    functionUses: 1
    functionsReached:
    - vaesdq_u8
    - dec4
    - vld1q_u8
    - dec
    - vst1q_u8
    - veorq_u8
    - dec4_last
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_256::hw_aes_decrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_perm
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - Altivec8x16
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: Botan::reverse_vec
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 0
    functionsReached:
    - vec_perm
    linkageType: ''
    returnType: Altivec8x16
    signature: Altivec8x16 reverse_vec(Altivec8x16 src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Altivec64x2>
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:42,1
    - Dst: reverse_vec
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:42,1
    - Dst: reinterpret_cast<Altivec8x16>
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:42,1
    - Dst: vec_vsx_ld
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::Altivec64x2::load_key
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Altivec64x2>
    - vec_vsx_ld
    - reinterpret_cast<Altivec8x16>
    - reverse_vec
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES Altivec64x2 load_key(const uint32_t key[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Altivec64x2>
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:46,1
    - Dst: reverse_vec
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:46,1
    - Dst: vec_vsx_ld
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::Altivec64x2::load_block
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Altivec64x2>
    - vec_vsx_ld
    - reverse_vec
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES Altivec64x2 load_block(const uint8_t src[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_vsx_st
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:50,1
    - Dst: Botan::reverse_vec
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:50,1
    - Dst: reinterpret_cast<Altivec8x16>
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - Altivec64x2
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::store_block
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 0
    functionsReached:
    - vec_vsx_st
    - Botan::reverse_vec
    - reinterpret_cast<Altivec8x16>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES store_block(Altivec64x2 src, uint8_t dest[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::store_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:54,1
    - Dst: Botan::store_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:55,1
    - Dst: Botan::store_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:56,1
    - Dst: Botan::store_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - B0
    - B1
    - B2
    - B3
    - out
    argTypes:
    - Altivec64x2
    - Altivec64x2
    - Altivec64x2
    - Altivec64x2
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: Botan::store_blocks
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 0
    functionsReached:
    - Botan::store_block
    linkageType: ''
    returnType: void
    signature: void store_blocks(Altivec64x2 B0, Altivec64x2 B1, Altivec64x2 B2, Altivec64x2
      B3, uint8_t out[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:103,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:104,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:105,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:106,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:107,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:108,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:109,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:110,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:111,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:112,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:113,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:116,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:117,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:118,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:119,1
    - Dst: AES_XOR_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:121,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:122,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:123,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:124,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:125,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:126,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:127,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:128,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:129,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:130,1
    - Dst: AES_ENCRYPT_4_LAST
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:131,1
    - Dst: store_blocks
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:133,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:141,1
    - Dst: vec_xor
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:143,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:144,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:145,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:146,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:147,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:148,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:149,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:150,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:151,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:152,1
    - Dst: __builtin_crypto_vcipherlast
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:153,1
    - Dst: store_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 160
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 160
    functionName: Botan::AES_128::hw_aes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 1
    functionsReached:
    - vec_xor
    - load_key
    - AES_XOR_4
    - load_block
    - AES_ENCRYPT_4
    - AES_ENCRYPT_4_LAST
    - __builtin_crypto_vcipherlast
    - store_block
    - __builtin_crypto_vcipher
    - store_blocks
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_128::hw_aes_encrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:163,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:164,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:165,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:166,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:167,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:168,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:169,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:170,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:171,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:172,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:173,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:176,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:177,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:178,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:179,1
    - Dst: AES_XOR_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:181,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:182,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:183,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:184,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:185,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:186,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:187,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:188,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:189,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:190,1
    - Dst: AES_DECRYPT_4_LAST
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:191,1
    - Dst: store_blocks
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:193,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:201,1
    - Dst: vec_xor
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:203,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:204,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:205,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:206,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:207,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:208,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:209,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:210,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:211,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:212,1
    - Dst: __builtin_crypto_vncipherlast
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:213,1
    - Dst: store_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 220
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 220
    functionName: Botan::AES_128::hw_aes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 1
    functionsReached:
    - vec_xor
    - load_key
    - AES_XOR_4
    - load_block
    - __builtin_crypto_vncipherlast
    - AES_DECRYPT_4
    - AES_DECRYPT_4_LAST
    - __builtin_crypto_vncipher
    - store_block
    - store_blocks
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_128::hw_aes_decrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:223,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:224,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:225,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:226,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:227,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:228,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:229,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:230,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:231,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:232,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:233,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:234,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:235,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:238,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:239,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:240,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:241,1
    - Dst: AES_XOR_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:243,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:244,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:245,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:246,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:247,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:248,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:249,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:250,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:251,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:252,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:253,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:254,1
    - Dst: AES_ENCRYPT_4_LAST
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:255,1
    - Dst: store_blocks
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:257,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:265,1
    - Dst: vec_xor
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:267,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:268,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:269,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:270,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:271,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:272,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:273,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:274,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:275,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:276,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:277,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:278,1
    - Dst: __builtin_crypto_vcipherlast
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:279,1
    - Dst: store_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 286
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 286
    functionName: Botan::AES_192::hw_aes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 1
    functionsReached:
    - vec_xor
    - load_key
    - AES_XOR_4
    - load_block
    - AES_ENCRYPT_4
    - AES_ENCRYPT_4_LAST
    - __builtin_crypto_vcipherlast
    - store_block
    - __builtin_crypto_vcipher
    - store_blocks
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_192::hw_aes_encrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:289,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:290,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:291,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:292,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:293,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:294,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:295,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:296,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:297,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:298,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:299,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:300,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:301,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:304,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:305,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:306,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:307,1
    - Dst: AES_XOR_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:309,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:310,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:311,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:312,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:313,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:314,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:315,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:316,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:317,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:318,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:319,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:320,1
    - Dst: AES_DECRYPT_4_LAST
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:321,1
    - Dst: store_blocks
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:323,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:331,1
    - Dst: vec_xor
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:333,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:334,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:335,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:336,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:337,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:338,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:339,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:340,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:341,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:342,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:343,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:344,1
    - Dst: __builtin_crypto_vncipherlast
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:345,1
    - Dst: store_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 352
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 352
    functionName: Botan::AES_192::hw_aes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 1
    functionsReached:
    - vec_xor
    - load_key
    - AES_XOR_4
    - load_block
    - __builtin_crypto_vncipherlast
    - AES_DECRYPT_4
    - AES_DECRYPT_4_LAST
    - __builtin_crypto_vncipher
    - store_block
    - store_blocks
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_192::hw_aes_decrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:355,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:356,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:357,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:358,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:359,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:360,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:361,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:362,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:363,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:364,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:365,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:366,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:367,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:368,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:369,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:372,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:373,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:374,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:375,1
    - Dst: AES_XOR_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:377,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:378,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:379,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:380,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:381,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:382,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:383,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:384,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:385,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:386,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:387,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:388,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:389,1
    - Dst: AES_ENCRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:390,1
    - Dst: AES_ENCRYPT_4_LAST
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:391,1
    - Dst: store_blocks
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:393,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:401,1
    - Dst: vec_xor
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:403,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:404,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:405,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:406,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:407,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:408,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:409,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:410,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:411,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:412,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:413,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:414,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:415,1
    - Dst: __builtin_crypto_vcipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:416,1
    - Dst: __builtin_crypto_vcipherlast
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:417,1
    - Dst: store_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 424
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 424
    functionName: Botan::AES_256::hw_aes_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 1
    functionsReached:
    - vec_xor
    - load_key
    - AES_XOR_4
    - load_block
    - AES_ENCRYPT_4
    - AES_ENCRYPT_4_LAST
    - __builtin_crypto_vcipherlast
    - store_block
    - __builtin_crypto_vcipher
    - store_blocks
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_256::hw_aes_encrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:427,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:428,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:429,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:430,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:431,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:432,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:433,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:434,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:435,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:436,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:437,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:438,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:439,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:440,1
    - Dst: load_key
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:441,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:444,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:445,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:446,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:447,1
    - Dst: AES_XOR_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:449,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:450,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:451,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:452,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:453,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:454,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:455,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:456,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:457,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:458,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:459,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:460,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:461,1
    - Dst: AES_DECRYPT_4
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:462,1
    - Dst: AES_DECRYPT_4_LAST
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:463,1
    - Dst: store_blocks
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:465,1
    - Dst: load_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:473,1
    - Dst: vec_xor
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:475,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:476,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:477,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:478,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:479,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:480,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:481,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:482,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:483,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:484,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:485,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:486,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:487,1
    - Dst: __builtin_crypto_vncipher
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:488,1
    - Dst: __builtin_crypto_vncipherlast
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:489,1
    - Dst: store_block
      Src: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 496
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 496
    functionName: Botan::AES_256::hw_aes_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_power8/aes_power8.cpp
    functionUses: 1
    functionsReached:
    - vec_xor
    - load_key
    - AES_XOR_4
    - load_block
    - __builtin_crypto_vncipherlast
    - AES_DECRYPT_4
    - AES_DECRYPT_4_LAST
    - __builtin_crypto_vncipher
    - store_block
    - store_blocks
    linkageType: ''
    returnType: BOTAN_FN_ISA_AES
    signature: BOTAN_FN_ISA_AES AES_256::hw_aes_decrypt_n(const uint8_t in[], uint8_t
      out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::byte_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:27,1
    - Dst: Botan::SIMD_4x32::byte_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:29,1
    - Dst: SIMD_4x32::bswap
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:29,1
    - Dst: SIMD_4x32::bswap
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - tbl
    - idx
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::bswap
    - Botan::SIMD_4x32::byte_shuffle
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 shuffle(SIMD_4x32 tbl, SIMD_4x32 idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::masked_byte_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:35,1
    - Dst: Botan::SIMD_4x32::masked_byte_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:37,1
    - Dst: SIMD_4x32::bswap
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:37,1
    - Dst: SIMD_4x32::bswap
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - tbl
    - idx
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x32::masked_byte_shuffle
    - SIMD_4x32::bswap
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 masked_shuffle(SIMD_4x32 tbl, SIMD_4x32
      idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: Botan::low_nibs
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 low_nibs(SIMD_4x32 x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32::shr
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Botan::high_nibs
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::shr
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 high_nibs(SIMD_4x32 x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:123,1
    - Dst: low_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:123,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:123,1
    - Dst: high_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - B
    - K
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_first_round
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - high_nibs
    - low_nibs
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_enc_first_round(SIMD_4x32 B, SIMD_4x32
      K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: high_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:127,1
    - Dst: low_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:128,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:129,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:132,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:132,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:133,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:133,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:135,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:135,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:136,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:136,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:136,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:138,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - B
    - K
    - r
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - size_t
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_round
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    - high_nibs
    - low_nibs
    - Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_enc_round(SIMD_4x32 B, SIMD_4x32
      K, size_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: high_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:142,1
    - Dst: low_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:143,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:144,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:147,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:147,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:148,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:148,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:150,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:150,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - B
    - K
    - r
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - size_t
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_last_round
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    - high_nibs
    - low_nibs
    - Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_enc_last_round(SIMD_4x32 B, SIMD_4x32
      K, size_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:154,1
    - Dst: low_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:154,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:154,1
    - Dst: high_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - B
    - K
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_first_round
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - high_nibs
    - low_nibs
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_dec_first_round(SIMD_4x32 B, SIMD_4x32
      K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: high_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:158,1
    - Dst: low_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:159,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:160,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:164,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:164,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:165,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:165,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:169,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:169,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:170,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:170,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:170,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:171,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:171,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:171,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:172,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:172,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - B
    - K
    - r
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - size_t
    constantsTouched: []
    func_position:
      end: 173
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 173
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_round
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    - high_nibs
    - low_nibs
    - Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_dec_round(SIMD_4x32 B, SIMD_4x32
      K, size_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: high_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:178,1
    - Dst: low_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:179,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:180,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:184,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:184,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:185,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:185,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:187,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:187,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - B
    - K
    - r
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - size_t
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_last_round
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    - high_nibs
    - low_nibs
    - Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_dec_last_round(SIMD_4x32 B, SIMD_4x32
      K, size_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:193,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:198,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:199,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_first_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:201,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_first_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:202,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:205,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:206,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_last_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:209,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_last_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:210,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:212,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:213,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:217,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_first_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:219,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:222,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_last_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:225,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:226,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:229,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 5
    argNames:
    - in
    - out
    - blocks
    - K
    - rounds
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - SIMD_4x32[]
    - size_t
    constantsTouched: []
    func_position:
      end: 231
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 231
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::vperm_encrypt_blocks
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_last_round
    - Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_first_round
    - Botan::BOTAN_FN_ISA_SIMD_4X32::aes_enc_round
    - Botan::CT::poison
    - SIMD_4x32::store_le
    - Botan::CT::unpoison
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: void
    signature: 'void BOTAN_FN_ISA_SIMD_4X32

      vperm_encrypt_blocks(const uint8_t in[], uint8_t out[], size_t blocks, const
      SIMD_4x32 K[], size_t rounds)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:235,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:240,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:241,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_first_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:243,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_first_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:244,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:247,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:248,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_last_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:251,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_last_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:252,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:254,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:255,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:259,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_first_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:261,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:264,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_last_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:267,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:268,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:271,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 5
    argNames:
    - in
    - out
    - blocks
    - K
    - rounds
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - SIMD_4x32[]
    - size_t
    constantsTouched: []
    func_position:
      end: 273
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 273
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::vperm_decrypt_blocks
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    - Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_last_round
    - Botan::CT::poison
    - Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_round
    - SIMD_4x32::store_le
    - Botan::BOTAN_FN_ISA_SIMD_4X32::aes_dec_first_round
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: void
    signature: 'void BOTAN_FN_ISA_SIMD_4X32

      vperm_decrypt_blocks(const uint8_t in[], uint8_t out[], size_t blocks, const
      SIMD_4x32 K[], size_t rounds)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:279,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:280,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:281,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:282,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:283,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:284,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:285,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:286,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:287,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:288,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:289,1
    - Dst: vperm_encrypt_blocks
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 293
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 293
    functionName: Botan::AES_128::vperm_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::load_le
    - vperm_encrypt_blocks
    linkageType: ''
    returnType: void
    signature: void AES_128::vperm_encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:297,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:298,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:299,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:300,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:301,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:302,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:303,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:304,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:305,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:306,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:307,1
    - Dst: vperm_decrypt_blocks
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 311
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 311
    functionName: Botan::AES_128::vperm_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 1
    functionsReached:
    - vperm_decrypt_blocks
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: void
    signature: void AES_128::vperm_decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:315,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:316,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:317,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:318,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:319,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:320,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:321,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:322,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:323,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:324,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:325,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:326,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:327,1
    - Dst: vperm_encrypt_blocks
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 331
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 331
    functionName: Botan::AES_192::vperm_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::load_le
    - vperm_encrypt_blocks
    linkageType: ''
    returnType: void
    signature: void AES_192::vperm_encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:335,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:336,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:337,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:338,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:339,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:340,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:341,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:342,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:343,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:344,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:345,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:346,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:347,1
    - Dst: vperm_decrypt_blocks
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 351
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 351
    functionName: Botan::AES_192::vperm_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 1
    functionsReached:
    - vperm_decrypt_blocks
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: void
    signature: void AES_192::vperm_decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:355,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:356,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:357,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:358,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:359,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:360,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:361,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:362,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:363,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:364,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:365,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:366,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:367,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:368,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:369,1
    - Dst: vperm_encrypt_blocks
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 373
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 373
    functionName: Botan::AES_256::vperm_encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::load_le
    - vperm_encrypt_blocks
    linkageType: ''
    returnType: void
    signature: void AES_256::vperm_encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:377,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:378,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:379,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:380,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:381,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:382,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:383,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:384,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:385,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:386,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:387,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:388,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:389,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:390,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:391,1
    - Dst: vperm_decrypt_blocks
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 395
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 395
    functionName: Botan::AES_256::vperm_decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 1
    functionsReached:
    - vperm_decrypt_blocks
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: void
    signature: void AES_256::vperm_decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:400,1
    - Dst: low_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:400,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:400,1
    - Dst: high_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - table_1
    - table_2
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_transform
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - high_nibs
    - low_nibs
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_schedule_transform(SIMD_4x32 input,
      SIMD_4x32 table_1, SIMD_4x32 table_2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:406,1
    - Dst: Botan::SIMD_4x32::splat_u8
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:406,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:408,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:409,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - k
    - round_no
    argTypes:
    - SIMD_4x32
    - uint8_t
    constantsTouched: []
    func_position:
      end: 411
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 411
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_mangle
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    - Botan::SIMD_4x32::splat_u8
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_schedule_mangle(SIMD_4x32 k, uint8_t
      round_no)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:417,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:418,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:419,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:420,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:421,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:422,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:423,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:424,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:427,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:428,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:430,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:431,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:433,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:434,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:436,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:437,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - k
    - round_no
    argTypes:
    - SIMD_4x32
    - uint8_t
    constantsTouched: []
    func_position:
      end: 440
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 440
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_mangle_dec
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    - Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_transform
    - SIMD_4x32
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_schedule_mangle_dec(SIMD_4x32
      k, uint8_t round_no)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:446,1
    - Dst: Botan::SIMD_4x32::splat_u8
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:447,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - k
    - round_no
    argTypes:
    - SIMD_4x32
    - uint8_t
    constantsTouched: []
    func_position:
      end: 449
      start: 442
    functionDepth: 3
    functionLinenumber: 442
    functionLinenumberEnd: 449
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_mangle_last
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_transform
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    - Botan::SIMD_4x32::splat_u8
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_schedule_mangle_last(SIMD_4x32
      k, uint8_t round_no)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::splat_u8
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:455,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - k
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_mangle_last_dec
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_transform
    - Botan::SIMD_4x32::splat_u8
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_schedule_mangle_last_dec(SIMD_4x32
      k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32::shift_elems_left
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:460,1
    - Dst: SIMD_4x32::shift_elems_left
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:461,1
    - Dst: Botan::SIMD_4x32::splat_u8
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:462,1
    - Dst: high_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:464,1
    - Dst: low_nibs
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:465,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:467,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:471,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:471,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:472,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:472,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:474,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - input1
    - input2
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 475
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 475
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_round
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - high_nibs
    - Botan::SIMD_4x32::splat_u8
    - Botan::BOTAN_FN_ISA_SIMD_4X32::masked_shuffle
    - low_nibs
    - SIMD_4x32::shift_elems_left
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_schedule_round(SIMD_4x32 input1,
      SIMD_4x32 input2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:479,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:480,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rc
    - input1
    - input2
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_round
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::splat
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    - Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_round
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_schedule_round(SIMD_4x32 rc, SIMD_4x32
      input1, SIMD_4x32 input2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:484,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:485,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:489,1
    - Dst: Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 490
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 490
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::aes_schedule_192_smear
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 0
    functionsReached:
    - Botan::BOTAN_FN_ISA_SIMD_4X32::shuffle
    - SIMD_4x32
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 aes_schedule_192_smear(SIMD_4x32 x,
      SIMD_4x32 y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:495,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:496,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:498,1
    - Dst: shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:500,1
    - Dst: aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:502,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:503,1
    - Dst: aes_schedule_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:506,1
    - Dst: aes_schedule_mangle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:508,1
    - Dst: aes_schedule_mangle_dec
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:510,1
    - Dst: aes_schedule_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:513,1
    - Dst: aes_schedule_mangle_last
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:514,1
    - Dst: aes_schedule_mangle_last_dec
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - keyb
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 516
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 516
    functionName: Botan::AES_128::vperm_key_schedule
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 1
    functionsReached:
    - aes_schedule_mangle_last_dec
    - aes_schedule_transform
    - aes_schedule_mangle
    - aes_schedule_round
    - aes_schedule_mangle_last
    - shuffle
    - resize
    - aes_schedule_mangle_dec
    - SIMD_4x32::store_le
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: void
    signature: void AES_128::vperm_key_schedule(const uint8_t keyb[], size_t /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:519,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:520,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:522,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:523,1
    - Dst: shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:525,1
    - Dst: aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:527,1
    - Dst: aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:528,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:530,1
    - Dst: aes_schedule_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:535,1
    - Dst: Botan::SIMD_4x32::alignr8
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:536,1
    - Dst: aes_schedule_mangle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:538,1
    - Dst: aes_schedule_mangle_dec
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:539,1
    - Dst: aes_schedule_192_smear
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:541,1
    - Dst: aes_schedule_mangle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:543,1
    - Dst: aes_schedule_mangle_dec
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:544,1
    - Dst: aes_schedule_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:546,1
    - Dst: aes_schedule_mangle_last
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:549,1
    - Dst: aes_schedule_mangle_last_dec
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:550,1
    - Dst: aes_schedule_mangle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:552,1
    - Dst: aes_schedule_mangle_dec
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:553,1
    - Dst: aes_schedule_192_smear
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - keyb
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 559
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 559
    functionName: Botan::AES_192::vperm_key_schedule
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 1
    functionsReached:
    - aes_schedule_mangle_last_dec
    - aes_schedule_transform
    - aes_schedule_mangle
    - aes_schedule_round
    - aes_schedule_mangle_last
    - shuffle
    - resize
    - aes_schedule_192_smear
    - aes_schedule_mangle_dec
    - SIMD_4x32::store_le
    - Botan::SIMD_4x32::alignr8
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: void
    signature: void AES_192::vperm_key_schedule(const uint8_t keyb[], size_t /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:562,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:563,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:565,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:566,1
    - Dst: shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:568,1
    - Dst: aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:570,1
    - Dst: aes_schedule_transform
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:571,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:573,1
    - Dst: aes_schedule_mangle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:574,1
    - Dst: aes_schedule_mangle_dec
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:576,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:578,1
    - Dst: aes_schedule_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:582,1
    - Dst: aes_schedule_mangle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:584,1
    - Dst: aes_schedule_mangle_dec
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:585,1
    - Dst: aes_schedule_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:587,1
    - Dst: shuffle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:587,1
    - Dst: aes_schedule_mangle
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:589,1
    - Dst: aes_schedule_mangle_dec
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:590,1
    - Dst: aes_schedule_round
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:593,1
    - Dst: aes_schedule_mangle_last
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:595,1
    - Dst: aes_schedule_mangle_last_dec
      Src: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - keyb
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 597
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 597
    functionName: Botan::AES_256::vperm_key_schedule
    functionSourceFile: /src/botan/src/lib/block/aes/aes_vperm/aes_vperm.cpp
    functionUses: 1
    functionsReached:
    - aes_schedule_mangle_last_dec
    - aes_schedule_transform
    - aes_schedule_mangle
    - aes_schedule_round
    - Botan::SIMD_4x32::splat
    - shuffle
    - aes_schedule_mangle_last
    - resize
    - aes_schedule_mangle_dec
    - SIMD_4x32::store_le
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: void
    signature: void AES_256::vperm_key_schedule(const uint8_t keyb[], size_t /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::SM4::name
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SM4>
      Src: /src/botan/src/lib/block/sm4/sm4.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::SM4::new_object
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SM4>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:82,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:82,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:82,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: Botan::SM4_T_slow
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SM4_T_slow(uint32_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:86,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:86,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:86,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:86,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:86,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:87,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: Botan::SM4_T
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    - Botan::get_byte
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SM4_T(uint32_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:96,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: Botan::SM4_Tp
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SM4_Tp(uint32_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:102,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:103,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:104,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - ' RK'
    - ' f'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - secure_vector<uint32_t>
    - F
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: Botan::SM4_E
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE SM4_E(\n   uint32_t& B0, uint32_t& B1, uint32_t&
      B2, uint32_t& B3, const secure_vector<uint32_t>& RK, F& f)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:119,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:120,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:121,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:122,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:123,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:124,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:125,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 10
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - ' C0'
    - ' C1'
    - ' C2'
    - ' C3'
    - ' RK'
    - ' f'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - secure_vector<uint32_t>
    - F
    constantsTouched: []
    func_position:
      end: 127
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 127
    functionName: Botan::SM4_E
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE SM4_E(uint32_t& B0,\n                              uint32_t&
      B1,\n                              uint32_t& B2,\n                              uint32_t&
      B3,\n                              uint32_t& C0,\n                              uint32_t&
      C1,\n                              uint32_t& C2,\n                              uint32_t&
      C3,\n                              const secure_vector<uint32_t>& RK,\n                              F&
      f)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:132,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:133,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:134,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - ' RK'
    - ' f'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - secure_vector<uint32_t>
    - F
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: Botan::SM4_D
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE SM4_D(\n   uint32_t& B0, uint32_t& B1, uint32_t&
      B2, uint32_t& B3, const secure_vector<uint32_t>& RK, F& f)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:149,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:150,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:151,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:152,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:153,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:154,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:155,1
    - Dst: f
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 10
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - ' C0'
    - ' C1'
    - ' C2'
    - ' C3'
    - ' RK'
    - ' f'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - secure_vector<uint32_t>
    - F
    constantsTouched: []
    func_position:
      end: 157
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 157
    functionName: Botan::SM4_D
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE SM4_D(uint32_t& B0,\n                              uint32_t&
      B1,\n                              uint32_t& B2,\n                              uint32_t&
      B3,\n                              uint32_t& C0,\n                              uint32_t&
      C1,\n                              uint32_t& C2,\n                              uint32_t&
      C3,\n                              const secure_vector<uint32_t>& RK,\n                              F&
      f)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:165,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:168,1
    - Dst: sm4_armv8_encrypt
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:169,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:174,1
    - Dst: sm4_x86_encrypt
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:175,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:180,1
    - Dst: sm4_gfni_encrypt
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:181,1
    - Dst: SM4_E<0>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:196,1
    - Dst: SM4_E<1>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:197,1
    - Dst: SM4_E<2>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:198,1
    - Dst: SM4_E<3>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:199,1
    - Dst: SM4_E<4>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:200,1
    - Dst: SM4_E<5>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:201,1
    - Dst: SM4_E<6>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:202,1
    - Dst: SM4_E<7>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:203,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:205,1
    - Dst: SM4_E<0>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:218,1
    - Dst: SM4_E<1>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:219,1
    - Dst: SM4_E<2>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:220,1
    - Dst: SM4_E<3>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:221,1
    - Dst: SM4_E<4>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:222,1
    - Dst: SM4_E<5>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:223,1
    - Dst: SM4_E<6>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:224,1
    - Dst: SM4_E<7>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:225,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 232
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 232
    functionName: Botan::SM4::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - SM4_E<7>
    - sm4_armv8_encrypt
    - sm4_x86_encrypt
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - sm4_gfni_encrypt
    - SM4_E<6>
    - assert_key_material_set
    - SM4_E<2>
    - SM4_E<4>
    - SM4_E<3>
    - SM4_E<0>
    - SM4_E<5>
    - store_be
    - SM4_E<1>
    linkageType: ''
    returnType: void
    signature: void SM4::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:238,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:241,1
    - Dst: sm4_armv8_decrypt
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:242,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:247,1
    - Dst: sm4_x86_decrypt
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:248,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:253,1
    - Dst: sm4_gfni_decrypt
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:254,1
    - Dst: SM4_D<7>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:269,1
    - Dst: SM4_D<6>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:270,1
    - Dst: SM4_D<5>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:271,1
    - Dst: SM4_D<4>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:272,1
    - Dst: SM4_D<3>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:273,1
    - Dst: SM4_D<2>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:274,1
    - Dst: SM4_D<1>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:275,1
    - Dst: SM4_D<0>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:276,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:278,1
    - Dst: SM4_D<7>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:291,1
    - Dst: SM4_D<6>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:292,1
    - Dst: SM4_D<5>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:293,1
    - Dst: SM4_D<4>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:294,1
    - Dst: SM4_D<3>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:295,1
    - Dst: SM4_D<2>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:296,1
    - Dst: SM4_D<1>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:297,1
    - Dst: SM4_D<0>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:298,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 305
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 305
    functionName: Botan::SM4::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - SM4_D<1>
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - SM4_D<3>
    - SM4_D<7>
    - sm4_gfni_decrypt
    - SM4_D<6>
    - assert_key_material_set
    - SM4_D<5>
    - SM4_D<2>
    - SM4_D<0>
    - sm4_x86_decrypt
    - store_be
    - SM4_D<4>
    - sm4_armv8_decrypt
    linkageType: ''
    returnType: void
    signature: void SM4::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: Botan::SM4::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool SM4::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:325,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:325,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:326,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:326,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:327,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:327,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:328,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:328,1
    - Dst: resize
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:330,1
    - Dst: SM4_Tp
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 335
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 335
    functionName: Botan::SM4::key_schedule
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - load_be<uint32_t>
    - resize
    - std::span<const uint8_t>::data
    - SM4_Tp
    linkageType: ''
    returnType: void
    signature: void SM4::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: Botan::SM4::clear
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void SM4::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:343,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 355
    functionName: Botan::SM4::parallelism
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: size_t
    signature: size_t SM4::parallelism() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:359,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/sm4/sm4.cpp:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 371
    functionName: Botan::SM4::provider
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string SM4::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:21,1
    - Dst: vqtbl1q_u8
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:21,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:21,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32x4_t
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Botan::qswap_32
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp
    functionUses: 0
    functionsReached:
    - vreinterpretq_u8_u32
    - vld1q_u8
    - vreinterpretq_u32_u8
    - vqtbl1q_u8
    linkageType: ''
    returnType: uint32x4_t
    signature: uint32x4_t qswap_32(uint32x4_t B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:25,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:25,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32x4_t
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::bswap_32
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp
    functionUses: 0
    functionsReached:
    - vreinterpretq_u8_u32
    - vreinterpretq_u32_u8
    - vrev32q_u8
    linkageType: ''
    returnType: uint32x4_t
    signature: uint32x4_t bswap_32(uint32x4_t B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:33,1
    - Dst: vqtbl1q_u8
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:33,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:33,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32x4_t
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::bqswap_32
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp
    functionUses: 0
    functionsReached:
    - vreinterpretq_u8_u32
    - vld1q_u8
    - vreinterpretq_u32_u8
    - vqtbl1q_u8
    linkageType: ''
    returnType: uint32x4_t
    signature: uint32x4_t bqswap_32(uint32x4_t B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:37,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:38,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:39,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - K
    argTypes:
    - uint32x4_t
    - uint32x4_t
    - uint32x4_t
    - uint32x4_t
    - uint32x4_t
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: Botan::BOTAN_FN_ISA_SM4::SM4_E
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp
    functionUses: 0
    functionsReached:
    - vsm4eq_u32
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_SM4 SM4_E(uint32x4_t& B0, uint32x4_t& B1, uint32x4_t&
      B2, uint32x4_t& B3, uint32x4_t K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:46,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:47,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:48,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:49,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:50,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:51,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:52,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:53,1
    - Dst: bswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:59,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:59,1
    - Dst: bswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:60,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:60,1
    - Dst: bswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:61,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:61,1
    - Dst: bswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:62,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:62,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:64,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:65,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:66,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:67,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:68,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:69,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:70,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:71,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:73,1
    - Dst: bqswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:73,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:74,1
    - Dst: bqswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:74,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:75,1
    - Dst: bqswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:75,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:76,1
    - Dst: bqswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:76,1
    - Dst: bswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:84,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:84,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:86,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:87,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:88,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:89,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:90,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:91,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:92,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:93,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:95,1
    - Dst: bqswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 3
    argNames:
    - input8
    - output8
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 100
    functionName: Botan::BOTAN_FN_ISA_SM4::sm4_armv8_encrypt
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp
    functionUses: 0
    functionsReached:
    - bqswap_32
    - vld1q_u32
    - vsm4eq_u32
    - vst1q_u32
    - bswap_32
    - Botan::BOTAN_FN_ISA_SM4::SM4_E
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_SM4 SM4::sm4_armv8_encrypt(const uint8_t input8[],
      uint8_t output8[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:103,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:103,1
    - Dst: qswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:104,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:104,1
    - Dst: qswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:105,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:105,1
    - Dst: qswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:106,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:106,1
    - Dst: qswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:107,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:107,1
    - Dst: qswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:108,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:108,1
    - Dst: qswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:109,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:109,1
    - Dst: qswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:110,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:110,1
    - Dst: bswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:116,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:116,1
    - Dst: bswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:117,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:117,1
    - Dst: bswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:118,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:118,1
    - Dst: bswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:119,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:119,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:121,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:122,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:123,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:124,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:125,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:126,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:127,1
    - Dst: Botan::BOTAN_FN_ISA_SM4::SM4_E
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:128,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:130,1
    - Dst: bqswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:130,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:131,1
    - Dst: bqswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:131,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:132,1
    - Dst: bqswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:132,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:133,1
    - Dst: bqswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:133,1
    - Dst: bswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:141,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:141,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:143,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:144,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:145,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:146,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:147,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:148,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:149,1
    - Dst: vsm4eq_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:150,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:152,1
    - Dst: bqswap_32
      Src: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 3
    argNames:
    - input8
    - output8
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 157
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 157
    functionName: Botan::BOTAN_FN_ISA_SM4::sm4_armv8_decrypt
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp
    functionUses: 0
    functionsReached:
    - bqswap_32
    - vld1q_u32
    - vsm4eq_u32
    - vst1q_u32
    - qswap_32
    - bswap_32
    - Botan::BOTAN_FN_ISA_SM4::SM4_E
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_SM4 SM4::sm4_armv8_decrypt(const uint8_t input8[],
      uint8_t output8[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:18,1
    - Dst: _mm256_sm4rnds4_epi32
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:18,1
    - Dst: raw
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:18,1
    - Dst: raw
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' b'
    - ' k'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: Botan::sm4_x86_rnds4
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp
    functionUses: 0
    functionsReached:
    - _mm256_sm4rnds4_epi32
    - SIMD_8x32
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sm4_x86_rnds4(const SIMD_8x32& b, const SIMD_8x32&
      k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:24,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:27,1
    - Dst: Botan::sm4_x86_rnds4
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:28,1
    - Dst: auto::reverse
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - out
    - inp
    - RK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - std::span<const uint32_t>
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: Botan::sm4_x86_encrypt_x2
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp
    functionUses: 0
    functionsReached:
    - Botan::sm4_x86_rnds4
    - Botan::SIMD_8x32::load_le128
    - auto::reverse
    - Botan::SIMD_8x32::load_be
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE sm4_x86_encrypt_x2(uint8_t out[2 * 16],\n                                                                 const
      uint8_t inp[2 * 16],\n                                                                 std::span<const
      uint32_t> RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:37,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:38,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:39,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:40,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:43,1
    - Dst: Botan::sm4_x86_rnds4
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:44,1
    - Dst: Botan::sm4_x86_rnds4
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:45,1
    - Dst: Botan::sm4_x86_rnds4
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:46,1
    - Dst: Botan::sm4_x86_rnds4
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:47,1
    - Dst: auto::reverse
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:50,1
    - Dst: auto::reverse
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:51,1
    - Dst: auto::reverse
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:52,1
    - Dst: auto::reverse
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - out
    - inp
    - RK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - std::span<const uint32_t>
    constantsTouched: []
    func_position:
      end: 54
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 54
    functionName: Botan::sm4_x86_encrypt_x8
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp
    functionUses: 0
    functionsReached:
    - Botan::sm4_x86_rnds4
    - Botan::SIMD_8x32::load_le128
    - auto::reverse
    - Botan::SIMD_8x32::load_be
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE sm4_x86_encrypt_x8(uint8_t out[8 * 16],\n                                                                 const
      uint8_t inp[8 * 16],\n                                                                 std::span<const
      uint32_t> RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:59,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:62,1
    - Dst: Botan::sm4_x86_rnds4
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:63,1
    - Dst: auto::reverse
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - out
    - inp
    - RK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - std::span<const uint32_t>
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: Botan::sm4_x86_decrypt_x2
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp
    functionUses: 0
    functionsReached:
    - Botan::sm4_x86_rnds4
    - Botan::SIMD_8x32::load_le128
    - auto::reverse
    - Botan::SIMD_8x32::load_be
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE sm4_x86_decrypt_x2(uint8_t out[2 * 16],\n                                                                 const
      uint8_t inp[2 * 16],\n                                                                 std::span<const
      uint32_t> RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:72,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:73,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:74,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:75,1
    - Dst: Botan::SIMD_8x32::load_le128
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:78,1
    - Dst: Botan::sm4_x86_rnds4
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:79,1
    - Dst: Botan::sm4_x86_rnds4
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:80,1
    - Dst: Botan::sm4_x86_rnds4
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:81,1
    - Dst: Botan::sm4_x86_rnds4
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:82,1
    - Dst: auto::reverse
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:85,1
    - Dst: auto::reverse
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:86,1
    - Dst: auto::reverse
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:87,1
    - Dst: auto::reverse
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - out
    - inp
    - RK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - std::span<const uint32_t>
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: Botan::sm4_x86_decrypt_x8
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp
    functionUses: 0
    functionsReached:
    - Botan::sm4_x86_rnds4
    - Botan::SIMD_8x32::load_le128
    - auto::reverse
    - Botan::SIMD_8x32::load_be
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE sm4_x86_decrypt_x8(uint8_t out[8 * 16],\n                                                                 const
      uint8_t inp[8 * 16],\n                                                                 std::span<const
      uint32_t> RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sm4_x86_encrypt_x8
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:95,1
    - Dst: sm4_x86_encrypt_x2
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:102,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:111,1
    - Dst: sm4_x86_encrypt_x2
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:112,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - inp
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 115
    functionName: Botan::BOTAN_FN_ISA_AVX2_SM4::sm4_x86_encrypt
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - sm4_x86_encrypt_x8
    - sm4_x86_encrypt_x2
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX2_SM4 SM4::sm4_x86_encrypt(const uint8_t inp[],
      uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sm4_x86_decrypt_x8
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:119,1
    - Dst: sm4_x86_decrypt_x2
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:126,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:135,1
    - Dst: sm4_x86_decrypt_x2
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:136,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - inp
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 139
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 139
    functionName: Botan::BOTAN_FN_ISA_AVX2_SM4::sm4_x86_decrypt
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_x86/sm4_x86.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - sm4_x86_decrypt_x8
    - sm4_x86_decrypt_x2
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX2_SM4 SM4::sm4_x86_decrypt(const uint8_t inp[],
      uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::gf2p8affine
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:47,1
    - Dst: Botan::gf2p8affineinv
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 49
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 49
    functionName: Botan::sm4_sbox
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp
    functionUses: 0
    functionsReached:
    - Botan::gf2p8affineinv
    - Botan::gf2p8affine
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sm4_sbox(const SIMD_8x32& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sm4_sbox
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:52,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:53,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:53,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:53,1
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: Botan::sm4_f
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp
    functionUses: 0
    functionsReached:
    - SIMD_8x32::rotl
    - Botan::sm4_sbox
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sm4_f(const SIMD_8x32& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:59,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:60,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:61,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:62,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:64,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:66,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:67,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:68,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:69,1
    - Dst: Botan::sm4_f
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:72,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:72,1
    - Dst: Botan::sm4_f
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:73,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:73,1
    - Dst: Botan::sm4_f
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:74,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:74,1
    - Dst: Botan::sm4_f
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:75,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:75,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:78,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:80,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:81,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:82,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ptext
    - ctext
    - RK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - std::span<const uint32_t>
    constantsTouched: []
    func_position:
      end: 84
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 84
    functionName: Botan::sm4_gfni_encrypt_8
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp
    functionUses: 0
    functionsReached:
    - SIMD_8x32::rev_words
    - Botan::SIMD_8x32::load_be
    - Botan::sm4_f
    - Botan::SIMD_8x32::splat
    - Botan::SIMD_8x32::transpose
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE sm4_gfni_encrypt_8(const uint8_t ptext[8 * 16],\n
      \                                                                 uint8_t ctext[8
      * 16],\n                                                                  std::span<const
      uint32_t> RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:89,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:90,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:91,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:92,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:94,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:96,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:97,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:98,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:99,1
    - Dst: Botan::sm4_f
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:102,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:102,1
    - Dst: Botan::sm4_f
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:103,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:103,1
    - Dst: Botan::sm4_f
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:104,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:104,1
    - Dst: Botan::sm4_f
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:105,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:105,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:108,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:110,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:111,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:112,1
    - Dst: SIMD_8x32::rev_words
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ctext
    - ptext
    - RK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - std::span<const uint32_t>
    constantsTouched: []
    func_position:
      end: 114
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 114
    functionName: Botan::sm4_gfni_decrypt_8
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp
    functionUses: 0
    functionsReached:
    - SIMD_8x32::rev_words
    - Botan::SIMD_8x32::load_be
    - Botan::sm4_f
    - Botan::SIMD_8x32::splat
    - Botan::SIMD_8x32::transpose
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE sm4_gfni_decrypt_8(const uint8_t ctext[8 * 16],\n
      \                                                                 uint8_t ptext[8
      * 16],\n                                                                  std::span<const
      uint32_t> RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sm4_gfni_encrypt_8
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:120,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:129,1
    - Dst: sm4_gfni_encrypt_8
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:130,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ptext
    - ctext
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: Botan::BOTAN_FN_ISA_AVX2_GFNI::sm4_gfni_encrypt
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - sm4_gfni_encrypt_8
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX2_GFNI SM4::sm4_gfni_encrypt(const uint8_t ptext[],
      uint8_t ctext[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sm4_gfni_decrypt_8
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:137,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:146,1
    - Dst: sm4_gfni_decrypt_8
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:147,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ctext
    - ptext
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: Botan::BOTAN_FN_ISA_AVX2_GFNI::sm4_gfni_decrypt
    functionSourceFile: /src/botan/src/lib/block/sm4/sm4_gfni/sm4_gfni.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - sm4_gfni_decrypt_8
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX2_GFNI SM4::sm4_gfni_decrypt(const uint8_t ctext[],
      uint8_t ptext[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::IDEA::name
    functionSourceFile: /src/botan/src/lib/block/idea/idea.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IDEA>
      Src: /src/botan/src/lib/block/idea/idea.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::IDEA::new_object
    functionSourceFile: /src/botan/src/lib/block/idea/idea.h
    functionUses: 0
    functionsReached:
    - std::make_unique<IDEA>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CT::Mask<uint16_t>
      Src: /src/botan/src/lib/block/idea/idea.cpp:26,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/block/idea/idea.cpp:26,1
    - Dst: auto::select
      Src: /src/botan/src/lib/block/idea/idea.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 36
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 36
    functionName: Botan::mul
    functionSourceFile: /src/botan/src/lib/block/idea/idea.cpp
    functionUses: 4
    functionsReached:
    - auto::select
    - Botan::Sodium::sodium_is_zero
    - CT::Mask<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t mul(uint16_t x, uint16_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mul
      Src: /src/botan/src/lib/block/idea/idea.cpp:53,1
    - Dst: Botan::mul
      Src: /src/botan/src/lib/block/idea/idea.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: Botan::mul_inv
    functionSourceFile: /src/botan/src/lib/block/idea/idea.cpp
    functionUses: 0
    functionsReached:
    - Botan::mul
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t mul_inv(uint16_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/idea/idea.cpp:66,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/idea/idea.cpp:67,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/idea/idea.cpp:68,1
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/block/idea/idea.cpp:72,1
    - Dst: Botan::mul
      Src: /src/botan/src/lib/block/idea/idea.cpp:75,1
    - Dst: Botan::mul
      Src: /src/botan/src/lib/block/idea/idea.cpp:78,1
    - Dst: Botan::mul
      Src: /src/botan/src/lib/block/idea/idea.cpp:81,1
    - Dst: Botan::mul
      Src: /src/botan/src/lib/block/idea/idea.cpp:84,1
    - Dst: Botan::mul
      Src: /src/botan/src/lib/block/idea/idea.cpp:93,1
    - Dst: Botan::mul
      Src: /src/botan/src/lib/block/idea/idea.cpp:96,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/block/idea/idea.cpp:98,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/idea/idea.cpp:101,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/idea/idea.cpp:102,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/idea/idea.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 4
    argNames:
    - in
    - out
    - blocks
    - K
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - uint16_t[]
    constantsTouched: []
    func_position:
      end: 104
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 104
    functionName: Botan::idea_op
    functionSourceFile: /src/botan/src/lib/block/idea/idea.cpp
    functionUses: 0
    functionsReached:
    - Botan::mul
    - Botan::CT::poison
    - Botan::CT::unpoison
    - Botan::store_be
    - Botan::load_be
    linkageType: ''
    returnType: void
    signature: void idea_op(const uint8_t in[], uint8_t out[], size_t blocks, const
      uint16_t K[52])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/idea/idea.cpp:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: Botan::IDEA::parallelism
    functionSourceFile: /src/botan/src/lib/block/idea/idea.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: size_t
    signature: size_t IDEA::parallelism() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/idea/idea.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: Botan::IDEA::provider
    functionSourceFile: /src/botan/src/lib/block/idea/idea.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string IDEA::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/idea/idea.cpp:132,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/idea/idea.cpp:135,1
    - Dst: Botan::IDEA::sse2_idea_op_8
      Src: /src/botan/src/lib/block/idea/idea.cpp:137,1
    - Dst: data
      Src: /src/botan/src/lib/block/idea/idea.cpp:137,1
    - Dst: idea_op
      Src: /src/botan/src/lib/block/idea/idea.cpp:145,1
    - Dst: data
      Src: /src/botan/src/lib/block/idea/idea.cpp:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 146
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 146
    functionName: Botan::IDEA::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/idea/idea.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - idea_op
    - data
    - Botan::IDEA::sse2_idea_op_8
    - assert_key_material_set
    linkageType: ''
    returnType: void
    signature: void IDEA::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/idea/idea.cpp:152,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/idea/idea.cpp:155,1
    - Dst: Botan::IDEA::sse2_idea_op_8
      Src: /src/botan/src/lib/block/idea/idea.cpp:157,1
    - Dst: data
      Src: /src/botan/src/lib/block/idea/idea.cpp:157,1
    - Dst: idea_op
      Src: /src/botan/src/lib/block/idea/idea.cpp:165,1
    - Dst: data
      Src: /src/botan/src/lib/block/idea/idea.cpp:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: Botan::IDEA::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/idea/idea.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - idea_op
    - data
    - Botan::IDEA::sse2_idea_op_8
    - assert_key_material_set
    linkageType: ''
    returnType: void
    signature: void IDEA::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/idea/idea.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: Botan::IDEA::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/idea/idea.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool IDEA::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/idea/idea.cpp:176,1
    - Dst: resize
      Src: /src/botan/src/lib/block/idea/idea.cpp:177,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/idea/idea.cpp:179,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/idea/idea.cpp:179,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/idea/idea.cpp:180,1
    - Dst: data
      Src: /src/botan/src/lib/block/idea/idea.cpp:180,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/idea/idea.cpp:181,1
    - Dst: data
      Src: /src/botan/src/lib/block/idea/idea.cpp:181,1
    - Dst: load_be<uint64_t>
      Src: /src/botan/src/lib/block/idea/idea.cpp:185,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/idea/idea.cpp:185,1
    - Dst: load_be<uint64_t>
      Src: /src/botan/src/lib/block/idea/idea.cpp:186,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/idea/idea.cpp:186,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/block/idea/idea.cpp:190,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/block/idea/idea.cpp:201,1
    - Dst: mul_inv
      Src: /src/botan/src/lib/block/idea/idea.cpp:204,1
    - Dst: mul_inv
      Src: /src/botan/src/lib/block/idea/idea.cpp:207,1
    - Dst: mul_inv
      Src: /src/botan/src/lib/block/idea/idea.cpp:212,1
    - Dst: mul_inv
      Src: /src/botan/src/lib/block/idea/idea.cpp:215,1
    - Dst: std::swap
      Src: /src/botan/src/lib/block/idea/idea.cpp:218,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/idea/idea.cpp:220,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/idea/idea.cpp:220,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/idea/idea.cpp:221,1
    - Dst: data
      Src: /src/botan/src/lib/block/idea/idea.cpp:221,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/idea/idea.cpp:222,1
    - Dst: data
      Src: /src/botan/src/lib/block/idea/idea.cpp:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 223
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 223
    functionName: Botan::IDEA::key_schedule
    functionSourceFile: /src/botan/src/lib/block/idea/idea.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - data
    - std::swap
    - mul_inv
    - Botan::CT::poison
    - resize
    - load_be<uint64_t>
    - Botan::CT::unpoison
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void IDEA::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/idea/idea.cpp:226,1
    - Dst: zap
      Src: /src/botan/src/lib/block/idea/idea.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: Botan::IDEA::clear
    functionSourceFile: /src/botan/src/lib/block/idea/idea.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void IDEA::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set1_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:19,1
    - Dst: _mm_set1_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:20,1
    - Dst: _mm_set1_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:22,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:24,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:25,1
    - Dst: _mm_mullo_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:27,1
    - Dst: _mm_mulhi_epu16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:28,1
    - Dst: _mm_sub_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:30,1
    - Dst: _mm_subs_epu16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:33,1
    - Dst: _mm_min_epu8
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:34,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:34,1
    - Dst: _mm_srli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:34,1
    - Dst: _mm_add_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:36,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:45,1
    - Dst: _mm_andnot_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:45,1
    - Dst: _mm_and_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:45,1
    - Dst: _mm_sub_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:45,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:47,1
    - Dst: _mm_andnot_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:47,1
    - Dst: _mm_and_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:47,1
    - Dst: _mm_sub_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - X
    - K_16
    argTypes:
    - __m128i
    - uint16_t
    constantsTouched: []
    func_position:
      end: 50
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 50
    functionName: Botan::mul
    functionSourceFile: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp
    functionUses: 6
    functionsReached:
    - _mm_set1_epi16
    - _mm_srli_epi16
    - _mm_mullo_epi16
    - _mm_add_epi16
    - _mm_mulhi_epu16
    - _mm_or_si128
    - _mm_cmpeq_epi16
    - _mm_andnot_si128
    - _mm_sub_epi16
    - _mm_subs_epu16
    - _mm_and_si128
    - _mm_min_epu8
    linkageType: ''
    returnType: BOTAN_FN_ISA_SSE2
    signature: BOTAN_FN_ISA_SSE2 mul(__m128i X, uint16_t K_16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_unpackhi_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:61,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:62,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:63,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:64,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:66,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:67,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:68,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:69,1
    - Dst: _mm_shufflehi_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:71,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:71,1
    - Dst: _mm_shufflehi_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:72,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:72,1
    - Dst: _mm_shufflehi_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:73,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:73,1
    - Dst: _mm_shufflehi_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:74,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:74,1
    - Dst: _mm_shufflelo_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:76,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:76,1
    - Dst: _mm_shufflelo_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:77,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:77,1
    - Dst: _mm_shufflelo_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:78,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:78,1
    - Dst: _mm_shufflelo_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:79,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:79,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:81,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:81,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:82,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:82,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:83,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:83,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:84,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:84,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:86,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:87,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:88,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 4
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 90
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 90
    functionName: Botan::transpose_in
    functionSourceFile: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp
    functionUses: 0
    functionsReached:
    - _mm_shufflehi_epi16
    - _mm_unpackhi_epi64
    - _mm_shufflelo_epi16
    - _mm_unpacklo_epi32
    - _mm_unpacklo_epi64
    - _mm_shuffle_epi32
    - _mm_unpackhi_epi32
    - _MM_SHUFFLE
    linkageType: ''
    returnType: BOTAN_FN_ISA_SSE2
    signature: BOTAN_FN_ISA_SSE2 transpose_in(__m128i& B0, __m128i& B1, __m128i& B2,
      __m128i& B3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:96,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:97,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:98,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:99,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:101,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:101,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:102,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:102,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:103,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:103,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:104,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:104,1
    - Dst: _mm_shufflehi_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:106,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:106,1
    - Dst: _mm_shufflehi_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:107,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:107,1
    - Dst: _mm_shufflehi_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:108,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:108,1
    - Dst: _mm_shufflehi_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:109,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:109,1
    - Dst: _mm_shufflelo_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:111,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:111,1
    - Dst: _mm_shufflelo_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:112,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:112,1
    - Dst: _mm_shufflelo_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:113,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:113,1
    - Dst: _mm_shufflelo_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:114,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:114,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:116,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:117,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:118,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 4
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 120
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 120
    functionName: Botan::transpose_out
    functionSourceFile: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp
    functionUses: 0
    functionsReached:
    - _mm_unpackhi_epi64
    - _mm_shufflehi_epi16
    - _mm_shufflelo_epi16
    - _mm_unpacklo_epi32
    - _mm_unpacklo_epi64
    - _mm_shuffle_epi32
    - _mm_unpackhi_epi32
    - _MM_SHUFFLE
    linkageType: ''
    returnType: BOTAN_FN_ISA_SSE2
    signature: BOTAN_FN_ISA_SSE2 transpose_out(__m128i& B0, __m128i& B1, __m128i&
      B2, __m128i& B3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:128,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:129,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:130,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:132,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:134,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:135,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:136,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:137,1
    - Dst: transpose_in
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:139,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:142,1
    - Dst: _mm_slli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:142,1
    - Dst: _mm_srli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:142,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:143,1
    - Dst: _mm_slli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:143,1
    - Dst: _mm_srli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:143,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:144,1
    - Dst: _mm_slli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:144,1
    - Dst: _mm_srli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:144,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:145,1
    - Dst: _mm_slli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:145,1
    - Dst: _mm_srli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:145,1
    - Dst: mul
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:148,1
    - Dst: _mm_add_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:149,1
    - Dst: _mm_set1_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:149,1
    - Dst: _mm_add_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:150,1
    - Dst: _mm_set1_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:150,1
    - Dst: mul
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:151,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:154,1
    - Dst: mul
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:155,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:159,1
    - Dst: _mm_add_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:160,1
    - Dst: mul
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:161,1
    - Dst: _mm_add_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:163,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:165,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:166,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:167,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:168,1
    - Dst: mul
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:171,1
    - Dst: _mm_add_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:172,1
    - Dst: _mm_set1_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:172,1
    - Dst: _mm_add_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:173,1
    - Dst: _mm_set1_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:173,1
    - Dst: mul
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:174,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:177,1
    - Dst: _mm_slli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:177,1
    - Dst: _mm_srli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:177,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:178,1
    - Dst: _mm_slli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:178,1
    - Dst: _mm_srli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:178,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:179,1
    - Dst: _mm_slli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:179,1
    - Dst: _mm_srli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:179,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:180,1
    - Dst: _mm_slli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:180,1
    - Dst: _mm_srli_epi16
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:180,1
    - Dst: transpose_out
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:182,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:184,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:186,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:187,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:188,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:189,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:191,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:192,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 3
    argNames:
    - in
    - out
    - EK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint16_t[]
    constantsTouched: []
    func_position:
      end: 194
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 194
    functionName: Botan::IDEA::sse2_idea_op_8
    functionSourceFile: /src/botan/src/lib/block/idea/idea_sse2/idea_sse2.cpp
    functionUses: 2
    functionsReached:
    - _mm_slli_epi16
    - reinterpret_cast<__m128i*>
    - _mm_srli_epi16
    - transpose_in
    - _mm_add_epi16
    - reinterpret_cast<const __m128i*>
    - _mm_set1_epi16
    - _mm_xor_si128
    - _mm_storeu_si128
    - _mm_or_si128
    - Botan::CT::unpoison
    - transpose_out
    - Botan::CT::poison
    - _mm_loadu_si128
    - mul
    linkageType: ''
    returnType: BOTAN_FN_ISA_SSE2
    signature: BOTAN_FN_ISA_SSE2 IDEA::sse2_idea_op_8(const uint8_t in[64], uint8_t
      out[64], const uint16_t EK[52])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::ARIA_128::name
    functionSourceFile: /src/botan/src/lib/block/aria/aria.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ARIA_128>
      Src: /src/botan/src/lib/block/aria/aria.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::ARIA_128::new_object
    functionSourceFile: /src/botan/src/lib/block/aria/aria.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ARIA_128>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Botan::ARIA_192::name
    functionSourceFile: /src/botan/src/lib/block/aria/aria.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ARIA_192>
      Src: /src/botan/src/lib/block/aria/aria.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan::ARIA_192::new_object
    functionSourceFile: /src/botan/src/lib/block/aria/aria.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ARIA_192>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Botan::ARIA_256::name
    functionSourceFile: /src/botan/src/lib/block/aria/aria.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ARIA_256>
      Src: /src/botan/src/lib/block/aria/aria.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Botan::ARIA_256::new_object
    functionSourceFile: /src/botan/src/lib/block/aria/aria.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ARIA_256>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/aria/aria.cpp:102,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/block/aria/aria.cpp:102,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/block/aria/aria.cpp:102,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/aria/aria.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - X
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: Botan::ARIA_F::ARIA_F1
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - get_byte<0>
    - get_byte<1>
    - get_byte<2>
    - get_byte<3>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ARIA_F1(uint32_t X)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/aria/aria.cpp:111,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/block/aria/aria.cpp:111,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/block/aria/aria.cpp:111,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/aria/aria.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - X
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: Botan::ARIA_F::ARIA_F2
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - get_byte<0>
    - get_byte<1>
    - get_byte<2>
    - get_byte<3>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ARIA_F2(uint32_t X)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ARIA_F::ARIA_F1
      Src: /src/botan/src/lib/block/aria/aria.cpp:115,1
    - Dst: Botan::ARIA_F::ARIA_F1
      Src: /src/botan/src/lib/block/aria/aria.cpp:116,1
    - Dst: Botan::ARIA_F::ARIA_F1
      Src: /src/botan/src/lib/block/aria/aria.cpp:117,1
    - Dst: Botan::ARIA_F::ARIA_F1
      Src: /src/botan/src/lib/block/aria/aria.cpp:118,1
    - Dst: rotr<16>
      Src: /src/botan/src/lib/block/aria/aria.cpp:128,1
    - Dst: reverse_bytes
      Src: /src/botan/src/lib/block/aria/aria.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 4
    argNames:
    - ' T0'
    - ' T1'
    - ' T2'
    - ' T3'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 137
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 137
    functionName: Botan::ARIA_F::ARIA_FO
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - Botan::ARIA_F::ARIA_F1
    - rotr<16>
    - reverse_bytes
    linkageType: ''
    returnType: void
    signature: void ARIA_FO(uint32_t& T0, uint32_t& T1, uint32_t& T2, uint32_t& T3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ARIA_F::ARIA_F2
      Src: /src/botan/src/lib/block/aria/aria.cpp:140,1
    - Dst: Botan::ARIA_F::ARIA_F2
      Src: /src/botan/src/lib/block/aria/aria.cpp:141,1
    - Dst: Botan::ARIA_F::ARIA_F2
      Src: /src/botan/src/lib/block/aria/aria.cpp:142,1
    - Dst: Botan::ARIA_F::ARIA_F2
      Src: /src/botan/src/lib/block/aria/aria.cpp:143,1
    - Dst: rotr<16>
      Src: /src/botan/src/lib/block/aria/aria.cpp:153,1
    - Dst: reverse_bytes
      Src: /src/botan/src/lib/block/aria/aria.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 4
    argNames:
    - ' T0'
    - ' T1'
    - ' T2'
    - ' T3'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: Botan::ARIA_F::ARIA_FE
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - rotr<16>
    - reverse_bytes
    - Botan::ARIA_F::ARIA_F2
    linkageType: ''
    returnType: void
    signature: void ARIA_FE(uint32_t& T0, uint32_t& T1, uint32_t& T2, uint32_t& T3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefetch_arrays
      Src: /src/botan/src/lib/block/aria/aria.cpp:168,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/aria/aria.cpp:174,1
    - Dst: Botan::ARIA_F::ARIA_FO
      Src: /src/botan/src/lib/block/aria/aria.cpp:181,1
    - Dst: Botan::ARIA_F::ARIA_FE
      Src: /src/botan/src/lib/block/aria/aria.cpp:189,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/aria/aria.cpp:193,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/aria/aria.cpp:193,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/block/aria/aria.cpp:194,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/block/aria/aria.cpp:194,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/block/aria/aria.cpp:195,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/block/aria/aria.cpp:195,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/aria/aria.cpp:196,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/aria/aria.cpp:196,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/aria/aria.cpp:197,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/aria/aria.cpp:197,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/block/aria/aria.cpp:198,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/block/aria/aria.cpp:198,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/block/aria/aria.cpp:199,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/block/aria/aria.cpp:199,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/aria/aria.cpp:200,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/aria/aria.cpp:200,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/aria/aria.cpp:201,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/aria/aria.cpp:201,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/block/aria/aria.cpp:202,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/block/aria/aria.cpp:202,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/block/aria/aria.cpp:203,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/block/aria/aria.cpp:203,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/aria/aria.cpp:204,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/aria/aria.cpp:204,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/aria/aria.cpp:205,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/aria/aria.cpp:205,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/block/aria/aria.cpp:206,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/block/aria/aria.cpp:206,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/block/aria/aria.cpp:207,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/block/aria/aria.cpp:207,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/aria/aria.cpp:208,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/aria/aria.cpp:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 4
    argNames:
    - in
    - out
    - blocks
    - ' KS'
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 210
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 210
    functionName: Botan::ARIA_F::transform
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - prefetch_arrays
    - get_byte<0>
    - load_be
    - get_byte<1>
    - Botan::ARIA_F::ARIA_FE
    - Botan::ARIA_F::ARIA_FO
    - get_byte<3>
    - get_byte<2>
    linkageType: ''
    returnType: void
    signature: void transform(const uint8_t in[], uint8_t out[], size_t blocks, const
      secure_vector<uint32_t>& KS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - X
    - Y
    - KS
    argTypes:
    - uint32_t[]
    - uint32_t[]
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: Botan::ARIA_F::ARIA_ROL128
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ARIA_ROL128(const uint32_t X[4], const uint32_t Y[4], uint32_t
      KS[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotr<8>
      Src: /src/botan/src/lib/block/aria/aria.cpp:226,1
    - Dst: rotr<16>
      Src: /src/botan/src/lib/block/aria/aria.cpp:226,1
    - Dst: rotr<24>
      Src: /src/botan/src/lib/block/aria/aria.cpp:226,1
    - Dst: rotr<8>
      Src: /src/botan/src/lib/block/aria/aria.cpp:227,1
    - Dst: rotr<16>
      Src: /src/botan/src/lib/block/aria/aria.cpp:227,1
    - Dst: rotr<24>
      Src: /src/botan/src/lib/block/aria/aria.cpp:227,1
    - Dst: rotr<8>
      Src: /src/botan/src/lib/block/aria/aria.cpp:228,1
    - Dst: rotr<16>
      Src: /src/botan/src/lib/block/aria/aria.cpp:228,1
    - Dst: rotr<24>
      Src: /src/botan/src/lib/block/aria/aria.cpp:228,1
    - Dst: rotr<8>
      Src: /src/botan/src/lib/block/aria/aria.cpp:229,1
    - Dst: rotr<16>
      Src: /src/botan/src/lib/block/aria/aria.cpp:229,1
    - Dst: rotr<24>
      Src: /src/botan/src/lib/block/aria/aria.cpp:229,1
    - Dst: rotr<16>
      Src: /src/botan/src/lib/block/aria/aria.cpp:239,1
    - Dst: reverse_bytes
      Src: /src/botan/src/lib/block/aria/aria.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 4
    argNames:
    - ' K0'
    - ' K1'
    - ' K2'
    - ' K3'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 248
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 248
    functionName: Botan::ARIA_F::aria_ks_dk_transform
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - rotr<8>
    - rotr<16>
    - rotr<24>
    - reverse_bytes
    linkageType: ''
    returnType: void
    signature: void aria_ks_dk_transform(uint32_t& K0, uint32_t& K1, uint32_t& K2,
      uint32_t& K3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/aria/aria.cpp:267,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aria/aria.cpp:267,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/aria/aria.cpp:268,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aria/aria.cpp:268,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/aria/aria.cpp:269,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aria/aria.cpp:269,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/aria/aria.cpp:270,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aria/aria.cpp:270,1
    - Dst: Botan::ARIA_F::ARIA_FO
      Src: /src/botan/src/lib/block/aria/aria.cpp:277,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aria/aria.cpp:279,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aria/aria.cpp:279,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/aria/aria.cpp:280,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aria/aria.cpp:280,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/aria/aria.cpp:281,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aria/aria.cpp:281,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aria/aria.cpp:283,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/aria/aria.cpp:284,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aria/aria.cpp:284,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/aria/aria.cpp:285,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/aria/aria.cpp:285,1
    - Dst: Botan::ARIA_F::ARIA_FE
      Src: /src/botan/src/lib/block/aria/aria.cpp:293,1
    - Dst: Botan::ARIA_F::ARIA_FO
      Src: /src/botan/src/lib/block/aria/aria.cpp:305,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aria/aria.cpp:312,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aria/aria.cpp:313,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aria/aria.cpp:314,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aria/aria.cpp:315,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aria/aria.cpp:316,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aria/aria.cpp:317,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:320,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:321,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:322,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:323,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:324,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:325,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:326,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:327,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:328,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:329,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:330,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:331,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:332,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aria/aria.cpp:334,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aria/aria.cpp:334,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:335,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:336,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/aria/aria.cpp:338,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:339,1
    - Dst: Botan::ARIA_F::ARIA_ROL128
      Src: /src/botan/src/lib/block/aria/aria.cpp:340,1
    - Dst: resize
      Src: /src/botan/src/lib/block/aria/aria.cpp:345,1
    - Dst: size
      Src: /src/botan/src/lib/block/aria/aria.cpp:345,1
    - Dst: size
      Src: /src/botan/src/lib/block/aria/aria.cpp:347,1
    - Dst: size
      Src: /src/botan/src/lib/block/aria/aria.cpp:348,1
    - Dst: size
      Src: /src/botan/src/lib/block/aria/aria.cpp:349,1
    - Dst: size
      Src: /src/botan/src/lib/block/aria/aria.cpp:350,1
    - Dst: size
      Src: /src/botan/src/lib/block/aria/aria.cpp:351,1
    - Dst: size
      Src: /src/botan/src/lib/block/aria/aria.cpp:354,1
    - Dst: Botan::ARIA_F::aria_ks_dk_transform
      Src: /src/botan/src/lib/block/aria/aria.cpp:355,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 76
    argCount: 3
    argNames:
    - ' ERK'
    - ' DRK'
    - key
    argTypes:
    - secure_vector<uint32_t>
    - secure_vector<uint32_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 357
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 357
    functionName: Botan::ARIA_F::key_schedule
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - Botan::ARIA_F::ARIA_ROL128
    - Botan::ARIA_F::aria_ks_dk_transform
    - size
    - load_be<uint32_t>
    - Botan::ARIA_F::ARIA_FE
    - Botan::ARIA_F::ARIA_FO
    - resize
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void key_schedule(secure_vector<uint32_t>& ERK, secure_vector<uint32_t>&
      DRK, std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aria/aria.cpp:364,1
    - Dst: Botan::ARIA_F::transform
      Src: /src/botan/src/lib/block/aria/aria.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: Botan::ARIA_128::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - Botan::ARIA_F::transform
    - assert_key_material_set
    linkageType: ''
    returnType: void
    signature: void ARIA_128::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aria/aria.cpp:369,1
    - Dst: Botan::ARIA_F::transform
      Src: /src/botan/src/lib/block/aria/aria.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 3
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: Botan::ARIA_192::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - Botan::ARIA_F::transform
    - assert_key_material_set
    linkageType: ''
    returnType: void
    signature: void ARIA_192::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aria/aria.cpp:374,1
    - Dst: Botan::ARIA_F::transform
      Src: /src/botan/src/lib/block/aria/aria.cpp:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: Botan::ARIA_256::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - Botan::ARIA_F::transform
    - assert_key_material_set
    linkageType: ''
    returnType: void
    signature: void ARIA_256::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aria/aria.cpp:379,1
    - Dst: Botan::ARIA_F::transform
      Src: /src/botan/src/lib/block/aria/aria.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: Botan::ARIA_128::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - Botan::ARIA_F::transform
    - assert_key_material_set
    linkageType: ''
    returnType: void
    signature: void ARIA_128::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aria/aria.cpp:384,1
    - Dst: Botan::ARIA_F::transform
      Src: /src/botan/src/lib/block/aria/aria.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: Botan::ARIA_192::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - Botan::ARIA_F::transform
    - assert_key_material_set
    linkageType: ''
    returnType: void
    signature: void ARIA_192::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/aria/aria.cpp:389,1
    - Dst: Botan::ARIA_F::transform
      Src: /src/botan/src/lib/block/aria/aria.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: Botan::ARIA_256::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - Botan::ARIA_F::transform
    - assert_key_material_set
    linkageType: ''
    returnType: void
    signature: void ARIA_256::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/aria/aria.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: Botan::ARIA_128::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool ARIA_128::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/aria/aria.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: Botan::ARIA_192::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool ARIA_192::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/aria/aria.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: Botan::ARIA_256::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool ARIA_256::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ARIA_F::key_schedule
      Src: /src/botan/src/lib/block/aria/aria.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 407
      start: 405
    functionDepth: 3
    functionLinenumber: 405
    functionLinenumberEnd: 407
    functionName: Botan::ARIA_128::key_schedule
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - Botan::ARIA_F::key_schedule
    linkageType: ''
    returnType: void
    signature: void ARIA_128::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ARIA_F::key_schedule
      Src: /src/botan/src/lib/block/aria/aria.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 3
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: Botan::ARIA_192::key_schedule
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - Botan::ARIA_F::key_schedule
    linkageType: ''
    returnType: void
    signature: void ARIA_192::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ARIA_F::key_schedule
      Src: /src/botan/src/lib/block/aria/aria.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: Botan::ARIA_256::key_schedule
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - Botan::ARIA_F::key_schedule
    linkageType: ''
    returnType: void
    signature: void ARIA_256::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/aria/aria.cpp:418,1
    - Dst: zap
      Src: /src/botan/src/lib/block/aria/aria.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: Botan::ARIA_128::clear
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void ARIA_128::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/aria/aria.cpp:423,1
    - Dst: zap
      Src: /src/botan/src/lib/block/aria/aria.cpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: Botan::ARIA_192::clear
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void ARIA_192::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/aria/aria.cpp:428,1
    - Dst: zap
      Src: /src/botan/src/lib/block/aria/aria.cpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: Botan::ARIA_256::clear
    functionSourceFile: /src/botan/src/lib/block/aria/aria.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void ARIA_256::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::Twofish::name
    functionSourceFile: /src/botan/src/lib/block/twofish/twofish.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Twofish>
      Src: /src/botan/src/lib/block/twofish/twofish.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::Twofish::new_object
    functionSourceFile: /src/botan/src/lib/block/twofish/twofish.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Twofish>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:31,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - A
    - B
    - ' C'
    - ' D'
    - RK1
    - RK2
    - ' SB'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 33
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 33
    functionName: Botan::TF_E
    functionSourceFile: /src/botan/src/lib/block/twofish/twofish.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: "void TF_E(\n   uint32_t A, uint32_t B, uint32_t& C, uint32_t& D, uint32_t
      RK1, uint32_t RK2, const secure_vector<uint32_t>& SB)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:46,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - A
    - B
    - ' C'
    - ' D'
    - RK1
    - RK2
    - ' SB'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: Botan::TF_D
    functionSourceFile: /src/botan/src/lib/block/twofish/twofish.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: "void TF_D(\n   uint32_t A, uint32_t B, uint32_t& C, uint32_t& D, uint32_t
      RK1, uint32_t RK2, const secure_vector<uint32_t>& SB)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:56,1
    - Dst: load_le
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:61,1
    - Dst: TF_E
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:73,1
    - Dst: TF_E
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:74,1
    - Dst: TF_E
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:76,1
    - Dst: TF_E
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:77,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:89,1
    - Dst: load_le
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:98,1
    - Dst: TF_E
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:106,1
    - Dst: TF_E
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:107,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 117
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 117
    functionName: Botan::Twofish::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/twofish/twofish.cpp
    functionUses: 0
    functionsReached:
    - load_le
    - TF_E
    - assert_key_material_set
    - store_le
    linkageType: ''
    returnType: void
    signature: void Twofish::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:123,1
    - Dst: load_le
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:128,1
    - Dst: TF_D
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:140,1
    - Dst: TF_D
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:141,1
    - Dst: TF_D
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:143,1
    - Dst: TF_D
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:144,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:156,1
    - Dst: load_le
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:165,1
    - Dst: TF_D
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:173,1
    - Dst: TF_D
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:174,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 184
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 184
    functionName: Botan::Twofish::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/twofish/twofish.cpp
    functionUses: 0
    functionsReached:
    - load_le
    - TF_D
    - assert_key_material_set
    - store_le
    linkageType: ''
    returnType: void
    signature: void Twofish::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: Botan::Twofish::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/twofish/twofish.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Twofish::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:194,1
    - Dst: resize
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:195,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:199,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:218,1
    - Dst: rotl<8>
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:231,1
    - Dst: rotl<9>
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:236,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:238,1
    - Dst: rotl<8>
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:254,1
    - Dst: rotl<9>
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:259,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:261,1
    - Dst: rotl<8>
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:278,1
    - Dst: rotl<9>
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 286
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 286
    functionName: Botan::Twofish::key_schedule
    functionSourceFile: /src/botan/src/lib/block/twofish/twofish.cpp
    functionUses: 0
    functionsReached:
    - rotl<8>
    - resize
    - std::span<const uint8_t>::size
    - rotl<9>
    linkageType: ''
    returnType: void
    signature: void Twofish::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:292,1
    - Dst: zap
      Src: /src/botan/src/lib/block/twofish/twofish.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: Botan::Twofish::clear
    functionSourceFile: /src/botan/src/lib/block/twofish/twofish.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Twofish::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::Cascade_Cipher::block_size
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/block/cascade/cascade.h:26,1
    - Dst: maximum_keylength
      Src: /src/botan/src/lib/block/cascade/cascade.h:26,1
    - Dst: maximum_keylength
      Src: /src/botan/src/lib/block/cascade/cascade.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Botan::Cascade_Cipher::key_spec
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.h
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    - maximum_keylength
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::Cascade_Cipher::Cascade_Cipher
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cascade_Cipher(const Cascade_Cipher&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(const Cascade_Cipher&)'
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cascade_Cipher
    signature: Cascade_Cipher & operator=(const Cascade_Cipher&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cascade_Cipher::encrypt_n
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:20,1
    - Dst: Botan::Cascade_Cipher::encrypt_n
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: Botan::Cascade_Cipher::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.cpp
    functionUses: 1
    functionsReached:
    - Botan::Cascade_Cipher::encrypt_n
    linkageType: ''
    returnType: void
    signature: void Cascade_Cipher::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cascade_Cipher::decrypt_n
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:28,1
    - Dst: Botan::Cascade_Cipher::decrypt_n
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: Botan::Cascade_Cipher::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.cpp
    functionUses: 1
    functionsReached:
    - Botan::Cascade_Cipher::decrypt_n
    linkageType: ''
    returnType: void
    signature: void Cascade_Cipher::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:35,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:35,1
    - Dst: maximum_keylength
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:35,1
    - Dst: set_key
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:36,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:36,1
    - Dst: maximum_keylength
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: Botan::Cascade_Cipher::key_schedule
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.cpp
    functionUses: 0
    functionsReached:
    - set_key
    - maximum_keylength
    - BufferSlicer::take
    linkageType: ''
    returnType: void
    signature: void Cascade_Cipher::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cascade_Cipher::clear
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:40,1
    - Dst: Botan::Cascade_Cipher::clear
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: Botan::Cascade_Cipher::clear
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.cpp
    functionUses: 1
    functionsReached:
    - Botan::Cascade_Cipher::clear
    linkageType: ''
    returnType: void
    signature: void Cascade_Cipher::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:45,1
    - Dst: Botan::Cascade_Cipher::name
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:45,1
    - Dst: Botan::Cascade_Cipher::name
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::Cascade_Cipher::name
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::Cascade_Cipher::name
    linkageType: ''
    returnType: std::string
    signature: std::string Cascade_Cipher::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cascade_Cipher::has_keying_material
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:49,1
    - Dst: Botan::Cascade_Cipher::has_keying_material
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Botan::Cascade_Cipher::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.cpp
    functionUses: 1
    functionsReached:
    - Botan::Cascade_Cipher::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool Cascade_Cipher::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Cascade_Cipher>
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:53,1
    - Dst: Botan::Cascade_Cipher::new_object
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:53,1
    - Dst: Botan::Cascade_Cipher::new_object
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::Cascade_Cipher::new_object
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Cascade_Cipher>
    - Botan::Cascade_Cipher::new_object
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> Cascade_Cipher::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:57,1
    - Dst: std::move
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:58,1
    - Dst: std::lcm
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:59,1
    - Dst: Botan::Cascade_Cipher::block_size
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:59,1
    - Dst: Botan::Cascade_Cipher::block_size
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:59,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:60,1
    - Dst: Botan::Cascade_Cipher::block_size
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:60,1
    - Dst: Botan::Cascade_Cipher::block_size
      Src: /src/botan/src/lib/block/cascade/cascade.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - cipher1
    - cipher2
    argTypes:
    - std::unique_ptr<BlockCipher>
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: Botan::Cascade_Cipher::Cascade_Cipher
    functionSourceFile: /src/botan/src/lib/block/cascade/cascade.cpp
    functionUses: 0
    functionsReached:
    - Botan::Cascade_Cipher::block_size
    - std::lcm
    - std::move
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void Cascade_Cipher::Cascade_Cipher(std::unique_ptr<BlockCipher> cipher1,
      std::unique_ptr<BlockCipher> cipher2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::SHACAL2::name
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHACAL2>
      Src: /src/botan/src/lib/block/shacal2/shacal2.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::SHACAL2::new_object
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SHACAL2>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:27,1
    - Dst: Botan::majority
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - A
    - B
    - C
    - ' D'
    - E
    - F
    - G
    - ' H'
    - RK
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: Botan::SHACAL2_Fwd
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.cpp
    functionUses: 0
    functionsReached:
    - Botan::majority
    - Botan::choose
    linkageType: ''
    returnType: void
    signature: "void SHACAL2_Fwd(\n   uint32_t A, uint32_t B, uint32_t C, uint32_t&
      D, uint32_t E, uint32_t F, uint32_t G, uint32_t& H, uint32_t RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::majority
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:37,1
    - Dst: Botan::choose
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - A
    - B
    - C
    - ' D'
    - E
    - F
    - G
    - ' H'
    - RK
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: Botan::SHACAL2_Rev
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.cpp
    functionUses: 0
    functionsReached:
    - Botan::majority
    - Botan::choose
    linkageType: ''
    returnType: void
    signature: "void SHACAL2_Rev(\n   uint32_t A, uint32_t B, uint32_t C, uint32_t&
      D, uint32_t E, uint32_t F, uint32_t G, uint32_t& H, uint32_t RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:48,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:51,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:60,1
    - Dst: x86_encrypt_blocks
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:61,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:66,1
    - Dst: Botan::SHACAL2::armv8_encrypt_blocks
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:67,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:72,1
    - Dst: avx2_encrypt_8
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:74,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:83,1
    - Dst: Botan::SHACAL2::simd_encrypt_4
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:85,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:104,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:105,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:106,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:107,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:108,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:109,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:110,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:111,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 119
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 119
    functionName: Botan::SHACAL2::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.cpp
    functionUses: 0
    functionsReached:
    - SHACAL2_Fwd
    - Botan::SHACAL2::simd_encrypt_4
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - assert_key_material_set
    - avx2_encrypt_8
    - x86_encrypt_blocks
    - store_be
    - Botan::SHACAL2::armv8_encrypt_blocks
    linkageType: ''
    returnType: void
    signature: void SHACAL2::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:125,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:128,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:137,1
    - Dst: avx2_decrypt_8
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:139,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:148,1
    - Dst: Botan::SHACAL2::simd_decrypt_4
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:150,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:169,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:170,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:171,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:172,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:173,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:174,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:175,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:176,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 184
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 184
    functionName: Botan::SHACAL2::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.cpp
    functionUses: 0
    functionsReached:
    - SHACAL2_Rev
    - Botan::SHACAL2::simd_decrypt_4
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - assert_key_material_set
    - store_be
    - avx2_decrypt_8
    linkageType: ''
    returnType: void
    signature: void SHACAL2::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: Botan::SHACAL2::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool SHACAL2::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:204,1
    - Dst: resize
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:205,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:207,1
    - Dst: data
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:207,1
    - Dst: size
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:207,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:210,1
    - Dst: data
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:210,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:210,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 221
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 221
    functionName: Botan::SHACAL2::key_schedule
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.cpp
    functionUses: 0
    functionsReached:
    - clear_mem
    - data
    - size
    - load_be
    - empty
    - resize
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void SHACAL2::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:225,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:231,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:237,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:243,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 255
    functionName: Botan::SHACAL2::parallelism
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: size_t
    signature: size_t SHACAL2::parallelism() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:259,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:265,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:271,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:277,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 289
    functionName: Botan::SHACAL2::provider
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string SHACAL2::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/shacal2/shacal2.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: Botan::SHACAL2::clear
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void SHACAL2::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:21,1
    - Dst: _mm_set_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:22,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:24,1
    - Dst: data
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:24,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:25,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:26,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:29,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:30,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:31,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:32,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:34,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:34,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:35,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:35,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:38,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:38,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:39,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:39,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:43,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:44,1
    - Dst: _mm_srli_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:45,1
    - Dst: _mm_srli_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:46,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:48,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:49,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:51,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:52,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:54,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:55,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:57,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:58,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:61,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:61,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:61,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:62,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:62,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:62,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:63,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:63,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:63,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:64,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:64,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:64,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:72,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:73,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:75,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:75,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:76,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:76,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:80,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:81,1
    - Dst: _mm_srli_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:82,1
    - Dst: _mm_srli_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:83,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:85,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:86,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:87,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:88,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:91,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:91,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:91,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:92,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:92,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 98
    functionName: Botan::BOTAN_FN_ISA_SHANI::x86_encrypt_blocks
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp
    functionUses: 0
    functionsReached:
    - _mm_shuffle_epi8
    - reinterpret_cast<__m128i*>
    - _mm_unpackhi_epi64
    - _mm_srli_si128
    - _mm_set_epi8
    - reinterpret_cast<const __m128i*>
    - _mm_sha256rnds2_epu32
    - data
    - _mm_unpacklo_epi64
    - _mm_storeu_si128
    - _mm_loadu_si128
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_SHANI SHACAL2::x86_encrypt_blocks(const uint8_t in[],
      uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:44,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:44,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:44,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:45,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:45,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:45,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:46,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:46,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:46,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:47,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:47,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:47,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:48,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:48,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:48,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:49,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:49,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:49,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:50,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:50,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:50,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:51,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:51,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:51,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:53,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:54,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:55,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:56,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:57,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:58,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:59,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:60,1
    - Dst: _mm512_set_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:62,1
    - Dst: _mm512_add_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:63,1
    - Dst: _mm512_set1_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:63,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:64,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:64,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:65,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:65,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:66,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:66,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:67,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:67,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:68,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:68,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:69,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:69,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:70,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:70,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:71,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - ' B4'
    - ' B5'
    - ' B6'
    - ' B7'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 72
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 72
    functionName: Botan::SHACAL2_AVX512_F::transpose_in
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp
    functionUses: 0
    functionsReached:
    - _mm512_set_epi32
    - _mm512_permutex2var_epi32
    - raw
    - _mm512_set1_epi32
    - _mm512_add_epi32
    - SIMD_16x32
    - _mm512_unpackhi_epi64
    - _mm512_unpacklo_epi64
    - _mm512_unpacklo_epi32
    - _mm512_unpackhi_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: "BOTAN_FN_ISA_AVX512 transpose_in(SIMD_16x32& B0,\n                  SIMD_16x32&
      B1,\n                  SIMD_16x32& B2,\n                  SIMD_16x32& B3,\n
      \                 SIMD_16x32& B4,\n                  SIMD_16x32& B5,\n                  SIMD_16x32&
      B6,\n                  SIMD_16x32& B7)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:83,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:83,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:83,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:84,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:84,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:84,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:85,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:85,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:85,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:86,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:86,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:86,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:87,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:87,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:87,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:88,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:88,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:88,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:89,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:89,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:89,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:90,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:90,1
    - Dst: raw
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:90,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:92,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:93,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:94,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:95,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:96,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:97,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:98,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:99,1
    - Dst: _mm512_set_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:101,1
    - Dst: _mm512_add_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:102,1
    - Dst: _mm512_set1_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:102,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:104,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:105,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:106,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:107,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:108,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:109,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:110,1
    - Dst: _mm512_permutex2var_epi32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:111,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:113,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:113,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:114,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:114,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:115,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:115,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:116,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:116,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:117,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:117,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:118,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:118,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:119,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:119,1
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:120,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - ' B4'
    - ' B5'
    - ' B6'
    - ' B7'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 121
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 121
    functionName: Botan::SHACAL2_AVX512_F::transpose_out
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp
    functionUses: 0
    functionsReached:
    - _mm512_set_epi32
    - _mm512_permutex2var_epi32
    - raw
    - _mm512_set1_epi32
    - _mm512_add_epi32
    - SIMD_16x32
    - _mm512_unpackhi_epi64
    - _mm512_shuffle_i32x4
    - _mm512_unpacklo_epi64
    - _mm512_unpacklo_epi32
    - _mm512_unpackhi_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: "BOTAN_FN_ISA_AVX512 transpose_out(SIMD_16x32& B0,\n                   SIMD_16x32&
      B1,\n                   SIMD_16x32& B2,\n                   SIMD_16x32& B3,\n
      \                  SIMD_16x32& B4,\n                   SIMD_16x32& B5,\n                   SIMD_16x32&
      B6,\n                   SIMD_16x32& B7)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigma1
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:133,1
    - Dst: Botan::choose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:133,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:133,1
    - Dst: sigma0
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:135,1
    - Dst: Botan::majority
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    - ' E'
    - ' F'
    - ' G'
    - ' H'
    - RK
    argTypes:
    - SimdT
    - SimdT
    - SimdT
    - SimdT
    - SimdT
    - SimdT
    - SimdT
    - SimdT
    - uint32_t
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: Botan::SHACAL2_AVX512_F::SHACAL2_Fwd
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp
    functionUses: 0
    functionsReached:
    - sigma1
    - Botan::choose
    - Botan::SIMD_4x32::splat
    - sigma0
    - Botan::majority
    linkageType: ''
    returnType: void
    signature: "void SHACAL2_Fwd(const SimdT& A,\n                                                        const
      SimdT& B,\n                                                        const SimdT&
      C,\n                                                        SimdT& D,\n                                                        const
      SimdT& E,\n                                                        const SimdT&
      F,\n                                                        const SimdT& G,\n
      \                                                       SimdT& H,\n                                                        uint32_t
      RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigma0
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:148,1
    - Dst: Botan::majority
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:148,1
    - Dst: sigma1
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:150,1
    - Dst: Botan::choose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:150,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    - ' E'
    - ' F'
    - ' G'
    - ' H'
    - RK
    argTypes:
    - SimdT
    - SimdT
    - SimdT
    - SimdT
    - SimdT
    - SimdT
    - SimdT
    - SimdT
    - uint32_t
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: Botan::SHACAL2_AVX512_F::SHACAL2_Rev
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp
    functionUses: 0
    functionsReached:
    - Botan::majority
    - Botan::choose
    - Botan::SIMD_4x32::splat
    - sigma0
    - sigma1
    linkageType: ''
    returnType: void
    signature: "void SHACAL2_Rev(const SimdT& A,\n                                                        const
      SimdT& B,\n                                                        const SimdT&
      C,\n                                                        SimdT& D,\n                                                        const
      SimdT& E,\n                                                        const SimdT&
      F,\n                                                        const SimdT& G,\n
      \                                                       SimdT& H,\n                                                        uint32_t
      RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:163,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:164,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:165,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:166,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:167,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:168,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:169,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:170,1
    - Dst: transpose_in
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:172,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:175,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:176,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:177,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:178,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:179,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:180,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:181,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:182,1
    - Dst: transpose_out
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:185,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:187,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:188,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:189,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:190,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:191,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:192,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:193,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:194,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:203,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:204,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:205,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:206,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:207,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:208,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:209,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:210,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:212,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:215,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:216,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:217,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:218,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:219,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:220,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:221,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:222,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:225,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:227,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:228,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:229,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:230,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:231,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:232,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:233,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 54
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 243
    functionName: Botan::BOTAN_FN_ISA_AVX512::avx512_encrypt_blocks
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_16x32::load_be
    - SIMD_8x32::store_be
    - Botan::SIMD_8x32::load_be
    - transpose_in
    - transpose_out
    - Botan::SIMD_8x32::transpose
    - SHACAL2_Fwd
    - SIMD_16x32::store_be
    linkageType: ''
    returnType: size_t
    signature: size_t BOTAN_FN_ISA_AVX512 SHACAL2::avx512_encrypt_blocks(const uint8_t
      in[], uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:251,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:252,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:253,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:254,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:255,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:256,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:257,1
    - Dst: Botan::SIMD_16x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:258,1
    - Dst: transpose_in
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:260,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:263,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:264,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:265,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:266,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:267,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:268,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:269,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:270,1
    - Dst: transpose_out
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:273,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:275,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:276,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:277,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:278,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:279,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:280,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:281,1
    - Dst: SIMD_16x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:282,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:291,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:292,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:293,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:294,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:295,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:296,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:297,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:298,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:300,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:303,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:304,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:305,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:306,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:307,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:308,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:309,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:310,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:313,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:315,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:316,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:317,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:318,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:319,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:320,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:321,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 54
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 331
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 331
    functionName: Botan::BOTAN_FN_ISA_AVX512::avx512_decrypt_blocks
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_avx512/shacal2_avx512.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_16x32::load_be
    - SIMD_8x32::store_be
    - SHACAL2_Rev
    - Botan::SIMD_8x32::load_be
    - transpose_in
    - transpose_out
    - Botan::SIMD_8x32::transpose
    - SIMD_16x32::store_be
    linkageType: ''
    returnType: size_t
    signature: size_t BOTAN_FN_ISA_AVX512 SHACAL2::avx512_decrypt_blocks(const uint8_t
      in[], uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:24,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:25,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:26,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:27,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:29,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:29,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:29,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:30,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:30,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:30,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:31,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:31,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:31,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:32,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:32,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:32,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:35,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:36,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:38,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:39,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:40,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:41,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:43,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:44,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:45,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:46,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:49,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:49,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:49,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:50,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:50,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:50,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:51,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:51,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:51,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:52,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:52,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:52,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:54,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:55,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:56,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:57,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:65,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:66,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:68,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:68,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:68,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:69,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:69,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:69,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:72,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:73,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:75,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:76,1
    - Dst: vsha256hq_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:78,1
    - Dst: vsha256h2q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:79,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:82,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:82,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:82,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:83,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:83,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:83,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:85,1
    - Dst: vst1q_u32
      Src: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 92
    functionName: Botan::SHACAL2::armv8_encrypt_blocks
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_armv8/shacal2_arvm8.cpp
    functionUses: 1
    functionsReached:
    - vreinterpretq_u8_u32
    - vrev32q_u8
    - vsha256h2q_u32
    - vld1q_u32
    - vst1q_u32
    - vreinterpretq_u32_u8
    - vsha256hq_u32
    linkageType: ''
    returnType: BOTAN_FN_ISA_SHA2
    signature: BOTAN_FN_ISA_SHA2 SHACAL2::armv8_encrypt_blocks(const uint8_t in[],
      uint8_t out[], size_t blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigma1
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:26,1
    - Dst: Botan::SIMD_8x32::choose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:26,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:26,1
    - Dst: sigma0
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:28,1
    - Dst: Botan::SIMD_8x32::majority
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    - ' E'
    - ' F'
    - ' G'
    - ' H'
    - RK
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - uint32_t
    constantsTouched: []
    func_position:
      end: 29
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 29
    functionName: Botan::SHACAL2_AVX2_F::SHACAL2_Fwd
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::splat
    - Botan::SIMD_8x32::majority
    - sigma0
    - sigma1
    - Botan::SIMD_8x32::choose
    linkageType: ''
    returnType: void
    signature: "void SHACAL2_Fwd(const SIMD_8x32& A,\n                                                      const
      SIMD_8x32& B,\n                                                      const SIMD_8x32&
      C,\n                                                      SIMD_8x32& D,\n                                                      const
      SIMD_8x32& E,\n                                                      const SIMD_8x32&
      F,\n                                                      const SIMD_8x32& G,\n
      \                                                     SIMD_8x32& H,\n                                                      uint32_t
      RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigma0
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:40,1
    - Dst: Botan::SIMD_8x32::majority
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:40,1
    - Dst: sigma1
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:42,1
    - Dst: Botan::SIMD_8x32::choose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:42,1
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    - ' E'
    - ' F'
    - ' G'
    - ' H'
    - RK
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - uint32_t
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: Botan::SHACAL2_AVX2_F::SHACAL2_Rev
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::splat
    - Botan::SIMD_8x32::majority
    - sigma0
    - sigma1
    - Botan::SIMD_8x32::choose
    linkageType: ''
    returnType: void
    signature: "void SHACAL2_Rev(const SIMD_8x32& A,\n                                                      const
      SIMD_8x32& B,\n                                                      const SIMD_8x32&
      C,\n                                                      SIMD_8x32& D,\n                                                      const
      SIMD_8x32& E,\n                                                      const SIMD_8x32&
      F,\n                                                      const SIMD_8x32& G,\n
      \                                                     SIMD_8x32& H,\n                                                      uint32_t
      RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::reset_registers
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:52,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:54,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:55,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:56,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:57,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:59,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:60,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:61,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:62,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:64,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:67,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:68,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:69,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:70,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:71,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:72,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:73,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:74,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:77,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:79,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:80,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:81,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:82,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:84,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:85,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:86,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:87,1
    - Dst: Botan::SIMD_8x32::zero_registers
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 90
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 90
    functionName: Botan::BOTAN_FN_ISA_AVX2::avx2_encrypt_8
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::zero_registers
    - SIMD_8x32::store_be
    - Botan::SIMD_8x32::load_be
    - Botan::SIMD_8x32::transpose
    - SHACAL2_Fwd
    - Botan::SIMD_8x32::reset_registers
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX2 SHACAL2::avx2_encrypt_8(const uint8_t in[],
      uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::reset_registers
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:95,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:97,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:98,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:99,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:100,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:102,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:103,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:104,1
    - Dst: Botan::SIMD_8x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:105,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:107,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:110,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:111,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:112,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:113,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:114,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:115,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:116,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:117,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:120,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:122,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:123,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:124,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:125,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:127,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:128,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:129,1
    - Dst: SIMD_8x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:130,1
    - Dst: Botan::SIMD_8x32::zero_registers
      Src: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 133
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 133
    functionName: Botan::BOTAN_FN_ISA_AVX2::avx2_decrypt_8
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::zero_registers
    - SIMD_8x32::store_be
    - SHACAL2_Rev
    - Botan::SIMD_8x32::load_be
    - Botan::SIMD_8x32::transpose
    - Botan::SIMD_8x32::reset_registers
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_AVX2 SHACAL2::avx2_decrypt_8(const uint8_t in[],
      uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigma1
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:25,1
    - Dst: Botan::SIMD_4x32::choose
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:25,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:25,1
    - Dst: sigma0
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:27,1
    - Dst: Botan::SIMD_4x32::majority
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    - ' E'
    - ' F'
    - ' G'
    - ' H'
    - RK
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - uint32_t
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: Botan::SHACAL2_Fwd
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x32::majority
    - Botan::SIMD_4x32::choose
    - Botan::SIMD_4x32::splat
    - sigma0
    - sigma1
    linkageType: ''
    returnType: void
    signature: "void SHACAL2_Fwd(const SIMD_4x32& A,\n                        const
      SIMD_4x32& B,\n                        const SIMD_4x32& C,\n                        SIMD_4x32&
      D,\n                        const SIMD_4x32& E,\n                        const
      SIMD_4x32& F,\n                        const SIMD_4x32& G,\n                        SIMD_4x32&
      H,\n                        uint32_t RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigma0
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:39,1
    - Dst: Botan::SIMD_4x32::majority
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:39,1
    - Dst: sigma1
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:41,1
    - Dst: Botan::SIMD_4x32::choose
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:41,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    - ' E'
    - ' F'
    - ' G'
    - ' H'
    - RK
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - uint32_t
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: Botan::SHACAL2_Rev
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x32::majority
    - Botan::SIMD_4x32::choose
    - Botan::SIMD_4x32::splat
    - sigma0
    - sigma1
    linkageType: ''
    returnType: void
    signature: "void SHACAL2_Rev(const SIMD_4x32& A,\n                        const
      SIMD_4x32& B,\n                        const SIMD_4x32& C,\n                        SIMD_4x32&
      D,\n                        const SIMD_4x32& E,\n                        const
      SIMD_4x32& F,\n                        const SIMD_4x32& G,\n                        SIMD_4x32&
      H,\n                        uint32_t RK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:47,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:48,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:49,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:50,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:52,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:53,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:54,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:55,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:57,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:58,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:61,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:62,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:63,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:64,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:65,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:66,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:67,1
    - Dst: SHACAL2_Fwd
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:68,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:71,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:72,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:74,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:75,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:76,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:77,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:79,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:80,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:81,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 83
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 83
    functionName: Botan::SHACAL2::simd_encrypt_4
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::load_be
    - SHACAL2_Fwd
    - SIMD_4x32::store_be
    - Botan::SIMD_4x32::transpose
    linkageType: ''
    returnType: void
    signature: void SHACAL2::simd_encrypt_4(const uint8_t in[], uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:86,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:87,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:88,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:89,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:91,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:92,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:93,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:94,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:96,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:97,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:100,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:101,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:102,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:103,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:104,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:105,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:106,1
    - Dst: SHACAL2_Rev
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:107,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:110,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:111,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:113,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:114,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:115,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:116,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:118,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:119,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:120,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 122
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 122
    functionName: Botan::SHACAL2::simd_decrypt_4
    functionSourceFile: /src/botan/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp
    functionUses: 1
    functionsReached:
    - SIMD_4x32::store_be
    - Botan::SIMD_4x32::load_be
    - SHACAL2_Rev
    - Botan::SIMD_4x32::transpose
    linkageType: ''
    returnType: void
    signature: void SHACAL2::simd_decrypt_4(const uint8_t in[], uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::Kuznyechik::name
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Kuznyechik>
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::Kuznyechik::new_object
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Kuznyechik>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: Botan::Kuznyechik_F::Kuznyechik_T::poly_mul
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t poly_mul(uint8_t x, uint8_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: Botan::Kuznyechik_F::Kuznyechik_T::poly_mul
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t poly_mul(uint64_t x, uint8_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:98,1
    - Dst: std::array::begin
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:98,1
    - Dst: std::array::end
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:98,1
    - Dst: Botan::Kuznyechik_F::Kuznyechik_T::poly_mul
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:106,1
    - Dst: sqr_matrix
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - forward
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 118
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 118
    functionName: Botan::Kuznyechik_F::Kuznyechik_T::L_table
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached:
    - std::array::end
    - std::array::begin
    - std::reverse
    - sqr_matrix
    - Botan::Kuznyechik_F::Kuznyechik_T::poly_mul
    linkageType: ''
    returnType: std::array<uint8_t, 256>
    signature: std::array<uint8_t, 256> L_table(bool forward)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:129,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:130,1
    - Dst: Botan::Kuznyechik_F::Kuznyechik_T::poly_mul
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:135,1
    - Dst: Botan::Kuznyechik_F::Kuznyechik_T::poly_mul
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - L
    - forward
    argTypes:
    - std::span<const uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 141
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 141
    functionName: Botan::Kuznyechik_F::Kuznyechik_T::T_table
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kuznyechik_F::Kuznyechik_T::poly_mul
    - static_cast<uint64_t>
    linkageType: ''
    returnType: std::array<uint64_t, 16 * 256 * 2>
    signature: std::array<uint64_t, 16 * 256 * 2> T_table(std::span<const uint8_t>
      L, bool forward)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' x1'
    - ' x2'
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: Botan::Kuznyechik_F::LS
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LS(uint64_t& x1, uint64_t& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' x1'
    - ' x2'
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: Botan::Kuznyechik_F::ILS
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ILS(uint64_t& x1, uint64_t& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' x1'
    - ' x2'
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: Botan::Kuznyechik_F::ILSS
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ILSS(uint64_t& x1, uint64_t& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_byte_var
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: Botan::Kuznyechik_F::ISI
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached:
    - get_byte_var
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ISI(uint64_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:221,1
    - Dst: zap
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: Botan::Kuznyechik::clear
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Kuznyechik::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: Botan::Kuznyechik::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Kuznyechik::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:232,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:232,1
    - Dst: resize
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:239,1
    - Dst: LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:254,1
    - Dst: LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:262,1
    - Dst: resize
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:273,1
    - Dst: Botan::Kuznyechik_F::ILSS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 288
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 288
    functionName: Botan::Kuznyechik::key_schedule
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - Botan::Kuznyechik_F::ILSS
    - resize
    - std::span<const uint8_t>::size
    - LS
    linkageType: ''
    returnType: void
    signature: void Kuznyechik::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:291,1
    - Dst: Botan::Kuznyechik_F::LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:298,1
    - Dst: Botan::Kuznyechik_F::LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:302,1
    - Dst: Botan::Kuznyechik_F::LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:306,1
    - Dst: Botan::Kuznyechik_F::LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:310,1
    - Dst: Botan::Kuznyechik_F::LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:314,1
    - Dst: Botan::Kuznyechik_F::LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:318,1
    - Dst: Botan::Kuznyechik_F::LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:322,1
    - Dst: Botan::Kuznyechik_F::LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:326,1
    - Dst: Botan::Kuznyechik_F::LS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:330,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 341
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 341
    functionName: Botan::Kuznyechik::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kuznyechik_F::LS
    - store_le
    - assert_key_material_set
    linkageType: ''
    returnType: void
    signature: void Kuznyechik::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:344,1
    - Dst: Botan::Kuznyechik_F::ILSS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:349,1
    - Dst: Botan::Kuznyechik_F::ILS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:353,1
    - Dst: Botan::Kuznyechik_F::ILS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:357,1
    - Dst: Botan::Kuznyechik_F::ILS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:361,1
    - Dst: Botan::Kuznyechik_F::ILS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:365,1
    - Dst: Botan::Kuznyechik_F::ILS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:369,1
    - Dst: Botan::Kuznyechik_F::ILS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:373,1
    - Dst: Botan::Kuznyechik_F::ILS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:377,1
    - Dst: Botan::Kuznyechik_F::ILS
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:381,1
    - Dst: Botan::Kuznyechik_F::ISI
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:385,1
    - Dst: Botan::Kuznyechik_F::ISI
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:386,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 397
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 397
    functionName: Botan::Kuznyechik::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/kuznyechik/kuznyechik.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - Botan::Kuznyechik_F::ISI
    - Botan::Kuznyechik_F::ILSS
    - store_le
    - Botan::Kuznyechik_F::ILS
    linkageType: ''
    returnType: void
    signature: void Kuznyechik::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - X
    - ' S'
    argTypes:
    - uint32_t
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: Botan::BFF
    functionSourceFile: /src/botan/src/lib/block/blowfish/blowfish.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t BFF(uint32_t X, const secure_vector<uint32_t>& S)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:157,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:161,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:168,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:169,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:170,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:171,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:177,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:178,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:179,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:180,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:192,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:201,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:205,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:208,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 50
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 220
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 220
    functionName: Botan::Blowfish::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/blowfish/blowfish.cpp
    functionUses: 0
    functionsReached:
    - load_be
    - store_be
    - assert_key_material_set
    - BFF
    linkageType: ''
    returnType: void
    signature: void Blowfish::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:226,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:230,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:237,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:238,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:239,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:240,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:247,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:248,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:249,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:250,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:262,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:271,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:275,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:278,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 50
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 290
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 290
    functionName: Botan::Blowfish::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/blowfish/blowfish.cpp
    functionUses: 0
    functionsReached:
    - load_be
    - store_be
    - assert_key_material_set
    - BFF
    linkageType: ''
    returnType: void
    signature: void Blowfish::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: Botan::Blowfish::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/blowfish/blowfish.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Blowfish::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:300,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:301,1
    - Dst: data
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:301,1
    - Dst: resize
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:303,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:304,1
    - Dst: data
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:304,1
    - Dst: Botan::Blowfish::key_expansion
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:306,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:306,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: Botan::Blowfish::key_schedule
    functionSourceFile: /src/botan/src/lib/block/blowfish/blowfish.cpp
    functionUses: 0
    functionsReached:
    - data
    - copy_mem
    - Botan::Blowfish::key_expansion
    - resize
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void Blowfish::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:310,1
    - Dst: make_uint32
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:313,1
    - Dst: Botan::Blowfish::generate_sbox
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:319,1
    - Dst: Botan::Blowfish::generate_sbox
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - key
    - length
    - salt
    - salt_length
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: Botan::Blowfish::key_expansion
    functionSourceFile: /src/botan/src/lib/block/blowfish/blowfish.cpp
    functionUses: 1
    functionsReached:
    - make_uint32
    - Botan::Blowfish::generate_sbox
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void Blowfish::key_expansion(const uint8_t key[], size_t length, const
      uint8_t salt[], size_t salt_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:328,1
    - Dst: resize
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:335,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:336,1
    - Dst: data
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:336,1
    - Dst: resize
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:338,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:339,1
    - Dst: data
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:339,1
    - Dst: Botan::Blowfish::key_expansion
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:340,1
    - Dst: Botan::Blowfish::key_expansion
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:347,1
    - Dst: Botan::Blowfish::key_expansion
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:348,1
    - Dst: Botan::Blowfish::key_expansion
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:350,1
    - Dst: Botan::Blowfish::key_expansion
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 6
    argNames:
    - key
    - length
    - salt
    - salt_length
    - workfactor
    - salt_first
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 355
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 355
    functionName: Botan::Blowfish::salted_set_key
    functionSourceFile: /src/botan/src/lib/block/blowfish/blowfish.cpp
    functionUses: 1
    functionsReached:
    - data
    - copy_mem
    - Botan::Blowfish::key_expansion
    - resize
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void Blowfish::salted_set_key(\n   const uint8_t key[], size_t length,
      const uint8_t salt[], size_t salt_length, size_t workfactor, bool salt_first)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:366,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:368,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:369,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:374,1
    - Dst: BFF
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - ' box'
    - ' L'
    - ' R'
    - salt
    - salt_length
    - salt_off
    argTypes:
    - secure_vector<uint32_t>
    - uint32_t
    - uint32_t
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 386
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 386
    functionName: Botan::Blowfish::generate_sbox
    functionSourceFile: /src/botan/src/lib/block/blowfish/blowfish.cpp
    functionUses: 1
    functionsReached:
    - load_be<uint32_t>
    - BFF
    - size
    linkageType: ''
    returnType: void
    signature: "void Blowfish::generate_sbox(secure_vector<uint32_t>& box,\n                             uint32_t&
      L,\n                             uint32_t& R,\n                             const
      uint8_t salt[],\n                             size_t salt_length,\n                             size_t
      salt_off) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:392,1
    - Dst: zap
      Src: /src/botan/src/lib/block/blowfish/blowfish.cpp:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: Botan::Blowfish::clear
    functionSourceFile: /src/botan/src/lib/block/blowfish/blowfish.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Blowfish::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Blowfish>
      Src: /src/botan/src/lib/block/blowfish/blowfish.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 55
    functionName: Botan::Block_Cipher_Fixed_Params
    functionSourceFile: /src/botan/src/lib/block/blowfish/blowfish.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Blowfish>
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Block_Cipher_Fixed_Params<8, 1, 56>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/lion/lion.cpp:20,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/block/lion/lion.cpp:29,1
    - Dst: data
      Src: /src/botan/src/lib/block/lion/lion.cpp:29,1
    - Dst: set_key
      Src: /src/botan/src/lib/block/lion/lion.cpp:30,1
    - Dst: cipher
      Src: /src/botan/src/lib/block/lion/lion.cpp:31,1
    - Dst: update
      Src: /src/botan/src/lib/block/lion/lion.cpp:33,1
    - Dst: final
      Src: /src/botan/src/lib/block/lion/lion.cpp:34,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/block/lion/lion.cpp:35,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/block/lion/lion.cpp:37,1
    - Dst: data
      Src: /src/botan/src/lib/block/lion/lion.cpp:37,1
    - Dst: set_key
      Src: /src/botan/src/lib/block/lion/lion.cpp:38,1
    - Dst: cipher1
      Src: /src/botan/src/lib/block/lion/lion.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 44
    functionName: Botan::Lion::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/lion/lion.cpp
    functionUses: 0
    functionsReached:
    - data
    - final
    - assert_key_material_set
    - cipher
    - set_key
    - xor_buf
    - update
    - cipher1
    linkageType: ''
    returnType: void
    signature: void Lion::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/lion/lion.cpp:50,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/block/lion/lion.cpp:59,1
    - Dst: data
      Src: /src/botan/src/lib/block/lion/lion.cpp:59,1
    - Dst: set_key
      Src: /src/botan/src/lib/block/lion/lion.cpp:60,1
    - Dst: cipher
      Src: /src/botan/src/lib/block/lion/lion.cpp:61,1
    - Dst: update
      Src: /src/botan/src/lib/block/lion/lion.cpp:63,1
    - Dst: final
      Src: /src/botan/src/lib/block/lion/lion.cpp:64,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/block/lion/lion.cpp:65,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/block/lion/lion.cpp:67,1
    - Dst: data
      Src: /src/botan/src/lib/block/lion/lion.cpp:67,1
    - Dst: set_key
      Src: /src/botan/src/lib/block/lion/lion.cpp:68,1
    - Dst: cipher1
      Src: /src/botan/src/lib/block/lion/lion.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 74
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 74
    functionName: Botan::Lion::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/lion/lion.cpp
    functionUses: 0
    functionsReached:
    - data
    - final
    - assert_key_material_set
    - cipher
    - set_key
    - xor_buf
    - update
    - cipher1
    linkageType: ''
    returnType: void
    signature: void Lion::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/lion/lion.cpp:77,1
    - Dst: empty
      Src: /src/botan/src/lib/block/lion/lion.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Botan::Lion::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/lion/lion.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Lion::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Lion::clear
      Src: /src/botan/src/lib/block/lion/lion.cpp:84,1
    - Dst: resize
      Src: /src/botan/src/lib/block/lion/lion.cpp:88,1
    - Dst: Botan::Lion::left_size
      Src: /src/botan/src/lib/block/lion/lion.cpp:88,1
    - Dst: resize
      Src: /src/botan/src/lib/block/lion/lion.cpp:89,1
    - Dst: Botan::Lion::left_size
      Src: /src/botan/src/lib/block/lion/lion.cpp:89,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/block/lion/lion.cpp:90,1
    - Dst: data
      Src: /src/botan/src/lib/block/lion/lion.cpp:90,1
    - Dst: size
      Src: /src/botan/src/lib/block/lion/lion.cpp:90,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/block/lion/lion.cpp:91,1
    - Dst: data
      Src: /src/botan/src/lib/block/lion/lion.cpp:91,1
    - Dst: size
      Src: /src/botan/src/lib/block/lion/lion.cpp:91,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/lion/lion.cpp:92,1
    - Dst: data
      Src: /src/botan/src/lib/block/lion/lion.cpp:92,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/lion/lion.cpp:92,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/lion/lion.cpp:93,1
    - Dst: data
      Src: /src/botan/src/lib/block/lion/lion.cpp:93,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/block/lion/lion.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: Botan::Lion::key_schedule
    functionSourceFile: /src/botan/src/lib/block/lion/lion.cpp
    functionUses: 0
    functionsReached:
    - Botan::Lion::left_size
    - clear_mem
    - data
    - std::span<const uint8_t>::subspan
    - size
    - copy_mem
    - resize
    - Botan::Lion::clear
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void Lion::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/block/lion/lion.cpp:100,1
    - Dst: Botan::Lion::name
      Src: /src/botan/src/lib/block/lion/lion.cpp:100,1
    - Dst: Botan::Lion::name
      Src: /src/botan/src/lib/block/lion/lion.cpp:100,1
    - Dst: Botan::Lion::block_size
      Src: /src/botan/src/lib/block/lion/lion.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: Botan::Lion::name
    functionSourceFile: /src/botan/src/lib/block/lion/lion.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::Lion::name
    - Botan::Lion::block_size
    linkageType: ''
    returnType: std::string
    signature: std::string Lion::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Lion>
      Src: /src/botan/src/lib/block/lion/lion.cpp:104,1
    - Dst: Botan::Lion::new_object
      Src: /src/botan/src/lib/block/lion/lion.cpp:104,1
    - Dst: Botan::Lion::new_object
      Src: /src/botan/src/lib/block/lion/lion.cpp:104,1
    - Dst: Botan::Lion::block_size
      Src: /src/botan/src/lib/block/lion/lion.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Botan::Lion::new_object
    functionSourceFile: /src/botan/src/lib/block/lion/lion.cpp
    functionUses: 1
    functionsReached:
    - Botan::Lion::new_object
    - std::make_unique<Lion>
    - Botan::Lion::block_size
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> Lion::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/lion/lion.cpp:111,1
    - Dst: zap
      Src: /src/botan/src/lib/block/lion/lion.cpp:112,1
    - Dst: Botan::Lion::clear
      Src: /src/botan/src/lib/block/lion/lion.cpp:113,1
    - Dst: Botan::Lion::clear
      Src: /src/botan/src/lib/block/lion/lion.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: Botan::Lion::clear
    functionSourceFile: /src/botan/src/lib/block/lion/lion.cpp
    functionUses: 2
    functionsReached:
    - zap
    - Botan::Lion::clear
    linkageType: ''
    returnType: void
    signature: void Lion::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::max<size_t>
      Src: /src/botan/src/lib/block/lion/lion.cpp:121,1
    - Dst: std::unique_ptr<HashFunction>::output_length
      Src: /src/botan/src/lib/block/lion/lion.cpp:121,1
    - Dst: std::move
      Src: /src/botan/src/lib/block/lion/lion.cpp:122,1
    - Dst: std::move
      Src: /src/botan/src/lib/block/lion/lion.cpp:123,1
    - Dst: Botan::Lion::left_size
      Src: /src/botan/src/lib/block/lion/lion.cpp:124,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/block/lion/lion.cpp:125,1
    - Dst: fmt
      Src: /src/botan/src/lib/block/lion/lion.cpp:125,1
    - Dst: Botan::Lion::name
      Src: /src/botan/src/lib/block/lion/lion.cpp:125,1
    - Dst: valid_keylength
      Src: /src/botan/src/lib/block/lion/lion.cpp:128,1
    - Dst: Botan::Lion::left_size
      Src: /src/botan/src/lib/block/lion/lion.cpp:128,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/block/lion/lion.cpp:129,1
    - Dst: fmt
      Src: /src/botan/src/lib/block/lion/lion.cpp:129,1
    - Dst: Botan::Lion::name
      Src: /src/botan/src/lib/block/lion/lion.cpp:129,1
    - Dst: Botan::Lion::name
      Src: /src/botan/src/lib/block/lion/lion.cpp:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - hash
    - cipher
    - bs
    argTypes:
    - std::unique_ptr<HashFunction>
    - std::unique_ptr<StreamCipher>
    - size_t
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: Botan::Lion::Lion
    functionSourceFile: /src/botan/src/lib/block/lion/lion.cpp
    functionUses: 0
    functionsReached:
    - Botan::Lion::left_size
    - std::unique_ptr<HashFunction>::output_length
    - fmt
    - std::max<size_t>
    - std::move
    - valid_keylength
    - Invalid_Argument
    - Botan::Lion::name
    linkageType: ''
    returnType: void
    signature: void Lion::Lion(std::unique_ptr<HashFunction> hash, std::unique_ptr<StreamCipher>
      cipher, size_t bs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::Lion::block_size
    functionSourceFile: /src/botan/src/lib/block/lion/lion.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/block/lion/lion.h:33,1
    - Dst: output_length
      Src: /src/botan/src/lib/block/lion/lion.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::Lion::key_spec
    functionSourceFile: /src/botan/src/lib/block/lion/lion.h
    functionUses: 0
    functionsReached:
    - output_length
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/block/lion/lion.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::Lion::left_size
    functionSourceFile: /src/botan/src/lib/block/lion/lion.h
    functionUses: 2
    functionsReached:
    - output_length
    linkageType: ''
    returnType: size_t
    signature: size_t left_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Lion::left_size
      Src: /src/botan/src/lib/block/lion/lion.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::Lion::right_size
    functionSourceFile: /src/botan/src/lib/block/lion/lion.h
    functionUses: 0
    functionsReached:
    - Botan::Lion::left_size
    linkageType: ''
    returnType: size_t
    signature: size_t right_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - X
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: Botan::SEED_G
    functionSourceFile: /src/botan/src/lib/block/seed/seed.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SEED_G(uint32_t X)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/seed/seed.cpp:75,1
    - Dst: prefetch_arrays
      Src: /src/botan/src/lib/block/seed/seed.cpp:77,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:89,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:90,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:91,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:96,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:97,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:98,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/seed/seed.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 108
    functionName: Botan::SEED::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/seed/seed.cpp
    functionUses: 0
    functionsReached:
    - store_be
    - prefetch_arrays
    - assert_key_material_set
    - SEED_G
    linkageType: ''
    returnType: void
    signature: void SEED::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/seed/seed.cpp:114,1
    - Dst: prefetch_arrays
      Src: /src/botan/src/lib/block/seed/seed.cpp:116,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:128,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:129,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:130,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:135,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:136,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:137,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/seed/seed.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 147
    functionName: Botan::SEED::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/seed/seed.cpp
    functionUses: 0
    functionsReached:
    - store_be
    - prefetch_arrays
    - assert_key_material_set
    - SEED_G
    linkageType: ''
    returnType: void
    signature: void SEED::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/seed/seed.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: Botan::SEED::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/seed/seed.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool SEED::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/seed/seed.cpp:177,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/seed/seed.cpp:177,1
    - Dst: resize
      Src: /src/botan/src/lib/block/seed/seed.cpp:180,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:183,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:184,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/block/seed/seed.cpp:187,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:190,1
    - Dst: SEED_G
      Src: /src/botan/src/lib/block/seed/seed.cpp:191,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/seed/seed.cpp:193,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/block/seed/seed.cpp:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 197
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 197
    functionName: Botan::SEED::key_schedule
    functionSourceFile: /src/botan/src/lib/block/seed/seed.cpp
    functionUses: 0
    functionsReached:
    - SEED_G
    - get_byte<0>
    - load_be<uint32_t>
    - resize
    - get_byte<3>
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void SEED::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/seed/seed.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: Botan::SEED::clear
    functionSourceFile: /src/botan/src/lib/block/seed/seed.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void SEED::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::SEED::name
    functionSourceFile: /src/botan/src/lib/block/seed/seed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SEED>
      Src: /src/botan/src/lib/block/seed/seed.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::SEED::new_object
    functionSourceFile: /src/botan/src/lib/block/seed/seed.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SEED>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:26,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:26,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:36,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ' A0'
    - ' A1'
    - ' A2'
    - ' A3'
    - EK
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 39
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 39
    functionName: Botan::theta
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void theta(uint32_t& A0, uint32_t& A1, uint32_t& A2, uint32_t& A3,
      const uint32_t EK[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:46,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:46,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:51,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' A0'
    - ' A1'
    - ' A2'
    - ' A3'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: Botan::theta
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void theta(uint32_t& A0, uint32_t& A1, uint32_t& A2, uint32_t& A3)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' A0'
    - ' A1'
    - ' A2'
    - ' A3'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: Botan::gamma
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gamma(uint32_t& A0, uint32_t& A1, uint32_t& A2, uint32_t& A3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: Botan::Noekeon::parallelism
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: size_t
    signature: size_t Noekeon::parallelism() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: Botan::Noekeon::provider
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string Noekeon::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:105,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:108,1
    - Dst: Botan::Noekeon::simd_encrypt_4
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:110,1
    - Dst: theta
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:126,1
    - Dst: data
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:126,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:128,1
    - Dst: rotl<5>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:129,1
    - Dst: rotl<2>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:130,1
    - Dst: gamma
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:132,1
    - Dst: rotr<1>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:134,1
    - Dst: rotr<5>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:135,1
    - Dst: rotr<2>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:136,1
    - Dst: theta
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:140,1
    - Dst: data
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:140,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 147
    functionName: Botan::Noekeon::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - data
    - theta
    - assert_key_material_set
    - rotr<2>
    - rotl<1>
    - rotr<5>
    - rotr<1>
    - rotl<2>
    - gamma
    - rotl<5>
    - store_be
    - Botan::Noekeon::simd_encrypt_4
    linkageType: ''
    returnType: void
    signature: void Noekeon::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:153,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:156,1
    - Dst: Botan::Noekeon::simd_decrypt_4
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:158,1
    - Dst: theta
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:173,1
    - Dst: data
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:173,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:176,1
    - Dst: rotl<5>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:177,1
    - Dst: rotl<2>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:178,1
    - Dst: gamma
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:180,1
    - Dst: rotr<1>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:182,1
    - Dst: rotr<5>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:183,1
    - Dst: rotr<2>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:184,1
    - Dst: theta
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:187,1
    - Dst: data
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:187,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 195
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 195
    functionName: Botan::Noekeon::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.cpp
    functionUses: 0
    functionsReached:
    - Botan::Noekeon::simd_decrypt_4
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - data
    - theta
    - assert_key_material_set
    - rotr<2>
    - rotl<1>
    - rotr<5>
    - rotr<1>
    - rotl<2>
    - gamma
    - rotl<5>
    - store_be
    linkageType: ''
    returnType: void
    signature: void Noekeon::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: Botan::Noekeon::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Noekeon::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: theta
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:212,1
    - Dst: rotl<1>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:214,1
    - Dst: rotl<5>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:215,1
    - Dst: rotl<2>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:216,1
    - Dst: gamma
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:218,1
    - Dst: rotr<1>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:220,1
    - Dst: rotr<5>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:221,1
    - Dst: rotr<2>
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:222,1
    - Dst: resize
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:227,1
    - Dst: theta
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:233,1
    - Dst: resize
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 240
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 240
    functionName: Botan::Noekeon::key_schedule
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.cpp
    functionUses: 0
    functionsReached:
    - theta
    - rotr<2>
    - rotl<1>
    - rotr<5>
    - resize
    - rotr<1>
    - rotl<2>
    - gamma
    - rotl<5>
    linkageType: ''
    returnType: void
    signature: void Noekeon::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:246,1
    - Dst: zap
      Src: /src/botan/src/lib/block/noekeon/noekeon.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: Botan::Noekeon::clear
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Noekeon::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::Noekeon::name
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Noekeon>
      Src: /src/botan/src/lib/block/noekeon/noekeon.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::Noekeon::new_object
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Noekeon>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:28,1
    - Dst: SIMD_4x32::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:28,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:38,1
    - Dst: SIMD_4x32::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 8
    argNames:
    - ' A0'
    - ' A1'
    - ' A2'
    - ' A3'
    - ' K0'
    - ' K1'
    - ' K2'
    - ' K3'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 41
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 41
    functionName: Botan::theta
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::rotr
    - SIMD_4x32::rotl
    linkageType: ''
    returnType: void
    signature: "void theta(SIMD_4x32& A0,\n                  SIMD_4x32& A1,\n                  SIMD_4x32&
      A2,\n                  SIMD_4x32& A3,\n                  const SIMD_4x32& K0,\n
      \                 const SIMD_4x32& K1,\n                  const SIMD_4x32& K2,\n
      \                 const SIMD_4x32& K3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' A0'
    - ' A1'
    - ' A2'
    - ' A3'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: Botan::gamma
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gamma(SIMD_4x32& A0, SIMD_4x32& A1, SIMD_4x32& A2, SIMD_4x32&
      A3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:66,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:67,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:68,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:69,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:71,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:72,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:73,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:74,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:76,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:79,1
    - Dst: theta
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:81,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:83,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:84,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:85,1
    - Dst: gamma
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:87,1
    - Dst: SIMD_4x32::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:89,1
    - Dst: SIMD_4x32::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:90,1
    - Dst: SIMD_4x32::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:91,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:94,1
    - Dst: theta
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:95,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:97,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:99,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:100,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:101,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 103
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 103
    functionName: Botan::Noekeon::simd_encrypt_4
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::load_be
    - SIMD_4x32::rotr
    - theta
    - SIMD_4x32::store_be
    - Botan::SIMD_4x32::splat
    - gamma
    - SIMD_4x32::rotl
    - Botan::SIMD_4x32::transpose
    linkageType: ''
    returnType: void
    signature: void Noekeon::simd_encrypt_4(const uint8_t in[], uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:109,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:110,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:111,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:112,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:114,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:115,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:116,1
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:117,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:119,1
    - Dst: theta
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:122,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:124,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:126,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:127,1
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:128,1
    - Dst: gamma
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:130,1
    - Dst: SIMD_4x32::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:132,1
    - Dst: SIMD_4x32::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:133,1
    - Dst: SIMD_4x32::rotr
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:134,1
    - Dst: theta
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:137,1
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:138,1
    - Dst: Botan::SIMD_4x32::transpose
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:140,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:142,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:143,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:144,1
    - Dst: SIMD_4x32::store_be
      Src: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 146
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 146
    functionName: Botan::Noekeon::simd_decrypt_4
    functionSourceFile: /src/botan/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::load_be
    - SIMD_4x32::rotr
    - theta
    - SIMD_4x32::store_be
    - Botan::SIMD_4x32::splat
    - gamma
    - SIMD_4x32::rotl
    - Botan::SIMD_4x32::transpose
    linkageType: ''
    returnType: void
    signature: void Noekeon::simd_decrypt_4(const uint8_t in[], uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - K
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 114
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 114
    functionName: Botan::Camellia_F::F
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t F(uint64_t v, uint64_t K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotl<1>
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:123,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - v
    - K
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: Botan::Camellia_F::FL
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - rotl<1>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t FL(uint64_t v, uint64_t K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotl<1>
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:137,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - v
    - K
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: Botan::Camellia_F::FLINV
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - rotl<1>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t FLINV(uint64_t v, uint64_t K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefetch_arrays
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:146,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:150,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:157,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:158,1
    - Dst: Botan::Camellia_F::FL
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:162,1
    - Dst: Botan::Camellia_F::FLINV
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:163,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:166,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:167,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:170,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:171,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - in
    - out
    - blocks
    - ' SK'
    - rounds
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - secure_vector<uint64_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 178
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 178
    functionName: Botan::Camellia_F::encrypt
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - prefetch_arrays
    - Botan::Camellia_F::F
    - Botan::Camellia_F::FL
    - load_be
    - Botan::Camellia_F::FLINV
    - store_be
    linkageType: ''
    returnType: void
    signature: void encrypt(const uint8_t in[], uint8_t out[], size_t blocks, const
      secure_vector<uint64_t>& SK, size_t rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefetch_arrays
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:184,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:188,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:195,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:196,1
    - Dst: Botan::Camellia_F::FL
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:200,1
    - Dst: Botan::Camellia_F::FLINV
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:201,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:204,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:205,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:208,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:209,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - in
    - out
    - blocks
    - ' SK'
    - rounds
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - secure_vector<uint64_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 216
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 216
    functionName: Botan::Camellia_F::decrypt
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - prefetch_arrays
    - Botan::Camellia_F::F
    - Botan::Camellia_F::FL
    - load_be
    - Botan::Camellia_F::FLINV
    - store_be
    linkageType: ''
    returnType: void
    signature: void decrypt(const uint8_t in[], uint8_t out[], size_t blocks, const
      secure_vector<uint64_t>& SK, size_t rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - h
    - l
    - shift
    argTypes:
    - uint64_t
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: Botan::Camellia_F::left_rot_hi
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t left_rot_hi(uint64_t h, uint64_t l, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - h
    - l
    - shift
    argTypes:
    - uint64_t
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: Botan::Camellia_F::left_rot_lo
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t left_rot_lo(uint64_t h, uint64_t l, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:260,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:261,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:264,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:265,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:272,1
    - Dst: Botan::Camellia_F::F
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:273,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:278,1
    - Dst: resize
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:279,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:285,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:286,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:287,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:288,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:289,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:290,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:291,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:292,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:293,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:294,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:295,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:296,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:297,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:298,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:299,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:300,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:301,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:302,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:303,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:304,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:305,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:306,1
    - Dst: resize
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:308,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:315,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:316,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:317,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:318,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:320,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:321,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:322,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:323,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:325,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:326,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:327,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:328,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:330,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:331,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:332,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:333,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:334,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:335,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:337,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:338,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:339,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:340,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:342,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:343,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:344,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:345,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:346,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:347,1
    - Dst: Botan::Camellia_F::left_rot_lo
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:348,1
    - Dst: Botan::Camellia_F::left_rot_hi
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 85
    argCount: 2
    argNames:
    - ' SK'
    - key
    argTypes:
    - secure_vector<uint64_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 351
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 351
    functionName: Botan::Camellia_F::key_schedule
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - Botan::Camellia_F::left_rot_lo
    - Botan::Camellia_F::left_rot_hi
    - Botan::Camellia_F::F
    - resize
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void key_schedule(secure_vector<uint64_t>& SK, std::span<const uint8_t>
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 361
    functionName: Botan::Camellia_F::provider
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string provider()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:368,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:371,1
    - Dst: camellia_gfni_encrypt9
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:372,1
    - Dst: Botan::Camellia_F::encrypt
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 377
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 377
    functionName: Botan::Camellia_128::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - camellia_gfni_encrypt9
    - Botan::Camellia_F::encrypt
    - assert_key_material_set
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: void
    signature: void Camellia_128::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:380,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:383,1
    - Dst: camellia_gfni_encrypt12
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:384,1
    - Dst: Botan::Camellia_F::encrypt
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 389
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 389
    functionName: Botan::Camellia_192::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - Botan::Camellia_F::encrypt
    - camellia_gfni_encrypt12
    - assert_key_material_set
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: void
    signature: void Camellia_192::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:392,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:395,1
    - Dst: camellia_gfni_encrypt12
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:396,1
    - Dst: Botan::Camellia_F::encrypt
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 401
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 401
    functionName: Botan::Camellia_256::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - Botan::Camellia_F::encrypt
    - camellia_gfni_encrypt12
    - assert_key_material_set
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: void
    signature: void Camellia_256::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:404,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:407,1
    - Dst: camellia_gfni_decrypt9
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:408,1
    - Dst: Botan::Camellia_F::decrypt
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 413
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 413
    functionName: Botan::Camellia_128::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - camellia_gfni_decrypt9
    - Botan::Camellia_F::decrypt
    - assert_key_material_set
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: void
    signature: void Camellia_128::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:416,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:419,1
    - Dst: camellia_gfni_decrypt12
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:420,1
    - Dst: Botan::Camellia_F::decrypt
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: Botan::Camellia_192::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - camellia_gfni_decrypt12
    - Botan::Camellia_F::decrypt
    - assert_key_material_set
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: void
    signature: void Camellia_192::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:428,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:431,1
    - Dst: camellia_gfni_decrypt12
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:432,1
    - Dst: Botan::Camellia_F::decrypt
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 437
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 437
    functionName: Botan::Camellia_256::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - camellia_gfni_decrypt12
    - Botan::Camellia_F::decrypt
    - assert_key_material_set
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: void
    signature: void Camellia_256::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 441
    functionName: Botan::Camellia_128::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Camellia_128::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: Botan::Camellia_192::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Camellia_192::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: Botan::Camellia_256::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Camellia_256::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Camellia_F::key_schedule
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: Botan::Camellia_128::key_schedule
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - Botan::Camellia_F::key_schedule
    linkageType: ''
    returnType: void
    signature: void Camellia_128::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Camellia_F::key_schedule
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 457
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 457
    functionName: Botan::Camellia_192::key_schedule
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - Botan::Camellia_F::key_schedule
    linkageType: ''
    returnType: void
    signature: void Camellia_192::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Camellia_F::key_schedule
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 461
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 461
    functionName: Botan::Camellia_256::key_schedule
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - Botan::Camellia_F::key_schedule
    linkageType: ''
    returnType: void
    signature: void Camellia_256::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 465
    functionName: Botan::Camellia_128::clear
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Camellia_128::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 469
    functionName: Botan::Camellia_192::clear
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Camellia_192::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 473
    functionName: Botan::Camellia_256::clear
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Camellia_256::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Camellia_F::provider
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 477
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 477
    functionName: Botan::Camellia_128::provider
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - Botan::Camellia_F::provider
    linkageType: ''
    returnType: std::string
    signature: std::string Camellia_128::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Camellia_F::provider
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: Botan::Camellia_192::provider
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - Botan::Camellia_F::provider
    linkageType: ''
    returnType: std::string
    signature: std::string Camellia_192::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Camellia_F::provider
      Src: /src/botan/src/lib/block/camellia/camellia.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 485
    functionName: Botan::Camellia_256::provider
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.cpp
    functionUses: 0
    functionsReached:
    - Botan::Camellia_F::provider
    linkageType: ''
    returnType: std::string
    signature: std::string Camellia_256::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::Camellia_128::name
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Camellia_128>
      Src: /src/botan/src/lib/block/camellia/camellia.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::Camellia_128::new_object
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Camellia_128>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::Camellia_192::name
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Camellia_192>
      Src: /src/botan/src/lib/block/camellia/camellia.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::Camellia_192::new_object
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Camellia_192>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: Botan::Camellia_256::name
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Camellia_256>
      Src: /src/botan/src/lib/block/camellia/camellia.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Botan::Camellia_256::new_object
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Camellia_256>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:41,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:73,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:76,1
    - Dst: _mm256_gf2p8affine_epi64_epi8
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:78,1
    - Dst: _mm256_xor_si256
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:79,1
    - Dst: _mm256_gf2p8affineinv_epi64_epi8
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 80
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 80
    functionName: Botan::Camellia_GFNI::camellia_s1234
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp
    functionUses: 0
    functionsReached:
    - _mm256_gf2p8affine_epi64_epi8
    - _mm256_xor_si256
    - _mm256_gf2p8affineinv_epi64_epi8
    - _mm256_set_epi64x
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_GFNI
    signature: BOTAN_FN_ISA_AVX2_GFNI camellia_s1234(__m256i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Camellia_GFNI::camellia_s1234
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:84,1
    - Dst: _mm256_set1_epi64x
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:84,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:87,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:88,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:90,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:91,1
    - Dst: _mm256_xor_si256
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:93,1
    - Dst: _mm256_store_si256
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:96,1
    - Dst: reinterpret_cast<__m256i*>
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 100
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 100
    functionName: Botan::Camellia_GFNI::F
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp
    functionUses: 0
    functionsReached:
    - _mm256_set_epi64x
    - reinterpret_cast<__m256i*>
    - Botan::Camellia_GFNI::camellia_s1234
    - _mm256_store_si256
    - _mm256_shuffle_epi8
    - _mm256_xor_si256
    - _mm256_set1_epi64x
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_GFNI
    signature: BOTAN_FN_ISA_AVX2_GFNI F(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotl<1>
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:109,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - v
    - K
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 113
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 113
    functionName: Botan::Camellia_GFNI::FL
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp
    functionUses: 0
    functionsReached:
    - rotl<1>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t FL(uint64_t v, uint64_t K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotl<1>
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:123,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - v
    - K
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: Botan::Camellia_GFNI::FLINV
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp
    functionUses: 0
    functionsReached:
    - rotl<1>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t FLINV(uint64_t v, uint64_t K)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:140,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:145,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:146,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:147,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:148,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:149,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:150,1
    - Dst: FL
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:152,1
    - Dst: FLINV
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:153,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:155,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:156,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:157,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:158,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:159,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:160,1
    - Dst: FL
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:162,1
    - Dst: FLINV
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:163,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:165,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:166,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:167,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:168,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:169,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:170,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 4
    argNames:
    - in
    - out
    - blocks
    - SK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - std::span<const uint64_t>
    constantsTouched: []
    func_position:
      end: 177
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 177
    functionName: Botan::camellia_gfni_encrypt9
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp
    functionUses: 0
    functionsReached:
    - F
    - FL
    - FLINV
    - Botan::store_be
    - Botan::load_be
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_GFNI
    signature: "BOTAN_FN_ISA_AVX2_GFNI camellia_gfni_encrypt9(const uint8_t in[],\n
      \                                                  uint8_t out[],\n                                                   size_t
      blocks,\n                                                   std::span<const
      uint64_t> SK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:187,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:192,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:193,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:195,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:196,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:198,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:199,1
    - Dst: FL
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:201,1
    - Dst: FLINV
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:202,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:204,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:205,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:206,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:207,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:208,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:209,1
    - Dst: FL
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:211,1
    - Dst: FLINV
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:212,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:214,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:215,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:216,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:217,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:218,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:219,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 4
    argNames:
    - in
    - out
    - blocks
    - SK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - std::span<const uint64_t>
    constantsTouched: []
    func_position:
      end: 226
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 226
    functionName: Botan::camellia_gfni_decrypt9
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp
    functionUses: 0
    functionsReached:
    - F
    - FL
    - FLINV
    - Botan::store_be
    - Botan::load_be
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_GFNI
    signature: "BOTAN_FN_ISA_AVX2_GFNI camellia_gfni_decrypt9(const uint8_t in[],\n
      \                                                  uint8_t out[],\n                                                   size_t
      blocks,\n                                                   std::span<const
      uint64_t> SK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:236,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:241,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:242,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:243,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:244,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:245,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:246,1
    - Dst: FL
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:248,1
    - Dst: FLINV
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:249,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:251,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:252,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:253,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:254,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:255,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:256,1
    - Dst: FL
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:258,1
    - Dst: FLINV
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:259,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:261,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:262,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:263,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:264,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:265,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:266,1
    - Dst: FL
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:268,1
    - Dst: FLINV
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:269,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:271,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:272,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:273,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:274,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:275,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:276,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 4
    argNames:
    - in
    - out
    - blocks
    - SK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - std::span<const uint64_t>
    constantsTouched: []
    func_position:
      end: 283
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 283
    functionName: Botan::camellia_gfni_encrypt12
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp
    functionUses: 0
    functionsReached:
    - F
    - FL
    - FLINV
    - Botan::store_be
    - Botan::load_be
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_GFNI
    signature: "BOTAN_FN_ISA_AVX2_GFNI camellia_gfni_encrypt12(const uint8_t in[],\n
      \                                                   uint8_t out[],\n                                                    size_t
      blocks,\n                                                    std::span<const
      uint64_t> SK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:293,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:298,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:299,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:301,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:302,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:304,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:305,1
    - Dst: FL
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:307,1
    - Dst: FLINV
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:308,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:309,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:310,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:311,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:312,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:313,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:314,1
    - Dst: FL
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:316,1
    - Dst: FLINV
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:317,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:318,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:319,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:320,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:321,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:322,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:323,1
    - Dst: FL
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:325,1
    - Dst: FLINV
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:326,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:327,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:328,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:329,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:330,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:331,1
    - Dst: F
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:332,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 4
    argNames:
    - in
    - out
    - blocks
    - SK
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    - std::span<const uint64_t>
    constantsTouched: []
    func_position:
      end: 339
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 339
    functionName: Botan::camellia_gfni_decrypt12
    functionSourceFile: /src/botan/src/lib/block/camellia/camellia_gfni/camellia_gfni.cpp
    functionUses: 0
    functionsReached:
    - F
    - FL
    - FLINV
    - Botan::store_be
    - Botan::load_be
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2_GFNI
    signature: "BOTAN_FN_ISA_AVX2_GFNI camellia_gfni_decrypt12(const uint8_t in[],\n
      \                                                   uint8_t out[],\n                                                    size_t
      blocks,\n                                                    std::span<const
      uint64_t> SK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotl<R1>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:26,1
    - Dst: rotl<R2>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:27,1
    - Dst: rotl<R3>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:28,1
    - Dst: rotl<R4>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 8
    argNames:
    - ' X0'
    - ' X1'
    - ' X2'
    - ' X3'
    - ' X4'
    - ' X5'
    - ' X6'
    - ' X7'
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 34
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 34
    functionName: Botan::Threefish_F::e_round
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - rotl<R1>
    - rotl<R3>
    - rotl<R2>
    - rotl<R4>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE e_round(\n   uint64_t& X0, uint64_t& X1, uint64_t&
      X2, uint64_t& X3, uint64_t& X4, uint64_t& X5, uint64_t& X6, uint64_t& X7)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotr<R1>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:43,1
    - Dst: rotr<R2>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:44,1
    - Dst: rotr<R3>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:45,1
    - Dst: rotr<R4>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 8
    argNames:
    - ' X0'
    - ' X1'
    - ' X2'
    - ' X3'
    - ' X4'
    - ' X5'
    - ' X6'
    - ' X7'
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: Botan::Threefish_F::d_round
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - rotr<R2>
    - rotr<R1>
    - rotr<R4>
    - rotr<R3>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE d_round(\n   uint64_t& X0, uint64_t& X1, uint64_t&
      X2, uint64_t& X3, uint64_t& X4, uint64_t& X5, uint64_t& X6, uint64_t& X7)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - K
    - T
    argTypes:
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::Threefish_F::Key_Inserter::Key_Inserter
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key_Inserter(const uint64_t* K, const uint64_t* T)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 9
    argNames:
    - R
    - ' X0'
    - ' X1'
    - ' X2'
    - ' X3'
    - ' X4'
    - ' X5'
    - ' X6'
    - ' X7'
    argTypes:
    - size_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: Botan::Threefish_F::Key_Inserter::e_add
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void e_add(size_t R,\n                 uint64_t& X0,\n                 uint64_t&
      X1,\n                 uint64_t& X2,\n                 uint64_t& X3,\n                 uint64_t&
      X4,\n                 uint64_t& X5,\n                 uint64_t& X6,\n                 uint64_t&
      X7) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 9
    argNames:
    - R
    - ' X0'
    - ' X1'
    - ' X2'
    - ' X3'
    - ' X4'
    - ' X5'
    - ' X6'
    - ' X7'
    argTypes:
    - size_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: Botan::Threefish_F::Key_Inserter::d_add
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void d_add(size_t R,\n                 uint64_t& X0,\n                 uint64_t&
      X1,\n                 uint64_t& X2,\n                 uint64_t& X3,\n                 uint64_t&
      X4,\n                 uint64_t& X5,\n                 uint64_t& X6,\n                 uint64_t&
      X7) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Threefish_F::e_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:110,1
    - Dst: Botan::Threefish_F::e_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:111,1
    - Dst: Botan::Threefish_F::e_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:112,1
    - Dst: Botan::Threefish_F::e_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:113,1
    - Dst: e_add
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:114,1
    - Dst: Botan::Threefish_F::e_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:116,1
    - Dst: Botan::Threefish_F::e_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:117,1
    - Dst: Botan::Threefish_F::e_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:118,1
    - Dst: Botan::Threefish_F::e_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:119,1
    - Dst: e_add
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 9
    argNames:
    - ' X0'
    - ' X1'
    - ' X2'
    - ' X3'
    - ' X4'
    - ' X5'
    - ' X6'
    - ' X7'
    - ' key'
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - Key_Inserter
    constantsTouched: []
    func_position:
      end: 121
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 121
    functionName: Botan::Threefish_F::e8_rounds
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - Botan::Threefish_F::e_round
    - e_add
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE e8_rounds(uint64_t& X0,\n                                  uint64_t&
      X1,\n                                  uint64_t& X2,\n                                  uint64_t&
      X3,\n                                  uint64_t& X4,\n                                  uint64_t&
      X5,\n                                  uint64_t& X6,\n                                  uint64_t&
      X7,\n                                  const Key_Inserter& key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Threefish_F::d_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:133,1
    - Dst: Botan::Threefish_F::d_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:134,1
    - Dst: Botan::Threefish_F::d_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:135,1
    - Dst: Botan::Threefish_F::d_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:136,1
    - Dst: d_add
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:137,1
    - Dst: Botan::Threefish_F::d_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:139,1
    - Dst: Botan::Threefish_F::d_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:140,1
    - Dst: Botan::Threefish_F::d_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:141,1
    - Dst: Botan::Threefish_F::d_round
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:142,1
    - Dst: d_add
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 9
    argNames:
    - ' X0'
    - ' X1'
    - ' X2'
    - ' X3'
    - ' X4'
    - ' X5'
    - ' X6'
    - ' X7'
    - ' key'
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - Key_Inserter
    constantsTouched: []
    func_position:
      end: 144
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 144
    functionName: Botan::Threefish_F::d8_rounds
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - d_add
    - Botan::Threefish_F::d_round
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE d8_rounds(uint64_t& X0,\n                                  uint64_t&
      X1,\n                                  uint64_t& X2,\n                                  uint64_t&
      X3,\n                                  uint64_t& X4,\n                                  uint64_t&
      X5,\n                                  uint64_t& X6,\n                                  uint64_t&
      X7,\n                                  const Key_Inserter& key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:153,1
    - Dst: size
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:153,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:154,1
    - Dst: size
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:154,1
    - Dst: data
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:160,1
    - Dst: data
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:160,1
    - Dst: Key_Inserter::e_add
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:171,1
    - Dst: e8_rounds<1, 2>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:173,1
    - Dst: e8_rounds<3, 4>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:174,1
    - Dst: e8_rounds<5, 6>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:175,1
    - Dst: e8_rounds<7, 8>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:176,1
    - Dst: e8_rounds<9, 10>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:177,1
    - Dst: e8_rounds<11, 12>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:178,1
    - Dst: e8_rounds<13, 14>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:179,1
    - Dst: e8_rounds<15, 16>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:180,1
    - Dst: e8_rounds<17, 18>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 2
    argNames:
    - ' M'
    - ' T'
    argTypes:
    - secure_vector<uint64_t>
    - secure_vector<uint64_t>
    constantsTouched: []
    func_position:
      end: 193
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 193
    functionName: Botan::Threefish_512::skein_feedfwd
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - e8_rounds<1, 2>
    - e8_rounds<15, 16>
    - e8_rounds<7, 8>
    - e8_rounds<3, 4>
    - data
    - Key_Inserter::e_add
    - e8_rounds<17, 18>
    - size
    - e8_rounds<11, 12>
    - BOTAN_ASSERT
    - e8_rounds<13, 14>
    - e8_rounds<9, 10>
    - e8_rounds<5, 6>
    linkageType: ''
    returnType: void
    signature: void Threefish_512::skein_feedfwd(const secure_vector<uint64_t>& M,
      const secure_vector<uint64_t>& T)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:198,1
    - Dst: data
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:200,1
    - Dst: data
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:200,1
    - Dst: load_le
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:204,1
    - Dst: Key_Inserter::e_add
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:206,1
    - Dst: e8_rounds<1, 2>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:208,1
    - Dst: e8_rounds<3, 4>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:209,1
    - Dst: e8_rounds<5, 6>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:210,1
    - Dst: e8_rounds<7, 8>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:211,1
    - Dst: e8_rounds<9, 10>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:212,1
    - Dst: e8_rounds<11, 12>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:213,1
    - Dst: e8_rounds<13, 14>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:214,1
    - Dst: e8_rounds<15, 16>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:215,1
    - Dst: e8_rounds<17, 18>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:216,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 220
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 220
    functionName: Botan::Threefish_512::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - e8_rounds<1, 2>
    - e8_rounds<15, 16>
    - e8_rounds<9, 10>
    - e8_rounds<7, 8>
    - e8_rounds<3, 4>
    - data
    - Key_Inserter::e_add
    - assert_key_material_set
    - e8_rounds<17, 18>
    - store_le
    - e8_rounds<11, 12>
    - e8_rounds<13, 14>
    - load_le
    - e8_rounds<5, 6>
    linkageType: ''
    returnType: void
    signature: void Threefish_512::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:225,1
    - Dst: data
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:227,1
    - Dst: data
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:227,1
    - Dst: load_le
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:231,1
    - Dst: Key_Inserter::d_add
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:233,1
    - Dst: d8_rounds<17, 16>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:235,1
    - Dst: d8_rounds<15, 14>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:236,1
    - Dst: d8_rounds<13, 12>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:237,1
    - Dst: d8_rounds<11, 10>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:238,1
    - Dst: d8_rounds<9, 8>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:239,1
    - Dst: d8_rounds<7, 6>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:240,1
    - Dst: d8_rounds<5, 4>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:241,1
    - Dst: d8_rounds<3, 2>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:242,1
    - Dst: d8_rounds<1, 0>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:243,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 247
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 247
    functionName: Botan::Threefish_512::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - d8_rounds<5, 4>
    - d8_rounds<17, 16>
    - data
    - d8_rounds<11, 10>
    - d8_rounds<3, 2>
    - assert_key_material_set
    - d8_rounds<15, 14>
    - d8_rounds<13, 12>
    - store_le
    - d8_rounds<1, 0>
    - load_le
    - Key_Inserter::d_add
    - d8_rounds<9, 8>
    - d8_rounds<7, 6>
    linkageType: ''
    returnType: void
    signature: void Threefish_512::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:250,1
    - Dst: resize
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:252,1
    - Dst: load_le<uint64_t>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:253,1
    - Dst: load_le<uint64_t>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - tweak
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: Botan::Threefish_512::set_tweak
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - resize
    - BOTAN_ARG_CHECK
    - load_le<uint64_t>
    linkageType: ''
    returnType: void
    signature: void Threefish_512::set_tweak(const uint8_t tweak[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: Botan::Threefish_512::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Threefish_512::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:264,1
    - Dst: load_le<uint64_t>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:267,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:267,1
    - Dst: resize
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:273,1
    - Dst: zeroise
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 275
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 275
    functionName: Botan::Threefish_512::key_schedule
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - zeroise
    - resize
    - std::span<const uint8_t>::data
    - load_le<uint64_t>
    linkageType: ''
    returnType: void
    signature: void Threefish_512::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:278,1
    - Dst: zap
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: Botan::Threefish_512::clear
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void Threefish_512::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::Threefish_512::name
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Threefish_512>
      Src: /src/botan/src/lib/block/threefish_512/threefish_512.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::Threefish_512::new_object
    functionSourceFile: /src/botan/src/lib/block/threefish_512/threefish_512.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Threefish_512>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - row
    - col
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: Botan::GOST_28147_89_Params::sbox_entry
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GOST_28147_89_Params::sbox_entry(size_t row, size_t col) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - row
    - col
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: Botan::GOST_28147_89_Params::sbox_pair
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GOST_28147_89_Params::sbox_pair(size_t row, size_t col) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:50,1
    - Dst: fmt
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 52
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 52
    functionName: Botan::GOST_28147_89_Params::GOST_28147_89_Params
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - fmt
    linkageType: ''
    returnType: void
    signature: void GOST_28147_89_Params::GOST_28147_89_Params(std::string_view n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:58,1
    - Dst: param_name
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:58,1
    - Dst: rotl<11, uint32_t>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:62,1
    - Dst: sbox_pair
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:62,1
    - Dst: rotl<19, uint32_t>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:63,1
    - Dst: sbox_pair
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:63,1
    - Dst: rotl<27, uint32_t>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:64,1
    - Dst: sbox_pair
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:64,1
    - Dst: rotl<3, uint32_t>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:65,1
    - Dst: sbox_pair
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' param'
    argTypes:
    - GOST_28147_89_Params
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: Botan::GOST_28147_89::GOST_28147_89
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached:
    - sbox_pair
    - fmt
    - rotl<3, uint32_t>
    - param_name
    - rotl<11, uint32_t>
    - rotl<27, uint32_t>
    - rotl<19, uint32_t>
    linkageType: ''
    returnType: void
    signature: void GOST_28147_89::GOST_28147_89(const GOST_28147_89_Params& param)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan::GOST_28147_89::name
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GOST_28147_89::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:81,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:81,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:81,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:81,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:84,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:84,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:84,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' N1'
    - ' N2'
    - ' S'
    - ' EK'
    argTypes:
    - uint32_t
    - uint32_t
    - std::vector<uint32_t>
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: Botan::GOST_ROUND2
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached:
    - Botan::get_byte
    linkageType: ''
    returnType: void
    signature: void GOST_ROUND2(uint32_t& N1, uint32_t& N2, const std::vector<uint32_t>&
      S, const secure_vector<uint32_t>& EK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:93,1
    - Dst: GOST_ROUND2<0, 1>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:100,1
    - Dst: GOST_ROUND2<2, 3>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:101,1
    - Dst: GOST_ROUND2<4, 5>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:102,1
    - Dst: GOST_ROUND2<6, 7>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:103,1
    - Dst: GOST_ROUND2<7, 6>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:106,1
    - Dst: GOST_ROUND2<5, 4>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:107,1
    - Dst: GOST_ROUND2<3, 2>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:108,1
    - Dst: GOST_ROUND2<1, 0>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:109,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 116
    functionName: Botan::GOST_28147_89::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached:
    - GOST_ROUND2<2, 3>
    - GOST_ROUND2<7, 6>
    - GOST_ROUND2<3, 2>
    - assert_key_material_set
    - GOST_ROUND2<4, 5>
    - GOST_ROUND2<0, 1>
    - GOST_ROUND2<6, 7>
    - GOST_ROUND2<1, 0>
    - store_le
    - GOST_ROUND2<5, 4>
    linkageType: ''
    returnType: void
    signature: void GOST_28147_89::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:122,1
    - Dst: GOST_ROUND2<0, 1>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:128,1
    - Dst: GOST_ROUND2<2, 3>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:129,1
    - Dst: GOST_ROUND2<4, 5>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:130,1
    - Dst: GOST_ROUND2<6, 7>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:131,1
    - Dst: GOST_ROUND2<7, 6>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:134,1
    - Dst: GOST_ROUND2<5, 4>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:135,1
    - Dst: GOST_ROUND2<3, 2>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:136,1
    - Dst: GOST_ROUND2<1, 0>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:137,1
    - Dst: store_le
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 144
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 144
    functionName: Botan::GOST_28147_89::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached:
    - GOST_ROUND2<2, 3>
    - GOST_ROUND2<7, 6>
    - GOST_ROUND2<3, 2>
    - assert_key_material_set
    - GOST_ROUND2<4, 5>
    - GOST_ROUND2<0, 1>
    - GOST_ROUND2<6, 7>
    - GOST_ROUND2<1, 0>
    - store_le
    - GOST_ROUND2<5, 4>
    linkageType: ''
    returnType: void
    signature: void GOST_28147_89::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: Botan::GOST_28147_89::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool GOST_28147_89::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:154,1
    - Dst: load_le<uint32_t>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:156,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: Botan::GOST_28147_89::key_schedule
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached:
    - load_le<uint32_t>
    - resize
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void GOST_28147_89::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: Botan::GOST_28147_89::clear
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void GOST_28147_89::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::GOST_28147_89_Params::param_name
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string param_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<GOST_28147_89>
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: Botan::GOST_28147_89::new_object
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.h
    functionUses: 0
    functionsReached:
    - std::make_unique<GOST_28147_89>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GOST_28147_89_Params
      Src: /src/botan/src/lib/block/gost_28147/gost_28147.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - param_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: Botan::GOST_28147_89::GOST_28147_89
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.h
    functionUses: 0
    functionsReached:
    - GOST_28147_89_Params
    linkageType: ''
    returnType: void
    signature: void GOST_28147_89(std::string_view param_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' other_SBOX'
    - name
    argTypes:
    - std::vector<uint32_t>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: Botan::GOST_28147_89::GOST_28147_89
    functionSourceFile: /src/botan/src/lib/block/gost_28147/gost_28147.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GOST_28147_89(const std::vector<uint32_t>& other_SBOX, std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::CAST_128::name
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CAST_128>
      Src: /src/botan/src/lib/block/cast128/cast128.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::CAST_128::new_object
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.h
    functionUses: 0
    functionsReached:
    - std::make_unique<CAST_128>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - R
    - MK
    - RK
    argTypes:
    - uint32_t
    - uint32_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: Botan::F1
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t F1(uint32_t R, uint32_t MK, uint8_t RK)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - R
    - MK
    - RK
    argTypes:
    - uint32_t
    - uint32_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: Botan::F2
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t F2(uint32_t R, uint32_t MK, uint8_t RK)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - R
    - MK
    - RK
    argTypes:
    - uint32_t
    - uint32_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: Botan::F3
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t F3(uint32_t R, uint32_t MK, uint8_t RK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:187,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:191,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:193,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:194,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:195,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:196,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:197,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:198,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:199,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:200,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:201,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:202,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:203,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:204,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:205,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:206,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:207,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:208,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:209,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:210,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:211,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:212,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:213,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:214,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:215,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:216,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:217,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:218,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:219,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:220,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:221,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:222,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:223,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:224,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:226,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:235,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:237,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:238,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:239,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:240,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:241,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:242,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:243,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:244,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:245,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:246,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:247,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:248,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:249,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:250,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:251,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:252,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 61
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 256
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 256
    functionName: Botan::CAST_128::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.cpp
    functionUses: 0
    functionsReached:
    - F3
    - F1
    - assert_key_material_set
    - F2
    - load_be
    - store_be
    linkageType: ''
    returnType: void
    signature: void CAST_128::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:262,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:266,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:268,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:269,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:270,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:271,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:272,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:273,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:274,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:275,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:276,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:277,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:278,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:279,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:280,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:281,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:282,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:283,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:284,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:285,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:286,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:287,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:288,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:289,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:290,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:291,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:292,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:293,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:294,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:295,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:296,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:297,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:298,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:299,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:301,1
    - Dst: load_be
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:310,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:312,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:313,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:314,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:315,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:316,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:317,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:318,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:319,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:320,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:321,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:322,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:323,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:324,1
    - Dst: F3
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:325,1
    - Dst: F2
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:326,1
    - Dst: F1
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:327,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 61
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 331
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 331
    functionName: Botan::CAST_128::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.cpp
    functionUses: 0
    functionsReached:
    - F3
    - F1
    - assert_key_material_set
    - F2
    - load_be
    - store_be
    linkageType: ''
    returnType: void
    signature: void CAST_128::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: Botan::CAST_128::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool CAST_128::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:341,1
    - Dst: resize
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:342,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:345,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:345,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:345,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:345,1
    - Dst: load_be<uint32_t>
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:349,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:349,1
    - Dst: Botan::CAST_128::cast_ks
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:352,1
    - Dst: Botan::CAST_128::cast_ks
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 360
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 360
    functionName: Botan::CAST_128::key_schedule
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - Botan::CAST_128::cast_ks
    - copy_mem
    - load_be<uint32_t>
    - resize
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void CAST_128::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:363,1
    - Dst: zap
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: Botan::CAST_128::clear
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void CAST_128::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:497,1
    - Dst: data
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:506,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:506,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:508,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:508,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:508,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:508,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:508,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:509,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:509,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:509,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:509,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:509,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:510,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:510,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:510,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:510,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:510,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:511,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:511,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:511,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:511,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:511,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:512,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:512,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:512,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:512,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:512,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:513,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:513,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:513,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:513,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:513,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:514,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:514,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:514,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:514,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:514,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:515,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:515,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:515,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:515,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:515,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:516,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:516,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:516,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:516,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:516,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:517,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:517,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:517,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:517,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:517,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:518,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:518,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:518,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:518,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:518,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:519,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:519,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:519,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:519,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:519,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:520,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:520,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:520,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:520,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:520,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:521,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:521,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:521,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:521,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:521,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:522,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:522,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:522,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:522,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:522,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:523,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:523,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:523,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:523,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:523,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:524,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:524,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:524,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:524,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:524,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:525,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:525,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:525,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:525,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:525,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:526,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:526,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:526,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:526,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:526,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:527,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:527,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:527,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:527,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:527,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:528,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:528,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:528,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:528,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:528,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:529,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:529,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:529,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:529,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:529,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:530,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:530,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:530,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:530,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:530,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:531,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:531,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:531,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:531,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:531,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:532,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:532,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:532,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:532,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:532,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:533,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:533,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:533,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:533,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:533,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:534,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:534,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:534,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:534,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:534,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:535,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:535,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:535,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:535,1
    - Dst: z
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:535,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:536,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:536,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:536,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:536,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:536,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:537,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:537,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:537,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:537,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:537,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:538,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:538,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:538,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:538,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:538,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:539,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:539,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:539,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:539,1
    - Dst: x
      Src: /src/botan/src/lib/block/cast128/cast128.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 2
    argNames:
    - ' K'
    - ' X'
    argTypes:
    - secure_vector<uint32_t>
    - secure_vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 540
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 540
    functionName: Botan::CAST_128::cast_ks
    functionSourceFile: /src/botan/src/lib/block/cast128/cast128.cpp
    functionUses: 1
    functionsReached:
    - secure_vector::data
    - data
    - z
    - x
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void CAST_128::cast_ks(secure_vector<uint32_t>& K, secure_vector<uint32_t>&
      X)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::DES::name
    functionSourceFile: /src/botan/src/lib/block/des/des.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DES>
      Src: /src/botan/src/lib/block/des/des.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::DES::new_object
    functionSourceFile: /src/botan/src/lib/block/des/des.h
    functionUses: 0
    functionsReached:
    - std::make_unique<DES>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::TripleDES::name
    functionSourceFile: /src/botan/src/lib/block/des/des.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TripleDES>
      Src: /src/botan/src/lib/block/des/des.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::TripleDES::new_object
    functionSourceFile: /src/botan/src/lib/block/des/des.h
    functionUses: 0
    functionsReached:
    - std::make_unique<TripleDES>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - round_key
    - key
    argTypes:
    - uint32_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 132
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 132
    functionName: Botan::des_key_schedule
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void des_key_schedule(uint32_t round_key[32], const uint8_t key[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - T0
    - T1
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: Botan::spbox
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t spbox(uint32_t T0, uint32_t T1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:152,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:152,1
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:153,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' Lr'
    - ' Rr'
    - round_key
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: Botan::des_encrypt
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    - Botan::spbox
    linkageType: ''
    returnType: void
    signature: void des_encrypt(uint32_t& Lr, uint32_t& Rr, const uint32_t round_key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:167,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:167,1
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:168,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:168,1
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:170,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:170,1
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:171,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ' L0r'
    - ' R0r'
    - ' L1r'
    - ' R1r'
    - round_key
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 178
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 178
    functionName: Botan::des_encrypt_x2
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    - Botan::spbox
    linkageType: ''
    returnType: void
    signature: void des_encrypt_x2(uint32_t& L0r, uint32_t& R0r, uint32_t& L1r, uint32_t&
      R1r, const uint32_t round_key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:187,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:187,1
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:188,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' Lr'
    - ' Rr'
    - round_key
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: Botan::des_decrypt
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    - Botan::spbox
    linkageType: ''
    returnType: void
    signature: void des_decrypt(uint32_t& Lr, uint32_t& Rr, const uint32_t round_key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:201,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:201,1
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:202,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:202,1
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:204,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:204,1
    - Dst: Botan::spbox
      Src: /src/botan/src/lib/block/des/des.cpp:205,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ' L0r'
    - ' R0r'
    - ' L1r'
    - ' R1r'
    - round_key
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 212
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 212
    functionName: Botan::des_decrypt_x2
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    - Botan::spbox
    linkageType: ''
    returnType: void
    signature: void des_decrypt_x2(uint32_t& L0r, uint32_t& R0r, uint32_t& L1r, uint32_t&
      R1r, const uint32_t round_key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/des/des.cpp:217,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:220,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:223,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:226,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/des/des.cpp:229,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/des/des.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - ' L'
    - ' R'
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 233
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 233
    functionName: Botan::des_IP
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void des_IP(uint32_t& L, uint32_t& R)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:239,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:242,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/des/des.cpp:245,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/des/des.cpp:248,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/block/des/des.cpp:251,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/block/des/des.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - ' L'
    - ' R'
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 255
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 255
    functionName: Botan::des_FP
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotr
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void des_FP(uint32_t& L, uint32_t& R)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/des/des.cpp:263,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:271,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:272,1
    - Dst: des_encrypt_x2
      Src: /src/botan/src/lib/block/des/des.cpp:274,1
    - Dst: data
      Src: /src/botan/src/lib/block/des/des.cpp:274,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:276,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:277,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/des/des.cpp:279,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:289,1
    - Dst: des_encrypt
      Src: /src/botan/src/lib/block/des/des.cpp:290,1
    - Dst: data
      Src: /src/botan/src/lib/block/des/des.cpp:290,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:291,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/des/des.cpp:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 298
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 298
    functionName: Botan::DES::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - des_encrypt_x2
    - data
    - assert_key_material_set
    - des_IP
    - des_FP
    - des_encrypt
    - store_be
    linkageType: ''
    returnType: void
    signature: void DES::encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/des/des.cpp:304,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:312,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:313,1
    - Dst: des_decrypt_x2
      Src: /src/botan/src/lib/block/des/des.cpp:315,1
    - Dst: data
      Src: /src/botan/src/lib/block/des/des.cpp:315,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:317,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:318,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/des/des.cpp:320,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:330,1
    - Dst: des_decrypt
      Src: /src/botan/src/lib/block/des/des.cpp:331,1
    - Dst: data
      Src: /src/botan/src/lib/block/des/des.cpp:331,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:332,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/des/des.cpp:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 339
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 339
    functionName: Botan::DES::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - data
    - assert_key_material_set
    - des_decrypt
    - des_IP
    - des_FP
    - des_decrypt_x2
    - store_be
    linkageType: ''
    returnType: void
    signature: void DES::decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/des/des.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: Botan::DES::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool DES::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/des/des.cpp:349,1
    - Dst: des_key_schedule
      Src: /src/botan/src/lib/block/des/des.cpp:350,1
    - Dst: data
      Src: /src/botan/src/lib/block/des/des.cpp:350,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/block/des/des.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: Botan::DES::key_schedule
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - data
    - resize
    - std::span<const uint8_t>::data
    - des_key_schedule
    linkageType: ''
    returnType: void
    signature: void DES::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/des/des.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: Botan::DES::clear
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void DES::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/des/des.cpp:361,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:369,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:370,1
    - Dst: des_encrypt_x2
      Src: /src/botan/src/lib/block/des/des.cpp:372,1
    - Dst: des_decrypt_x2
      Src: /src/botan/src/lib/block/des/des.cpp:373,1
    - Dst: des_encrypt_x2
      Src: /src/botan/src/lib/block/des/des.cpp:374,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:376,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:377,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/des/des.cpp:379,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:390,1
    - Dst: des_encrypt
      Src: /src/botan/src/lib/block/des/des.cpp:391,1
    - Dst: des_decrypt
      Src: /src/botan/src/lib/block/des/des.cpp:392,1
    - Dst: des_encrypt
      Src: /src/botan/src/lib/block/des/des.cpp:393,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:394,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/des/des.cpp:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 402
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 402
    functionName: Botan::TripleDES::encrypt_n
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - des_encrypt_x2
    - assert_key_material_set
    - des_decrypt
    - des_IP
    - des_FP
    - des_encrypt
    - des_decrypt_x2
    - store_be
    linkageType: ''
    returnType: void
    signature: void TripleDES::encrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/block/des/des.cpp:408,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:416,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:417,1
    - Dst: des_decrypt_x2
      Src: /src/botan/src/lib/block/des/des.cpp:419,1
    - Dst: des_encrypt_x2
      Src: /src/botan/src/lib/block/des/des.cpp:420,1
    - Dst: des_decrypt_x2
      Src: /src/botan/src/lib/block/des/des.cpp:421,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:423,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:424,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/des/des.cpp:426,1
    - Dst: des_IP
      Src: /src/botan/src/lib/block/des/des.cpp:437,1
    - Dst: des_decrypt
      Src: /src/botan/src/lib/block/des/des.cpp:438,1
    - Dst: des_encrypt
      Src: /src/botan/src/lib/block/des/des.cpp:439,1
    - Dst: des_decrypt
      Src: /src/botan/src/lib/block/des/des.cpp:440,1
    - Dst: des_FP
      Src: /src/botan/src/lib/block/des/des.cpp:441,1
    - Dst: store_be
      Src: /src/botan/src/lib/block/des/des.cpp:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 449
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 449
    functionName: Botan::TripleDES::decrypt_n
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - des_encrypt_x2
    - assert_key_material_set
    - des_decrypt
    - des_IP
    - des_FP
    - des_encrypt
    - des_decrypt_x2
    - store_be
    linkageType: ''
    returnType: void
    signature: void TripleDES::decrypt_n(const uint8_t in[], uint8_t out[], size_t
      blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/block/des/des.cpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: Botan::TripleDES::has_keying_material
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool TripleDES::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/block/des/des.cpp:459,1
    - Dst: des_key_schedule
      Src: /src/botan/src/lib/block/des/des.cpp:460,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/block/des/des.cpp:460,1
    - Dst: des_key_schedule
      Src: /src/botan/src/lib/block/des/des.cpp:461,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/block/des/des.cpp:461,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/block/des/des.cpp:463,1
    - Dst: des_key_schedule
      Src: /src/botan/src/lib/block/des/des.cpp:464,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/block/des/des.cpp:464,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/block/des/des.cpp:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 468
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 468
    functionName: Botan::TripleDES::key_schedule
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::subspan
    - des_key_schedule
    - copy_mem
    - resize
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::last
    - std::span<const uint8_t>::first
    linkageType: ''
    returnType: void
    signature: void TripleDES::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/block/des/des.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: Botan::TripleDES::clear
    functionSourceFile: /src/botan/src/lib/block/des/des.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void TripleDES::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/kdf/kdf.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - key
    - key_len
    - secret
    - secret_len
    - salt
    - salt_len
    - label
    - label_len
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: Botan::kdf
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 1
    functionsReached:
    - Botan::derive_key
    linkageType: ''
    returnType: void
    signature: "void kdf(uint8_t key[],\n               size_t key_len,\n               const
      uint8_t secret[],\n               size_t secret_len,\n               const uint8_t
      salt[],\n               size_t salt_len,\n               const uint8_t label[],\n
      \              size_t label_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/kdf/kdf.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key_len
    - secret
    - secret_len
    - salt
    - salt_len
    argTypes:
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 6
    functionsReached:
    - Botan::derive_key
    linkageType: ''
    returnType: T
    signature: "T derive_key(size_t key_len,\n                   const uint8_t secret[],\n
      \                  size_t secret_len,\n                   const uint8_t salt[],\n
      \                  size_t salt_len,\n                   const uint8_t label[]
      = nullptr,\n                   size_t label_len = 0) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/kdf/kdf.h:114,1
    - Dst: _as_span
      Src: /src/botan/src/lib/kdf/kdf.h:114,1
    - Dst: _as_span
      Src: /src/botan/src/lib/kdf/kdf.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key_len
    - secret
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 7
    functionsReached:
    - _as_span
    - Botan::derive_key
    linkageType: ''
    returnType: T
    signature: "T derive_key(size_t key_len,\n                   std::span<const uint8_t>
      secret,\n                   std::string_view salt = \"\",\n                   std::string_view
      label = \"\") const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: perform_kdf
      Src: /src/botan/src/lib/kdf/kdf.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 7
    functionsReached:
    - perform_kdf
    linkageType: ''
    returnType: void
    signature: "void derive_key(std::span<uint8_t> key,\n                      std::span<const
      uint8_t> secret,\n                      std::span<const uint8_t> salt,\n                      std::span<const
      uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: perform_kdf
      Src: /src/botan/src/lib/kdf/kdf.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - key_len
    - secret
    - salt
    - label
    argTypes:
    - size_t
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 7
    functionsReached:
    - perform_kdf
    linkageType: ''
    returnType: T
    signature: "T derive_key(size_t key_len,\n                   std::span<const uint8_t>
      secret,\n                   std::span<const uint8_t> salt,\n                   std::span<const
      uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/kdf/kdf.h:165,1
    - Dst: _as_span
      Src: /src/botan/src/lib/kdf/kdf.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key_len
    - secret
    - salt
    - salt_len
    argTypes:
    - size_t
    - std::span<const uint8_t>
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 8
    functionsReached:
    - _as_span
    - Botan::derive_key
    linkageType: ''
    returnType: T
    signature: "T derive_key(size_t key_len,\n                   std::span<const uint8_t>
      secret,\n                   const uint8_t salt[],\n                   size_t
      salt_len,\n                   std::string_view label = \"\") const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/kdf/kdf.h:184,1
    - Dst: _as_span
      Src: /src/botan/src/lib/kdf/kdf.h:184,1
    - Dst: _as_span
      Src: /src/botan/src/lib/kdf/kdf.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key_len
    - secret
    - secret_len
    argTypes:
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 9
    functionsReached:
    - _as_span
    - Botan::derive_key
    linkageType: ''
    returnType: T
    signature: "T derive_key(size_t key_len,\n                   const uint8_t secret[],\n
      \                  size_t secret_len,\n                   std::string_view salt
      = \"\",\n                   std::string_view label = \"\") const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: perform_kdf
      Src: /src/botan/src/lib/kdf/kdf.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - secret
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 9
    functionsReached:
    - perform_kdf
    linkageType: ''
    returnType: std::array<uint8_t, key_len>
    signature: "std::array<uint8_t, key_len> derive_key(std::span<const uint8_t> secret,\n
      \                                             std::span<const uint8_t> salt
      = {},\n                                              std::span<const uint8_t>
      label = {})"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/kdf/kdf.h:216,1
    - Dst: _as_span
      Src: /src/botan/src/lib/kdf/kdf.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - secret
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 10
    functionsReached:
    - _as_span
    - Botan::derive_key
    linkageType: ''
    returnType: std::array<uint8_t, key_len>
    signature: "std::array<uint8_t, key_len> derive_key(std::span<const uint8_t> secret,\n
      \                                             std::span<const uint8_t> salt
      = {},\n                                              std::string_view label
      = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::derive_key
      Src: /src/botan/src/lib/kdf/kdf.h:231,1
    - Dst: _as_span
      Src: /src/botan/src/lib/kdf/kdf.h:231,1
    - Dst: _as_span
      Src: /src/botan/src/lib/kdf/kdf.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - secret
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: Botan::derive_key
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 11
    functionsReached:
    - _as_span
    - Botan::derive_key
    linkageType: ''
    returnType: std::array<uint8_t, key_len>
    signature: "std::array<uint8_t, key_len> derive_key(std::span<const uint8_t> secret,\n
      \                                             std::string_view salt = \"\",\n
      \                                             std::string_view label = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::new_object
      Src: /src/botan/src/lib/kdf/kdf.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: Botan::clone
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 0
    functionsReached:
    - Botan::new_object
    linkageType: ''
    returnType: KDF
    signature: KDF * clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KDF::create_or_throw
      Src: /src/botan/src/lib/kdf/kdf.h:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: Botan::get_kdf
    functionSourceFile: /src/botan/src/lib/kdf/kdf.h
    functionUses: 0
    functionsReached:
    - Botan::KDF::create_or_throw
    linkageType: ''
    returnType: KDF
    signature: KDF * get_kdf(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/kdf/kdf.cpp:59,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/kdf/kdf.cpp:59,1
    - Dst: std::make_unique<KDF_Type>
      Src: /src/botan/src/lib/kdf/kdf.cpp:60,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:60,1
    - Dst: std::forward<ParamTs>
      Src: /src/botan/src/lib/kdf/kdf.cpp:60,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/kdf/kdf.cpp:63,1
    - Dst: std::make_unique<KDF_Type>
      Src: /src/botan/src/lib/kdf/kdf.cpp:64,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:64,1
    - Dst: std::forward<ParamTs>
      Src: /src/botan/src/lib/kdf/kdf.cpp:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - nm
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: Botan::kdf_create_mac_or_hash
    functionSourceFile: /src/botan/src/lib/kdf/kdf.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<KDF_Type>
    - Botan::MessageAuthenticationCode::create
    - std::move
    - std::forward<ParamTs>
    - Botan::fmt
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> kdf_create_mac_or_hash(std::string_view nm, ParamTs&&...
      params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:76,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/kdf/kdf.cpp:76,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:77,1
    - Dst: kdf_create_mac_or_hash<HKDF>
      Src: /src/botan/src/lib/kdf/kdf.cpp:78,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:78,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:82,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/kdf/kdf.cpp:82,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:83,1
    - Dst: kdf_create_mac_or_hash<HKDF_Extract>
      Src: /src/botan/src/lib/kdf/kdf.cpp:84,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:84,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:88,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/kdf/kdf.cpp:88,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:89,1
    - Dst: kdf_create_mac_or_hash<HKDF_Expand>
      Src: /src/botan/src/lib/kdf/kdf.cpp:90,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:90,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:96,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/kdf/kdf.cpp:96,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:97,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/kdf/kdf.cpp:98,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:98,1
    - Dst: std::make_unique<KDF2>
      Src: /src/botan/src/lib/kdf/kdf.cpp:99,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:99,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:106,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/kdf/kdf.cpp:106,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:107,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/kdf/kdf.cpp:108,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:108,1
    - Dst: std::make_unique<KDF1_18033>
      Src: /src/botan/src/lib/kdf/kdf.cpp:109,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:109,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:116,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/kdf/kdf.cpp:116,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:117,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/kdf/kdf.cpp:118,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:118,1
    - Dst: std::make_unique<KDF1>
      Src: /src/botan/src/lib/kdf/kdf.cpp:119,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:119,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:126,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/kdf/kdf.cpp:126,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:127,1
    - Dst: kdf_create_mac_or_hash<TLS_12_PRF>
      Src: /src/botan/src/lib/kdf/kdf.cpp:128,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:128,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:134,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/kdf/kdf.cpp:134,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:135,1
    - Dst: std::make_unique<X942_PRF>
      Src: /src/botan/src/lib/kdf/kdf.cpp:136,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:136,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:142,1
    - Dst: SCAN_Name::arg_count_between
      Src: /src/botan/src/lib/kdf/kdf.cpp:142,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:143,1
    - Dst: kdf_create_mac_or_hash<SP800_108_Counter>
      Src: /src/botan/src/lib/kdf/kdf.cpp:144,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:145,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/kdf/kdf.cpp:145,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/kdf/kdf.cpp:145,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:149,1
    - Dst: SCAN_Name::arg_count_between
      Src: /src/botan/src/lib/kdf/kdf.cpp:149,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:150,1
    - Dst: kdf_create_mac_or_hash<SP800_108_Feedback>
      Src: /src/botan/src/lib/kdf/kdf.cpp:151,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:152,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/kdf/kdf.cpp:152,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/kdf/kdf.cpp:152,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:156,1
    - Dst: SCAN_Name::arg_count_between
      Src: /src/botan/src/lib/kdf/kdf.cpp:156,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/kdf/kdf.cpp:157,1
    - Dst: kdf_create_mac_or_hash<SP800_108_Pipeline>
      Src: /src/botan/src/lib/kdf/kdf.cpp:158,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:159,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/kdf/kdf.cpp:159,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/kdf/kdf.cpp:159,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:165,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/kdf/kdf.cpp:165,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/kdf/kdf.cpp:166,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:166,1
    - Dst: std::make_unique<SP800_56C_One_Step_Hash>
      Src: /src/botan/src/lib/kdf/kdf.cpp:167,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:167,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:169,1
    - Dst: std::make_unique<SP800_56C_One_Step_KMAC128>
      Src: /src/botan/src/lib/kdf/kdf.cpp:170,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:172,1
    - Dst: std::make_unique<SP800_56C_One_Step_KMAC256>
      Src: /src/botan/src/lib/kdf/kdf.cpp:173,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/kdf/kdf.cpp:175,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:175,1
    - Dst: std::make_unique<SP800_56C_One_Step_HMAC>
      Src: /src/botan/src/lib/kdf/kdf.cpp:176,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:176,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/kdf/kdf.cpp:182,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/kdf/kdf.cpp:182,1
    - Dst: kdf_create_mac_or_hash<SP800_108_Feedback>
      Src: /src/botan/src/lib/kdf/kdf.cpp:183,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:183,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/kdf/kdf.cpp:185,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:185,1
    - Dst: std::make_unique<SP800_56C_Two_Step>
      Src: /src/botan/src/lib/kdf/kdf.cpp:186,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:186,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:186,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/kdf/kdf.cpp:189,1
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/kdf.cpp:189,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/kdf/kdf.cpp:189,1
    - Dst: std::make_unique<SP800_56C_Two_Step>
      Src: /src/botan/src/lib/kdf/kdf.cpp:190,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:190,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf.cpp:190,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/kdf/kdf.cpp:196,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/kdf/kdf.cpp:197,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 89
    argCount: 2
    argNames:
    - algo_spec
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 200
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 200
    functionName: Botan::KDF::create
    functionSourceFile: /src/botan/src/lib/kdf/kdf.cpp
    functionUses: 3
    functionsReached:
    - fmt
    - std::make_unique<SP800_56C_One_Step_Hash>
    - BOTAN_UNUSED
    - kdf_create_mac_or_hash<SP800_108_Counter>
    - SCAN_Name::arg_count_between
    - std::make_unique<SP800_56C_One_Step_KMAC128>
    - std::make_unique<SP800_56C_Two_Step>
    - SCAN_Name::arg_as_integer
    - kdf_create_mac_or_hash<HKDF_Extract>
    - std::make_unique<SP800_56C_One_Step_HMAC>
    - std::string_view::empty
    - std::make_unique<KDF1_18033>
    - Botan::MessageAuthenticationCode::create
    - std::make_unique<KDF2>
    - SCAN_Name::algo_name
    - kdf_create_mac_or_hash<HKDF>
    - std::make_unique<SP800_56C_One_Step_KMAC256>
    - std::make_unique<KDF1>
    - SCAN_Name::arg_count
    - kdf_create_mac_or_hash<TLS_12_PRF>
    - std::make_unique<X942_PRF>
    - kdf_create_mac_or_hash<SP800_108_Pipeline>
    - std::move
    - kdf_create_mac_or_hash<SP800_108_Feedback>
    - Botan::HashFunction::create
    - SCAN_Name::arg
    - kdf_create_mac_or_hash<HKDF_Expand>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> KDF::create(std::string_view algo_spec, std::string_view
      provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PBKDF::create
      Src: /src/botan/src/lib/kdf/kdf.cpp:204,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/kdf/kdf.cpp:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: Botan::KDF::create_or_throw
    functionSourceFile: /src/botan/src/lib/kdf/kdf.cpp
    functionUses: 1
    functionsReached:
    - Lookup_Error
    - Botan::PBKDF::create
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> KDF::create_or_throw(std::string_view algo, std::string_view
      provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: probe_providers_of<KDF>
      Src: /src/botan/src/lib/kdf/kdf.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: Botan::KDF::providers
    functionSourceFile: /src/botan/src/lib/kdf/kdf.cpp
    functionUses: 0
    functionsReached:
    - probe_providers_of<KDF>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> KDF::providers(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<X942_PRF>
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::X942_PRF::new_object
    functionSourceFile: /src/botan/src/lib/kdf/prf_x942/prf_x942.h
    functionUses: 0
    functionsReached:
    - std::make_unique<X942_PRF>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - oid
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::X942_PRF::X942_PRF
    functionSourceFile: /src/botan/src/lib/kdf/prf_x942/prf_x942.h
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    linkageType: ''
    returnType: void
    signature: void X942_PRF(std::string_view oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::X942_PRF::X942_PRF
    functionSourceFile: /src/botan/src/lib/kdf/prf_x942/prf_x942.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X942_PRF(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:25,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:28,1
    - Dst: auto::data
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:28,1
    - Dst: auto::size
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: Botan::encode_x942_int
    functionSourceFile: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::data
    - Botan::store_be
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> encode_x942_int(uint32_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:38,1
    - Dst: ceil_division<uint64_t /* for 32bit systems */>
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:43,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:43,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:48,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:50,1
    - Dst: concat
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:51,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:54,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:55,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:57,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:58,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:59,1
    - Dst: encode_x942_int
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:64,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:67,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:67,1
    - Dst: encode_x942_int
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:70,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:70,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:70,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:78,1
    - Dst: auto::final
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:79,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:79,1
    - Dst: auto::final
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:82,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:83,1
    - Dst: first
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:83,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 86
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 86
    functionName: Botan::X942_PRF::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::remaining_capacity
    - auto::final
    - BufferStuffer::append
    - BOTAN_ASSERT_NOMSG
    - ceil_division<uint64_t /* for 32bit systems */>
    - DER_Encoder
    - std::span<const uint8_t>::empty
    - std::span<uint8_t>::size
    - auto::update
    - std::span<uint8_t>::empty
    - Botan::HashFunction::create
    - concat
    - encode_x942_int
    - static_cast<uint32_t>
    - first
    - BOTAN_ARG_CHECK
    - BufferStuffer::full
    - BufferStuffer::next
    linkageType: ''
    returnType: void
    signature: "void X942_PRF::perform_kdf(std::span<uint8_t> key,\n                           std::span<const
      uint8_t> secret,\n                           std::span<const uint8_t> salt,\n
      \                          std::span<const uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_formatted_string
      Src: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::X942_PRF::name
    functionSourceFile: /src/botan/src/lib/kdf/prf_x942/prf_x942.cpp
    functionUses: 0
    functionsReached:
    - to_formatted_string
    linkageType: ''
    returnType: std::string
    signature: std::string X942_PRF::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:41,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:47,1
    - Dst: Botan::clear
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:68,1
    - Dst: init_h_callback
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:69,1
    - Dst: update_be
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:72,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:73,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:74,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:75,1
    - Dst: secure_vector::insert
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:78,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:78,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:78,1
    - Dst: auto::end
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:78,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:82,1
    - Dst: std::span
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:82,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - output_buffer
    - z
    - fixed_info
    - ' hash_or_mac'
    - ' init_h_callback'
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - HashOrMacType
    - std::function<void(HashOrMacType&)>
    constantsTouched: []
    func_position:
      end: 83
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 83
    functionName: Botan::kdm_internal
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 0
    functionsReached:
    - update_be
    - secure_vector::insert
    - std::span
    - std::span<uint8_t>::size
    - Botan::update
    - Botan::final
    - secure_vector::end
    - Botan::copy_mem
    - init_h_callback
    - auto::begin
    - auto::end
    - BOTAN_ARG_CHECK
    - Botan::clear
    linkageType: ''
    returnType: void
    signature: "void kdm_internal(std::span<uint8_t> output_buffer,\n                  std::span<const
      uint8_t> z,\n                  std::span<const uint8_t> fixed_info,\n                  HashOrMacType&
      hash_or_mac,\n                  const std::function<void(HashOrMacType&)>& init_h_callback)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:91,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:91,1
    - Dst: kdm_internal<HashFunction>
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: Botan::SP800_56C_One_Step_Hash::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::empty
    - BOTAN_ARG_CHECK
    - kdm_internal<HashFunction>
    linkageType: ''
    returnType: void
    signature: "void SP800_56C_One_Step_Hash::perform_kdf(std::span<uint8_t> key,\n
      \                                         std::span<const uint8_t> secret,\n
      \                                         std::span<const uint8_t> salt,\n                                          std::span<const
      uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:96,1
    - Dst: Botan::SP800_56C_One_Step_Hash::name
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: Botan::SP800_56C_One_Step_Hash::name
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::SP800_56C_One_Step_Hash::name
    linkageType: ''
    returnType: std::string
    signature: std::string SP800_56C_One_Step_Hash::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SP800_56C_One_Step_Hash>
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:100,1
    - Dst: Botan::SP800_56C_One_Step_Hash::new_object
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: Botan::SP800_56C_One_Step_Hash::new_object
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 1
    functionsReached:
    - Botan::SP800_56C_One_Step_Hash::new_object
    - std::make_unique<SP800_56C_One_Step_Hash>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> SP800_56C_One_Step_Hash::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:104,1
    - Dst: Botan::SP800_56C_One_Step_HMAC::name
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:106,1
    - Dst: Algorithm_Not_Found
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - mac
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: Botan::SP800_56C_One_Step_HMAC::SP800_56C_One_Step_HMAC
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 0
    functionsReached:
    - Botan::SP800_56C_One_Step_HMAC::name
    - std::move
    - Algorithm_Not_Found
    linkageType: ''
    returnType: void
    signature: void SP800_56C_One_Step_HMAC::SP800_56C_One_Step_HMAC(std::unique_ptr<MessageAuthenticationCode>
      mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kdm_internal<MessageAuthenticationCode>
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:115,1
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: Botan::SP800_56C_One_Step_HMAC::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 0
    functionsReached:
    - set_key
    - kdm_internal<MessageAuthenticationCode>
    linkageType: ''
    returnType: void
    signature: "void SP800_56C_One_Step_HMAC::perform_kdf(std::span<uint8_t> key,\n
      \                                         std::span<const uint8_t> secret,\n
      \                                         std::span<const uint8_t> salt,\n                                          std::span<const
      uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:129,1
    - Dst: Botan::SP800_56C_One_Step_HMAC::name
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Botan::SP800_56C_One_Step_HMAC::name
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 2
    functionsReached:
    - fmt
    - Botan::SP800_56C_One_Step_HMAC::name
    linkageType: ''
    returnType: std::string
    signature: std::string SP800_56C_One_Step_HMAC::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SP800_56C_One_Step_HMAC>
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:133,1
    - Dst: Botan::SP800_56C_One_Step_HMAC::new_object
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: Botan::SP800_56C_One_Step_HMAC::new_object
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<SP800_56C_One_Step_HMAC>
    - Botan::SP800_56C_One_Step_HMAC::new_object
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> SP800_56C_One_Step_HMAC::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_kmac_instance
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:141,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:141,1
    - Dst: kdm_internal<MessageAuthenticationCode>
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:142,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:146,1
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:152,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:152,1
    - Dst: default_salt_length
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:152,1
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:154,1
    - Dst: start
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 162
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 162
    functionName: Botan::SP800_56A_One_Step_KMAC_Abstract::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::empty
    - std::span<uint8_t>::size
    - create_kmac_instance
    - set_key
    - std::vector<uint8_t>
    - start
    - kdm_internal<MessageAuthenticationCode>
    - default_salt_length
    linkageType: ''
    returnType: void
    signature: "void SP800_56A_One_Step_KMAC_Abstract::perform_kdf(std::span<uint8_t>
      key,\n                                                   std::span<const uint8_t>
      secret,\n                                                   std::span<const
      uint8_t> salt,\n                                                   std::span<const
      uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KMAC128>
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output_byte_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: Botan::SP800_56C_One_Step_KMAC128::create_kmac_instance
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<KMAC128>
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: "std::unique_ptr<MessageAuthenticationCode> SP800_56C_One_Step_KMAC128::create_kmac_instance(\n
      \  size_t output_byte_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KMAC256>
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output_byte_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: Botan::SP800_56C_One_Step_KMAC256::create_kmac_instance
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<KMAC256>
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: "std::unique_ptr<MessageAuthenticationCode> SP800_56C_One_Step_KMAC256::create_kmac_instance(\n
      \  size_t output_byte_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::SP800_56C_One_Step_Hash::SP800_56C_One_Step_Hash
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SP800_56C_One_Step_Hash(std::unique_ptr<HashFunction> hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: Botan::SP800_56C_One_Step_KMAC128::name
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SP800_56C_One_Step_KMAC128>
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: Botan::SP800_56C_One_Step_KMAC128::new_object
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SP800_56C_One_Step_KMAC128>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: Botan::SP800_56C_One_Step_KMAC128::default_salt_length
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t default_salt_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan::SP800_56C_One_Step_KMAC256::name
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SP800_56C_One_Step_KMAC256>
      Src: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: Botan::SP800_56C_One_Step_KMAC256::new_object
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SP800_56C_One_Step_KMAC256>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: Botan::SP800_56C_One_Step_KMAC256::default_salt_length
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56a/sp800_56c_one_step.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t default_salt_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:21,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:23,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:28,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:31,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:31,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:35,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:35,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:36,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:41,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:41,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:42,1
    - Dst: auto::update_be
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:43,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:43,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:43,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:44,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:45,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:46,1
    - Dst: auto::final
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:48,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:52,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:53,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:54,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:55,1
    - Dst: auto::final
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:57,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:63,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:63,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:64,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:66,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:73,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:74,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:75,1
    - Dst: auto::update
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:76,1
    - Dst: auto::final
      Src: /src/botan/src/lib/kdf/xmd/xmd.cpp:77,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - hash_fn
    - output
    - input
    - domain_sep
    argTypes:
    - std::string_view
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 80
      start: 17
    functionDepth: 3
    functionLinenumber: 17
    functionLinenumberEnd: 80
    functionName: Botan::expand_message_xmd
    functionSourceFile: /src/botan/src/lib/kdf/xmd/xmd.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint16_t>
    - Botan::fmt
    - auto::final
    - secure_vector::data
    - Botan::HashFunction::create_or_throw
    - std::span<uint8_t>::size
    - auto::update
    - auto::update_be
    - std::span<uint8_t>::empty
    - std::vector<uint8_t>
    - std::span<const uint8_t>::size
    - std::span<uint8_t>::subspan
    - Invalid_Argument
    - Botan::copy_mem
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: "void expand_message_xmd(std::string_view hash_fn,\n                        std::span<uint8_t>
      output,\n                        std::span<const uint8_t> input,\n                        std::span<const
      uint8_t> domain_sep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/kdf/xmd/xmd.h:31,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/kdf/xmd/xmd.h:31,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/kdf/xmd/xmd.h:31,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/kdf/xmd/xmd.h:33,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/kdf/xmd/xmd.h:33,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/kdf/xmd/xmd.h:33,1
    - Dst: Botan::expand_message_xmd
      Src: /src/botan/src/lib/kdf/xmd/xmd.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - hash_fn
    - output
    - input_str
    - domain_sep_str
    argTypes:
    - std::string_view
    - std::span<uint8_t>
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: Botan::expand_message_xmd
    functionSourceFile: /src/botan/src/lib/kdf/xmd/xmd.h
    functionUses: 3
    functionsReached:
    - Botan::expand_message_xmd
    - std::string_view::size
    - reinterpret_cast<const uint8_t*>
    - std::string_view::data
    linkageType: ''
    returnType: void
    signature: "void expand_message_xmd(std::string_view hash_fn,\n                               std::span<uint8_t>
      output,\n                               std::string_view input_str,\n                               std::string_view
      domain_sep_str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:22,1
    - Dst: output_length
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:26,1
    - Dst: ceil_division<uint64_t /* for 32bit systems */>
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:27,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:27,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:32,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:35,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:36,1
    - Dst: update_be
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:37,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:38,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:39,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:43,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:44,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:44,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:46,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:47,1
    - Dst: first
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:47,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 50
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 50
    functionName: Botan::KDF1_18033::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::remaining_capacity
    - update_be
    - BufferStuffer::append
    - ceil_division<uint64_t /* for 32bit systems */>
    - std::span<uint8_t>::size
    - final
    - std::span<uint8_t>::empty
    - first
    - output_length
    - update
    - BOTAN_ARG_CHECK
    - BufferStuffer::full
    - BufferStuffer::next
    linkageType: ''
    returnType: void
    signature: "void KDF1_18033::perform_kdf(std::span<uint8_t> key,\n                             std::span<const
      uint8_t> secret,\n                             std::span<const uint8_t> salt,\n
      \                            std::span<const uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:53,1
    - Dst: Botan::KDF1_18033::name
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::KDF1_18033::name
    functionSourceFile: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::KDF1_18033::name
    linkageType: ''
    returnType: std::string
    signature: std::string KDF1_18033::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KDF1_18033>
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:57,1
    - Dst: Botan::KDF1_18033::new_object
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::KDF1_18033::new_object
    functionSourceFile: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<KDF1_18033>
    - Botan::KDF1_18033::new_object
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> KDF1_18033::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::KDF1_18033::KDF1_18033
    functionSourceFile: /src/botan/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void KDF1_18033(std::unique_ptr<HashFunction> hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:27,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - counter_bits
    - output_length_bits
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: Botan::CounterParams::validate_bit_lengths
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void validate_bit_lengths(size_t counter_bits, size_t output_length_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:39,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:39,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:39,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:41,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:43,1
    - Dst: ceil_division<uint64_t /* for 32bit systems */>
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:47,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:53,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - output_bytes
    - output_length_bits
    - counter_bits
    - prf_output_bytes
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 61
    functionName: Botan::CounterParams::create_or_throw
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - ceil_division<uint64_t /* for 32bit systems */>
    - static_cast<uint32_t>
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: CounterParams
    signature: "CounterParams create_or_throw(size_t output_bytes,\n                                                     size_t
      output_length_bits,\n                                                     size_t
      counter_bits,\n                                                     size_t prf_output_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:65,1
    - Dst: store_be
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:67,1
    - Dst: fn
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:68,1
    - Dst: last
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:68,1
    - Dst: last
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fn
    argTypes:
    - Fn
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: Botan::CounterParams::generate_blocks
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 0
    functionsReached:
    - fn
    - store_be
    - last
    linkageType: ''
    returnType: void
    signature: void generate_blocks(Fn fn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: Botan::CounterParams::CounterParams
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CounterParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:86,1
    - Dst: Botan::CounterParams::validate_bit_lengths
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mac
    - r
    - L
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: Botan::SP800_108_Counter::SP800_108_Counter
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::CounterParams::validate_bit_lengths
    linkageType: ''
    returnType: void
    signature: void SP800_108_Counter::SP800_108_Counter(std::unique_ptr<MessageAuthenticationCode>
      mac, size_t r, size_t L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:93,1
    - Dst: Botan::SP800_108_Counter::name
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:93,1
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:94,1
    - Dst: Botan::SP800_108_Counter::name
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: Botan::SP800_108_Counter::name
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::SP800_108_Counter::name
    linkageType: ''
    returnType: std::string
    signature: std::string SP800_108_Counter::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SP800_108_Counter>
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:98,1
    - Dst: Botan::SP800_108_Counter::new_object
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: Botan::SP800_108_Counter::new_object
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 1
    functionsReached:
    - Botan::SP800_108_Counter::new_object
    - std::make_unique<SP800_108_Counter>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> SP800_108_Counter::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:105,1
    - Dst: output_length
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:109,1
    - Dst: Botan::CounterParams::create_or_throw
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:110,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:110,1
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:115,1
    - Dst: auto::generate_blocks
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:117,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:118,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:119,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:120,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:121,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:122,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:126,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:127,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:127,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:129,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:130,1
    - Dst: first
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:130,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:130,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:134,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 135
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 135
    functionName: Botan::SP800_108_Counter::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::remaining_capacity
    - auto::generate_blocks
    - BufferStuffer::append
    - BOTAN_ASSERT_NOMSG
    - std::span<uint8_t>::size
    - final
    - std::span<uint8_t>::empty
    - first
    - set_key
    - Botan::CounterParams::create_or_throw
    - output_length
    - update
    - BufferStuffer::full
    - BufferStuffer::next
    linkageType: ''
    returnType: void
    signature: "void SP800_108_Counter::perform_kdf(std::span<uint8_t> key,\n                                    std::span<const
      uint8_t> secret,\n                                    std::span<const uint8_t>
      salt,\n                                    std::span<const uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:138,1
    - Dst: Botan::CounterParams::validate_bit_lengths
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mac
    - r
    - L
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: Botan::SP800_108_Feedback::SP800_108_Feedback
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::CounterParams::validate_bit_lengths
    linkageType: ''
    returnType: void
    signature: void SP800_108_Feedback::SP800_108_Feedback(std::unique_ptr<MessageAuthenticationCode>
      mac, size_t r, size_t L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:145,1
    - Dst: Botan::SP800_108_Feedback::name
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:145,1
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:146,1
    - Dst: Botan::SP800_108_Feedback::name
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: Botan::SP800_108_Feedback::name
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::SP800_108_Feedback::name
    linkageType: ''
    returnType: std::string
    signature: std::string SP800_108_Feedback::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SP800_108_Feedback>
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:150,1
    - Dst: Botan::SP800_108_Feedback::new_object
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: Botan::SP800_108_Feedback::new_object
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 1
    functionsReached:
    - Botan::SP800_108_Feedback::new_object
    - std::make_unique<SP800_108_Feedback>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> SP800_108_Feedback::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:157,1
    - Dst: output_length
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:161,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:162,1
    - Dst: Botan::CounterParams::create_or_throw
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:164,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:164,1
    - Dst: BufferSlicer::copy_as_secure_vector
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:167,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:168,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:168,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:169,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:169,1
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:172,1
    - Dst: auto::generate_blocks
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:174,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:175,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:176,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:177,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:178,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:179,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:180,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:181,1
    - Dst: std::min
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:183,1
    - Dst: auto::size
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:183,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:183,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:184,1
    - Dst: first
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:184,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:187,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 188
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 188
    functionName: Botan::SP800_108_Feedback::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::remaining_capacity
    - BufferStuffer::append
    - set_key
    - Botan::CounterParams::create_or_throw
    - BOTAN_ASSERT_NOMSG
    - std::span<const uint8_t>::size
    - update
    - output_length
    - BufferSlicer::take
    - final
    - std::min
    - std::span<uint8_t>::empty
    - first
    - BufferSlicer::remaining
    - auto::generate_blocks
    - std::span<uint8_t>::size
    - BufferSlicer::empty
    - BufferSlicer::copy_as_secure_vector
    - auto::size
    - BufferStuffer::full
    linkageType: ''
    returnType: void
    signature: "void SP800_108_Feedback::perform_kdf(std::span<uint8_t> key,\n                                     std::span<const
      uint8_t> secret,\n                                     std::span<const uint8_t>
      salt,\n                                     std::span<const uint8_t> label)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:191,1
    - Dst: Botan::CounterParams::validate_bit_lengths
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mac
    - r
    - L
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: Botan::SP800_108_Pipeline::SP800_108_Pipeline
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::CounterParams::validate_bit_lengths
    linkageType: ''
    returnType: void
    signature: void SP800_108_Pipeline::SP800_108_Pipeline(std::unique_ptr<MessageAuthenticationCode>
      mac, size_t r, size_t L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:198,1
    - Dst: Botan::SP800_108_Pipeline::name
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:198,1
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:199,1
    - Dst: Botan::SP800_108_Pipeline::name
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: Botan::SP800_108_Pipeline::name
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::SP800_108_Pipeline::name
    linkageType: ''
    returnType: std::string
    signature: std::string SP800_108_Pipeline::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SP800_108_Pipeline>
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:203,1
    - Dst: Botan::SP800_108_Pipeline::new_object
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: Botan::SP800_108_Pipeline::new_object
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 1
    functionsReached:
    - Botan::SP800_108_Pipeline::new_object
    - std::make_unique<SP800_108_Pipeline>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> SP800_108_Pipeline::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:210,1
    - Dst: output_length
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:214,1
    - Dst: Botan::CounterParams::create_or_throw
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:216,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:216,1
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:219,1
    - Dst: auto::generate_blocks
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:222,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:224,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:225,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:226,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:227,1
    - Dst: secure_vector::empty
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:230,1
    - Dst: incorporate_constant_input
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:232,1
    - Dst: get
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:232,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:233,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:236,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:237,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:240,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:241,1
    - Dst: incorporate_constant_input
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:242,1
    - Dst: get
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:242,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:246,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:247,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:247,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:251,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:252,1
    - Dst: first
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:252,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:252,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:256,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 257
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 257
    functionName: Botan::SP800_108_Pipeline::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/sp800_108/sp800_108.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::remaining_capacity
    - incorporate_constant_input
    - auto::generate_blocks
    - BufferStuffer::append
    - secure_vector::empty
    - BOTAN_ASSERT_NOMSG
    - std::span<uint8_t>::size
    - final
    - std::span<uint8_t>::empty
    - first
    - set_key
    - get
    - Botan::CounterParams::create_or_throw
    - output_length
    - update
    - BufferStuffer::full
    - BufferStuffer::next
    linkageType: ''
    returnType: void
    signature: "void SP800_108_Pipeline::perform_kdf(std::span<uint8_t> key,\n                                     std::span<const
      uint8_t> secret,\n                                     std::span<const uint8_t>
      salt,\n                                     std::span<const uint8_t> label)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.h:30,1
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - mac
    - exp
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    - std::unique_ptr<KDF>
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: Botan::SP800_56C_Two_Step::SP800_56C_Two_Step
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SP800_56C_Two_Step(std::unique_ptr<MessageAuthenticationCode>
      mac, std::unique_ptr<KDF> exp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp:16,1
    - Dst: Botan::SP800_56C_Two_Step::name
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: Botan::SP800_56C_Two_Step::name
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::SP800_56C_Two_Step::name
    linkageType: ''
    returnType: std::string
    signature: std::string SP800_56C_Two_Step::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SP800_56C_Two_Step>
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp:20,1
    - Dst: Botan::SP800_56C_Two_Step::new_object
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp:20,1
    - Dst: Botan::SP800_56C_Two_Step::new_object
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::SP800_56C_Two_Step::new_object
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp
    functionUses: 1
    functionsReached:
    - Botan::SP800_56C_Two_Step::new_object
    - std::make_unique<SP800_56C_Two_Step>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> SP800_56C_Two_Step::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp:28,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp:29,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp:30,1
    - Dst: derive_key
      Src: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 34
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 34
    functionName: Botan::SP800_56C_Two_Step::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/sp800_56c/sp800_56c_two_step.cpp
    functionUses: 0
    functionsReached:
    - set_key
    - final
    - update
    - derive_key
    linkageType: ''
    returnType: void
    signature: "void SP800_56C_Two_Step::perform_kdf(std::span<uint8_t> key,\n                                     std::span<const
      uint8_t> secret,\n                                     std::span<const uint8_t>
      salt,\n                                     std::span<const uint8_t> label)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:19,1
    - Dst: Botan::KDF2::name
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: Botan::KDF2::name
    functionSourceFile: /src/botan/src/lib/kdf/kdf2/kdf2.cpp
    functionUses: 1
    functionsReached:
    - Botan::KDF2::name
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string KDF2::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KDF2>
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:23,1
    - Dst: Botan::KDF2::new_object
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan::KDF2::new_object
    functionSourceFile: /src/botan/src/lib/kdf/kdf2/kdf2.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<KDF2>
    - Botan::KDF2::new_object
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> KDF2::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:30,1
    - Dst: ceil_division<uint64_t /* for 32bit systems */>
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:35,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:35,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:40,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:43,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:44,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:46,1
    - Dst: update_be
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:47,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:48,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:49,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:53,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:54,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:54,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:56,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:57,1
    - Dst: first
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:57,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 60
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 60
    functionName: Botan::KDF2::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/kdf2/kdf2.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::remaining_capacity
    - update_be
    - BOTAN_ASSERT_NOMSG
    - BufferStuffer::append
    - ceil_division<uint64_t /* for 32bit systems */>
    - std::span<uint8_t>::size
    - final
    - std::span<uint8_t>::empty
    - first
    - update
    - BOTAN_ARG_CHECK
    - BufferStuffer::full
    - BufferStuffer::next
    linkageType: ''
    returnType: void
    signature: "void KDF2::perform_kdf(std::span<uint8_t> key,\n                       std::span<const
      uint8_t> secret,\n                       std::span<const uint8_t> salt,\n                       std::span<const
      uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf2/kdf2.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::KDF2::KDF2
    functionSourceFile: /src/botan/src/lib/kdf/kdf2/kdf2.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void KDF2(std::unique_ptr<HashFunction> hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::KDF1::KDF1
    functionSourceFile: /src/botan/src/lib/kdf/kdf1/kdf1.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void KDF1(std::unique_ptr<HashFunction> hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:18,1
    - Dst: Botan::KDF1::name
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: Botan::KDF1::name
    functionSourceFile: /src/botan/src/lib/kdf/kdf1/kdf1.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::KDF1::name
    linkageType: ''
    returnType: std::string
    signature: std::string KDF1::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KDF1>
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:22,1
    - Dst: Botan::KDF1::new_object
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::KDF1::new_object
    functionSourceFile: /src/botan/src/lib/kdf/kdf1/kdf1.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<KDF1>
    - Botan::KDF1::new_object
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> KDF1::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:29,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:34,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:34,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:36,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:37,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:38,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:40,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:42,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:45,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:46,1
    - Dst: first
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:46,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/kdf1/kdf1.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 48
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 48
    functionName: Botan::KDF1::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/kdf1/kdf1.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - final
    - std::span<uint8_t>::empty
    - first
    - copy_mem
    - update
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void KDF1::perform_kdf(std::span<uint8_t> key,\n                       std::span<const
      uint8_t> secret,\n                       std::span<const uint8_t> salt,\n                       std::span<const
      uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mac
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::TLS_12_PRF::TLS_12_PRF
    functionSourceFile: /src/botan/src/lib/kdf/prf_tls/prf_tls.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void TLS_12_PRF(std::unique_ptr<MessageAuthenticationCode> mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:26,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:28,1
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:28,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:28,1
    - Dst: concat
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:31,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:35,1
    - Dst: process
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:36,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:38,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:39,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:40,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:41,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:44,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:44,1
    - Dst: first
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 46
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 46
    functionName: Botan::TLS_12_PRF::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::full
    - fmt
    - final
    - first
    - process
    - concat
    - set_key
    - std::span<const uint8_t>::size
    - xor_buf
    - update
    - Internal_Error
    - BufferStuffer::next
    linkageType: ''
    returnType: void
    signature: "void TLS_12_PRF::perform_kdf(std::span<uint8_t> key,\n                             std::span<const
      uint8_t> secret,\n                             std::span<const uint8_t> salt,\n
      \                            std::span<const uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:49,1
    - Dst: Botan::TLS_12_PRF::name
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Botan::TLS_12_PRF::name
    functionSourceFile: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::TLS_12_PRF::name
    linkageType: ''
    returnType: std::string
    signature: std::string TLS_12_PRF::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TLS_12_PRF>
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:53,1
    - Dst: Botan::TLS_12_PRF::new_object
      Src: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::TLS_12_PRF::new_object
    functionSourceFile: /src/botan/src/lib/kdf/prf_tls/prf_tls.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS_12_PRF::new_object
    - std::make_unique<TLS_12_PRF>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> TLS_12_PRF::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - prf
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::HKDF::HKDF
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HKDF(std::unique_ptr<MessageAuthenticationCode> prf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - prf
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::HKDF_Extract::HKDF_Extract
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HKDF_Extract(std::unique_ptr<MessageAuthenticationCode> prf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - prf
    argTypes:
    - std::unique_ptr<MessageAuthenticationCode>
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::HKDF_Expand::HKDF_Expand
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HKDF_Expand(std::unique_ptr<MessageAuthenticationCode> prf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HKDF>
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:20,1
    - Dst: Botan::HKDF::new_object
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Botan::HKDF::new_object
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<HKDF>
    - Botan::HKDF::new_object
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> HKDF::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:24,1
    - Dst: Botan::HKDF::name
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::HKDF::name
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::HKDF::name
    linkageType: ''
    returnType: std::string
    signature: std::string HKDF::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HKDF::new_object
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:31,1
    - Dst: Botan::HKDF::new_object
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:32,1
    - Dst: output_length
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:33,1
    - Dst: HKDF_Extract::derive_key
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:35,1
    - Dst: HKDF_Expand::derive_key
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: Botan::HKDF::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.cpp
    functionUses: 0
    functionsReached:
    - Botan::HKDF::new_object
    - output_length
    - HKDF_Expand::derive_key
    - HKDF_Extract::derive_key
    linkageType: ''
    returnType: void
    signature: "void HKDF::perform_kdf(std::span<uint8_t> key,\n                       std::span<const
      uint8_t> secret,\n                       std::span<const uint8_t> salt,\n                       std::span<const
      uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HKDF_Extract>
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:40,1
    - Dst: Botan::HKDF_Extract::new_object
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::HKDF_Extract::new_object
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<HKDF_Extract>
    - Botan::HKDF_Extract::new_object
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> HKDF_Extract::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:44,1
    - Dst: Botan::HKDF_Extract::name
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::HKDF_Extract::name
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.cpp
    functionUses: 1
    functionsReached:
    - Botan::HKDF_Extract::name
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string HKDF_Extract::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:52,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:52,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:53,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:53,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:55,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:59,1
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:60,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:60,1
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:62,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:65,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:67,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:68,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:70,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:71,1
    - Dst: first
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:71,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 73
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 73
    functionName: Botan::HKDF_Extract::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::empty
    - std::span<uint8_t>::size
    - final
    - std::span<uint8_t>::empty
    - first
    - copy_mem
    - set_key
    - std::vector<uint8_t>
    - update
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: "void HKDF_Extract::perform_kdf(std::span<uint8_t> key,\n                               std::span<const
      uint8_t> secret,\n                               std::span<const uint8_t> salt,\n
      \                              std::span<const uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HKDF_Expand>
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:76,1
    - Dst: Botan::HKDF_Expand::new_object
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: Botan::HKDF_Expand::new_object
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.cpp
    functionUses: 1
    functionsReached:
    - Botan::HKDF_Expand::new_object
    - std::make_unique<HKDF_Expand>
    linkageType: ''
    returnType: std::unique_ptr<KDF>
    signature: std::unique_ptr<KDF> HKDF_Expand::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:80,1
    - Dst: Botan::HKDF_Expand::name
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: Botan::HKDF_Expand::name
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.cpp
    functionUses: 1
    functionsReached:
    - Botan::HKDF_Expand::name
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string HKDF_Expand::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:87,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:88,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:88,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:90,1
    - Dst: set_key
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:98,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:99,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:100,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:101,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:102,1
    - Dst: update
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:103,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:107,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:108,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:109,1
    - Dst: final
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:111,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:113,1
    - Dst: first
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:113,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - key
    - secret
    - salt
    - label
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 116
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 116
    functionName: Botan::HKDF_Expand::perform_kdf
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::remaining_capacity
    - BufferStuffer::append
    - std::span<uint8_t>::size
    - final
    - std::span<uint8_t>::empty
    - first
    - set_key
    - output_length
    - update
    - BOTAN_ARG_CHECK
    - BufferStuffer::full
    - BufferStuffer::next
    linkageType: ''
    returnType: void
    signature: "void HKDF_Expand::perform_kdf(std::span<uint8_t> key,\n                              std::span<const
      uint8_t> secret,\n                              std::span<const uint8_t> salt,\n
      \                             std::span<const uint8_t> label) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:123,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:124,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:124,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:125,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:125,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:127,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:127,1
    - Dst: Botan::concat
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:129,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:129,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:129,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:130,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:130,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:130,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:131,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:131,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:131,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:132,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:132,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:132,1
    - Dst: HKDF_Expand::derive_key
      Src: /src/botan/src/lib/kdf/hkdf/hkdf.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - hash_fn
    - secret
    - label
    - hash_val
    - length
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    - std::string_view
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 140
    functionName: Botan::hkdf_expand_label
    functionSourceFile: /src/botan/src/lib/kdf/hkdf/hkdf.cpp
    functionUses: 1
    functionsReached:
    - Botan::concat
    - static_cast<uint16_t>
    - Botan::cast_char_ptr_to_uint8
    - HKDF_Expand::derive_key
    - Botan::store_be
    - Botan::MessageAuthenticationCode::create_or_throw
    - static_cast<uint8_t>
    - std::string_view::size
    - std::span<const uint8_t>::size
    - Botan::fmt
    - BOTAN_ARG_CHECK
    - std::string_view::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> hkdf_expand_label(std::string_view hash_fn,\n
      \                                        std::span<const uint8_t> secret,\n
      \                                        std::string_view label,\n                                         std::span<const
      uint8_t> hash_val,\n                                         size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_algid
      Src: /src/botan/src/lib/asn1/pss_params.h:50,1
    - Dst: mgf_algid
      Src: /src/botan/src/lib/asn1/pss_params.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 67
    functionName: Botan::ASN1_Object
    functionSourceFile: /src/botan/src/lib/asn1/pss_params.h
    functionUses: 0
    functionsReached:
    - mgf_algid
    - hash_algid
    linkageType: ''
    returnType: PSS_Params
    signature: PSS_Params ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_Object::encode_into
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: Botan::ASN1_Object::BER_encode
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1_Object::encode_into
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ASN1_Object::BER_encode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BER_Object::is_a
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:30,1
    - Dst: asn1_tag_to_string
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:39,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:41,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:41,1
    - Dst: asn1_class_to_string
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:44,1
    - Dst: asn1_tag_to_string
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:50,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:52,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:52,1
    - Dst: asn1_class_to_string
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:55,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:57,1
    - Dst: std::stringstream::str
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:57,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - expected_type_tag
    - expected_class_tag
    - descr
    argTypes:
    - ASN1_Type
    - ASN1_Class
    - std::string_view
    constantsTouched: []
    func_position:
      end: 59
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 59
    functionName: Botan::BER_Object::assert_is_a
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - asn1_class_to_string
    - static_cast<uint32_t>
    - Botan::BER_Object::is_a
    - std::stringstream::str
    - asn1_tag_to_string
    - BER_Decoding_Error
    linkageType: ''
    returnType: void
    signature: void BER_Object::assert_is_a(ASN1_Type expected_type_tag, ASN1_Class
      expected_class_tag, std::string_view descr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - expected_type_tag
    - expected_class_tag
    argTypes:
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::BER_Object::is_a
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BER_Object::is_a(ASN1_Type expected_type_tag, ASN1_Class expected_class_tag)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BER_Object::is_a
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:66,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expected_type_tag
    - expected_class_tag
    argTypes:
    - int
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan::BER_Object::is_a
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 2
    functionsReached:
    - Botan::BER_Object::is_a
    - ASN1_Type
    linkageType: ''
    returnType: bool
    signature: bool BER_Object::is_a(int expected_type_tag, ASN1_Class expected_class_tag)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type_tag
    - class_tag
    argTypes:
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: Botan::BER_Object::set_tagging
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BER_Object::set_tagging(ASN1_Type type_tag, ASN1_Class class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:89,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 91
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 91
    functionName: Botan::asn1_class_to_string
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 0
    functionsReached:
    - Botan::to_string
    - static_cast<size_t>
    linkageType: ''
    returnType: std::string
    signature: std::string asn1_class_to_string(ASN1_Class type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:156,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 1
    argNames:
    - type
    argTypes:
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 158
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 158
    functionName: Botan::asn1_tag_to_string
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - Botan::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string asn1_tag_to_string(ASN1_Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: Botan::BER_Decoding_Error::BER_Decoding_Error
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void BER_Decoding_Error::BER_Decoding_Error(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - str
    - tagging
    argTypes:
    - std::string_view
    - uint32_t
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: Botan::BER_Bad_Tag::BER_Bad_Tag
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void BER_Bad_Tag::BER_Bad_Tag(std::string_view str, uint32_t tagging)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1::put_in_sequence
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:173,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:173,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' contents'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: Botan::ASN1::put_in_sequence
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 5
    functionsReached:
    - data
    - Botan::ASN1::put_in_sequence
    - size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> put_in_sequence(const std::vector<uint8_t>& contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bits
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: Botan::ASN1::put_in_sequence
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 5
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> put_in_sequence(const uint8_t bits[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:186,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:186,1
    - Dst: bits
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:186,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - BER_Object
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: Botan::ASN1::to_string
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 3
    functionsReached:
    - bits
    - cast_uint8_ptr_to_char
    - std::string
    - length
    linkageType: ''
    returnType: std::string
    signature: std::string to_string(const BER_Object& obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peek_byte
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:194,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:195,1
    - Dst: read_byte
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:195,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:196,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:199,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.cpp:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 204
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 204
    functionName: Botan::ASN1::maybe_BER
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.cpp
    functionUses: 3
    functionsReached:
    - read_byte
    - BOTAN_ASSERT_EQUAL
    - peek_byte
    - static_cast<uint8_t>
    - Stream_IO_Error
    linkageType: ''
    returnType: bool
    signature: bool maybe_BER(DataSource& source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: matches
      Src: /src/botan/src/lib/asn1/static_oids.cpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' oid'
    - val
    - name
    argTypes:
    - OID
    - std::initializer_list<uint32_t>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: Botan::if_match
    functionSourceFile: /src/botan/src/lib/asn1/static_oids.cpp
    functionUses: 0
    functionsReached:
    - matches
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> if_match(const OID& oid, std::initializer_list<uint32_t>
      val, std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID
      Src: /src/botan/src/lib/asn1/static_oids.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - req
    - actual
    - oid
    argTypes:
    - std::string_view
    - std::string_view
    - std::initializer_list<uint32_t>
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: Botan::if_match
    functionSourceFile: /src/botan/src/lib/asn1/static_oids.cpp
    functionUses: 0
    functionsReached:
    - OID
    linkageType: ''
    returnType: std::optional<OID>
    signature: std::optional<OID> if_match(std::string_view req, std::string_view
      actual, std::initializer_list<uint32_t> oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/static_oids.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: Botan::hash_oid_name
    functionSourceFile: /src/botan/src/lib/asn1/static_oids.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_oid_name(std::string_view s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:54,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:56,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:58,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:60,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:62,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:64,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:66,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:68,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:70,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:72,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:74,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:76,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:78,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:80,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:82,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:84,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:86,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:88,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:90,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:92,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:94,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:96,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:98,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:100,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:102,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:104,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:106,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:108,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:110,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:112,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:114,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:116,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:118,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:120,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:122,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:124,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:126,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:128,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:130,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:132,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:134,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:136,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:138,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:140,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:142,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:144,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:146,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:148,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:150,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:152,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:154,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:156,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:158,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:160,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:162,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:164,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:166,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:168,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:170,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:172,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:174,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:176,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:178,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:180,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:182,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:184,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:186,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:188,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:190,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:192,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:194,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:196,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:198,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:200,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:202,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:204,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:206,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:208,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:210,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:212,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:214,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:216,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:218,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:220,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:222,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:224,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:226,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:228,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:230,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:232,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:234,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:236,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:238,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:240,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:242,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:244,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:246,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:248,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:250,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:252,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:254,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:256,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:258,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:260,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:262,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:264,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:266,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:268,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:270,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:272,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:274,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:276,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:278,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:280,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:282,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:284,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:286,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:288,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:290,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:292,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:294,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:296,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:298,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:300,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:302,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:304,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:306,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:308,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:310,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:312,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:314,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:316,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:318,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:320,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:322,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:324,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:326,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:328,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:330,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:332,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:334,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:336,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:338,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:340,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:342,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:344,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:346,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:348,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:350,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:352,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:354,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:356,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:358,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:360,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:362,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:364,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:366,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:368,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:370,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:372,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:374,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:376,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:378,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:380,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:382,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:384,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:386,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:388,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:390,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:392,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:394,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:396,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:398,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:400,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:402,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:404,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:406,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:408,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:410,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:412,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:414,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:416,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:418,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:420,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:422,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:424,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:426,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:428,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:430,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:432,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:434,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:436,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:438,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:440,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:442,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:444,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:446,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:448,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:450,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:452,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:454,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:456,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:458,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:460,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:462,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:464,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:466,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:468,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:470,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:472,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:474,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:476,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:478,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:480,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:482,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:484,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:486,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:488,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:490,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:492,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:494,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:496,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:498,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:500,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:502,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:504,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:506,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:508,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:510,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:512,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:514,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:516,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:518,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:520,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:522,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:524,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:526,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:528,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:530,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:532,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:534,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:536,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:538,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:540,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:542,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:544,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:546,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:548,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:550,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:552,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:554,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:556,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:558,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:560,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:562,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:564,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:566,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:568,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:570,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:572,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:574,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:576,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:578,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:580,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:582,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:584,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:586,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:588,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:590,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:592,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:594,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:596,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:598,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:600,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:602,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:604,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:606,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:608,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:610,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:612,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:614,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:616,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:618,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:620,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:622,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:624,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:626,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:628,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:630,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:632,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:634,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:636,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:638,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:640,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:642,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:644,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:646,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:648,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:650,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:652,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:654,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:656,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:658,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:660,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:662,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:664,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:666,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:668,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:670,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:672,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:674,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:676,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:678,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:680,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:682,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:684,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:686,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:688,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:690,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:692,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:694,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:696,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:698,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 653
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 704
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 704
    functionName: Botan::OID_Map::lookup_static_oid
    functionSourceFile: /src/botan/src/lib/asn1/static_oids.cpp
    functionUses: 0
    functionsReached:
    - if_match
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> OID_Map::lookup_static_oid(const OID&
      oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:712,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:714,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:716,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:718,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:720,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:722,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:724,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:726,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:728,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:730,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:732,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:734,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:736,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:738,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:740,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:742,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:744,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:746,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:748,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:750,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:752,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:754,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:756,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:758,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:760,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:762,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:764,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:766,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:768,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:770,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:772,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:774,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:776,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:778,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:780,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:782,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:784,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:786,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:788,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:790,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:792,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:794,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:796,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:798,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:800,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:802,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:804,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:806,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:808,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:810,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:812,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:814,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:816,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:818,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:820,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:822,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:824,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:826,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:828,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:830,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:832,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:834,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:836,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:838,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:840,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:842,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:844,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:846,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:848,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:850,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:852,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:854,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:856,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:858,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:860,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:862,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:864,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:866,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:868,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:870,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:872,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:874,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:876,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:878,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:880,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:882,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:884,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:886,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:888,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:890,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:892,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:894,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:896,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:898,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:900,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:902,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:904,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:906,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:908,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:910,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:912,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:914,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:916,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:918,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:920,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:922,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:924,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:926,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:928,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:930,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:932,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:934,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:936,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:938,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:940,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:942,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:944,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:946,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:948,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:950,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:952,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:954,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:956,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:958,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:960,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:962,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:964,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:966,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:968,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:970,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:972,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:974,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:976,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:978,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:980,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:982,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:984,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:986,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:988,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:990,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:992,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:994,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:996,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:998,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1000,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1002,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1004,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1006,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1008,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1010,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1012,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1014,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1016,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1018,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1020,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1022,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1024,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1026,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1028,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1030,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1032,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1034,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1036,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1038,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1040,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1042,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1044,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1046,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1048,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1050,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1052,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1054,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1056,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1058,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1060,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1062,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1064,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1066,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1068,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1070,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1072,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1074,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1076,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1078,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1080,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1082,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1084,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1086,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1088,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1090,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1092,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1094,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1096,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1098,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1100,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1102,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1104,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1106,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1108,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1110,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1112,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1114,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1116,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1118,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1120,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1122,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1124,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1126,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1128,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1130,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1132,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1134,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1136,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1138,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1140,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1142,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1144,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1146,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1148,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1150,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1152,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1154,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1156,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1158,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1160,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1162,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1164,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1166,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1168,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1170,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1172,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1174,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1176,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1178,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1180,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1182,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1184,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1186,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1188,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1190,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1192,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1194,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1196,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1198,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1200,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1202,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1204,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1206,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1208,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1210,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1212,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1214,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1216,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1218,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1220,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1222,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1224,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1226,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1228,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1230,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1232,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1234,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1236,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1238,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1240,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1242,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1244,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1246,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1248,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1250,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1252,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1254,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1256,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1258,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1260,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1262,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1264,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1266,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1268,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1270,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1272,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1274,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1276,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1278,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1280,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1282,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1284,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1286,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1288,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1290,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1292,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1294,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1296,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1298,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1300,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1302,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1304,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1306,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1308,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1310,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1312,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1314,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1316,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1318,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1320,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1322,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1324,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1326,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1328,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1330,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1332,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1334,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1336,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1338,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1340,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1342,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1344,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1346,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1348,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1350,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1352,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1354,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1356,1
    - Dst: if_match
      Src: /src/botan/src/lib/asn1/static_oids.cpp:1358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 653
    argCount: 1
    argNames:
    - req
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 1362
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 1362
    functionName: Botan::OID_Map::lookup_static_oid_name
    functionSourceFile: /src/botan/src/lib/asn1/static_oids.cpp
    functionUses: 0
    functionsReached:
    - if_match
    linkageType: ''
    returnType: std::optional<OID>
    signature: std::optional<OID> OID_Map::lookup_static_oid_name(std::string_view
      req)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1371
    functionName: Botan::OID_Map::load_oid2str_map
    functionSourceFile: /src/botan/src/lib/asn1/static_oids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unordered_map<OID, std::string>
    signature: std::unordered_map<OID, std::string> OID_Map::load_oid2str_map()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1394
    functionName: Botan::OID_Map::load_str2oid_map
    functionSourceFile: /src/botan/src/lib/asn1/static_oids.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unordered_map<std::string, OID>
    signature: std::unordered_map<std::string, OID> OID_Map::load_str2oid_map()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:27,1
    - Dst: std::span<const uint32_t>::size
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:27,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:28,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:29,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - oid
    argTypes:
    - std::span<const uint32_t>
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: Botan::oid_valid_check
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    - std::span<const uint32_t>::size
    linkageType: ''
    returnType: void
    signature: void oid_valid_check(std::span<const uint32_t> oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:43,1
    - Dst: std::vector<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:46,1
    - Dst: Botan::to_u32bit
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:46,1
    - Dst: std::string::clear
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:47,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:53,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:54,1
    - Dst: Botan::to_u32bit
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:54,1
    - Dst: std::vector<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - oid
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 62
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 62
    functionName: Botan::parse_oid_str
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 0
    functionsReached:
    - Botan::to_u32bit
    - std::vector::push_back
    - std::string::empty
    - std::vector<uint32_t>
    - std::string::clear
    linkageType: ''
    returnType: std::vector<uint32_t>
    signature: std::vector<uint32_t> parse_oid_str(std::string_view oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID_Map::global_registry
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' oid'
    - name
    argTypes:
    - OID
    - std::string_view
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: Botan::OID::register_oid
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 4
    functionsReached:
    - OID_Map::global_registry
    linkageType: ''
    returnType: void
    signature: void OID::register_oid(const OID& oid, std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:73,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:74,1
    - Dst: OID_Map::global_registry
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:77,1
    - Dst: OID::has_value
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:78,1
    - Dst: std::optional
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: Botan::OID::from_name
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 5
    functionsReached:
    - std::optional
    - std::string_view::empty
    - Invalid_Argument
    - OID::has_value
    - OID_Map::global_registry
    linkageType: ''
    returnType: std::optional<OID>
    signature: std::optional<OID> OID::from_name(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:87,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:88,1
    - Dst: OID_Map::global_registry
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:91,1
    - Dst: OID::has_value
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:92,1
    - Dst: Botan::OID::OID
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:98,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:101,1
    - Dst: fmt
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 102
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: Botan::OID::from_string
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 47
    functionsReached:
    - Lookup_Error
    - fmt
    - Botan::OID::OID
    - std::string_view::empty
    - Invalid_Argument
    - OID::has_value
    - OID_Map::global_registry
    linkageType: ''
    returnType: OID
    signature: OID OID::from_string(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: oid_valid_check
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - init
    argTypes:
    - std::initializer_list<uint32_t>
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: Botan::OID::OID
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 4
    functionsReached:
    - oid_valid_check
    linkageType: ''
    returnType: void
    signature: void OID::OID(std::initializer_list<uint32_t> init)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:108,1
    - Dst: oid_valid_check
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' init'
    argTypes:
    - std::vector<uint32_t>
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Botan::OID::OID
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - oid_valid_check
    linkageType: ''
    returnType: void
    signature: void OID::OID(std::vector<uint32_t>&& init)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:116,1
    - Dst: parse_oid_str
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:117,1
    - Dst: oid_valid_check
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - oid_str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: Botan::OID::OID
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 4
    functionsReached:
    - std::string_view::empty
    - oid_valid_check
    - parse_oid_str
    linkageType: ''
    returnType: void
    signature: void OID::OID(std::string_view oid_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:128,1
    - Dst: Botan::OID::to_string
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:130,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:131,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: Botan::OID::to_string
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 6
    functionsReached:
    - std::ostringstream::str
    - size
    - Botan::OID::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string OID::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::human_name_or_empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:140,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:141,1
    - Dst: Botan::OID::to_string
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: Botan::OID::to_formatted_string
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 2
    functionsReached:
    - Botan::OID::human_name_or_empty
    - std::string::empty
    - Botan::OID::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string OID::to_formatted_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID_Map::global_registry
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: Botan::OID::human_name_or_empty
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 3
    functionsReached:
    - OID_Map::global_registry
    linkageType: ''
    returnType: std::string
    signature: std::string OID::human_name_or_empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::human_name_or_empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: Botan::OID::registered_oid
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::human_name_or_empty
    linkageType: ''
    returnType: bool
    signature: bool OID::registered_oid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::equal
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:157,1
    - Dst: begin
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:157,1
    - Dst: end
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:157,1
    - Dst: std::initializer_list<uint32_t>::begin
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:157,1
    - Dst: std::initializer_list<uint32_t>::end
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - std::initializer_list<uint32_t>
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: Botan::OID::matches
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 0
    functionsReached:
    - std::initializer_list<uint32_t>::begin
    - begin
    - std::initializer_list<uint32_t>::end
    - end
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool OID::matches(std::initializer_list<uint32_t> other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: Botan::OID::hash_code
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t OID::hash_code() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_components
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:174,1
    - Dst: get_components
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:175,1
    - Dst: std::lexicographical_compare
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:177,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:177,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:177,1
    - Dst: Botan::begin
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:177,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - OID
    - OID
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: operator<(const OID& a, const OID& b)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 0
    functionsReached:
    - Botan::begin
    - std::lexicographical_compare
    - get_components
    - Botan::end
    linkageType: ''
    returnType: bool
    signature: bool operator<(const OID& a, const OID& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:184,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:185,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:190,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:190,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:201,1
    - Dst: BOTAN_ASSERT_IS_SOME
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:209,1
    - Dst: checked_add
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:209,1
    - Dst: append
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:211,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:213,1
    - Dst: append
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:214,1
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ' der'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 217
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 217
    functionName: Botan::OID::encode_into
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_IS_SOME
    - append
    - size
    - checked_add
    - push_back
    - Invalid_Argument
    - add_object
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void OID::encode_into(DER_Encoder& der) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:223,1
    - Dst: BER_Object::tagging
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:224,1
    - Dst: BER_Bad_Tag
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:225,1
    - Dst: BER_Object::tagging
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:225,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:228,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:229,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:233,1
    - Dst: empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:233,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:243,1
    - Dst: empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:247,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:248,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:256,1
    - Dst: BER_Object::data
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:270,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:272,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:275,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:288,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:289,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:290,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/asn1/asn1_oid.cpp:292,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 1
    argNames:
    - ' decoder'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 297
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 297
    functionName: Botan::OID::decode_from
    functionSourceFile: /src/botan/src/lib/asn1/asn1_oid.cpp
    functionUses: 0
    functionsReached:
    - get_next_object
    - BER_Object::tagging
    - BOTAN_ASSERT_NOMSG
    - std::vector::empty
    - empty
    - std::vector::push_back
    - BER_Object::length
    - Decoding_Error
    - BufferSlicer::empty
    - BER_Object::data
    - BER_Bad_Tag
    - BER_Decoding_Error
    linkageType: ''
    returnType: void
    signature: void OID::decode_from(BER_Decoder& decoder)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/asn1/der_enc.h:37,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/asn1/der_enc.h:43,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/der_enc.h:49,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/asn1/der_enc.h:60,1
    - Dst: start_cons
      Src: /src/botan/src/lib/asn1/der_enc.h:64,1
    - Dst: start_cons
      Src: /src/botan/src/lib/asn1/der_enc.h:66,1
    - Dst: start_cons
      Src: /src/botan/src/lib/asn1/der_enc.h:69,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/der_enc.h:69,1
    - Dst: start_cons
      Src: /src/botan/src/lib/asn1/der_enc.h:73,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/der_enc.h:73,1
    - Dst: raw_bytes
      Src: /src/botan/src/lib/asn1/der_enc.h:88,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/der_enc.h:88,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/asn1/der_enc.h:88,1
    - Dst: Botan::encode
      Src: /src/botan/src/lib/asn1/der_enc.h:99,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/der_enc.h:99,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/asn1/der_enc.h:99,1
    - Dst: Botan::encode
      Src: /src/botan/src/lib/asn1/der_enc.h:119,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/der_enc.h:119,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/asn1/der_enc.h:119,1
    - Dst: Botan::encode
      Src: /src/botan/src/lib/asn1/der_enc.h:125,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/asn1/der_enc.h:132,1
    - Dst: Botan::encode
      Src: /src/botan/src/lib/asn1/der_enc.h:133,1
    - Dst: raw_bytes
      Src: /src/botan/src/lib/asn1/der_enc.h:148,1
    - Dst: get_contents
      Src: /src/botan/src/lib/asn1/der_enc.h:148,1
    - Dst: Botan::encode
      Src: /src/botan/src/lib/asn1/der_enc.h:155,1
    - Dst: Botan::encode
      Src: /src/botan/src/lib/asn1/der_enc.h:162,1
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.h:170,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/der_enc.h:170,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/asn1/der_enc.h:170,1
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.h:174,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/der_enc.h:174,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/asn1/der_enc.h:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 222
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.h
    functionUses: 17
    functionsReached:
    - start_cons
    - get_contents
    - DER_Encoder
    - data
    - BOTAN_DEPRECATED
    - raw_bytes
    - Botan::encode
    - std::move
    - Botan::size
    - add_object
    - ASN1_Type
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_other_key_not_set
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:24,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:26,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:29,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:30,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:31,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:33,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 45
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 45
    functionName: Botan::choose_encoding
    functionSourceFile: /src/botan/src/lib/asn1/asn1_str.cpp
    functionUses: 0
    functionsReached:
    - auto::as_bool
    - Botan::CT::Mask::is_within_range
    - std::string_view::size
    - Botan_Tests::test_other_key_not_set
    - Botan::CT::Mask::is_any_of
    linkageType: ''
    returnType: ASN1_Type
    signature: ASN1_Type choose_encoding(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Botan::is_utf8_subset_string_type
    functionSourceFile: /src/botan/src/lib/asn1/asn1_str.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_utf8_subset_string_type(ASN1_Type tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_utf8_subset_string_type
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: Botan::is_asn1_string_type
    functionSourceFile: /src/botan/src/lib/asn1/asn1_str.cpp
    functionUses: 0
    functionsReached:
    - Botan::is_utf8_subset_string_type
    linkageType: ''
    returnType: bool
    signature: bool is_asn1_string_type(ASN1_Type tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_asn1_string_type
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: Botan::ASN1_String::is_string_type
    functionSourceFile: /src/botan/src/lib/asn1/asn1_str.cpp
    functionUses: 1
    functionsReached:
    - is_asn1_string_type
    linkageType: ''
    returnType: bool
    signature: bool ASN1_String::is_string_type(ASN1_Type tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_utf8_subset_string_type
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:65,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - str
    - t
    argTypes:
    - std::string_view
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: Botan::ASN1_String::ASN1_String
    functionSourceFile: /src/botan/src/lib/asn1/asn1_str.cpp
    functionUses: 7
    functionsReached:
    - Invalid_Argument
    - is_utf8_subset_string_type
    linkageType: ''
    returnType: void
    signature: void ASN1_String::ASN1_String(std::string_view str, ASN1_Type t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: choose_encoding
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::ASN1_String::ASN1_String
    functionSourceFile: /src/botan/src/lib/asn1/asn1_str.cpp
    functionUses: 7
    functionsReached:
    - choose_encoding
    linkageType: ''
    returnType: void
    signature: void ASN1_String::ASN1_String(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:76,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:77,1
    - Dst: is_utf8_subset_string_type
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:77,1
    - Dst: tagging
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:77,1
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:78,1
    - Dst: tagging
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:78,1
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:81,1
    - Dst: tagging
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:81,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:81,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' encoder'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: Botan::ASN1_String::encode_into
    functionSourceFile: /src/botan/src/lib/asn1/asn1_str.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - data
    - tagging
    - size
    - is_utf8_subset_string_type
    - empty
    - add_object
    linkageType: ''
    returnType: void
    signature: void ASN1_String::encode_into(DER_Encoder& encoder) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:89,1
    - Dst: is_asn1_string_type
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:91,1
    - Dst: BER_Object::type
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:91,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:92,1
    - Dst: BER_Object::type
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:92,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:93,1
    - Dst: fmt
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:93,1
    - Dst: BER_Object::type
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:96,1
    - Dst: assign
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:97,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:97,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:97,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:97,1
    - Dst: ucs2_to_utf8
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:100,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:100,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:100,1
    - Dst: ucs4_to_utf8
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:102,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:102,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:102,1
    - Dst: latin1_to_utf8
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:108,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:108,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:108,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/asn1/asn1_str.cpp:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 113
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 113
    functionName: Botan::ASN1_String::decode_from
    functionSourceFile: /src/botan/src/lib/asn1/asn1_str.cpp
    functionUses: 4
    functionsReached:
    - BER_Object::bits
    - get_next_object
    - assign
    - fmt
    - static_cast<uint32_t>
    - data
    - latin1_to_utf8
    - Botan::ASN1::to_string
    - size
    - Decoding_Error
    - BER_Object::length
    - BER_Object::type
    - ucs4_to_utf8
    - ucs2_to_utf8
    - is_asn1_string_type
    linkageType: ''
    returnType: void
    signature: void ASN1_String::decode_from(BER_Decoder& source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:71,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - ASN1_Class
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: Botan::intersects
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool intersects(ASN1_Class x, ASN1_Class y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ASN1_Type>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:75,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:75,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - ASN1_Type
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: operator|(ASN1_Type x, ASN1_Type y)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - static_cast<ASN1_Type>
    linkageType: ''
    returnType: ASN1_Type
    signature: ASN1_Type operator|(ASN1_Type x, ASN1_Type y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ASN1_Class>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:79,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:79,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - ASN1_Class
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: operator|(ASN1_Class x, ASN1_Class y)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - static_cast<ASN1_Class>
    linkageType: ''
    returnType: ASN1_Class
    signature: ASN1_Class operator|(ASN1_Class x, ASN1_Class y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:83,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: operator|(ASN1_Type x, ASN1_Class y)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t operator|(ASN1_Type x, ASN1_Class y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:87,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - ASN1_Class
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: operator|(ASN1_Class x, ASN1_Type y)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t operator|(ASN1_Class x, ASN1_Type y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: Botan::ASN1_Object
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_Object()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan::ASN1_Object
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_Object(const ASN1_Object&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: Botan::ASN1_Object
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_Object(ASN1_Object&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: ~ASN1_Object()
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ASN1_Object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Object
      Src: /src/botan/src/lib/asn1/asn1_obj.h:130,1
    - Dst: type_tag
      Src: /src/botan/src/lib/asn1/asn1_obj.h:140,1
    - Dst: class_tag
      Src: /src/botan/src/lib/asn1/asn1_obj.h:140,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/asn1_obj.h:150,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_obj.h:152,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/asn1/asn1_obj.h:172,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/asn1/asn1_obj.h:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 175
    functionName: final
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 133
    functionsReached:
    - secure_vector::data
    - data
    - type_tag
    - size
    - class_tag
    - BER_Object
    - secure_vector::resize
    linkageType: ''
    returnType: BER_Object
    signature: BER_Object final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Bad_Tag
      Src: /src/botan/src/lib/asn1/asn1_obj.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: BER_Decoding_Error
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 3
    functionsReached:
    - BER_Bad_Tag
    linkageType: ''
    returnType: BER_Bad_Tag
    signature: BER_Bad_Tag BER_Decoding_Error
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/asn1/asn1_obj.h:265,1
    - Dst: empty
      Src: /src/botan/src/lib/asn1/asn1_obj.h:271,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/asn1/asn1_obj.h:320,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/asn1/asn1_obj.h:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 332
    functionName: ASN1_Object
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached:
    - empty
    - BOTAN_DEPRECATED
    linkageType: ''
    returnType: OID
    signature: OID ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/botan/src/lib/asn1/asn1_obj.h:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' oid'
    argTypes:
    - std::ostream
    - OID
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: '& operator<<(std::ostream& out, const OID& oid)'
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached:
    - to_string
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& out, const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - OID
    - OID
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: operator!=(const OID& a, const OID& b)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const OID& a, const OID& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 409
    functionName: ASN1_Object
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_Time
    signature: ASN1_Time ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/asn1/asn1_obj.h:436,1
    - Dst: empty
      Src: /src/botan/src/lib/asn1/asn1_obj.h:438,1
    - Dst: value
      Src: /src/botan/src/lib/asn1/asn1_obj.h:445,1
    - Dst: value
      Src: /src/botan/src/lib/asn1/asn1_obj.h:445,1
    - Dst: value
      Src: /src/botan/src/lib/asn1/asn1_obj.h:447,1
    - Dst: value
      Src: /src/botan/src/lib/asn1/asn1_obj.h:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 456
    functionName: ASN1_Object
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached:
    - empty
    - value
    linkageType: ''
    returnType: ASN1_String
    signature: ASN1_String ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/asn1/asn1_obj.h:480,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/asn1/asn1_obj.h:482,1
    - Dst: empty
      Src: /src/botan/src/lib/asn1/asn1_obj.h:488,1
    - Dst: parameters_are_empty
      Src: /src/botan/src/lib/asn1/asn1_obj.h:490,1
    - Dst: parameters_are_null
      Src: /src/botan/src/lib/asn1/asn1_obj.h:490,1
    - Dst: empty
      Src: /src/botan/src/lib/asn1/asn1_obj.h:492,1
    - Dst: empty
      Src: /src/botan/src/lib/asn1/asn1_obj.h:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 497
    functionName: ASN1_Object
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached:
    - parameters_are_null
    - empty
    - parameters_are_empty
    - BOTAN_DEPRECATED
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier ASN1_Object
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/asn1/asn1_obj.h:510,1
    - Dst: hash_code
      Src: /src/botan/src/lib/asn1/asn1_obj.h:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - Botan::OID
    constantsTouched: []
    func_position:
      end: 510
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 510
    functionName: operator()(const Botan::OID& oid) const noexcept
    functionSourceFile: /src/botan/src/lib/asn1/asn1_obj.h
    functionUses: 0
    functionsReached:
    - hash_code
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const Botan::OID& oid) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::isalnum
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:30,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - bits
    - bits_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 35
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 35
    functionName: Botan::all_printable_chars
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.cpp
    functionUses: 0
    functionsReached:
    - std::isalnum
    linkageType: ''
    returnType: bool
    signature: bool all_printable_chars(const uint8_t bits[], size_t bits_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::all_printable_chars
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - bits
    - bits_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: Botan::possibly_a_general_name
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.cpp
    functionUses: 0
    functionsReached:
    - Botan::all_printable_chars
    linkageType: ''
    returnType: bool
    signature: bool possibly_a_general_name(const uint8_t bits[], size_t bits_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_Formatter::print_to_stream
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:64,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - in
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: Botan::ASN1_Formatter::print
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.cpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1_Formatter::print_to_stream
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string ASN1_Formatter::print(const uint8_t in[], size_t len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_Formatter::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' output'
    - in
    - len
    argTypes:
    - std::ostream
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: Botan::ASN1_Formatter::print_to_stream
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.cpp
    functionUses: 1
    functionsReached:
    - Botan::ASN1_Formatter::decode
    linkageType: ''
    returnType: void
    signature: void ASN1_Formatter::print_to_stream(std::ostream& output, const uint8_t
      in[], size_t len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:74,1
    - Dst: BER_Object::is_set
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:78,1
    - Dst: BER_Object::type
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:79,1
    - Dst: BER_Object::get_class
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:80,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:86,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:86,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:86,1
    - Dst: intersects
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:90,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:91,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:91,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:94,1
    - Dst: Botan::ASN1_Formatter::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:95,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:97,1
    - Dst: format_bin
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:97,1
    - Dst: intersects
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:99,1
    - Dst: intersects
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:99,1
    - Dst: possibly_a_general_name
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:104,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:104,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:104,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:105,1
    - Dst: std::string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:106,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:106,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:106,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:110,1
    - Dst: Botan::ASN1_Formatter::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:114,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:115,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:122,1
    - Dst: format_bin
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:122,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:126,1
    - Dst: OID::human_name_or_empty
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:128,1
    - Dst: OID::to_string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:129,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:131,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:132,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:134,1
    - Dst: fmt
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:134,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:140,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:142,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:145,1
    - Dst: format_bn
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:145,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:148,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:149,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:151,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:154,1
    - Dst: Botan::ASN1_Formatter::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:162,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:164,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:165,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:171,1
    - Dst: format_bin
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:171,1
    - Dst: Botan::ASN1_String::is_string_type
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:173,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:175,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:176,1
    - Dst: ASN1_String::value
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:176,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:179,1
    - Dst: format
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:180,1
    - Dst: ASN1_Time::readable_string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:180,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:182,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:182,1
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:186,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 82
    argCount: 3
    argNames:
    - ' output'
    - ' decoder'
    - level
    argTypes:
    - std::ostream
    - BER_Decoder
    - size_t
    constantsTouched: []
    func_position:
      end: 188
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 188
    functionName: Botan::ASN1_Formatter::decode
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.cpp
    functionUses: 2
    functionsReached:
    - get_next_object
    - std::vector::size
    - format_bin
    - fmt
    - intersects
    - ASN1_String::value
    - std::string::empty
    - BER_Object::type
    - possibly_a_general_name
    - static_cast<int>
    - BER_Decoder::decode
    - std::vector::data
    - BER_Object::bits
    - format_bn
    - format
    - DER_Encoder
    - std::string
    - Botan::ASN1_String::is_string_type
    - BER_Object::length
    - OID::to_string
    - OID::human_name_or_empty
    - cast_uint8_ptr_to_char
    - std::ostringstream::str
    - BER_Object::is_set
    - BER_Object::get_class
    - ASN1_Time::readable_string
    - Botan::ASN1_Formatter::decode
    linkageType: ''
    returnType: void
    signature: void ASN1_Formatter::decode(std::ostream& output, BER_Decoder& decoder,
      size_t level) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::asn1_tag_to_string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:194,1
    - Dst: Botan::asn1_tag_to_string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:198,1
    - Dst: Botan::intersects
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:203,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:207,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:207,1
    - Dst: Botan::intersects
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:209,1
    - Dst: Botan::intersects
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:212,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - type_tag
    - class_tag
    argTypes:
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 217
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 217
    functionName: Botan::format_type
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.cpp
    functionUses: 0
    functionsReached:
    - Botan::asn1_tag_to_string
    - std::ostringstream::str
    - static_cast<uint32_t>
    - Botan::to_string
    - Botan::intersects
    linkageType: ''
    returnType: std::string
    signature: std::string format_type(ASN1_Type type_tag, ASN1_Class class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:225,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:230,1
    - Dst: std::setw
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:238,1
    - Dst: std::setw
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:238,1
    - Dst: std::string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:238,1
    - Dst: format_type
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:239,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:241,1
    - Dst: std::string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:245,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - type_tag
    - class_tag
    - level
    - length
    - value
    argTypes:
    - ASN1_Type
    - ASN1_Class
    - size_t
    - size_t
    - std::string_view
    constantsTouched: []
    func_position:
      end: 251
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 251
    functionName: Botan::ASN1_Pretty_Printer::format
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::string
    - format_type
    - std::string_view::empty
    - std::string_view::length
    - std::setw
    linkageType: ''
    returnType: std::string
    signature: "std::string ASN1_Pretty_Printer::format(\n   ASN1_Type type_tag, ASN1_Class
      class_tag, size_t level, size_t length, std::string_view value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: all_printable_chars
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:256,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:256,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:256,1
    - Dst: std::string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:257,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:257,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:257,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:257,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: Botan::ASN1_Pretty_Printer::format_bin
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.cpp
    functionUses: 0
    functionsReached:
    - hex_encode
    - data
    - std::string
    - size
    - all_printable_chars
    - cast_uint8_ptr_to_char
    linkageType: ''
    returnType: std::string
    signature: "std::string ASN1_Pretty_Printer::format_bin(ASN1_Type /*type_tag*/,\n
      \                                           ASN1_Class /*class_tag*/,\n                                            const
      std::vector<uint8_t>& vec) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bits
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:264,1
    - Dst: to_dec_string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:265,1
    - Dst: to_hex_string
      Src: /src/botan/src/lib/asn1/asn1_print.cpp:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: Botan::ASN1_Pretty_Printer::format_bn
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.cpp
    functionUses: 0
    functionsReached:
    - bits
    - to_dec_string
    - to_hex_string
    linkageType: ''
    returnType: std::string
    signature: std::string ASN1_Pretty_Printer::format_bn(const BigInt& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/lib/asn1/oids.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' oid'
    - name
    argTypes:
    - OID
    - std::string_view
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan::OIDS::add_oid
    functionSourceFile: /src/botan/src/lib/asn1/oids.h
    functionUses: 0
    functionsReached:
    - Botan::OID::register_oid
    linkageType: ''
    returnType: void
    signature: void add_oid(const OID& oid, std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/lib/asn1/oids.h:31,1
    - Dst: OID
      Src: /src/botan/src/lib/asn1/oids.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - oidstr
    - name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::OIDS::add_oidstr
    functionSourceFile: /src/botan/src/lib/asn1/oids.h
    functionUses: 0
    functionsReached:
    - Botan::OID::register_oid
    - OID
    linkageType: ''
    returnType: void
    signature: void add_oidstr(const char* oidstr, const char* name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: human_name_or_empty
      Src: /src/botan/src/lib/asn1/oids.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::OIDS::oid2str_or_empty
    functionSourceFile: /src/botan/src/lib/asn1/oids.h
    functionUses: 0
    functionsReached:
    - human_name_or_empty
    linkageType: ''
    returnType: std::string
    signature: std::string oid2str_or_empty(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/lib/asn1/oids.h:50,1
    - Dst: OID
      Src: /src/botan/src/lib/asn1/oids.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::OIDS::str2oid_or_empty
    functionSourceFile: /src/botan/src/lib/asn1/oids.h
    functionUses: 0
    functionsReached:
    - Botan::OID::from_name
    - OID
    linkageType: ''
    returnType: OID
    signature: OID str2oid_or_empty(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: human_name_or_empty
      Src: /src/botan/src/lib/asn1/oids.h:54,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/asn1/oids.h:55,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/asn1/oids.h:56,1
    - Dst: to_string
      Src: /src/botan/src/lib/asn1/oids.h:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: Botan::OIDS::oid2str_or_throw
    functionSourceFile: /src/botan/src/lib/asn1/oids.h
    functionUses: 0
    functionsReached:
    - human_name_or_empty
    - Lookup_Error
    - std::string::empty
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string oid2str_or_throw(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: human_name_or_empty
      Src: /src/botan/src/lib/asn1/oids.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::OIDS::lookup
    functionSourceFile: /src/botan/src/lib/asn1/oids.h
    functionUses: 0
    functionsReached:
    - human_name_or_empty
    linkageType: ''
    returnType: std::string
    signature: std::string lookup(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/lib/asn1/oids.h:66,1
    - Dst: OID
      Src: /src/botan/src/lib/asn1/oids.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Botan::OIDS::lookup
    functionSourceFile: /src/botan/src/lib/asn1/oids.h
    functionUses: 0
    functionsReached:
    - Botan::OID::from_name
    - OID
    linkageType: ''
    returnType: OID
    signature: OID lookup(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - print_context_specific
    - max_depth
    argTypes:
    - bool
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: Botan::ASN1_Formatter
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_Formatter(bool print_context_specific, size_t max_depth)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::print
      Src: /src/botan/src/lib/asn1/asn1_print.h:41,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/asn1_print.h:41,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/asn1/asn1_print.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<uint8_t, Alloc>
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::print
    functionSourceFile: /src/botan/src/lib/asn1/asn1_print.h
    functionUses: 1
    functionsReached:
    - Botan::size
    - data
    - Botan::print
    linkageType: ''
    returnType: std::string
    signature: std::string print(const std::vector<uint8_t, Alloc>& vec) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/asn1/pss_params.cpp:22,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/asn1/pss_params.cpp:22,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/asn1/pss_params.cpp:22,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/asn1/pss_params.cpp:23,1
    - Dst: fmt
      Src: /src/botan/src/lib/asn1/pss_params.cpp:23,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/asn1/pss_params.cpp:26,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/asn1/pss_params.cpp:27,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/asn1/pss_params.cpp:27,1
    - Dst: Botan::PSS_Params::PSS_Params
      Src: /src/botan/src/lib/asn1/pss_params.cpp:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - emsa_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 30
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 30
    functionName: Botan::PSS_Params::from_emsa_name
    functionSourceFile: /src/botan/src/lib/asn1/pss_params.cpp
    functionUses: 1
    functionsReached:
    - SCAN_Name::algo_name
    - BOTAN_ASSERT_NOMSG
    - SCAN_Name::arg_count
    - fmt
    - Botan::PSS_Params::PSS_Params
    - Invalid_Argument
    - SCAN_Name::arg
    linkageType: ''
    returnType: PSS_Params
    signature: PSS_Params PSS_Params::from_emsa_name(std::string_view emsa_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_encode
      Src: /src/botan/src/lib/asn1/pss_params.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - hash_fn
    - salt_len
    argTypes:
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: Botan::PSS_Params::PSS_Params
    functionSourceFile: /src/botan/src/lib/asn1/pss_params.cpp
    functionUses: 1
    functionsReached:
    - BER_encode
    linkageType: ''
    returnType: void
    signature: void PSS_Params::PSS_Params(std::string_view hash_fn, size_t salt_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PSS_Params::decode_from
      Src: /src/botan/src/lib/asn1/pss_params.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - der
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: Botan::PSS_Params::PSS_Params
    functionSourceFile: /src/botan/src/lib/asn1/pss_params.cpp
    functionUses: 1
    functionsReached:
    - Botan::PSS_Params::decode_from
    linkageType: ''
    returnType: void
    signature: void PSS_Params::PSS_Params(std::span<const uint8_t> der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/asn1/pss_params.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: Botan::PSS_Params::serialize
    functionSourceFile: /src/botan/src/lib/asn1/pss_params.cpp
    functionUses: 0
    functionsReached:
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PSS_Params::serialize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/asn1/pss_params.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' to'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: Botan::PSS_Params::encode_into
    functionSourceFile: /src/botan/src/lib/asn1/pss_params.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    linkageType: ''
    returnType: void
    signature: void PSS_Params::encode_into(DER_Encoder& to) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier::BER_encode
      Src: /src/botan/src/lib/asn1/pss_params.cpp:65,1
    - Dst: start_sequence
      Src: /src/botan/src/lib/asn1/pss_params.cpp:69,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/pss_params.cpp:70,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/pss_params.cpp:71,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/pss_params.cpp:72,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/pss_params.cpp:73,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/asn1/pss_params.cpp:76,1
    - Dst: parameters
      Src: /src/botan/src/lib/asn1/pss_params.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: Botan::PSS_Params::decode_from
    functionSourceFile: /src/botan/src/lib/asn1/pss_params.cpp
    functionUses: 1
    functionsReached:
    - BER_Decoder
    - start_sequence
    - parameters
    - AlgorithmIdentifier::BER_encode
    - ASN1_Type
    linkageType: ''
    returnType: void
    signature: void PSS_Params::decode_from(BER_Decoder& from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataSource*::read_byte
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:31,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:38,1
    - Dst: ASN1_Class
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:39,1
    - Dst: ASN1_Class
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:44,1
    - Dst: DataSource*::read_byte
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:48,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:49,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:52,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:56,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:64,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - ber
    - ' type_tag'
    - ' class_tag'
    argTypes:
    - DataSource*
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 66
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 66
    functionName: Botan::decode_tag
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - ASN1_Class
    - ASN1_Type
    - DataSource*::read_byte
    - BER_Decoding_Error
    linkageType: ''
    returnType: size_t
    signature: size_t decode_tag(DataSource* ber, ASN1_Type& type_tag, ASN1_Class&
      class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataSource*::read_byte
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:78,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:79,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:88,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:93,1
    - Dst: Botan::find_eoc
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:95,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:102,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:103,1
    - Dst: DataSource*::read_byte
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:105,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:106,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - ber
    - ' field_size'
    - allow_indef
    argTypes:
    - DataSource*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 111
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 111
    functionName: Botan::decode_length
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - Botan::find_eoc
    - Botan::get_byte
    - DataSource*::read_byte
    - BER_Decoding_Error
    linkageType: ''
    returnType: size_t
    signature: size_t decode_length(DataSource* ber, size_t& field_size, size_t allow_indef)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:125,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:125,1
    - Dst: Botan::clear
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:129,1
    - Dst: DataSource_Memory::discard_next
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:142,1
    - Dst: Botan::checked_add
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:144,1
    - Dst: auto::value
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:145,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:147,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - ber
    - allow_indef
    argTypes:
    - DataSource*
    - size_t
    constantsTouched: []
    func_position:
      end: 155
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 155
    functionName: Botan::find_eoc
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 1
    functionsReached:
    - secure_vector::data
    - Botan::Decoding_Error
    - Botan::checked_add
    - auto::value
    - DataSource_Memory::discard_next
    - std::make_pair
    - Botan::clear
    linkageType: ''
    returnType: size_t
    signature: size_t find_eoc(DataSource* ber, size_t allow_indef)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:160,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:160,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:162,1
    - Dst: bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: Botan::DataSource_BERObject::read
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - bits
    - BOTAN_ASSERT_NOMSG
    - length
    linkageType: ''
    returnType: size_t
    signature: size_t read(uint8_t out[], size_t length) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:168,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:168,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:176,1
    - Dst: bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - out
    - length
    - peek_offset
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 178
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 178
    functionName: Botan::DataSource_BERObject::peek
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - bits
    - BOTAN_ASSERT_NOMSG
    - length
    linkageType: ''
    returnType: size_t
    signature: size_t peek(uint8_t out[], size_t length, size_t peek_offset) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:181,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:181,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: Botan::DataSource_BERObject::check_available
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - length
    linkageType: ''
    returnType: bool
    signature: bool check_available(size_t n) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DataSource_BERObject::get_bytes_read
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:185,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: Botan::DataSource_BERObject::end_of_data
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - Botan::DataSource_BERObject::get_bytes_read
    - length
    linkageType: ''
    returnType: bool
    signature: bool end_of_data() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: Botan::DataSource_BERObject::get_bytes_read
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t get_bytes_read() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - BER_Object
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: Botan::DataSource_BERObject::DataSource_BERObject
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DataSource_BERObject(BER_Object&& obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: end_of_data
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:202,1
    - Dst: is_set
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: Botan::BER_Decoder::more_items
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 1
    functionsReached:
    - end_of_data
    - is_set
    linkageType: ''
    returnType: bool
    signature: bool BER_Decoder::more_items() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_end
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: '& BER_Decoder::verify_end()'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - verify_end
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::verify_end()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: end_of_data
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:219,1
    - Dst: is_set
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:219,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - err
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: '& BER_Decoder::verify_end(std::string_view err)'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - end_of_data
    - Decoding_Error
    - is_set
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::verify_end(std::string_view err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_byte
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: '& BER_Decoder::discard_remaining()'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - read_byte
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::discard_remaining()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_set
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:235,1
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: '& BER_Decoder::peek_next_object()'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - get_next_object
    - is_set
    linkageType: ''
    returnType: BER_Object
    signature: BER_Object & BER_Decoder::peek_next_object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_set
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:248,1
    - Dst: std::swap
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:249,1
    - Dst: decode_tag
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:256,1
    - Dst: BER_Object::set_tagging
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:257,1
    - Dst: BER_Object::is_set
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:258,1
    - Dst: check_available
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:264,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:265,1
    - Dst: read
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:269,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:270,1
    - Dst: BER_Object::tagging
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:273,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:273,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 281
    functionName: Botan::BER_Decoder::get_next_object
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - BER_Object::tagging
    - read
    - static_cast<uint32_t>
    - std::swap
    - BER_Object::is_set
    - is_set
    - BER_Object::set_tagging
    - decode_tag
    - check_available
    - BER_Decoding_Error
    linkageType: ''
    returnType: BER_Object
    signature: BER_Object BER_Decoder::get_next_object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_set
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:287,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - BER_Object
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: Botan::BER_Decoder::push_back
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - is_set
    linkageType: ''
    returnType: void
    signature: void BER_Decoder::push_back(const BER_Object& obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_set
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:294,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:295,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - BER_Object
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: Botan::BER_Decoder::push_back
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - is_set
    - std::move
    linkageType: ''
    returnType: void
    signature: void BER_Decoder::push_back(BER_Object&& obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BER_Decoder::get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:301,1
    - Dst: BER_Object::assert_is_a
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:302,1
    - Dst: Botan::BER_Decoder::BER_Decoder
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:303,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type_tag
    - class_tag
    argTypes:
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: Botan::BER_Decoder::start_cons
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - BER_Object::assert_is_a
    - Botan::BER_Decoder::BER_Decoder
    - std::move
    - Botan::BER_Decoder::get_next_object
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder BER_Decoder::start_cons(ASN1_Type type_tag, ASN1_Class
      class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:311,1
    - Dst: end_of_data
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:313,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 317
    functionName: '& BER_Decoder::end_cons()'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - end_of_data
    - Decoding_Error
    - Invalid_State
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::end_cons()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DataSource_BERObject>
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:320,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:320,1
    - Dst: get
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' obj'
    - parent
    argTypes:
    - BER_Object
    - BER_Decoder*
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: Botan::BER_Decoder::BER_Decoder
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 3
    functionsReached:
    - std::make_unique<DataSource_BERObject>
    - get
    - std::move
    linkageType: ''
    returnType: void
    signature: void BER_Decoder::BER_Decoder(BER_Object&& obj, BER_Decoder* parent)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' src'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: Botan::BER_Decoder::BER_Decoder
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BER_Decoder::BER_Decoder(DataSource& src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DataSource_Memory>
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:336,1
    - Dst: get
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: Botan::BER_Decoder::BER_Decoder
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 3
    functionsReached:
    - std::make_unique<DataSource_Memory>
    - get
    linkageType: ''
    returnType: void
    signature: void BER_Decoder::BER_Decoder(const uint8_t data[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DataSource_Memory>
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:344,1
    - Dst: get
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: Botan::BER_Decoder::BER_Decoder
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 3
    functionsReached:
    - std::make_unique<DataSource_Memory>
    - get
    linkageType: ''
    returnType: void
    signature: void BER_Decoder::BER_Decoder(const secure_vector<uint8_t>& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DataSource_Memory>
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:352,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:352,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:352,1
    - Dst: get
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: Botan::BER_Decoder::BER_Decoder
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 3
    functionsReached:
    - std::make_unique<DataSource_Memory>
    - data
    - get
    - size
    linkageType: ''
    returnType: void
    signature: void BER_Decoder::BER_Decoder(const std::vector<uint8_t>& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 365
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 365
    functionName: Botan::BER_Decoder::BER_Decoder
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 3
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: void BER_Decoder::BER_Decoder(const BER_Decoder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode_from
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - ASN1_Object
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 373
    functionName: '& BER_Decoder::decode(ASN1_Object& obj, ASN1_Type /*unused*/, ASN1_Class
      /*unused*/)'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - decode_from
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::decode(ASN1_Object& obj, ASN1_Type /*unused*/,
      ASN1_Class /*unused*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:379,1
    - Dst: BER_Object::assert_is_a
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:380,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:381,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: '& BER_Decoder::decode_null()'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - BER_Object::assert_is_a
    - get_next_object
    - BER_Object::length
    - BER_Decoding_Error
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::decode_null()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:389,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: '& BER_Decoder::decode_octet_string_bigint(BigInt& out)'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - decode
    - Botan::BigInt::from_bytes
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::decode_octet_string_bigint(BigInt& out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:398,1
    - Dst: BER_Object::assert_is_a
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:399,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:401,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:402,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' out'
    - type_tag
    - class_tag
    argTypes:
    - bool
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 407
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 407
    functionName: '& BER_Decoder::decode(bool& out, ASN1_Type type_tag, ASN1_Class
      class_tag)'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - BER_Object::bits
    - get_next_object
    - BER_Object::length
    - BER_Object::assert_is_a
    - BER_Decoding_Error
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::decode(bool& out, ASN1_Type type_tag, ASN1_Class
      class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:414,1
    - Dst: BigInt::is_negative
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:416,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:417,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:420,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:421,1
    - Dst: BigInt::byte_at
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - ' out'
    - type_tag
    - class_tag
    argTypes:
    - size_t
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 430
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 430
    functionName: '& BER_Decoder::decode(size_t& out, ASN1_Type type_tag, ASN1_Class
      class_tag)'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - decode
    - BigInt::is_negative
    - BigInt::bits
    - BigInt::byte_at
    - BER_Decoding_Error
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::decode(size_t& out, ASN1_Type type_tag,
      ASN1_Class class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:437,1
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:441,1
    - Dst: BigInt::bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:443,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:444,1
    - Dst: BigInt::byte_at
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - type_tag
    - class_tag
    - T_bytes
    argTypes:
    - ASN1_Type
    - ASN1_Class
    - size_t
    constantsTouched: []
    func_position:
      end: 453
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 453
    functionName: Botan::BER_Decoder::decode_constrained_integer
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - decode
    - BigInt::bits
    - BigInt::byte_at
    - BER_Decoding_Error
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BER_Decoder::decode_constrained_integer(ASN1_Type type_tag,
      ASN1_Class class_tag, size_t T_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:459,1
    - Dst: BER_Object::assert_is_a
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:460,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:462,1
    - Dst: clear
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:463,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:468,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:468,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:468,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:474,1
    - Dst: _assign_from_bytes
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:477,1
    - Dst: flip_sign
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:478,1
    - Dst: _assign_from_bytes
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:480,1
    - Dst: BER_Object::data
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:480,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - ' out'
    - type_tag
    - class_tag
    argTypes:
    - BigInt
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 485
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 485
    functionName: '& BER_Decoder::decode(BigInt& out, ASN1_Type type_tag, ASN1_Class
      class_tag)'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - BER_Object::bits
    - get_next_object
    - _assign_from_bytes
    - flip_sign
    - clear
    - BER_Object::length
    - BER_Object::assert_is_a
    - BER_Object::data
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::decode(BigInt& out, ASN1_Type type_tag,
      ASN1_Class class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_is_a
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:495,1
    - Dst: assign
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:498,1
    - Dst: bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:498,1
    - Dst: bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:498,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:498,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:500,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:501,1
    - Dst: bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:503,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:504,1
    - Dst: resize
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:507,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:507,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:509,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:510,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:510,1
    - Dst: bits
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:510,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:510,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - ' buffer'
    - ' obj'
    - real_type
    - type_tag
    - class_tag
    argTypes:
    - std::vector<uint8_t, Alloc>
    - BER_Object
    - ASN1_Type
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 513
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 513
    functionName: Botan::asn1_decode_binary_string
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - assign
    - assert_is_a
    - data
    - bits
    - resize
    - length
    - Botan::copy_mem
    - BER_Decoding_Error
    linkageType: ''
    returnType: void
    signature: "void asn1_decode_binary_string(std::vector<uint8_t, Alloc>& buffer,\n
      \                              const BER_Object& obj,\n                               ASN1_Type
      real_type,\n                               ASN1_Type type_tag,\n                               ASN1_Class
      class_tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Bad_Tag
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:525,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:525,1
    - Dst: asn1_decode_binary_string
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:528,1
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ' buffer'
    - real_type
    - type_tag
    - class_tag
    argTypes:
    - secure_vector<uint8_t>
    - ASN1_Type
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 530
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 530
    functionName: "& BER_Decoder::decode(secure_vector<uint8_t>& buffer,\n                                 ASN1_Type
      real_type,\n                                 ASN1_Type type_tag,\n                                 ASN1_Class
      class_tag)"
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - get_next_object
    - static_cast<uint32_t>
    - asn1_decode_binary_string
    - BER_Bad_Tag
    linkageType: ''
    returnType: BER_Decoder
    signature: "BER_Decoder & BER_Decoder::decode(secure_vector<uint8_t>& buffer,\n
      \                                ASN1_Type real_type,\n                                 ASN1_Type
      type_tag,\n                                 ASN1_Class class_tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Bad_Tag
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:537,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:537,1
    - Dst: asn1_decode_binary_string
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:540,1
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.cpp:540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ' buffer'
    - real_type
    - type_tag
    - class_tag
    argTypes:
    - std::vector<uint8_t>
    - ASN1_Type
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 542
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 542
    functionName: "& BER_Decoder::decode(std::vector<uint8_t>& buffer,\n                                 ASN1_Type
      real_type,\n                                 ASN1_Type type_tag,\n                                 ASN1_Class
      class_tag)"
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.cpp
    functionUses: 0
    functionsReached:
    - get_next_object
    - static_cast<uint32_t>
    - asn1_decode_binary_string
    - BER_Bad_Tag
    linkageType: ''
    returnType: BER_Decoder
    signature: "BER_Decoder & BER_Decoder::decode(std::vector<uint8_t>& buffer,\n
      \                                ASN1_Type real_type,\n                                 ASN1_Type
      type_tag,\n                                 ASN1_Class class_tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calendar_point::year
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:24,1
    - Dst: calendar_point::month
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:25,1
    - Dst: calendar_point::day
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:26,1
    - Dst: calendar_point::hour
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:27,1
    - Dst: calendar_point::minutes
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:28,1
    - Dst: calendar_point::seconds
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: Botan::ASN1_Time::ASN1_Time
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - calendar_point::month
    - calendar_point::hour
    - calendar_point::seconds
    - calendar_point::minutes
    - calendar_point::day
    - calendar_point::year
    linkageType: ''
    returnType: void
    signature: void ASN1_Time::ASN1_Time(const std::chrono::system_clock::time_point&
      time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_Time::set_to
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t_spec
    - tag
    argTypes:
    - std::string_view
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Botan::ASN1_Time::ASN1_Time
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1_Time::set_to
    linkageType: ''
    returnType: void
    signature: void ASN1_Time::ASN1_Time(std::string_view t_spec, ASN1_Type tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:39,1
    - Dst: Botan::ASN1_Time::set_to
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:40,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:41,1
    - Dst: Botan::ASN1_Time::set_to
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:42,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - t_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: Botan::ASN1_Time::ASN1_Time
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - std::string_view::size
    - Botan::ASN1_Time::set_to
    linkageType: ''
    returnType: void
    signature: void ASN1_Time::ASN1_Time(std::string_view t_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:49,1
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:51,1
    - Dst: Botan::ASN1_Time::to_string
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' der'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: Botan::ASN1_Time::encode_into
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - add_object
    - BOTAN_ARG_CHECK
    - Botan::ASN1_Time::to_string
    linkageType: ''
    returnType: void
    signature: void ASN1_Time::encode_into(DER_Encoder& der) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:55,1
    - Dst: Botan::ASN1_Time::set_to
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:57,1
    - Dst: Botan::ASN1::to_string
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:57,1
    - Dst: BER_Object::type
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: Botan::ASN1_Time::decode_from
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1::to_string
    - get_next_object
    - BER_Object::type
    - Botan::ASN1_Time::set_to
    linkageType: ''
    returnType: void
    signature: void ASN1_Time::decode_from(BER_Decoder& source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_Time::time_is_set
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:61,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:62,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:69,1
    - Dst: fmt
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:69,1
    - Dst: Botan::ASN1_Time::readable_string
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:69,1
    - Dst: Botan::ASN1_Time::to_string
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:84,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 91
    functionName: Botan::ASN1_Time::to_string
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 2
    functionsReached:
    - std::string::size
    - Invalid_State
    - fmt
    - Botan::ASN1_Time::readable_string
    - Encoding_Error
    - Botan::ASN1_Time::to_string
    - Botan::ASN1_Time::time_is_set
    linkageType: ''
    returnType: std::string
    signature: std::string ASN1_Time::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_Time::time_is_set
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:94,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:95,1
    - Dst: std::setfill
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:100,1
    - Dst: std::setw
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:100,1
    - Dst: std::setw
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:100,1
    - Dst: std::setw
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:100,1
    - Dst: std::setw
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:101,1
    - Dst: std::setw
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:101,1
    - Dst: std::setw
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:101,1
    - Dst: std::stringstream::str
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: Botan::ASN1_Time::readable_string
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 1
    functionsReached:
    - Invalid_State
    - std::setfill
    - std::stringstream::str
    - std::setw
    - Botan::ASN1_Time::time_is_set
    linkageType: ''
    returnType: std::string
    signature: std::string ASN1_Time::readable_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: Botan::ASN1_Time::time_is_set
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASN1_Time::time_is_set() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_Time::time_is_set
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:112,1
    - Dst: Botan::ASN1_Time::time_is_set
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:112,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:113,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ASN1_Time
    constantsTouched: []
    func_position:
      end: 156
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 156
    functionName: Botan::ASN1_Time::cmp
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - Botan::ASN1_Time::time_is_set
    linkageType: ''
    returnType: int32_t
    signature: int32_t ASN1_Time::cmp(const ASN1_Time& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:159,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:163,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:163,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:165,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:165,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:168,1
    - Dst: std::string_view::back
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:168,1
    - Dst: to_u32bit
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:180,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:180,1
    - Dst: to_u32bit
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:181,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:181,1
    - Dst: to_u32bit
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:182,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:182,1
    - Dst: to_u32bit
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:183,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:183,1
    - Dst: to_u32bit
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:184,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:184,1
    - Dst: to_u32bit
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:185,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:185,1
    - Dst: Botan::ASN1_Time::passes_sanity_check
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:196,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:197,1
    - Dst: fmt
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - t_spec
    - spec_tag
    argTypes:
    - std::string_view
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 199
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 199
    functionName: Botan::ASN1_Time::set_to
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 3
    functionsReached:
    - std::string_view::back
    - fmt
    - to_u32bit
    - Botan::ASN1_Time::passes_sanity_check
    - std::string_view::size
    - std::string_view::substr
    - Invalid_Argument
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void ASN1_Time::set_to(std::string_view t_spec, ASN1_Type spec_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 247
    functionName: Botan::ASN1_Time::passes_sanity_check
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASN1_Time::passes_sanity_check() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calendar_point
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: Botan::ASN1_Time::to_std_timepoint
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - calendar_point
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point ASN1_Time::to_std_timepoint()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calendar_point
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: Botan::ASN1_Time::time_since_epoch
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - calendar_point
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ASN1_Time::time_since_epoch() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t1'
    - ' t2'
    argTypes:
    - ASN1_Time
    - ASN1_Time
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: operator==(const ASN1_Time& t1, const ASN1_Time& t2)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - cmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ASN1_Time& t1, const ASN1_Time& t2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t1'
    - ' t2'
    argTypes:
    - ASN1_Time
    - ASN1_Time
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: operator!=(const ASN1_Time& t1, const ASN1_Time& t2)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - cmp
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const ASN1_Time& t1, const ASN1_Time& t2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t1'
    - ' t2'
    argTypes:
    - ASN1_Time
    - ASN1_Time
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: operator<=(const ASN1_Time& t1, const ASN1_Time& t2)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - cmp
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const ASN1_Time& t1, const ASN1_Time& t2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t1'
    - ' t2'
    argTypes:
    - ASN1_Time
    - ASN1_Time
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: operator>=(const ASN1_Time& t1, const ASN1_Time& t2)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - cmp
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const ASN1_Time& t1, const ASN1_Time& t2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t1'
    - ' t2'
    argTypes:
    - ASN1_Time
    - ASN1_Time
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: operator<(const ASN1_Time& t1, const ASN1_Time& t2)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - cmp
    linkageType: ''
    returnType: bool
    signature: bool operator<(const ASN1_Time& t1, const ASN1_Time& t2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/botan/src/lib/asn1/asn1_time.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t1'
    - ' t2'
    argTypes:
    - ASN1_Time
    - ASN1_Time
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: operator>(const ASN1_Time& t1, const ASN1_Time& t2)
    functionSourceFile: /src/botan/src/lib/asn1/asn1_time.cpp
    functionUses: 0
    functionsReached:
    - cmp
    linkageType: ''
    returnType: bool
    signature: bool operator>(const ASN1_Time& t1, const ASN1_Time& t2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' oid'
    - ' param'
    argTypes:
    - OID
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: Botan::AlgorithmIdentifier::AlgorithmIdentifier
    functionSourceFile: /src/botan/src/lib/asn1/alg_id.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlgorithmIdentifier::AlgorithmIdentifier(const OID& oid, const
      std::vector<uint8_t>& param)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/asn1/alg_id.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - oid
    - ' param'
    argTypes:
    - std::string_view
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: Botan::AlgorithmIdentifier::AlgorithmIdentifier
    functionSourceFile: /src/botan/src/lib/asn1/alg_id.cpp
    functionUses: 2
    functionsReached:
    - Botan::OID::from_string
    linkageType: ''
    returnType: void
    signature: void AlgorithmIdentifier::AlgorithmIdentifier(std::string_view oid,
      const std::vector<uint8_t>& param)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/asn1/alg_id.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' oid'
    - option
    argTypes:
    - OID
    - Encoding_Option
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: Botan::AlgorithmIdentifier::AlgorithmIdentifier
    functionSourceFile: /src/botan/src/lib/asn1/alg_id.cpp
    functionUses: 2
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void AlgorithmIdentifier::AlgorithmIdentifier(const OID& oid, Encoding_Option
      option)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/asn1/alg_id.cpp:42,1
    - Dst: assign
      Src: /src/botan/src/lib/asn1/alg_id.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - oid
    - option
    argTypes:
    - std::string_view
    - Encoding_Option
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: Botan::AlgorithmIdentifier::AlgorithmIdentifier
    functionSourceFile: /src/botan/src/lib/asn1/alg_id.cpp
    functionUses: 2
    functionsReached:
    - Botan::OID::from_string
    - assign
    linkageType: ''
    returnType: void
    signature: void AlgorithmIdentifier::AlgorithmIdentifier(std::string_view oid,
      Encoding_Option option)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/asn1/alg_id.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::AlgorithmIdentifier::parameters_are_null
    functionSourceFile: /src/botan/src/lib/asn1/alg_id.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool AlgorithmIdentifier::parameters_are_null() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::oid
      Src: /src/botan/src/lib/asn1/alg_id.cpp:55,1
    - Dst: Botan::oid
      Src: /src/botan/src/lib/asn1/alg_id.cpp:55,1
    - Dst: parameters_are_null_or_empty
      Src: /src/botan/src/lib/asn1/alg_id.cpp:62,1
    - Dst: parameters_are_null_or_empty
      Src: /src/botan/src/lib/asn1/alg_id.cpp:62,1
    - Dst: parameters
      Src: /src/botan/src/lib/asn1/alg_id.cpp:66,1
    - Dst: parameters
      Src: /src/botan/src/lib/asn1/alg_id.cpp:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' a1'
    - ' a2'
    argTypes:
    - AlgorithmIdentifier
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: operator==(const AlgorithmIdentifier& a1, const AlgorithmIdentifier&
      a2)
    functionSourceFile: /src/botan/src/lib/asn1/alg_id.cpp
    functionUses: 0
    functionsReached:
    - parameters_are_null_or_empty
    - parameters
    - Botan::oid
    linkageType: ''
    returnType: bool
    signature: bool operator==(const AlgorithmIdentifier& a1, const AlgorithmIdentifier&
      a2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a1'
    - ' a2'
    argTypes:
    - AlgorithmIdentifier
    - AlgorithmIdentifier
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: operator!=(const AlgorithmIdentifier& a1, const AlgorithmIdentifier&
      a2)
    functionSourceFile: /src/botan/src/lib/asn1/alg_id.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const AlgorithmIdentifier& a1, const AlgorithmIdentifier&
      a2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/asn1/alg_id.cpp:77,1
    - Dst: oid
      Src: /src/botan/src/lib/asn1/alg_id.cpp:77,1
    - Dst: parameters
      Src: /src/botan/src/lib/asn1/alg_id.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' codec'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Botan::AlgorithmIdentifier::encode_into
    functionSourceFile: /src/botan/src/lib/asn1/alg_id.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    - parameters
    - oid
    linkageType: ''
    returnType: void
    signature: void AlgorithmIdentifier::encode_into(DER_Encoder& codec) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_sequence
      Src: /src/botan/src/lib/asn1/alg_id.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' codec'
    argTypes:
    - BER_Decoder
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: Botan::AlgorithmIdentifier::decode_from
    functionSourceFile: /src/botan/src/lib/asn1/alg_id.cpp
    functionUses: 0
    functionsReached:
    - start_sequence
    linkageType: ''
    returnType: void
    signature: void AlgorithmIdentifier::decode_from(BER_Decoder& codec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/asn1/ber_dec.h:26,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/ber_dec.h:31,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/asn1/ber_dec.h:31,1
    - Dst: bits
      Src: /src/botan/src/lib/asn1/ber_dec.h:51,1
    - Dst: length
      Src: /src/botan/src/lib/asn1/ber_dec.h:51,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.h:56,1
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.h:71,1
    - Dst: start_cons
      Src: /src/botan/src/lib/asn1/ber_dec.h:124,1
    - Dst: start_cons
      Src: /src/botan/src/lib/asn1/ber_dec.h:126,1
    - Dst: start_cons
      Src: /src/botan/src/lib/asn1/ber_dec.h:129,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/ber_dec.h:129,1
    - Dst: start_cons
      Src: /src/botan/src/lib/asn1/ber_dec.h:133,1
    - Dst: ASN1_Type
      Src: /src/botan/src/lib/asn1/ber_dec.h:133,1
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.h:156,1
    - Dst: BER_Object::assert_is_a
      Src: /src/botan/src/lib/asn1/ber_dec.h:157,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/ber_dec.h:159,1
    - Dst: BER_Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.h:160,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/asn1/ber_dec.h:160,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/ber_dec.h:160,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/asn1/ber_dec.h:161,1
    - Dst: memcpy
      Src: /src/botan/src/lib/asn1/ber_dec.h:164,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/asn1/ber_dec.h:164,1
    - Dst: BER_Object::bits
      Src: /src/botan/src/lib/asn1/ber_dec.h:164,1
    - Dst: BER_Object::length
      Src: /src/botan/src/lib/asn1/ber_dec.h:164,1
    - Dst: Botan::clear
      Src: /src/botan/src/lib/asn1/ber_dec.h:174,1
    - Dst: read_byte
      Src: /src/botan/src/lib/asn1/ber_dec.h:176,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/ber_dec.h:177,1
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.h:187,1
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.h:192,1
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.h:197,1
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.h:201,1
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.h:210,1
    - Dst: decode_integer_type<T>
      Src: /src/botan/src/lib/asn1/ber_dec.h:242,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/asn1/ber_dec.h:247,1
    - Dst: decode_constrained_integer
      Src: /src/botan/src/lib/asn1/ber_dec.h:247,1
    - Dst: T
      Src: /src/botan/src/lib/asn1/ber_dec.h:252,1
    - Dst: T
      Src: /src/botan/src/lib/asn1/ber_dec.h:260,1
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.h:275,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/asn1/ber_dec.h:278,1
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.h:292,1
    - Dst: static_cast<ASN1_Type>
      Src: /src/botan/src/lib/asn1/ber_dec.h:294,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/asn1/ber_dec.h:296,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/asn1/ber_dec.h:298,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.h:298,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/ber_dec.h:300,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.h:300,1
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.h:301,1
    - Dst: Botan::clear
      Src: /src/botan/src/lib/asn1/ber_dec.h:304,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/ber_dec.h:305,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.h:305,1
    - Dst: decode_optional_string
      Src: /src/botan/src/lib/asn1/ber_dec.h:316,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/asn1/ber_dec.h:316,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/asn1/ber_dec.h:322,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 329
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.h
    functionUses: 17
    functionsReached:
    - get_next_object
    - static_cast<uint32_t>
    - T
    - BER_Object::is_a
    - reinterpret_cast<uint8_t*>
    - start_cons
    - BER_Decoder
    - data
    - memcpy
    - Botan::to_string
    - length
    - decode_integer_type<T>
    - static_cast<ASN1_Type>
    - BER_Object::bits
    - Botan::Decoding_Error
    - static_cast<T>
    - BER_Object::length
    - std::move
    - push_back
    - decode_constrained_integer
    - BER_Object::assert_is_a
    - Botan::clear
    - decode
    - read_byte
    - bits
    - decode_optional_string
    - Botan::size
    - ASN1_Type
    - BER_Decoding_Error
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.h:336,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/asn1/ber_dec.h:338,1
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/asn1/ber_dec.h:340,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.h:340,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/ber_dec.h:342,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.h:342,1
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.h:343,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/ber_dec.h:347,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.h:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ' out'
    - type_tag
    - class_tag
    - ' default_value'
    argTypes:
    - T
    - ASN1_Type
    - ASN1_Class
    - T
    constantsTouched: []
    func_position:
      end: 351
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 351
    functionName: '& BER_Decoder::decode_optional(T& out, ASN1_Type type_tag, ASN1_Class
      class_tag, const T& default_value)'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.h
    functionUses: 0
    functionsReached:
    - get_next_object
    - BER_Decoder
    - decode
    - BER_Object::is_a
    - std::move
    - push_back
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::decode_optional(T& out, ASN1_Type type_tag,
      ASN1_Class class_tag, const T& default_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.h:363,1
    - Dst: BER_Object::is_a
      Src: /src/botan/src/lib/asn1/ber_dec.h:365,1
    - Dst: BER_Object::set_tagging
      Src: /src/botan/src/lib/asn1/ber_dec.h:366,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/ber_dec.h:367,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.h:367,1
    - Dst: decode
      Src: /src/botan/src/lib/asn1/ber_dec.h:368,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/ber_dec.h:372,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.h:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - ' out'
    - type_tag
    - class_tag
    - real_type
    - real_class
    - ' default_value'
    argTypes:
    - T
    - ASN1_Type
    - ASN1_Class
    - ASN1_Type
    - ASN1_Class
    - T
    constantsTouched: []
    func_position:
      end: 376
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 376
    functionName: "& BER_Decoder::decode_optional_implicit(T& out,\n                                                   ASN1_Type
      type_tag,\n                                                   ASN1_Class class_tag,\n
      \                                                  ASN1_Type real_type,\n                                                   ASN1_Class
      real_class,\n                                                   const T& default_value)"
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.h
    functionUses: 0
    functionsReached:
    - get_next_object
    - decode
    - BER_Object::is_a
    - push_back
    - std::move
    - BER_Object::set_tagging
    linkageType: ''
    returnType: BER_Decoder
    signature: "BER_Decoder & BER_Decoder::decode_optional_implicit(T& out,\n                                                   ASN1_Type
      type_tag,\n                                                   ASN1_Class class_tag,\n
      \                                                  ASN1_Type real_type,\n                                                   ASN1_Class
      real_class,\n                                                   const T& default_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_cons
      Src: /src/botan/src/lib/asn1/ber_dec.h:383,1
    - Dst: BER_Decoder::more_items
      Src: /src/botan/src/lib/asn1/ber_dec.h:385,1
    - Dst: BER_Decoder::decode
      Src: /src/botan/src/lib/asn1/ber_dec.h:387,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/ber_dec.h:388,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/ber_dec.h:388,1
    - Dst: BER_Decoder::end_cons
      Src: /src/botan/src/lib/asn1/ber_dec.h:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' vec'
    - type_tag
    - class_tag
    argTypes:
    - std::vector<T>
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 394
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 394
    functionName: '& BER_Decoder::decode_list(std::vector<T>& vec, ASN1_Type type_tag,
      ASN1_Class class_tag)'
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.h
    functionUses: 0
    functionsReached:
    - BER_Decoder::more_items
    - start_cons
    - BER_Decoder::end_cons
    - std::move
    - push_back
    - BER_Decoder::decode
    linkageType: ''
    returnType: BER_Decoder
    signature: BER_Decoder & BER_Decoder::decode_list(std::vector<T>& vec, ASN1_Type
      type_tag, ASN1_Class class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peek_next_object
      Src: /src/botan/src/lib/asn1/ber_dec.h:401,1
    - Dst: decode_list
      Src: /src/botan/src/lib/asn1/ber_dec.h:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' vec'
    - type_tag
    - class_tag
    argTypes:
    - std::vector<T>
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: Botan::BER_Decoder::decode_optional_list
    functionSourceFile: /src/botan/src/lib/asn1/ber_dec.h
    functionUses: 0
    functionsReached:
    - decode_list
    - peek_next_object
    linkageType: ''
    returnType: bool
    signature: bool BER_Decoder::decode_optional_list(std::vector<T>& vec, ASN1_Type
      type_tag, ASN1_Class class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/asn1/der_enc.cpp:29,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/asn1/der_enc.cpp:29,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/asn1/der_enc.cpp:29,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:33,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/asn1/der_enc.cpp:33,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/asn1/der_enc.cpp:38,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:40,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/asn1/der_enc.cpp:40,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:42,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ' encoded_tag'
    - type_tag_e
    - class_tag_e
    argTypes:
    - std::vector<uint8_t>
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 46
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 46
    functionName: Botan::encode_tag
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - Encoding_Error
    - push_back
    - Botan::to_string
    - Botan::fmt
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void encode_tag(std::vector<uint8_t>& encoded_tag, ASN1_Type type_tag_e,
      ASN1_Class class_tag_e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:53,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/asn1/der_enc.cpp:53,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:57,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/asn1/der_enc.cpp:57,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:60,1
    - Dst: Botan::get_byte_var
      Src: /src/botan/src/lib/asn1/der_enc.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' encoded_length'
    - length
    argTypes:
    - std::vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: Botan::encode_length
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - push_back
    - Botan::get_byte_var
    linkageType: ''
    returnType: void
    signature: void encode_length(std::vector<uint8_t>& encoded_length, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/asn1/der_enc.cpp:68,1
    - Dst: end
      Src: /src/botan/src/lib/asn1/der_enc.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: Botan::DER_Encoder::DER_Encoder
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 4
    functionsReached:
    - end
    - insert
    linkageType: ''
    returnType: void
    signature: void DER_Encoder::DER_Encoder(secure_vector<uint8_t>& vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/asn1/der_enc.cpp:72,1
    - Dst: end
      Src: /src/botan/src/lib/asn1/der_enc.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Botan::DER_Encoder::DER_Encoder
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 4
    functionsReached:
    - end
    - insert
    linkageType: ''
    returnType: void
    signature: void DER_Encoder::DER_Encoder(std::vector<uint8_t>& vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/botan/src/lib/asn1/der_enc.cpp:82,1
    - Dst: begin
      Src: /src/botan/src/lib/asn1/der_enc.cpp:82,1
    - Dst: end
      Src: /src/botan/src/lib/asn1/der_enc.cpp:82,1
    - Dst: clear
      Src: /src/botan/src/lib/asn1/der_enc.cpp:86,1
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.cpp:89,1
    - Dst: data
      Src: /src/botan/src/lib/asn1/der_enc.cpp:89,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/der_enc.cpp:89,1
    - Dst: clear
      Src: /src/botan/src/lib/asn1/der_enc.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' der'
    argTypes:
    - DER_Encoder
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: DER_Encoder::DER_Sequence::push_contents(DER_Encoder& der)
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - begin
    - data
    - size
    - clear
    - end
    - std::sort
    - add_object
    linkageType: ''
    returnType: void
    signature: void DER_Encoder::DER_Sequence::push_contents(DER_Encoder& der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:98,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/asn1/der_enc.cpp:98,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/der_enc.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: DER_Encoder::DER_Sequence::add_bytes(const uint8_t data[], size_t
      length)
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - push_back
    - secure_vector<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DER_Encoder::DER_Sequence::add_bytes(const uint8_t data[], size_t
      length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_vector::reserve
      Src: /src/botan/src/lib/asn1/der_enc.cpp:107,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/der_enc.cpp:108,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/der_enc.cpp:109,1
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:110,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/der_enc.cpp:110,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/der_enc.cpp:112,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/der_enc.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - hdr
    - hdr_len
    - val
    - val_len
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: DER_Encoder::DER_Sequence::add_bytes(const uint8_t hdr[], size_t
      hdr_len, const uint8_t val[], size_t val_len)
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - secure_vector::reserve
    - push_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void DER_Encoder::DER_Sequence::add_bytes(const uint8_t hdr[], size_t
      hdr_len, const uint8_t val[], size_t val_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: DER_Encoder::DER_Sequence::tag_of() const
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t DER_Encoder::DER_Sequence::tag_of() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: DER_Encoder::DER_Sequence::DER_Sequence(ASN1_Type t1, ASN1_Class
      t2)
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DER_Encoder::DER_Sequence::DER_Sequence(ASN1_Type t1, ASN1_Class
      t2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/asn1/der_enc.cpp:133,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/der_enc.cpp:134,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/der_enc.cpp:138,1
    - Dst: std::swap
      Src: /src/botan/src/lib/asn1/der_enc.cpp:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: Botan::DER_Encoder::get_contents
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 2
    functionsReached:
    - empty
    - Invalid_State
    - std::swap
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> DER_Encoder::get_contents()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/asn1/der_enc.cpp:147,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/der_enc.cpp:148,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/der_enc.cpp:152,1
    - Dst: begin
      Src: /src/botan/src/lib/asn1/der_enc.cpp:155,1
    - Dst: end
      Src: /src/botan/src/lib/asn1/der_enc.cpp:155,1
    - Dst: clear
      Src: /src/botan/src/lib/asn1/der_enc.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 158
    functionName: Botan::DER_Encoder::get_contents_unlocked
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - begin
    - clear
    - empty
    - end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DER_Encoder::get_contents_unlocked()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:164,1
    - Dst: DER_Sequence
      Src: /src/botan/src/lib/asn1/der_enc.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type_tag
    - class_tag
    argTypes:
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: '& DER_Encoder::start_cons(ASN1_Type type_tag, ASN1_Class class_tag)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - DER_Sequence
    - push_back
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::start_cons(ASN1_Type type_tag, ASN1_Class
      class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/asn1/der_enc.cpp:172,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/der_enc.cpp:173,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/der_enc.cpp:176,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/der_enc.cpp:176,1
    - Dst: pop_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:177,1
    - Dst: DER_Sequence::push_contents
      Src: /src/botan/src/lib/asn1/der_enc.cpp:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: '& DER_Encoder::end_cons()'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - pop_back
    - Invalid_State
    - DER_Sequence::push_contents
    - size
    - empty
    - std::move
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::end_cons()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ASN1_Type>
      Src: /src/botan/src/lib/asn1/der_enc.cpp:187,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/asn1/der_enc.cpp:191,1
    - Dst: start_cons
      Src: /src/botan/src/lib/asn1/der_enc.cpp:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type_no
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 195
    functionName: '& DER_Encoder::start_explicit(uint16_t type_no)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ASN1_Type>
    - Internal_Error
    - start_cons
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::start_explicit(uint16_t type_no)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: end_cons
      Src: /src/botan/src/lib/asn1/der_enc.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: '& DER_Encoder::end_explicit()'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - end_cons
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::end_explicit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/asn1/der_enc.cpp:208,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/der_enc.cpp:209,1
    - Dst: add_bytes
      Src: /src/botan/src/lib/asn1/der_enc.cpp:209,1
    - Dst: m_append_output
      Src: /src/botan/src/lib/asn1/der_enc.cpp:211,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/der_enc.cpp:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - bytes
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 217
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 217
    functionName: '& DER_Encoder::raw_bytes(const uint8_t bytes[], size_t length)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - m_append_output
    - size
    - empty
    - add_bytes
    - std::make_pair
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::raw_bytes(const uint8_t bytes[], size_t
      length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_tag
      Src: /src/botan/src/lib/asn1/der_enc.cpp:224,1
    - Dst: encode_length
      Src: /src/botan/src/lib/asn1/der_enc.cpp:225,1
    - Dst: empty
      Src: /src/botan/src/lib/asn1/der_enc.cpp:227,1
    - Dst: size
      Src: /src/botan/src/lib/asn1/der_enc.cpp:228,1
    - Dst: add_bytes
      Src: /src/botan/src/lib/asn1/der_enc.cpp:228,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/asn1/der_enc.cpp:228,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/asn1/der_enc.cpp:228,1
    - Dst: m_append_output
      Src: /src/botan/src/lib/asn1/der_enc.cpp:230,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/asn1/der_enc.cpp:230,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/asn1/der_enc.cpp:230,1
    - Dst: m_append_output
      Src: /src/botan/src/lib/asn1/der_enc.cpp:231,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/der_enc.cpp:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - type_tag
    - class_tag
    - rep
    - length
    argTypes:
    - ASN1_Type
    - ASN1_Class
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 238
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 238
    functionName: '& DER_Encoder::add_object(ASN1_Type type_tag, ASN1_Class class_tag,
      const uint8_t rep[], size_t length)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - m_append_output
    - encode_tag
    - size
    - empty
    - add_bytes
    - encode_length
    - std::make_pair
    - std::vector::data
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::add_object(ASN1_Type type_tag, ASN1_Class
      class_tag, const uint8_t rep[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: '& DER_Encoder::encode_null()'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - add_object
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::encode_null()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/botan/src/lib/asn1/der_enc.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is_true
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: '& DER_Encoder::encode(bool is_true)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::encode(bool is_true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/botan/src/lib/asn1/der_enc.cpp:258,1
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/lib/asn1/der_enc.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: '& DER_Encoder::encode(size_t n)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - encode
    - Botan::BigInt::from_u64
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::encode(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/botan/src/lib/asn1/der_enc.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - BigInt
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: '& DER_Encoder::encode(const BigInt& n)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::encode(const BigInt& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/botan/src/lib/asn1/der_enc.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bytes
    - length
    - real_type
    argTypes:
    - uint8_t[]
    - size_t
    - ASN1_Type
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: '& DER_Encoder::encode(const uint8_t bytes[], size_t length, ASN1_Type
      real_type)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::encode(const uint8_t bytes[], size_t length,
      ASN1_Type real_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - is_true
    - type_tag
    - class_tag
    argTypes:
    - bool
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: '& DER_Encoder::encode(bool is_true, ASN1_Type type_tag, ASN1_Class
      class_tag)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - add_object
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::encode(bool is_true, ASN1_Type type_tag,
      ASN1_Class class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/botan/src/lib/asn1/der_enc.cpp:287,1
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/lib/asn1/der_enc.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - type_tag
    - class_tag
    argTypes:
    - size_t
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: '& DER_Encoder::encode(size_t n, ASN1_Type type_tag, ASN1_Class
      class_tag)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - encode
    - Botan::BigInt::from_u64
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::encode(size_t n, ASN1_Type type_tag, ASN1_Class
      class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.cpp:295,1
    - Dst: serialize
      Src: /src/botan/src/lib/asn1/der_enc.cpp:300,1
    - Dst: bytes
      Src: /src/botan/src/lib/asn1/der_enc.cpp:300,1
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.cpp:312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ' n'
    - type_tag
    - class_tag
    argTypes:
    - BigInt
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 313
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 313
    functionName: '& DER_Encoder::encode(const BigInt& n, ASN1_Type type_tag, ASN1_Class
      class_tag)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - add_object
    - bytes
    - serialize
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::encode(const BigInt& n, ASN1_Type type_tag,
      ASN1_Class class_tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/asn1/der_enc.cpp:321,1
    - Dst: secure_vector::push_back
      Src: /src/botan/src/lib/asn1/der_enc.cpp:326,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/der_enc.cpp:327,1
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.cpp:328,1
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.cpp:330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - bytes
    - length
    - real_type
    - type_tag
    - class_tag
    argTypes:
    - uint8_t[]
    - size_t
    - ASN1_Type
    - ASN1_Type
    - ASN1_Class
    constantsTouched: []
    func_position:
      end: 332
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 332
    functionName: "& DER_Encoder::encode(\n   const uint8_t bytes[], size_t length,
      ASN1_Type real_type, ASN1_Type type_tag, ASN1_Class class_tag)"
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - Invalid_Argument
    - add_object
    - secure_vector::push_back
    linkageType: ''
    returnType: DER_Encoder
    signature: "DER_Encoder & DER_Encoder::encode(\n   const uint8_t bytes[], size_t
      length, ASN1_Type real_type, ASN1_Type type_tag, ASN1_Class class_tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_into
      Src: /src/botan/src/lib/asn1/der_enc.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - ASN1_Object
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: '& DER_Encoder::encode(const ASN1_Object& obj)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - encode_into
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::encode(const ASN1_Object& obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type_tag
    - class_tag
    - rep_str
    argTypes:
    - ASN1_Type
    - ASN1_Class
    - std::string_view
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: '& DER_Encoder::add_object(ASN1_Type type_tag, ASN1_Class class_tag,
      std::string_view rep_str)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - add_object
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::add_object(ASN1_Type type_tag, ASN1_Class
      class_tag, std::string_view rep_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_object
      Src: /src/botan/src/lib/asn1/der_enc.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type_tag
    - class_tag
    - rep
    argTypes:
    - ASN1_Type
    - ASN1_Class
    - uint8_t
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: '& DER_Encoder::add_object(ASN1_Type type_tag, ASN1_Class class_tag,
      uint8_t rep)'
    functionSourceFile: /src/botan/src/lib/asn1/der_enc.cpp
    functionUses: 0
    functionsReached:
    - add_object
    linkageType: ''
    returnType: DER_Encoder
    signature: DER_Encoder & DER_Encoder::add_object(ASN1_Type type_tag, ASN1_Class
      class_tag, uint8_t rep)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID_Map::load_str2oid_map
      Src: /src/botan/src/lib/asn1/oid_map.cpp:12,1
    - Dst: Botan::OID_Map::load_oid2str_map
      Src: /src/botan/src/lib/asn1/oid_map.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: Botan::OID_Map::OID_Map
    functionSourceFile: /src/botan/src/lib/asn1/oid_map.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID_Map::load_oid2str_map
    - Botan::OID_Map::load_str2oid_map
    linkageType: ''
    returnType: void
    signature: void OID_Map::OID_Map()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: '& OID_Map::global_registry()'
    functionSourceFile: /src/botan/src/lib/asn1/oid_map.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OID_Map
    signature: OID_Map & OID_Map::global_registry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID_Map::lookup_static_oid
      Src: /src/botan/src/lib/asn1/oid_map.cpp:22,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/oid_map.cpp:24,1
    - Dst: find
      Src: /src/botan/src/lib/asn1/oid_map.cpp:32,1
    - Dst: end
      Src: /src/botan/src/lib/asn1/oid_map.cpp:34,1
    - Dst: insert
      Src: /src/botan/src/lib/asn1/oid_map.cpp:35,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/oid_map.cpp:35,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/asn1/oid_map.cpp:37,1
    - Dst: find
      Src: /src/botan/src/lib/asn1/oid_map.cpp:40,1
    - Dst: std::string
      Src: /src/botan/src/lib/asn1/oid_map.cpp:40,1
    - Dst: end
      Src: /src/botan/src/lib/asn1/oid_map.cpp:42,1
    - Dst: insert
      Src: /src/botan/src/lib/asn1/oid_map.cpp:43,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/oid_map.cpp:43,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ' oid'
    - str
    argTypes:
    - OID
    - std::string_view
    constantsTouched: []
    func_position:
      end: 45
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 45
    functionName: Botan::OID_Map::add_oid
    functionSourceFile: /src/botan/src/lib/asn1/oid_map.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - Botan::OID_Map::lookup_static_oid
    - std::string
    - end
    - find
    - std::make_pair
    - insert
    linkageType: ''
    returnType: void
    signature: void OID_Map::add_oid(const OID& oid, std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID_Map::lookup_static_oid_name
      Src: /src/botan/src/lib/asn1/oid_map.cpp:48,1
    - Dst: contains
      Src: /src/botan/src/lib/asn1/oid_map.cpp:53,1
    - Dst: std::string
      Src: /src/botan/src/lib/asn1/oid_map.cpp:53,1
    - Dst: insert
      Src: /src/botan/src/lib/asn1/oid_map.cpp:54,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/oid_map.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' oid'
    - str
    argTypes:
    - OID
    - std::string_view
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: Botan::OID_Map::add_str2oid
    functionSourceFile: /src/botan/src/lib/asn1/oid_map.cpp
    functionUses: 0
    functionsReached:
    - contains
    - Botan::OID_Map::lookup_static_oid_name
    - std::string
    - std::make_pair
    - insert
    linkageType: ''
    returnType: void
    signature: void OID_Map::add_str2oid(const OID& oid, std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID_Map::lookup_static_oid
      Src: /src/botan/src/lib/asn1/oid_map.cpp:59,1
    - Dst: contains
      Src: /src/botan/src/lib/asn1/oid_map.cpp:64,1
    - Dst: insert
      Src: /src/botan/src/lib/asn1/oid_map.cpp:65,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/asn1/oid_map.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' oid'
    - str
    argTypes:
    - OID
    - std::string_view
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: Botan::OID_Map::add_oid2str
    functionSourceFile: /src/botan/src/lib/asn1/oid_map.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - Botan::OID_Map::lookup_static_oid
    - contains
    - insert
    linkageType: ''
    returnType: void
    signature: void OID_Map::add_oid2str(const OID& oid, std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID_Map::lookup_static_oid
      Src: /src/botan/src/lib/asn1/oid_map.cpp:70,1
    - Dst: std::string
      Src: /src/botan/src/lib/asn1/oid_map.cpp:71,1
    - Dst: find
      Src: /src/botan/src/lib/asn1/oid_map.cpp:76,1
    - Dst: end
      Src: /src/botan/src/lib/asn1/oid_map.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: Botan::OID_Map::oid2str
    functionSourceFile: /src/botan/src/lib/asn1/oid_map.cpp
    functionUses: 0
    functionsReached:
    - end
    - Botan::OID_Map::lookup_static_oid
    - std::string
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string OID_Map::oid2str(const OID& oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OID_Map::lookup_static_oid_name
      Src: /src/botan/src/lib/asn1/oid_map.cpp:85,1
    - Dst: std::move
      Src: /src/botan/src/lib/asn1/oid_map.cpp:86,1
    - Dst: find
      Src: /src/botan/src/lib/asn1/oid_map.cpp:90,1
    - Dst: std::string
      Src: /src/botan/src/lib/asn1/oid_map.cpp:90,1
    - Dst: end
      Src: /src/botan/src/lib/asn1/oid_map.cpp:91,1
    - Dst: OID
      Src: /src/botan/src/lib/asn1/oid_map.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: Botan::OID_Map::str2oid
    functionSourceFile: /src/botan/src/lib/asn1/oid_map.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID_Map::lookup_static_oid_name
    - OID
    - std::string
    - end
    - std::move
    - find
    linkageType: ''
    returnType: OID
    signature: OID OID_Map::str2oid(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID_Map::global_registry
      Src: /src/botan/src/lib/asn1/oids.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' oid'
    - name
    argTypes:
    - OID
    - std::string_view
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: Botan::OIDS::add_oid2str
    functionSourceFile: /src/botan/src/lib/asn1/oids.cpp
    functionUses: 0
    functionsReached:
    - OID_Map::global_registry
    linkageType: ''
    returnType: void
    signature: void OIDS::add_oid2str(const OID& oid, std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OID_Map::global_registry
      Src: /src/botan/src/lib/asn1/oids.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' oid'
    - name
    argTypes:
    - OID
    - std::string_view
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: Botan::OIDS::add_str2oid
    functionSourceFile: /src/botan/src/lib/asn1/oids.cpp
    functionUses: 0
    functionsReached:
    - OID_Map::global_registry
    linkageType: ''
    returnType: void
    signature: void OIDS::add_str2oid(const OID& oid, std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_CertificateProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.h:30,1
    - Dst: raw_subject_dn
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.h:33,1
    - Dst: BER_encode
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.h:33,1
    - Dst: Botan::PKCS11::add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.h:36,1
    - Dst: Botan::PKCS11::add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.h:39,1
    - Dst: Botan::PKCS11::add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.h:42,1
    - Dst: Botan::PKCS11::add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.h:46,1
    - Dst: Botan::PKCS11::add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.h:51,1
    - Dst: Botan::PKCS11::add_numeric
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.h:56,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 68
    functionName: Botan::PKCS11::CertificateProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_x509.h
    functionUses: 0
    functionsReached:
    - X509_CertificateProperties
    - BER_encode
    - raw_subject_dn
    - Botan::PKCS11::add_binary
    - static_cast<Ulong>
    - Botan::PKCS11::add_numeric
    linkageType: ''
    returnType: X509_CertificateProperties
    signature: X509_CertificateProperties CertificateProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BER_Decoder
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:26,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' group'
    - ec_point_data
    argTypes:
    - EC_Group
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: Botan::PKCS11::decode_public_point
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - BER_Decoder
    - EC_AffinePoint
    linkageType: ''
    returnType: EC_AffinePoint
    signature: EC_AffinePoint decode_public_point(const EC_Group& group, std::span<const
      uint8_t> ec_point_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ec_params'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: Botan::PKCS11::EC_PublicKeyGenerationProperties::EC_PublicKeyGenerationProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - add_binary
    linkageType: ''
    returnType: void
    signature: void EC_PublicKeyGenerationProperties::EC_PublicKeyGenerationProperties(const
      std::vector<uint8_t>& ec_params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:41,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' ec_params'
    - ' ec_point'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: Botan::PKCS11::EC_PublicKeyImportProperties::EC_PublicKeyImportProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - add_binary
    linkageType: ''
    returnType: void
    signature: "void EC_PublicKeyImportProperties::EC_PublicKeyImportProperties(const
      std::vector<uint8_t>& ec_params,\n                                                           const
      std::vector<uint8_t>& ec_point)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:46,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:47,1
    - Dst: decode_public_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:50,1
    - Dst: std::make_shared<EC_PublicKey_Data>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:51,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:51,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' session'
    - handle
    argTypes:
    - Session
    - ObjectHandle
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: Botan::PKCS11::PKCS11_EC_PublicKey::PKCS11_EC_PublicKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - decode_public_point
    - get_attribute_value
    - std::move
    - std::make_shared<EC_PublicKey_Data>
    linkageType: ''
    returnType: void
    signature: void PKCS11_EC_PublicKey::PKCS11_EC_PublicKey(Session& session, ObjectHandle
      handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_params
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:56,1
    - Dst: decode_public_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:57,1
    - Dst: ec_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:57,1
    - Dst: std::make_shared<EC_PublicKey_Data>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:58,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:58,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' session'
    - ' props'
    argTypes:
    - Session
    - EC_PublicKeyImportProperties
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: Botan::PKCS11::PKCS11_EC_PublicKey::PKCS11_EC_PublicKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - decode_public_point
    - ec_params
    - std::move
    - ec_point
    - std::make_shared<EC_PublicKey_Data>
    linkageType: ''
    returnType: void
    signature: void PKCS11_EC_PublicKey::PKCS11_EC_PublicKey(Session& session, const
      EC_PublicKeyImportProperties& props)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:64,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:65,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' ec_params'
    - ' value'
    argTypes:
    - std::vector<uint8_t>
    - BigInt
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: Botan::PKCS11::EC_PrivateKeyImportProperties::EC_PrivateKeyImportProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - add_binary
    - serialize
    linkageType: ''
    returnType: void
    signature: "void EC_PrivateKeyImportProperties::EC_PrivateKeyImportProperties(const
      std::vector<uint8_t>& ec_params,\n                                                             const
      BigInt& value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - handle
    argTypes:
    - Session
    - ObjectHandle
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: Botan::PKCS11::PKCS11_EC_PrivateKey::PKCS11_EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - get_attribute_value
    linkageType: ''
    returnType: void
    signature: void PKCS11_EC_PrivateKey::PKCS11_EC_PrivateKey(Session& session, ObjectHandle
      handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_Group
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:72,1
    - Dst: ec_params
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - ' props'
    argTypes:
    - Session
    - EC_PrivateKeyImportProperties
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: Botan::PKCS11::PKCS11_EC_PrivateKey::PKCS11_EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - EC_Group
    - ec_params
    linkageType: ''
    returnType: void
    signature: void PKCS11_EC_PrivateKey::PKCS11_EC_PrivateKey(Session& session, const
      EC_PrivateKeyImportProperties& props)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_PublicKeyGenerationProperties::set_verify
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:79,1
    - Dst: EC_PublicKeyGenerationProperties::set_private
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:80,1
    - Dst: EC_PublicKeyGenerationProperties::set_token
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:81,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:86,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:86,1
    - Dst: EC_PublicKeyGenerationProperties::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:88,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:89,1
    - Dst: EC_PublicKeyGenerationProperties::count
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:89,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:90,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:91,1
    - Dst: count
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:91,1
    - Dst: Botan::PKCS11::PKCS11_EC_PrivateKey::reset_handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:95,1
    - Dst: Object::get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:98,1
    - Dst: decode_public_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' session'
    - ' ec_params'
    - ' props'
    argTypes:
    - Session
    - std::vector<uint8_t>
    - EC_PrivateKeyGenerationProperties
    constantsTouched: []
    func_position:
      end: 100
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 100
    functionName: Botan::PKCS11::PKCS11_EC_PrivateKey::PKCS11_EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - handle
    - EC_PublicKeyGenerationProperties::set_verify
    - decode_public_point
    - EC_PublicKeyGenerationProperties::set_private
    - EC_PublicKeyGenerationProperties::set_token
    - EC_PublicKeyGenerationProperties::data
    - data
    - module
    - Object::get_attribute_value
    - Botan::PKCS11::PKCS11_EC_PrivateKey::reset_handle
    - EC_PublicKeyGenerationProperties::count
    - static_cast<Ulong>
    - count
    linkageType: ''
    returnType: void
    signature: "void PKCS11_EC_PrivateKey::PKCS11_EC_PrivateKey(Session& session,\n
      \                                          const std::vector<uint8_t>& ec_params,\n
      \                                          const EC_PrivateKeyGenerationProperties&
      props)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_order_bits
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: Botan::PKCS11::PKCS11_EC_PrivateKey::key_length
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - get_order_bits
    linkageType: ''
    returnType: size_t
    signature: size_t PKCS11_EC_PrivateKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_ec_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: Botan::PKCS11::PKCS11_EC_PrivateKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - public_ec_point
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PKCS11_EC_PrivateKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::PKCS11_EC_PrivateKey::raw_public_key_bits
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: Botan::PKCS11::PKCS11_EC_PrivateKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::PKCS11_EC_PrivateKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PKCS11_EC_PrivateKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecp_work_factor
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:115,1
    - Dst: Botan::PKCS11::PKCS11_EC_PrivateKey::key_length
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: Botan::PKCS11::PKCS11_EC_PrivateKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - ecp_work_factor
    - Botan::PKCS11::PKCS11_EC_PrivateKey::key_length
    linkageType: ''
    returnType: size_t
    signature: size_t PKCS11_EC_PrivateKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Botan::PKCS11::PKCS11_EC_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PKCS11_EC_PrivateKey::check_key(RandomNumberGenerator& /*rng*/,
      bool /*strong*/) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:123,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:123,1
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: Botan::PKCS11::PKCS11_EC_PrivateKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.cpp
    functionUses: 0
    functionsReached:
    - domain
    - AlgorithmIdentifier
    - object_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier PKCS11_EC_PrivateKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_PublicKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:21,1
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:21,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Botan::PKCS11::PKCS11_ECDSA_PublicKey::export_key
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - ECDSA_PublicKey
    - _public_ec_point
    linkageType: ''
    returnType: ECDSA_PublicKey
    signature: ECDSA_PublicKey PKCS11_ECDSA_PublicKey::export_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KeyPair::signature_consistency_check
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: Botan::PKCS11::PKCS11_ECDSA_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::KeyPair::signature_consistency_check
    linkageType: ''
    returnType: bool
    signature: bool PKCS11_ECDSA_PrivateKey::check_key(RandomNumberGenerator& rng,
      bool strong) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:34,1
    - Dst: ECDSA_PrivateKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:37,1
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:37,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: Botan::PKCS11::PKCS11_ECDSA_PrivateKey::export_key
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_bytes
    - get_attribute_value
    - ECDSA_PrivateKey
    - domain
    linkageType: ''
    returnType: ECDSA_PrivateKey
    signature: ECDSA_PrivateKey PKCS11_ECDSA_PrivateKey::export_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::PKCS11_ECDSA_PrivateKey::export_key
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::PKCS11::PKCS11_ECDSA_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::PKCS11_ECDSA_PrivateKey::export_key
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> PKCS11_ECDSA_PrivateKey::private_key_bits()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECDSA_PublicKey>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:45,1
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:45,1
    - Dst: public_ec_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::PKCS11::PKCS11_ECDSA_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ECDSA_PublicKey>
    - domain
    - public_ec_point
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> PKCS11_ECDSA_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:55,1
    - Dst: Botan::PKCS11::MechanismWrapper::create_ecdsa_mechanism
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - hash
    argTypes:
    - PKCS11_ECDSA_PrivateKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: Botan::PKCS11::PKCS11_ECDSA_Signature_Operation::PKCS11_ECDSA_Signature_Operation
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - domain
    - Botan::PKCS11::MechanismWrapper::create_ecdsa_mechanism
    linkageType: ''
    returnType: void
    signature: void PKCS11_ECDSA_Signature_Operation(const PKCS11_ECDSA_PrivateKey&
      key, std::string_view hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:62,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:62,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:62,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:62,1
    - Dst: assign
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:64,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:64,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:64,1
    - Dst: empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:68,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:70,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:70,1
    - Dst: clear
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:71,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:74,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:74,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:74,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:74,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: Botan::PKCS11::PKCS11_ECDSA_Signature_Operation::update
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - handle
    - std::span<const uint8_t>::end
    - assign
    - session
    - data
    - module
    - clear
    - empty
    - std::span<const uint8_t>::size
    - static_cast<Ulong>
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:79,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:81,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:81,1
    - Dst: clear
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:82,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:85,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: Botan::PKCS11::PKCS11_ECDSA_Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - clear
    - empty
    - session
    - module
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator& /*rng*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan::PKCS11::PKCS11_ECDSA_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan::PKCS11::PKCS11_ECDSA_Signature_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::PKCS11_ECDSA_Signature_Operation::hash_function
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:107,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:108,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: Botan::PKCS11::PKCS11_ECDSA_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - AlgorithmIdentifier
    - Botan::PKCS11::PKCS11_ECDSA_Signature_Operation::hash_function
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier PKCS11_ECDSA_Signature_Operation::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::MechanismWrapper::create_ecdsa_mechanism
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - hash
    argTypes:
    - PKCS11_ECDSA_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: Botan::PKCS11::PKCS11_ECDSA_Verification_Operation::PKCS11_ECDSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::MechanismWrapper::create_ecdsa_mechanism
    linkageType: ''
    returnType: void
    signature: void PKCS11_ECDSA_Verification_Operation(const PKCS11_ECDSA_PublicKey&
      key, std::string_view hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:123,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:123,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:123,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:123,1
    - Dst: assign
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:125,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:125,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:125,1
    - Dst: empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:129,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:131,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:131,1
    - Dst: clear
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:132,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:135,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:135,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:135,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:135,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 136
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 136
    functionName: Botan::PKCS11::PKCS11_ECDSA_Verification_Operation::update
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - handle
    - std::span<const uint8_t>::end
    - assign
    - session
    - data
    - module
    - clear
    - empty
    - std::span<const uint8_t>::size
    - static_cast<Ulong>
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:140,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:142,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:142,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:143,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:144,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:144,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:145,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:146,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:146,1
    - Dst: clear
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:148,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:151,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:152,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:152,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:152,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:152,1
    - Dst: PKCS11_ReturnError
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 159
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 159
    functionName: Botan::PKCS11::PKCS11_ECDSA_Verification_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - session
    - data
    - PKCS11_ReturnError
    - module
    - size
    - clear
    - empty
    - std::span<const uint8_t>::size
    - static_cast<Ulong>
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: bool
    signature: bool is_valid_signature(std::span<const uint8_t> sig) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: Botan::PKCS11::PKCS11_ECDSA_Verification_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKCS11_ECDSA_Verification_Operation>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: Botan::PKCS11::PKCS11_ECDSA_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PKCS11_ECDSA_Verification_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> PKCS11_ECDSA_PublicKey::create_verification_op(\n
      \  std::string_view params, std::string_view /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKCS11_ECDSA_Signature_Operation>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: Botan::PKCS11::PKCS11_ECDSA_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PKCS11_ECDSA_Signature_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> PKCS11_ECDSA_PrivateKey::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                                std::string_view
      params,\n                                                                                std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CK_MECHANISM_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:190,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:192,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:192,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:194,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:195,1
    - Dst: Botan::PKCS11::count
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:195,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:196,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:197,1
    - Dst: Botan::PKCS11::count
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:197,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:201,1
    - Dst: Botan::PKCS11::PKCS11_ECDSA_PublicKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:201,1
    - Dst: PKCS11_ECDSA_PrivateKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' session'
    - ' pub_props'
    - ' priv_props'
    argTypes:
    - Session
    - EC_PublicKeyGenerationProperties
    - EC_PrivateKeyGenerationProperties
    constantsTouched: []
    func_position:
      end: 203
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 203
    functionName: Botan::PKCS11::generate_ecdsa_keypair
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.cpp
    functionUses: 1
    functionsReached:
    - handle
    - Botan::PKCS11::data
    - module
    - Botan::PKCS11::count
    - PKCS11_ECDSA_PrivateKey
    - Botan::PKCS11::PKCS11_ECDSA_PublicKey
    - static_cast<CK_MECHANISM_TYPE>
    - std::make_pair
    - static_cast<Ulong>
    linkageType: ''
    returnType: PKCS11_ECDSA_KeyPair
    signature: "PKCS11_ECDSA_KeyPair generate_ecdsa_keypair(Session& session,\n                                            const
      EC_PublicKeyGenerationProperties& pub_props,\n                                            const
      EC_PrivateKeyGenerationProperties& priv_props)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECDH_PublicKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:21,1
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:21,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Botan::PKCS11::PKCS11_ECDH_PublicKey::export_key
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp
    functionUses: 0
    functionsReached:
    - domain
    - ECDH_PublicKey
    - _public_ec_point
    linkageType: ''
    returnType: ECDH_PublicKey
    signature: ECDH_PublicKey PKCS11_ECDH_PublicKey::export_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:25,1
    - Dst: ECDH_PrivateKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:28,1
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:28,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: Botan::PKCS11::PKCS11_ECDH_PrivateKey::export_key
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_bytes
    - get_attribute_value
    - domain
    - ECDH_PrivateKey
    linkageType: ''
    returnType: ECDH_PrivateKey
    signature: ECDH_PrivateKey PKCS11_ECDH_PrivateKey::export_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ECDH_PublicKey>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:32,1
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:32,1
    - Dst: public_ec_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Botan::PKCS11::PKCS11_ECDH_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp
    functionUses: 0
    functionsReached:
    - public_ec_point
    - domain
    - std::make_unique<ECDH_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> PKCS11_ECDH_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::PKCS11_ECDH_PrivateKey::export_key
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: Botan::PKCS11::PKCS11_ECDH_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::PKCS11_ECDH_PrivateKey::export_key
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> PKCS11_ECDH_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::MechanismWrapper::create_ecdh_mechanism
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - params
    argTypes:
    - PKCS11_EC_PrivateKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: Botan::PKCS11::PKCS11_ECDH_KA_Operation::PKCS11_ECDH_KA_Operation
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::MechanismWrapper::create_ecdh_mechanism
    linkageType: ''
    returnType: void
    signature: void PKCS11_ECDH_KA_Operation(const PKCS11_EC_PrivateKey& key, std::string_view
      params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Botan::PKCS11::PKCS11_ECDH_KA_Operation::agreed_value_size
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp
    functionUses: 0
    functionsReached:
    - domain
    linkageType: ''
    returnType: size_t
    signature: size_t agreed_value_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_encoding
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:53,1
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:54,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:54,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:54,1
    - Dst: set_ecdh_other_key
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:55,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:55,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:55,1
    - Dst: set_ecdh_other_key
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:57,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:57,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:57,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:60,1
    - Dst: set_ecdh_salt
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:61,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:61,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:61,1
    - Dst: AttributeContainer::add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:66,1
    - Dst: AttributeContainer::add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:67,1
    - Dst: AttributeContainer::add_numeric
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:68,1
    - Dst: static_cast<CK_OBJECT_CLASS>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:68,1
    - Dst: AttributeContainer::add_numeric
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:69,1
    - Dst: static_cast<CK_KEY_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:69,1
    - Dst: AttributeContainer::add_numeric
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:70,1
    - Dst: static_cast<CK_ULONG>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:70,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:71,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:71,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:72,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:73,1
    - Dst: AttributeContainer::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:74,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:75,1
    - Dst: AttributeContainer::count
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:75,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:78,1
    - Dst: Object::get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:79,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:80,1
    - Dst: PKCS11_Error
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:81,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - key_len
    - other_key
    - salt
    argTypes:
    - size_t
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 85
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 85
    functionName: Botan::PKCS11::PKCS11_ECDH_KA_Operation::agree
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - static_cast<CK_OBJECT_CLASS>
    - static_cast<Ulong>
    - Object::get_attribute_value
    - secure_vector::resize
    - secure_vector::size
    - std::span<const uint8_t>::empty
    - session
    - data
    - module
    - static_cast<CK_ULONG>
    - std::span<const uint8_t>::size
    - set_ecdh_other_key
    - std::span<const uint8_t>::data
    - std::vector::data
    - handle
    - point_encoding
    - DER_Encoder
    - static_cast<CK_KEY_TYPE>
    - PKCS11_Error
    - AttributeContainer::add_bool
    - AttributeContainer::count
    - AttributeContainer::add_numeric
    - AttributeContainer::data
    - set_ecdh_salt
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: "secure_vector<uint8_t> agree(size_t key_len,\n                                   std::span<const
      uint8_t> other_key,\n                                   std::span<const uint8_t>
      salt) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKCS11_ECDH_KA_Operation>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: Botan::PKCS11::PKCS11_ECDH_PrivateKey::create_key_agreement_op
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PKCS11_ECDH_KA_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Key_Agreement>
    signature: "std::unique_ptr<PK_Ops::Key_Agreement> PKCS11_ECDH_PrivateKey::create_key_agreement_op(\n
      \  RandomNumberGenerator& /*rng*/, std::string_view params, std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CK_MECHANISM_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:105,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:107,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:107,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:109,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:110,1
    - Dst: Botan::PKCS11::count
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:110,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:111,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:112,1
    - Dst: Botan::PKCS11::count
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:112,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:116,1
    - Dst: Botan::PKCS11::PKCS11_ECDH_PublicKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:116,1
    - Dst: PKCS11_ECDH_PrivateKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' session'
    - ' pub_props'
    - ' priv_props'
    argTypes:
    - Session
    - EC_PublicKeyGenerationProperties
    - EC_PrivateKeyGenerationProperties
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: Botan::PKCS11::generate_ecdh_keypair
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.cpp
    functionUses: 1
    functionsReached:
    - handle
    - PKCS11_ECDH_PrivateKey
    - Botan::PKCS11::data
    - module
    - Botan::PKCS11::count
    - static_cast<CK_MECHANISM_TYPE>
    - std::make_pair
    - static_cast<Ulong>
    - Botan::PKCS11::PKCS11_ECDH_PublicKey
    linkageType: ''
    returnType: PKCS11_ECDH_KeyPair
    signature: "PKCS11_ECDH_KeyPair generate_ecdh_keypair(Session& session,\n                                          const
      EC_PublicKeyGenerationProperties& pub_props,\n                                          const
      EC_PrivateKeyGenerationProperties& priv_props)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:29,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:29,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:30,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' modulus'
    - ' pub_exponent'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: Botan::PKCS11::RSA_PublicKeyImportProperties::RSA_PublicKeyImportProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - add_binary
    - serialize
    linkageType: ''
    returnType: void
    signature: void RSA_PublicKeyImportProperties::RSA_PublicKeyImportProperties(const
      BigInt& modulus, const BigInt& pub_exponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_numeric
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - Ulong
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::PKCS11::RSA_PublicKeyGenerationProperties::RSA_PublicKeyGenerationProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - add_numeric
    linkageType: ''
    returnType: void
    signature: void RSA_PublicKeyGenerationProperties::RSA_PublicKeyGenerationProperties(Ulong
      bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:39,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:39,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:40,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - handle
    argTypes:
    - Session
    - ObjectHandle
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: Botan::PKCS11::PKCS11_RSA_PublicKey::PKCS11_RSA_PublicKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_bytes
    - get_attribute_value
    linkageType: ''
    returnType: void
    signature: void PKCS11_RSA_PublicKey::PKCS11_RSA_PublicKey(Session& session, ObjectHandle
      handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulus
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:43,1
    - Dst: pub_exponent
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - ' pubkey_props'
    argTypes:
    - Session
    - RSA_PublicKeyImportProperties
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: Botan::PKCS11::PKCS11_RSA_PublicKey::PKCS11_RSA_PublicKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - pub_exponent
    - modulus
    linkageType: ''
    returnType: void
    signature: void PKCS11_RSA_PublicKey::PKCS11_RSA_PublicKey(Session& session, const
      RSA_PublicKeyImportProperties& pubkey_props)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:47,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:47,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:48,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' modulus'
    - ' priv_exponent'
    argTypes:
    - BigInt
    - BigInt
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: Botan::PKCS11::RSA_PrivateKeyImportProperties::RSA_PrivateKeyImportProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - add_binary
    - serialize
    linkageType: ''
    returnType: void
    signature: void RSA_PrivateKeyImportProperties::RSA_PrivateKeyImportProperties(const
      BigInt& modulus, const BigInt& priv_exponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:53,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:53,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:54,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - handle
    argTypes:
    - Session
    - ObjectHandle
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: Botan::PKCS11::PKCS11_RSA_PrivateKey::PKCS11_RSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_bytes
    - get_attribute_value
    linkageType: ''
    returnType: void
    signature: void PKCS11_RSA_PrivateKey::PKCS11_RSA_PrivateKey(Session& session,
      ObjectHandle handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulus
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:58,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:58,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - ' priv_key_props'
    argTypes:
    - Session
    - RSA_PrivateKeyImportProperties
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::PKCS11::PKCS11_RSA_PrivateKey::PKCS11_RSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_bytes
    - get_attribute_value
    - modulus
    linkageType: ''
    returnType: void
    signature: void PKCS11_RSA_PrivateKey::PKCS11_RSA_PrivateKey(Session& session,
      const RSA_PrivateKeyImportProperties& priv_key_props)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RSA_PublicKeyGenerationProperties::set_encrypt
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:65,1
    - Dst: RSA_PublicKeyGenerationProperties::set_verify
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:66,1
    - Dst: RSA_PublicKeyGenerationProperties::set_token
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:67,1
    - Dst: static_cast<CK_MECHANISM_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:71,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:72,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:72,1
    - Dst: RSA_PublicKeyGenerationProperties::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:74,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:75,1
    - Dst: RSA_PublicKeyGenerationProperties::count
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:75,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:76,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:77,1
    - Dst: count
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:77,1
    - Dst: Botan::PKCS11::PKCS11_RSA_PrivateKey::reset_handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:81,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:83,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:83,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:84,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:84,1
    - Dst: Botan::RSA_PublicKey::init
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:85,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:85,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' session'
    - bits
    - ' priv_key_props'
    argTypes:
    - Session
    - uint32_t
    - RSA_PrivateKeyGenerationProperties
    constantsTouched: []
    func_position:
      end: 86
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 86
    functionName: Botan::PKCS11::PKCS11_RSA_PrivateKey::PKCS11_RSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - handle
    - RSA_PublicKeyGenerationProperties::data
    - get_attribute_value
    - data
    - Botan::PKCS11::PKCS11_RSA_PrivateKey::reset_handle
    - module
    - RSA_PublicKeyGenerationProperties::set_verify
    - RSA_PublicKeyGenerationProperties::set_encrypt
    - Botan::RSA_PublicKey::init
    - RSA_PublicKeyGenerationProperties::count
    - static_cast<CK_MECHANISM_TYPE>
    - std::move
    - Botan::BigInt::from_bytes
    - static_cast<Ulong>
    - count
    - RSA_PublicKeyGenerationProperties::set_token
    linkageType: ''
    returnType: void
    signature: "void PKCS11_RSA_PrivateKey::PKCS11_RSA_PrivateKey(Session& session,\n
      \                                            uint32_t bits,\n                                             const
      RSA_PrivateKeyGenerationProperties& priv_key_props)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:89,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:90,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:91,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:92,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:93,1
    - Dst: RSA_PrivateKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:95,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:95,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:96,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:97,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:98,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: Botan::PKCS11::PKCS11_RSA_PrivateKey::export_key
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_bytes
    - get_attribute_value
    - RSA_PrivateKey
    linkageType: ''
    returnType: RSA_PrivateKey
    signature: RSA_PrivateKey PKCS11_RSA_PrivateKey::export_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RSA_PublicKey>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:103,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:103,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:103,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:104,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: Botan::PKCS11::PKCS11_RSA_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_bytes
    - get_attribute_value
    - std::make_unique<RSA_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> PKCS11_RSA_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::PKCS11_RSA_PrivateKey::export_key
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: Botan::PKCS11::PKCS11_RSA_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::PKCS11_RSA_PrivateKey::export_key
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> PKCS11_RSA_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::MechanismWrapper::create_rsa_crypt_mechanism
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:120,1
    - Dst: Botan::Barrett_Reduction::for_public_modulus
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:121,1
    - Dst: get_n
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:121,1
    - Dst: std::make_shared<Montgomery_Params>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:122,1
    - Dst: get_n
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:122,1
    - Dst: monty_precompute
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:128,1
    - Dst: monty_execute_vartime
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:129,1
    - Dst: get_e
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:129,1
    - Dst: inverse_mod_rsa_public_modulus
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:131,1
    - Dst: get_n
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:131,1
    - Dst: get_n
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' key'
    - padding
    - ' rng'
    argTypes:
    - PKCS11_RSA_PrivateKey
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 133
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 133
    functionName: Botan::PKCS11::PKCS11_RSA_Decryption_Operation::PKCS11_RSA_Decryption_Operation
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - monty_execute_vartime
    - std::make_shared<Montgomery_Params>
    - Botan::PKCS11::MechanismWrapper::create_rsa_crypt_mechanism
    - monty_precompute
    - get_e
    - inverse_mod_rsa_public_modulus
    - get_n
    - Botan::Barrett_Reduction::for_public_modulus
    linkageType: ''
    returnType: void
    signature: "void PKCS11_RSA_Decryption_Operation(const PKCS11_RSA_PrivateKey&
      key,\n                                      std::string_view padding,\n                                      RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_n
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Botan::PKCS11::PKCS11_RSA_Decryption_Operation::plaintext_length
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - get_n
    linkageType: ''
    returnType: size_t
    signature: size_t plaintext_length(size_t /*ctext_len*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:139,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:139,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:139,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:139,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:141,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:141,1
    - Dst: blind
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:149,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:149,1
    - Dst: BigInt::serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:151,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:155,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:155,1
    - Dst: unblind
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:159,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:159,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:160,1
    - Dst: BigInt::serialize_to
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' valid_mask'
    - ctext
    argTypes:
    - uint8_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 166
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 166
    functionName: Botan::PKCS11::PKCS11_RSA_Decryption_Operation::decrypt
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - handle
    - std::span<const uint8_t>::end
    - unblind
    - session
    - data
    - BigInt::serialize
    - module
    - blind
    - Botan::BigInt::from_bytes
    - std::span<const uint8_t>::begin
    - secure_vector::resize
    - BigInt::serialize_to
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> decrypt(uint8_t& valid_mask, std::span<const
      uint8_t> ctext) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' key'
    - padding
    - ' rng'
    argTypes:
    - PKCS11_RSA_PrivateKey
    - std::string_view
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: Botan::PKCS11::PKCS11_RSA_Decryption_Operation_Software_EME::PKCS11_RSA_Decryption_Operation_Software_EME
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PKCS11_RSA_Decryption_Operation_Software_EME(const PKCS11_RSA_PrivateKey&
      key,\n                                                   std::string_view padding,\n
      \                                                  RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::PKCS11_RSA_Decryption_Operation_Software_EME::plaintext_length
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctext_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: Botan::PKCS11::PKCS11_RSA_Decryption_Operation_Software_EME::plaintext_length
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::PKCS11_RSA_Decryption_Operation_Software_EME::plaintext_length
    linkageType: ''
    returnType: size_t
    signature: size_t plaintext_length(size_t ctext_len) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: Botan::PKCS11::PKCS11_RSA_Decryption_Operation_Software_EME::raw_decrypt
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - decrypt
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> raw_decrypt(std::span<const uint8_t> input)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::MechanismWrapper::create_rsa_crypt_mechanism
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:201,1
    - Dst: get_n
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:202,1
    - Dst: padding_size
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - padding
    argTypes:
    - PKCS11_RSA_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: Botan::PKCS11::PKCS11_RSA_Encryption_Operation::PKCS11_RSA_Encryption_Operation
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - get_n
    - Botan::PKCS11::MechanismWrapper::create_rsa_crypt_mechanism
    - padding_size
    linkageType: ''
    returnType: void
    signature: void PKCS11_RSA_Encryption_Operation(const PKCS11_RSA_PublicKey& key,
      std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_n
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: Botan::PKCS11::PKCS11_RSA_Encryption_Operation::ciphertext_length
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - get_n
    linkageType: ''
    returnType: size_t
    signature: size_t ciphertext_length(size_t /*ptext_len*/) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: Botan::PKCS11::PKCS11_RSA_Encryption_Operation::max_input_bits
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t max_input_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:210,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:210,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:210,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:210,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:213,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:214,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:214,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:214,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: Botan::PKCS11::PKCS11_RSA_Encryption_Operation::encrypt
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - handle
    - std::span<const uint8_t>::end
    - session
    - data
    - module
    - std::span<const uint8_t>::begin
    - secure_vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> encrypt(std::span<const uint8_t> input, RandomNumberGenerator&
      /*rng*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::MechanismWrapper::create_rsa_sign_mechanism
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - padding
    argTypes:
    - PKCS11_RSA_PrivateKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: Botan::PKCS11::PKCS11_RSA_Signature_Operation::PKCS11_RSA_Signature_Operation
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::MechanismWrapper::create_rsa_sign_mechanism
    linkageType: ''
    returnType: void
    signature: void PKCS11_RSA_Signature_Operation(const PKCS11_RSA_PrivateKey& key,
      std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_n
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: Botan::PKCS11::PKCS11_RSA_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - get_n
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:234,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:234,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:234,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:234,1
    - Dst: assign
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:236,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:236,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:236,1
    - Dst: empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:240,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:242,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:242,1
    - Dst: clear
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:243,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:246,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:246,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:246,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:246,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 247
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 247
    functionName: Botan::PKCS11::PKCS11_RSA_Signature_Operation::update
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - handle
    - std::span<const uint8_t>::end
    - assign
    - session
    - data
    - module
    - clear
    - empty
    - std::span<const uint8_t>::size
    - static_cast<Ulong>
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:251,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:253,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:253,1
    - Dst: clear
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:254,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:257,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: Botan::PKCS11::PKCS11_RSA_Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - clear
    - empty
    - session
    - module
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator& /*rng*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Internal_Error
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - type
    argTypes:
    - MechanismType
    constantsTouched: []
    func_position:
      end: 308
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 308
    functionName: Botan::PKCS11::hash_function_name_from_pkcs11_rsa_mechanism_type
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - Internal_Error
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function_name_from_pkcs11_rsa_mechanism_type(MechanismType
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_function_name_from_pkcs11_rsa_mechanism_type
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:313,1
    - Dst: mechanism_type
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: Botan::PKCS11::PKCS11_RSA_Signature_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - hash_function_name_from_pkcs11_rsa_mechanism_type
    - mechanism_type
    linkageType: ''
    returnType: std::string
    signature: std::string PKCS11_RSA_Signature_Operation::hash_function() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::PKCS11_RSA_Signature_Operation::hash_function
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:317,1
    - Dst: mechanism_type
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:319,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:325,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:326,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:334,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 339
    functionName: Botan::PKCS11::PKCS11_RSA_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - mechanism_type
    - Botan::OID::from_string
    - Not_Implemented
    - Botan::PKCS11::PKCS11_RSA_Signature_Operation::hash_function
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier PKCS11_RSA_Signature_Operation::algorithm_identifier()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::MechanismWrapper::create_rsa_sign_mechanism
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - padding
    argTypes:
    - PKCS11_RSA_PublicKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 344
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 344
    functionName: Botan::PKCS11::PKCS11_RSA_Verification_Operation::PKCS11_RSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::MechanismWrapper::create_rsa_sign_mechanism
    linkageType: ''
    returnType: void
    signature: void PKCS11_RSA_Verification_Operation(const PKCS11_RSA_PublicKey&
      key, std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:349,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:349,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:349,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:349,1
    - Dst: assign
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:351,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:351,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:351,1
    - Dst: empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:355,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:357,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:357,1
    - Dst: clear
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:358,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:361,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:361,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:361,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:361,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 362
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 362
    functionName: Botan::PKCS11::PKCS11_RSA_Verification_Operation::update
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - handle
    - std::span<const uint8_t>::end
    - assign
    - session
    - data
    - module
    - clear
    - empty
    - std::span<const uint8_t>::size
    - static_cast<Ulong>
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:366,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:368,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:368,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:369,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:370,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:370,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:371,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:372,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:372,1
    - Dst: clear
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:374,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:377,1
    - Dst: session
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:378,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:378,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:378,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:378,1
    - Dst: PKCS11_ReturnError
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - sig
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 385
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 385
    functionName: Botan::PKCS11::PKCS11_RSA_Verification_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - session
    - data
    - PKCS11_ReturnError
    - module
    - size
    - clear
    - empty
    - std::span<const uint8_t>::size
    - static_cast<Ulong>
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: bool
    signature: bool is_valid_signature(std::span<const uint8_t> sig) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_function_name_from_pkcs11_rsa_mechanism_type
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:397,1
    - Dst: mechanism_type
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 398
    functionName: Botan::PKCS11::PKCS11_RSA_Verification_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - hash_function_name_from_pkcs11_rsa_mechanism_type
    - mechanism_type
    linkageType: ''
    returnType: std::string
    signature: std::string PKCS11_RSA_Verification_Operation::hash_function() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKCS11_RSA_Encryption_Operation>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: Botan::PKCS11::PKCS11_RSA_PublicKey::create_encryption_op
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PKCS11_RSA_Encryption_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Encryption>
    signature: "std::unique_ptr<PK_Ops::Encryption> PKCS11_RSA_PublicKey::create_encryption_op(RandomNumberGenerator&
      /*rng*/,\n                                                                               std::string_view
      params,\n                                                                               std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKCS11_RSA_Verification_Operation>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: Botan::PKCS11::PKCS11_RSA_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PKCS11_RSA_Verification_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> PKCS11_RSA_PublicKey::create_verification_op(\n
      \  std::string_view params, std::string_view /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKCS11_RSA_Decryption_Operation_Software_EME>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:417,1
    - Dst: std::make_unique<PKCS11_RSA_Decryption_Operation>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' rng'
    - params
    argTypes:
    - RandomNumberGenerator
    - std::string_view
    constantsTouched: []
    func_position:
      end: 421
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 421
    functionName: Botan::PKCS11::PKCS11_RSA_PrivateKey::create_decryption_op
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PKCS11_RSA_Decryption_Operation>
    - std::make_unique<PKCS11_RSA_Decryption_Operation_Software_EME>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Decryption>
    signature: "std::unique_ptr<PK_Ops::Decryption> PKCS11_RSA_PrivateKey::create_decryption_op(RandomNumberGenerator&
      rng,\n                                                                                std::string_view
      params,\n                                                                                std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PKCS11_RSA_Signature_Operation>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: Botan::PKCS11::PKCS11_RSA_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PKCS11_RSA_Signature_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> PKCS11_RSA_PrivateKey::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                              std::string_view
      params,\n                                                                              std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CK_MECHANISM_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:435,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:437,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:437,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:439,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:440,1
    - Dst: Botan::PKCS11::count
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:440,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:441,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:442,1
    - Dst: Botan::PKCS11::count
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:442,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:446,1
    - Dst: PKCS11_RSA_PublicKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:446,1
    - Dst: PKCS11_RSA_PrivateKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' session'
    - ' pub_props'
    - ' priv_props'
    argTypes:
    - Session
    - RSA_PublicKeyGenerationProperties
    - RSA_PrivateKeyGenerationProperties
    constantsTouched: []
    func_position:
      end: 448
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 448
    functionName: Botan::PKCS11::generate_rsa_keypair
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.cpp
    functionUses: 1
    functionsReached:
    - handle
    - Botan::PKCS11::data
    - module
    - Botan::PKCS11::count
    - static_cast<CK_MECHANISM_TYPE>
    - std::make_pair
    - static_cast<Ulong>
    - PKCS11_RSA_PrivateKey
    - PKCS11_RSA_PublicKey
    linkageType: ''
    returnType: PKCS11_RSA_KeyPair
    signature: "PKCS11_RSA_KeyPair generate_rsa_keypair(Session& session,\n                                        const
      RSA_PublicKeyGenerationProperties& pub_props,\n                                        const
      RSA_PrivateKeyGenerationProperties& priv_props)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - ' props'
    argTypes:
    - Session
    - EC_PublicKeyImportProperties
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: Botan::PKCS11::PKCS11_ECDSA_PublicKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKCS11_ECDSA_PublicKey(Session& session, const EC_PublicKeyImportProperties&
      props)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::PKCS11::algo_name
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::PKCS11::generate_another
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> generate_another(RandomNumberGenerator&)
      const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PKCS11_ECDSA_PrivateKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.h:75,1
    - Dst: PKCS11_EC_PrivateKey
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.h:75,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.h:103,1
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.h:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 124
    functionName: PKCS11_EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdsa.h
    functionUses: 1
    functionsReached:
    - PKCS11_ECDSA_PrivateKey
    - PKCS11_EC_PrivateKey
    - domain
    - Not_Implemented
    linkageType: ''
    returnType: PKCS11_ECDSA_PrivateKey
    signature: PKCS11_ECDSA_PrivateKey PKCS11_EC_PrivateKey
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - MechanismType
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::PKCS11::MechanismData::MechanismData
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MechanismData(MechanismType type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MechanismData
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::PKCS11::MechanismData::MechanismData
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MechanismData(const MechanismData& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MechanismData
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::PKCS11::MechanismData::MechanismData
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MechanismData(MechanismData&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MechanismData
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(const MechanismData& other)'
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MechanismData
    signature: MechanismData & operator=(const MechanismData& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MechanismData
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(MechanismData&& other)'
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MechanismData
    signature: MechanismData & operator=(MechanismData&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~MechanismData()
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MechanismData()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::PKCS11::MechanismData::type
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MechanismType
    signature: MechanismType type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MechanismType>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:52,1
    - Dst: find
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:53,1
    - Dst: type
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:53,1
    - Dst: end
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:54,1
    - Dst: std::get<1>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:55,1
    - Dst: std::get<2>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:56,1
    - Dst: std::get<0>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - typ
    argTypes:
    - MechanismType
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: Botan::PKCS11::RSA_SignMechanism::RSA_SignMechanism
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached:
    - type
    - std::get<1>
    - end
    - find
    - std::get<0>
    - std::get<2>
    - static_cast<MechanismType>
    linkageType: ''
    returnType: void
    signature: void RSA_SignMechanism(MechanismType typ)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::PKCS11::RSA_SignMechanism::hash
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MechanismType
    signature: MechanismType hash() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Botan::PKCS11::RSA_SignMechanism::mgf
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MGF
    signature: MGF mgf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan::PKCS11::RSA_SignMechanism::salt_size
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t salt_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - typ
    - padding_size
    - hash
    - mgf
    argTypes:
    - MechanismType
    - size_t
    - MechanismType
    - MGF
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: Botan::PKCS11::RSA_CryptMechanism
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_CryptMechanism(MechanismType typ, size_t padding_size, MechanismType
      hash, MGF mgf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MechanismType>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - typ
    - padding_size
    argTypes:
    - MechanismType
    - size_t
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: Botan::PKCS11::RSA_CryptMechanism
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached:
    - static_cast<MechanismType>
    linkageType: ''
    returnType: void
    signature: void RSA_CryptMechanism(MechanismType typ, size_t padding_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: Botan::PKCS11::hash
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MechanismType
    signature: MechanismType hash() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: Botan::PKCS11::mgf
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MGF
    signature: MGF mgf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: Botan::PKCS11::padding_size
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t padding_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CK_MECHANISM_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mechanism_type
    argTypes:
    - MechanismType
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: Botan::PKCS11::MechanismWrapper::MechanismWrapper
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CK_MECHANISM_TYPE>
    linkageType: ''
    returnType: void
    signature: void MechanismWrapper::MechanismWrapper(MechanismType mechanism_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:218,1
    - Dst: end
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:219,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:221,1
    - Dst: RSA_CryptMechanism::type
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:225,1
    - Dst: RSA_CryptMechanism::type
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:226,1
    - Dst: std::make_shared<MechanismParameters>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:227,1
    - Dst: static_cast<CK_MECHANISM_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:228,1
    - Dst: RSA_CryptMechanism::hash
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:228,1
    - Dst: static_cast<CK_RSA_PKCS_MGF_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:229,1
    - Dst: RSA_CryptMechanism::mgf
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:229,1
    - Dst: MechanismWrapper::m_parameters::get
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:233,1
    - Dst: RSA_CryptMechanism::padding_size
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - padding_view
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 238
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 238
    functionName: Botan::PKCS11::MechanismWrapper::create_rsa_crypt_mechanism
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 2
    functionsReached:
    - Lookup_Error
    - RSA_CryptMechanism::mgf
    - MechanismWrapper::m_parameters::get
    - RSA_CryptMechanism::padding_size
    - std::make_shared<MechanismParameters>
    - end
    - RSA_CryptMechanism::type
    - static_cast<CK_MECHANISM_TYPE>
    - find
    - RSA_CryptMechanism::hash
    - static_cast<CK_RSA_PKCS_MGF_TYPE>
    linkageType: ''
    returnType: MechanismWrapper
    signature: MechanismWrapper MechanismWrapper::create_rsa_crypt_mechanism(std::string_view
      padding_view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:242,1
    - Dst: end
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:243,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:245,1
    - Dst: RSA_SignMechanism::type
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:249,1
    - Dst: find
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:250,1
    - Dst: RSA_SignMechanism::type
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:250,1
    - Dst: end
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:250,1
    - Dst: std::make_shared<MechanismParameters>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:251,1
    - Dst: static_cast<CK_MECHANISM_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:252,1
    - Dst: RSA_SignMechanism::hash
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:252,1
    - Dst: static_cast<CK_RSA_PKCS_MGF_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:253,1
    - Dst: RSA_SignMechanism::mgf
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:253,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:254,1
    - Dst: RSA_SignMechanism::salt_size
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:254,1
    - Dst: MechanismWrapper::m_parameters::get
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - padding_view
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 259
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 259
    functionName: Botan::PKCS11::MechanismWrapper::create_rsa_sign_mechanism
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 2
    functionsReached:
    - RSA_SignMechanism::type
    - Lookup_Error
    - MechanismWrapper::m_parameters::get
    - std::make_shared<MechanismParameters>
    - RSA_SignMechanism::salt_size
    - RSA_SignMechanism::hash
    - end
    - static_cast<CK_MECHANISM_TYPE>
    - find
    - static_cast<Ulong>
    - RSA_SignMechanism::mgf
    - static_cast<CK_RSA_PKCS_MGF_TYPE>
    linkageType: ''
    returnType: MechanismWrapper
    signature: MechanismWrapper MechanismWrapper::create_rsa_sign_mechanism(std::string_view
      padding_view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:263,1
    - Dst: end
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:264,1
    - Dst: Botan::PKCS11::MechanismWrapper::MechanismWrapper
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:265,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:270,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:270,1
    - Dst: find
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:271,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:271,1
    - Dst: end
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:272,1
    - Dst: Botan::PKCS11::MechanismWrapper::MechanismWrapper
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:273,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:277,1
    - Dst: fmt
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - hash_spec_view
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 278
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 278
    functionName: Botan::PKCS11::MechanismWrapper::create_ecdsa_mechanism
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 2
    functionsReached:
    - SCAN_Name::algo_name
    - Lookup_Error
    - SCAN_Name::arg_count
    - fmt
    - end
    - find
    - Botan::PKCS11::MechanismWrapper::MechanismWrapper
    - SCAN_Name::arg
    linkageType: ''
    returnType: MechanismWrapper
    signature: MechanismWrapper MechanismWrapper::create_ecdsa_mechanism(std::string_view
      hash_spec_view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: split_on
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:281,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:283,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:283,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:284,1
    - Dst: fmt
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:284,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:296,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:297,1
    - Dst: find
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:301,1
    - Dst: end
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:302,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:303,1
    - Dst: std::make_shared<MechanismParameters>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:306,1
    - Dst: static_cast<CK_EC_KDF_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:307,1
    - Dst: MechanismWrapper::m_parameters::get
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp:308,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - params
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 311
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 311
    functionName: Botan::PKCS11::MechanismWrapper::create_ecdh_mechanism
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.cpp
    functionUses: 1
    functionsReached:
    - Lookup_Error
    - std::vector::size
    - std::vector::empty
    - MechanismWrapper::m_parameters::get
    - fmt
    - split_on
    - SCAN_Name::arg_count
    - std::make_shared<MechanismParameters>
    - static_cast<CK_EC_KDF_TYPE>
    - end
    - find
    - Invalid_Argument
    - SCAN_Name::arg
    linkageType: ''
    returnType: MechanismWrapper
    signature: MechanismWrapper MechanismWrapper::create_ecdh_mechanism(std::string_view
      params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ReturnValue>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:29,1
    - Dst: PKCS11_ReturnError
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:31,1
    - Dst: static_cast<ReturnValue>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:31,1
    - Dst: static_cast<ReturnValue>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:35,1
    - Dst: static_cast<ReturnValue>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - function_result
    - return_value
    argTypes:
    - CK_RV
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: Botan::PKCS11::LowLevel::handle_return_value
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ReturnValue>
    - PKCS11_ReturnError
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::handle_return_value(const CK_RV function_result, ReturnValue*
      return_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:42,1
    - Dst: Botan::PKCS11::set_pin
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' slot'
    - label
    - ' so_pin'
    - ' pin'
    argTypes:
    - Slot
    - std::string_view
    - secure_string
    - secure_string
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: Botan::PKCS11::initialize_token
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - initialize
    - Botan::PKCS11::set_pin
    linkageType: ''
    returnType: void
    signature: void initialize_token(Slot& slot, std::string_view label, const secure_string&
      so_pin, const secure_string& pin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session::login
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:48,1
    - Dst: Session::set_pin
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' slot'
    - ' old_pin'
    - ' new_pin'
    argTypes:
    - Slot
    - secure_string
    - secure_string
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: Botan::PKCS11::change_pin
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Session::login
    - Session::set_pin
    linkageType: ''
    returnType: void
    signature: void change_pin(Slot& slot, const secure_string& old_pin, const secure_string&
      new_pin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session::login
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:54,1
    - Dst: Session::set_pin
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' slot'
    - ' old_so_pin'
    - ' new_so_pin'
    argTypes:
    - Slot
    - secure_string
    - secure_string
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: Botan::PKCS11::change_so_pin
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Session::login
    - Session::set_pin
    linkageType: ''
    returnType: void
    signature: void change_so_pin(Slot& slot, const secure_string& old_so_pin, const
      secure_string& new_so_pin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session::login
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:60,1
    - Dst: Session::init_pin
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' slot'
    - ' so_pin'
    - ' pin'
    argTypes:
    - Slot
    - secure_string
    - secure_string
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: Botan::PKCS11::set_pin
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 2
    functionsReached:
    - Session::init_pin
    - Session::login
    linkageType: ''
    returnType: void
    signature: void set_pin(Slot& slot, const secure_string& so_pin, const secure_string&
      pin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - FunctionListPtr
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: Botan::PKCS11::LowLevel::LowLevel
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void LowLevel::LowLevel(FunctionListPtr ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:73,1
    - Dst: Botan::PKCS11::LowLevel::C_Initialize
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - init_args
    - return_value
    argTypes:
    - VoidPtr
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Botan::PKCS11::LowLevel::C_Initialize
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_Initialize
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_Initialize(VoidPtr init_args, ReturnValue* return_value)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:77,1
    - Dst: Botan::PKCS11::LowLevel::C_Finalize
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reserved
    - return_value
    argTypes:
    - VoidPtr
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Botan::PKCS11::LowLevel::C_Finalize
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_Finalize
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_Finalize(VoidPtr reserved, ReturnValue* return_value)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:81,1
    - Dst: Botan::PKCS11::LowLevel::C_GetInfo
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info_ptr
    - return_value
    argTypes:
    - Info*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan::PKCS11::LowLevel::C_GetInfo
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_GetInfo
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_GetInfo(Info* info_ptr, ReturnValue* return_value)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resolve
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:89,1
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:91,1
    - Dst: get_function_list_ptr
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pkcs11_module'
    - function_list_ptr_ptr
    - return_value
    argTypes:
    - Dynamically_Loaded_Library
    - FunctionListPtr*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: Botan::PKCS11::LowLevel::C_GetFunctionList
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 3
    functionsReached:
    - get_function_list_ptr
    - resolve
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GetFunctionList(Dynamically_Loaded_Library& pkcs11_module,\n
      \                                FunctionListPtr* function_list_ptr_ptr,\n                                 ReturnValue*
      return_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:100,1
    - Dst: Botan::PKCS11::LowLevel::C_GetSlotList
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - token_present
    - slot_list_ptr
    - count_ptr
    - return_value
    argTypes:
    - Bbool
    - SlotId*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: Botan::PKCS11::LowLevel::C_GetSlotList
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_GetSlotList
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GetSlotList(Bbool token_present,\n                             SlotId*
      slot_list_ptr,\n                             Ulong* count_ptr,\n                             ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:104,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:116,1
    - Dst: Botan::PKCS11::LowLevel::C_GetSlotList
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:117,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - token_present
    - ' slot_ids'
    - return_value
    argTypes:
    - bool
    - std::vector<SlotId>
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: Botan::PKCS11::LowLevel::C_GetSlotList
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 2
    functionsReached:
    - clear
    - data
    - resize
    - Botan::PKCS11::LowLevel::C_GetSlotList
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_GetSlotList(bool token_present, std::vector<SlotId>&
      slot_ids, ReturnValue* return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:121,1
    - Dst: Botan::PKCS11::LowLevel::C_GetSlotInfo
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slot_id
    - info_ptr
    - return_value
    argTypes:
    - SlotId
    - SlotInfo*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: Botan::PKCS11::LowLevel::C_GetSlotInfo
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_GetSlotInfo
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_GetSlotInfo(SlotId slot_id, SlotInfo* info_ptr, ReturnValue*
      return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:125,1
    - Dst: Botan::PKCS11::LowLevel::C_GetTokenInfo
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slot_id
    - info_ptr
    - return_value
    argTypes:
    - SlotId
    - TokenInfo*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::PKCS11::LowLevel::C_GetTokenInfo
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_GetTokenInfo
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_GetTokenInfo(SlotId slot_id, TokenInfo* info_ptr,
      ReturnValue* return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:129,1
    - Dst: Botan::PKCS11::LowLevel::C_WaitForSlotEvent
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - flags
    - slot_ptr
    - reserved
    - return_value
    argTypes:
    - Flags
    - SlotId*
    - VoidPtr
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Botan::PKCS11::LowLevel::C_WaitForSlotEvent
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_WaitForSlotEvent
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_WaitForSlotEvent(Flags flags, SlotId* slot_ptr, VoidPtr
      reserved, ReturnValue* return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:136,1
    - Dst: Botan::PKCS11::LowLevel::C_GetMechanismList
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:136,1
    - Dst: reinterpret_cast<CK_MECHANISM_TYPE_PTR>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - slot_id
    - mechanism_list_ptr
    - count_ptr
    - return_value
    argTypes:
    - SlotId
    - MechanismType*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: Botan::PKCS11::LowLevel::C_GetMechanismList
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<CK_MECHANISM_TYPE_PTR>
    - Botan::PKCS11::LowLevel::C_GetMechanismList
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GetMechanismList(SlotId slot_id,\n                                  MechanismType*
      mechanism_list_ptr,\n                                  Ulong* count_ptr,\n                                  ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:144,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:156,1
    - Dst: Botan::PKCS11::LowLevel::C_GetMechanismList
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:157,1
    - Dst: reinterpret_cast<MechanismType*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:158,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - slot_id
    - ' mechanisms'
    - return_value
    argTypes:
    - SlotId
    - std::vector<MechanismType>
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 159
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 159
    functionName: Botan::PKCS11::LowLevel::C_GetMechanismList
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 2
    functionsReached:
    - data
    - Botan::PKCS11::LowLevel::C_GetMechanismList
    - reinterpret_cast<MechanismType*>
    - clear
    - resize
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GetMechanismList(SlotId slot_id,\n                                  std::vector<MechanismType>&
      mechanisms,\n                                  ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:165,1
    - Dst: Botan::PKCS11::LowLevel::C_GetMechanismInfo
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:166,1
    - Dst: static_cast<CK_MECHANISM_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - slot_id
    - type
    - info_ptr
    - return_value
    argTypes:
    - SlotId
    - MechanismType
    - MechanismInfo*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: Botan::PKCS11::LowLevel::C_GetMechanismInfo
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_GetMechanismInfo
    - static_cast<CK_MECHANISM_TYPE>
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GetMechanismInfo(SlotId slot_id,\n                                  MechanismType
      type,\n                                  MechanismInfo* info_ptr,\n                                  ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:171,1
    - Dst: Botan::PKCS11::LowLevel::C_InitToken
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - slot_id
    - so_pin_ptr
    - so_pin_len
    - label_ptr
    - return_value
    argTypes:
    - SlotId
    - Utf8Char*
    - Ulong
    - Utf8Char*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: Botan::PKCS11::LowLevel::C_InitToken
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_InitToken
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_InitToken(\n   SlotId slot_id, Utf8Char* so_pin_ptr,
      Ulong so_pin_len, Utf8Char* label_ptr, ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:175,1
    - Dst: Botan::PKCS11::LowLevel::C_InitPIN
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - pin_ptr
    - pin_len
    - return_value
    argTypes:
    - SessionHandle
    - Utf8Char*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: Botan::PKCS11::LowLevel::C_InitPIN
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_InitPIN
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_InitPIN(SessionHandle session, Utf8Char* pin_ptr,
      Ulong pin_len, ReturnValue* return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:184,1
    - Dst: Botan::PKCS11::LowLevel::C_SetPIN
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - old_pin_ptr
    - old_len
    - new_pin_ptr
    - new_len
    - return_value
    argTypes:
    - SessionHandle
    - Utf8Char*
    - Ulong
    - Utf8Char*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: Botan::PKCS11::LowLevel::C_SetPIN
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_SetPIN
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_SetPIN(SessionHandle session,\n                        Utf8Char*
      old_pin_ptr,\n                        Ulong old_len,\n                        Utf8Char*
      new_pin_ptr,\n                        Ulong new_len,\n                        ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:196,1
    - Dst: Botan::PKCS11::LowLevel::C_OpenSession
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - slot_id
    - flags
    - application
    - notify
    - session_ptr
    - return_value
    argTypes:
    - SlotId
    - Flags
    - VoidPtr
    - Notify
    - SessionHandle*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: Botan::PKCS11::LowLevel::C_OpenSession
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_OpenSession
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_OpenSession(SlotId slot_id,\n                             Flags
      flags,\n                             VoidPtr application,\n                             Notify
      notify,\n                             SessionHandle* session_ptr,\n                             ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:201,1
    - Dst: Botan::PKCS11::LowLevel::C_CloseSession
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - return_value
    argTypes:
    - SessionHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: Botan::PKCS11::LowLevel::C_CloseSession
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_CloseSession
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_CloseSession(SessionHandle session, ReturnValue* return_value)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:205,1
    - Dst: Botan::PKCS11::LowLevel::C_CloseAllSessions
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - slot_id
    - return_value
    argTypes:
    - SlotId
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: Botan::PKCS11::LowLevel::C_CloseAllSessions
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_CloseAllSessions
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_CloseAllSessions(SlotId slot_id, ReturnValue* return_value)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:209,1
    - Dst: Botan::PKCS11::LowLevel::C_GetSessionInfo
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - info_ptr
    - return_value
    argTypes:
    - SessionHandle
    - SessionInfo*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: Botan::PKCS11::LowLevel::C_GetSessionInfo
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_GetSessionInfo
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_GetSessionInfo(SessionHandle session, SessionInfo*
      info_ptr, ReturnValue* return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:216,1
    - Dst: Botan::PKCS11::LowLevel::C_GetOperationState
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - operation_state_ptr
    - operation_state_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: Botan::PKCS11::LowLevel::C_GetOperationState
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_GetOperationState
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GetOperationState(SessionHandle session,\n                                   Byte*
      operation_state_ptr,\n                                   Ulong* operation_state_len_ptr,\n
      \                                  ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:226,1
    - Dst: Botan::PKCS11::LowLevel::C_SetOperationState
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - operation_state_ptr
    - operation_state_len
    - encryption_key
    - authentication_key
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - ObjectHandle
    - ObjectHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: Botan::PKCS11::LowLevel::C_SetOperationState
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_SetOperationState
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_SetOperationState(SessionHandle session,\n                                   Byte*
      operation_state_ptr,\n                                   Ulong operation_state_len,\n
      \                                  ObjectHandle encryption_key,\n                                   ObjectHandle
      authentication_key,\n                                   ReturnValue* return_value)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:233,1
    - Dst: Botan::PKCS11::LowLevel::C_Login
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:233,1
    - Dst: static_cast<CK_USER_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - session
    - user_type
    - pin_ptr
    - pin_len
    - return_value
    argTypes:
    - SessionHandle
    - UserType
    - Utf8Char*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: Botan::PKCS11::LowLevel::C_Login
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - static_cast<CK_USER_TYPE>
    - Botan::PKCS11::LowLevel::C_Login
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_Login(\n   SessionHandle session, UserType user_type,
      Utf8Char* pin_ptr, Ulong pin_len, ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:238,1
    - Dst: Botan::PKCS11::LowLevel::C_Logout
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - return_value
    argTypes:
    - SessionHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: Botan::PKCS11::LowLevel::C_Logout
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_Logout
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_Logout(SessionHandle session, ReturnValue* return_value)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:248,1
    - Dst: Botan::PKCS11::LowLevel::C_CreateObject
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - session
    - attribute_template_ptr
    - count
    - object_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Attribute*
    - Ulong
    - ObjectHandle*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: Botan::PKCS11::LowLevel::C_CreateObject
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_CreateObject
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_CreateObject(SessionHandle session,\n                              Attribute*
      attribute_template_ptr,\n                              Ulong count,\n                              ObjectHandle*
      object_ptr,\n                              ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:258,1
    - Dst: Botan::PKCS11::LowLevel::C_CopyObject
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - object
    - attribute_template_ptr
    - count
    - new_object_ptr
    - return_value
    argTypes:
    - SessionHandle
    - ObjectHandle
    - Attribute*
    - Ulong
    - ObjectHandle*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: Botan::PKCS11::LowLevel::C_CopyObject
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_CopyObject
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_CopyObject(SessionHandle session,\n                            ObjectHandle
      object,\n                            Attribute* attribute_template_ptr,\n                            Ulong
      count,\n                            ObjectHandle* new_object_ptr,\n                            ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:263,1
    - Dst: Botan::PKCS11::LowLevel::C_DestroyObject
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - object
    - return_value
    argTypes:
    - SessionHandle
    - ObjectHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: Botan::PKCS11::LowLevel::C_DestroyObject
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_DestroyObject
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_DestroyObject(SessionHandle session, ObjectHandle
      object, ReturnValue* return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:270,1
    - Dst: Botan::PKCS11::LowLevel::C_GetObjectSize
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - object
    - size_ptr
    - return_value
    argTypes:
    - SessionHandle
    - ObjectHandle
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: Botan::PKCS11::LowLevel::C_GetObjectSize
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_GetObjectSize
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GetObjectSize(SessionHandle session,\n                               ObjectHandle
      object,\n                               Ulong* size_ptr,\n                               ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:278,1
    - Dst: Botan::PKCS11::LowLevel::C_GetAttributeValue
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - session
    - object
    - attribute_template_ptr
    - count
    - return_value
    argTypes:
    - SessionHandle
    - ObjectHandle
    - Attribute*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: Botan::PKCS11::LowLevel::C_GetAttributeValue
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_GetAttributeValue
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GetAttributeValue(SessionHandle session,\n                                   ObjectHandle
      object,\n                                   Attribute* attribute_template_ptr,\n
      \                                  Ulong count,\n                                   ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:287,1
    - Dst: Botan::PKCS11::LowLevel::C_SetAttributeValue
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - session
    - object
    - attribute_template_ptr
    - count
    - return_value
    argTypes:
    - SessionHandle
    - ObjectHandle
    - Attribute*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: Botan::PKCS11::LowLevel::C_SetAttributeValue
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_SetAttributeValue
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_SetAttributeValue(SessionHandle session,\n                                   ObjectHandle
      object,\n                                   Attribute* attribute_template_ptr,\n
      \                                  Ulong count,\n                                   ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:295,1
    - Dst: Botan::PKCS11::LowLevel::C_FindObjectsInit
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - attribute_template_ptr
    - count
    - return_value
    argTypes:
    - SessionHandle
    - Attribute*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 296
    functionName: Botan::PKCS11::LowLevel::C_FindObjectsInit
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_FindObjectsInit
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_FindObjectsInit(SessionHandle session,\n                                 Attribute*
      attribute_template_ptr,\n                                 Ulong count,\n                                 ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:303,1
    - Dst: Botan::PKCS11::LowLevel::C_FindObjects
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - session
    - object_ptr
    - max_object_count
    - object_count_ptr
    - return_value
    argTypes:
    - SessionHandle
    - ObjectHandle*
    - Ulong
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: Botan::PKCS11::LowLevel::C_FindObjects
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_FindObjects
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_FindObjects(SessionHandle session,\n                             ObjectHandle*
      object_ptr,\n                             Ulong max_object_count,\n                             Ulong*
      object_count_ptr,\n                             ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:308,1
    - Dst: Botan::PKCS11::LowLevel::C_FindObjectsFinal
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - return_value
    argTypes:
    - SessionHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: Botan::PKCS11::LowLevel::C_FindObjectsFinal
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_FindObjectsFinal
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_FindObjectsFinal(SessionHandle session, ReturnValue*
      return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:317,1
    - Dst: Botan::PKCS11::LowLevel::C_EncryptInit
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - mechanism_ptr
    - key
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - ObjectHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: Botan::PKCS11::LowLevel::C_EncryptInit
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_EncryptInit
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_EncryptInit(SessionHandle session,\n                             Mechanism*
      mechanism_ptr,\n                             ObjectHandle key,\n                             ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:326,1
    - Dst: Botan::PKCS11::LowLevel::C_Encrypt
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - data_ptr
    - data_len
    - encrypted_data_ptr
    - encrypted_data_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 329
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 329
    functionName: Botan::PKCS11::LowLevel::C_Encrypt
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_Encrypt
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_Encrypt(SessionHandle session,\n                         Byte*
      data_ptr,\n                         Ulong data_len,\n                         Byte*
      encrypted_data_ptr,\n                         Ulong* encrypted_data_len_ptr,\n
      \                        ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:337,1
    - Dst: Botan::PKCS11::LowLevel::C_EncryptUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - part_ptr
    - part_len
    - encrypted_part_ptr
    - encrypted_part_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 340
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 340
    functionName: Botan::PKCS11::LowLevel::C_EncryptUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_EncryptUpdate
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_EncryptUpdate(SessionHandle session,\n                               Byte*
      part_ptr,\n                               Ulong part_len,\n                               Byte*
      encrypted_part_ptr,\n                               Ulong* encrypted_part_len_ptr,\n
      \                              ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:346,1
    - Dst: Botan::PKCS11::LowLevel::C_EncryptFinal
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - last_encrypted_part_ptr
    - last_encrypted_part_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 348
    functionName: Botan::PKCS11::LowLevel::C_EncryptFinal
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_EncryptFinal
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_EncryptFinal(SessionHandle session,\n                              Byte*
      last_encrypted_part_ptr,\n                              Ulong* last_encrypted_part_len_ptr,\n
      \                             ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:356,1
    - Dst: Botan::PKCS11::LowLevel::C_DecryptInit
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - mechanism_ptr
    - key
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - ObjectHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: Botan::PKCS11::LowLevel::C_DecryptInit
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_DecryptInit
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_DecryptInit(SessionHandle session,\n                             Mechanism*
      mechanism_ptr,\n                             ObjectHandle key,\n                             ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:365,1
    - Dst: Botan::PKCS11::LowLevel::C_Decrypt
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - encrypted_data_ptr
    - encrypted_data_len
    - data_ptr
    - data_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 368
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 368
    functionName: Botan::PKCS11::LowLevel::C_Decrypt
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_Decrypt
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_Decrypt(SessionHandle session,\n                         Byte*
      encrypted_data_ptr,\n                         Ulong encrypted_data_len,\n                         Byte*
      data_ptr,\n                         Ulong* data_len_ptr,\n                         ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:376,1
    - Dst: Botan::PKCS11::LowLevel::C_DecryptUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - encrypted_part_ptr
    - encrypted_part_len
    - part_ptr
    - part_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 379
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 379
    functionName: Botan::PKCS11::LowLevel::C_DecryptUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_DecryptUpdate
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_DecryptUpdate(SessionHandle session,\n                               Byte*
      encrypted_part_ptr,\n                               Ulong encrypted_part_len,\n
      \                              Byte* part_ptr,\n                               Ulong*
      part_len_ptr,\n                               ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:385,1
    - Dst: Botan::PKCS11::LowLevel::C_DecryptFinal
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - last_part_ptr
    - last_part_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 386
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 386
    functionName: Botan::PKCS11::LowLevel::C_DecryptFinal
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_DecryptFinal
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_DecryptFinal(SessionHandle session,\n                              Byte*
      last_part_ptr,\n                              Ulong* last_part_len_ptr,\n                              ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:391,1
    - Dst: Botan::PKCS11::LowLevel::C_DigestInit
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - mechanism
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: Botan::PKCS11::LowLevel::C_DigestInit
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_DigestInit
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_DigestInit(SessionHandle session, Mechanism* mechanism,
      ReturnValue* return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:400,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - data_ptr
    - data_len
    - digest_ptr
    - digest_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 402
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 402
    functionName: Botan::PKCS11::LowLevel::C_Digest
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_Digest
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_Digest(SessionHandle session,\n                        Byte*
      data_ptr,\n                        Ulong data_len,\n                        Byte*
      digest_ptr,\n                        Ulong* digest_len_ptr,\n                        ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:405,1
    - Dst: Botan::PKCS11::LowLevel::C_DigestUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - part_ptr
    - part_len
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: Botan::PKCS11::LowLevel::C_DigestUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_DigestUpdate
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_DigestUpdate(SessionHandle session, Byte* part_ptr,
      Ulong part_len, ReturnValue* return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:409,1
    - Dst: Botan::PKCS11::LowLevel::C_DigestKey
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - key
    - return_value
    argTypes:
    - SessionHandle
    - ObjectHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 410
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 410
    functionName: Botan::PKCS11::LowLevel::C_DigestKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_DigestKey
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_DigestKey(SessionHandle session, ObjectHandle key,
      ReturnValue* return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:416,1
    - Dst: Botan::PKCS11::LowLevel::C_DigestFinal
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - digest_ptr
    - digest_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 417
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 417
    functionName: Botan::PKCS11::LowLevel::C_DigestFinal
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_DigestFinal
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_DigestFinal(SessionHandle session,\n                             Byte*
      digest_ptr,\n                             Ulong* digest_len_ptr,\n                             ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:425,1
    - Dst: Botan::PKCS11::LowLevel::C_SignInit
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - mechanism_ptr
    - key
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - ObjectHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 426
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 426
    functionName: Botan::PKCS11::LowLevel::C_SignInit
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_SignInit
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_SignInit(SessionHandle session,\n                          Mechanism*
      mechanism_ptr,\n                          ObjectHandle key,\n                          ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:434,1
    - Dst: Botan::PKCS11::LowLevel::C_Sign
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:435,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - data_ptr
    - data_len
    - signature_ptr
    - signature_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 437
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 437
    functionName: Botan::PKCS11::LowLevel::C_Sign
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_Sign
    - const_cast<Byte*>
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_Sign(SessionHandle session,\n                      const
      Byte* data_ptr,\n                      Ulong data_len,\n                      Byte*
      signature_ptr,\n                      Ulong* signature_len_ptr,\n                      ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:443,1
    - Dst: Botan::PKCS11::LowLevel::C_SignUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:443,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - part_ptr
    - part_len
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 445
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 445
    functionName: Botan::PKCS11::LowLevel::C_SignUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - const_cast<Byte*>
    - Botan::PKCS11::LowLevel::C_SignUpdate
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_SignUpdate(SessionHandle session,\n                            const
      Byte* part_ptr,\n                            Ulong part_len,\n                            ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:451,1
    - Dst: Botan::PKCS11::LowLevel::C_SignFinal
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - signature_ptr
    - signature_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: Botan::PKCS11::LowLevel::C_SignFinal
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_SignFinal
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_SignFinal(SessionHandle session,\n                           Byte*
      signature_ptr,\n                           Ulong* signature_len_ptr,\n                           ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:458,1
    - Dst: Botan::PKCS11::LowLevel::C_SignRecoverInit
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - mechanism_ptr
    - key
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - ObjectHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 459
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 459
    functionName: Botan::PKCS11::LowLevel::C_SignRecoverInit
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_SignRecoverInit
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_SignRecoverInit(SessionHandle session,\n                                 Mechanism*
      mechanism_ptr,\n                                 ObjectHandle key,\n                                 ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:467,1
    - Dst: Botan::PKCS11::LowLevel::C_SignRecover
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - data
    - data_len
    - signature
    - signature_len
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: Botan::PKCS11::LowLevel::C_SignRecover
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_SignRecover
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_SignRecover(SessionHandle session,\n                             Byte*
      data,\n                             Ulong data_len,\n                             Byte*
      signature,\n                             Ulong* signature_len,\n                             ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:477,1
    - Dst: Botan::PKCS11::LowLevel::C_VerifyInit
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - mechanism_ptr
    - key
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - ObjectHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 478
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 478
    functionName: Botan::PKCS11::LowLevel::C_VerifyInit
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_VerifyInit
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_VerifyInit(SessionHandle session,\n                            Mechanism*
      mechanism_ptr,\n                            ObjectHandle key,\n                            ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:486,1
    - Dst: Botan::PKCS11::LowLevel::C_Verify
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:487,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:488,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - data_ptr
    - data_len
    - signature_ptr
    - signature_len
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 490
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 490
    functionName: Botan::PKCS11::LowLevel::C_Verify
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_Verify
    - const_cast<Byte*>
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_Verify(SessionHandle session,\n                        const
      Byte* data_ptr,\n                        Ulong data_len,\n                        const
      Byte* signature_ptr,\n                        Ulong signature_len,\n                        ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:496,1
    - Dst: Botan::PKCS11::LowLevel::C_VerifyUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:496,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - part_ptr
    - part_len
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 498
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 498
    functionName: Botan::PKCS11::LowLevel::C_VerifyUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - const_cast<Byte*>
    - Botan::PKCS11::LowLevel::C_VerifyUpdate
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_VerifyUpdate(SessionHandle session,\n                              const
      Byte* part_ptr,\n                              Ulong part_len,\n                              ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:504,1
    - Dst: Botan::PKCS11::LowLevel::C_VerifyFinal
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:504,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - signature_ptr
    - signature_len
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 506
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 506
    functionName: Botan::PKCS11::LowLevel::C_VerifyFinal
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_VerifyFinal
    - const_cast<Byte*>
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_VerifyFinal(SessionHandle session,\n                             const
      Byte* signature_ptr,\n                             Ulong signature_len,\n                             ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:512,1
    - Dst: Botan::PKCS11::LowLevel::C_VerifyRecoverInit
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - mechanism_ptr
    - key
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - ObjectHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 513
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 513
    functionName: Botan::PKCS11::LowLevel::C_VerifyRecoverInit
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_VerifyRecoverInit
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_VerifyRecoverInit(SessionHandle session,\n                                   Mechanism*
      mechanism_ptr,\n                                   ObjectHandle key,\n                                   ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:521,1
    - Dst: Botan::PKCS11::LowLevel::C_VerifyRecover
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - signature_ptr
    - signature_len
    - data_ptr
    - data_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 523
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 523
    functionName: Botan::PKCS11::LowLevel::C_VerifyRecover
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_VerifyRecover
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_VerifyRecover(SessionHandle session,\n                               Byte*
      signature_ptr,\n                               Ulong signature_len,\n                               Byte*
      data_ptr,\n                               Ulong* data_len_ptr,\n                               ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:533,1
    - Dst: Botan::PKCS11::LowLevel::C_DigestEncryptUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - part_ptr
    - part_len
    - encrypted_part_ptr
    - encrypted_part_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 536
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 536
    functionName: Botan::PKCS11::LowLevel::C_DigestEncryptUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_DigestEncryptUpdate
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_DigestEncryptUpdate(SessionHandle session,\n                                     Byte*
      part_ptr,\n                                     Ulong part_len,\n                                     Byte*
      encrypted_part_ptr,\n                                     Ulong* encrypted_part_len_ptr,\n
      \                                    ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:544,1
    - Dst: Botan::PKCS11::LowLevel::C_DecryptDigestUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - encrypted_part_ptr
    - encrypted_part_len
    - part_ptr
    - part_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 547
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 547
    functionName: Botan::PKCS11::LowLevel::C_DecryptDigestUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_DecryptDigestUpdate
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_DecryptDigestUpdate(SessionHandle session,\n                                     Byte*
      encrypted_part_ptr,\n                                     Ulong encrypted_part_len,\n
      \                                    Byte* part_ptr,\n                                     Ulong*
      part_len_ptr,\n                                     ReturnValue* return_value)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:555,1
    - Dst: Botan::PKCS11::LowLevel::C_SignEncryptUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - part_ptr
    - part_len
    - encrypted_part_ptr
    - encrypted_part_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 558
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 558
    functionName: Botan::PKCS11::LowLevel::C_SignEncryptUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_SignEncryptUpdate
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_SignEncryptUpdate(SessionHandle session,\n                                   Byte*
      part_ptr,\n                                   Ulong part_len,\n                                   Byte*
      encrypted_part_ptr,\n                                   Ulong* encrypted_part_len_ptr,\n
      \                                  ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:566,1
    - Dst: Botan::PKCS11::LowLevel::C_DecryptVerifyUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - encrypted_part_ptr
    - encrypted_part_len
    - part_ptr
    - part_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 569
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 569
    functionName: Botan::PKCS11::LowLevel::C_DecryptVerifyUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_DecryptVerifyUpdate
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_DecryptVerifyUpdate(SessionHandle session,\n                                     Byte*
      encrypted_part_ptr,\n                                     Ulong encrypted_part_len,\n
      \                                    Byte* part_ptr,\n                                     Ulong*
      part_len_ptr,\n                                     ReturnValue* return_value)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:579,1
    - Dst: Botan::PKCS11::LowLevel::C_GenerateKey
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - mechanism_ptr
    - attribute_template_ptr
    - count
    - key_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - Attribute*
    - Ulong
    - ObjectHandle*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 581
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 581
    functionName: Botan::PKCS11::LowLevel::C_GenerateKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_GenerateKey
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GenerateKey(SessionHandle session,\n                             Mechanism*
      mechanism_ptr,\n                             Attribute* attribute_template_ptr,\n
      \                            Ulong count,\n                             ObjectHandle*
      key_ptr,\n                             ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:592,1
    - Dst: Botan::PKCS11::LowLevel::C_GenerateKeyPair
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - session
    - mechanism_ptr
    - public_key_template_ptr
    - public_key_attribute_count
    - private_key_template_ptr
    - private_key_attribute_count
    - public_key_ptr
    - private_key_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - Attribute*
    - Ulong
    - Attribute*
    - Ulong
    - ObjectHandle*
    - ObjectHandle*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 601
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 601
    functionName: Botan::PKCS11::LowLevel::C_GenerateKeyPair
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_GenerateKeyPair
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GenerateKeyPair(SessionHandle session,\n                                 Mechanism*
      mechanism_ptr,\n                                 Attribute* public_key_template_ptr,\n
      \                                Ulong public_key_attribute_count,\n                                 Attribute*
      private_key_template_ptr,\n                                 Ulong private_key_attribute_count,\n
      \                                ObjectHandle* public_key_ptr,\n                                 ObjectHandle*
      private_key_ptr,\n                                 ReturnValue* return_value)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:610,1
    - Dst: Botan::PKCS11::LowLevel::C_WrapKey
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - session
    - mechanism_ptr
    - wrapping_key
    - key
    - wrapped_key_ptr
    - wrapped_key_len_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - ObjectHandle
    - ObjectHandle
    - Byte*
    - Ulong*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 613
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 613
    functionName: Botan::PKCS11::LowLevel::C_WrapKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_WrapKey
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_WrapKey(SessionHandle session,\n                         Mechanism*
      mechanism_ptr,\n                         ObjectHandle wrapping_key,\n                         ObjectHandle
      key,\n                         Byte* wrapped_key_ptr,\n                         Ulong*
      wrapped_key_len_ptr,\n                         ReturnValue* return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:624,1
    - Dst: Botan::PKCS11::LowLevel::C_UnwrapKey
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - session
    - mechanism_ptr
    - unwrapping_key
    - wrapped_key_ptr
    - wrapped_key_len
    - attribute_template_ptr
    - attribute_count
    - key_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - ObjectHandle
    - Byte*
    - Ulong
    - Attribute*
    - Ulong
    - ObjectHandle*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 633
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 633
    functionName: Botan::PKCS11::LowLevel::C_UnwrapKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_UnwrapKey
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_UnwrapKey(SessionHandle session,\n                           Mechanism*
      mechanism_ptr,\n                           ObjectHandle unwrapping_key,\n                           Byte*
      wrapped_key_ptr,\n                           Ulong wrapped_key_len,\n                           Attribute*
      attribute_template_ptr,\n                           Ulong attribute_count,\n
      \                          ObjectHandle* key_ptr,\n                           ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:642,1
    - Dst: Botan::PKCS11::LowLevel::C_DeriveKey
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - session
    - mechanism_ptr
    - base_key
    - attribute_template_ptr
    - attribute_count
    - key_ptr
    - return_value
    argTypes:
    - SessionHandle
    - Mechanism*
    - ObjectHandle
    - Attribute*
    - Ulong
    - ObjectHandle*
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 645
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 645
    functionName: Botan::PKCS11::LowLevel::C_DeriveKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_DeriveKey
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_DeriveKey(SessionHandle session,\n                           Mechanism*
      mechanism_ptr,\n                           ObjectHandle base_key,\n                           Attribute*
      attribute_template_ptr,\n                           Ulong attribute_count,\n
      \                          ObjectHandle* key_ptr,\n                           ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:653,1
    - Dst: Botan::PKCS11::LowLevel::C_SeedRandom
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:653,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - seed_ptr
    - seed_len
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 655
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 655
    functionName: Botan::PKCS11::LowLevel::C_SeedRandom
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - const_cast<Byte*>
    - Botan::PKCS11::LowLevel::C_SeedRandom
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_SeedRandom(SessionHandle session,\n                            const
      Byte* seed_ptr,\n                            Ulong seed_len,\n                            ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:661,1
    - Dst: Botan::PKCS11::LowLevel::C_GenerateRandom
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - random_data_ptr
    - random_len
    - return_value
    argTypes:
    - SessionHandle
    - Byte*
    - Ulong
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 662
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 662
    functionName: Botan::PKCS11::LowLevel::C_GenerateRandom
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_GenerateRandom
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: "bool LowLevel::C_GenerateRandom(SessionHandle session,\n                                Byte*
      random_data_ptr,\n                                Ulong random_len,\n                                ReturnValue*
      return_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:667,1
    - Dst: Botan::PKCS11::LowLevel::C_GetFunctionStatus
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - return_value
    argTypes:
    - SessionHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 668
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 668
    functionName: Botan::PKCS11::LowLevel::C_GetFunctionStatus
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_GetFunctionStatus
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_GetFunctionStatus(SessionHandle session, ReturnValue*
      return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::LowLevel::handle_return_value
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:671,1
    - Dst: Botan::PKCS11::LowLevel::C_CancelFunction
      Src: /src/botan/src/lib/prov/pkcs11/p11.cpp:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - return_value
    argTypes:
    - SessionHandle
    - ReturnValue*
    constantsTouched: []
    func_position:
      end: 672
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 672
    functionName: Botan::PKCS11::LowLevel::C_CancelFunction
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_CancelFunction
    - Botan::PKCS11::LowLevel::handle_return_value
    linkageType: ''
    returnType: bool
    signature: bool LowLevel::C_CancelFunction(SessionHandle session, ReturnValue*
      return_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' slot'
    - read_only
    argTypes:
    - Slot
    - bool
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: Botan::PKCS11::Session::Session
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_session.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::flags
    linkageType: ''
    returnType: void
    signature: void Session::Session(Slot& slot, bool read_only)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:19,1
    - Dst: slot_id
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' slot'
    - flags
    - callback_data
    - notify_callback
    argTypes:
    - Slot
    - Flags
    - VoidPtr
    - Notify
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: Botan::PKCS11::Session::Session
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_session.cpp
    functionUses: 0
    functionsReached:
    - slot_id
    - module
    linkageType: ''
    returnType: void
    signature: void Session::Session(Slot& slot, Flags flags, VoidPtr callback_data,
      Notify notify_callback)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Session::get_info
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:23,1
    - Dst: static_cast<CK_STATE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:24,1
    - Dst: static_cast<CK_STATE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' slot'
    - handle
    argTypes:
    - Slot
    - SessionHandle
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: Botan::PKCS11::Session::Session
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_session.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CK_STATE>
    - Botan::PKCS11::Session::get_info
    linkageType: ''
    returnType: void
    signature: void Session::Session(Slot& slot, SessionHandle handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:36,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: Session::~Session() noexcept
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_session.cpp
    functionUses: 0
    functionsReached:
    - module
    linkageType: ''
    returnType: void
    signature: void Session::~Session() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: Botan::PKCS11::Session::release
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_session.cpp
    functionUses: 0
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: SessionHandle
    signature: SessionHandle Session::release()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - user_type
    - ' pin'
    argTypes:
    - UserType
    - secure_string
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: Botan::PKCS11::Session::login
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_session.cpp
    functionUses: 0
    functionsReached:
    - module
    linkageType: ''
    returnType: void
    signature: void Session::login(UserType user_type, const secure_string& pin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: Botan::PKCS11::Session::logoff
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_session.cpp
    functionUses: 0
    functionsReached:
    - module
    linkageType: ''
    returnType: void
    signature: void Session::logoff()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: Botan::PKCS11::Session::get_info
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_session.cpp
    functionUses: 1
    functionsReached:
    - module
    linkageType: ''
    returnType: SessionInfo
    signature: SessionInfo Session::get_info() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' old_pin'
    - ' new_pin'
    argTypes:
    - secure_string
    - secure_string
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan::PKCS11::Session::set_pin
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_session.cpp
    functionUses: 0
    functionsReached:
    - module
    linkageType: ''
    returnType: void
    signature: void Session::set_pin(const secure_string& old_pin, const secure_string&
      new_pin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_session.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' new_pin'
    argTypes:
    - secure_string
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: Botan::PKCS11::Session::init_pin
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_session.cpp
    functionUses: 0
    functionsReached:
    - module
    linkageType: ''
    returnType: void
    signature: void Session::init_pin(const secure_string& new_pin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::AttributeContainer::add_class
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object_class
    argTypes:
    - ObjectClass
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: Botan::PKCS11::AttributeContainer::AttributeContainer
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::AttributeContainer::add_class
    linkageType: ''
    returnType: void
    signature: void AttributeContainer::AttributeContainer(ObjectClass object_class)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:19,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:19,1
    - Dst: Botan::PKCS11::AttributeContainer::add_attribute
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:20,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:21,1
    - Dst: back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:21,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - object_class
    argTypes:
    - ObjectClass
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: Botan::PKCS11::AttributeContainer::add_class
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint64_t>
    - reinterpret_cast<uint8_t*>
    - emplace_back
    - back
    - static_cast<Ulong>
    - Botan::PKCS11::AttributeContainer::add_attribute
    linkageType: ''
    returnType: void
    signature: void AttributeContainer::add_class(ObjectClass object_class)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:25,1
    - Dst: std::string
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:25,1
    - Dst: Botan::PKCS11::AttributeContainer::add_attribute
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:26,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:27,1
    - Dst: back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:27,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:27,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - attribute
    - value
    argTypes:
    - AttributeType
    - std::string_view
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: Botan::PKCS11::AttributeContainer::add_string
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - std::string_view::size
    - push_back
    - reinterpret_cast<const uint8_t*>
    - back
    - static_cast<Ulong>
    - Botan::PKCS11::AttributeContainer::add_attribute
    linkageType: ''
    returnType: void
    signature: void AttributeContainer::add_string(AttributeType attribute, std::string_view
      value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:31,1
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:31,1
    - Dst: Botan::PKCS11::AttributeContainer::add_attribute
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:32,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:32,1
    - Dst: back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:32,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - attribute
    - value
    - length
    argTypes:
    - AttributeType
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: Botan::PKCS11::AttributeContainer::add_binary
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - reinterpret_cast<const uint8_t*>
    - back
    - static_cast<Ulong>
    - Botan::PKCS11::AttributeContainer::add_attribute
    - secure_vector<uint8_t>
    linkageType: ''
    returnType: void
    signature: void AttributeContainer::add_binary(AttributeType attribute, const
      uint8_t* value, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:36,1
    - Dst: Botan::PKCS11::AttributeContainer::add_attribute
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:37,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:37,1
    - Dst: back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - attribute
    - value
    argTypes:
    - AttributeType
    - bool
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: Botan::PKCS11::AttributeContainer::add_bool
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::AttributeContainer::add_attribute
    - push_back
    - reinterpret_cast<uint8_t*>
    - back
    linkageType: ''
    returnType: void
    signature: void AttributeContainer::add_bool(AttributeType attribute, bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CK_ATTRIBUTE_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:44,1
    - Dst: remove_if
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:46,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:47,1
    - Dst: remove_if
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:49,1
    - Dst: remove_if
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:52,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:53,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:56,1
    - Dst: push_back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:64,1
    - Dst: static_cast<CK_ATTRIBUTE_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:64,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - attribute
    - value
    - size
    argTypes:
    - AttributeType
    - uint8_t*
    - Ulong
    constantsTouched: []
    func_position:
      end: 66
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 66
    functionName: Botan::PKCS11::AttributeContainer::add_attribute
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 4
    functionsReached:
    - const_cast<uint8_t*>
    - data
    - static_cast<CK_ATTRIBUTE_TYPE>
    - remove_if
    - push_back
    linkageType: ''
    returnType: void
    signature: void AttributeContainer::add_attribute(AttributeType attribute, const
      uint8_t* value, Ulong size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:72,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:72,1
    - Dst: const_cast<Attribute*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:73,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:73,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:74,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' session'
    - ' search_template'
    argTypes:
    - Session
    - std::vector<Attribute>
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: Botan::PKCS11::ObjectFinder::ObjectFinder
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - const_cast<Attribute*>
    - data
    - module
    - size
    - get
    - static_cast<Ulong>
    linkageType: ''
    returnType: void
    signature: void ObjectFinder::ObjectFinder(Session& session, const std::vector<Attribute>&
      search_template)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:80,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: ObjectFinder::~ObjectFinder() noexcept
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - get
    - module
    linkageType: ''
    returnType: void
    signature: void ObjectFinder::~ObjectFinder() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:90,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:90,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:90,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - max_count
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: Botan::PKCS11::ObjectFinder::find
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - std::vector::resize
    - get
    - module
    - std::vector::data
    linkageType: ''
    returnType: std::vector<ObjectHandle>
    signature: std::vector<ObjectHandle> ObjectFinder::find(uint32_t max_count) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:98,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: Botan::PKCS11::ObjectFinder::finish
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - get
    - module
    linkageType: ''
    returnType: void
    signature: void ObjectFinder::finish()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - object_class
    argTypes:
    - ObjectClass
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: Botan::PKCS11::ObjectProperties::ObjectProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectProperties::ObjectProperties(ObjectClass object_class)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - object_class
    argTypes:
    - ObjectClass
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: Botan::PKCS11::StorageObjectProperties::StorageObjectProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StorageObjectProperties::StorageObjectProperties(ObjectClass object_class)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: Botan::PKCS11::DataObjectProperties::DataObjectProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataObjectProperties::DataObjectProperties()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_numeric
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:119,1
    - Dst: static_cast<CK_CERTIFICATE_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert_type
    argTypes:
    - CertificateType
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: Botan::PKCS11::CertificateProperties::CertificateProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - add_numeric
    - static_cast<CK_CERTIFICATE_TYPE>
    linkageType: ''
    returnType: void
    signature: void CertificateProperties::CertificateProperties(CertificateType cert_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_numeric
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:126,1
    - Dst: static_cast<CK_ULONG>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object_class
    - key_type
    argTypes:
    - ObjectClass
    - KeyType
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: Botan::PKCS11::KeyProperties::KeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - add_numeric
    - static_cast<CK_ULONG>
    linkageType: ''
    returnType: void
    signature: void KeyProperties::KeyProperties(ObjectClass object_class, KeyType
      key_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_type
    argTypes:
    - KeyType
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Botan::PKCS11::PublicKeyProperties::PublicKeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PublicKeyProperties::PublicKeyProperties(KeyType key_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_type
    argTypes:
    - KeyType
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Botan::PKCS11::PrivateKeyProperties::PrivateKeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrivateKeyProperties::PrivateKeyProperties(KeyType key_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_type
    argTypes:
    - KeyType
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: Botan::PKCS11::SecretKeyProperties::SecretKeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecretKeyProperties::SecretKeyProperties(KeyType key_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_numeric
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:145,1
    - Dst: static_cast<CK_ULONG>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key_type
    argTypes:
    - KeyType
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: Botan::PKCS11::DomainParameterProperties::DomainParameterProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - add_numeric
    - static_cast<CK_ULONG>
    linkageType: ''
    returnType: void
    signature: void DomainParameterProperties::DomainParameterProperties(KeyType key_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - handle
    argTypes:
    - Session
    - ObjectHandle
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: Botan::PKCS11::Object::Object
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Object::Object(Session& session, ObjectHandle handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:153,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:154,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:154,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:154,1
    - Dst: count
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' session'
    - ' obj_props'
    argTypes:
    - Session
    - ObjectProperties
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: Botan::PKCS11::Object::Object
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Ulong>
    - data
    - get
    - count
    linkageType: ''
    returnType: void
    signature: void Object::Object(Session& session, const ObjectProperties& obj_props)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_vector<uint8_t>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:158,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:159,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:159,1
    - Dst: std::map::at
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - AttributeType
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: Botan::PKCS11::Object::get_attribute_value
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - get
    - module
    - std::map::at
    - secure_vector<uint8_t>
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Object::get_attribute_value(AttributeType attribute)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:165,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - attribute
    - ' value'
    argTypes:
    - AttributeType
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: Botan::PKCS11::Object::set_attribute_value
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - get
    - module
    linkageType: ''
    returnType: void
    signature: void Object::set_attribute_value(AttributeType attribute, const secure_vector<uint8_t>&
      value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:169,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: Botan::PKCS11::Object::destroy
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - get
    - module
    linkageType: ''
    returnType: void
    signature: void Object::destroy() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:174,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:174,1
    - Dst: data
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:176,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:177,1
    - Dst: count
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' modified_attributes'
    argTypes:
    - AttributeContainer
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: Botan::PKCS11::Object::copy
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.cpp
    functionUses: 0
    functionsReached:
    - data
    - module
    - get
    - static_cast<Ulong>
    - count
    linkageType: ''
    returnType: ObjectHandle
    signature: ObjectHandle Object::copy(const AttributeContainer& modified_attributes)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' module'
    - slot_id
    argTypes:
    - Module
    - SlotId
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: Botan::PKCS11::Slot::Slot
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Slot::Slot(Module& module, SlotId slot_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: Botan::PKCS11::Slot::get_slot_info
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: SlotInfo
    signature: SlotInfo Slot::get_slot_info() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: Botan::PKCS11::Slot::get_mechanism_list
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: std::vector<MechanismType>
    signature: std::vector<MechanismType> Slot::get_mechanism_list() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mechanism_type
    argTypes:
    - MechanismType
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: Botan::PKCS11::Slot::get_mechanism_info
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: MechanismInfo
    signature: MechanismInfo Slot::get_mechanism_info(MechanismType mechanism_type)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_GetSlotList
      Src: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' module'
    - token_present
    argTypes:
    - Module
    - bool
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: Botan::PKCS11::Slot::get_available_slots
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp
    functionUses: 13
    functionsReached:
    - C_GetSlotList
    linkageType: ''
    returnType: std::vector<SlotId>
    signature: std::vector<SlotId> Slot::get_available_slots(Module& module, bool
      token_present)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: Botan::PKCS11::Slot::get_token_info
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: TokenInfo
    signature: TokenInfo Slot::get_token_info() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - label
    - ' so_pin'
    argTypes:
    - std::string_view
    - secure_string
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::PKCS11::Slot::initialize
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_slot.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void Slot::initialize(std::string_view label, const secure_string&
      so_pin) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Module
      Src: /src/botan/src/lib/prov/pkcs11/p11_types.h:35,1
    - Dst: static_cast<CK_FLAGS>
      Src: /src/botan/src/lib/prov/pkcs11/p11_types.h:37,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_types.h:57,1
    - Dst: C_GetInfo
      Src: /src/botan/src/lib/prov/pkcs11/p11_types.h:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 71
    functionName: Botan::PKCS11::final
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_types.h
    functionUses: 0
    functionsReached:
    - get
    - C_GetInfo
    - Module
    - static_cast<CK_FLAGS>
    linkageType: ''
    returnType: Module
    signature: Module final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Slot
      Src: /src/botan/src/lib/prov/pkcs11/p11_types.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 118
    functionName: Botan::PKCS11::final
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_types.h
    functionUses: 0
    functionsReached:
    - Slot
    linkageType: ''
    returnType: Slot
    signature: Slot final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Session
      Src: /src/botan/src/lib/prov/pkcs11/p11_types.h:127,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_types.h:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 185
    functionName: Botan::PKCS11::final
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_types.h
    functionUses: 0
    functionsReached:
    - module
    - Session
    linkageType: ''
    returnType: Session
    signature: Session final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~AttributeContainer()
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AttributeContainer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AttributeContainer
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::PKCS11::AttributeContainer
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AttributeContainer(AttributeContainer&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AttributeContainer
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan::PKCS11::AttributeContainer
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AttributeContainer(const AttributeContainer& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::PKCS11::attributes
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Attribute>
    signature: std::vector<Attribute> & attributes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<Attribute*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:47,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::PKCS11::data
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 4
    functionsReached:
    - const_cast<Attribute*>
    - Botan::PKCS11::data
    linkageType: ''
    returnType: Attribute
    signature: Attribute * data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::PKCS11::count
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 3
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t count() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:80,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:80,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - attribute
    - ' binary'
    argTypes:
    - AttributeType
    - std::vector<uint8_t, TAlloc>
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: Botan::PKCS11::add_binary
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 2
    functionsReached:
    - Botan::PKCS11::add_binary
    - Botan::PKCS11::data
    - size
    linkageType: ''
    returnType: void
    signature: void add_binary(AttributeType attribute, const std::vector<uint8_t,
      TAlloc>& binary)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:98,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:98,1
    - Dst: add_attribute
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:99,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:99,1
    - Dst: back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - attribute
    - value
    argTypes:
    - AttributeType
    - T
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: Botan::PKCS11::add_numeric
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 1
    functionsReached:
    - static_cast<uint64_t>
    - add_attribute
    - reinterpret_cast<uint8_t*>
    - push_back
    - back
    linkageType: ''
    returnType: void
    signature: void add_numeric(AttributeType attribute, T value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectFinder
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:121,1
    - Dst: ObjectFinder
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:126,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 148
    functionName: final
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 133
    functionsReached:
    - ObjectFinder
    - get
    linkageType: ''
    returnType: ObjectFinder
    signature: ObjectFinder final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: object_class
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ObjectClass
    signature: ObjectClass object_class() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_string
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: set_label
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 14
    functionsReached:
    - add_string
    linkageType: ''
    returnType: void
    signature: void set_label(std::string_view label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: set_token
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 21
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_token(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: set_private
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 19
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_private(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: set_modifiable
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 3
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_modifiable(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: set_copyable
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_copyable(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: set_destroyable
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_destroyable(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataObjectProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:194,1
    - Dst: add_string
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:197,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:201,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 206
    functionName: StorageObjectProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - DataObjectProperties
    - add_string
    - add_binary
    linkageType: ''
    returnType: DataObjectProperties
    signature: DataObjectProperties StorageObjectProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: set_trusted
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_trusted(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_numeric
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:219,1
    - Dst: static_cast<CK_CERTIFICATE_CATEGORY>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - category
    argTypes:
    - CertificateCategory
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: set_category
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_numeric
    - static_cast<CK_CERTIFICATE_CATEGORY>
    linkageType: ''
    returnType: void
    signature: void set_category(CertificateCategory category)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' checksum'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: set_check_value
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    linkageType: ''
    returnType: void
    signature: void set_check_value(const std::vector<uint8_t>& checksum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:232,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - date
    argTypes:
    - Date
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: set_start_date
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void set_start_date(Date date)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:237,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - date
    argTypes:
    - Date
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: set_end_date
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void set_end_date(Date date)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pubkey_info'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: set_public_key_info
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    linkageType: ''
    returnType: void
    signature: void set_public_key_info(const std::vector<uint8_t>& pubkey_info)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: cert_type
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CertificateType
    signature: CertificateType cert_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: set_id
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    linkageType: ''
    returnType: void
    signature: void set_id(const std::vector<uint8_t>& id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:266,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - date
    argTypes:
    - Date
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: set_start_date
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void set_start_date(Date date)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:271,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - date
    argTypes:
    - Date
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: set_end_date
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void set_end_date(Date date)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: set_derive
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 6
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_derive(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: set_allowed_mechanisms
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void set_allowed_mechanisms(const std::vector<MechanismType>&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: key_type
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyType
    signature: KeyType key_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' subject'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: set_subject
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    linkageType: ''
    returnType: void
    signature: void set_subject(const std::vector<uint8_t>& subject)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: set_encrypt
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 3
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_encrypt(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: set_verify
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 6
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_verify(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: set_verify_recover
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_verify_recover(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: set_wrap
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_wrap(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: set_trusted
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_trusted(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: set_wrap_template
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void set_wrap_template(const AttributeContainer&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pubkey_info'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: set_public_key_info
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    linkageType: ''
    returnType: void
    signature: void set_public_key_info(const std::vector<uint8_t>& pubkey_info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' subject'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: set_subject
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    linkageType: ''
    returnType: void
    signature: void set_subject(const std::vector<uint8_t>& subject)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: set_sensitive
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 3
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_sensitive(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 348
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 348
    functionName: set_decrypt
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 4
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_decrypt(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: set_sign
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 28
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_sign(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 354
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 354
    functionName: set_sign_recover
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_sign_recover(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: set_unwrap
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_unwrap(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: set_extractable
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 5
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_extractable(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 363
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 363
    functionName: set_wrap_with_trusted
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_wrap_with_trusted(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 366
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 366
    functionName: set_always_authenticate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_bool
    linkageType: ''
    returnType: void
    signature: void set_always_authenticate(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: set_unwrap_template
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void set_unwrap_template(const AttributeContainer&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pubkey_info'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: set_public_key_info
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - add_binary
    linkageType: ''
    returnType: void
    signature: void set_public_key_info(const std::vector<uint8_t>& pubkey_info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecretKeyProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:388,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:391,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:394,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:397,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:400,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:403,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:406,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:409,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:412,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:415,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:418,1
    - Dst: add_bool
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:424,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:428,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:438,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 450
    functionName: KeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 1
    functionsReached:
    - SecretKeyProperties
    - add_binary
    - Not_Implemented
    - add_bool
    linkageType: ''
    returnType: SecretKeyProperties
    signature: SecretKeyProperties KeyProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DomainParameterProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 463
    functionName: StorageObjectProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - DomainParameterProperties
    linkageType: ''
    returnType: DomainParameterProperties
    signature: DomainParameterProperties StorageObjectProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 485
    functionName: Object
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Object(const Object&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: ~Object()
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Object()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: handle
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: ObjectHandle
    signature: ObjectHandle handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 528
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 528
    functionName: session
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: Session
    signature: Session & session() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 531
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 531
    functionName: module
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 32
    functionsReached:
    - get
    linkageType: ''
    returnType: Module
    signature: Module & module() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ObjectHandle
    constantsTouched: []
    func_position:
      end: 541
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 541
    functionName: reset_handle
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 2
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void reset_handle(ObjectHandle handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectFinder::find
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:551,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:553,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:553,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:555,1
    - Dst: T
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' session'
    - ' search_template'
    argTypes:
    - Session
    - std::vector<Attribute>
    constantsTouched: []
    func_position:
      end: 558
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 558
    functionName: Object::search
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 0
    functionsReached:
    - std::vector::size
    - T
    - std::vector::reserve
    - std::vector::emplace_back
    - ObjectFinder::find
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> Object::search(Session& session, const std::vector<Attribute>&
      search_template)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AttributeContainer::add_string
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:563,1
    - Dst: Object::search
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:564,1
    - Dst: AttributeContainer::attributes
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' session'
    - label
    argTypes:
    - Session
    - std::string_view
    constantsTouched: []
    func_position:
      end: 565
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 565
    functionName: Object::search
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 1
    functionsReached:
    - AttributeContainer::add_string
    - AttributeContainer::attributes
    - Object::search
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> Object::search(Session& session, std::string_view label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AttributeContainer::add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:570,1
    - Dst: Object::search
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:571,1
    - Dst: AttributeContainer::attributes
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' session'
    - ' id'
    argTypes:
    - Session
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 572
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 572
    functionName: Object::search
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 2
    functionsReached:
    - Object::search
    - AttributeContainer::add_binary
    - AttributeContainer::attributes
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> Object::search(Session& session, const std::vector<uint8_t>&
      id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AttributeContainer::add_string
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:577,1
    - Dst: AttributeContainer::add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:578,1
    - Dst: Object::search
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:579,1
    - Dst: AttributeContainer::attributes
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' session'
    - label
    - ' id'
    argTypes:
    - Session
    - std::string_view
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 580
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 580
    functionName: Object::search
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 3
    functionsReached:
    - AttributeContainer::add_string
    - AttributeContainer::add_binary
    - Object::search
    - AttributeContainer::attributes
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> Object::search(Session& session, std::string_view label,
      const std::vector<uint8_t>& id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Object::search
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:584,1
    - Dst: AttributeContainer
      Src: /src/botan/src/lib/prov/pkcs11/p11_object.h:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Session
    constantsTouched: []
    func_position:
      end: 585
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 585
    functionName: Object::search
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_object.h
    functionUses: 4
    functionsReached:
    - Object::search
    - AttributeContainer
    linkageType: ''
    returnType: std::vector<T>
    signature: std::vector<T> Object::search(Session& session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Flag>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:260,1
    - Dst: static_cast<CK_FLAGS>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:260,1
    - Dst: static_cast<CK_FLAGS>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Flag
    - Flag
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: operator|(Flag a, Flag b)
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 0
    functionsReached:
    - static_cast<Flag>
    - static_cast<CK_FLAGS>
    linkageType: ''
    returnType: Flag
    signature: Flag operator|(Flag a, Flag b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Flags>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - Flag
    constantsTouched: []
    func_position:
      end: 840
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 840
    functionName: Botan::PKCS11::flags
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 13
    functionsReached:
    - static_cast<Flags>
    linkageType: ''
    returnType: Flags
    signature: Flags flags(Flag flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1125,1
    - Dst: std::string::insert
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1126,1
    - Dst: std::string::end
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1126,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1126,1
    - Dst: Botan::PKCS11::C_InitToken
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1129,1
    - Dst: reinterpret_cast<Utf8Char*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1130,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1130,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1130,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1131,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1131,1
    - Dst: reinterpret_cast<Utf8Char*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1132,1
    - Dst: const_cast<char*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1132,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - slot_id
    - ' so_pin'
    - label
    argTypes:
    - SlotId
    - std::vector<uint8_t, TAlloc>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 1134
      start: 1120
    functionDepth: 1
    functionLinenumber: 1120
    functionLinenumberEnd: 1134
    functionName: Botan::PKCS11::C_InitToken
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - const_cast<uint8_t*>
    - std::string::insert
    - Botan::PKCS11::data
    - Botan::PKCS11::C_InitToken
    - reinterpret_cast<Utf8Char*>
    - size
    - std::string::c_str
    - std::string_view::size
    - const_cast<char*>
    - static_cast<Ulong>
    - std::string::end
    linkageType: ''
    returnType: bool
    signature: "bool C_InitToken(SlotId slot_id,\n                       const std::vector<uint8_t,
      TAlloc>& so_pin,\n                       std::string_view label,\n                       ReturnValue*
      return_value = ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::C_InitPIN
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1176,1
    - Dst: reinterpret_cast<Utf8Char*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1177,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1177,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1177,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1178,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - ' pin'
    argTypes:
    - SessionHandle
    - std::vector<uint8_t, TAlloc>
    constantsTouched: []
    func_position:
      end: 1180
      start: 1173
    functionDepth: 1
    functionLinenumber: 1173
    functionLinenumberEnd: 1180
    functionName: Botan::PKCS11::C_InitPIN
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - const_cast<uint8_t*>
    - Botan::PKCS11::data
    - Botan::PKCS11::C_InitPIN
    - reinterpret_cast<Utf8Char*>
    - size
    - static_cast<Ulong>
    linkageType: ''
    returnType: bool
    signature: "bool C_InitPIN(SessionHandle session,\n                     const
      std::vector<uint8_t, TAlloc>& pin,\n                     ReturnValue* return_value
      = ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::C_SetPIN
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1228,1
    - Dst: reinterpret_cast<Utf8Char*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1229,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1229,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1229,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1230,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1230,1
    - Dst: reinterpret_cast<Utf8Char*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1231,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1231,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1231,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1232,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - ' old_pin'
    - ' new_pin'
    argTypes:
    - SessionHandle
    - std::vector<uint8_t, TAlloc>
    - std::vector<uint8_t, TAlloc>
    constantsTouched: []
    func_position:
      end: 1234
      start: 1224
    functionDepth: 1
    functionLinenumber: 1224
    functionLinenumberEnd: 1234
    functionName: Botan::PKCS11::C_SetPIN
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - const_cast<uint8_t*>
    - Botan::PKCS11::data
    - reinterpret_cast<Utf8Char*>
    - size
    - static_cast<Ulong>
    - Botan::PKCS11::C_SetPIN
    linkageType: ''
    returnType: bool
    signature: "bool C_SetPIN(SessionHandle session,\n                    const std::vector<uint8_t,
      TAlloc>& old_pin,\n                    const std::vector<uint8_t, TAlloc>& new_pin,\n
      \                   ReturnValue* return_value = ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::C_Login
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1398,1
    - Dst: reinterpret_cast<Utf8Char*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1400,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1400,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1400,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1401,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - user_type
    - ' pin'
    argTypes:
    - SessionHandle
    - UserType
    - std::vector<uint8_t, TAlloc>
    constantsTouched: []
    func_position:
      end: 1403
      start: 1394
    functionDepth: 1
    functionLinenumber: 1394
    functionLinenumberEnd: 1403
    functionName: Botan::PKCS11::C_Login
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - const_cast<uint8_t*>
    - Botan::PKCS11::data
    - Botan::PKCS11::C_Login
    - reinterpret_cast<Utf8Char*>
    - size
    - static_cast<Ulong>
    linkageType: ''
    returnType: bool
    signature: "bool C_Login(SessionHandle session,\n                   UserType user_type,\n
      \                  const std::vector<uint8_t, TAlloc>& pin,\n                   ReturnValue*
      return_value = ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1555,1
    - Dst: static_cast<CK_ATTRIBUTE_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1555,1
    - Dst: second::clear
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1570,1
    - Dst: second::resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1571,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1571,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1572,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1572,1
    - Dst: second::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1572,1
    - Dst: Botan::PKCS11::C_GetAttributeValue
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1576,1
    - Dst: const_cast<Attribute*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1578,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1578,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1579,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - session
    - object
    - ' attribute_values'
    argTypes:
    - SessionHandle
    - ObjectHandle
    - std::map<AttributeType, std::vector<uint8_t, TAlloc>>
    constantsTouched: []
    func_position:
      end: 1581
      start: 1548
    functionDepth: 1
    functionLinenumber: 1548
    functionLinenumberEnd: 1581
    functionName: Botan::PKCS11::C_GetAttributeValue
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - second::resize
    - second::data
    - const_cast<uint8_t*>
    - std::vector::size
    - const_cast<Attribute*>
    - second::clear
    - static_cast<CK_ATTRIBUTE_TYPE>
    - Botan::PKCS11::C_GetAttributeValue
    - std::vector::emplace_back
    - static_cast<Ulong>
    - std::vector::at
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: "bool C_GetAttributeValue(SessionHandle session,\n                               ObjectHandle
      object,\n                               std::map<AttributeType, std::vector<uint8_t,
      TAlloc>>& attribute_values,\n                               ReturnValue* return_value
      = ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1632,1
    - Dst: static_cast<CK_ATTRIBUTE_TYPE>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1632,1
    - Dst: second::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1633,1
    - Dst: static_cast<CK_ULONG>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1634,1
    - Dst: second::size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1634,1
    - Dst: Botan::PKCS11::C_SetAttributeValue
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1637,1
    - Dst: const_cast<Attribute*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1639,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1639,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1640,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - session
    - object
    - ' attribute_values'
    argTypes:
    - SessionHandle
    - ObjectHandle
    - std::map<AttributeType, std::vector<uint8_t, TAlloc>>
    constantsTouched: []
    func_position:
      end: 1642
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1642
    functionName: Botan::PKCS11::C_SetAttributeValue
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - second::data
    - std::vector::size
    - second::size
    - Botan::PKCS11::C_SetAttributeValue
    - const_cast<Attribute*>
    - static_cast<CK_ATTRIBUTE_TYPE>
    - static_cast<CK_ULONG>
    - std::vector::emplace_back
    - static_cast<Ulong>
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: "bool C_SetAttributeValue(SessionHandle session,\n                               ObjectHandle
      object,\n                               std::map<AttributeType, std::vector<uint8_t,
      TAlloc>>& attribute_values,\n                               ReturnValue* return_value
      = ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::C_Encrypt
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1770,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1771,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1771,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1772,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1772,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1779,1
    - Dst: Botan::PKCS11::C_Encrypt
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1780,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1781,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1781,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1782,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1782,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1783,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - session
    - ' plaintext_data'
    - ' encrypted_data'
    argTypes:
    - SessionHandle
    - std::vector<uint8_t, TAllocA>
    - std::vector<uint8_t, TAllocB>
    constantsTouched: []
    func_position:
      end: 1790
      start: 1765
    functionDepth: 1
    functionLinenumber: 1765
    functionLinenumberEnd: 1790
    functionName: Botan::PKCS11::C_Encrypt
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - const_cast<Byte*>
    - Botan::PKCS11::data
    - Botan::PKCS11::C_Encrypt
    - size
    - resize
    - static_cast<Ulong>
    linkageType: ''
    returnType: bool
    signature: "bool C_Encrypt(SessionHandle session,\n                     const
      std::vector<uint8_t, TAllocA>& plaintext_data,\n                     std::vector<uint8_t,
      TAllocB>& encrypted_data,\n                     ReturnValue* return_value =
      ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::C_Decrypt
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1907,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1908,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1908,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1909,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1909,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1916,1
    - Dst: Botan::PKCS11::C_Decrypt
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1917,1
    - Dst: const_cast<Byte*>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1918,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1918,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1919,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1919,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1920,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:1925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - session
    - ' encrypted_data'
    - ' decrypted_data'
    argTypes:
    - SessionHandle
    - std::vector<uint8_t, TAllocA>
    - std::vector<uint8_t, TAllocB>
    constantsTouched: []
    func_position:
      end: 1927
      start: 1902
    functionDepth: 1
    functionLinenumber: 1902
    functionLinenumberEnd: 1927
    functionName: Botan::PKCS11::C_Decrypt
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - const_cast<Byte*>
    - Botan::PKCS11::data
    - Botan::PKCS11::C_Decrypt
    - size
    - resize
    - static_cast<Ulong>
    linkageType: ''
    returnType: bool
    signature: "bool C_Decrypt(SessionHandle session,\n                     const
      std::vector<uint8_t, TAllocA>& encrypted_data,\n                     std::vector<uint8_t,
      TAllocB>& decrypted_data,\n                     ReturnValue* return_value =
      ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::C_Sign
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2147,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2147,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2147,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2147,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2151,1
    - Dst: Botan::PKCS11::C_Sign
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2152,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2153,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2154,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2154,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2155,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - session
    - ' data'
    - ' signature'
    argTypes:
    - SessionHandle
    - std::vector<uint8_t, TAllocA>
    - std::vector<uint8_t, TAllocB>
    constantsTouched: []
    func_position:
      end: 2162
      start: 2142
    functionDepth: 1
    functionLinenumber: 2142
    functionLinenumberEnd: 2162
    functionName: Botan::PKCS11::C_Sign
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::C_Sign
    - Botan::PKCS11::data
    - size
    - resize
    - static_cast<Ulong>
    linkageType: ''
    returnType: bool
    signature: "bool C_Sign(SessionHandle session,\n                  const std::vector<uint8_t,
      TAllocA>& data,\n                  std::vector<uint8_t, TAllocB>& signature,\n
      \                 ReturnValue* return_value = ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::C_SignUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2202,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2202,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2202,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - ' part'
    argTypes:
    - SessionHandle
    - std::vector<uint8_t, TAlloc>
    constantsTouched: []
    func_position:
      end: 2203
      start: 2199
    functionDepth: 1
    functionLinenumber: 2199
    functionLinenumberEnd: 2203
    functionName: Botan::PKCS11::C_SignUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - static_cast<Ulong>
    - Botan::PKCS11::data
    - Botan::PKCS11::C_SignUpdate
    - size
    linkageType: ''
    returnType: bool
    signature: "bool C_SignUpdate(SessionHandle session,\n                        const
      std::vector<uint8_t, TAlloc>& part,\n                        ReturnValue* return_value
      = ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::C_SignFinal
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2246,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2250,1
    - Dst: Botan::PKCS11::C_SignFinal
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2251,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2251,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - session
    - ' signature'
    argTypes:
    - SessionHandle
    - std::vector<uint8_t, TAlloc>
    constantsTouched: []
    func_position:
      end: 2256
      start: 2242
    functionDepth: 1
    functionLinenumber: 2242
    functionLinenumberEnd: 2256
    functionName: Botan::PKCS11::C_SignFinal
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - resize
    - Botan::PKCS11::data
    - Botan::PKCS11::C_SignFinal
    linkageType: ''
    returnType: bool
    signature: "bool C_SignFinal(SessionHandle session,\n                       std::vector<uint8_t,
      TAlloc>& signature,\n                       ReturnValue* return_value = ThrowException)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::C_Verify
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2375,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2376,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2377,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2377,1
    - Dst: Botan::PKCS11::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2378,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2379,1
    - Dst: size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - ' data'
    - ' signature'
    argTypes:
    - SessionHandle
    - std::vector<uint8_t, TAllocA>
    - std::vector<uint8_t, TAllocB>
    constantsTouched: []
    func_position:
      end: 2381
      start: 2371
    functionDepth: 1
    functionLinenumber: 2371
    functionLinenumberEnd: 2381
    functionName: Botan::PKCS11::C_Verify
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - static_cast<Ulong>
    - Botan::PKCS11::C_Verify
    - Botan::PKCS11::data
    - size
    linkageType: ''
    returnType: bool
    signature: "bool C_Verify(SessionHandle session,\n                    const std::vector<uint8_t,
      TAllocA>& data,\n                    std::vector<uint8_t, TAllocB>& signature,\n
      \                   ReturnValue* return_value = ThrowException) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::C_VerifyUpdate
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2421,1
    - Dst: std::vector<uint8_t, TAlloc>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2421,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2421,1
    - Dst: std::vector<uint8_t, TAlloc>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - part
    argTypes:
    - SessionHandle
    - std::vector<uint8_t, TAlloc>
    constantsTouched: []
    func_position:
      end: 2422
      start: 2418
    functionDepth: 1
    functionLinenumber: 2418
    functionLinenumberEnd: 2422
    functionName: Botan::PKCS11::C_VerifyUpdate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 1
    functionsReached:
    - static_cast<Ulong>
    - std::vector<uint8_t, TAlloc>::data
    - Botan::PKCS11::C_VerifyUpdate
    - std::vector<uint8_t, TAlloc>::size
    linkageType: ''
    returnType: bool
    signature: "bool C_VerifyUpdate(SessionHandle session,\n                          std::vector<uint8_t,
      TAlloc> part,\n                          ReturnValue* return_value = ThrowException)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2832
      start: 2832
    functionDepth: 0
    functionLinenumber: 2832
    functionLinenumberEnd: 2832
    functionName: Botan::PKCS11::get_functions
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FunctionListPtr
    signature: FunctionListPtr get_functions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2857,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2857,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/prov/pkcs11/p11.h:2861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2854
    functionDepth: 0
    functionLinenumber: 2854
    functionLinenumberEnd: 2865
    functionName: Botan::PKCS11_Error
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - static_cast<int>
    - Botan::to_string
    linkageType: ''
    returnType: PKCS11_ReturnError
    signature: PKCS11_ReturnError PKCS11_Error
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_word
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:30,1
    - Dst: Botan::PKCS11::add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:31,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: Botan::PKCS11::PublicKeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.h
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_word
    - Botan::PKCS11::add_binary
    - serialize
    linkageType: ''
    returnType: RSA_PublicKeyGenerationProperties
    signature: RSA_PublicKeyGenerationProperties PublicKeyProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RSA_PublicKeyImportProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: Botan::PKCS11::PublicKeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.h
    functionUses: 0
    functionsReached:
    - RSA_PublicKeyImportProperties
    linkageType: ''
    returnType: RSA_PublicKeyImportProperties
    signature: RSA_PublicKeyImportProperties PublicKeyProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan::PKCS11::generate_another
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> generate_another(RandomNumberGenerator&)
      const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RSA_PrivateKeyImportProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:99,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:103,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:103,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:107,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:107,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:110,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:110,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:113,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:113,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:116,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:116,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:119,1
    - Dst: serialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 132
    functionName: PrivateKeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.h
    functionUses: 0
    functionsReached:
    - RSA_PrivateKeyImportProperties
    - add_binary
    - serialize
    linkageType: ''
    returnType: RSA_PrivateKeyImportProperties
    signature: RSA_PrivateKeyImportProperties PrivateKeyProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RSA_PrivateKeyGenerationProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_rsa.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: PrivateKeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.h
    functionUses: 0
    functionsReached:
    - RSA_PrivateKeyGenerationProperties
    linkageType: ''
    returnType: RSA_PrivateKeyGenerationProperties
    signature: RSA_PrivateKeyGenerationProperties PrivateKeyProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - software_padding
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: set_use_software_padding
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_use_software_padding(bool software_padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: uses_software_padding
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_rsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool uses_software_padding() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Session
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: Botan::PKCS11::PKCS11_RNG::PKCS11_RNG
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKCS11_RNG::PKCS11_RNG(Session& session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:16,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:17,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:17,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:17,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:17,1
    - Dst: Ulong
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:17,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:17,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:20,1
    - Dst: module
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:21,1
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:21,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:21,1
    - Dst: Ulong
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:21,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: Botan::PKCS11::PKCS11_RNG::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.cpp
    functionUses: 0
    functionsReached:
    - Ulong
    - const_cast<uint8_t*>
    - std::span<const uint8_t>::empty
    - std::span<uint8_t>::size
    - module
    - std::span<uint8_t>::empty
    - std::span<uint8_t>::data
    - get
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void PKCS11_RNG::fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.cpp:18,1
    - Dst: add_binary
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' subject'
    - ' value'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: Botan::PKCS11::X509_CertificateProperties::X509_CertificateProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_x509.cpp
    functionUses: 0
    functionsReached:
    - add_binary
    linkageType: ''
    returnType: void
    signature: "void X509_CertificateProperties::X509_CertificateProperties(const
      std::vector<uint8_t>& subject,\n                                                       const
      std::vector<uint8_t>& value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlock
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.cpp:23,1
    - Dst: get_attribute_value
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - handle
    argTypes:
    - Session
    - ObjectHandle
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: Botan::PKCS11::PKCS11_X509_Certificate::PKCS11_X509_Certificate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_x509.cpp
    functionUses: 0
    functionsReached:
    - get_attribute_value
    - unlock
    linkageType: ''
    returnType: void
    signature: void PKCS11_X509_Certificate::PKCS11_X509_Certificate(Session& session,
      ObjectHandle handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/prov/pkcs11/p11_x509.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - ' props'
    argTypes:
    - Session
    - X509_CertificateProperties
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: Botan::PKCS11::PKCS11_X509_Certificate::PKCS11_X509_Certificate
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_x509.cpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: void
    signature: void PKCS11_X509_Certificate::PKCS11_X509_Certificate(Session& session,
      const X509_CertificateProperties& props)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.h:65,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.h:66,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.h:75,1
    - Dst: static_cast<Ulong>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.h:76,1
    - Dst: const_cast<Mechanism*>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.h:80,1
    - Dst: static_cast<MechanismType>
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.h:82,1
    - Dst: memset
      Src: /src/botan/src/lib/prov/pkcs11/p11_mechanism.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 100
    functionName: Botan::PKCS11::final
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_mechanism.h
    functionUses: 0
    functionsReached:
    - const_cast<uint8_t*>
    - const_cast<Mechanism*>
    - memset
    - static_cast<Ulong>
    - static_cast<MechanismType>
    linkageType: ''
    returnType: MechanismWrapper
    signature: MechanismWrapper final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' session'
    - ' props'
    argTypes:
    - Session
    - EC_PublicKeyImportProperties
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: Botan::PKCS11::PKCS11_ECDH_PublicKey
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKCS11_ECDH_PublicKey(Session& session, const EC_PublicKeyImportProperties&
      props)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::PKCS11::algo_name
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.h:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::PKCS11::generate_another
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.h
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> generate_another(RandomNumberGenerator&)
      const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::PKCS11::supports_operation
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_ec_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: public_value
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.h
    functionUses: 28
    functionsReached:
    - public_ec_point
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_value() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecdh.h:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: generate_another
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.h
    functionUses: 4
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<Private_Key>
    signature: std::unique_ptr<Private_Key> generate_another(RandomNumberGenerator&)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: supports_operation
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecdh.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_PublicKeyGenerationProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: Botan::PKCS11::PublicKeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h
    functionUses: 0
    functionsReached:
    - EC_PublicKeyGenerationProperties
    linkageType: ''
    returnType: EC_PublicKeyGenerationProperties
    signature: EC_PublicKeyGenerationProperties PublicKeyProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_PublicKeyImportProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: Botan::PKCS11::PublicKeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h
    functionUses: 0
    functionsReached:
    - EC_PublicKeyImportProperties
    linkageType: ''
    returnType: EC_PublicKeyImportProperties
    signature: EC_PublicKeyImportProperties PublicKeyProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_PrivateKeyGenerationProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h:82,1
    - Dst: EC_PrivateKeyImportProperties
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h:92,1
    - Dst: set_public_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h:148,1
    - Dst: EC_AffinePoint
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h:148,1
    - Dst: domain
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h:148,1
    - Dst: public_ec_point
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h:178,1
    - Dst: value
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h:192,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 220
    functionName: PrivateKeyProperties
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_ecc_key.h
    functionUses: 0
    functionsReached:
    - Invalid_State
    - public_ec_point
    - domain
    - EC_PrivateKeyImportProperties
    - value
    - set_public_point
    - EC_PrivateKeyGenerationProperties
    - EC_AffinePoint
    linkageType: ''
    returnType: EC_PrivateKeyGenerationProperties
    signature: EC_PrivateKeyGenerationProperties PrivateKeyProperties
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/prov/pkcs11/p11_module.cpp:16,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/pkcs11/p11_module.cpp:17,1
    - Dst: Botan::PKCS11::Module::reload
      Src: /src/botan/src/lib/prov/pkcs11/p11_module.cpp:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - file_path
    - init_args
    argTypes:
    - std::string_view
    - C_InitializeArgs
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: Botan::PKCS11::Module::Module
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_module.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - std::string_view::empty
    - Botan::PKCS11::Module::reload
    linkageType: ''
    returnType: void
    signature: void Module::Module(std::string_view file_path, C_InitializeArgs init_args)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Module
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan::PKCS11::Module::Module
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Module::Module(Module&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_Finalize
      Src: /src/botan/src/lib/prov/pkcs11/p11_module.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: Module::~Module() noexcept
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_module.cpp
    functionUses: 0
    functionsReached:
    - C_Finalize
    linkageType: ''
    returnType: void
    signature: void Module::~Module() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_Finalize
      Src: /src/botan/src/lib/prov/pkcs11/p11_module.cpp:34,1
    - Dst: std::make_unique<Dynamically_Loaded_Library>
      Src: /src/botan/src/lib/prov/pkcs11/p11_module.cpp:37,1
    - Dst: Botan::PKCS11::LowLevel::C_GetFunctionList
      Src: /src/botan/src/lib/prov/pkcs11/p11_module.cpp:38,1
    - Dst: std::make_unique<LowLevel>
      Src: /src/botan/src/lib/prov/pkcs11/p11_module.cpp:39,1
    - Dst: C_Initialize
      Src: /src/botan/src/lib/prov/pkcs11/p11_module.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - init_args
    argTypes:
    - C_InitializeArgs
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: Botan::PKCS11::Module::reload
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_module.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS11::LowLevel::C_GetFunctionList
    - std::make_unique<LowLevel>
    - C_Finalize
    - C_Initialize
    - std::make_unique<Dynamically_Loaded_Library>
    linkageType: ''
    returnType: void
    signature: void Module::reload(C_InitializeArgs init_args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 49
    functionName: Botan::PKCS11::Hardware_RNG
    functionSourceFile: /src/botan/src/lib/prov/pkcs11/p11_randomgenerator.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: PKCS11_RNG
    signature: PKCS11_RNG Hardware_RNG
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RandomNumberGenerator
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.h:24,1
    - Dst: SessionBundle::SessionBundle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 40
    functionName: Botan::TPM2::Hardware_RNG
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rng.h
    functionUses: 0
    functionsReached:
    - SessionBundle::SessionBundle
    - RandomNumberGenerator
    linkageType: ''
    returnType: RandomNumberGenerator
    signature: RandomNumberGenerator Hardware_RNG
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - location
    - rc
    argTypes:
    - std::string_view
    - TSS2_RC
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: Botan::TPM2::check_rc
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 1
    functionsReached:
    - Error
    linkageType: ''
    returnType: void
    signature: void check_rc(std::string_view location, TSS2_RC rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::get_raw_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:80,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - location
    - rc
    argTypes:
    - std::string_view
    - TSS2_RC
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: Botan::TPM2::check_rc_expecting
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - Botan::TPM2::check_rc
    - Botan::TPM2::get_raw_rc
    linkageType: ''
    returnType: TSS2_RC
    signature: TSS2_RC check_rc_expecting(std::string_view location, TSS2_RC rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - tpm2_buffer auto
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Botan::TPM2::as_span
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto as_span(tpm2_buffer auto& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:110,1
    - Dst: static_cast<decltype(data.size)>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:111,1
    - Dst: Botan::TPM2::as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' data'
    - length
    argTypes:
    - tpm2_buffer auto
    - size_t
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: Botan::TPM2::as_span
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 1
    functionsReached:
    - static_cast<decltype(data.size)>
    - BOTAN_ASSERT_NOMSG
    - Botan::TPM2::as_span
    linkageType: ''
    returnType: auto
    signature: auto as_span(tpm2_buffer auto& data, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:119,1
    - Dst: Botan::TPM2::as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:119,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' dest'
    - data
    argTypes:
    - T
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Botan::TPM2::copy_into
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - copy_mem
    - Botan::TPM2::as_span
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void copy_into(T& dest, std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::copy_into
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: Botan::TPM2::copy_into
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 1
    functionsReached:
    - Botan::TPM2::copy_into
    linkageType: ''
    returnType: T
    signature: T copy_into(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OutT::resize
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:136,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:137,1
    - Dst: Botan::TPM2::as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - tpm2_buffer auto
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: Botan::TPM2::copy_into
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 1
    functionsReached:
    - copy_mem
    - Botan::TPM2::as_span
    - OutT::resize
    linkageType: ''
    returnType: OutT
    signature: OutT copy_into(const tpm2_buffer auto& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:145,1
    - Dst: static_cast<decltype(result.size)>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:146,1
    - Dst: clear_bytes
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: Botan::TPM2::init_with_size
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - static_cast<decltype(result.size)>
    - BOTAN_ASSERT_NOMSG
    - clear_bytes
    linkageType: ''
    returnType: T
    signature: T init_with_size(size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::init_with_size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: Botan::TPM2::init_empty
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - Botan::TPM2::init_with_size
    linkageType: ''
    returnType: T
    signature: T init_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Esys_Free
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: operator()(void* handle)
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - Esys_Free
    linkageType: ''
    returnType: void
    signature: void operator()(void* handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' object'
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: Botan::TPM2::ObjectSetter::ObjectSetter
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectSetter(Object& object, bool persistent = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: was_written
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:189,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:194,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: ~ObjectSetter() noexcept
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - was_written
    - handles
    linkageType: ''
    returnType: void
    signature: void ~ObjectSetter() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: Botan::TPM2::ObjectSetter::ObjectSetter
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectSetter(const ObjectSetter&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: Botan::TPM2::ObjectSetter::ObjectSetter
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjectSetter(ObjectSetter&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: '& operator=(const ObjectSetter&)'
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ObjectSetter
    signature: ObjectSetter & operator=(const ObjectSetter&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: '& operator=(ObjectSetter&&)'
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ObjectSetter
    signature: ObjectSetter & operator=(ObjectSetter&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: operator uint32_t*() && noexcept
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator uint32_t*() && noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: Botan::TPM2::ObjectSetter::was_written
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool was_written() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' object'
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: Botan::TPM2::out_transient_handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto out_transient_handle(Object& object)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' object'
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: Botan::TPM2::out_persistent_handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto out_persistent_handle(Object& object)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' object'
    argTypes:
    - auto
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: '& operator()(auto& object) const noexcept'
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool & operator()(auto& object) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' object'
    argTypes:
    - auto
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: operator()(const auto& object) const noexcept
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const auto& object) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' fn'
    argTypes:
    - FnT
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: Botan::TPM2::AttributeWrapper::for_all
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - fn
    linkageType: ''
    returnType: void
    signature: void for_all(FnT&& fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::AttributeWrapper::for_all
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:267,1
    - Dst: std::popcount
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: Botan::TPM2::AttributeWrapper::all_single_bit_bitmasks
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - std::popcount
    - Botan::TPM2::AttributeWrapper::for_all
    linkageType: ''
    returnType: bool
    signature: bool all_single_bit_bitmasks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::AttributeWrapper::for_all
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:276,1
    - Dst: prop
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - AttributeWrapperT
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: Botan::TPM2::AttributeWrapper::render
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - prop
    - Botan::TPM2::AttributeWrapper::for_all
    linkageType: ''
    returnType: UnderlyingT
    signature: UnderlyingT render(AttributeWrapperT attributes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::AttributeWrapper::for_all
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:286,1
    - Dst: prop
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - UnderlyingT
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: Botan::TPM2::AttributeWrapper::read
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - prop
    - Botan::TPM2::AttributeWrapper::for_all
    linkageType: ''
    returnType: AttributeWrapperT
    signature: AttributeWrapperT read(UnderlyingT attributes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:301,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:303,1
    - Dst: BigInt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:308,1
    - Dst: Botan::TPM2::as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_util.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - public_blob
    argTypes:
    - TPM2B_PUBLIC*
    constantsTouched: []
    func_position:
      end: 309
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 309
    functionName: Botan::TPM2::rsa_pubkey_components_from_tss2_public
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_util.h
    functionUses: 0
    functionsReached:
    - Botan::TPM2::as_span
    - BOTAN_ARG_CHECK
    - BOTAN_ASSERT_NONNULL
    - BigInt
    linkageType: ''
    returnType: std::pair<BigInt, BigInt>
    signature: std::pair<BigInt, BigInt> rsa_pubkey_components_from_tss2_public(const
      TPM2B_PUBLIC* public_blob)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - algo_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: Botan::TPM2::asymmetric_algorithm_botan_to_tss2
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<TPM2_ALG_ID>
    signature: "std::optional<TPM2_ALG_ID> asymmetric_algorithm_botan_to_tss2(\n   std::string_view
      algo_name) noexcept"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - hash_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: Botan::TPM2::hash_algo_botan_to_tss2
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<TPMI_ALG_HASH>
    signature: std::optional<TPMI_ALG_HASH> hash_algo_botan_to_tss2(std::string_view
      hash_name) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::hash_algo_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:74,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:75,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - hash_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: Botan::TPM2::get_tpm2_hash_type
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached:
    - Lookup_Error
    - auto::value
    - Botan::TPM2::hash_algo_botan_to_tss2
    linkageType: ''
    returnType: TPMI_ALG_HASH
    signature: TPMI_ALG_HASH get_tpm2_hash_type(std::string_view hash_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - hash_id
    argTypes:
    - TPMI_ALG_HASH
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: Botan::TPM2::hash_algo_tss2_to_botan
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> hash_algo_tss2_to_botan(TPMI_ALG_HASH hash_id)
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::hash_algo_tss2_to_botan
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:113,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:114,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - hash_id
    argTypes:
    - TPM2_ALG_ID
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: Botan::TPM2::get_botan_hash_name
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached:
    - Botan::TPM2::hash_algo_tss2_to_botan
    - Invalid_State
    - auto::value
    linkageType: ''
    returnType: std::string
    signature: std::string get_botan_hash_name(TPM2_ALG_ID hash_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - cipher_id
    - key_bits
    argTypes:
    - TPMI_ALG_SYM
    - TPM2_KEY_BITS
    constantsTouched: []
    func_position:
      end: 157
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 157
    functionName: Botan::TPM2::block_cipher_tss2_to_botan
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> block_cipher_tss2_to_botan(TPMI_ALG_SYM
      cipher_id,\n                                                                           TPM2_KEY_BITS
      key_bits) noexcept"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - cipher_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 180
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 180
    functionName: Botan::TPM2::block_cipher_botan_to_tss2
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::pair<TPMI_ALG_SYM, TPM2_KEY_BITS>>
    signature: "std::optional<std::pair<TPMI_ALG_SYM, TPM2_KEY_BITS>> block_cipher_botan_to_tss2(\n
      \  std::string_view cipher_name) noexcept"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - mode_id
    argTypes:
    - TPMI_ALG_SYM_MODE
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: Botan::TPM2::cipher_mode_tss2_to_botan
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> cipher_mode_tss2_to_botan(TPMI_ALG_SYM_MODE
      mode_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - mode_id
    argTypes:
    - TPMI_ECC_CURVE
    constantsTouched: []
    func_position:
      end: 219
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 219
    functionName: Botan::TPM2::curve_id_tss2_to_botan
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> curve_id_tss2_to_botan(TPMI_ECC_CURVE mode_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - curve_id
    argTypes:
    - TPMI_ECC_CURVE
    constantsTouched: []
    func_position:
      end: 238
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 238
    functionName: Botan::TPM2::curve_id_order_byte_size
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> curve_id_order_byte_size(TPMI_ECC_CURVE curve_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_formatted_string
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ' curve_oid'
    argTypes:
    - OID
    constantsTouched: []
    func_position:
      end: 260
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 260
    functionName: Botan::TPM2::get_tpm2_curve_id
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached:
    - to_formatted_string
    linkageType: ''
    returnType: std::optional<TPM2_ECC_CURVE>
    signature: std::optional<TPM2_ECC_CURVE> get_tpm2_curve_id(const OID& curve_oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - mode_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 276
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 276
    functionName: Botan::TPM2::cipher_mode_botan_to_tss2
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<TPMI_ALG_SYM_MODE>
    signature: std::optional<TPMI_ALG_SYM_MODE> cipher_mode_botan_to_tss2(std::string_view
      mode_name) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::block_cipher_tss2_to_botan
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:283,1
    - Dst: Botan::TPM2::cipher_mode_tss2_to_botan
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:288,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:293,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:293,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cipher_def
    argTypes:
    - TPMT_SYM_DEF
    constantsTouched: []
    func_position:
      end: 294
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 294
    functionName: Botan::TPM2::cipher_tss2_to_botan
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan::TPM2::block_cipher_tss2_to_botan
    - Botan::TPM2::cipher_mode_tss2_to_botan
    - auto::value
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> cipher_tss2_to_botan(TPMT_SYM_DEF cipher_def)
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:298,1
    - Dst: Botan::TPM2::block_cipher_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:302,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:302,1
    - Dst: Botan::TPM2::cipher_mode_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:303,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:303,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - algo_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 314
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 314
    functionName: Botan::TPM2::cipher_botan_to_tss2
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached:
    - SCAN_Name::algo_name
    - Botan::TPM2::block_cipher_botan_to_tss2
    - auto::value
    - SCAN_Name::arg_count
    - Botan::TPM2::cipher_mode_botan_to_tss2
    - SCAN_Name::arg
    linkageType: ''
    returnType: std::optional<TPMT_SYM_DEF>
    signature: std::optional<TPMT_SYM_DEF> cipher_botan_to_tss2(std::string_view algo_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::cipher_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:317,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:318,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - algo_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 322
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 322
    functionName: Botan::TPM2::get_tpm2_sym_cipher_spec
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached:
    - Lookup_Error
    - auto::value
    - Botan::TPM2::cipher_botan_to_tss2
    linkageType: ''
    returnType: TPMT_SYM_DEF
    signature: TPMT_SYM_DEF get_tpm2_sym_cipher_spec(std::string_view algo_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 1
    argNames:
    - padding_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 336
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 336
    functionName: Botan::TPM2::rsa_signature_padding_botan_to_tss2
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<TPMI_ALG_SIG_SCHEME>
    signature: "std::optional<TPMI_ALG_SIG_SCHEME> rsa_signature_padding_botan_to_tss2(\n
      \  std::string_view padding_name) noexcept"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:340,1
    - Dst: Botan::TPM2::rsa_signature_padding_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:344,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:344,1
    - Dst: Botan::TPM2::hash_algo_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:345,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:345,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:350,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:350,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:356,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 359
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 359
    functionName: Botan::TPM2::rsa_signature_scheme_botan_to_tss2
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached:
    - SCAN_Name::algo_name
    - auto::value
    - SCAN_Name::arg_count
    - Botan::TPM2::hash_algo_botan_to_tss2
    - SCAN_Name::arg
    - Botan::TPM2::rsa_signature_padding_botan_to_tss2
    linkageType: ''
    returnType: std::optional<TPMT_SIG_SCHEME>
    signature: std::optional<TPMT_SIG_SCHEME> rsa_signature_scheme_botan_to_tss2(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 372
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 372
    functionName: Botan::TPM2::rsa_encryption_padding_botan_to_tss2
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<TPMI_ALG_ASYM_SCHEME>
    signature: "std::optional<TPMI_ALG_ASYM_SCHEME> rsa_encryption_padding_botan_to_tss2(\n
      \  std::string_view name) noexcept"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::rsa_encryption_padding_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:376,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:376,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:381,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:382,1
    - Dst: Botan::TPM2::hash_algo_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:386,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:386,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:392,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:393,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:395,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - padding
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 403
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 403
    functionName: Botan::TPM2::rsa_encryption_scheme_botan_to_tss2
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_algo_mappings.h
    functionUses: 0
    functionsReached:
    - SCAN_Name::algo_name
    - auto::value
    - Botan::TPM2::rsa_encryption_padding_botan_to_tss2
    - SCAN_Name::arg_count
    - Botan::TPM2::hash_algo_botan_to_tss2
    - SCAN_Name::arg
    linkageType: ''
    returnType: std::optional<TPMT_RSA_DECRYPT>
    signature: std::optional<TPMT_RSA_DECRYPT> rsa_encryption_scheme_botan_to_tss2(std::string_view
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: handles
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: Object & handles() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: sessions
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: SessionBundle
    signature: SessionBundle & sessions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: handles
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: Object & handles()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: handles
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: Object & handles() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: sessions
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: SessionBundle
    signature: SessionBundle & sessions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bs_thread
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - TPMA_OBJECT
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::TPM2::ObjectAttributes::read
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - bs_thread
    linkageType: ''
    returnType: ObjectAttributes
    signature: ObjectAttributes ObjectAttributes::read(TPMA_OBJECT attributes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::StdoutReporter::render
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - ObjectAttributes
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::TPM2::ObjectAttributes::render
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::StdoutReporter::render
    linkageType: ''
    returnType: TPMA_OBJECT
    signature: TPMA_OBJECT ObjectAttributes::render(ObjectAttributes attributes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:48,1
    - Dst: std::make_unique<ObjectHandles>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:48,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - std::shared_ptr<Context>
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Botan::TPM2::Object::Object
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ObjectHandles>
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Object::Object(std::shared_ptr<Context> ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - handle
    argTypes:
    - std::shared_ptr<Context>
    - ESYS_TR
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::TPM2::Object::Object
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Object::Object(std::shared_ptr<Context> ctx, ESYS_TR handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:57,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:58,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:59,1
    - Dst: Botan::TPM2::Object::scrub
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: Botan::TPM2::Object::Object
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TPM2::Object::scrub
    linkageType: ''
    returnType: void
    signature: void Object::Object(Object&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flush
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: Object::~Object()
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - flush
    linkageType: ''
    returnType: void
    signature: void Object::~Object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flush
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:71,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:72,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:73,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:74,1
    - Dst: scrub
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: '& Object::operator=(Object&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - flush
    - scrub
    - std::move
    linkageType: ''
    returnType: Object
    signature: Object & Object::operator=(Object&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::Object::has_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:83,1
    - Dst: Botan::TPM2::Object::has_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:84,1
    - Dst: Esys_TR_Close
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:85,1
    - Dst: Esys_FlushContext
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: Botan::TPM2::Object::flush
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - Esys_FlushContext
    - Botan::TPM2::Object::has_transient_handle
    - Esys_TR_Close
    - Botan::TPM2::Object::has_persistent_handle
    linkageType: ''
    returnType: void
    signature: void Object::flush() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:95,1
    - Dst: reset
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:96,1
    - Dst: reset
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: Botan::TPM2::Object::scrub
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 1
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Object::scrub()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::Object::flush
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:102,1
    - Dst: Botan::TPM2::Object::_disengage
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: Botan::TPM2::Object::_reset
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::Object::_disengage
    - Botan::TPM2::Object::flush
    linkageType: ''
    returnType: void
    signature: void Object::_reset() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ObjectHandles>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:108,1
    - Dst: reset
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: Botan::TPM2::Object::_disengage
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<ObjectHandles>
    - reset
    linkageType: ''
    returnType: void
    signature: void Object::_disengage() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: persistent::has_value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: Botan::TPM2::Object::has_persistent_handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 1
    functionsReached:
    - persistent::has_value
    linkageType: ''
    returnType: bool
    signature: bool Object::has_persistent_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: Botan::TPM2::Object::has_transient_handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Object::has_transient_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:121,1
    - Dst: Botan::TPM2::Object::has_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: Botan::TPM2::Object::persistent_handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - Botan::TPM2::Object::has_persistent_handle
    linkageType: ''
    returnType: TPM2_HANDLE
    signature: TPM2_HANDLE Object::persistent_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: Botan::TPM2::Object::transient_handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ESYS_TR
    signature: ESYS_TR Object::transient_handle() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:130,1
    - Dst: Botan::TPM2::ObjectAttributes::read
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sessions'
    argTypes:
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: Botan::TPM2::Object::attributes
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - _public_info
    - Botan::TPM2::ObjectAttributes::read
    linkageType: ''
    returnType: ObjectAttributes
    signature: ObjectAttributes Object::attributes(const SessionBundle& sessions)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PublicInfo>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:136,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:138,1
    - Dst: Esys_ReadPublic
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:139,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:144,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:145,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:146,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:147,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' sessions'
    - expected_type
    argTypes:
    - SessionBundle
    - std::optional<TPMI_ALG_PUBLIC>
    constantsTouched: []
    func_position:
      end: 155
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 155
    functionName: '& Object::_public_info(const SessionBundle& sessions, std::optional<TPMI_ALG_PUBLIC>
      expected_type) const'
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached:
    - out_ptr
    - BOTAN_STATE_CHECK
    - Esys_ReadPublic
    - std::make_unique<PublicInfo>
    - check_rc
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: PublicInfo
    signature: PublicInfo & Object::_public_info(const SessionBundle& sessions, std::optional<TPMI_ALG_PUBLIC>
      expected_type) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: '& Object::handles()'
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ObjectHandles
    signature: ObjectHandles & Object::handles()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bs_thread
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - TPMA_SESSION
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::TPM2::SessionAttributes::read
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp
    functionUses: 0
    functionsReached:
    - bs_thread
    linkageType: ''
    returnType: SessionAttributes
    signature: SessionAttributes SessionAttributes::read(TPMA_SESSION attributes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::StdoutReporter::render
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - SessionAttributes
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::TPM2::SessionAttributes::render
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::StdoutReporter::render
    linkageType: ''
    returnType: TPMA_SESSION
    signature: TPMA_SESSION SessionAttributes::render(SessionAttributes attributes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tpm2_sym_cipher_spec
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:46,1
    - Dst: get_tpm2_hash_type
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:47,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:49,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:51,1
    - Dst: Esys_StartAuthSession
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:52,1
    - Dst: out_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:62,1
    - Dst: std::shared_ptr<Session>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:64,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:64,1
    - Dst: Session::Session
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ctx'
    - sym_algo
    - hash_algo
    argTypes:
    - std::shared_ptr<Context>
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 70
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 70
    functionName: Botan::TPM2::Session::unauthenticated_session
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp
    functionUses: 6
    functionsReached:
    - Session::Session
    - Esys_StartAuthSession
    - get_tpm2_hash_type
    - out_transient_handle
    - std::move
    - check_rc
    - std::shared_ptr<Session>
    - get_tpm2_sym_cipher_spec
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: std::shared_ptr<Session>
    signature: "std::shared_ptr<Session> Session::unauthenticated_session(const std::shared_ptr<Context>&
      ctx,\n                                                          std::string_view
      sym_algo,\n                                                          std::string_view
      hash_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tpm2_sym_cipher_spec
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:77,1
    - Dst: get_tpm2_hash_type
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:78,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:80,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:82,1
    - Dst: Esys_StartAuthSession
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:83,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:84,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:85,1
    - Dst: out_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:93,1
    - Dst: std::shared_ptr<Session>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:95,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:95,1
    - Dst: Session::Session
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' ctx'
    - ' tpm_key'
    - sym_algo
    - hash_algo
    argTypes:
    - std::shared_ptr<Context>
    - TPM2::PrivateKey
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 101
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 101
    functionName: Botan::TPM2::Session::authenticated_session
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp
    functionUses: 3
    functionsReached:
    - Session::Session
    - Esys_StartAuthSession
    - handles
    - get_tpm2_hash_type
    - out_transient_handle
    - std::move
    - check_rc
    - std::shared_ptr<Session>
    - get_tpm2_sym_cipher_spec
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: std::shared_ptr<Session>
    signature: "std::shared_ptr<Session> Session::authenticated_session(const std::shared_ptr<Context>&
      ctx,\n                                                        const TPM2::PrivateKey&
      tpm_key,\n                                                        std::string_view
      sym_algo,\n                                                        std::string_view
      hash_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:103,1
    - Dst: Botan::TPM2::Session::set_attributes
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - attributes
    argTypes:
    - Object
    - SessionAttributes
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Botan::TPM2::Session::Session
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - Botan::TPM2::Session::set_attributes
    linkageType: ''
    returnType: void
    signature: void Session::Session(Object session, SessionAttributes attributes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:109,1
    - Dst: Esys_TRSess_GetAttributes
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:110,1
    - Dst: context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:110,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:110,1
    - Dst: Botan::TPM2::SessionAttributes::read
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: Botan::TPM2::Session::attributes
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp
    functionUses: 0
    functionsReached:
    - Esys_TRSess_GetAttributes
    - context
    - Botan::TPM2::SessionAttributes::read
    - transient_handle
    - check_rc
    linkageType: ''
    returnType: SessionAttributes
    signature: SessionAttributes Session::attributes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:115,1
    - Dst: Esys_TRSess_SetAttributes
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:116,1
    - Dst: context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:117,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:117,1
    - Dst: Botan::TPM2::SessionAttributes::render
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - SessionAttributes
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: Botan::TPM2::Session::set_attributes
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp
    functionUses: 1
    functionsReached:
    - Botan::TPM2::SessionAttributes::render
    - Esys_TRSess_SetAttributes
    - context
    - transient_handle
    - check_rc
    linkageType: ''
    returnType: void
    signature: void Session::set_attributes(SessionAttributes attributes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:122,1
    - Dst: Esys_TRSess_GetNonceTPM
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:123,1
    - Dst: context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:123,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:123,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:123,1
    - Dst: copy_into<secure_vector<uint8_t>>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: Botan::TPM2::Session::tpm_nonce
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp
    functionUses: 0
    functionsReached:
    - out_ptr
    - context
    - copy_into<secure_vector<uint8_t>>
    - transient_handle
    - check_rc
    - Esys_TRSess_GetNonceTPM
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Session::tpm_nonce() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: Botan::TPM2::ESYS_TR
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: detail::SessionHandle::operator
    signature: detail::SessionHandle::operator ESYS_TR() && noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Tss2_RC_DecodeInfo
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp:21,1
    - Dst: Error
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp:23,1
    - Dst: fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp:23,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - rc
    argTypes:
    - TSS2_RC
    constantsTouched: []
    func_position:
      end: 36
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 36
    functionName: Botan::TPM2::get_raw_rc
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Error
    - Tss2_RC_DecodeInfo
    linkageType: ''
    returnType: TSS2_RC
    signature: TSS2_RC get_raw_rc(TSS2_RC rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 205
    argCount: 1
    argNames:
    - rc
    argTypes:
    - TSS2_RC
    constantsTouched: []
    func_position:
      end: 246
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 246
    functionName: Botan::TPM2::raw_rc_to_string
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    linkageType: ''
    returnType: std::string
    signature: std::string raw_rc_to_string(TSS2_RC rc) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp:251,1
    - Dst: raw_rc_to_string
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp:253,1
    - Dst: get_raw_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp:253,1
    - Dst: Tss2_RC_Decode
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - location
    - rc
    argTypes:
    - std::string_view
    - TSS2_RC
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 256
    functionName: Botan::TPM2::Error::Error
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - raw_rc_to_string
    - Tss2_RC_Decode
    - get_raw_rc
    linkageType: ''
    returnType: void
    signature: void Error::Error(std::string_view location, TSS2_RC rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Tss2_RC_Decode
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: Botan::TPM2::Error::error_message
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_error.cpp
    functionUses: 0
    functionsReached:
    - Tss2_RC_Decode
    linkageType: ''
    returnType: std::string
    signature: std::string Error::error_message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::apply
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:33,1
    - Dst: Botan::RSA_PublicKey::RSA_PublicKey
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:33,1
    - Dst: Botan::TPM2::rsa_pubkey_components_from_tss2_public
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - public_area
    argTypes:
    - TPM2B_PUBLIC*
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: Botan::TPM2::rsa_pubkey_from_tss2_public
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - std::apply
    - Botan::RSA_PublicKey::RSA_PublicKey
    - Botan::TPM2::rsa_pubkey_components_from_tss2_public
    linkageType: ''
    returnType: Botan::RSA_PublicKey
    signature: Botan::RSA_PublicKey rsa_pubkey_from_tss2_public(const TPM2B_PUBLIC*
      public_area)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:40,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:41,1
    - Dst: Botan::TPM2::curve_id_tss2_to_botan
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:44,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:46,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:46,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:49,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:49,1
    - Dst: Botan::EC_AffinePoint::deserialize
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:52,1
    - Dst: concat
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:53,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:53,1
    - Dst: Botan::TPM2::as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:54,1
    - Dst: Botan::TPM2::as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:55,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:57,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:59,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:59,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - public_blob
    argTypes:
    - TPM2B_PUBLIC*
    constantsTouched: []
    func_position:
      end: 60
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 60
    functionName: Botan::TPM2::ecc_pubkey_from_tss2_public
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Botan::TPM2::curve_id_tss2_to_botan
    - auto::value
    - Botan::TPM2::as_span
    - Botan::EC_AffinePoint::deserialize
    - concat
    - std::vector<uint8_t>
    - std::move
    - Botan::EC_Group::from_name
    - Invalid_Argument
    - BOTAN_ARG_CHECK
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: std::pair<EC_Group, EC_AffinePoint>
    signature: std::pair<EC_Group, EC_AffinePoint> ecc_pubkey_from_tss2_public(const
      TPM2B_PUBLIC* public_blob)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:69,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:72,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:74,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:78,1
    - Dst: Esys_TR_FromTPMPublic
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:79,1
    - Dst: Botan::TPM2::out_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:80,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:82,1
    - Dst: Botan::TPM2::copy_into
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:83,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:84,1
    - Dst: Esys_TR_SetAuth
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:84,1
    - Dst: Object::transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:84,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:87,1
    - Dst: Esys_TR_GetTpmHandle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:88,1
    - Dst: Object::transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:88,1
    - Dst: Botan::TPM2::out_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:88,1
    - Dst: Object::_public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:90,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ' ctx'
    - persistent_object_handle
    - auth_value
    - ' sessions'
    argTypes:
    - std::shared_ptr<Context>
    - TPM2_HANDLE
    - std::span<const uint8_t>
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 95
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 95
    functionName: Botan::TPM2::load_persistent_object
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - Esys_TR_GetTpmHandle
    - Esys_TR_SetAuth
    - Esys_TR_FromTPMPublic
    - Botan::TPM2::copy_into
    - std::span<const uint8_t>::empty
    - BOTAN_STATE_CHECK
    - Botan::TPM2::check_rc
    - Object::transient_handle
    - Object::_public_info
    - Botan::TPM2::out_transient_handle
    - Botan::TPM2::out_persistent_handle
    - BOTAN_ARG_CHECK
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: Object
    signature: "Object load_persistent_object(const std::shared_ptr<Context>& ctx,\n
      \                             TPM2_HANDLE persistent_object_handle,\n                              std::span<const
      uint8_t> auth_value,\n                              const SessionBundle& sessions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:100,1
    - Dst: Tss2_MU_TPM2B_PUBLIC_Marshal
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:101,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:101,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:101,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:102,1
    - Dst: std::vector::shrink_to_fit
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - public_data
    argTypes:
    - TPM2B_PUBLIC*
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: Botan::TPM2::marshal_public_blob
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::shrink_to_fit
    - Botan::TPM2::check_rc
    - std::vector::resize
    - Tss2_MU_TPM2B_PUBLIC_Marshal
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> marshal_public_blob(const TPM2B_PUBLIC* public_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:110,1
    - Dst: Tss2_MU_TPM2B_PUBLIC_Unmarshal
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:111,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:111,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:111,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:112,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - marshalled_blob
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: Botan::TPM2::unmarshal_public_blob
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - Tss2_MU_TPM2B_PUBLIC_Unmarshal
    - Botan::TPM2::check_rc
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: TPM2B_PUBLIC
    signature: TPM2B_PUBLIC unmarshal_public_blob(std::span<const uint8_t> marshalled_blob)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:119,1
    - Dst: Tss2_MU_TPMT_PUBLIC_Marshal
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:120,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:121,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' key_template'
    argTypes:
    - TPMT_PUBLIC
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: Botan::TPM2::marshal_template
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - Botan::TPM2::check_rc
    - Tss2_MU_TPMT_PUBLIC_Marshal
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: TPM2B_TEMPLATE
    signature: TPM2B_TEMPLATE marshal_template(const TPMT_PUBLIC& key_template)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::PublicKey::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:131,1
    - Dst: load_persistent_object
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ctx'
    - persistent_object_handle
    - ' sessions'
    argTypes:
    - std::shared_ptr<Context>
    - TPM2_HANDLE
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: Botan::TPM2::PublicKey::load_persistent
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - load_persistent_object
    - Botan::TPM2::PublicKey::create
    linkageType: ''
    returnType: std::unique_ptr<PublicKey>
    signature: "std::unique_ptr<PublicKey> PublicKey::load_persistent(const std::shared_ptr<Context>&
      ctx,\n                                                      TPM2_HANDLE persistent_object_handle,\n
      \                                                     const SessionBundle& sessions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unmarshal_public_blob
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:137,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:139,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:142,1
    - Dst: Esys_LoadExternal
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:143,1
    - Dst: out_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:150,1
    - Dst: Botan::TPM2::PublicKey::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:151,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ctx'
    - public_blob
    - ' sessions'
    argTypes:
    - std::shared_ptr<Context>
    - std::span<const uint8_t>
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 152
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 152
    functionName: Botan::TPM2::PublicKey::load_transient
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 2
    functionsReached:
    - Botan::TPM2::PublicKey::create
    - unmarshal_public_blob
    - Esys_LoadExternal
    - out_transient_handle
    - std::move
    - check_rc
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: std::unique_ptr<PublicKey>
    signature: "std::unique_ptr<PublicKey> PublicKey::load_transient(const std::shared_ptr<Context>&
      ctx,\n                                                     std::span<const uint8_t>
      public_blob,\n                                                     const SessionBundle&
      sessions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: marshal_public_blob
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:155,1
    - Dst: _public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:155,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: Botan::TPM2::PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - _public_info
    - get
    - marshal_public_blob
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Object::_public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:159,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:159,1
    - Dst: std::unique_ptr<PublicKey>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:162,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:162,1
    - Dst: RSA_PublicKey::RSA_PublicKey
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:162,1
    - Dst: std::unique_ptr<PublicKey>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:167,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:167,1
    - Dst: EC_PublicKey::EC_PublicKey
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:167,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:171,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:171,1
    - Dst: Object::has_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - handles
    - ' sessions'
    argTypes:
    - Object
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: Botan::TPM2::PublicKey::create
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 2
    functionsReached:
    - Object::has_persistent_handle
    - EC_PublicKey::EC_PublicKey
    - std::unique_ptr<PublicKey>
    - RSA_PublicKey::RSA_PublicKey
    - Object::_public_info
    - get
    - std::move
    - Botan::fmt
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<PublicKey>
    signature: std::unique_ptr<PublicKey> PublicKey::create(Object handles, const
      SessionBundle& sessions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::PrivateKey::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:181,1
    - Dst: load_persistent_object
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' ctx'
    - persistent_object_handle
    - auth_value
    - ' sessions'
    argTypes:
    - std::shared_ptr<Context>
    - TPM2_HANDLE
    - std::span<const uint8_t>
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: Botan::TPM2::PrivateKey::load_persistent
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::PrivateKey::create
    - load_persistent_object
    linkageType: ''
    returnType: std::unique_ptr<PrivateKey>
    signature: "std::unique_ptr<PrivateKey> PrivateKey::load_persistent(const std::shared_ptr<Context>&
      ctx,\n                                                        TPM2_HANDLE persistent_object_handle,\n
      \                                                       std::span<const uint8_t>
      auth_value,\n                                                        const SessionBundle&
      sessions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:193,1
    - Dst: unmarshal_public_blob
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:196,1
    - Dst: copy_into<TPM2B_PRIVATE>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:197,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:199,1
    - Dst: Esys_Load
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:200,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:201,1
    - Dst: out_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:207,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:209,1
    - Dst: copy_into<TPM2B_AUTH>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:210,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:211,1
    - Dst: Esys_TR_SetAuth
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:211,1
    - Dst: Object::transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:211,1
    - Dst: Botan::TPM2::PrivateKey::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:214,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - ' ctx'
    - auth_value
    - ' parent'
    - public_blob
    - private_blob
    - ' sessions'
    argTypes:
    - std::shared_ptr<Context>
    - std::span<const uint8_t>
    - TPM2::PrivateKey
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 215
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 215
    functionName: Botan::TPM2::PrivateKey::load_transient
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 2
    functionsReached:
    - Esys_TR_SetAuth
    - Botan::TPM2::PrivateKey::create
    - std::span<const uint8_t>::empty
    - unmarshal_public_blob
    - Object::transient_handle
    - handles
    - out_transient_handle
    - Esys_Load
    - std::move
    - check_rc
    - BOTAN_ASSERT_NONNULL
    - copy_into<TPM2B_AUTH>
    - copy_into<TPM2B_PRIVATE>
    linkageType: ''
    returnType: std::unique_ptr<PrivateKey>
    signature: "std::unique_ptr<PrivateKey> PrivateKey::load_transient(const std::shared_ptr<Context>&
      ctx,\n                                                       std::span<const
      uint8_t> auth_value,\n                                                       const
      TPM2::PrivateKey& parent,\n                                                       std::span<const
      uint8_t> public_blob,\n                                                       std::span<const
      uint8_t> private_blob,\n                                                       const
      SessionBundle& sessions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:222,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:227,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:232,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:236,1
    - Dst: marshal_template
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:239,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:252,1
    - Dst: Esys_CreateLoaded
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:253,1
    - Dst: out_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:260,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:261,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:262,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:263,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:264,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:265,1
    - Dst: Object::has_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:265,1
    - Dst: Botan::TPM2::PrivateKey::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:267,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:267,1
    - Dst: unique_esys_ptr::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:267,1
    - Dst: as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - ' ctx'
    - ' sessions'
    - parent
    - ' key_template'
    - ' sensitive_data'
    argTypes:
    - std::shared_ptr<Context>
    - SessionBundle
    - ESYS_TR
    - TPMT_PUBLIC
    - TPM2B_SENSITIVE_CREATE
    constantsTouched: []
    func_position:
      end: 268
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 268
    functionName: Botan::TPM2::PrivateKey::create_transient_from_template
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::PrivateKey::create
    - out_ptr
    - BOTAN_ASSERT_NOMSG
    - Object::has_transient_handle
    - as_span
    - out_transient_handle
    - std::move
    - unique_esys_ptr::get
    - check_rc
    - marshal_template
    - Invalid_Argument
    - Esys_CreateLoaded
    - BOTAN_ASSERT_NONNULL
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<PrivateKey>
    signature: "std::unique_ptr<PrivateKey> PrivateKey::create_transient_from_template(const
      std::shared_ptr<Context>& ctx,\n                                                                       const
      SessionBundle& sessions,\n                                                                       ESYS_TR
      parent,\n                                                                       const
      TPMT_PUBLIC& key_template,\n                                                                       const
      TPM2B_SENSITIVE_CREATE& sensitive_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:271,1
    - Dst: has_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:271,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:272,1
    - Dst: empty
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:272,1
    - Dst: Botan::lock
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: Botan::TPM2::PrivateKey::raw_private_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - Botan::lock
    - BOTAN_ASSERT_NOMSG
    - BOTAN_STATE_CHECK
    - has_persistent_handle
    - empty
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> PrivateKey::raw_private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: marshal_public_blob
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:277,1
    - Dst: _public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:277,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: Botan::TPM2::PrivateKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - _public_info
    - get
    - marshal_public_blob
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PrivateKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: attributes
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: Botan::TPM2::PrivateKey::is_parent
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 0
    functionsReached:
    - attributes
    linkageType: ''
    returnType: bool
    signature: bool PrivateKey::is_parent() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Object::_public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:293,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:293,1
    - Dst: std::unique_ptr<RSA_PrivateKey>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:298,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:299,1
    - Dst: RSA_PrivateKey::RSA_PrivateKey
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:299,1
    - Dst: std::unique_ptr<EC_PrivateKey>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:305,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:305,1
    - Dst: EC_PrivateKey::EC_PrivateKey
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:305,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:309,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:309,1
    - Dst: Object::has_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - handles
    - ' sessions'
    - public_info
    - private_blob
    argTypes:
    - Object
    - SessionBundle
    - TPM2B_PUBLIC*
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 311
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 311
    functionName: Botan::TPM2::PrivateKey::create
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_key.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr<RSA_PrivateKey>
    - Object::has_persistent_handle
    - EC_PrivateKey::EC_PrivateKey
    - RSA_PrivateKey::RSA_PrivateKey
    - Object::_public_info
    - get
    - std::move
    - Botan::fmt
    - std::unique_ptr<EC_PrivateKey>
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<PrivateKey>
    signature: "std::unique_ptr<PrivateKey> PrivateKey::create(Object handles,\n                                               [[maybe_unused]]
      const SessionBundle& sessions,\n                                               [[maybe_unused]]
      const TPM2B_PUBLIC* public_info,\n                                               [[maybe_unused]]
      std::span<const uint8_t> private_blob)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:19,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:19,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:20,1
    - Dst: max_random_bytes_per_request
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - sessions
    argTypes:
    - std::shared_ptr<Context>
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: Botan::TPM2::RandomNumberGenerator::RandomNumberGenerator
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp
    functionUses: 0
    functionsReached:
    - max_random_bytes_per_request
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void RandomNumberGenerator::RandomNumberGenerator(std::shared_ptr<Context>
      ctx, SessionBundle sessions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:28,1
    - Dst: copy_into<TPM2B_SENSITIVE_DATA>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:30,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:30,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:32,1
    - Dst: Esys_StirRandom
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:32,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:34,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:34,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:37,1
    - Dst: std::min
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:39,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:39,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:40,1
    - Dst: Esys_GetRandom
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:41,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:45,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:46,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:48,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:49,1
    - Dst: as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:49,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:51,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 52
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 52
    functionName: Botan::TPM2::RandomNumberGenerator::fill_bytes_with_input
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rng.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::remaining_capacity
    - static_cast<uint16_t>
    - out_ptr
    - BOTAN_ASSERT_NOMSG
    - Esys_GetRandom
    - BufferSlicer::take
    - Esys_StirRandom
    - BufferStuffer::append
    - std::min
    - BufferSlicer::empty
    - check_rc
    - copy_into<TPM2B_SENSITIVE_DATA>
    - BufferStuffer::full
    - as_span
    linkageType: ''
    returnType: void
    signature: void RandomNumberGenerator::fill_bytes_with_input(std::span<uint8_t>
      output, std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: attributes
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:33,1
    - Dst: std::make_unique<HashFunction>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:37,1
    - Dst: Botan::TPM2::context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:37,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' key_handle'
    - ' sessions'
    - hash_name
    argTypes:
    - Object
    - SessionBundle
    - std::string_view
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: Botan::TPM2::create_hash_function
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::create_or_throw
    - std::make_unique<HashFunction>
    - attributes
    - Botan::TPM2::context
    linkageType: ''
    returnType: std::unique_ptr<Botan::HashFunction>
    signature: "std::unique_ptr<Botan::HashFunction> create_hash_function(const Object&
      key_handle,\n                                                          const
      SessionBundle& sessions,\n                                                          std::string_view
      hash_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_hash_function
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' object'
    - ' sessions'
    - ' algorithms'
    argTypes:
    - Object
    - SessionBundle
    - SignatureAlgorithmSelection
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: Botan::TPM2::Signature_Operation::Signature_Operation
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp
    functionUses: 0
    functionsReached:
    - create_hash_function
    linkageType: ''
    returnType: void
    signature: "void Signature_Operation::Signature_Operation(const Object& object,\n
      \                                        const SessionBundle& sessions,\n                                         const
      SignatureAlgorithmSelection& algorithms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:52,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:56,1
    - Dst: Esys_Sign
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:57,1
    - Dst: key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:57,1
    - Dst: key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:58,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:59,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:60,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:61,1
    - Dst: scheme
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:63,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:65,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:66,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:67,1
    - Dst: scheme
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:67,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:68,1
    - Dst: scheme
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:68,1
    - Dst: dynamic_cast<HashFunction*>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:73,1
    - Dst: hash
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:73,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:77,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:78,1
    - Dst: do_sign
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:79,1
    - Dst: hash
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:84,1
    - Dst: as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:84,1
    - Dst: hash
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:84,1
    - Dst: do_sign
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:85,1
    - Dst: init_empty<TPM2B_DIGEST>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:89,1
    - Dst: marshal_signature
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 95
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 95
    functionName: Botan::TPM2::Signature_Operation::sign
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp
    functionUses: 0
    functionsReached:
    - hash
    - dynamic_cast<HashFunction*>
    - out_ptr
    - BOTAN_ASSERT_NOMSG
    - key_handle
    - do_sign
    - Esys_Sign
    - sessions
    - scheme
    - init_empty<TPM2B_DIGEST>
    - BOTAN_UNUSED
    - marshal_signature
    - check_rc
    - BOTAN_ASSERT_NONNULL
    - as_span
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Signature_Operation::sign(Botan::RandomNumberGenerator&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' object'
    - ' sessions'
    - ' algorithms'
    argTypes:
    - Object
    - SessionBundle
    - SignatureAlgorithmSelection
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: Botan::TPM2::Verification_Operation::Verification_Operation
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: void
    signature: "void Verification_Operation::Verification_Operation(const Object&
      object,\n                                               const SessionBundle&
      sessions,\n                                               const SignatureAlgorithmSelection&
      algorithms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:105,1
    - Dst: as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:105,1
    - Dst: hash
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:105,1
    - Dst: unmarshal_signature
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:107,1
    - Dst: check_rc_expecting<TPM2_RC_SIGNATURE>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:110,1
    - Dst: Esys_VerifySignature
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:111,1
    - Dst: key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:111,1
    - Dst: key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:112,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:113,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:114,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig_data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: Botan::TPM2::Verification_Operation::is_valid_signature
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.cpp
    functionUses: 0
    functionsReached:
    - hash
    - key_handle
    - Esys_VerifySignature
    - sessions
    - check_rc_expecting<TPM2_RC_SIGNATURE>
    - unmarshal_signature
    - as_span
    linkageType: ''
    returnType: bool
    signature: bool Verification_Operation::is_valid_signature(std::span<const uint8_t>
      sig_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::HashFunction::HashFunction
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.h:31,1
    - Dst: SessionBundle::SessionBundle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 65
    functionName: Botan::TPM2::HashFunction::HashFunction
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.h
    functionUses: 1
    functionsReached:
    - Botan::TPM2::HashFunction::HashFunction
    - SessionBundle::SessionBundle
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: 'class BOTAN_TEST_API HashFunction final : public Botan::HashFunction'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: Botan::TPM2::Object
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Object(const Object&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Botan::TPM2::context
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_object.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Context>
    signature: std::shared_ptr<Context> & context() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tpm2_hash_type
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:23,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:25,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:26,1
    - Dst: Botan::TPM2::HashFunction::lazy_setup
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - algorithm
    - hierarchy
    - sessions
    argTypes:
    - std::shared_ptr<Context>
    - std::string_view
    - TPMI_RH_HIERARCHY
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 30
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 30
    functionName: Botan::TPM2::HashFunction::HashFunction
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - Botan::TPM2::HashFunction::lazy_setup
    - get_tpm2_hash_type
    linkageType: ''
    returnType: void
    signature: "void HashFunction::HashFunction(std::shared_ptr<Context> ctx,\n                           std::string_view
      algorithm,\n                           TPMI_RH_HIERARCHY hierarchy,\n                           SessionBundle
      sessions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_botan_hash_name
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::TPM2::HashFunction::name
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp
    functionUses: 0
    functionsReached:
    - get_botan_hash_name
    linkageType: ''
    returnType: std::string
    signature: std::string HashFunction::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: Botan::TPM2::HashFunction::output_length
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: size_t
    signature: size_t HashFunction::output_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _reset
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp: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: Botan::TPM2::HashFunction::clear
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp
    functionUses: 0
    functionsReached:
    - _reset
    linkageType: ''
    returnType: void
    signature: void HashFunction::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::TPM2::HashFunction::copy_state
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp
    functionUses: 0
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<Botan::HashFunction>
    signature: std::unique_ptr<Botan::HashFunction> HashFunction::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HashFunction>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:64,1
    - Dst: context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:64,1
    - Dst: Botan::TPM2::HashFunction::name
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::TPM2::HashFunction::new_object
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::HashFunction::name
    - std::make_unique<HashFunction>
    - context
    linkageType: ''
    returnType: std::unique_ptr<Botan::HashFunction>
    signature: std::unique_ptr<Botan::HashFunction> HashFunction::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:68,1
    - Dst: init_empty<TPM2B_AUTH>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:72,1
    - Dst: check_rc_expecting<TPM2_RC_HASH>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:73,1
    - Dst: Esys_HashSequenceStart
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:74,1
    - Dst: context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:74,1
    - Dst: out_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:80,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:83,1
    - Dst: fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:83,1
    - Dst: Botan::TPM2::HashFunction::name
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: Botan::TPM2::HashFunction::lazy_setup
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp
    functionUses: 1
    functionsReached:
    - check_rc_expecting<TPM2_RC_HASH>
    - Lookup_Error
    - Esys_HashSequenceStart
    - has_transient_handle
    - context
    - fmt
    - Botan::TPM2::HashFunction::name
    - out_transient_handle
    - init_empty<TPM2B_AUTH>
    linkageType: ''
    returnType: void
    signature: void HashFunction::lazy_setup()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::HashFunction::lazy_setup
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:88,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:91,1
    - Dst: copy_into<TPM2B_MAX_BUFFER>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:93,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:93,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:94,1
    - Dst: Esys_SequenceUpdate
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:96,1
    - Dst: context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:97,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:97,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:99,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: Botan::TPM2::HashFunction::add_data
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - BufferSlicer::take
    - context
    - Esys_SequenceUpdate
    - copy_into<TPM2B_MAX_BUFFER>
    - transient_handle
    - BufferSlicer::empty
    - check_rc
    - Botan::TPM2::HashFunction::lazy_setup
    - BufferSlicer::remaining
    linkageType: ''
    returnType: void
    signature: void HashFunction::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:103,1
    - Dst: has_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:103,1
    - Dst: init_empty<TPM2B_MAX_BUFFER>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:107,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:108,1
    - Dst: Esys_SequenceComplete
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:109,1
    - Dst: context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:109,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:110,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:116,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:117,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:118,1
    - Dst: _disengage
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 125
    functionName: Botan::TPM2::HashFunction::final_with_ticket
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp
    functionUses: 0
    functionsReached:
    - has_transient_handle
    - out_ptr
    - context
    - BOTAN_STATE_CHECK
    - init_empty<TPM2B_MAX_BUFFER>
    - transient_handle
    - _disengage
    - Esys_SequenceComplete
    - check_rc
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: std::pair<unique_esys_ptr<TPM2B_DIGEST>, unique_esys_ptr<TPMT_TK_HASHCHECK>>
    signature: std::pair<unique_esys_ptr<TPM2B_DIGEST>, unique_esys_ptr<TPMT_TK_HASHCHECK>>
      HashFunction::final_with_ticket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::HashFunction::final_with_ticket
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:128,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:129,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:130,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:130,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:131,1
    - Dst: Botan::TPM2::HashFunction::output_length
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:131,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:133,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:133,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:133,1
    - Dst: as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: Botan::TPM2::HashFunction::final_result
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_hash.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::HashFunction::final_with_ticket
    - BOTAN_ASSERT_NOMSG
    - BOTAN_DEBUG_ASSERT
    - std::span<uint8_t>::size
    - Botan::TPM2::HashFunction::output_length
    - copy_mem
    - std::span<uint8_t>::first
    - BOTAN_ASSERT_NONNULL
    - as_span
    linkageType: ''
    returnType: void
    signature: void HashFunction::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.h:23,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_error.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 38
    functionName: Botan::TPM2::Exception
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_error.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - Error
    linkageType: ''
    returnType: Error
    signature: Error Exception
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: esys_context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.h:104,1
    - Dst: Context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.h:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 156
    functionName: std::enable_shared_from_this<Context>
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.h
    functionUses: 3
    functionsReached:
    - Context
    - esys_context
    linkageType: ''
    returnType: Context
    signature: Context std::enable_shared_from_this<Context>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h:35,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' object'
    - ' sessions'
    - ' algorithms'
    - hash
    argTypes:
    - Object
    - SessionBundle
    - SignatureAlgorithmSelection
    - std::unique_ptr<Botan::HashFunction>
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: Botan::TPM2::Signature_Operation_Base::Signature_Operation_Base
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: "void Signature_Operation_Base(const Object& object,\n                               const
      SessionBundle& sessions,\n                               const SignatureAlgorithmSelection&
      algorithms,\n                               std::unique_ptr<Botan::HashFunction>
      hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::Signature_Operation_Base::update
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan::TPM2::Signature_Operation_Base::update
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h
    functionUses: 1
    functionsReached:
    - Botan::TPM2::Signature_Operation_Base::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::TPM2::Signature_Operation_Base::hash_function
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: Botan::TPM2::Signature_Operation_Base::hash
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Botan::HashFunction
    signature: Botan::HashFunction * hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& key_handle() const'
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: Object & key_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& sessions() const'
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SessionBundle
    signature: SessionBundle & sessions() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& scheme() const'
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TPMT_SIG_SCHEME
    signature: TPMT_SIG_SCHEME & scheme() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::TPM2::Signature_Operation_Base::padding
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_pkops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> padding() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::supports_botan_crypto_backend
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: Botan::TPM2::Context::supports_botan_crypto_backend
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::supports_botan_crypto_backend
    linkageType: ''
    returnType: bool
    signature: bool Context::supports_botan_crypto_backend() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:56,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:60,1
    - Dst: Tss2_TctiLdr_Initialize
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:60,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:61,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:62,1
    - Dst: Esys_Initialize
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:62,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:63,1
    - Dst: std::shared_ptr<Context>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:66,1
    - Dst: Context::Context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' tcti_nameconf'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: Botan::TPM2::Context::create
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 3
    functionsReached:
    - c_str
    - Tss2_TctiLdr_Initialize
    - Esys_Initialize
    - std::shared_ptr<Context>
    - check_rc
    - Context::Context
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: std::shared_ptr<Context>
    signature: std::shared_ptr<Context> Context::create(const std::string& tcti_nameconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<std::string>::has_value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:70,1
    - Dst: std::optional<std::string>::c_str
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:70,1
    - Dst: std::optional<std::string>::has_value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:71,1
    - Dst: std::optional<std::string>::c_str
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:71,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:75,1
    - Dst: Tss2_TctiLdr_Initialize_Ex
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:75,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:76,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:77,1
    - Dst: Esys_Initialize
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:77,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:78,1
    - Dst: std::shared_ptr<Context>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:81,1
    - Dst: Context::Context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - tcti
    - conf
    argTypes:
    - std::optional<std::string>
    - std::optional<std::string>
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: Botan::TPM2::Context::create
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 3
    functionsReached:
    - Tss2_TctiLdr_Initialize_Ex
    - std::optional<std::string>::has_value
    - Esys_Initialize
    - std::shared_ptr<Context>
    - check_rc
    - Context::Context
    - BOTAN_ASSERT_NONNULL
    - std::optional<std::string>::c_str
    linkageType: ''
    returnType: std::shared_ptr<Context>
    signature: std::shared_ptr<Context> Context::create(std::optional<std::string>
      tcti, std::optional<std::string> conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:85,1
    - Dst: std::shared_ptr<Context>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:88,1
    - Dst: Context::Context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - esys_ctx
    argTypes:
    - ESYS_CONTEXT*
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: Botan::TPM2::Context::create
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 3
    functionsReached:
    - Context::Context
    - std::shared_ptr<Context>
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: std::shared_ptr<Context>
    signature: std::shared_ptr<Context> Context::create(ESYS_CONTEXT* esys_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Impl>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:91,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - external
    argTypes:
    - ESYS_CONTEXT*
    - bool
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: Botan::TPM2::Context::Context
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Impl>
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Context::Context(ESYS_CONTEXT* ctx, bool external)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan::TPM2::Context::Context
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context::Context(Context&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:102,1
    - Dst: Botan::TPM2::Context::uses_botan_crypto_backend
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:102,1
    - Dst: Botan::TPM2::use_botan_crypto_backend
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:103,1
    - Dst: Botan::TPM2::Context::esys_context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:103,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:105,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - std::shared_ptr<Botan::RandomNumberGenerator>
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: Botan::TPM2::Context::use_botan_crypto_backend
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - Botan::TPM2::Context::esys_context
    - Botan::TPM2::use_botan_crypto_backend
    - Botan::TPM2::Context::uses_botan_crypto_backend
    - BOTAN_UNUSED
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void Context::use_botan_crypto_backend(const std::shared_ptr<Botan::RandomNumberGenerator>&
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: Botan::TPM2::Context::uses_botan_crypto_backend
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Context::uses_botan_crypto_backend() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: '& Context::crypto_callback_state()'
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: CryptoCallbackState
    signature: CryptoCallbackState & Context::crypto_callback_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: Botan::TPM2::Context::esys_context
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ESYS_CONTEXT
    signature: ESYS_CONTEXT * Context::esys_context() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:137,1
    - Dst: Esys_GetCapability
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:138,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:146,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:147,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:148,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:149,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - property
    argTypes:
    - ESYS_CONTEXT*
    - TPM2_PT
    constantsTouched: []
    func_position:
      end: 153
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 153
    functionName: Botan::TPM2::get_tpm_property
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - Esys_GetCapability
    - out_ptr
    - BOTAN_ASSERT_NOMSG
    - Botan::TPM2::check_rc
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_tpm_property(ESYS_CONTEXT* ctx, TPM2_PT property)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:160,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:161,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:163,1
    - Dst: std::min
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:166,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:167,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:172,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:185,1
    - Dst: Esys_GetCapability
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:186,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:194,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:195,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:196,1
    - Dst: extract
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:198,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:199,1
    - Dst: auto::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:199,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:200,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:200,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:200,1
    - Dst: auto::end
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:200,1
    - Dst: checked_cast_to<uint32_t>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:201,1
    - Dst: auto::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - property
    - count
    argTypes:
    - ESYS_CONTEXT*
    - TPM2_PT
    - uint32_t
    constantsTouched: []
    func_position:
      end: 205
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 205
    functionName: Botan::TPM2::get_tpm_property_list
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - Esys_GetCapability
    - out_ptr
    - BOTAN_ASSERT_NOMSG
    - std::min
    - Botan::TPM2::check_rc
    - auto::end
    - extract
    - std::vector::push_back
    - std::vector::reserve
    - std::vector::insert
    - auto::begin
    - std::vector::end
    - auto::size
    - checked_cast_to<uint32_t>
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: std::vector<ReturnT>
    signature: std::vector<ReturnT> get_tpm_property_list(ESYS_CONTEXT* ctx, TPM2_PT
      property, uint32_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::array::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:212,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:219,1
    - Dst: store_be
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:219,1
    - Dst: get_tpm_property
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:219,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:222,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:222,1
    - Dst: std::string
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:223,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:223,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 224
    functionName: Botan::TPM2::Context::vendor
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::remaining_capacity
    - BufferStuffer::append
    - BOTAN_ASSERT_NOMSG
    - std::array::data
    - get_tpm_property
    - std::string
    - std::array::size
    - cast_uint8_ptr_to_char
    - store_be
    linkageType: ''
    returnType: std::string
    signature: std::string Context::vendor() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_be
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:228,1
    - Dst: first
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:228,1
    - Dst: get_tpm_property
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:228,1
    - Dst: std::string
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:229,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:229,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: Botan::TPM2::Context::manufacturer
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - get_tpm_property
    - first
    - std::string
    - cast_uint8_ptr_to_char
    - store_be
    linkageType: ''
    returnType: std::string
    signature: std::string Context::manufacturer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asymmetric_algorithm_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:238,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:239,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:239,1
    - Dst: hash_algo_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:242,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:243,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:243,1
    - Dst: block_cipher_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:246,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:247,1
    - Dst: cipher_mode_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:250,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:251,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:251,1
    - Dst: cipher_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:254,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:255,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:256,1
    - Dst: rsa_signature_padding_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:259,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:260,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:260,1
    - Dst: rsa_signature_scheme_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:263,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:264,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:265,1
    - Dst: rsa_encryption_scheme_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:268,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:269,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:271,1
    - Dst: rsa_encryption_padding_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:275,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:276,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:276,1
    - Dst: auto::empty
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:282,1
    - Dst: get_tpm_property_list<TPM2_CAP_ALGS, TPM2_ALG_ID>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:288,1
    - Dst: std::all_of
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:290,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:291,1
    - Dst: auto::end
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:291,1
    - Dst: value_exists
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:291,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 1
    argNames:
    - algo_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 292
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 292
    functionName: Botan::TPM2::Context::supports_algorithm
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - value_exists
    - get_tpm_property_list<TPM2_CAP_ALGS, TPM2_ALG_ID>
    - auto::value
    - rsa_encryption_padding_botan_to_tss2
    - asymmetric_algorithm_botan_to_tss2
    - rsa_signature_scheme_botan_to_tss2
    - block_cipher_botan_to_tss2
    - auto::empty
    - auto::end
    - std::vector::push_back
    - auto::begin
    - cipher_botan_to_tss2
    - hash_algo_botan_to_tss2
    - rsa_encryption_scheme_botan_to_tss2
    - cipher_mode_botan_to_tss2
    - std::all_of
    - rsa_signature_padding_botan_to_tss2
    linkageType: ''
    returnType: bool
    signature: bool Context::supports_algorithm(std::string_view algo_name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tpm_property
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: Botan::TPM2::Context::max_random_bytes_per_request
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - get_tpm_property
    linkageType: ''
    returnType: size_t
    signature: size_t Context::max_random_bytes_per_request() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::PrivateKey::load_persistent
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:300,1
    - Dst: shared_from_this
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - auth_value
    - ' sessions'
    argTypes:
    - std::span<const uint8_t>
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: Botan::TPM2::Context::storage_root_key
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - shared_from_this
    - Botan::TPM2::PrivateKey::load_persistent
    linkageType: ''
    returnType: std::unique_ptr<TPM2::PrivateKey>
    signature: "std::unique_ptr<TPM2::PrivateKey> Context::storage_root_key(std::span<const
      uint8_t> auth_value,\n                                                            const
      SessionBundle& sessions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tpm_property_list<TPM2_CAP_HANDLES, ESYS_TR>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: Botan::TPM2::Context::transient_handles
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - get_tpm_property_list<TPM2_CAP_HANDLES, ESYS_TR>
    linkageType: ''
    returnType: std::vector<ESYS_TR>
    signature: std::vector<ESYS_TR> Context::transient_handles() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::Context::persistent_handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:308,1
    - Dst: auto::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:317,1
    - Dst: value_exists
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:323,1
    - Dst: BOTAN_ASSERT_UNREACHABLE
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 329
    functionName: Botan::TPM2::Context::find_free_persistent_handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::Context::persistent_handles
    - value_exists
    - auto::size
    - BOTAN_ASSERT_UNREACHABLE
    linkageType: ''
    returnType: std::optional<TPM2_HANDLE>
    signature: std::optional<TPM2_HANDLE> Context::find_free_persistent_handle() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tpm_property_list<TPM2_CAP_HANDLES, TPM2_HANDLE>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: Botan::TPM2::Context::persistent_handles
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 1
    functionsReached:
    - get_tpm_property_list<TPM2_CAP_HANDLES, TPM2_HANDLE>
    linkageType: ''
    returnType: std::vector<TPM2_HANDLE>
    signature: std::vector<TPM2_HANDLE> Context::persistent_handles() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:340,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:342,1
    - Dst: value_exists
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:342,1
    - Dst: Botan::TPM2::Context::persistent_handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:342,1
    - Dst: std::optional<TPM2_HANDLE>::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:342,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:344,1
    - Dst: has_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:344,1
    - Dst: std::optional<TPM2_HANDLE>::has_value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:349,1
    - Dst: std::optional<TPM2_HANDLE>::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:350,1
    - Dst: Botan::TPM2::Context::find_free_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:352,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:353,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:353,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:354,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:361,1
    - Dst: Esys_EvictControl
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:362,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:364,1
    - Dst: out_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:369,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:370,1
    - Dst: has_transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:370,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:375,1
    - Dst: copy_into<TPM2B_AUTH>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:376,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:377,1
    - Dst: Esys_TR_SetAuth
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:377,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:377,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:383,1
    - Dst: Esys_TR_GetTpmHandle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:384,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:384,1
    - Dst: out_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:384,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:386,1
    - Dst: has_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:386,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:387,1
    - Dst: persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - ' key'
    - ' sessions'
    - auth_value
    - persistent_handle
    argTypes:
    - TPM2::PrivateKey
    - SessionBundle
    - std::span<const uint8_t>
    - std::optional<TPM2_HANDLE>
    constantsTouched: []
    func_position:
      end: 390
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 390
    functionName: Botan::TPM2::Context::persist
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - has_persistent_handle
    - out_transient_handle
    - BOTAN_ASSERT_EQUAL
    - check_rc
    - BOTAN_ASSERT_NOMSG
    - auto::value
    - out_persistent_handle
    - auto::has_value
    - std::span<const uint8_t>::empty
    - handles
    - transient_handle
    - Esys_EvictControl
    - BOTAN_ARG_CHECK
    - std::optional<TPM2_HANDLE>::value
    - value_exists
    - Esys_TR_GetTpmHandle
    - has_transient_handle
    - BOTAN_STATE_CHECK
    - Botan::TPM2::Context::persistent_handles
    - Esys_TR_SetAuth
    - persistent_handle
    - std::optional<TPM2_HANDLE>::has_value
    - Botan::TPM2::Context::find_free_persistent_handle
    - copy_into<TPM2B_AUTH>
    linkageType: ''
    returnType: TPM2_HANDLE
    signature: "TPM2_HANDLE Context::persist(TPM2::PrivateKey& key,\n                             const
      SessionBundle& sessions,\n                             std::span<const uint8_t>
      auth_value,\n                             std::optional<TPM2_HANDLE> persistent_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:393,1
    - Dst: std::unique_ptr<TPM2::PrivateKey>::handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:395,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:396,1
    - Dst: has_persistent_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:396,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:402,1
    - Dst: Esys_EvictControl
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:403,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:405,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:411,1
    - Dst: _disengage
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - key
    - ' sessions'
    argTypes:
    - std::unique_ptr<TPM2::PrivateKey>
    - SessionBundle
    constantsTouched: []
    func_position:
      end: 416
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 416
    functionName: Botan::TPM2::Context::evict
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<TPM2::PrivateKey>::handles
    - has_persistent_handle
    - transient_handle
    - _disengage
    - Esys_EvictControl
    - check_rc
    - BOTAN_ASSERT
    - BOTAN_ARG_CHECK
    - BOTAN_ASSERT_NONNULL
    linkageType: ''
    returnType: void
    signature: void Context::evict(std::unique_ptr<TPM2::PrivateKey> key, const SessionBundle&
      sessions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uses_botan_crypto_backend
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:435,1
    - Dst: set_crypto_callbacks
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:437,1
    - Dst: esys_context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:437,1
    - Dst: m_crypto_callback_state::reset
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:441,1
    - Dst: Esys_GetTcti
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:452,1
    - Dst: Tss2_TctiLdr_Finalize
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:454,1
    - Dst: Esys_Finalize
      Src: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp:457,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 459
    functionName: Context::~Context()
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_context.cpp
    functionUses: 0
    functionsReached:
    - m_crypto_callback_state::reset
    - Esys_Finalize
    - set_crypto_callbacks
    - Esys_GetTcti
    - Tss2_TctiLdr_Finalize
    - uses_botan_crypto_backend
    - esys_context
    linkageType: ''
    returnType: void
    signature: void Context::~Context()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::detail::SessionHandle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.h:64,1
    - Dst: Botan::TPM2::detail::SessionHandle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.h:71,1
    - Dst: Botan::TPM2::detail::SessionHandle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.h:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 82
    functionName: Botan::TPM2::detail::SessionHandle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.h
    functionUses: 1
    functionsReached:
    - Botan::TPM2::detail::SessionHandle
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API SessionHandle
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: Botan::TPM2::handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: detail::SessionHandle
    signature: detail::SessionHandle handle()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: Botan::TPM2::transient_handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.h
    functionUses: 1
    functionsReached:
    - Botan::TPM2::transient_handle
    linkageType: ''
    returnType: ESYS_TR
    signature: ESYS_TR transient_handle() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.h:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: detail::SessionHandle::~SessionHandle()
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void detail::SessionHandle::~SessionHandle()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: attributes
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' session'
    argTypes:
    - Session
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: detail::SessionHandle::SessionHandle(Session& session)
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.h
    functionUses: 0
    functionsReached:
    - attributes
    linkageType: ''
    returnType: void
    signature: void detail::SessionHandle::SessionHandle(Session& session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.h:178,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.h:178,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: SessionBundle::SessionBundle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.h
    functionUses: 2
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void SessionBundle(std::shared_ptr<Session> s1 = nullptr,\n                    std::shared_ptr<Session>
      s2 = nullptr,\n                    std::shared_ptr<Session> s3 = nullptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_session.h:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: operator[](size_t i) const noexcept
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_session.h
    functionUses: 0
    functionsReached:
    - handle
    linkageType: ''
    returnType: detail::SessionHandle
    signature: detail::SessionHandle operator[](size_t i) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::PrivateKey::raw_public_key_bits
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.h
    functionUses: 36
    functionsReached:
    - Botan::TPM2::PrivateKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> raw_public_key_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: supports_operation
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:31,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:31,1
    - Dst: rsa_pubkey_components_from_tss2_public
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - handle
    - session_bundle
    - public_blob
    argTypes:
    - Object
    - SessionBundle
    - TPM2B_PUBLIC*
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan::TPM2::RSA_PublicKey::RSA_PublicKey
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - rsa_pubkey_components_from_tss2_public
    - std::move
    linkageType: ''
    returnType: void
    signature: void RSA_PublicKey::RSA_PublicKey(Object handle, SessionBundle session_bundle,
      const TPM2B_PUBLIC* public_blob)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:34,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - handle
    - session_bundle
    - ' pubkey'
    argTypes:
    - Object
    - SessionBundle
    - std::pair<BigInt, BigInt>
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: Botan::TPM2::RSA_PublicKey::RSA_PublicKey
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void RSA_PublicKey::RSA_PublicKey(Object handle, SessionBundle session_bundle,
      const std::pair<BigInt, BigInt>& pubkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:43,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:44,1
    - Dst: rsa_pubkey_components_from_tss2_public
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - handle
    - session_bundle
    - public_blob
    - private_blob
    argTypes:
    - Object
    - SessionBundle
    - TPM2B_PUBLIC*
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: Botan::TPM2::RSA_PrivateKey::RSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - rsa_pubkey_components_from_tss2_public
    - std::move
    linkageType: ''
    returnType: void
    signature: "void RSA_PrivateKey::RSA_PrivateKey(Object handle,\n                               SessionBundle
      session_bundle,\n                               const TPM2B_PUBLIC* public_blob,\n
      \                              std::span<const uint8_t> private_blob)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:52,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - handle
    - session_bundle
    - ' pubkey'
    - private_blob
    argTypes:
    - Object
    - SessionBundle
    - std::pair<BigInt, BigInt>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: Botan::TPM2::RSA_PrivateKey::RSA_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void RSA_PrivateKey::RSA_PrivateKey(Object handle,\n                               SessionBundle
      session_bundle,\n                               const std::pair<BigInt, BigInt>&
      pubkey,\n                               std::span<const uint8_t> private_blob)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:63,1
    - Dst: is_parent
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:63,1
    - Dst: copy_into<TPM2B_AUTH>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:69,1
    - Dst: init_empty<TPM2B_SENSITIVE_DATA>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:74,1
    - Dst: Botan::TPM2::ObjectAttributes::render
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:89,1
    - Dst: init_empty<TPM2B_DIGEST>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:99,1
    - Dst: std::optional<uint32_t>::value_or
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:131,1
    - Dst: init_empty<TPM2B_PUBLIC_KEY_RSA>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:136,1
    - Dst: create_transient_from_template
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:139,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ' ctx'
    - ' sessions'
    - auth_value
    - ' parent'
    - keylength
    - exponent
    argTypes:
    - std::shared_ptr<Context>
    - SessionBundle
    - std::span<const uint8_t>
    - TPM2::PrivateKey
    - uint16_t
    - std::optional<uint32_t>
    constantsTouched: []
    func_position:
      end: 141
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 141
    functionName: Botan::TPM2::RSA_PrivateKey::create_unrestricted_transient
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 1
    functionsReached:
    - Botan::TPM2::ObjectAttributes::render
    - init_empty<TPM2B_PUBLIC_KEY_RSA>
    - init_empty<TPM2B_SENSITIVE_DATA>
    - handles
    - create_transient_from_template
    - init_empty<TPM2B_DIGEST>
    - std::optional<uint32_t>::value_or
    - is_parent
    - BOTAN_ARG_CHECK
    - copy_into<TPM2B_AUTH>
    linkageType: ''
    returnType: std::unique_ptr<TPM2::PrivateKey>
    signature: "std::unique_ptr<TPM2::PrivateKey> RSA_PrivateKey::create_unrestricted_transient(const
      std::shared_ptr<Context>& ctx,\n                                                                                const
      SessionBundle& sessions,\n                                                                                std::span<const
      uint8_t> auth_value,\n                                                                                const
      TPM2::PrivateKey& parent,\n                                                                                uint16_t
      keylength,\n                                                                                std::optional<uint32_t>
      exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:147,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:148,1
    - Dst: Botan::TPM2::rsa_signature_scheme_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:151,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:153,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:153,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:157,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:158,1
    - Dst: std::string
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - padding
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 161
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 161
    functionName: Botan::TPM2::select_signature_algorithms
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - SCAN_Name::arg_count
    - std::string
    - Invalid_Argument
    - Botan::TPM2::rsa_signature_scheme_botan_to_tss2
    - Botan::fmt
    - SCAN_Name::arg
    - Not_Implemented
    linkageType: ''
    returnType: SignatureAlgorithmSelection
    signature: SignatureAlgorithmSelection select_signature_algorithms(std::string_view
      padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sessions'
    - ' key_handle'
    argTypes:
    - SessionBundle
    - Object
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: Botan::TPM2::signature_length_for_key_handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - _public_info
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length_for_key_handle(const SessionBundle& sessions,
      const Object& key_handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: select_signature_algorithms
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' object'
    - ' sessions'
    - padding
    argTypes:
    - Object
    - SessionBundle
    - std::string_view
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: Botan::TPM2::RSA_Signature_Operation::RSA_Signature_Operation
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - select_signature_algorithms
    linkageType: ''
    returnType: void
    signature: void RSA_Signature_Operation(const Object& object, const SessionBundle&
      sessions, std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signature_length_for_key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:172,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:172,1
    - Dst: key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: Botan::TPM2::RSA_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - sessions
    - key_handle
    - signature_length_for_key_handle
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:183,1
    - Dst: padding
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:183,1
    - Dst: Botan::EMSA::create_or_throw
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:184,1
    - Dst: padding
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:184,1
    - Dst: auto::name
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:185,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:189,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:190,1
    - Dst: std::string::starts_with
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:193,1
    - Dst: Botan::PSS_Params::from_emsa_name
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:194,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:195,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:198,1
    - Dst: fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 199
    functionName: Botan::TPM2::RSA_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - auto::name
    - AlgorithmIdentifier
    - Botan::EMSA::create_or_throw
    - fmt
    - BOTAN_STATE_CHECK
    - padding
    - Botan::OID::from_string
    - Invalid_Argument
    - std::string::starts_with
    - Botan::PSS_Params::from_emsa_name
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier algorithm_identifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:209,1
    - Dst: fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:209,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:212,1
    - Dst: Botan::TPM2::RSA_Signature_Operation::signature_length
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:212,1
    - Dst: copy_into<std::vector<uint8_t>>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' signature'
    argTypes:
    - TPMT_SIGNATURE
    constantsTouched: []
    func_position:
      end: 214
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 214
    functionName: Botan::TPM2::RSA_Signature_Operation::marshal_signature
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - BOTAN_ASSERT_NOMSG
    - fmt
    - copy_into<std::vector<uint8_t>>
    - Botan::TPM2::RSA_Signature_Operation::signature_length
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> marshal_signature(const TPMT_SIGNATURE& signature)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: select_signature_algorithms
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' object'
    - ' sessions'
    - padding
    argTypes:
    - Object
    - SessionBundle
    - std::string_view
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: Botan::TPM2::RSA_Verification_Operation::RSA_Verification_Operation
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - select_signature_algorithms
    linkageType: ''
    returnType: void
    signature: void RSA_Verification_Operation(const Object& object, const SessionBundle&
      sessions, std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:224,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:224,1
    - Dst: signature_length_for_key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:224,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:224,1
    - Dst: key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:224,1
    - Dst: scheme
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:228,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:236,1
    - Dst: fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:236,1
    - Dst: scheme
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:239,1
    - Dst: copy_into
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - signature
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 242
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 242
    functionName: Botan::TPM2::RSA_Verification_Operation::unmarshal_signature
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - signature_length_for_key_handle
    - Invalid_State
    - key_handle
    - fmt
    - sessions
    - scheme
    - std::span<const uint8_t>::size
    - BOTAN_ARG_CHECK
    - copy_into
    linkageType: ''
    returnType: TPMT_SIGNATURE
    signature: TPMT_SIGNATURE unmarshal_signature(std::span<const uint8_t> signature)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::rsa_encryption_scheme_botan_to_tss2
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:246,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:248,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:248,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - padding
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: Botan::TPM2::select_encryption_algorithms
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - Botan::fmt
    - Botan::TPM2::rsa_encryption_scheme_botan_to_tss2
    - Not_Implemented
    linkageType: ''
    returnType: TPMT_RSA_DECRYPT
    signature: TPMT_RSA_DECRYPT select_encryption_algorithms(std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: select_encryption_algorithms
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' object'
    - ' sessions'
    - padding
    argTypes:
    - Object
    - SessionBundle
    - std::string_view
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: Botan::TPM2::RSA_Encryption_Operation::RSA_Encryption_Operation
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - select_encryption_algorithms
    linkageType: ''
    returnType: void
    signature: void RSA_Encryption_Operation(const Object& object, const SessionBundle&
      sessions, std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_into<TPM2B_PUBLIC_KEY_RSA>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:259,1
    - Dst: init_empty<TPM2B_DATA>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:267,1
    - Dst: check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:270,1
    - Dst: Esys_RSA_Encrypt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:271,1
    - Dst: context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:271,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:272,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:279,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:280,1
    - Dst: copy_into<std::vector<uint8_t>>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 282
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 282
    functionName: Botan::TPM2::RSA_Encryption_Operation::encrypt
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - out_ptr
    - context
    - copy_into<std::vector<uint8_t>>
    - Esys_RSA_Encrypt
    - transient_handle
    - check_rc
    - copy_into<TPM2B_PUBLIC_KEY_RSA>
    - BOTAN_ASSERT_NONNULL
    - init_empty<TPM2B_DATA>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> encrypt(std::span<const uint8_t> msg, Botan::RandomNumberGenerator&
      /* rng */) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:291,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:306,1
    - Dst: hash_output_bytes
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:315,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 324
    functionName: Botan::TPM2::RSA_Encryption_Operation::max_input_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - _public_info
    - Invalid_State
    - hash_output_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t max_input_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: Botan::TPM2::RSA_Encryption_Operation::ciphertext_length
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - _public_info
    linkageType: ''
    returnType: size_t
    signature: size_t ciphertext_length(size_t /* ptext_len */) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: select_encryption_algorithms
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' object'
    - ' sessions'
    - padding
    argTypes:
    - Object
    - SessionBundle
    - std::string_view
    constantsTouched: []
    func_position:
      end: 339
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 339
    functionName: Botan::TPM2::RSA_Decryption_Operation::RSA_Decryption_Operation
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - select_encryption_algorithms
    linkageType: ''
    returnType: void
    signature: void RSA_Decryption_Operation(const Object& object, const SessionBundle&
      sessions, std::string_view padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_into<TPM2B_PUBLIC_KEY_RSA>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:342,1
    - Dst: init_empty<TPM2B_DATA>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:343,1
    - Dst: check_rc_expecting<TPM2_RC_FAILURE>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:349,1
    - Dst: Esys_RSA_Decrypt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:350,1
    - Dst: context
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:350,1
    - Dst: transient_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:351,1
    - Dst: out_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:358,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:360,1
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:361,1
    - Dst: init_with_size<TPM2B_PUBLIC_KEY_RSA>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:372,1
    - Dst: unique_esys_ptr::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:374,1
    - Dst: Botan::CT::conditional_swap_ptr
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:375,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:375,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:377,1
    - Dst: copy_into<secure_vector<uint8_t>>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' valid_mask'
    - input
    argTypes:
    - uint8_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 379
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 379
    functionName: Botan::TPM2::RSA_Decryption_Operation::decrypt
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - check_rc_expecting<TPM2_RC_FAILURE>
    - out_ptr
    - context
    - auto::as_bool
    - copy_into<secure_vector<uint8_t>>
    - Botan::BigInt::is_equal
    - Esys_RSA_Decrypt
    - Botan::CT::Mask::from_choice
    - init_with_size<TPM2B_PUBLIC_KEY_RSA>
    - transient_handle
    - unique_esys_ptr::get
    - Botan::CT::conditional_swap_ptr
    - copy_into<TPM2B_PUBLIC_KEY_RSA>
    - BOTAN_ASSERT_NONNULL
    - init_empty<TPM2B_DATA>
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> decrypt(uint8_t& valid_mask, std::span<const
      uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: Botan::TPM2::RSA_Decryption_Operation::plaintext_length
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - _public_info
    linkageType: ''
    returnType: size_t
    signature: size_t plaintext_length(size_t /* ciphertext_length */) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:395,1
    - Dst: std::make_unique<RSA_Verification_Operation>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:396,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:396,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: Botan::TPM2::RSA_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - sessions
    - std::make_unique<RSA_Verification_Operation>
    - BOTAN_UNUSED
    - handles
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> RSA_PublicKey::create_verification_op(std::string_view
      params,\n                                                                            std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:402,1
    - Dst: std::make_unique<RSA_Signature_Operation>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:403,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:403,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - Botan::RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: Botan::TPM2::RSA_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - sessions
    - std::make_unique<RSA_Signature_Operation>
    - BOTAN_UNUSED
    - handles
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> RSA_PrivateKey::create_signature_op(Botan::RandomNumberGenerator&
      rng,\n                                                                       std::string_view
      params,\n                                                                       std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:409,1
    - Dst: std::make_unique<RSA_Encryption_Operation>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:410,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:410,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - Botan::RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: Botan::TPM2::RSA_PublicKey::create_encryption_op
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - sessions
    - std::make_unique<RSA_Encryption_Operation>
    - BOTAN_UNUSED
    - handles
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Encryption>
    signature: "std::unique_ptr<PK_Ops::Encryption> RSA_PublicKey::create_encryption_op(Botan::RandomNumberGenerator&
      rng,\n                                                                        std::string_view
      params,\n                                                                        std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:416,1
    - Dst: std::make_unique<RSA_Decryption_Operation>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:417,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:417,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - Botan::RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 418
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 418
    functionName: Botan::TPM2::RSA_PrivateKey::create_decryption_op
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_rsa/tpm2_rsa.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RSA_Decryption_Operation>
    - sessions
    - BOTAN_UNUSED
    - handles
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Decryption>
    signature: "std::unique_ptr<PK_Ops::Decryption> RSA_PrivateKey::create_decryption_op(Botan::RandomNumberGenerator&
      rng,\n                                                                         std::string_view
      params,\n                                                                         std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<std::unique_ptr<T>>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:74,1
    - Dst: std::ref
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:78,1
    - Dst: std::get<std::unique_ptr<T>>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - blob
    argTypes:
    - DigestCallbackState*
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: get
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 267
    functionsReached:
    - std::ref
    - std::holds_alternative<std::unique_ptr<T>>
    - std::get<std::unique_ptr<T>>
    linkageType: ''
    returnType: std::optional<std::reference_wrapper<T>>
    signature: std::optional<std::reference_wrapper<T>> get(DigestCallbackState* blob)
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - blob
    argTypes:
    - DigestCallbackState**
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: get
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 268
    functionsReached:
    - get
    linkageType: ''
    returnType: std::optional<std::reference_wrapper<T>>
    signature: std::optional<std::reference_wrapper<T>> get(DigestCallbackState**
      blob) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Botan::TPM2::CryptoCallbackState*>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - userdata
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: get
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 268
    functionsReached:
    - reinterpret_cast<Botan::TPM2::CryptoCallbackState*>
    linkageType: ''
    returnType: std::optional<std::reference_wrapper<Botan::TPM2::CryptoCallbackState>>
    signature: std::optional<std::reference_wrapper<Botan::TPM2::CryptoCallbackState>>
      get(void* userdata) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 128
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 128
    functionName: thunk
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: TSS2_RC
    signature: TSS2_RC thunk(F f) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thunk
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:142,1
    - Dst: Botan::TPM2::cipher_tss2_to_botan
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:153,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:162,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:162,1
    - Dst: auto::authenticated
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:169,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:173,1
    - Dst: auto::valid_keylength
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:175,1
    - Dst: auto::default_nonce_length
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:183,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:189,1
    - Dst: auto::start
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:190,1
    - Dst: auto::process
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:191,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 8
    argNames:
    - direction
    - key
    - tpm_sym_alg
    - key_bits
    - tpm_mode
    - buffer
    - buffer_size
    - iv
    argTypes:
    - Botan::Cipher_Dir
    - uint8_t*
    - TPM2_ALG_ID
    - TPMI_AES_KEY_BITS
    - TPM2_ALG_ID
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 194
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 194
    functionName: symmetric_algo
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - Botan::Cipher_Mode::create
    - auto::authenticated
    - BOTAN_ASSERT_NOMSG
    - auto::value
    - auto::set_key
    - thunk
    - Botan::TPM2::cipher_tss2_to_botan
    - auto::default_nonce_length
    - auto::valid_keylength
    - auto::process
    linkageType: ''
    returnType: TSS2_RC
    signature: "TSS2_RC symmetric_algo(Botan::Cipher_Dir direction,\n                                     const
      uint8_t* key,\n                                     TPM2_ALG_ID tpm_sym_alg,\n
      \                                    TPMI_AES_KEY_BITS key_bits,\n                                     TPM2_ALG_ID
      tpm_mode,\n                                     uint8_t* buffer,\n                                     size_t
      buffer_size,\n                                     const uint8_t* iv) noexcept"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:208,1
    - Dst: thunk
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:209,1
    - Dst: Botan::TPM2::hash_algo_tss2_to_botan
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:214,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:219,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:219,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:225,1
    - Dst: DigestCallbackState::DigestCallbackState
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - context
    - hash_alg
    - userdata
    argTypes:
    - ESYS_CRYPTO_CONTEXT_BLOB**
    - TPM2_ALG_ID
    - void*
    constantsTouched: []
    func_position:
      end: 228
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 228
    functionName: hash_start
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::hash_algo_tss2_to_botan
    - DigestCallbackState::DigestCallbackState
    - auto::value
    - Botan::HashFunction::create
    - thunk
    - BOTAN_UNUSED
    - std::move
    linkageType: ''
    returnType: TSS2_RC
    signature: TSS2_RC hash_start(ESYS_CRYPTO_CONTEXT_BLOB** context, TPM2_ALG_ID
      hash_alg, void* userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:242,1
    - Dst: thunk
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:243,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:244,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - context
    - buffer
    - size
    - userdata
    argTypes:
    - ESYS_CRYPTO_CONTEXT_BLOB*
    - uint8_t*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 257
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 257
    functionName: hash_update
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - thunk
    - get
    - BOTAN_UNUSED
    - auto::get
    linkageType: ''
    returnType: TSS2_RC
    signature: TSS2_RC hash_update(ESYS_CRYPTO_CONTEXT_BLOB* context, const uint8_t*
      buffer, size_t size, void* userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:271,1
    - Dst: thunk
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:276,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:277,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:282,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - context
    - buffer
    - size
    - userdata
    argTypes:
    - ESYS_CRYPTO_CONTEXT_BLOB**
    - uint8_t*
    - size_t*
    - void*
    constantsTouched: []
    func_position:
      end: 292
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 292
    functionName: hash_finish
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - thunk
    - get
    - BOTAN_UNUSED
    - auto::get
    linkageType: ''
    returnType: TSS2_RC
    signature: TSS2_RC hash_finish(ESYS_CRYPTO_CONTEXT_BLOB** context, uint8_t* buffer,
      size_t* size, void* userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - context
    - userdata
    argTypes:
    - ESYS_CRYPTO_CONTEXT_BLOB**
    - void*
    constantsTouched: []
    func_position:
      end: 306
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 306
    functionName: hash_abort
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void hash_abort(ESYS_CRYPTO_CONTEXT_BLOB** context, void* userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:322,1
    - Dst: thunk
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:323,1
    - Dst: Botan::TPM2::hash_algo_tss2_to_botan
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:328,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:333,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:333,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:333,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:338,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:341,1
    - Dst: DigestCallbackState::DigestCallbackState
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - context
    - hash_alg
    - key
    - size
    - userdata
    argTypes:
    - ESYS_CRYPTO_CONTEXT_BLOB**
    - TPM2_ALG_ID
    - uint8_t*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 344
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 344
    functionName: hmac_start
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::hash_algo_tss2_to_botan
    - DigestCallbackState::DigestCallbackState
    - auto::value
    - auto::set_key
    - thunk
    - Botan::MessageAuthenticationCode::create
    - BOTAN_UNUSED
    - std::move
    - Botan::fmt
    linkageType: ''
    returnType: TSS2_RC
    signature: "TSS2_RC hmac_start(\n   ESYS_CRYPTO_CONTEXT_BLOB** context, TPM2_ALG_ID
      hash_alg, const uint8_t* key, size_t size, void* userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:358,1
    - Dst: thunk
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:359,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:360,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - context
    - buffer
    - size
    - userdata
    argTypes:
    - ESYS_CRYPTO_CONTEXT_BLOB*
    - uint8_t*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 373
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 373
    functionName: hmac_update
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - thunk
    - get
    - BOTAN_UNUSED
    - auto::get
    linkageType: ''
    returnType: TSS2_RC
    signature: TSS2_RC hmac_update(ESYS_CRYPTO_CONTEXT_BLOB* context, const uint8_t*
      buffer, size_t size, void* userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:387,1
    - Dst: thunk
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:392,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:393,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:398,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - context
    - buffer
    - size
    - userdata
    argTypes:
    - ESYS_CRYPTO_CONTEXT_BLOB**
    - uint8_t*
    - size_t*
    - void*
    constantsTouched: []
    func_position:
      end: 408
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 408
    functionName: hmac_finish
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - thunk
    - get
    - BOTAN_UNUSED
    - auto::get
    linkageType: ''
    returnType: TSS2_RC
    signature: TSS2_RC hmac_finish(ESYS_CRYPTO_CONTEXT_BLOB** context, uint8_t* buffer,
      size_t* size, void* userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - context
    - userdata
    argTypes:
    - ESYS_CRYPTO_CONTEXT_BLOB**
    - void*
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: hmac_abort
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void hmac_abort(ESYS_CRYPTO_CONTEXT_BLOB** context, void* userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thunk
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:435,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:436,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:437,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:441,1
    - Dst: randomize
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:441,1
    - Dst: Botan::TPM2::as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - nonce
    - num_bytes
    - userdata
    argTypes:
    - TPM2B_NONCE*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 444
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 444
    functionName: get_random2b
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::as_span
    - thunk
    - get
    - randomize
    - auto::get
    linkageType: ''
    returnType: TSS2_RC
    signature: TSS2_RC get_random2b(TPM2B_NONCE* nonce, size_t num_bytes, void* userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::hash_algo_tss2_to_botan
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:493,1
    - Dst: Botan::TPM2::hash_algo_tss2_to_botan
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:501,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:506,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:506,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:507,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:507,1
    - Dst: strlen
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:515,1
    - Dst: std::make_unique<Botan::OAEP>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:516,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:516,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:516,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:518,1
    - Dst: create_oaep
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:526,1
    - Dst: Botan::EME::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:528,1
    - Dst: Botan::EME::create
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:530,1
    - Dst: thunk
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:541,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:542,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:543,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:547,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:549,1
    - Dst: create_eme
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:551,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:554,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:558,1
    - Dst: Botan::TPM2::rsa_pubkey_from_tss2_public
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:574,1
    - Dst: auto::key_length
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:575,1
    - Dst: maximum_input_size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:577,1
    - Dst: pad
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:587,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:592,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:593,1
    - Dst: auto::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:593,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:597,1
    - Dst: auto::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:597,1
    - Dst: auto::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:599,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:605,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 8
    argNames:
    - pub_tpm_key
    - in_size
    - in_buffer
    - max_out_size
    - out_buffer
    - out_size
    - label
    - userdata
    argTypes:
    - TPM2B_PUBLIC*
    - size_t
    - BYTE*
    - size_t
    - BYTE*
    - size_t*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 608
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 608
    functionName: rsa_pk_encrypt
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - maximum_input_size
    - get
    - BOTAN_UNUSED
    - std::make_unique<Botan::OAEP>
    - BOTAN_ASSERT_NOMSG
    - auto::value
    - BOTAN_DEBUG_ASSERT
    - auto::has_value
    - auto::size
    - create_eme
    - Botan::EME::create
    - Botan::PK_Encryptor_EME::encrypt
    - Botan::TPM2::rsa_pubkey_from_tss2_public
    - std::move
    - Botan::copy_mem
    - auto::key_length
    - Botan::TPM2::hash_algo_tss2_to_botan
    - create_oaep
    - Botan::HashFunction::create
    - thunk
    - pad
    - auto::get
    - strlen
    linkageType: ''
    returnType: TSS2_RC
    signature: "TSS2_RC rsa_pk_encrypt(TPM2B_PUBLIC* pub_tpm_key,\n                       size_t
      in_size,\n                       BYTE* in_buffer,\n                       size_t
      max_out_size,\n                       BYTE* out_buffer,\n                       size_t*
      out_size,\n                       const char* label,\n                       void*
      userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thunk
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:639,1
    - Dst: get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:640,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:641,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:645,1
    - Dst: Botan::ECDH_PublicKey
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:649,1
    - Dst: auto::domain
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:651,1
    - Dst: ECDH_PrivateKey
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:654,1
    - Dst: auto::domain
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:654,1
    - Dst: auto::_public_ec_point
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:658,1
    - Dst: serialize_x_to
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:659,1
    - Dst: Botan::TPM2::as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:659,1
    - Dst: serialize_y_to
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:660,1
    - Dst: Botan::TPM2::as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:660,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:664,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:664,1
    - Dst: Botan::TPM2::copy_into
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:666,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:668,1
    - Dst: Tss2_MU_TPMS_ECC_POINT_Marshal
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:669,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:674,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 7
    argNames:
    - key
    - max_out_size
    - Z
    - Q
    - out_buffer
    - out_size
    - userdata
    argTypes:
    - TPM2B_PUBLIC*
    - size_t
    - TPM2B_ECC_PARAMETER*
    - TPMS_ECC_POINT*
    - BYTE*
    - size_t*
    - void*
    constantsTouched: []
    func_position:
      end: 677
      start: 627
    functionDepth: 2
    functionLinenumber: 627
    functionLinenumberEnd: 677
    functionName: get_ecdh_point
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - serialize_y_to
    - serialize_x_to
    - Botan::TPM2::copy_into
    - Botan::PK_Key_Agreement::derive_key
    - Botan::TPM2::as_span
    - Botan::TPM2::check_rc
    - auto::domain
    - thunk
    - get
    - BOTAN_UNUSED
    - auto::public_value
    - ECDH_PrivateKey
    - Botan::ECDH_PublicKey
    - auto::get
    - Tss2_MU_TPMS_ECC_POINT_Marshal
    - auto::_public_ec_point
    linkageType: ''
    returnType: TSS2_RC
    signature: "TSS2_RC get_ecdh_point(TPM2B_PUBLIC* key,\n                       size_t
      max_out_size,\n                       TPM2B_ECC_PARAMETER* Z,\n                       TPMS_ECC_POINT*
      Q,\n                       BYTE* out_buffer,\n                       size_t*
      out_size,\n                       void* userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:702,1
    - Dst: symmetric_algo
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - key
    - tpm_sym_alg
    - key_bits
    - tpm_mode
    - buffer
    - buffer_size
    - iv
    - userdata
    argTypes:
    - uint8_t*
    - TPM2_ALG_ID
    - TPMI_AES_KEY_BITS
    - TPM2_ALG_ID
    - uint8_t*
    - size_t
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 708
      start: 694
    functionDepth: 3
    functionLinenumber: 694
    functionLinenumberEnd: 708
    functionName: aes_encrypt
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - symmetric_algo
    - BOTAN_UNUSED
    linkageType: ''
    returnType: TSS2_RC
    signature: "TSS2_RC aes_encrypt(uint8_t* key,\n                    TPM2_ALG_ID
      tpm_sym_alg,\n                    TPMI_AES_KEY_BITS key_bits,\n                    TPM2_ALG_ID
      tpm_mode,\n                    uint8_t* buffer,\n                    size_t
      buffer_size,\n                    uint8_t* iv,\n                    void* userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:733,1
    - Dst: symmetric_algo
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - key
    - tpm_sym_alg
    - key_bits
    - tpm_mode
    - buffer
    - buffer_size
    - iv
    - userdata
    argTypes:
    - uint8_t*
    - TPM2_ALG_ID
    - TPMI_AES_KEY_BITS
    - TPM2_ALG_ID
    - uint8_t*
    - size_t
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 739
      start: 725
    functionDepth: 3
    functionLinenumber: 725
    functionLinenumberEnd: 739
    functionName: aes_decrypt
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - symmetric_algo
    - BOTAN_UNUSED
    linkageType: ''
    returnType: TSS2_RC
    signature: "TSS2_RC aes_decrypt(uint8_t* key,\n                    TPM2_ALG_ID
      tpm_sym_alg,\n                    TPMI_AES_KEY_BITS key_bits,\n                    TPM2_ALG_ID
      tpm_mode,\n                    uint8_t* buffer,\n                    size_t
      buffer_size,\n                    uint8_t* iv,\n                    void* userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:766,1
    - Dst: symmetric_algo
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - key
    - tpm_sym_alg
    - key_bits
    - tpm_mode
    - buffer
    - buffer_size
    - iv
    - userdata
    argTypes:
    - uint8_t*
    - TPM2_ALG_ID
    - TPMI_SM4_KEY_BITS
    - TPM2_ALG_ID
    - uint8_t*
    - size_t
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 772
      start: 758
    functionDepth: 3
    functionLinenumber: 758
    functionLinenumberEnd: 772
    functionName: sm4_encrypt
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - symmetric_algo
    - BOTAN_UNUSED
    linkageType: ''
    returnType: TSS2_RC
    signature: "TSS2_RC sm4_encrypt(uint8_t* key,\n                    TPM2_ALG_ID
      tpm_sym_alg,\n                    TPMI_SM4_KEY_BITS key_bits,\n                    TPM2_ALG_ID
      tpm_mode,\n                    uint8_t* buffer,\n                    size_t
      buffer_size,\n                    uint8_t* iv,\n                    void* userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:797,1
    - Dst: symmetric_algo
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - key
    - tpm_sym_alg
    - key_bits
    - tpm_mode
    - buffer
    - buffer_size
    - iv
    - userdata
    argTypes:
    - uint8_t*
    - TPM2_ALG_ID
    - TPMI_SM4_KEY_BITS
    - TPM2_ALG_ID
    - uint8_t*
    - size_t
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 803
      start: 789
    functionDepth: 3
    functionLinenumber: 789
    functionLinenumberEnd: 803
    functionName: sm4_decrypt
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - symmetric_algo
    - BOTAN_UNUSED
    linkageType: ''
    returnType: TSS2_RC
    signature: "TSS2_RC sm4_decrypt(uint8_t* key,\n                    TPM2_ALG_ID
      tpm_sym_alg,\n                    TPMI_SM4_KEY_BITS key_bits,\n                    TPM2_ALG_ID
      tpm_mode,\n                    uint8_t* buffer,\n                    size_t
      buffer_size,\n                    uint8_t* iv,\n                    void* userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - userdata
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 819
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 819
    functionName: init
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 38
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: TSS2_RC
    signature: TSS2_RC init(void* userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:863,1
    - Dst: Botan::TPM2::check_rc
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:889,1
    - Dst: Esys_SetCryptoCallbacks
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:889,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:891,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp:892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - callback_state
    argTypes:
    - ESYS_CONTEXT*
    - void*
    constantsTouched: []
    func_position:
      end: 896
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 896
    functionName: Botan::TPM2::set_crypto_callbacks
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend_impl.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::check_rc
    - Esys_SetCryptoCallbacks
    - BOTAN_UNUSED
    - BOTAN_ASSERT_NONNULL
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void set_crypto_callbacks(ESYS_CONTEXT* ctx, void* callback_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CryptoCallbackState>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend.cpp:18,1
    - Dst: Botan::TPM2::set_crypto_callbacks
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend.cpp:19,1
    - Dst: auto::get
      Src: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - ' rng'
    argTypes:
    - ESYS_CONTEXT*
    - std::shared_ptr<Botan::RandomNumberGenerator>
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: Botan::TPM2::use_botan_crypto_backend
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend.cpp
    functionUses: 2
    functionsReached:
    - auto::get
    - std::make_unique<CryptoCallbackState>
    - Botan::TPM2::set_crypto_callbacks
    linkageType: ''
    returnType: std::unique_ptr<CryptoCallbackState>
    signature: "std::unique_ptr<CryptoCallbackState> use_botan_crypto_backend(\n   ESYS_CONTEXT*
      context, const std::shared_ptr<Botan::RandomNumberGenerator>& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: Botan::TPM2::supports_botan_crypto_backend
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_crypto_backend/tpm2_crypto_backend.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_botan_crypto_backend() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:22,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:22,1
    - Dst: ecc_pubkey_from_tss2_public
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - handle
    - sessions
    - public_blob
    argTypes:
    - Object
    - SessionBundle
    - TPM2B_PUBLIC*
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: Botan::TPM2::EC_PublicKey::EC_PublicKey
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - ecc_pubkey_from_tss2_public
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey::EC_PublicKey(Object handle, SessionBundle sessions,
      const TPM2B_PUBLIC* public_blob)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:25,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:25,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - handle
    - sessions
    - public_key
    argTypes:
    - Object
    - SessionBundle
    - std::pair<EC_Group, EC_AffinePoint>
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::TPM2::EC_PublicKey::EC_PublicKey
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void EC_PublicKey::EC_PublicKey(Object handle, SessionBundle sessions,
      std::pair<EC_Group, EC_AffinePoint> public_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:32,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:32,1
    - Dst: ecc_pubkey_from_tss2_public
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - handle
    - sessions
    - public_blob
    - private_blob
    argTypes:
    - Object
    - SessionBundle
    - TPM2B_PUBLIC*
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: Botan::TPM2::EC_PrivateKey::EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - ecc_pubkey_from_tss2_public
    linkageType: ''
    returnType: void
    signature: "void EC_PrivateKey::EC_PrivateKey(Object handle,\n                             SessionBundle
      sessions,\n                             const TPM2B_PUBLIC* public_blob,\n                             std::span<const
      uint8_t> private_blob)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:38,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:38,1
    - Dst: std::move
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - handle
    - sessions
    - public_key
    - private_blob
    argTypes:
    - Object
    - SessionBundle
    - std::pair<EC_Group, EC_AffinePoint>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: Botan::TPM2::EC_PrivateKey::EC_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void EC_PrivateKey::EC_PrivateKey(Object handle,\n                             SessionBundle
      sessions,\n                             std::pair<EC_Group, EC_AffinePoint>
      public_key,\n                             std::span<const uint8_t> private_blob)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::ECDSA_PublicKey>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:42,1
    - Dst: domain
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:42,1
    - Dst: _public_ec_point
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::TPM2::EC_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - domain
    - std::make_unique<Botan::ECDSA_PublicKey>
    - _public_ec_point
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> EC_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::TPM2::EC_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_PublicKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Botan::TPM2::EC_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_PublicKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_PublicKey::raw_public_key_bits
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan::TPM2::EC_PrivateKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_PublicKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_PrivateKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::PrivateKey::raw_public_key_bits
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::TPM2::EC_PrivateKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::PrivateKey::raw_public_key_bits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EC_PrivateKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:67,1
    - Dst: is_parent
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:67,1
    - Dst: get_tpm2_curve_id
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:69,1
    - Dst: get_curve_oid
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:69,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:71,1
    - Dst: copy_into<TPM2B_AUTH>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:78,1
    - Dst: init_empty<TPM2B_SENSITIVE_DATA>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:83,1
    - Dst: Botan::TPM2::ObjectAttributes::render
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:98,1
    - Dst: init_empty<TPM2B_DIGEST>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:108,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:139,1
    - Dst: create_transient_from_template
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:156,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - ' ctx'
    - ' sessions'
    - auth_value
    - ' parent'
    - ' group'
    argTypes:
    - std::shared_ptr<Context>
    - SessionBundle
    - std::span<const uint8_t>
    - TPM2::PrivateKey
    - EC_Group
    constantsTouched: []
    func_position:
      end: 158
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 158
    functionName: Botan::TPM2::EC_PrivateKey::create_unrestricted_transient
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 1
    functionsReached:
    - Botan::TPM2::ObjectAttributes::render
    - auto::value
    - copy_into<TPM2B_AUTH>
    - init_empty<TPM2B_SENSITIVE_DATA>
    - handles
    - create_transient_from_template
    - init_empty<TPM2B_DIGEST>
    - get_curve_oid
    - Invalid_Argument
    - is_parent
    - BOTAN_ARG_CHECK
    - get_tpm2_curve_id
    linkageType: ''
    returnType: std::unique_ptr<TPM2::PrivateKey>
    signature: "std::unique_ptr<TPM2::PrivateKey> EC_PrivateKey::create_unrestricted_transient(const
      std::shared_ptr<Context>& ctx,\n                                                                               const
      SessionBundle& sessions,\n                                                                               std::span<const
      uint8_t> auth_value,\n                                                                               const
      TPM2::PrivateKey& parent,\n                                                                               const
      EC_Group& group)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::get_tpm2_hash_type
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:167,1
    - Dst: std::string
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: Botan::TPM2::make_signature_scheme
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::get_tpm2_hash_type
    - std::string
    linkageType: ''
    returnType: SignatureAlgorithmSelection
    signature: SignatureAlgorithmSelection make_signature_scheme(std::string_view
      hash_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _public_info
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:175,1
    - Dst: Botan::TPM2::curve_id_order_byte_size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:177,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:179,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:179,1
    - Dst: auto::value
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' sessions'
    - ' object'
    argTypes:
    - SessionBundle
    - Object
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: Botan::TPM2::signature_length_for_key_handle
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - auto::value
    - Invalid_Argument
    - _public_info
    - Botan::TPM2::curve_id_order_byte_size
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length_for_key_handle(const SessionBundle& sessions,
      const Object& object)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_signature_scheme
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' object'
    - ' sessions'
    - hash
    argTypes:
    - Object
    - SessionBundle
    - std::string_view
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: Botan::TPM2::EC_Signature_Operation::EC_Signature_Operation
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - make_signature_scheme
    linkageType: ''
    returnType: void
    signature: void EC_Signature_Operation(const Object& object, const SessionBundle&
      sessions, std::string_view hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signature_length_for_key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:189,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:189,1
    - Dst: key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: Botan::TPM2::EC_Signature_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - sessions
    - key_handle
    - signature_length_for_key_handle
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_function
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:193,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:194,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: Botan::TPM2::EC_Signature_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - hash_function
    - AlgorithmIdentifier
    - Botan::OID::from_string
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier algorithm_identifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:200,1
    - Dst: as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:202,1
    - Dst: as_span
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:203,1
    - Dst: signature_length_for_key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:204,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:204,1
    - Dst: key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:204,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:205,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:206,1
    - Dst: auto::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:206,1
    - Dst: auto::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:206,1
    - Dst: concat
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' signature'
    argTypes:
    - TPMT_SIGNATURE
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: Botan::TPM2::EC_Signature_Operation::marshal_signature
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - signature_length_for_key_handle
    - BOTAN_ASSERT_NOMSG
    - key_handle
    - BOTAN_STATE_CHECK
    - concat
    - sessions
    - auto::size
    - as_span
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> marshal_signature(const TPMT_SIGNATURE& signature)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_signature_scheme
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' object'
    - ' sessions'
    - hash
    argTypes:
    - Object
    - SessionBundle
    - std::string_view
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: Botan::TPM2::EC_Verification_Operation::EC_Verification_Operation
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - make_signature_scheme
    linkageType: ''
    returnType: void
    signature: void EC_Verification_Operation(const Object& object, const SessionBundle&
      sessions, std::string_view hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:219,1
    - Dst: scheme
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:219,1
    - Dst: signature_length_for_key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:221,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:221,1
    - Dst: key_handle
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:221,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:222,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:222,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:223,1
    - Dst: scheme
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:231,1
    - Dst: copy_into<TPM2B_ECC_PARAMETER>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:232,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:232,1
    - Dst: copy_into<TPM2B_ECC_PARAMETER>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:233,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sig_data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 237
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 237
    functionName: Botan::TPM2::EC_Verification_Operation::unmarshal_signature
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - signature_length_for_key_handle
    - BOTAN_ASSERT_NOMSG
    - key_handle
    - BOTAN_STATE_CHECK
    - scheme
    - sessions
    - std::span<const uint8_t>::size
    - copy_into<TPM2B_ECC_PARAMETER>
    - std::span<const uint8_t>::first
    - std::span<const uint8_t>::last
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: TPMT_SIGNATURE
    signature: TPMT_SIGNATURE unmarshal_signature(std::span<const uint8_t> sig_data)
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:244,1
    - Dst: std::make_unique<EC_Verification_Operation>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:245,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:245,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - params
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: Botan::TPM2::EC_PublicKey::create_verification_op
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - sessions
    - BOTAN_UNUSED
    - std::make_unique<EC_Verification_Operation>
    - handles
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Verification>
    signature: "std::unique_ptr<PK_Ops::Verification> EC_PublicKey::create_verification_op(std::string_view
      params,\n                                                                           std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:251,1
    - Dst: std::make_unique<EC_Signature_Operation>
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:252,1
    - Dst: handles
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:252,1
    - Dst: sessions
      Src: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' rng'
    - params
    - provider
    argTypes:
    - Botan::RandomNumberGenerator
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: Botan::TPM2::EC_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/prov/tpm2/tpm2_ecc/tpm2_ecc.cpp
    functionUses: 0
    functionsReached:
    - sessions
    - BOTAN_UNUSED
    - handles
    - std::make_unique<EC_Signature_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> EC_PrivateKey::create_signature_op(Botan::RandomNumberGenerator&
      rng,\n                                                                      std::string_view
      params,\n                                                                      std::string_view
      provider) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TPM_Error
      Src: /src/botan/src/lib/prov/tpm/tpm.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: Botan::Exception
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.h
    functionUses: 1
    functionsReached:
    - TPM_Error
    linkageType: ''
    returnType: TPM_Error
    signature: TPM_Error Exception
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/prov/tpm/tpm.h:51,1
    - Dst: m_pin_cb
      Src: /src/botan/src/lib/prov/tpm/tpm.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 75
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.h
    functionUses: 17
    functionsReached:
    - m_pin_cb
    - BOTAN_DEPRECATED
    linkageType: ''
    returnType: TPM_Context
    signature: TPM_Context final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TPM_RNG
      Src: /src/botan/src/lib/prov/tpm/tpm.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: Botan::Hardware_RNG
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.h
    functionUses: 0
    functionsReached:
    - TPM_RNG
    linkageType: ''
    returnType: TPM_RNG
    signature: TPM_RNG Hardware_RNG
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TPM_PrivateKey
      Src: /src/botan/src/lib/prov/tpm/tpm.h:116,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/prov/tpm/tpm.h:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 189
    functionName: Private_Key
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.h
    functionUses: 3
    functionsReached:
    - TPM_PrivateKey
    - Not_Implemented
    linkageType: ''
    returnType: TPM_PrivateKey
    signature: TPM_PrivateKey Private_Key
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:31,1
    - Dst: Trspi_Error_String
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:32,1
    - Dst: Trspi_Error_Layer
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:33,1
    - Dst: TPM_Error
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - res
    - expr
    - file
    - line
    argTypes:
    - TSS_RESULT
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: Botan::tss_error
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - Trspi_Error_Layer
    - Botan::fmt
    - TPM_Error
    - Trspi_Error_String
    linkageType: ''
    returnType: void
    signature: void tss_error(TSS_RESULT res, const char* expr, const char* file,
      int line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:57,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 59
    functionName: Botan::bit_flag
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - Botan::to_string
    linkageType: ''
    returnType: TSS_FLAG
    signature: TSS_FLAG bit_flag(size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:63,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:63,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: Botan::to_uint32
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - static_cast<uint32_t>
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t to_uint32(T v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:77,1
    - Dst: ::Tspi_GetAttribData
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:77,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:81,1
    - Dst: ::Tspi_Context_FreeMemory
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - obj
    - flag
    - sub_flag
    argTypes:
    - TSS_HCONTEXT
    - TSS_HOBJECT
    - TSS_FLAG
    - TSS_FLAG
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: Botan::get_obj_attr
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - TSPI_CHECK_SUCCESS
    - ::Tspi_Context_FreeMemory
    - ::Tspi_GetAttribData
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> get_obj_attr(TSS_HCONTEXT ctx, TSS_HOBJECT obj,
      TSS_FLAG flag, TSS_FLAG sub_flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<BYTE*>
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:88,1
    - Dst: reinterpret_cast<const BYTE*>
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:88,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:89,1
    - Dst: ::Tspi_Policy_SetSecret
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:89,1
    - Dst: Botan::to_uint32
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:89,1
    - Dst: strlen
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:89,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:93,1
    - Dst: ::Tspi_Policy_SetSecret
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:94,1
    - Dst: const_cast<BYTE*>
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - policy
    - secret
    argTypes:
    - TSS_HPOLICY
    - char*
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: Botan::set_policy_secret
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - const_cast<BYTE*>
    - Botan::to_uint32
    - TSPI_CHECK_SUCCESS
    - reinterpret_cast<const BYTE*>
    - strlen
    - ::Tspi_Policy_SetSecret
    linkageType: ''
    returnType: void
    signature: void set_policy_secret(TSS_HPOLICY policy, const char* secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:102,1
    - Dst: binary_value
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' uuid'
    argTypes:
    - UUID
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: Botan::to_tss_uuid
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - Botan::typecast_copy
    - binary_value
    linkageType: ''
    returnType: TSS_UUID
    signature: TSS_UUID to_tss_uuid(const UUID& uuid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:110,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' tss_uuid'
    argTypes:
    - TSS_UUID
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: Botan::from_tss_uuid
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - Botan::typecast_copy
    - std::vector::data
    linkageType: ''
    returnType: UUID
    signature: UUID from_tss_uuid(const TSS_UUID& tss_uuid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TPM_Error
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:121,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - flag
    argTypes:
    - TSS_FLAG
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: Botan::storage_type_from_tss_flag
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - TPM_Error
    - Botan::to_string
    linkageType: ''
    returnType: TPM_Storage_Type
    signature: TPM_Storage_Type storage_type_from_tss_flag(TSS_FLAG flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' uuid'
    - storage
    argTypes:
    - UUID
    - TPM_Storage_Type
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: Botan::format_url
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - Botan::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string format_url(const UUID& uuid, TPM_Storage_Type storage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::from_tss_uuid
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:130,1
    - Dst: Botan::format_url
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:132,1
    - Dst: Botan::from_tss_uuid
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:132,1
    - Dst: Botan::storage_type_from_tss_flag
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tss_uuid'
    - store_type
    argTypes:
    - TSS_UUID
    - TSS_FLAG
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: Botan::format_url
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 1
    functionsReached:
    - Botan::format_url
    - Botan::from_tss_uuid
    - Botan::storage_type_from_tss_flag
    linkageType: ''
    returnType: std::string
    signature: std::string format_url(const TSS_UUID& tss_uuid, TSS_FLAG store_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:138,1
    - Dst: ::Tspi_Context_Create
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:138,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:139,1
    - Dst: ::Tspi_Context_Connect
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:139,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:141,1
    - Dst: ::Tspi_Context_GetTpmObject
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:141,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:145,1
    - Dst: ::Tspi_Context_LoadKeyByUUID
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:145,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:147,1
    - Dst: ::Tspi_GetPolicyObject
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:147,1
    - Dst: set_policy_secret
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - cb
    - srk_password
    argTypes:
    - pin_cb
    - char*
    constantsTouched: []
    func_position:
      end: 152
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 152
    functionName: Botan::TPM_Context::TPM_Context
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 1
    functionsReached:
    - ::Tspi_Context_GetTpmObject
    - ::Tspi_Context_LoadKeyByUUID
    - ::Tspi_GetPolicyObject
    - set_policy_secret
    - ::Tspi_Context_Connect
    - TSPI_CHECK_SUCCESS
    - ::Tspi_Context_Create
    linkageType: ''
    returnType: void
    signature: void TPM_Context::TPM_Context(pin_cb cb, const char* srk_password)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:155,1
    - Dst: ::Tspi_Context_CloseObject
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:155,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:157,1
    - Dst: ::Tspi_Context_Close
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:157,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:158,1
    - Dst: ::Tspi_Context_Close
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: TPM_Context::~TPM_Context()
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - TSPI_CHECK_SUCCESS
    - ::Tspi_Context_Close
    - ::Tspi_Context_CloseObject
    linkageType: ''
    returnType: void
    signature: void TPM_Context::~TPM_Context()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:163,1
    - Dst: ::Tspi_TPM_ReadCounter
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: Botan::TPM_Context::current_counter
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - TSPI_CHECK_SUCCESS
    - ::Tspi_TPM_ReadCounter
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t TPM_Context::current_counter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:169,1
    - Dst: ::Tspi_TPM_GetRandom
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:169,1
    - Dst: to_uint32
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:169,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:170,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:170,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:171,1
    - Dst: ::Tspi_Context_FreeMemory
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out
    - out_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: Botan::TPM_Context::gen_random
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - to_uint32
    - ::Tspi_TPM_GetRandom
    - TSPI_CHECK_SUCCESS
    - copy_mem
    - reinterpret_cast<const uint8_t*>
    - ::Tspi_Context_FreeMemory
    linkageType: ''
    returnType: void
    signature: void TPM_Context::gen_random(uint8_t out[], size_t out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:175,1
    - Dst: ::Tspi_TPM_StirRandom
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:175,1
    - Dst: to_uint32
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:175,1
    - Dst: const_cast<BYTE*>
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - in_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: Botan::TPM_Context::stir_random
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - TSPI_CHECK_SUCCESS
    - const_cast<BYTE*>
    - to_uint32
    - ::Tspi_TPM_StirRandom
    linkageType: ''
    returnType: void
    signature: void TPM_Context::stir_random(const uint8_t in[], size_t in_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bit_flag
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:182,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:185,1
    - Dst: ::Tspi_Context_CreateObject
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:185,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:185,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:187,1
    - Dst: ::Tspi_SetAttribUint32
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:188,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:191,1
    - Dst: ::Tspi_Context_CreateObject
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:191,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:191,1
    - Dst: set_policy_secret
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:192,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:193,1
    - Dst: ::Tspi_Policy_AssignToObject
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:193,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:195,1
    - Dst: ::Tspi_Key_CreateKey
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:195,1
    - Dst: srk
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ctx'
    - bits
    - key_password
    argTypes:
    - TPM_Context
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 197
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 197
    functionName: Botan::TPM_PrivateKey::TPM_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - handle
    - ::Tspi_Key_CreateKey
    - ::Tspi_Context_CreateObject
    - set_policy_secret
    - srk
    - bit_flag
    - TSPI_CHECK_SUCCESS
    - ::Tspi_SetAttribUint32
    - ::Tspi_Policy_AssignToObject
    linkageType: ''
    returnType: void
    signature: void TPM_PrivateKey::TPM_PrivateKey(TPM_Context& ctx, size_t bits,
      const char* key_password)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:204,1
    - Dst: ::Tspi_Context_LoadKeyByUUID
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:204,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:204,1
    - Dst: to_tss_uuid
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ctx'
    - uuid_str
    - storage_type
    argTypes:
    - TPM_Context
    - std::string_view
    - TPM_Storage_Type
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: Botan::TPM_PrivateKey::TPM_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - TSPI_CHECK_SUCCESS
    - handle
    - to_tss_uuid
    - ::Tspi_Context_LoadKeyByUUID
    linkageType: ''
    returnType: void
    signature: void TPM_PrivateKey::TPM_PrivateKey(TPM_Context& ctx, std::string_view
      uuid_str, TPM_Storage_Type storage_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:208,1
    - Dst: ::Tspi_Context_LoadKeyByBlob
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:208,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:209,1
    - Dst: srk
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:209,1
    - Dst: to_uint32
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:209,1
    - Dst: size
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:209,1
    - Dst: const_cast<uint8_t*>
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:209,1
    - Dst: data
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ctx'
    - ' blob'
    argTypes:
    - TPM_Context
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: Botan::TPM_PrivateKey::TPM_PrivateKey
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - handle
    - ::Tspi_Context_LoadKeyByBlob
    - const_cast<uint8_t*>
    - data
    - to_uint32
    - srk
    - size
    - TSPI_CHECK_SUCCESS
    linkageType: ''
    returnType: void
    signature: void TPM_PrivateKey::TPM_PrivateKey(TPM_Context& ctx, const std::vector<uint8_t>&
      blob)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_valid
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:215,1
    - Dst: UUID
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:217,1
    - Dst: to_tss_uuid
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:220,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:225,1
    - Dst: ::Tspi_Context_RegisterKey
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:226,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:226,1
    - Dst: TPM_Error
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:232,1
    - Dst: to_string
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:232,1
    - Dst: format_url
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - storage_type
    argTypes:
    - TPM_Storage_Type
    constantsTouched: []
    func_position:
      end: 236
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 236
    functionName: Botan::TPM_PrivateKey::register_key
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - handle
    - TPM_Error
    - to_tss_uuid
    - is_valid
    - ::Tspi_Context_RegisterKey
    - TSPI_CHECK_SUCCESS
    - format_url
    - to_string
    - UUID
    linkageType: ''
    returnType: std::string
    signature: std::string TPM_PrivateKey::register_key(TPM_Storage_Type storage_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:243,1
    - Dst: ::Tspi_Context_GetRegisteredKeysByUUID2
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:244,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:244,1
    - Dst: format_url
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ctx'
    argTypes:
    - TPM_Context
    constantsTouched: []
    func_position:
      end: 256
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 256
    functionName: Botan::TPM_PrivateKey::registered_keys
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 1
    functionsReached:
    - TSPI_CHECK_SUCCESS
    - ::Tspi_Context_GetRegisteredKeysByUUID2
    - handle
    - format_url
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> TPM_PrivateKey::registered_keys(TPM_Context&
      ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:260,1
    - Dst: get_obj_attr
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:261,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: Botan::TPM_PrivateKey::get_n
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_bytes
    - handle
    - get_obj_attr
    linkageType: ''
    returnType: BigInt
    signature: BigInt TPM_PrivateKey::get_n() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:269,1
    - Dst: get_obj_attr
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:270,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: Botan::TPM_PrivateKey::get_e
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::from_bytes
    - handle
    - get_obj_attr
    linkageType: ''
    returnType: BigInt
    signature: BigInt TPM_PrivateKey::get_e() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: if_work_factor
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:277,1
    - Dst: Botan::TPM_PrivateKey::key_length
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: Botan::TPM_PrivateKey::estimated_strength
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM_PrivateKey::key_length
    - if_work_factor
    linkageType: ''
    returnType: size_t
    signature: size_t TPM_PrivateKey::estimated_strength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM_PrivateKey::get_n
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: Botan::TPM_PrivateKey::key_length
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 1
    functionsReached:
    - Botan::TPM_PrivateKey::get_n
    linkageType: ''
    returnType: size_t
    signature: size_t TPM_PrivateKey::key_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:285,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: Botan::TPM_PrivateKey::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - AlgorithmIdentifier
    - object_identifier
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier TPM_PrivateKey::algorithm_identifier() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DER_Encoder
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:290,1
    - Dst: Botan::TPM_PrivateKey::get_n
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:290,1
    - Dst: Botan::TPM_PrivateKey::get_e
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: Botan::TPM_PrivateKey::public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM_PrivateKey::get_n
    - Botan::TPM_PrivateKey::get_e
    - DER_Encoder
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> TPM_PrivateKey::public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TPM_Error
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: Botan::TPM_PrivateKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - TPM_Error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> TPM_PrivateKey::raw_public_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TPM_Error
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: Botan::TPM_PrivateKey::private_key_bits
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - TPM_Error
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> TPM_PrivateKey::private_key_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_obj_attr
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:303,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: Botan::TPM_PrivateKey::export_blob
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 1
    functionsReached:
    - handle
    - get_obj_attr
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> TPM_PrivateKey::export_blob() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RSA_PublicKey>
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:307,1
    - Dst: Botan::TPM_PrivateKey::get_n
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:307,1
    - Dst: Botan::TPM_PrivateKey::get_e
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: Botan::TPM_PrivateKey::public_key
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM_PrivateKey::get_n
    - Botan::TPM_PrivateKey::get_e
    - std::make_unique<RSA_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Public_Key>
    signature: std::unique_ptr<Public_Key> TPM_PrivateKey::public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: Botan::TPM_PrivateKey::check_key
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TPM_PrivateKey::check_key(RandomNumberGenerator&, bool) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:319,1
    - Dst: pkcs_hash_id
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key'
    - hash_name
    argTypes:
    - TPM_PrivateKey
    - std::string_view
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: Botan::TPM_Signing_Operation::TPM_Signing_Operation
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::create_or_throw
    - pkcs_hash_id
    linkageType: ''
    returnType: void
    signature: void TPM_Signing_Operation(const TPM_PrivateKey& key, std::string_view
      hash_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: Botan::TPM_Signing_Operation::hash_function
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_n
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: Botan::TPM_Signing_Operation::signature_length
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - get_n
    linkageType: ''
    returnType: size_t
    signature: size_t signature_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM_Signing_Operation::update
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: Botan::TPM_Signing_Operation::update
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 1
    functionsReached:
    - Botan::TPM_Signing_Operation::update
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> msg) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:328,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:329,1
    - Dst: AlgorithmIdentifier
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: Botan::TPM_Signing_Operation::algorithm_identifier
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::from_string
    - AlgorithmIdentifier
    - name
    linkageType: ''
    returnType: AlgorithmIdentifier
    signature: AlgorithmIdentifier algorithm_identifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:341,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:344,1
    - Dst: size
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:344,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:344,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:345,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:345,1
    - Dst: begin
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:345,1
    - Dst: end
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:345,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:346,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:346,1
    - Dst: secure_vector::begin
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:346,1
    - Dst: secure_vector::end
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:346,1
    - Dst: ctx
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:348,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:350,1
    - Dst: ::Tspi_Context_CreateObject
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:350,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:351,1
    - Dst: ::Tspi_Hash_SetHashValue
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:351,1
    - Dst: to_uint32
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:351,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:351,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:351,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:355,1
    - Dst: ::Tspi_Hash_Sign
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:355,1
    - Dst: handle
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:355,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:359,1
    - Dst: ::Tspi_Context_FreeMemory
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:359,1
    - Dst: TSPI_CHECK_SUCCESS
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:362,1
    - Dst: ::Tspi_Context_CloseObject
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 365
    functionName: Botan::TPM_Signing_Operation::sign
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - ::Tspi_Hash_Sign
    - secure_vector::end
    - TSPI_CHECK_SUCCESS
    - ::Tspi_Context_FreeMemory
    - ::Tspi_Hash_SetHashValue
    - secure_vector::size
    - ctx
    - std::vector::reserve
    - std::vector::end
    - std::vector::data
    - handle
    - secure_vector::begin
    - ::Tspi_Context_CloseObject
    - final
    - size
    - end
    - begin
    - ::Tspi_Context_CreateObject
    - to_uint32
    - std::vector::insert
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sign(RandomNumberGenerator&) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TPM_Signing_Operation>
      Src: /src/botan/src/lib/prov/tpm/tpm.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 379
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 379
    functionName: Botan::TPM_PrivateKey::create_signature_op
    functionSourceFile: /src/botan/src/lib/prov/tpm/tpm.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<TPM_Signing_Operation>
    linkageType: ''
    returnType: std::unique_ptr<PK_Ops::Signature>
    signature: "std::unique_ptr<PK_Ops::Signature> TPM_PrivateKey::create_signature_op(RandomNumberGenerator&
      /*rng*/,\n                                                                       std::string_view
      params,\n                                                                       std::string_view
      /*provider*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - what
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: Botan::CommonCrypto_Error::CommonCrypto_Error
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_Error::CommonCrypto_Error(std::string_view what)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:22,1
    - Dst: Botan::CommonCrypto_Error::ccryptorstatus_to_string
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - what
    - status
    argTypes:
    - std::string_view
    - int32_t
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::CommonCrypto_Error::CommonCrypto_Error
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - Botan::CommonCrypto_Error::ccryptorstatus_to_string
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_Error::CommonCrypto_Error(std::string_view what,
      int32_t status)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - status
    argTypes:
    - CCCryptorStatus
    constantsTouched: []
    func_position:
      end: 54
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 54
    functionName: Botan::CommonCrypto_Error::ccryptorstatus_to_string
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CommonCrypto_Error::ccryptorstatus_to_string(CCCryptorStatus
      status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::compare
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:59,1
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:63,1
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:65,1
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:67,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:69,1
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:74,1
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:78,1
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:82,1
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:88,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:90,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - algo_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 94
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 94
    functionName: Botan::commoncrypto_opts_from_algo_name
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    - std::string_view::compare
    - CommonCrypto_Error
    linkageType: ''
    returnType: CommonCryptor_Opts
    signature: CommonCryptor_Opts commoncrypto_opts_from_algo_name(std::string_view
      algo_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:99,1
    - Dst: SCAN_Name::cipher_mode
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:100,1
    - Dst: SCAN_Name::cipher_mode_pad
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:101,1
    - Dst: Botan::commoncrypto_opts_from_algo_name
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:103,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:106,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:115,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - algo
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 132
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 132
    functionName: Botan::commoncrypto_opts_from_algo
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp
    functionUses: 0
    functionsReached:
    - SCAN_Name::algo_name
    - SCAN_Name::cipher_mode_pad
    - std::string::empty
    - CommonCrypto_Error
    - SCAN_Name::cipher_mode
    - Botan::commoncrypto_opts_from_algo_name
    linkageType: ''
    returnType: CommonCryptor_Opts
    signature: CommonCryptor_Opts commoncrypto_opts_from_algo(std::string_view algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:155,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:157,1
    - Dst: data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:157,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - key
    - length
    - ' opts'
    - ' full_key'
    argTypes:
    - uint8_t[]
    - size_t
    - CommonCryptor_Opts
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 162
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 162
    functionName: Botan::commoncrypto_adjust_key_size
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_utils.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - data
    - resize
    - Botan::copy_mem
    linkageType: ''
    returnType: void
    signature: "void commoncrypto_adjust_key_size(const uint8_t key[],\n                                  size_t
      length,\n                                  const CommonCryptor_Opts& opts,\n
      \                                 secure_vector<uint8_t>& full_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::CommonCrypto_BlockCipher::provider
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::CommonCrypto_BlockCipher::name
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::CommonCrypto_BlockCipher::block_size
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::CommonCrypto_BlockCipher::key_spec
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan::CommonCrypto_BlockCipher::has_keying_material
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_keying_material() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:41,1
    - Dst: CCCryptorUpdate
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:45,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: Botan::CommonCrypto_BlockCipher::encrypt_n
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached:
    - CCCryptorUpdate
    - CommonCrypto_Error
    - assert_key_material_set
    linkageType: ''
    returnType: void
    signature: void encrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:52,1
    - Dst: CCCryptorUpdate
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:56,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - in
    - out
    - blocks
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: Botan::CommonCrypto_BlockCipher::decrypt_n
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached:
    - CCCryptorUpdate
    - CommonCrypto_Error
    - assert_key_material_set
    linkageType: ''
    returnType: void
    signature: void decrypt_n(const uint8_t in[], uint8_t out[], size_t blocks) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - algo_name
    - ' opts'
    argTypes:
    - std::string_view
    - CommonCryptor_Opts
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: Botan::CommonCrypto_BlockCipher::CommonCrypto_BlockCipher
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_BlockCipher::CommonCrypto_BlockCipher(std::string_view
      algo_name, const CommonCryptor_Opts& opts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CCCryptorRelease
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:77,1
    - Dst: CCCryptorRelease
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: CommonCrypto_BlockCipher::~CommonCrypto_BlockCipher()
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached:
    - CCCryptorRelease
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_BlockCipher::~CommonCrypto_BlockCipher()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:88,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:88,1
    - Dst: Botan::CommonCrypto_BlockCipher::clear
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:90,1
    - Dst: commoncrypto_adjust_key_size
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:91,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:91,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:91,1
    - Dst: CCCryptorCreate
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:95,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:95,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:95,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:97,1
    - Dst: CCCryptorCreate
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:100,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:100,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:100,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 106
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 106
    functionName: Botan::CommonCrypto_BlockCipher::key_schedule
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - secure_vector::data
    - Botan::CommonCrypto_BlockCipher::clear
    - commoncrypto_adjust_key_size
    - secure_vector::size
    - CommonCrypto_Error
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::begin
    - CCCryptorCreate
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_BlockCipher::key_schedule(std::span<const uint8_t>
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CommonCrypto_BlockCipher>
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: Botan::CommonCrypto_BlockCipher::new_object
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CommonCrypto_BlockCipher>
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> CommonCrypto_BlockCipher::new_object()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CCCryptorRelease
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:122,1
    - Dst: CCCryptorRelease
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: Botan::CommonCrypto_BlockCipher::clear
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 1
    functionsReached:
    - CCCryptorRelease
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_BlockCipher::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::commoncrypto_opts_from_algo_name
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:135,1
    - Dst: std::make_unique<CommonCrypto_BlockCipher>
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: Botan::make_commoncrypto_block_cipher
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_block.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CommonCrypto_BlockCipher>
    - Botan::commoncrypto_opts_from_algo_name
    linkageType: ''
    returnType: std::unique_ptr<BlockCipher>
    signature: std::unique_ptr<BlockCipher> make_commoncrypto_block_cipher(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: Botan::Exception
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto.h
    functionUses: 1
    functionsReached:
    - CommonCrypto_Error
    linkageType: ''
    returnType: CommonCrypto_Error
    signature: CommonCrypto_Error Exception
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::CommonCrypto_Cipher_Mode::provider
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::CommonCrypto_Cipher_Mode::name
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan::CommonCrypto_Cipher_Mode::has_keying_material
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_keying_material() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - name
    - direction
    - ' opts'
    argTypes:
    - std::string_view
    - Cipher_Dir
    - CommonCryptor_Opts
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: Botan::CommonCrypto_Cipher_Mode::CommonCrypto_Cipher_Mode
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CommonCrypto_Cipher_Mode::CommonCrypto_Cipher_Mode(std::string_view
      name,\n                                                   Cipher_Dir direction,\n
      \                                                  const CommonCryptor_Opts&
      opts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CCCryptorRelease
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: CommonCrypto_Cipher_Mode::~CommonCrypto_Cipher_Mode()
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached:
    - CCCryptorRelease
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_Cipher_Mode::~CommonCrypto_Cipher_Mode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:71,1
    - Dst: Botan::CommonCrypto_Cipher_Mode::valid_nonce_length
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:73,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:74,1
    - Dst: Botan::CommonCrypto_Cipher_Mode::name
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:74,1
    - Dst: CCCryptorReset
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:77,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: Botan::CommonCrypto_Cipher_Mode::start_msg
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached:
    - assert_key_material_set
    - CCCryptorReset
    - Invalid_IV_Length
    - Botan::CommonCrypto_Cipher_Mode::valid_nonce_length
    - CommonCrypto_Error
    - Botan::CommonCrypto_Cipher_Mode::name
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_Cipher_Mode::start_msg(const uint8_t nonce[], size_t
      nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:86,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:87,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:93,1
    - Dst: CCCryptorUpdate
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:103,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:103,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:105,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:107,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - msg
    - msg_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 110
    functionName: Botan::CommonCrypto_Cipher_Mode::process_msg
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - CCCryptorUpdate
    - BOTAN_STATE_CHECK
    - assert_key_material_set
    - copy_mem
    - CommonCrypto_Error
    - Internal_Error
    linkageType: ''
    returnType: size_t
    signature: size_t CommonCrypto_Cipher_Mode::process_msg(uint8_t msg[], size_t
      msg_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:113,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:114,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:116,1
    - Dst: size
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:116,1
    - Dst: CCCryptorFinal
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:125,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:125,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:127,1
    - Dst: size
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:131,1
    - Dst: resize
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:132,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:134,1
    - Dst: data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:134,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' buffer'
    - offset
    argTypes:
    - secure_vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 136
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 136
    functionName: Botan::CommonCrypto_Cipher_Mode::finish_msg
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - BOTAN_STATE_CHECK
    - data
    - assert_key_material_set
    - size
    - copy_mem
    - resize
    - CommonCrypto_Error
    - BOTAN_ASSERT
    - CCCryptorFinal
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_Cipher_Mode::finish_msg(secure_vector<uint8_t>& buffer,
      size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: Botan::CommonCrypto_Cipher_Mode::update_granularity
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CommonCrypto_Cipher_Mode::update_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: Botan::CommonCrypto_Cipher_Mode::ideal_granularity
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CommonCrypto_Cipher_Mode::ideal_granularity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: Botan::CommonCrypto_Cipher_Mode::minimum_final_size
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CommonCrypto_Cipher_Mode::minimum_final_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: Botan::CommonCrypto_Cipher_Mode::default_nonce_length
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CommonCrypto_Cipher_Mode::default_nonce_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - nonce_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: Botan::CommonCrypto_Cipher_Mode::valid_nonce_length
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CommonCrypto_Cipher_Mode::valid_nonce_length(size_t nonce_len)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: Botan::CommonCrypto_Cipher_Mode::output_length
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached:
    - round_up
    linkageType: ''
    returnType: size_t
    signature: size_t CommonCrypto_Cipher_Mode::output_length(size_t input_length)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CCCryptorRelease
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 180
    functionName: Botan::CommonCrypto_Cipher_Mode::clear
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached:
    - CCCryptorRelease
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_Cipher_Mode::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CCCryptorReset
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:189,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: Botan::CommonCrypto_Cipher_Mode::reset
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached:
    - CommonCrypto_Error
    - CCCryptorReset
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_Cipher_Mode::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: Botan::CommonCrypto_Cipher_Mode::key_spec
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification CommonCrypto_Cipher_Mode::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CCCryptorCreateWithMode
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:202,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:203,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:203,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: Botan::CommonCrypto_Cipher_Mode::key_schedule
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached:
    - CCCryptorCreateWithMode
    - std::span<const uint8_t>::data
    - CommonCrypto_Error
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_Cipher_Mode::key_schedule(std::span<const uint8_t>
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::commoncrypto_opts_from_algo
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:215,1
    - Dst: std::make_unique<CommonCrypto_Cipher_Mode>
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - name
    - direction
    argTypes:
    - std::string_view
    - Cipher_Dir
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: Botan::make_commoncrypto_cipher_mode
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_mode.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CommonCrypto_Cipher_Mode>
    - Botan::commoncrypto_opts_from_algo
    linkageType: ''
    returnType: std::unique_ptr<Cipher_Mode>
    signature: std::unique_ptr<Cipher_Mode> make_commoncrypto_cipher_mode(std::string_view
      name, Cipher_Dir direction)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:33,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: Botan::CommonCrypto_HashFunction::clear
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached:
    - init
    - CommonCrypto_Error
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::CommonCrypto_HashFunction::provider
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::CommonCrypto_HashFunction::name
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CommonCrypto_HashFunction>
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::CommonCrypto_HashFunction::new_object
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CommonCrypto_HashFunction>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CommonCrypto_HashFunction>
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:46,1
    - Dst: CommonCrypto_HashFunction::CommonCrypto_HashFunction
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Botan::CommonCrypto_HashFunction::copy_state
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<CommonCrypto_HashFunction>
    - CommonCrypto_HashFunction::CommonCrypto_HashFunction
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> copy_state() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::CommonCrypto_HashFunction::output_length
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::CommonCrypto_HashFunction::hash_block_size
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_block_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CommonCrypto_HashFunction::clear
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - digest_config_t
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Botan::CommonCrypto_HashFunction::CommonCrypto_HashFunction
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached:
    - Botan::CommonCrypto_HashFunction::clear
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_HashFunction(const digest_config_t& info)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' info'
    - ' ctx'
    argTypes:
    - digest_config_t
    - CTX
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::CommonCrypto_HashFunction::CommonCrypto_HashFunction
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonCrypto_HashFunction(const digest_config_t& info, const CTX&
      ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:62,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:63,1
    - Dst: static_cast<CC_LONG>
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:63,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:63,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:64,1
    - Dst: update
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:65,1
    - Dst: auto::data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:65,1
    - Dst: static_cast<CC_LONG>
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:65,1
    - Dst: auto::size
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: Botan::CommonCrypto_HashFunction::add_data
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CC_LONG>
    - BufferSlicer::take
    - auto::data
    - BufferSlicer::empty
    - auto::size
    - update
    - BufferSlicer::remaining
    linkageType: ''
    returnType: void
    signature: void add_data(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:70,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:70,1
    - Dst: CommonCrypto_Error
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:71,1
    - Dst: Botan::CommonCrypto_HashFunction::clear
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: Botan::CommonCrypto_HashFunction::final_result
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached:
    - final
    - Botan::CommonCrypto_HashFunction::clear
    - CommonCrypto_Error
    - std::span<uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void final_result(std::span<uint8_t> output) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_COMMONCRYPTO_HASH_3
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:95,1
    - Dst: MAKE_COMMONCRYPTO_HASH_2
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:97,1
    - Dst: MAKE_COMMONCRYPTO_HASH_3
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:101,1
    - Dst: MAKE_COMMONCRYPTO_HASH_2
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:103,1
    - Dst: MAKE_COMMONCRYPTO_HASH_2
      Src: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 112
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 112
    functionName: Botan::make_commoncrypto_hash
    functionSourceFile: /src/botan/src/lib/prov/commoncrypto/commoncrypto_hash.cpp
    functionUses: 0
    functionsReached:
    - MAKE_COMMONCRYPTO_HASH_2
    - MAKE_COMMONCRYPTO_HASH_3
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> make_commoncrypto_hash(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/utils/ct_utils.h:56,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/botan/src/lib/utils/ct_utils.h:57,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/ct_utils.h:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: Botan::CT::poison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 52
    functionsReached:
    - BOTAN_UNUSED
    - std::is_constant_evaluated
    - VALGRIND_MAKE_MEM_UNDEFINED
    linkageType: ''
    returnType: void
    signature: void poison(const T* p, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/utils/ct_utils.h:67,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/botan/src/lib/utils/ct_utils.h:68,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/ct_utils.h:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: Botan::CT::unpoison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 71
    functionsReached:
    - VALGRIND_MAKE_MEM_DEFINED
    - BOTAN_UNUSED
    - std::is_constant_evaluated
    linkageType: ''
    returnType: void
    signature: void unpoison(const T* p, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: Botan::CT::poison_has_effect
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool poison_has_effect()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/utils/ct_utils.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: Botan::CT::poison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 53
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void poison(const T& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/utils/ct_utils.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: Botan::CT::unpoison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 72
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void unpoison(const T& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/utils/ct_utils.h:121,1
    - Dst: std::span::data
      Src: /src/botan/src/lib/utils/ct_utils.h:121,1
    - Dst: std::span::size
      Src: /src/botan/src/lib/utils/ct_utils.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - R
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: Botan::CT::poison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 54
    functionsReached:
    - std::span::data
    - Botan::CT::poison
    - std::span::size
    linkageType: ''
    returnType: void
    signature: void poison(const R& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/utils/ct_utils.h:128,1
    - Dst: std::span::data
      Src: /src/botan/src/lib/utils/ct_utils.h:128,1
    - Dst: std::span::size
      Src: /src/botan/src/lib/utils/ct_utils.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - R
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: Botan::CT::unpoison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 73
    functionsReached:
    - Botan::CT::unpoison
    - std::span::size
    - std::span::data
    linkageType: ''
    returnType: void
    signature: void unpoison(const R& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _const_time_poison
      Src: /src/botan/src/lib/utils/ct_utils.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Botan::CT::poison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 54
    functionsReached:
    - _const_time_poison
    linkageType: ''
    returnType: void
    signature: void poison(const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _const_time_unpoison
      Src: /src/botan/src/lib/utils/ct_utils.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: Botan::CT::unpoison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 73
    functionsReached:
    - _const_time_unpoison
    linkageType: ''
    returnType: void
    signature: void unpoison(const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/utils/ct_utils.h:151,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/utils/ct_utils.h:152,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ct_utils.h:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::optional<T>
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: Botan::CT::poison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 55
    functionsReached:
    - Botan::CT::poison
    - has_value
    - value
    linkageType: ''
    returnType: void
    signature: void poison(const std::optional<T>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/utils/ct_utils.h:159,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/utils/ct_utils.h:160,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ct_utils.h:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::optional<T>
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: Botan::CT::unpoison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 74
    functionsReached:
    - Botan::CT::unpoison
    - has_value
    - value
    linkageType: ''
    returnType: void
    signature: void unpoison(const std::optional<T>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/utils/ct_utils.h:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - R
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: Botan::CT::poison_range
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 4
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void poison_range(const R& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/utils/ct_utils.h:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - R
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: Botan::CT::unpoison_range
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 3
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void unpoison_range(const R& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/utils/ct_utils.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: Botan::CT::poison_all
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 11
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void poison_all(const Ts&... ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/utils/ct_utils.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: Botan::CT::unpoison_all
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 19
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void unpoison_all(const Ts&... ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scoped_cleanup
      Src: /src/botan/src/lib/utils/ct_utils.h:221,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/utils/ct_utils.h:221,1
    - Dst: Botan::CT::poison_all
      Src: /src/botan/src/lib/utils/ct_utils.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: Botan::CT::scoped_poison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 26
    functionsReached:
    - scoped_cleanup
    - Botan::CT::poison_all
    - Botan::CT::unpoison_all
    linkageType: ''
    returnType: auto
    signature: auto scoped_poison(const Ts&... xs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/utils/ct_utils.h:233,1
    - Dst: std::forward<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionName: Botan::CT::driveby_poison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 1
    functionsReached:
    - Botan::CT::poison
    - std::forward<T>
    linkageType: ''
    returnType: decltype(auto)
    signature: "decltype(auto) driveby_poison(T&& v)\n   requires(std::is_rvalue_reference_v<decltype(v)>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/utils/ct_utils.h:244,1
    - Dst: std::forward<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: Botan::CT::driveby_unpoison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 8
    functionsReached:
    - Botan::CT::unpoison
    - std::forward<T>
    linkageType: ''
    returnType: decltype(auto)
    signature: "decltype(auto) driveby_unpoison(T&& v)\n   requires(std::is_rvalue_reference_v<decltype(v)>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/utils/ct_utils.h:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 299
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 299
    functionName: Botan::CT::value_barrier
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 1
    functionsReached:
    - std::is_constant_evaluated
    linkageType: ''
    returnType: T
    signature: "T value_barrier(T x)\n   requires std::unsigned_integral<T> && (!std::same_as<bool,
      T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ct_is_zero<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:317,1
    - Dst: value_barrier<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:317,1
    - Dst: Botan::CT::Choice::Choice
      Src: /src/botan/src/lib/utils/ct_utils.h:326,1
    - Dst: ct_is_zero<uint32_t>
      Src: /src/botan/src/lib/utils/ct_utils.h:326,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/ct_utils.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 327
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 327
    functionName: Botan::CT::Choice::from_int
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 5
    functionsReached:
    - ct_is_zero<uint32_t>
    - static_cast<uint32_t>
    - value_barrier<T>
    - Botan::CT::Choice::Choice
    - ct_is_zero<T>
    linkageType: ''
    returnType: Choice
    signature: Choice from_int(T v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Choice::Choice
      Src: /src/botan/src/lib/utils/ct_utils.h:329,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/ct_utils.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: Botan::CT::Choice::yes
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 2
    functionsReached:
    - Botan::CT::Choice::Choice
    - static_cast<uint32_t>
    linkageType: ''
    returnType: Choice
    signature: Choice yes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Choice::Choice
      Src: /src/botan/src/lib/utils/ct_utils.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: Botan::CT::Choice::no
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 5
    functionsReached:
    - Botan::CT::Choice::Choice
    linkageType: ''
    returnType: Choice
    signature: Choice no()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Choice
      Src: /src/botan/src/lib/utils/ct_utils.h:333,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ct_utils.h:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 333
    functionName: operator!() const
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Choice
    - value
    linkageType: ''
    returnType: Choice
    signature: Choice operator!() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Choice
      Src: /src/botan/src/lib/utils/ct_utils.h:335,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ct_utils.h:335,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ct_utils.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Choice
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: operator&&(const Choice& other) const
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Choice
    - value
    linkageType: ''
    returnType: Choice
    signature: Choice operator&&(const Choice& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Choice
      Src: /src/botan/src/lib/utils/ct_utils.h:337,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ct_utils.h:337,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ct_utils.h:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Choice
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: operator||(const Choice& other) const
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Choice
    - value
    linkageType: ''
    returnType: Choice
    signature: Choice operator||(const Choice& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Choice
      Src: /src/botan/src/lib/utils/ct_utils.h:339,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ct_utils.h:339,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ct_utils.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Choice
    constantsTouched: []
    func_position:
      end: 339
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 339
    functionName: operator!=(const Choice& other) const
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Choice
    - value
    linkageType: ''
    returnType: Choice
    signature: Choice operator!=(const Choice& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Choice
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: operator==(const Choice& other) const
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Choice
    signature: Choice operator==(const Choice& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: Botan::CT::Choice::as_bool
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool as_bool() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier
      Src: /src/botan/src/lib/utils/ct_utils.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 356
    functionName: Botan::CT::Choice::value
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - value_barrier
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Choice
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: Botan::CT::Choice::Choice
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Choice(const Choice& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Choice
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: Botan::CT::Choice::Choice
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Choice(Choice&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Choice
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: '& operator=(const Choice& other) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Choice
    signature: Choice & operator=(const Choice& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Choice
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: '& operator=(Choice&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Choice
    signature: Choice & operator=(Choice&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: ~Choice()
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Choice()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: Botan::CT::Choice::Choice
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Choice(uint32_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 389
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 389
    functionName: Botan::CT::Mask::Mask
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mask(const Mask<T>& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    functionName: Botan::CT::Mask::Mask
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mask(Mask<T>&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 391
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 391
    functionName: '& operator=(const Mask<T>& other)'
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> & operator=(const Mask<T>& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 392
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 392
    functionName: '& operator=(Mask<T>&& other)'
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> & operator=(Mask<T>&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 393
    functionName: ~Mask()
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Mask()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:399,1
    - Dst: Mask<U>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - o
    argTypes:
    - Mask<U>
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: Botan::CT::Mask::Mask
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - Mask<U>::value
    linkageType: ''
    returnType: void
    signature: void Mask(Mask<U> o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::Mask
      Src: /src/botan/src/lib/utils/ct_utils.h:406,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 406
    functionName: Botan::CT::Mask::set
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - Botan::CT::Mask::Mask
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> set()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::Mask
      Src: /src/botan/src/lib/utils/ct_utils.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 411
    functionName: Botan::CT::Mask::cleared
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 5
    functionsReached:
    - Botan::CT::Mask::Mask
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> cleared()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/utils/ct_utils.h:416,1
    - Dst: value_barrier<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 416
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 416
    functionName: Botan::CT::Mask::expand
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::sodium_is_zero
    - value_barrier<T>
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> expand(T v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::Mask
      Src: /src/botan/src/lib/utils/ct_utils.h:425,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:425,1
    - Dst: Choice::value
      Src: /src/botan/src/lib/utils/ct_utils.h:425,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/utils/ct_utils.h:427,1
    - Dst: Choice::value
      Src: /src/botan/src/lib/utils/ct_utils.h:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - Choice
    constantsTouched: []
    func_position:
      end: 429
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 429
    functionName: Botan::CT::Mask::from_choice
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 8
    functionsReached:
    - static_cast<T>
    - Botan::Sodium::sodium_is_zero
    - Choice::value
    - Botan::CT::Mask::Mask
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> from_choice(Choice c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::Mask
      Src: /src/botan/src/lib/utils/ct_utils.h:434,1
    - Dst: Botan::expand_top_bit<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:434,1
    - Dst: value_barrier<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 434
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 434
    functionName: Botan::CT::Mask::expand_top_bit
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 4
    functionsReached:
    - Botan::expand_top_bit<T>
    - value_barrier<T>
    - Botan::CT::Mask::Mask
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> expand_top_bit(T v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/utils/ct_utils.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - bit
    argTypes:
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 442
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 442
    functionName: Botan::CT::Mask::expand_bit
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 2
    functionsReached:
    - Botan::CT::Mask::expand_top_bit
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> expand_bit(T v, size_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/utils/ct_utils.h:450,1
    - Dst: Mask<U>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Mask<U>
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: Botan::CT::Mask::expand
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::sodium_is_zero
    - Mask<U>::value
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> expand(Mask<U> m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::Mask
      Src: /src/botan/src/lib/utils/ct_utils.h:456,1
    - Dst: ct_is_zero<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:456,1
    - Dst: value_barrier<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 456
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 456
    functionName: Botan::CT::Mask::is_zero
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - ct_is_zero<T>
    - value_barrier<T>
    - Botan::CT::Mask::Mask
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> is_zero(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier
      Src: /src/botan/src/lib/utils/ct_utils.h:462,1
    - Dst: value_barrier
      Src: /src/botan/src/lib/utils/ct_utils.h:462,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/utils/ct_utils.h:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: Botan::CT::Mask::is_equal
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::sodium_is_zero
    - value_barrier
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> is_equal(T x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/utils/ct_utils.h:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: Botan::CT::Mask::is_lt
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::expand_top_bit
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> is_lt(T x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/utils/ct_utils.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 477
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 477
    functionName: Botan::CT::Mask::is_gt
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 6
    functionsReached:
    - Botan::bigint_ct_is_lt
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> is_gt(T x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_gt
      Src: /src/botan/src/lib/utils/ct_utils.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 482
      start: 482
    functionDepth: 4
    functionLinenumber: 482
    functionLinenumberEnd: 482
    functionName: Botan::CT::Mask::is_lte
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 5
    functionsReached:
    - Botan::CT::Mask::is_gt
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> is_lte(T x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/utils/ct_utils.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 3
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: Botan::CT::Mask::is_gte
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 9
    functionsReached:
    - Botan::bigint_ct_is_lt
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> is_gte(T x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier
      Src: /src/botan/src/lib/utils/ct_utils.h:494,1
    - Dst: value_barrier
      Src: /src/botan/src/lib/utils/ct_utils.h:494,1
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/utils/ct_utils.h:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - l
    - u
    argTypes:
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 496
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 496
    functionName: Botan::CT::Mask::is_within_range
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 4
    functionsReached:
    - Botan::CT::Mask::expand_top_bit
    - value_barrier
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> is_within_range(T v, T l, T u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:503,1
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/utils/ct_utils.h:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - v
    - accepted
    argTypes:
    - T
    - std::initializer_list<T>
    constantsTouched: []
    func_position:
      end: 508
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 508
    functionName: Botan::CT::Mask::is_any_of
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 1
    functionsReached:
    - Botan::CT::Mask::expand_top_bit
    - value_barrier<T>
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> is_any_of(T v, std::initializer_list<T> accepted)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - o
    argTypes:
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: '& operator&=(Mask<T> o)'
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Mask<T>::value
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> & operator&=(Mask<T> o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - o
    argTypes:
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: '& operator^=(Mask<T> o)'
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Mask<T>::value
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> & operator^=(Mask<T> o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - o
    argTypes:
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 532
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 532
    functionName: '& operator|=(Mask<T> o)'
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Mask<T>::value
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> & operator|=(Mask<T> o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Mask<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:537,1
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:537,1
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - Mask<T>
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 537
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 537
    functionName: operator&(Mask<T> x, Mask<T> y)
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Mask<T>::value
    - Mask<T>
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> operator&(Mask<T> x, Mask<T> y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Mask<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:542,1
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:542,1
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - Mask<T>
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 542
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 542
    functionName: operator^(Mask<T> x, Mask<T> y)
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Mask<T>::value
    - Mask<T>
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> operator^(Mask<T> x, Mask<T> y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Mask<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:547,1
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:547,1
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - Mask<T>
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 547
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 547
    functionName: operator|(Mask<T> x, Mask<T> y)
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Mask<T>::value
    - Mask<T>
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> operator|(Mask<T> x, Mask<T> y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Mask<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:552,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ct_utils.h:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 552
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 552
    functionName: operator~() const
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - value
    - Mask<T>
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> operator~() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::value
      Src: /src/botan/src/lib/utils/ct_utils.h:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 557
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 557
    functionName: Botan::CT::Mask::if_set_return
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::value
    linkageType: ''
    returnType: T
    signature: T if_set_return(T x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::value
      Src: /src/botan/src/lib/utils/ct_utils.h:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 562
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 562
    functionName: Botan::CT::Mask::if_not_set_return
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::value
    linkageType: ''
    returnType: T
    signature: T if_not_set_return(T x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: choose
      Src: /src/botan/src/lib/utils/ct_utils.h:567,1
    - Dst: Botan::CT::Mask::value
      Src: /src/botan/src/lib/utils/ct_utils.h:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 567
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 567
    functionName: Botan::CT::Mask::select
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - choose
    - Botan::CT::Mask::value
    linkageType: ''
    returnType: T
    signature: T select(T x, T y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::select
      Src: /src/botan/src/lib/utils/ct_utils.h:570,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/utils/ct_utils.h:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: Botan::CT::Mask::select_and_unpoison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    - Botan::CT::Mask::select
    linkageType: ''
    returnType: T
    signature: T select_and_unpoison(T x, T y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::Mask
      Src: /src/botan/src/lib/utils/ct_utils.h:578,1
    - Dst: Botan::CT::Mask::select
      Src: /src/botan/src/lib/utils/ct_utils.h:578,1
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:578,1
    - Dst: Mask<T>::value
      Src: /src/botan/src/lib/utils/ct_utils.h:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - Mask<T>
    - Mask<T>
    constantsTouched: []
    func_position:
      end: 578
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 578
    functionName: Botan::CT::Mask::select_mask
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Mask<T>::value
    - Botan::CT::Mask::select
    - Botan::CT::Mask::Mask
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> select_mask(Mask<T> x, Mask<T> y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::value
      Src: /src/botan/src/lib/utils/ct_utils.h:585,1
    - Dst: choose
      Src: /src/botan/src/lib/utils/ct_utils.h:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - output
    - x
    - y
    - len
    argTypes:
    - T[]
    - T[]
    - T[]
    - size_t
    constantsTouched: []
    func_position:
      end: 589
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 589
    functionName: Botan::CT::Mask::select_n
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - choose
    - Botan::CT::Mask::value
    linkageType: ''
    returnType: void
    signature: void select_n(T output[], const T x[], const T y[], size_t len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::if_not_set_return
      Src: /src/botan/src/lib/utils/ct_utils.h:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - elems
    argTypes:
    - T[]
    - size_t
    constantsTouched: []
    func_position:
      end: 598
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 598
    functionName: Botan::CT::Mask::if_set_zero_out
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::if_not_set_return
    linkageType: ''
    returnType: void
    signature: void if_set_zero_out(T buf[], size_t elems)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::Mask
      Src: /src/botan/src/lib/utils/ct_utils.h:607,1
    - Dst: auto::select
      Src: /src/botan/src/lib/utils/ct_utils.h:608,1
    - Dst: auto::select
      Src: /src/botan/src/lib/utils/ct_utils.h:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - U
    - U
    constantsTouched: []
    func_position:
      end: 612
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 612
    functionName: Botan::CT::Mask::conditional_swap
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - auto::select
    - Botan::CT::Mask::Mask
    linkageType: ''
    returnType: void
    signature: "void conditional_swap(U& x, U& y) const\n         requires(sizeof(U)
      <= sizeof(T))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::value
      Src: /src/botan/src/lib/utils/ct_utils.h:618,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/utils/ct_utils.h:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 621
    functionName: Botan::CT::Mask::unpoisoned_value
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    - Botan::CT::Mask::value
    linkageType: ''
    returnType: T
    signature: T unpoisoned_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::unpoisoned_value
      Src: /src/botan/src/lib/utils/ct_utils.h:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 633
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 633
    functionName: Botan::CT::Mask::as_bool
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::unpoisoned_value
    linkageType: ''
    returnType: bool
    signature: bool as_bool() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Choice::from_int
      Src: /src/botan/src/lib/utils/ct_utils.h:638,1
    - Dst: Botan::CT::Mask::unpoisoned_value
      Src: /src/botan/src/lib/utils/ct_utils.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 638
      start: 638
    functionDepth: 2
    functionLinenumber: 638
    functionLinenumberEnd: 638
    functionName: Botan::CT::Mask::as_choice
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Choice::from_int
    - Botan::CT::Mask::unpoisoned_value
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice as_choice() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 643
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 643
    functionName: Botan::CT::Mask::value
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 5
    functionsReached:
    - value_barrier<T>
    linkageType: ''
    returnType: T
    signature: T value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/utils/ct_utils.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 645
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 645
    functionName: Botan::CT::Mask::_const_time_poison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/utils/ct_utils.h:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 647
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 647
    functionName: Botan::CT::Mask::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 650
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 650
    functionName: Botan::CT::Mask::Mask
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mask(T m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/utils/ct_utils.h:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - v
    - valid
    argTypes:
    - T
    - Choice
    constantsTouched: []
    func_position:
      end: 666
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 666
    functionName: Botan::CT::Option::Option
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Option(T v, Choice valid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/utils/ct_utils.h:669,1
    - Dst: Botan::CT::Choice::yes
      Src: /src/botan/src/lib/utils/ct_utils.h:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 669
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 669
    functionName: Botan::CT::Option::Option
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Choice::yes
    - std::move
    linkageType: ''
    returnType: void
    signature: void Option(T v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/botan/src/lib/utils/ct_utils.h:674,1
    - Dst: Botan::CT::Choice::no
      Src: /src/botan/src/lib/utils/ct_utils.h:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 674
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 674
    functionName: Botan::CT::Option::Option
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Choice::no
    - T
    linkageType: ''
    returnType: void
    signature: "void Option()\n         requires std::default_initializable<T>"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 677
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 677
    functionName: Botan::CT::Option::has_value
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Choice
    signature: Choice has_value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/botan/src/lib/utils/ct_utils.h:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 689
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 689
    functionName: Botan::CT::Option::transform
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: auto
    signature: auto transform(F f) const -> Option<std::remove_cvref_t<std::invoke_result_t<F,
      const T&>>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/utils/ct_utils.h:693,1
    - Dst: as_bool
      Src: /src/botan/src/lib/utils/ct_utils.h:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 695
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 695
    functionName: '& value() const'
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - as_bool
    linkageType: ''
    returnType: T
    signature: T & value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::conditional_assign
      Src: /src/botan/src/lib/utils/ct_utils.h:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 706
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 706
    functionName: Botan::CT::Option::value_or
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - T::conditional_assign
    linkageType: ''
    returnType: T
    signature: "T value_or(T other) const\n         requires ct_conditional_assignable<T>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/utils/ct_utils.h:715,1
    - Dst: auto::select
      Src: /src/botan/src/lib/utils/ct_utils.h:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 717
      start: 712
    functionDepth: 3
    functionLinenumber: 712
    functionLinenumberEnd: 717
    functionName: Botan::CT::Option::value_or
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::from_choice
    - auto::select
    linkageType: ''
    returnType: T
    signature: "T value_or(T other) const\n         requires std::unsigned_integral<T>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_bool
      Src: /src/botan/src/lib/utils/ct_utils.h:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 729
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 729
    functionName: Botan::CT::Option::as_optional_vartime
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - as_bool
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> as_optional_vartime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CT::Option<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - also
    argTypes:
    - CT::Choice
    constantsTouched: []
    func_position:
      end: 732
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 732
    functionName: operator&&(CT::Choice also)
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 0
    functionsReached:
    - CT::Option<T>
    linkageType: ''
    returnType: CT::Option<T>
    signature: CT::Option<T> operator&&(CT::Choice also)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Mask<T>::select_n
      Src: /src/botan/src/lib/utils/ct_utils.h:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - mask
    - dest
    - if_set
    - if_unset
    - elems
    argTypes:
    - Mask<T>
    - T*
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 748
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 748
    functionName: Botan::CT::conditional_copy_mem
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 5
    functionsReached:
    - Mask<T>::select_n
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> conditional_copy_mem(Mask<T> mask, T* dest, const T* if_set,
      const T* if_unset, size_t elems)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/utils/ct_utils.h:752,1
    - Dst: Botan::CT::conditional_copy_mem
      Src: /src/botan/src/lib/utils/ct_utils.h:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cnd
    - dest
    - if_set
    - if_unset
    - elems
    argTypes:
    - T
    - T*
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 754
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 754
    functionName: Botan::CT::conditional_copy_mem
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 6
    functionsReached:
    - Botan::CT::conditional_copy_mem
    - Botan::sha512_msg_expand
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> conditional_copy_mem(T cnd, T* dest, const T* if_set, const
      T* if_unset, size_t elems)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/utils/ct_utils.h:763,1
    - Dst: auto::select_n
      Src: /src/botan/src/lib/utils/ct_utils.h:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - cnd
    - dest
    - src
    - elems
    argTypes:
    - T
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 766
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 766
    functionName: Botan::CT::conditional_assign_mem
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 6
    functionsReached:
    - auto::select_n
    - Botan::sha512_msg_expand
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> conditional_assign_mem(T cnd, T* dest, const T* src, size_t
      elems)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/utils/ct_utils.h:775,1
    - Dst: auto::select_n
      Src: /src/botan/src/lib/utils/ct_utils.h:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - cnd
    - dest
    - src
    - elems
    argTypes:
    - Choice
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 778
      start: 774
    functionDepth: 3
    functionLinenumber: 774
    functionLinenumberEnd: 778
    functionName: Botan::CT::conditional_assign_mem
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 6
    functionsReached:
    - Botan::CT::Mask::from_choice
    - auto::select_n
    linkageType: ''
    returnType: Mask<T>
    signature: Mask<T> conditional_assign_mem(Choice cnd, T* dest, const T* src, size_t
      elems)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/utils/ct_utils.h:782,1
    - Dst: auto::conditional_swap
      Src: /src/botan/src/lib/utils/ct_utils.h:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cnd
    - ' x'
    - ' y'
    argTypes:
    - bool
    - T
    - T
    constantsTouched: []
    func_position:
      end: 784
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 784
    functionName: Botan::CT::conditional_swap
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 2
    functionsReached:
    - Botan::sha512_msg_expand
    - auto::conditional_swap
    linkageType: ''
    returnType: void
    signature: void conditional_swap(bool cnd, T& x, T& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::conditional_swap
      Src: /src/botan/src/lib/utils/ct_utils.h:791,1
    - Dst: reinterpret_cast<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:793,1
    - Dst: reinterpret_cast<T>
      Src: /src/botan/src/lib/utils/ct_utils.h:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cnd
    - ' x'
    - ' y'
    argTypes:
    - bool
    - T
    - T
    constantsTouched: []
    func_position:
      end: 795
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 795
    functionName: Botan::CT::conditional_swap_ptr
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<T>
    - Botan::CT::conditional_swap
    linkageType: ''
    returnType: void
    signature: void conditional_swap_ptr(bool cnd, T& x, T& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/utils/ct_utils.h:803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - elem
    - len
    argTypes:
    - T[]
    - size_t
    constantsTouched: []
    func_position:
      end: 804
      start: 798
    functionDepth: 2
    functionLinenumber: 798
    functionLinenumberEnd: 804
    functionName: Botan::CT::all_zeros
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 14
    functionsReached:
    - Botan::Sodium::sodium_is_zero
    linkageType: ''
    returnType: CT::Mask<T>
    signature: CT::Mask<T> all_zeros(const T elem[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/utils/ct_utils.h:812,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/utils/ct_utils.h:819,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/utils/ct_utils.h:827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - x
    - y
    - len
    argTypes:
    - T[]
    - T[]
    - size_t
    constantsTouched: []
    func_position:
      end: 829
      start: 811
    functionDepth: 2
    functionLinenumber: 811
    functionLinenumberEnd: 829
    functionName: Botan::CT::is_equal
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 37
    functionsReached:
    - Botan::Sodium::sodium_is_zero
    - std::is_constant_evaluated
    linkageType: ''
    returnType: CT::Mask<T>
    signature: CT::Mask<T> is_equal(const T x[], const T y[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/utils/ct_utils.h:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - len
    argTypes:
    - T[]
    - T[]
    - size_t
    constantsTouched: []
    func_position:
      end: 838
      start: 836
    functionDepth: 3
    functionLinenumber: 836
    functionLinenumberEnd: 838
    functionName: Botan::CT::is_not_equal
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.h
    functionUses: 1
    functionsReached:
    - Botan::CT::is_equal
    linkageType: ''
    returnType: CT::Mask<T>
    signature: CT::Mask<T> is_not_equal(const T x[], const T y[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/assert.cpp:23,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/utils/assert.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - message
    - func
    - file
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan::throw_invalid_argument
    functionSourceFile: /src/botan/src/lib/utils/assert.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - Botan::fmt
    linkageType: ''
    returnType: void
    signature: void throw_invalid_argument(const char* message, const char* func,
      const char* file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/assert.cpp:27,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/utils/assert.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - expr
    - func
    - file
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Botan::throw_invalid_state
    functionSourceFile: /src/botan/src/lib/utils/assert.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - Invalid_State
    linkageType: ''
    returnType: void
    signature: void throw_invalid_state(const char* expr, const char* func, const
      char* file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/assert.cpp:48,1
    - Dst: std::abort
      Src: /src/botan/src/lib/utils/assert.cpp:49,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/utils/assert.cpp:51,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/assert.cpp:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - expr_str
    - assertion_made
    - func
    - file
    - line
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 53
    functionName: Botan::assertion_failure
    functionSourceFile: /src/botan/src/lib/utils/assert.cpp
    functionUses: 0
    functionsReached:
    - std::abort
    - Internal_Error
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void assertion_failure(const char* expr_str, const char* assertion_made,
      const char* func, const char* file, int line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/utils/assert.cpp:56,1
    - Dst: std::abort
      Src: /src/botan/src/lib/utils/assert.cpp:60,1
    - Dst: Internal_Error
      Src: /src/botan/src/lib/utils/assert.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: Botan::assert_unreachable
    functionSourceFile: /src/botan/src/lib/utils/assert.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - std::abort
    - Internal_Error
    linkageType: ''
    returnType: void
    signature: void assert_unreachable(const char* file, int line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find_first_not_of
      Src: /src/botan/src/lib/utils/read_cfg.cpp:18,1
    - Dst: std::string_view::find_last_not_of
      Src: /src/botan/src/lib/utils/read_cfg.cpp:19,1
    - Dst: std::string
      Src: /src/botan/src/lib/utils/read_cfg.cpp:26,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/utils/read_cfg.cpp:26,1
    - Dst: std::string
      Src: /src/botan/src/lib/utils/read_cfg.cpp:28,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/utils/read_cfg.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 30
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 30
    functionName: Botan::clean_ws
    functionSourceFile: /src/botan/src/lib/utils/read_cfg.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::substr
    - std::string_view::find_last_not_of
    - std::string
    - std::string_view::find_first_not_of
    linkageType: ''
    returnType: std::string
    signature: std::string clean_ws(std::string_view s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: good
      Src: /src/botan/src/lib/utils/read_cfg.cpp:38,1
    - Dst: std::getline
      Src: /src/botan/src/lib/utils/read_cfg.cpp:41,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/read_cfg.cpp:45,1
    - Dst: Botan::clean_ws
      Src: /src/botan/src/lib/utils/read_cfg.cpp:49,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/read_cfg.cpp:49,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/utils/read_cfg.cpp:49,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/read_cfg.cpp:51,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/utils/read_cfg.cpp:55,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/read_cfg.cpp:57,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/read_cfg.cpp:58,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/utils/read_cfg.cpp:58,1
    - Dst: Botan::clean_ws
      Src: /src/botan/src/lib/utils/read_cfg.cpp:61,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/read_cfg.cpp:61,1
    - Dst: Botan::clean_ws
      Src: /src/botan/src/lib/utils/read_cfg.cpp:62,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/read_cfg.cpp:62,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - std::istream
    constantsTouched: []
    func_position:
      end: 68
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 68
    functionName: Botan::read_cfg
    functionSourceFile: /src/botan/src/lib/utils/read_cfg.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - Botan::Decoding_Error
    - std::string::find
    - std::string::empty
    - Botan::to_string
    - Botan::clean_ws
    - std::getline
    - std::string::substr
    - good
    linkageType: ''
    returnType: std::map<std::string, std::string>
    signature: std::map<std::string, std::string> read_cfg(std::istream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/scan_name.cpp:23,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/scan_name.cpp:38,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - ' name'
    - start
    argTypes:
    - std::vector<std::pair<size_t, std::string>>
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 52
    functionName: Botan::make_arg
    functionSourceFile: /src/botan/src/lib/utils/scan_name.cpp
    functionUses: 0
    functionsReached:
    - Botan::size
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string make_arg(const std::vector<std::pair<size_t, std::string>>&
      name, size_t start)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/utils/scan_name.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::SCAN_Name::SCAN_Name
    functionSourceFile: /src/botan/src/lib/utils/scan_name.cpp
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: void SCAN_Name::SCAN_Name(const char* algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/scan_name.cpp:59,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/scan_name.cpp:60,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/utils/scan_name.cpp:65,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/utils/scan_name.cpp:75,1
    - Dst: std::pair::second::push_back
      Src: /src/botan/src/lib/utils/scan_name.cpp:81,1
    - Dst: std::pair::second::empty
      Src: /src/botan/src/lib/utils/scan_name.cpp:83,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/scan_name.cpp:84,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/utils/scan_name.cpp:86,1
    - Dst: std::pair::second::push_back
      Src: /src/botan/src/lib/utils/scan_name.cpp:89,1
    - Dst: std::pair::second::empty
      Src: /src/botan/src/lib/utils/scan_name.cpp:93,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/scan_name.cpp:94,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/utils/scan_name.cpp:98,1
    - Dst: std::vector::empty
      Src: /src/botan/src/lib/utils/scan_name.cpp:101,1
    - Dst: Decoding_Error
      Src: /src/botan/src/lib/utils/scan_name.cpp:102,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/utils/scan_name.cpp:109,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/scan_name.cpp:111,1
    - Dst: make_arg
      Src: /src/botan/src/lib/utils/scan_name.cpp:111,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/scan_name.cpp:114,1
    - Dst: make_arg
      Src: /src/botan/src/lib/utils/scan_name.cpp:114,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 117
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 117
    functionName: Botan::SCAN_Name::SCAN_Name
    functionSourceFile: /src/botan/src/lib/utils/scan_name.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - make_arg
    - std::vector::empty
    - std::pair::second::empty
    - std::pair::second::push_back
    - std::string_view::empty
    - Decoding_Error
    - std::vector::push_back
    - push_back
    - std::make_pair
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void SCAN_Name::SCAN_Name(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SCAN_Name::arg_count
      Src: /src/botan/src/lib/utils/scan_name.cpp:120,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/scan_name.cpp:121,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/utils/scan_name.cpp:121,1
    - Dst: to_string
      Src: /src/botan/src/lib/utils/scan_name.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: Botan::SCAN_Name::arg
    functionSourceFile: /src/botan/src/lib/utils/scan_name.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - std::to_string
    - Botan::SCAN_Name::arg_count
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string SCAN_Name::arg(size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SCAN_Name::arg_count
      Src: /src/botan/src/lib/utils/scan_name.cpp:127,1
    - Dst: std::string
      Src: /src/botan/src/lib/utils/scan_name.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - i
    - def_value
    argTypes:
    - size_t
    - std::string_view
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: Botan::SCAN_Name::arg
    functionSourceFile: /src/botan/src/lib/utils/scan_name.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - Botan::SCAN_Name::arg_count
    linkageType: ''
    returnType: std::string
    signature: std::string SCAN_Name::arg(size_t i, std::string_view def_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SCAN_Name::arg_count
      Src: /src/botan/src/lib/utils/scan_name.cpp:134,1
    - Dst: to_u32bit
      Src: /src/botan/src/lib/utils/scan_name.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - i
    - def_value
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: Botan::SCAN_Name::arg_as_integer
    functionSourceFile: /src/botan/src/lib/utils/scan_name.cpp
    functionUses: 0
    functionsReached:
    - to_u32bit
    - Botan::SCAN_Name::arg_count
    linkageType: ''
    returnType: size_t
    signature: size_t SCAN_Name::arg_as_integer(size_t i, size_t def_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_u32bit
      Src: /src/botan/src/lib/utils/scan_name.cpp:141,1
    - Dst: Botan::SCAN_Name::arg
      Src: /src/botan/src/lib/utils/scan_name.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: Botan::SCAN_Name::arg_as_integer
    functionSourceFile: /src/botan/src/lib/utils/scan_name.cpp
    functionUses: 0
    functionsReached:
    - to_u32bit
    - Botan::SCAN_Name::arg
    linkageType: ''
    returnType: size_t
    signature: size_t SCAN_Name::arg_as_integer(size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bit_ops.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: Botan::expand_top_bit
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE expand_top_bit(T a)\n   requires(std::is_integral_v<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::expand_top_bit
      Src: /src/botan/src/lib/utils/bit_ops.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: Botan::ct_is_zero
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 0
    functionsReached:
    - Botan::expand_top_bit
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE ct_is_zero(T x)\n   requires(std::is_integral_v<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bit_ops.h:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: Botan::is_power_of_2
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 3
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE is_power_of_2(T arg)\n   requires(std::is_unsigned_v<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: Botan::high_bit
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE high_bit(T n)\n   requires(std::is_unsigned_v<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: Botan::significant_bytes
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE significant_bytes(T n)\n   requires(std::is_integral_v<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bit_ops.h:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: Botan::ctz
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE ctz(T n)\n   requires(std::is_integral_v<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/bit_ops.h:128,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bit_ops.h:129,1
    - Dst: Botan::high_bit
      Src: /src/botan/src/lib/utils/bit_ops.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: Botan::floor_log2
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 1
    functionsReached:
    - static_cast<T>
    - BOTAN_ARG_CHECK
    - Botan::high_bit
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE floor_log2(T n)\n   requires(std::is_unsigned_v<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 149
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 149
    functionName: Botan::ceil_log2
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t ceil_log2(T x)\n   requires(std::is_integral_v<T> && sizeof(T)
      < 32)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: Botan::ceil_division
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE ceil_division(T a, T b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: Botan::ceil_tobytes
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE ceil_tobytes(T bits)\n   requires(std::is_integral_v<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_COMPILER_HAS_BUILTIN
      Src: /src/botan/src/lib/utils/bit_ops.h:176,1
    - Dst: __builtin_ctz
      Src: /src/botan/src/lib/utils/bit_ops.h:180,1
    - Dst: Botan::ctz
      Src: /src/botan/src/lib/utils/bit_ops.h:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: Botan::var_ctz32
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 1
    functionsReached:
    - BOTAN_COMPILER_HAS_BUILTIN
    - __builtin_ctz
    - Botan::ctz
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE var_ctz32(uint32_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - mask
    - shift
    argTypes:
    - T
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: Botan::bit_permute_step
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE bit_permute_step(T x, T mask, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' x'
    - ' y'
    - mask
    - shift
    argTypes:
    - T
    - T
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: Botan::swap_bits
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE swap_bits(T& x, T& y, T mask, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: Botan::choose
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE choose(T mask, T a, T b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::choose
      Src: /src/botan/src/lib/utils/bit_ops.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: Botan::majority
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 8
    functionsReached:
    - Botan::choose
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE majority(T a, T b, T c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/botan/src/lib/utils/bit_ops.h:238,1
    - Dst: extend
      Src: /src/botan/src/lib/utils/bit_ops.h:245,1
    - Dst: extend
      Src: /src/botan/src/lib/utils/bit_ops.h:245,1
    - Dst: extend
      Src: /src/botan/src/lib/utils/bit_ops.h:246,1
    - Dst: extend
      Src: /src/botan/src/lib/utils/bit_ops.h:246,1
    - Dst: extend
      Src: /src/botan/src/lib/utils/bit_ops.h:247,1
    - Dst: extend
      Src: /src/botan/src/lib/utils/bit_ops.h:247,1
    - Dst: Botan::reverse_bytes
      Src: /src/botan/src/lib/utils/bit_ops.h:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - b
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: Botan::ct_reverse_bits
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 1
    functionsReached:
    - extend
    - Botan::reverse_bytes
    - T
    linkageType: ''
    returnType: T
    signature: T ct_reverse_bits(T b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ct_popcount
      Src: /src/botan/src/lib/utils/bit_ops.h:283,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/bit_ops.h:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 285
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 285
    functionName: Botan::ct_popcount
    functionSourceFile: /src/botan/src/lib/utils/bit_ops.h
    functionUses: 2
    functionsReached:
    - static_cast<uint32_t>
    - Botan::ct_popcount
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE ct_popcount(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/botan/src/lib/utils/stl_util.h:31,1
    - Dst: std::string_view::cbegin
      Src: /src/botan/src/lib/utils/stl_util.h:31,1
    - Dst: std::string_view::cend
      Src: /src/botan/src/lib/utils/stl_util.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::to_byte_vector
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - std::string_view::cend
    - T
    - std::string_view::cbegin
    linkageType: ''
    returnType: T
    signature: T to_byte_vector(std::string_view s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/utils/stl_util.h:35,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/utils/stl_util.h:35,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/utils/stl_util.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Botan::to_string
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 45
    functionsReached:
    - std::span<const uint8_t>::end
    - std::string
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: std::string
    signature: std::string to_string(std::span<const uint8_t> bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reducer
      Src: /src/botan/src/lib/utils/stl_util.h:52,1
    - Dst: std::move
      Src: /src/botan/src/lib/utils/stl_util.h:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' keys'
    - acc
    - reducer
    argTypes:
    - std::vector<KeyT>
    - RetT
    - ReducerT
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: Botan::reduce
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 2
    functionsReached:
    - std::move
    - reducer
    linkageType: ''
    returnType: RetT
    signature: "RetT reduce(const std::vector<KeyT>& keys, RetT acc, ReducerT reducer)\n
      \  requires std::is_convertible_v<ReducerT, std::function<RetT(RetT, const KeyT&)>>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/stl_util.h:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' vec'
    - ' val'
    argTypes:
    - std::vector<T>
    - OT
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: Botan::value_exists
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 9
    functionsReached:
    - Botan::size
    linkageType: ''
    returnType: bool
    signature: bool value_exists(const std::vector<T>& vec, const OT& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::begin
      Src: /src/botan/src/lib/utils/stl_util.h:72,1
    - Dst: Botan::end
      Src: /src/botan/src/lib/utils/stl_util.h:73,1
    - Dst: pred
      Src: /src/botan/src/lib/utils/stl_util.h:74,1
    - Dst: erase
      Src: /src/botan/src/lib/utils/stl_util.h:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pred
    - ' assoc'
    argTypes:
    - Pred
    - T
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: Botan::map_remove_if
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - Botan::begin
    - Botan::end
    - erase
    - pred
    linkageType: ''
    returnType: void
    signature: void map_remove_if(Pred pred, T& assoc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Botan::BufferSlicer::BufferSlicer
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferSlicer(std::span<const uint8_t> buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/lib/utils/stl_util.h:91,1
    - Dst: ContainerT
      Src: /src/botan/src/lib/utils/stl_util.h:92,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/utils/stl_util.h:92,1
    - Dst: auto::end
      Src: /src/botan/src/lib/utils/stl_util.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: Botan::BufferSlicer::copy
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - auto::end
    - auto::begin
    - Botan::BufferSlicer::take
    - ContainerT
    linkageType: ''
    returnType: auto
    signature: auto copy(const size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BufferSlicer::copy
      Src: /src/botan/src/lib/utils/stl_util.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan::BufferSlicer::copy_as_vector
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - Botan::BufferSlicer::copy
    linkageType: ''
    returnType: auto
    signature: auto copy_as_vector(const size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BufferSlicer::copy
      Src: /src/botan/src/lib/utils/stl_util.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan::BufferSlicer::copy_as_secure_vector
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 2
    functionsReached:
    - Botan::BufferSlicer::copy
    linkageType: ''
    returnType: auto
    signature: auto copy_as_secure_vector(const size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/utils/stl_util.h:100,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/lib/utils/stl_util.h:100,1
    - Dst: first
      Src: /src/botan/src/lib/utils/stl_util.h:101,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/stl_util.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: Botan::BufferSlicer::take
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 4
    functionsReached:
    - first
    - BOTAN_STATE_CHECK
    - subspan
    - Botan::BufferSlicer::remaining
    linkageType: ''
    returnType: std::span<const uint8_t>
    signature: std::span<const uint8_t> take(const size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/utils/stl_util.h:108,1
    - Dst: Botan::BufferSlicer::remaining
      Src: /src/botan/src/lib/utils/stl_util.h:108,1
    - Dst: first
      Src: /src/botan/src/lib/utils/stl_util.h:109,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/stl_util.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: Botan::BufferSlicer::take
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 4
    functionsReached:
    - first
    - BOTAN_STATE_CHECK
    - subspan
    - Botan::BufferSlicer::remaining
    linkageType: ''
    returnType: std::span<const uint8_t, count>
    signature: std::span<const uint8_t, count> take()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StrongSpan<const T>
      Src: /src/botan/src/lib/utils/stl_util.h:116,1
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/lib/utils/stl_util.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: Botan::BufferSlicer::take
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 5
    functionsReached:
    - StrongSpan<const T>
    - Botan::BufferSlicer::take
    linkageType: ''
    returnType: StrongSpan<const T>
    signature: StrongSpan<const T> take(const size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/lib/utils/stl_util.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: Botan::BufferSlicer::take_byte
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - Botan::BufferSlicer::take
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t take_byte()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/lib/utils/stl_util.h:122,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/utils/stl_util.h:122,1
    - Dst: Botan::BufferSlicer::copy
      Src: /src/botan/src/lib/utils/stl_util.h:123,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/utils/stl_util.h:123,1
    - Dst: auto::end
      Src: /src/botan/src/lib/utils/stl_util.h:123,1
    - Dst: std::span<uint8_t>::begin
      Src: /src/botan/src/lib/utils/stl_util.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sink
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: Botan::BufferSlicer::copy_into
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - std::span<uint8_t>::size
    - std::span<uint8_t>::begin
    - Botan::BufferSlicer::copy
    - auto::begin
    - Botan::BufferSlicer::take
    - auto::end
    linkageType: ''
    returnType: void
    signature: void copy_into(std::span<uint8_t> sink)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BufferSlicer::take
      Src: /src/botan/src/lib/utils/stl_util.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: Botan::BufferSlicer::skip
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - Botan::BufferSlicer::take
    linkageType: ''
    returnType: void
    signature: void skip(const size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/stl_util.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: Botan::BufferSlicer::remaining
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 5
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t remaining() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BufferSlicer::empty
      Src: /src/botan/src/lib/utils/stl_util.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan::BufferSlicer::empty
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 5
    functionsReached:
    - Botan::BufferSlicer::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: Botan::BufferStuffer::BufferStuffer
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferStuffer(std::span<uint8_t> buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/utils/stl_util.h:152,1
    - Dst: size
      Src: /src/botan/src/lib/utils/stl_util.h:152,1
    - Dst: first
      Src: /src/botan/src/lib/utils/stl_util.h:154,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/stl_util.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: Botan::BufferStuffer::next
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - first
    - BOTAN_STATE_CHECK
    - subspan
    - size
    linkageType: ''
    returnType: std::span<uint8_t>
    signature: std::span<uint8_t> next(size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/utils/stl_util.h:161,1
    - Dst: size
      Src: /src/botan/src/lib/utils/stl_util.h:161,1
    - Dst: first
      Src: /src/botan/src/lib/utils/stl_util.h:163,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/stl_util.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: Botan::BufferStuffer::next
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - first
    - BOTAN_STATE_CHECK
    - subspan
    - size
    linkageType: ''
    returnType: std::span<uint8_t, bytes>
    signature: std::span<uint8_t, bytes> next()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StrongSpan<StrongT>
      Src: /src/botan/src/lib/utils/stl_util.h:170,1
    - Dst: Botan::BufferStuffer::next
      Src: /src/botan/src/lib/utils/stl_util.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: Botan::BufferStuffer::next
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 2
    functionsReached:
    - StrongSpan<StrongT>
    - Botan::BufferStuffer::next
    linkageType: ''
    returnType: StrongSpan<StrongT>
    signature: StrongSpan<StrongT> next(size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/botan/src/lib/utils/stl_util.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: '& next_byte()'
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - next
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t & next_byte()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BufferStuffer::next
      Src: /src/botan/src/lib/utils/stl_util.h:179,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/stl_util.h:179,1
    - Dst: copy
      Src: /src/botan/src/lib/utils/stl_util.h:180,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/utils/stl_util.h:180,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/utils/stl_util.h:180,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/utils/stl_util.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: Botan::BufferStuffer::append
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::end
    - copy
    - auto::begin
    - Botan::BufferStuffer::next
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void append(std::span<const uint8_t> buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BufferStuffer::next
      Src: /src/botan/src/lib/utils/stl_util.h:184,1
    - Dst: std::fill
      Src: /src/botan/src/lib/utils/stl_util.h:185,1
    - Dst: auto::begin
      Src: /src/botan/src/lib/utils/stl_util.h:185,1
    - Dst: auto::end
      Src: /src/botan/src/lib/utils/stl_util.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: Botan::BufferStuffer::append
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - auto::end
    - std::fill
    - auto::begin
    - Botan::BufferStuffer::next
    linkageType: ''
    returnType: void
    signature: void append(uint8_t b, size_t repeat = 1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/utils/stl_util.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: Botan::BufferStuffer::full
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 2
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool full() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/stl_util.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: Botan::BufferStuffer::remaining_capacity
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t remaining_capacity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OutR::reserve
      Src: /src/botan/src/lib/utils/stl_util.h:217,1
    - Dst: copy
      Src: /src/botan/src/lib/utils/stl_util.h:221,1
    - Dst: Botan::CRYSTALS::Polynomial::begin
      Src: /src/botan/src/lib/utils/stl_util.h:222,1
    - Dst: Botan_Tests::MockChannel::send
      Src: /src/botan/src/lib/utils/stl_util.h:222,1
    - Dst: std::back_inserter
      Src: /src/botan/src/lib/utils/stl_util.h:222,1
    - Dst: unwrap_strong_type
      Src: /src/botan/src/lib/utils/stl_util.h:222,1
    - Dst: OutR::size
      Src: /src/botan/src/lib/utils/stl_util.h:229,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/stl_util.h:233,1
    - Dst: OutR::size
      Src: /src/botan/src/lib/utils/stl_util.h:233,1
    - Dst: Botan::CRYSTALS::Polynomial::begin
      Src: /src/botan/src/lib/utils/stl_util.h:238,1
    - Dst: copy
      Src: /src/botan/src/lib/utils/stl_util.h:239,1
    - Dst: Botan::CRYSTALS::Polynomial::begin
      Src: /src/botan/src/lib/utils/stl_util.h:239,1
    - Dst: Botan_Tests::MockChannel::send
      Src: /src/botan/src/lib/utils/stl_util.h:239,1
    - Dst: std::advance
      Src: /src/botan/src/lib/utils/stl_util.h:240,1
    - Dst: Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::block_size
      Src: /src/botan/src/lib/utils/stl_util.h:240,1
    - Dst: fill_fn
      Src: /src/botan/src/lib/utils/stl_util.h:246,1
    - Dst: std::forward<Rs>
      Src: /src/botan/src/lib/utils/stl_util.h:246,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 249
    functionName: Botan::detail::concatenate
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - copy
    - std::back_inserter
    - std::advance
    - unwrap_strong_type
    - fill_fn
    - Botan::CRYSTALS::Polynomial::begin
    - std::forward<Rs>
    - OutR::reserve
    - Botan_Tests::TLS_CBC_Tests::Noop_Block_Cipher::block_size
    - BOTAN_ARG_CHECK
    - Botan_Tests::MockChannel::send
    - OutR::size
    linkageType: ''
    returnType: OutR
    signature: "OutR concatenate(Rs&&... ranges)\n   requires(concepts::reservable_container<OutR>
      || ranges::statically_spanable_range<OutR>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::concatenate<out_array_t>
      Src: /src/botan/src/lib/utils/stl_util.h:278,1
    - Dst: std::forward<Rs>
      Src: /src/botan/src/lib/utils/stl_util.h:278,1
    - Dst: detail::concatenate<candidate_result_t>
      Src: /src/botan/src/lib/utils/stl_util.h:285,1
    - Dst: std::forward<Rs>
      Src: /src/botan/src/lib/utils/stl_util.h:285,1
    - Dst: detail::concatenate<OutR>
      Src: /src/botan/src/lib/utils/stl_util.h:289,1
    - Dst: std::forward<Rs>
      Src: /src/botan/src/lib/utils/stl_util.h:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 291
    functionName: Botan::concat
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 19
    functionsReached:
    - detail::concatenate<out_array_t>
    - detail::concatenate<candidate_result_t>
    - std::forward<Rs>
    - detail::concatenate<OutR>
    linkageType: ''
    returnType: auto
    signature: "auto concat(Rs&&... ranges)\n   requires(all_same_v<std::ranges::range_value_t<Rs>...>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<Alts>
      Src: /src/botan/src/lib/utils/stl_util.h:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::variant<Ts...>
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: Botan::holds_any_of
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - std::holds_alternative<Alts>
    linkageType: ''
    returnType: bool
    signature: bool holds_any_of(const std::variant<Ts...>& v) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: Botan::is_generalizable_to
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_generalizable_to(const SpecialT&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: Botan::is_generalizable_to
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_generalizable_to(const std::variant<SpecialTs...>&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<SpecialT>
      Src: /src/botan/src/lib/utils/stl_util.h:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' specific'
    argTypes:
    - SpecialT
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: Botan::generalize_to
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - std::forward<SpecialT>
    linkageType: ''
    returnType: GeneralVariantT
    signature: "GeneralVariantT generalize_to(SpecialT&& specific) noexcept\n   requires(std::is_constructible_v<GeneralVariantT,
      std::decay_t<SpecialT>>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_generalizable_to
      Src: /src/botan/src/lib/utils/stl_util.h:332,1
    - Dst: std::visit
      Src: /src/botan/src/lib/utils/stl_util.h:334,1
    - Dst: std::move
      Src: /src/botan/src/lib/utils/stl_util.h:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - specific
    argTypes:
    - std::variant<SpecialTs...>
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: Botan::generalize_to
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::visit
    - Botan::is_generalizable_to
    linkageType: ''
    returnType: GeneralVariantT
    signature: GeneralVariantT generalize_to(std::variant<SpecialTs...> specific)
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/utils/stl_util.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cleanup
    argTypes:
    - FunT
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: Botan::scoped_cleanup::scoped_cleanup
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void scoped_cleanup(FunT cleanup)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: Botan::scoped_cleanup::scoped_cleanup
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scoped_cleanup(const scoped_cleanup&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: '& operator=(const scoped_cleanup&)'
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: scoped_cleanup
    signature: scoped_cleanup & operator=(const scoped_cleanup&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/utils/stl_util.h:362,1
    - Dst: Botan::scoped_cleanup::disengage
      Src: /src/botan/src/lib/utils/stl_util.h:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - scoped_cleanup
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: Botan::scoped_cleanup::scoped_cleanup
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - std::move
    - Botan::scoped_cleanup::disengage
    linkageType: ''
    returnType: void
    signature: void scoped_cleanup(scoped_cleanup&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/utils/stl_util.h:366,1
    - Dst: disengage
      Src: /src/botan/src/lib/utils/stl_util.h:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - scoped_cleanup
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: '& operator=(scoped_cleanup&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - std::move
    - disengage
    linkageType: ''
    returnType: scoped_cleanup
    signature: scoped_cleanup & operator=(scoped_cleanup&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/botan/src/lib/utils/stl_util.h:373,1
    - Dst: value
      Src: /src/botan/src/lib/utils/stl_util.h:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: ~scoped_cleanup()
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - has_value
    - value
    linkageType: ''
    returnType: void
    signature: void ~scoped_cleanup()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/utils/stl_util.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 381
    functionName: Botan::scoped_cleanup::disengage
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 1
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void disengage() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::assertion_failure
      Src: /src/botan/src/lib/utils/stl_util.h:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - v
    - expr
    - func
    - file
    - line
    argTypes:
    - std::optional<T>
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 397
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 397
    functionName: Botan::assert_is_some
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - Botan::assertion_failure
    linkageType: ''
    returnType: T
    signature: T assert_is_some(std::optional<T> v, const char* expr, const char*
      func, const char* file, int line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::copy_n
      Src: /src/botan/src/lib/utils/stl_util.h:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (str)
    argTypes:
    - char[]
    constantsTouched: []
    func_position:
      end: 407
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 407
    functionName: Botan::StringLiteral::StringLiteral
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - std::copy_n
    linkageType: ''
    returnType: void
    signature: void StringLiteral(const char (&str)[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::underlying_type_t<T>>
      Src: /src/botan/src/lib/utils/stl_util.h:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 418
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionName: Botan::to_underlying
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached:
    - static_cast<std::underlying_type_t<T>>
    linkageType: ''
    returnType: auto
    signature: auto to_underlying(T e) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/utils/stl_util.h:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' outptr'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 445
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 445
    functionName: Botan::out_ptr
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 2
    functionsReached:
    - reset
    linkageType: ''
    returnType: auto
    signature: auto out_ptr(T& outptr) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' outopt'
    argTypes:
    - std::optional<T>
    constantsTouched: []
    func_position:
      end: 469
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 469
    functionName: Botan::out_opt
    functionSourceFile: /src/botan/src/lib/utils/stl_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto out_opt(std::optional<T>& outopt) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::error_type
    functionSourceFile: /src/botan/src/lib/utils/database.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ErrorType
    signature: ErrorType error_type() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::error_code
    functionSourceFile: /src/botan/src/lib/utils/database.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int error_code() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ~Statement()
    functionSourceFile: /src/botan/src/lib/utils/database.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Statement()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_statement
      Src: /src/botan/src/lib/utils/database.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sql
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: exec
    functionSourceFile: /src/botan/src/lib/utils/database.h
    functionUses: 2
    functionsReached:
    - new_statement
    linkageType: ''
    returnType: size_t
    signature: size_t exec(std::string_view sql)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: is_threadsafe
    functionSourceFile: /src/botan/src/lib/utils/database.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_threadsafe() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ~SQL_Database()
    functionSourceFile: /src/botan/src/lib/utils/database.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SQL_Database()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initialize_allocator
      Src: /src/botan/src/lib/utils/allocator.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Botan::Allocator_Initializer::Allocator_Initializer
    functionSourceFile: /src/botan/src/lib/utils/allocator.h
    functionUses: 0
    functionsReached:
    - initialize_allocator
    linkageType: ''
    returnType: void
    signature: void Allocator_Initializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: Botan::donna128::donna128
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void donna128(uint64_t ll = 0, uint64_t hh = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::donna128::donna128
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void donna128(const donna128&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(const donna128&)'
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: donna128
    signature: donna128 & operator=(const donna128&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - donna128
    - T
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: operator>>(const donna128& x, T shift)
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: donna128
    signature: donna128 operator>>(const donna128& x, T shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - donna128
    - T
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: operator<<(const donna128& x, T shift)
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: donna128
    signature: donna128 operator<<(const donna128& x, T shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - mask
    argTypes:
    - donna128
    - uint64_t
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: operator&(const donna128& x, uint64_t mask)
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t operator&(const donna128& x, uint64_t mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mask
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: operator&=(uint64_t mask)
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t operator&=(uint64_t mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - donna128
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: '& operator+=(const donna128& x)'
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: donna128
    signature: donna128 & operator+=(const donna128& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: '& operator+=(uint64_t x)'
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: donna128
    signature: donna128 & operator+=(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan::donna128::lo
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t lo() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Botan::donna128::hi
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hi() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: operator uint64_t() const
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator uint64_t() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/donna128.h:101,1
    - Dst: hi
      Src: /src/botan/src/lib/utils/donna128.h:101,1
    - Dst: Botan::mul64x64_128
      Src: /src/botan/src/lib/utils/donna128.h:104,1
    - Dst: lo
      Src: /src/botan/src/lib/utils/donna128.h:104,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/donna128.h:104,1
    - Dst: donna128
      Src: /src/botan/src/lib/utils/donna128.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - donna128
    - T
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: operator*(const donna128& x, T y)
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached:
    - donna128
    - lo
    - static_cast<uint64_t>
    - hi
    - Botan::mul64x64_128
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: donna128
    signature: donna128 operator*(const donna128& x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - ' x'
    argTypes:
    - T
    - donna128
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: operator*(T y, const donna128& x)
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: donna128
    signature: donna128 operator*(T y, const donna128& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - donna128
    - donna128
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: operator+(const donna128& x, const donna128& y)
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: donna128
    signature: donna128 operator+(const donna128& x, const donna128& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - donna128
    - uint64_t
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: operator+(const donna128& x, uint64_t y)
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: donna128
    signature: donna128 operator+(const donna128& x, uint64_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: donna128
      Src: /src/botan/src/lib/utils/donna128.h:126,1
    - Dst: lo
      Src: /src/botan/src/lib/utils/donna128.h:126,1
    - Dst: lo
      Src: /src/botan/src/lib/utils/donna128.h:126,1
    - Dst: hi
      Src: /src/botan/src/lib/utils/donna128.h:126,1
    - Dst: hi
      Src: /src/botan/src/lib/utils/donna128.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - donna128
    - donna128
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: operator|(const donna128& x, const donna128& y)
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached:
    - donna128
    - lo
    - hi
    linkageType: ''
    returnType: donna128
    signature: donna128 operator|(const donna128& x, const donna128& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: donna128
      Src: /src/botan/src/lib/utils/donna128.h:130,1
    - Dst: lo
      Src: /src/botan/src/lib/utils/donna128.h:130,1
    - Dst: hi
      Src: /src/botan/src/lib/utils/donna128.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - donna128
    - uint64_t
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: operator|(const donna128& x, uint64_t y)
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 0
    functionsReached:
    - donna128
    - lo
    - hi
    linkageType: ''
    returnType: donna128
    signature: donna128 operator|(const donna128& x, uint64_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lo
      Src: /src/botan/src/lib/utils/donna128.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - shift
    argTypes:
    - donna128
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: Botan::carry_shift
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 3
    functionsReached:
    - lo
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t carry_shift(const donna128& a, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: donna128::lo
      Src: /src/botan/src/lib/utils/donna128.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' a'
    - s1
    - ' b'
    - s2
    argTypes:
    - donna128
    - size_t
    - donna128
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: Botan::combine_lower
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 1
    functionsReached:
    - donna128::lo
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t combine_lower(const donna128& a, size_t s1, const donna128&
      b, size_t s2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/donna128.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - shift
    argTypes:
    - uint128_t
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: Botan::carry_shift
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 3
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t carry_shift(const uint128_t a, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/donna128.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - a
    - s1
    - b
    - s2
    argTypes:
    - uint128_t
    - size_t
    - uint128_t
    - size_t
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: Botan::combine_lower
    functionSourceFile: /src/botan/src/lib/utils/donna128.h
    functionUses: 1
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t combine_lower(const uint128_t a, size_t s1, const uint128_t
      b, size_t s2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Botan::error_code
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int error_code() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: error_type
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void error_type() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Unknown_PK_Field_Name
      Src: /src/botan/src/lib/utils/exceptn.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: Invalid_Argument
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 242
    functionsReached:
    - Unknown_PK_Field_Name
    linkageType: ''
    returnType: Unknown_PK_Field_Name
    signature: Unknown_PK_Field_Name Invalid_Argument
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Key_Length
      Src: /src/botan/src/lib/utils/exceptn.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: Invalid_Argument
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 242
    functionsReached:
    - Invalid_Key_Length
    linkageType: ''
    returnType: Invalid_Key_Length
    signature: Invalid_Key_Length Invalid_Argument
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/utils/exceptn.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: Invalid_Argument
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 242
    functionsReached:
    - Invalid_IV_Length
    linkageType: ''
    returnType: Invalid_IV_Length
    signature: Invalid_IV_Length Invalid_Argument
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: Invalid_Argument
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 242
    functionsReached: []
    linkageType: ''
    returnType: Invalid_Algorithm_Name
    signature: Invalid_Algorithm_Name Invalid_Argument
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: Exception
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 131
    functionsReached: []
    linkageType: ''
    returnType: Encoding_Error
    signature: Encoding_Error Exception
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: error_type
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ErrorType
    signature: ErrorType error_type() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: Invalid_State
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 74
    functionsReached: []
    linkageType: ''
    returnType: PRNG_Unseeded
    signature: PRNG_Unseeded Invalid_State
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: error_type
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ErrorType
    signature: ErrorType error_type() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 241
    functionName: error_type
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ErrorType
    signature: ErrorType error_type() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: Lookup_Error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: Algorithm_Not_Found
    signature: Algorithm_Not_Found Lookup_Error
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Provider_Not_Found
      Src: /src/botan/src/lib/utils/exceptn.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: Lookup_Error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 32
    functionsReached:
    - Provider_Not_Found
    linkageType: ''
    returnType: Provider_Not_Found
    signature: Provider_Not_Found Lookup_Error
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: Exception
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 131
    functionsReached: []
    linkageType: ''
    returnType: Invalid_Authentication_Tag
    signature: Invalid_Authentication_Tag Exception
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: Exception
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 131
    functionsReached: []
    linkageType: ''
    returnType: Stream_IO_Error
    signature: Stream_IO_Error Exception
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: error_type
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ErrorType
    signature: ErrorType error_type() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    functionName: error_code
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int error_code() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: error_type
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ErrorType
    signature: ErrorType error_type() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: Exception
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 131
    functionsReached: []
    linkageType: ''
    returnType: Not_Implemented
    signature: Not_Implemented Exception
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: E
      Src: /src/botan/src/lib/utils/exceptn.h:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - file
    - line
    - func
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: do_throw_error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.h
    functionUses: 4
    functionsReached:
    - E
    linkageType: ''
    returnType: void
    signature: void do_throw_error(const char* file, int line, const char* func, Args...
      args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/rotate.h:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: Botan::rotl
    functionSourceFile: /src/botan/src/lib/utils/rotate.h
    functionUses: 28
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE rotl(T input)\n   requires(ROT > 0 && ROT < 8 *
      sizeof(T))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/rotate.h:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: Botan::rotr
    functionSourceFile: /src/botan/src/lib/utils/rotate.h
    functionUses: 20
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: "BOTAN_FORCE_INLINE rotr(T input)\n   requires(ROT > 0 && ROT < 8 *
      sizeof(T))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/utils/rotate.h:45,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/utils/rotate.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::sigma
    functionSourceFile: /src/botan/src/lib/utils/rotate.h
    functionUses: 0
    functionsReached:
    - Botan::rotr
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE sigma(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/utils/rotate.h:53,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/utils/rotate.h:53,1
    - Dst: Botan::rotr
      Src: /src/botan/src/lib/utils/rotate.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::rho
    functionSourceFile: /src/botan/src/lib/utils/rotate.h
    functionUses: 0
    functionsReached:
    - Botan::rotr
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE rho(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/rotate.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - rot
    argTypes:
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::rotl_var
    functionSourceFile: /src/botan/src/lib/utils/rotate.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE rotl_var(T input, size_t rot)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/rotate.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - rot
    argTypes:
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: Botan::rotr_var
    functionSourceFile: /src/botan/src/lib/utils/rotate.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE rotr_var(T input, size_t rot)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: Botan::checked_add
    functionSourceFile: /src/botan/src/lib/utils/int_utils.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> checked_add(T a, T b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: Botan::checked_sub
    functionSourceFile: /src/botan/src/lib/utils/int_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> checked_sub(T a, T b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::checked_add
      Src: /src/botan/src/lib/utils/int_utils.h:38,1
    - Dst: Botan::checked_add
      Src: /src/botan/src/lib/utils/int_utils.h:39,1
    - Dst: auto::value
      Src: /src/botan/src/lib/utils/int_utils.h:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: Botan::checked_add
    functionSourceFile: /src/botan/src/lib/utils/int_utils.h
    functionUses: 4
    functionsReached:
    - auto::value
    - Botan::checked_add
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> checked_add(T a, T b, Ts... rest)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: Botan::checked_mul
    functionSourceFile: /src/botan/src/lib/utils/int_utils.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> checked_mul(T a, T b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/lib/utils/int_utils.h:62,1
    - Dst: static_cast<strong_type_wrapped_type<RT>>
      Src: /src/botan/src/lib/utils/int_utils.h:64,1
    - Dst: static_cast<strong_type_wrapped_type<AT>>
      Src: /src/botan/src/lib/utils/int_utils.h:65,1
    - Dst: ExceptionType
      Src: /src/botan/src/lib/utils/int_utils.h:66,1
    - Dst: Botan::wrap_strong_type
      Src: /src/botan/src/lib/utils/int_utils.h:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - i
    - error_msg_on_fail
    argTypes:
    - AT
    - std::string_view
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: Botan::checked_cast_to_or_throw
    functionSourceFile: /src/botan/src/lib/utils/int_utils.h
    functionUses: 0
    functionsReached:
    - Botan::wrap_strong_type
    - static_cast<strong_type_wrapped_type<RT>>
    - static_cast<strong_type_wrapped_type<AT>>
    - ExceptionType
    - Botan::unwrap_strong_type
    linkageType: ''
    returnType: RT
    signature: RT checked_cast_to_or_throw(AT i, std::string_view error_msg_on_fail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::checked_cast_to_or_throw
      Src: /src/botan/src/lib/utils/int_utils.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - AT
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: Botan::checked_cast_to
    functionSourceFile: /src/botan/src/lib/utils/int_utils.h
    functionUses: 4
    functionsReached:
    - Botan::checked_cast_to_or_throw
    linkageType: ''
    returnType: RT
    signature: RT checked_cast_to(AT i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/int_utils.h:93,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/int_utils.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: Botan::swar_lt
    functionSourceFile: /src/botan/src/lib/utils/int_utils.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T swar_lt(T a, T b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/int_utils.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - lower
    - upper
    argTypes:
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: Botan::swar_in_range
    functionSourceFile: /src/botan/src/lib/utils/int_utils.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T swar_in_range(T v, T lower, T upper)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/int_utils.h:132,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/int_utils.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: Botan::index_of_first_set_byte
    functionSourceFile: /src/botan/src/lib/utils/int_utils.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t index_of_first_set_byte(T v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: Botan::short_version_cstr
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * short_version_cstr()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Botan::version_cstr
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * version_cstr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/utils/version.cpp:25,1
    - Dst: Botan::version_cstr
      Src: /src/botan/src/lib/utils/version.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::version_string
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 5
    functionsReached:
    - std::string
    - Botan::version_cstr
    linkageType: ''
    returnType: std::string
    signature: std::string version_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/utils/version.cpp:29,1
    - Dst: Botan::short_version_cstr
      Src: /src/botan/src/lib/utils/version.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::short_version_string
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 4
    functionsReached:
    - Botan::short_version_cstr
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string short_version_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::version_datestamp
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t version_datestamp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/utils/version.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: Botan::version_vc_revision
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 1
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> version_vc_revision()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/utils/version.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: Botan::version_distribution_info
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> version_distribution_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan::version_major
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t version_major()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::version_minor
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t version_minor()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::version_patch
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t version_patch()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: Botan::unsafe_for_production_build
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool unsafe_for_production_build()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::version_major
      Src: /src/botan/src/lib/utils/version.cpp:76,1
    - Dst: Botan::version_minor
      Src: /src/botan/src/lib/utils/version.cpp:76,1
    - Dst: Botan::version_patch
      Src: /src/botan/src/lib/utils/version.cpp:76,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/utils/version.cpp:77,1
    - Dst: Botan::short_version_cstr
      Src: /src/botan/src/lib/utils/version.cpp:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - major
    - minor
    - patch
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: Botan::runtime_version_check
    functionSourceFile: /src/botan/src/lib/utils/version.cpp
    functionUses: 3
    functionsReached:
    - Botan::short_version_cstr
    - Botan::version_patch
    - Botan::version_major
    - Botan::fmt
    - Botan::version_minor
    linkageType: ''
    returnType: std::string
    signature: std::string runtime_version_check(uint32_t major, uint32_t minor, uint32_t
      patch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' oss'
    - format
    argTypes:
    - std::ostringstream
    - std::string_view
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Botan::fmt_detail::do_fmt
    functionSourceFile: /src/botan/src/lib/utils/fmt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void do_fmt(std::ostringstream& oss, std::string_view format)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/fmt.h:28,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/fmt.h:29,1
    - Dst: std::string_view::at
      Src: /src/botan/src/lib/utils/fmt.h:29,1
    - Dst: Botan::fmt_detail::do_fmt
      Src: /src/botan/src/lib/utils/fmt.h:31,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/utils/fmt.h:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' oss'
    - format
    - ' val'
    argTypes:
    - std::ostringstream
    - std::string_view
    - T
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: Botan::fmt_detail::do_fmt
    functionSourceFile: /src/botan/src/lib/utils/fmt.h
    functionUses: 1
    functionsReached:
    - Botan::fmt_detail::do_fmt
    - std::string_view::size
    - std::string_view::at
    - std::string_view::substr
    linkageType: ''
    returnType: void
    signature: void do_fmt(std::ostringstream& oss, std::string_view format, const
      T& val, const Ts&... rest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::imbue
      Src: /src/botan/src/lib/utils/fmt.h:55,1
    - Dst: std::locale::classic
      Src: /src/botan/src/lib/utils/fmt.h:55,1
    - Dst: Botan::fmt_detail::do_fmt
      Src: /src/botan/src/lib/utils/fmt.h:56,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/fmt.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - format
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: Botan::fmt
    functionSourceFile: /src/botan/src/lib/utils/fmt.h
    functionUses: 116
    functionsReached:
    - std::locale::classic
    - Botan::fmt_detail::do_fmt
    - std::ostringstream::imbue
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string fmt(std::string_view format, const T&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/charset.cpp:20,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/charset.cpp:25,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/charset.cpp:25,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/charset.cpp:29,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/charset.cpp:29,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/charset.cpp:30,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/charset.cpp:30,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/charset.cpp:35,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/charset.cpp:35,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/charset.cpp:36,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/charset.cpp:36,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/charset.cpp:37,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/charset.cpp:37,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/charset.cpp:43,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/charset.cpp:43,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/charset.cpp:44,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/charset.cpp:44,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/charset.cpp:45,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/charset.cpp:45,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/charset.cpp:46,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/charset.cpp:46,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/charset.cpp:48,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - ' s'
    - c
    argTypes:
    - std::string
    - uint32_t
    constantsTouched: []
    func_position:
      end: 50
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 50
    functionName: Botan::append_utf8_for
    functionSourceFile: /src/botan/src/lib/utils/charset.cpp
    functionUses: 0
    functionsReached:
    - static_cast<char>
    - push_back
    - Botan::Decoding_Error
    linkageType: ''
    returnType: void
    signature: void append_utf8_for(std::string& s, uint32_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/charset.cpp:56,1
    - Dst: Botan::append_utf8_for
      Src: /src/botan/src/lib/utils/charset.cpp:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ucs2
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: Botan::ucs2_to_utf8
    functionSourceFile: /src/botan/src/lib/utils/charset.cpp
    functionUses: 1
    functionsReached:
    - Botan::append_utf8_for
    - Botan::Decoding_Error
    linkageType: ''
    returnType: std::string
    signature: std::string ucs2_to_utf8(const uint8_t ucs2[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/charset.cpp:72,1
    - Dst: Botan::append_utf8_for
      Src: /src/botan/src/lib/utils/charset.cpp:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ucs4
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 84
    functionName: Botan::ucs4_to_utf8
    functionSourceFile: /src/botan/src/lib/utils/charset.cpp
    functionUses: 1
    functionsReached:
    - Botan::append_utf8_for
    - Botan::Decoding_Error
    linkageType: ''
    returnType: std::string
    signature: std::string ucs4_to_utf8(const uint8_t ucs4[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::append_utf8_for
      Src: /src/botan/src/lib/utils/charset.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - chars
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: Botan::latin1_to_utf8
    functionSourceFile: /src/botan/src/lib/utils/charset.cpp
    functionUses: 1
    functionsReached:
    - Botan::append_utf8_for
    linkageType: ''
    returnType: std::string
    signature: std::string latin1_to_utf8(const uint8_t chars[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/botan/src/lib/utils/charset.cpp:109,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/charset.cpp:111,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/charset.cpp:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 119
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 119
    functionName: Botan::format_char_for_display
    functionSourceFile: /src/botan/src/lib/utils/charset.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - static_cast<int>
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string format_char_for_display(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: Botan::AlignmentBuffer::AlignmentBuffer
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlignmentBuffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::secure_scrub_memory
      Src: /src/botan/src/lib/utils/alignment_buffer.h:65,1
    - Dst: data
      Src: /src/botan/src/lib/utils/alignment_buffer.h:65,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: ~AlignmentBuffer()
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 0
    functionsReached:
    - Botan::size
    - data
    - Botan::secure_scrub_memory
    linkageType: ''
    returnType: void
    signature: void ~AlignmentBuffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AlignmentBuffer
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: Botan::AlignmentBuffer::AlignmentBuffer
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlignmentBuffer(const AlignmentBuffer& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AlignmentBuffer
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::AlignmentBuffer::AlignmentBuffer
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlignmentBuffer(AlignmentBuffer&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AlignmentBuffer
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '& operator=(const AlignmentBuffer& other)'
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AlignmentBuffer
    signature: AlignmentBuffer & operator=(const AlignmentBuffer& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AlignmentBuffer
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& operator=(AlignmentBuffer&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AlignmentBuffer
    signature: AlignmentBuffer & operator=(AlignmentBuffer&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_mem
      Src: /src/botan/src/lib/utils/alignment_buffer.h:73,1
    - Dst: data
      Src: /src/botan/src/lib/utils/alignment_buffer.h:73,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: Botan::AlignmentBuffer::clear
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 1
    functionsReached:
    - Botan::AlignmentBuffer::size
    - data
    - clear_mem
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/lib/utils/alignment_buffer.h:81,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/utils/alignment_buffer.h:82,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/lib/utils/alignment_buffer.h:82,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: Botan::AlignmentBuffer::fill_up_with_zeros
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 1
    functionsReached:
    - Botan::AlignmentBuffer::size
    - Botan::AlignmentBuffer::ready_to_consume
    - Botan::AlignmentBuffer::elements_until_alignment
    - clear_mem
    linkageType: ''
    returnType: void
    signature: void fill_up_with_zeros()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/alignment_buffer.h:92,1
    - Dst: std::span<const T>::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:92,1
    - Dst: Botan::AlignmentBuffer::elements_until_alignment
      Src: /src/botan/src/lib/utils/alignment_buffer.h:92,1
    - Dst: copy
      Src: /src/botan/src/lib/utils/alignment_buffer.h:93,1
    - Dst: std::span<const T>::begin
      Src: /src/botan/src/lib/utils/alignment_buffer.h:93,1
    - Dst: std::span<const T>::end
      Src: /src/botan/src/lib/utils/alignment_buffer.h:93,1
    - Dst: begin
      Src: /src/botan/src/lib/utils/alignment_buffer.h:93,1
    - Dst: std::span<const T>::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elements
    argTypes:
    - std::span<const T>
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: Botan::AlignmentBuffer::append
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 1
    functionsReached:
    - Botan::AlignmentBuffer::elements_until_alignment
    - std::span<const T>::size
    - BOTAN_ASSERT_NOMSG
    - copy
    - begin
    - std::span<const T>::begin
    - std::span<const T>::end
    linkageType: ''
    returnType: void
    signature: void append(std::span<const T> elements)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/alignment_buffer.h:104,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:104,1
    - Dst: std::span
      Src: /src/botan/src/lib/utils/alignment_buffer.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - elements
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: Botan::AlignmentBuffer::directly_modify_first
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 0
    functionsReached:
    - Botan::AlignmentBuffer::size
    - BOTAN_ASSERT_NOMSG
    - std::span
    linkageType: ''
    returnType: std::span<T>
    signature: std::span<T> directly_modify_first(size_t elements)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/alignment_buffer.h:115,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:115,1
    - Dst: std::span
      Src: /src/botan/src/lib/utils/alignment_buffer.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - elements
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: Botan::AlignmentBuffer::directly_modify_last
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 0
    functionsReached:
    - Botan::AlignmentBuffer::size
    - BOTAN_ASSERT_NOMSG
    - std::span
    linkageType: ''
    returnType: std::span<T>
    signature: std::span<T> directly_modify_last(size_t elements)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/alignment_buffer.h:128,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/lib/utils/alignment_buffer.h:128,1
    - Dst: take
      Src: /src/botan/src/lib/utils/alignment_buffer.h:134,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' slicer'
    argTypes:
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: Botan::AlignmentBuffer::aligned_data_to_process
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 0
    functionsReached:
    - Botan::AlignmentBuffer::size
    - BOTAN_ASSERT_NOMSG
    - take
    - Botan::AlignmentBuffer::in_alignment
    linkageType: ''
    returnType: std::tuple<std::span<const uint8_t>, size_t>
    signature: std::tuple<std::span<const uint8_t>, size_t> aligned_data_to_process(BufferSlicer&
      slicer) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/alignment_buffer.h:145,1
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/lib/utils/alignment_buffer.h:145,1
    - Dst: remaining
      Src: /src/botan/src/lib/utils/alignment_buffer.h:150,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:150,1
    - Dst: take
      Src: /src/botan/src/lib/utils/alignment_buffer.h:154,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' slicer'
    argTypes:
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: Botan::AlignmentBuffer::next_aligned_block_to_process
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 1
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - remaining
    - take
    - Botan::AlignmentBuffer::in_alignment
    - Botan::AlignmentBuffer::size
    linkageType: ''
    returnType: std::optional<std::span<const uint8_t>>
    signature: std::optional<std::span<const uint8_t>> next_aligned_block_to_process(BufferSlicer&
      slicer) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlignmentBuffer::in_alignment
      Src: /src/botan/src/lib/utils/alignment_buffer.h:173,1
    - Dst: remaining
      Src: /src/botan/src/lib/utils/alignment_buffer.h:173,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:173,1
    - Dst: std::min
      Src: /src/botan/src/lib/utils/alignment_buffer.h:182,1
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:182,1
    - Dst: remaining
      Src: /src/botan/src/lib/utils/alignment_buffer.h:182,1
    - Dst: Botan::AlignmentBuffer::append
      Src: /src/botan/src/lib/utils/alignment_buffer.h:183,1
    - Dst: take
      Src: /src/botan/src/lib/utils/alignment_buffer.h:183,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/lib/utils/alignment_buffer.h:189,1
    - Dst: Botan::AlignmentBuffer::defers_final_block
      Src: /src/botan/src/lib/utils/alignment_buffer.h:189,1
    - Dst: empty
      Src: /src/botan/src/lib/utils/alignment_buffer.h:189,1
    - Dst: Botan::AlignmentBuffer::consume
      Src: /src/botan/src/lib/utils/alignment_buffer.h:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ' slicer'
    argTypes:
    - BufferSlicer
    constantsTouched: []
    func_position:
      end: 194
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 194
    functionName: Botan::AlignmentBuffer::handle_unaligned_data
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 1
    functionsReached:
    - Botan::AlignmentBuffer::append
    - std::min
    - Botan::AlignmentBuffer::ready_to_consume
    - remaining
    - Botan::AlignmentBuffer::in_alignment
    - take
    - empty
    - Botan::AlignmentBuffer::consume
    - Botan::AlignmentBuffer::defers_final_block
    - Botan::AlignmentBuffer::size
    linkageType: ''
    returnType: std::optional<std::span<const T>>
    signature: std::optional<std::span<const T>> handle_unaligned_data(BufferSlicer&
      slicer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/alignment_buffer.h:202,1
    - Dst: Botan::AlignmentBuffer::ready_to_consume
      Src: /src/botan/src/lib/utils/alignment_buffer.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: Botan::AlignmentBuffer::consume
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 2
    functionsReached:
    - Botan::AlignmentBuffer::ready_to_consume
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::span<const T>
    signature: std::span<const T> consume()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlignmentBuffer::elements_in_buffer
      Src: /src/botan/src/lib/utils/alignment_buffer.h:213,1
    - Dst: std::span
      Src: /src/botan/src/lib/utils/alignment_buffer.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: Botan::AlignmentBuffer::consume_partial
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 1
    functionsReached:
    - Botan::AlignmentBuffer::elements_in_buffer
    - std::span
    linkageType: ''
    returnType: std::span<const T>
    signature: std::span<const T> consume_partial()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: Botan::AlignmentBuffer::size
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 9
    functionsReached:
    - Botan::AlignmentBuffer::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: Botan::AlignmentBuffer::elements_in_buffer
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t elements_in_buffer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: Botan::AlignmentBuffer::elements_until_alignment
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 3
    functionsReached:
    - Botan::AlignmentBuffer::size
    linkageType: ''
    returnType: size_t
    signature: size_t elements_until_alignment() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 227
    functionName: Botan::AlignmentBuffer::in_alignment
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool in_alignment() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AlignmentBuffer::size
      Src: /src/botan/src/lib/utils/alignment_buffer.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: Botan::AlignmentBuffer::ready_to_consume
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 4
    functionsReached:
    - Botan::AlignmentBuffer::size
    linkageType: ''
    returnType: bool
    signature: bool ready_to_consume() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: Botan::AlignmentBuffer::defers_final_block
    functionSourceFile: /src/botan/src/lib/utils/alignment_buffer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool defers_final_block() const
  - 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: Botan::detail::AutoDetect
    functionSourceFile: /src/botan/src/lib/utils/concepts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AutoDetect()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ranges::size_bytes
      Src: /src/botan/src/lib/utils/concepts.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - spanable_range auto
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Botan::ranges::size_bytes
    functionSourceFile: /src/botan/src/lib/utils/concepts.h
    functionUses: 1
    functionsReached:
    - Botan::ranges::size_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t size_bytes(const spanable_range auto& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span::size_bytes
      Src: /src/botan/src/lib/utils/concepts.h:110,1
    - Dst: std::span::size_bytes
      Src: /src/botan/src/lib/utils/concepts.h:112,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/concepts.h:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - R
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: Botan::ranges::assert_exact_byte_length
    functionSourceFile: /src/botan/src/lib/utils/concepts.h
    functionUses: 0
    functionsReached:
    - std::span::size_bytes
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void assert_exact_byte_length(const R& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ranges::assert_exact_byte_length
      Src: /src/botan/src/lib/utils/concepts.h:135,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/concepts.h:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' r0'
    argTypes:
    - R0
    constantsTouched: []
    func_position:
      end: 145
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 145
    functionName: Botan::ranges::assert_equal_byte_lengths
    functionSourceFile: /src/botan/src/lib/utils/concepts.h
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - Botan::ranges::assert_exact_byte_length
    linkageType: ''
    returnType: void
    signature: "void assert_equal_byte_lengths(const R0& r0, const Rs&... rs)\n   requires(sizeof...(Rs)
      > 0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/parsing.cpp:26,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/utils/parsing.cpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: Botan::to_uint16
    functionSourceFile: /src/botan/src/lib/utils/parsing.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - Invalid_Argument
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t to_uint16(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/parsing.cpp:38,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/utils/parsing.cpp:46,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/parsing.cpp:47,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/parsing.cpp:51,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - str_view
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 52
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 52
    functionName: Botan::to_u32bit
    functionSourceFile: /src/botan/src/lib/utils/parsing.cpp
    functionUses: 7
    functionsReached:
    - Invalid_Argument
    - static_cast<uint32_t>
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t to_u32bit(std::string_view str_view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/utils/parsing.cpp:58,1
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/utils/parsing.cpp:58,1
    - Dst: std::string
      Src: /src/botan/src/lib/utils/parsing.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/parsing.cpp:67,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/parsing.cpp:67,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/utils/parsing.cpp:67,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/parsing.cpp:68,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/utils/parsing.cpp:68,1
    - Dst: std::string::begin
      Src: /src/botan/src/lib/utils/parsing.cpp:70,1
    - Dst: std::string::end
      Src: /src/botan/src/lib/utils/parsing.cpp:70,1
    - Dst: std::string::end
      Src: /src/botan/src/lib/utils/parsing.cpp:77,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/utils/parsing.cpp:78,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/parsing.cpp:79,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/parsing.cpp:79,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/parsing.cpp:81,1
    - Dst: std::string::end
      Src: /src/botan/src/lib/utils/parsing.cpp:86,1
    - Dst: Invalid_Algorithm_Name
      Src: /src/botan/src/lib/utils/parsing.cpp:87,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/utils/parsing.cpp:93,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/parsing.cpp:94,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/parsing.cpp:94,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/parsing.cpp:96,1
    - Dst: std::string::clear
      Src: /src/botan/src/lib/utils/parsing.cpp:98,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/parsing.cpp:104,1
    - Dst: Invalid_Algorithm_Name
      Src: /src/botan/src/lib/utils/parsing.cpp:105,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 1
    argNames:
    - namex
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 109
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 109
    functionName: Botan::parse_algorithm_name
    functionSourceFile: /src/botan/src/lib/utils/parsing.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Algorithm_Name
    - std::vector::size
    - std::string
    - std::string::find
    - std::vector::push_back
    - std::string_view::find
    - std::string::empty
    - std::string::begin
    - std::string::end
    - std::string::substr
    - std::string::clear
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> parse_algorithm_name(std::string_view namex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/parsing.cpp:113,1
    - Dst: std::string_view::begin
      Src: /src/botan/src/lib/utils/parsing.cpp:118,1
    - Dst: std::string_view::end
      Src: /src/botan/src/lib/utils/parsing.cpp:118,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/parsing.cpp:120,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/parsing.cpp:121,1
    - Dst: std::string::clear
      Src: /src/botan/src/lib/utils/parsing.cpp:123,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/parsing.cpp:129,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/parsing.cpp:130,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/utils/parsing.cpp:130,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/parsing.cpp:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - str
    - delim
    argTypes:
    - std::string_view
    - char
    constantsTouched: []
    func_position:
      end: 135
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 135
    functionName: Botan::split_on
    functionSourceFile: /src/botan/src/lib/utils/parsing.cpp
    functionUses: 16
    functionsReached:
    - Botan::fmt
    - std::string_view::begin
    - std::string_view::end
    - std::vector::push_back
    - std::string_view::empty
    - std::string::empty
    - Invalid_Argument
    - std::string::clear
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> split_on(std::string_view str, char delim)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/parsing.cpp:143,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/parsing.cpp:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' strs'
    - delim
    argTypes:
    - std::vector<std::string>
    - char
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: Botan::string_join
    functionSourceFile: /src/botan/src/lib/utils/parsing.cpp
    functionUses: 0
    functionsReached:
    - Botan::size
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string string_join(const std::vector<std::string>& strs, char
      delim)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/parsing.cpp:159,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/parsing.cpp:159,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/utils/parsing.cpp:188,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/parsing.cpp:201,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 220
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 220
    functionName: Botan::string_to_ipv4
    functionSourceFile: /src/botan/src/lib/utils/parsing.cpp
    functionUses: 3
    functionsReached:
    - std::string_view::size
    - static_cast<uint8_t>
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> string_to_ipv4(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/utils/parsing.cpp:227,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/utils/parsing.cpp:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ip
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: Botan::ipv4_to_string
    functionSourceFile: /src/botan/src/lib/utils/parsing.cpp
    functionUses: 3
    functionsReached:
    - Botan::store_be
    - Botan::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string ipv4_to_string(uint32_t ip)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/parsing.cpp:243,1
    - Dst: std::isalpha
      Src: /src/botan/src/lib/utils/parsing.cpp:245,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/parsing.cpp:246,1
    - Dst: std::tolower
      Src: /src/botan/src/lib/utils/parsing.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: Botan::tolower_string
    functionSourceFile: /src/botan/src/lib/utils/parsing.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - static_cast<char>
    - std::tolower
    - std::isalpha
    linkageType: ''
    returnType: std::string
    signature: std::string tolower_string(std::string_view in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::tolower_string
      Src: /src/botan/src/lib/utils/parsing.cpp:253,1
    - Dst: Botan::tolower_string
      Src: /src/botan/src/lib/utils/parsing.cpp:254,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/parsing.cpp:256,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/parsing.cpp:256,1
    - Dst: count
      Src: /src/botan/src/lib/utils/parsing.cpp:264,1
    - Dst: std::string::begin
      Src: /src/botan/src/lib/utils/parsing.cpp:264,1
    - Dst: std::string::end
      Src: /src/botan/src/lib/utils/parsing.cpp:264,1
    - Dst: count
      Src: /src/botan/src/lib/utils/parsing.cpp:275,1
    - Dst: std::string::begin
      Src: /src/botan/src/lib/utils/parsing.cpp:275,1
    - Dst: std::string::end
      Src: /src/botan/src/lib/utils/parsing.cpp:275,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/parsing.cpp:280,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/utils/parsing.cpp:285,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/parsing.cpp:302,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/parsing.cpp:302,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/parsing.cpp:324,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/parsing.cpp:340,1
    - Dst: count
      Src: /src/botan/src/lib/utils/parsing.cpp:345,1
    - Dst: std::string::begin
      Src: /src/botan/src/lib/utils/parsing.cpp:345,1
    - Dst: std::string::begin
      Src: /src/botan/src/lib/utils/parsing.cpp:345,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 2
    argNames:
    - issued_
    - host_
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 365
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 365
    functionName: Botan::host_wildcard_match
    functionSourceFile: /src/botan/src/lib/utils/parsing.cpp
    functionUses: 1
    functionsReached:
    - std::string::size
    - std::string::find
    - std::string::empty
    - Botan::tolower_string
    - std::string::begin
    - std::string::end
    - count
    linkageType: ''
    returnType: bool
    signature: bool host_wildcard_match(std::string_view issued_, std::string_view
      host_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/parsing.cpp:368,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:369,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/parsing.cpp:372,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:373,1
    - Dst: std::string_view::starts_with
      Src: /src/botan/src/lib/utils/parsing.cpp:376,1
    - Dst: std::string_view::ends_with
      Src: /src/botan/src/lib/utils/parsing.cpp:376,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:377,1
    - Dst: std::string::reserve
      Src: /src/botan/src/lib/utils/parsing.cpp:397,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/parsing.cpp:397,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/parsing.cpp:402,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:407,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:411,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:418,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:424,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:428,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:433,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/parsing.cpp:434,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/parsing.cpp:434,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:435,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/utils/parsing.cpp:438,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/utils/parsing.cpp:438,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/utils/parsing.cpp:442,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 46
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 445
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 445
    functionName: Botan::check_and_canonicalize_dns_name
    functionSourceFile: /src/botan/src/lib/utils/parsing.cpp
    functionUses: 1
    functionsReached:
    - std::string_view::starts_with
    - Botan::Decoding_Error
    - std::string_view::ends_with
    - std::string::push_back
    - std::string_view::empty
    - std::string_view::size
    - std::string::reserve
    - static_cast<char>
    linkageType: ''
    returnType: std::string
    signature: std::string check_and_canonicalize_dns_name(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: Botan::No_Filesystem_Access::No_Filesystem_Access
    functionSourceFile: /src/botan/src/lib/utils/filesystem.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void No_Filesystem_Access()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/prefetch.h:37,1
    - Dst: prefetch_array_raw
      Src: /src/botan/src/lib/utils/prefetch.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: requires std::is_integral_v<T>
    functionSourceFile: /src/botan/src/lib/utils/prefetch.h
    functionUses: 4
    functionsReached:
    - static_cast<T>
    - prefetch_array_raw
    linkageType: ''
    returnType: noexcept
    signature: noexcept requires std::is_integral_v<T>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/read_kv.cpp:15,1
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/utils/read_kv.cpp:22,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/read_kv.cpp:24,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/read_kv.cpp:36,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/read_kv.cpp:37,1
    - Dst: std::map::find
      Src: /src/botan/src/lib/utils/read_kv.cpp:40,1
    - Dst: std::map::end
      Src: /src/botan/src/lib/utils/read_kv.cpp:40,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/read_kv.cpp:41,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/read_kv.cpp:49,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/read_kv.cpp:65,1
    - Dst: std::map::find
      Src: /src/botan/src/lib/utils/read_kv.cpp:67,1
    - Dst: std::map::end
      Src: /src/botan/src/lib/utils/read_kv.cpp:67,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/read_kv.cpp:68,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/read_kv.cpp:72,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 1
    argNames:
    - kv
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 77
      start: 13
    functionDepth: 3
    functionLinenumber: 13
    functionLinenumberEnd: 77
    functionName: Botan::read_kv
    functionSourceFile: /src/botan/src/lib/utils/read_kv.cpp
    functionUses: 1
    functionsReached:
    - std::map::find
    - std::map::end
    - Botan::split_on
    - std::string_view::empty
    - std::string::empty
    - Invalid_Argument
    linkageType: ''
    returnType: std::map<std::string, std::string>
    signature: std::map<std::string, std::string> read_kv(std::string_view kv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '& to_string() const'
    functionSourceFile: /src/botan/src/lib/utils/scan_name.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& algo_name() const'
    functionSourceFile: /src/botan/src/lib/utils/scan_name.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & algo_name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/scan_name.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::SCAN_Name::arg_count
    functionSourceFile: /src/botan/src/lib/utils/scan_name.h
    functionUses: 3
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t arg_count() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SCAN_Name::arg_count
      Src: /src/botan/src/lib/utils/scan_name.h:57,1
    - Dst: Botan::SCAN_Name::arg_count
      Src: /src/botan/src/lib/utils/scan_name.h:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - lower
    - upper
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::SCAN_Name::arg_count_between
    functionSourceFile: /src/botan/src/lib/utils/scan_name.h
    functionUses: 0
    functionsReached:
    - Botan::SCAN_Name::arg_count
    linkageType: ''
    returnType: bool
    signature: bool arg_count_between(size_t lower, size_t upper) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/utils/scan_name.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan::SCAN_Name::cipher_mode
    functionSourceFile: /src/botan/src/lib/utils/scan_name.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: std::string
    signature: std::string cipher_mode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/scan_name.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan::SCAN_Name::cipher_mode_pad
    functionSourceFile: /src/botan/src/lib/utils/scan_name.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string cipher_mode_pad() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::tls_proxy_session::create
      Src: /src/botan/src/lib/utils/scan_name.h:109,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/scan_name.h:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: Botan::probe_providers_of
    functionSourceFile: /src/botan/src/lib/utils/scan_name.h
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - Botan_CLI::tls_proxy_session::create
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> probe_providers_of(std::string_view algo_spec,\n
      \                                           const std::vector<std::string>&
      possible = {\"base\"})"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/utils/mem_ops.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 3
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: Botan::ct_compare_u8
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::is_equal
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ct_compare_u8(const uint8_t x[], const uint8_t y[], size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_lte
      Src: /src/botan/src/lib/utils/mem_ops.cpp:18,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/mem_ops.cpp:18,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/mem_ops.cpp:18,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/mem_ops.cpp:18,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/mem_ops.cpp:18,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/utils/mem_ops.cpp:19,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/mem_ops.cpp:19,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/mem_ops.cpp:19,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/utils/mem_ops.cpp:20,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/utils/mem_ops.cpp:20,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/utils/mem_ops.cpp:20,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/utils/mem_ops.cpp:20,1
    - Dst: as_bool
      Src: /src/botan/src/lib/utils/mem_ops.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 5
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: Botan::constant_time_compare
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.cpp
    functionUses: 1
    functionsReached:
    - as_bool
    - Botan::CT::is_equal
    - Botan::BigInt::is_equal
    - Botan::sha512_msg_expand
    - std::span<const uint8_t>::size
    - Botan::CT::Mask::is_lte
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: bool
    signature: bool constant_time_compare(std::span<const uint8_t> x, std::span<const
      uint8_t> y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/utils/mul128.h:25,1
    - Dst: _umul128
      Src: /src/botan/src/lib/utils/mul128.h:27,1
    - Dst: __umulh
      Src: /src/botan/src/lib/utils/mul128.h:32,1
    - Dst: static_cast<uint128_t>
      Src: /src/botan/src/lib/utils/mul128.h:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - a
    - b
    - lo
    - hi
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 67
    functionName: Botan::mul64x64_128
    functionSourceFile: /src/botan/src/lib/utils/mul128.h
    functionUses: 1
    functionsReached:
    - __umulh
    - static_cast<uint128_t>
    - std::is_constant_evaluated
    - _umul128
    linkageType: ''
    returnType: void
    signature: void mul64x64_128(uint64_t a, uint64_t b, uint64_t* lo, uint64_t* hi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/rounding.h:28,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/rounding.h:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    - align_to
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: Botan::round_up
    functionSourceFile: /src/botan/src/lib/utils/rounding.h
    functionUses: 2
    functionsReached:
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t round_up(size_t n, size_t align_to)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: Botan::ignore_param
    functionSourceFile: /src/botan/src/lib/utils/assert.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ignore_param(T&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ignore_param
      Src: /src/botan/src/lib/utils/assert.h:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Botan::ignore_params
    functionSourceFile: /src/botan/src/lib/utils/assert.h
    functionUses: 0
    functionsReached:
    - Botan::ignore_param
    linkageType: ''
    returnType: void
    signature: void ignore_params(T&&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::checked_mul
      Src: /src/botan/src/lib/utils/allocator.cpp:27,1
    - Dst: std::bad_alloc
      Src: /src/botan/src/lib/utils/allocator.cpp:28,1
    - Dst: std::bad_alloc
      Src: /src/botan/src/lib/utils/allocator.cpp:43,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - elems
    - elem_size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 46
    functionName: Botan::allocate_memory
    functionSourceFile: /src/botan/src/lib/utils/allocator.cpp
    functionUses: 0
    functionsReached:
    - std::bad_alloc
    - Botan::checked_mul
    linkageType: ''
    returnType: BOTAN_MALLOC_FN
    signature: BOTAN_MALLOC_FN * allocate_memory(size_t elems, size_t elem_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::secure_scrub_memory
      Src: /src/botan/src/lib/utils/allocator.cpp:53,1
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/utils/allocator.cpp:56,1
    - Dst: free
      Src: /src/botan/src/lib/utils/allocator.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - p
    - elems
    - elem_size
    argTypes:
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: Botan::deallocate_memory
    functionSourceFile: /src/botan/src/lib/utils/allocator.cpp
    functionUses: 0
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    - free
    - Botan::secure_scrub_memory
    linkageType: ''
    returnType: void
    signature: void deallocate_memory(void* p, size_t elems, size_t elem_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::PrimeOrderCurveImpl::instance
      Src: /src/botan/src/lib/utils/allocator.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: Botan::initialize_allocator
    functionSourceFile: /src/botan/src/lib/utils/allocator.cpp
    functionUses: 1
    functionsReached:
    - Botan::PCurve::PrimeOrderCurveImpl::instance
    linkageType: ''
    returnType: void
    signature: void initialize_allocator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OS::get_system_timestamp_ns
      Src: /src/botan/src/lib/utils/time_utils.h:28,1
    - Dst: OS::get_system_timestamp_ns
      Src: /src/botan/src/lib/utils/time_utils.h:31,1
    - Dst: func
      Src: /src/botan/src/lib/utils/time_utils.h:32,1
    - Dst: OS::get_system_timestamp_ns
      Src: /src/botan/src/lib/utils/time_utils.h:33,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/time_utils.h:46,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/utils/time_utils.h:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - trial_msec
    - func
    argTypes:
    - std::chrono::milliseconds
    - F
    constantsTouched: []
    func_position:
      end: 49
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 49
    functionName: Botan::measure_cost
    functionSourceFile: /src/botan/src/lib/utils/time_utils.h
    functionUses: 0
    functionsReached:
    - func
    - Not_Implemented
    - BOTAN_UNUSED
    - OS::get_system_timestamp_ns
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t measure_cost(std::chrono::milliseconds trial_msec, F func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::deque::push_back
      Src: /src/botan/src/lib/utils/filesystem.cpp:38,1
    - Dst: std::string
      Src: /src/botan/src/lib/utils/filesystem.cpp:38,1
    - Dst: std::deque::empty
      Src: /src/botan/src/lib/utils/filesystem.cpp:40,1
    - Dst: std::deque::pop_front
      Src: /src/botan/src/lib/utils/filesystem.cpp:42,1
    - Dst: ::opendir
      Src: /src/botan/src/lib/utils/filesystem.cpp:44,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/utils/filesystem.cpp:44,1
    - Dst: Botan::impl_readdir
      Src: /src/botan/src/lib/utils/filesystem.cpp:47,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/lib/utils/filesystem.cpp:47,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/filesystem.cpp:55,1
    - Dst: ::stat
      Src: /src/botan/src/lib/utils/filesystem.cpp:59,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/utils/filesystem.cpp:59,1
    - Dst: S_ISDIR
      Src: /src/botan/src/lib/utils/filesystem.cpp:63,1
    - Dst: std::deque::push_back
      Src: /src/botan/src/lib/utils/filesystem.cpp:64,1
    - Dst: S_ISREG
      Src: /src/botan/src/lib/utils/filesystem.cpp:65,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/filesystem.cpp:66,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - dir_path
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 73
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 73
    functionName: Botan::impl_readdir
    functionSourceFile: /src/botan/src/lib/utils/filesystem.cpp
    functionUses: 1
    functionsReached:
    - std::deque::empty
    - ::stat
    - std::ostringstream::str
    - S_ISREG
    - std::deque::pop_front
    - std::unique_ptr::get
    - std::string
    - ::opendir
    - Botan::impl_readdir
    - std::string::c_str
    - std::vector::push_back
    - std::deque::push_back
    - S_ISDIR
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> impl_readdir(std::string_view dir_path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::deque::push_back
      Src: /src/botan/src/lib/utils/filesystem.cpp:80,1
    - Dst: std::string
      Src: /src/botan/src/lib/utils/filesystem.cpp:80,1
    - Dst: std::deque::empty
      Src: /src/botan/src/lib/utils/filesystem.cpp:82,1
    - Dst: std::deque::pop_front
      Src: /src/botan/src/lib/utils/filesystem.cpp:84,1
    - Dst: ::FindFirstFileA
      Src: /src/botan/src/lib/utils/filesystem.cpp:87,1
    - Dst: c_str
      Src: /src/botan/src/lib/utils/filesystem.cpp:87,1
    - Dst: std::deque::push_back
      Src: /src/botan/src/lib/utils/filesystem.cpp:97,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/filesystem.cpp:99,1
    - Dst: ::FindNextFileA
      Src: /src/botan/src/lib/utils/filesystem.cpp:101,1
    - Dst: ::FindClose
      Src: /src/botan/src/lib/utils/filesystem.cpp:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - dir_path
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 108
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 108
    functionName: Botan::impl_win32
    functionSourceFile: /src/botan/src/lib/utils/filesystem.cpp
    functionUses: 0
    functionsReached:
    - ::FindFirstFileA
    - std::deque::empty
    - ::FindClose
    - c_str
    - std::deque::pop_front
    - std::string
    - std::vector::push_back
    - ::FindNextFileA
    - std::deque::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> impl_win32(std::string_view dir_path)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: Botan::has_filesystem_impl
    functionSourceFile: /src/botan/src/lib/utils/filesystem.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_filesystem_impl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::impl_readdir
      Src: /src/botan/src/lib/utils/filesystem.cpp:127,1
    - Dst: Botan::impl_win32
      Src: /src/botan/src/lib/utils/filesystem.cpp:129,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/filesystem.cpp:131,1
    - Dst: No_Filesystem_Access
      Src: /src/botan/src/lib/utils/filesystem.cpp:132,1
    - Dst: std::sort
      Src: /src/botan/src/lib/utils/filesystem.cpp:135,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/utils/filesystem.cpp:135,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/utils/filesystem.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dir
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 138
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 138
    functionName: Botan::get_files_recursive
    functionSourceFile: /src/botan/src/lib/utils/filesystem.cpp
    functionUses: 2
    functionsReached:
    - std::vector::begin
    - Botan::impl_readdir
    - BOTAN_UNUSED
    - Botan::impl_win32
    - std::vector::end
    - std::sort
    - No_Filesystem_Access
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> get_files_recursive(std::string_view dir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/botan/src/lib/utils/data_src.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Botan::DataSource::read_byte
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: size_t
    signature: size_t DataSource::read_byte(uint8_t& out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peek
      Src: /src/botan/src/lib/utils/data_src.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::DataSource::peek_byte
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached:
    - peek
    linkageType: ''
    returnType: size_t
    signature: size_t DataSource::peek_byte(uint8_t& out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: Botan::DataSource::discard_next
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DataSource::discard_next(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/utils/data_src.cpp:62,1
    - Dst: data
      Src: /src/botan/src/lib/utils/data_src.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: Botan::DataSource_Memory::read
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t DataSource_Memory::read(uint8_t out[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/data_src.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: Botan::DataSource_Memory::check_available
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool DataSource_Memory::check_available(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/utils/data_src.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - out
    - length
    - peek_offset
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: Botan::DataSource_Memory::peek
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    linkageType: ''
    returnType: size_t
    signature: size_t DataSource_Memory::peek(uint8_t out[], size_t length, size_t
      peek_offset) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/data_src.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::DataSource_Memory::end_of_data
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool DataSource_Memory::end_of_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/utils/data_src.cpp:96,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/utils/data_src.cpp:96,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/utils/data_src.cpp:96,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/utils/data_src.cpp:96,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/utils/data_src.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: Botan::DataSource_Memory::DataSource_Memory
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::length
    - std::string_view::data
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: void
    signature: void DataSource_Memory::DataSource_Memory(std::string_view in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DataSource_Stream::read
      Src: /src/botan/src/lib/utils/data_src.cpp:102,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/data_src.cpp:102,1
    - Dst: bad
      Src: /src/botan/src/lib/utils/data_src.cpp:103,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/utils/data_src.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - out
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: Botan::DataSource_Stream::read
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 1
    functionsReached:
    - Botan::DataSource_Stream::read
    - bad
    - cast_uint8_ptr_to_char
    - Stream_IO_Error
    linkageType: ''
    returnType: size_t
    signature: size_t DataSource_Stream::read(uint8_t out[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tellg
      Src: /src/botan/src/lib/utils/data_src.cpp:113,1
    - Dst: seekg
      Src: /src/botan/src/lib/utils/data_src.cpp:114,1
    - Dst: seekg
      Src: /src/botan/src/lib/utils/data_src.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: Botan::DataSource_Stream::check_available
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached:
    - seekg
    - tellg
    linkageType: ''
    returnType: bool
    signature: bool DataSource_Stream::check_available(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DataSource_Stream::end_of_data
      Src: /src/botan/src/lib/utils/data_src.cpp:124,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/data_src.cpp:125,1
    - Dst: Botan::DataSource_Stream::read
      Src: /src/botan/src/lib/utils/data_src.cpp:132,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/data_src.cpp:132,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/utils/data_src.cpp:132,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/utils/data_src.cpp:132,1
    - Dst: bad
      Src: /src/botan/src/lib/utils/data_src.cpp:133,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/utils/data_src.cpp:134,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/data_src.cpp:136,1
    - Dst: gcount
      Src: /src/botan/src/lib/utils/data_src.cpp:136,1
    - Dst: Botan::DataSource_Stream::read
      Src: /src/botan/src/lib/utils/data_src.cpp:140,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/data_src.cpp:140,1
    - Dst: bad
      Src: /src/botan/src/lib/utils/data_src.cpp:141,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/utils/data_src.cpp:142,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/data_src.cpp:144,1
    - Dst: gcount
      Src: /src/botan/src/lib/utils/data_src.cpp:144,1
    - Dst: eof
      Src: /src/botan/src/lib/utils/data_src.cpp:147,1
    - Dst: clear
      Src: /src/botan/src/lib/utils/data_src.cpp:148,1
    - Dst: seekg
      Src: /src/botan/src/lib/utils/data_src.cpp:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - out
    - length
    - offset
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 153
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 153
    functionName: Botan::DataSource_Stream::peek
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached:
    - Botan::DataSource_Stream::read
    - seekg
    - secure_vector::data
    - Botan::DataSource_Stream::end_of_data
    - Invalid_State
    - secure_vector::size
    - bad
    - static_cast<size_t>
    - gcount
    - clear
    - eof
    - cast_uint8_ptr_to_char
    - Stream_IO_Error
    linkageType: ''
    returnType: size_t
    signature: size_t DataSource_Stream::peek(uint8_t out[], size_t length, size_t
      offset) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: good
      Src: /src/botan/src/lib/utils/data_src.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: Botan::DataSource_Stream::end_of_data
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 4
    functionsReached:
    - good
    linkageType: ''
    returnType: bool
    signature: bool DataSource_Stream::end_of_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: Botan::DataSource_Stream::id
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string DataSource_Stream::id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<std::ifstream>
      Src: /src/botan/src/lib/utils/data_src.cpp:176,1
    - Dst: std::string
      Src: /src/botan/src/lib/utils/data_src.cpp:176,1
    - Dst: good
      Src: /src/botan/src/lib/utils/data_src.cpp:179,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/utils/data_src.cpp:180,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/data_src.cpp:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - path
    - use_binary
    argTypes:
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: Botan::DataSource_Stream::DataSource_Stream
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached:
    - good
    - fmt
    - std::string
    - std::make_unique<std::ifstream>
    - Stream_IO_Error
    linkageType: ''
    returnType: void
    signature: void DataSource_Stream::DataSource_Stream(std::string_view path, bool
      use_binary)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' in'
    - name
    argTypes:
    - std::istream
    - std::string_view
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: Botan::DataSource_Stream::DataSource_Stream
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataSource_Stream::DataSource_Stream(std::istream& in, std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: DataSource_Stream::~DataSource_Stream()
    functionSourceFile: /src/botan/src/lib/utils/data_src.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataSource_Stream::~DataSource_Stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 54
    argCount: 1
    argNames:
    - type
    argTypes:
    - ErrorType
    constantsTouched: []
    func_position:
      end: 69
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 69
    functionName: Botan::to_string
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string to_string(ErrorType type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::Exception::Exception
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Exception::Exception(std::string_view msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:73,1
    - Dst: what
      Src: /src/botan/src/lib/utils/exceptn.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - msg
    - ' e'
    argTypes:
    - std::string_view
    - std::exception
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Botan::Exception::Exception
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - what
    linkageType: ''
    returnType: void
    signature: void Exception::Exception(std::string_view msg, const std::exception&
      e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - prefix
    - msg
    argTypes:
    - char*
    - std::string_view
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Botan::Exception::Exception
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Exception::Exception(const char* prefix, std::string_view msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::Invalid_Argument::Invalid_Argument
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Invalid_Argument::Invalid_Argument(std::string_view msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - msg
    - where
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: Botan::Invalid_Argument::Invalid_Argument
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Invalid_Argument::Invalid_Argument(std::string_view msg, std::string_view
      where)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - msg
    - ' e'
    argTypes:
    - std::string_view
    - std::exception
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Botan::Invalid_Argument::Invalid_Argument
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Invalid_Argument::Invalid_Argument(std::string_view msg, const
      std::exception& e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/exceptn.cpp:87,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:88,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - type
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: Botan::format_lookup_error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - Botan::fmt
    - std::string_view::empty
    linkageType: ''
    returnType: std::string
    signature: std::string format_lookup_error(std::string_view type, std::string_view
      algo, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: format_lookup_error
      Src: /src/botan/src/lib/utils/exceptn.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - type
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: Botan::Lookup_Error::Lookup_Error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - format_lookup_error
    linkageType: ''
    returnType: void
    signature: void Lookup_Error::Lookup_Error(std::string_view type, std::string_view
      algo, std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - err
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: Botan::Internal_Error::Internal_Error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Internal_Error::Internal_Error(std::string_view err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - algo_name
    - field_name
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: Botan::Unknown_PK_Field_Name::Unknown_PK_Field_Name
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Unknown_PK_Field_Name::Unknown_PK_Field_Name(std::string_view
      algo_name, std::string_view field_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - name
    - length
    argTypes:
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: Botan::Invalid_Key_Length::Invalid_Key_Length
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Invalid_Key_Length::Invalid_Key_Length(std::string_view name,
      size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - mode
    - bad_len
    argTypes:
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: Botan::Invalid_IV_Length::Invalid_IV_Length
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Invalid_IV_Length::Invalid_IV_Length(std::string_view mode, size_t
      bad_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - algo
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Botan::Key_Not_Set::Key_Not_Set
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Key_Not_Set::Key_Not_Set(std::string_view algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - algo
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: Botan::PRNG_Unseeded::PRNG_Unseeded
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void PRNG_Unseeded::PRNG_Unseeded(std::string_view algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: Botan::Algorithm_Not_Found::Algorithm_Not_Found
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Algorithm_Not_Found::Algorithm_Not_Found(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: Botan::Provider_Not_Found::Provider_Not_Found
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Provider_Not_Found::Provider_Not_Found(std::string_view algo,
      std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: Botan::Invalid_Algorithm_Name::Invalid_Algorithm_Name
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Invalid_Algorithm_Name::Invalid_Algorithm_Name(std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: Botan::Encoding_Error::Encoding_Error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Encoding_Error::Encoding_Error(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: Botan::Decoding_Error::Decoding_Error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Decoding_Error::Decoding_Error(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - category
    - err
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: Botan::Decoding_Error::Decoding_Error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Decoding_Error::Decoding_Error(std::string_view category, std::string_view
      err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - msg
    - ' e'
    argTypes:
    - std::string_view
    - std::exception
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: Botan::Decoding_Error::Decoding_Error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Decoding_Error::Decoding_Error(std::string_view msg, const std::exception&
      e)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: Botan::Invalid_Authentication_Tag::Invalid_Authentication_Tag
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Invalid_Authentication_Tag::Invalid_Authentication_Tag(std::string_view
      msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - err
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: Botan::Stream_IO_Error::Stream_IO_Error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Stream_IO_Error::Stream_IO_Error(std::string_view err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/utils/exceptn.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - msg
    - err_code
    argTypes:
    - std::string_view
    - int
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: Botan::System_Error::System_Error
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 3
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void System_Error::System_Error(std::string_view msg, int err_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - err
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: Botan::Not_Implemented::Not_Implemented
    functionSourceFile: /src/botan/src/lib/utils/exceptn.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Not_Implemented::Not_Implemented(std::string_view err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_COMPILER_HAS_BUILTIN
      Src: /src/botan/src/lib/utils/prefetch.cpp:30,1
    - Dst: __builtin_prefetch
      Src: /src/botan/src/lib/utils/prefetch.cpp:32,1
    - Dst: Botan::ct_is_zero
      Src: /src/botan/src/lib/utils/prefetch.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bytes
    - arrayv
    argTypes:
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 44
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 44
    functionName: Botan::prefetch_array_raw
    functionSourceFile: /src/botan/src/lib/utils/prefetch.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_COMPILER_HAS_BUILTIN
    - __builtin_prefetch
    - Botan::ct_is_zero
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t prefetch_array_raw(size_t bytes, const void* arrayv) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: Botan::id
    functionSourceFile: /src/botan/src/lib/utils/data_src.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan::DataSource
    functionSourceFile: /src/botan/src/lib/utils/data_src.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataSource()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: ~DataSource()
    functionSourceFile: /src/botan/src/lib/utils/data_src.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DataSource()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan::DataSource
    functionSourceFile: /src/botan/src/lib/utils/data_src.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataSource(const DataSource&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan::DataSource
    functionSourceFile: /src/botan/src/lib/utils/data_src.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataSource(DataSource&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/utils/data_src.h:127,1
    - Dst: begin
      Src: /src/botan/src/lib/utils/data_src.h:133,1
    - Dst: end
      Src: /src/botan/src/lib/utils/data_src.h:133,1
    - Dst: begin
      Src: /src/botan/src/lib/utils/data_src.h:139,1
    - Dst: end
      Src: /src/botan/src/lib/utils/data_src.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 146
    functionName: DataSource
    functionSourceFile: /src/botan/src/lib/utils/data_src.h
    functionUses: 0
    functionsReached:
    - begin
    - std::move
    - end
    linkageType: ''
    returnType: DataSource_Memory
    signature: DataSource_Memory DataSource
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 185
    functionName: DataSource
    functionSourceFile: /src/botan/src/lib/utils/data_src.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DataSource_Stream
    signature: DataSource_Stream DataSource
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::secure_scrub_memory
      Src: /src/botan/src/lib/utils/mem_ops.h:61,1
    - Dst: Fuzzer_TLS_Client_Callbacks::tls_emit_data
      Src: /src/botan/src/lib/utils/mem_ops.h:61,1
    - Dst: Botan::ranges::size_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - ranges::contiguous_output_range auto
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: Botan::secure_scrub_memory
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 5
    functionsReached:
    - Fuzzer_TLS_Client_Callbacks::tls_emit_data
    - Botan::ranges::size_bytes
    - Botan::secure_scrub_memory
    linkageType: ''
    returnType: void
    signature: void secure_scrub_memory(ranges::contiguous_output_range auto&& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::constant_time_compare
      Src: /src/botan/src/lib/utils/mem_ops.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - len
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: Botan::constant_time_compare
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 2
    functionsReached:
    - Botan::constant_time_compare
    linkageType: ''
    returnType: bool
    signature: bool constant_time_compare(const uint8_t x[], const uint8_t y[], size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/botan/src/lib/utils/mem_ops.h:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - bytes
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: Botan::clear_bytes
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void clear_bytes(void* ptr, size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: Botan::clear_mem
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 19
    functionsReached:
    - Botan::clear_bytes
    linkageType: ''
    returnType: void
    signature: void clear_mem(T* ptr, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:138,1
    - Dst: Fuzzer_TLS_Client_Callbacks::tls_emit_data
      Src: /src/botan/src/lib/utils/mem_ops.h:138,1
    - Dst: Botan::ranges::size_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' mem'
    argTypes:
    - R
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: Botan::clear_mem
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 19
    functionsReached:
    - Fuzzer_TLS_Client_Callbacks::tls_emit_data
    - Botan::clear_bytes
    - Botan::ranges::size_bytes
    linkageType: ''
    returnType: void
    signature: "void clear_mem(R&& mem)  // NOLINT(*-missing-std-forward)\n   requires
      std::is_trivially_copyable_v<std::ranges::range_value_t<R>>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_IMPLICATION
      Src: /src/botan/src/lib/utils/mem_ops.h:150,1
    - Dst: std::memmove
      Src: /src/botan/src/lib/utils/mem_ops.h:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - out
    - in
    - n
    argTypes:
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: Botan::copy_mem
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 55
    functionsReached:
    - BOTAN_ASSERT_IMPLICATION
    - std::memmove
    linkageType: ''
    returnType: void
    signature: void copy_mem(T* out, const T* in, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ranges::assert_equal_byte_lengths
      Src: /src/botan/src/lib/utils/mem_ops.h:166,1
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/utils/mem_ops.h:167,1
    - Dst: Botan::copy
      Src: /src/botan/src/lib/utils/mem_ops.h:168,1
    - Dst: Botan::CRYSTALS::Polynomial::begin
      Src: /src/botan/src/lib/utils/mem_ops.h:168,1
    - Dst: Botan_Tests::MockChannel::send
      Src: /src/botan/src/lib/utils/mem_ops.h:168,1
    - Dst: Botan::CRYSTALS::Polynomial::begin
      Src: /src/botan/src/lib/utils/mem_ops.h:168,1
    - Dst: Botan::ranges::size_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:169,1
    - Dst: std::memmove
      Src: /src/botan/src/lib/utils/mem_ops.h:170,1
    - Dst: Fuzzer_TLS_Client_Callbacks::tls_emit_data
      Src: /src/botan/src/lib/utils/mem_ops.h:170,1
    - Dst: Fuzzer_TLS_Client_Callbacks::tls_emit_data
      Src: /src/botan/src/lib/utils/mem_ops.h:170,1
    - Dst: Botan::ranges::size_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - OutR
    - InR
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: Botan::copy_mem
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 55
    functionsReached:
    - Botan::ranges::size_bytes
    - Botan::ranges::assert_equal_byte_lengths
    - std::is_constant_evaluated
    - Fuzzer_TLS_Client_Callbacks::tls_emit_data
    - Botan::copy
    - Botan::CRYSTALS::Polynomial::begin
    - std::memmove
    - Botan_Tests::MockChannel::send
    linkageType: ''
    returnType: void
    signature: void copy_mem(OutR&& out /* NOLINT(*-std-forward) */, const InR& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ranges::assert_equal_byte_lengths
      Src: /src/botan/src/lib/utils/mem_ops.h:182,1
    - Dst: memcpy
      Src: /src/botan/src/lib/utils/mem_ops.h:183,1
    - Dst: Fuzzer_TLS_Client_Callbacks::tls_emit_data
      Src: /src/botan/src/lib/utils/mem_ops.h:183,1
    - Dst: Fuzzer_TLS_Client_Callbacks::tls_emit_data
      Src: /src/botan/src/lib/utils/mem_ops.h:183,1
    - Dst: Botan::ranges::size_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - ToR
    - FromR
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: Botan::typecast_copy
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 6
    functionsReached:
    - Fuzzer_TLS_Client_Callbacks::tls_emit_data
    - memcpy
    - Botan::ranges::assert_equal_byte_lengths
    - Botan::ranges::size_bytes
    linkageType: ''
    returnType: void
    signature: void typecast_copy(ToR&& out /* NOLINT(*-std-forward) */, const FromR&
      in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:194,1
    - Dst: std::span<ToT, 1>
      Src: /src/botan/src/lib/utils/mem_ops.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - ToT
    - FromR
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: Botan::typecast_copy
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 7
    functionsReached:
    - Botan::typecast_copy
    - std::span<ToT, 1>
    linkageType: ''
    returnType: void
    signature: void typecast_copy(ToT& out, const FromR& in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:205,1
    - Dst: std::span<const FromT, 1>
      Src: /src/botan/src/lib/utils/mem_ops.h:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - ToR
    - FromT
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: Botan::typecast_copy
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 8
    functionsReached:
    - Botan::typecast_copy
    - std::span<const FromT, 1>
    linkageType: ''
    returnType: void
    signature: void typecast_copy(ToR&& out /* NOLINT(*-std-forward) */, const FromT&
      in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' src'
    argTypes:
    - FromR
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: Botan::typecast_copy
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 9
    functionsReached:
    - Botan::typecast_copy
    linkageType: ''
    returnType: ToT
    signature: ToT typecast_copy(const FromR& src) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:227,1
    - Dst: std::span<uint8_t>
      Src: /src/botan/src/lib/utils/mem_ops.h:227,1
    - Dst: std::span<const T>
      Src: /src/botan/src/lib/utils/mem_ops.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - in
    - N
    argTypes:
    - uint8_t[]
    - T[]
    - size_t
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: Botan::typecast_copy
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 10
    functionsReached:
    - Botan::typecast_copy
    - std::span<const T>
    - std::span<uint8_t>
    linkageType: ''
    returnType: void
    signature: "void typecast_copy(uint8_t out[], T in[], size_t N)\n   requires std::is_trivially_copyable_v<T>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:236,1
    - Dst: std::span<T>
      Src: /src/botan/src/lib/utils/mem_ops.h:236,1
    - Dst: std::span<const uint8_t>
      Src: /src/botan/src/lib/utils/mem_ops.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - in
    - N
    argTypes:
    - T[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: Botan::typecast_copy
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 11
    functionsReached:
    - Botan::typecast_copy
    - std::span<const uint8_t>
    - std::span<T>
    linkageType: ''
    returnType: void
    signature: "void typecast_copy(T out[], const uint8_t in[], size_t N)\n   requires
      std::is_trivial_v<T>"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:243,1
    - Dst: std::span<uint8_t, sizeof(T)>
      Src: /src/botan/src/lib/utils/mem_ops.h:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - ' in'
    argTypes:
    - uint8_t[]
    - T
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: Botan::typecast_copy
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 12
    functionsReached:
    - Botan::typecast_copy
    - std::span<uint8_t, sizeof(T)>
    linkageType: ''
    returnType: void
    signature: void typecast_copy(uint8_t out[], const T& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:251,1
    - Dst: std::span<const uint8_t, sizeof(T)>
      Src: /src/botan/src/lib/utils/mem_ops.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - in
    argTypes:
    - T
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: Botan::typecast_copy
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 13
    functionsReached:
    - Botan::typecast_copy
    - std::span<const uint8_t, sizeof(T)>
    linkageType: ''
    returnType: void
    signature: void typecast_copy(T& out, const uint8_t in[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:259,1
    - Dst: std::span<const uint8_t, sizeof(To)>
      Src: /src/botan/src/lib/utils/mem_ops.h:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: Botan::typecast_copy
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 14
    functionsReached:
    - Botan::typecast_copy
    - std::span<const uint8_t, sizeof(To)>
    linkageType: ''
    returnType: To
    signature: To typecast_copy(const uint8_t src[]) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/botan/src/lib/utils/mem_ops.h:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ptr
    - n
    - val
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: Botan::set_mem
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void set_mem(uint8_t* ptr, size_t n, uint8_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/utils/mem_ops.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: Botan::cast_char_ptr_to_uint8
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 9
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * cast_char_ptr_to_uint8(const char* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/botan/src/lib/utils/mem_ops.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: Botan::cast_uint8_ptr_to_char
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: char
    signature: char * cast_uint8_ptr_to_char(const uint8_t* b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/mem_ops.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: Botan::cast_char_ptr_to_uint8
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 9
    functionsReached:
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * cast_char_ptr_to_uint8(char* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/lib/utils/mem_ops.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: Botan::cast_uint8_ptr_to_char
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: char
    signature: char * cast_uint8_ptr_to_char(uint8_t* b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p1
    - p2
    - n
    argTypes:
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: Botan::same_mem
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool same_mem(const T* p1, const T* p2, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/mem_ops.h:318,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/mem_ops.h:318,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/utils/mem_ops.h:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' buf'
    - buf_offset
    - input
    - input_length
    argTypes:
    - std::vector<T, Alloc>
    - size_t
    - T[]
    - size_t
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: Botan::buffer_insert
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 0
    functionsReached:
    - Botan::size
    - Botan::copy_mem
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: size_t buffer_insert(std::vector<T, Alloc>& buf, size_t buf_offset,
      const T input[], size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/mem_ops.h:329,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/mem_ops.h:329,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/utils/mem_ops.h:332,1
    - Dst: data
      Src: /src/botan/src/lib/utils/mem_ops.h:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' buf'
    - buf_offset
    - ' input'
    argTypes:
    - std::vector<T, Alloc>
    - size_t
    - std::vector<T, Alloc2>
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: Botan::buffer_insert
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 0
    functionsReached:
    - Botan::size
    - data
    - Botan::copy_mem
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: size_t buffer_insert(std::vector<T, Alloc>& buf, size_t buf_offset,
      const std::vector<T, Alloc2>& input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ranges::assert_equal_byte_lengths
      Src: /src/botan/src/lib/utils/mem_ops.h:346,1
    - Dst: std::span::size_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:351,1
    - Dst: std::span::subspan
      Src: /src/botan/src/lib/utils/mem_ops.h:351,1
    - Dst: std::span::subspan
      Src: /src/botan/src/lib/utils/mem_ops.h:351,1
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:352,1
    - Dst: std::span::template first<32>
      Src: /src/botan/src/lib/utils/mem_ops.h:352,1
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:353,1
    - Dst: std::span::template first<32>
      Src: /src/botan/src/lib/utils/mem_ops.h:353,1
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:360,1
    - Dst: std::span::template first<32>
      Src: /src/botan/src/lib/utils/mem_ops.h:360,1
    - Dst: std::span::size_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - ranges::contiguous_output_range<uint8_t> auto
    - ranges::contiguous_range<uint8_t> auto
    constantsTouched: []
    func_position:
      end: 366
      start: 344
    functionDepth: 4
    functionLinenumber: 344
    functionLinenumberEnd: 366
    functionName: Botan::xor_buf
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 11
    functionsReached:
    - Botan::ranges::assert_equal_byte_lengths
    - std::span::size_bytes
    - std::span::subspan
    - Botan::typecast_copy
    - std::span::template first<32>
    linkageType: ''
    returnType: void
    signature: "void xor_buf(ranges::contiguous_output_range<uint8_t> auto&& out,\n
      \                             ranges::contiguous_range<uint8_t> auto&& in)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ranges::assert_equal_byte_lengths
      Src: /src/botan/src/lib/utils/mem_ops.h:377,1
    - Dst: std::span::size_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:383,1
    - Dst: std::span::subspan
      Src: /src/botan/src/lib/utils/mem_ops.h:383,1
    - Dst: std::span::subspan
      Src: /src/botan/src/lib/utils/mem_ops.h:383,1
    - Dst: std::span::subspan
      Src: /src/botan/src/lib/utils/mem_ops.h:383,1
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:384,1
    - Dst: std::span::template first<32>
      Src: /src/botan/src/lib/utils/mem_ops.h:384,1
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:385,1
    - Dst: std::span::template first<32>
      Src: /src/botan/src/lib/utils/mem_ops.h:385,1
    - Dst: Botan::typecast_copy
      Src: /src/botan/src/lib/utils/mem_ops.h:392,1
    - Dst: std::span::template first<32>
      Src: /src/botan/src/lib/utils/mem_ops.h:392,1
    - Dst: std::span::size_bytes
      Src: /src/botan/src/lib/utils/mem_ops.h:395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' out'
    - ' in1'
    - ' in2'
    argTypes:
    - ranges::contiguous_output_range<uint8_t> auto
    - ranges::contiguous_range<uint8_t> auto
    - ranges::contiguous_range<uint8_t> auto
    constantsTouched: []
    func_position:
      end: 398
      start: 374
    functionDepth: 4
    functionLinenumber: 374
    functionLinenumberEnd: 398
    functionName: Botan::xor_buf
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 11
    functionsReached:
    - Botan::ranges::assert_equal_byte_lengths
    - std::span::size_bytes
    - std::span::subspan
    - Botan::typecast_copy
    - std::span::template first<32>
    linkageType: ''
    returnType: void
    signature: "void xor_buf(ranges::contiguous_output_range<uint8_t> auto&& out,\n
      \                             ranges::contiguous_range<uint8_t> auto&& in1,\n
      \                             ranges::contiguous_range<uint8_t> auto&& in2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/utils/mem_ops.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - in
    - length
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: Botan::xor_buf
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 12
    functionsReached:
    - Botan::xor_buf
    linkageType: ''
    returnType: void
    signature: void xor_buf(uint8_t out[], const uint8_t in[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/utils/mem_ops.h:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - in
    - in2
    - length
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: Botan::xor_buf
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 13
    functionsReached:
    - Botan::xor_buf
    linkageType: ''
    returnType: void
    signature: void xor_buf(uint8_t out[], const uint8_t in[], const uint8_t in2[],
      size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/mem_ops.h:425,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/utils/mem_ops.h:425,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/mem_ops.h:426,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/mem_ops.h:426,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/utils/mem_ops.h:427,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/utils/mem_ops.h:427,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/utils/mem_ops.h:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in
    - n
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: Botan::xor_buf
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 14
    functionsReached:
    - Botan::xor_buf
    - std::span<uint8_t>::size
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::first
    - std::span<uint8_t>::first
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void xor_buf(std::span<uint8_t> out, std::span<const uint8_t> in, size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/mem_ops.h:433,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/mem_ops.h:433,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/utils/mem_ops.h:435,1
    - Dst: first
      Src: /src/botan/src/lib/utils/mem_ops.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' out'
    - in
    - n
    argTypes:
    - std::vector<uint8_t, Alloc>
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: Botan::xor_buf
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 15
    functionsReached:
    - Botan::size
    - first
    - BOTAN_ARG_CHECK
    - Botan::xor_buf
    linkageType: ''
    returnType: void
    signature: void xor_buf(std::vector<uint8_t, Alloc>& out, const uint8_t* in, size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/mem_ops.h:441,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/mem_ops.h:441,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/mem_ops.h:442,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/mem_ops.h:442,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/utils/mem_ops.h:444,1
    - Dst: first
      Src: /src/botan/src/lib/utils/mem_ops.h:444,1
    - Dst: first
      Src: /src/botan/src/lib/utils/mem_ops.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' out'
    - in
    - ' in2'
    - n
    argTypes:
    - std::vector<uint8_t, Alloc>
    - uint8_t*
    - std::vector<uint8_t, Alloc2>
    - size_t
    constantsTouched: []
    func_position:
      end: 445
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 445
    functionName: Botan::xor_buf
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 16
    functionsReached:
    - Botan::size
    - first
    - BOTAN_ARG_CHECK
    - Botan::xor_buf
    linkageType: ''
    returnType: void
    signature: void xor_buf(std::vector<uint8_t, Alloc>& out, const uint8_t* in, const
      std::vector<uint8_t, Alloc2>& in2, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/mem_ops.h:449,1
    - Dst: size
      Src: /src/botan/src/lib/utils/mem_ops.h:449,1
    - Dst: resize
      Src: /src/botan/src/lib/utils/mem_ops.h:450,1
    - Dst: size
      Src: /src/botan/src/lib/utils/mem_ops.h:450,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/utils/mem_ops.h:453,1
    - Dst: first
      Src: /src/botan/src/lib/utils/mem_ops.h:453,1
    - Dst: size
      Src: /src/botan/src/lib/utils/mem_ops.h:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - std::vector<uint8_t, Alloc>
    - std::vector<uint8_t, Alloc2>
    constantsTouched: []
    func_position:
      end: 455
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 455
    functionName: '& operator^=(std::vector<uint8_t, Alloc>& out, const std::vector<uint8_t,
      Alloc2>& in)'
    functionSourceFile: /src/botan/src/lib/utils/mem_ops.h
    functionUses: 0
    functionsReached:
    - xor_buf
    - first
    - resize
    - size
    linkageType: ''
    returnType: std::vector<uint8_t, Alloc>
    signature: std::vector<uint8_t, Alloc> & operator^=(std::vector<uint8_t, Alloc>&
      out, const std::vector<uint8_t, Alloc2>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::detail::Strong_Base::Strong_Base
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Strong_Base()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan::detail::Strong_Base::Strong_Base
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Strong_Base(const Strong_Base&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Botan::detail::Strong_Base::Strong_Base
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Strong_Base(Strong_Base&&) noexcept
  - 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: '& operator=(const Strong_Base&)'
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Strong_Base
    signature: Strong_Base & operator=(const Strong_Base&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& operator=(Strong_Base&&) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Strong_Base
    signature: Strong_Base & operator=(Strong_Base&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~Strong_Base()
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Strong_Base()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/utils/strong_type.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Botan::detail::Strong_Base::Strong_Base
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Strong_Base(T v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& get() &'
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & get() &
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& get() const&'
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & get() const&
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/utils/strong_type.h:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&& get() &&'
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: T
    signature: T && get() &&
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/utils/strong_type.h:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '&& get() const&&'
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: T
    signature: T && get() const&&
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/botan/src/lib/utils/strong_type.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: Botan::detail::Container_Strong_Adapter_Base::Container_Strong_Adapter_Base
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - T
    linkageType: ''
    returnType: void
    signature: "void Container_Strong_Adapter_Base(size_t size)\n         requires(concepts::resizable_container<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/botan/src/lib/utils/strong_type.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - InputIt
    - InputIt
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Botan::detail::Container_Strong_Adapter_Base::Container_Strong_Adapter_Base
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - T
    linkageType: ''
    returnType: void
    signature: void Container_Strong_Adapter_Base(InputIt begin, InputIt end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:92,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:92,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan::detail::Container_Strong_Adapter_Base::begin
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) begin() noexcept(noexcept(this->get().begin()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:94,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:94,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Botan::detail::Container_Strong_Adapter_Base::begin
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) begin() const noexcept(noexcept(this->get().begin()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:96,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:96,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: Botan::detail::Container_Strong_Adapter_Base::end
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) end() noexcept(noexcept(this->get().end()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:98,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:98,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan::detail::Container_Strong_Adapter_Base::end
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) end() const noexcept(noexcept(this->get().end()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:100,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:100,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: Botan::detail::Container_Strong_Adapter_Base::cbegin
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) cbegin() noexcept(noexcept(this->get().cbegin()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:102,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:102,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan::detail::Container_Strong_Adapter_Base::cbegin
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) cbegin() const noexcept(noexcept(this->get().cbegin()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:104,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:104,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Botan::detail::Container_Strong_Adapter_Base::cend
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) cend() noexcept(noexcept(this->get().cend()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:106,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:106,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Botan::detail::Container_Strong_Adapter_Base::cend
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) cend() const noexcept(noexcept(this->get().cend()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:108,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:108,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: Botan::detail::Container_Strong_Adapter_Base::size
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: size_type
    signature: size_type size() const noexcept(noexcept(this->get().size()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:110,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:110,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: Botan::detail::Container_Strong_Adapter_Base::empty
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: bool
    signature: "bool empty() const noexcept(noexcept(this->get().empty()))\n         requires(concepts::has_empty<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:116,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:116,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: Botan::detail::Container_Strong_Adapter_Base::resize
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: void
    signature: "void resize(size_type size) noexcept(noexcept(this->get().resize(size)))\n
      \        requires(concepts::resizable_container<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:122,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:122,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: Botan::detail::Container_Strong_Adapter_Base::reserve
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    linkageType: ''
    returnType: void
    signature: "void reserve(size_type size) noexcept(noexcept(this->get().reserve(size)))\n
      \        requires(concepts::reservable_container<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:129,1
    - Dst: Botan::detail::get
      Src: /src/botan/src/lib/utils/strong_type.h:129,1
    - Dst: Botan::detail::get
      Src: /src/botan/src/lib/utils/strong_type.h:130,1
    - Dst: std::forward<U>
      Src: /src/botan/src/lib/utils/strong_type.h:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - U
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: operator[](U&& i) const noexcept(noexcept(this->get().operator[](i)))
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - std::forward<U>
    - Botan::detail::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator[](U&& i) const noexcept(noexcept(this->get().operator[](i)))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:134,1
    - Dst: Botan::detail::get
      Src: /src/botan/src/lib/utils/strong_type.h:134,1
    - Dst: Botan::detail::get
      Src: /src/botan/src/lib/utils/strong_type.h:135,1
    - Dst: std::forward<U>
      Src: /src/botan/src/lib/utils/strong_type.h:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - U
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: operator[](U&& i) noexcept(noexcept(this->get().operator[](i)))
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - std::forward<U>
    - Botan::detail::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator[](U&& i) noexcept(noexcept(this->get().operator[](i)))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:139,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:139,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:142,1
    - Dst: std::forward<U>
      Src: /src/botan/src/lib/utils/strong_type.h:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - U
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: Botan::detail::Container_Strong_Adapter_Base::at
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    - std::forward<U>
    linkageType: ''
    returnType: decltype(auto)
    signature: "decltype(auto) at(U&& i) const noexcept(noexcept(this->get().at(i)))\n
      \        requires(concepts::has_bounds_checked_accessors<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:146,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:146,1
    - Dst: Botan::detail::Container_Strong_Adapter_Base::get
      Src: /src/botan/src/lib/utils/strong_type.h:149,1
    - Dst: std::forward<U>
      Src: /src/botan/src/lib/utils/strong_type.h:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - U
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: Botan::detail::Container_Strong_Adapter_Base::at
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Container_Strong_Adapter_Base::get
    - std::forward<U>
    linkageType: ''
    returnType: decltype(auto)
    signature: "decltype(auto) at(U&& i) noexcept(noexcept(this->get().at(i)))\n         requires(concepts::has_bounds_checked_accessors<T>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/botan/src/lib/utils/strong_type.h:169,1
    - Dst: std::span<const typename Container_Strong_Adapter_Base<T>::value_type>::begin
      Src: /src/botan/src/lib/utils/strong_type.h:169,1
    - Dst: std::span<const typename Container_Strong_Adapter_Base<T>::value_type>::end
      Src: /src/botan/src/lib/utils/strong_type.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - span
    argTypes:
    - std::span<const typename Container_Strong_Adapter_Base<T>::value_type>
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: Botan::detail::Strong_Adapter<T>::Strong_Adapter
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - std::span<const typename Container_Strong_Adapter_Base<T>::value_type>::end
    - T
    - std::span<const typename Container_Strong_Adapter_Base<T>::value_type>::begin
    linkageType: ''
    returnType: void
    signature: void Strong_Adapter(std::span<const typename Container_Strong_Adapter_Base<T>::value_type>
      span)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/botan/src/lib/utils/strong_type.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: Botan::detail::Strong_Adapter<T>::Strong_Adapter
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: "void Strong_Adapter(const char* str)\n         requires(std::same_as<T,
      std::string>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:179,1
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/strong_type.h:179,1
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/strong_type.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: Botan::detail::Strong_Adapter<T>::data
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) data() noexcept(noexcept(this->get().data()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:181,1
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/strong_type.h:181,1
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/strong_type.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: Botan::detail::Strong_Adapter<T>::data
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) data() const noexcept(noexcept(this->get().data()))
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: Botan::Strong::has_capability
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_capability()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/botan/src/lib/utils/strong_type.h:227,1
    - Dst: std::forward<T>
      Src: /src/botan/src/lib/utils/strong_type.h:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: Botan::unwrap_strong_type
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 2
    functionsReached:
    - std::forward<T>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) unwrap_strong_type(T&& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<ParamT>
      Src: /src/botan/src/lib/utils/strong_type.h:252,1
    - Dst: std::forward<ParamT>
      Src: /src/botan/src/lib/utils/strong_type.h:255,1
    - Dst: std::forward<ParamT>
      Src: /src/botan/src/lib/utils/strong_type.h:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - ParamT
    constantsTouched: []
    func_position:
      end: 262
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 262
    functionName: Botan::wrap_strong_type
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 1
    functionsReached:
    - std::forward<ParamT>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) wrap_strong_type(ParamT&& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/utils/strong_type.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' v'
    argTypes:
    - std::ostream
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: operator<<(std::ostream& os, const Strong<T, Tags...>& v)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator<<(std::ostream& os, const Strong<T, Tags...>&
      v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:299,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: operator==(const Strong<T, Tags...>& lhs, const Strong<T, Tags...>&
      rhs)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Strong<T, Tags...>& lhs, const Strong<T, Tags...>&
      rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:305,1
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: operator<=>(const Strong<T, Tags...>& lhs, const Strong<T, Tags...>&
      rhs)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator<=>(const Strong<T, Tags...>& lhs, const Strong<T, Tags...>&
      rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: operator<=>(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator<=>(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: operator<=>(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator<=>(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: operator==(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator==(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: operator==(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator==(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:331,1
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: operator+(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>::get
    - Strong<T2, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator+(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:337,1
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 338
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 338
    functionName: operator+(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>
    - Strong<T1, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator+(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:342,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:342,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: operator+(Strong<T, Tags...> a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T, Tags...>
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator+(Strong<T, Tags...> a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:348,1
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: operator-(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>::get
    - Strong<T2, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator-(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:354,1
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: operator-(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>
    - Strong<T1, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator-(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:359,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:359,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: operator-(Strong<T, Tags...> a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T, Tags...>
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator-(Strong<T, Tags...> a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:365,1
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: operator*(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>::get
    - Strong<T2, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator*(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:371,1
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: operator*(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>
    - Strong<T1, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator*(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:376,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:376,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: operator*(Strong<T, Tags...> a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T, Tags...>
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator*(Strong<T, Tags...> a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:382,1
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: operator/(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>::get
    - Strong<T2, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator/(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:388,1
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: operator/(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>
    - Strong<T1, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator/(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:393,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:393,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 394
    functionName: operator/(Strong<T, Tags...> a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T, Tags...>
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator/(Strong<T, Tags...> a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:399,1
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: operator^(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>::get
    - Strong<T2, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator^(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:405,1
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: operator^(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>
    - Strong<T1, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator^(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:410,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:410,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: operator^(Strong<T, Tags...> a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T, Tags...>
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator^(Strong<T, Tags...> a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:416,1
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: operator&(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>::get
    - Strong<T2, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator&(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:422,1
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 423
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionName: operator&(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>
    - Strong<T1, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator&(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:427,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:427,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: operator&(Strong<T, Tags...> a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T, Tags...>
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator&(Strong<T, Tags...> a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:433,1
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: operator|(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>::get
    - Strong<T2, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator|(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:439,1
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 440
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 440
    functionName: operator|(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>
    - Strong<T1, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator|(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:444,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:444,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: operator|(Strong<T, Tags...> a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T, Tags...>
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator|(Strong<T, Tags...> a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:450,1
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: operator>>(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>::get
    - Strong<T2, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator>>(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:456,1
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 457
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 457
    functionName: operator>>(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>
    - Strong<T1, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator>>(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:461,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:461,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: operator>>(Strong<T, Tags...> a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T, Tags...>
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator>>(Strong<T, Tags...> a, Strong<T, Tags...>
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T2, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:467,1
    - Dst: Strong<T2, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T1
    - Strong<T2, Tags...>
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: operator<<(T1 a, Strong<T2, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T2, Tags...>::get
    - Strong<T2, Tags...>
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator<<(T1 a, Strong<T2, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T1, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:473,1
    - Dst: Strong<T1, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 474
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 474
    functionName: operator<<(Strong<T1, Tags...> a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T1, Tags...>
    - Strong<T1, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator<<(Strong<T1, Tags...> a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Strong<T, Tags...>
      Src: /src/botan/src/lib/utils/strong_type.h:478,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:478,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 479
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionName: operator<<(Strong<T, Tags...> a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Strong<T, Tags...>
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator<<(Strong<T, Tags...> a, Strong<T, Tags...>
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 486
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 486
    functionName: operator+=(Strong<T1, Tags...>& a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator+=(Strong<T1, Tags...>& a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:490,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: operator+=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator+=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: operator-=(Strong<T1, Tags...>& a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator-=(Strong<T1, Tags...>& a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:503,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: operator-=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator-=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: operator*=(Strong<T1, Tags...>& a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator*=(Strong<T1, Tags...>& a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:516,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: operator*=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator*=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: operator/=(Strong<T1, Tags...>& a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator/=(Strong<T1, Tags...>& a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:529,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: operator/=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator/=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: operator^=(Strong<T1, Tags...>& a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator^=(Strong<T1, Tags...>& a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:542,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: operator^=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator^=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 551
    functionName: operator&=(Strong<T1, Tags...>& a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator&=(Strong<T1, Tags...>& a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:555,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 557
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 557
    functionName: operator&=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator&=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 564
    functionName: operator|=(Strong<T1, Tags...>& a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator|=(Strong<T1, Tags...>& a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:568,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 570
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 570
    functionName: operator|=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator|=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 577
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 577
    functionName: operator>>=(Strong<T1, Tags...>& a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator>>=(Strong<T1, Tags...>& a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:581,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 583
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 583
    functionName: operator>>=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator>>=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T1, Tags...>
    - T2
    constantsTouched: []
    func_position:
      end: 590
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 590
    functionName: operator<<=(Strong<T1, Tags...>& a, T2 b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator<<=(Strong<T1, Tags...>& a, T2 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:594,1
    - Dst: Strong<T, Tags...>::get
      Src: /src/botan/src/lib/utils/strong_type.h:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Strong<T, Tags...>
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 596
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 596
    functionName: operator<<=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    - Strong<T, Tags...>::get
    linkageType: ''
    returnType: auto
    signature: auto operator<<=(Strong<T, Tags...>& a, Strong<T, Tags...> b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 603
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 603
    functionName: operator++(Strong<T, Tags...>& a, int)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator++(Strong<T, Tags...>& a, int)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: operator++(Strong<T, Tags...>& a)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator++(Strong<T, Tags...>& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 616
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 616
    functionName: operator--(Strong<T, Tags...>& a, int)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator--(Strong<T, Tags...>& a, int)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get
      Src: /src/botan/src/lib/utils/strong_type.h:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Strong<T, Tags...>
    constantsTouched: []
    func_position:
      end: 622
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 622
    functionName: operator--(Strong<T, Tags...>& a)
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::get
    linkageType: ''
    returnType: auto
    signature: auto operator--(Strong<T, Tags...>& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 651
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 651
    functionName: Botan::StrongSpan::StrongSpan
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrongSpan()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - span
    argTypes:
    - underlying_span
    constantsTouched: []
    func_position:
      end: 653
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 653
    functionName: Botan::StrongSpan::StrongSpan
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrongSpan(underlying_span span)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' strong'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 655
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 655
    functionName: Botan::StrongSpan::StrongSpan
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrongSpan(T& strong)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StrongSpan::get
      Src: /src/botan/src/lib/utils/strong_type.h:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StrongSpan<T2>
    constantsTouched: []
    func_position:
      end: 670
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 670
    functionName: Botan::StrongSpan::StrongSpan
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - Botan::StrongSpan::get
    linkageType: ''
    returnType: void
    signature: "void StrongSpan(const StrongSpan<T2>& other)\n         requires(std::is_same_v<T2,
      std::remove_const_t<T>>)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StrongSpan
    constantsTouched: []
    func_position:
      end: 672
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 672
    functionName: Botan::StrongSpan::StrongSpan
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrongSpan(const StrongSpan& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StrongSpan
    constantsTouched: []
    func_position:
      end: 673
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 673
    functionName: Botan::StrongSpan::StrongSpan
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrongSpan(StrongSpan&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StrongSpan
    constantsTouched: []
    func_position:
      end: 674
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 674
    functionName: '& operator=(const StrongSpan& other)'
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StrongSpan
    signature: StrongSpan & operator=(const StrongSpan& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StrongSpan
    constantsTouched: []
    func_position:
      end: 675
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 675
    functionName: '& operator=(StrongSpan&& other)'
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StrongSpan
    signature: StrongSpan & operator=(StrongSpan&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 677
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 677
    functionName: ~StrongSpan()
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StrongSpan()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 682
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 682
    functionName: Botan::StrongSpan::get
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: underlying_span
    signature: underlying_span get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 687
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 687
    functionName: Botan::StrongSpan::get
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: underlying_span
    signature: underlying_span get()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:689,1
    - Dst: Botan::StrongSpan::m_span::data
      Src: /src/botan/src/lib/utils/strong_type.h:689,1
    - Dst: Botan::StrongSpan::m_span::data
      Src: /src/botan/src/lib/utils/strong_type.h:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 689
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 689
    functionName: Botan::StrongSpan::data
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::StrongSpan::m_span::data
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) data() noexcept(noexcept(this->m_span.data()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:691,1
    - Dst: Botan::StrongSpan::m_span::data
      Src: /src/botan/src/lib/utils/strong_type.h:691,1
    - Dst: Botan::StrongSpan::m_span::data
      Src: /src/botan/src/lib/utils/strong_type.h:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 691
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 691
    functionName: Botan::StrongSpan::data
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::StrongSpan::m_span::data
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) data() const noexcept(noexcept(this->m_span.data()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:693,1
    - Dst: Botan::StrongSpan::m_span::size
      Src: /src/botan/src/lib/utils/strong_type.h:693,1
    - Dst: Botan::StrongSpan::m_span::size
      Src: /src/botan/src/lib/utils/strong_type.h:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 693
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 693
    functionName: Botan::StrongSpan::size
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::StrongSpan::m_span::size
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) size() const noexcept(noexcept(this->m_span.size()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:695,1
    - Dst: Botan::StrongSpan::m_span::empty
      Src: /src/botan/src/lib/utils/strong_type.h:695,1
    - Dst: Botan::StrongSpan::m_span::empty
      Src: /src/botan/src/lib/utils/strong_type.h:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 695
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 695
    functionName: Botan::StrongSpan::empty
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::StrongSpan::m_span::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const noexcept(noexcept(this->m_span.empty()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:697,1
    - Dst: Botan::StrongSpan::m_span::begin
      Src: /src/botan/src/lib/utils/strong_type.h:697,1
    - Dst: Botan::StrongSpan::m_span::begin
      Src: /src/botan/src/lib/utils/strong_type.h:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 697
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 697
    functionName: Botan::StrongSpan::begin
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::StrongSpan::m_span::begin
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) begin() noexcept(noexcept(this->m_span.begin()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:699,1
    - Dst: Botan::StrongSpan::m_span::begin
      Src: /src/botan/src/lib/utils/strong_type.h:699,1
    - Dst: Botan::StrongSpan::m_span::begin
      Src: /src/botan/src/lib/utils/strong_type.h:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 699
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 699
    functionName: Botan::StrongSpan::begin
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::StrongSpan::m_span::begin
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) begin() const noexcept(noexcept(this->m_span.begin()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:701,1
    - Dst: Botan::StrongSpan::m_span::end
      Src: /src/botan/src/lib/utils/strong_type.h:701,1
    - Dst: Botan::StrongSpan::m_span::end
      Src: /src/botan/src/lib/utils/strong_type.h:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 701
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 701
    functionName: Botan::StrongSpan::end
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::StrongSpan::m_span::end
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) end() noexcept(noexcept(this->m_span.end()))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/botan/src/lib/utils/strong_type.h:703,1
    - Dst: Botan::StrongSpan::m_span::end
      Src: /src/botan/src/lib/utils/strong_type.h:703,1
    - Dst: Botan::StrongSpan::m_span::end
      Src: /src/botan/src/lib/utils/strong_type.h:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 703
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 703
    functionName: Botan::StrongSpan::end
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached:
    - noexcept
    - Botan::StrongSpan::m_span::end
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) end() const noexcept(noexcept(this->m_span.end()))
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - typename underlying_span::size_type
    constantsTouched: []
    func_position:
      end: 705
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 705
    functionName: operator[](typename underlying_span::size_type i) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/strong_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: decltype(auto)
    signature: decltype(auto) operator[](typename underlying_span::size_type i) const
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::noop_mutex::lock
    functionSourceFile: /src/botan/src/lib/utils/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::noop_mutex::unlock
    functionSourceFile: /src/botan/src/lib/utils/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/botan/src/lib/utils/mutex.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - Mutex
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::lock_guard::lock_guard
    functionSourceFile: /src/botan/src/lib/utils/mutex.h
    functionUses: 0
    functionsReached:
    - lock
    linkageType: ''
    returnType: void
    signature: void lock_guard(Mutex& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::unlock
      Src: /src/botan/src/lib/utils/mutex.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ~lock_guard()
    functionSourceFile: /src/botan/src/lib/utils/mutex.h
    functionUses: 0
    functionsReached:
    - Botan::unlock
    linkageType: ''
    returnType: void
    signature: void ~lock_guard()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - lock_guard
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::lock_guard::lock_guard
    functionSourceFile: /src/botan/src/lib/utils/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lock_guard(const lock_guard& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - lock_guard
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& operator=(const lock_guard& other)'
    functionSourceFile: /src/botan/src/lib/utils/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: lock_guard
    signature: lock_guard & operator=(const lock_guard& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::gmtime_s
      Src: /src/botan/src/lib/utils/calendar.cpp:26,1
    - Dst: ::gmtime_r
      Src: /src/botan/src/lib/utils/calendar.cpp:28,1
    - Dst: std::gmtime
      Src: /src/botan/src/lib/utils/calendar.cpp:30,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/utils/calendar.cpp:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - time_val
    argTypes:
    - std::time_t
    constantsTouched: []
    func_position:
      end: 37
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 37
    functionName: Botan::do_gmtime
    functionSourceFile: /src/botan/src/lib/utils/calendar.cpp
    functionUses: 0
    functionsReached:
    - std::gmtime
    - ::gmtime_r
    - ::gmtime_s
    - Encoding_Error
    linkageType: ''
    returnType: std::tm
    signature: std::tm do_gmtime(std::time_t time_val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/calendar.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - year
    - month
    - day
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: Botan::days_since_epoch
    functionSourceFile: /src/botan/src/lib/utils/calendar.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t days_since_epoch(uint32_t year, uint32_t month, uint32_t day)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: days_since_epoch
      Src: /src/botan/src/lib/utils/calendar.cpp:64,1
    - Dst: year
      Src: /src/botan/src/lib/utils/calendar.cpp:64,1
    - Dst: month
      Src: /src/botan/src/lib/utils/calendar.cpp:64,1
    - Dst: day
      Src: /src/botan/src/lib/utils/calendar.cpp:64,1
    - Dst: hour
      Src: /src/botan/src/lib/utils/calendar.cpp:64,1
    - Dst: minutes
      Src: /src/botan/src/lib/utils/calendar.cpp:64,1
    - Dst: seconds
      Src: /src/botan/src/lib/utils/calendar.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::calendar_point::seconds_since_epoch
    functionSourceFile: /src/botan/src/lib/utils/calendar.cpp
    functionUses: 0
    functionsReached:
    - hour
    - day
    - minutes
    - days_since_epoch
    - seconds
    - year
    - month
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t calendar_point::seconds_since_epoch() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<time_t>
      Src: /src/botan/src/lib/utils/calendar.cpp:69,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/calendar.cpp:72,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/botan/src/lib/utils/calendar.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: Botan::calendar_point::to_std_timepoint
    functionSourceFile: /src/botan/src/lib/utils/calendar.cpp
    functionUses: 3
    functionsReached:
    - Invalid_Argument
    - std::chrono::system_clock::from_time_t
    - static_cast<time_t>
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point calendar_point::to_std_timepoint()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/botan/src/lib/utils/calendar.cpp:81,1
    - Dst: std::setw
      Src: /src/botan/src/lib/utils/calendar.cpp:81,1
    - Dst: year
      Src: /src/botan/src/lib/utils/calendar.cpp:81,1
    - Dst: std::setw
      Src: /src/botan/src/lib/utils/calendar.cpp:81,1
    - Dst: month
      Src: /src/botan/src/lib/utils/calendar.cpp:81,1
    - Dst: std::setw
      Src: /src/botan/src/lib/utils/calendar.cpp:81,1
    - Dst: day
      Src: /src/botan/src/lib/utils/calendar.cpp:82,1
    - Dst: std::setw
      Src: /src/botan/src/lib/utils/calendar.cpp:82,1
    - Dst: hour
      Src: /src/botan/src/lib/utils/calendar.cpp:82,1
    - Dst: std::setw
      Src: /src/botan/src/lib/utils/calendar.cpp:82,1
    - Dst: minutes
      Src: /src/botan/src/lib/utils/calendar.cpp:82,1
    - Dst: std::setw
      Src: /src/botan/src/lib/utils/calendar.cpp:82,1
    - Dst: seconds
      Src: /src/botan/src/lib/utils/calendar.cpp:83,1
    - Dst: std::stringstream::str
      Src: /src/botan/src/lib/utils/calendar.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: Botan::calendar_point::to_string
    functionSourceFile: /src/botan/src/lib/utils/calendar.cpp
    functionUses: 1
    functionsReached:
    - hour
    - day
    - std::setfill
    - minutes
    - std::stringstream::str
    - seconds
    - year
    - std::setw
    - month
    linkageType: ''
    returnType: std::string
    signature: std::string calendar_point::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_gmtime
      Src: /src/botan/src/lib/utils/calendar.cpp:88,1
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/botan/src/lib/utils/calendar.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' time_point'
    argTypes:
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: Botan::calendar_point::calendar_point
    functionSourceFile: /src/botan/src/lib/utils/calendar.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::system_clock::to_time_t
    - do_gmtime
    linkageType: ''
    returnType: void
    signature: void calendar_point::calendar_point(const std::chrono::system_clock::time_point&
      time_point)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::encode
      Src: /src/botan/src/lib/utils/codec_base.h:47,1
    - Dst: Botan::encode
      Src: /src/botan/src/lib/utils/codec_base.h:60,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/utils/codec_base.h:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - ' base'
    - output
    - input
    - input_length
    - ' input_consumed'
    - final_inputs
    argTypes:
    - Base
    - char[]
    - uint8_t[]
    - size_t
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 77
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 77
    functionName: Botan::base_encode
    functionSourceFile: /src/botan/src/lib/utils/codec_base.h
    functionUses: 0
    functionsReached:
    - Botan::encode
    - std::array::data
    linkageType: ''
    returnType: size_t
    signature: "size_t base_encode(\n   Base&& base, char output[], const uint8_t
      input[], size_t input_length, size_t& input_consumed, bool final_inputs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_encode
      Src: /src/botan/src/lib/utils/codec_base.h:88,1
    - Dst: std::string::front
      Src: /src/botan/src/lib/utils/codec_base.h:88,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/utils/codec_base.h:91,1
    - Dst: BOTAN_ASSERT_EQUAL
      Src: /src/botan/src/lib/utils/codec_base.h:92,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/codec_base.h:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' base'
    - input
    - input_length
    argTypes:
    - Base
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: Botan::base_encode_to_string
    functionSourceFile: /src/botan/src/lib/utils/codec_base.h
    functionUses: 0
    functionsReached:
    - std::string::front
    - Botan::base_encode
    - BOTAN_ASSERT_EQUAL
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string base_encode_to_string(Base&& base, const uint8_t input[],
      size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/utils/codec_base.h:130,1
    - Dst: decode_max_output
      Src: /src/botan/src/lib/utils/codec_base.h:130,1
    - Dst: check_bad_char
      Src: /src/botan/src/lib/utils/codec_base.h:136,1
    - Dst: decode
      Src: /src/botan/src/lib/utils/codec_base.h:156,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/utils/codec_base.h:156,1
    - Dst: lookup_binary_value
      Src: /src/botan/src/lib/utils/codec_base.h:164,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 6
    argNames:
    - ' base'
    - output
    - input
    - input_length
    - ' input_consumed'
    - final_inputs
    argTypes:
    - Base
    - uint8_t[]
    - char[]
    - size_t
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 171
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 171
    functionName: Botan::base_decode
    functionSourceFile: /src/botan/src/lib/utils/codec_base.h
    functionUses: 0
    functionsReached:
    - std::array::data
    - decode
    - Botan::clear_mem
    - check_bad_char
    - decode_max_output
    - lookup_binary_value
    linkageType: ''
    returnType: size_t
    signature: "size_t base_decode(Base&& base,\n                   uint8_t output[],\n
      \                  const char input[],\n                   size_t input_length,\n
      \                  size_t& input_consumed,\n                   bool final_inputs,\n
      \                  bool ignore_ws = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/codec_base.h:179,1
    - Dst: Botan::name
      Src: /src/botan/src/lib/utils/codec_base.h:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - ' base'
    - output
    - input
    - input_length
    - ignore_ws
    argTypes:
    - Base
    - uint8_t[]
    - char[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: Botan::base_decode_full
    functionSourceFile: /src/botan/src/lib/utils/codec_base.h
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - Botan::name
    linkageType: ''
    returnType: size_t
    signature: size_t base_decode_full(Base&& base, uint8_t output[], const char input[],
      size_t input_length, bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vector::resize
      Src: /src/botan/src/lib/utils/codec_base.h:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - ' base'
    - input
    - input_length
    - ignore_ws
    argTypes:
    - Base
    - char[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: Botan::base_decode_to_vec
    functionSourceFile: /src/botan/src/lib/utils/codec_base.h
    functionUses: 0
    functionsReached:
    - Vector::resize
    linkageType: ''
    returnType: Vector
    signature: Vector base_decode_to_vec(Base&& base, const char input[], size_t input_length,
      bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/ct_utils.cpp:20,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/utils/ct_utils.cpp:20,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ct_utils.cpp:20,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/utils/ct_utils.cpp:28,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/utils/ct_utils.cpp:33,1
    - Dst: Botan::CT::Mask::is_lte
      Src: /src/botan/src/lib/utils/ct_utils.cpp:41,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ct_utils.cpp:41,1
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/utils/ct_utils.cpp:46,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ct_utils.cpp:46,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ct_utils.cpp:52,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ct_utils.cpp:69,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/utils/ct_utils.cpp:71,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/utils/ct_utils.cpp:72,1
    - Dst: Botan::CT::unpoison_all
      Src: /src/botan/src/lib/utils/ct_utils.cpp:79,1
    - Dst: CT::Option<size_t>
      Src: /src/botan/src/lib/utils/ct_utils.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - accept
    - output
    - input
    - offset
    argTypes:
    - CT::Choice
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 13
    functionDepth: 5
    functionLinenumber: 13
    functionLinenumberEnd: 82
    functionName: Botan::CT::copy_output
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.cpp
    functionUses: 1
    functionsReached:
    - Botan::CT::unpoison_all
    - clear_mem
    - auto::if_set_return
    - std::span<uint8_t>::size
    - Botan::BigInt::is_equal
    - Botan::CT::Mask::from_choice
    - Botan::CT::poison
    - std::span<const uint8_t>::size
    - Botan::CT::Mask::is_lte
    - BOTAN_ARG_CHECK
    - CT::Option<size_t>
    linkageType: ''
    returnType: CT::Option<size_t>
    signature: "CT::Option<size_t> CT::copy_output(CT::Choice accept,\n                                   std::span<uint8_t>
      output,\n                                   std::span<const uint8_t> input,\n
      \                                  size_t offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_other_key_not_set
      Src: /src/botan/src/lib/utils/ct_utils.cpp:86,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ct_utils.cpp:87,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/utils/ct_utils.cpp:88,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/utils/ct_utils.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: Botan::CT::count_leading_zero_bytes
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::size
    - Botan::Sodium::sodium_is_zero
    - auto::if_set_return
    - Botan_Tests::test_other_key_not_set
    linkageType: ''
    returnType: size_t
    signature: size_t CT::count_leading_zero_bytes(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ct_utils.cpp:97,1
    - Dst: Botan::CT::copy_output
      Src: /src/botan/src/lib/utils/ct_utils.cpp:99,1
    - Dst: Botan::CT::Choice::yes
      Src: /src/botan/src/lib/utils/ct_utils.cpp:99,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/utils/ct_utils.cpp:106,1
    - Dst: auto::value_or
      Src: /src/botan/src/lib/utils/ct_utils.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 109
      start: 94
    functionDepth: 6
    functionLinenumber: 94
    functionLinenumberEnd: 109
    functionName: Botan::CT::strip_leading_zeros
    functionSourceFile: /src/botan/src/lib/utils/ct_utils.cpp
    functionUses: 2
    functionsReached:
    - auto::value_or
    - Botan::CT::copy_output
    - Botan::CT::Choice::yes
    - std::span<const uint8_t>::size
    - secure_vector::resize
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> CT::strip_leading_zeros(std::span<const uint8_t>
      input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::RtlSecureZeroMemory
      Src: /src/botan/src/lib/utils/mem_utils.cpp:26,1
    - Dst: ::explicit_bzero
      Src: /src/botan/src/lib/utils/mem_utils.cpp:29,1
    - Dst: ::explicit_memset
      Src: /src/botan/src/lib/utils/mem_utils.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 54
    functionName: Botan::secure_scrub_memory
    functionSourceFile: /src/botan/src/lib/utils/mem_utils.cpp
    functionUses: 5
    functionsReached:
    - ::RtlSecureZeroMemory
    - ::explicit_bzero
    - ::explicit_memset
    linkageType: ''
    returnType: void
    signature: void secure_scrub_memory(void* ptr, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_COMPILER_HAS_BUILTIN
      Src: /src/botan/src/lib/utils/bswap.h:31,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bswap.h:32,1
    - Dst: __builtin_bswap16
      Src: /src/botan/src/lib/utils/bswap.h:32,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bswap.h:34,1
    - Dst: BOTAN_COMPILER_HAS_BUILTIN
      Src: /src/botan/src/lib/utils/bswap.h:37,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bswap.h:38,1
    - Dst: __builtin_bswap32
      Src: /src/botan/src/lib/utils/bswap.h:38,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bswap.h:41,1
    - Dst: BOTAN_COMPILER_HAS_BUILTIN
      Src: /src/botan/src/lib/utils/bswap.h:45,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bswap.h:46,1
    - Dst: __builtin_bswap64
      Src: /src/botan/src/lib/utils/bswap.h:46,1
    - Dst: Botan::reverse_bytes
      Src: /src/botan/src/lib/utils/bswap.h:51,1
    - Dst: Botan::reverse_bytes
      Src: /src/botan/src/lib/utils/bswap.h:52,1
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bswap.h:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 57
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 57
    functionName: Botan::reverse_bytes
    functionSourceFile: /src/botan/src/lib/utils/bswap.h
    functionUses: 5
    functionsReached:
    - BOTAN_COMPILER_HAS_BUILTIN
    - static_cast<T>
    - __builtin_bswap16
    - Botan::reverse_bytes
    - __builtin_bswap32
    - __builtin_bswap64
    linkageType: ''
    returnType: T
    signature: T reverse_bytes(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 87
    functionName: Botan::calendar_point
    functionSourceFile: /src/botan/src/lib/utils/calendar.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API calendar_point
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/utils/loadstor.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - byte_num
    - input
    argTypes:
    - size_t
    - T
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan::get_byte_var
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 1
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t get_byte_var(size_t byte_num, T input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/utils/loadstor.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: Botan::get_byte
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 7
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t get_byte(T input)\n   requires(B < sizeof(T))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/utils/loadstor.h:93,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/utils/loadstor.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i0
    - i1
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: Botan::make_uint16
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 6
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t make_uint16(uint8_t i0, uint8_t i1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/loadstor.h:105,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/loadstor.h:105,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/loadstor.h:105,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/loadstor.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - i0
    - i1
    - i2
    - i3
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: Botan::make_uint32
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 3
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t make_uint32(uint8_t i0, uint8_t i1, uint8_t i2, uint8_t i3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/loadstor.h:123,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/loadstor.h:123,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/loadstor.h:123,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/loadstor.h:124,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/loadstor.h:124,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/loadstor.h:124,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/loadstor.h:125,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/loadstor.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - i0
    - i1
    - i2
    - i3
    - i4
    - i5
    - i6
    - i7
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: Botan::make_uint64
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 1
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t make_uint64(\n   uint8_t i0, uint8_t i1, uint8_t i2, uint8_t
      i3, uint8_t i4, uint8_t i5, uint8_t i6, uint8_t i7)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - endianness
    argTypes:
    - std::endian
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: Botan::detail::opposite
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::endian
    signature: std::endian opposite(std::endian endianness)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::underlying_type_t<InT>>
      Src: /src/botan/src/lib/utils/loadstor.h:193,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/lib/utils/loadstor.h:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - InT
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: Botan::detail::unwrap_strong_type_or_enum
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 0
    functionsReached:
    - static_cast<std::underlying_type_t<InT>>
    - Botan::unwrap_strong_type
    linkageType: ''
    returnType: auto
    signature: auto unwrap_strong_type_or_enum(InT t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:202,1
    - Dst: Botan::wrap_strong_type<OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: Botan::detail::wrap_strong_type_or_enum
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 0
    functionsReached:
    - Botan::wrap_strong_type<OutT>
    - static_cast<OutT>
    linkageType: ''
    returnType: auto
    signature: auto wrap_strong_type_or_enum(T t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:219,1
    - Dst: static_cast<OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:219,1
    - Dst: std::make_index_sequence<sizeof(OutT)>
      Src: /src/botan/src/lib/utils/loadstor.h:220,1
    - Dst: static_cast<OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:224,1
    - Dst: static_cast<OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:224,1
    - Dst: std::make_index_sequence<sizeof(OutT)>
      Src: /src/botan/src/lib/utils/loadstor.h:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' in_range'
    argTypes:
    - InR
    constantsTouched: []
    func_position:
      end: 228
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 228
    functionName: Botan::detail::fallback_load_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 0
    functionsReached:
    - static_cast<OutT>
    - std::make_index_sequence<sizeof(OutT)>
    linkageType: ''
    returnType: OutT
    signature: OutT fallback_load_any(const InR& in_range)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_byte<i>
      Src: /src/botan/src/lib/utils/loadstor.h:241,1
    - Dst: std::make_index_sequence<sizeof(InT)>
      Src: /src/botan/src/lib/utils/loadstor.h:242,1
    - Dst: get_byte<sizeof(InT) - i - 1>
      Src: /src/botan/src/lib/utils/loadstor.h:246,1
    - Dst: std::make_index_sequence<sizeof(InT)>
      Src: /src/botan/src/lib/utils/loadstor.h:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - in
    - ' out_range'
    argTypes:
    - InT
    - OutR
    constantsTouched: []
    func_position:
      end: 250
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 250
    functionName: Botan::detail::fallback_store_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 0
    functionsReached:
    - std::make_index_sequence<sizeof(InT)>
    - get_byte<i>
    - get_byte<sizeof(InT) - i - 1>
    linkageType: ''
    returnType: void
    signature: void fallback_store_any(InT in, OutR&& out_range /* NOLINT(*-std-forward)
      */)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ranges::assert_exact_byte_length<sizeof(OutT)>
      Src: /src/botan/src/lib/utils/loadstor.h:280,1
    - Dst: detail::wrap_strong_type_or_enum<WrappedOutT>
      Src: /src/botan/src/lib/utils/loadstor.h:282,1
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/utils/loadstor.h:286,1
    - Dst: Botan::detail::fallback_load_any
      Src: /src/botan/src/lib/utils/loadstor.h:287,1
    - Dst: std::forward<InR>
      Src: /src/botan/src/lib/utils/loadstor.h:287,1
    - Dst: static_cast<OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:291,1
    - Dst: typecast_copy<OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:293,1
    - Dst: Botan::detail::opposite
      Src: /src/botan/src/lib/utils/loadstor.h:295,1
    - Dst: reverse_bytes
      Src: /src/botan/src/lib/utils/loadstor.h:296,1
    - Dst: typecast_copy<OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' in_range'
    argTypes:
    - InR
    constantsTouched: []
    func_position:
      end: 300
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 300
    functionName: Botan::detail::load_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 0
    functionsReached:
    - ranges::assert_exact_byte_length<sizeof(OutT)>
    - detail::wrap_strong_type_or_enum<WrappedOutT>
    - std::is_constant_evaluated
    - Botan::detail::fallback_load_any
    - typecast_copy<OutT>
    - static_cast<OutT>
    - std::forward<InR>
    - Botan::detail::opposite
    - reverse_bytes
    linkageType: ''
    returnType: WrappedOutT
    signature: WrappedOutT load_any(InR&& in_range)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ranges::assert_exact_byte_length<sizeof(OutT)>
      Src: /src/botan/src/lib/utils/loadstor.h:315,1
    - Dst: wrap_strong_type<WrappedOutT>
      Src: /src/botan/src/lib/utils/loadstor.h:318,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_load_be
      Src: /src/botan/src/lib/utils/loadstor.h:318,1
    - Dst: wrap_strong_type<WrappedOutT>
      Src: /src/botan/src/lib/utils/loadstor.h:320,1
    - Dst: Botan_Tests::Utility_Function_Tests::fb_load_le
      Src: /src/botan/src/lib/utils/loadstor.h:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' in_range'
    argTypes:
    - InR
    constantsTouched: []
    func_position:
      end: 322
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 322
    functionName: Botan::detail::load_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 0
    functionsReached:
    - ranges::assert_exact_byte_length<sizeof(OutT)>
    - Botan_Tests::Utility_Function_Tests::fb_load_be
    - wrap_strong_type<WrappedOutT>
    - Botan_Tests::Utility_Function_Tests::fb_load_le
    linkageType: ''
    returnType: WrappedOutT
    signature: WrappedOutT load_any(const InR& in_range)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ranges::assert_exact_byte_length<(sizeof(Ts) + ...)>
      Src: /src/botan/src/lib/utils/loadstor.h:333,1
    - Dst: Botan::detail::load_any
      Src: /src/botan/src/lib/utils/loadstor.h:335,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/loadstor.h:335,1
    - Dst: load_one
      Src: /src/botan/src/lib/utils/loadstor.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - InR
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: Botan::detail::load_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 1
    functionsReached:
    - Botan::detail::load_any
    - ranges::assert_exact_byte_length<(sizeof(Ts) + ...)>
    - subspan
    - load_one
    linkageType: ''
    returnType: void
    signature: void load_any(const InR& in, Ts&... outs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ranges::assert_equal_byte_lengths
      Src: /src/botan/src/lib/utils/loadstor.h:356,1
    - Dst: Botan::detail::load_any
      Src: /src/botan/src/lib/utils/loadstor.h:363,1
    - Dst: std::span::template first<bytes_per_element>
      Src: /src/botan/src/lib/utils/loadstor.h:363,1
    - Dst: std::span::subspan
      Src: /src/botan/src/lib/utils/loadstor.h:364,1
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/utils/loadstor.h:371,1
    - Dst: load_elementwise
      Src: /src/botan/src/lib/utils/loadstor.h:372,1
    - Dst: typecast_copy
      Src: /src/botan/src/lib/utils/loadstor.h:375,1
    - Dst: load_elementwise
      Src: /src/botan/src/lib/utils/loadstor.h:377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - OutR
    - InR
    constantsTouched: []
    func_position:
      end: 380
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 380
    functionName: Botan::detail::load_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 2
    functionsReached:
    - Botan::ranges::assert_equal_byte_lengths
    - std::span::subspan
    - typecast_copy
    - std::is_constant_evaluated
    - load_elementwise
    - Botan::detail::load_any
    - std::span::template first<bytes_per_element>
    linkageType: ''
    returnType: void
    signature: void load_any(OutR&& out /* NOLINT(*-std-forward) */, const InR& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/loadstor.h:424,1
    - Dst: OutT
      Src: /src/botan/src/lib/utils/loadstor.h:426,1
    - Dst: Botan::detail::load_any
      Src: /src/botan/src/lib/utils/loadstor.h:434,1
    - Dst: std::forward<InR>
      Src: /src/botan/src/lib/utils/loadstor.h:434,1
    - Dst: Botan::detail::load_any
      Src: /src/botan/src/lib/utils/loadstor.h:438,1
    - Dst: std::forward<InR>
      Src: /src/botan/src/lib/utils/loadstor.h:438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - ' in_range'
    argTypes:
    - InR
    constantsTouched: []
    func_position:
      end: 441
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 441
    functionName: Botan::detail::load_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 3
    functionsReached:
    - Botan::detail::load_any
    - std::forward<InR>
    - OutT
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: auto
    signature: auto load_any(InR&& in_range)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::load_any
      Src: /src/botan/src/lib/utils/loadstor.h:457,1
    - Dst: std::span<const uint8_t, out_size>
      Src: /src/botan/src/lib/utils/loadstor.h:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - 'off'
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 458
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: Botan::detail::load_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 4
    functionsReached:
    - Botan::detail::load_any
    - std::span<const uint8_t, out_size>
    linkageType: ''
    returnType: OutT
    signature: OutT load_any(const uint8_t in[], size_t off)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::load_any
      Src: /src/botan/src/lib/utils/loadstor.h:472,1
    - Dst: std::span<const uint8_t, bytes>
      Src: /src/botan/src/lib/utils/loadstor.h:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: Botan::detail::load_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 5
    functionsReached:
    - Botan::detail::load_any
    - std::span<const uint8_t, bytes>
    linkageType: ''
    returnType: void
    signature: void load_any(const uint8_t in[], Ts&... outs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::load_any
      Src: /src/botan/src/lib/utils/loadstor.h:485,1
    - Dst: std::span<T>
      Src: /src/botan/src/lib/utils/loadstor.h:485,1
    - Dst: std::span<const uint8_t>
      Src: /src/botan/src/lib/utils/loadstor.h:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - in
    - count
    argTypes:
    - T[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 486
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 486
    functionName: Botan::detail::load_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 6
    functionsReached:
    - Botan::detail::load_any
    - std::span<const uint8_t>
    - std::span<T>
    linkageType: ''
    returnType: void
    signature: void load_any(T out[], const uint8_t in[], size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::load_any<std::endian::little, OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:496,1
    - Dst: std::forward<ParamTs>
      Src: /src/botan/src/lib/utils/loadstor.h:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: Botan::load_le
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 9
    functionsReached:
    - std::forward<ParamTs>
    - detail::load_any<std::endian::little, OutT>
    linkageType: ''
    returnType: auto
    signature: auto load_le(ParamTs&&... params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::load_any<std::endian::big, OutT>
      Src: /src/botan/src/lib/utils/loadstor.h:505,1
    - Dst: std::forward<ParamTs>
      Src: /src/botan/src/lib/utils/loadstor.h:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 506
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 506
    functionName: Botan::load_be
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 19
    functionsReached:
    - std::forward<ParamTs>
    - detail::load_any<std::endian::big, OutT>
    linkageType: ''
    returnType: auto
    signature: auto load_be(ParamTs&&... params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::unwrap_strong_type_or_enum
      Src: /src/botan/src/lib/utils/loadstor.h:526,1
    - Dst: ranges::assert_exact_byte_length<sizeof(in)>
      Src: /src/botan/src/lib/utils/loadstor.h:528,1
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/utils/loadstor.h:534,1
    - Dst: Botan::detail::fallback_store_any
      Src: /src/botan/src/lib/utils/loadstor.h:535,1
    - Dst: std::forward<OutR>
      Src: /src/botan/src/lib/utils/loadstor.h:535,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/utils/loadstor.h:538,1
    - Dst: typecast_copy
      Src: /src/botan/src/lib/utils/loadstor.h:540,1
    - Dst: Botan::detail::opposite
      Src: /src/botan/src/lib/utils/loadstor.h:542,1
    - Dst: typecast_copy
      Src: /src/botan/src/lib/utils/loadstor.h:543,1
    - Dst: reverse_bytes
      Src: /src/botan/src/lib/utils/loadstor.h:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - wrapped_in
    - ' out_range'
    argTypes:
    - WrappedInT
    - OutR
    constantsTouched: []
    func_position:
      end: 546
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 546
    functionName: Botan::detail::store_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 0
    functionsReached:
    - Botan::detail::fallback_store_any
    - reverse_bytes
    - typecast_copy
    - std::forward<OutR>
    - Botan::detail::opposite
    - std::is_constant_evaluated
    - static_cast<uint8_t>
    - ranges::assert_exact_byte_length<sizeof(in)>
    - Botan::detail::unwrap_strong_type_or_enum
    linkageType: ''
    returnType: void
    signature: void store_any(WrappedInT wrapped_in, OutR&& out_range)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::unwrap_strong_type_or_enum
      Src: /src/botan/src/lib/utils/loadstor.h:560,1
    - Dst: ranges::assert_exact_byte_length<sizeof(in)>
      Src: /src/botan/src/lib/utils/loadstor.h:562,1
    - Dst: auto::store_be
      Src: /src/botan/src/lib/utils/loadstor.h:565,1
    - Dst: auto::store_le
      Src: /src/botan/src/lib/utils/loadstor.h:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - wrapped_in
    - ' out_range'
    argTypes:
    - WrappedInT
    - OutR
    constantsTouched: []
    func_position:
      end: 569
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 569
    functionName: Botan::detail::store_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 0
    functionsReached:
    - auto::store_le
    - auto::store_be
    - ranges::assert_exact_byte_length<sizeof(in)>
    - Botan::detail::unwrap_strong_type_or_enum
    linkageType: ''
    returnType: void
    signature: void store_any(WrappedInT wrapped_in, const OutR& out_range)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ranges::assert_exact_byte_length<(sizeof(Ts) + ...)>
      Src: /src/botan/src/lib/utils/loadstor.h:583,1
    - Dst: Botan::detail::store_any
      Src: /src/botan/src/lib/utils/loadstor.h:585,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/loadstor.h:585,1
    - Dst: store_one
      Src: /src/botan/src/lib/utils/loadstor.h:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - OutR
    constantsTouched: []
    func_position:
      end: 590
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 590
    functionName: Botan::detail::store_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 1
    functionsReached:
    - store_one
    - ranges::assert_exact_byte_length<(sizeof(Ts) + ...)>
    - subspan
    - Botan::detail::store_any
    linkageType: ''
    returnType: void
    signature: void store_any(OutR&& out /* NOLINT(*-std-forward) */, Ts... ins)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ranges::assert_equal_byte_lengths
      Src: /src/botan/src/lib/utils/loadstor.h:604,1
    - Dst: Botan::detail::store_any
      Src: /src/botan/src/lib/utils/loadstor.h:611,1
    - Dst: std::span::template first<bytes_per_element>
      Src: /src/botan/src/lib/utils/loadstor.h:611,1
    - Dst: std::span::subspan
      Src: /src/botan/src/lib/utils/loadstor.h:612,1
    - Dst: std::is_constant_evaluated
      Src: /src/botan/src/lib/utils/loadstor.h:619,1
    - Dst: store_elementwise
      Src: /src/botan/src/lib/utils/loadstor.h:620,1
    - Dst: typecast_copy
      Src: /src/botan/src/lib/utils/loadstor.h:623,1
    - Dst: store_elementwise
      Src: /src/botan/src/lib/utils/loadstor.h:625,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - OutR
    - InR
    constantsTouched: []
    func_position:
      end: 628
      start: 603
    functionDepth: 3
    functionLinenumber: 603
    functionLinenumberEnd: 628
    functionName: Botan::detail::store_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 2
    functionsReached:
    - Botan::ranges::assert_equal_byte_lengths
    - std::span::subspan
    - typecast_copy
    - store_elementwise
    - std::is_constant_evaluated
    - Botan::detail::store_any
    - std::span::template first<bytes_per_element>
    linkageType: ''
    returnType: void
    signature: void store_any(OutR&& out /* NOLINT(*-std-forward) */, const InR& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::store_any
      Src: /src/botan/src/lib/utils/loadstor.h:647,1
    - Dst: std::forward<OutR>
      Src: /src/botan/src/lib/utils/loadstor.h:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - in
    - ' out_range'
    argTypes:
    - T
    - OutR
    constantsTouched: []
    func_position:
      end: 648
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 648
    functionName: Botan::detail::store_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 3
    functionsReached:
    - std::forward<OutR>
    - Botan::detail::store_any
    linkageType: ''
    returnType: void
    signature: void store_any(T in, OutR&& out_range)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::array<uint8_t, bytes>
      Src: /src/botan/src/lib/utils/loadstor.h:668,1
    - Dst: OutR
      Src: /src/botan/src/lib/utils/loadstor.h:675,1
    - Dst: size_bytes
      Src: /src/botan/src/lib/utils/loadstor.h:675,1
    - Dst: Botan::detail::store_any
      Src: /src/botan/src/lib/utils/loadstor.h:681,1
    - Dst: std::forward<InR>
      Src: /src/botan/src/lib/utils/loadstor.h:681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' in_range'
    argTypes:
    - InR
    constantsTouched: []
    func_position:
      end: 683
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 683
    functionName: Botan::detail::store_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 4
    functionsReached:
    - OutR
    - Botan::detail::store_any
    - size_bytes
    - std::array<uint8_t, bytes>
    - std::forward<InR>
    linkageType: ''
    returnType: auto
    signature: auto store_any(InR&& in_range)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::store_any
      Src: /src/botan/src/lib/utils/loadstor.h:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 698
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 698
    functionName: Botan::detail::store_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 5
    functionsReached:
    - Botan::detail::store_any
    linkageType: ''
    returnType: auto
    signature: auto store_any(Ts... ins)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::store_any
      Src: /src/botan/src/lib/utils/loadstor.h:713,1
    - Dst: std::span<uint8_t, sizeof(T)>
      Src: /src/botan/src/lib/utils/loadstor.h:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - T
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 714
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 714
    functionName: Botan::detail::store_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 6
    functionsReached:
    - std::span<uint8_t, sizeof(T)>
    - Botan::detail::store_any
    linkageType: ''
    returnType: void
    signature: void store_any(T in, uint8_t out[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::store_any
      Src: /src/botan/src/lib/utils/loadstor.h:726,1
    - Dst: std::span<uint8_t, bytes>
      Src: /src/botan/src/lib/utils/loadstor.h:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - in0
    argTypes:
    - uint8_t[]
    - T0
    constantsTouched: []
    func_position:
      end: 727
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 727
    functionName: Botan::detail::store_any
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 7
    functionsReached:
    - std::span<uint8_t, bytes>
    - Botan::detail::store_any
    linkageType: ''
    returnType: void
    signature: void store_any(uint8_t out[], T0 in0, Ts... ins)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::store_any<std::endian::little, ModifierT>
      Src: /src/botan/src/lib/utils/loadstor.h:737,1
    - Dst: std::forward<ParamTs>
      Src: /src/botan/src/lib/utils/loadstor.h:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 738
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 738
    functionName: Botan::store_le
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 11
    functionsReached:
    - std::forward<ParamTs>
    - detail::store_any<std::endian::little, ModifierT>
    linkageType: ''
    returnType: auto
    signature: auto store_le(ParamTs&&... params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::store_any<std::endian::big, ModifierT>
      Src: /src/botan/src/lib/utils/loadstor.h:746,1
    - Dst: std::forward<ParamTs>
      Src: /src/botan/src/lib/utils/loadstor.h:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 747
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 747
    functionName: Botan::store_be
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 31
    functionsReached:
    - std::forward<ParamTs>
    - detail::store_any<std::endian::big, ModifierT>
    linkageType: ''
    returnType: auto
    signature: auto store_be(ParamTs&&... params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/loadstor.h:756,1
    - Dst: size_bytes
      Src: /src/botan/src/lib/utils/loadstor.h:756,1
    - Dst: Botan::detail::store_any
      Src: /src/botan/src/lib/utils/loadstor.h:759,1
    - Dst: Botan::detail::first
      Src: /src/botan/src/lib/utils/loadstor.h:759,1
    - Dst: Botan::detail::first
      Src: /src/botan/src/lib/utils/loadstor.h:759,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/loadstor.h:760,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/loadstor.h:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - std::span<uint8_t>
    - std::span<const T>
    constantsTouched: []
    func_position:
      end: 764
      start: 752
    functionDepth: 3
    functionLinenumber: 752
    functionLinenumberEnd: 764
    functionName: Botan::detail::copy_out_any_word_aligned_portion
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - subspan
    - Botan::detail::store_any
    - size_bytes
    - Botan::detail::first
    linkageType: ''
    returnType: size_t
    signature: size_t copy_out_any_word_aligned_portion(std::span<uint8_t>& out, std::span<const
      T>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::copy_out_any_word_aligned_portion<std::endian::big>
      Src: /src/botan/src/lib/utils/loadstor.h:776,1
    - Dst: Botan::get_byte_var
      Src: /src/botan/src/lib/utils/loadstor.h:780,1
    - Dst: std::span::front
      Src: /src/botan/src/lib/utils/loadstor.h:780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - out
    - ' in'
    argTypes:
    - std::span<uint8_t>
    - InR
    constantsTouched: []
    func_position:
      end: 782
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 782
    functionName: Botan::copy_out_be
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 3
    functionsReached:
    - std::span::front
    - detail::copy_out_any_word_aligned_portion<std::endian::big>
    - Botan::get_byte_var
    linkageType: ''
    returnType: void
    signature: void copy_out_be(std::span<uint8_t> out, const InR& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::copy_out_any_word_aligned_portion<std::endian::little>
      Src: /src/botan/src/lib/utils/loadstor.h:792,1
    - Dst: Botan::get_byte_var
      Src: /src/botan/src/lib/utils/loadstor.h:796,1
    - Dst: std::span::front
      Src: /src/botan/src/lib/utils/loadstor.h:796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - out
    - ' in'
    argTypes:
    - std::span<uint8_t>
    - InR
    constantsTouched: []
    func_position:
      end: 798
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 798
    functionName: Botan::copy_out_le
    functionSourceFile: /src/botan/src/lib/utils/loadstor.h
    functionUses: 1
    functionsReached:
    - detail::copy_out_any_word_aligned_portion<std::endian::little>
    - std::span::front
    - Botan::get_byte_var
    linkageType: ''
    returnType: void
    signature: void copy_out_le(std::span<uint8_t> out, const InR& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: Botan::CPUFeature
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API CPUFeature
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: state
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:68,1
    - Dst: as_u32
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:68,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:69,1
    - Dst: state
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:81,1
    - Dst: as_u32
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:81,1
    - Dst: as_u32
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:81,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:85,1
    - Dst: state
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:94,1
    - Dst: as_u32
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:94,1
    - Dst: state
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:100,1
    - Dst: as_u32
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:100,1
    - Dst: as_u32
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:100,1
    - Dst: state
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:109,1
    - Dst: as_u32
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:109,1
    - Dst: as_u32
      Src: /src/botan/src/lib/utils/cpuid/cpuid.h:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 155
    functionName: Botan::CPUID
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid.h
    functionUses: 0
    functionsReached:
    - state
    - Botan::to_string
    - as_u32
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API CPUID
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: Botan::CPUFeature::as_u32
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUFeature::as_u32() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Botan::CPUFeature::from_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CPUFeature>
    signature: std::optional<CPUFeature> CPUFeature::from_string(std::string_view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::CPUFeature::to_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::string
    signature: std::string CPUFeature::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:42,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:42,1
    - Dst: static_cast<CPUFeature::Bit>
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:42,1
    - Dst: string_join
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: Botan::CPUID::to_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid.cpp
    functionUses: 4
    functionsReached:
    - string_join
    - std::vector::push_back
    - CPUFeature
    - static_cast<CPUFeature::Bit>
    linkageType: ''
    returnType: std::string
    signature: std::string CPUID::to_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: state
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:51,1
    - Dst: CPUID_Data
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::CPUID::initialize
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid.cpp
    functionUses: 3
    functionsReached:
    - CPUID_Data
    - state
    linkageType: ''
    returnType: void
    signature: void CPUID::initialize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OS::read_env_variable
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:63,1
    - Dst: Botan::split_on
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:64,1
    - Dst: Botan::CPUID::bit_from_string
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:65,1
    - Dst: auto::as_u32
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: Botan::cleared_cpuid_bits
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid.cpp
    functionUses: 0
    functionsReached:
    - auto::as_u32
    - Botan::split_on
    - OS::read_env_variable
    - Botan::CPUID::bit_from_string
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t cleared_cpuid_bits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detect_cpu_features
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:81,1
    - Dst: cleared_cpuid_bits
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: CPUID::CPUID_Data::CPUID_Data()
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid.cpp
    functionUses: 0
    functionsReached:
    - cleared_cpuid_bits
    - detect_cpu_features
    linkageType: ''
    returnType: void
    signature: void CPUID::CPUID_Data::CPUID_Data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CPUFeature::from_string
      Src: /src/botan/src/lib/utils/cpuid/cpuid.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tok
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: Botan::CPUID::bit_from_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid.cpp
    functionUses: 3
    functionsReached:
    - Botan::CPUFeature::from_string
    linkageType: ''
    returnType: std::optional<CPUFeature>
    signature: std::optional<CPUFeature> CPUID::bit_from_string(std::string_view tok)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OS::get_auxval_hwcap
      Src: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_ppc.cpp:23,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_ppc.cpp:32,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_ppc.cpp:36,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_ppc.cpp:37,1
    - Dst: OS::run_cpu_instruction_probe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_ppc.cpp:52,1
    - Dst: OS::run_cpu_instruction_probe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_ppc.cpp:69,1
    - Dst: OS::run_cpu_instruction_probe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_ppc.cpp:73,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 83
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 83
    functionName: CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_ppc.cpp
    functionUses: 0
    functionsReached:
    - if_set
    - OS::run_cpu_instruction_probe
    - Botan::OS::get_auxval_hwcap
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_features.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 40
    functionName: Botan::CPUFeature
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_features.h
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API CPUFeature
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_features.cpp:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 23
    functionName: Botan::CPUFeature::to_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_features.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::string
    signature: std::string CPUFeature::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - tok
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: Botan::CPUFeature::from_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_ppc/cpuid_features.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CPUFeature>
    signature: std::optional<CPUFeature> CPUFeature::from_string(std::string_view
      tok)
  - 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: Botan::bitflag
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t bitflag(Bs... bs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitflag
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:43,1
    - Dst: bitflag
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:44,1
    - Dst: bitflag
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:45,1
    - Dst: bitflag
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:46,1
    - Dst: bitflag
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:48,1
    - Dst: bitflag
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:49,1
    - Dst: bitflag
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:50,1
    - Dst: bitflag
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:51,1
    - Dst: bitflag
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:52,1
    - Dst: bitflag
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:53,1
    - Dst: __riscv_hwprobe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:59,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:62,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:63,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:64,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:65,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:67,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:70,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:71,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:72,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:73,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 81
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 81
    functionName: CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_riscv64.cpp
    functionUses: 0
    functionsReached:
    - if_set
    - bitflag
    - BOTAN_UNUSED
    - __riscv_hwprobe
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_features.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 43
    functionName: Botan::CPUFeature
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_features.h
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API CPUFeature
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_features.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 35
    functionName: Botan::CPUFeature::to_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_features.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::string
    signature: std::string CPUFeature::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - tok
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 60
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 60
    functionName: Botan::CPUFeature::from_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_riscv64/cpuid_features.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CPUFeature>
    signature: std::optional<CPUFeature> CPUFeature::from_string(std::string_view
      tok)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OS::get_auxval_hwcap
      Src: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_arm32.cpp:23,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_arm32.cpp:41,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_arm32.cpp:44,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_arm32.cpp:45,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_arm32.cpp:46,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_arm32.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 53
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 53
    functionName: CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_arm32.cpp
    functionUses: 0
    functionsReached:
    - if_set
    - Botan::OS::get_auxval_hwcap
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_features.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 42
    functionName: Botan::CPUFeature
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_features.h
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API CPUFeature
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_features.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 27
    functionName: Botan::CPUFeature::to_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_features.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::string
    signature: std::string CPUFeature::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - tok
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: Botan::CPUFeature::from_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_arm32/cpuid_features.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CPUFeature>
    signature: std::optional<CPUFeature> CPUFeature::from_string(std::string_view
      tok)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/cpuid/cpuid_loongarch64/cpuid_features.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 38
    functionName: Botan::CPUFeature
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_loongarch64/cpuid_features.h
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API CPUFeature
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/cpuid/cpuid_loongarch64/cpuid_features.cpp:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 23
    functionName: Botan::CPUFeature::to_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_loongarch64/cpuid_features.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::string
    signature: std::string CPUFeature::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - tok
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: Botan::CPUFeature::from_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_loongarch64/cpuid_features.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CPUFeature>
    signature: std::optional<CPUFeature> CPUFeature::from_string(std::string_view
      tok)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OS::get_auxval_hwcap
      Src: /src/botan/src/lib/utils/cpuid/cpuid_loongarch64/cpuid_loongarch64.cpp:23,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_loongarch64/cpuid_loongarch64.cpp:32,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_loongarch64/cpuid_loongarch64.cpp:33,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_loongarch64/cpuid_loongarch64.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 39
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 39
    functionName: CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_loongarch64/cpuid_loongarch64.cpp
    functionUses: 0
    functionsReached:
    - if_set
    - Botan::OS::get_auxval_hwcap
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_features.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 47
    functionName: Botan::CPUFeature
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_features.h
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API CPUFeature
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_features.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 37
    functionName: Botan::CPUFeature::to_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_features.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::string
    signature: std::string CPUFeature::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 1
    argNames:
    - tok
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 65
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 65
    functionName: Botan::CPUFeature::from_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_features.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::optional<CPUFeature>
    signature: std::optional<CPUFeature> CPUFeature::from_string(std::string_view
      tok)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OS::get_auxval_hwcap
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:30,1
    - Dst: CPUID::if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:54,1
    - Dst: CPUID::if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:57,1
    - Dst: CPUID::if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:58,1
    - Dst: CPUID::if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:59,1
    - Dst: CPUID::if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:60,1
    - Dst: CPUID::if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:61,1
    - Dst: CPUID::if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:62,1
    - Dst: CPUID::if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:63,1
    - Dst: CPUID::if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:64,1
    - Dst: CPUID::if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:65,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 75
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 75
    functionName: Botan::aarch64_feat_via_auxval
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - CPUID::if_set
    - Botan::OS::get_auxval_hwcap
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> aarch64_feat_via_auxval(uint32_t allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::sysctlbyname
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:84,1
    - Dst: sysctlbyname_has_feature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:96,1
    - Dst: sysctlbyname_has_feature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:99,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 109
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 109
    functionName: Botan::aarch64_feat_using_mac_api
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - sysctlbyname_has_feature
    - ::sysctlbyname
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> aarch64_feat_using_mac_api(uint32_t allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OS::run_cpu_instruction_probe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:146,1
    - Dst: OS::run_cpu_instruction_probe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:151,1
    - Dst: OS::run_cpu_instruction_probe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:154,1
    - Dst: OS::run_cpu_instruction_probe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:157,1
    - Dst: OS::run_cpu_instruction_probe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:160,1
    - Dst: OS::run_cpu_instruction_probe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:163,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 174
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 174
    functionName: Botan::aarch64_feat_using_instr_probe
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp
    functionUses: 0
    functionsReached:
    - OS::run_cpu_instruction_probe
    - BOTAN_UNUSED
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> aarch64_feat_using_instr_probe(uint32_t allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aarch64_feat_via_auxval
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:179,1
    - Dst: auto::value
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:180,1
    - Dst: aarch64_feat_using_mac_api
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:181,1
    - Dst: auto::value
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:182,1
    - Dst: aarch64_feat_using_instr_probe
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:183,1
    - Dst: auto::value
      Src: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_aarch64/cpuid_aarch64.cpp
    functionUses: 0
    functionsReached:
    - aarch64_feat_via_auxval
    - aarch64_feat_using_instr_probe
    - aarch64_feat_using_mac_api
    - auto::value
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:26,1
    - Dst: __cpuid
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:32,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - type
    - out
    argTypes:
    - uint32_t
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: Botan::invoke_cpuid
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    - Botan::clear_mem
    - __cpuid
    linkageType: ''
    returnType: void
    signature: void invoke_cpuid(uint32_t type, uint32_t out[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:41,1
    - Dst: __cpuidex
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:47,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - type
    - level
    - out
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: Botan::invoke_cpuid_sublevel
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp
    functionUses: 0
    functionsReached:
    - __cpuidex
    - BOTAN_UNUSED
    - Botan::clear_mem
    linkageType: ''
    returnType: void
    signature: void invoke_cpuid_sublevel(uint32_t type, uint32_t level, uint32_t
      out[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _xgetbv
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp: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: Botan::xgetbv
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp
    functionUses: 0
    functionsReached:
    - _xgetbv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t xgetbv()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: invoke_cpuid
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:127,1
    - Dst: invoke_cpuid
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:133,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:136,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:138,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:140,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:143,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:146,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:147,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:162,1
    - Dst: invoke_cpuid_sublevel
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:163,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:167,1
    - Dst: invoke_cpuid_sublevel
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:168,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:171,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:172,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:178,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:181,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:182,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:186,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:189,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:190,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:191,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:192,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:193,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:197,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:200,1
    - Dst: if_set
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp:201,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 221
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 221
    functionName: CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_x86.cpp
    functionUses: 0
    functionsReached:
    - if_set
    - invoke_cpuid_sublevel
    - invoke_cpuid
    - clear_mem
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUID::CPUID_Data::detect_cpu_features(uint32_t allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 60
    functionName: Botan::CPUFeature
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.h
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API CPUFeature
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 57
    functionName: Botan::CPUFeature::to_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    linkageType: ''
    returnType: std::string
    signature: std::string CPUFeature::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:62,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:64,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:67,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:69,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:71,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:73,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:76,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:78,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:80,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:82,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:84,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:86,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:88,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:90,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:92,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:94,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:96,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:98,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:100,1
    - Dst: CPUFeature
      Src: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp:102,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 1
    argNames:
    - tok
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 106
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 106
    functionName: Botan::CPUFeature::from_string
    functionSourceFile: /src/botan/src/lib/utils/cpuid/cpuid_x86/cpuid_features.cpp
    functionUses: 3
    functionsReached:
    - CPUFeature
    linkageType: ''
    returnType: std::optional<CPUFeature>
    signature: std::optional<CPUFeature> CPUFeature::from_string(std::string_view
      tok)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 208
    functionName: Botan::OS::Echo_Suppression
    functionSourceFile: /src/botan/src/lib/utils/os_utils/os_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API Echo_Suppression
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::getpid
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:79,1
    - Dst: ::GetCurrentProcessId
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: Botan::OS::get_process_id
    functionSourceFile: /src/botan/src/lib/utils/os_utils/os_utils.cpp
    functionUses: 2
    functionsReached:
    - ::getpid
    - ::GetCurrentProcessId
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t OS::get_process_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: Botan::auxval_hwcap
    functionSourceFile: /src/botan/src/lib/utils/os_utils/os_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<unsigned long>
    signature: std::optional<unsigned long> auxval_hwcap()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: Botan::auxval_hwcap2
    functionSourceFile: /src/botan/src/lib/utils/os_utils/os_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<unsigned long>
    signature: std::optional<unsigned long> auxval_hwcap2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::getauxval
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:122,1
    - Dst: ::elf_aux_info
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:125,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::optional<unsigned long>
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: Botan::get_auxval
    functionSourceFile: /src/botan/src/lib/utils/os_utils/os_utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - ::getauxval
    - ::elf_aux_info
    linkageType: ''
    returnType: std::optional<unsigned long>
    signature: std::optional<unsigned long> get_auxval(std::optional<unsigned long>
      id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_auxval
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:137,1
    - Dst: auxval_hwcap
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:137,1
    - Dst: get_auxval
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:140,1
    - Dst: auxval_hwcap2
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:140,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: Botan::OS::get_auxval_hwcap
    functionSourceFile: /src/botan/src/lib/utils/os_utils/os_utils.cpp
    functionUses: 4
    functionsReached:
    - std::make_pair
    - auxval_hwcap2
    - get_auxval
    - auxval_hwcap
    linkageType: ''
    returnType: std::optional<std::pair<unsigned long, unsigned long>>
    signature: std::optional<std::pair<unsigned long, unsigned long>> OS::get_auxval_hwcap()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get_auxval
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:155,1
    - Dst: ::getuid
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:161,1
    - Dst: ::geteuid
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:161,1
    - Dst: ::getgid
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:161,1
    - Dst: ::getegid
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: Botan::running_in_privileged_state
    functionSourceFile: /src/botan/src/lib/utils/os_utils/os_utils.cpp
    functionUses: 0
    functionsReached:
    - ::getgid
    - ::geteuid
    - Botan::get_auxval
    - ::getuid
    - ::getegid
    linkageType: ''
    returnType: bool
    signature: bool running_in_privileged_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::QueryPerformanceCounter
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:174,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:183,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:187,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:190,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 230
    functionName: Botan::OS::get_cpu_cycle_counter
    functionSourceFile: /src/botan/src/lib/utils/os_utils/os_utils.cpp
    functionUses: 4
    functionsReached:
    - static_cast<uint64_t>
    - ::QueryPerformanceCounter
    - Botan::Classic_McEliece_Field_Ordering::alphas
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t OS::get_cpu_cycle_counter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:238,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 262
    functionName: Botan::OS::get_cpu_available
    functionSourceFile: /src/botan/src/lib/utils/os_utils/os_utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t OS::get_cpu_available()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emscripten_get_now
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:270,1
    - Dst: ::clock_gettime
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:303,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:304,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:304,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:311,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:312,1
    - Dst: ::clock_gettime
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:321,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:322,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:322,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:327,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:328,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:330,1
    - Dst: localtime_s
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:338,1
    - Dst: localtime_r
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:340,1
    - Dst: std::localtime
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:342,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:345,1
    - Dst: std::put_time
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:350,1
    - Dst: c_str
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:350,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:351,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:360,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:365,1
    - Dst: ::GetSystemInfo
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:367,1
    - Dst: ::getrlimit
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:396,1
    - Dst: ::setrlimit
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:400,1
    - Dst: ::getrlimit
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:401,1
    - Dst: std::min<size_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:404,1
    - Dst: ::GetProcessWorkingSetSize
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:412,1
    - Dst: ::GetCurrentProcess
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:412,1
    - Dst: std::min<size_t>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:425,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:429,1
    - Dst: running_in_privileged_state
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:438,1
    - Dst: getenv_s
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:446,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:446,1
    - Dst: std::string
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:451,1
    - Dst: std::string
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:453,1
    - Dst: read_env_variable
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:470,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:470,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:496,1
    - Dst: VM_MAKE_TAG
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:498,1
    - Dst: std::vector::reserve
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:514,1
    - Dst: PROT_MAX
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:544,1
    - Dst: ::mmap
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:547,1
    - Dst: ::mlock
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:559,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:559,1
    - Dst: ::munmap
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:560,1
    - Dst: ::madvise
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:566,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:566,1
    - Dst: ::VirtualAlloc
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:570,1
    - Dst: ::VirtualLock
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:575,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:575,1
    - Dst: ::VirtualFree
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:576,1
    - Dst: memset
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:581,1
    - Dst: page_named
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:584,1
    - Dst: page_prohibit_access
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:586,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:586,1
    - Dst: page_prohibit_access
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:588,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:588,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:590,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:590,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:593,1
    - Dst: ::mprotect
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:602,1
    - Dst: ::VirtualProtect
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:606,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:607,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:609,1
    - Dst: ::mprotect
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:616,1
    - Dst: ::VirtualProtect
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:620,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:621,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:623,1
    - Dst: size
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:630,1
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:633,1
    - Dst: page_allow_access
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:636,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:636,1
    - Dst: page_allow_access
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:637,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:637,1
    - Dst: ::munlock
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:640,1
    - Dst: ::munmap
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:641,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:641,1
    - Dst: ::VirtualUnlock
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:643,1
    - Dst: ::VirtualFree
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:644,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:644,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:653,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:655,1
    - Dst: static_cast<void>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:662,1
    - Dst: pthread_setname_np
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:662,1
    - Dst: native_handle
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:662,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:662,1
    - Dst: static_cast<void>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:664,1
    - Dst: pthread_set_name_np
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:664,1
    - Dst: native_handle
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:664,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:664,1
    - Dst: static_cast<void>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:666,1
    - Dst: pthread_setname_np
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:666,1
    - Dst: native_handle
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:666,1
    - Dst: const_cast<char*>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:666,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:666,1
    - Dst: static_cast<void>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:668,1
    - Dst: pthread_setname_np
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:668,1
    - Dst: native_handle
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:668,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:668,1
    - Dst: GetModuleHandleA
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:671,1
    - Dst: reinterpret_cast<std_proc>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:672,1
    - Dst: GetProcAddress
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:672,1
    - Dst: MultiByteToWideChar
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:675,1
    - Dst: std::string::data
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:675,1
    - Dst: std::wstring::resize
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:677,1
    - Dst: MultiByteToWideChar
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:678,1
    - Dst: std::string::data
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:678,1
    - Dst: set_thread_name
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:679,1
    - Dst: native_handle
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:679,1
    - Dst: std::wstring::c_str
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:679,1
    - Dst: get_pthread_thread_id
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:684,1
    - Dst: native_handle
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:684,1
    - Dst: static_cast<void>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:685,1
    - Dst: rename_thread
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:685,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:685,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:689,1
    - Dst: siglongjmp
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:702,1
    - Dst: sigemptyset
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:717,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:723,1
    - Dst: sigsetjmp
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:726,1
    - Dst: probe_fn
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:730,1
    - Dst: ::sigaction
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:737,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:739,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:743,1
    - Dst: fileno
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:754,1
    - Dst: ::tcgetattr
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:755,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:756,1
    - Dst: ::tcsetattr
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:763,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:764,1
    - Dst: ::tcsetattr
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:770,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:771,1
    - Dst: reenable_echo
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:779,1
    - Dst: std::make_unique<POSIX_Echo_Suppression>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:793,1
    - Dst: ::GetStdHandle
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:800,1
    - Dst: ::GetConsoleMode
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:801,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:802,1
    - Dst: ::GetLastError
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:802,1
    - Dst: ::SetConsoleMode
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:805,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:806,1
    - Dst: ::GetLastError
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:806,1
    - Dst: ::SetConsoleMode
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:811,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:812,1
    - Dst: ::GetLastError
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:812,1
    - Dst: reenable_echo
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:819,1
    - Dst: std::make_unique<Win32_Echo_Suppression>
      Src: /src/botan/src/lib/utils/os_utils/os_utils.cpp:833,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 226
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 842
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 842
    functionName: Botan::OS::get_high_resolution_clock
    functionSourceFile: /src/botan/src/lib/utils/os_utils/os_utils.cpp
    functionUses: 2
    functionsReached:
    - ::mprotect
    - std::string::empty
    - ::GetStdHandle
    - static_cast<int>
    - PROT_MAX
    - ::clock_gettime
    - ::GetSystemInfo
    - std::vector::reserve
    - ::GetCurrentProcess
    - localtime_r
    - page_named
    - secure_scrub_memory
    - rename_thread
    - VM_MAKE_TAG
    - Botan::TLS::detail::AsyncBase::complete_now
    - ::munlock
    - ::SetConsoleMode
    - GetModuleHandleA
    - std::vector::push_back
    - memset
    - std::make_unique<POSIX_Echo_Suppression>
    - getenv_s
    - page_allow_access
    - localtime_s
    - ::GetConsoleMode
    - const_cast<char*>
    - Not_Implemented
    - GetProcAddress
    - std::string
    - size
    - emscripten_get_now
    - ::sigaction
    - sigsetjmp
    - std::ostringstream::str
    - ::tcgetattr
    - ::mlock
    - fileno
    - std::make_unique<Win32_Echo_Suppression>
    - page_prohibit_access
    - ::setrlimit
    - Encoding_Error
    - get_pthread_thread_id
    - std::string::c_str
    - reinterpret_cast<std_proc>
    - std::string::data
    - MultiByteToWideChar
    - std::wstring::c_str
    - pthread_setname_np
    - c_str
    - ::madvise
    - ::VirtualLock
    - std::min<size_t>
    - static_cast<uint64_t>
    - reenable_echo
    - sigemptyset
    - ::tcsetattr
    - probe_fn
    - std::localtime
    - std::put_time
    - ::VirtualAlloc
    - static_cast<uint8_t*>
    - ::GetProcessWorkingSetSize
    - static_cast<size_t>
    - read_env_variable
    - ::VirtualFree
    - BOTAN_UNUSED
    - ::getrlimit
    - static_cast<void>
    - ::GetLastError
    - System_Error
    - running_in_privileged_state
    - native_handle
    - std::wstring::resize
    - ::VirtualUnlock
    - set_thread_name
    - pthread_set_name_np
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - ::munmap
    - ::mmap
    - siglongjmp
    - ::VirtualProtect
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t OS::get_high_resolution_clock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UUID
      Src: /src/botan/src/lib/utils/uuid/uuid.h:26,1
    - Dst: m_uuid
      Src: /src/botan/src/lib/utils/uuid/uuid.h:26,1
    - Dst: UUID
      Src: /src/botan/src/lib/utils/uuid/uuid.h:31,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/uuid/uuid.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 61
    functionName: Botan::final
    functionSourceFile: /src/botan/src/lib/utils/uuid/uuid.h
    functionUses: 17
    functionsReached:
    - Botan::size
    - m_uuid
    - UUID
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: class BOTAN_UNSTABLE_API final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:18,1
    - Dst: randomize
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:19,1
    - Dst: data
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:19,1
    - Dst: size
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 26
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 26
    functionName: Botan::UUID::UUID
    functionSourceFile: /src/botan/src/lib/utils/uuid/uuid.cpp
    functionUses: 2
    functionsReached:
    - data
    - resize
    - size
    - randomize
    linkageType: ''
    returnType: void
    signature: void UUID::UUID(RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:29,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:30,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' blob'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: Botan::UUID::UUID
    functionSourceFile: /src/botan/src/lib/utils/uuid/uuid.cpp
    functionUses: 2
    functionsReached:
    - hex_encode
    - Invalid_Argument
    - size
    linkageType: ''
    returnType: void
    signature: void UUID::UUID(const std::vector<uint8_t>& blob)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:37,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:39,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:39,1
    - Dst: hex_decode
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:51,1
    - Dst: size
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:53,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:54,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:54,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 1
    argNames:
    - uuid_str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 56
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 56
    functionName: Botan::UUID::UUID
    functionSourceFile: /src/botan/src/lib/utils/uuid/uuid.cpp
    functionUses: 2
    functionsReached:
    - fmt
    - hex_decode
    - size
    - std::string_view::size
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void UUID::UUID(std::string_view uuid_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_valid
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:59,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:60,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:63,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:67,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/uuid/uuid.cpp:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 75
    functionName: Botan::UUID::to_string
    functionSourceFile: /src/botan/src/lib/utils/uuid/uuid.cpp
    functionUses: 3
    functionsReached:
    - std::string::size
    - Invalid_State
    - std::ostringstream::str
    - hex_encode
    - is_valid
    linkageType: ''
    returnType: std::string
    signature: std::string UUID::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Dynamically_Loaded_Library
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.h:30,1
    - Dst: reinterpret_cast<T>
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.h:53,1
    - Dst: resolve_symbol
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.h:53,1
    - Dst: Botan::Dynamically_Loaded_Library
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 62
    functionName: Botan::Dynamically_Loaded_Library
    functionSourceFile: /src/botan/src/lib/utils/dyn_load/dyn_load.h
    functionUses: 1
    functionsReached:
    - Botan::Dynamically_Loaded_Library
    - reinterpret_cast<T>
    - resolve_symbol
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Dynamically_Loaded_Library
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:36,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - lib_name
    - msg
    argTypes:
    - std::string_view
    - char*
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: Botan::raise_runtime_loader_exception
    functionSourceFile: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp
    functionUses: 0
    functionsReached:
    - System_Error
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void raise_runtime_loader_exception(std::string_view lib_name, const
      char* msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::dlopen
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:43,1
    - Dst: c_str
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:43,1
    - Dst: raise_runtime_loader_exception
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:46,1
    - Dst: ::dlerror
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:46,1
    - Dst: ::LoadLibraryA
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:50,1
    - Dst: c_str
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:50,1
    - Dst: raise_runtime_loader_exception
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:53,1
    - Dst: raise_runtime_loader_exception
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - library
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 59
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 59
    functionName: Botan::Dynamically_Loaded_Library::Dynamically_Loaded_Library
    functionSourceFile: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp
    functionUses: 0
    functionsReached:
    - raise_runtime_loader_exception
    - ::dlopen
    - c_str
    - ::dlerror
    - ::LoadLibraryA
    linkageType: ''
    returnType: void
    signature: void Dynamically_Loaded_Library::Dynamically_Loaded_Library(std::string_view
      library)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::dlclose
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:63,1
    - Dst: ::FreeLibrary
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:65,1
    - Dst: reinterpret_cast<HMODULE>
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: Dynamically_Loaded_Library::~Dynamically_Loaded_Library()
    functionSourceFile: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp
    functionUses: 0
    functionsReached:
    - ::dlclose
    - ::FreeLibrary
    - reinterpret_cast<HMODULE>
    linkageType: ''
    returnType: void
    signature: void Dynamically_Loaded_Library::~Dynamically_Loaded_Library()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::dlsym
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:73,1
    - Dst: c_str
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:73,1
    - Dst: reinterpret_cast<void*>
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:75,1
    - Dst: ::GetProcAddress
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:75,1
    - Dst: reinterpret_cast<HMODULE>
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:75,1
    - Dst: c_str
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:75,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:79,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' symbol'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: Botan::Dynamically_Loaded_Library::resolve_symbol
    functionSourceFile: /src/botan/src/lib/utils/dyn_load/dyn_load.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - reinterpret_cast<HMODULE>
    - c_str
    - fmt
    - ::dlsym
    - ::GetProcAddress
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void * Dynamically_Loaded_Library::resolve_symbol(const std::string&
      symbol)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::sqlite3_errmsg
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:25,1
    - Dst: ::sqlite3_close
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:26,1
    - Dst: SQL_DB_Error
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - db_filename
    - sqlite_open_flags
    argTypes:
    - std::string_view
    - std::optional<int>
    constantsTouched: []
    func_position:
      end: 30
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 30
    functionName: Botan::Sqlite3_Database::Sqlite3_Database
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - SQL_DB_Error
    - ::sqlite3_errmsg
    - ::sqlite3_close
    linkageType: ''
    returnType: void
    signature: void Sqlite3_Database::Sqlite3_Database(std::string_view db_filename,
      std::optional<int> sqlite_open_flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::sqlite3_close
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: Sqlite3_Database::~Sqlite3_Database()
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - ::sqlite3_close
    linkageType: ''
    returnType: void
    signature: void Sqlite3_Database::~Sqlite3_Database()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Sqlite3_Statement>
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base_sql
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::Sqlite3_Database::new_statement
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Sqlite3_Statement>
    linkageType: ''
    returnType: std::shared_ptr<SQL_Database::Statement>
    signature: std::shared_ptr<SQL_Database::Statement> Sqlite3_Database::new_statement(std::string_view
      base_sql) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sqlite3_Database::new_statement
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:44,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:44,1
    - Dst: auto::step
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:46,1
    - Dst: auto::get_size_t
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:47,1
    - Dst: SQL_DB_Error
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:49,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - table_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: Botan::Sqlite3_Database::row_count
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - auto::step
    - SQL_DB_Error
    - Botan::Sqlite3_Database::new_statement
    - auto::get_size_t
    linkageType: ''
    returnType: size_t
    signature: size_t Sqlite3_Database::row_count(std::string_view table_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::sqlite3_free
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:59,1
    - Dst: ::sqlite3_close
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:60,1
    - Dst: SQL_DB_Error
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - table_schema
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: Botan::Sqlite3_Database::create_table
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - SQL_DB_Error
    - ::sqlite3_free
    - ::sqlite3_close
    linkageType: ''
    returnType: void
    signature: void Sqlite3_Database::create_table(std::string_view table_schema)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::sqlite3_changes64
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:67,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:68,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: Botan::Sqlite3_Database::rows_changed_by_last_statement
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - ::sqlite3_changes64
    - BOTAN_ASSERT_NOMSG
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Sqlite3_Database::rows_changed_by_last_statement()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: Botan::Sqlite3_Database::is_threadsafe
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Sqlite3_Database::is_threadsafe() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SQL_DB_Error
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:94,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - db
    - base_sql
    argTypes:
    - sqlite3*
    - std::string_view
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: Sqlite3_Database::Sqlite3_Statement::Sqlite3_Statement(sqlite3*
      db, std::string_view base_sql)
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - SQL_DB_Error
    - fmt
    linkageType: ''
    returnType: void
    signature: void Sqlite3_Database::Sqlite3_Statement::Sqlite3_Statement(sqlite3*
      db, std::string_view base_sql)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SQL_DB_Error
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - column
    - val
    argTypes:
    - int
    - std::string_view
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: Sqlite3_Database::Sqlite3_Statement::bind(int column, std::string_view
      val)
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - SQL_DB_Error
    linkageType: ''
    returnType: void
    signature: void Sqlite3_Database::Sqlite3_Statement::bind(int column, std::string_view
      val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SQL_DB_Error
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - column
    - val
    argTypes:
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: Sqlite3_Database::Sqlite3_Statement::bind(int column, size_t val)
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - SQL_DB_Error
    linkageType: ''
    returnType: void
    signature: void Sqlite3_Database::Sqlite3_Statement::bind(int column, size_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bind
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:114,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - column
    - time
    argTypes:
    - int
    - std::chrono::system_clock::time_point
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: Sqlite3_Database::Sqlite3_Statement::bind(int column, std::chrono::system_clock::time_point
      time)
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - bind
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void Sqlite3_Database::Sqlite3_Statement::bind(int column, std::chrono::system_clock::time_point
      time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SQL_DB_Error
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - column
    - ' val'
    argTypes:
    - int
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: Sqlite3_Database::Sqlite3_Statement::bind(int column, const std::vector<uint8_t>&
      val)
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - SQL_DB_Error
    linkageType: ''
    returnType: void
    signature: void Sqlite3_Database::Sqlite3_Statement::bind(int column, const std::vector<uint8_t>&
      val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SQL_DB_Error
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - column
    - p
    - len
    argTypes:
    - int
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: Sqlite3_Database::Sqlite3_Statement::bind(int column, const uint8_t*
      p, size_t len)
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - SQL_DB_Error
    linkageType: ''
    returnType: void
    signature: void Sqlite3_Database::Sqlite3_Statement::bind(int column, const uint8_t*
      p, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::sqlite3_column_type
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:132,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:137,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:142,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:144,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:144,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - column
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: Sqlite3_Database::Sqlite3_Statement::get_blob(int column)
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - static_cast<const uint8_t*>
    - BOTAN_ASSERT
    - std::make_pair
    - ::sqlite3_column_type
    linkageType: ''
    returnType: std::pair<const uint8_t*, size_t>
    signature: std::pair<const uint8_t*, size_t> Sqlite3_Database::Sqlite3_Statement::get_blob(int
      column)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:148,1
    - Dst: ::sqlite3_column_type
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:148,1
    - Dst: std::string
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:152,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - column
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: Sqlite3_Database::Sqlite3_Statement::get_str(int column)
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - ::sqlite3_column_type
    - cast_uint8_ptr_to_char
    - std::string
    - BOTAN_ASSERT
    linkageType: ''
    returnType: std::string
    signature: std::string Sqlite3_Database::Sqlite3_Statement::get_str(int column)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:156,1
    - Dst: ::sqlite3_column_type
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - column
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: Sqlite3_Database::Sqlite3_Statement::get_size_t(int column)
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - ::sqlite3_column_type
    - BOTAN_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t Sqlite3_Database::Sqlite3_Statement::get_size_t(int column)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: step
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: Sqlite3_Database::Sqlite3_Statement::spin()
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - step
    linkageType: ''
    returnType: size_t
    signature: size_t Sqlite3_Database::Sqlite3_Statement::spin()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::sqlite3_step
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: Sqlite3_Database::Sqlite3_Statement::step()
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - ::sqlite3_step
    linkageType: ''
    returnType: bool
    signature: bool Sqlite3_Database::Sqlite3_Statement::step()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::sqlite3_finalize
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: Sqlite3_Database::Sqlite3_Statement::~Sqlite3_Statement()
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.cpp
    functionUses: 0
    functionsReached:
    - ::sqlite3_finalize
    linkageType: ''
    returnType: void
    signature: void Sqlite3_Database::Sqlite3_Statement::~Sqlite3_Statement()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Sqlite3_Database
      Src: /src/botan/src/lib/utils/sqlite3/sqlite3.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 68
    functionName: Botan::SQL_Database
    functionSourceFile: /src/botan/src/lib/utils/sqlite3/sqlite3.h
    functionUses: 0
    functionsReached:
    - Sqlite3_Database
    linkageType: ''
    returnType: Sqlite3_Database
    signature: Sqlite3_Database SQL_Database
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:124,1
    - Dst: StrongSpan<TreeNode>::size
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:124,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:125,1
    - Dst: std::optional<AuthPathSS>::has_value
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:125,1
    - Dst: std::optional<TreeNodeIndex>::has_value
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:125,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:128,1
    - Dst: std::optional<AuthPathSS>::value
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:128,1
    - Dst: TreeLayerIndex::get
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:128,1
    - Dst: TreeLayerIndex::get
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:130,1
    - Dst: TreeLayerIndex::get
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:132,1
    - Dst: TreeNode
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:132,1
    - Dst: set_address
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:140,1
    - Dst: TreeLayerIndex
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:140,1
    - Dst: gen_leaf
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:141,1
    - Dst: StrongSpan<TreeNode>
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:141,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:152,1
    - Dst: auto::value
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:159,1
    - Dst: std::optional<AuthPathSS>::value
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:160,1
    - Dst: TreeLayerIndex::get
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:160,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:161,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:171,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:171,1
    - Dst: TreeLayerIndex::get
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:171,1
    - Dst: set_address
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:180,1
    - Dst: node_pair_hash
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:182,1
    - Dst: std::vector::at
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:182,1
    - Dst: TreeLayerIndex::get
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:182,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:185,1
    - Dst: auto::value
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 9
    argNames:
    - out_root
    - out_auth_path
    - leaf_idx
    - node_size
    - total_tree_height
    - idx_offset
    - node_pair_hash
    - gen_leaf
    - ' tree_address'
    argTypes:
    - StrongSpan<TreeNode>
    - std::optional<AuthPathSS>
    - std::optional<TreeNodeIndex>
    - size_t
    - TreeLayerIndex
    - uint32_t
    - concepts::tree_hash_node_pair<TreeNodeIndex, TreeLayerIndex, Address, StrongSpan<TreeNode>>
      auto
    - concepts::tree_gen_leaf<TreeNodeIndex, TreeLayerIndex, Address, StrongSpan<TreeNode>>
      auto
    - Address
    constantsTouched: []
    func_position:
      end: 190
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 190
    functionName: Botan::treehash
    functionSourceFile: /src/botan/src/lib/utils/tree_hash/tree_hash.h
    functionUses: 3
    functionsReached:
    - std::optional<TreeNodeIndex>::has_value
    - set_address
    - TreeLayerIndex::get
    - BOTAN_ASSERT_NOMSG
    - auto::value
    - node_pair_hash
    - auto::has_value
    - std::optional<AuthPathSS>::value
    - gen_leaf
    - StrongSpan<TreeNode>::size
    - TreeLayerIndex
    - TreeNode
    - StrongSpan<TreeNode>
    - BOTAN_ASSERT
    - std::vector::at
    - Botan::copy_mem
    - std::optional<AuthPathSS>::has_value
    linkageType: ''
    returnType: void
    signature: "void treehash(\n   StrongSpan<TreeNode> out_root,\n   std::optional<AuthPathSS>
      out_auth_path,\n   std::optional<TreeNodeIndex> leaf_idx,\n   size_t node_size,\n
      \  TreeLayerIndex total_tree_height,\n   uint32_t idx_offset,\n   concepts::tree_hash_node_pair<TreeNodeIndex,
      TreeLayerIndex, Address, StrongSpan<TreeNode>> auto node_pair_hash,\n   concepts::tree_gen_leaf<TreeNodeIndex,
      TreeLayerIndex, Address, StrongSpan<TreeNode>> auto gen_leaf,\n   Address& tree_address)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:224,1
    - Dst: StrongSpan<TreeNode>::size
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:224,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:225,1
    - Dst: AuthPathSS::size
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:225,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:225,1
    - Dst: TreeLayerIndex::get
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:225,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:226,1
    - Dst: StrongSpan<const TreeNode>::size
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:226,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:230,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:247,1
    - Dst: std::swap
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:250,1
    - Dst: set_address
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:255,1
    - Dst: node_pair_hash
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:257,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:260,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/utils/tree_hash/tree_hash.h:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 9
    argNames:
    - out_root
    - authentication_path
    - leaf_idx
    - leaf
    - node_size
    - total_tree_height
    - idx_offset
    - node_pair_hash
    - ' tree_address'
    argTypes:
    - StrongSpan<TreeNode>
    - AuthPathSS
    - TreeNodeIndex
    - StrongSpan<const TreeNode>
    - size_t
    - TreeLayerIndex
    - uint32_t
    - concepts::tree_hash_node_pair<TreeNodeIndex, TreeLayerIndex, Address, StrongSpan<TreeNode>>
      auto
    - Address
    constantsTouched: []
    func_position:
      end: 261
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 261
    functionName: Botan::compute_root
    functionSourceFile: /src/botan/src/lib/utils/tree_hash/tree_hash.h
    functionUses: 2
    functionsReached:
    - set_address
    - TreeLayerIndex::get
    - BOTAN_ASSERT_NOMSG
    - node_pair_hash
    - BufferSlicer::take
    - static_cast<size_t>
    - StrongSpan<TreeNode>::size
    - std::swap
    - BufferSlicer::empty
    - StrongSpan<const TreeNode>::size
    - AuthPathSS::size
    - Botan::copy_mem
    linkageType: ''
    returnType: void
    signature: "void compute_root(\n   StrongSpan<TreeNode> out_root,\n   AuthPathSS
      authentication_path,\n   TreeNodeIndex leaf_idx,\n   StrongSpan<const TreeNode>
      leaf,\n   size_t node_size,\n   TreeLayerIndex total_tree_height,\n   uint32_t
      idx_offset,\n   concepts::tree_hash_node_pair<TreeNodeIndex, TreeLayerIndex,
      Address, StrongSpan<TreeNode>> auto node_pair_hash,\n   Address& tree_address)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Memory_Pool
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.h:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 52
    functionName: Botan::Memory_Pool
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.h
    functionUses: 1
    functionsReached:
    - Botan::Memory_Pool
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Memory_Pool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 143
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 143
    functionName: Botan::choose_bucket
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t choose_bucket(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - pool_ptr
    - poolsize
    - buf_ptr
    - bufsize
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: Botan::ptr_in_pool
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ptr_in_pool(const void* pool_ptr, size_t poolsize, const void*
      buf_ptr, size_t bufsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - b
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: Botan::find_set_bit
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: size_t
    signature: size_t find_set_bit(T b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:173,1
    - Dst: static_cast<bitmask_type>
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:175,1
    - Dst: static_cast<bitmask_type>
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: Botan::BitMap::BitMap
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bitmask_type>
    - resize
    linkageType: ''
    returnType: void
    signature: void BitMap(size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:186,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:188,1
    - Dst: size
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:188,1
    - Dst: static_cast<bitmask_type>
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bit
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: Botan::BitMap::free
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bitmask_type>
    - BOTAN_ASSERT_NOMSG
    - size
    linkageType: ''
    returnType: void
    signature: void free(size_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: Botan::BitMap::empty
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:219,1
    - Dst: size
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:220,1
    - Dst: static_cast<bitmask_type>
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:223,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - bit
    argTypes:
    - size_t*
    constantsTouched: []
    func_position:
      end: 232
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 232
    functionName: Botan::BitMap::find_free
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bitmask_type>
    - BOTAN_ASSERT_NOMSG
    - size
    linkageType: ''
    returnType: bool
    signature: bool BitMap::find_free(size_t* bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - mem
    - mem_size
    - item_size
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: Botan::Bucket::Bucket
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bucket(uint8_t* mem, size_t mem_size, size_t item_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_free
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:252,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: Botan::Bucket::alloc
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - find_free
    - BOTAN_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * alloc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Bucket::in_this_bucket
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:263,1
    - Dst: memset
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:271,1
    - Dst: Botan::Bucket::free
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 279
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 279
    functionName: Botan::Bucket::free
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 1
    functionsReached:
    - Botan::Bucket::free
    - memset
    - Botan::Bucket::in_this_bucket
    linkageType: ''
    returnType: bool
    signature: bool free(void* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ptr_in_pool
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: Botan::Bucket::in_this_bucket
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 1
    functionsReached:
    - ptr_in_pool
    linkageType: ''
    returnType: bool
    signature: bool in_this_bucket(void* p) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Bucket::empty
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: Botan::Bucket::empty
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 1
    functionsReached:
    - Botan::Bucket::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: Botan::Bucket::ptr
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * ptr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uintptr_t>
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:296,1
    - Dst: std::min
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:302,1
    - Dst: std::max
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:303,1
    - Dst: clear_bytes
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:305,1
    - Dst: OS::page_prohibit_access
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:307,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:309,1
    - Dst: static_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' pages'
    - page_size
    argTypes:
    - std::vector<void*>
    - size_t
    constantsTouched: []
    func_position:
      end: 317
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 317
    functionName: Botan::Memory_Pool::Memory_Pool
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - OS::page_prohibit_access
    - static_cast<uint8_t*>
    - std::min
    - std::max
    - push_back
    - clear_bytes
    - static_cast<uintptr_t>
    linkageType: ''
    returnType: void
    signature: void Memory_Pool::Memory_Pool(const std::vector<void*>& pages, size_t
      page_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:322,1
    - Dst: OS::page_allow_access
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: Memory_Pool::~Memory_Pool()
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - OS::page_allow_access
    - size
    linkageType: ''
    returnType: void
    signature: void Memory_Pool::~Memory_Pool()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:355,1
    - Dst: pop_front
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:357,1
    - Dst: OS::page_allow_access
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:359,1
    - Dst: push_front
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:361,1
    - Dst: Bucket
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:361,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:363,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 370
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 370
    functionName: Botan::Memory_Pool::allocate
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 0
    functionsReached:
    - pop_front
    - BOTAN_ASSERT_NOMSG
    - OS::page_allow_access
    - empty
    - Bucket
    - push_front
    linkageType: ''
    returnType: void
    signature: void * Memory_Pool::allocate(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:387,1
    - Dst: free
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:389,1
    - Dst: empty
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:390,1
    - Dst: OS::page_prohibit_access
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:392,1
    - Dst: ptr
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:392,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:394,1
    - Dst: ptr
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:394,1
    - Dst: size
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:396,1
    - Dst: std::swap
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:397,1
    - Dst: back
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:397,1
    - Dst: pop_back
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:399,1
    - Dst: std::terminate
      Src: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp:418,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 423
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 423
    functionName: Botan::Memory_Pool::deallocate
    functionSourceFile: /src/botan/src/lib/utils/mem_pool/mem_pool.cpp
    functionUses: 1
    functionsReached:
    - pop_back
    - OS::page_prohibit_access
    - free
    - size
    - std::swap
    - empty
    - push_back
    - ptr
    - back
    - std::terminate
    linkageType: ''
    returnType: bool
    signature: bool Memory_Pool::deallocate(void* p, size_t len) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_mul
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:22,1
    - Dst: Botan::mlock_allocator::allocate
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:23,1
    - Dst: auto::value
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - num_elems
    - elem_size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 28
    functionName: Botan::mlock_allocator::allocate
    functionSourceFile: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp
    functionUses: 1
    functionsReached:
    - checked_mul
    - Botan::mlock_allocator::allocate
    - auto::value
    linkageType: ''
    returnType: void
    signature: void * mlock_allocator::allocate(size_t num_elems, size_t elem_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_mul
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:35,1
    - Dst: Botan::mlock_allocator::deallocate
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:36,1
    - Dst: auto::value
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - p
    - num_elems
    - elem_size
    argTypes:
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: Botan::mlock_allocator::deallocate
    functionSourceFile: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp
    functionUses: 1
    functionsReached:
    - auto::value
    - checked_mul
    - Botan::mlock_allocator::deallocate
    linkageType: ''
    returnType: bool
    signature: bool mlock_allocator::deallocate(void* p, size_t num_elems, size_t
      elem_size) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OS::allocate_locked_pages
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:51,1
    - Dst: empty
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:53,1
    - Dst: std::make_unique<Memory_Pool>
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: Botan::mlock_allocator::mlock_allocator
    functionSourceFile: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp
    functionUses: 0
    functionsReached:
    - empty
    - OS::allocate_locked_pages
    - std::make_unique<Memory_Pool>
    linkageType: ''
    returnType: void
    signature: void mlock_allocator::mlock_allocator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:61,1
    - Dst: OS::free_locked_pages
      Src: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: mlock_allocator::~mlock_allocator()
    functionSourceFile: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp
    functionUses: 0
    functionsReached:
    - OS::free_locked_pages
    - reset
    linkageType: ''
    returnType: void
    signature: void mlock_allocator::~mlock_allocator()
  - 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: '& mlock_allocator::instance()'
    functionSourceFile: /src/botan/src/lib/utils/locking_allocator/locking_allocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mlock_allocator
    signature: mlock_allocator & mlock_allocator::instance()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::mlock_allocator::mlock_allocator
    functionSourceFile: /src/botan/src/lib/utils/locking_allocator/locking_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mlock_allocator(const mlock_allocator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '& operator=(const mlock_allocator&)'
    functionSourceFile: /src/botan/src/lib/utils/locking_allocator/locking_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mlock_allocator
    signature: mlock_allocator & operator=(const mlock_allocator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T0>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T0
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan::detail::first
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached:
    - std::forward<T0>
    linkageType: ''
    returnType: first_t<T0, Ts...>
    signature: first_t<T0, Ts...> first(T0&& t, Ts&&...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: Botan::detail::bitvector_iterator::bitvector_iterator
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bitvector_iterator()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: ~bitvector_iterator()
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~bitvector_iterator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::bitvector_iterator::update
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bitvector
    - offset
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: Botan::detail::bitvector_iterator::bitvector_iterator
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::bitvector_iterator::update
    linkageType: ''
    returnType: void
    signature: void bitvector_iterator(T* bitvector, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::bitvector_iterator::update
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - bitvector_iterator
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: Botan::detail::bitvector_iterator::bitvector_iterator
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::bitvector_iterator::update
    linkageType: ''
    returnType: void
    signature: void bitvector_iterator(const bitvector_iterator& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::bitvector_iterator::update
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - bitvector_iterator
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: Botan::detail::bitvector_iterator::bitvector_iterator
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::bitvector_iterator::update
    linkageType: ''
    returnType: void
    signature: void bitvector_iterator(bitvector_iterator&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - bitvector_iterator
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: '& operator=(const bitvector_iterator& other) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: bitvector_iterator
    signature: bitvector_iterator & operator=(const bitvector_iterator& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - bitvector_iterator
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: '& operator=(bitvector_iterator&& other) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: bitvector_iterator
    signature: bitvector_iterator & operator=(bitvector_iterator&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:165,1
    - Dst: signed_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: '& operator++() noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - update
    - signed_offset
    linkageType: ''
    returnType: bitvector_iterator
    signature: bitvector_iterator & operator++() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:171,1
    - Dst: signed_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: operator++(int) noexcept
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - update
    - signed_offset
    linkageType: ''
    returnType: bitvector_iterator
    signature: bitvector_iterator operator++(int) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:176,1
    - Dst: signed_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: '& operator--() noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - update
    - signed_offset
    linkageType: ''
    returnType: bitvector_iterator
    signature: bitvector_iterator & operator--() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:182,1
    - Dst: signed_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: operator--(int) noexcept
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - update
    - signed_offset
    linkageType: ''
    returnType: bitvector_iterator
    signature: bitvector_iterator operator--(int) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - bitvector_iterator
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: operator<=>(const bitvector_iterator& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::partial_ordering
    signature: std::partial_ordering operator<=>(const bitvector_iterator& other)
      const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - bitvector_iterator
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: operator==(const bitvector_iterator& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const bitvector_iterator& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: operator*() const
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: operator->() const
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:205,1
    - Dst: emplace
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:206,1
    - Dst: reset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - new_offset
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 211
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 211
    functionName: Botan::detail::bitvector_iterator::update
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 3
    functionsReached:
    - emplace
    - reset
    - size
    linkageType: ''
    returnType: void
    signature: void update(size_type new_offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<difference_type>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: Botan::detail::bitvector_iterator::signed_offset
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - static_cast<difference_type>
    linkageType: ''
    returnType: difference_type
    signature: difference_type signed_offset() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: Botan::bitvector_base::block_index
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type block_index(size_type pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: Botan::bitvector_base::block_offset
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type block_offset(size_type pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_index
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:270,1
    - Dst: block_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - blocks
    - pos
    argTypes:
    - std::span<BlockT>
    - size_type
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: Botan::bitvector_base::bitref_base::bitref_base
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - block_index
    - block_offset
    linkageType: ''
    returnType: void
    signature: void bitref_base(std::span<BlockT> blocks, size_type pos) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: Botan::bitvector_base::bitref_base::bitref_base
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bitref_base()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: Botan::bitvector_base::bitref_base::bitref_base
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bitref_base(const bitref_base&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: Botan::bitvector_base::bitref_base::bitref_base
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bitref_base(bitref_base&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: '& operator=(const bitref_base&)'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bitref_base
    signature: bitref_base & operator=(const bitref_base&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: '& operator=(bitref_base&&)'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bitref_base
    signature: bitref_base & operator=(bitref_base&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: ~bitref_base()
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~bitref_base()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_set
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: operator bool() const noexcept
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - is_set
    linkageType: ''
    returnType: void
    signature: void operator bool() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: Botan::bitvector_base::bitref_base::is_set
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_set() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:288,1
    - Dst: Botan::bitvector_base::bitref_base::is_set
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: Botan::bitvector_base::bitref_base::as
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - Botan::bitvector_base::bitref_base::is_set
    linkageType: ''
    returnType: T
    signature: T as() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Choice::from_int
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:292,1
    - Dst: static_cast<BlockT>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: Botan::bitvector_base::bitref_base::as_choice
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Choice::from_int
    - static_cast<BlockT>
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice as_choice() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: ~bitref()
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~bitref()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: Botan::bitvector_base::bitref<BlockT>::bitref
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bitref(const bitref&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 326
    functionName: Botan::bitvector_base::bitref<BlockT>::bitref
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bitref(bitref&&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: '& set() noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bitref
    signature: bitref & set() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: '& unset() noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bitref
    signature: bitref & unset() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: '& flip() noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bitref
    signature: bitref & flip() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bit
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: '& operator=(bool bit) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::sha512_msg_expand
    linkageType: ''
    returnType: bitref
    signature: bitref & operator=(bool bit) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_set
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bit'
    argTypes:
    - bitref
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: '& operator=(const bitref& bit) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - is_set
    linkageType: ''
    returnType: bitref
    signature: bitref & operator=(const bitref& bit) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_set
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' bit'
    argTypes:
    - bitref
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: '& operator=(bitref&& bit) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - is_set
    linkageType: ''
    returnType: bitref
    signature: bitref & operator=(bitref&& bit) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: '& operator&=(bool other) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::sha512_msg_expand
    linkageType: ''
    returnType: bitref
    signature: bitref & operator&=(bool other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: '& operator|=(bool other) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::sha512_msg_expand
    linkageType: ''
    returnType: bitref
    signature: bitref & operator|=(bool other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: '& operator^=(bool other) noexcept'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::sha512_msg_expand
    linkageType: ''
    returnType: bitref
    signature: bitref & operator^=(bool other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 374
    functionName: Botan::bitvector_base::bitvector_base
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bitvector_base()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::ceil_toblocks
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 376
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 376
    functionName: Botan::bitvector_base::bitvector_base
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::ceil_toblocks
    linkageType: ''
    returnType: void
    signature: void bitvector_base(size_type bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::from_bytes
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 393
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionName: Botan::bitvector_base::bitvector_base
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::from_bytes
    linkageType: ''
    returnType: void
    signature: void bitvector_base(std::span<const uint8_t> bytes, std::optional<size_type>
      bits = std::nullopt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_or
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:396,1
    - Dst: std::initializer_list<block_type>::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:396,1
    - Dst: std::initializer_list<block_type>::begin
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:396,1
    - Dst: std::initializer_list<block_type>::end
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - blocks
    argTypes:
    - std::initializer_list<block_type>
    constantsTouched: []
    func_position:
      end: 396
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 396
    functionName: Botan::bitvector_base::bitvector_base
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - std::initializer_list<block_type>::begin
    - std::initializer_list<block_type>::end
    - std::initializer_list<block_type>::size
    - value_or
    linkageType: ''
    returnType: void
    signature: void bitvector_base(std::initializer_list<block_type> blocks, std::optional<size_type>
      bits = std::nullopt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: Botan::bitvector_base::empty
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: Botan::bitvector_base::size
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:407,1
    - Dst: Botan::CT::Choice::from_int
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 414
    functionName: Botan::bitvector_base::has_odd_hamming_weight
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::CT::Choice::from_int
    - Botan::bitvector_base::full_range_operation
    linkageType: ''
    returnType: CT::Choice
    signature: CT::Choice has_odd_hamming_weight() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:422,1
    - Dst: ct_popcount
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: Botan::bitvector_base::hamming_weight
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - ct_popcount
    - Botan::bitvector_base::full_range_operation
    linkageType: ''
    returnType: size_type
    signature: size_type hamming_weight() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::subvector
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:431,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 432
    functionName: Botan::bitvector_base::as
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::size
    - Botan::bitvector_base::subvector
    linkageType: ''
    returnType: OutT
    signature: OutT as() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:439,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:439,1
    - Dst: Botan::bitvector_base::full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:440,1
    - Dst: unwrap_strong_type
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - OtherT
    constantsTouched: []
    func_position:
      end: 443
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 443
    functionName: Botan::bitvector_base::equals_vartime
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::size
    - unwrap_strong_type
    - Botan::bitvector_base::full_range_operation
    linkageType: ''
    returnType: bool
    signature: bool equals_vartime(const OtherT& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::none
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - OtherT
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: Botan::bitvector_base::equals
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::none
    linkageType: ''
    returnType: bool
    signature: bool equals(const OtherT& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_or
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:465,1
    - Dst: std::span<const uint8_t>::size_bytes
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:465,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:466,1
    - Dst: std::span<const uint8_t>::size_bytes
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:466,1
    - Dst: Botan::bitvector_base::resize
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:467,1
    - Dst: typecast_copy
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:473,1
    - Dst: first
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:473,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:473,1
    - Dst: Botan::bitvector_base::ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 480
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 480
    functionName: Botan::bitvector_base::from_bytes
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached:
    - typecast_copy
    - first
    - std::span<const uint8_t>::size_bytes
    - Botan::bitvector_base::ref
    - Botan::bitvector_base::resize
    - value_or
    - std::span<const uint8_t>::first
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void from_bytes(std::span<const uint8_t> bytes, std::optional<size_type>
      bits = std::nullopt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::to_bytes
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 494
    functionName: Botan::bitvector_base::to_bytes
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached:
    - Botan::bitvector_base::to_bytes
    linkageType: ''
    returnType: OutT
    signature: OutT to_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ceil_tobytes
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:502,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:503,1
    - Dst: std::span<uint8_t>::size_bytes
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:503,1
    - Dst: typecast_copy
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:509,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:509,1
    - Dst: first
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:509,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:513,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:513,1
    - Dst: Botan::bitvector_base::ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 517
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 517
    functionName: Botan::bitvector_base::to_bytes
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached:
    - clear_mem
    - typecast_copy
    - first
    - ceil_tobytes
    - std::span<uint8_t>::size_bytes
    - Botan::bitvector_base::ref
    - std::span<uint8_t>::subspan
    - std::span<uint8_t>::first
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void to_bytes(std::span<uint8_t> out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:525,1
    - Dst: Botan::bitvector_base::ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:526,1
    - Dst: std::stringstream::str
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 529
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 529
    functionName: Botan::bitvector_base::to_string
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::ref
    - Botan::bitvector_base::size
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::capacity
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 536
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 536
    functionName: Botan::bitvector_base::capacity
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached:
    - Botan::bitvector_base::capacity
    linkageType: ''
    returnType: size_type
    signature: size_type capacity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::reserve
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:538,1
    - Dst: Botan::bitvector_base::ceil_toblocks
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 538
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 538
    functionName: Botan::bitvector_base::reserve
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached:
    - Botan::bitvector_base::ceil_toblocks
    - Botan::bitvector_base::reserve
    linkageType: ''
    returnType: void
    signature: void reserve(size_type bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::ceil_toblocks
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:541,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:542,1
    - Dst: Botan::bitvector_base::resize
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:543,1
    - Dst: Botan::bitvector_base::zero_unused_bits
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 548
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 548
    functionName: Botan::bitvector_base::resize
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 2
    functionsReached:
    - Botan::bitvector_base::ceil_toblocks
    - Botan::bitvector_base::size
    - Botan::bitvector_base::resize
    - Botan::bitvector_base::zero_unused_bits
    linkageType: ''
    returnType: void
    signature: void resize(size_type bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:551,1
    - Dst: Botan::bitvector_base::resize
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:552,1
    - Dst: Botan::bitvector_base::ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bit
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 554
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 554
    functionName: Botan::bitvector_base::push_back
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::ref
    - Botan::bitvector_base::size
    - Botan::bitvector_base::resize
    linkageType: ''
    returnType: void
    signature: void push_back(bool bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::empty
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:557,1
    - Dst: Botan::bitvector_base::resize
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:558,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: Botan::bitvector_base::pop_back
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::size
    - Botan::bitvector_base::resize
    - Botan::bitvector_base::empty
    linkageType: ''
    returnType: void
    signature: void pop_back()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::check_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:568,1
    - Dst: Botan::bitvector_base::ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 570
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 570
    functionName: Botan::bitvector_base::at
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::ref
    - Botan::bitvector_base::check_offset
    linkageType: ''
    returnType: auto
    signature: auto at(size_type pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::check_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:574,1
    - Dst: Botan::bitvector_base::ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: Botan::bitvector_base::at
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::ref
    - Botan::bitvector_base::check_offset
    linkageType: ''
    returnType: auto
    signature: auto at(size_type pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 578
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 578
    functionName: Botan::bitvector_base::front
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::ref
    linkageType: ''
    returnType: auto
    signature: auto front()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 581
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 581
    functionName: Botan::bitvector_base::front
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::ref
    linkageType: ''
    returnType: auto
    signature: auto front() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:583,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 583
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 583
    functionName: Botan::bitvector_base::back
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::ref
    - Botan::bitvector_base::size
    linkageType: ''
    returnType: auto
    signature: auto back()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:586,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 586
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 586
    functionName: Botan::bitvector_base::back
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::ref
    - Botan::bitvector_base::size
    linkageType: ''
    returnType: auto
    signature: auto back() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:593,1
    - Dst: ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 596
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 596
    functionName: '& set(size_type pos)'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - check_offset
    - ref
    linkageType: ''
    returnType: bitvector_base
    signature: bitvector_base & set(size_type pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:602,1
    - Dst: static_cast<decltype(block)>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:603,1
    - Dst: zero_unused_bits
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 607
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 607
    functionName: '& set()'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - zero_unused_bits
    - static_cast<decltype(block)>
    - full_range_operation
    linkageType: ''
    returnType: bitvector_base
    signature: bitvector_base & set()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:614,1
    - Dst: ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: '& unset(size_type pos)'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - check_offset
    - ref
    linkageType: ''
    returnType: bitvector_base
    signature: bitvector_base & unset(size_type pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:623,1
    - Dst: static_cast<decltype(block)>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 627
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 627
    functionName: '& unset()'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - static_cast<decltype(block)>
    - full_range_operation
    linkageType: ''
    returnType: bitvector_base
    signature: bitvector_base & unset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:634,1
    - Dst: ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: '& flip(size_type pos)'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - check_offset
    - ref
    linkageType: ''
    returnType: bitvector_base
    signature: bitvector_base & flip(size_type pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:643,1
    - Dst: zero_unused_bits
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 646
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 646
    functionName: '& flip()'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - zero_unused_bits
    - full_range_operation
    linkageType: ''
    returnType: bitvector_base
    signature: bitvector_base & flip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 653
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 653
    functionName: Botan::bitvector_base::none_vartime
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::full_range_operation
    linkageType: ''
    returnType: bool
    signature: bool none_vartime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::hamming_weight
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 658
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 658
    functionName: Botan::bitvector_base::none
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached:
    - Botan::bitvector_base::hamming_weight
    linkageType: ''
    returnType: bool
    signature: bool none() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::none_vartime
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 663
      start: 663
    functionDepth: 2
    functionLinenumber: 663
    functionLinenumberEnd: 663
    functionName: Botan::bitvector_base::any_vartime
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::none_vartime
    linkageType: ''
    returnType: bool
    signature: bool any_vartime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::none
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 668
      start: 668
    functionDepth: 3
    functionLinenumber: 668
    functionLinenumberEnd: 668
    functionName: Botan::bitvector_base::any
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::none
    linkageType: ''
    returnType: bool
    signature: bool any() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 676
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 676
    functionName: Botan::bitvector_base::all_vartime
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::full_range_operation
    linkageType: ''
    returnType: bool
    signature: bool all_vartime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::hamming_weight
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 681
      start: 681
    functionDepth: 2
    functionLinenumber: 681
    functionLinenumberEnd: 681
    functionName: Botan::bitvector_base::all
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::hamming_weight
    linkageType: ''
    returnType: bool
    signature: bool all() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 683
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 683
    functionName: operator[](size_type pos)
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - ref
    linkageType: ''
    returnType: auto
    signature: auto operator[](size_type pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ref
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 686
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 686
    functionName: operator[](size_type pos) const
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - ref
    linkageType: ''
    returnType: auto
    signature: auto operator[](size_type pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_or
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:699,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:699,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:700,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:700,1
    - Dst: unwrap_strong_type
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:705,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:709,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:711,1
    - Dst: Botan::bitvector_base::block_index
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:711,1
    - Dst: Botan::bitvector_base::block_index
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:711,1
    - Dst: Botan::bitvector_base::block_index
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:711,1
    - Dst: unwrap_strong_type
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:716,1
    - Dst: Botan::bitvector_base::range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:717,1
    - Dst: Botan::bitvector_base::zero_unused_bits
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 724
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 724
    functionName: Botan::bitvector_base::subvector
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached:
    - Botan::bitvector_base::block_index
    - copy_mem
    - Botan::bitvector_base::range_operation
    - Botan::bitvector_base::size
    - unwrap_strong_type
    - subspan
    - value_or
    - Botan::bitvector_base::zero_unused_bits
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: auto
    signature: auto subvector(size_type pos, std::optional<size_type> length = std::nullopt)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:741,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:741,1
    - Dst: load_le<result_t>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:745,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:745,1
    - Dst: Botan::bitvector_base::block_index
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:745,1
    - Dst: Botan::bitvector_base::range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:748,1
    - Dst: wrap_strong_type<OutT>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 758
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 758
    functionName: Botan::bitvector_base::subvector
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached:
    - Botan::bitvector_base::block_index
    - Botan::bitvector_base::range_operation
    - Botan::bitvector_base::size
    - load_le<result_t>
    - subspan
    - wrap_strong_type<OutT>
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: OutT
    signature: OutT subvector(size_type pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:777,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:777,1
    - Dst: store_le
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:780,1
    - Dst: subspan
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:780,1
    - Dst: Botan::bitvector_base::block_index
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:780,1
    - Dst: unwrap_strong_type
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:781,1
    - Dst: Botan::bitvector_base::range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:784,1
    - Dst: unwrap_strong_type
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pos
    - value
    argTypes:
    - size_type
    - InT
    constantsTouched: []
    func_position:
      end: 800
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 800
    functionName: Botan::bitvector_base::subvector_replace
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::block_index
    - Botan::bitvector_base::range_operation
    - store_le
    - Botan::bitvector_base::size
    - unwrap_strong_type
    - subspan
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void subvector_replace(size_type pos, InT value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: auto::flip
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 812
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 812
    functionName: operator~()
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - auto::flip
    linkageType: ''
    returnType: auto
    signature: auto operator~()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:816,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - OtherT
    constantsTouched: []
    func_position:
      end: 820
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 820
    functionName: '& operator|=(const OtherT& other)'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::unwrap_strong_type
    - full_range_operation
    linkageType: ''
    returnType: auto
    signature: auto & operator|=(const OtherT& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:824,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - OtherT
    constantsTouched: []
    func_position:
      end: 828
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 828
    functionName: '& operator&=(const OtherT& other)'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::unwrap_strong_type
    - full_range_operation
    linkageType: ''
    returnType: auto
    signature: auto & operator&=(const OtherT& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:832,1
    - Dst: Botan::unwrap_strong_type
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - OtherT
    constantsTouched: []
    func_position:
      end: 836
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 836
    functionName: '& operator^=(const OtherT& other)'
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::unwrap_strong_type
    - full_range_operation
    linkageType: ''
    returnType: auto
    signature: auto & operator^=(const OtherT& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:855,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:856,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:856,1
    - Dst: m_blocks::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:856,1
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:859,1
    - Dst: if_set_return
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:860,1
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:862,1
    - Dst: if_set_return
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:863,1
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:865,1
    - Dst: if_set_return
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:866,1
    - Dst: Botan::CT::Mask::from_choice
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:868,1
    - Dst: if_set_return
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:869,1
    - Dst: Botan::bitvector_base::full_range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:873,1
    - Dst: unwrap_strong_type
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - condition
    - ' other'
    argTypes:
    - CT::Choice
    - OtherT
    constantsTouched: []
    func_position:
      end: 874
      start: 854
    functionDepth: 3
    functionLinenumber: 854
    functionLinenumberEnd: 874
    functionName: Botan::bitvector_base::ct_conditional_xor
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - m_blocks::size
    - Botan::CT::Mask::from_choice
    - Botan::bitvector_base::size
    - unwrap_strong_type
    - if_set_return
    - Botan::bitvector_base::full_range_operation
    linkageType: ''
    returnType: void
    signature: void ct_conditional_xor(CT::Choice condition, const OtherT& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 876
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 876
    functionName: Botan::bitvector_base::_const_time_poison
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::CT::poison
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 878
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 878
    functionName: Botan::bitvector_base::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::CT::unpoison
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 886
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 886
    functionName: Botan::bitvector_base::begin
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 888
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 888
    functionName: Botan::bitvector_base::begin
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 890
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 890
    functionName: Botan::bitvector_base::cbegin
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:892,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 892
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 892
    functionName: Botan::bitvector_base::end
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - iterator
    - Botan::bitvector_base::size
    linkageType: ''
    returnType: iterator
    signature: iterator end() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:894,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 894
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 894
    functionName: Botan::bitvector_base::end
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - const_iterator
    - Botan::bitvector_base::size
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:896,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 896
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 896
    functionName: Botan::bitvector_base::cend
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - const_iterator
    - Botan::bitvector_base::size
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 905
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 905
    functionName: Botan::bitvector_base::check_offset
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 2
    functionsReached:
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void check_offset(size_type pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:908,1
    - Dst: Botan::bitvector_base::block_offset
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:912,1
    - Dst: Botan::bitvector_base::block_index
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 915
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 915
    functionName: Botan::bitvector_base::zero_unused_bits
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 2
    functionsReached:
    - Botan::bitvector_base::block_index
    - Botan::bitvector_base::size
    - Botan::bitvector_base::block_offset
    linkageType: ''
    returnType: void
    signature: void zero_unused_bits()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 919
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 919
    functionName: Botan::bitvector_base::ceil_toblocks
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type ceil_toblocks(size_type bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitref<const block_type>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 921
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 921
    functionName: Botan::bitvector_base::ref
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 10
    functionsReached:
    - bitref<const block_type>
    linkageType: ''
    returnType: auto
    signature: auto ref(size_type pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitref<block_type>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 923
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 923
    functionName: Botan::bitvector_base::ref
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 10
    functionsReached:
    - bitref<block_type>
    linkageType: ''
    returnType: auto
    signature: auto ref(size_type pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 943
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 943
    functionName: Botan::bitvector_base::BitRangeOperator::is_const
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_const()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:955,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:956,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:959,1
    - Dst: Botan::bitvector_base::BitRangeOperator::is_byte_aligned
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:959,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:960,1
    - Dst: Botan::bitvector_base::BitRangeOperator::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' source'
    - start_bitoffset
    - bitlength
    argTypes:
    - BitvectorT
    - size_type
    - size_type
    constantsTouched: []
    func_position:
      end: 961
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 961
    functionName: Botan::bitvector_base::BitRangeOperator::BitRangeOperator
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - Botan::bitvector_base::BitRangeOperator::is_byte_aligned
    - Botan::bitvector_base::BitRangeOperator::size
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void BitRangeOperator(BitvectorT& source, size_type start_bitoffset,
      size_type bitlength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::BitRangeOperator::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - BitvectorT
    constantsTouched: []
    func_position:
      end: 963
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 963
    functionName: Botan::bitvector_base::BitRangeOperator::BitRangeOperator
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::BitRangeOperator::size
    linkageType: ''
    returnType: void
    signature: void BitRangeOperator(BitvectorT& source)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 965
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 965
    functionName: Botan::bitvector_base::BitRangeOperator::is_byte_aligned
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_byte_aligned()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 970
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 970
    functionName: Botan::bitvector_base::BitRangeOperator::size
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 975
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 975
    functionName: Botan::bitvector_base::BitRangeOperator::bits_to_read
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type bits_to_read() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 980
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 980
    functionName: Botan::bitvector_base::BitRangeOperator::bits_to_write
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type bits_to_write() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::BitRangeOperator::bits_to_read
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:991,1
    - Dst: Botan::bitvector_base::BitRangeOperator::is_byte_aligned
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:994,1
    - Dst: load_le
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:995,1
    - Dst: as_byte_span
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:995,1
    - Dst: Botan::bitvector_base::BitRangeOperator::read_bytepos
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:995,1
    - Dst: Botan::bitvector_base::BitRangeOperator::read_bytepos
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:997,1
    - Dst: std::min
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:998,1
    - Dst: Botan::bitvector_base::BitRangeOperator::bits_to_read
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:998,1
    - Dst: BlockT
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1003,1
    - Dst: load_le
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1008,1
    - Dst: as_byte_span
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1008,1
    - Dst: std::min
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1013,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1015
    functionName: Botan::bitvector_base::BitRangeOperator::load_next
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::BitRangeOperator::is_byte_aligned
    - std::min
    - Botan::bitvector_base::BitRangeOperator::read_bytepos
    - BlockT
    - as_byte_span
    - load_le
    - Botan::bitvector_base::BitRangeOperator::bits_to_read
    linkageType: ''
    returnType: BlockT
    signature: BlockT load_next() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::BitRangeOperator::is_byte_aligned
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1029,1
    - Dst: as_byte_span
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1030,1
    - Dst: Botan::bitvector_base::BitRangeOperator::write_bytepos
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1030,1
    - Dst: store_le
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1031,1
    - Dst: Botan::bitvector_base::BitRangeOperator::write_bytepos
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1033,1
    - Dst: std::min
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1034,1
    - Dst: Botan::bitvector_base::BitRangeOperator::bits_to_write
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1034,1
    - Dst: as_byte_span
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1045,1
    - Dst: BlockT
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1046,1
    - Dst: load_le
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1048,1
    - Dst: store_le
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1049,1
    - Dst: std::min
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1053,1
    - Dst: Botan::bitvector_base::BitRangeOperator::bits_to_write
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - block
    argTypes:
    - BlockT
    constantsTouched: []
    func_position:
      end: 1054
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1054
    functionName: Botan::bitvector_base::BitRangeOperator::store_next
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::BitRangeOperator::is_byte_aligned
    - std::min
    - Botan::bitvector_base::BitRangeOperator::bits_to_write
    - store_le
    - BlockT
    - as_byte_span
    - load_le
    - Botan::bitvector_base::BitRangeOperator::write_bytepos
    linkageType: ''
    returnType: void
    signature: void store_next(BlockT block)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1059,1
    - Dst: Botan::bitvector_base::BitRangeOperator::is_memory_aligned_to
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1059,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1060,1
    - Dst: Botan::bitvector_base::BitRangeOperator::read_bytepos
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1060,1
    - Dst: reinterpret_cast<BlockT*>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - blocks
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1064
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1064
    functionName: Botan::bitvector_base::BitRangeOperator::span
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - Botan::bitvector_base::BitRangeOperator::read_bytepos
    - Botan::bitvector_base::BitRangeOperator::is_memory_aligned_to
    - reinterpret_cast<BlockT*>
    linkageType: ''
    returnType: std::span<BlockT>
    signature: std::span<BlockT> span(size_type blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1069,1
    - Dst: Botan::bitvector_base::BitRangeOperator::is_memory_aligned_to
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1069,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1070,1
    - Dst: Botan::bitvector_base::BitRangeOperator::read_bytepos
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1070,1
    - Dst: reinterpret_cast<const BlockT*>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - blocks
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1074
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1074
    functionName: Botan::bitvector_base::BitRangeOperator::span
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - Botan::bitvector_base::BitRangeOperator::read_bytepos
    - Botan::bitvector_base::BitRangeOperator::is_memory_aligned_to
    - reinterpret_cast<const BlockT*>
    linkageType: ''
    returnType: std::span<const BlockT>
    signature: std::span<const BlockT> span(size_type blocks) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::BitRangeOperator::is_byte_aligned
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1081
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1081
    functionName: Botan::bitvector_base::BitRangeOperator::advance
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::BitRangeOperator::is_byte_aligned
    linkageType: ''
    returnType: void
    signature: "void advance(size_type bytes)\n               requires(is_byte_aligned())"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::align
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1095
    functionName: Botan::bitvector_base::BitRangeOperator::is_memory_aligned_to
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 2
    functionsReached:
    - std::align
    linkageType: ''
    returnType: size_t
    signature: size_t is_memory_aligned_to() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1098
    functionName: Botan::bitvector_base::BitRangeOperator::read_bytepos
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type read_bytepos() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1100
    functionName: Botan::bitvector_base::BitRangeOperator::write_bytepos
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type write_bytepos() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::first
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1137,1
    - Dst: Botan::bitvector_base::blockwise_processing_callback_trait::apply
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1140,1
    - Dst: Botan::detail::first
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1144,1
    - Dst: Botan::bitvector_base::blockwise_processing_callback_trait::apply
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1144,1
    - Dst: Botan::bitvector_base::blockwise_processing_callback_trait::apply
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - fn
    argTypes:
    - FnT
    constantsTouched: []
    func_position:
      end: 1150
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1150
    functionName: Botan::bitvector_base::blockwise_processing_callback_trait::apply_on_full_blocks
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::blockwise_processing_callback_trait::apply
    - Botan::detail::first
    linkageType: ''
    returnType: bool
    signature: bool apply_on_full_blocks(FnT fn, std::span<BlockTs>... blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::first
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1159,1
    - Dst: Botan::bitvector_base::blockwise_processing_callback_trait::apply
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1168,1
    - Dst: template load_next<BlockT>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1168,1
    - Dst: Botan::detail::first
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1172,1
    - Dst: Botan::bitvector_base::blockwise_processing_callback_trait::apply
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1172,1
    - Dst: template load_next<BlockT>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1172,1
    - Dst: Botan::bitvector_base::blockwise_processing_callback_trait::apply
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1174,1
    - Dst: template load_next<BlockT>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - fn
    argTypes:
    - FnT
    constantsTouched: []
    func_position:
      end: 1178
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1178
    functionName: Botan::bitvector_base::blockwise_processing_callback_trait::apply_on_unaligned_blocks
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::blockwise_processing_callback_trait::apply
    - Botan::detail::first
    - template load_next<BlockT>
    linkageType: ''
    returnType: bool
    signature: bool apply_on_unaligned_blocks(FnT fn, BitRangeOperatorTs&... ops)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1185,1
    - Dst: make_mask<detail::first_t<BlockTs...>>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1185,1
    - Dst: fn
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fn
    - bits
    argTypes:
    - FnT
    - size_type
    constantsTouched: []
    func_position:
      end: 1189
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1189
    functionName: Botan::bitvector_base::blockwise_processing_callback_trait::apply
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 2
    functionsReached:
    - fn
    - make_mask<detail::first_t<BlockTs...>>
    linkageType: ''
    returnType: auto
    signature: auto apply(FnT fn, size_type bits, BlockTs... blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::first
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1205,1
    - Dst: Botan::bitvector_base::blockwise_processing_callback_trait::apply_on_full_blocks
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1208,1
    - Dst: template span<BlockT>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1208,1
    - Dst: advance
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fn
    argTypes:
    - FnT
    constantsTouched: []
    func_position:
      end: 1211
      start: 1202
    functionDepth: 2
    functionLinenumber: 1202
    functionLinenumberEnd: 1211
    functionName: Botan::bitvector_base::_process_in_fully_aligned_blocks_of
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::bitvector_base::blockwise_processing_callback_trait::apply_on_full_blocks
    - advance
    - template span<BlockT>
    - Botan::detail::first
    linkageType: ''
    returnType: bool
    signature: bool _process_in_fully_aligned_blocks_of(FnT fn, BitRangeOperatorTs&...
      ops)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: callback_trait::template apply_on_unaligned_blocks<BlockT>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - FnT
    constantsTouched: []
    func_position:
      end: 1223
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1223
    functionName: Botan::bitvector_base::_process_in_unaligned_blocks_of
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - callback_trait::template apply_on_unaligned_blocks<BlockT>
    linkageType: ''
    returnType: bool
    signature: bool _process_in_unaligned_blocks_of(FnT fn, BitRangeOperatorTs&...
      ops)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1242,1
    - Dst: Botan::bitvector_base::has_equal_lengths
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1242,1
    - Dst: Botan::bitvector_base::BitRangeOperator::is_byte_aligned
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1244,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1252,1
    - Dst: Botan::bitvector_base::_process_in_fully_aligned_blocks_of
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1254,1
    - Dst: Botan::bitvector_base::_process_in_fully_aligned_blocks_of
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1255,1
    - Dst: Botan::bitvector_base::_process_in_fully_aligned_blocks_of
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1256,1
    - Dst: Botan::bitvector_base::_process_in_unaligned_blocks_of
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1257,1
    - Dst: Botan::bitvector_base::_process_in_unaligned_blocks_of
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1259,1
    - Dst: Botan::bitvector_base::_process_in_unaligned_blocks_of
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1260,1
    - Dst: Botan::bitvector_base::_process_in_unaligned_blocks_of
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1261,1
    - Dst: Botan::bitvector_base::_process_in_unaligned_blocks_of
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1262,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 1
    argNames:
    - fn
    argTypes:
    - FnT
    constantsTouched: []
    func_position:
      end: 1264
      start: 1241
    functionDepth: 3
    functionLinenumber: 1241
    functionLinenumberEnd: 1264
    functionName: Botan::bitvector_base::range_operation
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 3
    functionsReached:
    - Botan::bitvector_base::has_equal_lengths
    - Botan::bitvector_base::BitRangeOperator::is_byte_aligned
    - BOTAN_ASSERT_NOMSG
    - Botan::bitvector_base::_process_in_fully_aligned_blocks_of
    - BOTAN_ASSERT
    - Botan::bitvector_base::_process_in_unaligned_blocks_of
    linkageType: ''
    returnType: bool
    signature: bool range_operation(FnT fn, BitRangeOperatorTs... ops)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1273,1
    - Dst: Botan::bitvector_base::has_equal_lengths
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1273,1
    - Dst: Botan::bitvector_base::range_operation
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1274,1
    - Dst: std::forward<FnT>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1274,1
    - Dst: BitRangeOperator<BitvectorTs>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' fn'
    argTypes:
    - FnT
    constantsTouched: []
    func_position:
      end: 1275
      start: 1272
    functionDepth: 4
    functionLinenumber: 1272
    functionLinenumberEnd: 1275
    functionName: Botan::bitvector_base::full_range_operation
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 6
    functionsReached:
    - Botan::bitvector_base::has_equal_lengths
    - BitRangeOperator<BitvectorTs>
    - BOTAN_ASSERT
    - Botan::bitvector_base::range_operation
    - std::forward<FnT>
    linkageType: ''
    returnType: bool
    signature: bool full_range_operation(FnT&& fn, BitvectorTs&... bitvecs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1279,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - SomeT
    constantsTouched: []
    func_position:
      end: 1280
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1280
    functionName: Botan::bitvector_base::has_equal_lengths
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 2
    functionsReached:
    - Botan::bitvector_base::size
    linkageType: ''
    returnType: bool
    signature: bool has_equal_lengths(const SomeT& v, const SomeTs&... vs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1285,1
    - Dst: T
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1287
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1287
    functionName: Botan::bitvector_base::make_mask
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - T
    linkageType: ''
    returnType: T
    signature: T make_mask(size_type bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1289,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1289
    functionName: Botan::bitvector_base::as_byte_span
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - data
    - Botan::bitvector_base::size
    linkageType: ''
    returnType: auto
    signature: auto as_byte_span()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1291,1
    - Dst: Botan::bitvector_base::size
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1291
    functionName: Botan::bitvector_base::as_byte_span
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - data
    - Botan::bitvector_base::size
    linkageType: ''
    returnType: auto
    signature: auto as_byte_span() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: template as<secure_bitvector>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1313,1
    - Dst: template as<bitvector>
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' lhs'
    argTypes:
    - T1
    constantsTouched: []
    func_position:
      end: 1317
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1317
    functionName: Botan::detail::copy_lhs_allocator_aware
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - template as<secure_bitvector>
    - template as<bitvector>
    linkageType: ''
    returnType: auto
    signature: auto copy_lhs_allocator_aware(const T1& lhs, const T2&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::copy_lhs_allocator_aware
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - T1
    - T2
    constantsTouched: []
    func_position:
      end: 1326
      start: 1322
    functionDepth: 1
    functionLinenumber: 1322
    functionLinenumberEnd: 1326
    functionName: operator|(const T1& lhs, const T2& rhs)
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::copy_lhs_allocator_aware
    linkageType: ''
    returnType: auto
    signature: auto operator|(const T1& lhs, const T2& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::copy_lhs_allocator_aware
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - T1
    - T2
    constantsTouched: []
    func_position:
      end: 1333
      start: 1329
    functionDepth: 1
    functionLinenumber: 1329
    functionLinenumberEnd: 1333
    functionName: operator&(const T1& lhs, const T2& rhs)
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::copy_lhs_allocator_aware
    linkageType: ''
    returnType: auto
    signature: auto operator&(const T1& lhs, const T2& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::copy_lhs_allocator_aware
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - T1
    - T2
    constantsTouched: []
    func_position:
      end: 1340
      start: 1336
    functionDepth: 1
    functionLinenumber: 1336
    functionLinenumberEnd: 1340
    functionName: operator^(const T1& lhs, const T2& rhs)
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::copy_lhs_allocator_aware
    linkageType: ''
    returnType: auto
    signature: auto operator^(const T1& lhs, const T2& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: equals_vartime
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - T1
    - T2
    constantsTouched: []
    func_position:
      end: 1345
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1345
    functionName: operator==(const T1& lhs, const T2& rhs)
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - equals_vartime
    linkageType: ''
    returnType: bool
    signature: bool operator==(const T1& lhs, const T2& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: equals_vartime
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - T1
    - T2
    constantsTouched: []
    func_position:
      end: 1350
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1350
    functionName: operator!=(const T1& lhs, const T2& rhs)
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - equals_vartime
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const T1& lhs, const T2& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1366
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1366
    functionName: Botan::detail::Strong_Adapter<T>::at
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto at(size_type i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1368
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1368
    functionName: Botan::detail::Strong_Adapter<T>::at
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto at(size_type i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1370
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1370
    functionName: Botan::detail::Strong_Adapter<T>::set
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto set(size_type i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1372
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1372
    functionName: Botan::detail::Strong_Adapter<T>::unset
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto unset(size_type i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1374
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1374
    functionName: Botan::detail::Strong_Adapter<T>::flip
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto flip(size_type i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1376
    functionName: Botan::detail::Strong_Adapter<T>::flip
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto flip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1381
    functionName: Botan::detail::Strong_Adapter<T>::as
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto as() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1386
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1386
    functionName: Botan::detail::Strong_Adapter<T>::subvector
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto subvector(size_type pos, std::optional<size_type> length = std::nullopt)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1393
      start: 1391
    functionDepth: 0
    functionLinenumber: 1391
    functionLinenumberEnd: 1393
    functionName: Botan::detail::Strong_Adapter<T>::subvector
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto subvector(size_type pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pos
    - value
    argTypes:
    - size_type
    - InT
    constantsTouched: []
    func_position:
      end: 1399
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1399
    functionName: Botan::detail::Strong_Adapter<T>::subvector_replace
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: void
    signature: void subvector_replace(size_type pos, InT value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - OtherT
    constantsTouched: []
    func_position:
      end: 1404
      start: 1402
    functionDepth: 0
    functionLinenumber: 1402
    functionLinenumberEnd: 1404
    functionName: Botan::detail::Strong_Adapter<T>::equals
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto equals(const OtherT& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 1406
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1406
    functionName: Botan::detail::Strong_Adapter<T>::push_back
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto push_back(bool b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1408
    functionName: Botan::detail::Strong_Adapter<T>::pop_back
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto pop_back()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1410
    functionName: Botan::detail::Strong_Adapter<T>::front
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto front() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1412
    functionDepth: 0
    functionLinenumber: 1412
    functionLinenumberEnd: 1412
    functionName: Botan::detail::Strong_Adapter<T>::front
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto front()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1414
    functionName: Botan::detail::Strong_Adapter<T>::back
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto back() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1416
    functionName: Botan::detail::Strong_Adapter<T>::back
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto back()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1418
    functionName: Botan::detail::Strong_Adapter<T>::any_vartime
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto any_vartime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1420
    functionName: Botan::detail::Strong_Adapter<T>::all_vartime
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto all_vartime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1422
    functionName: Botan::detail::Strong_Adapter<T>::none_vartime
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto none_vartime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1424
    functionName: Botan::detail::Strong_Adapter<T>::has_odd_hamming_weight
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto has_odd_hamming_weight() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1426
    functionName: Botan::detail::Strong_Adapter<T>::hamming_weight
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto hamming_weight() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 1430
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1430
    functionName: Botan::detail::Strong_Adapter<T>::from_bytes
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto from_bytes(std::span<const uint8_t> bytes, std::optional<size_type>
      bits = std::nullopt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1435
    functionName: Botan::detail::Strong_Adapter<T>::to_bytes
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto to_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 1437
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1437
    functionName: Botan::detail::Strong_Adapter<T>::to_bytes
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto to_bytes(std::span<uint8_t> out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1439
    functionName: Botan::detail::Strong_Adapter<T>::to_string
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1441
    functionDepth: 0
    functionLinenumber: 1441
    functionLinenumberEnd: 1441
    functionName: Botan::detail::Strong_Adapter<T>::capacity
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto capacity() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    constantsTouched: []
    func_position:
      end: 1443
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1443
    functionName: Botan::detail::Strong_Adapter<T>::reserve
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: auto
    signature: auto reserve(size_type n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1445
    functionName: Botan::detail::Strong_Adapter<T>::_const_time_poison
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: void
    signature: void _const_time_poison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::detail::Strong_Adapter<T>::get
      Src: /src/botan/src/lib/utils/bitvector/bitvector.h:1447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1447
    functionDepth: 0
    functionLinenumber: 1447
    functionLinenumberEnd: 1447
    functionName: Botan::detail::Strong_Adapter<T>::_const_time_unpoison
    functionSourceFile: /src/botan/src/lib/utils/bitvector/bitvector.h
    functionUses: 0
    functionsReached:
    - Botan::detail::Strong_Adapter<T>::get
    linkageType: ''
    returnType: void
    signature: void _const_time_unpoison() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '& operator=(const SIMD_4x32& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 & operator=(const SIMD_4x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: Botan::SIMD_4x32::SIMD_4x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_4x32(const SIMD_4x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '& operator=(SIMD_4x32&& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 & operator=(SIMD_4x32&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::SIMD_4x32::SIMD_4x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_4x32(SIMD_4x32&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ~SIMD_4x32()
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SIMD_4x32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_setzero_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:79,1
    - Dst: vec_splat_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:81,1
    - Dst: vdupq_n_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:83,1
    - Dst: __lsx_vldi
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: Botan::SIMD_4x32::SIMD_4x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached:
    - __lsx_vldi
    - vec_splat_u32
    - vdupq_n_u32
    - _mm_setzero_si128
    linkageType: ''
    returnType: void
    signature: void SIMD_4x32() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:94,1
    - Dst: vld1q_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:101,1
    - Dst: __lsx_vld
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - B0
    - B1
    - B2
    - B3
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: Botan::SIMD_4x32::SIMD_4x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached:
    - _mm_set_epi32
    - __lsx_vld
    - vld1q_u32
    linkageType: ''
    returnType: void
    signature: void SIMD_4x32(uint32_t B0, uint32_t B1, uint32_t B2, uint32_t B3)
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:114,1
    - Dst: _mm_set1_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:114,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:116,1
    - Dst: vdupq_n_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:116,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:118,1
    - Dst: __lsx_vreplgr2vr_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:118,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: Botan::SIMD_4x32::splat
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 11
    functionsReached:
    - Botan::SIMD_4x32::SIMD_4x32
    - _mm_set1_epi32
    - vdupq_n_u32
    - __lsx_vreplgr2vr_w
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 splat(uint32_t B) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:129,1
    - Dst: _mm_set1_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:129,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:131,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:131,1
    - Dst: vdupq_n_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:131,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:133,1
    - Dst: __lsx_vreplgr2vr_b
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:133,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: Botan::SIMD_4x32::splat_u8
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 6
    functionsReached:
    - Botan::SIMD_4x32::SIMD_4x32
    - _mm_set1_epi8
    - __lsx_vreplgr2vr_b
    - vdupq_n_u8
    - vreinterpretq_u32_u8
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 splat_u8(uint8_t B) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:145,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:145,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:145,1
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:148,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:148,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:150,1
    - Dst: SIMD_4x32::bswap
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:154,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:159,1
    - Dst: __lsx_vld
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 161
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 161
    functionName: Botan::SIMD_4x32::load_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 26
    functionsReached:
    - __lsx_vld
    - reinterpret_cast<const __m128i*>
    - Botan::SIMD_4x32::SIMD_4x32
    - Botan::load_le
    - static_cast<const uint8_t*>
    - SIMD_4x32::bswap
    - _mm_loadu_si128
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 load_le(const void* in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:168,1
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:172,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:172,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:174,1
    - Dst: SIMD_4x32::bswap
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 184
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 184
    functionName: Botan::SIMD_4x32::load_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 10
    functionsReached:
    - Botan::SIMD_4x32::SIMD_4x32
    - Botan::load_be
    - static_cast<const uint8_t*>
    - SIMD_4x32::bswap
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: void
    signature: void load_be(const void* in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:186,1
    - Dst: std::span<const uint8_t, 16>::data
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t, 16>
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: Botan::SIMD_4x32::load_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 28
    functionsReached:
    - std::span<const uint8_t, 16>::data
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 load_le(std::span<const uint8_t, 16> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_be
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:188,1
    - Dst: std::span<const uint8_t, 16>::data
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t, 16>
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: Botan::SIMD_4x32::load_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 11
    functionsReached:
    - Botan::SIMD_4x32::load_be
    - std::span<const uint8_t, 16>::data
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 load_be(std::span<const uint8_t, 16> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::store_le
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:190,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: Botan::SIMD_4x32::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 2
    functionsReached:
    - Botan::SIMD_4x32::store_le
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void store_le(uint32_t out[4]) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::store_be
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:192,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: Botan::SIMD_4x32::store_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uint8_t*>
    - Botan::SIMD_4x32::store_be
    linkageType: ''
    returnType: void
    signature: void store_be(uint32_t out[4]) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::store_le
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:194,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: Botan::SIMD_4x32::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 3
    functionsReached:
    - Botan::SIMD_4x32::store_le
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void store_le(uint64_t out[2]) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:202,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:202,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:202,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:211,1
    - Dst: Botan::store_le
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:212,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:216,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:216,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:218,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:218,1
    - Dst: Botan::SIMD_4x32::bswap
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:218,1
    - Dst: __lsx_vst
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:221,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 223
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 223
    functionName: Botan::SIMD_4x32::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 3
    functionsReached:
    - __lsx_vst
    - Botan::store_le
    - reinterpret_cast<__m128i*>
    - Botan::SIMD_4x32::raw
    - vreinterpretq_u8_u32
    - _mm_storeu_si128
    - vst1q_u8
    - Botan::SIMD_4x32::bswap
    linkageType: ''
    returnType: void
    signature: void store_le(uint8_t out[]) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::bswap
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:231,1
    - Dst: Botan::store_be
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:241,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:245,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:245,1
    - Dst: Botan::SIMD_4x32::bswap
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:245,1
    - Dst: vst1q_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:247,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 250
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 250
    functionName: Botan::SIMD_4x32::store_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 2
    functionsReached:
    - vreinterpretq_u8_u32
    - Botan::store_be
    - vst1q_u8
    - Botan::SIMD_4x32::bswap
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X32
    signature: BOTAN_FN_ISA_SIMD_4X32 store_be(uint8_t out[]) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::store_be
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:252,1
    - Dst: std::span<uint8_t, 16>::data
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t, 16>
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: Botan::SIMD_4x32::store_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 3
    functionsReached:
    - std::span<uint8_t, 16>::data
    - Botan::SIMD_4x32::store_be
    linkageType: ''
    returnType: void
    signature: void store_be(std::span<uint8_t, 16> out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::store_le
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:254,1
    - Dst: std::span<uint8_t, 16>::data
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t, 16>
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: Botan::SIMD_4x32::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 4
    functionsReached:
    - std::span<uint8_t, 16>::data
    - Botan::SIMD_4x32::store_le
    linkageType: ''
    returnType: void
    signature: void store_le(std::span<uint8_t, 16> out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_COMPILER_HAS_BUILTIN
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:260,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:261,1
    - Dst: __builtin_crypto_vshasigmaw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:261,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:261,1
    - Dst: Botan::SIMD_4x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:263,1
    - Dst: Botan::SIMD_4x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:264,1
    - Dst: Botan::SIMD_4x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: Botan::SIMD_4x32::sigma0
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - BOTAN_COMPILER_HAS_BUILTIN
    - Botan::SIMD_4x32::raw
    - __builtin_crypto_vshasigmaw
    - Botan::SIMD_4x32::SIMD_4x32
    - Botan::SIMD_4x32::rotr
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 sigma0() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_COMPILER_HAS_BUILTIN
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:274,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:275,1
    - Dst: __builtin_crypto_vshasigmaw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:275,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:275,1
    - Dst: Botan::SIMD_4x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:277,1
    - Dst: Botan::SIMD_4x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:278,1
    - Dst: Botan::SIMD_4x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: Botan::SIMD_4x32::sigma1
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - BOTAN_COMPILER_HAS_BUILTIN
    - Botan::SIMD_4x32::raw
    - __builtin_crypto_vshasigmaw
    - Botan::SIMD_4x32::SIMD_4x32
    - Botan::SIMD_4x32::rotr
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 sigma1() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:293,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:294,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:294,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:294,1
    - Dst: _mm_set_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:296,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:297,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:297,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:297,1
    - Dst: _mm_set_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:299,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:300,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:300,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:300,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:302,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:302,1
    - Dst: _mm_slli_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:302,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:302,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:302,1
    - Dst: _mm_srli_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:303,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:303,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:303,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:310,1
    - Dst: vec_rl
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:310,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:318,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:319,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:319,1
    - Dst: vqtbl1q_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:319,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:319,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:321,1
    - Dst: vreinterpretq_u32_u16
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:321,1
    - Dst: vrev32q_u16
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:321,1
    - Dst: vreinterpretq_u16_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:321,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:324,1
    - Dst: vorrq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:325,1
    - Dst: vshlq_n_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:325,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:325,1
    - Dst: vshrq_n_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:325,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:325,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:327,1
    - Dst: __lsx_vrotri_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:327,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:327,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 329
    functionName: Botan::SIMD_4x32::rotl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached:
    - vqtbl1q_u8
    - _mm_shuffle_epi8
    - static_cast<int>
    - _mm_or_si128
    - vrev32q_u16
    - vreinterpretq_u8_u32
    - Botan::SIMD_4x32::raw
    - __lsx_vrotri_w
    - vld1q_u8
    - vec_rl
    - vshlq_n_u32
    - vreinterpretq_u32_u8
    - vreinterpretq_u32_u16
    - Botan::SIMD_4x32::SIMD_4x32
    - _mm_slli_epi32
    - vreinterpretq_u16_u32
    - vshrq_n_u32
    - vorrq_u32
    - _mm_set_epi64x
    - _mm_srli_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X32
    signature: "BOTAN_FN_ISA_SIMD_4X32 rotl() const noexcept\n         requires(ROT
      > 0 && ROT < 32)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::rotl
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: Botan::SIMD_4x32::rotr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 3
    functionsReached:
    - Botan::SIMD_4x32::rotl
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 rotr() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: operator+(const SIMD_4x32& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 operator+(const SIMD_4x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: operator-(const SIMD_4x32& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 operator-(const SIMD_4x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: operator^(const SIMD_4x32& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 operator^(const SIMD_4x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 373
    functionName: operator|(const SIMD_4x32& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 operator|(const SIMD_4x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: operator&(const SIMD_4x32& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 operator&(const SIMD_4x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_add_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:386,1
    - Dst: vec_add
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:388,1
    - Dst: vaddq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:390,1
    - Dst: __lsx_vadd_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 394
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 394
    functionName: operator+=(const SIMD_4x32& other) noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - vaddq_u32
    - __lsx_vadd_w
    - vec_add
    - _mm_add_epi32
    linkageType: ''
    returnType: void
    signature: void operator+=(const SIMD_4x32& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_sub_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:398,1
    - Dst: vec_sub
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:400,1
    - Dst: vsubq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:402,1
    - Dst: __lsx_vsub_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 406
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 406
    functionName: operator-=(const SIMD_4x32& other) noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - __lsx_vsub_w
    - vec_sub
    - vsubq_u32
    - _mm_sub_epi32
    linkageType: ''
    returnType: void
    signature: void operator-=(const SIMD_4x32& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:410,1
    - Dst: vec_xor
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:412,1
    - Dst: veorq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:414,1
    - Dst: __lsx_vxor_v
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 418
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 418
    functionName: operator^=(const SIMD_4x32& other) noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - vec_xor
    - __lsx_vxor_v
    - _mm_xor_si128
    - veorq_u32
    linkageType: ''
    returnType: void
    signature: void operator^=(const SIMD_4x32& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::splat
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 420
    functionName: operator^=(uint32_t other) noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x32::splat
    linkageType: ''
    returnType: void
    signature: void operator^=(uint32_t other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:424,1
    - Dst: vec_or
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:426,1
    - Dst: vorrq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:428,1
    - Dst: __lsx_vor_v
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 432
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 432
    functionName: operator|=(const SIMD_4x32& other) noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - vorrq_u32
    - _mm_or_si128
    - __lsx_vor_v
    - vec_or
    linkageType: ''
    returnType: void
    signature: void operator|=(const SIMD_4x32& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_and_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:436,1
    - Dst: vec_and
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:438,1
    - Dst: vandq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:440,1
    - Dst: __lsx_vand_v
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 444
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 444
    functionName: operator&=(const SIMD_4x32& other) noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - _mm_and_si128
    - vandq_u32
    - __lsx_vand_v
    - vec_and
    linkageType: ''
    returnType: void
    signature: void operator&=(const SIMD_4x32& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:451,1
    - Dst: _mm_slli_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:451,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:456,1
    - Dst: vec_sl
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:456,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:458,1
    - Dst: vshlq_n_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:458,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:460,1
    - Dst: __lsx_vslli_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 462
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 462
    functionName: Botan::SIMD_4x32::shl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached:
    - __lsx_vslli_w
    - vec_sl
    - Botan::SIMD_4x32::SIMD_4x32
    - _mm_slli_epi32
    - vshlq_n_u32
    linkageType: ''
    returnType: SIMD_4x32
    signature: "SIMD_4x32 shl() const noexcept\n         requires(SHIFT > 0 && SHIFT
      < 32)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:467,1
    - Dst: _mm_srli_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:467,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:472,1
    - Dst: vec_sr
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:472,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:474,1
    - Dst: vshrq_n_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:474,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:476,1
    - Dst: __lsx_vsrli_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 478
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 478
    functionName: Botan::SIMD_4x32::shr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached:
    - vec_sr
    - Botan::SIMD_4x32::SIMD_4x32
    - vshrq_n_u32
    - __lsx_vsrli_w
    - _mm_srli_epi32
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 shr() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:482,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:482,1
    - Dst: _mm_set1_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:482,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:484,1
    - Dst: vec_nor
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:484,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:486,1
    - Dst: vmvnq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:486,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:488,1
    - Dst: __lsx_vnor_v
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 490
    functionName: operator~() const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - _mm_xor_si128
    - _mm_set1_epi32
    - vec_nor
    - vmvnq_u32
    - __lsx_vnor_v
    - SIMD_4x32
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 operator~() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:495,1
    - Dst: _mm_andnot_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:495,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:501,1
    - Dst: vec_andc
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:501,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:504,1
    - Dst: vbicq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:504,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:507,1
    - Dst: __lsx_vandn_v
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 509
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 509
    functionName: Botan::SIMD_4x32::andc
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached:
    - vec_andc
    - vbicq_u32
    - Botan::SIMD_4x32::SIMD_4x32
    - _mm_andnot_si128
    - __lsx_vandn_v
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 andc(const SIMD_4x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:516,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:518,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:518,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:518,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:521,1
    - Dst: vec_revb
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:521,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:527,1
    - Dst: vec_perm
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:527,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:531,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:531,1
    - Dst: vrev32q_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:531,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:531,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:533,1
    - Dst: __lsx_vshuf4i_b
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 535
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 535
    functionName: Botan::SIMD_4x32::bswap
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 3
    functionsReached:
    - _mm_shuffle_epi8
    - vreinterpretq_u8_u32
    - Botan::SIMD_4x32::raw
    - vec_perm
    - _mm_set_epi8
    - vrev32q_u8
    - Botan::SIMD_4x32::SIMD_4x32
    - __lsx_vshuf4i_b
    - vec_revb
    - vreinterpretq_u32_u8
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X32
    signature: BOTAN_FN_ISA_SIMD_4X32 bswap() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:542,1
    - Dst: _mm_slli_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:542,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:542,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:544,1
    - Dst: vextq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:544,1
    - Dst: vdupq_n_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:544,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:544,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:554,1
    - Dst: vec_perm
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:554,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:554,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:556,1
    - Dst: __lsx_vbsll_v
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:556,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 558
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 558
    functionName: Botan::SIMD_4x32::shift_elems_left
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::raw
    - vec_perm
    - __lsx_vbsll_v
    - Botan::SIMD_4x32::SIMD_4x32
    - vdupq_n_u32
    - _mm_slli_si128
    - vextq_u32
    linkageType: ''
    returnType: SIMD_4x32
    signature: "SIMD_4x32 shift_elems_left() const noexcept\n         requires(I <=
      3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:565,1
    - Dst: _mm_srli_si128
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:565,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:565,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:567,1
    - Dst: vextq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:567,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:567,1
    - Dst: vdupq_n_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:567,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:577,1
    - Dst: vec_perm
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:577,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:577,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:579,1
    - Dst: __lsx_vbsrl_v
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:579,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 581
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 581
    functionName: Botan::SIMD_4x32::shift_elems_right
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x32::raw
    - vec_perm
    - _mm_srli_si128
    - Botan::SIMD_4x32::SIMD_4x32
    - vdupq_n_u32
    - vextq_u32
    - __lsx_vbsrl_v
    linkageType: ''
    returnType: SIMD_4x32
    signature: "SIMD_4x32 shift_elems_right() const noexcept\n         requires(I
      <= 3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:588,1
    - Dst: _mm_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:589,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:590,1
    - Dst: _mm_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:591,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:593,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:594,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:595,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:596,1
    - Dst: vec_mergeh
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:603,1
    - Dst: vec_mergel
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:604,1
    - Dst: vec_mergeh
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:605,1
    - Dst: vec_mergel
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:606,1
    - Dst: vzipq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:609,1
    - Dst: vzipq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:610,1
    - Dst: vzipq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:611,1
    - Dst: vzipq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:612,1
    - Dst: vzip1q_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:620,1
    - Dst: vzip2q_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:621,1
    - Dst: vzip1q_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:622,1
    - Dst: vzip2q_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:623,1
    - Dst: vzip1q_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:625,1
    - Dst: vzip2q_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:626,1
    - Dst: vzip1q_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:627,1
    - Dst: vzip2q_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:628,1
    - Dst: __lsx_vilvl_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:630,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:630,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:630,1
    - Dst: __lsx_vilvh_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:631,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:631,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:631,1
    - Dst: __lsx_vilvl_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:632,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:632,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:632,1
    - Dst: __lsx_vilvh_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:633,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:633,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:633,1
    - Dst: __lsx_vilvl_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:634,1
    - Dst: __lsx_vilvh_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:635,1
    - Dst: __lsx_vilvl_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:636,1
    - Dst: __lsx_vilvh_w
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 639
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 639
    functionName: Botan::SIMD_4x32::transpose
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 8
    functionsReached:
    - _mm_unpackhi_epi64
    - Botan::SIMD_4x32::raw
    - vec_mergel
    - vec_mergeh
    - _mm_unpacklo_epi32
    - _mm_unpacklo_epi64
    - _mm_unpackhi_epi32
    - vzip2q_u32
    - vzip1q_u32
    - __lsx_vilvh_w
    - vzipq_u32
    - __lsx_vilvl_w
    linkageType: ''
    returnType: void
    signature: void transpose(SIMD_4x32& B0, SIMD_4x32& B1, SIMD_4x32& B2, SIMD_4x32&
      B3) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:643,1
    - Dst: vec_sel
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:643,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:643,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:643,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:643,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:645,1
    - Dst: vbslq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:645,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:645,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:645,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:645,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:647,1
    - Dst: __lsx_vbitsel_v
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:647,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:647,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:647,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:647,1
    - Dst: Botan::SIMD_4x32::andc
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' mask'
    - ' a'
    - ' b'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 651
      start: 641
    functionDepth: 2
    functionLinenumber: 641
    functionLinenumberEnd: 651
    functionName: Botan::SIMD_4x32::choose
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 2
    functionsReached:
    - vec_sel
    - Botan::SIMD_4x32::raw
    - vbslq_u32
    - Botan::SIMD_4x32::SIMD_4x32
    - __lsx_vbitsel_v
    - Botan::SIMD_4x32::andc
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 choose(const SIMD_4x32& mask, const SIMD_4x32& a, const SIMD_4x32&
      b) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::choose
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' z'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 655
      start: 653
    functionDepth: 3
    functionLinenumber: 653
    functionLinenumberEnd: 655
    functionName: Botan::SIMD_4x32::majority
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 2
    functionsReached:
    - Botan::SIMD_4x32::choose
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 majority(const SIMD_4x32& x, const SIMD_4x32& y, const SIMD_4x32&
      z) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:665,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:665,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:665,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:665,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:667,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:667,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:668,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:668,1
    - Dst: vget_low_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:671,1
    - Dst: vget_high_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:671,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:673,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:674,1
    - Dst: vcombine_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:674,1
    - Dst: vtbl2_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:674,1
    - Dst: vget_low_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:674,1
    - Dst: vtbl2_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:674,1
    - Dst: vget_high_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:674,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:676,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:676,1
    - Dst: vqtbl1q_u8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:676,1
    - Dst: vec_perm
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:680,1
    - Dst: reinterpret_cast<__vector signed char>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:680,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:680,1
    - Dst: reinterpret_cast<__vector signed char>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:681,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:681,1
    - Dst: reinterpret_cast<__vector unsigned char>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:682,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:682,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:683,1
    - Dst: reinterpret_cast<__vector unsigned int>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:683,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:685,1
    - Dst: __lsx_vshuf_b
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:685,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:685,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:685,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' tbl'
    - ' idx'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 687
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 687
    functionName: Botan::SIMD_4x32::byte_shuffle
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 4
    functionsReached:
    - _mm_shuffle_epi8
    - vreinterpretq_u8_u32
    - __lsx_vshuf_b
    - Botan::SIMD_4x32::raw
    - vec_perm
    - vqtbl1q_u8
    - reinterpret_cast<__vector unsigned int>
    - Botan::SIMD_4x32::SIMD_4x32
    - reinterpret_cast<__vector unsigned char>
    - vget_high_u8
    - vtbl2_u8
    - vget_low_u8
    - reinterpret_cast<__vector signed char>
    - vreinterpretq_u32_u8
    - vcombine_u8
    linkageType: ''
    returnType: void
    signature: void byte_shuffle(const SIMD_4x32& tbl, const SIMD_4x32& idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_splat_s8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:700,1
    - Dst: vec_cmplt
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:701,1
    - Dst: reinterpret_cast<__vector signed char>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:701,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:701,1
    - Dst: vec_perm
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:702,1
    - Dst: reinterpret_cast<__vector signed char>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:702,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:702,1
    - Dst: reinterpret_cast<__vector signed char>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:703,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:703,1
    - Dst: reinterpret_cast<__vector unsigned char>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:704,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:704,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:705,1
    - Dst: reinterpret_cast<__vector unsigned int>
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:705,1
    - Dst: vec_sel
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:705,1
    - Dst: __lsx_vldi
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:717,1
    - Dst: __lsx_vshuf_b
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:718,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:718,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:718,1
    - Dst: __lsx_vslti_bu
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:719,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:719,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:720,1
    - Dst: __lsx_vbitsel_v
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:720,1
    - Dst: Botan::SIMD_4x32::byte_shuffle
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' tbl'
    - ' idx'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 725
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 725
    functionName: Botan::SIMD_4x32::masked_byte_shuffle
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached:
    - vec_sel
    - __lsx_vslti_bu
    - __lsx_vshuf_b
    - vec_perm
    - Botan::SIMD_4x32::raw
    - reinterpret_cast<__vector unsigned int>
    - Botan::SIMD_4x32::SIMD_4x32
    - vec_splat_s8
    - Botan::SIMD_4x32::byte_shuffle
    - reinterpret_cast<__vector unsigned char>
    - __lsx_vbitsel_v
    - __lsx_vldi
    - reinterpret_cast<__vector signed char>
    - vec_cmplt
    linkageType: ''
    returnType: void
    signature: void masked_byte_shuffle(const SIMD_4x32& tbl, const SIMD_4x32& idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:729,1
    - Dst: _mm_alignr_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:729,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:729,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:729,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:731,1
    - Dst: vextq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:731,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:731,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:731,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:734,1
    - Dst: vec_perm
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:734,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:734,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:734,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:736,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:737,1
    - Dst: __lsx_vshuf_b
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:737,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:737,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:737,1
    - Dst: auto::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 739
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 739
    functionName: Botan::SIMD_4x32::alignr4
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 1
    functionsReached:
    - __lsx_vshuf_b
    - vec_perm
    - Botan::SIMD_4x32::raw
    - auto::raw
    - Botan::SIMD_4x32::SIMD_4x32
    - vextq_u32
    - _mm_alignr_epi8
    linkageType: ''
    returnType: void
    signature: void alignr4(const SIMD_4x32& a, const SIMD_4x32& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:743,1
    - Dst: _mm_alignr_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:743,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:743,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:743,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:745,1
    - Dst: vextq_u32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:745,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:745,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:745,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:748,1
    - Dst: vec_perm
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:748,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:748,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:748,1
    - Dst: Botan::SIMD_4x32::SIMD_4x32
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:750,1
    - Dst: __lsx_vshuf4i_d
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:750,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:750,1
    - Dst: Botan::SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 752
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 752
    functionName: Botan::SIMD_4x32::alignr8
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 4
    functionsReached:
    - vec_perm
    - Botan::SIMD_4x32::raw
    - Botan::SIMD_4x32::SIMD_4x32
    - vextq_u32
    - __lsx_vshuf4i_d
    - _mm_alignr_epi8
    linkageType: ''
    returnType: void
    signature: void alignr8(const SIMD_4x32& a, const SIMD_4x32& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 754
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 754
    functionName: Botan::SIMD_4x32::raw
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: native_simd_type
    signature: native_simd_type raw() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - native_simd_type
    constantsTouched: []
    func_position:
      end: 756
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 756
    functionName: Botan::SIMD_4x32::SIMD_4x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_4x32(native_simd_type x) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32::rotl
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 765
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 765
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::rotl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - SIMD_4x32::rotl
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 rotl(SIMD_4x32 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 770
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 770
    functionName: Botan::BOTAN_FN_ISA_SIMD_4X32::rotr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - SIMD_4x32::rotr
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_SIMD_4X32 rotr(SIMD_4x32 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32::shl
      Src: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 776
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 776
    functionName: Botan::shl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x32/simd_4x32.h
    functionUses: 0
    functionsReached:
    - SIMD_4x32::shl
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 shl(SIMD_4x32 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:29,1
    - Dst: std::runtime_error
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:45,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 49
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 49
    functionName: Botan::gfni_matrix
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t gfni_matrix(std::string_view s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:53,1
    - Dst: _mm256_gf2p8affine_epi64_epi8
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:53,1
    - Dst: raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:53,1
    - Dst: _mm256_set1_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::gf2p8affine
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h
    functionUses: 1
    functionsReached:
    - raw
    - SIMD_8x32
    - _mm256_set1_epi64x
    - _mm256_gf2p8affine_epi64_epi8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE gf2p8affine(const SIMD_8x32& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:58,1
    - Dst: _mm256_gf2p8affineinv_epi64_epi8
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:58,1
    - Dst: raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:58,1
    - Dst: _mm256_set1_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::gf2p8affineinv
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h
    functionUses: 1
    functionsReached:
    - _mm256_gf2p8affineinv_epi64_epi8
    - SIMD_8x32
    - _mm256_set1_epi64x
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE gf2p8affineinv(const SIMD_8x32& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:62,1
    - Dst: _mm256_gf2p8mul_epi8
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:62,1
    - Dst: raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:62,1
    - Dst: raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::gf2p8mul
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2_gfni.h
    functionUses: 0
    functionsReached:
    - _mm256_gf2p8mul_epi8
    - SIMD_8x32
    - raw
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE gf2p8mul(const SIMD_8x32& a, const SIMD_8x32& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: '& operator=(const SIMD_8x32& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_8x32
    signature: SIMD_8x32 & operator=(const SIMD_8x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan::SIMD_8x32::SIMD_8x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_8x32(const SIMD_8x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '& operator=(SIMD_8x32&& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_8x32
    signature: SIMD_8x32 & operator=(SIMD_8x32&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::SIMD_8x32::SIMD_8x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_8x32(SIMD_8x32&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~SIMD_8x32()
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SIMD_8x32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::SIMD_8x32::SIMD_8x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_setzero_si256
    linkageType: ''
    returnType: void
    signature: void SIMD_8x32() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:32,1
    - Dst: reinterpret_cast<const __m256i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: Botan::SIMD_8x32::SIMD_8x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_loadu_si256
    - reinterpret_cast<const __m256i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 SIMD_8x32(const uint32_t B[8]) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - B0
    - B1
    - B2
    - B3
    - B4
    - B5
    - B6
    - B7
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: Botan::SIMD_8x32::SIMD_8x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_set_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: "BOTAN_FN_ISA_AVX2 SIMD_8x32(uint32_t B0,\n                         uint32_t
      B1,\n                         uint32_t B2,\n                         uint32_t
      B3,\n                         uint32_t B4,\n                         uint32_t
      B5,\n                         uint32_t B6,\n                         uint32_t
      B7) noexcept"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - B0
    - B1
    - B2
    - B3
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Botan::SIMD_8x32::SIMD_8x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_set_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 SIMD_8x32(uint32_t B0, uint32_t B1, uint32_t B2,
      uint32_t B3) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:53,1
    - Dst: _mm256_set1_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: Botan::SIMD_8x32::splat
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 6
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm256_set1_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 splat(uint32_t B) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:57,1
    - Dst: _mm256_loadu_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:57,1
    - Dst: reinterpret_cast<const __m256i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: Botan::SIMD_8x32::load_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 9
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm256_loadu_si256
    - reinterpret_cast<const __m256i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 load_le(const uint8_t* in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:62,1
    - Dst: _mm256_loadu_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:62,1
    - Dst: reinterpret_cast<const __m256i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: Botan::SIMD_8x32::load_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 9
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm256_loadu_si256
    - reinterpret_cast<const __m256i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 load_le(const uint32_t* in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:67,1
    - Dst: _mm256_broadcastsi128_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:67,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:67,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: Botan::SIMD_8x32::load_le128
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 10
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm_loadu_si128
    - reinterpret_cast<const __m128i*>
    - _mm256_broadcastsi128_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 load_le128(const uint8_t* in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:72,1
    - Dst: _mm256_broadcastsi128_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:72,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:72,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: Botan::SIMD_8x32::load_le128
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 10
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm_loadu_si128
    - reinterpret_cast<const __m128i*>
    - _mm256_broadcastsi128_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 load_le128(const uint32_t* in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::load_le
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: Botan::SIMD_8x32::load_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 11
    functionsReached:
    - Botan::SIMD_8x32::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 load_be(const uint8_t* in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_storeu_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:79,1
    - Dst: reinterpret_cast<__m256i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: Botan::SIMD_8x32::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<__m256i*>
    - _mm256_storeu_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 store_le(uint8_t out[]) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_storeu_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:82,1
    - Dst: reinterpret_cast<__m256i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: Botan::SIMD_8x32::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<__m256i*>
    - _mm256_storeu_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 store_le(uint32_t out[]) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:86,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:86,1
    - Dst: _mm256_extracti128_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:86,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: Botan::SIMD_8x32::store_le128
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm_storeu_si128
    - _mm256_extracti128_si256
    - Botan::SIMD_8x32::raw
    - reinterpret_cast<__m128i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 store_le128(uint8_t out[]) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:91,1
    - Dst: _mm256_loadu2_m128i
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:92,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:92,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in1
    - in2
    argTypes:
    - uint32_t[]
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: Botan::SIMD_8x32::load_le128
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 10
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm256_loadu2_m128i
    - reinterpret_cast<const __m128i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 load_le128(const uint32_t in1[], const uint32_t in2[])
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:97,1
    - Dst: _mm256_loadu2_m128i
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:98,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:98,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in1
    - in2
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: Botan::SIMD_8x32::load_be128
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 2
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm256_loadu2_m128i
    - reinterpret_cast<const __m128i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 load_be128(const uint8_t in1[], const uint8_t in2[])
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_storeu2_m128i
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:104,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:104,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:104,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out1
    - out2
    argTypes:
    - uint32_t[]
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: Botan::SIMD_8x32::store_le128
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<__m128i*>
    - _mm256_storeu2_m128i
    - Botan::SIMD_8x32::raw
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 store_le128(uint32_t out1[], uint32_t out2[]) const
      noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::bswap
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: Botan::SIMD_8x32::store_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::bswap
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 store_be(uint8_t out[]) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:115,1
    - Dst: _mm256_rol_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:115,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:119,1
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:121,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:121,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:124,1
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:126,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:126,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:129,1
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:131,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:131,1
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:133,1
    - Dst: _mm256_or_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:133,1
    - Dst: _mm256_slli_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:133,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:133,1
    - Dst: _mm256_srli_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:134,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 137
    functionName: Botan::SIMD_8x32::rotl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_set_epi64x
    - Botan::SIMD_8x32::SIMD_8x32
    - static_cast<int>
    - _mm256_slli_epi32
    - _mm256_or_si256
    - _mm256_srli_epi32
    - _mm256_shuffle_epi8
    - _mm256_rol_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: "BOTAN_FN_ISA_AVX2 rotl() const noexcept\n         requires(ROT > 0
      && ROT < 32)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::rotl
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: Botan::SIMD_8x32::rotr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::rotl
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 rotr() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:145,1
    - Dst: Botan::SIMD_8x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:146,1
    - Dst: Botan::SIMD_8x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: Botan::SIMD_8x32::sigma0
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::rotr
    linkageType: ''
    returnType: void
    signature: void sigma0() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:152,1
    - Dst: Botan::SIMD_8x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:153,1
    - Dst: Botan::SIMD_8x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: Botan::SIMD_8x32::sigma1
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::rotr
    linkageType: ''
    returnType: void
    signature: void sigma1() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: operator+(const SIMD_8x32& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator+(const SIMD_8x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: operator-(const SIMD_8x32& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator-(const SIMD_8x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: operator^(const SIMD_8x32& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator^(const SIMD_8x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: operator|(const SIMD_8x32& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator|(const SIMD_8x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: operator&(const SIMD_8x32& other) const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator&(const SIMD_8x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_add_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: operator+=(const SIMD_8x32& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_add_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator+=(const SIMD_8x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_sub_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: operator-=(const SIMD_8x32& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_sub_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator-=(const SIMD_8x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: operator^=(const SIMD_8x32& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_xor_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator^=(const SIMD_8x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::splat
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: operator^=(uint32_t other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::splat
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator^=(uint32_t other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_or_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: operator|=(const SIMD_8x32& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_or_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator|=(const SIMD_8x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_and_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: operator&=(const SIMD_8x32& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_and_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator&=(const SIMD_8x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:213,1
    - Dst: _mm256_slli_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: Botan::SIMD_8x32::shl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm256_slli_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 shl() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:218,1
    - Dst: _mm256_srli_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: Botan::SIMD_8x32::shr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm256_srli_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 shr() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:223,1
    - Dst: _mm256_xor_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:223,1
    - Dst: _mm256_set1_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: operator~() const noexcept
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_xor_si256
    - _mm256_set1_epi32
    - SIMD_8x32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 operator~() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:229,1
    - Dst: _mm256_andnot_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: Botan::SIMD_8x32::andc
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm256_andnot_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 andc(const SIMD_8x32& other) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_load_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:237,1
    - Dst: reinterpret_cast<const __m256i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:237,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:239,1
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: Botan::SIMD_8x32::bswap
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 1
    functionsReached:
    - _mm256_shuffle_epi8
    - _mm256_load_si256
    - reinterpret_cast<const __m256i*>
    - Botan::SIMD_8x32::SIMD_8x32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 bswap() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_load_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:250,1
    - Dst: reinterpret_cast<const __m256i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:250,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:251,1
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: Botan::SIMD_8x32::reverse
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - _mm256_shuffle_epi8
    - _mm256_load_si256
    - reinterpret_cast<const __m256i*>
    - Botan::SIMD_8x32::SIMD_8x32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 reverse() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:256,1
    - Dst: _mm256_shuffle_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:256,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: Botan::SIMD_8x32::rev_words
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm256_shuffle_epi32
    - Botan::SIMD_8x32::raw
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 rev_words() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:260,1
    - Dst: _mm256_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:261,1
    - Dst: _mm256_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:262,1
    - Dst: _mm256_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:263,1
    - Dst: _mm256_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:265,1
    - Dst: _mm256_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:266,1
    - Dst: _mm256_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:267,1
    - Dst: _mm256_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 269
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 269
    functionName: Botan::SIMD_8x32::transpose
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 9
    functionsReached:
    - _mm256_unpackhi_epi64
    - _mm256_unpackhi_epi32
    - _mm256_unpacklo_epi32
    - _mm256_unpacklo_epi64
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 transpose(SIMD_8x32& B0, SIMD_8x32& B1, SIMD_8x32&
      B2, SIMD_8x32& B3) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:280,1
    - Dst: Botan::SIMD_8x32::transpose
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:281,1
    - Dst: Botan::SIMD_8x32::swap_tops
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:283,1
    - Dst: Botan::SIMD_8x32::swap_tops
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:284,1
    - Dst: Botan::SIMD_8x32::swap_tops
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:285,1
    - Dst: Botan::SIMD_8x32::swap_tops
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 8
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - ' B4'
    - ' B5'
    - ' B6'
    - ' B7'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 287
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 287
    functionName: Botan::SIMD_8x32::transpose
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 10
    functionsReached:
    - Botan::SIMD_8x32::transpose
    - Botan::SIMD_8x32::swap_tops
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: "BOTAN_FN_ISA_AVX2 transpose(SIMD_8x32& B0,\n                            SIMD_8x32&
      B1,\n                            SIMD_8x32& B2,\n                            SIMD_8x32&
      B3,\n                            SIMD_8x32& B4,\n                            SIMD_8x32&
      B5,\n                            SIMD_8x32& B6,\n                            SIMD_8x32&
      B7) noexcept"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_ternarylogic_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:292,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:292,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:292,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:292,1
    - Dst: Botan::SIMD_8x32::andc
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' mask'
    - ' a'
    - ' b'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: Botan::SIMD_8x32::choose
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 2
    functionsReached:
    - _mm256_ternarylogic_epi32
    - Botan::SIMD_8x32::andc
    - Botan::SIMD_8x32::raw
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 choose(const SIMD_8x32& mask, const SIMD_8x32& a,
      const SIMD_8x32& b) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_ternarylogic_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:301,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:301,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:301,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:301,1
    - Dst: Botan::SIMD_8x32::choose
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' z'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: Botan::SIMD_8x32::majority
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 2
    functionsReached:
    - _mm256_ternarylogic_epi32
    - Botan::SIMD_8x32::choose
    - Botan::SIMD_8x32::raw
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 majority(const SIMD_8x32& x, const SIMD_8x32& y,
      const SIMD_8x32& z) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x32::SIMD_8x32
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:308,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:308,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:308,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tbl'
    - ' idx'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: Botan::SIMD_8x32::byte_shuffle
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x32::SIMD_8x32
    - _mm256_shuffle_epi8
    - Botan::SIMD_8x32::raw
    linkageType: ''
    returnType: void
    signature: void byte_shuffle(const SIMD_8x32& tbl, const SIMD_8x32& idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_zeroupper
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 312
    functionName: Botan::SIMD_8x32::reset_registers
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 5
    functionsReached:
    - _mm256_zeroupper
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 reset_registers() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_zeroall
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: Botan::SIMD_8x32::zero_registers
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 5
    functionsReached:
    - _mm256_zeroall
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 zero_registers() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: Botan::SIMD_8x32::raw
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void raw() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_avx2
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: Botan::SIMD_8x32::SIMD_8x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 15
    functionsReached:
    - m_avx2
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 SIMD_8x32(__m256i x) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_permute2x128_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:325,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:325,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:325,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:326,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:326,1
    - Dst: Botan::SIMD_8x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' A'
    - ' B'
    argTypes:
    - SIMD_8x32
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: Botan::SIMD_8x32::swap_tops
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 1
    functionsReached:
    - _mm256_permute2x128_si256
    - Botan::SIMD_8x32::raw
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX2
    signature: BOTAN_FN_ISA_AVX2 swap_tops(SIMD_8x32& A, SIMD_8x32& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32::rotl
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: Botan::rotl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 28
    functionsReached:
    - SIMD_8x32::rotl
    linkageType: ''
    returnType: SIMD_8x32
    signature: SIMD_8x32 rotl(SIMD_8x32 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 342
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionName: Botan::rotr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 22
    functionsReached:
    - SIMD_8x32::rotr
    linkageType: ''
    returnType: SIMD_8x32
    signature: SIMD_8x32 rotr(SIMD_8x32 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_8x32::shl
      Src: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - SIMD_8x32
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: Botan::shl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx2/simd_avx2.h
    functionUses: 0
    functionsReached:
    - SIMD_8x32::shl
    linkageType: ''
    returnType: SIMD_8x32
    signature: SIMD_8x32 shl(SIMD_8x32 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const SIMD_4x64& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x64
    signature: SIMD_4x64 & operator=(const SIMD_4x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::SIMD_4x64::SIMD_4x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_4x64(const SIMD_4x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(SIMD_4x64&& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x64
    signature: SIMD_4x64 & operator=(SIMD_4x64&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::SIMD_4x64::SIMD_4x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_4x64(SIMD_4x64&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~SIMD_4x64()
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SIMD_4x64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::SIMD_4x64::SIMD_4x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - _mm256_setzero_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 SIMD_4x64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:36,1
    - Dst: _mm256_loadu2_m128i
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:37,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:37,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - inl
    - inh
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: Botan::SIMD_4x64::load_le2
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 1
    functionsReached:
    - _mm256_loadu2_m128i
    - reinterpret_cast<const __m128i*>
    - Botan::SIMD_4x64::SIMD_4x64
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 load_le2(const void* inl, const void* inh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::load_le2
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - inl
    - inh
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: Botan::SIMD_4x64::load_be2
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x64::load_le2
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 load_be2(const void* inl, const void* inh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:45,1
    - Dst: _mm256_loadu_si256
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:45,1
    - Dst: reinterpret_cast<const __m256i*>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Botan::SIMD_4x64::load_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 2
    functionsReached:
    - _mm256_loadu_si256
    - reinterpret_cast<const __m256i*>
    - Botan::SIMD_4x64::SIMD_4x64
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 load_le(const void* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::load_le
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Botan::SIMD_4x64::load_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x64::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 load_be(const void* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:51,1
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:54,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: Botan::SIMD_4x64::bswap
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - _mm256_shuffle_epi8
    - _mm256_set_epi8
    - Botan::SIMD_4x64::SIMD_4x64
    linkageType: ''
    returnType: void
    signature: void bswap() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::store_le
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:57,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: Botan::SIMD_4x64::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uint8_t*>
    - Botan::SIMD_4x64::store_le
    linkageType: ''
    returnType: void
    signature: void store_le(uint64_t out[4]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_storeu_si256
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:60,1
    - Dst: reinterpret_cast<__m256i*>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Botan::SIMD_4x64::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<__m256i*>
    - _mm256_storeu_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 store_le(uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_storeu2_m128i
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:64,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:64,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - outh
    - outl
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Botan::SIMD_4x64::store_le2
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<__m128i*>
    - _mm256_storeu2_m128i
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 store_le2(void* outh, void* outl)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: operator+(const SIMD_4x64& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x64
    signature: SIMD_4x64 operator+(const SIMD_4x64& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: operator^(const SIMD_4x64& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_4x64
    signature: SIMD_4x64 operator^(const SIMD_4x64& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_add_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: operator+=(const SIMD_4x64& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - _mm256_add_epi64
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 operator+=(const SIMD_4x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: operator^=(const SIMD_4x64& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - _mm256_xor_si256
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 operator^=(const SIMD_4x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:92,1
    - Dst: _mm256_ror_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:92,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:96,1
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:98,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:98,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:101,1
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:103,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:103,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:106,1
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:108,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:108,1
    - Dst: _mm256_set_epi64x
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:111,1
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:113,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:113,1
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:115,1
    - Dst: _mm256_or_si256
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:115,1
    - Dst: _mm256_srli_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:115,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:115,1
    - Dst: _mm256_slli_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:116,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 119
    functionName: Botan::SIMD_4x64::rotr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - _mm256_set_epi64x
    - _mm256_ror_epi64
    - static_cast<int>
    - _mm256_slli_epi64
    - Botan::SIMD_4x64::SIMD_4x64
    - _mm256_or_si256
    - _mm256_srli_epi64
    - _mm256_shuffle_epi8
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: "BOTAN_FN_ISA_SIMD_4X64 rotr() const\n         requires(ROT > 0 &&
      ROT < 64)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::rotr
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: Botan::SIMD_4x64::rotl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x64::rotr
    linkageType: ''
    returnType: SIMD_4x64
    signature: SIMD_4x64 rotl() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::BOTAN_FN_ISA_SIMD_4X64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:128,1
    - Dst: _mm256_srli_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: Botan::SIMD_4x64::BOTAN_FN_ISA_SIMD_4X64::shr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_4x64::BOTAN_FN_ISA_SIMD_4X64::SIMD_4x64
    - _mm256_srli_epi64
    linkageType: ''
    returnType: SIMD_4x64
    signature: SIMD_4x64 BOTAN_FN_ISA_SIMD_4X64 shr() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:132,1
    - Dst: _mm256_alignr_epi8
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SIMD_4x64
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: Botan::SIMD_4x64::alignr8
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - _mm256_alignr_epi8
    - Botan::SIMD_4x64::SIMD_4x64
    linkageType: ''
    returnType: void
    signature: void alignr8(const SIMD_4x64& a, const SIMD_4x64& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_mul_epu32
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:137,1
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:138,1
    - Dst: _mm256_add_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - SIMD_4x64
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: Botan::SIMD_4x64::mul2_32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_4x64::SIMD_4x64
    - _mm256_add_epi64
    - _mm256_mul_epu32
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 mul2_32(SIMD_4x64 x, SIMD_4x64 y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x64::SIMD_4x64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:143,1
    - Dst: _mm256_permute4x64_epi64
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: Botan::SIMD_4x64::permute_4x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 0
    functionsReached:
    - _mm256_permute4x64_epi64
    - Botan::SIMD_4x64::SIMD_4x64
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X64
    signature: BOTAN_FN_ISA_SIMD_4X64 permute_4x64(SIMD_4x64 x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x64::permute_4x64<0b00'11'10'01>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:148,1
    - Dst: SIMD_4x64::permute_4x64<0b01'00'11'10>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:149,1
    - Dst: SIMD_4x64::permute_4x64<0b10'01'00'11>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' B'
    - ' C'
    - ' D'
    argTypes:
    - SIMD_4x64
    - SIMD_4x64
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: Botan::SIMD_4x64::twist
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 1
    functionsReached:
    - SIMD_4x64::permute_4x64<0b01'00'11'10>
    - SIMD_4x64::permute_4x64<0b10'01'00'11>
    - SIMD_4x64::permute_4x64<0b00'11'10'01>
    linkageType: ''
    returnType: void
    signature: void twist(SIMD_4x64& B, SIMD_4x64& C, SIMD_4x64& D)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x64::permute_4x64<0b10'01'00'11>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:155,1
    - Dst: SIMD_4x64::permute_4x64<0b01'00'11'10>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:156,1
    - Dst: SIMD_4x64::permute_4x64<0b00'11'10'01>
      Src: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' B'
    - ' C'
    - ' D'
    argTypes:
    - SIMD_4x64
    - SIMD_4x64
    - SIMD_4x64
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: Botan::SIMD_4x64::untwist
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 1
    functionsReached:
    - SIMD_4x64::permute_4x64<0b10'01'00'11>
    - SIMD_4x64::permute_4x64<0b01'00'11'10>
    - SIMD_4x64::permute_4x64<0b00'11'10'01>
    linkageType: ''
    returnType: void
    signature: void untwist(SIMD_4x64& B, SIMD_4x64& C, SIMD_4x64& D)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: Botan::SIMD_4x64::BOTAN_FN_ISA_SIMD_4X64::SIMD_4x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_4x64/simd_4x64.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_SIMD_4X64 SIMD_4x64(__m256i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(const SIMD_2x64& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_2x64
    signature: SIMD_2x64 & operator=(const SIMD_2x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::SIMD_2x64::SIMD_2x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_2x64(const SIMD_2x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(SIMD_2x64&& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_2x64
    signature: SIMD_2x64 & operator=(SIMD_2x64&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::SIMD_2x64::SIMD_2x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_2x64(SIMD_2x64&& other)
  - 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: ~SIMD_2x64()
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SIMD_2x64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_setzero_si128
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::SIMD_2x64::SIMD_2x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached:
    - _mm_setzero_si128
    linkageType: ''
    returnType: void
    signature: void SIMD_2x64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_2x64::SIMD_2x64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:37,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:37,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::SIMD_2x64::load_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 3
    functionsReached:
    - _mm_loadu_si128
    - reinterpret_cast<const __m128i*>
    - Botan::SIMD_2x64::SIMD_2x64
    linkageType: ''
    returnType: SIMD_2x64
    signature: SIMD_2x64 load_le(const void* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_2x64::load_le
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan::SIMD_2x64::load_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 2
    functionsReached:
    - Botan::SIMD_2x64::load_le
    linkageType: ''
    returnType: SIMD_2x64
    signature: SIMD_2x64 load_be(const void* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:43,1
    - Dst: Botan::SIMD_2x64::SIMD_2x64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:44,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Botan::SIMD_2x64::bswap
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached:
    - _mm_shuffle_epi8
    - Botan::SIMD_2x64::SIMD_2x64
    - _mm_set_epi8
    linkageType: ''
    returnType: void
    signature: void bswap() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_2x64::store_le
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:47,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::SIMD_2x64::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_2x64::store_le
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void store_le(uint64_t out[2]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:49,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Botan::SIMD_2x64::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 1
    functionsReached:
    - _mm_storeu_si128
    - reinterpret_cast<__m128i*>
    linkageType: ''
    returnType: void
    signature: void store_le(uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: operator+(const SIMD_2x64& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_2x64
    signature: SIMD_2x64 operator+(const SIMD_2x64& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: operator^(const SIMD_2x64& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_2x64
    signature: SIMD_2x64 operator^(const SIMD_2x64& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_add_epi64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: operator+=(const SIMD_2x64& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached:
    - _mm_add_epi64
    linkageType: ''
    returnType: void
    signature: void operator+=(const SIMD_2x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: operator^=(const SIMD_2x64& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached:
    - _mm_xor_si128
    linkageType: ''
    returnType: void
    signature: void operator^=(const SIMD_2x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_setr_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:72,1
    - Dst: Botan::SIMD_2x64::SIMD_2x64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:73,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:73,1
    - Dst: _mm_setr_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:75,1
    - Dst: Botan::SIMD_2x64::SIMD_2x64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:76,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:76,1
    - Dst: _mm_setr_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:78,1
    - Dst: Botan::SIMD_2x64::SIMD_2x64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:79,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:79,1
    - Dst: _mm_setr_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:81,1
    - Dst: Botan::SIMD_2x64::SIMD_2x64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:82,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:82,1
    - Dst: Botan::SIMD_2x64::SIMD_2x64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:84,1
    - Dst: _mm_or_si128
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:84,1
    - Dst: _mm_srli_epi64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:84,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:84,1
    - Dst: _mm_slli_epi64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:85,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: Botan::SIMD_2x64::rotr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached:
    - _mm_shuffle_epi8
    - _mm_slli_epi64
    - static_cast<int>
    - _mm_or_si128
    - _mm_setr_epi8
    - _mm_srli_epi64
    - Botan::SIMD_2x64::SIMD_2x64
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_2X64
    signature: "BOTAN_FN_ISA_SIMD_2X64 rotr() const\n         requires(ROT > 0 &&
      ROT < 64)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_2x64::rotr
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Botan::SIMD_2x64::rotl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_2x64::rotr
    linkageType: ''
    returnType: SIMD_2x64
    signature: SIMD_2x64 rotl() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_2x64::SIMD_2x64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:96,1
    - Dst: _mm_srli_epi64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: Botan::SIMD_2x64::shr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached:
    - _mm_srli_epi64
    - Botan::SIMD_2x64::SIMD_2x64
    linkageType: ''
    returnType: SIMD_2x64
    signature: SIMD_2x64 shr() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_2x64::SIMD_2x64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:100,1
    - Dst: _mm_alignr_epi8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SIMD_2x64
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: Botan::SIMD_2x64::alignr8
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 0
    functionsReached:
    - _mm_alignr_epi8
    - Botan::SIMD_2x64::SIMD_2x64
    linkageType: ''
    returnType: void
    signature: void alignr8(const SIMD_2x64& a, const SIMD_2x64& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_2x64::alignr8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:107,1
    - Dst: Botan::SIMD_2x64::alignr8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:108,1
    - Dst: Botan::SIMD_2x64::alignr8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:116,1
    - Dst: Botan::SIMD_2x64::alignr8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 6
    argNames:
    - ' B0'
    - ' B1'
    - ' C0'
    - ' C1'
    - ' D0'
    - ' D1'
    argTypes:
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: Botan::SIMD_2x64::twist
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_2x64::alignr8
    linkageType: ''
    returnType: void
    signature: void twist(SIMD_2x64& B0, SIMD_2x64& B1, SIMD_2x64& C0, SIMD_2x64&
      C1, SIMD_2x64& D0, SIMD_2x64& D1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_2x64::alignr8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:126,1
    - Dst: Botan::SIMD_2x64::alignr8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:127,1
    - Dst: Botan::SIMD_2x64::alignr8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:135,1
    - Dst: Botan::SIMD_2x64::alignr8
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 6
    argNames:
    - ' B0'
    - ' B1'
    - ' C0'
    - ' C1'
    - ' D0'
    - ' D1'
    argTypes:
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 139
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 139
    functionName: Botan::SIMD_2x64::untwist
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_2x64::alignr8
    linkageType: ''
    returnType: void
    signature: void untwist(SIMD_2x64& B0, SIMD_2x64& B1, SIMD_2x64& C0, SIMD_2x64&
      C1, SIMD_2x64& D0, SIMD_2x64& D1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_mul_epu32
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:143,1
    - Dst: Botan::SIMD_2x64::SIMD_2x64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:144,1
    - Dst: _mm_add_epi64
      Src: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - SIMD_2x64
    - SIMD_2x64
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: Botan::SIMD_2x64::mul2_32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 1
    functionsReached:
    - _mm_mul_epu32
    - _mm_add_epi64
    - Botan::SIMD_2x64::SIMD_2x64
    linkageType: ''
    returnType: SIMD_2x64
    signature: SIMD_2x64 mul2_32(SIMD_2x64 x, SIMD_2x64 y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: Botan::SIMD_2x64::SIMD_2x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_2x64/simd_2x64.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_2x64(__m128i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x64
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: '& operator=(const SIMD_8x64& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_8x64
    signature: SIMD_8x64 & operator=(const SIMD_8x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x64
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan::SIMD_8x64::SIMD_8x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_8x64(const SIMD_8x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x64
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(SIMD_8x64&& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_8x64
    signature: SIMD_8x64 & operator=(SIMD_8x64&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x64
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::SIMD_8x64::SIMD_8x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_8x64(SIMD_8x64&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~SIMD_8x64()
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SIMD_8x64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_setzero_si512
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::SIMD_8x64::SIMD_8x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - _mm512_setzero_si512
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_8X64
    signature: BOTAN_FN_ISA_SIMD_8X64 SIMD_8x64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_setzero_si512
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:36,1
    - Dst: _mm512_inserti32x4
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:37,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:37,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:37,1
    - Dst: _mm512_inserti32x4
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:38,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:38,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:38,1
    - Dst: _mm512_inserti32x4
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:39,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:39,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:39,1
    - Dst: _mm512_inserti32x4
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:40,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:40,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:40,1
    - Dst: Botan::SIMD_8x64::SIMD_8x64
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - in0
    - in1
    - in2
    - in3
    argTypes:
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: Botan::SIMD_8x64::load_le4
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - _mm512_setzero_si512
    - reinterpret_cast<const __m128i*>
    - _mm512_inserti32x4
    - Botan::SIMD_8x64::SIMD_8x64
    - _mm_loadu_si128
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_8X64
    signature: "BOTAN_FN_ISA_SIMD_8X64 load_le4(const void* in0,\n                                                       const
      void* in1,\n                                                       const void*
      in2,\n                                                       const void* in3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x64::load_le4
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - in0
    - in1
    - in2
    - in3
    argTypes:
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: Botan::SIMD_8x64::load_be4
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_8x64::load_le4
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_8X64
    signature: "BOTAN_FN_ISA_SIMD_8X64 load_be4(const void* in0,\n                                                       const
      void* in1,\n                                                       const void*
      in2,\n                                                       const void* in3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x64::SIMD_8x64
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:52,1
    - Dst: _mm512_loadu_si512
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:52,1
    - Dst: reinterpret_cast<const __m512i*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::SIMD_8x64::load_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 1
    functionsReached:
    - _mm512_loadu_si512
    - reinterpret_cast<const __m512i*>
    - Botan::SIMD_8x64::SIMD_8x64
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_8X64
    signature: BOTAN_FN_ISA_SIMD_8X64 load_le(const void* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x64::load_le
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: Botan::SIMD_8x64::load_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x64::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_8X64
    signature: BOTAN_FN_ISA_SIMD_8X64 load_be(const void* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_set_epi8
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:59,1
    - Dst: Botan::SIMD_8x64::SIMD_8x64
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:64,1
    - Dst: _mm512_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: Botan::SIMD_8x64::bswap
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - _mm512_set_epi8
    - _mm512_shuffle_epi8
    - Botan::SIMD_8x64::SIMD_8x64
    linkageType: ''
    returnType: void
    signature: void bswap() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x64::store_le
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:67,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: Botan::SIMD_8x64::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 1
    functionsReached:
    - Botan::SIMD_8x64::store_le
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void store_le(uint64_t out[8]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_storeu_si512
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:70,1
    - Dst: reinterpret_cast<__m512i*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Botan::SIMD_8x64::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<__m512i*>
    - _mm512_storeu_si512
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_8X64
    signature: BOTAN_FN_ISA_SIMD_8X64 store_le(uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:74,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:74,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:74,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:75,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:75,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:75,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:76,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:76,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:76,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:77,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:77,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - out0
    - out1
    - out2
    - out3
    argTypes:
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: Botan::SIMD_8x64::store_le4
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - _mm_storeu_si128
    - _mm512_extracti32x4_epi32
    - reinterpret_cast<__m128i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_8X64
    signature: BOTAN_FN_ISA_SIMD_8X64 store_le4(void* out0, void* out1, void* out2,
      void* out3)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x64
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: operator+(const SIMD_8x64& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_8x64
    signature: SIMD_8x64 operator+(const SIMD_8x64& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x64
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: operator^(const SIMD_8x64& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_8x64
    signature: SIMD_8x64 operator^(const SIMD_8x64& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_add_epi64
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x64
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: operator+=(const SIMD_8x64& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - _mm512_add_epi64
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_8X64
    signature: BOTAN_FN_ISA_SIMD_8X64 operator+=(const SIMD_8x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_xor_si512
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_8x64
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: operator^=(const SIMD_8x64& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - _mm512_xor_si512
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_8X64
    signature: BOTAN_FN_ISA_SIMD_8X64 operator^=(const SIMD_8x64& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x64::SIMD_8x64
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:104,1
    - Dst: _mm512_ror_epi64
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: Botan::SIMD_8x64::rotr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - _mm512_ror_epi64
    - Botan::SIMD_8x64::SIMD_8x64
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_8X64
    signature: "BOTAN_FN_ISA_SIMD_8X64 rotr() const\n         requires(ROT > 0 &&
      ROT < 64)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x64::rotr
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Botan::SIMD_8x64::rotl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_8x64::rotr
    linkageType: ''
    returnType: SIMD_8x64
    signature: SIMD_8x64 rotl() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x64::BOTAN_FN_ISA_SIMD_8X64::SIMD_8x64
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:114,1
    - Dst: _mm512_srli_epi64
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: Botan::SIMD_8x64::BOTAN_FN_ISA_SIMD_8X64::shr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - _mm512_srli_epi64
    - Botan::SIMD_8x64::BOTAN_FN_ISA_SIMD_8X64::SIMD_8x64
    linkageType: ''
    returnType: SIMD_8x64
    signature: SIMD_8x64 BOTAN_FN_ISA_SIMD_8X64 shr() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_8x64::SIMD_8x64
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:118,1
    - Dst: _mm512_alignr_epi8
      Src: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SIMD_8x64
    - SIMD_8x64
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: Botan::SIMD_8x64::alignr8
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 0
    functionsReached:
    - _mm512_alignr_epi8
    - Botan::SIMD_8x64::SIMD_8x64
    linkageType: ''
    returnType: void
    signature: void alignr8(const SIMD_8x64& a, const SIMD_8x64& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m512i
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: Botan::SIMD_8x64::BOTAN_FN_ISA_SIMD_8X64::SIMD_8x64
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_8x64/simd_8x64.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_SIMD_8X64 SIMD_8x64(__m512i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: '& operator=(const SIMD_16x32& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_16x32
    signature: SIMD_16x32 & operator=(const SIMD_16x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Botan::SIMD_16x32::SIMD_16x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_16x32(const SIMD_16x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '& operator=(SIMD_16x32&& other)'
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIMD_16x32
    signature: SIMD_16x32 & operator=(SIMD_16x32&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::SIMD_16x32::SIMD_16x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIMD_16x32(SIMD_16x32&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~SIMD_16x32()
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SIMD_16x32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_setzero_si512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::SIMD_16x32::SIMD_16x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_setzero_si512
    linkageType: ''
    returnType: void
    signature: void SIMD_16x32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_loadu_si512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:31,1
    - Dst: reinterpret_cast<const __m512i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: Botan::SIMD_16x32::SIMD_16x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_loadu_si512
    - reinterpret_cast<const __m512i*>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 SIMD_16x32(const uint32_t B[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_set_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 16
    argNames:
    - B0
    - B1
    - B2
    - B3
    - B4
    - B5
    - B6
    - B7
    - B8
    - B9
    - BA
    - BB
    - BC
    - BD
    - BE
    - BF
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: Botan::SIMD_16x32::SIMD_16x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_set_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: "BOTAN_FN_ISA_AVX512 SIMD_16x32(uint32_t B0,\n                          uint32_t
      B1,\n                          uint32_t B2,\n                          uint32_t
      B3,\n                          uint32_t B4,\n                          uint32_t
      B5,\n                          uint32_t B6,\n                          uint32_t
      B7,\n                          uint32_t B8,\n                          uint32_t
      B9,\n                          uint32_t BA,\n                          uint32_t
      BB,\n                          uint32_t BC,\n                          uint32_t
      BD,\n                          uint32_t BE,\n                          uint32_t
      BF)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::SIMD_16x32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:54,1
    - Dst: _mm512_set1_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - B
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: Botan::SIMD_16x32::splat
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 1
    functionsReached:
    - _mm512_set1_epi32
    - Botan::SIMD_16x32::SIMD_16x32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 splat(uint32_t B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::SIMD_16x32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:58,1
    - Dst: _mm512_loadu_si512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:58,1
    - Dst: reinterpret_cast<const __m512i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: Botan::SIMD_16x32::load_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 2
    functionsReached:
    - _mm512_loadu_si512
    - reinterpret_cast<const __m512i*>
    - Botan::SIMD_16x32::SIMD_16x32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 load_le(const uint8_t* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::load_le
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: Botan::SIMD_16x32::load_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 2
    functionsReached:
    - Botan::SIMD_16x32::load_le
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 load_be(const uint8_t* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_storeu_si512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:65,1
    - Dst: reinterpret_cast<__m512i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: Botan::SIMD_16x32::store_le
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<__m512i*>
    - _mm512_storeu_si512
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 store_le(uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::bswap
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: Botan::SIMD_16x32::store_be
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_16x32::bswap
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 store_be(uint8_t out[]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::SIMD_16x32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:74,1
    - Dst: _mm512_rol_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: Botan::SIMD_16x32::rotl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_rol_epi32
    - Botan::SIMD_16x32::SIMD_16x32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: "BOTAN_FN_ISA_AVX512 rotl() const\n         requires(ROT > 0 && ROT
      < 32)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::rotl
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: Botan::SIMD_16x32::rotr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_16x32::rotl
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 rotr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:83,1
    - Dst: Botan::SIMD_16x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:84,1
    - Dst: Botan::SIMD_16x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: Botan::SIMD_16x32::sigma0
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_16x32::rotr
    linkageType: ''
    returnType: void
    signature: void sigma0() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:90,1
    - Dst: Botan::SIMD_16x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:91,1
    - Dst: Botan::SIMD_16x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: Botan::SIMD_16x32::sigma1
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_16x32::rotr
    linkageType: ''
    returnType: void
    signature: void sigma1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: operator+(const SIMD_16x32& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator+(const SIMD_16x32& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: operator-(const SIMD_16x32& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator-(const SIMD_16x32& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: operator^(const SIMD_16x32& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator^(const SIMD_16x32& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: operator|(const SIMD_16x32& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator|(const SIMD_16x32& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: operator&(const SIMD_16x32& other) const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator&(const SIMD_16x32& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_add_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: operator+=(const SIMD_16x32& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_add_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 operator+=(const SIMD_16x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_sub_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: operator-=(const SIMD_16x32& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_sub_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 operator-=(const SIMD_16x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_xor_si512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: operator^=(const SIMD_16x32& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_xor_si512
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 operator^=(const SIMD_16x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::splat
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: operator^=(uint32_t other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_16x32::splat
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 operator^=(uint32_t other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_or_si512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: operator|=(const SIMD_16x32& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_or_si512
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 operator|=(const SIMD_16x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_and_si512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: operator&=(const SIMD_16x32& other)
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_and_si512
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 operator&=(const SIMD_16x32& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::SIMD_16x32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:151,1
    - Dst: _mm512_slli_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: Botan::SIMD_16x32::shl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_16x32::SIMD_16x32
    - _mm512_slli_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 shl() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::SIMD_16x32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:156,1
    - Dst: _mm512_srli_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: Botan::SIMD_16x32::shr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_16x32::SIMD_16x32
    - _mm512_srli_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 shr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:160,1
    - Dst: _mm512_xor_si512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:160,1
    - Dst: _mm512_set1_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: operator~() const
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - _mm512_set1_epi32
    - SIMD_16x32
    - _mm512_xor_si512
    linkageType: ''
    returnType: void
    signature: void operator~() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_16x32::SIMD_16x32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:165,1
    - Dst: _mm512_andnot_si512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: Botan::SIMD_16x32::andc
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_16x32::SIMD_16x32
    - _mm512_andnot_si512
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 andc(const SIMD_16x32& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_ternarylogic_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:170,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:170,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:170,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: Botan::SIMD_16x32::ternary_fn
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - Botan::SIMD_16x32::raw
    - _mm512_ternarylogic_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 ternary_fn(const SIMD_16x32& a, const SIMD_16x32&
      b, const SIMD_16x32& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_loadu_si512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:181,1
    - Dst: reinterpret_cast<const __m512i*>
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:181,1
    - Dst: _mm512_shuffle_epi8
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:183,1
    - Dst: Botan::SIMD_16x32::SIMD_16x32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: Botan::SIMD_16x32::bswap
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 1
    functionsReached:
    - _mm512_loadu_si512
    - reinterpret_cast<const __m512i*>
    - _mm512_shuffle_epi8
    - Botan::SIMD_16x32::SIMD_16x32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 bswap() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:190,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:191,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:192,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:193,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:195,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:196,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:197,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: Botan::SIMD_16x32::transpose
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 3
    functionsReached:
    - _mm512_unpacklo_epi64
    - _mm512_unpacklo_epi32
    - _mm512_unpackhi_epi32
    - _mm512_unpackhi_epi64
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 transpose(SIMD_16x32& B0, SIMD_16x32& B1, SIMD_16x32&
      B2, SIMD_16x32& B3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:218,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:218,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:218,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:219,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:219,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:219,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:220,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:220,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:220,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:221,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:221,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:221,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:222,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:222,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:222,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:223,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:223,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:223,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:224,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:224,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:224,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:225,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:225,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:225,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:226,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:226,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:226,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:227,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:227,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:227,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:228,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:228,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:228,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:229,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:229,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:229,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:230,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:230,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:230,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:231,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:231,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:231,1
    - Dst: _mm512_unpacklo_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:232,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:232,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:232,1
    - Dst: _mm512_unpackhi_epi32
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:233,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:233,1
    - Dst: Botan::SIMD_16x32::raw
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:233,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:235,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:236,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:237,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:238,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:239,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:240,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:241,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:242,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:243,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:244,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:245,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:246,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:247,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:248,1
    - Dst: _mm512_unpacklo_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:249,1
    - Dst: _mm512_unpackhi_epi64
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:250,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:252,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:253,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:254,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:255,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:256,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:257,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:258,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:259,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:260,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:261,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:262,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:263,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:264,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:265,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:266,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:267,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:269,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:270,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:271,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:272,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:273,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:274,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:275,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:276,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:277,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:278,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:279,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:280,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:281,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:282,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:283,1
    - Dst: _mm512_shuffle_i32x4
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 16
    argNames:
    - ' B0'
    - ' B1'
    - ' B2'
    - ' B3'
    - ' B4'
    - ' B5'
    - ' B6'
    - ' B7'
    - ' B8'
    - ' B9'
    - ' BA'
    - ' BB'
    - ' BC'
    - ' BD'
    - ' BE'
    - ' BF'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 285
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 285
    functionName: Botan::SIMD_16x32::transpose
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 3
    functionsReached:
    - Botan::SIMD_16x32::raw
    - _mm512_unpackhi_epi64
    - _mm512_shuffle_i32x4
    - _mm512_unpacklo_epi64
    - _mm512_unpacklo_epi32
    - _mm512_unpackhi_epi32
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: "BOTAN_FN_ISA_AVX512 transpose(SIMD_16x32& B0,\n                            SIMD_16x32&
      B1,\n                            SIMD_16x32& B2,\n                            SIMD_16x32&
      B3,\n                            SIMD_16x32& B4,\n                            SIMD_16x32&
      B5,\n                            SIMD_16x32& B6,\n                            SIMD_16x32&
      B7,\n                            SIMD_16x32& B8,\n                            SIMD_16x32&
      B9,\n                            SIMD_16x32& BA,\n                            SIMD_16x32&
      BB,\n                            SIMD_16x32& BC,\n                            SIMD_16x32&
      BD,\n                            SIMD_16x32& BE,\n                            SIMD_16x32&
      BF)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0xca>
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' mask'
    - ' a'
    - ' b'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: Botan::SIMD_16x32::choose
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0xca>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 choose(const SIMD_16x32& mask, const SIMD_16x32&
      a, const SIMD_16x32& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::ternary_fn<0xe8>
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' z'
    argTypes:
    - SIMD_16x32
    - SIMD_16x32
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: Botan::SIMD_16x32::majority
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - SIMD_16x32::ternary_fn<0xe8>
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 majority(const SIMD_16x32& x, const SIMD_16x32&
      y, const SIMD_16x32& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_zeroall
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: Botan::SIMD_16x32::zero_registers
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 3
    functionsReached:
    - _mm256_zeroall
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 zero_registers()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: Botan::SIMD_16x32::raw
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void raw() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_avx512
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m512i
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: Botan::SIMD_16x32::SIMD_16x32
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 7
    functionsReached:
    - m_avx512
    linkageType: ''
    returnType: BOTAN_FN_ISA_AVX512
    signature: BOTAN_FN_ISA_AVX512 SIMD_16x32(__m512i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::rotl
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: Botan::rotl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 28
    functionsReached:
    - SIMD_16x32::rotl
    linkageType: ''
    returnType: SIMD_16x32
    signature: SIMD_16x32 rotl(SIMD_16x32 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::rotr
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: Botan::rotr
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 22
    functionsReached:
    - SIMD_16x32::rotr
    linkageType: ''
    returnType: SIMD_16x32
    signature: SIMD_16x32 rotr(SIMD_16x32 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_16x32::shl
      Src: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - SIMD_16x32
    constantsTouched: []
    func_position:
      end: 325
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionName: Botan::shl
    functionSourceFile: /src/botan/src/lib/utils/simd/simd_avx512/simd_avx512.h
    functionUses: 0
    functionsReached:
    - SIMD_16x32::shl
    linkageType: ''
    returnType: SIMD_16x32
    signature: SIMD_16x32 shl(SIMD_16x32 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<size_t>
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.h:46,1
    - Dst: shutdown
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.h:48,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.h:52,1
    - Dst: std::bind
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.h:69,1
    - Dst: std::forward<F>
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.h:69,1
    - Dst: std::forward<Args>
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.h:69,1
    - Dst: std::make_shared<std::packaged_task<return_type()>>
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.h:70,1
    - Dst: auto::get_future
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.h:71,1
    - Dst: queue_thunk
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.h:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 86
    functionName: Botan::Thread_Pool
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/thread_pool.h
    functionUses: 0
    functionsReached:
    - shutdown
    - std::optional<size_t>
    - std::bind
    - auto::get_future
    - queue_thunk
    - std::make_shared<std::packaged_task<return_type()>>
    - std::forward<F>
    - std::forward<Args>
    - Botan::size
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Thread_Pool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::Barrier::Barrier
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/barrier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Barrier(int value = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RWLock
      Src: /src/botan/src/lib/utils/thread_utils/rwlock.h:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 38
    functionName: Botan::RWLock
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/rwlock.h
    functionUses: 1
    functionsReached:
    - Botan::RWLock
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API RWLock
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: notify_one
      Src: /src/botan/src/lib/utils/thread_utils/semaphore.cpp:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 23
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 23
    functionName: Botan::Semaphore::release
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/semaphore.cpp
    functionUses: 0
    functionsReached:
    - notify_one
    linkageType: ''
    returnType: void
    signature: void Semaphore::release(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/botan/src/lib/utils/thread_utils/semaphore.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: Botan::Semaphore::acquire
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/semaphore.cpp
    functionUses: 0
    functionsReached:
    - wait
    linkageType: ''
    returnType: void
    signature: void Semaphore::acquire()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 11
    functionName: Botan::RWLock::RWLock
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/rwlock.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RWLock::RWLock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/botan/src/lib/utils/thread_utils/rwlock.cpp:16,1
    - Dst: wait
      Src: /src/botan/src/lib/utils/thread_utils/rwlock.cpp:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: Botan::RWLock::lock
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/rwlock.cpp
    functionUses: 0
    functionsReached:
    - wait
    linkageType: ''
    returnType: void
    signature: void RWLock::lock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: notify_all
      Src: /src/botan/src/lib/utils/thread_utils/rwlock.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: Botan::RWLock::unlock
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/rwlock.cpp
    functionUses: 0
    functionsReached:
    - notify_all
    linkageType: ''
    returnType: void
    signature: void RWLock::unlock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/botan/src/lib/utils/thread_utils/rwlock.cpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: Botan::RWLock::lock_shared
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/rwlock.cpp
    functionUses: 0
    functionsReached:
    - wait
    linkageType: ''
    returnType: void
    signature: void RWLock::lock_shared()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: notify_one
      Src: /src/botan/src/lib/utils/thread_utils/rwlock.cpp:47,1
    - Dst: notify_one
      Src: /src/botan/src/lib/utils/thread_utils/rwlock.cpp:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: Botan::RWLock::unlock_shared
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/rwlock.cpp
    functionUses: 0
    functionsReached:
    - notify_one
    linkageType: ''
    returnType: void
    signature: void RWLock::unlock_shared()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: Botan::Semaphore::Semaphore
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/semaphore.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Semaphore(int value = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OS::read_env_variable
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:20,1
    - Dst: std::optional<size_t>
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:27,1
    - Dst: std::stoul
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:27,1
    - Dst: std::optional<size_t>
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 50
    functionName: Botan::global_thread_pool_size
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp
    functionUses: 0
    functionsReached:
    - std::optional<size_t>
    - OS::read_env_variable
    - std::stoul
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> global_thread_pool_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '& Thread_Pool::global_instance()'
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Thread_Pool
    signature: Thread_Pool & Thread_Pool::global_instance()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<size_t>::has_value
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:65,1
    - Dst: Botan::OS::get_cpu_available
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:72,1
    - Dst: resize
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:88,1
    - Dst: std::thread
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:91,1
    - Dst: OS::set_thread_name
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - opt_pool_size
    argTypes:
    - std::optional<size_t>
    constantsTouched: []
    func_position:
      end: 94
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 94
    functionName: Botan::Thread_Pool::Thread_Pool
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp
    functionUses: 0
    functionsReached:
    - std::optional<size_t>::has_value
    - Botan::OS::get_cpu_available
    - std::thread
    - OS::set_thread_name
    - resize
    linkageType: ''
    returnType: void
    signature: void Thread_Pool::Thread_Pool(std::optional<size_t> opt_pool_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: notify_all
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:106,1
    - Dst: join
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:110,1
    - Dst: clear
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: Botan::Thread_Pool::shutdown
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp
    functionUses: 2
    functionsReached:
    - clear
    - join
    - notify_all
    linkageType: ''
    returnType: void
    signature: void Thread_Pool::shutdown()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:119,1
    - Dst: empty
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:122,1
    - Dst: fn
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:123,1
    - Dst: push_back
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:126,1
    - Dst: notify_one
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' fn'
    argTypes:
    - std::function<void()>
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: Botan::Thread_Pool::queue_thunk
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - notify_one
    - empty
    - push_back
    - fn
    linkageType: ''
    returnType: void
    signature: void Thread_Pool::queue_thunk(const std::function<void()>& fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:136,1
    - Dst: empty
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:136,1
    - Dst: empty
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:138,1
    - Dst: front
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:146,1
    - Dst: pop_front
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:147,1
    - Dst: task
      Src: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 152
    functionName: Botan::Thread_Pool::worker_thread
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/thread_pool.cpp
    functionUses: 0
    functionsReached:
    - wait
    - empty
    - pop_front
    - front
    - task
    linkageType: ''
    returnType: void
    signature: void Thread_Pool::worker_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - delta
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: Botan::Barrier::wait
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/barrier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Barrier::wait(size_t delta)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Barrier::wait
      Src: /src/botan/src/lib/utils/thread_utils/barrier.cpp:23,1
    - Dst: notify_all
      Src: /src/botan/src/lib/utils/thread_utils/barrier.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 29
    functionName: Botan::Barrier::sync
    functionSourceFile: /src/botan/src/lib/utils/thread_utils/barrier.cpp
    functionUses: 0
    functionsReached:
    - notify_all
    - Botan::Barrier::wait
    linkageType: ''
    returnType: void
    signature: void Barrier::sync()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:33,1
    - Dst: Botan::OS::open_socket
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:36,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:38,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:41,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:41,1
    - Dst: what
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:41,1
    - Dst: std::unique_ptr::write
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:45,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:45,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:45,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:45,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:47,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:48,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:59,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:60,1
    - Dst: std::ostringstream::write
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:63,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:63,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:63,1
    - Dst: static_cast<std::streamsize>
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:63,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:66,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - hostname
    - service
    - message
    - timeout
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 67
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 67
    functionName: Botan::HTTP::http_transact
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - cast_char_ptr_to_uint8
    - static_cast<std::streamsize>
    - std::unique_ptr::write
    - what
    - std::ostringstream::str
    - fmt
    - Botan::OS::open_socket
    - std::string_view::size
    - std::ostringstream::write
    - HTTP_Error
    - cast_uint8_ptr_to_char
    - std::string_view::data
    - Not_Implemented
    - std::vector::data
    linkageType: ''
    returnType: std::string
    signature: "std::string http_transact(std::string_view hostname,\n                          std::string_view
      service,\n                          std::string_view message,\n                          std::chrono::milliseconds
      timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: Botan::HTTP::needs_url_encoding
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool needs_url_encoding(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HTTP::needs_url_encoding
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:91,1
    - Dst: hex_encode
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:92,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:92,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: Botan::HTTP::url_encode
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.cpp
    functionUses: 0
    functionsReached:
    - Botan::HTTP::needs_url_encoding
    - cast_char_ptr_to_uint8
    - std::ostringstream::str
    - hex_encode
    linkageType: ''
    returnType: std::string
    signature: std::string url_encode(std::string_view in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: status_code
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:102,1
    - Dst: status_message
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:102,1
    - Dst: headers
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:103,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:106,1
    - Dst: body
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:106,1
    - Dst: write
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:107,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:107,1
    - Dst: body
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:107,1
    - Dst: body
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' o'
    - ' resp'
    argTypes:
    - std::ostream
    - Response
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: '& operator<<(std::ostream& o, const Response& resp)'
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.cpp
    functionUses: 0
    functionsReached:
    - body
    - std::to_string
    - write
    - headers
    - cast_uint8_ptr_to_char
    - status_message
    - status_code
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& o, const Response& resp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:117,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:118,1
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:121,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:123,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:123,1
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:126,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:131,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:134,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:135,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:138,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:143,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:144,1
    - Dst: size
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:156,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:159,1
    - Dst: std::ostringstream::write
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:163,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:163,1
    - Dst: data
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:163,1
    - Dst: size
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:163,1
    - Dst: Botan::HTTP::http_transact
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:165,1
    - Dst: std::ostringstream::str
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:165,1
    - Dst: std::getline
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:168,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:169,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:170,1
    - Dst: std::getline
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:180,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:182,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:183,1
    - Dst: std::getline
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:188,1
    - Dst: std::string::find
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:189,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:190,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:191,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:191,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:193,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:195,1
    - Dst: std::string::substr
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:196,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:196,1
    - Dst: std::map::contains
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:201,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:203,1
    - Dst: Botan::HTTP::GET_sync
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:205,1
    - Dst: std::istringstream::good
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:210,1
    - Dst: std::istringstream::read
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:211,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:211,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:211,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:211,1
    - Dst: std::vector::insert
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:213,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:213,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:213,1
    - Dst: std::map::find
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:216,1
    - Dst: std::map::end
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:217,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:219,1
    - Dst: to_u32bit
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:219,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:220,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:220,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:220,1
    - Dst: Response
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:224,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 67
    argCount: 6
    argNames:
    - ' http_transact'
    - verb
    - url
    - content_type
    - ' body'
    - allowable_redirects
    argTypes:
    - http_exch_fn
    - std::string_view
    - std::string_view
    - std::string_view
    - std::vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 225
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 225
    functionName: Botan::HTTP::http_sync
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::vector::size
    - fmt
    - std::string::find
    - std::string_view::find
    - HTTP_Error
    - std::string::empty
    - std::string_view::substr
    - Botan::HTTP::GET_sync
    - std::istringstream::read
    - std::map::contains
    - Botan::HTTP::http_transact
    - data
    - std::string_view::empty
    - std::ostringstream::write
    - std::vector::end
    - std::vector::data
    - std::map::end
    - Response
    - std::istringstream::good
    - size
    - cast_uint8_ptr_to_char
    - std::map::find
    - std::ostringstream::str
    - to_u32bit
    - std::vector::insert
    - std::getline
    - std::string::substr
    linkageType: ''
    returnType: Response
    signature: "Response http_sync(const http_exch_fn& http_transact,\n                   std::string_view
      verb,\n                   std::string_view url,\n                   std::string_view
      content_type,\n                   const std::vector<uint8_t>& body,\n                   size_t
      allowable_redirects)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HTTP::http_transact
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:235,1
    - Dst: Botan::HTTP::http_sync
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - verb
    - url
    - content_type
    - ' body'
    - allowable_redirects
    - timeout
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    - std::vector<uint8_t>
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: Botan::HTTP::http_sync
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.cpp
    functionUses: 1
    functionsReached:
    - Botan::HTTP::http_transact
    - Botan::HTTP::http_sync
    linkageType: ''
    returnType: Response
    signature: "Response http_sync(std::string_view verb,\n                   std::string_view
      url,\n                   std::string_view content_type,\n                   const
      std::vector<uint8_t>& body,\n                   size_t allowable_redirects,\n
      \                  std::chrono::milliseconds timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HTTP::http_sync
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:242,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - url
    - allowable_redirects
    - timeout
    argTypes:
    - std::string_view
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: Botan::HTTP::GET_sync
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.cpp
    functionUses: 3
    functionsReached:
    - std::vector<uint8_t>
    - Botan::HTTP::http_sync
    linkageType: ''
    returnType: Response
    signature: Response GET_sync(std::string_view url, size_t allowable_redirects,
      std::chrono::milliseconds timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HTTP::http_sync
      Src: /src/botan/src/lib/utils/http_util/http_util.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - url
    - content_type
    - ' body'
    - allowable_redirects
    - timeout
    argTypes:
    - std::string_view
    - std::string_view
    - std::vector<uint8_t>
    - size_t
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: Botan::HTTP::POST_sync
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.cpp
    functionUses: 2
    functionsReached:
    - Botan::HTTP::http_sync
    linkageType: ''
    returnType: Response
    signature: "Response POST_sync(std::string_view url,\n                   std::string_view
      content_type,\n                   const std::vector<uint8_t>& body,\n                   size_t
      allowable_redirects,\n                   std::chrono::milliseconds timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::HTTP::HTTP_Error::HTTP_Error
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTP_Error(const std::string& msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::HTTP::HTTP_Error::error_type
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ErrorType
    signature: ErrorType error_type() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::HTTP::Response::Response
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Response()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - status_code
    - status_message
    - ' body'
    - ' headers'
    argTypes:
    - unsigned int
    - std::string_view
    - std::vector<uint8_t>
    - std::map<std::string, std::string>
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: Botan::HTTP::Response::Response
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Response(unsigned int status_code,\n               std::string_view
      status_message,\n               const std::vector<uint8_t>& body,\n               const
      std::map<std::string, std::string>& headers)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan::HTTP::Response::status_code
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int status_code() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& body() const'
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & body() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '& headers() const'
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<std::string, std::string>
    signature: std::map<std::string, std::string> & headers() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::HTTP::Response::status_message
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string status_message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HTTP::Response::status_code
      Src: /src/botan/src/lib/utils/http_util/http_util.h:50,1
    - Dst: HTTP_Error
      Src: /src/botan/src/lib/utils/http_util/http_util.h:51,1
    - Dst: Botan::HTTP::Response::status_message
      Src: /src/botan/src/lib/utils/http_util/http_util.h:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Botan::HTTP::Response::throw_unless_ok
    functionSourceFile: /src/botan/src/lib/utils/http_util/http_util.h
    functionUses: 0
    functionsReached:
    - Botan::HTTP::Response::status_message
    - HTTP_Error
    - Botan::HTTP::Response::status_code
    linkageType: ''
    returnType: void
    signature: void throw_unless_ok() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:40,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::return_carry
    functionSourceFile: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::Mask::expand_top_bit
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t return_carry(uint64_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:46,1
    - Dst: Botan::copy_out_be
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:58,1
    - Dst: std::span
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: Botan::poly_double
    functionSourceFile: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp
    functionUses: 1
    functionsReached:
    - Botan::copy_out_be
    - Botan::load_be
    - std::span
    linkageType: ''
    returnType: void
    signature: void poly_double(uint8_t out[], const uint8_t in[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:64,1
    - Dst: Botan::copy_out_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:76,1
    - Dst: std::span
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: Botan::poly_double_le
    functionSourceFile: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp
    functionUses: 0
    functionsReached:
    - Botan::load_le
    - Botan::copy_out_le
    - std::span
    linkageType: ''
    returnType: void
    signature: void poly_double_le(uint8_t out[], const uint8_t in[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::poly_double
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:84,1
    - Dst: Botan::poly_double
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:86,1
    - Dst: Botan::poly_double
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:88,1
    - Dst: Botan::poly_double
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:90,1
    - Dst: Botan::poly_double
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:92,1
    - Dst: Botan::poly_double
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:94,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - out
    - in
    - n
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: Botan::poly_double_n
    functionSourceFile: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp
    functionUses: 2
    functionsReached:
    - Invalid_Argument
    - Botan::poly_double
    linkageType: ''
    returnType: void
    signature: void poly_double_n(uint8_t out[], const uint8_t in[], size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::poly_double_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:103,1
    - Dst: Botan::poly_double_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:105,1
    - Dst: Botan::poly_double_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:107,1
    - Dst: Botan::poly_double_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:109,1
    - Dst: Botan::poly_double_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:111,1
    - Dst: Botan::poly_double_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:113,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - out
    - in
    - n
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: Botan::poly_double_n_le
    functionSourceFile: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - Botan::poly_double_le
    linkageType: ''
    returnType: void
    signature: void poly_double_n_le(uint8_t out[], const uint8_t in[], size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:124,1
    - Dst: Botan::copy_out_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:130,1
    - Dst: std::span
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:130,1
    - Dst: Botan::poly_double_n_le
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - tweak
    - BS
    - blocks_in_tweak
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 139
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 139
    functionName: Botan::xts_update_tweak_block
    functionSourceFile: /src/botan/src/lib/utils/poly_dbl/poly_dbl.cpp
    functionUses: 0
    functionsReached:
    - Botan::poly_double_n_le
    - Botan::load_le
    - Botan::copy_out_le
    - std::span
    linkageType: ''
    returnType: void
    signature: void xts_update_tweak_block(uint8_t tweak[], size_t BS, size_t blocks_in_tweak)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: Botan::poly_double_supported_size
    functionSourceFile: /src/botan/src/lib/utils/poly_dbl/poly_dbl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool poly_double_supported_size(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::poly_double_n
      Src: /src/botan/src/lib/utils/poly_dbl/poly_dbl.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - n
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: Botan::poly_double_n
    functionSourceFile: /src/botan/src/lib/utils/poly_dbl/poly_dbl.h
    functionUses: 3
    functionsReached:
    - Botan::poly_double_n
    linkageType: ''
    returnType: void
    signature: void poly_double_n(uint8_t buf[], size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/utils/ghash/ghash.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Botan::GHASH::key_spec
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.h
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Botan::GHASH::name
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:25,1
    - Dst: Botan_Tests::check
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: Botan::GHASH::provider
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::check
    linkageType: ''
    returnType: std::string
    signature: std::string GHASH::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:40,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:40,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:43,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:44,1
    - Dst: empty
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:44,1
    - Dst: ghash_multiply_cpu
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:45,1
    - Dst: std::span<uint8_t, GCM_BS>::data
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:45,1
    - Dst: data
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:45,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:45,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:50,1
    - Dst: Botan::GHASH::ghash_multiply_vperm
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:51,1
    - Dst: std::span<uint8_t, GCM_BS>::data
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:51,1
    - Dst: data
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:51,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:51,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:55,1
    - Dst: load_be<std::array<uint64_t, 2>>
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:57,1
    - Dst: load_be<std::array<uint64_t, 2>>
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:61,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:61,1
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:68,1
    - Dst: Botan::CT::Mask::expand_top_bit
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:69,1
    - Dst: auto::select
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:74,1
    - Dst: auto::select
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:75,1
    - Dst: auto::select
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:77,1
    - Dst: auto::select
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:78,1
    - Dst: store_be
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - x
    - input
    - blocks
    argTypes:
    - std::span<uint8_t, GCM_BS>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 86
    functionName: Botan::GHASH::ghash_multiply
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - auto::select
    - BOTAN_ASSERT_NOMSG
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - std::span<uint8_t, GCM_BS>::data
    - load_be<std::array<uint64_t, 2>>
    - data
    - BufferSlicer::take
    - ghash_multiply_cpu
    - Botan::CT::scoped_poison
    - Botan::CT::Mask::expand_top_bit
    - empty
    - Botan::GHASH::ghash_multiply_vperm
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - store_be
    linkageType: ''
    returnType: void
    signature: void GHASH::ghash_multiply(std::span<uint8_t, GCM_BS> x, std::span<const
      uint8_t> input, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:89,1
    - Dst: empty
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::GHASH::has_keying_material
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool GHASH::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:97,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:97,1
    - Dst: load_be<std::array<uint64_t, 2>>
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:98,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:98,1
    - Dst: Botan::Classic_McEliece_Field_Ordering::alphas
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:101,1
    - Dst: zap
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:102,1
    - Dst: size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:103,1
    - Dst: resize
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:104,1
    - Dst: ghash_precompute_cpu
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:106,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:106,1
    - Dst: data
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:106,1
    - Dst: size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:114,1
    - Dst: resize
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 134
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 134
    functionName: Botan::GHASH::key_schedule
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - zap
    - BOTAN_ASSERT_NOMSG
    - Botan::Classic_McEliece_Field_Ordering::alphas
    - load_be<std::array<uint64_t, 2>>
    - data
    - size
    - ghash_precompute_cpu
    - resize
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::first
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void GHASH::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:137,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:137,1
    - Dst: emplace
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:138,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:139,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: Botan::GHASH::start
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - emplace
    - BOTAN_ARG_CHECK
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void GHASH::start(std::span<const uint8_t> nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:144,1
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:146,1
    - Dst: Botan::GHASH::ghash_update
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:148,1
    - Dst: Botan::GHASH::ghash_zeropad
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:149,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: Botan::GHASH::set_associated_data
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - Botan::GHASH::ghash_update
    - BOTAN_STATE_CHECK
    - assert_key_material_set
    - Botan::GHASH::ghash_zeropad
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void GHASH::set_associated_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:154,1
    - Dst: Botan::GHASH::ghash_update
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:155,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ad
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: Botan::GHASH::update_associated_data
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - Botan::GHASH::ghash_update
    - assert_key_material_set
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void GHASH::update_associated_data(std::span<const uint8_t> ad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:160,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:161,1
    - Dst: Botan::GHASH::ghash_update
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:162,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: Botan::GHASH::update
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - Botan::GHASH::ghash_update
    - BOTAN_STATE_CHECK
    - assert_key_material_set
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void GHASH::update(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:167,1
    - Dst: std::span<uint8_t>::empty
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:167,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:167,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:168,1
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:169,1
    - Dst: Botan::GHASH::ghash_zeropad
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:171,1
    - Dst: Botan::GHASH::ghash_final_block
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:172,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:174,1
    - Dst: first
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:174,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:174,1
    - Dst: first
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:174,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:174,1
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:176,1
    - Dst: Botan::GHASH::reset
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - mac
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 179
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 179
    functionName: Botan::GHASH::final
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - Botan::GHASH::reset
    - BOTAN_STATE_CHECK
    - std::span<uint8_t>::size
    - std::span<uint8_t>::empty
    - assert_key_material_set
    - Botan::GHASH::ghash_zeropad
    - Botan::GHASH::ghash_final_block
    - first
    - secure_scrub_memory
    - xor_buf
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void GHASH::final(std::span<uint8_t> mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:182,1
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:183,1
    - Dst: Botan::GHASH::ghash_update
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:185,1
    - Dst: Botan::GHASH::ghash_zeropad
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:186,1
    - Dst: Botan::GHASH::ghash_final_block
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:187,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - y0
    - nonce
    argTypes:
    - std::span<uint8_t, GCM_BS>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: Botan::GHASH::nonce_hash
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - Botan::GHASH::ghash_update
    - BOTAN_STATE_CHECK
    - assert_key_material_set
    - Botan::GHASH::ghash_zeropad
    - Botan::GHASH::ghash_final_block
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void GHASH::nonce_hash(std::span<uint8_t, GCM_BS> y0, std::span<const
      uint8_t> nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:191,1
    - Dst: zap
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:192,1
    - Dst: Botan::GHASH::reset
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: Botan::GHASH::clear
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 0
    functionsReached:
    - zap
    - Botan::GHASH::reset
    linkageType: ''
    returnType: void
    signature: void GHASH::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:198,1
    - Dst: secure_scrub_memory
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:200,1
    - Dst: value
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:200,1
    - Dst: Botan::GHASH::reset
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:201,1
    - Dst: Botan::GHASH::clear
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: Botan::GHASH::reset
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 3
    functionsReached:
    - Botan::GHASH::reset
    - Botan::GHASH::clear
    - value
    - secure_scrub_memory
    linkageType: ''
    returnType: void
    signature: void GHASH::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:209,1
    - Dst: handle_unaligned_data
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:210,1
    - Dst: Botan::GHASH::ghash_multiply
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:211,1
    - Dst: auto::value
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:211,1
    - Dst: in_alignment
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:214,1
    - Dst: Botan::GHASH::ghash_multiply
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:217,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:221,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - x
    - input
    argTypes:
    - std::span<uint8_t, GCM_BS>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 222
      start: 207
    functionDepth: 4
    functionLinenumber: 207
    functionLinenumberEnd: 222
    functionName: Botan::GHASH::ghash_update
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 4
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - auto::value
    - in_alignment
    - handle_unaligned_data
    - BufferSlicer::empty
    - Botan::GHASH::ghash_multiply
    linkageType: ''
    returnType: void
    signature: void GHASH::ghash_update(std::span<uint8_t, GCM_BS> x, std::span<const
      uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: in_alignment
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:225,1
    - Dst: fill_up_with_zeros
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:226,1
    - Dst: Botan::GHASH::ghash_multiply
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:227,1
    - Dst: consume
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::span<uint8_t, GCM_BS>
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 4
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: Botan::GHASH::ghash_zeropad
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 3
    functionsReached:
    - consume
    - Botan::GHASH::ghash_multiply
    - fill_up_with_zeros
    - in_alignment
    linkageType: ''
    returnType: void
    signature: void GHASH::ghash_zeropad(std::span<uint8_t, GCM_BS> x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:232,1
    - Dst: in_alignment
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:232,1
    - Dst: store_be
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:233,1
    - Dst: Botan::GHASH::ghash_multiply
      Src: /src/botan/src/lib/utils/ghash/ghash.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - ad_len
    - text_len
    argTypes:
    - std::span<uint8_t, GCM_BS>
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 4
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: Botan::GHASH::ghash_final_block
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash.cpp
    functionUses: 2
    functionsReached:
    - Botan::GHASH::ghash_multiply
    - BOTAN_STATE_CHECK
    - store_be
    - in_alignment
    linkageType: ''
    returnType: void
    signature: void GHASH::ghash_final_block(std::span<uint8_t, GCM_BS> x, uint64_t
      ad_len, uint64_t text_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi8
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:26,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:27,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:27,1
    - Dst: raw
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:27,1
    - Dst: vld1q_u8
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:30,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:31,1
    - Dst: vreinterpretq_u32_u8
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:31,1
    - Dst: vqtbl1q_u8
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:31,1
    - Dst: vreinterpretq_u8_u32
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:31,1
    - Dst: raw
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:31,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:34,1
    - Dst: vec_perm
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:34,1
    - Dst: raw
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:34,1
    - Dst: raw
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 36
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 36
    functionName: Botan::reverse_vector
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp
    functionUses: 0
    functionsReached:
    - _mm_shuffle_epi8
    - vreinterpretq_u8_u32
    - vec_perm
    - vqtbl1q_u8
    - raw
    - _mm_set_epi8
    - vld1q_u8
    - SIMD_4x32
    - vreinterpretq_u32_u8
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE reverse_vector(const SIMD_4x32& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:43,1
    - Dst: _mm_clmulepi64_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:43,1
    - Dst: raw
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:43,1
    - Dst: raw
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:43,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:50,1
    - Dst: vmull_p64
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:50,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:52,1
    - Dst: reinterpret_cast<uint32x4_t>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:52,1
    - Dst: vmull_p64
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:52,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:56,1
    - Dst: Botan::reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:63,1
    - Dst: Botan::reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:64,1
    - Dst: SIMD_4x32::shift_elems_left
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:71,1
    - Dst: SIMD_4x32::shift_elems_left
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:73,1
    - Dst: SIMD_4x32::andc
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:75,1
    - Dst: SIMD_4x32::andc
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:76,1
    - Dst: reinterpret_cast<__vector unsigned long long>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:79,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:79,1
    - Dst: reinterpret_cast<__vector unsigned long long>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:80,1
    - Dst: SIMD_4x32::raw
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:80,1
    - Dst: BOTAN_COMPILER_HAS_BUILTIN
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:82,1
    - Dst: __builtin_crypto_vpmsumd
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:83,1
    - Dst: __builtin_altivec_crypto_vpmsumd
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:85,1
    - Dst: SIMD_4x32
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:88,1
    - Dst: reinterpret_cast<__vector unsigned int>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:88,1
    - Dst: Botan::reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:91,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - ' H'
    - ' x'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 96
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 96
    functionName: Botan::clmul
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_COMPILER_HAS_BUILTIN
    - _mm_clmulepi64_si128
    - __builtin_crypto_vpmsumd
    - raw
    - reinterpret_cast<__vector unsigned int>
    - SIMD_4x32::raw
    - SIMD_4x32::andc
    - reinterpret_cast<__vector unsigned long long>
    - SIMD_4x32::shift_elems_left
    - SIMD_4x32
    - reinterpret_cast<uint32x4_t>
    - Botan::reverse_vector
    - __builtin_altivec_crypto_vpmsumd
    - vmull_p64
    linkageType: ''
    returnType: BOTAN_FORCE_INLINE
    signature: BOTAN_FORCE_INLINE clmul(const SIMD_4x32& H, const SIMD_4x32& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shr
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:99,1
    - Dst: shl
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:100,1
    - Dst: shr
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:101,1
    - Dst: shl
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:102,1
    - Dst: SIMD_4x32::shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:104,1
    - Dst: SIMD_4x32::shift_elems_left
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:105,1
    - Dst: SIMD_4x32::shift_elems_left
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:106,1
    - Dst: SIMD_4x32::shl
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:108,1
    - Dst: SIMD_4x32::shl
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:108,1
    - Dst: SIMD_4x32::shl
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:108,1
    - Dst: SIMD_4x32::shift_elems_left
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:110,1
    - Dst: SIMD_4x32::shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:112,1
    - Dst: SIMD_4x32::shr
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:113,1
    - Dst: SIMD_4x32::shr
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:113,1
    - Dst: SIMD_4x32::shr
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' B0'
    - ' B1'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: Botan::BOTAN_FN_ISA_CLMUL::gcm_reduce
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::shift_elems_right
    - SIMD_4x32::shift_elems_left
    - SIMD_4x32::shr
    - shl
    - SIMD_4x32::shl
    - shr
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_CLMUL gcm_reduce(const SIMD_4x32& B0, const
      SIMD_4x32& B1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clmul<0x11>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:118,1
    - Dst: clmul<0x10>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:119,1
    - Dst: clmul<0x01>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:120,1
    - Dst: clmul<0x00>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:121,1
    - Dst: SIMD_4x32::shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:124,1
    - Dst: SIMD_4x32::shift_elems_left
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:125,1
    - Dst: Botan::BOTAN_FN_ISA_CLMUL::gcm_reduce
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' H'
    - ' x'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 128
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 128
    functionName: Botan::BOTAN_FN_ISA_CLMUL::gcm_multiply
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::shift_elems_right
    - clmul<0x10>
    - clmul<0x11>
    - clmul<0x01>
    - clmul<0x00>
    - SIMD_4x32::shift_elems_left
    - Botan::BOTAN_FN_ISA_CLMUL::gcm_reduce
    linkageType: ''
    returnType: SIMD_4x32
    signature: SIMD_4x32 BOTAN_FN_ISA_CLMUL gcm_multiply(const SIMD_4x32& H, const
      SIMD_4x32& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clmul<0x00>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:143,1
    - Dst: clmul<0x00>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:143,1
    - Dst: clmul<0x00>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:143,1
    - Dst: clmul<0x00>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:143,1
    - Dst: clmul<0x11>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:145,1
    - Dst: clmul<0x11>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:145,1
    - Dst: clmul<0x11>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:145,1
    - Dst: clmul<0x11>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:145,1
    - Dst: clmul<0x00>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:149,1
    - Dst: shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:149,1
    - Dst: shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:149,1
    - Dst: clmul<0x00>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:150,1
    - Dst: shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:150,1
    - Dst: shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:150,1
    - Dst: clmul<0x00>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:151,1
    - Dst: shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:151,1
    - Dst: shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:151,1
    - Dst: clmul<0x00>
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:152,1
    - Dst: shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:152,1
    - Dst: shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:152,1
    - Dst: Botan::BOTAN_FN_ISA_CLMUL::gcm_reduce
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:156,1
    - Dst: SIMD_4x32::shift_elems_right
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:156,1
    - Dst: SIMD_4x32::shift_elems_left
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 8
    argNames:
    - ' H1'
    - ' H2'
    - ' H3'
    - ' H4'
    - ' X1'
    - ' X2'
    - ' X3'
    - ' X4'
    argTypes:
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    - SIMD_4x32
    constantsTouched: []
    func_position:
      end: 157
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 157
    functionName: Botan::BOTAN_FN_ISA_CLMUL::gcm_multiply_x4
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp
    functionUses: 0
    functionsReached:
    - shift_elems_right
    - SIMD_4x32::shift_elems_right
    - clmul<0x11>
    - clmul<0x00>
    - SIMD_4x32::shift_elems_left
    - Botan::BOTAN_FN_ISA_CLMUL::gcm_reduce
    linkageType: ''
    returnType: SIMD_4x32
    signature: "SIMD_4x32 BOTAN_FN_ISA_CLMUL gcm_multiply_x4(const SIMD_4x32& H1,\n
      \                                                   const SIMD_4x32& H2,\n                                                    const
      SIMD_4x32& H3,\n                                                    const SIMD_4x32&
      H4,\n                                                    const SIMD_4x32& X1,\n
      \                                                   const SIMD_4x32& X2,\n                                                    const
      SIMD_4x32& X3,\n                                                    const SIMD_4x32&
      X4)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:162,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:162,1
    - Dst: Botan::BOTAN_FN_ISA_CLMUL::gcm_multiply
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:163,1
    - Dst: Botan::BOTAN_FN_ISA_CLMUL::gcm_multiply
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:164,1
    - Dst: Botan::BOTAN_FN_ISA_CLMUL::gcm_multiply
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:165,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:167,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:168,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:169,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - H_bytes
    - H_pow
    argTypes:
    - uint8_t[]
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: Botan::BOTAN_FN_ISA_CLMUL::ghash_precompute_cpu
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp
    functionUses: 0
    functionsReached:
    - SIMD_4x32::store_le
    - Botan::BOTAN_FN_ISA_CLMUL::gcm_multiply
    - Botan::SIMD_4x32::load_le
    - reverse_vector
    linkageType: ''
    returnType: void
    signature: void BOTAN_FN_ISA_CLMUL GHASH::ghash_precompute_cpu(const uint8_t H_bytes[16],
      uint64_t H_pow[4 * 2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:180,1
    - Dst: reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:182,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:182,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:185,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:186,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:187,1
    - Dst: reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:190,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:190,1
    - Dst: reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:191,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:191,1
    - Dst: reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:192,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:192,1
    - Dst: reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:193,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:193,1
    - Dst: Botan::BOTAN_FN_ISA_CLMUL::gcm_multiply_x4
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:196,1
    - Dst: reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:204,1
    - Dst: Botan::SIMD_4x32::load_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:204,1
    - Dst: Botan::BOTAN_FN_ISA_CLMUL::gcm_multiply
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:207,1
    - Dst: reverse_vector
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:210,1
    - Dst: SIMD_4x32::store_le
      Src: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - x
    - H_pow
    - input
    - blocks
    argTypes:
    - uint8_t[]
    - uint64_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 212
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 212
    functionName: Botan::BOTAN_FN_ISA_CLMUL::ghash_multiply_cpu
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp
    functionUses: 0
    functionsReached:
    - reverse_vector
    - Botan::BOTAN_FN_ISA_CLMUL::gcm_multiply_x4
    - SIMD_4x32::store_le
    - Botan::BOTAN_FN_ISA_CLMUL::gcm_multiply
    - Botan::SIMD_4x32::load_le
    linkageType: ''
    returnType: void
    signature: "void BOTAN_FN_ISA_CLMUL GHASH::ghash_multiply_cpu(uint8_t x[16],\n
      \                                                 const uint64_t H_pow[8],\n
      \                                                 const uint8_t input[],\n                                                  size_t
      blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi8
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:18,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:20,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:22,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:22,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:23,1
    - Dst: _mm_set1_epi8
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:25,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:28,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:28,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:29,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:31,1
    - Dst: _mm_setzero_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:33,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:36,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:37,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:38,1
    - Dst: _mm_loadu_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:39,1
    - Dst: _mm_add_epi64
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:41,1
    - Dst: _mm_srli_epi64
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:41,1
    - Dst: _mm_slli_epi64
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:42,1
    - Dst: _mm_add_epi64
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:43,1
    - Dst: _mm_srli_epi64
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:43,1
    - Dst: _mm_slli_epi64
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:44,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:46,1
    - Dst: _mm_andnot_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:46,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:46,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:47,1
    - Dst: _mm_andnot_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:47,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:47,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:48,1
    - Dst: _mm_andnot_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:48,1
    - Dst: _mm_unpackhi_epi64
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:48,1
    - Dst: _mm_xor_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:49,1
    - Dst: _mm_andnot_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:49,1
    - Dst: _mm_unpacklo_epi64
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:49,1
    - Dst: _mm_shuffle_epi32
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:52,1
    - Dst: _MM_SHUFFLE
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:52,1
    - Dst: _mm_shuffle_epi8
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:55,1
    - Dst: _mm_storeu_si128
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:56,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - x
    - HM
    - input_bytes
    - blocks
    argTypes:
    - uint8_t[]
    - uint64_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 57
    functionName: Botan::GHASH::ghash_multiply_vperm
    functionSourceFile: /src/botan/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp
    functionUses: 1
    functionsReached:
    - _mm_shuffle_epi8
    - reinterpret_cast<__m128i*>
    - _mm_unpackhi_epi64
    - _mm_xor_si128
    - _mm_set_epi8
    - reinterpret_cast<const __m128i*>
    - _mm_slli_epi64
    - _mm_unpacklo_epi64
    - _mm_storeu_si128
    - _mm_set1_epi8
    - _mm_andnot_si128
    - _mm_shuffle_epi32
    - _MM_SHUFFLE
    - _mm_add_epi64
    - _mm_loadu_si128
    - _mm_srli_epi64
    - _mm_setzero_si128
    linkageType: ''
    returnType: BOTAN_FN_ISA_SIMD_4X32
    signature: BOTAN_FN_ISA_SIMD_4X32 GHASH::ghash_multiply_vperm(uint8_t x[16], const
      uint64_t HM[256], const uint8_t input_bytes[], size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expires_after
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:50,1
    - Dst: Botan::Asio_SocketUDP::check_timeout
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:51,1
    - Dst: boost::asio::ip::udp::resolver::resolve
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:55,1
    - Dst: boost::asio::async_connect
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:62,1
    - Dst: boost::asio::ip::udp::resolver::results_type::begin
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:62,1
    - Dst: boost::asio::ip::udp::resolver::results_type::end
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:62,1
    - Dst: run_one
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:65,1
    - Dst: boost::system::system_error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:69,1
    - Dst: is_open
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:71,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:72,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - hostname
    - service
    - timeout
    argTypes:
    - std::string_view
    - std::string_view
    - std::chrono::microseconds
    constantsTouched: []
    func_position:
      end: 74
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 74
    functionName: Botan::Asio_SocketUDP::Asio_SocketUDP
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - boost::asio::async_connect
    - boost::asio::ip::udp::resolver::results_type::begin
    - expires_after
    - run_one
    - boost::asio::ip::udp::resolver::results_type::end
    - fmt
    - System_Error
    - Botan::Asio_SocketUDP::check_timeout
    - boost::asio::ip::udp::resolver::resolve
    - boost::system::system_error
    - is_open
    linkageType: ''
    returnType: void
    signature: void Asio_SocketUDP(std::string_view hostname, std::string_view service,
      std::chrono::microseconds timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expires_after
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:77,1
    - Dst: async_send
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:81,1
    - Dst: Peer::buffer
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:81,1
    - Dst: run_one
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:84,1
    - Dst: boost::system::system_error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: Botan::Asio_SocketUDP::write
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - expires_after
    - run_one
    - async_send
    - Peer::buffer
    - boost::system::system_error
    linkageType: ''
    returnType: void
    signature: void write(const uint8_t buf[], size_t len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expires_after
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:93,1
    - Dst: async_receive
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:98,1
    - Dst: Peer::buffer
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:98,1
    - Dst: run_one
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:104,1
    - Dst: boost::system::system_error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 115
    functionName: Botan::Asio_SocketUDP::read
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - async_receive
    - expires_after
    - run_one
    - Peer::buffer
    - boost::system::system_error
    linkageType: ''
    returnType: size_t
    signature: size_t read(uint8_t buf[], size_t len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:119,1
    - Dst: expiry
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:119,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:119,1
    - Dst: close
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:123,1
    - Dst: async_wait
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:126,1
    - Dst: std::bind
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: Botan::Asio_SocketUDP::check_timeout
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 1
    functionsReached:
    - expiry
    - Botan::TLS::detail::AsyncBase::complete_now
    - close
    - std::bind
    - is_open
    - async_wait
    linkageType: ''
    returnType: void
    signature: void check_timeout()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BSD_SocketUDP::socket_init
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:139,1
    - Dst: Botan::BSD_SocketUDP::invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:141,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:145,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:155,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:155,1
    - Dst: Botan::BSD_SocketUDP::invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:158,1
    - Dst: Client::close_socket
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:163,1
    - Dst: Botan::BSD_SocketUDP::invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:165,1
    - Dst: Botan::BSD_SocketUDP::set_nonblocking
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:170,1
    - Dst: memcpy
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:171,1
    - Dst: static_cast<socklen_t>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:172,1
    - Dst: ::freeaddrinfo
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:175,1
    - Dst: Botan::BSD_SocketUDP::invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:177,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:178,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:178,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - hostname
    - service
    - timeout
    argTypes:
    - std::string_view
    - std::string_view
    - std::chrono::microseconds
    constantsTouched: []
    func_position:
      end: 181
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 181
    functionName: Botan::BSD_SocketUDP::BSD_SocketUDP
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - Botan::BSD_SocketUDP::invalid_socket
    - ::freeaddrinfo
    - clear_mem
    - fmt
    - System_Error
    - Client::close_socket
    - static_cast<socklen_t>
    - Botan::BSD_SocketUDP::socket_init
    - memcpy
    - Botan::BSD_SocketUDP::set_nonblocking
    linkageType: ''
    returnType: void
    signature: void BSD_SocketUDP(std::string_view hostname, std::string_view service,
      std::chrono::microseconds timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close_socket
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:184,1
    - Dst: invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:185,1
    - Dst: socket_fini
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: ~BSD_SocketUDP() override
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - close_socket
    - invalid_socket
    - socket_fini
    linkageType: ''
    returnType: void
    signature: void ~BSD_SocketUDP() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BSD_SocketUDP
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: Botan::BSD_SocketUDP::BSD_SocketUDP
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BSD_SocketUDP(const BSD_SocketUDP& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BSD_SocketUDP
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: Botan::BSD_SocketUDP::BSD_SocketUDP
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BSD_SocketUDP(BSD_SocketUDP&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BSD_SocketUDP
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: '& operator=(const BSD_SocketUDP& other)'
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BSD_SocketUDP
    signature: BSD_SocketUDP & operator=(const BSD_SocketUDP& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BSD_SocketUDP
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: '& operator=(BSD_SocketUDP&& other)'
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BSD_SocketUDP
    signature: BSD_SocketUDP & operator=(BSD_SocketUDP&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:196,1
    - Dst: FD_SET
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:197,1
    - Dst: Botan::BSD_SocketUDP::make_timeout_tv
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:201,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:205,1
    - Dst: ::sendto
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:209,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:210,1
    - Dst: static_cast<sendrecv_len_type>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:211,1
    - Dst: reinterpret_cast<sockaddr*>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:213,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:216,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 221
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 221
    functionName: Botan::BSD_SocketUDP::write
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - FD_SET
    - static_cast<sendrecv_len_type>
    - FD_ZERO
    - System_Error
    - static_cast<size_t>
    - reinterpret_cast<sockaddr*>
    - cast_uint8_ptr_to_char
    - Botan::BSD_SocketUDP::make_timeout_tv
    - ::sendto
    linkageType: ''
    returnType: void
    signature: void write(const uint8_t buf[], size_t len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:225,1
    - Dst: FD_SET
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:226,1
    - Dst: Botan::BSD_SocketUDP::make_timeout_tv
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:228,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:232,1
    - Dst: ::recvfrom
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:236,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:236,1
    - Dst: static_cast<sendrecv_len_type>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:236,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:239,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: Botan::BSD_SocketUDP::read
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - ::recvfrom
    - FD_SET
    - static_cast<sendrecv_len_type>
    - FD_ZERO
    - System_Error
    - static_cast<size_t>
    - Botan::BSD_SocketUDP::make_timeout_tv
    - cast_uint8_ptr_to_char
    linkageType: ''
    returnType: size_t
    signature: size_t read(uint8_t buf[], size_t len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: Botan::BSD_SocketUDP::invalid_socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: socket_type
    signature: socket_type invalid_socket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::closesocket
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: Botan::BSD_SocketUDP::close_socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - ::closesocket
    linkageType: ''
    returnType: void
    signature: void close_socket(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:255,1
    - Dst: ::WSAGetLastError
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: Botan::BSD_SocketUDP::get_last_socket_error
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - ::WSAGetLastError
    linkageType: ''
    returnType: std::string
    signature: std::string get_last_socket_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::WSAGetLastError
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: Botan::BSD_SocketUDP::nonblocking_connect_in_progress
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - ::WSAGetLastError
    linkageType: ''
    returnType: bool
    signature: bool nonblocking_connect_in_progress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::ioctlsocket
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: Botan::BSD_SocketUDP::set_nonblocking
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 1
    functionsReached:
    - ::ioctlsocket
    linkageType: ''
    returnType: void
    signature: void set_nonblocking(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:266,1
    - Dst: ::WSAStartup
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:268,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:269,1
    - Dst: WSAGetLastError
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:269,1
    - Dst: LOBYTE
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:272,1
    - Dst: HIBYTE
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:272,1
    - Dst: ::WSACleanup
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:273,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: Botan::BSD_SocketUDP::socket_init
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 1
    functionsReached:
    - WSAGetLastError
    - ::WSAStartup
    - HIBYTE
    - System_Error
    - ::WSACleanup
    - MAKEWORD
    - LOBYTE
    linkageType: ''
    returnType: void
    signature: void socket_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::WSACleanup
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: Botan::BSD_SocketUDP::socket_fini
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - ::WSACleanup
    linkageType: ''
    returnType: void
    signature: void socket_fini()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: Botan::BSD_SocketUDP::invalid_socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: socket_type
    signature: socket_type invalid_socket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: Botan::BSD_SocketUDP::close_socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl::close
    linkageType: ''
    returnType: void
    signature: void close_socket(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::strerror
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: Botan::BSD_SocketUDP::get_last_socket_error
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached:
    - ::strerror
    linkageType: ''
    returnType: std::string
    signature: std::string get_last_socket_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: Botan::BSD_SocketUDP::nonblocking_connect_in_progress
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nonblocking_connect_in_progress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::fcntl
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:293,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: Botan::BSD_SocketUDP::set_nonblocking
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 1
    functionsReached:
    - System_Error
    - ::fcntl
    linkageType: ''
    returnType: void
    signature: void set_nonblocking(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: Botan::BSD_SocketUDP::socket_init
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void socket_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: Botan::BSD_SocketUDP::socket_fini
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void socket_fini()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<decltype(timeval::tv_sec)>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:307,1
    - Dst: count
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:307,1
    - Dst: static_cast<decltype(timeval::tv_usec)>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:308,1
    - Dst: count
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: Botan::BSD_SocketUDP::make_timeout_tv
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 2
    functionsReached:
    - static_cast<decltype(timeval::tv_usec)>
    - static_cast<decltype(timeval::tv_sec)>
    - count
    linkageType: ''
    returnType: struct timeval
    signature: struct timeval make_timeout_tv() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Asio_SocketUDP>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:322,1
    - Dst: std::make_unique<BSD_SocketUDP>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:324,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:326,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:327,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:328,1
    - Dst: std::unique_ptr<OS::SocketUDP>
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - hostname
    - service
    - timeout
    argTypes:
    - std::string_view
    - std::string_view
    - std::chrono::microseconds
    constantsTouched: []
    func_position:
      end: 331
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 331
    functionName: Botan::OS::open_socket_udp
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr<OS::SocketUDP>
    - BOTAN_UNUSED
    - std::make_unique<Asio_SocketUDP>
    - std::make_unique<BSD_SocketUDP>
    linkageType: ''
    returnType: std::unique_ptr<OS::SocketUDP>
    signature: "std::unique_ptr<OS::SocketUDP> OS::open_socket_udp(std::string_view
      hostname,\n                                                   std::string_view
      service,\n                                                   std::chrono::microseconds
      timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::URI::from_any
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:334,1
    - Dst: auto::port
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:335,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:336,1
    - Dst: Botan::OS::open_socket_udp
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:338,1
    - Dst: auto::host
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:338,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:338,1
    - Dst: auto::port
      Src: /src/botan/src/lib/utils/socket/socket_udp.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - uri_string
    - timeout
    argTypes:
    - std::string_view
    - std::chrono::microseconds
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: Botan::OS::open_socket_udp
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.cpp
    functionUses: 2
    functionsReached:
    - Botan::URI::from_any
    - auto::port
    - std::to_string
    - auto::host
    - Botan::OS::open_socket_udp
    - Invalid_Argument
    linkageType: ''
    returnType: std::unique_ptr<OS::SocketUDP>
    signature: std::unique_ptr<OS::SocketUDP> OS::open_socket_udp(std::string_view
      uri_string, std::chrono::microseconds timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::check_and_canonicalize_dns_name
      Src: /src/botan/src/lib/utils/socket/uri.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - domain
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: Botan::is_domain_name
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 0
    functionsReached:
    - Botan::check_and_canonicalize_dns_name
    linkageType: ''
    returnType: bool
    signature: bool is_domain_name(std::string_view domain)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/botan/src/lib/utils/socket/uri.cpp:42,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/utils/socket/uri.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: Botan::is_ipv4
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - inet_pton
    linkageType: ''
    returnType: bool
    signature: bool is_ipv4(std::string_view ip)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/botan/src/lib/utils/socket/uri.cpp:48,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/utils/socket/uri.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: Botan::is_ipv6
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - inet_pton
    linkageType: ''
    returnType: bool
    signature: bool is_ipv6(std::string_view ip)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/socket/uri.cpp:52,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/socket/uri.cpp:56,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/socket/uri.cpp:56,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/utils/socket/uri.cpp:60,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/socket/uri.cpp:63,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/utils/socket/uri.cpp:63,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/socket/uri.cpp:67,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/utils/socket/uri.cpp:67,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/utils/socket/uri.cpp:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - func_name
    - uri
    - pos
    argTypes:
    - char*
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: Botan::parse_port_number
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - Botan::fmt
    - std::string_view::empty
    - std::string_view::size
    - std::string_view::substr
    - Invalid_Argument
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t parse_port_number(const char* func_name, std::string_view
      uri, size_t pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/socket/uri.cpp:77,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/socket/uri.cpp:77,1
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/utils/socket/uri.cpp:80,1
    - Dst: parse_port_number
      Src: /src/botan/src/lib/utils/socket/uri.cpp:82,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/utils/socket/uri.cpp:84,1
    - Dst: is_ipv4
      Src: /src/botan/src/lib/utils/socket/uri.cpp:85,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/socket/uri.cpp:86,1
    - Dst: is_domain_name
      Src: /src/botan/src/lib/utils/socket/uri.cpp:88,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/socket/uri.cpp:89,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/socket/uri.cpp:89,1
    - Dst: URI
      Src: /src/botan/src/lib/utils/socket/uri.cpp:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - uri
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: Botan::URI::from_domain
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 1
    functionsReached:
    - is_domain_name
    - fmt
    - URI
    - std::string_view::empty
    - parse_port_number
    - std::string_view::find
    - Invalid_Argument
    - std::string_view::substr
    - is_ipv4
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: URI
    signature: URI URI::from_domain(std::string_view uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/socket/uri.cpp:96,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/socket/uri.cpp:96,1
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/utils/socket/uri.cpp:98,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/utils/socket/uri.cpp:100,1
    - Dst: is_ipv4
      Src: /src/botan/src/lib/utils/socket/uri.cpp:101,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/socket/uri.cpp:102,1
    - Dst: URI
      Src: /src/botan/src/lib/utils/socket/uri.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - uri
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: Botan::URI::from_ipv4
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 1
    functionsReached:
    - URI
    - std::string_view::empty
    - Invalid_Argument
    - std::string_view::find
    - std::string_view::substr
    - is_ipv4
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: URI
    signature: URI URI::from_ipv4(std::string_view uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/socket/uri.cpp:108,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/socket/uri.cpp:108,1
    - Dst: std::string_view::find
      Src: /src/botan/src/lib/utils/socket/uri.cpp:110,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/socket/uri.cpp:113,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/utils/socket/uri.cpp:117,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/socket/uri.cpp:119,1
    - Dst: parse_port_number
      Src: /src/botan/src/lib/utils/socket/uri.cpp:122,1
    - Dst: std::string_view::substr
      Src: /src/botan/src/lib/utils/socket/uri.cpp:124,1
    - Dst: is_ipv6
      Src: /src/botan/src/lib/utils/socket/uri.cpp:125,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/utils/socket/uri.cpp:126,1
    - Dst: URI
      Src: /src/botan/src/lib/utils/socket/uri.cpp:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - uri
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 129
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 129
    functionName: Botan::URI::from_ipv6
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 1
    functionsReached:
    - URI
    - std::string_view::empty
    - std::string_view::size
    - std::string_view::find
    - parse_port_number
    - std::string_view::substr
    - Invalid_Argument
    - is_ipv6
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: URI
    signature: URI URI::from_ipv6(std::string_view uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/utils/socket/uri.cpp:132,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/utils/socket/uri.cpp:132,1
    - Dst: Botan::URI::from_ipv4
      Src: /src/botan/src/lib/utils/socket/uri.cpp:135,1
    - Dst: Botan::URI::from_ipv6
      Src: /src/botan/src/lib/utils/socket/uri.cpp:139,1
    - Dst: Botan::URI::from_domain
      Src: /src/botan/src/lib/utils/socket/uri.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - uri
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: Botan::URI::from_any
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 4
    functionsReached:
    - Botan::URI::from_domain
    - std::string_view::empty
    - Botan::URI::from_ipv4
    - BOTAN_ARG_CHECK
    - Botan::URI::from_ipv6
    linkageType: ''
    returnType: URI
    signature: URI URI::from_any(std::string_view uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::URI::to_string
      Src: /src/botan/src/lib/utils/socket/uri.cpp:148,1
    - Dst: Botan::URI::to_string
      Src: /src/botan/src/lib/utils/socket/uri.cpp:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: Botan::URI::to_string
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 1
    functionsReached:
    - Botan::URI::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string URI::to_string() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/utils/socket/uri.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: Botan::URI::from_domain
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 2
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: URI
    signature: URI URI::from_domain(std::string_view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/utils/socket/uri.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: Botan::URI::from_ipv4
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 2
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: URI
    signature: URI URI::from_ipv4(std::string_view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/utils/socket/uri.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: Botan::URI::from_ipv6
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 2
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: URI
    signature: URI URI::from_ipv6(std::string_view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/utils/socket/uri.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: Botan::URI::from_any
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.cpp
    functionUses: 4
    functionsReached:
    - Not_Implemented
    linkageType: ''
    returnType: URI
    signature: URI URI::from_any(std::string_view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OS::SocketUDP
      Src: /src/botan/src/lib/utils/socket/socket_udp.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: Botan::OS::SocketUDP
    functionSourceFile: /src/botan/src/lib/utils/socket/socket_udp.h
    functionUses: 1
    functionsReached:
    - Botan::OS::SocketUDP
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API SocketUDP
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 47
    functionName: Botan::URI
    functionSourceFile: /src/botan/src/lib/utils/socket/uri.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API URI
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expires_after
      Src: /src/botan/src/lib/utils/socket/socket.cpp:50,1
    - Dst: Botan::Asio_Socket::check_timeout
      Src: /src/botan/src/lib/utils/socket/socket.cpp:51,1
    - Dst: boost::asio::ip::tcp::resolver::resolve
      Src: /src/botan/src/lib/utils/socket/socket.cpp:55,1
    - Dst: boost::asio::async_connect
      Src: /src/botan/src/lib/utils/socket/socket.cpp:61,1
    - Dst: boost::asio::ip::tcp::resolver::results_type::begin
      Src: /src/botan/src/lib/utils/socket/socket.cpp:61,1
    - Dst: boost::asio::ip::tcp::resolver::results_type::end
      Src: /src/botan/src/lib/utils/socket/socket.cpp:61,1
    - Dst: run_one
      Src: /src/botan/src/lib/utils/socket/socket.cpp:64,1
    - Dst: boost::system::system_error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:68,1
    - Dst: is_open
      Src: /src/botan/src/lib/utils/socket/socket.cpp:70,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:71,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/socket/socket.cpp:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - hostname
    - service
    - timeout
    argTypes:
    - std::string_view
    - std::string_view
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 73
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 73
    functionName: Botan::Asio_Socket::Asio_Socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - Botan::Asio_Socket::check_timeout
    - boost::asio::async_connect
    - expires_after
    - run_one
    - is_open
    - fmt
    - System_Error
    - boost::asio::ip::tcp::resolver::results_type::begin
    - boost::asio::ip::tcp::resolver::resolve
    - boost::system::system_error
    - boost::asio::ip::tcp::resolver::results_type::end
    linkageType: ''
    returnType: void
    signature: void Asio_Socket(std::string_view hostname, std::string_view service,
      std::chrono::milliseconds timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expires_after
      Src: /src/botan/src/lib/utils/socket/socket.cpp:76,1
    - Dst: async_send
      Src: /src/botan/src/lib/utils/socket/socket.cpp:80,1
    - Dst: Peer::buffer
      Src: /src/botan/src/lib/utils/socket/socket.cpp:80,1
    - Dst: run_one
      Src: /src/botan/src/lib/utils/socket/socket.cpp:83,1
    - Dst: boost::system::system_error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 89
    functionName: Botan::Asio_Socket::write
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - expires_after
    - run_one
    - async_send
    - Peer::buffer
    - boost::system::system_error
    linkageType: ''
    returnType: void
    signature: void write(const uint8_t buf[], size_t len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expires_after
      Src: /src/botan/src/lib/utils/socket/socket.cpp:92,1
    - Dst: async_read_some
      Src: /src/botan/src/lib/utils/socket/socket.cpp:97,1
    - Dst: Peer::buffer
      Src: /src/botan/src/lib/utils/socket/socket.cpp:97,1
    - Dst: run_one
      Src: /src/botan/src/lib/utils/socket/socket.cpp:103,1
    - Dst: boost::system::system_error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 114
    functionName: Botan::Asio_Socket::read
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - expires_after
    - run_one
    - async_read_some
    - Peer::buffer
    - boost::system::system_error
    linkageType: ''
    returnType: size_t
    signature: size_t read(uint8_t buf[], size_t len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/botan/src/lib/utils/socket/socket.cpp:118,1
    - Dst: expiry
      Src: /src/botan/src/lib/utils/socket/socket.cpp:118,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/utils/socket/socket.cpp:118,1
    - Dst: close
      Src: /src/botan/src/lib/utils/socket/socket.cpp:122,1
    - Dst: async_wait
      Src: /src/botan/src/lib/utils/socket/socket.cpp:125,1
    - Dst: std::bind
      Src: /src/botan/src/lib/utils/socket/socket.cpp:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: Botan::Asio_Socket::check_timeout
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 1
    functionsReached:
    - expiry
    - Botan::TLS::detail::AsyncBase::complete_now
    - close
    - std::bind
    - is_open
    - async_wait
    linkageType: ''
    returnType: void
    signature: void check_timeout()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: Botan::BSD_Socket::invalid_socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: socket_type
    signature: socket_type invalid_socket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::closesocket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: Botan::BSD_Socket::close_socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - ::closesocket
    linkageType: ''
    returnType: void
    signature: void close_socket(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/botan/src/lib/utils/socket/socket.cpp:148,1
    - Dst: ::WSAGetLastError
      Src: /src/botan/src/lib/utils/socket/socket.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Botan::BSD_Socket::get_last_socket_error
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - ::WSAGetLastError
    linkageType: ''
    returnType: std::string
    signature: std::string get_last_socket_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::WSAGetLastError
      Src: /src/botan/src/lib/utils/socket/socket.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: Botan::BSD_Socket::nonblocking_connect_in_progress
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - ::WSAGetLastError
    linkageType: ''
    returnType: bool
    signature: bool nonblocking_connect_in_progress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::ioctlsocket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: Botan::BSD_Socket::set_nonblocking
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - ::ioctlsocket
    linkageType: ''
    returnType: void
    signature: void set_nonblocking(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/botan/src/lib/utils/socket/socket.cpp:159,1
    - Dst: ::WSAStartup
      Src: /src/botan/src/lib/utils/socket/socket.cpp:161,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:162,1
    - Dst: WSAGetLastError
      Src: /src/botan/src/lib/utils/socket/socket.cpp:162,1
    - Dst: LOBYTE
      Src: /src/botan/src/lib/utils/socket/socket.cpp:165,1
    - Dst: HIBYTE
      Src: /src/botan/src/lib/utils/socket/socket.cpp:165,1
    - Dst: ::WSACleanup
      Src: /src/botan/src/lib/utils/socket/socket.cpp:166,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: Botan::BSD_Socket::socket_init
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - WSAGetLastError
    - ::WSAStartup
    - HIBYTE
    - System_Error
    - ::WSACleanup
    - MAKEWORD
    - LOBYTE
    linkageType: ''
    returnType: void
    signature: void socket_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::WSACleanup
      Src: /src/botan/src/lib/utils/socket/socket.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: Botan::BSD_Socket::socket_fini
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - ::WSACleanup
    linkageType: ''
    returnType: void
    signature: void socket_fini()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: Botan::BSD_Socket::invalid_socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: socket_type
    signature: socket_type invalid_socket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/lib/utils/socket/socket.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: Botan::BSD_Socket::close_socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl::close
    linkageType: ''
    returnType: void
    signature: void close_socket(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::strerror
      Src: /src/botan/src/lib/utils/socket/socket.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: Botan::BSD_Socket::get_last_socket_error
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - ::strerror
    linkageType: ''
    returnType: std::string
    signature: std::string get_last_socket_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: Botan::BSD_Socket::nonblocking_connect_in_progress
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nonblocking_connect_in_progress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::fcntl
      Src: /src/botan/src/lib/utils/socket/socket.cpp:187,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - socket_type
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: Botan::BSD_Socket::set_nonblocking
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - System_Error
    - ::fcntl
    linkageType: ''
    returnType: void
    signature: void set_nonblocking(socket_type s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: Botan::BSD_Socket::socket_init
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void socket_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: Botan::BSD_Socket::socket_fini
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void socket_fini()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BSD_Socket::socket_init
      Src: /src/botan/src/lib/utils/socket/socket.cpp:200,1
    - Dst: Botan::BSD_Socket::invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:202,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/utils/socket/socket.cpp:205,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:216,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/socket/socket.cpp:216,1
    - Dst: Botan::BSD_Socket::invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:219,1
    - Dst: Client::close_socket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:224,1
    - Dst: Botan::BSD_Socket::invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:226,1
    - Dst: Botan::BSD_Socket::set_nonblocking
      Src: /src/botan/src/lib/utils/socket/socket.cpp:231,1
    - Dst: Botan::BSD_Socket::nonblocking_connect_in_progress
      Src: /src/botan/src/lib/utils/socket/socket.cpp:237,1
    - Dst: Botan::BSD_Socket::make_timeout_tv
      Src: /src/botan/src/lib/utils/socket/socket.cpp:238,1
    - Dst: FD_ZERO
      Src: /src/botan/src/lib/utils/socket/socket.cpp:240,1
    - Dst: FD_SET
      Src: /src/botan/src/lib/utils/socket/socket.cpp:242,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:242,1
    - Dst: Botan::select
      Src: /src/botan/src/lib/utils/socket/socket.cpp:244,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:244,1
    - Dst: ::getsockopt
      Src: /src/botan/src/lib/utils/socket/socket.cpp:250,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:250,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:252,1
    - Dst: Botan::BSD_Socket::close_socket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:262,1
    - Dst: Botan::BSD_Socket::invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:263,1
    - Dst: ::freeaddrinfo
      Src: /src/botan/src/lib/utils/socket/socket.cpp:269,1
    - Dst: Botan::BSD_Socket::invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:271,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:272,1
    - Dst: fmt
      Src: /src/botan/src/lib/utils/socket/socket.cpp:272,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 3
    argNames:
    - hostname
    - service
    - timeout
    argTypes:
    - std::string_view
    - std::string_view
    - std::chrono::microseconds
    constantsTouched: []
    func_position:
      end: 275
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 275
    functionName: Botan::BSD_Socket::BSD_Socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - Botan::BSD_Socket::make_timeout_tv
    - FD_SET
    - ::freeaddrinfo
    - FD_ZERO
    - clear_mem
    - Botan::select
    - fmt
    - System_Error
    - static_cast<int>
    - Botan::BSD_Socket::invalid_socket
    - Client::close_socket
    - ::getsockopt
    - Botan::BSD_Socket::close_socket
    - Botan::BSD_Socket::nonblocking_connect_in_progress
    - Botan::BSD_Socket::socket_init
    - Botan::BSD_Socket::set_nonblocking
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: void
    signature: void BSD_Socket(std::string_view hostname, std::string_view service,
      std::chrono::microseconds timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close_socket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:278,1
    - Dst: invalid_socket
      Src: /src/botan/src/lib/utils/socket/socket.cpp:279,1
    - Dst: socket_fini
      Src: /src/botan/src/lib/utils/socket/socket.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: ~BSD_Socket() override
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - close_socket
    - invalid_socket
    - socket_fini
    linkageType: ''
    returnType: void
    signature: void ~BSD_Socket() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BSD_Socket
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: Botan::BSD_Socket::BSD_Socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BSD_Socket(const BSD_Socket& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BSD_Socket
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: Botan::BSD_Socket::BSD_Socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BSD_Socket(BSD_Socket&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BSD_Socket
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: '& operator=(const BSD_Socket& other)'
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BSD_Socket
    signature: BSD_Socket & operator=(const BSD_Socket& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BSD_Socket
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: '& operator=(BSD_Socket&& other)'
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BSD_Socket
    signature: BSD_Socket & operator=(BSD_Socket&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/botan/src/lib/utils/socket/socket.cpp:290,1
    - Dst: FD_SET
      Src: /src/botan/src/lib/utils/socket/socket.cpp:291,1
    - Dst: Botan::BSD_Socket::make_timeout_tv
      Src: /src/botan/src/lib/utils/socket/socket.cpp:295,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:299,1
    - Dst: Botan_Tests::MockChannel::send
      Src: /src/botan/src/lib/utils/socket/socket.cpp:304,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/socket/socket.cpp:304,1
    - Dst: static_cast<sendrecv_len_type>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:304,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:306,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 311
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 311
    functionName: Botan::BSD_Socket::write
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - FD_SET
    - static_cast<sendrecv_len_type>
    - FD_ZERO
    - System_Error
    - static_cast<size_t>
    - Botan::BSD_Socket::make_timeout_tv
    - cast_uint8_ptr_to_char
    - Botan_Tests::MockChannel::send
    linkageType: ''
    returnType: void
    signature: void write(const uint8_t buf[], size_t len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/botan/src/lib/utils/socket/socket.cpp:315,1
    - Dst: FD_SET
      Src: /src/botan/src/lib/utils/socket/socket.cpp:316,1
    - Dst: Botan::BSD_Socket::make_timeout_tv
      Src: /src/botan/src/lib/utils/socket/socket.cpp:318,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:322,1
    - Dst: ::recv
      Src: /src/botan/src/lib/utils/socket/socket.cpp:325,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/utils/socket/socket.cpp:325,1
    - Dst: static_cast<sendrecv_len_type>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:325,1
    - Dst: System_Error
      Src: /src/botan/src/lib/utils/socket/socket.cpp:328,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 332
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 332
    functionName: Botan::BSD_Socket::read
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 0
    functionsReached:
    - FD_SET
    - static_cast<sendrecv_len_type>
    - FD_ZERO
    - System_Error
    - static_cast<size_t>
    - cast_uint8_ptr_to_char
    - Botan::BSD_Socket::make_timeout_tv
    - ::recv
    linkageType: ''
    returnType: size_t
    signature: size_t read(uint8_t buf[], size_t len) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<decltype(timeval::tv_sec)>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:337,1
    - Dst: count
      Src: /src/botan/src/lib/utils/socket/socket.cpp:337,1
    - Dst: static_cast<decltype(timeval::tv_usec)>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:338,1
    - Dst: count
      Src: /src/botan/src/lib/utils/socket/socket.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: Botan::BSD_Socket::make_timeout_tv
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 3
    functionsReached:
    - static_cast<decltype(timeval::tv_usec)>
    - static_cast<decltype(timeval::tv_sec)>
    - count
    linkageType: ''
    returnType: struct timeval
    signature: struct timeval make_timeout_tv() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Asio_Socket>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:354,1
    - Dst: std::make_unique<BSD_Socket>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:357,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/utils/socket/socket.cpp:360,1
    - Dst: std::unique_ptr<Socket>
      Src: /src/botan/src/lib/utils/socket/socket.cpp:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - hostname
    - service
    - timeout
    argTypes:
    - std::string_view
    - std::string_view
    - std::chrono::milliseconds
    constantsTouched: []
    func_position:
      end: 364
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 364
    functionName: Botan::OS::open_socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<BSD_Socket>
    - BOTAN_UNUSED
    - std::unique_ptr<Socket>
    - std::make_unique<Asio_Socket>
    linkageType: ''
    returnType: std::unique_ptr<OS::Socket>
    signature: "std::unique_ptr<OS::Socket> OS::open_socket(std::string_view hostname,\n
      \                                           std::string_view service,\n                                            std::chrono::milliseconds
      timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::OS::Socket
      Src: /src/botan/src/lib/utils/socket/socket.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: Botan::OS::Socket
    functionSourceFile: /src/botan/src/lib/utils/socket/socket.h
    functionUses: 1
    functionsReached:
    - Botan::OS::Socket
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API Socket
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<EME_Raw>
      Src: /src/botan/src/lib/pk_pad/eme.cpp:31,1
    - Dst: std::make_unique<EME_PKCS1v15>
      Src: /src/botan/src/lib/pk_pad/eme.cpp:38,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/eme.cpp:46,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/eme.cpp:46,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/eme.cpp:46,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/eme.cpp:47,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/eme.cpp:47,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/eme.cpp:47,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/eme.cpp:47,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pk_pad/eme.cpp:48,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/eme.cpp:48,1
    - Dst: std::make_unique<OAEP>
      Src: /src/botan/src/lib/pk_pad/eme.cpp:49,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/eme.cpp:49,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/eme.cpp:49,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/eme.cpp:51,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/eme.cpp:51,1
    - Dst: parse_algorithm_name
      Src: /src/botan/src/lib/pk_pad/eme.cpp:52,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/eme.cpp:52,1
    - Dst: auto::size
      Src: /src/botan/src/lib/pk_pad/eme.cpp:54,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pk_pad/eme.cpp:55,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/eme.cpp:55,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pk_pad/eme.cpp:56,1
    - Dst: std::make_unique<OAEP>
      Src: /src/botan/src/lib/pk_pad/eme.cpp:59,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/eme.cpp:59,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/eme.cpp:59,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/eme.cpp:59,1
    - Dst: Algorithm_Not_Found
      Src: /src/botan/src/lib/pk_pad/eme.cpp:66,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 22
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 67
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 67
    functionName: Botan::EME::create
    functionSourceFile: /src/botan/src/lib/pk_pad/eme.cpp
    functionUses: 4
    functionsReached:
    - SCAN_Name::algo_name
    - parse_algorithm_name
    - Algorithm_Not_Found
    - std::make_unique<OAEP>
    - SCAN_Name::arg_count
    - Botan::HashFunction::create
    - std::make_unique<EME_Raw>
    - std::move
    - auto::size
    - SCAN_Name::arg
    - std::make_unique<EME_PKCS1v15>
    linkageType: ''
    returnType: std::unique_ptr<EME>
    signature: std::unique_ptr<EME> EME::create(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: EME::~EME()
    functionSourceFile: /src/botan/src/lib/pk_pad/eme.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EME::~EME()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EME
      Src: /src/botan/src/lib/pk_pad/eme.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 63
    functionName: Botan::EME
    functionSourceFile: /src/botan/src/lib/pk_pad/eme.h
    functionUses: 1
    functionsReached:
    - Botan::EME
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API EME
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:40,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:40,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:40,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:41,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:42,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:42,1
    - Dst: std::make_unique<EMSA_PKCS1v15_Raw>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:43,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:43,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:44,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:45,1
    - Dst: std::make_unique<EMSA_PKCS1v15_Raw>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:46,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:48,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:48,1
    - Dst: std::make_unique<EMSA_PKCS1v15>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:49,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:49,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:58,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:58,1
    - Dst: SCAN_Name::arg_count_between
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:59,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:59,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:60,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:60,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:61,1
    - Dst: std::make_unique<PSSR_Raw>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:63,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:63,1
    - Dst: std::make_unique<PSSR_Raw>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:65,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:65,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:72,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:72,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:72,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:73,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:73,1
    - Dst: SCAN_Name::arg_count_between
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:74,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:74,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:75,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:75,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:76,1
    - Dst: std::make_unique<PSSR>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:78,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:78,1
    - Dst: std::make_unique<PSSR>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:80,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:80,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:88,1
    - Dst: SCAN_Name::arg_count_between
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:89,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:90,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:90,1
    - Dst: std::make_unique<ISO_9796_DS2>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:93,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:93,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:98,1
    - Dst: SCAN_Name::arg_count_between
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:99,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:100,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:100,1
    - Dst: std::make_unique<ISO_9796_DS3>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:102,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:102,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:110,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:110,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:110,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:111,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:112,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:112,1
    - Dst: std::make_unique<EMSA_X931>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:113,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:113,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:120,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:121,1
    - Dst: std::make_unique<EMSA_Raw>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:122,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:124,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:124,1
    - Dst: std::make_unique<EMSA_Raw>
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:126,1
    - Dst: auto::output_length
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:126,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 68
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 133
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 133
    functionName: Botan::EMSA::create
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa.cpp
    functionUses: 1
    functionsReached:
    - SCAN_Name::algo_name
    - std::make_unique<ISO_9796_DS2>
    - std::make_unique<PSSR_Raw>
    - std::make_unique<EMSA_X931>
    - SCAN_Name::arg_count
    - auto::output_length
    - Botan::HashFunction::create
    - std::make_unique<EMSA_Raw>
    - std::make_unique<EMSA_PKCS1v15>
    - std::move
    - std::make_unique<PSSR>
    - SCAN_Name::arg_count_between
    - SCAN_Name::arg
    - std::make_unique<EMSA_PKCS1v15_Raw>
    - std::make_unique<ISO_9796_DS3>
    linkageType: ''
    returnType: std::unique_ptr<EMSA>
    signature: std::unique_ptr<EMSA> EMSA::create(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EMSA::create
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:136,1
    - Dst: Algorithm_Not_Found
      Src: /src/botan/src/lib/pk_pad/emsa.cpp:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: Botan::EMSA::create_or_throw
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa.cpp
    functionUses: 4
    functionsReached:
    - Botan::EMSA::create
    - Algorithm_Not_Found
    linkageType: ''
    returnType: std::unique_ptr<EMSA>
    signature: std::unique_ptr<EMSA> EMSA::create_or_throw(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EMSA
      Src: /src/botan/src/lib/pk_pad/emsa.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 87
    functionName: Botan::EMSA
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa.h
    functionUses: 1
    functionsReached:
    - Botan::EMSA
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API EMSA
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:81,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:87,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:91,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:95,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:99,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:103,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:107,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:111,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:115,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:119,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:123,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:127,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:131,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:135,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:138,1
    - Dst: std::string
      Src: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp:138,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 139
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 139
    functionName: Botan::pkcs_hash_id
    functionSourceFile: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp
    functionUses: 1
    functionsReached:
    - std::vector<uint8_t>
    - std::string
    - Invalid_Argument
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> pkcs_hash_id(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 171
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 171
    functionName: Botan::ieee1363_hash_id
    functionSourceFile: /src/botan/src/lib/pk_pad/hash_id/hash_id.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ieee1363_hash_id(std::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PSSR::name
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::PSSR::hash_function
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.h
    functionUses: 0
    functionsReached:
    - Botan::PSSR::name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PSSR_Raw::name
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Botan::PSSR_Raw::hash_function
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.h
    functionUses: 0
    functionsReached:
    - Botan::PSSR_Raw::name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:33,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:34,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:36,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:37,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:44,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:45,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:46,1
    - Dst: Botan::final_stdvec
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:47,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:53,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:53,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:53,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:53,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:54,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:55,1
    - Dst: Botan::mgf1_mask
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:57,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:57,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:57,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:57,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:60,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:61,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:62,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ' hash'
    - msg
    - salt
    - output_bits
    argTypes:
    - HashFunction
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 65
    functionName: Botan::pss_encode
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::remaining_capacity
    - Botan::final_stdvec
    - BufferStuffer::append
    - std::vector::size
    - BOTAN_ASSERT_NOMSG
    - Botan::update
    - Encoding_Error
    - std::span<const uint8_t>::size
    - Botan::mgf1_mask
    - BufferStuffer::full
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> pss_encode(HashFunction& hash,\n                                std::span<const
      uint8_t> msg,\n                                std::span<const uint8_t> salt,\n
      \                               size_t output_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:79,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:83,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:83,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:87,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:92,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:93,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:95,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:95,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:96,1
    - Dst: std::vector::assign
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:98,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:98,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:98,1
    - Dst: Botan::high_bit
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:103,1
    - Dst: Botan::mgf1_mask
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:113,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:133,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:134,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:135,1
    - Dst: Botan::final_stdvec
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:137,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 5
    argNames:
    - ' hash'
    - pss_repr
    - message_hash
    - key_bits
    - out_salt_size
    argTypes:
    - HashFunction
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 146
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 146
    functionName: Botan::pss_verify
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - Botan::final_stdvec
    - BufferStuffer::append
    - Botan::high_bit
    - std::vector::resize
    - Botan::update
    - std::vector::assign
    - std::span<const uint8_t>::size
    - Botan::mgf1_mask
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: bool
    signature: "bool pss_verify(HashFunction& hash,\n                std::span<const
      uint8_t> pss_repr,\n                std::span<const uint8_t> message_hash,\n
      \               size_t key_bits,\n                size_t* out_salt_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:151,1
    - Dst: output_length
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: Botan::PSSR::PSSR
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - output_length
    - std::move
    linkageType: ''
    returnType: void
    signature: void PSSR::PSSR(std::unique_ptr<HashFunction> hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - hash
    - salt_size
    argTypes:
    - std::unique_ptr<HashFunction>
    - size_t
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: Botan::PSSR::PSSR
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PSSR::PSSR(std::unique_ptr<HashFunction> hash, size_t salt_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PSSR::update
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: Botan::PSSR::update
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 1
    functionsReached:
    - Botan::PSSR::update
    linkageType: ''
    returnType: void
    signature: void PSSR::update(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: Botan::PSSR::raw_data
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - final_stdvec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PSSR::raw_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:171,1
    - Dst: pss_encode
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - output_bits
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: Botan::PSSR::encoding_of
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - random_vec
    - pss_encode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PSSR::encoding_of(std::span<const uint8_t> msg,
      size_t output_bits, RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - coded
    - raw
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: Botan::PSSR::verify
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PSSR::verify(std::span<const uint8_t> coded, std::span<const uint8_t>
      raw, size_t key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:190,1
    - Dst: Botan::PSSR::name
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: Botan::PSSR::name
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 2
    functionsReached:
    - fmt
    - Botan::PSSR::name
    linkageType: ''
    returnType: std::string
    signature: std::string PSSR::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:194,1
    - Dst: output_length
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: Botan::PSSR_Raw::PSSR_Raw
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - output_length
    - std::move
    linkageType: ''
    returnType: void
    signature: void PSSR_Raw::PSSR_Raw(std::unique_ptr<HashFunction> hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - hash
    - salt_size
    argTypes:
    - std::unique_ptr<HashFunction>
    - size_t
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: Botan::PSSR_Raw::PSSR_Raw
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PSSR_Raw::PSSR_Raw(std::unique_ptr<HashFunction> hash, size_t
      salt_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:203,1
    - Dst: end
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: Botan::PSSR_Raw::update
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - end
    - insert
    linkageType: ''
    returnType: void
    signature: void PSSR_Raw::update(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:211,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:213,1
    - Dst: output_length
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:213,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: Botan::PSSR_Raw::raw_data
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - output_length
    - std::vector::size
    - Encoding_Error
    - std::swap
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PSSR_Raw::raw_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_vec
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:223,1
    - Dst: pss_encode
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - output_bits
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: Botan::PSSR_Raw::encoding_of
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached:
    - random_vec
    - pss_encode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> PSSR_Raw::encoding_of(std::span<const uint8_t>
      msg,\n                                           size_t output_bits,\n                                           RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - coded
    - raw
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 239
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 239
    functionName: Botan::PSSR_Raw::verify
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PSSR_Raw::verify(std::span<const uint8_t> coded, std::span<const
      uint8_t> raw, size_t key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:242,1
    - Dst: Botan::PSSR_Raw::name
      Src: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: Botan::PSSR_Raw::name
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pssr/pssr.cpp
    functionUses: 2
    functionsReached:
    - fmt
    - Botan::PSSR_Raw::name
    linkageType: ''
    returnType: std::string
    signature: std::string PSSR_Raw::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - hash
    - implicit
    - salt_size
    argTypes:
    - std::unique_ptr<HashFunction>
    - bool
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: Botan::ISO_9796_DS2::ISO_9796_DS2
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ISO_9796_DS2(std::unique_ptr<HashFunction> hash, bool implicit,
      size_t salt_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ISO_9796_DS2::name
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::ISO_9796_DS2::hash_function
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.h
    functionUses: 0
    functionsReached:
    - Botan::ISO_9796_DS2::name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: Botan::ISO_9796_DS3::ISO_9796_DS3
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ISO_9796_DS3(std::unique_ptr<HashFunction> hash, bool implicit
      = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ISO_9796_DS3::name
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: Botan::ISO_9796_DS3::hash_function
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.h
    functionUses: 0
    functionsReached:
    - Botan::ISO_9796_DS3::name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:38,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:48,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:50,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:50,1
    - Dst: Botan::final_stdvec
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:51,1
    - Dst: Botan::random_vec
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:54,1
    - Dst: update_be
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:55,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:55,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:56,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:57,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:58,1
    - Dst: Botan::final_stdvec
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:59,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:64,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:64,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:65,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:66,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:67,1
    - Dst: Botan::mgf1_mask
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:70,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:70,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:70,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:75,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:80,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:84,1
    - Dst: Botan::name
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:84,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:86,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:87,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:90,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 6
    argNames:
    - msg
    - output_bits
    - ' hash'
    - salt_len
    - implicit
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - size_t
    - std::unique_ptr<HashFunction>
    - size_t
    - bool
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 93
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 93
    functionName: Botan::iso9796_encoding
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::remaining_capacity
    - Botan::final_stdvec
    - update_be
    - static_cast<uint64_t>
    - BufferStuffer::append
    - BOTAN_ASSERT_NOMSG
    - std::span<const uint8_t>::subspan
    - Botan::update
    - Encoding_Error
    - Botan::name
    - Botan::mgf1_mask
    - std::span<const uint8_t>::first
    - BufferStuffer::full
    - Botan::random_vec
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> iso9796_encoding(std::span<const uint8_t> msg,\n
      \                                     size_t output_bits,\n                                      std::unique_ptr<HashFunction>&
      hash,\n                                      size_t salt_len,\n                                      bool
      implicit,\n                                      RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:103,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:108,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:112,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:112,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:113,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:119,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:119,1
    - Dst: Botan::CT::poison
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:121,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:121,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:121,1
    - Dst: Botan::mgf1_mask
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:128,1
    - Dst: Botan_Tests::test_other_key_not_set
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:135,1
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:136,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:139,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:140,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:145,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:152,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:152,1
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:155,1
    - Dst: auto::value
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:155,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:157,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:157,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:157,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:158,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:160,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:160,1
    - Dst: std::vector::begin
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:161,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:161,1
    - Dst: std::vector::end
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:161,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:166,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:167,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:167,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:167,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:168,1
    - Dst: std::span
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:168,1
    - Dst: std::vector::assign
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:170,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:170,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:170,1
    - Dst: Botan::final_stdvec
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:172,1
    - Dst: update_be
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:175,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:176,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:177,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:178,1
    - Dst: Botan::final_stdvec
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:179,1
    - Dst: update_be
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:183,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:184,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:185,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:186,1
    - Dst: Botan::final_stdvec
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:187,1
    - Dst: Botan::CT::is_not_equal
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:190,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:190,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:190,1
    - Dst: Botan::CT::unpoison
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:192,1
    - Dst: auto::as_bool
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 5
    argNames:
    - const_coded
    - raw
    - key_bits
    - ' hash'
    - salt_len
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - size_t
    - std::unique_ptr<HashFunction>
    - size_t
    constantsTouched: []
    func_position:
      end: 194
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 194
    functionName: Botan::iso9796_verification
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - std::vector::size
    - auto::as_bool
    - auto::if_set_return
    - std::vector::begin
    - Botan::Sodium::sodium_is_zero
    - Botan::BigInt::is_equal
    - std::vector<uint8_t>
    - update_be
    - auto::value
    - Botan::CT::Mask::cleared
    - Botan::CT::poison
    - std::span<const uint8_t>::size
    - std::vector::end
    - std::vector::data
    - Botan::update
    - Botan::sha512_msg_expand
    - Botan::bigint_ct_is_lt
    - Botan::mgf1_mask
    - std::span<const uint8_t>::begin
    - Botan::CT::is_not_equal
    - Botan::final_stdvec
    - std::span
    - std::vector::assign
    - Botan_Tests::test_other_key_not_set
    - Botan::CT::unpoison
    linkageType: ''
    returnType: bool
    signature: "bool iso9796_verification(std::span<const uint8_t> const_coded,\n
      \                         std::span<const uint8_t> raw,\n                          size_t
      key_bits,\n                          std::unique_ptr<HashFunction>& hash,\n
      \                         size_t salt_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:204,1
    - Dst: end
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: Botan::ISO_9796_DS2::update
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 0
    functionsReached:
    - end
    - insert
    linkageType: ''
    returnType: void
    signature: void ISO_9796_DS2::update(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: Botan::ISO_9796_DS2::raw_data
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ISO_9796_DS2::raw_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iso9796_encoding
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - output_bits
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: Botan::ISO_9796_DS2::encoding_of
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 0
    functionsReached:
    - iso9796_encoding
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> ISO_9796_DS2::encoding_of(std::span<const uint8_t>
      msg,\n                                               size_t output_bits,\n                                               RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iso9796_verification
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - const_coded
    - raw
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: Botan::ISO_9796_DS2::verify
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 0
    functionsReached:
    - iso9796_verification
    linkageType: ''
    returnType: bool
    signature: bool ISO_9796_DS2::verify(std::span<const uint8_t> const_coded, std::span<const
      uint8_t> raw, size_t key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:236,1
    - Dst: Botan::ISO_9796_DS2::name
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: Botan::ISO_9796_DS2::name
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 2
    functionsReached:
    - fmt
    - Botan::ISO_9796_DS2::name
    linkageType: ''
    returnType: std::string
    signature: std::string ISO_9796_DS2::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:245,1
    - Dst: end
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: Botan::ISO_9796_DS3::update
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 0
    functionsReached:
    - end
    - insert
    linkageType: ''
    returnType: void
    signature: void ISO_9796_DS3::update(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: Botan::ISO_9796_DS3::raw_data
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> ISO_9796_DS3::raw_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iso9796_encoding
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - output_bits
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: Botan::ISO_9796_DS3::encoding_of
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 0
    functionsReached:
    - iso9796_encoding
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> ISO_9796_DS3::encoding_of(std::span<const uint8_t>
      msg,\n                                               size_t output_bits,\n                                               RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iso9796_verification
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - const_coded
    - raw
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: Botan::ISO_9796_DS3::verify
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 0
    functionsReached:
    - iso9796_verification
    linkageType: ''
    returnType: bool
    signature: bool ISO_9796_DS3::verify(std::span<const uint8_t> const_coded, std::span<const
      uint8_t> raw, size_t key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:277,1
    - Dst: Botan::ISO_9796_DS3::name
      Src: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: Botan::ISO_9796_DS3::name
    functionSourceFile: /src/botan/src/lib/pk_pad/iso9796/iso9796.cpp
    functionUses: 2
    functionsReached:
    - fmt
    - Botan::ISO_9796_DS3::name
    linkageType: ''
    returnType: std::string
    signature: std::string ISO_9796_DS3::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: Botan::EME_Raw::EME_Raw
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EME_Raw()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:18,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:19,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:19,1
    - Dst: Botan::EME_Raw::maximum_input_size
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:19,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:20,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:20,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:20,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:21,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:21,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:21,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - output
    - input
    - key_length
    - ' rng'
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 23
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 23
    functionName: Botan::EME_Raw::pad
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - std::span<uint8_t>::size
    - copy_mem
    - BOTAN_UNUSED
    - std::span<const uint8_t>::size
    - std::span<uint8_t>::first
    - Botan::EME_Raw::maximum_input_size
    linkageType: ''
    returnType: size_t
    signature: "size_t EME_Raw::pad(std::span<uint8_t> output,\n                    std::span<const
      uint8_t> input,\n                    size_t key_length,\n                    RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:26,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:26,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:26,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:28,1
    - Dst: CT::Option<size_t>
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:29,1
    - Dst: Botan::CT::copy_output
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:33,1
    - Dst: Botan::CT::Choice::yes
      Src: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 6
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: Botan::EME_Raw::unpad
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - std::span<const uint8_t>::empty
    - std::span<uint8_t>::size
    - Botan::CT::copy_output
    - Botan::CT::Choice::yes
    - std::span<const uint8_t>::size
    - CT::Option<size_t>
    linkageType: ''
    returnType: CT::Option<size_t>
    signature: CT::Option<size_t> EME_Raw::unpad(std::span<uint8_t> output, std::span<const
      uint8_t> input) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::EME_Raw::maximum_input_size
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_raw/eme_raw.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t EME_Raw::maximum_input_size(size_t keybits) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:27,1
    - Dst: Botan::OAEP::maximum_input_size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:27,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:28,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:33,1
    - Dst: randomize
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:38,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:38,1
    - Dst: size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:38,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:39,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:40,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:40,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:40,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:41,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:42,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:43,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:43,1
    - Dst: mgf1_mask
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:47,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:47,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:47,1
    - Dst: mgf1_mask
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:49,1
    - Dst: std::span<uint8_t>::subspan
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:49,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - output
    - input
    - key_length
    - ' rng'
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 52
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 52
    functionName: Botan::OAEP::pad
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp
    functionUses: 0
    functionsReached:
    - Botan::OAEP::maximum_input_size
    - BufferStuffer::remaining_capacity
    - BufferStuffer::append
    - BOTAN_ASSERT_NOMSG
    - size
    - randomize
    - std::span<const uint8_t>::size
    - mgf1_mask
    - Invalid_Argument
    - std::span<uint8_t>::subspan
    - std::span<uint8_t>::first
    - BufferStuffer::full
    - BufferStuffer::next
    linkageType: ''
    returnType: size_t
    signature: "size_t OAEP::pad(std::span<uint8_t> output,\n                 std::span<const
      uint8_t> input,\n                 size_t key_length,\n                 RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:58,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:58,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:58,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:80,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:84,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:86,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:88,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:88,1
    - Dst: mgf1_mask
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:93,1
    - Dst: auto::subspan
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:93,1
    - Dst: auto::first
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:93,1
    - Dst: mgf1_mask
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:95,1
    - Dst: auto::first
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:95,1
    - Dst: auto::subspan
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:95,1
    - Dst: oaep_find_delim
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:97,1
    - Dst: Botan::CT::copy_output
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:99,1
    - Dst: auto::has_value
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:99,1
    - Dst: auto::value_or
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 100
      start: 57
    functionDepth: 6
    functionLinenumber: 57
    functionLinenumberEnd: 100
    functionName: Botan::OAEP::unpad
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - BOTAN_ASSERT_NOMSG
    - std::span<const uint8_t>::empty
    - std::span<uint8_t>::size
    - Botan::Sodium::sodium_is_zero
    - auto::first
    - oaep_find_delim
    - auto::has_value
    - Botan::CT::scoped_poison
    - Botan::CT::copy_output
    - auto::value_or
    - auto::subspan
    - std::span<const uint8_t>::size
    - mgf1_mask
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: CT::Option<size_t>
    signature: CT::Option<size_t> OAEP::unpad(std::span<uint8_t> output, std::span<const
      uint8_t> input) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:104,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:104,1
    - Dst: Botan_Tests::test_other_key_not_set
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:109,1
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:110,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:112,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:112,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:113,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:114,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:120,1
    - Dst: Botan::CT::is_not_equal
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:129,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:129,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:129,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:129,1
    - Dst: CT::Mask::as_choice
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:133,1
    - Dst: Botan::CT::Option::Option
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - input
    - phash
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 136
      start: 102
    functionDepth: 4
    functionLinenumber: 102
    functionLinenumberEnd: 136
    functionName: Botan::oaep_find_delim
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp
    functionUses: 1
    functionsReached:
    - Botan::CT::is_not_equal
    - CT::Mask::as_choice
    - auto::if_set_return
    - Botan::CT::Option::Option
    - Botan::Sodium::sodium_is_zero
    - std::span<const uint8_t>::subspan
    - Botan::BigInt::is_equal
    - Botan::CT::Mask::cleared
    - Botan_Tests::test_other_key_not_set
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: CT::Option<size_t>
    signature: CT::Option<size_t> oaep_find_delim(std::span<const uint8_t> input,
      std::span<const uint8_t> phash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:142,1
    - Dst: size
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: Botan::OAEP::maximum_input_size
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t OAEP::maximum_input_size(size_t keybits) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:149,1
    - Dst: process
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hash
    - P
    argTypes:
    - std::unique_ptr<HashFunction>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: Botan::OAEP::OAEP
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp
    functionUses: 0
    functionsReached:
    - process
    - std::move
    linkageType: ''
    returnType: void
    signature: void OAEP::OAEP(std::unique_ptr<HashFunction> hash, std::string_view
      P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:154,1
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:155,1
    - Dst: auto::process
      Src: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hash
    - mgf1_hash
    - P
    argTypes:
    - std::unique_ptr<HashFunction>
    - std::unique_ptr<HashFunction>
    - std::string_view
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: Botan::OAEP::OAEP
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_oaep/oaep.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - auto::process
    linkageType: ''
    returnType: void
    signature: void OAEP::OAEP(std::unique_ptr<HashFunction> hash, std::unique_ptr<HashFunction>
      mgf1_hash, std::string_view P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:15,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:15,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: Botan::RawHashFunction::add_data
    functionSourceFile: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void RawHashFunction::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:19,1
    - Dst: Botan::RawHashFunction::clear
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:20,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:21,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:21,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:22,1
    - Dst: size
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:22,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:25,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:25,1
    - Dst: data
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:25,1
    - Dst: size
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:25,1
    - Dst: Botan::RawHashFunction::clear
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: Botan::RawHashFunction::final_result
    functionSourceFile: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp
    functionUses: 0
    functionsReached:
    - Botan::RawHashFunction::clear
    - std::to_string
    - data
    - size
    - std::span<uint8_t>::data
    - copy_mem
    - Invalid_Argument
    linkageType: ''
    returnType: void
    signature: void RawHashFunction::final_result(std::span<uint8_t> out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::RawHashFunction::clear
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: Botan::RawHashFunction::clear
    functionSourceFile: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp
    functionUses: 2
    functionsReached:
    - Botan::RawHashFunction::clear
    linkageType: ''
    returnType: void
    signature: void RawHashFunction::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RawHashFunction>
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::RawHashFunction::copy_state
    functionSourceFile: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RawHashFunction>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> RawHashFunction::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RawHashFunction>
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::RawHashFunction::new_object
    functionSourceFile: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RawHashFunction>
    linkageType: ''
    returnType: std::unique_ptr<HashFunction>
    signature: std::unique_ptr<HashFunction> RawHashFunction::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: Botan::RawHashFunction::output_length
    functionSourceFile: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t RawHashFunction::output_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HashFunction>::name
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.h:25,1
    - Dst: std::unique_ptr<HashFunction>::output_length
      Src: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::RawHashFunction::RawHashFunction
    functionSourceFile: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.h
    functionUses: 0
    functionsReached:
    - std::unique_ptr<HashFunction>::name
    - std::unique_ptr<HashFunction>::output_length
    linkageType: ''
    returnType: void
    signature: void RawHashFunction(std::unique_ptr<HashFunction> hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - name
    - output_length
    argTypes:
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::RawHashFunction::RawHashFunction
    functionSourceFile: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawHashFunction(std::string_view name, size_t output_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Botan::RawHashFunction::name
    functionSourceFile: /src/botan/src/lib/pk_pad/raw_hash/raw_hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::mgf1_mask
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.h:29,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.h:29,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.h:29,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.h:29,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' hash'
    - input
    - output
    argTypes:
    - HashFunction
    - std::span<const uint8_t>
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Botan::mgf1_mask
    functionSourceFile: /src/botan/src/lib/pk_pad/mgf1/mgf1.h
    functionUses: 5
    functionsReached:
    - std::span<uint8_t>::size
    - std::span<uint8_t>::data
    - std::span<const uint8_t>::size
    - Botan::mgf1_mask
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void mgf1_mask(HashFunction& hash, std::span<const uint8_t> input,
      std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_length
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.cpp:19,1
    - Dst: Botan::update
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.cpp:21,1
    - Dst: update_be
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.cpp:22,1
    - Dst: Botan::final
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.cpp:23,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.cpp:23,1
    - Dst: Botan::xor_buf
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.cpp:26,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/pk_pad/mgf1/mgf1.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - ' hash'
    - in
    - in_len
    - out
    - out_len
    argTypes:
    - HashFunction
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 16
    functionDepth: 5
    functionLinenumber: 16
    functionLinenumberEnd: 32
    functionName: Botan::mgf1_mask
    functionSourceFile: /src/botan/src/lib/pk_pad/mgf1/mgf1.cpp
    functionUses: 5
    functionsReached:
    - Botan::xor_buf
    - update_be
    - Botan::update
    - Botan::final
    - output_length
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void mgf1_mask(HashFunction& hash, const uint8_t in[], size_t in_len,
      uint8_t out[], size_t out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: Botan::EMSA_Raw::EMSA_Raw
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EMSA_Raw(size_t expected_hash_size = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::EMSA_Raw::hash_function
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: Botan::EMSA_Raw::name
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string EMSA_Raw::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: Botan::EMSA_Raw::update
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void EMSA_Raw::update(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:35,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:36,1
    - Dst: fmt
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:37,1
    - Dst: size
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:39,1
    - Dst: std::swap
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: Botan::EMSA_Raw::raw_data
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - fmt
    - size
    - std::swap
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EMSA_Raw::raw_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:53,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:54,1
    - Dst: fmt
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:55,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:57,1
    - Dst: std::vector<uint8_t>
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:60,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:60,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: Botan::EMSA_Raw::encoding_of
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - fmt
    - std::vector<uint8_t>
    - std::span<const uint8_t>::size
    - Invalid_Argument
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> EMSA_Raw::encoding_of(std::span<const uint8_t>
      msg,\n                                           size_t /*output_bits*/,\n                                           RandomNumberGenerator&
      /*rng*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:67,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:71,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:71,1
    - Dst: Botan::CT::all_zeros
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:74,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:74,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:75,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:75,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:75,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:75,1
    - Dst: as_bool
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:76,1
    - Dst: constant_time_compare
      Src: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - coded
    - raw
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: Botan::EMSA_Raw::verify
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_raw/emsa_raw.cpp
    functionUses: 0
    functionsReached:
    - as_bool
    - std::span<const uint8_t>::data
    - Botan::CT::is_equal
    - constant_time_compare
    - std::span<const uint8_t>::size
    - Botan::CT::all_zeros
    linkageType: ''
    returnType: bool
    signature: bool EMSA_Raw::verify(std::span<const uint8_t> coded, std::span<const
      uint8_t> raw, size_t /*key_bits*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:28,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:29,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:32,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:40,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:41,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:41,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:41,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:42,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:43,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:44,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:45,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:46,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - msg
    - output_bits
    - empty_hash
    - hash_id
    argTypes:
    - std::span<const uint8_t>
    - size_t
    - std::span<const uint8_t>
    - uint8_t
    constantsTouched: []
    func_position:
      end: 49
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 49
    functionName: Botan::emsa2_encoding
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::remaining_capacity
    - BufferStuffer::append
    - BOTAN_ASSERT_NOMSG
    - Encoding_Error
    - std::span<const uint8_t>::size
    - BufferStuffer::full
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> emsa2_encoding(std::span<const uint8_t> msg,\n
      \                                   size_t output_bits,\n                                    std::span<const
      uint8_t> empty_hash,\n                                    uint8_t hash_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:54,1
    - Dst: Botan::EMSA_X931::name
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Botan::EMSA_X931::name
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp
    functionUses: 1
    functionsReached:
    - Botan::EMSA_X931::name
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string EMSA_X931::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EMSA_X931::update
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Botan::EMSA_X931::update
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp
    functionUses: 1
    functionsReached:
    - Botan::EMSA_X931::update
    linkageType: ''
    returnType: void
    signature: void EMSA_X931::update(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::EMSA_X931::raw_data
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp
    functionUses: 0
    functionsReached:
    - final_stdvec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EMSA_X931::raw_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emsa2_encoding
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - output_bits
    argTypes:
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: Botan::EMSA_X931::encoding_of
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp
    functionUses: 0
    functionsReached:
    - emsa2_encoding
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> EMSA_X931::encoding_of(std::span<const uint8_t>
      msg,\n                                            size_t output_bits,\n                                            RandomNumberGenerator&
      /*rng*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emsa2_encoding
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:79,1
    - Dst: constant_time_compare
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - coded
    - raw
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: Botan::EMSA_X931::verify
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp
    functionUses: 0
    functionsReached:
    - emsa2_encoding
    - constant_time_compare
    linkageType: ''
    returnType: bool
    signature: bool EMSA_X931::verify(std::span<const uint8_t> coded, std::span<const
      uint8_t> raw, size_t key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:89,1
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:90,1
    - Dst: ieee1363_hash_id
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:92,1
    - Dst: Botan::EMSA_X931::name
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:92,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:95,1
    - Dst: Botan::EMSA_X931::name
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: Botan::EMSA_X931::EMSA_X931
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.cpp
    functionUses: 0
    functionsReached:
    - final_stdvec
    - Encoding_Error
    - Botan::EMSA_X931::name
    - ieee1363_hash_id
    - std::move
    linkageType: ''
    returnType: void
    signature: void EMSA_X931::EMSA_X931(std::unique_ptr<HashFunction> hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EMSA_X931::name
      Src: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::EMSA_X931::hash_function
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_x931/emsa_x931.h
    functionUses: 0
    functionsReached:
    - Botan::EMSA_X931::name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EMSA_PKCS1v15::name
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan::EMSA_PKCS1v15::hash_function
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.h
    functionUses: 0
    functionsReached:
    - Botan::EMSA_PKCS1v15::name
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::EMSA_PKCS1v15_Raw::hash_function
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hash_function() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:24,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:24,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:25,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:31,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:32,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:32,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:32,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:32,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:33,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:34,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:35,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:36,1
    - Dst: BufferStuffer::full
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - msg
    - output_bits
    - hash_id
    argTypes:
    - std::span<const uint8_t>
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: Botan::pkcs1v15_sig_encoding
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::remaining_capacity
    - BufferStuffer::append
    - BOTAN_ASSERT_NOMSG
    - Encoding_Error
    - std::span<const uint8_t>::size
    - BufferStuffer::full
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> pkcs1v15_sig_encoding(std::span<const uint8_t>
      msg,\n                                           size_t output_bits,\n                                           std::span<const
      uint8_t> hash_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EMSA_PKCS1v15::update
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::EMSA_PKCS1v15::update
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 1
    functionsReached:
    - Botan::EMSA_PKCS1v15::update
    linkageType: ''
    returnType: void
    signature: void EMSA_PKCS1v15::update(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_stdvec
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::EMSA_PKCS1v15::raw_data
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - final_stdvec
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EMSA_PKCS1v15::raw_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:54,1
    - Dst: output_length
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:54,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:55,1
    - Dst: pkcs1v15_sig_encoding
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - output_bits
    argTypes:
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: Botan::EMSA_PKCS1v15::encoding_of
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - output_length
    - pkcs1v15_sig_encoding
    - Encoding_Error
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> EMSA_PKCS1v15::encoding_of(std::span<const uint8_t>
      msg,\n                                                size_t output_bits,\n
      \                                               RandomNumberGenerator& /*rng*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:62,1
    - Dst: output_length
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:62,1
    - Dst: pkcs1v15_sig_encoding
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:67,1
    - Dst: constant_time_compare
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - coded
    - raw
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: Botan::EMSA_PKCS1v15::verify
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - output_length
    - constant_time_compare
    - pkcs1v15_sig_encoding
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: bool
    signature: bool EMSA_PKCS1v15::verify(std::span<const uint8_t> coded, std::span<const
      uint8_t> raw, size_t key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:74,1
    - Dst: pkcs_hash_id
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:75,1
    - Dst: Botan::EMSA_PKCS1v15::name
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: Botan::EMSA_PKCS1v15::EMSA_PKCS1v15
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - Botan::EMSA_PKCS1v15::name
    - std::move
    - pkcs_hash_id
    linkageType: ''
    returnType: void
    signature: void EMSA_PKCS1v15::EMSA_PKCS1v15(std::unique_ptr<HashFunction> hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EMSA_PKCS1v15::name
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: Botan::EMSA_PKCS1v15::name
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 3
    functionsReached:
    - Botan::EMSA_PKCS1v15::name
    linkageType: ''
    returnType: std::string
    signature: std::string EMSA_PKCS1v15::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: Botan::EMSA_PKCS1v15_Raw::name
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: std::string
    signature: std::string EMSA_PKCS1v15_Raw::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: Botan::EMSA_PKCS1v15_Raw::EMSA_PKCS1v15_Raw
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EMSA_PKCS1v15_Raw::EMSA_PKCS1v15_Raw()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs_hash_id
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:97,1
    - Dst: std::unique_ptr::name
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:98,1
    - Dst: std::unique_ptr::output_length
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hash_algo
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: Botan::EMSA_PKCS1v15_Raw::EMSA_PKCS1v15_Raw
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::name
    - std::unique_ptr::output_length
    - pkcs_hash_id
    linkageType: ''
    returnType: void
    signature: void EMSA_PKCS1v15_Raw::EMSA_PKCS1v15_Raw(std::string_view hash_algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: Botan::EMSA_PKCS1v15_Raw::update
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void EMSA_PKCS1v15_Raw::update(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:108,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:110,1
    - Dst: Encoding_Error
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: Botan::EMSA_PKCS1v15_Raw::raw_data
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - Encoding_Error
    - std::swap
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> EMSA_PKCS1v15_Raw::raw_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs1v15_sig_encoding
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - output_bits
    argTypes:
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: Botan::EMSA_PKCS1v15_Raw::encoding_of
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - pkcs1v15_sig_encoding
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> EMSA_PKCS1v15_Raw::encoding_of(std::span<const
      uint8_t> msg,\n                                                    size_t output_bits,\n
      \                                                   RandomNumberGenerator& /*rng*/)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:124,1
    - Dst: pkcs1v15_sig_encoding
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:129,1
    - Dst: constant_time_compare
      Src: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - coded
    - raw
    - key_bits
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: Botan::EMSA_PKCS1v15_Raw::verify
    functionSourceFile: /src/botan/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp
    functionUses: 0
    functionsReached:
    - pkcs1v15_sig_encoding
    - constant_time_compare
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: bool
    signature: bool EMSA_PKCS1v15_Raw::verify(std::span<const uint8_t> coded, std::span<const
      uint8_t> raw, size_t key_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: Botan::EME_PKCS1v15
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class BOTAN_FUZZER_API
    signature: class BOTAN_FUZZER_API EME_PKCS1v15
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:28,1
    - Dst: Botan::EME_PKCS1v15::maximum_input_size
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:28,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:29,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:40,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:42,1
    - Dst: next_nonzero_byte
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:42,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:44,1
    - Dst: BufferStuffer::append
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:45,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:47,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - output
    - input
    - key_length
    - ' rng'
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    - size_t
    - RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 48
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 48
    functionName: Botan::EME_PKCS1v15::pad
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::remaining_capacity
    - Botan::EME_PKCS1v15::maximum_input_size
    - BufferStuffer::append
    - std::span<uint8_t>::size
    - next_nonzero_byte
    - std::span<const uint8_t>::size
    - Invalid_Argument
    linkageType: ''
    returnType: size_t
    signature: "size_t EME_PKCS1v15::pad(std::span<uint8_t> output,\n                         std::span<const
      uint8_t> input,\n                         size_t key_length,\n                         RandomNumberGenerator&
      rng) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:54,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:54,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:54,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:62,1
    - Dst: Botan::CT::scoped_poison
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:66,1
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:68,1
    - Dst: Botan::CT::Mask::cleared
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:69,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:72,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:73,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:75,1
    - Dst: Botan::Sodium::sodium_is_zero
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:76,1
    - Dst: CT::Mask::if_not_set_return
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:77,1
    - Dst: CT::Mask<uint8_t>
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:88,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:88,1
    - Dst: CT::Mask::as_choice
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:90,1
    - Dst: Botan::CT::copy_output
      Src: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 93
      start: 53
    functionDepth: 6
    functionLinenumber: 53
    functionLinenumberEnd: 93
    functionName: Botan::EME_PKCS1v15::unpad
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp
    functionUses: 0
    functionsReached:
    - CT::Mask<uint8_t>
    - CT::Mask::as_choice
    - BOTAN_ASSERT_NOMSG
    - std::span<uint8_t>::size
    - Botan::BigInt::is_equal
    - Botan::Sodium::sodium_is_zero
    - Botan::CT::Mask::cleared
    - Botan::CT::scoped_poison
    - Botan::CT::copy_output
    - Botan::bigint_ct_is_lt
    - CT::Mask::if_not_set_return
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: CT::Option<size_t>
    signature: CT::Option<size_t> EME_PKCS1v15::unpad(std::span<uint8_t> output, std::span<const
      uint8_t> input) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: Botan::EME_PKCS1v15::maximum_input_size
    functionSourceFile: /src/botan/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t EME_PKCS1v15::maximum_input_size(size_t keybits) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:56,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:56,1
    - Dst: std::make_unique<BLAKE2bMAC>
      Src: /src/botan/src/lib/mac/mac.cpp:57,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/mac/mac.cpp:57,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:62,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/mac/mac.cpp:62,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/mac/mac.cpp:63,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/mac/mac.cpp:64,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/mac/mac.cpp:64,1
    - Dst: std::make_unique<GMAC>
      Src: /src/botan/src/lib/mac/mac.cpp:65,1
    - Dst: std::move
      Src: /src/botan/src/lib/mac/mac.cpp:65,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:72,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/mac/mac.cpp:72,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/mac/mac.cpp:73,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/mac/mac.cpp:74,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/mac/mac.cpp:74,1
    - Dst: std::make_unique<HMAC>
      Src: /src/botan/src/lib/mac/mac.cpp:75,1
    - Dst: std::move
      Src: /src/botan/src/lib/mac/mac.cpp:75,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:82,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/mac/mac.cpp:82,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/mac/mac.cpp:83,1
    - Dst: std::make_unique<Poly1305>
      Src: /src/botan/src/lib/mac/mac.cpp:84,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:90,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/mac/mac.cpp:91,1
    - Dst: std::make_unique<SipHash>
      Src: /src/botan/src/lib/mac/mac.cpp:92,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/mac/mac.cpp:92,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/mac/mac.cpp:92,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:98,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:98,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/mac/mac.cpp:98,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/mac/mac.cpp:99,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/mac/mac.cpp:100,1
    - Dst: SCAN_Name::arg
      Src: /src/botan/src/lib/mac/mac.cpp:100,1
    - Dst: std::make_unique<CMAC>
      Src: /src/botan/src/lib/mac/mac.cpp:101,1
    - Dst: std::move
      Src: /src/botan/src/lib/mac/mac.cpp:101,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:108,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/mac/mac.cpp:109,1
    - Dst: std::make_unique<ANSI_X919_MAC>
      Src: /src/botan/src/lib/mac/mac.cpp:110,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:116,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/mac/mac.cpp:117,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/mac/mac.cpp:118,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/mac/mac.cpp:119,1
    - Dst: std::make_unique<KMAC128>
      Src: /src/botan/src/lib/mac/mac.cpp:122,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/mac/mac.cpp:122,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/mac/mac.cpp:126,1
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/mac/mac.cpp:127,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/mac/mac.cpp:128,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/mac/mac.cpp:129,1
    - Dst: std::make_unique<KMAC256>
      Src: /src/botan/src/lib/mac/mac.cpp:132,1
    - Dst: SCAN_Name::arg_as_integer
      Src: /src/botan/src/lib/mac/mac.cpp:132,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/mac/mac.cpp:137,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/mac/mac.cpp:138,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 59
    argCount: 2
    argNames:
    - algo_spec
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 141
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 141
    functionName: Botan::MessageAuthenticationCode::create
    functionSourceFile: /src/botan/src/lib/mac/mac.cpp
    functionUses: 19
    functionsReached:
    - std::make_unique<SipHash>
    - std::make_unique<GMAC>
    - Botan::BlockCipher::create
    - std::make_unique<Poly1305>
    - BOTAN_UNUSED
    - SCAN_Name::arg_as_integer
    - std::string_view::empty
    - std::make_unique<KMAC256>
    - Invalid_Argument
    - std::make_unique<HMAC>
    - SCAN_Name::algo_name
    - std::make_unique<KMAC128>
    - std::make_unique<BLAKE2bMAC>
    - SCAN_Name::arg_count
    - std::move
    - std::make_unique<CMAC>
    - Botan::HashFunction::create
    - std::make_unique<ANSI_X919_MAC>
    - SCAN_Name::arg
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: "std::unique_ptr<MessageAuthenticationCode> MessageAuthenticationCode::create(std::string_view
      algo_spec,\n                                                                             std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: probe_providers_of<MessageAuthenticationCode>
      Src: /src/botan/src/lib/mac/mac.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: Botan::MessageAuthenticationCode::providers
    functionSourceFile: /src/botan/src/lib/mac/mac.cpp
    functionUses: 3
    functionsReached:
    - probe_providers_of<MessageAuthenticationCode>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> MessageAuthenticationCode::providers(std::string_view
      algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/mac/mac.cpp:150,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/mac/mac.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - algo
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 4
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: Botan::MessageAuthenticationCode::create_or_throw
    functionSourceFile: /src/botan/src/lib/mac/mac.cpp
    functionUses: 35
    functionsReached:
    - Botan::MessageAuthenticationCode::create
    - Lookup_Error
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: "std::unique_ptr<MessageAuthenticationCode> MessageAuthenticationCode::create_or_throw(std::string_view
      algo,\n                                                                                      std::string_view
      provider)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/mac/mac.cpp:157,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/mac/mac.cpp:158,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/mac/mac.cpp:159,1
    - Dst: name
      Src: /src/botan/src/lib/mac/mac.cpp:159,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/mac.cpp:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: Botan::MessageAuthenticationCode::start_msg
    functionSourceFile: /src/botan/src/lib/mac/mac.cpp
    functionUses: 0
    functionsReached:
    - name
    - std::span<const uint8_t>::empty
    - Invalid_IV_Length
    - BOTAN_UNUSED
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void MessageAuthenticationCode::start_msg(std::span<const uint8_t>
      nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/mac/mac.cpp:167,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/mac/mac.cpp:169,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/mac.cpp:169,1
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/mac/mac.cpp:173,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/mac/mac.cpp:173,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/mac/mac.cpp:173,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/mac.cpp:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mac
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: Botan::MessageAuthenticationCode::verify_mac_result
    functionSourceFile: /src/botan/src/lib/mac/mac.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - secure_vector::size
    - Botan::CT::is_equal
    - final
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: bool
    signature: bool MessageAuthenticationCode::verify_mac_result(std::span<const uint8_t>
      mac)
  - 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: ~MessageAuthenticationCode() override
    functionSourceFile: /src/botan/src/lib/mac/mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MessageAuthenticationCode() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::start_msg
      Src: /src/botan/src/lib/mac/mac.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Botan::start
    functionSourceFile: /src/botan/src/lib/mac/mac.h
    functionUses: 0
    functionsReached:
    - Botan::start_msg
    linkageType: ''
    returnType: void
    signature: void start(std::span<const uint8_t> nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::start_msg
      Src: /src/botan/src/lib/mac/mac.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nonce
    - nonce_len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Botan::start
    functionSourceFile: /src/botan/src/lib/mac/mac.h
    functionUses: 0
    functionsReached:
    - Botan::start_msg
    linkageType: ''
    returnType: void
    signature: void start(const uint8_t nonce[], size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::start_msg
      Src: /src/botan/src/lib/mac/mac.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Botan::start
    functionSourceFile: /src/botan/src/lib/mac/mac.h
    functionUses: 0
    functionsReached:
    - Botan::start_msg
    linkageType: ''
    returnType: void
    signature: void start()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_mac_result
      Src: /src/botan/src/lib/mac/mac.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Botan::verify_mac
    functionSourceFile: /src/botan/src/lib/mac/mac.h
    functionUses: 0
    functionsReached:
    - verify_mac_result
    linkageType: ''
    returnType: bool
    signature: bool verify_mac(const uint8_t in[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_mac_result
      Src: /src/botan/src/lib/mac/mac.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: Botan::verify_mac
    functionSourceFile: /src/botan/src/lib/mac/mac.h
    functionUses: 0
    functionsReached:
    - verify_mac_result
    linkageType: ''
    returnType: bool
    signature: bool verify_mac(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::new_object
      Src: /src/botan/src/lib/mac/mac.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: Botan::clone
    functionSourceFile: /src/botan/src/lib/mac/mac.h
    functionUses: 0
    functionsReached:
    - Botan::new_object
    linkageType: ''
    returnType: MessageAuthenticationCode
    signature: MessageAuthenticationCode * clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: Botan::provider
    functionSourceFile: /src/botan/src/lib/mac/mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: Botan::fresh_key_required_per_message
    functionSourceFile: /src/botan/src/lib/mac/mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fresh_key_required_per_message() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::GMAC::GMAC
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GMAC(const GMAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(const GMAC&)'
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GMAC
    signature: GMAC & operator=(const GMAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:19,1
    - Dst: std::make_unique<GHASH>
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: Botan::GMAC::GMAC
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<GHASH>
    linkageType: ''
    returnType: void
    signature: void GMAC::GMAC(std::unique_ptr<BlockCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GMAC::clear
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:22,1
    - Dst: Botan::GMAC::clear
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:23,1
    - Dst: zeroise
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: Botan::GMAC::clear
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 1
    functionsReached:
    - zeroise
    - Botan::GMAC::clear
    linkageType: ''
    returnType: void
    signature: void GMAC::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: GMAC::~GMAC()
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GMAC::~GMAC()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GMAC::key_spec
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::GMAC::key_spec
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 1
    functionsReached:
    - Botan::GMAC::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification GMAC::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:35,1
    - Dst: Botan::GMAC::name
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Botan::GMAC::name
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::GMAC::name
    linkageType: ''
    returnType: std::string
    signature: std::string GMAC::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::GMAC::output_length
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GMAC::output_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update_associated_data
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::GMAC::add_data
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 0
    functionsReached:
    - update_associated_data
    linkageType: ''
    returnType: void
    signature: void GMAC::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GMAC::has_keying_material
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::GMAC::has_keying_material
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 1
    functionsReached:
    - Botan::GMAC::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool GMAC::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GMAC::clear
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:51,1
    - Dst: set_key
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:52,1
    - Dst: encrypt
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:54,1
    - Dst: set_key
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: Botan::GMAC::key_schedule
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 0
    functionsReached:
    - set_key
    - encrypt
    - Botan::GMAC::clear
    linkageType: ''
    returnType: void
    signature: void GMAC::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:61,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:62,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:62,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:62,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:62,1
    - Dst: nonce_hash
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:65,1
    - Dst: encrypt
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:68,1
    - Dst: std::array::data
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:68,1
    - Dst: start
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: Botan::GMAC::start_msg
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - copy_mem
    - nonce_hash
    - start
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - encrypt
    linkageType: ''
    returnType: void
    signature: void GMAC::start_msg(std::span<const uint8_t> nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:78,1
    - Dst: final
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:81,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:81,1
    - Dst: Botan::GMAC::output_length
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:81,1
    - Dst: set_key
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mac
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: Botan::GMAC::final_result
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 0
    functionsReached:
    - Botan::GMAC::output_length
    - Invalid_State
    - final
    - set_key
    - std::span<uint8_t>::first
    linkageType: ''
    returnType: void
    signature: void GMAC::final_result(std::span<uint8_t> mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<GMAC>
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:86,1
    - Dst: Botan::GMAC::new_object
      Src: /src/botan/src/lib/mac/gmac/gmac.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: Botan::GMAC::new_object
    functionSourceFile: /src/botan/src/lib/mac/gmac/gmac.cpp
    functionUses: 1
    functionsReached:
    - Botan::GMAC::new_object
    - std::make_unique<GMAC>
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> GMAC::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::Poly1305::name
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Poly1305>
      Src: /src/botan/src/lib/mac/poly1305/poly1305.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::Poly1305::new_object
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.h
    functionUses: 0
    functionsReached:
    - std::make_unique<Poly1305>
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> new_object() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::Poly1305::output_length
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/mac/poly1305/poly1305.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::Poly1305::key_spec
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.h
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::Poly1305::fresh_key_required_per_message
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fresh_key_required_per_message() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:38,1
    - Dst: Botan::load_le
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' X'
    - key
    argTypes:
    - secure_vector<uint64_t>
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 40
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 40
    functionName: Botan::poly1305_init
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.cpp
    functionUses: 0
    functionsReached:
    - Botan::load_le
    linkageType: ''
    returnType: void
    signature: void poly1305_init(secure_vector<uint64_t>& X, const uint8_t key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint128_t
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:71,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:71,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:71,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:74,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:74,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:74,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:77,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:77,1
    - Dst: uint128_t
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:77,1
    - Dst: Botan::carry_shift
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - ' X'
    - m
    - blocks
    argTypes:
    - secure_vector<uint64_t>
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 94
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 94
    functionName: Botan::poly1305_blocks
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.cpp
    functionUses: 0
    functionsReached:
    - uint128_t
    - Botan::carry_shift
    linkageType: ''
    returnType: void
    signature: void poly1305_blocks(secure_vector<uint64_t>& X, const uint8_t* m,
      size_t blocks, bool is_final = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha512_msg_expand
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:135,1
    - Dst: auto::select
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:136,1
    - Dst: auto::select
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:137,1
    - Dst: auto::select
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:138,1
    - Dst: Botan::store_le
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:157,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:160,1
    - Dst: data
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:160,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 2
    argNames:
    - ' X'
    - mac
    argTypes:
    - secure_vector<uint64_t>
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 161
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 161
    functionName: Botan::poly1305_finish
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.cpp
    functionUses: 0
    functionsReached:
    - auto::select
    - Botan::store_le
    - data
    - Botan::sha512_msg_expand
    - Botan::clear_mem
    - Botan::size
    linkageType: ''
    returnType: void
    signature: void poly1305_finish(secure_vector<uint64_t>& X, uint8_t mac[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:166,1
    - Dst: Botan::Poly1305::clear
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: Botan::Poly1305::clear
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.cpp
    functionUses: 1
    functionsReached:
    - zap
    - Botan::Poly1305::clear
    linkageType: ''
    returnType: void
    signature: void Poly1305::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: Botan::Poly1305::has_keying_material
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool Poly1305::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Poly1305::clear
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:175,1
    - Dst: resize
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:176,1
    - Dst: poly1305_init
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:178,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: Botan::Poly1305::key_schedule
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.cpp
    functionUses: 0
    functionsReached:
    - resize
    - std::span<const uint8_t>::data
    - poly1305_init
    - Botan::Poly1305::clear
    linkageType: ''
    returnType: void
    signature: void Poly1305::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:182,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:186,1
    - Dst: handle_unaligned_data
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:187,1
    - Dst: poly1305_blocks
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:188,1
    - Dst: auto::data
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:188,1
    - Dst: in_alignment
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:191,1
    - Dst: poly1305_blocks
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:194,1
    - Dst: data
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 198
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: Botan::Poly1305::add_data
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.cpp
    functionUses: 0
    functionsReached:
    - in_alignment
    - data
    - handle_unaligned_data
    - assert_key_material_set
    - auto::data
    - BufferSlicer::empty
    - poly1305_blocks
    linkageType: ''
    returnType: void
    signature: void Poly1305::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:201,1
    - Dst: in_alignment
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:203,1
    - Dst: append
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:205,1
    - Dst: fill_up_with_zeros
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:206,1
    - Dst: poly1305_blocks
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:207,1
    - Dst: consume
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:207,1
    - Dst: poly1305_finish
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:210,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:210,1
    - Dst: Botan::Poly1305::clear
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:212,1
    - Dst: Botan::Poly1305::clear
      Src: /src/botan/src/lib/mac/poly1305/poly1305.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 214
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 214
    functionName: Botan::Poly1305::final_result
    functionSourceFile: /src/botan/src/lib/mac/poly1305/poly1305.cpp
    functionUses: 0
    functionsReached:
    - consume
    - append
    - in_alignment
    - poly1305_finish
    - assert_key_material_set
    - std::span<uint8_t>::data
    - Botan::Poly1305::clear
    - fill_up_with_zeros
    - poly1305_blocks
    linkageType: ''
    returnType: void
    signature: void Poly1305::final_result(std::span<uint8_t> out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:19,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:23,1
    - Dst: std::min
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:23,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:23,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:24,1
    - Dst: auto::data
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:24,1
    - Dst: auto::size
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:24,1
    - Dst: auto::size
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:25,1
    - Dst: encrypt
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:31,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:32,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:33,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:33,1
    - Dst: encrypt
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:34,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:37,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:37,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:38,1
    - Dst: auto::data
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:38,1
    - Dst: auto::size
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:38,1
    - Dst: auto::size
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 40
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 40
    functionName: Botan::ANSI_X919_MAC::add_data
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - BufferSlicer::take
    - std::min
    - assert_key_material_set
    - auto::data
    - xor_buf
    - encrypt
    - BufferSlicer::remaining
    linkageType: ''
    returnType: void
    signature: void ANSI_X919_MAC::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:47,1
    - Dst: decrypt
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:49,1
    - Dst: data
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:49,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:49,1
    - Dst: encrypt
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:50,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:50,1
    - Dst: zeroise
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mac
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: Botan::ANSI_X919_MAC::final_result
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp
    functionUses: 0
    functionsReached:
    - data
    - std::span<uint8_t>::data
    - zeroise
    - decrypt
    - encrypt
    linkageType: ''
    returnType: void
    signature: void ANSI_X919_MAC::final_result(std::span<uint8_t> mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ANSI_X919_MAC::has_keying_material
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:56,1
    - Dst: Botan::ANSI_X919_MAC::has_keying_material
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Botan::ANSI_X919_MAC::has_keying_material
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp
    functionUses: 1
    functionsReached:
    - Botan::ANSI_X919_MAC::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool ANSI_X919_MAC::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:63,1
    - Dst: set_key
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:65,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:65,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:67,1
    - Dst: std::span<const uint8_t>::last
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:68,1
    - Dst: set_key
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:71,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: Botan::ANSI_X919_MAC::key_schedule
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp
    functionUses: 0
    functionsReached:
    - set_key
    - resize
    - std::span<const uint8_t>::last
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::first
    linkageType: ''
    returnType: void
    signature: void ANSI_X919_MAC::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ANSI_X919_MAC::clear
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:78,1
    - Dst: Botan::ANSI_X919_MAC::clear
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:79,1
    - Dst: zap
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: Botan::ANSI_X919_MAC::clear
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp
    functionUses: 1
    functionsReached:
    - zap
    - Botan::ANSI_X919_MAC::clear
    linkageType: ''
    returnType: void
    signature: void ANSI_X919_MAC::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: Botan::ANSI_X919_MAC::name
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ANSI_X919_MAC::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ANSI_X919_MAC>
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Botan::ANSI_X919_MAC::new_object
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ANSI_X919_MAC>
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> ANSI_X919_MAC::new_object()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:95,1
    - Dst: Botan::ANSI_X919_MAC::new_object
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Botan::ANSI_X919_MAC::ANSI_X919_MAC
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.cpp
    functionUses: 0
    functionsReached:
    - Botan::ANSI_X919_MAC::new_object
    - Botan::BlockCipher::create
    linkageType: ''
    returnType: void
    signature: void ANSI_X919_MAC::ANSI_X919_MAC()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::ANSI_X919_MAC::output_length
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/mac/x919_mac/x919_mac.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::ANSI_X919_MAC::key_spec
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.h
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Botan::ANSI_X919_MAC::ANSI_X919_MAC
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ANSI_X919_MAC(const ANSI_X919_MAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(const ANSI_X919_MAC&)'
    functionSourceFile: /src/botan/src/lib/mac/x919_mac/x919_mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ANSI_X919_MAC
    signature: ANSI_X919_MAC & operator=(const ANSI_X919_MAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:26,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:27,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:30,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:34,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:35,1
    - Dst: Botan::rotl
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 3
    argNames:
    - M
    - ' V'
    - r
    argTypes:
    - uint64_t
    - secure_vector<uint64_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 46
    functionName: Botan::SipRounds
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.cpp
    functionUses: 0
    functionsReached:
    - Botan::rotl
    linkageType: ''
    returnType: void
    signature: void SipRounds(uint64_t M, secure_vector<uint64_t>& V, size_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:51,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:54,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:54,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:59,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:60,1
    - Dst: BufferSlicer::take_byte
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:60,1
    - Dst: SipRounds
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:65,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:71,1
    - Dst: SipRounds
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:72,1
    - Dst: load_le<uint64_t>
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:72,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:72,1
    - Dst: BufferSlicer::empty
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:75,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:76,1
    - Dst: BufferSlicer::take_byte
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 79
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 79
    functionName: Botan::SipHash::add_data
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.cpp
    functionUses: 0
    functionsReached:
    - BufferSlicer::take_byte
    - static_cast<uint64_t>
    - SipRounds
    - BufferSlicer::take
    - assert_key_material_set
    - BufferSlicer::empty
    - std::span<const uint8_t>::size
    - load_le<uint64_t>
    - static_cast<uint8_t>
    - BufferSlicer::remaining
    linkageType: ''
    returnType: void
    signature: void SipHash::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:82,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:85,1
    - Dst: static_cast<uint64_t>
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:87,1
    - Dst: SipRounds
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:90,1
    - Dst: SipRounds
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:93,1
    - Dst: store_le
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:97,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - mac
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 106
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 106
    functionName: Botan::SipHash::final_result
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - SipRounds
    - assert_key_material_set
    - std::span<uint8_t>::data
    - store_le
    linkageType: ''
    returnType: void
    signature: void SipHash::final_result(std::span<uint8_t> mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Botan::SipHash::has_keying_material
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool SipHash::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:116,1
    - Dst: resize
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: Botan::SipHash::key_schedule
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.cpp
    functionUses: 0
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void SipHash::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:128,1
    - Dst: zap
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: Botan::SipHash::clear
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.cpp
    functionUses: 0
    functionsReached:
    - zap
    linkageType: ''
    returnType: void
    signature: void SipHash::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: Botan::SipHash::name
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string SipHash::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SipHash>
      Src: /src/botan/src/lib/mac/siphash/siphash.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: Botan::SipHash::new_object
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SipHash>
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> SipHash::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: Botan::SipHash::SipHash
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SipHash(size_t c = 2, size_t d = 4)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::SipHash::output_length
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/mac/siphash/siphash.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Botan::SipHash::key_spec
    functionSourceFile: /src/botan/src/lib/mac/siphash/siphash.h
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:25,1
    - Dst: data
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:25,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:25,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:27,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:28,1
    - Dst: encrypt
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:29,1
    - Dst: BufferSlicer::skip
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:32,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:33,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:34,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:34,1
    - Dst: encrypt
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:35,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:38,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:38,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:39,1
    - Dst: data
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:39,1
    - Dst: auto::data
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:39,1
    - Dst: auto::size
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:39,1
    - Dst: auto::size
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:40,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 44
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 44
    functionName: Botan::CMAC::add_data
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - BufferSlicer::take
    - data
    - copy_mem
    - auto::data
    - std::span<const uint8_t>::size
    - xor_buf
    - BufferSlicer::skip
    - std::span<const uint8_t>::data
    - encrypt
    - BufferSlicer::remaining
    linkageType: ''
    returnType: void
    signature: void CMAC::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xor_buf
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:50,1
    - Dst: Botan::CMAC::output_length
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:52,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:53,1
    - Dst: Botan::CMAC::output_length
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:53,1
    - Dst: xor_buf
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:56,1
    - Dst: Botan::CMAC::output_length
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:56,1
    - Dst: encrypt
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:59,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:61,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:61,1
    - Dst: data
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:61,1
    - Dst: Botan::CMAC::output_length
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:61,1
    - Dst: zeroise
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:63,1
    - Dst: zeroise
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - mac
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: Botan::CMAC::final_result
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.cpp
    functionUses: 0
    functionsReached:
    - data
    - std::span<uint8_t>::data
    - copy_mem
    - zeroise
    - xor_buf
    - Botan::CMAC::output_length
    - encrypt
    linkageType: ''
    returnType: void
    signature: void CMAC::final_result(std::span<uint8_t> mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CMAC::has_keying_material
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: Botan::CMAC::has_keying_material
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.cpp
    functionUses: 1
    functionsReached:
    - Botan::CMAC::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool CMAC::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CMAC::clear
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:76,1
    - Dst: set_key
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:77,1
    - Dst: encrypt
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:78,1
    - Dst: poly_double_n
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:79,1
    - Dst: data
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:79,1
    - Dst: size
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:79,1
    - Dst: poly_double_n
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:80,1
    - Dst: data
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:80,1
    - Dst: data
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:80,1
    - Dst: size
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: Botan::CMAC::key_schedule
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.cpp
    functionUses: 0
    functionsReached:
    - Botan::CMAC::clear
    - data
    - size
    - set_key
    - poly_double_n
    - encrypt
    linkageType: ''
    returnType: void
    signature: void CMAC::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CMAC::clear
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:87,1
    - Dst: zeroise
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:88,1
    - Dst: zeroise
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:89,1
    - Dst: zeroise
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:90,1
    - Dst: zeroise
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: Botan::CMAC::clear
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.cpp
    functionUses: 2
    functionsReached:
    - zeroise
    - Botan::CMAC::clear
    linkageType: ''
    returnType: void
    signature: void CMAC::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:99,1
    - Dst: Botan::CMAC::name
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: Botan::CMAC::name
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::CMAC::name
    linkageType: ''
    returnType: std::string
    signature: std::string CMAC::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CMAC>
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:106,1
    - Dst: Botan::CMAC::new_object
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: Botan::CMAC::new_object
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.cpp
    functionUses: 1
    functionsReached:
    - Botan::CMAC::new_object
    - std::make_unique<CMAC>
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> CMAC::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:112,1
    - Dst: block_size
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:112,1
    - Dst: poly_double_supported_size
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:113,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:114,1
    - Dst: fmt
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:114,1
    - Dst: Botan::CMAC::name
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:114,1
    - Dst: resize
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:117,1
    - Dst: Botan::CMAC::output_length
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:117,1
    - Dst: resize
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:118,1
    - Dst: Botan::CMAC::output_length
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:118,1
    - Dst: resize
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:119,1
    - Dst: Botan::CMAC::output_length
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:119,1
    - Dst: resize
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:120,1
    - Dst: Botan::CMAC::output_length
      Src: /src/botan/src/lib/mac/cmac/cmac.cpp:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - std::unique_ptr<BlockCipher>
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: Botan::CMAC::CMAC
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.cpp
    functionUses: 0
    functionsReached:
    - Botan::CMAC::output_length
    - block_size
    - poly_double_supported_size
    - fmt
    - resize
    - std::move
    - Invalid_Argument
    - Botan::CMAC::name
    linkageType: ''
    returnType: void
    signature: void CMAC::CMAC(std::unique_ptr<BlockCipher> cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Botan::CMAC::output_length
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CMAC::key_spec
      Src: /src/botan/src/lib/mac/cmac/cmac.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::CMAC::key_spec
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.h
    functionUses: 1
    functionsReached:
    - Botan::CMAC::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::CMAC::CMAC
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CMAC(const CMAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(const CMAC&)'
    functionSourceFile: /src/botan/src/lib/mac/cmac/cmac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CMAC
    signature: CMAC & operator=(const CMAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:21,1
    - Dst: update
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: Botan::HMAC::add_data
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.cpp
    functionUses: 0
    functionsReached:
    - update
    - assert_key_material_set
    linkageType: ''
    returnType: void
    signature: void HMAC::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:29,1
    - Dst: final
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:30,1
    - Dst: update
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:31,1
    - Dst: update
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:32,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:32,1
    - Dst: final
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:33,1
    - Dst: update
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - mac
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: Botan::HMAC::final_result
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.cpp
    functionUses: 0
    functionsReached:
    - update
    - final
    - std::span<uint8_t>::first
    - assert_key_material_set
    linkageType: ''
    returnType: void
    signature: void HMAC::final_result(std::span<uint8_t> mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: Botan::HMAC::key_spec
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.cpp
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification HMAC::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::HMAC::output_length
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t HMAC::output_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::HMAC::has_keying_material
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool HMAC::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HMAC::clear
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:57,1
    - Dst: resize
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:59,1
    - Dst: resize
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:60,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:62,1
    - Dst: data
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:62,1
    - Dst: size
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:62,1
    - Dst: clear_mem
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:63,1
    - Dst: data
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:63,1
    - Dst: size
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:63,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:82,1
    - Dst: update
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:83,1
    - Dst: final
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:84,1
    - Dst: data
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:84,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:85,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:88,1
    - Dst: first
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:88,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:88,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:89,1
    - Dst: Botan::CT::Mask::is_lte
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:95,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:95,1
    - Dst: auto::select
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:96,1
    - Dst: Botan::bigint_ct_is_lt
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:99,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:99,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:100,1
    - Dst: auto::if_set_return
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:100,1
    - Dst: update
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 111
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 111
    functionName: Botan::HMAC::key_schedule
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.cpp
    functionUses: 0
    functionsReached:
    - auto::select
    - clear_mem
    - auto::if_set_return
    - std::span<const uint8_t>::empty
    - data
    - Botan::HMAC::clear
    - final
    - first
    - size
    - copy_mem
    - Botan::bigint_ct_is_lt
    - resize
    - std::span<const uint8_t>::size
    - Botan::CT::Mask::is_lte
    - update
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void HMAC::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HMAC::clear
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:117,1
    - Dst: zap
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:118,1
    - Dst: zap
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: Botan::HMAC::clear
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.cpp
    functionUses: 2
    functionsReached:
    - zap
    - Botan::HMAC::clear
    linkageType: ''
    returnType: void
    signature: void HMAC::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:126,1
    - Dst: Botan::HMAC::name
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: Botan::HMAC::name
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.cpp
    functionUses: 1
    functionsReached:
    - fmt
    - Botan::HMAC::name
    linkageType: ''
    returnType: std::string
    signature: std::string HMAC::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HMAC>
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:133,1
    - Dst: Botan::HMAC::new_object
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: Botan::HMAC::new_object
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<HMAC>
    - Botan::HMAC::new_object
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> HMAC::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:140,1
    - Dst: Botan::HMAC::output_length
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:141,1
    - Dst: hash_block_size
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:142,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/mac/hmac/hmac.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - std::unique_ptr<HashFunction>
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: Botan::HMAC::HMAC
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.cpp
    functionUses: 0
    functionsReached:
    - Botan::HMAC::output_length
    - std::move
    - hash_block_size
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void HMAC::HMAC(std::unique_ptr<HashFunction> hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Botan::HMAC::HMAC
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HMAC(const HMAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(const HMAC&)'
    functionSourceFile: /src/botan/src/lib/mac/hmac/hmac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HMAC
    signature: HMAC & operator=(const HMAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Botan::KMAC::KMAC
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KMAC(const KMAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(const KMAC&)'
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KMAC
    signature: KMAC & operator=(const KMAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:19,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:20,1
    - Dst: BOTAN_ARG_CHECK
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:21,1
    - Dst: BOTAN_ASSERT_NONNULL
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cshake
    - output_bit_length
    argTypes:
    - std::unique_ptr<cSHAKE_XOF>
    - size_t
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: Botan::KMAC::KMAC
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_ASSERT_NONNULL
    - BOTAN_ARG_CHECK
    linkageType: ''
    returnType: void
    signature: void KMAC::KMAC(std::unique_ptr<cSHAKE_XOF> cshake, size_t output_bit_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: KMAC::~KMAC()
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KMAC::~KMAC()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zap
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:28,1
    - Dst: Botan::KMAC::clear
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: Botan::KMAC::clear
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 1
    functionsReached:
    - zap
    - Botan::KMAC::clear
    linkageType: ''
    returnType: void
    signature: void KMAC::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Botan::KMAC::output_length
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t KMAC::output_length() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: Botan::KMAC::key_spec
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification KMAC::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Botan::KMAC::has_keying_material
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool KMAC::has_keying_material() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KMAC::provider
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::KMAC::provider
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 1
    functionsReached:
    - Botan::KMAC::provider
    linkageType: ''
    returnType: std::string
    signature: std::string KMAC::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:57,1
    - Dst: start
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:58,1
    - Dst: update
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: Botan::KMAC::start_msg
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - update
    - start
    - assert_key_material_set
    linkageType: ''
    returnType: void
    signature: void KMAC::start_msg(std::span<const uint8_t> nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:64,1
    - Dst: empty
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:64,1
    - Dst: start
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:66,1
    - Dst: update
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: Botan::KMAC::add_data
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - empty
    - start
    - assert_key_material_set
    - update
    linkageType: ''
    returnType: void
    signature: void KMAC::add_data(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:72,1
    - Dst: update
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:74,1
    - Dst: keccak_int_right_encode
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:74,1
    - Dst: output
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:75,1
    - Dst: std::span<uint8_t>::first
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:75,1
    - Dst: Botan::KMAC::output_length
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:75,1
    - Dst: Botan::KMAC::clear
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: Botan::KMAC::final_result
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - keccak_int_right_encode
    - output
    - Botan::KMAC::output_length
    - assert_key_material_set
    - Botan::KMAC::clear
    - update
    - std::span<uint8_t>::first
    linkageType: ''
    returnType: void
    signature: void KMAC::final_result(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::KMAC::clear
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:81,1
    - Dst: keccak_absorb_padded_strings_encoding
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:82,1
    - Dst: block_size
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: Botan::KMAC::key_schedule
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - keccak_absorb_padded_strings_encoding
    - block_size
    - Botan::KMAC::clear
    linkageType: ''
    returnType: void
    signature: void KMAC::key_schedule(std::span<const uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<cSHAKE_128_XOF>
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - output_bit_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Botan::KMAC128::KMAC128
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<cSHAKE_128_XOF>
    linkageType: ''
    returnType: void
    signature: void KMAC128::KMAC128(size_t output_bit_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:90,1
    - Dst: output_length
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: Botan::KMAC128::name
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - output_length
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string KMAC128::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KMAC128>
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:94,1
    - Dst: output_length
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: Botan::KMAC128::new_object
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - output_length
    - std::make_unique<KMAC128>
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> KMAC128::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<cSHAKE_256_XOF>
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - output_bit_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: Botan::KMAC256::KMAC256
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<cSHAKE_256_XOF>
    linkageType: ''
    returnType: void
    signature: void KMAC256::KMAC256(size_t output_bit_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:100,1
    - Dst: output_length
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: Botan::KMAC256::name
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - output_length
    - fmt
    linkageType: ''
    returnType: std::string
    signature: std::string KMAC256::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KMAC256>
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:104,1
    - Dst: output_length
      Src: /src/botan/src/lib/mac/kmac/kmac.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Botan::KMAC256::new_object
    functionSourceFile: /src/botan/src/lib/mac/kmac/kmac.cpp
    functionUses: 0
    functionsReached:
    - output_length
    - std::make_unique<KMAC256>
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> KMAC256::new_object() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BLAKE2bMAC::clear
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: Botan::BLAKE2bMAC::clear
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.cpp
    functionUses: 1
    functionsReached:
    - Botan::BLAKE2bMAC::clear
    linkageType: ''
    returnType: void
    signature: void BLAKE2bMAC::clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<BLAKE2bMAC>
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.cpp:24,1
    - Dst: Botan::BLAKE2bMAC::output_length
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: Botan::BLAKE2bMAC::new_object
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<BLAKE2bMAC>
    - Botan::BLAKE2bMAC::output_length
    linkageType: ''
    returnType: std::unique_ptr<MessageAuthenticationCode>
    signature: std::unique_ptr<MessageAuthenticationCode> BLAKE2bMAC::new_object()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - output_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Botan::BLAKE2bMAC::BLAKE2bMAC
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLAKE2bMAC::BLAKE2bMAC(size_t output_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: Botan::BLAKE2bMAC::BLAKE2bMAC
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLAKE2bMAC(const BLAKE2bMAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(const BLAKE2bMAC&)'
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BLAKE2bMAC
    signature: BLAKE2bMAC & operator=(const BLAKE2bMAC&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BLAKE2bMAC::name
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::BLAKE2bMAC::name
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.h
    functionUses: 1
    functionsReached:
    - Botan::BLAKE2bMAC::name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BLAKE2bMAC::output_length
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::BLAKE2bMAC::output_length
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.h
    functionUses: 2
    functionsReached:
    - Botan::BLAKE2bMAC::output_length
    linkageType: ''
    returnType: size_t
    signature: size_t output_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BLAKE2bMAC::has_keying_material
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::BLAKE2bMAC::has_keying_material
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.h
    functionUses: 1
    functionsReached:
    - Botan::BLAKE2bMAC::has_keying_material
    linkageType: ''
    returnType: bool
    signature: bool has_keying_material() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BLAKE2bMAC::key_spec
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::BLAKE2bMAC::key_spec
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.h
    functionUses: 1
    functionsReached:
    - Botan::BLAKE2bMAC::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Botan::BLAKE2bMAC::key_schedule
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.h
    functionUses: 0
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void key_schedule(std::span<const uint8_t> key) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.h:43,1
    - Dst: update
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Botan::BLAKE2bMAC::add_data
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.h
    functionUses: 0
    functionsReached:
    - update
    - assert_key_material_set
    linkageType: ''
    returnType: void
    signature: void add_data(std::span<const uint8_t> input) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_key_material_set
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.h:48,1
    - Dst: final
      Src: /src/botan/src/lib/mac/blake2mac/blake2bmac.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Botan::BLAKE2bMAC::final_result
    functionSourceFile: /src/botan/src/lib/mac/blake2mac/blake2bmac.h
    functionUses: 0
    functionsReached:
    - final
    - assert_key_material_set
    linkageType: ''
    returnType: void
    signature: void final_result(std::span<uint8_t> out) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base58_encode
      Src: /src/botan/src/lib/codec/base58/base58.h:47,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/codec/base58/base58.h:47,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/codec/base58/base58.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::base58_encode
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.h
    functionUses: 4
    functionsReached:
    - std::span<const uint8_t>::size
    - Botan::base58_encode
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: std::string
    signature: std::string base58_encode(std::span<const uint8_t> vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base58_check_encode
      Src: /src/botan/src/lib/codec/base58/base58.h:51,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/codec/base58/base58.h:51,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/codec/base58/base58.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::base58_check_encode
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.h
    functionUses: 4
    functionsReached:
    - Botan::base58_check_encode
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: std::string
    signature: std::string base58_check_encode(std::span<const uint8_t> vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base58_decode
      Src: /src/botan/src/lib/codec/base58/base58.h:55,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/base58/base58.h:55,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/codec/base58/base58.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Botan::base58_decode
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.h
    functionUses: 3
    functionsReached:
    - Botan::base58_decode
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> base58_decode(std::string_view s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base58_check_decode
      Src: /src/botan/src/lib/codec/base58/base58.h:59,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/base58/base58.h:59,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/codec/base58/base58.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: Botan::base58_check_decode
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.h
    functionUses: 3
    functionsReached:
    - std::string_view::size
    - std::string_view::data
    - Botan::base58_check_decode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> base58_check_decode(std::string_view s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/codec/base58/base58.cpp:21,1
    - Dst: auto::update
      Src: /src/botan/src/lib/codec/base58/base58.cpp:25,1
    - Dst: auto::final
      Src: /src/botan/src/lib/codec/base58/base58.cpp:26,1
    - Dst: auto::update
      Src: /src/botan/src/lib/codec/base58/base58.cpp:28,1
    - Dst: auto::final
      Src: /src/botan/src/lib/codec/base58/base58.cpp:29,1
    - Dst: Botan::load_be
      Src: /src/botan/src/lib/codec/base58/base58.cpp:31,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/codec/base58/base58.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: Botan::sha256_d_checksum
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.cpp
    functionUses: 0
    functionsReached:
    - auto::final
    - Botan::HashFunction::create_or_throw
    - auto::update
    - Botan::load_be
    - std::vector::data
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sha256_d_checksum(const uint8_t input[], size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/codec/base58/base58.cpp:36,1
    - Dst: Botan::CT::Mask::is_lte
      Src: /src/botan/src/lib/codec/base58/base58.cpp:38,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base58/base58.cpp:39,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base58/base58.cpp:40,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base58/base58.cpp:41,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base58/base58.cpp:42,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:53,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:54,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:55,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:56,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: Botan::lookup_base58_char
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - auto::select
    - Botan::CT::Mask::is_within_range
    - Botan::CT::Mask::is_lte
    linkageType: ''
    returnType: char
    signature: char lookup_base58_char(uint8_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInt::is_nonzero
      Src: /src/botan/src/lib/codec/base58/base58.cpp:68,1
    - Dst: Botan::ct_divide_word
      Src: /src/botan/src/lib/codec/base58/base58.cpp:70,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/codec/base58/base58.cpp:71,1
    - Dst: Botan::lookup_base58_char
      Src: /src/botan/src/lib/codec/base58/base58.cpp:71,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/codec/base58/base58.cpp:71,1
    - Dst: BigInt::swap
      Src: /src/botan/src/lib/codec/base58/base58.cpp:72,1
    - Dst: std::string::push_back
      Src: /src/botan/src/lib/codec/base58/base58.cpp:76,1
    - Dst: std::string
      Src: /src/botan/src/lib/codec/base58/base58.cpp:79,1
    - Dst: std::string::rbegin
      Src: /src/botan/src/lib/codec/base58/base58.cpp:79,1
    - Dst: std::string::rend
      Src: /src/botan/src/lib/codec/base58/base58.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - v
    - leading_zeros
    argTypes:
    - BigInt
    - size_t
    constantsTouched: []
    func_position:
      end: 80
      start: 62
    functionDepth: 6
    functionLinenumber: 62
    functionLinenumberEnd: 80
    functionName: Botan::base58_encode
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.cpp
    functionUses: 4
    functionsReached:
    - Botan::lookup_base58_char
    - Botan::ct_divide_word
    - std::string
    - std::string::rend
    - std::string::push_back
    - BigInt::is_nonzero
    - std::string::rbegin
    - BigInt::swap
    - static_cast<uint8_t>
    linkageType: ''
    returnType: std::string
    signature: std::string base58_encode(BigInt v, size_t leading_zeros)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - input
    - input_length
    - zero
    argTypes:
    - T[]
    - size_t
    - Z
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: Botan::count_leading_zeros
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t count_leading_zeros(const T input[], size_t input_length, Z
      zero)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base58/base58.cpp:98,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base58/base58.cpp:99,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base58/base58.cpp:100,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base58/base58.cpp:101,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base58/base58.cpp:103,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base58/base58.cpp:104,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:116,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:117,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:118,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:119,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:120,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base58/base58.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 123
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 123
    functionName: Botan::base58_value_of
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.cpp
    functionUses: 0
    functionsReached:
    - auto::select
    - Botan::CT::Mask::is_within_range
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t base58_value_of(char input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base58_encode
      Src: /src/botan/src/lib/codec/base58/base58.cpp:129,1
    - Dst: Botan::count_leading_zeros
      Src: /src/botan/src/lib/codec/base58/base58.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: Botan::base58_encode
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.cpp
    functionUses: 5
    functionsReached:
    - Botan::count_leading_zeros
    - Botan::base58_encode
    linkageType: ''
    returnType: std::string
    signature: std::string base58_encode(const uint8_t input[], size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sha256_d_checksum
      Src: /src/botan/src/lib/codec/base58/base58.cpp:135,1
    - Dst: Botan::base58_encode
      Src: /src/botan/src/lib/codec/base58/base58.cpp:136,1
    - Dst: Botan::count_leading_zeros
      Src: /src/botan/src/lib/codec/base58/base58.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 4
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: Botan::base58_check_encode
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.cpp
    functionUses: 4
    functionsReached:
    - Botan::count_leading_zeros
    - Botan::base58_encode
    - Botan::sha256_d_checksum
    linkageType: ''
    returnType: std::string
    signature: std::string base58_check_encode(const uint8_t input[], size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/codec/base58/base58.cpp:154,1
    - Dst: BigInt::serialize
      Src: /src/botan/src/lib/codec/base58/base58.cpp:161,1
    - Dst: BigInt::bytes
      Src: /src/botan/src/lib/codec/base58/base58.cpp:161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - char[]
    - size_t
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: Botan::base58_decode
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.cpp
    functionUses: 3
    functionsReached:
    - BigInt::serialize
    - Botan::Decoding_Error
    - BigInt::bytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> base58_decode(const char input[], size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base58_decode
      Src: /src/botan/src/lib/codec/base58/base58.cpp:165,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/codec/base58/base58.cpp:167,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/codec/base58/base58.cpp:168,1
    - Dst: Botan::Decoding_Error
      Src: /src/botan/src/lib/codec/base58/base58.cpp:175,1
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/codec/base58/base58.cpp:178,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/codec/base58/base58.cpp:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - char[]
    - size_t
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: Botan::base58_check_decode
    functionSourceFile: /src/botan/src/lib/codec/base58/base58.cpp
    functionUses: 3
    functionsReached:
    - Botan::base58_decode
    - Botan::Decoding_Error
    - std::vector::size
    - std::vector::resize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> base58_check_decode(const char input[], size_t
      input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::Base64::name
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::Base64::encoding_bytes_in
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t encoding_bytes_in() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::Base64::encoding_bytes_out
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t encoding_bytes_out() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::Base64::decoding_bytes_in
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t decoding_bytes_in() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::Base64::decoding_bytes_out
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t decoding_bytes_out() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::Base64::bits_consumed
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bits_consumed() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::Base64::remaining_bits_before_padding
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t remaining_bits_before_padding() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/botan/src/lib/codec/base64/base64.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::Base64::encode_max_output
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached:
    - round_up
    linkageType: ''
    returnType: size_t
    signature: size_t encode_max_output(size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/botan/src/lib/codec/base64/base64.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::Base64::decode_max_output
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached:
    - round_up
    linkageType: ''
    returnType: size_t
    signature: size_t decode_max_output(size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out_ptr
    - decode_buf
    argTypes:
    - uint8_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: Botan::Base64::decode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void decode(uint8_t* out_ptr, const uint8_t decode_buf[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - final_truncate
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: Botan::Base64::bytes_to_remove
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bytes_to_remove(size_t final_truncate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::swar_lt
      Src: /src/botan/src/lib/codec/base64/base64.cpp:85,1
    - Dst: Botan::swar_lt
      Src: /src/botan/src/lib/codec/base64/base64.cpp:86,1
    - Dst: Botan::swar_lt
      Src: /src/botan/src/lib/codec/base64/base64.cpp:87,1
    - Dst: Botan::swar_lt
      Src: /src/botan/src/lib/codec/base64/base64.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x32
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 91
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 91
    functionName: Botan::lookup_base64_chars
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached:
    - Botan::swar_lt
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t lookup_base64_chars(uint32_t x32)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base64/base64.cpp:104,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/codec/base64/base64.cpp:104,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base64/base64.cpp:105,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/codec/base64/base64.cpp:105,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base64/base64.cpp:106,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/codec/base64/base64.cpp:106,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base64/base64.cpp:107,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/codec/base64/base64.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - char[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: Botan::Base64::encode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached:
    - get_byte<0>
    - get_byte<1>
    - get_byte<3>
    - static_cast<char>
    - get_byte<2>
    linkageType: ''
    returnType: void
    signature: void Base64::encode(char out[4], const uint8_t in[3]) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: swar_in_range<uint64_t>
      Src: /src/botan/src/lib/codec/base64/base64.cpp:131,1
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/codec/base64/base64.cpp:145,1
    - Dst: index_of_first_set_byte
      Src: /src/botan/src/lib/codec/base64/base64.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 146
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 146
    functionName: Botan::Base64::lookup_binary_value
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached:
    - index_of_first_set_byte
    - static_cast<uint8_t>
    - swar_in_range<uint64_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Base64::lookup_binary_value(char input) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/codec/base64/base64.cpp:153,1
    - Dst: fmt
      Src: /src/botan/src/lib/codec/base64/base64.cpp:153,1
    - Dst: format_char_for_display
      Src: /src/botan/src/lib/codec/base64/base64.cpp:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - bin
    - input
    - ignore_ws
    argTypes:
    - uint8_t
    - char
    - bool
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: Botan::Base64::check_bad_char
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached:
    - format_char_for_display
    - Invalid_Argument
    - fmt
    linkageType: ''
    returnType: bool
    signature: bool Base64::check_bad_char(uint8_t bin, char input, bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_encode
      Src: /src/botan/src/lib/codec/base64/base64.cpp:161,1
    - Dst: Base64
      Src: /src/botan/src/lib/codec/base64/base64.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - in
    - input_length
    - ' input_consumed'
    - final_inputs
    argTypes:
    - char[]
    - uint8_t[]
    - size_t
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 4
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: Botan::base64_encode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 9
    functionsReached:
    - Botan::base_encode
    - Base64
    linkageType: ''
    returnType: size_t
    signature: size_t base64_encode(char out[], const uint8_t in[], size_t input_length,
      size_t& input_consumed, bool final_inputs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_encode_to_string
      Src: /src/botan/src/lib/codec/base64/base64.cpp:165,1
    - Dst: Base64
      Src: /src/botan/src/lib/codec/base64/base64.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 5
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: Botan::base64_encode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 9
    functionsReached:
    - Base64
    - Botan::base_encode_to_string
    linkageType: ''
    returnType: std::string
    signature: std::string base64_encode(const uint8_t input[], size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_decode
      Src: /src/botan/src/lib/codec/base64/base64.cpp:170,1
    - Dst: Base64
      Src: /src/botan/src/lib/codec/base64/base64.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - out
    - in
    - input_length
    - ' input_consumed'
    - final_inputs
    - ignore_ws
    argTypes:
    - uint8_t[]
    - char[]
    - size_t
    - size_t
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: Botan::base64_decode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 11
    functionsReached:
    - Botan::base_decode
    - Base64
    linkageType: ''
    returnType: size_t
    signature: "size_t base64_decode(\n   uint8_t out[], const char in[], size_t input_length,
      size_t& input_consumed, bool final_inputs, bool ignore_ws)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_decode_full
      Src: /src/botan/src/lib/codec/base64/base64.cpp:174,1
    - Dst: Base64
      Src: /src/botan/src/lib/codec/base64/base64.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - output
    - input
    - input_length
    - ignore_ws
    argTypes:
    - uint8_t[]
    - char[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: Botan::base64_decode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 11
    functionsReached:
    - Base64
    - Botan::base_decode_full
    linkageType: ''
    returnType: size_t
    signature: size_t base64_decode(uint8_t output[], const char input[], size_t input_length,
      bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base64_decode
      Src: /src/botan/src/lib/codec/base64/base64.cpp:178,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/base64/base64.cpp:178,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/codec/base64/base64.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - output
    - input
    - ignore_ws
    argTypes:
    - uint8_t[]
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: Botan::base64_decode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 12
    functionsReached:
    - std::string_view::length
    - std::string_view::data
    - Botan::base64_decode
    linkageType: ''
    returnType: size_t
    signature: size_t base64_decode(uint8_t output[], std::string_view input, bool
      ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/lib/codec/base64/base64.cpp:182,1
    - Dst: Botan::base64_decode_max_output
      Src: /src/botan/src/lib/codec/base64/base64.cpp:182,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/codec/base64/base64.cpp:182,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/codec/base64/base64.cpp:183,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/lib/codec/base64/base64.cpp:185,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/codec/base64/base64.cpp:185,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/base64/base64.cpp:185,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/codec/base64/base64.cpp:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - output
    - input
    - ignore_ws
    argTypes:
    - std::span<uint8_t>
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: Botan::base64_decode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 13
    functionsReached:
    - std::span<uint8_t>::size
    - Botan::base64_decode_max_output
    - Botan::base64_decode
    - std::span<uint8_t>::data
    - std::string_view::size
    - std::string_view::length
    - Invalid_Argument
    - std::string_view::data
    linkageType: ''
    returnType: size_t
    signature: size_t base64_decode(std::span<uint8_t> output, std::string_view input,
      bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_decode_to_vec
      Src: /src/botan/src/lib/codec/base64/base64.cpp:189,1
    - Dst: Base64
      Src: /src/botan/src/lib/codec/base64/base64.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - input_length
    - ignore_ws
    argTypes:
    - char[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: Botan::base64_decode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 13
    functionsReached:
    - Botan::base_decode_to_vec
    - Base64
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> base64_decode(const char input[], size_t input_length,
      bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base64_decode
      Src: /src/botan/src/lib/codec/base64/base64.cpp:193,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/base64/base64.cpp:193,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/codec/base64/base64.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - ignore_ws
    argTypes:
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: Botan::base64_decode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 14
    functionsReached:
    - std::string_view::size
    - std::string_view::data
    - Botan::base64_decode
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> base64_decode(std::string_view input, bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Base64::encode_max_output
      Src: /src/botan/src/lib/codec/base64/base64.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: Botan::base64_encode_max_output
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 0
    functionsReached:
    - Botan::Base64::encode_max_output
    linkageType: ''
    returnType: size_t
    signature: size_t base64_encode_max_output(size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Base64::decode_max_output
      Src: /src/botan/src/lib/codec/base64/base64.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: Botan::base64_decode_max_output
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.cpp
    functionUses: 2
    functionsReached:
    - Botan::Base64::decode_max_output
    linkageType: ''
    returnType: size_t
    signature: size_t base64_decode_max_output(size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base64_encode
      Src: /src/botan/src/lib/codec/base64/base64.h:48,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/codec/base64/base64.h:48,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/codec/base64/base64.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::base64_encode
    functionSourceFile: /src/botan/src/lib/codec/base64/base64.h
    functionUses: 10
    functionsReached:
    - Botan::base64_encode
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: std::string
    signature: std::string base64_encode(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::Base32::name
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::Base32::encoding_bytes_in
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t encoding_bytes_in() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Botan::Base32::encoding_bytes_out
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t encoding_bytes_out() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::Base32::decoding_bytes_in
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t decoding_bytes_in() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::Base32::decoding_bytes_out
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t decoding_bytes_out() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::Base32::bits_consumed
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bits_consumed() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::Base32::remaining_bits_before_padding
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t remaining_bits_before_padding() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/botan/src/lib/codec/base32/base32.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Botan::Base32::encode_max_output
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached:
    - round_up
    linkageType: ''
    returnType: size_t
    signature: size_t encode_max_output(size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: round_up
      Src: /src/botan/src/lib/codec/base32/base32.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::Base32::decode_max_output
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached:
    - round_up
    linkageType: ''
    returnType: size_t
    signature: size_t decode_max_output(size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out_ptr
    - decode_buf
    argTypes:
    - uint8_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: Botan::Base32::decode
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void decode(uint8_t* out_ptr, const uint8_t decode_buf[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - final_truncate
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Botan::Base32::bytes_to_remove
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bytes_to_remove(size_t final_truncate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::swar_lt
      Src: /src/botan/src/lib/codec/base32/base32.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: Botan::lookup_base32_char
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached:
    - Botan::swar_lt
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t lookup_base32_char(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lookup_base32_char
      Src: /src/botan/src/lib/codec/base32/base32.cpp:94,1
    - Dst: make_uint64
      Src: /src/botan/src/lib/codec/base32/base32.cpp:94,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:96,1
    - Dst: get_byte<0>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:96,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:97,1
    - Dst: get_byte<1>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:97,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:98,1
    - Dst: get_byte<2>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:98,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:99,1
    - Dst: get_byte<3>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:99,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:100,1
    - Dst: get_byte<4>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:100,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:101,1
    - Dst: get_byte<5>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:101,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:102,1
    - Dst: get_byte<6>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:102,1
    - Dst: static_cast<char>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:103,1
    - Dst: get_byte<7>
      Src: /src/botan/src/lib/codec/base32/base32.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - char[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 104
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 104
    functionName: Botan::Base32::encode
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached:
    - get_byte<4>
    - get_byte<7>
    - get_byte<6>
    - get_byte<0>
    - lookup_base32_char
    - get_byte<1>
    - make_uint64
    - get_byte<3>
    - static_cast<char>
    - get_byte<2>
    - get_byte<5>
    linkageType: ''
    returnType: void
    signature: void Base32::encode(char out[8], const uint8_t in[5]) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base32/base32.cpp:110,1
    - Dst: Botan::CT::Mask::is_within_range
      Src: /src/botan/src/lib/codec/base32/base32.cpp:111,1
    - Dst: Botan::BigInt::is_equal
      Src: /src/botan/src/lib/codec/base32/base32.cpp:113,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/botan/src/lib/codec/base32/base32.cpp:115,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base32/base32.cpp:122,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base32/base32.cpp:123,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base32/base32.cpp:124,1
    - Dst: auto::select
      Src: /src/botan/src/lib/codec/base32/base32.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 128
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 128
    functionName: Botan::Base32::lookup_binary_value
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached:
    - auto::select
    - Botan::CT::Mask::is_within_range
    - Botan::CT::Mask::is_any_of
    - Botan::BigInt::is_equal
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Base32::lookup_binary_value(char input) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/codec/base32/base32.cpp:135,1
    - Dst: fmt
      Src: /src/botan/src/lib/codec/base32/base32.cpp:135,1
    - Dst: format_char_for_display
      Src: /src/botan/src/lib/codec/base32/base32.cpp:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - bin
    - input
    - ignore_ws
    argTypes:
    - uint8_t
    - char
    - bool
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: Botan::Base32::check_bad_char
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached:
    - format_char_for_display
    - Invalid_Argument
    - fmt
    linkageType: ''
    returnType: bool
    signature: bool Base32::check_bad_char(uint8_t bin, char input, bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_encode
      Src: /src/botan/src/lib/codec/base32/base32.cpp:143,1
    - Dst: Base32
      Src: /src/botan/src/lib/codec/base32/base32.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - in
    - input_length
    - ' input_consumed'
    - final_inputs
    argTypes:
    - char[]
    - uint8_t[]
    - size_t
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 4
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: Botan::base32_encode
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 3
    functionsReached:
    - Botan::base_encode
    - Base32
    linkageType: ''
    returnType: size_t
    signature: size_t base32_encode(char out[], const uint8_t in[], size_t input_length,
      size_t& input_consumed, bool final_inputs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_encode_to_string
      Src: /src/botan/src/lib/codec/base32/base32.cpp:147,1
    - Dst: Base32
      Src: /src/botan/src/lib/codec/base32/base32.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 5
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: Botan::base32_encode
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 3
    functionsReached:
    - Base32
    - Botan::base_encode_to_string
    linkageType: ''
    returnType: std::string
    signature: std::string base32_encode(const uint8_t input[], size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_decode
      Src: /src/botan/src/lib/codec/base32/base32.cpp:152,1
    - Dst: Base32
      Src: /src/botan/src/lib/codec/base32/base32.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - out
    - in
    - input_length
    - ' input_consumed'
    - final_inputs
    - ignore_ws
    argTypes:
    - uint8_t[]
    - char[]
    - size_t
    - size_t
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: Botan::base32_decode
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 4
    functionsReached:
    - Botan::base_decode
    - Base32
    linkageType: ''
    returnType: size_t
    signature: "size_t base32_decode(\n   uint8_t out[], const char in[], size_t input_length,
      size_t& input_consumed, bool final_inputs, bool ignore_ws)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_decode_full
      Src: /src/botan/src/lib/codec/base32/base32.cpp:156,1
    - Dst: Base32
      Src: /src/botan/src/lib/codec/base32/base32.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - output
    - input
    - input_length
    - ignore_ws
    argTypes:
    - uint8_t[]
    - char[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: Botan::base32_decode
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 4
    functionsReached:
    - Base32
    - Botan::base_decode_full
    linkageType: ''
    returnType: size_t
    signature: size_t base32_decode(uint8_t output[], const char input[], size_t input_length,
      bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base32_decode
      Src: /src/botan/src/lib/codec/base32/base32.cpp:160,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/base32/base32.cpp:160,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/codec/base32/base32.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - output
    - input
    - ignore_ws
    argTypes:
    - uint8_t[]
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: Botan::base32_decode
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 5
    functionsReached:
    - std::string_view::length
    - Botan::base32_decode
    - std::string_view::data
    linkageType: ''
    returnType: size_t
    signature: size_t base32_decode(uint8_t output[], std::string_view input, bool
      ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base_decode_to_vec
      Src: /src/botan/src/lib/codec/base32/base32.cpp:164,1
    - Dst: Base32
      Src: /src/botan/src/lib/codec/base32/base32.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - input_length
    - ignore_ws
    argTypes:
    - char[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: Botan::base32_decode
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 5
    functionsReached:
    - Botan::base_decode_to_vec
    - Base32
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> base32_decode(const char input[], size_t input_length,
      bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base32_decode
      Src: /src/botan/src/lib/codec/base32/base32.cpp:168,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/base32/base32.cpp:168,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/codec/base32/base32.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - ignore_ws
    argTypes:
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: Botan::base32_decode
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 6
    functionsReached:
    - Botan::base32_decode
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> base32_decode(std::string_view input, bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Base32::encode_max_output
      Src: /src/botan/src/lib/codec/base32/base32.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: Botan::base32_encode_max_output
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached:
    - Botan::Base32::encode_max_output
    linkageType: ''
    returnType: size_t
    signature: size_t base32_encode_max_output(size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Base32::decode_max_output
      Src: /src/botan/src/lib/codec/base32/base32.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: Botan::base32_decode_max_output
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.cpp
    functionUses: 0
    functionsReached:
    - Botan::Base32::decode_max_output
    linkageType: ''
    returnType: size_t
    signature: size_t base32_decode_max_output(size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::base32_encode
      Src: /src/botan/src/lib/codec/base32/base32.h:48,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/codec/base32/base32.h:48,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/codec/base32/base32.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::base32_encode
    functionSourceFile: /src/botan/src/lib/codec/base32/base32.h
    functionUses: 4
    functionsReached:
    - Botan::base32_encode
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: std::string
    signature: std::string base32_encode(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_encode
      Src: /src/botan/src/lib/codec/hex/hex.h:44,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/codec/hex/hex.h:44,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/codec/hex/hex.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Botan::hex_encode
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.h
    functionUses: 47
    functionsReached:
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    - Botan::hex_encode
    linkageType: ''
    returnType: std::string
    signature: std::string hex_encode(std::span<const uint8_t> input, bool uppercase
      = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n8
    - uppercase
    argTypes:
    - uint8_t
    - bool
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: Botan::hex_encode_2nibble
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t hex_encode_2nibble(uint8_t n8, bool uppercase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/codec/hex/hex.cpp:38,1
    - Dst: Botan::get_byte
      Src: /src/botan/src/lib/codec/hex/hex.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - output
    - input
    - input_length
    - uppercase
    argTypes:
    - char[]
    - uint8_t[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: Botan::hex_encode
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 47
    functionsReached:
    - Botan::get_byte
    linkageType: ''
    returnType: void
    signature: void hex_encode(char output[], const uint8_t input[], size_t input_length,
      bool uppercase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_encode
      Src: /src/botan/src/lib/codec/hex/hex.cpp:47,1
    - Dst: std::string::front
      Src: /src/botan/src/lib/codec/hex/hex.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - input
    - input_length
    - uppercase
    argTypes:
    - uint8_t[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: Botan::hex_encode
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 48
    functionsReached:
    - std::string::front
    - Botan::hex_encode
    linkageType: ''
    returnType: std::string
    signature: std::string hex_encode(const uint8_t input[], size_t input_length,
      bool uppercase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/botan/src/lib/codec/hex/hex.cpp:68,1
    - Dst: Botan::index_of_first_set_byte
      Src: /src/botan/src/lib/codec/hex/hex.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: Botan::hex_char_to_bin
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - Botan::index_of_first_set_byte
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t hex_char_to_bin(char input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/codec/hex/hex.cpp:77,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/codec/hex/hex.cpp:87,1
    - Dst: Botan::fmt
      Src: /src/botan/src/lib/codec/hex/hex.cpp:87,1
    - Dst: Botan::format_char_for_display
      Src: /src/botan/src/lib/codec/hex/hex.cpp:87,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - output
    - input
    - input_length
    - ' input_consumed'
    - ignore_ws
    argTypes:
    - uint8_t[]
    - char[]
    - size_t
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 115
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 115
    functionName: Botan::hex_decode
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 94
    functionsReached:
    - Botan::format_char_for_display
    - Invalid_Argument
    - Botan::clear_mem
    - Botan::fmt
    linkageType: ''
    returnType: size_t
    signature: size_t hex_decode(uint8_t output[], const char input[], size_t input_length,
      size_t& input_consumed, bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/codec/hex/hex.cpp:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - output
    - input
    - input_length
    - ignore_ws
    argTypes:
    - uint8_t[]
    - char[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: Botan::hex_decode
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 94
    functionsReached:
    - Invalid_Argument
    linkageType: ''
    returnType: size_t
    signature: size_t hex_decode(uint8_t output[], const char input[], size_t input_length,
      bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/lib/codec/hex/hex.cpp:129,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/hex/hex.cpp:129,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/codec/hex/hex.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - output
    - input
    - ignore_ws
    argTypes:
    - uint8_t[]
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Botan::hex_decode
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 95
    functionsReached:
    - std::string_view::length
    - std::string_view::data
    - Botan::hex_decode
    linkageType: ''
    returnType: size_t
    signature: size_t hex_decode(uint8_t output[], std::string_view input, bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/lib/codec/hex/hex.cpp:133,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/lib/codec/hex/hex.cpp:133,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/hex/hex.cpp:133,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/codec/hex/hex.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - output
    - input
    - ignore_ws
    argTypes:
    - std::span<uint8_t>
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: Botan::hex_decode
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 96
    functionsReached:
    - std::string_view::length
    - std::string_view::data
    - Botan::hex_decode
    - std::span<uint8_t>::data
    linkageType: ''
    returnType: size_t
    signature: size_t hex_decode(std::span<uint8_t> output, std::string_view input,
      bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/codec/hex/hex.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - input
    - input_length
    - ignore_ws
    argTypes:
    - char[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: Botan::hex_decode_locked
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 26
    functionsReached:
    - secure_vector::resize
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> hex_decode_locked(const char input[], size_t
      input_length, bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/lib/codec/hex/hex.cpp:146,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/hex/hex.cpp:146,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/codec/hex/hex.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - ignore_ws
    argTypes:
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: Botan::hex_decode_locked
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 27
    functionsReached:
    - Botan::hex_decode_locked
    - std::string_view::size
    - std::string_view::data
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> hex_decode_locked(std::string_view input, bool
      ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/botan/src/lib/codec/hex/hex.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - input
    - input_length
    - ignore_ws
    argTypes:
    - char[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: Botan::hex_decode
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 96
    functionsReached:
    - std::vector::resize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> hex_decode(const char input[], size_t input_length,
      bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/lib/codec/hex/hex.cpp:159,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/codec/hex/hex.cpp:159,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/codec/hex/hex.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - ignore_ws
    argTypes:
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: Botan::hex_decode
    functionSourceFile: /src/botan/src/lib/codec/hex/hex.cpp
    functionUses: 97
    functionsReached:
    - std::string_view::data
    - std::string_view::size
    - Botan::hex_decode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> hex_decode(std::string_view input, bool ignore_ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::empty
      Src: /src/botan/src/lib/xof/xof.cpp:27,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/xof/xof.cpp:32,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/xof/xof.cpp:32,1
    - Dst: std::make_unique<SHAKE_128_XOF>
      Src: /src/botan/src/lib/xof/xof.cpp:33,1
    - Dst: SCAN_Name::algo_name
      Src: /src/botan/src/lib/xof/xof.cpp:35,1
    - Dst: SCAN_Name::arg_count
      Src: /src/botan/src/lib/xof/xof.cpp:35,1
    - Dst: std::make_unique<SHAKE_256_XOF>
      Src: /src/botan/src/lib/xof/xof.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - algo_spec
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 41
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 41
    functionName: Botan::XOF::create
    functionSourceFile: /src/botan/src/lib/xof/xof.cpp
    functionUses: 2
    functionsReached:
    - SCAN_Name::algo_name
    - std::make_unique<SHAKE_128_XOF>
    - SCAN_Name::arg_count
    - std::make_unique<SHAKE_256_XOF>
    - std::string_view::empty
    linkageType: ''
    returnType: std::unique_ptr<XOF>
    signature: std::unique_ptr<XOF> XOF::create(std::string_view algo_spec, std::string_view
      provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::XOF::create
      Src: /src/botan/src/lib/xof/xof.cpp:45,1
    - Dst: Lookup_Error
      Src: /src/botan/src/lib/xof/xof.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - algo_spec
    - provider
    argTypes:
    - std::string_view
    - std::string_view
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: Botan::XOF::create_or_throw
    functionSourceFile: /src/botan/src/lib/xof/xof.cpp
    functionUses: 7
    functionsReached:
    - Lookup_Error
    - Botan::XOF::create
    linkageType: ''
    returnType: std::unique_ptr<XOF>
    signature: std::unique_ptr<XOF> XOF::create_or_throw(std::string_view algo_spec,
      std::string_view provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: probe_providers_of<XOF>
      Src: /src/botan/src/lib/xof/xof.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo_spec
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Botan::XOF::providers
    functionSourceFile: /src/botan/src/lib/xof/xof.cpp
    functionUses: 3
    functionsReached:
    - probe_providers_of<XOF>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> XOF::providers(std::string_view algo_spec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::XOF::provider
    functionSourceFile: /src/botan/src/lib/xof/xof.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string XOF::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_spec
      Src: /src/botan/src/lib/xof/xof.cpp:61,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/xof/xof.cpp:61,1
    - Dst: Invalid_Key_Length
      Src: /src/botan/src/lib/xof/xof.cpp:62,1
    - Dst: name
      Src: /src/botan/src/lib/xof/xof.cpp:62,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/xof/xof.cpp:62,1
    - Dst: valid_salt_length
      Src: /src/botan/src/lib/xof/xof.cpp:65,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/xof/xof.cpp:65,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/xof/xof.cpp:66,1
    - Dst: fmt
      Src: /src/botan/src/lib/xof/xof.cpp:66,1
    - Dst: name
      Src: /src/botan/src/lib/xof/xof.cpp:66,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/xof/xof.cpp:66,1
    - Dst: Botan::XOF::start_msg
      Src: /src/botan/src/lib/xof/xof.cpp:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - salt
    - key
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: Botan::XOF::start
    functionSourceFile: /src/botan/src/lib/xof/xof.cpp
    functionUses: 0
    functionsReached:
    - name
    - Botan::XOF::start_msg
    - fmt
    - key_spec
    - valid_salt_length
    - std::span<const uint8_t>::size
    - Invalid_Argument
    - Invalid_Key_Length
    linkageType: ''
    returnType: void
    signature: void XOF::start(std::span<const uint8_t> salt, std::span<const uint8_t>
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/xof/xof.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - salt
    - key
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: Botan::XOF::start_msg
    functionSourceFile: /src/botan/src/lib/xof/xof.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: void
    signature: void XOF::start_msg(std::span<const uint8_t> salt, std::span<const
      uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/xof/xof.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: Botan::clear
    functionSourceFile: /src/botan/src/lib/xof/xof.h
    functionUses: 10
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - salt_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: Botan::valid_salt_length
    functionSourceFile: /src/botan/src/lib/xof/xof.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_salt_length(size_t salt_len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key_Length_Specification
      Src: /src/botan/src/lib/xof/xof.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: Botan::key_spec
    functionSourceFile: /src/botan/src/lib/xof/xof.h
    functionUses: 3
    functionsReached:
    - Key_Length_Specification
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::start
      Src: /src/botan/src/lib/xof/xof.h:146,1
    - Dst: add_data
      Src: /src/botan/src/lib/xof/xof.h:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: Botan::update
    functionSourceFile: /src/botan/src/lib/xof/xof.h
    functionUses: 26
    functionsReached:
    - Botan::start
    - add_data
    linkageType: ''
    returnType: void
    signature: void update(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_bytes
      Src: /src/botan/src/lib/xof/xof.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: Botan::output
    functionSourceFile: /src/botan/src/lib/xof/xof.h
    functionUses: 2
    functionsReached:
    - generate_bytes
    linkageType: ''
    returnType: T
    signature: T output(size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_bytes
      Src: /src/botan/src/lib/xof/xof.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: Botan::output
    functionSourceFile: /src/botan/src/lib/xof/xof.h
    functionUses: 2
    functionsReached:
    - generate_bytes
    linkageType: ''
    returnType: std::array<uint8_t, count>
    signature: std::array<uint8_t, count> output()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::output
      Src: /src/botan/src/lib/xof/xof.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: Botan::output_stdvec
    functionSourceFile: /src/botan/src/lib/xof/xof.h
    functionUses: 0
    functionsReached:
    - Botan::output
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> output_stdvec(size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_bytes
      Src: /src/botan/src/lib/xof/xof.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: Botan::output
    functionSourceFile: /src/botan/src/lib/xof/xof.h
    functionUses: 3
    functionsReached:
    - generate_bytes
    linkageType: ''
    returnType: void
    signature: void output(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_bytes
      Src: /src/botan/src/lib/xof/xof.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: Botan::output_next_byte
    functionSourceFile: /src/botan/src/lib/xof/xof.h
    functionUses: 0
    functionsReached:
    - generate_bytes
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t output_next_byte()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AES_256_CTR_XOF
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.h:28,1
    - Dst: std::make_unique<AES_256_CTR_XOF>
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 65
    functionName: Botan::AES_256_CTR_XOF
    functionSourceFile: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.h
    functionUses: 1
    functionsReached:
    - std::make_unique<AES_256_CTR_XOF>
    - Botan::AES_256_CTR_XOF
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API AES_256_CTR_XOF
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:17,1
    - Dst: name
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 3
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: Botan::AES_256_CTR_XOF::AES_256_CTR_XOF
    functionSourceFile: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp
    functionUses: 1
    functionsReached:
    - name
    - Botan::StreamCipher::create_or_throw
    linkageType: ''
    returnType: void
    signature: void AES_256_CTR_XOF::AES_256_CTR_XOF()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: AES_256_CTR_XOF::~AES_256_CTR_XOF()
    functionSourceFile: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AES_256_CTR_XOF::~AES_256_CTR_XOF()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Botan::AES_256_CTR_XOF::reset
    functionSourceFile: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void AES_256_CTR_XOF::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:26,1
    - Dst: set_iv
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iv
    - key
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Botan::AES_256_CTR_XOF::start_msg
    functionSourceFile: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp
    functionUses: 0
    functionsReached:
    - set_key
    - set_iv
    linkageType: ''
    returnType: void
    signature: void AES_256_CTR_XOF::start_msg(std::span<const uint8_t> iv, std::span<const
      uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: valid_iv_length
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iv_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Botan::AES_256_CTR_XOF::valid_salt_length
    functionSourceFile: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp
    functionUses: 0
    functionsReached:
    - valid_iv_length
    linkageType: ''
    returnType: bool
    signature: bool AES_256_CTR_XOF::valid_salt_length(size_t iv_length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AES_256_CTR_XOF::key_spec
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Botan::AES_256_CTR_XOF::key_spec
    functionSourceFile: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp
    functionUses: 1
    functionsReached:
    - Botan::AES_256_CTR_XOF::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification AES_256_CTR_XOF::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:39,1
    - Dst: fmt
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:39,1
    - Dst: name
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::AES_256_CTR_XOF::copy_state
    functionSourceFile: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp
    functionUses: 0
    functionsReached:
    - fmt
    - name
    - Not_Implemented
    linkageType: ''
    returnType: std::unique_ptr<XOF>
    signature: std::unique_ptr<XOF> AES_256_CTR_XOF::copy_state() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:43,1
    - Dst: Not_Implemented
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:44,1
    - Dst: fmt
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:44,1
    - Dst: name
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: Botan::AES_256_CTR_XOF::add_data
    functionSourceFile: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::empty
    - name
    - fmt
    - Not_Implemented
    linkageType: ''
    returnType: void
    signature: void AES_256_CTR_XOF::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_keystream
      Src: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Botan::AES_256_CTR_XOF::generate_bytes
    functionSourceFile: /src/botan/src/lib/xof/aes_crystals_xof/aes_crystals_xof.cpp
    functionUses: 0
    functionsReached:
    - write_keystream
    linkageType: ''
    returnType: void
    signature: void AES_256_CTR_XOF::generate_bytes(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::cSHAKE_XOF
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 62
    functionName: Botan::cSHAKE_XOF
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h
    functionUses: 1
    functionsReached:
    - Botan::cSHAKE_XOF
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API cSHAKE_XOF
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::cSHAKE_128_XOF
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:70,1
    - Dst: Botan::cSHAKE_XOF
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:70,1
    - Dst: std::move
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:70,1
    - Dst: std::make_unique<cSHAKE_128_XOF>
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:78,1
    - Dst: std::make_unique<cSHAKE_128_XOF>
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:80,1
    - Dst: function_name
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: Botan::cSHAKE_128_XOF
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h
    functionUses: 1
    functionsReached:
    - Botan::cSHAKE_128_XOF
    - std::make_unique<cSHAKE_128_XOF>
    - Botan::cSHAKE_XOF
    - function_name
    - std::move
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API cSHAKE_128_XOF
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::cSHAKE_256_XOF
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:89,1
    - Dst: Botan::cSHAKE_XOF
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:89,1
    - Dst: std::move
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:89,1
    - Dst: std::make_unique<cSHAKE_256_XOF>
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:97,1
    - Dst: std::make_unique<cSHAKE_256_XOF>
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:99,1
    - Dst: function_name
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: Botan::cSHAKE_256_XOF
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.h
    functionUses: 1
    functionsReached:
    - std::make_unique<cSHAKE_256_XOF>
    - Botan::cSHAKE_XOF
    - function_name
    - std::move
    - Botan::cSHAKE_256_XOF
    linkageType: ''
    returnType: class BOTAN_TEST_API
    signature: class BOTAN_TEST_API cSHAKE_256_XOF
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:20,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - capacity
    - function_name
    argTypes:
    - size_t
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: Botan::cSHAKE_XOF::cSHAKE_XOF
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void cSHAKE_XOF::cSHAKE_XOF(size_t capacity, std::vector<uint8_t> function_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:25,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - capacity
    - function_name
    argTypes:
    - size_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: Botan::cSHAKE_XOF::cSHAKE_XOF
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: void cSHAKE_XOF::cSHAKE_XOF(size_t capacity, std::span<const uint8_t>
      function_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:29,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:29,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:30,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:30,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - capacity
    - function_name
    argTypes:
    - size_t
    - std::string_view
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: Botan::cSHAKE_XOF::cSHAKE_XOF
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::size
    - std::string_view::data
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: void
    signature: void cSHAKE_XOF::cSHAKE_XOF(size_t capacity, std::string_view function_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: Botan::cSHAKE_XOF::reset
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void cSHAKE_XOF::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::cSHAKE_XOF::provider
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Botan::cSHAKE_XOF::provider
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp
    functionUses: 1
    functionsReached:
    - Botan::cSHAKE_XOF::provider
    linkageType: ''
    returnType: std::string
    signature: std::string cSHAKE_XOF::provider() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: byte_rate
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Botan::cSHAKE_XOF::block_size
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp
    functionUses: 0
    functionsReached:
    - byte_rate
    linkageType: ''
    returnType: size_t
    signature: size_t cSHAKE_XOF::block_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - salt_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: Botan::cSHAKE_XOF::valid_salt_length
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool cSHAKE_XOF::valid_salt_length(size_t salt_length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:56,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:57,1
    - Dst: std::span<const uint8_t>::empty
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:57,1
    - Dst: keccak_absorb_padded_strings_encoding
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:58,1
    - Dst: Botan::cSHAKE_XOF::block_size
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - salt
    - key
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: Botan::cSHAKE_XOF::start_msg
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    - std::span<const uint8_t>::empty
    - BOTAN_STATE_CHECK
    - Botan::cSHAKE_XOF::block_size
    - keccak_absorb_padded_strings_encoding
    linkageType: ''
    returnType: void
    signature: void cSHAKE_XOF::start_msg(std::span<const uint8_t> salt, std::span<const
      uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:62,1
    - Dst: absorb
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: Botan::cSHAKE_XOF::add_data
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - absorb
    linkageType: ''
    returnType: void
    signature: void cSHAKE_XOF::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finish
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:69,1
    - Dst: squeeze
      Src: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: Botan::cSHAKE_XOF::generate_bytes
    functionSourceFile: /src/botan/src/lib/xof/cshake_xof/cshake_xof.cpp
    functionUses: 0
    functionsReached:
    - squeeze
    - finish
    linkageType: ''
    returnType: void
    signature: void cSHAKE_XOF::generate_bytes(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SHAKE_XOF::provider
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Botan::SHAKE_XOF::provider
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 1
    functionsReached:
    - Botan::SHAKE_XOF::provider
    linkageType: ''
    returnType: std::string
    signature: std::string provider() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: byte_rate
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan::SHAKE_XOF::block_size
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 0
    functionsReached:
    - byte_rate
    linkageType: ''
    returnType: size_t
    signature: size_t block_size() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Botan::SHAKE_XOF::accepts_input
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::SHAKE_128_XOF::SHAKE_128_XOF
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHAKE_128_XOF()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: Botan::SHAKE_128_XOF::name
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHAKE_128_XOF>
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: Botan::SHAKE_128_XOF::copy_state
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SHAKE_128_XOF>
    linkageType: ''
    returnType: std::unique_ptr<XOF>
    signature: std::unique_ptr<XOF> copy_state() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHAKE_128_XOF>
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan::SHAKE_128_XOF::new_object
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SHAKE_128_XOF>
    linkageType: ''
    returnType: std::unique_ptr<XOF>
    signature: std::unique_ptr<XOF> new_object() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Botan::SHAKE_256_XOF::SHAKE_256_XOF
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHAKE_256_XOF()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: Botan::SHAKE_256_XOF::name
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHAKE_256_XOF>
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Botan::SHAKE_256_XOF::copy_state
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SHAKE_256_XOF>
    linkageType: ''
    returnType: std::unique_ptr<XOF>
    signature: std::unique_ptr<XOF> copy_state() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SHAKE_256_XOF>
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: Botan::SHAKE_256_XOF::new_object
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.h
    functionUses: 0
    functionsReached:
    - std::make_unique<SHAKE_256_XOF>
    linkageType: ''
    returnType: std::unique_ptr<XOF>
    signature: std::unique_ptr<XOF> new_object() const final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.cpp:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: Botan::SHAKE_XOF::SHAKE_XOF
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: void
    signature: void SHAKE_XOF::SHAKE_XOF(size_t capacity)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: Botan::SHAKE_XOF::reset
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void SHAKE_XOF::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_STATE_CHECK
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.cpp:26,1
    - Dst: absorb
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Botan::SHAKE_XOF::add_data
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_STATE_CHECK
    - absorb
    linkageType: ''
    returnType: void
    signature: void SHAKE_XOF::add_data(std::span<const uint8_t> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finish
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.cpp:33,1
    - Dst: squeeze
      Src: /src/botan/src/lib/xof/shake_xof/shake_xof.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: Botan::SHAKE_XOF::generate_bytes
    functionSourceFile: /src/botan/src/lib/xof/shake_xof/shake_xof.cpp
    functionUses: 0
    functionsReached:
    - squeeze
    - finish
    linkageType: ''
    returnType: void
    signature: void SHAKE_XOF::generate_bytes(std::span<uint8_t> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/buf_filt.cpp:20,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/buf_filt.cpp:24,1
    - Dst: resize
      Src: /src/botan/src/lib/filters/buf_filt.cpp:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - b
    - f
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: Botan::Buffered_Filter::Buffered_Filter
    functionSourceFile: /src/botan/src/lib/filters/buf_filt.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - resize
    linkageType: ''
    returnType: void
    signature: void Buffered_Filter::Buffered_Filter(size_t b, size_t f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/buf_filt.cpp:42,1
    - Dst: buffered_block
      Src: /src/botan/src/lib/filters/buf_filt.cpp:53,1
    - Dst: data
      Src: /src/botan/src/lib/filters/buf_filt.cpp:53,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/buf_filt.cpp:57,1
    - Dst: data
      Src: /src/botan/src/lib/filters/buf_filt.cpp:57,1
    - Dst: data
      Src: /src/botan/src/lib/filters/buf_filt.cpp:57,1
    - Dst: buffered_block
      Src: /src/botan/src/lib/filters/buf_filt.cpp:65,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/buf_filt.cpp:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - input
    - input_size
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 74
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 74
    functionName: Botan::Buffered_Filter::write
    functionSourceFile: /src/botan/src/lib/filters/buf_filt.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - buffered_block
    - data
    linkageType: ''
    returnType: void
    signature: void Buffered_Filter::write(const uint8_t input[], size_t input_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/buf_filt.cpp:81,1
    - Dst: buffered_block
      Src: /src/botan/src/lib/filters/buf_filt.cpp:88,1
    - Dst: data
      Src: /src/botan/src/lib/filters/buf_filt.cpp:88,1
    - Dst: buffered_final
      Src: /src/botan/src/lib/filters/buf_filt.cpp:89,1
    - Dst: buffered_final
      Src: /src/botan/src/lib/filters/buf_filt.cpp:91,1
    - Dst: data
      Src: /src/botan/src/lib/filters/buf_filt.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: Botan::Buffered_Filter::end_msg
    functionSourceFile: /src/botan/src/lib/filters/buf_filt.cpp
    functionUses: 0
    functionsReached:
    - buffered_block
    - data
    - Invalid_State
    - buffered_final
    linkageType: ''
    returnType: void
    signature: void Buffered_Filter::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: good
      Src: /src/botan/src/lib/filters/pipe_io.cpp:21,1
    - Dst: remaining
      Src: /src/botan/src/lib/filters/pipe_io.cpp:21,1
    - Dst: write
      Src: /src/botan/src/lib/filters/pipe_io.cpp:23,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/filters/pipe_io.cpp:23,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/filters/pipe_io.cpp:23,1
    - Dst: good
      Src: /src/botan/src/lib/filters/pipe_io.cpp:25,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/filters/pipe_io.cpp:26,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ' stream'
    - ' pipe'
    argTypes:
    - std::ostream
    - Pipe
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: '& operator<<(std::ostream& stream, Pipe& pipe)'
    functionSourceFile: /src/botan/src/lib/filters/pipe_io.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - remaining
    - write
    - Stream_IO_Error
    - cast_uint8_ptr_to_char
    - good
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& stream, Pipe& pipe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: good
      Src: /src/botan/src/lib/filters/pipe_io.cpp:36,1
    - Dst: read
      Src: /src/botan/src/lib/filters/pipe_io.cpp:37,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/filters/pipe_io.cpp:37,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/filters/pipe_io.cpp:37,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/filters/pipe_io.cpp:37,1
    - Dst: write
      Src: /src/botan/src/lib/filters/pipe_io.cpp:39,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/filters/pipe_io.cpp:39,1
    - Dst: bad
      Src: /src/botan/src/lib/filters/pipe_io.cpp:41,1
    - Dst: fail
      Src: /src/botan/src/lib/filters/pipe_io.cpp:41,1
    - Dst: eof
      Src: /src/botan/src/lib/filters/pipe_io.cpp:41,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/filters/pipe_io.cpp:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ' stream'
    - ' pipe'
    argTypes:
    - std::istream
    - Pipe
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: '& operator>>(std::istream& stream, Pipe& pipe)'
    functionSourceFile: /src/botan/src/lib/filters/pipe_io.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - fail
    - secure_vector::size
    - read
    - bad
    - write
    - Stream_IO_Error
    - eof
    - cast_uint8_ptr_to_char
    - good
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& stream, Pipe& pipe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_Message_Number
      Src: /src/botan/src/lib/filters/pipe.h:46,1
    - Dst: Botan::write
      Src: /src/botan/src/lib/filters/pipe.h:70,1
    - Dst: data
      Src: /src/botan/src/lib/filters/pipe.h:70,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/filters/pipe.h:70,1
    - Dst: Botan::write
      Src: /src/botan/src/lib/filters/pipe.h:76,1
    - Dst: data
      Src: /src/botan/src/lib/filters/pipe.h:76,1
    - Dst: Botan::size
      Src: /src/botan/src/lib/filters/pipe.h:76,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/filters/pipe.h:269,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/filters/pipe.h:278,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/filters/pipe.h:283,1
    - Dst: BOTAN_DEPRECATED
      Src: /src/botan/src/lib/filters/pipe.h:288,1
    - Dst: Pipe
      Src: /src/botan/src/lib/filters/pipe.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 342
    functionName: Botan::DataSource
    functionSourceFile: /src/botan/src/lib/filters/pipe.h
    functionUses: 0
    functionsReached:
    - data
    - Pipe
    - BOTAN_DEPRECATED
    - Botan::write
    - Invalid_Message_Number
    - Botan::size
    linkageType: ''
    returnType: Pipe
    signature: Pipe DataSource
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:48,1
    - Dst: Threaded_Fork_Data::Threaded_Fork_Data
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:48,1
    - Dst: Botan::Threaded_Fork::set_next
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - f1
    - f2
    - f3
    - f4
    argTypes:
    - Filter*
    - Filter*
    - Filter*
    - Filter*
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: Botan::Threaded_Fork::Threaded_Fork
    functionSourceFile: /src/botan/src/lib/filters/threaded_fork.cpp
    functionUses: 1
    functionsReached:
    - Threaded_Fork_Data::Threaded_Fork_Data
    - static_cast<size_t>
    - Botan::Threaded_Fork::set_next
    linkageType: ''
    returnType: void
    signature: void Threaded_Fork::Threaded_Fork(Filter* f1, Filter* f2, Filter* f3,
      Filter* f4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:57,1
    - Dst: Threaded_Fork_Data::Threaded_Fork_Data
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:57,1
    - Dst: Botan::Threaded_Fork::set_next
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filters
    - count
    argTypes:
    - Filter*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: Botan::Threaded_Fork::Threaded_Fork
    functionSourceFile: /src/botan/src/lib/filters/threaded_fork.cpp
    functionUses: 1
    functionsReached:
    - Threaded_Fork_Data::Threaded_Fork_Data
    - static_cast<size_t>
    - Botan::Threaded_Fork::set_next
    linkageType: ''
    returnType: void
    signature: void Threaded_Fork::Threaded_Fork(Filter* filters[], size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_input_ready_semaphore::release
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:65,1
    - Dst: size
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:65,1
    - Dst: join
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: Threaded_Fork::~Threaded_Fork()
    functionSourceFile: /src/botan/src/lib/filters/threaded_fork.cpp
    functionUses: 0
    functionsReached:
    - join
    - size
    - m_input_ready_semaphore::release
    linkageType: ''
    returnType: void
    signature: void Threaded_Fork::~Threaded_Fork()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Botan::Threaded_Fork::name
    functionSourceFile: /src/botan/src/lib/filters/threaded_fork.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Threaded_Fork::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Threaded_Fork::set_next
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:77,1
    - Dst: size
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:78,1
    - Dst: size
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:80,1
    - Dst: resize
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:81,1
    - Dst: reserve
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:83,1
    - Dst: push_back
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:85,1
    - Dst: std::make_shared<std::thread>
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:85,1
    - Dst: std::bind
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - f
    - n
    argTypes:
    - Filter*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: Botan::Threaded_Fork::set_next
    functionSourceFile: /src/botan/src/lib/filters/threaded_fork.cpp
    functionUses: 3
    functionsReached:
    - reserve
    - std::bind
    - Botan::Threaded_Fork::set_next
    - std::make_shared<std::thread>
    - size
    - resize
    - push_back
    linkageType: ''
    returnType: void
    signature: void Threaded_Fork::set_next(Filter* f[], size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:91,1
    - Dst: Botan::Threaded_Fork::thread_delegate_work
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:92,1
    - Dst: data
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:92,1
    - Dst: size
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:92,1
    - Dst: Botan::Threaded_Fork::thread_delegate_work
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:94,1
    - Dst: total_ports
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:97,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:104,1
    - Dst: clear
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 108
    functionName: Botan::Threaded_Fork::send
    functionSourceFile: /src/botan/src/lib/filters/threaded_fork.cpp
    functionUses: 0
    functionsReached:
    - Botan::Threaded_Fork::thread_delegate_work
    - data
    - size
    - total_ports
    - clear
    - empty
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void Threaded_Fork::send(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_input_complete_barrier::wait
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:116,1
    - Dst: total_ports
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:116,1
    - Dst: m_input_ready_semaphore::release
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:117,1
    - Dst: total_ports
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:117,1
    - Dst: m_input_complete_barrier::sync
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: Botan::Threaded_Fork::thread_delegate_work
    functionSourceFile: /src/botan/src/lib/filters/threaded_fork.cpp
    functionUses: 1
    functionsReached:
    - m_input_complete_barrier::sync
    - m_input_ready_semaphore::release
    - m_input_complete_barrier::wait
    - total_ports
    linkageType: ''
    returnType: void
    signature: void Threaded_Fork::thread_delegate_work(const uint8_t input[], size_t
      length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: m_input_ready_semaphore::acquire
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:129,1
    - Dst: Filter*::write
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:135,1
    - Dst: m_input_complete_barrier::sync
      Src: /src/botan/src/lib/filters/threaded_fork.cpp:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - filter
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: Botan::Threaded_Fork::thread_entry
    functionSourceFile: /src/botan/src/lib/filters/threaded_fork.cpp
    functionUses: 0
    functionsReached:
    - m_input_complete_barrier::sync
    - Filter*::write
    - m_input_ready_semaphore::acquire
    linkageType: ''
    returnType: void
    signature: void Threaded_Fork::thread_entry(Filter* filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: default_msg
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:22,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:24,1
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:27,1
    - Dst: Invalid_Message_Number
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - func_name
    - msg
    argTypes:
    - std::string_view
    - message_id
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: Botan::Pipe::get_message_no
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 0
    functionsReached:
    - default_msg
    - Invalid_Message_Number
    - Botan::Pipe::message_count
    linkageType: ''
    returnType: Pipe::message_id
    signature: Pipe::message_id Pipe::get_message_no(std::string_view func_name, message_id
      msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:39,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: Botan::Pipe::write
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 7
    functionsReached:
    - Botan::Pipe::write
    - Invalid_State
    linkageType: ''
    returnType: void
    signature: void Pipe::write(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:48,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:48,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:48,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Botan::Pipe::write
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 8
    functionsReached:
    - Botan::Pipe::write
    - std::string_view::size
    - std::string_view::data
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: void
    signature: void Pipe::write(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Botan::Pipe::write
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 9
    functionsReached:
    - Botan::Pipe::write
    linkageType: ''
    returnType: void
    signature: void Pipe::write(uint8_t input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::end_of_data
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:63,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:65,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: Botan::Pipe::write
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 10
    functionsReached:
    - Botan::Pipe::write
    - secure_vector::data
    - Botan::Pipe::end_of_data
    linkageType: ''
    returnType: void
    signature: void Pipe::write(DataSource& source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::read
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:73,1
    - Dst: Botan::Pipe::get_message_no
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - output
    - length
    - msg
    argTypes:
    - uint8_t[]
    - size_t
    - message_id
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Botan::Pipe::read
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 2
    functionsReached:
    - Botan::Pipe::get_message_no
    - Botan::Pipe::read
    linkageType: ''
    returnType: size_t
    signature: size_t Pipe::read(uint8_t output[], size_t length, message_id msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::read
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - output
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: Botan::Pipe::read
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 3
    functionsReached:
    - Botan::Pipe::read
    linkageType: ''
    returnType: size_t
    signature: size_t Pipe::read(uint8_t output[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::read
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - msg
    argTypes:
    - uint8_t
    - message_id
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: Botan::Pipe::read
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 4
    functionsReached:
    - Botan::Pipe::read
    linkageType: ''
    returnType: size_t
    signature: size_t Pipe::read(uint8_t& out, message_id msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: default_msg
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:94,1
    - Dst: secure_vector::resize
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - message_id
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: Botan::Pipe::read_all
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 8
    functionsReached:
    - default_msg
    - secure_vector::resize
    linkageType: ''
    returnType: secure_vector<uint8_t>
    signature: secure_vector<uint8_t> Pipe::read_all(message_id msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: default_msg
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:105,1
    - Dst: std::string::reserve
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:108,1
    - Dst: Botan::Pipe::remaining
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:108,1
    - Dst: std::string::append
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:115,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:115,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - msg
    argTypes:
    - message_id
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: Botan::Pipe::read_all_as_string
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 8
    functionsReached:
    - secure_vector::data
    - Botan::Pipe::remaining
    - std::string::append
    - std::string::reserve
    - default_msg
    - cast_uint8_ptr_to_char
    linkageType: ''
    returnType: std::string
    signature: std::string Pipe::read_all_as_string(message_id msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::remaining
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:125,1
    - Dst: Botan::Pipe::get_message_no
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - message_id
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Botan::Pipe::remaining
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 4
    functionsReached:
    - Botan::Pipe::remaining
    - Botan::Pipe::get_message_no
    linkageType: ''
    returnType: size_t
    signature: size_t Pipe::remaining(message_id msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::peek
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:132,1
    - Dst: Botan::Pipe::get_message_no
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - output
    - length
    - offset
    - msg
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    - message_id
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: Botan::Pipe::peek
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 2
    functionsReached:
    - Botan::Pipe::peek
    - Botan::Pipe::get_message_no
    linkageType: ''
    returnType: size_t
    signature: size_t Pipe::peek(uint8_t output[], size_t length, size_t offset, message_id
      msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::peek
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - output
    - length
    - offset
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: Botan::Pipe::peek
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 3
    functionsReached:
    - Botan::Pipe::peek
    linkageType: ''
    returnType: size_t
    signature: size_t Pipe::peek(uint8_t output[], size_t length, size_t offset) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::peek
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' out'
    - offset
    - msg
    argTypes:
    - uint8_t
    - size_t
    - message_id
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: Botan::Pipe::peek
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 4
    functionsReached:
    - Botan::Pipe::peek
    linkageType: ''
    returnType: size_t
    signature: size_t Pipe::peek(uint8_t& out, size_t offset, message_id msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::get_bytes_read
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:150,1
    - Dst: default_msg
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: Botan::Pipe::get_bytes_read
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 3
    functionsReached:
    - default_msg
    - Botan::Pipe::get_bytes_read
    linkageType: ''
    returnType: size_t
    signature: size_t Pipe::get_bytes_read() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::get_bytes_read
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - message_id
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: Botan::Pipe::get_bytes_read
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 4
    functionsReached:
    - Botan::Pipe::get_bytes_read
    linkageType: ''
    returnType: size_t
    signature: size_t Pipe::get_bytes_read(message_id msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::remaining
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:158,1
    - Dst: default_msg
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: Botan::Pipe::check_available
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 0
    functionsReached:
    - default_msg
    - Botan::Pipe::remaining
    linkageType: ''
    returnType: bool
    signature: bool Pipe::check_available(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::remaining
      Src: /src/botan/src/lib/filters/pipe_rw.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - msg
    argTypes:
    - size_t
    - message_id
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: Botan::Pipe::check_available_msg
    functionSourceFile: /src/botan/src/lib/filters/pipe_rw.cpp
    functionUses: 0
    functionsReached:
    - Botan::Pipe::remaining
    linkageType: ''
    returnType: bool
    signature: bool Pipe::check_available_msg(size_t n, message_id msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::round_up
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - update_granularity
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 24
    functionName: Botan::choose_update_size
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 0
    functionsReached:
    - Botan::round_up
    linkageType: ''
    returnType: size_t
    signature: size_t choose_update_size(size_t update_granularity)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: choose_update_size
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:29,1
    - Dst: Cipher_Mode*::ideal_granularity
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:29,1
    - Dst: Cipher_Mode*::minimum_final_size
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:29,1
    - Dst: Cipher_Mode*::default_nonce_length
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:31,1
    - Dst: ideal_granularity
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mode
    argTypes:
    - Cipher_Mode*
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: Botan::Cipher_Mode_Filter::Cipher_Mode_Filter
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 1
    functionsReached:
    - Cipher_Mode*::default_nonce_length
    - choose_update_size
    - Cipher_Mode*::ideal_granularity
    - ideal_granularity
    - Cipher_Mode*::minimum_final_size
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Filter::Cipher_Mode_Filter(Cipher_Mode* mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode_Filter::name
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Botan::Cipher_Mode_Filter::name
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 1
    functionsReached:
    - Botan::Cipher_Mode_Filter::name
    linkageType: ''
    returnType: std::string
    signature: std::string Cipher_Mode_Filter::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlock
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:39,1
    - Dst: bits_of
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' iv'
    argTypes:
    - InitializationVector
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Botan::Cipher_Mode_Filter::set_iv
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 0
    functionsReached:
    - unlock
    - bits_of
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Filter::set_iv(const InitializationVector& iv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode_Filter::set_key
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - SymmetricKey
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Botan::Cipher_Mode_Filter::set_key
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 1
    functionsReached:
    - Botan::Cipher_Mode_Filter::set_key
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Filter::set_key(const SymmetricKey& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode_Filter::key_spec
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Botan::Cipher_Mode_Filter::key_spec
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 1
    functionsReached:
    - Botan::Cipher_Mode_Filter::key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification Cipher_Mode_Filter::key_spec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: valid_nonce_length
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Botan::Cipher_Mode_Filter::valid_iv_length
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 0
    functionsReached:
    - valid_nonce_length
    linkageType: ''
    returnType: bool
    signature: bool Cipher_Mode_Filter::valid_iv_length(size_t length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Buffered_Filter::write
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Botan::Cipher_Mode_Filter::write
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 0
    functionsReached:
    - Botan::Buffered_Filter::write
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Filter::write(const uint8_t input[], size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Buffered_Filter::end_msg
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: Botan::Cipher_Mode_Filter::end_msg
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 0
    functionsReached:
    - Botan::Buffered_Filter::end_msg
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Filter::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:63,1
    - Dst: valid_nonce_length
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:63,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:64,1
    - Dst: Botan::Cipher_Mode_Filter::name
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:64,1
    - Dst: start
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:67,1
    - Dst: clear
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: Botan::Cipher_Mode_Filter::start_msg
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - valid_nonce_length
    - clear
    - empty
    - start
    - Botan::Cipher_Mode_Filter::name
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Filter::start_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:75,1
    - Dst: update
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:76,1
    - Dst: send
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: Botan::Cipher_Mode_Filter::buffered_block
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 0
    functionsReached:
    - update
    - send
    - assign
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Filter::buffered_block(const uint8_t input[], size_t
      input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finish
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:87,1
    - Dst: send
      Src: /src/botan/src/lib/filters/cipher_filter.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: Botan::Cipher_Mode_Filter::buffered_final
    functionSourceFile: /src/botan/src/lib/filters/cipher_filter.cpp
    functionUses: 0
    functionsReached:
    - send
    - finish
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Filter::buffered_final(const uint8_t input[], size_t
      input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - line_breaks
    - line_length
    - trailing_newline
    argTypes:
    - bool
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: Botan::Base64_Encoder::Base64_Encoder
    functionSourceFile: /src/botan/src/lib/filters/b64_filt.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base64_Encoder::Base64_Encoder(bool line_breaks, size_t line_length,
      bool trailing_newline)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Base64_Encoder::do_output
      Src: /src/botan/src/lib/filters/b64_filt.cpp:38,1
    - Dst: data
      Src: /src/botan/src/lib/filters/b64_filt.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - input
    - length
    - final_inputs
    argTypes:
    - uint8_t[]
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: Botan::Base64_Encoder::encode_and_send
    functionSourceFile: /src/botan/src/lib/filters/b64_filt.cpp
    functionUses: 0
    functionsReached:
    - data
    - Botan::Base64_Encoder::do_output
    linkageType: ''
    returnType: void
    signature: void Base64_Encoder::encode_and_send(const uint8_t input[], size_t
      length, bool final_inputs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/botan/src/lib/filters/b64_filt.cpp:51,1
    - Dst: send
      Src: /src/botan/src/lib/filters/b64_filt.cpp:56,1
    - Dst: send
      Src: /src/botan/src/lib/filters/b64_filt.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: Botan::Base64_Encoder::do_output
    functionSourceFile: /src/botan/src/lib/filters/b64_filt.cpp
    functionUses: 1
    functionsReached:
    - send
    linkageType: ''
    returnType: void
    signature: void Base64_Encoder::do_output(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/b64_filt.cpp:73,1
    - Dst: size
      Src: /src/botan/src/lib/filters/b64_filt.cpp:75,1
    - Dst: Botan::Base64_Encoder::encode_and_send
      Src: /src/botan/src/lib/filters/b64_filt.cpp:76,1
    - Dst: data
      Src: /src/botan/src/lib/filters/b64_filt.cpp:76,1
    - Dst: size
      Src: /src/botan/src/lib/filters/b64_filt.cpp:76,1
    - Dst: size
      Src: /src/botan/src/lib/filters/b64_filt.cpp:77,1
    - Dst: size
      Src: /src/botan/src/lib/filters/b64_filt.cpp:78,1
    - Dst: size
      Src: /src/botan/src/lib/filters/b64_filt.cpp:79,1
    - Dst: Botan::Base64_Encoder::encode_and_send
      Src: /src/botan/src/lib/filters/b64_filt.cpp:80,1
    - Dst: size
      Src: /src/botan/src/lib/filters/b64_filt.cpp:80,1
    - Dst: size
      Src: /src/botan/src/lib/filters/b64_filt.cpp:81,1
    - Dst: size
      Src: /src/botan/src/lib/filters/b64_filt.cpp:82,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/b64_filt.cpp:84,1
    - Dst: data
      Src: /src/botan/src/lib/filters/b64_filt.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionName: Botan::Base64_Encoder::write
    functionSourceFile: /src/botan/src/lib/filters/b64_filt.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - data
    - Botan::Base64_Encoder::encode_and_send
    - size
    linkageType: ''
    returnType: void
    signature: void Base64_Encoder::write(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Base64_Encoder::encode_and_send
      Src: /src/botan/src/lib/filters/b64_filt.cpp:94,1
    - Dst: data
      Src: /src/botan/src/lib/filters/b64_filt.cpp:94,1
    - Dst: send
      Src: /src/botan/src/lib/filters/b64_filt.cpp:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: Botan::Base64_Encoder::end_msg
    functionSourceFile: /src/botan/src/lib/filters/b64_filt.cpp
    functionUses: 0
    functionsReached:
    - data
    - Botan::Base64_Encoder::encode_and_send
    - send
    linkageType: ''
    returnType: void
    signature: void Base64_Encoder::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - Decoder_Checking
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Botan::Base64_Decoder::Base64_Decoder
    functionSourceFile: /src/botan/src/lib/filters/b64_filt.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Base64_Decoder::Base64_Decoder(Decoder_Checking c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/filters/b64_filt.cpp:115,1
    - Dst: size
      Src: /src/botan/src/lib/filters/b64_filt.cpp:115,1
    - Dst: resize
      Src: /src/botan/src/lib/filters/b64_filt.cpp:116,1
    - Dst: size
      Src: /src/botan/src/lib/filters/b64_filt.cpp:116,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/b64_filt.cpp:118,1
    - Dst: send
      Src: /src/botan/src/lib/filters/b64_filt.cpp:125,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/b64_filt.cpp:128,1
    - Dst: data
      Src: /src/botan/src/lib/filters/b64_filt.cpp:128,1
    - Dst: data
      Src: /src/botan/src/lib/filters/b64_filt.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 137
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 137
    functionName: Botan::Base64_Decoder::write
    functionSourceFile: /src/botan/src/lib/filters/b64_filt.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - copy_mem
    - resize
    - send
    linkageType: ''
    returnType: void
    signature: void Base64_Decoder::write(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/botan/src/lib/filters/b64_filt.cpp:147,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/b64_filt.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 156
    functionName: Botan::Base64_Decoder::end_msg
    functionSourceFile: /src/botan/src/lib/filters/b64_filt.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - send
    linkageType: ''
    returnType: void
    signature: void Base64_Decoder::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/filters/filter.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: Botan::Filter::Filter
    functionSourceFile: /src/botan/src/lib/filters/filter.cpp
    functionUses: 0
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void Filter::Filter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/filters/filter.cpp:26,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/filters/filter.cpp:26,1
    - Dst: Botan::Filter::send
      Src: /src/botan/src/lib/filters/filter.cpp:27,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/filters/filter.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Botan::Filter::send
    functionSourceFile: /src/botan/src/lib/filters/filter.cpp
    functionUses: 1
    functionsReached:
    - Botan::Filter::send
    - std::span<const uint8_t>::data
    - BOTAN_ASSERT_NOMSG
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void Filter::send(std::span<const uint8_t> in, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Filter::total_ports
      Src: /src/botan/src/lib/filters/filter.cpp:39,1
    - Dst: empty
      Src: /src/botan/src/lib/filters/filter.cpp:41,1
    - Dst: write
      Src: /src/botan/src/lib/filters/filter.cpp:42,1
    - Dst: data
      Src: /src/botan/src/lib/filters/filter.cpp:42,1
    - Dst: size
      Src: /src/botan/src/lib/filters/filter.cpp:42,1
    - Dst: write
      Src: /src/botan/src/lib/filters/filter.cpp:44,1
    - Dst: std::make_pair
      Src: /src/botan/src/lib/filters/filter.cpp:50,1
    - Dst: clear
      Src: /src/botan/src/lib/filters/filter.cpp:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 54
    functionName: Botan::Filter::send
    functionSourceFile: /src/botan/src/lib/filters/filter.cpp
    functionUses: 1
    functionsReached:
    - data
    - size
    - write
    - empty
    - clear
    - std::make_pair
    - Botan::Filter::total_ports
    linkageType: ''
    returnType: void
    signature: void Filter::send(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start_msg
      Src: /src/botan/src/lib/filters/filter.cpp:60,1
    - Dst: Botan::Filter::total_ports
      Src: /src/botan/src/lib/filters/filter.cpp:61,1
    - Dst: Botan::Filter::new_msg
      Src: /src/botan/src/lib/filters/filter.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: Botan::Filter::new_msg
    functionSourceFile: /src/botan/src/lib/filters/filter.cpp
    functionUses: 1
    functionsReached:
    - start_msg
    - Botan::Filter::total_ports
    - Botan::Filter::new_msg
    linkageType: ''
    returnType: void
    signature: void Filter::new_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: end_msg
      Src: /src/botan/src/lib/filters/filter.cpp:72,1
    - Dst: Botan::Filter::total_ports
      Src: /src/botan/src/lib/filters/filter.cpp:73,1
    - Dst: Botan::Filter::finish_msg
      Src: /src/botan/src/lib/filters/filter.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: Botan::Filter::finish_msg
    functionSourceFile: /src/botan/src/lib/filters/filter.cpp
    functionUses: 1
    functionsReached:
    - Botan::Filter::total_ports
    - Botan::Filter::finish_msg
    - end_msg
    linkageType: ''
    returnType: void
    signature: void Filter::finish_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Filter*::get_next
      Src: /src/botan/src/lib/filters/filter.cpp:86,1
    - Dst: Filter*::get_next
      Src: /src/botan/src/lib/filters/filter.cpp:87,1
    - Dst: Filter*::current_port
      Src: /src/botan/src/lib/filters/filter.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - new_filter
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: Botan::Filter::attach
    functionSourceFile: /src/botan/src/lib/filters/filter.cpp
    functionUses: 0
    functionsReached:
    - Filter*::current_port
    - Filter*::get_next
    linkageType: ''
    returnType: void
    signature: void Filter::attach(Filter* new_filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Filter::total_ports
      Src: /src/botan/src/lib/filters/filter.cpp:97,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/filter.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - new_port
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: Botan::Filter::set_port
    functionSourceFile: /src/botan/src/lib/filters/filter.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - Botan::Filter::total_ports
    linkageType: ''
    returnType: void
    signature: void Filter::set_port(size_t new_port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/filters/filter.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: Botan::Filter::get_next
    functionSourceFile: /src/botan/src/lib/filters/filter.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Filter
    signature: Filter * Filter::get_next() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/filters/filter.cpp:117,1
    - Dst: assign
      Src: /src/botan/src/lib/filters/filter.cpp:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - filters
    - size
    argTypes:
    - Filter*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: Botan::Filter::set_next
    functionSourceFile: /src/botan/src/lib/filters/filter.cpp
    functionUses: 0
    functionsReached:
    - clear
    - assign
    linkageType: ''
    returnType: void
    signature: void Filter::set_next(Filter* filters[], size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/filters/filter.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: Botan::Filter::total_ports
    functionSourceFile: /src/botan/src/lib/filters/filter.cpp
    functionUses: 4
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t Filter::total_ports() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: attach
      Src: /src/botan/src/lib/filters/basefilt.cpp:16,1
    - Dst: incr_owns
      Src: /src/botan/src/lib/filters/basefilt.cpp:17,1
    - Dst: attach
      Src: /src/botan/src/lib/filters/basefilt.cpp:20,1
    - Dst: incr_owns
      Src: /src/botan/src/lib/filters/basefilt.cpp:21,1
    - Dst: attach
      Src: /src/botan/src/lib/filters/basefilt.cpp:24,1
    - Dst: incr_owns
      Src: /src/botan/src/lib/filters/basefilt.cpp:25,1
    - Dst: attach
      Src: /src/botan/src/lib/filters/basefilt.cpp:28,1
    - Dst: incr_owns
      Src: /src/botan/src/lib/filters/basefilt.cpp:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - f1
    - f2
    - f3
    - f4
    argTypes:
    - Filter*
    - Filter*
    - Filter*
    - Filter*
    constantsTouched: []
    func_position:
      end: 31
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 31
    functionName: Botan::Chain::Chain
    functionSourceFile: /src/botan/src/lib/filters/basefilt.cpp
    functionUses: 2
    functionsReached:
    - attach
    - incr_owns
    linkageType: ''
    returnType: void
    signature: void Chain::Chain(Filter* f1, Filter* f2, Filter* f3, Filter* f4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: attach
      Src: /src/botan/src/lib/filters/basefilt.cpp:39,1
    - Dst: incr_owns
      Src: /src/botan/src/lib/filters/basefilt.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - filters
    - count
    argTypes:
    - Filter*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: Botan::Chain::Chain
    functionSourceFile: /src/botan/src/lib/filters/basefilt.cpp
    functionUses: 2
    functionsReached:
    - attach
    - incr_owns
    linkageType: ''
    returnType: void
    signature: void Chain::Chain(Filter* filters[], size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_next
      Src: /src/botan/src/lib/filters/basefilt.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - f1
    - f2
    - f3
    - f4
    argTypes:
    - Filter*
    - Filter*
    - Filter*
    - Filter*
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: Botan::Fork::Fork
    functionSourceFile: /src/botan/src/lib/filters/basefilt.cpp
    functionUses: 1
    functionsReached:
    - set_next
    linkageType: ''
    returnType: void
    signature: void Fork::Fork(Filter* f1, Filter* f2, Filter* f3, Filter* f4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_next
      Src: /src/botan/src/lib/filters/basefilt.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filters
    - count
    argTypes:
    - Filter*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Botan::Fork::Fork
    functionSourceFile: /src/botan/src/lib/filters/basefilt.cpp
    functionUses: 1
    functionsReached:
    - set_next
    linkageType: ''
    returnType: void
    signature: void Fork::Fork(Filter* filters[], size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: Botan::SecureQueueNode::SecureQueueNode
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureQueueNode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: ~SecureQueueNode()
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SecureQueueNode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecureQueueNode
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Botan::SecureQueueNode::SecureQueueNode
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureQueueNode(const SecureQueueNode& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecureQueueNode
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Botan::SecureQueueNode::SecureQueueNode
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureQueueNode(SecureQueueNode&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecureQueueNode
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const SecureQueueNode& other)'
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SecureQueueNode
    signature: SecureQueueNode & operator=(const SecureQueueNode& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecureQueueNode
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& operator=(SecureQueueNode&& other)'
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SecureQueueNode
    signature: SecureQueueNode & operator=(SecureQueueNode&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/secqueue.cpp:38,1
    - Dst: data
      Src: /src/botan/src/lib/filters/secqueue.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: Botan::SecureQueueNode::write
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t write(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/secqueue.cpp:45,1
    - Dst: data
      Src: /src/botan/src/lib/filters/secqueue.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - output
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: Botan::SecureQueueNode::read
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t read(uint8_t output[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/secqueue.cpp:56,1
    - Dst: data
      Src: /src/botan/src/lib/filters/secqueue.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - output
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: Botan::SecureQueueNode::peek
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - data
    linkageType: ''
    returnType: size_t
    signature: size_t peek(uint8_t output[], size_t length, size_t offset = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: Botan::SecureQueueNode::size
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_next
      Src: /src/botan/src/lib/filters/secqueue.cpp:74,1
    - Dst: SecureQueueNode::SecureQueueNode
      Src: /src/botan/src/lib/filters/secqueue.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: Botan::SecureQueue::SecureQueue
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 1
    functionsReached:
    - SecureQueueNode::SecureQueueNode
    - set_next
    linkageType: ''
    returnType: void
    signature: void SecureQueue::SecureQueue()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_next
      Src: /src/botan/src/lib/filters/secqueue.cpp:83,1
    - Dst: SecureQueueNode::SecureQueueNode
      Src: /src/botan/src/lib/filters/secqueue.cpp:85,1
    - Dst: Botan::SecureQueue::write
      Src: /src/botan/src/lib/filters/secqueue.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - SecureQueue
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: Botan::SecureQueue::SecureQueue
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 1
    functionsReached:
    - Botan::SecureQueue::write
    - SecureQueueNode::SecureQueueNode
    - set_next
    linkageType: ''
    returnType: void
    signature: void SecureQueue::SecureQueue(const SecureQueue& input)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: Botan::SecureQueue::destroy
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecureQueue::destroy()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: destroy
      Src: /src/botan/src/lib/filters/secqueue.cpp:114,1
    - Dst: get_bytes_read
      Src: /src/botan/src/lib/filters/secqueue.cpp:115,1
    - Dst: SecureQueueNode::SecureQueueNode
      Src: /src/botan/src/lib/filters/secqueue.cpp:116,1
    - Dst: write
      Src: /src/botan/src/lib/filters/secqueue.cpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - SecureQueue
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: '& SecureQueue::operator=(const SecureQueue& input)'
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached:
    - write
    - get_bytes_read
    - SecureQueueNode::SecureQueueNode
    - destroy
    linkageType: ''
    returnType: SecureQueue
    signature: SecureQueue & SecureQueue::operator=(const SecureQueue& input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecureQueueNode::SecureQueueNode
      Src: /src/botan/src/lib/filters/secqueue.cpp:130,1
    - Dst: SecureQueueNode::SecureQueueNode
      Src: /src/botan/src/lib/filters/secqueue.cpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: Botan::SecureQueue::write
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 2
    functionsReached:
    - SecureQueueNode::SecureQueueNode
    linkageType: ''
    returnType: void
    signature: void SecureQueue::write(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SecureQueue::size
      Src: /src/botan/src/lib/filters/secqueue.cpp:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - output
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 161
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 161
    functionName: Botan::SecureQueue::read
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached:
    - Botan::SecureQueue::size
    linkageType: ''
    returnType: size_t
    signature: size_t SecureQueue::read(uint8_t output[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecureQueueNode*::size
      Src: /src/botan/src/lib/filters/secqueue.cpp:170,1
    - Dst: SecureQueueNode*::size
      Src: /src/botan/src/lib/filters/secqueue.cpp:171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - output
    - length
    - offset
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 188
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 188
    functionName: Botan::SecureQueue::peek
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached:
    - SecureQueueNode*::size
    linkageType: ''
    returnType: size_t
    signature: size_t SecureQueue::peek(uint8_t output[], size_t length, size_t offset)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: Botan::SecureQueue::get_bytes_read
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SecureQueue::get_bytes_read() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecureQueueNode*::size
      Src: /src/botan/src/lib/filters/secqueue.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 209
    functionName: Botan::SecureQueue::size
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 2
    functionsReached:
    - SecureQueueNode*::size
    linkageType: ''
    returnType: size_t
    signature: size_t SecureQueue::size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SecureQueue::size
      Src: /src/botan/src/lib/filters/secqueue.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: Botan::SecureQueue::end_of_data
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached:
    - Botan::SecureQueue::size
    linkageType: ''
    returnType: bool
    signature: bool SecureQueue::end_of_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::SecureQueue::size
      Src: /src/botan/src/lib/filters/secqueue.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: Botan::SecureQueue::empty
    functionSourceFile: /src/botan/src/lib/filters/secqueue.cpp
    functionUses: 0
    functionsReached:
    - Botan::SecureQueue::size
    linkageType: ''
    returnType: bool
    signature: bool SecureQueue::empty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/botan/src/lib/filters/pipe.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Botan::Null_Filter::write
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 0
    functionsReached:
    - send
    linkageType: ''
    returnType: void
    signature: void write(const uint8_t input[], size_t length) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Botan::Null_Filter::name
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt
      Src: /src/botan/src/lib/filters/pipe.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - where
    - msg
    argTypes:
    - std::string_view
    - message_id
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: Pipe::Invalid_Message_Number::Invalid_Message_Number(std::string_view
      where, message_id msg)
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 0
    functionsReached:
    - fmt
    linkageType: ''
    returnType: void
    signature: void Pipe::Invalid_Message_Number::Invalid_Message_Number(std::string_view
      where, message_id msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - f1
    - f2
    - f3
    - f4
    argTypes:
    - Filter*
    - Filter*
    - Filter*
    - Filter*
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Botan::Pipe::Pipe
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pipe::Pipe(Filter* f1, Filter* f2, Filter* f3, Filter* f4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Output_Buffers>
      Src: /src/botan/src/lib/filters/pipe.cpp:44,1
    - Dst: Botan::Pipe::do_append
      Src: /src/botan/src/lib/filters/pipe.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<Filter*>
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: Botan::Pipe::Pipe
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Output_Buffers>
    - Botan::Pipe::do_append
    linkageType: ''
    returnType: void
    signature: void Pipe::Pipe(std::initializer_list<Filter*> args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: destruct
      Src: /src/botan/src/lib/filters/pipe.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Pipe::~Pipe()
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 0
    functionsReached:
    - destruct
    linkageType: ''
    returnType: void
    signature: void Pipe::~Pipe()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::destruct
      Src: /src/botan/src/lib/filters/pipe.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: Botan::Pipe::reset
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 3
    functionsReached:
    - Botan::Pipe::destruct
    linkageType: ''
    returnType: void
    signature: void Pipe::reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<SecureQueue*>
      Src: /src/botan/src/lib/filters/pipe.cpp:74,1
    - Dst: Filter*::total_ports
      Src: /src/botan/src/lib/filters/pipe.cpp:77,1
    - Dst: Botan::Pipe::destruct
      Src: /src/botan/src/lib/filters/pipe.cpp:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - to_kill
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: Botan::Pipe::destruct
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 2
    functionsReached:
    - Filter*::total_ports
    - Botan::Pipe::destruct
    - dynamic_cast<SecureQueue*>
    linkageType: ''
    returnType: void
    signature: void Pipe::destruct(Filter* to_kill)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::remaining
      Src: /src/botan/src/lib/filters/pipe.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: Botan::Pipe::end_of_data
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 2
    functionsReached:
    - Botan::Pipe::remaining
    linkageType: ''
    returnType: bool
    signature: bool Pipe::end_of_data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/lib/filters/pipe.cpp:94,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/pipe.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - message_id
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: Botan::Pipe::set_default_msg
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 3
    functionsReached:
    - Invalid_Argument
    - Botan::Pipe::message_count
    linkageType: ''
    returnType: void
    signature: void Pipe::set_default_msg(message_id msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/lib/filters/pipe.cpp:104,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/lib/filters/pipe.cpp:105,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/lib/filters/pipe.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: Botan::Pipe::process_msg
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 15
    functionsReached:
    - Botan::Pipe::write
    - Botan::Pipe::start_msg
    - Botan::Pipe::end_msg
    linkageType: ''
    returnType: void
    signature: void Pipe::process_msg(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/lib/filters/pipe.cpp:113,1
    - Dst: data
      Src: /src/botan/src/lib/filters/pipe.cpp:113,1
    - Dst: size
      Src: /src/botan/src/lib/filters/pipe.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - secure_vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: Botan::Pipe::process_msg
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 16
    functionsReached:
    - data
    - Botan::Pipe::process_msg
    - size
    linkageType: ''
    returnType: void
    signature: void Pipe::process_msg(const secure_vector<uint8_t>& input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/lib/filters/pipe.cpp:117,1
    - Dst: data
      Src: /src/botan/src/lib/filters/pipe.cpp:117,1
    - Dst: size
      Src: /src/botan/src/lib/filters/pipe.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: Botan::Pipe::process_msg
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 17
    functionsReached:
    - data
    - Botan::Pipe::process_msg
    - size
    linkageType: ''
    returnType: void
    signature: void Pipe::process_msg(const std::vector<uint8_t>& input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::process_msg
      Src: /src/botan/src/lib/filters/pipe.cpp:124,1
    - Dst: cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/filters/pipe.cpp:124,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/filters/pipe.cpp:124,1
    - Dst: std::string_view::length
      Src: /src/botan/src/lib/filters/pipe.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: Botan::Pipe::process_msg
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 18
    functionsReached:
    - std::string_view::length
    - Botan::Pipe::process_msg
    - std::string_view::data
    - cast_char_ptr_to_uint8
    linkageType: ''
    returnType: void
    signature: void Pipe::process_msg(std::string_view input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::start_msg
      Src: /src/botan/src/lib/filters/pipe.cpp:131,1
    - Dst: Botan::Pipe::write
      Src: /src/botan/src/lib/filters/pipe.cpp:132,1
    - Dst: Botan::Pipe::end_msg
      Src: /src/botan/src/lib/filters/pipe.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - DataSource
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: Botan::Pipe::process_msg
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 18
    functionsReached:
    - Botan::Pipe::write
    - Botan::Pipe::start_msg
    - Botan::Pipe::end_msg
    linkageType: ''
    returnType: void
    signature: void Pipe::process_msg(DataSource& input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/pipe.cpp:141,1
    - Dst: Null_Filter::Null_Filter
      Src: /src/botan/src/lib/filters/pipe.cpp:144,1
    - Dst: Botan::Pipe::find_endpoints
      Src: /src/botan/src/lib/filters/pipe.cpp:146,1
    - Dst: new_msg
      Src: /src/botan/src/lib/filters/pipe.cpp:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: Botan::Pipe::start_msg
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 11
    functionsReached:
    - new_msg
    - Botan::Pipe::find_endpoints
    - Invalid_State
    - Null_Filter::Null_Filter
    linkageType: ''
    returnType: void
    signature: void Pipe::start_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/pipe.cpp:156,1
    - Dst: finish_msg
      Src: /src/botan/src/lib/filters/pipe.cpp:158,1
    - Dst: Botan::Pipe::clear_endpoints
      Src: /src/botan/src/lib/filters/pipe.cpp:159,1
    - Dst: dynamic_cast<Null_Filter*>
      Src: /src/botan/src/lib/filters/pipe.cpp:160,1
    - Dst: retire
      Src: /src/botan/src/lib/filters/pipe.cpp:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 167
    functionName: Botan::Pipe::end_msg
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 11
    functionsReached:
    - Botan::Pipe::clear_endpoints
    - Invalid_State
    - retire
    - finish_msg
    - dynamic_cast<Null_Filter*>
    linkageType: ''
    returnType: void
    signature: void Pipe::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Filter*::total_ports
      Src: /src/botan/src/lib/filters/pipe.cpp:173,1
    - Dst: dynamic_cast<SecureQueue*>
      Src: /src/botan/src/lib/filters/pipe.cpp:174,1
    - Dst: Botan::Pipe::find_endpoints
      Src: /src/botan/src/lib/filters/pipe.cpp:175,1
    - Dst: SecureQueue::SecureQueue
      Src: /src/botan/src/lib/filters/pipe.cpp:177,1
    - Dst: add
      Src: /src/botan/src/lib/filters/pipe.cpp:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: Botan::Pipe::find_endpoints
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 2
    functionsReached:
    - Filter*::total_ports
    - add
    - Botan::Pipe::find_endpoints
    - SecureQueue::SecureQueue
    - dynamic_cast<SecureQueue*>
    linkageType: ''
    returnType: void
    signature: void Pipe::find_endpoints(Filter* f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Filter*::total_ports
      Src: /src/botan/src/lib/filters/pipe.cpp:191,1
    - Dst: dynamic_cast<SecureQueue*>
      Src: /src/botan/src/lib/filters/pipe.cpp:192,1
    - Dst: Botan::Pipe::clear_endpoints
      Src: /src/botan/src/lib/filters/pipe.cpp:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - f
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: Botan::Pipe::clear_endpoints
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 2
    functionsReached:
    - Filter*::total_ports
    - Botan::Pipe::clear_endpoints
    - dynamic_cast<SecureQueue*>
    linkageType: ''
    returnType: void
    signature: void Pipe::clear_endpoints(Filter* f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::do_append
      Src: /src/botan/src/lib/filters/pipe.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: Botan::Pipe::append
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 7
    functionsReached:
    - Botan::Pipe::do_append
    linkageType: ''
    returnType: void
    signature: void Pipe::append(Filter* filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/lib/filters/pipe.cpp:204,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/pipe.cpp:205,1
    - Dst: Botan::Pipe::do_append
      Src: /src/botan/src/lib/filters/pipe.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: Botan::Pipe::append_filter
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 1
    functionsReached:
    - Botan::Pipe::do_append
    - Invalid_State
    - Botan::Pipe::message_count
    linkageType: ''
    returnType: void
    signature: void Pipe::append_filter(Filter* filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::do_prepend
      Src: /src/botan/src/lib/filters/pipe.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: Botan::Pipe::prepend
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 2
    functionsReached:
    - Botan::Pipe::do_prepend
    linkageType: ''
    returnType: void
    signature: void Pipe::prepend(Filter* filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/lib/filters/pipe.cpp:216,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/pipe.cpp:217,1
    - Dst: Botan::Pipe::do_prepend
      Src: /src/botan/src/lib/filters/pipe.cpp:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: Botan::Pipe::prepend_filter
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 1
    functionsReached:
    - Botan::Pipe::do_prepend
    - Invalid_State
    - Botan::Pipe::message_count
    linkageType: ''
    returnType: void
    signature: void Pipe::prepend_filter(Filter* filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<SecureQueue*>
      Src: /src/botan/src/lib/filters/pipe.cpp:230,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/pipe.cpp:231,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/pipe.cpp:234,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/pipe.cpp:238,1
    - Dst: attach
      Src: /src/botan/src/lib/filters/pipe.cpp:246,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - filter
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 248
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 248
    functionName: Botan::Pipe::do_append
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 3
    functionsReached:
    - Invalid_Argument
    - attach
    - Invalid_State
    - dynamic_cast<SecureQueue*>
    linkageType: ''
    returnType: void
    signature: void Pipe::do_append(Filter* filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/pipe.cpp:255,1
    - Dst: dynamic_cast<SecureQueue*>
      Src: /src/botan/src/lib/filters/pipe.cpp:260,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/pipe.cpp:261,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/pipe.cpp:264,1
    - Dst: Filter*::attach
      Src: /src/botan/src/lib/filters/pipe.cpp:270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - filter
    argTypes:
    - Filter*
    constantsTouched: []
    func_position:
      end: 273
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 273
    functionName: Botan::Pipe::do_prepend
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 2
    functionsReached:
    - Filter*::attach
    - Invalid_Argument
    - Invalid_State
    - dynamic_cast<SecureQueue*>
    linkageType: ''
    returnType: void
    signature: void Pipe::do_prepend(Filter* filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/pipe.cpp:280,1
    - Dst: total_ports
      Src: /src/botan/src/lib/filters/pipe.cpp:287,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/filters/pipe.cpp:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 297
    functionName: Botan::Pipe::pop
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 5
    functionsReached:
    - Invalid_State
    - total_ports
    linkageType: ''
    returnType: void
    signature: void Pipe::pop()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Pipe::message_count
      Src: /src/botan/src/lib/filters/pipe.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: Botan::Pipe::message_count
    functionSourceFile: /src/botan/src/lib/filters/pipe.cpp
    functionUses: 13
    functionsReached:
    - Botan::Pipe::message_count
    linkageType: ''
    returnType: Pipe::message_id
    signature: Pipe::message_id Pipe::message_count() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Compression_Algorithm::create
      Src: /src/botan/src/lib/filters/comp_filter.cpp:24,1
    - Dst: std::max<size_t>
      Src: /src/botan/src/lib/filters/comp_filter.cpp:24,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/comp_filter.cpp:26,1
    - Dst: fmt
      Src: /src/botan/src/lib/filters/comp_filter.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - type
    - level
    - bs
    argTypes:
    - std::string_view
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: Botan::Compression_Filter::Compression_Filter
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - std::max<size_t>
    - fmt
    - Botan::Compression_Algorithm::create
    linkageType: ''
    returnType: void
    signature: void Compression_Filter::Compression_Filter(std::string_view type,
      size_t level, size_t bs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Compression_Filter::~Compression_Filter()
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Compression_Filter::~Compression_Filter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Compression_Filter::name
      Src: /src/botan/src/lib/filters/comp_filter.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Botan::Compression_Filter::name
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 1
    functionsReached:
    - Botan::Compression_Filter::name
    linkageType: ''
    returnType: std::string
    signature: std::string Compression_Filter::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/botan/src/lib/filters/comp_filter.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::Compression_Filter::start_msg
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void Compression_Filter::start_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/filters/comp_filter.cpp:43,1
    - Dst: assign
      Src: /src/botan/src/lib/filters/comp_filter.cpp:45,1
    - Dst: update
      Src: /src/botan/src/lib/filters/comp_filter.cpp:46,1
    - Dst: send
      Src: /src/botan/src/lib/filters/comp_filter.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: Botan::Compression_Filter::write
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached:
    - update
    - send
    - assign
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void Compression_Filter::write(const uint8_t input[], size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/filters/comp_filter.cpp:56,1
    - Dst: update
      Src: /src/botan/src/lib/filters/comp_filter.cpp:57,1
    - Dst: send
      Src: /src/botan/src/lib/filters/comp_filter.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: Botan::Compression_Filter::flush
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached:
    - clear
    - update
    - send
    linkageType: ''
    returnType: void
    signature: void Compression_Filter::flush()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/filters/comp_filter.cpp:62,1
    - Dst: finish
      Src: /src/botan/src/lib/filters/comp_filter.cpp:63,1
    - Dst: send
      Src: /src/botan/src/lib/filters/comp_filter.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: Botan::Compression_Filter::end_msg
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached:
    - clear
    - send
    - finish
    linkageType: ''
    returnType: void
    signature: void Compression_Filter::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decompression_Algorithm::create
      Src: /src/botan/src/lib/filters/comp_filter.cpp:68,1
    - Dst: std::max<size_t>
      Src: /src/botan/src/lib/filters/comp_filter.cpp:68,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/comp_filter.cpp:70,1
    - Dst: fmt
      Src: /src/botan/src/lib/filters/comp_filter.cpp:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - type
    - bs
    argTypes:
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: Botan::Decompression_Filter::Decompression_Filter
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - Botan::Decompression_Algorithm::create
    - fmt
    - std::max<size_t>
    linkageType: ''
    returnType: void
    signature: void Decompression_Filter::Decompression_Filter(std::string_view type,
      size_t bs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: Decompression_Filter::~Decompression_Filter()
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Decompression_Filter::~Decompression_Filter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Decompression_Filter::name
      Src: /src/botan/src/lib/filters/comp_filter.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Botan::Decompression_Filter::name
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 1
    functionsReached:
    - Botan::Decompression_Filter::name
    linkageType: ''
    returnType: std::string
    signature: std::string Decompression_Filter::name() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/botan/src/lib/filters/comp_filter.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Botan::Decompression_Filter::start_msg
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void Decompression_Filter::start_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/filters/comp_filter.cpp:87,1
    - Dst: assign
      Src: /src/botan/src/lib/filters/comp_filter.cpp:89,1
    - Dst: update
      Src: /src/botan/src/lib/filters/comp_filter.cpp:90,1
    - Dst: send
      Src: /src/botan/src/lib/filters/comp_filter.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: Botan::Decompression_Filter::write
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached:
    - update
    - send
    - assign
    - BOTAN_ASSERT
    linkageType: ''
    returnType: void
    signature: void Decompression_Filter::write(const uint8_t input[], size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/filters/comp_filter.cpp:100,1
    - Dst: finish
      Src: /src/botan/src/lib/filters/comp_filter.cpp:101,1
    - Dst: send
      Src: /src/botan/src/lib/filters/comp_filter.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: Botan::Decompression_Filter::end_msg
    functionSourceFile: /src/botan/src/lib/filters/comp_filter.cpp
    functionUses: 0
    functionsReached:
    - clear
    - send
    - finish
    linkageType: ''
    returnType: void
    signature: void Decompression_Filter::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buffer_size
      Src: /src/botan/src/lib/filters/algo_filt.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - StreamCipher*
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: Botan::StreamCipher_Filter::StreamCipher_Filter
    functionSourceFile: /src/botan/src/lib/filters/algo_filt.cpp
    functionUses: 1
    functionsReached:
    - buffer_size
    linkageType: ''
    returnType: void
    signature: void StreamCipher_Filter::StreamCipher_Filter(StreamCipher* cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/filters/algo_filt.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cipher
    - ' key'
    argTypes:
    - StreamCipher*
    - SymmetricKey
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: Botan::StreamCipher_Filter::StreamCipher_Filter
    functionSourceFile: /src/botan/src/lib/filters/algo_filt.cpp
    functionUses: 1
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void StreamCipher_Filter::StreamCipher_Filter(StreamCipher* cipher,
      const SymmetricKey& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/lib/filters/algo_filt.cpp:22,1
    - Dst: buffer_size
      Src: /src/botan/src/lib/filters/algo_filt.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sc_name
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 3
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: Botan::StreamCipher_Filter::StreamCipher_Filter
    functionSourceFile: /src/botan/src/lib/filters/algo_filt.cpp
    functionUses: 1
    functionsReached:
    - Botan::StreamCipher::create_or_throw
    - buffer_size
    linkageType: ''
    returnType: void
    signature: void StreamCipher_Filter::StreamCipher_Filter(std::string_view sc_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/filters/algo_filt.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc_name
    - ' key'
    argTypes:
    - std::string_view
    - SymmetricKey
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: Botan::StreamCipher_Filter::StreamCipher_Filter
    functionSourceFile: /src/botan/src/lib/filters/algo_filt.cpp
    functionUses: 1
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void StreamCipher_Filter::StreamCipher_Filter(std::string_view sc_name,
      const SymmetricKey& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher
      Src: /src/botan/src/lib/filters/algo_filt.cpp:32,1
    - Dst: data
      Src: /src/botan/src/lib/filters/algo_filt.cpp:32,1
    - Dst: send
      Src: /src/botan/src/lib/filters/algo_filt.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: Botan::StreamCipher_Filter::write
    functionSourceFile: /src/botan/src/lib/filters/algo_filt.cpp
    functionUses: 0
    functionsReached:
    - data
    - send
    - cipher
    linkageType: ''
    returnType: void
    signature: void StreamCipher_Filter::write(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/filters/algo_filt.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - hash_name
    - len
    argTypes:
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: Botan::Hash_Filter::Hash_Filter
    functionSourceFile: /src/botan/src/lib/filters/algo_filt.cpp
    functionUses: 4
    functionsReached:
    - Botan::HashFunction::create_or_throw
    linkageType: ''
    returnType: void
    signature: void Hash_Filter::Hash_Filter(std::string_view hash_name, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/filters/algo_filt.cpp:47,1
    - Dst: send
      Src: /src/botan/src/lib/filters/algo_filt.cpp:49,1
    - Dst: std::min<size_t>
      Src: /src/botan/src/lib/filters/algo_filt.cpp:49,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/filters/algo_filt.cpp:49,1
    - Dst: send
      Src: /src/botan/src/lib/filters/algo_filt.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: Botan::Hash_Filter::end_msg
    functionSourceFile: /src/botan/src/lib/filters/algo_filt.cpp
    functionUses: 0
    functionsReached:
    - std::min<size_t>
    - final
    - send
    - secure_vector::size
    linkageType: ''
    returnType: void
    signature: void Hash_Filter::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/lib/filters/algo_filt.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - mac_name
    - len
    argTypes:
    - std::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: Botan::MAC_Filter::MAC_Filter
    functionSourceFile: /src/botan/src/lib/filters/algo_filt.cpp
    functionUses: 1
    functionsReached:
    - Botan::MessageAuthenticationCode::create_or_throw
    linkageType: ''
    returnType: void
    signature: void MAC_Filter::MAC_Filter(std::string_view mac_name, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/filters/algo_filt.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mac_name
    - ' key'
    - len
    argTypes:
    - std::string_view
    - SymmetricKey
    - size_t
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Botan::MAC_Filter::MAC_Filter
    functionSourceFile: /src/botan/src/lib/filters/algo_filt.cpp
    functionUses: 1
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void MAC_Filter::MAC_Filter(std::string_view mac_name, const SymmetricKey&
      key, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final
      Src: /src/botan/src/lib/filters/algo_filt.cpp:66,1
    - Dst: send
      Src: /src/botan/src/lib/filters/algo_filt.cpp:68,1
    - Dst: std::min<size_t>
      Src: /src/botan/src/lib/filters/algo_filt.cpp:68,1
    - Dst: secure_vector::size
      Src: /src/botan/src/lib/filters/algo_filt.cpp:68,1
    - Dst: send
      Src: /src/botan/src/lib/filters/algo_filt.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: Botan::MAC_Filter::end_msg
    functionSourceFile: /src/botan/src/lib/filters/algo_filt.cpp
    functionUses: 0
    functionsReached:
    - std::min<size_t>
    - final
    - send
    - secure_vector::size
    linkageType: ''
    returnType: void
    signature: void MAC_Filter::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataSink_Stream
      Src: /src/botan/src/lib/filters/data_snk.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 69
    functionName: Botan::DataSink
    functionSourceFile: /src/botan/src/lib/filters/data_snk.h
    functionUses: 0
    functionsReached:
    - DataSink_Stream
    linkageType: ''
    returnType: DataSink_Stream
    signature: DataSink_Stream DataSink
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::write
      Src: /src/botan/src/lib/filters/filters.h:52,1
    - Dst: data
      Src: /src/botan/src/lib/filters/filters.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' in'
    - length
    argTypes:
    - std::vector<uint8_t, Alloc>
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Botan::write
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 2
    functionsReached:
    - data
    - Botan::write
    linkageType: ''
    returnType: void
    signature: void write(const std::vector<uint8_t, Alloc>& in, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~Buffered_Filter()
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Buffered_Filter()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: Botan::buffered_block_size
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t buffered_block_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: Botan::current_position
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t current_position() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Botan::buffer_reset
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void buffer_reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/filters/filters.h:130,1
    - Dst: Invalid_IV_Length
      Src: /src/botan/src/lib/filters/filters.h:131,1
    - Dst: name
      Src: /src/botan/src/lib/filters/filters.h:131,1
    - Dst: length
      Src: /src/botan/src/lib/filters/filters.h:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' iv'
    argTypes:
    - InitializationVector
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: set_iv
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 31
    functionsReached:
    - Invalid_IV_Length
    - empty
    - name
    - length
    linkageType: ''
    returnType: void
    signature: void set_iv(const InitializationVector& iv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_spec
      Src: /src/botan/src/lib/filters/filters.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: valid_keylength
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 6
    functionsReached:
    - key_spec
    linkageType: ''
    returnType: bool
    signature: bool valid_keylength(size_t length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: valid_iv_length
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_iv_length(size_t length) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Cipher_Mode>::release
      Src: /src/botan/src/lib/filters/filters.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::unique_ptr<Cipher_Mode>
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: Cipher_Mode_Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 1
    functionsReached:
    - std::unique_ptr<Cipher_Mode>::release
    linkageType: ''
    returnType: void
    signature: void Cipher_Mode_Filter(std::unique_ptr<Cipher_Mode> t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Cipher_Mode::create_or_throw
      Src: /src/botan/src/lib/filters/filters.h:202,1
    - Dst: auto::release
      Src: /src/botan/src/lib/filters/filters.h:203,1
    - Dst: Cipher_Mode_Filter::Cipher_Mode_Filter
      Src: /src/botan/src/lib/filters/filters.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - algo_spec
    - direction
    argTypes:
    - std::string_view
    - Cipher_Dir
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: get_cipher
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 1
    functionsReached:
    - auto::release
    - Botan::Cipher_Mode::create_or_throw
    - Cipher_Mode_Filter::Cipher_Mode_Filter
    linkageType: ''
    returnType: Keyed_Filter
    signature: Keyed_Filter * get_cipher(std::string_view algo_spec, Cipher_Dir direction)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cipher
      Src: /src/botan/src/lib/filters/filters.h:216,1
    - Dst: Keyed_Filter*::set_key
      Src: /src/botan/src/lib/filters/filters.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - algo_spec
    - ' key'
    - direction
    argTypes:
    - std::string_view
    - SymmetricKey
    - Cipher_Dir
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: get_cipher
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 2
    functionsReached:
    - Keyed_Filter*::set_key
    - get_cipher
    linkageType: ''
    returnType: Keyed_Filter
    signature: Keyed_Filter * get_cipher(std::string_view algo_spec, const SymmetricKey&
      key, Cipher_Dir direction)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cipher
      Src: /src/botan/src/lib/filters/filters.h:235,1
    - Dst: empty
      Src: /src/botan/src/lib/filters/filters.h:236,1
    - Dst: Keyed_Filter*::set_iv
      Src: /src/botan/src/lib/filters/filters.h:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - algo_spec
    - ' key'
    - ' iv'
    - direction
    argTypes:
    - std::string_view
    - SymmetricKey
    - InitializationVector
    - Cipher_Dir
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: get_cipher
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 3
    functionsReached:
    - empty
    - Keyed_Filter*::set_iv
    - get_cipher
    linkageType: ''
    returnType: Keyed_Filter
    signature: "Keyed_Filter * get_cipher(std::string_view algo_spec,\n                                const
      SymmetricKey& key,\n                                const InitializationVector&
      iv,\n                                Cipher_Dir direction)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/filters/filters.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: Keyed_Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 0
    functionsReached:
    - name
    linkageType: ''
    returnType: StreamCipher_Filter
    signature: StreamCipher_Filter Keyed_Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: valid_iv_length
      Src: /src/botan/src/lib/filters/filters.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iv_len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: valid_iv_length
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 10
    functionsReached:
    - valid_iv_length
    linkageType: ''
    returnType: bool
    signature: bool valid_iv_length(size_t iv_len) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_iv
      Src: /src/botan/src/lib/filters/filters.h:264,1
    - Dst: begin
      Src: /src/botan/src/lib/filters/filters.h:264,1
    - Dst: length
      Src: /src/botan/src/lib/filters/filters.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' iv'
    argTypes:
    - InitializationVector
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: set_iv
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 33
    functionsReached:
    - begin
    - set_iv
    - length
    linkageType: ''
    returnType: void
    signature: void set_iv(const InitializationVector& iv) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/filters/filters.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - SymmetricKey
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: set_key
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 142
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void set_key(const SymmetricKey& key) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_spec
      Src: /src/botan/src/lib/filters/filters.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: key_spec
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 26
    functionsReached:
    - key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: Hash_Filter
    signature: Hash_Filter Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/filters/filters.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: name
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 534
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hash
    argTypes:
    - HashFunction*
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: Hash_Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Hash_Filter(HashFunction* hash, size_t len = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: Keyed_Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MAC_Filter
    signature: MAC_Filter Keyed_Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/botan/src/lib/filters/filters.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 356
    functionName: name
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 535
    functionsReached:
    - name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/filters/filters.h:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - SymmetricKey
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: set_key
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 143
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void set_key(const SymmetricKey& key) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_spec
      Src: /src/botan/src/lib/filters/filters.h:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 364
    functionName: key_spec
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 27
    functionsReached:
    - key_spec
    linkageType: ''
    returnType: Key_Length_Specification
    signature: Key_Length_Specification key_spec() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mac
    argTypes:
    - MessageAuthenticationCode*
    constantsTouched: []
    func_position:
      end: 374
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 374
    functionName: MAC_Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MAC_Filter(MessageAuthenticationCode* mac, size_t out_len = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key
      Src: /src/botan/src/lib/filters/filters.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mac
    - ' key'
    argTypes:
    - MessageAuthenticationCode*
    - SymmetricKey
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: MAC_Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 1
    functionsReached:
    - set_key
    linkageType: ''
    returnType: void
    signature: void MAC_Filter(MessageAuthenticationCode* mac, const SymmetricKey&
      key, size_t out_len = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 443
    functionName: Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: Compression_Filter
    signature: Compression_Filter Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 464
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 464
    functionName: Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: Decompression_Filter
    signature: Decompression_Filter Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 473
    functionName: Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: Base64_Encoder
    signature: Base64_Encoder Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 510
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 510
    functionName: Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: Base64_Decoder
    signature: Base64_Decoder Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 574
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 574
    functionName: Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: Hex_Encoder
    signature: Hex_Encoder Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    functionName: Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: Hex_Decoder
    signature: Hex_Decoder Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 608
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 608
    functionName: Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: BitBucket
    signature: BitBucket Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 618
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 618
    functionName: Fanout_Filter
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Chain
    signature: Chain Fanout_Filter
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 620
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 620
    functionName: name
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 535
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 695
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 695
    functionName: final
    functionSourceFile: /src/botan/src/lib/filters/filters.h
    functionUses: 145
    functionsReached: []
    linkageType: ''
    returnType: Threaded_Fork
    signature: Threaded_Fork final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: Botan::start_msg
    functionSourceFile: /src/botan/src/lib/filters/filter.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void start_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: Botan::end_msg
    functionSourceFile: /src/botan/src/lib/filters/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Botan::attachable
    functionSourceFile: /src/botan/src/lib/filters/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool attachable()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ~Filter()
    functionSourceFile: /src/botan/src/lib/filters/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Filter()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: Botan::Filter
    functionSourceFile: /src/botan/src/lib/filters/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(const Filter&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::send
      Src: /src/botan/src/lib/filters/filter.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: Botan::send
    functionSourceFile: /src/botan/src/lib/filters/filter.h
    functionUses: 1
    functionsReached:
    - Botan::send
    linkageType: ''
    returnType: void
    signature: void send(uint8_t in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::send
      Src: /src/botan/src/lib/filters/filter.h:76,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/filters/filter.h:76,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/filters/filter.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Botan::send
    functionSourceFile: /src/botan/src/lib/filters/filter.h
    functionUses: 2
    functionsReached:
    - Botan::send
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void send(std::span<const uint8_t> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: Botan::current_port
    functionSourceFile: /src/botan/src/lib/filters/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t current_port() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Botan::owns
    functionSourceFile: /src/botan/src/lib/filters/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t owns() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/filters/hex_filt.cpp:26,1
    - Dst: resize
      Src: /src/botan/src/lib/filters/hex_filt.cpp:27,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - breaks
    - length
    - c
    argTypes:
    - bool
    - size_t
    - Case
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: Botan::Hex_Encoder::Hex_Encoder
    functionSourceFile: /src/botan/src/lib/filters/hex_filt.cpp
    functionUses: 6
    functionsReached:
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: void Hex_Encoder::Hex_Encoder(bool breaks, size_t length, Case c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/filters/hex_filt.cpp:35,1
    - Dst: resize
      Src: /src/botan/src/lib/filters/hex_filt.cpp:36,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - Case
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: Botan::Hex_Encoder::Hex_Encoder
    functionSourceFile: /src/botan/src/lib/filters/hex_filt.cpp
    functionUses: 6
    functionsReached:
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: void Hex_Encoder::Hex_Encoder(Case c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hex_encode
      Src: /src/botan/src/lib/filters/hex_filt.cpp:44,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/filters/hex_filt.cpp:44,1
    - Dst: data
      Src: /src/botan/src/lib/filters/hex_filt.cpp:44,1
    - Dst: send
      Src: /src/botan/src/lib/filters/hex_filt.cpp:47,1
    - Dst: send
      Src: /src/botan/src/lib/filters/hex_filt.cpp:52,1
    - Dst: send
      Src: /src/botan/src/lib/filters/hex_filt.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - block
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: Botan::Hex_Encoder::encode_and_send
    functionSourceFile: /src/botan/src/lib/filters/hex_filt.cpp
    functionUses: 0
    functionsReached:
    - hex_encode
    - data
    - cast_uint8_ptr_to_char
    - send
    linkageType: ''
    returnType: void
    signature: void Hex_Encoder::encode_and_send(const uint8_t block[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/hex_filt.cpp:69,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:71,1
    - Dst: Botan::Hex_Encoder::encode_and_send
      Src: /src/botan/src/lib/filters/hex_filt.cpp:72,1
    - Dst: data
      Src: /src/botan/src/lib/filters/hex_filt.cpp:72,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:72,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:73,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:74,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:75,1
    - Dst: Botan::Hex_Encoder::encode_and_send
      Src: /src/botan/src/lib/filters/hex_filt.cpp:76,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:76,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:77,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:78,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/hex_filt.cpp:80,1
    - Dst: data
      Src: /src/botan/src/lib/filters/hex_filt.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 84
    functionName: Botan::Hex_Encoder::write
    functionSourceFile: /src/botan/src/lib/filters/hex_filt.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - data
    - Botan::Hex_Encoder::encode_and_send
    - size
    linkageType: ''
    returnType: void
    signature: void Hex_Encoder::write(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Hex_Encoder::encode_and_send
      Src: /src/botan/src/lib/filters/hex_filt.cpp:90,1
    - Dst: data
      Src: /src/botan/src/lib/filters/hex_filt.cpp:90,1
    - Dst: send
      Src: /src/botan/src/lib/filters/hex_filt.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: Botan::Hex_Encoder::end_msg
    functionSourceFile: /src/botan/src/lib/filters/hex_filt.cpp
    functionUses: 0
    functionsReached:
    - data
    - Botan::Hex_Encoder::encode_and_send
    - send
    linkageType: ''
    returnType: void
    signature: void Hex_Encoder::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/botan/src/lib/filters/hex_filt.cpp:101,1
    - Dst: resize
      Src: /src/botan/src/lib/filters/hex_filt.cpp:102,1
    - Dst: size
      Src: /src/botan/src/lib/filters/hex_filt.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - Decoder_Checking
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: Botan::Hex_Decoder::Hex_Decoder
    functionSourceFile: /src/botan/src/lib/filters/hex_filt.cpp
    functionUses: 5
    functionsReached:
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: void Hex_Decoder::Hex_Decoder(Decoder_Checking c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/hex_filt.cpp:112,1
    - Dst: send
      Src: /src/botan/src/lib/filters/hex_filt.cpp:119,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/filters/hex_filt.cpp:122,1
    - Dst: data
      Src: /src/botan/src/lib/filters/hex_filt.cpp:122,1
    - Dst: data
      Src: /src/botan/src/lib/filters/hex_filt.cpp:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 131
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 131
    functionName: Botan::Hex_Decoder::write
    functionSourceFile: /src/botan/src/lib/filters/hex_filt.cpp
    functionUses: 0
    functionsReached:
    - copy_mem
    - data
    - send
    linkageType: ''
    returnType: void
    signature: void Hex_Decoder::write(const uint8_t input[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/botan/src/lib/filters/hex_filt.cpp:141,1
    - Dst: Invalid_Argument
      Src: /src/botan/src/lib/filters/hex_filt.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: Botan::Hex_Decoder::end_msg
    functionSourceFile: /src/botan/src/lib/filters/hex_filt.cpp
    functionUses: 0
    functionsReached:
    - Invalid_Argument
    - send
    linkageType: ''
    returnType: void
    signature: void Hex_Decoder::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Output_Buffers::get
      Src: /src/botan/src/lib/filters/out_buf.cpp:20,1
    - Dst: SecureQueue*::read
      Src: /src/botan/src/lib/filters/out_buf.cpp:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - output
    - length
    - msg
    argTypes:
    - uint8_t[]
    - size_t
    - Pipe::message_id
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: Botan::Output_Buffers::read
    functionSourceFile: /src/botan/src/lib/filters/out_buf.cpp
    functionUses: 0
    functionsReached:
    - Botan::Output_Buffers::get
    - SecureQueue*::read
    linkageType: ''
    returnType: size_t
    signature: size_t Output_Buffers::read(uint8_t output[], size_t length, Pipe::message_id
      msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Output_Buffers::get
      Src: /src/botan/src/lib/filters/out_buf.cpp:31,1
    - Dst: SecureQueue*::peek
      Src: /src/botan/src/lib/filters/out_buf.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - output
    - length
    - stream_offset
    - msg
    argTypes:
    - uint8_t[]
    - size_t
    - size_t
    - Pipe::message_id
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: Botan::Output_Buffers::peek
    functionSourceFile: /src/botan/src/lib/filters/out_buf.cpp
    functionUses: 0
    functionsReached:
    - Botan::Output_Buffers::get
    - SecureQueue*::peek
    linkageType: ''
    returnType: size_t
    signature: size_t Output_Buffers::peek(uint8_t output[], size_t length, size_t
      stream_offset, Pipe::message_id msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Output_Buffers::get
      Src: /src/botan/src/lib/filters/out_buf.cpp:42,1
    - Dst: SecureQueue*::size
      Src: /src/botan/src/lib/filters/out_buf.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - Pipe::message_id
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: Botan::Output_Buffers::remaining
    functionSourceFile: /src/botan/src/lib/filters/out_buf.cpp
    functionUses: 0
    functionsReached:
    - SecureQueue*::size
    - Botan::Output_Buffers::get
    linkageType: ''
    returnType: size_t
    signature: size_t Output_Buffers::remaining(Pipe::message_id msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Output_Buffers::get
      Src: /src/botan/src/lib/filters/out_buf.cpp:53,1
    - Dst: SecureQueue*::get_bytes_read
      Src: /src/botan/src/lib/filters/out_buf.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - Pipe::message_id
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: Botan::Output_Buffers::get_bytes_read
    functionSourceFile: /src/botan/src/lib/filters/out_buf.cpp
    functionUses: 0
    functionsReached:
    - Botan::Output_Buffers::get
    - SecureQueue*::get_bytes_read
    linkageType: ''
    returnType: size_t
    signature: size_t Output_Buffers::get_bytes_read(Pipe::message_id msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/filters/out_buf.cpp:64,1
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/filters/out_buf.cpp:66,1
    - Dst: size
      Src: /src/botan/src/lib/filters/out_buf.cpp:66,1
    - Dst: max_size
      Src: /src/botan/src/lib/filters/out_buf.cpp:66,1
    - Dst: push_back
      Src: /src/botan/src/lib/filters/out_buf.cpp:68,1
    - Dst: std::unique_ptr<SecureQueue>
      Src: /src/botan/src/lib/filters/out_buf.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - queue
    argTypes:
    - SecureQueue*
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: Botan::Output_Buffers::add
    functionSourceFile: /src/botan/src/lib/filters/out_buf.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::unique_ptr<SecureQueue>
    - push_back
    - BOTAN_ASSERT
    - max_size
    linkageType: ''
    returnType: void
    signature: void Output_Buffers::add(SecureQueue* queue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/botan/src/lib/filters/out_buf.cpp:76,1
    - Dst: reset
      Src: /src/botan/src/lib/filters/out_buf.cpp:77,1
    - Dst: empty
      Src: /src/botan/src/lib/filters/out_buf.cpp:81,1
    - Dst: pop_front
      Src: /src/botan/src/lib/filters/out_buf.cpp:82,1
    - Dst: Pipe::message_id
      Src: /src/botan/src/lib/filters/out_buf.cpp:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: Botan::Output_Buffers::retire
    functionSourceFile: /src/botan/src/lib/filters/out_buf.cpp
    functionUses: 0
    functionsReached:
    - empty
    - reset
    - pop_front
    - Pipe::message_id
    linkageType: ''
    returnType: void
    signature: void Output_Buffers::retire()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT
      Src: /src/botan/src/lib/filters/out_buf.cpp:95,1
    - Dst: Botan::Output_Buffers::message_count
      Src: /src/botan/src/lib/filters/out_buf.cpp:95,1
    - Dst: Botan::Output_Buffers::get
      Src: /src/botan/src/lib/filters/out_buf.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - Pipe::message_id
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: Botan::Output_Buffers::get
    functionSourceFile: /src/botan/src/lib/filters/out_buf.cpp
    functionUses: 5
    functionsReached:
    - Botan::Output_Buffers::get
    - Botan::Output_Buffers::message_count
    - BOTAN_ASSERT
    linkageType: ''
    returnType: SecureQueue
    signature: SecureQueue * Output_Buffers::get(Pipe::message_id msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/botan/src/lib/filters/out_buf.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Botan::Output_Buffers::message_count
    functionSourceFile: /src/botan/src/lib/filters/out_buf.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: Pipe::message_id
    signature: Pipe::message_id Output_Buffers::message_count() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: Botan::Output_Buffers::Output_Buffers
    functionSourceFile: /src/botan/src/lib/filters/out_buf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Output_Buffers::Output_Buffers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::DataSink_Stream::write
      Src: /src/botan/src/lib/filters/data_snk.cpp:27,1
    - Dst: cast_uint8_ptr_to_char
      Src: /src/botan/src/lib/filters/data_snk.cpp:27,1
    - Dst: good
      Src: /src/botan/src/lib/filters/data_snk.cpp:28,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/filters/data_snk.cpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - out
    - length
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: Botan::DataSink_Stream::write
    functionSourceFile: /src/botan/src/lib/filters/data_snk.cpp
    functionUses: 1
    functionsReached:
    - Botan::DataSink_Stream::write
    - Stream_IO_Error
    - cast_uint8_ptr_to_char
    - good
    linkageType: ''
    returnType: void
    signature: void DataSink_Stream::write(const uint8_t out[], size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flush
      Src: /src/botan/src/lib/filters/data_snk.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Botan::DataSink_Stream::end_msg
    functionSourceFile: /src/botan/src/lib/filters/data_snk.cpp
    functionUses: 0
    functionsReached:
    - flush
    linkageType: ''
    returnType: void
    signature: void DataSink_Stream::end_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' out'
    - name
    argTypes:
    - std::ostream
    - std::string_view
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: Botan::DataSink_Stream::DataSink_Stream
    functionSourceFile: /src/botan/src/lib/filters/data_snk.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataSink_Stream::DataSink_Stream(std::ostream& out, std::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<std::ofstream>
      Src: /src/botan/src/lib/filters/data_snk.cpp:52,1
    - Dst: std::string
      Src: /src/botan/src/lib/filters/data_snk.cpp:52,1
    - Dst: good
      Src: /src/botan/src/lib/filters/data_snk.cpp:54,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/filters/data_snk.cpp:55,1
    - Dst: fmt
      Src: /src/botan/src/lib/filters/data_snk.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - path
    - use_binary
    argTypes:
    - std::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: Botan::DataSink_Stream::DataSink_Stream
    functionSourceFile: /src/botan/src/lib/filters/data_snk.cpp
    functionUses: 2
    functionsReached:
    - good
    - fmt
    - std::string
    - std::make_unique<std::ofstream>
    - Stream_IO_Error
    linkageType: ''
    returnType: void
    signature: void DataSink_Stream::DataSink_Stream(std::string_view path, bool use_binary)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: DataSink_Stream::~DataSink_Stream()
    functionSourceFile: /src/botan/src/lib/filters/data_snk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DataSink_Stream::~DataSink_Stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remaining
      Src: /src/botan/src/lib/filters/fd_unix/fd_unix.cpp:20,1
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/filters/fd_unix/fd_unix.cpp:26,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/filters/fd_unix/fd_unix.cpp:29,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/filters/fd_unix/fd_unix.cpp:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - fd
    - ' pipe'
    argTypes:
    - int
    - Pipe
    constantsTouched: []
    func_position:
      end: 34
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 34
    functionName: operator<<(int fd, Pipe& pipe)
    functionSourceFile: /src/botan/src/lib/filters/fd_unix/fd_unix.cpp
    functionUses: 0
    functionsReached:
    - remaining
    - static_cast<size_t>
    - Stream_IO_Error
    linkageType: ''
    returnType: int
    signature: int operator<<(int fd, Pipe& pipe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Stream_IO_Error
      Src: /src/botan/src/lib/filters/fd_unix/fd_unix.cpp:44,1
    - Dst: Botan::write
      Src: /src/botan/src/lib/filters/fd_unix/fd_unix.cpp:48,1
    - Dst: secure_vector::data
      Src: /src/botan/src/lib/filters/fd_unix/fd_unix.cpp:48,1
    - Dst: static_cast<size_t>
      Src: /src/botan/src/lib/filters/fd_unix/fd_unix.cpp:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - fd
    - ' pipe'
    argTypes:
    - int
    - Pipe
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: operator>>(int fd, Pipe& pipe)
    functionSourceFile: /src/botan/src/lib/filters/fd_unix/fd_unix.cpp
    functionUses: 0
    functionsReached:
    - secure_vector::data
    - Botan::write
    - static_cast<size_t>
    - Stream_IO_Error
    linkageType: ''
    returnType: int
    signature: int operator>>(int fd, Pipe& pipe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:19,1
    - Dst: Botan::HashFunction::create
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:27,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:32,1
    - Dst: botan_hash_struct::botan_hash_struct
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:32,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - hash
    - hash_name
    - flags
    argTypes:
    - botan_hash_t*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 35
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 35
    functionName: botan_hash_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hash.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - std::move
    - Botan::HashFunction::create
    - botan_hash_struct::botan_hash_struct
    linkageType: ''
    returnType: int
    signature: int botan_hash_init(botan_hash_t* hash, const char* hash_name, uint32_t
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - botan_hash_t
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: botan_hash_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hash.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_hash_destroy(botan_hash_t hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:45,1
    - Dst: output_length
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hash
    - out
    argTypes:
    - botan_hash_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: botan_hash_output_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hash.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - output_length
    linkageType: ''
    returnType: int
    signature: int botan_hash_output_length(botan_hash_t hash, size_t* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:52,1
    - Dst: hash_block_size
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hash
    - out
    argTypes:
    - botan_hash_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: botan_hash_block_size
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hash.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - hash_block_size
    linkageType: ''
    returnType: int
    signature: int botan_hash_block_size(botan_hash_t hash, size_t* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:56,1
    - Dst: clear
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hash
    argTypes:
    - botan_hash_t
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: botan_hash_clear
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hash.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - clear
    linkageType: ''
    returnType: int
    signature: int botan_hash_clear(botan_hash_t hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:68,1
    - Dst: update
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - hash
    - buf
    - len
    argTypes:
    - botan_hash_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: botan_hash_update
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hash.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - update
    linkageType: ''
    returnType: int
    signature: int botan_hash_update(botan_hash_t hash, const uint8_t* buf, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:75,1
    - Dst: final
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hash
    - out
    argTypes:
    - botan_hash_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: botan_hash_final
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hash.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - final
    linkageType: ''
    returnType: int
    signature: int botan_hash_final(botan_hash_t hash, uint8_t out[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:79,1
    - Dst: copy_state
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:79,1
    - Dst: botan_hash_struct::botan_hash_struct
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - source
    argTypes:
    - botan_hash_t*
    - botan_hash_t
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: botan_hash_copy_state
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hash.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - botan_hash_struct::botan_hash_struct
    - copy_state
    linkageType: ''
    returnType: int
    signature: int botan_hash_copy_state(botan_hash_t* dest, const botan_hash_t source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:87,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:87,1
    - Dst: name
      Src: /src/botan/src/lib/ffi/ffi_hash.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - hash
    - name
    - name_len
    argTypes:
    - botan_hash_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: botan_hash_name
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hash.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_VISIT
    - name
    - write_str_output
    linkageType: ''
    returnType: int
    signature: int botan_hash_name(botan_hash_t hash, char* name, size_t* name_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:19,1
    - Dst: Botan::BlockCipher::create
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:26,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:31,1
    - Dst: botan_block_cipher_struct::botan_block_cipher_struct
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - bc
    - bc_name
    argTypes:
    - botan_block_cipher_t*
    - char*
    constantsTouched: []
    func_position:
      end: 34
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 34
    functionName: botan_block_cipher_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_block.cpp
    functionUses: 0
    functionsReached:
    - botan_block_cipher_struct::botan_block_cipher_struct
    - ffi_guard_thunk
    - Botan::BlockCipher::create
    - std::move
    linkageType: ''
    returnType: int
    signature: int botan_block_cipher_init(botan_block_cipher_t* bc, const char* bc_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bc
    argTypes:
    - botan_block_cipher_t
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: botan_block_cipher_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_block.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_block_cipher_destroy(botan_block_cipher_t bc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:44,1
    - Dst: clear
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bc
    argTypes:
    - botan_block_cipher_t
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: botan_block_cipher_clear
    functionSourceFile: /src/botan/src/lib/ffi/ffi_block.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - clear
    linkageType: ''
    returnType: int
    signature: int botan_block_cipher_clear(botan_block_cipher_t bc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:54,1
    - Dst: set_key
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bc
    - key
    - len
    argTypes:
    - botan_block_cipher_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: botan_block_cipher_set_key
    functionSourceFile: /src/botan/src/lib/ffi/ffi_block.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - set_key
    linkageType: ''
    returnType: int
    signature: int botan_block_cipher_set_key(botan_block_cipher_t bc, const uint8_t
      key[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:62,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:62,1
    - Dst: block_size
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bc
    argTypes:
    - botan_block_cipher_t
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: botan_block_cipher_block_size
    functionSourceFile: /src/botan/src/lib/ffi/ffi_block.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - static_cast<int>
    - block_size
    linkageType: ''
    returnType: int
    signature: int botan_block_cipher_block_size(botan_block_cipher_t bc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:69,1
    - Dst: encrypt_n
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - bc
    - in
    - out
    - blocks
    argTypes:
    - botan_block_cipher_t
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: botan_block_cipher_encrypt_blocks
    functionSourceFile: /src/botan/src/lib/ffi/ffi_block.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - encrypt_n
    linkageType: ''
    returnType: int
    signature: int botan_block_cipher_encrypt_blocks(botan_block_cipher_t bc, const
      uint8_t in[], uint8_t out[], size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:76,1
    - Dst: decrypt_n
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - bc
    - in
    - out
    - blocks
    argTypes:
    - botan_block_cipher_t
    - uint8_t[]
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: botan_block_cipher_decrypt_blocks
    functionSourceFile: /src/botan/src/lib/ffi/ffi_block.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - decrypt_n
    linkageType: ''
    returnType: int
    signature: int botan_block_cipher_decrypt_blocks(botan_block_cipher_t bc, const
      uint8_t in[], uint8_t out[], size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:84,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:84,1
    - Dst: name
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cipher
    - name
    - name_len
    argTypes:
    - botan_block_cipher_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: botan_block_cipher_name
    functionSourceFile: /src/botan/src/lib/ffi/ffi_block.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - name
    - write_str_output
    linkageType: ''
    returnType: int
    signature: int botan_block_cipher_name(botan_block_cipher_t cipher, char* name,
      size_t* name_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:91,1
    - Dst: minimum_keylength
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:93,1
    - Dst: maximum_keylength
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:96,1
    - Dst: key_spec
      Src: /src/botan/src/lib/ffi/ffi_block.cpp:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - cipher
    - out_minimum_keylength
    - out_maximum_keylength
    - out_keylength_modulo
    argTypes:
    - botan_block_cipher_t
    - size_t*
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: botan_block_cipher_get_keyspec
    functionSourceFile: /src/botan/src/lib/ffi/ffi_block.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - key_spec
    - minimum_keylength
    - maximum_keylength
    linkageType: ''
    returnType: int
    signature: "int botan_block_cipher_get_keyspec(botan_block_cipher_t cipher,\n
      \                                  size_t* out_minimum_keylength,\n                                   size_t*
      out_maximum_keylength,\n                                   size_t* out_keylength_modulo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 1
    argNames:
    - err
    argTypes:
    - Botan::ErrorType
    constantsTouched: []
    func_position:
      end: 82
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 82
    functionName: Botan_FFI::ffi_map_error_type
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ffi_map_error_type(Botan::ErrorType err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/botan/src/lib/ffi/ffi.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: Botan_FFI::ffi_clear_last_exception
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ffi_clear_last_exception()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/botan/src/lib/ffi/ffi.cpp:91,1
    - Dst: Botan::OS::read_env_variable
      Src: /src/botan/src/lib/ffi/ffi.cpp:95,1
    - Dst: std::string::empty
      Src: /src/botan/src/lib/ffi/ffi.cpp:95,1
    - Dst: static_cast<void>
      Src: /src/botan/src/lib/ffi/ffi.cpp:96,1
    - Dst: std::fprintf
      Src: /src/botan/src/lib/ffi/ffi.cpp:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - func_name
    - exn
    - rc
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: Botan_FFI::ffi_error_exception_thrown
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - Botan::OS::read_env_variable
    - std::fprintf
    - assign
    - std::string::empty
    - static_cast<void>
    linkageType: ''
    returnType: int
    signature: int ffi_error_exception_thrown(const char* func_name, const char* exn,
      int rc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_FFI::ffi_error_exception_thrown
      Src: /src/botan/src/lib/ffi/ffi.cpp:104,1
    - Dst: Botan_FFI::ffi_map_error_type
      Src: /src/botan/src/lib/ffi/ffi.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - func_name
    - exn
    - err
    argTypes:
    - char*
    - char*
    - Botan::ErrorType
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Botan_FFI::ffi_error_exception_thrown
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 1
    functionsReached:
    - Botan_FFI::ffi_map_error_type
    - Botan_FFI::ffi_error_exception_thrown
    linkageType: ''
    returnType: int
    signature: int ffi_error_exception_thrown(const char* func_name, const char* exn,
      Botan::ErrorType err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_FFI::botan_view_bin_bounce_fn
      Src: /src/botan/src/lib/ffi/ffi.cpp:108,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/lib/ffi/ffi.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vctx
    - str
    - len
    argTypes:
    - botan_view_ctx
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: Botan_FFI::botan_view_str_bounce_fn
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - Botan_FFI::botan_view_bin_bounce_fn
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: int
    signature: int botan_view_str_bounce_fn(botan_view_ctx vctx, const char* str,
      size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<botan_view_bounce_struct*>
      Src: /src/botan/src/lib/ffi/ffi.cpp:116,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/ffi/ffi.cpp:123,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/ffi/ffi.cpp:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - vctx
    - buf
    - len
    argTypes:
    - botan_view_ctx
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 130
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 130
    functionName: Botan_FFI::botan_view_bin_bounce_fn
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 1
    functionsReached:
    - static_cast<botan_view_bounce_struct*>
    - Botan::copy_mem
    - Botan::clear_mem
    linkageType: ''
    returnType: int
    signature: int botan_view_bin_bounce_fn(botan_view_ctx vctx, const uint8_t* buf,
      size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/botan/src/lib/ffi/ffi.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: botan_error_last_exception_message
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * botan_error_last_exception_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 213
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 213
    functionName: botan_error_description
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * botan_error_description(int err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: botan_ffi_api_version
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t botan_ffi_api_version()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - api_version
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 280
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 280
    functionName: botan_ffi_supports_api
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int botan_ffi_supports_api(uint32_t api_version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::version_cstr
      Src: /src/botan/src/lib/ffi/ffi.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: botan_version_string
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 1
    functionsReached:
    - Botan::version_cstr
    linkageType: ''
    returnType: char
    signature: char * botan_version_string()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::version_major
      Src: /src/botan/src/lib/ffi/ffi.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: botan_version_major
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 1
    functionsReached:
    - Botan::version_major
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t botan_version_major()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::version_minor
      Src: /src/botan/src/lib/ffi/ffi.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: botan_version_minor
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 1
    functionsReached:
    - Botan::version_minor
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t botan_version_minor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::version_patch
      Src: /src/botan/src/lib/ffi/ffi.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: botan_version_patch
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 1
    functionsReached:
    - Botan::version_patch
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t botan_version_patch()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::version_datestamp
      Src: /src/botan/src/lib/ffi/ffi.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: botan_version_datestamp
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 1
    functionsReached:
    - Botan::version_datestamp
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t botan_version_datestamp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::CT::is_equal
      Src: /src/botan/src/lib/ffi/ffi.cpp:303,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/ffi/ffi.cpp:305,1
    - Dst: auto::select
      Src: /src/botan/src/lib/ffi/ffi.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - len
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: botan_constant_time_compare
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - Botan::CT::is_equal
    - static_cast<int>
    - auto::select
    linkageType: ''
    returnType: int
    signature: int botan_constant_time_compare(const uint8_t* x, const uint8_t* y,
      size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_constant_time_compare
      Src: /src/botan/src/lib/ffi/ffi.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - len
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 4
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: botan_same_mem
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - botan_constant_time_compare
    linkageType: ''
    returnType: int
    signature: int botan_same_mem(const uint8_t* x, const uint8_t* y, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::secure_scrub_memory
      Src: /src/botan/src/lib/ffi/ffi.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mem
    - bytes
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: botan_scrub_mem
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - Botan::secure_scrub_memory
    linkageType: ''
    returnType: int
    signature: int botan_scrub_mem(void* mem, size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi.cpp:318,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/lib/ffi/ffi.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - in
    - len
    - out
    - flags
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: botan_hex_encode
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - Botan::hex_encode
    linkageType: ''
    returnType: int
    signature: int botan_hex_encode(const uint8_t* in, size_t len, char* out, uint32_t
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi.cpp:326,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/lib/ffi/ffi.cpp:327,1
    - Dst: Botan_FFI::write_vec_output
      Src: /src/botan/src/lib/ffi/ffi.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - hex_str
    - in_len
    - out
    - out_len
    argTypes:
    - char*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: botan_hex_decode
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - Botan::hex_decode
    - Botan_FFI::write_vec_output
    linkageType: ''
    returnType: int
    signature: int botan_hex_decode(const char* hex_str, size_t in_len, uint8_t* out,
      size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi.cpp:333,1
    - Dst: Botan::base64_encode
      Src: /src/botan/src/lib/ffi/ffi.cpp:334,1
    - Dst: Botan_FFI::write_str_output
      Src: /src/botan/src/lib/ffi/ffi.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - in
    - len
    - out
    - out_len
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: botan_base64_encode
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - Botan::base64_encode
    - ffi_guard_thunk
    - Botan_FFI::write_str_output
    linkageType: ''
    returnType: int
    signature: int botan_base64_encode(const uint8_t* in, size_t len, char* out, size_t*
      out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi.cpp:340,1
    - Dst: Botan::base64_decode_max_output
      Src: /src/botan/src/lib/ffi/ffi.cpp:341,1
    - Dst: Botan::base64_decode_max_output
      Src: /src/botan/src/lib/ffi/ffi.cpp:342,1
    - Dst: Botan::base64_decode
      Src: /src/botan/src/lib/ffi/ffi.cpp:346,1
    - Dst: std::string
      Src: /src/botan/src/lib/ffi/ffi.cpp:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - base64_str
    - in_len
    - out
    - out_len
    argTypes:
    - char*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 349
      start: 339
    functionDepth: 4
    functionLinenumber: 339
    functionLinenumberEnd: 349
    functionName: botan_base64_decode
    functionSourceFile: /src/botan/src/lib/ffi/ffi.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - std::string
    - Botan::base64_decode_max_output
    - Botan::base64_decode
    linkageType: ''
    returnType: int
    signature: int botan_base64_decode(const char* base64_str, size_t in_len, uint8_t*
      out, size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ec_group
    argTypes:
    - botan_ec_group_t
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: botan_ec_group_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_destroy(botan_ec_group_t ec_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - out
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: botan_ec_group_supports_application_specific_group
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_application_specific_group
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_supports_application_specific_group(int* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:37,1
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - name
    - out
    argTypes:
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: botan_ec_group_supports_named_group
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - Botan::EC_Group::supports_named_group
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_supports_named_group(const char* name, int* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:58,1
    - Dst: std::make_unique<Botan::EC_Group>
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:66,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:66,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:67,1
    - Dst: botan_ec_group_struct::botan_ec_group_struct
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - ec_group
    - oid
    - p
    - a
    - b
    - base_x
    - base_y
    - order
    argTypes:
    - botan_ec_group_t*
    - botan_asn1_oid_t
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 71
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 71
    functionName: botan_ec_group_from_params
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - botan_ec_group_struct::botan_ec_group_struct
    - ffi_guard_thunk
    - std::make_unique<Botan::EC_Group>
    - std::move
    linkageType: ''
    returnType: int
    signature: "int botan_ec_group_from_params(botan_ec_group_t* ec_group,\n                               botan_asn1_oid_t
      oid,\n                               botan_mp_t p,\n                               botan_mp_t
      a,\n                               botan_mp_t b,\n                               botan_mp_t
      base_x,\n                               botan_mp_t base_y,\n                               botan_mp_t
      order)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:74,1
    - Dst: std::make_unique<Botan::EC_Group>
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:81,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:81,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:82,1
    - Dst: botan_ec_group_struct::botan_ec_group_struct
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ec_group
    - ber
    - ber_len
    argTypes:
    - botan_ec_group_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: botan_ec_group_from_ber
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - botan_ec_group_struct::botan_ec_group_struct
    - ffi_guard_thunk
    - std::make_unique<Botan::EC_Group>
    - std::move
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_from_ber(botan_ec_group_t* ec_group, const uint8_t*
      ber, size_t ber_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:89,1
    - Dst: Botan::EC_Group::from_PEM
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:94,1
    - Dst: std::make_unique<Botan::EC_Group>
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:96,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:96,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:97,1
    - Dst: botan_ec_group_struct::botan_ec_group_struct
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ec_group
    - pem
    argTypes:
    - botan_ec_group_t*
    - char*
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: botan_ec_group_from_pem
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::from_PEM
    - ffi_guard_thunk
    - std::make_unique<Botan::EC_Group>
    - botan_ec_group_struct::botan_ec_group_struct
    - std::move
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_from_pem(botan_ec_group_t* ec_group, const char*
      pem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:104,1
    - Dst: Botan::EC_Group::from_OID
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:109,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:109,1
    - Dst: std::make_unique<Botan::EC_Group>
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:111,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:111,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:112,1
    - Dst: botan_ec_group_struct::botan_ec_group_struct
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ec_group
    - oid
    argTypes:
    - botan_ec_group_t*
    - botan_asn1_oid_t
    constantsTouched: []
    func_position:
      end: 116
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 116
    functionName: botan_ec_group_from_oid
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::from_OID
    - ffi_guard_thunk
    - std::make_unique<Botan::EC_Group>
    - botan_ec_group_struct::botan_ec_group_struct
    - std::move
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_from_oid(botan_ec_group_t* ec_group, botan_asn1_oid_t
      oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:119,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:124,1
    - Dst: std::make_unique<Botan::EC_Group>
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:126,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:126,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:127,1
    - Dst: botan_ec_group_struct::botan_ec_group_struct
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ec_group
    - name
    argTypes:
    - botan_ec_group_t*
    - char*
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: botan_ec_group_from_name
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - std::make_unique<Botan::EC_Group>
    - botan_ec_group_struct::botan_ec_group_struct
    - std::move
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_from_name(botan_ec_group_t* ec_group, const char*
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:134,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:135,1
    - Dst: DER_encode
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ec_group
    - ctx
    - view
    argTypes:
    - botan_ec_group_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: botan_ec_group_view_der
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - DER_encode
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_view_der(botan_ec_group_t ec_group, botan_view_ctx
      ctx, botan_view_bin_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:139,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:140,1
    - Dst: PEM_encode
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ec_group
    - ctx
    - view
    argTypes:
    - botan_ec_group_t
    - botan_view_ctx
    - botan_view_str_fn
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: botan_ec_group_view_pem
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - PEM_encode
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_view_pem(botan_ec_group_t ec_group, botan_view_ctx
      ctx, botan_view_str_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:145,1
    - Dst: std::make_unique<Botan::OID>
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:149,1
    - Dst: get_curve_oid
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:149,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:150,1
    - Dst: botan_asn1_oid_struct::botan_asn1_oid_struct
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - oid
    - ec_group
    argTypes:
    - botan_asn1_oid_t*
    - botan_ec_group_t
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: botan_ec_group_get_curve_oid
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::OID>
    - BOTAN_FFI_VISIT
    - botan_asn1_oid_struct::botan_asn1_oid_struct
    - get_curve_oid
    - std::move
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_get_curve_oid(botan_asn1_oid_t* oid, botan_ec_group_t
      ec_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:160,1
    - Dst: std::make_unique<Botan::BigInt>
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:164,1
    - Dst: getter
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:164,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:165,1
    - Dst: botan_mp_struct::botan_mp_struct
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - out
    - ec_group
    - ' getter'
    argTypes:
    - botan_mp_t*
    - botan_ec_group_t
    - std::function<const Botan::BigInt&(const Botan::EC_Group&)>
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: botan_ec_group_get_component
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::BigInt>
    - BOTAN_FFI_VISIT
    - botan_mp_struct::botan_mp_struct
    - getter
    - std::move
    linkageType: ''
    returnType: int
    signature: "int botan_ec_group_get_component(botan_mp_t* out,\n                                 botan_ec_group_t
      ec_group,\n                                 const std::function<const Botan::BigInt&(const
      Botan::EC_Group&)>& getter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_ec_group_get_component
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:172,1
    - Dst: get_p
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - ec_group
    argTypes:
    - botan_mp_t*
    - botan_ec_group_t
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: botan_ec_group_get_p
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - get_p
    - botan_ec_group_get_component
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_get_p(botan_mp_t* p, botan_ec_group_t ec_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_ec_group_get_component
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:176,1
    - Dst: get_a
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - ec_group
    argTypes:
    - botan_mp_t*
    - botan_ec_group_t
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: botan_ec_group_get_a
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - botan_ec_group_get_component
    - get_a
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_get_a(botan_mp_t* a, botan_ec_group_t ec_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_ec_group_get_component
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:180,1
    - Dst: get_b
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - ec_group
    argTypes:
    - botan_mp_t*
    - botan_ec_group_t
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: botan_ec_group_get_b
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - botan_ec_group_get_component
    - get_b
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_get_b(botan_mp_t* b, botan_ec_group_t ec_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_ec_group_get_component
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:184,1
    - Dst: get_g_x
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - g_x
    - ec_group
    argTypes:
    - botan_mp_t*
    - botan_ec_group_t
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: botan_ec_group_get_g_x
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - get_g_x
    - botan_ec_group_get_component
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_get_g_x(botan_mp_t* g_x, botan_ec_group_t ec_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_ec_group_get_component
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:189,1
    - Dst: get_g_y
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - g_y
    - ec_group
    argTypes:
    - botan_mp_t*
    - botan_ec_group_t
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: botan_ec_group_get_g_y
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - botan_ec_group_get_component
    - get_g_y
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_get_g_y(botan_mp_t* g_y, botan_ec_group_t ec_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_ec_group_get_component
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:194,1
    - Dst: get_order
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - order
    - ec_group
    argTypes:
    - botan_mp_t*
    - botan_ec_group_t
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: botan_ec_group_get_order
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - get_order
    - botan_ec_group_get_component
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_get_order(botan_mp_t* order, botan_ec_group_t ec_group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:199,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_ec.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - curve1_w
    - curve2_w
    argTypes:
    - botan_ec_group_t
    - botan_ec_group_t
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: botan_ec_group_equal
    functionSourceFile: /src/botan/src/lib/ffi/ffi_ec.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_ec_group_equal(botan_ec_group_t curve1_w, botan_ec_group_t
      curve2_w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:34,1
    - Dst: std::make_unique<Botan::System_RNG>
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:44,1
    - Dst: std::make_unique<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:46,1
    - Dst: std::make_unique<Botan::Null_RNG>
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:48,1
    - Dst: Botan::Processor_RNG::available
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:51,1
    - Dst: std::make_unique<Botan::Processor_RNG>
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:52,1
    - Dst: std::make_unique<Botan::Jitter_RNG>
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:57,1
    - Dst: std::make_unique<Botan::ESDM_RNG>
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:62,1
    - Dst: std::make_unique<Botan::ESDM_RNG>
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:64,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:72,1
    - Dst: botan_rng_struct::botan_rng_struct
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:72,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - rng_out
    - rng_type
    argTypes:
    - botan_rng_t*
    - char*
    constantsTouched: []
    func_position:
      end: 75
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 75
    functionName: botan_rng_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_rng.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<Botan::AutoSeeded_RNG>
    - std::make_unique<Botan::Null_RNG>
    - ffi_guard_thunk
    - std::make_unique<Botan::Jitter_RNG>
    - std::make_unique<Botan::Processor_RNG>
    - std::make_unique<Botan::ESDM_RNG>
    - std::move
    - botan_rng_struct::botan_rng_struct
    - Botan::Processor_RNG::available
    - std::make_unique<Botan::System_RNG>
    linkageType: ''
    returnType: int
    signature: int botan_rng_init(botan_rng_t* rng_out, const char* rng_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:83,1
    - Dst: m_destroy_cb
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:112,1
    - Dst: accepts_input
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:123,1
    - Dst: empty
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:123,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:126,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:126,1
    - Dst: empty
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:130,1
    - Dst: Invalid_State
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:133,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:133,1
    - Dst: std::make_unique<Custom_RNG>
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:155,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:157,1
    - Dst: botan_rng_struct::botan_rng_struct
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:157,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - rng_out
    - rng_name
    - context
    argTypes:
    - botan_rng_t*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 160
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 160
    functionName: botan_rng_init_custom
    functionSourceFile: /src/botan/src/lib/ffi/ffi_rng.cpp
    functionUses: 0
    functionsReached:
    - Invalid_State
    - ffi_guard_thunk
    - std::to_string
    - empty
    - accepts_input
    - std::move
    - botan_rng_struct::botan_rng_struct
    - std::make_unique<Custom_RNG>
    - m_destroy_cb
    linkageType: ''
    returnType: int
    signature: "int botan_rng_init_custom(botan_rng_t* rng_out,\n                          const
      char* rng_name,\n                          void* context,\n                          int
      (*get_cb)(void* context, uint8_t* out, size_t out_len),\n                          int
      (*add_entropy_cb)(void* context, const uint8_t input[], size_t length),\n                          void
      (*destroy_cb)(void* context))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rng
    argTypes:
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: botan_rng_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_rng.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_rng_destroy(botan_rng_t rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:167,1
    - Dst: randomize
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rng
    - out
    - out_len
    argTypes:
    - botan_rng_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: botan_rng_get
    functionSourceFile: /src/botan/src/lib/ffi/ffi_rng.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - randomize
    linkageType: ''
    returnType: int
    signature: int botan_rng_get(botan_rng_t rng, uint8_t* out, size_t out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:171,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - out_len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: botan_system_rng_get
    functionSourceFile: /src/botan/src/lib/ffi/ffi_rng.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - Botan::system_rng
    linkageType: ''
    returnType: int
    signature: int botan_system_rng_get(uint8_t* out, size_t out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:178,1
    - Dst: reseed_from_rng
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:178,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rng
    - bits
    argTypes:
    - botan_rng_t
    - size_t
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: botan_rng_reseed
    functionSourceFile: /src/botan/src/lib/ffi/ffi_rng.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - Botan::system_rng
    - reseed_from_rng
    linkageType: ''
    returnType: int
    signature: int botan_rng_reseed(botan_rng_t rng, size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:182,1
    - Dst: add_entropy
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rng
    - input
    - len
    argTypes:
    - botan_rng_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: botan_rng_add_entropy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_rng.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - add_entropy
    linkageType: ''
    returnType: int
    signature: int botan_rng_add_entropy(botan_rng_t rng, const uint8_t* input, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:186,1
    - Dst: reseed_from_rng
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:186,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_rng.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rng
    - source_rng
    - bits
    argTypes:
    - botan_rng_t
    - botan_rng_t
    - size_t
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: botan_rng_reseed_from_rng
    functionSourceFile: /src/botan/src/lib/ffi/ffi_rng.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - reseed_from_rng
    linkageType: ''
    returnType: int
    signature: int botan_rng_reseed_from_rng(botan_rng_t rng, botan_rng_t source_rng,
      size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:37,1
    - Dst: std::make_unique<Botan::X509_Certificate>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:38,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:39,1
    - Dst: botan_x509_cert_struct::botan_x509_cert_struct
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - cert_obj
    - cert_path
    argTypes:
    - botan_x509_cert_t*
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: botan_x509_cert_load_file
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - std::move
    - std::make_unique<Botan::X509_Certificate>
    - botan_x509_cert_struct::botan_x509_cert_struct
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_load_file(botan_x509_cert_t* cert_obj, const char*
      cert_path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:55,1
    - Dst: std::make_unique<Botan::X509_Certificate>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:56,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:56,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:57,1
    - Dst: botan_x509_cert_struct::botan_x509_cert_struct
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:57,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - cert_obj
    - cert
    argTypes:
    - botan_x509_cert_t*
    - botan_x509_cert_t
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: botan_x509_cert_dup
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::X509_Certificate>
    - ffi_guard_thunk
    - botan_x509_cert_struct::botan_x509_cert_struct
    - std::move
    - BOTAN_UNUSED
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_dup(botan_x509_cert_t* cert_obj, botan_x509_cert_t
      cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:73,1
    - Dst: std::make_unique<Botan::X509_Certificate>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:75,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:76,1
    - Dst: botan_x509_cert_struct::botan_x509_cert_struct
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:76,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cert_obj
    - cert_bits
    - cert_bits_len
    argTypes:
    - botan_x509_cert_t*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 83
    functionName: botan_x509_cert_load
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::X509_Certificate>
    - ffi_guard_thunk
    - botan_x509_cert_struct::botan_x509_cert_struct
    - BOTAN_UNUSED
    - std::move
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_load(botan_x509_cert_t* cert_obj, const uint8_t
      cert_bits[], size_t cert_bits_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:93,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:94,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:95,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:95,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - cert
    - key
    argTypes:
    - botan_x509_cert_t
    - botan_pubkey_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: botan_x509_cert_get_public_key
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_struct::botan_pubkey_struct
    - ffi_guard_thunk
    - BOTAN_UNUSED
    - std::move
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_get_public_key(botan_x509_cert_t cert, botan_pubkey_t*
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:107,1
    - Dst: issuer_info
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:108,1
    - Dst: auto::size
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:109,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:110,1
    - Dst: issuer_info
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:110,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - cert
    - key
    - index
    - out
    - out_len
    argTypes:
    - botan_x509_cert_t
    - char*
    - size_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: botan_x509_cert_get_issuer_dn
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - write_str_output
    - BOTAN_FFI_VISIT
    - BOTAN_UNUSED
    - auto::size
    - issuer_info
    linkageType: ''
    returnType: int
    signature: "int botan_x509_cert_get_issuer_dn(\n   botan_x509_cert_t cert, const
      char* key, size_t index, uint8_t out[], size_t* out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:124,1
    - Dst: subject_info
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:125,1
    - Dst: auto::size
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:126,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:127,1
    - Dst: subject_info
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:127,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - cert
    - key
    - index
    - out
    - out_len
    argTypes:
    - botan_x509_cert_t
    - char*
    - size_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 136
    functionName: botan_x509_cert_get_subject_dn
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - write_str_output
    - subject_info
    - BOTAN_FFI_VISIT
    - BOTAN_UNUSED
    - auto::size
    linkageType: ''
    returnType: int
    signature: "int botan_x509_cert_get_subject_dn(\n   botan_x509_cert_t cert, const
      char* key, size_t index, uint8_t out[], size_t* out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_view_str
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:139,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - out
    - out_len
    argTypes:
    - botan_x509_cert_t
    - char[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: botan_x509_cert_to_string
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - copy_view_str
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_to_string(botan_x509_cert_t cert, char out[], size_t*
      out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:144,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:144,1
    - Dst: to_string
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:144,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cert
    - ctx
    - view
    argTypes:
    - botan_x509_cert_t
    - botan_view_ctx
    - botan_view_str_fn
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: botan_x509_cert_view_as_string
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - BOTAN_UNUSED
    - to_string
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_view_as_string(botan_x509_cert_t cert, botan_view_ctx
      ctx, botan_view_str_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:153,1
    - Dst: static_cast<Botan::Key_Constraints>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:154,1
    - Dst: allowed_usage
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:155,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - cert
    - key_usage
    argTypes:
    - botan_x509_cert_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 164
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 164
    functionName: botan_x509_cert_allowed_usage
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - allowed_usage
    - BOTAN_UNUSED
    - static_cast<Botan::Key_Constraints>
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_allowed_usage(botan_x509_cert_t cert, unsigned
      int key_usage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:168,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cert
    argTypes:
    - botan_x509_cert_t
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: botan_x509_cert_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_destroy(botan_x509_cert_t cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:177,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:178,1
    - Dst: not_before
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:178,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cert
    - out
    - out_len
    argTypes:
    - botan_x509_cert_t
    - char[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: botan_x509_cert_get_time_starts
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - BOTAN_UNUSED
    - write_str_output
    - not_before
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_get_time_starts(botan_x509_cert_t cert, char out[],
      size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:187,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:188,1
    - Dst: not_after
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:188,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cert
    - out
    - out_len
    argTypes:
    - botan_x509_cert_t
    - char[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: botan_x509_cert_get_time_expires
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - BOTAN_UNUSED
    - not_after
    - write_str_output
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_get_time_expires(botan_x509_cert_t cert, char out[],
      size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:197,1
    - Dst: not_before
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:197,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cert
    - time_since_epoch
    argTypes:
    - botan_x509_cert_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: botan_x509_cert_not_before
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - BOTAN_UNUSED
    - not_before
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_not_before(botan_x509_cert_t cert, uint64_t* time_since_epoch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:206,1
    - Dst: not_after
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:206,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cert
    - time_since_epoch
    argTypes:
    - botan_x509_cert_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: botan_x509_cert_not_after
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - BOTAN_UNUSED
    - not_after
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_not_after(botan_x509_cert_t cert, uint64_t* time_since_epoch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:215,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:215,1
    - Dst: serial_number
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:215,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cert
    - out
    - out_len
    argTypes:
    - botan_x509_cert_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: botan_x509_cert_get_serial_number
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - BOTAN_UNUSED
    - write_vec_output
    - serial_number
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_get_serial_number(botan_x509_cert_t cert, uint8_t
      out[], size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:224,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:224,1
    - Dst: fingerprint
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:224,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - cert
    - hash
    - out
    - out_len
    argTypes:
    - botan_x509_cert_t
    - char*
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: botan_x509_cert_get_fingerprint
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - BOTAN_UNUSED
    - write_str_output
    - fingerprint
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_get_fingerprint(botan_x509_cert_t cert, const char*
      hash, uint8_t out[], size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:233,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:233,1
    - Dst: authority_key_id
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:233,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cert
    - out
    - out_len
    argTypes:
    - botan_x509_cert_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: botan_x509_cert_get_authority_key_id
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - authority_key_id
    - BOTAN_UNUSED
    - write_vec_output
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_get_authority_key_id(botan_x509_cert_t cert, uint8_t
      out[], size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:242,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:242,1
    - Dst: subject_key_id
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:242,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cert
    - out
    - out_len
    argTypes:
    - botan_x509_cert_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: botan_x509_cert_get_subject_key_id
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - subject_key_id
    - BOTAN_UNUSED
    - write_vec_output
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_get_subject_key_id(botan_x509_cert_t cert, uint8_t
      out[], size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_view_bin
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - out
    - out_len
    argTypes:
    - botan_x509_cert_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: botan_x509_cert_get_public_key_bits
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - copy_view_bin
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_get_public_key_bits(botan_x509_cert_t cert, uint8_t
      out[], size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:255,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:256,1
    - Dst: subject_public_key_bits
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:256,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cert
    - ctx
    - view
    argTypes:
    - botan_x509_cert_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: botan_x509_cert_view_public_key_bits
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - subject_public_key_bits
    - invoke_view_callback
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_view_public_key_bits(botan_x509_cert_t cert, botan_view_ctx
      ctx, botan_view_bin_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:269,1
    - Dst: matches_dns_name
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:269,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - cert
    - hostname
    argTypes:
    - botan_x509_cert_t
    - char*
    constantsTouched: []
    func_position:
      end: 274
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 274
    functionName: botan_x509_cert_hostname_match
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - BOTAN_UNUSED
    - matches_dns_name
    linkageType: ''
    returnType: int
    signature: int botan_x509_cert_hostname_match(botan_x509_cert_t cert, const char*
      hostname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:291,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:295,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:296,1
    - Dst: static_cast<time_t>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:296,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:299,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:299,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:301,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:301,1
    - Dst: std::make_unique<Botan::Certificate_Store_In_Memory>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:309,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:310,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:310,1
    - Dst: std::make_unique<Botan::Certificate_Store_In_Memory>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:314,1
    - Dst: std::unique_ptr::add_certificate
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:316,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:316,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:318,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:318,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:324,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:327,1
    - Dst: auto::result
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:327,1
    - Dst: auto::successful_validation
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:330,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:337,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:338,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 10
    argNames:
    - result_code
    - cert
    - intermediates
    - intermediates_len
    - trusted
    - trusted_len
    - trusted_path
    - required_strength
    - hostname_cstr
    - reference_time
    argTypes:
    - int*
    - botan_x509_cert_t
    - botan_x509_cert_t*
    - size_t
    - botan_x509_cert_t*
    - size_t
    - char*
    - size_t
    - char*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 341
      start: 276
    functionDepth: 4
    functionLinenumber: 276
    functionLinenumberEnd: 341
    functionName: botan_x509_cert_verify
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - Botan::x509_path_validate
    - auto::successful_validation
    - std::unique_ptr::add_certificate
    - ffi_guard_thunk
    - std::unique_ptr::get
    - static_cast<int>
    - static_cast<time_t>
    - std::vector::push_back
    - std::make_unique<Botan::Certificate_Store_In_Memory>
    - BOTAN_UNUSED
    - safe_get
    - std::chrono::system_clock::from_time_t
    - auto::result
    linkageType: ''
    returnType: int
    signature: "int botan_x509_cert_verify(int* result_code,\n                           botan_x509_cert_t
      cert,\n                           const botan_x509_cert_t* intermediates,\n
      \                          size_t intermediates_len,\n                           const
      botan_x509_cert_t* trusted,\n                           size_t trusted_len,\n
      \                          const char* trusted_path,\n                           size_t
      required_strength,\n                           const char* hostname_cstr,\n
      \                          uint64_t reference_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Botan::Certificate_Status_Code>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:349,1
    - Dst: Botan::to_string
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 354
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 354
    functionName: botan_x509_cert_validation_status
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 1
    functionsReached:
    - Botan::to_string
    - static_cast<Botan::Certificate_Status_Code>
    linkageType: ''
    returnType: char
    signature: char * botan_x509_cert_validation_status(int code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:369,1
    - Dst: std::make_unique<Botan::X509_CRL>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:370,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:371,1
    - Dst: botan_x509_crl_struct::botan_x509_crl_struct
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - crl_obj
    - crl_path
    argTypes:
    - botan_x509_crl_t*
    - char*
    constantsTouched: []
    func_position:
      end: 378
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 378
    functionName: botan_x509_crl_load_file
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - botan_x509_crl_struct::botan_x509_crl_struct
    - std::move
    - std::make_unique<Botan::X509_CRL>
    linkageType: ''
    returnType: int
    signature: int botan_x509_crl_load_file(botan_x509_crl_t* crl_obj, const char*
      crl_path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:386,1
    - Dst: std::make_unique<Botan::X509_CRL>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:388,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:389,1
    - Dst: botan_x509_crl_struct::botan_x509_crl_struct
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:389,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - crl_obj
    - crl_bits
    - crl_bits_len
    argTypes:
    - botan_x509_crl_t*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 396
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 396
    functionName: botan_x509_crl_load
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - botan_x509_crl_struct::botan_x509_crl_struct
    - std::move
    - BOTAN_UNUSED
    - std::make_unique<Botan::X509_CRL>
    linkageType: ''
    returnType: int
    signature: int botan_x509_crl_load(botan_x509_crl_t* crl_obj, const uint8_t crl_bits[],
      size_t crl_bits_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:400,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - crl
    argTypes:
    - botan_x509_crl_t
    constantsTouched: []
    func_position:
      end: 405
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 405
    functionName: botan_x509_crl_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_x509_crl_destroy(botan_x509_crl_t crl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:409,1
    - Dst: is_revoked
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:409,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:409,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:411,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - crl
    - cert
    argTypes:
    - botan_x509_crl_t
    - botan_x509_cert_t
    constantsTouched: []
    func_position:
      end: 415
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 415
    functionName: botan_x509_is_revoked
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - BOTAN_UNUSED
    - is_revoked
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_x509_is_revoked(botan_x509_crl_t crl, botan_x509_cert_t cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:434,1
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:438,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:439,1
    - Dst: static_cast<time_t>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:439,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:442,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:442,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:444,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:444,1
    - Dst: std::make_unique<Botan::Certificate_Store_In_Memory>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:453,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:454,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:454,1
    - Dst: std::make_unique<Botan::Certificate_Store_In_Memory>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:458,1
    - Dst: std::unique_ptr::add_certificate
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:460,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:460,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:462,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:462,1
    - Dst: std::make_unique<Botan::Certificate_Store_In_Memory>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:466,1
    - Dst: std::unique_ptr::add_crl
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:468,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:468,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:470,1
    - Dst: std::unique_ptr::get
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:470,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:476,1
    - Dst: static_cast<int>
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:479,1
    - Dst: auto::result
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:479,1
    - Dst: auto::successful_validation
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:482,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:489,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_cert.cpp:490,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 12
    argNames:
    - result_code
    - cert
    - intermediates
    - intermediates_len
    - trusted
    - trusted_len
    - crls
    - crls_len
    - trusted_path
    - required_strength
    - hostname_cstr
    - reference_time
    argTypes:
    - int*
    - botan_x509_cert_t
    - botan_x509_cert_t*
    - size_t
    - botan_x509_cert_t*
    - size_t
    - botan_x509_crl_t*
    - size_t
    - char*
    - size_t
    - char*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 493
      start: 417
    functionDepth: 4
    functionLinenumber: 417
    functionLinenumberEnd: 493
    functionName: botan_x509_cert_verify_with_crl
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cert.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - Botan::x509_path_validate
    - auto::successful_validation
    - std::unique_ptr::add_certificate
    - ffi_guard_thunk
    - std::unique_ptr::get
    - static_cast<int>
    - static_cast<time_t>
    - std::vector::push_back
    - std::make_unique<Botan::Certificate_Store_In_Memory>
    - BOTAN_UNUSED
    - safe_get
    - std::chrono::system_clock::from_time_t
    - std::unique_ptr::add_crl
    - auto::result
    linkageType: ''
    returnType: int
    signature: "int botan_x509_cert_verify_with_crl(int* result_code,\n                                    botan_x509_cert_t
      cert,\n                                    const botan_x509_cert_t* intermediates,\n
      \                                   size_t intermediates_len,\n                                    const
      botan_x509_cert_t* trusted,\n                                    size_t trusted_len,\n
      \                                   const botan_x509_crl_t* crls,\n                                    size_t
      crls_len,\n                                    const char* trusted_path,\n                                    size_t
      required_strength,\n                                    const char* hostname_cstr,\n
      \                                   uint64_t reference_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - botan_asn1_oid_t
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: botan_oid_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_oid.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_oid_destroy(botan_asn1_oid_t oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:24,1
    - Dst: Botan::OID::OID
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:28,1
    - Dst: Botan::OID::from_string
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:32,1
    - Dst: std::make_unique<Botan::OID>
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:36,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:36,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:37,1
    - Dst: botan_asn1_oid_struct::botan_asn1_oid_struct
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - oid_obj
    - oid_str
    argTypes:
    - botan_asn1_oid_t*
    - char*
    constantsTouched: []
    func_position:
      end: 40
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 40
    functionName: botan_oid_from_string
    functionSourceFile: /src/botan/src/lib/ffi/ffi_oid.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::OID>
    - ffi_guard_thunk
    - botan_asn1_oid_struct::botan_asn1_oid_struct
    - Botan::OID::OID
    - std::move
    - Botan::OID::from_string
    linkageType: ''
    returnType: int
    signature: int botan_oid_from_string(botan_asn1_oid_t* oid_obj, const char* oid_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:43,1
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - oid
    - name
    argTypes:
    - botan_asn1_oid_t
    - char*
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: botan_oid_register
    functionSourceFile: /src/botan/src/lib/ffi/ffi_oid.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_VISIT
    - Botan::OID::register_oid
    linkageType: ''
    returnType: int
    signature: int botan_oid_register(botan_asn1_oid_t oid, const char* name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:53,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:53,1
    - Dst: to_string
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - oid
    - ctx
    - view
    argTypes:
    - botan_asn1_oid_t
    - botan_view_ctx
    - botan_view_str_fn
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: botan_oid_view_string
    functionSourceFile: /src/botan/src/lib/ffi/ffi_oid.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - to_string
    linkageType: ''
    returnType: int
    signature: int botan_oid_view_string(botan_asn1_oid_t oid, botan_view_ctx ctx,
      botan_view_str_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:57,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:58,1
    - Dst: to_formatted_string
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - oid
    - ctx
    - view
    argTypes:
    - botan_asn1_oid_t
    - botan_view_ctx
    - botan_view_str_fn
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: botan_oid_view_name
    functionSourceFile: /src/botan/src/lib/ffi/ffi_oid.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - to_formatted_string
    linkageType: ''
    returnType: int
    signature: int botan_oid_view_name(botan_asn1_oid_t oid, botan_view_ctx ctx, botan_view_str_fn
      view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:62,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a_w
    - b_w
    argTypes:
    - botan_asn1_oid_t
    - botan_asn1_oid_t
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: botan_oid_equal
    functionSourceFile: /src/botan/src/lib/ffi/ffi_oid.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_oid_equal(botan_asn1_oid_t a_w, botan_asn1_oid_t b_w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:66,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_oid.cpp:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - result
    - a_w
    - b_w
    argTypes:
    - int*
    - botan_asn1_oid_t
    - botan_asn1_oid_t
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: botan_oid_cmp
    functionSourceFile: /src/botan/src/lib/ffi/ffi_oid.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_oid_cmp(int* result, botan_asn1_oid_t a_w, botan_asn1_oid_t
      b_w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:33,1
    - Dst: std::make_unique<Botan::SRP6_Server_Session>
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:34,1
    - Dst: botan_srp6_server_session_struct::botan_srp6_server_session_struct
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:34,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - srp6
    argTypes:
    - botan_srp6_server_session_t*
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: botan_srp6_server_session_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_srp6.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::SRP6_Server_Session>
    - ffi_guard_thunk
    - BOTAN_UNUSED
    - botan_srp6_server_session_struct::botan_srp6_server_session_struct
    linkageType: ''
    returnType: int
    signature: int botan_srp6_server_session_init(botan_srp6_server_session_t* srp6)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srp6
    argTypes:
    - botan_srp6_server_session_t
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: botan_srp6_server_session_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_srp6.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_srp6_server_session_destroy(botan_srp6_server_session_t srp6)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:53,1
    - Dst: Botan::DL_Group::from_name
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:54,1
    - Dst: auto::p_bytes
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:55,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - group_id
    - group_p_bytes
    argTypes:
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: botan_srp6_group_size
    functionSourceFile: /src/botan/src/lib/ffi/ffi_srp6.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - Botan::DL_Group::from_name
    - BOTAN_UNUSED
    - auto::p_bytes
    linkageType: ''
    returnType: int
    signature: int botan_srp6_group_size(const char* group_id, size_t* group_p_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:73,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:78,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:79,1
    - Dst: step1
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:80,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:81,1
    - Dst: auto::serialize
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:81,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 8
    argNames:
    - srp6
    - verifier
    - verifier_len
    - group_id
    - hash_id
    - rng_obj
    - b_pub
    - b_pub_len
    argTypes:
    - botan_srp6_server_session_t
    - uint8_t*
    - size_t
    - char*
    - char*
    - botan_rng_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 92
    functionName: botan_srp6_server_session_step1
    functionSourceFile: /src/botan/src/lib/ffi/ffi_srp6.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - step1
    - BOTAN_UNUSED
    - auto::serialize
    - safe_get
    - Botan::BigInt::from_bytes
    - write_vec_output
    linkageType: ''
    returnType: int
    signature: "int botan_srp6_server_session_step1(botan_srp6_server_session_t srp6,\n
      \                                   const uint8_t* verifier,\n                                    size_t
      verifier_len,\n                                    const char* group_id,\n                                    const
      char* hash_id,\n                                    botan_rng_t rng_obj,\n                                    uint8_t
      b_pub[],\n                                    size_t* b_pub_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:97,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:102,1
    - Dst: step2
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:103,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:104,1
    - Dst: auto::bits_of
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:104,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - srp6
    - a
    - a_len
    - key
    - key_len
    argTypes:
    - botan_srp6_server_session_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 113
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 113
    functionName: botan_srp6_server_session_step2
    functionSourceFile: /src/botan/src/lib/ffi/ffi_srp6.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - auto::bits_of
    - step2
    - BOTAN_UNUSED
    - Botan::BigInt::from_bytes
    - write_vec_output
    linkageType: ''
    returnType: int
    signature: "int botan_srp6_server_session_step2(\n   botan_srp6_server_session_t
      srp6, const uint8_t a[], size_t a_len, uint8_t key[], size_t* key_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:124,1
    - Dst: Botan::srp6_generate_verifier
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:130,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:131,1
    - Dst: auto::serialize
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:131,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:137,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 8
    argNames:
    - username
    - password
    - salt
    - salt_len
    - group_id
    - hash_id
    - verifier
    - verifier_len
    argTypes:
    - char*
    - char*
    - uint8_t[]
    - size_t
    - char*
    - char*
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 141
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 141
    functionName: botan_srp6_generate_verifier
    functionSourceFile: /src/botan/src/lib/ffi/ffi_srp6.cpp
    functionUses: 0
    functionsReached:
    - Botan::srp6_generate_verifier
    - ffi_guard_thunk
    - BOTAN_UNUSED
    - auto::serialize
    - write_vec_output
    linkageType: ''
    returnType: int
    signature: "int botan_srp6_generate_verifier(const char* username,\n                                 const
      char* password,\n                                 const uint8_t salt[],\n                                 size_t
      salt_len,\n                                 const char* group_id,\n                                 const
      char* hash_id,\n                                 uint8_t verifier[],\n                                 size_t*
      verifier_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:157,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:163,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:164,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:166,1
    - Dst: serialize
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:166,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:167,1
    - Dst: bits_of
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:167,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:180,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_srp6.cpp:181,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 13
    argNames:
    - identity
    - password
    - group_id
    - hash_id
    - salt
    - salt_len
    - b
    - b_len
    - rng_obj
    - A
    - A_len
    - K
    - K_len
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - botan_rng_t
    - uint8_t[]
    - size_t*
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: botan_srp6_client_agree
    functionSourceFile: /src/botan/src/lib/ffi/ffi_srp6.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - bits_of
    - BOTAN_UNUSED
    - serialize
    - safe_get
    - Botan::BigInt::from_bytes
    - write_vec_output
    linkageType: ''
    returnType: int
    signature: "int botan_srp6_client_agree(const char* identity,\n                            const
      char* password,\n                            const char* group_id,\n                            const
      char* hash_id,\n                            const uint8_t salt[],\n                            size_t
      salt_len,\n                            const uint8_t b[],\n                            size_t
      b_len,\n                            botan_rng_t rng_obj,\n                            uint8_t
      A[],\n                            size_t* A_len,\n                            uint8_t
      K[],\n                            size_t* K_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FFI_Error
      Src: /src/botan/src/lib/ffi/ffi_util.h:22,1
    - Dst: Botan_FFI::FFI_Error::Exception
      Src: /src/botan/src/lib/ffi/ffi_util.h:22,1
    - Dst: m_err_code
      Src: /src/botan/src/lib/ffi/ffi_util.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: Botan_FFI::FFI_Error::Exception
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 1
    functionsReached:
    - m_err_code
    - Botan_FFI::FFI_Error::Exception
    - FFI_Error
    linkageType: ''
    returnType: class BOTAN_UNSTABLE_API
    signature: 'class BOTAN_UNSTABLE_API FFI_Error final : public Botan::Exception'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_util.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - std::unique_ptr<T>
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Botan_FFI::botan_struct
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void botan_struct(std::unique_ptr<T> obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/lib/ffi/ffi_util.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: ~botan_struct()
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ~botan_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Botan_FFI::magic_ok
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool magic_ok() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/botan/src/lib/ffi/ffi_util.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: Botan_FFI::unsafe_get
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: T
    signature: T * unsafe_get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FFI_Error
      Src: /src/botan/src/lib/ffi/ffi_util.h:73,1
    - Dst: botan_struct<T, M>*::magic_ok
      Src: /src/botan/src/lib/ffi/ffi_util.h:75,1
    - Dst: FFI_Error
      Src: /src/botan/src/lib/ffi/ffi_util.h:76,1
    - Dst: botan_struct<T, M>*::unsafe_get
      Src: /src/botan/src/lib/ffi/ffi_util.h:79,1
    - Dst: FFI_Error
      Src: /src/botan/src/lib/ffi/ffi_util.h:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - botan_struct<T, M>*
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: Botan_FFI::safe_get
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - botan_struct<T, M>*::unsafe_get
    - FFI_Error
    - botan_struct<T, M>*::magic_ok
    linkageType: ''
    returnType: T
    signature: T & safe_get(botan_struct<T, M>* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_FFI::ffi_clear_last_exception
      Src: /src/botan/src/lib/ffi/ffi_util.h:88,1
    - Dst: thunk
      Src: /src/botan/src/lib/ffi/ffi_util.h:91,1
    - Dst: Botan_FFI::ffi_error_exception_thrown
      Src: /src/botan/src/lib/ffi/ffi_util.h:93,1
    - Dst: Botan_FFI::ffi_error_exception_thrown
      Src: /src/botan/src/lib/ffi/ffi_util.h:95,1
    - Dst: what
      Src: /src/botan/src/lib/ffi/ffi_util.h:95,1
    - Dst: error_code
      Src: /src/botan/src/lib/ffi/ffi_util.h:95,1
    - Dst: Botan_FFI::ffi_error_exception_thrown
      Src: /src/botan/src/lib/ffi/ffi_util.h:97,1
    - Dst: what
      Src: /src/botan/src/lib/ffi/ffi_util.h:97,1
    - Dst: error_type
      Src: /src/botan/src/lib/ffi/ffi_util.h:97,1
    - Dst: Botan_FFI::ffi_error_exception_thrown
      Src: /src/botan/src/lib/ffi/ffi_util.h:99,1
    - Dst: what
      Src: /src/botan/src/lib/ffi/ffi_util.h:99,1
    - Dst: Botan_FFI::ffi_error_exception_thrown
      Src: /src/botan/src/lib/ffi/ffi_util.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - func_name
    - thunk
    argTypes:
    - char*
    - T
    constantsTouched: []
    func_position:
      end: 103
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 103
    functionName: Botan_FFI::ffi_guard_thunk
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - Botan_FFI::ffi_clear_last_exception
    - what
    - error_type
    - thunk
    - error_code
    - Botan_FFI::ffi_error_exception_thrown
    linkageType: ''
    returnType: int
    signature: int ffi_guard_thunk(const char* func_name, T thunk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_struct<T, M>*::magic_ok
      Src: /src/botan/src/lib/ffi/ffi_util.h:115,1
    - Dst: botan_struct<T, M>*::unsafe_get
      Src: /src/botan/src/lib/ffi/ffi_util.h:119,1
    - Dst: Botan_FFI::ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_util.h:125,1
    - Dst: func
      Src: /src/botan/src/lib/ffi/ffi_util.h:126,1
    - Dst: Botan_FFI::ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_util.h:130,1
    - Dst: func
      Src: /src/botan/src/lib/ffi/ffi_util.h:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - o
    - func
    - func_name
    argTypes:
    - botan_struct<T, M>*
    - F
    - char*
    constantsTouched: []
    func_position:
      end: 132
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 132
    functionName: Botan_FFI::botan_ffi_visit
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - func
    - botan_struct<T, M>*::unsafe_get
    - Botan_FFI::ffi_guard_thunk
    - botan_struct<T, M>*::magic_ok
    linkageType: ''
    returnType: int
    signature: int botan_ffi_visit(botan_struct<T, M>* o, F func, const char* func_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_FFI::ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_util.h:154,1
    - Dst: botan_struct<T, M>*::magic_ok
      Src: /src/botan/src/lib/ffi/ffi_util.h:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - func_name
    argTypes:
    - botan_struct<T, M>*
    - char*
    constantsTouched: []
    func_position:
      end: 167
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 167
    functionName: Botan_FFI::ffi_delete_object
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - botan_struct<T, M>*::magic_ok
    - Botan_FFI::ffi_guard_thunk
    linkageType: ''
    returnType: int
    signature: int ffi_delete_object(botan_struct<T, M>* obj, const char* func_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: view
      Src: /src/botan/src/lib/ffi/ffi_util.h:176,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/ffi/ffi_util.h:176,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/ffi/ffi_util.h:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - view
    - ctx
    - buf
    argTypes:
    - botan_view_bin_fn
    - botan_view_ctx
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: Botan_FFI::invoke_view_callback
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - view
    - std::span<const uint8_t>::data
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: int
    signature: int invoke_view_callback(botan_view_bin_fn view, botan_view_ctx ctx,
      std::span<const uint8_t> buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: view
      Src: /src/botan/src/lib/ffi/ffi_util.h:183,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/ffi/ffi_util.h:183,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/ffi/ffi_util.h:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - view
    - ctx
    - str
    argTypes:
    - botan_view_str_fn
    - botan_view_ctx
    - std::string_view
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: Botan_FFI::invoke_view_callback
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - std::string_view::size
    - view
    - std::string_view::data
    linkageType: ''
    returnType: int
    signature: int invoke_view_callback(botan_view_str_fn view, botan_view_ctx ctx,
      std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/botan/src/lib/ffi/ffi_util.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - out_len
    - fn
    argTypes:
    - uint8_t[]
    - size_t*
    - Fn
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: Botan_FFI::copy_view_bin
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - fn
    linkageType: ''
    returnType: int
    signature: int copy_view_bin(uint8_t out[], size_t* out_len, Fn fn, Args... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/botan/src/lib/ffi/ffi_util.h:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - out
    - out_len
    - fn
    argTypes:
    - uint8_t[]
    - size_t*
    - Fn
    constantsTouched: []
    func_position:
      end: 211
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 211
    functionName: Botan_FFI::copy_view_str
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - fn
    linkageType: ''
    returnType: int
    signature: int copy_view_str(uint8_t out[], size_t* out_len, Fn fn, Args... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/ffi/ffi_util.h:222,1
    - Dst: Botan::clear_mem
      Src: /src/botan/src/lib/ffi/ffi_util.h:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - out
    - out_len
    - buf
    - buf_len
    argTypes:
    - uint8_t[]
    - size_t*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 230
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 230
    functionName: Botan_FFI::write_output
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 0
    functionsReached:
    - Botan::clear_mem
    - Botan::copy_mem
    linkageType: ''
    returnType: int
    signature: int write_output(uint8_t out[], size_t* out_len, const uint8_t buf[],
      size_t buf_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_FFI::write_output
      Src: /src/botan/src/lib/ffi/ffi_util.h:233,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/lib/ffi/ffi_util.h:233,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/lib/ffi/ffi_util.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - out_len
    - buf
    argTypes:
    - uint8_t[]
    - size_t*
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: Botan_FFI::write_vec_output
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 1
    functionsReached:
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::data
    - Botan_FFI::write_output
    linkageType: ''
    returnType: int
    signature: int write_vec_output(uint8_t out[], size_t* out_len, std::span<const
      uint8_t> buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_FFI::write_output
      Src: /src/botan/src/lib/ffi/ffi_util.h:237,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/ffi/ffi_util.h:237,1
    - Dst: std::string_view::data
      Src: /src/botan/src/lib/ffi/ffi_util.h:237,1
    - Dst: std::string_view::size
      Src: /src/botan/src/lib/ffi/ffi_util.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - out_len
    - str
    argTypes:
    - uint8_t[]
    - size_t*
    - std::string_view
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: Botan_FFI::write_str_output
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 1
    functionsReached:
    - Botan::cast_char_ptr_to_uint8
    - std::string_view::size
    - std::string_view::data
    - Botan_FFI::write_output
    linkageType: ''
    returnType: int
    signature: int write_str_output(uint8_t out[], size_t* out_len, std::string_view
      str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_FFI::write_str_output
      Src: /src/botan/src/lib/ffi/ffi_util.h:241,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/ffi/ffi_util.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - out_len
    - str
    argTypes:
    - char[]
    - size_t*
    - std::string_view
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: Botan_FFI::write_str_output
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 2
    functionsReached:
    - Botan::cast_char_ptr_to_uint8
    - Botan_FFI::write_str_output
    linkageType: ''
    returnType: int
    signature: int write_str_output(char out[], size_t* out_len, std::string_view
      str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_FFI::write_output
      Src: /src/botan/src/lib/ffi/ffi_util.h:245,1
    - Dst: Botan::cast_char_ptr_to_uint8
      Src: /src/botan/src/lib/ffi/ffi_util.h:245,1
    - Dst: data
      Src: /src/botan/src/lib/ffi/ffi_util.h:245,1
    - Dst: size
      Src: /src/botan/src/lib/ffi/ffi_util.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - out_len
    - ' str_vec'
    argTypes:
    - char[]
    - size_t*
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: Botan_FFI::write_str_output
    functionSourceFile: /src/botan/src/lib/ffi/ffi_util.h
    functionUses: 2
    functionsReached:
    - Botan::cast_char_ptr_to_uint8
    - data
    - size
    - Botan_FFI::write_output
    linkageType: ''
    returnType: int
    signature: int write_str_output(char out[], size_t* out_len, const std::vector<uint8_t>&
      str_vec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:30,1
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:34,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:35,1
    - Dst: Botan::nist_key_wrap
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:40,1
    - Dst: Botan::nist_key_wrap_padded
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:42,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:45,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 8
    argNames:
    - cipher_algo
    - padded
    - key
    - key_len
    - kek
    - kek_len
    - wrapped_key
    - wrapped_key_len
    argTypes:
    - char*
    - int
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 51
    functionName: botan_nist_kw_enc
    functionSourceFile: /src/botan/src/lib/ffi/ffi_keywrap.cpp
    functionUses: 0
    functionsReached:
    - Botan::BlockCipher::create_or_throw
    - ffi_guard_thunk
    - auto::set_key
    - Botan::nist_key_wrap
    - BOTAN_UNUSED
    - Botan::nist_key_wrap_padded
    - write_vec_output
    linkageType: ''
    returnType: int
    signature: "int botan_nist_kw_enc(const char* cipher_algo,\n                      int
      padded,\n                      const uint8_t key[],\n                      size_t
      key_len,\n                      const uint8_t kek[],\n                      size_t
      kek_len,\n                      uint8_t wrapped_key[],\n                      size_t*
      wrapped_key_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:62,1
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:67,1
    - Dst: auto::set_key
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:68,1
    - Dst: Botan::nist_key_unwrap
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:73,1
    - Dst: Botan::nist_key_unwrap_padded
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:75,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:78,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 8
    argNames:
    - cipher_algo
    - padded
    - wrapped_key
    - wrapped_key_len
    - kek
    - kek_len
    - key
    - key_len
    argTypes:
    - char*
    - int
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 84
    functionName: botan_nist_kw_dec
    functionSourceFile: /src/botan/src/lib/ffi/ffi_keywrap.cpp
    functionUses: 0
    functionsReached:
    - Botan::BlockCipher::create_or_throw
    - Botan::nist_key_unwrap_padded
    - ffi_guard_thunk
    - auto::set_key
    - Botan::nist_key_unwrap
    - BOTAN_UNUSED
    - write_vec_output
    linkageType: ''
    returnType: int
    signature: "int botan_nist_kw_dec(const char* cipher_algo,\n                      int
      padded,\n                      const uint8_t wrapped_key[],\n                      size_t
      wrapped_key_len,\n                      const uint8_t kek[],\n                      size_t
      kek_len,\n                      uint8_t key[],\n                      size_t*
      key_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:92,1
    - Dst: botan_nist_kw_enc
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:94,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - kek
    - kek_len
    - wrapped_key
    - wrapped_key_len
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 5
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: botan_key_wrap3394
    functionSourceFile: /src/botan/src/lib/ffi/ffi_keywrap.cpp
    functionUses: 0
    functionsReached:
    - botan_nist_kw_enc
    - std::to_string
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: "int botan_key_wrap3394(const uint8_t key[],\n                       size_t
      key_len,\n                       const uint8_t kek[],\n                       size_t
      kek_len,\n                       uint8_t wrapped_key[],\n                       size_t*
      wrapped_key_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:103,1
    - Dst: botan_nist_kw_dec
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:105,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/ffi/ffi_keywrap.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - wrapped_key
    - wrapped_key_len
    - kek
    - kek_len
    - key
    - key_len
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 5
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: botan_key_unwrap3394
    functionSourceFile: /src/botan/src/lib/ffi/ffi_keywrap.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - std::to_string
    - botan_nist_kw_dec
    linkageType: ''
    returnType: int
    signature: "int botan_key_unwrap3394(const uint8_t wrapped_key[],\n                         size_t
      wrapped_key_len,\n                         const uint8_t kek[],\n                         size_t
      kek_len,\n                         uint8_t key[],\n                         size_t*
      key_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:19,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:24,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:30,1
    - Dst: botan_mac_struct::botan_mac_struct
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - mac
    - mac_name
    - flags
    argTypes:
    - botan_mac_t*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 33
      start: 18
    functionDepth: 4
    functionLinenumber: 18
    functionLinenumberEnd: 33
    functionName: botan_mac_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mac.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - Botan::MessageAuthenticationCode::create
    - std::move
    - botan_mac_struct::botan_mac_struct
    linkageType: ''
    returnType: int
    signature: int botan_mac_init(botan_mac_t* mac, const char* mac_name, uint32_t
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mac
    argTypes:
    - botan_mac_t
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: botan_mac_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mac.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_mac_destroy(botan_mac_t mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:40,1
    - Dst: set_key
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mac
    - key
    - key_len
    argTypes:
    - botan_mac_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: botan_mac_set_key
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mac.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - set_key
    linkageType: ''
    returnType: int
    signature: int botan_mac_set_key(botan_mac_t mac, const uint8_t* key, size_t key_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:44,1
    - Dst: start
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mac
    - nonce
    - nonce_len
    argTypes:
    - botan_mac_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: botan_mac_set_nonce
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mac.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - start
    linkageType: ''
    returnType: int
    signature: int botan_mac_set_nonce(botan_mac_t mac, const uint8_t* nonce, size_t
      nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:48,1
    - Dst: output_length
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mac
    - out
    argTypes:
    - botan_mac_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: botan_mac_output_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mac.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - output_length
    linkageType: ''
    returnType: int
    signature: int botan_mac_output_length(botan_mac_t mac, size_t* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:52,1
    - Dst: clear
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mac
    argTypes:
    - botan_mac_t
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: botan_mac_clear
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mac.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - clear
    linkageType: ''
    returnType: int
    signature: int botan_mac_clear(botan_mac_t mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:56,1
    - Dst: update
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mac
    - buf
    - len
    argTypes:
    - botan_mac_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: botan_mac_update
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mac.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - update
    linkageType: ''
    returnType: int
    signature: int botan_mac_update(botan_mac_t mac, const uint8_t* buf, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:60,1
    - Dst: final
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mac
    - out
    argTypes:
    - botan_mac_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: botan_mac_final
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mac.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - final
    linkageType: ''
    returnType: int
    signature: int botan_mac_final(botan_mac_t mac, uint8_t out[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:64,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:64,1
    - Dst: name
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mac
    - name
    - name_len
    argTypes:
    - botan_mac_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: botan_mac_name
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mac.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - name
    - write_str_output
    linkageType: ''
    returnType: int
    signature: int botan_mac_name(botan_mac_t mac, char* name, size_t* name_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:71,1
    - Dst: minimum_keylength
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:73,1
    - Dst: maximum_keylength
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:76,1
    - Dst: key_spec
      Src: /src/botan/src/lib/ffi/ffi_mac.cpp:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - mac
    - out_minimum_keylength
    - out_maximum_keylength
    - out_keylength_modulo
    argTypes:
    - botan_mac_t
    - size_t*
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: botan_mac_get_keyspec
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mac.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - key_spec
    - minimum_keylength
    - maximum_keylength
    linkageType: ''
    returnType: int
    signature: "int botan_mac_get_keyspec(botan_mac_t mac,\n                          size_t*
      out_minimum_keylength,\n                          size_t* out_maximum_keylength,\n
      \                         size_t* out_keylength_modulo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:23,1
    - Dst: std::make_unique<Botan::BigInt>
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:28,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:29,1
    - Dst: botan_mp_struct::botan_mp_struct
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mp_out
    argTypes:
    - botan_mp_t*
    constantsTouched: []
    func_position:
      end: 32
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 32
    functionName: botan_mp_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 12
    functionsReached:
    - ffi_guard_thunk
    - std::move
    - std::make_unique<Botan::BigInt>
    - botan_mp_struct::botan_mp_struct
    linkageType: ''
    returnType: int
    signature: int botan_mp_init(botan_mp_t* mp_out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:35,1
    - Dst: clear
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mp
    argTypes:
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: botan_mp_clear
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - clear
    linkageType: ''
    returnType: int
    signature: int botan_mp_clear(botan_mp_t mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:39,1
    - Dst: Botan::BigInt::from_s32
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mp
    - initial_value
    argTypes:
    - botan_mp_t
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: botan_mp_set_from_int
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_VISIT
    - Botan::BigInt::from_s32
    linkageType: ''
    returnType: int
    signature: int botan_mp_set_from_int(botan_mp_t mp, int initial_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:43,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mp
    - str
    argTypes:
    - botan_mp_t
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: botan_mp_set_from_str
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 2
    functionsReached:
    - BOTAN_FFI_VISIT
    - Botan::BigInt::BigInt
    linkageType: ''
    returnType: int
    signature: int botan_mp_set_from_str(botan_mp_t mp, const char* str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:47,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - mp
    - str
    - radix
    argTypes:
    - botan_mp_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: botan_mp_set_from_radix_str
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - Botan::BigInt::BigInt
    linkageType: ''
    returnType: int
    signature: int botan_mp_set_from_radix_str(botan_mp_t mp, const char* str, size_t
      radix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:66,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - source
    argTypes:
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: botan_mp_set_from_mp
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_mp_set_from_mp(botan_mp_t dest, const botan_mp_t source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:70,1
    - Dst: is_negative
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mp
    argTypes:
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: botan_mp_is_negative
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - is_negative
    linkageType: ''
    returnType: int
    signature: int botan_mp_is_negative(const botan_mp_t mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:74,1
    - Dst: is_positive
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mp
    argTypes:
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: botan_mp_is_positive
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - is_positive
    linkageType: ''
    returnType: int
    signature: int botan_mp_is_positive(const botan_mp_t mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:78,1
    - Dst: flip_sign
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mp
    argTypes:
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: botan_mp_flip_sign
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - flip_sign
    linkageType: ''
    returnType: int
    signature: int botan_mp_flip_sign(botan_mp_t mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:82,1
    - Dst: _assign_from_bytes
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mp
    - bin
    - bin_len
    argTypes:
    - botan_mp_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: botan_mp_from_bin
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - _assign_from_bytes
    linkageType: ''
    returnType: int
    signature: int botan_mp_from_bin(botan_mp_t mp, const uint8_t bin[], size_t bin_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:86,1
    - Dst: to_hex_string
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:87,1
    - Dst: memcpy
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:88,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:88,1
    - Dst: std::string::size
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mp
    - out
    argTypes:
    - botan_mp_t
    - char*
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: botan_mp_to_hex
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - to_hex_string
    - BOTAN_FFI_VISIT
    - std::string::c_str
    - memcpy
    linkageType: ''
    returnType: int
    signature: int botan_mp_to_hex(const botan_mp_t mp, char* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:93,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:95,1
    - Dst: to_dec_string
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:95,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:97,1
    - Dst: to_hex_string
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - mp
    - digit_base
    - out
    - out_len
    argTypes:
    - botan_mp_t
    - uint8_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: botan_mp_to_str
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - to_dec_string
    - write_str_output
    - to_hex_string
    linkageType: ''
    returnType: int
    signature: int botan_mp_to_str(const botan_mp_t mp, uint8_t digit_base, char*
      out, size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:105,1
    - Dst: serialize_to
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:105,1
    - Dst: bytes
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mp
    - vec
    argTypes:
    - botan_mp_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: botan_mp_to_bin
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_VISIT
    - bytes
    - serialize_to
    linkageType: ''
    returnType: int
    signature: int botan_mp_to_bin(const botan_mp_t mp, uint8_t vec[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:112,1
    - Dst: to_u32bit
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mp
    - val
    argTypes:
    - botan_mp_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: botan_mp_to_uint32
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - to_u32bit
    linkageType: ''
    returnType: int
    signature: int botan_mp_to_uint32(const botan_mp_t mp, uint32_t* val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mp
    argTypes:
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: botan_mp_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 6
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_mp_destroy(botan_mp_t mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:120,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:122,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:124,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - result
    - x
    - y
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: botan_mp_add
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_mp_add(botan_mp_t result, const botan_mp_t x, const botan_mp_t
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:130,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:132,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:134,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - result
    - x
    - y
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: botan_mp_sub
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_mp_sub(botan_mp_t result, const botan_mp_t x, const botan_mp_t
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:140,1
    - Dst: static_cast<Botan::word>
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:142,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:144,1
    - Dst: static_cast<Botan::word>
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - result
    - x
    - y
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: botan_mp_add_u32
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - static_cast<Botan::word>
    linkageType: ''
    returnType: int
    signature: int botan_mp_add_u32(botan_mp_t result, const botan_mp_t x, uint32_t
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:150,1
    - Dst: static_cast<Botan::word>
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:152,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:154,1
    - Dst: static_cast<Botan::word>
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - result
    - x
    - y
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: botan_mp_sub_u32
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - static_cast<Botan::word>
    linkageType: ''
    returnType: int
    signature: int botan_mp_sub_u32(botan_mp_t result, const botan_mp_t x, uint32_t
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:160,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:162,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:164,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - result
    - x
    - y
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: botan_mp_mul
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_mp_mul(botan_mp_t result, const botan_mp_t x, const botan_mp_t
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:170,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:171,1
    - Dst: Botan::vartime_divide
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:172,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:172,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:172,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - quotient
    - remainder
    - x
    - y
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 4
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: botan_mp_div
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - Botan::BigInt::BigInt
    - safe_get
    - Botan::vartime_divide
    linkageType: ''
    returnType: int
    signature: int botan_mp_div(botan_mp_t quotient, botan_mp_t remainder, const botan_mp_t
      x, const botan_mp_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:178,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x_w
    - y_w
    argTypes:
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: botan_mp_equal
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_mp_equal(const botan_mp_t x_w, const botan_mp_t y_w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:182,1
    - Dst: is_zero
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mp
    argTypes:
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: botan_mp_is_zero
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - is_zero
    linkageType: ''
    returnType: int
    signature: int botan_mp_is_zero(const botan_mp_t mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:186,1
    - Dst: is_odd
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mp
    argTypes:
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: botan_mp_is_odd
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - is_odd
    linkageType: ''
    returnType: int
    signature: int botan_mp_is_odd(const botan_mp_t mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:190,1
    - Dst: is_even
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mp
    argTypes:
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: botan_mp_is_even
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - is_even
    linkageType: ''
    returnType: int
    signature: int botan_mp_is_even(const botan_mp_t mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:194,1
    - Dst: cmp
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:194,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - result
    - x_w
    - y_w
    argTypes:
    - int*
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: botan_mp_cmp
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - cmp
    linkageType: ''
    returnType: int
    signature: int botan_mp_cmp(int* result, const botan_mp_t x_w, const botan_mp_t
      y_w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:198,1
    - Dst: swap
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:198,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x_w
    - y_w
    argTypes:
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: botan_mp_swap
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - swap
    linkageType: ''
    returnType: int
    signature: int botan_mp_swap(botan_mp_t x_w, botan_mp_t y_w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:203,1
    - Dst: Botan::power_mod
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:204,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:204,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:204,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - out
    - base
    - exponent
    - modulus
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 4
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: botan_mp_powmod
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - Botan::power_mod
    linkageType: ''
    returnType: int
    signature: int botan_mp_powmod(botan_mp_t out, const botan_mp_t base, const botan_mp_t
      exponent, const botan_mp_t modulus)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:208,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in
    - shift
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - size_t
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: botan_mp_lshift
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_mp_lshift(botan_mp_t out, const botan_mp_t in, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:212,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in
    - shift
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - size_t
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: botan_mp_rshift
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_mp_rshift(botan_mp_t out, const botan_mp_t in, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:216,1
    - Dst: Botan::inverse_mod_general
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:217,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:217,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:217,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in
    - modulus
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 5
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: botan_mp_mod_inverse
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - fiat_bls12_381_fp_nonzero
    - Botan::inverse_mod_general
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_mp_mod_inverse(botan_mp_t out, const botan_mp_t in, const
      botan_mp_t modulus)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:222,1
    - Dst: Botan::Barrett_Reduction::for_secret_modulus
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:223,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:223,1
    - Dst: auto::multiply
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:224,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:224,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - out
    - x
    - y
    - modulus
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: botan_mp_mod_mul
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - auto::multiply
    - safe_get
    - Botan::Barrett_Reduction::for_secret_modulus
    linkageType: ''
    returnType: int
    signature: int botan_mp_mod_mul(botan_mp_t out, const botan_mp_t x, const botan_mp_t
      y, const botan_mp_t modulus)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:229,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rand_out
    - rng
    - bits
    argTypes:
    - botan_mp_t
    - botan_rng_t
    - size_t
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: botan_mp_rand_bits
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_mp_rand_bits(botan_mp_t rand_out, botan_rng_t rng, size_t
      bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:233,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:234,1
    - Dst: Botan::BigInt::random_integer
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:234,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:234,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - rand_out
    - rng
    - lower
    - upper
    argTypes:
    - botan_mp_t
    - botan_rng_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: botan_mp_rand_range
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - Botan::BigInt::random_integer
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_mp_rand_range(botan_mp_t rand_out, botan_rng_t rng, const
      botan_mp_t lower, const botan_mp_t upper)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:238,1
    - Dst: Botan::gcd
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:238,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:238,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - x
    - y
    argTypes:
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: botan_mp_gcd
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - Botan::gcd
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_mp_gcd(botan_mp_t out, const botan_mp_t x, const botan_mp_t
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:242,1
    - Dst: Botan::is_prime
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:242,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mp
    - rng
    - test_prob
    argTypes:
    - botan_mp_t
    - botan_rng_t
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: botan_mp_is_prime
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - Botan::is_prime
    linkageType: ''
    returnType: int
    signature: int botan_mp_is_prime(const botan_mp_t mp, botan_rng_t rng, size_t
      test_prob)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:246,1
    - Dst: get_bit
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mp
    - bit
    argTypes:
    - botan_mp_t
    - size_t
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: botan_mp_get_bit
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - get_bit
    linkageType: ''
    returnType: int
    signature: int botan_mp_get_bit(const botan_mp_t mp, size_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:250,1
    - Dst: set_bit
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mp
    - bit
    argTypes:
    - botan_mp_t
    - size_t
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: botan_mp_set_bit
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - set_bit
    linkageType: ''
    returnType: int
    signature: int botan_mp_set_bit(botan_mp_t mp, size_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:254,1
    - Dst: clear_bit
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mp
    - bit
    argTypes:
    - botan_mp_t
    - size_t
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: botan_mp_clear_bit
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - clear_bit
    linkageType: ''
    returnType: int
    signature: int botan_mp_clear_bit(botan_mp_t mp, size_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:258,1
    - Dst: bits
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mp
    - bits
    argTypes:
    - botan_mp_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: botan_mp_num_bits
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - bits
    linkageType: ''
    returnType: int
    signature: int botan_mp_num_bits(const botan_mp_t mp, size_t* bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:262,1
    - Dst: bytes
      Src: /src/botan/src/lib/ffi/ffi_mp.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mp
    - bytes
    argTypes:
    - botan_mp_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: botan_mp_num_bytes
    functionSourceFile: /src/botan/src/lib/ffi/ffi_mp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - bytes
    linkageType: ''
    returnType: int
    signature: int botan_mp_num_bytes(const botan_mp_t mp, size_t* bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_FFI::ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_zfec.cpp:19,1
    - Dst: Botan::ZFEC::ZFEC
      Src: /src/botan/src/lib/ffi/ffi_zfec.cpp:20,1
    - Dst: copy
      Src: /src/botan/src/lib/ffi/ffi_zfec.cpp:21,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_zfec.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - K
    - N
    - input
    - size
    - outputs
    argTypes:
    - size_t
    - size_t
    - uint8_t*
    - size_t
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 29
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 29
    functionName: botan_zfec_encode
    functionSourceFile: /src/botan/src/lib/ffi/ffi_zfec.cpp
    functionUses: 0
    functionsReached:
    - copy
    - Botan::ZFEC::ZFEC
    - BOTAN_UNUSED
    - Botan_FFI::ffi_guard_thunk
    linkageType: ''
    returnType: int
    signature: int botan_zfec_encode(size_t K, size_t N, const uint8_t* input, size_t
      size, uint8_t** outputs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_FFI::ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_zfec.cpp:34,1
    - Dst: std::map::insert
      Src: /src/botan/src/lib/ffi/ffi_zfec.cpp:37,1
    - Dst: std::pair<size_t, const uint8_t*>
      Src: /src/botan/src/lib/ffi/ffi_zfec.cpp:37,1
    - Dst: Botan::ZFEC::ZFEC
      Src: /src/botan/src/lib/ffi/ffi_zfec.cpp:39,1
    - Dst: copy
      Src: /src/botan/src/lib/ffi/ffi_zfec.cpp:41,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_zfec.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - K
    - N
    - indexes
    - inputs
    - shareSize
    - outputs
    argTypes:
    - size_t
    - size_t
    - size_t*
    - uint8_t**
    - size_t
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: botan_zfec_decode
    functionSourceFile: /src/botan/src/lib/ffi/ffi_zfec.cpp
    functionUses: 0
    functionsReached:
    - Botan::ZFEC::ZFEC
    - Botan_FFI::ffi_guard_thunk
    - copy
    - BOTAN_UNUSED
    - std::map::insert
    - std::pair<size_t, const uint8_t*>
    linkageType: ''
    returnType: int
    signature: "int botan_zfec_decode(\n   size_t K, size_t N, const size_t* indexes,
      uint8_t* const* const inputs, size_t shareSize, uint8_t** outputs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:33,1
    - Dst: std::make_unique<Botan::HOTP>
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:34,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:35,1
    - Dst: botan_hotp_struct::botan_hotp_struct
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:35,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - hotp
    - key
    - key_len
    - hash_algo
    - digits
    argTypes:
    - botan_hotp_t*
    - uint8_t[]
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 43
    functionName: botan_hotp_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hotp.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::HOTP>
    - ffi_guard_thunk
    - botan_hotp_struct::botan_hotp_struct
    - BOTAN_UNUSED
    - std::move
    linkageType: ''
    returnType: int
    signature: int botan_hotp_init(botan_hotp_t* hotp, const uint8_t key[], size_t
      key_len, const char* hash_algo, size_t digits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:47,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hotp
    argTypes:
    - botan_hotp_t
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: botan_hotp_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hotp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_hotp_destroy(botan_hotp_t hotp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:60,1
    - Dst: generate_hotp
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:60,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - hotp
    - hotp_code
    - hotp_counter
    argTypes:
    - botan_hotp_t
    - uint32_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: botan_hotp_generate
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hotp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - BOTAN_UNUSED
    - generate_hotp
    linkageType: ''
    returnType: int
    signature: int botan_hotp_generate(botan_hotp_t hotp, uint32_t* hotp_code, uint64_t
      hotp_counter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:71,1
    - Dst: verify_hotp
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:72,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_hotp.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - hotp
    - next_hotp_counter
    - hotp_code
    - hotp_counter
    - resync_range
    argTypes:
    - botan_hotp_t
    - uint64_t*
    - uint32_t
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: botan_hotp_check
    functionSourceFile: /src/botan/src/lib/ffi/ffi_hotp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - verify_hotp
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: "int botan_hotp_check(\n   botan_hotp_t hotp, uint64_t* next_hotp_counter,
      uint32_t hotp_code, uint64_t hotp_counter, size_t resync_range)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:37,1
    - Dst: std::make_unique<Botan::PK_Encryptor_EME>
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:40,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:40,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:40,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:41,1
    - Dst: botan_pk_op_encrypt_struct::botan_pk_op_encrypt_struct
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - op
    - key_obj
    - padding
    - flags
    argTypes:
    - botan_pk_op_encrypt_t*
    - botan_pubkey_t
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: botan_pk_op_encrypt_create
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - Botan::system_rng
    - ffi_guard_thunk
    - botan_pk_op_encrypt_struct::botan_pk_op_encrypt_struct
    - std::make_unique<Botan::PK_Encryptor_EME>
    - std::move
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_encrypt_create(botan_pk_op_encrypt_t* op, botan_pubkey_t
      key_obj, const char* padding, uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - botan_pk_op_encrypt_t
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: botan_pk_op_encrypt_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_encrypt_destroy(botan_pk_op_encrypt_t op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:54,1
    - Dst: ciphertext_length
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - op
    - ptext_len
    - ctext_len
    argTypes:
    - botan_pk_op_encrypt_t
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: botan_pk_op_encrypt_output_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - ciphertext_length
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_encrypt_output_length(botan_pk_op_encrypt_t op, size_t
      ptext_len, size_t* ctext_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:63,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:64,1
    - Dst: encrypt
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:64,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - op
    - rng_obj
    - out
    - out_len
    - plaintext
    - plaintext_len
    argTypes:
    - botan_pk_op_encrypt_t
    - botan_rng_t
    - uint8_t[]
    - size_t*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: botan_pk_op_encrypt
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - write_vec_output
    - encrypt
    linkageType: ''
    returnType: int
    signature: "int botan_pk_op_encrypt(botan_pk_op_encrypt_t op,\n                        botan_rng_t
      rng_obj,\n                        uint8_t out[],\n                        size_t*
      out_len,\n                        const uint8_t plaintext[],\n                        size_t
      plaintext_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:83,1
    - Dst: std::make_unique<Botan::PK_Decryptor_EME>
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:86,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:86,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:86,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:87,1
    - Dst: botan_pk_op_decrypt_struct::botan_pk_op_decrypt_struct
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - op
    - key_obj
    - padding
    - flags
    argTypes:
    - botan_pk_op_decrypt_t*
    - botan_privkey_t
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: botan_pk_op_decrypt_create
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - Botan::system_rng
    - ffi_guard_thunk
    - botan_pk_op_decrypt_struct::botan_pk_op_decrypt_struct
    - std::move
    - safe_get
    - std::make_unique<Botan::PK_Decryptor_EME>
    linkageType: ''
    returnType: int
    signature: "int botan_pk_op_decrypt_create(botan_pk_op_decrypt_t* op,\n                               botan_privkey_t
      key_obj,\n                               const char* padding,\n                               uint32_t
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - botan_pk_op_decrypt_t
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: botan_pk_op_decrypt_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_decrypt_destroy(botan_pk_op_decrypt_t op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:100,1
    - Dst: plaintext_length
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - op
    - ctext_len
    - ptext_len
    argTypes:
    - botan_pk_op_decrypt_t
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: botan_pk_op_decrypt_output_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - plaintext_length
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_decrypt_output_length(botan_pk_op_decrypt_t op, size_t
      ctext_len, size_t* ptext_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:105,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:106,1
    - Dst: decrypt
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - op
    - out
    - out_len
    - ciphertext
    - ciphertext_len
    argTypes:
    - botan_pk_op_decrypt_t
    - uint8_t[]
    - size_t*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: botan_pk_op_decrypt
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - write_vec_output
    - decrypt
    linkageType: ''
    returnType: int
    signature: "int botan_pk_op_decrypt(\n   botan_pk_op_decrypt_t op, uint8_t out[],
      size_t* out_len, const uint8_t ciphertext[], size_t ciphertext_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:121,1
    - Dst: std::make_unique<Botan::PK_Signer>
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:127,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:127,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:127,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:128,1
    - Dst: botan_pk_op_sign_struct::botan_pk_op_sign_struct
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - op
    - key_obj
    - hash
    - flags
    argTypes:
    - botan_pk_op_sign_t*
    - botan_privkey_t
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: botan_pk_op_sign_create
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - Botan::system_rng
    - ffi_guard_thunk
    - botan_pk_op_sign_struct::botan_pk_op_sign_struct
    - std::move
    - safe_get
    - std::make_unique<Botan::PK_Signer>
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_sign_create(botan_pk_op_sign_t* op, botan_privkey_t
      key_obj, const char* hash, uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - botan_pk_op_sign_t
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: botan_pk_op_sign_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_sign_destroy(botan_pk_op_sign_t op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:142,1
    - Dst: signature_length
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - op
    - sig_len
    argTypes:
    - botan_pk_op_sign_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: botan_pk_op_sign_output_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - signature_length
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_sign_output_length(botan_pk_op_sign_t op, size_t* sig_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:146,1
    - Dst: update
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - op
    - in
    - in_len
    argTypes:
    - botan_pk_op_sign_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: botan_pk_op_sign_update
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - update
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_sign_update(botan_pk_op_sign_t op, const uint8_t in[],
      size_t in_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:150,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:150,1
    - Dst: signature
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:150,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - op
    - rng_obj
    - out
    - out_len
    argTypes:
    - botan_pk_op_sign_t
    - botan_rng_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: botan_pk_op_sign_finish
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - signature
    - write_vec_output
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_sign_finish(botan_pk_op_sign_t op, botan_rng_t rng_obj,
      uint8_t out[], size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:162,1
    - Dst: std::make_unique<Botan::PK_Verifier>
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:166,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:166,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:167,1
    - Dst: botan_pk_op_verify_struct::botan_pk_op_verify_struct
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - op
    - key_obj
    - hash
    - flags
    argTypes:
    - botan_pk_op_verify_t*
    - botan_pubkey_t
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 170
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 170
    functionName: botan_pk_op_verify_create
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::PK_Verifier>
    - ffi_guard_thunk
    - botan_pk_op_verify_struct::botan_pk_op_verify_struct
    - std::move
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_verify_create(botan_pk_op_verify_t* op, botan_pubkey_t
      key_obj, const char* hash, uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - botan_pk_op_verify_t
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: botan_pk_op_verify_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_verify_destroy(botan_pk_op_verify_t op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:177,1
    - Dst: update
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - op
    - in
    - in_len
    argTypes:
    - botan_pk_op_verify_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: botan_pk_op_verify_update
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - update
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_verify_update(botan_pk_op_verify_t op, const uint8_t
      in[], size_t in_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - op
    - sig
    - sig_len
    argTypes:
    - botan_pk_op_verify_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 190
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 190
    functionName: botan_pk_op_verify_finish
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_verify_finish(botan_pk_op_verify_t op, const uint8_t
      sig[], size_t sig_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:201,1
    - Dst: std::make_unique<Botan::PK_Key_Agreement>
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:203,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:203,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:203,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:204,1
    - Dst: botan_pk_op_ka_struct::botan_pk_op_ka_struct
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - op
    - key_obj
    - kdf
    - flags
    argTypes:
    - botan_pk_op_ka_t*
    - botan_privkey_t
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 207
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 207
    functionName: botan_pk_op_key_agreement_create
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - Botan::system_rng
    - ffi_guard_thunk
    - std::make_unique<Botan::PK_Key_Agreement>
    - std::move
    - safe_get
    - botan_pk_op_ka_struct::botan_pk_op_ka_struct
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_key_agreement_create(botan_pk_op_ka_t* op, botan_privkey_t
      key_obj, const char* kdf, uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - botan_pk_op_ka_t
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: botan_pk_op_key_agreement_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_key_agreement_destroy(botan_pk_op_ka_t op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_view_bin
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - out
    - out_len
    argTypes:
    - botan_privkey_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: botan_pk_op_key_agreement_export_public
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - copy_view_bin
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_key_agreement_export_public(botan_privkey_t key, uint8_t
      out[], size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:218,1
    - Dst: dynamic_cast<const Botan::PK_Key_Agreement_Key*>
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:219,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:220,1
    - Dst: auto::public_value
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - key
    - ctx
    - view
    argTypes:
    - botan_privkey_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: botan_pk_op_key_agreement_view_public
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - auto::public_value
    - dynamic_cast<const Botan::PK_Key_Agreement_Key*>
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_key_agreement_view_public(botan_privkey_t key, botan_view_ctx
      ctx, botan_view_bin_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:228,1
    - Dst: agreed_value_size
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - op
    - out_len
    argTypes:
    - botan_pk_op_ka_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: botan_pk_op_key_agreement_size
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - agreed_value_size
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_key_agreement_size(botan_pk_op_ka_t op, size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:244,1
    - Dst: derive_key
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:245,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - op
    - out
    - out_len
    - other_key
    - other_key_len
    - salt
    - salt_len
    argTypes:
    - botan_pk_op_ka_t
    - uint8_t[]
    - size_t*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 248
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 248
    functionName: botan_pk_op_key_agreement
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - write_vec_output
    - derive_key
    linkageType: ''
    returnType: int
    signature: "int botan_pk_op_key_agreement(botan_pk_op_ka_t op,\n                              uint8_t
      out[],\n                              size_t* out_len,\n                              const
      uint8_t other_key[],\n                              size_t other_key_len,\n
      \                             const uint8_t salt[],\n                              size_t
      salt_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:255,1
    - Dst: std::make_unique<Botan::PK_KEM_Encryptor>
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:256,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:256,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:257,1
    - Dst: botan_pk_op_kem_encrypt_struct::botan_pk_op_kem_encrypt_struct
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - op
    - key_obj
    - padding
    argTypes:
    - botan_pk_op_kem_encrypt_t*
    - botan_pubkey_t
    - char*
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: botan_pk_op_kem_encrypt_create
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - botan_pk_op_kem_encrypt_struct::botan_pk_op_kem_encrypt_struct
    - ffi_guard_thunk
    - std::make_unique<Botan::PK_KEM_Encryptor>
    - std::move
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_kem_encrypt_create(botan_pk_op_kem_encrypt_t* op, botan_pubkey_t
      key_obj, const char* padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - botan_pk_op_kem_encrypt_t
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: botan_pk_op_kem_encrypt_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_kem_encrypt_destroy(botan_pk_op_kem_encrypt_t op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:273,1
    - Dst: shared_key_length
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - op
    - desired_shared_key_length
    - output_shared_key_length
    argTypes:
    - botan_pk_op_kem_encrypt_t
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 277
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 277
    functionName: botan_pk_op_kem_encrypt_shared_key_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - shared_key_length
    linkageType: ''
    returnType: int
    signature: "int botan_pk_op_kem_encrypt_shared_key_length(botan_pk_op_kem_encrypt_t
      op,\n                                              size_t desired_shared_key_length,\n
      \                                             size_t* output_shared_key_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:285,1
    - Dst: encapsulated_key_length
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - op
    - output_encapsulated_key_length
    argTypes:
    - botan_pk_op_kem_encrypt_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 289
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 289
    functionName: botan_pk_op_kem_encrypt_encapsulated_key_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - encapsulated_key_length
    linkageType: ''
    returnType: int
    signature: "int botan_pk_op_kem_encrypt_encapsulated_key_length(botan_pk_op_kem_encrypt_t
      op,\n                                                    size_t* output_encapsulated_key_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:300,1
    - Dst: encrypt
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:301,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:301,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:309,1
    - Dst: auto::shared_key
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 9
    argNames:
    - op
    - rng
    - salt
    - salt_len
    - desired_shared_key_len
    - shared_key_out
    - shared_key_len
    - encapsulated_key_out
    - encapsulated_key_len
    argTypes:
    - botan_pk_op_kem_encrypt_t
    - botan_rng_t
    - uint8_t[]
    - size_t
    - size_t
    - uint8_t[]
    - size_t*
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 311
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 311
    functionName: botan_pk_op_kem_encrypt_create_shared_key
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - auto::shared_key
    - write_vec_output
    - encrypt
    linkageType: ''
    returnType: int
    signature: "int botan_pk_op_kem_encrypt_create_shared_key(botan_pk_op_kem_encrypt_t
      op,\n                                              botan_rng_t rng,\n                                              const
      uint8_t salt[],\n                                              size_t salt_len,\n
      \                                             size_t desired_shared_key_len,\n
      \                                             uint8_t shared_key_out[],\n                                              size_t*
      shared_key_len,\n                                              uint8_t encapsulated_key_out[],\n
      \                                             size_t* encapsulated_key_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:318,1
    - Dst: std::make_unique<Botan::PK_KEM_Decryptor>
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:319,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:319,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:319,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:320,1
    - Dst: botan_pk_op_kem_decrypt_struct::botan_pk_op_kem_decrypt_struct
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - op
    - key_obj
    - padding
    argTypes:
    - botan_pk_op_kem_decrypt_t*
    - botan_privkey_t
    - char*
    constantsTouched: []
    func_position:
      end: 323
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 323
    functionName: botan_pk_op_kem_decrypt_create
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - Botan::system_rng
    - botan_pk_op_kem_decrypt_struct::botan_pk_op_kem_decrypt_struct
    - ffi_guard_thunk
    - std::move
    - safe_get
    - std::make_unique<Botan::PK_KEM_Decryptor>
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_kem_decrypt_create(botan_pk_op_kem_decrypt_t* op, botan_privkey_t
      key_obj, const char* padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:332,1
    - Dst: shared_key_length
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - op
    - desired_shared_key_length
    - output_shared_key_length
    argTypes:
    - botan_pk_op_kem_decrypt_t
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 336
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 336
    functionName: botan_pk_op_kem_decrypt_shared_key_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - shared_key_length
    linkageType: ''
    returnType: int
    signature: "int botan_pk_op_kem_decrypt_shared_key_length(botan_pk_op_kem_decrypt_t
      op,\n                                              size_t desired_shared_key_length,\n
      \                                             size_t* output_shared_key_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:346,1
    - Dst: decrypt
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:348,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 8
    argNames:
    - op
    - salt
    - salt_len
    - encapsulated_key
    - encapsulated_key_len
    - desired_shared_key_len
    - shared_key_out
    - shared_key_len
    argTypes:
    - botan_pk_op_kem_decrypt_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - size_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 352
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 352
    functionName: botan_pk_op_kem_decrypt_shared_key
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - write_vec_output
    - decrypt
    linkageType: ''
    returnType: int
    signature: "int botan_pk_op_kem_decrypt_shared_key(botan_pk_op_kem_decrypt_t op,\n
      \                                      const uint8_t salt[],\n                                       size_t
      salt_len,\n                                       const uint8_t encapsulated_key[],\n
      \                                      size_t encapsulated_key_len,\n                                       size_t
      desired_shared_key_len,\n                                       uint8_t shared_key_out[],\n
      \                                      size_t* shared_key_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_pk_op.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - botan_pk_op_kem_decrypt_t
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: botan_pk_op_kem_decrypt_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pk_op.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_pk_op_kem_decrypt_destroy(botan_pk_op_kem_decrypt_t op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:33,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:43,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:45,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:48,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - key_obj
    - algo_name
    - algo_params
    - rng_obj
    argTypes:
    - botan_privkey_t*
    - char*
    - char*
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 54
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 54
    functionName: botan_privkey_create
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - Botan::create_private_key
    - ffi_guard_thunk
    - std::move
    - safe_get
    - botan_privkey_struct::botan_privkey_struct
    linkageType: ''
    returnType: int
    signature: "int botan_privkey_create(botan_privkey_t* key_obj,\n                         const
      char* algo_name,\n                         const char* algo_params,\n                         botan_rng_t
      rng_obj)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:60,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:66,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:67,1
    - Dst: Botan::create_ec_private_key
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:69,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:72,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - key_obj
    - algo_name
    - ec_group_obj
    - rng_obj
    argTypes:
    - botan_privkey_t*
    - char*
    - botan_ec_group_t
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 78
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 78
    functionName: botan_ec_privkey_create
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - Botan::create_ec_private_key
    - std::move
    - botan_privkey_struct::botan_privkey_struct
    - safe_get
    linkageType: ''
    returnType: int
    signature: "int botan_ec_privkey_create(botan_privkey_t* key_obj,\n                            const
      char* algo_name,\n                            botan_ec_group_t ec_group_obj,\n
      \                           botan_rng_t rng_obj)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:82,1
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:86,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:92,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:94,1
    - Dst: std::string
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:94,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:98,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - key
    - rng_obj
    - bits
    - len
    - password
    argTypes:
    - botan_privkey_t*
    - botan_rng_t
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 103
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 103
    functionName: botan_privkey_load
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 1
    functionsReached:
    - Botan::PKCS8::load_key
    - ffi_guard_thunk
    - std::string
    - BOTAN_UNUSED
    - std::move
    - botan_privkey_struct::botan_privkey_struct
    linkageType: ''
    returnType: int
    signature: "int botan_privkey_load(\n   botan_privkey_t* key, botan_rng_t rng_obj,
      const uint8_t bits[], size_t len, const char* password)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - botan_privkey_t
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: botan_privkey_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 3
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_privkey_destroy(botan_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:112,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:120,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - key
    - bits
    - bits_len
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: botan_pubkey_load
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_struct::botan_pubkey_struct
    - ffi_guard_thunk
    - std::move
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load(botan_pubkey_t* key, const uint8_t bits[], size_t
      bits_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - botan_pubkey_t
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: botan_pubkey_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_destroy(botan_pubkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:130,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:131,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:132,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pubout
    - key_obj
    argTypes:
    - botan_pubkey_t*
    - botan_privkey_t
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: botan_privkey_export_pubkey
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_struct::botan_pubkey_struct
    - ffi_guard_thunk
    - std::move
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_privkey_export_pubkey(botan_pubkey_t* pubout, botan_privkey_t
      key_obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:138,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:138,1
    - Dst: algo_name
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - out
    - out_len
    argTypes:
    - botan_privkey_t
    - char[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: botan_privkey_algo_name
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - algo_name
    - write_str_output
    linkageType: ''
    returnType: int
    signature: int botan_privkey_algo_name(botan_privkey_t key, char out[], size_t*
      out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:142,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:142,1
    - Dst: algo_name
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - out
    - out_len
    argTypes:
    - botan_pubkey_t
    - char[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: botan_pubkey_algo_name
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - algo_name
    - write_str_output
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_algo_name(botan_pubkey_t key, char out[], size_t*
      out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:148,1
    - Dst: check_key
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:149,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - rng
    - flags
    argTypes:
    - botan_pubkey_t
    - botan_rng_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: botan_pubkey_check_key
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - check_key
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_check_key(botan_pubkey_t key, botan_rng_t rng, uint32_t
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:155,1
    - Dst: check_key
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:156,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - rng
    - flags
    argTypes:
    - botan_privkey_t
    - botan_rng_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: botan_privkey_check_key
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - safe_get
    - check_key
    linkageType: ''
    returnType: int
    signature: int botan_privkey_check_key(botan_privkey_t key, botan_rng_t rng, uint32_t
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_view_bin
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:162,1
    - Dst: copy_view_str
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:164,1
    - Dst: copy_view_bin
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - key
    - out
    - out_len
    - flags
    argTypes:
    - botan_pubkey_t
    - uint8_t[]
    - size_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: botan_pubkey_export
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - copy_view_str
    - copy_view_bin
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_export(botan_pubkey_t key, uint8_t out[], size_t*
      out_len, uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:173,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:174,1
    - Dst: subject_public_key
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - ctx
    - view
    argTypes:
    - botan_pubkey_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: botan_pubkey_view_der
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - subject_public_key
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_view_der(botan_pubkey_t key, botan_view_ctx ctx, botan_view_bin_fn
      view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:178,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:179,1
    - Dst: Botan::X509::PEM_encode
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - ctx
    - view
    argTypes:
    - botan_pubkey_t
    - botan_view_ctx
    - botan_view_str_fn
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: botan_pubkey_view_pem
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - Botan::X509::PEM_encode
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_view_pem(botan_pubkey_t key, botan_view_ctx ctx, botan_view_str_fn
      view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:183,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:184,1
    - Dst: raw_public_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - ctx
    - view
    argTypes:
    - botan_pubkey_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: botan_pubkey_view_raw
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - raw_public_key_bits
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_view_raw(botan_pubkey_t key, botan_view_ctx ctx, botan_view_bin_fn
      view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_view_bin
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:189,1
    - Dst: copy_view_str
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:191,1
    - Dst: copy_view_bin
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - key
    - out
    - out_len
    - flags
    argTypes:
    - botan_privkey_t
    - uint8_t[]
    - size_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: botan_privkey_export
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - copy_view_str
    - copy_view_bin
    linkageType: ''
    returnType: int
    signature: int botan_privkey_export(botan_privkey_t key, uint8_t out[], size_t*
      out_len, uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:200,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:201,1
    - Dst: Botan::PKCS8::BER_encode
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - ctx
    - view
    argTypes:
    - botan_privkey_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: botan_privkey_view_der
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - Botan::PKCS8::BER_encode
    - invoke_view_callback
    linkageType: ''
    returnType: int
    signature: int botan_privkey_view_der(botan_privkey_t key, botan_view_ctx ctx,
      botan_view_bin_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:205,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:206,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - ctx
    - view
    argTypes:
    - botan_privkey_t
    - botan_view_ctx
    - botan_view_str_fn
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: botan_privkey_view_pem
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - Botan::PKCS8::PEM_encode
    linkageType: ''
    returnType: int
    signature: int botan_privkey_view_pem(botan_privkey_t key, botan_view_ctx ctx,
      botan_view_str_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:210,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:211,1
    - Dst: raw_private_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - ctx
    - view
    argTypes:
    - botan_privkey_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: botan_privkey_view_raw
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - raw_private_key_bits
    linkageType: ''
    returnType: int
    signature: int botan_privkey_view_raw(botan_privkey_t key, botan_view_ctx ctx,
      botan_view_bin_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_export_encrypted_pbkdf_iter
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - out
    - out_len
    - rng_obj
    - pass
    - flags
    argTypes:
    - botan_privkey_t
    - uint8_t[]
    - size_t*
    - botan_rng_t
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: botan_privkey_export_encrypted
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_export_encrypted_pbkdf_iter
    linkageType: ''
    returnType: int
    signature: "int botan_privkey_export_encrypted(botan_privkey_t key,\n                                   uint8_t
      out[],\n                                   size_t* out_len,\n                                   botan_rng_t
      rng_obj,\n                                   const char* pass,\n                                   const
      char* /*ignored - pbe*/,\n                                   uint32_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_view_bin
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:239,1
    - Dst: copy_view_str
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 10
    argNames:
    - key
    - out
    - out_len
    - rng
    - passphrase
    - pbkdf_msec
    - pbkdf_iters_out
    - cipher
    - pbkdf_hash
    - flags
    argTypes:
    - botan_privkey_t
    - uint8_t[]
    - size_t*
    - botan_rng_t
    - char*
    - uint32_t
    - size_t*
    - char*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 247
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 247
    functionName: botan_privkey_export_encrypted_pbkdf_msec
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - copy_view_str
    - copy_view_bin
    linkageType: ''
    returnType: int
    signature: "int botan_privkey_export_encrypted_pbkdf_msec(botan_privkey_t key,\n
      \                                             uint8_t out[],\n                                              size_t*
      out_len,\n                                              botan_rng_t rng,\n                                              const
      char* passphrase,\n                                              uint32_t pbkdf_msec,\n
      \                                             size_t* pbkdf_iters_out,\n                                              const
      char* cipher,\n                                              const char* pbkdf_hash,\n
      \                                             uint32_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:261,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:263,1
    - Dst: Botan::PKCS8::BER_encode_encrypted_pbkdf_msec
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:269,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - key
    - rng_obj
    - passphrase
    - maybe_cipher
    - maybe_pbkdf_algo
    - pbkdf_runtime_msec
    - ctx
    - view
    argTypes:
    - botan_privkey_t
    - botan_rng_t
    - char*
    - char*
    - char*
    - size_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 273
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 273
    functionName: botan_privkey_view_encrypted_der_timed
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - Botan::PKCS8::BER_encode_encrypted_pbkdf_msec
    - safe_get
    linkageType: ''
    returnType: int
    signature: "int botan_privkey_view_encrypted_der_timed(botan_privkey_t key,\n
      \                                          botan_rng_t rng_obj,\n                                           const
      char* passphrase,\n                                           const char* maybe_cipher,\n
      \                                          const char* maybe_pbkdf_algo,\n                                           size_t
      pbkdf_runtime_msec,\n                                           botan_view_ctx
      ctx,\n                                           botan_view_bin_fn view)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:287,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:289,1
    - Dst: Botan::PKCS8::PEM_encode_encrypted_pbkdf_msec
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:295,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - key
    - rng_obj
    - passphrase
    - maybe_cipher
    - maybe_pbkdf_algo
    - pbkdf_runtime_msec
    - ctx
    - view
    argTypes:
    - botan_privkey_t
    - botan_rng_t
    - char*
    - char*
    - char*
    - size_t
    - botan_view_ctx
    - botan_view_str_fn
    constantsTouched: []
    func_position:
      end: 299
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 299
    functionName: botan_privkey_view_encrypted_pem_timed
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - Botan::PKCS8::PEM_encode_encrypted_pbkdf_msec
    - safe_get
    linkageType: ''
    returnType: int
    signature: "int botan_privkey_view_encrypted_pem_timed(botan_privkey_t key,\n
      \                                          botan_rng_t rng_obj,\n                                           const
      char* passphrase,\n                                           const char* maybe_cipher,\n
      \                                          const char* maybe_pbkdf_algo,\n                                           size_t
      pbkdf_runtime_msec,\n                                           botan_view_ctx
      ctx,\n                                           botan_view_str_fn view)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_view_bin
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:311,1
    - Dst: copy_view_str
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 9
    argNames:
    - key
    - out
    - out_len
    - rng
    - passphrase
    - pbkdf_iter
    - cipher
    - pbkdf_algo
    - flags
    argTypes:
    - botan_privkey_t
    - uint8_t[]
    - size_t*
    - botan_rng_t
    - char*
    - size_t
    - char*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: botan_privkey_export_encrypted_pbkdf_iter
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 1
    functionsReached:
    - copy_view_str
    - copy_view_bin
    linkageType: ''
    returnType: int
    signature: "int botan_privkey_export_encrypted_pbkdf_iter(botan_privkey_t key,\n
      \                                             uint8_t out[],\n                                              size_t*
      out_len,\n                                              botan_rng_t rng,\n                                              const
      char* passphrase,\n                                              size_t pbkdf_iter,\n
      \                                             const char* cipher,\n                                              const
      char* pbkdf_algo,\n                                              uint32_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:333,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:334,1
    - Dst: Botan::PKCS8::BER_encode_encrypted_pbkdf_iter
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:340,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - key
    - rng_obj
    - passphrase
    - maybe_cipher
    - maybe_pbkdf_algo
    - maybe_pbkdf_iterations
    - ctx
    - view
    argTypes:
    - botan_privkey_t
    - botan_rng_t
    - char*
    - char*
    - char*
    - size_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 344
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 344
    functionName: botan_privkey_view_encrypted_der
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - Botan::PKCS8::BER_encode_encrypted_pbkdf_iter
    - safe_get
    linkageType: ''
    returnType: int
    signature: "int botan_privkey_view_encrypted_der(botan_privkey_t key,\n                                     botan_rng_t
      rng_obj,\n                                     const char* passphrase,\n                                     const
      char* maybe_cipher,\n                                     const char* maybe_pbkdf_algo,\n
      \                                    size_t maybe_pbkdf_iterations,\n                                     botan_view_ctx
      ctx,\n                                     botan_view_bin_fn view)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:358,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:359,1
    - Dst: Botan::PKCS8::PEM_encode_encrypted_pbkdf_iter
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:365,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - key
    - rng_obj
    - passphrase
    - maybe_cipher
    - maybe_pbkdf_algo
    - maybe_pbkdf_iterations
    - ctx
    - view
    argTypes:
    - botan_privkey_t
    - botan_rng_t
    - char*
    - char*
    - char*
    - size_t
    - botan_view_ctx
    - botan_view_str_fn
    constantsTouched: []
    func_position:
      end: 369
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 369
    functionName: botan_privkey_view_encrypted_pem
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - invoke_view_callback
    - Botan::PKCS8::PEM_encode_encrypted_pbkdf_iter
    - safe_get
    linkageType: ''
    returnType: int
    signature: "int botan_privkey_view_encrypted_pem(botan_privkey_t key,\n                                     botan_rng_t
      rng_obj,\n                                     const char* passphrase,\n                                     const
      char* maybe_cipher,\n                                     const char* maybe_pbkdf_algo,\n
      \                                    size_t maybe_pbkdf_iterations,\n                                     botan_view_ctx
      ctx,\n                                     botan_view_str_fn view)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:372,1
    - Dst: std::make_unique<Botan::OID>
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:377,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:377,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:378,1
    - Dst: botan_asn1_oid_struct::botan_asn1_oid_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - oid
    - key
    argTypes:
    - botan_asn1_oid_t*
    - botan_pubkey_t
    constantsTouched: []
    func_position:
      end: 382
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 382
    functionName: botan_pubkey_oid
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::OID>
    - BOTAN_FFI_VISIT
    - botan_asn1_oid_struct::botan_asn1_oid_struct
    - object_identifier
    - std::move
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_oid(botan_asn1_oid_t* oid, botan_pubkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:385,1
    - Dst: std::make_unique<Botan::OID>
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:390,1
    - Dst: object_identifier
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:390,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:391,1
    - Dst: botan_asn1_oid_struct::botan_asn1_oid_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - oid
    - key
    argTypes:
    - botan_asn1_oid_t*
    - botan_privkey_t
    constantsTouched: []
    func_position:
      end: 395
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 395
    functionName: botan_privkey_oid
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::OID>
    - BOTAN_FFI_VISIT
    - botan_asn1_oid_struct::botan_asn1_oid_struct
    - object_identifier
    - std::move
    linkageType: ''
    returnType: int
    signature: int botan_privkey_oid(botan_asn1_oid_t* oid, botan_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:398,1
    - Dst: stateful_operation
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - key
    - out
    argTypes:
    - botan_privkey_t
    - int*
    constantsTouched: []
    func_position:
      end: 410
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 410
    functionName: botan_privkey_stateful_operation
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - stateful_operation
    linkageType: ''
    returnType: int
    signature: int botan_privkey_stateful_operation(botan_privkey_t key, int* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:413,1
    - Dst: remaining_operations
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:418,1
    - Dst: auto::value
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - key
    - out
    argTypes:
    - botan_privkey_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 425
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 425
    functionName: botan_privkey_remaining_operations
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - remaining_operations
    - auto::value
    linkageType: ''
    returnType: int
    signature: int botan_privkey_remaining_operations(botan_privkey_t key, uint64_t*
      out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:428,1
    - Dst: estimated_strength
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - key
    - estimate
    argTypes:
    - botan_pubkey_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: botan_pubkey_estimated_strength
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - estimated_strength
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_estimated_strength(botan_pubkey_t key, size_t* estimate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:432,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:433,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:434,1
    - Dst: auto::process
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:434,1
    - Dst: public_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - key
    - hash_fn
    - out
    - out_len
    argTypes:
    - botan_pubkey_t
    - char*
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 436
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 436
    functionName: botan_pubkey_fingerprint
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::create_or_throw
    - BOTAN_FFI_VISIT
    - public_key_bits
    - auto::process
    - write_vec_output
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_fingerprint(botan_pubkey_t key, const char* hash_fn,
      uint8_t out[], size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:440,1
    - Dst: Botan::pkcs_hash_id
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:441,1
    - Dst: write_output
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:442,1
    - Dst: std::vector::data
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:442,1
    - Dst: std::vector::size
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:442,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - hash_name
    - pkcs_id
    - pkcs_id_len
    argTypes:
    - char*
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 448
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 448
    functionName: botan_pkcs_hash_id
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - ffi_guard_thunk
    - Botan::pkcs_hash_id
    - write_output
    - BOTAN_UNUSED
    - std::vector::data
    linkageType: ''
    returnType: int
    signature: int botan_pkcs_hash_id(const char* hash_name, uint8_t pkcs_id[], size_t*
      pkcs_id_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:109,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:114,1
    - Dst: reset
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:115,1
    - Dst: ECPrivateKey_t::ECPrivateKey_t
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' key'
    - ' scalar'
    - curve_name
    argTypes:
    - std::unique_ptr<ECPrivateKey_t>
    - Botan::BigInt
    - char*
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: privkey_load_ec
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group::supports_named_group
    - ECPrivateKey_t::ECPrivateKey_t
    - reset
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: int
    signature: int privkey_load_ec(std::unique_ptr<ECPrivateKey_t>& key, const Botan::BigInt&
      scalar, const char* curve_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_named_group
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:128,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:132,1
    - Dst: Botan::EC_AffinePoint::from_bigint_xy
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:134,1
    - Dst: reset
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:135,1
    - Dst: auto::value
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:135,1
    - Dst: ECPublicKey_t::ECPublicKey_t
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ' key'
    - ' public_x'
    - ' public_y'
    - curve_name
    argTypes:
    - std::unique_ptr<ECPublicKey_t>
    - Botan::BigInt
    - Botan::BigInt
    - char*
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: pubkey_load_ec
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_AffinePoint::from_bigint_xy
    - auto::value
    - Botan::EC_Group::supports_named_group
    - reset
    - ECPublicKey_t::ECPublicKey_t
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: int
    signature: "int pubkey_load_ec(std::unique_ptr<ECPublicKey_t>& key,\n                   const
      Botan::BigInt& public_x,\n                   const Botan::BigInt& public_y,\n
      \                  const char* curve_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Botan::EC_PublicKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:147,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:149,1
    - Dst: Botan::EC_PublicKey*::_public_ec_point
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:149,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:151,1
    - Dst: Botan::EC_PublicKey*::_public_ec_point
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:151,1
    - Dst: get_int_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:157,1
    - Dst: Botan_FFI::FFI_Error
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' key'
    - field
    argTypes:
    - Botan::Public_Key
    - std::string_view
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: pubkey_get_field
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_PublicKey*::_public_ec_point
    - Botan_FFI::FFI_Error
    - get_int_field
    - Botan::BigInt::from_bytes
    - dynamic_cast<const Botan::EC_PublicKey*>
    linkageType: ''
    returnType: Botan::BigInt
    signature: Botan::BigInt pubkey_get_field(const Botan::Public_Key& key, std::string_view
      field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Botan::EC_PublicKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:166,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:168,1
    - Dst: Botan::EC_PublicKey*::_public_ec_point
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:168,1
    - Dst: Botan::BigInt::from_bytes
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:170,1
    - Dst: Botan::EC_PublicKey*::_public_ec_point
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:170,1
    - Dst: get_int_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:176,1
    - Dst: Botan_FFI::FFI_Error
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' key'
    - field
    argTypes:
    - Botan::Private_Key
    - std::string_view
    constantsTouched: []
    func_position:
      end: 180
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 180
    functionName: privkey_get_field
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_PublicKey*::_public_ec_point
    - Botan_FFI::FFI_Error
    - get_int_field
    - Botan::BigInt::from_bytes
    - dynamic_cast<const Botan::EC_PublicKey*>
    linkageType: ''
    returnType: Botan::BigInt
    signature: Botan::BigInt privkey_get_field(const Botan::Private_Key& key, std::string_view
      field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:195,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:195,1
    - Dst: pubkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - output
    - key
    - field_name_cstr
    argTypes:
    - botan_mp_t
    - botan_pubkey_t
    - char*
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: botan_pubkey_get_field
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - pubkey_get_field
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_get_field(botan_mp_t output, botan_pubkey_t key, const
      char* field_name_cstr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:205,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:205,1
    - Dst: privkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - output
    - key
    - field_name_cstr
    argTypes:
    - botan_mp_t
    - botan_privkey_t
    - char*
    constantsTouched: []
    func_position:
      end: 206
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 206
    functionName: botan_privkey_get_field
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - privkey_get_field
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_privkey_get_field(botan_mp_t output, botan_privkey_t key,
      const char* field_name_cstr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:215,1
    - Dst: botan_privkey_create
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:217,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - key_obj
    - rng_obj
    - n_bits
    argTypes:
    - botan_privkey_t*
    - botan_rng_t
    - size_t
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: botan_privkey_create_rsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_create
    - std::to_string
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int botan_privkey_create_rsa(botan_privkey_t* key_obj, botan_rng_t
      rng_obj, size_t n_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:227,1
    - Dst: std::make_unique<Botan::RSA_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:228,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:228,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:228,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:228,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:229,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:229,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - key
    - rsa_p
    - rsa_q
    - rsa_e
    argTypes:
    - botan_privkey_t*
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 236
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 236
    functionName: botan_privkey_load_rsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::RSA_PrivateKey>
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    - safe_get
    - botan_privkey_struct::botan_privkey_struct
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_rsa(botan_privkey_t* key, botan_mp_t rsa_p,
      botan_mp_t rsa_q, botan_mp_t rsa_e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:245,1
    - Dst: std::make_unique<Botan::RSA_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:247,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:248,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:248,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - key
    - bits
    - len
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 255
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 255
    functionName: botan_privkey_load_rsa_pkcs1
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::RSA_PrivateKey>
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_rsa_pkcs1(botan_privkey_t* key, const uint8_t
      bits[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:263,1
    - Dst: std::make_unique<Botan::RSA_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:264,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:264,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:264,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:265,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:265,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - key
    - n
    - e
    argTypes:
    - botan_pubkey_t*
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 272
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 272
    functionName: botan_pubkey_load_rsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_struct::botan_pubkey_struct
    - std::make_unique<Botan::RSA_PublicKey>
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_rsa(botan_pubkey_t* key, botan_mp_t n, botan_mp_t
      e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - key
    argTypes:
    - botan_mp_t
    - botan_privkey_t
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: botan_privkey_rsa_get_p
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_privkey_rsa_get_p(botan_mp_t p, botan_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - key
    argTypes:
    - botan_mp_t
    - botan_privkey_t
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: botan_privkey_rsa_get_q
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_privkey_rsa_get_q(botan_mp_t q, botan_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - key
    argTypes:
    - botan_mp_t
    - botan_privkey_t
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: botan_privkey_rsa_get_n
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_privkey_rsa_get_n(botan_mp_t n, botan_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - key
    argTypes:
    - botan_mp_t
    - botan_privkey_t
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: botan_privkey_rsa_get_e
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_privkey_rsa_get_e(botan_mp_t e, botan_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - key
    argTypes:
    - botan_mp_t
    - botan_privkey_t
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: botan_privkey_rsa_get_d
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_privkey_rsa_get_d(botan_mp_t d, botan_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_pubkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - key
    argTypes:
    - botan_mp_t
    - botan_pubkey_t
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: botan_pubkey_rsa_get_e
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_rsa_get_e(botan_mp_t e, botan_pubkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_pubkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - key
    argTypes:
    - botan_mp_t
    - botan_pubkey_t
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: botan_pubkey_rsa_get_n
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_rsa_get_n(botan_mp_t n, botan_pubkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:304,1
    - Dst: dynamic_cast<const Botan::RSA_PrivateKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:305,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:307,1
    - Dst: Botan::RSA_PrivateKey*::private_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:307,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:309,1
    - Dst: Botan::PEM_Code::encode
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:309,1
    - Dst: Botan::RSA_PrivateKey*::private_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:309,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - rsa_key
    - out
    - out_len
    - flags
    argTypes:
    - botan_privkey_t
    - uint8_t[]
    - size_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 321
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 321
    functionName: botan_privkey_rsa_get_privkey
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - write_str_output
    - BOTAN_FFI_VISIT
    - Botan::PEM_Code::encode
    - Botan::RSA_PrivateKey*::private_key_bits
    - BOTAN_UNUSED
    - dynamic_cast<const Botan::RSA_PrivateKey*>
    - write_vec_output
    linkageType: ''
    returnType: int
    signature: int botan_privkey_rsa_get_privkey(botan_privkey_t rsa_key, uint8_t
      out[], size_t* out_len, uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:335,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:336,1
    - Dst: std::make_unique<Botan::DSA_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:338,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:339,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:339,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - key
    - rng_obj
    - pbits
    - qbits
    argTypes:
    - botan_privkey_t*
    - botan_rng_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 346
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 346
    functionName: botan_privkey_create_dsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    - safe_get
    - botan_privkey_struct::botan_privkey_struct
    - std::make_unique<Botan::DSA_PrivateKey>
    linkageType: ''
    returnType: int
    signature: int botan_privkey_create_dsa(botan_privkey_t* key, botan_rng_t rng_obj,
      size_t pbits, size_t qbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:355,1
    - Dst: std::make_unique<Botan::DSA_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:357,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:357,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:358,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:358,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - key
    - p
    - q
    - g
    - x
    argTypes:
    - botan_privkey_t*
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 365
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 365
    functionName: botan_privkey_load_dsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    - safe_get
    - botan_privkey_struct::botan_privkey_struct
    - std::make_unique<Botan::DSA_PrivateKey>
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_dsa(botan_privkey_t* key, botan_mp_t p, botan_mp_t
      q, botan_mp_t g, botan_mp_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:374,1
    - Dst: std::make_unique<Botan::DSA_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:376,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:376,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:377,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:377,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - key
    - p
    - q
    - g
    - y
    argTypes:
    - botan_pubkey_t*
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 384
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 384
    functionName: botan_pubkey_load_dsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_struct::botan_pubkey_struct
    - std::make_unique<Botan::DSA_PublicKey>
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_dsa(botan_pubkey_t* key, botan_mp_t p, botan_mp_t
      q, botan_mp_t g, botan_mp_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - key
    argTypes:
    - botan_mp_t
    - botan_privkey_t
    constantsTouched: []
    func_position:
      end: 388
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 388
    functionName: botan_privkey_dsa_get_x
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_privkey_dsa_get_x(botan_mp_t x, botan_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_pubkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - key
    argTypes:
    - botan_mp_t
    - botan_pubkey_t
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: botan_pubkey_dsa_get_p
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_dsa_get_p(botan_mp_t p, botan_pubkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_pubkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - key
    argTypes:
    - botan_mp_t
    - botan_pubkey_t
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 3
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: botan_pubkey_dsa_get_q
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_dsa_get_q(botan_mp_t q, botan_pubkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_pubkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - key
    argTypes:
    - botan_mp_t
    - botan_pubkey_t
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: botan_pubkey_dsa_get_g
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_dsa_get_g(botan_mp_t g, botan_pubkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_pubkey_get_field
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - key
    argTypes:
    - botan_mp_t
    - botan_pubkey_t
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: botan_pubkey_dsa_get_y
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_get_field
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_dsa_get_y(botan_mp_t y, botan_pubkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_create
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key_obj
    - rng_obj
    - param_str
    argTypes:
    - botan_privkey_t*
    - botan_rng_t
    - char*
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: botan_privkey_create_ecdsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_create
    linkageType: ''
    returnType: int
    signature: int botan_privkey_create_ecdsa(botan_privkey_t* key_obj, botan_rng_t
      rng_obj, const char* param_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:414,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:415,1
    - Dst: dynamic_cast<const Botan::EC_PublicKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:416,1
    - Dst: Botan::EC_PublicKey*::domain
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:422,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - botan_pubkey_t
    constantsTouched: []
    func_position:
      end: 428
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 428
    functionName: botan_pubkey_ecc_key_used_explicit_encoding
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - Botan::EC_PublicKey*::domain
    - BOTAN_UNUSED
    - safe_get
    - dynamic_cast<const Botan::EC_PublicKey*>
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_ecc_key_used_explicit_encoding(botan_pubkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:440,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:445,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:445,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - key
    - public_x
    - public_y
    - curve_name
    argTypes:
    - botan_pubkey_t*
    - botan_mp_t
    - botan_mp_t
    - char*
    constantsTouched: []
    func_position:
      end: 454
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 454
    functionName: botan_pubkey_load_ecdsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_struct::botan_pubkey_struct
    - ffi_guard_thunk
    - BOTAN_UNUSED
    - std::move
    linkageType: ''
    returnType: int
    signature: "int botan_pubkey_load_ecdsa(botan_pubkey_t* key,\n                            const
      botan_mp_t public_x,\n                            const botan_mp_t public_y,\n
      \                           const char* curve_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:463,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:467,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:467,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - key
    - scalar
    - curve_name
    argTypes:
    - botan_privkey_t*
    - botan_mp_t
    - char*
    constantsTouched: []
    func_position:
      end: 475
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 475
    functionName: botan_privkey_load_ecdsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - BOTAN_UNUSED
    - std::move
    - botan_privkey_struct::botan_privkey_struct
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_ecdsa(botan_privkey_t* key, const botan_mp_t
      scalar, const char* curve_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:492,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:493,1
    - Dst: std::make_unique<Botan::ElGamal_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:495,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:496,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:496,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - key
    - rng_obj
    - pbits
    - qbits
    argTypes:
    - botan_privkey_t*
    - botan_rng_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 503
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 503
    functionName: botan_privkey_create_elgamal
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::ElGamal_PrivateKey>
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    - safe_get
    - botan_privkey_struct::botan_privkey_struct
    linkageType: ''
    returnType: int
    signature: int botan_privkey_create_elgamal(botan_privkey_t* key, botan_rng_t
      rng_obj, size_t pbits, size_t qbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:511,1
    - Dst: std::make_unique<Botan::ElGamal_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:513,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:513,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:514,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:514,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - key
    - p
    - g
    - y
    argTypes:
    - botan_pubkey_t*
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 521
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 521
    functionName: botan_pubkey_load_elgamal
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_struct::botan_pubkey_struct
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    - safe_get
    - std::make_unique<Botan::ElGamal_PublicKey>
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_elgamal(botan_pubkey_t* key, botan_mp_t p, botan_mp_t
      g, botan_mp_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:529,1
    - Dst: std::make_unique<Botan::ElGamal_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:531,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:531,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:532,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:532,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - key
    - p
    - g
    - x
    argTypes:
    - botan_privkey_t*
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 539
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 539
    functionName: botan_privkey_load_elgamal
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::ElGamal_PrivateKey>
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    - safe_get
    - botan_privkey_struct::botan_privkey_struct
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_elgamal(botan_privkey_t* key, botan_mp_t p,
      botan_mp_t g, botan_mp_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_create
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key_obj
    - rng_obj
    - param_str
    argTypes:
    - botan_privkey_t*
    - botan_rng_t
    - char*
    constantsTouched: []
    func_position:
      end: 545
      start: 543
    functionDepth: 3
    functionLinenumber: 543
    functionLinenumberEnd: 545
    functionName: botan_privkey_create_dh
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_create
    linkageType: ''
    returnType: int
    signature: int botan_privkey_create_dh(botan_privkey_t* key_obj, botan_rng_t rng_obj,
      const char* param_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:553,1
    - Dst: std::make_unique<Botan::DH_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:555,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:555,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:556,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:556,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - key
    - p
    - g
    - x
    argTypes:
    - botan_privkey_t*
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 563
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 563
    functionName: botan_privkey_load_dh
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    - safe_get
    - botan_privkey_struct::botan_privkey_struct
    - std::make_unique<Botan::DH_PrivateKey>
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_dh(botan_privkey_t* key, botan_mp_t p, botan_mp_t
      g, botan_mp_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:571,1
    - Dst: std::make_unique<Botan::DH_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:573,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:573,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:574,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:574,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - key
    - p
    - g
    - y
    argTypes:
    - botan_pubkey_t*
    - botan_mp_t
    - botan_mp_t
    - botan_mp_t
    constantsTouched: []
    func_position:
      end: 581
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 581
    functionName: botan_pubkey_load_dh
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_struct::botan_pubkey_struct
    - ffi_guard_thunk
    - std::make_unique<Botan::DH_PublicKey>
    - std::move
    - safe_get
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_dh(botan_pubkey_t* key, botan_mp_t p, botan_mp_t
      g, botan_mp_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_create
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:594,1
    - Dst: botan_privkey_create
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:598,1
    - Dst: botan_privkey_create
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:601,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - key_obj
    - rng_obj
    - param_str
    argTypes:
    - botan_privkey_t*
    - botan_rng_t
    - char*
    constantsTouched: []
    func_position:
      end: 602
      start: 585
    functionDepth: 3
    functionLinenumber: 585
    functionLinenumberEnd: 602
    functionName: botan_privkey_create_ecdh
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_create
    linkageType: ''
    returnType: int
    signature: int botan_privkey_create_ecdh(botan_privkey_t* key_obj, botan_rng_t
      rng_obj, const char* param_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:613,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:618,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:618,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - key
    - public_x
    - public_y
    - curve_name
    argTypes:
    - botan_pubkey_t*
    - botan_mp_t
    - botan_mp_t
    - char*
    constantsTouched: []
    func_position:
      end: 626
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 626
    functionName: botan_pubkey_load_ecdh
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_struct::botan_pubkey_struct
    - ffi_guard_thunk
    - BOTAN_UNUSED
    - std::move
    linkageType: ''
    returnType: int
    signature: "int botan_pubkey_load_ecdh(botan_pubkey_t* key,\n                           const
      botan_mp_t public_x,\n                           const botan_mp_t public_y,\n
      \                          const char* curve_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:634,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:638,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:638,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - key
    - scalar
    - curve_name
    argTypes:
    - botan_privkey_t*
    - botan_mp_t
    - char*
    constantsTouched: []
    func_position:
      end: 646
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 646
    functionName: botan_privkey_load_ecdh
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - BOTAN_UNUSED
    - std::move
    - botan_privkey_struct::botan_privkey_struct
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_ecdh(botan_privkey_t* key, const botan_mp_t
      scalar, const char* curve_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:657,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:658,1
    - Dst: dynamic_cast<const Botan::EC_PublicKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:659,1
    - Dst: Botan::EC_PublicKey*::algo_name
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:665,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:670,1
    - Dst: Botan::EC_PublicKey*::_public_ec_point
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:672,1
    - Dst: Botan::sm2_compute_za
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:674,1
    - Dst: Botan::EC_PublicKey*::domain
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:674,1
    - Dst: write_vec_output
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:676,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - out
    - out_len
    - ident
    - hash_algo
    - key
    argTypes:
    - uint8_t[]
    - size_t*
    - char*
    - char*
    - botan_pubkey_t
    constantsTouched: []
    func_position:
      end: 681
      start: 650
    functionDepth: 3
    functionLinenumber: 650
    functionLinenumberEnd: 681
    functionName: botan_pubkey_sm2_compute_za
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - Botan::HashFunction::create_or_throw
    - ffi_guard_thunk
    - Botan::EC_PublicKey*::_public_ec_point
    - Botan::EC_PublicKey*::domain
    - Botan::sm2_compute_za
    - safe_get
    - dynamic_cast<const Botan::EC_PublicKey*>
    - write_vec_output
    - Botan::EC_PublicKey*::algo_name
    linkageType: ''
    returnType: int
    signature: "int botan_pubkey_sm2_compute_za(\n   uint8_t out[], size_t* out_len,
      const char* ident, const char* hash_algo, const botan_pubkey_t key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:693,1
    - Dst: pubkey_load_ec
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:695,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:695,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:695,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:696,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:696,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - key
    - public_x
    - public_y
    - curve_name
    argTypes:
    - botan_pubkey_t*
    - botan_mp_t
    - botan_mp_t
    - char*
    constantsTouched: []
    func_position:
      end: 705
      start: 683
    functionDepth: 3
    functionLinenumber: 683
    functionLinenumberEnd: 705
    functionName: botan_pubkey_load_sm2
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_struct::botan_pubkey_struct
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    - safe_get
    - pubkey_load_ec
    linkageType: ''
    returnType: int
    signature: "int botan_pubkey_load_sm2(botan_pubkey_t* key,\n                          const
      botan_mp_t public_x,\n                          const botan_mp_t public_y,\n
      \                         const char* curve_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:714,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:719,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:719,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - key
    - scalar
    - curve_name
    argTypes:
    - botan_privkey_t*
    - botan_mp_t
    - char*
    constantsTouched: []
    func_position:
      end: 727
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 727
    functionName: botan_privkey_load_sm2
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - BOTAN_UNUSED
    - std::move
    - botan_privkey_struct::botan_privkey_struct
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_sm2(botan_privkey_t* key, const botan_mp_t scalar,
      const char* curve_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_pubkey_load_sm2
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - public_x
    - public_y
    - curve_name
    argTypes:
    - botan_pubkey_t*
    - botan_mp_t
    - botan_mp_t
    - char*
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 4
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: botan_pubkey_load_sm2_enc
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_load_sm2
    linkageType: ''
    returnType: int
    signature: "int botan_pubkey_load_sm2_enc(botan_pubkey_t* key,\n                              const
      botan_mp_t public_x,\n                              const botan_mp_t public_y,\n
      \                             const char* curve_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_privkey_load_sm2
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - scalar
    - curve_name
    argTypes:
    - botan_privkey_t*
    - botan_mp_t
    - char*
    constantsTouched: []
    func_position:
      end: 738
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 738
    functionName: botan_privkey_load_sm2_enc
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_load_sm2
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_sm2_enc(botan_privkey_t* key, const botan_mp_t
      scalar, const char* curve_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:748,1
    - Dst: std::make_unique<Botan::Ed25519_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:750,1
    - Dst: Botan::Ed25519_PrivateKey::from_seed
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:750,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:751,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:751,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - privkey
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 758
      start: 742
    functionDepth: 3
    functionLinenumber: 742
    functionLinenumberEnd: 758
    functionName: botan_privkey_load_ed25519
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - Botan::Ed25519_PrivateKey::from_seed
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - std::make_unique<Botan::Ed25519_PrivateKey>
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_ed25519(botan_privkey_t* key, const uint8_t
      privkey[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:766,1
    - Dst: std::make_unique<Botan::Ed25519_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:768,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:769,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:769,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - pubkey
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 776
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 776
    functionName: botan_pubkey_load_ed25519
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_struct::botan_pubkey_struct
    - std::make_unique<Botan::Ed25519_PublicKey>
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_ed25519(botan_pubkey_t* key, const uint8_t pubkey[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:780,1
    - Dst: dynamic_cast<const Botan::Ed25519_PrivateKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:781,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:782,1
    - Dst: auto::size
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:783,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:786,1
    - Dst: auto::data
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:786,1
    - Dst: auto::size
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:786,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - key
    - output
    argTypes:
    - botan_privkey_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 796
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 796
    functionName: botan_privkey_ed25519_get_privkey
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - dynamic_cast<const Botan::Ed25519_PrivateKey*>
    - auto::raw_private_key_bits
    - auto::data
    - BOTAN_UNUSED
    - auto::size
    - Botan::copy_mem
    linkageType: ''
    returnType: int
    signature: int botan_privkey_ed25519_get_privkey(botan_privkey_t key, uint8_t
      output[64])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:800,1
    - Dst: dynamic_cast<const Botan::Ed25519_PublicKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:801,1
    - Dst: auto::get_public_key
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:802,1
    - Dst: size
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:803,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:806,1
    - Dst: data
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:806,1
    - Dst: size
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:806,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - key
    - output
    argTypes:
    - botan_pubkey_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 816
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 816
    functionName: botan_pubkey_ed25519_get_pubkey
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - auto::get_public_key
    - BOTAN_FFI_VISIT
    - data
    - size
    - BOTAN_UNUSED
    - dynamic_cast<const Botan::Ed25519_PublicKey*>
    - Botan::copy_mem
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_ed25519_get_pubkey(botan_pubkey_t key, uint8_t output[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:826,1
    - Dst: std::make_unique<Botan::Ed448_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:827,1
    - Dst: std::span
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:827,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:828,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:828,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - privkey
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 835
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 835
    functionName: botan_privkey_load_ed448
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - ffi_guard_thunk
    - std::move
    - std::make_unique<Botan::Ed448_PrivateKey>
    - botan_privkey_struct::botan_privkey_struct
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_ed448(botan_privkey_t* key, const uint8_t privkey[57])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:843,1
    - Dst: std::make_unique<Botan::Ed448_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:844,1
    - Dst: std::span
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:844,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:845,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:845,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - pubkey
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 852
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 852
    functionName: botan_pubkey_load_ed448
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_struct::botan_pubkey_struct
    - std::span
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    - std::make_unique<Botan::Ed448_PublicKey>
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_ed448(botan_pubkey_t* key, const uint8_t pubkey[57])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:856,1
    - Dst: dynamic_cast<const Botan::Ed448_PrivateKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:857,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:858,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:859,1
    - Dst: std::span
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:859,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - output
    argTypes:
    - botan_privkey_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 869
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 869
    functionName: botan_privkey_ed448_get_privkey
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - BOTAN_FFI_VISIT
    - auto::raw_private_key_bits
    - BOTAN_UNUSED
    - dynamic_cast<const Botan::Ed448_PrivateKey*>
    - Botan::copy_mem
    linkageType: ''
    returnType: int
    signature: int botan_privkey_ed448_get_privkey(botan_privkey_t key, uint8_t output[57])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:873,1
    - Dst: dynamic_cast<const Botan::Ed448_PublicKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:874,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:875,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:876,1
    - Dst: std::span
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:876,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - output
    argTypes:
    - botan_pubkey_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 886
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 886
    functionName: botan_pubkey_ed448_get_pubkey
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::span
    - BOTAN_FFI_VISIT
    - dynamic_cast<const Botan::Ed448_PublicKey*>
    - auto::public_key_bits
    - BOTAN_UNUSED
    - Botan::copy_mem
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_ed448_get_pubkey(botan_pubkey_t key, uint8_t output[57])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:896,1
    - Dst: std::make_unique<Botan::X25519_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:897,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:898,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:898,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - privkey
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 905
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 905
    functionName: botan_privkey_load_x25519
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - std::make_unique<Botan::X25519_PrivateKey>
    - BOTAN_UNUSED
    - std::move
    - botan_privkey_struct::botan_privkey_struct
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_x25519(botan_privkey_t* key, const uint8_t privkey[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:913,1
    - Dst: std::make_unique<Botan::X25519_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:914,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:915,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:915,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - pubkey
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 922
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 922
    functionName: botan_pubkey_load_x25519
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::X25519_PublicKey>
    - botan_pubkey_struct::botan_pubkey_struct
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_x25519(botan_pubkey_t* key, const uint8_t pubkey[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:926,1
    - Dst: dynamic_cast<const Botan::X25519_PrivateKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:927,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:928,1
    - Dst: auto::size
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:929,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:932,1
    - Dst: auto::data
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:932,1
    - Dst: auto::size
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:932,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - key
    - output
    argTypes:
    - botan_privkey_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 942
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 942
    functionName: botan_privkey_x25519_get_privkey
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - auto::raw_private_key_bits
    - dynamic_cast<const Botan::X25519_PrivateKey*>
    - auto::data
    - BOTAN_UNUSED
    - auto::size
    - Botan::copy_mem
    linkageType: ''
    returnType: int
    signature: int botan_privkey_x25519_get_privkey(botan_privkey_t key, uint8_t output[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:946,1
    - Dst: dynamic_cast<const Botan::X25519_PublicKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:947,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:948,1
    - Dst: auto::raw_public_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:948,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - output
    argTypes:
    - botan_pubkey_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 958
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 958
    functionName: botan_pubkey_x25519_get_pubkey
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - auto::raw_public_key_bits
    - BOTAN_UNUSED
    - dynamic_cast<const Botan::X25519_PublicKey*>
    - Botan::copy_mem
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_x25519_get_pubkey(botan_pubkey_t key, uint8_t output[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:968,1
    - Dst: std::make_unique<Botan::X448_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:969,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:970,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:970,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - privkey
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 977
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 977
    functionName: botan_privkey_load_x448
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - std::make_unique<Botan::X448_PrivateKey>
    - BOTAN_UNUSED
    - std::move
    - botan_privkey_struct::botan_privkey_struct
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_x448(botan_privkey_t* key, const uint8_t privkey[56])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:985,1
    - Dst: std::make_unique<Botan::X448_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:986,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:987,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:987,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - pubkey
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 994
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 994
    functionName: botan_pubkey_load_x448
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_struct::botan_pubkey_struct
    - std::make_unique<Botan::X448_PublicKey>
    - ffi_guard_thunk
    - BOTAN_UNUSED
    - std::move
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_x448(botan_pubkey_t* key, const uint8_t pubkey[56])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:998,1
    - Dst: dynamic_cast<const Botan::X448_PrivateKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:999,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1000,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1001,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - output
    argTypes:
    - botan_privkey_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1011
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1011
    functionName: botan_privkey_x448_get_privkey
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - auto::raw_private_key_bits
    - dynamic_cast<const Botan::X448_PrivateKey*>
    - BOTAN_UNUSED
    - Botan::copy_mem
    linkageType: ''
    returnType: int
    signature: int botan_privkey_x448_get_privkey(botan_privkey_t key, uint8_t output[56])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1015,1
    - Dst: dynamic_cast<const Botan::X448_PublicKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1016,1
    - Dst: Botan::copy_mem
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1017,1
    - Dst: auto::raw_public_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1017,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - output
    argTypes:
    - botan_pubkey_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1027
      start: 1013
    functionDepth: 1
    functionLinenumber: 1013
    functionLinenumberEnd: 1027
    functionName: botan_pubkey_x448_get_pubkey
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - auto::raw_public_key_bits
    - BOTAN_UNUSED
    - dynamic_cast<const Botan::X448_PublicKey*>
    - Botan::copy_mem
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_x448_get_pubkey(botan_pubkey_t key, uint8_t output[56])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: auto::has_value
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1052,1
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1053,1
    - Dst: std::make_unique<Botan::Kyber_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1054,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1055,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1055,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1062,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - key
    - privkey
    - key_len
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 1065
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1065
    functionName: botan_privkey_load_kyber
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::Kyber_PrivateKey>
    - auto::has_value
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_kyber(botan_privkey_t* key, const uint8_t privkey[],
      size_t key_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: auto::has_value
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1086,1
    - Dst: std::make_unique<Botan::Kyber_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1087,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1088,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1088,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1094,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - key
    - pubkey
    - key_len
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 1097
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1097
    functionName: botan_pubkey_load_kyber
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_struct::botan_pubkey_struct
    - auto::has_value
    - BOTAN_UNUSED
    - std::move
    - std::make_unique<Botan::Kyber_PublicKey>
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_kyber(botan_pubkey_t* key, const uint8_t pubkey[],
      size_t key_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1101,1
    - Dst: dynamic_cast<const Botan::Kyber_PrivateKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1102,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1103,1
    - Dst: auto::raw_private_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1103,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - key
    - ctx
    - view
    argTypes:
    - botan_privkey_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 1112
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1112
    functionName: botan_privkey_view_kyber_raw_key
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Botan::Kyber_PrivateKey*>
    - BOTAN_FFI_VISIT
    - auto::raw_private_key_bits
    - BOTAN_UNUSED
    - invoke_view_callback
    linkageType: ''
    returnType: int
    signature: int botan_privkey_view_kyber_raw_key(botan_privkey_t key, botan_view_ctx
      ctx, botan_view_bin_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1116,1
    - Dst: dynamic_cast<const Botan::Kyber_PublicKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1117,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1118,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1118,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - key
    - ctx
    - view
    argTypes:
    - botan_pubkey_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 1127
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1127
    functionName: botan_pubkey_view_kyber_raw_key
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - dynamic_cast<const Botan::Kyber_PublicKey*>
    - auto::public_key_bits
    - BOTAN_UNUSED
    - invoke_view_callback
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_view_kyber_raw_key(botan_pubkey_t key, botan_view_ctx
      ctx, botan_view_bin_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1141,1
    - Dst: Botan::ML_KEM_Mode
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1142,1
    - Dst: auto::is_ml_kem
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1143,1
    - Dst: std::make_unique<Botan::ML_KEM_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1147,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1148,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1148,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - key
    - privkey
    - key_len
    - mlkem_mode
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1155
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1155
    functionName: botan_privkey_load_ml_kem
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - auto::is_ml_kem
    - std::make_unique<Botan::ML_KEM_PrivateKey>
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - Botan::ML_KEM_Mode
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_ml_kem(botan_privkey_t* key, const uint8_t privkey[],
      size_t key_len, const char* mlkem_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1165,1
    - Dst: Botan::ML_KEM_Mode
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1166,1
    - Dst: auto::is_ml_kem
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1167,1
    - Dst: std::make_unique<Botan::ML_KEM_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1171,1
    - Dst: auto::mode
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1171,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1172,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1172,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - key
    - pubkey
    - key_len
    - mlkem_mode
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1179
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1179
    functionName: botan_pubkey_load_ml_kem
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_struct::botan_pubkey_struct
    - std::make_unique<Botan::ML_KEM_PublicKey>
    - auto::is_ml_kem
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    - Botan::ML_KEM_Mode
    - auto::mode
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_ml_kem(botan_pubkey_t* key, const uint8_t pubkey[],
      size_t key_len, const char* mlkem_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1193,1
    - Dst: Botan::ML_DSA_Mode
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1194,1
    - Dst: auto::is_ml_dsa
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1195,1
    - Dst: std::make_unique<Botan::ML_DSA_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1199,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1200,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1200,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - key
    - privkey
    - key_len
    - mldsa_mode
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1207
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1207
    functionName: botan_privkey_load_ml_dsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - auto::is_ml_dsa
    - std::make_unique<Botan::ML_DSA_PrivateKey>
    - ffi_guard_thunk
    - std::move
    - Botan::ML_DSA_Mode
    - botan_privkey_struct::botan_privkey_struct
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_ml_dsa(botan_privkey_t* key, const uint8_t privkey[],
      size_t key_len, const char* mldsa_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1217,1
    - Dst: Botan::ML_DSA_Mode
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1218,1
    - Dst: auto::is_ml_dsa
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1219,1
    - Dst: std::make_unique<Botan::ML_DSA_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1223,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1224,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1224,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - key
    - pubkey
    - key_len
    - mldsa_mode
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1231
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1231
    functionName: botan_pubkey_load_ml_dsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_struct::botan_pubkey_struct
    - auto::is_ml_dsa
    - ffi_guard_thunk
    - std::move
    - Botan::ML_DSA_Mode
    - BOTAN_UNUSED
    - std::make_unique<Botan::ML_DSA_PublicKey>
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_ml_dsa(botan_pubkey_t* key, const uint8_t pubkey[],
      size_t key_len, const char* mldsa_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1245,1
    - Dst: Botan_CLI::tls_proxy_session::create
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1246,1
    - Dst: auto::is_slh_dsa
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1247,1
    - Dst: std::make_unique<Botan::SLH_DSA_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1251,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1252,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1252,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - key
    - privkey
    - key_len
    - slhdsa_mode
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1259
      start: 1237
    functionDepth: 1
    functionLinenumber: 1237
    functionLinenumberEnd: 1259
    functionName: botan_privkey_load_slh_dsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - auto::is_slh_dsa
    - Botan_CLI::tls_proxy_session::create
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - std::make_unique<Botan::SLH_DSA_PrivateKey>
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_slh_dsa(botan_privkey_t* key, const uint8_t
      privkey[], size_t key_len, const char* slhdsa_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1269,1
    - Dst: Botan_CLI::tls_proxy_session::create
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1270,1
    - Dst: auto::is_slh_dsa
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1271,1
    - Dst: std::make_unique<Botan::SLH_DSA_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1275,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1276,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1276,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - key
    - pubkey
    - key_len
    - slhdsa_mode
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1283
      start: 1261
    functionDepth: 1
    functionLinenumber: 1261
    functionLinenumberEnd: 1283
    functionName: botan_pubkey_load_slh_dsa
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_struct::botan_pubkey_struct
    - ffi_guard_thunk
    - auto::is_slh_dsa
    - std::make_unique<Botan::SLH_DSA_PublicKey>
    - Botan_CLI::tls_proxy_session::create
    - std::move
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_slh_dsa(botan_pubkey_t* key, const uint8_t pubkey[],
      size_t key_len, const char* slhdsa_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1297,1
    - Dst: Botan::FrodoKEMMode::FrodoKEMMode
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1298,1
    - Dst: std::make_unique<Botan::FrodoKEM_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1299,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1300,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1300,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - key
    - privkey
    - key_len
    - frodo_mode
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1307
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1307
    functionName: botan_privkey_load_frodokem
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    - std::make_unique<Botan::FrodoKEM_PrivateKey>
    - Botan::FrodoKEMMode::FrodoKEMMode
    linkageType: ''
    returnType: int
    signature: int botan_privkey_load_frodokem(botan_privkey_t* key, const uint8_t
      privkey[], size_t key_len, const char* frodo_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1317,1
    - Dst: Botan::FrodoKEMMode::FrodoKEMMode
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1318,1
    - Dst: std::make_unique<Botan::FrodoKEM_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1319,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1320,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1320,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - key
    - pubkey
    - key_len
    - frodo_mode
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1327
      start: 1309
    functionDepth: 1
    functionLinenumber: 1309
    functionLinenumberEnd: 1327
    functionName: botan_pubkey_load_frodokem
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_struct::botan_pubkey_struct
    - std::make_unique<Botan::FrodoKEM_PublicKey>
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    - Botan::FrodoKEMMode::FrodoKEMMode
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_load_frodokem(botan_pubkey_t* key, const uint8_t pubkey[],
      size_t key_len, const char* frodo_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1344,1
    - Dst: Botan::Classic_McEliece_Parameter_Set::from_string
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1345,1
    - Dst: std::make_unique<Botan::Classic_McEliece_PrivateKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1346,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1347,1
    - Dst: botan_privkey_struct::botan_privkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1347,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - key
    - privkey
    - key_len
    - cmce_mode
    argTypes:
    - botan_privkey_t*
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1354
      start: 1333
    functionDepth: 2
    functionLinenumber: 1333
    functionLinenumberEnd: 1354
    functionName: botan_privkey_load_classic_mceliece
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::Classic_McEliece_PrivateKey>
    - Botan::Classic_McEliece_Parameter_Set::from_string
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    - botan_privkey_struct::botan_privkey_struct
    linkageType: ''
    returnType: int
    signature: "int botan_privkey_load_classic_mceliece(botan_privkey_t* key,\n                                        const
      uint8_t privkey[],\n                                        size_t key_len,\n
      \                                       const char* cmce_mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1367,1
    - Dst: Botan::Classic_McEliece_Parameter_Set::from_string
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1368,1
    - Dst: std::make_unique<Botan::Classic_McEliece_PublicKey>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1369,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1370,1
    - Dst: botan_pubkey_struct::botan_pubkey_struct
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1370,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - key
    - pubkey
    - key_len
    - cmce_mode
    argTypes:
    - botan_pubkey_t*
    - uint8_t[]
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1377
      start: 1356
    functionDepth: 2
    functionLinenumber: 1356
    functionLinenumberEnd: 1377
    functionName: botan_pubkey_load_classic_mceliece
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_pubkey_struct::botan_pubkey_struct
    - Botan::Classic_McEliece_Parameter_Set::from_string
    - ffi_guard_thunk
    - std::move
    - BOTAN_UNUSED
    - std::make_unique<Botan::Classic_McEliece_PublicKey>
    linkageType: ''
    returnType: int
    signature: "int botan_pubkey_load_classic_mceliece(botan_pubkey_t* key,\n                                       const
      uint8_t pubkey[],\n                                       size_t key_len,\n
      \                                      const char* cmce_mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1381,1
    - Dst: dynamic_cast<const Botan::EC_PublicKey*>
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1382,1
    - Dst: auto::_public_ec_point
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1383,1
    - Dst: invoke_view_callback
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1384,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - key
    - ctx
    - view
    argTypes:
    - botan_pubkey_t
    - botan_view_ctx
    - botan_view_bin_fn
    constantsTouched: []
    func_position:
      end: 1393
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1393
    functionName: botan_pubkey_view_ec_public_point
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - BOTAN_UNUSED
    - invoke_view_callback
    - dynamic_cast<const Botan::EC_PublicKey*>
    - auto::_public_ec_point
    linkageType: ''
    returnType: int
    signature: int botan_pubkey_view_ec_public_point(const botan_pubkey_t key, botan_view_ctx
      ctx, botan_view_bin_fn view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1396,1
    - Dst: std::to_string
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1396,1
    - Dst: botan_privkey_create
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1397,1
    - Dst: std::string::c_str
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key_obj
    - rng_obj
    - n
    - t
    argTypes:
    - botan_privkey_t*
    - botan_rng_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1398
      start: 1395
    functionDepth: 3
    functionLinenumber: 1395
    functionLinenumberEnd: 1398
    functionName: botan_privkey_create_mceliece
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - botan_privkey_create
    - std::to_string
    - std::string::c_str
    linkageType: ''
    returnType: int
    signature: int botan_privkey_create_mceliece(botan_privkey_t* key_obj, botan_rng_t
      rng_obj, size_t n, size_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - mce_key_obj
    - aead
    - ct
    - ct_len
    - ad
    - ad_len
    - out
    - out_len
    argTypes:
    - botan_privkey_t
    - char*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 1410
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1410
    functionName: botan_mceies_decrypt
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: "int botan_mceies_decrypt(botan_privkey_t mce_key_obj,\n                         const
      char* aead,\n                         const uint8_t ct[],\n                         size_t
      ct_len,\n                         const uint8_t ad[],\n                         size_t
      ad_len,\n                         uint8_t out[],\n                         size_t*
      out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp:1421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - mce_key_obj
    - rng_obj
    - aead
    - pt
    - pt_len
    - ad
    - ad_len
    - out
    - out_len
    argTypes:
    - botan_pubkey_t
    - botan_rng_t
    - char*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t*
    constantsTouched: []
    func_position:
      end: 1423
      start: 1412
    functionDepth: 0
    functionLinenumber: 1412
    functionLinenumberEnd: 1423
    functionName: botan_mceies_encrypt
    functionSourceFile: /src/botan/src/lib/ffi/ffi_pkey_algs.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: "int botan_mceies_encrypt(botan_pubkey_t mce_key_obj,\n                         botan_rng_t
      rng_obj,\n                         const char* aead,\n                         const
      uint8_t pt[],\n                         size_t pt_len,\n                         const
      uint8_t ad[],\n                         size_t ad_len,\n                         uint8_t
      out[],\n                         size_t* out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:25,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:26,1
    - Dst: reserve
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - update_size
    - ideal_update_size
    argTypes:
    - std::unique_ptr<Botan::Cipher_Mode>
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: botan_cipher_struct
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_DEBUG_ASSERT
    - std::move
    - reserve
    linkageType: ''
    returnType: void
    signature: "void botan_cipher_struct(std::unique_ptr<Botan::Cipher_Mode> x,\n
      \                                  size_t update_size,\n                                   size_t
      ideal_update_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '& buf()'
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> & buf()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: update_size
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t update_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ideal_update_size
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ideal_update_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:66,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:78,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:78,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ' mode'
    argTypes:
    - Botan::Cipher_Mode
    constantsTouched: []
    func_position:
      end: 92
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 92
    functionName: ffi_choose_update_size
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - BOTAN_ASSERT_NOMSG
    linkageType: ''
    returnType: size_t
    signature: size_t ffi_choose_update_size(Botan::Cipher_Mode& mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:97,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:109,1
    - Dst: botan_cipher_struct::botan_cipher_struct
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cipher
    - cipher_name
    - flags
    argTypes:
    - botan_cipher_t*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: botan_cipher_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - botan_cipher_struct::botan_cipher_struct
    - std::move
    linkageType: ''
    returnType: int
    signature: int botan_cipher_init(botan_cipher_t* cipher, const char* cipher_name,
      uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - botan_cipher_t
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: botan_cipher_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    linkageType: ''
    returnType: int
    signature: int botan_cipher_destroy(botan_cipher_t cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:119,1
    - Dst: clear
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - botan_cipher_t
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: botan_cipher_clear
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - clear
    linkageType: ''
    returnType: int
    signature: int botan_cipher_clear(botan_cipher_t cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:123,1
    - Dst: reset
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - botan_cipher_t
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: botan_cipher_reset
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - reset
    linkageType: ''
    returnType: int
    signature: int botan_cipher_reset(botan_cipher_t cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:131,1
    - Dst: output_length
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cipher
    - in_len
    - out_len
    argTypes:
    - botan_cipher_t
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: botan_cipher_output_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - output_length
    linkageType: ''
    returnType: int
    signature: int botan_cipher_output_length(botan_cipher_t cipher, size_t in_len,
      size_t* out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:135,1
    - Dst: key_spec
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:136,1
    - Dst: key_spec
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cipher
    - out_minimum_keylength
    - out_maximum_keylength
    argTypes:
    - botan_cipher_t
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: botan_cipher_query_keylen
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - key_spec
    linkageType: ''
    returnType: int
    signature: int botan_cipher_query_keylen(botan_cipher_t cipher, size_t* out_minimum_keylength,
      size_t* out_maximum_keylength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:145,1
    - Dst: key_spec
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:147,1
    - Dst: key_spec
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:150,1
    - Dst: key_spec
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - cipher
    - out_minimum_keylength
    - out_maximum_keylength
    - out_keylength_modulo
    argTypes:
    - botan_cipher_t
    - size_t*
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 156
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 156
    functionName: botan_cipher_get_keyspec
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - key_spec
    linkageType: ''
    returnType: int
    signature: "int botan_cipher_get_keyspec(botan_cipher_t cipher,\n                             size_t*
      out_minimum_keylength,\n                             size_t* out_maximum_keylength,\n
      \                            size_t* out_keylength_modulo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:159,1
    - Dst: set_key
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cipher
    - key
    - key_len
    argTypes:
    - botan_cipher_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: botan_cipher_set_key
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - set_key
    linkageType: ''
    returnType: int
    signature: int botan_cipher_set_key(botan_cipher_t cipher, const uint8_t* key,
      size_t key_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:163,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:164,1
    - Dst: start
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cipher_obj
    - nonce
    - nonce_len
    argTypes:
    - botan_cipher_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: botan_cipher_start
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - start
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_cipher_start(botan_cipher_t cipher_obj, const uint8_t* nonce,
      size_t nonce_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:178,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:180,1
    - Dst: botan_cipher_t::buf
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:181,1
    - Dst: scoped_cleanup
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:208,1
    - Dst: clear
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:208,1
    - Dst: resize
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:215,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:216,1
    - Dst: std::span
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:216,1
    - Dst: finish
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:219,1
    - Dst: size
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:227,1
    - Dst: size
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:231,1
    - Dst: auto::disengage
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:233,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:238,1
    - Dst: std::span
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:238,1
    - Dst: size
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:238,1
    - Dst: resize
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:255,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:257,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:257,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:258,1
    - Dst: BufferSlicer::take
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:258,1
    - Dst: process
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:259,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:260,1
    - Dst: BOTAN_ASSERT_NOMSG
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:262,1
    - Dst: copy_mem
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:263,1
    - Dst: BufferStuffer::next
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:263,1
    - Dst: std::span
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:263,1
    - Dst: blockwise_update
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:269,1
    - Dst: botan_cipher_t::ideal_update_size
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:269,1
    - Dst: BOTAN_DEBUG_ASSERT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:276,1
    - Dst: botan_cipher_t::ideal_update_size
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:276,1
    - Dst: blockwise_update
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:277,1
    - Dst: BufferStuffer::remaining_capacity
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:280,1
    - Dst: BufferSlicer::remaining
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:281,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 8
    argNames:
    - cipher_obj
    - flags
    - output
    - output_size
    - output_written
    - input
    - input_size
    - input_consumed
    argTypes:
    - botan_cipher_t
    - uint32_t
    - uint8_t[]
    - size_t
    - size_t*
    - uint8_t[]
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 286
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 286
    functionName: botan_cipher_update
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BufferStuffer::remaining_capacity
    - process
    - clear
    - copy_mem
    - safe_get
    - blockwise_update
    - BOTAN_ASSERT_NOMSG
    - BOTAN_DEBUG_ASSERT
    - ffi_guard_thunk
    - auto::disengage
    - botan_cipher_t::ideal_update_size
    - BufferSlicer::take
    - size
    - resize
    - BufferStuffer::next
    - BufferSlicer::remaining
    - botan_cipher_t::buf
    - std::span
    - scoped_cleanup
    - finish
    linkageType: ''
    returnType: int
    signature: "int botan_cipher_update(botan_cipher_t cipher_obj,\n                        uint32_t
      flags,\n                        uint8_t output[],\n                        size_t
      output_size,\n                        size_t* output_written,\n                        const
      uint8_t input[],\n                        size_t input_size,\n                        size_t*
      input_consumed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:289,1
    - Dst: dynamic_cast<Botan::AEAD_Mode*>
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:290,1
    - Dst: Botan::AEAD_Mode*::set_associated_data
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cipher
    - ad
    - ad_len
    argTypes:
    - botan_cipher_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: botan_cipher_set_associated_data
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - Botan::AEAD_Mode*::set_associated_data
    - dynamic_cast<Botan::AEAD_Mode*>
    linkageType: ''
    returnType: int
    signature: int botan_cipher_set_associated_data(botan_cipher_t cipher, const uint8_t*
      ad, size_t ad_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:299,1
    - Dst: valid_nonce_length
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - nl
    argTypes:
    - botan_cipher_t
    - size_t
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: botan_cipher_valid_nonce_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - valid_nonce_length
    linkageType: ''
    returnType: int
    signature: int botan_cipher_valid_nonce_length(botan_cipher_t cipher, size_t nl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:303,1
    - Dst: default_nonce_length
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - nl
    argTypes:
    - botan_cipher_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: botan_cipher_get_default_nonce_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - default_nonce_length
    linkageType: ''
    returnType: int
    signature: int botan_cipher_get_default_nonce_length(botan_cipher_t cipher, size_t*
      nl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:307,1
    - Dst: botan_cipher_t::update_size
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - ug
    argTypes:
    - botan_cipher_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: botan_cipher_get_update_granularity
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - botan_cipher_t::update_size
    linkageType: ''
    returnType: int
    signature: int botan_cipher_get_update_granularity(botan_cipher_t cipher, size_t*
      ug)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:311,1
    - Dst: ideal_granularity
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - ug
    argTypes:
    - botan_cipher_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: botan_cipher_get_ideal_update_granularity
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - ideal_granularity
    linkageType: ''
    returnType: int
    signature: int botan_cipher_get_ideal_update_granularity(botan_cipher_t cipher,
      size_t* ug)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:315,1
    - Dst: tag_size
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - tl
    argTypes:
    - botan_cipher_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: botan_cipher_get_tag_length
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - tag_size
    linkageType: ''
    returnType: int
    signature: int botan_cipher_get_tag_length(botan_cipher_t cipher, size_t* tl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:319,1
    - Dst: authenticated
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - botan_cipher_t
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: botan_cipher_is_authenticated
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 1
    functionsReached:
    - BOTAN_FFI_VISIT
    - authenticated
    linkageType: ''
    returnType: int
    signature: int botan_cipher_is_authenticated(botan_cipher_t cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:323,1
    - Dst: requires_entire_message
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - botan_cipher_t
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: botan_cipher_requires_entire_message
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - requires_entire_message
    linkageType: ''
    returnType: int
    signature: int botan_cipher_requires_entire_message(botan_cipher_t cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:327,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:327,1
    - Dst: name
      Src: /src/botan/src/lib/ffi/ffi_cipher.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cipher
    - name
    - name_len
    argTypes:
    - botan_cipher_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: botan_cipher_name
    functionSourceFile: /src/botan/src/lib/ffi/ffi_cipher.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - name
    - write_str_output
    linkageType: ''
    returnType: int
    signature: int botan_cipher_name(botan_cipher_t cipher, char* name, size_t* name_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:30,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:43,1
    - Dst: Botan::FPE_FE1::FPE_FE1
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:43,1
    - Dst: std::unique_ptr::set_key
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:45,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:47,1
    - Dst: botan_fpe_struct::botan_fpe_struct
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:47,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - fpe
    - n
    - key
    - key_len
    - rounds
    - flags
    argTypes:
    - botan_fpe_t*
    - botan_mp_t
    - uint8_t[]
    - size_t
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 54
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 54
    functionName: botan_fpe_fe1_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_fpe.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - Botan::FPE_FE1::FPE_FE1
    - std::move
    - BOTAN_UNUSED
    - safe_get
    - std::unique_ptr::set_key
    - botan_fpe_struct::botan_fpe_struct
    linkageType: ''
    returnType: int
    signature: "int botan_fpe_fe1_init(\n   botan_fpe_t* fpe, botan_mp_t n, const
      uint8_t key[], size_t key_len, size_t rounds, uint32_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:58,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fpe
    argTypes:
    - botan_fpe_t
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: botan_fpe_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_fpe.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_fpe_destroy(botan_fpe_t fpe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:67,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:68,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:68,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:69,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - fpe
    - x
    - tweak
    - tweak_len
    argTypes:
    - botan_fpe_t
    - botan_mp_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: botan_fpe_encrypt
    functionSourceFile: /src/botan/src/lib/ffi/ffi_fpe.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - BOTAN_UNUSED
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_fpe_encrypt(botan_fpe_t fpe, botan_mp_t x, const uint8_t
      tweak[], size_t tweak_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:80,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:81,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:81,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:82,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_fpe.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - fpe
    - x
    - tweak
    - tweak_len
    argTypes:
    - botan_fpe_t
    - botan_mp_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: botan_fpe_decrypt
    functionSourceFile: /src/botan/src/lib/ffi/ffi_fpe.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - BOTAN_UNUSED
    - safe_get
    linkageType: ''
    returnType: int
    signature: int botan_fpe_decrypt(botan_fpe_t fpe, botan_mp_t x, const uint8_t
      tweak[], size_t tweak_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:34,1
    - Dst: std::make_unique<Botan::TOTP>
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:35,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:36,1
    - Dst: botan_totp_struct::botan_totp_struct
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:36,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - totp
    - key
    - key_len
    - hash_algo
    - digits
    - time_step
    argTypes:
    - botan_totp_t*
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 44
    functionName: botan_totp_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_totp.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Botan::TOTP>
    - ffi_guard_thunk
    - BOTAN_UNUSED
    - std::move
    - botan_totp_struct::botan_totp_struct
    linkageType: ''
    returnType: int
    signature: "int botan_totp_init(\n   botan_totp_t* totp, const uint8_t key[],
      size_t key_len, const char* hash_algo, size_t digits, size_t time_step)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:48,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - totp
    argTypes:
    - botan_totp_t
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: botan_totp_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_totp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_totp_destroy(botan_totp_t totp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:61,1
    - Dst: generate_totp
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:61,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - totp
    - totp_code
    - timestamp
    argTypes:
    - botan_totp_t
    - uint32_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: botan_totp_generate
    functionSourceFile: /src/botan/src/lib/ffi/ffi_totp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - BOTAN_UNUSED
    - generate_totp
    linkageType: ''
    returnType: int
    signature: int botan_totp_generate(botan_totp_t totp, uint32_t* totp_code, uint64_t
      timestamp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:71,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_totp.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - totp
    - totp_code
    - timestamp
    - acceptable_clock_drift
    argTypes:
    - botan_totp_t
    - uint32_t
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: botan_totp_check
    functionSourceFile: /src/botan/src/lib/ffi/ffi_totp.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_totp_check(botan_totp_t totp, uint32_t totp_code, uint64_t
      timestamp, size_t acceptable_clock_drift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_pwdhash
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - algo
    - out
    - out_len
    - pass
    - salt
    - salt_len
    - iterations
    argTypes:
    - char*
    - uint8_t[]
    - size_t
    - char*
    - uint8_t[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: botan_pbkdf
    functionSourceFile: /src/botan/src/lib/ffi/ffi_kdf.cpp
    functionUses: 0
    functionsReached:
    - botan_pwdhash
    linkageType: ''
    returnType: int
    signature: "int botan_pbkdf(const char* algo,\n                uint8_t out[],\n
      \               size_t out_len,\n                const char* pass,\n                const
      uint8_t salt[],\n                size_t salt_len,\n                size_t iterations)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_pwdhash_timed
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:40,1
    - Dst: static_cast<uint32_t>
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - algo
    - out
    - out_len
    - password
    - salt
    - salt_len
    - ms_to_run
    - iterations_used
    argTypes:
    - char*
    - uint8_t[]
    - size_t
    - char*
    - uint8_t[]
    - size_t
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 51
    functionName: botan_pbkdf_timed
    functionSourceFile: /src/botan/src/lib/ffi/ffi_kdf.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - botan_pwdhash_timed
    linkageType: ''
    returnType: int
    signature: "int botan_pbkdf_timed(const char* algo,\n                      uint8_t
      out[],\n                      size_t out_len,\n                      const char*
      password,\n                      const uint8_t salt[],\n                      size_t
      salt_len,\n                      size_t ms_to_run,\n                      size_t*
      iterations_used)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:68,1
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:71,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:72,1
    - Dst: auto::from_params
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:78,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 10
    argNames:
    - algo
    - param1
    - param2
    - param3
    - out
    - out_len
    - password
    - password_len
    - salt
    - salt_len
    argTypes:
    - char*
    - size_t
    - size_t
    - size_t
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 84
    functionName: botan_pwdhash
    functionSourceFile: /src/botan/src/lib/ffi/ffi_kdf.cpp
    functionUses: 1
    functionsReached:
    - auto::from_params
    - auto::derive_key
    - ffi_guard_thunk
    - strlen
    - Botan::PasswordHashFamily::create
    linkageType: ''
    returnType: int
    signature: "int botan_pwdhash(const char* algo,\n                  size_t param1,\n
      \                 size_t param2,\n                  size_t param3,\n                  uint8_t
      out[],\n                  size_t out_len,\n                  const char* password,\n
      \                 size_t password_len,\n                  const uint8_t salt[],\n
      \                 size_t salt_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:102,1
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:105,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:106,1
    - Dst: auto::tune
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:112,1
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:112,1
    - Dst: auto::iterations
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:115,1
    - Dst: auto::parallelism
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:118,1
    - Dst: auto::memory_param
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:121,1
    - Dst: auto::derive_key
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 11
    argNames:
    - algo
    - msec
    - param1
    - param2
    - param3
    - out
    - out_len
    - password
    - password_len
    - salt
    - salt_len
    argTypes:
    - char*
    - uint32_t
    - size_t*
    - size_t*
    - size_t*
    - uint8_t[]
    - size_t
    - char*
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 128
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 128
    functionName: botan_pwdhash_timed
    functionSourceFile: /src/botan/src/lib/ffi/ffi_kdf.cpp
    functionUses: 1
    functionsReached:
    - auto::tune
    - auto::derive_key
    - ffi_guard_thunk
    - auto::parallelism
    - Botan_CLI::Timer::milliseconds
    - auto::memory_param
    - strlen
    - auto::iterations
    - Botan::PasswordHashFamily::create
    linkageType: ''
    returnType: int
    signature: "int botan_pwdhash_timed(const char* algo,\n                        uint32_t
      msec,\n                        size_t* param1,\n                        size_t*
      param2,\n                        size_t* param3,\n                        uint8_t
      out[],\n                        size_t out_len,\n                        const
      char* password,\n                        size_t password_len,\n                        const
      uint8_t salt[],\n                        size_t salt_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:139,1
    - Dst: Botan::KDF::create_or_throw
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:140,1
    - Dst: auto::kdf
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 9
    argNames:
    - kdf_algo
    - out
    - out_len
    - secret
    - secret_len
    - salt
    - salt_len
    - label
    - label_len
    argTypes:
    - char*
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 144
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 144
    functionName: botan_kdf
    functionSourceFile: /src/botan/src/lib/ffi/ffi_kdf.cpp
    functionUses: 0
    functionsReached:
    - Botan::KDF::create_or_throw
    - ffi_guard_thunk
    - auto::kdf
    linkageType: ''
    returnType: int
    signature: "int botan_kdf(const char* kdf_algo,\n              uint8_t out[],\n
      \             size_t out_len,\n              const uint8_t secret[],\n              size_t
      secret_len,\n              const uint8_t salt[],\n              size_t salt_len,\n
      \             const uint8_t label[],\n              size_t label_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: botan_pwdhash
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - out
    - out_len
    - password
    - salt
    - salt_len
    - N
    - r
    - p
    argTypes:
    - uint8_t[]
    - size_t
    - char*
    - uint8_t[]
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: botan_scrypt
    functionSourceFile: /src/botan/src/lib/ffi/ffi_kdf.cpp
    functionUses: 0
    functionsReached:
    - botan_pwdhash
    linkageType: ''
    returnType: int
    signature: "int botan_scrypt(uint8_t out[],\n                 size_t out_len,\n
      \                const char* password,\n                 const uint8_t salt[],\n
      \                size_t salt_len,\n                 size_t N,\n                 size_t
      r,\n                 size_t p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:160,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:178,1
    - Dst: Botan::generate_bcrypt
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:179,1
    - Dst: static_cast<uint16_t>
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:179,1
    - Dst: write_str_output
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:180,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:183,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 6
    argNames:
    - out
    - out_len
    - pass
    - rng_obj
    - wf
    - flags
    argTypes:
    - uint8_t*
    - size_t*
    - char*
    - botan_rng_t
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 186
      start: 157
    functionDepth: 5
    functionLinenumber: 157
    functionLinenumberEnd: 186
    functionName: botan_bcrypt_generate
    functionSourceFile: /src/botan/src/lib/ffi/ffi_kdf.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    - write_str_output
    - ffi_guard_thunk
    - Botan::generate_bcrypt
    - BOTAN_UNUSED
    - safe_get
    linkageType: ''
    returnType: int
    signature: "int botan_bcrypt_generate(\n   uint8_t* out, size_t* out_len, const
      char* pass, botan_rng_t rng_obj, size_t wf, uint32_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:190,1
    - Dst: Botan::check_bcrypt
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:191,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_kdf.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pass
    - hash
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 5
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: botan_bcrypt_is_valid
    functionSourceFile: /src/botan/src/lib/ffi/ffi_kdf.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - Botan::check_bcrypt
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_bcrypt_is_valid(const char* pass, const char* hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SessionBundle::SessionBundle
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:55,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:55,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:56,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s1
    - s2
    - s3
    argTypes:
    - botan_tpm2_session_t
    - botan_tpm2_session_t
    - botan_tpm2_session_t
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: sessions
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 16
    functionsReached:
    - SessionBundle::SessionBundle
    - safe_get
    linkageType: ''
    returnType: Botan::TPM2::SessionBundle
    signature: Botan::TPM2::SessionBundle sessions(botan_tpm2_session_t s1, botan_tpm2_session_t
      s2, botan_tpm2_session_t s3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::Context::supports_botan_crypto_backend
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: botan_tpm2_supports_crypto_backend
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 1
    functionsReached:
    - Botan::TPM2::Context::supports_botan_crypto_backend
    linkageType: ''
    returnType: int
    signature: int botan_tpm2_supports_crypto_backend()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:76,1
    - Dst: std::make_unique<botan_tpm2_ctx_wrapper>
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:80,1
    - Dst: std::string
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:86,1
    - Dst: Botan::TPM2::Context::create
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:90,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:90,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:91,1
    - Dst: botan_tpm2_ctx_struct::botan_tpm2_ctx_struct
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:91,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - ctx_out
    - tcti_nameconf
    argTypes:
    - botan_tpm2_ctx_t*
    - char*
    constantsTouched: []
    func_position:
      end: 98
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 98
    functionName: botan_tpm2_ctx_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::Context::create
    - ffi_guard_thunk
    - std::make_unique<botan_tpm2_ctx_wrapper>
    - std::string
    - botan_tpm2_ctx_struct::botan_tpm2_ctx_struct
    - std::move
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_tpm2_ctx_init(botan_tpm2_ctx_t* ctx_out, const char* tcti_nameconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:102,1
    - Dst: std::make_unique<botan_tpm2_ctx_wrapper>
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:106,1
    - Dst: std::string
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:112,1
    - Dst: std::string
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:120,1
    - Dst: Botan::TPM2::Context::create
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:124,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:124,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:124,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:125,1
    - Dst: botan_tpm2_ctx_struct::botan_tpm2_ctx_struct
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:125,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - ctx_out
    - tcti_name
    - tcti_conf
    argTypes:
    - botan_tpm2_ctx_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 132
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 132
    functionName: botan_tpm2_ctx_init_ex
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::Context::create
    - ffi_guard_thunk
    - std::make_unique<botan_tpm2_ctx_wrapper>
    - std::string
    - botan_tpm2_ctx_struct::botan_tpm2_ctx_struct
    - std::move
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_tpm2_ctx_init_ex(botan_tpm2_ctx_t* ctx_out, const char* tcti_name,
      const char* tcti_conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:136,1
    - Dst: std::make_unique<botan_tpm2_ctx_wrapper>
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:141,1
    - Dst: Botan::TPM2::Context::create
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:142,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:143,1
    - Dst: botan_tpm2_ctx_struct::botan_tpm2_ctx_struct
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:143,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx_out
    - esys_ctx
    argTypes:
    - botan_tpm2_ctx_t*
    - ESYS_CONTEXT*
    constantsTouched: []
    func_position:
      end: 150
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 150
    functionName: botan_tpm2_ctx_from_esys
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 0
    functionsReached:
    - Botan::TPM2::Context::create
    - ffi_guard_thunk
    - std::make_unique<botan_tpm2_ctx_wrapper>
    - botan_tpm2_ctx_struct::botan_tpm2_ctx_struct
    - std::move
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_tpm2_ctx_from_esys(botan_tpm2_ctx_t* ctx_out, ESYS_CONTEXT*
      esys_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:154,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:155,1
    - Dst: ctx::use_botan_crypto_backend
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:161,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - rng
    argTypes:
    - botan_tpm2_ctx_t
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 168
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionName: botan_tpm2_ctx_enable_crypto_backend
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - BOTAN_UNUSED
    - safe_get
    - ctx::use_botan_crypto_backend
    linkageType: ''
    returnType: int
    signature: int botan_tpm2_ctx_enable_crypto_backend(botan_tpm2_ctx_t ctx, botan_rng_t
      rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:177,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - botan_tpm2_ctx_t
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: botan_tpm2_ctx_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_tpm2_ctx_destroy(botan_tpm2_ctx_t ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi_guard_thunk
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:188,1
    - Dst: safe_get
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:193,1
    - Dst: Botan::TPM2::use_botan_crypto_backend
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:198,1
    - Dst: botan_tpm2_crypto_backend_state_struct::botan_tpm2_crypto_backend_state_struct
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:198,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cbs_out
    - esys_ctx
    - rng
    argTypes:
    - botan_tpm2_crypto_backend_state_t*
    - ESYS_CONTEXT*
    - botan_rng_t
    constantsTouched: []
    func_position:
      end: 205
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 205
    functionName: botan_tpm2_enable_crypto_backend
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 0
    functionsReached:
    - ffi_guard_thunk
    - Botan::TPM2::use_botan_crypto_backend
    - BOTAN_UNUSED
    - botan_tpm2_crypto_backend_state_struct::botan_tpm2_crypto_backend_state_struct
    - safe_get
    linkageType: ''
    returnType: int
    signature: "int botan_tpm2_enable_crypto_backend(botan_tpm2_crypto_backend_state_t*
      cbs_out,\n                                     ESYS_CONTEXT* esys_ctx,\n                                     botan_rng_t
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:209,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cbs
    argTypes:
    - botan_tpm2_crypto_backend_state_t
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: botan_tpm2_crypto_backend_state_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_tpm2_crypto_backend_state_destroy(botan_tpm2_crypto_backend_state_t
      cbs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:222,1
    - Dst: std::make_unique<Botan::TPM2::RandomNumberGenerator>
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:228,1
    - Dst: sessions
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:228,1
    - Dst: botan_rng_struct::botan_rng_struct
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:227,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - rng_out
    - ctx
    - s1
    - s2
    - s3
    argTypes:
    - botan_rng_t*
    - botan_tpm2_ctx_t
    - botan_tpm2_session_t
    - botan_tpm2_session_t
    - botan_tpm2_session_t
    constantsTouched: []
    func_position:
      end: 235
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 235
    functionName: botan_tpm2_rng_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_VISIT
    - sessions
    - BOTAN_UNUSED
    - botan_rng_struct::botan_rng_struct
    - std::make_unique<Botan::TPM2::RandomNumberGenerator>
    linkageType: ''
    returnType: int
    signature: "int botan_tpm2_rng_init(botan_rng_t* rng_out,\n                        botan_tpm2_ctx_t
      ctx,\n                        botan_tpm2_session_t s1,\n                        botan_tpm2_session_t
      s2,\n                        botan_tpm2_session_t s3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_VISIT
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:239,1
    - Dst: std::make_unique<botan_tpm2_session_wrapper>
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:244,1
    - Dst: Botan::TPM2::Session::unauthenticated_session
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:245,1
    - Dst: std::move
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:246,1
    - Dst: botan_tpm2_session_struct::botan_tpm2_session_struct
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:246,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - session_out
    - ctx
    argTypes:
    - botan_tpm2_session_t*
    - botan_tpm2_ctx_t
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: botan_tpm2_unauthenticated_session_init
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 0
    functionsReached:
    - botan_tpm2_session_struct::botan_tpm2_session_struct
    - std::make_unique<botan_tpm2_session_wrapper>
    - BOTAN_FFI_VISIT
    - Botan::TPM2::Session::unauthenticated_session
    - std::move
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_tpm2_unauthenticated_session_init(botan_tpm2_session_t* session_out,
      botan_tpm2_ctx_t ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BOTAN_FFI_CHECKED_DELETE
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:257,1
    - Dst: BOTAN_UNUSED
      Src: /src/botan/src/lib/ffi/ffi_tpm2.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - botan_tpm2_session_t
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: botan_tpm2_session_destroy
    functionSourceFile: /src/botan/src/lib/ffi/ffi_tpm2.cpp
    functionUses: 0
    functionsReached:
    - BOTAN_FFI_CHECKED_DELETE
    - BOTAN_UNUSED
    linkageType: ''
    returnType: int
    signature: int botan_tpm2_session_destroy(botan_tpm2_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::System_RNG::random_array
      Src: /src/botan/src/examples/ml_kem.cpp:13,1
    - Dst: Botan::ML_KEM_PrivateKey::public_key
      Src: /src/botan/src/examples/ml_kem.cpp:16,1
    - Dst: Botan::PK_KEM_Encryptor::encrypt
      Src: /src/botan/src/examples/ml_kem.cpp:20,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/examples/ml_kem.cpp:24,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/examples/ml_kem.cpp:24,1
    - Dst: auto::shared_key
      Src: /src/botan/src/examples/ml_kem.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/botan/src/examples/ml_kem.cpp
    functionUses: 95
    functionsReached:
    - auto::encapsulated_shared_key
    - Botan::ML_KEM_PrivateKey::public_key
    - Botan::PK_KEM_Decryptor::decrypt
    - Botan::System_RNG::random_array
    - auto::shared_key
    - Botan::PK_KEM_Encryptor::encrypt
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/examples/hmac.cpp:10,1
    - Dst: auto::set_key
      Src: /src/botan/src/examples/hmac.cpp:12,1
    - Dst: auto::update
      Src: /src/botan/src/examples/hmac.cpp:13,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/hmac.cpp:15,1
    - Dst: auto::final
      Src: /src/botan/src/examples/hmac.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - key
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 16
      start: 9
    functionDepth: 5
    functionLinenumber: 9
    functionLinenumberEnd: 16
    functionName: compute_mac
    functionSourceFile: /src/botan/src/examples/hmac.cpp
    functionUses: 0
    functionsReached:
    - auto::final
    - auto::set_key
    - auto::update
    - Botan::MessageAuthenticationCode::create_or_throw
    - Botan::hex_encode
    linkageType: ''
    returnType: std::string
    signature: std::string compute_mac(std::string_view msg, std::span<const uint8_t>
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/hmac.cpp:21,1
    - Dst: Botan::AutoSeeded_RNG::random_vec
      Src: /src/botan/src/examples/hmac.cpp:23,1
    - Dst: compute_mac
      Src: /src/botan/src/examples/hmac.cpp:26,1
    - Dst: compute_mac
      Src: /src/botan/src/examples/hmac.cpp:27,1
    - Dst: assert
      Src: /src/botan/src/examples/hmac.cpp:28,1
    - Dst: compute_mac
      Src: /src/botan/src/examples/hmac.cpp:31,1
    - Dst: assert
      Src: /src/botan/src/examples/hmac.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 20
    functionDepth: 6
    functionLinenumber: 20
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/botan/src/examples/hmac.cpp
    functionUses: 95
    functionsReached:
    - assert
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - compute_mac
    - Botan::AutoSeeded_RNG::random_vec
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/botan/src/examples/fpe_dictionary.cpp:12,1
    - Dst: std::getline
      Src: /src/botan/src/examples/fpe_dictionary.cpp:14,1
    - Dst: push_back
      Src: /src/botan/src/examples/fpe_dictionary.cpp:15,1
    - Dst: std::sort
      Src: /src/botan/src/examples/fpe_dictionary.cpp:18,1
    - Dst: begin
      Src: /src/botan/src/examples/fpe_dictionary.cpp:18,1
    - Dst: end
      Src: /src/botan/src/examples/fpe_dictionary.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 19
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 19
    functionName: Dictionary::Dictionary
    functionSourceFile: /src/botan/src/examples/fpe_dictionary.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::good
    - begin
    - std::sort
    - end
    - push_back
    - std::getline
    linkageType: ''
    returnType: void
    signature: void Dictionary(const std::string& filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/botan/src/examples/fpe_dictionary.cpp:22,1
    - Dst: begin
      Src: /src/botan/src/examples/fpe_dictionary.cpp:22,1
    - Dst: end
      Src: /src/botan/src/examples/fpe_dictionary.cpp:22,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/fpe_dictionary.cpp:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' word'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: Dictionary::rank
    functionSourceFile: /src/botan/src/examples/fpe_dictionary.cpp
    functionUses: 0
    functionsReached:
    - begin
    - std::lower_bound
    - std::runtime_error
    - end
    linkageType: ''
    returnType: size_t
    signature: size_t rank(const std::string& word) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/botan/src/examples/fpe_dictionary.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rank
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: Dictionary::derank
    functionSourceFile: /src/botan/src/examples/fpe_dictionary.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string derank(size_t rank) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Dictionary::size
      Src: /src/botan/src/examples/fpe_dictionary.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: Dictionary::size
    functionSourceFile: /src/botan/src/examples/fpe_dictionary.cpp
    functionUses: 1
    functionsReached:
    - Dictionary::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/examples/fpe_dictionary.cpp:59,1
    - Dst: Botan::BigInt::from_u64
      Src: /src/botan/src/examples/fpe_dictionary.cpp:61,1
    - Dst: Dictionary::size
      Src: /src/botan/src/examples/fpe_dictionary.cpp:61,1
    - Dst: Botan::FPE_FE1::set_key
      Src: /src/botan/src/examples/fpe_dictionary.cpp:62,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/botan/src/examples/fpe_dictionary.cpp:73,1
    - Dst: Dictionary::rank
      Src: /src/botan/src/examples/fpe_dictionary.cpp:73,1
    - Dst: std::string
      Src: /src/botan/src/examples/fpe_dictionary.cpp:73,1
    - Dst: Botan::FPE_FE1::encrypt
      Src: /src/botan/src/examples/fpe_dictionary.cpp:74,1
    - Dst: Botan::FPE_FE1::decrypt
      Src: /src/botan/src/examples/fpe_dictionary.cpp:74,1
    - Dst: Dictionary::derank
      Src: /src/botan/src/examples/fpe_dictionary.cpp:75,1
    - Dst: auto::word_at
      Src: /src/botan/src/examples/fpe_dictionary.cpp:75,1
    - Dst: what
      Src: /src/botan/src/examples/fpe_dictionary.cpp:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 84
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/botan/src/examples/fpe_dictionary.cpp
    functionUses: 95
    functionsReached:
    - Botan::FPE_FE1::encrypt
    - Dictionary::derank
    - what
    - Botan::FPE_FE1::set_key
    - Botan::BigInt::BigInt
    - auto::word_at
    - Botan::BigInt::from_u64
    - std::string
    - Dictionary::rank
    - Botan::FPE_FE1::decrypt
    - Botan::hex_decode
    - Dictionary::size
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
      Src: /src/botan/src/examples/x509_path.cpp:7,1
    - Dst: Botan::Certificate_Store_In_Memory::add_certificate
      Src: /src/botan/src/examples/x509_path.cpp:8,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/examples/x509_path.cpp:8,1
    - Dst: Botan::System_Certificate_Store::System_Certificate_Store
      Src: /src/botan/src/examples/x509_path.cpp:11,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/examples/x509_path.cpp:16,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/examples/x509_path.cpp:16,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/examples/x509_path.cpp:17,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/examples/x509_path.cpp:17,1
    - Dst: std::vector::emplace_back
      Src: /src/botan/src/examples/x509_path.cpp:18,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/examples/x509_path.cpp:18,1
    - Dst: Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
      Src: /src/botan/src/examples/x509_path.cpp:21,1
    - Dst: Botan::x509_path_validate
      Src: /src/botan/src/examples/x509_path.cpp:30,1
    - Dst: Botan::Path_Validation_Result::successful_validation
      Src: /src/botan/src/examples/x509_path.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 5
    functionDepth: 4
    functionLinenumber: 5
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/botan/src/examples/x509_path.cpp
    functionUses: 95
    functionsReached:
    - Botan::x509_path_validate
    - Botan::Path_Validation_Restrictions::Path_Validation_Restrictions
    - Botan::X509_Certificate
    - Botan::Certificate_Store_In_Memory::add_certificate
    - Botan::Certificate_Store_In_Memory::Certificate_Store_In_Memory
    - Botan::System_Certificate_Store::System_Certificate_Store
    - std::vector::emplace_back
    - Botan::Path_Validation_Result::successful_validation
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/examples/tls_proxy.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_emit_data([[maybe_unused]] std::span<const uint8_t> data)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - seq_no
    - data
    argTypes:
    - uint64_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/examples/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tls_record_received([[maybe_unused]] uint64_t seq_no,\n                               [[maybe_unused]]
      std::span<const uint8_t> data) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Callbacks::tls_alert
    functionSourceFile: /src/botan/src/examples/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_alert([[maybe_unused]] Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/examples/tls_proxy.cpp:45,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/examples/tls_proxy.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: Server_Credentials::Server_Credentials
    functionSourceFile: /src/botan/src/examples/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - reset
    - Botan::PKCS8::load_key
    linkageType: ''
    returnType: void
    signature: void Server_Credentials()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' type'
    - ' context'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: Server_Credentials::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/examples/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::Certificate_Store*>
    signature: "std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(\n
      \        [[maybe_unused]] const std::string& type, [[maybe_unused]] const std::string&
      context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/examples/tls_proxy.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' cert_key_types'
    - ' cert_signature_schemes'
    - ' type'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - std::vector<Botan::AlgorithmIdentifier>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: Server_Credentials::cert_chain
    functionSourceFile: /src/botan/src/examples/tls_proxy.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate
    linkageType: ''
    returnType: std::vector<Botan::X509_Certificate>
    signature: "std::vector<Botan::X509_Certificate> cert_chain(\n         [[maybe_unused]]
      const std::vector<std::string>& cert_key_types,\n         [[maybe_unused]] const
      std::vector<Botan::AlgorithmIdentifier>& cert_signature_schemes,\n         [[maybe_unused]]
      const std::string& type,\n         [[maybe_unused]] const std::string& context)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' cert'
    - ' type'
    - ' context'
    argTypes:
    - Botan::X509_Certificate
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: Server_Credentials::private_key_for
    functionSourceFile: /src/botan/src/examples/tls_proxy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Botan::Private_Key>
    signature: "std::shared_ptr<Botan::Private_Key> private_key_for([[maybe_unused]]
      const Botan::X509_Certificate& cert,\n                                                          [[maybe_unused]]
      const std::string& type,\n                                                          [[maybe_unused]]
      const std::string& context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Callbacks>
      Src: /src/botan/src/examples/tls_proxy.cpp:80,1
    - Dst: std::make_shared<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/examples/tls_proxy.cpp:81,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/examples/tls_proxy.cpp:82,1
    - Dst: std::make_shared<Server_Credentials>
      Src: /src/botan/src/examples/tls_proxy.cpp:83,1
    - Dst: std::make_shared<Botan::TLS::Strict_Policy>
      Src: /src/botan/src/examples/tls_proxy.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/botan/src/examples/tls_proxy.cpp
    functionUses: 95
    functionsReached:
    - std::make_shared<Botan::AutoSeeded_RNG>
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - std::make_shared<Botan::TLS::Strict_Policy>
    - std::make_shared<Server_Credentials>
    - std::make_shared<Callbacks>
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:19,1
    - Dst: std::vector::at
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:20,1
    - Dst: Botan::PKCS11::Session::login
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:24,1
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:28,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:31,1
    - Dst: Botan::ECDH_PrivateKey::DER_domain
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:34,1
    - Dst: Botan::ECDH_PrivateKey::private_value
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:35,1
    - Dst: Botan::PKCS11::EC_PrivateKeyImportProperties::set_token
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:37,1
    - Dst: Botan::PKCS11::EC_PrivateKeyImportProperties::set_private
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:38,1
    - Dst: Botan::PKCS11::EC_PrivateKeyImportProperties::set_derive
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:39,1
    - Dst: Botan::PKCS11::EC_PrivateKeyImportProperties::set_extractable
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:40,1
    - Dst: Botan::PKCS11::EC_PrivateKeyImportProperties::set_label
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:44,1
    - Dst: Botan::PKCS11::PKCS11_ECDH_PrivateKey::export_key
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:50,1
    - Dst: Botan::DER_Encoder::DER_Encoder
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:56,1
    - Dst: Botan::ECDH_PrivateKey::raw_public_key_bits
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:56,1
    - Dst: Botan::ECDH_PrivateKey::DER_domain
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:57,1
    - Dst: Botan::PKCS11::EC_PublicKeyImportProperties::set_token
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:59,1
    - Dst: Botan::PKCS11::EC_PublicKeyImportProperties::set_private
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:60,1
    - Dst: Botan::PKCS11::EC_PublicKeyImportProperties::set_derive
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:61,1
    - Dst: Botan::PKCS11::EC_PublicKeyImportProperties::set_label
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:65,1
    - Dst: Botan::PKCS11::PKCS11_ECDH_PublicKey::export_key
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:71,1
    - Dst: Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_token
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:76,1
    - Dst: Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_private
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:77,1
    - Dst: Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_derive
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:78,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:81,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:86,1
    - Dst: Botan::PKCS11::EC_PublicKeyGenerationProperties::set_label
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:88,1
    - Dst: Botan::PKCS11::EC_PublicKeyGenerationProperties::set_token
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:89,1
    - Dst: Botan::PKCS11::EC_PublicKeyGenerationProperties::set_derive
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:90,1
    - Dst: Botan::PKCS11::EC_PublicKeyGenerationProperties::set_private
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:91,1
    - Dst: Botan::PKCS11::EC_PublicKeyGenerationProperties::set_modifiable
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:92,1
    - Dst: Botan::PKCS11::generate_ecdh_keypair
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:95,1
    - Dst: Botan::PKCS11::generate_ecdh_keypair
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:100,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:105,1
    - Dst: Botan::PKCS11::PKCS11_ECDH_KeyPair::first::raw_public_key_bits
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:105,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:107,1
    - Dst: Botan::PKCS11::PKCS11_ECDH_KeyPair::first::raw_public_key_bits
      Src: /src/botan/src/examples/pkcs11_ecdh.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 112
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_ecdh.cpp
    functionUses: 96
    functionsReached:
    - Botan::PKCS11::EC_PrivateKeyImportProperties::set_label
    - Botan::PKCS11::EC_PrivateKeyImportProperties::set_extractable
    - Botan::ECDH_PrivateKey::raw_public_key_bits
    - Botan::PK_Key_Agreement::derive_key
    - Botan::PKCS11::EC_PublicKeyGenerationProperties::set_token
    - Botan::DER_Encoder::DER_Encoder
    - Botan::PKCS11::EC_PublicKeyImportProperties::set_private
    - Botan::PKCS11::EC_PublicKeyImportProperties::set_label
    - Botan::PKCS11::PKCS11_ECDH_PublicKey::export_key
    - Botan::PKCS11::EC_PublicKeyImportProperties::set_token
    - Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_private
    - Botan::PKCS11::Session::login
    - Botan::PKCS11::EC_PublicKeyGenerationProperties::set_modifiable
    - Botan::PKCS11::EC_PublicKeyGenerationProperties::set_derive
    - Botan::ECDH_PrivateKey::DER_domain
    - Botan::PKCS11::Slot::get_available_slots
    - Botan::PKCS11::PKCS11_ECDH_KeyPair::first::raw_public_key_bits
    - Botan::PKCS11::generate_ecdh_keypair
    - Botan::PKCS11::EC_PrivateKeyImportProperties::set_derive
    - Botan::PKCS11::PKCS11_ECDH_PrivateKey::export_key
    - Botan::PKCS11::EC_PrivateKeyImportProperties::set_private
    - Botan::PKCS11::EC_PublicKeyGenerationProperties::set_label
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_token
    - Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_derive
    - Botan::PKCS11::EC_PublicKeyGenerationProperties::set_private
    - Botan::ECDH_PrivateKey::private_value
    - Botan::PKCS11::EC_PrivateKeyImportProperties::set_token
    - Botan::EC_Group::from_name
    - std::vector::at
    - Botan::PKCS11::EC_PublicKeyImportProperties::set_derive
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/botan/src/examples/entropy.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: call_hardware_specific_rng
    functionSourceFile: /src/botan/src/examples/entropy.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t call_hardware_specific_rng(uint8_t buf[], size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Hardware_RNG_Entropy_Source::name
    functionSourceFile: /src/botan/src/examples/entropy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_entropy
      Src: /src/botan/src/examples/entropy.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: Hardware_RNG_Entropy_Source::poll
    functionSourceFile: /src/botan/src/examples/entropy.cpp
    functionUses: 0
    functionsReached:
    - add_entropy
    linkageType: ''
    returnType: size_t
    signature: size_t poll(Botan::RandomNumberGenerator& rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: Timer_Entropy_Source::name
    functionSourceFile: /src/botan/src/examples/entropy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Timer_Entropy_Source::high_resolution_timer
      Src: /src/botan/src/examples/entropy.cpp:114,1
    - Dst: add_entropy_T
      Src: /src/botan/src/examples/entropy.cpp:121,1
    - Dst: add_entropy_T
      Src: /src/botan/src/examples/entropy.cpp:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 127
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 127
    functionName: Timer_Entropy_Source::poll
    functionSourceFile: /src/botan/src/examples/entropy.cpp
    functionUses: 0
    functionsReached:
    - add_entropy_T
    - Timer_Entropy_Source::high_resolution_timer
    linkageType: ''
    returnType: size_t
    signature: size_t poll(Botan::RandomNumberGenerator& rng) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::detail::AsyncBase::complete_now
      Src: /src/botan/src/examples/entropy.cpp:145,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/botan/src/examples/entropy.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 147
    functionName: Timer_Entropy_Source::high_resolution_timer
    functionSourceFile: /src/botan/src/examples/entropy.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::detail::AsyncBase::complete_now
    - std::chrono::duration_cast<std::chrono::microseconds>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t high_resolution_timer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Entropy_Sources::Entropy_Sources
      Src: /src/botan/src/examples/entropy.cpp:153,1
    - Dst: Botan::Entropy_Sources::add_source
      Src: /src/botan/src/examples/entropy.cpp:154,1
    - Dst: std::make_unique<Timer_Entropy_Source>
      Src: /src/botan/src/examples/entropy.cpp:154,1
    - Dst: Botan::Entropy_Sources::add_source
      Src: /src/botan/src/examples/entropy.cpp:155,1
    - Dst: std::make_unique<Hardware_RNG_Entropy_Source>
      Src: /src/botan/src/examples/entropy.cpp:155,1
    - Dst: hex_encode
      Src: /src/botan/src/examples/entropy.cpp:157,1
    - Dst: Botan::AutoSeeded_RNG::random_vec
      Src: /src/botan/src/examples/entropy.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: main
    functionSourceFile: /src/botan/src/examples/entropy.cpp
    functionUses: 96
    functionsReached:
    - hex_encode
    - Botan::Entropy_Sources::Entropy_Sources
    - Botan::Entropy_Sources::add_source
    - std::make_unique<Timer_Entropy_Source>
    - std::make_unique<Hardware_RNG_Entropy_Source>
    - Botan::AutoSeeded_RNG::random_vec
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/examples/cmac.cpp:7,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/examples/cmac.cpp:8,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/examples/cmac.cpp:10,1
    - Dst: auto::set_key
      Src: /src/botan/src/examples/cmac.cpp:11,1
    - Dst: auto::update
      Src: /src/botan/src/examples/cmac.cpp:12,1
    - Dst: auto::final
      Src: /src/botan/src/examples/cmac.cpp:13,1
    - Dst: auto::back
      Src: /src/botan/src/examples/cmac.cpp:16,1
    - Dst: auto::update
      Src: /src/botan/src/examples/cmac.cpp:19,1
    - Dst: auto::verify_mac
      Src: /src/botan/src/examples/cmac.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 6
    functionDepth: 5
    functionLinenumber: 6
    functionLinenumberEnd: 23
    functionName: main
    functionSourceFile: /src/botan/src/examples/cmac.cpp
    functionUses: 96
    functionsReached:
    - auto::final
    - auto::set_key
    - auto::update
    - Botan::hex_decode_locked
    - Botan::MessageAuthenticationCode::create_or_throw
    - auto::back
    - auto::verify_mac
    - Botan::hex_decode
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:29,1
    - Dst: std::move
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:29,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:31,1
    - Dst: Hybrid_PublicKey::supports_operation
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:34,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:35,1
    - Dst: Hybrid_PublicKey::supports_operation
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:37,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:38,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - kex
    - kem
    argTypes:
    - std::unique_ptr<Botan::Public_Key>
    - std::unique_ptr<Botan::Public_Key>
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: Hybrid_PublicKey::Hybrid_PublicKey
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 0
    functionsReached:
    - Hybrid_PublicKey::supports_operation
    - std::runtime_error
    - std::move
    linkageType: ''
    returnType: void
    signature: void Hybrid_PublicKey(std::unique_ptr<Botan::Public_Key> kex, std::unique_ptr<Botan::Public_Key>
      kem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Hybrid_PublicKey::algo_name
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:43,1
    - Dst: Hybrid_PublicKey::algo_name
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Hybrid_PublicKey::algo_name
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 1
    functionsReached:
    - Hybrid_PublicKey::algo_name
    linkageType: ''
    returnType: std::string
    signature: std::string algo_name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Not_Implemented::Not_Implemented
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Hybrid_PublicKey::algorithm_identifier
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 0
    functionsReached:
    - Botan::Not_Implemented::Not_Implemented
    linkageType: ''
    returnType: Botan::AlgorithmIdentifier
    signature: Botan::AlgorithmIdentifier algorithm_identifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Not_Implemented::Not_Implemented
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Hybrid_PublicKey::raw_public_key_bits
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 1
    functionsReached:
    - Botan::Not_Implemented::Not_Implemented
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> raw_public_key_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Not_Implemented::Not_Implemented
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: Hybrid_PublicKey::public_key_bits
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 0
    functionsReached:
    - Botan::Not_Implemented::Not_Implemented
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> public_key_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - Botan::PublicKeyOperation
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: Hybrid_PublicKey::supports_operation
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supports_operation(Botan::PublicKeyOperation op) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:92,1
    - Dst: Hybrid_PublicKey::estimated_strength
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:92,1
    - Dst: Hybrid_PublicKey::estimated_strength
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: Hybrid_PublicKey::estimated_strength
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 1
    functionsReached:
    - std::max
    - Hybrid_PublicKey::estimated_strength
    linkageType: ''
    returnType: size_t
    signature: size_t estimated_strength() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Hybrid_PublicKey::key_length
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:95,1
    - Dst: Hybrid_PublicKey::key_length
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Hybrid_PublicKey::key_length
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 1
    functionsReached:
    - Hybrid_PublicKey::key_length
    linkageType: ''
    returnType: size_t
    signature: size_t key_length() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Hybrid_PublicKey::check_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:98,1
    - Dst: Hybrid_PublicKey::check_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - strong
    argTypes:
    - Botan::RandomNumberGenerator
    - bool
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: Hybrid_PublicKey::check_key
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 2
    functionsReached:
    - Hybrid_PublicKey::check_key
    linkageType: ''
    returnType: bool
    signature: bool check_key(Botan::RandomNumberGenerator& rng, bool strong) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& kex_public_key() const'
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::Public_Key
    signature: Botan::Public_Key & kex_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: '& kem_public_key() const'
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::Public_Key
    signature: Botan::Public_Key & kem_public_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Not_Implemented::Not_Implemented
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: private_key_bits
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 49
    functionsReached:
    - Botan::Not_Implemented::Not_Implemented
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> private_key_bits() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Hybrid_PublicKey>
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:147,1
    - Dst: public_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:147,1
    - Dst: public_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: public_key
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 119
    functionsReached:
    - public_key
    - std::make_unique<Hybrid_PublicKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: std::unique_ptr<Botan::Public_Key> public_key() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: kex_private_key
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::Private_Key
    signature: Botan::Private_Key & kex_private_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: kem_private_key
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Botan::Private_Key
    signature: Botan::Private_Key & kem_private_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kem_public_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:173,1
    - Dst: Botan::KDF::create_or_throw
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:174,1
    - Dst: kex_public_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:182,1
    - Dst: encapsulated_key_length
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:182,1
    - Dst: kex_public_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:214,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:233,1
    - Dst: kex_public_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:233,1
    - Dst: auto::raw_public_key_bits
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:234,1
    - Dst: size
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:244,1
    - Dst: auto::size
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:244,1
    - Dst: size
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:244,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:245,1
    - Dst: copy
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:248,1
    - Dst: auto::begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:248,1
    - Dst: auto::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:248,1
    - Dst: begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:248,1
    - Dst: copy
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:249,1
    - Dst: begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:250,1
    - Dst: end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:250,1
    - Dst: begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:250,1
    - Dst: auto::size
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:250,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:258,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:258,1
    - Dst: auto::begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:258,1
    - Dst: auto::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:258,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:259,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:259,1
    - Dst: auto::begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:259,1
    - Dst: auto::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:259,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:260,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:260,1
    - Dst: begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:260,1
    - Dst: end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:260,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:261,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:261,1
    - Dst: begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:261,1
    - Dst: end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:261,1
    - Dst: size
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:263,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:264,1
    - Dst: derive_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:267,1
    - Dst: first
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:267,1
    - Dst: kex_private_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:288,1
    - Dst: kem_private_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:289,1
    - Dst: Botan::KDF::create_or_throw
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:290,1
    - Dst: kex_public_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:298,1
    - Dst: encapsulated_key_length
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:298,1
    - Dst: size
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:315,1
    - Dst: encapsulated_key_length
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:315,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:316,1
    - Dst: subspan
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:332,1
    - Dst: kex_public_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:332,1
    - Dst: subspan
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:333,1
    - Dst: auto::size
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:333,1
    - Dst: derive_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:337,1
    - Dst: decrypt
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:341,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:349,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:349,1
    - Dst: auto::begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:349,1
    - Dst: auto::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:349,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:350,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:350,1
    - Dst: auto::begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:350,1
    - Dst: auto::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:350,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:351,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:351,1
    - Dst: auto::begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:351,1
    - Dst: auto::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:351,1
    - Dst: Botan::secure_vector::insert
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:352,1
    - Dst: Botan::secure_vector::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:352,1
    - Dst: auto::begin
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:352,1
    - Dst: auto::end
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:352,1
    - Dst: size
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:355,1
    - Dst: derive_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:357,1
    - Dst: first
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:357,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 367
    functionName: namespace
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 0
    functionsReached:
    - Botan::PK_Key_Agreement::derive_key
    - auto::raw_public_key_bits
    - decrypt
    - Botan::KDF::create_or_throw
    - auto::begin
    - Botan::secure_vector::end
    - kex_public_key
    - subspan
    - auto::end
    - kex_private_key
    - first
    - derive_key
    - size
    - end
    - Botan::secure_vector::insert
    - std::runtime_error
    - encapsulated_key_length
    - copy
    - begin
    - kem_public_key
    - auto::size
    - kem_private_key
    linkageType: ''
    returnType: BOTAN_DIAGNOSTIC_POP
    signature: BOTAN_DIAGNOSTIC_POP namespace
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Hybrid_Encryption_Operation>
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: Hybrid_PublicKey::create_kem_encryption_op
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Hybrid_Encryption_Operation>
    linkageType: ''
    returnType: std::unique_ptr<Botan::PK_Ops::KEM_Encryption>
    signature: "std::unique_ptr<Botan::PK_Ops::KEM_Encryption> Hybrid_PublicKey::create_kem_encryption_op(std::string_view
      params,\n                                                                                          std::string_view)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Hybrid_Decryption_Operation>
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rng'
    - params
    argTypes:
    - Botan::RandomNumberGenerator
    - std::string_view
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: Hybrid_PrivateKey::create_kem_decryption_op
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<Hybrid_Decryption_Operation>
    linkageType: ''
    returnType: std::unique_ptr<Botan::PK_Ops::KEM_Decryption>
    signature: "std::unique_ptr<Botan::PK_Ops::KEM_Decryption> Hybrid_PrivateKey::create_kem_decryption_op(\n
      \  Botan::RandomNumberGenerator& rng, std::string_view params, std::string_view)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Hybrid_PrivateKey>
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:380,1
    - Dst: Hybrid_PublicKey::generate_another
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:380,1
    - Dst: Hybrid_PublicKey::generate_another
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rng'
    argTypes:
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: Hybrid_PublicKey::generate_another
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 1
    functionsReached:
    - Hybrid_PublicKey::generate_another
    - std::make_unique<Hybrid_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> Hybrid_PublicKey::generate_another(Botan::RandomNumberGenerator&
      rng) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:384,1
    - Dst: std::make_unique<Hybrid_PrivateKey>
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:392,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:393,1
    - Dst: Botan::create_private_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:393,1
    - Dst: auto::public_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:394,1
    - Dst: Botan::PK_KEM_Encryptor::encrypt
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:399,1
    - Dst: Botan::PK_KEM_Decryptor::decrypt
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:404,1
    - Dst: auto::encapsulated_shared_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:404,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:407,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:408,1
    - Dst: auto::shared_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:408,1
    - Dst: auto::shared_key
      Src: /src/botan/src/examples/hybrid_key_encapsulation.cpp:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 416
    functionName: main
    functionSourceFile: /src/botan/src/examples/hybrid_key_encapsulation.cpp
    functionUses: 96
    functionsReached:
    - auto::public_key
    - auto::encapsulated_shared_key
    - std::make_unique<Hybrid_PrivateKey>
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - Botan::create_private_key
    - Botan::PK_KEM_Decryptor::decrypt
    - Botan::hex_encode
    - auto::shared_key
    - Botan::PK_KEM_Encryptor::encrypt
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OutT::reserve
      Src: /src/botan/src/examples/password_encryption.cpp:13,1
    - Dst: size
      Src: /src/botan/src/examples/password_encryption.cpp:13,1
    - Dst: OutT::insert
      Src: /src/botan/src/examples/password_encryption.cpp:14,1
    - Dst: OutT::end
      Src: /src/botan/src/examples/password_encryption.cpp:14,1
    - Dst: begin
      Src: /src/botan/src/examples/password_encryption.cpp:14,1
    - Dst: end
      Src: /src/botan/src/examples/password_encryption.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 16
    functionName: concat
    functionSourceFile: /src/botan/src/examples/password_encryption.cpp
    functionUses: 58
    functionsReached:
    - OutT::end
    - OutT::insert
    - begin
    - size
    - OutT::reserve
    - end
    linkageType: ''
    returnType: OutT
    signature: OutT concat(const Ts&... buffers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Out
      Src: /src/botan/src/examples/password_encryption.cpp:20,1
    - Dst: data
      Src: /src/botan/src/examples/password_encryption.cpp:20,1
    - Dst: data
      Src: /src/botan/src/examples/password_encryption.cpp:20,1
    - Dst: size
      Src: /src/botan/src/examples/password_encryption.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - In
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: as
    functionSourceFile: /src/botan/src/examples/password_encryption.cpp
    functionUses: 76
    functionsReached:
    - data
    - Out
    - size
    linkageType: ''
    returnType: Out
    signature: Out as(const In& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/examples/password_encryption.cpp:39,1
    - Dst: auto::hash
      Src: /src/botan/src/examples/password_encryption.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - password
    - salt
    - output_length
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 46
    functionName: derive_key_material
    functionSourceFile: /src/botan/src/examples/password_encryption.cpp
    functionUses: 0
    functionsReached:
    - Botan::PasswordHashFamily::create_or_throw
    - auto::hash
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: "Botan::secure_vector<uint8_t> derive_key_material(std::string_view
      password,\n                                                  std::span<const
      uint8_t> salt,\n                                                  size_t output_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/examples/password_encryption.cpp:51,1
    - Dst: derive_key_material
      Src: /src/botan/src/examples/password_encryption.cpp:58,1
    - Dst: auto::size
      Src: /src/botan/src/examples/password_encryption.cpp:61,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/password_encryption.cpp:62,1
    - Dst: first
      Src: /src/botan/src/examples/password_encryption.cpp:65,1
    - Dst: last
      Src: /src/botan/src/examples/password_encryption.cpp:66,1
    - Dst: auto::set_key
      Src: /src/botan/src/examples/password_encryption.cpp:68,1
    - Dst: auto::start
      Src: /src/botan/src/examples/password_encryption.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - password
    - salt
    - direction
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    - Botan::Cipher_Dir
    constantsTouched: []
    func_position:
      end: 72
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 72
    functionName: prepare_aead
    functionSourceFile: /src/botan/src/examples/password_encryption.cpp
    functionUses: 0
    functionsReached:
    - auto::start
    - first
    - auto::set_key
    - last
    - Botan::AEAD_Mode::create_or_throw
    - auto::size
    - std::runtime_error
    - derive_key_material
    linkageType: ''
    returnType: std::unique_ptr<Botan::AEAD_Mode>
    signature: "std::unique_ptr<Botan::AEAD_Mode> prepare_aead(std::string_view password,\n
      \                                              std::span<const uint8_t> salt,\n
      \                                              Botan::Cipher_Dir direction)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random_array
      Src: /src/botan/src/examples/password_encryption.cpp:86,1
    - Dst: prepare_aead
      Src: /src/botan/src/examples/password_encryption.cpp:87,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/examples/password_encryption.cpp:89,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/examples/password_encryption.cpp:89,1
    - Dst: auto::finish
      Src: /src/botan/src/examples/password_encryption.cpp:90,1
    - Dst: concat
      Src: /src/botan/src/examples/password_encryption.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - password
    - ' rng'
    - plaintext
    argTypes:
    - std::string_view
    - Botan::RandomNumberGenerator
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 5
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: encrypt_by_password
    functionSourceFile: /src/botan/src/examples/password_encryption.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - auto::finish
    - prepare_aead
    - concat
    - random_array
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> encrypt_by_password(std::string_view password,\n
      \                                        Botan::RandomNumberGenerator& rng,\n
      \                                        std::span<const uint8_t> plaintext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/examples/password_encryption.cpp:102,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/password_encryption.cpp:103,1
    - Dst: std::span<const uint8_t>::first
      Src: /src/botan/src/examples/password_encryption.cpp:106,1
    - Dst: prepare_aead
      Src: /src/botan/src/examples/password_encryption.cpp:107,1
    - Dst: std::span<const uint8_t>::subspan
      Src: /src/botan/src/examples/password_encryption.cpp:109,1
    - Dst: auto::begin
      Src: /src/botan/src/examples/password_encryption.cpp:110,1
    - Dst: auto::end
      Src: /src/botan/src/examples/password_encryption.cpp:110,1
    - Dst: auto::finish
      Src: /src/botan/src/examples/password_encryption.cpp:113,1
    - Dst: std::runtime_error
      Src: /src/botan/src/examples/password_encryption.cpp:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - password
    - wrapped_data
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 5
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: decrypt_by_password
    functionSourceFile: /src/botan/src/examples/password_encryption.cpp
    functionUses: 0
    functionsReached:
    - auto::finish
    - std::span<const uint8_t>::subspan
    - prepare_aead
    - auto::end
    - auto::begin
    - std::span<const uint8_t>::size
    - std::span<const uint8_t>::first
    - std::runtime_error
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: Botan::secure_vector<uint8_t> decrypt_by_password(std::string_view
      password, std::span<const uint8_t> wrapped_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/password_encryption.cpp:124,1
    - Dst: encrypt_by_password
      Src: /src/botan/src/examples/password_encryption.cpp:133,1
    - Dst: as
      Src: /src/botan/src/examples/password_encryption.cpp:133,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/password_encryption.cpp:134,1
    - Dst: decrypt_by_password
      Src: /src/botan/src/examples/password_encryption.cpp:136,1
    - Dst: as
      Src: /src/botan/src/examples/password_encryption.cpp:137,1
    - Dst: what
      Src: /src/botan/src/examples/password_encryption.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 6
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: main
    functionSourceFile: /src/botan/src/examples/password_encryption.cpp
    functionUses: 96
    functionsReached:
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - what
    - decrypt_by_password
    - Botan::hex_encode
    - as
    - encrypt_by_password
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/examples/tls_custom_curves_client.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_emit_data([[maybe_unused]] std::span<const uint8_t> data)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - seq_no
    - data
    argTypes:
    - uint64_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/examples/tls_custom_curves_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tls_record_received([[maybe_unused]] uint64_t seq_no,\n                               [[maybe_unused]]
      std::span<const uint8_t> data) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Callbacks::tls_alert
    functionSourceFile: /src/botan/src/examples/tls_custom_curves_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_alert([[maybe_unused]] Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<Botan::TLS::Group_Params>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:32,1
    - Dst: std::get<Botan::TLS::Group_Params>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:33,1
    - Dst: Botan::TLS::Group_Params
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:33,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:35,1
    - Dst: std::make_unique<Botan::ECDH_PrivateKey>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:36,1
    - Dst: Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_generate_ephemeral_key
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' group'
    - ' rng'
    argTypes:
    - std::variant<Botan::TLS::Group_Params, Botan::DL_Group>
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: Callbacks::tls_generate_ephemeral_key
    functionSourceFile: /src/botan/src/examples/tls_custom_curves_client.cpp
    functionUses: 3
    functionsReached:
    - std::get<Botan::TLS::Group_Params>
    - std::holds_alternative<Botan::TLS::Group_Params>
    - Botan_Tests::TLS_Handshake_Test::Test_Callbacks::tls_generate_ephemeral_key
    - Botan::EC_Group::from_name
    - Botan::TLS::Group_Params
    - std::make_unique<Botan::ECDH_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::PK_Key_Agreement_Key>
    signature: "std::unique_ptr<Botan::PK_Key_Agreement_Key> tls_generate_ephemeral_key(\n
      \        const std::variant<Botan::TLS::Group_Params, Botan::DL_Group>& group,\n
      \        Botan::RandomNumberGenerator& rng) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::holds_alternative<Botan::TLS::Group_Params>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:46,1
    - Dst: std::get<Botan::TLS::Group_Params>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:47,1
    - Dst: Botan::TLS::Group_Params
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:47,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:49,1
    - Dst: std::make_unique<Botan::ECDH_PublicKey>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:50,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:50,1
    - Dst: Callbacks::tls_deserialize_peer_public_key
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' group'
    - public_value
    argTypes:
    - std::variant<Botan::TLS::Group_Params, Botan::DL_Group>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: Callbacks::tls_deserialize_peer_public_key
    functionSourceFile: /src/botan/src/examples/tls_custom_curves_client.cpp
    functionUses: 1
    functionsReached:
    - std::get<Botan::TLS::Group_Params>
    - std::holds_alternative<Botan::TLS::Group_Params>
    - Callbacks::tls_deserialize_peer_public_key
    - std::make_unique<Botan::ECDH_PublicKey>
    - Botan::EC_Group::from_name
    - Botan::TLS::Group_Params
    - Botan::EC_AffinePoint::EC_AffinePoint
    linkageType: ''
    returnType: std::unique_ptr<Botan::Public_Key>
    signature: "std::unique_ptr<Botan::Public_Key> tls_deserialize_peer_public_key(\n
      \        const std::variant<Botan::TLS::Group_Params, Botan::DL_Group>& group,\n
      \        std::span<const uint8_t> public_value) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' type'
    - ' context'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: Client_Credentials::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/examples/tls_custom_curves_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::Certificate_Store*>
    signature: "std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(\n
      \        [[maybe_unused]] const std::string& type, [[maybe_unused]] const std::string&
      context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Botan::TLS::Group_Params>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: Client_Policy::key_exchange_groups
    functionSourceFile: /src/botan/src/examples/tls_custom_curves_client.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Botan::TLS::Group_Params>
    linkageType: ''
    returnType: std::vector<Botan::TLS::Group_Params>
    signature: std::vector<Botan::TLS::Group_Params> key_exchange_groups() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group::supports_application_specific_group
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:88,1
    - Dst: std::make_shared<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:94,1
    - Dst: Botan::EC_Group::verify_group
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:113,1
    - Dst: Botan::OID::register_oid
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:119,1
    - Dst: std::make_shared<Callbacks>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:122,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:123,1
    - Dst: std::make_shared<Client_Credentials>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:124,1
    - Dst: std::make_shared<Botan::TLS::Strict_Policy>
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:125,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:133,1
    - Dst: Botan::TLS::Client::is_closed
      Src: /src/botan/src/examples/tls_custom_curves_client.cpp:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 144
    functionName: main
    functionSourceFile: /src/botan/src/examples/tls_custom_curves_client.cpp
    functionUses: 96
    functionsReached:
    - Botan::EC_Group::supports_application_specific_group
    - Botan::TLS::Server_Information
    - std::make_shared<Botan::AutoSeeded_RNG>
    - Botan::TLS::Client::is_closed
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - Botan::OID::register_oid
    - std::make_shared<Client_Credentials>
    - std::make_shared<Botan::TLS::Strict_Policy>
    - Botan::EC_Group::verify_group
    - std::make_shared<Callbacks>
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/examples/pkcs11_rng.cpp:13,1
    - Dst: std::vector::at
      Src: /src/botan/src/examples/pkcs11_rng.cpp:14,1
    - Dst: Botan::PKCS11::PKCS11_RNG::randomize
      Src: /src/botan/src/examples/pkcs11_rng.cpp:21,1
    - Dst: std::vector::data
      Src: /src/botan/src/examples/pkcs11_rng.cpp:21,1
    - Dst: std::vector::size
      Src: /src/botan/src/examples/pkcs11_rng.cpp:21,1
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/pkcs11_rng.cpp:24,1
    - Dst: Botan::AutoSeeded_RNG::random_vec
      Src: /src/botan/src/examples/pkcs11_rng.cpp:25,1
    - Dst: Botan::PKCS11::PKCS11_RNG::add_entropy
      Src: /src/botan/src/examples/pkcs11_rng.cpp:26,1
    - Dst: auto::data
      Src: /src/botan/src/examples/pkcs11_rng.cpp:26,1
    - Dst: auto::size
      Src: /src/botan/src/examples/pkcs11_rng.cpp:26,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/botan/src/examples/pkcs11_rng.cpp:29,1
    - Dst: Botan::HMAC_DRBG::randomize
      Src: /src/botan/src/examples/pkcs11_rng.cpp:30,1
    - Dst: std::vector::data
      Src: /src/botan/src/examples/pkcs11_rng.cpp:30,1
    - Dst: std::vector::size
      Src: /src/botan/src/examples/pkcs11_rng.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 10
    functionDepth: 4
    functionLinenumber: 10
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_rng.cpp
    functionUses: 96
    functionsReached:
    - Botan::PKCS11::PKCS11_RNG::randomize
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - std::vector::size
    - Botan::PKCS11::Slot::get_available_slots
    - Botan::MessageAuthenticationCode::create
    - auto::data
    - Botan::AutoSeeded_RNG::random_vec
    - auto::size
    - std::vector::at
    - Botan::HMAC_DRBG::randomize
    - Botan::PKCS11::PKCS11_RNG::add_entropy
    - std::vector::data
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/xmss.cpp:11,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/examples/xmss.cpp:23,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/examples/xmss.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 9
    functionDepth: 2
    functionLinenumber: 9
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/botan/src/examples/xmss.cpp
    functionUses: 96
    functionsReached:
    - Botan::PK_Signer::sign_message
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - Botan::PK_Verifier::verify_message
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/amalgamation_header.cpp:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 13
    functionName: main
    functionSourceFile: /src/botan/src/examples/amalgamation_header.cpp
    functionUses: 96
    functionsReached:
    - Botan::hex_encode
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Botan::RSA_PrivateKey>
      Src: /src/botan/src/examples/hybrid_encryption.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bits
    - ' rng'
    argTypes:
    - size_t
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: generate_keypair
    functionSourceFile: /src/botan/src/examples/hybrid_encryption.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Botan::RSA_PrivateKey>
    linkageType: ''
    returnType: std::unique_ptr<Botan::Private_Key>
    signature: std::unique_ptr<Botan::Private_Key> generate_keypair(const size_t bits,
      Botan::RandomNumberGenerator& rng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/examples/hybrid_encryption.cpp:24,1
    - Dst: random_vec
      Src: /src/botan/src/examples/hybrid_encryption.cpp:29,1
    - Dst: auto::minimum_keylength
      Src: /src/botan/src/examples/hybrid_encryption.cpp:29,1
    - Dst: random_vec
      Src: /src/botan/src/examples/hybrid_encryption.cpp:30,1
    - Dst: auto::default_nonce_length
      Src: /src/botan/src/examples/hybrid_encryption.cpp:30,1
    - Dst: EncryptedData::ciphertext::assign
      Src: /src/botan/src/examples/hybrid_encryption.cpp:31,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/examples/hybrid_encryption.cpp:31,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/examples/hybrid_encryption.cpp:31,1
    - Dst: auto::set_key
      Src: /src/botan/src/examples/hybrid_encryption.cpp:34,1
    - Dst: auto::start
      Src: /src/botan/src/examples/hybrid_encryption.cpp:35,1
    - Dst: auto::finish
      Src: /src/botan/src/examples/hybrid_encryption.cpp:36,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/examples/hybrid_encryption.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - data
    - pubkey
    - ' rng'
    argTypes:
    - std::span<const uint8_t>
    - std::unique_ptr<Botan::Public_Key>
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 43
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 43
    functionName: encrypt
    functionSourceFile: /src/botan/src/examples/hybrid_encryption.cpp
    functionUses: 106
    functionsReached:
    - auto::start
    - std::span<const uint8_t>::end
    - auto::finish
    - auto::minimum_keylength
    - EncryptedData::ciphertext::assign
    - Botan::PK_Encryptor_EME::encrypt
    - random_vec
    - auto::set_key
    - auto::default_nonce_length
    - std::span<const uint8_t>::begin
    - Botan::AEAD_Mode::create_or_throw
    linkageType: ''
    returnType: EncryptedData
    signature: "EncryptedData encrypt(std::span<const uint8_t> data,\n                      std::unique_ptr<Botan::Public_Key>
      pubkey,\n                      Botan::RandomNumberGenerator& rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/examples/hybrid_encryption.cpp:52,1
    - Dst: Botan::AEAD_Mode::create_or_throw
      Src: /src/botan/src/examples/hybrid_encryption.cpp:55,1
    - Dst: auto::set_key
      Src: /src/botan/src/examples/hybrid_encryption.cpp:56,1
    - Dst: auto::start
      Src: /src/botan/src/examples/hybrid_encryption.cpp:57,1
    - Dst: auto::finish
      Src: /src/botan/src/examples/hybrid_encryption.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' encdata'
    - ' privkey'
    - ' rng'
    argTypes:
    - EncryptedData
    - Botan::Private_Key
    - Botan::RandomNumberGenerator
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: decrypt
    functionSourceFile: /src/botan/src/examples/hybrid_encryption.cpp
    functionUses: 89
    functionsReached:
    - auto::start
    - auto::finish
    - auto::set_key
    - Botan::PK_Decryptor_EME::decrypt
    - Botan::AEAD_Mode::create_or_throw
    linkageType: ''
    returnType: Botan::secure_vector<uint8_t>
    signature: "Botan::secure_vector<uint8_t> decrypt(const EncryptedData& encdata,\n
      \                                     const Botan::Private_Key& privkey,\n                                      Botan::RandomNumberGenerator&
      rng)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Out
      Src: /src/botan/src/examples/hybrid_encryption.cpp:65,1
    - Dst: data
      Src: /src/botan/src/examples/hybrid_encryption.cpp:65,1
    - Dst: data
      Src: /src/botan/src/examples/hybrid_encryption.cpp:65,1
    - Dst: size
      Src: /src/botan/src/examples/hybrid_encryption.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - In
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: as
    functionSourceFile: /src/botan/src/examples/hybrid_encryption.cpp
    functionUses: 77
    functionsReached:
    - data
    - Out
    - size
    linkageType: ''
    returnType: Out
    signature: Out as(const In& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/hybrid_encryption.cpp:71,1
    - Dst: generate_keypair
      Src: /src/botan/src/examples/hybrid_encryption.cpp:73,1
    - Dst: encrypt
      Src: /src/botan/src/examples/hybrid_encryption.cpp:76,1
    - Dst: as
      Src: /src/botan/src/examples/hybrid_encryption.cpp:76,1
    - Dst: auto::public_key
      Src: /src/botan/src/examples/hybrid_encryption.cpp:76,1
    - Dst: decrypt
      Src: /src/botan/src/examples/hybrid_encryption.cpp:77,1
    - Dst: as
      Src: /src/botan/src/examples/hybrid_encryption.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: main
    functionSourceFile: /src/botan/src/examples/hybrid_encryption.cpp
    functionUses: 96
    functionsReached:
    - auto::public_key
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - decrypt
    - as
    - generate_keypair
    - encrypt
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/ecdh.cpp:10,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/ecdh.cpp:13,1
    - Dst: Botan::ECDH_PrivateKey::public_value
      Src: /src/botan/src/examples/ecdh.cpp:21,1
    - Dst: Botan::ECDH_PrivateKey::public_value
      Src: /src/botan/src/examples/ecdh.cpp:22,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/examples/ecdh.cpp:26,1
    - Dst: Botan::PK_Key_Agreement::derive_key
      Src: /src/botan/src/examples/ecdh.cpp:29,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/ecdh.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 9
    functionDepth: 2
    functionLinenumber: 9
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/botan/src/examples/ecdh.cpp
    functionUses: 96
    functionsReached:
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - Botan::PK_Key_Agreement::derive_key
    - Botan::EC_Group::from_name
    - Botan::ECDH_PrivateKey::public_value
    - Botan::hex_encode
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/examples/pkcs11_x509.cpp:12,1
    - Dst: std::vector::at
      Src: /src/botan/src/examples/pkcs11_x509.cpp:13,1
    - Dst: Botan::X509_Certificate::subject_dn
      Src: /src/botan/src/examples/pkcs11_x509.cpp:20,1
    - Dst: Botan::X509_Certificate::BER_encode
      Src: /src/botan/src/examples/pkcs11_x509.cpp:20,1
    - Dst: Botan::PKCS11::X509_CertificateProperties::set_label
      Src: /src/botan/src/examples/pkcs11_x509.cpp:22,1
    - Dst: Botan::PKCS11::X509_CertificateProperties::set_private
      Src: /src/botan/src/examples/pkcs11_x509.cpp:23,1
    - Dst: Botan::PKCS11::X509_CertificateProperties::set_token
      Src: /src/botan/src/examples/pkcs11_x509.cpp:24,1
    - Dst: Botan::PKCS11::PKCS11_X509_Certificate::handle
      Src: /src/botan/src/examples/pkcs11_x509.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_x509.cpp
    functionUses: 96
    functionsReached:
    - Botan::X509_Certificate::BER_encode
    - Botan::PKCS11::X509_CertificateProperties::set_token
    - Botan::PKCS11::X509_CertificateProperties::set_label
    - Botan::PKCS11::Slot::get_available_slots
    - Botan::PKCS11::X509_CertificateProperties::set_private
    - std::vector::at
    - Botan::PKCS11::PKCS11_X509_Certificate::handle
    - Botan::X509_Certificate::subject_dn
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:23,1
    - Dst: std::string_view::data
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:23,1
    - Dst: std::string_view::size
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: as_byteview
    functionSourceFile: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::size
    - reinterpret_cast<const uint8_t*>
    - std::string_view::data
    linkageType: ''
    returnType: std::span<const uint8_t>
    signature: std::span<const uint8_t> as_byteview(std::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TPM2::Context::create
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:35,1
    - Dst: std::string
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:35,1
    - Dst: Botan::RandomNumberGenerator
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:38,1
    - Dst: auto::supports_botan_crypto_backend
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:40,1
    - Dst: auto::use_botan_crypto_backend
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:41,1
    - Dst: std::make_shared<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:52,1
    - Dst: auto::reseed_from_rng
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:53,1
    - Dst: auto::storage_root_key
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:62,1
    - Dst: Botan::TPM2::Session::authenticated_session
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:63,1
    - Dst: Botan::TPM2::RSA_PrivateKey::create_unrestricted_transient
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:66,1
    - Dst: as_byteview
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:67,1
    - Dst: auto::persist
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:68,1
    - Dst: as_byteview
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:68,1
    - Dst: Botan::Extensions::add_new
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:91,1
    - Dst: std::make_unique<Botan::Cert_Extension::Basic_Constraints>
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:91,1
    - Dst: Botan::Extensions::add_new
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:92,1
    - Dst: std::make_unique<Botan::Cert_Extension::Key_Usage>
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:92,1
    - Dst: Botan::Key_Constraints
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:93,1
    - Dst: Botan::Extensions::add_new
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:94,1
    - Dst: std::make_unique<Botan::Cert_Extension::Extended_Key_Usage>
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:94,1
    - Dst: Botan::OID::from_name
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:95,1
    - Dst: Botan::Extensions::add_new
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:96,1
    - Dst: std::make_unique<Botan::Cert_Extension::Subject_Alternative_Name>
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:96,1
    - Dst: Botan::AlternativeName::AlternativeName
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:97,1
    - Dst: Botan::AlternativeName::add_dns
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:98,1
    - Dst: Botan::AlternativeName::add_email
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:99,1
    - Dst: Botan::Extensions::add_new
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:102,1
    - Dst: std::make_unique<Botan::Cert_Extension::Subject_Key_ID>
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:103,1
    - Dst: auto::public_key_bits
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:103,1
    - Dst: Botan::PKCS10_Request::create
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:106,1
    - Dst: auto::PEM_encode
      Src: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 114
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp
    functionUses: 96
    functionsReached:
    - Botan::Key_Constraints
    - Botan::TPM2::Session::authenticated_session
    - std::make_unique<Botan::Cert_Extension::Subject_Alternative_Name>
    - auto::supports_botan_crypto_backend
    - auto::storage_root_key
    - Botan::TPM2::RSA_PrivateKey::create_unrestricted_transient
    - Botan::AlternativeName::add_dns
    - Botan::RandomNumberGenerator
    - std::make_unique<Botan::Cert_Extension::Subject_Key_ID>
    - Botan::PKCS10_Request::create
    - auto::persist
    - Botan::TPM2::Context::create
    - std::make_unique<Botan::Cert_Extension::Extended_Key_Usage>
    - std::make_unique<Botan::Cert_Extension::Basic_Constraints>
    - std::string
    - auto::use_botan_crypto_backend
    - Botan::AlternativeName::AlternativeName
    - std::make_unique<Botan::Cert_Extension::Key_Usage>
    - Botan::AlternativeName::add_email
    - Botan::OID::from_name
    - std::make_shared<Botan::AutoSeeded_RNG>
    - auto::PEM_encode
    - auto::reseed_from_rng
    - auto::public_key_bits
    - Botan::Extensions::add_new
    - as_byteview
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs10_csr_on_tpm2.cpp
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:14,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:14,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:14,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:15,1
    - Dst: std::vector::insert
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:16,1
    - Dst: std::vector::end
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:16,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:16,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:16,1
    - Dst: std::vector::insert
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:17,1
    - Dst: std::vector::end
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:17,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:17,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: to_uncompress_point_encoding
    functionSourceFile: /src/botan/src/examples/ecc_raw_public_key.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - std::vector::push_back
    - std::vector::reserve
    - std::vector::insert
    - std::span<const uint8_t>::size
    - std::vector::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> to_uncompress_point_encoding(std::span<const uint8_t>
      x, std::span<const uint8_t> y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:25,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:26,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:28,1
    - Dst: to_uncompress_point_encoding
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:29,1
    - Dst: Botan::ECDSA_PublicKey
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:34,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:34,1
    - Dst: Botan::X509::PEM_encode
      Src: /src/botan/src/examples/ecc_raw_public_key.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/botan/src/examples/ecc_raw_public_key.cpp
    functionUses: 96
    functionsReached:
    - Botan::X509::PEM_encode
    - Botan::ECDSA_PublicKey
    - to_uncompress_point_encoding
    - Botan::EC_Group::from_name
    - Botan::EC_AffinePoint::EC_AffinePoint
    - Botan::hex_decode
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_emit_data([[maybe_unused]] std::span<const uint8_t> data)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - seq_no
    - data
    argTypes:
    - uint64_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tls_record_received([[maybe_unused]] uint64_t seq_no,\n                               [[maybe_unused]]
      std::span<const uint8_t> data) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Callbacks::tls_alert
    functionSourceFile: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_alert([[maybe_unused]] Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' type'
    - ' context'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: Client_Credentials::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::Certificate_Store*>
    signature: "std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(\n
      \        [[maybe_unused]] const std::string& type, [[maybe_unused]] const std::string&
      context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Policy::key_exchange_groups
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:53,1
    - Dst: auto::push_back
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:54,1
    - Dst: auto::push_back
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:55,1
    - Dst: auto::push_back
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: Client_Policy::key_exchange_groups
    functionSourceFile: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp
    functionUses: 0
    functionsReached:
    - Shim_Policy::key_exchange_groups
    - auto::push_back
    linkageType: ''
    returnType: std::vector<Botan::TLS::Group_Params>
    signature: std::vector<Botan::TLS::Group_Params> key_exchange_groups() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: Client_Policy::key_exchange_groups_to_offer
    functionSourceFile: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::TLS::Group_Params>
    signature: std::vector<Botan::TLS::Group_Params> key_exchange_groups_to_offer()
      const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:69,1
    - Dst: std::make_shared<Callbacks>
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:70,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:71,1
    - Dst: std::make_shared<Client_Credentials>
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:72,1
    - Dst: std::make_shared<Botan::TLS::Strict_Policy>
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:73,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:81,1
    - Dst: Botan::TLS::Client::is_closed
      Src: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 92
    functionName: main
    functionSourceFile: /src/botan/src/examples/tls_13_hybrid_key_exchange_client.cpp
    functionUses: 96
    functionsReached:
    - Botan::TLS::Server_Information
    - std::make_shared<Botan::AutoSeeded_RNG>
    - Botan::TLS::Client::is_closed
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - std::make_shared<Client_Credentials>
    - std::make_shared<Botan::TLS::Strict_Policy>
    - std::make_shared<Callbacks>
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http::request::version
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:36,1
    - Dst: http::request::method
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:37,1
    - Dst: http::request::target
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:38,1
    - Dst: http::request::set
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:39,1
    - Dst: http::request::set
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:40,1
    - Dst: Botan::version_string
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' host'
    - ' target'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: create_GET_request
    functionSourceFile: /src/botan/src/examples/tls_stream_coroutine_client.cpp
    functionUses: 0
    functionsReached:
    - http::request::version
    - Botan::version_string
    - http::request::method
    - http::request::target
    - http::request::set
    linkageType: ''
    returnType: http::request<http::string_body>
    signature: http::request<http::string_body> create_GET_request(const std::string&
      host, const std::string& target)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_default_on
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:46,1
    - Dst: tcp::resolver
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:46,1
    - Dst: auto::async_resolve
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:47,1
    - Dst: Botan_Tests::AsioStream::AsioStream
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:51,1
    - Dst: tls::Server_Information
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:51,1
    - Dst: as_default_on
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:52,1
    - Dst: beast::tcp_stream
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:52,1
    - Dst: auto::next_layer
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:53,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:53,1
    - Dst: auto::next_layer
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:54,1
    - Dst: auto::async_handshake
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:55,1
    - Dst: auto::next_layer
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:58,1
    - Dst: Botan_CLI::Timer::seconds
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:58,1
    - Dst: http::async_write
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:59,1
    - Dst: create_GET_request
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:59,1
    - Dst: http::async_read
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:64,1
    - Dst: auto::async_shutdown
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:68,1
    - Dst: auto::next_layer
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - host
    - port
    - target
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 70
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 70
    functionName: request
    functionSourceFile: /src/botan/src/examples/tls_stream_coroutine_client.cpp
    functionUses: 56
    functionsReached:
    - auto::next_layer
    - tls::Server_Information
    - Botan_CLI::Timer::seconds
    - beast::tcp_stream
    - auto::async_shutdown
    - create_GET_request
    - auto::async_handshake
    - http::async_write
    - as_default_on
    - Botan_Tests::AsioStream::AsioStream
    - tcp::resolver
    - http::async_read
    - auto::async_resolve
    linkageType: ''
    returnType: net::awaitable<void>
    signature: net::awaitable<void> request(std::string host, std::string port, std::string
      target)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: net::co_spawn
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:91,1
    - Dst: request
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:91,1
    - Dst: std::rethrow_exception
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:94,1
    - Dst: what
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:96,1
    - Dst: net::io_context::run
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:102,1
    - Dst: what
      Src: /src/botan/src/examples/tls_stream_coroutine_client.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 108
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 108
    functionName: main
    functionSourceFile: /src/botan/src/examples/tls_stream_coroutine_client.cpp
    functionUses: 96
    functionsReached:
    - what
    - request
    - net::io_context::run
    - net::co_spawn
    - std::rethrow_exception
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: main
    functionSourceFile: /src/botan/src/examples/tls_stream_coroutine_client.cpp
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: Callbacks::tls_emit_data
    functionSourceFile: /src/botan/src/examples/tls_client.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_emit_data([[maybe_unused]] std::span<const uint8_t> data)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - seq_no
    - data
    argTypes:
    - uint64_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: Callbacks::tls_record_received
    functionSourceFile: /src/botan/src/examples/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tls_record_received([[maybe_unused]] uint64_t seq_no,\n                               [[maybe_unused]]
      std::span<const uint8_t> data) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Callbacks::tls_alert
    functionSourceFile: /src/botan/src/examples/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_alert([[maybe_unused]] Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' type'
    - ' context'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: Client_Credentials::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/examples/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::Certificate_Store*>
    signature: "std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(\n
      \        [[maybe_unused]] const std::string& type, [[maybe_unused]] const std::string&
      context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' cert_key_types'
    - ' cert_signature_schemes'
    - ' type'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - std::vector<Botan::AlgorithmIdentifier>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: Client_Credentials::cert_chain
    functionSourceFile: /src/botan/src/examples/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::X509_Certificate>
    signature: "std::vector<Botan::X509_Certificate> cert_chain(\n         [[maybe_unused]]
      const std::vector<std::string>& cert_key_types,\n         [[maybe_unused]] const
      std::vector<Botan::AlgorithmIdentifier>& cert_signature_schemes,\n         [[maybe_unused]]
      const std::string& type,\n         [[maybe_unused]] const std::string& context)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' cert'
    - ' type'
    - ' context'
    argTypes:
    - Botan::X509_Certificate
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: Client_Credentials::private_key_for
    functionSourceFile: /src/botan/src/examples/tls_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Botan::Private_Key>
    signature: "std::shared_ptr<Botan::Private_Key> private_key_for([[maybe_unused]]
      const Botan::X509_Certificate& cert,\n                                                          [[maybe_unused]]
      const std::string& type,\n                                                          [[maybe_unused]]
      const std::string& context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Callbacks>
      Src: /src/botan/src/examples/tls_client.cpp:71,1
    - Dst: std::make_shared<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/examples/tls_client.cpp:72,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/examples/tls_client.cpp:73,1
    - Dst: std::make_shared<Client_Credentials>
      Src: /src/botan/src/examples/tls_client.cpp:74,1
    - Dst: std::make_shared<Botan::TLS::Strict_Policy>
      Src: /src/botan/src/examples/tls_client.cpp:75,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/examples/tls_client.cpp:83,1
    - Dst: Botan::TLS::Client::is_closed
      Src: /src/botan/src/examples/tls_client.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/botan/src/examples/tls_client.cpp
    functionUses: 96
    functionsReached:
    - Botan::TLS::Server_Information
    - std::make_shared<Botan::AutoSeeded_RNG>
    - Botan::TLS::Client::is_closed
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - std::make_shared<Client_Credentials>
    - std::make_shared<Botan::TLS::Strict_Policy>
    - std::make_shared<Callbacks>
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Client_Credential::Client_Credential
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Client_Credential()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: Client_Credential::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::Certificate_Store*>
    signature: "std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(const
      std::string&,\n                                                                             const
      std::string&) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:53,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:53,1
    - Dst: push_back
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:59,1
    - Dst: Botan::X509_Certificate
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: Server_Credential::Server_Credential
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached:
    - Botan::X509_Certificate
    - push_back
    - reset
    - Botan::PKCS8::load_key
    linkageType: ''
    returnType: void
    signature: void Server_Credential()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: Server_Credential::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::Certificate_Store*>
    signature: "std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(const
      std::string&,\n                                                                             const
      std::string&) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subject_public_key
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:81,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - ' cert_key_types'
    - ' cert_signature_schemes'
    - ' type'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - std::vector<Botan::AlgorithmIdentifier>
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: Server_Credential::cert_chain
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - subject_public_key
    linkageType: ''
    returnType: std::vector<Botan::X509_Certificate>
    signature: "std::vector<Botan::X509_Certificate> cert_chain(\n         [[maybe_unused]]
      const std::vector<std::string>& cert_key_types,\n         [[maybe_unused]] const
      std::vector<Botan::AlgorithmIdentifier>& cert_signature_schemes,\n         [[maybe_unused]]
      const std::string& type,\n         [[maybe_unused]] const std::string& context)
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' cert'
    - ' type'
    - ' context'
    argTypes:
    - Botan::X509_Certificate
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: Server_Credential::private_key_for
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<Botan::Private_Key>
    signature: "std::shared_ptr<Botan::Private_Key> private_key_for([[maybe_unused]]
      const Botan::X509_Certificate& cert,\n                                                          [[maybe_unused]]
      const std::string& type,\n                                                          [[maybe_unused]]
      const std::string& context) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Allow_Secrets_Policy::allow_ssl_key_log_file
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allow_ssl_key_log_file() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' callbacks'
    argTypes:
    - Botan::TLS::Callbacks
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: BotanTLSCallbacksProxy::BotanTLSCallbacksProxy
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BotanTLSCallbacksProxy(Botan::TLS::Callbacks& callbacks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BotanTLSCallbacksProxy::tls_emit_data
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: BotanTLSCallbacksProxy::tls_emit_data
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 1
    functionsReached:
    - BotanTLSCallbacksProxy::tls_emit_data
    linkageType: ''
    returnType: void
    signature: void tls_emit_data(std::span<const uint8_t> data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - seq_no
    - data
    argTypes:
    - uint64_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: BotanTLSCallbacksProxy::tls_record_received
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tls_record_received([[maybe_unused]] uint64_t seq_no,\n                               [[maybe_unused]]
      std::span<const uint8_t> data) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: BotanTLSCallbacksProxy::tls_alert
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_alert([[maybe_unused]] Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BotanTLSCallbacksProxy::tls_ssl_key_log_data
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - label
    - client_random
    - secret
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: BotanTLSCallbacksProxy::tls_ssl_key_log_data
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 1
    functionsReached:
    - BotanTLSCallbacksProxy::tls_ssl_key_log_data
    linkageType: ''
    returnType: void
    signature: "void tls_ssl_key_log_data(std::string_view label,\n                                std::span<const
      uint8_t> client_random,\n                                std::span<const uint8_t>
      secret) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BotanTLSCallbacksProxy::tls_session_activated
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: BotanTLSCallbacksProxy::tls_session_activated
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 1
    functionsReached:
    - BotanTLSCallbacksProxy::tls_session_activated
    linkageType: ''
    returnType: void
    signature: void tls_session_activated() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inet_aton
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:148,1
    - Dst: c_str
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:148,1
    - Dst: htons
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:149,1
    - Dst: std::make_shared<BotanTLSCallbacksProxy>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:151,1
    - Dst: std::make_shared<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:152,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_In_Memory>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:153,1
    - Dst: std::make_shared<Allow_Secrets_Policy>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:155,1
    - Dst: std::make_shared<Server_Credential>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:156,1
    - Dst: std::make_unique<Botan::TLS::Server>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:158,1
    - Dst: std::make_shared<Botan::TLS::Datagram_Policy>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:160,1
    - Dst: std::make_shared<Client_Credential>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:161,1
    - Dst: std::make_unique<Botan::TLS::Client>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:163,1
    - Dst: Botan::TLS::Server_Information
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ' r_addr'
    - r_port
    - socket
    - is_server
    argTypes:
    - std::string
    - int
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 171
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 171
    functionName: DtlsConnection::DtlsConnection
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Server_Information
    - std::make_shared<Botan::AutoSeeded_RNG>
    - c_str
    - std::make_unique<Botan::TLS::Server>
    - std::make_shared<Server_Credential>
    - std::make_shared<BotanTLSCallbacksProxy>
    - inet_aton
    - std::make_shared<Botan::TLS::Session_Manager_In_Memory>
    - std::make_shared<Client_Credential>
    - std::make_unique<Botan::TLS::Client>
    - std::make_shared<Botan::TLS::Datagram_Policy>
    - std::make_shared<Allow_Secrets_Policy>
    - htons
    linkageType: ''
    returnType: void
    signature: "void DtlsConnection([[maybe_unused]] const std::string& r_addr,\n
      \                    [[maybe_unused]] int r_port,\n                     int
      socket,\n                     bool is_server)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sendto
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:177,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:177,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:177,1
    - Dst: reinterpret_cast<const sockaddr*>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: DtlsConnection::tls_emit_data
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const sockaddr*>
    - std::span<const uint8_t>::data
    - sendto
    - std::span<const uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void tls_emit_data([[maybe_unused]] std::span<const uint8_t> data)
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - seq_no
    - data
    argTypes:
    - uint64_t
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: DtlsConnection::tls_record_received
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tls_record_received([[maybe_unused]] uint64_t seq_no,\n                               [[maybe_unused]]
      std::span<const uint8_t> data) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - alert
    argTypes:
    - Botan::TLS::Alert
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: DtlsConnection::tls_alert
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_alert([[maybe_unused]] Botan::TLS::Alert alert) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: activated_callback
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: DtlsConnection::tls_session_activated
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached:
    - activated_callback
    linkageType: ''
    returnType: void
    signature: void tls_session_activated() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ofstream::open
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:195,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:196,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:196,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:196,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:197,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:197,1
    - Dst: std::span<const uint8_t>::size
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:197,1
    - Dst: std::ofstream::close
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - label
    - client_random
    - secret
    argTypes:
    - std::string_view
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 199
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 199
    functionName: DtlsConnection::tls_ssl_key_log_data
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached:
    - std::ofstream::open
    - std::ofstream::close
    - std::span<const uint8_t>::size
    - Botan::hex_encode
    - std::span<const uint8_t>::data
    linkageType: ''
    returnType: void
    signature: "void tls_ssl_key_log_data(std::string_view label,\n                                std::span<const
      uint8_t> client_random,\n                                std::span<const uint8_t>
      secret) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DtlsConnection::received_data
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: DtlsConnection::received_data
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 1
    functionsReached:
    - DtlsConnection::received_data
    linkageType: ''
    returnType: void
    signature: void received_data(std::span<const uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - std::function<void()>
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: DtlsConnection::set_activated_callback
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void set_activated_callback(std::function<void()> callback)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:208,1
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: DtlsConnection::close
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl::close
    - shutdown
    linkageType: ''
    returnType: void
    signature: void close() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:220,1
    - Dst: setsockopt
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:225,1
    - Dst: static_cast<void*>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:225,1
    - Dst: htons
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:230,1
    - Dst: inet_aton
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:231,1
    - Dst: bind
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:232,1
    - Dst: reinterpret_cast<sockaddr*>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:232,1
    - Dst: std::make_shared<DtlsConnection>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:243,1
    - Dst: conn_callback
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:244,1
    - Dst: recvfrom
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:249,1
    - Dst: reinterpret_cast<sockaddr*>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:249,1
    - Dst: auto::received_data
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:250,1
    - Dst: std::span
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ' conn_callback'
    argTypes:
    - std::function<void(std::shared_ptr<DtlsConnection> conn)>
    constantsTouched: []
    func_position:
      end: 259
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 259
    functionName: server_proc
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached:
    - recvfrom
    - socket
    - static_cast<void*>
    - conn_callback
    - std::span
    - setsockopt
    - auto::received_data
    - inet_aton
    - bind
    - reinterpret_cast<sockaddr*>
    - std::make_shared<DtlsConnection>
    - htons
    linkageType: ''
    returnType: void
    signature: void server_proc(const std::function<void(std::shared_ptr<DtlsConnection>
      conn)>& conn_callback)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:266,1
    - Dst: setsockopt
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:271,1
    - Dst: static_cast<void*>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:271,1
    - Dst: htons
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:276,1
    - Dst: inet_aton
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:277,1
    - Dst: bind
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:278,1
    - Dst: reinterpret_cast<sockaddr*>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:278,1
    - Dst: std::make_shared<DtlsConnection>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:289,1
    - Dst: conn_callback
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:290,1
    - Dst: recvfrom
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:294,1
    - Dst: reinterpret_cast<sockaddr*>
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:294,1
    - Dst: auto::received_data
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:295,1
    - Dst: std::span
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ' conn_callback'
    argTypes:
    - std::function<void(std::shared_ptr<DtlsConnection> conn)>
    constantsTouched: []
    func_position:
      end: 304
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 304
    functionName: client_proc
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 0
    functionsReached:
    - recvfrom
    - socket
    - static_cast<void*>
    - conn_callback
    - std::span
    - setsockopt
    - auto::received_data
    - inet_aton
    - bind
    - reinterpret_cast<sockaddr*>
    - std::make_shared<DtlsConnection>
    - htons
    linkageType: ''
    returnType: void
    signature: void client_proc(const std::function<void(std::shared_ptr<DtlsConnection>
      conn)>& conn_callback)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:314,1
    - Dst: std::move
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:314,1
    - Dst: std::vector::size
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:315,1
    - Dst: std::condition_variable::notify_one
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:316,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:321,1
    - Dst: std::move
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:321,1
    - Dst: std::vector::size
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:322,1
    - Dst: std::condition_variable::notify_one
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:323,1
    - Dst: std::condition_variable::wait
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:328,1
    - Dst: set_activated_callback
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:333,1
    - Dst: std::vector::push_back
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:334,1
    - Dst: std::vector::size
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:335,1
    - Dst: std::condition_variable::notify_one
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:336,1
    - Dst: std::condition_variable::wait
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:343,1
    - Dst: close
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:347,1
    - Dst: std::thread::join
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:350,1
    - Dst: std::thread::join
      Src: /src/botan/src/examples/tls_ssl_key_log_file.cpp:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 353
    functionName: main
    functionSourceFile: /src/botan/src/examples/tls_ssl_key_log_file.cpp
    functionUses: 96
    functionsReached:
    - std::vector::size
    - std::condition_variable::notify_one
    - close
    - std::thread::join
    - std::condition_variable::wait
    - std::vector::push_back
    - set_activated_callback
    - std::move
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 19
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_low_level.cpp
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/examples/pkcs11_slot.cpp:12,1
    - Dst: std::vector::at
      Src: /src/botan/src/examples/pkcs11_slot.cpp:15,1
    - Dst: Botan::PKCS11::Slot::get_slot_info
      Src: /src/botan/src/examples/pkcs11_slot.cpp:18,1
    - Dst: std::to_string
      Src: /src/botan/src/examples/pkcs11_slot.cpp:19,1
    - Dst: std::to_string
      Src: /src/botan/src/examples/pkcs11_slot.cpp:20,1
    - Dst: Botan::PKCS11::Slot::get_token_info
      Src: /src/botan/src/examples/pkcs11_slot.cpp:23,1
    - Dst: std::to_string
      Src: /src/botan/src/examples/pkcs11_slot.cpp:24,1
    - Dst: std::to_string
      Src: /src/botan/src/examples/pkcs11_slot.cpp:25,1
    - Dst: Botan::PKCS11::Slot::get_mechanism_list
      Src: /src/botan/src/examples/pkcs11_slot.cpp:28,1
    - Dst: Botan::PKCS11::Slot::get_mechanism_info
      Src: /src/botan/src/examples/pkcs11_slot.cpp:31,1
    - Dst: Botan::PKCS11::Slot::initialize
      Src: /src/botan/src/examples/pkcs11_slot.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 41
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_slot.cpp
    functionUses: 96
    functionsReached:
    - std::to_string
    - Botan::PKCS11::Slot::get_token_info
    - Botan::PKCS11::Slot::get_available_slots
    - Botan::PKCS11::Slot::initialize
    - Botan::PKCS11::Slot::get_slot_info
    - Botan::PKCS11::Slot::get_mechanism_info
    - std::vector::at
    - Botan::PKCS11::Slot::get_mechanism_list
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Module::reload
      Src: /src/botan/src/examples/pkcs11_module.cpp:11,1
    - Dst: Botan::PKCS11::Module::get_info
      Src: /src/botan/src/examples/pkcs11_module.cpp:13,1
    - Dst: std::to_string
      Src: /src/botan/src/examples/pkcs11_module.cpp:16,1
    - Dst: std::to_string
      Src: /src/botan/src/examples/pkcs11_module.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 7
    functionDepth: 3
    functionLinenumber: 7
    functionLinenumberEnd: 19
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_module.cpp
    functionUses: 96
    functionsReached:
    - Botan::PKCS11::Module::reload
    - std::to_string
    - Botan::PKCS11::Module::get_info
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/examples/pkcs11_session.cpp:10,1
    - Dst: std::vector::at
      Src: /src/botan/src/examples/pkcs11_session.cpp:11,1
    - Dst: Botan::PKCS11::flags
      Src: /src/botan/src/examples/pkcs11_session.cpp:22,1
    - Dst: Botan::PKCS11::Session::release
      Src: /src/botan/src/examples/pkcs11_session.cpp:30,1
    - Dst: Botan::PKCS11::Session::get_info
      Src: /src/botan/src/examples/pkcs11_session.cpp:38,1
    - Dst: Botan::PKCS11::Session::login
      Src: /src/botan/src/examples/pkcs11_session.cpp:43,1
    - Dst: Botan::PKCS11::Session::set_pin
      Src: /src/botan/src/examples/pkcs11_session.cpp:47,1
    - Dst: Botan::PKCS11::Session::logoff
      Src: /src/botan/src/examples/pkcs11_session.cpp:50,1
    - Dst: Botan::PKCS11::Session::login
      Src: /src/botan/src/examples/pkcs11_session.cpp:54,1
    - Dst: Botan::PKCS11::Session::init_pin
      Src: /src/botan/src/examples/pkcs11_session.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 7
    functionDepth: 2
    functionLinenumber: 7
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_session.cpp
    functionUses: 96
    functionsReached:
    - Botan::PKCS11::Session::login
    - Botan::PKCS11::Session::set_pin
    - Botan::PKCS11::flags
    - Botan::PKCS11::Session::init_pin
    - Botan::PKCS11::Slot::get_available_slots
    - Botan::PKCS11::Session::logoff
    - Botan::PKCS11::Session::get_info
    - Botan::PKCS11::Session::release
    - std::vector::at
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/examples/kdf.cpp:9,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/examples/kdf.cpp:10,1
    - Dst: Botan::KDF::create_or_throw
      Src: /src/botan/src/examples/kdf.cpp:13,1
    - Dst: auto::derive_key
      Src: /src/botan/src/examples/kdf.cpp:14,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/kdf.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 5
    functionDepth: 3
    functionLinenumber: 5
    functionLinenumberEnd: 18
    functionName: main
    functionSourceFile: /src/botan/src/examples/kdf.cpp
    functionUses: 96
    functionsReached:
    - Botan::KDF::create_or_throw
    - auto::derive_key
    - Botan::hex_decode
    - Botan::hex_encode
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/examples/gmac.cpp:7,1
    - Dst: Botan::hex_decode
      Src: /src/botan/src/examples/gmac.cpp:8,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/examples/gmac.cpp:9,1
    - Dst: Botan::MessageAuthenticationCode::create_or_throw
      Src: /src/botan/src/examples/gmac.cpp:11,1
    - Dst: auto::set_key
      Src: /src/botan/src/examples/gmac.cpp:12,1
    - Dst: auto::start
      Src: /src/botan/src/examples/gmac.cpp:13,1
    - Dst: auto::update
      Src: /src/botan/src/examples/gmac.cpp:14,1
    - Dst: auto::final
      Src: /src/botan/src/examples/gmac.cpp:15,1
    - Dst: auto::name
      Src: /src/botan/src/examples/gmac.cpp:16,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/gmac.cpp:16,1
    - Dst: auto::start
      Src: /src/botan/src/examples/gmac.cpp:19,1
    - Dst: auto::update
      Src: /src/botan/src/examples/gmac.cpp:20,1
    - Dst: auto::verify_mac
      Src: /src/botan/src/examples/gmac.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 6
    functionDepth: 5
    functionLinenumber: 6
    functionLinenumberEnd: 23
    functionName: main
    functionSourceFile: /src/botan/src/examples/gmac.cpp
    functionUses: 96
    functionsReached:
    - auto::start
    - auto::name
    - auto::final
    - auto::set_key
    - auto::update
    - Botan::hex_decode_locked
    - Botan::MessageAuthenticationCode::create_or_throw
    - Botan::hex_encode
    - auto::verify_mac
    - Botan::hex_decode
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/dl_group.cpp:8,1
    - Dst: std::make_unique<Botan::DL_Group>
      Src: /src/botan/src/examples/dl_group.cpp:9,1
    - Dst: auto::get_p
      Src: /src/botan/src/examples/dl_group.cpp:11,1
    - Dst: auto::get_q
      Src: /src/botan/src/examples/dl_group.cpp:12,1
    - Dst: auto::get_g
      Src: /src/botan/src/examples/dl_group.cpp:13,1
    - Dst: auto::PEM_encode
      Src: /src/botan/src/examples/dl_group.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 7
    functionDepth: 2
    functionLinenumber: 7
    functionLinenumberEnd: 18
    functionName: main
    functionSourceFile: /src/botan/src/examples/dl_group.cpp
    functionUses: 96
    functionsReached:
    - auto::get_p
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - auto::PEM_encode
    - auto::get_g
    - std::make_unique<Botan::DL_Group>
    - auto::get_q
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: Credentials_Manager::Credentials_Manager
    functionSourceFile: /src/botan/src/examples/tls_stream_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Credentials_Manager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: Credentials_Manager::trusted_certificate_authorities
    functionSourceFile: /src/botan/src/examples/tls_stream_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Botan::Certificate_Store*>
    signature: "std::vector<Botan::Certificate_Store*> trusted_certificate_authorities(const
      std::string&,\n                                                                             const
      std::string&) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::enable_shared_from_this<Context>
      Src: /src/botan/src/examples/tls_stream_client.cpp:42,1
    - Dst: std::make_shared<Credentials_Manager>
      Src: /src/botan/src/examples/tls_stream_client.cpp:42,1
    - Dst: std::make_shared<Botan::AutoSeeded_RNG>
      Src: /src/botan/src/examples/tls_stream_client.cpp:43,1
    - Dst: std::make_shared<Botan::TLS::Session_Manager_Noop>
      Src: /src/botan/src/examples/tls_stream_client.cpp:44,1
    - Dst: std::make_shared<Botan::TLS::Policy>
      Src: /src/botan/src/examples/tls_stream_client.cpp:45,1
    - Dst: boost::asio::async_connect
      Src: /src/botan/src/examples/tls_stream_client.cpp:48,1
    - Dst: lowest_layer
      Src: /src/botan/src/examples/tls_stream_client.cpp:48,1
    - Dst: begin
      Src: /src/botan/src/examples/tls_stream_client.cpp:49,1
    - Dst: end
      Src: /src/botan/src/examples/tls_stream_client.cpp:50,1
    - Dst: cybozu::Socket::bind
      Src: /src/botan/src/examples/tls_stream_client.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' io_context'
    - ' endpoints'
    - host
    - ' req'
    argTypes:
    - boost::asio::io_context
    - boost::asio::ip::tcp::resolver::results_type
    - std::string_view
    - http::request<http::string_body>
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: client::client
    functionSourceFile: /src/botan/src/examples/tls_stream_client.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<Botan::AutoSeeded_RNG>
    - std::enable_shared_from_this<Context>
    - boost::asio::async_connect
    - std::make_shared<Botan::TLS::Session_Manager_Noop>
    - begin
    - std::make_shared<Botan::TLS::Policy>
    - cybozu::Socket::bind
    - end
    - std::make_shared<Credentials_Manager>
    - lowest_layer
    linkageType: ''
    returnType: void
    signature: "void client(boost::asio::io_context& io_context,\n             const
      boost::asio::ip::tcp::resolver::results_type& endpoints,\n             std::string_view
      host,\n             const http::request<http::string_body>& req)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: message
      Src: /src/botan/src/examples/tls_stream_client.cpp:56,1
    - Dst: async_handshake
      Src: /src/botan/src/examples/tls_stream_client.cpp:59,1
    - Dst: cybozu::Socket::bind
      Src: /src/botan/src/examples/tls_stream_client.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' error'
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: client::handle_connect
    functionSourceFile: /src/botan/src/examples/tls_stream_client.cpp
    functionUses: 5
    functionsReached:
    - async_handshake
    - message
    - cybozu::Socket::bind
    linkageType: ''
    returnType: void
    signature: void handle_connect(const boost::system::error_code& error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: message
      Src: /src/botan/src/examples/tls_stream_client.cpp:65,1
    - Dst: http::async_write
      Src: /src/botan/src/examples/tls_stream_client.cpp:68,1
    - Dst: cybozu::Socket::bind
      Src: /src/botan/src/examples/tls_stream_client.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' error'
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: client::handle_handshake
    functionSourceFile: /src/botan/src/examples/tls_stream_client.cpp
    functionUses: 0
    functionsReached:
    - http::async_write
    - message
    - cybozu::Socket::bind
    linkageType: ''
    returnType: void
    signature: void handle_handshake(const boost::system::error_code& error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: message
      Src: /src/botan/src/examples/tls_stream_client.cpp:74,1
    - Dst: http::async_read
      Src: /src/botan/src/examples/tls_stream_client.cpp:77,1
    - Dst: cybozu::Socket::bind
      Src: /src/botan/src/examples/tls_stream_client.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' error'
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: client::handle_write
    functionSourceFile: /src/botan/src/examples/tls_stream_client.cpp
    functionUses: 0
    functionsReached:
    - message
    - http::async_read
    - cybozu::Socket::bind
    linkageType: ''
    returnType: void
    signature: void handle_write(const boost::system::error_code& error, size_t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: body
      Src: /src/botan/src/examples/tls_stream_client.cpp:84,1
    - Dst: message
      Src: /src/botan/src/examples/tls_stream_client.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' error'
    argTypes:
    - boost::system::error_code
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: client::handle_read
    functionSourceFile: /src/botan/src/examples/tls_stream_client.cpp
    functionUses: 0
    functionsReached:
    - message
    - body
    linkageType: ''
    returnType: void
    signature: void handle_read(const boost::system::error_code& error, size_t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::asio::ip::tcp::resolver::resolve
      Src: /src/botan/src/examples/tls_stream_client.cpp:115,1
    - Dst: http::request::version
      Src: /src/botan/src/examples/tls_stream_client.cpp:118,1
    - Dst: http::request::method
      Src: /src/botan/src/examples/tls_stream_client.cpp:119,1
    - Dst: http::request::target
      Src: /src/botan/src/examples/tls_stream_client.cpp:120,1
    - Dst: http::request::set
      Src: /src/botan/src/examples/tls_stream_client.cpp:121,1
    - Dst: http::request::set
      Src: /src/botan/src/examples/tls_stream_client.cpp:122,1
    - Dst: Botan::version_string
      Src: /src/botan/src/examples/tls_stream_client.cpp:122,1
    - Dst: boost::asio::io_context::run
      Src: /src/botan/src/examples/tls_stream_client.cpp:126,1
    - Dst: what
      Src: /src/botan/src/examples/tls_stream_client.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 133
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 133
    functionName: main
    functionSourceFile: /src/botan/src/examples/tls_stream_client.cpp
    functionUses: 96
    functionsReached:
    - http::request::version
    - what
    - Botan::version_string
    - http::request::method
    - http::request::target
    - boost::asio::ip::tcp::resolver::resolve
    - http::request::set
    - boost::asio::io_context::run
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: main
    functionSourceFile: /src/botan/src/examples/tls_stream_client.cpp
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/examples/ecc_raw_private_key.cpp:14,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/ecc_raw_private_key.cpp:16,1
    - Dst: Botan::EC_Scalar::deserialize
      Src: /src/botan/src/examples/ecc_raw_private_key.cpp:21,1
    - Dst: ECDH_PrivateKey
      Src: /src/botan/src/examples/ecc_raw_private_key.cpp:30,1
    - Dst: auto::value
      Src: /src/botan/src/examples/ecc_raw_private_key.cpp:30,1
    - Dst: auto::public_key
      Src: /src/botan/src/examples/ecc_raw_private_key.cpp:31,1
    - Dst: Botan::PKCS8::PEM_encode
      Src: /src/botan/src/examples/ecc_raw_private_key.cpp:33,1
    - Dst: Botan::X509::PEM_encode
      Src: /src/botan/src/examples/ecc_raw_private_key.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/botan/src/examples/ecc_raw_private_key.cpp
    functionUses: 96
    functionsReached:
    - auto::public_key
    - auto::value
    - Botan::PKCS8::PEM_encode
    - Botan::EC_Scalar::deserialize
    - Botan::X509::PEM_encode
    - Botan::hex_decode_locked
    - ECDH_PrivateKey
    - Botan::EC_Group::from_name
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/ecdsa.cpp:10,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/ecdsa.cpp:12,1
    - Dst: Botan::PK_Signer::update
      Src: /src/botan/src/examples/ecdsa.cpp:19,1
    - Dst: Botan::PK_Signer::signature
      Src: /src/botan/src/examples/ecdsa.cpp:20,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/ecdsa.cpp:21,1
    - Dst: Botan::PK_Verifier::update
      Src: /src/botan/src/examples/ecdsa.cpp:25,1
    - Dst: Botan::PK_Verifier::check_signature
      Src: /src/botan/src/examples/ecdsa.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 9
    functionDepth: 2
    functionLinenumber: 9
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/botan/src/examples/ecdsa.cpp
    functionUses: 96
    functionsReached:
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - Botan::PK_Verifier::check_signature
    - Botan::PK_Signer::update
    - Botan::EC_Group::from_name
    - Botan::PK_Signer::signature
    - Botan::hex_encode
    - Botan::PK_Verifier::update
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: MySoC_RandomNumberGenerator::MySoC_RandomNumberGenerator
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySoC_RandomNumberGenerator()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: ~MySoC_RandomNumberGenerator() override
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MySoC_RandomNumberGenerator() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: MySoC_RandomNumberGenerator::MySoC_RandomNumberGenerator
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySoC_RandomNumberGenerator(const MySoC_RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: MySoC_RandomNumberGenerator::MySoC_RandomNumberGenerator
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySoC_RandomNumberGenerator(MySoC_RandomNumberGenerator&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(const MySoC_RandomNumberGenerator&)'
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MySoC_RandomNumberGenerator
    signature: MySoC_RandomNumberGenerator & operator=(const MySoC_RandomNumberGenerator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '& operator=(MySoC_RandomNumberGenerator&&)'
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MySoC_RandomNumberGenerator
    signature: MySoC_RandomNumberGenerator & operator=(MySoC_RandomNumberGenerator&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: MySoC_RandomNumberGenerator::accepts_input
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: MySoC_RandomNumberGenerator::name
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: MySoC_RandomNumberGenerator::is_seeded
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MySoC_RandomNumberGenerator::invoke_board_specific_rng
      Src: /src/botan/src/examples/custom_system_rng.cpp:61,1
    - Dst: std::span<uint8_t>::data
      Src: /src/botan/src/examples/custom_system_rng.cpp:61,1
    - Dst: std::span<uint8_t>::size
      Src: /src/botan/src/examples/custom_system_rng.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::span<uint8_t>
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: MySoC_RandomNumberGenerator::fill_bytes_with_input
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>::size
    - MySoC_RandomNumberGenerator::invoke_board_specific_rng
    - std::span<uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void fill_bytes_with_input(std::span<uint8_t> output, std::span<const
      uint8_t> /*input*/) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/botan/src/examples/custom_system_rng.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: MySoC_RandomNumberGenerator::invoke_board_specific_rng
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void invoke_board_specific_rng(uint8_t buf[], size_t len) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MySoC_RandomNumberGenerator::MySoC_RandomNumberGenerator
      Src: /src/botan/src/examples/custom_system_rng.cpp:86,1
    - Dst: printf
      Src: /src/botan/src/examples/custom_system_rng.cpp:88,1
    - Dst: MySoC_RandomNumberGenerator::next_byte
      Src: /src/botan/src/examples/custom_system_rng.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/botan/src/examples/custom_system_rng.cpp
    functionUses: 96
    functionsReached:
    - MySoC_RandomNumberGenerator::next_byte
    - MySoC_RandomNumberGenerator::MySoC_RandomNumberGenerator
    - printf
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/examples/pkcs11_token_management.cpp:12,1
    - Dst: std::vector::at
      Src: /src/botan/src/examples/pkcs11_token_management.cpp:15,1
    - Dst: Botan::PKCS11::set_pin
      Src: /src/botan/src/examples/pkcs11_token_management.cpp:22,1
    - Dst: Botan::PKCS11::set_pin
      Src: /src/botan/src/examples/pkcs11_token_management.cpp:25,1
    - Dst: Botan::PKCS11::initialize_token
      Src: /src/botan/src/examples/pkcs11_token_management.cpp:28,1
    - Dst: Botan::PKCS11::change_pin
      Src: /src/botan/src/examples/pkcs11_token_management.cpp:31,1
    - Dst: Botan::PKCS11::change_pin
      Src: /src/botan/src/examples/pkcs11_token_management.cpp:34,1
    - Dst: Botan::PKCS11::change_so_pin
      Src: /src/botan/src/examples/pkcs11_token_management.cpp:37,1
    - Dst: Botan::PKCS11::change_so_pin
      Src: /src/botan/src/examples/pkcs11_token_management.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 6
    functionDepth: 2
    functionLinenumber: 6
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_token_management.cpp
    functionUses: 96
    functionsReached:
    - Botan::PKCS11::initialize_token
    - Botan::PKCS11::change_so_pin
    - Botan::PKCS11::Slot::get_available_slots
    - Botan::PKCS11::change_pin
    - std::vector::at
    - Botan::PKCS11::set_pin
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/aes_cbc.cpp:9,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/examples/aes_cbc.cpp:14,1
    - Dst: Botan::Cipher_Mode::create_or_throw
      Src: /src/botan/src/examples/aes_cbc.cpp:16,1
    - Dst: auto::set_key
      Src: /src/botan/src/examples/aes_cbc.cpp:17,1
    - Dst: Botan::AutoSeeded_RNG::random_vec
      Src: /src/botan/src/examples/aes_cbc.cpp:20,1
    - Dst: auto::default_nonce_length
      Src: /src/botan/src/examples/aes_cbc.cpp:20,1
    - Dst: std::string::data
      Src: /src/botan/src/examples/aes_cbc.cpp:23,1
    - Dst: std::string::data
      Src: /src/botan/src/examples/aes_cbc.cpp:23,1
    - Dst: std::string::length
      Src: /src/botan/src/examples/aes_cbc.cpp:23,1
    - Dst: auto::start
      Src: /src/botan/src/examples/aes_cbc.cpp:25,1
    - Dst: auto::finish
      Src: /src/botan/src/examples/aes_cbc.cpp:26,1
    - Dst: auto::name
      Src: /src/botan/src/examples/aes_cbc.cpp:28,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/aes_cbc.cpp:28,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/aes_cbc.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 8
    functionDepth: 2
    functionLinenumber: 8
    functionLinenumberEnd: 30
    functionName: main
    functionSourceFile: /src/botan/src/examples/aes_cbc.cpp
    functionUses: 96
    functionsReached:
    - auto::start
    - auto::name
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - auto::finish
    - auto::set_key
    - Botan::hex_decode_locked
    - auto::default_nonce_length
    - Botan::Cipher_Mode::create_or_throw
    - Botan::AutoSeeded_RNG::random_vec
    - Botan::hex_encode
    - std::string::length
    - std::string::data
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/examples/hash.cpp:7,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/examples/hash.cpp:8,1
    - Dst: Botan::HashFunction::create_or_throw
      Src: /src/botan/src/examples/hash.cpp:9,1
    - Dst: good
      Src: /src/botan/src/examples/hash.cpp:12,1
    - Dst: read
      Src: /src/botan/src/examples/hash.cpp:14,1
    - Dst: reinterpret_cast<char*>
      Src: /src/botan/src/examples/hash.cpp:14,1
    - Dst: std::vector::data
      Src: /src/botan/src/examples/hash.cpp:14,1
    - Dst: std::vector::size
      Src: /src/botan/src/examples/hash.cpp:14,1
    - Dst: auto::update
      Src: /src/botan/src/examples/hash.cpp:17,1
    - Dst: first
      Src: /src/botan/src/examples/hash.cpp:17,1
    - Dst: auto::update
      Src: /src/botan/src/examples/hash.cpp:18,1
    - Dst: first
      Src: /src/botan/src/examples/hash.cpp:18,1
    - Dst: auto::update
      Src: /src/botan/src/examples/hash.cpp:19,1
    - Dst: first
      Src: /src/botan/src/examples/hash.cpp:19,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/hash.cpp:21,1
    - Dst: auto::final
      Src: /src/botan/src/examples/hash.cpp:21,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/hash.cpp:22,1
    - Dst: auto::final
      Src: /src/botan/src/examples/hash.cpp:22,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/hash.cpp:23,1
    - Dst: auto::final
      Src: /src/botan/src/examples/hash.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 6
    functionDepth: 3
    functionLinenumber: 6
    functionLinenumberEnd: 25
    functionName: main
    functionSourceFile: /src/botan/src/examples/hash.cpp
    functionUses: 96
    functionsReached:
    - good
    - auto::final
    - std::vector::size
    - Botan::HashFunction::create_or_throw
    - read
    - first
    - auto::update
    - Botan::hex_encode
    - reinterpret_cast<char*>
    - std::vector::data
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:13,1
    - Dst: std::vector::at
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:14,1
    - Dst: Botan::PKCS11::Session::login
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:18,1
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:23,1
    - Dst: Botan::RSA_PrivateKey::get_n
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:27,1
    - Dst: Botan::RSA_PrivateKey::get_d
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:27,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyImportProperties::set_pub_exponent
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:29,1
    - Dst: Botan::RSA_PrivateKey::get_e
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:29,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyImportProperties::set_prime_1
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:30,1
    - Dst: Botan::RSA_PrivateKey::get_p
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:30,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyImportProperties::set_prime_2
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:31,1
    - Dst: Botan::RSA_PrivateKey::get_q
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:31,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyImportProperties::set_coefficient
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:32,1
    - Dst: Botan::RSA_PrivateKey::get_c
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:32,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyImportProperties::set_exponent_1
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:33,1
    - Dst: Botan::RSA_PrivateKey::get_d1
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:33,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyImportProperties::set_exponent_2
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:34,1
    - Dst: Botan::RSA_PrivateKey::get_d2
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:34,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyImportProperties::set_token
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:36,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyImportProperties::set_private
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:37,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyImportProperties::set_decrypt
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:38,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyImportProperties::set_sign
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:39,1
    - Dst: Botan::PKCS11::PKCS11_RSA_PrivateKey::export_key
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:45,1
    - Dst: Botan::PKCS11::PKCS11_RSA_PrivateKey::get_n
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:50,1
    - Dst: Botan::PKCS11::PKCS11_RSA_PrivateKey::get_e
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:50,1
    - Dst: Botan::PKCS11::RSA_PublicKeyImportProperties::set_token
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:51,1
    - Dst: Botan::PKCS11::RSA_PublicKeyImportProperties::set_encrypt
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:52,1
    - Dst: Botan::PKCS11::RSA_PublicKeyImportProperties::set_private
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:53,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyGenerationProperties::set_token
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:61,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyGenerationProperties::set_private
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:62,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyGenerationProperties::set_sign
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:63,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyGenerationProperties::set_decrypt
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:64,1
    - Dst: Botan::PKCS11::RSA_PrivateKeyGenerationProperties::set_label
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:65,1
    - Dst: Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_pub_exponent
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:72,1
    - Dst: Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_label
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:73,1
    - Dst: Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_token
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:74,1
    - Dst: Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_encrypt
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:75,1
    - Dst: Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_verify
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:76,1
    - Dst: Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_private
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:77,1
    - Dst: Botan::PKCS11::generate_rsa_keypair
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:80,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:86,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:91,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:96,1
    - Dst: Botan::PK_Verifier::verify_message
      Src: /src/botan/src/examples/pkcs11_rsa.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 10
    functionDepth: 3
    functionLinenumber: 10
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_rsa.cpp
    functionUses: 96
    functionsReached:
    - Botan::PKCS11::RSA_PrivateKeyImportProperties::set_prime_2
    - Botan::RSA_PrivateKey::get_d
    - Botan::PKCS11::RSA_PrivateKeyImportProperties::set_exponent_2
    - Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_label
    - Botan::PKCS11::RSA_PrivateKeyImportProperties::set_pub_exponent
    - Botan::PKCS11::RSA_PrivateKeyGenerationProperties::set_token
    - Botan::PKCS11::PKCS11_RSA_PrivateKey::get_e
    - Botan::RSA_PrivateKey::get_q
    - Botan::RSA_PrivateKey::get_n
    - Botan::PKCS11::RSA_PrivateKeyGenerationProperties::set_label
    - Botan::PKCS11::RSA_PublicKeyImportProperties::set_token
    - Botan::PKCS11::RSA_PrivateKeyImportProperties::set_private
    - Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_private
    - Botan::PKCS11::RSA_PrivateKeyGenerationProperties::set_private
    - Botan::RSA_PrivateKey::get_e
    - Botan::RSA_PrivateKey::get_d2
    - Botan::PKCS11::RSA_PrivateKeyImportProperties::set_token
    - Botan::PKCS11::RSA_PrivateKeyImportProperties::set_coefficient
    - Botan::RSA_PrivateKey::get_d1
    - Botan::PKCS11::RSA_PrivateKeyGenerationProperties::set_sign
    - Botan::PKCS11::Session::login
    - Botan::PKCS11::PKCS11_RSA_PrivateKey::export_key
    - Botan::PKCS11::RSA_PrivateKeyImportProperties::set_exponent_1
    - Botan::PK_Encryptor_EME::encrypt
    - Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_token
    - Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_verify
    - Botan::PK_Decryptor_EME::decrypt
    - Botan::PKCS11::Slot::get_available_slots
    - Botan::RSA_PrivateKey::get_p
    - Botan::PKCS11::RSA_PrivateKeyImportProperties::set_sign
    - Botan::PKCS11::RSA_PrivateKeyGenerationProperties::set_decrypt
    - Botan::PK_Signer::sign_message
    - Botan::PKCS11::RSA_PrivateKeyImportProperties::set_decrypt
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - Botan::PKCS11::RSA_PublicKeyImportProperties::set_encrypt
    - Botan::PK_Verifier::verify_message
    - Botan::PKCS11::RSA_PrivateKeyImportProperties::set_prime_1
    - Botan::PKCS11::generate_rsa_keypair
    - Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_encrypt
    - Botan::PKCS11::RSA_PublicKeyGenerationProperties::set_pub_exponent
    - Botan::PKCS11::RSA_PublicKeyImportProperties::set_private
    - std::vector::at
    - Botan::PKCS11::PKCS11_RSA_PrivateKey::get_n
    - Botan::RSA_PrivateKey::get_c
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - b
    - e
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 17
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 17
    functionName: power
    functionSourceFile: /src/botan/src/examples/fpe_alnum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t power(size_t b, size_t e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/botan/src/examples/fpe_alnum.cpp:33,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: to_radix
    functionSourceFile: /src/botan/src/examples/fpe_alnum.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    linkageType: ''
    returnType: size_t
    signature: size_t to_radix(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/botan/src/examples/fpe_alnum.cpp:39,1
    - Dst: std::invalid_argument
      Src: /src/botan/src/examples/fpe_alnum.cpp:40,1
    - Dst: to_radix
      Src: /src/botan/src/examples/fpe_alnum.cpp:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string_view
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: rank
    functionSourceFile: /src/botan/src/examples/fpe_alnum.cpp
    functionUses: 3
    functionsReached:
    - to_radix
    - std::invalid_argument
    - std::string_view::size
    linkageType: ''
    returnType: Botan::BigInt
    signature: Botan::BigInt rank(std::string_view s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/botan/src/examples/fpe_alnum.cpp:54,1
    - Dst: static_cast<char>
      Src: /src/botan/src/examples/fpe_alnum.cpp:56,1
    - Dst: std::invalid_argument
      Src: /src/botan/src/examples/fpe_alnum.cpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: from_radix
    functionSourceFile: /src/botan/src/examples/fpe_alnum.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - static_cast<char>
    linkageType: ''
    returnType: char
    signature: char from_radix(size_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::push_back
      Src: /src/botan/src/examples/fpe_alnum.cpp:68,1
    - Dst: from_radix
      Src: /src/botan/src/examples/fpe_alnum.cpp:68,1
    - Dst: std::reverse
      Src: /src/botan/src/examples/fpe_alnum.cpp:72,1
    - Dst: std::string::begin
      Src: /src/botan/src/examples/fpe_alnum.cpp:72,1
    - Dst: std::string::end
      Src: /src/botan/src/examples/fpe_alnum.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - z
    argTypes:
    - Botan::BigInt
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: derank
    functionSourceFile: /src/botan/src/examples/fpe_alnum.cpp
    functionUses: 3
    functionsReached:
    - from_radix
    - std::reverse
    - std::string::push_back
    - std::string::begin
    - std::string::end
    linkageType: ''
    returnType: std::string
    signature: std::string derank(Botan::BigInt z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode
      Src: /src/botan/src/examples/fpe_alnum.cpp:97,1
    - Dst: Botan::FPE_FE1::set_key
      Src: /src/botan/src/examples/fpe_alnum.cpp:100,1
    - Dst: rank
      Src: /src/botan/src/examples/fpe_alnum.cpp:111,1
    - Dst: std::string
      Src: /src/botan/src/examples/fpe_alnum.cpp:111,1
    - Dst: Botan::FPE_FE1::encrypt
      Src: /src/botan/src/examples/fpe_alnum.cpp:112,1
    - Dst: Botan::FPE_FE1::decrypt
      Src: /src/botan/src/examples/fpe_alnum.cpp:112,1
    - Dst: derank
      Src: /src/botan/src/examples/fpe_alnum.cpp:113,1
    - Dst: what
      Src: /src/botan/src/examples/fpe_alnum.cpp:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 122
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/botan/src/examples/fpe_alnum.cpp
    functionUses: 96
    functionsReached:
    - Botan::FPE_FE1::encrypt
    - rank
    - what
    - Botan::FPE_FE1::set_key
    - std::string
    - Botan::FPE_FE1::decrypt
    - derank
    - Botan::hex_decode
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_CLI::Timer::milliseconds
      Src: /src/botan/src/examples/pwdhash.cpp:10,1
    - Dst: Botan::PasswordHashFamily::create_or_throw
      Src: /src/botan/src/examples/pwdhash.cpp:15,1
    - Dst: auto::tune
      Src: /src/botan/src/examples/pwdhash.cpp:17,1
    - Dst: auto::to_string
      Src: /src/botan/src/examples/pwdhash.cpp:19,1
    - Dst: Botan::system_rng
      Src: /src/botan/src/examples/pwdhash.cpp:21,1
    - Dst: auto::hash
      Src: /src/botan/src/examples/pwdhash.cpp:26,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/pwdhash.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 7
    functionDepth: 3
    functionLinenumber: 7
    functionLinenumberEnd: 31
    functionName: main
    functionSourceFile: /src/botan/src/examples/pwdhash.cpp
    functionUses: 96
    functionsReached:
    - Botan::PasswordHashFamily::create_or_throw
    - Botan::system_rng
    - auto::tune
    - Botan_CLI::Timer::milliseconds
    - auto::hash
    - auto::to_string
    - Botan::hex_encode
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::data
      Src: /src/botan/src/examples/rsa_encrypt.cpp:17,1
    - Dst: std::string_view::data
      Src: /src/botan/src/examples/rsa_encrypt.cpp:17,1
    - Dst: std::string_view::length
      Src: /src/botan/src/examples/rsa_encrypt.cpp:17,1
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/rsa_encrypt.cpp:18,1
    - Dst: Botan::PKCS8::load_key
      Src: /src/botan/src/examples/rsa_encrypt.cpp:22,1
    - Dst: Botan::PK_Encryptor_EME::encrypt
      Src: /src/botan/src/examples/rsa_encrypt.cpp:26,1
    - Dst: Botan::PK_Decryptor_EME::decrypt
      Src: /src/botan/src/examples/rsa_encrypt.cpp:30,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/rsa_encrypt.cpp:32,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/rsa_encrypt.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 35
      start: 10
    functionDepth: 3
    functionLinenumber: 10
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/botan/src/examples/rsa_encrypt.cpp
    functionUses: 96
    functionsReached:
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - Botan::PK_Encryptor_EME::encrypt
    - Botan::PKCS8::load_key
    - Botan::PK_Decryptor_EME::decrypt
    - Botan::hex_encode
    - std::string_view::length
    - std::string_view::data
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/examples/pkcs11_objects.cpp:14,1
    - Dst: std::vector::at
      Src: /src/botan/src/examples/pkcs11_objects.cpp:15,1
    - Dst: Botan::PKCS11::DataObjectProperties::DataObjectProperties
      Src: /src/botan/src/examples/pkcs11_objects.cpp:24,1
    - Dst: Botan::PKCS11::DataObjectProperties::set_label
      Src: /src/botan/src/examples/pkcs11_objects.cpp:25,1
    - Dst: Botan::PKCS11::DataObjectProperties::set_value
      Src: /src/botan/src/examples/pkcs11_objects.cpp:26,1
    - Dst: Botan::PKCS11::DataObjectProperties::set_token
      Src: /src/botan/src/examples/pkcs11_objects.cpp:27,1
    - Dst: Botan::PKCS11::DataObjectProperties::set_modifiable
      Src: /src/botan/src/examples/pkcs11_objects.cpp:28,1
    - Dst: Botan::DER_Encoder::DER_Encoder
      Src: /src/botan/src/examples/pkcs11_objects.cpp:30,1
    - Dst: Botan::PKCS11::DataObjectProperties::set_object_id
      Src: /src/botan/src/examples/pkcs11_objects.cpp:31,1
    - Dst: Botan::PKCS11::Object::get_attribute_value
      Src: /src/botan/src/examples/pkcs11_objects.cpp:37,1
    - Dst: Botan::PKCS11::Object::set_attribute_value
      Src: /src/botan/src/examples/pkcs11_objects.cpp:41,1
    - Dst: Botan::PKCS11::AttributeContainer::AttributeContainer
      Src: /src/botan/src/examples/pkcs11_objects.cpp:44,1
    - Dst: Botan::PKCS11::AttributeContainer::add_string
      Src: /src/botan/src/examples/pkcs11_objects.cpp:45,1
    - Dst: Botan::PKCS11::Object::copy
      Src: /src/botan/src/examples/pkcs11_objects.cpp:46,1
    - Dst: Botan::PKCS11::AttributeContainer::AttributeContainer
      Src: /src/botan/src/examples/pkcs11_objects.cpp:49,1
    - Dst: Botan::PKCS11::AttributeContainer::add_string
      Src: /src/botan/src/examples/pkcs11_objects.cpp:50,1
    - Dst: Botan::PKCS11::Object::search<Botan::PKCS11::Object>
      Src: /src/botan/src/examples/pkcs11_objects.cpp:51,1
    - Dst: Botan::PKCS11::AttributeContainer::attributes
      Src: /src/botan/src/examples/pkcs11_objects.cpp:51,1
    - Dst: Botan::PKCS11::Object::destroy
      Src: /src/botan/src/examples/pkcs11_objects.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_objects.cpp
    functionUses: 96
    functionsReached:
    - Botan::PKCS11::AttributeContainer::attributes
    - Botan::PKCS11::DataObjectProperties::set_label
    - Botan::PKCS11::DataObjectProperties::set_token
    - Botan::DER_Encoder::DER_Encoder
    - Botan::PKCS11::DataObjectProperties::set_object_id
    - Botan::PKCS11::Object::get_attribute_value
    - Botan::PKCS11::Slot::get_available_slots
    - Botan::PKCS11::DataObjectProperties::DataObjectProperties
    - Botan::PKCS11::Object::set_attribute_value
    - Botan::PKCS11::AttributeContainer::add_string
    - Botan::PKCS11::Object::copy
    - Botan::PKCS11::Object::search<Botan::PKCS11::Object>
    - Botan::PKCS11::Object::destroy
    - Botan::PKCS11::DataObjectProperties::set_value
    - std::vector::at
    - Botan::PKCS11::AttributeContainer::AttributeContainer
    - Botan::PKCS11::DataObjectProperties::set_modifiable
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/examples/aes.cpp:7,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/examples/aes.cpp:8,1
    - Dst: Botan::BlockCipher::create_or_throw
      Src: /src/botan/src/examples/aes.cpp:9,1
    - Dst: auto::set_key
      Src: /src/botan/src/examples/aes.cpp:10,1
    - Dst: auto::encrypt
      Src: /src/botan/src/examples/aes.cpp:11,1
    - Dst: auto::name
      Src: /src/botan/src/examples/aes.cpp:12,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/aes.cpp:12,1
    - Dst: auto::clear
      Src: /src/botan/src/examples/aes.cpp:15,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/examples/aes.cpp:16,1
    - Dst: auto::set_key
      Src: /src/botan/src/examples/aes.cpp:17,1
    - Dst: auto::encrypt
      Src: /src/botan/src/examples/aes.cpp:18,1
    - Dst: auto::name
      Src: /src/botan/src/examples/aes.cpp:20,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/aes.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 6
    functionDepth: 4
    functionLinenumber: 6
    functionLinenumberEnd: 22
    functionName: main
    functionSourceFile: /src/botan/src/examples/aes.cpp
    functionUses: 96
    functionsReached:
    - auto::name
    - Botan::BlockCipher::create_or_throw
    - auto::set_key
    - Botan::hex_decode_locked
    - auto::encrypt
    - Botan::hex_encode
    - auto::clear
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/botan/src/examples/ffi.c:27,1
    - Dst: botan_version_string
      Src: /src/botan/src/examples/ffi.c:27,1
    - Dst: botan_hash_init
      Src: /src/botan/src/examples/ffi.c:31,1
    - Dst: CHECK_RC
      Src: /src/botan/src/examples/ffi.c:32,1
    - Dst: botan_hash_update
      Src: /src/botan/src/examples/ffi.c:34,1
    - Dst: strlen
      Src: /src/botan/src/examples/ffi.c:34,1
    - Dst: CHECK_RC
      Src: /src/botan/src/examples/ffi.c:35,1
    - Dst: botan_hash_final
      Src: /src/botan/src/examples/ffi.c:37,1
    - Dst: CHECK_RC
      Src: /src/botan/src/examples/ffi.c:38,1
    - Dst: botan_hash_destroy
      Src: /src/botan/src/examples/ffi.c:40,1
    - Dst: CHECK_RC
      Src: /src/botan/src/examples/ffi.c:41,1
    - Dst: botan_hex_encode
      Src: /src/botan/src/examples/ffi.c:43,1
    - Dst: CHECK_RC
      Src: /src/botan/src/examples/ffi.c:44,1
    - Dst: printf
      Src: /src/botan/src/examples/ffi.c:46,1
    - Dst: printf
      Src: /src/botan/src/examples/ffi.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 21
    functionDepth: 3
    functionLinenumber: 21
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/botan/src/examples/ffi.c
    functionUses: 96
    functionsReached:
    - botan_version_string
    - botan_hash_init
    - printf
    - CHECK_RC
    - botan_hash_final
    - botan_hex_encode
    - botan_hash_destroy
    - strlen
    - botan_hash_update
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PKCS11::Slot::get_available_slots
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:18,1
    - Dst: std::vector::at
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:19,1
    - Dst: Botan::PKCS11::Session::login
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:23,1
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:28,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:30,1
    - Dst: Botan::ECDSA_PrivateKey::DER_domain
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:33,1
    - Dst: Botan::ECDSA_PrivateKey::private_value
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:34,1
    - Dst: Botan::PKCS11::EC_PrivateKeyImportProperties::set_token
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:36,1
    - Dst: Botan::PKCS11::EC_PrivateKeyImportProperties::set_private
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:37,1
    - Dst: Botan::PKCS11::EC_PrivateKeyImportProperties::set_sign
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:38,1
    - Dst: Botan::PKCS11::EC_PrivateKeyImportProperties::set_extractable
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:39,1
    - Dst: Botan::PKCS11::EC_PrivateKeyImportProperties::set_label
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:43,1
    - Dst: Botan::PKCS11::PKCS11_ECDSA_PrivateKey::export_key
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:49,1
    - Dst: Botan::DER_Encoder::DER_Encoder
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:55,1
    - Dst: Botan::ECDSA_PrivateKey::raw_public_key_bits
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:55,1
    - Dst: Botan::ECDSA_PrivateKey::DER_domain
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:56,1
    - Dst: Botan::PKCS11::EC_PublicKeyImportProperties::set_token
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:58,1
    - Dst: Botan::PKCS11::EC_PublicKeyImportProperties::set_verify
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:59,1
    - Dst: Botan::PKCS11::EC_PublicKeyImportProperties::set_private
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:60,1
    - Dst: Botan::PKCS11::EC_PublicKeyImportProperties::set_label
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:64,1
    - Dst: Botan::PKCS11::PKCS11_ECDSA_PublicKey::export_key
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:69,1
    - Dst: Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_token
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:73,1
    - Dst: Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_private
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:74,1
    - Dst: Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_sign
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:75,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:78,1
    - Dst: Botan::EC_Group::from_name
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:83,1
    - Dst: Botan::PKCS11::EC_PublicKeyGenerationProperties::set_label
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:85,1
    - Dst: Botan::PKCS11::EC_PublicKeyGenerationProperties::set_token
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:86,1
    - Dst: Botan::PKCS11::EC_PublicKeyGenerationProperties::set_verify
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:87,1
    - Dst: Botan::PKCS11::EC_PublicKeyGenerationProperties::set_private
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:88,1
    - Dst: Botan::PKCS11::EC_PublicKeyGenerationProperties::set_modifiable
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:89,1
    - Dst: Botan::PKCS11::generate_ecdsa_keypair
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:92,1
    - Dst: Botan::PK_Signer::sign_message
      Src: /src/botan/src/examples/pkcs11_ecdsa.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 105
    functionName: main
    functionSourceFile: /src/botan/src/examples/pkcs11_ecdsa.cpp
    functionUses: 97
    functionsReached:
    - Botan::PKCS11::EC_PrivateKeyImportProperties::set_label
    - Botan::PKCS11::EC_PrivateKeyImportProperties::set_extractable
    - Botan::PKCS11::EC_PrivateKeyImportProperties::set_sign
    - Botan::ECDSA_PrivateKey::private_value
    - Botan::PKCS11::EC_PublicKeyGenerationProperties::set_token
    - Botan::PKCS11::generate_ecdsa_keypair
    - Botan::DER_Encoder::DER_Encoder
    - Botan::PKCS11::EC_PublicKeyImportProperties::set_private
    - Botan::PKCS11::EC_PublicKeyImportProperties::set_label
    - Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_sign
    - Botan::PKCS11::EC_PublicKeyImportProperties::set_verify
    - Botan::PKCS11::EC_PublicKeyImportProperties::set_token
    - Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_private
    - Botan::PKCS11::Session::login
    - Botan::PKCS11::EC_PublicKeyGenerationProperties::set_modifiable
    - Botan::PKCS11::PKCS11_ECDSA_PrivateKey::export_key
    - Botan::PKCS11::Slot::get_available_slots
    - Botan::PK_Signer::sign_message
    - Botan::PKCS11::EC_PrivateKeyImportProperties::set_private
    - Botan::PKCS11::EC_PublicKeyGenerationProperties::set_label
    - Botan::ECDSA_PrivateKey::raw_public_key_bits
    - Botan::PKCS11::PKCS11_ECDSA_PublicKey::export_key
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - Botan::PKCS11::EC_PrivateKeyGenerationProperties::set_token
    - Botan::PKCS11::EC_PublicKeyGenerationProperties::set_private
    - Botan::ECDSA_PrivateKey::DER_domain
    - Botan::PKCS11::EC_PrivateKeyImportProperties::set_token
    - Botan::EC_Group::from_name
    - Botan::PKCS11::EC_PublicKeyGenerationProperties::set_verify
    - std::vector::at
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::data
      Src: /src/botan/src/examples/chacha.cpp:9,1
    - Dst: std::string::data
      Src: /src/botan/src/examples/chacha.cpp:9,1
    - Dst: std::string::length
      Src: /src/botan/src/examples/chacha.cpp:9,1
    - Dst: Botan::hex_decode_locked
      Src: /src/botan/src/examples/chacha.cpp:10,1
    - Dst: Botan::StreamCipher::create_or_throw
      Src: /src/botan/src/examples/chacha.cpp:11,1
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/chacha.cpp:14,1
    - Dst: Botan::AutoSeeded_RNG::random_vec
      Src: /src/botan/src/examples/chacha.cpp:15,1
    - Dst: auto::set_key
      Src: /src/botan/src/examples/chacha.cpp:18,1
    - Dst: auto::set_iv
      Src: /src/botan/src/examples/chacha.cpp:19,1
    - Dst: auto::encipher
      Src: /src/botan/src/examples/chacha.cpp:20,1
    - Dst: auto::name
      Src: /src/botan/src/examples/chacha.cpp:22,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/chacha.cpp:22,1
    - Dst: Botan::hex_encode
      Src: /src/botan/src/examples/chacha.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 7
    functionDepth: 3
    functionLinenumber: 7
    functionLinenumberEnd: 24
    functionName: main
    functionSourceFile: /src/botan/src/examples/chacha.cpp
    functionUses: 97
    functionsReached:
    - auto::name
    - Botan::hex_encode
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - auto::set_key
    - Botan::hex_decode_locked
    - auto::set_iv
    - Botan::AutoSeeded_RNG::random_vec
    - auto::encipher
    - std::string::length
    - std::string::data
    - Botan::StreamCipher::create_or_throw
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::AutoSeeded_RNG::AutoSeeded_RNG
      Src: /src/botan/src/examples/check_key.cpp:9,1
    - Dst: Botan::X509_Certificate::subject_public_key
      Src: /src/botan/src/examples/check_key.cpp:10,1
    - Dst: auto::check_key
      Src: /src/botan/src/examples/check_key.cpp:11,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 7
    functionDepth: 2
    functionLinenumber: 7
    functionLinenumberEnd: 17
    functionName: main
    functionSourceFile: /src/botan/src/examples/check_key.cpp
    functionUses: 97
    functionsReached:
    - Botan::AutoSeeded_RNG::AutoSeeded_RNG
    - Botan::X509_Certificate::subject_public_key
    - auto::check_key
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getStr
      Src: /src/mcl/test/ntt_test.cpp:12,1
    - Dst: std::string::substr
      Src: /src/mcl/test/ntt_test.cpp:17,1
    - Dst: std::string::substr
      Src: /src/mcl/test/ntt_test.cpp:17,1
    - Dst: std::string::size
      Src: /src/mcl/test/ntt_test.cpp:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 18
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 18
    functionName: sub
    functionSourceFile: /src/mcl/test/ntt_test.cpp
    functionUses: 61
    functionsReached:
    - getStr
    - std::string::size
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string sub(const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - out
    - in
    - n
    - ws
    argTypes:
    - G*
    - G*
    - size_t
    - Fr*
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: nttNaive
    functionSourceFile: /src/mcl/test/ntt_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nttNaive(G *out, const G *in, size_t n, const Fr *ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/ntt_test.cpp:43,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ntt_test.cpp:44,1
    - Dst: mcl::local::BitReverse::rev
      Src: /src/mcl/test/ntt_test.cpp:44,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/ntt_test.cpp:46,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ntt_test.cpp:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 55
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/ntt_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::local::BitReverse::rev
    - cybozu::XorShift::XorShift
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(bitRev)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out
    - in
    - n
    argTypes:
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: copy
    functionSourceFile: /src/mcl/test/ntt_test.cpp
    functionUses: 79
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void copy(T *out, const T *in, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/mcl/test/ntt_test.cpp:70,1
    - Dst: printf
      Src: /src/mcl/test/ntt_test.cpp:72,1
    - Dst: copy
      Src: /src/mcl/test/ntt_test.cpp:74,1
    - Dst: ntt
      Src: /src/mcl/test/ntt_test.cpp:75,1
    - Dst: nttNaive
      Src: /src/mcl/test/ntt_test.cpp:79,1
    - Dst: getWs
      Src: /src/mcl/test/ntt_test.cpp:79,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/ntt_test.cpp:80,1
    - Dst: copy
      Src: /src/mcl/test/ntt_test.cpp:84,1
    - Dst: intt
      Src: /src/mcl/test/ntt_test.cpp:85,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/ntt_test.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ' ntt'
    - in
    - bitN
    argTypes:
    - NTT
    - G*
    - size_t
    constantsTouched: []
    func_position:
      end: 87
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 87
    functionName: test_sub
    functionSourceFile: /src/mcl/test/ntt_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - printf
    - copy
    - ntt
    - init
    - nttNaive
    - intt
    - getWs
    linkageType: ''
    returnType: void
    signature: void test_sub(NTT& ntt, const G *in, size_t bitN)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_sub
      Src: /src/mcl/test/ntt_test.cpp:94,1
    - Dst: test_sub
      Src: /src/mcl/test/ntt_test.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' ntt'
    - in
    - maxBitN
    argTypes:
    - NTT
    - G*
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: test
    functionSourceFile: /src/mcl/test/ntt_test.cpp
    functionUses: 22
    functionsReached:
    - test_sub
    linkageType: ''
    returnType: void
    signature: void test(NTT& ntt, const G *in, size_t maxBitN)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initPairing
      Src: /src/mcl/test/ntt_test.cpp:106,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/ntt_test.cpp:109,1
    - Dst: setByCSPRNG
      Src: /src/mcl/test/ntt_test.cpp:113,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/test/ntt_test.cpp:116,1
    - Dst: puts
      Src: /src/mcl/test/ntt_test.cpp:121,1
    - Dst: test
      Src: /src/mcl/test/ntt_test.cpp:122,1
    - Dst: puts
      Src: /src/mcl/test/ntt_test.cpp:123,1
    - Dst: test
      Src: /src/mcl/test/ntt_test.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 125
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/ntt_test.cpp
    functionUses: 0
    functionsReached:
    - hashAndMapToG1
    - setByCSPRNG
    - puts
    - initPairing
    - cybozu::XorShift::XorShift
    - test
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(generic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/vint_test.cpp:66,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:68,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:69,1
    - Dst: Vint::getStr
      Src: /src/mcl/test/vint_test.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 71
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - Vint::getStr
    - Vint::setArray
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(setArray_u8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/vint_test.cpp:96,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:98,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:99,1
    - Dst: Vint::getStr
      Src: /src/mcl/test/vint_test.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 101
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - Vint::getStr
    - Vint::setArray
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(setArray_u32)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/vint_test.cpp:121,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:123,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:124,1
    - Dst: Vint::getStr
      Src: /src/mcl/test/vint_test.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 126
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - Vint::getStr
    - Vint::setArray
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(setArray_u64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/vint_test.cpp:191,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:193,1
    - Dst: setArray
      Src: /src/mcl/test/vint_test.cpp:194,1
    - Dst: setArray
      Src: /src/mcl/test/vint_test.cpp:195,1
    - Dst: mcl::Vint::add
      Src: /src/mcl/test/vint_test.cpp:196,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:197,1
    - Dst: mcl::Vint::add
      Src: /src/mcl/test/vint_test.cpp:199,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:200,1
    - Dst: mcl::Vint::sub
      Src: /src/mcl/test/vint_test.cpp:202,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:203,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:209,1
    - Dst: setArray
      Src: /src/mcl/test/vint_test.cpp:210,1
    - Dst: mcl::Vint::add
      Src: /src/mcl/test/vint_test.cpp:211,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:212,1
    - Dst: mcl::Vint::sub
      Src: /src/mcl/test/vint_test.cpp:213,1
    - Dst: clear
      Src: /src/mcl/test/vint_test.cpp:214,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:215,1
    - Dst: setArray
      Src: /src/mcl/test/vint_test.cpp:222,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:224,1
    - Dst: setArray
      Src: /src/mcl/test/vint_test.cpp:225,1
    - Dst: mcl::Vint::add
      Src: /src/mcl/test/vint_test.cpp:226,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:227,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:229,1
    - Dst: setArray
      Src: /src/mcl/test/vint_test.cpp:230,1
    - Dst: mcl::Vint::add
      Src: /src/mcl/test/vint_test.cpp:231,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:232,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:234,1
    - Dst: setArray
      Src: /src/mcl/test/vint_test.cpp:235,1
    - Dst: mcl::Vint::add
      Src: /src/mcl/test/vint_test.cpp:236,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:237,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:239,1
    - Dst: setArray
      Src: /src/mcl/test/vint_test.cpp:240,1
    - Dst: mcl::Vint::add
      Src: /src/mcl/test/vint_test.cpp:241,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 244
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - setArray
    - CYBOZU_TEST_EQUAL
    - Vint::setArray
    - clear
    - mcl::Vint::sub
    - mcl::Vint::add
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(addSub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/vint_test.cpp:284,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:287,1
    - Dst: setArray
      Src: /src/mcl/test/vint_test.cpp:289,1
    - Dst: mcl::Vint::mul
      Src: /src/mcl/test/vint_test.cpp:290,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:291,1
    - Dst: mcl::Vint::mul
      Src: /src/mcl/test/vint_test.cpp:293,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 296
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - setArray
    - CYBOZU_TEST_EQUAL
    - Vint::setArray
    - mcl::Vint::mul
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(mul1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/vint_test.cpp:341,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:343,1
    - Dst: setArray
      Src: /src/mcl/test/vint_test.cpp:344,1
    - Dst: setArray
      Src: /src/mcl/test/vint_test.cpp:345,1
    - Dst: mcl::Vint::mul
      Src: /src/mcl/test/vint_test.cpp:346,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:347,1
    - Dst: mcl::Vint::mul
      Src: /src/mcl/test/vint_test.cpp:349,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:350,1
    - Dst: setArray
      Src: /src/mcl/test/vint_test.cpp:356,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:357,1
    - Dst: mcl::Vint::mul
      Src: /src/mcl/test/vint_test.cpp:359,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:360,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:362,1
    - Dst: mcl::Vint::mul
      Src: /src/mcl/test/vint_test.cpp:363,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:364,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:366,1
    - Dst: mcl::Vint::mul
      Src: /src/mcl/test/vint_test.cpp:367,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:368,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:370,1
    - Dst: mcl::Vint::mul
      Src: /src/mcl/test/vint_test.cpp:371,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:372,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:377,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 379
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - setArray
    - CYBOZU_TEST_EQUAL
    - Vint::setArray
    - mcl::Vint::mul
    - Vint
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(mul2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/vint_test.cpp:425,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:428,1
    - Dst: setArray
      Src: /src/mcl/test/vint_test.cpp:431,1
    - Dst: mcl::Vint::divMods1
      Src: /src/mcl/test/vint_test.cpp:433,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:434,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:435,1
    - Dst: mcl::Vint::divMods1
      Src: /src/mcl/test/vint_test.cpp:437,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:438,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 441
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - setArray
    - CYBOZU_TEST_EQUAL
    - Vint::setArray
    - mcl::Vint::divMods1
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(div1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/vint_test.cpp:560,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:562,1
    - Dst: setArray
      Src: /src/mcl/test/vint_test.cpp:563,1
    - Dst: setArray
      Src: /src/mcl/test/vint_test.cpp:564,1
    - Dst: setArray
      Src: /src/mcl/test/vint_test.cpp:565,1
    - Dst: mcl::Vint::quotRem
      Src: /src/mcl/test/vint_test.cpp:567,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:568,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:569,1
    - Dst: mcl::Vint::mul
      Src: /src/mcl/test/vint_test.cpp:571,1
    - Dst: mcl::Vint::add
      Src: /src/mcl/test/vint_test.cpp:572,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:573,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:575,1
    - Dst: setArray
      Src: /src/mcl/test/vint_test.cpp:576,1
    - Dst: mcl::Vint::quotRem
      Src: /src/mcl/test/vint_test.cpp:577,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:578,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:579,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:581,1
    - Dst: setArray
      Src: /src/mcl/test/vint_test.cpp:582,1
    - Dst: mcl::Vint::quotRem
      Src: /src/mcl/test/vint_test.cpp:583,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:584,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:585,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:587,1
    - Dst: setArray
      Src: /src/mcl/test/vint_test.cpp:588,1
    - Dst: mcl::Vint::quotRem
      Src: /src/mcl/test/vint_test.cpp:589,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:590,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:591,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:593,1
    - Dst: setArray
      Src: /src/mcl/test/vint_test.cpp:594,1
    - Dst: mcl::Vint::quotRem
      Src: /src/mcl/test/vint_test.cpp:595,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:596,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:597,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:602,1
    - Dst: mcl::Vint::quotRem
      Src: /src/mcl/test/vint_test.cpp:603,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:605,1
    - Dst: clear
      Src: /src/mcl/test/vint_test.cpp:606,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:607,1
    - Dst: mcl::Vint::quotRem
      Src: /src/mcl/test/vint_test.cpp:609,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:611,1
    - Dst: clear
      Src: /src/mcl/test/vint_test.cpp:612,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 615
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 615
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - setArray
    - CYBOZU_TEST_EQUAL
    - Vint::setArray
    - mcl::Vint::mul
    - clear
    - mcl::Vint::quotRem
    - mcl::Vint::add
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(div2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::Vint
      Src: /src/mcl/test/vint_test.cpp:720,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/vint_test.cpp:721,1
    - Dst: mcl::Vint::setStr
      Src: /src/mcl/test/vint_test.cpp:722,1
    - Dst: setStr
      Src: /src/mcl/test/vint_test.cpp:723,1
    - Dst: setStr
      Src: /src/mcl/test/vint_test.cpp:724,1
    - Dst: mcl::Vint::divMod
      Src: /src/mcl/test/vint_test.cpp:725,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:726,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 729
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 729
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::Vint::divMod
    - CYBOZU_TEST_EQUAL
    - mcl::Vint::Vint
    - mcl::Vint::setStr
    - setStr
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(divMod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/vint_test.cpp:747,1
    - Dst: Vint::setArray
      Src: /src/mcl/test/vint_test.cpp:749,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:750,1
    - Dst: Vint::getStr
      Src: /src/mcl/test/vint_test.cpp:750,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/vint_test.cpp:753,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:754,1
    - Dst: setStr
      Src: /src/mcl/test/vint_test.cpp:755,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:756,1
    - Dst: Vint::getStr
      Src: /src/mcl/test/vint_test.cpp:756,1
    - Dst: Vint::getStr
      Src: /src/mcl/test/vint_test.cpp:757,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/vint_test.cpp:758,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:759,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:760,1
    - Dst: Vint::setStr
      Src: /src/mcl/test/vint_test.cpp:762,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 765
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 765
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - Vint::setArray
    - Vint::setStr
    - Vint::getStr
    - setStr
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::shl
      Src: /src/mcl/test/vint_test.cpp:775,1
    - Dst: Unit
      Src: /src/mcl/test/vint_test.cpp:776,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:777,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:779,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:782,1
    - Dst: mcl::Vint::shl
      Src: /src/mcl/test/vint_test.cpp:785,1
    - Dst: mcl::Vint::pow
      Src: /src/mcl/test/vint_test.cpp:786,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:786,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:788,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:790,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:793,1
    - Dst: mcl::Vint::pow
      Src: /src/mcl/test/vint_test.cpp:797,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:797,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:799,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:802,1
    - Dst: mcl::Vint::shr
      Src: /src/mcl/test/vint_test.cpp:807,1
    - Dst: Unit
      Src: /src/mcl/test/vint_test.cpp:808,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:809,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:811,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:814,1
    - Dst: mcl::Vint::shr
      Src: /src/mcl/test/vint_test.cpp:818,1
    - Dst: mcl::Vint::pow
      Src: /src/mcl/test/vint_test.cpp:819,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:819,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:821,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:823,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:826,1
    - Dst: mcl::Vint::pow
      Src: /src/mcl/test/vint_test.cpp:830,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:830,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:832,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:835,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:840,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 842
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 842
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    - mcl::Vint::shl
    - mcl::Vint::pow
    - mcl::Vint::shr
    - Vint
    - Unit
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:848,1
    - Dst: Vint::getBitSize
      Src: /src/mcl/test/vint_test.cpp:848,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:850,1
    - Dst: Vint::getBitSize
      Src: /src/mcl/test/vint_test.cpp:850,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:852,1
    - Dst: Vint::getBitSize
      Src: /src/mcl/test/vint_test.cpp:852,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:857,1
    - Dst: Vint::getBitSize
      Src: /src/mcl/test/vint_test.cpp:857,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:859,1
    - Dst: Vint::getBitSize
      Src: /src/mcl/test/vint_test.cpp:859,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:861,1
    - Dst: Vint::getBitSize
      Src: /src/mcl/test/vint_test.cpp:861,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:863,1
    - Dst: Vint::getBitSize
      Src: /src/mcl/test/vint_test.cpp:863,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:873,1
    - Dst: Vint::getBitSize
      Src: /src/mcl/test/vint_test.cpp:873,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:878,1
    - Dst: Vint::getBitSize
      Src: /src/mcl/test/vint_test.cpp:878,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/vint_test.cpp:881,1
    - Dst: Vint::isZero
      Src: /src/mcl/test/vint_test.cpp:881,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:882,1
    - Dst: Vint::getBitSize
      Src: /src/mcl/test/vint_test.cpp:882,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/vint_test.cpp:888,1
    - Dst: getBitSize
      Src: /src/mcl/test/vint_test.cpp:888,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/vint_test.cpp:889,1
    - Dst: getBitSize
      Src: /src/mcl/test/vint_test.cpp:889,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/vint_test.cpp:890,1
    - Dst: getBitSize
      Src: /src/mcl/test/vint_test.cpp:890,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 892
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 892
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - Vint::isZero
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - getBitSize
    - Vint::getBitSize
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(getBitSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vint::setStr
      Src: /src/mcl/test/vint_test.cpp:897,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:907,1
    - Dst: Vint::getBitSize
      Src: /src/mcl/test/vint_test.cpp:907,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:909,1
    - Dst: Vint::testBit
      Src: /src/mcl/test/vint_test.cpp:909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 911
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 911
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - Vint::testBit
    - Vint::getBitSize
    - Vint::setStr
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vint::setStr
      Src: /src/mcl/test/vint_test.cpp:921,1
    - Dst: Vint::setStr
      Src: /src/mcl/test/vint_test.cpp:922,1
    - Dst: mcl::Vint::pow
      Src: /src/mcl/test/vint_test.cpp:927,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:931,1
    - Dst: mcl::Vint::quotRem
      Src: /src/mcl/test/vint_test.cpp:933,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 935
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 935
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::quotRem
    - Vint::setStr
    - mcl::Vint::pow
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(sample)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/vint_test.cpp:957,1
    - Dst: mcl::Vint::quotRem
      Src: /src/mcl/test/vint_test.cpp:966,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:967,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:968,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:969,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:970,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:971,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:972,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:973,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:974,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:975,1
    - Dst: mcl::Vint::quotRem
      Src: /src/mcl/test/vint_test.cpp:979,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:980,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:981,1
    - Dst: mcl::Vint::quotRem
      Src: /src/mcl/test/vint_test.cpp:984,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:985,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:986,1
    - Dst: mcl::Vint::quotRem
      Src: /src/mcl/test/vint_test.cpp:989,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:990,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:991,1
    - Dst: mcl::Vint::quotRem
      Src: /src/mcl/test/vint_test.cpp:994,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:995,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:996,1
    - Dst: mcl::Vint::quotRem
      Src: /src/mcl/test/vint_test.cpp:999,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1000,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1001,1
    - Dst: mcl::Vint::quotRem
      Src: /src/mcl/test/vint_test.cpp:1002,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1003,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1004,1
    - Dst: mcl::Vint::divMod
      Src: /src/mcl/test/vint_test.cpp:1009,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1010,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1011,1
    - Dst: mcl::Vint::divMod
      Src: /src/mcl/test/vint_test.cpp:1014,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1015,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1016,1
    - Dst: mcl::Vint::divMod
      Src: /src/mcl/test/vint_test.cpp:1019,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1020,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1021,1
    - Dst: mcl::Vint::divMod
      Src: /src/mcl/test/vint_test.cpp:1024,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1025,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1026,1
    - Dst: mcl::Vint::divMod
      Src: /src/mcl/test/vint_test.cpp:1029,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1030,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1031,1
    - Dst: mcl::Vint::divMod
      Src: /src/mcl/test/vint_test.cpp:1032,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1033,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1034,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1036,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1036,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1036,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1036,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1037,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1037,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1037,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1037,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1038,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1038,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1038,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1038,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1039,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1039,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1039,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1039,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1041,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1041,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1041,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1041,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1042,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1042,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1042,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1042,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1043,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1043,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1043,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1043,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1044,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1044,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1044,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1044,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1046,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1046,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1046,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1046,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1047,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1047,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1047,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1047,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1048,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1048,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1048,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1048,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1049,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1049,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1049,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1049,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1051,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1051,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1051,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1051,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1052,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1052,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1052,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1052,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1053,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1053,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1053,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1053,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1054,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1054,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1054,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1054,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1056,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1056,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1056,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1057,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1057,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1057,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1058,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1058,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1058,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1059,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1059,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1059,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/vint_test.cpp:1061,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1061,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1061,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/vint_test.cpp:1062,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1062,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1062,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/vint_test.cpp:1063,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1063,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1063,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/vint_test.cpp:1064,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1064,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1064,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/vint_test.cpp:1065,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1065,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1065,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/vint_test.cpp:1067,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1067,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1067,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/vint_test.cpp:1068,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1068,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1068,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/vint_test.cpp:1069,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1069,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1069,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/vint_test.cpp:1070,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1070,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1070,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/vint_test.cpp:1071,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1071,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1071,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/vint_test.cpp:1087,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1088,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1090,1
    - Dst: Vint::isNegative
      Src: /src/mcl/test/vint_test.cpp:1091,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1093,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 106
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 1097
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::Vint::divMod
    - Vint::isNegative
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - Vint
    - mcl::Vint::quotRem
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(Vint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vint::setStr
      Src: /src/mcl/test/vint_test.cpp:1102,1
    - Dst: setStr
      Src: /src/mcl/test/vint_test.cpp:1103,1
    - Dst: setStr
      Src: /src/mcl/test/vint_test.cpp:1104,1
    - Dst: mcl::Vint::sub
      Src: /src/mcl/test/vint_test.cpp:1105,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1106,1
    - Dst: Vint::setStr
      Src: /src/mcl/test/vint_test.cpp:1110,1
    - Dst: setStr
      Src: /src/mcl/test/vint_test.cpp:1111,1
    - Dst: setStr
      Src: /src/mcl/test/vint_test.cpp:1114,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1116
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - Vint::setStr
    - mcl::Vint::sub
    - setStr
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(add2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vint::setStr
      Src: /src/mcl/test/vint_test.cpp:1122,1
    - Dst: setStr
      Src: /src/mcl/test/vint_test.cpp:1123,1
    - Dst: std::ostringstream::str
      Src: /src/mcl/test/vint_test.cpp:1126,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1128,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1129,1
    - Dst: Vint::setStr
      Src: /src/mcl/test/vint_test.cpp:1133,1
    - Dst: setStr
      Src: /src/mcl/test/vint_test.cpp:1134,1
    - Dst: std::ostringstream::str
      Src: /src/mcl/test/vint_test.cpp:1137,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1139,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1140,1
    - Dst: Vint::setStr
      Src: /src/mcl/test/vint_test.cpp:1144,1
    - Dst: setStr
      Src: /src/mcl/test/vint_test.cpp:1145,1
    - Dst: std::ostringstream::str
      Src: /src/mcl/test/vint_test.cpp:1148,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1150,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1153
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - Vint::setStr
    - setStr
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1158,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1159,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1160,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1161,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1163,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1164,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1165,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1167
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(inc_dec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1173,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1175,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1177,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1179,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1181,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1183,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1185,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1187,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1189,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1192,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1196,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1198,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1200,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1202,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1204,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1207,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1209,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1212,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1214,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1217,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1219,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1222,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1225
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(withInt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::addu1
      Src: /src/mcl/test/vint_test.cpp:1230,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1231,1
    - Dst: mcl::Vint::subu1
      Src: /src/mcl/test/vint_test.cpp:1232,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1233,1
    - Dst: mcl::Vint::subu1
      Src: /src/mcl/test/vint_test.cpp:1234,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1235,1
    - Dst: mcl::Vint::addu1
      Src: /src/mcl/test/vint_test.cpp:1237,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1238,1
    - Dst: mcl::Vint::subu1
      Src: /src/mcl/test/vint_test.cpp:1239,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1240,1
    - Dst: mcl::Vint::addu1
      Src: /src/mcl/test/vint_test.cpp:1241,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1242,1
    - Dst: Vint::setStr
      Src: /src/mcl/test/vint_test.cpp:1244,1
    - Dst: mcl::Vint::subu1
      Src: /src/mcl/test/vint_test.cpp:1245,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1246,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1246,1
    - Dst: Vint::setStr
      Src: /src/mcl/test/vint_test.cpp:1247,1
    - Dst: mcl::Vint::addu1
      Src: /src/mcl/test/vint_test.cpp:1248,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1249,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1250
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::addu1
    - CYBOZU_TEST_EQUAL
    - Vint::setStr
    - mcl::Vint::subu1
    - Vint
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(addu1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::pow
      Src: /src/mcl/test/vint_test.cpp:1256,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1257,1
    - Dst: mcl::Vint::pow
      Src: /src/mcl/test/vint_test.cpp:1259,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1264
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::pow
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(pow)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::powMod
      Src: /src/mcl/test/vint_test.cpp:1271,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1272,1
    - Dst: mcl::Vint::powMod
      Src: /src/mcl/test/vint_test.cpp:1273,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1274,1
    - Dst: Vint::setStr
      Src: /src/mcl/test/vint_test.cpp:1276,1
    - Dst: Vint::setStr
      Src: /src/mcl/test/vint_test.cpp:1277,1
    - Dst: Vint::setStr
      Src: /src/mcl/test/vint_test.cpp:1278,1
    - Dst: mcl::Vint::powMod
      Src: /src/mcl/test/vint_test.cpp:1280,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1281,1
    - Dst: Vint::getStr
      Src: /src/mcl/test/vint_test.cpp:1281,1
    - Dst: mcl::Vint::powMod
      Src: /src/mcl/test/vint_test.cpp:1282,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1283,1
    - Dst: mcl::Vint::powMod
      Src: /src/mcl/test/vint_test.cpp:1284,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1285,1
    - Dst: Vint::getStr
      Src: /src/mcl/test/vint_test.cpp:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1286
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - Vint::setStr
    - Vint::getStr
    - mcl::Vint::powMod
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(powMod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1294,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1294,1
    - Dst: Vint::clear
      Src: /src/mcl/test/vint_test.cpp:1295,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1297,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1297,1
    - Dst: Vint::clear
      Src: /src/mcl/test/vint_test.cpp:1298,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1300,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1300,1
    - Dst: Vint::clear
      Src: /src/mcl/test/vint_test.cpp:1301,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1303,1
    - Dst: Vint
      Src: /src/mcl/test/vint_test.cpp:1303,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1310,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1315
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - Vint::clear
    - Vint
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(andOr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::invMod
      Src: /src/mcl/test/vint_test.cpp:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' p'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 1321
      start: 1317
    functionDepth: 1
    functionLinenumber: 1317
    functionLinenumberEnd: 1321
    functionName: invAndInc
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::invMod
    linkageType: ''
    returnType: void
    signature: void invAndInc(Vint& x, const Vint& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::invMod
      Src: /src/mcl/test/vint_test.cpp:1329,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1330,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/vint_test.cpp:1340,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/vint_test.cpp:1343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1346
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_BENCH_C
    - mcl::Vint::invMod
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(invMod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/vint_test.cpp:1366,1
    - Dst: IntSet::insert
      Src: /src/mcl/test/vint_test.cpp:1367,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1372,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/vint_test.cpp:1389,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1391,1
    - Dst: Vint::isPrime
      Src: /src/mcl/test/vint_test.cpp:1391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1348
    functionDepth: 1
    functionLinenumber: 1348
    functionLinenumberEnd: 1393
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - Vint::isPrime
    - IntSet::insert
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(isPrime)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::gcd
      Src: /src/mcl/test/vint_test.cpp:1400,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1401,1
    - Dst: mcl::Vint::lcm
      Src: /src/mcl/test/vint_test.cpp:1402,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1403,1
    - Dst: mcl::Vint::lcm
      Src: /src/mcl/test/vint_test.cpp:1404,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1405,1
    - Dst: mcl::Vint::lcm
      Src: /src/mcl/test/vint_test.cpp:1406,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1408
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::gcd
    - mcl::Vint::lcm
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(gcd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/vint_test.cpp:1425,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1429
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(jacobi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vint::setStr
      Src: /src/mcl/test/vint_test.cpp:1436,1
    - Dst: setStr
      Src: /src/mcl/test/vint_test.cpp:1437,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/vint_test.cpp:1440,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/vint_test.cpp:1441,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/vint_test.cpp:1442,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/vint_test.cpp:1443,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/vint_test.cpp:1463,1
    - Dst: Vint::setStr
      Src: /src/mcl/test/vint_test.cpp:1464,1
    - Dst: setStr
      Src: /src/mcl/test/vint_test.cpp:1465,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/vint_test.cpp:1466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1468
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_BENCH_C
    - Vint::setStr
    - setStr
    - CYBOZU_NUM_OF_ARRAY
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(bench)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - tbl
    - n
    argTypes:
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1475
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1475
    functionName: Seq
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Seq(const uint32_t *tbl, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 1486
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1486
    functionName: next
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 98
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool next(uint64_t *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Seq::next
      Src: /src/mcl/test/vint_test.cpp:1502,1
    - Dst: Seq::next
      Src: /src/mcl/test/vint_test.cpp:1506,1
    - Dst: Seq::next
      Src: /src/mcl/test/vint_test.cpp:1510,1
    - Dst: mcl::bint::mulUnit1
      Src: /src/mcl/test/vint_test.cpp:1512,1
    - Dst: mcl::bint::addUnit
      Src: /src/mcl/test/vint_test.cpp:1513,1
    - Dst: mcl::bint::divUnit1
      Src: /src/mcl/test/vint_test.cpp:1516,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1517,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/vint_test.cpp:1518,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1490
    functionDepth: 1
    functionLinenumber: 1490
    functionLinenumberEnd: 1522
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::bint::mulUnit1
    - CYBOZU_TEST_EQUAL
    - mcl::bint::addUnit
    - Seq::next
    - mcl::bint::divUnit1
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(divUnit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::copyN
      Src: /src/mcl/test/vint_test.cpp:1530,1
    - Dst: mcl::bint::div
      Src: /src/mcl/test/vint_test.cpp:1531,1
    - Dst: mcl::bint::mod_SECP256K1
      Src: /src/mcl/test/vint_test.cpp:1532,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/vint_test.cpp:1533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - x
    - (p)
    argTypes:
    - T*
    - T[]
    constantsTouched: []
    func_position:
      end: 1534
      start: 1526
    functionDepth: 1
    functionLinenumber: 1526
    functionLinenumberEnd: 1534
    functionName: compareMod
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::bint::mod_SECP256K1
    - mcl::bint::div
    - CYBOZU_TEST_EQUAL_ARRAY
    - mcl::bint::copyN
    linkageType: ''
    returnType: void
    signature: void compareMod(const T *x, const T (&p)[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Unit
      Src: /src/mcl/test/vint_test.cpp:1539,1
    - Dst: Unit
      Src: /src/mcl/test/vint_test.cpp:1541,1
    - Dst: Unit
      Src: /src/mcl/test/vint_test.cpp:1548,1
    - Dst: Unit
      Src: /src/mcl/test/vint_test.cpp:1548,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/vint_test.cpp:1555,1
    - Dst: compareMod
      Src: /src/mcl/test/vint_test.cpp:1557,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/vint_test.cpp:1559,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/vint_test.cpp:1562,1
    - Dst: rg
      Src: /src/mcl/test/vint_test.cpp:1563,1
    - Dst: compareMod
      Src: /src/mcl/test/vint_test.cpp:1565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1536
    functionDepth: 2
    functionLinenumber: 1536
    functionLinenumberEnd: 1567
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/vint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - compareMod
    - cybozu::XorShift::XorShift
    - rg
    - Unit
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(SECP256k1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/test/window_method_test.cpp:12,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/test/window_method_test.cpp:13,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/test/window_method_test.cpp:14,1
    - Dst: PW::mul
      Src: /src/mcl/test/window_method_test.cpp:26,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/window_method_test.cpp:27,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/window_method_test.cpp:28,1
    - Dst: PW::mul
      Src: /src/mcl/test/window_method_test.cpp:32,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/window_method_test.cpp:33,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/window_method_test.cpp:34,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/window_method_test.cpp:36,1
    - Dst: Fr::setMpz
      Src: /src/mcl/test/window_method_test.cpp:37,1
    - Dst: PW::mul
      Src: /src/mcl/test/window_method_test.cpp:38,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/window_method_test.cpp:39,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/window_method_test.cpp:40,1
    - Dst: PW::mul
      Src: /src/mcl/test/window_method_test.cpp:42,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/window_method_test.cpp:43,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/window_method_test.cpp:44,1
    - Dst: PW::mul
      Src: /src/mcl/test/window_method_test.cpp:46,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/window_method_test.cpp:47,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/window_method_test.cpp:48,1
    - Dst: PW::mul
      Src: /src/mcl/test/window_method_test.cpp:50,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/window_method_test.cpp:51,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/window_method_test.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 9
    functionDepth: 2
    functionLinenumber: 9
    functionLinenumberEnd: 53
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/window_method_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    - Fr::setMpz
    - Botan_Tests::test_x509_uninit
    - PW::mul
    - Fr::Fr
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(int)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/array_test.cpp:7,1
    - Dst: resize
      Src: /src/mcl/test/array_test.cpp:7,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - (tbl)
    argTypes:
    - Array
    - int[]
    constantsTouched: []
    func_position:
      end: 9
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 9
    functionName: setArray
    functionSourceFile: /src/mcl/test/array_test.cpp
    functionUses: 9
    functionsReached:
    - resize
    - CYBOZU_TEST_ASSERT
    linkageType: ''
    returnType: void
    signature: void setArray(Array& a, const int (&tbl)[n])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setArray
      Src: /src/mcl/test/array_test.cpp:15,1
    - Dst: setArray
      Src: /src/mcl/test/array_test.cpp:16,1
    - Dst: Array::swap
      Src: /src/mcl/test/array_test.cpp:17,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/array_test.cpp:18,1
    - Dst: Array::size
      Src: /src/mcl/test/array_test.cpp:18,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/array_test.cpp:19,1
    - Dst: size
      Src: /src/mcl/test/array_test.cpp:19,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/array_test.cpp:20,1
    - Dst: Array::size
      Src: /src/mcl/test/array_test.cpp:20,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/array_test.cpp:21,1
    - Dst: size
      Src: /src/mcl/test/array_test.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - (a)
    - (b)
    argTypes:
    - int[]
    - int[]
    constantsTouched: []
    func_position:
      end: 22
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 22
    functionName: swapTest
    functionSourceFile: /src/mcl/test/array_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - setArray
    - CYBOZU_TEST_EQUAL
    - Array::size
    - size
    - Array::swap
    linkageType: ''
    returnType: void
    signature: void swapTest(const int (&a)[an], const int (&b)[bn])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Array::Array
      Src: /src/mcl/test/array_test.cpp:26,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/array_test.cpp:27,1
    - Dst: mcl::Array::size
      Src: /src/mcl/test/array_test.cpp:27,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/array_test.cpp:28,1
    - Dst: size
      Src: /src/mcl/test/array_test.cpp:28,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/array_test.cpp:32,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/array_test.cpp:33,1
    - Dst: mcl::Array::size
      Src: /src/mcl/test/array_test.cpp:33,1
    - Dst: copy
      Src: /src/mcl/test/array_test.cpp:37,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/array_test.cpp:38,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/array_test.cpp:39,1
    - Dst: size
      Src: /src/mcl/test/array_test.cpp:39,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/array_test.cpp:40,1
    - Dst: mcl::Array::data
      Src: /src/mcl/test/array_test.cpp:40,1
    - Dst: data
      Src: /src/mcl/test/array_test.cpp:40,1
    - Dst: resize
      Src: /src/mcl/test/array_test.cpp:43,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/array_test.cpp:44,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/array_test.cpp:45,1
    - Dst: size
      Src: /src/mcl/test/array_test.cpp:45,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/array_test.cpp:46,1
    - Dst: mcl::Array::data
      Src: /src/mcl/test/array_test.cpp:46,1
    - Dst: data
      Src: /src/mcl/test/array_test.cpp:46,1
    - Dst: resize
      Src: /src/mcl/test/array_test.cpp:48,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/array_test.cpp:49,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/array_test.cpp:50,1
    - Dst: size
      Src: /src/mcl/test/array_test.cpp:50,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/array_test.cpp:51,1
    - Dst: mcl::Array::data
      Src: /src/mcl/test/array_test.cpp:51,1
    - Dst: data
      Src: /src/mcl/test/array_test.cpp:51,1
    - Dst: swapTest
      Src: /src/mcl/test/array_test.cpp:55,1
    - Dst: swapTest
      Src: /src/mcl/test/array_test.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 57
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/array_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - mcl::Array::data
    - CYBOZU_TEST_ASSERT
    - swapTest
    - mcl::Array::size
    - CYBOZU_TEST_EQUAL
    - copy
    - data
    - size
    - resize
    - mcl::Array::Array
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(resize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FixedArray::FixedArray
      Src: /src/mcl/test/array_test.cpp:62,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/array_test.cpp:63,1
    - Dst: mcl::FixedArray::size
      Src: /src/mcl/test/array_test.cpp:63,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/array_test.cpp:64,1
    - Dst: size
      Src: /src/mcl/test/array_test.cpp:64,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/array_test.cpp:67,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/array_test.cpp:68,1
    - Dst: mcl::FixedArray::size
      Src: /src/mcl/test/array_test.cpp:68,1
    - Dst: copy
      Src: /src/mcl/test/array_test.cpp:72,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/array_test.cpp:73,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/array_test.cpp:74,1
    - Dst: size
      Src: /src/mcl/test/array_test.cpp:74,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/array_test.cpp:75,1
    - Dst: mcl::FixedArray::data
      Src: /src/mcl/test/array_test.cpp:75,1
    - Dst: data
      Src: /src/mcl/test/array_test.cpp:75,1
    - Dst: resize
      Src: /src/mcl/test/array_test.cpp:78,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/array_test.cpp:79,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/array_test.cpp:80,1
    - Dst: size
      Src: /src/mcl/test/array_test.cpp:80,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/array_test.cpp:81,1
    - Dst: mcl::FixedArray::data
      Src: /src/mcl/test/array_test.cpp:81,1
    - Dst: data
      Src: /src/mcl/test/array_test.cpp:81,1
    - Dst: resize
      Src: /src/mcl/test/array_test.cpp:83,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/array_test.cpp:84,1
    - Dst: swapTest
      Src: /src/mcl/test/array_test.cpp:88,1
    - Dst: swapTest
      Src: /src/mcl/test/array_test.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 90
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/array_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - CYBOZU_TEST_ASSERT
    - swapTest
    - CYBOZU_TEST_EQUAL
    - copy
    - data
    - mcl::FixedArray::size
    - size
    - resize
    - mcl::FixedArray::data
    - mcl::FixedArray::FixedArray
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(FixedArray)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Array::Array
      Src: /src/mcl/test/array_test.cpp:97,1
    - Dst: setArray
      Src: /src/mcl/test/array_test.cpp:98,1
    - Dst: setArray
      Src: /src/mcl/test/array_test.cpp:99,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/array_test.cpp:101,1
    - Dst: mcl::Array::size
      Src: /src/mcl/test/array_test.cpp:101,1
    - Dst: size
      Src: /src/mcl/test/array_test.cpp:101,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/array_test.cpp:102,1
    - Dst: mcl::Array::data
      Src: /src/mcl/test/array_test.cpp:102,1
    - Dst: data
      Src: /src/mcl/test/array_test.cpp:102,1
    - Dst: mcl::Array::size
      Src: /src/mcl/test/array_test.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/array_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - mcl::Array::data
    - setArray
    - mcl::Array::size
    - CYBOZU_TEST_EQUAL
    - data
    - size
    - mcl::Array::Array
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(assign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/she_c_test.hpp:22,1
    - Dst: sheInit
      Src: /src/mcl/test/she_c_test.hpp:23,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:24,1
    - Dst: sheSetRangeForDLP
      Src: /src/mcl/test/she_c_test.hpp:25,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:26,1
    - Dst: sheSetTryNum
      Src: /src/mcl/test/she_c_test.hpp:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 28
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - printf
    - CYBOZU_TEST_EQUAL
    - sheInit
    - sheSetRangeForDLP
    - sheSetTryNum
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(init)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sheSecretKeySetByCSPRNG
      Src: /src/mcl/test/she_c_test.hpp:33,1
    - Dst: sheGetPublicKey
      Src: /src/mcl/test/she_c_test.hpp:35,1
    - Dst: sheEncG1
      Src: /src/mcl/test/she_c_test.hpp:41,1
    - Dst: sheEncG2
      Src: /src/mcl/test/she_c_test.hpp:42,1
    - Dst: sheEncGT
      Src: /src/mcl/test/she_c_test.hpp:43,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:46,1
    - Dst: sheDecG1
      Src: /src/mcl/test/she_c_test.hpp:46,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:47,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:49,1
    - Dst: sheDecG1ViaGT
      Src: /src/mcl/test/she_c_test.hpp:49,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:50,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:52,1
    - Dst: sheDecG2
      Src: /src/mcl/test/she_c_test.hpp:52,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:53,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:55,1
    - Dst: sheDecG2ViaGT
      Src: /src/mcl/test/she_c_test.hpp:55,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:56,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:58,1
    - Dst: sheDecGT
      Src: /src/mcl/test/she_c_test.hpp:58,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:59,1
    - Dst: sheEncG1
      Src: /src/mcl/test/she_c_test.hpp:63,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:64,1
    - Dst: sheDecG1
      Src: /src/mcl/test/she_c_test.hpp:64,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:65,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:66,1
    - Dst: sheIsZeroG1
      Src: /src/mcl/test/she_c_test.hpp:66,1
    - Dst: sheEncG2
      Src: /src/mcl/test/she_c_test.hpp:68,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:69,1
    - Dst: sheDecG2
      Src: /src/mcl/test/she_c_test.hpp:69,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:70,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:71,1
    - Dst: sheIsZeroG2
      Src: /src/mcl/test/she_c_test.hpp:71,1
    - Dst: sheEncGT
      Src: /src/mcl/test/she_c_test.hpp:73,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:74,1
    - Dst: sheDecGT
      Src: /src/mcl/test/she_c_test.hpp:74,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:75,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:76,1
    - Dst: sheIsZeroGT
      Src: /src/mcl/test/she_c_test.hpp:76,1
    - Dst: sheEncG1
      Src: /src/mcl/test/she_c_test.hpp:80,1
    - Dst: sheMulG1
      Src: /src/mcl/test/she_c_test.hpp:81,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:82,1
    - Dst: sheDecG1
      Src: /src/mcl/test/she_c_test.hpp:82,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:83,1
    - Dst: sheEncG2
      Src: /src/mcl/test/she_c_test.hpp:85,1
    - Dst: sheMulG2
      Src: /src/mcl/test/she_c_test.hpp:86,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:87,1
    - Dst: sheDecG2
      Src: /src/mcl/test/she_c_test.hpp:87,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:88,1
    - Dst: sheEncGT
      Src: /src/mcl/test/she_c_test.hpp:90,1
    - Dst: sheMulGT
      Src: /src/mcl/test/she_c_test.hpp:91,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:92,1
    - Dst: sheDecGT
      Src: /src/mcl/test/she_c_test.hpp:92,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 95
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - sheDecG1ViaGT
    - sheIsZeroG2
    - sheEncG2
    - sheIsZeroG1
    - CYBOZU_TEST_EQUAL
    - sheMulG2
    - sheEncG1
    - sheDecG2ViaGT
    - sheDecGT
    - sheMulG1
    - sheSecretKeySetByCSPRNG
    - sheDecG1
    - sheMulGT
    - sheDecG2
    - sheGetPublicKey
    - sheIsZeroGT
    - sheEncGT
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(encDec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sheSecretKeySetByCSPRNG
      Src: /src/mcl/test/she_c_test.hpp:100,1
    - Dst: sheGetPublicKey
      Src: /src/mcl/test/she_c_test.hpp:102,1
    - Dst: sheEncG1
      Src: /src/mcl/test/she_c_test.hpp:109,1
    - Dst: sheEncG2
      Src: /src/mcl/test/she_c_test.hpp:110,1
    - Dst: sheMul
      Src: /src/mcl/test/she_c_test.hpp:111,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:114,1
    - Dst: sheDecGT
      Src: /src/mcl/test/she_c_test.hpp:114,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 116
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - sheEncG2
    - CYBOZU_TEST_EQUAL
    - sheEncG1
    - sheDecGT
    - sheSecretKeySetByCSPRNG
    - sheMul
    - sheGetPublicKey
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(addMul)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sheSecretKeySetByCSPRNG
      Src: /src/mcl/test/she_c_test.hpp:121,1
    - Dst: sheGetPublicKey
      Src: /src/mcl/test/she_c_test.hpp:123,1
    - Dst: sheEncG1
      Src: /src/mcl/test/she_c_test.hpp:134,1
    - Dst: sheNegG1
      Src: /src/mcl/test/she_c_test.hpp:135,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:136,1
    - Dst: sheDecG1
      Src: /src/mcl/test/she_c_test.hpp:136,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:137,1
    - Dst: sheEncG1
      Src: /src/mcl/test/she_c_test.hpp:139,1
    - Dst: sheSubG1
      Src: /src/mcl/test/she_c_test.hpp:140,1
    - Dst: sheMulG1
      Src: /src/mcl/test/she_c_test.hpp:141,1
    - Dst: sheEncG2
      Src: /src/mcl/test/she_c_test.hpp:143,1
    - Dst: sheNegG2
      Src: /src/mcl/test/she_c_test.hpp:144,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:145,1
    - Dst: sheDecG2
      Src: /src/mcl/test/she_c_test.hpp:145,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:146,1
    - Dst: sheEncG2
      Src: /src/mcl/test/she_c_test.hpp:147,1
    - Dst: sheSubG2
      Src: /src/mcl/test/she_c_test.hpp:148,1
    - Dst: sheMulG2
      Src: /src/mcl/test/she_c_test.hpp:149,1
    - Dst: sheMul
      Src: /src/mcl/test/she_c_test.hpp:150,1
    - Dst: sheAddGT
      Src: /src/mcl/test/she_c_test.hpp:151,1
    - Dst: sheMulGT
      Src: /src/mcl/test/she_c_test.hpp:152,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:155,1
    - Dst: sheDecGT
      Src: /src/mcl/test/she_c_test.hpp:155,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:156,1
    - Dst: sheNegGT
      Src: /src/mcl/test/she_c_test.hpp:159,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:160,1
    - Dst: sheDecGT
      Src: /src/mcl/test/she_c_test.hpp:160,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 162
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - sheEncG2
    - CYBOZU_TEST_EQUAL
    - sheMulG2
    - sheNegG1
    - sheEncG1
    - sheSubG1
    - sheNegG2
    - sheAddGT
    - sheMulG1
    - sheSecretKeySetByCSPRNG
    - sheDecG1
    - sheSubG2
    - sheMulGT
    - sheDecGT
    - sheNegGT
    - sheDecG2
    - sheMul
    - sheGetPublicKey
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(allOp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sheSecretKeySetByCSPRNG
      Src: /src/mcl/test/she_c_test.hpp:167,1
    - Dst: sheGetPublicKey
      Src: /src/mcl/test/she_c_test.hpp:169,1
    - Dst: sheEncG1
      Src: /src/mcl/test/she_c_test.hpp:177,1
    - Dst: sheReRandG1
      Src: /src/mcl/test/she_c_test.hpp:178,1
    - Dst: sheEncG2
      Src: /src/mcl/test/she_c_test.hpp:180,1
    - Dst: sheReRandG2
      Src: /src/mcl/test/she_c_test.hpp:181,1
    - Dst: sheEncGT
      Src: /src/mcl/test/she_c_test.hpp:183,1
    - Dst: sheReRandGT
      Src: /src/mcl/test/she_c_test.hpp:184,1
    - Dst: sheMul
      Src: /src/mcl/test/she_c_test.hpp:186,1
    - Dst: sheReRandGT
      Src: /src/mcl/test/she_c_test.hpp:187,1
    - Dst: sheAddGT
      Src: /src/mcl/test/she_c_test.hpp:188,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:191,1
    - Dst: sheDecGT
      Src: /src/mcl/test/she_c_test.hpp:191,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 193
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - sheReRandG1
    - sheEncG2
    - sheAddGT
    - CYBOZU_TEST_EQUAL
    - sheEncG1
    - sheDecGT
    - sheSecretKeySetByCSPRNG
    - sheMul
    - sheGetPublicKey
    - sheReRandG2
    - sheReRandGT
    - sheEncGT
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(rerand)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sheSecretKeySetByCSPRNG
      Src: /src/mcl/test/she_c_test.hpp:198,1
    - Dst: sheGetPublicKey
      Src: /src/mcl/test/she_c_test.hpp:200,1
    - Dst: sheSecretKeySerialize
      Src: /src/mcl/test/she_c_test.hpp:209,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:210,1
    - Dst: sheSecretKeyDeserialize
      Src: /src/mcl/test/she_c_test.hpp:211,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:212,1
    - Dst: sheSecretKeySerialize
      Src: /src/mcl/test/she_c_test.hpp:213,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:214,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/she_c_test.hpp:215,1
    - Dst: shePublicKeySerialize
      Src: /src/mcl/test/she_c_test.hpp:218,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:219,1
    - Dst: shePublicKeyDeserialize
      Src: /src/mcl/test/she_c_test.hpp:220,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:221,1
    - Dst: shePublicKeySerialize
      Src: /src/mcl/test/she_c_test.hpp:222,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:223,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/she_c_test.hpp:224,1
    - Dst: sheEncG1
      Src: /src/mcl/test/she_c_test.hpp:230,1
    - Dst: sheEncG2
      Src: /src/mcl/test/she_c_test.hpp:231,1
    - Dst: sheEncGT
      Src: /src/mcl/test/she_c_test.hpp:232,1
    - Dst: sheCipherTextG1Serialize
      Src: /src/mcl/test/she_c_test.hpp:235,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:236,1
    - Dst: sheCipherTextG1Deserialize
      Src: /src/mcl/test/she_c_test.hpp:237,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:238,1
    - Dst: sheCipherTextG1Serialize
      Src: /src/mcl/test/she_c_test.hpp:239,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:240,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/she_c_test.hpp:241,1
    - Dst: sheCipherTextG2Serialize
      Src: /src/mcl/test/she_c_test.hpp:244,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:245,1
    - Dst: sheCipherTextG2Deserialize
      Src: /src/mcl/test/she_c_test.hpp:246,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:247,1
    - Dst: sheCipherTextG2Serialize
      Src: /src/mcl/test/she_c_test.hpp:248,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:249,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/she_c_test.hpp:250,1
    - Dst: sheCipherTextGTSerialize
      Src: /src/mcl/test/she_c_test.hpp:253,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:254,1
    - Dst: sheCipherTextGTDeserialize
      Src: /src/mcl/test/she_c_test.hpp:255,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:256,1
    - Dst: sheCipherTextGTSerialize
      Src: /src/mcl/test/she_c_test.hpp:257,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:258,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/she_c_test.hpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 260
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - sheCipherTextG1Deserialize
    - sheEncG2
    - sheSecretKeySerialize
    - sheCipherTextG1Serialize
    - CYBOZU_TEST_EQUAL
    - shePublicKeySerialize
    - sheCipherTextG2Deserialize
    - sheEncG1
    - sheSecretKeySetByCSPRNG
    - sheSecretKeyDeserialize
    - shePublicKeyDeserialize
    - sheCipherTextGTSerialize
    - sheCipherTextG2Serialize
    - sheGetPublicKey
    - sheCipherTextGTDeserialize
    - sheEncGT
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(serialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sheSecretKeySetByCSPRNG
      Src: /src/mcl/test/she_c_test.hpp:265,1
    - Dst: sheGetPublicKey
      Src: /src/mcl/test/she_c_test.hpp:267,1
    - Dst: sheEncG1
      Src: /src/mcl/test/she_c_test.hpp:272,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:273,1
    - Dst: sheDecG1
      Src: /src/mcl/test/she_c_test.hpp:273,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:274,1
    - Dst: sheConvertG1
      Src: /src/mcl/test/she_c_test.hpp:275,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:277,1
    - Dst: sheDecGT
      Src: /src/mcl/test/she_c_test.hpp:277,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:278,1
    - Dst: sheEncG2
      Src: /src/mcl/test/she_c_test.hpp:281,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:282,1
    - Dst: sheDecG2
      Src: /src/mcl/test/she_c_test.hpp:282,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:283,1
    - Dst: sheConvertG2
      Src: /src/mcl/test/she_c_test.hpp:284,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:286,1
    - Dst: sheDecGT
      Src: /src/mcl/test/she_c_test.hpp:286,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 288
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - sheConvertG2
    - sheEncG2
    - CYBOZU_TEST_EQUAL
    - sheEncG1
    - sheDecGT
    - sheDecG1
    - sheSecretKeySetByCSPRNG
    - sheConvertG1
    - sheDecG2
    - sheGetPublicKey
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(convert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sheSecretKeySetByCSPRNG
      Src: /src/mcl/test/she_c_test.hpp:293,1
    - Dst: sheGetPublicKey
      Src: /src/mcl/test/she_c_test.hpp:295,1
    - Dst: shePrecomputedPublicKeyCreate
      Src: /src/mcl/test/she_c_test.hpp:296,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:297,1
    - Dst: shePrecomputedPublicKeyInit
      Src: /src/mcl/test/she_c_test.hpp:297,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:303,1
    - Dst: shePrecomputedPublicKeyEncG1
      Src: /src/mcl/test/she_c_test.hpp:303,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:304,1
    - Dst: sheDecG1
      Src: /src/mcl/test/she_c_test.hpp:304,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:305,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:307,1
    - Dst: shePrecomputedPublicKeyEncG2
      Src: /src/mcl/test/she_c_test.hpp:307,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:308,1
    - Dst: sheDecG2
      Src: /src/mcl/test/she_c_test.hpp:308,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:309,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:311,1
    - Dst: shePrecomputedPublicKeyEncGT
      Src: /src/mcl/test/she_c_test.hpp:311,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:312,1
    - Dst: sheDecGT
      Src: /src/mcl/test/she_c_test.hpp:312,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:313,1
    - Dst: shePrecomputedPublicKeyDestroy
      Src: /src/mcl/test/she_c_test.hpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 316
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - shePrecomputedPublicKeyEncG1
    - CYBOZU_TEST_EQUAL
    - shePrecomputedPublicKeyEncGT
    - shePrecomputedPublicKeyInit
    - sheDecGT
    - sheSecretKeySetByCSPRNG
    - sheDecG1
    - shePrecomputedPublicKeyEncG2
    - sheDecG2
    - sheGetPublicKey
    - shePrecomputedPublicKeyDestroy
    - shePrecomputedPublicKeyCreate
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(precomputed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:324,1
    - Dst: encWithZkp
      Src: /src/mcl/test/she_c_test.hpp:324,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:326,1
    - Dst: dec
      Src: /src/mcl/test/she_c_test.hpp:326,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:327,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:328,1
    - Dst: verify
      Src: /src/mcl/test/she_c_test.hpp:328,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:332,1
    - Dst: mclBn_getFrByteSize
      Src: /src/mcl/test/she_c_test.hpp:332,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/she_c_test.hpp:332,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:335,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:336,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/she_c_test.hpp:337,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_c_test.hpp:338,1
    - Dst: mclBnFr_isEqual
      Src: /src/mcl/test/she_c_test.hpp:338,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:342,1
    - Dst: verify
      Src: /src/mcl/test/she_c_test.hpp:342,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_c_test.hpp:344,1
    - Dst: encWithZkp
      Src: /src/mcl/test/she_c_test.hpp:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - sec
    - pub
    - encWithZkp
    - dec
    - verify
    argTypes:
    - sheSecretKey*
    - PK*
    - encWithZkpFunc
    - decFunc
    - verifyFunc
    constantsTouched: []
    func_position:
      end: 345
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 345
    functionName: ZkpBinTest
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - verify
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - mclBn_getFrByteSize
    - dec
    - mclBnFr_isEqual
    - encWithZkp
    linkageType: ''
    returnType: void
    signature: void ZkpBinTest(const sheSecretKey *sec, const PK *pub, encWithZkpFunc
      encWithZkp, decFunc dec, verifyFunc verify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:357,1
    - Dst: encWithZkp
      Src: /src/mcl/test/she_c_test.hpp:357,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:359,1
    - Dst: dec
      Src: /src/mcl/test/she_c_test.hpp:359,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:360,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:361,1
    - Dst: verify
      Src: /src/mcl/test/she_c_test.hpp:361,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:366,1
    - Dst: mclBn_getFrByteSize
      Src: /src/mcl/test/she_c_test.hpp:366,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/she_c_test.hpp:366,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:369,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:370,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/she_c_test.hpp:371,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_c_test.hpp:372,1
    - Dst: mclBnFr_isEqual
      Src: /src/mcl/test/she_c_test.hpp:372,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:377,1
    - Dst: verify
      Src: /src/mcl/test/she_c_test.hpp:377,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_c_test.hpp:379,1
    - Dst: encWithZkp
      Src: /src/mcl/test/she_c_test.hpp:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - sec
    - pub
    - encWithZkp
    - dec
    - verify
    argTypes:
    - sheSecretKey*
    - PK*
    - encWithZkpFunc
    - decFunc
    - verifyFunc
    constantsTouched: []
    func_position:
      end: 381
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 381
    functionName: ZkpSetTest
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - verify
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - mclBn_getFrByteSize
    - dec
    - mclBnFr_isEqual
    - encWithZkp
    linkageType: ''
    returnType: void
    signature: void ZkpSetTest(const sheSecretKey *sec, const PK *pub, encWithZkpFunc
      encWithZkp, decFunc dec, verifyFunc verify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sheSecretKeySetByCSPRNG
      Src: /src/mcl/test/she_c_test.hpp:386,1
    - Dst: sheGetPublicKey
      Src: /src/mcl/test/she_c_test.hpp:388,1
    - Dst: shePrecomputedPublicKeyCreate
      Src: /src/mcl/test/she_c_test.hpp:390,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:391,1
    - Dst: shePrecomputedPublicKeyInit
      Src: /src/mcl/test/she_c_test.hpp:391,1
    - Dst: ZkpSetTest
      Src: /src/mcl/test/she_c_test.hpp:393,1
    - Dst: ZkpSetTest
      Src: /src/mcl/test/she_c_test.hpp:394,1
    - Dst: shePrecomputedPublicKeyDestroy
      Src: /src/mcl/test/she_c_test.hpp:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 397
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - ZkpSetTest
    - CYBOZU_TEST_EQUAL
    - shePrecomputedPublicKeyInit
    - sheSecretKeySetByCSPRNG
    - sheGetPublicKey
    - shePrecomputedPublicKeyDestroy
    - shePrecomputedPublicKeyCreate
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(ZkpSet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sheSecretKeySetByCSPRNG
      Src: /src/mcl/test/she_c_test.hpp:402,1
    - Dst: sheGetPublicKey
      Src: /src/mcl/test/she_c_test.hpp:404,1
    - Dst: ZkpBinTest
      Src: /src/mcl/test/she_c_test.hpp:406,1
    - Dst: ZkpBinTest
      Src: /src/mcl/test/she_c_test.hpp:407,1
    - Dst: shePrecomputedPublicKeyCreate
      Src: /src/mcl/test/she_c_test.hpp:409,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:410,1
    - Dst: shePrecomputedPublicKeyInit
      Src: /src/mcl/test/she_c_test.hpp:410,1
    - Dst: ZkpBinTest
      Src: /src/mcl/test/she_c_test.hpp:412,1
    - Dst: ZkpBinTest
      Src: /src/mcl/test/she_c_test.hpp:413,1
    - Dst: shePrecomputedPublicKeyDestroy
      Src: /src/mcl/test/she_c_test.hpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 416
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    - shePrecomputedPublicKeyInit
    - sheSecretKeySetByCSPRNG
    - sheGetPublicKey
    - ZkpBinTest
    - shePrecomputedPublicKeyDestroy
    - shePrecomputedPublicKeyCreate
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(ZkpBin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:425,1
    - Dst: encWithZkp
      Src: /src/mcl/test/she_c_test.hpp:425,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:427,1
    - Dst: sheDecG1
      Src: /src/mcl/test/she_c_test.hpp:427,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:428,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:430,1
    - Dst: sheDecG2
      Src: /src/mcl/test/she_c_test.hpp:430,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:431,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:432,1
    - Dst: verify
      Src: /src/mcl/test/she_c_test.hpp:432,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:436,1
    - Dst: mclBn_getFrByteSize
      Src: /src/mcl/test/she_c_test.hpp:436,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/she_c_test.hpp:436,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:439,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/she_c_test.hpp:440,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_c_test.hpp:441,1
    - Dst: mclBnFr_isEqual
      Src: /src/mcl/test/she_c_test.hpp:441,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:445,1
    - Dst: verify
      Src: /src/mcl/test/she_c_test.hpp:445,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_c_test.hpp:447,1
    - Dst: encWithZkp
      Src: /src/mcl/test/she_c_test.hpp:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - sec
    - pub
    - encWithZkp
    - verify
    argTypes:
    - sheSecretKey*
    - PK*
    - encWithZkpFunc
    - verifyFunc
    constantsTouched: []
    func_position:
      end: 448
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 448
    functionName: ZkpBinEqTest
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - verify
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - mclBn_getFrByteSize
    - sheDecG1
    - sheDecG2
    - mclBnFr_isEqual
    - encWithZkp
    linkageType: ''
    returnType: void
    signature: void ZkpBinEqTest(const sheSecretKey *sec, const PK *pub, encWithZkpFunc
      encWithZkp, verifyFunc verify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sheSecretKeySetByCSPRNG
      Src: /src/mcl/test/she_c_test.hpp:453,1
    - Dst: sheGetPublicKey
      Src: /src/mcl/test/she_c_test.hpp:455,1
    - Dst: ZkpBinEqTest
      Src: /src/mcl/test/she_c_test.hpp:457,1
    - Dst: shePrecomputedPublicKeyCreate
      Src: /src/mcl/test/she_c_test.hpp:459,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:460,1
    - Dst: shePrecomputedPublicKeyInit
      Src: /src/mcl/test/she_c_test.hpp:460,1
    - Dst: ZkpBinEqTest
      Src: /src/mcl/test/she_c_test.hpp:462,1
    - Dst: shePrecomputedPublicKeyDestroy
      Src: /src/mcl/test/she_c_test.hpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 465
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - ZkpBinEqTest
    - CYBOZU_TEST_EQUAL
    - shePrecomputedPublicKeyInit
    - sheSecretKeySetByCSPRNG
    - sheGetPublicKey
    - shePrecomputedPublicKeyDestroy
    - shePrecomputedPublicKeyCreate
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(ZkpBinEq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:474,1
    - Dst: encWithZkp
      Src: /src/mcl/test/she_c_test.hpp:474,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:476,1
    - Dst: sheDecG1
      Src: /src/mcl/test/she_c_test.hpp:476,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:477,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:479,1
    - Dst: sheDecG2
      Src: /src/mcl/test/she_c_test.hpp:479,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:480,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:481,1
    - Dst: verify
      Src: /src/mcl/test/she_c_test.hpp:481,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:485,1
    - Dst: mclBn_getFrByteSize
      Src: /src/mcl/test/she_c_test.hpp:485,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/she_c_test.hpp:485,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:488,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/she_c_test.hpp:489,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_c_test.hpp:490,1
    - Dst: mclBnFr_isEqual
      Src: /src/mcl/test/she_c_test.hpp:490,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:494,1
    - Dst: verify
      Src: /src/mcl/test/she_c_test.hpp:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - sec
    - pub
    - encWithZkp
    - verify
    argTypes:
    - sheSecretKey*
    - PK*
    - encWithZkpFunc
    - verifyFunc
    constantsTouched: []
    func_position:
      end: 496
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 496
    functionName: ZkpEqTest
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - verify
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - mclBn_getFrByteSize
    - sheDecG1
    - sheDecG2
    - mclBnFr_isEqual
    - encWithZkp
    linkageType: ''
    returnType: void
    signature: void ZkpEqTest(const sheSecretKey *sec, const PK *pub, encWithZkpFunc
      encWithZkp, verifyFunc verify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sheSecretKeySetByCSPRNG
      Src: /src/mcl/test/she_c_test.hpp:501,1
    - Dst: sheGetPublicKey
      Src: /src/mcl/test/she_c_test.hpp:503,1
    - Dst: sheEncG1
      Src: /src/mcl/test/she_c_test.hpp:506,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:509,1
    - Dst: sheDecWithZkpDecG1
      Src: /src/mcl/test/she_c_test.hpp:509,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:510,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:511,1
    - Dst: sheVerifyZkpDecG1
      Src: /src/mcl/test/she_c_test.hpp:511,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:512,1
    - Dst: sheVerifyZkpDecG1
      Src: /src/mcl/test/she_c_test.hpp:512,1
    - Dst: sheEncG1
      Src: /src/mcl/test/she_c_test.hpp:514,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:515,1
    - Dst: sheVerifyZkpDecG1
      Src: /src/mcl/test/she_c_test.hpp:515,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:517,1
    - Dst: sheVerifyZkpDecG1
      Src: /src/mcl/test/she_c_test.hpp:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 518
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 518
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - sheDecWithZkpDecG1
    - CYBOZU_TEST_EQUAL
    - sheEncG1
    - sheSecretKeySetByCSPRNG
    - sheGetPublicKey
    - sheVerifyZkpDecG1
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(ZkpDecG1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sheSecretKeySetByCSPRNG
      Src: /src/mcl/test/she_c_test.hpp:523,1
    - Dst: sheGetPublicKey
      Src: /src/mcl/test/she_c_test.hpp:525,1
    - Dst: sheGetAuxiliaryForZkpDecGT
      Src: /src/mcl/test/she_c_test.hpp:527,1
    - Dst: sheEncGT
      Src: /src/mcl/test/she_c_test.hpp:530,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:533,1
    - Dst: sheDecWithZkpDecGT
      Src: /src/mcl/test/she_c_test.hpp:533,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:534,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:535,1
    - Dst: sheVerifyZkpDecGT
      Src: /src/mcl/test/she_c_test.hpp:535,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:536,1
    - Dst: sheVerifyZkpDecGT
      Src: /src/mcl/test/she_c_test.hpp:536,1
    - Dst: sheEncGT
      Src: /src/mcl/test/she_c_test.hpp:538,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:539,1
    - Dst: sheVerifyZkpDecGT
      Src: /src/mcl/test/she_c_test.hpp:539,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:541,1
    - Dst: sheVerifyZkpDecGT
      Src: /src/mcl/test/she_c_test.hpp:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 542
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 542
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - sheGetAuxiliaryForZkpDecGT
    - CYBOZU_TEST_EQUAL
    - sheDecWithZkpDecGT
    - sheSecretKeySetByCSPRNG
    - sheVerifyZkpDecGT
    - sheGetPublicKey
    - sheEncGT
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(ZkpDecGT)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sheSecretKeySetByCSPRNG
      Src: /src/mcl/test/she_c_test.hpp:547,1
    - Dst: sheGetPublicKey
      Src: /src/mcl/test/she_c_test.hpp:549,1
    - Dst: ZkpEqTest
      Src: /src/mcl/test/she_c_test.hpp:551,1
    - Dst: shePrecomputedPublicKeyCreate
      Src: /src/mcl/test/she_c_test.hpp:553,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:554,1
    - Dst: shePrecomputedPublicKeyInit
      Src: /src/mcl/test/she_c_test.hpp:554,1
    - Dst: ZkpEqTest
      Src: /src/mcl/test/she_c_test.hpp:556,1
    - Dst: shePrecomputedPublicKeyDestroy
      Src: /src/mcl/test/she_c_test.hpp:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 559
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    - shePrecomputedPublicKeyInit
    - ZkpEqTest
    - sheSecretKeySetByCSPRNG
    - sheGetPublicKey
    - shePrecomputedPublicKeyDestroy
    - shePrecomputedPublicKeyCreate
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(ZkpEq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encv
      Src: /src/mcl/test/she_c_test.hpp:566,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:567,1
    - Dst: enc
      Src: /src/mcl/test/she_c_test.hpp:569,1
    - Dst: mul
      Src: /src/mcl/test/she_c_test.hpp:570,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:571,1
    - Dst: sub
      Src: /src/mcl/test/she_c_test.hpp:572,1
    - Dst: dec
      Src: /src/mcl/test/she_c_test.hpp:574,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:575,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 9
    argNames:
    - ' sec'
    - ' pub'
    - ' enc'
    - ' encv'
    - ' dec'
    - ' sub'
    - ' mul'
    - buf
    - bufSize
    argTypes:
    - sheSecretKey
    - shePublicKey
    - ENC
    - ENCV
    - DEC
    - SUB
    - MUL
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 577
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 577
    functionName: IntVecTest
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - sub
    - CYBOZU_TEST_EQUAL
    - dec
    - enc
    - encv
    - mul
    linkageType: ''
    returnType: void
    signature: void IntVecTest(const sheSecretKey& sec, const shePublicKey& pub, const
      ENC& enc, const ENCV& encv, const DEC& dec, const SUB& sub, const MUL& mul,
      uint8_t *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sheSecretKeySetByCSPRNG
      Src: /src/mcl/test/she_c_test.hpp:582,1
    - Dst: sheGetPublicKey
      Src: /src/mcl/test/she_c_test.hpp:584,1
    - Dst: IntVecTest
      Src: /src/mcl/test/she_c_test.hpp:590,1
    - Dst: IntVecTest
      Src: /src/mcl/test/she_c_test.hpp:591,1
    - Dst: IntVecTest
      Src: /src/mcl/test/she_c_test.hpp:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 593
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 593
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - sheGetPublicKey
    - IntVecTest
    - sheSecretKeySetByCSPRNG
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(IntVec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sheSecretKeySetByCSPRNG
      Src: /src/mcl/test/she_c_test.hpp:598,1
    - Dst: sheGetPublicKey
      Src: /src/mcl/test/she_c_test.hpp:600,1
    - Dst: sheEncG1
      Src: /src/mcl/test/she_c_test.hpp:609,1
    - Dst: sheEncG1
      Src: /src/mcl/test/she_c_test.hpp:610,1
    - Dst: sheEncG2
      Src: /src/mcl/test/she_c_test.hpp:611,1
    - Dst: sheEncG2
      Src: /src/mcl/test/she_c_test.hpp:612,1
    - Dst: sheMul
      Src: /src/mcl/test/she_c_test.hpp:616,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:617,1
    - Dst: sheDecGT
      Src: /src/mcl/test/she_c_test.hpp:617,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:618,1
    - Dst: sheMulML
      Src: /src/mcl/test/she_c_test.hpp:620,1
    - Dst: sheFinalExpGT
      Src: /src/mcl/test/she_c_test.hpp:621,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:622,1
    - Dst: sheDecGT
      Src: /src/mcl/test/she_c_test.hpp:622,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:623,1
    - Dst: sheMulML
      Src: /src/mcl/test/she_c_test.hpp:625,1
    - Dst: sheFinalExpGT
      Src: /src/mcl/test/she_c_test.hpp:626,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:627,1
    - Dst: sheDecGT
      Src: /src/mcl/test/she_c_test.hpp:627,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:628,1
    - Dst: sheAddGT
      Src: /src/mcl/test/she_c_test.hpp:634,1
    - Dst: sheFinalExpGT
      Src: /src/mcl/test/she_c_test.hpp:635,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:636,1
    - Dst: sheDecGT
      Src: /src/mcl/test/she_c_test.hpp:636,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 638
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 638
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - sheEncG2
    - CYBOZU_TEST_EQUAL
    - sheAddGT
    - sheEncG1
    - sheDecGT
    - sheMulML
    - sheSecretKeySetByCSPRNG
    - sheMul
    - sheGetPublicKey
    - sheFinalExpGT
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(finalExp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sheSecretKeySetByCSPRNG
      Src: /src/mcl/test/she_c_test.hpp:646,1
    - Dst: sheGetPublicKey
      Src: /src/mcl/test/she_c_test.hpp:648,1
    - Dst: sheSetRangeForGTDLP
      Src: /src/mcl/test/she_c_test.hpp:651,1
    - Dst: std::string::resize
      Src: /src/mcl/test/she_c_test.hpp:653,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_c_test.hpp:655,1
    - Dst: empty
      Src: /src/mcl/test/she_c_test.hpp:656,1
    - Dst: printf
      Src: /src/mcl/test/she_c_test.hpp:657,1
    - Dst: c_str
      Src: /src/mcl/test/she_c_test.hpp:657,1
    - Dst: c_str
      Src: /src/mcl/test/she_c_test.hpp:658,1
    - Dst: std::ofstream::write
      Src: /src/mcl/test/she_c_test.hpp:659,1
    - Dst: std::string::c_str
      Src: /src/mcl/test/she_c_test.hpp:659,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_c_test.hpp:663,1
    - Dst: sheEncGT
      Src: /src/mcl/test/she_c_test.hpp:663,1
    - Dst: sheSetRangeForGTDLP
      Src: /src/mcl/test/she_c_test.hpp:664,1
    - Dst: sheSetTryNum
      Src: /src/mcl/test/she_c_test.hpp:665,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_c_test.hpp:667,1
    - Dst: sheDecGT
      Src: /src/mcl/test/she_c_test.hpp:667,1
    - Dst: empty
      Src: /src/mcl/test/she_c_test.hpp:668,1
    - Dst: c_str
      Src: /src/mcl/test/she_c_test.hpp:669,1
    - Dst: std::string::clear
      Src: /src/mcl/test/she_c_test.hpp:670,1
    - Dst: std::string::resize
      Src: /src/mcl/test/she_c_test.hpp:671,1
    - Dst: std::ifstream::read
      Src: /src/mcl/test/she_c_test.hpp:672,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_c_test.hpp:675,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_c_test.hpp:676,1
    - Dst: sheDecGT
      Src: /src/mcl/test/she_c_test.hpp:676,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_c_test.hpp:677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 678
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 678
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_ASSERT
    - printf
    - c_str
    - CYBOZU_TEST_EQUAL
    - sheSetTryNum
    - sheDecGT
    - std::ifstream::read
    - sheSecretKeySetByCSPRNG
    - empty
    - std::ofstream::write
    - std::string::c_str
    - sheSetRangeForGTDLP
    - sheGetPublicKey
    - std::string::resize
    - std::string::clear
    - sheEncGT
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(saveLoad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Option::Option
      Src: /src/mcl/test/she_c_test.hpp:683,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/test/she_c_test.hpp:684,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/test/she_c_test.hpp:685,1
    - Dst: cybozu::Option::appendHelp
      Src: /src/mcl/test/she_c_test.hpp:686,1
    - Dst: cybozu::Option::parse
      Src: /src/mcl/test/she_c_test.hpp:687,1
    - Dst: cybozu::Option::usage
      Src: /src/mcl/test/she_c_test.hpp:688,1
    - Dst: run
      Src: /src/mcl/test/she_c_test.hpp:691,1
    - Dst: printf
      Src: /src/mcl/test/she_c_test.hpp:693,1
    - Dst: what
      Src: /src/mcl/test/she_c_test.hpp:693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 695
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 695
    functionName: main
    functionSourceFile: /src/mcl/test/she_c_test.hpp
    functionUses: 97
    functionsReached:
    - cybozu::Option::appendHelp
    - cybozu::Option::Option
    - printf
    - what
    - cybozu::Option::usage
    - run
    - cybozu::Option::parse
    - cybozu::Option::appendOpt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/bench.hpp:5,1
    - Dst: puts
      Src: /src/mcl/test/bench.hpp:7,1
    - Dst: G1::G1
      Src: /src/mcl/test/bench.hpp:11,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/test/bench.hpp:12,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/test/bench.hpp:13,1
    - Dst: printf
      Src: /src/mcl/test/bench.hpp:16,1
    - Dst: G1::z::isOne
      Src: /src/mcl/test/bench.hpp:16,1
    - Dst: z::isOne
      Src: /src/mcl/test/bench.hpp:16,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:17,1
    - Dst: G1::normalize
      Src: /src/mcl/test/bench.hpp:18,1
    - Dst: printf
      Src: /src/mcl/test/bench.hpp:19,1
    - Dst: G1::z::isOne
      Src: /src/mcl/test/bench.hpp:19,1
    - Dst: z::isOne
      Src: /src/mcl/test/bench.hpp:19,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:20,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:21,1
    - Dst: normalize
      Src: /src/mcl/test/bench.hpp:22,1
    - Dst: printf
      Src: /src/mcl/test/bench.hpp:23,1
    - Dst: G1::z::isOne
      Src: /src/mcl/test/bench.hpp:23,1
    - Dst: z::isOne
      Src: /src/mcl/test/bench.hpp:23,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:24,1
    - Dst: printf
      Src: /src/mcl/test/bench.hpp:26,1
    - Dst: G1::z::isOne
      Src: /src/mcl/test/bench.hpp:26,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:27,1
    - Dst: G1::normalize
      Src: /src/mcl/test/bench.hpp:28,1
    - Dst: printf
      Src: /src/mcl/test/bench.hpp:29,1
    - Dst: G1::z::isOne
      Src: /src/mcl/test/bench.hpp:29,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 31
    functionName: benchAddDblG1
    functionSourceFile: /src/mcl/test/bench.hpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - z::isOne
    - printf
    - hashAndMapToG1
    - puts
    - G1::z::isOne
    - G1::normalize
    - CYBOZU_BENCH_C
    - normalize
    linkageType: ''
    returnType: void
    signature: void benchAddDblG1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/bench.hpp:35,1
    - Dst: puts
      Src: /src/mcl/test/bench.hpp:37,1
    - Dst: G2::G2
      Src: /src/mcl/test/bench.hpp:41,1
    - Dst: hashAndMapToG2
      Src: /src/mcl/test/bench.hpp:42,1
    - Dst: hashAndMapToG2
      Src: /src/mcl/test/bench.hpp:43,1
    - Dst: printf
      Src: /src/mcl/test/bench.hpp:46,1
    - Dst: G2::z::isOne
      Src: /src/mcl/test/bench.hpp:46,1
    - Dst: z::isOne
      Src: /src/mcl/test/bench.hpp:46,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:47,1
    - Dst: G2::normalize
      Src: /src/mcl/test/bench.hpp:48,1
    - Dst: printf
      Src: /src/mcl/test/bench.hpp:49,1
    - Dst: G2::z::isOne
      Src: /src/mcl/test/bench.hpp:49,1
    - Dst: z::isOne
      Src: /src/mcl/test/bench.hpp:49,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:50,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:51,1
    - Dst: normalize
      Src: /src/mcl/test/bench.hpp:52,1
    - Dst: printf
      Src: /src/mcl/test/bench.hpp:53,1
    - Dst: G2::z::isOne
      Src: /src/mcl/test/bench.hpp:53,1
    - Dst: z::isOne
      Src: /src/mcl/test/bench.hpp:53,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:54,1
    - Dst: printf
      Src: /src/mcl/test/bench.hpp:56,1
    - Dst: G2::z::isOne
      Src: /src/mcl/test/bench.hpp:56,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:57,1
    - Dst: G2::normalize
      Src: /src/mcl/test/bench.hpp:58,1
    - Dst: printf
      Src: /src/mcl/test/bench.hpp:59,1
    - Dst: G2::z::isOne
      Src: /src/mcl/test/bench.hpp:59,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 61
    functionName: benchAddDblG2
    functionSourceFile: /src/mcl/test/bench.hpp
    functionUses: 0
    functionsReached:
    - z::isOne
    - printf
    - puts
    - G2::G2
    - hashAndMapToG2
    - G2::normalize
    - G2::z::isOne
    - CYBOZU_BENCH_C
    - normalize
    linkageType: ''
    returnType: void
    signature: void benchAddDblG2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::inv
      Src: /src/mcl/test/bench.hpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' out'
    - ' x'
    - ' y'
    argTypes:
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: invAdd
    functionSourceFile: /src/mcl/test/bench.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::inv
    linkageType: ''
    returnType: void
    signature: void invAdd(T& out, const T& x, const T& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bench.hpp:75,1
    - Dst: setByCSPRNG
      Src: /src/mcl/test/bench.hpp:77,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bench.hpp:80,1
    - Dst: clear
      Src: /src/mcl/test/bench.hpp:81,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bench.hpp:84,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 89
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 89
    functionName: invVecBench
    functionSourceFile: /src/mcl/test/bench.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - setByCSPRNG
    - clear
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void invVecBench(const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:95,1
    - Dst: std::string
      Src: /src/mcl/test/bench.hpp:95,1
    - Dst: c_str
      Src: /src/mcl/test/bench.hpp:95,1
    - Dst: mcl::FpT::squareRoot
      Src: /src/mcl/test/bench.hpp:97,1
    - Dst: blst::PT::one
      Src: /src/mcl/test/bench.hpp:100,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:102,1
    - Dst: std::string
      Src: /src/mcl/test/bench.hpp:102,1
    - Dst: c_str
      Src: /src/mcl/test/bench.hpp:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' x'
    - msg
    argTypes:
    - T
    - char*
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: sqrBench
    functionSourceFile: /src/mcl/test/bench.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::squareRoot
    - c_str
    - std::string
    - blst::PT::one
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void sqrBench(const T& x, const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/bench.hpp:108,1
    - Dst: G1::G1
      Src: /src/mcl/test/bench.hpp:111,1
    - Dst: G2::G2
      Src: /src/mcl/test/bench.hpp:112,1
    - Dst: pairing
      Src: /src/mcl/test/bench.hpp:114,1
    - Dst: testFp12pow
      Src: /src/mcl/test/bench.hpp:115,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/bench.hpp:116,1
    - Dst: Fp::setHashOf
      Src: /src/mcl/test/bench.hpp:117,1
    - Dst: setHashOf
      Src: /src/mcl/test/bench.hpp:118,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bench.hpp:124,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/bench.hpp:125,1
    - Dst: Fr::setByCSPRNG
      Src: /src/mcl/test/bench.hpp:126,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:127,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:128,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:129,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:130,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:131,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:132,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:133,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:134,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:135,1
    - Dst: G1::G1
      Src: /src/mcl/test/bench.hpp:137,1
    - Dst: G2::G2
      Src: /src/mcl/test/bench.hpp:138,1
    - Dst: getStr
      Src: /src/mcl/test/bench.hpp:140,1
    - Dst: verifyOrderG1
      Src: /src/mcl/test/bench.hpp:141,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:142,1
    - Dst: verifyOrderG1
      Src: /src/mcl/test/bench.hpp:143,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:144,1
    - Dst: getStr
      Src: /src/mcl/test/bench.hpp:145,1
    - Dst: verifyOrderG2
      Src: /src/mcl/test/bench.hpp:146,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:147,1
    - Dst: verifyOrderG2
      Src: /src/mcl/test/bench.hpp:148,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:149,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:150,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:151,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:153,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:154,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:155,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:156,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:157,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:158,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:159,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:160,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:161,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:162,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:163,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:164,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:165,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:166,1
    - Dst: sqrBench
      Src: /src/mcl/test/bench.hpp:167,1
    - Dst: invVecBench
      Src: /src/mcl/test/bench.hpp:168,1
    - Dst: invVecBench
      Src: /src/mcl/test/bench.hpp:169,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/bench.hpp:171,1
    - Dst: Fr::setHashOf
      Src: /src/mcl/test/bench.hpp:172,1
    - Dst: setHashOf
      Src: /src/mcl/test/bench.hpp:173,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:174,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:175,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:176,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:177,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:178,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:179,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:180,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:181,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:182,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:183,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:184,1
    - Dst: sqrBench
      Src: /src/mcl/test/bench.hpp:185,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:196,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:197,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:198,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:199,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:200,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:201,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:202,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:203,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:204,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:205,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:206,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:207,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:208,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:209,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:210,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:212,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:213,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:215,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:216,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:217,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:218,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:220,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:221,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:222,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:225,1
    - Dst: precomputeG2
      Src: /src/mcl/test/bench.hpp:226,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:227,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/test/bench.hpp:233,1
    - Dst: hashAndMapToG2
      Src: /src/mcl/test/bench.hpp:234,1
    - Dst: millerLoop
      Src: /src/mcl/test/bench.hpp:238,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:241,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bench.hpp:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 106
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 243
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 243
    functionName: testBench
    functionSourceFile: /src/mcl/test/bench.hpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - precomputeG2
    - verifyOrderG1
    - testFp12pow
    - CYBOZU_TEST_EQUAL
    - Fr::setByCSPRNG
    - hashAndMapToG2
    - getStr
    - Fr::Fr
    - verifyOrderG2
    - Fp::setHashOf
    - hashAndMapToG1
    - setHashOf
    - Fr::setHashOf
    - puts
    - millerLoop
    - G2::G2
    - invVecBench
    - Fp::Fp
    - pairing
    - sqrBench
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void testBench(const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::SquareRoot::SquareRoot
      Src: /src/mcl/test/bench.hpp:247,1
    - Dst: mcl::SquareRoot::set
      Src: /src/mcl/test/bench.hpp:249,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bench.hpp:250,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bench.hpp:251,1
    - Dst: mcl::SquareRoot::isPrecomputed
      Src: /src/mcl/test/bench.hpp:251,1
    - Dst: set
      Src: /src/mcl/test/bench.hpp:252,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bench.hpp:253,1
    - Dst: puts
      Src: /src/mcl/test/bench.hpp:255,1
    - Dst: puts
      Src: /src/mcl/test/bench.hpp:256,1
    - Dst: mcl::SquareRoot::dump
      Src: /src/mcl/test/bench.hpp:257,1
    - Dst: puts
      Src: /src/mcl/test/bench.hpp:258,1
    - Dst: dump
      Src: /src/mcl/test/bench.hpp:259,1
    - Dst: puts
      Src: /src/mcl/test/bench.hpp:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 262
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 262
    functionName: SquareRootPrecomputeTest
    functionSourceFile: /src/mcl/test/bench.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_ASSERT
    - puts
    - mcl::SquareRoot::SquareRoot
    - dump
    - mcl::SquareRoot::dump
    - set
    - mcl::SquareRoot::isPrecomputed
    - mcl::SquareRoot::set
    linkageType: ''
    returnType: void
    signature: void SquareRootPrecomputeTest(const mpz_class& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getCurveParam
      Src: /src/mcl/test/bench.hpp:266,1
    - Dst: getCurveParam
      Src: /src/mcl/test/bench.hpp:266,1
    - Dst: SquareRootPrecomputeTest
      Src: /src/mcl/test/bench.hpp:267,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/bench.hpp:267,1
    - Dst: SquareRootPrecomputeTest
      Src: /src/mcl/test/bench.hpp:268,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/bench.hpp:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: testSquareRoot
    functionSourceFile: /src/mcl/test/bench.hpp
    functionUses: 0
    functionsReached:
    - SquareRootPrecomputeTest
    - getCurveParam
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: void
    signature: void testSquareRoot()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/bench.hpp:274,1
    - Dst: setByCSPRNG
      Src: /src/mcl/test/bench.hpp:281,1
    - Dst: setByCSPRNG
      Src: /src/mcl/test/bench.hpp:284,1
    - Dst: mcl::evaluatePolynomial
      Src: /src/mcl/test/bench.hpp:285,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/bench.hpp:297,1
    - Dst: Fr::clear
      Src: /src/mcl/test/bench.hpp:298,1
    - Dst: mcl::LagrangeInterpolation
      Src: /src/mcl/test/bench.hpp:299,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bench.hpp:300,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bench.hpp:307,1
    - Dst: setByCSPRNG
      Src: /src/mcl/test/bench.hpp:312,1
    - Dst: setByCSPRNG
      Src: /src/mcl/test/bench.hpp:315,1
    - Dst: mcl::evaluatePolynomial
      Src: /src/mcl/test/bench.hpp:316,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/bench.hpp:318,1
    - Dst: mcl::LagrangeInterpolation
      Src: /src/mcl/test/bench.hpp:320,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bench.hpp:321,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bench.hpp:322,1
    - Dst: puts
      Src: /src/mcl/test/bench.hpp:324,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bench.hpp:327,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 329
    functionName: testLagrange
    functionSourceFile: /src/mcl/test/bench.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_ASSERT
    - setByCSPRNG
    - CYBOZU_TEST_EQUAL
    - puts
    - mcl::evaluatePolynomial
    - Fr::clear
    - Fr::Fr
    - cybozu::XorShift::XorShift
    - mcl::LagrangeInterpolation
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void testLagrange()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mcl/test/bn_c_test.hpp:13,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:14,1
    - Dst: mclBnFr_isValid
      Src: /src/mcl/test/bn_c_test.hpp:14,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:15,1
    - Dst: mclBnFr_isZero
      Src: /src/mcl/test/bn_c_test.hpp:15,1
    - Dst: mclBnFr_clear
      Src: /src/mcl/test/bn_c_test.hpp:17,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:18,1
    - Dst: mclBnFr_isZero
      Src: /src/mcl/test/bn_c_test.hpp:18,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:20,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:21,1
    - Dst: mclBnFr_isOne
      Src: /src/mcl/test/bn_c_test.hpp:21,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:23,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:24,1
    - Dst: mclBnFr_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:24,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:27,1
    - Dst: mclBnFr_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:27,1
    - Dst: mclBnFr_setHashOf
      Src: /src/mcl/test/bn_c_test.hpp:29,1
    - Dst: mclBnFr_setHashOf
      Src: /src/mcl/test/bn_c_test.hpp:30,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:31,1
    - Dst: mclBnFr_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:31,1
    - Dst: mclBnFr_setHashOf
      Src: /src/mcl/test/bn_c_test.hpp:32,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:33,1
    - Dst: mclBnFr_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:33,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:36,1
    - Dst: mclBnFr_getStr
      Src: /src/mcl/test/bn_c_test.hpp:38,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:39,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:40,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:42,1
    - Dst: mclBnFr_neg
      Src: /src/mcl/test/bn_c_test.hpp:43,1
    - Dst: mclBnFr_getStr
      Src: /src/mcl/test/bn_c_test.hpp:44,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:45,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:46,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:48,1
    - Dst: mclBnFr_add
      Src: /src/mcl/test/bn_c_test.hpp:49,1
    - Dst: mclBnFr_getStr
      Src: /src/mcl/test/bn_c_test.hpp:50,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:51,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:52,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:54,1
    - Dst: mclBnFr_sub
      Src: /src/mcl/test/bn_c_test.hpp:55,1
    - Dst: mclBnFr_getStr
      Src: /src/mcl/test/bn_c_test.hpp:56,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:57,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:58,1
    - Dst: mclBnFr_mul
      Src: /src/mcl/test/bn_c_test.hpp:60,1
    - Dst: mclBnFr_getStr
      Src: /src/mcl/test/bn_c_test.hpp:61,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:62,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:63,1
    - Dst: mclBnFr_div
      Src: /src/mcl/test/bn_c_test.hpp:65,1
    - Dst: mclBnFr_getStr
      Src: /src/mcl/test/bn_c_test.hpp:66,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:67,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:68,1
    - Dst: mclBnFr_mul
      Src: /src/mcl/test/bn_c_test.hpp:70,1
    - Dst: mclBnFr_sqr
      Src: /src/mcl/test/bn_c_test.hpp:71,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:72,1
    - Dst: mclBnFr_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:72,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:75,1
    - Dst: mclBnFr_setStr
      Src: /src/mcl/test/bn_c_test.hpp:75,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:75,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:77,1
    - Dst: mclBnFr_setStr
      Src: /src/mcl/test/bn_c_test.hpp:77,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:77,1
    - Dst: mclBnFr_add
      Src: /src/mcl/test/bn_c_test.hpp:78,1
    - Dst: mclBnFr_getStr
      Src: /src/mcl/test/bn_c_test.hpp:79,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:80,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:81,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:83,1
    - Dst: mclBnFr_neg
      Src: /src/mcl/test/bn_c_test.hpp:84,1
    - Dst: mclBnFr_getStr
      Src: /src/mcl/test/bn_c_test.hpp:85,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:86,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:87,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:87,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:88,1
    - Dst: mclBnFr_setStr
      Src: /src/mcl/test/bn_c_test.hpp:88,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:89,1
    - Dst: mclBnFr_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:89,1
    - Dst: mclBnFr_setByCSPRNG
      Src: /src/mcl/test/bn_c_test.hpp:92,1
    - Dst: mclBnFr_getStr
      Src: /src/mcl/test/bn_c_test.hpp:93,1
    - Dst: printf
      Src: /src/mcl/test/bn_c_test.hpp:94,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:96,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:97,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:98,1
    - Dst: mclBnFr_cmp
      Src: /src/mcl/test/bn_c_test.hpp:98,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:99,1
    - Dst: mclBnFr_cmp
      Src: /src/mcl/test/bn_c_test.hpp:99,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:100,1
    - Dst: mclBnFr_cmp
      Src: /src/mcl/test/bn_c_test.hpp:100,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:101,1
    - Dst: mclBnFr_cmp
      Src: /src/mcl/test/bn_c_test.hpp:101,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:102,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:103,1
    - Dst: mclBnFr_cmp
      Src: /src/mcl/test/bn_c_test.hpp:103,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:104,1
    - Dst: mclBnFr_cmp
      Src: /src/mcl/test/bn_c_test.hpp:104,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:105,1
    - Dst: mclBnFr_cmp
      Src: /src/mcl/test/bn_c_test.hpp:105,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:106,1
    - Dst: mclBnFr_cmp
      Src: /src/mcl/test/bn_c_test.hpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 107
    functionName: FrTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - printf
    - CYBOZU_TEST_EQUAL
    - memset
    - mclBnFr_div
    - mclBnFr_isOne
    - mclBnFr_cmp
    - mclBnFr_setInt
    - mclBnFr_setHashOf
    - mclBnFr_setByCSPRNG
    - mclBnFr_clear
    - mclBnFr_isZero
    - mclBnFr_sub
    - mclBnFr_getStr
    - mclBnFr_add
    - mclBnFr_isValid
    - mclBnFr_mul
    - CYBOZU_TEST_ASSERT
    - mclBnFr_neg
    - mclBnFr_sqr
    - mclBnFr_isEqual
    - strlen
    - mclBnFr_setStr
    linkageType: ''
    returnType: void
    signature: void FrTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:113,1
    - Dst: mclBnFr_setStr
      Src: /src/mcl/test/bn_c_test.hpp:113,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:113,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:114,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:117,1
    - Dst: mclBnFr_powArray
      Src: /src/mcl/test/bn_c_test.hpp:117,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:118,1
    - Dst: mclBnFr_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:118,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:119,1
    - Dst: mclBnFr_pow
      Src: /src/mcl/test/bn_c_test.hpp:120,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:121,1
    - Dst: mclBnFr_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:121,1
    - Dst: mclBnFr_mul
      Src: /src/mcl/test/bn_c_test.hpp:122,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:125,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:126,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:132,1
    - Dst: mclBnFr_powArray
      Src: /src/mcl/test/bn_c_test.hpp:133,1
    - Dst: mclBnFr_pow
      Src: /src/mcl/test/bn_c_test.hpp:134,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:135,1
    - Dst: mclBnFr_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:135,1
    - Dst: mclBnFr_sub
      Src: /src/mcl/test/bn_c_test.hpp:136,1
    - Dst: mclBnFr_getLittleEndian
      Src: /src/mcl/test/bn_c_test.hpp:137,1
    - Dst: mclBnFr_powArray
      Src: /src/mcl/test/bn_c_test.hpp:138,1
    - Dst: mclBnFr_mul
      Src: /src/mcl/test/bn_c_test.hpp:139,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:141,1
    - Dst: mclBnFr_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:141,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:146,1
    - Dst: mclBnFr_powArray
      Src: /src/mcl/test/bn_c_test.hpp:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 148
    functionName: Fr_powTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnFr_sub
    - mclBnFr_powArray
    - CYBOZU_TEST_ASSERT
    - mclBnFr_setInt
    - mclBnFr_getLittleEndian
    - mclBnFr_pow
    - mclBnFr_isEqual
    - mclBnFr_mul
    - strlen
    - mclBnFr_setStr
    linkageType: ''
    returnType: void
    signature: void Fr_powTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:154,1
    - Dst: mclBnFp_setStr
      Src: /src/mcl/test/bn_c_test.hpp:154,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:154,1
    - Dst: mclBnFp_setInt
      Src: /src/mcl/test/bn_c_test.hpp:155,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:158,1
    - Dst: mclBnFp_powArray
      Src: /src/mcl/test/bn_c_test.hpp:158,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:159,1
    - Dst: mclBnFp_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:159,1
    - Dst: mclBnFp_setInt
      Src: /src/mcl/test/bn_c_test.hpp:160,1
    - Dst: mclBnFp_pow
      Src: /src/mcl/test/bn_c_test.hpp:161,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:162,1
    - Dst: mclBnFp_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:162,1
    - Dst: mclBnFp_mul
      Src: /src/mcl/test/bn_c_test.hpp:163,1
    - Dst: mclBnFp_setInt
      Src: /src/mcl/test/bn_c_test.hpp:166,1
    - Dst: mclBnFp_setInt
      Src: /src/mcl/test/bn_c_test.hpp:167,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:173,1
    - Dst: mclBnFp_powArray
      Src: /src/mcl/test/bn_c_test.hpp:174,1
    - Dst: mclBnFp_pow
      Src: /src/mcl/test/bn_c_test.hpp:175,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:176,1
    - Dst: mclBnFp_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:176,1
    - Dst: mclBnFp_sub
      Src: /src/mcl/test/bn_c_test.hpp:177,1
    - Dst: mclBnFp_getLittleEndian
      Src: /src/mcl/test/bn_c_test.hpp:178,1
    - Dst: mclBnFp_powArray
      Src: /src/mcl/test/bn_c_test.hpp:179,1
    - Dst: mclBnFp_mul
      Src: /src/mcl/test/bn_c_test.hpp:180,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:182,1
    - Dst: mclBnFp_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:182,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:187,1
    - Dst: mclBnFp_powArray
      Src: /src/mcl/test/bn_c_test.hpp:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 189
    functionName: Fp_powTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnFp_isEqual
    - mclBnFp_mul
    - CYBOZU_TEST_ASSERT
    - mclBnFp_powArray
    - mclBnFp_getLittleEndian
    - mclBnFp_setStr
    - mclBnFp_sub
    - mclBnFp_pow
    - strlen
    - mclBnFp_setInt
    linkageType: ''
    returnType: void
    signature: void Fp_powTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mcl/test/bn_c_test.hpp:194,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:198,1
    - Dst: mclBnG1_isValid
      Src: /src/mcl/test/bn_c_test.hpp:198,1
    - Dst: mclBnG1_clear
      Src: /src/mcl/test/bn_c_test.hpp:199,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:200,1
    - Dst: mclBnG1_isValid
      Src: /src/mcl/test/bn_c_test.hpp:200,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:201,1
    - Dst: mclBnG1_isZero
      Src: /src/mcl/test/bn_c_test.hpp:201,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:203,1
    - Dst: mclBnG1_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:203,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:204,1
    - Dst: mclBnG1_isValidOrder
      Src: /src/mcl/test/bn_c_test.hpp:204,1
    - Dst: mclBnG1_getStr
      Src: /src/mcl/test/bn_c_test.hpp:208,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:209,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:210,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:210,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:211,1
    - Dst: mclBnG1_setStr
      Src: /src/mcl/test/bn_c_test.hpp:211,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:211,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:212,1
    - Dst: mclBnG1_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:212,1
    - Dst: mclBnG1_neg
      Src: /src/mcl/test/bn_c_test.hpp:214,1
    - Dst: mclBnG1_add
      Src: /src/mcl/test/bn_c_test.hpp:215,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:216,1
    - Dst: mclBnG1_isZero
      Src: /src/mcl/test/bn_c_test.hpp:216,1
    - Dst: mclBnG1_dbl
      Src: /src/mcl/test/bn_c_test.hpp:218,1
    - Dst: mclBnG1_add
      Src: /src/mcl/test/bn_c_test.hpp:219,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:220,1
    - Dst: mclBnG1_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:220,1
    - Dst: mclBnG1_add
      Src: /src/mcl/test/bn_c_test.hpp:221,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:223,1
    - Dst: mclBnG1_mul
      Src: /src/mcl/test/bn_c_test.hpp:224,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:225,1
    - Dst: mclBnG1_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:225,1
    - Dst: mclBnG1_sub
      Src: /src/mcl/test/bn_c_test.hpp:226,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:228,1
    - Dst: mclBnG1_mul
      Src: /src/mcl/test/bn_c_test.hpp:229,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:230,1
    - Dst: mclBnG1_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:230,1
    - Dst: mclBnG1_normalize
      Src: /src/mcl/test/bn_c_test.hpp:231,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:232,1
    - Dst: mclBnG1_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:232,1
    - Dst: mclBnG1_dbl
      Src: /src/mcl/test/bn_c_test.hpp:235,1
    - Dst: mclBnG1_add
      Src: /src/mcl/test/bn_c_test.hpp:237,1
    - Dst: mclBnG1_clear
      Src: /src/mcl/test/bn_c_test.hpp:239,1
    - Dst: mclBnG1_normalizeVec
      Src: /src/mcl/test/bn_c_test.hpp:240,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:242,1
    - Dst: mclBnG1_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:242,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:243,1
    - Dst: mclBnFp_isOne
      Src: /src/mcl/test/bn_c_test.hpp:243,1
    - Dst: mclBnFp_isZero
      Src: /src/mcl/test/bn_c_test.hpp:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 245
    functionName: G1Test
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    - mclBnG1_normalize
    - memset
    - mclBnG1_normalizeVec
    - mclBnG1_clear
    - mclBnFr_setInt
    - mclBnG1_sub
    - mclBnG1_isZero
    - mclBnG1_neg
    - mclBnFp_isOne
    - mclBnG1_isEqual
    - mclBnG1_mul
    - mclBnG1_isValid
    - mclBnFp_isZero
    - mclBnG1_dbl
    - CYBOZU_TEST_ASSERT
    - mclBnG1_getStr
    - mclBnG1_setStr
    - mclBnG1_hashAndMapTo
    - mclBnG1_isValidOrder
    - mclBnG1_add
    - strlen
    linkageType: ''
    returnType: void
    signature: void G1Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mcl/test/bn_c_test.hpp:253,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:254,1
    - Dst: mclBnG2_isValid
      Src: /src/mcl/test/bn_c_test.hpp:254,1
    - Dst: mclBnG2_clear
      Src: /src/mcl/test/bn_c_test.hpp:255,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:256,1
    - Dst: mclBnG2_isValid
      Src: /src/mcl/test/bn_c_test.hpp:256,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:257,1
    - Dst: mclBnG2_isZero
      Src: /src/mcl/test/bn_c_test.hpp:257,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:259,1
    - Dst: mclBnG2_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:259,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:260,1
    - Dst: mclBnG2_isValidOrder
      Src: /src/mcl/test/bn_c_test.hpp:260,1
    - Dst: mclBnG2_getStr
      Src: /src/mcl/test/bn_c_test.hpp:264,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:265,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:266,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:266,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:267,1
    - Dst: mclBnG2_setStr
      Src: /src/mcl/test/bn_c_test.hpp:267,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:267,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:268,1
    - Dst: mclBnG2_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:268,1
    - Dst: mclBnG2_neg
      Src: /src/mcl/test/bn_c_test.hpp:270,1
    - Dst: mclBnG2_add
      Src: /src/mcl/test/bn_c_test.hpp:271,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:272,1
    - Dst: mclBnG2_isZero
      Src: /src/mcl/test/bn_c_test.hpp:272,1
    - Dst: mclBnG2_dbl
      Src: /src/mcl/test/bn_c_test.hpp:274,1
    - Dst: mclBnG2_add
      Src: /src/mcl/test/bn_c_test.hpp:275,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:276,1
    - Dst: mclBnG2_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:276,1
    - Dst: mclBnG2_add
      Src: /src/mcl/test/bn_c_test.hpp:277,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:279,1
    - Dst: mclBnG2_mul
      Src: /src/mcl/test/bn_c_test.hpp:280,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:281,1
    - Dst: mclBnG2_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:281,1
    - Dst: mclBnG2_sub
      Src: /src/mcl/test/bn_c_test.hpp:282,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:284,1
    - Dst: mclBnG2_mul
      Src: /src/mcl/test/bn_c_test.hpp:285,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:286,1
    - Dst: mclBnG2_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:286,1
    - Dst: mclBnG2_normalize
      Src: /src/mcl/test/bn_c_test.hpp:287,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:288,1
    - Dst: mclBnG2_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:288,1
    - Dst: mclBnG2_dbl
      Src: /src/mcl/test/bn_c_test.hpp:291,1
    - Dst: mclBnG2_add
      Src: /src/mcl/test/bn_c_test.hpp:293,1
    - Dst: mclBnG2_clear
      Src: /src/mcl/test/bn_c_test.hpp:295,1
    - Dst: mclBnG2_normalizeVec
      Src: /src/mcl/test/bn_c_test.hpp:296,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:298,1
    - Dst: mclBnG2_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:298,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:299,1
    - Dst: mclBnFp2_isOne
      Src: /src/mcl/test/bn_c_test.hpp:299,1
    - Dst: mclBnFp2_isZero
      Src: /src/mcl/test/bn_c_test.hpp:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 301
    functionName: G2Test
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnG2_normalize
    - CYBOZU_TEST_EQUAL
    - memset
    - mclBnG2_mul
    - mclBnFr_setInt
    - mclBnFp2_isOne
    - mclBnG2_neg
    - mclBnG2_isValid
    - mclBnG2_hashAndMapTo
    - mclBnFp2_isZero
    - mclBnG2_add
    - mclBnG2_dbl
    - mclBnG2_clear
    - mclBnG2_setStr
    - CYBOZU_TEST_ASSERT
    - mclBnG2_isValidOrder
    - mclBnG2_isZero
    - mclBnG2_normalizeVec
    - mclBnG2_isEqual
    - mclBnG2_getStr
    - strlen
    - mclBnG2_sub
    linkageType: ''
    returnType: void
    signature: void G2Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mcl/test/bn_c_test.hpp:306,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:307,1
    - Dst: mclBnGT_isZero
      Src: /src/mcl/test/bn_c_test.hpp:307,1
    - Dst: mclBnGT_clear
      Src: /src/mcl/test/bn_c_test.hpp:309,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:310,1
    - Dst: mclBnGT_isZero
      Src: /src/mcl/test/bn_c_test.hpp:310,1
    - Dst: mclBnGT_setInt
      Src: /src/mcl/test/bn_c_test.hpp:312,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:313,1
    - Dst: mclBnGT_isOne
      Src: /src/mcl/test/bn_c_test.hpp:313,1
    - Dst: mclBnGT_getStr
      Src: /src/mcl/test/bn_c_test.hpp:316,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:317,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:318,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:318,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:320,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:323,1
    - Dst: mclBnGT_setStr
      Src: /src/mcl/test/bn_c_test.hpp:323,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:323,1
    - Dst: mclBnGT_getStr
      Src: /src/mcl/test/bn_c_test.hpp:324,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:325,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:326,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:326,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:327,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:330,1
    - Dst: mclBnGT_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:330,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:333,1
    - Dst: mclBnGT_setStr
      Src: /src/mcl/test/bn_c_test.hpp:333,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:333,1
    - Dst: mclBnGT_getStr
      Src: /src/mcl/test/bn_c_test.hpp:334,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:335,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:336,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:336,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:337,1
    - Dst: mclBnGT_setStr
      Src: /src/mcl/test/bn_c_test.hpp:337,1
    - Dst: mclBnGT_neg
      Src: /src/mcl/test/bn_c_test.hpp:339,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:340,1
    - Dst: mclBnGT_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:340,1
    - Dst: mclBnGT_add
      Src: /src/mcl/test/bn_c_test.hpp:342,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:343,1
    - Dst: mclBnGT_isZero
      Src: /src/mcl/test/bn_c_test.hpp:343,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:346,1
    - Dst: mclBnGT_setStr
      Src: /src/mcl/test/bn_c_test.hpp:346,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:346,1
    - Dst: mclBnGT_mul
      Src: /src/mcl/test/bn_c_test.hpp:347,1
    - Dst: mclBnGT_getStr
      Src: /src/mcl/test/bn_c_test.hpp:348,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:349,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:350,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:350,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:351,1
    - Dst: mclBnGT_div
      Src: /src/mcl/test/bn_c_test.hpp:353,1
    - Dst: mclBnGT_getStr
      Src: /src/mcl/test/bn_c_test.hpp:354,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:355,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:356,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:356,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:357,1
    - Dst: mclBnGT_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:357,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:363,1
    - Dst: mclBnGT_powGeneric
      Src: /src/mcl/test/bn_c_test.hpp:364,1
    - Dst: mclBnGT_mul
      Src: /src/mcl/test/bn_c_test.hpp:365,1
    - Dst: mclBnGT_mul
      Src: /src/mcl/test/bn_c_test.hpp:366,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:367,1
    - Dst: mclBnGT_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:367,1
    - Dst: mclBnGT_mul
      Src: /src/mcl/test/bn_c_test.hpp:369,1
    - Dst: mclBnGT_sqr
      Src: /src/mcl/test/bn_c_test.hpp:370,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:371,1
    - Dst: mclBnGT_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 372
    functionName: GTTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnGT_isEqual
    - CYBOZU_TEST_ASSERT
    - mclBnGT_div
    - CYBOZU_TEST_EQUAL
    - mclBnGT_isOne
    - mclBnFr_setInt
    - mclBnGT_setInt
    - mclBnGT_powGeneric
    - mclBnGT_isZero
    - memset
    - mclBnGT_setStr
    - mclBnGT_add
    - mclBnGT_getStr
    - mclBnGT_neg
    - mclBnGT_mul
    - mclBnGT_sqr
    - strlen
    - mclBnGT_clear
    linkageType: ''
    returnType: void
    signature: void GTTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnG1_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:379,1
    - Dst: mclBnG2_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:380,1
    - Dst: mclBn_millerLoop
      Src: /src/mcl/test/bn_c_test.hpp:382,1
    - Dst: mclBnGT_inv
      Src: /src/mcl/test/bn_c_test.hpp:383,1
    - Dst: mclBnGT_invGeneric
      Src: /src/mcl/test/bn_c_test.hpp:384,1
    - Dst: mclBnGT_mul
      Src: /src/mcl/test/bn_c_test.hpp:385,1
    - Dst: mclBnGT_mul
      Src: /src/mcl/test/bn_c_test.hpp:386,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:387,1
    - Dst: mclBnGT_isOne
      Src: /src/mcl/test/bn_c_test.hpp:387,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:388,1
    - Dst: mclBnGT_isOne
      Src: /src/mcl/test/bn_c_test.hpp:388,1
    - Dst: mclBn_finalExp
      Src: /src/mcl/test/bn_c_test.hpp:390,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:391,1
    - Dst: mclBnGT_isOne
      Src: /src/mcl/test/bn_c_test.hpp:391,1
    - Dst: mclBn_finalExp
      Src: /src/mcl/test/bn_c_test.hpp:394,1
    - Dst: mclBnGT_inv
      Src: /src/mcl/test/bn_c_test.hpp:395,1
    - Dst: mclBnGT_invGeneric
      Src: /src/mcl/test/bn_c_test.hpp:396,1
    - Dst: mclBnGT_mul
      Src: /src/mcl/test/bn_c_test.hpp:397,1
    - Dst: mclBnGT_mul
      Src: /src/mcl/test/bn_c_test.hpp:398,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:399,1
    - Dst: mclBnGT_isOne
      Src: /src/mcl/test/bn_c_test.hpp:399,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:400,1
    - Dst: mclBnGT_isOne
      Src: /src/mcl/test/bn_c_test.hpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 401
    functionName: GT_invTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnGT_inv
    - CYBOZU_TEST_ASSERT
    - mclBnGT_isOne
    - mclBn_millerLoop
    - mclBnG1_hashAndMapTo
    - mclBn_finalExp
    - mclBnGT_invGeneric
    - mclBnGT_mul
    - mclBnG2_hashAndMapTo
    linkageType: ''
    returnType: void
    signature: void GT_invTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:407,1
    - Dst: mclBnFr_sqr
      Src: /src/mcl/test/bn_c_test.hpp:409,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bn_c_test.hpp:412,1
    - Dst: mclBnFr_clear
      Src: /src/mcl/test/bn_c_test.hpp:413,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bn_c_test.hpp:416,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:417,1
    - Dst: mclBnFr_isZero
      Src: /src/mcl/test/bn_c_test.hpp:422,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:423,1
    - Dst: mclBnFr_isZero
      Src: /src/mcl/test/bn_c_test.hpp:423,1
    - Dst: mclBnFr_isOne
      Src: /src/mcl/test/bn_c_test.hpp:425,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:426,1
    - Dst: mclBnFr_isOne
      Src: /src/mcl/test/bn_c_test.hpp:426,1
    - Dst: mclBnFr_mul
      Src: /src/mcl/test/bn_c_test.hpp:430,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:431,1
    - Dst: mclBnFr_isOne
      Src: /src/mcl/test/bn_c_test.hpp:431,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:434,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 435
    functionName: Fp_invVecTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_ASSERT
    - mclBnFr_setInt
    - mclBnFr_mul
    - CYBOZU_TEST_EQUAL
    - mclBnFr_sqr
    - mclBnFr_isOne
    - mclBnFr_clear
    - mclBnFr_isZero
    linkageType: ''
    returnType: void
    signature: void Fp_invVecTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:441,1
    - Dst: mclBnFr_sqr
      Src: /src/mcl/test/bn_c_test.hpp:443,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bn_c_test.hpp:446,1
    - Dst: mclBnFr_clear
      Src: /src/mcl/test/bn_c_test.hpp:447,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bn_c_test.hpp:450,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:451,1
    - Dst: mclBnFr_isZero
      Src: /src/mcl/test/bn_c_test.hpp:456,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:457,1
    - Dst: mclBnFr_isZero
      Src: /src/mcl/test/bn_c_test.hpp:457,1
    - Dst: mclBnFr_isOne
      Src: /src/mcl/test/bn_c_test.hpp:459,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:460,1
    - Dst: mclBnFr_isOne
      Src: /src/mcl/test/bn_c_test.hpp:460,1
    - Dst: mclBnFr_mul
      Src: /src/mcl/test/bn_c_test.hpp:464,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:465,1
    - Dst: mclBnFr_isOne
      Src: /src/mcl/test/bn_c_test.hpp:465,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 469
    functionName: Fr_invVecTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_ASSERT
    - mclBnFr_setInt
    - mclBnFr_mul
    - CYBOZU_TEST_EQUAL
    - mclBnFr_sqr
    - mclBnFr_isOne
    - mclBnFr_clear
    - mclBnFr_isZero
    linkageType: ''
    returnType: void
    signature: void Fr_invVecTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:474,1
    - Dst: mclBnFr_inv
      Src: /src/mcl/test/bn_c_test.hpp:475,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:476,1
    - Dst: mclBnFr_sub
      Src: /src/mcl/test/bn_c_test.hpp:477,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:478,1
    - Dst: mclBnFr_isNegative
      Src: /src/mcl/test/bn_c_test.hpp:478,1
    - Dst: mclBnFr_add
      Src: /src/mcl/test/bn_c_test.hpp:479,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:480,1
    - Dst: mclBnFr_isNegative
      Src: /src/mcl/test/bn_c_test.hpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 481
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 481
    functionName: Fr_isNegativeTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnFr_sub
    - CYBOZU_TEST_ASSERT
    - mclBnFr_setInt
    - mclBnFr_add
    - mclBnFr_isNegative
    - mclBnFr_inv
    linkageType: ''
    returnType: void
    signature: void Fr_isNegativeTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnFp_setInt
      Src: /src/mcl/test/bn_c_test.hpp:486,1
    - Dst: mclBnFp_inv
      Src: /src/mcl/test/bn_c_test.hpp:487,1
    - Dst: mclBnFp_setInt
      Src: /src/mcl/test/bn_c_test.hpp:488,1
    - Dst: mclBnFp_sub
      Src: /src/mcl/test/bn_c_test.hpp:489,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:490,1
    - Dst: mclBnFp_isNegative
      Src: /src/mcl/test/bn_c_test.hpp:490,1
    - Dst: mclBnFp_add
      Src: /src/mcl/test/bn_c_test.hpp:491,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:492,1
    - Dst: mclBnFp_isNegative
      Src: /src/mcl/test/bn_c_test.hpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 493
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 493
    functionName: Fp_isNegativeTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnFp_isNegative
    - mclBnFp_add
    - CYBOZU_TEST_ASSERT
    - mclBnFp_inv
    - mclBnFp_sub
    - mclBnFp_setInt
    linkageType: ''
    returnType: void
    signature: void Fp_isNegativeTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnFr_clear
      Src: /src/mcl/test/bn_c_test.hpp:498,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:499,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:501,1
    - Dst: mclBnFr_isOdd
      Src: /src/mcl/test/bn_c_test.hpp:501,1
    - Dst: mclBnFr_add
      Src: /src/mcl/test/bn_c_test.hpp:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 504
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 504
    functionName: Fr_isOddTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnFr_isOdd
    - mclBnFr_setInt
    - CYBOZU_TEST_EQUAL
    - mclBnFr_add
    - mclBnFr_clear
    linkageType: ''
    returnType: void
    signature: void Fr_isOddTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnFp_clear
      Src: /src/mcl/test/bn_c_test.hpp:509,1
    - Dst: mclBnFp_setInt
      Src: /src/mcl/test/bn_c_test.hpp:510,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:512,1
    - Dst: mclBnFp_isOdd
      Src: /src/mcl/test/bn_c_test.hpp:512,1
    - Dst: mclBnFp_add
      Src: /src/mcl/test/bn_c_test.hpp:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 515
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 515
    functionName: Fp_isOddTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnFp_clear
    - mclBnFp_add
    - CYBOZU_TEST_EQUAL
    - mclBnFp_isOdd
    - mclBnFp_setInt
    linkageType: ''
    returnType: void
    signature: void Fp_isOddTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:520,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:521,1
    - Dst: mclBnFr_mul
      Src: /src/mcl/test/bn_c_test.hpp:522,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:527,1
    - Dst: mclBnG1_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:527,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:528,1
    - Dst: mclBnG2_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:528,1
    - Dst: mclBnG1_mul
      Src: /src/mcl/test/bn_c_test.hpp:530,1
    - Dst: mclBnG2_mul
      Src: /src/mcl/test/bn_c_test.hpp:531,1
    - Dst: mclBn_pairing
      Src: /src/mcl/test/bn_c_test.hpp:533,1
    - Dst: mclBnGT_pow
      Src: /src/mcl/test/bn_c_test.hpp:534,1
    - Dst: mclBn_pairing
      Src: /src/mcl/test/bn_c_test.hpp:535,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:536,1
    - Dst: mclBnGT_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:536,1
    - Dst: mclBnGT_pow
      Src: /src/mcl/test/bn_c_test.hpp:538,1
    - Dst: mclBn_pairing
      Src: /src/mcl/test/bn_c_test.hpp:539,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:540,1
    - Dst: mclBnGT_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:540,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:543,1
    - Dst: mclBnGT_pow
      Src: /src/mcl/test/bn_c_test.hpp:544,1
    - Dst: mclBnGT_mul
      Src: /src/mcl/test/bn_c_test.hpp:545,1
    - Dst: mclBnGT_mul
      Src: /src/mcl/test/bn_c_test.hpp:546,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:547,1
    - Dst: mclBnGT_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:547,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:549,1
    - Dst: mclBnGT_isValid
      Src: /src/mcl/test/bn_c_test.hpp:549,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:551,1
    - Dst: mclBnGT_isValid
      Src: /src/mcl/test/bn_c_test.hpp:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 552
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 552
    functionName: pairingTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnGT_isEqual
    - mclBnGT_isValid
    - CYBOZU_TEST_ASSERT
    - mclBnFr_setInt
    - mclBnG1_mul
    - mclBn_pairing
    - mclBnG1_hashAndMapTo
    - mclBnGT_pow
    - mclBnGT_mul
    - mclBnFr_mul
    - mclBnG2_hashAndMapTo
    - mclBnG2_mul
    linkageType: ''
    returnType: void
    signature: void pairingTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:558,1
    - Dst: mclBnG1_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:558,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:559,1
    - Dst: mclBnG1_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:559,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:560,1
    - Dst: mclBnG2_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:560,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:561,1
    - Dst: mclBnG2_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:561,1
    - Dst: std::vector::resize
      Src: /src/mcl/test/bn_c_test.hpp:565,1
    - Dst: resize
      Src: /src/mcl/test/bn_c_test.hpp:566,1
    - Dst: mclBn_precomputeG2
      Src: /src/mcl/test/bn_c_test.hpp:567,1
    - Dst: std::vector::data
      Src: /src/mcl/test/bn_c_test.hpp:567,1
    - Dst: mclBn_precomputeG2
      Src: /src/mcl/test/bn_c_test.hpp:568,1
    - Dst: data
      Src: /src/mcl/test/bn_c_test.hpp:568,1
    - Dst: mclBn_pairing
      Src: /src/mcl/test/bn_c_test.hpp:571,1
    - Dst: mclBn_precomputedMillerLoop
      Src: /src/mcl/test/bn_c_test.hpp:572,1
    - Dst: std::vector::data
      Src: /src/mcl/test/bn_c_test.hpp:572,1
    - Dst: mclBn_finalExp
      Src: /src/mcl/test/bn_c_test.hpp:573,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:574,1
    - Dst: mclBnGT_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:574,1
    - Dst: mclBn_pairing
      Src: /src/mcl/test/bn_c_test.hpp:576,1
    - Dst: mclBn_precomputedMillerLoop
      Src: /src/mcl/test/bn_c_test.hpp:577,1
    - Dst: data
      Src: /src/mcl/test/bn_c_test.hpp:577,1
    - Dst: mclBn_finalExp
      Src: /src/mcl/test/bn_c_test.hpp:578,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:579,1
    - Dst: mclBnGT_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:579,1
    - Dst: mclBn_precomputedMillerLoop2
      Src: /src/mcl/test/bn_c_test.hpp:581,1
    - Dst: std::vector::data
      Src: /src/mcl/test/bn_c_test.hpp:581,1
    - Dst: data
      Src: /src/mcl/test/bn_c_test.hpp:581,1
    - Dst: mclBn_precomputedMillerLoop2mixed
      Src: /src/mcl/test/bn_c_test.hpp:582,1
    - Dst: data
      Src: /src/mcl/test/bn_c_test.hpp:582,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:583,1
    - Dst: mclBnGT_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:583,1
    - Dst: mclBn_finalExp
      Src: /src/mcl/test/bn_c_test.hpp:584,1
    - Dst: mclBnGT_mul
      Src: /src/mcl/test/bn_c_test.hpp:586,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:587,1
    - Dst: mclBnGT_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 588
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 588
    functionName: precomputedTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnGT_isEqual
    - mclBn_precomputeG2
    - CYBOZU_TEST_ASSERT
    - mclBn_precomputedMillerLoop
    - std::vector::resize
    - data
    - mclBn_pairing
    - resize
    - mclBn_precomputedMillerLoop2
    - mclBnG1_hashAndMapTo
    - mclBn_finalExp
    - mclBn_precomputedMillerLoop2mixed
    - mclBnGT_mul
    - mclBnG2_hashAndMapTo
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void precomputedTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnG1_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:597,1
    - Dst: mclBnG2_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:598,1
    - Dst: mclBnGT_setInt
      Src: /src/mcl/test/bn_c_test.hpp:601,1
    - Dst: mclBn_millerLoop
      Src: /src/mcl/test/bn_c_test.hpp:603,1
    - Dst: mclBnGT_mul
      Src: /src/mcl/test/bn_c_test.hpp:604,1
    - Dst: mclBn_millerLoopVec
      Src: /src/mcl/test/bn_c_test.hpp:606,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:607,1
    - Dst: mclBnGT_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 608
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 608
    functionName: millerLoopVecTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnGT_isEqual
    - CYBOZU_TEST_ASSERT
    - mclBnGT_setInt
    - mclBn_millerLoopVec
    - mclBn_millerLoop
    - mclBnG1_hashAndMapTo
    - mclBnGT_mul
    - mclBnG2_hashAndMapTo
    linkageType: ''
    returnType: void
    signature: void millerLoopVecTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnG1_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:617,1
    - Dst: mclBnG2_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:618,1
    - Dst: mclBnGT_setInt
      Src: /src/mcl/test/bn_c_test.hpp:622,1
    - Dst: mclBn_millerLoop
      Src: /src/mcl/test/bn_c_test.hpp:624,1
    - Dst: mclBnGT_mul
      Src: /src/mcl/test/bn_c_test.hpp:625,1
    - Dst: mclBn_millerLoopVecMT
      Src: /src/mcl/test/bn_c_test.hpp:627,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:628,1
    - Dst: mclBnGT_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 630
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 630
    functionName: millerLoopVecMTTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnGT_isEqual
    - CYBOZU_TEST_ASSERT
    - mclBnGT_setInt
    - mclBn_millerLoop
    - mclBnG1_hashAndMapTo
    - mclBnGT_mul
    - mclBn_millerLoopVecMT
    - mclBnG2_hashAndMapTo
    linkageType: ''
    returnType: void
    signature: void millerLoopVecMTTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:645,1
    - Dst: mclBnFr_serialize
      Src: /src/mcl/test/bn_c_test.hpp:646,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:647,1
    - Dst: mclBnFr_deserialize
      Src: /src/mcl/test/bn_c_test.hpp:649,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:650,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:651,1
    - Dst: mclBnFr_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:651,1
    - Dst: mclBnFr_deserialize
      Src: /src/mcl/test/bn_c_test.hpp:653,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:654,1
    - Dst: memset
      Src: /src/mcl/test/bn_c_test.hpp:656,1
    - Dst: mclBnFr_deserialize
      Src: /src/mcl/test/bn_c_test.hpp:657,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:658,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:659,1
    - Dst: mclBnFr_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:659,1
    - Dst: mclBnFr_serialize
      Src: /src/mcl/test/bn_c_test.hpp:661,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:662,1
    - Dst: mclBnG1_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:666,1
    - Dst: mclBnG1_serialize
      Src: /src/mcl/test/bn_c_test.hpp:667,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:668,1
    - Dst: mclBnG1_deserialize
      Src: /src/mcl/test/bn_c_test.hpp:670,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:671,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:672,1
    - Dst: mclBnG1_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:672,1
    - Dst: mclBnG1_deserialize
      Src: /src/mcl/test/bn_c_test.hpp:674,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:675,1
    - Dst: memset
      Src: /src/mcl/test/bn_c_test.hpp:677,1
    - Dst: mclBnG1_deserialize
      Src: /src/mcl/test/bn_c_test.hpp:678,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:679,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:680,1
    - Dst: mclBnG1_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:680,1
    - Dst: mclBnG1_serialize
      Src: /src/mcl/test/bn_c_test.hpp:682,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:683,1
    - Dst: mclBnG2_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:687,1
    - Dst: mclBnG2_serialize
      Src: /src/mcl/test/bn_c_test.hpp:688,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:689,1
    - Dst: mclBnG2_deserialize
      Src: /src/mcl/test/bn_c_test.hpp:691,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:692,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:693,1
    - Dst: mclBnG2_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:693,1
    - Dst: mclBnG2_deserialize
      Src: /src/mcl/test/bn_c_test.hpp:695,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:696,1
    - Dst: memset
      Src: /src/mcl/test/bn_c_test.hpp:698,1
    - Dst: mclBnG2_deserialize
      Src: /src/mcl/test/bn_c_test.hpp:699,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:700,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:701,1
    - Dst: mclBnG2_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:701,1
    - Dst: mclBnG2_serialize
      Src: /src/mcl/test/bn_c_test.hpp:703,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 705
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 705
    functionName: serializeTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnG2_serialize
    - mclBnG1_isEqual
    - mclBnG2_deserialize
    - CYBOZU_TEST_ASSERT
    - mclBnFr_deserialize
    - mclBnFr_setInt
    - CYBOZU_TEST_EQUAL
    - mclBnG1_serialize
    - mclBnG1_deserialize
    - memset
    - mclBnG1_hashAndMapTo
    - mclBnG2_isEqual
    - mclBnFr_serialize
    - mclBnFr_isEqual
    - mclBnG2_hashAndMapTo
    linkageType: ''
    returnType: void
    signature: void serializeTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:720,1
    - Dst: mclBnFr_getStr
      Src: /src/mcl/test/bn_c_test.hpp:721,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:722,1
    - Dst: mclBnFr_setStr
      Src: /src/mcl/test/bn_c_test.hpp:724,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:725,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:726,1
    - Dst: mclBnFr_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:726,1
    - Dst: mclBnFr_setStr
      Src: /src/mcl/test/bn_c_test.hpp:728,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:729,1
    - Dst: memset
      Src: /src/mcl/test/bn_c_test.hpp:731,1
    - Dst: mclBnFr_setStr
      Src: /src/mcl/test/bn_c_test.hpp:732,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:733,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:734,1
    - Dst: mclBnFr_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:734,1
    - Dst: mclBnFr_getStr
      Src: /src/mcl/test/bn_c_test.hpp:736,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:737,1
    - Dst: mclBnG1_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:741,1
    - Dst: mclBnG1_getStr
      Src: /src/mcl/test/bn_c_test.hpp:742,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:743,1
    - Dst: mclBnG1_setStr
      Src: /src/mcl/test/bn_c_test.hpp:745,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:746,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:747,1
    - Dst: mclBnG1_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:747,1
    - Dst: mclBnG1_setStr
      Src: /src/mcl/test/bn_c_test.hpp:749,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:750,1
    - Dst: memset
      Src: /src/mcl/test/bn_c_test.hpp:752,1
    - Dst: mclBnG1_setStr
      Src: /src/mcl/test/bn_c_test.hpp:753,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:754,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:755,1
    - Dst: mclBnG1_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:755,1
    - Dst: mclBnG1_getStr
      Src: /src/mcl/test/bn_c_test.hpp:757,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:758,1
    - Dst: mclBnG2_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:762,1
    - Dst: mclBnG2_getStr
      Src: /src/mcl/test/bn_c_test.hpp:763,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:764,1
    - Dst: mclBnG2_setStr
      Src: /src/mcl/test/bn_c_test.hpp:766,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:767,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:768,1
    - Dst: mclBnG2_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:768,1
    - Dst: mclBnG2_setStr
      Src: /src/mcl/test/bn_c_test.hpp:770,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:771,1
    - Dst: memset
      Src: /src/mcl/test/bn_c_test.hpp:773,1
    - Dst: mclBnG2_setStr
      Src: /src/mcl/test/bn_c_test.hpp:774,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:775,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:776,1
    - Dst: mclBnG2_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:776,1
    - Dst: mclBnG2_getStr
      Src: /src/mcl/test/bn_c_test.hpp:778,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 780
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 780
    functionName: serializeToHexStrTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnG1_isEqual
    - CYBOZU_TEST_ASSERT
    - mclBnFr_setInt
    - CYBOZU_TEST_EQUAL
    - mclBnG1_getStr
    - mclBnFr_getStr
    - memset
    - mclBnG1_setStr
    - mclBnG1_hashAndMapTo
    - mclBnG2_getStr
    - mclBnG2_isEqual
    - mclBnG2_setStr
    - mclBnFr_isEqual
    - mclBnG2_hashAndMapTo
    - mclBnFr_setStr
    linkageType: ''
    returnType: void
    signature: void serializeToHexStrTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBn_setETHserialization
      Src: /src/mcl/test/bn_c_test.hpp:793,1
    - Dst: mclBnFr_deserialize
      Src: /src/mcl/test/bn_c_test.hpp:794,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:795,1
    - Dst: mclBnFr_getStr
      Src: /src/mcl/test/bn_c_test.hpp:796,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:797,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:798,1
    - Dst: strcmp
      Src: /src/mcl/test/bn_c_test.hpp:798,1
    - Dst: mclBn_setETHserialization
      Src: /src/mcl/test/bn_c_test.hpp:800,1
    - Dst: mclBnFr_deserialize
      Src: /src/mcl/test/bn_c_test.hpp:801,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:802,1
    - Dst: mclBnFr_getStr
      Src: /src/mcl/test/bn_c_test.hpp:803,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:804,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:805,1
    - Dst: strcmp
      Src: /src/mcl/test/bn_c_test.hpp:805,1
    - Dst: mclBn_setETHserialization
      Src: /src/mcl/test/bn_c_test.hpp:808,1
    - Dst: mclBnFp_deserialize
      Src: /src/mcl/test/bn_c_test.hpp:809,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:810,1
    - Dst: mclBnFp_getStr
      Src: /src/mcl/test/bn_c_test.hpp:811,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:812,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:813,1
    - Dst: strcmp
      Src: /src/mcl/test/bn_c_test.hpp:813,1
    - Dst: mclBn_setETHserialization
      Src: /src/mcl/test/bn_c_test.hpp:815,1
    - Dst: mclBnFp_deserialize
      Src: /src/mcl/test/bn_c_test.hpp:816,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:817,1
    - Dst: mclBnFp_getStr
      Src: /src/mcl/test/bn_c_test.hpp:818,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:819,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:820,1
    - Dst: strcmp
      Src: /src/mcl/test/bn_c_test.hpp:820,1
    - Dst: mclBn_setETHserialization
      Src: /src/mcl/test/bn_c_test.hpp:822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 823
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 823
    functionName: ETHserializationTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - strcmp
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - mclBnFp_deserialize
    - mclBnFr_getStr
    - mclBn_setETHserialization
    - mclBnFr_deserialize
    - mclBnFp_getStr
    linkageType: ''
    returnType: void
    signature: void ETHserializationTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:832,1
    - Dst: mclBnFp_setStr
      Src: /src/mcl/test/bn_c_test.hpp:832,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:832,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:833,1
    - Dst: mclBnFp_setStr
      Src: /src/mcl/test/bn_c_test.hpp:833,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - ' s'
    argTypes:
    - mclBnFp2*
    - Fp2Str
    constantsTouched: []
    func_position:
      end: 834
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 834
    functionName: setFp2
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - strlen
    - mclBnFp_setStr
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void setFp2(mclBnFp2 *x, const Fp2Str& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBn_init
      Src: /src/mcl/test/bn_c_test.hpp:840,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:841,1
    - Dst: mclBnG2_setStr
      Src: /src/mcl/test/bn_c_test.hpp:844,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:844,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 846
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 846
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_ASSERT
    - mclBn_init
    - CYBOZU_TEST_EQUAL
    - mclBnG2_setStr
    - strlen
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(badG2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 851
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 851
    functionName: Sequential
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sequential()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Sequential*>
      Src: /src/mcl/test/bn_c_test.hpp:854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - self
    - buf
    - bufSize
    argTypes:
    - void*
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 861
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 861
    functionName: read
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 58
    functionsReached:
    - reinterpret_cast<Sequential*>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t read(void *self, void *buf, uint32_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/bn_c_test.hpp:868,1
    - Dst: mclBnFr_setByCSPRNG
      Src: /src/mcl/test/bn_c_test.hpp:873,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:874,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:876,1
    - Dst: printf
      Src: /src/mcl/test/bn_c_test.hpp:877,1
    - Dst: mclBn_setRandFunc
      Src: /src/mcl/test/bn_c_test.hpp:880,1
    - Dst: mclBn_setRandFunc
      Src: /src/mcl/test/bn_c_test.hpp:882,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 885
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 885
    functionName: setRandFuncTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_ASSERT
    - printf
    - CYBOZU_TEST_EQUAL
    - puts
    - mclBn_setRandFunc
    - mclBnFr_setByCSPRNG
    linkageType: ''
    returnType: void
    signature: void setRandFuncTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mcl/test/bn_c_test.hpp:890,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:891,1
    - Dst: mclBnFp_isValid
      Src: /src/mcl/test/bn_c_test.hpp:891,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:892,1
    - Dst: mclBnFp_isZero
      Src: /src/mcl/test/bn_c_test.hpp:892,1
    - Dst: mclBnFp_clear
      Src: /src/mcl/test/bn_c_test.hpp:894,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:895,1
    - Dst: mclBnFp_isZero
      Src: /src/mcl/test/bn_c_test.hpp:895,1
    - Dst: mclBnFp_setInt
      Src: /src/mcl/test/bn_c_test.hpp:897,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:898,1
    - Dst: mclBnFp_isOne
      Src: /src/mcl/test/bn_c_test.hpp:898,1
    - Dst: mclBnFp_setInt
      Src: /src/mcl/test/bn_c_test.hpp:900,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:901,1
    - Dst: mclBnFp_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:901,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:904,1
    - Dst: mclBnFp_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:904,1
    - Dst: mclBnFp_setHashOf
      Src: /src/mcl/test/bn_c_test.hpp:906,1
    - Dst: mclBnFp_setHashOf
      Src: /src/mcl/test/bn_c_test.hpp:907,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:908,1
    - Dst: mclBnFp_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:908,1
    - Dst: mclBnFp_setHashOf
      Src: /src/mcl/test/bn_c_test.hpp:909,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:910,1
    - Dst: mclBnFp_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:910,1
    - Dst: mclBnFp_setInt
      Src: /src/mcl/test/bn_c_test.hpp:913,1
    - Dst: mclBnFp_getStr
      Src: /src/mcl/test/bn_c_test.hpp:915,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:916,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:917,1
    - Dst: mclBnFp_setInt
      Src: /src/mcl/test/bn_c_test.hpp:919,1
    - Dst: mclBnFp_neg
      Src: /src/mcl/test/bn_c_test.hpp:920,1
    - Dst: mclBnFp_getStr
      Src: /src/mcl/test/bn_c_test.hpp:921,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:922,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:923,1
    - Dst: mclBnFp_setInt
      Src: /src/mcl/test/bn_c_test.hpp:925,1
    - Dst: mclBnFp_add
      Src: /src/mcl/test/bn_c_test.hpp:926,1
    - Dst: mclBnFp_getStr
      Src: /src/mcl/test/bn_c_test.hpp:927,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:928,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:929,1
    - Dst: mclBnFp_setInt
      Src: /src/mcl/test/bn_c_test.hpp:931,1
    - Dst: mclBnFp_sub
      Src: /src/mcl/test/bn_c_test.hpp:932,1
    - Dst: mclBnFp_getStr
      Src: /src/mcl/test/bn_c_test.hpp:933,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:934,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:935,1
    - Dst: mclBnFp_mul
      Src: /src/mcl/test/bn_c_test.hpp:937,1
    - Dst: mclBnFp_getStr
      Src: /src/mcl/test/bn_c_test.hpp:938,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:939,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:940,1
    - Dst: mclBnFp_div
      Src: /src/mcl/test/bn_c_test.hpp:942,1
    - Dst: mclBnFp_getStr
      Src: /src/mcl/test/bn_c_test.hpp:943,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:944,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:945,1
    - Dst: mclBnFp_mul
      Src: /src/mcl/test/bn_c_test.hpp:947,1
    - Dst: mclBnFp_sqr
      Src: /src/mcl/test/bn_c_test.hpp:948,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:949,1
    - Dst: mclBnFp_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:949,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:952,1
    - Dst: mclBnFp_setStr
      Src: /src/mcl/test/bn_c_test.hpp:952,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:952,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:954,1
    - Dst: mclBnFp_setStr
      Src: /src/mcl/test/bn_c_test.hpp:954,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:954,1
    - Dst: mclBnFp_add
      Src: /src/mcl/test/bn_c_test.hpp:955,1
    - Dst: mclBnFp_getStr
      Src: /src/mcl/test/bn_c_test.hpp:956,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:957,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:958,1
    - Dst: mclBnFp_setInt
      Src: /src/mcl/test/bn_c_test.hpp:960,1
    - Dst: mclBnFp_neg
      Src: /src/mcl/test/bn_c_test.hpp:961,1
    - Dst: mclBnFp_getStr
      Src: /src/mcl/test/bn_c_test.hpp:962,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:963,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:964,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:964,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:965,1
    - Dst: mclBnFp_setStr
      Src: /src/mcl/test/bn_c_test.hpp:965,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:966,1
    - Dst: mclBnFp_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:966,1
    - Dst: mclBnFp_setByCSPRNG
      Src: /src/mcl/test/bn_c_test.hpp:969,1
    - Dst: mclBnFp_getStr
      Src: /src/mcl/test/bn_c_test.hpp:970,1
    - Dst: printf
      Src: /src/mcl/test/bn_c_test.hpp:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 973
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 973
    functionName: Fp_1Test
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnFp_add
    - printf
    - CYBOZU_TEST_EQUAL
    - mclBnFp_setStr
    - memset
    - mclBnFp_sub
    - mclBnFp_isOne
    - mclBnFp_sqr
    - mclBnFp_clear
    - mclBnFp_isEqual
    - mclBnFp_isValid
    - mclBnFp_isZero
    - mclBnFp_div
    - mclBnFp_mul
    - CYBOZU_TEST_ASSERT
    - mclBnFp_neg
    - mclBnFp_setHashOf
    - mclBnFp_setByCSPRNG
    - mclBnFp_getStr
    - strlen
    - mclBnFp_setInt
    linkageType: ''
    returnType: void
    signature: void Fp_1Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:980,1
    - Dst: mclBnFp_serialize
      Src: /src/mcl/test/bn_c_test.hpp:981,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:982,1
    - Dst: mclBnFp_deserialize
      Src: /src/mcl/test/bn_c_test.hpp:983,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:984,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:985,1
    - Dst: mclBnFp_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:985,1
    - Dst: mclBnFp_setLittleEndian
      Src: /src/mcl/test/bn_c_test.hpp:989,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:990,1
    - Dst: memset
      Src: /src/mcl/test/bn_c_test.hpp:991,1
    - Dst: mclBnFp_serialize
      Src: /src/mcl/test/bn_c_test.hpp:992,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:993,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:995,1
    - Dst: mclBnFp_clear
      Src: /src/mcl/test/bn_c_test.hpp:997,1
    - Dst: memset
      Src: /src/mcl/test/bn_c_test.hpp:998,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:999,1
    - Dst: mclBnFp_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:999,1
    - Dst: mclBnFp_clear
      Src: /src/mcl/test/bn_c_test.hpp:1001,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1002,1
    - Dst: mclBnFp_isZero
      Src: /src/mcl/test/bn_c_test.hpp:1002,1
    - Dst: mclBnFp_setInt
      Src: /src/mcl/test/bn_c_test.hpp:1004,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1005,1
    - Dst: mclBnFp_isOne
      Src: /src/mcl/test/bn_c_test.hpp:1005,1
    - Dst: mclBnFp_setInt
      Src: /src/mcl/test/bn_c_test.hpp:1007,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1008,1
    - Dst: mclBnFp_isOne
      Src: /src/mcl/test/bn_c_test.hpp:1008,1
    - Dst: mclBnFp_neg
      Src: /src/mcl/test/bn_c_test.hpp:1009,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1010,1
    - Dst: mclBnFp_isOne
      Src: /src/mcl/test/bn_c_test.hpp:1010,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 1011
    functionName: FpTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnFp_isEqual
    - mclBnFp_clear
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - mclBnFp_deserialize
    - mclBnFp_setLittleEndian
    - mclBnFp_neg
    - memset
    - mclBnFp_isOne
    - mclBnFp_isZero
    - mclBnFp_serialize
    - mclBnFp_setInt
    linkageType: ''
    returnType: void
    signature: void FpTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBn_getFieldOrder
      Src: /src/mcl/test/bn_c_test.hpp:1019,1
    - Dst: mpz_class
      Src: /src/mcl/test/bn_c_test.hpp:1021,1
    - Dst: mclBn_getFpByteSize
      Src: /src/mcl/test/bn_c_test.hpp:1021,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1024,1
    - Dst: mclBnFp_getStr
      Src: /src/mcl/test/bn_c_test.hpp:1025,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1026,1
    - Dst: mpz_class
      Src: /src/mcl/test/bn_c_test.hpp:1026,1
    - Dst: mclBn_getCurveOrder
      Src: /src/mcl/test/bn_c_test.hpp:1031,1
    - Dst: mpz_class
      Src: /src/mcl/test/bn_c_test.hpp:1033,1
    - Dst: mclBn_getFrByteSize
      Src: /src/mcl/test/bn_c_test.hpp:1033,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1036,1
    - Dst: mclBnFr_getStr
      Src: /src/mcl/test/bn_c_test.hpp:1037,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1038,1
    - Dst: mpz_class
      Src: /src/mcl/test/bn_c_test.hpp:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1040
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBn_getFpByteSize
    - CYBOZU_TEST_EQUAL
    - mclBn_getFieldOrder
    - mclBn_getFrByteSize
    - mclBn_getCurveOrder
    - mclBnFr_getStr
    - mpz_class
    - mclBnFp_getStr
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1048,1
    - Dst: mclBnFp_setHashOf
      Src: /src/mcl/test/bn_c_test.hpp:1049,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1050,1
    - Dst: mclBnFp2_serialize
      Src: /src/mcl/test/bn_c_test.hpp:1051,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1052,1
    - Dst: mclBnFp2_deserialize
      Src: /src/mcl/test/bn_c_test.hpp:1053,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1054,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1055,1
    - Dst: mclBnFp2_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:1055,1
    - Dst: mclBnFp2_add
      Src: /src/mcl/test/bn_c_test.hpp:1058,1
    - Dst: mclBnFp_add
      Src: /src/mcl/test/bn_c_test.hpp:1061,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1062,1
    - Dst: mclBnFp_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:1062,1
    - Dst: mclBnFp2_sub
      Src: /src/mcl/test/bn_c_test.hpp:1064,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1065,1
    - Dst: mclBnFp2_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:1065,1
    - Dst: mclBnFp2_mul
      Src: /src/mcl/test/bn_c_test.hpp:1066,1
    - Dst: mclBnFp2_div
      Src: /src/mcl/test/bn_c_test.hpp:1067,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1068,1
    - Dst: mclBnFp2_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:1068,1
    - Dst: mclBnFp2_inv
      Src: /src/mcl/test/bn_c_test.hpp:1069,1
    - Dst: mclBnFp2_mul
      Src: /src/mcl/test/bn_c_test.hpp:1070,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1071,1
    - Dst: mclBnFp2_isOne
      Src: /src/mcl/test/bn_c_test.hpp:1071,1
    - Dst: mclBnFp2_sqr
      Src: /src/mcl/test/bn_c_test.hpp:1072,1
    - Dst: mclBnFp2_mul
      Src: /src/mcl/test/bn_c_test.hpp:1073,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1074,1
    - Dst: mclBnFp2_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:1074,1
    - Dst: mclBnFp2_sub
      Src: /src/mcl/test/bn_c_test.hpp:1075,1
    - Dst: mclBnFp2_sub
      Src: /src/mcl/test/bn_c_test.hpp:1076,1
    - Dst: mclBnFp2_neg
      Src: /src/mcl/test/bn_c_test.hpp:1077,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1078,1
    - Dst: mclBnFp2_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:1078,1
    - Dst: mclBnFp2_clear
      Src: /src/mcl/test/bn_c_test.hpp:1080,1
    - Dst: memset
      Src: /src/mcl/test/bn_c_test.hpp:1081,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1082,1
    - Dst: mclBnFp2_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:1082,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1083,1
    - Dst: mclBnFp2_isZero
      Src: /src/mcl/test/bn_c_test.hpp:1083,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1084
    functionName: Fp2Test
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnFp_isEqual
    - mclBnFp_add
    - mclBnFp2_clear
    - mclBnFp2_isZero
    - CYBOZU_TEST_ASSERT
    - mclBnFp2_add
    - mclBnFp2_serialize
    - mclBnFp2_isEqual
    - mclBnFp2_div
    - mclBnFp2_deserialize
    - mclBnFp2_isOne
    - mclBnFp2_neg
    - mclBnFp_setHashOf
    - mclBnFp2_mul
    - memset
    - mclBnFp2_sub
    - mclBnFp2_sqr
    - mclBnFp2_inv
    linkageType: ''
    returnType: void
    signature: void Fp2Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:1090,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1091,1
    - Dst: mclBnFr_squareRoot
      Src: /src/mcl/test/bn_c_test.hpp:1091,1
    - Dst: mclBnFr_sqr
      Src: /src/mcl/test/bn_c_test.hpp:1092,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1093,1
    - Dst: mclBnFr_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:1093,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:1096,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1097,1
    - Dst: mclBnFr_serialize
      Src: /src/mcl/test/bn_c_test.hpp:1097,1
    - Dst: printf
      Src: /src/mcl/test/bn_c_test.hpp:1104,1
    - Dst: mclBnFr_setInt
      Src: /src/mcl/test/bn_c_test.hpp:1105,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1106,1
    - Dst: mclBnFr_squareRoot
      Src: /src/mcl/test/bn_c_test.hpp:1106,1
    - Dst: mclBnFr_sqr
      Src: /src/mcl/test/bn_c_test.hpp:1108,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1109,1
    - Dst: mclBnFr_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:1109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1111
    functionName: squareRootFrTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_ASSERT
    - mclBnFr_setInt
    - CYBOZU_TEST_EQUAL
    - printf
    - mclBnFr_squareRoot
    - mclBnFr_sqr
    - mclBnFr_serialize
    - mclBnFr_isEqual
    linkageType: ''
    returnType: void
    signature: void squareRootFrTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnFp_setInt
      Src: /src/mcl/test/bn_c_test.hpp:1117,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1118,1
    - Dst: mclBnFp_squareRoot
      Src: /src/mcl/test/bn_c_test.hpp:1118,1
    - Dst: mclBnFp_sqr
      Src: /src/mcl/test/bn_c_test.hpp:1119,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1120,1
    - Dst: mclBnFp_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:1120,1
    - Dst: mclBnFp_setInt
      Src: /src/mcl/test/bn_c_test.hpp:1123,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1124,1
    - Dst: mclBnFp_serialize
      Src: /src/mcl/test/bn_c_test.hpp:1124,1
    - Dst: printf
      Src: /src/mcl/test/bn_c_test.hpp:1131,1
    - Dst: mclBnFp_setInt
      Src: /src/mcl/test/bn_c_test.hpp:1132,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1133,1
    - Dst: mclBnFp_squareRoot
      Src: /src/mcl/test/bn_c_test.hpp:1133,1
    - Dst: mclBnFp_sqr
      Src: /src/mcl/test/bn_c_test.hpp:1135,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1136,1
    - Dst: mclBnFp_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:1136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1138
    functionName: squareRootFpTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnFp_isEqual
    - CYBOZU_TEST_ASSERT
    - printf
    - CYBOZU_TEST_EQUAL
    - mclBnFp_squareRoot
    - mclBnFp_sqr
    - mclBnFp_serialize
    - mclBnFp_setInt
    linkageType: ''
    returnType: void
    signature: void squareRootFpTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnFp_setByCSPRNG
      Src: /src/mcl/test/bn_c_test.hpp:1144,1
    - Dst: mclBnFp_setByCSPRNG
      Src: /src/mcl/test/bn_c_test.hpp:1145,1
    - Dst: mclBnFp2_sqr
      Src: /src/mcl/test/bn_c_test.hpp:1146,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1147,1
    - Dst: mclBnFp2_squareRoot
      Src: /src/mcl/test/bn_c_test.hpp:1147,1
    - Dst: mclBnFp2_sqr
      Src: /src/mcl/test/bn_c_test.hpp:1148,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1149,1
    - Dst: mclBnFp2_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:1149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1140
    functionDepth: 1
    functionLinenumber: 1140
    functionLinenumberEnd: 1151
    functionName: squareRootFp2Test
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    - mclBnFp2_isEqual
    - mclBnFp_setByCSPRNG
    - mclBnFp2_squareRoot
    - mclBnFp2_sqr
    linkageType: ''
    returnType: void
    signature: void squareRootFp2Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnFp_setHashOf
      Src: /src/mcl/test/bn_c_test.hpp:1157,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1159,1
    - Dst: mclBnG1_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:1160,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1161,1
    - Dst: mclBnG1_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:1161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1153
    functionDepth: 1
    functionLinenumber: 1153
    functionLinenumberEnd: 1162
    functionName: mapToG1Test
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnG1_isEqual
    - mclBnG1_hashAndMapTo
    - mclBnFp_setHashOf
    - CYBOZU_TEST_ASSERT
    linkageType: ''
    returnType: void
    signature: void mapToG1Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnFp_setHashOf
      Src: /src/mcl/test/bn_c_test.hpp:1168,1
    - Dst: mclBnFp_clear
      Src: /src/mcl/test/bn_c_test.hpp:1169,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1171,1
    - Dst: mclBnG2_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:1172,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1173,1
    - Dst: mclBnG2_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1164
    functionDepth: 1
    functionLinenumber: 1164
    functionLinenumberEnd: 1174
    functionName: mapToG2Test
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnFp_clear
    - CYBOZU_TEST_ASSERT
    - mclBnFp_setHashOf
    - mclBnG2_isEqual
    - mclBnG2_hashAndMapTo
    linkageType: ''
    returnType: void
    signature: void mapToG2Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bn_c_test.hpp:1189,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1192,1
    - Dst: mclBnFr_setStr
      Src: /src/mcl/test/bn_c_test.hpp:1192,1
    - Dst: strlen
      Src: /src/mcl/test/bn_c_test.hpp:1192,1
    - Dst: mclBnFr_getLittleEndian
      Src: /src/mcl/test/bn_c_test.hpp:1194,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1195,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/bn_c_test.hpp:1196,1
    - Dst: mclBnFr_getLittleEndian
      Src: /src/mcl/test/bn_c_test.hpp:1198,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1199,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/bn_c_test.hpp:1200,1
    - Dst: mclBnFr_getLittleEndian
      Src: /src/mcl/test/bn_c_test.hpp:1202,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1205
    functionName: getLittleEndianTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - mclBnFr_getLittleEndian
    - strlen
    - mclBnFr_setStr
    linkageType: ''
    returnType: void
    signature: void getLittleEndianTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnG1_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:1217,1
    - Dst: mclBnG1_clear
      Src: /src/mcl/test/bn_c_test.hpp:1219,1
    - Dst: mclBnG2_hashAndMapTo
      Src: /src/mcl/test/bn_c_test.hpp:1221,1
    - Dst: mclBn_pairing
      Src: /src/mcl/test/bn_c_test.hpp:1222,1
    - Dst: mclBnFr_setHashOf
      Src: /src/mcl/test/bn_c_test.hpp:1224,1
    - Dst: memcpy
      Src: /src/mcl/test/bn_c_test.hpp:1227,1
    - Dst: mclBnG1_mulVec
      Src: /src/mcl/test/bn_c_test.hpp:1229,1
    - Dst: mclBnG2_mulVec
      Src: /src/mcl/test/bn_c_test.hpp:1230,1
    - Dst: mclBnGT_powVec
      Src: /src/mcl/test/bn_c_test.hpp:1231,1
    - Dst: mclBnG1_mulEach
      Src: /src/mcl/test/bn_c_test.hpp:1232,1
    - Dst: mclBnG1_clear
      Src: /src/mcl/test/bn_c_test.hpp:1234,1
    - Dst: mclBnG2_clear
      Src: /src/mcl/test/bn_c_test.hpp:1235,1
    - Dst: mclBnGT_setInt
      Src: /src/mcl/test/bn_c_test.hpp:1236,1
    - Dst: mclBnG1_mul
      Src: /src/mcl/test/bn_c_test.hpp:1241,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1242,1
    - Dst: mclBnG1_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:1242,1
    - Dst: mclBnG1_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:1244,1
    - Dst: printf
      Src: /src/mcl/test/bn_c_test.hpp:1246,1
    - Dst: mclBnG1_getStr
      Src: /src/mcl/test/bn_c_test.hpp:1247,1
    - Dst: printf
      Src: /src/mcl/test/bn_c_test.hpp:1248,1
    - Dst: mclBnFr_getStr
      Src: /src/mcl/test/bn_c_test.hpp:1249,1
    - Dst: printf
      Src: /src/mcl/test/bn_c_test.hpp:1250,1
    - Dst: mclBnG1_getStr
      Src: /src/mcl/test/bn_c_test.hpp:1251,1
    - Dst: printf
      Src: /src/mcl/test/bn_c_test.hpp:1252,1
    - Dst: mclBnG1_getStr
      Src: /src/mcl/test/bn_c_test.hpp:1253,1
    - Dst: printf
      Src: /src/mcl/test/bn_c_test.hpp:1254,1
    - Dst: exit
      Src: /src/mcl/test/bn_c_test.hpp:1255,1
    - Dst: mclBnG2_mul
      Src: /src/mcl/test/bn_c_test.hpp:1258,1
    - Dst: mclBnGT_pow
      Src: /src/mcl/test/bn_c_test.hpp:1259,1
    - Dst: mclBnG1_add
      Src: /src/mcl/test/bn_c_test.hpp:1260,1
    - Dst: mclBnG2_add
      Src: /src/mcl/test/bn_c_test.hpp:1261,1
    - Dst: mclBnGT_mul
      Src: /src/mcl/test/bn_c_test.hpp:1262,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1264,1
    - Dst: mclBnG1_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:1264,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1265,1
    - Dst: mclBnG2_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:1265,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1266,1
    - Dst: mclBnGT_isEqual
      Src: /src/mcl/test/bn_c_test.hpp:1266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1207
    functionDepth: 1
    functionLinenumber: 1207
    functionLinenumberEnd: 1267
    functionName: mulVecTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - printf
    - mclBnGT_setInt
    - mclBnG2_mul
    - mclBnG2_mulVec
    - mclBnGT_isEqual
    - mclBnG1_clear
    - mclBnGT_powVec
    - mclBnG1_mulVec
    - mclBnFr_setHashOf
    - memcpy
    - mclBnG2_hashAndMapTo
    - mclBnG1_isEqual
    - mclBnG2_add
    - mclBnG1_mulEach
    - mclBnG1_mul
    - mclBnG2_clear
    - mclBnFr_getStr
    - mclBn_pairing
    - mclBnGT_pow
    - CYBOZU_TEST_ASSERT
    - mclBnG1_getStr
    - exit
    - mclBnG1_hashAndMapTo
    - mclBnG1_add
    - mclBnG2_isEqual
    - mclBnGT_mul
    linkageType: ''
    returnType: void
    signature: void mulVecTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1272,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1273,1
    - Dst: mclBn_getCurveType
      Src: /src/mcl/test/bn_c_test.hpp:1273,1
    - Dst: FrTest
      Src: /src/mcl/test/bn_c_test.hpp:1274,1
    - Dst: Fr_powTest
      Src: /src/mcl/test/bn_c_test.hpp:1275,1
    - Dst: Fp_powTest
      Src: /src/mcl/test/bn_c_test.hpp:1276,1
    - Dst: G1Test
      Src: /src/mcl/test/bn_c_test.hpp:1277,1
    - Dst: G2Test
      Src: /src/mcl/test/bn_c_test.hpp:1278,1
    - Dst: GTTest
      Src: /src/mcl/test/bn_c_test.hpp:1279,1
    - Dst: GT_invTest
      Src: /src/mcl/test/bn_c_test.hpp:1280,1
    - Dst: Fp_invVecTest
      Src: /src/mcl/test/bn_c_test.hpp:1281,1
    - Dst: Fr_invVecTest
      Src: /src/mcl/test/bn_c_test.hpp:1282,1
    - Dst: Fr_isNegativeTest
      Src: /src/mcl/test/bn_c_test.hpp:1283,1
    - Dst: Fp_isNegativeTest
      Src: /src/mcl/test/bn_c_test.hpp:1284,1
    - Dst: Fr_isOddTest
      Src: /src/mcl/test/bn_c_test.hpp:1285,1
    - Dst: Fp_isOddTest
      Src: /src/mcl/test/bn_c_test.hpp:1286,1
    - Dst: pairingTest
      Src: /src/mcl/test/bn_c_test.hpp:1287,1
    - Dst: precomputedTest
      Src: /src/mcl/test/bn_c_test.hpp:1288,1
    - Dst: millerLoopVecTest
      Src: /src/mcl/test/bn_c_test.hpp:1289,1
    - Dst: millerLoopVecMTTest
      Src: /src/mcl/test/bn_c_test.hpp:1290,1
    - Dst: serializeTest
      Src: /src/mcl/test/bn_c_test.hpp:1291,1
    - Dst: serializeToHexStrTest
      Src: /src/mcl/test/bn_c_test.hpp:1292,1
    - Dst: ETHserializationTest
      Src: /src/mcl/test/bn_c_test.hpp:1293,1
    - Dst: setRandFuncTest
      Src: /src/mcl/test/bn_c_test.hpp:1294,1
    - Dst: Fp_1Test
      Src: /src/mcl/test/bn_c_test.hpp:1295,1
    - Dst: FpTest
      Src: /src/mcl/test/bn_c_test.hpp:1296,1
    - Dst: Fp2Test
      Src: /src/mcl/test/bn_c_test.hpp:1297,1
    - Dst: squareRootFrTest
      Src: /src/mcl/test/bn_c_test.hpp:1298,1
    - Dst: squareRootFpTest
      Src: /src/mcl/test/bn_c_test.hpp:1299,1
    - Dst: squareRootFp2Test
      Src: /src/mcl/test/bn_c_test.hpp:1300,1
    - Dst: mapToG1Test
      Src: /src/mcl/test/bn_c_test.hpp:1301,1
    - Dst: mapToG2Test
      Src: /src/mcl/test/bn_c_test.hpp:1302,1
    - Dst: getLittleEndianTest
      Src: /src/mcl/test/bn_c_test.hpp:1303,1
    - Dst: mulVecTest
      Src: /src/mcl/test/bn_c_test.hpp:1304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 1
    argNames:
    - curveType
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1305
      start: 1269
    functionDepth: 2
    functionLinenumber: 1269
    functionLinenumberEnd: 1305
    functionName: testAll
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - Fp_invVecTest
    - FrTest
    - Fp_isNegativeTest
    - squareRootFpTest
    - CYBOZU_TEST_EQUAL
    - squareRootFp2Test
    - G1Test
    - G2Test
    - Fp_1Test
    - mapToG1Test
    - mclBn_getCurveType
    - mapToG2Test
    - Fp_powTest
    - squareRootFrTest
    - Fr_isNegativeTest
    - pairingTest
    - FpTest
    - millerLoopVecTest
    - serializeTest
    - getLittleEndianTest
    - mulVecTest
    - ETHserializationTest
    - Fr_isOddTest
    - setRandFuncTest
    - Fr_invVecTest
    - precomputedTest
    - millerLoopVecMTTest
    - GTTest
    - GT_invTest
    - Fp2Test
    - serializeToHexStrTest
    - Fp_isOddTest
    - Fr_powTest
    linkageType: ''
    returnType: void
    signature: void testAll(int curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1309,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1310,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1311,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1312,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bn_c_test.hpp:1327,1
    - Dst: printf
      Src: /src/mcl/test/bn_c_test.hpp:1328,1
    - Dst: testAll
      Src: /src/mcl/test/bn_c_test.hpp:1329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1331
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - testAll
    - printf
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(init)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/bn_c_test.hpp:1335,1
    - Dst: mclBn_init
      Src: /src/mcl/test/bn_c_test.hpp:1337,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1338,1
    - Dst: mclBnG1_getBasePoint
      Src: /src/mcl/test/bn_c_test.hpp:1340,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_c_test.hpp:1341,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_c_test.hpp:1344,1
    - Dst: printf
      Src: /src/mcl/test/bn_c_test.hpp:1345,1
    - Dst: G1Test
      Src: /src/mcl/test/bn_c_test.hpp:1346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - curve
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1347
      start: 1333
    functionDepth: 2
    functionLinenumber: 1333
    functionLinenumberEnd: 1347
    functionName: G1onlyTest
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_ASSERT
    - mclBn_init
    - printf
    - CYBOZU_TEST_EQUAL
    - G1Test
    - mclBnG1_getBasePoint
    linkageType: ''
    returnType: void
    signature: void G1onlyTest(int curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bn_c_test.hpp:1362,1
    - Dst: G1onlyTest
      Src: /src/mcl/test/bn_c_test.hpp:1363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1349
    functionDepth: 3
    functionLinenumber: 1349
    functionLinenumberEnd: 1365
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bn_c_test.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - G1onlyTest
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(G1only)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:69,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:70,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:71,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:72,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:73,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:74,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:80,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/bls12_test.cpp:80,1
    - Dst: mpz_class
      Src: /src/mcl/test/bls12_test.cpp:80,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:81,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/bls12_test.cpp:81,1
    - Dst: mpz_class
      Src: /src/mcl/test/bls12_test.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ts'
    argTypes:
    - TestSet
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: testParam
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - mpz_class
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void testParam(const TestSet& ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/bls12_test.cpp:86,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/bls12_test.cpp:87,1
    - Dst: testFp12pow
      Src: /src/mcl/test/bls12_test.cpp:91,1
    - Dst: testFp12pow
      Src: /src/mcl/test/bls12_test.cpp:92,1
    - Dst: testFp12pow
      Src: /src/mcl/test/bls12_test.cpp:93,1
    - Dst: testFp12pow
      Src: /src/mcl/test/bls12_test.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp12
    - Fp12
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: finalExpC
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - testFp12pow
    linkageType: ''
    returnType: void
    signature: void finalExpC(Fp12& y, const Fp12& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: millerLoop
      Src: /src/mcl/test/bls12_test.cpp:101,1
    - Dst: finalExp
      Src: /src/mcl/test/bls12_test.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' e'
    - ' P'
    - ' Q'
    argTypes:
    - Fp12
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: pairingC
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - millerLoop
    - finalExp
    linkageType: ''
    returnType: void
    signature: void pairingC(Fp12& e, const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bls12_test.cpp:108,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bls12_test.cpp:109,1
    - Dst: G1::getStr
      Src: /src/mcl/test/bls12_test.cpp:113,1
    - Dst: setStr
      Src: /src/mcl/test/bls12_test.cpp:114,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:115,1
    - Dst: G2::getStr
      Src: /src/mcl/test/bls12_test.cpp:116,1
    - Dst: setStr
      Src: /src/mcl/test/bls12_test.cpp:117,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:118,1
    - Dst: x::getStr
      Src: /src/mcl/test/bls12_test.cpp:119,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/bls12_test.cpp:120,1
    - Dst: Fp::setStr
      Src: /src/mcl/test/bls12_test.cpp:121,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:122,1
    - Dst: x::getStr
      Src: /src/mcl/test/bls12_test.cpp:123,1
    - Dst: Fp2::setStr
      Src: /src/mcl/test/bls12_test.cpp:125,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 129
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 129
    functionName: testIoAll
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_EQUAL
    - Fp2::setStr
    - G2::getStr
    - G1::getStr
    - Fp::setStr
    - x::getStr
    - Fp::Fp
    - setStr
    linkageType: ''
    returnType: void
    signature: void testIoAll(const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testIoAll
      Src: /src/mcl/test/bls12_test.cpp:133,1
    - Dst: G1::G1
      Src: /src/mcl/test/bls12_test.cpp:134,1
    - Dst: G2::G2
      Src: /src/mcl/test/bls12_test.cpp:135,1
    - Dst: G1::clear
      Src: /src/mcl/test/bls12_test.cpp:136,1
    - Dst: G2::clear
      Src: /src/mcl/test/bls12_test.cpp:137,1
    - Dst: testIoAll
      Src: /src/mcl/test/bls12_test.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: testIo
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - G1::clear
    - testIoAll
    - G2::G2
    - G2::clear
    linkageType: ''
    returnType: void
    signature: void testIo(const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::setCompressedExpression
      Src: /src/mcl/test/bls12_test.cpp:143,1
    - Dst: G2::G2
      Src: /src/mcl/test/bls12_test.cpp:144,1
    - Dst: G2::clear
      Src: /src/mcl/test/bls12_test.cpp:145,1
    - Dst: G2::G2
      Src: /src/mcl/test/bls12_test.cpp:147,1
    - Dst: G2::setStr
      Src: /src/mcl/test/bls12_test.cpp:148,1
    - Dst: G2::getStr
      Src: /src/mcl/test/bls12_test.cpp:148,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:149,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/test/bls12_test.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' Q0'
    argTypes:
    - G2
    constantsTouched: []
    func_position:
      end: 152
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 152
    functionName: testSetStr
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    - G2::setStr
    - G2::G2
    - G2::getStr
    - fiat_bls12_381_fp_add
    - G2::clear
    - mcl::EcT::setCompressedExpression
    linkageType: ''
    returnType: void
    signature: void testSetStr(const G2& Q0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::G1
      Src: /src/mcl/test/bls12_test.cpp:156,1
    - Dst: mapToG1
      Src: /src/mcl/test/bls12_test.cpp:158,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:159,1
    - Dst: G1::isZero
      Src: /src/mcl/test/bls12_test.cpp:159,1
    - Dst: G1::G1
      Src: /src/mcl/test/bls12_test.cpp:160,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/bls12_test.cpp:161,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/bls12_test.cpp:161,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:162,1
    - Dst: G1::isZero
      Src: /src/mcl/test/bls12_test.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: testMapToG1
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - CYBOZU_TEST_ASSERT
    - G1::isZero
    - fiat_bls12_381_fp_mul
    - mapToG1
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: void
    signature: void testMapToG1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G2::G2
      Src: /src/mcl/test/bls12_test.cpp:168,1
    - Dst: mapToG2
      Src: /src/mcl/test/bls12_test.cpp:170,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:171,1
    - Dst: G2::isZero
      Src: /src/mcl/test/bls12_test.cpp:171,1
    - Dst: G2::G2
      Src: /src/mcl/test/bls12_test.cpp:172,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/bls12_test.cpp:173,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/bls12_test.cpp:173,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:174,1
    - Dst: G2::isZero
      Src: /src/mcl/test/bls12_test.cpp:174,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/bls12_test.cpp:176,1
    - Dst: Fp::setHashOf
      Src: /src/mcl/test/bls12_test.cpp:177,1
    - Dst: mapToG2
      Src: /src/mcl/test/bls12_test.cpp:178,1
    - Dst: Fp2
      Src: /src/mcl/test/bls12_test.cpp:178,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:179,1
    - Dst: G2::isValid
      Src: /src/mcl/test/bls12_test.cpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: testMapToG2
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - Fp::setHashOf
    - Fp2
    - CYBOZU_TEST_ASSERT
    - mapToG2
    - G2::G2
    - G2::isZero
    - G2::isValid
    - fiat_bls12_381_fp_mul
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void testMapToG2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pairing
      Src: /src/mcl/test/bls12_test.cpp:185,1
    - Dst: precomputeG2
      Src: /src/mcl/test/bls12_test.cpp:187,1
    - Dst: precomputedMillerLoop
      Src: /src/mcl/test/bls12_test.cpp:188,1
    - Dst: finalExp
      Src: /src/mcl/test/bls12_test.cpp:189,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: testPrecomputed
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - precomputeG2
    - pairing
    - CYBOZU_TEST_EQUAL
    - precomputedMillerLoop
    - finalExp
    linkageType: ''
    returnType: void
    signature: void testPrecomputed(const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pairing
      Src: /src/mcl/test/bls12_test.cpp:197,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bls12_test.cpp:198,1
    - Dst: testFp12pow
      Src: /src/mcl/test/bls12_test.cpp:201,1
    - Dst: mclBnGT_powGeneric
      Src: /src/mcl/test/bls12_test.cpp:202,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:203,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/bls12_test.cpp:206,1
    - Dst: Fr::setRand
      Src: /src/mcl/test/bls12_test.cpp:207,1
    - Dst: Fr::getMpz
      Src: /src/mcl/test/bls12_test.cpp:208,1
    - Dst: testFp12pow
      Src: /src/mcl/test/bls12_test.cpp:209,1
    - Dst: glv2::pow
      Src: /src/mcl/test/bls12_test.cpp:210,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 213
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 213
    functionName: testFp12pow
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 3
    functionsReached:
    - Fr::setRand
    - pairing
    - CYBOZU_TEST_EQUAL
    - testFp12pow
    - glv2::pow
    - Fr::Fr
    - cybozu::XorShift::XorShift
    - Fr::getMpz
    - mclBnGT_powGeneric
    linkageType: ''
    returnType: void
    signature: void testFp12pow(const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G2::G2
      Src: /src/mcl/test/bls12_test.cpp:221,1
    - Dst: G1::G1
      Src: /src/mcl/test/bls12_test.cpp:222,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/bls12_test.cpp:223,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/bls12_test.cpp:224,1
    - Dst: pairing
      Src: /src/mcl/test/bls12_test.cpp:225,1
    - Dst: pairing
      Src: /src/mcl/test/bls12_test.cpp:226,1
    - Dst: precomputeG2
      Src: /src/mcl/test/bls12_test.cpp:230,1
    - Dst: precomputeG2
      Src: /src/mcl/test/bls12_test.cpp:231,1
    - Dst: precomputedMillerLoop2
      Src: /src/mcl/test/bls12_test.cpp:232,1
    - Dst: precomputedMillerLoop2mixed
      Src: /src/mcl/test/bls12_test.cpp:233,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:234,1
    - Dst: finalExp
      Src: /src/mcl/test/bls12_test.cpp:235,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:236,1
    - Dst: G2::G2
      Src: /src/mcl/test/bls12_test.cpp:239,1
    - Dst: G2::clear
      Src: /src/mcl/test/bls12_test.cpp:240,1
    - Dst: precomputeG2
      Src: /src/mcl/test/bls12_test.cpp:242,1
    - Dst: precomputeG2
      Src: /src/mcl/test/bls12_test.cpp:243,1
    - Dst: precomputedMillerLoop2
      Src: /src/mcl/test/bls12_test.cpp:244,1
    - Dst: precomputedMillerLoop2mixed
      Src: /src/mcl/test/bls12_test.cpp:245,1
    - Dst: finalExp
      Src: /src/mcl/test/bls12_test.cpp:246,1
    - Dst: finalExp
      Src: /src/mcl/test/bls12_test.cpp:247,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - ' P1'
    - ' Q1'
    argTypes:
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 249
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 249
    functionName: testMillerLoop2
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - precomputeG2
    - pairing
    - precomputedMillerLoop2
    - precomputedMillerLoop2mixed
    - CYBOZU_TEST_EQUAL
    - G2::G2
    - finalExp
    - G2::clear
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void testMillerLoop2(const G1& P1, const G2& Q1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pairing
      Src: /src/mcl/test/bls12_test.cpp:254,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:260,1
    - Dst: G1::G1
      Src: /src/mcl/test/bls12_test.cpp:262,1
    - Dst: G2::G2
      Src: /src/mcl/test/bls12_test.cpp:263,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bls12_test.cpp:270,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/bls12_test.cpp:272,1
    - Dst: Fr::setRand
      Src: /src/mcl/test/bls12_test.cpp:273,1
    - Dst: Fr::getMpz
      Src: /src/mcl/test/bls12_test.cpp:274,1
    - Dst: testFp12pow
      Src: /src/mcl/test/bls12_test.cpp:275,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/bls12_test.cpp:276,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/bls12_test.cpp:277,1
    - Dst: G1::G1
      Src: /src/mcl/test/bls12_test.cpp:278,1
    - Dst: mulCT
      Src: /src/mcl/test/bls12_test.cpp:279,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:280,1
    - Dst: pairing
      Src: /src/mcl/test/bls12_test.cpp:281,1
    - Dst: pairing
      Src: /src/mcl/test/bls12_test.cpp:282,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:283,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - ' P'
    - ' Q'
    - eStr
    argTypes:
    - G1
    - G2
    - char*
    constantsTouched: []
    func_position:
      end: 286
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 286
    functionName: testPairing
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - mulCT
    - Fr::setRand
    - pairing
    - CYBOZU_TEST_EQUAL
    - testFp12pow
    - G2::G2
    - Fr::Fr
    - cybozu::XorShift::XorShift
    - fiat_bls12_381_fp_mul
    - Fr::getMpz
    linkageType: ''
    returnType: void
    signature: void testPairing(const G1& P, const G2& Q, const char *eStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::G1
      Src: /src/mcl/test/bls12_test.cpp:290,1
    - Dst: G1::clear
      Src: /src/mcl/test/bls12_test.cpp:290,1
    - Dst: G2::G2
      Src: /src/mcl/test/bls12_test.cpp:291,1
    - Dst: G2::clear
      Src: /src/mcl/test/bls12_test.cpp:291,1
    - Dst: pairing
      Src: /src/mcl/test/bls12_test.cpp:293,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:294,1
    - Dst: pairing
      Src: /src/mcl/test/bls12_test.cpp:295,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:296,1
    - Dst: pairing
      Src: /src/mcl/test/bls12_test.cpp:297,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:298,1
    - Dst: precomputeG2
      Src: /src/mcl/test/bls12_test.cpp:301,1
    - Dst: precomputedMillerLoop
      Src: /src/mcl/test/bls12_test.cpp:302,1
    - Dst: finalExp
      Src: /src/mcl/test/bls12_test.cpp:303,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:304,1
    - Dst: precomputeG2
      Src: /src/mcl/test/bls12_test.cpp:306,1
    - Dst: precomputedMillerLoop
      Src: /src/mcl/test/bls12_test.cpp:307,1
    - Dst: finalExp
      Src: /src/mcl/test/bls12_test.cpp:308,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 310
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 310
    functionName: testTrivial
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - G1::clear
    - precomputeG2
    - pairing
    - CYBOZU_TEST_EQUAL
    - G2::G2
    - precomputedMillerLoop
    - finalExp
    - G2::clear
    linkageType: ''
    returnType: void
    signature: void testTrivial(const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:317,1
    - Dst: mcl::EcT::getSerializedByteSize
      Src: /src/mcl/test/bls12_test.cpp:317,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:318,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:320,1
    - Dst: T::deserialize
      Src: /src/mcl/test/bls12_test.cpp:320,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 322
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 322
    functionName: deserializeAndSerialize
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - T::deserialize
    - mcl::EcT::getSerializedByteSize
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void deserializeAndSerialize(const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBn_setETHserialization
      Src: /src/mcl/test/bls12_test.cpp:326,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bls12_test.cpp:337,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/bls12_test.cpp:338,1
    - Dst: Fp::setStr
      Src: /src/mcl/test/bls12_test.cpp:339,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:341,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/bls12_test.cpp:342,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:343,1
    - Dst: deserialize
      Src: /src/mcl/test/bls12_test.cpp:343,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:344,1
    - Dst: deserializeAndSerialize
      Src: /src/mcl/test/bls12_test.cpp:346,1
    - Dst: deserializeAndSerialize
      Src: /src/mcl/test/bls12_test.cpp:347,1
    - Dst: G1::G1
      Src: /src/mcl/test/bls12_test.cpp:348,1
    - Dst: G1::clear
      Src: /src/mcl/test/bls12_test.cpp:349,1
    - Dst: deserializeAndSerialize
      Src: /src/mcl/test/bls12_test.cpp:350,1
    - Dst: deserializeAndSerialize
      Src: /src/mcl/test/bls12_test.cpp:352,1
    - Dst: deserializeAndSerialize
      Src: /src/mcl/test/bls12_test.cpp:353,1
    - Dst: G2::G2
      Src: /src/mcl/test/bls12_test.cpp:354,1
    - Dst: G2::clear
      Src: /src/mcl/test/bls12_test.cpp:355,1
    - Dst: deserializeAndSerialize
      Src: /src/mcl/test/bls12_test.cpp:356,1
    - Dst: mclBn_setETHserialization
      Src: /src/mcl/test/bls12_test.cpp:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 358
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 358
    functionName: testSerialize
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - CYBOZU_NUM_OF_ARRAY
    - G1::G1
    - G1::clear
    - CYBOZU_TEST_EQUAL
    - deserializeAndSerialize
    - G2::G2
    - mclBn_setETHserialization
    - G2::clear
    - Fp::setStr
    - deserialize
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void testSerialize(const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/bls12_test.cpp:364,1
    - Dst: puts
      Src: /src/mcl/test/bls12_test.cpp:366,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bls12_test.cpp:370,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/test/bls12_test.cpp:373,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/test/bls12_test.cpp:375,1
    - Dst: setByCSPRNG
      Src: /src/mcl/test/bls12_test.cpp:378,1
    - Dst: G1::G1
      Src: /src/mcl/test/bls12_test.cpp:380,1
    - Dst: G1::G1
      Src: /src/mcl/test/bls12_test.cpp:381,1
    - Dst: G1::setStr
      Src: /src/mcl/test/bls12_test.cpp:382,1
    - Dst: G1::G1
      Src: /src/mcl/test/bls12_test.cpp:383,1
    - Dst: G1::setStr
      Src: /src/mcl/test/bls12_test.cpp:384,1
    - Dst: mclBnG1_mulVec
      Src: /src/mcl/test/bls12_test.cpp:385,1
    - Dst: std::vector::data
      Src: /src/mcl/test/bls12_test.cpp:385,1
    - Dst: std::vector::data
      Src: /src/mcl/test/bls12_test.cpp:385,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:386,1
    - Dst: mclBnG1_mulVec
      Src: /src/mcl/test/bls12_test.cpp:387,1
    - Dst: std::vector::data
      Src: /src/mcl/test/bls12_test.cpp:387,1
    - Dst: std::vector::data
      Src: /src/mcl/test/bls12_test.cpp:387,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 389
    functionName: testMulVec
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - setByCSPRNG
    - hashAndMapToG1
    - std::vector::data
    - mclBnG1_mulVec
    - puts
    - CYBOZU_TEST_EQUAL
    - fiat_bls12_381_fp_add
    - cybozu::XorShift::XorShift
    - G1::setStr
    linkageType: ''
    returnType: void
    signature: void testMulVec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bls12_test.cpp:394,1
    - Dst: printf
      Src: /src/mcl/test/bls12_test.cpp:396,1
    - Dst: initPairing
      Src: /src/mcl/test/bls12_test.cpp:397,1
    - Dst: Fp
      Src: /src/mcl/test/bls12_test.cpp:398,1
    - Dst: Fp
      Src: /src/mcl/test/bls12_test.cpp:398,1
    - Dst: Fp2
      Src: /src/mcl/test/bls12_test.cpp:399,1
    - Dst: Fp2
      Src: /src/mcl/test/bls12_test.cpp:399,1
    - Dst: pairing
      Src: /src/mcl/test/bls12_test.cpp:403,1
    - Dst: put
      Src: /src/mcl/test/bls12_test.cpp:405,1
    - Dst: testLagrange
      Src: /src/mcl/test/bls12_test.cpp:408,1
    - Dst: testMulVec
      Src: /src/mcl/test/bls12_test.cpp:409,1
    - Dst: testSerialize
      Src: /src/mcl/test/bls12_test.cpp:410,1
    - Dst: testParam
      Src: /src/mcl/test/bls12_test.cpp:411,1
    - Dst: testIo
      Src: /src/mcl/test/bls12_test.cpp:412,1
    - Dst: testTrivial
      Src: /src/mcl/test/bls12_test.cpp:414,1
    - Dst: testSetStr
      Src: /src/mcl/test/bls12_test.cpp:415,1
    - Dst: testMapToG1
      Src: /src/mcl/test/bls12_test.cpp:416,1
    - Dst: testMapToG2
      Src: /src/mcl/test/bls12_test.cpp:417,1
    - Dst: testPairing
      Src: /src/mcl/test/bls12_test.cpp:418,1
    - Dst: testPrecomputed
      Src: /src/mcl/test/bls12_test.cpp:419,1
    - Dst: testMillerLoop2
      Src: /src/mcl/test/bls12_test.cpp:420,1
    - Dst: testCommon
      Src: /src/mcl/test/bls12_test.cpp:421,1
    - Dst: testBench
      Src: /src/mcl/test/bls12_test.cpp:422,1
    - Dst: printf
      Src: /src/mcl/test/bls12_test.cpp:426,1
    - Dst: put
      Src: /src/mcl/test/bls12_test.cpp:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 429
      start: 392
    functionDepth: 3
    functionLinenumber: 392
    functionLinenumberEnd: 429
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - printf
    - initPairing
    - testPairing
    - put
    - testSerialize
    - CYBOZU_NUM_OF_ARRAY
    - testPrecomputed
    - testCommon
    - testBench
    - testParam
    - testTrivial
    - testSetStr
    - Fp2
    - testLagrange
    - Fp
    - testIo
    - testMapToG1
    - pairing
    - testMulVec
    - testMillerLoop2
    - testMapToG2
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(naive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp12::setStr
      Src: /src/mcl/test/bls12_test.cpp:462,1
    - Dst: setStr
      Src: /src/mcl/test/bls12_test.cpp:463,1
    - Dst: finalExp
      Src: /src/mcl/test/bls12_test.cpp:464,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:466,1
    - Dst: puts
      Src: /src/mcl/test/bls12_test.cpp:468,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bls12_test.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 472
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    - puts
    - Fp12::setStr
    - finalExp
    - CYBOZU_BENCH_C
    - setStr
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(finalExp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::G1
      Src: /src/mcl/test/bls12_test.cpp:502,1
    - Dst: G2::G2
      Src: /src/mcl/test/bls12_test.cpp:503,1
    - Dst: G1::setStr
      Src: /src/mcl/test/bls12_test.cpp:504,1
    - Dst: G2::setStr
      Src: /src/mcl/test/bls12_test.cpp:505,1
    - Dst: Fp12::setStr
      Src: /src/mcl/test/bls12_test.cpp:507,1
    - Dst: pairing
      Src: /src/mcl/test/bls12_test.cpp:508,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 510
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 510
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - pairing
    - CYBOZU_TEST_EQUAL
    - G2::setStr
    - G2::G2
    - Fp12::setStr
    - G1::setStr
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(pairing)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initPairing
      Src: /src/mcl/test/bls12_test.cpp:514,1
    - Dst: G1::G1
      Src: /src/mcl/test/bls12_test.cpp:515,1
    - Dst: G2::G2
      Src: /src/mcl/test/bls12_test.cpp:516,1
    - Dst: mapToG1
      Src: /src/mcl/test/bls12_test.cpp:517,1
    - Dst: mapToG2
      Src: /src/mcl/test/bls12_test.cpp:518,1
    - Dst: GT::GT
      Src: /src/mcl/test/bls12_test.cpp:519,1
    - Dst: pairing
      Src: /src/mcl/test/bls12_test.cpp:520,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bls12_test.cpp:521,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/bls12_test.cpp:523,1
    - Dst: Fr::setRand
      Src: /src/mcl/test/bls12_test.cpp:524,1
    - Dst: Fr::getMpz
      Src: /src/mcl/test/bls12_test.cpp:524,1
    - Dst: Fr::setRand
      Src: /src/mcl/test/bls12_test.cpp:525,1
    - Dst: Fr::getMpz
      Src: /src/mcl/test/bls12_test.cpp:525,1
    - Dst: G1::G1
      Src: /src/mcl/test/bls12_test.cpp:526,1
    - Dst: G2::G2
      Src: /src/mcl/test/bls12_test.cpp:527,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/bls12_test.cpp:528,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/bls12_test.cpp:529,1
    - Dst: pairing
      Src: /src/mcl/test/bls12_test.cpp:530,1
    - Dst: testFp12pow
      Src: /src/mcl/test/bls12_test.cpp:531,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' cp'
    argTypes:
    - mcl::CurveParam
    constantsTouched: []
    func_position:
      end: 533
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 533
    functionName: testCurve
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - Fr::setRand
    - pairing
    - testFp12pow
    - CYBOZU_TEST_EQUAL
    - mapToG2
    - G2::G2
    - initPairing
    - mapToG1
    - cybozu::XorShift::XorShift
    - GT::GT
    - Fr::Fr
    - Fr::getMpz
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void testCurve(const mcl::CurveParam& cp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/bls12_test.cpp:537,1
    - Dst: G1::G1
      Src: /src/mcl/test/bls12_test.cpp:540,1
    - Dst: G2::G2
      Src: /src/mcl/test/bls12_test.cpp:541,1
    - Dst: puts
      Src: /src/mcl/test/bls12_test.cpp:545,1
    - Dst: testCurve
      Src: /src/mcl/test/bls12_test.cpp:546,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bls12_test.cpp:548,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bls12_test.cpp:549,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bls12_test.cpp:550,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bls12_test.cpp:551,1
    - Dst: puts
      Src: /src/mcl/test/bls12_test.cpp:553,1
    - Dst: testCurve
      Src: /src/mcl/test/bls12_test.cpp:554,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bls12_test.cpp:556,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bls12_test.cpp:557,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bls12_test.cpp:558,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bls12_test.cpp:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 560
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - puts
    - G2::G2
    - testCurve
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(multi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getCurveType
      Src: /src/mcl/test/bls12_test.cpp:564,1
    - Dst: G1::G1
      Src: /src/mcl/test/bls12_test.cpp:565,1
    - Dst: G2::G2
      Src: /src/mcl/test/bls12_test.cpp:566,1
    - Dst: mapToG1
      Src: /src/mcl/test/bls12_test.cpp:567,1
    - Dst: mapToG2
      Src: /src/mcl/test/bls12_test.cpp:568,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:572,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:573,1
    - Dst: G1::deserialize
      Src: /src/mcl/test/bls12_test.cpp:573,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:575,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:576,1
    - Dst: G2::deserialize
      Src: /src/mcl/test/bls12_test.cpp:576,1
    - Dst: puts
      Src: /src/mcl/test/bls12_test.cpp:578,1
    - Dst: printf
      Src: /src/mcl/test/bls12_test.cpp:583,1
    - Dst: verifyOrderG1
      Src: /src/mcl/test/bls12_test.cpp:584,1
    - Dst: verifyOrderG2
      Src: /src/mcl/test/bls12_test.cpp:585,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bls12_test.cpp:586,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bls12_test.cpp:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 589
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 589
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - CYBOZU_TEST_ASSERT
    - printf
    - CYBOZU_TEST_EQUAL
    - verifyOrderG1
    - mapToG2
    - puts
    - G2::G2
    - verifyOrderG2
    - getCurveType
    - mapToG1
    - G2::deserialize
    - CYBOZU_BENCH_C
    - G1::deserialize
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(deserialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/test/bls12_test.cpp:599,1
    - Dst: G1::G1
      Src: /src/mcl/test/bls12_test.cpp:600,1
    - Dst: G1::x::setStr
      Src: /src/mcl/test/bls12_test.cpp:603,1
    - Dst: G1::y::setStr
      Src: /src/mcl/test/bls12_test.cpp:604,1
    - Dst: verifyOrderG1
      Src: /src/mcl/test/bls12_test.cpp:608,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:609,1
    - Dst: G1::isValid
      Src: /src/mcl/test/bls12_test.cpp:609,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:610,1
    - Dst: G1::isValidOrder
      Src: /src/mcl/test/bls12_test.cpp:610,1
    - Dst: G1::serialize
      Src: /src/mcl/test/bls12_test.cpp:611,1
    - Dst: deserialize
      Src: /src/mcl/test/bls12_test.cpp:612,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:613,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:614,1
    - Dst: verifyOrderG1
      Src: /src/mcl/test/bls12_test.cpp:616,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:617,1
    - Dst: G1::isValid
      Src: /src/mcl/test/bls12_test.cpp:617,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:618,1
    - Dst: G1::isValidOrder
      Src: /src/mcl/test/bls12_test.cpp:618,1
    - Dst: clear
      Src: /src/mcl/test/bls12_test.cpp:619,1
    - Dst: deserialize
      Src: /src/mcl/test/bls12_test.cpp:620,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:621,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:622,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:626,1
    - Dst: G1::isValid
      Src: /src/mcl/test/bls12_test.cpp:626,1
    - Dst: verifyOrderG1
      Src: /src/mcl/test/bls12_test.cpp:629,1
    - Dst: G1::x::setStr
      Src: /src/mcl/test/bls12_test.cpp:630,1
    - Dst: G1::y::setStr
      Src: /src/mcl/test/bls12_test.cpp:631,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:633,1
    - Dst: G1::isValid
      Src: /src/mcl/test/bls12_test.cpp:633,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:634,1
    - Dst: G1::isValidOrder
      Src: /src/mcl/test/bls12_test.cpp:634,1
    - Dst: G1::serialize
      Src: /src/mcl/test/bls12_test.cpp:635,1
    - Dst: deserialize
      Src: /src/mcl/test/bls12_test.cpp:636,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:637,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:638,1
    - Dst: verifyOrderG1
      Src: /src/mcl/test/bls12_test.cpp:640,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:641,1
    - Dst: G1::isValid
      Src: /src/mcl/test/bls12_test.cpp:641,1
    - Dst: clear
      Src: /src/mcl/test/bls12_test.cpp:642,1
    - Dst: deserialize
      Src: /src/mcl/test/bls12_test.cpp:643,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 645
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 645
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - G1::y::setStr
    - verifyOrderG1
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - G1::x::setStr
    - G1::isValidOrder
    - clear
    - deserialize
    - G1::isValid
    - Fp::Fp
    - G1::serialize
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(verifyG1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/test/bls12_test.cpp:655,1
    - Dst: G2::G2
      Src: /src/mcl/test/bls12_test.cpp:656,1
    - Dst: G2::x::setStr
      Src: /src/mcl/test/bls12_test.cpp:659,1
    - Dst: G2::y::setStr
      Src: /src/mcl/test/bls12_test.cpp:660,1
    - Dst: verifyOrderG2
      Src: /src/mcl/test/bls12_test.cpp:664,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:665,1
    - Dst: G2::isValid
      Src: /src/mcl/test/bls12_test.cpp:665,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:666,1
    - Dst: G2::isValidOrder
      Src: /src/mcl/test/bls12_test.cpp:666,1
    - Dst: G2::serialize
      Src: /src/mcl/test/bls12_test.cpp:667,1
    - Dst: deserialize
      Src: /src/mcl/test/bls12_test.cpp:668,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:669,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:670,1
    - Dst: verifyOrderG2
      Src: /src/mcl/test/bls12_test.cpp:672,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:673,1
    - Dst: G2::isValid
      Src: /src/mcl/test/bls12_test.cpp:673,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:674,1
    - Dst: G2::isValidOrder
      Src: /src/mcl/test/bls12_test.cpp:674,1
    - Dst: clear
      Src: /src/mcl/test/bls12_test.cpp:675,1
    - Dst: deserialize
      Src: /src/mcl/test/bls12_test.cpp:676,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:677,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:678,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:682,1
    - Dst: G2::isValid
      Src: /src/mcl/test/bls12_test.cpp:682,1
    - Dst: verifyOrderG2
      Src: /src/mcl/test/bls12_test.cpp:685,1
    - Dst: G2::x::setStr
      Src: /src/mcl/test/bls12_test.cpp:686,1
    - Dst: G2::y::setStr
      Src: /src/mcl/test/bls12_test.cpp:687,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:689,1
    - Dst: G2::isValid
      Src: /src/mcl/test/bls12_test.cpp:689,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:690,1
    - Dst: G2::isValidOrder
      Src: /src/mcl/test/bls12_test.cpp:690,1
    - Dst: G2::serialize
      Src: /src/mcl/test/bls12_test.cpp:691,1
    - Dst: deserialize
      Src: /src/mcl/test/bls12_test.cpp:692,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:693,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:694,1
    - Dst: verifyOrderG2
      Src: /src/mcl/test/bls12_test.cpp:696,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:697,1
    - Dst: G2::isValid
      Src: /src/mcl/test/bls12_test.cpp:697,1
    - Dst: clear
      Src: /src/mcl/test/bls12_test.cpp:698,1
    - Dst: deserialize
      Src: /src/mcl/test/bls12_test.cpp:699,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bls12_test.cpp:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 701
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 701
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - G2::x::setStr
    - G2::G2
    - clear
    - G2::isValid
    - G2::y::setStr
    - G2::isValidOrder
    - deserialize
    - verifyOrderG2
    - Fp::Fp
    - G2::serialize
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(verifyG2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/test/bls12_test.cpp:706,1
    - Dst: mcl::ec::optimizedSplitRawForBLS12_381
      Src: /src/mcl/test/bls12_test.cpp:707,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/test/bls12_test.cpp:709,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/test/bls12_test.cpp:710,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:711,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bls12_test.cpp:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' mx'
    - ' L'
    argTypes:
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 713
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 713
    functionName: splitTest
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::setArray
    - mcl::ec::optimizedSplitRawForBLS12_381
    - mcl::gmp::getArray
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void splitTest(const mpz_class& mx, const mpz_class& L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/test/bls12_test.cpp:719,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bls12_test.cpp:720,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/bls12_test.cpp:721,1
    - Dst: Fr::setByCSPRNG
      Src: /src/mcl/test/bls12_test.cpp:723,1
    - Dst: splitTest
      Src: /src/mcl/test/bls12_test.cpp:724,1
    - Dst: Fr::getMpz
      Src: /src/mcl/test/bls12_test.cpp:724,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bls12_test.cpp:730,1
    - Dst: splitTest
      Src: /src/mcl/test/bls12_test.cpp:731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 733
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 733
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::gmp::setStr
    - Fr::setByCSPRNG
    - Fr::Fr
    - cybozu::XorShift::XorShift
    - Fr::getMpz
    - splitTest
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(split)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/mcl/test/bls12_test.cpp:739,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/bls12_test.cpp:740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' zv'
    - ' xv'
    - ' yv'
    argTypes:
    - FpVec
    - FpVec
    - FpVec
    constantsTouched: []
    func_position:
      end: 742
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 742
    functionName: f
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 383
    functionsReached:
    - fiat_bls12_381_fp_mul
    - size
    linkageType: ''
    returnType: void
    signature: void f(FpVec& zv, const FpVec& xv, const FpVec& yv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/bls12_test.cpp:747,1
    - Dst: printf
      Src: /src/mcl/test/bls12_test.cpp:749,1
    - Dst: mcl::fp::isEnableJIT
      Src: /src/mcl/test/bls12_test.cpp:749,1
    - Dst: run
      Src: /src/mcl/test/bls12_test.cpp:751,1
    - Dst: printf
      Src: /src/mcl/test/bls12_test.cpp:753,1
    - Dst: what
      Src: /src/mcl/test/bls12_test.cpp:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 755
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 755
    functionName: main
    functionSourceFile: /src/mcl/test/bls12_test.cpp
    functionUses: 97
    functionsReached:
    - run
    - mcl::fp::isEnableJIT
    - printf
    - what
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/static_init_test.cpp:14,1
    - Dst: printf
      Src: /src/mcl/test/static_init_test.cpp:16,1
    - Dst: get_mulUnit
      Src: /src/mcl/test/static_init_test.cpp:16,1
    - Dst: mcl::bint::mulT<2>
      Src: /src/mcl/test/static_init_test.cpp:17,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/static_init_test.cpp:19,1
    - Dst: get_mulUnit
      Src: /src/mcl/test/static_init_test.cpp:19,1
    - Dst: puts
      Src: /src/mcl/test/static_init_test.cpp:20,1
    - Dst: mcl::initPairing
      Src: /src/mcl/test/static_init_test.cpp:21,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/static_init_test.cpp:22,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/static_init_test.cpp:22,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/static_init_test.cpp:23,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/static_init_test.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 24
    functionName: Init
    functionSourceFile: /src/mcl/test/static_init_test.cpp
    functionUses: 14
    functionsReached:
    - mcl::bint::mulT<2>
    - mcl::initPairing
    - CYBOZU_TEST_ASSERT
    - printf
    - puts
    - get_mulUnit
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/static_init_test.cpp:30,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/static_init_test.cpp:31,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/static_init_test.cpp:31,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/static_init_test.cpp:32,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/static_init_test.cpp:32,1
    - Dst: mcl::bint::mulT<2>
      Src: /src/mcl/test/static_init_test.cpp:34,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/static_init_test.cpp:35,1
    - Dst: get_mulUnit
      Src: /src/mcl/test/static_init_test.cpp:35,1
    - Dst: mcl::bn::Fr::setByCSPRNG
      Src: /src/mcl/test/static_init_test.cpp:37,1
    - Dst: printf
      Src: /src/mcl/test/static_init_test.cpp:38,1
    - Dst: mcl::bn::Fr::getStr
      Src: /src/mcl/test/static_init_test.cpp:38,1
    - Dst: run
      Src: /src/mcl/test/static_init_test.cpp:39,1
    - Dst: printf
      Src: /src/mcl/test/static_init_test.cpp:41,1
    - Dst: what
      Src: /src/mcl/test/static_init_test.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/mcl/test/static_init_test.cpp
    functionUses: 97
    functionsReached:
    - mcl::bint::mulT<2>
    - mcl::bn::Fr::getStr
    - CYBOZU_TEST_ASSERT
    - printf
    - what
    - puts
    - run
    - get_mulUnit
    - mcl::bn::Fr::setByCSPRNG
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/modp_test.cpp:40,1
    - Dst: mcl::Modp::init
      Src: /src/mcl/test/modp_test.cpp:43,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/modp_test.cpp:44,1
    - Dst: mcl::Modp::modp
      Src: /src/mcl/test/modp_test.cpp:49,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/modp_test.cpp:50,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/modp_test.cpp:51,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/modp_test.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 55
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/modp_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::Modp::modp
    - CYBOZU_TEST_EQUAL
    - mcl::Modp::init
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(modp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get64
      Src: /src/mcl/test/low_func_test.cpp:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - x
    - n
    - ' rg'
    argTypes:
    - Unit*
    - size_t
    - RG
    constantsTouched: []
    func_position:
      end: 18
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 18
    functionName: setRand
    functionSourceFile: /src/mcl/test/low_func_test.cpp
    functionUses: 3
    functionsReached:
    - get64
    linkageType: ''
    returnType: void
    signature: void setRand(Unit *x, size_t n, RG& rg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toMont
      Src: /src/mcl/test/low_func_test.cpp:25,1
    - Dst: toMont
      Src: /src/mcl/test/low_func_test.cpp:26,1
    - Dst: mul
      Src: /src/mcl/test/low_func_test.cpp:28,1
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/test/low_func_test.cpp:32,1
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/test/low_func_test.cpp:33,1
    - Dst: mcl::fp::mulMontT<N>
      Src: /src/mcl/test/low_func_test.cpp:36,1
    - Dst: mcl::fp::mulMontNFT<N>
      Src: /src/mcl/test/low_func_test.cpp:38,1
    - Dst: mcl::fp::mulMontT<N>
      Src: /src/mcl/test/low_func_test.cpp:40,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/low_func_test.cpp:41,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/test/low_func_test.cpp:44,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/low_func_test.cpp:45,1
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/test/low_func_test.cpp:47,1
    - Dst: mcl::fp::modRedT<N>
      Src: /src/mcl/test/low_func_test.cpp:49,1
    - Dst: mcl::fp::modRedNFT<N>
      Src: /src/mcl/test/low_func_test.cpp:51,1
    - Dst: mcl::fp::modRedT<N>
      Src: /src/mcl/test/low_func_test.cpp:53,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/low_func_test.cpp:54,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/test/low_func_test.cpp:57,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/low_func_test.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - ' mont'
    - ' x1'
    - ' x2'
    argTypes:
    - Montgomery
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 59
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 59
    functionName: testEdgeOne
    functionSourceFile: /src/mcl/test/low_func_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::fp::mulMontNFT<N>
    - CYBOZU_TEST_EQUAL_ARRAY
    - CYBOZU_TEST_EQUAL
    - mcl::fp::modRedNFT<N>
    - mcl::fp::mulMontT<N>
    - mcl::fp::modRedT<N>
    - mcl::gmp::getArray
    - mcl::gmp::setArray
    - toMont
    - mul
    linkageType: ''
    returnType: void
    signature: void testEdgeOne(const Montgomery& mont, const mpz_class& x1, const
      mpz_class& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/low_func_test.cpp:65,1
    - Dst: testEdgeOne
      Src: /src/mcl/test/low_func_test.cpp:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: testEdge
    functionSourceFile: /src/mcl/test/low_func_test.cpp
    functionUses: 0
    functionsReached:
    - testEdgeOne
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void testEdge(const mpz_class& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/low_func_test.cpp:92,1
    - Dst: printf
      Src: /src/mcl/test/low_func_test.cpp:93,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/test/low_func_test.cpp:95,1
    - Dst: testEdge
      Src: /src/mcl/test/low_func_test.cpp:96,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/low_func_test.cpp:103,1
    - Dst: printf
      Src: /src/mcl/test/low_func_test.cpp:104,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/test/low_func_test.cpp:106,1
    - Dst: testEdge
      Src: /src/mcl/test/low_func_test.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 109
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/low_func_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::gmp::setStr
    - testEdge
    - printf
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(limit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/mapto_wb19_test.cpp:22,1
    - Dst: printf
      Src: /src/mcl/test/mapto_wb19_test.cpp:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - msgSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: dump
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void dump(const void *msg, size_t msgSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/mcl/test/mapto_wb19_test.cpp:29,1
    - Dst: c_str
      Src: /src/mcl/test/mapto_wb19_test.cpp:29,1
    - Dst: size
      Src: /src/mcl/test/mapto_wb19_test.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: dump
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 2
    functionsReached:
    - size
    - c_str
    - dump
    linkageType: ''
    returnType: void
    signature: void dump(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/mcl/test/mapto_wb19_test.cpp:36,1
    - Dst: cybozu::itohex
      Src: /src/mcl/test/mapto_wb19_test.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - _buf
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: toHexStr
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 0
    functionsReached:
    - std::string::resize
    - cybozu::itohex
    linkageType: ''
    returnType: std::string
    signature: std::string toHexStr(const void *_buf, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toHexStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:45,1
    - Dst: c_str
      Src: /src/mcl/test/mapto_wb19_test.cpp:45,1
    - Dst: size
      Src: /src/mcl/test/mapto_wb19_test.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: toHexStr
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 1
    functionsReached:
    - c_str
    - size
    - toHexStr
    linkageType: ''
    returnType: std::string
    signature: std::string toHexStr(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/mcl/test/mapto_wb19_test.cpp:52,1
    - Dst: size
      Src: /src/mcl/test/mapto_wb19_test.cpp:53,1
    - Dst: cybozu::hextoi::hextoi
      Src: /src/mcl/test/mapto_wb19_test.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: fromHexStr
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 0
    functionsReached:
    - cybozu::hextoi::hextoi
    - size
    linkageType: ''
    returnType: Uint8Vec
    signature: Uint8Vec fromHexStr(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: a::setStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:72,1
    - Dst: b::setStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' s'
    argTypes:
    - Fp2
    - Fp2Str
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: set
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 321
    functionsReached:
    - a::setStr
    - b::setStr
    linkageType: ''
    returnType: void
    signature: void set(Fp2& x, const Fp2Str& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/mcl/test/mapto_wb19_test.cpp:79,1
    - Dst: set
      Src: /src/mcl/test/mapto_wb19_test.cpp:80,1
    - Dst: set
      Src: /src/mcl/test/mapto_wb19_test.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' P'
    - ' s'
    argTypes:
    - E2
    - PointStr
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: set
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 322
    functionsReached:
    - set
    linkageType: ''
    returnType: void
    signature: void set(E2& P, const PointStr& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toHexStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:90,1
    - Dst: toHexStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Fp2
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: toHexStr
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 2
    functionsReached:
    - toHexStr
    linkageType: ''
    returnType: std::string
    signature: std::string toHexStr(const Fp2& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:97,1
    - Dst: toHexStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - G2
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: toHexStr
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 3
    functionsReached:
    - toHexStr
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: std::string
    signature: std::string toHexStr(const G2& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/test/mapto_wb19_test.cpp:112,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/test/mapto_wb19_test.cpp:113,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/test/mapto_wb19_test.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' in'
    argTypes:
    - G2
    - G2
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: toJacobi
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::Fp2::mul
    - mcl::Fp2::sqr
    linkageType: ''
    returnType: void
    signature: void toJacobi(G2& out, const G2& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::hmac256
      Src: /src/mcl/test/mapto_wb19_test.cpp:124,1
    - Dst: strlen
      Src: /src/mcl/test/mapto_wb19_test.cpp:124,1
    - Dst: strlen
      Src: /src/mcl/test/mapto_wb19_test.cpp:124,1
    - Dst: toHexStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:125,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: testHMAC
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    - strlen
    - cybozu::hmac256
    - toHexStr
    linkageType: ''
    returnType: void
    signature: void testHMAC()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/mapto_wb19_test.cpp:181,1
    - Dst: set
      Src: /src/mcl/test/mapto_wb19_test.cpp:183,1
    - Dst: set
      Src: /src/mcl/test/mapto_wb19_test.cpp:184,1
    - Dst: set
      Src: /src/mcl/test/mapto_wb19_test.cpp:185,1
    - Dst: mcl::ec::addJacobi
      Src: /src/mcl/test/mapto_wb19_test.cpp:187,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/mapto_wb19_test.cpp:188,1
    - Dst: isEqual
      Src: /src/mcl/test/mapto_wb19_test.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 190
    functionName: addTest
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_ASSERT
    - isEqual
    - set
    - mcl::ec::addJacobi
    linkageType: ''
    returnType: void
    signature: void addTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G2::G2
      Src: /src/mcl/test/mapto_wb19_test.cpp:237,1
    - Dst: set
      Src: /src/mcl/test/mapto_wb19_test.cpp:238,1
    - Dst: set
      Src: /src/mcl/test/mapto_wb19_test.cpp:239,1
    - Dst: iso3
      Src: /src/mcl/test/mapto_wb19_test.cpp:240,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:241,1
    - Dst: set
      Src: /src/mcl/test/mapto_wb19_test.cpp:242,1
    - Dst: mulByCofactorBLS12fast
      Src: /src/mcl/test/mapto_wb19_test.cpp:243,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' mapto'
    argTypes:
    - MapTo
    constantsTouched: []
    func_position:
      end: 245
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 245
    functionName: iso3Test
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 0
    functionsReached:
    - iso3
    - mulByCofactorBLS12fast
    - CYBOZU_TEST_EQUAL
    - G2::G2
    - set
    linkageType: ''
    returnType: void
    signature: void iso3Test(const MapTo& mapto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G2::G2
      Src: /src/mcl/test/mapto_wb19_test.cpp:265,1
    - Dst: msgToG2
      Src: /src/mcl/test/mapto_wb19_test.cpp:266,1
    - Dst: strlen
      Src: /src/mcl/test/mapto_wb19_test.cpp:266,1
    - Dst: set
      Src: /src/mcl/test/mapto_wb19_test.cpp:267,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:268,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/mapto_wb19_test.cpp:350,1
    - Dst: mcl::fp::expand_message_xmd
      Src: /src/mcl/test/mapto_wb19_test.cpp:358,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:359,1
    - Dst: toHexStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:359,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/mapto_wb19_test.cpp:548,1
    - Dst: G2::G2
      Src: /src/mcl/test/mapto_wb19_test.cpp:557,1
    - Dst: set
      Src: /src/mcl/test/mapto_wb19_test.cpp:558,1
    - Dst: set
      Src: /src/mcl/test/mapto_wb19_test.cpp:559,1
    - Dst: msgToG2
      Src: /src/mcl/test/mapto_wb19_test.cpp:561,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:562,1
    - Dst: G2::G2
      Src: /src/mcl/test/mapto_wb19_test.cpp:565,1
    - Dst: mcl::hashAndMapToG2
      Src: /src/mcl/test/mapto_wb19_test.cpp:566,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/mapto_wb19_test.cpp:567,1
    - Dst: G2::normalize
      Src: /src/mcl/test/mapto_wb19_test.cpp:568,1
    - Dst: printf
      Src: /src/mcl/test/mapto_wb19_test.cpp:569,1
    - Dst: G2::x::getStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:569,1
    - Dst: G2::y::getStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - ' mapto'
    argTypes:
    - MapTo
    constantsTouched: []
    func_position:
      end: 572
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 572
    functionName: testHashToFp2v7
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - msgToG2
    - printf
    - CYBOZU_TEST_EQUAL
    - toHexStr
    - G2::y::getStr
    - G2::G2
    - G2::x::getStr
    - G2::normalize
    - mcl::hashAndMapToG2
    - mcl::fp::expand_message_xmd
    - CYBOZU_BENCH_C
    - set
    - strlen
    linkageType: ''
    returnType: void
    signature: void testHashToFp2v7(const MapTo& mapto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/mapto_wb19_test.cpp:627,1
    - Dst: fromHexStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:628,1
    - Dst: fromHexStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:629,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/mapto_wb19_test.cpp:630,1
    - Dst: Fr::setStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:631,1
    - Dst: G2::G2
      Src: /src/mcl/test/mapto_wb19_test.cpp:632,1
    - Dst: mcl::hashAndMapToG2
      Src: /src/mcl/test/mapto_wb19_test.cpp:633,1
    - Dst: Uint8Vec::data
      Src: /src/mcl/test/mapto_wb19_test.cpp:633,1
    - Dst: Uint8Vec::size
      Src: /src/mcl/test/mapto_wb19_test.cpp:633,1
    - Dst: G2::normalize
      Src: /src/mcl/test/mapto_wb19_test.cpp:635,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/mapto_wb19_test.cpp:638,1
    - Dst: Uint8Vec::data
      Src: /src/mcl/test/mapto_wb19_test.cpp:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 640
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 640
    functionName: testEth2phase0
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - CYBOZU_NUM_OF_ARRAY
    - fromHexStr
    - Uint8Vec::size
    - G2::G2
    - G2::normalize
    - Fr::Fr
    - mcl::hashAndMapToG2
    - Fr::setStr
    - Uint8Vec::data
    linkageType: ''
    returnType: void
    signature: void testEth2phase0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/mapto_wb19_test.cpp:669,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/mapto_wb19_test.cpp:670,1
    - Dst: Fp::setStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:671,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/mapto_wb19_test.cpp:672,1
    - Dst: sswuG1
      Src: /src/mcl/test/mapto_wb19_test.cpp:673,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:674,1
    - Dst: Fp::getStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:674,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:675,1
    - Dst: getStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:675,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:676,1
    - Dst: getStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' mapto'
    argTypes:
    - MapTo
    constantsTouched: []
    func_position:
      end: 678
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 678
    functionName: testSswuG1
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - Fp::getStr
    - CYBOZU_TEST_EQUAL
    - getStr
    - sswuG1
    - Fp::setStr
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void testSswuG1(const MapTo& mapto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/mapto_wb19_test.cpp:728,1
    - Dst: G1::G1
      Src: /src/mcl/test/mapto_wb19_test.cpp:733,1
    - Dst: msgToG1
      Src: /src/mcl/test/mapto_wb19_test.cpp:734,1
    - Dst: x::setStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:735,1
    - Dst: y::setStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:736,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:738,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/mapto_wb19_test.cpp:739,1
    - Dst: G1::clear
      Src: /src/mcl/test/mapto_wb19_test.cpp:741,1
    - Dst: mcl::hashAndMapToG1
      Src: /src/mcl/test/mapto_wb19_test.cpp:742,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' mapto'
    argTypes:
    - MapTo
    constantsTouched: []
    func_position:
      end: 746
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 746
    functionName: testMsgToG1
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - CYBOZU_NUM_OF_ARRAY
    - G1::clear
    - x::setStr
    - msgToG1
    - CYBOZU_TEST_EQUAL
    - y::setStr
    - CYBOZU_BENCH_C
    - mcl::hashAndMapToG1
    linkageType: ''
    returnType: void
    signature: void testMsgToG1(const MapTo& mapto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/mcl/test/mapto_wb19_test.cpp:750,1
    - Dst: std::string
      Src: /src/mcl/test/mapto_wb19_test.cpp:751,1
    - Dst: size
      Src: /src/mcl/test/mapto_wb19_test.cpp:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' s'
    - n
    argTypes:
    - std::string
    - size_t
    constantsTouched: []
    func_position:
      end: 752
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 752
    functionName: appendZeroToRight
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string appendZeroToRight(const std::string& s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/mapto_wb19_test.cpp:774,1
    - Dst: fromHexStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:775,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/mapto_wb19_test.cpp:776,1
    - Dst: Fp::setBigEndianMod
      Src: /src/mcl/test/mapto_wb19_test.cpp:781,1
    - Dst: Uint8Vec::data
      Src: /src/mcl/test/mapto_wb19_test.cpp:781,1
    - Dst: Uint8Vec::size
      Src: /src/mcl/test/mapto_wb19_test.cpp:781,1
    - Dst: G1::G1
      Src: /src/mcl/test/mapto_wb19_test.cpp:782,1
    - Dst: FpToG1
      Src: /src/mcl/test/mapto_wb19_test.cpp:783,1
    - Dst: G1::normalize
      Src: /src/mcl/test/mapto_wb19_test.cpp:788,1
    - Dst: appendZeroToRight
      Src: /src/mcl/test/mapto_wb19_test.cpp:790,1
    - Dst: G1::x::getStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:790,1
    - Dst: appendZeroToRight
      Src: /src/mcl/test/mapto_wb19_test.cpp:790,1
    - Dst: G1::y::getStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:790,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:791,1
    - Dst: G1::G1
      Src: /src/mcl/test/mapto_wb19_test.cpp:793,1
    - Dst: mclBnFp_mapToG1
      Src: /src/mcl/test/mapto_wb19_test.cpp:794,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:795,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' mapto'
    argTypes:
    - MapTo
    constantsTouched: []
    func_position:
      end: 798
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 798
    functionName: testFpToG1
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - CYBOZU_NUM_OF_ARRAY
    - fromHexStr
    - Fp::setBigEndianMod
    - Uint8Vec::size
    - CYBOZU_TEST_EQUAL
    - G1::normalize
    - G1::y::getStr
    - G1::x::getStr
    - mclBnFp_mapToG1
    - FpToG1
    - appendZeroToRight
    - Fp::Fp
    - Uint8Vec::data
    linkageType: ''
    returnType: void
    signature: void testFpToG1(const MapTo& mapto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/mapto_wb19_test.cpp:832,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/mapto_wb19_test.cpp:833,1
    - Dst: Fp::setStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:834,1
    - Dst: G1::G1
      Src: /src/mcl/test/mapto_wb19_test.cpp:835,1
    - Dst: FpToG1
      Src: /src/mcl/test/mapto_wb19_test.cpp:836,1
    - Dst: G1::normalize
      Src: /src/mcl/test/mapto_wb19_test.cpp:837,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:838,1
    - Dst: G1::x::getStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:838,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:839,1
    - Dst: G1::y::getStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:839,1
    - Dst: G2::G2
      Src: /src/mcl/test/mapto_wb19_test.cpp:843,1
    - Dst: Fp2ToG2
      Src: /src/mcl/test/mapto_wb19_test.cpp:844,1
    - Dst: G2::normalize
      Src: /src/mcl/test/mapto_wb19_test.cpp:845,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:846,1
    - Dst: G2::x::getStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:846,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:847,1
    - Dst: G2::y::getStr
      Src: /src/mcl/test/mapto_wb19_test.cpp:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' mapto'
    argTypes:
    - MapTo
    constantsTouched: []
    func_position:
      end: 849
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 849
    functionName: testSameUV
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - CYBOZU_NUM_OF_ARRAY
    - G2::y::getStr
    - CYBOZU_TEST_EQUAL
    - Fp2ToG2
    - G2::G2
    - G1::normalize
    - G2::x::getStr
    - G1::y::getStr
    - G1::x::getStr
    - Fp::setStr
    - G2::normalize
    - FpToG1
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void testSameUV(const MapTo& mapto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dstG1::set
      Src: /src/mcl/test/mapto_wb19_test.cpp:855,1
    - Dst: strlen
      Src: /src/mcl/test/mapto_wb19_test.cpp:855,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/mapto_wb19_test.cpp:856,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:857,1
    - Dst: dstG1::set
      Src: /src/mcl/test/mapto_wb19_test.cpp:858,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/mapto_wb19_test.cpp:859,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:860,1
    - Dst: dstG2::set
      Src: /src/mcl/test/mapto_wb19_test.cpp:862,1
    - Dst: strlen
      Src: /src/mcl/test/mapto_wb19_test.cpp:862,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/mapto_wb19_test.cpp:863,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:864,1
    - Dst: dstG2::set
      Src: /src/mcl/test/mapto_wb19_test.cpp:865,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/mapto_wb19_test.cpp:866,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mapto_wb19_test.cpp:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' mapto'
    argTypes:
    - MapTo
    constantsTouched: []
    func_position:
      end: 868
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 868
    functionName: testSetDst
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - dstG2::set
    - dstG1::set
    - strlen
    linkageType: ''
    returnType: void
    signature: void testSetDst(MapTo& mapto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initPairing
      Src: /src/mcl/test/mapto_wb19_test.cpp:872,1
    - Dst: mclBn_setETHserialization
      Src: /src/mcl/test/mapto_wb19_test.cpp:873,1
    - Dst: mclBn_setMapToMode
      Src: /src/mcl/test/mapto_wb19_test.cpp:874,1
    - Dst: MapTo::init
      Src: /src/mcl/test/mapto_wb19_test.cpp:876,1
    - Dst: addTest
      Src: /src/mcl/test/mapto_wb19_test.cpp:877,1
    - Dst: iso3Test
      Src: /src/mcl/test/mapto_wb19_test.cpp:878,1
    - Dst: testHMAC
      Src: /src/mcl/test/mapto_wb19_test.cpp:879,1
    - Dst: testHashToFp2v7
      Src: /src/mcl/test/mapto_wb19_test.cpp:880,1
    - Dst: testEth2phase0
      Src: /src/mcl/test/mapto_wb19_test.cpp:881,1
    - Dst: testSswuG1
      Src: /src/mcl/test/mapto_wb19_test.cpp:882,1
    - Dst: testMsgToG1
      Src: /src/mcl/test/mapto_wb19_test.cpp:883,1
    - Dst: testFpToG1
      Src: /src/mcl/test/mapto_wb19_test.cpp:884,1
    - Dst: testSameUV
      Src: /src/mcl/test/mapto_wb19_test.cpp:885,1
    - Dst: testSetDst
      Src: /src/mcl/test/mapto_wb19_test.cpp:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 888
      start: 870
    functionDepth: 3
    functionLinenumber: 870
    functionLinenumberEnd: 888
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/mapto_wb19_test.cpp
    functionUses: 0
    functionsReached:
    - testHashToFp2v7
    - testHMAC
    - testEth2phase0
    - addTest
    - MapTo::init
    - testMsgToG1
    - testFpToG1
    - mclBn_setMapToMode
    - mclBn_setETHserialization
    - testSetDst
    - initPairing
    - testSswuG1
    - testSameUV
    - iso3Test
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(test)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecretKey::init
      Src: /src/mcl/test/paillier_test.cpp:9,1
    - Dst: SecretKey::init
      Src: /src/mcl/test/paillier_test.cpp:11,1
    - Dst: SecretKey::getPublicKey
      Src: /src/mcl/test/paillier_test.cpp:14,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/paillier_test.cpp:17,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/paillier_test.cpp:18,1
    - Dst: PublicKey::add
      Src: /src/mcl/test/paillier_test.cpp:20,1
    - Dst: SecretKey::dec
      Src: /src/mcl/test/paillier_test.cpp:22,1
    - Dst: SecretKey::dec
      Src: /src/mcl/test/paillier_test.cpp:23,1
    - Dst: SecretKey::dec
      Src: /src/mcl/test/paillier_test.cpp:24,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/paillier_test.cpp:25,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/paillier_test.cpp:26,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/paillier_test.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 28
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/paillier_test.cpp
    functionUses: 0
    functionsReached:
    - PublicKey::add
    - SecretKey::dec
    - CYBOZU_TEST_EQUAL
    - SecretKey::init
    - SecretKey::getPublicKey
    - PublicKey::enc
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(paillier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ecdsa_c_test.cpp:12,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_c_test.cpp:15,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_c_test.cpp:17,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/ecdsa_c_test.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' x'
    - ' serialize'
    - ' deserialize'
    argTypes:
    - T
    - Serializer
    - Deserializer
    constantsTouched: []
    func_position:
      end: 19
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 19
    functionName: serializeTest
    functionSourceFile: /src/mcl/test/ecdsa_c_test.cpp
    functionUses: 1
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void serializeTest(const T& x, const Serializer& serialize, const Deserializer&
      deserialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecdsaInit
      Src: /src/mcl/test/ecdsa_c_test.cpp:24,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_c_test.cpp:25,1
    - Dst: strlen
      Src: /src/mcl/test/ecdsa_c_test.cpp:31,1
    - Dst: ecdsaSecretKeySetByCSPRNG
      Src: /src/mcl/test/ecdsa_c_test.cpp:33,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_c_test.cpp:34,1
    - Dst: serializeTest
      Src: /src/mcl/test/ecdsa_c_test.cpp:35,1
    - Dst: ecdsaGetPublicKey
      Src: /src/mcl/test/ecdsa_c_test.cpp:37,1
    - Dst: serializeTest
      Src: /src/mcl/test/ecdsa_c_test.cpp:38,1
    - Dst: ecdsaSign
      Src: /src/mcl/test/ecdsa_c_test.cpp:39,1
    - Dst: serializeTest
      Src: /src/mcl/test/ecdsa_c_test.cpp:40,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ecdsa_c_test.cpp:41,1
    - Dst: ecdsaVerify
      Src: /src/mcl/test/ecdsa_c_test.cpp:41,1
    - Dst: ecdsaNormalizeSignature
      Src: /src/mcl/test/ecdsa_c_test.cpp:42,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ecdsa_c_test.cpp:43,1
    - Dst: ecdsaVerify
      Src: /src/mcl/test/ecdsa_c_test.cpp:43,1
    - Dst: ecdsaPrecomputedPublicKeyCreate
      Src: /src/mcl/test/ecdsa_c_test.cpp:45,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ecdsa_c_test.cpp:46,1
    - Dst: ecdsaPrecomputedPublicKeyInit
      Src: /src/mcl/test/ecdsa_c_test.cpp:47,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_c_test.cpp:48,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ecdsa_c_test.cpp:50,1
    - Dst: ecdsaVerifyPrecomputed
      Src: /src/mcl/test/ecdsa_c_test.cpp:50,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ecdsa_c_test.cpp:53,1
    - Dst: ecdsaVerify
      Src: /src/mcl/test/ecdsa_c_test.cpp:53,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ecdsa_c_test.cpp:54,1
    - Dst: ecdsaVerifyPrecomputed
      Src: /src/mcl/test/ecdsa_c_test.cpp:54,1
    - Dst: ecdsaPrecomputedPublicKeyDestroy
      Src: /src/mcl/test/ecdsa_c_test.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 57
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/ecdsa_c_test.cpp
    functionUses: 0
    functionsReached:
    - serializeTest
    - ecdsaVerifyPrecomputed
    - ecdsaPrecomputedPublicKeyDestroy
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - ecdsaSign
    - ecdsaNormalizeSignature
    - ecdsaGetPublicKey
    - ecdsaSecretKeySetByCSPRNG
    - ecdsaVerify
    - ecdsaInit
    - ecdsaPrecomputedPublicKeyCreate
    - ecdsaPrecomputedPublicKeyInit
    - strlen
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(ecdsa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:16,1
    - Dst: puts
      Src: /src/mcl/test/she_test.cpp:19,1
    - Dst: puts
      Src: /src/mcl/test/she_test.cpp:22,1
    - Dst: puts
      Src: /src/mcl/test/she_test.cpp:25,1
    - Dst: init
      Src: /src/mcl/test/she_test.cpp:27,1
    - Dst: G1::G1
      Src: /src/mcl/test/she_test.cpp:28,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/test/she_test.cpp:29,1
    - Dst: G1::G1
      Src: /src/mcl/test/she_test.cpp:31,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/she_test.cpp:32,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:33,1
    - Dst: mcl::she::local::log
      Src: /src/mcl/test/she_test.cpp:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 35
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - printf
    - hashAndMapToG1
    - CYBOZU_TEST_EQUAL
    - puts
    - init
    - fiat_bls12_381_fp_mul
    - mcl::she::local::log
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(log)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::G1
      Src: /src/mcl/test/she_test.cpp:41,1
    - Dst: G2::G2
      Src: /src/mcl/test/she_test.cpp:42,1
    - Dst: GT::GT
      Src: /src/mcl/test/she_test.cpp:43,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/she_test.cpp:46,1
    - Dst: Fr::setRand
      Src: /src/mcl/test/she_test.cpp:47,1
    - Dst: Fr::getMpz
      Src: /src/mcl/test/she_test.cpp:48,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/test/she_test.cpp:50,1
    - Dst: hashAndMapToG2
      Src: /src/mcl/test/she_test.cpp:51,1
    - Dst: pairing
      Src: /src/mcl/test/she_test.cpp:52,1
    - Dst: clear
      Src: /src/mcl/test/she_test.cpp:53,1
    - Dst: clear
      Src: /src/mcl/test/she_test.cpp:54,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:57,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:58,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:59,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - Fr::setRand
    - pairing
    - printf
    - hashAndMapToG1
    - G2::G2
    - hashAndMapToG2
    - clear
    - Fr::Fr
    - GT::GT
    - Fr::getMpz
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(window)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecretKey::setByCSPRNG
      Src: /src/mcl/test/she_test.cpp:73,1
    - Dst: SecretKey::getPublicKey
      Src: /src/mcl/test/she_test.cpp:75,1
    - Dst: PrecomputedPublicKey::init
      Src: /src/mcl/test/she_test.cpp:77,1
    - Dst: PublicKey::encWithZkpSet
      Src: /src/mcl/test/she_test.cpp:81,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:82,1
    - Dst: PublicKey::verify
      Src: /src/mcl/test/she_test.cpp:82,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:83,1
    - Dst: PublicKey::verify
      Src: /src/mcl/test/she_test.cpp:83,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:85,1
    - Dst: PublicKey::verify
      Src: /src/mcl/test/she_test.cpp:85,1
    - Dst: PrecomputedPublicKey::encWithZkpSet
      Src: /src/mcl/test/she_test.cpp:87,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:88,1
    - Dst: PrecomputedPublicKey::verify
      Src: /src/mcl/test/she_test.cpp:88,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:89,1
    - Dst: PrecomputedPublicKey::verify
      Src: /src/mcl/test/she_test.cpp:89,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:91,1
    - Dst: PrecomputedPublicKey::verify
      Src: /src/mcl/test/she_test.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 93
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_ASSERT
    - PrecomputedPublicKey::init
    - PublicKey::encWithZkpSet
    - PrecomputedPublicKey::encWithZkpSet
    - SecretKey::getPublicKey
    - PrecomputedPublicKey::verify
    - SecretKey::setByCSPRNG
    - PublicKey::verify
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(ZkpSet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getClock
      Src: /src/mcl/test/she_test.cpp:100,1
    - Dst: getCount
      Src: /src/mcl/test/she_test.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' clk'
    - n
    argTypes:
    - cybozu::CpuClock
    - int
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: clk2msec
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - getClock
    - getCount
    linkageType: ''
    returnType: double
    signature: double clk2msec(const cybozu::CpuClock& clk, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/she_test.cpp:106,1
    - Dst: puts
      Src: /src/mcl/test/she_test.cpp:109,1
    - Dst: setTryNum
      Src: /src/mcl/test/she_test.cpp:110,1
    - Dst: useDecG1ViaGT
      Src: /src/mcl/test/she_test.cpp:111,1
    - Dst: useDecG2ViaGT
      Src: /src/mcl/test/she_test.cpp:112,1
    - Dst: setRangeForDLP
      Src: /src/mcl/test/she_test.cpp:114,1
    - Dst: getHashTableGT
      Src: /src/mcl/test/she_test.cpp:119,1
    - Dst: SecretKey::setByCSPRNG
      Src: /src/mcl/test/she_test.cpp:123,1
    - Dst: SecretKey::getPublicKey
      Src: /src/mcl/test/she_test.cpp:125,1
    - Dst: PrecomputedPublicKey::init
      Src: /src/mcl/test/she_test.cpp:127,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:134,1
    - Dst: clk2msec
      Src: /src/mcl/test/she_test.cpp:135,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:136,1
    - Dst: SecretKey::dec
      Src: /src/mcl/test/she_test.cpp:136,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:138,1
    - Dst: clk2msec
      Src: /src/mcl/test/she_test.cpp:139,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:140,1
    - Dst: SecretKey::dec
      Src: /src/mcl/test/she_test.cpp:140,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:141,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:142,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:143,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:145,1
    - Dst: clk2msec
      Src: /src/mcl/test/she_test.cpp:146,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:147,1
    - Dst: SecretKey::dec
      Src: /src/mcl/test/she_test.cpp:147,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:148,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:150,1
    - Dst: clk2msec
      Src: /src/mcl/test/she_test.cpp:151,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:152,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:154,1
    - Dst: clk2msec
      Src: /src/mcl/test/she_test.cpp:155,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:156,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:158,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:159,1
    - Dst: clk2msec
      Src: /src/mcl/test/she_test.cpp:160,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:161,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:163,1
    - Dst: clk2msec
      Src: /src/mcl/test/she_test.cpp:164,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:166,1
    - Dst: clk2msec
      Src: /src/mcl/test/she_test.cpp:167,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:168,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:169,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:170,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:172,1
    - Dst: clk2msec
      Src: /src/mcl/test/she_test.cpp:173,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:174,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:176,1
    - Dst: clk2msec
      Src: /src/mcl/test/she_test.cpp:177,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:178,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:180,1
    - Dst: clk2msec
      Src: /src/mcl/test/she_test.cpp:181,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:182,1
    - Dst: clk2msec
      Src: /src/mcl/test/she_test.cpp:183,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:184,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:185,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:186,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:188,1
    - Dst: clk2msec
      Src: /src/mcl/test/she_test.cpp:189,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 191
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - setTryNum
    - PrecomputedPublicKey::init
    - setRangeForDLP
    - useDecG2ViaGT
    - CYBOZU_TEST_EQUAL
    - SecretKey::dec
    - printf
    - puts
    - SecretKey::getPublicKey
    - getHashTableGT
    - SecretKey::setByCSPRNG
    - useDecG1ViaGT
    - clk2msec
    - CYBOZU_BENCH_C
    - PublicKey::enc
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(bench2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/she_test.cpp:199,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:200,1
    - Dst: basicLog
      Src: /src/mcl/test/she_test.cpp:200,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/she_test.cpp:204,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:205,1
    - Dst: log
      Src: /src/mcl/test/she_test.cpp:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - maxSize
    - tryNum
    - ' P'
    - ' hashTbl'
    argTypes:
    - int
    - int
    - G
    - HashTbl
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: GAHashTableTest
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - log
    - basicLog
    - fiat_bls12_381_fp_mul
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void GAHashTableTest(int maxSize, int tryNum, const G& P, const HashTbl&
      hashTbl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::local::HashTable<G>::init
      Src: /src/mcl/test/she_test.cpp:215,1
    - Dst: GAHashTableTest
      Src: /src/mcl/test/she_test.cpp:216,1
    - Dst: mcl::she::local::HashTable<G>::save
      Src: /src/mcl/test/she_test.cpp:218,1
    - Dst: load
      Src: /src/mcl/test/she_test.cpp:219,1
    - Dst: setTryNum
      Src: /src/mcl/test/she_test.cpp:220,1
    - Dst: GAHashTableTest
      Src: /src/mcl/test/she_test.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - G
    constantsTouched: []
    func_position:
      end: 222
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 222
    functionName: HashTableTest
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 1
    functionsReached:
    - setTryNum
    - mcl::she::local::HashTable<G>::save
    - GAHashTableTest
    - mcl::she::local::HashTable<G>::init
    - load
    linkageType: ''
    returnType: void
    signature: void HashTableTest(const G& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::G1
      Src: /src/mcl/test/she_test.cpp:226,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/test/she_test.cpp:227,1
    - Dst: G2::G2
      Src: /src/mcl/test/she_test.cpp:228,1
    - Dst: hashAndMapToG2
      Src: /src/mcl/test/she_test.cpp:229,1
    - Dst: HashTableTest
      Src: /src/mcl/test/she_test.cpp:230,1
    - Dst: HashTableTest
      Src: /src/mcl/test/she_test.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 4
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - hashAndMapToG1
    - G2::G2
    - hashAndMapToG2
    - HashTableTest
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(HashTable)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GT::GT
      Src: /src/mcl/test/she_test.cpp:238,1
    - Dst: testFp12pow
      Src: /src/mcl/test/she_test.cpp:239,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:240,1
    - Dst: basicLog
      Src: /src/mcl/test/she_test.cpp:240,1
    - Dst: GT::GT
      Src: /src/mcl/test/she_test.cpp:243,1
    - Dst: testFp12pow
      Src: /src/mcl/test/she_test.cpp:244,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:245,1
    - Dst: log
      Src: /src/mcl/test/she_test.cpp:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - maxSize
    - tryNum
    - ' g'
    - ' hashTbl'
    argTypes:
    - int
    - int
    - GT
    - HashTbl
    constantsTouched: []
    func_position:
      end: 247
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 247
    functionName: GTHashTableTest
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - testFp12pow
    - CYBOZU_TEST_EQUAL
    - log
    - basicLog
    - GT::GT
    linkageType: ''
    returnType: void
    signature: void GTHashTableTest(int maxSize, int tryNum, const GT& g, const HashTbl&
      hashTbl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GT::GT
      Src: /src/mcl/test/she_test.cpp:252,1
    - Dst: G1::G1
      Src: /src/mcl/test/she_test.cpp:254,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/test/she_test.cpp:255,1
    - Dst: G2::G2
      Src: /src/mcl/test/she_test.cpp:256,1
    - Dst: hashAndMapToG2
      Src: /src/mcl/test/she_test.cpp:257,1
    - Dst: pairing
      Src: /src/mcl/test/she_test.cpp:258,1
    - Dst: mcl::she::local::HashTable<GT, false>::init
      Src: /src/mcl/test/she_test.cpp:262,1
    - Dst: GTHashTableTest
      Src: /src/mcl/test/she_test.cpp:263,1
    - Dst: mcl::she::local::HashTable<GT, false>::save
      Src: /src/mcl/test/she_test.cpp:265,1
    - Dst: load
      Src: /src/mcl/test/she_test.cpp:266,1
    - Dst: setTryNum
      Src: /src/mcl/test/she_test.cpp:267,1
    - Dst: GTHashTableTest
      Src: /src/mcl/test/she_test.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 269
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - GTHashTableTest
    - mcl::she::local::HashTable<GT, false>::save
    - setTryNum
    - pairing
    - hashAndMapToG1
    - G2::G2
    - hashAndMapToG2
    - mcl::she::local::HashTable<GT, false>::init
    - GT::GT
    - load
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(GTHashTable)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setByCSPRNG
      Src: /src/mcl/test/she_test.cpp:274,1
    - Dst: setRangeForDLP
      Src: /src/mcl/test/she_test.cpp:275,1
    - Dst: getPublicKey
      Src: /src/mcl/test/she_test.cpp:277,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:280,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:281,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:281,1
    - Dst: PublicKey::reRand
      Src: /src/mcl/test/she_test.cpp:282,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:283,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:283,1
    - Dst: PrecomputedPublicKey::init
      Src: /src/mcl/test/she_test.cpp:286,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:291,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:292,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:292,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:293,1
    - Dst: isZero
      Src: /src/mcl/test/she_test.cpp:293,1
    - Dst: PrecomputedPublicKey::enc
      Src: /src/mcl/test/she_test.cpp:294,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:295,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:295,1
    - Dst: PrecomputedPublicKey::enc
      Src: /src/mcl/test/she_test.cpp:296,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:297,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:297,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:298,1
    - Dst: decViaGT
      Src: /src/mcl/test/she_test.cpp:298,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:299,1
    - Dst: isZero
      Src: /src/mcl/test/she_test.cpp:299,1
    - Dst: CipherTextGT::clear
      Src: /src/mcl/test/she_test.cpp:300,1
    - Dst: PublicKey::convert
      Src: /src/mcl/test/she_test.cpp:301,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:302,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:302,1
    - Dst: PrecomputedPublicKey::enc
      Src: /src/mcl/test/she_test.cpp:303,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:304,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:304,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:305,1
    - Dst: decViaGT
      Src: /src/mcl/test/she_test.cpp:305,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:306,1
    - Dst: isZero
      Src: /src/mcl/test/she_test.cpp:306,1
    - Dst: CipherTextGT::clear
      Src: /src/mcl/test/she_test.cpp:307,1
    - Dst: PublicKey::convert
      Src: /src/mcl/test/she_test.cpp:308,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:309,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:309,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:310,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:311,1
    - Dst: isZero
      Src: /src/mcl/test/she_test.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 313
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - PrecomputedPublicKey::init
    - setRangeForDLP
    - CYBOZU_TEST_EQUAL
    - setByCSPRNG
    - isZero
    - PublicKey::reRand
    - dec
    - decViaGT
    - CipherTextGT::clear
    - PublicKey::convert
    - getPublicKey
    - PublicKey::enc
    - PrecomputedPublicKey::enc
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(enc_dec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::G1
      Src: /src/mcl/test/she_test.cpp:317,1
    - Dst: G1::normalize
      Src: /src/mcl/test/she_test.cpp:319,1
    - Dst: getS
      Src: /src/mcl/test/she_test.cpp:319,1
    - Dst: G1::normalize
      Src: /src/mcl/test/she_test.cpp:320,1
    - Dst: getT
      Src: /src/mcl/test/she_test.cpp:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - c1
    - n
    argTypes:
    - CipherTextG1*
    - size_t
    constantsTouched: []
    func_position:
      end: 322
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 322
    functionName: normalizeCipher1
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - getS
    - G1::normalize
    - getT
    linkageType: ''
    returnType: void
    signature: void normalizeCipher1(const CipherTextG1 *c1, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/test/she_test.cpp:326,1
    - Dst: normalizeVec
      Src: /src/mcl/test/she_test.cpp:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - c1
    - n
    argTypes:
    - CipherTextG1*
    - size_t
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: normalizeCipher2
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_ALLOCA
    - normalizeVec
    linkageType: ''
    returnType: void
    signature: void normalizeCipher2(const CipherTextG1 *c1, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getPublicKey
      Src: /src/mcl/test/she_test.cpp:338,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:342,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:343,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:344,1
    - Dst: getS
      Src: /src/mcl/test/she_test.cpp:344,1
    - Dst: isOne
      Src: /src/mcl/test/she_test.cpp:344,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:345,1
    - Dst: getT
      Src: /src/mcl/test/she_test.cpp:345,1
    - Dst: isOne
      Src: /src/mcl/test/she_test.cpp:345,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:346,1
    - Dst: getS
      Src: /src/mcl/test/she_test.cpp:346,1
    - Dst: isOne
      Src: /src/mcl/test/she_test.cpp:346,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:347,1
    - Dst: getT
      Src: /src/mcl/test/she_test.cpp:347,1
    - Dst: isOne
      Src: /src/mcl/test/she_test.cpp:347,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:350,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:351,1
    - Dst: normalizeVec
      Src: /src/mcl/test/she_test.cpp:353,1
    - Dst: normalizeVec
      Src: /src/mcl/test/she_test.cpp:354,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:356,1
    - Dst: getS
      Src: /src/mcl/test/she_test.cpp:356,1
    - Dst: isOne
      Src: /src/mcl/test/she_test.cpp:356,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:357,1
    - Dst: getT
      Src: /src/mcl/test/she_test.cpp:357,1
    - Dst: isOne
      Src: /src/mcl/test/she_test.cpp:357,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:358,1
    - Dst: getS
      Src: /src/mcl/test/she_test.cpp:358,1
    - Dst: isOne
      Src: /src/mcl/test/she_test.cpp:358,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:359,1
    - Dst: getT
      Src: /src/mcl/test/she_test.cpp:359,1
    - Dst: isOne
      Src: /src/mcl/test/she_test.cpp:359,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:360,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:360,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:361,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:361,1
    - Dst: serializeVecToAffine
      Src: /src/mcl/test/she_test.cpp:367,1
    - Dst: deserializeVecFromAffine
      Src: /src/mcl/test/she_test.cpp:370,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:372,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:372,1
    - Dst: serializeVecToAffine
      Src: /src/mcl/test/she_test.cpp:379,1
    - Dst: deserializeVecFromAffine
      Src: /src/mcl/test/she_test.cpp:382,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:384,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 387
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - isOne
    - CYBOZU_TEST_ASSERT
    - serializeVecToAffine
    - CYBOZU_TEST_EQUAL
    - deserializeVecFromAffine
    - normalizeVec
    - dec
    - getT
    - getS
    - getPublicKey
    - PublicKey::enc
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(normalizeVec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encWithZkpBin
      Src: /src/mcl/test/she_test.cpp:395,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:396,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:396,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:397,1
    - Dst: verify
      Src: /src/mcl/test/she_test.cpp:397,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:399,1
    - Dst: verify
      Src: /src/mcl/test/she_test.cpp:399,1
    - Dst: CYBOZU_TEST_EXCEPTION
      Src: /src/mcl/test/she_test.cpp:401,1
    - Dst: encWithZkpBin
      Src: /src/mcl/test/she_test.cpp:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' sec'
    - ' pub'
    argTypes:
    - SecretKey
    - PK
    constantsTouched: []
    func_position:
      end: 402
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 402
    functionName: ZkpBinTest
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 1
    functionsReached:
    - verify
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EXCEPTION
    - CYBOZU_TEST_EQUAL
    - dec
    - encWithZkpBin
    linkageType: ''
    returnType: void
    signature: void ZkpBinTest(const SecretKey& sec, const PK& pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getPublicKey
      Src: /src/mcl/test/she_test.cpp:407,1
    - Dst: ZkpBinTest
      Src: /src/mcl/test/she_test.cpp:408,1
    - Dst: ZkpBinTest
      Src: /src/mcl/test/she_test.cpp:409,1
    - Dst: PrecomputedPublicKey::init
      Src: /src/mcl/test/she_test.cpp:412,1
    - Dst: ZkpBinTest
      Src: /src/mcl/test/she_test.cpp:413,1
    - Dst: ZkpBinTest
      Src: /src/mcl/test/she_test.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 415
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 415
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - getPublicKey
    - PrecomputedPublicKey::init
    - ZkpBinTest
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(ZkpBin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encWithZkpEq
      Src: /src/mcl/test/she_test.cpp:424,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:425,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:425,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:426,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:426,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:427,1
    - Dst: verify
      Src: /src/mcl/test/she_test.cpp:427,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:429,1
    - Dst: verify
      Src: /src/mcl/test/she_test.cpp:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' sec'
    - ' pub'
    argTypes:
    - SecretKey
    - PubT
    constantsTouched: []
    func_position:
      end: 431
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 431
    functionName: ZkpEqTest
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 1
    functionsReached:
    - verify
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - dec
    - encWithZkpEq
    linkageType: ''
    returnType: void
    signature: void ZkpEqTest(const SecretKey& sec, const PubT& pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getPublicKey
      Src: /src/mcl/test/she_test.cpp:437,1
    - Dst: PrecomputedPublicKey::init
      Src: /src/mcl/test/she_test.cpp:439,1
    - Dst: ZkpEqTest
      Src: /src/mcl/test/she_test.cpp:440,1
    - Dst: ZkpEqTest
      Src: /src/mcl/test/she_test.cpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 442
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - ZkpEqTest
    - getPublicKey
    - PrecomputedPublicKey::init
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(ZkpEq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encWithZkpBinEq
      Src: /src/mcl/test/she_test.cpp:451,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:452,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:452,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:453,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:453,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:454,1
    - Dst: verify
      Src: /src/mcl/test/she_test.cpp:454,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:456,1
    - Dst: verify
      Src: /src/mcl/test/she_test.cpp:456,1
    - Dst: CYBOZU_TEST_EXCEPTION
      Src: /src/mcl/test/she_test.cpp:458,1
    - Dst: encWithZkpBinEq
      Src: /src/mcl/test/she_test.cpp:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' sec'
    - ' pub'
    argTypes:
    - SecretKey
    - PK
    constantsTouched: []
    func_position:
      end: 459
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 459
    functionName: ZkpBinEqTest
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 1
    functionsReached:
    - verify
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EXCEPTION
    - CYBOZU_TEST_EQUAL
    - dec
    - encWithZkpBinEq
    linkageType: ''
    returnType: void
    signature: void ZkpBinEqTest(const SecretKey& sec, const PK& pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getPublicKey
      Src: /src/mcl/test/she_test.cpp:465,1
    - Dst: ZkpBinEqTest
      Src: /src/mcl/test/she_test.cpp:466,1
    - Dst: PrecomputedPublicKey::init
      Src: /src/mcl/test/she_test.cpp:469,1
    - Dst: ZkpBinEqTest
      Src: /src/mcl/test/she_test.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 471
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - getPublicKey
    - PrecomputedPublicKey::init
    - ZkpBinEqTest
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(ZkpBinEq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getPublicKey
      Src: /src/mcl/test/she_test.cpp:477,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:480,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:482,1
    - Dst: decWithZkpDec
      Src: /src/mcl/test/she_test.cpp:482,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:483,1
    - Dst: PublicKey::verify
      Src: /src/mcl/test/she_test.cpp:483,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:484,1
    - Dst: PublicKey::verify
      Src: /src/mcl/test/she_test.cpp:484,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:486,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:487,1
    - Dst: PublicKey::verify
      Src: /src/mcl/test/she_test.cpp:487,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:489,1
    - Dst: PublicKey::verify
      Src: /src/mcl/test/she_test.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 490
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - PublicKey::verify
    - getPublicKey
    - PublicKey::enc
    - decWithZkpDec
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(ZkpDecG1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getPublicKey
      Src: /src/mcl/test/she_test.cpp:496,1
    - Dst: PublicKey::getAuxiliaryForZkpDecGT
      Src: /src/mcl/test/she_test.cpp:498,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:501,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:503,1
    - Dst: decWithZkpDec
      Src: /src/mcl/test/she_test.cpp:503,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:504,1
    - Dst: AuxiliaryForZkpDecGT::verify
      Src: /src/mcl/test/she_test.cpp:504,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:505,1
    - Dst: AuxiliaryForZkpDecGT::verify
      Src: /src/mcl/test/she_test.cpp:505,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:507,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:508,1
    - Dst: AuxiliaryForZkpDecGT::verify
      Src: /src/mcl/test/she_test.cpp:508,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:510,1
    - Dst: AuxiliaryForZkpDecGT::verify
      Src: /src/mcl/test/she_test.cpp:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 511
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 511
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - PublicKey::getAuxiliaryForZkpDecGT
    - AuxiliaryForZkpDecGT::verify
    - getPublicKey
    - PublicKey::enc
    - decWithZkpDec
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(ZkpDecGT)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getPublicKey
      Src: /src/mcl/test/she_test.cpp:517,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:521,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:522,1
    - Dst: add
      Src: /src/mcl/test/she_test.cpp:523,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:524,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:524,1
    - Dst: PublicKey::reRand
      Src: /src/mcl/test/she_test.cpp:526,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:527,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:527,1
    - Dst: sub
      Src: /src/mcl/test/she_test.cpp:529,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:530,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:530,1
    - Dst: mul
      Src: /src/mcl/test/she_test.cpp:532,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:533,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:533,1
    - Dst: mul
      Src: /src/mcl/test/she_test.cpp:534,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:535,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:535,1
    - Dst: mul
      Src: /src/mcl/test/she_test.cpp:537,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:538,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:538,1
    - Dst: PublicKey::reRand
      Src: /src/mcl/test/she_test.cpp:540,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:541,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:541,1
    - Dst: CipherText::mul
      Src: /src/mcl/test/she_test.cpp:543,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:544,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:544,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:546,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:547,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:547,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:548,1
    - Dst: add
      Src: /src/mcl/test/she_test.cpp:549,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:550,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 553
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - add
    - CYBOZU_TEST_EQUAL
    - sub
    - PublicKey::reRand
    - CipherText::mul
    - dec
    - getPublicKey
    - PublicKey::enc
    - mul
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(add_sub_mul)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getPublicKey
      Src: /src/mcl/test/she_test.cpp:559,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/she_test.cpp:561,1
    - Dst: Fr::setRand
      Src: /src/mcl/test/she_test.cpp:562,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:564,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:566,1
    - Dst: sub
      Src: /src/mcl/test/she_test.cpp:567,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:568,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:568,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:570,1
    - Dst: mul
      Src: /src/mcl/test/she_test.cpp:571,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:572,1
    - Dst: isZero
      Src: /src/mcl/test/she_test.cpp:572,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:573,1
    - Dst: mul
      Src: /src/mcl/test/she_test.cpp:574,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:575,1
    - Dst: isZero
      Src: /src/mcl/test/she_test.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 576
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - Fr::setRand
    - CYBOZU_TEST_ASSERT
    - isZero
    - sub
    - CYBOZU_TEST_EQUAL
    - dec
    - Fr::Fr
    - getPublicKey
    - PublicKey::enc
    - mul
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(largeEnc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getPublicKey
      Src: /src/mcl/test/she_test.cpp:582,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:586,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:587,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:587,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:588,1
    - Dst: isMultiplied
      Src: /src/mcl/test/she_test.cpp:588,1
    - Dst: PublicKey::convert
      Src: /src/mcl/test/she_test.cpp:590,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:591,1
    - Dst: CipherText::isMultiplied
      Src: /src/mcl/test/she_test.cpp:591,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:592,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:592,1
    - Dst: add
      Src: /src/mcl/test/she_test.cpp:598,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:599,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:599,1
    - Dst: mul
      Src: /src/mcl/test/she_test.cpp:601,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:602,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:602,1
    - Dst: mul
      Src: /src/mcl/test/she_test.cpp:603,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:604,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:604,1
    - Dst: add
      Src: /src/mcl/test/she_test.cpp:605,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:606,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:606,1
    - Dst: sub
      Src: /src/mcl/test/she_test.cpp:607,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:608,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 609
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 609
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - add
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - sub
    - CipherText::isMultiplied
    - dec
    - isMultiplied
    - PublicKey::convert
    - getPublicKey
    - PublicKey::enc
    - mul
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(add_mul_add_sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getPublicKey
      Src: /src/mcl/test/she_test.cpp:615,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:623,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:624,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:625,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:626,1
    - Dst: mcl::she::CipherTextGT::mulML
      Src: /src/mcl/test/she_test.cpp:627,1
    - Dst: mcl::she::CipherTextGT::finalExp
      Src: /src/mcl/test/she_test.cpp:628,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:629,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:629,1
    - Dst: mcl::she::CipherTextGT::mulML
      Src: /src/mcl/test/she_test.cpp:630,1
    - Dst: mcl::she::CipherTextGT::finalExp
      Src: /src/mcl/test/she_test.cpp:631,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:632,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:632,1
    - Dst: mcl::she::CipherTextGT::add
      Src: /src/mcl/test/she_test.cpp:633,1
    - Dst: mcl::she::CipherTextGT::finalExp
      Src: /src/mcl/test/she_test.cpp:634,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:635,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 636
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 636
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::she::CipherTextGT::mulML
    - mcl::she::CipherTextGT::add
    - CYBOZU_TEST_EQUAL
    - dec
    - mcl::she::CipherTextGT::finalExp
    - getPublicKey
    - PublicKey::enc
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(finalExp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getPublicKey
      Src: /src/mcl/test/she_test.cpp:642,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/she_test.cpp:644,1
    - Dst: std::vector::resize
      Src: /src/mcl/test/she_test.cpp:648,1
    - Dst: resize
      Src: /src/mcl/test/she_test.cpp:649,1
    - Dst: std::vector::resize
      Src: /src/mcl/test/she_test.cpp:650,1
    - Dst: resize
      Src: /src/mcl/test/she_test.cpp:651,1
    - Dst: rg
      Src: /src/mcl/test/she_test.cpp:654,1
    - Dst: rg
      Src: /src/mcl/test/she_test.cpp:655,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:657,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:658,1
    - Dst: CipherText::mul
      Src: /src/mcl/test/she_test.cpp:661,1
    - Dst: CipherText::mul
      Src: /src/mcl/test/she_test.cpp:663,1
    - Dst: CipherText::add
      Src: /src/mcl/test/she_test.cpp:664,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:666,1
    - Dst: dec
      Src: /src/mcl/test/she_test.cpp:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 667
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 667
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    - std::vector::resize
    - CipherText::mul
    - dec
    - CipherText::add
    - resize
    - cybozu::XorShift::XorShift
    - rg
    - getPublicKey
    - PublicKey::enc
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(innerProduct)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 678
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 678
    functionName: testIo
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 1
    functionsReached:
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: T
    signature: T testIo(const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setRangeForDLP
      Src: /src/mcl/test/she_test.cpp:682,1
    - Dst: mcl::FpT::setIoMode
      Src: /src/mcl/test/she_test.cpp:686,1
    - Dst: mcl::FpT::setIoMode
      Src: /src/mcl/test/she_test.cpp:687,1
    - Dst: SecretKey::setByCSPRNG
      Src: /src/mcl/test/she_test.cpp:690,1
    - Dst: testIo
      Src: /src/mcl/test/she_test.cpp:691,1
    - Dst: SecretKey::getPublicKey
      Src: /src/mcl/test/she_test.cpp:693,1
    - Dst: testIo
      Src: /src/mcl/test/she_test.cpp:694,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:696,1
    - Dst: SecretKey::dec
      Src: /src/mcl/test/she_test.cpp:697,1
    - Dst: testIo
      Src: /src/mcl/test/she_test.cpp:697,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:698,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:700,1
    - Dst: testIo
      Src: /src/mcl/test/she_test.cpp:701,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:703,1
    - Dst: SecretKey::dec
      Src: /src/mcl/test/she_test.cpp:704,1
    - Dst: testIo
      Src: /src/mcl/test/she_test.cpp:704,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:705,1
    - Dst: mcl::she::CipherTextGT::mul
      Src: /src/mcl/test/she_test.cpp:707,1
    - Dst: SecretKey::dec
      Src: /src/mcl/test/she_test.cpp:708,1
    - Dst: testIo
      Src: /src/mcl/test/she_test.cpp:708,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 711
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 711
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::she::CipherTextGT::mul
    - SecretKey::dec
    - setRangeForDLP
    - CYBOZU_TEST_EQUAL
    - testIo
    - SecretKey::getPublicKey
    - SecretKey::setByCSPRNG
    - mcl::FpT::setIoMode
    - PublicKey::enc
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(io)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getPublicKey
      Src: /src/mcl/test/she_test.cpp:718,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/test/she_test.cpp:720,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:721,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/test/she_test.cpp:722,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/test/she_test.cpp:723,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:724,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:725,1
    - Dst: CipherText::mul
      Src: /src/mcl/test/she_test.cpp:726,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/test/she_test.cpp:727,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/test/she_test.cpp:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 730
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 730
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - CipherText::mul
    - getPublicKey
    - PublicKey::enc
    - CYBOZU_BENCH
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(bench)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::local::HashTable<G1>::init
      Src: /src/mcl/test/she_test.cpp:736,1
    - Dst: mcl::she::local::HashTable<G1>::save
      Src: /src/mcl/test/she_test.cpp:738,1
    - Dst: load
      Src: /src/mcl/test/she_test.cpp:739,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/she_test.cpp:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 741
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 741
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_ASSERT
    - mcl::she::local::HashTable<G1>::save
    - mcl::she::local::HashTable<G1>::init
    - load
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(saveHash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enc
      Src: /src/mcl/test/she_test.cpp:751,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:752,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:753,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:754,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/she_test.cpp:758,1
    - Dst: enc
      Src: /src/mcl/test/she_test.cpp:761,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - msg
    - C
    - ' sec'
    - ' pub'
    argTypes:
    - char*
    - int
    - SecretKey
    - PublicKey
    constantsTouched: []
    func_position:
      end: 764
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 764
    functionName: decBench
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - printf
    - CYBOZU_TEST_EQUAL
    - enc
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void decBench(const char *msg, int C, const SecretKey& sec, const PublicKey&
      pub, int64_t (SecretKey::*dec)(const CT& c, bool *pok) const = &SecretKey::dec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 767
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 767
    functionName: putK
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void putK(double t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setTryNum
      Src: /src/mcl/test/she_test.cpp:770,1
    - Dst: setByCSPRNG
      Src: /src/mcl/test/she_test.cpp:772,1
    - Dst: clock
      Src: /src/mcl/test/she_test.cpp:776,1
    - Dst: setRangeForG1DLP
      Src: /src/mcl/test/she_test.cpp:777,1
    - Dst: clock
      Src: /src/mcl/test/she_test.cpp:778,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:779,1
    - Dst: setRangeForG2DLP
      Src: /src/mcl/test/she_test.cpp:781,1
    - Dst: clock
      Src: /src/mcl/test/she_test.cpp:782,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:783,1
    - Dst: setRangeForGTDLP
      Src: /src/mcl/test/she_test.cpp:785,1
    - Dst: clock
      Src: /src/mcl/test/she_test.cpp:786,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:787,1
    - Dst: getPublicKey
      Src: /src/mcl/test/she_test.cpp:790,1
    - Dst: PrecomputedPublicKey::init
      Src: /src/mcl/test/she_test.cpp:792,1
    - Dst: puts
      Src: /src/mcl/test/she_test.cpp:793,1
    - Dst: cybozu::bench::setPutCallback
      Src: /src/mcl/test/she_test.cpp:794,1
    - Dst: decBench
      Src: /src/mcl/test/she_test.cpp:795,1
    - Dst: puts
      Src: /src/mcl/test/she_test.cpp:796,1
    - Dst: decBench
      Src: /src/mcl/test/she_test.cpp:797,1
    - Dst: puts
      Src: /src/mcl/test/she_test.cpp:798,1
    - Dst: decBench
      Src: /src/mcl/test/she_test.cpp:799,1
    - Dst: puts
      Src: /src/mcl/test/she_test.cpp:800,1
    - Dst: decBench
      Src: /src/mcl/test/she_test.cpp:801,1
    - Dst: puts
      Src: /src/mcl/test/she_test.cpp:802,1
    - Dst: decBench
      Src: /src/mcl/test/she_test.cpp:803,1
    - Dst: G1::G1
      Src: /src/mcl/test/she_test.cpp:805,1
    - Dst: G2::G2
      Src: /src/mcl/test/she_test.cpp:806,1
    - Dst: GT::GT
      Src: /src/mcl/test/she_test.cpp:807,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/she_test.cpp:810,1
    - Dst: Fr::setRand
      Src: /src/mcl/test/she_test.cpp:811,1
    - Dst: Fr::getMpz
      Src: /src/mcl/test/she_test.cpp:812,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/test/she_test.cpp:814,1
    - Dst: hashAndMapToG2
      Src: /src/mcl/test/she_test.cpp:815,1
    - Dst: pairing
      Src: /src/mcl/test/she_test.cpp:816,1
    - Dst: clear
      Src: /src/mcl/test/she_test.cpp:817,1
    - Dst: clear
      Src: /src/mcl/test/she_test.cpp:818,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:821,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:822,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:823,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:824,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:825,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:826,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:827,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:828,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:829,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:830,1
    - Dst: mcl::fp::WindowMethod<AG>::init
      Src: /src/mcl/test/she_test.cpp:834,1
    - Dst: static_cast<AG&>
      Src: /src/mcl/test/she_test.cpp:834,1
    - Dst: mcl::FpT::getBitSize
      Src: /src/mcl/test/she_test.cpp:834,1
    - Dst: GT::GT
      Src: /src/mcl/test/she_test.cpp:836,1
    - Dst: testFp12pow
      Src: /src/mcl/test/she_test.cpp:837,1
    - Dst: mcl::fp::WindowMethod<AG>::mul
      Src: /src/mcl/test/she_test.cpp:838,1
    - Dst: static_cast<AG&>
      Src: /src/mcl/test/she_test.cpp:838,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:839,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:844,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:845,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:846,1
    - Dst: printf
      Src: /src/mcl/test/she_test.cpp:853,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:854,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:855,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:856,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:857,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:858,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:859,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:862,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:863,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:864,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:865,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:866,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:867,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:869,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:870,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:871,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:873,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:874,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:875,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:880,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:881,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:882,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:883,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:884,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:885,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:886,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:887,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:888,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:889,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:890,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:891,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:893,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 895
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 895
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - PrecomputedPublicKey::init
    - printf
    - testFp12pow
    - CYBOZU_TEST_EQUAL
    - hashAndMapToG2
    - clear
    - Fr::Fr
    - static_cast<AG&>
    - setTryNum
    - setByCSPRNG
    - hashAndMapToG1
    - mcl::FpT::getBitSize
    - cybozu::bench::setPutCallback
    - Fr::setRand
    - setRangeForGTDLP
    - decBench
    - puts
    - G2::G2
    - setRangeForG2DLP
    - Fr::getMpz
    - getPublicKey
    - mcl::fp::WindowMethod<AG>::init
    - setRangeForG1DLP
    - pairing
    - clock
    - GT::GT
    - CYBOZU_BENCH_C
    - mcl::fp::WindowMethod<AG>::mul
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(hashBench)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initG1only
      Src: /src/mcl/test/she_test.cpp:902,1
    - Dst: SecretKey::setByCSPRNG
      Src: /src/mcl/test/she_test.cpp:905,1
    - Dst: SecretKey::getPublicKey
      Src: /src/mcl/test/she_test.cpp:907,1
    - Dst: PrecomputedPublicKey::init
      Src: /src/mcl/test/she_test.cpp:909,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:912,1
    - Dst: PublicKey::enc
      Src: /src/mcl/test/she_test.cpp:913,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:914,1
    - Dst: SecretKey::dec
      Src: /src/mcl/test/she_test.cpp:914,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:915,1
    - Dst: SecretKey::dec
      Src: /src/mcl/test/she_test.cpp:915,1
    - Dst: add
      Src: /src/mcl/test/she_test.cpp:916,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:917,1
    - Dst: SecretKey::dec
      Src: /src/mcl/test/she_test.cpp:917,1
    - Dst: neg
      Src: /src/mcl/test/she_test.cpp:918,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:919,1
    - Dst: SecretKey::dec
      Src: /src/mcl/test/she_test.cpp:919,1
    - Dst: mul
      Src: /src/mcl/test/she_test.cpp:920,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:921,1
    - Dst: SecretKey::dec
      Src: /src/mcl/test/she_test.cpp:921,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:925,1
    - Dst: SecretKey::deserialize
      Src: /src/mcl/test/she_test.cpp:927,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:928,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:929,1
    - Dst: PublicKey::serialize
      Src: /src/mcl/test/she_test.cpp:931,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:932,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:933,1
    - Dst: mcl::EcT::getSerializedByteSize
      Src: /src/mcl/test/she_test.cpp:933,1
    - Dst: PublicKey::deserialize
      Src: /src/mcl/test/she_test.cpp:935,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:936,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:937,1
    - Dst: SecretKey::getPublicKey
      Src: /src/mcl/test/she_test.cpp:940,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:941,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:943,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:944,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/she_test.cpp:945,1
    - Dst: SecretKey::dec
      Src: /src/mcl/test/she_test.cpp:945,1
    - Dst: SecretKey::dec
      Src: /src/mcl/test/she_test.cpp:945,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:946,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/she_test.cpp:947,1
    - Dst: Fr::setByCSPRNG
      Src: /src/mcl/test/she_test.cpp:948,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:949,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/she_test.cpp:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 951
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 951
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/she_test.cpp
    functionUses: 0
    functionsReached:
    - add
    - PublicKey::deserialize
    - PrecomputedPublicKey::init
    - SecretKey::dec
    - CYBOZU_TEST_EQUAL
    - PublicKey::serialize
    - Fr::setByCSPRNG
    - initG1only
    - SecretKey::getPublicKey
    - neg
    - SecretKey::setByCSPRNG
    - Fr::Fr
    - CYBOZU_BENCH_C
    - PublicKey::enc
    - SecretKey::deserialize
    - mcl::EcT::getSerializedByteSize
    - mul
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(liftedElGamal)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: squareRoot
      Src: /src/mcl/test/glv_test.cpp:21,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/test/glv_test.cpp:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' r'
    - ' z'
    argTypes:
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: init
    functionSourceFile: /src/mcl/test/glv_test.cpp
    functionUses: 62
    functionsReached:
    - Shim_Exception::Shim_Exception
    - squareRoot
    linkageType: ''
    returnType: void
    signature: void init(const mpz_class& r, const mpz_class& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/glv_test.cpp:32,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/test/glv_test.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' Q'
    - ' P'
    argTypes:
    - G1
    - G1
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: mulP2
    functionSourceFile: /src/mcl/test/glv_test.cpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group_Data::affine_neg
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mulP2(G1& Q, const G1& P) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/test/glv_test.cpp:42,1
    - Dst: mcl::gmp::divmod
      Src: /src/mcl/test/glv_test.cpp:53,1
    - Dst: mcl::gmp::divmod
      Src: /src/mcl/test/glv_test.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' x'
    argTypes:
    - mpz_class
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: split
    functionSourceFile: /src/mcl/test/glv_test.cpp
    functionUses: 5
    functionsReached:
    - mcl::gmp::divmod
    - assert
    linkageType: ''
    returnType: void
    signature: void split(mpz_class& a, mpz_class& b, const mpz_class& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::G1
      Src: /src/mcl/test/glv_test.cpp:63,1
    - Dst: split
      Src: /src/mcl/test/glv_test.cpp:65,1
    - Dst: mulP2
      Src: /src/mcl/test/glv_test.cpp:66,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/glv_test.cpp:67,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/glv_test.cpp:68,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/test/glv_test.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' Q'
    - ' P'
    - ' x'
    argTypes:
    - G1
    - G1
    - mpz_class
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: mul
    functionSourceFile: /src/mcl/test/glv_test.cpp
    functionUses: 208
    functionsReached:
    - G1::G1
    - mulP2
    - split
    - fiat_bls12_381_fp_add
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mul(G1& Q, const G1& P, const mpz_class& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/glv_test.cpp:76,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/glv_test.cpp:78,1
    - Dst: mcl::mulGeneric
      Src: /src/mcl/test/glv_test.cpp:82,1
    - Dst: Fr::getMpz
      Src: /src/mcl/test/glv_test.cpp:82,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/glv_test.cpp:83,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/glv_test.cpp:84,1
    - Dst: clear
      Src: /src/mcl/test/glv_test.cpp:85,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/glv_test.cpp:86,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/glv_test.cpp:87,1
    - Dst: clear
      Src: /src/mcl/test/glv_test.cpp:88,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/glv_test.cpp:91,1
    - Dst: Fr::setRand
      Src: /src/mcl/test/glv_test.cpp:92,1
    - Dst: mcl::mulGeneric
      Src: /src/mcl/test/glv_test.cpp:93,1
    - Dst: Fr::getMpz
      Src: /src/mcl/test/glv_test.cpp:93,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/glv_test.cpp:94,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/glv_test.cpp:95,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/glv_test.cpp:96,1
    - Dst: Fr::setRand
      Src: /src/mcl/test/glv_test.cpp:97,1
    - Dst: mcl::mulGeneric
      Src: /src/mcl/test/glv_test.cpp:98,1
    - Dst: Fr::getMpz
      Src: /src/mcl/test/glv_test.cpp:98,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/glv_test.cpp:99,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/glv_test.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - ' P'
    - name
    argTypes:
    - G
    - char*
    constantsTouched: []
    func_position:
      end: 102
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 102
    functionName: testGLV
    functionSourceFile: /src/mcl/test/glv_test.cpp
    functionUses: 0
    functionsReached:
    - Fr::setRand
    - printf
    - CYBOZU_TEST_EQUAL
    - mcl::mulGeneric
    - clear
    - fiat_bls12_381_fp_mul
    - cybozu::XorShift::XorShift
    - Fr::Fr
    - Fr::getMpz
    linkageType: ''
    returnType: void
    signature: void testGLV(const G& P, const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/glv_test.cpp:108,1
    - Dst: G::clear
      Src: /src/mcl/test/glv_test.cpp:112,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/glv_test.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' out'
    - xVec
    - yVec
    - n
    argTypes:
    - G
    - G*
    - Fr*
    - size_t
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: naiveMulVec
    functionSourceFile: /src/mcl/test/glv_test.cpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_mul
    - G::clear
    linkageType: ''
    returnType: void
    signature: void naiveMulVec(G& out, const G *xVec, const Fr *yVec, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnG1_mulVec
      Src: /src/mcl/test/glv_test.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ' z'
    - x
    - y
    - n
    - x0
    argTypes:
    - G
    - G*
    - Fr*
    - size_t
    - G*
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: mulVecCopy
    functionSourceFile: /src/mcl/test/glv_test.cpp
    functionUses: 0
    functionsReached:
    - mclBnG1_mulVec
    linkageType: ''
    returnType: void
    signature: void mulVecCopy(G& z, G *x, const Fr *y, size_t n, const G* x0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/glv_test.cpp:130,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/glv_test.cpp:138,1
    - Dst: setByCSPRNG
      Src: /src/mcl/test/glv_test.cpp:140,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/glv_test.cpp:143,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/glv_test.cpp:146,1
    - Dst: naiveMulVec
      Src: /src/mcl/test/glv_test.cpp:147,1
    - Dst: std::vector::data
      Src: /src/mcl/test/glv_test.cpp:147,1
    - Dst: std::vector::data
      Src: /src/mcl/test/glv_test.cpp:147,1
    - Dst: mclBnG1_mulVec
      Src: /src/mcl/test/glv_test.cpp:148,1
    - Dst: std::vector::data
      Src: /src/mcl/test/glv_test.cpp:148,1
    - Dst: std::vector::data
      Src: /src/mcl/test/glv_test.cpp:148,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/glv_test.cpp:149,1
    - Dst: printf
      Src: /src/mcl/test/glv_test.cpp:151,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/glv_test.cpp:153,1
    - Dst: std::vector::data
      Src: /src/mcl/test/glv_test.cpp:153,1
    - Dst: std::vector::data
      Src: /src/mcl/test/glv_test.cpp:153,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/glv_test.cpp:154,1
    - Dst: std::vector::data
      Src: /src/mcl/test/glv_test.cpp:154,1
    - Dst: std::vector::data
      Src: /src/mcl/test/glv_test.cpp:154,1
    - Dst: std::vector::data
      Src: /src/mcl/test/glv_test.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - ' P'
    - name
    argTypes:
    - G
    - char*
    constantsTouched: []
    func_position:
      end: 157
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 157
    functionName: testMulVec
    functionSourceFile: /src/mcl/test/glv_test.cpp
    functionUses: 1
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_ASSERT
    - printf
    - setByCSPRNG
    - CYBOZU_TEST_EQUAL
    - mclBnG1_mulVec
    - naiveMulVec
    - fiat_bls12_381_fp_mul
    - CYBOZU_BENCH_C
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void testMulVec(const G& P, const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testFp12pow
      Src: /src/mcl/test/glv_test.cpp:162,1
    - Dst: GT::GT
      Src: /src/mcl/test/glv_test.cpp:165,1
    - Dst: testFp12pow
      Src: /src/mcl/test/glv_test.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' out'
    - xVec
    - yVec
    - n
    argTypes:
    - GT
    - GT*
    - Fr*
    - size_t
    constantsTouched: []
    func_position:
      end: 172
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 172
    functionName: naivePowVec
    functionSourceFile: /src/mcl/test/glv_test.cpp
    functionUses: 0
    functionsReached:
    - GT::GT
    - testFp12pow
    linkageType: ''
    returnType: void
    signature: void naivePowVec(GT& out, const GT *xVec, const Fr *yVec, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/glv_test.cpp:176,1
    - Dst: testFp12pow
      Src: /src/mcl/test/glv_test.cpp:184,1
    - Dst: setByCSPRNG
      Src: /src/mcl/test/glv_test.cpp:186,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/glv_test.cpp:189,1
    - Dst: GT::GT
      Src: /src/mcl/test/glv_test.cpp:191,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/glv_test.cpp:192,1
    - Dst: naivePowVec
      Src: /src/mcl/test/glv_test.cpp:193,1
    - Dst: std::vector::data
      Src: /src/mcl/test/glv_test.cpp:193,1
    - Dst: std::vector::data
      Src: /src/mcl/test/glv_test.cpp:193,1
    - Dst: mclBnGT_powVec
      Src: /src/mcl/test/glv_test.cpp:194,1
    - Dst: std::vector::data
      Src: /src/mcl/test/glv_test.cpp:194,1
    - Dst: std::vector::data
      Src: /src/mcl/test/glv_test.cpp:194,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/glv_test.cpp:195,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/glv_test.cpp:198,1
    - Dst: std::vector::data
      Src: /src/mcl/test/glv_test.cpp:198,1
    - Dst: std::vector::data
      Src: /src/mcl/test/glv_test.cpp:198,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/glv_test.cpp:199,1
    - Dst: std::vector::data
      Src: /src/mcl/test/glv_test.cpp:199,1
    - Dst: std::vector::data
      Src: /src/mcl/test/glv_test.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - GT
    constantsTouched: []
    func_position:
      end: 202
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 202
    functionName: testPowVec
    functionSourceFile: /src/mcl/test/glv_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mclBnGT_powVec
    - CYBOZU_TEST_ASSERT
    - naivePowVec
    - setByCSPRNG
    - testFp12pow
    - CYBOZU_TEST_EQUAL
    - puts
    - GT::GT
    - CYBOZU_BENCH_C
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void testPowVec(const GT& e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GT::GT
      Src: /src/mcl/test/glv_test.cpp:208,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/glv_test.cpp:209,1
    - Dst: mclBnGT_powGeneric
      Src: /src/mcl/test/glv_test.cpp:213,1
    - Dst: Fr::getMpz
      Src: /src/mcl/test/glv_test.cpp:213,1
    - Dst: testFp12pow
      Src: /src/mcl/test/glv_test.cpp:214,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/glv_test.cpp:215,1
    - Dst: clear
      Src: /src/mcl/test/glv_test.cpp:216,1
    - Dst: testFp12pow
      Src: /src/mcl/test/glv_test.cpp:217,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/glv_test.cpp:218,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/glv_test.cpp:221,1
    - Dst: Fr::setRand
      Src: /src/mcl/test/glv_test.cpp:222,1
    - Dst: mclBnGT_powGeneric
      Src: /src/mcl/test/glv_test.cpp:223,1
    - Dst: Fr::getMpz
      Src: /src/mcl/test/glv_test.cpp:223,1
    - Dst: testFp12pow
      Src: /src/mcl/test/glv_test.cpp:224,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/glv_test.cpp:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - GT
    constantsTouched: []
    func_position:
      end: 227
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 227
    functionName: testGT
    functionSourceFile: /src/mcl/test/glv_test.cpp
    functionUses: 0
    functionsReached:
    - Fr::setRand
    - testFp12pow
    - CYBOZU_TEST_EQUAL
    - clear
    - Fr::Fr
    - cybozu::XorShift::XorShift
    - GT::GT
    - Fr::getMpz
    - mclBnGT_powGeneric
    linkageType: ''
    returnType: void
    signature: void testGT(const GT& e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/glv_test.cpp:240,1
    - Dst: printf
      Src: /src/mcl/test/glv_test.cpp:241,1
    - Dst: initPairing
      Src: /src/mcl/test/glv_test.cpp:243,1
    - Dst: G1::G1
      Src: /src/mcl/test/glv_test.cpp:244,1
    - Dst: G2::G2
      Src: /src/mcl/test/glv_test.cpp:245,1
    - Dst: GT::GT
      Src: /src/mcl/test/glv_test.cpp:246,1
    - Dst: mapToG1
      Src: /src/mcl/test/glv_test.cpp:247,1
    - Dst: mapToG2
      Src: /src/mcl/test/glv_test.cpp:248,1
    - Dst: pairing
      Src: /src/mcl/test/glv_test.cpp:249,1
    - Dst: testGLV
      Src: /src/mcl/test/glv_test.cpp:250,1
    - Dst: testGLV
      Src: /src/mcl/test/glv_test.cpp:251,1
    - Dst: testGT
      Src: /src/mcl/test/glv_test.cpp:252,1
    - Dst: testMulVec
      Src: /src/mcl/test/glv_test.cpp:253,1
    - Dst: testMulVec
      Src: /src/mcl/test/glv_test.cpp:254,1
    - Dst: testPowVec
      Src: /src/mcl/test/glv_test.cpp:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 257
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/glv_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - CYBOZU_NUM_OF_ARRAY
    - pairing
    - printf
    - testPowVec
    - testMulVec
    - mapToG2
    - testGLV
    - G2::G2
    - initPairing
    - testGT
    - mapToG1
    - GT::GT
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(glv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn384_test.cpp:15,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn384_test.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ' z'
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    - u
    argTypes:
    - Fp2
    - Fp
    - Fp
    - Fp
    - Fp
    - uint32_t
    constantsTouched: []
    func_position:
      end: 17
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 17
    functionName: testMulBLS12_377
    functionSourceFile: /src/mcl/test/bn384_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void testMulBLS12_377(Fp2& z, const Fp& a, const Fp& b, const Fp& c,
      const Fp& d, uint32_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn384_test.cpp:25,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/test/bn384_test.cpp:34,1
    - Dst: testMulBLS12_377
      Src: /src/mcl/test/bn384_test.cpp:35,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/test/bn384_test.cpp:36,1
    - Dst: testMulBLS12_377
      Src: /src/mcl/test/bn384_test.cpp:37,1
    - Dst: mcl::Fp2::mul_xi
      Src: /src/mcl/test/bn384_test.cpp:39,1
    - Dst: testMulBLS12_377
      Src: /src/mcl/test/bn384_test.cpp:40,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/test/bn384_test.cpp:43,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/test/bn384_test.cpp:44,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn384_test.cpp:45,1
    - Dst: sqrPre
      Src: /src/mcl/test/bn384_test.cpp:47,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/test/bn384_test.cpp:48,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn384_test.cpp:49,1
    - Dst: mcl::Fp2::inv
      Src: /src/mcl/test/bn384_test.cpp:51,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/test/bn384_test.cpp:52,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn384_test.cpp:53,1
    - Dst: mcl::Fp2::squareRoot
      Src: /src/mcl/test/bn384_test.cpp:56,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn384_test.cpp:57,1
    - Dst: mcl::Fp2::Frobenius
      Src: /src/mcl/test/bn384_test.cpp:61,1
    - Dst: testFp12pow
      Src: /src/mcl/test/bn384_test.cpp:62,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/bn384_test.cpp:62,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn384_test.cpp:63,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/test/bn384_test.cpp:75,1
    - Dst: testMulBLS12_377
      Src: /src/mcl/test/bn384_test.cpp:76,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/test/bn384_test.cpp:79,1
    - Dst: testMulBLS12_377
      Src: /src/mcl/test/bn384_test.cpp:80,1
    - Dst: mcl::Fp2::mul_xi
      Src: /src/mcl/test/bn384_test.cpp:84,1
    - Dst: testMulBLS12_377
      Src: /src/mcl/test/bn384_test.cpp:85,1
    - Dst: mcl::Fp2::inv
      Src: /src/mcl/test/bn384_test.cpp:88,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/test/bn384_test.cpp:89,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn384_test.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 92
    functionName: testFp2BLS12_377
    functionSourceFile: /src/mcl/test/bn384_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::Fp2::squareRoot
    - mcl::Fp2::Frobenius
    - testMulBLS12_377
    - sqrPre
    - mcl::Fp2::inv
    - CYBOZU_TEST_EQUAL
    - testFp12pow
    - ref_inverse_mod
    - mcl::Fp2::mul_xi
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - mcl::Fp2::sqr
    - mcl::Fp2::mul
    - gen_mcl_fpDbl_mulPre
    linkageType: ''
    returnType: void
    signature: void testFp2BLS12_377()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/test/bn384_test.cpp:98,1
    - Dst: Fp::setStr
      Src: /src/mcl/test/bn384_test.cpp:99,1
    - Dst: setStr
      Src: /src/mcl/test/bn384_test.cpp:100,1
    - Dst: set
      Src: /src/mcl/test/bn384_test.cpp:101,1
    - Dst: G1::G1
      Src: /src/mcl/test/bn384_test.cpp:102,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn384_test.cpp:103,1
    - Dst: isValid
      Src: /src/mcl/test/bn384_test.cpp:103,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/bn384_test.cpp:104,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/bn384_test.cpp:104,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn384_test.cpp:105,1
    - Dst: G1::isValid
      Src: /src/mcl/test/bn384_test.cpp:105,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn384_test.cpp:106,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn384_test.cpp:107,1
    - Dst: isZero
      Src: /src/mcl/test/bn384_test.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - G1
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: testG1BLS12_377
    functionSourceFile: /src/mcl/test/bn384_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - CYBOZU_TEST_ASSERT
    - isZero
    - CYBOZU_TEST_EQUAL
    - isValid
    - Fp::setStr
    - fiat_bls12_381_fp_mul
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - G1::isValid
    - Fp::Fp
    - set
    - setStr
    linkageType: ''
    returnType: void
    signature: void testG1BLS12_377(G1& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp2::setStr
      Src: /src/mcl/test/bn384_test.cpp:115,1
    - Dst: setStr
      Src: /src/mcl/test/bn384_test.cpp:116,1
    - Dst: set
      Src: /src/mcl/test/bn384_test.cpp:117,1
    - Dst: G2::G2
      Src: /src/mcl/test/bn384_test.cpp:118,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn384_test.cpp:119,1
    - Dst: isValid
      Src: /src/mcl/test/bn384_test.cpp:119,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/bn384_test.cpp:120,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/bn384_test.cpp:120,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn384_test.cpp:121,1
    - Dst: G2::isValid
      Src: /src/mcl/test/bn384_test.cpp:121,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn384_test.cpp:122,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn384_test.cpp:123,1
    - Dst: isZero
      Src: /src/mcl/test/bn384_test.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - G2
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: testG2BLS12_377
    functionSourceFile: /src/mcl/test/bn384_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_ASSERT
    - isZero
    - CYBOZU_TEST_EQUAL
    - Fp2::setStr
    - isValid
    - G2::G2
    - G2::isValid
    - fiat_bls12_381_fp_mul
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - set
    - setStr
    linkageType: ''
    returnType: void
    signature: void testG2BLS12_377(G2& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GT::GT
      Src: /src/mcl/test/bn384_test.cpp:140,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/bn384_test.cpp:141,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/bn384_test.cpp:142,1
    - Dst: GT::setStr
      Src: /src/mcl/test/bn384_test.cpp:143,1
    - Dst: testFp12pow
      Src: /src/mcl/test/bn384_test.cpp:144,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn384_test.cpp:145,1
    - Dst: isOne
      Src: /src/mcl/test/bn384_test.cpp:145,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/test/bn384_test.cpp:146,1
    - Dst: testFp12pow
      Src: /src/mcl/test/bn384_test.cpp:147,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn384_test.cpp:148,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/test/bn384_test.cpp:149,1
    - Dst: mcl::Frobenius2
      Src: /src/mcl/test/bn384_test.cpp:150,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn384_test.cpp:151,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/test/bn384_test.cpp:152,1
    - Dst: mcl::Frobenius3
      Src: /src/mcl/test/bn384_test.cpp:153,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn384_test.cpp:154,1
    - Dst: pairing
      Src: /src/mcl/test/bn384_test.cpp:156,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn384_test.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 158
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 158
    functionName: testGTBLS12_377
    functionSourceFile: /src/mcl/test/bn384_test.cpp
    functionUses: 0
    functionsReached:
    - isOne
    - mcl::Frobenius3
    - CYBOZU_TEST_ASSERT
    - pairing
    - testFp12pow
    - CYBOZU_TEST_EQUAL
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - GT::GT
    - mcl::Frobenius2
    - GT::setStr
    - mcl::Frobenius
    linkageType: ''
    returnType: void
    signature: void testGTBLS12_377(const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testFp2BLS12_377
      Src: /src/mcl/test/bn384_test.cpp:162,1
    - Dst: G1::G1
      Src: /src/mcl/test/bn384_test.cpp:163,1
    - Dst: G2::G2
      Src: /src/mcl/test/bn384_test.cpp:164,1
    - Dst: testG1BLS12_377
      Src: /src/mcl/test/bn384_test.cpp:165,1
    - Dst: testG2BLS12_377
      Src: /src/mcl/test/bn384_test.cpp:166,1
    - Dst: testGTBLS12_377
      Src: /src/mcl/test/bn384_test.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: testBLS12_377
    functionSourceFile: /src/mcl/test/bn384_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - testG2BLS12_377
    - testG1BLS12_377
    - testFp2BLS12_377
    - G2::G2
    - testGTBLS12_377
    linkageType: ''
    returnType: void
    signature: void testBLS12_377()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initPairing
      Src: /src/mcl/test/bn384_test.cpp:172,1
    - Dst: testBLS12_377
      Src: /src/mcl/test/bn384_test.cpp:174,1
    - Dst: G1::G1
      Src: /src/mcl/test/bn384_test.cpp:176,1
    - Dst: G2::G2
      Src: /src/mcl/test/bn384_test.cpp:177,1
    - Dst: mapToG1
      Src: /src/mcl/test/bn384_test.cpp:179,1
    - Dst: mapToG2
      Src: /src/mcl/test/bn384_test.cpp:180,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/test/bn384_test.cpp:182,1
    - Dst: hashAndMapToG2
      Src: /src/mcl/test/bn384_test.cpp:183,1
    - Dst: GT::GT
      Src: /src/mcl/test/bn384_test.cpp:185,1
    - Dst: cybozu::CpuClock::CpuClock
      Src: /src/mcl/test/bn384_test.cpp:187,1
    - Dst: cybozu::CpuClock::begin
      Src: /src/mcl/test/bn384_test.cpp:188,1
    - Dst: pairing
      Src: /src/mcl/test/bn384_test.cpp:188,1
    - Dst: cybozu::CpuClock::end
      Src: /src/mcl/test/bn384_test.cpp:188,1
    - Dst: cybozu::CpuClock::put
      Src: /src/mcl/test/bn384_test.cpp:189,1
    - Dst: pairing
      Src: /src/mcl/test/bn384_test.cpp:192,1
    - Dst: GT::GT
      Src: /src/mcl/test/bn384_test.cpp:194,1
    - Dst: pairing
      Src: /src/mcl/test/bn384_test.cpp:195,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn384_test.cpp:196,1
    - Dst: pairing
      Src: /src/mcl/test/bn384_test.cpp:197,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn384_test.cpp:198,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bn384_test.cpp:200,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/bn384_test.cpp:202,1
    - Dst: G1::G1
      Src: /src/mcl/test/bn384_test.cpp:203,1
    - Dst: G2::G2
      Src: /src/mcl/test/bn384_test.cpp:204,1
    - Dst: GT::GT
      Src: /src/mcl/test/bn384_test.cpp:205,1
    - Dst: Fr::setRand
      Src: /src/mcl/test/bn384_test.cpp:206,1
    - Dst: setRand
      Src: /src/mcl/test/bn384_test.cpp:207,1
    - Dst: pairing
      Src: /src/mcl/test/bn384_test.cpp:210,1
    - Dst: testFp12pow
      Src: /src/mcl/test/bn384_test.cpp:211,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn384_test.cpp:212,1
    - Dst: testCommon
      Src: /src/mcl/test/bn384_test.cpp:214,1
    - Dst: testBench
      Src: /src/mcl/test/bn384_test.cpp:215,1
    - Dst: testSquareRoot
      Src: /src/mcl/test/bn384_test.cpp:216,1
    - Dst: testLagrange
      Src: /src/mcl/test/bn384_test.cpp:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - ' cp'
    argTypes:
    - mcl::CurveParam
    constantsTouched: []
    func_position:
      end: 218
      start: 170
    functionDepth: 4
    functionLinenumber: 170
    functionLinenumberEnd: 218
    functionName: testCurve
    functionSourceFile: /src/mcl/test/bn384_test.cpp
    functionUses: 1
    functionsReached:
    - G1::G1
    - setRand
    - CYBOZU_TEST_EQUAL
    - testFp12pow
    - hashAndMapToG2
    - initPairing
    - Fr::Fr
    - testCommon
    - hashAndMapToG1
    - cybozu::CpuClock::begin
    - testBench
    - cybozu::CpuClock::put
    - testSquareRoot
    - cybozu::CpuClock::end
    - testBLS12_377
    - Fr::setRand
    - mapToG2
    - testLagrange
    - G2::G2
    - cybozu::CpuClock::CpuClock
    - pairing
    - mapToG1
    - cybozu::XorShift::XorShift
    - GT::GT
    linkageType: ''
    returnType: void
    signature: void testCurve(const mcl::CurveParam& cp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bn384_test.cpp:237,1
    - Dst: puts
      Src: /src/mcl/test/bn384_test.cpp:238,1
    - Dst: testCurve
      Src: /src/mcl/test/bn384_test.cpp:239,1
    - Dst: G2::G2
      Src: /src/mcl/test/bn384_test.cpp:244,1
    - Dst: CYBOZU_TEST_EXCEPTION
      Src: /src/mcl/test/bn384_test.cpp:245,1
    - Dst: G2::setStr
      Src: /src/mcl/test/bn384_test.cpp:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 247
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bn384_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_EXCEPTION
    - puts
    - G2::setStr
    - G2::G2
    - testCurve
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(pairing)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/fp_tower_test.cpp:21,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:24,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:25,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:26,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:27,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:37,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/test/fp_tower_test.cpp:45,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:46,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:46,1
    - Dst: mcl::Fp2::sub
      Src: /src/mcl/test/fp_tower_test.cpp:47,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:48,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:48,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/test/fp_tower_test.cpp:49,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:53,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:53,1
    - Dst: mcl::Fp2::neg
      Src: /src/mcl/test/fp_tower_test.cpp:54,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:55,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:55,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:60,1
    - Dst: mcl::Fp2::mul_xi
      Src: /src/mcl/test/fp_tower_test.cpp:61,1
    - Dst: mcl::Fp2::get_xi_a
      Src: /src/mcl/test/fp_tower_test.cpp:62,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:63,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:63,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/test/fp_tower_test.cpp:65,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:66,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/test/fp_tower_test.cpp:70,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:71,1
    - Dst: std::ostringstream::str
      Src: /src/mcl/test/fp_tower_test.cpp:75,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:78,1
    - Dst: testFp12pow
      Src: /src/mcl/test/fp_tower_test.cpp:82,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:83,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/fp_tower_test.cpp:91,1
    - Dst: testFp12pow
      Src: /src/mcl/test/fp_tower_test.cpp:93,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/test/fp_tower_test.cpp:95,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:97,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/fp_tower_test.cpp:100,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_tower_test.cpp:102,1
    - Dst: Fp::setMpz
      Src: /src/mcl/test/fp_tower_test.cpp:103,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:104,1
    - Dst: Fp
      Src: /src/mcl/test/fp_tower_test.cpp:104,1
    - Dst: Fp::setMpz
      Src: /src/mcl/test/fp_tower_test.cpp:106,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:107,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:112,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:113,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:114,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:114,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:115,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:115,1
    - Dst: mcl::Fp2::inv
      Src: /src/mcl/test/fp_tower_test.cpp:118,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:120,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/test/fp_tower_test.cpp:126,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_tower_test.cpp:127,1
    - Dst: mcl::Fp2::squareRoot
      Src: /src/mcl/test/fp_tower_test.cpp:127,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:128,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_tower_test.cpp:129,1
    - Dst: mcl::Fp2::squareRoot
      Src: /src/mcl/test/fp_tower_test.cpp:129,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:130,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/test/fp_tower_test.cpp:132,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_tower_test.cpp:133,1
    - Dst: mcl::Fp2::squareRoot
      Src: /src/mcl/test/fp_tower_test.cpp:133,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:134,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/test/fp_tower_test.cpp:137,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_tower_test.cpp:138,1
    - Dst: mcl::Fp2::squareRoot
      Src: /src/mcl/test/fp_tower_test.cpp:138,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:139,1
    - Dst: mclBn_setETHserialization
      Src: /src/mcl/test/fp_tower_test.cpp:144,1
    - Dst: Fp2::setStr
      Src: /src/mcl/test/fp_tower_test.cpp:146,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_tower_test.cpp:149,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:150,1
    - Dst: deserialize
      Src: /src/mcl/test/fp_tower_test.cpp:150,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 153
    functionName: testFp2
    functionSourceFile: /src/mcl/test/fp_tower_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::Fp2::sub
    - mcl::Fp2::inv
    - CYBOZU_TEST_EQUAL
    - testFp12pow
    - Fp2::setStr
    - mcl::Fp2::add
    - mcl::Fp2::get_xi_a
    - mcl::Fp2::sqr
    - mcl::Fp2::mul
    - mcl::Fp2::squareRoot
    - mcl::Fp2::mul_xi
    - Fp::setMpz
    - Fp2
    - puts
    - Fp
    - Fp::Fp
    - std::ostringstream::str
    - CYBOZU_TEST_ASSERT
    - mclBn_setETHserialization
    - Botan::EC_Group_Data::affine_neg
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - deserialize
    - mcl::Fp2::neg
    linkageType: ''
    returnType: void
    signature: void testFp2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::mul_xi
      Src: /src/mcl/test/fp_tower_test.cpp:159,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:161,1
    - Dst: mcl::Fp2::mul_xi
      Src: /src/mcl/test/fp_tower_test.cpp:163,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:165,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' x'
    argTypes:
    - Fp2
    - Fp2
    - Fp2
    - Fp6
    constantsTouched: []
    func_position:
      end: 168
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 168
    functionName: testFp6sqr
    functionSourceFile: /src/mcl/test/fp_tower_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    - mcl::Fp2::mul_xi
    linkageType: ''
    returnType: void
    signature: void testFp6sqr(const Fp2& a, const Fp2& b, const Fp2& c, const Fp6&
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/fp_tower_test.cpp:173,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:176,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:176,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:176,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:182,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/test/fp_tower_test.cpp:184,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:185,1
    - Dst: Fp6
      Src: /src/mcl/test/fp_tower_test.cpp:185,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:185,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:185,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:185,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/test/fp_tower_test.cpp:186,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:187,1
    - Dst: Fp6
      Src: /src/mcl/test/fp_tower_test.cpp:187,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:187,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:187,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:187,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/test/fp_tower_test.cpp:188,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:189,1
    - Dst: Fp6
      Src: /src/mcl/test/fp_tower_test.cpp:189,1
    - Dst: mcl::Fp6::sqr
      Src: /src/mcl/test/fp_tower_test.cpp:190,1
    - Dst: mcl::Fp6::mul
      Src: /src/mcl/test/fp_tower_test.cpp:191,1
    - Dst: testFp6sqr
      Src: /src/mcl/test/fp_tower_test.cpp:192,1
    - Dst: testFp6sqr
      Src: /src/mcl/test/fp_tower_test.cpp:193,1
    - Dst: mcl::Fp6::sqr
      Src: /src/mcl/test/fp_tower_test.cpp:195,1
    - Dst: mcl::Fp6::mul
      Src: /src/mcl/test/fp_tower_test.cpp:196,1
    - Dst: testFp6sqr
      Src: /src/mcl/test/fp_tower_test.cpp:197,1
    - Dst: testFp6sqr
      Src: /src/mcl/test/fp_tower_test.cpp:198,1
    - Dst: mcl::Fp6::inv
      Src: /src/mcl/test/fp_tower_test.cpp:200,1
    - Dst: mcl::Fp6::mul
      Src: /src/mcl/test/fp_tower_test.cpp:201,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:202,1
    - Dst: mcl::Fp6::inv
      Src: /src/mcl/test/fp_tower_test.cpp:205,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 209
    functionName: testFp6
    functionSourceFile: /src/mcl/test/fp_tower_test.cpp
    functionUses: 0
    functionsReached:
    - Fp6
    - Fp2
    - CYBOZU_TEST_EQUAL
    - mcl::Fp6::inv
    - puts
    - fiat_bls12_381_fp_sub
    - testFp6sqr
    - fiat_bls12_381_fp_add
    - mcl::Fp6::mul
    - Botan::EC_Group_Data::affine_neg
    - mcl::Fp6::sqr
    linkageType: ''
    returnType: void
    signature: void testFp6()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/fp_tower_test.cpp:213,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:214,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:214,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:214,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:215,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:215,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:215,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:217,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:217,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:217,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:218,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:218,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:218,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/test/fp_tower_test.cpp:221,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:222,1
    - Dst: Fp12
      Src: /src/mcl/test/fp_tower_test.cpp:222,1
    - Dst: Fp6
      Src: /src/mcl/test/fp_tower_test.cpp:222,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:222,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:222,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:222,1
    - Dst: Fp6
      Src: /src/mcl/test/fp_tower_test.cpp:222,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:222,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:222,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:222,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/test/fp_tower_test.cpp:223,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:224,1
    - Dst: Fp12
      Src: /src/mcl/test/fp_tower_test.cpp:224,1
    - Dst: Fp6
      Src: /src/mcl/test/fp_tower_test.cpp:224,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:224,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:224,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:224,1
    - Dst: Fp6
      Src: /src/mcl/test/fp_tower_test.cpp:224,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:224,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:224,1
    - Dst: Fp2
      Src: /src/mcl/test/fp_tower_test.cpp:224,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/test/fp_tower_test.cpp:225,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:226,1
    - Dst: Fp12
      Src: /src/mcl/test/fp_tower_test.cpp:226,1
    - Dst: Fp12::b::clear
      Src: /src/mcl/test/fp_tower_test.cpp:228,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/test/fp_tower_test.cpp:230,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:231,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:233,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_tower_test.cpp:234,1
    - Dst: Fp12::b::isZero
      Src: /src/mcl/test/fp_tower_test.cpp:234,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/test/fp_tower_test.cpp:239,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:240,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/test/fp_tower_test.cpp:243,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:244,1
    - Dst: get_da_inv
      Src: /src/mcl/test/fp_tower_test.cpp:247,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/fp_tower_test.cpp:248,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 252
    functionName: testFp12
    functionSourceFile: /src/mcl/test/fp_tower_test.cpp
    functionUses: 0
    functionsReached:
    - Fp12::b::isZero
    - Fp2
    - Fp6
    - Botan::fe_sqr
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - Fp12
    - get_da_inv
    - puts
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_add
    - Fp12::b::clear
    - Botan::EC_Group_Data::affine_neg
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void testFp12()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/fp_tower_test.cpp:256,1
    - Dst: mcl::FpT::getModulo
      Src: /src/mcl/test/fp_tower_test.cpp:259,1
    - Dst: mcl::FpDbl::getUnitSize
      Src: /src/mcl/test/fp_tower_test.cpp:261,1
    - Dst: mcl::gmp::getStr
      Src: /src/mcl/test/fp_tower_test.cpp:263,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_tower_test.cpp:267,1
    - Dst: FpDbl::setMpz
      Src: /src/mcl/test/fp_tower_test.cpp:270,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_tower_test.cpp:271,1
    - Dst: FpDbl::setMpz
      Src: /src/mcl/test/fp_tower_test.cpp:275,1
    - Dst: mcl::FpDbl::add
      Src: /src/mcl/test/fp_tower_test.cpp:276,1
    - Dst: mcl::gmp::addMod
      Src: /src/mcl/test/fp_tower_test.cpp:277,1
    - Dst: getMpz
      Src: /src/mcl/test/fp_tower_test.cpp:278,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:279,1
    - Dst: mcl::gmp::subMod
      Src: /src/mcl/test/fp_tower_test.cpp:280,1
    - Dst: mcl::FpDbl::sub
      Src: /src/mcl/test/fp_tower_test.cpp:281,1
    - Dst: getMpz
      Src: /src/mcl/test/fp_tower_test.cpp:282,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:283,1
    - Dst: mcl::FpT::isFullBit
      Src: /src/mcl/test/fp_tower_test.cpp:284,1
    - Dst: mcl::FpDbl::addPre
      Src: /src/mcl/test/fp_tower_test.cpp:285,1
    - Dst: getMpz
      Src: /src/mcl/test/fp_tower_test.cpp:287,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:288,1
    - Dst: mcl::FpDbl::subPre
      Src: /src/mcl/test/fp_tower_test.cpp:290,1
    - Dst: getMpz
      Src: /src/mcl/test/fp_tower_test.cpp:292,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:293,1
    - Dst: mcl::FpT::getModulo
      Src: /src/mcl/test/fp_tower_test.cpp:301,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/fp_tower_test.cpp:303,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_tower_test.cpp:305,1
    - Dst: Fp::setRand
      Src: /src/mcl/test/fp_tower_test.cpp:307,1
    - Dst: FpDbl::setRand
      Src: /src/mcl/test/fp_tower_test.cpp:308,1
    - Dst: Fp::getMpz
      Src: /src/mcl/test/fp_tower_test.cpp:309,1
    - Dst: FpDbl::getMpz
      Src: /src/mcl/test/fp_tower_test.cpp:310,1
    - Dst: mcl::FpDbl::mulPre
      Src: /src/mcl/test/fp_tower_test.cpp:312,1
    - Dst: FpDbl::getMpz
      Src: /src/mcl/test/fp_tower_test.cpp:313,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_tower_test.cpp:315,1
    - Dst: Fp::toMont
      Src: /src/mcl/test/fp_tower_test.cpp:318,1
    - Dst: toMont
      Src: /src/mcl/test/fp_tower_test.cpp:319,1
    - Dst: Fp::getMpz
      Src: /src/mcl/test/fp_tower_test.cpp:321,1
    - Dst: getMpz
      Src: /src/mcl/test/fp_tower_test.cpp:322,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:325,1
    - Dst: mcl::FpDbl::mod
      Src: /src/mcl/test/fp_tower_test.cpp:327,1
    - Dst: getMpz
      Src: /src/mcl/test/fp_tower_test.cpp:328,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:330,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:331,1
    - Dst: mcl::FpDbl::sqrPre
      Src: /src/mcl/test/fp_tower_test.cpp:333,1
    - Dst: FpDbl::getMpz
      Src: /src/mcl/test/fp_tower_test.cpp:334,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_tower_test.cpp:336,1
    - Dst: Fp::toMont
      Src: /src/mcl/test/fp_tower_test.cpp:338,1
    - Dst: Fp::getMpz
      Src: /src/mcl/test/fp_tower_test.cpp:340,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:343,1
    - Dst: mcl::FpDbl::mod
      Src: /src/mcl/test/fp_tower_test.cpp:345,1
    - Dst: getMpz
      Src: /src/mcl/test/fp_tower_test.cpp:346,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:348,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 352
    functionName: testFpDbl
    functionSourceFile: /src/mcl/test/fp_tower_test.cpp
    functionUses: 0
    functionsReached:
    - FpDbl::setMpz
    - CYBOZU_TEST_EQUAL
    - mcl::gmp::getStr
    - FpDbl::setRand
    - getMpz
    - mcl::FpT::getModulo
    - mcl::FpT::isFullBit
    - CYBOZU_NUM_OF_ARRAY
    - mcl::gmp::addMod
    - mcl::FpDbl::add
    - mcl::FpDbl::sqrPre
    - mcl::gmp::subMod
    - FpDbl::getMpz
    - Fp::toMont
    - puts
    - Fp::setRand
    - mcl::FpDbl::mulPre
    - mcl::FpDbl::getUnitSize
    - Fp::Fp
    - toMont
    - mcl::FpDbl::sub
    - Fp::getMpz
    - mcl::FpDbl::subPre
    - mcl::FpDbl::addPre
    - cybozu::XorShift::XorShift
    - mcl::FpDbl::mod
    linkageType: ''
    returnType: void
    signature: void testFpDbl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_tower_test.cpp:357,1
    - Dst: Fp12::getFp0
      Src: /src/mcl/test/fp_tower_test.cpp:361,1
    - Dst: Fp12::getStr
      Src: /src/mcl/test/fp_tower_test.cpp:363,1
    - Dst: Fp12::setStr
      Src: /src/mcl/test/fp_tower_test.cpp:365,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_tower_test.cpp:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 368
    functionName: testIo
    functionSourceFile: /src/mcl/test/fp_tower_test.cpp
    functionUses: 2
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - Fp12::getStr
    - CYBOZU_TEST_EQUAL
    - Fp12::setStr
    - Fp12::getFp0
    linkageType: ''
    returnType: void
    signature: void testIo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/fp_tower_test.cpp:372,1
    - Dst: puts
      Src: /src/mcl/test/fp_tower_test.cpp:374,1
    - Dst: Fp2::a::setStr
      Src: /src/mcl/test/fp_tower_test.cpp:378,1
    - Dst: Fp2::b::setStr
      Src: /src/mcl/test/fp_tower_test.cpp:379,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/test/fp_tower_test.cpp:382,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/test/fp_tower_test.cpp:383,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/test/fp_tower_test.cpp:384,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/test/fp_tower_test.cpp:385,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/test/fp_tower_test.cpp:386,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/test/fp_tower_test.cpp:387,1
    - Dst: printf
      Src: /src/mcl/test/fp_tower_test.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 393
    functionName: benchFp2
    functionSourceFile: /src/mcl/test/fp_tower_test.cpp
    functionUses: 0
    functionsReached:
    - printf
    - Fp2::b::setStr
    - puts
    - CYBOZU_BENCH_T
    - Fp2::a::setStr
    linkageType: ''
    returnType: void
    signature: void benchFp2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/test/fp_tower_test.cpp:399,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/fp_tower_test.cpp:400,1
    - Dst: mcl::Fp2::init
      Src: /src/mcl/test/fp_tower_test.cpp:402,1
    - Dst: printf
      Src: /src/mcl/test/fp_tower_test.cpp:404,1
    - Dst: mcl::FpT::getBitSize
      Src: /src/mcl/test/fp_tower_test.cpp:404,1
    - Dst: mcl::FpT::getBitSize
      Src: /src/mcl/test/fp_tower_test.cpp:406,1
    - Dst: printf
      Src: /src/mcl/test/fp_tower_test.cpp:407,1
    - Dst: benchFp2
      Src: /src/mcl/test/fp_tower_test.cpp:412,1
    - Dst: testFp2
      Src: /src/mcl/test/fp_tower_test.cpp:415,1
    - Dst: testFpDbl
      Src: /src/mcl/test/fp_tower_test.cpp:416,1
    - Dst: testFp6
      Src: /src/mcl/test/fp_tower_test.cpp:417,1
    - Dst: testFp12
      Src: /src/mcl/test/fp_tower_test.cpp:418,1
    - Dst: testIo
      Src: /src/mcl/test/fp_tower_test.cpp:419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 420
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 420
    functionName: test
    functionSourceFile: /src/mcl/test/fp_tower_test.cpp
    functionUses: 23
    functionsReached:
    - benchFp2
    - printf
    - testFp2
    - mcl::FpT::getBitSize
    - testIo
    - testFp12
    - Botan_Tests::test_x509_uninit
    - testFp6
    - mcl::Fp2::init
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - testFpDbl
    linkageType: ''
    returnType: void
    signature: void test(const char *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_tower_test.cpp:454,1
    - Dst: printf
      Src: /src/mcl/test/fp_tower_test.cpp:456,1
    - Dst: test
      Src: /src/mcl/test/fp_tower_test.cpp:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 459
    functionName: testAll
    functionSourceFile: /src/mcl/test/fp_tower_test.cpp
    functionUses: 1
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - test
    - printf
    linkageType: ''
    returnType: void
    signature: void testAll()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testAll
      Src: /src/mcl/test/fp_tower_test.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/fp_tower_test.cpp
    functionUses: 0
    functionsReached:
    - testAll
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(testAll)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mcl/test/fp_tower_test.cpp:468,1
    - Dst: testAll
      Src: /src/mcl/test/fp_tower_test.cpp:472,1
    - Dst: run
      Src: /src/mcl/test/fp_tower_test.cpp:475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 477
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 477
    functionName: main
    functionSourceFile: /src/mcl/test/fp_tower_test.cpp
    functionUses: 97
    functionsReached:
    - strcmp
    - run
    - testAll
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/invmod_test.cpp:8,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/test/invmod_test.cpp:10,1
    - Dst: mcl::inv::init
      Src: /src/mcl/test/invmod_test.cpp:12,1
    - Dst: mcl::gmp::invMod
      Src: /src/mcl/test/invmod_test.cpp:16,1
    - Dst: mcl::inv::exec
      Src: /src/mcl/test/invmod_test.cpp:17,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/invmod_test.cpp:18,1
    - Dst: mcl::gmp::invMod
      Src: /src/mcl/test/invmod_test.cpp:23,1
    - Dst: mcl::inv::exec
      Src: /src/mcl/test/invmod_test.cpp:24,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/invmod_test.cpp:25,1
    - Dst: mcl::gmp::invMod
      Src: /src/mcl/test/invmod_test.cpp:29,1
    - Dst: mcl::inv::exec
      Src: /src/mcl/test/invmod_test.cpp:30,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/invmod_test.cpp:31,1
    - Dst: Unit
      Src: /src/mcl/test/invmod_test.cpp:35,1
    - Dst: Unit
      Src: /src/mcl/test/invmod_test.cpp:36,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/invmod_test.cpp:40,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/invmod_test.cpp:41,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/test/invmod_test.cpp:43,1
    - Dst: mcl::gmp::invMod
      Src: /src/mcl/test/invmod_test.cpp:45,1
    - Dst: mcl::inv::exec
      Src: /src/mcl/test/invmod_test.cpp:46,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/invmod_test.cpp:47,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/invmod_test.cpp:51,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - Mstr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 6
    functionDepth: 1
    functionLinenumber: 6
    functionLinenumberEnd: 53
    functionName: test
    functionSourceFile: /src/mcl/test/invmod_test.cpp
    functionUses: 24
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::gmp::setStr
    - printf
    - CYBOZU_TEST_EQUAL
    - mcl::inv::exec
    - Unit
    - mcl::gmp::setArray
    - mcl::inv::init
    - CYBOZU_BENCH_C
    - mcl::gmp::invMod
    linkageType: ''
    returnType: void
    signature: void test(const char *Mstr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/invmod_test.cpp:66,1
    - Dst: test
      Src: /src/mcl/test/invmod_test.cpp:67,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/invmod_test.cpp:69,1
    - Dst: test
      Src: /src/mcl/test/invmod_test.cpp:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/invmod_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - test
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(modinv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/common_test.hpp:5,1
    - Dst: G::clear
      Src: /src/mcl/test/common_test.hpp:9,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/common_test.hpp:11,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' out'
    - xVec
    - yVec
    - n
    argTypes:
    - G
    - G*
    - Fr*
    - size_t
    constantsTouched: []
    func_position:
      end: 15
      start: 2
    functionDepth: 2
    functionLinenumber: 2
    functionLinenumberEnd: 15
    functionName: naiveMulVec
    functionSourceFile: /src/mcl/test/common_test.hpp
    functionUses: 1
    functionsReached:
    - fiat_bls12_381_fp_mul
    - G::clear
    linkageType: ''
    returnType: void
    signature: void naiveMulVec(G& out, const G *xVec, const Fr *yVec, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnG1_mulVec
      Src: /src/mcl/test/common_test.hpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ' z'
    - x
    - y
    - n
    - x0
    argTypes:
    - G
    - G*
    - Fr*
    - size_t
    - G*
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: mulVecCopy
    functionSourceFile: /src/mcl/test/common_test.hpp
    functionUses: 0
    functionsReached:
    - mclBnG1_mulVec
    linkageType: ''
    returnType: void
    signature: void mulVecCopy(G& z, G *x, const Fr *y, size_t n, const G* x0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/common_test.hpp:33,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/common_test.hpp:35,1
    - Dst: clear
      Src: /src/mcl/test/common_test.hpp:37,1
    - Dst: setByCSPRNG
      Src: /src/mcl/test/common_test.hpp:40,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/common_test.hpp:47,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/common_test.hpp:50,1
    - Dst: naiveMulVec
      Src: /src/mcl/test/common_test.hpp:51,1
    - Dst: std::vector::data
      Src: /src/mcl/test/common_test.hpp:51,1
    - Dst: std::vector::data
      Src: /src/mcl/test/common_test.hpp:51,1
    - Dst: mclBnG1_mulVec
      Src: /src/mcl/test/common_test.hpp:52,1
    - Dst: std::vector::data
      Src: /src/mcl/test/common_test.hpp:52,1
    - Dst: std::vector::data
      Src: /src/mcl/test/common_test.hpp:52,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/common_test.hpp:53,1
    - Dst: clear
      Src: /src/mcl/test/common_test.hpp:54,1
    - Dst: printf
      Src: /src/mcl/test/common_test.hpp:56,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/common_test.hpp:58,1
    - Dst: std::vector::data
      Src: /src/mcl/test/common_test.hpp:58,1
    - Dst: std::vector::data
      Src: /src/mcl/test/common_test.hpp:58,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/common_test.hpp:59,1
    - Dst: std::vector::data
      Src: /src/mcl/test/common_test.hpp:59,1
    - Dst: std::vector::data
      Src: /src/mcl/test/common_test.hpp:59,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/common_test.hpp:60,1
    - Dst: std::vector::data
      Src: /src/mcl/test/common_test.hpp:60,1
    - Dst: std::vector::data
      Src: /src/mcl/test/common_test.hpp:60,1
    - Dst: std::vector::data
      Src: /src/mcl/test/common_test.hpp:60,1
    - Dst: puts
      Src: /src/mcl/test/common_test.hpp:63,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/common_test.hpp:64,1
    - Dst: mclBnG1_mulEach
      Src: /src/mcl/test/common_test.hpp:67,1
    - Dst: std::vector::data
      Src: /src/mcl/test/common_test.hpp:67,1
    - Dst: std::vector::data
      Src: /src/mcl/test/common_test.hpp:67,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/common_test.hpp:70,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/common_test.hpp:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - G
    constantsTouched: []
    func_position:
      end: 74
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 74
    functionName: testMulVec
    functionSourceFile: /src/mcl/test/common_test.hpp
    functionUses: 2
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_ASSERT
    - printf
    - setByCSPRNG
    - CYBOZU_TEST_EQUAL
    - mclBnG1_mulEach
    - mclBnG1_mulVec
    - puts
    - clear
    - naiveMulVec
    - fiat_bls12_381_fp_mul
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void testMulVec(const G& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testFp12pow
      Src: /src/mcl/test/common_test.hpp:80,1
    - Dst: G::setOne
      Src: /src/mcl/test/common_test.hpp:84,1
    - Dst: testFp12pow
      Src: /src/mcl/test/common_test.hpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' out'
    - xVec
    - yVec
    - n
    argTypes:
    - G
    - G*
    - Fr*
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: naivePowVec
    functionSourceFile: /src/mcl/test/common_test.hpp
    functionUses: 1
    functionsReached:
    - G::setOne
    - testFp12pow
    linkageType: ''
    returnType: void
    signature: void naivePowVec(G& out, const G *xVec, const Fr *yVec, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/common_test.hpp:101,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/common_test.hpp:103,1
    - Dst: setByCSPRNG
      Src: /src/mcl/test/common_test.hpp:104,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/common_test.hpp:107,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/common_test.hpp:110,1
    - Dst: naivePowVec
      Src: /src/mcl/test/common_test.hpp:111,1
    - Dst: mclBnGT_powVec
      Src: /src/mcl/test/common_test.hpp:112,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/common_test.hpp:113,1
    - Dst: printf
      Src: /src/mcl/test/common_test.hpp:115,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/common_test.hpp:117,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/common_test.hpp:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - G
    constantsTouched: []
    func_position:
      end: 121
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 121
    functionName: testPowVec
    functionSourceFile: /src/mcl/test/common_test.hpp
    functionUses: 1
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mclBnGT_powVec
    - CYBOZU_TEST_ASSERT
    - naivePowVec
    - setByCSPRNG
    - CYBOZU_TEST_EQUAL
    - printf
    - fiat_bls12_381_fp_mul
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void testPowVec(const G& e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/common_test.hpp:126,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/common_test.hpp:129,1
    - Dst: Fr::setByCSPRNG
      Src: /src/mcl/test/common_test.hpp:130,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/common_test.hpp:131,1
    - Dst: mulCT
      Src: /src/mcl/test/common_test.hpp:132,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/common_test.hpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - G
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: testMulCT
    functionSourceFile: /src/mcl/test/common_test.hpp
    functionUses: 0
    functionsReached:
    - mulCT
    - CYBOZU_TEST_EQUAL
    - Fr::setByCSPRNG
    - fiat_bls12_381_fp_mul
    - Fr::Fr
    - cybozu::XorShift::XorShift
    linkageType: ''
    returnType: void
    signature: void testMulCT(const G& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/common_test.hpp:139,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/common_test.hpp:140,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/common_test.hpp:141,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/test/common_test.hpp:142,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/test/common_test.hpp:145,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/common_test.hpp:147,1
    - Dst: mcl::Fp2::mul2
      Src: /src/mcl/test/common_test.hpp:154,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/common_test.hpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 158
    functionName: testMul2
    functionSourceFile: /src/mcl/test/common_test.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    - puts
    - mcl::Fp2::mul2
    - Fp::setByCSPRNG
    - cybozu::XorShift::XorShift
    - Botan::PCurve::GenericField::mul2
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void testMul2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::addPre
      Src: /src/mcl/test/common_test.hpp:165,1
    - Dst: mcl::Fp2::addPre
      Src: /src/mcl/test/common_test.hpp:166,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/test/common_test.hpp:168,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/test/common_test.hpp:169,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/test/common_test.hpp:172,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/test/common_test.hpp:173,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/test/common_test.hpp:174,1
    - Dst: Fp2Dbl::subSpecial<true>
      Src: /src/mcl/test/common_test.hpp:176,1
    - Dst: Fp2Dbl::subSpecial<true>
      Src: /src/mcl/test/common_test.hpp:177,1
    - Dst: Fp2Dbl::subSpecial<false>
      Src: /src/mcl/test/common_test.hpp:179,1
    - Dst: Fp2Dbl::subSpecial<false>
      Src: /src/mcl/test/common_test.hpp:180,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/test/common_test.hpp:182,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/common_test.hpp:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - Fp2
    - Fp2
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 184
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 184
    functionName: testABCDsub
    functionSourceFile: /src/mcl/test/common_test.hpp
    functionUses: 0
    functionsReached:
    - mcl::Fp2::addPre
    - CYBOZU_TEST_EQUAL
    - Fp2Dbl::subSpecial<false>
    - mcl::Fp2::add
    - ref_inverse_mod
    - Fp2Dbl::subSpecial<true>
    - gen_mcl_fpDbl_mulPre
    linkageType: ''
    returnType: void
    signature: void testABCDsub(const Fp2& a, const Fp2& b, const Fp2& c, const Fp2&
      d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/common_test.hpp:188,1
    - Dst: testABCDsub
      Src: /src/mcl/test/common_test.hpp:196,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/common_test.hpp:197,1
    - Dst: a::setByCSPRNG
      Src: /src/mcl/test/common_test.hpp:200,1
    - Dst: b::setByCSPRNG
      Src: /src/mcl/test/common_test.hpp:201,1
    - Dst: testABCDsub
      Src: /src/mcl/test/common_test.hpp:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 205
    functionName: testABCD
    functionSourceFile: /src/mcl/test/common_test.hpp
    functionUses: 0
    functionsReached:
    - a::setByCSPRNG
    - puts
    - testABCDsub
    - cybozu::XorShift::XorShift
    - b::setByCSPRNG
    linkageType: ''
    returnType: void
    signature: void testABCD()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/common_test.hpp:211,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/common_test.hpp:212,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/common_test.hpp:214,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/test/common_test.hpp:215,1
    - Dst: setByCSPRNG
      Src: /src/mcl/test/common_test.hpp:216,1
    - Dst: mcl::FpDbl::mulPre
      Src: /src/mcl/test/common_test.hpp:218,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/test/common_test.hpp:219,1
    - Dst: setByCSPRNG
      Src: /src/mcl/test/common_test.hpp:220,1
    - Dst: mcl::FpDbl::mulPre
      Src: /src/mcl/test/common_test.hpp:221,1
    - Dst: mcl::FpDbl::mulUnit
      Src: /src/mcl/test/common_test.hpp:224,1
    - Dst: mcl::FpDbl::mulUnit
      Src: /src/mcl/test/common_test.hpp:226,1
    - Dst: mcl::mul_xi
      Src: /src/mcl/test/common_test.hpp:229,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/common_test.hpp:230,1
    - Dst: Fp2Dbl::a::getUnit
      Src: /src/mcl/test/common_test.hpp:230,1
    - Dst: Fp2Dbl::a::getUnit
      Src: /src/mcl/test/common_test.hpp:230,1
    - Dst: Fp2Dbl::a::getUnitSize
      Src: /src/mcl/test/common_test.hpp:230,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/common_test.hpp:231,1
    - Dst: Fp2Dbl::b::getUnit
      Src: /src/mcl/test/common_test.hpp:231,1
    - Dst: Fp2Dbl::b::getUnit
      Src: /src/mcl/test/common_test.hpp:231,1
    - Dst: Fp2Dbl::b::getUnitSize
      Src: /src/mcl/test/common_test.hpp:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 233
    functionName: testFp2Dbl_mul_xi1
    functionSourceFile: /src/mcl/test/common_test.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - Fp2Dbl::a::getUnitSize
    - mcl::mul_xi
    - setByCSPRNG
    - Fp2Dbl::b::getUnit
    - puts
    - mcl::FpDbl::mulUnit
    - Fp2Dbl::b::getUnitSize
    - Fp::setByCSPRNG
    - cybozu::XorShift::XorShift
    - Fp2Dbl::a::getUnit
    - mcl::FpDbl::mulPre
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void testFp2Dbl_mul_xi1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/common_test.hpp:237,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/common_test.hpp:238,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/common_test.hpp:241,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/test/common_test.hpp:242,1
    - Dst: mcl::FpT::mulSmall
      Src: /src/mcl/test/common_test.hpp:243,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/common_test.hpp:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 248
    functionName: testMulSmall
    functionSourceFile: /src/mcl/test/common_test.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    - puts
    - mcl::FpT::mulSmall
    - Fp::setByCSPRNG
    - cybozu::XorShift::XorShift
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void testMulSmall()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/common_test.hpp:252,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/common_test.hpp:253,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/common_test.hpp:254,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/test/common_test.hpp:255,1
    - Dst: mcl::fp::powUnit
      Src: /src/mcl/test/common_test.hpp:261,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/common_test.hpp:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 265
    functionName: testPow
    functionSourceFile: /src/mcl/test/common_test.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    - puts
    - Fp::setByCSPRNG
    - cybozu::XorShift::XorShift
    - Fp::Fp
    - mcl::fp::powUnit
    linkageType: ''
    returnType: void
    signature: void testPow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testMulSmall
      Src: /src/mcl/test/common_test.hpp:269,1
    - Dst: testPow
      Src: /src/mcl/test/common_test.hpp:270,1
    - Dst: testFp2Dbl_mul_xi1
      Src: /src/mcl/test/common_test.hpp:271,1
    - Dst: testABCD
      Src: /src/mcl/test/common_test.hpp:272,1
    - Dst: testMul2
      Src: /src/mcl/test/common_test.hpp:273,1
    - Dst: puts
      Src: /src/mcl/test/common_test.hpp:274,1
    - Dst: testMulVec
      Src: /src/mcl/test/common_test.hpp:275,1
    - Dst: puts
      Src: /src/mcl/test/common_test.hpp:276,1
    - Dst: testMulVec
      Src: /src/mcl/test/common_test.hpp:277,1
    - Dst: testMulCT
      Src: /src/mcl/test/common_test.hpp:278,1
    - Dst: GT::GT
      Src: /src/mcl/test/common_test.hpp:279,1
    - Dst: mclBn_pairing
      Src: /src/mcl/test/common_test.hpp:280,1
    - Dst: puts
      Src: /src/mcl/test/common_test.hpp:281,1
    - Dst: testPowVec
      Src: /src/mcl/test/common_test.hpp:282,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/common_test.hpp:283,1
    - Dst: mcl::isValidGT
      Src: /src/mcl/test/common_test.hpp:283,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/common_test.hpp:286,1
    - Dst: mcl::isValidGT
      Src: /src/mcl/test/common_test.hpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 287
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 287
    functionName: testCommon
    functionSourceFile: /src/mcl/test/common_test.hpp
    functionUses: 2
    functionsReached:
    - testMul2
    - testMulCT
    - testMulSmall
    - testFp2Dbl_mul_xi1
    - testPowVec
    - CYBOZU_TEST_ASSERT
    - testMulVec
    - puts
    - mclBn_pairing
    - testABCD
    - GT::GT
    - mcl::isValidGT
    - testPow
    linkageType: ''
    returnType: void
    signature: void testCommon(const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:12,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:12,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:12,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:13,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:13,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:13,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:14,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:14,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:14,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:15,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:15,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:15,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:16,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:16,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:16,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:17,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:17,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:17,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:18,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:18,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:18,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:19,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:19,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:19,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:20,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:20,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:20,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:21,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:21,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:21,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:22,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:22,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:22,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:23,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:23,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:23,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:24,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:24,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/conversion_test.cpp:24,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/conversion_test.cpp:26,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/conversion_test.cpp:33,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/conversion_test.cpp:34,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/conversion_test.cpp:38,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/conversion_test.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 41
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/conversion_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_EQUAL
    - MCL_U64_TO_UNIT
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(arrayToDec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/conversion_test.cpp:49,1
    - Dst: mcl::fp::local::hexCharToUint8
      Src: /src/mcl/test/conversion_test.cpp:49,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/conversion_test.cpp:50,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/conversion_test.cpp:51,1
    - Dst: mcl::fp::local::hexCharToUint8
      Src: /src/mcl/test/conversion_test.cpp:51,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/conversion_test.cpp:52,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/conversion_test.cpp:63,1
    - Dst: mcl::fp::writeHexStr
      Src: /src/mcl/test/conversion_test.cpp:70,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/conversion_test.cpp:71,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/conversion_test.cpp:72,1
    - Dst: cybozu::MemoryOutputStream::getPos
      Src: /src/mcl/test/conversion_test.cpp:72,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/conversion_test.cpp:73,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/conversion_test.cpp:77,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/conversion_test.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 80
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/conversion_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::fp::local::hexCharToUint8
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_EQUAL_ARRAY
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - mcl::fp::writeHexStr
    - cybozu::MemoryOutputStream::getPos
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(writeHexStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/mul_test.cpp:12,1
    - Dst: printf
      Src: /src/mcl/test/mul_test.cpp:15,1
    - Dst: printf
      Src: /src/mcl/test/mul_test.cpp:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - buf
    - bufSize
    argTypes:
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 18
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 18
    functionName: put
    functionSourceFile: /src/mcl/test/mul_test.cpp
    functionUses: 207
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void put(const char *msg, const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::BitIterator<T>::hasNext
      Src: /src/mcl/test/mul_test.cpp:28,1
    - Dst: mcl::fp::BitIterator<T>::peekBit
      Src: /src/mcl/test/mul_test.cpp:30,1
    - Dst: mcl::fp::BitIterator<T>::skipBit
      Src: /src/mcl/test/mul_test.cpp:32,1
    - Dst: mcl::fp::BitIterator<T>::hasNext
      Src: /src/mcl/test/mul_test.cpp:33,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - bin
    - maxBinN
    - x
    - xN
    - w
    argTypes:
    - uint8_t*
    - size_t
    - T*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 47
    functionName: getBinary2
    functionSourceFile: /src/mcl/test/mul_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::fp::BitIterator<T>::peekBit
    - mcl::fp::BitIterator<T>::hasNext
    - mcl::fp::BitIterator<T>::skipBit
    linkageType: ''
    returnType: size_t
    signature: size_t getBinary2(uint8_t *bin, size_t maxBinN, const T *x, size_t
      xN, size_t w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBinary2
      Src: /src/mcl/test/mul_test.cpp:51,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/test/mul_test.cpp:51,1
    - Dst: mcl::gmp::getUnitSize
      Src: /src/mcl/test/mul_test.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bin
    - maxBinN
    - x
    - w
    argTypes:
    - uint8_t*
    - size_t
    - mpz_class
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: getBinary
    functionSourceFile: /src/mcl/test/mul_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::getUnitSize
    - getBinary2
    - mcl::gmp::getUnit
    linkageType: ''
    returnType: size_t
    signature: size_t getBinary(uint8_t *bin, size_t maxBinN, mpz_class x, size_t
      w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/test/mul_test.cpp:57,1
    - Dst: assert
      Src: /src/mcl/test/mul_test.cpp:66,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/test/mul_test.cpp:69,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/mul_test.cpp:72,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/test/mul_test.cpp:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - y
    - yN
    argTypes:
    - F
    - F
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 83
    functionName: pow3
    functionSourceFile: /src/mcl/test/mul_test.cpp
    functionUses: 0
    functionsReached:
    - assert
    - Botan::fe_sqr
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void pow3(F& z, const F& x, const T *y, size_t yN)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pow3
      Src: /src/mcl/test/mul_test.cpp:88,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/test/mul_test.cpp:88,1
    - Dst: mcl::gmp::getUnitSize
      Src: /src/mcl/test/mul_test.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - T
    - T
    - mpz_class
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: pow3
    functionSourceFile: /src/mcl/test/mul_test.cpp
    functionUses: 1
    functionsReached:
    - mcl::gmp::getUnitSize
    - mcl::gmp::getUnit
    - pow3
    linkageType: ''
    returnType: void
    signature: void pow3(T& z, const T& x, const mpz_class& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pow3
      Src: /src/mcl/test/mul_test.cpp:94,1
    - Dst: getMpz
      Src: /src/mcl/test/mul_test.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - T
    - T
    - F
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: pow3
    functionSourceFile: /src/mcl/test/mul_test.cpp
    functionUses: 2
    functionsReached:
    - getMpz
    - pow3
    linkageType: ''
    returnType: void
    signature: void pow3(T& z, const T& x, const F& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/mul_test.cpp:99,1
    - Dst: printf
      Src: /src/mcl/test/mul_test.cpp:100,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/test/mul_test.cpp:101,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/mul_test.cpp:103,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/mul_test.cpp:104,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/test/mul_test.cpp:106,1
    - Dst: setByCSPRNG
      Src: /src/mcl/test/mul_test.cpp:107,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/mul_test.cpp:108,1
    - Dst: testFp12pow
      Src: /src/mcl/test/mul_test.cpp:109,1
    - Dst: getMpz
      Src: /src/mcl/test/mul_test.cpp:109,1
    - Dst: pow3
      Src: /src/mcl/test/mul_test.cpp:110,1
    - Dst: getMpz
      Src: /src/mcl/test/mul_test.cpp:110,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mul_test.cpp:111,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/mul_test.cpp:113,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/mul_test.cpp:114,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/mul_test.cpp:115,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/mul_test.cpp:116,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/mul_test.cpp:117,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/mul_test.cpp:118,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/mul_test.cpp:119,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/mul_test.cpp:120,1
    - Dst: Fp::getMpz
      Src: /src/mcl/test/mul_test.cpp:122,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/mul_test.cpp:123,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/mul_test.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - name
    - pStr
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 125
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 125
    functionName: bench
    functionSourceFile: /src/mcl/test/mul_test.cpp
    functionUses: 0
    functionsReached:
    - Fp::getMpz
    - printf
    - setByCSPRNG
    - testFp12pow
    - CYBOZU_TEST_EQUAL
    - puts
    - Botan_Tests::test_x509_uninit
    - getMpz
    - Fp::setByCSPRNG
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    - Fp::Fp
    - pow3
    linkageType: ''
    returnType: void
    signature: void bench(const char *name, const char *pStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/mul_test.cpp:140,1
    - Dst: bench
      Src: /src/mcl/test/mul_test.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/mul_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - bench
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(main)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initPairing
      Src: /src/mcl/test/static_code_test.cpp:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 9
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/static_code_test.cpp
    functionUses: 0
    functionsReached:
    - initPairing
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(init)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fr::Fr
      Src: /src/mcl/test/static_code_test.cpp:13,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/static_code_test.cpp:16,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/static_code_test.cpp:17,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/static_code_test.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 19
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/static_code_test.cpp
    functionUses: 0
    functionsReached:
    - Fr::Fr
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(Fr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/test/static_code_test.cpp:23,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/static_code_test.cpp:26,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/static_code_test.cpp:27,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/static_code_test.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/static_code_test.cpp
    functionUses: 0
    functionsReached:
    - Fp::Fp
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(Fp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/static_code_test.cpp:41,1
    - Dst: Fp2
      Src: /src/mcl/test/static_code_test.cpp:41,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/static_code_test.cpp:42,1
    - Dst: Fp2
      Src: /src/mcl/test/static_code_test.cpp:42,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/static_code_test.cpp:43,1
    - Dst: Fp2
      Src: /src/mcl/test/static_code_test.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/static_code_test.cpp
    functionUses: 0
    functionsReached:
    - Fp2
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(Fp2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::G1
      Src: /src/mcl/test/static_code_test.cpp:48,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/test/static_code_test.cpp:49,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/static_code_test.cpp:50,1
    - Dst: Fr::setHashOf
      Src: /src/mcl/test/static_code_test.cpp:51,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/static_code_test.cpp:53,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/static_code_test.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/static_code_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - hashAndMapToG1
    - Fr::setHashOf
    - CYBOZU_TEST_EQUAL
    - Fr::Fr
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(G1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G2::G2
      Src: /src/mcl/test/static_code_test.cpp:61,1
    - Dst: hashAndMapToG2
      Src: /src/mcl/test/static_code_test.cpp:62,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/static_code_test.cpp:63,1
    - Dst: Fr::setHashOf
      Src: /src/mcl/test/static_code_test.cpp:64,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/static_code_test.cpp:66,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/static_code_test.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/static_code_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    - Fr::setHashOf
    - G2::G2
    - hashAndMapToG2
    - fiat_bls12_381_fp_mul
    - Fr::Fr
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(G2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/gmp_test.cpp:13,1
    - Dst: mpz_class
      Src: /src/mcl/test/gmp_test.cpp:14,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/gmp_test.cpp:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 22
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/gmp_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mpz_class
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(testBit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/gmp_test.cpp:43,1
    - Dst: strlen
      Src: /src/mcl/test/gmp_test.cpp:47,1
    - Dst: mcl::gmp::getStr
      Src: /src/mcl/test/gmp_test.cpp:48,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/gmp_test.cpp:49,1
    - Dst: mcl::gmp::getStr
      Src: /src/mcl/test/gmp_test.cpp:50,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/gmp_test.cpp:51,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/gmp_test.cpp:52,1
    - Dst: strlen
      Src: /src/mcl/test/gmp_test.cpp:54,1
    - Dst: mcl::gmp::getStr
      Src: /src/mcl/test/gmp_test.cpp:55,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/gmp_test.cpp:56,1
    - Dst: mcl::gmp::getStr
      Src: /src/mcl/test/gmp_test.cpp:57,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/gmp_test.cpp:58,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/gmp_test.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 61
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/gmp_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_EQUAL
    - mcl::gmp::getStr
    - strlen
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(getStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getRandPrime
      Src: /src/mcl/test/gmp_test.cpp:67,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/gmp_test.cpp:68,1
    - Dst: mcl::gmp::isPrime
      Src: /src/mcl/test/gmp_test.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/gmp_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::isPrime
    - CYBOZU_TEST_ASSERT
    - mcl::gmp::getRandPrime
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(getRandPrime)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: Montgomery::Montgomery
    functionSourceFile: /src/mcl/test/mont.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Montgomery()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/test/mont.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: Montgomery::getLow
    functionSourceFile: /src/mcl/test/mont.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::getUnit
    linkageType: ''
    returnType: Unit
    signature: Unit getLow(const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/mont.hpp:26,1
    - Dst: printf
      Src: /src/mcl/test/mont.hpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: Montgomery::put
    functionSourceFile: /src/mcl/test/mont.hpp
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void put() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::roundUp
      Src: /src/mcl/test/mont.hpp:36,1
    - Dst: mcl::gmp::getBitSize
      Src: /src/mcl/test/mont.hpp:36,1
    - Dst: resize
      Src: /src/mcl/test/mont.hpp:40,1
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/test/mont.hpp:42,1
    - Dst: mcl::bint::getMontgomeryCoeff
      Src: /src/mcl/test/mont.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' _p'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: Montgomery::Montgomery
    functionSourceFile: /src/mcl/test/mont.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::getBitSize
    - mcl::bint::getMontgomeryCoeff
    - mcl::roundUp
    - resize
    - mcl::gmp::getArray
    linkageType: ''
    returnType: void
    signature: void Montgomery(const mpz_class& _p, size_t _w = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Montgomery::toMont
      Src: /src/mcl/test/mont.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: Montgomery::toMont
    functionSourceFile: /src/mcl/test/mont.hpp
    functionUses: 1
    functionsReached:
    - Montgomery::toMont
    linkageType: ''
    returnType: void
    signature: void toMont(mpz_class& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Montgomery::fromMont
      Src: /src/mcl/test/mont.hpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Montgomery::fromMont
    functionSourceFile: /src/mcl/test/mont.hpp
    functionUses: 1
    functionsReached:
    - Montgomery::fromMont
    linkageType: ''
    returnType: void
    signature: void fromMont(mpz_class& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Montgomery::toMont
      Src: /src/mcl/test/mont.hpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Montgomery::toMont
    functionSourceFile: /src/mcl/test/mont.hpp
    functionUses: 2
    functionsReached:
    - Montgomery::toMont
    linkageType: ''
    returnType: mpz_class
    signature: mpz_class toMont(const mpz_class& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Montgomery::fromMont
      Src: /src/mcl/test/mont.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Montgomery::fromMont
    functionSourceFile: /src/mcl/test/mont.hpp
    functionUses: 2
    functionsReached:
    - Montgomery::fromMont
    linkageType: ''
    returnType: mpz_class
    signature: mpz_class fromMont(const mpz_class& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Montgomery::mul
      Src: /src/mcl/test/mont.hpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mx'
    - ' x'
    argTypes:
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: Montgomery::toMont
    functionSourceFile: /src/mcl/test/mont.hpp
    functionUses: 2
    functionsReached:
    - Montgomery::mul
    linkageType: ''
    returnType: void
    signature: void toMont(mpz_class& mx, const mpz_class& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Montgomery::mul
      Src: /src/mcl/test/mont.hpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' mx'
    argTypes:
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: Montgomery::fromMont
    functionSourceFile: /src/mcl/test/mont.hpp
    functionUses: 2
    functionsReached:
    - Montgomery::mul
    linkageType: ''
    returnType: void
    signature: void fromMont(mpz_class& x, const mpz_class& mx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/test/mont.hpp:82,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/test/mont.hpp:83,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/test/mont.hpp:88,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/test/mont.hpp:90,1
    - Dst: Montgomery::mod
      Src: /src/mcl/test/mont.hpp:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - mpz_class
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 103
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 103
    functionName: Montgomery::mul
    functionSourceFile: /src/mcl/test/mont.hpp
    functionUses: 2
    functionsReached:
    - mcl::gmp::getUnit
    - Montgomery::mod
    linkageType: ''
    returnType: void
    signature: void mul(mpz_class& z, const mpz_class& x, const mpz_class& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Montgomery::getLow
      Src: /src/mcl/test/mont.hpp:108,1
    - Dst: mcl::gmp::set
      Src: /src/mcl/test/mont.hpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' z'
    - ' xy'
    argTypes:
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: Montgomery::mod
    functionSourceFile: /src/mcl/test/mont.hpp
    functionUses: 1
    functionsReached:
    - mcl::gmp::set
    - Montgomery::getLow
    linkageType: ''
    returnType: void
    signature: void mod(mpz_class& z, const mpz_class& xy) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/test/aggregate_sig_test.cpp:11,1
    - Dst: SecretKey::init
      Src: /src/mcl/test/aggregate_sig_test.cpp:15,1
    - Dst: SecretKey::getPublicKey
      Src: /src/mcl/test/aggregate_sig_test.cpp:17,1
    - Dst: SecretKey::sign
      Src: /src/mcl/test/aggregate_sig_test.cpp:20,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/aggregate_sig_test.cpp:21,1
    - Dst: PublicKey::verify
      Src: /src/mcl/test/aggregate_sig_test.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 9
    functionDepth: 2
    functionLinenumber: 9
    functionLinenumberEnd: 22
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/aggregate_sig_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_ASSERT
    - PublicKey::verify
    - SecretKey::init
    - Botan_Tests::test_x509_uninit
    - SecretKey::getPublicKey
    - SecretKey::sign
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(init)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/aggregate_sig_test.cpp:31,1
    - Dst: serialize
      Src: /src/mcl/test/aggregate_sig_test.cpp:34,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/aggregate_sig_test.cpp:35,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/aggregate_sig_test.cpp:37,1
    - Dst: T::deserialize
      Src: /src/mcl/test/aggregate_sig_test.cpp:37,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/aggregate_sig_test.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 39
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 39
    functionName: serializeTest
    functionSourceFile: /src/mcl/test/aggregate_sig_test.cpp
    functionUses: 2
    functionsReached:
    - T::deserialize
    - CYBOZU_TEST_ASSERT
    - serialize
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void serializeTest(const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecretKey::init
      Src: /src/mcl/test/aggregate_sig_test.cpp:44,1
    - Dst: SecretKey::getPublicKey
      Src: /src/mcl/test/aggregate_sig_test.cpp:46,1
    - Dst: SecretKey::sign
      Src: /src/mcl/test/aggregate_sig_test.cpp:48,1
    - Dst: serializeTest
      Src: /src/mcl/test/aggregate_sig_test.cpp:49,1
    - Dst: serializeTest
      Src: /src/mcl/test/aggregate_sig_test.cpp:50,1
    - Dst: serializeTest
      Src: /src/mcl/test/aggregate_sig_test.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/aggregate_sig_test.cpp
    functionUses: 0
    functionsReached:
    - serializeTest
    - SecretKey::getPublicKey
    - SecretKey::sign
    - SecretKey::init
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(serialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/mcl/test/aggregate_sig_test.cpp:62,1
    - Dst: getPublicKey
      Src: /src/mcl/test/aggregate_sig_test.cpp:63,1
    - Dst: sign
      Src: /src/mcl/test/aggregate_sig_test.cpp:64,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/aggregate_sig_test.cpp:65,1
    - Dst: verify
      Src: /src/mcl/test/aggregate_sig_test.cpp:65,1
    - Dst: Signature::aggregate
      Src: /src/mcl/test/aggregate_sig_test.cpp:67,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/aggregate_sig_test.cpp:68,1
    - Dst: Signature::verify
      Src: /src/mcl/test/aggregate_sig_test.cpp:68,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/aggregate_sig_test.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' msgVec'
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: aggregateTest
    functionSourceFile: /src/mcl/test/aggregate_sig_test.cpp
    functionUses: 0
    functionsReached:
    - verify
    - sign
    - CYBOZU_TEST_ASSERT
    - Signature::aggregate
    - init
    - CYBOZU_BENCH_C
    - getPublicKey
    - Signature::verify
    linkageType: ''
    returnType: void
    signature: void aggregateTest(const std::vector<std::string>& msgVec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/aggregate_sig_test.cpp:86,1
    - Dst: resize
      Src: /src/mcl/test/aggregate_sig_test.cpp:89,1
    - Dst: rg
      Src: /src/mcl/test/aggregate_sig_test.cpp:91,1
    - Dst: aggregateTest
      Src: /src/mcl/test/aggregate_sig_test.cpp:94,1
    - Dst: aggregateTest
      Src: /src/mcl/test/aggregate_sig_test.cpp:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 104
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/aggregate_sig_test.cpp
    functionUses: 0
    functionsReached:
    - rg
    - resize
    - aggregateTest
    - cybozu::XorShift::XorShift
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(aggregate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::SquareRoot::SquareRoot
      Src: /src/mcl/test/sq_test.cpp:8,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/sq_test.cpp:9,1
    - Dst: mcl::SquareRoot::set
      Src: /src/mcl/test/sq_test.cpp:11,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/sq_test.cpp:17,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/sq_test.cpp:21,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/sq_test.cpp:22,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 5
    functionDepth: 1
    functionLinenumber: 5
    functionLinenumberEnd: 26
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/sq_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::SquareRoot::SquareRoot
    - CYBOZU_TEST_EQUAL
    - mcl::SquareRoot::set
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(sqrt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/ecdsa_test.cpp:8,1
    - Dst: printf
      Src: /src/mcl/test/ecdsa_test.cpp:10,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: put
    functionSourceFile: /src/mcl/test/ecdsa_test.cpp
    functionUses: 207
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void put(const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/mcl/test/ecdsa_test.cpp:20,1
    - Dst: SecretKey::setByCSPRNG
      Src: /src/mcl/test/ecdsa_test.cpp:23,1
    - Dst: getPublicKey
      Src: /src/mcl/test/ecdsa_test.cpp:24,1
    - Dst: sign
      Src: /src/mcl/test/ecdsa_test.cpp:27,1
    - Dst: std::string::c_str
      Src: /src/mcl/test/ecdsa_test.cpp:27,1
    - Dst: std::string::size
      Src: /src/mcl/test/ecdsa_test.cpp:27,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ecdsa_test.cpp:28,1
    - Dst: verify
      Src: /src/mcl/test/ecdsa_test.cpp:28,1
    - Dst: std::string::c_str
      Src: /src/mcl/test/ecdsa_test.cpp:28,1
    - Dst: std::string::size
      Src: /src/mcl/test/ecdsa_test.cpp:28,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ecdsa_test.cpp:30,1
    - Dst: verify
      Src: /src/mcl/test/ecdsa_test.cpp:30,1
    - Dst: std::string::c_str
      Src: /src/mcl/test/ecdsa_test.cpp:30,1
    - Dst: std::string::size
      Src: /src/mcl/test/ecdsa_test.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/ecdsa_test.cpp
    functionUses: 0
    functionsReached:
    - verify
    - sign
    - std::string::size
    - CYBOZU_TEST_ASSERT
    - std::string::c_str
    - init
    - SecretKey::setByCSPRNG
    - getPublicKey
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(ecdsa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/ecdsa_test.cpp:36,1
    - Dst: testFp12pow
      Src: /src/mcl/test/ecdsa_test.cpp:38,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:39,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:42,1
    - Dst: Fp
      Src: /src/mcl/test/ecdsa_test.cpp:42,1
    - Dst: Fp
      Src: /src/mcl/test/ecdsa_test.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/ecdsa_test.cpp
    functionUses: 0
    functionsReached:
    - Fp
    - CYBOZU_TEST_EQUAL
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - testFp12pow
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(mul)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setSeriailzeMode
      Src: /src/mcl/test/ecdsa_test.cpp:48,1
    - Dst: SecretKey::setStr
      Src: /src/mcl/test/ecdsa_test.cpp:50,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:51,1
    - Dst: SecretKey::getStr
      Src: /src/mcl/test/ecdsa_test.cpp:51,1
    - Dst: getPublicKey
      Src: /src/mcl/test/ecdsa_test.cpp:53,1
    - Dst: PublicKey::normalize
      Src: /src/mcl/test/ecdsa_test.cpp:54,1
    - Dst: substr
      Src: /src/mcl/test/ecdsa_test.cpp:55,1
    - Dst: substr
      Src: /src/mcl/test/ecdsa_test.cpp:56,1
    - Dst: Fp
      Src: /src/mcl/test/ecdsa_test.cpp:57,1
    - Dst: Fp
      Src: /src/mcl/test/ecdsa_test.cpp:57,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:58,1
    - Dst: substr
      Src: /src/mcl/test/ecdsa_test.cpp:60,1
    - Dst: substr
      Src: /src/mcl/test/ecdsa_test.cpp:61,1
    - Dst: Signature::r::setStr
      Src: /src/mcl/test/ecdsa_test.cpp:62,1
    - Dst: Signature::s::setStr
      Src: /src/mcl/test/ecdsa_test.cpp:63,1
    - Dst: normalizeSignature
      Src: /src/mcl/test/ecdsa_test.cpp:64,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ecdsa_test.cpp:65,1
    - Dst: verify
      Src: /src/mcl/test/ecdsa_test.cpp:65,1
    - Dst: c_str
      Src: /src/mcl/test/ecdsa_test.cpp:65,1
    - Dst: size
      Src: /src/mcl/test/ecdsa_test.cpp:65,1
    - Dst: setSeriailzeMode
      Src: /src/mcl/test/ecdsa_test.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - ' msg'
    - ' secHex'
    - ' pubHex'
    - ' sigHex'
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 68
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 68
    functionName: serializeStrTest
    functionSourceFile: /src/mcl/test/ecdsa_test.cpp
    functionUses: 0
    functionsReached:
    - PublicKey::normalize
    - verify
    - CYBOZU_TEST_ASSERT
    - c_str
    - CYBOZU_TEST_EQUAL
    - SecretKey::getStr
    - Signature::s::setStr
    - Fp
    - size
    - Signature::r::setStr
    - SecretKey::setStr
    - substr
    - setSeriailzeMode
    - getPublicKey
    - normalizeSignature
    linkageType: ''
    returnType: void
    signature: void serializeStrTest(const std::string& msg, const std::string& secHex,
      const std::string& pubHex, const std::string& sigHex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setSeriailzeMode
      Src: /src/mcl/test/ecdsa_test.cpp:73,1
    - Dst: SecretKey::deserializeHexStr
      Src: /src/mcl/test/ecdsa_test.cpp:76,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:77,1
    - Dst: SecretKey::serializeToHexStr
      Src: /src/mcl/test/ecdsa_test.cpp:77,1
    - Dst: getPublicKey
      Src: /src/mcl/test/ecdsa_test.cpp:79,1
    - Dst: PublicKey::normalize
      Src: /src/mcl/test/ecdsa_test.cpp:80,1
    - Dst: Ec::deserializeHexStr
      Src: /src/mcl/test/ecdsa_test.cpp:83,1
    - Dst: substr
      Src: /src/mcl/test/ecdsa_test.cpp:85,1
    - Dst: substr
      Src: /src/mcl/test/ecdsa_test.cpp:86,1
    - Dst: Ec::x::deserializeHexStr
      Src: /src/mcl/test/ecdsa_test.cpp:88,1
    - Dst: Ec::y::deserializeHexStr
      Src: /src/mcl/test/ecdsa_test.cpp:89,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:92,1
    - Dst: Signature::deserializeHexStr
      Src: /src/mcl/test/ecdsa_test.cpp:94,1
    - Dst: normalizeSignature
      Src: /src/mcl/test/ecdsa_test.cpp:95,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ecdsa_test.cpp:96,1
    - Dst: verify
      Src: /src/mcl/test/ecdsa_test.cpp:96,1
    - Dst: c_str
      Src: /src/mcl/test/ecdsa_test.cpp:96,1
    - Dst: size
      Src: /src/mcl/test/ecdsa_test.cpp:96,1
    - Dst: setSeriailzeMode
      Src: /src/mcl/test/ecdsa_test.cpp:98,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ecdsa_test.cpp:101,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:103,1
    - Dst: Signature::deserialize
      Src: /src/mcl/test/ecdsa_test.cpp:103,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:104,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 4
    argNames:
    - ' msg'
    - ' secHex'
    - ' pubHex'
    - ' sigHex'
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 106
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 106
    functionName: serializeBinaryTest
    functionSourceFile: /src/mcl/test/ecdsa_test.cpp
    functionUses: 0
    functionsReached:
    - PublicKey::normalize
    - verify
    - CYBOZU_TEST_ASSERT
    - Signature::deserializeHexStr
    - CYBOZU_TEST_EQUAL
    - c_str
    - SecretKey::deserializeHexStr
    - Ec::y::deserializeHexStr
    - Signature::deserialize
    - SecretKey::serializeToHexStr
    - size
    - Ec::x::deserializeHexStr
    - substr
    - setSeriailzeMode
    - getPublicKey
    - normalizeSignature
    - Ec::deserializeHexStr
    linkageType: ''
    returnType: void
    signature: void serializeBinaryTest(const std::string& msg, const std::string&
      secHex, const std::string& pubHex, const std::string& sigHex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/ecdsa_test.cpp:130,1
    - Dst: serializeStrTest
      Src: /src/mcl/test/ecdsa_test.cpp:131,1
    - Dst: serializeBinaryTest
      Src: /src/mcl/test/ecdsa_test.cpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 134
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/ecdsa_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - serializeStrTest
    - serializeBinaryTest
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setSeriailzeMode
      Src: /src/mcl/test/ecdsa_test.cpp:139,1
    - Dst: SecretKey::setByCSPRNG
      Src: /src/mcl/test/ecdsa_test.cpp:143,1
    - Dst: getPublicKey
      Src: /src/mcl/test/ecdsa_test.cpp:144,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:147,1
    - Dst: deserialize
      Src: /src/mcl/test/ecdsa_test.cpp:148,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:149,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:150,1
    - Dst: PublicKey::normalize
      Src: /src/mcl/test/ecdsa_test.cpp:151,1
    - Dst: setSeriailzeMode
      Src: /src/mcl/test/ecdsa_test.cpp:154,1
    - Dst: PublicKey::serialize
      Src: /src/mcl/test/ecdsa_test.cpp:157,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:158,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:159,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/ecdsa_test.cpp:160,1
    - Dst: clear
      Src: /src/mcl/test/ecdsa_test.cpp:161,1
    - Dst: deserialize
      Src: /src/mcl/test/ecdsa_test.cpp:162,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:163,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:164,1
    - Dst: PublicKey::serializeCompressed
      Src: /src/mcl/test/ecdsa_test.cpp:167,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:168,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:169,1
    - Dst: PublicKey::y::isOdd
      Src: /src/mcl/test/ecdsa_test.cpp:169,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/ecdsa_test.cpp:170,1
    - Dst: clear
      Src: /src/mcl/test/ecdsa_test.cpp:171,1
    - Dst: deserialize
      Src: /src/mcl/test/ecdsa_test.cpp:172,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:173,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:174,1
    - Dst: PublicKey::normalize
      Src: /src/mcl/test/ecdsa_test.cpp:177,1
    - Dst: PublicKey::serializeCompressed
      Src: /src/mcl/test/ecdsa_test.cpp:180,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:181,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:182,1
    - Dst: PublicKey::y::isOdd
      Src: /src/mcl/test/ecdsa_test.cpp:182,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/ecdsa_test.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 184
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/ecdsa_test.cpp
    functionUses: 0
    functionsReached:
    - PublicKey::normalize
    - CYBOZU_TEST_EQUAL_ARRAY
    - CYBOZU_TEST_EQUAL
    - PublicKey::serialize
    - PublicKey::serializeCompressed
    - clear
    - PublicKey::y::isOdd
    - SecretKey::setByCSPRNG
    - deserialize
    - setSeriailzeMode
    - getPublicKey
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(serializePublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Signature::r::setStr
      Src: /src/mcl/test/ecdsa_test.cpp:191,1
    - Dst: Signature::s::setStr
      Src: /src/mcl/test/ecdsa_test.cpp:192,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:196,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/ecdsa_test.cpp:197,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:199,1
    - Dst: Signature::deserialize
      Src: /src/mcl/test/ecdsa_test.cpp:199,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:200,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 202
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/ecdsa_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - CYBOZU_TEST_EQUAL
    - Signature::s::setStr
    - Signature::deserialize
    - Signature::r::setStr
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(serializeDer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ecdsa_test.cpp:216,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:218,1
    - Dst: Signature::deserialize
      Src: /src/mcl/test/ecdsa_test.cpp:218,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:219,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:220,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/ecdsa_test.cpp:255,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:257,1
    - Dst: Signature::deserialize
      Src: /src/mcl/test/ecdsa_test.cpp:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 260
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/ecdsa_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - Signature::deserialize
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(edgeCase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/ecdsa_test.cpp:267,1
    - Dst: testFp12pow
      Src: /src/mcl/test/ecdsa_test.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: invByPow
    functionSourceFile: /src/mcl/test/ecdsa_test.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - testFp12pow
    linkageType: ''
    returnType: void
    signature: void invByPow(T& y, const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/ecdsa_test.cpp:277,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/ecdsa_test.cpp:278,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/test/ecdsa_test.cpp:279,1
    - Dst: setByCSPRNG
      Src: /src/mcl/test/ecdsa_test.cpp:280,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/ecdsa_test.cpp:282,1
    - Dst: get_da_inv
      Src: /src/mcl/test/ecdsa_test.cpp:283,1
    - Dst: invByPow
      Src: /src/mcl/test/ecdsa_test.cpp:284,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ecdsa_test.cpp:286,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/ecdsa_test.cpp:289,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/ecdsa_test.cpp:290,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/ecdsa_test.cpp:291,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/ecdsa_test.cpp:292,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/ecdsa_test.cpp:293,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/ecdsa_test.cpp:294,1
    - Dst: Zn::setByCSPRNG
      Src: /src/mcl/test/ecdsa_test.cpp:298,1
    - Dst: setByCSPRNG
      Src: /src/mcl/test/ecdsa_test.cpp:299,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/ecdsa_test.cpp:300,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/ecdsa_test.cpp:301,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/ecdsa_test.cpp:302,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/ecdsa_test.cpp:303,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/ecdsa_test.cpp:304,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/ecdsa_test.cpp:305,1
    - Dst: Zn::setByCSPRNG
      Src: /src/mcl/test/ecdsa_test.cpp:310,1
    - Dst: mcl::ecdsa::local::getParam
      Src: /src/mcl/test/ecdsa_test.cpp:311,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/ecdsa_test.cpp:312,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/ecdsa_test.cpp:313,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/ecdsa_test.cpp:314,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/ecdsa_test.cpp:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 317
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/ecdsa_test.cpp
    functionUses: 0
    functionsReached:
    - setByCSPRNG
    - CYBOZU_TEST_EQUAL
    - get_da_inv
    - mcl::ecdsa::local::getParam
    - Fp::setByCSPRNG
    - cybozu::XorShift::XorShift
    - Zn::setByCSPRNG
    - fiat_bls12_381_fp_mul
    - CYBOZU_BENCH_C
    - invByPow
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(lowBench)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecretKey::setByCSPRNG
      Src: /src/mcl/test/ecdsa_test.cpp:325,1
    - Dst: getPublicKey
      Src: /src/mcl/test/ecdsa_test.cpp:326,1
    - Dst: PrecomputedPublicKey::init
      Src: /src/mcl/test/ecdsa_test.cpp:327,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/ecdsa_test.cpp:329,1
    - Dst: std::string::c_str
      Src: /src/mcl/test/ecdsa_test.cpp:329,1
    - Dst: std::string::size
      Src: /src/mcl/test/ecdsa_test.cpp:329,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/ecdsa_test.cpp:330,1
    - Dst: std::string::c_str
      Src: /src/mcl/test/ecdsa_test.cpp:330,1
    - Dst: std::string::size
      Src: /src/mcl/test/ecdsa_test.cpp:330,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/ecdsa_test.cpp:331,1
    - Dst: std::string::c_str
      Src: /src/mcl/test/ecdsa_test.cpp:331,1
    - Dst: std::string::size
      Src: /src/mcl/test/ecdsa_test.cpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 332
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/ecdsa_test.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - PrecomputedPublicKey::init
    - std::string::c_str
    - SecretKey::setByCSPRNG
    - CYBOZU_BENCH_C
    - getPublicKey
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(bench)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::initCurve<Ec>
      Src: /src/mcl/test/elgamal_test.cpp:17,1
    - Dst: ElgamalEc::PrivateKey::init
      Src: /src/mcl/test/elgamal_test.cpp:23,1
    - Dst: ElgamalEc::PrivateKey::setCache
      Src: /src/mcl/test/elgamal_test.cpp:24,1
    - Dst: ElgamalEc::PrivateKey::getPublicKey
      Src: /src/mcl/test/elgamal_test.cpp:25,1
    - Dst: enc
      Src: /src/mcl/test/elgamal_test.cpp:30,1
    - Dst: enc
      Src: /src/mcl/test/elgamal_test.cpp:31,1
    - Dst: ElgamalEc::PrivateKey::dec
      Src: /src/mcl/test/elgamal_test.cpp:33,1
    - Dst: ElgamalEc::PrivateKey::dec
      Src: /src/mcl/test/elgamal_test.cpp:34,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/elgamal_test.cpp:36,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/elgamal_test.cpp:37,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/elgamal_test.cpp:38,1
    - Dst: ElgamalEc::PrivateKey::dec
      Src: /src/mcl/test/elgamal_test.cpp:38,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/elgamal_test.cpp:39,1
    - Dst: ElgamalEc::PrivateKey::dec
      Src: /src/mcl/test/elgamal_test.cpp:39,1
    - Dst: ElgamalEc::PrivateKey::dec
      Src: /src/mcl/test/elgamal_test.cpp:51,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/elgamal_test.cpp:52,1
    - Dst: ElgamalEc::PrivateKey::dec
      Src: /src/mcl/test/elgamal_test.cpp:59,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/elgamal_test.cpp:60,1
    - Dst: ElgamalEc::PublicKey::enc
      Src: /src/mcl/test/elgamal_test.cpp:66,1
    - Dst: ElgamalEc::PrivateKey::dec
      Src: /src/mcl/test/elgamal_test.cpp:67,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/elgamal_test.cpp:68,1
    - Dst: ElgamalEc::CipherText::add
      Src: /src/mcl/test/elgamal_test.cpp:71,1
    - Dst: ElgamalEc::PrivateKey::dec
      Src: /src/mcl/test/elgamal_test.cpp:72,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/elgamal_test.cpp:73,1
    - Dst: add
      Src: /src/mcl/test/elgamal_test.cpp:77,1
    - Dst: ElgamalEc::PrivateKey::dec
      Src: /src/mcl/test/elgamal_test.cpp:78,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/elgamal_test.cpp:79,1
    - Dst: rerandomize
      Src: /src/mcl/test/elgamal_test.cpp:83,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/elgamal_test.cpp:85,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/elgamal_test.cpp:86,1
    - Dst: ElgamalEc::PrivateKey::dec
      Src: /src/mcl/test/elgamal_test.cpp:87,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/elgamal_test.cpp:89,1
    - Dst: enc
      Src: /src/mcl/test/elgamal_test.cpp:95,1
    - Dst: ElgamalEc::CipherText::neg
      Src: /src/mcl/test/elgamal_test.cpp:96,1
    - Dst: ElgamalEc::PrivateKey::dec
      Src: /src/mcl/test/elgamal_test.cpp:98,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/elgamal_test.cpp:99,1
    - Dst: enc
      Src: /src/mcl/test/elgamal_test.cpp:106,1
    - Dst: ElgamalEc::PrivateKey::dec
      Src: /src/mcl/test/elgamal_test.cpp:108,1
    - Dst: ElgamalEc::CipherText::mul
      Src: /src/mcl/test/elgamal_test.cpp:109,1
    - Dst: ElgamalEc::PrivateKey::dec
      Src: /src/mcl/test/elgamal_test.cpp:110,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/elgamal_test.cpp:112,1
    - Dst: enc
      Src: /src/mcl/test/elgamal_test.cpp:119,1
    - Dst: ElgamalEc::PrivateKey::dec
      Src: /src/mcl/test/elgamal_test.cpp:121,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/elgamal_test.cpp:122,1
    - Dst: enc
      Src: /src/mcl/test/elgamal_test.cpp:128,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/elgamal_test.cpp:130,1
    - Dst: ElgamalEc::PrivateKey::isZeroMessage
      Src: /src/mcl/test/elgamal_test.cpp:130,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/elgamal_test.cpp:132,1
    - Dst: ElgamalEc::PrivateKey::isZeroMessage
      Src: /src/mcl/test/elgamal_test.cpp:132,1
    - Dst: encWithZkp
      Src: /src/mcl/test/elgamal_test.cpp:139,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/elgamal_test.cpp:140,1
    - Dst: verify
      Src: /src/mcl/test/elgamal_test.cpp:140,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/elgamal_test.cpp:142,1
    - Dst: verify
      Src: /src/mcl/test/elgamal_test.cpp:142,1
    - Dst: encWithZkp
      Src: /src/mcl/test/elgamal_test.cpp:143,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/elgamal_test.cpp:144,1
    - Dst: verify
      Src: /src/mcl/test/elgamal_test.cpp:144,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/elgamal_test.cpp:146,1
    - Dst: verify
      Src: /src/mcl/test/elgamal_test.cpp:146,1
    - Dst: CYBOZU_TEST_EXCEPTION_MESSAGE
      Src: /src/mcl/test/elgamal_test.cpp:147,1
    - Dst: encWithZkp
      Src: /src/mcl/test/elgamal_test.cpp:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 149
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/elgamal_test.cpp
    functionUses: 0
    functionsReached:
    - add
    - ElgamalEc::CipherText::add
    - ElgamalEc::CipherText::mul
    - verify
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - ElgamalEc::PrivateKey::setCache
    - CYBOZU_TEST_EXCEPTION_MESSAGE
    - mcl::initCurve<Ec>
    - ElgamalEc::CipherText::neg
    - ElgamalEc::PrivateKey::init
    - enc
    - ElgamalEc::PublicKey::enc
    - ElgamalEc::PrivateKey::isZeroMessage
    - ElgamalEc::PrivateKey::getPublicKey
    - rerandomize
    - encWithZkp
    - ElgamalEc::PrivateKey::dec
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(testEc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/smallmodp_test.cpp:12,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/smallmodp_test.cpp:13,1
    - Dst: F::setByCSPRNG
      Src: /src/mcl/test/smallmodp_test.cpp:16,1
    - Dst: get_mulUnit
      Src: /src/mcl/test/smallmodp_test.cpp:19,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/smallmodp_test.cpp:20,1
    - Dst: printf
      Src: /src/mcl/test/smallmodp_test.cpp:25,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/smallmodp_test.cpp:26,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/smallmodp_test.cpp:28,1
    - Dst: F::getUnit
      Src: /src/mcl/test/smallmodp_test.cpp:28,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/smallmodp_test.cpp:29,1
    - Dst: F::getUnit
      Src: /src/mcl/test/smallmodp_test.cpp:29,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/smallmodp_test.cpp:30,1
    - Dst: F::getUnit
      Src: /src/mcl/test/smallmodp_test.cpp:30,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/smallmodp_test.cpp:31,1
    - Dst: F::getUnit
      Src: /src/mcl/test/smallmodp_test.cpp:31,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/smallmodp_test.cpp:32,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/smallmodp_test.cpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 35
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 35
    functionName: test
    functionSourceFile: /src/mcl/test/smallmodp_test.cpp
    functionUses: 25
    functionsReached:
    - CYBOZU_TEST_ASSERT
    - printf
    - CYBOZU_TEST_EQUAL
    - F::setByCSPRNG
    - F::getUnit
    - puts
    - get_mulUnit
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void test(const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initPairing
      Src: /src/mcl/test/smallmodp_test.cpp:39,1
    - Dst: test
      Src: /src/mcl/test/smallmodp_test.cpp:40,1
    - Dst: test
      Src: /src/mcl/test/smallmodp_test.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/smallmodp_test.cpp
    functionUses: 0
    functionsReached:
    - initPairing
    - test
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(main)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:16,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:16,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:17,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:17,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:18,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:18,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:19,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:19,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:20,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:20,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_util_test.cpp:22,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_util_test.cpp:25,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/fp_util_test.cpp:26,1
    - Dst: mcl::fp::arrayToHex
      Src: /src/mcl/test/fp_util_test.cpp:27,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_util_test.cpp:28,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/fp_util_test.cpp:29,1
    - Dst: std::string
      Src: /src/mcl/test/fp_util_test.cpp:29,1
    - Dst: c_str
      Src: /src/mcl/test/fp_util_test.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 31
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/fp_util_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_ASSERT
    - c_str
    - MCL_U64_TO_UNIT
    - mcl::fp::arrayToHex
    - std::string
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(arrayToHex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:41,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:41,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:42,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:42,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:43,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:43,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:44,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:44,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:45,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:45,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_util_test.cpp:47,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_util_test.cpp:50,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/fp_util_test.cpp:51,1
    - Dst: mcl::fp::arrayToBin
      Src: /src/mcl/test/fp_util_test.cpp:52,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_util_test.cpp:53,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/fp_util_test.cpp:54,1
    - Dst: std::string
      Src: /src/mcl/test/fp_util_test.cpp:54,1
    - Dst: c_str
      Src: /src/mcl/test/fp_util_test.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 56
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/fp_util_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_ASSERT
    - c_str
    - MCL_U64_TO_UNIT
    - std::string
    - mcl::fp::arrayToBin
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(arrayToBin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:65,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:65,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:65,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:65,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:66,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:66,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:66,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:66,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:67,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:67,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:67,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:67,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:68,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:68,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:68,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:68,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:69,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:69,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:69,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:69,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:70,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:70,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:70,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:70,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:71,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:71,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:71,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:71,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:72,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:72,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:72,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/test/fp_util_test.cpp:72,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_util_test.cpp:74,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_util_test.cpp:78,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/fp_util_test.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 81
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/fp_util_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_ASSERT
    - MCL_U64_TO_UNIT
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(hexToArray)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_util_test.cpp:100,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_util_test.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 104
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/fp_util_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(cmp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_util_test.cpp:124,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_util_test.cpp:126,1
    - Dst: mcl::bint::cmpGtN
      Src: /src/mcl/test/fp_util_test.cpp:127,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_util_test.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 130
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/fp_util_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::bint::cmpGtN
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(cmpLt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_util_test.cpp:150,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_util_test.cpp:152,1
    - Dst: mcl::bint::cmpGeN
      Src: /src/mcl/test/fp_util_test.cpp:153,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_util_test.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 156
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/fp_util_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::bint::cmpGeN
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(cmpLe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mcl/test/fp_util_test.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pb
    - x
    - n
    argTypes:
    - bool*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: read
    functionSourceFile: /src/mcl/test/fp_util_test.cpp
    functionUses: 58
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void read(bool *pb, void *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/mcl/test/fp_util_test.cpp:177,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/test/fp_util_test.cpp:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: read
    functionSourceFile: /src/mcl/test/fp_util_test.cpp
    functionUses: 59
    functionsReached:
    - Shim_Exception::Shim_Exception
    - read
    linkageType: ''
    returnType: void
    signature: void read(void *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/mcl/test/fp_util_test.cpp:183,1
    - Dst: memcpy
      Src: /src/mcl/test/fp_util_test.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: operator()()
    functionSourceFile: /src/mcl/test/fp_util_test.cpp
    functionUses: 0
    functionsReached:
    - read
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t operator()()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/mcl/test/fp_util_test.cpp:193,1
    - Dst: size
      Src: /src/mcl/test/fp_util_test.cpp:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: Rand
    functionSourceFile: /src/mcl/test/fp_util_test.cpp
    functionUses: 12
    functionsReached:
    - push_back
    - size
    linkageType: ''
    returnType: void
    signature: void Rand(const uint32_t *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_util_test.cpp:203,1
    - Dst: mcl::fp::local::loadWord
      Src: /src/mcl/test/fp_util_test.cpp:207,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_util_test.cpp:208,1
    - Dst: std::string::empty
      Src: /src/mcl/test/fp_util_test.cpp:208,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_util_test.cpp:220,1
    - Dst: mcl::fp::local::loadWord
      Src: /src/mcl/test/fp_util_test.cpp:226,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_util_test.cpp:227,1
    - Dst: mcl::fp::local::loadWord
      Src: /src/mcl/test/fp_util_test.cpp:234,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_util_test.cpp:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 239
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/fp_util_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - std::string::empty
    - mcl::fp::local::loadWord
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_util_test.cpp:252,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/test/fp_util_test.cpp:257,1
    - Dst: mcl::fp::BitIterator<uint32_t>::hasNext
      Src: /src/mcl/test/fp_util_test.cpp:259,1
    - Dst: mcl::fp::BitIterator<uint32_t>::mask
      Src: /src/mcl/test/fp_util_test.cpp:261,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_util_test.cpp:262,1
    - Dst: mcl::fp::getUnitAt
      Src: /src/mcl/test/fp_util_test.cpp:263,1
    - Dst: mcl::fp::BitIterator<uint32_t>::mask
      Src: /src/mcl/test/fp_util_test.cpp:263,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_util_test.cpp:264,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_util_test.cpp:268,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/test/fp_util_test.cpp:274,1
    - Dst: mcl::fp::BitIterator<uint32_t>::hasNext
      Src: /src/mcl/test/fp_util_test.cpp:275,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_util_test.cpp:278,1
    - Dst: mcl::fp::BitIterator<uint32_t>::skipBit
      Src: /src/mcl/test/fp_util_test.cpp:280,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_util_test.cpp:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 285
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/fp_util_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::fp::BitIterator<uint32_t>::mask
    - CYBOZU_TEST_EQUAL
    - mcl::fp::BitIterator<uint32_t>::skipBit
    - mcl::fp::getUnitAt
    - mcl::fp::BitIterator<uint32_t>::hasNext
    - mcl::gmp::setArray
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(BitIterator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:19,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(sizeof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ec::clear
      Src: /src/mcl/test/ec_test.cpp:26,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/ec_test.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' out'
    - xVec
    - yVec
    - n
    argTypes:
    - Ec
    - Ec*
    - Zn*
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: naiveMulVec
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 2
    functionsReached:
    - Ec::clear
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void naiveMulVec(Ec& out, const Ec *xVec, const Zn *yVec, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/ec_test.cpp:37,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/ec_test.cpp:39,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/test/ec_test.cpp:49,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/ec_test.cpp:51,1
    - Dst: setByCSPRNG
      Src: /src/mcl/test/ec_test.cpp:52,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/ec_test.cpp:55,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:57,1
    - Dst: naiveMulVec
      Src: /src/mcl/test/ec_test.cpp:58,1
    - Dst: mclBnG1_mulVec
      Src: /src/mcl/test/ec_test.cpp:59,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:60,1
    - Dst: clear
      Src: /src/mcl/test/ec_test.cpp:61,1
    - Dst: printf
      Src: /src/mcl/test/ec_test.cpp:64,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/ec_test.cpp:66,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/ec_test.cpp:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - ' para'
    - ecMode
    argTypes:
    - mcl::EcParam
    - mcl::ec::Mode
    constantsTouched: []
    func_position:
      end: 70
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 70
    functionName: mulVecTest
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 1
    functionsReached:
    - Botan::ge_p2_dbl
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_ASSERT
    - printf
    - setByCSPRNG
    - CYBOZU_TEST_EQUAL
    - mclBnG1_mulVec
    - puts
    - clear
    - naiveMulVec
    - fiat_bls12_381_fp_mul
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void mulVecTest(const mcl::EcParam& para, mcl::ec::Mode ecMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::initCurve<Ec>
      Src: /src/mcl/test/ec_test.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' para'
    - ecMode
    argTypes:
    - mcl::EcParam
    - mcl::ec::Mode
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: Test
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 23
    functionsReached:
    - mcl::initCurve<Ec>
    linkageType: ''
    returnType: void
    signature: void Test(const mcl::EcParam& para, mcl::ec::Mode ecMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ec::clear
      Src: /src/mcl/test/ec_test.cpp:85,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:86,1
    - Dst: Ec::isZero
      Src: /src/mcl/test/ec_test.cpp:86,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:87,1
    - Dst: Ec::isValid
      Src: /src/mcl/test/ec_test.cpp:87,1
    - Dst: Ec::clear
      Src: /src/mcl/test/ec_test.cpp:89,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/test/ec_test.cpp:90,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: cstr
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 6
    functionsReached:
    - Ec::clear
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - Ec::isZero
    - Ec::isValid
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void cstr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' Q'
    - ' P'
    - n
    argTypes:
    - Ec
    - Ec
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: pow2
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pow2(Ec& Q, const Ec& P, int n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pow2
      Src: /src/mcl/test/ec_test.cpp:103,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/ec_test.cpp:110,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:111,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/ec_test.cpp:113,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ' P'
    - n
    argTypes:
    - Ec
    - int
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: pow2test
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 0
    functionsReached:
    - pow2
    - fiat_bls12_381_fp_mul
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void pow2test(const Ec& P, int n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_NO_EXCEPTION
      Src: /src/mcl/test/ec_test.cpp:121,1
    - Dst: Ec
      Src: /src/mcl/test/ec_test.cpp:121,1
    - Dst: CYBOZU_TEST_EXCEPTION
      Src: /src/mcl/test/ec_test.cpp:122,1
    - Dst: Ec
      Src: /src/mcl/test/ec_test.cpp:122,1
    - Dst: clear
      Src: /src/mcl/test/ec_test.cpp:124,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:125,1
    - Dst: Ec::isNormalized
      Src: /src/mcl/test/ec_test.cpp:125,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/test/ec_test.cpp:127,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:128,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:129,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:132,1
    - Dst: isZero
      Src: /src/mcl/test/ec_test.cpp:132,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:133,1
    - Dst: isNormalized
      Src: /src/mcl/test/ec_test.cpp:133,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:134,1
    - Dst: isValid
      Src: /src/mcl/test/ec_test.cpp:134,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:137,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:139,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/test/ec_test.cpp:143,1
    - Dst: Address::getMode
      Src: /src/mcl/test/ec_test.cpp:144,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:145,1
    - Dst: isNormalized
      Src: /src/mcl/test/ec_test.cpp:145,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:147,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:148,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:149,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:150,1
    - Dst: isValid
      Src: /src/mcl/test/ec_test.cpp:150,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:152,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/test/ec_test.cpp:155,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:156,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:160,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:164,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:167,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:170,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/ec_test.cpp:172,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:173,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:176,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/ec_test.cpp:177,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:178,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/ec_test.cpp:186,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:187,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/ec_test.cpp:189,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:190,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:192,1
    - Dst: isZero
      Src: /src/mcl/test/ec_test.cpp:192,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/ec_test.cpp:195,1
    - Dst: pow2test
      Src: /src/mcl/test/ec_test.cpp:196,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/ec_test.cpp:200,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:201,1
    - Dst: isZero
      Src: /src/mcl/test/ec_test.cpp:201,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:203,1
    - Dst: isZero
      Src: /src/mcl/test/ec_test.cpp:203,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/ec_test.cpp:204,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:205,1
    - Dst: isZero
      Src: /src/mcl/test/ec_test.cpp:205,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/ec_test.cpp:206,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:207,1
    - Dst: Address::getMode
      Src: /src/mcl/test/ec_test.cpp:213,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:214,1
    - Dst: Ec::z::isOne
      Src: /src/mcl/test/ec_test.cpp:214,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:215,1
    - Dst: z::isOne
      Src: /src/mcl/test/ec_test.cpp:215,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:217,1
    - Dst: Ec::z::isOne
      Src: /src/mcl/test/ec_test.cpp:217,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:218,1
    - Dst: z::isOne
      Src: /src/mcl/test/ec_test.cpp:218,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/test/ec_test.cpp:220,1
    - Dst: Ec::normalize
      Src: /src/mcl/test/ec_test.cpp:222,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:223,1
    - Dst: Ec::z::isOne
      Src: /src/mcl/test/ec_test.cpp:223,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/test/ec_test.cpp:225,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:226,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/test/ec_test.cpp:228,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:229,1
    - Dst: normalize
      Src: /src/mcl/test/ec_test.cpp:231,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:232,1
    - Dst: z::isOne
      Src: /src/mcl/test/ec_test.cpp:232,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/test/ec_test.cpp:234,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:235,1
    - Dst: Address::getMode
      Src: /src/mcl/test/ec_test.cpp:238,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:239,1
    - Dst: Ec::z::isOne
      Src: /src/mcl/test/ec_test.cpp:239,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:241,1
    - Dst: Ec::z::isOne
      Src: /src/mcl/test/ec_test.cpp:241,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/test/ec_test.cpp:244,1
    - Dst: Ec::normalize
      Src: /src/mcl/test/ec_test.cpp:246,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:247,1
    - Dst: Ec::z::isOne
      Src: /src/mcl/test/ec_test.cpp:247,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/test/ec_test.cpp:249,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 252
    functionName: ope
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 0
    functionsReached:
    - Botan::ge_p2_dbl
    - isNormalized
    - isZero
    - CYBOZU_TEST_EQUAL
    - clear
    - fiat_bls12_381_fp_mul
    - CYBOZU_NUM_OF_ARRAY
    - Ec::z::isOne
    - Ec::normalize
    - normalize
    - z::isOne
    - CYBOZU_TEST_EXCEPTION
    - isValid
    - fiat_bls12_381_fp_add
    - CYBOZU_TEST_NO_EXCEPTION
    - Address::getMode
    - Ec::isNormalized
    - Ec
    - pow2test
    - CYBOZU_TEST_ASSERT
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void ope() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/ec_test.cpp:258,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/ec_test.cpp:259,1
    - Dst: Address::getMode
      Src: /src/mcl/test/ec_test.cpp:262,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:263,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:265,1
    - Dst: isEqualOrMinus
      Src: /src/mcl/test/ec_test.cpp:265,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/test/ec_test.cpp:266,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:267,1
    - Dst: isEqualOrMinus
      Src: /src/mcl/test/ec_test.cpp:267,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:268,1
    - Dst: Ec::isEqualOrMinus
      Src: /src/mcl/test/ec_test.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 269
    functionName: equalOrMinusTest
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    - isEqualOrMinus
    - Botan::EC_Group_Data::affine_neg
    - fiat_bls12_381_fp_mul
    - Address::getMode
    - Ec::isEqualOrMinus
    linkageType: ''
    returnType: void
    signature: void equalOrMinusTest() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Address::getMode
      Src: /src/mcl/test/ec_test.cpp:272,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/ec_test.cpp:278,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/test/ec_test.cpp:282,1
    - Dst: cybozu::XorShift::get32
      Src: /src/mcl/test/ec_test.cpp:283,1
    - Dst: clear
      Src: /src/mcl/test/ec_test.cpp:285,1
    - Dst: Botan::normalize
      Src: /src/mcl/test/ec_test.cpp:287,1
    - Dst: Zn::setByCSPRNG
      Src: /src/mcl/test/ec_test.cpp:291,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/ec_test.cpp:292,1
    - Dst: mclBnG1_normalizeVec
      Src: /src/mcl/test/ec_test.cpp:296,1
    - Dst: isZero
      Src: /src/mcl/test/ec_test.cpp:298,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:299,1
    - Dst: isZero
      Src: /src/mcl/test/ec_test.cpp:299,1
    - Dst: Botan::normalize
      Src: /src/mcl/test/ec_test.cpp:302,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:303,1
    - Dst: mclBnG1_normalizeVec
      Src: /src/mcl/test/ec_test.cpp:306,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/ec_test.cpp:307,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 310
    functionName: normalizeVecTest
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - Botan::ge_p2_dbl
    - cybozu::XorShift::get32
    - CYBOZU_TEST_ASSERT
    - Botan::normalize
    - isZero
    - CYBOZU_TEST_EQUAL
    - clear
    - fiat_bls12_381_fp_mul
    - Address::getMode
    - cybozu::XorShift::XorShift
    - Zn::setByCSPRNG
    - mclBnG1_normalizeVec
    linkageType: ''
    returnType: void
    signature: void normalizeVecTest() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ec::clear
      Src: /src/mcl/test/ec_test.cpp:319,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/ec_test.cpp:322,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:323,1
    - Dst: mcl::ec::mulSmallInt
      Src: /src/mcl/test/ec_test.cpp:325,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 330
    functionName: mul
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 235
    functionsReached:
    - Ec::clear
    - mcl::ec::mulSmallInt
    - fiat_bls12_381_fp_mul
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void mul() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/test/ec_test.cpp:337,1
    - Dst: Botan::normalize
      Src: /src/mcl/test/ec_test.cpp:338,1
    - Dst: Botan::normalize
      Src: /src/mcl/test/ec_test.cpp:340,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/test/ec_test.cpp:348,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/test/ec_test.cpp:349,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:350,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/test/ec_test.cpp:353,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:354,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/test/ec_test.cpp:358,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/test/ec_test.cpp:359,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 362
    functionName: aliasAddDbl
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 0
    functionsReached:
    - Botan::ge_p2_dbl
    - CYBOZU_TEST_EQUAL
    - Botan::normalize
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void aliasAddDbl() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ec::clear
      Src: /src/mcl/test/ec_test.cpp:371,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/ec_test.cpp:374,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:375,1
    - Dst: mcl::ec::mulSmallInt
      Src: /src/mcl/test/ec_test.cpp:377,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 382
    functionName: neg_mul
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 0
    functionsReached:
    - Ec::clear
    - mcl::ec::mulSmallInt
    - fiat_bls12_381_fp_mul
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void neg_mul() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/mcl/test/ec_test.cpp:385,1
    - Dst: Fp
      Src: /src/mcl/test/ec_test.cpp:385,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/test/ec_test.cpp:388,1
    - Dst: Ec::normalize
      Src: /src/mcl/test/ec_test.cpp:389,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/ec_test.cpp:392,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:393,1
    - Dst: mcl::EcT::getYfromX
      Src: /src/mcl/test/ec_test.cpp:393,1
    - Dst: Fp::isOdd
      Src: /src/mcl/test/ec_test.cpp:393,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:394,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/test/ec_test.cpp:395,1
    - Dst: Fp::clear
      Src: /src/mcl/test/ec_test.cpp:396,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:397,1
    - Dst: mcl::EcT::getYfromX
      Src: /src/mcl/test/ec_test.cpp:397,1
    - Dst: Fp::isOdd
      Src: /src/mcl/test/ec_test.cpp:397,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:398,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:400,1
    - Dst: Fp::isZero
      Src: /src/mcl/test/ec_test.cpp:400,1
    - Dst: Fp::getMpz
      Src: /src/mcl/test/ec_test.cpp:405,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/ec_test.cpp:407,1
    - Dst: squareRoot
      Src: /src/mcl/test/ec_test.cpp:408,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:409,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:410,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 416
    functionName: squareRoot
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 8
    functionsReached:
    - Botan::ge_p2_dbl
    - Fp::isZero
    - Fp::getMpz
    - CYBOZU_TEST_ASSERT
    - squareRoot
    - CYBOZU_TEST_EQUAL
    - Fp::clear
    - Fp
    - mcl::EcT::getYfromX
    - Fp::isOdd
    - Botan::EC_Group_Data::affine_neg
    - Ec::normalize
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void squareRoot() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ec::clear
      Src: /src/mcl/test/ec_test.cpp:424,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/ec_test.cpp:426,1
    - Dst: Zn
      Src: /src/mcl/test/ec_test.cpp:426,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 430
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 430
    functionName: mul_fp
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 0
    functionsReached:
    - Ec::clear
    - fiat_bls12_381_fp_mul
    - Zn
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void mul_fp() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::setCompressedExpression
      Src: /src/mcl/test/ec_test.cpp:438,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:443,1
    - Dst: Ec::clear
      Src: /src/mcl/test/ec_test.cpp:446,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:447,1
    - Dst: Ec::getStr
      Src: /src/mcl/test/ec_test.cpp:447,1
    - Dst: Fp::getStr
      Src: /src/mcl/test/ec_test.cpp:454,1
    - Dst: Fp::getStr
      Src: /src/mcl/test/ec_test.cpp:454,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:455,1
    - Dst: Ec::getStr
      Src: /src/mcl/test/ec_test.cpp:455,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:464,1
    - Dst: std::ostringstream::str
      Src: /src/mcl/test/ec_test.cpp:464,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:472,1
    - Dst: Ec::clear
      Src: /src/mcl/test/ec_test.cpp:474,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:479,1
    - Dst: CYBOZU_TEST_EXCEPTION
      Src: /src/mcl/test/ec_test.cpp:481,1
    - Dst: Ec::setStr
      Src: /src/mcl/test/ec_test.cpp:481,1
    - Dst: mcl::EcT::setCompressedExpression
      Src: /src/mcl/test/ec_test.cpp:483,1
    - Dst: Ec::set
      Src: /src/mcl/test/ec_test.cpp:484,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:489,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:496,1
    - Dst: Ec::clear
      Src: /src/mcl/test/ec_test.cpp:498,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:503,1
    - Dst: Ec::set
      Src: /src/mcl/test/ec_test.cpp:507,1
    - Dst: Ec::getStr
      Src: /src/mcl/test/ec_test.cpp:509,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:510,1
    - Dst: std::string::size
      Src: /src/mcl/test/ec_test.cpp:510,1
    - Dst: mcl::Fp2::getByteSize
      Src: /src/mcl/test/ec_test.cpp:510,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:511,1
    - Dst: std::string::size
      Src: /src/mcl/test/ec_test.cpp:511,1
    - Dst: mcl::EcT::getSerializedByteSize
      Src: /src/mcl/test/ec_test.cpp:511,1
    - Dst: Ec::setStr
      Src: /src/mcl/test/ec_test.cpp:512,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:513,1
    - Dst: Ec::getStr
      Src: /src/mcl/test/ec_test.cpp:516,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:517,1
    - Dst: std::string::size
      Src: /src/mcl/test/ec_test.cpp:517,1
    - Dst: mcl::Fp2::getByteSize
      Src: /src/mcl/test/ec_test.cpp:517,1
    - Dst: Ec::setStr
      Src: /src/mcl/test/ec_test.cpp:518,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:519,1
    - Dst: Ec::getStr
      Src: /src/mcl/test/ec_test.cpp:523,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:524,1
    - Dst: std::string::size
      Src: /src/mcl/test/ec_test.cpp:524,1
    - Dst: mcl::Fp2::getByteSize
      Src: /src/mcl/test/ec_test.cpp:524,1
    - Dst: Ec::setStr
      Src: /src/mcl/test/ec_test.cpp:525,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:526,1
    - Dst: Ec::getStr
      Src: /src/mcl/test/ec_test.cpp:529,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:530,1
    - Dst: std::string::size
      Src: /src/mcl/test/ec_test.cpp:530,1
    - Dst: mcl::Fp2::getByteSize
      Src: /src/mcl/test/ec_test.cpp:530,1
    - Dst: Ec::setStr
      Src: /src/mcl/test/ec_test.cpp:531,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:532,1
    - Dst: Ec::clear
      Src: /src/mcl/test/ec_test.cpp:534,1
    - Dst: Ec::getStr
      Src: /src/mcl/test/ec_test.cpp:536,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:537,1
    - Dst: std::string::size
      Src: /src/mcl/test/ec_test.cpp:537,1
    - Dst: mcl::Fp2::getByteSize
      Src: /src/mcl/test/ec_test.cpp:537,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:538,1
    - Dst: mcl::bint::isZeroN
      Src: /src/mcl/test/ec_test.cpp:538,1
    - Dst: std::string::c_str
      Src: /src/mcl/test/ec_test.cpp:538,1
    - Dst: std::string::size
      Src: /src/mcl/test/ec_test.cpp:538,1
    - Dst: Ec::setStr
      Src: /src/mcl/test/ec_test.cpp:539,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:540,1
    - Dst: Ec::getStr
      Src: /src/mcl/test/ec_test.cpp:543,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:544,1
    - Dst: std::string::size
      Src: /src/mcl/test/ec_test.cpp:544,1
    - Dst: mcl::Fp2::getByteSize
      Src: /src/mcl/test/ec_test.cpp:544,1
    - Dst: std::string::size
      Src: /src/mcl/test/ec_test.cpp:545,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:546,1
    - Dst: Ec::setStr
      Src: /src/mcl/test/ec_test.cpp:548,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:549,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 551
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 551
    functionName: str
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 312
    functionsReached:
    - Ec::clear
    - Ec::setStr
    - std::string::size
    - std::ostringstream::str
    - Fp::getStr
    - CYBOZU_TEST_EQUAL
    - CYBOZU_TEST_EXCEPTION
    - CYBOZU_TEST_ASSERT
    - mcl::bint::isZeroN
    - Ec::set
    - Ec::getStr
    - mcl::Fp2::getByteSize
    - std::string::c_str
    - mcl::EcT::getSerializedByteSize
    - mcl::EcT::setCompressedExpression
    linkageType: ''
    returnType: void
    signature: void str() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/ec_test.cpp:564,1
    - Dst: mcl::FpT::setIoMode
      Src: /src/mcl/test/ec_test.cpp:565,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:571,1
    - Dst: Ec::clear
      Src: /src/mcl/test/ec_test.cpp:576,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:580,1
    - Dst: mcl::FpT::setIoMode
      Src: /src/mcl/test/ec_test.cpp:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 584
    functionName: ioMode
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 0
    functionsReached:
    - Ec::clear
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_EQUAL
    - mcl::FpT::setIoMode
    linkageType: ''
    returnType: void
    signature: void ioMode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/ec_test.cpp:592,1
    - Dst: mulCT
      Src: /src/mcl/test/ec_test.cpp:593,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 596
    functionName: mulCT
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 3
    functionsReached:
    - mulCT
    - fiat_bls12_381_fp_mul
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void mulCT() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:605,1
    - Dst: Botan::Sodium::sodium_compare
      Src: /src/mcl/test/ec_test.cpp:606,1
    - Dst: Botan::Sodium::sodium_compare
      Src: /src/mcl/test/ec_test.cpp:607,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:608,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:609,1
    - Dst: Botan::Sodium::sodium_compare
      Src: /src/mcl/test/ec_test.cpp:609,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:613,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:616,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:617,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/ec_test.cpp:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 619
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 619
    functionName: compare
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 14
    functionsReached:
    - Botan::Sodium::sodium_compare
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void compare() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Address::getMode
      Src: /src/mcl/test/ec_test.cpp:622,1
    - Dst: clear
      Src: /src/mcl/test/ec_test.cpp:627,1
    - Dst: mcl::ec::addCTProj
      Src: /src/mcl/test/ec_test.cpp:629,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/test/ec_test.cpp:630,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:631,1
    - Dst: mcl::ec::addCTProj
      Src: /src/mcl/test/ec_test.cpp:632,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/test/ec_test.cpp:633,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:634,1
    - Dst: mcl::ec::addCTProj
      Src: /src/mcl/test/ec_test.cpp:635,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/test/ec_test.cpp:636,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:637,1
    - Dst: mcl::ec::addCTProj
      Src: /src/mcl/test/ec_test.cpp:638,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/test/ec_test.cpp:639,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:640,1
    - Dst: mcl::ec::addCTProj
      Src: /src/mcl/test/ec_test.cpp:641,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/test/ec_test.cpp:642,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:643,1
    - Dst: mcl::ec::addCTProj
      Src: /src/mcl/test/ec_test.cpp:644,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/test/ec_test.cpp:645,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:646,1
    - Dst: mcl::ec::dblCTProj
      Src: /src/mcl/test/ec_test.cpp:649,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/test/ec_test.cpp:650,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:651,1
    - Dst: mcl::ec::dblCTProj
      Src: /src/mcl/test/ec_test.cpp:652,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/test/ec_test.cpp:653,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:654,1
    - Dst: mcl::ec::dblCTProj
      Src: /src/mcl/test/ec_test.cpp:655,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 620
    functionDepth: 2
    functionLinenumber: 620
    functionLinenumberEnd: 657
    functionName: addCT
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 0
    functionsReached:
    - Botan::ge_p2_dbl
    - CYBOZU_TEST_EQUAL
    - mcl::ec::addCTProj
    - fiat_bls12_381_fp_add
    - clear
    - mcl::ec::dblCTProj
    - Address::getMode
    linkageType: ''
    returnType: void
    signature: void addCT() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Address::getMode
      Src: /src/mcl/test/ec_test.cpp:660,1
    - Dst: Address::getMode
      Src: /src/mcl/test/ec_test.cpp:665,1
    - Dst: mcl::ec::ProjToJacobi
      Src: /src/mcl/test/ec_test.cpp:666,1
    - Dst: mcl::ec::normalizeJacobi
      Src: /src/mcl/test/ec_test.cpp:667,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:668,1
    - Dst: mcl::ec::ProjToJacobi
      Src: /src/mcl/test/ec_test.cpp:669,1
    - Dst: mcl::ec::JacobiToProj
      Src: /src/mcl/test/ec_test.cpp:670,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:671,1
    - Dst: mcl::ec::JacobiToProj
      Src: /src/mcl/test/ec_test.cpp:673,1
    - Dst: mcl::ec::normalizeProj
      Src: /src/mcl/test/ec_test.cpp:674,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:675,1
    - Dst: mcl::ec::JacobiToProj
      Src: /src/mcl/test/ec_test.cpp:676,1
    - Dst: mcl::ec::ProjToJacobi
      Src: /src/mcl/test/ec_test.cpp:677,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/ec_test.cpp:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 680
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 680
    functionName: ProjJacobi
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::ec::JacobiToProj
    - CYBOZU_TEST_EQUAL
    - mcl::ec::normalizeProj
    - mcl::ec::ProjToJacobi
    - mcl::ec::normalizeJacobi
    - Address::getMode
    linkageType: ''
    returnType: void
    signature: void ProjJacobi() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock
      Src: /src/mcl/test/ec_test.cpp:690,1
    - Dst: f
      Src: /src/mcl/test/ec_test.cpp:692,1
    - Dst: clock
      Src: /src/mcl/test/ec_test.cpp:694,1
    - Dst: printf
      Src: /src/mcl/test/ec_test.cpp:695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - f
    - msg
    argTypes:
    - F
    - char*
    constantsTouched: []
    func_position:
      end: 696
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 696
    functionName: test
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 27
    functionsReached:
    - printf
    - f
    - clock
    linkageType: ''
    returnType: void
    signature: void test(F f, const char *msg) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulVecTest
      Src: /src/mcl/test/ec_test.cpp:711,1
    - Dst: equalOrMinusTest
      Src: /src/mcl/test/ec_test.cpp:712,1
    - Dst: normalizeVecTest
      Src: /src/mcl/test/ec_test.cpp:713,1
    - Dst: cstr
      Src: /src/mcl/test/ec_test.cpp:714,1
    - Dst: ope
      Src: /src/mcl/test/ec_test.cpp:715,1
    - Dst: mul
      Src: /src/mcl/test/ec_test.cpp:716,1
    - Dst: aliasAddDbl
      Src: /src/mcl/test/ec_test.cpp:717,1
    - Dst: neg_mul
      Src: /src/mcl/test/ec_test.cpp:718,1
    - Dst: mul_fp
      Src: /src/mcl/test/ec_test.cpp:719,1
    - Dst: squareRoot
      Src: /src/mcl/test/ec_test.cpp:720,1
    - Dst: str
      Src: /src/mcl/test/ec_test.cpp:721,1
    - Dst: ioMode
      Src: /src/mcl/test/ec_test.cpp:722,1
    - Dst: mulCT
      Src: /src/mcl/test/ec_test.cpp:723,1
    - Dst: compare
      Src: /src/mcl/test/ec_test.cpp:724,1
    - Dst: addCT
      Src: /src/mcl/test/ec_test.cpp:725,1
    - Dst: ProjJacobi
      Src: /src/mcl/test/ec_test.cpp:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 727
      start: 709
    functionDepth: 4
    functionLinenumber: 709
    functionLinenumberEnd: 727
    functionName: run
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 65
    functionsReached:
    - mulVecTest
    - mul_fp
    - mulCT
    - addCT
    - str
    - squareRoot
    - aliasAddDbl
    - ioMode
    - equalOrMinusTest
    - ProjJacobi
    - cstr
    - compare
    - ope
    - neg_mul
    - normalizeVecTest
    - mul
    linkageType: ''
    returnType: void
    signature: void run() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/ec_test.cpp:735,1
    - Dst: Test
      Src: /src/mcl/test/ec_test.cpp:736,1
    - Dst: puts
      Src: /src/mcl/test/ec_test.cpp:737,1
    - Dst: Test
      Src: /src/mcl/test/ec_test.cpp:738,1
    - Dst: puts
      Src: /src/mcl/test/ec_test.cpp:739,1
    - Dst: Test
      Src: /src/mcl/test/ec_test.cpp:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' para'
    argTypes:
    - mcl::EcParam
    constantsTouched: []
    func_position:
      end: 741
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 741
    functionName: test_sub_sub
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 0
    functionsReached:
    - puts
    - Test
    linkageType: ''
    returnType: void
    signature: void test_sub_sub(const mcl::EcParam& para)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/ec_test.cpp:746,1
    - Dst: test_sub_sub
      Src: /src/mcl/test/ec_test.cpp:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - para
    - paraNum
    argTypes:
    - mcl::EcParam*
    - size_t
    constantsTouched: []
    func_position:
      end: 749
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 749
    functionName: test_sub
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 1
    functionsReached:
    - test_sub_sub
    - puts
    linkageType: ''
    returnType: void
    signature: void test_sub(const mcl::EcParam *para, size_t paraNum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_sub
      Src: /src/mcl/test/ec_test.cpp:762,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/ec_test.cpp:762,1
    - Dst: test_sub
      Src: /src/mcl/test/ec_test.cpp:772,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/ec_test.cpp:772,1
    - Dst: test_sub
      Src: /src/mcl/test/ec_test.cpp:781,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/ec_test.cpp:781,1
    - Dst: test_sub
      Src: /src/mcl/test/ec_test.cpp:791,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/ec_test.cpp:791,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 794
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 794
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 0
    functionsReached:
    - test_sub
    - CYBOZU_NUM_OF_ARRAY
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(all)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mcl/test/ec_test.cpp:803,1
    - Dst: run
      Src: /src/mcl/test/ec_test.cpp:806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 807
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 807
    functionName: main
    functionSourceFile: /src/mcl/test/ec_test.cpp
    functionUses: 97
    functionsReached:
    - atoi
    - run
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:101,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:102,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:103,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:104,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:105,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:106,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bn_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::setCompressedExpression
      Src: /src/mcl/test/bn_test.cpp:112,1
    - Dst: G2::G2
      Src: /src/mcl/test/bn_test.cpp:113,1
    - Dst: G2::clear
      Src: /src/mcl/test/bn_test.cpp:114,1
    - Dst: G2::G2
      Src: /src/mcl/test/bn_test.cpp:116,1
    - Dst: G2::setStr
      Src: /src/mcl/test/bn_test.cpp:117,1
    - Dst: G2::getStr
      Src: /src/mcl/test/bn_test.cpp:117,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:118,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/test/bn_test.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' Q0'
    argTypes:
    - G2
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: testSetStr
    functionSourceFile: /src/mcl/test/bn_test.cpp
    functionUses: 1
    functionsReached:
    - CYBOZU_TEST_EQUAL
    - G2::setStr
    - G2::G2
    - G2::getStr
    - fiat_bls12_381_fp_add
    - G2::clear
    - mcl::EcT::setCompressedExpression
    linkageType: ''
    returnType: void
    signature: void testSetStr(const G2& Q0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::G1
      Src: /src/mcl/test/bn_test.cpp:125,1
    - Dst: mapToG1
      Src: /src/mcl/test/bn_test.cpp:127,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_test.cpp:128,1
    - Dst: G1::isZero
      Src: /src/mcl/test/bn_test.cpp:128,1
    - Dst: G1::G1
      Src: /src/mcl/test/bn_test.cpp:129,1
    - Dst: mcl::mulGeneric
      Src: /src/mcl/test/bn_test.cpp:130,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/bn_test.cpp:130,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_test.cpp:131,1
    - Dst: G1::isZero
      Src: /src/mcl/test/bn_test.cpp:131,1
    - Dst: getCurveParam
      Src: /src/mcl/test/bn_test.cpp:134,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/bn_test.cpp:135,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_test.cpp:137,1
    - Dst: CYBOZU_TEST_EXCEPTION
      Src: /src/mcl/test/bn_test.cpp:138,1
    - Dst: mapToG1
      Src: /src/mcl/test/bn_test.cpp:138,1
    - Dst: CYBOZU_TEST_EXCEPTION
      Src: /src/mcl/test/bn_test.cpp:139,1
    - Dst: mapToG1
      Src: /src/mcl/test/bn_test.cpp:139,1
    - Dst: CYBOZU_TEST_EXCEPTION
      Src: /src/mcl/test/bn_test.cpp:140,1
    - Dst: mapToG1
      Src: /src/mcl/test/bn_test.cpp:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 143
    functionName: testMapToG1
    functionSourceFile: /src/mcl/test/bn_test.cpp
    functionUses: 1
    functionsReached:
    - G1::G1
    - CYBOZU_TEST_ASSERT
    - G1::isZero
    - CYBOZU_TEST_EXCEPTION
    - mcl::mulGeneric
    - getCurveParam
    - mapToG1
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void testMapToG1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G2::G2
      Src: /src/mcl/test/bn_test.cpp:147,1
    - Dst: mapToG2
      Src: /src/mcl/test/bn_test.cpp:149,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_test.cpp:150,1
    - Dst: G2::isZero
      Src: /src/mcl/test/bn_test.cpp:150,1
    - Dst: G2::G2
      Src: /src/mcl/test/bn_test.cpp:151,1
    - Dst: mcl::mulGeneric
      Src: /src/mcl/test/bn_test.cpp:152,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/bn_test.cpp:152,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_test.cpp:153,1
    - Dst: G2::isZero
      Src: /src/mcl/test/bn_test.cpp:153,1
    - Dst: getCurveParam
      Src: /src/mcl/test/bn_test.cpp:156,1
    - Dst: CYBOZU_TEST_EXCEPTION
      Src: /src/mcl/test/bn_test.cpp:157,1
    - Dst: mapToG2
      Src: /src/mcl/test/bn_test.cpp:157,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/bn_test.cpp:160,1
    - Dst: Fp::setHashOf
      Src: /src/mcl/test/bn_test.cpp:161,1
    - Dst: mapToG2
      Src: /src/mcl/test/bn_test.cpp:162,1
    - Dst: Fp2
      Src: /src/mcl/test/bn_test.cpp:162,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bn_test.cpp:163,1
    - Dst: G2::isValid
      Src: /src/mcl/test/bn_test.cpp:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 164
    functionName: testMapToG2
    functionSourceFile: /src/mcl/test/bn_test.cpp
    functionUses: 1
    functionsReached:
    - Fp::setHashOf
    - Fp2
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EXCEPTION
    - mapToG2
    - mcl::mulGeneric
    - G2::G2
    - G2::isZero
    - getCurveParam
    - G2::isValid
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void testMapToG2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp12::getFp0
      Src: /src/mcl/test/bn_test.cpp:171,1
    - Dst: mcl::mapToCyclotomic
      Src: /src/mcl/test/bn_test.cpp:173,1
    - Dst: Botan::IntMod::square_n
      Src: /src/mcl/test/bn_test.cpp:179,1
    - Dst: Compress::decompress
      Src: /src/mcl/test/bn_test.cpp:180,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:181,1
    - Dst: Botan::IntMod::square_n
      Src: /src/mcl/test/bn_test.cpp:182,1
    - Dst: Compress::decompress
      Src: /src/mcl/test/bn_test.cpp:183,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: testCyclotomic
    functionSourceFile: /src/mcl/test/bn_test.cpp
    functionUses: 0
    functionsReached:
    - Compress::decompress
    - CYBOZU_TEST_EQUAL
    - Botan::IntMod::square_n
    - mcl::mapToCyclotomic
    - Fp12::getFp0
    linkageType: ''
    returnType: void
    signature: void testCyclotomic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getCurveParam
      Src: /src/mcl/test/bn_test.cpp:189,1
    - Dst: pairing
      Src: /src/mcl/test/bn_test.cpp:191,1
    - Dst: mcl::mapToCyclotomic
      Src: /src/mcl/test/bn_test.cpp:192,1
    - Dst: mcl::fixed_power
      Src: /src/mcl/test/bn_test.cpp:194,1
    - Dst: testFp12pow
      Src: /src/mcl/test/bn_test.cpp:196,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 198
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 198
    functionName: testCompress
    functionSourceFile: /src/mcl/test/bn_test.cpp
    functionUses: 0
    functionsReached:
    - pairing
    - testFp12pow
    - mcl::fixed_power
    - CYBOZU_TEST_EQUAL
    - getCurveParam
    - mcl::mapToCyclotomic
    linkageType: ''
    returnType: void
    signature: void testCompress(const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/bn_test.cpp:203,1
    - Dst: pairing
      Src: /src/mcl/test/bn_test.cpp:205,1
    - Dst: precomputeG2
      Src: /src/mcl/test/bn_test.cpp:207,1
    - Dst: precomputedMillerLoop
      Src: /src/mcl/test/bn_test.cpp:208,1
    - Dst: finalExp
      Src: /src/mcl/test/bn_test.cpp:209,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: testPrecomputed
    functionSourceFile: /src/mcl/test/bn_test.cpp
    functionUses: 1
    functionsReached:
    - precomputeG2
    - pairing
    - CYBOZU_TEST_EQUAL
    - puts
    - precomputedMillerLoop
    - finalExp
    linkageType: ''
    returnType: void
    signature: void testPrecomputed(const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pairing
      Src: /src/mcl/test/bn_test.cpp:216,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bn_test.cpp:217,1
    - Dst: testFp12pow
      Src: /src/mcl/test/bn_test.cpp:220,1
    - Dst: mclBnGT_powGeneric
      Src: /src/mcl/test/bn_test.cpp:221,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:222,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/bn_test.cpp:225,1
    - Dst: Fr::setRand
      Src: /src/mcl/test/bn_test.cpp:226,1
    - Dst: Fr::getMpz
      Src: /src/mcl/test/bn_test.cpp:227,1
    - Dst: testFp12pow
      Src: /src/mcl/test/bn_test.cpp:228,1
    - Dst: mclBnGT_powGeneric
      Src: /src/mcl/test/bn_test.cpp:229,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 232
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 232
    functionName: testFp12pow
    functionSourceFile: /src/mcl/test/bn_test.cpp
    functionUses: 20
    functionsReached:
    - Fr::setRand
    - pairing
    - CYBOZU_TEST_EQUAL
    - testFp12pow
    - Fr::Fr
    - cybozu::XorShift::XorShift
    - Fr::getMpz
    - mclBnGT_powGeneric
    linkageType: ''
    returnType: void
    signature: void testFp12pow(const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/bn_test.cpp:236,1
    - Dst: G2::G2
      Src: /src/mcl/test/bn_test.cpp:240,1
    - Dst: G1::G1
      Src: /src/mcl/test/bn_test.cpp:241,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/bn_test.cpp:242,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/bn_test.cpp:243,1
    - Dst: pairing
      Src: /src/mcl/test/bn_test.cpp:244,1
    - Dst: pairing
      Src: /src/mcl/test/bn_test.cpp:245,1
    - Dst: precomputeG2
      Src: /src/mcl/test/bn_test.cpp:249,1
    - Dst: precomputeG2
      Src: /src/mcl/test/bn_test.cpp:250,1
    - Dst: precomputedMillerLoop2
      Src: /src/mcl/test/bn_test.cpp:251,1
    - Dst: precomputedMillerLoop2mixed
      Src: /src/mcl/test/bn_test.cpp:252,1
    - Dst: finalExp
      Src: /src/mcl/test/bn_test.cpp:253,1
    - Dst: finalExp
      Src: /src/mcl/test/bn_test.cpp:254,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:255,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:256,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:257,1
    - Dst: G2::G2
      Src: /src/mcl/test/bn_test.cpp:260,1
    - Dst: G2::clear
      Src: /src/mcl/test/bn_test.cpp:261,1
    - Dst: precomputeG2
      Src: /src/mcl/test/bn_test.cpp:263,1
    - Dst: precomputeG2
      Src: /src/mcl/test/bn_test.cpp:264,1
    - Dst: precomputedMillerLoop2
      Src: /src/mcl/test/bn_test.cpp:265,1
    - Dst: precomputedMillerLoop2mixed
      Src: /src/mcl/test/bn_test.cpp:266,1
    - Dst: finalExp
      Src: /src/mcl/test/bn_test.cpp:267,1
    - Dst: finalExp
      Src: /src/mcl/test/bn_test.cpp:268,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 2
    argNames:
    - ' P1'
    - ' Q1'
    argTypes:
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 270
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 270
    functionName: testMillerLoop2
    functionSourceFile: /src/mcl/test/bn_test.cpp
    functionUses: 1
    functionsReached:
    - G1::G1
    - precomputeG2
    - pairing
    - precomputedMillerLoop2
    - precomputedMillerLoop2mixed
    - CYBOZU_TEST_EQUAL
    - puts
    - G2::G2
    - finalExp
    - G2::clear
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void testMillerLoop2(const G1& P1, const G2& Q1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/bn_test.cpp:274,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/test/bn_test.cpp:280,1
    - Dst: hashAndMapToG2
      Src: /src/mcl/test/bn_test.cpp:281,1
    - Dst: clear
      Src: /src/mcl/test/bn_test.cpp:287,1
    - Dst: millerLoop
      Src: /src/mcl/test/bn_test.cpp:290,1
    - Dst: millerLoopVec
      Src: /src/mcl/test/bn_test.cpp:293,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 296
    functionName: testMillerLoopVec
    functionSourceFile: /src/mcl/test/bn_test.cpp
    functionUses: 0
    functionsReached:
    - hashAndMapToG1
    - CYBOZU_TEST_EQUAL
    - millerLoop
    - puts
    - hashAndMapToG2
    - clear
    - millerLoopVec
    linkageType: ''
    returnType: void
    signature: void testMillerLoopVec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/bn_test.cpp:300,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/test/bn_test.cpp:306,1
    - Dst: hashAndMapToG2
      Src: /src/mcl/test/bn_test.cpp:307,1
    - Dst: clear
      Src: /src/mcl/test/bn_test.cpp:314,1
    - Dst: millerLoop
      Src: /src/mcl/test/bn_test.cpp:317,1
    - Dst: millerLoopVecMT
      Src: /src/mcl/test/bn_test.cpp:320,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 324
    functionName: testMillerLoopVecMT
    functionSourceFile: /src/mcl/test/bn_test.cpp
    functionUses: 0
    functionsReached:
    - hashAndMapToG1
    - CYBOZU_TEST_EQUAL
    - millerLoop
    - puts
    - millerLoopVecMT
    - hashAndMapToG2
    - clear
    linkageType: ''
    returnType: void
    signature: void testMillerLoopVecMT()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/test/bn_test.cpp:328,1
    - Dst: pairing
      Src: /src/mcl/test/bn_test.cpp:330,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:335,1
    - Dst: G1::G1
      Src: /src/mcl/test/bn_test.cpp:339,1
    - Dst: G2::G2
      Src: /src/mcl/test/bn_test.cpp:340,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bn_test.cpp:347,1
    - Dst: Fr::Fr
      Src: /src/mcl/test/bn_test.cpp:349,1
    - Dst: Fr::setRand
      Src: /src/mcl/test/bn_test.cpp:350,1
    - Dst: Fr::getMpz
      Src: /src/mcl/test/bn_test.cpp:351,1
    - Dst: testFp12pow
      Src: /src/mcl/test/bn_test.cpp:352,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/bn_test.cpp:353,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/bn_test.cpp:354,1
    - Dst: G1::G1
      Src: /src/mcl/test/bn_test.cpp:355,1
    - Dst: mulCT
      Src: /src/mcl/test/bn_test.cpp:356,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:357,1
    - Dst: pairing
      Src: /src/mcl/test/bn_test.cpp:358,1
    - Dst: pairing
      Src: /src/mcl/test/bn_test.cpp:359,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:360,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - ' P'
    - ' Q'
    - eStr
    argTypes:
    - G1
    - G2
    - char*
    constantsTouched: []
    func_position:
      end: 363
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 363
    functionName: testPairing
    functionSourceFile: /src/mcl/test/bn_test.cpp
    functionUses: 1
    functionsReached:
    - G1::G1
    - mulCT
    - Fr::setRand
    - pairing
    - CYBOZU_TEST_EQUAL
    - testFp12pow
    - puts
    - G2::G2
    - Fr::Fr
    - cybozu::XorShift::XorShift
    - fiat_bls12_381_fp_mul
    - Fr::getMpz
    linkageType: ''
    returnType: void
    signature: void testPairing(const G1& P, const G2& Q, const char *eStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::G1
      Src: /src/mcl/test/bn_test.cpp:367,1
    - Dst: G1::clear
      Src: /src/mcl/test/bn_test.cpp:367,1
    - Dst: G2::G2
      Src: /src/mcl/test/bn_test.cpp:368,1
    - Dst: G2::clear
      Src: /src/mcl/test/bn_test.cpp:368,1
    - Dst: pairing
      Src: /src/mcl/test/bn_test.cpp:370,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:371,1
    - Dst: pairing
      Src: /src/mcl/test/bn_test.cpp:372,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:373,1
    - Dst: pairing
      Src: /src/mcl/test/bn_test.cpp:374,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:375,1
    - Dst: precomputeG2
      Src: /src/mcl/test/bn_test.cpp:378,1
    - Dst: precomputedMillerLoop
      Src: /src/mcl/test/bn_test.cpp:379,1
    - Dst: finalExp
      Src: /src/mcl/test/bn_test.cpp:380,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:381,1
    - Dst: precomputeG2
      Src: /src/mcl/test/bn_test.cpp:383,1
    - Dst: precomputedMillerLoop
      Src: /src/mcl/test/bn_test.cpp:384,1
    - Dst: finalExp
      Src: /src/mcl/test/bn_test.cpp:385,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 387
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 387
    functionName: testTrivial
    functionSourceFile: /src/mcl/test/bn_test.cpp
    functionUses: 1
    functionsReached:
    - G1::G1
    - G1::clear
    - precomputeG2
    - pairing
    - CYBOZU_TEST_EQUAL
    - G2::G2
    - precomputedMillerLoop
    - finalExp
    - G2::clear
    linkageType: ''
    returnType: void
    signature: void testTrivial(const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bn_test.cpp:393,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bn_test.cpp:394,1
    - Dst: G1::getStr
      Src: /src/mcl/test/bn_test.cpp:398,1
    - Dst: setStr
      Src: /src/mcl/test/bn_test.cpp:399,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:400,1
    - Dst: G2::getStr
      Src: /src/mcl/test/bn_test.cpp:401,1
    - Dst: setStr
      Src: /src/mcl/test/bn_test.cpp:402,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:403,1
    - Dst: x::getStr
      Src: /src/mcl/test/bn_test.cpp:404,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/bn_test.cpp:405,1
    - Dst: Fp::setStr
      Src: /src/mcl/test/bn_test.cpp:406,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:407,1
    - Dst: x::getStr
      Src: /src/mcl/test/bn_test.cpp:408,1
    - Dst: Fp2::setStr
      Src: /src/mcl/test/bn_test.cpp:410,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bn_test.cpp:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 414
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 414
    functionName: testIoAll
    functionSourceFile: /src/mcl/test/bn_test.cpp
    functionUses: 1
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_EQUAL
    - Fp2::setStr
    - G2::getStr
    - G1::getStr
    - Fp::setStr
    - x::getStr
    - Fp::Fp
    - setStr
    linkageType: ''
    returnType: void
    signature: void testIoAll(const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testIoAll
      Src: /src/mcl/test/bn_test.cpp:418,1
    - Dst: G1::G1
      Src: /src/mcl/test/bn_test.cpp:419,1
    - Dst: G2::G2
      Src: /src/mcl/test/bn_test.cpp:420,1
    - Dst: G1::clear
      Src: /src/mcl/test/bn_test.cpp:421,1
    - Dst: G2::clear
      Src: /src/mcl/test/bn_test.cpp:422,1
    - Dst: testIoAll
      Src: /src/mcl/test/bn_test.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 424
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 424
    functionName: testIo
    functionSourceFile: /src/mcl/test/bn_test.cpp
    functionUses: 3
    functionsReached:
    - G1::G1
    - G1::clear
    - testIoAll
    - G2::G2
    - G2::clear
    linkageType: ''
    returnType: void
    signature: void testIo(const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/bn_test.cpp:430,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bn_test.cpp:431,1
    - Dst: printf
      Src: /src/mcl/test/bn_test.cpp:433,1
    - Dst: initPairing
      Src: /src/mcl/test/bn_test.cpp:434,1
    - Dst: Fp2
      Src: /src/mcl/test/bn_test.cpp:436,1
    - Dst: Fp2
      Src: /src/mcl/test/bn_test.cpp:436,1
    - Dst: begin
      Src: /src/mcl/test/bn_test.cpp:440,1
    - Dst: pairing
      Src: /src/mcl/test/bn_test.cpp:440,1
    - Dst: end
      Src: /src/mcl/test/bn_test.cpp:440,1
    - Dst: put
      Src: /src/mcl/test/bn_test.cpp:442,1
    - Dst: testFp12pow
      Src: /src/mcl/test/bn_test.cpp:445,1
    - Dst: testIo
      Src: /src/mcl/test/bn_test.cpp:446,1
    - Dst: testTrivial
      Src: /src/mcl/test/bn_test.cpp:447,1
    - Dst: testSetStr
      Src: /src/mcl/test/bn_test.cpp:448,1
    - Dst: testMapToG1
      Src: /src/mcl/test/bn_test.cpp:449,1
    - Dst: testMapToG2
      Src: /src/mcl/test/bn_test.cpp:450,1
    - Dst: testPairing
      Src: /src/mcl/test/bn_test.cpp:451,1
    - Dst: testPrecomputed
      Src: /src/mcl/test/bn_test.cpp:452,1
    - Dst: testMillerLoop2
      Src: /src/mcl/test/bn_test.cpp:453,1
    - Dst: testMillerLoopVec
      Src: /src/mcl/test/bn_test.cpp:454,1
    - Dst: testMillerLoopVecMT
      Src: /src/mcl/test/bn_test.cpp:455,1
    - Dst: testCommon
      Src: /src/mcl/test/bn_test.cpp:456,1
    - Dst: testBench
      Src: /src/mcl/test/bn_test.cpp:457,1
    - Dst: benchAddDblG1
      Src: /src/mcl/test/bn_test.cpp:458,1
    - Dst: benchAddDblG2
      Src: /src/mcl/test/bn_test.cpp:459,1
    - Dst: printf
      Src: /src/mcl/test/bn_test.cpp:463,1
    - Dst: put
      Src: /src/mcl/test/bn_test.cpp:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 466
      start: 428
    functionDepth: 4
    functionLinenumber: 428
    functionLinenumberEnd: 466
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bn_test.cpp
    functionUses: 0
    functionsReached:
    - printf
    - testFp12pow
    - initPairing
    - testPairing
    - put
    - testMillerLoopVec
    - CYBOZU_NUM_OF_ARRAY
    - testPrecomputed
    - testCommon
    - benchAddDblG2
    - testBench
    - testTrivial
    - testSetStr
    - Fp2
    - testMillerLoopVecMT
    - testIo
    - end
    - testMapToG1
    - pairing
    - begin
    - benchAddDblG1
    - testMillerLoop2
    - testMapToG2
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(naive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/bn_test.cpp:471,1
    - Dst: mcl::fp::isEnableJIT
      Src: /src/mcl/test/bn_test.cpp:471,1
    - Dst: run
      Src: /src/mcl/test/bn_test.cpp:472,1
    - Dst: printf
      Src: /src/mcl/test/bn_test.cpp:474,1
    - Dst: what
      Src: /src/mcl/test/bn_test.cpp:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 476
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 476
    functionName: main
    functionSourceFile: /src/mcl/test/bn_test.cpp
    functionUses: 97
    functionsReached:
    - run
    - mcl::fp::isEnableJIT
    - printf
    - what
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/test/fp_generator_test.cpp:31,1
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/test/fp_generator_test.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - n
    - pStr
    argTypes:
    - uint64_t*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: strToArray
    functionSourceFile: /src/mcl/test/fp_generator_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::setStr
    - mcl::gmp::getArray
    linkageType: ''
    returnType: void
    signature: void strToArray(uint64_t *p, size_t n, const char *pStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: Int
    functionSourceFile: /src/mcl/test/fp_generator_test.cpp
    functionUses: 70
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Int()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/fp_generator_test.cpp:45,1
    - Dst: exit
      Src: /src/mcl/test/fp_generator_test.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vn
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: Int
    functionSourceFile: /src/mcl/test/fp_generator_test.cpp
    functionUses: 70
    functionsReached:
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: void Int(int vn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setStr
      Src: /src/mcl/test/fp_generator_test.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: set
    functionSourceFile: /src/mcl/test/fp_generator_test.cpp
    functionUses: 331
    functionsReached:
    - setStr
    linkageType: ''
    returnType: void
    signature: void set(const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/test/fp_generator_test.cpp:53,1
    - Dst: getMpz
      Src: /src/mcl/test/fp_generator_test.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Fp
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: set
    functionSourceFile: /src/mcl/test/fp_generator_test.cpp
    functionUses: 331
    functionsReached:
    - getMpz
    - mcl::gmp::getArray
    linkageType: ''
    returnType: void
    signature: void set(const Fp& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: set
    functionSourceFile: /src/mcl/test/fp_generator_test.cpp
    functionUses: 331
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(const uint64_t* x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strToArray
      Src: /src/mcl/test/fp_generator_test.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: setStr
    functionSourceFile: /src/mcl/test/fp_generator_test.cpp
    functionUses: 50
    functionsReached:
    - strToArray
    linkageType: ''
    returnType: void
    signature: void setStr(const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itohex
      Src: /src/mcl/test/fp_generator_test.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: getStr
    functionSourceFile: /src/mcl/test/fp_generator_test.cpp
    functionUses: 30
    functionsReached:
    - cybozu::itohex
    linkageType: ''
    returnType: std::string
    signature: std::string getStr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/fp_generator_test.cpp:73,1
    - Dst: printf
      Src: /src/mcl/test/fp_generator_test.cpp:74,1
    - Dst: getStr
      Src: /src/mcl/test/fp_generator_test.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: put
    functionSourceFile: /src/mcl/test/fp_generator_test.cpp
    functionUses: 208
    functionsReached:
    - getStr
    - printf
    linkageType: ''
    returnType: void
    signature: void put(const char *msg = "") const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Int
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: operator==(const Int& rhs) const
    functionSourceFile: /src/mcl/test/fp_generator_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Int& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Int
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: operator!=(const Int& rhs) const
    functionSourceFile: /src/mcl/test/fp_generator_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Int& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Int::set
      Src: /src/mcl/test/fp_generator_test.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Fp
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: operator==(const Fp& rhs) const
    functionSourceFile: /src/mcl/test/fp_generator_test.cpp
    functionUses: 0
    functionsReached:
    - Int::set
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Fp& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Fp
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: operator!=(const Fp& rhs) const
    functionSourceFile: /src/mcl/test/fp_generator_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Fp& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getStr
      Src: /src/mcl/test/fp_generator_test.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' x'
    argTypes:
    - std::ostream
    - Int
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: '& operator<<(std::ostream& os, const Int& x)'
    functionSourceFile: /src/mcl/test/fp_generator_test.cpp
    functionUses: 0
    functionsReached:
    - getStr
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Int& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_generator_test.cpp:100,1
    - Dst: Fp::setStr
      Src: /src/mcl/test/fp_generator_test.cpp:103,1
    - Dst: setStr
      Src: /src/mcl/test/fp_generator_test.cpp:104,1
    - Dst: Int::set
      Src: /src/mcl/test/fp_generator_test.cpp:105,1
    - Dst: set
      Src: /src/mcl/test/fp_generator_test.cpp:106,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_generator_test.cpp:108,1
    - Dst: fp_add
      Src: /src/mcl/test/fp_generator_test.cpp:110,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_generator_test.cpp:113,1
    - Dst: fp_add
      Src: /src/mcl/test/fp_generator_test.cpp:115,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_generator_test.cpp:118,1
    - Dst: fp_sub
      Src: /src/mcl/test/fp_generator_test.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - mcl::fp::Op
    constantsTouched: []
    func_position:
      end: 122
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 122
    functionName: testAddSub
    functionSourceFile: /src/mcl/test/fp_generator_test.cpp
    functionUses: 0
    functionsReached:
    - Int::set
    - fp_sub
    - CYBOZU_TEST_EQUAL
    - fp_add
    - Fp::setStr
    - Fp::Fp
    - set
    - setStr
    linkageType: ''
    returnType: void
    signature: void testAddSub(const mcl::fp::Op& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_generator_test.cpp:126,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_generator_test.cpp:134,1
    - Dst: Fp::setStr
      Src: /src/mcl/test/fp_generator_test.cpp:135,1
    - Dst: Int::set
      Src: /src/mcl/test/fp_generator_test.cpp:136,1
    - Dst: fp_neg
      Src: /src/mcl/test/fp_generator_test.cpp:138,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_generator_test.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - mcl::fp::Op
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: testNeg
    functionSourceFile: /src/mcl/test/fp_generator_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - Int::set
    - CYBOZU_TEST_EQUAL
    - Fp::setStr
    - Fp::Fp
    - fp_neg
    linkageType: ''
    returnType: void
    signature: void testNeg(const mcl::fp::Op& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/fp_generator_test.cpp:146,1
    - Dst: cybozu::XorShift::read
      Src: /src/mcl/test/fp_generator_test.cpp:151,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/test/fp_generator_test.cpp:154,1
    - Dst: mcl::gmp::set
      Src: /src/mcl/test/fp_generator_test.cpp:156,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/test/fp_generator_test.cpp:160,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_generator_test.cpp:161,1
    - Dst: cybozu::XorShift::read
      Src: /src/mcl/test/fp_generator_test.cpp:166,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/fp_generator_test.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ' fg'
    - pn
    argTypes:
    - mcl::fp::FpGenerator
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 170
    functionName: testMulI
    functionSourceFile: /src/mcl/test/fp_generator_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    - mcl::gmp::set
    - cybozu::XorShift::XorShift
    - mcl::gmp::setArray
    - CYBOZU_BENCH_C
    - cybozu::XorShift::read
    linkageType: ''
    returnType: void
    signature: void testMulI(const mcl::fp::FpGenerator& fg, int pn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/fp_generator_test.cpp:175,1
    - Dst: cybozu::XorShift::read
      Src: /src/mcl/test/fp_generator_test.cpp:179,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/test/fp_generator_test.cpp:181,1
    - Dst: fp_shr1
      Src: /src/mcl/test/fp_generator_test.cpp:183,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/test/fp_generator_test.cpp:185,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_generator_test.cpp:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' op'
    - pn
    argTypes:
    - mcl::fp::Op
    - int
    constantsTouched: []
    func_position:
      end: 188
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 188
    functionName: testShr1
    functionSourceFile: /src/mcl/test/fp_generator_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    - fp_shr1
    - cybozu::XorShift::XorShift
    - mcl::gmp::setArray
    - cybozu::XorShift::read
    linkageType: ''
    returnType: void
    signature: void testShr1(const mcl::fp::Op& op, int pn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/fp_generator_test.cpp:192,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/test/fp_generator_test.cpp:193,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/fp_generator_test.cpp:194,1
    - Dst: testAddSub
      Src: /src/mcl/test/fp_generator_test.cpp:196,1
    - Dst: testNeg
      Src: /src/mcl/test/fp_generator_test.cpp:197,1
    - Dst: testShr1
      Src: /src/mcl/test/fp_generator_test.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pStr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: test
    functionSourceFile: /src/mcl/test/fp_generator_test.cpp
    functionUses: 27
    functionsReached:
    - testShr1
    - testAddSub
    - printf
    - testNeg
    - Botan_Tests::test_x509_uninit
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: void
    signature: void test(const char *pStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::isEnableJIT
      Src: /src/mcl/test/fp_generator_test.cpp:204,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_generator_test.cpp:205,1
    - Dst: test
      Src: /src/mcl/test/fp_generator_test.cpp:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/fp_generator_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - test
    - mcl::fp::isEnableJIT
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(all)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get32
      Src: /src/mcl/test/llvm_test.cpp:86,1
    - Dst: get64
      Src: /src/mcl/test/llvm_test.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - x
    - n
    - ' rg'
    argTypes:
    - T*
    - size_t
    - RG
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: setRand
    functionSourceFile: /src/mcl/test/llvm_test.cpp
    functionUses: 12
    functionsReached:
    - get32
    - get64
    linkageType: ''
    returnType: void
    signature: void setRand(T *x, size_t n, RG& rg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/llvm_test.cpp:96,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/llvm_test.cpp:103,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/llvm_test.cpp:104,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/llvm_test.cpp:105,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/llvm_test.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - x
    - y
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: bench
    functionSourceFile: /src/mcl/test/llvm_test.cpp
    functionUses: 1
    functionsReached:
    - CYBOZU_BENCH_C
    - printf
    linkageType: ''
    returnType: void
    signature: void bench(Unit *x, Unit *y, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/llvm_test.cpp:111,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/llvm_test.cpp:114,1
    - Dst: setRand
      Src: /src/mcl/test/llvm_test.cpp:115,1
    - Dst: setRand
      Src: /src/mcl/test/llvm_test.cpp:116,1
    - Dst: setRand
      Src: /src/mcl/test/llvm_test.cpp:117,1
    - Dst: bench
      Src: /src/mcl/test/llvm_test.cpp:119,1
    - Dst: bench
      Src: /src/mcl/test/llvm_test.cpp:120,1
    - Dst: bench
      Src: /src/mcl/test/llvm_test.cpp:122,1
    - Dst: bench
      Src: /src/mcl/test/llvm_test.cpp:124,1
    - Dst: bench
      Src: /src/mcl/test/llvm_test.cpp:126,1
    - Dst: bench
      Src: /src/mcl/test/llvm_test.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 129
    functionName: main
    functionSourceFile: /src/mcl/test/llvm_test.cpp
    functionUses: 97
    functionsReached:
    - setRand
    - bench
    - printf
    - cybozu::XorShift::XorShift
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(sizeof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:36,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:39,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:43,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:47,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:50,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:52,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:55,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:57,1
    - Dst: Fp::getStr
      Src: /src/mcl/test/fp_test.cpp:64,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:65,1
    - Dst: std::ostringstream::str
      Src: /src/mcl/test/fp_test.cpp:65,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:75,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 80
    functionName: cstrTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - std::ostringstream::str
    - Fp::getStr
    - CYBOZU_TEST_EQUAL
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void cstrTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:98,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:99,1
    - Dst: Fp::setStr
      Src: /src/mcl/test/fp_test.cpp:100,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:101,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:105,1
    - Dst: CYBOZU_TEST_EXCEPTION
      Src: /src/mcl/test/fp_test.cpp:106,1
    - Dst: Fp::setStr
      Src: /src/mcl/test/fp_test.cpp:106,1
    - Dst: CYBOZU_TEST_EXCEPTION
      Src: /src/mcl/test/fp_test.cpp:107,1
    - Dst: Fp::setStr
      Src: /src/mcl/test/fp_test.cpp:107,1
    - Dst: CYBOZU_TEST_EXCEPTION
      Src: /src/mcl/test/fp_test.cpp:108,1
    - Dst: Fp::setStr
      Src: /src/mcl/test/fp_test.cpp:108,1
    - Dst: std::string::resize
      Src: /src/mcl/test/fp_test.cpp:112,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/fp_test.cpp:112,1
    - Dst: Fp::setStr
      Src: /src/mcl/test/fp_test.cpp:114,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:115,1
    - Dst: Fp::isZero
      Src: /src/mcl/test/fp_test.cpp:115,1
    - Dst: CYBOZU_TEST_EXCEPTION
      Src: /src/mcl/test/fp_test.cpp:117,1
    - Dst: Fp::setStr
      Src: /src/mcl/test/fp_test.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 119
    functionName: setStrTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - Fp::isZero
    - CYBOZU_TEST_EXCEPTION
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - Fp::setStr
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - std::string::resize
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void setStrTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::setIoMode
      Src: /src/mcl/test/fp_test.cpp:132,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:133,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:136,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:138,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:142,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:144,1
    - Dst: Fp
      Src: /src/mcl/test/fp_test.cpp:149,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:150,1
    - Dst: std::ostringstream::str
      Src: /src/mcl/test/fp_test.cpp:150,1
    - Dst: Fp
      Src: /src/mcl/test/fp_test.cpp:154,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:155,1
    - Dst: std::ostringstream::str
      Src: /src/mcl/test/fp_test.cpp:155,1
    - Dst: Fp
      Src: /src/mcl/test/fp_test.cpp:159,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:160,1
    - Dst: std::ostringstream::str
      Src: /src/mcl/test/fp_test.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 162
    functionName: streamTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - std::ostringstream::str
    - CYBOZU_TEST_EQUAL
    - Fp
    - mcl::FpT::setIoMode
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void streamTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:175,1
    - Dst: mcl::FpT::setIoMode
      Src: /src/mcl/test/fp_test.cpp:176,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:183,1
    - Dst: std::stringstream::str
      Src: /src/mcl/test/fp_test.cpp:183,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:184,1
    - Dst: Fp::clear
      Src: /src/mcl/test/fp_test.cpp:185,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:187,1
    - Dst: mcl::FpT::setIoMode
      Src: /src/mcl/test/fp_test.cpp:192,1
    - Dst: mcl::FpT::setIoMode
      Src: /src/mcl/test/fp_test.cpp:194,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:198,1
    - Dst: std::stringstream::str
      Src: /src/mcl/test/fp_test.cpp:198,1
    - Dst: mcl::Fp2::getByteSize
      Src: /src/mcl/test/fp_test.cpp:198,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:199,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:201,1
    - Dst: mcl::FpT::setIoMode
      Src: /src/mcl/test/fp_test.cpp:203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 204
    functionName: ioModeTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_EQUAL
    - Fp::clear
    - mcl::Fp2::getByteSize
    - std::stringstream::str
    - mcl::FpT::setIoMode
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void ioModeTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/fp_test.cpp:208,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:223,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:225,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:228,1
    - Dst: Fp::setMpz
      Src: /src/mcl/test/fp_test.cpp:229,1
    - Dst: setMpz
      Src: /src/mcl/test/fp_test.cpp:230,1
    - Dst: Fp::getMpz
      Src: /src/mcl/test/fp_test.cpp:232,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:233,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:238,1
    - Dst: Fp::setMpz
      Src: /src/mcl/test/fp_test.cpp:239,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:240,1
    - Dst: Fp::setMpz
      Src: /src/mcl/test/fp_test.cpp:242,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 244
    functionName: edgeTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - Fp::getMpz
    - CYBOZU_TEST_EQUAL
    - setMpz
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - Fp::Fp
    - Fp::setMpz
    linkageType: ''
    returnType: void
    signature: void edgeTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::getBitSize
      Src: /src/mcl/test/fp_test.cpp:250,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:267,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:268,1
    - Dst: Fp::getStr
      Src: /src/mcl/test/fp_test.cpp:271,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:272,1
    - Dst: Fp::getStr
      Src: /src/mcl/test/fp_test.cpp:273,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:274,1
    - Dst: Fp::getStr
      Src: /src/mcl/test/fp_test.cpp:275,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 277
    functionName: convTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::getBitSize
    - Fp::getStr
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void convTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:295,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:300,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:301,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:302,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:304,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:305,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:307,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:308,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:314,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:315,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:316,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:320,1
    - Dst: Fp::isOne
      Src: /src/mcl/test/fp_test.cpp:320,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:322,1
    - Dst: Fp::isOne
      Src: /src/mcl/test/fp_test.cpp:322,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:333,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:335,1
    - Dst: Fp::isNegative
      Src: /src/mcl/test/fp_test.cpp:335,1
    - Dst: mcl::FpT::getModulo
      Src: /src/mcl/test/fp_test.cpp:338,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:341,1
    - Dst: std::string::size
      Src: /src/mcl/test/fp_test.cpp:341,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:342,1
    - Dst: std::string::c_str
      Src: /src/mcl/test/fp_test.cpp:342,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:345,1
    - Dst: Fp::setMpz
      Src: /src/mcl/test/fp_test.cpp:346,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:347,1
    - Dst: Fp::isNegative
      Src: /src/mcl/test/fp_test.cpp:347,1
    - Dst: Fp::setMpz
      Src: /src/mcl/test/fp_test.cpp:348,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:349,1
    - Dst: Fp::isNegative
      Src: /src/mcl/test/fp_test.cpp:349,1
    - Dst: Fp::setMpz
      Src: /src/mcl/test/fp_test.cpp:350,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:351,1
    - Dst: Fp::isNegative
      Src: /src/mcl/test/fp_test.cpp:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 353
    functionName: compareTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - std::string::size
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - Fp::isNegative
    - Fp::isOne
    - mcl::FpT::getModulo
    - std::string::c_str
    - Fp::Fp
    - Fp::setMpz
    linkageType: ''
    returnType: void
    signature: void compareTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::getModulo
      Src: /src/mcl/test/fp_test.cpp:358,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:359,1
    - Dst: mcl::gmp::getStr
      Src: /src/mcl/test/fp_test.cpp:359,1
    - Dst: mpz_class
      Src: /src/mcl/test/fp_test.cpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pStr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: moduloTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::getModulo
    - mcl::gmp::getStr
    - mpz_class
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void moduloTest(const char *pStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:378,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:381,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/test/fp_test.cpp:382,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:383,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/test/fp_test.cpp:384,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:385,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/fp_test.cpp:386,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:387,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:389,1
    - Dst: get_da_inv
      Src: /src/mcl/test/fp_test.cpp:390,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/fp_test.cpp:391,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:392,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:394,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:396,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:398,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/test/fp_test.cpp:400,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:401,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:405,1
    - Dst: mcl::FpT::isFullBit
      Src: /src/mcl/test/fp_test.cpp:407,1
    - Dst: vaddPre
      Src: /src/mcl/test/fp_test.cpp:409,1
    - Dst: mcl::FpT::compareRaw
      Src: /src/mcl/test/fp_test.cpp:410,1
    - Dst: Fp::getP
      Src: /src/mcl/test/fp_test.cpp:410,1
    - Dst: gen_mcl_fp_addsubPre
      Src: /src/mcl/test/fp_test.cpp:411,1
    - Dst: Fp::getP
      Src: /src/mcl/test/fp_test.cpp:411,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:413,1
    - Dst: Fp
      Src: /src/mcl/test/fp_test.cpp:413,1
    - Dst: mcl::FpT::compareRaw
      Src: /src/mcl/test/fp_test.cpp:414,1
    - Dst: vaddPre
      Src: /src/mcl/test/fp_test.cpp:415,1
    - Dst: Fp::getP
      Src: /src/mcl/test/fp_test.cpp:415,1
    - Dst: gen_mcl_fp_addsubPre
      Src: /src/mcl/test/fp_test.cpp:417,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:418,1
    - Dst: Fp
      Src: /src/mcl/test/fp_test.cpp:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 420
    functionName: opeTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::FpT::compareRaw
    - Botan::fe_sqr
    - CYBOZU_TEST_EQUAL
    - get_da_inv
    - fiat_bls12_381_fp_sub
    - Fp
    - fiat_bls12_381_fp_add
    - vaddPre
    - mcl::FpT::isFullBit
    - gen_mcl_fp_addsubPre
    - fiat_bls12_381_fp_mul
    - Fp::getP
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void opeTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:426,1
    - Dst: testFp12pow
      Src: /src/mcl/test/fp_test.cpp:430,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:431,1
    - Dst: testFp12pow
      Src: /src/mcl/test/fp_test.cpp:435,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/fp_test.cpp:435,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:436,1
    - Dst: testFp12pow
      Src: /src/mcl/test/fp_test.cpp:437,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/fp_test.cpp:437,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 439
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 439
    functionName: powTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 1
    functionsReached:
    - Fp::Fp
    - CYBOZU_TEST_EQUAL
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - testFp12pow
    linkageType: ''
    returnType: void
    signature: void powTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/test/fp_test.cpp:445,1
    - Dst: get_mulUnit
      Src: /src/mcl/test/fp_test.cpp:446,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 449
    functionName: mulUnitTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - get_mulUnit
    - fiat_bls12_381_fp_mul
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void mulUnitTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:453,1
    - Dst: testFp12pow
      Src: /src/mcl/test/fp_test.cpp:458,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 462
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 462
    functionName: powNegTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - Fp::Fp
    - CYBOZU_TEST_EQUAL
    - testFp12pow
    linkageType: ''
    returnType: void
    signature: void powNegTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:466,1
    - Dst: testFp12pow
      Src: /src/mcl/test/fp_test.cpp:470,1
    - Dst: Fp
      Src: /src/mcl/test/fp_test.cpp:470,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 474
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 474
    functionName: powFpTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - Fp::Fp
    - CYBOZU_TEST_EQUAL
    - Fp
    - testFp12pow
    linkageType: ''
    returnType: void
    signature: void powFpTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:478,1
    - Dst: testFp12pow
      Src: /src/mcl/test/fp_test.cpp:482,1
    - Dst: mpz_class
      Src: /src/mcl/test/fp_test.cpp:482,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 486
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 486
    functionName: powGmp
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - Fp::Fp
    - CYBOZU_TEST_EQUAL
    - mpz_class
    - testFp12pow
    linkageType: ''
    returnType: void
    signature: void powGmp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:491,1
    - Dst: Fp::setArray
      Src: /src/mcl/test/fp_test.cpp:492,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:493,1
    - Dst: Fp::setArray
      Src: /src/mcl/test/fp_test.cpp:495,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:496,1
    - Dst: Fp
      Src: /src/mcl/test/fp_test.cpp:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 497
    functionName: setArrayTest1
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - Fp::Fp
    - Fp::setArray
    - Fp
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void setArrayTest1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:502,1
    - Dst: Fp::setArrayMask
      Src: /src/mcl/test/fp_test.cpp:503,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:504,1
    - Dst: Fp::setArrayMask
      Src: /src/mcl/test/fp_test.cpp:506,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:507,1
    - Dst: Fp
      Src: /src/mcl/test/fp_test.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 508
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 508
    functionName: setArrayMaskTest1
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - Fp::setArrayMask
    - Fp::Fp
    - Fp
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void setArrayMaskTest1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/fp_test.cpp:512,1
    - Dst: mcl::gmp::getBitSize
      Src: /src/mcl/test/fp_test.cpp:530,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/test/fp_test.cpp:531,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:533,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/test/fp_test.cpp:535,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:539,1
    - Dst: Fp::setArrayMod
      Src: /src/mcl/test/fp_test.cpp:541,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:543,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:545,1
    - Dst: Fp::getMpz
      Src: /src/mcl/test/fp_test.cpp:545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 547
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 547
    functionName: setArrayModTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::getBitSize
    - CYBOZU_NUM_OF_ARRAY
    - mcl::gmp::setStr
    - Fp::getMpz
    - CYBOZU_TEST_EQUAL
    - mcl::gmp::getUnit
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - Fp::setArrayMod
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void setArrayModTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/test/fp_test.cpp:551,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:559,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 564
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_x509_uninit
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(set64bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:571,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:575,1
    - Dst: Fp::isNegative
      Src: /src/mcl/test/fp_test.cpp:575,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:576,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:580,1
    - Dst: Fp::getUint64
      Src: /src/mcl/test/fp_test.cpp:580,1
    - Dst: CYBOZU_TEST_EXCEPTION
      Src: /src/mcl/test/fp_test.cpp:584,1
    - Dst: Fp::getUint64
      Src: /src/mcl/test/fp_test.cpp:584,1
    - Dst: CYBOZU_TEST_EXCEPTION
      Src: /src/mcl/test/fp_test.cpp:586,1
    - Dst: Fp::getUint64
      Src: /src/mcl/test/fp_test.cpp:586,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:591,1
    - Dst: Fp::getUint64
      Src: /src/mcl/test/fp_test.cpp:591,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 594
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 594
    functionName: getUint64Test
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EXCEPTION
    - CYBOZU_TEST_EQUAL
    - Fp::getUint64
    - Fp::isNegative
    linkageType: ''
    returnType: void
    signature: void getUint64Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:602,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:605,1
    - Dst: Fp::isNegative
      Src: /src/mcl/test/fp_test.cpp:605,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:607,1
    - Dst: CYBOZU_TEST_EXCEPTION
      Src: /src/mcl/test/fp_test.cpp:611,1
    - Dst: Fp::getInt64
      Src: /src/mcl/test/fp_test.cpp:611,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:616,1
    - Dst: Fp::getInt64
      Src: /src/mcl/test/fp_test.cpp:616,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 619
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 619
    functionName: getInt64Test
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_EXCEPTION
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - Fp::isNegative
    - Fp::getInt64
    linkageType: ''
    returnType: void
    signature: void getInt64Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/fp_test.cpp:623,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:635,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:639,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/fp_test.cpp:640,1
    - Dst: Fp::getLittleEndian
      Src: /src/mcl/test/fp_test.cpp:642,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:643,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/fp_test.cpp:644,1
    - Dst: Fp::getLittleEndian
      Src: /src/mcl/test/fp_test.cpp:646,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 649
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 649
    functionName: getLittleEndianTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 1
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_EQUAL
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - Fp::getLittleEndian
    linkageType: ''
    returnType: void
    signature: void getLittleEndianTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:654,1
    - Dst: mcl::Fp2::divBy2
      Src: /src/mcl/test/fp_test.cpp:656,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:658,1
    - Dst: mcl::Fp2::divBy2
      Src: /src/mcl/test/fp_test.cpp:660,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 664
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 664
    functionName: divBy2Test
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::Fp2::divBy2
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void divBy2Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::getStr
      Src: /src/mcl/test/fp_test.cpp:670,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:671,1
    - Dst: Fp::getStr
      Src: /src/mcl/test/fp_test.cpp:672,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:673,1
    - Dst: Fp::getStr
      Src: /src/mcl/test/fp_test.cpp:674,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:675,1
    - Dst: Fp::getStr
      Src: /src/mcl/test/fp_test.cpp:676,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:677,1
    - Dst: Fp::getStr
      Src: /src/mcl/test/fp_test.cpp:678,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:679,1
    - Dst: Fp::getStr
      Src: /src/mcl/test/fp_test.cpp:682,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:683,1
    - Dst: Fp::getStr
      Src: /src/mcl/test/fp_test.cpp:684,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:685,1
    - Dst: Fp::getStr
      Src: /src/mcl/test/fp_test.cpp:686,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:687,1
    - Dst: Fp::getStr
      Src: /src/mcl/test/fp_test.cpp:688,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:689,1
    - Dst: Fp::getStr
      Src: /src/mcl/test/fp_test.cpp:690,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:691,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:696,1
    - Dst: std::ostringstream::str
      Src: /src/mcl/test/fp_test.cpp:696,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:701,1
    - Dst: std::ostringstream::str
      Src: /src/mcl/test/fp_test.cpp:701,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:706,1
    - Dst: std::ostringstream::str
      Src: /src/mcl/test/fp_test.cpp:706,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:717,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/fp_test.cpp:720,1
    - Dst: mcl::gmp::getStr
      Src: /src/mcl/test/fp_test.cpp:723,1
    - Dst: Fp::getStr
      Src: /src/mcl/test/fp_test.cpp:724,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 727
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 727
    functionName: getStrTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - std::ostringstream::str
    - Fp::getStr
    - CYBOZU_TEST_EQUAL
    - mcl::gmp::getStr
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: void
    signature: void getStrTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:734,1
    - Dst: cybozu::Sha256
      Src: /src/mcl/test/fp_test.cpp:738,1
    - Dst: cybozu::Sha512
      Src: /src/mcl/test/fp_test.cpp:740,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:742,1
    - Dst: Fp::setArrayMask
      Src: /src/mcl/test/fp_test.cpp:743,1
    - Dst: std::string::c_str
      Src: /src/mcl/test/fp_test.cpp:743,1
    - Dst: std::string::size
      Src: /src/mcl/test/fp_test.cpp:743,1
    - Dst: setHashOf
      Src: /src/mcl/test/fp_test.cpp:744,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 747
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 747
    functionName: setHashOfTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - cybozu::Sha512
    - CYBOZU_NUM_OF_ARRAY
    - std::string::size
    - CYBOZU_TEST_EQUAL
    - Fp::setArrayMask
    - cybozu::Sha256
    - std::string::c_str
    - setHashOf
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void setHashOfTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:761,1
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/test/fp_test.cpp:765,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:767,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/fp_test.cpp:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 770
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 770
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - CYBOZU_NUM_OF_ARRAY
    - mcl::gmp::getArray
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(getArray)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:775,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:777,1
    - Dst: Fp::setStr
      Src: /src/mcl/test/fp_test.cpp:778,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:780,1
    - Dst: mcl::Fp2::getByteSize
      Src: /src/mcl/test/fp_test.cpp:780,1
    - Dst: deserialize
      Src: /src/mcl/test/fp_test.cpp:781,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:782,1
    - Dst: Fp::serialize
      Src: /src/mcl/test/fp_test.cpp:784,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:785,1
    - Dst: mcl::Fp2::getByteSize
      Src: /src/mcl/test/fp_test.cpp:785,1
    - Dst: deserialize
      Src: /src/mcl/test/fp_test.cpp:786,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:787,1
    - Dst: Fp::Fp
      Src: /src/mcl/test/fp_test.cpp:790,1
    - Dst: Fp::setStr
      Src: /src/mcl/test/fp_test.cpp:791,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:797,1
    - Dst: mcl::Fp2::getByteSize
      Src: /src/mcl/test/fp_test.cpp:797,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:799,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:802,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:808,1
    - Dst: mcl::Fp2::getByteSize
      Src: /src/mcl/test/fp_test.cpp:808,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:810,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:813,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 817
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 817
    functionName: serializeTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 3
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - CYBOZU_TEST_EQUAL
    - mcl::Fp2::getByteSize
    - Fp::serialize
    - Fp::setStr
    - deserialize
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void serializeTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/fp_test.cpp:821,1
    - Dst: mcl::gmp::getBitSize
      Src: /src/mcl/test/fp_test.cpp:839,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/test/fp_test.cpp:840,1
    - Dst: mcl::Modp::init
      Src: /src/mcl/test/fp_test.cpp:842,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:843,1
    - Dst: mcl::Modp::modp
      Src: /src/mcl/test/fp_test.cpp:847,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:848,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 850
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 850
    functionName: modpTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::getBitSize
    - CYBOZU_NUM_OF_ARRAY
    - mcl::gmp::setStr
    - mcl::Modp::modp
    - CYBOZU_TEST_EQUAL
    - mcl::Modp::init
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: void
    signature: void modpTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/test/fp_test.cpp:871,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:873,1
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/test/fp_test.cpp:878,1
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/test/fp_test.cpp:880,1
    - Dst: mcl_fpDbl_mod_NIST_P521L
      Src: /src/mcl/test/fp_test.cpp:882,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/fp_test.cpp:882,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/fp_test.cpp:883,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/fp_test.cpp:886,1
    - Dst: fpDbl_mod
      Src: /src/mcl/test/fp_test.cpp:888,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/fp_test.cpp:889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 893
      start: 854
    functionDepth: 2
    functionLinenumber: 854
    functionLinenumberEnd: 893
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - CYBOZU_NUM_OF_ARRAY
    - fpDbl_mod
    - Botan_Tests::test_x509_uninit
    - mcl::gmp::getArray
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - mcl_fpDbl_mod_NIST_P521L
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(mod_NIST_P521)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/test/fp_test.cpp:902,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/fp_test.cpp:903,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:904,1
    - Dst: Fp::getMpz
      Src: /src/mcl/test/fp_test.cpp:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 906
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 906
    functionName: mul2Test
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - Fp::getMpz
    - Botan::PCurve::GenericField::mul2
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void mul2Test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/fp_test.cpp:912,1
    - Dst: cybozu::XorShift::get32
      Src: /src/mcl/test/fp_test.cpp:917,1
    - Dst: setByCSPRNG
      Src: /src/mcl/test/fp_test.cpp:920,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:926,1
    - Dst: isZero
      Src: /src/mcl/test/fp_test.cpp:928,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:929,1
    - Dst: isZero
      Src: /src/mcl/test/fp_test.cpp:929,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:931,1
    - Dst: invVec
      Src: /src/mcl/test/fp_test.cpp:934,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/fp_test.cpp:935,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 938
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 938
    functionName: invVecTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 1
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - cybozu::XorShift::get32
    - CYBOZU_TEST_ASSERT
    - isZero
    - CYBOZU_TEST_EQUAL
    - setByCSPRNG
    - invVec
    - cybozu::XorShift::XorShift
    linkageType: ''
    returnType: void
    signature: void invVecTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/test/fp_test.cpp:942,1
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/test/fp_test.cpp:944,1
    - Dst: mcl::bint::mulUnitN
      Src: /src/mcl/test/fp_test.cpp:945,1
    - Dst: mcl::bint::addUnit
      Src: /src/mcl/test/fp_test.cpp:946,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 949
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 949
    functionName: getMontgomeryCoeffTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL
    - CYBOZU_ALLOCA
    - mcl::bint::mulUnitN
    - mcl::bint::addUnit
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: void
    signature: void getMontgomeryCoeffTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:955,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:960,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/fp_test.cpp:961,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:964,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' x'
    - w
    argTypes:
    - mpz_class
    - size_t
    constantsTouched: []
    func_position:
      end: 965
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 965
    functionName: getBinWidthTest1
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void getBinWidthTest1(const mpz_class& x, size_t w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBinWidthTest1
      Src: /src/mcl/test/fp_test.cpp:970,1
    - Dst: mpz_class
      Src: /src/mcl/test/fp_test.cpp:970,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/fp_test.cpp:972,1
    - Dst: mcl::gmp::getRand
      Src: /src/mcl/test/fp_test.cpp:975,1
    - Dst: getBinWidthTest1
      Src: /src/mcl/test/fp_test.cpp:977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 979
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 979
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - getBinWidthTest1
    - mcl::gmp::getRand
    - mpz_class
    - cybozu::XorShift::XorShift
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(getBinWidth)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/fp_test.cpp:983,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/fp_test.cpp:1016,1
    - Dst: printf
      Src: /src/mcl/test/fp_test.cpp:1018,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/test/fp_test.cpp:1019,1
    - Dst: getMontgomeryCoeffTest
      Src: /src/mcl/test/fp_test.cpp:1020,1
    - Dst: invVecTest
      Src: /src/mcl/test/fp_test.cpp:1021,1
    - Dst: mul2Test
      Src: /src/mcl/test/fp_test.cpp:1022,1
    - Dst: cstrTest
      Src: /src/mcl/test/fp_test.cpp:1023,1
    - Dst: setStrTest
      Src: /src/mcl/test/fp_test.cpp:1024,1
    - Dst: streamTest
      Src: /src/mcl/test/fp_test.cpp:1025,1
    - Dst: ioModeTest
      Src: /src/mcl/test/fp_test.cpp:1026,1
    - Dst: edgeTest
      Src: /src/mcl/test/fp_test.cpp:1027,1
    - Dst: convTest
      Src: /src/mcl/test/fp_test.cpp:1028,1
    - Dst: compareTest
      Src: /src/mcl/test/fp_test.cpp:1029,1
    - Dst: moduloTest
      Src: /src/mcl/test/fp_test.cpp:1030,1
    - Dst: opeTest
      Src: /src/mcl/test/fp_test.cpp:1031,1
    - Dst: mulUnitTest
      Src: /src/mcl/test/fp_test.cpp:1032,1
    - Dst: powTest
      Src: /src/mcl/test/fp_test.cpp:1033,1
    - Dst: powNegTest
      Src: /src/mcl/test/fp_test.cpp:1034,1
    - Dst: powFpTest
      Src: /src/mcl/test/fp_test.cpp:1035,1
    - Dst: powGmp
      Src: /src/mcl/test/fp_test.cpp:1036,1
    - Dst: setArrayTest1
      Src: /src/mcl/test/fp_test.cpp:1037,1
    - Dst: setArrayMaskTest1
      Src: /src/mcl/test/fp_test.cpp:1038,1
    - Dst: setArrayModTest
      Src: /src/mcl/test/fp_test.cpp:1039,1
    - Dst: getUint64Test
      Src: /src/mcl/test/fp_test.cpp:1040,1
    - Dst: getInt64Test
      Src: /src/mcl/test/fp_test.cpp:1041,1
    - Dst: getLittleEndianTest
      Src: /src/mcl/test/fp_test.cpp:1042,1
    - Dst: divBy2Test
      Src: /src/mcl/test/fp_test.cpp:1043,1
    - Dst: getStrTest
      Src: /src/mcl/test/fp_test.cpp:1044,1
    - Dst: setHashOfTest
      Src: /src/mcl/test/fp_test.cpp:1045,1
    - Dst: serializeTest
      Src: /src/mcl/test/fp_test.cpp:1046,1
    - Dst: modpTest
      Src: /src/mcl/test/fp_test.cpp:1047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 981
    functionDepth: 3
    functionLinenumber: 981
    functionLinenumberEnd: 1052
    functionName: mainTest
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - getMontgomeryCoeffTest
    - powGmp
    - printf
    - moduloTest
    - getUint64Test
    - CYBOZU_NUM_OF_ARRAY
    - divBy2Test
    - powFpTest
    - opeTest
    - getInt64Test
    - edgeTest
    - getStrTest
    - compareTest
    - setArrayMaskTest1
    - powNegTest
    - cstrTest
    - serializeTest
    - getLittleEndianTest
    - mulUnitTest
    - setHashOfTest
    - streamTest
    - setStrTest
    - setArrayModTest
    - invVecTest
    - Botan_Tests::test_x509_uninit
    - mul2Test
    - convTest
    - ioModeTest
    - powTest
    - setArrayTest1
    - modpTest
    linkageType: ''
    returnType: void
    signature: void mainTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mainTest
      Src: /src/mcl/test/fp_test.cpp:1058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1056
    functionDepth: 4
    functionLinenumber: 1056
    functionLinenumberEnd: 1059
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - mainTest
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(main)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mcl/test/fp_test.cpp:1073,1
    - Dst: mcl::fp::convertArrayAsLE
      Src: /src/mcl/test/fp_test.cpp:1074,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:1076,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:1077,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:1080,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:1082,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:1086,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:1089,1
    - Dst: mcl::fp::convertArrayAsLE
      Src: /src/mcl/test/fp_test.cpp:1092,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/fp_test.cpp:1093,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1094
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::fp::convertArrayAsLE
    - memset
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(convertArrayAsLE)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/mcl/test/fp_test.cpp:1099,1
    - Dst: printf
      Src: /src/mcl/test/fp_test.cpp:1101,1
    - Dst: what
      Src: /src/mcl/test/fp_test.cpp:1101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 1103
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1103
    functionName: main
    functionSourceFile: /src/mcl/test/fp_test.cpp
    functionUses: 97
    functionsReached:
    - run
    - printf
    - what
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get64
      Src: /src/mcl/test/bint_test.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - x
    - n
    - ' rg'
    argTypes:
    - Unit*
    - size_t
    - RG
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: setRand
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 13
    functionsReached:
    - get64
    linkageType: ''
    returnType: void
    signature: void setRand(Unit *x, size_t n, RG& rg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - x
    - n
    - ' rg'
    argTypes:
    - Unit*
    - size_t
    - RG
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: setRandNF
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setRand
    linkageType: ''
    returnType: void
    signature: void setRandNF(Unit *x, size_t n, RG& rg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_class
      Src: /src/mcl/test/bint_test.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - Unit
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: to_mpz
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - mpz_class
    linkageType: ''
    returnType: mpz_class
    signature: mpz_class to_mpz(Unit x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_import
      Src: /src/mcl/test/bint_test.cpp:56,1
    - Dst: get_mpz_t
      Src: /src/mcl/test/bint_test.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - buf
    - n
    argTypes:
    - mpz_class
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: setArray
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 18
    functionsReached:
    - get_mpz_t
    - mpz_import
    linkageType: ''
    returnType: void
    signature: void setArray(mpz_class& z, const Unit *buf, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_divmod
      Src: /src/mcl/test/bint_test.cpp:60,1
    - Dst: get_mpz_t
      Src: /src/mcl/test/bint_test.cpp:60,1
    - Dst: get_mpz_t
      Src: /src/mcl/test/bint_test.cpp:60,1
    - Dst: get_mpz_t
      Src: /src/mcl/test/bint_test.cpp:60,1
    - Dst: get_mpz_t
      Src: /src/mcl/test/bint_test.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' q'
    - ' r'
    - ' x'
    - ' y'
    argTypes:
    - mpz_class
    - mpz_class
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: divmod
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 2
    functionsReached:
    - mpz_divmod
    - get_mpz_t
    linkageType: ''
    returnType: void
    signature: void divmod(mpz_class& q, mpz_class& r, const mpz_class& x, const mpz_class&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bint_test.cpp:68,1
    - Dst: cmpEqT<3>
      Src: /src/mcl/test/bint_test.cpp:68,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bint_test.cpp:69,1
    - Dst: cmpEqT<3>
      Src: /src/mcl/test/bint_test.cpp:69,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bint_test.cpp:70,1
    - Dst: cmpEqT<2>
      Src: /src/mcl/test/bint_test.cpp:70,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bint_test.cpp:72,1
    - Dst: cmpGeT<3>
      Src: /src/mcl/test/bint_test.cpp:72,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bint_test.cpp:73,1
    - Dst: cmpGeT<3>
      Src: /src/mcl/test/bint_test.cpp:73,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bint_test.cpp:74,1
    - Dst: cmpGeT<3>
      Src: /src/mcl/test/bint_test.cpp:74,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bint_test.cpp:75,1
    - Dst: cmpGeT<2>
      Src: /src/mcl/test/bint_test.cpp:75,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bint_test.cpp:76,1
    - Dst: cmpGeT<4>
      Src: /src/mcl/test/bint_test.cpp:76,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bint_test.cpp:78,1
    - Dst: cmpGtT<3>
      Src: /src/mcl/test/bint_test.cpp:78,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bint_test.cpp:79,1
    - Dst: cmpGtT<3>
      Src: /src/mcl/test/bint_test.cpp:79,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bint_test.cpp:80,1
    - Dst: cmpGtT<3>
      Src: /src/mcl/test/bint_test.cpp:80,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bint_test.cpp:82,1
    - Dst: cmpLeT<3>
      Src: /src/mcl/test/bint_test.cpp:82,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bint_test.cpp:83,1
    - Dst: cmpLeT<3>
      Src: /src/mcl/test/bint_test.cpp:83,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bint_test.cpp:84,1
    - Dst: cmpLeT<3>
      Src: /src/mcl/test/bint_test.cpp:84,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bint_test.cpp:85,1
    - Dst: cmpLeT<2>
      Src: /src/mcl/test/bint_test.cpp:85,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bint_test.cpp:86,1
    - Dst: cmpLeT<4>
      Src: /src/mcl/test/bint_test.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 87
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - cmpEqT<2>
    - CYBOZU_TEST_ASSERT
    - cmpEqT<3>
    - cmpGeT<3>
    - cmpLeT<2>
    - cmpLeT<4>
    - cmpGeT<2>
    - cmpGeT<4>
    - cmpLeT<3>
    - cmpGtT<3>
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(cmpT)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Unit
      Src: /src/mcl/test/bint_test.cpp:92,1
    - Dst: addT
      Src: /src/mcl/test/bint_test.cpp:97,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:98,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:99,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:100,1
    - Dst: addT
      Src: /src/mcl/test/bint_test.cpp:102,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:103,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:104,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:105,1
    - Dst: addT
      Src: /src/mcl/test/bint_test.cpp:107,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/bint_test.cpp:108,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 110
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - addT
    - Unit
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(addT)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:116,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:119,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:120,1
    - Dst: addT
      Src: /src/mcl/test/bint_test.cpp:121,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:122,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:123,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:124,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:125,1
    - Dst: to_mpz
      Src: /src/mcl/test/bint_test.cpp:125,1
    - Dst: subT
      Src: /src/mcl/test/bint_test.cpp:126,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/bint_test.cpp:127,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - setArray
    - setRand
    - CYBOZU_TEST_EQUAL
    - subT
    - addT
    - to_mpz
    - cybozu::XorShift::XorShift
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(subT)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:137,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:140,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:141,1
    - Dst: mulUnitT<N>
      Src: /src/mcl/test/bint_test.cpp:142,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:143,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:144,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:145,1
    - Dst: to_mpz
      Src: /src/mcl/test/bint_test.cpp:145,1
    - Dst: to_mpz
      Src: /src/mcl/test/bint_test.cpp:145,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 150
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - setRand
    - CYBOZU_TEST_EQUAL
    - mulUnitT<N>
    - to_mpz
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(mulUnitT)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:156,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:160,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:161,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:162,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:163,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:164,1
    - Dst: mulUnitAddT<N>
      Src: /src/mcl/test/bint_test.cpp:165,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:166,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:167,1
    - Dst: to_mpz
      Src: /src/mcl/test/bint_test.cpp:167,1
    - Dst: to_mpz
      Src: /src/mcl/test/bint_test.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - setRand
    - mulUnitAddT<N>
    - CYBOZU_TEST_EQUAL
    - to_mpz
    - cybozu::XorShift::XorShift
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(mulUnitAddT)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:175,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:178,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:179,1
    - Dst: mulT
      Src: /src/mcl/test/bint_test.cpp:180,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:181,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:182,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:183,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:184,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:188,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:189,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:190,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:191,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:192,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 195
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - setRand
    - CYBOZU_TEST_EQUAL
    - mulT
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(mulT)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:201,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:205,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:206,1
    - Dst: shlT<N>
      Src: /src/mcl/test/bint_test.cpp:209,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:210,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:211,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:212,1
    - Dst: to_mpz
      Src: /src/mcl/test/bint_test.cpp:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 214
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - setRand
    - CYBOZU_TEST_EQUAL
    - shlT<N>
    - to_mpz
    - cybozu::XorShift::XorShift
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(shlT)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:220,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:224,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:225,1
    - Dst: shrT<N>
      Src: /src/mcl/test/bint_test.cpp:228,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:229,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:230,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 233
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - setRand
    - CYBOZU_TEST_EQUAL
    - shrT<N>
    - cybozu::XorShift::XorShift
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(shrT)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:239,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:243,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:244,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:247,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:248,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 251
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - setRand
    - cybozu::XorShift::XorShift
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(shiftLeft)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:257,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:261,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:262,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:263,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:266,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 269
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - setRand
    - cybozu::XorShift::XorShift
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(shiftRight)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Unit
      Src: /src/mcl/test/bint_test.cpp:279,1
    - Dst: Unit
      Src: /src/mcl/test/bint_test.cpp:280,1
    - Dst: Unit
      Src: /src/mcl/test/bint_test.cpp:280,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bint_test.cpp:283,1
    - Dst: copyN
      Src: /src/mcl/test/bint_test.cpp:287,1
    - Dst: addUnit
      Src: /src/mcl/test/bint_test.cpp:288,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:289,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:290,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:291,1
    - Dst: to_mpz
      Src: /src/mcl/test/bint_test.cpp:291,1
    - Dst: to_mpz
      Src: /src/mcl/test/bint_test.cpp:291,1
    - Dst: copyN
      Src: /src/mcl/test/bint_test.cpp:293,1
    - Dst: subUnit
      Src: /src/mcl/test/bint_test.cpp:294,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/bint_test.cpp:295,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 298
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - CYBOZU_NUM_OF_ARRAY
    - addUnit
    - setArray
    - CYBOZU_TEST_EQUAL
    - copyN
    - to_mpz
    - subUnit
    - Unit
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(addUnit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:304,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:308,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:309,1
    - Dst: divUnit
      Src: /src/mcl/test/bint_test.cpp:311,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:312,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:313,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:314,1
    - Dst: to_mpz
      Src: /src/mcl/test/bint_test.cpp:314,1
    - Dst: to_mpz
      Src: /src/mcl/test/bint_test.cpp:314,1
    - Dst: modUnit
      Src: /src/mcl/test/bint_test.cpp:315,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 318
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - setRand
    - CYBOZU_TEST_EQUAL
    - to_mpz
    - cybozu::XorShift::XorShift
    - divUnit
    - modUnit
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(divUnit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/test/bint_test.cpp:323,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:324,1
    - Dst: f
      Src: /src/mcl/test/bint_test.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - xN
    - ' rg'
    - ' f'
    - q
    - qn
    - y
    - yn
    argTypes:
    - size_t
    - RG
    - F
    - Unit*
    - size_t
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: setRandAndTest
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_ALLOCA
    - setRand
    - f
    linkageType: ''
    returnType: void
    signature: void setRandAndTest(size_t xN, RG& rg, const F& f, Unit *q, size_t
      qn, const Unit *y, size_t yn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:335,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:338,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:339,1
    - Dst: Unit
      Src: /src/mcl/test/bint_test.cpp:340,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:341,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:342,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:344,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:345,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:346,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:347,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:351,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 356
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - setRand
    - CYBOZU_TEST_EQUAL
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    - Unit
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(divFullBit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:362,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:365,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:366,1
    - Dst: Unit
      Src: /src/mcl/test/bint_test.cpp:367,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:368,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:369,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bint_test.cpp:372,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:373,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:374,1
    - Dst: to_mpz
      Src: /src/mcl/test/bint_test.cpp:374,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:378,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 381
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - setRand
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    - to_mpz
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    - Unit
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(divSmall)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:390,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:393,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:394,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:395,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:396,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:398,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:399,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:400,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:403,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 406
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - setRand
    - CYBOZU_TEST_EQUAL
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(div)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bint_test.cpp:517,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bint_test.cpp:521,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:522,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:523,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:524,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:526,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:527,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:528,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 531
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 531
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - setArray
    - CYBOZU_TEST_ASSERT
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(divMod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:551,1
    - Dst: memcpy
      Src: /src/mcl/test/bint_test.cpp:554,1
    - Dst: maskN
      Src: /src/mcl/test/bint_test.cpp:555,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:556,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:557,1
    - Dst: mpz_class
      Src: /src/mcl/test/bint_test.cpp:557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 559
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - CYBOZU_TEST_EQUAL
    - maskN
    - memcpy
    - mpz_class
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(maskN)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:564,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:568,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:569,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:570,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:571,1
    - Dst: addT
      Src: /src/mcl/test/bint_test.cpp:572,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:573,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:574,1
    - Dst: to_mpz
      Src: /src/mcl/test/bint_test.cpp:574,1
    - Dst: printf
      Src: /src/mcl/test/bint_test.cpp:576,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 578
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 578
    functionName: testAdd
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - setRand
    - printf
    - CYBOZU_TEST_EQUAL
    - addT
    - to_mpz
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void testAdd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testAdd
      Src: /src/mcl/test/bint_test.cpp:582,1
    - Dst: testAdd
      Src: /src/mcl/test/bint_test.cpp:583,1
    - Dst: testAdd
      Src: /src/mcl/test/bint_test.cpp:584,1
    - Dst: testAdd
      Src: /src/mcl/test/bint_test.cpp:585,1
    - Dst: testAdd
      Src: /src/mcl/test/bint_test.cpp:586,1
    - Dst: testAdd
      Src: /src/mcl/test/bint_test.cpp:587,1
    - Dst: testAdd
      Src: /src/mcl/test/bint_test.cpp:588,1
    - Dst: testAdd
      Src: /src/mcl/test/bint_test.cpp:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 590
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 590
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - testAdd
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(add)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:595,1
    - Dst: setRandNF
      Src: /src/mcl/test/bint_test.cpp:599,1
    - Dst: setRandNF
      Src: /src/mcl/test/bint_test.cpp:600,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:601,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:602,1
    - Dst: addNFT<N>
      Src: /src/mcl/test/bint_test.cpp:603,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:604,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:605,1
    - Dst: printf
      Src: /src/mcl/test/bint_test.cpp:607,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 609
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 609
    functionName: testAddNF
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - setRandNF
    - CYBOZU_TEST_EQUAL
    - printf
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    - addNFT<N>
    linkageType: ''
    returnType: void
    signature: void testAddNF()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testAddNF
      Src: /src/mcl/test/bint_test.cpp:613,1
    - Dst: testAddNF
      Src: /src/mcl/test/bint_test.cpp:614,1
    - Dst: testAddNF
      Src: /src/mcl/test/bint_test.cpp:615,1
    - Dst: testAddNF
      Src: /src/mcl/test/bint_test.cpp:616,1
    - Dst: testAddNF
      Src: /src/mcl/test/bint_test.cpp:617,1
    - Dst: testAddNF
      Src: /src/mcl/test/bint_test.cpp:618,1
    - Dst: testAddNF
      Src: /src/mcl/test/bint_test.cpp:619,1
    - Dst: testAddNF
      Src: /src/mcl/test/bint_test.cpp:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 621
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - testAddNF
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(addNF)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:626,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:630,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:631,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:632,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:633,1
    - Dst: subT
      Src: /src/mcl/test/bint_test.cpp:634,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:635,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:636,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:638,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:640,1
    - Dst: to_mpz
      Src: /src/mcl/test/bint_test.cpp:640,1
    - Dst: printf
      Src: /src/mcl/test/bint_test.cpp:643,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 645
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 645
    functionName: testSub
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - setRand
    - printf
    - CYBOZU_TEST_EQUAL
    - subT
    - to_mpz
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void testSub()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testSub
      Src: /src/mcl/test/bint_test.cpp:649,1
    - Dst: testSub
      Src: /src/mcl/test/bint_test.cpp:650,1
    - Dst: testSub
      Src: /src/mcl/test/bint_test.cpp:651,1
    - Dst: testSub
      Src: /src/mcl/test/bint_test.cpp:652,1
    - Dst: testSub
      Src: /src/mcl/test/bint_test.cpp:653,1
    - Dst: testSub
      Src: /src/mcl/test/bint_test.cpp:654,1
    - Dst: testSub
      Src: /src/mcl/test/bint_test.cpp:655,1
    - Dst: testSub
      Src: /src/mcl/test/bint_test.cpp:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 657
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - testSub
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:662,1
    - Dst: setRandNF
      Src: /src/mcl/test/bint_test.cpp:666,1
    - Dst: setRandNF
      Src: /src/mcl/test/bint_test.cpp:667,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:668,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:669,1
    - Dst: subNFT<N>
      Src: /src/mcl/test/bint_test.cpp:670,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:671,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:672,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:674,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:676,1
    - Dst: to_mpz
      Src: /src/mcl/test/bint_test.cpp:676,1
    - Dst: printf
      Src: /src/mcl/test/bint_test.cpp:679,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 681
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 681
    functionName: testSubNF
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - subNFT<N>
    - setArray
    - setRandNF
    - CYBOZU_TEST_EQUAL
    - printf
    - to_mpz
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void testSubNF()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testSubNF
      Src: /src/mcl/test/bint_test.cpp:685,1
    - Dst: testSubNF
      Src: /src/mcl/test/bint_test.cpp:686,1
    - Dst: testSubNF
      Src: /src/mcl/test/bint_test.cpp:687,1
    - Dst: testSubNF
      Src: /src/mcl/test/bint_test.cpp:688,1
    - Dst: testSubNF
      Src: /src/mcl/test/bint_test.cpp:689,1
    - Dst: testSubNF
      Src: /src/mcl/test/bint_test.cpp:690,1
    - Dst: testSubNF
      Src: /src/mcl/test/bint_test.cpp:691,1
    - Dst: testSubNF
      Src: /src/mcl/test/bint_test.cpp:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 693
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 693
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - testSubNF
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(subNF)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:698,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:702,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:703,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:704,1
    - Dst: mulUnitT<N>
      Src: /src/mcl/test/bint_test.cpp:705,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:706,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:707,1
    - Dst: to_mpz
      Src: /src/mcl/test/bint_test.cpp:707,1
    - Dst: to_mpz
      Src: /src/mcl/test/bint_test.cpp:707,1
    - Dst: printf
      Src: /src/mcl/test/bint_test.cpp:709,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 711
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 711
    functionName: testMulUnit
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - setRand
    - printf
    - CYBOZU_TEST_EQUAL
    - mulUnitT<N>
    - to_mpz
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void testMulUnit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testMulUnit
      Src: /src/mcl/test/bint_test.cpp:715,1
    - Dst: testMulUnit
      Src: /src/mcl/test/bint_test.cpp:716,1
    - Dst: testMulUnit
      Src: /src/mcl/test/bint_test.cpp:717,1
    - Dst: testMulUnit
      Src: /src/mcl/test/bint_test.cpp:718,1
    - Dst: testMulUnit
      Src: /src/mcl/test/bint_test.cpp:719,1
    - Dst: testMulUnit
      Src: /src/mcl/test/bint_test.cpp:720,1
    - Dst: testMulUnit
      Src: /src/mcl/test/bint_test.cpp:721,1
    - Dst: testMulUnit
      Src: /src/mcl/test/bint_test.cpp:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 723
      start: 713
    functionDepth: 2
    functionLinenumber: 713
    functionLinenumberEnd: 723
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - testMulUnit
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(mulUnit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:728,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:732,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:733,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:734,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:735,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:736,1
    - Dst: mulUnitAddT<N>
      Src: /src/mcl/test/bint_test.cpp:737,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:738,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:739,1
    - Dst: to_mpz
      Src: /src/mcl/test/bint_test.cpp:739,1
    - Dst: to_mpz
      Src: /src/mcl/test/bint_test.cpp:739,1
    - Dst: printf
      Src: /src/mcl/test/bint_test.cpp:741,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 743
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 743
    functionName: testMulUnitAdd
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - setRand
    - mulUnitAddT<N>
    - CYBOZU_TEST_EQUAL
    - printf
    - to_mpz
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void testMulUnitAdd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testMulUnitAdd
      Src: /src/mcl/test/bint_test.cpp:747,1
    - Dst: testMulUnitAdd
      Src: /src/mcl/test/bint_test.cpp:748,1
    - Dst: testMulUnitAdd
      Src: /src/mcl/test/bint_test.cpp:749,1
    - Dst: testMulUnitAdd
      Src: /src/mcl/test/bint_test.cpp:750,1
    - Dst: testMulUnitAdd
      Src: /src/mcl/test/bint_test.cpp:751,1
    - Dst: testMulUnitAdd
      Src: /src/mcl/test/bint_test.cpp:752,1
    - Dst: testMulUnitAdd
      Src: /src/mcl/test/bint_test.cpp:753,1
    - Dst: testMulUnitAdd
      Src: /src/mcl/test/bint_test.cpp:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 755
      start: 745
    functionDepth: 2
    functionLinenumber: 745
    functionLinenumberEnd: 755
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - testMulUnitAdd
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(mulUnitAdd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/test/bint_test.cpp:765,1
    - Dst: addT
      Src: /src/mcl/test/bint_test.cpp:770,1
    - Dst: addT
      Src: /src/mcl/test/bint_test.cpp:771,1
    - Dst: mulT
      Src: /src/mcl/test/bint_test.cpp:775,1
    - Dst: addT
      Src: /src/mcl/test/bint_test.cpp:776,1
    - Dst: addT
      Src: /src/mcl/test/bint_test.cpp:777,1
    - Dst: mulT
      Src: /src/mcl/test/bint_test.cpp:778,1
    - Dst: mulT
      Src: /src/mcl/test/bint_test.cpp:779,1
    - Dst: subT
      Src: /src/mcl/test/bint_test.cpp:780,1
    - Dst: subT
      Src: /src/mcl/test/bint_test.cpp:781,1
    - Dst: addT
      Src: /src/mcl/test/bint_test.cpp:782,1
    - Dst: addUnit
      Src: /src/mcl/test/bint_test.cpp:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 784
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 784
    functionName: mulKar
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - addUnit
    - subT
    - assert
    - mulT
    - addT
    linkageType: ''
    returnType: void
    signature: void mulKar(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulKar
      Src: /src/mcl/test/bint_test.cpp:790,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:792,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - z
    - x
    - y
    - ' mx'
    - ' my'
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 794
      start: 788
    functionDepth: 2
    functionLinenumber: 788
    functionLinenumberEnd: 794
    functionName: call
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - mulKar
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void call(Unit *z, const Unit *x, const Unit *y, const mpz_class& mx,
      const mpz_class& my)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/bint_test.cpp:797,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - z
    - x
    - y
    - CC
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    - int
    constantsTouched: []
    func_position:
      end: 799
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 799
    functionName: bench
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 2
    functionsReached:
    - CYBOZU_BENCH_C
    - printf
    linkageType: ''
    returnType: void
    signature: void bench(Unit *z, const Unit *x, const Unit *y, int CC)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 804
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 804
    functionName: call
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void call(Unit *, const Unit *, const Unit *, const mpz_class&, const
      mpz_class&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 805
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 805
    functionName: bench
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bench(Unit *, const Unit *, const Unit *, int)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:811,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:815,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:816,1
    - Dst: mulT
      Src: /src/mcl/test/bint_test.cpp:817,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:818,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:819,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:820,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:821,1
    - Dst: call
      Src: /src/mcl/test/bint_test.cpp:822,1
    - Dst: printf
      Src: /src/mcl/test/bint_test.cpp:826,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:827,1
    - Dst: printf
      Src: /src/mcl/test/bint_test.cpp:828,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:829,1
    - Dst: bench
      Src: /src/mcl/test/bint_test.cpp:830,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 832
      start: 809
    functionDepth: 3
    functionLinenumber: 809
    functionLinenumberEnd: 832
    functionName: testMul
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - setRand
    - printf
    - CYBOZU_TEST_EQUAL
    - mulT
    - call
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    - bench
    linkageType: ''
    returnType: void
    signature: void testMul()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testMul
      Src: /src/mcl/test/bint_test.cpp:836,1
    - Dst: testMul
      Src: /src/mcl/test/bint_test.cpp:837,1
    - Dst: testMul
      Src: /src/mcl/test/bint_test.cpp:838,1
    - Dst: testMul
      Src: /src/mcl/test/bint_test.cpp:839,1
    - Dst: testMul
      Src: /src/mcl/test/bint_test.cpp:840,1
    - Dst: testMul
      Src: /src/mcl/test/bint_test.cpp:841,1
    - Dst: testMul
      Src: /src/mcl/test/bint_test.cpp:842,1
    - Dst: testMul
      Src: /src/mcl/test/bint_test.cpp:843,1
    - Dst: testMul
      Src: /src/mcl/test/bint_test.cpp:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 845
      start: 834
    functionDepth: 4
    functionLinenumber: 834
    functionLinenumberEnd: 845
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - testMul
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(mul)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqrT<H>
      Src: /src/mcl/test/bint_test.cpp:852,1
    - Dst: sqrT<H>
      Src: /src/mcl/test/bint_test.cpp:853,1
    - Dst: mulT
      Src: /src/mcl/test/bint_test.cpp:855,1
    - Dst: addT
      Src: /src/mcl/test/bint_test.cpp:857,1
    - Dst: addT
      Src: /src/mcl/test/bint_test.cpp:858,1
    - Dst: addUnit
      Src: /src/mcl/test/bint_test.cpp:860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 862
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 862
    functionName: sqrKar
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - mulT
    - addT
    - sqrT<H>
    - addUnit
    linkageType: ''
    returnType: void
    signature: void sqrKar(Unit *z, const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqrKar
      Src: /src/mcl/test/bint_test.cpp:868,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:870,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - y
    - x
    - ' mx'
    argTypes:
    - Unit*
    - Unit*
    - mpz_class
    constantsTouched: []
    func_position:
      end: 872
      start: 866
    functionDepth: 2
    functionLinenumber: 866
    functionLinenumberEnd: 872
    functionName: call
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 1
    functionsReached:
    - sqrKar
    - setArray
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void call(Unit *y, const Unit *x, const mpz_class& mx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/bint_test.cpp:875,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - y
    - x
    - CC
    argTypes:
    - Unit*
    - Unit*
    - int
    constantsTouched: []
    func_position:
      end: 877
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 877
    functionName: bench
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 3
    functionsReached:
    - CYBOZU_BENCH_C
    - printf
    linkageType: ''
    returnType: void
    signature: void bench(Unit *y, const Unit *x, int CC)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 882
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 882
    functionName: call
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void call(Unit *, const Unit *, const mpz_class&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 883
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 883
    functionName: bench
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bench(Unit *, const Unit *, int)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:889,1
    - Dst: setRand
      Src: /src/mcl/test/bint_test.cpp:893,1
    - Dst: sqrT<N>
      Src: /src/mcl/test/bint_test.cpp:894,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:895,1
    - Dst: setArray
      Src: /src/mcl/test/bint_test.cpp:896,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:897,1
    - Dst: memset
      Src: /src/mcl/test/bint_test.cpp:898,1
    - Dst: call
      Src: /src/mcl/test/bint_test.cpp:899,1
    - Dst: printf
      Src: /src/mcl/test/bint_test.cpp:903,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:904,1
    - Dst: printf
      Src: /src/mcl/test/bint_test.cpp:905,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:906,1
    - Dst: bench
      Src: /src/mcl/test/bint_test.cpp:907,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 909
      start: 887
    functionDepth: 3
    functionLinenumber: 887
    functionLinenumberEnd: 909
    functionName: testSqr
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - setArray
    - setRand
    - printf
    - CYBOZU_TEST_EQUAL
    - sqrT<N>
    - call
    - memset
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    - bench
    linkageType: ''
    returnType: void
    signature: void testSqr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testSqr
      Src: /src/mcl/test/bint_test.cpp:913,1
    - Dst: testSqr
      Src: /src/mcl/test/bint_test.cpp:914,1
    - Dst: testSqr
      Src: /src/mcl/test/bint_test.cpp:915,1
    - Dst: testSqr
      Src: /src/mcl/test/bint_test.cpp:916,1
    - Dst: testSqr
      Src: /src/mcl/test/bint_test.cpp:917,1
    - Dst: testSqr
      Src: /src/mcl/test/bint_test.cpp:918,1
    - Dst: testSqr
      Src: /src/mcl/test/bint_test.cpp:919,1
    - Dst: testSqr
      Src: /src/mcl/test/bint_test.cpp:920,1
    - Dst: testSqr
      Src: /src/mcl/test/bint_test.cpp:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 922
      start: 911
    functionDepth: 4
    functionLinenumber: 911
    functionLinenumberEnd: 922
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - testSqr
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(sqr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::mulUnit1
      Src: /src/mcl/test/bint_test.cpp:927,1
    - Dst: modT
      Src: /src/mcl/test/bint_test.cpp:929,1
    - Dst: puts
      Src: /src/mcl/test/bint_test.cpp:930,1
    - Dst: exit
      Src: /src/mcl/test/bint_test.cpp:931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' smp'
    - x
    argTypes:
    - mcl::bint::SmallModP
    - Unit[]
    constantsTouched: []
    func_position:
      end: 933
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 933
    functionName: setAndModT
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::bint::mulUnit1
    - puts
    - exit
    - modT
    linkageType: ''
    returnType: void
    signature: void setAndModT(const mcl::bint::SmallModP& smp, Unit x[N+1])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::mulUnit1
      Src: /src/mcl/test/bint_test.cpp:938,1
    - Dst: mod
      Src: /src/mcl/test/bint_test.cpp:940,1
    - Dst: puts
      Src: /src/mcl/test/bint_test.cpp:941,1
    - Dst: exit
      Src: /src/mcl/test/bint_test.cpp:942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' smp'
    - x
    argTypes:
    - mcl::bint::SmallModP
    - Unit[]
    constantsTouched: []
    func_position:
      end: 944
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 944
    functionName: setAndMod
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::bint::mulUnit1
    - mod
    - exit
    - puts
    linkageType: ''
    returnType: void
    signature: void setAndMod(const mcl::bint::SmallModP& smp, Unit x[N+1])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/bint_test.cpp:949,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/bint_test.cpp:953,1
    - Dst: mcl::bint::SmallModP::init
      Src: /src/mcl/test/bint_test.cpp:955,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/test/bint_test.cpp:956,1
    - Dst: mcl::bint::copyT<N>
      Src: /src/mcl/test/bint_test.cpp:958,1
    - Dst: mcl::bint::mulUnit1
      Src: /src/mcl/test/bint_test.cpp:961,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/test/bint_test.cpp:964,1
    - Dst: mcl::bint::div
      Src: /src/mcl/test/bint_test.cpp:965,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bint_test.cpp:966,1
    - Dst: mcl::bint::SmallModP::mod
      Src: /src/mcl/test/bint_test.cpp:971,1
    - Dst: mcl::bint::SmallModP::modT
      Src: /src/mcl/test/bint_test.cpp:972,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/test/bint_test.cpp:974,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/test/bint_test.cpp:975,1
    - Dst: mcl::bint::copyT<N>
      Src: /src/mcl/test/bint_test.cpp:977,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:982,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/test/bint_test.cpp:983,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - pStr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 986
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 986
    functionName: testSmallModP
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - mcl::bint::SmallModP::modT
    - CYBOZU_TEST_EQUAL_ARRAY
    - mcl::bint::mulUnit1
    - mcl::bint::div
    - CYBOZU_TEST_ASSERT
    - printf
    - CYBOZU_TEST_EQUAL
    - mcl::bint::copyT<N>
    - mcl::bint::SmallModP::init
    - mcl::bint::SmallModP::mod
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    - mcl::bint::copyN
    linkageType: ''
    returnType: void
    signature: void testSmallModP(const char *pStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bint_test.cpp:1003,1
    - Dst: testSmallModP
      Src: /src/mcl/test/bint_test.cpp:1004,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/bint_test.cpp:1011,1
    - Dst: testSmallModP
      Src: /src/mcl/test/bint_test.cpp:1012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 988
    functionDepth: 2
    functionLinenumber: 988
    functionLinenumberEnd: 1014
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/bint_test.cpp
    functionUses: 0
    functionsReached:
    - testSmallModP
    - CYBOZU_NUM_OF_ARRAY
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(SmallModP)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getStr
      Src: /src/mcl/test/mont_fp_test.cpp:16,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/test/mont_fp_test.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: getMpz
    functionSourceFile: /src/mcl/test/mont_fp_test.cpp
    functionUses: 18
    functionsReached:
    - getStr
    - mcl::gmp::setStr
    linkageType: ''
    returnType: mpz_class
    signature: mpz_class getMpz(const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/mcl/test/mont_fp_test.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: getStr
    functionSourceFile: /src/mcl/test/mont_fp_test.cpp
    functionUses: 37
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string getStr(const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::setStr
      Src: /src/mcl/test/mont_fp_test.cpp:34,1
    - Dst: getStr
      Src: /src/mcl/test/mont_fp_test.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - U
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: castTo
    functionSourceFile: /src/mcl/test/mont_fp_test.cpp
    functionUses: 0
    functionsReached:
    - getStr
    - T::setStr
    linkageType: ''
    returnType: T
    signature: T castTo(const U& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/mont_fp_test.cpp:43,1
    - Dst: printf
      Src: /src/mcl/test/mont_fp_test.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: putRaw
    functionSourceFile: /src/mcl/test/mont_fp_test.cpp
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void putRaw(const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/test/mont_fp_test.cpp:52,1
    - Dst: printf
      Src: /src/mcl/test/mont_fp_test.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - (x)
    argTypes:
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: put
    functionSourceFile: /src/mcl/test/mont_fp_test.cpp
    functionUses: 208
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void put(const uint64_t (&x)[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/test/mont_fp_test.cpp:60,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/test/mont_fp_test.cpp:63,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/test/mont_fp_test.cpp:64,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/test/mont_fp_test.cpp:65,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/test/mont_fp_test.cpp:66,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/test/mont_fp_test.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: run
    functionSourceFile: /src/mcl/test/mont_fp_test.cpp
    functionUses: 68
    functionsReached:
    - Botan_Tests::test_x509_uninit
    - CYBOZU_BENCH
    linkageType: ''
    returnType: void
    signature: void run(const char *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/test/mont_fp_test.cpp:76,1
    - Dst: getStr
      Src: /src/mcl/test/mont_fp_test.cpp:79,1
    - Dst: puts
      Src: /src/mcl/test/mont_fp_test.cpp:81,1
    - Dst: Montgomery::toMont
      Src: /src/mcl/test/mont_fp_test.cpp:85,1
    - Dst: Montgomery::toMont
      Src: /src/mcl/test/mont_fp_test.cpp:86,1
    - Dst: Montgomery::mul
      Src: /src/mcl/test/mont_fp_test.cpp:88,1
    - Dst: Montgomery::fromMont
      Src: /src/mcl/test/mont_fp_test.cpp:89,1
    - Dst: getStr
      Src: /src/mcl/test/mont_fp_test.cpp:90,1
    - Dst: puts
      Src: /src/mcl/test/mont_fp_test.cpp:93,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/test/mont_fp_test.cpp:94,1
    - Dst: getStr
      Src: /src/mcl/test/mont_fp_test.cpp:97,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mont_fp_test.cpp:98,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/test/mont_fp_test.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - pStr
    - xStr
    - yStr
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 100
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 100
    functionName: customTest
    functionSourceFile: /src/mcl/test/mont_fp_test.cpp
    functionUses: 0
    functionsReached:
    - Montgomery::mul
    - CYBOZU_TEST_EQUAL
    - puts
    - Botan_Tests::test_x509_uninit
    - getStr
    - Montgomery::toMont
    - Montgomery::fromMont
    linkageType: ''
    returnType: void
    signature: void customTest(const char *pStr, const char *xStr, const char *yStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/mont_fp_test.cpp:117,1
    - Dst: customTest
      Src: /src/mcl/test/mont_fp_test.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/mont_fp_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - customTest
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(customTest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/test/mont_fp_test.cpp:155,1
    - Dst: printf
      Src: /src/mcl/test/mont_fp_test.cpp:156,1
    - Dst: Test::run
      Src: /src/mcl/test/mont_fp_test.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 159
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/test/mont_fp_test.cpp
    functionUses: 0
    functionsReached:
    - Test::run
    - CYBOZU_NUM_OF_ARRAY
    - printf
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(test)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Fr*>
      Src: /src/mcl/src/cast.hpp:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 8
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 8
    functionName: mcl::cast
    functionSourceFile: /src/mcl/src/cast.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Fr*>
    linkageType: ''
    returnType: Fr
    signature: Fr *cast(mclBnFr *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Fr*>
      Src: /src/mcl/src/cast.hpp:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 9
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 9
    functionName: mcl::cast
    functionSourceFile: /src/mcl/src/cast.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const Fr*>
    linkageType: ''
    returnType: Fr
    signature: Fr *cast(const mclBnFr *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<G1*>
      Src: /src/mcl/src/cast.hpp:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - mclBnG1*
    constantsTouched: []
    func_position:
      end: 11
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 11
    functionName: mcl::cast
    functionSourceFile: /src/mcl/src/cast.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<G1*>
    linkageType: ''
    returnType: G1
    signature: G1 *cast(mclBnG1 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const G1*>
      Src: /src/mcl/src/cast.hpp:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - mclBnG1*
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: mcl::cast
    functionSourceFile: /src/mcl/src/cast.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const G1*>
    linkageType: ''
    returnType: G1
    signature: G1 *cast(const mclBnG1 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<G2*>
      Src: /src/mcl/src/cast.hpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - mclBnG2*
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: mcl::cast
    functionSourceFile: /src/mcl/src/cast.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<G2*>
    linkageType: ''
    returnType: G2
    signature: G2 *cast(mclBnG2 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const G2*>
      Src: /src/mcl/src/cast.hpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - mclBnG2*
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: mcl::cast
    functionSourceFile: /src/mcl/src/cast.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const G2*>
    linkageType: ''
    returnType: G2
    signature: G2 *cast(const mclBnG2 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Fp12*>
      Src: /src/mcl/src/cast.hpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - mclBnGT*
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: mcl::cast
    functionSourceFile: /src/mcl/src/cast.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Fp12*>
    linkageType: ''
    returnType: Fp12
    signature: Fp12 *cast(mclBnGT *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Fp12*>
      Src: /src/mcl/src/cast.hpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - mclBnGT*
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: mcl::cast
    functionSourceFile: /src/mcl/src/cast.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const Fp12*>
    linkageType: ''
    returnType: Fp12
    signature: Fp12 *cast(const mclBnGT *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Fp6*>
      Src: /src/mcl/src/cast.hpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: mcl::cast
    functionSourceFile: /src/mcl/src/cast.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Fp6*>
    linkageType: ''
    returnType: Fp6
    signature: Fp6 *cast(uint64_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Fp6*>
      Src: /src/mcl/src/cast.hpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: mcl::cast
    functionSourceFile: /src/mcl/src/cast.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const Fp6*>
    linkageType: ''
    returnType: Fp6
    signature: Fp6 *cast(const uint64_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Fp2*>
      Src: /src/mcl/src/cast.hpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - mclBnFp2*
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: mcl::cast
    functionSourceFile: /src/mcl/src/cast.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Fp2*>
    linkageType: ''
    returnType: Fp2
    signature: Fp2 *cast(mclBnFp2 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Fp2*>
      Src: /src/mcl/src/cast.hpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - mclBnFp2*
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: mcl::cast
    functionSourceFile: /src/mcl/src/cast.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const Fp2*>
    linkageType: ''
    returnType: Fp2
    signature: Fp2 *cast(const mclBnFp2 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Fp*>
      Src: /src/mcl/src/cast.hpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: mcl::cast
    functionSourceFile: /src/mcl/src/cast.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Fp*>
    linkageType: ''
    returnType: Fp
    signature: Fp *cast(mclBnFp *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Fp*>
      Src: /src/mcl/src/cast.hpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: mcl::cast
    functionSourceFile: /src/mcl/src/cast.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const Fp*>
    linkageType: ''
    returnType: Fp
    signature: Fp *cast(const mclBnFp *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 159
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - uint32_t[]
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 136
      start: 1
    functionDepth: 0
    functionLinenumber: 1
    functionLinenumberEnd: 136
    functionName: sqrPre
    functionSourceFile: /src/mcl/src/sqr256_wasm.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sqrPre(uint32_t y[16], const uint32_t x[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Code
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Code()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/mcl/src/gen.cpp:44,1
    - Dst: end
      Src: /src/mcl/src/gen.cpp:44,1
    - Dst: setPrivate
      Src: /src/mcl/src/gen.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - Function
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: verifyAndSetPrivate
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - setPrivate
    linkageType: ''
    returnType: void
    signature: void verifyAndSetPrivate(Function& f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/src/gen.cpp:51,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen.cpp:54,1
    - Dst: bitcast
      Src: /src/mcl/src/gen.cpp:59,1
    - Dst: Operand
      Src: /src/mcl/src/gen.cpp:59,1
    - Dst: store
      Src: /src/mcl/src/gen.cpp:61,1
    - Dst: store
      Src: /src/mcl/src/gen.cpp:64,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen.cpp:69,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:70,1
    - Dst: store
      Src: /src/mcl/src/gen.cpp:71,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 77
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 77
    functionName: storeN
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - bitcast
    - getelementptr
    - trunc
    - lshr
    - Operand
    - store
    linkageType: ''
    returnType: void
    signature: void storeN(Operand r, Operand p, int offset = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/src/gen.cpp:81,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen.cpp:84,1
    - Dst: bitcast
      Src: /src/mcl/src/gen.cpp:88,1
    - Dst: Operand
      Src: /src/mcl/src/gen.cpp:88,1
    - Dst: load
      Src: /src/mcl/src/gen.cpp:90,1
    - Dst: load
      Src: /src/mcl/src/gen.cpp:92,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:94,1
    - Dst: load
      Src: /src/mcl/src/gen.cpp:95,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen.cpp:95,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:96,1
    - Dst: shl
      Src: /src/mcl/src/gen.cpp:97,1
    - Dst: _or
      Src: /src/mcl/src/gen.cpp:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - Operand
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 102
    functionName: loadN
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - bitcast
    - getelementptr
    - _or
    - shl
    - Operand
    - zext
    - load
    linkageType: ''
    returnType: Operand
    signature: Operand loadN(Operand p, size_t n, int offset = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:106,1
    - Dst: Function
      Src: /src/mcl/src/gen.cpp:110,1
    - Dst: setPrivate
      Src: /src/mcl/src/gen.cpp:111,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:112,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:113,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:115,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:116,1
    - Dst: mul
      Src: /src/mcl/src/gen.cpp:117,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:118,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 120
    functionName: gen_mul32x32
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - zext
    - ret
    - setPrivate
    - verifyAndSetPrivate
    - resetGlobalIdx
    - endFunc
    - beginFunc
    - Function
    - mul
    linkageType: ''
    returnType: void
    signature: void gen_mul32x32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:123,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:123,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:124,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:125,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:125,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:126,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:127,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:128,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:129,1
    - Dst: shl
      Src: /src/mcl/src/gen.cpp:130,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:130,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:131,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:132,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:133,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:134,1
    - Dst: shl
      Src: /src/mcl/src/gen.cpp:135,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:135,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:136,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:137,1
    - Dst: shl
      Src: /src/mcl/src/gen.cpp:138,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:138,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Operand
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 140
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 140
    functionName: gen_mul64x64
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - add
    - call
    - trunc
    - shl
    - lshr
    - zext
    linkageType: ''
    returnType: void
    signature: void gen_mul64x64(Operand& z, Operand& x, Operand& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:143,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:150,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:151,1
    - Dst: gen_mul64x64
      Src: /src/mcl/src/gen.cpp:153,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:154,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 156
    functionName: gen_multi3
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - gen_mul64x64
    - ret
    - verifyAndSetPrivate
    - resetGlobalIdx
    - endFunc
    - beginFunc
    linkageType: ''
    returnType: void
    signature: void gen_multi3()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gen_mul32x32
      Src: /src/mcl/src/gen.cpp:160,1
    - Dst: gen_multi3
      Src: /src/mcl/src/gen.cpp:161,1
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:163,1
    - Dst: Function
      Src: /src/mcl/src/gen.cpp:169,1
    - Dst: setPrivate
      Src: /src/mcl/src/gen.cpp:170,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:171,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:172,1
    - Dst: gen_mul64x64
      Src: /src/mcl/src/gen.cpp:175,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:177,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:178,1
    - Dst: mul
      Src: /src/mcl/src/gen.cpp:179,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:181,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 157
    functionDepth: 5
    functionLinenumber: 157
    functionLinenumberEnd: 183
    functionName: gen_mulUU
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - zext
    - gen_mul64x64
    - ret
    - beginFunc
    - setPrivate
    - verifyAndSetPrivate
    - gen_multi3
    - resetGlobalIdx
    - endFunc
    - gen_mul32x32
    - Function
    - mul
    linkageType: ''
    returnType: void
    signature: void gen_mulUU()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:186,1
    - Dst: Function
      Src: /src/mcl/src/gen.cpp:191,1
    - Dst: setPrivate
      Src: /src/mcl/src/gen.cpp:192,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:193,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:195,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:196,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:197,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 199
    functionName: gen_extractHigh
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - ret
    - setPrivate
    - resetGlobalIdx
    - trunc
    - lshr
    - endFunc
    - beginFunc
    - Function
    linkageType: ''
    returnType: void
    signature: void gen_extractHigh()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:202,1
    - Dst: Function
      Src: /src/mcl/src/gen.cpp:209,1
    - Dst: setPrivate
      Src: /src/mcl/src/gen.cpp:210,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:211,1
    - Dst: load
      Src: /src/mcl/src/gen.cpp:213,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen.cpp:213,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:214,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:215,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 217
    functionName: gen_mulPos
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - ret
    - setPrivate
    - call
    - resetGlobalIdx
    - getelementptr
    - endFunc
    - beginFunc
    - Function
    - load
    linkageType: ''
    returnType: void
    signature: void gen_mulPos()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:220,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: extract192to64
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - trunc
    - lshr
    linkageType: ''
    returnType: Operand
    signature: Operand extract192to64(const Operand& x, uint32_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:226,1
    - Dst: makeImm
      Src: /src/mcl/src/gen.cpp:231,1
    - Dst: makeImm
      Src: /src/mcl/src/gen.cpp:232,1
    - Dst: makeImm
      Src: /src/mcl/src/gen.cpp:233,1
    - Dst: Function
      Src: /src/mcl/src/gen.cpp:234,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:235,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:236,1
    - Dst: sub
      Src: /src/mcl/src/gen.cpp:237,1
    - Dst: sub
      Src: /src/mcl/src/gen.cpp:238,1
    - Dst: sub
      Src: /src/mcl/src/gen.cpp:239,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:240,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:241,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:242,1
    - Dst: shl
      Src: /src/mcl/src/gen.cpp:243,1
    - Dst: shl
      Src: /src/mcl/src/gen.cpp:244,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:245,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:246,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:247,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 249
    functionName: gen_makeNIST_P192
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - zext
    - add
    - ret
    - sub
    - verifyAndSetPrivate
    - resetGlobalIdx
    - makeImm
    - shl
    - endFunc
    - beginFunc
    - Function
    linkageType: ''
    returnType: void
    signature: void gen_makeNIST_P192()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:270,1
    - Dst: Function
      Src: /src/mcl/src/gen.cpp:274,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:275,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:276,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:279,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:280,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:282,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:283,1
    - Dst: shl
      Src: /src/mcl/src/gen.cpp:285,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:286,1
    - Dst: extract192to64
      Src: /src/mcl/src/gen.cpp:288,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:289,1
    - Dst: _or
      Src: /src/mcl/src/gen.cpp:290,1
    - Dst: shl
      Src: /src/mcl/src/gen.cpp:292,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:294,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:295,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:296,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:298,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:299,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:300,1
    - Dst: shl
      Src: /src/mcl/src/gen.cpp:301,1
    - Dst: _or
      Src: /src/mcl/src/gen.cpp:302,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:304,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:305,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:307,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:308,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:309,1
    - Dst: sub
      Src: /src/mcl/src/gen.cpp:310,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:311,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:311,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:312,1
    - Dst: select
      Src: /src/mcl/src/gen.cpp:312,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:313,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:314,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 316
    functionName: gen_mcl_fpDbl_mod_NIST_P192
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - zext
    - add
    - ret
    - extract192to64
    - sub
    - verifyAndSetPrivate
    - loadN
    - call
    - resetGlobalIdx
    - storeN
    - trunc
    - _or
    - shl
    - lshr
    - endFunc
    - beginFunc
    - Function
    - select
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fpDbl_mod_NIST_P192()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:325,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:335,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:336,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:337,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:338,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:339,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:340,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:341,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:342,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:343,1
    - Dst: _and
      Src: /src/mcl/src/gen.cpp:344,1
    - Dst: makeImm
      Src: /src/mcl/src/gen.cpp:344,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:345,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:346,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:347,1
    - Dst: extract
      Src: /src/mcl/src/gen.cpp:348,1
    - Dst: _or
      Src: /src/mcl/src/gen.cpp:349,1
    - Dst: makeImm
      Src: /src/mcl/src/gen.cpp:349,1
    - Dst: extract
      Src: /src/mcl/src/gen.cpp:351,1
    - Dst: _and
      Src: /src/mcl/src/gen.cpp:352,1
    - Dst: icmp
      Src: /src/mcl/src/gen.cpp:354,1
    - Dst: makeImm
      Src: /src/mcl/src/gen.cpp:354,1
    - Dst: br
      Src: /src/mcl/src/gen.cpp:357,1
    - Dst: putLabel
      Src: /src/mcl/src/gen.cpp:358,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:360,1
    - Dst: makeImm
      Src: /src/mcl/src/gen.cpp:360,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:362,1
    - Dst: putLabel
      Src: /src/mcl/src/gen.cpp:363,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:364,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:365,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 367
    functionName: gen_mcl_fpDbl_mod_NIST_P521
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - zext
    - add
    - ret
    - br
    - verifyAndSetPrivate
    - loadN
    - _and
    - resetGlobalIdx
    - icmp
    - storeN
    - trunc
    - makeImm
    - extract
    - _or
    - lshr
    - endFunc
    - beginFunc
    - putLabel
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fpDbl_mod_NIST_P521()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:370,1
    - Dst: Function
      Src: /src/mcl/src/gen.cpp:374,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:375,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:376,1
    - Dst: alloca_
      Src: /src/mcl/src/gen.cpp:377,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen.cpp:379,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:380,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:381,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:382,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 368
    functionDepth: 3
    functionLinenumber: 368
    functionLinenumberEnd: 384
    functionName: gen_mcl_fp_sqr_NIST_P192
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - ret
    - alloca_
    - verifyAndSetPrivate
    - call
    - resetGlobalIdx
    - cybozu::itoa
    - endFunc
    - beginFunc
    - Function
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fp_sqr_NIST_P192()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:387,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:393,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:394,1
    - Dst: alloca_
      Src: /src/mcl/src/gen.cpp:395,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen.cpp:397,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:398,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:399,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:400,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 402
    functionName: gen_mcl_fp_mulNIST_P192
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - ret
    - alloca_
    - verifyAndSetPrivate
    - call
    - resetGlobalIdx
    - cybozu::itoa
    - endFunc
    - beginFunc
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fp_mulNIST_P192()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gen_mulUU
      Src: /src/mcl/src/gen.cpp:405,1
    - Dst: gen_extractHigh
      Src: /src/mcl/src/gen.cpp:406,1
    - Dst: gen_mulPos
      Src: /src/mcl/src/gen.cpp:407,1
    - Dst: gen_makeNIST_P192
      Src: /src/mcl/src/gen.cpp:408,1
    - Dst: gen_mcl_fpDbl_mod_NIST_P192
      Src: /src/mcl/src/gen.cpp:409,1
    - Dst: gen_mcl_fp_sqr_NIST_P192
      Src: /src/mcl/src/gen.cpp:410,1
    - Dst: gen_mcl_fp_mulNIST_P192
      Src: /src/mcl/src/gen.cpp:411,1
    - Dst: gen_mcl_fpDbl_mod_NIST_P521
      Src: /src/mcl/src/gen.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 403
    functionDepth: 4
    functionLinenumber: 403
    functionLinenumberEnd: 413
    functionName: gen_once
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - gen_mcl_fpDbl_mod_NIST_P192
    - gen_mulPos
    - gen_mcl_fp_mulNIST_P192
    - gen_makeNIST_P192
    - gen_extractHigh
    - gen_mcl_fp_sqr_NIST_P192
    - gen_mulUU
    - gen_mcl_fpDbl_mod_NIST_P521
    linkageType: ''
    returnType: void
    signature: void gen_once()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:416,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 419
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 419
    functionName: extract
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 34
    functionsReached:
    - trunc
    - lshr
    linkageType: ''
    returnType: Operand
    signature: Operand extract(const Operand& x, uint32_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:422,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen.cpp:429,1
    - Dst: Function
      Src: /src/mcl/src/gen.cpp:430,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:431,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:432,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen.cpp:434,1
    - Dst: Function
      Src: /src/mcl/src/gen.cpp:435,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:436,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:437,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:439,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:439,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:440,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:440,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:443,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:444,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:444,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:445,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:445,1
    - Dst: sub
      Src: /src/mcl/src/gen.cpp:447,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:448,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:448,1
    - Dst: makeImm
      Src: /src/mcl/src/gen.cpp:449,1
    - Dst: _and
      Src: /src/mcl/src/gen.cpp:450,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:450,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:450,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:452,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - isAdd
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 454
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 454
    functionName: gen_mcl_fp_addsubPre
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 1
    functionsReached:
    - zext
    - add
    - ret
    - sub
    - verifyAndSetPrivate
    - loadN
    - _and
    - resetGlobalIdx
    - storeN
    - trunc
    - makeImm
    - cybozu::itoa
    - lshr
    - endFunc
    - beginFunc
    - Function
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fp_addsubPre(bool isAdd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:458,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen.cpp:464,1
    - Dst: Function
      Src: /src/mcl/src/gen.cpp:465,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:466,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:467,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen.cpp:469,1
    - Dst: Function
      Src: /src/mcl/src/gen.cpp:470,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:471,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:472,1
    - Dst: load
      Src: /src/mcl/src/gen.cpp:474,1
    - Dst: load
      Src: /src/mcl/src/gen.cpp:475,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:478,1
    - Dst: sub
      Src: /src/mcl/src/gen.cpp:480,1
    - Dst: store
      Src: /src/mcl/src/gen.cpp:482,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:483,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - isAdd
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 485
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 485
    functionName: gen_mcl_fp_addsubPre
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 1
    functionsReached:
    - add
    - ret
    - sub
    - verifyAndSetPrivate
    - resetGlobalIdx
    - cybozu::itoa
    - endFunc
    - store
    - beginFunc
    - Function
    - load
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fp_addsubPre(bool isAdd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:489,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen.cpp:492,1
    - Dst: Function
      Src: /src/mcl/src/gen.cpp:493,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:494,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:495,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:496,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:497,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:498,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:499,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 501
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 501
    functionName: gen_mcl_fp_shr1
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - ret
    - verifyAndSetPrivate
    - loadN
    - resetGlobalIdx
    - storeN
    - cybozu::itoa
    - lshr
    - endFunc
    - beginFunc
    - Function
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fp_shr1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:504,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen.cpp:513,1
    - Dst: Function
      Src: /src/mcl/src/gen.cpp:514,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:515,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:516,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:517,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:518,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:520,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:521,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:522,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:523,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:524,1
    - Dst: sub
      Src: /src/mcl/src/gen.cpp:525,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:526,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:526,1
    - Dst: select
      Src: /src/mcl/src/gen.cpp:527,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:528,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:529,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:531,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:532,1
    - Dst: sub
      Src: /src/mcl/src/gen.cpp:533,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:534,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:534,1
    - Dst: select
      Src: /src/mcl/src/gen.cpp:535,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:536,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:538,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 540
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 540
    functionName: gen_mcl_fp_add
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - zext
    - add
    - ret
    - sub
    - verifyAndSetPrivate
    - loadN
    - resetGlobalIdx
    - storeN
    - trunc
    - cybozu::itoa
    - lshr
    - endFunc
    - beginFunc
    - Function
    - select
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fp_add(bool isFullBit = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:543,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen.cpp:552,1
    - Dst: Function
      Src: /src/mcl/src/gen.cpp:553,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:554,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:555,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:556,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:557,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:559,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:560,1
    - Dst: sub
      Src: /src/mcl/src/gen.cpp:562,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:565,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:565,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:566,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:568,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:568,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:570,1
    - Dst: select
      Src: /src/mcl/src/gen.cpp:571,1
    - Dst: makeImm
      Src: /src/mcl/src/gen.cpp:571,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:572,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:573,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:574,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 576
    functionName: gen_mcl_fp_sub
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - zext
    - add
    - ret
    - sub
    - verifyAndSetPrivate
    - loadN
    - resetGlobalIdx
    - storeN
    - trunc
    - makeImm
    - cybozu::itoa
    - lshr
    - endFunc
    - beginFunc
    - Function
    - select
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fp_sub(bool isFullBit = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:583,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen.cpp:588,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:590,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:591,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:592,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:593,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:594,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:595,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:596,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:597,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:598,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:600,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:601,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:602,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:603,1
    - Dst: sub
      Src: /src/mcl/src/gen.cpp:604,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:605,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:606,1
    - Dst: select
      Src: /src/mcl/src/gen.cpp:607,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:608,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:609,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:610,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 612
    functionName: gen_mcl_fpDbl_add
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - zext
    - add
    - ret
    - sub
    - verifyAndSetPrivate
    - loadN
    - resetGlobalIdx
    - storeN
    - trunc
    - cybozu::itoa
    - lshr
    - endFunc
    - beginFunc
    - select
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fpDbl_add()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:618,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen.cpp:619,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:625,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:626,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:627,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:628,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:629,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:630,1
    - Dst: sub
      Src: /src/mcl/src/gen.cpp:631,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:632,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:633,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:635,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:636,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:637,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:638,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:639,1
    - Dst: select
      Src: /src/mcl/src/gen.cpp:640,1
    - Dst: makeImm
      Src: /src/mcl/src/gen.cpp:640,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:641,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:642,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:643,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 645
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 645
    functionName: gen_mcl_fpDbl_sub
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - zext
    - add
    - ret
    - sub
    - verifyAndSetPrivate
    - loadN
    - resetGlobalIdx
    - storeN
    - trunc
    - makeImm
    - cybozu::itoa
    - lshr
    - endFunc
    - beginFunc
    - select
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fpDbl_sub()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:656,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:657,1
    - Dst: shl
      Src: /src/mcl/src/gen.cpp:658,1
    - Dst: _or
      Src: /src/mcl/src/gen.cpp:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - px
    - n
    argTypes:
    - Operand*
    - size_t
    constantsTouched: []
    func_position:
      end: 662
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 662
    functionName: pack
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 19
    functionsReached:
    - zext
    - _or
    - shl
    linkageType: ''
    returnType: Operand
    signature: Operand pack(const Operand *px, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:669,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen.cpp:673,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen.cpp:673,1
    - Dst: Function
      Src: /src/mcl/src/gen.cpp:674,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:677,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:678,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:681,1
    - Dst: makeImm
      Src: /src/mcl/src/gen.cpp:681,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:682,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:683,1
    - Dst: pack
      Src: /src/mcl/src/gen.cpp:685,1
    - Dst: pack
      Src: /src/mcl/src/gen.cpp:686,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:687,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:688,1
    - Dst: shl
      Src: /src/mcl/src/gen.cpp:689,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:690,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:691,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 693
      start: 666
    functionDepth: 3
    functionLinenumber: 666
    functionLinenumberEnd: 693
    functionName: gen_mulPv
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - zext
    - add
    - ret
    - verifyAndSetPrivate
    - call
    - resetGlobalIdx
    - makeImm
    - trunc
    - cybozu::itoa
    - shl
    - endFunc
    - beginFunc
    - Function
    - pack
    linkageType: ''
    returnType: void
    signature: void gen_mulPv()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:696,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen.cpp:700,1
    - Dst: Function
      Src: /src/mcl/src/gen.cpp:701,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:702,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:703,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:704,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:705,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:706,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 708
      start: 694
    functionDepth: 3
    functionLinenumber: 694
    functionLinenumberEnd: 708
    functionName: gen_mcl_fp_mulUnitPre
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - ret
    - verifyAndSetPrivate
    - call
    - resetGlobalIdx
    - storeN
    - cybozu::itoa
    - endFunc
    - beginFunc
    - Function
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fp_mulUnitPre()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/src/gen.cpp:712,1
    - Dst: load
      Src: /src/mcl/src/gen.cpp:713,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:714,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:715,1
    - Dst: mul
      Src: /src/mcl/src/gen.cpp:716,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:717,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:718,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen.cpp:728,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen.cpp:729,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen.cpp:730,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:731,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:732,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:734,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:734,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:735,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:735,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:736,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:736,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:737,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:737,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:738,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:739,1
    - Dst: alloca_
      Src: /src/mcl/src/gen.cpp:740,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:741,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:742,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:743,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:743,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:744,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:744,1
    - Dst: _and
      Src: /src/mcl/src/gen.cpp:745,1
    - Dst: select
      Src: /src/mcl/src/gen.cpp:746,1
    - Dst: makeImm
      Src: /src/mcl/src/gen.cpp:746,1
    - Dst: select
      Src: /src/mcl/src/gen.cpp:747,1
    - Dst: makeImm
      Src: /src/mcl/src/gen.cpp:747,1
    - Dst: alloca_
      Src: /src/mcl/src/gen.cpp:748,1
    - Dst: alloca_
      Src: /src/mcl/src/gen.cpp:749,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:750,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:751,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:752,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:753,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:754,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:755,1
    - Dst: shl
      Src: /src/mcl/src/gen.cpp:756,1
    - Dst: _or
      Src: /src/mcl/src/gen.cpp:757,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:758,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:759,1
    - Dst: shl
      Src: /src/mcl/src/gen.cpp:760,1
    - Dst: shl
      Src: /src/mcl/src/gen.cpp:761,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:762,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:763,1
    - Dst: sub
      Src: /src/mcl/src/gen.cpp:764,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:764,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:764,1
    - Dst: sub
      Src: /src/mcl/src/gen.cpp:765,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:765,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:765,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:767,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:769,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:769,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:770,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:771,1
    - Dst: load
      Src: /src/mcl/src/gen.cpp:773,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:774,1
    - Dst: store
      Src: /src/mcl/src/gen.cpp:775,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:775,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:776,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:778,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:779,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:780,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:782,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:782,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:783,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:786,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:787,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 3
    argNames:
    - ' pz'
    - ' px'
    - ' py'
    argTypes:
    - Operand
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 789
      start: 709
    functionDepth: 3
    functionLinenumber: 709
    functionLinenumberEnd: 789
    functionName: generic_fpDbl_mul
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - add
    - loadN
    - _and
    - getelementptr
    - store
    - trunc
    - makeImm
    - _or
    - zext
    - alloca_
    - select
    - mul
    - ret
    - sub
    - call
    - lshr
    - shl
    - storeN
    - load
    linkageType: ''
    returnType: void
    signature: void generic_fpDbl_mul(const Operand& pz, const Operand& px, const
      Operand& py)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:792,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen.cpp:796,1
    - Dst: Function
      Src: /src/mcl/src/gen.cpp:797,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:798,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:799,1
    - Dst: generic_fpDbl_mul
      Src: /src/mcl/src/gen.cpp:800,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 802
      start: 790
    functionDepth: 4
    functionLinenumber: 790
    functionLinenumberEnd: 802
    functionName: gen_mcl_fpDbl_mulPre
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 2
    functionsReached:
    - verifyAndSetPrivate
    - resetGlobalIdx
    - cybozu::itoa
    - endFunc
    - beginFunc
    - Function
    - generic_fpDbl_mul
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fpDbl_mulPre()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:805,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen.cpp:808,1
    - Dst: Function
      Src: /src/mcl/src/gen.cpp:809,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:810,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:811,1
    - Dst: generic_fpDbl_mul
      Src: /src/mcl/src/gen.cpp:812,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 814
      start: 803
    functionDepth: 4
    functionLinenumber: 803
    functionLinenumberEnd: 814
    functionName: gen_mcl_fpDbl_sqrPre
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - verifyAndSetPrivate
    - resetGlobalIdx
    - cybozu::itoa
    - endFunc
    - beginFunc
    - Function
    - generic_fpDbl_mul
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fpDbl_sqrPre()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:819,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen.cpp:828,1
    - Dst: Function
      Src: /src/mcl/src/gen.cpp:829,1
    - Dst: setAlias
      Src: /src/mcl/src/gen.cpp:830,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:831,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:832,1
    - Dst: load
      Src: /src/mcl/src/gen.cpp:833,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen.cpp:833,1
    - Dst: load
      Src: /src/mcl/src/gen.cpp:837,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen.cpp:837,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:838,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:841,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:842,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:844,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:845,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:846,1
    - Dst: mul
      Src: /src/mcl/src/gen.cpp:848,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:849,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:850,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:851,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:852,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:854,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:855,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:855,1
    - Dst: sub
      Src: /src/mcl/src/gen.cpp:856,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:857,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:857,1
    - Dst: select
      Src: /src/mcl/src/gen.cpp:858,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:859,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:860,1
    - Dst: load
      Src: /src/mcl/src/gen.cpp:862,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:863,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:864,1
    - Dst: mul
      Src: /src/mcl/src/gen.cpp:865,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:866,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:867,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:868,1
    - Dst: load
      Src: /src/mcl/src/gen.cpp:870,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen.cpp:870,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:871,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:872,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:873,1
    - Dst: mul
      Src: /src/mcl/src/gen.cpp:874,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:875,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:876,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:877,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:879,1
    - Dst: sub
      Src: /src/mcl/src/gen.cpp:880,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:880,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:881,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:881,1
    - Dst: select
      Src: /src/mcl/src/gen.cpp:882,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:883,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:885,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:886,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 887
      start: 815
    functionDepth: 3
    functionLinenumber: 815
    functionLinenumberEnd: 887
    functionName: gen_mcl_fp_mont
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - add
    - loadN
    - resetGlobalIdx
    - getelementptr
    - verifyAndSetPrivate
    - trunc
    - zext
    - beginFunc
    - Function
    - endFunc
    - select
    - mul
    - ret
    - sub
    - call
    - setAlias
    - cybozu::itoa
    - lshr
    - storeN
    - load
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fp_mont(bool isFullBit = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:892,1
    - Dst: shl
      Src: /src/mcl/src/gen.cpp:893,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:894,1
    - Dst: _or
      Src: /src/mcl/src/gen.cpp:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - H
    - L
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 897
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 897
    functionName: pack
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 20
    functionsReached:
    - zext
    - _or
    - shl
    linkageType: ''
    returnType: Operand
    signature: Operand pack(Operand H, Operand L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:901,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:902,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - L
    - ' x'
    - sizeL
    argTypes:
    - Operand*
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 905
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 905
    functionName: split
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 6
    functionsReached:
    - trunc
    - lshr
    linkageType: ''
    returnType: Operand
    signature: Operand split(Operand *L, const Operand& x, int sizeL)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen.cpp:908,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen.cpp:916,1
    - Dst: Function
      Src: /src/mcl/src/gen.cpp:917,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen.cpp:918,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen.cpp:919,1
    - Dst: load
      Src: /src/mcl/src/gen.cpp:920,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen.cpp:920,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:921,1
    - Dst: loadN
      Src: /src/mcl/src/gen.cpp:924,1
    - Dst: mul
      Src: /src/mcl/src/gen.cpp:929,1
    - Dst: mul
      Src: /src/mcl/src/gen.cpp:931,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:931,1
    - Dst: call
      Src: /src/mcl/src/gen.cpp:933,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:935,1
    - Dst: shl
      Src: /src/mcl/src/gen.cpp:936,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:937,1
    - Dst: load
      Src: /src/mcl/src/gen.cpp:939,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen.cpp:939,1
    - Dst: pack
      Src: /src/mcl/src/gen.cpp:940,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:941,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:942,1
    - Dst: add
      Src: /src/mcl/src/gen.cpp:943,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:944,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:945,1
    - Dst: split
      Src: /src/mcl/src/gen.cpp:946,1
    - Dst: zext
      Src: /src/mcl/src/gen.cpp:950,1
    - Dst: pack
      Src: /src/mcl/src/gen.cpp:951,1
    - Dst: sub
      Src: /src/mcl/src/gen.cpp:952,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:953,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:953,1
    - Dst: select
      Src: /src/mcl/src/gen.cpp:954,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:955,1
    - Dst: sub
      Src: /src/mcl/src/gen.cpp:957,1
    - Dst: trunc
      Src: /src/mcl/src/gen.cpp:958,1
    - Dst: lshr
      Src: /src/mcl/src/gen.cpp:958,1
    - Dst: select
      Src: /src/mcl/src/gen.cpp:959,1
    - Dst: storeN
      Src: /src/mcl/src/gen.cpp:961,1
    - Dst: ret
      Src: /src/mcl/src/gen.cpp:962,1
    - Dst: endFunc
      Src: /src/mcl/src/gen.cpp:963,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 964
      start: 906
    functionDepth: 3
    functionLinenumber: 906
    functionLinenumberEnd: 964
    functionName: gen_mcl_fp_montRed
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - add
    - loadN
    - resetGlobalIdx
    - getelementptr
    - verifyAndSetPrivate
    - trunc
    - zext
    - beginFunc
    - Function
    - endFunc
    - select
    - mul
    - ret
    - split
    - sub
    - call
    - cybozu::itoa
    - shl
    - lshr
    - storeN
    - pack
    - load
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fp_montRed(bool isFullBit = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gen_mcl_fp_addsubPre
      Src: /src/mcl/src/gen.cpp:967,1
    - Dst: gen_mcl_fp_addsubPre
      Src: /src/mcl/src/gen.cpp:968,1
    - Dst: gen_mcl_fp_shr1
      Src: /src/mcl/src/gen.cpp:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 970
      start: 965
    functionDepth: 2
    functionLinenumber: 965
    functionLinenumberEnd: 970
    functionName: gen_all
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - gen_mcl_fp_addsubPre
    - gen_mcl_fp_shr1
    linkageType: ''
    returnType: void
    signature: void gen_all()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gen_mcl_fp_add
      Src: /src/mcl/src/gen.cpp:973,1
    - Dst: gen_mcl_fp_add
      Src: /src/mcl/src/gen.cpp:974,1
    - Dst: gen_mcl_fp_sub
      Src: /src/mcl/src/gen.cpp:975,1
    - Dst: gen_mcl_fp_sub
      Src: /src/mcl/src/gen.cpp:976,1
    - Dst: gen_mcl_fpDbl_add
      Src: /src/mcl/src/gen.cpp:977,1
    - Dst: gen_mcl_fpDbl_sub
      Src: /src/mcl/src/gen.cpp:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 979
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 979
    functionName: gen_addsub
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - gen_mcl_fp_sub
    - gen_mcl_fpDbl_sub
    - gen_mcl_fpDbl_add
    - gen_mcl_fp_add
    linkageType: ''
    returnType: void
    signature: void gen_addsub()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gen_mulPv
      Src: /src/mcl/src/gen.cpp:982,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/src/gen.cpp:985,1
    - Dst: gen_mcl_fpDbl_sqrPre
      Src: /src/mcl/src/gen.cpp:986,1
    - Dst: gen_mcl_fp_mont
      Src: /src/mcl/src/gen.cpp:988,1
    - Dst: gen_mcl_fp_mont
      Src: /src/mcl/src/gen.cpp:989,1
    - Dst: gen_mcl_fp_montRed
      Src: /src/mcl/src/gen.cpp:990,1
    - Dst: gen_mcl_fp_montRed
      Src: /src/mcl/src/gen.cpp:991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 992
      start: 980
    functionDepth: 5
    functionLinenumber: 980
    functionLinenumberEnd: 992
    functionName: gen_mul
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - gen_mcl_fp_mont
    - gen_mulPv
    - gen_mcl_fpDbl_sqrPre
    - gen_mcl_fp_montRed
    - gen_mcl_fpDbl_mulPre
    linkageType: ''
    returnType: void
    signature: void gen_mul()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bit
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 997
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 997
    functionName: setBit
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setBit(uint32_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen.cpp:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - unit
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1003
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1003
    functionName: setUnit
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 0
    functionsReached:
    - cybozu::itoa
    linkageType: ''
    returnType: void
    signature: void setUnit(uint32_t unit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gen_mulUU
      Src: /src/mcl/src/gen.cpp:1009,1
    - Dst: gen_once
      Src: /src/mcl/src/gen.cpp:1011,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/src/gen.cpp:1020,1
    - Dst: setBit
      Src: /src/mcl/src/gen.cpp:1023,1
    - Dst: gen_mul
      Src: /src/mcl/src/gen.cpp:1024,1
    - Dst: gen_all
      Src: /src/mcl/src/gen.cpp:1025,1
    - Dst: gen_addsub
      Src: /src/mcl/src/gen.cpp:1026,1
    - Dst: setBit
      Src: /src/mcl/src/gen.cpp:1031,1
    - Dst: gen_mul
      Src: /src/mcl/src/gen.cpp:1032,1
    - Dst: gen_all
      Src: /src/mcl/src/gen.cpp:1033,1
    - Dst: gen_addsub
      Src: /src/mcl/src/gen.cpp:1034,1
    - Dst: setBit
      Src: /src/mcl/src/gen.cpp:1039,1
    - Dst: gen_all
      Src: /src/mcl/src/gen.cpp:1040,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - ' privateFuncList'
    - maxBitSize
    - ' suf'
    argTypes:
    - StrSet
    - uint32_t
    - std::string
    constantsTouched: []
    func_position:
      end: 1044
      start: 1004
    functionDepth: 3
    functionLinenumber: 1004
    functionLinenumberEnd: 1044
    functionName: gen
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 16
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - setBit
    - gen_addsub
    - gen_all
    - gen_once
    - gen_mul
    - gen_mulUU
    linkageType: ''
    returnType: void
    signature: void gen(const StrSet& privateFuncList, uint32_t maxBitSize, const
      std::string& suf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Option::Option
      Src: /src/mcl/src/gen.cpp:1055,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/src/gen.cpp:1056,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/src/gen.cpp:1057,1
    - Dst: cybozu::Option::appendBoolOpt
      Src: /src/mcl/src/gen.cpp:1058,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/src/gen.cpp:1059,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/src/gen.cpp:1060,1
    - Dst: cybozu::Option::appendHelp
      Src: /src/mcl/src/gen.cpp:1061,1
    - Dst: cybozu::Option::parse
      Src: /src/mcl/src/gen.cpp:1062,1
    - Dst: cybozu::Option::usage
      Src: /src/mcl/src/gen.cpp:1063,1
    - Dst: std::string::empty
      Src: /src/mcl/src/gen.cpp:1067,1
    - Dst: std::string::c_str
      Src: /src/mcl/src/gen.cpp:1068,1
    - Dst: StrSet::insert
      Src: /src/mcl/src/gen.cpp:1071,1
    - Dst: fprintf
      Src: /src/mcl/src/gen.cpp:1075,1
    - Dst: Code::setLlvmVer
      Src: /src/mcl/src/gen.cpp:1076,1
    - Dst: Code::setUnit
      Src: /src/mcl/src/gen.cpp:1078,1
    - Dst: Code::gen
      Src: /src/mcl/src/gen.cpp:1080,1
    - Dst: printf
      Src: /src/mcl/src/gen.cpp:1082,1
    - Dst: what
      Src: /src/mcl/src/gen.cpp:1082,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 1084
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1084
    functionName: main
    functionSourceFile: /src/mcl/src/gen.cpp
    functionUses: 97
    functionsReached:
    - cybozu::Option::appendHelp
    - Code::gen
    - cybozu::Option::Option
    - StrSet::insert
    - printf
    - cybozu::Option::usage
    - what
    - cybozu::Option::parse
    - std::string::c_str
    - fprintf
    - cybozu::Option::appendBoolOpt
    - cybozu::Option::appendOpt
    - std::string::empty
    - Code::setLlvmVer
    - Code::setUnit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::bsr
      Src: /src/mcl/src/glv.hpp:10,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 11
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 11
    functionName: mcl::ec::ilog2
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached:
    - cybozu::bsr
    linkageType: ''
    returnType: size_t
    signature: size_t ilog2(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - b
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: mcl::ec::glvCost
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t glvCost(size_t n, size_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::ilog2
      Src: /src/mcl/src/glv.hpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: mcl::ec::estimateBucketSize
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached:
    - mcl::ec::ilog2
    linkageType: ''
    returnType: size_t
    signature: size_t estimateBucketSize(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/src/glv.hpp:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: mcl::ec::glvGetBucketSize
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    linkageType: ''
    returnType: size_t
    signature: size_t glvGetBucketSize(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: mcl::ec::glvGetTheoreticBucketSize
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t glvGetTheoreticBucketSize(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/src/glv.hpp:72,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/src/glv.hpp:72,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/src/glv.hpp:73,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/src/glv.hpp:73,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/src/glv.hpp:74,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/src/glv.hpp:74,1
    - Dst: mcl::bint::shrT<n+1>
      Src: /src/mcl/src/glv.hpp:77,1
    - Dst: mcl::bint::mulT<n>
      Src: /src/mcl/src/glv.hpp:79,1
    - Dst: mcl::bint::copyT<n>
      Src: /src/mcl/src/glv.hpp:80,1
    - Dst: mcl::bint::mulT<n>
      Src: /src/mcl/src/glv.hpp:81,1
    - Dst: mcl::bint::subT<n*2>
      Src: /src/mcl/src/glv.hpp:82,1
    - Dst: mcl::bint::subT<n>
      Src: /src/mcl/src/glv.hpp:83,1
    - Dst: mcl::bint::addT<n>
      Src: /src/mcl/src/glv.hpp:85,1
    - Dst: mcl::bint::copyT<n>
      Src: /src/mcl/src/glv.hpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - a
    - b
    - x
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 89
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 89
    functionName: mcl::ec::optimizedSplitRawForBLS12_381
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 1
    functionsReached:
    - mcl::bint::mulT<n>
    - MCL_U64_TO_UNIT
    - mcl::bint::copyT<n>
    - mcl::bint::addT<n>
    - mcl::bint::shrT<n+1>
    - mcl::bint::subT<n>
    - mcl::bint::subT<n*2>
    linkageType: ''
    returnType: void
    signature: void optimizedSplitRawForBLS12_381(Unit *a, Unit *b, const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/src/glv.hpp:100,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/src/glv.hpp:100,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/src/glv.hpp:101,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/src/glv.hpp:101,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/src/glv.hpp:102,1
    - Dst: MCL_U64_TO_UNIT
      Src: /src/mcl/src/glv.hpp:102,1
    - Dst: mcl::bint::shrT<n+1>
      Src: /src/mcl/src/glv.hpp:105,1
    - Dst: mcl::bint::mulT<n>
      Src: /src/mcl/src/glv.hpp:107,1
    - Dst: mcl::bint::copyT<n>
      Src: /src/mcl/src/glv.hpp:108,1
    - Dst: mcl::bint::mulT<n>
      Src: /src/mcl/src/glv.hpp:109,1
    - Dst: mcl::bint::subT<n*2>
      Src: /src/mcl/src/glv.hpp:110,1
    - Dst: mcl::bint::subT<n>
      Src: /src/mcl/src/glv.hpp:111,1
    - Dst: mcl::bint::addT<n>
      Src: /src/mcl/src/glv.hpp:113,1
    - Dst: mcl::bint::copyT<n>
      Src: /src/mcl/src/glv.hpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - a
    - b
    - x
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 117
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 117
    functionName: mcl::ec::optimizedSplitRawForBLS12_377
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::mulT<n>
    - MCL_U64_TO_UNIT
    - mcl::bint::copyT<n>
    - mcl::bint::addT<n>
    - mcl::bint::shrT<n+1>
    - mcl::bint::subT<n>
    - mcl::bint::subT<n*2>
    linkageType: ''
    returnType: void
    signature: void optimizedSplitRawForBLS12_377(Unit *a, Unit *b, const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/src/glv.hpp:137,1
    - Dst: mcl::fp::getUnitAt
      Src: /src/mcl/src/glv.hpp:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 10
    argNames:
    - ' win'
    - tbl
    - tblN
    - xVec
    - yVec
    - yUnitSize
    - next
    - pos
    - n
    - first
    argTypes:
    - G
    - G*
    - size_t
    - G*
    - Unit*
    - size_t
    - size_t
    - size_t
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 155
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 155
    functionName: mcl::ec::mulVecUpdateTable
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached:
    - clear
    - mcl::fp::getUnitAt
    linkageType: ''
    returnType: void
    signature: void mulVecUpdateTable(G& win, G *tbl, size_t tblN, const G *xVec,
      const Unit *yVec, size_t yUnitSize, size_t next, size_t pos, size_t n, bool
      first)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/src/glv.hpp:167,1
    - Dst: mcl::mulArray
      Src: /src/mcl/src/glv.hpp:171,1
    - Dst: mcl::ec::glvGetBucketSize
      Src: /src/mcl/src/glv.hpp:182,1
    - Dst: malloc
      Src: /src/mcl/src/glv.hpp:184,1
    - Dst: mcl::ec::glvGetBucketSize
      Src: /src/mcl/src/glv.hpp:193,1
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/src/glv.hpp:195,1
    - Dst: mclBnG1_normalizeVec
      Src: /src/mcl/src/glv.hpp:204,1
    - Dst: mcl::ec::mulVecUpdateTable
      Src: /src/mcl/src/glv.hpp:206,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/src/glv.hpp:209,1
    - Dst: mcl::ec::mulVecUpdateTable
      Src: /src/mcl/src/glv.hpp:211,1
    - Dst: free
      Src: /src/mcl/src/glv.hpp:214,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 8
    argNames:
    - ' z'
    - xVec
    - yVec
    - yUnitSize
    - next
    - n
    - b
    - doNormalize
    argTypes:
    - G
    - G*
    - Unit*
    - size_t
    - size_t
    - size_t
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 217
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 217
    functionName: mcl::ec::mulVecCore
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached:
    - mcl::mulArray
    - mcl::ec::glvGetBucketSize
    - Botan::ge_p2_dbl
    - CYBOZU_ALLOCA
    - free
    - malloc
    - clear
    - mcl::ec::mulVecUpdateTable
    - mclBnG1_normalizeVec
    linkageType: ''
    returnType: size_t
    signature: size_t mulVecCore(G& z, G *xVec, const Unit *yVec, size_t yUnitSize,
      size_t next, size_t n, size_t b, bool doNormalize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::mulVecCore
      Src: /src/mcl/src/glv.hpp:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 8
    argNames:
    - ' z'
    - xVec
    - yVec
    - yUnitSize
    - next
    - n
    - b
    - doNormalize
    argTypes:
    - G
    - G*
    - Unit*
    - size_t
    - size_t
    - size_t
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 231
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 231
    functionName: mcl::ec::mulVecLong
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached:
    - mcl::ec::mulVecCore
    linkageType: ''
    returnType: void
    signature: void mulVecLong(G& z, G *xVec, const Unit *yVec, size_t yUnitSize,
      size_t next, size_t n, size_t b, bool doNormalize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/glv.hpp:238,1
    - Dst: malloc
      Src: /src/mcl/src/glv.hpp:247,1
    - Dst: mclBnG1_normalizeVec
      Src: /src/mcl/src/glv.hpp:252,1
    - Dst: mcl::mulLambda
      Src: /src/mcl/src/glv.hpp:255,1
    - Dst: getMpzAt
      Src: /src/mcl/src/glv.hpp:259,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/mcl/src/glv.hpp:260,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/glv.hpp:265,1
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/src/glv.hpp:268,1
    - Dst: assert
      Src: /src/mcl/src/glv.hpp:269,1
    - Dst: mcl::ec::mulVecLong
      Src: /src/mcl/src/glv.hpp:272,1
    - Dst: free
      Src: /src/mcl/src/glv.hpp:273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - ' z'
    - xVec
    - yVec
    - n
    - bucket
    argTypes:
    - G
    - G*
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 275
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 275
    functionName: mcl::ec::mulVecGLVlarge
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Symmetric_Primitives::G_split
    - mcl::mulLambda
    - getMpzAt
    - free
    - assert
    - malloc
    - Botan::EC_Group_Data::affine_neg
    - mcl::gmp::getArray
    - mcl::ec::mulVecLong
    - mclBnG1_normalizeVec
    linkageType: ''
    returnType: bool
    signature: bool mulVecGLVlarge(G& z, const G *xVec, const void *yVec, size_t n,
      size_t bucket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/glv.hpp:286,1
    - Dst: NafArray
      Src: /src/mcl/src/glv.hpp:292,1
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/src/glv.hpp:292,1
    - Dst: G
      Src: /src/mcl/src/glv.hpp:294,1
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/src/glv.hpp:294,1
    - Dst: getMpzAt
      Src: /src/mcl/src/glv.hpp:299,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/src/glv.hpp:301,1
    - Dst: mcl::bint::getRealSize
      Src: /src/mcl/src/glv.hpp:303,1
    - Dst: mcl::ec::mulSmallInt
      Src: /src/mcl/src/glv.hpp:304,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/mcl/src/glv.hpp:306,1
    - Dst: mcl::gmp::getNAFwidth
      Src: /src/mcl/src/glv.hpp:310,1
    - Dst: assert
      Src: /src/mcl/src/glv.hpp:311,1
    - Dst: size
      Src: /src/mcl/src/glv.hpp:312,1
    - Dst: size
      Src: /src/mcl/src/glv.hpp:312,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/src/glv.hpp:316,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/glv.hpp:319,1
    - Dst: mclBnG1_normalizeVec
      Src: /src/mcl/src/glv.hpp:322,1
    - Dst: mcl::mulLambda
      Src: /src/mcl/src/glv.hpp:325,1
    - Dst: mcl::mulLambda
      Src: /src/mcl/src/glv.hpp:329,1
    - Dst: clear
      Src: /src/mcl/src/glv.hpp:333,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/src/glv.hpp:336,1
    - Dst: mcl::ec::local::addTbl
      Src: /src/mcl/src/glv.hpp:339,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 4
    argNames:
    - ' z'
    - xVec
    - yVec
    - n
    argTypes:
    - G
    - G*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 343
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 343
    functionName: mcl::ec::mulVecGLVsmall
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached:
    - mcl::ec::mulSmallInt
    - Botan::Kyber_Symmetric_Primitives::G_split
    - Botan::ge_p2_dbl
    - mcl::bint::getRealSize
    - mcl::mulLambda
    - getMpzAt
    - CYBOZU_ALLOCA
    - assert
    - NafArray
    - size
    - fiat_bls12_381_fp_add
    - clear
    - mcl::gmp::getUnit
    - mcl::gmp::getNAFwidth
    - G
    - mcl::ec::local::addTbl
    - mclBnG1_normalizeVec
    linkageType: ''
    returnType: void
    signature: void mulVecGLVsmall(G& z, const G *xVec, const void* yVec, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getMpzAt
      Src: /src/mcl/src/glv.hpp:361,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/mcl/src/glv.hpp:362,1
    - Dst: mcl::gmp::neg
      Src: /src/mcl/src/glv.hpp:365,1
    - Dst: clear
      Src: /src/mcl/src/glv.hpp:370,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/glv.hpp:374,1
    - Dst: mcl::mulLambda
      Src: /src/mcl/src/glv.hpp:378,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/glv.hpp:384,1
    - Dst: init
      Src: /src/mcl/src/glv.hpp:394,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/src/glv.hpp:394,1
    - Dst: mcl::gmp::getUnitSize
      Src: /src/mcl/src/glv.hpp:394,1
    - Dst: assert
      Src: /src/mcl/src/glv.hpp:401,1
    - Dst: getNext
      Src: /src/mcl/src/glv.hpp:404,1
    - Dst: clear
      Src: /src/mcl/src/glv.hpp:408,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/src/glv.hpp:411,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/glv.hpp:415,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 3
    argNames:
    - ' Q'
    - ' P'
    - yVec
    argTypes:
    - G
    - G
    - void*
    constantsTouched: []
    func_position:
      end: 418
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 418
    functionName: mcl::ec::mulGLV_CT
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached:
    - Botan::ge_p2_dbl
    - Botan::Kyber_Symmetric_Primitives::G_split
    - mcl::mulLambda
    - getMpzAt
    - mcl::gmp::getUnitSize
    - assert
    - fiat_bls12_381_fp_add
    - clear
    - getNext
    - init
    - Botan::EC_Group_Data::affine_neg
    - mcl::gmp::getUnit
    - mcl::gmp::neg
    linkageType: ''
    returnType: void
    signature: void mulGLV_CT(G& Q, const G& P, const void *yVec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::mulGLV_CT
      Src: /src/mcl/src/glv.hpp:425,1
    - Dst: mcl::ec::mulVecGLVsmall
      Src: /src/mcl/src/glv.hpp:429,1
    - Dst: mcl::ec::mulVecGLVlarge
      Src: /src/mcl/src/glv.hpp:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ' z'
    - xVec
    - yVec
    - n
    argTypes:
    - G
    - G*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 436
      start: 422
    functionDepth: 5
    functionLinenumber: 422
    functionLinenumberEnd: 436
    functionName: mcl::ec::mulVecGLVT
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached:
    - mcl::ec::mulVecGLVlarge
    - mcl::ec::mulGLV_CT
    - mcl::ec::mulVecGLVsmall
    linkageType: ''
    returnType: bool
    signature: bool mulVecGLVT(G& z, const G *xVec, const void *yVec, size_t n, bool
      constTime = false, size_t b = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/src/glv.hpp:459,1
    - Dst: mcl::gmp::getStr
      Src: /src/mcl/src/glv.hpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: mcl::dump
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::getStr
    - printf
    linkageType: ''
    returnType: void
    signature: void dump(const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/src/glv.hpp:463,1
    - Dst: mcl::getStr
      Src: /src/mcl/src/glv.hpp:463,1
    - Dst: printf
      Src: /src/mcl/src/glv.hpp:464,1
    - Dst: mcl::dump
      Src: /src/mcl/src/glv.hpp:465,1
    - Dst: mcl::dump
      Src: /src/mcl/src/glv.hpp:466,1
    - Dst: mcl::dump
      Src: /src/mcl/src/glv.hpp:467,1
    - Dst: mcl::dump
      Src: /src/mcl/src/glv.hpp:467,1
    - Dst: mcl::dump
      Src: /src/mcl/src/glv.hpp:467,1
    - Dst: mcl::dump
      Src: /src/mcl/src/glv.hpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 468
    functionName: mcl::dump
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 1
    functionsReached:
    - mcl::dump
    - mcl::getStr
    - printf
    linkageType: ''
    returnType: void
    signature: void dump()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/glv.hpp:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' Q'
    - ' P'
    argTypes:
    - Ec
    - Ec
    constantsTouched: []
    func_position:
      end: 478
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 478
    functionName: mcl::mulLambda
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 3
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mulLambda(Ec& Q, const Ec& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/src/glv.hpp:484,1
    - Dst: mcl::modp
      Src: /src/mcl/src/glv.hpp:484,1
    - Dst: optimizedSplit
      Src: /src/mcl/src/glv.hpp:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - u
    - ' x'
    argTypes:
    - mpz_class[]
    - mpz_class
    constantsTouched: []
    func_position:
      end: 496
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 496
    functionName: mcl::split
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached:
    - optimizedSplit
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - mcl::modp
    linkageType: ''
    returnType: void
    signature: void split(mpz_class u[2], mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/glv.hpp:503,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/src/glv.hpp:506,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/src/glv.hpp:508,1
    - Dst: assert
      Src: /src/mcl/src/glv.hpp:509,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/src/glv.hpp:510,1
    - Dst: assert
      Src: /src/mcl/src/glv.hpp:511,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/src/glv.hpp:512,1
    - Dst: assert
      Src: /src/mcl/src/glv.hpp:513,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/src/glv.hpp:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 519
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 519
    functionName: mcl::initForSecp256k1
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::setStr
    - assert
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: void
    signature: void initForSecp256k1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/src/glv.hpp:563,1
    - Dst: mcl::setStr
      Src: /src/mcl/src/glv.hpp:566,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/src/glv.hpp:568,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/src/glv.hpp:569,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/src/glv.hpp:570,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/src/glv.hpp:571,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/src/glv.hpp:572,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/src/glv.hpp:573,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 1
    argNames:
    - curveType
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 577
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 577
    functionName: mcl::usePrecomputedTable
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached:
    - mcl::setStr
    - CYBOZU_NUM_OF_ARRAY
    - mcl::gmp::setStr
    linkageType: ''
    returnType: bool
    signature: bool usePrecomputedTable(int curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::usePrecomputedTable
      Src: /src/mcl/src/glv.hpp:581,1
    - Dst: assert
      Src: /src/mcl/src/glv.hpp:583,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/src/glv.hpp:586,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/src/glv.hpp:595,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/src/glv.hpp:621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - ' z'
    - isBLS12
    - curveType
    argTypes:
    - mpz_class
    - bool
    - int
    constantsTouched: []
    func_position:
      end: 625
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 625
    functionName: mcl::init
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached:
    - mcl::usePrecomputedTable
    - assert
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: void
    signature: void init(const mpz_class& z, bool isBLS12, int curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - u
    - ' x'
    argTypes:
    - mpz_class[]
    - mpz_class
    constantsTouched: []
    func_position:
      end: 634
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 634
    functionName: mcl::splitForBLS12
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void splitForBLS12(mpz_class u[2], const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/src/glv.hpp:640,1
    - Dst: assert
      Src: /src/mcl/src/glv.hpp:641,1
    - Dst: mcl::ec::optimizedSplitRawForBLS12_381
      Src: /src/mcl/src/glv.hpp:642,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/src/glv.hpp:643,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/src/glv.hpp:644,1
    - Dst: assert
      Src: /src/mcl/src/glv.hpp:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - u
    - ' x'
    argTypes:
    - mpz_class[]
    - mpz_class
    constantsTouched: []
    func_position:
      end: 647
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 647
    functionName: mcl::optimizedSplitForBLS12_381
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::setArray
    - assert
    - mcl::gmp::getArray
    - mcl::ec::optimizedSplitRawForBLS12_381
    linkageType: ''
    returnType: void
    signature: void optimizedSplitForBLS12_381(mpz_class u[2], const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/src/glv.hpp:653,1
    - Dst: assert
      Src: /src/mcl/src/glv.hpp:654,1
    - Dst: mcl::ec::optimizedSplitRawForBLS12_377
      Src: /src/mcl/src/glv.hpp:655,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/src/glv.hpp:656,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/src/glv.hpp:657,1
    - Dst: assert
      Src: /src/mcl/src/glv.hpp:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - u
    - ' x'
    argTypes:
    - mpz_class[]
    - mpz_class
    constantsTouched: []
    func_position:
      end: 660
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 660
    functionName: mcl::optimizedSplitForBLS12_377
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::setArray
    - mcl::ec::optimizedSplitRawForBLS12_377
    - assert
    - mcl::gmp::getArray
    linkageType: ''
    returnType: void
    signature: void optimizedSplitForBLS12_377(mpz_class u[2], const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/src/glv.hpp:676,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/src/glv.hpp:680,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/src/glv.hpp:705,1
    - Dst: assert
      Src: /src/mcl/src/glv.hpp:706,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/src/glv.hpp:716,1
    - Dst: assert
      Src: /src/mcl/src/glv.hpp:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 726
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 726
    functionName: mcl::init
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::setStr
    - assert
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: void
    signature: void init(const mpz_class& z, bool isBLS12 = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/src/glv.hpp:732,1
    - Dst: mcl::modp
      Src: /src/mcl/src/glv.hpp:732,1
    - Dst: mcl::gmp::divmod
      Src: /src/mcl/src/glv.hpp:746,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - u
    - ' x'
    argTypes:
    - mpz_class[]
    - mpz_class
    constantsTouched: []
    func_position:
      end: 764
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 764
    functionName: mcl::split
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::divmod
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - mcl::modp
    linkageType: ''
    returnType: void
    signature: void split(mpz_class u[4], mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Frobenius
      Src: /src/mcl/src/glv.hpp:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' Q'
    - ' P'
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 769
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 769
    functionName: mcl::mulLambda
    functionSourceFile: /src/mcl/src/glv.hpp
    functionUses: 3
    functionsReached:
    - mcl::Frobenius
    linkageType: ''
    returnType: void
    signature: void mulLambda(T& Q, const T& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: '& mask()'
    functionSourceFile: /src/mcl/src/msm_avx_bls12_381.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Vec
    signature: Vec & mask()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: '& rp()'
    functionSourceFile: /src/mcl/src/msm_avx_bls12_381.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Vec
    signature: Vec & rp()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: ap
    functionSourceFile: /src/mcl/src/msm_avx_bls12_381.h
    functionUses: 155
    functionsReached: []
    linkageType: ''
    returnType: Vec
    signature: Vec * ap()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getFp2
      Src: /src/mcl/src/compress.hpp:15,1
    - Dst: mcl::getFp2
      Src: /src/mcl/src/compress.hpp:16,1
    - Dst: mcl::getFp2
      Src: /src/mcl/src/compress.hpp:17,1
    - Dst: mcl::getFp2
      Src: /src/mcl/src/compress.hpp:18,1
    - Dst: mcl::getFp2
      Src: /src/mcl/src/compress.hpp:19,1
    - Dst: mcl::getFp2
      Src: /src/mcl/src/compress.hpp:21,1
    - Dst: mcl::getFp2
      Src: /src/mcl/src/compress.hpp:22,1
    - Dst: mcl::getFp2
      Src: /src/mcl/src/compress.hpp:23,1
    - Dst: mcl::getFp2
      Src: /src/mcl/src/compress.hpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - Fp12
    - Fp12
    constantsTouched: []
    func_position:
      end: 25
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 25
    functionName: mcl::Compress
    functionSourceFile: /src/mcl/src/compress.hpp
    functionUses: 0
    functionsReached:
    - mcl::getFp2
    linkageType: ''
    returnType: void
    signature: void Compress(Fp12& z, const Fp12& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getFp2
      Src: /src/mcl/src/compress.hpp:28,1
    - Dst: mcl::getFp2
      Src: /src/mcl/src/compress.hpp:29,1
    - Dst: mcl::getFp2
      Src: /src/mcl/src/compress.hpp:30,1
    - Dst: mcl::getFp2
      Src: /src/mcl/src/compress.hpp:31,1
    - Dst: mcl::getFp2
      Src: /src/mcl/src/compress.hpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' z'
    - ' c'
    argTypes:
    - Fp12
    - Compress
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: mcl::Compress
    functionSourceFile: /src/mcl/src/compress.hpp
    functionUses: 0
    functionsReached:
    - mcl::getFp2
    linkageType: ''
    returnType: void
    signature: void Compress(Fp12& z, const Compress& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/compress.hpp:41,1
    - Dst: mcl::isZero
      Src: /src/mcl/src/compress.hpp:43,1
    - Dst: mcl::Fp2::mul2
      Src: /src/mcl/src/compress.hpp:44,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/compress.hpp:49,1
    - Dst: mcl::Fp2::mul_xi
      Src: /src/mcl/src/compress.hpp:50,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/compress.hpp:51,1
    - Dst: mcl::Fp2::sub
      Src: /src/mcl/src/compress.hpp:52,1
    - Dst: mcl::Fp2::mul2
      Src: /src/mcl/src/compress.hpp:53,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/compress.hpp:55,1
    - Dst: mcl::Fp2::divBy4
      Src: /src/mcl/src/compress.hpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - ' nume'
    - ' denomi'
    argTypes:
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 59
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 59
    functionName: mcl::decompressBeforeInv
    functionSourceFile: /src/mcl/src/compress.hpp
    functionUses: 0
    functionsReached:
    - mcl::Fp2::sub
    - mcl::isZero
    - assert
    - mcl::Fp2::mul_xi
    - mcl::Fp2::mul2
    - mcl::Fp2::add
    - mcl::Fp2::divBy4
    - mcl::Fp2::sqr
    linkageType: ''
    returnType: void
    signature: void decompressBeforeInv(Fp2& nume, Fp2& denomi) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getFp2
      Src: /src/mcl/src/compress.hpp:64,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/compress.hpp:67,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/compress.hpp:68,1
    - Dst: mcl::Fp2::mul2
      Src: /src/mcl/src/compress.hpp:70,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/compress.hpp:72,1
    - Dst: mcl::Fp2::mul_xi
      Src: /src/mcl/src/compress.hpp:74,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/mcl/src/compress.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: mcl::decompressAfterInv
    functionSourceFile: /src/mcl/src/compress.hpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - mcl::Fp2::mul_xi
    - mcl::Fp2::mul2
    - mcl::Fp2::sqr
    - mcl::Fp2::mul
    - mcl::getFp2
    linkageType: ''
    returnType: void
    signature: void decompressAfterInv()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::decompressBeforeInv
      Src: /src/mcl/src/compress.hpp:82,1
    - Dst: mcl::Fp2::inv
      Src: /src/mcl/src/compress.hpp:83,1
    - Dst: mcl::decompressAfterInv
      Src: /src/mcl/src/compress.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 4
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: mcl::decompress
    functionSourceFile: /src/mcl/src/compress.hpp
    functionUses: 0
    functionsReached:
    - mcl::decompressAfterInv
    - mcl::decompressBeforeInv
    - mcl::Fp2::inv
    linkageType: ''
    returnType: void
    signature: void decompress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::sqrPre
      Src: /src/mcl/src/compress.hpp:94,1
    - Dst: mcl::sqrPre
      Src: /src/mcl/src/compress.hpp:95,1
    - Dst: mcl::mul_xi
      Src: /src/mcl/src/compress.hpp:96,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/src/compress.hpp:98,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/compress.hpp:99,1
    - Dst: mcl::sqrPre
      Src: /src/mcl/src/compress.hpp:100,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/src/compress.hpp:103,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/compress.hpp:104,1
    - Dst: mcl::sqrPre
      Src: /src/mcl/src/compress.hpp:105,1
    - Dst: mcl::sqrPre
      Src: /src/mcl/src/compress.hpp:106,1
    - Dst: mcl::Fp2::mul_xi
      Src: /src/mcl/src/compress.hpp:107,1
    - Dst: mcl::Fp2::mul2
      Src: /src/mcl/src/compress.hpp:109,1
    - Dst: mcl::Fp2::sub
      Src: /src/mcl/src/compress.hpp:111,1
    - Dst: mcl::Fp2::mul2
      Src: /src/mcl/src/compress.hpp:112,1
    - Dst: mcl::sqrPre
      Src: /src/mcl/src/compress.hpp:113,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/compress.hpp:114,1
    - Dst: mcl::mul_xi
      Src: /src/mcl/src/compress.hpp:115,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/src/compress.hpp:117,1
    - Dst: mcl::Fp2::sub
      Src: /src/mcl/src/compress.hpp:118,1
    - Dst: mcl::Fp2::mul2
      Src: /src/mcl/src/compress.hpp:119,1
    - Dst: vaddPre
      Src: /src/mcl/src/compress.hpp:121,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/src/compress.hpp:123,1
    - Dst: mcl::Fp2::mul2
      Src: /src/mcl/src/compress.hpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - Compress
    constantsTouched: []
    func_position:
      end: 127
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 127
    functionName: mcl::squareC
    functionSourceFile: /src/mcl/src/compress.hpp
    functionUses: 0
    functionsReached:
    - mcl::Fp2::sub
    - mcl::sqrPre
    - mcl::mul_xi
    - ref_inverse_mod
    - mcl::Fp2::mul_xi
    - mcl::Fp2::add
    - mcl::Fp2::mul2
    - vaddPre
    linkageType: ''
    returnType: void
    signature: void squareC(Compress& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::squareC
      Src: /src/mcl/src/compress.hpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' z'
    - n
    argTypes:
    - Compress
    - int
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: mcl::square_n
    functionSourceFile: /src/mcl/src/compress.hpp
    functionUses: 0
    functionsReached:
    - mcl::squareC
    linkageType: ''
    returnType: void
    signature: void square_n(Compress& z, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::isOne
      Src: /src/mcl/src/compress.hpp:140,1
    - Dst: mcl::square_n
      Src: /src/mcl/src/compress.hpp:148,1
    - Dst: Compress::decompressBeforeInv
      Src: /src/mcl/src/compress.hpp:149,1
    - Dst: mcl::square_n
      Src: /src/mcl/src/compress.hpp:151,1
    - Dst: Compress::decompressBeforeInv
      Src: /src/mcl/src/compress.hpp:152,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/compress.hpp:154,1
    - Dst: mcl::Fp2::inv
      Src: /src/mcl/src/compress.hpp:155,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/compress.hpp:157,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/compress.hpp:158,1
    - Dst: Compress::decompressAfterInv
      Src: /src/mcl/src/compress.hpp:159,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/compress.hpp:160,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/compress.hpp:161,1
    - Dst: Compress::decompressAfterInv
      Src: /src/mcl/src/compress.hpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - Fp12
    - Fp12
    constantsTouched: []
    func_position:
      end: 165
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 165
    functionName: mcl::fixed_power
    functionSourceFile: /src/mcl/src/compress.hpp
    functionUses: 1
    functionsReached:
    - Compress::decompressAfterInv
    - mcl::isOne
    - mcl::Fp2::inv
    - mcl::Fp2::mul
    - mcl::square_n
    - Compress::decompressBeforeInv
    linkageType: ''
    returnType: void
    signature: void fixed_power(Fp12& z, const Fp12& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<SecretKey*>
      Src: /src/mcl/src/she_c_impl.hpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - sheSecretKey*
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<SecretKey*>
    linkageType: ''
    returnType: SecretKey
    signature: SecretKey *cast(sheSecretKey *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const SecretKey*>
      Src: /src/mcl/src/she_c_impl.hpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - sheSecretKey*
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const SecretKey*>
    linkageType: ''
    returnType: SecretKey
    signature: SecretKey *cast(const sheSecretKey *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<PublicKey*>
      Src: /src/mcl/src/she_c_impl.hpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - shePublicKey*
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<PublicKey*>
    linkageType: ''
    returnType: PublicKey
    signature: PublicKey *cast(shePublicKey *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const PublicKey*>
      Src: /src/mcl/src/she_c_impl.hpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - shePublicKey*
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const PublicKey*>
    linkageType: ''
    returnType: PublicKey
    signature: PublicKey *cast(const shePublicKey *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<PrecomputedPublicKey*>
      Src: /src/mcl/src/she_c_impl.hpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - shePrecomputedPublicKey*
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<PrecomputedPublicKey*>
    linkageType: ''
    returnType: PrecomputedPublicKey
    signature: PrecomputedPublicKey *cast(shePrecomputedPublicKey *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const PrecomputedPublicKey*>
      Src: /src/mcl/src/she_c_impl.hpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - shePrecomputedPublicKey*
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const PrecomputedPublicKey*>
    linkageType: ''
    returnType: PrecomputedPublicKey
    signature: PrecomputedPublicKey *cast(const shePrecomputedPublicKey *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CipherTextG1*>
      Src: /src/mcl/src/she_c_impl.hpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - sheCipherTextG1*
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<CipherTextG1*>
    linkageType: ''
    returnType: CipherTextG1
    signature: CipherTextG1 *cast(sheCipherTextG1 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const CipherTextG1*>
      Src: /src/mcl/src/she_c_impl.hpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - sheCipherTextG1*
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const CipherTextG1*>
    linkageType: ''
    returnType: CipherTextG1
    signature: CipherTextG1 *cast(const sheCipherTextG1 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CipherTextG2*>
      Src: /src/mcl/src/she_c_impl.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - sheCipherTextG2*
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<CipherTextG2*>
    linkageType: ''
    returnType: CipherTextG2
    signature: CipherTextG2 *cast(sheCipherTextG2 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const CipherTextG2*>
      Src: /src/mcl/src/she_c_impl.hpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - sheCipherTextG2*
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const CipherTextG2*>
    linkageType: ''
    returnType: CipherTextG2
    signature: CipherTextG2 *cast(const sheCipherTextG2 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CipherTextGT*>
      Src: /src/mcl/src/she_c_impl.hpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - sheCipherTextGT*
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<CipherTextGT*>
    linkageType: ''
    returnType: CipherTextGT
    signature: CipherTextGT *cast(sheCipherTextGT *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const CipherTextGT*>
      Src: /src/mcl/src/she_c_impl.hpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - sheCipherTextGT*
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const CipherTextGT*>
    linkageType: ''
    returnType: CipherTextGT
    signature: CipherTextGT *cast(const sheCipherTextGT *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ZkpBin*>
      Src: /src/mcl/src/she_c_impl.hpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - sheZkpBin*
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<ZkpBin*>
    linkageType: ''
    returnType: ZkpBin
    signature: ZkpBin *cast(sheZkpBin *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ZkpBin*>
      Src: /src/mcl/src/she_c_impl.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - sheZkpBin*
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const ZkpBin*>
    linkageType: ''
    returnType: ZkpBin
    signature: ZkpBin *cast(const sheZkpBin *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ZkpEq*>
      Src: /src/mcl/src/she_c_impl.hpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - sheZkpEq*
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<ZkpEq*>
    linkageType: ''
    returnType: ZkpEq
    signature: ZkpEq *cast(sheZkpEq *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ZkpEq*>
      Src: /src/mcl/src/she_c_impl.hpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - sheZkpEq*
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const ZkpEq*>
    linkageType: ''
    returnType: ZkpEq
    signature: ZkpEq *cast(const sheZkpEq *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ZkpBinEq*>
      Src: /src/mcl/src/she_c_impl.hpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - sheZkpBinEq*
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<ZkpBinEq*>
    linkageType: ''
    returnType: ZkpBinEq
    signature: ZkpBinEq *cast(sheZkpBinEq *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ZkpBinEq*>
      Src: /src/mcl/src/she_c_impl.hpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - sheZkpBinEq*
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const ZkpBinEq*>
    linkageType: ''
    returnType: ZkpBinEq
    signature: ZkpBinEq *cast(const sheZkpBinEq *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ZkpDec*>
      Src: /src/mcl/src/she_c_impl.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - sheZkpDec*
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<ZkpDec*>
    linkageType: ''
    returnType: ZkpDec
    signature: ZkpDec *cast(sheZkpDec *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ZkpDec*>
      Src: /src/mcl/src/she_c_impl.hpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - sheZkpDec*
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const ZkpDec*>
    linkageType: ''
    returnType: ZkpDec
    signature: ZkpDec *cast(const sheZkpDec *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AuxiliaryForZkpDecGT*>
      Src: /src/mcl/src/she_c_impl.hpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - sheAuxiliaryForZkpDecGT*
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<AuxiliaryForZkpDecGT*>
    linkageType: ''
    returnType: AuxiliaryForZkpDecGT
    signature: AuxiliaryForZkpDecGT *cast(sheAuxiliaryForZkpDecGT *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const AuxiliaryForZkpDecGT*>
      Src: /src/mcl/src/she_c_impl.hpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - sheAuxiliaryForZkpDecGT*
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const AuxiliaryForZkpDecGT*>
    linkageType: ''
    returnType: AuxiliaryForZkpDecGT
    signature: AuxiliaryForZkpDecGT *cast(const sheAuxiliaryForZkpDecGT *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ZkpDecGT*>
      Src: /src/mcl/src/she_c_impl.hpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - sheZkpDecGT*
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<ZkpDecGT*>
    linkageType: ''
    returnType: ZkpDecGT
    signature: ZkpDecGT *cast(sheZkpDecGT *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ZkpDecGT*>
      Src: /src/mcl/src/she_c_impl.hpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - sheZkpDecGT*
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: cast
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const ZkpDecGT*>
    linkageType: ''
    returnType: ZkpDecGT
    signature: ZkpDecGT *cast(const sheZkpDecGT *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<mcl::Fr*>
      Src: /src/mcl/src/she_c_impl.hpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: cast2
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<mcl::Fr*>
    linkageType: ''
    returnType: mcl::Fr
    signature: mcl::Fr *cast2(mclBnFr *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const mcl::Fr*>
      Src: /src/mcl/src/she_c_impl.hpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: cast2
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const mcl::Fr*>
    linkageType: ''
    returnType: mcl::Fr
    signature: mcl::Fr *cast2(const mclBnFr *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getCurveParam
      Src: /src/mcl/src/she_c_impl.hpp:61,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/src/she_c_impl.hpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - curve
    - compiledTimeVar
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: sheInit
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - Botan_Tests::test_x509_uninit
    - mcl::getCurveParam
    linkageType: ''
    returnType: int
    signature: int sheInit(int curve, int compiledTimeVar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::initG1only
      Src: /src/mcl/src/she_c_impl.hpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - curve
    - compiledTimeVar
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: sheInitG1only
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::initG1only
    linkageType: ''
    returnType: int
    signature: int sheInitG1only(int curve, int compiledTimeVar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - sec
    argTypes:
    - void*
    - mclSize
    - sheSecretKey*
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: sheSecretKeySerialize
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheSecretKeySerialize(void *buf, mclSize maxBufSize, const
      sheSecretKey *sec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - pub
    argTypes:
    - void*
    - mclSize
    - shePublicKey*
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: shePublicKeySerialize
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize shePublicKeySerialize(void *buf, mclSize maxBufSize, const
      shePublicKey *pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - c
    argTypes:
    - void*
    - mclSize
    - sheCipherTextG1*
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: sheCipherTextG1Serialize
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheCipherTextG1Serialize(void *buf, mclSize maxBufSize, const
      sheCipherTextG1 *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - c
    argTypes:
    - void*
    - mclSize
    - sheCipherTextG2*
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: sheCipherTextG2Serialize
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheCipherTextG2Serialize(void *buf, mclSize maxBufSize, const
      sheCipherTextG2 *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - c
    argTypes:
    - void*
    - mclSize
    - sheCipherTextGT*
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: sheCipherTextGTSerialize
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheCipherTextGTSerialize(void *buf, mclSize maxBufSize, const
      sheCipherTextGT *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - zkp
    argTypes:
    - void*
    - mclSize
    - sheZkpBin*
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: sheZkpBinSerialize
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheZkpBinSerialize(void *buf, mclSize maxBufSize, const sheZkpBin
      *zkp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - zkp
    argTypes:
    - void*
    - mclSize
    - sheZkpEq*
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: sheZkpEqSerialize
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheZkpEqSerialize(void *buf, mclSize maxBufSize, const sheZkpEq
      *zkp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - zkp
    argTypes:
    - void*
    - mclSize
    - sheZkpBinEq*
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: sheZkpBinEqSerialize
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheZkpBinEqSerialize(void *buf, mclSize maxBufSize, const sheZkpBinEq
      *zkp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - zkp
    argTypes:
    - void*
    - mclSize
    - sheZkpDec*
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: sheZkpDecSerialize
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheZkpDecSerialize(void *buf, mclSize maxBufSize, const sheZkpDec
      *zkp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - zkp
    argTypes:
    - void*
    - mclSize
    - sheZkpDecGT*
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: sheZkpGTDecSerialize
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheZkpGTDecSerialize(void *buf, mclSize maxBufSize, const sheZkpDecGT
      *zkp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sec
    - buf
    - bufSize
    argTypes:
    - sheSecretKey*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: sheSecretKeyDeserialize
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheSecretKeyDeserialize(sheSecretKey* sec, const void *buf,
      mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pub
    - buf
    - bufSize
    argTypes:
    - shePublicKey*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: shePublicKeyDeserialize
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize shePublicKeyDeserialize(shePublicKey* pub, const void *buf,
      mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - buf
    - bufSize
    argTypes:
    - sheCipherTextG1*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: sheCipherTextG1Deserialize
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheCipherTextG1Deserialize(sheCipherTextG1* c, const void *buf,
      mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - buf
    - bufSize
    argTypes:
    - sheCipherTextG2*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: sheCipherTextG2Deserialize
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheCipherTextG2Deserialize(sheCipherTextG2* c, const void *buf,
      mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - buf
    - bufSize
    argTypes:
    - sheCipherTextGT*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: sheCipherTextGTDeserialize
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheCipherTextGTDeserialize(sheCipherTextGT* c, const void *buf,
      mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - zkp
    - buf
    - bufSize
    argTypes:
    - sheZkpBin*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: sheZkpBinDeserialize
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheZkpBinDeserialize(sheZkpBin* zkp, const void *buf, mclSize
      bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - zkp
    - buf
    - bufSize
    argTypes:
    - sheZkpEq*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: sheZkpEqDeserialize
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheZkpEqDeserialize(sheZkpEq* zkp, const void *buf, mclSize
      bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - zkp
    - buf
    - bufSize
    argTypes:
    - sheZkpBinEq*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: sheZkpBinEqDeserialize
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheZkpBinEqDeserialize(sheZkpBinEq* zkp, const void *buf, mclSize
      bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - zkp
    - buf
    - bufSize
    argTypes:
    - sheZkpDec*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: sheZkpDecDeserialize
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheZkpDecDeserialize(sheZkpDec* zkp, const void *buf, mclSize
      bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - zkp
    - buf
    - bufSize
    argTypes:
    - sheZkpDecGT*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: sheZkpDecGTDeserialize
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheZkpDecGTDeserialize(sheZkpDecGT* zkp, const void *buf, mclSize
      bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sec
    argTypes:
    - sheSecretKey*
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: sheSecretKeySetByCSPRNG
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 16
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int sheSecretKeySetByCSPRNG(sheSecretKey *sec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:189,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pub
    - sec
    argTypes:
    - shePublicKey*
    - sheSecretKey*
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: sheGetPublicKey
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 16
    functionsReached:
    - cast
    linkageType: ''
    returnType: void
    signature: void sheGetPublicKey(shePublicKey *pub, const sheSecretKey *sec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:194,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aux
    - pub
    argTypes:
    - sheAuxiliaryForZkpDecGT*
    - shePublicKey*
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: sheGetAuxiliaryForZkpDecGT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: void
    signature: void sheGetAuxiliaryForZkpDecGT(sheAuxiliaryForZkpDecGT *aux, const
      shePublicKey *pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/mcl/src/she_c_impl.hpp:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - f
    - hashSize
    argTypes:
    - void
    - mclSize
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: wrapSetRangeForDLP
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: int
    signature: int wrapSetRangeForDLP(void f(size_t), mclSize hashSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapSetRangeForDLP
      Src: /src/mcl/src/she_c_impl.hpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hashSize
    argTypes:
    - mclSize
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: sheSetRangeForDLP
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - wrapSetRangeForDLP
    linkageType: ''
    returnType: int
    signature: int sheSetRangeForDLP(mclSize hashSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapSetRangeForDLP
      Src: /src/mcl/src/she_c_impl.hpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hashSize
    argTypes:
    - mclSize
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: sheSetRangeForG1DLP
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - wrapSetRangeForDLP
    linkageType: ''
    returnType: int
    signature: int sheSetRangeForG1DLP(mclSize hashSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapSetRangeForDLP
      Src: /src/mcl/src/she_c_impl.hpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hashSize
    argTypes:
    - mclSize
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: sheSetRangeForG2DLP
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - wrapSetRangeForDLP
    linkageType: ''
    returnType: int
    signature: int sheSetRangeForG2DLP(mclSize hashSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapSetRangeForDLP
      Src: /src/mcl/src/she_c_impl.hpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hashSize
    argTypes:
    - mclSize
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: sheSetRangeForGTDLP
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - wrapSetRangeForDLP
    linkageType: ''
    returnType: int
    signature: int sheSetRangeForGTDLP(mclSize hashSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::local::HashTable::setTryNum
      Src: /src/mcl/src/she_c_impl.hpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tryNum
    argTypes:
    - mclSize
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: sheSetTryNum
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 2
    functionsReached:
    - mcl::she::local::HashTable::setTryNum
    linkageType: ''
    returnType: void
    signature: void sheSetTryNum(mclSize tryNum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::useDecG1ViaGT
      Src: /src/mcl/src/she_c_impl.hpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: sheUseDecG1ViaGT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::useDecG1ViaGT
    linkageType: ''
    returnType: void
    signature: void sheUseDecG1ViaGT(int use)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::useDecG2ViaGT
      Src: /src/mcl/src/she_c_impl.hpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - use
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: sheUseDecG2ViaGT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::useDecG2ViaGT
    linkageType: ''
    returnType: void
    signature: void sheUseDecG2ViaGT(int use)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/src/she_c_impl.hpp:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' table'
    - buf
    - bufSize
    argTypes:
    - HashTable
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: loadTable
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: mclSize
    signature: mclSize loadTable(HashTable& table, const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: loadTable
      Src: /src/mcl/src/she_c_impl.hpp:247,1
    - Dst: getHashTableG1
      Src: /src/mcl/src/she_c_impl.hpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: sheLoadTableForG1DLP
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - getHashTableG1
    - loadTable
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheLoadTableForG1DLP(const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: loadTable
      Src: /src/mcl/src/she_c_impl.hpp:251,1
    - Dst: getHashTableG2
      Src: /src/mcl/src/she_c_impl.hpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: sheLoadTableForG2DLP
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - getHashTableG2
    - loadTable
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheLoadTableForG2DLP(const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: loadTable
      Src: /src/mcl/src/she_c_impl.hpp:255,1
    - Dst: getHashTableGT
      Src: /src/mcl/src/she_c_impl.hpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: sheLoadTableForGTDLP
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - getHashTableGT
    - loadTable
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheLoadTableForGTDLP(const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/src/she_c_impl.hpp:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - ' table'
    argTypes:
    - void*
    - mclSize
    - HashTable
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: saveTable
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - save
    linkageType: ''
    returnType: mclSize
    signature: mclSize saveTable(void *buf, mclSize maxBufSize, const HashTable& table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: saveTable
      Src: /src/mcl/src/she_c_impl.hpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - maxBufSize
    argTypes:
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: sheSaveTableForG1DLP
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - saveTable
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheSaveTableForG1DLP(void *buf, mclSize maxBufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: saveTable
      Src: /src/mcl/src/she_c_impl.hpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - maxBufSize
    argTypes:
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: sheSaveTableForG2DLP
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - saveTable
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheSaveTableForG2DLP(void *buf, mclSize maxBufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: saveTable
      Src: /src/mcl/src/she_c_impl.hpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - maxBufSize
    argTypes:
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: sheSaveTableForGTDLP
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - saveTable
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheSaveTableForGTDLP(void *buf, mclSize maxBufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getTableSize
      Src: /src/mcl/src/she_c_impl.hpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: sheGetTableSizeForG1DLP
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - getTableSize
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheGetTableSizeForG1DLP()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getTableSize
      Src: /src/mcl/src/she_c_impl.hpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: sheGetTableSizeForG2DLP
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - getTableSize
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheGetTableSizeForG2DLP()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getTableSize
      Src: /src/mcl/src/she_c_impl.hpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: sheGetTableSizeForGTDLP
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - getTableSize
    linkageType: ''
    returnType: mclSize
    signature: mclSize sheGetTableSizeForGTDLP()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:286,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - pub
    - m
    argTypes:
    - CT*
    - shePublicKey*
    - mclInt
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: encT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int encT(CT *c, const shePublicKey *pub, mclInt m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encT
      Src: /src/mcl/src/she_c_impl.hpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - pub
    - m
    argTypes:
    - sheCipherTextG1*
    - shePublicKey*
    - mclInt
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: sheEncG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 8
    functionsReached:
    - encT
    linkageType: ''
    returnType: int
    signature: int sheEncG1(sheCipherTextG1 *c, const shePublicKey *pub, mclInt m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encT
      Src: /src/mcl/src/she_c_impl.hpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - pub
    - m
    argTypes:
    - sheCipherTextG2*
    - shePublicKey*
    - mclInt
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: sheEncG2
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 7
    functionsReached:
    - encT
    linkageType: ''
    returnType: int
    signature: int sheEncG2(sheCipherTextG2 *c, const shePublicKey *pub, mclInt m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encT
      Src: /src/mcl/src/she_c_impl.hpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - pub
    - m
    argTypes:
    - sheCipherTextGT*
    - shePublicKey*
    - mclInt
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: sheEncGT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 5
    functionsReached:
    - encT
    linkageType: ''
    returnType: int
    signature: int sheEncGT(sheCipherTextGT *c, const shePublicKey *pub, mclInt m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpDbl::getUnitSize
      Src: /src/mcl/src/she_c_impl.hpp:307,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/src/she_c_impl.hpp:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - buf
    - bufSize
    argTypes:
    - mpz_class
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: setArray
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 46
    functionsReached:
    - mcl::gmp::setArray
    - mcl::FpDbl::getUnitSize
    linkageType: ''
    returnType: bool
    signature: bool setArray(mpz_class& m, const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setArray
      Src: /src/mcl/src/she_c_impl.hpp:318,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:319,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - c
    - pub
    - buf
    - bufSize
    argTypes:
    - CT*
    - shePublicKey*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 323
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 323
    functionName: encIntVecT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - setArray
    linkageType: ''
    returnType: int
    signature: int encIntVecT(CT *c, const shePublicKey *pub, const void *buf, mclSize
      bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encIntVecT
      Src: /src/mcl/src/she_c_impl.hpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - pub
    - buf
    - bufSize
    argTypes:
    - sheCipherTextG1*
    - shePublicKey*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: sheEncIntVecG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - encIntVecT
    linkageType: ''
    returnType: int
    signature: int sheEncIntVecG1(sheCipherTextG1 *c, const shePublicKey *pub, const
      void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encIntVecT
      Src: /src/mcl/src/she_c_impl.hpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - pub
    - buf
    - bufSize
    argTypes:
    - sheCipherTextG2*
    - shePublicKey*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: sheEncIntVecG2
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - encIntVecT
    linkageType: ''
    returnType: int
    signature: int sheEncIntVecG2(sheCipherTextG2 *c, const shePublicKey *pub, const
      void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encIntVecT
      Src: /src/mcl/src/she_c_impl.hpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - pub
    - buf
    - bufSize
    argTypes:
    - sheCipherTextGT*
    - shePublicKey*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: sheEncIntVecGT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - encIntVecT
    linkageType: ''
    returnType: int
    signature: int sheEncIntVecGT(sheCipherTextGT *c, const shePublicKey *pub, const
      void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:344,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:344,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - c
    - zkp
    - pub
    - m
    argTypes:
    - CT*
    - sheZkpBin*
    - PK*
    - int
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: encWithZkpBinT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int encWithZkpBinT(CT *c, sheZkpBin *zkp, const PK *pub, int m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encWithZkpBinT
      Src: /src/mcl/src/she_c_impl.hpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - zkp
    - pub
    - m
    argTypes:
    - sheCipherTextG1*
    - sheZkpBin*
    - shePublicKey*
    - int
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: sheEncWithZkpBinG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - encWithZkpBinT
    linkageType: ''
    returnType: int
    signature: int sheEncWithZkpBinG1(sheCipherTextG1 *c, sheZkpBin *zkp, const shePublicKey
      *pub, int m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encWithZkpBinT
      Src: /src/mcl/src/she_c_impl.hpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - zkp
    - pub
    - m
    argTypes:
    - sheCipherTextG2*
    - sheZkpBin*
    - shePublicKey*
    - int
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: sheEncWithZkpBinG2
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - encWithZkpBinT
    linkageType: ''
    returnType: int
    signature: int sheEncWithZkpBinG2(sheCipherTextG2 *c, sheZkpBin *zkp, const shePublicKey
      *pub, int m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encWithZkpBinT
      Src: /src/mcl/src/she_c_impl.hpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - zkp
    - pub
    - m
    argTypes:
    - sheCipherTextG1*
    - sheZkpBin*
    - shePrecomputedPublicKey*
    - int
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: shePrecomputedPublicKeyEncWithZkpBinG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - encWithZkpBinT
    linkageType: ''
    returnType: int
    signature: int shePrecomputedPublicKeyEncWithZkpBinG1(sheCipherTextG1 *c, sheZkpBin
      *zkp, const shePrecomputedPublicKey *pub, int m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encWithZkpBinT
      Src: /src/mcl/src/she_c_impl.hpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - zkp
    - pub
    - m
    argTypes:
    - sheCipherTextG2*
    - sheZkpBin*
    - shePrecomputedPublicKey*
    - int
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: shePrecomputedPublicKeyEncWithZkpBinG2
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - encWithZkpBinT
    linkageType: ''
    returnType: int
    signature: int shePrecomputedPublicKeyEncWithZkpBinG2(sheCipherTextG2 *c, sheZkpBin
      *zkp, const shePrecomputedPublicKey *pub, int m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:372,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:372,1
    - Dst: cast2
      Src: /src/mcl/src/she_c_impl.hpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - c
    - zkp
    - pub
    - m
    - mVec
    - mSize
    argTypes:
    - CT*
    - mclBnFr*
    - PK*
    - int
    - int*
    - mclSize
    constantsTouched: []
    func_position:
      end: 374
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 374
    functionName: encWithZkpSetT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - cast2
    linkageType: ''
    returnType: int
    signature: int encWithZkpSetT(CT *c, mclBnFr *zkp, const PK *pub, int m, const
      int *mVec, mclSize mSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encWithZkpSetT
      Src: /src/mcl/src/she_c_impl.hpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - c
    - zkp
    - pub
    - m
    - mVec
    - mSize
    argTypes:
    - sheCipherTextG1*
    - mclBnFr*
    - shePublicKey*
    - int
    - int*
    - mclSize
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: sheEncWithZkpSetG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - encWithZkpSetT
    linkageType: ''
    returnType: int
    signature: int sheEncWithZkpSetG1(sheCipherTextG1 *c, mclBnFr *zkp, const shePublicKey
      *pub, int m, const int *mVec, mclSize mSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encWithZkpSetT
      Src: /src/mcl/src/she_c_impl.hpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - c
    - zkp
    - ppub
    - m
    - mVec
    - mSize
    argTypes:
    - sheCipherTextG1*
    - mclBnFr*
    - shePrecomputedPublicKey*
    - int
    - int*
    - mclSize
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 384
    functionName: shePrecomputedPublicKeyEncWithZkpSetG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - encWithZkpSetT
    linkageType: ''
    returnType: int
    signature: int shePrecomputedPublicKeyEncWithZkpSetG1(sheCipherTextG1 *c, mclBnFr
      *zkp, const shePrecomputedPublicKey *ppub, int m, const int *mVec, mclSize mSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify
      Src: /src/mcl/src/she_c_impl.hpp:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' pub'
    - ' c'
    - zkp
    - mVec
    - mSize
    argTypes:
    - PK
    - CT
    - Fr*
    - int*
    - mclSize
    constantsTouched: []
    func_position:
      end: 393
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 393
    functionName: verifyT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - verify
    linkageType: ''
    returnType: int
    signature: int verifyT(const PK& pub, const CT& c, const Fr *zkp, const int *mVec,
      mclSize mSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyT
      Src: /src/mcl/src/she_c_impl.hpp:397,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:397,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:397,1
    - Dst: cast2
      Src: /src/mcl/src/she_c_impl.hpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pub
    - c
    - zkp
    - mVec
    - mSize
    argTypes:
    - shePublicKey*
    - sheCipherTextG1*
    - mclBnFr*
    - int*
    - mclSize
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: sheVerifyZkpSetG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - cast2
    - verifyT
    linkageType: ''
    returnType: int
    signature: int sheVerifyZkpSetG1(const shePublicKey *pub, const sheCipherTextG1
      *c, const mclBnFr *zkp, const int *mVec, mclSize mSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyT
      Src: /src/mcl/src/she_c_impl.hpp:402,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:402,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:402,1
    - Dst: cast2
      Src: /src/mcl/src/she_c_impl.hpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ppub
    - c
    - zkp
    - mVec
    - mSize
    argTypes:
    - shePrecomputedPublicKey*
    - sheCipherTextG1*
    - mclBnFr*
    - int*
    - mclSize
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: shePrecomputedPublicKeyVerifyZkpSetG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - cast2
    - verifyT
    linkageType: ''
    returnType: int
    signature: int shePrecomputedPublicKeyVerifyZkpSetG1(const shePrecomputedPublicKey
      *ppub, const sheCipherTextG1 *c, const mclBnFr *zkp, const int *mVec, mclSize
      mSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:408,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:408,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:408,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - c1
    - c2
    - zkp
    - pub
    - m
    argTypes:
    - sheCipherTextG1*
    - sheCipherTextG2*
    - sheZkpEq*
    - PK*
    - mclInt
    constantsTouched: []
    func_position:
      end: 410
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 410
    functionName: encWithZkpEqT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int encWithZkpEqT(sheCipherTextG1 *c1, sheCipherTextG2 *c2, sheZkpEq
      *zkp, const PK *pub, mclInt m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encWithZkpEqT
      Src: /src/mcl/src/she_c_impl.hpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - c1
    - c2
    - zkp
    - pub
    - m
    argTypes:
    - sheCipherTextG1*
    - sheCipherTextG2*
    - sheZkpEq*
    - shePublicKey*
    - mclInt
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: sheEncWithZkpEq
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - encWithZkpEqT
    linkageType: ''
    returnType: int
    signature: int sheEncWithZkpEq(sheCipherTextG1 *c1, sheCipherTextG2 *c2, sheZkpEq
      *zkp, const shePublicKey *pub, mclInt m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encWithZkpEqT
      Src: /src/mcl/src/she_c_impl.hpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - c1
    - c2
    - zkp
    - ppub
    - m
    argTypes:
    - sheCipherTextG1*
    - sheCipherTextG2*
    - sheZkpEq*
    - shePrecomputedPublicKey*
    - mclInt
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: shePrecomputedPublicKeyEncWithZkpEq
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - encWithZkpEqT
    linkageType: ''
    returnType: int
    signature: int shePrecomputedPublicKeyEncWithZkpEq(sheCipherTextG1 *c1, sheCipherTextG2
      *c2, sheZkpEq *zkp, const shePrecomputedPublicKey *ppub, mclInt m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:426,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:426,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:426,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - c1
    - c2
    - zkp
    - pub
    - m
    argTypes:
    - sheCipherTextG1*
    - sheCipherTextG2*
    - sheZkpBinEq*
    - PK*
    - int
    constantsTouched: []
    func_position:
      end: 428
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 428
    functionName: encWithZkpBinEqT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int encWithZkpBinEqT(sheCipherTextG1 *c1, sheCipherTextG2 *c2, sheZkpBinEq
      *zkp, const PK *pub, int m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encWithZkpBinEqT
      Src: /src/mcl/src/she_c_impl.hpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - c1
    - c2
    - zkp
    - pub
    - m
    argTypes:
    - sheCipherTextG1*
    - sheCipherTextG2*
    - sheZkpBinEq*
    - shePublicKey*
    - int
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: sheEncWithZkpBinEq
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - encWithZkpBinEqT
    linkageType: ''
    returnType: int
    signature: int sheEncWithZkpBinEq(sheCipherTextG1 *c1, sheCipherTextG2 *c2, sheZkpBinEq
      *zkp, const shePublicKey *pub, int m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encWithZkpBinEqT
      Src: /src/mcl/src/she_c_impl.hpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - c1
    - c2
    - zkp
    - ppub
    - m
    argTypes:
    - sheCipherTextG1*
    - sheCipherTextG2*
    - sheZkpBinEq*
    - shePrecomputedPublicKey*
    - int
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: shePrecomputedPublicKeyEncWithZkpBinEq
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - encWithZkpBinEqT
    linkageType: ''
    returnType: int
    signature: int shePrecomputedPublicKeyEncWithZkpBinEq(sheCipherTextG1 *c1, sheCipherTextG2
      *c2, sheZkpBinEq *zkp, const shePrecomputedPublicKey *ppub, int m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:444,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - m
    - sec
    - c
    argTypes:
    - mclInt*
    - sheSecretKey*
    - CT*
    constantsTouched: []
    func_position:
      end: 446
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 446
    functionName: decT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int decT(mclInt *m, const sheSecretKey *sec, const CT *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decT
      Src: /src/mcl/src/she_c_impl.hpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - m
    - sec
    - c
    argTypes:
    - mclInt*
    - sheSecretKey*
    - sheCipherTextG1*
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: sheDecG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 6
    functionsReached:
    - decT
    linkageType: ''
    returnType: int
    signature: int sheDecG1(mclInt *m, const sheSecretKey *sec, const sheCipherTextG1
      *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decT
      Src: /src/mcl/src/she_c_impl.hpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - m
    - sec
    - c
    argTypes:
    - mclInt*
    - sheSecretKey*
    - sheCipherTextG2*
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: sheDecG2
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 6
    functionsReached:
    - decT
    linkageType: ''
    returnType: int
    signature: int sheDecG2(mclInt *m, const sheSecretKey *sec, const sheCipherTextG2
      *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decT
      Src: /src/mcl/src/she_c_impl.hpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - m
    - sec
    - c
    argTypes:
    - mclInt*
    - sheSecretKey*
    - sheCipherTextGT*
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: sheDecGT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 8
    functionsReached:
    - decT
    linkageType: ''
    returnType: int
    signature: int sheDecGT(mclInt *m, const sheSecretKey *sec, const sheCipherTextGT
      *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:467,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - m
    - sec
    - c
    argTypes:
    - mclInt*
    - sheSecretKey*
    - CT*
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: decViaGTT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int decViaGTT(mclInt *m, const sheSecretKey *sec, const CT *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decViaGTT
      Src: /src/mcl/src/she_c_impl.hpp:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - m
    - sec
    - c
    argTypes:
    - mclInt*
    - sheSecretKey*
    - sheCipherTextG1*
    constantsTouched: []
    func_position:
      end: 476
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 476
    functionName: sheDecG1ViaGT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - decViaGTT
    linkageType: ''
    returnType: int
    signature: int sheDecG1ViaGT(mclInt *m, const sheSecretKey *sec, const sheCipherTextG1
      *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decViaGTT
      Src: /src/mcl/src/she_c_impl.hpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - m
    - sec
    - c
    argTypes:
    - mclInt*
    - sheSecretKey*
    - sheCipherTextG2*
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: sheDecG2ViaGT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - decViaGTT
    linkageType: ''
    returnType: int
    signature: int sheDecG2ViaGT(mclInt *m, const sheSecretKey *sec, const sheCipherTextG2
      *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:488,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sec
    - c
    argTypes:
    - sheSecretKey*
    - CT*
    constantsTouched: []
    func_position:
      end: 491
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 491
    functionName: isZeroT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int isZeroT(const sheSecretKey *sec, const CT *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isZeroT
      Src: /src/mcl/src/she_c_impl.hpp:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sec
    - c
    argTypes:
    - sheSecretKey*
    - sheCipherTextG1*
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: sheIsZeroG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - isZeroT
    linkageType: ''
    returnType: int
    signature: int sheIsZeroG1(const sheSecretKey *sec, const sheCipherTextG1 *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isZeroT
      Src: /src/mcl/src/she_c_impl.hpp:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sec
    - c
    argTypes:
    - sheSecretKey*
    - sheCipherTextG2*
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: sheIsZeroG2
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - isZeroT
    linkageType: ''
    returnType: int
    signature: int sheIsZeroG2(const sheSecretKey *sec, const sheCipherTextG2 *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isZeroT
      Src: /src/mcl/src/she_c_impl.hpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sec
    - c
    argTypes:
    - sheSecretKey*
    - sheCipherTextGT*
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: sheIsZeroGT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - isZeroT
    linkageType: ''
    returnType: int
    signature: int sheIsZeroGT(const sheSecretKey *sec, const sheCipherTextGT *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/she_c_impl.hpp:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - CT
    - CT
    constantsTouched: []
    func_position:
      end: 511
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 511
    functionName: negT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: int
    signature: int negT(CT& y, const CT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: negT
      Src: /src/mcl/src/she_c_impl.hpp:515,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:515,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - sheCipherTextG1*
    - sheCipherTextG1*
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: sheNegG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - negT
    - cast
    linkageType: ''
    returnType: int
    signature: int sheNegG1(sheCipherTextG1 *y, const sheCipherTextG1 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: negT
      Src: /src/mcl/src/she_c_impl.hpp:520,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:520,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - sheCipherTextG2*
    - sheCipherTextG2*
    constantsTouched: []
    func_position:
      end: 521
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 521
    functionName: sheNegG2
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - negT
    - cast
    linkageType: ''
    returnType: int
    signature: int sheNegG2(sheCipherTextG2 *y, const sheCipherTextG2 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: negT
      Src: /src/mcl/src/she_c_impl.hpp:525,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:525,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - sheCipherTextGT*
    - sheCipherTextGT*
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionName: sheNegGT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - negT
    - cast
    linkageType: ''
    returnType: int
    signature: int sheNegGT(sheCipherTextGT *y, const sheCipherTextGT *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/she_c_impl.hpp:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CT
    - CT
    - CT
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: addT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 5
    functionsReached:
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: int
    signature: int addT(CT& z, const CT& x, const CT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addT
      Src: /src/mcl/src/she_c_impl.hpp:537,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:537,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:537,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - sheCipherTextG1*
    - sheCipherTextG1*
    - sheCipherTextG1*
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 3
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: sheAddG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - addT
    linkageType: ''
    returnType: int
    signature: int sheAddG1(sheCipherTextG1 *z, const sheCipherTextG1 *x, const sheCipherTextG1
      *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addT
      Src: /src/mcl/src/she_c_impl.hpp:542,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:542,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:542,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - sheCipherTextG2*
    - sheCipherTextG2*
    - sheCipherTextG2*
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: sheAddG2
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - addT
    linkageType: ''
    returnType: int
    signature: int sheAddG2(sheCipherTextG2 *z, const sheCipherTextG2 *x, const sheCipherTextG2
      *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addT
      Src: /src/mcl/src/she_c_impl.hpp:547,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:547,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:547,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - sheCipherTextGT*
    - sheCipherTextGT*
    - sheCipherTextGT*
    constantsTouched: []
    func_position:
      end: 548
      start: 545
    functionDepth: 3
    functionLinenumber: 545
    functionLinenumberEnd: 548
    functionName: sheAddGT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 3
    functionsReached:
    - cast
    - addT
    linkageType: ''
    returnType: int
    signature: int sheAddGT(sheCipherTextGT *z, const sheCipherTextGT *x, const sheCipherTextGT
      *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/she_c_impl.hpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CT
    - CT
    - CT
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 2
    functionLinenumber: 551
    functionLinenumberEnd: 555
    functionName: subT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 3
    functionsReached:
    - fiat_bls12_381_fp_sub
    linkageType: ''
    returnType: int
    signature: int subT(CT& z, const CT& x, const CT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subT
      Src: /src/mcl/src/she_c_impl.hpp:559,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:559,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:559,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - sheCipherTextG1*
    - sheCipherTextG1*
    - sheCipherTextG1*
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 3
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: sheSubG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - subT
    linkageType: ''
    returnType: int
    signature: int sheSubG1(sheCipherTextG1 *z, const sheCipherTextG1 *x, const sheCipherTextG1
      *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subT
      Src: /src/mcl/src/she_c_impl.hpp:564,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:564,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:564,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - sheCipherTextG2*
    - sheCipherTextG2*
    - sheCipherTextG2*
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 3
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: sheSubG2
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - subT
    linkageType: ''
    returnType: int
    signature: int sheSubG2(sheCipherTextG2 *z, const sheCipherTextG2 *x, const sheCipherTextG2
      *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subT
      Src: /src/mcl/src/she_c_impl.hpp:569,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:569,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:569,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - sheCipherTextGT*
    - sheCipherTextGT*
    - sheCipherTextGT*
    constantsTouched: []
    func_position:
      end: 570
      start: 567
    functionDepth: 3
    functionLinenumber: 567
    functionLinenumberEnd: 570
    functionName: sheSubGT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - subT
    linkageType: ''
    returnType: int
    signature: int sheSubGT(sheCipherTextGT *z, const sheCipherTextGT *x, const sheCipherTextGT
      *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/she_c_impl.hpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CT1
    - CT2
    - CT3
    constantsTouched: []
    func_position:
      end: 577
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 577
    functionName: mulT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: int
    signature: int mulT(CT1& z, const CT2& x, const CT3& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulT
      Src: /src/mcl/src/she_c_impl.hpp:581,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:581,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - sheCipherTextG1*
    - sheCipherTextG1*
    - mclInt
    constantsTouched: []
    func_position:
      end: 582
      start: 579
    functionDepth: 3
    functionLinenumber: 579
    functionLinenumberEnd: 582
    functionName: sheMulG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    - mulT
    linkageType: ''
    returnType: int
    signature: int sheMulG1(sheCipherTextG1 *z, const sheCipherTextG1 *x, mclInt y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulT
      Src: /src/mcl/src/she_c_impl.hpp:586,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:586,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - sheCipherTextG2*
    - sheCipherTextG2*
    - mclInt
    constantsTouched: []
    func_position:
      end: 587
      start: 584
    functionDepth: 3
    functionLinenumber: 584
    functionLinenumberEnd: 587
    functionName: sheMulG2
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    - mulT
    linkageType: ''
    returnType: int
    signature: int sheMulG2(sheCipherTextG2 *z, const sheCipherTextG2 *x, mclInt y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulT
      Src: /src/mcl/src/she_c_impl.hpp:591,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:591,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - sheCipherTextGT*
    - sheCipherTextGT*
    - mclInt
    constantsTouched: []
    func_position:
      end: 592
      start: 589
    functionDepth: 3
    functionLinenumber: 589
    functionLinenumberEnd: 592
    functionName: sheMulGT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    - mulT
    linkageType: ''
    returnType: int
    signature: int sheMulGT(sheCipherTextGT *z, const sheCipherTextGT *x, mclInt y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setArray
      Src: /src/mcl/src/she_c_impl.hpp:599,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/she_c_impl.hpp:600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - buf
    - bufSize
    argTypes:
    - CT
    - CT
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 604
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 604
    functionName: mulIntVecT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - setArray
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: int
    signature: int mulIntVecT(CT& z, const CT& x, const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulIntVecT
      Src: /src/mcl/src/she_c_impl.hpp:608,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:608,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - z
    - x
    - buf
    - bufSize
    argTypes:
    - sheCipherTextG1*
    - sheCipherTextG1*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 3
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: sheMulIntVecG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - mulIntVecT
    linkageType: ''
    returnType: int
    signature: int sheMulIntVecG1(sheCipherTextG1 *z, const sheCipherTextG1 *x, const
      void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulIntVecT
      Src: /src/mcl/src/she_c_impl.hpp:613,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:613,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - z
    - x
    - buf
    - bufSize
    argTypes:
    - sheCipherTextG2*
    - sheCipherTextG2*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 614
      start: 611
    functionDepth: 3
    functionLinenumber: 611
    functionLinenumberEnd: 614
    functionName: sheMulIntVecG2
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - mulIntVecT
    linkageType: ''
    returnType: int
    signature: int sheMulIntVecG2(sheCipherTextG2 *z, const sheCipherTextG2 *x, const
      void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulIntVecT
      Src: /src/mcl/src/she_c_impl.hpp:618,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:618,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - z
    - x
    - buf
    - bufSize
    argTypes:
    - sheCipherTextGT*
    - sheCipherTextGT*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 619
      start: 616
    functionDepth: 3
    functionLinenumber: 616
    functionLinenumberEnd: 619
    functionName: sheMulIntVecGT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - mulIntVecT
    linkageType: ''
    returnType: int
    signature: int sheMulIntVecGT(sheCipherTextGT *z, const sheCipherTextGT *x, const
      void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulT
      Src: /src/mcl/src/she_c_impl.hpp:623,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:623,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:623,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - sheCipherTextGT*
    - sheCipherTextG1*
    - sheCipherTextG2*
    constantsTouched: []
    func_position:
      end: 624
      start: 621
    functionDepth: 3
    functionLinenumber: 621
    functionLinenumberEnd: 624
    functionName: sheMul
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 4
    functionsReached:
    - cast
    - mulT
    linkageType: ''
    returnType: int
    signature: int sheMul(sheCipherTextGT *z, const sheCipherTextG1 *x, const sheCipherTextG2
      *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextGT::mulML
      Src: /src/mcl/src/she_c_impl.hpp:628,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:628,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:628,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - sheCipherTextGT*
    - sheCipherTextG1*
    - sheCipherTextG2*
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: sheMulML
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::CipherTextGT::mulML
    - cast
    linkageType: ''
    returnType: int
    signature: int sheMulML(sheCipherTextGT *z, const sheCipherTextG1 *x, const sheCipherTextG2
      *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextGT::finalExp
      Src: /src/mcl/src/she_c_impl.hpp:634,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:634,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - sheCipherTextGT*
    - sheCipherTextGT*
    constantsTouched: []
    func_position:
      end: 636
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 636
    functionName: sheFinalExpGT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - mcl::she::CipherTextGT::finalExp
    linkageType: ''
    returnType: int
    signature: int sheFinalExpGT(sheCipherTextGT *y, const sheCipherTextGT *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' c'
    - pub
    argTypes:
    - CT
    - shePublicKey*
    constantsTouched: []
    func_position:
      end: 643
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 643
    functionName: reRandT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int reRandT(CT& c, const shePublicKey *pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reRandT
      Src: /src/mcl/src/she_c_impl.hpp:647,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - pub
    argTypes:
    - sheCipherTextG1*
    - shePublicKey*
    constantsTouched: []
    func_position:
      end: 648
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 648
    functionName: sheReRandG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - reRandT
    linkageType: ''
    returnType: int
    signature: int sheReRandG1(sheCipherTextG1 *c, const shePublicKey *pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reRandT
      Src: /src/mcl/src/she_c_impl.hpp:652,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - pub
    argTypes:
    - sheCipherTextG2*
    - shePublicKey*
    constantsTouched: []
    func_position:
      end: 653
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 653
    functionName: sheReRandG2
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - reRandT
    linkageType: ''
    returnType: int
    signature: int sheReRandG2(sheCipherTextG2 *c, const shePublicKey *pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reRandT
      Src: /src/mcl/src/she_c_impl.hpp:657,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - pub
    argTypes:
    - sheCipherTextGT*
    - shePublicKey*
    constantsTouched: []
    func_position:
      end: 658
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 658
    functionName: sheReRandGT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - reRandT
    linkageType: ''
    returnType: int
    signature: int sheReRandGT(sheCipherTextGT *c, const shePublicKey *pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:663,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:663,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - y
    - pub
    - x
    argTypes:
    - sheCipherTextGT*
    - shePublicKey*
    - CT*
    constantsTouched: []
    func_position:
      end: 665
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 665
    functionName: convert
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int convert(sheCipherTextGT *y, const shePublicKey *pub, const CT *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: convert
      Src: /src/mcl/src/she_c_impl.hpp:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - y
    - pub
    - x
    argTypes:
    - sheCipherTextGT*
    - shePublicKey*
    - sheCipherTextG1*
    constantsTouched: []
    func_position:
      end: 670
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 670
    functionName: sheConvertG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - convert
    linkageType: ''
    returnType: int
    signature: int sheConvertG1(sheCipherTextGT *y, const shePublicKey *pub, const
      sheCipherTextG1 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: convert
      Src: /src/mcl/src/she_c_impl.hpp:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - y
    - pub
    - x
    argTypes:
    - sheCipherTextGT*
    - shePublicKey*
    - sheCipherTextG2*
    constantsTouched: []
    func_position:
      end: 675
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 675
    functionName: sheConvertG2
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - convert
    linkageType: ''
    returnType: int
    signature: int sheConvertG2(sheCipherTextGT *y, const shePublicKey *pub, const
      sheCipherTextG2 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<shePrecomputedPublicKey*>
      Src: /src/mcl/src/she_c_impl.hpp:680,1
    - Dst: PrecomputedPublicKey::PrecomputedPublicKey
      Src: /src/mcl/src/she_c_impl.hpp:680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 683
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 683
    functionName: shePrecomputedPublicKeyCreate
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 5
    functionsReached:
    - reinterpret_cast<shePrecomputedPublicKey*>
    - PrecomputedPublicKey::PrecomputedPublicKey
    linkageType: ''
    returnType: shePrecomputedPublicKey
    signature: shePrecomputedPublicKey *shePrecomputedPublicKeyCreate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ppub
    argTypes:
    - shePrecomputedPublicKey*
    constantsTouched: []
    func_position:
      end: 688
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 688
    functionName: shePrecomputedPublicKeyDestroy
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 5
    functionsReached:
    - cast
    linkageType: ''
    returnType: void
    signature: void shePrecomputedPublicKeyDestroy(shePrecomputedPublicKey *ppub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:693,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ppub
    - pub
    argTypes:
    - shePrecomputedPublicKey*
    - shePublicKey*
    constantsTouched: []
    func_position:
      end: 697
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 697
    functionName: shePrecomputedPublicKeyInit
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 5
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int shePrecomputedPublicKeyInit(shePrecomputedPublicKey *ppub, const
      shePublicKey *pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:703,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - c
    - pub
    - m
    argTypes:
    - CT*
    - shePrecomputedPublicKey*
    - mclInt
    constantsTouched: []
    func_position:
      end: 707
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 707
    functionName: pEncT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int pEncT(CT *c, const shePrecomputedPublicKey *pub, mclInt m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pEncT
      Src: /src/mcl/src/she_c_impl.hpp:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - pub
    - m
    argTypes:
    - sheCipherTextG1*
    - shePrecomputedPublicKey*
    - mclInt
    constantsTouched: []
    func_position:
      end: 712
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 712
    functionName: shePrecomputedPublicKeyEncG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - pEncT
    linkageType: ''
    returnType: int
    signature: int shePrecomputedPublicKeyEncG1(sheCipherTextG1 *c, const shePrecomputedPublicKey
      *pub, mclInt m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pEncT
      Src: /src/mcl/src/she_c_impl.hpp:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - pub
    - m
    argTypes:
    - sheCipherTextG2*
    - shePrecomputedPublicKey*
    - mclInt
    constantsTouched: []
    func_position:
      end: 717
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 717
    functionName: shePrecomputedPublicKeyEncG2
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - pEncT
    linkageType: ''
    returnType: int
    signature: int shePrecomputedPublicKeyEncG2(sheCipherTextG2 *c, const shePrecomputedPublicKey
      *pub, mclInt m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pEncT
      Src: /src/mcl/src/she_c_impl.hpp:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - pub
    - m
    argTypes:
    - sheCipherTextGT*
    - shePrecomputedPublicKey*
    - mclInt
    constantsTouched: []
    func_position:
      end: 722
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 722
    functionName: shePrecomputedPublicKeyEncGT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - pEncT
    linkageType: ''
    returnType: int
    signature: int shePrecomputedPublicKeyEncGT(sheCipherTextGT *c, const shePrecomputedPublicKey
      *pub, mclInt m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setArray
      Src: /src/mcl/src/she_c_impl.hpp:729,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:730,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - c
    - pub
    - buf
    - bufSize
    argTypes:
    - CT*
    - shePrecomputedPublicKey*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 734
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 734
    functionName: pEncIntVecT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - setArray
    linkageType: ''
    returnType: int
    signature: int pEncIntVecT(CT *c, const shePrecomputedPublicKey *pub, const void
      *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pEncIntVecT
      Src: /src/mcl/src/she_c_impl.hpp:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - pub
    - buf
    - bufSize
    argTypes:
    - sheCipherTextG1*
    - shePrecomputedPublicKey*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 739
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 739
    functionName: shePrecomputedPublicKeyEncIntVecG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - pEncIntVecT
    linkageType: ''
    returnType: int
    signature: int shePrecomputedPublicKeyEncIntVecG1(sheCipherTextG1 *c, const shePrecomputedPublicKey
      *pub, const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pEncIntVecT
      Src: /src/mcl/src/she_c_impl.hpp:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - pub
    - buf
    - bufSize
    argTypes:
    - sheCipherTextG2*
    - shePrecomputedPublicKey*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 744
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 744
    functionName: shePrecomputedPublicKeyEncIntVecG2
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - pEncIntVecT
    linkageType: ''
    returnType: int
    signature: int shePrecomputedPublicKeyEncIntVecG2(sheCipherTextG2 *c, const shePrecomputedPublicKey
      *pub, const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pEncIntVecT
      Src: /src/mcl/src/she_c_impl.hpp:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - pub
    - buf
    - bufSize
    argTypes:
    - sheCipherTextGT*
    - shePrecomputedPublicKey*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 749
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 749
    functionName: shePrecomputedPublicKeyEncIntVecGT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - pEncIntVecT
    linkageType: ''
    returnType: int
    signature: int shePrecomputedPublicKeyEncIntVecGT(sheCipherTextGT *c, const shePrecomputedPublicKey
      *pub, const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify
      Src: /src/mcl/src/she_c_impl.hpp:755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' pub'
    - ' c'
    - ' zkp'
    argTypes:
    - PK
    - CT
    - ZkpBin
    constantsTouched: []
    func_position:
      end: 758
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 758
    functionName: verifyT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 2
    functionsReached:
    - verify
    linkageType: ''
    returnType: int
    signature: int verifyT(const PK& pub, const CT& c, const ZkpBin& zkp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyT
      Src: /src/mcl/src/she_c_impl.hpp:762,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:762,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:762,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pub
    - c
    - zkp
    argTypes:
    - shePublicKey*
    - sheCipherTextG1*
    - sheZkpBin*
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: sheVerifyZkpBinG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - verifyT
    linkageType: ''
    returnType: int
    signature: int sheVerifyZkpBinG1(const shePublicKey *pub, const sheCipherTextG1
      *c, const sheZkpBin *zkp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyT
      Src: /src/mcl/src/she_c_impl.hpp:766,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:766,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:766,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pub
    - c
    - zkp
    argTypes:
    - shePublicKey*
    - sheCipherTextG2*
    - sheZkpBin*
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: sheVerifyZkpBinG2
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - verifyT
    linkageType: ''
    returnType: int
    signature: int sheVerifyZkpBinG2(const shePublicKey *pub, const sheCipherTextG2
      *c, const sheZkpBin *zkp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyT
      Src: /src/mcl/src/she_c_impl.hpp:770,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:770,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:770,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pub
    - c
    - zkp
    argTypes:
    - shePrecomputedPublicKey*
    - sheCipherTextG1*
    - sheZkpBin*
    constantsTouched: []
    func_position:
      end: 771
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 771
    functionName: shePrecomputedPublicKeyVerifyZkpBinG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - verifyT
    linkageType: ''
    returnType: int
    signature: int shePrecomputedPublicKeyVerifyZkpBinG1(const shePrecomputedPublicKey
      *pub, const sheCipherTextG1 *c, const sheZkpBin *zkp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyT
      Src: /src/mcl/src/she_c_impl.hpp:774,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:774,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:774,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pub
    - c
    - zkp
    argTypes:
    - shePrecomputedPublicKey*
    - sheCipherTextG2*
    - sheZkpBin*
    constantsTouched: []
    func_position:
      end: 775
      start: 772
    functionDepth: 2
    functionLinenumber: 772
    functionLinenumberEnd: 775
    functionName: shePrecomputedPublicKeyVerifyZkpBinG2
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - verifyT
    linkageType: ''
    returnType: int
    signature: int shePrecomputedPublicKeyVerifyZkpBinG2(const shePrecomputedPublicKey
      *pub, const sheCipherTextG2 *c, const sheZkpBin *zkp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify
      Src: /src/mcl/src/she_c_impl.hpp:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' pub'
    - ' c1'
    - ' c2'
    - ' zkp'
    argTypes:
    - PK
    - CipherTextG1
    - CipherTextG2
    - Zkp
    constantsTouched: []
    func_position:
      end: 784
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 784
    functionName: verifyT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 6
    functionsReached:
    - verify
    linkageType: ''
    returnType: int
    signature: int verifyT(const PK& pub, const CipherTextG1& c1, const CipherTextG2&
      c2, const Zkp& zkp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyT
      Src: /src/mcl/src/she_c_impl.hpp:788,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:788,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:788,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:788,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pub
    - c1
    - c2
    - zkp
    argTypes:
    - shePublicKey*
    - sheCipherTextG1*
    - sheCipherTextG2*
    - sheZkpEq*
    constantsTouched: []
    func_position:
      end: 789
      start: 786
    functionDepth: 2
    functionLinenumber: 786
    functionLinenumberEnd: 789
    functionName: sheVerifyZkpEq
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - verifyT
    linkageType: ''
    returnType: int
    signature: int sheVerifyZkpEq(const shePublicKey *pub, const sheCipherTextG1 *c1,
      const sheCipherTextG2 *c2, const sheZkpEq *zkp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyT
      Src: /src/mcl/src/she_c_impl.hpp:792,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:792,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:792,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:792,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pub
    - c1
    - c2
    - zkp
    argTypes:
    - shePublicKey*
    - sheCipherTextG1*
    - sheCipherTextG2*
    - sheZkpBinEq*
    constantsTouched: []
    func_position:
      end: 793
      start: 790
    functionDepth: 2
    functionLinenumber: 790
    functionLinenumberEnd: 793
    functionName: sheVerifyZkpBinEq
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - verifyT
    linkageType: ''
    returnType: int
    signature: int sheVerifyZkpBinEq(const shePublicKey *pub, const sheCipherTextG1
      *c1, const sheCipherTextG2 *c2, const sheZkpBinEq *zkp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyT
      Src: /src/mcl/src/she_c_impl.hpp:796,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:796,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:796,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:796,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ppub
    - c1
    - c2
    - zkp
    argTypes:
    - shePrecomputedPublicKey*
    - sheCipherTextG1*
    - sheCipherTextG2*
    - sheZkpEq*
    constantsTouched: []
    func_position:
      end: 797
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 797
    functionName: shePrecomputedPublicKeyVerifyZkpEq
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - verifyT
    linkageType: ''
    returnType: int
    signature: int shePrecomputedPublicKeyVerifyZkpEq(const shePrecomputedPublicKey
      *ppub, const sheCipherTextG1 *c1, const sheCipherTextG2 *c2, const sheZkpEq
      *zkp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyT
      Src: /src/mcl/src/she_c_impl.hpp:800,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:800,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:800,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:800,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ppub
    - c1
    - c2
    - zkp
    argTypes:
    - shePrecomputedPublicKey*
    - sheCipherTextG1*
    - sheCipherTextG2*
    - sheZkpBinEq*
    constantsTouched: []
    func_position:
      end: 801
      start: 798
    functionDepth: 2
    functionLinenumber: 798
    functionLinenumberEnd: 801
    functionName: shePrecomputedPublicKeyVerifyZkpBinEq
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - verifyT
    linkageType: ''
    returnType: int
    signature: int shePrecomputedPublicKeyVerifyZkpBinEq(const shePrecomputedPublicKey
      *ppub, const sheCipherTextG1 *c1, const sheCipherTextG2 *c2, const sheZkpBinEq
      *zkp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:806,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:806,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:806,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - m
    - zkp
    - sec
    - c
    - pub
    argTypes:
    - mclInt*
    - sheZkpDec*
    - sheSecretKey*
    - sheCipherTextG1*
    - shePublicKey*
    constantsTouched: []
    func_position:
      end: 808
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 808
    functionName: sheDecWithZkpDecG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int sheDecWithZkpDecG1(mclInt *m, sheZkpDec *zkp, const sheSecretKey
      *sec, const sheCipherTextG1 *c, const shePublicKey *pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:813,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:813,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:813,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - m
    - zkp
    - sec
    - c
    - aux
    argTypes:
    - mclInt*
    - sheZkpDecGT*
    - sheSecretKey*
    - sheCipherTextGT*
    - sheAuxiliaryForZkpDecGT*
    constantsTouched: []
    func_position:
      end: 815
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 815
    functionName: sheDecWithZkpDecGT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int sheDecWithZkpDecGT(mclInt *m, sheZkpDecGT *zkp, const sheSecretKey
      *sec, const sheCipherTextGT *c, const sheAuxiliaryForZkpDecGT *aux)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:819,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:819,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pub
    - c1
    - m
    - zkp
    argTypes:
    - shePublicKey*
    - sheCipherTextG1*
    - mclInt
    - sheZkpDec*
    constantsTouched: []
    func_position:
      end: 820
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 820
    functionName: sheVerifyZkpDecG1
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int sheVerifyZkpDecG1(const shePublicKey *pub, const sheCipherTextG1
      *c1, mclInt m, const sheZkpDec *zkp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:824,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:824,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - aux
    - ct
    - m
    - zkp
    argTypes:
    - sheAuxiliaryForZkpDecGT*
    - sheCipherTextGT*
    - mclInt
    - sheZkpDecGT*
    constantsTouched: []
    func_position:
      end: 825
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 825
    functionName: sheVerifyZkpDecGT
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int sheVerifyZkpDecGT(const sheAuxiliaryForZkpDecGT *aux, const sheCipherTextGT
      *ct, mclInt m, const sheZkpDecGT *zkp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:829,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - sheSecretKey*
    - sheSecretKey*
    constantsTouched: []
    func_position:
      end: 830
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 830
    functionName: sheSecretKeyIsEqual
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int sheSecretKeyIsEqual(const sheSecretKey *x, const sheSecretKey *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:834,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - shePublicKey*
    - shePublicKey*
    constantsTouched: []
    func_position:
      end: 835
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 835
    functionName: shePublicKeyIsEqual
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int shePublicKeyIsEqual(const shePublicKey *x, const shePublicKey *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:839,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - sheCipherTextG1*
    - sheCipherTextG1*
    constantsTouched: []
    func_position:
      end: 840
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 840
    functionName: sheCipherTextG1IsEqual
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int sheCipherTextG1IsEqual(const sheCipherTextG1 *x, const sheCipherTextG1
      *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:844,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - sheCipherTextG2*
    - sheCipherTextG2*
    constantsTouched: []
    func_position:
      end: 845
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 845
    functionName: sheCipherTextG2IsEqual
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int sheCipherTextG2IsEqual(const sheCipherTextG2 *x, const sheCipherTextG2
      *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:849,1
    - Dst: cast
      Src: /src/mcl/src/she_c_impl.hpp:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - sheCipherTextGT*
    - sheCipherTextGT*
    constantsTouched: []
    func_position:
      end: 850
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 850
    functionName: sheCipherTextGTIsEqual
    functionSourceFile: /src/mcl/src/she_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int sheCipherTextGTIsEqual(const sheCipherTextGT *x, const sheCipherTextGT
      *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bint::shrT<N>
      Src: /src/mcl/src/low_func.hpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: mcl::fp::shr1T
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - bint::shrT<N>
    linkageType: ''
    returnType: void
    signature: void shr1T(Unit *y, const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bint::addT<N>
      Src: /src/mcl/src/low_func.hpp:33,1
    - Dst: bint::subT<N>
      Src: /src/mcl/src/low_func.hpp:34,1
    - Dst: bint::subT<N>
      Src: /src/mcl/src/low_func.hpp:38,1
    - Dst: bint::copyT<N>
      Src: /src/mcl/src/low_func.hpp:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - z
    - x
    - y
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: mcl::fp::addModT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - bint::subT<N>
    - bint::addT<N>
    - bint::copyT<N>
    linkageType: ''
    returnType: void
    signature: void addModT(Unit *z, const Unit *x, const Unit *y, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bint::addNFT<N>
      Src: /src/mcl/src/low_func.hpp:46,1
    - Dst: bint::subNFT<N>
      Src: /src/mcl/src/low_func.hpp:48,1
    - Dst: bint::copyT<N>
      Src: /src/mcl/src/low_func.hpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - z
    - x
    - y
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: mcl::fp::addModNFT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - bint::addNFT<N>
    - bint::subNFT<N>
    - bint::copyT<N>
    linkageType: ''
    returnType: void
    signature: void addModNFT(Unit *z, const Unit *x, const Unit *y, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bint::subT<N>
      Src: /src/mcl/src/low_func.hpp:56,1
    - Dst: bint::addT<N>
      Src: /src/mcl/src/low_func.hpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - z
    - x
    - y
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: mcl::fp::subModT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - bint::addT<N>
    - bint::subT<N>
    linkageType: ''
    returnType: void
    signature: void subModT(Unit *z, const Unit *x, const Unit *y, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bint::subNFT<N>
      Src: /src/mcl/src/low_func.hpp:64,1
    - Dst: bint::addNFT<N>
      Src: /src/mcl/src/low_func.hpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - z
    - x
    - y
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: mcl::fp::subModNFT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - bint::addNFT<N>
    - bint::subNFT<N>
    linkageType: ''
    returnType: void
    signature: void subModNFT(Unit *z, const Unit *x, const Unit *y, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bint::isZeroT<N>
      Src: /src/mcl/src/low_func.hpp:73,1
    - Dst: bint::clearT<N>
      Src: /src/mcl/src/low_func.hpp:74,1
    - Dst: bint::subT<N>
      Src: /src/mcl/src/low_func.hpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - y
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: mcl::fp::negT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - bint::subT<N>
    - bint::clearT<N>
    - bint::isZeroT<N>
    linkageType: ''
    returnType: void
    signature: void negT(Unit *y, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bint::mulUnitT<N>
      Src: /src/mcl/src/low_func.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: mcl::fp::mulUnitPreT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - bint::mulUnitT<N>
    linkageType: ''
    returnType: void
    signature: void mulUnitPreT(Unit *z, const Unit *x, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::mulUnitPreT
      Src: /src/mcl/src/low_func.hpp:92,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/src/low_func.hpp:94,1
    - Dst: mcl::bint::clearN
      Src: /src/mcl/src/low_func.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - z
    - x
    - y
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit
    - Unit*
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: mcl::fp::mulUnitModT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::clearN
    - mcl::fp::mulUnitPreT
    - mcl::bint::copyN
    linkageType: ''
    returnType: void
    signature: void mulUnitModT(Unit *z, const Unit *x, Unit y, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::copyN
      Src: /src/mcl/src/low_func.hpp:103,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/src/low_func.hpp:105,1
    - Dst: mcl::bint::clearN
      Src: /src/mcl/src/low_func.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - y
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: mcl::fp::fpDblModT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::clearN
    - mcl::bint::copyN
    linkageType: ''
    returnType: void
    signature: void fpDblModT(Unit *y, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bint::addT<N * 2>
      Src: /src/mcl/src/low_func.hpp:113,1
    - Dst: bint::subT<N>
      Src: /src/mcl/src/low_func.hpp:114,1
    - Dst: bint::subT<N>
      Src: /src/mcl/src/low_func.hpp:118,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/src/low_func.hpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - z
    - x
    - y
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: mcl::fp::fpDblAddModT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - bint::subT<N>
    - bint::addT<N * 2>
    - mcl::bint::copyN
    linkageType: ''
    returnType: void
    signature: void fpDblAddModT(Unit *z, const Unit *x, const Unit *y, const Unit
      *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bint::subT<N * 2>
      Src: /src/mcl/src/low_func.hpp:127,1
    - Dst: bint::addT<N>
      Src: /src/mcl/src/low_func.hpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - z
    - x
    - y
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: mcl::fp::fpDblSubModT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - bint::addT<N>
    - bint::subT<N * 2>
    linkageType: ''
    returnType: void
    signature: void fpDblSubModT(Unit *z, const Unit *x, const Unit *y, const Unit
      *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bint::mulUnitAddT<N>
      Src: /src/mcl/src/low_func.hpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - z
    - x
    - y
    - CF
    argTypes:
    - T[]
    - Unit[]
    - Unit
    - Unit
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: mcl::fp::mulUnitAddFullWithCF
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - bint::mulUnitAddT<N>
    linkageType: ''
    returnType: Unit
    signature: Unit mulUnitAddFullWithCF(T z[N + 1], const Unit x[N], Unit y, Unit
      CF)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bint::copyT<N * 2>
      Src: /src/mcl/src/low_func.hpp:159,1
    - Dst: mcl::fp::mulUnitAddFullWithCF
      Src: /src/mcl/src/low_func.hpp:163,1
    - Dst: bint::subT<N>
      Src: /src/mcl/src/low_func.hpp:166,1
    - Dst: assert
      Src: /src/mcl/src/low_func.hpp:167,1
    - Dst: bint::subT<N>
      Src: /src/mcl/src/low_func.hpp:170,1
    - Dst: bint::copyT<N>
      Src: /src/mcl/src/low_func.hpp:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - z
    - xy
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 174
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 174
    functionName: mcl::fp::modRedT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - bint::copyT<N * 2>
    - bint::subT<N>
    - assert
    - bint::copyT<N>
    - mcl::fp::mulUnitAddFullWithCF
    linkageType: ''
    returnType: void
    signature: void modRedT(Unit *z, const Unit *xy, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bint::mulUnitAddT<N>
      Src: /src/mcl/src/low_func.hpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - z
    - x
    - y
    - CF
    argTypes:
    - Unit[]
    - Unit[]
    - Unit
    - Unit
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: mcl::fp::mulUnitAddWithCF
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - bint::mulUnitAddT<N>
    linkageType: ''
    returnType: Unit
    signature: Unit mulUnitAddWithCF(Unit z[N + 1], const Unit x[N], Unit y, Unit
      CF)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bint::copyT<N * 2>
      Src: /src/mcl/src/low_func.hpp:193,1
    - Dst: mcl::fp::mulUnitAddWithCF
      Src: /src/mcl/src/low_func.hpp:197,1
    - Dst: bint::subT<N>
      Src: /src/mcl/src/low_func.hpp:199,1
    - Dst: bint::copyT<N>
      Src: /src/mcl/src/low_func.hpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - z
    - xy
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 202
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 202
    functionName: mcl::fp::modRedNFT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - bint::subT<N>
    - bint::copyT<N>
    - bint::copyT<N * 2>
    - mcl::fp::mulUnitAddWithCF
    linkageType: ''
    returnType: void
    signature: void modRedNFT(Unit *z, const Unit *xy, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bint::mulUnitAddT<N>
      Src: /src/mcl/src/low_func.hpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: mcl::fp::mulUnitAddFull
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - bint::mulUnitAddT<N>
    linkageType: ''
    returnType: Unit
    signature: Unit mulUnitAddFull(Unit *z, const Unit *x, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bint::mulUnitT<N>
      Src: /src/mcl/src/low_func.hpp:222,1
    - Dst: mcl::fp::mulUnitAddFull
      Src: /src/mcl/src/low_func.hpp:224,1
    - Dst: mcl::fp::mulUnitAddFull
      Src: /src/mcl/src/low_func.hpp:226,1
    - Dst: mcl::fp::mulUnitAddFull
      Src: /src/mcl/src/low_func.hpp:228,1
    - Dst: bint::subT<N>
      Src: /src/mcl/src/low_func.hpp:231,1
    - Dst: bint::subT<N>
      Src: /src/mcl/src/low_func.hpp:233,1
    - Dst: bint::copyT<N>
      Src: /src/mcl/src/low_func.hpp:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - z
    - x
    - y
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 237
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 237
    functionName: mcl::fp::mulMontT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - bint::mulUnitT<N>
    - mcl::fp::mulUnitAddFull
    - bint::subT<N>
    - bint::copyT<N>
    linkageType: ''
    returnType: void
    signature: void mulMontT(Unit *z, const Unit *x, const Unit *y, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wasm_v128_load
      Src: /src/mcl/src/low_func.hpp:259,1
    - Dst: wasm_v128_load
      Src: /src/mcl/src/low_func.hpp:260,1
    - Dst: wasm_v128_store
      Src: /src/mcl/src/low_func.hpp:261,1
    - Dst: wasm_i64x2_add
      Src: /src/mcl/src/low_func.hpp:261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - uint64_t*
    - Unit*
    - Unit
    constantsTouched: []
    func_position:
      end: 283
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 283
    functionName: mcl::fp::mulUnitLazyT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - wasm_v128_load
    - wasm_i64x2_add
    - wasm_v128_store
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t mulUnitLazyT(uint64_t *z, const Unit *x, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wasm_v128_load
      Src: /src/mcl/src/low_func.hpp:303,1
    - Dst: wasm_i64x2_add
      Src: /src/mcl/src/low_func.hpp:304,1
    - Dst: wasm_v128_load
      Src: /src/mcl/src/low_func.hpp:304,1
    - Dst: wasm_i64x2_add
      Src: /src/mcl/src/low_func.hpp:305,1
    - Dst: wasm_v128_load
      Src: /src/mcl/src/low_func.hpp:305,1
    - Dst: wasm_v128_store
      Src: /src/mcl/src/low_func.hpp:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - uint64_t*
    - Unit*
    - Unit
    constantsTouched: []
    func_position:
      end: 328
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 328
    functionName: mcl::fp::mulUnitAddLazyT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - wasm_v128_load
    - wasm_i64x2_add
    - wasm_v128_store
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t mulUnitAddLazyT(uint64_t *z, const Unit *x, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - uint64_t*
    - Unit*
    - Unit
    constantsTouched: []
    func_position:
      end: 343
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: mcl::fp::mulUnitLazyT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t mulUnitLazyT(uint64_t *z, const Unit *x, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - uint64_t*
    - Unit*
    - Unit
    constantsTouched: []
    func_position:
      end: 357
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 357
    functionName: mcl::fp::mulUnitAddLazyT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t mulUnitAddLazyT(uint64_t *z, const Unit *x, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/low_func.hpp:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - z
    - x
    - y
    - p
    - rp
    argTypes:
    - uint64_t*
    - Unit*
    - Unit
    - Unit*
    - Unit
    constantsTouched: []
    func_position:
      end: 386
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 386
    functionName: mcl::fp::mulUnitAddLazy2T
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t mulUnitAddLazy2T(uint64_t *z, const Unit *x, Unit y, const
      Unit *p, Unit rp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::mulUnitLazyT
      Src: /src/mcl/src/low_func.hpp:406,1
    - Dst: mcl::fp::mulUnitAddLazyT
      Src: /src/mcl/src/low_func.hpp:408,1
    - Dst: mcl::fp::mulUnitAddLazy2T
      Src: /src/mcl/src/low_func.hpp:411,1
    - Dst: mcl::fp::mulUnitAddLazyT
      Src: /src/mcl/src/low_func.hpp:413,1
    - Dst: mcl::fp::mulUnitAddLazyT
      Src: /src/mcl/src/low_func.hpp:415,1
    - Dst: bint::subT<N>
      Src: /src/mcl/src/low_func.hpp:424,1
    - Dst: bint::copyT<N>
      Src: /src/mcl/src/low_func.hpp:425,1
    - Dst: bint::mulUnitT<N>
      Src: /src/mcl/src/low_func.hpp:434,1
    - Dst: bint::mulUnitAddT<N>
      Src: /src/mcl/src/low_func.hpp:436,1
    - Dst: bint::mulUnitAddT<N>
      Src: /src/mcl/src/low_func.hpp:438,1
    - Dst: bint::mulUnitAddT<N>
      Src: /src/mcl/src/low_func.hpp:440,1
    - Dst: bint::subT<N>
      Src: /src/mcl/src/low_func.hpp:442,1
    - Dst: bint::copyT<N>
      Src: /src/mcl/src/low_func.hpp:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - z
    - x
    - y
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 446
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 446
    functionName: mcl::fp::mulMontNFT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::mulUnitAddLazy2T
    - bint::subT<N>
    - bint::copyT<N>
    - bint::mulUnitT<N>
    - bint::mulUnitAddT<N>
    - mcl::fp::mulUnitAddLazyT
    - mcl::fp::mulUnitLazyT
    linkageType: ''
    returnType: void
    signature: void mulMontNFT(Unit *z, const Unit *x, const Unit *y, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::mulMontT
      Src: /src/mcl/src/low_func.hpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - y
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 453
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 453
    functionName: mcl::fp::sqrMontT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::mulMontT
    linkageType: ''
    returnType: void
    signature: void sqrMontT(Unit *y, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::mulMontNFT
      Src: /src/mcl/src/low_func.hpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - y
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 459
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 459
    functionName: mcl::fp::sqrMontNFT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::mulMontNFT
    linkageType: ''
    returnType: void
    signature: void sqrMontNFT(Unit *y, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bint::mulT<N>
      Src: /src/mcl/src/low_func.hpp:466,1
    - Dst: mcl::fp::fpDblModT
      Src: /src/mcl/src/low_func.hpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - z
    - x
    - y
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 468
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 468
    functionName: mcl::fp::mulModT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::fpDblModT
    - bint::mulT<N>
    linkageType: ''
    returnType: void
    signature: void mulModT(Unit *z, const Unit *x, const Unit *y, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bint::sqrT<N>
      Src: /src/mcl/src/low_func.hpp:475,1
    - Dst: mcl::fp::fpDblModT
      Src: /src/mcl/src/low_func.hpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - y
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 477
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 477
    functionName: mcl::fp::sqrModT
    functionSourceFile: /src/mcl/src/low_func.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::fpDblModT
    - bint::sqrT<N>
    linkageType: ''
    returnType: void
    signature: void sqrModT(Unit *y, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::isZero
      Src: /src/mcl/src/mapto_wb19.hpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: mcl::isZero
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 2
    functionsReached:
    - mcl::isZero
    linkageType: ''
    returnType: bool
    signature: bool isZero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::clear
      Src: /src/mcl/src/mapto_wb19.hpp:28,1
    - Dst: mcl::clear
      Src: /src/mcl/src/mapto_wb19.hpp:29,1
    - Dst: mcl::clear
      Src: /src/mcl/src/mapto_wb19.hpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: mcl::clear
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 1
    functionsReached:
    - mcl::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::isEqualJacobi
      Src: /src/mcl/src/mapto_wb19.hpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - PointT<F>
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: mcl::isEqual
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 0
    functionsReached:
    - mcl::ec::isEqualJacobi
    linkageType: ''
    returnType: bool
    signature: bool isEqual(const PointT<F>& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mcl/src/mapto_wb19.hpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dst_
    - len_
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: mcl::set
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool set(const char *dst_, size_t len_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/src/mapto_wb19.hpp:81,1
    - Dst: b::clear
      Src: /src/mcl/src/mapto_wb19.hpp:87,1
    - Dst: a::clear
      Src: /src/mcl/src/mapto_wb19.hpp:88,1
    - Dst: a::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:90,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:91,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/mapto_wb19.hpp:94,1
    - Dst: mcl::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:103,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:104,1
    - Dst: mcl::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:105,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:106,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/mapto_wb19.hpp:107,1
    - Dst: mcl::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:109,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:110,1
    - Dst: mcl::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:111,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:112,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/mapto_wb19.hpp:113,1
    - Dst: mcl::init_iso3
      Src: /src/mcl/src/mapto_wb19.hpp:115,1
    - Dst: mcl::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:121,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:122,1
    - Dst: mcl::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:123,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:124,1
    - Dst: mcl::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:125,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:126,1
    - Dst: mcl::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:127,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:128,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:130,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:131,1
    - Dst: mcl::init_iso11
      Src: /src/mcl/src/mapto_wb19.hpp:133,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:136,1
    - Dst: mcl::set
      Src: /src/mcl/src/mapto_wb19.hpp:138,1
    - Dst: strlen
      Src: /src/mcl/src/mapto_wb19.hpp:138,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 140
    functionName: mcl::init
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::setStr
    - mcl::init_iso3
    - assert
    - mcl::set
    - a::setStr
    - a::clear
    - b::clear
    - Botan::EC_Group_Data::affine_neg
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - mcl::setStr
    - mcl::init_iso11
    - strlen
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:145,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - s
    - n
    argTypes:
    - Fp*
    - char**
    - size_t
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: mcl::initArray
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 0
    functionsReached:
    - mcl::setStr
    - assert
    linkageType: ''
    returnType: void
    signature: void initArray(Fp *dst, const char **s, size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: a::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:170,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:170,1
    - Dst: a::clear
      Src: /src/mcl/src/mapto_wb19.hpp:172,1
    - Dst: b::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:173,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:173,1
    - Dst: a::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:174,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:174,1
    - Dst: b::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:175,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:175,1
    - Dst: a::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:176,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:176,1
    - Dst: b::clear
      Src: /src/mcl/src/mapto_wb19.hpp:177,1
    - Dst: a::clear
      Src: /src/mcl/src/mapto_wb19.hpp:178,1
    - Dst: b::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:179,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:179,1
    - Dst: b::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:181,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:181,1
    - Dst: a::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:184,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:184,1
    - Dst: a::clear
      Src: /src/mcl/src/mapto_wb19.hpp:186,1
    - Dst: b::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:187,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:187,1
    - Dst: a::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:188,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:188,1
    - Dst: b::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:189,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:189,1
    - Dst: a::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:190,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:190,1
    - Dst: b::clear
      Src: /src/mcl/src/mapto_wb19.hpp:191,1
    - Dst: a::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:192,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:192,1
    - Dst: a::clear
      Src: /src/mcl/src/mapto_wb19.hpp:194,1
    - Dst: b::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:195,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:195,1
    - Dst: b::setStr
      Src: /src/mcl/src/mapto_wb19.hpp:197,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:197,1
    - Dst: b::clear
      Src: /src/mcl/src/mapto_wb19.hpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 200
    functionName: mcl::init_iso3
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 1
    functionsReached:
    - assert
    - a::setStr
    - b::setStr
    - a::clear
    - b::clear
    linkageType: ''
    returnType: void
    signature: void init_iso3()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::initArray
      Src: /src/mcl/src/mapto_wb19.hpp:266,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/src/mapto_wb19.hpp:266,1
    - Dst: mcl::initArray
      Src: /src/mcl/src/mapto_wb19.hpp:267,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/src/mapto_wb19.hpp:267,1
    - Dst: mcl::initArray
      Src: /src/mcl/src/mapto_wb19.hpp:268,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/src/mapto_wb19.hpp:268,1
    - Dst: mcl::initArray
      Src: /src/mcl/src/mapto_wb19.hpp:269,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/src/mapto_wb19.hpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 270
    functionName: mcl::init_iso11
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 1
    functionsReached:
    - mcl::initArray
    - CYBOZU_NUM_OF_ARRAY
    linkageType: ''
    returnType: void
    signature: void init_iso11()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/mapto_wb19.hpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' y'
    - ' x'
    - zpows
    - (cof)
    argTypes:
    - F
    - F
    - F*
    - F[]
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: mcl::evalPoly
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void evalPoly(F& y, const F& x, const F *zpows, const F (&cof)[N])
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/mapto_wb19.hpp:286,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/mapto_wb19.hpp:287,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/mapto_wb19.hpp:288,1
    - Dst: mcl::evalPoly
      Src: /src/mcl/src/mapto_wb19.hpp:290,1
    - Dst: mcl::evalPoly
      Src: /src/mcl/src/mapto_wb19.hpp:291,1
    - Dst: mcl::evalPoly
      Src: /src/mcl/src/mapto_wb19.hpp:292,1
    - Dst: mcl::evalPoly
      Src: /src/mcl/src/mapto_wb19.hpp:293,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/mapto_wb19.hpp:298,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/mapto_wb19.hpp:299,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/mapto_wb19.hpp:302,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/mapto_wb19.hpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - ' Q'
    - ' P'
    argTypes:
    - G2
    - E2
    constantsTouched: []
    func_position:
      end: 305
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 305
    functionName: mcl::iso3
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 0
    functionsReached:
    - mcl::Fp2::mul
    - mcl::evalPoly
    - mcl::Fp2::sqr
    linkageType: ''
    returnType: void
    signature: void iso3(G2& Q, const E2& P) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' x'
    - (c)
    argTypes:
    - X
    - C[]
    constantsTouched: []
    func_position:
      end: 315
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 315
    functionName: mcl::evalPoly2
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X
    signature: X evalPoly2(const X& x, const C (&c)[N]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::normalizeJacobi
      Src: /src/mcl/src/mapto_wb19.hpp:319,1
    - Dst: Fp::Fp
      Src: /src/mcl/src/mapto_wb19.hpp:320,1
    - Dst: mcl::evalPoly2
      Src: /src/mcl/src/mapto_wb19.hpp:321,1
    - Dst: mcl::evalPoly2
      Src: /src/mcl/src/mapto_wb19.hpp:322,1
    - Dst: mcl::evalPoly2
      Src: /src/mcl/src/mapto_wb19.hpp:323,1
    - Dst: mcl::evalPoly2
      Src: /src/mcl/src/mapto_wb19.hpp:324,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/mapto_wb19.hpp:329,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/mapto_wb19.hpp:330,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/mapto_wb19.hpp:332,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/mapto_wb19.hpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - ' Q'
    - ' P'
    argTypes:
    - G1
    - E1
    constantsTouched: []
    func_position:
      end: 336
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 336
    functionName: mcl::iso11
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 0
    functionsReached:
    - Botan::fe_sqr
    - mcl::ec::normalizeJacobi
    - fiat_bls12_381_fp_mul
    - mcl::evalPoly2
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void iso11(G1& Q, E1& P) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/src/mapto_wb19.hpp:343,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/mapto_wb19.hpp:344,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/mapto_wb19.hpp:346,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/mapto_wb19.hpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 350
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 350
    functionName: mcl::mul_xi
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 2
    functionsReached:
    - Fp::Fp
    - fiat_bls12_381_fp_sub
    - Botan::EC_Group_Data::affine_neg
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void mul_xi(Fp2& y, const Fp2& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isOdd
      Src: /src/mcl/src/mapto_wb19.hpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Fp
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: mcl::isNegSign
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 0
    functionsReached:
    - isOdd
    linkageType: ''
    returnType: bool
    signature: bool isNegSign(const Fp& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Fp2
    constantsTouched: []
    func_position:
      end: 361
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 361
    functionName: mcl::isNegSign
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNegSign(const Fp2& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/src/mapto_wb19.hpp:370,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/mapto_wb19.hpp:372,1
    - Dst: get_mulUnit
      Src: /src/mcl/src/mapto_wb19.hpp:373,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/mapto_wb19.hpp:374,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/mapto_wb19.hpp:375,1
    - Dst: mcl::isZero
      Src: /src/mcl/src/mapto_wb19.hpp:376,1
    - Dst: get_mulUnit
      Src: /src/mcl/src/mapto_wb19.hpp:377,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/mapto_wb19.hpp:380,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/mcl/src/mapto_wb19.hpp:380,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/mapto_wb19.hpp:383,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/mapto_wb19.hpp:385,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/mapto_wb19.hpp:386,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/mapto_wb19.hpp:388,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/mapto_wb19.hpp:391,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/mapto_wb19.hpp:393,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/mapto_wb19.hpp:394,1
    - Dst: testFp12pow
      Src: /src/mcl/src/mapto_wb19.hpp:396,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/mapto_wb19.hpp:398,1
    - Dst: mcl::isNegSign
      Src: /src/mcl/src/mapto_wb19.hpp:406,1
    - Dst: mcl::isNegSign
      Src: /src/mcl/src/mapto_wb19.hpp:406,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/mapto_wb19.hpp:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 4
    argNames:
    - ' xn'
    - ' xd'
    - ' y'
    - ' u'
    argTypes:
    - Fp
    - Fp
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 409
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 409
    functionName: mcl::sswuG1
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 0
    functionsReached:
    - mcl::isZero
    - Botan::fe_sqr
    - testFp12pow
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - fiat_bls12_381_fp_add
    - get_mulUnit
    - mcl::isNegSign
    - Botan::EC_Group_Data::affine_neg
    - fiat_bls12_381_fp_mul
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void sswuG1(Fp& xn, Fp& xd, Fp& y, const Fp& u) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/src/mapto_wb19.hpp:412,1
    - Dst: mcl::sswuG1
      Src: /src/mcl/src/mapto_wb19.hpp:414,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/mapto_wb19.hpp:415,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/mapto_wb19.hpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' pt'
    - ' u'
    argTypes:
    - E1
    - Fp
    constantsTouched: []
    func_position:
      end: 419
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 419
    functionName: mcl::sswuG1
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 1
    functionsReached:
    - Botan::fe_sqr
    - Fp::Fp
    - mcl::sswuG1
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void sswuG1(E1& pt, const Fp& u) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/mapto_wb19.hpp:424,1
    - Dst: mcl::mul_xi
      Src: /src/mcl/src/mapto_wb19.hpp:426,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/mapto_wb19.hpp:428,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/mapto_wb19.hpp:432,1
    - Dst: Fp2::isZero
      Src: /src/mcl/src/mapto_wb19.hpp:434,1
    - Dst: mcl::mul_xi
      Src: /src/mcl/src/mapto_wb19.hpp:435,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/mapto_wb19.hpp:437,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/mapto_wb19.hpp:440,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/mapto_wb19.hpp:441,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/mapto_wb19.hpp:444,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/mapto_wb19.hpp:446,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/mapto_wb19.hpp:449,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/mapto_wb19.hpp:453,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/mapto_wb19.hpp:454,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/mapto_wb19.hpp:457,1
    - Dst: testFp12pow
      Src: /src/mcl/src/mapto_wb19.hpp:461,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/src/mapto_wb19.hpp:464,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/mapto_wb19.hpp:465,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/mapto_wb19.hpp:466,1
    - Dst: mcl::isNegSign
      Src: /src/mcl/src/mapto_wb19.hpp:469,1
    - Dst: mcl::Fp2::neg
      Src: /src/mcl/src/mapto_wb19.hpp:470,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/mapto_wb19.hpp:472,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/mapto_wb19.hpp:479,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/mapto_wb19.hpp:481,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/src/mapto_wb19.hpp:486,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/mapto_wb19.hpp:487,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/mapto_wb19.hpp:488,1
    - Dst: mcl::isNegSign
      Src: /src/mcl/src/mapto_wb19.hpp:491,1
    - Dst: mcl::Fp2::neg
      Src: /src/mcl/src/mapto_wb19.hpp:492,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/mapto_wb19.hpp:494,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/mapto_wb19.hpp:495,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:502,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 70
    argCount: 2
    argNames:
    - ' P'
    - ' t'
    argTypes:
    - E2
    - Fp2
    constantsTouched: []
    func_position:
      end: 503
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 503
    functionName: mcl::sswuG2
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::mul_xi
    - Fp2::isZero
    - testFp12pow
    - assert
    - mcl::Fp2::add
    - mcl::isNegSign
    - mcl::Fp2::sqr
    - mcl::Fp2::mul
    - mcl::Fp2::neg
    linkageType: ''
    returnType: void
    signature: void sswuG2(E2& P, const Fp2& t) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/src/mapto_wb19.hpp:508,1
    - Dst: x::getStr
      Src: /src/mcl/src/mapto_wb19.hpp:508,1
    - Dst: printf
      Src: /src/mcl/src/mapto_wb19.hpp:509,1
    - Dst: y::getStr
      Src: /src/mcl/src/mapto_wb19.hpp:509,1
    - Dst: printf
      Src: /src/mcl/src/mapto_wb19.hpp:510,1
    - Dst: z::getStr
      Src: /src/mcl/src/mapto_wb19.hpp:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 511
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 511
    functionName: mcl::put
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 0
    functionsReached:
    - y::getStr
    - z::getStr
    - x::getStr
    - printf
    linkageType: ''
    returnType: void
    signature: void put(const T& P) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::sswuG2
      Src: /src/mcl/src/mapto_wb19.hpp:515,1
    - Dst: mcl::sswuG2
      Src: /src/mcl/src/mapto_wb19.hpp:518,1
    - Dst: mcl::ec::addJacobi
      Src: /src/mcl/src/mapto_wb19.hpp:519,1
    - Dst: mcl::iso3
      Src: /src/mcl/src/mapto_wb19.hpp:521,1
    - Dst: mcl::mulByCofactorBLS12fast
      Src: /src/mcl/src/mapto_wb19.hpp:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' P'
    - ' t'
    argTypes:
    - G2
    - Fp2
    constantsTouched: []
    func_position:
      end: 523
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 523
    functionName: mcl::Fp2ToG2
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 0
    functionsReached:
    - mcl::mulByCofactorBLS12fast
    - mcl::iso3
    - mcl::sswuG2
    - mcl::ec::addJacobi
    linkageType: ''
    returnType: void
    signature: void Fp2ToG2(G2& P, const Fp2& t, const Fp2 *t2 = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::expand_message_xmd
      Src: /src/mcl/src/mapto_wb19.hpp:527,1
    - Dst: mcl::getFp0
      Src: /src/mcl/src/mapto_wb19.hpp:528,1
    - Dst: setBigEndianMod
      Src: /src/mcl/src/mapto_wb19.hpp:531,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - out
    - msg
    - msgSize
    - dst
    - dstSize
    argTypes:
    - Fp2[]
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 534
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 534
    functionName: mcl::hashToFp2
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::expand_message_xmd
    - mcl::getFp0
    - assert
    - setBigEndianMod
    linkageType: ''
    returnType: void
    signature: void hashToFp2(Fp2 out[2], const void *msg, size_t msgSize, const void
      *dst, size_t dstSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::hashToFp2
      Src: /src/mcl/src/mapto_wb19.hpp:538,1
    - Dst: mcl::Fp2ToG2
      Src: /src/mcl/src/mapto_wb19.hpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' out'
    - msg
    - msgSize
    - dst
    - dstSize
    argTypes:
    - G2
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 540
      start: 535
    functionDepth: 3
    functionLinenumber: 535
    functionLinenumberEnd: 540
    functionName: mcl::msgToG2
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 0
    functionsReached:
    - mcl::Fp2ToG2
    - mcl::hashToFp2
    linkageType: ''
    returnType: void
    signature: void msgToG2(G2& out, const void *msg, size_t msgSize, const void *dst,
      size_t dstSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::msgToG2
      Src: /src/mcl/src/mapto_wb19.hpp:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' out'
    - msg
    - msgSize
    argTypes:
    - G2
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: mcl::msgToG2
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 1
    functionsReached:
    - mcl::msgToG2
    linkageType: ''
    returnType: void
    signature: void msgToG2(G2& out, const void *msg, size_t msgSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::sswuG1
      Src: /src/mcl/src/mapto_wb19.hpp:548,1
    - Dst: mcl::sswuG1
      Src: /src/mcl/src/mapto_wb19.hpp:551,1
    - Dst: mcl::ec::addJacobi
      Src: /src/mcl/src/mapto_wb19.hpp:552,1
    - Dst: mcl::iso11
      Src: /src/mcl/src/mapto_wb19.hpp:554,1
    - Dst: mcl::mulGeneric
      Src: /src/mcl/src/mapto_wb19.hpp:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' out'
    - ' u0'
    argTypes:
    - G1
    - Fp
    constantsTouched: []
    func_position:
      end: 556
      start: 545
    functionDepth: 4
    functionLinenumber: 545
    functionLinenumberEnd: 556
    functionName: mcl::FpToG1
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 0
    functionsReached:
    - mcl::iso11
    - mcl::sswuG1
    - mcl::mulGeneric
    - mcl::ec::addJacobi
    linkageType: ''
    returnType: void
    signature: void FpToG1(G1& out, const Fp& u0, const Fp *u1 = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::expand_message_xmd
      Src: /src/mcl/src/mapto_wb19.hpp:560,1
    - Dst: setBigEndianMod
      Src: /src/mcl/src/mapto_wb19.hpp:564,1
    - Dst: assert
      Src: /src/mcl/src/mapto_wb19.hpp:565,1
    - Dst: mcl::FpToG1
      Src: /src/mcl/src/mapto_wb19.hpp:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - ' out'
    - msg
    - msgSize
    - dst
    - dstSize
    argTypes:
    - G1
    - void*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 568
      start: 557
    functionDepth: 5
    functionLinenumber: 557
    functionLinenumberEnd: 568
    functionName: mcl::msgToG1
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::expand_message_xmd
    - assert
    - setBigEndianMod
    - mcl::FpToG1
    linkageType: ''
    returnType: void
    signature: void msgToG1(G1& out, const void *msg, size_t msgSize, const char *dst,
      size_t dstSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::msgToG1
      Src: /src/mcl/src/mapto_wb19.hpp:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' out'
    - msg
    - msgSize
    argTypes:
    - G1
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: mcl::msgToG1
    functionSourceFile: /src/mcl/src/mapto_wb19.hpp
    functionUses: 1
    functionsReached:
    - mcl::msgToG1
    linkageType: ''
    returnType: void
    signature: void msgToG1(G1& out, const void *msg, size_t msgSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<SecretKey*>
      Src: /src/mcl/src/ecdsa_c.cpp:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ecdsaSecretKey*
    constantsTouched: []
    func_position:
      end: 8
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 8
    functionName: cast
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 82
    functionsReached:
    - reinterpret_cast<SecretKey*>
    linkageType: ''
    returnType: SecretKey
    signature: SecretKey *cast(ecdsaSecretKey *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const SecretKey*>
      Src: /src/mcl/src/ecdsa_c.cpp:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ecdsaSecretKey*
    constantsTouched: []
    func_position:
      end: 9
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 9
    functionName: cast
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 82
    functionsReached:
    - reinterpret_cast<const SecretKey*>
    linkageType: ''
    returnType: SecretKey
    signature: SecretKey *cast(const ecdsaSecretKey *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<PublicKey*>
      Src: /src/mcl/src/ecdsa_c.cpp:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ecdsaPublicKey*
    constantsTouched: []
    func_position:
      end: 11
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 11
    functionName: cast
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 82
    functionsReached:
    - reinterpret_cast<PublicKey*>
    linkageType: ''
    returnType: PublicKey
    signature: PublicKey *cast(ecdsaPublicKey *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const PublicKey*>
      Src: /src/mcl/src/ecdsa_c.cpp:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ecdsaPublicKey*
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: cast
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 82
    functionsReached:
    - reinterpret_cast<const PublicKey*>
    linkageType: ''
    returnType: PublicKey
    signature: PublicKey *cast(const ecdsaPublicKey *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Signature*>
      Src: /src/mcl/src/ecdsa_c.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ecdsaSignature*
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: cast
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 82
    functionsReached:
    - reinterpret_cast<Signature*>
    linkageType: ''
    returnType: Signature
    signature: Signature *cast(ecdsaSignature *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Signature*>
      Src: /src/mcl/src/ecdsa_c.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ecdsaSignature*
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: cast
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 82
    functionsReached:
    - reinterpret_cast<const Signature*>
    linkageType: ''
    returnType: Signature
    signature: Signature *cast(const ecdsaSignature *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<PrecomputedPublicKey*>
      Src: /src/mcl/src/ecdsa_c.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ecdsaPrecomputedPublicKey*
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: cast
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 82
    functionsReached:
    - reinterpret_cast<PrecomputedPublicKey*>
    linkageType: ''
    returnType: PrecomputedPublicKey
    signature: PrecomputedPublicKey *cast(ecdsaPrecomputedPublicKey *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const PrecomputedPublicKey*>
      Src: /src/mcl/src/ecdsa_c.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ecdsaPrecomputedPublicKey*
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: cast
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 82
    functionsReached:
    - reinterpret_cast<const PrecomputedPublicKey*>
    linkageType: ''
    returnType: PrecomputedPublicKey
    signature: PrecomputedPublicKey *cast(const ecdsaPrecomputedPublicKey *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mcl/src/ecdsa_c.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: ecdsaMalloc
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: ECDSA_DLL_API
    signature: ECDSA_DLL_API *ecdsaMalloc(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mcl/src/ecdsa_c.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: ecdsaFree
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: ECDSA_DLL_API
    signature: ECDSA_DLL_API ecdsaFree(void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/mcl/src/ecdsa_c.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: ecdsaInit
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 1
    functionsReached:
    - init
    linkageType: ''
    returnType: int
    signature: int ecdsaInit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setSeriailzeMode
      Src: /src/mcl/src/ecdsa_c.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: ecdsaSetSerializeMode
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 0
    functionsReached:
    - setSeriailzeMode
    linkageType: ''
    returnType: int
    signature: int ecdsaSetSerializeMode(int mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/ecdsa_c.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - sec
    argTypes:
    - void*
    - mclSize
    - ecdsaSecretKey*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: ecdsaSecretKeySerialize
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize ecdsaSecretKeySerialize(void *buf, mclSize maxBufSize, const
      ecdsaSecretKey *sec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/ecdsa_c.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - pub
    argTypes:
    - void*
    - mclSize
    - ecdsaPublicKey*
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: ecdsaPublicKeySerialize
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize ecdsaPublicKeySerialize(void *buf, mclSize maxBufSize, const
      ecdsaPublicKey *pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/ecdsa_c.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - pub
    argTypes:
    - void*
    - mclSize
    - ecdsaPublicKey*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: ecdsaPublicKeySerializeCompressed
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize ecdsaPublicKeySerializeCompressed(void *buf, mclSize maxBufSize,
      const ecdsaPublicKey *pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/ecdsa_c.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - sig
    argTypes:
    - void*
    - mclSize
    - ecdsaSignature*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: ecdsaSignatureSerialize
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize ecdsaSignatureSerialize(void *buf, mclSize maxBufSize, const
      ecdsaSignature *sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/ecdsa_c.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sec
    - buf
    - bufSize
    argTypes:
    - ecdsaSecretKey*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: ecdsaSecretKeyDeserialize
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize ecdsaSecretKeyDeserialize(ecdsaSecretKey* sec, const void *buf,
      mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/ecdsa_c.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pub
    - buf
    - bufSize
    argTypes:
    - ecdsaPublicKey*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: ecdsaPublicKeyDeserialize
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize ecdsaPublicKeyDeserialize(ecdsaPublicKey* pub, const void *buf,
      mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/ecdsa_c.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sig
    - buf
    - bufSize
    argTypes:
    - ecdsaSignature*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: ecdsaSignatureDeserialize
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize ecdsaSignatureDeserialize(ecdsaSignature* sig, const void *buf,
      mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/ecdsa_c.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sec
    argTypes:
    - ecdsaSecretKey*
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: ecdsaSecretKeySetByCSPRNG
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int ecdsaSecretKeySetByCSPRNG(ecdsaSecretKey *sec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getPublicKey
      Src: /src/mcl/src/ecdsa_c.cpp:85,1
    - Dst: cast
      Src: /src/mcl/src/ecdsa_c.cpp:85,1
    - Dst: cast
      Src: /src/mcl/src/ecdsa_c.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pub
    - sec
    argTypes:
    - ecdsaPublicKey*
    - ecdsaSecretKey*
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: ecdsaGetPublicKey
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 1
    functionsReached:
    - cast
    - getPublicKey
    linkageType: ''
    returnType: void
    signature: void ecdsaGetPublicKey(ecdsaPublicKey *pub, const ecdsaSecretKey *sec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sign
      Src: /src/mcl/src/ecdsa_c.cpp:90,1
    - Dst: cast
      Src: /src/mcl/src/ecdsa_c.cpp:90,1
    - Dst: cast
      Src: /src/mcl/src/ecdsa_c.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sig
    - sec
    - m
    - size
    argTypes:
    - ecdsaSignature*
    - ecdsaSecretKey*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: ecdsaSign
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 1
    functionsReached:
    - cast
    - sign
    linkageType: ''
    returnType: void
    signature: void ecdsaSign(ecdsaSignature *sig, const ecdsaSecretKey *sec, const
      void *m, mclSize size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: normalizeSignature
      Src: /src/mcl/src/ecdsa_c.cpp:95,1
    - Dst: cast
      Src: /src/mcl/src/ecdsa_c.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - ecdsaSignature*
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: ecdsaNormalizeSignature
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 1
    functionsReached:
    - cast
    - normalizeSignature
    linkageType: ''
    returnType: void
    signature: void ecdsaNormalizeSignature(ecdsaSignature *sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify
      Src: /src/mcl/src/ecdsa_c.cpp:100,1
    - Dst: cast
      Src: /src/mcl/src/ecdsa_c.cpp:100,1
    - Dst: cast
      Src: /src/mcl/src/ecdsa_c.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sig
    - pub
    - m
    - size
    argTypes:
    - ecdsaSignature*
    - ecdsaPublicKey*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: ecdsaVerify
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 1
    functionsReached:
    - cast
    - verify
    linkageType: ''
    returnType: int
    signature: int ecdsaVerify(const ecdsaSignature *sig, const ecdsaPublicKey *pub,
      const void *m, mclSize size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify
      Src: /src/mcl/src/ecdsa_c.cpp:104,1
    - Dst: cast
      Src: /src/mcl/src/ecdsa_c.cpp:104,1
    - Dst: cast
      Src: /src/mcl/src/ecdsa_c.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sig
    - ppub
    - m
    - size
    argTypes:
    - ecdsaSignature*
    - ecdsaPrecomputedPublicKey*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: ecdsaVerifyPrecomputed
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 1
    functionsReached:
    - cast
    - verify
    linkageType: ''
    returnType: int
    signature: int ecdsaVerifyPrecomputed(const ecdsaSignature *sig, const ecdsaPrecomputedPublicKey
      *ppub, const void *m, mclSize size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mcl/src/ecdsa_c.cpp:109,1
    - Dst: PrecomputedPublicKey::PrecomputedPublicKey
      Src: /src/mcl/src/ecdsa_c.cpp:111,1
    - Dst: reinterpret_cast<ecdsaPrecomputedPublicKey*>
      Src: /src/mcl/src/ecdsa_c.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: ecdsaPrecomputedPublicKeyCreate
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 1
    functionsReached:
    - PrecomputedPublicKey::PrecomputedPublicKey
    - reinterpret_cast<ecdsaPrecomputedPublicKey*>
    - malloc
    linkageType: ''
    returnType: ecdsaPrecomputedPublicKey
    signature: ecdsaPrecomputedPublicKey *ecdsaPrecomputedPublicKeyCreate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/ecdsa_c.cpp:117,1
    - Dst: free
      Src: /src/mcl/src/ecdsa_c.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ppub
    argTypes:
    - ecdsaPrecomputedPublicKey*
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: ecdsaPrecomputedPublicKeyDestroy
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 1
    functionsReached:
    - cast
    - free
    linkageType: ''
    returnType: void
    signature: void ecdsaPrecomputedPublicKeyDestroy(ecdsaPrecomputedPublicKey *ppub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/ecdsa_c.cpp:124,1
    - Dst: cast
      Src: /src/mcl/src/ecdsa_c.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ppub
    - pub
    argTypes:
    - ecdsaPrecomputedPublicKey*
    - ecdsaPublicKey*
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: ecdsaPrecomputedPublicKeyInit
    functionSourceFile: /src/mcl/src/ecdsa_c.cpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int ecdsaPrecomputedPublicKeyInit(ecdsaPrecomputedPublicKey *ppub,
      const ecdsaPublicKey *pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::initPairing
      Src: /src/mcl/src/dump_code.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 7
    functionName: main
    functionSourceFile: /src/mcl/src/dump_code.cpp
    functionUses: 97
    functionsReached:
    - mcl::initPairing
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: mcl::impl::File
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void File()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/mcl/src/llvm_gen.hpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~File()
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void ~File()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/mcl/src/llvm_gen.hpp:33,1
    - Dst: c_str
      Src: /src/mcl/src/llvm_gen.hpp:33,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/src/llvm_gen.hpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' file'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: mcl::impl::open
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - c_str
    - fopen
    linkageType: ''
    returnType: void
    signature: void open(const std::string& file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/src/llvm_gen.hpp:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: mcl::impl::write
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void write(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: mcl::setOldLLVM
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOldLLVM()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ver
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: mcl::isNewer
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNewer(int ver) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ver
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: mcl::setLlvmVer
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setLlvmVer(int ver)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/src/llvm_gen.hpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: mcl::Type
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Type(int type = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: mcl::std
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: friend std
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - CondType
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: '& toStr(CondType type)'
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & toStr(CondType type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::open
      Src: /src/mcl/src/llvm_gen.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' file'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: mcl::open
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 1
    functionsReached:
    - mcl::open
    linkageType: ''
    returnType: void
    signature: void open(const std::string& file)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: mcl::Label
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Label(const std::string& name = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/mcl/src/llvm_gen.hpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: mcl::toStr
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string toStr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::put
      Src: /src/mcl/src/llvm_gen.hpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: mcl::putLabel
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - mcl::put
    linkageType: ''
    returnType: void
    signature: void putLabel(const Label& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: '& getGlobalIdx()'
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int & getGlobalIdx()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: mcl::resetGlobalIdx
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetGlobalIdx()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/mcl/src/llvm_gen.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: mcl::put
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 1
    functionsReached:
    - write
    linkageType: ''
    returnType: void
    signature: void put(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::put
      Src: /src/mcl/src/llvm_gen.hpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: mcl::endFunc
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - mcl::put
    linkageType: ''
    returnType: void
    signature: void endFunc()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: mcl::Operand
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Operand()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getGlobalIdx
      Src: /src/mcl/src/llvm_gen.hpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - type
    - bit
    argTypes:
    - Type
    - uint32_t
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: mcl::Operand
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - getGlobalIdx
    linkageType: ''
    returnType: void
    signature: void Operand(Type type, uint32_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: mcl::Operand
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Operand(const Operand& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: operator=(const Operand& rhs)
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const Operand& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getGlobalIdx
      Src: /src/mcl/src/llvm_gen.hpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: mcl::update
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - getGlobalIdx
    linkageType: ''
    returnType: void
    signature: void update()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getType
      Src: /src/mcl/src/llvm_gen.hpp:203,1
    - Dst: mcl::getName
      Src: /src/mcl/src/llvm_gen.hpp:203,1
    - Dst: mcl::getType
      Src: /src/mcl/src/llvm_gen.hpp:207,1
    - Dst: mcl::getType
      Src: /src/mcl/src/llvm_gen.hpp:210,1
    - Dst: mcl::getName
      Src: /src/mcl/src/llvm_gen.hpp:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: mcl::toStr
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - mcl::getType
    - mcl::getName
    linkageType: ''
    returnType: std::string
    signature: std::string toStr(bool isAlias = true) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/mcl/src/llvm_gen.hpp:221,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/llvm_gen.hpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 231
    functionName: mcl::getType
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 1
    functionsReached:
    - std::string
    - cybozu::itoa
    linkageType: ''
    returnType: std::string
    signature: std::string getType(bool isAlias = true) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/mcl/src/llvm_gen.hpp:238,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/llvm_gen.hpp:238,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/llvm_gen.hpp:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: mcl::getName
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 1
    functionsReached:
    - std::string
    - cybozu::itoa
    linkageType: ''
    returnType: std::string
    signature: std::string getName() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bit
    - imm
    argTypes:
    - uint32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: mcl::Generator::makeImm
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Generator::Operand
    signature: Generator::Operand Generator::makeImm(uint32_t bit, int64_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: mcl::Eval
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Eval()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::put
      Src: /src/mcl/src/llvm_gen.hpp:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: ~Eval()
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - mcl::put
    linkageType: ''
    returnType: void
    signature: void ~Eval()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/mcl/src/llvm_gen.hpp:267,1
    - Dst: put
      Src: /src/mcl/src/llvm_gen.hpp:268,1
    - Dst: getName
      Src: /src/mcl/src/llvm_gen.hpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - Generator::Eval
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: Generator::Operand::Operand(const Generator::Eval& e)
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - update
    - getName
    - put
    linkageType: ''
    returnType: void
    signature: void Generator::Operand::Operand(const Generator::Eval& e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/mcl/src/llvm_gen.hpp:275,1
    - Dst: put
      Src: /src/mcl/src/llvm_gen.hpp:276,1
    - Dst: getName
      Src: /src/mcl/src/llvm_gen.hpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - Generator::Eval
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: Generator::Operand::operator=(const Generator::Eval& e)
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - update
    - getName
    - put
    linkageType: ''
    returnType: void
    signature: void Generator::Operand::operator=(const Generator::Eval& e)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: mcl::clear
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::clear
      Src: /src/mcl/src/llvm_gen.hpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: mcl::Function
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - mcl::clear
    linkageType: ''
    returnType: void
    signature: void Function(const std::string& name = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::clear
      Src: /src/mcl/src/llvm_gen.hpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - ' ret'
    argTypes:
    - std::string
    - Operand
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: mcl::Function
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - mcl::clear
    linkageType: ''
    returnType: void
    signature: void Function(const std::string& name, const Operand& ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::clear
      Src: /src/mcl/src/llvm_gen.hpp:301,1
    - Dst: push_back
      Src: /src/mcl/src/llvm_gen.hpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' name'
    - ' ret'
    - ' op1'
    argTypes:
    - std::string
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: mcl::Function
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - push_back
    - mcl::clear
    linkageType: ''
    returnType: void
    signature: void Function(const std::string& name, const Operand& ret, const Operand&
      op1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::clear
      Src: /src/mcl/src/llvm_gen.hpp:307,1
    - Dst: push_back
      Src: /src/mcl/src/llvm_gen.hpp:308,1
    - Dst: push_back
      Src: /src/mcl/src/llvm_gen.hpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' name'
    - ' ret'
    - ' op1'
    - ' op2'
    argTypes:
    - std::string
    - Operand
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: mcl::Function
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - push_back
    - mcl::clear
    linkageType: ''
    returnType: void
    signature: void Function(const std::string& name, const Operand& ret, const Operand&
      op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::clear
      Src: /src/mcl/src/llvm_gen.hpp:314,1
    - Dst: push_back
      Src: /src/mcl/src/llvm_gen.hpp:315,1
    - Dst: push_back
      Src: /src/mcl/src/llvm_gen.hpp:316,1
    - Dst: push_back
      Src: /src/mcl/src/llvm_gen.hpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' name'
    - ' ret'
    - ' op1'
    - ' op2'
    - ' op3'
    argTypes:
    - std::string
    - Operand
    - Operand
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 318
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 318
    functionName: mcl::Function
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - push_back
    - mcl::clear
    linkageType: ''
    returnType: void
    signature: void Function(const std::string& name, const Operand& ret, const Operand&
      op1, const Operand& op2, const Operand& op3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::clear
      Src: /src/mcl/src/llvm_gen.hpp:322,1
    - Dst: push_back
      Src: /src/mcl/src/llvm_gen.hpp:323,1
    - Dst: push_back
      Src: /src/mcl/src/llvm_gen.hpp:324,1
    - Dst: push_back
      Src: /src/mcl/src/llvm_gen.hpp:325,1
    - Dst: push_back
      Src: /src/mcl/src/llvm_gen.hpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - ' name'
    - ' ret'
    - ' op1'
    - ' op2'
    - ' op3'
    - ' op4'
    argTypes:
    - std::string
    - Operand
    - Operand
    - Operand
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 327
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 327
    functionName: mcl::Function
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - push_back
    - mcl::clear
    linkageType: ''
    returnType: void
    signature: void Function(const std::string& name, const Operand& ret, const Operand&
      op1, const Operand& op2, const Operand& op3, const Operand& op4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::clear
      Src: /src/mcl/src/llvm_gen.hpp:331,1
    - Dst: push_back
      Src: /src/mcl/src/llvm_gen.hpp:332,1
    - Dst: push_back
      Src: /src/mcl/src/llvm_gen.hpp:333,1
    - Dst: push_back
      Src: /src/mcl/src/llvm_gen.hpp:334,1
    - Dst: push_back
      Src: /src/mcl/src/llvm_gen.hpp:335,1
    - Dst: push_back
      Src: /src/mcl/src/llvm_gen.hpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - ' name'
    - ' ret'
    - ' op1'
    - ' op2'
    - ' op3'
    - ' op4'
    - ' op5'
    argTypes:
    - std::string
    - Operand
    - Operand
    - Operand
    - Operand
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 337
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 337
    functionName: mcl::Function
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - push_back
    - mcl::clear
    linkageType: ''
    returnType: void
    signature: void Function(const std::string& name, const Operand& ret, const Operand&
      op1, const Operand& op2, const Operand& op3, const Operand& op4, const Operand&
      op5)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: mcl::setPrivate
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPrivate()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: mcl::setAlias
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setAlias()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/mcl/src/llvm_gen.hpp:348,1
    - Dst: mcl::getType
      Src: /src/mcl/src/llvm_gen.hpp:352,1
    - Dst: size
      Src: /src/mcl/src/llvm_gen.hpp:354,1
    - Dst: mcl::toStr
      Src: /src/mcl/src/llvm_gen.hpp:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 360
    functionName: mcl::toStr
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 1
    functionsReached:
    - mcl::toStr
    - mcl::getType
    - std::string
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string toStr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opv::size
      Src: /src/mcl/src/llvm_gen.hpp:367,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/src/llvm_gen.hpp:367,1
    - Dst: opv::size
      Src: /src/mcl/src/llvm_gen.hpp:367,1
    - Dst: name::empty
      Src: /src/mcl/src/llvm_gen.hpp:368,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/src/llvm_gen.hpp:368,1
    - Dst: ret::getType
      Src: /src/mcl/src/llvm_gen.hpp:372,1
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:378,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - ' f'
    - opTbl
    - opNum
    argTypes:
    - Generator::Function
    - Generator::Operand**
    - size_t
    constantsTouched: []
    func_position:
      end: 382
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 382
    functionName: mcl::impl::callSub
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - toStr
    - Shim_Exception::Shim_Exception
    - ret::getType
    - name::empty
    - opv::size
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval callSub(const Generator::Function& f, const Generator::Operand
      **opTbl, size_t opNum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/src/llvm_gen.hpp:386,1
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:392,1
    - Dst: getName
      Src: /src/mcl/src/llvm_gen.hpp:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - name
    - ' x'
    - ' y'
    argTypes:
    - char*
    - Generator::Operand
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 394
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 394
    functionName: mcl::impl::aluSub
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - getName
    - toStr
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval aluSub(const char *name, const Generator::Operand&
      x, const Generator::Operand& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:402,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/llvm_gen.hpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - name
    - ' x'
    - size
    argTypes:
    - char*
    - Generator::Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 404
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 404
    functionName: mcl::impl::shiftSub
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - toStr
    - cybozu::itoa
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval shiftSub(const char *name, const Generator::Operand&
      x, uint32_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:412,1
    - Dst: getName
      Src: /src/mcl/src/llvm_gen.hpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - name
    - ' x'
    - ' y'
    argTypes:
    - char*
    - Generator::Operand
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 414
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 414
    functionName: mcl::impl::shiftSub
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - toStr
    - getName
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval shiftSub(const char *name, const Generator::Operand&
      x, const Generator::Operand& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: put
      Src: /src/mcl/src/llvm_gen.hpp:420,1
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - Generator::Function
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: mcl::Generator::beginFunc
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - toStr
    - put
    linkageType: ''
    returnType: void
    signature: void Generator::beginFunc(const Generator::Function& f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/src/llvm_gen.hpp:425,1
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:430,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/llvm_gen.hpp:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' x'
    - size
    argTypes:
    - Generator::Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 432
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 432
    functionName: mcl::Generator::zext
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::itoa
    - toStr
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::zext(const Generator::Operand& x, uint32_t
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::impl::aluSub
      Src: /src/mcl/src/llvm_gen.hpp:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Generator::Operand
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 437
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 437
    functionName: mcl::Generator::mul
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - mcl::impl::aluSub
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::mul(const Generator::Operand& x, const Generator::Operand&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::impl::aluSub
      Src: /src/mcl/src/llvm_gen.hpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Generator::Operand
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: mcl::Generator::add
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - mcl::impl::aluSub
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::add(const Generator::Operand& x, const Generator::Operand&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::impl::aluSub
      Src: /src/mcl/src/llvm_gen.hpp:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Generator::Operand
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 447
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 447
    functionName: mcl::Generator::sub
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - mcl::impl::aluSub
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::sub(const Generator::Operand& x, const Generator::Operand&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::impl::aluSub
      Src: /src/mcl/src/llvm_gen.hpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Generator::Operand
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: mcl::Generator::_and
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - mcl::impl::aluSub
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::_and(const Generator::Operand& x, const
      Generator::Operand& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::impl::aluSub
      Src: /src/mcl/src/llvm_gen.hpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Generator::Operand
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: mcl::Generator::_or
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - mcl::impl::aluSub
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::_or(const Generator::Operand& x, const Generator::Operand&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:461,1
    - Dst: put
      Src: /src/mcl/src/llvm_gen.hpp:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: mcl::Generator::ret
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - toStr
    - put
    linkageType: ''
    returnType: void
    signature: void Generator::ret(const Generator::Operand& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::impl::shiftSub
      Src: /src/mcl/src/llvm_gen.hpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - size
    argTypes:
    - Generator::Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: mcl::Generator::lshr
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - mcl::impl::shiftSub
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::lshr(const Generator::Operand& x, uint32_t
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::impl::shiftSub
      Src: /src/mcl/src/llvm_gen.hpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Generator::Operand
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: mcl::Generator::lshr
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - mcl::impl::shiftSub
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::lshr(const Generator::Operand& x, const
      Generator::Operand& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::impl::shiftSub
      Src: /src/mcl/src/llvm_gen.hpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - size
    argTypes:
    - Generator::Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: mcl::Generator::ashr
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - mcl::impl::shiftSub
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::ashr(const Generator::Operand& x, uint32_t
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::impl::shiftSub
      Src: /src/mcl/src/llvm_gen.hpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Generator::Operand
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: mcl::Generator::ashr
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - mcl::impl::shiftSub
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::ashr(const Generator::Operand& x, const
      Generator::Operand& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::impl::shiftSub
      Src: /src/mcl/src/llvm_gen.hpp:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - size
    argTypes:
    - Generator::Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: mcl::Generator::shl
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - mcl::impl::shiftSub
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::shl(const Generator::Operand& x, uint32_t
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::impl::shiftSub
      Src: /src/mcl/src/llvm_gen.hpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Generator::Operand
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: mcl::Generator::shl
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - mcl::impl::shiftSub
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::shl(const Generator::Operand& x, const Generator::Operand&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:501,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/llvm_gen.hpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' x'
    - size
    argTypes:
    - Generator::Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 503
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 503
    functionName: mcl::Generator::trunc
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - toStr
    - cybozu::itoa
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::trunc(const Generator::Operand& x, uint32_t
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa
      Src: /src/mcl/src/llvm_gen.hpp:510,1
    - Dst: isNewer
      Src: /src/mcl/src/llvm_gen.hpp:511,1
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:515,1
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' p'
    - ' i'
    argTypes:
    - Generator::Operand
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 517
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 517
    functionName: mcl::Generator::getelementptr
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - toStr
    - isNewer
    - cybozu::itoa
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::getelementptr(const Generator::Operand&
      p, const Generator::Operand& i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Generator::getelementptr
      Src: /src/mcl/src/llvm_gen.hpp:521,1
    - Dst: mcl::Generator::makeImm
      Src: /src/mcl/src/llvm_gen.hpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - n
    argTypes:
    - Generator::Operand
    - int
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: mcl::Generator::getelementptr
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 1
    functionsReached:
    - mcl::Generator::getelementptr
    - mcl::Generator::makeImm
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::getelementptr(const Generator::Operand&
      p, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/src/llvm_gen.hpp:526,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/llvm_gen.hpp:531,1
    - Dst: isNewer
      Src: /src/mcl/src/llvm_gen.hpp:532,1
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 538
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 538
    functionName: mcl::Generator::load
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - isNewer
    - cybozu::itoa
    - toStr
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::load(const Generator::Operand& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/src/llvm_gen.hpp:542,1
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:544,1
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:546,1
    - Dst: put
      Src: /src/mcl/src/llvm_gen.hpp:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' r'
    - ' p'
    argTypes:
    - Generator::Operand
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 548
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 548
    functionName: mcl::Generator::store
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - put
    - toStr
    linkageType: ''
    returnType: void
    signature: void Generator::store(const Generator::Operand& r, const Generator::Operand&
      p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/src/llvm_gen.hpp:552,1
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:556,1
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:558,1
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' c'
    - ' r1'
    - ' r2'
    argTypes:
    - Generator::Operand
    - Generator::Operand
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 562
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 562
    functionName: mcl::Generator::select
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - toStr
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::select(const Generator::Operand& c, const
      Generator::Operand& r1, const Generator::Operand& r2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/llvm_gen.hpp:567,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/llvm_gen.hpp:569,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/llvm_gen.hpp:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - bit
    - n
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 573
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 573
    functionName: mcl::Generator::alloca_
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - cybozu::itoa
    - Operand
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::alloca_(uint32_t bit, uint32_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:580,1
    - Dst: getType
      Src: /src/mcl/src/llvm_gen.hpp:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' r'
    - ' type'
    argTypes:
    - Generator::Operand
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 584
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 584
    functionName: mcl::Generator::bitcast
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - toStr
    - getType
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::bitcast(const Generator::Operand& r, const
      Generator::Operand& type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:592,1
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:594,1
    - Dst: getName
      Src: /src/mcl/src/llvm_gen.hpp:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - type
    - ' r1'
    - ' r2'
    argTypes:
    - Generator::CondType
    - Generator::Operand
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 598
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 598
    functionName: mcl::Generator::icmp
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - toStr
    - getName
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::icmp(Generator::CondType type, const Generator::Operand&
      r1, const Generator::Operand& r2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/src/llvm_gen.hpp:602,1
    - Dst: getName
      Src: /src/mcl/src/llvm_gen.hpp:604,1
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:606,1
    - Dst: toStr
      Src: /src/mcl/src/llvm_gen.hpp:608,1
    - Dst: put
      Src: /src/mcl/src/llvm_gen.hpp:609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' op'
    - ' ifTrue'
    - ' ifFalse'
    argTypes:
    - Generator::Operand
    - Generator::Label
    - Generator::Label
    constantsTouched: []
    func_position:
      end: 610
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 610
    functionName: mcl::Generator::br
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - put
    - getName
    - toStr
    linkageType: ''
    returnType: void
    signature: void Generator::br(const Generator::Operand& op, const Generator::Label&
      ifTrue, const Generator::Label& ifFalse)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::impl::callSub
      Src: /src/mcl/src/llvm_gen.hpp:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - Generator::Function
    constantsTouched: []
    func_position:
      end: 615
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 615
    functionName: mcl::Generator::call
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - mcl::impl::callSub
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::call(const Generator::Function& f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::impl::callSub
      Src: /src/mcl/src/llvm_gen.hpp:620,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/src/llvm_gen.hpp:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' f'
    - ' op1'
    argTypes:
    - Generator::Function
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 621
      start: 617
    functionDepth: 2
    functionLinenumber: 617
    functionLinenumberEnd: 621
    functionName: mcl::Generator::call
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::impl::callSub
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::call(const Generator::Function& f, const
      Generator::Operand& op1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::impl::callSub
      Src: /src/mcl/src/llvm_gen.hpp:626,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/src/llvm_gen.hpp:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' f'
    - ' op1'
    - ' op2'
    argTypes:
    - Generator::Function
    - Generator::Operand
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 627
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 627
    functionName: mcl::Generator::call
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::impl::callSub
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::call(const Generator::Function& f, const
      Generator::Operand& op1, const Generator::Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::impl::callSub
      Src: /src/mcl/src/llvm_gen.hpp:632,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/src/llvm_gen.hpp:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' f'
    - ' op1'
    - ' op2'
    - ' op3'
    argTypes:
    - Generator::Function
    - Generator::Operand
    - Generator::Operand
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 633
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 633
    functionName: mcl::Generator::call
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::impl::callSub
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::call(const Generator::Function& f, const
      Generator::Operand& op1, const Generator::Operand& op2, const Generator::Operand&
      op3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::impl::callSub
      Src: /src/mcl/src/llvm_gen.hpp:638,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/src/llvm_gen.hpp:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' f'
    - ' op1'
    - ' op2'
    - ' op3'
    - ' op4'
    argTypes:
    - Generator::Function
    - Generator::Operand
    - Generator::Operand
    - Generator::Operand
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 639
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 639
    functionName: mcl::Generator::call
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::impl::callSub
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::call(const Generator::Function& f, const
      Generator::Operand& op1, const Generator::Operand& op2, const Generator::Operand&
      op3, const Generator::Operand& op4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::impl::callSub
      Src: /src/mcl/src/llvm_gen.hpp:644,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/src/llvm_gen.hpp:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' f'
    - ' op1'
    - ' op2'
    - ' op3'
    - ' op4'
    - ' opt5'
    argTypes:
    - Generator::Function
    - Generator::Operand
    - Generator::Operand
    - Generator::Operand
    - Generator::Operand
    - Generator::Operand
    constantsTouched: []
    func_position:
      end: 645
      start: 641
    functionDepth: 2
    functionLinenumber: 641
    functionLinenumberEnd: 645
    functionName: mcl::Generator::call
    functionSourceFile: /src/mcl/src/llvm_gen.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::impl::callSub
    linkageType: ''
    returnType: Generator::Eval
    signature: Generator::Eval Generator::call(const Generator::Function& f, const
      Generator::Operand& op1, const Generator::Operand& op2, const Generator::Operand&
      op3, const Generator::Operand& op4, const Generator::Operand& opt5)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - buf
    - bufSize
    - ioMode
    argTypes:
    - T*
    - char*
    - mclSize
    - int
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: setStr
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int setStr(T *x, const char *buf, mclSize bufSize, int ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mcl/src/bn_c_impl.hpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: mclBnMalloc
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API *mclBnMalloc(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mcl/src/bn_c_impl.hpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: mclBnFree
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API mclBnFree(void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: mclBn_getVersion
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mclBn_getVersion()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getEcParam
      Src: /src/mcl/src/bn_c_impl.hpp:40,1
    - Dst: initG1only
      Src: /src/mcl/src/bn_c_impl.hpp:43,1
    - Dst: mcl::getCurveParam
      Src: /src/mcl/src/bn_c_impl.hpp:46,1
    - Dst: initPairing
      Src: /src/mcl/src/bn_c_impl.hpp:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - curve
    - compiledTimeVar
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: mclBn_init
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - initG1only
    - initPairing
    - mcl::getEcParam
    - mcl::getCurveParam
    linkageType: ''
    returnType: int
    signature: int mclBn_init(int curve, int compiledTimeVar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBn_getCurveType
      Src: /src/mcl/src/bn_c_impl.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: mclBn_getCurveType
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - mclBn_getCurveType
    linkageType: ''
    returnType: int
    signature: int mclBn_getCurveType()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpDbl::getUnitSize
      Src: /src/mcl/src/bn_c_impl.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: mclBn_getOpUnitSize
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpDbl::getUnitSize
    linkageType: ''
    returnType: int
    signature: int mclBn_getOpUnitSize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::getSerializedByteSize
      Src: /src/mcl/src/bn_c_impl.hpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: mclBn_getG1ByteSize
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::getSerializedByteSize
    linkageType: ''
    returnType: int
    signature: int mclBn_getG1ByteSize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::getSerializedByteSize
      Src: /src/mcl/src/bn_c_impl.hpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: mclBn_getG2ByteSize
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::getSerializedByteSize
    linkageType: ''
    returnType: int
    signature: int mclBn_getG2ByteSize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::getByteSize
      Src: /src/mcl/src/bn_c_impl.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: mclBn_getFrByteSize
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 5
    functionsReached:
    - mcl::Fp2::getByteSize
    linkageType: ''
    returnType: int
    signature: int mclBn_getFrByteSize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::getByteSize
      Src: /src/mcl/src/bn_c_impl.hpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: mclBn_getFpByteSize
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - mcl::Fp2::getByteSize
    linkageType: ''
    returnType: int
    signature: int mclBn_getFpByteSize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::getModulo
      Src: /src/mcl/src/bn_c_impl.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - maxBufSize
    argTypes:
    - char*
    - mclSize
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: mclBn_getCurveOrder
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - mcl::FpT::getModulo
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBn_getCurveOrder(char *buf, mclSize maxBufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::getModulo
      Src: /src/mcl/src/bn_c_impl.hpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - maxBufSize
    argTypes:
    - char*
    - mclSize
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: mclBn_getFieldOrder
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - mcl::FpT::getModulo
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBn_getFieldOrder(char *buf, mclSize maxBufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBn_getCurveType
      Src: /src/mcl/src/bn_c_impl.hpp:95,1
    - Dst: mclBn_setETHserialization
      Src: /src/mcl/src/bn_c_impl.hpp:96,1
    - Dst: mclBn_setETHserialization
      Src: /src/mcl/src/bn_c_impl.hpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - enable
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: mclBn_setETHserialization
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 5
    functionsReached:
    - mclBn_setETHserialization
    - mclBn_getCurveType
    linkageType: ''
    returnType: void
    signature: void mclBn_setETHserialization(int enable)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBn_getETHserialization
      Src: /src/mcl/src/bn_c_impl.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: mclBn_getETHserialization
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - mclBn_getETHserialization
    linkageType: ''
    returnType: int
    signature: int mclBn_getETHserialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setMapToMode
      Src: /src/mcl/src/bn_c_impl.hpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: mclBn_setMapToMode
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - setMapToMode
    linkageType: ''
    returnType: int
    signature: int mclBn_setMapToMode(int mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setDstG1
      Src: /src/mcl/src/bn_c_impl.hpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - dstSize
    argTypes:
    - char*
    - mclSize
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: mclBnG1_setDst
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - setDstG1
    linkageType: ''
    returnType: int
    signature: int mclBnG1_setDst(const char *dst, mclSize dstSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setDstG2
      Src: /src/mcl/src/bn_c_impl.hpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - dstSize
    argTypes:
    - char*
    - mclSize
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: mclBnG2_setDst
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - setDstG2
    linkageType: ''
    returnType: int
    signature: int mclBnG2_setDst(const char *dst, mclSize dstSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: mclBnFr_clear
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 4
    functionsReached:
    - cast
    linkageType: ''
    returnType: void
    signature: void mclBnFr_clear(mclBnFr *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnFr*
    - mclInt
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: mclBnFr_setInt
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 13
    functionsReached:
    - cast
    linkageType: ''
    returnType: void
    signature: void mclBnFr_setInt(mclBnFr *y, mclInt x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnFr*
    - int
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: mclBnFr_setInt32
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: void
    signature: void mclBnFr_setInt32(mclBnFr *y, int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setStr
      Src: /src/mcl/src/bn_c_impl.hpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - buf
    - bufSize
    - ioMode
    argTypes:
    - mclBnFr*
    - char*
    - mclSize
    - int
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: mclBnFr_setStr
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 4
    functionsReached:
    - setStr
    linkageType: ''
    returnType: int
    signature: int mclBnFr_setStr(mclBnFr *x, const char *buf, mclSize bufSize, int
      ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - buf
    - bufSize
    argTypes:
    - mclBnFr*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: mclBnFr_setLittleEndian
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFr_setLittleEndian(mclBnFr *x, const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - buf
    - bufSize
    argTypes:
    - mclBnFr*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: mclBnFr_setBigEndianMod
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFr_setBigEndianMod(mclBnFr *x, const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - x
    argTypes:
    - void*
    - mclSize
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: mclBnFr_getLittleEndian
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnFr_getLittleEndian(void *buf, mclSize maxBufSize, const
      mclBnFr *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - buf
    - bufSize
    argTypes:
    - mclBnFr*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: mclBnFr_setLittleEndianMod
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFr_setLittleEndianMod(mclBnFr *x, const void *buf, mclSize
      bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - buf
    - bufSize
    argTypes:
    - mclBnFr*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: mclBnFr_deserialize
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnFr_deserialize(mclBnFr *x, const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: mclBnFr_isValid
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFr_isValid(const mclBnFr *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:174,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - mclBnFr*
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: mclBnFr_isEqual
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 9
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFr_isEqual(const mclBnFr *x, const mclBnFr *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: mclBnFr_isZero
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 3
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFr_isZero(const mclBnFr *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: mclBnFr_isOne
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 3
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFr_isOne(const mclBnFr *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: mclBnFr_isOdd
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFr_isOdd(const mclBnFr *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: mclBnFr_isNegative
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFr_isNegative(const mclBnFr *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::sodium_compare
      Src: /src/mcl/src/bn_c_impl.hpp:194,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:194,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - mclBnFr*
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: mclBnFr_cmp
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - Botan::Sodium::sodium_compare
    linkageType: ''
    returnType: int
    signature: int mclBnFr_cmp(const mclBnFr *x, const mclBnFr *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: mclBnFr_setByCSPRNG
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFr_setByCSPRNG(mclBnFr *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: mclBnFp_setByCSPRNG
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFp_setByCSPRNG(mclBnFp *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::RandGen::setRandFunc
      Src: /src/mcl/src/bn_c_impl.hpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: mclBn_setRandFunc
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::RandGen::setRandFunc
    linkageType: ''
    returnType: void
    signature: void mclBn_setRandFunc(void *self, unsigned int (*readFunc)(void *self,
      void *buf, unsigned int bufSize))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - buf
    - bufSize
    argTypes:
    - mclBnFr*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: mclBnFr_setHashOf
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFr_setHashOf(mclBnFr *x, const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - maxBufSize
    - x
    - ioMode
    argTypes:
    - char*
    - mclSize
    - mclBnFr*
    - int
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: mclBnFr_getStr
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 5
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnFr_getStr(char *buf, mclSize maxBufSize, const mclBnFr
      *x, int ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - x
    argTypes:
    - void*
    - mclSize
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: mclBnFr_serialize
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnFr_serialize(void *buf, mclSize maxBufSize, const mclBnFr
      *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/bn_c_impl.hpp:234,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:234,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnFr*
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: mclBnFr_neg
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void mclBnFr_neg(mclBnFr *y, const mclBnFr *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_da_inv
      Src: /src/mcl/src/bn_c_impl.hpp:238,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:238,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnFr*
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: mclBnFr_inv
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - get_da_inv
    linkageType: ''
    returnType: void
    signature: void mclBnFr_inv(mclBnFr *y, const mclBnFr *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/bn_c_impl.hpp:242,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:242,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnFr*
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: mclBnFr_sqr
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 4
    functionsReached:
    - cast
    - Botan::fe_sqr
    linkageType: ''
    returnType: void
    signature: void mclBnFr_sqr(mclBnFr *y, const mclBnFr *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/bn_c_impl.hpp:246,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:246,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:246,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnFr*
    - mclBnFr*
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: mclBnFr_add
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 3
    functionsReached:
    - cast
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void mclBnFr_add(mclBnFr *z, const mclBnFr *x, const mclBnFr *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/bn_c_impl.hpp:250,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:250,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:250,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnFr*
    - mclBnFr*
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: mclBnFr_sub
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 3
    functionsReached:
    - cast
    - fiat_bls12_381_fp_sub
    linkageType: ''
    returnType: void
    signature: void mclBnFr_sub(mclBnFr *z, const mclBnFr *x, const mclBnFr *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/bn_c_impl.hpp:254,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:254,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:254,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnFr*
    - mclBnFr*
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: mclBnFr_mul
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 5
    functionsReached:
    - cast
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mclBnFr_mul(mclBnFr *z, const mclBnFr *x, const mclBnFr *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GF2m_Field::gf_div
      Src: /src/mcl/src/bn_c_impl.hpp:258,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:258,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:258,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnFr*
    - mclBnFr*
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: mclBnFr_div
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - Botan::GF2m_Field::gf_div
    linkageType: ''
    returnType: void
    signature: void mclBnFr_div(mclBnFr *z, const mclBnFr *x, const mclBnFr *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/bn_c_impl.hpp:263,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:263,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnFp*
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: mclBnFp_neg
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void mclBnFp_neg(mclBnFp *y, const mclBnFp *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_da_inv
      Src: /src/mcl/src/bn_c_impl.hpp:267,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:267,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnFp*
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: mclBnFp_inv
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - get_da_inv
    linkageType: ''
    returnType: void
    signature: void mclBnFp_inv(mclBnFp *y, const mclBnFp *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/bn_c_impl.hpp:271,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:271,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnFp*
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: mclBnFp_sqr
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    - Botan::fe_sqr
    linkageType: ''
    returnType: void
    signature: void mclBnFp_sqr(mclBnFp *y, const mclBnFp *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/bn_c_impl.hpp:275,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:275,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:275,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnFp*
    - mclBnFp*
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: mclBnFp_add
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 4
    functionsReached:
    - cast
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void mclBnFp_add(mclBnFp *z, const mclBnFp *x, const mclBnFp *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/bn_c_impl.hpp:279,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:279,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:279,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnFp*
    - mclBnFp*
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: mclBnFp_sub
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 3
    functionsReached:
    - cast
    - fiat_bls12_381_fp_sub
    linkageType: ''
    returnType: void
    signature: void mclBnFp_sub(mclBnFp *z, const mclBnFp *x, const mclBnFp *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/bn_c_impl.hpp:283,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:283,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:283,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnFp*
    - mclBnFp*
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: mclBnFp_mul
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mclBnFp_mul(mclBnFp *z, const mclBnFp *x, const mclBnFp *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GF2m_Field::gf_div
      Src: /src/mcl/src/bn_c_impl.hpp:287,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:287,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:287,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnFp*
    - mclBnFp*
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: mclBnFp_div
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - Botan::GF2m_Field::gf_div
    linkageType: ''
    returnType: void
    signature: void mclBnFp_div(mclBnFp *z, const mclBnFp *x, const mclBnFp *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::neg
      Src: /src/mcl/src/bn_c_impl.hpp:292,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:292,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnFp2*
    - mclBnFp2*
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: mclBnFp2_neg
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - mcl::Fp2::neg
    linkageType: ''
    returnType: void
    signature: void mclBnFp2_neg(mclBnFp2 *y, const mclBnFp2 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::inv
      Src: /src/mcl/src/bn_c_impl.hpp:296,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:296,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnFp2*
    - mclBnFp2*
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: mclBnFp2_inv
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - mcl::Fp2::inv
    linkageType: ''
    returnType: void
    signature: void mclBnFp2_inv(mclBnFp2 *y, const mclBnFp2 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/bn_c_impl.hpp:300,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:300,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnFp2*
    - mclBnFp2*
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: mclBnFp2_sqr
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    - mcl::Fp2::sqr
    linkageType: ''
    returnType: void
    signature: void mclBnFp2_sqr(mclBnFp2 *y, const mclBnFp2 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/bn_c_impl.hpp:304,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:304,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:304,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnFp2*
    - mclBnFp2*
    - mclBnFp2*
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: mclBnFp2_add
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - mcl::Fp2::add
    linkageType: ''
    returnType: void
    signature: void mclBnFp2_add(mclBnFp2 *z, const mclBnFp2 *x, const mclBnFp2 *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::sub
      Src: /src/mcl/src/bn_c_impl.hpp:308,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:308,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:308,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnFp2*
    - mclBnFp2*
    - mclBnFp2*
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: mclBnFp2_sub
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - mcl::Fp2::sub
    - cast
    linkageType: ''
    returnType: void
    signature: void mclBnFp2_sub(mclBnFp2 *z, const mclBnFp2 *x, const mclBnFp2 *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/bn_c_impl.hpp:312,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:312,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:312,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnFp2*
    - mclBnFp2*
    - mclBnFp2*
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: mclBnFp2_mul
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - mcl::Fp2::mul
    - cast
    linkageType: ''
    returnType: void
    signature: void mclBnFp2_mul(mclBnFp2 *z, const mclBnFp2 *x, const mclBnFp2 *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GF2m_Field::gf_div
      Src: /src/mcl/src/bn_c_impl.hpp:316,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:316,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:316,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnFp2*
    - mclBnFp2*
    - mclBnFp2*
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: mclBnFp2_div
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - Botan::GF2m_Field::gf_div
    linkageType: ''
    returnType: void
    signature: void mclBnFp2_div(mclBnFp2 *z, const mclBnFp2 *x, const mclBnFp2 *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: squareRoot
      Src: /src/mcl/src/bn_c_impl.hpp:321,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:321,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnFr*
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: mclBnFr_squareRoot
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - squareRoot
    linkageType: ''
    returnType: int
    signature: int mclBnFr_squareRoot(mclBnFr *y, const mclBnFr *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: squareRoot
      Src: /src/mcl/src/bn_c_impl.hpp:325,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:325,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnFp*
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: mclBnFp_squareRoot
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - squareRoot
    linkageType: ''
    returnType: int
    signature: int mclBnFp_squareRoot(mclBnFp *y, const mclBnFp *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::squareRoot
      Src: /src/mcl/src/bn_c_impl.hpp:329,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:329,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnFp2*
    - mclBnFp2*
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: mclBnFp2_squareRoot
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - mcl::Fp2::squareRoot
    linkageType: ''
    returnType: int
    signature: int mclBnFp2_squareRoot(mclBnFp2 *y, const mclBnFp2 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnG1*
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: mclBnG1_clear
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    linkageType: ''
    returnType: void
    signature: void mclBnG1_clear(mclBnG1 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setStr
      Src: /src/mcl/src/bn_c_impl.hpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - buf
    - bufSize
    - ioMode
    argTypes:
    - mclBnG1*
    - char*
    - mclSize
    - int
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: mclBnG1_setStr
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - setStr
    linkageType: ''
    returnType: int
    signature: int mclBnG1_setStr(mclBnG1 *x, const char *buf, mclSize bufSize, int
      ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - buf
    - bufSize
    argTypes:
    - mclBnG1*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: mclBnG1_deserialize
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnG1_deserialize(mclBnG1 *x, const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnG1*
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: mclBnG1_isValid
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnG1_isValid(const mclBnG1 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:355,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - mclBnG1*
    - mclBnG1*
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: mclBnG1_isEqual
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 5
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnG1_isEqual(const mclBnG1 *x, const mclBnG1 *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnG1*
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: mclBnG1_isZero
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnG1_isZero(const mclBnG1 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnG1*
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: mclBnG1_isValidOrder
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnG1_isValidOrder(const mclBnG1 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hashAndMapToG1
      Src: /src/mcl/src/bn_c_impl.hpp:368,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - buf
    - bufSize
    argTypes:
    - mclBnG1*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: mclBnG1_hashAndMapTo
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 10
    functionsReached:
    - cast
    - hashAndMapToG1
    linkageType: ''
    returnType: int
    signature: int mclBnG1_hashAndMapTo(mclBnG1 *x, const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hashAndMapToG1
      Src: /src/mcl/src/bn_c_impl.hpp:373,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - x
    - buf
    - bufSize
    - dst
    - dstSize
    argTypes:
    - mclBnG1*
    - void*
    - mclSize
    - char*
    - mclSize
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: mclBnG1_hashAndMapToWithDst
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - hashAndMapToG1
    linkageType: ''
    returnType: int
    signature: int mclBnG1_hashAndMapToWithDst(mclBnG1 *x, const void *buf, mclSize
      bufSize, const char *dst, mclSize dstSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - maxBufSize
    - x
    - ioMode
    argTypes:
    - char*
    - mclSize
    - mclBnG1*
    - int
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: mclBnG1_getStr
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 3
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnG1_getStr(char *buf, mclSize maxBufSize, const mclBnG1
      *x, int ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - x
    argTypes:
    - void*
    - mclSize
    - mclBnG1*
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: mclBnG1_serialize
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnG1_serialize(void *buf, mclSize maxBufSize, const mclBnG1
      *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/bn_c_impl.hpp:389,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:389,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnG1*
    - mclBnG1*
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: mclBnG1_neg
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void mclBnG1_neg(mclBnG1 *y, const mclBnG1 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/src/bn_c_impl.hpp:393,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:393,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnG1*
    - mclBnG1*
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: mclBnG1_dbl
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - Botan::ge_p2_dbl
    linkageType: ''
    returnType: void
    signature: void mclBnG1_dbl(mclBnG1 *y, const mclBnG1 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::normalize
      Src: /src/mcl/src/bn_c_impl.hpp:397,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:397,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnG1*
    - mclBnG1*
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: mclBnG1_normalize
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - G1::normalize
    linkageType: ''
    returnType: void
    signature: void mclBnG1_normalize(mclBnG1 *y, const mclBnG1 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/bn_c_impl.hpp:401,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:401,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:401,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnG1*
    - mclBnG1*
    - mclBnG1*
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: mclBnG1_add
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void mclBnG1_add(mclBnG1 *z, const mclBnG1 *x, const mclBnG1 *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/bn_c_impl.hpp:405,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:405,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:405,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnG1*
    - mclBnG1*
    - mclBnG1*
    constantsTouched: []
    func_position:
      end: 406
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 406
    functionName: mclBnG1_sub
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - fiat_bls12_381_fp_sub
    linkageType: ''
    returnType: void
    signature: void mclBnG1_sub(mclBnG1 *z, const mclBnG1 *x, const mclBnG1 *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/bn_c_impl.hpp:409,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:409,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:409,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnG1*
    - mclBnG1*
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 410
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 410
    functionName: mclBnG1_mul
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 3
    functionsReached:
    - cast
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mclBnG1_mul(mclBnG1 *z, const mclBnG1 *x, const mclBnFr *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulCT
      Src: /src/mcl/src/bn_c_impl.hpp:413,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:413,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:413,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnG1*
    - mclBnG1*
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 414
    functionName: mclBnG1_mulCT
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - mulCT
    linkageType: ''
    returnType: void
    signature: void mclBnG1_mulCT(mclBnG1 *z, const mclBnG1 *x, const mclBnFr *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnG2*
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: mclBnG2_clear
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    linkageType: ''
    returnType: void
    signature: void mclBnG2_clear(mclBnG2 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setStr
      Src: /src/mcl/src/bn_c_impl.hpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - buf
    - bufSize
    - ioMode
    argTypes:
    - mclBnG2*
    - char*
    - mclSize
    - int
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 426
    functionName: mclBnG2_setStr
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 3
    functionsReached:
    - setStr
    linkageType: ''
    returnType: int
    signature: int mclBnG2_setStr(mclBnG2 *x, const char *buf, mclSize bufSize, int
      ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - buf
    - bufSize
    argTypes:
    - mclBnG2*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: mclBnG2_deserialize
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnG2_deserialize(mclBnG2 *x, const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnG2*
    constantsTouched: []
    func_position:
      end: 436
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 436
    functionName: mclBnG2_isValid
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnG2_isValid(const mclBnG2 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:439,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - mclBnG2*
    - mclBnG2*
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: mclBnG2_isEqual
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 5
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnG2_isEqual(const mclBnG2 *x, const mclBnG2 *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnG2*
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: mclBnG2_isZero
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnG2_isZero(const mclBnG2 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnG2*
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: mclBnG2_isValidOrder
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnG2_isValidOrder(const mclBnG2 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hashAndMapToG2
      Src: /src/mcl/src/bn_c_impl.hpp:452,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - buf
    - bufSize
    argTypes:
    - mclBnG2*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 454
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 454
    functionName: mclBnG2_hashAndMapTo
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 10
    functionsReached:
    - cast
    - hashAndMapToG2
    linkageType: ''
    returnType: int
    signature: int mclBnG2_hashAndMapTo(mclBnG2 *x, const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hashAndMapToG2
      Src: /src/mcl/src/bn_c_impl.hpp:457,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - x
    - buf
    - bufSize
    - dst
    - dstSize
    argTypes:
    - mclBnG2*
    - void*
    - mclSize
    - char*
    - mclSize
    constantsTouched: []
    func_position:
      end: 459
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 459
    functionName: mclBnG2_hashAndMapToWithDst
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - hashAndMapToG2
    linkageType: ''
    returnType: int
    signature: int mclBnG2_hashAndMapToWithDst(mclBnG2 *x, const void *buf, mclSize
      bufSize, const char *dst, mclSize dstSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - maxBufSize
    - x
    - ioMode
    argTypes:
    - char*
    - mclSize
    - mclBnG2*
    - int
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: mclBnG2_getStr
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnG2_getStr(char *buf, mclSize maxBufSize, const mclBnG2
      *x, int ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - x
    argTypes:
    - void*
    - mclSize
    - mclBnG2*
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: mclBnG2_serialize
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnG2_serialize(void *buf, mclSize maxBufSize, const mclBnG2
      *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/bn_c_impl.hpp:473,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:473,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnG2*
    - mclBnG2*
    constantsTouched: []
    func_position:
      end: 474
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 474
    functionName: mclBnG2_neg
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void mclBnG2_neg(mclBnG2 *y, const mclBnG2 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/src/bn_c_impl.hpp:477,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:477,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnG2*
    - mclBnG2*
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: mclBnG2_dbl
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - Botan::ge_p2_dbl
    linkageType: ''
    returnType: void
    signature: void mclBnG2_dbl(mclBnG2 *y, const mclBnG2 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G2::normalize
      Src: /src/mcl/src/bn_c_impl.hpp:481,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:481,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnG2*
    - mclBnG2*
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: mclBnG2_normalize
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - G2::normalize
    linkageType: ''
    returnType: void
    signature: void mclBnG2_normalize(mclBnG2 *y, const mclBnG2 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/bn_c_impl.hpp:485,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:485,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:485,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnG2*
    - mclBnG2*
    - mclBnG2*
    constantsTouched: []
    func_position:
      end: 486
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 486
    functionName: mclBnG2_add
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void mclBnG2_add(mclBnG2 *z, const mclBnG2 *x, const mclBnG2 *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/bn_c_impl.hpp:489,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:489,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:489,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnG2*
    - mclBnG2*
    - mclBnG2*
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: mclBnG2_sub
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - fiat_bls12_381_fp_sub
    linkageType: ''
    returnType: void
    signature: void mclBnG2_sub(mclBnG2 *z, const mclBnG2 *x, const mclBnG2 *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/bn_c_impl.hpp:493,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:493,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:493,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnG2*
    - mclBnG2*
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionName: mclBnG2_mul
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 3
    functionsReached:
    - cast
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mclBnG2_mul(mclBnG2 *z, const mclBnG2 *x, const mclBnFr *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulCT
      Src: /src/mcl/src/bn_c_impl.hpp:497,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:497,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:497,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnG2*
    - mclBnG2*
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 498
      start: 495
    functionDepth: 3
    functionLinenumber: 495
    functionLinenumberEnd: 498
    functionName: mclBnG2_mulCT
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - mulCT
    linkageType: ''
    returnType: void
    signature: void mclBnG2_mulCT(mclBnG2 *z, const mclBnG2 *x, const mclBnFr *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnGT*
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: mclBnGT_clear
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: void
    signature: void mclBnGT_clear(mclBnGT *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:508,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnGT*
    - mclInt
    constantsTouched: []
    func_position:
      end: 510
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 510
    functionName: mclBnGT_setInt
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 4
    functionsReached:
    - cast
    linkageType: ''
    returnType: void
    signature: void mclBnGT_setInt(mclBnGT *y, mclInt x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:513,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnGT*
    - int
    constantsTouched: []
    func_position:
      end: 515
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 515
    functionName: mclBnGT_setInt32
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: void
    signature: void mclBnGT_setInt32(mclBnGT *y, int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setStr
      Src: /src/mcl/src/bn_c_impl.hpp:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - buf
    - bufSize
    - ioMode
    argTypes:
    - mclBnGT*
    - char*
    - mclSize
    - int
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: mclBnGT_setStr
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - setStr
    linkageType: ''
    returnType: int
    signature: int mclBnGT_setStr(mclBnGT *x, const char *buf, mclSize bufSize, int
      ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - buf
    - bufSize
    argTypes:
    - mclBnGT*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: mclBnGT_deserialize
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnGT_deserialize(mclBnGT *x, const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:529,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - mclBnGT*
    - mclBnGT*
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: mclBnGT_isEqual
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 6
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnGT_isEqual(const mclBnGT *x, const mclBnGT *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnGT*
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: mclBnGT_isZero
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnGT_isZero(const mclBnGT *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnGT*
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: mclBnGT_isOne
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnGT_isOne(const mclBnGT *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::isValidGT
      Src: /src/mcl/src/bn_c_impl.hpp:541,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnGT*
    constantsTouched: []
    func_position:
      end: 542
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 542
    functionName: mclBnGT_isValid
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - mcl::isValidGT
    linkageType: ''
    returnType: int
    signature: int mclBnGT_isValid(const mclBnGT *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - maxBufSize
    - x
    - ioMode
    argTypes:
    - char*
    - mclSize
    - mclBnGT*
    - int
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: mclBnGT_getStr
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnGT_getStr(char *buf, mclSize maxBufSize, const mclBnGT
      *x, int ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - x
    argTypes:
    - void*
    - mclSize
    - mclBnGT*
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: mclBnGT_serialize
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnGT_serialize(void *buf, mclSize maxBufSize, const mclBnGT
      *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/bn_c_impl.hpp:556,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:556,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnGT*
    - mclBnGT*
    constantsTouched: []
    func_position:
      end: 557
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 557
    functionName: mclBnGT_neg
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void mclBnGT_neg(mclBnGT *y, const mclBnGT *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::unitaryInv
      Src: /src/mcl/src/bn_c_impl.hpp:560,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:560,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnGT*
    - mclBnGT*
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: mclBnGT_inv
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - mcl::unitaryInv
    linkageType: ''
    returnType: void
    signature: void mclBnGT_inv(mclBnGT *y, const mclBnGT *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_da_inv
      Src: /src/mcl/src/bn_c_impl.hpp:564,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:564,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnGT*
    - mclBnGT*
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: mclBnGT_invGeneric
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - get_da_inv
    linkageType: ''
    returnType: void
    signature: void mclBnGT_invGeneric(mclBnGT *y, const mclBnGT *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/bn_c_impl.hpp:568,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:568,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnGT*
    - mclBnGT*
    constantsTouched: []
    func_position:
      end: 569
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 569
    functionName: mclBnGT_sqr
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - Botan::fe_sqr
    linkageType: ''
    returnType: void
    signature: void mclBnGT_sqr(mclBnGT *y, const mclBnGT *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/bn_c_impl.hpp:572,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:572,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:572,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnGT*
    - mclBnGT*
    - mclBnGT*
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: mclBnGT_add
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void mclBnGT_add(mclBnGT *z, const mclBnGT *x, const mclBnGT *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/bn_c_impl.hpp:576,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:576,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:576,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnGT*
    - mclBnGT*
    - mclBnGT*
    constantsTouched: []
    func_position:
      end: 577
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 577
    functionName: mclBnGT_sub
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - fiat_bls12_381_fp_sub
    linkageType: ''
    returnType: void
    signature: void mclBnGT_sub(mclBnGT *z, const mclBnGT *x, const mclBnGT *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/bn_c_impl.hpp:580,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:580,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:580,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnGT*
    - mclBnGT*
    - mclBnGT*
    constantsTouched: []
    func_position:
      end: 581
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 581
    functionName: mclBnGT_mul
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 7
    functionsReached:
    - cast
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mclBnGT_mul(mclBnGT *z, const mclBnGT *x, const mclBnGT *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GF2m_Field::gf_div
      Src: /src/mcl/src/bn_c_impl.hpp:584,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:584,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:584,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnGT*
    - mclBnGT*
    - mclBnGT*
    constantsTouched: []
    func_position:
      end: 585
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 585
    functionName: mclBnGT_div
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - Botan::GF2m_Field::gf_div
    linkageType: ''
    returnType: void
    signature: void mclBnGT_div(mclBnGT *z, const mclBnGT *x, const mclBnGT *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testFp12pow
      Src: /src/mcl/src/bn_c_impl.hpp:589,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:589,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:589,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnGT*
    - mclBnGT*
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 590
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 590
    functionName: mclBnGT_pow
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    - testFp12pow
    linkageType: ''
    returnType: void
    signature: void mclBnGT_pow(mclBnGT *z, const mclBnGT *x, const mclBnFr *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnGT_powGeneric
      Src: /src/mcl/src/bn_c_impl.hpp:593,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:593,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:593,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnGT*
    - mclBnGT*
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 594
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 594
    functionName: mclBnGT_powGeneric
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 5
    functionsReached:
    - cast
    - mclBnGT_powGeneric
    linkageType: ''
    returnType: void
    signature: void mclBnGT_powGeneric(mclBnGT *z, const mclBnGT *x, const mclBnFr
      *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnG1_mulVec
      Src: /src/mcl/src/bn_c_impl.hpp:598,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:598,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:598,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - z
    - x
    - y
    - n
    argTypes:
    - mclBnG1*
    - mclBnG1*
    - mclBnFr*
    - mclSize
    constantsTouched: []
    func_position:
      end: 599
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 599
    functionName: mclBnG1_mulVec
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 8
    functionsReached:
    - cast
    - mclBnG1_mulVec
    linkageType: ''
    returnType: void
    signature: void mclBnG1_mulVec(mclBnG1 *z, mclBnG1 *x, const mclBnFr *y, mclSize
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnG1_mulVec
      Src: /src/mcl/src/bn_c_impl.hpp:602,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:602,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:602,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - z
    - x
    - y
    - n
    argTypes:
    - mclBnG2*
    - mclBnG2*
    - mclBnFr*
    - mclSize
    constantsTouched: []
    func_position:
      end: 603
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 603
    functionName: mclBnG2_mulVec
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - mclBnG1_mulVec
    linkageType: ''
    returnType: void
    signature: void mclBnG2_mulVec(mclBnG2 *z, mclBnG2 *x, const mclBnFr *y, mclSize
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnGT_powVec
      Src: /src/mcl/src/bn_c_impl.hpp:606,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:606,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:606,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - z
    - x
    - y
    - n
    argTypes:
    - mclBnGT*
    - mclBnGT*
    - mclBnFr*
    - mclSize
    constantsTouched: []
    func_position:
      end: 607
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 607
    functionName: mclBnGT_powVec
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 4
    functionsReached:
    - cast
    - mclBnGT_powVec
    linkageType: ''
    returnType: void
    signature: void mclBnGT_powVec(mclBnGT *z, const mclBnGT *x, const mclBnFr *y,
      mclSize n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnG1_mulEach
      Src: /src/mcl/src/bn_c_impl.hpp:610,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:610,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - n
    argTypes:
    - mclBnG1*
    - mclBnFr*
    - mclSize
    constantsTouched: []
    func_position:
      end: 611
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 611
    functionName: mclBnG1_mulEach
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 3
    functionsReached:
    - cast
    - mclBnG1_mulEach
    linkageType: ''
    returnType: void
    signature: void mclBnG1_mulEach(mclBnG1 *x, const mclBnFr *y, mclSize n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pairing
      Src: /src/mcl/src/bn_c_impl.hpp:615,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:615,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:615,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnGT*
    - mclBnG1*
    - mclBnG2*
    constantsTouched: []
    func_position:
      end: 616
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 616
    functionName: mclBn_pairing
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 4
    functionsReached:
    - cast
    - pairing
    linkageType: ''
    returnType: void
    signature: void mclBn_pairing(mclBnGT *z, const mclBnG1 *x, const mclBnG2 *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finalExp
      Src: /src/mcl/src/bn_c_impl.hpp:619,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:619,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnGT*
    - mclBnGT*
    constantsTouched: []
    func_position:
      end: 620
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 620
    functionName: mclBn_finalExp
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    - finalExp
    linkageType: ''
    returnType: void
    signature: void mclBn_finalExp(mclBnGT *y, const mclBnGT *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: millerLoop
      Src: /src/mcl/src/bn_c_impl.hpp:623,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:623,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:623,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnGT*
    - mclBnG1*
    - mclBnG2*
    constantsTouched: []
    func_position:
      end: 624
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 624
    functionName: mclBn_millerLoop
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 3
    functionsReached:
    - cast
    - millerLoop
    linkageType: ''
    returnType: void
    signature: void mclBn_millerLoop(mclBnGT *z, const mclBnG1 *x, const mclBnG2 *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: millerLoopVec
      Src: /src/mcl/src/bn_c_impl.hpp:627,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:627,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:627,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - z
    - x
    - y
    - n
    argTypes:
    - mclBnGT*
    - mclBnG1*
    - mclBnG2*
    - mclSize
    constantsTouched: []
    func_position:
      end: 628
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 628
    functionName: mclBn_millerLoopVec
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - millerLoopVec
    linkageType: ''
    returnType: void
    signature: void mclBn_millerLoopVec(mclBnGT *z, const mclBnG1 *x, const mclBnG2
      *y, mclSize n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: millerLoopVecMT
      Src: /src/mcl/src/bn_c_impl.hpp:631,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:631,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:631,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - z
    - x
    - y
    - n
    - cpuN
    argTypes:
    - mclBnGT*
    - mclBnG1*
    - mclBnG2*
    - mclSize
    - mclSize
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: mclBn_millerLoopVecMT
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - millerLoopVecMT
    linkageType: ''
    returnType: void
    signature: void mclBn_millerLoopVecMT(mclBnGT *z, const mclBnG1 *x, const mclBnG2
      *y, mclSize n, mclSize cpuN)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnG1_mulVecMT
      Src: /src/mcl/src/bn_c_impl.hpp:635,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:635,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:635,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - z
    - x
    - y
    - n
    - cpuN
    argTypes:
    - mclBnG1*
    - mclBnG1*
    - mclBnFr*
    - mclSize
    - mclSize
    constantsTouched: []
    func_position:
      end: 636
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 636
    functionName: mclBnG1_mulVecMT
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - mclBnG1_mulVecMT
    - cast
    linkageType: ''
    returnType: void
    signature: void mclBnG1_mulVecMT(mclBnG1 *z, mclBnG1 *x, const mclBnFr *y, mclSize
      n, mclSize cpuN)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnG1_mulVecMT
      Src: /src/mcl/src/bn_c_impl.hpp:639,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:639,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:639,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - z
    - x
    - y
    - n
    - cpuN
    argTypes:
    - mclBnG2*
    - mclBnG2*
    - mclBnFr*
    - mclSize
    - mclSize
    constantsTouched: []
    func_position:
      end: 640
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 640
    functionName: mclBnG2_mulVecMT
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - mclBnG1_mulVecMT
    - cast
    linkageType: ''
    returnType: void
    signature: void mclBnG2_mulVecMT(mclBnG2 *z, mclBnG2 *x, const mclBnFr *y, mclSize
      n, mclSize cpuN)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getPrecomputedQcoeffSize
      Src: /src/mcl/src/bn_c_impl.hpp:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 644
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 644
    functionName: mclBn_getUint64NumToPrecompute
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - getPrecomputedQcoeffSize
    linkageType: ''
    returnType: int
    signature: int mclBn_getUint64NumToPrecompute(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: precomputeG2
      Src: /src/mcl/src/bn_c_impl.hpp:648,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:648,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - Qbuf
    - Q
    argTypes:
    - uint64_t*
    - mclBnG2*
    constantsTouched: []
    func_position:
      end: 649
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 649
    functionName: mclBn_precomputeG2
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - precomputeG2
    linkageType: ''
    returnType: void
    signature: void mclBn_precomputeG2(uint64_t *Qbuf, const mclBnG2 *Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: precomputedMillerLoop
      Src: /src/mcl/src/bn_c_impl.hpp:653,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:653,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:653,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - f
    - P
    - Qbuf
    argTypes:
    - mclBnGT*
    - mclBnG1*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 654
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 654
    functionName: mclBn_precomputedMillerLoop
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - precomputedMillerLoop
    linkageType: ''
    returnType: void
    signature: void mclBn_precomputedMillerLoop(mclBnGT *f, const mclBnG1 *P, const
      uint64_t *Qbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: precomputedMillerLoop2
      Src: /src/mcl/src/bn_c_impl.hpp:658,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:658,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:658,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:658,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:658,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - f
    - P1
    - Q1buf
    - P2
    - Q2buf
    argTypes:
    - mclBnGT*
    - mclBnG1*
    - uint64_t*
    - mclBnG1*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 659
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 659
    functionName: mclBn_precomputedMillerLoop2
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - precomputedMillerLoop2
    linkageType: ''
    returnType: void
    signature: void mclBn_precomputedMillerLoop2(mclBnGT *f, const mclBnG1 *P1, const
      uint64_t  *Q1buf, const mclBnG1 *P2, const uint64_t *Q2buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: precomputedMillerLoop2mixed
      Src: /src/mcl/src/bn_c_impl.hpp:663,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:663,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:663,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:663,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:663,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - f
    - P1
    - Q1
    - P2
    - Q2buf
    argTypes:
    - mclBnGT*
    - mclBnG1*
    - mclBnG2*
    - mclBnG1*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 664
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 664
    functionName: mclBn_precomputedMillerLoop2mixed
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - precomputedMillerLoop2mixed
    linkageType: ''
    returnType: void
    signature: void mclBn_precomputedMillerLoop2mixed(mclBnGT *f, const mclBnG1 *P1,
      const mclBnG2 *Q1, const mclBnG1 *P2, const uint64_t *Q2buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::LagrangeInterpolation
      Src: /src/mcl/src/bn_c_impl.hpp:669,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:669,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:669,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - out
    - xVec
    - yVec
    - k
    argTypes:
    - mclBnFr*
    - mclBnFr*
    - mclBnFr*
    - mclSize
    constantsTouched: []
    func_position:
      end: 671
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 671
    functionName: mclBn_FrLagrangeInterpolation
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - mcl::LagrangeInterpolation
    linkageType: ''
    returnType: int
    signature: int mclBn_FrLagrangeInterpolation(mclBnFr *out, const mclBnFr *xVec,
      const mclBnFr *yVec, mclSize k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::LagrangeInterpolation
      Src: /src/mcl/src/bn_c_impl.hpp:675,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:675,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:675,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - out
    - xVec
    - yVec
    - k
    argTypes:
    - mclBnG1*
    - mclBnFr*
    - mclBnG1*
    - mclSize
    constantsTouched: []
    func_position:
      end: 677
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 677
    functionName: mclBn_G1LagrangeInterpolation
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - mcl::LagrangeInterpolation
    linkageType: ''
    returnType: int
    signature: int mclBn_G1LagrangeInterpolation(mclBnG1 *out, const mclBnFr *xVec,
      const mclBnG1 *yVec, mclSize k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::LagrangeInterpolation
      Src: /src/mcl/src/bn_c_impl.hpp:681,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:681,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:681,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - out
    - xVec
    - yVec
    - k
    argTypes:
    - mclBnG2*
    - mclBnFr*
    - mclBnG2*
    - mclSize
    constantsTouched: []
    func_position:
      end: 683
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 683
    functionName: mclBn_G2LagrangeInterpolation
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - mcl::LagrangeInterpolation
    linkageType: ''
    returnType: int
    signature: int mclBn_G2LagrangeInterpolation(mclBnG2 *out, const mclBnFr *xVec,
      const mclBnG2 *yVec, mclSize k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::evaluatePolynomial
      Src: /src/mcl/src/bn_c_impl.hpp:687,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:687,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:687,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - out
    - cVec
    - cSize
    - x
    argTypes:
    - mclBnFr*
    - mclBnFr*
    - mclSize
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 689
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 689
    functionName: mclBn_FrEvaluatePolynomial
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::evaluatePolynomial
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBn_FrEvaluatePolynomial(mclBnFr *out, const mclBnFr *cVec, mclSize
      cSize, const mclBnFr *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::evaluatePolynomial
      Src: /src/mcl/src/bn_c_impl.hpp:693,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:693,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:693,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - out
    - cVec
    - cSize
    - x
    argTypes:
    - mclBnG1*
    - mclBnG1*
    - mclSize
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 695
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 695
    functionName: mclBn_G1EvaluatePolynomial
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::evaluatePolynomial
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBn_G1EvaluatePolynomial(mclBnG1 *out, const mclBnG1 *cVec, mclSize
      cSize, const mclBnFr *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::evaluatePolynomial
      Src: /src/mcl/src/bn_c_impl.hpp:699,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:699,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:699,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - out
    - cVec
    - cSize
    - x
    argTypes:
    - mclBnG2*
    - mclBnG2*
    - mclSize
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 701
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 701
    functionName: mclBn_G2EvaluatePolynomial
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::evaluatePolynomial
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBn_G2EvaluatePolynomial(mclBnG2 *out, const mclBnG2 *cVec, mclSize
      cSize, const mclBnFr *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyOrderG1
      Src: /src/mcl/src/bn_c_impl.hpp:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - doVerify
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 706
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 706
    functionName: mclBn_verifyOrderG1
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - verifyOrderG1
    linkageType: ''
    returnType: void
    signature: void mclBn_verifyOrderG1(int doVerify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyOrderG2
      Src: /src/mcl/src/bn_c_impl.hpp:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - doVerify
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 711
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 711
    functionName: mclBn_verifyOrderG2
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - verifyOrderG2
    linkageType: ''
    returnType: void
    signature: void mclBn_verifyOrderG2(int doVerify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnFp*
    - mclInt
    constantsTouched: []
    func_position:
      end: 716
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 716
    functionName: mclBnFp_setInt
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 6
    functionsReached:
    - cast
    linkageType: ''
    returnType: void
    signature: void mclBnFp_setInt(mclBnFp *y, mclInt x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnFp*
    - int
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: mclBnFp_setInt32
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: void
    signature: void mclBnFp_setInt32(mclBnFp *y, int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - maxBufSize
    - x
    - ioMode
    argTypes:
    - char*
    - mclSize
    - mclBnFp*
    - int
    constantsTouched: []
    func_position:
      end: 725
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 725
    functionName: mclBnFp_getStr
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 3
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnFp_getStr(char *buf, mclSize maxBufSize, const mclBnFp
      *x, int ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setStr
      Src: /src/mcl/src/bn_c_impl.hpp:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - buf
    - bufSize
    - ioMode
    argTypes:
    - mclBnFp*
    - char*
    - mclSize
    - int
    constantsTouched: []
    func_position:
      end: 729
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 729
    functionName: mclBnFp_setStr
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 3
    functionsReached:
    - setStr
    linkageType: ''
    returnType: int
    signature: int mclBnFp_setStr(mclBnFp *x, const char *buf, mclSize bufSize, int
      ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - buf
    - bufSize
    argTypes:
    - mclBnFp*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 733
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 733
    functionName: mclBnFp_deserialize
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnFp_deserialize(mclBnFp *x, const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - x
    argTypes:
    - void*
    - mclSize
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 738
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 738
    functionName: mclBnFp_serialize
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnFp_serialize(void *buf, mclSize maxBufSize, const mclBnFp
      *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 743
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 743
    functionName: mclBnFp_clear
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 4
    functionsReached:
    - cast
    linkageType: ''
    returnType: void
    signature: void mclBnFp_clear(mclBnFp *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - buf
    - bufSize
    argTypes:
    - mclBnFp*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 749
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 749
    functionName: mclBnFp_setLittleEndian
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFp_setLittleEndian(mclBnFp *x, const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - buf
    - bufSize
    argTypes:
    - mclBnFp*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 756
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 756
    functionName: mclBnFp_setLittleEndianMod
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFp_setLittleEndianMod(mclBnFp *x, const void *buf, mclSize
      bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - buf
    - bufSize
    argTypes:
    - mclBnFp*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 763
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 763
    functionName: mclBnFp_setBigEndianMod
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFp_setBigEndianMod(mclBnFp *x, const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - x
    argTypes:
    - void*
    - mclSize
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 768
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 768
    functionName: mclBnFp_getLittleEndian
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnFp_getLittleEndian(void *buf, mclSize maxBufSize, const
      mclBnFp *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: mclBnFp_isValid
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFp_isValid(const mclBnFp *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:775,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - mclBnFp*
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 776
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 776
    functionName: mclBnFp_isEqual
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 5
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFp_isEqual(const mclBnFp *x, const mclBnFp *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 780
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 780
    functionName: mclBnFp_isZero
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 3
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFp_isZero(const mclBnFp *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 784
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 784
    functionName: mclBnFp_isOne
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 3
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFp_isOne(const mclBnFp *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 788
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 788
    functionName: mclBnFp_isOdd
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFp_isOdd(const mclBnFp *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 792
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 792
    functionName: mclBnFp_isNegative
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFp_isNegative(const mclBnFp *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::sodium_compare
      Src: /src/mcl/src/bn_c_impl.hpp:795,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:795,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - mclBnFp*
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 796
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 796
    functionName: mclBnFp_cmp
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - Botan::Sodium::sodium_compare
    linkageType: ''
    returnType: int
    signature: int mclBnFp_cmp(const mclBnFp *x, const mclBnFp *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - buf
    - bufSize
    argTypes:
    - mclBnFp*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 802
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 802
    functionName: mclBnFp_setHashOf
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 4
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFp_setHashOf(mclBnFp *x, const void *buf, mclSize bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mapToG1
      Src: /src/mcl/src/bn_c_impl.hpp:807,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:807,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnG1*
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 809
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 809
    functionName: mclBnFp_mapToG1
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - mapToG1
    linkageType: ''
    returnType: int
    signature: int mclBnFp_mapToG1(mclBnG1 *y, const mclBnFp *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - buf
    - bufSize
    argTypes:
    - mclBnFp2*
    - void*
    - mclSize
    constantsTouched: []
    func_position:
      end: 814
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 814
    functionName: mclBnFp2_deserialize
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnFp2_deserialize(mclBnFp2 *x, const void *buf, mclSize
      bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - maxBufSize
    - x
    argTypes:
    - void*
    - mclSize
    - mclBnFp2*
    constantsTouched: []
    func_position:
      end: 819
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 819
    functionName: mclBnFp2_serialize
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnFp2_serialize(void *buf, mclSize maxBufSize, const mclBnFp2
      *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnFp2*
    constantsTouched: []
    func_position:
      end: 824
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 824
    functionName: mclBnFp2_clear
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    linkageType: ''
    returnType: void
    signature: void mclBnFp2_clear(mclBnFp2 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:828,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - mclBnFp2*
    - mclBnFp2*
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: mclBnFp2_isEqual
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFp2_isEqual(const mclBnFp2 *x, const mclBnFp2 *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnFp2*
    constantsTouched: []
    func_position:
      end: 833
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 833
    functionName: mclBnFp2_isZero
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFp2_isZero(const mclBnFp2 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnFp2*
    constantsTouched: []
    func_position:
      end: 837
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 837
    functionName: mclBnFp2_isOne
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 2
    functionsReached:
    - cast
    linkageType: ''
    returnType: int
    signature: int mclBnFp2_isOne(const mclBnFp2 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mapToG2
      Src: /src/mcl/src/bn_c_impl.hpp:842,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:842,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - mclBnG2*
    - mclBnFp2*
    constantsTouched: []
    func_position:
      end: 844
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 844
    functionName: mclBnFp2_mapToG2
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - mapToG2
    linkageType: ''
    returnType: int
    signature: int mclBnFp2_mapToG2(mclBnG2 *y, const mclBnFp2 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:848,1
    - Dst: mcl::getG1basePoint
      Src: /src/mcl/src/bn_c_impl.hpp:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - mclBnG1*
    constantsTouched: []
    func_position:
      end: 850
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 850
    functionName: mclBnG1_getBasePoint
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - mcl::getG1basePoint
    linkageType: ''
    returnType: int
    signature: int mclBnG1_getBasePoint(mclBnG1 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBlock
      Src: /src/mcl/src/bn_c_impl.hpp:856,1
    - Dst: mcl::fp::powUnit
      Src: /src/mcl/src/bn_c_impl.hpp:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - F
    - F
    - F
    constantsTouched: []
    func_position:
      end: 858
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 858
    functionName: F_pow
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - getBlock
    - mcl::fp::powUnit
    linkageType: ''
    returnType: void
    signature: void F_pow(F& z, const F& x, const F& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: F_pow
      Src: /src/mcl/src/bn_c_impl.hpp:862,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:862,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:862,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnFr*
    - mclBnFr*
    - mclBnFr*
    constantsTouched: []
    func_position:
      end: 863
      start: 860
    functionDepth: 2
    functionLinenumber: 860
    functionLinenumberEnd: 863
    functionName: mclBnFr_pow
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - F_pow
    linkageType: ''
    returnType: void
    signature: void mclBnFr_pow(mclBnFr *z, const mclBnFr *x, const mclBnFr *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: F_pow
      Src: /src/mcl/src/bn_c_impl.hpp:867,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:867,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:867,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - mclBnFp*
    - mclBnFp*
    - mclBnFp*
    constantsTouched: []
    func_position:
      end: 868
      start: 865
    functionDepth: 2
    functionLinenumber: 865
    functionLinenumberEnd: 868
    functionName: mclBnFp_pow
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - F_pow
    linkageType: ''
    returnType: void
    signature: void mclBnFp_pow(mclBnFp *z, const mclBnFp *x, const mclBnFp *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/src/bn_c_impl.hpp:880,1
    - Dst: mcl::fp::convertArrayAsLE
      Src: /src/mcl/src/bn_c_impl.hpp:881,1
    - Dst: mcl::fp::powUnit
      Src: /src/mcl/src/bn_c_impl.hpp:882,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - _y
    - ySize
    argTypes:
    - F
    - F
    - uint8_t*
    - mclSize
    constantsTouched: []
    func_position:
      end: 884
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 884
    functionName: F_powArray
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_ALLOCA
    - mcl::fp::powUnit
    - mcl::fp::convertArrayAsLE
    linkageType: ''
    returnType: int
    signature: int F_powArray(F& z, const F& x, const uint8_t *_y, mclSize ySize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: F_powArray
      Src: /src/mcl/src/bn_c_impl.hpp:888,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:888,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - z
    - x
    - y
    - ySize
    argTypes:
    - mclBnFr*
    - mclBnFr*
    - uint8_t*
    - mclSize
    constantsTouched: []
    func_position:
      end: 889
      start: 886
    functionDepth: 2
    functionLinenumber: 886
    functionLinenumberEnd: 889
    functionName: mclBnFr_powArray
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - F_powArray
    linkageType: ''
    returnType: int
    signature: int mclBnFr_powArray(mclBnFr *z, const mclBnFr *x, const uint8_t *y,
      mclSize ySize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: F_powArray
      Src: /src/mcl/src/bn_c_impl.hpp:893,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:893,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - z
    - x
    - y
    - ySize
    argTypes:
    - mclBnFp*
    - mclBnFp*
    - uint8_t*
    - mclSize
    constantsTouched: []
    func_position:
      end: 894
      start: 891
    functionDepth: 2
    functionLinenumber: 891
    functionLinenumberEnd: 894
    functionName: mclBnFp_powArray
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - F_powArray
    linkageType: ''
    returnType: int
    signature: int mclBnFp_powArray(mclBnFp *z, const mclBnFp *x, const uint8_t *y,
      mclSize ySize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::invVec
      Src: /src/mcl/src/bn_c_impl.hpp:898,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:898,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - y
    - x
    - n
    argTypes:
    - mclBnFr*
    - mclBnFr*
    - mclSize
    constantsTouched: []
    func_position:
      end: 899
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 899
    functionName: mclBnFr_invVec
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - mcl::invVec
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnFr_invVec(mclBnFr *y, const mclBnFr *x, mclSize n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::invVec
      Src: /src/mcl/src/bn_c_impl.hpp:903,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:903,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - y
    - x
    - n
    argTypes:
    - mclBnFp*
    - mclBnFp*
    - mclSize
    constantsTouched: []
    func_position:
      end: 904
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 904
    functionName: mclBnFp_invVec
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - mcl::invVec
    linkageType: ''
    returnType: mclSize
    signature: mclSize mclBnFp_invVec(mclBnFp *y, const mclBnFp *x, mclSize n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::normalizeVec
      Src: /src/mcl/src/bn_c_impl.hpp:908,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:908,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - y
    - x
    - n
    argTypes:
    - mclBnG1*
    - mclBnG1*
    - mclSize
    constantsTouched: []
    func_position:
      end: 909
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 909
    functionName: mclBnG1_normalizeVec
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 5
    functionsReached:
    - cast
    - mcl::ec::normalizeVec
    linkageType: ''
    returnType: void
    signature: void mclBnG1_normalizeVec(mclBnG1 *y, const mclBnG1 *x, mclSize n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::normalizeVec
      Src: /src/mcl/src/bn_c_impl.hpp:913,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:913,1
    - Dst: cast
      Src: /src/mcl/src/bn_c_impl.hpp:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - y
    - x
    - n
    argTypes:
    - mclBnG2*
    - mclBnG2*
    - mclSize
    constantsTouched: []
    func_position:
      end: 914
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 914
    functionName: mclBnG2_normalizeVec
    functionSourceFile: /src/mcl/src/bn_c_impl.hpp
    functionUses: 1
    functionsReached:
    - cast
    - mcl::ec::normalizeVec
    linkageType: ''
    returnType: void
    signature: void mclBnG2_normalizeVec(mclBnG2 *y, const mclBnG2 *x, mclSize n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 322
    functionName: mclb_enable_fast
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mclb_enable_fast()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 397
    functionName: mclb_enable_fast
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mclb_enable_fast()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulUnitT<1>
      Src: /src/mcl/src/bint_switch.hpp:403,1
    - Dst: get_mulUnitAdd
      Src: /src/mcl/src/bint_switch.hpp:404,1
    - Dst: f
      Src: /src/mcl/src/bint_switch.hpp:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 408
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 408
    functionName: mclb_mul_slow1
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached:
    - f
    - get_mulUnitAdd
    - mulUnitT<1>
    linkageType: ''
    returnType: void
    signature: void mclb_mul_slow1(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulUnitT<2>
      Src: /src/mcl/src/bint_switch.hpp:411,1
    - Dst: get_mulUnitAdd
      Src: /src/mcl/src/bint_switch.hpp:412,1
    - Dst: f
      Src: /src/mcl/src/bint_switch.hpp:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: mclb_mul_slow2
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached:
    - f
    - get_mulUnitAdd
    - mulUnitT<2>
    linkageType: ''
    returnType: void
    signature: void mclb_mul_slow2(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulUnitT<3>
      Src: /src/mcl/src/bint_switch.hpp:419,1
    - Dst: get_mulUnitAdd
      Src: /src/mcl/src/bint_switch.hpp:420,1
    - Dst: f
      Src: /src/mcl/src/bint_switch.hpp:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 424
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 424
    functionName: mclb_mul_slow3
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached:
    - mulUnitT<3>
    - f
    - get_mulUnitAdd
    linkageType: ''
    returnType: void
    signature: void mclb_mul_slow3(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulUnitT<4>
      Src: /src/mcl/src/bint_switch.hpp:427,1
    - Dst: get_mulUnitAdd
      Src: /src/mcl/src/bint_switch.hpp:428,1
    - Dst: f
      Src: /src/mcl/src/bint_switch.hpp:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 432
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 432
    functionName: mclb_mul_slow4
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached:
    - mulUnitT<4>
    - f
    - get_mulUnitAdd
    linkageType: ''
    returnType: void
    signature: void mclb_mul_slow4(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulUnitT<5>
      Src: /src/mcl/src/bint_switch.hpp:435,1
    - Dst: get_mulUnitAdd
      Src: /src/mcl/src/bint_switch.hpp:436,1
    - Dst: f
      Src: /src/mcl/src/bint_switch.hpp:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 440
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 440
    functionName: mclb_mul_slow5
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached:
    - f
    - mulUnitT<5>
    - get_mulUnitAdd
    linkageType: ''
    returnType: void
    signature: void mclb_mul_slow5(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulUnitT<6>
      Src: /src/mcl/src/bint_switch.hpp:443,1
    - Dst: get_mulUnitAdd
      Src: /src/mcl/src/bint_switch.hpp:444,1
    - Dst: f
      Src: /src/mcl/src/bint_switch.hpp:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 448
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 448
    functionName: mclb_mul_slow6
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached:
    - f
    - get_mulUnitAdd
    - mulUnitT<6>
    linkageType: ''
    returnType: void
    signature: void mclb_mul_slow6(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulUnitT<7>
      Src: /src/mcl/src/bint_switch.hpp:451,1
    - Dst: get_mulUnitAdd
      Src: /src/mcl/src/bint_switch.hpp:452,1
    - Dst: f
      Src: /src/mcl/src/bint_switch.hpp:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 456
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 456
    functionName: mclb_mul_slow7
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached:
    - mulUnitT<7>
    - f
    - get_mulUnitAdd
    linkageType: ''
    returnType: void
    signature: void mclb_mul_slow7(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulUnitT<8>
      Src: /src/mcl/src/bint_switch.hpp:459,1
    - Dst: get_mulUnitAdd
      Src: /src/mcl/src/bint_switch.hpp:460,1
    - Dst: f
      Src: /src/mcl/src/bint_switch.hpp:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 464
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 464
    functionName: mclb_mul_slow8
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached:
    - mulUnitT<8>
    - f
    - get_mulUnitAdd
    linkageType: ''
    returnType: void
    signature: void mclb_mul_slow8(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulUnitT<9>
      Src: /src/mcl/src/bint_switch.hpp:467,1
    - Dst: get_mulUnitAdd
      Src: /src/mcl/src/bint_switch.hpp:468,1
    - Dst: f
      Src: /src/mcl/src/bint_switch.hpp:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 472
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 472
    functionName: mclb_mul_slow9
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached:
    - f
    - get_mulUnitAdd
    - mulUnitT<9>
    linkageType: ''
    returnType: void
    signature: void mclb_mul_slow9(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclb_mul_slow1
      Src: /src/mcl/src/bint_switch.hpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: mclb_sqr_slow1
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached:
    - mclb_mul_slow1
    linkageType: ''
    returnType: void
    signature: void mclb_sqr_slow1(Unit *y, const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclb_mul_slow2
      Src: /src/mcl/src/bint_switch.hpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: mclb_sqr_slow2
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached:
    - mclb_mul_slow2
    linkageType: ''
    returnType: void
    signature: void mclb_sqr_slow2(Unit *y, const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclb_mul_slow3
      Src: /src/mcl/src/bint_switch.hpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 486
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 486
    functionName: mclb_sqr_slow3
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached:
    - mclb_mul_slow3
    linkageType: ''
    returnType: void
    signature: void mclb_sqr_slow3(Unit *y, const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclb_mul_slow4
      Src: /src/mcl/src/bint_switch.hpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: mclb_sqr_slow4
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached:
    - mclb_mul_slow4
    linkageType: ''
    returnType: void
    signature: void mclb_sqr_slow4(Unit *y, const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclb_mul_slow5
      Src: /src/mcl/src/bint_switch.hpp:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionName: mclb_sqr_slow5
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached:
    - mclb_mul_slow5
    linkageType: ''
    returnType: void
    signature: void mclb_sqr_slow5(Unit *y, const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclb_mul_slow6
      Src: /src/mcl/src/bint_switch.hpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 498
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 498
    functionName: mclb_sqr_slow6
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached:
    - mclb_mul_slow6
    linkageType: ''
    returnType: void
    signature: void mclb_sqr_slow6(Unit *y, const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclb_mul_slow7
      Src: /src/mcl/src/bint_switch.hpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: mclb_sqr_slow7
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached:
    - mclb_mul_slow7
    linkageType: ''
    returnType: void
    signature: void mclb_sqr_slow7(Unit *y, const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclb_mul_slow8
      Src: /src/mcl/src/bint_switch.hpp:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: mclb_sqr_slow8
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached:
    - mclb_mul_slow8
    linkageType: ''
    returnType: void
    signature: void mclb_sqr_slow8(Unit *y, const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclb_mul_slow9
      Src: /src/mcl/src/bint_switch.hpp:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 510
    functionName: mclb_sqr_slow9
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached:
    - mclb_mul_slow9
    linkageType: ''
    returnType: void
    signature: void mclb_sqr_slow9(Unit *y, const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 126
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 585
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 585
    functionName: get_add
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_ppp
    signature: u_ppp get_add(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 126
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 659
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 659
    functionName: get_sub
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_ppp
    signature: u_ppp get_sub(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 126
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 733
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 733
    functionName: get_addNF
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void_ppp
    signature: void_ppp get_addNF(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 126
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 807
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 807
    functionName: get_subNF
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_ppp
    signature: u_ppp get_subNF(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 66
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 851
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 851
    functionName: get_mulUnit
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: u_ppu
    signature: u_ppu get_mulUnit(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 66
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 895
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 895
    functionName: get_mulUnitAdd
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: u_ppu
    signature: u_ppu get_mulUnitAdd(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 66
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 939
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 939
    functionName: get_mul
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void_ppp
    signature: void_ppp get_mul(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 66
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 983
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 983
    functionName: get_sqr
    functionSourceFile: /src/mcl/src/bint_switch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void_pp
    signature: void_pp get_sqr(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/src/fp_tower_impl.hpp:14,1
    - Dst: cast
      Src: /src/mcl/src/fp_tower_impl.hpp:15,1
    - Dst: cast
      Src: /src/mcl/src/fp_tower_impl.hpp:16,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/src/fp_tower_impl.hpp:18,1
    - Dst: mcl::FpDbl::mod
      Src: /src/mcl/src/fp_tower_impl.hpp:19,1
    - Dst: mcl::FpDbl::mod
      Src: /src/mcl/src/fp_tower_impl.hpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pz
    - px
    - py
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 21
      start: 12
    functionDepth: 5
    functionLinenumber: 12
    functionLinenumberEnd: 21
    functionName: mcl::Fp2::mulA
    functionSourceFile: /src/mcl/src/fp_tower_impl.hpp
    functionUses: 0
    functionsReached:
    - cast
    - mcl::FpDbl::mod
    - gen_mcl_fpDbl_mulPre
    linkageType: ''
    returnType: void
    signature: void Fp2::mulA(Unit *pz, const Unit *px, const Unit *py)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/fp_tower_impl.hpp:49,1
    - Dst: assert
      Src: /src/mcl/src/fp_tower_impl.hpp:65,1
    - Dst: mcl::FpDbl::init
      Src: /src/mcl/src/fp_tower_impl.hpp:71,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/src/fp_tower_impl.hpp:72,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/src/fp_tower_impl.hpp:75,1
    - Dst: testFp12pow
      Src: /src/mcl/src/fp_tower_impl.hpp:76,1
    - Dst: testFp12pow
      Src: /src/mcl/src/fp_tower_impl.hpp:77,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/src/fp_tower_impl.hpp:98,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/fp_tower_impl.hpp:98,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/fp_tower_impl.hpp:99,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/src/fp_tower_impl.hpp:102,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 1
    argNames:
    - pb
    argTypes:
    - bool*
    constantsTouched: []
    func_position:
      end: 104
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 104
    functionName: mcl::Fp2::init
    functionSourceFile: /src/mcl/src/fp_tower_impl.hpp
    functionUses: 1
    functionsReached:
    - testFp12pow
    - assert
    - Botan_Tests::test_x509_uninit
    - Botan::EC_Group_Data::affine_neg
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - mcl::FpDbl::init
    - mcl::Fp2::mul
    linkageType: ''
    returnType: void
    signature: void Fp2::init(bool *pb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqrPre
      Src: /src/mcl/src/fp_tower_impl.hpp:109,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/src/fp_tower_impl.hpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp6
    - Fp6
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: mcl::Fp6::sqr
    functionSourceFile: /src/mcl/src/fp_tower_impl.hpp
    functionUses: 1
    functionsReached:
    - sqrPre
    - ref_inverse_mod
    linkageType: ''
    returnType: void
    signature: void Fp6::sqr(Fp6& y, const Fp6& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/src/fp_tower_impl.hpp:115,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/src/fp_tower_impl.hpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp6
    - Fp6
    - Fp6
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 5
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: mcl::Fp6::mul
    functionSourceFile: /src/mcl/src/fp_tower_impl.hpp
    functionUses: 1
    functionsReached:
    - ref_inverse_mod
    - gen_mcl_fpDbl_mulPre
    linkageType: ''
    returnType: void
    signature: void Fp6::mul(Fp6& z, const Fp6& x, const Fp6& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqrPre
      Src: /src/mcl/src/fp_tower_impl.hpp:131,1
    - Dst: sqrPre
      Src: /src/mcl/src/fp_tower_impl.hpp:132,1
    - Dst: sqrPre
      Src: /src/mcl/src/fp_tower_impl.hpp:133,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/src/fp_tower_impl.hpp:134,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/src/fp_tower_impl.hpp:135,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/src/fp_tower_impl.hpp:136,1
    - Dst: mcl::mul_xi
      Src: /src/mcl/src/fp_tower_impl.hpp:140,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/fp_tower_impl.hpp:141,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/src/fp_tower_impl.hpp:142,1
    - Dst: mcl::mul_xi
      Src: /src/mcl/src/fp_tower_impl.hpp:143,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/fp_tower_impl.hpp:144,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/src/fp_tower_impl.hpp:145,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/fp_tower_impl.hpp:146,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/src/fp_tower_impl.hpp:147,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/src/fp_tower_impl.hpp:150,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/src/fp_tower_impl.hpp:151,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/fp_tower_impl.hpp:152,1
    - Dst: mcl::mul_xi
      Src: /src/mcl/src/fp_tower_impl.hpp:153,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/src/fp_tower_impl.hpp:154,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/fp_tower_impl.hpp:155,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/src/fp_tower_impl.hpp:157,1
    - Dst: mcl::Fp2::inv
      Src: /src/mcl/src/fp_tower_impl.hpp:158,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/fp_tower_impl.hpp:160,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/fp_tower_impl.hpp:161,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/fp_tower_impl.hpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp6
    - Fp6
    constantsTouched: []
    func_position:
      end: 163
      start: 125
    functionDepth: 5
    functionLinenumber: 125
    functionLinenumberEnd: 163
    functionName: mcl::Fp6::inv
    functionSourceFile: /src/mcl/src/fp_tower_impl.hpp
    functionUses: 1
    functionsReached:
    - sqrPre
    - mcl::mul_xi
    - mcl::Fp2::inv
    - fiat_bls12_381_fp_sub
    - ref_inverse_mod
    - fiat_bls12_381_fp_add
    - mcl::Fp2::mul
    - gen_mcl_fpDbl_mulPre
    linkageType: ''
    returnType: void
    signature: void Fp6::inv(Fp6& y, const Fp6& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: mcl::DumpCode
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DumpCode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mcl/src/fp_generator.hpp:34,1
    - Dst: fprintf
      Src: /src/mcl/src/fp_generator.hpp:35,1
    - Dst: c_str
      Src: /src/mcl/src/fp_generator.hpp:35,1
    - Dst: fprintf
      Src: /src/mcl/src/fp_generator.hpp:36,1
    - Dst: fprintf
      Src: /src/mcl/src/fp_generator.hpp:37,1
    - Dst: c_str
      Src: /src/mcl/src/fp_generator.hpp:37,1
    - Dst: fprintf
      Src: /src/mcl/src/fp_generator.hpp:42,1
    - Dst: fprintf
      Src: /src/mcl/src/fp_generator.hpp:44,1
    - Dst: fprintf
      Src: /src/mcl/src/fp_generator.hpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ' name'
    - begin
    - size
    argTypes:
    - std::string
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: mcl::set
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - fprintf
    - c_str
    linkageType: ''
    returnType: void
    signature: void set(const std::string& name, const uint8_t *begin, const size_t
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mcl/src/fp_generator.hpp:52,1
    - Dst: fprintf
      Src: /src/mcl/src/fp_generator.hpp:53,1
    - Dst: fprintf
      Src: /src/mcl/src/fp_generator.hpp:58,1
    - Dst: fprintf
      Src: /src/mcl/src/fp_generator.hpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: mcl::dumpData
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dumpData(const void *begin, const void *end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mcl/src/fp_generator.hpp:64,1
    - Dst: fprintf
      Src: /src/mcl/src/fp_generator.hpp:65,1
    - Dst: fprintf
      Src: /src/mcl/src/fp_generator.hpp:66,1
    - Dst: fprintf
      Src: /src/mcl/src/fp_generator.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: mcl::makeGNUstackSection
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void makeGNUstackSection()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::set
      Src: /src/mcl/src/fp_generator.hpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ' prof'
    - suf
    - name
    - ' begin'
    - end
    argTypes:
    - DumpCode
    - char*
    - char*
    - T
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: mcl::setFuncInfo
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mcl::set
    linkageType: ''
    returnType: void
    signature: void setFuncInfo(DumpCode& prof, const char *suf, const char *name,
      const T& begin, const uint8_t* end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::set
      Src: /src/mcl/src/fp_generator.hpp:88,1
    - Dst: std::string
      Src: /src/mcl/src/fp_generator.hpp:88,1
    - Dst: c_str
      Src: /src/mcl/src/fp_generator.hpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ' prof'
    - suf
    - name
    - ' begin'
    - end
    argTypes:
    - Xbyak::util::Profiler
    - char*
    - char*
    - T
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: mcl::setFuncInfo
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mcl::set
    - std::string
    - c_str
    linkageType: ''
    returnType: void
    signature: void setFuncInfo(Xbyak::util::Profiler& prof, const char *suf, const
      char *name, const T& begin, const uint8_t* end)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p'
    - m
    argTypes:
    - Xbyak::util::Pack
    - Xbyak::RegExp*
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: mcl::XReg::XReg
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XReg(const Xbyak::util::Pack& p, const Xbyak::RegExp *m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: mcl::XReg::isReg
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool isReg(size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: '& getReg(size_t i) const'
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Xbyak::Reg64
    signature: Xbyak::Reg64 & getReg(size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: mcl::XReg::getMem
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Xbyak::Address
    signature: Xbyak::Address getMem(size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - r
    - m
    - offset
    argTypes:
    - Xbyak::Reg64*
    - Xbyak::RegExp*
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: mcl::fp_gen_local::MemReg::MemReg
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemReg(const Xbyak::Reg64 *r, const Xbyak::RegExp *m, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: mcl::fp_gen_local::MemReg::isReg
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isReg() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: '& getReg() const'
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Xbyak::Reg64
    signature: Xbyak::Reg64 & getReg() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: mcl::fp_gen_local::MemReg::getMem
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Xbyak::RegExp
    signature: Xbyak::RegExp getMem() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: mcl::fp_gen_local::MixPack
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MixPack()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp_gen_local::init
      Src: /src/mcl/src/fp_generator.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' remain'
    - ' rspPos'
    - n
    argTypes:
    - Xbyak::util::Pack
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: mcl::fp_gen_local::MixPack
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp_gen_local::init
    linkageType: ''
    returnType: void
    signature: void MixPack(Xbyak::util::Pack& remain, size_t& rspPos, size_t n, size_t
      useRegNum = useAll)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:132,1
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' remain'
    - ' rspPos'
    - n
    argTypes:
    - Xbyak::util::Pack
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: mcl::fp_gen_local::init
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - sub
    linkageType: ''
    returnType: void
    signature: void init(Xbyak::util::Pack& remain, size_t& rspPos, size_t n, size_t
      useRegNum = useAll)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp_gen_local::size
      Src: /src/mcl/src/fp_generator.hpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: mcl::fp_gen_local::size
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp_gen_local::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp_gen_local::size
      Src: /src/mcl/src/fp_generator.hpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: mcl::fp_gen_local::isReg
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp_gen_local::size
    linkageType: ''
    returnType: bool
    signature: bool isReg(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:140,1
    - Dst: mcl::fp_gen_local::size
      Src: /src/mcl/src/fp_generator.hpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: '& getReg(size_t n) const'
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - assert
    - mcl::fp_gen_local::size
    linkageType: ''
    returnType: Xbyak::Reg64
    signature: Xbyak::Reg64 & getReg(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:146,1
    - Dst: mcl::fp_gen_local::size
      Src: /src/mcl/src/fp_generator.hpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: mcl::fp_gen_local::getMem
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - assert
    - mcl::fp_gen_local::size
    linkageType: ''
    returnType: Xbyak::RegExp
    signature: Xbyak::RegExp getMem(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MemReg
      Src: /src/mcl/src/fp_generator.hpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: operator[](size_t n) const
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - MemReg
    linkageType: ''
    returnType: MemReg
    signature: MemReg operator[](size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:156,1
    - Dst: mcl::fp_gen_local::size
      Src: /src/mcl/src/fp_generator.hpp:156,1
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:160,1
    - Dst: mcl::fp_gen_local::size
      Src: /src/mcl/src/fp_generator.hpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: mcl::fp_gen_local::removeLast
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - assert
    - mcl::fp_gen_local::size
    - sub
    linkageType: ''
    returnType: void
    signature: void removeLast()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/mcl/src/fp_generator.hpp:169,1
    - Dst: Xbyak::CodeGenerator*::mov
      Src: /src/mcl/src/fp_generator.hpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - code
    - ' r'
    argTypes:
    - Xbyak::CodeGenerator*
    - Xbyak::Reg64
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: mcl::fp_gen_local::replaceMemWith
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - Xbyak::CodeGenerator*::mov
    - append
    linkageType: ''
    returnType: bool
    signature: bool replaceMemWith(Xbyak::CodeGenerator *code, const Xbyak::Reg64&
      r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - FpByte
    - ' r'
    argTypes:
    - int
    - Reg64
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: mcl::fp::Ext1
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ext1(int FpByte, const Reg64& r, int n = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 227
    functionName: operator RegExp() const
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator RegExp() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - FpByte
    - ' r'
    argTypes:
    - int
    - Reg64
    constantsTouched: []
    func_position:
      end: 243
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 243
    functionName: mcl::fp::Ext2
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ext2(int FpByte, const Reg64& r, int n = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: operator RegExp() const
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator RegExp() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 321
    functionName: mcl::fp::FpGenerator
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FpGenerator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/mcl/src/fp_generator.hpp:327,1
    - Dst: setProtectModeRW
      Src: /src/mcl/src/fp_generator.hpp:329,1
    - Dst: mcl::fp::init_inner
      Src: /src/mcl/src/fp_generator.hpp:331,1
    - Dst: Xbyak::GetError
      Src: /src/mcl/src/fp_generator.hpp:333,1
    - Dst: hasUndefinedLabel
      Src: /src/mcl/src/fp_generator.hpp:335,1
    - Dst: fprintf
      Src: /src/mcl/src/fp_generator.hpp:336,1
    - Dst: exit
      Src: /src/mcl/src/fp_generator.hpp:337,1
    - Dst: setProtectModeRE
      Src: /src/mcl/src/fp_generator.hpp:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Op
    constantsTouched: []
    func_position:
      end: 346
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 346
    functionName: mcl::fp::init
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    - reset
    - Xbyak::GetError
    - setProtectModeRW
    - hasUndefinedLabel
    - setProtectModeRE
    - mcl::fp::init_inner
    linkageType: ''
    returnType: bool
    signature: bool init(Op& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:352,1
    - Dst: reinterpret_cast<const uint64_t*>
      Src: /src/mcl/src/fp_generator.hpp:353,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:353,1
    - Dst: dq
      Src: /src/mcl/src/fp_generator.hpp:355,1
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:357,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:358,1
    - Dst: dq
      Src: /src/mcl/src/fp_generator.hpp:360,1
    - Dst: makeGNUstackSection
      Src: /src/mcl/src/fp_generator.hpp:364,1
    - Dst: dumpData
      Src: /src/mcl/src/fp_generator.hpp:367,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:367,1
    - Dst: mcl::bint::getMontgomeryCoeff
      Src: /src/mcl/src/fp_generator.hpp:369,1
    - Dst: mcl::fp::init
      Src: /src/mcl/src/fp_generator.hpp:384,1
    - Dst: setStartAddr
      Src: /src/mcl/src/fp_generator.hpp:385,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:385,1
    - Dst: mcl::fp::gen_addSubPre
      Src: /src/mcl/src/fp_generator.hpp:391,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:392,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:392,1
    - Dst: mcl::fp::gen_addSubPre
      Src: /src/mcl/src/fp_generator.hpp:395,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:396,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:396,1
    - Dst: mcl::fp::gen_fp_add
      Src: /src/mcl/src/fp_generator.hpp:399,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:400,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:400,1
    - Dst: mcl::fp::gen_fp_sub
      Src: /src/mcl/src/fp_generator.hpp:403,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:404,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:404,1
    - Dst: mcl::fp::gen_shr1
      Src: /src/mcl/src/fp_generator.hpp:407,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:408,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:408,1
    - Dst: mcl::fp::gen_mul2
      Src: /src/mcl/src/fp_generator.hpp:411,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:412,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:412,1
    - Dst: mcl::fp::gen_fp_neg
      Src: /src/mcl/src/fp_generator.hpp:415,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:416,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:416,1
    - Dst: mcl::fp::gen_fpDbl_mod
      Src: /src/mcl/src/fp_generator.hpp:418,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:419,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:419,1
    - Dst: mcl::fp::gen_preInv
      Src: /src/mcl/src/fp_generator.hpp:422,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:423,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:423,1
    - Dst: mcl::fp::gen_fpDbl_mulPre
      Src: /src/mcl/src/fp_generator.hpp:427,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:428,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:428,1
    - Dst: mcl::fp::gen_fpDbl_sqrPre
      Src: /src/mcl/src/fp_generator.hpp:431,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:432,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:432,1
    - Dst: mcl::fp::gen_mul
      Src: /src/mcl/src/fp_generator.hpp:434,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:435,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:435,1
    - Dst: fp::func_ptr_cast<void4u>
      Src: /src/mcl/src/fp_generator.hpp:436,1
    - Dst: mcl::fp::gen_sqr
      Src: /src/mcl/src/fp_generator.hpp:439,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:440,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:440,1
    - Dst: mcl::fp::gen_fpDbl_add
      Src: /src/mcl/src/fp_generator.hpp:444,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:445,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:445,1
    - Dst: mcl::fp::gen_fpDbl_sub
      Src: /src/mcl/src/fp_generator.hpp:448,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:449,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:449,1
    - Dst: mcl::fp::gen_addSubPre
      Src: /src/mcl/src/fp_generator.hpp:452,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:453,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:453,1
    - Dst: mcl::fp::gen_addSubPre
      Src: /src/mcl/src/fp_generator.hpp:456,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:457,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:457,1
    - Dst: mcl::fp::gen_fp2_add
      Src: /src/mcl/src/fp_generator.hpp:460,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:461,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:461,1
    - Dst: mcl::fp::gen_fp2_sub
      Src: /src/mcl/src/fp_generator.hpp:464,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:465,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:465,1
    - Dst: mcl::fp::gen_fp2_neg
      Src: /src/mcl/src/fp_generator.hpp:468,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:469,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:469,1
    - Dst: mcl::fp::gen_fp2_mul2
      Src: /src/mcl/src/fp_generator.hpp:472,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:473,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:473,1
    - Dst: mcl::fp::gen_fp2Dbl_mulPre
      Src: /src/mcl/src/fp_generator.hpp:477,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:478,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:478,1
    - Dst: mcl::fp::gen_fp2Dbl_sqrPre
      Src: /src/mcl/src/fp_generator.hpp:481,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:482,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:482,1
    - Dst: mcl::fp::gen_fp2Dbl_mul_xi
      Src: /src/mcl/src/fp_generator.hpp:485,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:486,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:486,1
    - Dst: mcl::fp::gen_fp2_mul
      Src: /src/mcl/src/fp_generator.hpp:489,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:490,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:490,1
    - Dst: mcl::fp::gen_fp2_sqr
      Src: /src/mcl/src/fp_generator.hpp:493,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:494,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:494,1
    - Dst: mcl::fp::gen_fp2_mul_xi
      Src: /src/mcl/src/fp_generator.hpp:497,1
    - Dst: setFuncInfo
      Src: /src/mcl/src/fp_generator.hpp:498,1
    - Dst: getCurr
      Src: /src/mcl/src/fp_generator.hpp:498,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 116
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Op
    constantsTouched: []
    func_position:
      end: 500
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 500
    functionName: mcl::fp::init_inner
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::gen_fpDbl_sqrPre
    - align
    - getCurr
    - mcl::fp::gen_sqr
    - dq
    - mcl::fp::gen_fp2Dbl_mulPre
    - mcl::fp::gen_fp2Dbl_sqrPre
    - mcl::fp::gen_fpDbl_mulPre
    - reinterpret_cast<const uint64_t*>
    - mcl::fp::gen_fp2_sqr
    - mcl::fp::gen_fp_sub
    - L
    - mcl::fp::gen_mul2
    - makeGNUstackSection
    - mcl::fp::gen_fp2_mul
    - setFuncInfo
    - mcl::fp::gen_fp_neg
    - fp::func_ptr_cast<void4u>
    - mcl::fp::gen_addSubPre
    - mcl::fp::gen_shr1
    - mcl::fp::gen_fp2_sub
    - mcl::fp::gen_fp2_mul2
    - dumpData
    - mcl::fp::gen_preInv
    - mcl::fp::gen_mul
    - mcl::fp::gen_fp2_neg
    - setStartAddr
    - mcl::fp::gen_fpDbl_add
    - mcl::fp::gen_fp2_add
    - mcl::bint::getMontgomeryCoeff
    - mcl::fp::init
    - mcl::fp::gen_fp_add
    - mcl::fp::gen_fp2Dbl_mul_xi
    - mcl::fp::gen_fp2_mul_xi
    - mcl::fp::gen_fpDbl_mod
    - mcl::fp::gen_fpDbl_sub
    linkageType: ''
    returnType: void
    signature: void init_inner(Op& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:505,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' t1'
    - ' t2'
    - noCF
    argTypes:
    - T1
    - T2
    - bool
    constantsTouched: []
    func_position:
      end: 509
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 509
    functionName: mcl::fp::add_ex
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - add
    - adc
    linkageType: ''
    returnType: void
    signature: void add_ex(const T1& t1, const T2& t2, bool noCF)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:514,1
    - Dst: sbb
      Src: /src/mcl/src/fp_generator.hpp:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' t1'
    - ' t2'
    - noCF
    argTypes:
    - T1
    - T2
    - bool
    constantsTouched: []
    func_position:
      end: 518
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 518
    functionName: mcl::fp::sub_ex
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - sbb
    - sub
    linkageType: ''
    returnType: void
    signature: void sub_ex(const T1& t1, const T2& t2, bool noCF)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:521,1
    - Dst: getCurr<u3u>
      Src: /src/mcl/src/fp_generator.hpp:522,1
    - Dst: mcl::fp::gen_raw_add
      Src: /src/mcl/src/fp_generator.hpp:525,1
    - Dst: mcl::fp::gen_raw_sub
      Src: /src/mcl/src/fp_generator.hpp:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ' func'
    - isAdd
    - n
    argTypes:
    - u3u
    - bool
    - int
    constantsTouched: []
    func_position:
      end: 530
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 530
    functionName: mcl::fp::gen_addSubPre
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::gen_raw_sub
    - align
    - getCurr<u3u>
    - mcl::fp::gen_raw_add
    linkageType: ''
    returnType: bool
    signature: bool gen_addSubPre(u3u& func, bool isAdd, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:537,1
    - Dst: mcl::fp::add_ex
      Src: /src/mcl/src/fp_generator.hpp:538,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ' pz'
    - ' px'
    - ' py'
    - ' t'
    - n
    argTypes:
    - RegExp
    - RegExp
    - RegExp
    - Reg64
    - int
    constantsTouched: []
    func_position:
      end: 541
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 541
    functionName: mcl::fp::gen_raw_add
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::add_ex
    - mov
    linkageType: ''
    returnType: void
    signature: void gen_raw_add(const RegExp& pz, const RegExp& px, const RegExp&
      py, const Reg64& t, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:547,1
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:548,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:549,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:551,1
    - Dst: sbb
      Src: /src/mcl/src/fp_generator.hpp:552,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - ' pz'
    - ' px'
    - ' py'
    - ' t'
    - n
    argTypes:
    - RegExp
    - RegExp
    - RegExp
    - Reg64
    - int
    constantsTouched: []
    func_position:
      end: 555
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 555
    functionName: mcl::fp::gen_raw_sub
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - sbb
    - mov
    - sub
    linkageType: ''
    returnType: void
    signature: void gen_raw_sub(const RegExp& pz, const RegExp& px, const RegExp&
      py, const Reg64& t, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Label::Label
      Src: /src/mcl/src/fp_generator.hpp:562,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:563,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:564,1
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:565,1
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:566,1
    - Dst: or_
      Src: /src/mcl/src/fp_generator.hpp:567,1
    - Dst: test
      Src: /src/mcl/src/fp_generator.hpp:570,1
    - Dst: jnz
      Src: /src/mcl/src/fp_generator.hpp:572,1
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:574,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:575,1
    - Dst: jmp
      Src: /src/mcl/src/fp_generator.hpp:577,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:578,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:579,1
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:580,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:581,1
    - Dst: mcl::fp::sub_ex
      Src: /src/mcl/src/fp_generator.hpp:582,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:583,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:585,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - ' pz'
    - ' px'
    - ' t'
    argTypes:
    - RegExp
    - RegExp
    - Pack
    constantsTouched: []
    func_position:
      end: 586
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 586
    functionName: mcl::fp::gen_raw_neg
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - lea
    - mcl::fp::sub_ex
    - L
    - size
    - jnz
    - mcl::fp::load_rm
    - test
    - jmp
    - mov
    - or_
    - Label::Label
    linkageType: ''
    returnType: void
    signature: void gen_raw_neg(const RegExp& pz, const RegExp& px, const Pack& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:596,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:597,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:598,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:602,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:603,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:604,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:605,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:606,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:607,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:608,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:609,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:610,1
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:613,1
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:613,1
    - Dst: isReg
      Src: /src/mcl/src/fp_generator.hpp:613,1
    - Dst: getReg
      Src: /src/mcl/src/fp_generator.hpp:614,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:616,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:617,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:618,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:622,1
    - Dst: mcl::fp::add_ex
      Src: /src/mcl/src/fp_generator.hpp:623,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:624,1
    - Dst: std::swap
      Src: /src/mcl/src/fp_generator.hpp:625,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:627,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:628,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:629,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:630,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 6
    argNames:
    - ' pz'
    - ' px'
    - ' y'
    - ' wk'
    - ' t'
    - n
    argTypes:
    - RegExp
    - RegExp
    - Reg64
    - MixPack
    - Reg64
    - size_t
    constantsTouched: []
    func_position:
      end: 631
      start: 593
    functionDepth: 2
    functionLinenumber: 593
    functionLinenumberEnd: 631
    functionName: mcl::fp::gen_raw_mulUnit
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - add
    - mcl::fp::add_ex
    - isReg
    - mulx
    - assert
    - getReg
    - size
    - std::swap
    - adc
    - mov
    - mul
    linkageType: ''
    returnType: void
    signature: void gen_raw_mulUnit(const RegExp& pz, const RegExp& px, const Reg64&
      y, const MixPack& wk, const Reg64& t, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StackFrame::t::sub
      Src: /src/mcl/src/fp_generator.hpp:642,1
    - Dst: mcl::fp::gen_raw_mulUnit
      Src: /src/mcl/src/fp_generator.hpp:644,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 646
      start: 632
    functionDepth: 3
    functionLinenumber: 632
    functionLinenumberEnd: 646
    functionName: mcl::fp::gen_mulUnit
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - StackFrame::t::sub
    - mov
    - mcl::fp::gen_raw_mulUnit
    linkageType: ''
    returnType: void
    signature: void gen_mulUnit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:653,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' pz'
    - ' px'
    - ' t'
    - n
    argTypes:
    - RegExp
    - RegExp
    - Reg64
    - int
    constantsTouched: []
    func_position:
      end: 656
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 656
    functionName: mcl::fp::mov_mm
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mov
    linkageType: ''
    returnType: void
    signature: void mov_mm(const RegExp& pz, const RegExp& px, const Reg64& t, int
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isReg
      Src: /src/mcl/src/fp_generator.hpp:660,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:661,1
    - Dst: getReg
      Src: /src/mcl/src/fp_generator.hpp:661,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:663,1
    - Dst: getMem
      Src: /src/mcl/src/fp_generator.hpp:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' xr'
    - ' p'
    - n
    argTypes:
    - XReg
    - Pack
    - int
    constantsTouched: []
    func_position:
      end: 666
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 666
    functionName: mcl::fp::mov_xp
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mov
    - getReg
    - getMem
    - isReg
    linkageType: ''
    returnType: void
    signature: void mov_xp(const XReg& xr, const Pack& p, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isReg
      Src: /src/mcl/src/fp_generator.hpp:670,1
    - Dst: cmovc
      Src: /src/mcl/src/fp_generator.hpp:671,1
    - Dst: getReg
      Src: /src/mcl/src/fp_generator.hpp:671,1
    - Dst: cmovc
      Src: /src/mcl/src/fp_generator.hpp:673,1
    - Dst: getMem
      Src: /src/mcl/src/fp_generator.hpp:673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' p'
    - ' xr'
    - n
    argTypes:
    - Pack
    - XReg
    - int
    constantsTouched: []
    func_position:
      end: 676
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 676
    functionName: mcl::fp::cmovc_px
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - getReg
    - getMem
    - isReg
    - cmovc
    linkageType: ''
    returnType: void
    signature: void cmovc_px(const Pack& p, const XReg& xr, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::mov_xp
      Src: /src/mcl/src/fp_generator.hpp:685,1
    - Dst: mcl::fp::sub_rm
      Src: /src/mcl/src/fp_generator.hpp:686,1
    - Dst: sbb
      Src: /src/mcl/src/fp_generator.hpp:688,1
    - Dst: mcl::fp::cmovc_px
      Src: /src/mcl/src/fp_generator.hpp:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' x'
    - ' p'
    - ' xr'
    argTypes:
    - Pack
    - ADDR
    - XReg
    constantsTouched: []
    func_position:
      end: 691
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 691
    functionName: mcl::fp::sub_p_mod3
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - sbb
    - mcl::fp::mov_xp
    - mcl::fp::sub_rm
    - mcl::fp::cmovc_px
    linkageType: ''
    returnType: void
    signature: void sub_p_mod3(const Pack& x, const ADDR& p, const XReg& xr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:694,1
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:695,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:696,1
    - Dst: mcl::fp::add_rm
      Src: /src/mcl/src/fp_generator.hpp:697,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:699,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:700,1
    - Dst: mcl::fp::sub_p_mod3
      Src: /src/mcl/src/fp_generator.hpp:703,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ' pz'
    - ' px'
    - ' py'
    - ' t'
    argTypes:
    - RegExp
    - RegExp
    - RegExp
    - Pack
    constantsTouched: []
    func_position:
      end: 705
      start: 692
    functionDepth: 3
    functionLinenumber: 692
    functionLinenumberEnd: 705
    functionName: mcl::fp::gen_raw_fp_add
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - sub
    - mcl::fp::store_mr
    - mcl::fp::add_rm
    - mcl::fp::sub_p_mod3
    - mcl::fp::load_rm
    - adc
    - mov
    linkageType: ''
    returnType: void
    signature: void gen_raw_fp_add(const RegExp& pz, const RegExp& px, const RegExp&
      py, const Pack& t, bool withCarry = false, const Reg64 *H = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:708,1
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:709,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:711,1
    - Dst: mcl::fp::add_rm
      Src: /src/mcl/src/fp_generator.hpp:712,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:714,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:715,1
    - Dst: mcl::fp::sub_p_mod3
      Src: /src/mcl/src/fp_generator.hpp:717,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:718,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ' pz'
    - ' px'
    - ' py'
    - ' t'
    argTypes:
    - RegExp
    - RegExp
    - RegExp
    - Pack
    constantsTouched: []
    func_position:
      end: 719
      start: 706
    functionDepth: 3
    functionLinenumber: 706
    functionLinenumberEnd: 719
    functionName: mcl::fp::gen_raw_fp_add2
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - sub
    - mcl::fp::store_mr
    - mcl::fp::add_rm
    - mcl::fp::sub_p_mod3
    - mcl::fp::load_rm
    - adc
    - mov
    linkageType: ''
    returnType: void
    signature: void gen_raw_fp_add2(const RegExp& pz, const RegExp& px, const RegExp&
      py, const Pack& t, bool withCarry = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:722,1
    - Dst: getCurr<void3u>
      Src: /src/mcl/src/fp_generator.hpp:723,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:731,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:732,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:734,1
    - Dst: mcl::fp::gen_raw_fp_add2
      Src: /src/mcl/src/fp_generator.hpp:736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void3u
    constantsTouched: []
    func_position:
      end: 738
      start: 720
    functionDepth: 4
    functionLinenumber: 720
    functionLinenumberEnd: 738
    functionName: mcl::fp::gen_fp_add
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - align
    - mcl::fp::gen_raw_fp_add2
    - getCurr<void3u>
    - Pack::append
    linkageType: ''
    returnType: bool
    signature: bool gen_fp_add(void3u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:742,1
    - Dst: getCurr<void3u>
      Src: /src/mcl/src/fp_generator.hpp:743,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:753,1
    - Dst: mcl::fp::gen_raw_add
      Src: /src/mcl/src/fp_generator.hpp:755,1
    - Dst: mcl::fp::gen_raw_fp_add
      Src: /src/mcl/src/fp_generator.hpp:756,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void3u
    constantsTouched: []
    func_position:
      end: 758
      start: 739
    functionDepth: 4
    functionLinenumber: 739
    functionLinenumberEnd: 758
    functionName: mcl::fp::gen_fpDbl_add
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - getCurr<void3u>
    - mcl::fp::gen_raw_fp_add
    - mcl::fp::gen_raw_add
    - Pack::append
    - align
    linkageType: ''
    returnType: bool
    signature: bool gen_fpDbl_add(void3u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:762,1
    - Dst: getCurr<void3u>
      Src: /src/mcl/src/fp_generator.hpp:763,1
    - Dst: mcl::fp::gen_raw_sub
      Src: /src/mcl/src/fp_generator.hpp:770,1
    - Dst: mcl::fp::gen_raw_fp_sub
      Src: /src/mcl/src/fp_generator.hpp:771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void3u
    constantsTouched: []
    func_position:
      end: 773
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 773
    functionName: mcl::fp::gen_fpDbl_sub
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::gen_raw_sub
    - align
    - getCurr<void3u>
    - mcl::fp::gen_raw_fp_sub
    linkageType: ''
    returnType: bool
    signature: bool gen_fpDbl_sub(void3u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:777,1
    - Dst: Pack::size
      Src: /src/mcl/src/fp_generator.hpp:777,1
    - Dst: Pack::sub
      Src: /src/mcl/src/fp_generator.hpp:779,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:780,1
    - Dst: mcl::fp::sub_rm
      Src: /src/mcl/src/fp_generator.hpp:781,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:782,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:783,1
    - Dst: cmovc
      Src: /src/mcl/src/fp_generator.hpp:784,1
    - Dst: mcl::fp::add_rm
      Src: /src/mcl/src/fp_generator.hpp:785,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ' pz'
    - ' px'
    - ' py'
    - t
    - withCarry
    argTypes:
    - RegExp
    - RegExp
    - RegExp
    - Pack
    - bool
    constantsTouched: []
    func_position:
      end: 787
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 787
    functionName: mcl::fp::gen_raw_fp_sub
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - lea
    - mcl::fp::sub_rm
    - mcl::fp::store_mr
    - assert
    - Pack::sub
    - Pack::size
    - mcl::fp::add_rm
    - mcl::fp::load_rm
    - cmovc
    linkageType: ''
    returnType: void
    signature: void gen_raw_fp_sub(const RegExp& pz, const RegExp& px, const RegExp&
      py, Pack t, bool withCarry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:790,1
    - Dst: getCurr<void3u>
      Src: /src/mcl/src/fp_generator.hpp:791,1
    - Dst: mcl::fp::gen_raw_fp_sub
      Src: /src/mcl/src/fp_generator.hpp:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void3u
    constantsTouched: []
    func_position:
      end: 803
      start: 788
    functionDepth: 2
    functionLinenumber: 788
    functionLinenumberEnd: 803
    functionName: mcl::fp::gen_fp_sub
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - align
    - getCurr<void3u>
    - mcl::fp::gen_raw_fp_sub
    linkageType: ''
    returnType: bool
    signature: bool gen_fp_sub(void3u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:806,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:807,1
    - Dst: mcl::fp::gen_raw_neg
      Src: /src/mcl/src/fp_generator.hpp:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void2u
    constantsTouched: []
    func_position:
      end: 811
      start: 804
    functionDepth: 3
    functionLinenumber: 804
    functionLinenumberEnd: 811
    functionName: mcl::fp::gen_fp_neg
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - align
    - mcl::fp::gen_raw_neg
    - getCurr<void2u>
    linkageType: ''
    returnType: bool
    signature: bool gen_fp_neg(void2u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:814,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:815,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:822,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:824,1
    - Dst: shrd
      Src: /src/mcl/src/fp_generator.hpp:825,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:826,1
    - Dst: std::swap
      Src: /src/mcl/src/fp_generator.hpp:827,1
    - Dst: shr
      Src: /src/mcl/src/fp_generator.hpp:829,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void2u
    constantsTouched: []
    func_position:
      end: 832
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 832
    functionName: mcl::fp::gen_shr1
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - shrd
    - getCurr<void2u>
    - std::swap
    - align
    - mov
    - shr
    linkageType: ''
    returnType: bool
    signature: bool gen_shr1(void2u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:839,1
    - Dst: shr
      Src: /src/mcl/src/fp_generator.hpp:840,1
    - Dst: shld
      Src: /src/mcl/src/fp_generator.hpp:843,1
    - Dst: shl
      Src: /src/mcl/src/fp_generator.hpp:845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Pack
    constantsTouched: []
    func_position:
      end: 846
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 846
    functionName: mcl::fp::shl1
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mov
    - shr
    - shld
    - shl
    linkageType: ''
    returnType: void
    signature: void shl1(const Pack& x, const Reg64 *H = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::mov_rr
      Src: /src/mcl/src/fp_generator.hpp:853,1
    - Dst: mcl::fp::sub_rm
      Src: /src/mcl/src/fp_generator.hpp:854,1
    - Dst: sbb
      Src: /src/mcl/src/fp_generator.hpp:856,1
    - Dst: mcl::fp::cmovc_rr
      Src: /src/mcl/src/fp_generator.hpp:858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' y'
    - ' x'
    - ' p'
    argTypes:
    - Pack
    - Pack
    - ADDR
    constantsTouched: []
    func_position:
      end: 859
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 859
    functionName: mcl::fp::sub_p_mod
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::mov_rr
    - sbb
    - mcl::fp::sub_rm
    - mcl::fp::cmovc_rr
    linkageType: ''
    returnType: void
    signature: void sub_p_mod(const Pack& y, const Pack& x, const ADDR& p, const Reg64
      *H = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:863,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:864,1
    - Dst: StackFrame::t::sub
      Src: /src/mcl/src/fp_generator.hpp:867,1
    - Dst: StackFrame::t::sub
      Src: /src/mcl/src/fp_generator.hpp:868,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:869,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:870,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:871,1
    - Dst: mcl::fp::shl1
      Src: /src/mcl/src/fp_generator.hpp:874,1
    - Dst: mcl::fp::sub_p_mod
      Src: /src/mcl/src/fp_generator.hpp:875,1
    - Dst: mcl::fp::shl1
      Src: /src/mcl/src/fp_generator.hpp:877,1
    - Dst: mcl::fp::sub_p_mod
      Src: /src/mcl/src/fp_generator.hpp:878,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void2u
    constantsTouched: []
    func_position:
      end: 882
      start: 860
    functionDepth: 2
    functionLinenumber: 860
    functionLinenumberEnd: 882
    functionName: mcl::fp::gen_mul2
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - lea
    - StackFrame::t::sub
    - mcl::fp::store_mr
    - getCurr<void2u>
    - mcl::fp::sub_p_mod
    - Pack::append
    - align
    - mcl::fp::load_rm
    - mcl::fp::shl1
    linkageType: ''
    returnType: bool
    signature: bool gen_mul2(void2u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:886,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:887,1
    - Dst: StackFrame::t::sub
      Src: /src/mcl/src/fp_generator.hpp:890,1
    - Dst: StackFrame::t::sub
      Src: /src/mcl/src/fp_generator.hpp:891,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:892,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:894,1
    - Dst: mcl::fp::shl1
      Src: /src/mcl/src/fp_generator.hpp:895,1
    - Dst: mcl::fp::sub_p_mod
      Src: /src/mcl/src/fp_generator.hpp:896,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:897,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void2u
    constantsTouched: []
    func_position:
      end: 900
      start: 883
    functionDepth: 2
    functionLinenumber: 883
    functionLinenumberEnd: 900
    functionName: mcl::fp::gen_fp2_mul2
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - lea
    - StackFrame::t::sub
    - mcl::fp::store_mr
    - getCurr<void2u>
    - mcl::fp::sub_p_mod
    - align
    - mcl::fp::load_rm
    - mcl::fp::shl1
    linkageType: ''
    returnType: bool
    signature: bool gen_fp2_mul2(void2u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:903,1
    - Dst: getCurr<void3u>
      Src: /src/mcl/src/fp_generator.hpp:905,1
    - Dst: mcl::fp::mulPre3
      Src: /src/mcl/src/fp_generator.hpp:907,1
    - Dst: mcl::fp::fpDbl_mod_NIST_P192
      Src: /src/mcl/src/fp_generator.hpp:908,1
    - Dst: getCurr<void3u>
      Src: /src/mcl/src/fp_generator.hpp:912,1
    - Dst: mcl::fp::mulPre4
      Src: /src/mcl/src/fp_generator.hpp:914,1
    - Dst: mcl::fp::gen_fpDbl_mod_SECP256K1
      Src: /src/mcl/src/fp_generator.hpp:915,1
    - Dst: getCurr<void3u>
      Src: /src/mcl/src/fp_generator.hpp:919,1
    - Dst: mcl::fp::gen_montMul3
      Src: /src/mcl/src/fp_generator.hpp:920,1
    - Dst: getCurr<void3u>
      Src: /src/mcl/src/fp_generator.hpp:924,1
    - Dst: mcl::fp::gen_montMul4
      Src: /src/mcl/src/fp_generator.hpp:925,1
    - Dst: getCurr<void3u>
      Src: /src/mcl/src/fp_generator.hpp:929,1
    - Dst: mcl::fp::gen_montMul6
      Src: /src/mcl/src/fp_generator.hpp:932,1
    - Dst: getAddress
      Src: /src/mcl/src/fp_generator.hpp:934,1
    - Dst: getAddress
      Src: /src/mcl/src/fp_generator.hpp:934,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:941,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:942,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:943,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:944,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:945,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:946,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void3u
    constantsTouched: []
    func_position:
      end: 951
      start: 901
    functionDepth: 3
    functionLinenumber: 901
    functionLinenumberEnd: 951
    functionName: mcl::fp::gen_mul
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - getAddress
    - mcl::fp::gen_montMul3
    - mcl::fp::mulPre3
    - getCurr<void3u>
    - call
    - mcl::fp::gen_montMul4
    - align
    - mcl::fp::fpDbl_mod_NIST_P192
    - mcl::fp::mulPre4
    - vmovq
    - mov
    - mcl::fp::gen_fpDbl_mod_SECP256K1
    - mcl::fp::gen_montMul6
    linkageType: ''
    returnType: bool
    signature: bool gen_mul(void3u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:975,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:977,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:978,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:979,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:980,1
    - Dst: mcl::fp::mul2x1
      Src: /src/mcl/src/fp_generator.hpp:983,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:985,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:987,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:989,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:990,1
    - Dst: mcl::fp::add_rm
      Src: /src/mcl/src/fp_generator.hpp:991,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:991,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:994,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:997,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:998,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:999,1
    - Dst: mcl::fp::mul2x1
      Src: /src/mcl/src/fp_generator.hpp:1002,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:1004,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1004,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1004,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1007,1
    - Dst: mcl::fp::mov_rr
      Src: /src/mcl/src/fp_generator.hpp:1010,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1010,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1010,1
    - Dst: mcl::fp::sub_rm
      Src: /src/mcl/src/fp_generator.hpp:1011,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1011,1
    - Dst: sbb
      Src: /src/mcl/src/fp_generator.hpp:1013,1
    - Dst: mcl::fp::cmovc_rr
      Src: /src/mcl/src/fp_generator.hpp:1015,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1015,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1015,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:1016,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 1017
    functionName: mcl::fp::gen_fpDbl_mod2
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - add
    - lea
    - sbb
    - Pack
    - mcl::fp::sub_rm
    - mcl::fp::cmovc_rr
    - mcl::fp::store_mr
    - mcl::fp::mov_rr
    - mcl::fp::add_rm
    - adc
    - mcl::fp::add_rr
    - xor_
    - mov
    - mcl::fp::mul2x1
    - mul
    linkageType: ''
    returnType: void
    signature: void gen_fpDbl_mod2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1044,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1046,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:1047,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:1048,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1049,1
    - Dst: mcl::fp::mul3x1
      Src: /src/mcl/src/fp_generator.hpp:1052,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:1054,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:1055,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:1057,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1059,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:1060,1
    - Dst: mcl::fp::add_rm
      Src: /src/mcl/src/fp_generator.hpp:1061,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1061,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1064,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1067,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:1068,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1069,1
    - Dst: mcl::fp::mul3x1
      Src: /src/mcl/src/fp_generator.hpp:1072,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:1074,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1074,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1074,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1075,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1077,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1080,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:1081,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1082,1
    - Dst: mcl::fp::mul3x1
      Src: /src/mcl/src/fp_generator.hpp:1085,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:1087,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1087,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1087,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1090,1
    - Dst: mcl::fp::mov_rr
      Src: /src/mcl/src/fp_generator.hpp:1093,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1093,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1093,1
    - Dst: mcl::fp::sub_rm
      Src: /src/mcl/src/fp_generator.hpp:1094,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1094,1
    - Dst: sbb
      Src: /src/mcl/src/fp_generator.hpp:1096,1
    - Dst: mcl::fp::cmovc_rr
      Src: /src/mcl/src/fp_generator.hpp:1098,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1098,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1098,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:1099,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1099,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1023
    functionDepth: 1
    functionLinenumber: 1023
    functionLinenumberEnd: 1100
    functionName: mcl::fp::gen_fpDbl_mod3
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - add
    - lea
    - sbb
    - Pack
    - mcl::fp::mul3x1
    - mcl::fp::sub_rm
    - mcl::fp::cmovc_rr
    - mcl::fp::store_mr
    - mov
    - mcl::fp::add_rm
    - adc
    - mcl::fp::add_rr
    - mcl::fp::mov_rr
    - xor_
    - mul
    linkageType: ''
    returnType: void
    signature: void gen_fpDbl_mod3()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::gen_fpDbl_modNF
      Src: /src/mcl/src/fp_generator.hpp:1110,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:1128,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1129,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1131,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:1132,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:1133,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1134,1
    - Dst: mcl::fp::mul4x1
      Src: /src/mcl/src/fp_generator.hpp:1137,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:1139,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:1140,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:1141,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1142,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:1143,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1144,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1145,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1146,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1147,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1148,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1149,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1150,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1153,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1154,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:1155,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1160,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:1161,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1162,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:1164,1
    - Dst: mcl::fp::mul4x1
      Src: /src/mcl/src/fp_generator.hpp:1166,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:1167,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:1169,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1169,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1169,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1170,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1171,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:1173,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1174,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:1175,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1180,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:1181,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1182,1
    - Dst: mcl::fp::mul4x1
      Src: /src/mcl/src/fp_generator.hpp:1185,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:1187,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1187,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1187,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1188,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:1190,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1191,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1196,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:1197,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1198,1
    - Dst: mcl::fp::mul4x1
      Src: /src/mcl/src/fp_generator.hpp:1201,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:1203,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1203,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1203,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1206,1
    - Dst: mcl::fp::mov_rr
      Src: /src/mcl/src/fp_generator.hpp:1209,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1209,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1209,1
    - Dst: mcl::fp::sub_rm
      Src: /src/mcl/src/fp_generator.hpp:1210,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1210,1
    - Dst: sbb
      Src: /src/mcl/src/fp_generator.hpp:1212,1
    - Dst: cmovc
      Src: /src/mcl/src/fp_generator.hpp:1214,1
    - Dst: cmovc
      Src: /src/mcl/src/fp_generator.hpp:1215,1
    - Dst: cmovc
      Src: /src/mcl/src/fp_generator.hpp:1216,1
    - Dst: cmovc
      Src: /src/mcl/src/fp_generator.hpp:1217,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:1219,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:1220,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 72
    argCount: 3
    argNames:
    - ' z'
    - ' xy'
    - ' t'
    argTypes:
    - Reg64
    - Reg64
    - Pack
    constantsTouched: []
    func_position:
      end: 1221
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1221
    functionName: mcl::fp::gen_fpDbl_mod4
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::mul4x1
    - lea
    - add
    - Pack
    - mcl::fp::sub_rm
    - sbb
    - mcl::fp::store_mr
    - mcl::fp::gen_fpDbl_modNF
    - mcl::fp::mov_rr
    - cmovc
    - vmovq
    - adc
    - xor_
    - mov
    - mcl::fp::add_rr
    - mul
    linkageType: ''
    returnType: void
    signature: void gen_fpDbl_mod4(const Reg64& z, const Reg64& xy, const Pack& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:1224,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:1226,1
    - Dst: mcl::fp::fpDbl_mod_NIST_P192
      Src: /src/mcl/src/fp_generator.hpp:1228,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:1232,1
    - Dst: mcl::fp::gen_fpDbl_mod_SECP256K1
      Src: /src/mcl/src/fp_generator.hpp:1234,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:1239,1
    - Dst: mcl::fp::fpDbl_mod_NIST_P521
      Src: /src/mcl/src/fp_generator.hpp:1241,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:1246,1
    - Dst: mcl::fp::gen_fpDbl_mod2
      Src: /src/mcl/src/fp_generator.hpp:1247,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:1251,1
    - Dst: mcl::fp::gen_fpDbl_mod3
      Src: /src/mcl/src/fp_generator.hpp:1252,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:1256,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:1258,1
    - Dst: StackFrame::close
      Src: /src/mcl/src/fp_generator.hpp:1259,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:1260,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:1262,1
    - Dst: mcl::fp::gen_fpDbl_mod4
      Src: /src/mcl/src/fp_generator.hpp:1263,1
    - Dst: ret
      Src: /src/mcl/src/fp_generator.hpp:1264,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:1268,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:1270,1
    - Dst: StackFrame::close
      Src: /src/mcl/src/fp_generator.hpp:1271,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:1272,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:1274,1
    - Dst: mcl::fp::gen_fpDbl_modNF
      Src: /src/mcl/src/fp_generator.hpp:1275,1
    - Dst: ret
      Src: /src/mcl/src/fp_generator.hpp:1276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 2
    argNames:
    - ' func'
    - ' op'
    argTypes:
    - void2u
    - fp::Op
    constantsTouched: []
    func_position:
      end: 1280
      start: 1222
    functionDepth: 3
    functionLinenumber: 1222
    functionLinenumberEnd: 1280
    functionName: mcl::fp::gen_fpDbl_mod
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - StackFrame::close
    - mcl::fp::gen_fpDbl_mod2
    - ret
    - mcl::fp::gen_fpDbl_mod4
    - getCurr<void2u>
    - mcl::fp::gen_fpDbl_mod3
    - call
    - mcl::fp::gen_fpDbl_modNF
    - Pack::append
    - align
    - mcl::fp::fpDbl_mod_NIST_P192
    - L
    - mcl::fp::gen_fpDbl_mod_SECP256K1
    - mcl::fp::fpDbl_mod_NIST_P521
    linkageType: ''
    returnType: bool
    signature: bool gen_fpDbl_mod(void2u& func, const fp::Op& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:1283,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:1285,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:1288,1
    - Dst: mcl::fp::sqrPre3
      Src: /src/mcl/src/fp_generator.hpp:1289,1
    - Dst: mcl::fp::fpDbl_mod_NIST_P192
      Src: /src/mcl/src/fp_generator.hpp:1290,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:1294,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:1297,1
    - Dst: mcl::fp::sqrPre4
      Src: /src/mcl/src/fp_generator.hpp:1298,1
    - Dst: mcl::fp::gen_fpDbl_mod_SECP256K1
      Src: /src/mcl/src/fp_generator.hpp:1299,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:1303,1
    - Dst: mcl::fp::gen_montSqr3
      Src: /src/mcl/src/fp_generator.hpp:1304,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:1308,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1312,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1314,1
    - Dst: jmp
      Src: /src/mcl/src/fp_generator.hpp:1316,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:1320,1
    - Dst: mcl::fp::sqrPre4
      Src: /src/mcl/src/fp_generator.hpp:1321,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1322,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1323,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:1324,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:1329,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:1333,1
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:1335,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1336,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:1337,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:1338,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1339,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:1340,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:1341,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:1342,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:1347,1
    - Dst: mcl::fp::sqrPre6
      Src: /src/mcl/src/fp_generator.hpp:1348,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:1349,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:1350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 52
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void2u
    constantsTouched: []
    func_position:
      end: 1355
      start: 1281
    functionDepth: 3
    functionLinenumber: 1281
    functionLinenumberEnd: 1355
    functionName: mcl::fp::gen_sqr
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - add
    - lea
    - sub
    - getCurr<void2u>
    - mcl::fp::sqrPre3
    - call
    - mcl::fp::sqrPre6
    - Pack::append
    - align
    - mcl::fp::fpDbl_mod_NIST_P192
    - jmp
    - mcl::fp::sqrPre4
    - mov
    - mcl::fp::gen_fpDbl_mod_SECP256K1
    - mcl::fp::gen_montSqr3
    linkageType: ''
    returnType: bool
    signature: bool gen_sqr(void2u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:1364,1
    - Dst: StackFrame::close
      Src: /src/mcl/src/fp_generator.hpp:1365,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:1367,1
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:1369,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1370,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:1371,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:1372,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1373,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:1374,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:1375,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:1376,1
    - Dst: ret
      Src: /src/mcl/src/fp_generator.hpp:1377,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:1392,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:1393,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:1394,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:1395,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1396,1
    - Dst: mcl::fp::montgomery4_1
      Src: /src/mcl/src/fp_generator.hpp:1397,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:1399,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1400,1
    - Dst: mcl::fp::montgomery4_1
      Src: /src/mcl/src/fp_generator.hpp:1401,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:1403,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1404,1
    - Dst: mcl::fp::montgomery4_1
      Src: /src/mcl/src/fp_generator.hpp:1405,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:1407,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1408,1
    - Dst: mcl::fp::montgomery4_1
      Src: /src/mcl/src/fp_generator.hpp:1409,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1412,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1413,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1414,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1415,1
    - Dst: mcl::fp::sub_rm
      Src: /src/mcl/src/fp_generator.hpp:1416,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1416,1
    - Dst: sbb
      Src: /src/mcl/src/fp_generator.hpp:1417,1
    - Dst: cmovc
      Src: /src/mcl/src/fp_generator.hpp:1418,1
    - Dst: cmovc
      Src: /src/mcl/src/fp_generator.hpp:1419,1
    - Dst: cmovc
      Src: /src/mcl/src/fp_generator.hpp:1420,1
    - Dst: cmovc
      Src: /src/mcl/src/fp_generator.hpp:1421,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:1423,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:1424,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1424,1
    - Dst: ret
      Src: /src/mcl/src/fp_generator.hpp:1425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1361
    functionDepth: 3
    functionLinenumber: 1361
    functionLinenumberEnd: 1427
    functionName: mcl::fp::gen_montMul4
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - add
    - StackFrame::close
    - lea
    - ret
    - mcl::fp::sub_rm
    - Pack
    - sbb
    - sub
    - mcl::fp::store_mr
    - L
    - call
    - mcl::fp::montgomery4_1
    - cmovc
    - vmovq
    - mov
    linkageType: ''
    returnType: void
    signature: void gen_montMul4()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:1438,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:1440,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1443,1
    - Dst: adox
      Src: /src/mcl/src/fp_generator.hpp:1444,1
    - Dst: adcx
      Src: /src/mcl/src/fp_generator.hpp:1446,1
    - Dst: adox
      Src: /src/mcl/src/fp_generator.hpp:1448,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - ' c'
    - n
    - ' px'
    - ' t0'
    - is_cn_zero
    argTypes:
    - Pack
    - int
    - RegExp
    - Reg64
    - bool
    constantsTouched: []
    func_position:
      end: 1450
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1450
    functionName: mcl::fp::mulAdd
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - adox
    - adcx
    - mulx
    - adc
    - xor_
    linkageType: ''
    returnType: void
    signature: void mulAdd(const Pack& c, int n, const RegExp& px, const Reg64& t0,
      bool is_cn_zero)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:1458,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:1460,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1462,1
    - Dst: adox
      Src: /src/mcl/src/fp_generator.hpp:1463,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1464,1
    - Dst: adcx
      Src: /src/mcl/src/fp_generator.hpp:1466,1
    - Dst: adox
      Src: /src/mcl/src/fp_generator.hpp:1469,1
    - Dst: adox
      Src: /src/mcl/src/fp_generator.hpp:1470,1
    - Dst: adcx
      Src: /src/mcl/src/fp_generator.hpp:1471,1
    - Dst: setc
      Src: /src/mcl/src/fp_generator.hpp:1472,1
    - Dst: cvt8
      Src: /src/mcl/src/fp_generator.hpp:1472,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 6
    argNames:
    - ' c'
    - ' pxy'
    - ' pp'
    - ' tt'
    - ' CF'
    - addCF
    argTypes:
    - Pack
    - RegExp
    - RegExp
    - Reg64
    - Reg64
    - bool
    constantsTouched: []
    func_position:
      end: 1473
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1473
    functionName: mcl::fp::mulAdd2
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - adox
    - mulx
    - adcx
    - assert
    - mov
    - setc
    - xor_
    - cvt8
    linkageType: ''
    returnType: void
    signature: void mulAdd2(const Pack& c, const RegExp& pxy, const RegExp& pp, const
      Reg64& tt, const Reg64& CF, bool addCF, bool updateCF = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:1492,1
    - Dst: mcl::fp::mulPack1
      Src: /src/mcl/src/fp_generator.hpp:1497,1
    - Dst: mcl::fp::mulAdd
      Src: /src/mcl/src/fp_generator.hpp:1500,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1502,1
    - Dst: imul
      Src: /src/mcl/src/fp_generator.hpp:1503,1
    - Dst: mcl::fp::mulAdd
      Src: /src/mcl/src/fp_generator.hpp:1505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - ' c'
    - ' px'
    - ' pp'
    - ' t1'
    - isFirst
    argTypes:
    - Pack
    - RegExp
    - RegExp
    - Reg64
    - bool
    constantsTouched: []
    func_position:
      end: 1506
      start: 1490
    functionDepth: 2
    functionLinenumber: 1490
    functionLinenumberEnd: 1506
    functionName: mcl::fp::montgomery6_1
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - assert
    - mcl::fp::mulPack1
    - mcl::fp::mulAdd
    - imul
    - mov
    linkageType: ''
    returnType: void
    signature: void montgomery6_1(const Pack& c, const RegExp& px, const RegExp& pp,
      const Reg64& t1, bool isFirst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:1514,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:1516,1
    - Dst: StackFrame::close
      Src: /src/mcl/src/fp_generator.hpp:1517,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:1532,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:1533,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1534,1
    - Dst: mcl::fp::montgomery6_1
      Src: /src/mcl/src/fp_generator.hpp:1535,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1535,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1536,1
    - Dst: mcl::fp::montgomery6_1
      Src: /src/mcl/src/fp_generator.hpp:1537,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1537,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1538,1
    - Dst: mcl::fp::montgomery6_1
      Src: /src/mcl/src/fp_generator.hpp:1539,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1539,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1540,1
    - Dst: mcl::fp::montgomery6_1
      Src: /src/mcl/src/fp_generator.hpp:1541,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1541,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1542,1
    - Dst: mcl::fp::montgomery6_1
      Src: /src/mcl/src/fp_generator.hpp:1543,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1543,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1544,1
    - Dst: mcl::fp::montgomery6_1
      Src: /src/mcl/src/fp_generator.hpp:1545,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1545,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1547,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1548,1
    - Dst: mcl::fp::mov_rr
      Src: /src/mcl/src/fp_generator.hpp:1549,1
    - Dst: mcl::fp::sub_rm
      Src: /src/mcl/src/fp_generator.hpp:1550,1
    - Dst: mcl::fp::cmovc_rr
      Src: /src/mcl/src/fp_generator.hpp:1551,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:1552,1
    - Dst: ret
      Src: /src/mcl/src/fp_generator.hpp:1553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1512
    functionDepth: 3
    functionLinenumber: 1512
    functionLinenumberEnd: 1554
    functionName: mcl::fp::gen_montMul6
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - StackFrame::close
    - lea
    - mcl::fp::montgomery6_1
    - Pack
    - mcl::fp::sub_rm
    - ret
    - mcl::fp::cmovc_rr
    - mcl::fp::store_mr
    - assert
    - call
    - mov
    - mcl::fp::mov_rr
    - L
    linkageType: ''
    returnType: void
    signature: void gen_montMul6()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:1578,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:1579,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1580,1
    - Dst: mcl::fp::montgomery3_1
      Src: /src/mcl/src/fp_generator.hpp:1582,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1583,1
    - Dst: mcl::fp::montgomery3_1
      Src: /src/mcl/src/fp_generator.hpp:1584,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1586,1
    - Dst: mcl::fp::montgomery3_1
      Src: /src/mcl/src/fp_generator.hpp:1587,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1590,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1591,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1592,1
    - Dst: mcl::fp::sub_rm
      Src: /src/mcl/src/fp_generator.hpp:1593,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1593,1
    - Dst: sbb
      Src: /src/mcl/src/fp_generator.hpp:1594,1
    - Dst: cmovc
      Src: /src/mcl/src/fp_generator.hpp:1595,1
    - Dst: cmovc
      Src: /src/mcl/src/fp_generator.hpp:1596,1
    - Dst: cmovc
      Src: /src/mcl/src/fp_generator.hpp:1597,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:1598,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:1599,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1560
    functionDepth: 1
    functionLinenumber: 1560
    functionLinenumberEnd: 1600
    functionName: mcl::fp::gen_montMul3
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - sbb
    - lea
    - Pack
    - mcl::fp::sub_rm
    - mcl::fp::store_mr
    - mcl::fp::montgomery3_1
    - cmovc
    - vmovq
    - mov
    linkageType: ''
    returnType: void
    signature: void gen_montMul3()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:1624,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:1625,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1626,1
    - Dst: mcl::fp::mul3x1_sqr1
      Src: /src/mcl/src/fp_generator.hpp:1627,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1628,1
    - Dst: mcl::fp::montgomery3_sub
      Src: /src/mcl/src/fp_generator.hpp:1629,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1631,1
    - Dst: mcl::fp::mul3x1_sqr2
      Src: /src/mcl/src/fp_generator.hpp:1632,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:1633,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1633,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1633,1
    - Dst: setc
      Src: /src/mcl/src/fp_generator.hpp:1634,1
    - Dst: cvt8
      Src: /src/mcl/src/fp_generator.hpp:1634,1
    - Dst: mcl::fp::montgomery3_sub
      Src: /src/mcl/src/fp_generator.hpp:1635,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1637,1
    - Dst: mcl::fp::mul3x1_sqr3
      Src: /src/mcl/src/fp_generator.hpp:1638,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:1639,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1639,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1639,1
    - Dst: setc
      Src: /src/mcl/src/fp_generator.hpp:1640,1
    - Dst: cvt8
      Src: /src/mcl/src/fp_generator.hpp:1640,1
    - Dst: mcl::fp::montgomery3_sub
      Src: /src/mcl/src/fp_generator.hpp:1641,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1644,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1645,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1646,1
    - Dst: mcl::fp::sub_rm
      Src: /src/mcl/src/fp_generator.hpp:1647,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1647,1
    - Dst: sbb
      Src: /src/mcl/src/fp_generator.hpp:1648,1
    - Dst: cmovc
      Src: /src/mcl/src/fp_generator.hpp:1649,1
    - Dst: cmovc
      Src: /src/mcl/src/fp_generator.hpp:1650,1
    - Dst: cmovc
      Src: /src/mcl/src/fp_generator.hpp:1651,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:1652,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:1653,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1606
    functionDepth: 1
    functionLinenumber: 1606
    functionLinenumberEnd: 1654
    functionName: mcl::fp::gen_montSqr3
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::mul3x1_sqr1
    - lea
    - mcl::fp::mul3x1_sqr3
    - Pack
    - mcl::fp::sub_rm
    - sbb
    - mcl::fp::montgomery3_sub
    - mcl::fp::mul3x1_sqr2
    - mcl::fp::store_mr
    - setc
    - vmovq
    - mcl::fp::add_rr
    - cmovc
    - mov
    - cvt8
    linkageType: ''
    returnType: void
    signature: void gen_montSqr3()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1675,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1676,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1677,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1679,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1680,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1681,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1682,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1684,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1685,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:1687,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1688,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1689,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1691,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1692,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1693,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:1694,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1695,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1696,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1697,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:1699,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1700,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1701,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1702,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1703,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1705,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:1706,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:1707,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1708,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1709,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:1711,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1712,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1713,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1714,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:1715,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 3
    argNames:
    - ' py'
    - ' px'
    - ' t'
    argTypes:
    - RegExp
    - RegExp
    - Pack
    constantsTouched: []
    func_position:
      end: 1716
      start: 1659
    functionDepth: 1
    functionLinenumber: 1659
    functionLinenumberEnd: 1716
    functionName: mcl::fp::sqrPre3
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - add
    - Pack
    - mulx
    - mcl::fp::store_mr
    - adc
    - mov
    - mul
    linkageType: ''
    returnType: void
    signature: void sqrPre3(const RegExp& py, const RegExp& px, const Pack& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1723,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1725,1
    - Dst: mcl::fp::add_ex
      Src: /src/mcl/src/fp_generator.hpp:1726,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' c'
    - n
    - ' px'
    argTypes:
    - Pack
    - int
    - RegExp
    constantsTouched: []
    func_position:
      end: 1729
      start: 1721
    functionDepth: 2
    functionLinenumber: 1721
    functionLinenumberEnd: 1729
    functionName: mcl::fp::mulPack1
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::add_ex
    - adc
    - mulx
    linkageType: ''
    returnType: void
    signature: void mulPack1(const Pack& c, int n, const RegExp& px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1737,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1738,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1739,1
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:1740,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1741,1
    - Dst: mcl::fp::add_ex
      Src: /src/mcl/src/fp_generator.hpp:1742,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1744,1
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:1744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ' pz'
    - ' px'
    - ' py'
    - ' pd'
    argTypes:
    - RegExp
    - RegExp
    - RegExp
    - Pack
    constantsTouched: []
    func_position:
      end: 1745
      start: 1733
    functionDepth: 2
    functionLinenumber: 1733
    functionLinenumberEnd: 1745
    functionName: mcl::fp::mulPack
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::add_ex
    - mulx
    - size
    - adc
    - mov
    linkageType: ''
    returnType: void
    signature: void mulPack(const RegExp& pz, const RegExp& px, const RegExp& py,
      const Pack& pd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1753,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:1754,1
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:1755,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1756,1
    - Dst: adox
      Src: /src/mcl/src/fp_generator.hpp:1757,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1758,1
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:1759,1
    - Dst: adcx
      Src: /src/mcl/src/fp_generator.hpp:1760,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1762,1
    - Dst: adox
      Src: /src/mcl/src/fp_generator.hpp:1763,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1764,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - ' pz'
    - ' px'
    - ' py'
    - ' hi'
    - ' pd'
    argTypes:
    - RegExp
    - RegExp
    - RegExp
    - Reg64
    - Pack
    constantsTouched: []
    func_position:
      end: 1765
      start: 1749
    functionDepth: 1
    functionLinenumber: 1749
    functionLinenumberEnd: 1765
    functionName: mcl::fp::mulPackAdd
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - adox
    - mulx
    - adcx
    - size
    - mov
    - adc
    - xor_
    linkageType: ''
    returnType: void
    signature: void mulPackAdd(const RegExp& pz, const RegExp& px, const RegExp& py,
      const Reg64& hi, const Pack& pd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:1775,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:1777,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1781,1
    - Dst: adox
      Src: /src/mcl/src/fp_generator.hpp:1782,1
    - Dst: adcx
      Src: /src/mcl/src/fp_generator.hpp:1783,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1786,1
    - Dst: adox
      Src: /src/mcl/src/fp_generator.hpp:1787,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1799,1
    - Dst: adox
      Src: /src/mcl/src/fp_generator.hpp:1800,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1801,1
    - Dst: adox
      Src: /src/mcl/src/fp_generator.hpp:1802,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1803,1
    - Dst: adox
      Src: /src/mcl/src/fp_generator.hpp:1804,1
    - Dst: adcx
      Src: /src/mcl/src/fp_generator.hpp:1805,1
    - Dst: adcx
      Src: /src/mcl/src/fp_generator.hpp:1806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - ' z'
    - ' p'
    - ' H'
    argTypes:
    - Pack
    - RegExp
    - Reg64
    constantsTouched: []
    func_position:
      end: 1807
      start: 1771
    functionDepth: 1
    functionLinenumber: 1771
    functionLinenumberEnd: 1807
    functionName: mcl::fp::mulPackAddShr
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - adox
    - adcx
    - mulx
    - assert
    - mov
    - xor_
    linkageType: ''
    returnType: void
    signature: void mulPackAddShr(const Pack& z, const RegExp& p, const Reg64& H,
      bool last = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::mulPack
      Src: /src/mcl/src/fp_generator.hpp:1823,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1823,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1826,1
    - Dst: mcl::fp::mul3x1
      Src: /src/mcl/src/fp_generator.hpp:1829,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:1830,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1830,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1830,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1831,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1832,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1833,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1836,1
    - Dst: mcl::fp::mul3x1
      Src: /src/mcl/src/fp_generator.hpp:1839,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:1840,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1840,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1840,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1841,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:1842,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - ' pz'
    - ' px'
    - ' py'
    - ' t'
    argTypes:
    - RegExp
    - RegExp
    - RegExp
    - Pack
    constantsTouched: []
    func_position:
      end: 1843
      start: 1811
    functionDepth: 3
    functionLinenumber: 1811
    functionLinenumberEnd: 1843
    functionName: mcl::fp::mulPre3
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - Pack
    - mcl::fp::mul3x1
    - mcl::fp::store_mr
    - mcl::fp::mulPack
    - adc
    - mcl::fp::add_rr
    - mov
    linkageType: ''
    returnType: void
    signature: void mulPre3(const RegExp& pz, const RegExp& px, const RegExp& py,
      const Pack& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:1854,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1854,1
    - Dst: mcl::fp::sqr2
      Src: /src/mcl/src/fp_generator.hpp:1855,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:1856,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' py'
    - ' px'
    - ' t'
    argTypes:
    - Reg64
    - Reg64
    - Pack
    constantsTouched: []
    func_position:
      end: 1857
      start: 1844
    functionDepth: 1
    functionLinenumber: 1844
    functionLinenumberEnd: 1857
    functionName: mcl::fp::sqrPre2
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::store_mr
    - mcl::fp::sqr2
    - Pack
    - mcl::fp::load_rm
    linkageType: ''
    returnType: void
    signature: void sqrPre2(const Reg64& py, const Reg64& px, const Pack& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1864,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1865,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1866,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1867,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1868,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:1869,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1870,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1871,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:1872,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1873,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 8
    argNames:
    - ' y3'
    - ' y2'
    - ' y1'
    - ' y0'
    - ' x1'
    - ' x0'
    - ' t1'
    - ' t0'
    argTypes:
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    constantsTouched: []
    func_position:
      end: 1875
      start: 1862
    functionDepth: 1
    functionLinenumber: 1862
    functionLinenumberEnd: 1875
    functionName: mcl::fp::sqr2
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - add
    - mov
    - adc
    - mulx
    linkageType: ''
    returnType: void
    signature: void sqr2(const Reg64& y3, const Reg64& y2, const Reg64& y1, const
      Reg64& y0, const Reg64& x1, const Reg64& x0, const Reg64& t1, const Reg64& t0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1884,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1885,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1886,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1887,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1888,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:1889,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:1890,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1890,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1890,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1892,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1893,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:1894,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:1895,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1895,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1895,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1897,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1898,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1899,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1900,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1901,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:1902,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1903,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1905,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1906,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1907,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:1908,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1909,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:1910,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1911,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 7
    argNames:
    - ' px'
    - ' py'
    - ' t4'
    - ' t3'
    - ' t2'
    - ' t1'
    - ' t0'
    argTypes:
    - RegExp
    - RegExp
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    constantsTouched: []
    func_position:
      end: 1914
      start: 1880
    functionDepth: 1
    functionLinenumber: 1880
    functionLinenumberEnd: 1914
    functionName: mcl::fp::mul2x2
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - add
    - Pack
    - mulx
    - mov
    - adc
    - mcl::fp::add_rr
    - xor_
    - mul
    linkageType: ''
    returnType: void
    signature: void mul2x2(const RegExp& px, const RegExp& py, const Reg64& t4, const
      Reg64& t3, const Reg64& t2, const Reg64& t1, const Reg64& t0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::mul2x2
      Src: /src/mcl/src/fp_generator.hpp:1922,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:1923,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' pz'
    - ' px'
    - ' py'
    - ' t'
    argTypes:
    - RegExp
    - RegExp
    - RegExp
    - Pack
    constantsTouched: []
    func_position:
      end: 1924
      start: 1915
    functionDepth: 2
    functionLinenumber: 1915
    functionLinenumberEnd: 1924
    functionName: mcl::fp::mulPre2
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::store_mr
    - Pack
    - mcl::fp::mul2x2
    linkageType: ''
    returnType: void
    signature: void mulPre2(const RegExp& pz, const RegExp& px, const RegExp& py,
      const Pack& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:1946,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1946,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1947,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1948,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1949,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:1950,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1951,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1952,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1953,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1954,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1955,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:1956,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1957,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1958,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1959,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1960,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1961,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1962,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1963,1
    - Dst: mcl::fp::shl1
      Src: /src/mcl/src/fp_generator.hpp:1965,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:1965,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1966,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1967,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1968,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:1969,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1970,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1971,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1972,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1973,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1974,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1975,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1976,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1977,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1978,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1979,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1980,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1981,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1982,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1983,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:1984,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1985,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1986,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:1987,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:1988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 3
    argNames:
    - ' py'
    - ' px'
    - ' t'
    argTypes:
    - Reg64
    - Reg64
    - Pack
    constantsTouched: []
    func_position:
      end: 1989
      start: 1932
    functionDepth: 2
    functionLinenumber: 1932
    functionLinenumberEnd: 1989
    functionName: mcl::fp::sqrPre4NF
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - add
    - Pack
    - mulx
    - mcl::fp::load_rm
    - adc
    - mov
    - mcl::fp::shl1
    linkageType: ''
    returnType: void
    signature: void sqrPre4NF(const Reg64& py, const Reg64& px, const Pack& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::sqrPre4NF
      Src: /src/mcl/src/fp_generator.hpp:1996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' py'
    - ' px'
    - ' t'
    argTypes:
    - Reg64
    - Reg64
    - Pack
    constantsTouched: []
    func_position:
      end: 1997
      start: 1994
    functionDepth: 3
    functionLinenumber: 1994
    functionLinenumberEnd: 1997
    functionName: mcl::fp::sqrPre4
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::sqrPre4NF
    linkageType: ''
    returnType: void
    signature: void sqrPre4(const Reg64& py, const Reg64& px, const Pack& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2021,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2022,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2023,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:2024,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2025,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2026,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2027,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2028,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2029,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2030,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:2031,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2032,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2033,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2034,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2035,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2036,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2037,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2038,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2039,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2041,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2042,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2043,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2044,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2045,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2046,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2047,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2048,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2049,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2050,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2051,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2052,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2053,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2054,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2055,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2056,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2057,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:2058,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2059,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2060,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2061,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2062,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2063,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2064,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2065,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2066,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2067,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2068,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2069,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2070,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2071,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2072,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2073,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2074,1
    - Dst: mcl::fp::shl1
      Src: /src/mcl/src/fp_generator.hpp:2075,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2075,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2077,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2078,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2079,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:2080,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2081,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2083,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2084,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2085,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2086,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2087,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2088,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2090,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2091,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2092,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2093,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2094,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2095,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2097,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2098,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2099,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2100,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2101,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2102,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2104,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2105,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2106,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2107,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2108,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2109,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2111,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2112,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2113,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2114,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2115,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 90
    argCount: 3
    argNames:
    - ' py'
    - ' px'
    - ' t'
    argTypes:
    - RegExp
    - RegExp
    - Pack
    constantsTouched: []
    func_position:
      end: 2117
      start: 2007
    functionDepth: 2
    functionLinenumber: 2007
    functionLinenumberEnd: 2117
    functionName: mcl::fp::sqrPre6
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - add
    - Pack
    - mulx
    - adc
    - mov
    - mcl::fp::shl1
    linkageType: ''
    returnType: void
    signature: void sqrPre6(const RegExp& py, const RegExp& px, const Pack& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::mulPack
      Src: /src/mcl/src/fp_generator.hpp:2136,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2136,1
    - Dst: mcl::fp::mulPackAdd
      Src: /src/mcl/src/fp_generator.hpp:2137,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2137,1
    - Dst: mcl::fp::mulPackAdd
      Src: /src/mcl/src/fp_generator.hpp:2138,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2138,1
    - Dst: mcl::fp::mulPackAdd
      Src: /src/mcl/src/fp_generator.hpp:2139,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2139,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:2140,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2140,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/src/fp_generator.hpp:2146,1
    - Dst: mcl::fp::mul2x2
      Src: /src/mcl/src/fp_generator.hpp:2148,1
    - Dst: mcl::fp::mul2x2
      Src: /src/mcl/src/fp_generator.hpp:2149,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:2150,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:2151,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2151,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2151,1
    - Dst: mcl::fp::mul2x2
      Src: /src/mcl/src/fp_generator.hpp:2153,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:2154,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2154,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:2156,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:2157,1
    - Dst: mcl::fp::mul2x2
      Src: /src/mcl/src/fp_generator.hpp:2158,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:2159,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:2160,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:2161,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2161,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2161,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2162,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:2163,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2163,1
    - Dst: mcl::fp::mulPack
      Src: /src/mcl/src/fp_generator.hpp:2165,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2165,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2169,1
    - Dst: mcl::fp::mul4x1
      Src: /src/mcl/src/fp_generator.hpp:2172,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:2173,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2173,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2173,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2174,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2175,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2176,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2179,1
    - Dst: mcl::fp::mul4x1
      Src: /src/mcl/src/fp_generator.hpp:2182,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:2183,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2183,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2183,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2184,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2185,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2186,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2188,1
    - Dst: mcl::fp::mul4x1
      Src: /src/mcl/src/fp_generator.hpp:2191,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:2192,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2192,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2192,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2193,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:2194,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2194,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 4
    argNames:
    - ' pz'
    - ' px'
    - ' py'
    - ' t'
    argTypes:
    - RegExp
    - RegExp
    - RegExp
    - Pack
    constantsTouched: []
    func_position:
      end: 2197
      start: 2121
    functionDepth: 3
    functionLinenumber: 2121
    functionLinenumberEnd: 2197
    functionName: mcl::fp::mulPre4
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::mul4x1
    - Pack
    - mcl::fp::store_mr
    - Shim_Exception::Shim_Exception
    - mcl::fp::mulPackAdd
    - mcl::fp::mulPack
    - mov
    - mcl::fp::mul2x2
    - vmovq
    - mcl::fp::add_rr
    - adc
    - xor_
    linkageType: ''
    returnType: void
    signature: void mulPre4(const RegExp& pz, const RegExp& px, const RegExp& py,
      const Pack& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::mulPack
      Src: /src/mcl/src/fp_generator.hpp:2211,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2211,1
    - Dst: mcl::fp::mulPackAdd
      Src: /src/mcl/src/fp_generator.hpp:2212,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2212,1
    - Dst: mcl::fp::mulPackAdd
      Src: /src/mcl/src/fp_generator.hpp:2213,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2213,1
    - Dst: mcl::fp::mulPackAdd
      Src: /src/mcl/src/fp_generator.hpp:2214,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2214,1
    - Dst: mcl::fp::mulPackAdd
      Src: /src/mcl/src/fp_generator.hpp:2215,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2215,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:2216,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - Pack
    constantsTouched: []
    func_position:
      end: 2217
      start: 2199
    functionDepth: 3
    functionLinenumber: 2199
    functionLinenumberEnd: 2217
    functionName: mcl::fp::mulPre5
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::store_mr
    - mcl::fp::mulPack
    - Pack
    - mcl::fp::mulPackAdd
    linkageType: ''
    returnType: void
    signature: void mulPre5(const Pack& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:2242,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2243,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2244,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2245,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:2250,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:2251,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2251,1
    - Dst: mcl::fp::add_rm
      Src: /src/mcl/src/fp_generator.hpp:2252,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2252,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2253,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:2254,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2254,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:2255,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:2257,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:2258,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2258,1
    - Dst: mcl::fp::add_rm
      Src: /src/mcl/src/fp_generator.hpp:2259,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2259,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2260,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:2261,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2261,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:2262,1
    - Dst: mcl::fp::mulPre3
      Src: /src/mcl/src/fp_generator.hpp:2264,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:2266,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:2267,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2268,1
    - Dst: and_
      Src: /src/mcl/src/fp_generator.hpp:2269,1
    - Dst: Label::Label
      Src: /src/mcl/src/fp_generator.hpp:2270,1
    - Dst: je
      Src: /src/mcl/src/fp_generator.hpp:2271,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:2272,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2272,1
    - Dst: test
      Src: /src/mcl/src/fp_generator.hpp:2273,1
    - Dst: je
      Src: /src/mcl/src/fp_generator.hpp:2274,1
    - Dst: mcl::fp::add_rm
      Src: /src/mcl/src/fp_generator.hpp:2276,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2276,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2277,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:2278,1
    - Dst: test
      Src: /src/mcl/src/fp_generator.hpp:2279,1
    - Dst: je
      Src: /src/mcl/src/fp_generator.hpp:2280,1
    - Dst: mcl::fp::add_rm
      Src: /src/mcl/src/fp_generator.hpp:2282,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2282,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2283,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:2284,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:2285,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2285,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:2286,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:2287,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2290,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2291,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2292,1
    - Dst: mcl::fp::mulPre3
      Src: /src/mcl/src/fp_generator.hpp:2293,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2295,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2296,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2297,1
    - Dst: mcl::fp::mulPre3
      Src: /src/mcl/src/fp_generator.hpp:2298,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2300,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:2301,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2303,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:2305,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2307,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2309,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2311,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2312,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2313,1
    - Dst: jnc
      Src: /src/mcl/src/fp_generator.hpp:2314,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2316,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2317,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2318,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:2320,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:2321,1
    - Dst: mcl::fp::mulPack
      Src: /src/mcl/src/fp_generator.hpp:2327,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2327,1
    - Dst: mcl::fp::mulPackAdd
      Src: /src/mcl/src/fp_generator.hpp:2328,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2328,1
    - Dst: mcl::fp::mulPackAdd
      Src: /src/mcl/src/fp_generator.hpp:2329,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2329,1
    - Dst: mcl::fp::mulPackAdd
      Src: /src/mcl/src/fp_generator.hpp:2330,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2330,1
    - Dst: mcl::fp::mulPackAdd
      Src: /src/mcl/src/fp_generator.hpp:2331,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2331,1
    - Dst: mcl::fp::mulPackAdd
      Src: /src/mcl/src/fp_generator.hpp:2332,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2332,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:2333,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 74
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - Pack
    constantsTouched: []
    func_position:
      end: 2335
      start: 2219
    functionDepth: 4
    functionLinenumber: 2219
    functionLinenumberEnd: 2335
    functionName: mcl::fp::mulPre6
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - add
    - mcl::fp::store_mr
    - mcl::fp::load_rm
    - mov
    - jnc
    - and_
    - je
    - vmovq
    - L
    - test
    - Pack
    - mcl::fp::add_rm
    - xor_
    - Label::Label
    - sub
    - mcl::fp::mulPre3
    - mcl::fp::mulPackAdd
    - mcl::fp::mulPack
    - adc
    linkageType: ''
    returnType: void
    signature: void mulPre6(const Pack& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:2338,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:2339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Pack
    constantsTouched: []
    func_position:
      end: 2341
      start: 2336
    functionDepth: 0
    functionLinenumber: 2336
    functionLinenumberEnd: 2341
    functionName: mcl::fp::rotatePack
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - Pack::append
    - sub
    linkageType: ''
    returnType: Pack
    signature: Pack rotatePack(const Pack& p) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:2348,1
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:2349,1
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:2352,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:2357,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:2359,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:2360,1
    - Dst: Pack::sub
      Src: /src/mcl/src/fp_generator.hpp:2360,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2361,1
    - Dst: imul
      Src: /src/mcl/src/fp_generator.hpp:2362,1
    - Dst: mcl::fp::mulAdd2
      Src: /src/mcl/src/fp_generator.hpp:2363,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:2366,1
    - Dst: Pack::sub
      Src: /src/mcl/src/fp_generator.hpp:2367,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2368,1
    - Dst: imul
      Src: /src/mcl/src/fp_generator.hpp:2369,1
    - Dst: mcl::fp::mulAdd2
      Src: /src/mcl/src/fp_generator.hpp:2370,1
    - Dst: Pack::sub
      Src: /src/mcl/src/fp_generator.hpp:2374,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2375,1
    - Dst: mcl::fp::mov_rr
      Src: /src/mcl/src/fp_generator.hpp:2376,1
    - Dst: mcl::fp::sub_rm
      Src: /src/mcl/src/fp_generator.hpp:2377,1
    - Dst: mcl::fp::cmovc_rr
      Src: /src/mcl/src/fp_generator.hpp:2378,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:2379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 4
    argNames:
    - ' z'
    - ' xy'
    - ' t'
    - n
    argTypes:
    - Reg64
    - Reg64
    - Pack
    - int
    constantsTouched: []
    func_position:
      end: 2380
      start: 2346
    functionDepth: 2
    functionLinenumber: 2346
    functionLinenumberEnd: 2380
    functionName: mcl::fp::gen_fpDbl_modNF
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 2
    functionsReached:
    - lea
    - Pack
    - mcl::fp::mulAdd2
    - mcl::fp::sub_rm
    - sub
    - mcl::fp::cmovc_rr
    - mcl::fp::store_mr
    - assert
    - Pack::sub
    - Pack::append
    - imul
    - mov
    - mcl::fp::load_rm
    - mcl::fp::mov_rr
    - xor_
    linkageType: ''
    returnType: void
    signature: void gen_fpDbl_modNF(const Reg64& z, const Reg64& xy, const Pack& t,
      int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:2383,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:2384,1
    - Dst: mcl::fp::sqrPre2
      Src: /src/mcl/src/fp_generator.hpp:2389,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:2396,1
    - Dst: mcl::fp::sqrPre3
      Src: /src/mcl/src/fp_generator.hpp:2397,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:2404,1
    - Dst: mcl::fp::sqrPre4
      Src: /src/mcl/src/fp_generator.hpp:2405,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:2411,1
    - Dst: StackFrame::close
      Src: /src/mcl/src/fp_generator.hpp:2412,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:2413,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:2415,1
    - Dst: mcl::fp::sqrPre6
      Src: /src/mcl/src/fp_generator.hpp:2416,1
    - Dst: ret
      Src: /src/mcl/src/fp_generator.hpp:2417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void2u
    constantsTouched: []
    func_position:
      end: 2425
      start: 2381
    functionDepth: 4
    functionLinenumber: 2381
    functionLinenumberEnd: 2425
    functionName: mcl::fp::gen_fpDbl_sqrPre
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - StackFrame::close
    - ret
    - getCurr<void2u>
    - mcl::fp::sqrPre3
    - call
    - mcl::fp::sqrPre2
    - mcl::fp::sqrPre6
    - Pack::append
    - align
    - mcl::fp::sqrPre4
    - L
    linkageType: ''
    returnType: bool
    signature: bool gen_fpDbl_sqrPre(void2u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:2428,1
    - Dst: getCurr<void3u>
      Src: /src/mcl/src/fp_generator.hpp:2429,1
    - Dst: mcl::fp::mulPre2
      Src: /src/mcl/src/fp_generator.hpp:2434,1
    - Dst: mcl::fp::mulPre3
      Src: /src/mcl/src/fp_generator.hpp:2440,1
    - Dst: mcl::fp::mulPre4
      Src: /src/mcl/src/fp_generator.hpp:2450,1
    - Dst: StackFrame::close
      Src: /src/mcl/src/fp_generator.hpp:2452,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:2453,1
    - Dst: mcl::fp::mulPre4
      Src: /src/mcl/src/fp_generator.hpp:2454,1
    - Dst: ret
      Src: /src/mcl/src/fp_generator.hpp:2455,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:2461,1
    - Dst: StackFrame::close
      Src: /src/mcl/src/fp_generator.hpp:2462,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:2463,1
    - Dst: mcl::fp::mulPre5
      Src: /src/mcl/src/fp_generator.hpp:2464,1
    - Dst: ret
      Src: /src/mcl/src/fp_generator.hpp:2465,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:2471,1
    - Dst: StackFrame::close
      Src: /src/mcl/src/fp_generator.hpp:2472,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:2473,1
    - Dst: mcl::fp::mulPre6
      Src: /src/mcl/src/fp_generator.hpp:2474,1
    - Dst: ret
      Src: /src/mcl/src/fp_generator.hpp:2475,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void3u
    constantsTouched: []
    func_position:
      end: 2483
      start: 2426
    functionDepth: 5
    functionLinenumber: 2426
    functionLinenumberEnd: 2483
    functionName: mcl::fp::gen_fpDbl_mulPre
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::mulPre2
    - StackFrame::close
    - ret
    - mcl::fp::mulPre3
    - getCurr<void3u>
    - call
    - align
    - mcl::fp::mulPre4
    - L
    - mcl::fp::mulPre6
    - mcl::fp::mulPre5
    linkageType: ''
    returnType: bool
    signature: bool gen_fpDbl_mulPre(void3u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/src/fp_generator.hpp:2486,1
    - Dst: printf
      Src: /src/mcl/src/fp_generator.hpp:2489,1
    - Dst: printf
      Src: /src/mcl/src/fp_generator.hpp:2491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - uint64_t*
    - int
    constantsTouched: []
    func_position:
      end: 2492
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2492
    functionName: mcl::fp::debug_put_inner
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void debug_put_inner(const uint64_t *ptr, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:2496,1
    - Dst: push
      Src: /src/mcl/src/fp_generator.hpp:2499,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2500,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2501,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2502,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2503,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2504,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2505,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2506,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2507,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2508,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2509,1
    - Dst: pop
      Src: /src/mcl/src/fp_generator.hpp:2510,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:2512,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2513,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2514,1
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:2515,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:2516,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:2517,1
    - Dst: push
      Src: /src/mcl/src/fp_generator.hpp:2519,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2520,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2521,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2522,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2523,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2524,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2525,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2526,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2527,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:2528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 2
    argNames:
    - ' m'
    - n
    argTypes:
    - RegExp
    - int
    constantsTouched: []
    func_position:
      end: 2529
      start: 2494
    functionDepth: 3
    functionLinenumber: 2494
    functionLinenumberEnd: 2529
    functionName: mcl::fp::debug_put
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - add
    - push
    - lea
    - sub
    - assert
    - call
    - pop
    - mov
    linkageType: ''
    returnType: void
    signature: void debug_put(const RegExp& m, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isReg
      Src: /src/mcl/src/fp_generator.hpp:2540,1
    - Dst: getReg
      Src: /src/mcl/src/fp_generator.hpp:2541,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2543,1
    - Dst: getMem
      Src: /src/mcl/src/fp_generator.hpp:2543,1
    - Dst: isReg
      Src: /src/mcl/src/fp_generator.hpp:2546,1
    - Dst: shrd
      Src: /src/mcl/src/fp_generator.hpp:2547,1
    - Dst: getReg
      Src: /src/mcl/src/fp_generator.hpp:2547,1
    - Dst: shrd
      Src: /src/mcl/src/fp_generator.hpp:2549,1
    - Dst: getMem
      Src: /src/mcl/src/fp_generator.hpp:2549,1
    - Dst: isReg
      Src: /src/mcl/src/fp_generator.hpp:2552,1
    - Dst: shr
      Src: /src/mcl/src/fp_generator.hpp:2553,1
    - Dst: getReg
      Src: /src/mcl/src/fp_generator.hpp:2553,1
    - Dst: shr
      Src: /src/mcl/src/fp_generator.hpp:2555,1
    - Dst: getMem
      Src: /src/mcl/src/fp_generator.hpp:2555,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - ' z'
    - c
    - ' t'
    argTypes:
    - MixPack
    - uint8_t
    - Reg64
    constantsTouched: []
    func_position:
      end: 2557
      start: 2535
    functionDepth: 1
    functionLinenumber: 2535
    functionLinenumberEnd: 2557
    functionName: mcl::fp::shr_mp
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - shrd
    - isReg
    - getReg
    - getMem
    - mov
    - shr
    linkageType: ''
    returnType: void
    signature: void shr_mp(const MixPack& z, uint8_t c, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::g_add
      Src: /src/mcl/src/fp_generator.hpp:2563,1
    - Dst: mcl::fp::g_adc
      Src: /src/mcl/src/fp_generator.hpp:2565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' z'
    - ' t'
    argTypes:
    - MixPack
    - Reg64
    constantsTouched: []
    func_position:
      end: 2567
      start: 2561
    functionDepth: 1
    functionLinenumber: 2561
    functionLinenumberEnd: 2567
    functionName: mcl::fp::twice_mp
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::g_adc
    - mcl::fp::g_add
    linkageType: ''
    returnType: void
    signature: void twice_mp(const MixPack& z, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:2573,1
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:2573,1
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:2573,1
    - Dst: mcl::fp::g_add
      Src: /src/mcl/src/fp_generator.hpp:2574,1
    - Dst: mcl::fp::g_adc
      Src: /src/mcl/src/fp_generator.hpp:2576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' t'
    argTypes:
    - MixPack
    - MixPack
    - Reg64
    constantsTouched: []
    func_position:
      end: 2578
      start: 2571
    functionDepth: 1
    functionLinenumber: 2571
    functionLinenumberEnd: 2578
    functionName: mcl::fp::add_mp
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - assert
    - mcl::fp::g_adc
    - size
    - mcl::fp::g_add
    linkageType: ''
    returnType: void
    signature: void add_mp(const MixPack& z, const MixPack& x, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2582,1
    - Dst: mcl::fp::add_ex
      Src: /src/mcl/src/fp_generator.hpp:2583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' mz'
    - ' mx'
    - ' t'
    - n
    argTypes:
    - RegExp
    - RegExp
    - Reg64
    - int
    constantsTouched: []
    func_position:
      end: 2585
      start: 2579
    functionDepth: 2
    functionLinenumber: 2579
    functionLinenumberEnd: 2585
    functionName: mcl::fp::add_mm
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::add_ex
    - mov
    linkageType: ''
    returnType: void
    signature: void add_mm(const RegExp& mz, const RegExp& mx, const Reg64& t, int
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:2591,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2592,1
    - Dst: isReg
      Src: /src/mcl/src/fp_generator.hpp:2593,1
    - Dst: mcl::fp::sub_ex
      Src: /src/mcl/src/fp_generator.hpp:2594,1
    - Dst: getReg
      Src: /src/mcl/src/fp_generator.hpp:2594,1
    - Dst: mcl::fp::sub_ex
      Src: /src/mcl/src/fp_generator.hpp:2596,1
    - Dst: getMem
      Src: /src/mcl/src/fp_generator.hpp:2596,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' mz'
    - ' mx'
    - ' y'
    - ' t'
    argTypes:
    - RegExp
    - RegExp
    - MixPack
    - Reg64
    constantsTouched: []
    func_position:
      end: 2600
      start: 2589
    functionDepth: 2
    functionLinenumber: 2589
    functionLinenumberEnd: 2600
    functionName: mcl::fp::sub_m_mp_m
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - isReg
    - mcl::fp::sub_ex
    - getReg
    - getMem
    - size
    - mov
    linkageType: ''
    returnType: void
    signature: void sub_m_mp_m(const RegExp& mz, const RegExp& mx, const MixPack&
      y, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:2606,1
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:2606,1
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:2606,1
    - Dst: mcl::fp::g_sub
      Src: /src/mcl/src/fp_generator.hpp:2607,1
    - Dst: mcl::fp::g_sbb
      Src: /src/mcl/src/fp_generator.hpp:2609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' t'
    argTypes:
    - MixPack
    - MixPack
    - Reg64
    constantsTouched: []
    func_position:
      end: 2611
      start: 2604
    functionDepth: 1
    functionLinenumber: 2604
    functionLinenumberEnd: 2611
    functionName: mcl::fp::sub_mp
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - assert
    - mcl::fp::g_sub
    - size
    - mcl::fp::g_sbb
    linkageType: ''
    returnType: void
    signature: void sub_mp(const MixPack& z, const MixPack& x, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isReg
      Src: /src/mcl/src/fp_generator.hpp:2617,1
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:2618,1
    - Dst: getReg
      Src: /src/mcl/src/fp_generator.hpp:2618,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2620,1
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:2621,1
    - Dst: getMem
      Src: /src/mcl/src/fp_generator.hpp:2621,1
    - Dst: isReg
      Src: /src/mcl/src/fp_generator.hpp:2624,1
    - Dst: sbb
      Src: /src/mcl/src/fp_generator.hpp:2625,1
    - Dst: getReg
      Src: /src/mcl/src/fp_generator.hpp:2625,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2627,1
    - Dst: sbb
      Src: /src/mcl/src/fp_generator.hpp:2628,1
    - Dst: getMem
      Src: /src/mcl/src/fp_generator.hpp:2628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ' z'
    - ' px'
    - ' t'
    argTypes:
    - MixPack
    - RegExp
    - Reg64
    constantsTouched: []
    func_position:
      end: 2631
      start: 2615
    functionDepth: 1
    functionLinenumber: 2615
    functionLinenumberEnd: 2631
    functionName: mcl::fp::sub_mp_m
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - sbb
    - isReg
    - sub
    - getReg
    - getMem
    - mov
    linkageType: ''
    returnType: void
    signature: void sub_mp_m(const MixPack& z, const RegExp& px, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isReg
      Src: /src/mcl/src/fp_generator.hpp:2635,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2636,1
    - Dst: getReg
      Src: /src/mcl/src/fp_generator.hpp:2636,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2638,1
    - Dst: getMem
      Src: /src/mcl/src/fp_generator.hpp:2638,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' m'
    - ' z'
    - ' t'
    argTypes:
    - RegExp
    - MixPack
    - Reg64
    constantsTouched: []
    func_position:
      end: 2642
      start: 2632
    functionDepth: 0
    functionLinenumber: 2632
    functionLinenumberEnd: 2642
    functionName: mcl::fp::store_mp
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mov
    - getReg
    - getMem
    - isReg
    linkageType: ''
    returnType: void
    signature: void store_mp(const RegExp& m, const MixPack& z, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isReg
      Src: /src/mcl/src/fp_generator.hpp:2646,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2647,1
    - Dst: getReg
      Src: /src/mcl/src/fp_generator.hpp:2647,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2649,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2650,1
    - Dst: getMem
      Src: /src/mcl/src/fp_generator.hpp:2650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' z'
    - ' m'
    - ' t'
    argTypes:
    - MixPack
    - RegExp
    - Reg64
    constantsTouched: []
    func_position:
      end: 2653
      start: 2643
    functionDepth: 0
    functionLinenumber: 2643
    functionLinenumberEnd: 2653
    functionName: mcl::fp::load_mp
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mov
    - getReg
    - getMem
    - isReg
    linkageType: ''
    returnType: void
    signature: void load_mp(const MixPack& z, const RegExp& m, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MCL_FP_GEN_OP_MR
      Src: /src/mcl/src/fp_generator.hpp:2657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' z'
    - ' t'
    argTypes:
    - MixPack
    - Reg64
    constantsTouched: []
    func_position:
      end: 2659
      start: 2654
    functionDepth: 0
    functionLinenumber: 2654
    functionLinenumberEnd: 2659
    functionName: mcl::fp::set_mp
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - MCL_FP_GEN_OP_MR
    linkageType: ''
    returnType: void
    signature: void set_mp(const MixPack& z, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isReg
      Src: /src/mcl/src/fp_generator.hpp:2664,1
    - Dst: MCL_FP_GEN_OP_RM
      Src: /src/mcl/src/fp_generator.hpp:2665,1
    - Dst: MemReg::getReg
      Src: /src/mcl/src/fp_generator.hpp:2665,1
    - Dst: isReg
      Src: /src/mcl/src/fp_generator.hpp:2667,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2668,1
    - Dst: getMem
      Src: /src/mcl/src/fp_generator.hpp:2668,1
    - Dst: getReg
      Src: /src/mcl/src/fp_generator.hpp:2668,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2670,1
    - Dst: getMem
      Src: /src/mcl/src/fp_generator.hpp:2670,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2671,1
    - Dst: getMem
      Src: /src/mcl/src/fp_generator.hpp:2671,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' t'
    argTypes:
    - MixPack
    - MixPack
    - Reg64
    constantsTouched: []
    func_position:
      end: 2675
      start: 2660
    functionDepth: 0
    functionLinenumber: 2660
    functionLinenumberEnd: 2675
    functionName: mcl::fp::mov_mp
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - isReg
    - getReg
    - getMem
    - MemReg::getReg
    - MCL_FP_GEN_OP_RM
    - mov
    linkageType: ''
    returnType: void
    signature: void mov_mp(const MixPack& z, const MixPack& x, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mcl/src/fp_generator.hpp:2679,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:2681,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2682,1
    - Dst: mcl::fp::store_mp
      Src: /src/mcl/src/fp_generator.hpp:2683,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:2684,1
    - Dst: push
      Src: /src/mcl/src/fp_generator.hpp:2685,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2686,1
    - Dst: mcl::fp::debug_put
      Src: /src/mcl/src/fp_generator.hpp:2687,1
    - Dst: pop
      Src: /src/mcl/src/fp_generator.hpp:2688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ' mp'
    - n
    - ' t'
    argTypes:
    - MixPack
    - int
    - Reg64
    constantsTouched: []
    func_position:
      end: 2689
      start: 2677
    functionDepth: 4
    functionLinenumber: 2677
    functionLinenumberEnd: 2689
    functionName: mcl::fp::debug_put_mp
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - push
    - mcl::fp::store_mp
    - exit
    - mcl::fp::debug_put
    - pop
    - vmovq
    - mov
    linkageType: ''
    returnType: void
    signature: void debug_put_mp(const MixPack& mp, int n, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/mcl/src/fp_generator.hpp:2694,1
    - Dst: Label::toStr
      Src: /src/mcl/src/fp_generator.hpp:2694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - label
    - n
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2695
      start: 2692
    functionDepth: 1
    functionLinenumber: 2692
    functionLinenumberEnd: 2695
    functionName: mcl::fp::mkLabel
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - Label::toStr
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string mkLabel(const char *label, int n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:2703,1
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:2705,1
    - Dst: getCurr<int2u>
      Src: /src/mcl/src/fp_generator.hpp:2706,1
    - Dst: std::max<int>
      Src: /src/mcl/src/fp_generator.hpp:2707,1
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:2718,1
    - Dst: StackFrame::t::size
      Src: /src/mcl/src/fp_generator.hpp:2718,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:2722,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:2724,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:2727,1
    - Dst: inLocalLabel
      Src: /src/mcl/src/fp_generator.hpp:2734,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2735,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2736,1
    - Dst: mcl::fp::load_mp
      Src: /src/mcl/src/fp_generator.hpp:2738,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:2739,1
    - Dst: mcl::fp::load_mp
      Src: /src/mcl/src/fp_generator.hpp:2740,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:2742,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2745,1
    - Dst: mcl::fp::set_mp
      Src: /src/mcl/src/fp_generator.hpp:2748,1
    - Dst: mcl::fp::set_mp
      Src: /src/mcl/src/fp_generator.hpp:2750,1
    - Dst: MixPack::isReg
      Src: /src/mcl/src/fp_generator.hpp:2751,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2752,1
    - Dst: MixPack::getReg
      Src: /src/mcl/src/fp_generator.hpp:2752,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2754,1
    - Dst: MixPack::getMem
      Src: /src/mcl/src/fp_generator.hpp:2754,1
    - Dst: mcl::fp::mkLabel
      Src: /src/mcl/src/fp_generator.hpp:2757,1
    - Dst: mcl::fp::mkLabel
      Src: /src/mcl/src/fp_generator.hpp:2758,1
    - Dst: mcl::fp::mkLabel
      Src: /src/mcl/src/fp_generator.hpp:2759,1
    - Dst: mcl::fp::mkLabel
      Src: /src/mcl/src/fp_generator.hpp:2760,1
    - Dst: mcl::fp::mkLabel
      Src: /src/mcl/src/fp_generator.hpp:2761,1
    - Dst: mcl::fp::mkLabel
      Src: /src/mcl/src/fp_generator.hpp:2762,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:2763,1
    - Dst: mcl::fp::or_mp
      Src: /src/mcl/src/fp_generator.hpp:2764,1
    - Dst: jz
      Src: /src/mcl/src/fp_generator.hpp:2765,1
    - Dst: mcl::fp::g_test
      Src: /src/mcl/src/fp_generator.hpp:2767,1
    - Dst: jz
      Src: /src/mcl/src/fp_generator.hpp:2768,1
    - Dst: mcl::fp::g_test
      Src: /src/mcl/src/fp_generator.hpp:2769,1
    - Dst: jz
      Src: /src/mcl/src/fp_generator.hpp:2770,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:2771,1
    - Dst: mcl::fp::isBothZero
      Src: /src/mcl/src/fp_generator.hpp:2773,1
    - Dst: jz
      Src: /src/mcl/src/fp_generator.hpp:2774,1
    - Dst: mcl::fp::mkLabel
      Src: /src/mcl/src/fp_generator.hpp:2774,1
    - Dst: mcl::fp::g_cmp
      Src: /src/mcl/src/fp_generator.hpp:2777,1
    - Dst: jc
      Src: /src/mcl/src/fp_generator.hpp:2778,1
    - Dst: jnz
      Src: /src/mcl/src/fp_generator.hpp:2779,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:2782,1
    - Dst: mcl::fp::sub_mp
      Src: /src/mcl/src/fp_generator.hpp:2783,1
    - Dst: mcl::fp::add_mp
      Src: /src/mcl/src/fp_generator.hpp:2784,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:2785,1
    - Dst: mcl::fp::shr_mp
      Src: /src/mcl/src/fp_generator.hpp:2786,1
    - Dst: mcl::fp::twice_mp
      Src: /src/mcl/src/fp_generator.hpp:2787,1
    - Dst: sbb
      Src: /src/mcl/src/fp_generator.hpp:2789,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2790,1
    - Dst: inc
      Src: /src/mcl/src/fp_generator.hpp:2792,1
    - Dst: jmp
      Src: /src/mcl/src/fp_generator.hpp:2793,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:2794,1
    - Dst: mcl::fp::sub_mp
      Src: /src/mcl/src/fp_generator.hpp:2795,1
    - Dst: mcl::fp::add_mp
      Src: /src/mcl/src/fp_generator.hpp:2796,1
    - Dst: sbb
      Src: /src/mcl/src/fp_generator.hpp:2798,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2799,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:2801,1
    - Dst: mcl::fp::shr_mp
      Src: /src/mcl/src/fp_generator.hpp:2802,1
    - Dst: mcl::fp::twice_mp
      Src: /src/mcl/src/fp_generator.hpp:2803,1
    - Dst: inc
      Src: /src/mcl/src/fp_generator.hpp:2804,1
    - Dst: jmp
      Src: /src/mcl/src/fp_generator.hpp:2805,1
    - Dst: MixPack::removeLast
      Src: /src/mcl/src/fp_generator.hpp:2808,1
    - Dst: MixPack::removeLast
      Src: /src/mcl/src/fp_generator.hpp:2809,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:2812,1
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:2813,1
    - Dst: MixPack::isReg
      Src: /src/mcl/src/fp_generator.hpp:2813,1
    - Dst: MixPack::getReg
      Src: /src/mcl/src/fp_generator.hpp:2814,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:2817,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2819,1
    - Dst: test
      Src: /src/mcl/src/fp_generator.hpp:2820,1
    - Dst: jz
      Src: /src/mcl/src/fp_generator.hpp:2821,1
    - Dst: mcl::fp::sub_mp_m
      Src: /src/mcl/src/fp_generator.hpp:2822,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:2823,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2825,1
    - Dst: mcl::fp::sub_m_mp_m
      Src: /src/mcl/src/fp_generator.hpp:2827,1
    - Dst: jnc
      Src: /src/mcl/src/fp_generator.hpp:2828,1
    - Dst: mcl::fp::add_mm
      Src: /src/mcl/src/fp_generator.hpp:2830,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:2831,1
    - Dst: outLocalLabel
      Src: /src/mcl/src/fp_generator.hpp:2832,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 93
    argCount: 2
    argNames:
    - ' func'
    - ' op'
    argTypes:
    - int2u
    - Op
    constantsTouched: []
    func_position:
      end: 2834
      start: 2699
    functionDepth: 3
    functionLinenumber: 2699
    functionLinenumberEnd: 2834
    functionName: mcl::fp::gen_preInv
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - StackFrame::t::size
    - outLocalLabel
    - assert
    - mcl::fp::sub_m_mp_m
    - align
    - mov
    - mcl::fp::add_mm
    - mcl::fp::add_mp
    - jnc
    - jc
    - mcl::fp::mkLabel
    - mcl::fp::shr_mp
    - Pack::append
    - mcl::fp::isBothZero
    - jmp
    - mcl::fp::set_mp
    - inLocalLabel
    - inc
    - L
    - MixPack::removeLast
    - test
    - sbb
    - lea
    - jz
    - getCurr<int2u>
    - mcl::fp::sub_mp_m
    - mcl::fp::load_mp
    - mcl::fp::g_test
    - xor_
    - std::max<int>
    - MixPack::getMem
    - jnz
    - mcl::fp::g_cmp
    - MixPack::getReg
    - mcl::fp::twice_mp
    - mcl::fp::sub_mp
    - MixPack::isReg
    - mcl::fp::or_mp
    linkageType: ''
    returnType: bool
    signature: bool gen_preInv(int2u& func, const Op& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:2843,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2843,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:2844,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2844,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:2845,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:2846,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2846,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2846,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:2847,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2847,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2847,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2848,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:2849,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2850,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2851,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:2852,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:2853,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2854,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2855,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2856,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:2857,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2858,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2859,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2861,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2862,1
    - Dst: jz
      Src: /src/mcl/src/fp_generator.hpp:2863,1
    - Dst: mcl::fp::sub_rr
      Src: /src/mcl/src/fp_generator.hpp:2864,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2864,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2864,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:2865,1
    - Dst: mcl::fp::mov_rr
      Src: /src/mcl/src/fp_generator.hpp:2866,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2866,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2866,1
    - Dst: mcl::fp::sub_rr
      Src: /src/mcl/src/fp_generator.hpp:2867,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2867,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2867,1
    - Dst: mcl::fp::cmovc_rr
      Src: /src/mcl/src/fp_generator.hpp:2868,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2868,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2868,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:2869,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 3
    argNames:
    - py
    - ' px'
    - ' t'
    argTypes:
    - RegExp
    - RegExp
    - Pack
    constantsTouched: []
    func_position:
      end: 2870
      start: 2835
    functionDepth: 1
    functionLinenumber: 2835
    functionLinenumberEnd: 2870
    functionName: mcl::fp::fpDbl_mod_NIST_P192
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 3
    functionsReached:
    - add
    - Pack
    - jz
    - mcl::fp::cmovc_rr
    - mcl::fp::store_mr
    - mcl::fp::sub_rr
    - L
    - mov
    - mcl::fp::load_rm
    - adc
    - mcl::fp::add_rr
    - mcl::fp::mov_rr
    - xor_
    linkageType: ''
    returnType: void
    signature: void fpDbl_mod_NIST_P192(const RegExp &py, const RegExp& px, const
      Pack& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:2889,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2890,1
    - Dst: and_
      Src: /src/mcl/src/fp_generator.hpp:2891,1
    - Dst: shrd
      Src: /src/mcl/src/fp_generator.hpp:2892,1
    - Dst: shrd
      Src: /src/mcl/src/fp_generator.hpp:2893,1
    - Dst: shrd
      Src: /src/mcl/src/fp_generator.hpp:2894,1
    - Dst: shrd
      Src: /src/mcl/src/fp_generator.hpp:2895,1
    - Dst: shrd
      Src: /src/mcl/src/fp_generator.hpp:2896,1
    - Dst: shrd
      Src: /src/mcl/src/fp_generator.hpp:2897,1
    - Dst: shrd
      Src: /src/mcl/src/fp_generator.hpp:2898,1
    - Dst: shrd
      Src: /src/mcl/src/fp_generator.hpp:2899,1
    - Dst: shr
      Src: /src/mcl/src/fp_generator.hpp:2900,1
    - Dst: mcl::fp::add_rm
      Src: /src/mcl/src/fp_generator.hpp:2902,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:2902,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2903,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2906,1
    - Dst: shr
      Src: /src/mcl/src/fp_generator.hpp:2907,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:2908,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2909,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2910,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2911,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2912,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2913,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2914,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2915,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2916,1
    - Dst: and_
      Src: /src/mcl/src/fp_generator.hpp:2917,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:2918,1
    - Dst: and_
      Src: /src/mcl/src/fp_generator.hpp:2921,1
    - Dst: and_
      Src: /src/mcl/src/fp_generator.hpp:2922,1
    - Dst: and_
      Src: /src/mcl/src/fp_generator.hpp:2923,1
    - Dst: and_
      Src: /src/mcl/src/fp_generator.hpp:2924,1
    - Dst: and_
      Src: /src/mcl/src/fp_generator.hpp:2925,1
    - Dst: and_
      Src: /src/mcl/src/fp_generator.hpp:2926,1
    - Dst: and_
      Src: /src/mcl/src/fp_generator.hpp:2927,1
    - Dst: not_
      Src: /src/mcl/src/fp_generator.hpp:2928,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:2929,1
    - Dst: or_
      Src: /src/mcl/src/fp_generator.hpp:2930,1
    - Dst: jnz
      Src: /src/mcl/src/fp_generator.hpp:2931,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:2932,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2934,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:2936,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 3
    argNames:
    - ' py'
    - ' px'
    - ' t'
    argTypes:
    - RegExp
    - RegExp
    - Pack
    constantsTouched: []
    func_position:
      end: 2937
      start: 2876
    functionDepth: 1
    functionLinenumber: 2876
    functionLinenumberEnd: 2937
    functionName: mcl::fp::fpDbl_mod_NIST_P521
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - add
    - shrd
    - Pack
    - mcl::fp::store_mr
    - and_
    - L
    - jnz
    - not_
    - mcl::fp::add_rm
    - mcl::fp::load_rm
    - adc
    - or_
    - xor_
    - mov
    - shr
    linkageType: ''
    returnType: void
    signature: void fpDbl_mod_NIST_P521(const RegExp& py, const RegExp& px, const
      Pack& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:2940,1
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:2941,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:2944,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2945,1
    - Dst: mcl::fp::mulAdd
      Src: /src/mcl/src/fp_generator.hpp:2946,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:2947,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:2948,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:2949,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2950,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2951,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2952,1
    - Dst: cmovnc
      Src: /src/mcl/src/fp_generator.hpp:2953,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:2954,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2955,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2956,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:2957,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2958,1
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:2959,1
    - Dst: mcl::fp::sub_p_mod
      Src: /src/mcl/src/fp_generator.hpp:2960,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:2961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 3
    argNames:
    - py
    - ' px'
    - ' t'
    argTypes:
    - RegExp
    - RegExp
    - Pack
    constantsTouched: []
    func_position:
      end: 2962
      start: 2938
    functionDepth: 2
    functionLinenumber: 2938
    functionLinenumberEnd: 2962
    functionName: mcl::fp::gen_fpDbl_mod_SECP256K1
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 3
    functionsReached:
    - add
    - sub
    - mulx
    - mcl::fp::store_mr
    - mcl::fp::sub_p_mod
    - cmovnc
    - mcl::fp::mulAdd
    - mcl::fp::load_rm
    - adc
    - xor_
    - mov
    linkageType: ''
    returnType: void
    signature: void gen_fpDbl_mod_SECP256K1(const RegExp &py, const RegExp& px, const
      Pack& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isReg
      Src: /src/mcl/src/fp_generator.hpp:2968,1
    - Dst: getReg
      Src: /src/mcl/src/fp_generator.hpp:2969,1
    - Dst: getMem
      Src: /src/mcl/src/fp_generator.hpp:2971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Reg64
    - MemReg
    constantsTouched: []
    func_position:
      end: 2973
      start: 2966
    functionDepth: 0
    functionLinenumber: 2966
    functionLinenumberEnd: 2973
    functionName: mcl::fp::make_op_rm
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - getReg
    - getMem
    - isReg
    linkageType: ''
    returnType: void
    signature: void make_op_rm(void (Xbyak::CodeGenerator::*op)(const Xbyak::Operand&,
      const Xbyak::Operand&), const Reg64& op1, const MemReg& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isReg
      Src: /src/mcl/src/fp_generator.hpp:2976,1
    - Dst: getReg
      Src: /src/mcl/src/fp_generator.hpp:2977,1
    - Dst: getMem
      Src: /src/mcl/src/fp_generator.hpp:2979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - MemReg
    - Reg64
    constantsTouched: []
    func_position:
      end: 2981
      start: 2974
    functionDepth: 0
    functionLinenumber: 2974
    functionLinenumberEnd: 2981
    functionName: mcl::fp::make_op_mr
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - getReg
    - getMem
    - isReg
    linkageType: ''
    returnType: void
    signature: void make_op_mr(void (Xbyak::CodeGenerator::*op)(const Xbyak::Operand&,
      const Xbyak::Operand&), const MemReg& op1, const Reg64& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isReg
      Src: /src/mcl/src/fp_generator.hpp:2984,1
    - Dst: mcl::fp::make_op_rm
      Src: /src/mcl/src/fp_generator.hpp:2985,1
    - Dst: getReg
      Src: /src/mcl/src/fp_generator.hpp:2985,1
    - Dst: isReg
      Src: /src/mcl/src/fp_generator.hpp:2986,1
    - Dst: getMem
      Src: /src/mcl/src/fp_generator.hpp:2987,1
    - Dst: getReg
      Src: /src/mcl/src/fp_generator.hpp:2987,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:2989,1
    - Dst: getMem
      Src: /src/mcl/src/fp_generator.hpp:2989,1
    - Dst: getMem
      Src: /src/mcl/src/fp_generator.hpp:2990,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' op1'
    - ' op2'
    - ' t'
    argTypes:
    - MemReg
    - MemReg
    - Reg64
    constantsTouched: []
    func_position:
      end: 2992
      start: 2982
    functionDepth: 1
    functionLinenumber: 2982
    functionLinenumberEnd: 2992
    functionName: mcl::fp::make_op
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - isReg
    - getReg
    - getMem
    - mcl::fp::make_op_rm
    - mov
    linkageType: ''
    returnType: void
    signature: void make_op(void (Xbyak::CodeGenerator::*op)(const Xbyak::Operand&,
      const Xbyak::Operand&), const MemReg& op1, const MemReg& op2, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::make_op
      Src: /src/mcl/src/fp_generator.hpp:2993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' op1'
    - ' op2'
    - ' t'
    argTypes:
    - MemReg
    - MemReg
    - Reg64
    constantsTouched: []
    func_position:
      end: 2993
      start: 2993
    functionDepth: 2
    functionLinenumber: 2993
    functionLinenumberEnd: 2993
    functionName: mcl::fp::g_add
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 2
    functionsReached:
    - mcl::fp::make_op
    linkageType: ''
    returnType: void
    signature: void g_add(const MemReg& op1, const MemReg& op2, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::make_op
      Src: /src/mcl/src/fp_generator.hpp:2994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' op1'
    - ' op2'
    - ' t'
    argTypes:
    - MemReg
    - MemReg
    - Reg64
    constantsTouched: []
    func_position:
      end: 2994
      start: 2994
    functionDepth: 2
    functionLinenumber: 2994
    functionLinenumberEnd: 2994
    functionName: mcl::fp::g_adc
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 2
    functionsReached:
    - mcl::fp::make_op
    linkageType: ''
    returnType: void
    signature: void g_adc(const MemReg& op1, const MemReg& op2, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::make_op
      Src: /src/mcl/src/fp_generator.hpp:2995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' op1'
    - ' op2'
    - ' t'
    argTypes:
    - MemReg
    - MemReg
    - Reg64
    constantsTouched: []
    func_position:
      end: 2995
      start: 2995
    functionDepth: 2
    functionLinenumber: 2995
    functionLinenumberEnd: 2995
    functionName: mcl::fp::g_sub
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::make_op
    linkageType: ''
    returnType: void
    signature: void g_sub(const MemReg& op1, const MemReg& op2, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::make_op
      Src: /src/mcl/src/fp_generator.hpp:2996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' op1'
    - ' op2'
    - ' t'
    argTypes:
    - MemReg
    - MemReg
    - Reg64
    constantsTouched: []
    func_position:
      end: 2996
      start: 2996
    functionDepth: 2
    functionLinenumber: 2996
    functionLinenumberEnd: 2996
    functionName: mcl::fp::g_sbb
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::make_op
    linkageType: ''
    returnType: void
    signature: void g_sbb(const MemReg& op1, const MemReg& op2, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::make_op
      Src: /src/mcl/src/fp_generator.hpp:2997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' op1'
    - ' op2'
    - ' t'
    argTypes:
    - MemReg
    - MemReg
    - Reg64
    constantsTouched: []
    func_position:
      end: 2997
      start: 2997
    functionDepth: 2
    functionLinenumber: 2997
    functionLinenumberEnd: 2997
    functionName: mcl::fp::g_cmp
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::make_op
    linkageType: ''
    returnType: void
    signature: void g_cmp(const MemReg& op1, const MemReg& op2, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::make_op_rm
      Src: /src/mcl/src/fp_generator.hpp:2998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg64
    - MemReg
    constantsTouched: []
    func_position:
      end: 2998
      start: 2998
    functionDepth: 1
    functionLinenumber: 2998
    functionLinenumberEnd: 2998
    functionName: mcl::fp::g_or
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::make_op_rm
    linkageType: ''
    returnType: void
    signature: void g_or(const Reg64& r, const MemReg& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MemReg*::isReg
      Src: /src/mcl/src/fp_generator.hpp:3003,1
    - Dst: std::swap
      Src: /src/mcl/src/fp_generator.hpp:3004,1
    - Dst: MemReg*::isReg
      Src: /src/mcl/src/fp_generator.hpp:3007,1
    - Dst: MCL_FP_GEN_OP_MR
      Src: /src/mcl/src/fp_generator.hpp:3008,1
    - Dst: MemReg*::getReg
      Src: /src/mcl/src/fp_generator.hpp:3008,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3010,1
    - Dst: MemReg*::getMem
      Src: /src/mcl/src/fp_generator.hpp:3010,1
    - Dst: test
      Src: /src/mcl/src/fp_generator.hpp:3011,1
    - Dst: MemReg*::getMem
      Src: /src/mcl/src/fp_generator.hpp:3011,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' op1'
    - ' op2'
    - ' t'
    argTypes:
    - MemReg
    - MemReg
    - Reg64
    constantsTouched: []
    func_position:
      end: 3013
      start: 2999
    functionDepth: 1
    functionLinenumber: 2999
    functionLinenumberEnd: 3013
    functionName: mcl::fp::g_test
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - MCL_FP_GEN_OP_MR
    - MemReg*::getReg
    - std::swap
    - MemReg*::isReg
    - mov
    - test
    - MemReg*::getMem
    linkageType: ''
    returnType: void
    signature: void g_test(const MemReg& op1, const MemReg& op2, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::make_op_mr
      Src: /src/mcl/src/fp_generator.hpp:3016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' r'
    argTypes:
    - MemReg
    - Reg64
    constantsTouched: []
    func_position:
      end: 3017
      start: 3014
    functionDepth: 1
    functionLinenumber: 3014
    functionLinenumberEnd: 3017
    functionName: mcl::fp::g_mov
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::make_op_mr
    linkageType: ''
    returnType: void
    signature: void g_mov(const MemReg& op, const Reg64& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::make_op_rm
      Src: /src/mcl/src/fp_generator.hpp:3020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg64
    - MemReg
    constantsTouched: []
    func_position:
      end: 3021
      start: 3018
    functionDepth: 1
    functionLinenumber: 3018
    functionLinenumberEnd: 3021
    functionName: mcl::fp::g_mov
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::make_op_rm
    linkageType: ''
    returnType: void
    signature: void g_mov(const Reg64& r, const MemReg& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::g_mov
      Src: /src/mcl/src/fp_generator.hpp:3026,1
    - Dst: mcl::fp::g_or
      Src: /src/mcl/src/fp_generator.hpp:3027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' op1'
    - ' op2'
    - ' t'
    argTypes:
    - MemReg
    - MemReg
    - Reg64
    constantsTouched: []
    func_position:
      end: 3028
      start: 3024
    functionDepth: 2
    functionLinenumber: 3024
    functionLinenumberEnd: 3028
    functionName: mcl::fp::isBothZero
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::g_or
    - mcl::fp::g_mov
    linkageType: ''
    returnType: void
    signature: void isBothZero(const MemReg& op1, const MemReg& op2, const Reg64&
      t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:3038,1
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:3038,1
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:3038,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - Pack
    - Pack
    constantsTouched: []
    func_position:
      end: 3042
      start: 3036
    functionDepth: 1
    functionLinenumber: 3036
    functionLinenumberEnd: 3042
    functionName: mcl::fp::mov_rr
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 7
    functionsReached:
    - mov
    - assert
    - size
    linkageType: ''
    returnType: void
    signature: void mov_rr(const Pack& z, const Pack& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' m'
    - ' x'
    argTypes:
    - RegExp
    - Pack
    constantsTouched: []
    func_position:
      end: 3051
      start: 3046
    functionDepth: 0
    functionLinenumber: 3046
    functionLinenumberEnd: 3051
    functionName: mcl::fp::store_mr
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 23
    functionsReached:
    - mov
    linkageType: ''
    returnType: void
    signature: void store_mr(const RegExp& m, const Pack& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' m'
    - ' x'
    argTypes:
    - Xbyak::RegRip
    - Pack
    constantsTouched: []
    func_position:
      end: 3057
      start: 3052
    functionDepth: 0
    functionLinenumber: 3052
    functionLinenumberEnd: 3057
    functionName: mcl::fp::store_mr
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 23
    functionsReached:
    - mov
    linkageType: ''
    returnType: void
    signature: void store_mr(const Xbyak::RegRip& m, const Pack& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' z'
    - ' m'
    argTypes:
    - Pack
    - ADDR
    constantsTouched: []
    func_position:
      end: 3067
      start: 3062
    functionDepth: 0
    functionLinenumber: 3062
    functionLinenumberEnd: 3067
    functionName: mcl::fp::load_rm
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 13
    functionsReached:
    - mov
    linkageType: ''
    returnType: void
    signature: void load_rm(const Pack& z, const ADDR& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:3073,1
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:3074,1
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:3074,1
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:3074,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3076,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - Pack
    - Pack
    constantsTouched: []
    func_position:
      end: 3078
      start: 3071
    functionDepth: 1
    functionLinenumber: 3071
    functionLinenumberEnd: 3078
    functionName: mcl::fp::add_rr
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 8
    functionsReached:
    - add
    - adc
    - assert
    - size
    linkageType: ''
    returnType: void
    signature: void add_rr(const Pack& z, const Pack& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:3084,1
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:3085,1
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:3085,1
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:3085,1
    - Dst: sbb
      Src: /src/mcl/src/fp_generator.hpp:3087,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - Pack
    - Pack
    constantsTouched: []
    func_position:
      end: 3089
      start: 3082
    functionDepth: 1
    functionLinenumber: 3082
    functionLinenumberEnd: 3089
    functionName: mcl::fp::sub_rr
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - sbb
    - assert
    - size
    - sub
    linkageType: ''
    returnType: void
    signature: void sub_rr(const Pack& z, const Pack& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::add_ex
      Src: /src/mcl/src/fp_generator.hpp:3097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' z'
    - ' m'
    argTypes:
    - Pack
    - ADDR
    constantsTouched: []
    func_position:
      end: 3099
      start: 3094
    functionDepth: 2
    functionLinenumber: 3094
    functionLinenumberEnd: 3099
    functionName: mcl::fp::add_rm
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 7
    functionsReached:
    - mcl::fp::add_ex
    linkageType: ''
    returnType: void
    signature: void add_rm(const Pack& z, const ADDR& m, bool withCarry = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::sub_ex
      Src: /src/mcl/src/fp_generator.hpp:3107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' z'
    - ' m'
    argTypes:
    - Pack
    - ADDR
    constantsTouched: []
    func_position:
      end: 3109
      start: 3104
    functionDepth: 2
    functionLinenumber: 3104
    functionLinenumberEnd: 3109
    functionName: mcl::fp::sub_rm
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 11
    functionsReached:
    - mcl::fp::sub_ex
    linkageType: ''
    returnType: void
    signature: void sub_rm(const Pack& z, const ADDR& m, bool withCarry = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmovc
      Src: /src/mcl/src/fp_generator.hpp:3113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - Pack
    - Pack
    constantsTouched: []
    func_position:
      end: 3115
      start: 3110
    functionDepth: 1
    functionLinenumber: 3110
    functionLinenumberEnd: 3115
    functionName: mcl::fp::cmovc_rr
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 6
    functionsReached:
    - cmovc
    linkageType: ''
    returnType: void
    signature: void cmovc_rr(const Pack& z, const Pack& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isReg
      Src: /src/mcl/src/fp_generator.hpp:3124,1
    - Dst: test
      Src: /src/mcl/src/fp_generator.hpp:3125,1
    - Dst: getReg
      Src: /src/mcl/src/fp_generator.hpp:3125,1
    - Dst: getReg
      Src: /src/mcl/src/fp_generator.hpp:3125,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3127,1
    - Dst: getMem
      Src: /src/mcl/src/fp_generator.hpp:3127,1
    - Dst: test
      Src: /src/mcl/src/fp_generator.hpp:3128,1
    - Dst: mcl::fp::g_mov
      Src: /src/mcl/src/fp_generator.hpp:3131,1
    - Dst: mcl::fp::g_or
      Src: /src/mcl/src/fp_generator.hpp:3133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' z'
    - ' t'
    argTypes:
    - MixPack
    - Reg64
    constantsTouched: []
    func_position:
      end: 3136
      start: 3120
    functionDepth: 2
    functionLinenumber: 3120
    functionLinenumberEnd: 3136
    functionName: mcl::fp::or_mp
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - isReg
    - getReg
    - getMem
    - mcl::fp::g_mov
    - mov
    - test
    - mcl::fp::g_or
    linkageType: ''
    returnType: void
    signature: void or_mp(const MixPack& z, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/mcl/src/fp_generator.hpp:3140,1
    - Dst: and_
      Src: /src/mcl/src/fp_generator.hpp:3141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' y'
    - ' t'
    argTypes:
    - Pack
    - Reg64
    constantsTouched: []
    func_position:
      end: 3143
      start: 3138
    functionDepth: 1
    functionLinenumber: 3138
    functionLinenumberEnd: 3143
    functionName: mcl::fp::and_pr
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - and_
    - size
    linkageType: ''
    returnType: void
    signature: void and_pr(const Pack& y, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3155,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:3156,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:3157,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:3158,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' py'
    - ' x'
    - ' t0'
    argTypes:
    - RegExp
    - Reg64
    - Reg64
    constantsTouched: []
    func_position:
      end: 3160
      start: 3148
    functionDepth: 1
    functionLinenumber: 3148
    functionLinenumberEnd: 3160
    functionName: mcl::fp::mul2x1
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - add
    - mov
    - adc
    - mulx
    linkageType: ''
    returnType: void
    signature: void mul2x1(const RegExp& py, const Reg64& x, const Reg64& t0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3173,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:3174,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:3175,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:3176,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:3177,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3178,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ' py'
    - ' x'
    - ' t1'
    - ' t0'
    - ' t'
    argTypes:
    - RegExp
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    constantsTouched: []
    func_position:
      end: 3180
      start: 3165
    functionDepth: 1
    functionLinenumber: 3165
    functionLinenumberEnd: 3180
    functionName: mcl::fp::mul3x1
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 2
    functionsReached:
    - add
    - mov
    - adc
    - mulx
    linkageType: ''
    returnType: void
    signature: void mul3x1(const RegExp& py, const Reg64& x, const Reg64& t1, const
      Reg64& t0, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3186,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:3187,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3188,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3189,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3190,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:3191,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3192,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3193,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3194,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3195,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3196,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:3197,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3198,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3199,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:3205,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3206,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 6
    argNames:
    - ' px'
    - ' x0'
    - ' t2'
    - ' t1'
    - ' t0'
    - ' t'
    argTypes:
    - RegExp
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    constantsTouched: []
    func_position:
      end: 3208
      start: 3184
    functionDepth: 1
    functionLinenumber: 3184
    functionLinenumberEnd: 3208
    functionName: mcl::fp::mul3x1_sqr1
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - add
    - mov
    - adc
    - mul
    linkageType: ''
    returnType: void
    signature: void mul3x1_sqr1(const RegExp& px, const Reg64& x0, const Reg64& t2,
      const Reg64& t1, const Reg64& t0, const Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3214,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3215,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:3216,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3217,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3218,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3219,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:3220,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3221,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3222,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:3228,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3229,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 5
    argNames:
    - ' px'
    - ' x1'
    - ' t2'
    - ' t1'
    - ' t0'
    argTypes:
    - RegExp
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    constantsTouched: []
    func_position:
      end: 3231
      start: 3212
    functionDepth: 1
    functionLinenumber: 3212
    functionLinenumberEnd: 3231
    functionName: mcl::fp::mul3x1_sqr2
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - add
    - mov
    - adc
    - mul
    linkageType: ''
    returnType: void
    signature: void mul3x1_sqr2(const RegExp& px, const Reg64& x1, const Reg64& t2,
      const Reg64& t1, const Reg64& t0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3237,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:3238,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3244,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3245,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:3246,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3247,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' x2'
    - ' t1'
    - ' t0'
    argTypes:
    - Reg64
    - Reg64
    - Reg64
    constantsTouched: []
    func_position:
      end: 3249
      start: 3235
    functionDepth: 1
    functionLinenumber: 3235
    functionLinenumberEnd: 3249
    functionName: mcl::fp::mul3x1_sqr3
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - add
    - mov
    - adc
    - mul
    linkageType: ''
    returnType: void
    signature: void mul3x1_sqr3(const Reg64& x2, const Reg64& t1, const Reg64& t0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3267,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:3268,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3269,1
    - Dst: mcl::fp::mul3x1
      Src: /src/mcl/src/fp_generator.hpp:3270,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:3272,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3273,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3274,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3275,1
    - Dst: setc
      Src: /src/mcl/src/fp_generator.hpp:3278,1
    - Dst: cvt8
      Src: /src/mcl/src/fp_generator.hpp:3278,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3280,1
    - Dst: cvt8
      Src: /src/mcl/src/fp_generator.hpp:3280,1
    - Dst: cvt8
      Src: /src/mcl/src/fp_generator.hpp:3280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 12
    argNames:
    - pp
    - ' c3'
    - ' c2'
    - ' c1'
    - ' c0'
    - ' y'
    - ' p'
    - ' t0'
    - ' t1'
    - ' t3'
    - ' t4'
    - isFirst
    argTypes:
    - uint64_t
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - bool
    constantsTouched: []
    func_position:
      end: 3283
      start: 3260
    functionDepth: 2
    functionLinenumber: 3260
    functionLinenumberEnd: 3283
    functionName: mcl::fp::montgomery3_sub
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - add
    - mcl::fp::mul3x1
    - setc
    - adc
    - mov
    - cvt8
    - mul
    linkageType: ''
    returnType: void
    signature: "void montgomery3_sub(uint64_t pp, const Reg64& c3, const Reg64& c2,
      const Reg64& c1, const Reg64& c0,\n\t\tconst Reg64& /*px*/, const Reg64& y,
      const Reg64& p,\n\t\tconst Reg64& t0, const Reg64& t1, const Reg64& t3, const
      Reg64& t4, bool isFirst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::mul3x1
      Src: /src/mcl/src/fp_generator.hpp:3299,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3300,1
    - Dst: mcl::fp::mul3x1
      Src: /src/mcl/src/fp_generator.hpp:3303,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:3305,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:3305,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:3305,1
    - Dst: setc
      Src: /src/mcl/src/fp_generator.hpp:3306,1
    - Dst: cvt8
      Src: /src/mcl/src/fp_generator.hpp:3306,1
    - Dst: mcl::fp::montgomery3_sub
      Src: /src/mcl/src/fp_generator.hpp:3308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 13
    argNames:
    - pp
    - ' c3'
    - ' c2'
    - ' c1'
    - ' c0'
    - ' px'
    - ' y'
    - ' p'
    - ' t0'
    - ' t1'
    - ' t3'
    - ' t4'
    - isFirst
    argTypes:
    - uint64_t
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - bool
    constantsTouched: []
    func_position:
      end: 3309
      start: 3294
    functionDepth: 3
    functionLinenumber: 3294
    functionLinenumberEnd: 3309
    functionName: mcl::fp::montgomery3_1
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - Pack
    - mcl::fp::mul3x1
    - mcl::fp::montgomery3_sub
    - setc
    - mcl::fp::add_rr
    - mov
    - cvt8
    linkageType: ''
    returnType: void
    signature: "void montgomery3_1(uint64_t pp, const Reg64& c3, const Reg64& c2,
      const Reg64& c1, const Reg64& c0,\n\t\tconst Reg64& px, const Reg64& y, const
      Reg64& p,\n\t\tconst Reg64& t0, const Reg64& t1, const Reg64& t3, const Reg64&
      t4, bool isFirst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3316,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:3317,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:3318,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:3319,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:3320,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3321,1
    - Dst: mulx
      Src: /src/mcl/src/fp_generator.hpp:3322,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3323,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ' py'
    - ' x'
    - ' t2'
    - ' t1'
    - ' t0'
    argTypes:
    - RegExp
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    constantsTouched: []
    func_position:
      end: 3325
      start: 3314
    functionDepth: 1
    functionLinenumber: 3314
    functionLinenumberEnd: 3325
    functionName: mcl::fp::mul4x1
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 2
    functionsReached:
    - add
    - mov
    - adc
    - mulx
    linkageType: ''
    returnType: void
    signature: void mul4x1(const RegExp& py, const Reg64& x, const Reg64& t2, const
      Reg64& t1, const Reg64& t0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::mul4x1
      Src: /src/mcl/src/fp_generator.hpp:3343,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3344,1
    - Dst: mcl::fp::mul4x1
      Src: /src/mcl/src/fp_generator.hpp:3347,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:3350,1
    - Dst: xor_
      Src: /src/mcl/src/fp_generator.hpp:3351,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:3353,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:3353,1
    - Dst: Pack
      Src: /src/mcl/src/fp_generator.hpp:3353,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3355,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3360,1
    - Dst: mul
      Src: /src/mcl/src/fp_generator.hpp:3361,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3362,1
    - Dst: mcl::fp::mul4x1
      Src: /src/mcl/src/fp_generator.hpp:3363,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:3364,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3365,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3366,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3367,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3368,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3371,1
    - Dst: adc
      Src: /src/mcl/src/fp_generator.hpp:3373,1
    - Dst: vmovq
      Src: /src/mcl/src/fp_generator.hpp:3374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 14
    argNames:
    - pp
    - ' c4'
    - ' c3'
    - ' c2'
    - ' c1'
    - ' c0'
    - ' px'
    - ' y'
    - ' p'
    - ' t0'
    - ' t1'
    - ' t2'
    - isFirst
    - ' xt'
    argTypes:
    - uint64_t
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - Reg64
    - bool
    - Xmm
    constantsTouched: []
    func_position:
      end: 3377
      start: 3338
    functionDepth: 2
    functionLinenumber: 3338
    functionLinenumberEnd: 3377
    functionName: mcl::fp::montgomery4_1
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::mul4x1
    - add
    - Pack
    - vmovq
    - mcl::fp::add_rr
    - xor_
    - mov
    - adc
    - mul
    linkageType: ''
    returnType: void
    signature: "void montgomery4_1(uint64_t pp, const Reg64& c4, const Reg64& c3,
      const Reg64& c2, const Reg64& c1, const Reg64& c0,\n\t\tconst Reg64& px, const
      Reg64& y, const Reg64& p,\n\t\tconst Reg64& t0, const Reg64& t1, const Reg64&
      t2, bool isFirst, const Xmm& xt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:3382,1
    - Dst: getCurr<void3u>
      Src: /src/mcl/src/fp_generator.hpp:3383,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:3387,1
    - Dst: StackFrame::close
      Src: /src/mcl/src/fp_generator.hpp:3388,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:3390,1
    - Dst: sub
      Src: /src/mcl/src/fp_generator.hpp:3398,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3399,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3400,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3401,1
    - Dst: mcl::fp::gen_raw_add
      Src: /src/mcl/src/fp_generator.hpp:3403,1
    - Dst: mcl::fp::gen_raw_add
      Src: /src/mcl/src/fp_generator.hpp:3405,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:3407,1
    - Dst: mcl::fp::mulPre4
      Src: /src/mcl/src/fp_generator.hpp:3409,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:3411,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:3412,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:3413,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3416,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3417,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3418,1
    - Dst: mcl::fp::mulPre4
      Src: /src/mcl/src/fp_generator.hpp:3420,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:3422,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3425,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:3426,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3427,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:3428,1
    - Dst: mcl::fp::mulPre4
      Src: /src/mcl/src/fp_generator.hpp:3430,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:3432,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:3433,1
    - Dst: Pack::sub
      Src: /src/mcl/src/fp_generator.hpp:3439,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:3441,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:3442,1
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:3444,1
    - Dst: Pack::size
      Src: /src/mcl/src/fp_generator.hpp:3444,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3446,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:3447,1
    - Dst: mcl::fp::sub_rm
      Src: /src/mcl/src/fp_generator.hpp:3448,1
    - Dst: mcl::fp::sub_rm
      Src: /src/mcl/src/fp_generator.hpp:3449,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:3450,1
    - Dst: mcl::fp::gen_raw_sub
      Src: /src/mcl/src/fp_generator.hpp:3452,1
    - Dst: mcl::fp::gen_raw_fp_sub
      Src: /src/mcl/src/fp_generator.hpp:3455,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:3457,1
    - Dst: ret
      Src: /src/mcl/src/fp_generator.hpp:3458,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 61
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void3u
    constantsTouched: []
    func_position:
      end: 3460
      start: 3378
    functionDepth: 4
    functionLinenumber: 3378
    functionLinenumberEnd: 3460
    functionName: mcl::fp::gen_fp2Dbl_mulPre
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - add
    - StackFrame::close
    - mcl::fp::store_mr
    - mcl::fp::gen_raw_sub
    - assert
    - mcl::fp::gen_raw_add
    - align
    - mcl::fp::load_rm
    - mov
    - Pack::sub
    - Pack::append
    - mcl::fp::mulPre4
    - L
    - lea
    - mcl::fp::gen_raw_fp_sub
    - ret
    - mcl::fp::sub_rm
    - sub
    - call
    - getCurr<void3u>
    - Pack::size
    linkageType: ''
    returnType: bool
    signature: bool gen_fp2Dbl_mulPre(void3u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:3465,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:3466,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3473,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3474,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:3477,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:3478,1
    - Dst: Pack::sub
      Src: /src/mcl/src/fp_generator.hpp:3480,1
    - Dst: Pack::sub
      Src: /src/mcl/src/fp_generator.hpp:3481,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:3482,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3484,1
    - Dst: mcl::fp::add_ex
      Src: /src/mcl/src/fp_generator.hpp:3485,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3486,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:3488,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:3489,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:3490,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3491,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:3492,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:3493,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3494,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:3495,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3496,1
    - Dst: mcl::fp::gen_raw_fp_sub
      Src: /src/mcl/src/fp_generator.hpp:3497,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3498,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:3499,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:3500,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:3501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void2u
    constantsTouched: []
    func_position:
      end: 3503
      start: 3461
    functionDepth: 3
    functionLinenumber: 3461
    functionLinenumberEnd: 3503
    functionName: mcl::fp::gen_fp2Dbl_sqrPre
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::add_ex
    - add
    - lea
    - mcl::fp::store_mr
    - getCurr<void2u>
    - Pack::sub
    - call
    - Pack::append
    - align
    - mcl::fp::load_rm
    - mcl::fp::add_rr
    - mov
    - mcl::fp::gen_raw_fp_sub
    linkageType: ''
    returnType: bool
    signature: bool gen_fp2Dbl_sqrPre(void2u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:3509,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:3510,1
    - Dst: StackFrame::t::sub
      Src: /src/mcl/src/fp_generator.hpp:3513,1
    - Dst: StackFrame::t::sub
      Src: /src/mcl/src/fp_generator.hpp:3514,1
    - Dst: mcl::fp::gen_raw_add
      Src: /src/mcl/src/fp_generator.hpp:3520,1
    - Dst: mcl::fp::gen_raw_sub
      Src: /src/mcl/src/fp_generator.hpp:3522,1
    - Dst: mcl::fp::gen_raw_fp_sub
      Src: /src/mcl/src/fp_generator.hpp:3523,1
    - Dst: mcl::fp::mov_mm
      Src: /src/mcl/src/fp_generator.hpp:3526,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:3528,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:3529,1
    - Dst: mcl::fp::sub_p_mod
      Src: /src/mcl/src/fp_generator.hpp:3530,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:3531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void2u
    constantsTouched: []
    func_position:
      end: 3533
      start: 3504
    functionDepth: 3
    functionLinenumber: 3504
    functionLinenumberEnd: 3533
    functionName: mcl::fp::gen_fp2Dbl_mul_xi
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - lea
    - StackFrame::t::sub
    - mcl::fp::gen_raw_sub
    - getCurr<void2u>
    - mcl::fp::sub_p_mod
    - mcl::fp::store_mr
    - mcl::fp::mov_mm
    - mcl::fp::gen_raw_add
    - align
    - mcl::fp::load_rm
    - mcl::fp::gen_raw_fp_sub
    linkageType: ''
    returnType: bool
    signature: bool gen_fp2Dbl_mul_xi(void2u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:3537,1
    - Dst: getCurr<void3u>
      Src: /src/mcl/src/fp_generator.hpp:3538,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:3548,1
    - Dst: mcl::fp::gen_raw_fp_add
      Src: /src/mcl/src/fp_generator.hpp:3550,1
    - Dst: mcl::fp::gen_raw_fp_add
      Src: /src/mcl/src/fp_generator.hpp:3551,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void3u
    constantsTouched: []
    func_position:
      end: 3553
      start: 3534
    functionDepth: 4
    functionLinenumber: 3534
    functionLinenumberEnd: 3553
    functionName: mcl::fp::gen_fp2_add
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - align
    - getCurr<void3u>
    - mcl::fp::gen_raw_fp_add
    - Pack::append
    linkageType: ''
    returnType: bool
    signature: bool gen_fp2_add(void3u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:3557,1
    - Dst: getCurr<void3u>
      Src: /src/mcl/src/fp_generator.hpp:3558,1
    - Dst: mcl::fp::gen_raw_fp_sub
      Src: /src/mcl/src/fp_generator.hpp:3565,1
    - Dst: mcl::fp::gen_raw_fp_sub
      Src: /src/mcl/src/fp_generator.hpp:3566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void3u
    constantsTouched: []
    func_position:
      end: 3568
      start: 3554
    functionDepth: 2
    functionLinenumber: 3554
    functionLinenumberEnd: 3568
    functionName: mcl::fp::gen_fp2_sub
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - align
    - getCurr<void3u>
    - mcl::fp::gen_raw_fp_sub
    linkageType: ''
    returnType: bool
    signature: bool gen_fp2_sub(void3u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:3576,1
    - Dst: StackFrame::t::sub
      Src: /src/mcl/src/fp_generator.hpp:3580,1
    - Dst: StackFrame::t::sub
      Src: /src/mcl/src/fp_generator.hpp:3581,1
    - Dst: StackFrame::t::sub
      Src: /src/mcl/src/fp_generator.hpp:3582,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:3583,1
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:3584,1
    - Dst: Pack::size
      Src: /src/mcl/src/fp_generator.hpp:3584,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:3585,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:3586,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3588,1
    - Dst: mcl::fp::add_ex
      Src: /src/mcl/src/fp_generator.hpp:3589,1
    - Dst: mcl::fp::sub_rr
      Src: /src/mcl/src/fp_generator.hpp:3591,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:3592,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:3593,1
    - Dst: sbb
      Src: /src/mcl/src/fp_generator.hpp:3594,1
    - Dst: and_
      Src: /src/mcl/src/fp_generator.hpp:3596,1
    - Dst: mcl::fp::add_rr
      Src: /src/mcl/src/fp_generator.hpp:3598,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:3599,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:3600,1
    - Dst: mcl::fp::mov_rr
      Src: /src/mcl/src/fp_generator.hpp:3601,1
    - Dst: mcl::fp::sub_rm
      Src: /src/mcl/src/fp_generator.hpp:3602,1
    - Dst: mcl::fp::cmovc_rr
      Src: /src/mcl/src/fp_generator.hpp:3603,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:3604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3605
      start: 3574
    functionDepth: 3
    functionLinenumber: 3574
    functionLinenumberEnd: 3605
    functionName: mcl::fp::gen_fp2_mul_xi4
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::add_ex
    - lea
    - sbb
    - mcl::fp::sub_rm
    - mcl::fp::cmovc_rr
    - StackFrame::t::sub
    - mcl::fp::store_mr
    - assert
    - mcl::fp::sub_rr
    - and_
    - Pack::append
    - Pack::size
    - mcl::fp::load_rm
    - mcl::fp::add_rr
    - mcl::fp::mov_rr
    - mov
    linkageType: ''
    returnType: void
    signature: void gen_fp2_mul_xi4()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/fp_generator.hpp:3608,1
    - Dst: StackFrame::t::sub
      Src: /src/mcl/src/fp_generator.hpp:3612,1
    - Dst: StackFrame::t::sub
      Src: /src/mcl/src/fp_generator.hpp:3613,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:3614,1
    - Dst: mcl::fp::mov_rr
      Src: /src/mcl/src/fp_generator.hpp:3615,1
    - Dst: mcl::fp::add_rm
      Src: /src/mcl/src/fp_generator.hpp:3616,1
    - Dst: mcl::fp::sub_rm
      Src: /src/mcl/src/fp_generator.hpp:3617,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:3618,1
    - Dst: jnc
      Src: /src/mcl/src/fp_generator.hpp:3619,1
    - Dst: mcl::fp::add_rm
      Src: /src/mcl/src/fp_generator.hpp:3620,1
    - Dst: L
      Src: /src/mcl/src/fp_generator.hpp:3621,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:3622,1
    - Dst: mcl::fp::mov_rr
      Src: /src/mcl/src/fp_generator.hpp:3623,1
    - Dst: mcl::fp::sub_rm
      Src: /src/mcl/src/fp_generator.hpp:3624,1
    - Dst: mcl::fp::cmovc_rr
      Src: /src/mcl/src/fp_generator.hpp:3625,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:3626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3627
      start: 3606
    functionDepth: 3
    functionLinenumber: 3606
    functionLinenumberEnd: 3627
    functionName: mcl::fp::gen_fp2_mul_xi6
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 0
    functionsReached:
    - lea
    - mcl::fp::sub_rm
    - mcl::fp::cmovc_rr
    - StackFrame::t::sub
    - mcl::fp::store_mr
    - assert
    - mcl::fp::add_rm
    - mcl::fp::load_rm
    - mcl::fp::mov_rr
    - L
    - jnc
    linkageType: ''
    returnType: void
    signature: void gen_fp2_mul_xi6()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:3632,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:3634,1
    - Dst: mcl::fp::gen_fp2_mul_xi4
      Src: /src/mcl/src/fp_generator.hpp:3635,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:3639,1
    - Dst: mcl::fp::gen_fp2_mul_xi6
      Src: /src/mcl/src/fp_generator.hpp:3640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void2u
    constantsTouched: []
    func_position:
      end: 3644
      start: 3628
    functionDepth: 4
    functionLinenumber: 3628
    functionLinenumberEnd: 3644
    functionName: mcl::fp::gen_fp2_mul_xi
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - align
    - mcl::fp::gen_fp2_mul_xi4
    - getCurr<void2u>
    - mcl::fp::gen_fp2_mul_xi6
    linkageType: ''
    returnType: bool
    signature: bool gen_fp2_mul_xi(void2u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:3648,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:3649,1
    - Dst: mcl::fp::gen_raw_neg
      Src: /src/mcl/src/fp_generator.hpp:3651,1
    - Dst: mcl::fp::gen_raw_neg
      Src: /src/mcl/src/fp_generator.hpp:3652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void2u
    constantsTouched: []
    func_position:
      end: 3654
      start: 3645
    functionDepth: 3
    functionLinenumber: 3645
    functionLinenumberEnd: 3654
    functionName: mcl::fp::gen_fp2_neg
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - align
    - mcl::fp::gen_raw_neg
    - getCurr<void2u>
    linkageType: ''
    returnType: bool
    signature: bool gen_fp2_neg(void2u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:3659,1
    - Dst: getCurr<void3u>
      Src: /src/mcl/src/fp_generator.hpp:3660,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3664,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:3665,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:3667,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3668,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:3669,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:3670,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3672,1
    - Dst: add
      Src: /src/mcl/src/fp_generator.hpp:3673,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:3674,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:3675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void3u
    constantsTouched: []
    func_position:
      end: 3677
      start: 3655
    functionDepth: 3
    functionLinenumber: 3655
    functionLinenumberEnd: 3677
    functionName: mcl::fp::gen_fp2_mul
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - add
    - lea
    - call
    - getCurr<void3u>
    - align
    - mov
    linkageType: ''
    returnType: bool
    signature: bool gen_fp2_mul(void3u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/mcl/src/fp_generator.hpp:3684,1
    - Dst: getCurr<void2u>
      Src: /src/mcl/src/fp_generator.hpp:3685,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3693,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3694,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:3696,1
    - Dst: StackFrame::t::sub
      Src: /src/mcl/src/fp_generator.hpp:3698,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:3699,1
    - Dst: mcl::fp::shl1
      Src: /src/mcl/src/fp_generator.hpp:3700,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:3701,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3704,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3705,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:3706,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:3710,1
    - Dst: Pack::append
      Src: /src/mcl/src/fp_generator.hpp:3711,1
    - Dst: Pack::sub
      Src: /src/mcl/src/fp_generator.hpp:3712,1
    - Dst: Pack::sub
      Src: /src/mcl/src/fp_generator.hpp:3713,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3714,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:3715,1
    - Dst: mcl::fp::load_rm
      Src: /src/mcl/src/fp_generator.hpp:3716,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3719,1
    - Dst: mcl::fp::add_ex
      Src: /src/mcl/src/fp_generator.hpp:3720,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3721,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:3724,1
    - Dst: mcl::fp::add_rm
      Src: /src/mcl/src/fp_generator.hpp:3725,1
    - Dst: mcl::fp::sub_rr
      Src: /src/mcl/src/fp_generator.hpp:3726,1
    - Dst: mcl::fp::store_mr
      Src: /src/mcl/src/fp_generator.hpp:3727,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3730,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:3731,1
    - Dst: lea
      Src: /src/mcl/src/fp_generator.hpp:3732,1
    - Dst: call
      Src: /src/mcl/src/fp_generator.hpp:3733,1
    - Dst: mov
      Src: /src/mcl/src/fp_generator.hpp:3734,1
    - Dst: mcl::fp::mov_mm
      Src: /src/mcl/src/fp_generator.hpp:3735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - void2u
    constantsTouched: []
    func_position:
      end: 3737
      start: 3678
    functionDepth: 3
    functionLinenumber: 3678
    functionLinenumberEnd: 3737
    functionName: mcl::fp::gen_fp2_sqr
    functionSourceFile: /src/mcl/src/fp_generator.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::add_ex
    - lea
    - StackFrame::t::sub
    - mcl::fp::store_mr
    - getCurr<void2u>
    - mcl::fp::sub_rr
    - call
    - Pack::sub
    - mcl::fp::mov_mm
    - Pack::append
    - align
    - mcl::fp::add_rm
    - mcl::fp::load_rm
    - mov
    - mcl::fp::shl1
    linkageType: ''
    returnType: bool
    signature: bool gen_fp2_sqr(void2u& func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cpu::has
      Src: /src/mcl/src/bint_impl.hpp:33,1
    - Dst: Cpu::has
      Src: /src/mcl/src/bint_impl.hpp:36,1
    - Dst: getenv_s
      Src: /src/mcl/src/bint_impl.hpp:44,1
    - Dst: getenv
      Src: /src/mcl/src/bint_impl.hpp:50,1
    - Dst: strcmp
      Src: /src/mcl/src/bint_impl.hpp:53,1
    - Dst: strcmp
      Src: /src/mcl/src/bint_impl.hpp:55,1
    - Dst: mclb_enable_fast
      Src: /src/mcl/src/bint_impl.hpp:61,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 66
    functionName: mcl::bint::initBint
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached:
    - strcmp
    - getenv_s
    - Cpu::has
    - getenv
    - mclb_enable_fast
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t initBint()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 97
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 97
    functionName: mcl::bint::addT
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Unit
    signature: Unit addT(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - T*
    - Unit*
    constantsTouched: []
    func_position:
      end: 123
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 123
    functionName: mcl::bint::subT
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Unit
    signature: Unit subT(Unit *z, const T *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::addT
      Src: /src/mcl/src/bint_impl.hpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: mcl::bint::addNFT
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::addT
    linkageType: ''
    returnType: void
    signature: void addNFT(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::subT
      Src: /src/mcl/src/bint_impl.hpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: mcl::bint::subNFT
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::subT
    linkageType: ''
    returnType: Unit
    signature: Unit subNFT(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint128_t
      Src: /src/mcl/src/bint_impl.hpp:154,1
    - Dst: mcl::bint::mulUnit1
      Src: /src/mcl/src/bint_impl.hpp:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - T*
    - Unit*
    - Unit
    constantsTouched: []
    func_position:
      end: 172
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 172
    functionName: mcl::bint::mulUnitT
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::mulUnit1
    - uint128_t
    linkageType: ''
    returnType: Unit
    signature: Unit mulUnitT(T *z, const Unit *x, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::mulUnitT
      Src: /src/mcl/src/bint_impl.hpp:188,1
    - Dst: mcl::bint::addT
      Src: /src/mcl/src/bint_impl.hpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - T*
    - Unit*
    - Unit
    constantsTouched: []
    func_position:
      end: 192
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 192
    functionName: mcl::bint::mulUnitAddT
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::addT
    - mcl::bint::mulUnitT
    linkageType: ''
    returnType: Unit
    signature: Unit mulUnitAddT(T *z, const Unit *x, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::mulUnitT
      Src: /src/mcl/src/bint_impl.hpp:198,1
    - Dst: mcl::bint::mulUnitAddT
      Src: /src/mcl/src/bint_impl.hpp:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pz
    - px
    - py
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: mcl::bint::mulT
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::mulUnitAddT
    - mcl::bint::mulUnitT
    linkageType: ''
    returnType: void
    signature: void mulT(Unit *pz, const Unit *px, const Unit *py)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::mulT
      Src: /src/mcl/src/bint_impl.hpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - py
    - px
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: mcl::bint::sqrT
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::mulT
    linkageType: ''
    returnType: void
    signature: void sqrT(Unit *py, const Unit *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pz
    - px
    - bit
    - n
    argTypes:
    - Unit*
    - Unit*
    - Unit
    - size_t
    constantsTouched: []
    func_position:
      end: 229
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 229
    functionName: mcl::bint::shlN
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API shlN(Unit *pz, const Unit *px, Unit bit, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pz
    - px
    - bit
    - n
    argTypes:
    - Unit*
    - Unit*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 244
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 244
    functionName: mcl::bint::shrN
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API shrN(Unit *pz, const Unit *px, size_t bit, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:255,1
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:256,1
    - Dst: mcl::bint::shlN
      Src: /src/mcl/src/bint_impl.hpp:266,1
    - Dst: mcl::bint::clearN
      Src: /src/mcl/src/bint_impl.hpp:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - y
    - x
    - bit
    - xn
    argTypes:
    - Unit*
    - Unit*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 271
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 271
    functionName: mcl::bint::shiftLeft
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::shlN
    - assert
    - mcl::bint::clearN
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API shiftLeft(Unit *y, const Unit *x, size_t bit, size_t xn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:281,1
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:282,1
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:285,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/src/bint_impl.hpp:287,1
    - Dst: mcl::bint::shrN
      Src: /src/mcl/src/bint_impl.hpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - y
    - x
    - bit
    - xn
    argTypes:
    - Unit*
    - Unit*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 292
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 292
    functionName: mcl::bint::shiftRight
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached:
    - assert
    - mcl::bint::shrN
    - mcl::bint::copyN
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API shiftRight(Unit *y, const Unit *x, size_t bit, size_t xn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - y
    - n
    - x
    argTypes:
    - Unit*
    - size_t
    - Unit
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: mcl::bint::addUnit
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API addUnit(Unit *y, size_t n, Unit x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - y
    - n
    - x
    argTypes:
    - Unit*
    - size_t
    - Unit
    constantsTouched: []
    func_position:
      end: 322
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 322
    functionName: mcl::bint::subUnit
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API subUnit(Unit *y, size_t n, Unit x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:331,1
    - Dst: mcl::bint::divUnit1
      Src: /src/mcl/src/bint_impl.hpp:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - q
    - x
    - n
    - y
    argTypes:
    - Unit*
    - Unit*
    - size_t
    - Unit
    constantsTouched: []
    func_position:
      end: 338
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 338
    functionName: mcl::bint::divUnit
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached:
    - assert
    - mcl::bint::divUnit1
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API divUnit(Unit *q, const Unit *x, size_t n, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:345,1
    - Dst: mcl::bint::divUnit1
      Src: /src/mcl/src/bint_impl.hpp:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - x
    - n
    - y
    argTypes:
    - Unit*
    - size_t
    - Unit
    constantsTouched: []
    func_position:
      end: 352
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 352
    functionName: mcl::bint::modUnit
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached:
    - assert
    - mcl::bint::divUnit1
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API modUnit(const Unit *x, size_t n, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:357,1
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:359,1
    - Dst: mcl::bint::clearN
      Src: /src/mcl/src/bint_impl.hpp:366,1
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:370,1
    - Dst: Unit
      Src: /src/mcl/src/bint_impl.hpp:371,1
    - Dst: get_sub
      Src: /src/mcl/src/bint_impl.hpp:372,1
    - Dst: Unit
      Src: /src/mcl/src/bint_impl.hpp:373,1
    - Dst: sub
      Src: /src/mcl/src/bint_impl.hpp:374,1
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/src/bint_impl.hpp:377,1
    - Dst: mcl::bint::mulUnitN
      Src: /src/mcl/src/bint_impl.hpp:379,1
    - Dst: sub
      Src: /src/mcl/src/bint_impl.hpp:380,1
    - Dst: mcl::bint::cmpGeN
      Src: /src/mcl/src/bint_impl.hpp:383,1
    - Dst: sub
      Src: /src/mcl/src/bint_impl.hpp:384,1
    - Dst: mcl::bint::clearN
      Src: /src/mcl/src/bint_impl.hpp:393,1
    - Dst: mcl::bint::getRealSize
      Src: /src/mcl/src/bint_impl.hpp:395,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 6
    argNames:
    - q
    - qn
    - x
    - xn
    - y
    - yn
    argTypes:
    - Unit*
    - size_t
    - Unit*
    - size_t
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 396
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 396
    functionName: mcl::bint::divSmall
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::getRealSize
    - sub
    - CYBOZU_ALLOCA
    - mcl::bint::cmpGeN
    - assert
    - mcl::bint::mulUnitN
    - get_sub
    - mcl::bint::clearN
    - Unit
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API divSmall(Unit *q, size_t qn, Unit *x, size_t xn, const
      Unit *y, size_t yn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:400,1
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:401,1
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:403,1
    - Dst: mcl::bint::clearN
      Src: /src/mcl/src/bint_impl.hpp:404,1
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/src/bint_impl.hpp:405,1
    - Dst: Unit
      Src: /src/mcl/src/bint_impl.hpp:408,1
    - Dst: mcl::bint::divUnit1
      Src: /src/mcl/src/bint_impl.hpp:410,1
    - Dst: Unit
      Src: /src/mcl/src/bint_impl.hpp:410,1
    - Dst: get_sub
      Src: /src/mcl/src/bint_impl.hpp:412,1
    - Dst: get_mulUnit
      Src: /src/mcl/src/bint_impl.hpp:413,1
    - Dst: mcl::bint::cmpGeN
      Src: /src/mcl/src/bint_impl.hpp:420,1
    - Dst: mcl::bint::subN
      Src: /src/mcl/src/bint_impl.hpp:421,1
    - Dst: mcl::bint::addUnit
      Src: /src/mcl/src/bint_impl.hpp:422,1
    - Dst: Unit
      Src: /src/mcl/src/bint_impl.hpp:429,1
    - Dst: mcl::bint::mulUnit1
      Src: /src/mcl/src/bint_impl.hpp:432,1
    - Dst: mcl::bint::mulUnit
      Src: /src/mcl/src/bint_impl.hpp:436,1
    - Dst: sub
      Src: /src/mcl/src/bint_impl.hpp:437,1
    - Dst: mcl::bint::addUnit
      Src: /src/mcl/src/bint_impl.hpp:439,1
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:442,1
    - Dst: mcl::bint::cmpLtN
      Src: /src/mcl/src/bint_impl.hpp:442,1
    - Dst: mcl::bint::getRealSize
      Src: /src/mcl/src/bint_impl.hpp:443,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 6
    argNames:
    - q
    - qn
    - x
    - xn
    - y
    - yn
    argTypes:
    - Unit*
    - size_t
    - Unit*
    - size_t
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 445
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 445
    functionName: mcl::bint::divFullBit
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::mulUnit1
    - mcl::bint::mulUnit
    - mcl::bint::subN
    - mcl::bint::getRealSize
    - sub
    - CYBOZU_ALLOCA
    - mcl::bint::cmpGeN
    - assert
    - mcl::bint::cmpLtN
    - get_mulUnit
    - get_sub
    - mcl::bint::divUnit1
    - mcl::bint::addUnit
    - mcl::bint::clearN
    - Unit
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API divFullBit(Unit *q, size_t qn, Unit *x, size_t xn, const
      Unit *y, size_t yn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:450,1
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:451,1
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:452,1
    - Dst: mcl::bint::getRealSize
      Src: /src/mcl/src/bint_impl.hpp:453,1
    - Dst: mcl::bint::clearN
      Src: /src/mcl/src/bint_impl.hpp:457,1
    - Dst: mcl::bint::divUnit
      Src: /src/mcl/src/bint_impl.hpp:459,1
    - Dst: mcl::bint::modUnit
      Src: /src/mcl/src/bint_impl.hpp:461,1
    - Dst: mcl::bint::clearN
      Src: /src/mcl/src/bint_impl.hpp:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - q
    - qn
    - x
    - xn
    - y
    argTypes:
    - Unit*
    - size_t
    - Unit*
    - size_t
    - Unit*
    constantsTouched: []
    func_position:
      end: 466
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 466
    functionName: mcl::bint::div1
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::modUnit
    - mcl::bint::divUnit
    - mcl::bint::getRealSize
    - assert
    - mcl::bint::clearN
    linkageType: ''
    returnType: size_t
    signature: size_t div1(Unit *q, size_t qn, Unit *x, size_t xn, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::div1
      Src: /src/mcl/src/bint_impl.hpp:470,1
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:471,1
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:472,1
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:473,1
    - Dst: mcl::bint::getRealSize
      Src: /src/mcl/src/bint_impl.hpp:474,1
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/src/bint_impl.hpp:484,1
    - Dst: mcl::bint::shlN
      Src: /src/mcl/src/bint_impl.hpp:485,1
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/src/bint_impl.hpp:486,1
    - Dst: mcl::bint::shlN
      Src: /src/mcl/src/bint_impl.hpp:487,1
    - Dst: mcl::bint::divFullBit
      Src: /src/mcl/src/bint_impl.hpp:492,1
    - Dst: mcl::bint::shrN
      Src: /src/mcl/src/bint_impl.hpp:493,1
    - Dst: mcl::bint::divFullBit
      Src: /src/mcl/src/bint_impl.hpp:496,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 6
    argNames:
    - q
    - qn
    - x
    - xn
    - y
    - yn
    argTypes:
    - Unit*
    - size_t
    - Unit*
    - size_t
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 498
      start: 468
    functionDepth: 3
    functionLinenumber: 468
    functionLinenumberEnd: 498
    functionName: mcl::bint::div
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 2
    functionsReached:
    - mcl::bint::shlN
    - mcl::bint::divFullBit
    - mcl::bint::getRealSize
    - CYBOZU_ALLOCA
    - assert
    - mcl::bint::shrN
    - mcl::bint::div1
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API div(Unit *q, size_t qn, Unit *x, size_t xn, const Unit
      *y, size_t yn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::swap_
      Src: /src/mcl/src/bint_impl.hpp:505,1
    - Dst: mcl::fp::swap_
      Src: /src/mcl/src/bint_impl.hpp:506,1
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:508,1
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/src/bint_impl.hpp:510,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/src/bint_impl.hpp:511,1
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/src/bint_impl.hpp:515,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/src/bint_impl.hpp:516,1
    - Dst: mcl::bint::mulUnitN
      Src: /src/mcl/src/bint_impl.hpp:519,1
    - Dst: get_mulUnitAdd
      Src: /src/mcl/src/bint_impl.hpp:520,1
    - Dst: mulUnitAdd
      Src: /src/mcl/src/bint_impl.hpp:522,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - z
    - x
    - xn
    - y
    - yn
    argTypes:
    - Unit*
    - Unit*
    - size_t
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 524
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 524
    functionName: mcl::bint::mulNM
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::swap_
    - mulUnitAdd
    - CYBOZU_ALLOCA
    - assert
    - mcl::bint::mulUnitN
    - get_mulUnitAdd
    - mcl::bint::copyN
    linkageType: ''
    returnType: void
    signature: void mulNM(Unit *z, const Unit *x, size_t xn, const Unit *y, size_t
      yn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::mulUnitT
      Src: /src/mcl/src/bint_impl.hpp:547,1
    - Dst: mcl::bint::addT
      Src: /src/mcl/src/bint_impl.hpp:548,1
    - Dst: mcl::bint::mulUnit1
      Src: /src/mcl/src/bint_impl.hpp:550,1
    - Dst: mcl::bint::addT
      Src: /src/mcl/src/bint_impl.hpp:551,1
    - Dst: mcl::bint::addUnit
      Src: /src/mcl/src/bint_impl.hpp:553,1
    - Dst: mcl::bint::addUnit
      Src: /src/mcl/src/bint_impl.hpp:555,1
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:556,1
    - Dst: mcl::bint::mulUnitT
      Src: /src/mcl/src/bint_impl.hpp:562,1
    - Dst: mcl::bint::addT
      Src: /src/mcl/src/bint_impl.hpp:563,1
    - Dst: mcl::bint::addT
      Src: /src/mcl/src/bint_impl.hpp:565,1
    - Dst: mcl::bint::addUnit
      Src: /src/mcl/src/bint_impl.hpp:566,1
    - Dst: mcl::bint::mulUnitT
      Src: /src/mcl/src/bint_impl.hpp:569,1
    - Dst: mcl::bint::addT
      Src: /src/mcl/src/bint_impl.hpp:570,1
    - Dst: mcl::bint::addT
      Src: /src/mcl/src/bint_impl.hpp:571,1
    - Dst: mcl::bint::addUnit
      Src: /src/mcl/src/bint_impl.hpp:573,1
    - Dst: mcl::bint::addT
      Src: /src/mcl/src/bint_impl.hpp:576,1
    - Dst: mcl::bint::addUnit
      Src: /src/mcl/src/bint_impl.hpp:578,1
    - Dst: mcl::bint::cmpGeT
      Src: /src/mcl/src/bint_impl.hpp:583,1
    - Dst: mcl::bint::subT
      Src: /src/mcl/src/bint_impl.hpp:584,1
    - Dst: mcl::bint::copyT
      Src: /src/mcl/src/bint_impl.hpp:586,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - z
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 588
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 588
    functionName: mcl::bint::mod_SECP256K1
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 1
    functionsReached:
    - mcl::bint::mulUnit1
    - mcl::bint::cmpGeT
    - assert
    - mcl::bint::addT
    - mcl::bint::addUnit
    - mcl::bint::mulUnitT
    - mcl::bint::subT
    - mcl::bint::copyT
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API mod_SECP256K1(Unit *z, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::mulT
      Src: /src/mcl/src/bint_impl.hpp:594,1
    - Dst: mcl::bint::mod_SECP256K1
      Src: /src/mcl/src/bint_impl.hpp:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - z
    - x
    - y
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 596
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 596
    functionName: mcl::bint::mul_SECP256K1
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::mulT
    - mcl::bint::mod_SECP256K1
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API mul_SECP256K1(Unit *z, const Unit *x, const Unit *y, const
      Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::mulT
      Src: /src/mcl/src/bint_impl.hpp:602,1
    - Dst: mcl::bint::mod_SECP256K1
      Src: /src/mcl/src/bint_impl.hpp:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - y
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 604
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 604
    functionName: mcl::bint::sqr_SECP256K1
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::mulT
    - mcl::bint::mod_SECP256K1
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API sqr_SECP256K1(Unit *y, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/bint_impl.hpp:609,1
    - Dst: Unit
      Src: /src/mcl/src/bint_impl.hpp:613,1
    - Dst: mcl::bint::clearN
      Src: /src/mcl/src/bint_impl.hpp:614,1
    - Dst: mcl::bint::clearN
      Src: /src/mcl/src/bint_impl.hpp:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - x
    - n
    - bitSize
    argTypes:
    - Unit*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 618
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 618
    functionName: mcl::bint::maskN
    functionSourceFile: /src/mcl/src/bint_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::clearN
    - assert
    - Unit
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API maskN(Unit *x, size_t n, size_t bitSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Code
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Code()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: verifyAndSetPrivate
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void verifyAndSetPrivate(Function&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/src/gen_bint.cpp:51,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen_bint.cpp:54,1
    - Dst: bitcast
      Src: /src/mcl/src/gen_bint.cpp:59,1
    - Dst: Operand
      Src: /src/mcl/src/gen_bint.cpp:59,1
    - Dst: store
      Src: /src/mcl/src/gen_bint.cpp:61,1
    - Dst: store
      Src: /src/mcl/src/gen_bint.cpp:64,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen_bint.cpp:69,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:70,1
    - Dst: store
      Src: /src/mcl/src/gen_bint.cpp:71,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 77
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 77
    functionName: storeN
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 12
    functionsReached:
    - Shim_Exception::Shim_Exception
    - bitcast
    - getelementptr
    - trunc
    - lshr
    - Operand
    - store
    linkageType: ''
    returnType: void
    signature: void storeN(Operand r, Operand p, int offset = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/src/gen_bint.cpp:81,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen_bint.cpp:84,1
    - Dst: bitcast
      Src: /src/mcl/src/gen_bint.cpp:87,1
    - Dst: Operand
      Src: /src/mcl/src/gen_bint.cpp:87,1
    - Dst: load
      Src: /src/mcl/src/gen_bint.cpp:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - Operand
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: loadN
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 11
    functionsReached:
    - Shim_Exception::Shim_Exception
    - bitcast
    - getelementptr
    - Operand
    - load
    linkageType: ''
    returnType: Operand
    signature: Operand loadN(Operand p, size_t n, int offset = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen_bint.cpp:93,1
    - Dst: Function
      Src: /src/mcl/src/gen_bint.cpp:99,1
    - Dst: setPrivate
      Src: /src/mcl/src/gen_bint.cpp:100,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen_bint.cpp:101,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen_bint.cpp:102,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:104,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:105,1
    - Dst: mul
      Src: /src/mcl/src/gen_bint.cpp:106,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:107,1
    - Dst: endFunc
      Src: /src/mcl/src/gen_bint.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 109
    functionName: gen_mulUU
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 2
    functionsReached:
    - zext
    - ret
    - setPrivate
    - verifyAndSetPrivate
    - resetGlobalIdx
    - endFunc
    - beginFunc
    - Function
    - mul
    linkageType: ''
    returnType: void
    signature: void gen_mulUU()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen_bint.cpp:112,1
    - Dst: Function
      Src: /src/mcl/src/gen_bint.cpp:119,1
    - Dst: setPrivate
      Src: /src/mcl/src/gen_bint.cpp:120,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen_bint.cpp:121,1
    - Dst: load
      Src: /src/mcl/src/gen_bint.cpp:123,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen_bint.cpp:123,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:124,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:125,1
    - Dst: endFunc
      Src: /src/mcl/src/gen_bint.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: gen_mulPos
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 1
    functionsReached:
    - ret
    - setPrivate
    - call
    - resetGlobalIdx
    - getelementptr
    - endFunc
    - beginFunc
    - Function
    - load
    linkageType: ''
    returnType: void
    signature: void gen_mulPos()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen_bint.cpp:130,1
    - Dst: Function
      Src: /src/mcl/src/gen_bint.cpp:135,1
    - Dst: setPrivate
      Src: /src/mcl/src/gen_bint.cpp:136,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen_bint.cpp:137,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:139,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:140,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:141,1
    - Dst: endFunc
      Src: /src/mcl/src/gen_bint.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 143
    functionName: gen_extractHigh
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 1
    functionsReached:
    - ret
    - setPrivate
    - resetGlobalIdx
    - trunc
    - lshr
    - endFunc
    - beginFunc
    - Function
    linkageType: ''
    returnType: void
    signature: void gen_extractHigh()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gen_mulUU
      Src: /src/mcl/src/gen_bint.cpp:146,1
    - Dst: gen_extractHigh
      Src: /src/mcl/src/gen_bint.cpp:147,1
    - Dst: gen_mulPos
      Src: /src/mcl/src/gen_bint.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: gen_once
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 1
    functionsReached:
    - gen_mulPos
    - gen_mulUU
    - gen_extractHigh
    linkageType: ''
    returnType: void
    signature: void gen_once()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:152,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: extract
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 34
    functionsReached:
    - trunc
    - lshr
    linkageType: ''
    returnType: Operand
    signature: Operand extract(const Operand& x, uint32_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen_bint.cpp:158,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen_bint.cpp:165,1
    - Dst: Function
      Src: /src/mcl/src/gen_bint.cpp:166,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen_bint.cpp:167,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen_bint.cpp:168,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen_bint.cpp:170,1
    - Dst: Function
      Src: /src/mcl/src/gen_bint.cpp:171,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen_bint.cpp:172,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen_bint.cpp:173,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:175,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:175,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:176,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:176,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:179,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:180,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:180,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:181,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:181,1
    - Dst: sub
      Src: /src/mcl/src/gen_bint.cpp:183,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:184,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:184,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:185,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:185,1
    - Dst: _and
      Src: /src/mcl/src/gen_bint.cpp:186,1
    - Dst: makeImm
      Src: /src/mcl/src/gen_bint.cpp:186,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:188,1
    - Dst: endFunc
      Src: /src/mcl/src/gen_bint.cpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - isAdd
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 190
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 190
    functionName: gen_mclb_addsub
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 0
    functionsReached:
    - zext
    - add
    - ret
    - sub
    - verifyAndSetPrivate
    - loadN
    - _and
    - resetGlobalIdx
    - storeN
    - trunc
    - makeImm
    - cybozu::itoa
    - lshr
    - endFunc
    - beginFunc
    - Function
    linkageType: ''
    returnType: void
    signature: void gen_mclb_addsub(bool isAdd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen_bint.cpp:193,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen_bint.cpp:197,1
    - Dst: Function
      Src: /src/mcl/src/gen_bint.cpp:198,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen_bint.cpp:199,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen_bint.cpp:200,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:201,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:202,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:203,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:204,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:205,1
    - Dst: endFunc
      Src: /src/mcl/src/gen_bint.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 207
    functionName: gen_mclb_addNF
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 0
    functionsReached:
    - add
    - ret
    - verifyAndSetPrivate
    - loadN
    - resetGlobalIdx
    - storeN
    - cybozu::itoa
    - endFunc
    - beginFunc
    - Function
    linkageType: ''
    returnType: void
    signature: void gen_mclb_addNF()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen_bint.cpp:210,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen_bint.cpp:215,1
    - Dst: Function
      Src: /src/mcl/src/gen_bint.cpp:216,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen_bint.cpp:217,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen_bint.cpp:218,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:219,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:220,1
    - Dst: sub
      Src: /src/mcl/src/gen_bint.cpp:222,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:223,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:224,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:225,1
    - Dst: _and
      Src: /src/mcl/src/gen_bint.cpp:226,1
    - Dst: makeImm
      Src: /src/mcl/src/gen_bint.cpp:226,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:227,1
    - Dst: endFunc
      Src: /src/mcl/src/gen_bint.cpp:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 229
    functionName: gen_mclb_subNF
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 0
    functionsReached:
    - ret
    - sub
    - verifyAndSetPrivate
    - loadN
    - _and
    - resetGlobalIdx
    - storeN
    - trunc
    - makeImm
    - cybozu::itoa
    - lshr
    - endFunc
    - beginFunc
    - Function
    linkageType: ''
    returnType: void
    signature: void gen_mclb_subNF()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen_bint.cpp:233,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen_bint.cpp:238,1
    - Dst: Function
      Src: /src/mcl/src/gen_bint.cpp:239,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen_bint.cpp:240,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen_bint.cpp:241,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:243,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:244,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:244,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:245,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:245,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:246,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:251,1
    - Dst: makeImm
      Src: /src/mcl/src/gen_bint.cpp:251,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:252,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:253,1
    - Dst: pack
      Src: /src/mcl/src/gen_bint.cpp:255,1
    - Dst: pack
      Src: /src/mcl/src/gen_bint.cpp:256,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:257,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:258,1
    - Dst: shl
      Src: /src/mcl/src/gen_bint.cpp:259,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:260,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:261,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:261,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:262,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:262,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:263,1
    - Dst: endFunc
      Src: /src/mcl/src/gen_bint.cpp:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 266
    functionName: gen_mclb_mulUnit
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 0
    functionsReached:
    - zext
    - add
    - ret
    - verifyAndSetPrivate
    - call
    - resetGlobalIdx
    - storeN
    - trunc
    - makeImm
    - cybozu::itoa
    - lshr
    - shl
    - endFunc
    - beginFunc
    - Function
    - pack
    linkageType: ''
    returnType: void
    signature: void gen_mclb_mulUnit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen_bint.cpp:270,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen_bint.cpp:275,1
    - Dst: Function
      Src: /src/mcl/src/gen_bint.cpp:276,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen_bint.cpp:277,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen_bint.cpp:278,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:282,1
    - Dst: makeImm
      Src: /src/mcl/src/gen_bint.cpp:282,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:283,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:284,1
    - Dst: pack
      Src: /src/mcl/src/gen_bint.cpp:286,1
    - Dst: pack
      Src: /src/mcl/src/gen_bint.cpp:287,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:288,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:289,1
    - Dst: shl
      Src: /src/mcl/src/gen_bint.cpp:290,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:291,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:292,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:292,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:292,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:293,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:293,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:294,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:294,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:295,1
    - Dst: endFunc
      Src: /src/mcl/src/gen_bint.cpp:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 297
    functionName: gen_mclb_mulUnitAdd
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 0
    functionsReached:
    - zext
    - add
    - ret
    - verifyAndSetPrivate
    - loadN
    - call
    - resetGlobalIdx
    - storeN
    - makeImm
    - trunc
    - cybozu::itoa
    - shl
    - lshr
    - endFunc
    - beginFunc
    - Function
    - pack
    linkageType: ''
    returnType: void
    signature: void gen_mclb_mulUnitAdd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen_bint.cpp:302,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen_bint.cpp:306,1
    - Dst: Function
      Src: /src/mcl/src/gen_bint.cpp:307,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen_bint.cpp:308,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen_bint.cpp:309,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:310,1
    - Dst: _and
      Src: /src/mcl/src/gen_bint.cpp:311,1
    - Dst: makeImm
      Src: /src/mcl/src/gen_bint.cpp:311,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:312,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:313,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:314,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:315,1
    - Dst: endFunc
      Src: /src/mcl/src/gen_bint.cpp:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 317
    functionName: gen_mclb_shrRestrected
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 0
    functionsReached:
    - zext
    - ret
    - verifyAndSetPrivate
    - loadN
    - _and
    - resetGlobalIdx
    - storeN
    - makeImm
    - cybozu::itoa
    - lshr
    - endFunc
    - beginFunc
    - Function
    linkageType: ''
    returnType: void
    signature: void gen_mclb_shrRestrected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen_bint.cpp:321,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen_bint.cpp:324,1
    - Dst: Function
      Src: /src/mcl/src/gen_bint.cpp:325,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen_bint.cpp:326,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen_bint.cpp:327,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:328,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:329,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:330,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:331,1
    - Dst: endFunc
      Src: /src/mcl/src/gen_bint.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 333
    functionName: gen_mcl_fp_shr1
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 1
    functionsReached:
    - ret
    - verifyAndSetPrivate
    - loadN
    - resetGlobalIdx
    - storeN
    - cybozu::itoa
    - lshr
    - endFunc
    - beginFunc
    - Function
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fp_shr1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen_bint.cpp:336,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen_bint.cpp:342,1
    - Dst: Function
      Src: /src/mcl/src/gen_bint.cpp:343,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen_bint.cpp:344,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen_bint.cpp:345,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:346,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:347,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:348,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:349,1
    - Dst: sub
      Src: /src/mcl/src/gen_bint.cpp:350,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:351,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:351,1
    - Dst: select
      Src: /src/mcl/src/gen_bint.cpp:352,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:353,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:354,1
    - Dst: endFunc
      Src: /src/mcl/src/gen_bint.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 356
    functionName: gen_mcl_fp_add
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 1
    functionsReached:
    - add
    - ret
    - sub
    - verifyAndSetPrivate
    - loadN
    - resetGlobalIdx
    - storeN
    - trunc
    - cybozu::itoa
    - lshr
    - endFunc
    - beginFunc
    - Function
    - select
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fp_add()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen_bint.cpp:359,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen_bint.cpp:365,1
    - Dst: Function
      Src: /src/mcl/src/gen_bint.cpp:366,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen_bint.cpp:367,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen_bint.cpp:368,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:369,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:370,1
    - Dst: sub
      Src: /src/mcl/src/gen_bint.cpp:371,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:373,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:373,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:374,1
    - Dst: select
      Src: /src/mcl/src/gen_bint.cpp:375,1
    - Dst: makeImm
      Src: /src/mcl/src/gen_bint.cpp:375,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:376,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:377,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:378,1
    - Dst: endFunc
      Src: /src/mcl/src/gen_bint.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 380
    functionName: gen_mcl_fp_sub
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 1
    functionsReached:
    - add
    - ret
    - sub
    - verifyAndSetPrivate
    - loadN
    - resetGlobalIdx
    - storeN
    - trunc
    - makeImm
    - cybozu::itoa
    - lshr
    - endFunc
    - beginFunc
    - Function
    - select
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fp_sub()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen_bint.cpp:387,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen_bint.cpp:392,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen_bint.cpp:394,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen_bint.cpp:395,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:396,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:397,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:398,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:399,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:400,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:401,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:402,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:404,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:405,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:406,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:407,1
    - Dst: sub
      Src: /src/mcl/src/gen_bint.cpp:408,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:409,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:410,1
    - Dst: select
      Src: /src/mcl/src/gen_bint.cpp:411,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:412,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:413,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:414,1
    - Dst: endFunc
      Src: /src/mcl/src/gen_bint.cpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 416
    functionName: gen_mcl_fpDbl_add
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 1
    functionsReached:
    - zext
    - add
    - ret
    - sub
    - verifyAndSetPrivate
    - loadN
    - resetGlobalIdx
    - storeN
    - trunc
    - cybozu::itoa
    - lshr
    - endFunc
    - beginFunc
    - select
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fpDbl_add()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen_bint.cpp:422,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen_bint.cpp:423,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen_bint.cpp:429,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen_bint.cpp:430,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:431,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:432,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:433,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:434,1
    - Dst: sub
      Src: /src/mcl/src/gen_bint.cpp:435,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:436,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:437,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:439,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:440,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:441,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:442,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:443,1
    - Dst: select
      Src: /src/mcl/src/gen_bint.cpp:444,1
    - Dst: makeImm
      Src: /src/mcl/src/gen_bint.cpp:444,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:445,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:446,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:447,1
    - Dst: endFunc
      Src: /src/mcl/src/gen_bint.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 449
    functionName: gen_mcl_fpDbl_sub
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 1
    functionsReached:
    - zext
    - add
    - ret
    - sub
    - verifyAndSetPrivate
    - loadN
    - resetGlobalIdx
    - storeN
    - trunc
    - makeImm
    - cybozu::itoa
    - lshr
    - endFunc
    - beginFunc
    - select
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fpDbl_sub()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:460,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:461,1
    - Dst: shl
      Src: /src/mcl/src/gen_bint.cpp:462,1
    - Dst: _or
      Src: /src/mcl/src/gen_bint.cpp:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - px
    - n
    argTypes:
    - Operand*
    - size_t
    constantsTouched: []
    func_position:
      end: 466
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 466
    functionName: pack
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 23
    functionsReached:
    - zext
    - _or
    - shl
    linkageType: ''
    returnType: Operand
    signature: Operand pack(const Operand *px, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen_bint.cpp:473,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen_bint.cpp:477,1
    - Dst: Function
      Src: /src/mcl/src/gen_bint.cpp:478,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen_bint.cpp:481,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen_bint.cpp:482,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:485,1
    - Dst: makeImm
      Src: /src/mcl/src/gen_bint.cpp:485,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:486,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:487,1
    - Dst: pack
      Src: /src/mcl/src/gen_bint.cpp:489,1
    - Dst: pack
      Src: /src/mcl/src/gen_bint.cpp:490,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:491,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:492,1
    - Dst: shl
      Src: /src/mcl/src/gen_bint.cpp:493,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:494,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:495,1
    - Dst: endFunc
      Src: /src/mcl/src/gen_bint.cpp:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 497
    functionName: gen_mulUnit_inner
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 0
    functionsReached:
    - zext
    - add
    - ret
    - verifyAndSetPrivate
    - call
    - resetGlobalIdx
    - makeImm
    - trunc
    - cybozu::itoa
    - shl
    - endFunc
    - beginFunc
    - Function
    - pack
    linkageType: ''
    returnType: void
    signature: void gen_mulUnit_inner()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen_bint.cpp:500,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen_bint.cpp:504,1
    - Dst: Function
      Src: /src/mcl/src/gen_bint.cpp:505,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen_bint.cpp:506,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen_bint.cpp:507,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:508,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:509,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:510,1
    - Dst: endFunc
      Src: /src/mcl/src/gen_bint.cpp:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 512
      start: 498
    functionDepth: 3
    functionLinenumber: 498
    functionLinenumberEnd: 512
    functionName: gen_mcl_fp_mulUnitPre
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 0
    functionsReached:
    - ret
    - verifyAndSetPrivate
    - call
    - resetGlobalIdx
    - storeN
    - cybozu::itoa
    - endFunc
    - beginFunc
    - Function
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fp_mulUnitPre()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/src/gen_bint.cpp:516,1
    - Dst: load
      Src: /src/mcl/src/gen_bint.cpp:517,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:518,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:519,1
    - Dst: mul
      Src: /src/mcl/src/gen_bint.cpp:520,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:521,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:522,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen_bint.cpp:532,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen_bint.cpp:533,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen_bint.cpp:534,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:535,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:536,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:538,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:538,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:539,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:539,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:540,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:540,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:541,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:541,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:542,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:543,1
    - Dst: alloca_
      Src: /src/mcl/src/gen_bint.cpp:544,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:545,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:546,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:547,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:547,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:548,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:548,1
    - Dst: _and
      Src: /src/mcl/src/gen_bint.cpp:549,1
    - Dst: select
      Src: /src/mcl/src/gen_bint.cpp:550,1
    - Dst: makeImm
      Src: /src/mcl/src/gen_bint.cpp:550,1
    - Dst: select
      Src: /src/mcl/src/gen_bint.cpp:551,1
    - Dst: makeImm
      Src: /src/mcl/src/gen_bint.cpp:551,1
    - Dst: alloca_
      Src: /src/mcl/src/gen_bint.cpp:552,1
    - Dst: alloca_
      Src: /src/mcl/src/gen_bint.cpp:553,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:554,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:555,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:556,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:557,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:558,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:559,1
    - Dst: shl
      Src: /src/mcl/src/gen_bint.cpp:560,1
    - Dst: _or
      Src: /src/mcl/src/gen_bint.cpp:561,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:562,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:563,1
    - Dst: shl
      Src: /src/mcl/src/gen_bint.cpp:564,1
    - Dst: shl
      Src: /src/mcl/src/gen_bint.cpp:565,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:566,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:567,1
    - Dst: sub
      Src: /src/mcl/src/gen_bint.cpp:568,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:568,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:568,1
    - Dst: sub
      Src: /src/mcl/src/gen_bint.cpp:569,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:569,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:569,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:571,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:573,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:573,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:574,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:575,1
    - Dst: load
      Src: /src/mcl/src/gen_bint.cpp:577,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:578,1
    - Dst: store
      Src: /src/mcl/src/gen_bint.cpp:579,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:579,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:580,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:582,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:583,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:584,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:586,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:586,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:587,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:590,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:591,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 3
    argNames:
    - ' pz'
    - ' px'
    - ' py'
    argTypes:
    - Operand
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 593
      start: 513
    functionDepth: 3
    functionLinenumber: 513
    functionLinenumberEnd: 593
    functionName: gen_mul_inner
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 0
    functionsReached:
    - add
    - loadN
    - _and
    - getelementptr
    - store
    - trunc
    - makeImm
    - _or
    - zext
    - alloca_
    - select
    - mul
    - ret
    - sub
    - call
    - lshr
    - shl
    - storeN
    - load
    linkageType: ''
    returnType: void
    signature: void gen_mul_inner(const Operand& pz, const Operand& px, const Operand&
      py)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/src/gen_bint.cpp:597,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:598,1
    - Dst: mul
      Src: /src/mcl/src/gen_bint.cpp:599,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:600,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:601,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen_bint.cpp:611,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen_bint.cpp:612,1
    - Dst: alloca_
      Src: /src/mcl/src/gen_bint.cpp:613,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:614,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:615,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:616,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:618,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:619,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:620,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:621,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen_bint.cpp:622,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:623,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:624,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:625,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:626,1
    - Dst: load
      Src: /src/mcl/src/gen_bint.cpp:629,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:630,1
    - Dst: store
      Src: /src/mcl/src/gen_bint.cpp:631,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:631,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:632,1
    - Dst: load
      Src: /src/mcl/src/gen_bint.cpp:633,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen_bint.cpp:633,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:634,1
    - Dst: load
      Src: /src/mcl/src/gen_bint.cpp:636,1
    - Dst: load
      Src: /src/mcl/src/gen_bint.cpp:637,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen_bint.cpp:637,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:638,1
    - Dst: load
      Src: /src/mcl/src/gen_bint.cpp:640,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen_bint.cpp:640,1
    - Dst: load
      Src: /src/mcl/src/gen_bint.cpp:641,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen_bint.cpp:641,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:642,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:643,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:644,1
    - Dst: shl
      Src: /src/mcl/src/gen_bint.cpp:645,1
    - Dst: _or
      Src: /src/mcl/src/gen_bint.cpp:646,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:649,1
    - Dst: shl
      Src: /src/mcl/src/gen_bint.cpp:650,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:651,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:654,1
    - Dst: load
      Src: /src/mcl/src/gen_bint.cpp:656,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen_bint.cpp:656,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:657,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:658,1
    - Dst: shl
      Src: /src/mcl/src/gen_bint.cpp:659,1
    - Dst: _or
      Src: /src/mcl/src/gen_bint.cpp:660,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:662,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:663,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:664,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:665,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:666,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 53
    argCount: 2
    argNames:
    - ' py'
    - ' px'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 668
      start: 594
    functionDepth: 3
    functionLinenumber: 594
    functionLinenumberEnd: 668
    functionName: gen_sqr_inner
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 0
    functionsReached:
    - zext
    - add
    - ret
    - alloca_
    - loadN
    - call
    - getelementptr
    - trunc
    - _or
    - store
    - lshr
    - shl
    - load
    - storeN
    - mul
    linkageType: ''
    returnType: void
    signature: void gen_sqr_inner(const Operand& py, const Operand& px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen_bint.cpp:671,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen_bint.cpp:675,1
    - Dst: Function
      Src: /src/mcl/src/gen_bint.cpp:676,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen_bint.cpp:677,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen_bint.cpp:678,1
    - Dst: gen_mul_inner
      Src: /src/mcl/src/gen_bint.cpp:679,1
    - Dst: endFunc
      Src: /src/mcl/src/gen_bint.cpp:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 681
      start: 669
    functionDepth: 4
    functionLinenumber: 669
    functionLinenumberEnd: 681
    functionName: gen_mclb_mul
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 0
    functionsReached:
    - gen_mul_inner
    - verifyAndSetPrivate
    - resetGlobalIdx
    - cybozu::itoa
    - endFunc
    - beginFunc
    - Function
    linkageType: ''
    returnType: void
    signature: void gen_mclb_mul()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen_bint.cpp:684,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen_bint.cpp:687,1
    - Dst: Function
      Src: /src/mcl/src/gen_bint.cpp:688,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen_bint.cpp:689,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen_bint.cpp:690,1
    - Dst: gen_mul_inner
      Src: /src/mcl/src/gen_bint.cpp:694,1
    - Dst: gen_sqr_inner
      Src: /src/mcl/src/gen_bint.cpp:696,1
    - Dst: endFunc
      Src: /src/mcl/src/gen_bint.cpp:698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 699
      start: 682
    functionDepth: 4
    functionLinenumber: 682
    functionLinenumberEnd: 699
    functionName: gen_mclb_sqr
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 0
    functionsReached:
    - gen_mul_inner
    - verifyAndSetPrivate
    - resetGlobalIdx
    - cybozu::itoa
    - endFunc
    - gen_sqr_inner
    - beginFunc
    - Function
    linkageType: ''
    returnType: void
    signature: void gen_mclb_sqr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetGlobalIdx
      Src: /src/mcl/src/gen_bint.cpp:704,1
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen_bint.cpp:713,1
    - Dst: Function
      Src: /src/mcl/src/gen_bint.cpp:714,1
    - Dst: setAlias
      Src: /src/mcl/src/gen_bint.cpp:715,1
    - Dst: verifyAndSetPrivate
      Src: /src/mcl/src/gen_bint.cpp:716,1
    - Dst: beginFunc
      Src: /src/mcl/src/gen_bint.cpp:717,1
    - Dst: load
      Src: /src/mcl/src/gen_bint.cpp:718,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen_bint.cpp:718,1
    - Dst: load
      Src: /src/mcl/src/gen_bint.cpp:722,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen_bint.cpp:722,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:723,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:726,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:727,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:729,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:730,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:731,1
    - Dst: mul
      Src: /src/mcl/src/gen_bint.cpp:733,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:734,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:735,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:736,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:737,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:739,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:740,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:740,1
    - Dst: sub
      Src: /src/mcl/src/gen_bint.cpp:741,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:742,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:742,1
    - Dst: select
      Src: /src/mcl/src/gen_bint.cpp:743,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:744,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:745,1
    - Dst: load
      Src: /src/mcl/src/gen_bint.cpp:747,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:748,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:749,1
    - Dst: mul
      Src: /src/mcl/src/gen_bint.cpp:750,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:751,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:752,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:753,1
    - Dst: load
      Src: /src/mcl/src/gen_bint.cpp:755,1
    - Dst: getelementptr
      Src: /src/mcl/src/gen_bint.cpp:755,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:756,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:757,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:758,1
    - Dst: mul
      Src: /src/mcl/src/gen_bint.cpp:759,1
    - Dst: call
      Src: /src/mcl/src/gen_bint.cpp:760,1
    - Dst: add
      Src: /src/mcl/src/gen_bint.cpp:761,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:762,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:764,1
    - Dst: sub
      Src: /src/mcl/src/gen_bint.cpp:765,1
    - Dst: loadN
      Src: /src/mcl/src/gen_bint.cpp:765,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:766,1
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:766,1
    - Dst: select
      Src: /src/mcl/src/gen_bint.cpp:767,1
    - Dst: storeN
      Src: /src/mcl/src/gen_bint.cpp:768,1
    - Dst: ret
      Src: /src/mcl/src/gen_bint.cpp:770,1
    - Dst: endFunc
      Src: /src/mcl/src/gen_bint.cpp:771,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 772
      start: 700
    functionDepth: 3
    functionLinenumber: 700
    functionLinenumberEnd: 772
    functionName: gen_mcl_fp_mont
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 1
    functionsReached:
    - add
    - loadN
    - resetGlobalIdx
    - getelementptr
    - verifyAndSetPrivate
    - trunc
    - zext
    - beginFunc
    - Function
    - endFunc
    - select
    - mul
    - ret
    - sub
    - call
    - setAlias
    - cybozu::itoa
    - lshr
    - storeN
    - load
    linkageType: ''
    returnType: void
    signature: void gen_mcl_fp_mont(bool isFullBit = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:777,1
    - Dst: shl
      Src: /src/mcl/src/gen_bint.cpp:778,1
    - Dst: zext
      Src: /src/mcl/src/gen_bint.cpp:779,1
    - Dst: _or
      Src: /src/mcl/src/gen_bint.cpp:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - H
    - L
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 782
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 782
    functionName: pack
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 24
    functionsReached:
    - zext
    - _or
    - shl
    linkageType: ''
    returnType: Operand
    signature: Operand pack(Operand H, Operand L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lshr
      Src: /src/mcl/src/gen_bint.cpp:786,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:787,1
    - Dst: trunc
      Src: /src/mcl/src/gen_bint.cpp:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - L
    - ' x'
    - sizeL
    argTypes:
    - Operand*
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 790
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 790
    functionName: split
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 10
    functionsReached:
    - trunc
    - lshr
    linkageType: ''
    returnType: Operand
    signature: Operand split(Operand *L, const Operand& x, int sizeL)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gen_mcl_fp_mulUnitPre
      Src: /src/mcl/src/gen_bint.cpp:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 794
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 794
    functionName: gen_mul
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 2
    functionsReached:
    - gen_mcl_fp_mulUnitPre
    linkageType: ''
    returnType: void
    signature: void gen_mul()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bit
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 799
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 799
    functionName: setBit
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setBit(uint32_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa
      Src: /src/mcl/src/gen_bint.cpp:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - unit
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 805
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 805
    functionName: setUnit
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 1
    functionsReached:
    - cybozu::itoa
    linkageType: ''
    returnType: void
    signature: void setUnit(uint32_t unit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gen_once
      Src: /src/mcl/src/gen_bint.cpp:809,1
    - Dst: setBit
      Src: /src/mcl/src/gen_bint.cpp:812,1
    - Dst: gen_mclb_addsub
      Src: /src/mcl/src/gen_bint.cpp:813,1
    - Dst: gen_mclb_addsub
      Src: /src/mcl/src/gen_bint.cpp:814,1
    - Dst: gen_mclb_addNF
      Src: /src/mcl/src/gen_bint.cpp:815,1
    - Dst: gen_mclb_subNF
      Src: /src/mcl/src/gen_bint.cpp:816,1
    - Dst: setBit
      Src: /src/mcl/src/gen_bint.cpp:819,1
    - Dst: gen_mulUnit_inner
      Src: /src/mcl/src/gen_bint.cpp:820,1
    - Dst: gen_mclb_mulUnit
      Src: /src/mcl/src/gen_bint.cpp:821,1
    - Dst: gen_mclb_mulUnitAdd
      Src: /src/mcl/src/gen_bint.cpp:822,1
    - Dst: gen_mclb_mul
      Src: /src/mcl/src/gen_bint.cpp:823,1
    - Dst: gen_mclb_sqr
      Src: /src/mcl/src/gen_bint.cpp:824,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - N
    - addN
    - ' suf'
    argTypes:
    - uint32_t
    - uint32_t
    - std::string
    constantsTouched: []
    func_position:
      end: 826
      start: 806
    functionDepth: 5
    functionLinenumber: 806
    functionLinenumberEnd: 826
    functionName: gen
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 17
    functionsReached:
    - gen_mclb_subNF
    - setBit
    - gen_mulUnit_inner
    - gen_mclb_addsub
    - gen_mclb_mulUnit
    - gen_mclb_mul
    - gen_mclb_sqr
    - gen_once
    - gen_mclb_mulUnitAdd
    - gen_mclb_addNF
    linkageType: ''
    returnType: void
    signature: void gen(uint32_t N, uint32_t addN, const std::string& suf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Option::Option
      Src: /src/mcl/src/gen_bint.cpp:836,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/src/gen_bint.cpp:837,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/src/gen_bint.cpp:838,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/src/gen_bint.cpp:839,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/src/gen_bint.cpp:840,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/src/gen_bint.cpp:841,1
    - Dst: cybozu::Option::appendHelp
      Src: /src/mcl/src/gen_bint.cpp:842,1
    - Dst: cybozu::Option::parse
      Src: /src/mcl/src/gen_bint.cpp:843,1
    - Dst: cybozu::Option::usage
      Src: /src/mcl/src/gen_bint.cpp:844,1
    - Dst: Code::setLlvmVer
      Src: /src/mcl/src/gen_bint.cpp:852,1
    - Dst: Code::setUnit
      Src: /src/mcl/src/gen_bint.cpp:853,1
    - Dst: fprintf
      Src: /src/mcl/src/gen_bint.cpp:854,1
    - Dst: Code::gen
      Src: /src/mcl/src/gen_bint.cpp:855,1
    - Dst: printf
      Src: /src/mcl/src/gen_bint.cpp:857,1
    - Dst: what
      Src: /src/mcl/src/gen_bint.cpp:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 859
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 859
    functionName: main
    functionSourceFile: /src/mcl/src/gen_bint.cpp
    functionUses: 97
    functionsReached:
    - cybozu::Option::appendHelp
    - Code::gen
    - cybozu::Option::Option
    - printf
    - what
    - cybozu::Option::usage
    - cybozu::Option::parse
    - fprintf
    - cybozu::Option::appendOpt
    - Code::setLlvmVer
    - Code::setUnit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: mcl::MapTo
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapTo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getMpz
      Src: /src/mcl/src/map_impl.hpp:30,1
    - Dst: mcl::gmp::legendre
      Src: /src/mcl/src/map_impl.hpp:32,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/src/map_impl.hpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pb
    - ' x'
    argTypes:
    - bool*
    - Fp
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: mcl::legendre
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - getMpz
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - mcl::gmp::legendre
    linkageType: ''
    returnType: int
    signature: int legendre(bool *pb, const Fp& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/src/map_impl.hpp:36,1
    - Dst: mcl::Fp2::norm
      Src: /src/mcl/src/map_impl.hpp:37,1
    - Dst: mcl::legendre
      Src: /src/mcl/src/map_impl.hpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pb
    - ' x'
    argTypes:
    - bool*
    - Fp2
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: mcl::legendre
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 1
    functionsReached:
    - Fp::Fp
    - mcl::legendre
    - mcl::Fp2::norm
    linkageType: ''
    returnType: int
    signature: int legendre(bool *pb, const Fp2& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: mcl::mulFp
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mulFp(Fp& x, const Fp& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Fp2
    - Fp
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: mcl::mulFp
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mulFp(Fp2& x, const Fp& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::isZero
      Src: /src/mcl/src/map_impl.hpp:64,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/map_impl.hpp:65,1
    - Dst: mcl::getFp0
      Src: /src/mcl/src/map_impl.hpp:67,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/mcl/src/map_impl.hpp:67,1
    - Dst: mcl::isZero
      Src: /src/mcl/src/map_impl.hpp:68,1
    - Dst: Botan::Classic_McEliece_GF::inv
      Src: /src/mcl/src/map_impl.hpp:69,1
    - Dst: mcl::mulFp
      Src: /src/mcl/src/map_impl.hpp:70,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/map_impl.hpp:74,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/map_impl.hpp:74,1
    - Dst: F::getFp0
      Src: /src/mcl/src/map_impl.hpp:74,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/map_impl.hpp:75,1
    - Dst: F::getFp0
      Src: /src/mcl/src/map_impl.hpp:75,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/mcl/src/map_impl.hpp:75,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/map_impl.hpp:76,1
    - Dst: Botan::Classic_McEliece_GF::inv
      Src: /src/mcl/src/map_impl.hpp:76,1
    - Dst: F::getFp0
      Src: /src/mcl/src/map_impl.hpp:76,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/mcl/src/map_impl.hpp:76,1
    - Dst: mcl::EcT::getWeierstrass
      Src: /src/mcl/src/map_impl.hpp:78,1
    - Dst: squareRoot
      Src: /src/mcl/src/map_impl.hpp:79,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/map_impl.hpp:80,1
    - Dst: mcl::set
      Src: /src/mcl/src/map_impl.hpp:81,1
    - Dst: assert
      Src: /src/mcl/src/map_impl.hpp:82,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - ' P'
    - ' t'
    argTypes:
    - G
    - F
    constantsTouched: []
    func_position:
      end: 87
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 87
    functionName: mcl::calcBN
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::isZero
    - mcl::getFp0
    - mcl::EcT::getWeierstrass
    - Botan::fe_sqr
    - squareRoot
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - mcl::set
    - assert
    - mcl::mulFp
    - Botan::EC_Group_Data::affine_neg
    - fiat_bls12_381_fp_mul
    - F::getFp0
    - Botan::Classic_McEliece_GF::inv
    linkageType: ''
    returnType: bool
    signature: bool calcBN(G& P, const F& t) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G2::G2
      Src: /src/mcl/src/map_impl.hpp:98,1
    - Dst: mcl::mulGeneric
      Src: /src/mcl/src/map_impl.hpp:102,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/src/map_impl.hpp:103,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/src/map_impl.hpp:105,1
    - Dst: mcl::Frobenius2
      Src: /src/mcl/src/map_impl.hpp:106,1
    - Dst: mcl::Frobenius3
      Src: /src/mcl/src/map_impl.hpp:109,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/map_impl.hpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ' Q'
    - ' P'
    argTypes:
    - G2
    - G2
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: mcl::mulByCofactorBN
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - Botan::ge_p2_dbl
    - mcl::Frobenius3
    - mcl::mulGeneric
    - G2::G2
    - fiat_bls12_381_fp_add
    - mcl::Frobenius2
    - mcl::Frobenius
    linkageType: ''
    returnType: void
    signature: void mulByCofactorBN(G2& Q, const G2& P) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::mulGeneric
      Src: /src/mcl/src/map_impl.hpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' Q'
    - ' P'
    argTypes:
    - G1
    - G1
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: mcl::mulByCofactorBLS12
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::mulGeneric
    linkageType: ''
    returnType: void
    signature: void mulByCofactorBLS12(G1& Q, const G1& P) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G2::G2
      Src: /src/mcl/src/map_impl.hpp:126,1
    - Dst: mcl::mulGeneric
      Src: /src/mcl/src/map_impl.hpp:127,1
    - Dst: mcl::mulGeneric
      Src: /src/mcl/src/map_impl.hpp:128,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/src/map_impl.hpp:130,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/src/map_impl.hpp:132,1
    - Dst: mcl::Frobenius2
      Src: /src/mcl/src/map_impl.hpp:133,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/map_impl.hpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' Q'
    - ' P'
    argTypes:
    - G2
    - G2
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: mcl::mulByCofactorBLS12fast
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 1
    functionsReached:
    - Botan::ge_p2_dbl
    - mcl::mulGeneric
    - G2::G2
    - fiat_bls12_381_fp_add
    - mcl::Frobenius2
    - mcl::Frobenius
    linkageType: ''
    returnType: void
    signature: void mulByCofactorBLS12fast(G2& Q, const G2& P) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::mulByCofactorBLS12fast
      Src: /src/mcl/src/map_impl.hpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' Q'
    - ' P'
    argTypes:
    - G2
    - G2
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: mcl::mulByCofactorBLS12
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::mulByCofactorBLS12fast
    linkageType: ''
    returnType: void
    signature: void mulByCofactorBLS12(G2& Q, const G2& P) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::setStr
      Src: /src/mcl/src/map_impl.hpp:151,1
    - Dst: mcl::setStr
      Src: /src/mcl/src/map_impl.hpp:152,1
    - Dst: assert
      Src: /src/mcl/src/map_impl.hpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ' cofactor'
    - z
    - curveType
    argTypes:
    - mpz_class
    - mpz_class
    - int
    constantsTouched: []
    func_position:
      end: 160
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 160
    functionName: mcl::initBN
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::setStr
    - assert
    linkageType: ''
    returnType: void
    signature: void initBN(const mpz_class& cofactor, const mpz_class &z, int curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/src/map_impl.hpp:170,1
    - Dst: assert
      Src: /src/mcl/src/map_impl.hpp:170,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/src/map_impl.hpp:171,1
    - Dst: assert
      Src: /src/mcl/src/map_impl.hpp:171,1
    - Dst: mcl::setStr
      Src: /src/mcl/src/map_impl.hpp:172,1
    - Dst: assert
      Src: /src/mcl/src/map_impl.hpp:172,1
    - Dst: mcl::setStr
      Src: /src/mcl/src/map_impl.hpp:173,1
    - Dst: assert
      Src: /src/mcl/src/map_impl.hpp:173,1
    - Dst: mcl::init
      Src: /src/mcl/src/map_impl.hpp:174,1
    - Dst: assert
      Src: /src/mcl/src/map_impl.hpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - ' z'
    - curveType
    argTypes:
    - mpz_class
    - int
    constantsTouched: []
    func_position:
      end: 184
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 184
    functionName: mcl::initBLS12
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::setStr
    - mcl::gmp::setStr
    - assert
    - mcl::init
    linkageType: ''
    returnType: void
    signature: void initBLS12(const mpz_class& z, int curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 209
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 209
    functionName: mcl::setMapToMode
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool setMapToMode(int mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::setMapToMode
      Src: /src/mcl/src/map_impl.hpp:221,1
    - Dst: mcl::initBN
      Src: /src/mcl/src/map_impl.hpp:223,1
    - Dst: mcl::initBLS12
      Src: /src/mcl/src/map_impl.hpp:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ' cofactor'
    - z
    - curveType
    argTypes:
    - mpz_class
    - mpz_class
    - int
    constantsTouched: []
    func_position:
      end: 227
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 227
    functionName: mcl::init
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 1
    functionsReached:
    - mcl::setMapToMode
    - mcl::initBN
    - mcl::initBLS12
    linkageType: ''
    returnType: void
    signature: void init(const mpz_class& cofactor, const mpz_class &z, int curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec::tryAndIncMapTo<G>
      Src: /src/mcl/src/map_impl.hpp:232,1
    - Dst: mcl::calcBN
      Src: /src/mcl/src/map_impl.hpp:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' P'
    - ' t'
    argTypes:
    - G
    - F
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 4
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: mcl::mapToEc
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::calcBN
    - ec::tryAndIncMapTo<G>
    linkageType: ''
    returnType: bool
    signature: bool mapToEc(G& P, const F& t) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::mulByCofactorBLS12
      Src: /src/mcl/src/map_impl.hpp:245,1
    - Dst: assert
      Src: /src/mcl/src/map_impl.hpp:248,1
    - Dst: isValid
      Src: /src/mcl/src/map_impl.hpp:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - G1
    constantsTouched: []
    func_position:
      end: 249
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 249
    functionName: mcl::mulByCofactor
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - isValid
    - assert
    - mcl::mulByCofactorBLS12
    linkageType: ''
    returnType: void
    signature: void mulByCofactor(G1& P) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::mulByCofactorBN
      Src: /src/mcl/src/map_impl.hpp:254,1
    - Dst: mcl::mulByCofactorBLS12
      Src: /src/mcl/src/map_impl.hpp:257,1
    - Dst: assert
      Src: /src/mcl/src/map_impl.hpp:260,1
    - Dst: isValid
      Src: /src/mcl/src/map_impl.hpp:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - G2
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: mcl::mulByCofactor
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - isValid
    - mcl::mulByCofactorBN
    - assert
    - mcl::mulByCofactorBLS12
    linkageType: ''
    returnType: void
    signature: void mulByCofactor(G2& P) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpToG1
      Src: /src/mcl/src/map_impl.hpp:265,1
    - Dst: mcl::mapToEc
      Src: /src/mcl/src/map_impl.hpp:268,1
    - Dst: mcl::mulByCofactor
      Src: /src/mcl/src/map_impl.hpp:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' P'
    - ' t'
    argTypes:
    - G1
    - Fp
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 5
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: mcl::calc
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpToG1
    - mcl::mulByCofactor
    - mcl::mapToEc
    linkageType: ''
    returnType: bool
    signature: bool calc(G1& P, const Fp& t) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2ToG2
      Src: /src/mcl/src/map_impl.hpp:275,1
    - Dst: mcl::mapToEc
      Src: /src/mcl/src/map_impl.hpp:278,1
    - Dst: mcl::mulByCofactor
      Src: /src/mcl/src/map_impl.hpp:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' P'
    - ' t'
    argTypes:
    - G2
    - Fp2
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 5
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: mcl::calc
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::Fp2ToG2
    - mcl::mulByCofactor
    - mcl::mapToEc
    linkageType: ''
    returnType: bool
    signature: bool calc(G2& P, const Fp2& t) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mapTo_WB19_::init
      Src: /src/mcl/src/map_impl.hpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: mcl::mapTo_WB19_init
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - mapTo_WB19_::init
    linkageType: ''
    returnType: void
    signature: void mapTo_WB19_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mapTo_WB19_::FpToG1
      Src: /src/mcl/src/map_impl.hpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' u0'
    argTypes:
    - G1
    - Fp
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: mcl::mapTo_WB19_FpToG1
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - mapTo_WB19_::FpToG1
    linkageType: ''
    returnType: void
    signature: void mapTo_WB19_FpToG1(G1& out, const Fp& u0, const Fp *u1 = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mapTo_WB19_::Fp2ToG2
      Src: /src/mcl/src/map_impl.hpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' P'
    - ' t'
    argTypes:
    - G2
    - Fp2
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: mcl::mapTo_WB19_Fp2ToG2
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - mapTo_WB19_::Fp2ToG2
    linkageType: ''
    returnType: void
    signature: void mapTo_WB19_Fp2ToG2(G2& P, const Fp2& t, const Fp2 *t2 = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::init
      Src: /src/mcl/src/map_impl.hpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' cofactor'
    - z
    - curveType
    argTypes:
    - mpz_class
    - mpz_class
    - int
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: mcl::mapToInit
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::init
    linkageType: ''
    returnType: void
    signature: void mapToInit(const mpz_class& cofactor, const mpz_class &z, int curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::setMapToMode
      Src: /src/mcl/src/map_impl.hpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: mcl::setMapToMode
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 2
    functionsReached:
    - mcl::setMapToMode
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API setMapToMode(int mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: mcl::getMapToMode
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API getMapToMode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::calc
      Src: /src/mcl/src/map_impl.hpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pb
    - ' P'
    - ' x'
    argTypes:
    - bool*
    - G1
    - Fp
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 6
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: mcl::mapToG1
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::calc
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API mapToG1(bool *pb, G1& P, const Fp& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::calc
      Src: /src/mcl/src/map_impl.hpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pb
    - ' P'
    - ' x'
    argTypes:
    - bool*
    - G2
    - Fp2
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 6
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: mcl::mapToG2
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::calc
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API mapToG2(bool *pb, G2& P, const Fp2& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mapTo_WB19_::msgToG1
      Src: /src/mcl/src/map_impl.hpp:322,1
    - Dst: Fp::Fp
      Src: /src/mcl/src/map_impl.hpp:325,1
    - Dst: Fp::setHashOf
      Src: /src/mcl/src/map_impl.hpp:326,1
    - Dst: mcl::mapToG1
      Src: /src/mcl/src/map_impl.hpp:328,1
    - Dst: assert
      Src: /src/mcl/src/map_impl.hpp:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ' P'
    - buf
    - bufSize
    argTypes:
    - G1
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 332
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 332
    functionName: mcl::hashAndMapToG1
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 1
    functionsReached:
    - Fp::setHashOf
    - mcl::mapToG1
    - assert
    - mapTo_WB19_::msgToG1
    - Fp::Fp
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API hashAndMapToG1(G1& P, const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mapTo_WB19_::msgToG2
      Src: /src/mcl/src/map_impl.hpp:337,1
    - Dst: Fp2::a::setHashOf
      Src: /src/mcl/src/map_impl.hpp:341,1
    - Dst: Fp2::b::clear
      Src: /src/mcl/src/map_impl.hpp:342,1
    - Dst: mcl::mapToG2
      Src: /src/mcl/src/map_impl.hpp:344,1
    - Dst: assert
      Src: /src/mcl/src/map_impl.hpp:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' P'
    - buf
    - bufSize
    argTypes:
    - G2
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 348
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 348
    functionName: mcl::hashAndMapToG2
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 2
    functionsReached:
    - Fp2::a::setHashOf
    - mapTo_WB19_::msgToG2
    - assert
    - Fp2::b::clear
    - mcl::mapToG2
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API hashAndMapToG2(G2& P, const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mapTo_WB19_::msgToG1
      Src: /src/mcl/src/map_impl.hpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' P'
    - buf
    - bufSize
    - dst
    - dstSize
    argTypes:
    - G1
    - void*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: mcl::hashAndMapToG1
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 1
    functionsReached:
    - mapTo_WB19_::msgToG1
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API hashAndMapToG1(G1& P, const void *buf, size_t bufSize,
      const char *dst, size_t dstSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mapTo_WB19_::msgToG2
      Src: /src/mcl/src/map_impl.hpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' P'
    - buf
    - bufSize
    - dst
    - dstSize
    argTypes:
    - G2
    - void*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: mcl::hashAndMapToG2
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 2
    functionsReached:
    - mapTo_WB19_::msgToG2
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API hashAndMapToG2(G2& P, const void *buf, size_t bufSize,
      const char *dst, size_t dstSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mapTo_WB19_::dstG1::set
      Src: /src/mcl/src/map_impl.hpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - dstSize
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: mcl::setDstG1
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - mapTo_WB19_::dstG1::set
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API setDstG1(const char *dst, size_t dstSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mapTo_WB19_::dstG2::set
      Src: /src/mcl/src/map_impl.hpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - dstSize
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: mcl::setDstG2
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - mapTo_WB19_::dstG2::set
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API setDstG2(const char *dst, size_t dstSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::G1
      Src: /src/mcl/src/map_impl.hpp:377,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/src/map_impl.hpp:382,1
    - Dst: mcl::mulGeneric
      Src: /src/mcl/src/map_impl.hpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - G1
    constantsTouched: []
    func_position:
      end: 387
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 387
    functionName: mcl::isValidOrderBLS12
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - Botan::ge_p2_dbl
    - mcl::mulGeneric
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API isValidOrderBLS12(const G1& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::mulByCofactorBLS12fast
      Src: /src/mcl/src/map_impl.hpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' Q'
    - ' P'
    argTypes:
    - mcl::G2
    - mcl::G2
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: mcl::mulByCofactorBLS12fast
    functionSourceFile: /src/mcl/src/map_impl.hpp
    functionUses: 3
    functionsReached:
    - mcl::mulByCofactorBLS12fast
    linkageType: ''
    returnType: void
    signature: void mulByCofactorBLS12fast(mcl::G2& Q, const mcl::G2& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_fp_mont6L
      Src: /src/mcl/src/llvm_proto.hpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: mcl::fp::mcl_fp_sqrMont6L
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached:
    - mcl_fp_mont6L
    linkageType: ''
    returnType: void
    signature: void mcl_fp_sqrMont6L(Unit *z, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_fp_mont7L
      Src: /src/mcl/src/llvm_proto.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: mcl::fp::mcl_fp_sqrMont7L
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached:
    - mcl_fp_mont7L
    linkageType: ''
    returnType: void
    signature: void mcl_fp_sqrMont7L(Unit *z, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_fp_mont8L
      Src: /src/mcl/src/llvm_proto.hpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: mcl::fp::mcl_fp_sqrMont8L
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached:
    - mcl_fp_mont8L
    linkageType: ''
    returnType: void
    signature: void mcl_fp_sqrMont8L(Unit *z, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_fp_mont12L
      Src: /src/mcl/src/llvm_proto.hpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: mcl::fp::mcl_fp_sqrMont12L
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached:
    - mcl_fp_mont12L
    linkageType: ''
    returnType: void
    signature: void mcl_fp_sqrMont12L(Unit *z, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_fp_mont16L
      Src: /src/mcl/src/llvm_proto.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: mcl::fp::mcl_fp_sqrMont16L
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached:
    - mcl_fp_mont16L
    linkageType: ''
    returnType: void
    signature: void mcl_fp_sqrMont16L(Unit *z, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_fp_mont3L
      Src: /src/mcl/src/llvm_proto.hpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: mcl::fp::mcl_fp_sqrMont3L
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached:
    - mcl_fp_mont3L
    linkageType: ''
    returnType: void
    signature: void mcl_fp_sqrMont3L(Unit *z, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_fp_mont4L
      Src: /src/mcl/src/llvm_proto.hpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: mcl::fp::mcl_fp_sqrMont4L
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached:
    - mcl_fp_mont4L
    linkageType: ''
    returnType: void
    signature: void mcl_fp_sqrMont4L(Unit *z, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_fp_mont6L
      Src: /src/mcl/src/llvm_proto.hpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: mcl::fp::mcl_fp_sqrMont6L
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached:
    - mcl_fp_mont6L
    linkageType: ''
    returnType: void
    signature: void mcl_fp_sqrMont6L(Unit *z, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_fp_mont8L
      Src: /src/mcl/src/llvm_proto.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: mcl::fp::mcl_fp_sqrMont8L
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached:
    - mcl_fp_mont8L
    linkageType: ''
    returnType: void
    signature: void mcl_fp_sqrMont8L(Unit *z, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_fp_montNF6L
      Src: /src/mcl/src/llvm_proto.hpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: mcl::fp::mcl_fp_sqrMontNF6L
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached:
    - mcl_fp_montNF6L
    linkageType: ''
    returnType: void
    signature: void mcl_fp_sqrMontNF6L(Unit *z, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_fp_montNF7L
      Src: /src/mcl/src/llvm_proto.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: mcl::fp::mcl_fp_sqrMontNF7L
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached:
    - mcl_fp_montNF7L
    linkageType: ''
    returnType: void
    signature: void mcl_fp_sqrMontNF7L(Unit *z, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_fp_montNF8L
      Src: /src/mcl/src/llvm_proto.hpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: mcl::fp::mcl_fp_sqrMontNF8L
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached:
    - mcl_fp_montNF8L
    linkageType: ''
    returnType: void
    signature: void mcl_fp_sqrMontNF8L(Unit *z, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_fp_montNF12L
      Src: /src/mcl/src/llvm_proto.hpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: mcl::fp::mcl_fp_sqrMontNF12L
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached:
    - mcl_fp_montNF12L
    linkageType: ''
    returnType: void
    signature: void mcl_fp_sqrMontNF12L(Unit *z, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_fp_montNF16L
      Src: /src/mcl/src/llvm_proto.hpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: mcl::fp::mcl_fp_sqrMontNF16L
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached:
    - mcl_fp_montNF16L
    linkageType: ''
    returnType: void
    signature: void mcl_fp_sqrMontNF16L(Unit *z, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_fp_montNF3L
      Src: /src/mcl/src/llvm_proto.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: mcl::fp::mcl_fp_sqrMontNF3L
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached:
    - mcl_fp_montNF3L
    linkageType: ''
    returnType: void
    signature: void mcl_fp_sqrMontNF3L(Unit *z, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_fp_montNF4L
      Src: /src/mcl/src/llvm_proto.hpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: mcl::fp::mcl_fp_sqrMontNF4L
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached:
    - mcl_fp_montNF4L
    linkageType: ''
    returnType: void
    signature: void mcl_fp_sqrMontNF4L(Unit *z, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_fp_montNF6L
      Src: /src/mcl/src/llvm_proto.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: mcl::fp::mcl_fp_sqrMontNF6L
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached:
    - mcl_fp_montNF6L
    linkageType: ''
    returnType: void
    signature: void mcl_fp_sqrMontNF6L(Unit *z, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_fp_montNF8L
      Src: /src/mcl/src/llvm_proto.hpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - p
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: mcl::fp::mcl_fp_sqrMontNF8L
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached:
    - mcl_fp_montNF8L
    linkageType: ''
    returnType: void
    signature: void mcl_fp_sqrMontNF8L(Unit *z, const Unit *x, const Unit *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 128
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 128
    functionName: mcl::fp::get_llvm_fp_add
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bint::void_pppp
    signature: bint::void_pppp get_llvm_fp_add(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 151
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 151
    functionName: mcl::fp::get_llvm_fp_sub
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bint::void_pppp
    signature: bint::void_pppp get_llvm_fp_sub(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 174
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 174
    functionName: mcl::fp::get_llvm_fp_addNF
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bint::void_pppp
    signature: bint::void_pppp get_llvm_fp_addNF(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 197
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 197
    functionName: mcl::fp::get_llvm_fp_subNF
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bint::void_pppp
    signature: bint::void_pppp get_llvm_fp_subNF(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 220
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 220
    functionName: mcl::fp::get_llvm_fp_mont
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bint::void_pppp
    signature: bint::void_pppp get_llvm_fp_mont(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 243
    functionName: mcl::fp::get_llvm_fp_montNF
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bint::void_pppp
    signature: bint::void_pppp get_llvm_fp_montNF(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 266
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 266
    functionName: mcl::fp::get_llvm_fp_montRed
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bint::void_ppp
    signature: bint::void_ppp get_llvm_fp_montRed(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 289
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 289
    functionName: mcl::fp::get_llvm_fp_montRedNF
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bint::void_ppp
    signature: bint::void_ppp get_llvm_fp_montRedNF(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 312
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 312
    functionName: mcl::fp::get_llvm_fpDbl_add
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bint::void_pppp
    signature: bint::void_pppp get_llvm_fpDbl_add(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 335
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 335
    functionName: mcl::fp::get_llvm_fpDbl_sub
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bint::void_pppp
    signature: bint::void_pppp get_llvm_fpDbl_sub(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 358
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 358
    functionName: mcl::fp::get_llvm_fp_sqrMont
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bint::void_ppp
    signature: bint::void_ppp get_llvm_fp_sqrMont(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 381
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 381
    functionName: mcl::fp::get_llvm_fp_sqrMontNF
    functionSourceFile: /src/mcl/src/llvm_proto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bint::void_ppp
    signature: bint::void_ppp get_llvm_fp_sqrMontNF(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Unit
      Src: /src/mcl/src/msm_avx.cpp:74,1
    - Dst: Unit
      Src: /src/mcl/src/msm_avx.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - w
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: getMask
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - Unit
    linkageType: ''
    returnType: Unit
    signature: Unit getMask(int w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mcl/src/msm_avx.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vmask
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: cvtToInt
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t cvtToInt(const Vmask& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/mcl/src/msm_avx.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: isEqual
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 26
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool isEqual(const Vec& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/mcl/src/msm_avx.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: isEqual
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 26
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool isEqual(const VecA& a, const VecA& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:97,1
    - Dst: putchar
      Src: /src/mcl/src/msm_avx.cpp:100,1
    - Dst: putchar
      Src: /src/mcl/src/msm_avx.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vmask
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: dump
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 3
    functionsReached:
    - printf
    - putchar
    linkageType: ''
    returnType: void
    signature: void dump(const Vmask& v, const char *msg = nullptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::dump
      Src: /src/mcl/src/msm_avx.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vec
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: dump
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 4
    functionsReached:
    - mcl::bint::dump
    linkageType: ''
    returnType: void
    signature: void dump(const Vec& v, const char *msg = nullptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:112,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:114,1
    - Dst: dump
      Src: /src/mcl/src/msm_avx.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - VecA
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: dump
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 5
    functionsReached:
    - dump
    - printf
    linkageType: ''
    returnType: void
    signature: void dump(const VecA& v, const char *msg = nullptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/msm_avx.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - v
    - i
    - x
    argTypes:
    - Vec[]
    - size_t
    - Unit[]
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: set
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 344
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void set(Vec v[N], size_t i, const Unit x[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/msm_avx.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - x
    - v
    - i
    argTypes:
    - Unit[]
    - Vec[]
    - size_t
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: get
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 468
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void get(Unit x[N], const Vec v[N], size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/mcl/src/msm_avx.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - yN
    - x
    argTypes:
    - Vec[]
    - Unit[]
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: cvt
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - set
    linkageType: ''
    returnType: void
    signature: void cvt(Vec yN[N], const Unit x[N*M])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/mcl/src/msm_avx.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - y
    - xN
    argTypes:
    - Unit[]
    - Vec[]
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: cvt
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void cvt(Unit y[N*M], const Vec xN[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpunpcklqdq
      Src: /src/mcl/src/msm_avx.cpp:162,1
    - Dst: vpunpckhqdq
      Src: /src/mcl/src/msm_avx.cpp:163,1
    - Dst: vpunpcklqdq
      Src: /src/mcl/src/msm_avx.cpp:164,1
    - Dst: vpunpckhqdq
      Src: /src/mcl/src/msm_avx.cpp:165,1
    - Dst: vpunpcklqdq
      Src: /src/mcl/src/msm_avx.cpp:166,1
    - Dst: vpunpckhqdq
      Src: /src/mcl/src/msm_avx.cpp:167,1
    - Dst: vpunpcklqdq
      Src: /src/mcl/src/msm_avx.cpp:168,1
    - Dst: vpunpckhqdq
      Src: /src/mcl/src/msm_avx.cpp:169,1
    - Dst: vshuffi64x2
      Src: /src/mcl/src/msm_avx.cpp:171,1
    - Dst: vshuffi64x2
      Src: /src/mcl/src/msm_avx.cpp:172,1
    - Dst: vshuffi64x2
      Src: /src/mcl/src/msm_avx.cpp:173,1
    - Dst: vshuffi64x2
      Src: /src/mcl/src/msm_avx.cpp:174,1
    - Dst: vshuffi64x2
      Src: /src/mcl/src/msm_avx.cpp:175,1
    - Dst: vshuffi64x2
      Src: /src/mcl/src/msm_avx.cpp:176,1
    - Dst: vshuffi64x2
      Src: /src/mcl/src/msm_avx.cpp:177,1
    - Dst: vshuffi64x2
      Src: /src/mcl/src/msm_avx.cpp:178,1
    - Dst: vshuffi64x2
      Src: /src/mcl/src/msm_avx.cpp:180,1
    - Dst: vshuffi64x2
      Src: /src/mcl/src/msm_avx.cpp:181,1
    - Dst: vshuffi64x2
      Src: /src/mcl/src/msm_avx.cpp:182,1
    - Dst: vshuffi64x2
      Src: /src/mcl/src/msm_avx.cpp:183,1
    - Dst: vshuffi64x2
      Src: /src/mcl/src/msm_avx.cpp:184,1
    - Dst: vshuffi64x2
      Src: /src/mcl/src/msm_avx.cpp:185,1
    - Dst: vshuffi64x2
      Src: /src/mcl/src/msm_avx.cpp:187,1
    - Dst: vshuffi64x2
      Src: /src/mcl/src/msm_avx.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - Vec[]
    - Vec[]
    constantsTouched: []
    func_position:
      end: 190
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 190
    functionName: trans8x8
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - vpunpckhqdq
    - vshuffi64x2
    - vpunpcklqdq
    linkageType: ''
    returnType: void
    signature: void trans8x8(Vec d[8], Vec s[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:195,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:196,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:197,1
    - Dst: test_clang_conditional_jump_on_bare_metal_ct_mask
      Src: /src/mcl/src/msm_avx.cpp:197,1
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:200,1
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:201,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:206,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:207,1
    - Dst: test_clang_conditional_jump_on_bare_metal_ct_mask
      Src: /src/mcl/src/msm_avx.cpp:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - V*
    - V*
    - U*
    constantsTouched: []
    func_position:
      end: 209
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 209
    functionName: vaddPre
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 2
    functionsReached:
    - vpaddq
    - vpsrlq
    - vpandq
    - test_clang_conditional_jump_on_bare_metal_ct_mask
    linkageType: ''
    returnType: void
    signature: void vaddPre(V *z, const V *x, const U *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsubq
      Src: /src/mcl/src/msm_avx.cpp:214,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:215,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:216,1
    - Dst: test_clang_conditional_jump_on_bare_metal_ct_mask
      Src: /src/mcl/src/msm_avx.cpp:216,1
    - Dst: vpsubq
      Src: /src/mcl/src/msm_avx.cpp:218,1
    - Dst: vpsubq
      Src: /src/mcl/src/msm_avx.cpp:219,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:220,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:221,1
    - Dst: test_clang_conditional_jump_on_bare_metal_ct_mask
      Src: /src/mcl/src/msm_avx.cpp:221,1
    - Dst: vpcmpneqq
      Src: /src/mcl/src/msm_avx.cpp:223,1
    - Dst: vzero
      Src: /src/mcl/src/msm_avx.cpp:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - V*
    - V*
    - U*
    constantsTouched: []
    func_position:
      end: 224
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 224
    functionName: vsubPre
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - test_clang_conditional_jump_on_bare_metal_ct_mask
    - vpcmpneqq
    - vpandq
    - vzero
    - vpsubq
    - vpsrlq
    linkageType: ''
    returnType: VM
    signature: VM vsubPre(V *z, const V *x, const U *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vselect
      Src: /src/mcl/src/msm_avx.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - z
    - ' c'
    - a
    - b
    argTypes:
    - V*
    - VM
    - V*
    - V*
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: uvselect
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - vselect
    linkageType: ''
    returnType: void
    signature: void uvselect(V *z, const VM& c, const V *a, const V *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vaddPre
      Src: /src/mcl/src/msm_avx.cpp:238,1
    - Dst: vsubPre
      Src: /src/mcl/src/msm_avx.cpp:239,1
    - Dst: Botan_Tests::MP_Unit_Tests::test_cnd_swap
      Src: /src/mcl/src/msm_avx.cpp:239,1
    - Dst: uvselect
      Src: /src/mcl/src/msm_avx.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - V*
    - V*
    - V*
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: vadd
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::MP_Unit_Tests::test_cnd_swap
    - vsubPre
    - uvselect
    - vaddPre
    linkageType: ''
    returnType: void
    signature: void vadd(V *z, const V *x, const V *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_c5_vadd
      Src: /src/mcl/src/msm_avx.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Vec*
    - Vec*
    - Vec*
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: vadd
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 1
    functionsReached:
    - mcl_c5_vadd
    linkageType: ''
    returnType: void
    signature: void vadd(Vec *z, const Vec *x, const Vec *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_c5_vaddA
      Src: /src/mcl/src/msm_avx.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - VecA*
    - VecA*
    - VecA*
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: vadd
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 1
    functionsReached:
    - mcl_c5_vaddA
    linkageType: ''
    returnType: void
    signature: void vadd<VmaskA, VecA>(VecA *z, const VecA *x, const VecA *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vsubPre
      Src: /src/mcl/src/msm_avx.cpp:261,1
    - Dst: vaddPre
      Src: /src/mcl/src/msm_avx.cpp:262,1
    - Dst: Botan_Tests::MP_Unit_Tests::test_cnd_swap
      Src: /src/mcl/src/msm_avx.cpp:262,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:263,1
    - Dst: test_clang_conditional_jump_on_bare_metal_ct_mask
      Src: /src/mcl/src/msm_avx.cpp:263,1
    - Dst: uvselect
      Src: /src/mcl/src/msm_avx.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - V*
    - V*
    - V*
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: vsub
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - test_clang_conditional_jump_on_bare_metal_ct_mask
    - Botan_Tests::MP_Unit_Tests::test_cnd_swap
    - vsubPre
    - vpandq
    - uvselect
    - vaddPre
    linkageType: ''
    returnType: void
    signature: void vsub(V *z, const V *x, const V *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_c5_vsub
      Src: /src/mcl/src/msm_avx.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Vec*
    - Vec*
    - Vec*
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: vsub
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 1
    functionsReached:
    - mcl_c5_vsub
    linkageType: ''
    returnType: void
    signature: void vsub(Vec *z, const Vec *x, const Vec *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_c5_vsubA
      Src: /src/mcl/src/msm_avx.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - VecA*
    - VecA*
    - VecA*
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: vsub
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 1
    functionsReached:
    - mcl_c5_vsubA
    linkageType: ''
    returnType: void
    signature: void vsub<VmaskA, VecA>(VecA *z, const VecA *x, const VecA *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vmulL
      Src: /src/mcl/src/msm_avx.cpp:285,1
    - Dst: vmulH
      Src: /src/mcl/src/msm_avx.cpp:286,1
    - Dst: vmulL
      Src: /src/mcl/src/msm_avx.cpp:288,1
    - Dst: vmulH
      Src: /src/mcl/src/msm_avx.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - z
    - x
    - ' y'
    argTypes:
    - V*
    - V*
    - V
    constantsTouched: []
    func_position:
      end: 292
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 292
    functionName: vmulUnit
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - vmulH
    - vmulL
    linkageType: ''
    returnType: void
    signature: void vmulUnit(V *z, const V *x, const V& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vmulL
      Src: /src/mcl/src/msm_avx.cpp:300,1
    - Dst: vmulH
      Src: /src/mcl/src/msm_avx.cpp:301,1
    - Dst: vmulL
      Src: /src/mcl/src/msm_avx.cpp:304,1
    - Dst: vmulH
      Src: /src/mcl/src/msm_avx.cpp:305,1
    - Dst: vmulL
      Src: /src/mcl/src/msm_avx.cpp:308,1
    - Dst: vmulH
      Src: /src/mcl/src/msm_avx.cpp:309,1
    - Dst: vmulL
      Src: /src/mcl/src/msm_avx.cpp:312,1
    - Dst: vmulH
      Src: /src/mcl/src/msm_avx.cpp:313,1
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:315,1
    - Dst: vmulL
      Src: /src/mcl/src/msm_avx.cpp:315,1
    - Dst: vmulH
      Src: /src/mcl/src/msm_avx.cpp:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - z
    - x
    - ' y'
    argTypes:
    - V*
    - U*
    - V
    constantsTouched: []
    func_position:
      end: 320
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 320
    functionName: vmulUnitAdd
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - vmulH
    - vmulL
    - vpaddq
    linkageType: ''
    returnType: V
    signature: V vmulUnitAdd(V *z, const U *x, const V& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vmulUnit
      Src: /src/mcl/src/msm_avx.cpp:325,1
    - Dst: vmulUnitAdd
      Src: /src/mcl/src/msm_avx.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - V[]
    - V[]
    - V[]
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: vmulPre
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - vmulUnitAdd
    - vmulUnit
    linkageType: ''
    returnType: void
    signature: void vmulPre(V z[N*2], const V x[N], const V y[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vselect
      Src: /src/mcl/src/msm_avx.cpp:336,1
    - Dst: vzero
      Src: /src/mcl/src/msm_avx.cpp:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - t
    - ' c'
    - a
    argTypes:
    - V*
    - VM
    - V[]
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: vset
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - vselect
    - vzero
    linkageType: ''
    returnType: void
    signature: void vset(V *t, const VM& c, const V a[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vmulL
      Src: /src/mcl/src/msm_avx.cpp:344,1
    - Dst: fdivrp
      Src: /src/mcl/src/msm_avx.cpp:344,1
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:345,1
    - Dst: vmulUnitAdd
      Src: /src/mcl/src/msm_avx.cpp:345,1
    - Dst: Botan_Tests::MP_Unit_Tests::test_cnd_swap
      Src: /src/mcl/src/msm_avx.cpp:345,1
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:346,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:346,1
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:349,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:349,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:350,1
    - Dst: test_clang_conditional_jump_on_bare_metal_ct_mask
      Src: /src/mcl/src/msm_avx.cpp:350,1
    - Dst: vsubPre
      Src: /src/mcl/src/msm_avx.cpp:352,1
    - Dst: Botan_Tests::MP_Unit_Tests::test_cnd_swap
      Src: /src/mcl/src/msm_avx.cpp:352,1
    - Dst: uvselect
      Src: /src/mcl/src/msm_avx.cpp:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - z
    - xy
    argTypes:
    - V[]
    - V[]
    constantsTouched: []
    func_position:
      end: 354
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 354
    functionName: vmont
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - test_clang_conditional_jump_on_bare_metal_ct_mask
    - Botan_Tests::MP_Unit_Tests::test_cnd_swap
    - vsubPre
    - vpandq
    - vmulUnitAdd
    - uvselect
    - fdivrp
    - vmulL
    - vpaddq
    - vpsrlq
    linkageType: ''
    returnType: void
    signature: void vmont(V z[N], V xy[N*2])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vec
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: broadcast
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Vec
    signature: Vec broadcast(const Vec& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - VecA
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: broadcast
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VecA
    signature: VecA broadcast(const VecA& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpbroadcastq
      Src: /src/mcl/src/msm_avx.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 364
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 364
    functionName: broadcast
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - vpbroadcastq
    linkageType: ''
    returnType: Vec
    signature: Vec broadcast(const uint64_t& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: broadcast
      Src: /src/mcl/src/msm_avx.cpp:369,1
    - Dst: broadcast
      Src: /src/mcl/src/msm_avx.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: broadcast
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 1
    functionsReached:
    - broadcast
    linkageType: ''
    returnType: VecA
    signature: VecA broadcast(const uint64_t& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vmulPre
      Src: /src/mcl/src/msm_avx.cpp:379,1
    - Dst: vmont
      Src: /src/mcl/src/msm_avx.cpp:380,1
    - Dst: vmulUnit
      Src: /src/mcl/src/msm_avx.cpp:383,1
    - Dst: broadcast
      Src: /src/mcl/src/msm_avx.cpp:383,1
    - Dst: vmulL
      Src: /src/mcl/src/msm_avx.cpp:384,1
    - Dst: fdivrp
      Src: /src/mcl/src/msm_avx.cpp:384,1
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:385,1
    - Dst: vmulUnitAdd
      Src: /src/mcl/src/msm_avx.cpp:385,1
    - Dst: Botan_Tests::MP_Unit_Tests::test_cnd_swap
      Src: /src/mcl/src/msm_avx.cpp:385,1
    - Dst: vmulUnitAdd
      Src: /src/mcl/src/msm_avx.cpp:387,1
    - Dst: broadcast
      Src: /src/mcl/src/msm_avx.cpp:387,1
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:388,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:388,1
    - Dst: vmulL
      Src: /src/mcl/src/msm_avx.cpp:389,1
    - Dst: fdivrp
      Src: /src/mcl/src/msm_avx.cpp:389,1
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:390,1
    - Dst: vmulUnitAdd
      Src: /src/mcl/src/msm_avx.cpp:390,1
    - Dst: Botan_Tests::MP_Unit_Tests::test_cnd_swap
      Src: /src/mcl/src/msm_avx.cpp:390,1
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:393,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:393,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:394,1
    - Dst: test_clang_conditional_jump_on_bare_metal_ct_mask
      Src: /src/mcl/src/msm_avx.cpp:394,1
    - Dst: vsubPre
      Src: /src/mcl/src/msm_avx.cpp:396,1
    - Dst: Botan_Tests::MP_Unit_Tests::test_cnd_swap
      Src: /src/mcl/src/msm_avx.cpp:396,1
    - Dst: uvselect
      Src: /src/mcl/src/msm_avx.cpp:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - V*
    - V*
    - U*
    constantsTouched: []
    func_position:
      end: 399
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 399
    functionName: vmul
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - test_clang_conditional_jump_on_bare_metal_ct_mask
    - Botan_Tests::MP_Unit_Tests::test_cnd_swap
    - vmulUnit
    - vpaddq
    - vsubPre
    - broadcast
    - vpandq
    - vmont
    - vmulUnitAdd
    - uvselect
    - fdivrp
    - vmulL
    - vmulPre
    - vpsrlq
    linkageType: ''
    returnType: void
    signature: void vmul(V *z, const V *x, const U *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_c5_vmul
      Src: /src/mcl/src/msm_avx.cpp:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Vec*
    - Vec*
    - Vec*
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: vmul
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 1
    functionsReached:
    - mcl_c5_vmul
    linkageType: ''
    returnType: void
    signature: void vmul(Vec *z, const Vec *x, const Vec *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_c5_vmulA
      Src: /src/mcl/src/msm_avx.cpp:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - VecA*
    - VecA*
    - VecA*
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: vmul
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 1
    functionsReached:
    - mcl_c5_vmulA
    linkageType: ''
    returnType: void
    signature: void vmul<VmaskA, VecA>(VecA *z, const VecA *x, const VecA *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vmulUnit
      Src: /src/mcl/src/msm_avx.cpp:420,1
    - Dst: vmulL
      Src: /src/mcl/src/msm_avx.cpp:421,1
    - Dst: fdivrp
      Src: /src/mcl/src/msm_avx.cpp:421,1
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:422,1
    - Dst: vmulUnitAdd
      Src: /src/mcl/src/msm_avx.cpp:422,1
    - Dst: Botan_Tests::MP_Unit_Tests::test_cnd_swap
      Src: /src/mcl/src/msm_avx.cpp:422,1
    - Dst: vmulUnitAdd
      Src: /src/mcl/src/msm_avx.cpp:424,1
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:425,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:425,1
    - Dst: vmulL
      Src: /src/mcl/src/msm_avx.cpp:426,1
    - Dst: fdivrp
      Src: /src/mcl/src/msm_avx.cpp:426,1
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:427,1
    - Dst: vmulUnitAdd
      Src: /src/mcl/src/msm_avx.cpp:427,1
    - Dst: Botan_Tests::MP_Unit_Tests::test_cnd_swap
      Src: /src/mcl/src/msm_avx.cpp:427,1
    - Dst: vmulL
      Src: /src/mcl/src/msm_avx.cpp:431,1
    - Dst: vmulL
      Src: /src/mcl/src/msm_avx.cpp:433,1
    - Dst: vmulH
      Src: /src/mcl/src/msm_avx.cpp:434,1
    - Dst: vmulL
      Src: /src/mcl/src/msm_avx.cpp:438,1
    - Dst: vmulH
      Src: /src/mcl/src/msm_avx.cpp:439,1
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:443,1
    - Dst: vmulH
      Src: /src/mcl/src/msm_avx.cpp:446,1
    - Dst: vmulL
      Src: /src/mcl/src/msm_avx.cpp:447,1
    - Dst: vmulH
      Src: /src/mcl/src/msm_avx.cpp:449,1
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:452,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:452,1
    - Dst: vmulL
      Src: /src/mcl/src/msm_avx.cpp:453,1
    - Dst: fdivrp
      Src: /src/mcl/src/msm_avx.cpp:453,1
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:454,1
    - Dst: vmulUnitAdd
      Src: /src/mcl/src/msm_avx.cpp:454,1
    - Dst: Botan_Tests::MP_Unit_Tests::test_cnd_swap
      Src: /src/mcl/src/msm_avx.cpp:454,1
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:458,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:458,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:459,1
    - Dst: test_clang_conditional_jump_on_bare_metal_ct_mask
      Src: /src/mcl/src/msm_avx.cpp:459,1
    - Dst: vsubPre
      Src: /src/mcl/src/msm_avx.cpp:461,1
    - Dst: Botan_Tests::MP_Unit_Tests::test_cnd_swap
      Src: /src/mcl/src/msm_avx.cpp:461,1
    - Dst: uvselect
      Src: /src/mcl/src/msm_avx.cpp:462,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - V*
    - V*
    constantsTouched: []
    func_position:
      end: 463
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 463
    functionName: vsqr
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - test_clang_conditional_jump_on_bare_metal_ct_mask
    - Botan_Tests::MP_Unit_Tests::test_cnd_swap
    - vmulUnit
    - vsubPre
    - vmulH
    - vpandq
    - vmulUnitAdd
    - uvselect
    - fdivrp
    - vmulL
    - vpaddq
    - vpsrlq
    linkageType: ''
    returnType: void
    signature: void vsqr(V *z, const V *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_c5_vsqr
      Src: /src/mcl/src/msm_avx.cpp:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - Vec*
    - Vec*
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: vsqr
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 1
    functionsReached:
    - mcl_c5_vsqr
    linkageType: ''
    returnType: void
    signature: void vsqr(Vec *z, const Vec *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl_c5_vmulA
      Src: /src/mcl/src/msm_avx.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - z
    - x
    argTypes:
    - VecA*
    - VecA*
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 479
    functionName: vsqr
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 1
    functionsReached:
    - mcl_c5_vmulA
    linkageType: ''
    returnType: void
    signature: void vsqr<VmaskA, VecA>(VecA *z, const VecA *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:489,1
    - Dst: vporq
      Src: /src/mcl/src/msm_avx.cpp:490,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:490,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - x
    - xN
    - bitPos
    argTypes:
    - V*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 491
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 491
    functionName: getUnitAt
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 2
    functionsReached:
    - vpsrlq
    - vpsllq
    - vporq
    linkageType: ''
    returnType: V
    signature: V getUnitAt(const V *x, size_t xN, size_t bitPos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/msm_avx.cpp:501,1
    - Dst: vpbroadcastq
      Src: /src/mcl/src/msm_avx.cpp:503,1
    - Dst: getMask
      Src: /src/mcl/src/msm_avx.cpp:503,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:506,1
    - Dst: vpternlogq
      Src: /src/mcl/src/msm_avx.cpp:507,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:507,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:507,1
    - Dst: vpternlogq
      Src: /src/mcl/src/msm_avx.cpp:508,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:508,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:508,1
    - Dst: vpternlogq
      Src: /src/mcl/src/msm_avx.cpp:509,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:509,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:509,1
    - Dst: vpternlogq
      Src: /src/mcl/src/msm_avx.cpp:510,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:510,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:510,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:511,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:511,1
    - Dst: vpternlogq
      Src: /src/mcl/src/msm_avx.cpp:512,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:512,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:512,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:513,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:515,1
    - Dst: test_clang_conditional_jump_on_bare_metal_ct_mask
      Src: /src/mcl/src/msm_avx.cpp:515,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:516,1
    - Dst: vporq
      Src: /src/mcl/src/msm_avx.cpp:516,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:516,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:516,1
    - Dst: test_clang_conditional_jump_on_bare_metal_ct_mask
      Src: /src/mcl/src/msm_avx.cpp:516,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:517,1
    - Dst: vporq
      Src: /src/mcl/src/msm_avx.cpp:517,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:517,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:517,1
    - Dst: test_clang_conditional_jump_on_bare_metal_ct_mask
      Src: /src/mcl/src/msm_avx.cpp:517,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:518,1
    - Dst: vporq
      Src: /src/mcl/src/msm_avx.cpp:518,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:518,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:518,1
    - Dst: test_clang_conditional_jump_on_bare_metal_ct_mask
      Src: /src/mcl/src/msm_avx.cpp:518,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:519,1
    - Dst: vporq
      Src: /src/mcl/src/msm_avx.cpp:519,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:519,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:519,1
    - Dst: test_clang_conditional_jump_on_bare_metal_ct_mask
      Src: /src/mcl/src/msm_avx.cpp:519,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:520,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:520,1
    - Dst: test_clang_conditional_jump_on_bare_metal_ct_mask
      Src: /src/mcl/src/msm_avx.cpp:520,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:521,1
    - Dst: vporq
      Src: /src/mcl/src/msm_avx.cpp:521,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:521,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:521,1
    - Dst: test_clang_conditional_jump_on_bare_metal_ct_mask
      Src: /src/mcl/src/msm_avx.cpp:521,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - V[]
    - V[]
    constantsTouched: []
    func_position:
      end: 524
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 524
    functionName: split52bit
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - test_clang_conditional_jump_on_bare_metal_ct_mask
    - vpandq
    - assert
    - getMask
    - vpsllq
    - vporq
    - vpternlogq
    - vpbroadcastq
    - vpsrlq
    linkageType: ''
    returnType: void
    signature: void split52bit(V y[8], const V x[6])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/msm_avx.cpp:534,1
    - Dst: vporq
      Src: /src/mcl/src/msm_avx.cpp:535,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:535,1
    - Dst: vporq
      Src: /src/mcl/src/msm_avx.cpp:536,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:536,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:536,1
    - Dst: vporq
      Src: /src/mcl/src/msm_avx.cpp:537,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:537,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:537,1
    - Dst: vporq
      Src: /src/mcl/src/msm_avx.cpp:538,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:538,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:538,1
    - Dst: vpternlogq
      Src: /src/mcl/src/msm_avx.cpp:541,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:541,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:541,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:541,1
    - Dst: vporq
      Src: /src/mcl/src/msm_avx.cpp:543,1
    - Dst: vporq
      Src: /src/mcl/src/msm_avx.cpp:543,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:543,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:543,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:543,1
    - Dst: vporq
      Src: /src/mcl/src/msm_avx.cpp:545,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:545,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - V[]
    - V[]
    constantsTouched: []
    func_position:
      end: 546
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 546
    functionName: concat52bit
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - assert
    - vpsllq
    - vporq
    - vpternlogq
    - vpsrlq
    linkageType: ''
    returnType: void
    signature: void concat52bit(V y[6], const V x[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpgatherqq
      Src: /src/mcl/src/msm_avx.cpp:565,1
    - Dst: getMask
      Src: /src/mcl/src/msm_avx.cpp:569,1
    - Dst: vmovdqu64
      Src: /src/mcl/src/msm_avx.cpp:571,1
    - Dst: trans8x8
      Src: /src/mcl/src/msm_avx.cpp:573,1
    - Dst: split52bit
      Src: /src/mcl/src/msm_avx.cpp:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - Vec*
    - Unit*
    constantsTouched: []
    func_position:
      end: 576
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 576
    functionName: cvtFromG1Ax
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - trans8x8
    - split52bit
    - getMask
    - vpgatherqq
    - vmovdqu64
    linkageType: ''
    returnType: void
    signature: void cvtFromG1Ax(Vec *y, const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/msm_avx.cpp:584,1
    - Dst: vpgatherqq
      Src: /src/mcl/src/msm_avx.cpp:585,1
    - Dst: vpgatherqq
      Src: /src/mcl/src/msm_avx.cpp:586,1
    - Dst: vpgatherqq
      Src: /src/mcl/src/msm_avx.cpp:588,1
    - Dst: split52bit
      Src: /src/mcl/src/msm_avx.cpp:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - VecA*
    - Unit*
    constantsTouched: []
    func_position:
      end: 592
      start: 579
    functionDepth: 3
    functionLinenumber: 579
    functionLinenumberEnd: 592
    functionName: cvtFromG1Ax
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - vpgatherqq
    - assert
    - split52bit
    linkageType: ''
    returnType: void
    signature: void cvtFromG1Ax(VecA *y, const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat52bit
      Src: /src/mcl/src/msm_avx.cpp:599,1
    - Dst: vpscatterqq
      Src: /src/mcl/src/msm_avx.cpp:601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - Unit*
    - Vec*
    constantsTouched: []
    func_position:
      end: 603
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 603
    functionName: cvtToG1Ax
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - vpscatterqq
    - concat52bit
    linkageType: ''
    returnType: void
    signature: void cvtToG1Ax(Unit *y, const Vec *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat52bit
      Src: /src/mcl/src/msm_avx.cpp:608,1
    - Dst: vpscatterqq
      Src: /src/mcl/src/msm_avx.cpp:610,1
    - Dst: vpscatterqq
      Src: /src/mcl/src/msm_avx.cpp:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - Unit*
    - VecA*
    constantsTouched: []
    func_position:
      end: 613
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 613
    functionName: cvtToG1Ax
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - vpscatterqq
    - concat52bit
    linkageType: ''
    returnType: void
    signature: void cvtToG1Ax(Unit *y, const VecA *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concat52bit
      Src: /src/mcl/src/msm_avx.cpp:623,1
    - Dst: vpscatterqq
      Src: /src/mcl/src/msm_avx.cpp:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - Unit[]
    - Vec[]
    constantsTouched: []
    func_position:
      end: 627
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 627
    functionName: cvt8Ux8to6Ux8
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - vpscatterqq
    - concat52bit
    linkageType: ''
    returnType: void
    signature: void cvt8Ux8to6Ux8(Unit y[6*8], const Vec x[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpgatherqq
      Src: /src/mcl/src/msm_avx.cpp:633,1
    - Dst: split52bit
      Src: /src/mcl/src/msm_avx.cpp:635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - Vec[]
    - Unit[]
    constantsTouched: []
    func_position:
      end: 636
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 636
    functionName: cvt6Ux8to8Ux8Fp
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - vpgatherqq
    - split52bit
    linkageType: ''
    returnType: void
    signature: void cvt6Ux8to8Ux8Fp(Vec y[8], const Unit x[6*8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vadd
      Src: /src/mcl/src/msm_avx.cpp:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 646
      start: 643
    functionDepth: 4
    functionLinenumber: 643
    functionLinenumberEnd: 646
    functionName: add
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 259
    functionsReached:
    - vadd
    linkageType: ''
    returnType: void
    signature: void add(T& z, const T& x, const T& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/mcl/src/msm_avx.cpp:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 650
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 650
    functionName: mul2
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 23
    functionsReached:
    - add
    linkageType: ''
    returnType: void
    signature: void mul2(T& z, const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vsub
      Src: /src/mcl/src/msm_avx.cpp:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 654
      start: 651
    functionDepth: 4
    functionLinenumber: 651
    functionLinenumberEnd: 654
    functionName: sub
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 156
    functionsReached:
    - vsub
    linkageType: ''
    returnType: void
    signature: void sub(T& z, const T& x, const T& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::sub
      Src: /src/mcl/src/msm_avx.cpp:657,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/mcl/src/msm_avx.cpp:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 658
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 658
    functionName: neg
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 40
    functionsReached:
    - mcl::FpT::sub
    - fiat_bls12_381_fp_nonzero
    linkageType: ''
    returnType: void
    signature: void neg(T& z, const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::sub
      Src: /src/mcl/src/msm_avx.cpp:662,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/mcl/src/msm_avx.cpp:662,1
    - Dst: static_cast<const T&>
      Src: /src/mcl/src/msm_avx.cpp:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 664
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 664
    functionName: neg
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 40
    functionsReached:
    - mcl::FpT::sub
    - fiat_bls12_381_fp_nonzero
    - static_cast<const T&>
    linkageType: ''
    returnType: T
    signature: T neg() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vmul
      Src: /src/mcl/src/msm_avx.cpp:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 668
      start: 665
    functionDepth: 5
    functionLinenumber: 665
    functionLinenumberEnd: 668
    functionName: mul
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 293
    functionsReached:
    - vmul
    linkageType: ''
    returnType: void
    signature: void mul(T& z, const T& x, const T& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vmul
      Src: /src/mcl/src/msm_avx.cpp:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - T
    - T
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 672
      start: 669
    functionDepth: 5
    functionLinenumber: 669
    functionLinenumberEnd: 672
    functionName: mul
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 294
    functionsReached:
    - vmul
    linkageType: ''
    returnType: void
    signature: void mul(T& z, const T& x, const uint64_t y[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vsqr
      Src: /src/mcl/src/msm_avx.cpp:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 677
      start: 673
    functionDepth: 4
    functionLinenumber: 673
    functionLinenumberEnd: 677
    functionName: sqr
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 57
    functionsReached:
    - vsqr
    linkageType: ''
    returnType: void
    signature: void sqr(T& z, const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul
      Src: /src/mcl/src/msm_avx.cpp:680,1
    - Dst: Botan::R2
      Src: /src/mcl/src/msm_avx.cpp:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 681
      start: 678
    functionDepth: 2
    functionLinenumber: 678
    functionLinenumberEnd: 681
    functionName: toMont
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 5
    functionsReached:
    - Botan::R2
    - mul
    linkageType: ''
    returnType: void
    signature: void toMont(T& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul
      Src: /src/mcl/src/msm_avx.cpp:684,1
    - Dst: T::rawOne
      Src: /src/mcl/src/msm_avx.cpp:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 685
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 685
    functionName: fromMont
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 3
    functionsReached:
    - T::rawOne
    - mul
    linkageType: ''
    returnType: void
    signature: void fromMont(const T &x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mcl/src/msm_avx.cpp:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 689
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 689
    functionName: clear
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 327
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/mcl/src/msm_avx.cpp:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 693
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 693
    functionName: operator==(const T& rhs) const
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const T& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 694
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 694
    functionName: operator!=(const T& rhs) const
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const T& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpxorq
      Src: /src/mcl/src/msm_avx.cpp:697,1
    - Dst: vporq
      Src: /src/mcl/src/msm_avx.cpp:699,1
    - Dst: vpxorq
      Src: /src/mcl/src/msm_avx.cpp:699,1
    - Dst: vpcmpeqq
      Src: /src/mcl/src/msm_avx.cpp:701,1
    - Dst: vzero
      Src: /src/mcl/src/msm_avx.cpp:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 702
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 702
    functionName: isEqualAll
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - vpcmpeqq
    - vpxorq
    - vporq
    - vzero
    linkageType: ''
    returnType: VM
    signature: VM isEqualAll(const T& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vporq
      Src: /src/mcl/src/msm_avx.cpp:707,1
    - Dst: vpcmpeqq
      Src: /src/mcl/src/msm_avx.cpp:709,1
    - Dst: vzero
      Src: /src/mcl/src/msm_avx.cpp:709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 710
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 710
    functionName: isZero
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 30
    functionsReached:
    - vpcmpeqq
    - vporq
    - vzero
    linkageType: ''
    returnType: VM
    signature: VM isZero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/msm_avx.cpp:714,1
    - Dst: blst::PT::one
      Src: /src/mcl/src/msm_avx.cpp:717,1
    - Dst: mul
      Src: /src/mcl/src/msm_avx.cpp:720,1
    - Dst: vpbroadcastq
      Src: /src/mcl/src/msm_avx.cpp:725,1
    - Dst: getMask
      Src: /src/mcl/src/msm_avx.cpp:725,1
    - Dst: mcl::FpT::sqr
      Src: /src/mcl/src/msm_avx.cpp:729,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:730,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:730,1
    - Dst: vpsllq
      Src: /src/mcl/src/msm_avx.cpp:731,1
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:732,1
    - Dst: Botan::detail::bitvector_iterator::signed_offset
      Src: /src/mcl/src/msm_avx.cpp:732,1
    - Dst: vpgatherqq
      Src: /src/mcl/src/msm_avx.cpp:735,1
    - Dst: mul
      Src: /src/mcl/src/msm_avx.cpp:737,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - y
    - yn
    argTypes:
    - T
    - T
    - V*
    - size_t
    constantsTouched: []
    func_position:
      end: 740
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 740
    functionName: pow
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 41
    functionsReached:
    - vpaddq
    - assert
    - vpandq
    - blst::PT::one
    - getMask
    - vpgatherqq
    - mcl::FpT::sqr
    - vpsllq
    - vpbroadcastq
    - vpsrlq
    - Botan::detail::bitvector_iterator::signed_offset
    - mul
    linkageType: ''
    returnType: void
    signature: void pow(T& z, const T& x, const V *y, size_t yn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vselect
      Src: /src/mcl/src/msm_avx.cpp:745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' c'
    - ' x'
    argTypes:
    - VM
    - T
    constantsTouched: []
    func_position:
      end: 747
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 747
    functionName: cset
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 1
    functionsReached:
    - vselect
    linkageType: ''
    returnType: void
    signature: void cset(const VM& c, const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uvselect
      Src: /src/mcl/src/msm_avx.cpp:752,1
    - Dst: broadcast
      Src: /src/mcl/src/msm_avx.cpp:752,1
    - Dst: broadcast
      Src: /src/mcl/src/msm_avx.cpp:752,1
    - Dst: vporq
      Src: /src/mcl/src/msm_avx.cpp:755,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:755,1
    - Dst: vpandnq
      Src: /src/mcl/src/msm_avx.cpp:755,1
    - Dst: vselect
      Src: /src/mcl/src/msm_avx.cpp:761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' c'
    - ' a'
    - ' b'
    argTypes:
    - VM
    - T
    - T
    constantsTouched: []
    func_position:
      end: 765
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 765
    functionName: select
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 70
    functionsReached:
    - vpandnq
    - broadcast
    - vpandq
    - uvselect
    - vselect
    - vporq
    linkageType: ''
    returnType: T
    signature: T select(const VM& c, const T& a, const T& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 769
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 769
    functionName: '& offset()'
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Vec
    signature: Vec & offset()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 770
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 770
    functionName: '& zero()'
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FpM
    signature: FpM & zero()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 771
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 771
    functionName: '& one()'
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FpM
    signature: FpM & one()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 772
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 772
    functionName: '& R2()'
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FpM
    signature: FpM & R2()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 773
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 773
    functionName: '& rawOne()'
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FpM
    signature: FpM & rawOne()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 774
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 774
    functionName: '& m64to52()'
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FpM
    signature: FpM & m64to52()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 775
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 775
    functionName: '& m52to64()'
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FpM
    signature: FpM & m52to64()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 776
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 776
    functionName: '& rw()'
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FpM
    signature: FpM & rw()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cvt6Ux8to8Ux8Fp
      Src: /src/mcl/src/msm_avx.cpp:779,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - FpA[]
    constantsTouched: []
    func_position:
      end: 782
      start: 777
    functionDepth: 4
    functionLinenumber: 777
    functionLinenumberEnd: 782
    functionName: setFpA
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - cvt6Ux8to8Ux8Fp
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void setFpA(const FpA v[M])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:787,1
    - Dst: cvt8Ux8to6Ux8
      Src: /src/mcl/src/msm_avx.cpp:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - FpA[]
    constantsTouched: []
    func_position:
      end: 789
      start: 783
    functionDepth: 2
    functionLinenumber: 783
    functionLinenumberEnd: 789
    functionName: getFpA
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - cvt8Ux8to6Ux8
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void getFpA(FpA v[M]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_ALIGN
      Src: /src/mcl/src/msm_avx.cpp:792,1
    - Dst: getFpA
      Src: /src/mcl/src/msm_avx.cpp:794,1
    - Dst: mcl::invVec<mcl::Fp>
      Src: /src/mcl/src/msm_avx.cpp:795,1
    - Dst: setFpA
      Src: /src/mcl/src/msm_avx.cpp:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - FpM
    - FpM
    constantsTouched: []
    func_position:
      end: 797
      start: 790
    functionDepth: 5
    functionLinenumber: 790
    functionLinenumberEnd: 797
    functionName: inv
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 34
    functionsReached:
    - CYBOZU_ALIGN
    - getFpA
    - mcl::invVec<mcl::Fp>
    - setFpA
    linkageType: ''
    returnType: void
    signature: void inv(FpM& z, const FpM& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_ALIGNED_ALLOCA
      Src: /src/mcl/src/msm_avx.cpp:815,1
    - Dst: Xbyak::AlignedMalloc
      Src: /src/mcl/src/msm_avx.cpp:819,1
    - Dst: Botan::select
      Src: /src/mcl/src/msm_avx.cpp:822,1
    - Dst: z::isZero
      Src: /src/mcl/src/msm_avx.cpp:822,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/mcl/src/msm_avx.cpp:822,1
    - Dst: Botan::select
      Src: /src/mcl/src/msm_avx.cpp:824,1
    - Dst: z::isZero
      Src: /src/mcl/src/msm_avx.cpp:824,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/mcl/src/msm_avx.cpp:824,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:825,1
    - Dst: CYBOZU_ALIGN
      Src: /src/mcl/src/msm_avx.cpp:827,1
    - Dst: Botan::Classic_McEliece_GF::inv
      Src: /src/mcl/src/msm_avx.cpp:828,1
    - Dst: isZero
      Src: /src/mcl/src/msm_avx.cpp:832,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:837,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:838,1
    - Dst: Botan::select
      Src: /src/mcl/src/msm_avx.cpp:838,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/mcl/src/msm_avx.cpp:838,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/msm_avx.cpp:840,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:841,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:842,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:843,1
    - Dst: Botan::select
      Src: /src/mcl/src/msm_avx.cpp:844,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/mcl/src/msm_avx.cpp:844,1
    - Dst: Botan::select
      Src: /src/mcl/src/msm_avx.cpp:845,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/mcl/src/msm_avx.cpp:845,1
    - Dst: Xbyak::AlignedFree
      Src: /src/mcl/src/msm_avx.cpp:848,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - P
    - n
    argTypes:
    - E*
    - size_t
    constantsTouched: []
    func_position:
      end: 850
      start: 808
    functionDepth: 3
    functionLinenumber: 808
    functionLinenumberEnd: 850
    functionName: normalizeJacobiVec
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - Botan::Classic_McEliece_GF::inv
    - Botan::fe_sqr
    - Botan::select
    - isZero
    - CYBOZU_ALIGN
    - CYBOZU_ALIGNED_ALLOCA
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - Xbyak::AlignedFree
    - Xbyak::AlignedMalloc
    - fiat_bls12_381_fp_mul
    - z::isZero
    linkageType: ''
    returnType: void
    signature: void normalizeJacobiVec(E *P, size_t n, bool isProj = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/msm_avx.cpp:860,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:862,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/msm_avx.cpp:863,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:865,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:866,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/msm_avx.cpp:867,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:868,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/msm_avx.cpp:869,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/msm_avx.cpp:870,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:871,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:872,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/msm_avx.cpp:873,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/msm_avx.cpp:874,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/msm_avx.cpp:875,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/msm_avx.cpp:876,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:877,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:878,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/msm_avx.cpp:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 3
    argNames:
    - ' R'
    - ' P'
    - ' Q'
    argTypes:
    - E
    - E
    - E
    constantsTouched: []
    func_position:
      end: 880
      start: 856
    functionDepth: 2
    functionLinenumber: 856
    functionLinenumberEnd: 880
    functionName: addJacobiMixedNoCheck
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_sub
    - Botan::fe_sqr
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void addJacobiMixedNoCheck(E& R, const E& P, const E& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/msm_avx.cpp:889,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/msm_avx.cpp:890,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:891,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:892,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/msm_avx.cpp:893,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:894,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:895,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:896,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:897,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/msm_avx.cpp:898,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:899,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:900,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/msm_avx.cpp:901,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/msm_avx.cpp:902,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:903,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:904,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/msm_avx.cpp:905,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/msm_avx.cpp:906,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/msm_avx.cpp:907,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/msm_avx.cpp:908,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:909,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:910,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/msm_avx.cpp:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 3
    argNames:
    - ' R'
    - ' P'
    - ' Q'
    argTypes:
    - E
    - E
    - E
    constantsTouched: []
    func_position:
      end: 912
      start: 885
    functionDepth: 2
    functionLinenumber: 885
    functionLinenumberEnd: 912
    functionName: addJacobiNoCheck
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_sub
    - Botan::fe_sqr
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void addJacobiNoCheck(E& R, const E& P, const E& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/msm_avx.cpp:921,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/msm_avx.cpp:922,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:923,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/src/msm_avx.cpp:924,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/msm_avx.cpp:925,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/src/msm_avx.cpp:926,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/src/msm_avx.cpp:927,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/msm_avx.cpp:928,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/msm_avx.cpp:929,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/msm_avx.cpp:930,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/msm_avx.cpp:931,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:932,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/src/msm_avx.cpp:933,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/msm_avx.cpp:934,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:935,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/src/msm_avx.cpp:936,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/src/msm_avx.cpp:937,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/src/msm_avx.cpp:938,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/msm_avx.cpp:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - ' R'
    - ' P'
    argTypes:
    - E
    - E
    constantsTouched: []
    func_position:
      end: 940
      start: 917
    functionDepth: 2
    functionLinenumber: 917
    functionLinenumberEnd: 940
    functionName: dblJacobiNoCheck
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - Botan::fe_sqr
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_add
    - fiat_bls12_381_fp_mul
    - Botan::PCurve::GenericField::mul2
    linkageType: ''
    returnType: void
    signature: void dblJacobiNoCheck(E& R, const E& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::select
      Src: /src/mcl/src/msm_avx.cpp:959,1
    - Dst: Botan::select
      Src: /src/mcl/src/msm_avx.cpp:960,1
    - Dst: Botan::select
      Src: /src/mcl/src/msm_avx.cpp:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' c'
    - ' a'
    - ' b'
    argTypes:
    - VM
    - T
    - T
    constantsTouched: []
    func_position:
      end: 963
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 963
    functionName: select
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 72
    functionsReached:
    - Botan::select
    linkageType: ''
    returnType: T
    signature: T select(const VM& c, const T& a, const T& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::addCTProj
      Src: /src/mcl/src/msm_avx.cpp:970,1
    - Dst: select
      Src: /src/mcl/src/msm_avx.cpp:971,1
    - Dst: isZero
      Src: /src/mcl/src/msm_avx.cpp:971,1
    - Dst: mcl::ec::addCTProj
      Src: /src/mcl/src/msm_avx.cpp:973,1
    - Dst: addJacobiMixedNoCheck
      Src: /src/mcl/src/msm_avx.cpp:978,1
    - Dst: addJacobiNoCheck
      Src: /src/mcl/src/msm_avx.cpp:980,1
    - Dst: select
      Src: /src/mcl/src/msm_avx.cpp:982,1
    - Dst: isZero
      Src: /src/mcl/src/msm_avx.cpp:982,1
    - Dst: select
      Src: /src/mcl/src/msm_avx.cpp:983,1
    - Dst: isZero
      Src: /src/mcl/src/msm_avx.cpp:983,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 985
      start: 965
    functionDepth: 3
    functionLinenumber: 965
    functionLinenumberEnd: 985
    functionName: add
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 261
    functionsReached:
    - addJacobiNoCheck
    - isZero
    - mcl::ec::addCTProj
    - addJacobiMixedNoCheck
    - select
    linkageType: ''
    returnType: void
    signature: void add(T& z, const T& x, const T& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::dblCTProj
      Src: /src/mcl/src/msm_avx.cpp:990,1
    - Dst: dblJacobiNoCheck
      Src: /src/mcl/src/msm_avx.cpp:992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 994
      start: 987
    functionDepth: 3
    functionLinenumber: 987
    functionLinenumberEnd: 994
    functionName: dbl
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 25
    functionsReached:
    - mcl::ec::dblCTProj
    - dblJacobiNoCheck
    linkageType: ''
    returnType: void
    signature: void dbl(T& z, const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 999
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 999
    functionName: zero
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 161
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & zero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zero
      Src: /src/mcl/src/msm_avx.cpp:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1001
    functionDepth: 1
    functionLinenumber: 1001
    functionLinenumberEnd: 1004
    functionName: clear
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 327
    functionsReached:
    - zero
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Classic_McEliece_GF::inv
      Src: /src/mcl/src/msm_avx.cpp:1009,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1010,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1011,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/mcl/src/msm_avx.cpp:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1005
    functionDepth: 3
    functionLinenumber: 1005
    functionLinenumberEnd: 1013
    functionName: normalize
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 19
    functionsReached:
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - Botan::Classic_McEliece_GF::inv
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void normalize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: template clear<isProj>
      Src: /src/mcl/src/msm_avx.cpp:1017,1
    - Dst: dbl
      Src: /src/mcl/src/msm_avx.cpp:1019,1
    - Dst: add
      Src: /src/mcl/src/msm_avx.cpp:1022,1
    - Dst: dbl
      Src: /src/mcl/src/msm_avx.cpp:1024,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - tbl
    - tblN
    - ' P'
    argTypes:
    - T*
    - size_t
    - T
    constantsTouched: []
    func_position:
      end: 1027
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1027
    functionName: makeTable
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - add
    - dbl
    - template clear<isProj>
    linkageType: ''
    returnType: void
    signature: void makeTable(T *tbl, size_t tblN, const T& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpbroadcastq
      Src: /src/mcl/src/msm_avx.cpp:1030,1
    - Dst: vmulL
      Src: /src/mcl/src/msm_avx.cpp:1031,1
    - Dst: Botan::detail::bitvector_iterator::signed_offset
      Src: /src/mcl/src/msm_avx.cpp:1031,1
    - Dst: vpgatherqq
      Src: /src/mcl/src/msm_avx.cpp:1033,1
    - Dst: vpgatherqq
      Src: /src/mcl/src/msm_avx.cpp:1034,1
    - Dst: vpgatherqq
      Src: /src/mcl/src/msm_avx.cpp:1035,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - tbl
    - idx
    argTypes:
    - T*
    - V
    constantsTouched: []
    func_position:
      end: 1037
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1037
    functionName: gather
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - Botan::detail::bitvector_iterator::signed_offset
    - vpbroadcastq
    - vpgatherqq
    - vmulL
    linkageType: ''
    returnType: void
    signature: void gather(const T *tbl, V idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpbroadcastq
      Src: /src/mcl/src/msm_avx.cpp:1040,1
    - Dst: vmulL
      Src: /src/mcl/src/msm_avx.cpp:1041,1
    - Dst: Botan::detail::bitvector_iterator::signed_offset
      Src: /src/mcl/src/msm_avx.cpp:1041,1
    - Dst: vpscatterqq
      Src: /src/mcl/src/msm_avx.cpp:1043,1
    - Dst: vpscatterqq
      Src: /src/mcl/src/msm_avx.cpp:1044,1
    - Dst: vpscatterqq
      Src: /src/mcl/src/msm_avx.cpp:1045,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - tbl
    - idx
    argTypes:
    - T*
    - V
    constantsTouched: []
    func_position:
      end: 1047
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1047
    functionName: scatter
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - Botan::detail::bitvector_iterator::signed_offset
    - vpbroadcastq
    - vmulL
    - vpscatterqq
    linkageType: ''
    returnType: void
    signature: void scatter(T *tbl, V idx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1050,1
    - Dst: pextrw
      Src: /src/mcl/src/msm_avx.cpp:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' Q'
    - ' P'
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 1053
      start: 1048
    functionDepth: 2
    functionLinenumber: 1048
    functionLinenumberEnd: 1053
    functionName: mulLambda
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 3
    functionsReached:
    - pextrw
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mulLambda(T& Q, const T& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/msm_avx.cpp:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' Q'
    - ' P'
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 1059
      start: 1054
    functionDepth: 1
    functionLinenumber: 1054
    functionLinenumberEnd: 1059
    functionName: neg
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 41
    functionsReached:
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void neg(T& Q, const T& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cset
      Src: /src/mcl/src/msm_avx.cpp:1062,1
    - Dst: cset
      Src: /src/mcl/src/msm_avx.cpp:1063,1
    - Dst: cset
      Src: /src/mcl/src/msm_avx.cpp:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' c'
    - ' v'
    argTypes:
    - VM
    - T
    constantsTouched: []
    func_position:
      end: 1065
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1065
    functionName: cset
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 2
    functionsReached:
    - cset
    linkageType: ''
    returnType: void
    signature: void cset(const VM& c, const T& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isZero
      Src: /src/mcl/src/msm_avx.cpp:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1069
    functionName: isZero
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 33
    functionsReached:
    - isZero
    linkageType: ''
    returnType: VM
    signature: VM isZero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/msm_avx.cpp:1074,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/msm_avx.cpp:1075,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1076,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1077,1
    - Dst: isEqualAll
      Src: /src/mcl/src/msm_avx.cpp:1078,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1079,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1080,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1081,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1082,1
    - Dst: isEqualAll
      Src: /src/mcl/src/msm_avx.cpp:1083,1
    - Dst: kandb
      Src: /src/mcl/src/msm_avx.cpp:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 1085
      start: 1070
    functionDepth: 2
    functionLinenumber: 1070
    functionLinenumberEnd: 1085
    functionName: isEqualJacobiAll
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - isEqualAll
    - kandb
    - Botan::fe_sqr
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: VM
    signature: VM isEqualJacobiAll(const T& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpbroadcastq
      Src: /src/mcl/src/msm_avx.cpp:1089,1
    - Dst: vpbroadcastq
      Src: /src/mcl/src/msm_avx.cpp:1090,1
    - Dst: vpbroadcastq
      Src: /src/mcl/src/msm_avx.cpp:1091,1
    - Dst: vpbroadcastq
      Src: /src/mcl/src/msm_avx.cpp:1092,1
    - Dst: vzero
      Src: /src/mcl/src/msm_avx.cpp:1094,1
    - Dst: getUnitAt
      Src: /src/mcl/src/msm_avx.cpp:1097,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:1098,1
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:1099,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:1100,1
    - Dst: vpcmpgtq
      Src: /src/mcl/src/msm_avx.cpp:1101,1
    - Dst: vselect
      Src: /src/mcl/src/msm_avx.cpp:1102,1
    - Dst: vpsubq
      Src: /src/mcl/src/msm_avx.cpp:1102,1
    - Dst: vpsrlq
      Src: /src/mcl/src/msm_avx.cpp:1103,1
    - Dst: vpaddq
      Src: /src/mcl/src/msm_avx.cpp:1104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - idxTbl
    - negTbl
    - a
    argTypes:
    - V*
    - VM*
    - V[]
    constantsTouched: []
    func_position:
      end: 1107
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1107
    functionName: makeNAFtbl
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - vpaddq
    - vpandq
    - vzero
    - vselect
    - getUnitAt
    - vpsubq
    - vpbroadcastq
    - vpsrlq
    - vpcmpgtq
    linkageType: ''
    returnType: void
    signature: void makeNAFtbl(V *idxTbl, VM *negTbl, const V a[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/msm_avx.cpp:1111,1
    - Dst: CYBOZU_ALIGN
      Src: /src/mcl/src/msm_avx.cpp:1121,1
    - Dst: CYBOZU_ALIGNED_ALLOCA
      Src: /src/mcl/src/msm_avx.cpp:1126,1
    - Dst: makeTable
      Src: /src/mcl/src/msm_avx.cpp:1129,1
    - Dst: normalizeJacobiVec
      Src: /src/mcl/src/msm_avx.cpp:1131,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/src/msm_avx.cpp:1133,1
    - Dst: mulLambda
      Src: /src/mcl/src/msm_avx.cpp:1138,1
    - Dst: fromMont
      Src: /src/mcl/src/msm_avx.cpp:1145,1
    - Dst: mcl::ec::optimizedSplitRawForBLS12_377
      Src: /src/mcl/src/msm_avx.cpp:1148,1
    - Dst: mcl::ec::optimizedSplitRawForBLS12_381
      Src: /src/mcl/src/msm_avx.cpp:1150,1
    - Dst: makeNAFtbl
      Src: /src/mcl/src/msm_avx.cpp:1159,1
    - Dst: makeNAFtbl
      Src: /src/mcl/src/msm_avx.cpp:1160,1
    - Dst: T::template dbl<isProj>
      Src: /src/mcl/src/msm_avx.cpp:1163,1
    - Dst: T::gather
      Src: /src/mcl/src/msm_avx.cpp:1168,1
    - Dst: Botan::select
      Src: /src/mcl/src/msm_avx.cpp:1169,1
    - Dst: T::y::neg
      Src: /src/mcl/src/msm_avx.cpp:1169,1
    - Dst: add
      Src: /src/mcl/src/msm_avx.cpp:1173,1
    - Dst: T::gather
      Src: /src/mcl/src/msm_avx.cpp:1176,1
    - Dst: Botan::select
      Src: /src/mcl/src/msm_avx.cpp:1177,1
    - Dst: T::y::neg
      Src: /src/mcl/src/msm_avx.cpp:1177,1
    - Dst: add
      Src: /src/mcl/src/msm_avx.cpp:1178,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - Q
    - P
    - y
    - n
    argTypes:
    - T*
    - T*
    - FrA*
    - size_t
    constantsTouched: []
    func_position:
      end: 1181
      start: 1109
    functionDepth: 4
    functionLinenumber: 1109
    functionLinenumberEnd: 1181
    functionName: mulGLV
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - add
    - T::gather
    - mcl::ec::optimizedSplitRawForBLS12_381
    - mulLambda
    - Botan::select
    - CYBOZU_ALIGN
    - CYBOZU_ALIGNED_ALLOCA
    - mcl::ec::optimizedSplitRawForBLS12_377
    - assert
    - normalizeJacobiVec
    - fromMont
    - T::template dbl<isProj>
    - makeTable
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - makeNAFtbl
    - T::y::neg
    linkageType: ''
    returnType: void
    signature: void mulGLV(T *Q, const T *P, const FrA *y, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cvtFromG1Ax
      Src: /src/mcl/src/msm_avx.cpp:1191,1
    - Dst: cvtFromG1Ax
      Src: /src/mcl/src/msm_avx.cpp:1192,1
    - Dst: cvtFromG1Ax
      Src: /src/mcl/src/msm_avx.cpp:1193,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1195,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1196,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1197,1
    - Dst: mcl::ec::JacobiToProj
      Src: /src/mcl/src/msm_avx.cpp:1200,1
    - Dst: Botan::select
      Src: /src/mcl/src/msm_avx.cpp:1201,1
    - Dst: isZero
      Src: /src/mcl/src/msm_avx.cpp:1201,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/mcl/src/msm_avx.cpp:1201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - v
    argTypes:
    - G1A[]
    constantsTouched: []
    func_position:
      end: 1203
      start: 1189
    functionDepth: 4
    functionLinenumber: 1189
    functionLinenumberEnd: 1203
    functionName: setG1A
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - mcl::ec::JacobiToProj
    - isZero
    - Botan::select
    - cvtFromG1Ax
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void setG1A(const G1A v[M], bool JacobiToProj = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::ProjToJacobi
      Src: /src/mcl/src/msm_avx.cpp:1207,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1209,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1210,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1211,1
    - Dst: cvtToG1Ax
      Src: /src/mcl/src/msm_avx.cpp:1213,1
    - Dst: cvtToG1Ax
      Src: /src/mcl/src/msm_avx.cpp:1214,1
    - Dst: cvtToG1Ax
      Src: /src/mcl/src/msm_avx.cpp:1215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - v
    argTypes:
    - G1A[]
    constantsTouched: []
    func_position:
      end: 1216
      start: 1204
    functionDepth: 2
    functionLinenumber: 1204
    functionLinenumberEnd: 1216
    functionName: getG1A
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - cvtToG1Ax
    - fiat_bls12_381_fp_mul
    - mcl::ec::ProjToJacobi
    linkageType: ''
    returnType: void
    signature: void getG1A(G1A v[M], bool ProjToJacobi = true) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: makeTable
      Src: /src/mcl/src/msm_avx.cpp:1228,1
    - Dst: normalizeJacobiVec
      Src: /src/mcl/src/msm_avx.cpp:1229,1
    - Dst: mulLambda
      Src: /src/mcl/src/msm_avx.cpp:1231,1
    - Dst: mcl::ec::optimizedSplitRawForBLS12_381
      Src: /src/mcl/src/msm_avx.cpp:1239,1
    - Dst: vpbroadcastq
      Src: /src/mcl/src/msm_avx.cpp:1244,1
    - Dst: vpbroadcastq
      Src: /src/mcl/src/msm_avx.cpp:1250,1
    - Dst: EcM::dbl<isProj>
      Src: /src/mcl/src/msm_avx.cpp:1256,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:1259,1
    - Dst: getUnitAt
      Src: /src/mcl/src/msm_avx.cpp:1259,1
    - Dst: gather
      Src: /src/mcl/src/msm_avx.cpp:1261,1
    - Dst: EcM::gather
      Src: /src/mcl/src/msm_avx.cpp:1264,1
    - Dst: add
      Src: /src/mcl/src/msm_avx.cpp:1265,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:1267,1
    - Dst: getUnitAt
      Src: /src/mcl/src/msm_avx.cpp:1267,1
    - Dst: EcM::gather
      Src: /src/mcl/src/msm_avx.cpp:1268,1
    - Dst: add
      Src: /src/mcl/src/msm_avx.cpp:1269,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - ' Q'
    - ' P'
    - y
    argTypes:
    - EcM
    - EcM
    - Vec[]
    constantsTouched: []
    func_position:
      end: 1271
      start: 1221
    functionDepth: 4
    functionLinenumber: 1221
    functionLinenumberEnd: 1271
    functionName: mulGLV
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - add
    - mcl::ec::optimizedSplitRawForBLS12_381
    - mulLambda
    - EcM::gather
    - vpandq
    - normalizeJacobiVec
    - gather
    - getUnitAt
    - makeTable
    - vpbroadcastq
    - EcM::dbl<isProj>
    linkageType: ''
    returnType: void
    signature: void mulGLV(EcM& Q, const EcM& P, const Vec y[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getG1A
      Src: /src/mcl/src/msm_avx.cpp:1285,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/msm_avx.cpp:1288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' Q'
    - ' P'
    argTypes:
    - G1A
    - G
    constantsTouched: []
    func_position:
      end: 1290
      start: 1281
    functionDepth: 3
    functionLinenumber: 1281
    functionLinenumberEnd: 1290
    functionName: reduceSum
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - getG1A
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void reduceSum(G1A& Q, const G& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpbroadcastq
      Src: /src/mcl/src/msm_avx.cpp:1296,1
    - Dst: clear
      Src: /src/mcl/src/msm_avx.cpp:1298,1
    - Dst: getUnitAt
      Src: /src/mcl/src/msm_avx.cpp:1301,1
    - Dst: vpandq
      Src: /src/mcl/src/msm_avx.cpp:1302,1
    - Dst: G::gather
      Src: /src/mcl/src/msm_avx.cpp:1304,1
    - Dst: G::template add<isProj, mixed>
      Src: /src/mcl/src/msm_avx.cpp:1305,1
    - Dst: G::scatter
      Src: /src/mcl/src/msm_avx.cpp:1306,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/msm_avx.cpp:1312,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/msm_avx.cpp:1315,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/msm_avx.cpp:1316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 9
    argNames:
    - ' win'
    - tbl
    - tblN
    - xVec
    - yVec
    - yn
    - pos
    - n
    - first
    argTypes:
    - G
    - G*
    - size_t
    - G*
    - V*
    - size_t
    - size_t
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 1318
      start: 1293
    functionDepth: 2
    functionLinenumber: 1293
    functionLinenumberEnd: 1318
    functionName: mulVecUpdateTable
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 1
    functionsReached:
    - G::scatter
    - vpandq
    - fiat_bls12_381_fp_add
    - clear
    - getUnitAt
    - vpbroadcastq
    - G::template add<isProj, mixed>
    - G::gather
    linkageType: ''
    returnType: void
    signature: void mulVecUpdateTable(G& win, G *tbl, size_t tblN, const G *xVec,
      const V *yVec, size_t yn, size_t pos, size_t n, bool first)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/src/msm_avx.cpp:1332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1335
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1335
    functionName: glvGetBucketSizeAVX512
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    linkageType: ''
    returnType: size_t
    signature: size_t glvGetBucketSizeAVX512(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glvGetBucketSizeAVX512
      Src: /src/mcl/src/msm_avx.cpp:1340,1
    - Dst: Xbyak::AlignedMalloc
      Src: /src/mcl/src/msm_avx.cpp:1342,1
    - Dst: mulVecUpdateTable
      Src: /src/mcl/src/msm_avx.cpp:1347,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/src/msm_avx.cpp:1350,1
    - Dst: mulVecUpdateTable
      Src: /src/mcl/src/msm_avx.cpp:1352,1
    - Dst: reduceSum
      Src: /src/mcl/src/msm_avx.cpp:1354,1
    - Dst: Xbyak::AlignedFree
      Src: /src/mcl/src/msm_avx.cpp:1355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - ' P'
    - xVec
    - yVec
    - n
    - maxBitSize
    - b
    argTypes:
    - G1A
    - G*
    - V*
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1356
      start: 1338
    functionDepth: 4
    functionLinenumber: 1338
    functionLinenumberEnd: 1356
    functionName: mulVecAVX512_inner
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - reduceSum
    - Botan::ge_p2_dbl
    - Xbyak::AlignedFree
    - mulVecUpdateTable
    - Xbyak::AlignedMalloc
    - glvGetBucketSizeAVX512
    linkageType: ''
    returnType: void
    signature: void mulVecAVX512_inner(G1A& P, const G *xVec, const V *yVec, size_t
      n, size_t maxBitSize, size_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1359
    functionName: '& offset()'
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VecA
    signature: VecA & offset()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1360
    functionName: '& zero()'
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FpMA
    signature: FpMA & zero()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1361
    functionName: '& one()'
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FpMA
    signature: FpMA & one()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1362
    functionName: '& R2()'
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FpMA
    signature: FpMA & R2()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1363
    functionName: '& rawOne()'
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FpMA
    signature: FpMA & rawOne()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1364
    functionName: '& m64to52()'
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FpMA
    signature: FpMA & m64to52()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1365
    functionName: '& m52to64()'
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FpMA
    signature: FpMA & m52to64()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1366
    functionName: '& rw()'
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FpMA
    signature: FpMA & rw()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setFpA
      Src: /src/mcl/src/msm_avx.cpp:1371,1
    - Dst: setFpM
      Src: /src/mcl/src/msm_avx.cpp:1373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - FpA[]
    constantsTouched: []
    func_position:
      end: 1374
      start: 1367
    functionDepth: 1
    functionLinenumber: 1367
    functionLinenumberEnd: 1374
    functionName: setFpA
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 2
    functionsReached:
    - setFpM
    - setFpA
    linkageType: ''
    returnType: void
    signature: void setFpA(const FpA v[M*vN])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getFpM
      Src: /src/mcl/src/msm_avx.cpp:1378,1
    - Dst: getFpA
      Src: /src/mcl/src/msm_avx.cpp:1380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - FpA[]
    constantsTouched: []
    func_position:
      end: 1382
      start: 1375
    functionDepth: 1
    functionLinenumber: 1375
    functionLinenumberEnd: 1382
    functionName: getFpA
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 2
    functionsReached:
    - getFpA
    - getFpM
    linkageType: ''
    returnType: void
    signature: void getFpA(FpA v[M*vN]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_ALIGN
      Src: /src/mcl/src/msm_avx.cpp:1385,1
    - Dst: getFpA
      Src: /src/mcl/src/msm_avx.cpp:1387,1
    - Dst: mcl::invVec<mcl::Fp>
      Src: /src/mcl/src/msm_avx.cpp:1388,1
    - Dst: setFpA
      Src: /src/mcl/src/msm_avx.cpp:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - FpMA
    - FpMA
    constantsTouched: []
    func_position:
      end: 1390
      start: 1383
    functionDepth: 5
    functionLinenumber: 1383
    functionLinenumberEnd: 1390
    functionName: inv
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 36
    functionsReached:
    - CYBOZU_ALIGN
    - getFpA
    - mcl::invVec<mcl::Fp>
    - setFpA
    linkageType: ''
    returnType: void
    signature: void inv(FpMA& z, const FpMA& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - FpM[]
    constantsTouched: []
    func_position:
      end: 1398
      start: 1391
    functionDepth: 0
    functionLinenumber: 1391
    functionLinenumberEnd: 1398
    functionName: setFpM
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setFpM(const FpM x[vN])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - y
    argTypes:
    - FpM[]
    constantsTouched: []
    func_position:
      end: 1406
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1406
    functionName: getFpM
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void getFpM(FpM y[vN]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/msm_avx.cpp:1411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - FpMA
    - FpM
    - FpM
    constantsTouched: []
    func_position:
      end: 1416
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1416
    functionName: cvtFpM2FpMA
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void cvtFpM2FpMA(FpMA& z, const FpM& x, const FpM& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/msm_avx.cpp:1420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - FpM
    - FpM
    - FpMA
    constantsTouched: []
    func_position:
      end: 1425
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1425
    functionName: cvtFpMA2FpM
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void cvtFpMA2FpM(FpM& a, FpM& b, const FpMA& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cvtFpM2FpMA
      Src: /src/mcl/src/msm_avx.cpp:1433,1
    - Dst: cvtFpM2FpMA
      Src: /src/mcl/src/msm_avx.cpp:1434,1
    - Dst: cvtFpM2FpMA
      Src: /src/mcl/src/msm_avx.cpp:1435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - P
    argTypes:
    - EcM[]
    constantsTouched: []
    func_position:
      end: 1436
      start: 1431
    functionDepth: 1
    functionLinenumber: 1431
    functionLinenumberEnd: 1436
    functionName: setEcM
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - cvtFpM2FpMA
    linkageType: ''
    returnType: void
    signature: void setEcM(const EcM P[vN])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cvtFpMA2FpM
      Src: /src/mcl/src/msm_avx.cpp:1439,1
    - Dst: cvtFpMA2FpM
      Src: /src/mcl/src/msm_avx.cpp:1440,1
    - Dst: cvtFpMA2FpM
      Src: /src/mcl/src/msm_avx.cpp:1441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - P
    argTypes:
    - EcM[]
    constantsTouched: []
    func_position:
      end: 1442
      start: 1437
    functionDepth: 1
    functionLinenumber: 1437
    functionLinenumberEnd: 1442
    functionName: getEcM
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - cvtFpMA2FpM
    linkageType: ''
    returnType: void
    signature: void getEcM(EcM P[vN]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/msm_avx.cpp:1448,1
    - Dst: cvtFromG1Ax
      Src: /src/mcl/src/msm_avx.cpp:1450,1
    - Dst: cvtFromG1Ax
      Src: /src/mcl/src/msm_avx.cpp:1451,1
    - Dst: cvtFromG1Ax
      Src: /src/mcl/src/msm_avx.cpp:1452,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1454,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1455,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1456,1
    - Dst: mcl::ec::JacobiToProj
      Src: /src/mcl/src/msm_avx.cpp:1460,1
    - Dst: Botan::select
      Src: /src/mcl/src/msm_avx.cpp:1461,1
    - Dst: isZero
      Src: /src/mcl/src/msm_avx.cpp:1461,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/mcl/src/msm_avx.cpp:1461,1
    - Dst: setG1A
      Src: /src/mcl/src/msm_avx.cpp:1466,1
    - Dst: setEcM
      Src: /src/mcl/src/msm_avx.cpp:1468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - v
    argTypes:
    - G1A[]
    constantsTouched: []
    func_position:
      end: 1470
      start: 1445
    functionDepth: 4
    functionLinenumber: 1445
    functionLinenumberEnd: 1470
    functionName: setG1A
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 1
    functionsReached:
    - mcl::ec::JacobiToProj
    - setG1A
    - Botan::select
    - isZero
    - cvtFromG1Ax
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - assert
    - setEcM
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void setG1A(const G1A v[M*vN], bool JacobiToProj = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::ProjToJacobi
      Src: /src/mcl/src/msm_avx.cpp:1475,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1477,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1478,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1479,1
    - Dst: cvtToG1Ax
      Src: /src/mcl/src/msm_avx.cpp:1481,1
    - Dst: cvtToG1Ax
      Src: /src/mcl/src/msm_avx.cpp:1482,1
    - Dst: cvtToG1Ax
      Src: /src/mcl/src/msm_avx.cpp:1483,1
    - Dst: getEcM
      Src: /src/mcl/src/msm_avx.cpp:1486,1
    - Dst: getG1A
      Src: /src/mcl/src/msm_avx.cpp:1488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - v
    argTypes:
    - G1A[]
    constantsTouched: []
    func_position:
      end: 1491
      start: 1471
    functionDepth: 2
    functionLinenumber: 1471
    functionLinenumberEnd: 1491
    functionName: getG1A
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 2
    functionsReached:
    - cvtToG1Ax
    - mcl::ec::ProjToJacobi
    - getEcM
    - fiat_bls12_381_fp_mul
    - getG1A
    linkageType: ''
    returnType: void
    signature: void getG1A(G1A v[M*vN], bool ProjToJacobi = true) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::AlignedMalloc
      Src: /src/mcl/src/msm_avx.cpp:1518,1
    - Dst: Xbyak::AlignedMalloc
      Src: /src/mcl/src/msm_avx.cpp:1519,1
    - Dst: template setG1A<mixed>
      Src: /src/mcl/src/msm_avx.cpp:1522,1
    - Dst: normalizeJacobiVec
      Src: /src/mcl/src/msm_avx.cpp:1524,1
    - Dst: mcl::mulLambda
      Src: /src/mcl/src/msm_avx.cpp:1527,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/src/msm_avx.cpp:1535,1
    - Dst: mcl::ec::optimizedSplitRawForBLS12_377
      Src: /src/mcl/src/msm_avx.cpp:1538,1
    - Dst: mcl::ec::optimizedSplitRawForBLS12_381
      Src: /src/mcl/src/msm_avx.cpp:1540,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/src/msm_avx.cpp:1549,1
    - Dst: fromMont
      Src: /src/mcl/src/msm_avx.cpp:1554,1
    - Dst: mulVecAVX512_inner
      Src: /src/mcl/src/msm_avx.cpp:1561,1
    - Dst: Xbyak::AlignedFree
      Src: /src/mcl/src/msm_avx.cpp:1563,1
    - Dst: Xbyak::AlignedFree
      Src: /src/mcl/src/msm_avx.cpp:1564,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1568,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/msm_avx.cpp:1569,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 4
    argNames:
    - ' _P'
    - _x
    - _y
    - n
    argTypes:
    - G1
    - G1*
    - Fr*
    - size_t
    constantsTouched: []
    func_position:
      end: 1571
      start: 1501
    functionDepth: 5
    functionLinenumber: 1501
    functionLinenumberEnd: 1571
    functionName: mulVecAVX512T
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - mcl::ec::optimizedSplitRawForBLS12_381
    - mcl::mulLambda
    - mcl::ec::optimizedSplitRawForBLS12_377
    - Xbyak::AlignedFree
    - normalizeJacobiVec
    - mulVecAVX512_inner
    - fiat_bls12_381_fp_add
    - fromMont
    - template setG1A<mixed>
    - Xbyak::AlignedMalloc
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mulVecAVX512T(G1& _P, G1 *_x, const Fr *_y, size_t n, size_t bucket
      = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulVecAVX512T
      Src: /src/mcl/src/msm_avx.cpp:1579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' P'
    - x
    - y
    - n
    argTypes:
    - G1
    - G1*
    - Fr*
    - size_t
    constantsTouched: []
    func_position:
      end: 1581
      start: 1577
    functionDepth: 6
    functionLinenumber: 1577
    functionLinenumberEnd: 1581
    functionName: mcl::msm::mulVecAVX512
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - mulVecAVX512T
    linkageType: ''
    returnType: void
    signature: void mulVecAVX512(G1& P, G1 *x, const Fr *y, size_t n, size_t b = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/msm_avx.cpp:1591,1
    - Dst: mcl::ec::normalizeVec
      Src: /src/mcl/src/msm_avx.cpp:1597,1
    - Dst: setG1A
      Src: /src/mcl/src/msm_avx.cpp:1604,1
    - Dst: V::mulGLV<isProj, mixed>
      Src: /src/mcl/src/msm_avx.cpp:1606,1
    - Dst: getG1A
      Src: /src/mcl/src/msm_avx.cpp:1608,1
    - Dst: setG1A
      Src: /src/mcl/src/msm_avx.cpp:1615,1
    - Dst: V::mulGLV<isProj, mixed>
      Src: /src/mcl/src/msm_avx.cpp:1617,1
    - Dst: getG1A
      Src: /src/mcl/src/msm_avx.cpp:1619,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - _x
    - _y
    - n
    argTypes:
    - G1*
    - Fr*
    - size_t
    constantsTouched: []
    func_position:
      end: 1621
      start: 1583
    functionDepth: 5
    functionLinenumber: 1583
    functionLinenumberEnd: 1621
    functionName: mcl::msm::mulEachAVX512
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - setG1A
    - V::mulGLV<isProj, mixed>
    - assert
    - getG1A
    - mcl::ec::normalizeVec
    linkageType: ''
    returnType: void
    signature: void mulEachAVX512(G1 *_x, const Fr *_y, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/msm_avx.cpp:1625,1
    - Dst: assert
      Src: /src/mcl/src/msm_avx.cpp:1627,1
    - Dst: assert
      Src: /src/mcl/src/msm_avx.cpp:1629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' cp'
    argTypes:
    - mcl::CurveParam
    constantsTouched: []
    func_position:
      end: 1648
      start: 1623
    functionDepth: 0
    functionLinenumber: 1623
    functionLinenumberEnd: 1648
    functionName: mcl::msm::initMsm
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool initMsm(const mcl::CurveParam& cp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getMask
      Src: /src/mcl/src/msm_avx.cpp:1668,1
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/src/msm_avx.cpp:1671,1
    - Dst: assert
      Src: /src/mcl/src/msm_avx.cpp:1672,1
    - Dst: mcl::fp::getUnitAt
      Src: /src/mcl/src/msm_avx.cpp:1674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - x
    - ' mx'
    argTypes:
    - Unit[]
    - mpz_class
    constantsTouched: []
    func_position:
      end: 1676
      start: 1666
    functionDepth: 1
    functionLinenumber: 1666
    functionLinenumberEnd: 1676
    functionName: toArray
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - mcl::fp::getUnitAt
    - assert
    - mcl::gmp::getArray
    - getMask
    linkageType: ''
    returnType: void
    signature: void toArray(Unit x[N], const mpz_class& mx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::setUnit
      Src: /src/mcl/src/msm_avx.cpp:1682,1
    - Dst: mcl::gmp::addUnit
      Src: /src/mcl/src/msm_avx.cpp:1685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - Unit[]
    constantsTouched: []
    func_position:
      end: 1688
      start: 1679
    functionDepth: 1
    functionLinenumber: 1679
    functionLinenumberEnd: 1688
    functionName: fromArray
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::setUnit
    - mcl::gmp::addUnit
    linkageType: ''
    returnType: mpz_class
    signature: mpz_class fromArray(const Unit x[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1699
    functionName: Montgomery::Montgomery
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Montgomery()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/src/msm_avx.cpp:1703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 1704
      start: 1700
    functionDepth: 1
    functionLinenumber: 1700
    functionLinenumberEnd: 1704
    functionName: Montgomery::getLow
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 1
    functionsReached:
    - mcl::gmp::getUnit
    linkageType: ''
    returnType: Unit
    signature: Unit getLow(const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toArray
      Src: /src/mcl/src/msm_avx.cpp:1711,1
    - Dst: mcl::bint::getMontgomeryCoeff
      Src: /src/mcl/src/msm_avx.cpp:1712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' _p'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 1715
      start: 1705
    functionDepth: 2
    functionLinenumber: 1705
    functionLinenumberEnd: 1715
    functionName: Montgomery::init
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - mcl::bint::getMontgomeryCoeff
    - toArray
    linkageType: ''
    returnType: void
    signature: void init(const mpz_class& _p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Montgomery::mul
      Src: /src/mcl/src/msm_avx.cpp:1720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 1722
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1722
    functionName: Montgomery::toMont
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 3
    functionsReached:
    - Montgomery::mul
    linkageType: ''
    returnType: mpz_class
    signature: mpz_class toMont(const mpz_class& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Montgomery::mul
      Src: /src/mcl/src/msm_avx.cpp:1726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 1728
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1728
    functionName: Montgomery::fromMont
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 3
    functionsReached:
    - Montgomery::mul
    linkageType: ''
    returnType: mpz_class
    signature: mpz_class fromMont(const mpz_class& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Montgomery::mod
      Src: /src/mcl/src/msm_avx.cpp:1732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - mpz_class
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 1733
      start: 1730
    functionDepth: 0
    functionLinenumber: 1730
    functionLinenumberEnd: 1733
    functionName: Montgomery::mul
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 5
    functionsReached:
    - Montgomery::mod
    linkageType: ''
    returnType: void
    signature: void mul(mpz_class& z, const mpz_class& x, const mpz_class& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Montgomery::getLow
      Src: /src/mcl/src/msm_avx.cpp:1739,1
    - Dst: mcl::gmp::setUnit
      Src: /src/mcl/src/msm_avx.cpp:1740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' z'
    - ' xy'
    argTypes:
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 1747
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1747
    functionName: Montgomery::mod
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 2
    functionsReached:
    - mcl::gmp::setUnit
    - Montgomery::getLow
    linkageType: ''
    returnType: void
    signature: void mod(mpz_class& z, const mpz_class& xy) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_ALIGN
      Src: /src/mcl/src/msm_avx.cpp:1754,1
    - Dst: getFpA
      Src: /src/mcl/src/msm_avx.cpp:1755,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:1756,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:1759,1
    - Dst: getStr
      Src: /src/mcl/src/msm_avx.cpp:1759,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FpM
    constantsTouched: []
    func_position:
      end: 1762
      start: 1752
    functionDepth: 3
    functionLinenumber: 1752
    functionLinenumberEnd: 1762
    functionName: dump
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 5
    functionsReached:
    - CYBOZU_ALIGN
    - getFpA
    - getStr
    - printf
    linkageType: ''
    returnType: void
    signature: void dump(const FpM& x, const char *msg = nullptr, size_t pos = size_t(-1))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toMont
      Src: /src/mcl/src/msm_avx.cpp:1766,1
    - Dst: toArray
      Src: /src/mcl/src/msm_avx.cpp:1768,1
    - Dst: Botan::TLS::Text_Policy::set
      Src: /src/mcl/src/msm_avx.cpp:1769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - i
    argTypes:
    - mpz_class
    - size_t
    constantsTouched: []
    func_position:
      end: 1770
      start: 1764
    functionDepth: 3
    functionLinenumber: 1764
    functionLinenumberEnd: 1770
    functionName: FpM::set
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::set
    - toArray
    - toMont
    linkageType: ''
    returnType: void
    signature: void FpM::set(const mpz_class& x, size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toMont
      Src: /src/mcl/src/msm_avx.cpp:1773,1
    - Dst: toArray
      Src: /src/mcl/src/msm_avx.cpp:1775,1
    - Dst: Botan::TLS::Text_Policy::set
      Src: /src/mcl/src/msm_avx.cpp:1777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 1779
      start: 1771
    functionDepth: 3
    functionLinenumber: 1771
    functionLinenumberEnd: 1779
    functionName: FpM::set
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Text_Policy::set
    - toArray
    - toMont
    linkageType: ''
    returnType: void
    signature: void FpM::set(const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::RAII_LowLevel::get
      Src: /src/mcl/src/msm_avx.cpp:1783,1
    - Dst: fromArray
      Src: /src/mcl/src/msm_avx.cpp:1784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1785
      start: 1780
    functionDepth: 2
    functionLinenumber: 1780
    functionLinenumberEnd: 1785
    functionName: FpM::getRaw
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - fromArray
    - Botan_Tests::RAII_LowLevel::get
    linkageType: ''
    returnType: mpz_class
    signature: mpz_class FpM::getRaw(size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FpM::getRaw
      Src: /src/mcl/src/msm_avx.cpp:1788,1
    - Dst: fromMont
      Src: /src/mcl/src/msm_avx.cpp:1789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1790
      start: 1786
    functionDepth: 3
    functionLinenumber: 1786
    functionLinenumberEnd: 1790
    functionName: FpM::get
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - fromMont
    - FpM::getRaw
    linkageType: ''
    returnType: mpz_class
    signature: mpz_class FpM::get(size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getG1A
      Src: /src/mcl/src/msm_avx.cpp:1795,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:1796,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:1799,1
    - Dst: getStr
      Src: /src/mcl/src/msm_avx.cpp:1799,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' x'
    - isProj
    argTypes:
    - EcM
    - bool
    constantsTouched: []
    func_position:
      end: 1802
      start: 1792
    functionDepth: 3
    functionLinenumber: 1792
    functionLinenumberEnd: 1802
    functionName: dump
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 5
    functionsReached:
    - getStr
    - getG1A
    - printf
    linkageType: ''
    returnType: void
    signature: void dump(const EcM& x, bool isProj, const char *msg = nullptr, size_t
      pos = size_t(-1))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:1806,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:1809,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:1811,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - msg
    argTypes:
    - uint64_t[]
    - char*
    constantsTouched: []
    func_position:
      end: 1813
      start: 1804
    functionDepth: 0
    functionLinenumber: 1804
    functionLinenumberEnd: 1813
    functionName: putA
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void putA(const uint64_t a[64], const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIE_ALIGN
      Src: /src/mcl/src/msm_avx.cpp:1817,1
    - Dst: memcpy
      Src: /src/mcl/src/msm_avx.cpp:1824,1
    - Dst: trans8x8
      Src: /src/mcl/src/msm_avx.cpp:1825,1
    - Dst: memcpy
      Src: /src/mcl/src/msm_avx.cpp:1826,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/src/msm_avx.cpp:1829,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1815
    functionDepth: 2
    functionLinenumber: 1815
    functionLinenumberEnd: 1832
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - trans8x8
    - MIE_ALIGN
    - CYBOZU_TEST_EQUAL
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(trans8x8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/mcl/src/msm_avx.cpp:1839,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:1840,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:1842,1
    - Dst: putchar
      Src: /src/mcl/src/msm_avx.cpp:1844,1
    - Dst: putchar
      Src: /src/mcl/src/msm_avx.cpp:1845,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:1847,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:1856,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1858
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - printf
    - putchar
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(glvParam)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/src/msm_avx.cpp:1864,1
    - Dst: cybozu::XorShift::get32
      Src: /src/mcl/src/msm_avx.cpp:1867,1
    - Dst: dump
      Src: /src/mcl/src/msm_avx.cpp:1868,1
    - Dst: vsqr
      Src: /src/mcl/src/msm_avx.cpp:1870,1
    - Dst: mcl_c5_vsqr
      Src: /src/mcl/src/msm_avx.cpp:1871,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:1873,1
    - Dst: memcmp
      Src: /src/mcl/src/msm_avx.cpp:1873,1
    - Dst: dump
      Src: /src/mcl/src/msm_avx.cpp:1874,1
    - Dst: dump
      Src: /src/mcl/src/msm_avx.cpp:1875,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1861
    functionDepth: 4
    functionLinenumber: 1861
    functionLinenumberEnd: 1877
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - cybozu::XorShift::get32
    - printf
    - memcmp
    - mcl_c5_vsqr
    - vsqr
    - dump
    - cybozu::XorShift::XorShift
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(sqr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hashAndMapToG1
      Src: /src/mcl/src/msm_avx.cpp:1884,1
    - Dst: setByCSPRNG
      Src: /src/mcl/src/msm_avx.cpp:1885,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - P
    - x
    - n
    - ' rg'
    argTypes:
    - G1*
    - Fr*
    - size_t
    - cybozu::XorShift
    constantsTouched: []
    func_position:
      end: 1887
      start: 1880
    functionDepth: 1
    functionLinenumber: 1880
    functionLinenumberEnd: 1887
    functionName: setParam
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - setByCSPRNG
    - hashAndMapToG1
    linkageType: ''
    returnType: void
    signature: void setParam(G1 *P, Fr *x, size_t n, cybozu::XorShift& rg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FpM::clear
      Src: /src/mcl/src/msm_avx.cpp:1894,1
    - Dst: FpM::isEqualAll
      Src: /src/mcl/src/msm_avx.cpp:1895,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/src/msm_avx.cpp:1896,1
    - Dst: cvtToInt
      Src: /src/mcl/src/msm_avx.cpp:1896,1
    - Dst: clear
      Src: /src/mcl/src/msm_avx.cpp:1898,1
    - Dst: set
      Src: /src/mcl/src/msm_avx.cpp:1899,1
    - Dst: FpM::isEqualAll
      Src: /src/mcl/src/msm_avx.cpp:1900,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/src/msm_avx.cpp:1901,1
    - Dst: cvtToInt
      Src: /src/mcl/src/msm_avx.cpp:1901,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/src/msm_avx.cpp:1907,1
    - Dst: setParam
      Src: /src/mcl/src/msm_avx.cpp:1908,1
    - Dst: EcM::setG1A
      Src: /src/mcl/src/msm_avx.cpp:1909,1
    - Dst: setG1A
      Src: /src/mcl/src/msm_avx.cpp:1910,1
    - Dst: EcM::isEqualJacobiAll
      Src: /src/mcl/src/msm_avx.cpp:1911,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/src/msm_avx.cpp:1912,1
    - Dst: cvtToInt
      Src: /src/mcl/src/msm_avx.cpp:1912,1
    - Dst: x::set
      Src: /src/mcl/src/msm_avx.cpp:1915,1
    - Dst: EcM::isEqualJacobiAll
      Src: /src/mcl/src/msm_avx.cpp:1916,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/src/msm_avx.cpp:1917,1
    - Dst: cvtToInt
      Src: /src/mcl/src/msm_avx.cpp:1917,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:1920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1889
    functionDepth: 5
    functionLinenumber: 1889
    functionLinenumberEnd: 1922
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_BENCH_C
    - setG1A
    - CYBOZU_TEST_EQUAL
    - clear
    - EcM::isEqualJacobiAll
    - FpM::clear
    - cvtToInt
    - cybozu::XorShift::XorShift
    - FpM::isEqualAll
    - set
    - EcM::setG1A
    - x::set
    - setParam
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(cmp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/src/msm_avx.cpp:1926,1
    - Dst: setByCSPRNG
      Src: /src/mcl/src/msm_avx.cpp:1928,1
    - Dst: setFpA
      Src: /src/mcl/src/msm_avx.cpp:1930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' x'
    - ' rg'
    argTypes:
    - FpM
    - cybozu::XorShift
    constantsTouched: []
    func_position:
      end: 1931
      start: 1924
    functionDepth: 5
    functionLinenumber: 1924
    functionLinenumberEnd: 1931
    functionName: setRand
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 33
    functionsReached:
    - CYBOZU_ALLOCA
    - setFpA
    - setByCSPRNG
    linkageType: ''
    returnType: void
    signature: void setRand(FpM& x, cybozu::XorShift& rg, mcl::Fp *t = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_ALIGN
      Src: /src/mcl/src/msm_avx.cpp:1937,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/src/msm_avx.cpp:1938,1
    - Dst: setRand
      Src: /src/mcl/src/msm_avx.cpp:1940,1
    - Dst: FpM::getFpA
      Src: /src/mcl/src/msm_avx.cpp:1941,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/src/msm_avx.cpp:1942,1
    - Dst: setRand
      Src: /src/mcl/src/msm_avx.cpp:1948,1
    - Dst: FpMA::setFpM
      Src: /src/mcl/src/msm_avx.cpp:1950,1
    - Dst: FpMA::getFpM
      Src: /src/mcl/src/msm_avx.cpp:1951,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:1953,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1933
    functionDepth: 3
    functionLinenumber: 1933
    functionLinenumberEnd: 1956
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - FpMA::getFpM
    - setRand
    - CYBOZU_TEST_ASSERT
    - CYBOZU_ALIGN
    - FpM::getFpA
    - FpMA::setFpM
    - cybozu::XorShift::XorShift
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(conv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 1968
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 1968
    functionName: forcedRead
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void forcedRead(const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_ALIGN
      Src: /src/mcl/src/msm_avx.cpp:1972,1
    - Dst: FpM::setFpA
      Src: /src/mcl/src/msm_avx.cpp:1974,1
    - Dst: setFpA
      Src: /src/mcl/src/msm_avx.cpp:1975,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/msm_avx.cpp:1978,1
    - Dst: mcl_c5_vadd
      Src: /src/mcl/src/msm_avx.cpp:1980,1
    - Dst: setFpA
      Src: /src/mcl/src/msm_avx.cpp:1981,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:1982,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/msm_avx.cpp:1985,1
    - Dst: mcl_c5_vsub
      Src: /src/mcl/src/msm_avx.cpp:1987,1
    - Dst: setFpA
      Src: /src/mcl/src/msm_avx.cpp:1988,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:1989,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:1992,1
    - Dst: mcl_c5_vmul
      Src: /src/mcl/src/msm_avx.cpp:1994,1
    - Dst: setFpA
      Src: /src/mcl/src/msm_avx.cpp:1995,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:1996,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:1999,1
    - Dst: dump
      Src: /src/mcl/src/msm_avx.cpp:2000,1
    - Dst: dump
      Src: /src/mcl/src/msm_avx.cpp:2001,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/msm_avx.cpp:2006,1
    - Dst: mcl_c5_vsqr
      Src: /src/mcl/src/msm_avx.cpp:2008,1
    - Dst: setFpA
      Src: /src/mcl/src/msm_avx.cpp:2009,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:2010,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:2013,1
    - Dst: dump
      Src: /src/mcl/src/msm_avx.cpp:2014,1
    - Dst: dump
      Src: /src/mcl/src/msm_avx.cpp:2015,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - mcl::Fp[]
    - mcl::Fp[]
    constantsTouched: []
    func_position:
      end: 2018
      start: 1970
    functionDepth: 5
    functionLinenumber: 1970
    functionLinenumberEnd: 2018
    functionName: asmTest
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - mcl_c5_vsub
    - CYBOZU_TEST_ASSERT
    - printf
    - Botan::fe_sqr
    - CYBOZU_ALIGN
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_add
    - mcl_c5_vsqr
    - mcl_c5_vmul
    - fiat_bls12_381_fp_mul
    - setFpA
    - dump
    - mcl_c5_vadd
    - FpM::setFpA
    linkageType: ''
    returnType: void
    signature: void asmTest(const mcl::Fp x[8], const mcl::Fp y[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/src/msm_avx.cpp:2023,1
    - Dst: asmTest
      Src: /src/mcl/src/msm_avx.cpp:2034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2021
    functionDepth: 6
    functionLinenumber: 2021
    functionLinenumberEnd: 2036
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - asmTest
    - cybozu::XorShift::XorShift
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(asm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/src/msm_avx.cpp:2043,1
    - Dst: setRand
      Src: /src/mcl/src/msm_avx.cpp:2047,1
    - Dst: setRand
      Src: /src/mcl/src/msm_avx.cpp:2048,1
    - Dst: vaddPre
      Src: /src/mcl/src/msm_avx.cpp:2049,1
    - Dst: mcl_c5_vaddPre
      Src: /src/mcl/src/msm_avx.cpp:2051,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:2053,1
    - Dst: isEqual
      Src: /src/mcl/src/msm_avx.cpp:2053,1
    - Dst: vsubPre
      Src: /src/mcl/src/msm_avx.cpp:2055,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:2057,1
    - Dst: isEqual
      Src: /src/mcl/src/msm_avx.cpp:2057,1
    - Dst: mcl_c5_vsubPre
      Src: /src/mcl/src/msm_avx.cpp:2059,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:2061,1
    - Dst: isEqual
      Src: /src/mcl/src/msm_avx.cpp:2061,1
    - Dst: FpMA::setFpM
      Src: /src/mcl/src/msm_avx.cpp:2064,1
    - Dst: setFpM
      Src: /src/mcl/src/msm_avx.cpp:2065,1
    - Dst: vaddPre
      Src: /src/mcl/src/msm_avx.cpp:2066,1
    - Dst: getFpM
      Src: /src/mcl/src/msm_avx.cpp:2067,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:2069,1
    - Dst: mcl_c5_vaddPreA
      Src: /src/mcl/src/msm_avx.cpp:2071,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:2072,1
    - Dst: vsubPre
      Src: /src/mcl/src/msm_avx.cpp:2073,1
    - Dst: getFpM
      Src: /src/mcl/src/msm_avx.cpp:2074,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:2076,1
    - Dst: vadd
      Src: /src/mcl/src/msm_avx.cpp:2080,1
    - Dst: mcl_c5_vadd
      Src: /src/mcl/src/msm_avx.cpp:2082,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:2084,1
    - Dst: isEqual
      Src: /src/mcl/src/msm_avx.cpp:2084,1
    - Dst: mcl_c5_vsub
      Src: /src/mcl/src/msm_avx.cpp:2086,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:2088,1
    - Dst: isEqual
      Src: /src/mcl/src/msm_avx.cpp:2088,1
    - Dst: clear
      Src: /src/mcl/src/msm_avx.cpp:2091,1
    - Dst: clear
      Src: /src/mcl/src/msm_avx.cpp:2092,1
    - Dst: FpMA::setFpM
      Src: /src/mcl/src/msm_avx.cpp:2094,1
    - Dst: setFpM
      Src: /src/mcl/src/msm_avx.cpp:2095,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/msm_avx.cpp:2096,1
    - Dst: getFpM
      Src: /src/mcl/src/msm_avx.cpp:2097,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:2099,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/msm_avx.cpp:2101,1
    - Dst: getFpM
      Src: /src/mcl/src/msm_avx.cpp:2102,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:2104,1
    - Dst: vsub
      Src: /src/mcl/src/msm_avx.cpp:2108,1
    - Dst: mcl_c5_vsubA
      Src: /src/mcl/src/msm_avx.cpp:2110,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:2112,1
    - Dst: isEqual
      Src: /src/mcl/src/msm_avx.cpp:2112,1
    - Dst: vmul
      Src: /src/mcl/src/msm_avx.cpp:2117,1
    - Dst: mcl_c5_vmul
      Src: /src/mcl/src/msm_avx.cpp:2119,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:2121,1
    - Dst: isEqual
      Src: /src/mcl/src/msm_avx.cpp:2121,1
    - Dst: FpMA::setFpM
      Src: /src/mcl/src/msm_avx.cpp:2124,1
    - Dst: setFpM
      Src: /src/mcl/src/msm_avx.cpp:2125,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:2126,1
    - Dst: getFpM
      Src: /src/mcl/src/msm_avx.cpp:2127,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:2129,1
    - Dst: vmul
      Src: /src/mcl/src/msm_avx.cpp:2133,1
    - Dst: mcl_c5_vmulA
      Src: /src/mcl/src/msm_avx.cpp:2135,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:2137,1
    - Dst: isEqual
      Src: /src/mcl/src/msm_avx.cpp:2137,1
    - Dst: get_da_inv
      Src: /src/mcl/src/msm_avx.cpp:2142,1
    - Dst: FpMA::setFpM
      Src: /src/mcl/src/msm_avx.cpp:2144,1
    - Dst: get_da_inv
      Src: /src/mcl/src/msm_avx.cpp:2145,1
    - Dst: getFpM
      Src: /src/mcl/src/msm_avx.cpp:2146,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:2148,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2153,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2154,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2155,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2156,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2158,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2159,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2160,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2161,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2162,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2163,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2164,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2165,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2166,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2167,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2169,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2170,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2171,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2172,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2173,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2174,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2175,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2176,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2177,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2178,1
    - Dst: CYBOZU_ALIGN
      Src: /src/mcl/src/msm_avx.cpp:2180,1
    - Dst: getFpA
      Src: /src/mcl/src/msm_avx.cpp:2181,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2182,1
    - Dst: forcedRead
      Src: /src/mcl/src/msm_avx.cpp:2184,1
    - Dst: forcedRead
      Src: /src/mcl/src/msm_avx.cpp:2185,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 124
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2187
      start: 2039
    functionDepth: 5
    functionLinenumber: 2039
    functionLinenumberEnd: 2187
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - setRand
    - mcl_c5_vsubA
    - vmul
    - clear
    - getFpA
    - vsub
    - mcl_c5_vmul
    - fiat_bls12_381_fp_mul
    - vsubPre
    - getFpM
    - CYBOZU_ALIGN
    - mcl_c5_vsubPre
    - get_da_inv
    - FpMA::setFpM
    - mcl_c5_vaddPreA
    - mcl_c5_vadd
    - isEqual
    - mcl_c5_vsub
    - fiat_bls12_381_fp_add
    - vadd
    - mcl_c5_vaddPre
    - mcl_c5_vmulA
    - forcedRead
    - setFpM
    - CYBOZU_TEST_ASSERT
    - fiat_bls12_381_fp_sub
    - vaddPre
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(vaddPre)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/mcl/src/msm_avx.cpp:2192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - f
    - z
    - x
    - y
    - n
    argTypes:
    - void
    - T*
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 2193
      start: 2190
    functionDepth: 0
    functionLinenumber: 2190
    functionLinenumberEnd: 2193
    functionName: lpN
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: void
    signature: void lpN(void f(T&, const T&, const T&), T *z, const T *x, const T
      *y, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/src/msm_avx.cpp:2208,1
    - Dst: setParam
      Src: /src/mcl/src/msm_avx.cpp:2209,1
    - Dst: setParam
      Src: /src/mcl/src/msm_avx.cpp:2210,1
    - Dst: clear
      Src: /src/mcl/src/msm_avx.cpp:2211,1
    - Dst: clear
      Src: /src/mcl/src/msm_avx.cpp:2212,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:2214,1
    - Dst: z::isOne
      Src: /src/mcl/src/msm_avx.cpp:2214,1
    - Dst: mcl::ec::normalizeVec
      Src: /src/mcl/src/msm_avx.cpp:2216,1
    - Dst: CYBOZU_TEST_ASSERT
      Src: /src/mcl/src/msm_avx.cpp:2218,1
    - Dst: z::isOne
      Src: /src/mcl/src/msm_avx.cpp:2218,1
    - Dst: z::isZero
      Src: /src/mcl/src/msm_avx.cpp:2218,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/src/msm_avx.cpp:2220,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/src/msm_avx.cpp:2225,1
    - Dst: EcM::setG1A
      Src: /src/mcl/src/msm_avx.cpp:2228,1
    - Dst: EcM::dbl<true>
      Src: /src/mcl/src/msm_avx.cpp:2229,1
    - Dst: getG1A
      Src: /src/mcl/src/msm_avx.cpp:2230,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/src/msm_avx.cpp:2232,1
    - Dst: EcM::setG1A
      Src: /src/mcl/src/msm_avx.cpp:2236,1
    - Dst: EcM::dbl<false>
      Src: /src/mcl/src/msm_avx.cpp:2237,1
    - Dst: getG1A
      Src: /src/mcl/src/msm_avx.cpp:2238,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/src/msm_avx.cpp:2240,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/msm_avx.cpp:2246,1
    - Dst: EcM::setG1A
      Src: /src/mcl/src/msm_avx.cpp:2250,1
    - Dst: setG1A
      Src: /src/mcl/src/msm_avx.cpp:2251,1
    - Dst: EcM::add<true>
      Src: /src/mcl/src/msm_avx.cpp:2252,1
    - Dst: getG1A
      Src: /src/mcl/src/msm_avx.cpp:2253,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/src/msm_avx.cpp:2255,1
    - Dst: EcM::setG1A
      Src: /src/mcl/src/msm_avx.cpp:2259,1
    - Dst: setG1A
      Src: /src/mcl/src/msm_avx.cpp:2260,1
    - Dst: EcM::add<false>
      Src: /src/mcl/src/msm_avx.cpp:2261,1
    - Dst: getG1A
      Src: /src/mcl/src/msm_avx.cpp:2262,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/src/msm_avx.cpp:2264,1
    - Dst: normalize
      Src: /src/mcl/src/msm_avx.cpp:2269,1
    - Dst: setG1A
      Src: /src/mcl/src/msm_avx.cpp:2271,1
    - Dst: EcM::add<false, true>
      Src: /src/mcl/src/msm_avx.cpp:2272,1
    - Dst: getG1A
      Src: /src/mcl/src/msm_avx.cpp:2273,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/src/msm_avx.cpp:2275,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2286,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2287,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2288,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2289,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2290,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2291,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2195
    functionDepth: 5
    functionLinenumber: 2195
    functionLinenumberEnd: 2294
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - Botan::ge_p2_dbl
    - CYBOZU_TEST_EQUAL
    - EcM::add<true>
    - clear
    - EcM::setG1A
    - setParam
    - CYBOZU_TEST_EQUAL_ARRAY
    - setG1A
    - normalize
    - mcl::ec::normalizeVec
    - z::isOne
    - fiat_bls12_381_fp_add
    - EcM::add<false, true>
    - getG1A
    - EcM::dbl<true>
    - EcM::add<false>
    - CYBOZU_TEST_ASSERT
    - EcM::dbl<false>
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    - z::isZero
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/src/msm_avx.cpp:2309,1
    - Dst: setParam
      Src: /src/mcl/src/msm_avx.cpp:2310,1
    - Dst: setParam
      Src: /src/mcl/src/msm_avx.cpp:2311,1
    - Dst: clear
      Src: /src/mcl/src/msm_avx.cpp:2312,1
    - Dst: clear
      Src: /src/mcl/src/msm_avx.cpp:2313,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/src/msm_avx.cpp:2317,1
    - Dst: EcMA::setG1A
      Src: /src/mcl/src/msm_avx.cpp:2320,1
    - Dst: EcMA::dbl<true>
      Src: /src/mcl/src/msm_avx.cpp:2321,1
    - Dst: getG1A
      Src: /src/mcl/src/msm_avx.cpp:2322,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/src/msm_avx.cpp:2324,1
    - Dst: EcMA::setG1A
      Src: /src/mcl/src/msm_avx.cpp:2328,1
    - Dst: EcMA::dbl<false>
      Src: /src/mcl/src/msm_avx.cpp:2329,1
    - Dst: getG1A
      Src: /src/mcl/src/msm_avx.cpp:2330,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/src/msm_avx.cpp:2332,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/msm_avx.cpp:2338,1
    - Dst: EcMA::setG1A
      Src: /src/mcl/src/msm_avx.cpp:2342,1
    - Dst: setG1A
      Src: /src/mcl/src/msm_avx.cpp:2343,1
    - Dst: EcMA::add<true>
      Src: /src/mcl/src/msm_avx.cpp:2344,1
    - Dst: getG1A
      Src: /src/mcl/src/msm_avx.cpp:2345,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/src/msm_avx.cpp:2347,1
    - Dst: EcMA::setG1A
      Src: /src/mcl/src/msm_avx.cpp:2351,1
    - Dst: setG1A
      Src: /src/mcl/src/msm_avx.cpp:2352,1
    - Dst: EcMA::add<false>
      Src: /src/mcl/src/msm_avx.cpp:2353,1
    - Dst: getG1A
      Src: /src/mcl/src/msm_avx.cpp:2354,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/src/msm_avx.cpp:2356,1
    - Dst: normalize
      Src: /src/mcl/src/msm_avx.cpp:2361,1
    - Dst: setG1A
      Src: /src/mcl/src/msm_avx.cpp:2363,1
    - Dst: EcMA::add<false, true>
      Src: /src/mcl/src/msm_avx.cpp:2364,1
    - Dst: getG1A
      Src: /src/mcl/src/msm_avx.cpp:2365,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/src/msm_avx.cpp:2367,1
    - Dst: EcM::setG1A
      Src: /src/mcl/src/msm_avx.cpp:2371,1
    - Dst: setG1A
      Src: /src/mcl/src/msm_avx.cpp:2372,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2374,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2375,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2376,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2377,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2378,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2379,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2380,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2381,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2296
    functionDepth: 5
    functionLinenumber: 2296
    functionLinenumberEnd: 2383
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - Botan::ge_p2_dbl
    - EcMA::add<false, true>
    - EcMA::setG1A
    - EcMA::dbl<false>
    - setG1A
    - CYBOZU_TEST_EQUAL
    - EcMA::add<false>
    - fiat_bls12_381_fp_add
    - clear
    - cybozu::XorShift::XorShift
    - EcMA::dbl<true>
    - EcMA::add<true>
    - CYBOZU_BENCH_C
    - getG1A
    - EcM::setG1A
    - normalize
    - setParam
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(opA)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_ALIGN
      Src: /src/mcl/src/msm_avx.cpp:2389,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/src/msm_avx.cpp:2392,1
    - Dst: setParam
      Src: /src/mcl/src/msm_avx.cpp:2393,1
    - Dst: clear
      Src: /src/mcl/src/msm_avx.cpp:2394,1
    - Dst: clear
      Src: /src/mcl/src/msm_avx.cpp:2395,1
    - Dst: mcl::ec::normalizeVec
      Src: /src/mcl/src/msm_avx.cpp:2396,1
    - Dst: setG1A
      Src: /src/mcl/src/msm_avx.cpp:2398,1
    - Dst: normalizeJacobiVec
      Src: /src/mcl/src/msm_avx.cpp:2400,1
    - Dst: getG1A
      Src: /src/mcl/src/msm_avx.cpp:2402,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/src/msm_avx.cpp:2404,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2407,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2408,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2409,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2411
      start: 2385
    functionDepth: 5
    functionLinenumber: 2385
    functionLinenumberEnd: 2411
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - setG1A
    - CYBOZU_ALIGN
    - normalizeJacobiVec
    - clear
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    - getG1A
    - mcl::ec::normalizeVec
    - setParam
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(normalizeJacobiVec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_ALIGN
      Src: /src/mcl/src/msm_avx.cpp:2416,1
    - Dst: clear
      Src: /src/mcl/src/msm_avx.cpp:2419,1
    - Dst: mcl::hashAndMapToG1
      Src: /src/mcl/src/msm_avx.cpp:2420,1
    - Dst: setHashOf
      Src: /src/mcl/src/msm_avx.cpp:2421,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/src/msm_avx.cpp:2423,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/src/msm_avx.cpp:2425,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:2428,1
    - Dst: mclBnG1_mulEach
      Src: /src/mcl/src/msm_avx.cpp:2429,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/src/msm_avx.cpp:2430,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/src/msm_avx.cpp:2436,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/src/msm_avx.cpp:2437,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/src/msm_avx.cpp:2439,1
    - Dst: setParam
      Src: /src/mcl/src/msm_avx.cpp:2441,1
    - Dst: setMpz
      Src: /src/mcl/src/msm_avx.cpp:2442,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:2445,1
    - Dst: mclBnG1_mulEach
      Src: /src/mcl/src/msm_avx.cpp:2447,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/src/msm_avx.cpp:2448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 2413
    functionDepth: 2
    functionLinenumber: 2413
    functionLinenumberEnd: 2451
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - CYBOZU_NUM_OF_ARRAY
    - mcl::gmp::setStr
    - mclBnG1_mulEach
    - CYBOZU_ALIGN
    - CYBOZU_TEST_EQUAL
    - setMpz
    - clear
    - setHashOf
    - fiat_bls12_381_fp_mul
    - cybozu::XorShift::XorShift
    - mcl::hashAndMapToG1
    - setParam
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(mulEach_special)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:2456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - P
    - x
    - n
    argTypes:
    - G1*
    - Fr*
    - size_t
    constantsTouched: []
    func_position:
      end: 2458
      start: 2453
    functionDepth: 2
    functionLinenumber: 2453
    functionLinenumberEnd: 2458
    functionName: mulEachOrg
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mulEachOrg(G1 *P, const Fr *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulEachOrg
      Src: /src/mcl/src/msm_avx.cpp:2462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' Q'
    - P
    - x
    - n
    argTypes:
    - G1
    - G1*
    - Fr*
    - size_t
    constantsTouched: []
    func_position:
      end: 2467
      start: 2460
    functionDepth: 3
    functionLinenumber: 2460
    functionLinenumberEnd: 2467
    functionName: mulVecOrg
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - mulEachOrg
    linkageType: ''
    returnType: void
    signature: void mulVecOrg(G1& Q, G1 *P, const Fr *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_ALIGN
      Src: /src/mcl/src/msm_avx.cpp:2472,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/src/msm_avx.cpp:2474,1
    - Dst: setParam
      Src: /src/mcl/src/msm_avx.cpp:2475,1
    - Dst: clear
      Src: /src/mcl/src/msm_avx.cpp:2476,1
    - Dst: clear
      Src: /src/mcl/src/msm_avx.cpp:2477,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:2480,1
    - Dst: mclBnG1_mulEach
      Src: /src/mcl/src/msm_avx.cpp:2482,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/src/msm_avx.cpp:2484,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:2486,1
    - Dst: getStr
      Src: /src/mcl/src/msm_avx.cpp:2486,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:2487,1
    - Dst: getStr
      Src: /src/mcl/src/msm_avx.cpp:2487,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:2488,1
    - Dst: getStr
      Src: /src/mcl/src/msm_avx.cpp:2488,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:2489,1
    - Dst: getStr
      Src: /src/mcl/src/msm_avx.cpp:2489,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2493,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2494,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2469
    functionDepth: 2
    functionLinenumber: 2469
    functionLinenumberEnd: 2496
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - printf
    - mclBnG1_mulEach
    - CYBOZU_ALIGN
    - CYBOZU_TEST_EQUAL
    - clear
    - getStr
    - fiat_bls12_381_fp_mul
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    - setParam
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(mulEach)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/src/msm_avx.cpp:2500,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/src/msm_avx.cpp:2501,1
    - Dst: mulVecAVX512
      Src: /src/mcl/src/msm_avx.cpp:2502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' R'
    - _P
    - x
    - n
    argTypes:
    - G1
    - G1*
    - Fr*
    - size_t
    constantsTouched: []
    func_position:
      end: 2503
      start: 2498
    functionDepth: 1
    functionLinenumber: 2498
    functionLinenumberEnd: 2503
    functionName: copyMulVec
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - mulVecAVX512
    - CYBOZU_ALLOCA
    - mcl::bint::copyN
    linkageType: ''
    returnType: void
    signature: void copyMulVec(G1& R, const G1 *_P, const Fr *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_ALIGN
      Src: /src/mcl/src/msm_avx.cpp:2508,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/src/msm_avx.cpp:2510,1
    - Dst: setParam
      Src: /src/mcl/src/msm_avx.cpp:2511,1
    - Dst: clear
      Src: /src/mcl/src/msm_avx.cpp:2512,1
    - Dst: clear
      Src: /src/mcl/src/msm_avx.cpp:2513,1
    - Dst: clear
      Src: /src/mcl/src/msm_avx.cpp:2514,1
    - Dst: G1::G1
      Src: /src/mcl/src/msm_avx.cpp:2516,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/msm_avx.cpp:2517,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/src/msm_avx.cpp:2521,1
    - Dst: mulVecAVX512
      Src: /src/mcl/src/msm_avx.cpp:2522,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/src/msm_avx.cpp:2524,1
    - Dst: G1::G1
      Src: /src/mcl/src/msm_avx.cpp:2526,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2527,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2528,1
    - Dst: CYBOZU_TEST_EQUAL
      Src: /src/mcl/src/msm_avx.cpp:2529,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2532
      start: 2505
    functionDepth: 2
    functionLinenumber: 2505
    functionLinenumberEnd: 2532
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - CYBOZU_TEST_EQUAL
    - CYBOZU_ALIGN
    - clear
    - fiat_bls12_381_fp_mul
    - cybozu::XorShift::XorShift
    - mulVecAVX512
    - CYBOZU_BENCH_C
    - setParam
    - mcl::bint::copyN
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(mulVec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:2536,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/src/msm_avx.cpp:2538,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/src/msm_avx.cpp:2541,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/msm_avx.cpp:2543,1
    - Dst: setByCSPRNG
      Src: /src/mcl/src/msm_avx.cpp:2544,1
    - Dst: G1::G1
      Src: /src/mcl/src/msm_avx.cpp:2546,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:2550,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2551,1
    - Dst: std::vector::data
      Src: /src/mcl/src/msm_avx.cpp:2551,1
    - Dst: std::vector::data
      Src: /src/mcl/src/msm_avx.cpp:2551,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:2553,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/src/msm_avx.cpp:2554,1
    - Dst: std::vector::data
      Src: /src/mcl/src/msm_avx.cpp:2554,1
    - Dst: std::vector::data
      Src: /src/mcl/src/msm_avx.cpp:2554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - C
    - db
    - de
    - b
    argTypes:
    - int
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 2556
      start: 2534
    functionDepth: 2
    functionLinenumber: 2534
    functionLinenumberEnd: 2556
    functionName: msmBench
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - printf
    - hashAndMapToG1
    - setByCSPRNG
    - fiat_bls12_381_fp_add
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void msmBench(int C, size_t db, size_t de, size_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/src/msm_avx.cpp:2560,1
    - Dst: printf
      Src: /src/mcl/src/msm_avx.cpp:2568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2570
      start: 2558
    functionDepth: 0
    functionLinenumber: 2558
    functionLinenumberEnd: 2570
    functionName: showParams
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 0
    functionsReached:
    - puts
    - printf
    linkageType: ''
    returnType: void
    signature: void showParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Option::Option
      Src: /src/mcl/src/msm_avx.cpp:2574,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/src/msm_avx.cpp:2579,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/src/msm_avx.cpp:2580,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/src/msm_avx.cpp:2581,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/src/msm_avx.cpp:2582,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/src/msm_avx.cpp:2583,1
    - Dst: cybozu::Option::appendBoolOpt
      Src: /src/mcl/src/msm_avx.cpp:2584,1
    - Dst: cybozu::Option::appendBoolOpt
      Src: /src/mcl/src/msm_avx.cpp:2585,1
    - Dst: cybozu::Option::appendHelp
      Src: /src/mcl/src/msm_avx.cpp:2586,1
    - Dst: cybozu::Option::parse
      Src: /src/mcl/src/msm_avx.cpp:2587,1
    - Dst: cybozu::Option::usage
      Src: /src/mcl/src/msm_avx.cpp:2588,1
    - Dst: showParams
      Src: /src/mcl/src/msm_avx.cpp:2592,1
    - Dst: puts
      Src: /src/mcl/src/msm_avx.cpp:2602,1
    - Dst: initPairing
      Src: /src/mcl/src/msm_avx.cpp:2603,1
    - Dst: puts
      Src: /src/mcl/src/msm_avx.cpp:2605,1
    - Dst: initPairing
      Src: /src/mcl/src/msm_avx.cpp:2606,1
    - Dst: init
      Src: /src/mcl/src/msm_avx.cpp:2608,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/src/msm_avx.cpp:2608,1
    - Dst: msmBench
      Src: /src/mcl/src/msm_avx.cpp:2610,1
    - Dst: run
      Src: /src/mcl/src/msm_avx.cpp:2613,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 2614
      start: 2572
    functionDepth: 3
    functionLinenumber: 2572
    functionLinenumberEnd: 2614
    functionName: main
    functionSourceFile: /src/mcl/src/msm_avx.cpp
    functionUses: 97
    functionsReached:
    - cybozu::Option::appendHelp
    - showParams
    - cybozu::Option::Option
    - cybozu::Option::usage
    - puts
    - run
    - cybozu::Option::parse
    - initPairing
    - init
    - cybozu::Option::appendBoolOpt
    - cybozu::Option::appendOpt
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - msmBench
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/mcl/src/pairing_impl.hpp:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' sv'
    argTypes:
    - Int8Vec
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: mcl::getPrecomputeQcoeffSize
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t getPrecomputeQcoeffSize(const Int8Vec& sv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' x'
    - (c)
    argTypes:
    - X
    - C[]
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: mcl::evalPoly
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: X
    signature: X evalPoly(const X& x, const C (&c)[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/pairing_impl.hpp:62,1
    - Dst: mcl::isZero
      Src: /src/mcl/src/pairing_impl.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' l'
    - ' P'
    argTypes:
    - Fp6
    - G1
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: mcl::updateLine
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::isZero
    - assert
    linkageType: ''
    returnType: void
    signature: void updateLine(Fp6& l, const G1& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/src/pairing_impl.hpp:111,1
    - Dst: mcl::evalPoly
      Src: /src/mcl/src/pairing_impl.hpp:128,1
    - Dst: assert
      Src: /src/mcl/src/pairing_impl.hpp:129,1
    - Dst: mcl::evalPoly
      Src: /src/mcl/src/pairing_impl.hpp:130,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/src/pairing_impl.hpp:132,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/src/pairing_impl.hpp:134,1
    - Dst: mcl::Fp2::init
      Src: /src/mcl/src/pairing_impl.hpp:140,1
    - Dst: mcl::Fp2::get_gTbl
      Src: /src/mcl/src/pairing_impl.hpp:143,1
    - Dst: mcl::Fp2::get_gTbl
      Src: /src/mcl/src/pairing_impl.hpp:144,1
    - Dst: mcl::Fp2::inv
      Src: /src/mcl/src/pairing_impl.hpp:146,1
    - Dst: mcl::Fp2::inv
      Src: /src/mcl/src/pairing_impl.hpp:147,1
    - Dst: Fp2
      Src: /src/mcl/src/pairing_impl.hpp:150,1
    - Dst: Fp2
      Src: /src/mcl/src/pairing_impl.hpp:153,1
    - Dst: Fp2
      Src: /src/mcl/src/pairing_impl.hpp:155,1
    - Dst: Fp2
      Src: /src/mcl/src/pairing_impl.hpp:158,1
    - Dst: Fp2
      Src: /src/mcl/src/pairing_impl.hpp:160,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/src/pairing_impl.hpp:165,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/src/pairing_impl.hpp:166,1
    - Dst: mcl::gmp::abs
      Src: /src/mcl/src/pairing_impl.hpp:168,1
    - Dst: mcl::gmp::getNAF
      Src: /src/mcl/src/pairing_impl.hpp:169,1
    - Dst: mcl::getPrecomputeQcoeffSize
      Src: /src/mcl/src/pairing_impl.hpp:170,1
    - Dst: mcl::gmp::getNAF
      Src: /src/mcl/src/pairing_impl.hpp:171,1
    - Dst: mcl::gmp::abs
      Src: /src/mcl/src/pairing_impl.hpp:171,1
    - Dst: mcl::mapToInit
      Src: /src/mcl/src/pairing_impl.hpp:173,1
    - Dst: mcl::mapToInit
      Src: /src/mcl/src/pairing_impl.hpp:175,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/src/pairing_impl.hpp:177,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/src/pairing_impl.hpp:178,1
    - Dst: mcl::clear
      Src: /src/mcl/src/pairing_impl.hpp:179,1
    - Dst: mcl::EcT::setOrder
      Src: /src/mcl/src/pairing_impl.hpp:180,1
    - Dst: mcl::EcT::setOrder
      Src: /src/mcl/src/pairing_impl.hpp:181,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 75
    argCount: 2
    argNames:
    - pb
    - ' cp'
    argTypes:
    - bool*
    - mcl::CurveParam
    constantsTouched: []
    func_position:
      end: 183
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 183
    functionName: mcl::init
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 2
    functionsReached:
    - Fp2
    - mcl::gmp::setStr
    - mcl::mapToInit
    - mcl::Fp2::inv
    - mcl::EcT::setOrder
    - assert
    - mcl::gmp::getNAF
    - mcl::clear
    - Botan_Tests::test_x509_uninit
    - mcl::evalPoly
    - mcl::gmp::abs
    - mcl::Fp2::init
    - mcl::Fp2::get_gTbl
    - mcl::getPrecomputeQcoeffSize
    linkageType: ''
    returnType: void
    signature: void init(bool *pb, const mcl::CurveParam& cp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::initCurve<G1>
      Src: /src/mcl/src/pairing_impl.hpp:186,1
    - Dst: mcl::mapToInit
      Src: /src/mcl/src/pairing_impl.hpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pb
    - ' para'
    argTypes:
    - bool*
    - mcl::EcParam
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: mcl::initG1only
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 1
    functionsReached:
    - mcl::initCurve<G1>
    - mcl::mapToInit
    linkageType: ''
    returnType: void
    signature: void initG1only(bool *pb, const mcl::EcParam& para)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: mcl::getCurveParam
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API & getCurveParam()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getCurveParam
      Src: /src/mcl/src/pairing_impl.hpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: mcl::getCurveType
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::getCurveParam
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API getCurveType()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<AG&>
      Src: /src/mcl/src/pairing_impl.hpp:207,1
    - Dst: static_cast<const AG*>
      Src: /src/mcl/src/pairing_impl.hpp:208,1
    - Dst: mcl::ec::mulVecGLVT<GLV2, AG>
      Src: /src/mcl/src/pairing_impl.hpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' z'
    - xVec
    - yVec
    - n
    argTypes:
    - Fp12
    - Fp12*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: mcl::powVecGLV
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const AG*>
    - mcl::ec::mulVecGLVT<GLV2, AG>
    - static_cast<AG&>
    linkageType: ''
    returnType: bool
    signature: bool powVecGLV(Fp12& z, const Fp12 *xVec, const void *yVec, size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::sqrPre
      Src: /src/mcl/src/pairing_impl.hpp:220,1
    - Dst: mcl::sqrPre
      Src: /src/mcl/src/pairing_impl.hpp:221,1
    - Dst: mcl::mul_xi
      Src: /src/mcl/src/pairing_impl.hpp:222,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/pairing_impl.hpp:223,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/pairing_impl.hpp:224,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/src/pairing_impl.hpp:225,1
    - Dst: mcl::sqrPre
      Src: /src/mcl/src/pairing_impl.hpp:226,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/pairing_impl.hpp:227,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/pairing_impl.hpp:228,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/src/pairing_impl.hpp:229,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/pairing_impl.hpp:232,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/pairing_impl.hpp:233,1
    - Dst: mcl::Fp2::mul_xi
      Src: /src/mcl/src/pairing_impl.hpp:234,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/pairing_impl.hpp:236,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/pairing_impl.hpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 4
    argNames:
    - ' z0'
    - ' z1'
    - ' x0'
    - ' x1'
    argTypes:
    - Fp2
    - Fp2
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 241
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 241
    functionName: mcl::sqrFp4
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::sqrPre
    - mcl::mul_xi
    - fiat_bls12_381_fp_sub
    - ref_inverse_mod
    - mcl::Fp2::add
    - fiat_bls12_381_fp_add
    - mcl::Fp2::mul_xi
    - mcl::Fp2::sqr
    linkageType: ''
    returnType: void
    signature: void sqrFp4(Fp2& z0, Fp2& z1, const Fp2& x0, const Fp2& x1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/pairing_impl.hpp:246,1
    - Dst: y0
      Src: /src/mcl/src/pairing_impl.hpp:254,1
    - Dst: y4
      Src: /src/mcl/src/pairing_impl.hpp:255,1
    - Dst: y3
      Src: /src/mcl/src/pairing_impl.hpp:256,1
    - Dst: y2
      Src: /src/mcl/src/pairing_impl.hpp:257,1
    - Dst: y1
      Src: /src/mcl/src/pairing_impl.hpp:258,1
    - Dst: y5
      Src: /src/mcl/src/pairing_impl.hpp:259,1
    - Dst: mcl::sqrFp4
      Src: /src/mcl/src/pairing_impl.hpp:261,1
    - Dst: mcl::Fp2::sub
      Src: /src/mcl/src/pairing_impl.hpp:262,1
    - Dst: mcl::Fp2::mul2
      Src: /src/mcl/src/pairing_impl.hpp:263,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/pairing_impl.hpp:265,1
    - Dst: mcl::Fp2::mul2
      Src: /src/mcl/src/pairing_impl.hpp:266,1
    - Dst: mcl::sqrFp4
      Src: /src/mcl/src/pairing_impl.hpp:269,1
    - Dst: mcl::sqrFp4
      Src: /src/mcl/src/pairing_impl.hpp:270,1
    - Dst: mcl::Fp2::sub
      Src: /src/mcl/src/pairing_impl.hpp:271,1
    - Dst: mcl::Fp2::mul2
      Src: /src/mcl/src/pairing_impl.hpp:272,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/pairing_impl.hpp:274,1
    - Dst: mcl::Fp2::mul2
      Src: /src/mcl/src/pairing_impl.hpp:275,1
    - Dst: mcl::Fp2::mul_xi
      Src: /src/mcl/src/pairing_impl.hpp:277,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/pairing_impl.hpp:278,1
    - Dst: mcl::Fp2::mul2
      Src: /src/mcl/src/pairing_impl.hpp:279,1
    - Dst: mcl::Fp2::sub
      Src: /src/mcl/src/pairing_impl.hpp:281,1
    - Dst: mcl::Fp2::mul2
      Src: /src/mcl/src/pairing_impl.hpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp12
    - Fp12
    constantsTouched: []
    func_position:
      end: 285
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 285
    functionName: mcl::fasterSqr
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::Fp2::sub
    - mcl::sqrFp4
    - Botan::fe_sqr
    - y4
    - y5
    - y2
    - mcl::Fp2::add
    - mcl::Fp2::mul2
    - mcl::Fp2::mul_xi
    - y1
    - y0
    - y3
    linkageType: ''
    returnType: void
    signature: void fasterSqr(Fp12& y, const Fp12& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getCurveType
      Src: /src/mcl/src/pairing_impl.hpp:294,1
    - Dst: mcl::fixed_power
      Src: /src/mcl/src/pairing_impl.hpp:295,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/pairing_impl.hpp:301,1
    - Dst: zReplTbl::size
      Src: /src/mcl/src/pairing_impl.hpp:302,1
    - Dst: mcl::fasterSqr
      Src: /src/mcl/src/pairing_impl.hpp:303,1
    - Dst: testFp12pow
      Src: /src/mcl/src/pairing_impl.hpp:312,1
    - Dst: mcl::unitaryInv
      Src: /src/mcl/src/pairing_impl.hpp:315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp12
    - Fp12
    constantsTouched: []
    func_position:
      end: 317
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 317
    functionName: mcl::pow_z
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - zReplTbl::size
    - mcl::getCurveType
    - mcl::fasterSqr
    - testFp12pow
    - mcl::fixed_power
    - mcl::unitaryInv
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void pow_z(Fp12& y, const Fp12& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/src/pairing_impl.hpp:327,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/pairing_impl.hpp:328,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/pairing_impl.hpp:329,1
    - Dst: Fp::Fp
      Src: /src/mcl/src/pairing_impl.hpp:339,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/pairing_impl.hpp:340,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/pairing_impl.hpp:342,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/pairing_impl.hpp:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 351
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 351
    functionName: mcl::mul_twist_b
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::Fp2::mul
    - Fp::Fp
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void mul_twist_b(Fp2& y, const Fp2& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/pairing_impl.hpp:357,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/pairing_impl.hpp:358,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/pairing_impl.hpp:359,1
    - Dst: mcl::Fp2::mul2
      Src: /src/mcl/src/pairing_impl.hpp:360,1
    - Dst: mcl::Fp2::divBy2
      Src: /src/mcl/src/pairing_impl.hpp:361,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/pairing_impl.hpp:362,1
    - Dst: mcl::mul_twist_b
      Src: /src/mcl/src/pairing_impl.hpp:364,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/pairing_impl.hpp:365,1
    - Dst: mcl::Fp2::mul2
      Src: /src/mcl/src/pairing_impl.hpp:366,1
    - Dst: mcl::Fp2::sub
      Src: /src/mcl/src/pairing_impl.hpp:368,1
    - Dst: mcl::Fp2::divBy2
      Src: /src/mcl/src/pairing_impl.hpp:371,1
    - Dst: mcl::sqrPre
      Src: /src/mcl/src/pairing_impl.hpp:372,1
    - Dst: mcl::sqrPre
      Src: /src/mcl/src/pairing_impl.hpp:373,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/pairing_impl.hpp:374,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/pairing_impl.hpp:375,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/pairing_impl.hpp:376,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/pairing_impl.hpp:377,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/src/pairing_impl.hpp:378,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/pairing_impl.hpp:379,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/pairing_impl.hpp:381,1
    - Dst: mcl::Fp2::sub
      Src: /src/mcl/src/pairing_impl.hpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 2
    argNames:
    - ' l'
    - ' Q'
    argTypes:
    - Fp6
    - G2
    constantsTouched: []
    func_position:
      end: 385
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 385
    functionName: mcl::dblLineWithoutP
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::Fp2::sub
    - mcl::sqrPre
    - mcl::mul_twist_b
    - fiat_bls12_381_fp_sub
    - ref_inverse_mod
    - mcl::Fp2::add
    - mcl::Fp2::mul2
    - fiat_bls12_381_fp_add
    - mcl::Fp2::divBy2
    - mcl::Fp2::sqr
    - mcl::Fp2::mul
    linkageType: ''
    returnType: void
    signature: void dblLineWithoutP(Fp6& l, G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/pairing_impl.hpp:391,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/pairing_impl.hpp:392,1
    - Dst: mcl::Fp2::sub
      Src: /src/mcl/src/pairing_impl.hpp:393,1
    - Dst: mcl::Fp2::sub
      Src: /src/mcl/src/pairing_impl.hpp:394,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/pairing_impl.hpp:395,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/pairing_impl.hpp:396,1
    - Dst: mcl::Fp2::sqr
      Src: /src/mcl/src/pairing_impl.hpp:397,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/src/pairing_impl.hpp:404,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/src/pairing_impl.hpp:405,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/pairing_impl.hpp:406,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/src/pairing_impl.hpp:407,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/pairing_impl.hpp:408,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/pairing_impl.hpp:409,1
    - Dst: mcl::Fp2::neg
      Src: /src/mcl/src/pairing_impl.hpp:410,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/src/pairing_impl.hpp:411,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/src/pairing_impl.hpp:412,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/pairing_impl.hpp:413,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/src/pairing_impl.hpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 3
    argNames:
    - ' l'
    - ' R'
    - ' Q'
    argTypes:
    - Fp6
    - G2
    - G2
    constantsTouched: []
    func_position:
      end: 416
      start: 387
    functionDepth: 5
    functionLinenumber: 387
    functionLinenumberEnd: 416
    functionName: mcl::addLineWithoutP
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::Fp2::sub
    - fiat_bls12_381_fp_sub
    - ref_inverse_mod
    - mcl::Fp2::sqr
    - mcl::Fp2::mul
    - mcl::Fp2::neg
    - gen_mcl_fpDbl_mulPre
    linkageType: ''
    returnType: void
    signature: void addLineWithoutP(Fp6& l, G2& R, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::dblLineWithoutP
      Src: /src/mcl/src/pairing_impl.hpp:419,1
    - Dst: mcl::updateLine
      Src: /src/mcl/src/pairing_impl.hpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' Q'
    - ' P'
    argTypes:
    - Fp6
    - G2
    - G1
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 4
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: mcl::dblLine
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::updateLine
    - mcl::dblLineWithoutP
    linkageType: ''
    returnType: void
    signature: void dblLine(Fp6& l, G2& Q, const G1& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::addLineWithoutP
      Src: /src/mcl/src/pairing_impl.hpp:424,1
    - Dst: mcl::updateLine
      Src: /src/mcl/src/pairing_impl.hpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' l'
    - ' R'
    - ' Q'
    - ' P'
    argTypes:
    - Fp6
    - G2
    - G2
    - G1
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 6
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: mcl::addLine
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::addLineWithoutP
    - mcl::updateLine
    linkageType: ''
    returnType: void
    signature: void addLine(Fp6& l, G2& R, const G2& Q, const G1& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/pairing_impl.hpp:431,1
    - Dst: mcl::isZero
      Src: /src/mcl/src/pairing_impl.hpp:431,1
    - Dst: mcl::isZero
      Src: /src/mcl/src/pairing_impl.hpp:433,1
    - Dst: c::clear
      Src: /src/mcl/src/pairing_impl.hpp:434,1
    - Dst: b::clear
      Src: /src/mcl/src/pairing_impl.hpp:435,1
    - Dst: mcl::Fp2::mulFp
      Src: /src/mcl/src/pairing_impl.hpp:439,1
    - Dst: mcl::Fp2::mulFp
      Src: /src/mcl/src/pairing_impl.hpp:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' y'
    - ' x'
    - ' P'
    argTypes:
    - Fp6
    - Fp6
    - G1
    constantsTouched: []
    func_position:
      end: 441
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 441
    functionName: mcl::mulFp6cb_by_G1xy
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::isZero
    - assert
    - b::clear
    - c::clear
    - mcl::Fp2::mulFp
    linkageType: ''
    returnType: void
    signature: void mulFp6cb_by_G1xy(Fp6& y, const Fp6& x, const G1& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/src/pairing_impl.hpp:456,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/src/pairing_impl.hpp:457,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/src/pairing_impl.hpp:458,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/src/pairing_impl.hpp:459,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/pairing_impl.hpp:460,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/pairing_impl.hpp:461,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/src/pairing_impl.hpp:462,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/src/pairing_impl.hpp:465,1
    - Dst: mcl::mul_xi
      Src: /src/mcl/src/pairing_impl.hpp:466,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/src/pairing_impl.hpp:468,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/src/pairing_impl.hpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - ' d'
    - ' e'
    argTypes:
    - Fp6
    - Fp6
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 471
      start: 449
    functionDepth: 5
    functionLinenumber: 449
    functionLinenumberEnd: 471
    functionName: mcl::Fp6mul_01
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::Fp2::add
    - mcl::mul_xi
    - ref_inverse_mod
    - gen_mcl_fpDbl_mulPre
    linkageType: ''
    returnType: void
    signature: void Fp6mul_01(Fp6& z, const Fp6& x, const Fp2& d, const Fp2& e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/pairing_impl.hpp:495,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/pairing_impl.hpp:496,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/pairing_impl.hpp:497,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/pairing_impl.hpp:498,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/pairing_impl.hpp:499,1
    - Dst: mcl::Fp6mul_01
      Src: /src/mcl/src/pairing_impl.hpp:500,1
    - Dst: mcl::Fp6mul_01
      Src: /src/mcl/src/pairing_impl.hpp:501,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/pairing_impl.hpp:502,1
    - Dst: mcl::Fp2::mul_xi
      Src: /src/mcl/src/pairing_impl.hpp:505,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/pairing_impl.hpp:506,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/pairing_impl.hpp:507,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/pairing_impl.hpp:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - Fp12
    - Fp6
    constantsTouched: []
    func_position:
      end: 509
      start: 486
    functionDepth: 6
    functionLinenumber: 486
    functionLinenumberEnd: 509
    functionName: mcl::mul_403
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::Fp6mul_01
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_add
    - mcl::Fp2::add
    - mcl::Fp2::mul_xi
    - mcl::Fp2::mul
    linkageType: ''
    returnType: void
    signature: void mul_403(Fp12& z, const Fp6& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/pairing_impl.hpp:535,1
    - Dst: mcl::Fp2::mul_xi
      Src: /src/mcl/src/pairing_impl.hpp:536,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/pairing_impl.hpp:537,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/src/pairing_impl.hpp:538,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/pairing_impl.hpp:539,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/pairing_impl.hpp:540,1
    - Dst: mcl::Fp6mul_01
      Src: /src/mcl/src/pairing_impl.hpp:541,1
    - Dst: mcl::Fp6mul_01
      Src: /src/mcl/src/pairing_impl.hpp:542,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/src/pairing_impl.hpp:543,1
    - Dst: mcl::Fp2::mul_xi
      Src: /src/mcl/src/pairing_impl.hpp:546,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/pairing_impl.hpp:547,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/pairing_impl.hpp:548,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/src/pairing_impl.hpp:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - Fp12
    - Fp6
    constantsTouched: []
    func_position:
      end: 550
      start: 526
    functionDepth: 6
    functionLinenumber: 526
    functionLinenumberEnd: 550
    functionName: mcl::mul_041
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::Fp6mul_01
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_add
    - mcl::Fp2::add
    - mcl::Fp2::mul_xi
    - mcl::Fp2::mul
    linkageType: ''
    returnType: void
    signature: void mul_041(Fp12& z, const Fp6& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getCurveParam
      Src: /src/mcl/src/pairing_impl.hpp:554,1
    - Dst: mcl::mul_041
      Src: /src/mcl/src/pairing_impl.hpp:555,1
    - Dst: mcl::mul_403
      Src: /src/mcl/src/pairing_impl.hpp:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - Fp12
    - Fp6
    constantsTouched: []
    func_position:
      end: 559
      start: 552
    functionDepth: 7
    functionLinenumber: 552
    functionLinenumberEnd: 559
    functionName: mcl::mulSparse
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::mul_403
    - mcl::mul_041
    - mcl::getCurveParam
    linkageType: ''
    returnType: void
    signature: void mulSparse(Fp12& z, const Fp6& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getCurveParam
      Src: /src/mcl/src/pairing_impl.hpp:562,1
    - Dst: a::c::clear
      Src: /src/mcl/src/pairing_impl.hpp:567,1
    - Dst: b::a::clear
      Src: /src/mcl/src/pairing_impl.hpp:568,1
    - Dst: b::c::clear
      Src: /src/mcl/src/pairing_impl.hpp:569,1
    - Dst: a::b::clear
      Src: /src/mcl/src/pairing_impl.hpp:575,1
    - Dst: a::c::clear
      Src: /src/mcl/src/pairing_impl.hpp:576,1
    - Dst: b::c::clear
      Src: /src/mcl/src/pairing_impl.hpp:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp12
    - Fp6
    constantsTouched: []
    func_position:
      end: 579
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 579
    functionName: mcl::convertFp6toFp12
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - a::c::clear
    - mcl::getCurveParam
    - b::a::clear
    - a::b::clear
    - b::c::clear
    linkageType: ''
    returnType: void
    signature: void convertFp6toFp12(Fp12& y, const Fp6& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::convertFp6toFp12
      Src: /src/mcl/src/pairing_impl.hpp:582,1
    - Dst: mcl::mulSparse
      Src: /src/mcl/src/pairing_impl.hpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp12
    - Fp6
    - Fp6
    constantsTouched: []
    func_position:
      end: 584
      start: 580
    functionDepth: 8
    functionLinenumber: 580
    functionLinenumberEnd: 584
    functionName: mcl::mulSparse2
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::mulSparse
    - mcl::convertFp6toFp12
    linkageType: ''
    returnType: void
    signature: void mulSparse2(Fp12& z, const Fp6& x, const Fp6& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Frobenius2
      Src: /src/mcl/src/pairing_impl.hpp:588,1
    - Dst: get_da_inv
      Src: /src/mcl/src/pairing_impl.hpp:590,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/pairing_impl.hpp:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp12
    - Fp12
    constantsTouched: []
    func_position:
      end: 593
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 593
    functionName: mcl::mapToCyclotomic
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 2
    functionsReached:
    - mcl::Frobenius2
    - Botan::EC_Group_Data::affine_neg
    - get_da_inv
    linkageType: ''
    returnType: void
    signature: void mapToCyclotomic(Fp12& y, const Fp12& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::pow_z
      Src: /src/mcl/src/pairing_impl.hpp:608,1
    - Dst: mcl::unitaryInv
      Src: /src/mcl/src/pairing_impl.hpp:609,1
    - Dst: mcl::pow_z
      Src: /src/mcl/src/pairing_impl.hpp:611,1
    - Dst: mcl::unitaryInv
      Src: /src/mcl/src/pairing_impl.hpp:612,1
    - Dst: mcl::pow_z
      Src: /src/mcl/src/pairing_impl.hpp:614,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/src/pairing_impl.hpp:615,1
    - Dst: mcl::pow_z
      Src: /src/mcl/src/pairing_impl.hpp:617,1
    - Dst: mcl::pow_z
      Src: /src/mcl/src/pairing_impl.hpp:618,1
    - Dst: mcl::Frobenius2
      Src: /src/mcl/src/pairing_impl.hpp:619,1
    - Dst: mcl::unitaryInv
      Src: /src/mcl/src/pairing_impl.hpp:620,1
    - Dst: mcl::fasterSqr
      Src: /src/mcl/src/pairing_impl.hpp:623,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/pairing_impl.hpp:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp12
    - Fp12
    constantsTouched: []
    func_position:
      end: 626
      start: 599
    functionDepth: 5
    functionLinenumber: 599
    functionLinenumberEnd: 626
    functionName: mcl::expHardPartBLS12
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::fasterSqr
    - mcl::unitaryInv
    - mcl::pow_z
    - fiat_bls12_381_fp_mul
    - mcl::Frobenius2
    - mcl::Frobenius
    linkageType: ''
    returnType: void
    signature: void expHardPartBLS12(Fp12& y, const Fp12& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::pow_z
      Src: /src/mcl/src/pairing_impl.hpp:651,1
    - Dst: mcl::fasterSqr
      Src: /src/mcl/src/pairing_impl.hpp:652,1
    - Dst: mcl::fasterSqr
      Src: /src/mcl/src/pairing_impl.hpp:653,1
    - Dst: mcl::pow_z
      Src: /src/mcl/src/pairing_impl.hpp:655,1
    - Dst: mcl::fasterSqr
      Src: /src/mcl/src/pairing_impl.hpp:657,1
    - Dst: mcl::pow_z
      Src: /src/mcl/src/pairing_impl.hpp:658,1
    - Dst: mcl::unitaryInv
      Src: /src/mcl/src/pairing_impl.hpp:660,1
    - Dst: mcl::Frobenius2
      Src: /src/mcl/src/pairing_impl.hpp:663,1
    - Dst: mcl::unitaryInv
      Src: /src/mcl/src/pairing_impl.hpp:666,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/src/pairing_impl.hpp:668,1
    - Dst: mcl::Frobenius3
      Src: /src/mcl/src/pairing_impl.hpp:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp12
    - Fp12
    constantsTouched: []
    func_position:
      end: 672
      start: 647
    functionDepth: 5
    functionLinenumber: 647
    functionLinenumberEnd: 672
    functionName: mcl::expHardPartBN
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::Frobenius3
    - mcl::fasterSqr
    - mcl::unitaryInv
    - mcl::pow_z
    - mcl::Frobenius2
    - mcl::Frobenius
    linkageType: ''
    returnType: void
    signature: void expHardPartBN(Fp12& y, const Fp12& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/pairing_impl.hpp:683,1
    - Dst: mcl::isZero
      Src: /src/mcl/src/pairing_impl.hpp:683,1
    - Dst: Fp::Fp
      Src: /src/mcl/src/pairing_impl.hpp:684,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/src/pairing_impl.hpp:685,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/src/pairing_impl.hpp:686,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/pairing_impl.hpp:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' adjP'
    - ' P'
    argTypes:
    - G1
    - G1
    constantsTouched: []
    func_position:
      end: 689
      start: 681
    functionDepth: 2
    functionLinenumber: 681
    functionLinenumberEnd: 689
    functionName: mcl::makeAdjP
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::isZero
    - assert
    - fiat_bls12_381_fp_add
    - Botan::EC_Group_Data::affine_neg
    - Botan::PCurve::GenericField::mul2
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void makeAdjP(G1& adjP, const G1& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::isZero
      Src: /src/mcl/src/pairing_impl.hpp:700,1
    - Dst: mcl::clear
      Src: /src/mcl/src/pairing_impl.hpp:701,1
    - Dst: mcl::mapToCyclotomic
      Src: /src/mcl/src/pairing_impl.hpp:704,1
    - Dst: mcl::expHardPartBLS12
      Src: /src/mcl/src/pairing_impl.hpp:706,1
    - Dst: mcl::expHardPartBN
      Src: /src/mcl/src/pairing_impl.hpp:708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp12
    - Fp12
    constantsTouched: []
    func_position:
      end: 710
      start: 697
    functionDepth: 6
    functionLinenumber: 697
    functionLinenumberEnd: 710
    functionName: mcl::finalExp
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::isZero
    - mcl::expHardPartBN
    - mcl::clear
    - mcl::expHardPartBLS12
    - mcl::mapToCyclotomic
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API finalExp(Fp12& y, const Fp12& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::isZero
      Src: /src/mcl/src/pairing_impl.hpp:715,1
    - Dst: mcl::isZero
      Src: /src/mcl/src/pairing_impl.hpp:715,1
    - Dst: G1::G1
      Src: /src/mcl/src/pairing_impl.hpp:719,1
    - Dst: G2::G2
      Src: /src/mcl/src/pairing_impl.hpp:720,1
    - Dst: G1::normalize
      Src: /src/mcl/src/pairing_impl.hpp:721,1
    - Dst: G2::normalize
      Src: /src/mcl/src/pairing_impl.hpp:722,1
    - Dst: G2::G2
      Src: /src/mcl/src/pairing_impl.hpp:724,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/pairing_impl.hpp:726,1
    - Dst: G1::G1
      Src: /src/mcl/src/pairing_impl.hpp:729,1
    - Dst: mcl::makeAdjP
      Src: /src/mcl/src/pairing_impl.hpp:730,1
    - Dst: mcl::dblLine
      Src: /src/mcl/src/pairing_impl.hpp:731,1
    - Dst: mcl::addLine
      Src: /src/mcl/src/pairing_impl.hpp:734,1
    - Dst: mcl::addLine
      Src: /src/mcl/src/pairing_impl.hpp:736,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:738,1
    - Dst: mcl::convertFp6toFp12
      Src: /src/mcl/src/pairing_impl.hpp:740,1
    - Dst: siTbl::size
      Src: /src/mcl/src/pairing_impl.hpp:742,1
    - Dst: mcl::dblLine
      Src: /src/mcl/src/pairing_impl.hpp:743,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/pairing_impl.hpp:744,1
    - Dst: mcl::mulSparse
      Src: /src/mcl/src/pairing_impl.hpp:745,1
    - Dst: mcl::addLine
      Src: /src/mcl/src/pairing_impl.hpp:748,1
    - Dst: mcl::addLine
      Src: /src/mcl/src/pairing_impl.hpp:750,1
    - Dst: mcl::mulSparse
      Src: /src/mcl/src/pairing_impl.hpp:752,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/pairing_impl.hpp:756,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/pairing_impl.hpp:760,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/src/pairing_impl.hpp:762,1
    - Dst: mcl::addLine
      Src: /src/mcl/src/pairing_impl.hpp:763,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/src/pairing_impl.hpp:764,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/pairing_impl.hpp:765,1
    - Dst: mcl::addLine
      Src: /src/mcl/src/pairing_impl.hpp:766,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:768,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 3
    argNames:
    - ' f'
    - ' P_'
    - ' Q_'
    argTypes:
    - Fp12
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 770
      start: 712
    functionDepth: 9
    functionLinenumber: 712
    functionLinenumberEnd: 770
    functionName: mcl::millerLoop
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - mcl::isZero
    - mcl::dblLine
    - mcl::convertFp6toFp12
    - Botan::fe_sqr
    - mcl::makeAdjP
    - G2::G2
    - G1::normalize
    - mcl::mulSparse2
    - mcl::mulSparse
    - G2::normalize
    - Botan::EC_Group_Data::affine_neg
    - mcl::addLine
    - siTbl::size
    - mcl::Frobenius
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API millerLoop(Fp12& f, const G1& P_, const G2& Q_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::millerLoop
      Src: /src/mcl/src/pairing_impl.hpp:774,1
    - Dst: mcl::finalExp
      Src: /src/mcl/src/pairing_impl.hpp:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' f'
    - ' P'
    - ' Q'
    argTypes:
    - Fp12
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 10
    functionLinenumber: 772
    functionLinenumberEnd: 776
    functionName: mcl::pairing
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::millerLoop
    - mcl::finalExp
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API pairing(Fp12& f, const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 781
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 781
    functionName: mcl::getPrecomputedQcoeffSize
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API getPrecomputedQcoeffSize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G2::normalize
      Src: /src/mcl/src/pairing_impl.hpp:788,1
    - Dst: G2::isZero
      Src: /src/mcl/src/pairing_impl.hpp:789,1
    - Dst: mcl::getPrecomputedQcoeffSize
      Src: /src/mcl/src/pairing_impl.hpp:790,1
    - Dst: G2::G2
      Src: /src/mcl/src/pairing_impl.hpp:796,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/pairing_impl.hpp:798,1
    - Dst: mcl::dblLineWithoutP
      Src: /src/mcl/src/pairing_impl.hpp:800,1
    - Dst: mcl::addLineWithoutP
      Src: /src/mcl/src/pairing_impl.hpp:802,1
    - Dst: siTbl::size
      Src: /src/mcl/src/pairing_impl.hpp:804,1
    - Dst: mcl::dblLineWithoutP
      Src: /src/mcl/src/pairing_impl.hpp:805,1
    - Dst: mcl::addLineWithoutP
      Src: /src/mcl/src/pairing_impl.hpp:808,1
    - Dst: mcl::addLineWithoutP
      Src: /src/mcl/src/pairing_impl.hpp:810,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/pairing_impl.hpp:815,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/src/pairing_impl.hpp:818,1
    - Dst: mcl::addLineWithoutP
      Src: /src/mcl/src/pairing_impl.hpp:819,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/src/pairing_impl.hpp:820,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/pairing_impl.hpp:821,1
    - Dst: mcl::addLineWithoutP
      Src: /src/mcl/src/pairing_impl.hpp:822,1
    - Dst: assert
      Src: /src/mcl/src/pairing_impl.hpp:823,1
    - Dst: mcl::getPrecomputedQcoeffSize
      Src: /src/mcl/src/pairing_impl.hpp:823,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - Qcoeff
    - ' Q_'
    argTypes:
    - Fp6*
    - G2
    constantsTouched: []
    func_position:
      end: 824
      start: 783
    functionDepth: 6
    functionLinenumber: 783
    functionLinenumberEnd: 824
    functionName: mcl::precomputeG2
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::addLineWithoutP
    - mcl::dblLineWithoutP
    - assert
    - G2::G2
    - G2::isZero
    - Botan::EC_Group_Data::affine_neg
    - G2::normalize
    - mcl::getPrecomputedQcoeffSize
    - siTbl::size
    - mcl::Frobenius
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API precomputeG2(Fp6 *Qcoeff, const G2& Q_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::isZero
      Src: /src/mcl/src/pairing_impl.hpp:829,1
    - Dst: G1::G1
      Src: /src/mcl/src/pairing_impl.hpp:833,1
    - Dst: G1::normalize
      Src: /src/mcl/src/pairing_impl.hpp:834,1
    - Dst: G1::G1
      Src: /src/mcl/src/pairing_impl.hpp:835,1
    - Dst: mcl::makeAdjP
      Src: /src/mcl/src/pairing_impl.hpp:836,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:839,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:843,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:845,1
    - Dst: mcl::convertFp6toFp12
      Src: /src/mcl/src/pairing_impl.hpp:847,1
    - Dst: siTbl::size
      Src: /src/mcl/src/pairing_impl.hpp:849,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:850,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/pairing_impl.hpp:852,1
    - Dst: mcl::mulSparse
      Src: /src/mcl/src/pairing_impl.hpp:853,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:855,1
    - Dst: mcl::mulSparse
      Src: /src/mcl/src/pairing_impl.hpp:857,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/pairing_impl.hpp:861,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:864,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:866,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 3
    argNames:
    - ' f'
    - ' P_'
    - Qcoeff
    argTypes:
    - Fp12
    - G1
    - Fp6*
    constantsTouched: []
    func_position:
      end: 871
      start: 826
    functionDepth: 9
    functionLinenumber: 826
    functionLinenumberEnd: 871
    functionName: mcl::precomputedMillerLoop
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - mcl::isZero
    - mcl::convertFp6toFp12
    - Botan::fe_sqr
    - mcl::makeAdjP
    - G1::normalize
    - mcl::mulSparse2
    - mcl::mulSparse
    - mcl::mulFp6cb_by_G1xy
    - Botan::EC_Group_Data::affine_neg
    - siTbl::size
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API precomputedMillerLoop(Fp12& f, const G1& P_, const Fp6*
      Qcoeff)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::normalize
      Src: /src/mcl/src/pairing_impl.hpp:878,1
    - Dst: mcl::normalize
      Src: /src/mcl/src/pairing_impl.hpp:879,1
    - Dst: G2::normalize
      Src: /src/mcl/src/pairing_impl.hpp:880,1
    - Dst: G2::isZero
      Src: /src/mcl/src/pairing_impl.hpp:881,1
    - Dst: mcl::precomputedMillerLoop
      Src: /src/mcl/src/pairing_impl.hpp:882,1
    - Dst: G2::G2
      Src: /src/mcl/src/pairing_impl.hpp:886,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/pairing_impl.hpp:888,1
    - Dst: G1::G1
      Src: /src/mcl/src/pairing_impl.hpp:890,1
    - Dst: mcl::makeAdjP
      Src: /src/mcl/src/pairing_impl.hpp:891,1
    - Dst: mcl::makeAdjP
      Src: /src/mcl/src/pairing_impl.hpp:892,1
    - Dst: mcl::dblLine
      Src: /src/mcl/src/pairing_impl.hpp:895,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:896,1
    - Dst: mcl::addLine
      Src: /src/mcl/src/pairing_impl.hpp:902,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:903,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:904,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:906,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/pairing_impl.hpp:907,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:909,1
    - Dst: siTbl::size
      Src: /src/mcl/src/pairing_impl.hpp:911,1
    - Dst: mcl::dblLine
      Src: /src/mcl/src/pairing_impl.hpp:912,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:913,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/pairing_impl.hpp:915,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:916,1
    - Dst: mcl::addLine
      Src: /src/mcl/src/pairing_impl.hpp:920,1
    - Dst: mcl::addLine
      Src: /src/mcl/src/pairing_impl.hpp:922,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:924,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:926,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/pairing_impl.hpp:931,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/pairing_impl.hpp:932,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/src/pairing_impl.hpp:935,1
    - Dst: mcl::addLine
      Src: /src/mcl/src/pairing_impl.hpp:936,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:937,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/src/pairing_impl.hpp:939,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/pairing_impl.hpp:940,1
    - Dst: mcl::addLine
      Src: /src/mcl/src/pairing_impl.hpp:941,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:942,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:944,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:945,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 64
    argCount: 5
    argNames:
    - ' f'
    - ' P1_'
    - ' Q1_'
    - ' P2_'
    - Q2coeff
    argTypes:
    - Fp12
    - G1
    - G2
    - G1
    - Fp6*
    constantsTouched: []
    func_position:
      end: 948
      start: 873
    functionDepth: 9
    functionLinenumber: 873
    functionLinenumberEnd: 948
    functionName: mcl::precomputedMillerLoop2mixed
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - mcl::Frobenius
    - mcl::dblLine
    - Botan::fe_sqr
    - mcl::normalize
    - mcl::makeAdjP
    - G2::G2
    - G2::isZero
    - G1::normalize
    - mcl::mulSparse2
    - G2::normalize
    - Botan::EC_Group_Data::affine_neg
    - mcl::mulFp6cb_by_G1xy
    - mcl::addLine
    - fiat_bls12_381_fp_mul
    - siTbl::size
    - mcl::precomputedMillerLoop
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API precomputedMillerLoop2mixed(Fp12& f, const G1& P1_, const
      G2& Q1_, const G1& P2_, const Fp6* Q2coeff)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::normalize
      Src: /src/mcl/src/pairing_impl.hpp:954,1
    - Dst: mcl::normalize
      Src: /src/mcl/src/pairing_impl.hpp:955,1
    - Dst: G1::G1
      Src: /src/mcl/src/pairing_impl.hpp:956,1
    - Dst: mcl::makeAdjP
      Src: /src/mcl/src/pairing_impl.hpp:957,1
    - Dst: mcl::makeAdjP
      Src: /src/mcl/src/pairing_impl.hpp:958,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:961,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:962,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:967,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:968,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:970,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:971,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/src/pairing_impl.hpp:972,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:975,1
    - Dst: siTbl::size
      Src: /src/mcl/src/pairing_impl.hpp:977,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:978,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:979,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/pairing_impl.hpp:981,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:982,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:985,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:986,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:988,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/pairing_impl.hpp:993,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:996,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:997,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:999,1
    - Dst: mcl::mulFp6cb_by_G1xy
      Src: /src/mcl/src/pairing_impl.hpp:1000,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:1002,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:1003,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 5
    argNames:
    - ' f'
    - ' P1_'
    - Q1coeff
    - ' P2_'
    - Q2coeff
    argTypes:
    - Fp12
    - G1
    - Fp6*
    - G1
    - Fp6*
    constantsTouched: []
    func_position:
      end: 1006
      start: 950
    functionDepth: 9
    functionLinenumber: 950
    functionLinenumberEnd: 1006
    functionName: mcl::precomputedMillerLoop2
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - Botan::fe_sqr
    - mcl::normalize
    - mcl::makeAdjP
    - G1::normalize
    - mcl::mulSparse2
    - mcl::mulFp6cb_by_G1xy
    - fiat_bls12_381_fp_mul
    - Botan::EC_Group_Data::affine_neg
    - siTbl::size
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API precomputedMillerLoop2(Fp12& f, const G1& P1_, const Fp6*
      Q1coeff, const G1& P2_, const Fp6* Q2coeff)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/pairing_impl.hpp:1019,1
    - Dst: mcl::isZero
      Src: /src/mcl/src/pairing_impl.hpp:1026,1
    - Dst: mcl::isZero
      Src: /src/mcl/src/pairing_impl.hpp:1026,1
    - Dst: G1::normalize
      Src: /src/mcl/src/pairing_impl.hpp:1027,1
    - Dst: G2::normalize
      Src: /src/mcl/src/pairing_impl.hpp:1028,1
    - Dst: f
      Src: /src/mcl/src/pairing_impl.hpp:1039,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/pairing_impl.hpp:1047,1
    - Dst: mcl::makeAdjP
      Src: /src/mcl/src/pairing_impl.hpp:1049,1
    - Dst: mcl::dblLine
      Src: /src/mcl/src/pairing_impl.hpp:1050,1
    - Dst: mcl::addLine
      Src: /src/mcl/src/pairing_impl.hpp:1052,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:1054,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:1057,1
    - Dst: mcl::convertFp6toFp12
      Src: /src/mcl/src/pairing_impl.hpp:1062,1
    - Dst: mcl::mulSparse
      Src: /src/mcl/src/pairing_impl.hpp:1064,1
    - Dst: siTbl::size
      Src: /src/mcl/src/pairing_impl.hpp:1068,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/src/pairing_impl.hpp:1069,1
    - Dst: mcl::dblLine
      Src: /src/mcl/src/pairing_impl.hpp:1071,1
    - Dst: mcl::mulSparse
      Src: /src/mcl/src/pairing_impl.hpp:1072,1
    - Dst: mcl::addLine
      Src: /src/mcl/src/pairing_impl.hpp:1076,1
    - Dst: mcl::addLine
      Src: /src/mcl/src/pairing_impl.hpp:1078,1
    - Dst: mcl::mulSparse
      Src: /src/mcl/src/pairing_impl.hpp:1080,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/pairing_impl.hpp:1085,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/pairing_impl.hpp:1090,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/src/pairing_impl.hpp:1092,1
    - Dst: mcl::addLine
      Src: /src/mcl/src/pairing_impl.hpp:1093,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/src/pairing_impl.hpp:1094,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/src/pairing_impl.hpp:1095,1
    - Dst: mcl::addLine
      Src: /src/mcl/src/pairing_impl.hpp:1096,1
    - Dst: mcl::mulSparse2
      Src: /src/mcl/src/pairing_impl.hpp:1098,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 77
    argCount: 5
    argNames:
    - ' _f'
    - Pvec
    - Qvec
    - n
    - initF
    argTypes:
    - Fp12
    - G1*
    - G2*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 1103
      start: 1016
    functionDepth: 9
    functionLinenumber: 1016
    functionLinenumberEnd: 1103
    functionName: mcl::millerLoopVecN
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::isZero
    - mcl::dblLine
    - mcl::convertFp6toFp12
    - Botan::fe_sqr
    - assert
    - mcl::makeAdjP
    - G1::normalize
    - mcl::mulSparse2
    - mcl::mulSparse
    - f
    - G2::normalize
    - Botan::EC_Group_Data::affine_neg
    - mcl::addLine
    - siTbl::size
    - mcl::Frobenius
    linkageType: ''
    returnType: void
    signature: void millerLoopVecN(Fp12& _f, const G1* Pvec, const G2* Qvec, size_t
      n, bool initF)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::millerLoopVecN
      Src: /src/mcl/src/pairing_impl.hpp:1109,1
    - Dst: mcl::fp::min_
      Src: /src/mcl/src/pairing_impl.hpp:1111,1
    - Dst: mcl::millerLoopVecN
      Src: /src/mcl/src/pairing_impl.hpp:1112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ' f'
    - Pvec
    - Qvec
    - n
    - initF
    argTypes:
    - Fp12
    - G1*
    - G2*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 1114
      start: 1105
    functionDepth: 10
    functionLinenumber: 1105
    functionLinenumberEnd: 1114
    functionName: mcl::millerLoopVec
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::min_
    - mcl::millerLoopVecN
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API millerLoopVec(Fp12& f, const G1* Pvec, const G2* Qvec,
      size_t n, bool initF)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: omp_get_num_procs
      Src: /src/mcl/src/pairing_impl.hpp:1125,1
    - Dst: mcl::millerLoopVec
      Src: /src/mcl/src/pairing_impl.hpp:1131,1
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/src/pairing_impl.hpp:1134,1
    - Dst: mcl::millerLoopVec
      Src: /src/mcl/src/pairing_impl.hpp:1140,1
    - Dst: mcl::millerLoopVec
      Src: /src/mcl/src/pairing_impl.hpp:1150,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 5
    argNames:
    - ' f'
    - Pvec
    - Qvec
    - n
    - cpuN
    argTypes:
    - Fp12
    - G1*
    - G2*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1152
      start: 1116
    functionDepth: 11
    functionLinenumber: 1116
    functionLinenumberEnd: 1152
    functionName: mcl::millerLoopVecMT
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_ALLOCA
    - omp_get_num_procs
    - mcl::millerLoopVec
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API millerLoopVecMT(Fp12& f, const G1* Pvec, const G2* Qvec,
      size_t n, size_t cpuN)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::setOrder
      Src: /src/mcl/src/pairing_impl.hpp:1157,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/src/pairing_impl.hpp:1157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - doVerify
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 1159
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1159
    functionName: mcl::verifyOrderG1
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::setOrder
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API verifyOrderG1(bool doVerify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::setOrder
      Src: /src/mcl/src/pairing_impl.hpp:1162,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/src/pairing_impl.hpp:1162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - doVerify
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 1163
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1163
    functionName: mcl::verifyOrderG2
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::setOrder
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API verifyOrderG2(bool doVerify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G2::G2
      Src: /src/mcl/src/pairing_impl.hpp:1172,1
    - Dst: mcl::Frobenius2
      Src: /src/mcl/src/pairing_impl.hpp:1173,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/src/pairing_impl.hpp:1174,1
    - Dst: mcl::mulGeneric
      Src: /src/mcl/src/pairing_impl.hpp:1175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - G2
    constantsTouched: []
    func_position:
      end: 1178
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1178
    functionName: mcl::isValidOrderBLS12
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::Frobenius2
    - mcl::mulGeneric
    - G2::G2
    - mcl::Frobenius
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API isValidOrderBLS12(const G2& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::Frobenius
      Src: /src/mcl/src/pairing_impl.hpp:1182,1
    - Dst: mcl::Fp2::Frobenius
      Src: /src/mcl/src/pairing_impl.hpp:1183,1
    - Dst: mcl::Fp2::Frobenius
      Src: /src/mcl/src/pairing_impl.hpp:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' D'
    - ' S'
    argTypes:
    - G2
    - G2
    constantsTouched: []
    func_position:
      end: 1187
      start: 1180
    functionDepth: 1
    functionLinenumber: 1180
    functionLinenumberEnd: 1187
    functionName: mcl::Frobenius
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 11
    functionsReached:
    - mcl::Fp2::Frobenius
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API Frobenius(G2& D, const G2& S)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Frobenius
      Src: /src/mcl/src/pairing_impl.hpp:1190,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/src/pairing_impl.hpp:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' D'
    - ' S'
    argTypes:
    - G2
    - G2
    constantsTouched: []
    func_position:
      end: 1192
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1192
    functionName: mcl::Frobenius2
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 7
    functionsReached:
    - mcl::Frobenius
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API Frobenius2(G2& D, const G2& S)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Frobenius
      Src: /src/mcl/src/pairing_impl.hpp:1195,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/src/pairing_impl.hpp:1196,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/src/pairing_impl.hpp:1197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' D'
    - ' S'
    argTypes:
    - G2
    - G2
    constantsTouched: []
    func_position:
      end: 1198
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1198
    functionName: mcl::Frobenius3
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 3
    functionsReached:
    - mcl::Frobenius
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API Frobenius3(G2& D, const G2& S)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::init
      Src: /src/mcl/src/pairing_impl.hpp:1202,1
    - Dst: mcl::EcT::setMulVecGLV
      Src: /src/mcl/src/pairing_impl.hpp:1204,1
    - Dst: mcl::EcT::setMulVecGLV
      Src: /src/mcl/src/pairing_impl.hpp:1205,1
    - Dst: mcl::msm::initMsm
      Src: /src/mcl/src/pairing_impl.hpp:1207,1
    - Dst: mcl::EcT::setMulVecOpti
      Src: /src/mcl/src/pairing_impl.hpp:1208,1
    - Dst: mcl::EcT::setMulEachOpti
      Src: /src/mcl/src/pairing_impl.hpp:1209,1
    - Dst: mcl::setPowVecGLV
      Src: /src/mcl/src/pairing_impl.hpp:1212,1
    - Dst: mcl::EcT::setCompressedExpression
      Src: /src/mcl/src/pairing_impl.hpp:1213,1
    - Dst: mcl::EcT::setCompressedExpression
      Src: /src/mcl/src/pairing_impl.hpp:1214,1
    - Dst: mcl::verifyOrderG1
      Src: /src/mcl/src/pairing_impl.hpp:1215,1
    - Dst: mcl::verifyOrderG2
      Src: /src/mcl/src/pairing_impl.hpp:1216,1
    - Dst: mcl::EcT::setVerifyOrderFunc
      Src: /src/mcl/src/pairing_impl.hpp:1218,1
    - Dst: mcl::EcT::setVerifyOrderFunc
      Src: /src/mcl/src/pairing_impl.hpp:1219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - pb
    - ' cp'
    argTypes:
    - bool*
    - mcl::CurveParam
    constantsTouched: []
    func_position:
      end: 1222
      start: 1200
    functionDepth: 1
    functionLinenumber: 1200
    functionLinenumberEnd: 1222
    functionName: mcl::init
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 3
    functionsReached:
    - mcl::EcT::setMulVecGLV
    - mcl::verifyOrderG1
    - mcl::verifyOrderG2
    - mcl::setPowVecGLV
    - mcl::EcT::setMulEachOpti
    - mcl::msm::initMsm
    - mcl::EcT::setMulVecOpti
    - mcl::EcT::setVerifyOrderFunc
    - mcl::EcT::setCompressedExpression
    - mcl::init
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API init(bool *pb, const mcl::CurveParam& cp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::init
      Src: /src/mcl/src/pairing_impl.hpp:1226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pb
    - ' cp'
    argTypes:
    - bool*
    - mcl::CurveParam
    constantsTouched: []
    func_position:
      end: 1227
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1227
    functionName: mcl::initPairing
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 2
    functionsReached:
    - mcl::init
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API initPairing(bool *pb, const mcl::CurveParam& cp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::setMulVecGLV
      Src: /src/mcl/src/pairing_impl.hpp:1231,1
    - Dst: mcl::EcT::setMulVecGLV
      Src: /src/mcl/src/pairing_impl.hpp:1232,1
    - Dst: mcl::setPowVecGLV
      Src: /src/mcl/src/pairing_impl.hpp:1233,1
    - Dst: mcl::initG1only
      Src: /src/mcl/src/pairing_impl.hpp:1234,1
    - Dst: mcl::EcT::setCompressedExpression
      Src: /src/mcl/src/pairing_impl.hpp:1236,1
    - Dst: mcl::EcT::setCompressedExpression
      Src: /src/mcl/src/pairing_impl.hpp:1237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pb
    - ' para'
    argTypes:
    - bool*
    - mcl::EcParam
    constantsTouched: []
    func_position:
      end: 1238
      start: 1229
    functionDepth: 1
    functionLinenumber: 1229
    functionLinenumberEnd: 1238
    functionName: mcl::initG1only
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 2
    functionsReached:
    - mcl::EcT::setMulVecGLV
    - mcl::initG1only
    - mcl::setPowVecGLV
    - mcl::EcT::setCompressedExpression
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API initG1only(bool *pb, const mcl::EcParam& para)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1243
    functionName: mcl::getG1basePoint
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API & getG1basePoint()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GT::GT
      Src: /src/mcl/src/pairing_impl.hpp:1247,1
    - Dst: mclBnGT_powGeneric
      Src: /src/mcl/src/pairing_impl.hpp:1248,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/src/pairing_impl.hpp:1248,1
    - Dst: GT::isOne
      Src: /src/mcl/src/pairing_impl.hpp:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - GT
    constantsTouched: []
    func_position:
      end: 1250
      start: 1245
    functionDepth: 2
    functionLinenumber: 1245
    functionLinenumberEnd: 1250
    functionName: mcl::isValidGT
    functionSourceFile: /src/mcl/src/pairing_impl.hpp
    functionUses: 2
    functionsReached:
    - GT::isOne
    - mclBnGT_powGeneric
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - GT::GT
    linkageType: ''
    returnType: MCL_DLL_API
    signature: MCL_DLL_API isValidGT(const GT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp::func_ptr_cast<void4u>
      Src: /src/mcl/src/fp_static_code.hpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - mcl::fp::Op
    constantsTouched: []
    func_position:
      end: 102
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 102
    functionName: mcl::fp::setStaticCode
    functionSourceFile: /src/mcl/src/fp_static_code.hpp
    functionUses: 0
    functionsReached:
    - fp::func_ptr_cast<void4u>
    linkageType: ''
    returnType: void
    signature: void setStaticCode(mcl::fp::Op& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Vec
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: '& operator=(const Vec& x)'
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VecA
    signature: VecA & operator=(const Vec& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: VecA
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VecA()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Vec
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: VecA
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VecA(const Vec& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_setzero_epi32
      Src: /src/mcl/src/avx512.hpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: vzero
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 5
    functionsReached:
    - _mm512_setzero_epi32
    linkageType: ''
    returnType: V
    signature: V vzero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vzero
      Src: /src/mcl/src/avx512.hpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: vzero
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 6
    functionsReached:
    - vzero
    linkageType: ''
    returnType: VecA
    signature: VecA vzero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_set1_epi32
      Src: /src/mcl/src/avx512.hpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: vone
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 0
    functionsReached:
    - _mm512_set1_epi32
    linkageType: ''
    returnType: Vec
    signature: Vec vone()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vzero
      Src: /src/mcl/src/avx512.hpp:54,1
    - Dst: _mm512_madd52lo_epu64
      Src: /src/mcl/src/avx512.hpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: vmulL
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 7
    functionsReached:
    - _mm512_madd52lo_epu64
    - vzero
    linkageType: ''
    returnType: Vec
    signature: Vec vmulL(const Vec& a, const Vec& b, const Vec& c = vzero())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vzero
      Src: /src/mcl/src/avx512.hpp:61,1
    - Dst: _mm512_madd52hi_epu64
      Src: /src/mcl/src/avx512.hpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: vmulH
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 3
    functionsReached:
    - _mm512_madd52hi_epu64
    - vzero
    linkageType: ''
    returnType: Vec
    signature: Vec vmulH(const Vec& a, const Vec& b, const Vec& c = vzero())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_add_epi64
      Src: /src/mcl/src/avx512.hpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: vpaddq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 7
    functionsReached:
    - _mm512_add_epi64
    linkageType: ''
    returnType: Vec
    signature: Vec vpaddq(const Vec& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_mask_add_epi64
      Src: /src/mcl/src/avx512.hpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' v'
    - ' a'
    - ' b'
    argTypes:
    - Vmask
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: vpaddq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 7
    functionsReached:
    - _mm512_mask_add_epi64
    linkageType: ''
    returnType: Vec
    signature: Vec vpaddq(const Vmask& v, const Vec& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_sub_epi64
      Src: /src/mcl/src/avx512.hpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: vpsubq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 2
    functionsReached:
    - _mm512_sub_epi64
    linkageType: ''
    returnType: Vec
    signature: Vec vpsubq(const Vec& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_mask_sub_epi64
      Src: /src/mcl/src/avx512.hpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' v'
    - ' a'
    - ' b'
    argTypes:
    - Vmask
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: vpsubq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 2
    functionsReached:
    - _mm512_mask_sub_epi64
    linkageType: ''
    returnType: Vec
    signature: Vec vpsubq(const Vmask& v, const Vec& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_srli_epi64
      Src: /src/mcl/src/avx512.hpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Vec
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: vpsrlq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 10
    functionsReached:
    - _mm512_srli_epi64
    linkageType: ''
    returnType: Vec
    signature: Vec vpsrlq(const Vec& a, size_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_slli_epi64
      Src: /src/mcl/src/avx512.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Vec
    - size_t
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: vpsllq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 4
    functionsReached:
    - _mm512_slli_epi64
    linkageType: ''
    returnType: Vec
    signature: Vec vpsllq(const Vec& a, size_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_and_epi64
      Src: /src/mcl/src/avx512.hpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: vpandq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 12
    functionsReached:
    - _mm512_and_epi64
    linkageType: ''
    returnType: Vec
    signature: Vec vpandq(const Vec& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_andnot_epi64
      Src: /src/mcl/src/avx512.hpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: vpandnq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 1
    functionsReached:
    - _mm512_andnot_epi64
    linkageType: ''
    returnType: Vec
    signature: Vec vpandnq(const Vec& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_or_epi64
      Src: /src/mcl/src/avx512.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: vporq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 6
    functionsReached:
    - _mm512_or_epi64
    linkageType: ''
    returnType: Vec
    signature: Vec vporq(const Vec& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_xor_epi64
      Src: /src/mcl/src/avx512.hpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: vpxorq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 1
    functionsReached:
    - _mm512_xor_epi64
    linkageType: ''
    returnType: Vec
    signature: Vec vpxorq(const Vec& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_unpacklo_epi64
      Src: /src/mcl/src/avx512.hpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: vpunpcklqdq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 1
    functionsReached:
    - _mm512_unpacklo_epi64
    linkageType: ''
    returnType: Vec
    signature: Vec vpunpcklqdq(const Vec& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_unpackhi_epi64
      Src: /src/mcl/src/avx512.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: vpunpckhqdq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 1
    functionsReached:
    - _mm512_unpackhi_epi64
    linkageType: ''
    returnType: Vec
    signature: Vec vpunpckhqdq(const Vec& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_shuffle_i64x2
      Src: /src/mcl/src/avx512.hpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: vshuffi64x2
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 1
    functionsReached:
    - _mm512_shuffle_i64x2
    linkageType: ''
    returnType: Vec
    signature: Vec vshuffi64x2(const Vec& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_i64gather_epi64
      Src: /src/mcl/src/avx512.hpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' idx'
    - base
    argTypes:
    - Vec
    - void*
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: vpgatherqq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 5
    functionsReached:
    - _mm512_i64gather_epi64
    linkageType: ''
    returnType: Vec
    signature: Vec vpgatherqq(const Vec& idx, const void *base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_loadu_epi64
      Src: /src/mcl/src/avx512.hpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: vmovdqu64
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 1
    functionsReached:
    - _mm512_loadu_epi64
    linkageType: ''
    returnType: Vec
    signature: Vec vmovdqu64(const void *base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_maskz_loadu_epi64
      Src: /src/mcl/src/avx512.hpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' v'
    - base
    argTypes:
    - Vmask
    - void*
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: vmovdqu64
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 1
    functionsReached:
    - _mm512_maskz_loadu_epi64
    linkageType: ''
    returnType: Vec
    signature: Vec vmovdqu64(const Vmask& v, const void *base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_i64scatter_epi64
      Src: /src/mcl/src/avx512.hpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - base
    - ' idx'
    - ' v'
    argTypes:
    - void*
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: vpscatterqq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 4
    functionsReached:
    - _mm512_i64scatter_epi64
    linkageType: ''
    returnType: void
    signature: void vpscatterqq(void *base, const Vec& idx, const Vec& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_permutex2var_epi64
      Src: /src/mcl/src/avx512.hpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' L'
    - ' idx'
    - ' H'
    argTypes:
    - Vec
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: vperm2tq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 0
    functionsReached:
    - _mm512_permutex2var_epi64
    linkageType: ''
    returnType: Vec
    signature: Vec vperm2tq(const Vec& L, const Vec& idx, const Vec& H)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_cmpeq_epi64_mask
      Src: /src/mcl/src/avx512.hpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: vpcmpeqq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 2
    functionsReached:
    - _mm512_cmpeq_epi64_mask
    linkageType: ''
    returnType: Vmask
    signature: Vmask vpcmpeqq(const Vec& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_cmpneq_epi64_mask
      Src: /src/mcl/src/avx512.hpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: vpcmpneqq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 1
    functionsReached:
    - _mm512_cmpneq_epi64_mask
    linkageType: ''
    returnType: Vmask
    signature: Vmask vpcmpneqq(const Vec& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_cmpgt_epi64_mask
      Src: /src/mcl/src/avx512.hpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: vpcmpgtq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 1
    functionsReached:
    - _mm512_cmpgt_epi64_mask
    linkageType: ''
    returnType: Vmask
    signature: Vmask vpcmpgtq(const Vec& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_kand
      Src: /src/mcl/src/avx512.hpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vmask
    - Vmask
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: kandb
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 1
    functionsReached:
    - _mm512_kand
    linkageType: ''
    returnType: Vmask
    signature: Vmask kandb(const Vmask& a, const Vmask& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_set1_epi64
      Src: /src/mcl/src/avx512.hpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: vpbroadcastq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 8
    functionsReached:
    - _mm512_set1_epi64
    linkageType: ''
    returnType: Vec
    signature: Vec vpbroadcastq(int64_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_mask_and_epi64
      Src: /src/mcl/src/avx512.hpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' c'
    - ' a'
    - ' b'
    - ' d'
    argTypes:
    - Vmask
    - Vec
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: vpandq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 12
    functionsReached:
    - _mm512_mask_and_epi64
    linkageType: ''
    returnType: Vec
    signature: Vec vpandq(const Vmask& c, const Vec& a, const Vec& b, const Vec& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpandq
      Src: /src/mcl/src/avx512.hpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' c'
    - ' a'
    - ' b'
    argTypes:
    - Vmask
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: vselect
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 10
    functionsReached:
    - vpandq
    linkageType: ''
    returnType: Vec
    signature: Vec vselect(const Vmask& c, const Vec& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_ternarylogic_epi64
      Src: /src/mcl/src/avx512.hpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - Vec
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: vpternlogq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 2
    functionsReached:
    - _mm512_ternarylogic_epi64
    linkageType: ''
    returnType: Vec
    signature: Vec vpternlogq(const Vec& a, const Vec& b, const Vec& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vmulL
      Src: /src/mcl/src/avx512.hpp:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - VecA
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: vmulL
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 8
    functionsReached:
    - vmulL
    linkageType: ''
    returnType: VecA
    signature: VecA vmulL(const VecA& a, const VecA& b, const VecA& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vzero
      Src: /src/mcl/src/avx512.hpp:225,1
    - Dst: vmulL
      Src: /src/mcl/src/avx512.hpp:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: vmulL
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 9
    functionsReached:
    - vmulL
    - vzero
    linkageType: ''
    returnType: VecA
    signature: VecA vmulL(const VecA& a, const VecA& b, const Vec& c = vzero())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vmulL
      Src: /src/mcl/src/avx512.hpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - Vec
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: vmulL
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 10
    functionsReached:
    - vmulL
    linkageType: ''
    returnType: VecA
    signature: VecA vmulL(const Vec& a, const VecA& b, const VecA& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vmulL
      Src: /src/mcl/src/avx512.hpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - VecA
    - Vec
    - VecA
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: vmulL
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 11
    functionsReached:
    - vmulL
    linkageType: ''
    returnType: VecA
    signature: VecA vmulL(const VecA& a, const Vec& b, const VecA& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vmulL
      Src: /src/mcl/src/avx512.hpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - VecA
    - Vec
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: vmulL
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 12
    functionsReached:
    - vmulL
    linkageType: ''
    returnType: VecA
    signature: VecA vmulL(const VecA& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vmulH
      Src: /src/mcl/src/avx512.hpp:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - VecA
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: vmulH
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 4
    functionsReached:
    - vmulH
    linkageType: ''
    returnType: VecA
    signature: VecA vmulH(const VecA& a, const VecA& b, const VecA& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vzero
      Src: /src/mcl/src/avx512.hpp:260,1
    - Dst: vmulH
      Src: /src/mcl/src/avx512.hpp:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: vmulH
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 5
    functionsReached:
    - vmulH
    - vzero
    linkageType: ''
    returnType: VecA
    signature: VecA vmulH(const VecA& a, const VecA& b, const Vec& c = vzero())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vmulH
      Src: /src/mcl/src/avx512.hpp:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vec
    - VecA
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: vmulH
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 6
    functionsReached:
    - vmulH
    linkageType: ''
    returnType: VecA
    signature: VecA vmulH(const Vec& a, const VecA& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpaddq
      Src: /src/mcl/src/avx512.hpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: vpaddq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 8
    functionsReached:
    - vpaddq
    linkageType: ''
    returnType: VecA
    signature: VecA vpaddq(const VecA& a, const VecA& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpaddq
      Src: /src/mcl/src/avx512.hpp:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - VecA
    - Vec
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: vpaddq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 9
    functionsReached:
    - vpaddq
    linkageType: ''
    returnType: VecA
    signature: VecA vpaddq(const VecA& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpaddq
      Src: /src/mcl/src/avx512.hpp:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' v'
    - ' a'
    - ' b'
    argTypes:
    - VmaskA
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: vpaddq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 10
    functionsReached:
    - vpaddq
    linkageType: ''
    returnType: VecA
    signature: VecA vpaddq(const VmaskA& v, const VecA& a, const VecA& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpaddq
      Src: /src/mcl/src/avx512.hpp:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' v'
    - ' a'
    - ' b'
    argTypes:
    - VmaskA
    - VecA
    - Vec
    constantsTouched: []
    func_position:
      end: 300
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 300
    functionName: vpaddq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 11
    functionsReached:
    - vpaddq
    linkageType: ''
    returnType: VecA
    signature: VecA vpaddq(const VmaskA& v, const VecA& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsubq
      Src: /src/mcl/src/avx512.hpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: vpsubq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 3
    functionsReached:
    - vpsubq
    linkageType: ''
    returnType: VecA
    signature: VecA vpsubq(const VecA& a, const VecA& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsubq
      Src: /src/mcl/src/avx512.hpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - VecA
    - Vec
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: vpsubq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 4
    functionsReached:
    - vpsubq
    linkageType: ''
    returnType: VecA
    signature: VecA vpsubq(const VecA& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsubq
      Src: /src/mcl/src/avx512.hpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vec
    - VecA
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: vpsubq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 5
    functionsReached:
    - vpsubq
    linkageType: ''
    returnType: VecA
    signature: VecA vpsubq(const Vec& a, const VecA& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsubq
      Src: /src/mcl/src/avx512.hpp:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' v'
    - ' a'
    - ' b'
    argTypes:
    - VmaskA
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: vpsubq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 6
    functionsReached:
    - vpsubq
    linkageType: ''
    returnType: VecA
    signature: VecA vpsubq(const VmaskA& v, const VecA& a, const VecA& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsrlq
      Src: /src/mcl/src/avx512.hpp:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - VecA
    - size_t
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: vpsrlq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 11
    functionsReached:
    - vpsrlq
    linkageType: ''
    returnType: VecA
    signature: VecA vpsrlq(const VecA& a, size_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsllq
      Src: /src/mcl/src/avx512.hpp:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - VecA
    - size_t
    constantsTouched: []
    func_position:
      end: 342
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 342
    functionName: vpsllq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 5
    functionsReached:
    - vpsllq
    linkageType: ''
    returnType: VecA
    signature: VecA vpsllq(const VecA& a, size_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpandq
      Src: /src/mcl/src/avx512.hpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 349
    functionName: vpandq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 14
    functionsReached:
    - vpandq
    linkageType: ''
    returnType: VecA
    signature: VecA vpandq(const VecA& a, const VecA& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpandnq
      Src: /src/mcl/src/avx512.hpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: vpandnq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 2
    functionsReached:
    - vpandnq
    linkageType: ''
    returnType: VecA
    signature: VecA vpandnq(const VecA& a, const VecA& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpandq
      Src: /src/mcl/src/avx512.hpp:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - VecA
    - Vec
    constantsTouched: []
    func_position:
      end: 363
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 363
    functionName: vpandq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 15
    functionsReached:
    - vpandq
    linkageType: ''
    returnType: VecA
    signature: VecA vpandq(const VecA& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vporq
      Src: /src/mcl/src/avx512.hpp:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 370
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 370
    functionName: vporq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 7
    functionsReached:
    - vporq
    linkageType: ''
    returnType: VecA
    signature: VecA vporq(const VecA& a, const VecA& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpxorq
      Src: /src/mcl/src/avx512.hpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: vpxorq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 2
    functionsReached:
    - vpxorq
    linkageType: ''
    returnType: VecA
    signature: VecA vpxorq(const VecA& a, const VecA& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpgatherqq
      Src: /src/mcl/src/avx512.hpp:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' idx'
    - base
    argTypes:
    - VecA
    - void*
    constantsTouched: []
    func_position:
      end: 385
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 385
    functionName: vpgatherqq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 6
    functionsReached:
    - vpgatherqq
    linkageType: ''
    returnType: VecA
    signature: VecA vpgatherqq(const VecA& idx, const void *base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpscatterqq
      Src: /src/mcl/src/avx512.hpp:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - base
    - ' idx'
    - ' v'
    argTypes:
    - void*
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: vpscatterqq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 5
    functionsReached:
    - vpscatterqq
    linkageType: ''
    returnType: void
    signature: void vpscatterqq(void *base, const VecA& idx, const VecA& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vperm2tq
      Src: /src/mcl/src/avx512.hpp:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' L'
    - ' idx'
    - ' H'
    argTypes:
    - VecA
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: vperm2tq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 1
    functionsReached:
    - vperm2tq
    linkageType: ''
    returnType: VecA
    signature: VecA vperm2tq(const VecA& L, const VecA& idx, const VecA& H)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpcmpeqq
      Src: /src/mcl/src/avx512.hpp:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 405
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 405
    functionName: vpcmpeqq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 3
    functionsReached:
    - vpcmpeqq
    linkageType: ''
    returnType: VmaskA
    signature: VmaskA vpcmpeqq(const VecA& a, const VecA& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpcmpeqq
      Src: /src/mcl/src/avx512.hpp:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - VecA
    - Vec
    constantsTouched: []
    func_position:
      end: 412
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 412
    functionName: vpcmpeqq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 4
    functionsReached:
    - vpcmpeqq
    linkageType: ''
    returnType: VmaskA
    signature: VmaskA vpcmpeqq(const VecA& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpcmpneqq
      Src: /src/mcl/src/avx512.hpp:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 419
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 419
    functionName: vpcmpneqq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 2
    functionsReached:
    - vpcmpneqq
    linkageType: ''
    returnType: VmaskA
    signature: VmaskA vpcmpneqq(const VecA& a, const VecA& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpcmpneqq
      Src: /src/mcl/src/avx512.hpp:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - VecA
    - Vec
    constantsTouched: []
    func_position:
      end: 426
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 426
    functionName: vpcmpneqq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 3
    functionsReached:
    - vpcmpneqq
    linkageType: ''
    returnType: VmaskA
    signature: VmaskA vpcmpneqq(const VecA& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpcmpgtq
      Src: /src/mcl/src/avx512.hpp:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 433
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 433
    functionName: vpcmpgtq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 2
    functionsReached:
    - vpcmpgtq
    linkageType: ''
    returnType: VmaskA
    signature: VmaskA vpcmpgtq(const VecA& a, const VecA& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpcmpgtq
      Src: /src/mcl/src/avx512.hpp:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - VecA
    - Vec
    constantsTouched: []
    func_position:
      end: 440
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 440
    functionName: vpcmpgtq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 3
    functionsReached:
    - vpcmpgtq
    linkageType: ''
    returnType: VmaskA
    signature: VmaskA vpcmpgtq(const VecA& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kandb
      Src: /src/mcl/src/avx512.hpp:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - VmaskA
    - VmaskA
    constantsTouched: []
    func_position:
      end: 446
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 446
    functionName: kandb
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 2
    functionsReached:
    - kandb
    linkageType: ''
    returnType: VmaskA
    signature: VmaskA kandb(const VmaskA& a, const VmaskA& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpandq
      Src: /src/mcl/src/avx512.hpp:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' c'
    - ' a'
    - ' b'
    - ' d'
    argTypes:
    - VmaskA
    - VecA
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 461
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 461
    functionName: vpandq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 16
    functionsReached:
    - vpandq
    linkageType: ''
    returnType: VecA
    signature: VecA vpandq(const VmaskA& c, const VecA& a, const VecA& b, const VecA&
      d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vselect
      Src: /src/mcl/src/avx512.hpp:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' c'
    - ' a'
    - ' b'
    argTypes:
    - VmaskA
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 469
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 469
    functionName: vselect
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 11
    functionsReached:
    - vselect
    linkageType: ''
    returnType: VecA
    signature: VecA vselect(const VmaskA& c, const VecA& a, const VecA& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vselect
      Src: /src/mcl/src/avx512.hpp:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' c'
    - ' a'
    - ' b'
    argTypes:
    - VmaskA
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 477
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 477
    functionName: vselect
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 12
    functionsReached:
    - vselect
    linkageType: ''
    returnType: VecA
    signature: VecA vselect(const VmaskA& c, const Vec& a, const Vec& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpternlogq
      Src: /src/mcl/src/avx512.hpp:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - VecA
    - VecA
    - VecA
    constantsTouched: []
    func_position:
      end: 485
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 485
    functionName: vpternlogq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 3
    functionsReached:
    - vpternlogq
    linkageType: ''
    returnType: VecA
    signature: VecA vpternlogq(const VecA& a, const VecA& b, const VecA& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpternlogq
      Src: /src/mcl/src/avx512.hpp:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - VecA
    - VecA
    - Vec
    constantsTouched: []
    func_position:
      end: 493
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 493
    functionName: vpternlogq
    functionSourceFile: /src/mcl/src/avx512.hpp
    functionUses: 4
    functionsReached:
    - vpternlogq
    linkageType: ''
    returnType: VecA
    signature: VecA vpternlogq(const VecA& a, const VecA& b, const Vec& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FpGenerator::FpGenerator
      Src: /src/mcl/src/fp.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: mcl::fp::createFpGenerator
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 0
    functionsReached:
    - FpGenerator::FpGenerator
    linkageType: ''
    returnType: FpGenerator
    signature: FpGenerator *createFpGenerator()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fg
    argTypes:
    - FpGenerator*
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: mcl::fp::destroyFpGenerator
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void destroyFpGenerator(FpGenerator *fg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Set32bitAsLE
      Src: /src/mcl/src/fp.cpp:55,1
    - Dst: cybozu::Set64bitAsLE
      Src: /src/mcl/src/fp.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - x
    argTypes:
    - void*
    - Unit
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: mcl::fp::setUnitAsLE
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 0
    functionsReached:
    - cybozu::Set32bitAsLE
    - cybozu::Set64bitAsLE
    linkageType: ''
    returnType: void
    signature: void setUnitAsLE(void *p, Unit x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Get32bitAsLE
      Src: /src/mcl/src/fp.cpp:63,1
    - Dst: cybozu::Get64bitAsLE
      Src: /src/mcl/src/fp.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: mcl::fp::getUnitAsLE
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 0
    functionsReached:
    - cybozu::Get32bitAsLE
    - cybozu::Get64bitAsLE
    linkageType: ''
    returnType: Unit
    signature: Unit getUnitAsLE(const void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/fp.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - mode
    argTypes:
    - Mode
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: mcl::fp::ModeToStr
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char *ModeToStr(Mode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/src/fp.cpp:97,1
    - Dst: strcmp
      Src: /src/mcl/src/fp.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: mcl::fp::StrToMode
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - strcmp
    linkageType: ''
    returnType: Mode
    signature: Mode StrToMode(const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/mcl/src/fp.cpp:111,1
    - Dst: fread
      Src: /src/mcl/src/fp.cpp:114,1
    - Dst: fclose
      Src: /src/mcl/src/fp.cpp:117,1
    - Dst: MIE_ALIGN
      Src: /src/mcl/src/fp.cpp:121,1
    - Dst: CodeArray::protect
      Src: /src/mcl/src/fp.cpp:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 133
    functionName: mcl::fp::isEnableJIT
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 3
    functionsReached:
    - MIE_ALIGN
    - fread
    - fclose
    - CodeArray::protect
    - fopen
    linkageType: ''
    returnType: bool
    signature: bool isEnableJIT()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Sha256
      Src: /src/mcl/src/fp.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - maxOutSize
    - msg
    - msgSize
    argTypes:
    - void*
    - uint32_t
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: mcl::fp::sha256
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 0
    functionsReached:
    - cybozu::Sha256
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sha256(void *out, uint32_t maxOutSize, const void *msg, uint32_t
      msgSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Sha512
      Src: /src/mcl/src/fp.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - maxOutSize
    - msg
    - msgSize
    argTypes:
    - void*
    - uint32_t
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: mcl::fp::sha512
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 0
    functionsReached:
    - cybozu::Sha512
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sha512(void *out, uint32_t maxOutSize, const void *msg, uint32_t
      msgSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/fp.cpp:148,1
    - Dst: cybozu::Sha256::update
      Src: /src/mcl/src/fp.cpp:155,1
    - Dst: cybozu::Sha256::digest
      Src: /src/mcl/src/fp.cpp:156,1
    - Dst: cybozu::Set16bitAsBE
      Src: /src/mcl/src/fp.cpp:166,1
    - Dst: cybozu::Sha256::update
      Src: /src/mcl/src/fp.cpp:168,1
    - Dst: cybozu::Sha256::update
      Src: /src/mcl/src/fp.cpp:169,1
    - Dst: cybozu::Sha256::update
      Src: /src/mcl/src/fp.cpp:170,1
    - Dst: cybozu::Sha256::update
      Src: /src/mcl/src/fp.cpp:171,1
    - Dst: cybozu::Sha256::update
      Src: /src/mcl/src/fp.cpp:172,1
    - Dst: cybozu::Sha256::digest
      Src: /src/mcl/src/fp.cpp:174,1
    - Dst: cybozu::Sha256::clear
      Src: /src/mcl/src/fp.cpp:175,1
    - Dst: cybozu::Sha256::update
      Src: /src/mcl/src/fp.cpp:176,1
    - Dst: cybozu::Sha256::update
      Src: /src/mcl/src/fp.cpp:178,1
    - Dst: cybozu::Sha256::update
      Src: /src/mcl/src/fp.cpp:179,1
    - Dst: cybozu::Sha256::digest
      Src: /src/mcl/src/fp.cpp:180,1
    - Dst: cybozu::Sha256::clear
      Src: /src/mcl/src/fp.cpp:183,1
    - Dst: cybozu::Sha256::update
      Src: /src/mcl/src/fp.cpp:187,1
    - Dst: cybozu::Sha256::update
      Src: /src/mcl/src/fp.cpp:189,1
    - Dst: cybozu::Sha256::update
      Src: /src/mcl/src/fp.cpp:190,1
    - Dst: cybozu::Sha256::digest
      Src: /src/mcl/src/fp.cpp:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 6
    argNames:
    - out
    - outSize
    - msg
    - msgSize
    - dst
    - dstSize
    argTypes:
    - uint8_t[]
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 193
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 193
    functionName: mcl::fp::expand_message_xmd
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 3
    functionsReached:
    - cybozu::Sha256::digest
    - assert
    - cybozu::Sha256::clear
    - cybozu::Sha256::update
    - cybozu::Set16bitAsBE
    linkageType: ''
    returnType: void
    signature: void expand_message_xmd(uint8_t out[], size_t outSize, const void *msg,
      size_t msgSize, const void *dst, size_t dstSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::inv::exec<N>
      Src: /src/mcl/src/fp.cpp:201,1
    - Dst: reinterpret_cast<const mcl::inv::InvModT<N>*>
      Src: /src/mcl/src/fp.cpp:201,1
    - Dst: fp_mul
      Src: /src/mcl/src/fp.cpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - y
    - x
    - ' op'
    argTypes:
    - Unit*
    - Unit*
    - Op
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: mcl::fp::fp_invMod
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const mcl::inv::InvModT<N>*>
    - fp_mul
    - mcl::inv::exec<N>
    linkageType: ''
    returnType: void
    signature: void fp_invMod(Unit *y, const Unit *x, const Op& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: mcl::fp::setSafe
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setSafe(T& x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: mcl::fp::set
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(Op&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Op
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: mcl::fp::set
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(Op& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::inv::init
      Src: /src/mcl/src/fp.cpp:234,1
    - Dst: reinterpret_cast<mcl::inv::InvModT<N>*>
      Src: /src/mcl/src/fp.cpp:234,1
    - Dst: get_add
      Src: /src/mcl/src/fp.cpp:244,1
    - Dst: get_sub
      Src: /src/mcl/src/fp.cpp:245,1
    - Dst: get_add
      Src: /src/mcl/src/fp.cpp:246,1
    - Dst: get_sub
      Src: /src/mcl/src/fp.cpp:247,1
    - Dst: get_mul
      Src: /src/mcl/src/fp.cpp:248,1
    - Dst: get_sqr
      Src: /src/mcl/src/fp.cpp:249,1
    - Dst: mcl::fp::setSafe
      Src: /src/mcl/src/fp.cpp:254,1
    - Dst: mcl::fp::get_llvm_fp_add
      Src: /src/mcl/src/fp.cpp:254,1
    - Dst: mcl::fp::setSafe
      Src: /src/mcl/src/fp.cpp:255,1
    - Dst: mcl::fp::get_llvm_fp_sub
      Src: /src/mcl/src/fp.cpp:255,1
    - Dst: mcl::fp::setSafe
      Src: /src/mcl/src/fp.cpp:259,1
    - Dst: mcl::fp::get_llvm_fp_addNF
      Src: /src/mcl/src/fp.cpp:259,1
    - Dst: mcl::fp::setSafe
      Src: /src/mcl/src/fp.cpp:260,1
    - Dst: mcl::fp::get_llvm_fp_subNF
      Src: /src/mcl/src/fp.cpp:260,1
    - Dst: mcl::fp::setSafe
      Src: /src/mcl/src/fp.cpp:267,1
    - Dst: mcl::fp::get_llvm_fp_mont
      Src: /src/mcl/src/fp.cpp:267,1
    - Dst: mcl::fp::setSafe
      Src: /src/mcl/src/fp.cpp:268,1
    - Dst: mcl::fp::get_llvm_fp_sqrMont
      Src: /src/mcl/src/fp.cpp:268,1
    - Dst: mcl::fp::setSafe
      Src: /src/mcl/src/fp.cpp:269,1
    - Dst: mcl::fp::get_llvm_fp_montRed
      Src: /src/mcl/src/fp.cpp:269,1
    - Dst: mcl::fp::setSafe
      Src: /src/mcl/src/fp.cpp:274,1
    - Dst: mcl::fp::get_llvm_fp_sqrMontNF
      Src: /src/mcl/src/fp.cpp:274,1
    - Dst: mcl::fp::setSafe
      Src: /src/mcl/src/fp.cpp:275,1
    - Dst: mcl::fp::get_llvm_fp_montNF
      Src: /src/mcl/src/fp.cpp:275,1
    - Dst: mcl::fp::setSafe
      Src: /src/mcl/src/fp.cpp:276,1
    - Dst: mcl::fp::get_llvm_fp_montRedNF
      Src: /src/mcl/src/fp.cpp:276,1
    - Dst: Botan_Tests::test_other_key_not_set
      Src: /src/mcl/src/fp.cpp:283,1
    - Dst: mcl::fp::setSafe
      Src: /src/mcl/src/fp.cpp:284,1
    - Dst: mcl::fp::get_llvm_fpDbl_add
      Src: /src/mcl/src/fp.cpp:284,1
    - Dst: mcl::fp::setSafe
      Src: /src/mcl/src/fp.cpp:285,1
    - Dst: mcl::fp::get_llvm_fpDbl_sub
      Src: /src/mcl/src/fp.cpp:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 53
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Op
    constantsTouched: []
    func_position:
      end: 286
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 286
    functionName: mcl::fp::setOp
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 0
    functionsReached:
    - mcl::fp::get_llvm_fp_sqrMontNF
    - mcl::fp::get_llvm_fp_montNF
    - mcl::fp::get_llvm_fp_montRed
    - mcl::fp::get_llvm_fp_add
    - get_sub
    - get_add
    - get_mul
    - mcl::fp::get_llvm_fpDbl_sub
    - reinterpret_cast<mcl::inv::InvModT<N>*>
    - mcl::fp::get_llvm_fp_mont
    - get_sqr
    - mcl::fp::get_llvm_fp_subNF
    - mcl::fp::setSafe
    - mcl::fp::get_llvm_fp_sub
    - mcl::fp::get_llvm_fpDbl_add
    - mcl::inv::init
    - mcl::fp::get_llvm_fp_sqrMont
    - mcl::fp::get_llvm_fp_montRedNF
    - Botan_Tests::test_other_key_not_set
    - mcl::fp::get_llvm_fp_addNF
    linkageType: ''
    returnType: void
    signature: void setOp(Op& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_mul
      Src: /src/mcl/src/fp.cpp:301,1
    - Dst: invTbl::data
      Src: /src/mcl/src/fp.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - y
    - x
    - ' op'
    argTypes:
    - Unit*
    - Unit*
    - Op
    constantsTouched: []
    func_position:
      end: 302
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 302
    functionName: mcl::fp::invOpForMontC
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 0
    functionsReached:
    - fp_mul
    - invTbl::data
    linkageType: ''
    returnType: void
    signature: void invOpForMontC(Unit *y, const Unit *x, const Op& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: invTbl::resize
      Src: /src/mcl/src/fp.cpp:309,1
    - Dst: invTbl::data
      Src: /src/mcl/src/fp.cpp:313,1
    - Dst: mcl::fp::toMont
      Src: /src/mcl/src/fp.cpp:314,1
    - Dst: fp_add
      Src: /src/mcl/src/fp.cpp:316,1
    - Dst: invTbl::data
      Src: /src/mcl/src/fp.cpp:324,1
    - Dst: memset
      Src: /src/mcl/src/fp.cpp:325,1
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/src/fp.cpp:329,1
    - Dst: assert
      Src: /src/mcl/src/fp.cpp:330,1
    - Dst: fp_mul
      Src: /src/mcl/src/fp.cpp:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Op
    constantsTouched: []
    func_position:
      end: 335
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 335
    functionName: mcl::fp::initInvTbl
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 0
    functionsReached:
    - fp_mul
    - fp_add
    - assert
    - invTbl::resize
    - mcl::fp::toMont
    - memset
    - mcl::gmp::getArray
    - invTbl::data
    linkageType: ''
    returnType: void
    signature: void initInvTbl(Op& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/src/fp.cpp:344,1
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/src/fp.cpp:348,1
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/src/fp.cpp:351,1
    - Dst: mcl::bint::getMontgomeryCoeff
      Src: /src/mcl/src/fp.cpp:354,1
    - Dst: mcl::fp::createFpGenerator
      Src: /src/mcl/src/fp.cpp:363,1
    - Dst: fg::init
      Src: /src/mcl/src/fp.cpp:364,1
    - Dst: mcl::fp::setStaticCode
      Src: /src/mcl/src/fp.cpp:370,1
    - Dst: mcl::fp::initInvTbl
      Src: /src/mcl/src/fp.cpp:376,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - ' op'
    - p
    - mode
    argTypes:
    - Op
    - Unit*
    - Mode
    constantsTouched: []
    func_position:
      end: 380
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 380
    functionName: mcl::fp::initForMont
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 0
    functionsReached:
    - fg::init
    - mcl::bint::getMontgomeryCoeff
    - mcl::gmp::getArray
    - mcl::fp::createFpGenerator
    - mcl::fp::setStaticCode
    - mcl::fp::initInvTbl
    linkageType: ''
    returnType: bool
    signature: bool initForMont(Op& op, const Unit *p, Mode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/src/fp.cpp:394,1
    - Dst: mcl::gmp::getUnitSize
      Src: /src/mcl/src/fp.cpp:396,1
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/src/fp.cpp:400,1
    - Dst: mcl::gmp::getBitSize
      Src: /src/mcl/src/fp.cpp:404,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/src/fp.cpp:405,1
    - Dst: isEnableJIT
      Src: /src/mcl/src/fp.cpp:419,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/src/fp.cpp:456,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/src/fp.cpp:459,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/src/fp.cpp:473,1
    - Dst: setOp<128/(MCL_SIZEOF_UNIT * 8)>
      Src: /src/mcl/src/fp.cpp:481,1
    - Dst: setOp<192/(MCL_SIZEOF_UNIT * 8)>
      Src: /src/mcl/src/fp.cpp:482,1
    - Dst: setOp<224/(MCL_SIZEOF_UNIT * 8)>
      Src: /src/mcl/src/fp.cpp:484,1
    - Dst: setOp<256/(MCL_SIZEOF_UNIT * 8)>
      Src: /src/mcl/src/fp.cpp:486,1
    - Dst: setOp<320/(MCL_SIZEOF_UNIT * 8)>
      Src: /src/mcl/src/fp.cpp:488,1
    - Dst: setOp<384/(MCL_SIZEOF_UNIT * 8)>
      Src: /src/mcl/src/fp.cpp:491,1
    - Dst: setOp<448/(MCL_SIZEOF_UNIT * 8)>
      Src: /src/mcl/src/fp.cpp:494,1
    - Dst: setOp<512/(MCL_SIZEOF_UNIT * 8)>
      Src: /src/mcl/src/fp.cpp:497,1
    - Dst: setOp<576/(MCL_SIZEOF_UNIT * 8)>
      Src: /src/mcl/src/fp.cpp:500,1
    - Dst: set
      Src: /src/mcl/src/fp.cpp:529,1
    - Dst: mcl::fp::Op::init
      Src: /src/mcl/src/fp.cpp:532,1
    - Dst: mcl::fp::Op::init
      Src: /src/mcl/src/fp.cpp:534,1
    - Dst: mcl::fp::initForMont
      Src: /src/mcl/src/fp.cpp:535,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 127
    argCount: 5
    argNames:
    - ' _p'
    - _u
    - _xi_a
    - tag
    - sizeofF
    argTypes:
    - mpz_class
    - int
    - int
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 536
      start: 382
    functionDepth: 3
    functionLinenumber: 382
    functionLinenumberEnd: 536
    functionName: mcl::fp::Op::init
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 1
    functionsReached:
    - setOp<384/(MCL_SIZEOF_UNIT * 8)>
    - clear
    - CYBOZU_NUM_OF_ARRAY
    - mcl::gmp::setStr
    - mcl::fp::initForMont
    - setOp<256/(MCL_SIZEOF_UNIT * 8)>
    - setOp<192/(MCL_SIZEOF_UNIT * 8)>
    - setOp<320/(MCL_SIZEOF_UNIT * 8)>
    - mcl::gmp::getUnit
    - setOp<448/(MCL_SIZEOF_UNIT * 8)>
    - isEnableJIT
    - set
    - setOp<128/(MCL_SIZEOF_UNIT * 8)>
    - setOp<512/(MCL_SIZEOF_UNIT * 8)>
    - mcl::gmp::getBitSize
    - mcl::fp::Op::init
    - mcl::gmp::getUnitSize
    - setOp<224/(MCL_SIZEOF_UNIT * 8)>
    - mcl::gmp::getArray
    - setOp<576/(MCL_SIZEOF_UNIT * 8)>
    linkageType: ''
    returnType: bool
    signature: bool Op::init(const mpz_class& _p, int _u, int _xi_a, int tag, size_t
      sizeofF)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/fp.cpp:540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pv
    - ' b'
    argTypes:
    - uint64_t*
    - fp::Block
    constantsTouched: []
    func_position:
      end: 551
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 551
    functionName: mcl::fp::isInUint64
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool isInUint64(uint64_t *pv, const fp::Block& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::isInUint64
      Src: /src/mcl/src/fp.cpp:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pb
    - ' b'
    argTypes:
    - bool*
    - fp::Block
    constantsTouched: []
    func_position:
      end: 562
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 562
    functionName: mcl::fp::getUint64
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 0
    functionsReached:
    - mcl::fp::isInUint64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getUint64(bool *pb, const fp::Block& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::cmpGeN
      Src: /src/mcl/src/fp.cpp:572,1
    - Dst: fp_neg
      Src: /src/mcl/src/fp.cpp:573,1
    - Dst: mcl::fp::isInUint64
      Src: /src/mcl/src/fp.cpp:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - pb
    - ' b'
    - ' op'
    argTypes:
    - bool*
    - fp::Block
    - fp::Op
    constantsTouched: []
    func_position:
      end: 596
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 596
    functionName: mcl::fp::getInt64
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 0
    functionsReached:
    - mcl::fp::isInUint64
    - mcl::bint::cmpGeN
    - fp_neg
    linkageType: ''
    returnType: int64_t
    signature: int64_t getInt64(bool *pb, fp::Block& b, const fp::Op& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::initForSecp256k1
      Src: /src/mcl/src/fp.cpp:614,1
    - Dst: mcl::EcT::setMulVecGLV
      Src: /src/mcl/src/fp.cpp:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 616
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 616
    functionName: mcl::initForSecp256k1
    functionSourceFile: /src/mcl/src/fp.cpp
    functionUses: 1
    functionsReached:
    - mcl::EcT::setMulVecGLV
    - mcl::initForSecp256k1
    linkageType: ''
    returnType: void
    signature: void initForSecp256k1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/conversion_impl.hpp:23,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - p
    - size
    - pb
    argTypes:
    - char*
    - size_t
    - bool*
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: mcl::fp::local::decToU32
    functionSourceFile: /src/mcl/src/conversion_impl.hpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t decToU32(const char *p, size_t size, bool *pb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/conversion_impl.hpp:39,1
    - Dst: mcl::fp::local::hexCharToUint8
      Src: /src/mcl/src/conversion_impl.hpp:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - px
    - p
    - size
    argTypes:
    - Unit*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: mcl::fp::local::hexToUint
    functionSourceFile: /src/mcl/src/conversion_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::local::hexCharToUint8
    - assert
    linkageType: ''
    returnType: bool
    signature: bool hexToUint(Unit *px, const char *p, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/conversion_impl.hpp:52,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/src/conversion_impl.hpp:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - px
    - p
    - size
    argTypes:
    - Unit*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: mcl::fp::local::binToUint
    functionSourceFile: /src/mcl/src/conversion_impl.hpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool binToUint(Unit *px, const char *p, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 5
    argNames:
    - readSize
    - isMinus
    - base
    - buf
    - bufSize
    argTypes:
    - size_t*
    - bool*
    - int*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 99
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 99
    functionName: mcl::fp::local::parsePrefix
    functionSourceFile: /src/mcl/src/conversion_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool parsePrefix(size_t *readSize, bool *isMinus, int *base, const
      char *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - v
    - _c
    argTypes:
    - uint8_t*
    - char
    constantsTouched: []
    func_position:
      end: 119
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 119
    functionName: mcl::fp::local::hexCharToUint8
    functionSourceFile: /src/mcl/src/conversion_impl.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hexCharToUint8(uint8_t *v, char _c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itohex
      Src: /src/mcl/src/conversion_impl.hpp:151,1
    - Dst: cybozu::itohex
      Src: /src/mcl/src/conversion_impl.hpp:153,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - buf
    - bufSize
    - x
    - n
    - withPrefix
    argTypes:
    - char*
    - size_t
    - Unit*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 156
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 156
    functionName: mcl::fp::arrayToHex
    functionSourceFile: /src/mcl/src/conversion_impl.hpp
    functionUses: 1
    functionsReached:
    - cybozu::itohex
    linkageType: ''
    returnType: size_t
    signature: size_t arrayToHex(char *buf, size_t bufSize, const Unit *x, size_t
      n, bool withPrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itobin
      Src: /src/mcl/src/conversion_impl.hpp:186,1
    - Dst: cybozu::itobin
      Src: /src/mcl/src/conversion_impl.hpp:188,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - buf
    - bufSize
    - x
    - n
    - withPrefix
    argTypes:
    - char*
    - size_t
    - Unit*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 191
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 191
    functionName: mcl::fp::arrayToBin
    functionSourceFile: /src/mcl/src/conversion_impl.hpp
    functionUses: 1
    functionsReached:
    - cybozu::itobin
    linkageType: ''
    returnType: size_t
    signature: size_t arrayToBin(char *buf, size_t bufSize, const Unit *x, size_t
      n, bool withPrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::local::hexToUint
      Src: /src/mcl/src/conversion_impl.hpp:206,1
    - Dst: mcl::fp::local::hexToUint
      Src: /src/mcl/src/conversion_impl.hpp:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - x
    - maxN
    - buf
    - bufSize
    argTypes:
    - Unit*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 212
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 212
    functionName: mcl::fp::hexToArray
    functionSourceFile: /src/mcl/src/conversion_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::local::hexToUint
    linkageType: ''
    returnType: size_t
    signature: size_t hexToArray(Unit *x, size_t maxN, const char *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::local::binToUint
      Src: /src/mcl/src/conversion_impl.hpp:226,1
    - Dst: mcl::fp::local::binToUint
      Src: /src/mcl/src/conversion_impl.hpp:229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - x
    - maxN
    - buf
    - bufSize
    argTypes:
    - Unit*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: mcl::fp::binToArray
    functionSourceFile: /src/mcl/src/conversion_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::local::binToUint
    linkageType: ''
    returnType: size_t
    signature: size_t binToArray(Unit *x, size_t maxN, const char *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/src/conversion_impl.hpp:241,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/src/conversion_impl.hpp:242,1
    - Dst: mcl::bint::divUnit
      Src: /src/mcl/src/conversion_impl.hpp:247,1
    - Dst: assert
      Src: /src/mcl/src/conversion_impl.hpp:251,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - buf
    - bufSize
    - x
    - xn
    argTypes:
    - char*
    - size_t
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 259
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 259
    functionName: mcl::fp::arrayToDec
    functionSourceFile: /src/mcl/src/conversion_impl.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_ALLOCA
    - mcl::bint::divUnit
    - assert
    - mcl::bint::copyN
    linkageType: ''
    returnType: size_t
    signature: size_t arrayToDec(char *buf, size_t bufSize, const Unit *x, size_t
      xn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::local::decToU32
      Src: /src/mcl/src/conversion_impl.hpp:276,1
    - Dst: mcl::bint::mulUnitNany
      Src: /src/mcl/src/conversion_impl.hpp:278,1
    - Dst: mcl::bint::addUnit
      Src: /src/mcl/src/conversion_impl.hpp:283,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - x
    - maxN
    - buf
    - bufSize
    argTypes:
    - Unit*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 292
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 292
    functionName: mcl::fp::decToArray
    functionSourceFile: /src/mcl/src/conversion_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::addUnit
    - mcl::bint::mulUnitNany
    - mcl::fp::local::decToU32
    linkageType: ''
    returnType: size_t
    signature: size_t decToArray(Unit *x, size_t maxN, const char *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::arrayToDec
      Src: /src/mcl/src/conversion_impl.hpp:303,1
    - Dst: mcl::fp::arrayToHex
      Src: /src/mcl/src/conversion_impl.hpp:305,1
    - Dst: mcl::fp::arrayToBin
      Src: /src/mcl/src/conversion_impl.hpp:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - buf
    - bufSize
    - x
    - n
    - base
    - withPrefix
    argTypes:
    - char*
    - size_t
    - Unit*
    - size_t
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 311
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 311
    functionName: mcl::fp::arrayToStr
    functionSourceFile: /src/mcl/src/conversion_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::arrayToBin
    - mcl::fp::arrayToDec
    - mcl::fp::arrayToHex
    linkageType: ''
    returnType: size_t
    signature: size_t arrayToStr(char *buf, size_t bufSize, const Unit *x, size_t
      n, int base, bool withPrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::local::parsePrefix
      Src: /src/mcl/src/conversion_impl.hpp:317,1
    - Dst: mcl::fp::decToArray
      Src: /src/mcl/src/conversion_impl.hpp:320,1
    - Dst: mcl::fp::hexToArray
      Src: /src/mcl/src/conversion_impl.hpp:322,1
    - Dst: mcl::fp::binToArray
      Src: /src/mcl/src/conversion_impl.hpp:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - pIsMinus
    - x
    - xN
    - buf
    - bufSize
    - ioMode
    argTypes:
    - bool*
    - Unit*
    - size_t
    - char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: mcl::fp::strToArray
    functionSourceFile: /src/mcl/src/conversion_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::decToArray
    - mcl::fp::hexToArray
    - mcl::fp::binToArray
    - mcl::fp::local::parsePrefix
    linkageType: ''
    returnType: size_t
    signature: size_t strToArray(bool *pIsMinus, Unit *x, size_t xN, const char *buf,
      size_t bufSize, int ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1
      start: 1
    functionDepth: 0
    functionLinenumber: 1
    functionLinenumberEnd: 1
    functionName: getVersionString
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *getVersionString() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opRM_I
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 2
    functionName: adc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 33
    functionsReached:
    - opRM_I
    linkageType: ''
    returnType: void
    signature: void adc(const Operand& op, uint32_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opRM_RM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:3,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 3
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 3
    functionName: adc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 33
    functionsReached:
    - opRM_RM
    linkageType: ''
    returnType: void
    signature: void adc(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:4,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg32e
    - Operand
    constantsTouched: []
    func_position:
      end: 4
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 4
    functionName: adcx
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 4
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void adcx(const Reg32e& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opRM_I
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:5,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 5
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 5
    functionName: add
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 282
    functionsReached:
    - opRM_I
    linkageType: ''
    returnType: void
    signature: void add(const Operand& op, uint32_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opRM_RM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 6
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 6
    functionName: add
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 282
    functionsReached:
    - opRM_RM
    linkageType: ''
    returnType: void
    signature: void add(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 7
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 7
    functionName: addpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void addpd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 8
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 8
    functionName: addps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void addps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 9
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 9
    functionName: addsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void addsd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 10
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 10
    functionName: addss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void addss(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 11
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 11
    functionName: addsubpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void addsubpd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: addsubps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void addsubps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg32e
    - Operand
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: adox
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 4
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void adox(const Reg32e& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: aesdec
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 6
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void aesdec(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: aesdeclast
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 6
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void aesdeclast(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: aesenc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 6
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void aesenc(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: aesenclast
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 6
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void aesenclast(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: aesimc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void aesimc(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: aeskeygenassist
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void aeskeygenassist(const Xmm& xmm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opRM_I
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: and_
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 4
    functionsReached:
    - opRM_I
    linkageType: ''
    returnType: void
    signature: void and_(const Operand& op, uint32_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opRM_RM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: and_
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 4
    functionsReached:
    - opRM_RM
    linkageType: ''
    returnType: void
    signature: void and_(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGpr
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' op'
    argTypes:
    - Reg32e
    - Reg32e
    - Operand
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: andn
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGpr
    linkageType: ''
    returnType: void
    signature: void andn(const Reg32e& r1, const Reg32e& r2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: andnpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void andnpd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: andnps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void andnps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: andpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void andpd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: andps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void andps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGpr
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' op'
    - ' r2'
    argTypes:
    - Reg32e
    - Operand
    - Reg32e
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: bextr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGpr
    linkageType: ''
    returnType: void
    signature: void bextr(const Reg32e& r1, const Operand& op, const Reg32e& r2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:28,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: blendpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void blendpd(const Xmm& xmm, const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:29,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: blendps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void blendps(const Xmm& xmm, const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: blendvpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void blendvpd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: blendvps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void blendvps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGpr
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:32,1
    - Dst: Reg32e
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:32,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg32e
    - Operand
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: blsi
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - getBit
    - opGpr
    - Reg32e
    linkageType: ''
    returnType: void
    signature: void blsi(const Reg32e& r, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGpr
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:33,1
    - Dst: Reg32e
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:33,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg32e
    - Operand
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: blsmsk
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - getBit
    - opGpr
    - Reg32e
    linkageType: ''
    returnType: void
    signature: void blsmsk(const Reg32e& r, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGpr
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:34,1
    - Dst: Reg32e
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:34,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg32e
    - Operand
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: blsr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - getBit
    - opGpr
    - Reg32e
    linkageType: ''
    returnType: void
    signature: void blsr(const Reg32e& r, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: bnd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void bnd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:36,1
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:36,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:36,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' bnd'
    - ' op'
    argTypes:
    - BoundsReg
    - Operand
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: bndcl
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - opR_ModM
    - db
    - getIdx
    linkageType: ''
    returnType: void
    signature: void bndcl(const BoundsReg& bnd, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:37,1
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:37,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:37,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' bnd'
    - ' op'
    argTypes:
    - BoundsReg
    - Operand
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: bndcn
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - opR_ModM
    - db
    - getIdx
    linkageType: ''
    returnType: void
    signature: void bndcn(const BoundsReg& bnd, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:38,1
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:38,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:38,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' bnd'
    - ' op'
    argTypes:
    - BoundsReg
    - Operand
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: bndcu
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - opR_ModM
    - db
    - getIdx
    linkageType: ''
    returnType: void
    signature: void bndcu(const BoundsReg& bnd, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMIB
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - ' addr'
    argTypes:
    - BoundsReg
    - Address
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: bndldx
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMIB
    linkageType: ''
    returnType: void
    signature: void bndldx(const BoundsReg& bnd, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:40,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' bnd'
    - ' addr'
    argTypes:
    - BoundsReg
    - Address
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: bndmk
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - db
    linkageType: ''
    returnType: void
    signature: void bndmk(const BoundsReg& bnd, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:41,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' addr'
    - ' bnd'
    argTypes:
    - Address
    - BoundsReg
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: bndmov
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - db
    linkageType: ''
    returnType: void
    signature: void bndmov(const Address& addr, const BoundsReg& bnd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:42,1
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:42,1
    - Dst: isBNDREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:42,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' bnd'
    - ' op'
    argTypes:
    - BoundsReg
    - Operand
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: bndmov
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isBNDREG
    - isMEM
    - db
    - opModRM
    linkageType: ''
    returnType: void
    signature: void bndmov(const BoundsReg& bnd, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMIB
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' bnd'
    argTypes:
    - Address
    - BoundsReg
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: bndstx
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMIB
    linkageType: ''
    returnType: void
    signature: void bndstx(const Address& addr, const BoundsReg& bnd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:44,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:44,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reg
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: bsf
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void bsf(const Reg&reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:45,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:45,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reg
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: bsr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void bsr(const Reg&reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModR
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:46,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg'
    argTypes:
    - Reg32e
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: bswap
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 9
    functionsReached:
    - Reg32
    - opModR
    linkageType: ''
    returnType: void
    signature: void bswap(const Reg32e& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:47,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:47,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:47,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:47,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' reg'
    argTypes:
    - Operand
    - Reg
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: bt
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - getBit
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void bt(const Operand& op, const Reg& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:48,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: bt
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    - db
    linkageType: ''
    returnType: void
    signature: void bt(const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:49,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:49,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:49,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:49,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' reg'
    argTypes:
    - Operand
    - Reg
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: btc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - getBit
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void btc(const Operand& op, const Reg& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:50,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: btc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    - db
    linkageType: ''
    returnType: void
    signature: void btc(const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:51,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:51,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:51,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:51,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' reg'
    argTypes:
    - Operand
    - Reg
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: btr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - getBit
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void btr(const Operand& op, const Reg& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:52,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: btr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    - db
    linkageType: ''
    returnType: void
    signature: void btr(const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:53,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:53,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:53,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:53,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' reg'
    argTypes:
    - Operand
    - Reg
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: bts
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - getBit
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void bts(const Operand& op, const Reg& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:54,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: bts
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    - db
    linkageType: ''
    returnType: void
    signature: void bts(const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGpr
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' op'
    - ' r2'
    argTypes:
    - Reg32e
    - Operand
    - Reg32e
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: bzhi
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGpr
    linkageType: ''
    returnType: void
    signature: void bzhi(const Reg32e& r1, const Operand& op, const Reg32e& r2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:56,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: cbw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void cbw()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: cdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void cdq()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: clc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void clc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: cld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void cld()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMIB
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: cldemote
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMIB
    linkageType: ''
    returnType: void
    signature: void cldemote(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:61,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: clflush
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Reg32
    - opModM
    linkageType: ''
    returnType: void
    signature: void clflush(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:62,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:62,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: clflushopt
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - Reg32
    - db
    linkageType: ''
    returnType: void
    signature: void clflushopt(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: cli
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void cli()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:64,1
    - Dst: opMIB
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: clwb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    - opMIB
    linkageType: ''
    returnType: void
    signature: void clwb(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:65,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:65,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: clzero
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void clzero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: cmc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void cmc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:67,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:67,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: cmova
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmova(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:68,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:68,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: cmovae
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovae(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:69,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:69,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: cmovb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovb(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:70,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:70,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: cmovbe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovbe(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:71,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:71,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: cmovc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 7
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovc(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:72,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:72,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: cmove
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmove(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:73,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:73,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: cmovg
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovg(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:74,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:74,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: cmovge
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovge(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:75,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:75,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: cmovl
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovl(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:76,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:76,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: cmovle
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovle(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:77,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:77,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: cmovna
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovna(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:78,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:78,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: cmovnae
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovnae(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:79,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:79,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: cmovnb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovnb(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:80,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:80,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: cmovnbe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovnbe(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:81,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:81,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: cmovnc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovnc(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:82,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:82,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: cmovne
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovne(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:83,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:83,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: cmovng
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovng(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:84,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:84,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: cmovnge
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovnge(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:85,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:85,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: cmovnl
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovnl(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:86,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:86,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: cmovnle
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovnle(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:87,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:87,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: cmovno
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovno(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:88,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:88,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: cmovnp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovnp(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:89,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:89,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: cmovns
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovns(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:90,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:90,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: cmovnz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovnz(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:91,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:91,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: cmovo
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovo(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:92,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:92,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: cmovp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovp(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:93,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:93,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: cmovpe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovpe(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:94,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:94,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: cmovpo
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovpo(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:95,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:95,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: cmovs
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovs(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:96,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:96,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: cmovz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - opModRM
    linkageType: ''
    returnType: void
    signature: void cmovz(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opRM_I
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: cmp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 32
    functionsReached:
    - opRM_I
    linkageType: ''
    returnType: void
    signature: void cmp(const Operand& op, uint32_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opRM_RM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: cmp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 32
    functionsReached:
    - opRM_RM
    linkageType: ''
    returnType: void
    signature: void cmp(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: cmpeqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmppd
    linkageType: ''
    returnType: void
    signature: void cmpeqpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: cmpeqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpps
    linkageType: ''
    returnType: void
    signature: void cmpeqps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: cmpeqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpsd
    linkageType: ''
    returnType: void
    signature: void cmpeqsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: cmpeqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpss
    linkageType: ''
    returnType: void
    signature: void cmpeqss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: cmplepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmppd
    linkageType: ''
    returnType: void
    signature: void cmplepd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: cmpleps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpps
    linkageType: ''
    returnType: void
    signature: void cmpleps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: cmplesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpsd
    linkageType: ''
    returnType: void
    signature: void cmplesd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: cmpless
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpss
    linkageType: ''
    returnType: void
    signature: void cmpless(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: cmpltpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmppd
    linkageType: ''
    returnType: void
    signature: void cmpltpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: cmpltps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpps
    linkageType: ''
    returnType: void
    signature: void cmpltps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: cmpltsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpsd
    linkageType: ''
    returnType: void
    signature: void cmpltsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: cmpltss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpss
    linkageType: ''
    returnType: void
    signature: void cmpltss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: cmpneqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmppd
    linkageType: ''
    returnType: void
    signature: void cmpneqpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: cmpneqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpps
    linkageType: ''
    returnType: void
    signature: void cmpneqps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: cmpneqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpsd
    linkageType: ''
    returnType: void
    signature: void cmpneqsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: cmpneqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpss
    linkageType: ''
    returnType: void
    signature: void cmpneqss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: cmpnlepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmppd
    linkageType: ''
    returnType: void
    signature: void cmpnlepd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: cmpnleps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpps
    linkageType: ''
    returnType: void
    signature: void cmpnleps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: cmpnlesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpsd
    linkageType: ''
    returnType: void
    signature: void cmpnlesd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: cmpnless
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpss
    linkageType: ''
    returnType: void
    signature: void cmpnless(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: cmpnltpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmppd
    linkageType: ''
    returnType: void
    signature: void cmpnltpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: cmpnltps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpps
    linkageType: ''
    returnType: void
    signature: void cmpnltps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: cmpnltsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpsd
    linkageType: ''
    returnType: void
    signature: void cmpnltsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: cmpnltss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpss
    linkageType: ''
    returnType: void
    signature: void cmpnltss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: cmpordpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmppd
    linkageType: ''
    returnType: void
    signature: void cmpordpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: cmpordps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpps
    linkageType: ''
    returnType: void
    signature: void cmpordps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: cmpordsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpsd
    linkageType: ''
    returnType: void
    signature: void cmpordsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: cmpordss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpss
    linkageType: ''
    returnType: void
    signature: void cmpordss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm8
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: cmppd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 7
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cmppd(const Xmm& xmm, const Operand& op, uint8_t imm8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm8
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: cmpps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 7
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cmpps(const Xmm& xmm, const Operand& op, uint8_t imm8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: cmpsb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void cmpsb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: cmpsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 7
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void cmpsd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm8
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: cmpsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 7
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cmpsd(const Xmm& xmm, const Operand& op, uint8_t imm8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm8
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: cmpss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 7
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cmpss(const Xmm& xmm, const Operand& op, uint8_t imm8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:133,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: cmpsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void cmpsw()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: cmpunordpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmppd
    linkageType: ''
    returnType: void
    signature: void cmpunordpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: cmpunordps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpps
    linkageType: ''
    returnType: void
    signature: void cmpunordps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: cmpunordsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpsd
    linkageType: ''
    returnType: void
    signature: void cmpunordsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: cmpunordss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cmpss
    linkageType: ''
    returnType: void
    signature: void cmpunordss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:138,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:138,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:138,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:138,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:138,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:138,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' reg'
    argTypes:
    - Operand
    - Reg
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: cmpxchg
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - opModRM
    - getBit
    - isBit
    - isREG
    linkageType: ''
    returnType: void
    signature: void cmpxchg(const Operand& op, const Reg& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:139,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: cmpxchg8b
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Reg32
    - opModM
    linkageType: ''
    returnType: void
    signature: void cmpxchg8b(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: comisd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void comisd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: comiss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void comiss(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:142,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: cpuid
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void cpuid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:143,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:143,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:143,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:143,1
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:143,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:143,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:143,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg32e
    - Operand
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: crc32
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - opModRM
    - isREG
    - db
    - isBit
    linkageType: ''
    returnType: void
    signature: void crc32(const Reg32e& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: cvtdq2pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvtdq2pd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: cvtdq2ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvtdq2ps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: cvtpd2dq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvtpd2dq(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: cvtpd2pi
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvtpd2pi(const Operand& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: cvtpd2ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvtpd2ps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: cvtpi2pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvtpi2pd(const Operand& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: cvtpi2ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvtpi2ps(const Operand& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: cvtps2dq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvtps2dq(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: cvtps2pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvtps2pd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: cvtps2pi
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvtps2pi(const Operand& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: cvtsd2si
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvtsd2si(const Operand& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: cvtsd2ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvtsd2ss(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: cvtsi2sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvtsi2sd(const Operand& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: cvtsi2ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvtsi2ss(const Operand& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: cvtss2sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvtss2sd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: cvtss2si
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvtss2si(const Operand& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: cvttpd2dq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvttpd2dq(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: cvttpd2pi
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvttpd2pi(const Operand& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: cvttps2dq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvttps2dq(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: cvttps2pi
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvttps2pi(const Operand& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: cvttsd2si
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvttsd2si(const Operand& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: cvttss2si
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void cvttss2si(const Operand& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:166,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: cwd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void cwd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: cwde
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void cwde()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opIncDec
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: dec
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 35
    functionsReached:
    - opIncDec
    linkageType: ''
    returnType: void
    signature: void dec(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: div
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 13
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void div(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: divpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void divpd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: divps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void divps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: divsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void divsd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: divss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void divss(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:174,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: dppd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void dppd(const Xmm& xmm, const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:175,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: dpps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void dpps(const Xmm& xmm, const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:176,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: emms
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void emms()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:177,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:177,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:177,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: endbr32
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void endbr32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:178,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:178,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:178,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: endbr64
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void endbr64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:179,1
    - Dst: dw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:179,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint16_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: enter
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - db
    - dw
    linkageType: ''
    returnType: void
    signature: void enter(uint16_t x, uint8_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opExt
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' op'
    - ' xmm'
    - imm
    argTypes:
    - Operand
    - Xmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: extractps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opExt
    linkageType: ''
    returnType: void
    signature: void extractps(const Operand& op, const Xmm& xmm, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:181,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: f2xm1
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void f2xm1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:182,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: fabs
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 5
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fabs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: fadd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fadd(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: fadd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fadd(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: fadd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fadd(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:186,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: faddp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void faddp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: faddp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void faddp(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: faddp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void faddp(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:189,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: fbld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Reg32
    - opModM
    linkageType: ''
    returnType: void
    signature: void fbld(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:190,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: fbstp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Reg32
    - opModM
    linkageType: ''
    returnType: void
    signature: void fbstp(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:191,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: fchs
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fchs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:192,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:192,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: fclex
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fclex()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: fcmovb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fcmovb(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: fcmovb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fcmovb(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: fcmovbe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fcmovbe(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: fcmovbe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fcmovbe(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: fcmove
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fcmove(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: fcmove
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fcmove(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: fcmovnb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fcmovnb(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: fcmovnb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fcmovnb(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: fcmovnbe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fcmovnbe(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: fcmovnbe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fcmovnbe(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: fcmovne
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fcmovne(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: fcmovne
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fcmovne(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: fcmovnu
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fcmovnu(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: fcmovnu
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fcmovnu(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: fcmovu
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fcmovu(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: fcmovu
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fcmovu(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:209,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: fcom
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fcom()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: fcom
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fcom(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: fcom
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpu
    linkageType: ''
    returnType: void
    signature: void fcom(const Fpu& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: fcomi
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fcomi(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: fcomi
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fcomi(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: fcomip
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fcomip(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: fcomip
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fcomip(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:216,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: fcomp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fcomp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: fcomp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fcomp(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: fcomp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpu
    linkageType: ''
    returnType: void
    signature: void fcomp(const Fpu& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:219,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: fcompp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fcompp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:220,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: fcos
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fcos()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:221,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: fdecstp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fdecstp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: fdiv
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fdiv(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: fdiv
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fdiv(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: fdiv
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fdiv(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:225,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: fdivp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fdivp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: fdivp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fdivp(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 227
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 227
    functionName: fdivp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fdivp(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 228
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 228
    functionName: fdivr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fdivr(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: fdivr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fdivr(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: fdivr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fdivr(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:231,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 231
    functionName: fdivrp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 3
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fdivrp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: fdivrp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 3
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fdivrp(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: fdivrp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 3
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fdivrp(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: ffree
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpu
    linkageType: ''
    returnType: void
    signature: void ffree(const Fpu& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: fiadd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fiadd(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: ficom
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void ficom(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: ficomp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void ficomp(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: fidiv
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fidiv(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: fidivr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fidivr(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: fild
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fild(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 241
    functionName: fimul
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fimul(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:242,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: fincstp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fincstp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:243,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:243,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: finit
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void finit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: fist
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fist(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 245
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 245
    functionName: fistp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fistp(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: fisttp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fisttp(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: fisub
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fisub(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 248
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 248
    functionName: fisubr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fisubr(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: fld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fld(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: fld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpu
    linkageType: ''
    returnType: void
    signature: void fld(const Fpu& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:251,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: fld1
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fld1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:252,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: fldcw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Reg32
    - opModM
    linkageType: ''
    returnType: void
    signature: void fldcw(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:253,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: fldenv
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Reg32
    - opModM
    linkageType: ''
    returnType: void
    signature: void fldenv(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:254,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: fldl2e
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fldl2e()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:255,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: fldl2t
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fldl2t()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:256,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: fldlg2
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fldlg2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:257,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: fldln2
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fldln2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:258,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: fldpi
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fldpi()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:259,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 259
    functionName: fldz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fldz()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: fmul
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 3
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fmul(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: fmul
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 3
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fmul(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: fmul
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 3
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fmul(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:263,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: fmulp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fmulp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: fmulp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fmulp(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: fmulp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fmulp(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:266,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: fnclex
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fnclex()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:267,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: fninit
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fninit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:268,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 268
    functionName: fnop
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fnop()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:269,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: fnsave
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Reg32
    - opModM
    linkageType: ''
    returnType: void
    signature: void fnsave(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:270,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: fnstcw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Reg32
    - opModM
    linkageType: ''
    returnType: void
    signature: void fnstcw(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:271,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: fnstenv
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Reg32
    - opModM
    linkageType: ''
    returnType: void
    signature: void fnstenv(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:272,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: fnstsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Reg32
    - opModM
    linkageType: ''
    returnType: void
    signature: void fnstsw(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:273,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:273,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:273,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - Reg16
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: fnstsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - getIdx
    - db
    linkageType: ''
    returnType: void
    signature: void fnstsw(const Reg16& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:274,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: fpatan
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fpatan()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:275,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: fprem
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fprem()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:276,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: fprem1
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fprem1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:277,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: fptan
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fptan()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:278,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: frndint
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void frndint()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:279,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: frstor
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Reg32
    - opModM
    linkageType: ''
    returnType: void
    signature: void frstor(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:280,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:280,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: fsave
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - Reg32
    - db
    linkageType: ''
    returnType: void
    signature: void fsave(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:281,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: fscale
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fscale()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:282,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: fsin
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fsin()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:283,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: fsincos
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fsincos()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:284,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: fsqrt
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fsqrt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: fst
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fst(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: fst
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpu
    linkageType: ''
    returnType: void
    signature: void fst(const Fpu& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:287,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:287,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: fstcw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - Reg32
    - db
    linkageType: ''
    returnType: void
    signature: void fstcw(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:288,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:288,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: fstenv
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - Reg32
    - db
    linkageType: ''
    returnType: void
    signature: void fstenv(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: fstp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fstp(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: fstp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpu
    linkageType: ''
    returnType: void
    signature: void fstp(const Fpu& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:291,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:291,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: fstsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - Reg32
    - db
    linkageType: ''
    returnType: void
    signature: void fstsw(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:292,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:292,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:292,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:292,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - Reg16
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: fstsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - getIdx
    - db
    linkageType: ''
    returnType: void
    signature: void fstsw(const Reg16& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: fsub
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fsub(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: fsub
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fsub(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: fsub
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fsub(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:296,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: fsubp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fsubp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: fsubp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fsubp(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: fsubp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fsubp(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuMem
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: fsubr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuMem
    linkageType: ''
    returnType: void
    signature: void fsubr(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: fsubr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fsubr(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: fsubr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fsubr(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:302,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: fsubrp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fsubrp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 303
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 303
    functionName: fsubrp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fsubrp(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: fsubrp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fsubrp(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:305,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: ftst
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void ftst()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:306,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: fucom
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fucom()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 307
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 307
    functionName: fucom
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpu
    linkageType: ''
    returnType: void
    signature: void fucom(const Fpu& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: fucomi
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fucomi(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: fucomi
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fucomi(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg1'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: fucomip
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fucomip(const Fpu& reg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpuFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Fpu
    - Fpu
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: fucomip
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpuFpu
    linkageType: ''
    returnType: void
    signature: void fucomip(const Fpu& reg1, const Fpu& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:312,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    functionName: fucomp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fucomp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: fucomp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpu
    linkageType: ''
    returnType: void
    signature: void fucomp(const Fpu& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:314,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: fucompp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fucompp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: fwait
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fwait()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:316,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: fxam
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fxam()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:317,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: fxch
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fxch()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opFpu
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reg'
    argTypes:
    - Fpu
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: fxch
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opFpu
    linkageType: ''
    returnType: void
    signature: void fxch(const Fpu& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:319,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: fxrstor
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Reg32
    - opModM
    linkageType: ''
    returnType: void
    signature: void fxrstor(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:320,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: fxtract
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fxtract()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:321,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: fyl2x
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fyl2x()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:322,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: fyl2xp1
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void fyl2xp1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:323,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: gf2p8affineinvqb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void gf2p8affineinvqb(const Xmm& xmm, const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:324,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: gf2p8affineqb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void gf2p8affineqb(const Xmm& xmm, const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: gf2p8mulb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void gf2p8mulb(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 326
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 326
    functionName: haddpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void haddpd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: haddps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void haddps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: hlt
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void hlt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: hsubpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void hsubpd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: hsubps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void hsubps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: idiv
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void idiv(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: imul
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void imul(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opInOut
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' d'
    argTypes:
    - Reg
    - Reg
    constantsTouched: []
    func_position:
      end: 333
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 333
    functionName: in_
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opInOut
    linkageType: ''
    returnType: void
    signature: void in_(const Reg& a, const Reg& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opInOut
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - v
    argTypes:
    - Reg
    - uint8_t
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: in_
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opInOut
    linkageType: ''
    returnType: void
    signature: void in_(const Reg& a, uint8_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opIncDec
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: inc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 3
    functionsReached:
    - opIncDec
    linkageType: ''
    returnType: void
    signature: void inc(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: insertps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void insertps(const Xmm& xmm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: int3
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void int3()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:338,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: int_
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void int_(uint8_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 339
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 339
    functionName: ja
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void ja(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ja
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:340,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: ja
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - std::string
    - ja
    linkageType: ''
    returnType: void
    signature: void ja(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: ja
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void ja(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: ja
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void ja(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: jae
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jae(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jae
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:344,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 344
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 344
    functionName: jae
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - jae
    - std::string
    linkageType: ''
    returnType: void
    signature: void jae(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: jae
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jae(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 346
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 346
    functionName: jae
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jae(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: jb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jb(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jb
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:348,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 348
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 348
    functionName: jb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - jb
    - std::string
    linkageType: ''
    returnType: void
    signature: void jb(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 349
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 349
    functionName: jb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jb(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 350
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 350
    functionName: jb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jb(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: jbe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jbe(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jbe
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:352,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: jbe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - std::string
    - jbe
    linkageType: ''
    returnType: void
    signature: void jbe(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: jbe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jbe(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 354
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 354
    functionName: jbe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jbe(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 355
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 355
    functionName: jc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jc(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jc
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:356,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 356
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 356
    functionName: jc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - std::string
    - jc
    linkageType: ''
    returnType: void
    signature: void jc(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: jc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jc(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: jc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jc(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: je
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void je(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: je
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:360,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: je
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - std::string
    - je
    linkageType: ''
    returnType: void
    signature: void je(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: je
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void je(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: je
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void je(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 363
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 363
    functionName: jg
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jg(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jg
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:364,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 364
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 364
    functionName: jg
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - std::string
    - jg
    linkageType: ''
    returnType: void
    signature: void jg(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: jg
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jg(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 366
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 366
    functionName: jg
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jg(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 367
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 367
    functionName: jge
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jge(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jge
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:368,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 368
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 368
    functionName: jge
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - jge
    - std::string
    linkageType: ''
    returnType: void
    signature: void jge(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 369
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 369
    functionName: jge
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jge(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: jge
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jge(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 371
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 371
    functionName: jl
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jl(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jl
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:372,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 372
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 372
    functionName: jl
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - std::string
    - jl
    linkageType: ''
    returnType: void
    signature: void jl(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 373
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 373
    functionName: jl
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jl(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 374
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 374
    functionName: jl
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jl(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 375
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 375
    functionName: jle
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jle(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jle
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:376,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 376
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 376
    functionName: jle
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - jle
    - std::string
    linkageType: ''
    returnType: void
    signature: void jle(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 377
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 377
    functionName: jle
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jle(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 378
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 378
    functionName: jle
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jle(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 379
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 379
    functionName: jna
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jna(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jna
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:380,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 380
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 380
    functionName: jna
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - std::string
    - jna
    linkageType: ''
    returnType: void
    signature: void jna(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 381
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 381
    functionName: jna
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jna(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 382
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 382
    functionName: jna
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jna(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 383
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 383
    functionName: jnae
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jnae(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jnae
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:384,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 384
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 384
    functionName: jnae
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - std::string
    - jnae
    linkageType: ''
    returnType: void
    signature: void jnae(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 385
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 385
    functionName: jnae
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jnae(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 386
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 386
    functionName: jnae
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jnae(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 387
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 387
    functionName: jnb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jnb(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jnb
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:388,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 388
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 388
    functionName: jnb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - jnb
    - std::string
    linkageType: ''
    returnType: void
    signature: void jnb(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 389
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 389
    functionName: jnb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jnb(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    functionName: jnb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jnb(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 391
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 391
    functionName: jnbe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jnbe(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jnbe
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:392,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 392
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 392
    functionName: jnbe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - jnbe
    - std::string
    linkageType: ''
    returnType: void
    signature: void jnbe(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 393
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 393
    functionName: jnbe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jnbe(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: jnbe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jnbe(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 395
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 395
    functionName: jnc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 3
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jnc(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jnc
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:396,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 396
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 396
    functionName: jnc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 4
    functionsReached:
    - std::string
    - jnc
    linkageType: ''
    returnType: void
    signature: void jnc(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 397
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 397
    functionName: jnc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 4
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jnc(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: jnc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 4
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jnc(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 399
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 399
    functionName: jne
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jne(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jne
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:400,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: jne
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - std::string
    - jne
    linkageType: ''
    returnType: void
    signature: void jne(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: jne
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jne(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 402
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 402
    functionName: jne
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jne(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 403
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 403
    functionName: jng
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jng(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jng
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:404,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 404
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 404
    functionName: jng
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - jng
    - std::string
    linkageType: ''
    returnType: void
    signature: void jng(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 405
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 405
    functionName: jng
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jng(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 406
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 406
    functionName: jng
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jng(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 407
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 407
    functionName: jnge
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jnge(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jnge
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:408,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 408
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 408
    functionName: jnge
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - std::string
    - jnge
    linkageType: ''
    returnType: void
    signature: void jnge(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 409
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 409
    functionName: jnge
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jnge(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    functionName: jnge
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jnge(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 411
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 411
    functionName: jnl
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jnl(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jnl
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:412,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: jnl
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - std::string
    - jnl
    linkageType: ''
    returnType: void
    signature: void jnl(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: jnl
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jnl(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 414
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 414
    functionName: jnl
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jnl(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: jnle
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jnle(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jnle
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:416,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 416
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 416
    functionName: jnle
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - std::string
    - jnle
    linkageType: ''
    returnType: void
    signature: void jnle(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 417
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 417
    functionName: jnle
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jnle(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 418
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 418
    functionName: jnle
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jnle(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 419
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 419
    functionName: jno
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jno(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jno
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:420,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 420
    functionName: jno
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - std::string
    - jno
    linkageType: ''
    returnType: void
    signature: void jno(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 421
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 421
    functionName: jno
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jno(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 422
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 422
    functionName: jno
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jno(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 423
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 423
    functionName: jnp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jnp(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jnp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:424,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 424
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 424
    functionName: jnp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - std::string
    - jnp
    linkageType: ''
    returnType: void
    signature: void jnp(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 425
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 425
    functionName: jnp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jnp(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 426
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 426
    functionName: jnp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jnp(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 427
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 427
    functionName: jns
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jns(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jns
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:428,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 428
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 428
    functionName: jns
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - jns
    - std::string
    linkageType: ''
    returnType: void
    signature: void jns(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 429
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 429
    functionName: jns
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jns(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 430
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 430
    functionName: jns
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jns(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 431
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 431
    functionName: jnz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 3
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jnz(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jnz
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:432,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: jnz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 4
    functionsReached:
    - std::string
    - jnz
    linkageType: ''
    returnType: void
    signature: void jnz(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 433
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 433
    functionName: jnz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 4
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jnz(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 434
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 434
    functionName: jnz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 4
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jnz(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 435
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 435
    functionName: jo
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jo(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jo
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:436,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 436
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 436
    functionName: jo
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - std::string
    - jo
    linkageType: ''
    returnType: void
    signature: void jo(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 437
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 437
    functionName: jo
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jo(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: jo
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jo(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: jp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jp(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:440,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 440
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 440
    functionName: jp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - std::string
    - jp
    linkageType: ''
    returnType: void
    signature: void jp(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 441
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 441
    functionName: jp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jp(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: jp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jp(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 443
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 443
    functionName: jpe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jpe(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jpe
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:444,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 444
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 444
    functionName: jpe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - jpe
    - std::string
    linkageType: ''
    returnType: void
    signature: void jpe(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 445
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 445
    functionName: jpe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jpe(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 446
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 446
    functionName: jpe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jpe(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 447
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 447
    functionName: jpo
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jpo(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jpo
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:448,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 448
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: jpo
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - jpo
    - std::string
    linkageType: ''
    returnType: void
    signature: void jpo(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 449
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 449
    functionName: jpo
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jpo(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 450
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 450
    functionName: jpo
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jpo(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 451
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 451
    functionName: js
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void js(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: js
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:452,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 452
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 452
    functionName: js
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - js
    - std::string
    linkageType: ''
    returnType: void
    signature: void js(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 453
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 453
    functionName: js
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void js(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: js
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void js(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 455
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 455
    functionName: jz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jz(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jz
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:456,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 456
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 456
    functionName: jz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 3
    functionsReached:
    - std::string
    - jz
    linkageType: ''
    returnType: void
    signature: void jz(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 457
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 457
    functionName: jz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 3
    functionsReached:
    - opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jz(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 458
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 458
    functionName: jz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 3
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jz(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: lahf
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void lahf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:460,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' xmm'
    - ' addr'
    argTypes:
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 460
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 460
    functionName: lddqu
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - db
    linkageType: ''
    returnType: void
    signature: void lddqu(const Xmm& xmm, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:461,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 461
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 461
    functionName: ldmxcsr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Reg32
    - opModM
    linkageType: ''
    returnType: void
    signature: void ldmxcsr(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:462,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:462,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' reg'
    - ' addr'
    argTypes:
    - Reg
    - Address
    constantsTouched: []
    func_position:
      end: 462
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 462
    functionName: lea
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 22
    functionsReached:
    - opModM
    - XBYAK_THROW
    - isBit
    linkageType: ''
    returnType: void
    signature: void lea(const Reg& reg, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 463
    functionName: leave
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void leave()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:464,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:464,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 464
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 464
    functionName: lfence
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void lfence()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opLoadSeg
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' addr'
    argTypes:
    - Reg
    - Address
    constantsTouched: []
    func_position:
      end: 465
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 465
    functionName: lfs
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opLoadSeg
    linkageType: ''
    returnType: void
    signature: void lfs(const Reg& reg, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opLoadSeg
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' addr'
    argTypes:
    - Reg
    - Address
    constantsTouched: []
    func_position:
      end: 466
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 466
    functionName: lgs
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opLoadSeg
    linkageType: ''
    returnType: void
    signature: void lgs(const Reg& reg, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 467
    functionName: lock
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 70
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 468
    functionName: lodsb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void lodsb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 469
    functionName: lodsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void lodsd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:470,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 470
    functionName: lodsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void lodsw()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 471
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 471
    functionName: loop
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void loop(const Label& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: loop
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:472,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: loop
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - loop
    - std::string
    linkageType: ''
    returnType: void
    signature: void loop(const char *label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: loop
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void loop(std::string label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: loope
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void loope(const Label& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: loope
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:475,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 475
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 475
    functionName: loope
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - std::string
    - loope
    linkageType: ''
    returnType: void
    signature: void loope(const char *label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 476
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 476
    functionName: loope
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void loope(std::string label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 477
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 477
    functionName: loopne
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void loopne(const Label& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: loopne
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:478,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 478
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 478
    functionName: loopne
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - loopne
    - std::string
    linkageType: ''
    returnType: void
    signature: void loopne(const char *label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 479
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 479
    functionName: loopne
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void loopne(std::string label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opLoadSeg
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' addr'
    argTypes:
    - Reg
    - Address
    constantsTouched: []
    func_position:
      end: 480
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 480
    functionName: lss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opLoadSeg
    linkageType: ''
    returnType: void
    signature: void lss(const Reg& reg, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opSp1
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reg
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 481
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 481
    functionName: lzcnt
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opSp1
    linkageType: ''
    returnType: void
    signature: void lzcnt(const Reg&reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:482,1
    - Dst: opModR
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Xmm
    - Xmm
    constantsTouched: []
    func_position:
      end: 482
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 482
    functionName: maskmovdqu
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    - opModR
    linkageType: ''
    returnType: void
    signature: void maskmovdqu(const Xmm& reg1, const Xmm& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:483,1
    - Dst: isMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:483,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:483,1
    - Dst: opModR
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Mmx
    - Mmx
    constantsTouched: []
    func_position:
      end: 483
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 483
    functionName: maskmovq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModR
    - XBYAK_THROW
    - isMMX
    linkageType: ''
    returnType: void
    signature: void maskmovq(const Mmx& reg1, const Mmx& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 484
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 484
    functionName: maxpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void maxpd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 485
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 485
    functionName: maxps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void maxps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 486
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 486
    functionName: maxsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void maxsd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: maxss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void maxss(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:488,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:488,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: mfence
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void mfence()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 489
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 489
    functionName: minpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void minpd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 490
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 490
    functionName: minps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void minps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 491
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 491
    functionName: minsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void minsd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 492
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 492
    functionName: minss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void minss(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:493,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:493,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 493
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 493
    functionName: monitor
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void monitor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:494,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:494,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 494
    functionName: monitorx
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void monitorx()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:495,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' addr'
    - ' xmm'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 495
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 495
    functionName: movapd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - db
    linkageType: ''
    returnType: void
    signature: void movapd(const Address& addr, const Xmm& xmm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 496
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 496
    functionName: movapd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void movapd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' xmm'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 497
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 497
    functionName: movaps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    linkageType: ''
    returnType: void
    signature: void movaps(const Address& addr, const Xmm& xmm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 498
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 498
    functionName: movaps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void movaps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' reg'
    argTypes:
    - Address
    - Reg
    constantsTouched: []
    func_position:
      end: 499
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 499
    functionName: movbe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    linkageType: ''
    returnType: void
    signature: void movbe(const Address& addr, const Reg& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' addr'
    argTypes:
    - Reg
    - Address
    constantsTouched: []
    func_position:
      end: 500
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 500
    functionName: movbe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    linkageType: ''
    returnType: void
    signature: void movbe(const Reg& reg, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:501,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:501,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' addr'
    - ' mmx'
    argTypes:
    - Address
    - Mmx
    constantsTouched: []
    func_position:
      end: 501
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 501
    functionName: movd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - db
    - isXMM
    linkageType: ''
    returnType: void
    signature: void movd(const Address& addr, const Mmx& mmx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:502,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:502,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' mmx'
    - ' addr'
    argTypes:
    - Mmx
    - Address
    constantsTouched: []
    func_position:
      end: 502
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 502
    functionName: movd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - db
    - isXMM
    linkageType: ''
    returnType: void
    signature: void movd(const Mmx& mmx, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:503,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:503,1
    - Dst: opModR
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' mmx'
    - ' reg'
    argTypes:
    - Mmx
    - Reg32
    constantsTouched: []
    func_position:
      end: 503
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 503
    functionName: movd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    - opModR
    - isXMM
    linkageType: ''
    returnType: void
    signature: void movd(const Mmx& mmx, const Reg32& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:504,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:504,1
    - Dst: opModR
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' reg'
    - ' mmx'
    argTypes:
    - Reg32
    - Mmx
    constantsTouched: []
    func_position:
      end: 504
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 504
    functionName: movd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    - opModR
    - isXMM
    linkageType: ''
    returnType: void
    signature: void movd(const Reg32& reg, const Mmx& mmx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 505
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 505
    functionName: movddup
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void movddup(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:506,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:506,1
    - Dst: cvt32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' reg'
    - ' addr'
    argTypes:
    - Reg
    - Address
    constantsTouched: []
    func_position:
      end: 506
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 506
    functionName: movdir64b
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - db
    - cvt32
    linkageType: ''
    returnType: void
    signature: void movdir64b(const Reg& reg, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' reg'
    argTypes:
    - Address
    - Reg32e
    constantsTouched: []
    func_position:
      end: 507
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 507
    functionName: movdiri
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    linkageType: ''
    returnType: void
    signature: void movdiri(const Address& addr, const Reg32e& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:508,1
    - Dst: opModR
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' mmx'
    - ' xmm'
    argTypes:
    - Mmx
    - Xmm
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    functionName: movdq2q
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    - opModR
    linkageType: ''
    returnType: void
    signature: void movdq2q(const Mmx& mmx, const Xmm& xmm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:509,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' addr'
    - ' xmm'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 509
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 509
    functionName: movdqa
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - db
    linkageType: ''
    returnType: void
    signature: void movdqa(const Address& addr, const Xmm& xmm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 510
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 510
    functionName: movdqa
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void movdqa(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:511,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' addr'
    - ' xmm'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 511
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 511
    functionName: movdqu
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - db
    linkageType: ''
    returnType: void
    signature: void movdqu(const Address& addr, const Xmm& xmm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 512
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 512
    functionName: movdqu
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void movdqu(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModR
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Xmm
    - Xmm
    constantsTouched: []
    func_position:
      end: 513
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 513
    functionName: movhlps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModR
    linkageType: ''
    returnType: void
    signature: void movhlps(const Xmm& reg1, const Xmm& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMovXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 514
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 514
    functionName: movhpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMovXMM
    linkageType: ''
    returnType: void
    signature: void movhpd(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMovXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 515
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 515
    functionName: movhps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMovXMM
    linkageType: ''
    returnType: void
    signature: void movhps(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModR
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Xmm
    - Xmm
    constantsTouched: []
    func_position:
      end: 516
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 516
    functionName: movlhps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModR
    linkageType: ''
    returnType: void
    signature: void movlhps(const Xmm& reg1, const Xmm& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMovXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: movlpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMovXMM
    linkageType: ''
    returnType: void
    signature: void movlpd(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMovXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 518
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 518
    functionName: movlps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMovXMM
    linkageType: ''
    returnType: void
    signature: void movlps(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:519,1
    - Dst: movmskps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' reg'
    - ' xmm'
    argTypes:
    - Reg32e
    - Xmm
    constantsTouched: []
    func_position:
      end: 519
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 519
    functionName: movmskpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    - movmskps
    linkageType: ''
    returnType: void
    signature: void movmskpd(const Reg32e& reg, const Xmm& xmm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModR
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' xmm'
    argTypes:
    - Reg32e
    - Xmm
    constantsTouched: []
    func_position:
      end: 520
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 520
    functionName: movmskps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opModR
    linkageType: ''
    returnType: void
    signature: void movmskps(const Reg32e& reg, const Xmm& xmm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:521,1
    - Dst: Reg16
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:521,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' reg'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 521
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 521
    functionName: movntdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - getIdx
    - Reg16
    linkageType: ''
    returnType: void
    signature: void movntdq(const Address& addr, const Xmm& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:522,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' xmm'
    - ' addr'
    argTypes:
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 522
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 522
    functionName: movntdqa
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - db
    linkageType: ''
    returnType: void
    signature: void movntdqa(const Xmm& xmm, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' reg'
    argTypes:
    - Address
    - Reg32e
    constantsTouched: []
    func_position:
      end: 523
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 523
    functionName: movnti
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    linkageType: ''
    returnType: void
    signature: void movnti(const Address& addr, const Reg32e& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:524,1
    - Dst: Reg16
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:524,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' reg'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 524
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 524
    functionName: movntpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - getIdx
    - Reg16
    linkageType: ''
    returnType: void
    signature: void movntpd(const Address& addr, const Xmm& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:525,1
    - Dst: Mmx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:525,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' xmm'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: movntps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - getIdx
    - Mmx
    linkageType: ''
    returnType: void
    signature: void movntps(const Address& addr, const Xmm& xmm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:526,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:526,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' addr'
    - ' mmx'
    argTypes:
    - Address
    - Mmx
    constantsTouched: []
    func_position:
      end: 526
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 526
    functionName: movntq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - XBYAK_THROW
    - isMMX
    linkageType: ''
    returnType: void
    signature: void movntq(const Address& addr, const Mmx& mmx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:527,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:527,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:527,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' addr'
    - ' mmx'
    argTypes:
    - Address
    - Mmx
    constantsTouched: []
    func_position:
      end: 527
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 527
    functionName: movq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 9
    functionsReached:
    - opModM
    - db
    - isXMM
    linkageType: ''
    returnType: void
    signature: void movq(const Address& addr, const Mmx& mmx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:528,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:528,1
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:528,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:528,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:528,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:528,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 528
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 528
    functionName: movq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 9
    functionsReached:
    - isMEM
    - opModRM
    - db
    - getKind
    - isXMM
    linkageType: ''
    returnType: void
    signature: void movq(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:529,1
    - Dst: opModR
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' xmm'
    - ' mmx'
    argTypes:
    - Xmm
    - Mmx
    constantsTouched: []
    func_position:
      end: 529
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 529
    functionName: movq2dq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    - opModR
    linkageType: ''
    returnType: void
    signature: void movq2dq(const Xmm& xmm, const Mmx& mmx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 530
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 530
    functionName: movsb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void movsb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 531
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 531
    functionName: movsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void movsd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:532,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' addr'
    - ' xmm'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 532
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 532
    functionName: movsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - db
    linkageType: ''
    returnType: void
    signature: void movsd(const Address& addr, const Xmm& xmm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 533
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 533
    functionName: movsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void movsd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 534
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 534
    functionName: movshdup
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void movshdup(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 535
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 535
    functionName: movsldup
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void movsldup(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:536,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' addr'
    - ' xmm'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 536
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 536
    functionName: movss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - db
    linkageType: ''
    returnType: void
    signature: void movss(const Address& addr, const Xmm& xmm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 537
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 537
    functionName: movss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void movss(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:538,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 538
    functionName: movsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void movsw()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMovxx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 539
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 539
    functionName: movsx
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMovxx
    linkageType: ''
    returnType: void
    signature: void movsx(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:540,1
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' addr'
    - ' xmm'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 540
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 540
    functionName: movupd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - db
    linkageType: ''
    returnType: void
    signature: void movupd(const Address& addr, const Xmm& xmm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 541
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 541
    functionName: movupd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void movupd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' xmm'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 542
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 542
    functionName: movups
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    linkageType: ''
    returnType: void
    signature: void movups(const Address& addr, const Xmm& xmm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 543
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 543
    functionName: movups
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void movups(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMovxx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 544
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 544
    functionName: movzx
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMovxx
    linkageType: ''
    returnType: void
    signature: void movzx(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:545,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 545
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 545
    functionName: mpsadbw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void mpsadbw(const Xmm& xmm, const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 546
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 546
    functionName: mul
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 331
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void mul(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 547
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 547
    functionName: mulpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void mulpd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 548
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 548
    functionName: mulps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void mulps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 549
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 549
    functionName: mulsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void mulsd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 550
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 550
    functionName: mulss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void mulss(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGpr
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' op'
    argTypes:
    - Reg32e
    - Reg32e
    - Operand
    constantsTouched: []
    func_position:
      end: 551
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 551
    functionName: mulx
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 16
    functionsReached:
    - opGpr
    linkageType: ''
    returnType: void
    signature: void mulx(const Reg32e& r1, const Reg32e& r2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:552,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:552,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 552
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 552
    functionName: mwait
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void mwait()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:553,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:553,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 553
    functionName: mwaitx
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void mwaitx()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 554
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 554
    functionName: neg
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 53
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void neg(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 555
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 555
    functionName: not_
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void not_(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opRM_I
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 556
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 556
    functionName: or_
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 17
    functionsReached:
    - opRM_I
    linkageType: ''
    returnType: void
    signature: void or_(const Operand& op, uint32_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opRM_RM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 557
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 557
    functionName: or_
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 17
    functionsReached:
    - opRM_RM
    linkageType: ''
    returnType: void
    signature: void or_(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 558
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 558
    functionName: orpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void orpd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 559
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 559
    functionName: orps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void orps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opInOut
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' d'
    - ' a'
    argTypes:
    - Reg
    - Reg
    constantsTouched: []
    func_position:
      end: 560
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 560
    functionName: out_
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opInOut
    linkageType: ''
    returnType: void
    signature: void out_(const Reg& d, const Reg& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opInOut
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - ' a'
    argTypes:
    - uint8_t
    - Reg
    constantsTouched: []
    func_position:
      end: 561
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 561
    functionName: out_
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opInOut
    linkageType: ''
    returnType: void
    signature: void out_(uint8_t v, const Reg& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 562
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 562
    functionName: outsb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void outsb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 563
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 563
    functionName: outsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void outsd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:564,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 564
    functionName: outsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void outsw()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: pabsb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pabsb(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 566
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 566
    functionName: pabsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pabsd(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 567
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 567
    functionName: pabsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pabsw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 568
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 568
    functionName: packssdw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void packssdw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 569
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 569
    functionName: packsswb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void packsswb(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 570
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 570
    functionName: packusdw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void packusdw(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 571
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 571
    functionName: packuswb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void packuswb(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 572
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 572
    functionName: paddb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void paddb(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 573
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 573
    functionName: paddd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void paddd(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 574
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 574
    functionName: paddq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 11
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void paddq(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 575
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 575
    functionName: paddsb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void paddsb(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: paddsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void paddsw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 577
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 577
    functionName: paddusb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void paddusb(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 578
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 578
    functionName: paddusw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void paddusw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 579
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 579
    functionName: paddw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void paddw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:580,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' mmx'
    - ' op'
    - imm
    argTypes:
    - Mmx
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 580
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 580
    functionName: palignr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void palignr(const Mmx& mmx, const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 581
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 581
    functionName: pand
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 48
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pand(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 582
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 582
    functionName: pandn
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pandn(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:583,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 583
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 583
    functionName: pause
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void pause()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 584
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 584
    functionName: pavgb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pavgb(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 585
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 585
    functionName: pavgw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pavgw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 586
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 586
    functionName: pblendvb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pblendvb(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:587,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 587
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 587
    functionName: pblendw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void pblendw(const Xmm& xmm, const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pclmulqdq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 588
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 588
    functionName: pclmulhqhdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - pclmulqdq
    linkageType: ''
    returnType: void
    signature: void pclmulhqhdq(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pclmulqdq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 589
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 589
    functionName: pclmulhqlqdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - pclmulqdq
    linkageType: ''
    returnType: void
    signature: void pclmulhqlqdq(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pclmulqdq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 590
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 590
    functionName: pclmullqhdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - pclmulqdq
    linkageType: ''
    returnType: void
    signature: void pclmullqhdq(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pclmulqdq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 591
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 591
    functionName: pclmullqlqdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - pclmulqdq
    linkageType: ''
    returnType: void
    signature: void pclmullqlqdq(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:592,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 592
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 592
    functionName: pclmulqdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 4
    functionsReached:
    - opGen
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void pclmulqdq(const Xmm& xmm, const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 593
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 593
    functionName: pcmpeqb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pcmpeqb(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 594
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 594
    functionName: pcmpeqd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pcmpeqd(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 595
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 595
    functionName: pcmpeqq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 4
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pcmpeqq(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 596
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 596
    functionName: pcmpeqw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pcmpeqw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 597
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 597
    functionName: pcmpestri
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pcmpestri(const Xmm& xmm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 598
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 598
    functionName: pcmpestrm
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pcmpestrm(const Xmm& xmm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 599
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 599
    functionName: pcmpgtb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pcmpgtb(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 600
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 600
    functionName: pcmpgtd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pcmpgtd(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 601
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 601
    functionName: pcmpgtq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 3
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pcmpgtq(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 602
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 602
    functionName: pcmpgtw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pcmpgtw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 603
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 603
    functionName: pcmpistri
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pcmpistri(const Xmm& xmm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 604
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 604
    functionName: pcmpistrm
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pcmpistrm(const Xmm& xmm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGpr
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' op'
    argTypes:
    - Reg32e
    - Reg32e
    - Operand
    constantsTouched: []
    func_position:
      end: 605
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 605
    functionName: pdep
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGpr
    linkageType: ''
    returnType: void
    signature: void pdep(const Reg32e& r1, const Reg32e& r2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGpr
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' op'
    argTypes:
    - Reg32e
    - Reg32e
    - Operand
    constantsTouched: []
    func_position:
      end: 606
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 606
    functionName: pext
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGpr
    linkageType: ''
    returnType: void
    signature: void pext(const Reg32e& r1, const Reg32e& r2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opExt
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' op'
    - ' xmm'
    - imm
    argTypes:
    - Operand
    - Xmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 607
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 607
    functionName: pextrb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opExt
    linkageType: ''
    returnType: void
    signature: void pextrb(const Operand& op, const Xmm& xmm, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opExt
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' op'
    - ' xmm'
    - imm
    argTypes:
    - Operand
    - Xmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 608
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 608
    functionName: pextrd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opExt
    linkageType: ''
    returnType: void
    signature: void pextrd(const Operand& op, const Xmm& xmm, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opExt
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' op'
    - ' xmm'
    - imm
    argTypes:
    - Operand
    - Mmx
    - uint8_t
    constantsTouched: []
    func_position:
      end: 609
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 609
    functionName: pextrw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opExt
    linkageType: ''
    returnType: void
    signature: void pextrw(const Operand& op, const Mmx& xmm, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 610
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 610
    functionName: phaddd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void phaddd(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 611
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 611
    functionName: phaddsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void phaddsw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 612
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 612
    functionName: phaddw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void phaddw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 613
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 613
    functionName: phminposuw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void phminposuw(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 614
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 614
    functionName: phsubd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void phsubd(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 615
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 615
    functionName: phsubsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void phsubsw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 616
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 616
    functionName: phsubw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void phsubw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 617
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 617
    functionName: pinsrb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pinsrb(const Xmm& xmm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 618
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 618
    functionName: pinsrd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pinsrd(const Xmm& xmm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:619,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:619,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:619,1
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:619,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ' mmx'
    - ' op'
    - imm
    argTypes:
    - Mmx
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 619
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 619
    functionName: pinsrw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - opGen
    - XBYAK_THROW
    - isREG
    - isXMM
    linkageType: ''
    returnType: void
    signature: void pinsrw(const Mmx& mmx, const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 620
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 620
    functionName: pmaddubsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pmaddubsw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 621
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 621
    functionName: pmaddwd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pmaddwd(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 622
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 622
    functionName: pmaxsb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pmaxsb(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 623
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 623
    functionName: pmaxsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pmaxsd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 624
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 624
    functionName: pmaxsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pmaxsw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 625
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 625
    functionName: pmaxub
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pmaxub(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 626
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 626
    functionName: pmaxud
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pmaxud(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 627
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 627
    functionName: pmaxuw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pmaxuw(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 628
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 628
    functionName: pminsb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pminsb(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 629
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 629
    functionName: pminsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pminsd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 630
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 630
    functionName: pminsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pminsw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 631
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 631
    functionName: pminub
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pminub(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 632
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 632
    functionName: pminud
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pminud(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 633
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 633
    functionName: pminuw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pminuw(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:634,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:634,1
    - Dst: opModR
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' reg'
    - ' mmx'
    argTypes:
    - Reg32e
    - Mmx
    constantsTouched: []
    func_position:
      end: 634
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 634
    functionName: pmovmskb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    - opModR
    - isXMM
    linkageType: ''
    returnType: void
    signature: void pmovmskb(const Reg32e& reg, const Mmx& mmx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 635
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 635
    functionName: pmovsxbd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pmovsxbd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 636
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 636
    functionName: pmovsxbq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pmovsxbq(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 637
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 637
    functionName: pmovsxbw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pmovsxbw(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 638
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 638
    functionName: pmovsxdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pmovsxdq(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 639
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 639
    functionName: pmovsxwd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pmovsxwd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 640
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 640
    functionName: pmovsxwq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pmovsxwq(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 641
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 641
    functionName: pmovzxbd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pmovzxbd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 642
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 642
    functionName: pmovzxbq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pmovzxbq(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 643
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 643
    functionName: pmovzxbw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pmovzxbw(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 644
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 644
    functionName: pmovzxdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pmovzxdq(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 645
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 645
    functionName: pmovzxwd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pmovzxwd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 646
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 646
    functionName: pmovzxwq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pmovzxwq(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 647
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 647
    functionName: pmuldq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pmuldq(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 648
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 648
    functionName: pmulhrsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pmulhrsw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 649
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 649
    functionName: pmulhuw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pmulhuw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 650
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 650
    functionName: pmulhw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pmulhw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 651
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 651
    functionName: pmulld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void pmulld(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 652
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 652
    functionName: pmullw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pmullw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 653
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 653
    functionName: pmuludq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pmuludq(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opSp1
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reg
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 654
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 654
    functionName: popcnt
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opSp1
    linkageType: ''
    returnType: void
    signature: void popcnt(const Reg&reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 655
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 655
    functionName: popf
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void popf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 656
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 656
    functionName: por
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void por(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:657,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 657
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 657
    functionName: prefetchnta
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Reg32
    - opModM
    linkageType: ''
    returnType: void
    signature: void prefetchnta(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:658,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 658
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 658
    functionName: prefetcht0
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Reg32
    - opModM
    linkageType: ''
    returnType: void
    signature: void prefetcht0(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:659,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 659
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 659
    functionName: prefetcht1
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Reg32
    - opModM
    linkageType: ''
    returnType: void
    signature: void prefetcht1(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:660,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 660
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 660
    functionName: prefetcht2
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Reg32
    - opModM
    linkageType: ''
    returnType: void
    signature: void prefetcht2(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:661,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 661
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 661
    functionName: prefetchw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Reg32
    - opModM
    linkageType: ''
    returnType: void
    signature: void prefetchw(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:662,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 662
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 662
    functionName: prefetchwt1
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Reg32
    - opModM
    linkageType: ''
    returnType: void
    signature: void prefetchwt1(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 663
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 663
    functionName: psadbw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void psadbw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 664
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 664
    functionName: pshufb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pshufb(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' mmx'
    - ' op'
    - imm8
    argTypes:
    - Mmx
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 665
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 665
    functionName: pshufd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pshufd(const Mmx& mmx, const Operand& op, uint8_t imm8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' mmx'
    - ' op'
    - imm8
    argTypes:
    - Mmx
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 666
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 666
    functionName: pshufhw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pshufhw(const Mmx& mmx, const Operand& op, uint8_t imm8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' mmx'
    - ' op'
    - imm8
    argTypes:
    - Mmx
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 667
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 667
    functionName: pshuflw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pshuflw(const Mmx& mmx, const Operand& op, uint8_t imm8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' mmx'
    - ' op'
    - imm8
    argTypes:
    - Mmx
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 668
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 668
    functionName: pshufw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pshufw(const Mmx& mmx, const Operand& op, uint8_t imm8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 669
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 669
    functionName: psignb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void psignb(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 670
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 670
    functionName: psignd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void psignd(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 671
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 671
    functionName: psignw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void psignw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 672
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 672
    functionName: pslld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pslld(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - imm8
    argTypes:
    - Mmx
    - int
    constantsTouched: []
    func_position:
      end: 673
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 673
    functionName: pslld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX_IMM
    linkageType: ''
    returnType: void
    signature: void pslld(const Mmx& mmx, int imm8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - imm8
    argTypes:
    - Xmm
    - int
    constantsTouched: []
    func_position:
      end: 674
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 674
    functionName: pslldq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX_IMM
    linkageType: ''
    returnType: void
    signature: void pslldq(const Xmm& xmm, int imm8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 675
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 675
    functionName: psllq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 5
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void psllq(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - imm8
    argTypes:
    - Mmx
    - int
    constantsTouched: []
    func_position:
      end: 676
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 676
    functionName: psllq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 5
    functionsReached:
    - opMMX_IMM
    linkageType: ''
    returnType: void
    signature: void psllq(const Mmx& mmx, int imm8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 677
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 677
    functionName: psllw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void psllw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - imm8
    argTypes:
    - Mmx
    - int
    constantsTouched: []
    func_position:
      end: 678
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 678
    functionName: psllw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX_IMM
    linkageType: ''
    returnType: void
    signature: void psllw(const Mmx& mmx, int imm8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 679
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 679
    functionName: psrad
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void psrad(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - imm8
    argTypes:
    - Mmx
    - int
    constantsTouched: []
    func_position:
      end: 680
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 680
    functionName: psrad
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX_IMM
    linkageType: ''
    returnType: void
    signature: void psrad(const Mmx& mmx, int imm8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 681
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 681
    functionName: psraw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void psraw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - imm8
    argTypes:
    - Mmx
    - int
    constantsTouched: []
    func_position:
      end: 682
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 682
    functionName: psraw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX_IMM
    linkageType: ''
    returnType: void
    signature: void psraw(const Mmx& mmx, int imm8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 683
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 683
    functionName: psrld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void psrld(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - imm8
    argTypes:
    - Mmx
    - int
    constantsTouched: []
    func_position:
      end: 684
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 684
    functionName: psrld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX_IMM
    linkageType: ''
    returnType: void
    signature: void psrld(const Mmx& mmx, int imm8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - imm8
    argTypes:
    - Xmm
    - int
    constantsTouched: []
    func_position:
      end: 685
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 685
    functionName: psrldq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX_IMM
    linkageType: ''
    returnType: void
    signature: void psrldq(const Xmm& xmm, int imm8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 686
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 686
    functionName: psrlq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 11
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void psrlq(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - imm8
    argTypes:
    - Mmx
    - int
    constantsTouched: []
    func_position:
      end: 687
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 687
    functionName: psrlq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 11
    functionsReached:
    - opMMX_IMM
    linkageType: ''
    returnType: void
    signature: void psrlq(const Mmx& mmx, int imm8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 688
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 688
    functionName: psrlw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void psrlw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - imm8
    argTypes:
    - Mmx
    - int
    constantsTouched: []
    func_position:
      end: 689
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 689
    functionName: psrlw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX_IMM
    linkageType: ''
    returnType: void
    signature: void psrlw(const Mmx& mmx, int imm8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 690
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 690
    functionName: psubb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void psubb(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 691
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 691
    functionName: psubd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void psubd(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 692
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 692
    functionName: psubq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 6
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void psubq(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 693
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 693
    functionName: psubsb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void psubsb(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 694
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 694
    functionName: psubsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void psubsw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 695
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 695
    functionName: psubusb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void psubusb(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 696
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 696
    functionName: psubusw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void psubusw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 697
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 697
    functionName: psubw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void psubw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 698
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 698
    functionName: ptest
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void ptest(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 699
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 699
    functionName: punpckhbw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void punpckhbw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 700
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 700
    functionName: punpckhdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void punpckhdq(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 701
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 701
    functionName: punpckhqdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void punpckhqdq(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 702
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 702
    functionName: punpckhwd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void punpckhwd(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 703
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 703
    functionName: punpcklbw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void punpcklbw(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 704
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 704
    functionName: punpckldq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void punpckldq(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 705
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 705
    functionName: punpcklqdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void punpcklqdq(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 706
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 706
    functionName: punpcklwd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void punpcklwd(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 707
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 707
    functionName: pushf
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void pushf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opMMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mmx'
    - ' op'
    argTypes:
    - Mmx
    - Operand
    constantsTouched: []
    func_position:
      end: 708
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 708
    functionName: pxor
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opMMX
    linkageType: ''
    returnType: void
    signature: void pxor(const Mmx& mmx, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opShift
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' _cl'
    argTypes:
    - Operand
    - Reg8
    constantsTouched: []
    func_position:
      end: 709
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 709
    functionName: rcl
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opShift
    linkageType: ''
    returnType: void
    signature: void rcl(const Operand& op, const Reg8& _cl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opShift
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 710
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 710
    functionName: rcl
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opShift
    linkageType: ''
    returnType: void
    signature: void rcl(const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 711
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 711
    functionName: rcpps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void rcpps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 712
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 712
    functionName: rcpss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void rcpss(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opShift
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' _cl'
    argTypes:
    - Operand
    - Reg8
    constantsTouched: []
    func_position:
      end: 713
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 713
    functionName: rcr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opShift
    linkageType: ''
    returnType: void
    signature: void rcr(const Operand& op, const Reg8& _cl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opShift
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 714
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 714
    functionName: rcr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opShift
    linkageType: ''
    returnType: void
    signature: void rcr(const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:715,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 715
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 715
    functionName: rdmsr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void rdmsr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:716,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 716
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 716
    functionName: rdpmc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void rdpmc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:717,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:717,1
    - Dst: opModR
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:717,1
    - Dst: Reg
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:717,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - Reg
    constantsTouched: []
    func_position:
      end: 717
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 717
    functionName: rdrand
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModR
    - getBit
    - XBYAK_THROW
    - Reg
    - isBit
    linkageType: ''
    returnType: void
    signature: void rdrand(const Reg& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:718,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:718,1
    - Dst: opModR
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:718,1
    - Dst: Reg
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:718,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:718,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - Reg
    constantsTouched: []
    func_position:
      end: 718
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 718
    functionName: rdseed
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opModR
    - getBit
    - XBYAK_THROW
    - Reg
    - isBit
    linkageType: ''
    returnType: void
    signature: void rdseed(const Reg& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:719,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 719
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 719
    functionName: rdtsc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void rdtsc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:720,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:720,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 720
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 720
    functionName: rdtscp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void rdtscp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 721
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 721
    functionName: rep
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 23
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void rep()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 722
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 722
    functionName: repe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void repe()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 723
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 723
    functionName: repne
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void repne()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 724
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 724
    functionName: repnz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void repnz()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 725
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 725
    functionName: repz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void repz()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:726,1
    - Dst: dw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:726,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 726
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 726
    functionName: ret
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 82
    functionsReached:
    - db
    - dw
    linkageType: ''
    returnType: void
    signature: void ret(int imm = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:727,1
    - Dst: dw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:727,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 727
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 727
    functionName: retf
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    - dw
    linkageType: ''
    returnType: void
    signature: void retf(int imm = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opShift
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' _cl'
    argTypes:
    - Operand
    - Reg8
    constantsTouched: []
    func_position:
      end: 728
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 728
    functionName: rol
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - opShift
    linkageType: ''
    returnType: void
    signature: void rol(const Operand& op, const Reg8& _cl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opShift
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 729
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 729
    functionName: rol
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - opShift
    linkageType: ''
    returnType: void
    signature: void rol(const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opShift
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' _cl'
    argTypes:
    - Operand
    - Reg8
    constantsTouched: []
    func_position:
      end: 730
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 730
    functionName: ror
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 607
    functionsReached:
    - opShift
    linkageType: ''
    returnType: void
    signature: void ror(const Operand& op, const Reg8& _cl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opShift
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 731
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 731
    functionName: ror
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 607
    functionsReached:
    - opShift
    linkageType: ''
    returnType: void
    signature: void ror(const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGpr
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:732,1
    - Dst: Reg32e
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:732,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r'
    - ' op'
    - imm
    argTypes:
    - Reg32e
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 732
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 732
    functionName: rorx
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - getBit
    - opGpr
    - Reg32e
    linkageType: ''
    returnType: void
    signature: void rorx(const Reg32e& r, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 733
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 733
    functionName: roundpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void roundpd(const Xmm& xmm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 734
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 734
    functionName: roundps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void roundps(const Xmm& xmm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:735,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 735
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 735
    functionName: roundsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void roundsd(const Xmm& xmm, const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:736,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 736
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 736
    functionName: roundss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void roundss(const Xmm& xmm, const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 737
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 737
    functionName: rsqrtps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void rsqrtps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 738
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 738
    functionName: rsqrtss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void rsqrtss(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 739
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 739
    functionName: sahf
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void sahf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opShift
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' _cl'
    argTypes:
    - Operand
    - Reg8
    constantsTouched: []
    func_position:
      end: 740
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 740
    functionName: sal
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opShift
    linkageType: ''
    returnType: void
    signature: void sal(const Operand& op, const Reg8& _cl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opShift
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 741
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 741
    functionName: sal
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opShift
    linkageType: ''
    returnType: void
    signature: void sal(const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opShift
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' _cl'
    argTypes:
    - Operand
    - Reg8
    constantsTouched: []
    func_position:
      end: 742
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 742
    functionName: sar
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opShift
    linkageType: ''
    returnType: void
    signature: void sar(const Operand& op, const Reg8& _cl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opShift
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 743
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 743
    functionName: sar
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opShift
    linkageType: ''
    returnType: void
    signature: void sar(const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGpr
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' op'
    - ' r2'
    argTypes:
    - Reg32e
    - Operand
    - Reg32e
    constantsTouched: []
    func_position:
      end: 744
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 744
    functionName: sarx
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGpr
    linkageType: ''
    returnType: void
    signature: void sarx(const Reg32e& r1, const Operand& op, const Reg32e& r2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opRM_I
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 745
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 745
    functionName: sbb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 15
    functionsReached:
    - opRM_I
    linkageType: ''
    returnType: void
    signature: void sbb(const Operand& op, uint32_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opRM_RM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 746
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 746
    functionName: sbb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 15
    functionsReached:
    - opRM_RM
    linkageType: ''
    returnType: void
    signature: void sbb(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 747
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 747
    functionName: scasb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void scasb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 748
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 748
    functionName: scasd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void scasd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:749,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 749
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 749
    functionName: scasw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void scasw()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 750
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 750
    functionName: seta
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void seta(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 751
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 751
    functionName: setae
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setae(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 752
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 752
    functionName: setb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setb(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 753
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 753
    functionName: setbe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setbe(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 754
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 754
    functionName: setc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 4
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setc(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 755
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 755
    functionName: sete
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void sete(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 756
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 756
    functionName: setg
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setg(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 757
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 757
    functionName: setge
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setge(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 758
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 758
    functionName: setl
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setl(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 759
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 759
    functionName: setle
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setle(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 760
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 760
    functionName: setna
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setna(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 761
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 761
    functionName: setnae
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setnae(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 762
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 762
    functionName: setnb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setnb(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 763
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 763
    functionName: setnbe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setnbe(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 764
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 764
    functionName: setnc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setnc(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 765
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 765
    functionName: setne
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setne(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 766
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 766
    functionName: setng
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setng(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 767
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 767
    functionName: setnge
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setnge(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 768
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 768
    functionName: setnl
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setnl(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 769
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 769
    functionName: setnle
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setnle(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 770
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 770
    functionName: setno
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setno(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 771
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 771
    functionName: setnp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setnp(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 772
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 772
    functionName: setns
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setns(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 773
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 773
    functionName: setnz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setnz(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 774
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 774
    functionName: seto
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void seto(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 775
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 775
    functionName: setp
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setp(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 776
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 776
    functionName: setpe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setpe(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 777
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 777
    functionName: setpo
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setpo(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 778
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 778
    functionName: sets
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void sets(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opR_ModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 779
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 779
    functionName: setz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opR_ModM
    linkageType: ''
    returnType: void
    signature: void setz(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:780,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:780,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 780
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 780
    functionName: sfence
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void sfence()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 781
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 781
    functionName: sha1msg1
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void sha1msg1(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 782
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 782
    functionName: sha1msg2
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void sha1msg2(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 783
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 783
    functionName: sha1nexte
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void sha1nexte(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 784
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 784
    functionName: sha1rnds4
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void sha1rnds4(const Xmm& xmm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 785
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 785
    functionName: sha256msg1
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void sha256msg1(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 786
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 786
    functionName: sha256msg2
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void sha256msg2(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 787
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 787
    functionName: sha256rnds2
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void sha256rnds2(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opShift
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' _cl'
    argTypes:
    - Operand
    - Reg8
    constantsTouched: []
    func_position:
      end: 788
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 788
    functionName: shl
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 25
    functionsReached:
    - opShift
    linkageType: ''
    returnType: void
    signature: void shl(const Operand& op, const Reg8& _cl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opShift
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 789
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 789
    functionName: shl
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 25
    functionsReached:
    - opShift
    linkageType: ''
    returnType: void
    signature: void shl(const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opShxd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' op'
    - ' reg'
    - ' _cl'
    argTypes:
    - Operand
    - Reg
    - Reg8
    constantsTouched: []
    func_position:
      end: 790
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 790
    functionName: shld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opShxd
    linkageType: ''
    returnType: void
    signature: void shld(const Operand& op, const Reg& reg, const Reg8& _cl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opShxd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' op'
    - ' reg'
    - imm
    argTypes:
    - Operand
    - Reg
    - uint8_t
    constantsTouched: []
    func_position:
      end: 791
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 791
    functionName: shld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opShxd
    linkageType: ''
    returnType: void
    signature: void shld(const Operand& op, const Reg& reg, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGpr
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' op'
    - ' r2'
    argTypes:
    - Reg32e
    - Operand
    - Reg32e
    constantsTouched: []
    func_position:
      end: 792
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 792
    functionName: shlx
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGpr
    linkageType: ''
    returnType: void
    signature: void shlx(const Reg32e& r1, const Operand& op, const Reg32e& r2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opShift
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' _cl'
    argTypes:
    - Operand
    - Reg8
    constantsTouched: []
    func_position:
      end: 793
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 793
    functionName: shr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 44
    functionsReached:
    - opShift
    linkageType: ''
    returnType: void
    signature: void shr(const Operand& op, const Reg8& _cl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opShift
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 794
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 794
    functionName: shr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 44
    functionsReached:
    - opShift
    linkageType: ''
    returnType: void
    signature: void shr(const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opShxd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' op'
    - ' reg'
    - ' _cl'
    argTypes:
    - Operand
    - Reg
    - Reg8
    constantsTouched: []
    func_position:
      end: 795
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 795
    functionName: shrd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 3
    functionsReached:
    - opShxd
    linkageType: ''
    returnType: void
    signature: void shrd(const Operand& op, const Reg& reg, const Reg8& _cl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opShxd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' op'
    - ' reg'
    - imm
    argTypes:
    - Operand
    - Reg
    - uint8_t
    constantsTouched: []
    func_position:
      end: 796
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 796
    functionName: shrd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 3
    functionsReached:
    - opShxd
    linkageType: ''
    returnType: void
    signature: void shrd(const Operand& op, const Reg& reg, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGpr
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' op'
    - ' r2'
    argTypes:
    - Reg32e
    - Operand
    - Reg32e
    constantsTouched: []
    func_position:
      end: 797
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 797
    functionName: shrx
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGpr
    linkageType: ''
    returnType: void
    signature: void shrx(const Reg32e& r1, const Operand& op, const Reg32e& r2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm8
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 798
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 798
    functionName: shufpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void shufpd(const Xmm& xmm, const Operand& op, uint8_t imm8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm8
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 799
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 799
    functionName: shufps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void shufps(const Xmm& xmm, const Operand& op, uint8_t imm8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 800
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 800
    functionName: sqrtpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void sqrtpd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 801
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 801
    functionName: sqrtps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void sqrtps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 802
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 802
    functionName: sqrtsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void sqrtsd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 803
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 803
    functionName: sqrtss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void sqrtss(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:804,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:804,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 804
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 804
    functionName: stac
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void stac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 805
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 805
    functionName: stc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void stc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 806
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 806
    functionName: std
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void std()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 807
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 807
    functionName: sti
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void sti()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:808,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 808
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 808
    functionName: stmxcsr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Reg32
    - opModM
    linkageType: ''
    returnType: void
    signature: void stmxcsr(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 809
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 809
    functionName: stosb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void stosb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 810
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 810
    functionName: stosd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void stosd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:811,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 811
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 811
    functionName: stosw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void stosw()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opRM_I
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: sub
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 171
    functionsReached:
    - opRM_I
    linkageType: ''
    returnType: void
    signature: void sub(const Operand& op, uint32_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opRM_RM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 813
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 813
    functionName: sub
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 171
    functionsReached:
    - opRM_RM
    linkageType: ''
    returnType: void
    signature: void sub(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 814
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 814
    functionName: subpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void subpd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 815
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 815
    functionName: subps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void subps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 816
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 816
    functionName: subsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void subsd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 817
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 817
    functionName: subss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void subss(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:818,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 818
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 818
    functionName: sysenter
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void sysenter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:819,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 819
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 819
    functionName: sysexit
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void sysexit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:820,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:820,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:820,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:820,1
    - Dst: setModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - Reg32
    constantsTouched: []
    func_position:
      end: 820
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 820
    functionName: tpause
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - setModRM
    - XBYAK_THROW
    - db
    linkageType: ''
    returnType: void
    signature: void tpause(const Reg32& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opSp1
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reg
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 821
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 821
    functionName: tzcnt
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opSp1
    linkageType: ''
    returnType: void
    signature: void tzcnt(const Reg&reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 822
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 822
    functionName: ucomisd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void ucomisd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 823
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 823
    functionName: ucomiss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void ucomiss(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:824,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 824
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 824
    functionName: ud2
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void ud2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:825,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:825,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:825,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:825,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:825,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:825,1
    - Dst: setModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:825,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - Reg
    constantsTouched: []
    func_position:
      end: 825
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 825
    functionName: umonitor
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - setModRM
    - XBYAK_THROW
    - db
    linkageType: ''
    returnType: void
    signature: void umonitor(const Reg& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:826,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:826,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:826,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:826,1
    - Dst: setModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:826,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - Reg32
    constantsTouched: []
    func_position:
      end: 826
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 826
    functionName: umwait
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - setModRM
    - XBYAK_THROW
    - db
    linkageType: ''
    returnType: void
    signature: void umwait(const Reg32& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 827
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 827
    functionName: unpckhpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void unpckhpd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 828
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 828
    functionName: unpckhps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void unpckhps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 829
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 829
    functionName: unpcklpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void unpcklpd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 830
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 830
    functionName: unpcklps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void unpcklps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:831,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 831
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 831
    functionName: vaddpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vaddpd(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:832,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 832
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 832
    functionName: vaddps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vaddps(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:833,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 833
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 833
    functionName: vaddsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vaddsd(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:834,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 834
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 834
    functionName: vaddss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vaddss(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:835,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 835
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 835
    functionName: vaddsubpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vaddsubpd(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:836,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 836
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 836
    functionName: vaddsubps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vaddsubps(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:837,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 837
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 837
    functionName: vaesdec
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vaesdec(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:838,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 838
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 838
    functionName: vaesdeclast
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vaesdeclast(const Xmm& xmm, const Operand& op1, const Operand&
      op2 = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:839,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 839
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 839
    functionName: vaesenc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vaesenc(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:840,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 840
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 840
    functionName: vaesenclast
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vaesenclast(const Xmm& xmm, const Operand& op1, const Operand&
      op2 = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 841
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 841
    functionName: vaesimc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vaesimc(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 842
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 842
    functionName: vaeskeygenassist
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vaeskeygenassist(const Xmm& xm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:843,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 843
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 843
    functionName: vandnpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vandnpd(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:844,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 844
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 844
    functionName: vandnps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vandnps(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:845,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 845
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 845
    functionName: vandpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vandpd(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:846,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 846
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 846
    functionName: vandps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vandps(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 847
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 847
    functionName: vblendpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vblendpd(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 848
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 848
    functionName: vblendps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vblendps(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:849,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - ' x4'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 849
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 849
    functionName: vblendvpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - getIdx
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vblendvpd(const Xmm& x1, const Xmm& x2, const Operand& op, const
      Xmm& x4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:850,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - ' x4'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 850
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 850
    functionName: vblendvps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - getIdx
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vblendvps(const Xmm& x1, const Xmm& x2, const Operand& op, const
      Xmm& x4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' addr'
    argTypes:
    - Ymm
    - Address
    constantsTouched: []
    func_position:
      end: 851
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 851
    functionName: vbroadcastf128
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vbroadcastf128(const Ymm& y, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' addr'
    argTypes:
    - Ymm
    - Address
    constantsTouched: []
    func_position:
      end: 852
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 852
    functionName: vbroadcasti128
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vbroadcasti128(const Ymm& y, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:853,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:853,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:853,1
    - Dst: isZMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:853,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:853,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:853,1
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:853,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - ' y'
    - ' op'
    argTypes:
    - Ymm
    - Operand
    constantsTouched: []
    func_position:
      end: 853
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 853
    functionName: vbroadcastsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - isYMM
    - opAVX_X_XM_IMM
    - isZMM
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vbroadcastsd(const Ymm& y, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:854,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:854,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:854,1
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 854
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 854
    functionName: vbroadcastss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opAVX_X_XM_IMM
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vbroadcastss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 855
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 855
    functionName: vcmpeq_ospd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpeq_ospd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 856
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 856
    functionName: vcmpeq_osps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpeq_osps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 857
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 857
    functionName: vcmpeq_ossd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpeq_ossd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 858
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 858
    functionName: vcmpeq_osss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpeq_osss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 859
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 859
    functionName: vcmpeq_uqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpeq_uqpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 860
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 860
    functionName: vcmpeq_uqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpeq_uqps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 861
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 861
    functionName: vcmpeq_uqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpeq_uqsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 862
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 862
    functionName: vcmpeq_uqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpeq_uqss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 863
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 863
    functionName: vcmpeq_uspd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpeq_uspd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 864
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 864
    functionName: vcmpeq_usps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpeq_usps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 865
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 865
    functionName: vcmpeq_ussd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpeq_ussd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 866
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 866
    functionName: vcmpeq_usss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpeq_usss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 867
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 867
    functionName: vcmpeqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpeqpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 868
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 868
    functionName: vcmpeqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpeqps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 869
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 869
    functionName: vcmpeqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpeqsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 870
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 870
    functionName: vcmpeqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpeqss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 871
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 871
    functionName: vcmpfalse_ospd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpfalse_ospd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 872
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 872
    functionName: vcmpfalse_osps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpfalse_osps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 873
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 873
    functionName: vcmpfalse_ossd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpfalse_ossd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 874
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 874
    functionName: vcmpfalse_osss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpfalse_osss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 875
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 875
    functionName: vcmpfalsepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpfalsepd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 876
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 876
    functionName: vcmpfalseps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpfalseps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 877
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 877
    functionName: vcmpfalsesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpfalsesd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 878
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 878
    functionName: vcmpfalsess
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpfalsess(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 879
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 879
    functionName: vcmpge_oqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpge_oqpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 880
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 880
    functionName: vcmpge_oqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpge_oqps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 881
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 881
    functionName: vcmpge_oqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpge_oqsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 882
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 882
    functionName: vcmpge_oqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpge_oqss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 883
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 883
    functionName: vcmpgepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpgepd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 884
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 884
    functionName: vcmpgeps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpgeps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 885
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 885
    functionName: vcmpgesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpgesd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 886
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 886
    functionName: vcmpgess
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpgess(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 887
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 887
    functionName: vcmpgt_oqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpgt_oqpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 888
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 888
    functionName: vcmpgt_oqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpgt_oqps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 889
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 889
    functionName: vcmpgt_oqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpgt_oqsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 890
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 890
    functionName: vcmpgt_oqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpgt_oqss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 891
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 891
    functionName: vcmpgtpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpgtpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 892
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 892
    functionName: vcmpgtps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpgtps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 893
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 893
    functionName: vcmpgtsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpgtsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 894
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 894
    functionName: vcmpgtss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpgtss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 895
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 895
    functionName: vcmple_oqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmple_oqpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 896
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 896
    functionName: vcmple_oqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmple_oqps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 897
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 897
    functionName: vcmple_oqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmple_oqsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 898
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 898
    functionName: vcmple_oqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmple_oqss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 899
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 899
    functionName: vcmplepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmplepd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 900
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 900
    functionName: vcmpleps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpleps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 901
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 901
    functionName: vcmplesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmplesd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 902
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 902
    functionName: vcmpless
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpless(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 903
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 903
    functionName: vcmplt_oqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmplt_oqpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 904
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 904
    functionName: vcmplt_oqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmplt_oqps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 905
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 905
    functionName: vcmplt_oqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmplt_oqsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 906
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 906
    functionName: vcmplt_oqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmplt_oqss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 907
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 907
    functionName: vcmpltpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpltpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 908
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 908
    functionName: vcmpltps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpltps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 909
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 909
    functionName: vcmpltsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpltsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 910
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 910
    functionName: vcmpltss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpltss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 911
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 911
    functionName: vcmpneq_oqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpneq_oqpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 912
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 912
    functionName: vcmpneq_oqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpneq_oqps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 913
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 913
    functionName: vcmpneq_oqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpneq_oqsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 914
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 914
    functionName: vcmpneq_oqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpneq_oqss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 915
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 915
    functionName: vcmpneq_ospd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpneq_ospd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 916
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 916
    functionName: vcmpneq_osps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpneq_osps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 917
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 917
    functionName: vcmpneq_ossd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpneq_ossd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 918
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 918
    functionName: vcmpneq_osss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpneq_osss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 919
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 919
    functionName: vcmpneq_uspd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpneq_uspd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 920
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 920
    functionName: vcmpneq_usps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpneq_usps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 921
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 921
    functionName: vcmpneq_ussd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpneq_ussd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 922
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 922
    functionName: vcmpneq_usss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpneq_usss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 923
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 923
    functionName: vcmpneqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpneqpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 924
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 924
    functionName: vcmpneqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpneqps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 925
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 925
    functionName: vcmpneqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpneqsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 926
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 926
    functionName: vcmpneqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpneqss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 927
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 927
    functionName: vcmpnge_uqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpnge_uqpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 928
      start: 928
    functionDepth: 1
    functionLinenumber: 928
    functionLinenumberEnd: 928
    functionName: vcmpnge_uqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpnge_uqps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 929
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 929
    functionName: vcmpnge_uqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpnge_uqsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 930
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 930
    functionName: vcmpnge_uqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpnge_uqss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 931
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 931
    functionName: vcmpngepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpngepd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 932
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 932
    functionName: vcmpngeps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpngeps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 933
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 933
    functionName: vcmpngesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpngesd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 934
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 934
    functionName: vcmpngess
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpngess(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 935
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 935
    functionName: vcmpngt_uqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpngt_uqpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 936
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 936
    functionName: vcmpngt_uqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpngt_uqps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 937
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 937
    functionName: vcmpngt_uqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpngt_uqsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 938
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 938
    functionName: vcmpngt_uqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpngt_uqss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 939
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 939
    functionName: vcmpngtpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpngtpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 940
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 940
    functionName: vcmpngtps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpngtps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 941
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 941
    functionName: vcmpngtsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpngtsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 942
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 942
    functionName: vcmpngtss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpngtss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 943
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 943
    functionName: vcmpnle_uqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpnle_uqpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 944
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 944
    functionName: vcmpnle_uqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpnle_uqps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 945
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 945
    functionName: vcmpnle_uqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpnle_uqsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 946
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 946
    functionName: vcmpnle_uqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpnle_uqss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 947
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 947
    functionName: vcmpnlepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpnlepd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 948
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 948
    functionName: vcmpnleps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpnleps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 949
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 949
    functionName: vcmpnlesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpnlesd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 950
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 950
    functionName: vcmpnless
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpnless(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 951
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 951
    functionName: vcmpnlt_uqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpnlt_uqpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 952
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 952
    functionName: vcmpnlt_uqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpnlt_uqps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 953
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 953
    functionName: vcmpnlt_uqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpnlt_uqsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 954
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 954
    functionName: vcmpnlt_uqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpnlt_uqss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 955
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 955
    functionName: vcmpnltpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpnltpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 956
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 956
    functionName: vcmpnltps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpnltps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 957
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 957
    functionName: vcmpnltsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpnltsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 958
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 958
    functionName: vcmpnltss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpnltss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 959
      start: 959
    functionDepth: 1
    functionLinenumber: 959
    functionLinenumberEnd: 959
    functionName: vcmpord_spd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpord_spd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 960
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 960
    functionName: vcmpord_sps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpord_sps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 961
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 961
    functionName: vcmpord_ssd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpord_ssd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 962
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 962
    functionName: vcmpord_sss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpord_sss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 963
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 963
    functionName: vcmpordpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpordpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 964
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 964
    functionName: vcmpordps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpordps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 965
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 965
    functionName: vcmpordsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpordsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 966
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 966
    functionName: vcmpordss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpordss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 967
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 967
    functionName: vcmppd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 28
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vcmppd(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 968
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 968
    functionName: vcmpps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 28
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vcmpps(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 969
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 969
    functionName: vcmpsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 28
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vcmpsd(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 970
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 970
    functionName: vcmpss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 28
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vcmpss(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 971
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 971
    functionName: vcmptrue_uspd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmptrue_uspd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 972
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 972
    functionName: vcmptrue_usps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmptrue_usps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 973
      start: 973
    functionDepth: 1
    functionLinenumber: 973
    functionLinenumberEnd: 973
    functionName: vcmptrue_ussd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmptrue_ussd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 974
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 974
    functionName: vcmptrue_usss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmptrue_usss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 975
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 975
    functionName: vcmptruepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmptruepd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 976
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 976
    functionName: vcmptrueps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmptrueps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 977
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 977
    functionName: vcmptruesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmptruesd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 978
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 978
    functionName: vcmptruess
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmptruess(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 979
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 979
    functionName: vcmpunord_spd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpunord_spd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 980
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 980
    functionName: vcmpunord_sps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpunord_sps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 981
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 981
    functionName: vcmpunord_ssd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpunord_ssd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 982
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 982
    functionName: vcmpunord_sss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpunord_sss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 983
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 983
    functionName: vcmpunordpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpunordpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 984
      start: 984
    functionDepth: 1
    functionLinenumber: 984
    functionLinenumberEnd: 984
    functionName: vcmpunordps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpunordps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 985
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 985
    functionName: vcmpunordsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpunordsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 986
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 986
    functionName: vcmpunordss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpunordss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 987
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 987
    functionName: vcomisd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcomisd(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 988
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 988
    functionName: vcomiss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcomiss(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checkCvt1
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:989,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 989
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 989
    functionName: vcvtdq2pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - checkCvt1
    linkageType: ''
    returnType: void
    signature: void vcvtdq2pd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 990
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 990
    functionName: vcvtdq2ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcvtdq2ps(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opCvt2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 991
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 991
    functionName: vcvtpd2dq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opCvt2
    linkageType: ''
    returnType: void
    signature: void vcvtpd2dq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opCvt2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 992
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 992
    functionName: vcvtpd2ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opCvt2
    linkageType: ''
    returnType: void
    signature: void vcvtpd2ps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checkCvt1
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:993,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 993
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 993
    functionName: vcvtph2ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - checkCvt1
    linkageType: ''
    returnType: void
    signature: void vcvtph2ps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 994
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 994
    functionName: vcvtps2dq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcvtps2dq(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checkCvt1
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:995,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 995
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 995
    functionName: vcvtps2pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - checkCvt1
    linkageType: ''
    returnType: void
    signature: void vcvtps2pd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checkCvt1
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:996,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' op'
    - ' x'
    - imm
    argTypes:
    - Operand
    - Xmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 996
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 996
    functionName: vcvtps2ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - checkCvt1
    linkageType: ''
    returnType: void
    signature: void vcvtps2ph(const Operand& op, const Xmm& x, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:997,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:997,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg32
    - Operand
    constantsTouched: []
    func_position:
      end: 997
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 997
    functionName: vcvtsd2si
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getIdx
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vcvtsd2si(const Reg32& r, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 998
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 998
    functionName: vcvtsd2ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vcvtsd2ss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opCvt3
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 999
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 999
    functionName: vcvtsi2sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opCvt3
    linkageType: ''
    returnType: void
    signature: void vcvtsi2sd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opCvt3
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1000
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1000
    functionName: vcvtsi2ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opCvt3
    linkageType: ''
    returnType: void
    signature: void vcvtsi2ss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1001
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1001
    functionName: vcvtss2sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vcvtss2sd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1002,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1002,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg32
    - Operand
    constantsTouched: []
    func_position:
      end: 1002
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1002
    functionName: vcvtss2si
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getIdx
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vcvtss2si(const Reg32& r, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opCvt2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1003
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1003
    functionName: vcvttpd2dq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opCvt2
    linkageType: ''
    returnType: void
    signature: void vcvttpd2dq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1004
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1004
    functionName: vcvttps2dq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcvttps2dq(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1005,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1005,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg32
    - Operand
    constantsTouched: []
    func_position:
      end: 1005
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1005
    functionName: vcvttsd2si
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getIdx
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vcvttsd2si(const Reg32& r, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1006,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1006,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg32
    - Operand
    constantsTouched: []
    func_position:
      end: 1006
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1006
    functionName: vcvttss2si
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getIdx
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vcvttss2si(const Reg32& r, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1007,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1007
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1007
    functionName: vdivpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vdivpd(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1008,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1008
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1008
    functionName: vdivps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vdivps(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1009,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1009
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1009
    functionName: vdivsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vdivsd(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1010,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1010
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1010
    functionName: vdivss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vdivss(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1011
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1011
    functionName: vdppd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vdppd(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1012
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1012
    functionName: vdpps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vdpps(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1013,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1013,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1013,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1013,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ' op'
    - ' y'
    - imm
    argTypes:
    - Operand
    - Ymm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1013
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1013
    functionName: vextractf128
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - isYMM
    - isXMEM
    - opVex
    linkageType: ''
    returnType: void
    signature: void vextractf128(const Operand& op, const Ymm& y, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1014,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1014,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1014,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ' op'
    - ' y'
    - imm
    argTypes:
    - Operand
    - Ymm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1014
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1014
    functionName: vextracti128
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - isYMM
    - isXMEM
    - opVex
    linkageType: ''
    returnType: void
    signature: void vextracti128(const Operand& op, const Ymm& y, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1015,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1015,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1015,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1015,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1015,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ' op'
    - ' x'
    - imm
    argTypes:
    - Operand
    - Xmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1015
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1015
    functionName: vextractps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opVex
    - isREG
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vextractps(const Operand& op, const Xmm& x, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1016
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1016
    functionName: vfmadd132pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmadd132pd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1017
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1017
    functionName: vfmadd132ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmadd132ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1018
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1018
    functionName: vfmadd132sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmadd132sd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1019
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1019
    functionName: vfmadd132ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmadd132ss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1020
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1020
    functionName: vfmadd213pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmadd213pd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1021
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1021
    functionName: vfmadd213ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmadd213ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1022
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1022
    functionName: vfmadd213sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmadd213sd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1023
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1023
    functionName: vfmadd213ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmadd213ss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1024
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1024
    functionName: vfmadd231pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmadd231pd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1025
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1025
    functionName: vfmadd231ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmadd231ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1026
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1026
    functionName: vfmadd231sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmadd231sd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1027
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1027
    functionName: vfmadd231ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmadd231ss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1028
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1028
    functionName: vfmaddsub132pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmaddsub132pd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1029
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1029
    functionName: vfmaddsub132ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmaddsub132ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1030
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1030
    functionName: vfmaddsub213pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmaddsub213pd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1031
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1031
    functionName: vfmaddsub213ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmaddsub213ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1032
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1032
    functionName: vfmaddsub231pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmaddsub231pd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1033
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1033
    functionName: vfmaddsub231ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmaddsub231ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1034
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1034
    functionName: vfmsub132pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsub132pd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1035
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1035
    functionName: vfmsub132ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsub132ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1036
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1036
    functionName: vfmsub132sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsub132sd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1037
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1037
    functionName: vfmsub132ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsub132ss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1038
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1038
    functionName: vfmsub213pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsub213pd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1039
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1039
    functionName: vfmsub213ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsub213ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1040
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1040
    functionName: vfmsub213sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsub213sd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1041
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1041
    functionName: vfmsub213ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsub213ss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1042
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1042
    functionName: vfmsub231pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsub231pd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1043
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1043
    functionName: vfmsub231ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsub231ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1044
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1044
    functionName: vfmsub231sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsub231sd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1045
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1045
    functionName: vfmsub231ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsub231ss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1046
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1046
    functionName: vfmsubadd132pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsubadd132pd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1047
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1047
    functionName: vfmsubadd132ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsubadd132ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1048
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1048
    functionName: vfmsubadd213pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsubadd213pd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1049
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1049
    functionName: vfmsubadd213ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsubadd213ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1050
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1050
    functionName: vfmsubadd231pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsubadd231pd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1051
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1051
    functionName: vfmsubadd231ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsubadd231ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1052
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1052
    functionName: vfnmadd132pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmadd132pd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1053
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1053
    functionName: vfnmadd132ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmadd132ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1054
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1054
    functionName: vfnmadd132sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmadd132sd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1055
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1055
    functionName: vfnmadd132ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmadd132ss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1056
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1056
    functionName: vfnmadd213pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmadd213pd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1057
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1057
    functionName: vfnmadd213ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmadd213ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1058
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1058
    functionName: vfnmadd213sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmadd213sd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1059
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1059
    functionName: vfnmadd213ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmadd213ss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1060
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1060
    functionName: vfnmadd231pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmadd231pd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1061
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1061
    functionName: vfnmadd231ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmadd231ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1062
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1062
    functionName: vfnmadd231sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmadd231sd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1063
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1063
    functionName: vfnmadd231ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmadd231ss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1064
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1064
    functionName: vfnmsub132pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmsub132pd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1065
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1065
    functionName: vfnmsub132ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmsub132ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1066
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1066
    functionName: vfnmsub132sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmsub132sd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1067
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1067
    functionName: vfnmsub132ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmsub132ss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1068
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1068
    functionName: vfnmsub213pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmsub213pd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1069
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1069
    functionName: vfnmsub213ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmsub213ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1070
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1070
    functionName: vfnmsub213sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmsub213sd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1071
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1071
    functionName: vfnmsub213ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmsub213ss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1072
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1072
    functionName: vfnmsub231pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmsub231pd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1073
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1073
    functionName: vfnmsub231ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmsub231ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1074
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1074
    functionName: vfnmsub231sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmsub231sd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1075
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1075
    functionName: vfnmsub231ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmsub231ss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' addr'
    - ' x2'
    argTypes:
    - Xmm
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1076
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1076
    functionName: vgatherdpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather
    linkageType: ''
    returnType: void
    signature: void vgatherdpd(const Xmm& x1, const Address& addr, const Xmm& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' addr'
    - ' x2'
    argTypes:
    - Xmm
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1077
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1077
    functionName: vgatherdps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather
    linkageType: ''
    returnType: void
    signature: void vgatherdps(const Xmm& x1, const Address& addr, const Xmm& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' addr'
    - ' x2'
    argTypes:
    - Xmm
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1078
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1078
    functionName: vgatherqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather
    linkageType: ''
    returnType: void
    signature: void vgatherqpd(const Xmm& x1, const Address& addr, const Xmm& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' addr'
    - ' x2'
    argTypes:
    - Xmm
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1079
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1079
    functionName: vgatherqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather
    linkageType: ''
    returnType: void
    signature: void vgatherqps(const Xmm& x1, const Address& addr, const Xmm& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1080
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1080
    functionName: vgf2p8affineinvqb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vgf2p8affineinvqb(const Xmm& x1, const Xmm& x2, const Operand&
      op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1081
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1081
    functionName: vgf2p8affineqb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vgf2p8affineqb(const Xmm& x1, const Xmm& x2, const Operand& op,
      uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1082
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1082
    functionName: vgf2p8mulb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vgf2p8mulb(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1083,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1083
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1083
    functionName: vhaddpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vhaddpd(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1084,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1084
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1084
    functionName: vhaddps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vhaddps(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1085,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1085
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1085
    functionName: vhsubpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vhsubpd(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1086,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1086
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1086
    functionName: vhsubps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vhsubps(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1087,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1087,1
    - Dst: isXMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1087,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1087,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1087,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - ' y1'
    - ' y2'
    - ' op'
    - imm
    argTypes:
    - Ymm
    - Ymm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1087
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1087
    functionName: vinsertf128
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - isYMM
    - isXMEM
    - opVex
    linkageType: ''
    returnType: void
    signature: void vinsertf128(const Ymm& y1, const Ymm& y2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1088,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1088,1
    - Dst: isXMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1088,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1088,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - ' y1'
    - ' y2'
    - ' op'
    - imm
    argTypes:
    - Ymm
    - Ymm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1088
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1088
    functionName: vinserti128
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - isYMM
    - isXMEM
    - opVex
    linkageType: ''
    returnType: void
    signature: void vinserti128(const Ymm& y1, const Ymm& y2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1089
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1089
    functionName: vinsertps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vinsertps(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1090,1
    - Dst: cvtIdx0
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' addr'
    argTypes:
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 1090
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1090
    functionName: vlddqu
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - cvtIdx0
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vlddqu(const Xmm& x, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 1091
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1091
    functionName: vldmxcsr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vldmxcsr(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x1'
    - ' x2'
    argTypes:
    - Xmm
    - Xmm
    constantsTouched: []
    func_position:
      end: 1092
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1092
    functionName: vmaskmovdqu
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmaskmovdqu(const Xmm& x1, const Xmm& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' addr'
    - ' x1'
    - ' x2'
    argTypes:
    - Address
    - Xmm
    - Xmm
    constantsTouched: []
    func_position:
      end: 1093
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1093
    functionName: vmaskmovpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmaskmovpd(const Address& addr, const Xmm& x1, const Xmm& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' addr'
    argTypes:
    - Xmm
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 1094
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1094
    functionName: vmaskmovpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmaskmovpd(const Xmm& x1, const Xmm& x2, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' addr'
    - ' x1'
    - ' x2'
    argTypes:
    - Address
    - Xmm
    - Xmm
    constantsTouched: []
    func_position:
      end: 1095
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1095
    functionName: vmaskmovps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmaskmovps(const Address& addr, const Xmm& x1, const Xmm& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' addr'
    argTypes:
    - Xmm
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 1096
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1096
    functionName: vmaskmovps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmaskmovps(const Xmm& x1, const Xmm& x2, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1097,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1097
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1097
    functionName: vmaxpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vmaxpd(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1098,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1098
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1098
    functionName: vmaxps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vmaxps(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1099,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1099
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1099
    functionName: vmaxsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vmaxsd(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1100,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1100
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1100
    functionName: vmaxss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vmaxss(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1101,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1101
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1101
    functionName: vminpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vminpd(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1102,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1102
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1102
    functionName: vminps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vminps(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1103,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1103
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1103
    functionName: vminsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vminsd(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1104,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1104
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1104
    functionName: vminss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vminss(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' xmm'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1105
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1105
    functionName: vmovapd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovapd(const Address& addr, const Xmm& xmm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1106
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1106
    functionName: vmovapd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovapd(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' xmm'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1107
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1107
    functionName: vmovaps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovaps(const Address& addr, const Xmm& xmm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1108
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1108
    functionName: vmovaps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovaps(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1109,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1109,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1109,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 1109
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1109
    functionName: vmovd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - isREG
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmovd(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1110,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1110,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1110,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1110
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1110
    functionName: vmovd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - isREG
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmovd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1111
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1111
    functionName: vmovddup
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovddup(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' xmm'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1112
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1112
    functionName: vmovdqa
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovdqa(const Address& addr, const Xmm& xmm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1113
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1113
    functionName: vmovdqa
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovdqa(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' xmm'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1114
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1114
    functionName: vmovdqu
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovdqu(const Address& addr, const Xmm& xmm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1115
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1115
    functionName: vmovdqu
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovdqu(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1116,1
    - Dst: isNone
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1116,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1116,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1116,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' x1'
    - ' x2'
    argTypes:
    - Xmm
    - Xmm
    constantsTouched: []
    func_position:
      end: 1116
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1116
    functionName: vmovhlps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - XBYAK_THROW
    - isNone
    - Operand
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vmovhlps(const Xmm& x1, const Xmm& x2, const Operand& op = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1117
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1117
    functionName: vmovhpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmovhpd(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1118,1
    - Dst: isNone
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1118,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1118,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1118,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1118
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1118
    functionName: vmovhpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - opAVX_X_X_XM
    - XBYAK_THROW
    - isNone
    - Operand
    linkageType: ''
    returnType: void
    signature: void vmovhpd(const Xmm& x, const Operand& op1, const Operand& op2 =
      Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1119
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1119
    functionName: vmovhps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmovhps(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1120,1
    - Dst: isNone
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1120,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1120,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1120,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1120
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1120
    functionName: vmovhps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - opAVX_X_X_XM
    - XBYAK_THROW
    - isNone
    - Operand
    linkageType: ''
    returnType: void
    signature: void vmovhps(const Xmm& x, const Operand& op1, const Operand& op2 =
      Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1121,1
    - Dst: isNone
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1121,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1121,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1121,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' x1'
    - ' x2'
    argTypes:
    - Xmm
    - Xmm
    constantsTouched: []
    func_position:
      end: 1121
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1121
    functionName: vmovlhps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - XBYAK_THROW
    - isNone
    - Operand
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vmovlhps(const Xmm& x1, const Xmm& x2, const Operand& op = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1122
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1122
    functionName: vmovlpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmovlpd(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1123,1
    - Dst: isNone
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1123,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1123,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1123,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1123
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1123
    functionName: vmovlpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - opAVX_X_X_XM
    - XBYAK_THROW
    - isNone
    - Operand
    linkageType: ''
    returnType: void
    signature: void vmovlpd(const Xmm& x, const Operand& op1, const Operand& op2 =
      Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1124
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1124
    functionName: vmovlps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmovlps(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1125,1
    - Dst: isNone
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1125,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1125,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1125,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1125
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1125
    functionName: vmovlps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - opAVX_X_X_XM
    - XBYAK_THROW
    - isNone
    - Operand
    linkageType: ''
    returnType: void
    signature: void vmovlps(const Xmm& x, const Operand& op1, const Operand& op2 =
      Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1126,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1126,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1126,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1126,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1126,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1126,1
    - Dst: Ymm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1126,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1126,1
    - Dst: cvtIdx0
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' r'
    - ' x'
    argTypes:
    - Reg
    - Xmm
    constantsTouched: []
    func_position:
      end: 1126
      start: 1126
    functionDepth: 1
    functionLinenumber: 1126
    functionLinenumberEnd: 1126
    functionName: vmovmskpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - cvtIdx0
    - Ymm
    - XBYAK_THROW
    - Xmm
    - getIdx
    - isBit
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vmovmskpd(const Reg& r, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1127,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1127,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1127,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1127,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1127,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1127,1
    - Dst: Ymm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1127,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1127,1
    - Dst: cvtIdx0
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' r'
    - ' x'
    argTypes:
    - Reg
    - Xmm
    constantsTouched: []
    func_position:
      end: 1127
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1127
    functionName: vmovmskps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - cvtIdx0
    - Ymm
    - XBYAK_THROW
    - Xmm
    - getIdx
    - isBit
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vmovmskps(const Reg& r, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1128
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1128
    functionName: vmovntdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vmovntdq(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' addr'
    argTypes:
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 1129
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1129
    functionName: vmovntdqa
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vmovntdqa(const Xmm& x, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1130
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1130
    functionName: vmovntpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vmovntpd(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1131
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1131
    functionName: vmovntps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vmovntps(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1132,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1132
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1132
    functionName: vmovq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 9
    functionsReached:
    - getIdx
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmovq(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1133,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' x'
    - ' addr'
    argTypes:
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 1133
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1133
    functionName: vmovq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 9
    functionsReached:
    - getIdx
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmovq(const Xmm& x, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x1'
    - ' x2'
    argTypes:
    - Xmm
    - Xmm
    constantsTouched: []
    func_position:
      end: 1134
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1134
    functionName: vmovq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 9
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmovq(const Xmm& x1, const Xmm& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1135
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1135
    functionName: vmovsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmovsd(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' addr'
    argTypes:
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 1136
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1136
    functionName: vmovsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmovsd(const Xmm& x, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1137,1
    - Dst: isNone
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1137,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1137,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1137,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' x1'
    - ' x2'
    argTypes:
    - Xmm
    - Xmm
    constantsTouched: []
    func_position:
      end: 1137
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1137
    functionName: vmovsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - XBYAK_THROW
    - isNone
    - Operand
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vmovsd(const Xmm& x1, const Xmm& x2, const Operand& op = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1138
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1138
    functionName: vmovshdup
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovshdup(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1139
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1139
    functionName: vmovsldup
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovsldup(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1140
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1140
    functionName: vmovss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmovss(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' addr'
    argTypes:
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 1141
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1141
    functionName: vmovss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmovss(const Xmm& x, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1142,1
    - Dst: isNone
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1142,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1142,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1142,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' x1'
    - ' x2'
    argTypes:
    - Xmm
    - Xmm
    constantsTouched: []
    func_position:
      end: 1142
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1142
    functionName: vmovss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - XBYAK_THROW
    - isNone
    - Operand
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vmovss(const Xmm& x1, const Xmm& x2, const Operand& op = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' xmm'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1143
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1143
    functionName: vmovupd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovupd(const Address& addr, const Xmm& xmm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1144
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1144
    functionName: vmovupd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovupd(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' xmm'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1145
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1145
    functionName: vmovups
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovups(const Address& addr, const Xmm& xmm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1146
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1146
    functionName: vmovups
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovups(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1147
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1147
    functionName: vmpsadbw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmpsadbw(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1148,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1148
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1148
    functionName: vmulpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vmulpd(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1149,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1149
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1149
    functionName: vmulps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vmulps(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1150,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1150
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1150
    functionName: vmulsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vmulsd(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1151,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1151
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1151
    functionName: vmulss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vmulss(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1152,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1152
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1152
    functionName: vorpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vorpd(const Xmm& xmm, const Operand& op1, const Operand& op2 =
      Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1153,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1153
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1153
    functionName: vorps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vorps(const Xmm& xmm, const Operand& op1, const Operand& op2 =
      Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1154
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1154
    functionName: vpabsb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpabsb(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1155
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1155
    functionName: vpabsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpabsd(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1156
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1156
    functionName: vpabsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpabsw(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1157
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1157
    functionName: vpackssdw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpackssdw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1158
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1158
    functionName: vpacksswb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpacksswb(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1159
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1159
    functionName: vpackusdw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpackusdw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1160
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1160
    functionName: vpackuswb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpackuswb(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1161
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1161
    functionName: vpaddb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpaddb(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1162
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1162
    functionName: vpaddd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpaddd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1163
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1163
    functionName: vpaddq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 11
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpaddq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1164
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1164
    functionName: vpaddsb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpaddsb(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1165
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1165
    functionName: vpaddsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpaddsw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1166
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1166
    functionName: vpaddusb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpaddusb(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1167
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1167
    functionName: vpaddusw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpaddusw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1168
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1168
    functionName: vpaddw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpaddw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1169
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1169
    functionName: vpalignr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpalignr(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1170
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1170
    functionName: vpand
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpand(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1171
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1171
    functionName: vpandn
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpandn(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1172
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1172
    functionName: vpavgb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpavgb(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1173
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1173
    functionName: vpavgw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpavgw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1174
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1174
    functionName: vpblendd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpblendd(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1175,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - ' x4'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 1175
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1175
    functionName: vpblendvb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - getIdx
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpblendvb(const Xmm& x1, const Xmm& x2, const Operand& op, const
      Xmm& x4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1176
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1176
    functionName: vpblendw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpblendw(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1177,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1177,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1177,1
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1177
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1177
    functionName: vpbroadcastb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opAVX_X_XM_IMM
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vpbroadcastb(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1178,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1178,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1178,1
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1178
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1178
    functionName: vpbroadcastd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opAVX_X_XM_IMM
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vpbroadcastd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1179,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1179,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1179,1
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1179
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1179
    functionName: vpbroadcastq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 8
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opAVX_X_XM_IMM
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vpbroadcastq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1180,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1180,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1180,1
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1180
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1180
    functionName: vpbroadcastw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opAVX_X_XM_IMM
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vpbroadcastw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1181
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1181
    functionName: vpclmulqdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpclmulqdq(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1182
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1182
    functionName: vpcmpeqb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpeqb(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1183
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1183
    functionName: vpcmpeqd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpeqd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1184
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1184
    functionName: vpcmpeqq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 4
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpeqq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1185
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1185
    functionName: vpcmpeqw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpeqw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1186
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1186
    functionName: vpcmpestri
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpcmpestri(const Xmm& xm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1187
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1187
    functionName: vpcmpestrm
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpcmpestrm(const Xmm& xm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1188
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1188
    functionName: vpcmpgtb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpgtb(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1189
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1189
    functionName: vpcmpgtd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpgtd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1190
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1190
    functionName: vpcmpgtq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 3
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpgtq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1191
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1191
    functionName: vpcmpgtw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpgtw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1192
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1192
    functionName: vpcmpistri
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpcmpistri(const Xmm& xm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1193
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1193
    functionName: vpcmpistrm
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpcmpistrm(const Xmm& xm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVnni
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1194
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1194
    functionName: vpdpbusd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVnni
    linkageType: ''
    returnType: void
    signature: void vpdpbusd(const Xmm& x1, const Xmm& x2, const Operand& op, PreferredEncoding
      encoding = DefaultEncoding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVnni
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1195
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1195
    functionName: vpdpbusds
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVnni
    linkageType: ''
    returnType: void
    signature: void vpdpbusds(const Xmm& x1, const Xmm& x2, const Operand& op, PreferredEncoding
      encoding = DefaultEncoding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVnni
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1196
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1196
    functionName: vpdpwssd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVnni
    linkageType: ''
    returnType: void
    signature: void vpdpwssd(const Xmm& x1, const Xmm& x2, const Operand& op, PreferredEncoding
      encoding = DefaultEncoding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVnni
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1197
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1197
    functionName: vpdpwssds
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVnni
    linkageType: ''
    returnType: void
    signature: void vpdpwssds(const Xmm& x1, const Xmm& x2, const Operand& op, PreferredEncoding
      encoding = DefaultEncoding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1198,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1198,1
    - Dst: isYMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1198,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1198,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - ' y1'
    - ' y2'
    - ' op'
    - imm
    argTypes:
    - Ymm
    - Ymm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1198
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1198
    functionName: vperm2f128
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - isYMM
    - XBYAK_THROW
    - isYMEM
    linkageType: ''
    returnType: void
    signature: void vperm2f128(const Ymm& y1, const Ymm& y2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1199,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1199,1
    - Dst: isYMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1199,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1199,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - ' y1'
    - ' y2'
    - ' op'
    - imm
    argTypes:
    - Ymm
    - Ymm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1199
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1199
    functionName: vperm2i128
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - isYMM
    - XBYAK_THROW
    - isYMEM
    linkageType: ''
    returnType: void
    signature: void vperm2i128(const Ymm& y1, const Ymm& y2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' y1'
    - ' y2'
    - ' op'
    argTypes:
    - Ymm
    - Ymm
    - Operand
    constantsTouched: []
    func_position:
      end: 1200
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1200
    functionName: vpermd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpermd(const Ymm& y1, const Ymm& y2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1201
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1201
    functionName: vpermilpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpermilpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1202
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1202
    functionName: vpermilpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpermilpd(const Xmm& xm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1203
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1203
    functionName: vpermilps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpermilps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1204
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1204
    functionName: vpermilps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpermilps(const Xmm& xm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' y'
    - ' op'
    - imm
    argTypes:
    - Ymm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1205
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1205
    functionName: vpermpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpermpd(const Ymm& y, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' y1'
    - ' y2'
    - ' op'
    argTypes:
    - Ymm
    - Ymm
    - Operand
    constantsTouched: []
    func_position:
      end: 1206
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1206
    functionName: vpermpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpermpd(const Ymm& y1, const Ymm& y2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' y1'
    - ' y2'
    - ' op'
    argTypes:
    - Ymm
    - Ymm
    - Operand
    constantsTouched: []
    func_position:
      end: 1207
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1207
    functionName: vpermps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpermps(const Ymm& y1, const Ymm& y2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' y'
    - ' op'
    - imm
    argTypes:
    - Ymm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1208
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1208
    functionName: vpermq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpermq(const Ymm& y, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' y1'
    - ' y2'
    - ' op'
    argTypes:
    - Ymm
    - Ymm
    - Operand
    constantsTouched: []
    func_position:
      end: 1209
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1209
    functionName: vpermq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpermq(const Ymm& y1, const Ymm& y2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1210,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1210,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1210,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1210,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ' op'
    - ' x'
    - imm
    argTypes:
    - Operand
    - Xmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1210
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1210
    functionName: vpextrb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opVex
    - isREG
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vpextrb(const Operand& op, const Xmm& x, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1211,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1211,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1211,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1211,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ' op'
    - ' x'
    - imm
    argTypes:
    - Operand
    - Xmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1211
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1211
    functionName: vpextrd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opVex
    - isREG
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vpextrd(const Operand& op, const Xmm& x, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1212,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1212,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1212,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1212,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ' op'
    - ' x'
    - imm
    argTypes:
    - Operand
    - Xmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1212
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1212
    functionName: vpextrq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opVex
    - isREG
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vpextrq(const Operand& op, const Xmm& x, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1213,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1213,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1213,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1213,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1213,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1213,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1213,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1213,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1213,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ' op'
    - ' x'
    - imm
    argTypes:
    - Operand
    - Xmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1213
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1213
    functionName: vpextrw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - opAVX_X_X_XM
    - opVex
    - XBYAK_THROW
    - Xmm
    - getIdx
    - isREG
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vpextrw(const Operand& op, const Xmm& x, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' addr'
    - ' x2'
    argTypes:
    - Xmm
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1214
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1214
    functionName: vpgatherdd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather
    linkageType: ''
    returnType: void
    signature: void vpgatherdd(const Xmm& x1, const Address& addr, const Xmm& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' addr'
    - ' x2'
    argTypes:
    - Xmm
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1215
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1215
    functionName: vpgatherdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather
    linkageType: ''
    returnType: void
    signature: void vpgatherdq(const Xmm& x1, const Address& addr, const Xmm& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' addr'
    - ' x2'
    argTypes:
    - Xmm
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1216
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1216
    functionName: vpgatherqd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather
    linkageType: ''
    returnType: void
    signature: void vpgatherqd(const Xmm& x1, const Address& addr, const Xmm& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' addr'
    - ' x2'
    argTypes:
    - Xmm
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 1217
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1217
    functionName: vpgatherqq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 6
    functionsReached:
    - opGather
    linkageType: ''
    returnType: void
    signature: void vpgatherqq(const Xmm& x1, const Address& addr, const Xmm& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1218
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1218
    functionName: vphaddd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vphaddd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1219
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1219
    functionName: vphaddsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vphaddsw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1220
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1220
    functionName: vphaddw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vphaddw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1221
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1221
    functionName: vphminposuw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vphminposuw(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1222
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1222
    functionName: vphsubd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vphsubd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1223
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1223
    functionName: vphsubsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vphsubsw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1224
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1224
    functionName: vphsubw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vphsubw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1225,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1225,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1225,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1225,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1225,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1225
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1225
    functionName: vpinsrb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opVex
    - isREG
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vpinsrb(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1226,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1226,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1226,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1226,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1226,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1226
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1226
    functionName: vpinsrd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opVex
    - isREG
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vpinsrd(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1227,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1227,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1227,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1227,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1227,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1227
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1227
    functionName: vpinsrq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opVex
    - isREG
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vpinsrq(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1228,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1228,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1228,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1228,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1228,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1228
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1228
    functionName: vpinsrw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opVex
    - isREG
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vpinsrw(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1229
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1229
    functionName: vpmaddubsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmaddubsw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1230
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1230
    functionName: vpmaddwd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmaddwd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' addr'
    - ' x1'
    - ' x2'
    argTypes:
    - Address
    - Xmm
    - Xmm
    constantsTouched: []
    func_position:
      end: 1231
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1231
    functionName: vpmaskmovd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmaskmovd(const Address& addr, const Xmm& x1, const Xmm& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' addr'
    argTypes:
    - Xmm
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 1232
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1232
    functionName: vpmaskmovd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmaskmovd(const Xmm& x1, const Xmm& x2, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' addr'
    - ' x1'
    - ' x2'
    argTypes:
    - Address
    - Xmm
    - Xmm
    constantsTouched: []
    func_position:
      end: 1233
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1233
    functionName: vpmaskmovq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmaskmovq(const Address& addr, const Xmm& x1, const Xmm& x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' addr'
    argTypes:
    - Xmm
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 1234
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1234
    functionName: vpmaskmovq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmaskmovq(const Xmm& x1, const Xmm& x2, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1235
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1235
    functionName: vpmaxsb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmaxsb(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1236
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1236
    functionName: vpmaxsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmaxsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1237
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1237
    functionName: vpmaxsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmaxsw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1238
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1238
    functionName: vpmaxub
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmaxub(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1239
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1239
    functionName: vpmaxud
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmaxud(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1240
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1240
    functionName: vpmaxuw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmaxuw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1241
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1241
    functionName: vpminsb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpminsb(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1242
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1242
    functionName: vpminsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpminsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1243
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1243
    functionName: vpminsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpminsw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1244
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1244
    functionName: vpminub
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpminub(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1245
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1245
    functionName: vpminud
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpminud(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1246
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1246
    functionName: vpminuw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpminuw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1247,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1247,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1247,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1247,1
    - Dst: Ymm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1247,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1247,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1247,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' r'
    - ' x'
    argTypes:
    - Reg32e
    - Xmm
    constantsTouched: []
    func_position:
      end: 1247
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1247
    functionName: vpmovmskb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - is
    - Xmm
    - Ymm
    - XBYAK_THROW
    - opVex
    - isYMM
    - getIdx
    linkageType: ''
    returnType: void
    signature: void vpmovmskb(const Reg32e& r, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1248
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1248
    functionName: vpmovsxbd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpmovsxbd(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1249
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1249
    functionName: vpmovsxbq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpmovsxbq(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1250
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1250
    functionName: vpmovsxbw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpmovsxbw(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1251
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1251
    functionName: vpmovsxdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpmovsxdq(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1252
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1252
    functionName: vpmovsxwd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpmovsxwd(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1253
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1253
    functionName: vpmovsxwq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpmovsxwq(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1254
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1254
    functionName: vpmovzxbd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpmovzxbd(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1255
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1255
    functionName: vpmovzxbq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpmovzxbq(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1256
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1256
    functionName: vpmovzxbw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpmovzxbw(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1257
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1257
    functionName: vpmovzxdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpmovzxdq(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1258
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1258
    functionName: vpmovzxwd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpmovzxwd(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1259
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1259
    functionName: vpmovzxwq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpmovzxwq(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1260
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1260
    functionName: vpmuldq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmuldq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1261
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1261
    functionName: vpmulhrsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmulhrsw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1262
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1262
    functionName: vpmulhuw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmulhuw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1263
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1263
    functionName: vpmulhw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmulhw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1264
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1264
    functionName: vpmulld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmulld(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1265
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1265
    functionName: vpmullw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmullw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1266
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1266
    functionName: vpmuludq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmuludq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1267
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1267
    functionName: vpor
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpor(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1268
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1268
    functionName: vpsadbw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsadbw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1269
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1269
    functionName: vpshufb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpshufb(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1270
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1270
    functionName: vpshufd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpshufd(const Xmm& xm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1271
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1271
    functionName: vpshufhw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpshufhw(const Xmm& xm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1272
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1272
    functionName: vpshuflw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpshuflw(const Xmm& xm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1273
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1273
    functionName: vpsignb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsignb(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1274
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1274
    functionName: vpsignd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsignd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1275
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1275
    functionName: vpsignw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsignw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1276,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1276,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1276
      start: 1276
    functionDepth: 1
    functionLinenumber: 1276
    functionLinenumberEnd: 1276
    functionName: vpslld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getKind
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpslld(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1277
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1277
    functionName: vpslld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpslld(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1278,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1278,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1278
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1278
    functionName: vpslldq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getKind
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpslldq(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1279,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1279,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1279
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1279
    functionName: vpsllq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 5
    functionsReached:
    - Xmm
    - getKind
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsllq(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1280
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1280
    functionName: vpsllq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 5
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsllq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1281
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1281
    functionName: vpsllvd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsllvd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1282
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1282
    functionName: vpsllvq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsllvq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1283,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1283,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1283
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1283
    functionName: vpsllw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getKind
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsllw(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1284
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1284
    functionName: vpsllw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsllw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1285,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1285,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1285
      start: 1285
    functionDepth: 1
    functionLinenumber: 1285
    functionLinenumberEnd: 1285
    functionName: vpsrad
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getKind
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsrad(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1286
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1286
    functionName: vpsrad
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsrad(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1287
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1287
    functionName: vpsravd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsravd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1288,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1288,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1288
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1288
    functionName: vpsraw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getKind
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsraw(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1289
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1289
    functionName: vpsraw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsraw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1290,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1290,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1290
      start: 1290
    functionDepth: 1
    functionLinenumber: 1290
    functionLinenumberEnd: 1290
    functionName: vpsrld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getKind
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsrld(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1291
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1291
    functionName: vpsrld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsrld(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1292,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1292,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1292
      start: 1292
    functionDepth: 1
    functionLinenumber: 1292
    functionLinenumberEnd: 1292
    functionName: vpsrldq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getKind
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsrldq(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1293,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1293,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1293
      start: 1293
    functionDepth: 1
    functionLinenumber: 1293
    functionLinenumberEnd: 1293
    functionName: vpsrlq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 11
    functionsReached:
    - Xmm
    - getKind
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsrlq(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1294
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1294
    functionName: vpsrlq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 11
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsrlq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1295
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1295
    functionName: vpsrlvd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsrlvd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1296
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1296
    functionName: vpsrlvq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsrlvq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1297,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1297,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1297
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1297
    functionName: vpsrlw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getKind
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsrlw(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1298
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1298
    functionName: vpsrlw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsrlw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1299
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1299
    functionName: vpsubb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsubb(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1300
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1300
    functionName: vpsubd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsubd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1301
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1301
    functionName: vpsubq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 6
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsubq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1302
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1302
    functionName: vpsubsb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsubsb(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1303
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1303
    functionName: vpsubsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsubsw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1304
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1304
    functionName: vpsubusb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsubusb(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1305
      start: 1305
    functionDepth: 0
    functionLinenumber: 1305
    functionLinenumberEnd: 1305
    functionName: vpsubusw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsubusw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1306
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1306
    functionName: vpsubw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsubw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1307
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1307
    functionName: vptest
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vptest(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1308
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1308
    functionName: vpunpckhbw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpunpckhbw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1309
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1309
    functionName: vpunpckhdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpunpckhdq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1310
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1310
    functionName: vpunpckhqdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpunpckhqdq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1311
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1311
    functionName: vpunpckhwd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpunpckhwd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1312
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1312
    functionName: vpunpcklbw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpunpcklbw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1313
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1313
    functionName: vpunpckldq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpunpckldq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1314
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1314
    functionName: vpunpcklqdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpunpcklqdq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1315
      start: 1315
    functionDepth: 0
    functionLinenumber: 1315
    functionLinenumberEnd: 1315
    functionName: vpunpcklwd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpunpcklwd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1316
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1316
    functionName: vpxor
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpxor(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1317
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1317
    functionName: vrcpps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vrcpps(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1318
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1318
    functionName: vrcpss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vrcpss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1319
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1319
    functionName: vroundpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vroundpd(const Xmm& xm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1320
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1320
    functionName: vroundps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vroundps(const Xmm& xm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1321
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1321
    functionName: vroundsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vroundsd(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1322
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1322
    functionName: vroundss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vroundss(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1323
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1323
    functionName: vrsqrtps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vrsqrtps(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1324
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1324
    functionName: vrsqrtss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vrsqrtss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1325
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1325
    functionName: vshufpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vshufpd(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1326
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1326
    functionName: vshufps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vshufps(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1327
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1327
    functionName: vsqrtpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vsqrtpd(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1328
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1328
    functionName: vsqrtps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vsqrtps(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1329
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1329
    functionName: vsqrtsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vsqrtsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1330
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1330
    functionName: vsqrtss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vsqrtss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 1331
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1331
    functionName: vstmxcsr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vstmxcsr(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1332,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1332
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1332
    functionName: vsubpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vsubpd(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1333,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1333
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1333
    functionName: vsubps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vsubps(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1334,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1334
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1334
    functionName: vsubsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vsubsd(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1335,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1335
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1335
    functionName: vsubss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vsubss(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1336
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1336
    functionName: vtestpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vtestpd(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1337
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1337
    functionName: vtestps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vtestps(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1338
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1338
    functionName: vucomisd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vucomisd(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1339
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1339
    functionName: vucomiss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vucomiss(const Xmm& xm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1340
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1340
    functionName: vunpckhpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vunpckhpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1341
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1341
    functionName: vunpckhps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vunpckhps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1342
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1342
    functionName: vunpcklpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vunpcklpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1343
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1343
    functionName: vunpcklps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vunpcklps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1344,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1344
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1344
    functionName: vxorpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vxorpd(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1345,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1345
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1345
    functionName: vxorps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vxorps(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1346,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1346,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1346
    functionName: vzeroall
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void vzeroall()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1347,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1347,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1347
    functionName: vzeroupper
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void vzeroupper()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1348
    functionName: wait
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 10
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void wait()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1349,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1349
    functionName: wbinvd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void wbinvd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1350,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1350
    functionName: wrmsr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void wrmsr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1351,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1351,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1351,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1351,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1351,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1351,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' reg'
    argTypes:
    - Operand
    - Reg
    constantsTouched: []
    func_position:
      end: 1351
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1351
    functionName: xadd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - opModRM
    - getBit
    - isBit
    - isREG
    linkageType: ''
    returnType: void
    signature: void xadd(const Operand& op, const Reg& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1352,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1352,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1352
    functionName: xgetbv
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void xgetbv()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1353
    functionName: xlatb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void xlatb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opRM_I
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1354
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1354
    functionName: xor_
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 16
    functionsReached:
    - opRM_I
    linkageType: ''
    returnType: void
    signature: void xor_(const Operand& op, uint32_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opRM_RM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 1355
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1355
    functionName: xor_
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 16
    functionsReached:
    - opRM_RM
    linkageType: ''
    returnType: void
    signature: void xor_(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1356
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1356
    functionName: xorpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void xorpd(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1357
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1357
    functionName: xorps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGen
    linkageType: ''
    returnType: void
    signature: void xorps(const Xmm& xmm, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vblendpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1359
      start: 1359
    functionDepth: 1
    functionLinenumber: 1359
    functionLinenumberEnd: 1359
    functionName: vblendpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vblendpd
    linkageType: ''
    returnType: void
    signature: void vblendpd(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vblendps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1360
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1360
    functionName: vblendps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vblendps
    linkageType: ''
    returnType: void
    signature: void vblendps(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vblendvpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' op'
    - ' x4'
    argTypes:
    - Xmm
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 1361
      start: 1361
    functionDepth: 1
    functionLinenumber: 1361
    functionLinenumberEnd: 1361
    functionName: vblendvpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vblendvpd
    linkageType: ''
    returnType: void
    signature: void vblendvpd(const Xmm& x1, const Operand& op, const Xmm& x4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vblendvps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' op'
    - ' x4'
    argTypes:
    - Xmm
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 1362
      start: 1362
    functionDepth: 1
    functionLinenumber: 1362
    functionLinenumberEnd: 1362
    functionName: vblendvps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vblendvps
    linkageType: ''
    returnType: void
    signature: void vblendvps(const Xmm& x1, const Operand& op, const Xmm& x4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpeq_ospd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1363
      start: 1363
    functionDepth: 1
    functionLinenumber: 1363
    functionLinenumberEnd: 1363
    functionName: vcmpeq_ospd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpeq_ospd
    linkageType: ''
    returnType: void
    signature: void vcmpeq_ospd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpeq_osps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1364
      start: 1364
    functionDepth: 1
    functionLinenumber: 1364
    functionLinenumberEnd: 1364
    functionName: vcmpeq_osps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpeq_osps
    linkageType: ''
    returnType: void
    signature: void vcmpeq_osps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpeq_ossd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1365
      start: 1365
    functionDepth: 1
    functionLinenumber: 1365
    functionLinenumberEnd: 1365
    functionName: vcmpeq_ossd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpeq_ossd
    linkageType: ''
    returnType: void
    signature: void vcmpeq_ossd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpeq_osss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1366
      start: 1366
    functionDepth: 1
    functionLinenumber: 1366
    functionLinenumberEnd: 1366
    functionName: vcmpeq_osss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpeq_osss
    linkageType: ''
    returnType: void
    signature: void vcmpeq_osss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpeq_uqpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1367
      start: 1367
    functionDepth: 1
    functionLinenumber: 1367
    functionLinenumberEnd: 1367
    functionName: vcmpeq_uqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpeq_uqpd
    linkageType: ''
    returnType: void
    signature: void vcmpeq_uqpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpeq_uqps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1368
      start: 1368
    functionDepth: 1
    functionLinenumber: 1368
    functionLinenumberEnd: 1368
    functionName: vcmpeq_uqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpeq_uqps
    linkageType: ''
    returnType: void
    signature: void vcmpeq_uqps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpeq_uqsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1369
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1369
    functionName: vcmpeq_uqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpeq_uqsd
    linkageType: ''
    returnType: void
    signature: void vcmpeq_uqsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpeq_uqss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1370
      start: 1370
    functionDepth: 1
    functionLinenumber: 1370
    functionLinenumberEnd: 1370
    functionName: vcmpeq_uqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpeq_uqss
    linkageType: ''
    returnType: void
    signature: void vcmpeq_uqss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpeq_uspd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1371
      start: 1371
    functionDepth: 1
    functionLinenumber: 1371
    functionLinenumberEnd: 1371
    functionName: vcmpeq_uspd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpeq_uspd
    linkageType: ''
    returnType: void
    signature: void vcmpeq_uspd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpeq_usps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1372
      start: 1372
    functionDepth: 1
    functionLinenumber: 1372
    functionLinenumberEnd: 1372
    functionName: vcmpeq_usps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpeq_usps
    linkageType: ''
    returnType: void
    signature: void vcmpeq_usps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpeq_ussd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1373
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1373
    functionName: vcmpeq_ussd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpeq_ussd
    linkageType: ''
    returnType: void
    signature: void vcmpeq_ussd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpeq_usss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1374
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1374
    functionName: vcmpeq_usss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpeq_usss
    linkageType: ''
    returnType: void
    signature: void vcmpeq_usss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpeqpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1375
      start: 1375
    functionDepth: 1
    functionLinenumber: 1375
    functionLinenumberEnd: 1375
    functionName: vcmpeqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpeqpd
    linkageType: ''
    returnType: void
    signature: void vcmpeqpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpeqps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1376
      start: 1376
    functionDepth: 1
    functionLinenumber: 1376
    functionLinenumberEnd: 1376
    functionName: vcmpeqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpeqps
    linkageType: ''
    returnType: void
    signature: void vcmpeqps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpeqsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1377
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1377
    functionName: vcmpeqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpeqsd
    linkageType: ''
    returnType: void
    signature: void vcmpeqsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpeqss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1378
      start: 1378
    functionDepth: 1
    functionLinenumber: 1378
    functionLinenumberEnd: 1378
    functionName: vcmpeqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpeqss
    linkageType: ''
    returnType: void
    signature: void vcmpeqss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpfalse_ospd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1379
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1379
    functionName: vcmpfalse_ospd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpfalse_ospd
    linkageType: ''
    returnType: void
    signature: void vcmpfalse_ospd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpfalse_osps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1380
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1380
    functionName: vcmpfalse_osps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpfalse_osps
    linkageType: ''
    returnType: void
    signature: void vcmpfalse_osps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpfalse_ossd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1381
      start: 1381
    functionDepth: 1
    functionLinenumber: 1381
    functionLinenumberEnd: 1381
    functionName: vcmpfalse_ossd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpfalse_ossd
    linkageType: ''
    returnType: void
    signature: void vcmpfalse_ossd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpfalse_osss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1382
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1382
    functionName: vcmpfalse_osss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpfalse_osss
    linkageType: ''
    returnType: void
    signature: void vcmpfalse_osss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpfalsepd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1383
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1383
    functionName: vcmpfalsepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpfalsepd
    linkageType: ''
    returnType: void
    signature: void vcmpfalsepd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpfalseps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1384
      start: 1384
    functionDepth: 1
    functionLinenumber: 1384
    functionLinenumberEnd: 1384
    functionName: vcmpfalseps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpfalseps
    linkageType: ''
    returnType: void
    signature: void vcmpfalseps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpfalsesd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1385
      start: 1385
    functionDepth: 1
    functionLinenumber: 1385
    functionLinenumberEnd: 1385
    functionName: vcmpfalsesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpfalsesd
    linkageType: ''
    returnType: void
    signature: void vcmpfalsesd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpfalsess
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1386
      start: 1386
    functionDepth: 1
    functionLinenumber: 1386
    functionLinenumberEnd: 1386
    functionName: vcmpfalsess
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpfalsess
    linkageType: ''
    returnType: void
    signature: void vcmpfalsess(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpge_oqpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1387
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1387
    functionName: vcmpge_oqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpge_oqpd
    linkageType: ''
    returnType: void
    signature: void vcmpge_oqpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpge_oqps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1388
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1388
    functionName: vcmpge_oqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpge_oqps
    linkageType: ''
    returnType: void
    signature: void vcmpge_oqps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpge_oqsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1389
      start: 1389
    functionDepth: 1
    functionLinenumber: 1389
    functionLinenumberEnd: 1389
    functionName: vcmpge_oqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpge_oqsd
    linkageType: ''
    returnType: void
    signature: void vcmpge_oqsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpge_oqss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1390
      start: 1390
    functionDepth: 1
    functionLinenumber: 1390
    functionLinenumberEnd: 1390
    functionName: vcmpge_oqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpge_oqss
    linkageType: ''
    returnType: void
    signature: void vcmpge_oqss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpgepd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1391
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1391
    functionName: vcmpgepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpgepd
    linkageType: ''
    returnType: void
    signature: void vcmpgepd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpgeps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1392
      start: 1392
    functionDepth: 1
    functionLinenumber: 1392
    functionLinenumberEnd: 1392
    functionName: vcmpgeps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpgeps
    linkageType: ''
    returnType: void
    signature: void vcmpgeps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpgesd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1393
      start: 1393
    functionDepth: 1
    functionLinenumber: 1393
    functionLinenumberEnd: 1393
    functionName: vcmpgesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpgesd
    linkageType: ''
    returnType: void
    signature: void vcmpgesd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpgess
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1394
      start: 1394
    functionDepth: 1
    functionLinenumber: 1394
    functionLinenumberEnd: 1394
    functionName: vcmpgess
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpgess
    linkageType: ''
    returnType: void
    signature: void vcmpgess(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpgt_oqpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1395
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1395
    functionName: vcmpgt_oqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpgt_oqpd
    linkageType: ''
    returnType: void
    signature: void vcmpgt_oqpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpgt_oqps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1396
      start: 1396
    functionDepth: 1
    functionLinenumber: 1396
    functionLinenumberEnd: 1396
    functionName: vcmpgt_oqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpgt_oqps
    linkageType: ''
    returnType: void
    signature: void vcmpgt_oqps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpgt_oqsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1397
      start: 1397
    functionDepth: 1
    functionLinenumber: 1397
    functionLinenumberEnd: 1397
    functionName: vcmpgt_oqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpgt_oqsd
    linkageType: ''
    returnType: void
    signature: void vcmpgt_oqsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpgt_oqss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1398
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1398
    functionName: vcmpgt_oqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpgt_oqss
    linkageType: ''
    returnType: void
    signature: void vcmpgt_oqss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpgtpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1399
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1399
    functionName: vcmpgtpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpgtpd
    linkageType: ''
    returnType: void
    signature: void vcmpgtpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpgtps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1400
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1400
    functionName: vcmpgtps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpgtps
    linkageType: ''
    returnType: void
    signature: void vcmpgtps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpgtsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1401
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1401
    functionName: vcmpgtsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpgtsd
    linkageType: ''
    returnType: void
    signature: void vcmpgtsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpgtss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1402
      start: 1402
    functionDepth: 1
    functionLinenumber: 1402
    functionLinenumberEnd: 1402
    functionName: vcmpgtss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpgtss
    linkageType: ''
    returnType: void
    signature: void vcmpgtss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmple_oqpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1403
      start: 1403
    functionDepth: 1
    functionLinenumber: 1403
    functionLinenumberEnd: 1403
    functionName: vcmple_oqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmple_oqpd
    linkageType: ''
    returnType: void
    signature: void vcmple_oqpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmple_oqps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1404
      start: 1404
    functionDepth: 1
    functionLinenumber: 1404
    functionLinenumberEnd: 1404
    functionName: vcmple_oqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmple_oqps
    linkageType: ''
    returnType: void
    signature: void vcmple_oqps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmple_oqsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1405
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1405
    functionName: vcmple_oqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmple_oqsd
    linkageType: ''
    returnType: void
    signature: void vcmple_oqsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmple_oqss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1406
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1406
    functionName: vcmple_oqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmple_oqss
    linkageType: ''
    returnType: void
    signature: void vcmple_oqss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmplepd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1407
      start: 1407
    functionDepth: 1
    functionLinenumber: 1407
    functionLinenumberEnd: 1407
    functionName: vcmplepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmplepd
    linkageType: ''
    returnType: void
    signature: void vcmplepd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpleps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1408
      start: 1408
    functionDepth: 1
    functionLinenumber: 1408
    functionLinenumberEnd: 1408
    functionName: vcmpleps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpleps
    linkageType: ''
    returnType: void
    signature: void vcmpleps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmplesd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1409
      start: 1409
    functionDepth: 1
    functionLinenumber: 1409
    functionLinenumberEnd: 1409
    functionName: vcmplesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmplesd
    linkageType: ''
    returnType: void
    signature: void vcmplesd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpless
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1410
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1410
    functionName: vcmpless
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpless
    linkageType: ''
    returnType: void
    signature: void vcmpless(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmplt_oqpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1411
      start: 1411
    functionDepth: 1
    functionLinenumber: 1411
    functionLinenumberEnd: 1411
    functionName: vcmplt_oqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmplt_oqpd
    linkageType: ''
    returnType: void
    signature: void vcmplt_oqpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmplt_oqps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1412
      start: 1412
    functionDepth: 1
    functionLinenumber: 1412
    functionLinenumberEnd: 1412
    functionName: vcmplt_oqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmplt_oqps
    linkageType: ''
    returnType: void
    signature: void vcmplt_oqps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmplt_oqsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1413
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1413
    functionName: vcmplt_oqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmplt_oqsd
    linkageType: ''
    returnType: void
    signature: void vcmplt_oqsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmplt_oqss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1414
      start: 1414
    functionDepth: 1
    functionLinenumber: 1414
    functionLinenumberEnd: 1414
    functionName: vcmplt_oqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmplt_oqss
    linkageType: ''
    returnType: void
    signature: void vcmplt_oqss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpltpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1415
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1415
    functionName: vcmpltpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpltpd
    linkageType: ''
    returnType: void
    signature: void vcmpltpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpltps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1416
      start: 1416
    functionDepth: 1
    functionLinenumber: 1416
    functionLinenumberEnd: 1416
    functionName: vcmpltps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpltps
    linkageType: ''
    returnType: void
    signature: void vcmpltps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpltsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1417
      start: 1417
    functionDepth: 1
    functionLinenumber: 1417
    functionLinenumberEnd: 1417
    functionName: vcmpltsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpltsd
    linkageType: ''
    returnType: void
    signature: void vcmpltsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpltss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1418
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1418
    functionName: vcmpltss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpltss
    linkageType: ''
    returnType: void
    signature: void vcmpltss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpneq_oqpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1419
      start: 1419
    functionDepth: 1
    functionLinenumber: 1419
    functionLinenumberEnd: 1419
    functionName: vcmpneq_oqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpneq_oqpd
    linkageType: ''
    returnType: void
    signature: void vcmpneq_oqpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpneq_oqps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1420
      start: 1420
    functionDepth: 1
    functionLinenumber: 1420
    functionLinenumberEnd: 1420
    functionName: vcmpneq_oqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpneq_oqps
    linkageType: ''
    returnType: void
    signature: void vcmpneq_oqps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpneq_oqsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1421
      start: 1421
    functionDepth: 1
    functionLinenumber: 1421
    functionLinenumberEnd: 1421
    functionName: vcmpneq_oqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpneq_oqsd
    linkageType: ''
    returnType: void
    signature: void vcmpneq_oqsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpneq_oqss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1422
      start: 1422
    functionDepth: 1
    functionLinenumber: 1422
    functionLinenumberEnd: 1422
    functionName: vcmpneq_oqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpneq_oqss
    linkageType: ''
    returnType: void
    signature: void vcmpneq_oqss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpneq_ospd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1423
      start: 1423
    functionDepth: 1
    functionLinenumber: 1423
    functionLinenumberEnd: 1423
    functionName: vcmpneq_ospd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpneq_ospd
    linkageType: ''
    returnType: void
    signature: void vcmpneq_ospd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpneq_osps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1424
      start: 1424
    functionDepth: 1
    functionLinenumber: 1424
    functionLinenumberEnd: 1424
    functionName: vcmpneq_osps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpneq_osps
    linkageType: ''
    returnType: void
    signature: void vcmpneq_osps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpneq_ossd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1425
      start: 1425
    functionDepth: 1
    functionLinenumber: 1425
    functionLinenumberEnd: 1425
    functionName: vcmpneq_ossd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpneq_ossd
    linkageType: ''
    returnType: void
    signature: void vcmpneq_ossd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpneq_osss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1426
      start: 1426
    functionDepth: 1
    functionLinenumber: 1426
    functionLinenumberEnd: 1426
    functionName: vcmpneq_osss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpneq_osss
    linkageType: ''
    returnType: void
    signature: void vcmpneq_osss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpneq_uspd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1427
      start: 1427
    functionDepth: 1
    functionLinenumber: 1427
    functionLinenumberEnd: 1427
    functionName: vcmpneq_uspd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpneq_uspd
    linkageType: ''
    returnType: void
    signature: void vcmpneq_uspd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpneq_usps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1428
      start: 1428
    functionDepth: 1
    functionLinenumber: 1428
    functionLinenumberEnd: 1428
    functionName: vcmpneq_usps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpneq_usps
    linkageType: ''
    returnType: void
    signature: void vcmpneq_usps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpneq_ussd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1429
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1429
    functionName: vcmpneq_ussd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpneq_ussd
    linkageType: ''
    returnType: void
    signature: void vcmpneq_ussd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpneq_usss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1430
      start: 1430
    functionDepth: 1
    functionLinenumber: 1430
    functionLinenumberEnd: 1430
    functionName: vcmpneq_usss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpneq_usss
    linkageType: ''
    returnType: void
    signature: void vcmpneq_usss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpneqpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1431
      start: 1431
    functionDepth: 1
    functionLinenumber: 1431
    functionLinenumberEnd: 1431
    functionName: vcmpneqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpneqpd
    linkageType: ''
    returnType: void
    signature: void vcmpneqpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpneqps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1432
      start: 1432
    functionDepth: 1
    functionLinenumber: 1432
    functionLinenumberEnd: 1432
    functionName: vcmpneqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpneqps
    linkageType: ''
    returnType: void
    signature: void vcmpneqps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpneqsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1433
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1433
    functionName: vcmpneqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpneqsd
    linkageType: ''
    returnType: void
    signature: void vcmpneqsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpneqss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1434
      start: 1434
    functionDepth: 1
    functionLinenumber: 1434
    functionLinenumberEnd: 1434
    functionName: vcmpneqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpneqss
    linkageType: ''
    returnType: void
    signature: void vcmpneqss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpnge_uqpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1435
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1435
    functionName: vcmpnge_uqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpnge_uqpd
    linkageType: ''
    returnType: void
    signature: void vcmpnge_uqpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpnge_uqps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1436
      start: 1436
    functionDepth: 1
    functionLinenumber: 1436
    functionLinenumberEnd: 1436
    functionName: vcmpnge_uqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpnge_uqps
    linkageType: ''
    returnType: void
    signature: void vcmpnge_uqps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpnge_uqsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1437
      start: 1437
    functionDepth: 1
    functionLinenumber: 1437
    functionLinenumberEnd: 1437
    functionName: vcmpnge_uqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpnge_uqsd
    linkageType: ''
    returnType: void
    signature: void vcmpnge_uqsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpnge_uqss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1438
      start: 1438
    functionDepth: 1
    functionLinenumber: 1438
    functionLinenumberEnd: 1438
    functionName: vcmpnge_uqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpnge_uqss
    linkageType: ''
    returnType: void
    signature: void vcmpnge_uqss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpngepd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1439
      start: 1439
    functionDepth: 1
    functionLinenumber: 1439
    functionLinenumberEnd: 1439
    functionName: vcmpngepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpngepd
    linkageType: ''
    returnType: void
    signature: void vcmpngepd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpngeps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1440
      start: 1440
    functionDepth: 1
    functionLinenumber: 1440
    functionLinenumberEnd: 1440
    functionName: vcmpngeps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpngeps
    linkageType: ''
    returnType: void
    signature: void vcmpngeps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpngesd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1441
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1441
    functionName: vcmpngesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpngesd
    linkageType: ''
    returnType: void
    signature: void vcmpngesd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpngess
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1442
      start: 1442
    functionDepth: 1
    functionLinenumber: 1442
    functionLinenumberEnd: 1442
    functionName: vcmpngess
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpngess
    linkageType: ''
    returnType: void
    signature: void vcmpngess(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpngt_uqpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1443
      start: 1443
    functionDepth: 1
    functionLinenumber: 1443
    functionLinenumberEnd: 1443
    functionName: vcmpngt_uqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpngt_uqpd
    linkageType: ''
    returnType: void
    signature: void vcmpngt_uqpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpngt_uqps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1444
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1444
    functionName: vcmpngt_uqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpngt_uqps
    linkageType: ''
    returnType: void
    signature: void vcmpngt_uqps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpngt_uqsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1445
      start: 1445
    functionDepth: 1
    functionLinenumber: 1445
    functionLinenumberEnd: 1445
    functionName: vcmpngt_uqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpngt_uqsd
    linkageType: ''
    returnType: void
    signature: void vcmpngt_uqsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpngt_uqss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1446
      start: 1446
    functionDepth: 1
    functionLinenumber: 1446
    functionLinenumberEnd: 1446
    functionName: vcmpngt_uqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpngt_uqss
    linkageType: ''
    returnType: void
    signature: void vcmpngt_uqss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpngtpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1447
      start: 1447
    functionDepth: 1
    functionLinenumber: 1447
    functionLinenumberEnd: 1447
    functionName: vcmpngtpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpngtpd
    linkageType: ''
    returnType: void
    signature: void vcmpngtpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpngtps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1448
      start: 1448
    functionDepth: 1
    functionLinenumber: 1448
    functionLinenumberEnd: 1448
    functionName: vcmpngtps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpngtps
    linkageType: ''
    returnType: void
    signature: void vcmpngtps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpngtsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1449
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1449
    functionName: vcmpngtsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpngtsd
    linkageType: ''
    returnType: void
    signature: void vcmpngtsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpngtss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1450
      start: 1450
    functionDepth: 1
    functionLinenumber: 1450
    functionLinenumberEnd: 1450
    functionName: vcmpngtss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpngtss
    linkageType: ''
    returnType: void
    signature: void vcmpngtss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpnle_uqpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1451
      start: 1451
    functionDepth: 1
    functionLinenumber: 1451
    functionLinenumberEnd: 1451
    functionName: vcmpnle_uqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpnle_uqpd
    linkageType: ''
    returnType: void
    signature: void vcmpnle_uqpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpnle_uqps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1452
      start: 1452
    functionDepth: 1
    functionLinenumber: 1452
    functionLinenumberEnd: 1452
    functionName: vcmpnle_uqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpnle_uqps
    linkageType: ''
    returnType: void
    signature: void vcmpnle_uqps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpnle_uqsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1453
      start: 1453
    functionDepth: 1
    functionLinenumber: 1453
    functionLinenumberEnd: 1453
    functionName: vcmpnle_uqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpnle_uqsd
    linkageType: ''
    returnType: void
    signature: void vcmpnle_uqsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpnle_uqss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1454
      start: 1454
    functionDepth: 1
    functionLinenumber: 1454
    functionLinenumberEnd: 1454
    functionName: vcmpnle_uqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpnle_uqss
    linkageType: ''
    returnType: void
    signature: void vcmpnle_uqss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpnlepd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1455
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1455
    functionName: vcmpnlepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpnlepd
    linkageType: ''
    returnType: void
    signature: void vcmpnlepd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpnleps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1456
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1456
    functionName: vcmpnleps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpnleps
    linkageType: ''
    returnType: void
    signature: void vcmpnleps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpnlesd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1457
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1457
    functionName: vcmpnlesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpnlesd
    linkageType: ''
    returnType: void
    signature: void vcmpnlesd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpnless
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1458
      start: 1458
    functionDepth: 1
    functionLinenumber: 1458
    functionLinenumberEnd: 1458
    functionName: vcmpnless
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpnless
    linkageType: ''
    returnType: void
    signature: void vcmpnless(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpnlt_uqpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1459
      start: 1459
    functionDepth: 1
    functionLinenumber: 1459
    functionLinenumberEnd: 1459
    functionName: vcmpnlt_uqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpnlt_uqpd
    linkageType: ''
    returnType: void
    signature: void vcmpnlt_uqpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpnlt_uqps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1460
      start: 1460
    functionDepth: 1
    functionLinenumber: 1460
    functionLinenumberEnd: 1460
    functionName: vcmpnlt_uqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpnlt_uqps
    linkageType: ''
    returnType: void
    signature: void vcmpnlt_uqps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpnlt_uqsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1461
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1461
    functionName: vcmpnlt_uqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpnlt_uqsd
    linkageType: ''
    returnType: void
    signature: void vcmpnlt_uqsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpnlt_uqss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1462
      start: 1462
    functionDepth: 1
    functionLinenumber: 1462
    functionLinenumberEnd: 1462
    functionName: vcmpnlt_uqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpnlt_uqss
    linkageType: ''
    returnType: void
    signature: void vcmpnlt_uqss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpnltpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1463
      start: 1463
    functionDepth: 1
    functionLinenumber: 1463
    functionLinenumberEnd: 1463
    functionName: vcmpnltpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpnltpd
    linkageType: ''
    returnType: void
    signature: void vcmpnltpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpnltps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1464
      start: 1464
    functionDepth: 1
    functionLinenumber: 1464
    functionLinenumberEnd: 1464
    functionName: vcmpnltps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpnltps
    linkageType: ''
    returnType: void
    signature: void vcmpnltps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpnltsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1465
      start: 1465
    functionDepth: 1
    functionLinenumber: 1465
    functionLinenumberEnd: 1465
    functionName: vcmpnltsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpnltsd
    linkageType: ''
    returnType: void
    signature: void vcmpnltsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpnltss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1466
      start: 1466
    functionDepth: 1
    functionLinenumber: 1466
    functionLinenumberEnd: 1466
    functionName: vcmpnltss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpnltss
    linkageType: ''
    returnType: void
    signature: void vcmpnltss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpord_spd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1467
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1467
    functionName: vcmpord_spd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpord_spd
    linkageType: ''
    returnType: void
    signature: void vcmpord_spd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpord_sps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1468
      start: 1468
    functionDepth: 1
    functionLinenumber: 1468
    functionLinenumberEnd: 1468
    functionName: vcmpord_sps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpord_sps
    linkageType: ''
    returnType: void
    signature: void vcmpord_sps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpord_ssd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1469
      start: 1469
    functionDepth: 1
    functionLinenumber: 1469
    functionLinenumberEnd: 1469
    functionName: vcmpord_ssd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpord_ssd
    linkageType: ''
    returnType: void
    signature: void vcmpord_ssd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpord_sss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1470
      start: 1470
    functionDepth: 1
    functionLinenumber: 1470
    functionLinenumberEnd: 1470
    functionName: vcmpord_sss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpord_sss
    linkageType: ''
    returnType: void
    signature: void vcmpord_sss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpordpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1471
      start: 1471
    functionDepth: 1
    functionLinenumber: 1471
    functionLinenumberEnd: 1471
    functionName: vcmpordpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpordpd
    linkageType: ''
    returnType: void
    signature: void vcmpordpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpordps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1472
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1472
    functionName: vcmpordps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpordps
    linkageType: ''
    returnType: void
    signature: void vcmpordps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpordsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1473
      start: 1473
    functionDepth: 1
    functionLinenumber: 1473
    functionLinenumberEnd: 1473
    functionName: vcmpordsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpordsd
    linkageType: ''
    returnType: void
    signature: void vcmpordsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpordss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1474
      start: 1474
    functionDepth: 1
    functionLinenumber: 1474
    functionLinenumberEnd: 1474
    functionName: vcmpordss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpordss
    linkageType: ''
    returnType: void
    signature: void vcmpordss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1475
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1475
    functionName: vcmppd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 33
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmppd(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1476
      start: 1476
    functionDepth: 1
    functionLinenumber: 1476
    functionLinenumberEnd: 1476
    functionName: vcmpps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 33
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpps(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1477
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1477
    functionName: vcmpsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 33
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpsd(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1478
      start: 1478
    functionDepth: 1
    functionLinenumber: 1478
    functionLinenumberEnd: 1478
    functionName: vcmpss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 33
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpss(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmptrue_uspd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1479
      start: 1479
    functionDepth: 1
    functionLinenumber: 1479
    functionLinenumberEnd: 1479
    functionName: vcmptrue_uspd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmptrue_uspd
    linkageType: ''
    returnType: void
    signature: void vcmptrue_uspd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmptrue_usps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1480
      start: 1480
    functionDepth: 1
    functionLinenumber: 1480
    functionLinenumberEnd: 1480
    functionName: vcmptrue_usps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmptrue_usps
    linkageType: ''
    returnType: void
    signature: void vcmptrue_usps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmptrue_ussd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1481
      start: 1481
    functionDepth: 1
    functionLinenumber: 1481
    functionLinenumberEnd: 1481
    functionName: vcmptrue_ussd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmptrue_ussd
    linkageType: ''
    returnType: void
    signature: void vcmptrue_ussd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmptrue_usss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1482
      start: 1482
    functionDepth: 1
    functionLinenumber: 1482
    functionLinenumberEnd: 1482
    functionName: vcmptrue_usss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmptrue_usss
    linkageType: ''
    returnType: void
    signature: void vcmptrue_usss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmptruepd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1483
      start: 1483
    functionDepth: 1
    functionLinenumber: 1483
    functionLinenumberEnd: 1483
    functionName: vcmptruepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmptruepd
    linkageType: ''
    returnType: void
    signature: void vcmptruepd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmptrueps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1484
      start: 1484
    functionDepth: 1
    functionLinenumber: 1484
    functionLinenumberEnd: 1484
    functionName: vcmptrueps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmptrueps
    linkageType: ''
    returnType: void
    signature: void vcmptrueps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmptruesd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1485
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1485
    functionName: vcmptruesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmptruesd
    linkageType: ''
    returnType: void
    signature: void vcmptruesd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmptruess
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1486
      start: 1486
    functionDepth: 1
    functionLinenumber: 1486
    functionLinenumberEnd: 1486
    functionName: vcmptruess
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmptruess
    linkageType: ''
    returnType: void
    signature: void vcmptruess(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpunord_spd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1487
      start: 1487
    functionDepth: 1
    functionLinenumber: 1487
    functionLinenumberEnd: 1487
    functionName: vcmpunord_spd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpunord_spd
    linkageType: ''
    returnType: void
    signature: void vcmpunord_spd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpunord_sps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1488
      start: 1488
    functionDepth: 1
    functionLinenumber: 1488
    functionLinenumberEnd: 1488
    functionName: vcmpunord_sps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpunord_sps
    linkageType: ''
    returnType: void
    signature: void vcmpunord_sps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpunord_ssd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1489
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1489
    functionName: vcmpunord_ssd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpunord_ssd
    linkageType: ''
    returnType: void
    signature: void vcmpunord_ssd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpunord_sss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1490
      start: 1490
    functionDepth: 1
    functionLinenumber: 1490
    functionLinenumberEnd: 1490
    functionName: vcmpunord_sss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpunord_sss
    linkageType: ''
    returnType: void
    signature: void vcmpunord_sss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpunordpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1491
      start: 1491
    functionDepth: 1
    functionLinenumber: 1491
    functionLinenumberEnd: 1491
    functionName: vcmpunordpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpunordpd
    linkageType: ''
    returnType: void
    signature: void vcmpunordpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpunordps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1492
      start: 1492
    functionDepth: 1
    functionLinenumber: 1492
    functionLinenumberEnd: 1492
    functionName: vcmpunordps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpunordps
    linkageType: ''
    returnType: void
    signature: void vcmpunordps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpunordsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1493
      start: 1493
    functionDepth: 1
    functionLinenumber: 1493
    functionLinenumberEnd: 1493
    functionName: vcmpunordsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpunordsd
    linkageType: ''
    returnType: void
    signature: void vcmpunordsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpunordss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1494
      start: 1494
    functionDepth: 1
    functionLinenumber: 1494
    functionLinenumberEnd: 1494
    functionName: vcmpunordss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpunordss
    linkageType: ''
    returnType: void
    signature: void vcmpunordss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcvtsd2ss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1495
      start: 1495
    functionDepth: 1
    functionLinenumber: 1495
    functionLinenumberEnd: 1495
    functionName: vcvtsd2ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcvtsd2ss
    linkageType: ''
    returnType: void
    signature: void vcvtsd2ss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcvtsi2sd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1496
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1496
    functionName: vcvtsi2sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcvtsi2sd
    linkageType: ''
    returnType: void
    signature: void vcvtsi2sd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcvtsi2ss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1497
      start: 1497
    functionDepth: 1
    functionLinenumber: 1497
    functionLinenumberEnd: 1497
    functionName: vcvtsi2ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcvtsi2ss
    linkageType: ''
    returnType: void
    signature: void vcvtsi2ss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcvtss2sd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1498
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1498
    functionName: vcvtss2sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcvtss2sd
    linkageType: ''
    returnType: void
    signature: void vcvtss2sd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vdppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1499
      start: 1499
    functionDepth: 1
    functionLinenumber: 1499
    functionLinenumberEnd: 1499
    functionName: vdppd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vdppd
    linkageType: ''
    returnType: void
    signature: void vdppd(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vdpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1500
      start: 1500
    functionDepth: 1
    functionLinenumber: 1500
    functionLinenumberEnd: 1500
    functionName: vdpps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vdpps
    linkageType: ''
    returnType: void
    signature: void vdpps(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vinsertps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1501
      start: 1501
    functionDepth: 1
    functionLinenumber: 1501
    functionLinenumberEnd: 1501
    functionName: vinsertps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vinsertps
    linkageType: ''
    returnType: void
    signature: void vinsertps(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vmpsadbw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1502
      start: 1502
    functionDepth: 1
    functionLinenumber: 1502
    functionLinenumberEnd: 1502
    functionName: vmpsadbw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vmpsadbw
    linkageType: ''
    returnType: void
    signature: void vmpsadbw(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpackssdw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1503
      start: 1503
    functionDepth: 1
    functionLinenumber: 1503
    functionLinenumberEnd: 1503
    functionName: vpackssdw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpackssdw
    linkageType: ''
    returnType: void
    signature: void vpackssdw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpacksswb
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1504
      start: 1504
    functionDepth: 1
    functionLinenumber: 1504
    functionLinenumberEnd: 1504
    functionName: vpacksswb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpacksswb
    linkageType: ''
    returnType: void
    signature: void vpacksswb(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpackusdw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1505
      start: 1505
    functionDepth: 1
    functionLinenumber: 1505
    functionLinenumberEnd: 1505
    functionName: vpackusdw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpackusdw
    linkageType: ''
    returnType: void
    signature: void vpackusdw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpackuswb
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1506
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1506
    functionName: vpackuswb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpackuswb
    linkageType: ''
    returnType: void
    signature: void vpackuswb(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpaddb
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1507
      start: 1507
    functionDepth: 1
    functionLinenumber: 1507
    functionLinenumberEnd: 1507
    functionName: vpaddb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpaddb
    linkageType: ''
    returnType: void
    signature: void vpaddb(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpaddd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1508
      start: 1508
    functionDepth: 1
    functionLinenumber: 1508
    functionLinenumberEnd: 1508
    functionName: vpaddd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpaddd
    linkageType: ''
    returnType: void
    signature: void vpaddd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpaddq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1509
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1509
    functionName: vpaddq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 12
    functionsReached:
    - vpaddq
    linkageType: ''
    returnType: void
    signature: void vpaddq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpaddsb
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1510
      start: 1510
    functionDepth: 1
    functionLinenumber: 1510
    functionLinenumberEnd: 1510
    functionName: vpaddsb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpaddsb
    linkageType: ''
    returnType: void
    signature: void vpaddsb(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpaddsw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1511
      start: 1511
    functionDepth: 1
    functionLinenumber: 1511
    functionLinenumberEnd: 1511
    functionName: vpaddsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpaddsw
    linkageType: ''
    returnType: void
    signature: void vpaddsw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpaddusb
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1512
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1512
    functionName: vpaddusb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpaddusb
    linkageType: ''
    returnType: void
    signature: void vpaddusb(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpaddusw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1513
      start: 1513
    functionDepth: 1
    functionLinenumber: 1513
    functionLinenumberEnd: 1513
    functionName: vpaddusw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpaddusw
    linkageType: ''
    returnType: void
    signature: void vpaddusw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpaddw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1514
      start: 1514
    functionDepth: 1
    functionLinenumber: 1514
    functionLinenumberEnd: 1514
    functionName: vpaddw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpaddw
    linkageType: ''
    returnType: void
    signature: void vpaddw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpalignr
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1515
      start: 1515
    functionDepth: 1
    functionLinenumber: 1515
    functionLinenumberEnd: 1515
    functionName: vpalignr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpalignr
    linkageType: ''
    returnType: void
    signature: void vpalignr(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1516
      start: 1516
    functionDepth: 1
    functionLinenumber: 1516
    functionLinenumberEnd: 1516
    functionName: vpand
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpand
    linkageType: ''
    returnType: void
    signature: void vpand(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpandn
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1517
      start: 1517
    functionDepth: 1
    functionLinenumber: 1517
    functionLinenumberEnd: 1517
    functionName: vpandn
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpandn
    linkageType: ''
    returnType: void
    signature: void vpandn(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpavgb
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1518
      start: 1518
    functionDepth: 1
    functionLinenumber: 1518
    functionLinenumberEnd: 1518
    functionName: vpavgb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpavgb
    linkageType: ''
    returnType: void
    signature: void vpavgb(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpavgw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1519
      start: 1519
    functionDepth: 1
    functionLinenumber: 1519
    functionLinenumberEnd: 1519
    functionName: vpavgw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpavgw
    linkageType: ''
    returnType: void
    signature: void vpavgw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpblendd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1520
      start: 1520
    functionDepth: 1
    functionLinenumber: 1520
    functionLinenumberEnd: 1520
    functionName: vpblendd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpblendd
    linkageType: ''
    returnType: void
    signature: void vpblendd(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpblendvb
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' op'
    - ' x4'
    argTypes:
    - Xmm
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 1521
      start: 1521
    functionDepth: 1
    functionLinenumber: 1521
    functionLinenumberEnd: 1521
    functionName: vpblendvb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpblendvb
    linkageType: ''
    returnType: void
    signature: void vpblendvb(const Xmm& x1, const Operand& op, const Xmm& x4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpblendw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1522
      start: 1522
    functionDepth: 1
    functionLinenumber: 1522
    functionLinenumberEnd: 1522
    functionName: vpblendw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpblendw
    linkageType: ''
    returnType: void
    signature: void vpblendw(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpclmulqdq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1523
      start: 1523
    functionDepth: 1
    functionLinenumber: 1523
    functionLinenumberEnd: 1523
    functionName: vpclmulqdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpclmulqdq
    linkageType: ''
    returnType: void
    signature: void vpclmulqdq(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpcmpeqb
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1524
      start: 1524
    functionDepth: 1
    functionLinenumber: 1524
    functionLinenumberEnd: 1524
    functionName: vpcmpeqb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpcmpeqb
    linkageType: ''
    returnType: void
    signature: void vpcmpeqb(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpcmpeqd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1525
      start: 1525
    functionDepth: 1
    functionLinenumber: 1525
    functionLinenumberEnd: 1525
    functionName: vpcmpeqd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpcmpeqd
    linkageType: ''
    returnType: void
    signature: void vpcmpeqd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpcmpeqq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1526
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1526
    functionName: vpcmpeqq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 5
    functionsReached:
    - vpcmpeqq
    linkageType: ''
    returnType: void
    signature: void vpcmpeqq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpcmpeqw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1527
      start: 1527
    functionDepth: 1
    functionLinenumber: 1527
    functionLinenumberEnd: 1527
    functionName: vpcmpeqw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpcmpeqw
    linkageType: ''
    returnType: void
    signature: void vpcmpeqw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpcmpgtb
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1528
      start: 1528
    functionDepth: 1
    functionLinenumber: 1528
    functionLinenumberEnd: 1528
    functionName: vpcmpgtb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpcmpgtb
    linkageType: ''
    returnType: void
    signature: void vpcmpgtb(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpcmpgtd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1529
      start: 1529
    functionDepth: 1
    functionLinenumber: 1529
    functionLinenumberEnd: 1529
    functionName: vpcmpgtd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpcmpgtd
    linkageType: ''
    returnType: void
    signature: void vpcmpgtd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpcmpgtq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1530
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1530
    functionName: vpcmpgtq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 4
    functionsReached:
    - vpcmpgtq
    linkageType: ''
    returnType: void
    signature: void vpcmpgtq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpcmpgtw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1531
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1531
    functionName: vpcmpgtw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpcmpgtw
    linkageType: ''
    returnType: void
    signature: void vpcmpgtw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vphaddd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1532
      start: 1532
    functionDepth: 1
    functionLinenumber: 1532
    functionLinenumberEnd: 1532
    functionName: vphaddd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vphaddd
    linkageType: ''
    returnType: void
    signature: void vphaddd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vphaddsw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1533
      start: 1533
    functionDepth: 1
    functionLinenumber: 1533
    functionLinenumberEnd: 1533
    functionName: vphaddsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vphaddsw
    linkageType: ''
    returnType: void
    signature: void vphaddsw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vphaddw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1534
      start: 1534
    functionDepth: 1
    functionLinenumber: 1534
    functionLinenumberEnd: 1534
    functionName: vphaddw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vphaddw
    linkageType: ''
    returnType: void
    signature: void vphaddw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vphsubd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1535
      start: 1535
    functionDepth: 1
    functionLinenumber: 1535
    functionLinenumberEnd: 1535
    functionName: vphsubd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vphsubd
    linkageType: ''
    returnType: void
    signature: void vphsubd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vphsubsw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1536
      start: 1536
    functionDepth: 1
    functionLinenumber: 1536
    functionLinenumberEnd: 1536
    functionName: vphsubsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vphsubsw
    linkageType: ''
    returnType: void
    signature: void vphsubsw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vphsubw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1537
      start: 1537
    functionDepth: 1
    functionLinenumber: 1537
    functionLinenumberEnd: 1537
    functionName: vphsubw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vphsubw
    linkageType: ''
    returnType: void
    signature: void vphsubw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpinsrb
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1538
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1538
    functionName: vpinsrb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpinsrb
    linkageType: ''
    returnType: void
    signature: void vpinsrb(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpinsrd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1539
      start: 1539
    functionDepth: 1
    functionLinenumber: 1539
    functionLinenumberEnd: 1539
    functionName: vpinsrd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpinsrd
    linkageType: ''
    returnType: void
    signature: void vpinsrd(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpinsrq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1540
      start: 1540
    functionDepth: 1
    functionLinenumber: 1540
    functionLinenumberEnd: 1540
    functionName: vpinsrq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpinsrq
    linkageType: ''
    returnType: void
    signature: void vpinsrq(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpinsrw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1541
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1541
    functionName: vpinsrw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpinsrw
    linkageType: ''
    returnType: void
    signature: void vpinsrw(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpmaddubsw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1542
      start: 1542
    functionDepth: 1
    functionLinenumber: 1542
    functionLinenumberEnd: 1542
    functionName: vpmaddubsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpmaddubsw
    linkageType: ''
    returnType: void
    signature: void vpmaddubsw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpmaddwd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1543
      start: 1543
    functionDepth: 1
    functionLinenumber: 1543
    functionLinenumberEnd: 1543
    functionName: vpmaddwd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpmaddwd
    linkageType: ''
    returnType: void
    signature: void vpmaddwd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpmaxsb
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1544
      start: 1544
    functionDepth: 1
    functionLinenumber: 1544
    functionLinenumberEnd: 1544
    functionName: vpmaxsb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpmaxsb
    linkageType: ''
    returnType: void
    signature: void vpmaxsb(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpmaxsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1545
      start: 1545
    functionDepth: 1
    functionLinenumber: 1545
    functionLinenumberEnd: 1545
    functionName: vpmaxsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpmaxsd
    linkageType: ''
    returnType: void
    signature: void vpmaxsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpmaxsw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1546
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1546
    functionName: vpmaxsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpmaxsw
    linkageType: ''
    returnType: void
    signature: void vpmaxsw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpmaxub
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1547
      start: 1547
    functionDepth: 1
    functionLinenumber: 1547
    functionLinenumberEnd: 1547
    functionName: vpmaxub
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpmaxub
    linkageType: ''
    returnType: void
    signature: void vpmaxub(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpmaxud
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1548
      start: 1548
    functionDepth: 1
    functionLinenumber: 1548
    functionLinenumberEnd: 1548
    functionName: vpmaxud
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpmaxud
    linkageType: ''
    returnType: void
    signature: void vpmaxud(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpmaxuw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1549
      start: 1549
    functionDepth: 1
    functionLinenumber: 1549
    functionLinenumberEnd: 1549
    functionName: vpmaxuw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpmaxuw
    linkageType: ''
    returnType: void
    signature: void vpmaxuw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpminsb
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1550
      start: 1550
    functionDepth: 1
    functionLinenumber: 1550
    functionLinenumberEnd: 1550
    functionName: vpminsb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpminsb
    linkageType: ''
    returnType: void
    signature: void vpminsb(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpminsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1551
      start: 1551
    functionDepth: 1
    functionLinenumber: 1551
    functionLinenumberEnd: 1551
    functionName: vpminsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpminsd
    linkageType: ''
    returnType: void
    signature: void vpminsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpminsw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1552
      start: 1552
    functionDepth: 1
    functionLinenumber: 1552
    functionLinenumberEnd: 1552
    functionName: vpminsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpminsw
    linkageType: ''
    returnType: void
    signature: void vpminsw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpminub
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1553
      start: 1553
    functionDepth: 1
    functionLinenumber: 1553
    functionLinenumberEnd: 1553
    functionName: vpminub
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpminub
    linkageType: ''
    returnType: void
    signature: void vpminub(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpminud
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1554
      start: 1554
    functionDepth: 1
    functionLinenumber: 1554
    functionLinenumberEnd: 1554
    functionName: vpminud
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpminud
    linkageType: ''
    returnType: void
    signature: void vpminud(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpminuw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1555
      start: 1555
    functionDepth: 1
    functionLinenumber: 1555
    functionLinenumberEnd: 1555
    functionName: vpminuw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpminuw
    linkageType: ''
    returnType: void
    signature: void vpminuw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpmuldq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1556
      start: 1556
    functionDepth: 1
    functionLinenumber: 1556
    functionLinenumberEnd: 1556
    functionName: vpmuldq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpmuldq
    linkageType: ''
    returnType: void
    signature: void vpmuldq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpmulhrsw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1557
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1557
    functionName: vpmulhrsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpmulhrsw
    linkageType: ''
    returnType: void
    signature: void vpmulhrsw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpmulhuw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1558
      start: 1558
    functionDepth: 1
    functionLinenumber: 1558
    functionLinenumberEnd: 1558
    functionName: vpmulhuw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpmulhuw
    linkageType: ''
    returnType: void
    signature: void vpmulhuw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpmulhw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1559
      start: 1559
    functionDepth: 1
    functionLinenumber: 1559
    functionLinenumberEnd: 1559
    functionName: vpmulhw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpmulhw
    linkageType: ''
    returnType: void
    signature: void vpmulhw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpmulld
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1560
      start: 1560
    functionDepth: 1
    functionLinenumber: 1560
    functionLinenumberEnd: 1560
    functionName: vpmulld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpmulld
    linkageType: ''
    returnType: void
    signature: void vpmulld(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpmullw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1561
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1561
    functionName: vpmullw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpmullw
    linkageType: ''
    returnType: void
    signature: void vpmullw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpmuludq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1562
      start: 1562
    functionDepth: 1
    functionLinenumber: 1562
    functionLinenumberEnd: 1562
    functionName: vpmuludq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpmuludq
    linkageType: ''
    returnType: void
    signature: void vpmuludq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpor
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1563
      start: 1563
    functionDepth: 1
    functionLinenumber: 1563
    functionLinenumberEnd: 1563
    functionName: vpor
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpor
    linkageType: ''
    returnType: void
    signature: void vpor(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsadbw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1564
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1564
    functionName: vpsadbw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpsadbw
    linkageType: ''
    returnType: void
    signature: void vpsadbw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsignb
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1565
      start: 1565
    functionDepth: 1
    functionLinenumber: 1565
    functionLinenumberEnd: 1565
    functionName: vpsignb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpsignb
    linkageType: ''
    returnType: void
    signature: void vpsignb(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsignd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1566
      start: 1566
    functionDepth: 1
    functionLinenumber: 1566
    functionLinenumberEnd: 1566
    functionName: vpsignd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpsignd
    linkageType: ''
    returnType: void
    signature: void vpsignd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsignw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1567
      start: 1567
    functionDepth: 1
    functionLinenumber: 1567
    functionLinenumberEnd: 1567
    functionName: vpsignw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpsignw
    linkageType: ''
    returnType: void
    signature: void vpsignw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpslld
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1568
      start: 1568
    functionDepth: 1
    functionLinenumber: 1568
    functionLinenumberEnd: 1568
    functionName: vpslld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpslld
    linkageType: ''
    returnType: void
    signature: void vpslld(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpslld
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - imm
    argTypes:
    - Xmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1569
      start: 1569
    functionDepth: 1
    functionLinenumber: 1569
    functionLinenumberEnd: 1569
    functionName: vpslld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - vpslld
    linkageType: ''
    returnType: void
    signature: void vpslld(const Xmm& x, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpslldq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - imm
    argTypes:
    - Xmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1570
      start: 1570
    functionDepth: 1
    functionLinenumber: 1570
    functionLinenumberEnd: 1570
    functionName: vpslldq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpslldq
    linkageType: ''
    returnType: void
    signature: void vpslldq(const Xmm& x, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsllq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1571
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1571
    functionName: vpsllq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 6
    functionsReached:
    - vpsllq
    linkageType: ''
    returnType: void
    signature: void vpsllq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsllq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - imm
    argTypes:
    - Xmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1572
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1572
    functionName: vpsllq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 7
    functionsReached:
    - vpsllq
    linkageType: ''
    returnType: void
    signature: void vpsllq(const Xmm& x, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsllw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1573
      start: 1573
    functionDepth: 1
    functionLinenumber: 1573
    functionLinenumberEnd: 1573
    functionName: vpsllw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpsllw
    linkageType: ''
    returnType: void
    signature: void vpsllw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsllw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - imm
    argTypes:
    - Xmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1574
      start: 1574
    functionDepth: 1
    functionLinenumber: 1574
    functionLinenumberEnd: 1574
    functionName: vpsllw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - vpsllw
    linkageType: ''
    returnType: void
    signature: void vpsllw(const Xmm& x, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsrad
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1575
      start: 1575
    functionDepth: 1
    functionLinenumber: 1575
    functionLinenumberEnd: 1575
    functionName: vpsrad
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpsrad
    linkageType: ''
    returnType: void
    signature: void vpsrad(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsrad
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - imm
    argTypes:
    - Xmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1576
      start: 1576
    functionDepth: 1
    functionLinenumber: 1576
    functionLinenumberEnd: 1576
    functionName: vpsrad
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - vpsrad
    linkageType: ''
    returnType: void
    signature: void vpsrad(const Xmm& x, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsraw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1577
      start: 1577
    functionDepth: 1
    functionLinenumber: 1577
    functionLinenumberEnd: 1577
    functionName: vpsraw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpsraw
    linkageType: ''
    returnType: void
    signature: void vpsraw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsraw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - imm
    argTypes:
    - Xmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1578
      start: 1578
    functionDepth: 1
    functionLinenumber: 1578
    functionLinenumberEnd: 1578
    functionName: vpsraw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - vpsraw
    linkageType: ''
    returnType: void
    signature: void vpsraw(const Xmm& x, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsrld
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1579
      start: 1579
    functionDepth: 1
    functionLinenumber: 1579
    functionLinenumberEnd: 1579
    functionName: vpsrld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpsrld
    linkageType: ''
    returnType: void
    signature: void vpsrld(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsrld
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - imm
    argTypes:
    - Xmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1580
      start: 1580
    functionDepth: 1
    functionLinenumber: 1580
    functionLinenumberEnd: 1580
    functionName: vpsrld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - vpsrld
    linkageType: ''
    returnType: void
    signature: void vpsrld(const Xmm& x, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsrldq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - imm
    argTypes:
    - Xmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1581
      start: 1581
    functionDepth: 1
    functionLinenumber: 1581
    functionLinenumberEnd: 1581
    functionName: vpsrldq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpsrldq
    linkageType: ''
    returnType: void
    signature: void vpsrldq(const Xmm& x, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsrlq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1582
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1582
    functionName: vpsrlq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 12
    functionsReached:
    - vpsrlq
    linkageType: ''
    returnType: void
    signature: void vpsrlq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsrlq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - imm
    argTypes:
    - Xmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1583
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1583
    functionName: vpsrlq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 13
    functionsReached:
    - vpsrlq
    linkageType: ''
    returnType: void
    signature: void vpsrlq(const Xmm& x, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsrlw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1584
      start: 1584
    functionDepth: 1
    functionLinenumber: 1584
    functionLinenumberEnd: 1584
    functionName: vpsrlw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpsrlw
    linkageType: ''
    returnType: void
    signature: void vpsrlw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsrlw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - imm
    argTypes:
    - Xmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1585
      start: 1585
    functionDepth: 1
    functionLinenumber: 1585
    functionLinenumberEnd: 1585
    functionName: vpsrlw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - vpsrlw
    linkageType: ''
    returnType: void
    signature: void vpsrlw(const Xmm& x, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsubb
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1586
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1586
    functionName: vpsubb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpsubb
    linkageType: ''
    returnType: void
    signature: void vpsubb(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsubd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1587
      start: 1587
    functionDepth: 1
    functionLinenumber: 1587
    functionLinenumberEnd: 1587
    functionName: vpsubd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpsubd
    linkageType: ''
    returnType: void
    signature: void vpsubd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsubq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1588
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1588
    functionName: vpsubq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 7
    functionsReached:
    - vpsubq
    linkageType: ''
    returnType: void
    signature: void vpsubq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsubsb
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1589
      start: 1589
    functionDepth: 1
    functionLinenumber: 1589
    functionLinenumberEnd: 1589
    functionName: vpsubsb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpsubsb
    linkageType: ''
    returnType: void
    signature: void vpsubsb(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsubsw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1590
      start: 1590
    functionDepth: 1
    functionLinenumber: 1590
    functionLinenumberEnd: 1590
    functionName: vpsubsw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpsubsw
    linkageType: ''
    returnType: void
    signature: void vpsubsw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsubusb
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1591
      start: 1591
    functionDepth: 1
    functionLinenumber: 1591
    functionLinenumberEnd: 1591
    functionName: vpsubusb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpsubusb
    linkageType: ''
    returnType: void
    signature: void vpsubusb(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsubusw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1592
      start: 1592
    functionDepth: 1
    functionLinenumber: 1592
    functionLinenumberEnd: 1592
    functionName: vpsubusw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpsubusw
    linkageType: ''
    returnType: void
    signature: void vpsubusw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpsubw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1593
      start: 1593
    functionDepth: 1
    functionLinenumber: 1593
    functionLinenumberEnd: 1593
    functionName: vpsubw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpsubw
    linkageType: ''
    returnType: void
    signature: void vpsubw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpunpckhbw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1594
      start: 1594
    functionDepth: 1
    functionLinenumber: 1594
    functionLinenumberEnd: 1594
    functionName: vpunpckhbw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpunpckhbw
    linkageType: ''
    returnType: void
    signature: void vpunpckhbw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpunpckhdq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1595
      start: 1595
    functionDepth: 1
    functionLinenumber: 1595
    functionLinenumberEnd: 1595
    functionName: vpunpckhdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpunpckhdq
    linkageType: ''
    returnType: void
    signature: void vpunpckhdq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpunpckhqdq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1596
      start: 1596
    functionDepth: 0
    functionLinenumber: 1596
    functionLinenumberEnd: 1596
    functionName: vpunpckhqdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - vpunpckhqdq
    linkageType: ''
    returnType: void
    signature: void vpunpckhqdq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpunpckhwd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1597
      start: 1597
    functionDepth: 1
    functionLinenumber: 1597
    functionLinenumberEnd: 1597
    functionName: vpunpckhwd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpunpckhwd
    linkageType: ''
    returnType: void
    signature: void vpunpckhwd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpunpcklbw
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1598
      start: 1598
    functionDepth: 1
    functionLinenumber: 1598
    functionLinenumberEnd: 1598
    functionName: vpunpcklbw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpunpcklbw
    linkageType: ''
    returnType: void
    signature: void vpunpcklbw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpunpckldq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1599
      start: 1599
    functionDepth: 1
    functionLinenumber: 1599
    functionLinenumberEnd: 1599
    functionName: vpunpckldq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpunpckldq
    linkageType: ''
    returnType: void
    signature: void vpunpckldq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpunpcklqdq
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1600
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1600
    functionName: vpunpcklqdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - vpunpcklqdq
    linkageType: ''
    returnType: void
    signature: void vpunpcklqdq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpunpcklwd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1601
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1601
    functionName: vpunpcklwd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpunpcklwd
    linkageType: ''
    returnType: void
    signature: void vpunpcklwd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpxor
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1602
      start: 1602
    functionDepth: 1
    functionLinenumber: 1602
    functionLinenumberEnd: 1602
    functionName: vpxor
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vpxor
    linkageType: ''
    returnType: void
    signature: void vpxor(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vrcpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1603
      start: 1603
    functionDepth: 1
    functionLinenumber: 1603
    functionLinenumberEnd: 1603
    functionName: vrcpss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vrcpss
    linkageType: ''
    returnType: void
    signature: void vrcpss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vroundsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1604
      start: 1604
    functionDepth: 1
    functionLinenumber: 1604
    functionLinenumberEnd: 1604
    functionName: vroundsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vroundsd
    linkageType: ''
    returnType: void
    signature: void vroundsd(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vroundss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1605
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1605
    functionName: vroundss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vroundss
    linkageType: ''
    returnType: void
    signature: void vroundss(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vrsqrtss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1606
      start: 1606
    functionDepth: 1
    functionLinenumber: 1606
    functionLinenumberEnd: 1606
    functionName: vrsqrtss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vrsqrtss
    linkageType: ''
    returnType: void
    signature: void vrsqrtss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vshufpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1607
      start: 1607
    functionDepth: 1
    functionLinenumber: 1607
    functionLinenumberEnd: 1607
    functionName: vshufpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vshufpd
    linkageType: ''
    returnType: void
    signature: void vshufpd(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vshufps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1608
      start: 1608
    functionDepth: 1
    functionLinenumber: 1608
    functionLinenumberEnd: 1608
    functionName: vshufps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vshufps
    linkageType: ''
    returnType: void
    signature: void vshufps(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vsqrtsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1609
      start: 1609
    functionDepth: 1
    functionLinenumber: 1609
    functionLinenumberEnd: 1609
    functionName: vsqrtsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vsqrtsd
    linkageType: ''
    returnType: void
    signature: void vsqrtsd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vsqrtss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1610
      start: 1610
    functionDepth: 1
    functionLinenumber: 1610
    functionLinenumberEnd: 1610
    functionName: vsqrtss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vsqrtss
    linkageType: ''
    returnType: void
    signature: void vsqrtss(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vunpckhpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1611
      start: 1611
    functionDepth: 1
    functionLinenumber: 1611
    functionLinenumberEnd: 1611
    functionName: vunpckhpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vunpckhpd
    linkageType: ''
    returnType: void
    signature: void vunpckhpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vunpckhps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1612
      start: 1612
    functionDepth: 1
    functionLinenumber: 1612
    functionLinenumberEnd: 1612
    functionName: vunpckhps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vunpckhps
    linkageType: ''
    returnType: void
    signature: void vunpckhps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vunpcklpd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1613
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1613
    functionName: vunpcklpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vunpcklpd
    linkageType: ''
    returnType: void
    signature: void vunpcklpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vunpcklps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1614
      start: 1614
    functionDepth: 1
    functionLinenumber: 1614
    functionLinenumberEnd: 1614
    functionName: vunpcklps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vunpcklps
    linkageType: ''
    returnType: void
    signature: void vunpcklps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1617,1
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 1617
      start: 1617
    functionDepth: 0
    functionLinenumber: 1617
    functionLinenumberEnd: 1617
    functionName: jecxz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jecxz(std::string label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1618,1
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 1618
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1618
    functionName: jecxz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jecxz(const Label& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 1619
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1619
    functionName: jrcxz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jrcxz(std::string label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 1620
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1620
    functionName: jrcxz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jrcxz(const Label& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1621,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1621
    functionName: cdqe
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void cdqe()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1622,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1622
    functionName: cqo
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void cqo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1623,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1623
    functionDepth: 0
    functionLinenumber: 1623
    functionLinenumberEnd: 1623
    functionName: cmpsq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void cmpsq()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1624
    functionName: popfq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void popfq()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1625
    functionName: pushfq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void pushfq()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1626,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1626
    functionDepth: 0
    functionLinenumber: 1626
    functionLinenumberEnd: 1626
    functionName: lodsq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void lodsq()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1627,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1627
    functionName: movsq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void movsq()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1628,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1628
    functionDepth: 0
    functionLinenumber: 1628
    functionLinenumberEnd: 1628
    functionName: scasq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void scasq()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1629,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1629
    functionDepth: 0
    functionLinenumber: 1629
    functionLinenumberEnd: 1629
    functionName: stosq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void stosq()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1630,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1630
    functionName: syscall
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void syscall()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1631,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1631
    functionDepth: 0
    functionLinenumber: 1631
    functionLinenumberEnd: 1631
    functionName: sysret
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void sysret()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1632,1
    - Dst: Reg64
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 1632
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1632
    functionName: cmpxchg16b
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - Reg64
    linkageType: ''
    returnType: void
    signature: void cmpxchg16b(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opModM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1633,1
    - Dst: Reg64
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 1633
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1633
    functionName: fxrstor64
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opModM
    - Reg64
    linkageType: ''
    returnType: void
    signature: void fxrstor64(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1634,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1634,1
    - Dst: opModR
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' reg'
    - ' mmx'
    argTypes:
    - Reg64
    - Mmx
    constantsTouched: []
    func_position:
      end: 1634
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1634
    functionName: movq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 9
    functionsReached:
    - db
    - opModR
    - isXMM
    linkageType: ''
    returnType: void
    signature: void movq(const Reg64& reg, const Mmx& mmx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1635,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1635,1
    - Dst: opModR
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' mmx'
    - ' reg'
    argTypes:
    - Mmx
    - Reg64
    constantsTouched: []
    func_position:
      end: 1635
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1635
    functionName: movq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 9
    functionsReached:
    - db
    - opModR
    - isXMM
    linkageType: ''
    returnType: void
    signature: void movq(const Mmx& mmx, const Reg64& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1636,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1636,1
    - Dst: opModRM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1636,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1636,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg64
    - Operand
    constantsTouched: []
    func_position:
      end: 1636
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1636
    functionName: movsxd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - opModRM
    - isREG
    - XBYAK_THROW
    - isBit
    linkageType: ''
    returnType: void
    signature: void movsxd(const Reg64& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1637,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1637,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1637,1
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1637,1
    - Dst: Reg64
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1637,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ' op'
    - ' xmm'
    - imm
    argTypes:
    - Operand
    - Xmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1637
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1637
    functionName: pextrq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - opGen
    - XBYAK_THROW
    - getIdx
    - isREG
    - Reg64
    linkageType: ''
    returnType: void
    signature: void pextrq(const Operand& op, const Xmm& xmm, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1638,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1638,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1638,1
    - Dst: opGen
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1638,1
    - Dst: Reg64
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1638,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ' xmm'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1638
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1638
    functionName: pinsrq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - isMEM
    - opGen
    - XBYAK_THROW
    - getIdx
    - isREG
    - Reg64
    linkageType: ''
    returnType: void
    signature: void pinsrq(const Xmm& xmm, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1639,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1639,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg64
    - Operand
    constantsTouched: []
    func_position:
      end: 1639
      start: 1639
    functionDepth: 1
    functionLinenumber: 1639
    functionLinenumberEnd: 1639
    functionName: vcvtss2si
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getIdx
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vcvtss2si(const Reg64& r, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1640,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1640,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg64
    - Operand
    constantsTouched: []
    func_position:
      end: 1640
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1640
    functionName: vcvttss2si
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getIdx
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vcvttss2si(const Reg64& r, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1641,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1641,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg64
    - Operand
    constantsTouched: []
    func_position:
      end: 1641
      start: 1641
    functionDepth: 1
    functionLinenumber: 1641
    functionLinenumberEnd: 1641
    functionName: vcvtsd2si
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getIdx
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vcvtsd2si(const Reg64& r, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1642,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1642,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg64
    - Operand
    constantsTouched: []
    func_position:
      end: 1642
      start: 1642
    functionDepth: 1
    functionLinenumber: 1642
    functionLinenumberEnd: 1642
    functionName: vcvttsd2si
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getIdx
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vcvttsd2si(const Reg64& r, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1643,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1643,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' r'
    argTypes:
    - Xmm
    - Reg64
    constantsTouched: []
    func_position:
      end: 1643
      start: 1643
    functionDepth: 1
    functionLinenumber: 1643
    functionLinenumberEnd: 1643
    functionName: vmovq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 9
    functionsReached:
    - Xmm
    - getIdx
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmovq(const Xmm& x, const Reg64& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1644,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1644,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' x'
    argTypes:
    - Reg64
    - Xmm
    constantsTouched: []
    func_position:
      end: 1644
      start: 1644
    functionDepth: 1
    functionLinenumber: 1644
    functionLinenumberEnd: 1644
    functionName: vmovq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 9
    functionsReached:
    - Xmm
    - getIdx
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmovq(const Reg64& r, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 1645
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1645
    functionName: ldtilecfg
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void ldtilecfg(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 1646
      start: 1646
    functionDepth: 0
    functionLinenumber: 1646
    functionLinenumberEnd: 1646
    functionName: sttilecfg
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void sttilecfg(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tm'
    - ' addr'
    argTypes:
    - Tmm
    - Address
    constantsTouched: []
    func_position:
      end: 1647
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1647
    functionName: tileloadd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAMX
    linkageType: ''
    returnType: void
    signature: void tileloadd(const Tmm& tm, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAMX
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' tm'
    - ' addr'
    argTypes:
    - Tmm
    - Address
    constantsTouched: []
    func_position:
      end: 1648
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1648
    functionName: tileloaddt1
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAMX
    linkageType: ''
    returnType: void
    signature: void tileloaddt1(const Tmm& tm, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1649,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1649,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1649,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1649,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1649
    functionName: tilerelease
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void tilerelease()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' tm'
    argTypes:
    - Address
    - Tmm
    constantsTouched: []
    func_position:
      end: 1650
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1650
    functionName: tilestored
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void tilestored(const Address& addr, const Tmm& tm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' Tmm'
    argTypes:
    - Tmm
    constantsTouched: []
    func_position:
      end: 1651
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1651
    functionName: tilezero
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void tilezero(const Tmm& Tmm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' x3'
    argTypes:
    - Tmm
    - Tmm
    - Tmm
    constantsTouched: []
    func_position:
      end: 1652
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1652
    functionName: tdpbssd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void tdpbssd(const Tmm& x1, const Tmm& x2, const Tmm& x3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' x3'
    argTypes:
    - Tmm
    - Tmm
    - Tmm
    constantsTouched: []
    func_position:
      end: 1653
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1653
    functionName: tdpbsud
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void tdpbsud(const Tmm& x1, const Tmm& x2, const Tmm& x3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' x3'
    argTypes:
    - Tmm
    - Tmm
    - Tmm
    constantsTouched: []
    func_position:
      end: 1654
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1654
    functionName: tdpbusd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void tdpbusd(const Tmm& x1, const Tmm& x2, const Tmm& x3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' x3'
    argTypes:
    - Tmm
    - Tmm
    - Tmm
    constantsTouched: []
    func_position:
      end: 1655
      start: 1655
    functionDepth: 0
    functionLinenumber: 1655
    functionLinenumberEnd: 1655
    functionName: tdpbuud
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void tdpbuud(const Tmm& x1, const Tmm& x2, const Tmm& x3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' x3'
    argTypes:
    - Tmm
    - Tmm
    - Tmm
    constantsTouched: []
    func_position:
      end: 1656
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1656
    functionName: tdpbf16ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void tdpbf16ps(const Tmm& x1, const Tmm& x2, const Tmm& x3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1658,1
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 1658
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1658
    functionName: jcxz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jcxz(std::string label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1659,1
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 1659
      start: 1659
    functionDepth: 0
    functionLinenumber: 1659
    functionLinenumberEnd: 1659
    functionName: jcxz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jcxz(const Label& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 1660
      start: 1660
    functionDepth: 0
    functionLinenumber: 1660
    functionLinenumberEnd: 1660
    functionName: jecxz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jecxz(std::string label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opJmp
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 1661
      start: 1661
    functionDepth: 0
    functionLinenumber: 1661
    functionLinenumberEnd: 1661
    functionName: jecxz
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opJmp
    linkageType: ''
    returnType: void
    signature: void jecxz(const Label& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1662
    functionName: aaa
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void aaa()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1663,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1663
    functionName: aad
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void aad()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1664,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1664
    functionName: aam
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void aam()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1665
    functionName: aas
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void aas()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1666
    functionDepth: 0
    functionLinenumber: 1666
    functionLinenumberEnd: 1666
    functionName: daa
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void daa()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1667
    functionName: das
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void das()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1668
    functionName: into
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 17
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void into()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1669
    functionName: popad
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void popad()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1670
    functionName: popfd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void popfd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1671
    functionName: pusha
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void pusha()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1672
    functionName: pushad
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void pushad()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1673
    functionName: pushfd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void pushfd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1674
    functionName: popa
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void popa()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opLoadSeg
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' addr'
    argTypes:
    - Reg
    - Address
    constantsTouched: []
    func_position:
      end: 1675
      start: 1675
    functionDepth: 0
    functionLinenumber: 1675
    functionLinenumberEnd: 1675
    functionName: lds
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opLoadSeg
    linkageType: ''
    returnType: void
    signature: void lds(const Reg& reg, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opLoadSeg
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' addr'
    argTypes:
    - Reg
    - Address
    constantsTouched: []
    func_position:
      end: 1676
      start: 1676
    functionDepth: 0
    functionLinenumber: 1676
    functionLinenumberEnd: 1676
    functionName: les
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 30
    functionsReached:
    - opLoadSeg
    linkageType: ''
    returnType: void
    signature: void les(const Reg& reg, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: and_
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 1679
      start: 1679
    functionDepth: 1
    functionLinenumber: 1679
    functionLinenumberEnd: 1679
    functionName: and
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 152
    functionsReached:
    - and_
    linkageType: ''
    returnType: void
    signature: void and(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: and_
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1680
      start: 1680
    functionDepth: 1
    functionLinenumber: 1680
    functionLinenumberEnd: 1680
    functionName: and
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 152
    functionsReached:
    - and_
    linkageType: ''
    returnType: void
    signature: void and(const Operand& op, uint32_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: or_
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 1681
      start: 1681
    functionDepth: 1
    functionLinenumber: 1681
    functionLinenumberEnd: 1681
    functionName: or
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 871
    functionsReached:
    - or_
    linkageType: ''
    returnType: void
    signature: void or(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: or_
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1682
      start: 1682
    functionDepth: 1
    functionLinenumber: 1682
    functionLinenumberEnd: 1682
    functionName: or
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 871
    functionsReached:
    - or_
    linkageType: ''
    returnType: void
    signature: void or(const Operand& op, uint32_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xor_
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 1683
      start: 1683
    functionDepth: 1
    functionLinenumber: 1683
    functionLinenumberEnd: 1683
    functionName: xor
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 36
    functionsReached:
    - xor_
    linkageType: ''
    returnType: void
    signature: void xor(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xor_
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1684
      start: 1684
    functionDepth: 1
    functionLinenumber: 1684
    functionLinenumberEnd: 1684
    functionName: xor
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 36
    functionsReached:
    - xor_
    linkageType: ''
    returnType: void
    signature: void xor(const Operand& op, uint32_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: not_
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 1685
      start: 1685
    functionDepth: 1
    functionLinenumber: 1685
    functionLinenumberEnd: 1685
    functionName: not
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - not_
    linkageType: ''
    returnType: void
    signature: void not(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1688
      start: 1688
    functionDepth: 0
    functionLinenumber: 1688
    functionLinenumberEnd: 1688
    functionName: kaddb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kaddb(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1689
      start: 1689
    functionDepth: 0
    functionLinenumber: 1689
    functionLinenumberEnd: 1689
    functionName: kaddd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kaddd(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1690
      start: 1690
    functionDepth: 0
    functionLinenumber: 1690
    functionLinenumberEnd: 1690
    functionName: kaddq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kaddq(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1691
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1691
    functionName: kaddw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kaddw(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1692
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1692
    functionName: kandb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kandb(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1693
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1693
    functionName: kandd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kandd(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1694
      start: 1694
    functionDepth: 0
    functionLinenumber: 1694
    functionLinenumberEnd: 1694
    functionName: kandnb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kandnb(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1695
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 1695
    functionName: kandnd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kandnd(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1696
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1696
    functionName: kandnq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kandnq(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1697
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1697
    functionName: kandnw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kandnw(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1698
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1698
    functionName: kandq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kandq(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1699
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1699
    functionName: kandw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kandw(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' k'
    argTypes:
    - Address
    - Opmask
    constantsTouched: []
    func_position:
      end: 1700
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1700
    functionName: kmovb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kmovb(const Address& addr, const Opmask& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1701,1
    - Dst: isOPMASK
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1701,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1701,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' k'
    - ' op'
    argTypes:
    - Opmask
    - Operand
    constantsTouched: []
    func_position:
      end: 1701
      start: 1701
    functionDepth: 0
    functionLinenumber: 1701
    functionLinenumberEnd: 1701
    functionName: kmovb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opVex
    - isOPMASK
    linkageType: ''
    returnType: void
    signature: void kmovb(const Opmask& k, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - ' r'
    argTypes:
    - Opmask
    - Reg32
    constantsTouched: []
    func_position:
      end: 1702
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1702
    functionName: kmovb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kmovb(const Opmask& k, const Reg32& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' k'
    argTypes:
    - Reg32
    - Opmask
    constantsTouched: []
    func_position:
      end: 1703
      start: 1703
    functionDepth: 0
    functionLinenumber: 1703
    functionLinenumberEnd: 1703
    functionName: kmovb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kmovb(const Reg32& r, const Opmask& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' k'
    argTypes:
    - Address
    - Opmask
    constantsTouched: []
    func_position:
      end: 1704
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1704
    functionName: kmovd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kmovd(const Address& addr, const Opmask& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1705,1
    - Dst: isOPMASK
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1705,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1705,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' k'
    - ' op'
    argTypes:
    - Opmask
    - Operand
    constantsTouched: []
    func_position:
      end: 1705
      start: 1705
    functionDepth: 0
    functionLinenumber: 1705
    functionLinenumberEnd: 1705
    functionName: kmovd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opVex
    - isOPMASK
    linkageType: ''
    returnType: void
    signature: void kmovd(const Opmask& k, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - ' r'
    argTypes:
    - Opmask
    - Reg32
    constantsTouched: []
    func_position:
      end: 1706
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1706
    functionName: kmovd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kmovd(const Opmask& k, const Reg32& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' k'
    argTypes:
    - Reg32
    - Opmask
    constantsTouched: []
    func_position:
      end: 1707
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1707
    functionName: kmovd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kmovd(const Reg32& r, const Opmask& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' k'
    argTypes:
    - Address
    - Opmask
    constantsTouched: []
    func_position:
      end: 1708
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1708
    functionName: kmovq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kmovq(const Address& addr, const Opmask& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1709,1
    - Dst: isOPMASK
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1709,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1709,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' k'
    - ' op'
    argTypes:
    - Opmask
    - Operand
    constantsTouched: []
    func_position:
      end: 1709
      start: 1709
    functionDepth: 0
    functionLinenumber: 1709
    functionLinenumberEnd: 1709
    functionName: kmovq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opVex
    - isOPMASK
    linkageType: ''
    returnType: void
    signature: void kmovq(const Opmask& k, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' k'
    argTypes:
    - Address
    - Opmask
    constantsTouched: []
    func_position:
      end: 1710
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1710
    functionName: kmovw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kmovw(const Address& addr, const Opmask& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1711,1
    - Dst: isOPMASK
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1711,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1711,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' k'
    - ' op'
    argTypes:
    - Opmask
    - Operand
    constantsTouched: []
    func_position:
      end: 1711
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1711
    functionName: kmovw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opVex
    - isOPMASK
    linkageType: ''
    returnType: void
    signature: void kmovw(const Opmask& k, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - ' r'
    argTypes:
    - Opmask
    - Reg32
    constantsTouched: []
    func_position:
      end: 1712
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1712
    functionName: kmovw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kmovw(const Opmask& k, const Reg32& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' k'
    argTypes:
    - Reg32
    - Opmask
    constantsTouched: []
    func_position:
      end: 1713
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1713
    functionName: kmovw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kmovw(const Reg32& r, const Opmask& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r1'
    - ' r2'
    argTypes:
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1714
      start: 1714
    functionDepth: 0
    functionLinenumber: 1714
    functionLinenumberEnd: 1714
    functionName: knotb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void knotb(const Opmask& r1, const Opmask& r2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r1'
    - ' r2'
    argTypes:
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1715
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1715
    functionName: knotd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void knotd(const Opmask& r1, const Opmask& r2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r1'
    - ' r2'
    argTypes:
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1716
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1716
    functionName: knotq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void knotq(const Opmask& r1, const Opmask& r2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r1'
    - ' r2'
    argTypes:
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1717
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1717
    functionName: knotw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void knotw(const Opmask& r1, const Opmask& r2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1718
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1718
    functionName: korb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void korb(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1719
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1719
    functionName: kord
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kord(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1720
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1720
    functionName: korq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void korq(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r1'
    - ' r2'
    argTypes:
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1721
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1721
    functionName: kortestb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kortestb(const Opmask& r1, const Opmask& r2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r1'
    - ' r2'
    argTypes:
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1722
      start: 1722
    functionDepth: 0
    functionLinenumber: 1722
    functionLinenumberEnd: 1722
    functionName: kortestd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kortestd(const Opmask& r1, const Opmask& r2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r1'
    - ' r2'
    argTypes:
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1723
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1723
    functionName: kortestq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kortestq(const Opmask& r1, const Opmask& r2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r1'
    - ' r2'
    argTypes:
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1724
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1724
    functionName: kortestw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kortestw(const Opmask& r1, const Opmask& r2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1725
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1725
    functionName: korw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void korw(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - imm
    argTypes:
    - Opmask
    - Opmask
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1726
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1726
    functionName: kshiftlb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kshiftlb(const Opmask& r1, const Opmask& r2, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - imm
    argTypes:
    - Opmask
    - Opmask
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1727
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1727
    functionName: kshiftld
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kshiftld(const Opmask& r1, const Opmask& r2, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - imm
    argTypes:
    - Opmask
    - Opmask
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1728
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1728
    functionName: kshiftlq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kshiftlq(const Opmask& r1, const Opmask& r2, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - imm
    argTypes:
    - Opmask
    - Opmask
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1729
      start: 1729
    functionDepth: 0
    functionLinenumber: 1729
    functionLinenumberEnd: 1729
    functionName: kshiftlw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kshiftlw(const Opmask& r1, const Opmask& r2, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - imm
    argTypes:
    - Opmask
    - Opmask
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1730
      start: 1730
    functionDepth: 0
    functionLinenumber: 1730
    functionLinenumberEnd: 1730
    functionName: kshiftrb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kshiftrb(const Opmask& r1, const Opmask& r2, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - imm
    argTypes:
    - Opmask
    - Opmask
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1731
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1731
    functionName: kshiftrd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kshiftrd(const Opmask& r1, const Opmask& r2, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - imm
    argTypes:
    - Opmask
    - Opmask
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1732
      start: 1732
    functionDepth: 0
    functionLinenumber: 1732
    functionLinenumberEnd: 1732
    functionName: kshiftrq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kshiftrq(const Opmask& r1, const Opmask& r2, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - imm
    argTypes:
    - Opmask
    - Opmask
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1733
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1733
    functionName: kshiftrw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kshiftrw(const Opmask& r1, const Opmask& r2, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r1'
    - ' r2'
    argTypes:
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1734
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1734
    functionName: ktestb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void ktestb(const Opmask& r1, const Opmask& r2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r1'
    - ' r2'
    argTypes:
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1735
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1735
    functionName: ktestd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void ktestd(const Opmask& r1, const Opmask& r2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r1'
    - ' r2'
    argTypes:
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1736
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1736
    functionName: ktestq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void ktestq(const Opmask& r1, const Opmask& r2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r1'
    - ' r2'
    argTypes:
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1737
      start: 1737
    functionDepth: 0
    functionLinenumber: 1737
    functionLinenumberEnd: 1737
    functionName: ktestw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void ktestw(const Opmask& r1, const Opmask& r2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1738
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1738
    functionName: kunpckbw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kunpckbw(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1739
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1739
    functionName: kunpckdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kunpckdq(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1740
      start: 1740
    functionDepth: 0
    functionLinenumber: 1740
    functionLinenumberEnd: 1740
    functionName: kunpckwd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kunpckwd(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1741
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1741
    functionName: kxnorb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kxnorb(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1742
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1742
    functionName: kxnord
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kxnord(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1743
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1743
    functionName: kxnorq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kxnorq(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1744
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1744
    functionName: kxnorw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kxnorw(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1745
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1745
    functionName: kxorb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kxorb(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1746
      start: 1746
    functionDepth: 0
    functionLinenumber: 1746
    functionLinenumberEnd: 1746
    functionName: kxord
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kxord(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1747
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1747
    functionName: kxorq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kxorq(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r1'
    - ' r2'
    - ' r3'
    argTypes:
    - Opmask
    - Opmask
    - Opmask
    constantsTouched: []
    func_position:
      end: 1748
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1748
    functionName: kxorw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kxorw(const Opmask& r1, const Opmask& r2, const Opmask& r3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z1'
    - ' z2'
    - ' addr'
    argTypes:
    - Zmm
    - Zmm
    - Address
    constantsTouched: []
    func_position:
      end: 1749
      start: 1749
    functionDepth: 0
    functionLinenumber: 1749
    functionLinenumberEnd: 1749
    functionName: v4fmaddps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void v4fmaddps(const Zmm& z1, const Zmm& z2, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' addr'
    argTypes:
    - Xmm
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 1750
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1750
    functionName: v4fmaddss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void v4fmaddss(const Xmm& x1, const Xmm& x2, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z1'
    - ' z2'
    - ' addr'
    argTypes:
    - Zmm
    - Zmm
    - Address
    constantsTouched: []
    func_position:
      end: 1751
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1751
    functionName: v4fnmaddps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void v4fnmaddps(const Zmm& z1, const Zmm& z2, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' addr'
    argTypes:
    - Xmm
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 1752
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1752
    functionName: v4fnmaddss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void v4fnmaddss(const Xmm& x1, const Xmm& x2, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1753,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1753
      start: 1753
    functionDepth: 0
    functionLinenumber: 1753
    functionLinenumberEnd: 1753
    functionName: vaddph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vaddph(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1754,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1754
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1754
    functionName: vaddsh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vaddsh(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1755
      start: 1755
    functionDepth: 0
    functionLinenumber: 1755
    functionLinenumberEnd: 1755
    functionName: valignd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void valignd(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1756
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1756
    functionName: valignq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void valignq(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1757
      start: 1757
    functionDepth: 0
    functionLinenumber: 1757
    functionLinenumberEnd: 1757
    functionName: vblendmpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vblendmpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1758
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1758
    functionName: vblendmps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vblendmps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' op'
    argTypes:
    - Ymm
    - Operand
    constantsTouched: []
    func_position:
      end: 1759
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1759
    functionName: vbroadcastf32x2
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vbroadcastf32x2(const Ymm& y, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' addr'
    argTypes:
    - Ymm
    - Address
    constantsTouched: []
    func_position:
      end: 1760
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1760
    functionName: vbroadcastf32x4
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vbroadcastf32x4(const Ymm& y, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' addr'
    argTypes:
    - Zmm
    - Address
    constantsTouched: []
    func_position:
      end: 1761
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1761
    functionName: vbroadcastf32x8
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vbroadcastf32x8(const Zmm& y, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' addr'
    argTypes:
    - Ymm
    - Address
    constantsTouched: []
    func_position:
      end: 1762
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1762
    functionName: vbroadcastf64x2
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vbroadcastf64x2(const Ymm& y, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' addr'
    argTypes:
    - Zmm
    - Address
    constantsTouched: []
    func_position:
      end: 1763
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1763
    functionName: vbroadcastf64x4
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vbroadcastf64x4(const Zmm& y, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1764
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1764
    functionName: vbroadcasti32x2
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vbroadcasti32x2(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' op'
    argTypes:
    - Ymm
    - Operand
    constantsTouched: []
    func_position:
      end: 1765
      start: 1765
    functionDepth: 0
    functionLinenumber: 1765
    functionLinenumberEnd: 1765
    functionName: vbroadcasti32x4
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vbroadcasti32x4(const Ymm& y, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' z'
    - ' op'
    argTypes:
    - Zmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1766
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1766
    functionName: vbroadcasti32x8
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vbroadcasti32x8(const Zmm& z, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' op'
    argTypes:
    - Ymm
    - Operand
    constantsTouched: []
    func_position:
      end: 1767
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1767
    functionName: vbroadcasti64x2
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vbroadcasti64x2(const Ymm& y, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' z'
    - ' op'
    argTypes:
    - Zmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1768
      start: 1768
    functionDepth: 0
    functionLinenumber: 1768
    functionLinenumberEnd: 1768
    functionName: vbroadcasti64x4
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vbroadcasti64x4(const Zmm& z, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1769
      start: 1769
    functionDepth: 1
    functionLinenumber: 1769
    functionLinenumberEnd: 1769
    functionName: vcmpeq_ospd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpeq_ospd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1770
      start: 1770
    functionDepth: 1
    functionLinenumber: 1770
    functionLinenumberEnd: 1770
    functionName: vcmpeq_osps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpeq_osps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1771
      start: 1771
    functionDepth: 1
    functionLinenumber: 1771
    functionLinenumberEnd: 1771
    functionName: vcmpeq_ossd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpeq_ossd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1772
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1772
    functionName: vcmpeq_osss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpeq_osss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1773
      start: 1773
    functionDepth: 1
    functionLinenumber: 1773
    functionLinenumberEnd: 1773
    functionName: vcmpeq_uqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpeq_uqpd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1774
      start: 1774
    functionDepth: 1
    functionLinenumber: 1774
    functionLinenumberEnd: 1774
    functionName: vcmpeq_uqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpeq_uqps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1775
      start: 1775
    functionDepth: 1
    functionLinenumber: 1775
    functionLinenumberEnd: 1775
    functionName: vcmpeq_uqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpeq_uqsd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1776
      start: 1776
    functionDepth: 1
    functionLinenumber: 1776
    functionLinenumberEnd: 1776
    functionName: vcmpeq_uqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpeq_uqss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1777
      start: 1777
    functionDepth: 1
    functionLinenumber: 1777
    functionLinenumberEnd: 1777
    functionName: vcmpeq_uspd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpeq_uspd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1778
      start: 1778
    functionDepth: 1
    functionLinenumber: 1778
    functionLinenumberEnd: 1778
    functionName: vcmpeq_usps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpeq_usps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1779
      start: 1779
    functionDepth: 1
    functionLinenumber: 1779
    functionLinenumberEnd: 1779
    functionName: vcmpeq_ussd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpeq_ussd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1780
      start: 1780
    functionDepth: 1
    functionLinenumber: 1780
    functionLinenumberEnd: 1780
    functionName: vcmpeq_usss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpeq_usss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1781
      start: 1781
    functionDepth: 1
    functionLinenumber: 1781
    functionLinenumberEnd: 1781
    functionName: vcmpeqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpeqpd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1782
      start: 1782
    functionDepth: 1
    functionLinenumber: 1782
    functionLinenumberEnd: 1782
    functionName: vcmpeqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpeqps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1783
      start: 1783
    functionDepth: 1
    functionLinenumber: 1783
    functionLinenumberEnd: 1783
    functionName: vcmpeqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpeqsd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1784
      start: 1784
    functionDepth: 1
    functionLinenumber: 1784
    functionLinenumberEnd: 1784
    functionName: vcmpeqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpeqss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1785
      start: 1785
    functionDepth: 1
    functionLinenumber: 1785
    functionLinenumberEnd: 1785
    functionName: vcmpfalse_ospd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpfalse_ospd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1786
      start: 1786
    functionDepth: 1
    functionLinenumber: 1786
    functionLinenumberEnd: 1786
    functionName: vcmpfalse_osps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpfalse_osps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1787
      start: 1787
    functionDepth: 1
    functionLinenumber: 1787
    functionLinenumberEnd: 1787
    functionName: vcmpfalse_ossd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpfalse_ossd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1788
      start: 1788
    functionDepth: 1
    functionLinenumber: 1788
    functionLinenumberEnd: 1788
    functionName: vcmpfalse_osss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpfalse_osss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1789
      start: 1789
    functionDepth: 1
    functionLinenumber: 1789
    functionLinenumberEnd: 1789
    functionName: vcmpfalsepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpfalsepd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1790
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1790
    functionName: vcmpfalseps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpfalseps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1791
      start: 1791
    functionDepth: 1
    functionLinenumber: 1791
    functionLinenumberEnd: 1791
    functionName: vcmpfalsesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpfalsesd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1792
      start: 1792
    functionDepth: 1
    functionLinenumber: 1792
    functionLinenumberEnd: 1792
    functionName: vcmpfalsess
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpfalsess(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1793
      start: 1793
    functionDepth: 1
    functionLinenumber: 1793
    functionLinenumberEnd: 1793
    functionName: vcmpge_oqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpge_oqpd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1794
      start: 1794
    functionDepth: 1
    functionLinenumber: 1794
    functionLinenumberEnd: 1794
    functionName: vcmpge_oqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpge_oqps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1795
      start: 1795
    functionDepth: 1
    functionLinenumber: 1795
    functionLinenumberEnd: 1795
    functionName: vcmpge_oqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpge_oqsd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1796
      start: 1796
    functionDepth: 1
    functionLinenumber: 1796
    functionLinenumberEnd: 1796
    functionName: vcmpge_oqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpge_oqss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1797
      start: 1797
    functionDepth: 1
    functionLinenumber: 1797
    functionLinenumberEnd: 1797
    functionName: vcmpgepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpgepd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1798
      start: 1798
    functionDepth: 1
    functionLinenumber: 1798
    functionLinenumberEnd: 1798
    functionName: vcmpgeps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpgeps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1799
      start: 1799
    functionDepth: 1
    functionLinenumber: 1799
    functionLinenumberEnd: 1799
    functionName: vcmpgesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpgesd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1800
      start: 1800
    functionDepth: 1
    functionLinenumber: 1800
    functionLinenumberEnd: 1800
    functionName: vcmpgess
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpgess(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1801
      start: 1801
    functionDepth: 1
    functionLinenumber: 1801
    functionLinenumberEnd: 1801
    functionName: vcmpgt_oqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpgt_oqpd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1802
      start: 1802
    functionDepth: 1
    functionLinenumber: 1802
    functionLinenumberEnd: 1802
    functionName: vcmpgt_oqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpgt_oqps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1803
      start: 1803
    functionDepth: 1
    functionLinenumber: 1803
    functionLinenumberEnd: 1803
    functionName: vcmpgt_oqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpgt_oqsd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1804
      start: 1804
    functionDepth: 1
    functionLinenumber: 1804
    functionLinenumberEnd: 1804
    functionName: vcmpgt_oqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpgt_oqss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1805
      start: 1805
    functionDepth: 1
    functionLinenumber: 1805
    functionLinenumberEnd: 1805
    functionName: vcmpgtpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpgtpd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1806
      start: 1806
    functionDepth: 1
    functionLinenumber: 1806
    functionLinenumberEnd: 1806
    functionName: vcmpgtps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpgtps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1807
      start: 1807
    functionDepth: 1
    functionLinenumber: 1807
    functionLinenumberEnd: 1807
    functionName: vcmpgtsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpgtsd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1808
      start: 1808
    functionDepth: 1
    functionLinenumber: 1808
    functionLinenumberEnd: 1808
    functionName: vcmpgtss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpgtss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1809
      start: 1809
    functionDepth: 1
    functionLinenumber: 1809
    functionLinenumberEnd: 1809
    functionName: vcmple_oqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmple_oqpd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1810
      start: 1810
    functionDepth: 1
    functionLinenumber: 1810
    functionLinenumberEnd: 1810
    functionName: vcmple_oqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmple_oqps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1811
      start: 1811
    functionDepth: 1
    functionLinenumber: 1811
    functionLinenumberEnd: 1811
    functionName: vcmple_oqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmple_oqsd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1812
      start: 1812
    functionDepth: 1
    functionLinenumber: 1812
    functionLinenumberEnd: 1812
    functionName: vcmple_oqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmple_oqss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1813
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1813
    functionName: vcmplepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmplepd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1814
      start: 1814
    functionDepth: 1
    functionLinenumber: 1814
    functionLinenumberEnd: 1814
    functionName: vcmpleps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpleps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1815
      start: 1815
    functionDepth: 1
    functionLinenumber: 1815
    functionLinenumberEnd: 1815
    functionName: vcmplesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmplesd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1816
      start: 1816
    functionDepth: 1
    functionLinenumber: 1816
    functionLinenumberEnd: 1816
    functionName: vcmpless
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpless(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1817
      start: 1817
    functionDepth: 1
    functionLinenumber: 1817
    functionLinenumberEnd: 1817
    functionName: vcmplt_oqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmplt_oqpd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1818
      start: 1818
    functionDepth: 1
    functionLinenumber: 1818
    functionLinenumberEnd: 1818
    functionName: vcmplt_oqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmplt_oqps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1819
      start: 1819
    functionDepth: 1
    functionLinenumber: 1819
    functionLinenumberEnd: 1819
    functionName: vcmplt_oqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmplt_oqsd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1820
      start: 1820
    functionDepth: 1
    functionLinenumber: 1820
    functionLinenumberEnd: 1820
    functionName: vcmplt_oqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmplt_oqss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1821
      start: 1821
    functionDepth: 1
    functionLinenumber: 1821
    functionLinenumberEnd: 1821
    functionName: vcmpltpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpltpd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1822
      start: 1822
    functionDepth: 1
    functionLinenumber: 1822
    functionLinenumberEnd: 1822
    functionName: vcmpltps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpltps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1823
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1823
    functionName: vcmpltsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpltsd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1824
      start: 1824
    functionDepth: 1
    functionLinenumber: 1824
    functionLinenumberEnd: 1824
    functionName: vcmpltss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpltss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1825
      start: 1825
    functionDepth: 1
    functionLinenumber: 1825
    functionLinenumberEnd: 1825
    functionName: vcmpneq_oqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpneq_oqpd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1826
      start: 1826
    functionDepth: 1
    functionLinenumber: 1826
    functionLinenumberEnd: 1826
    functionName: vcmpneq_oqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpneq_oqps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1827
      start: 1827
    functionDepth: 1
    functionLinenumber: 1827
    functionLinenumberEnd: 1827
    functionName: vcmpneq_oqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpneq_oqsd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1828
      start: 1828
    functionDepth: 1
    functionLinenumber: 1828
    functionLinenumberEnd: 1828
    functionName: vcmpneq_oqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpneq_oqss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1829
      start: 1829
    functionDepth: 1
    functionLinenumber: 1829
    functionLinenumberEnd: 1829
    functionName: vcmpneq_ospd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpneq_ospd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1830
      start: 1830
    functionDepth: 1
    functionLinenumber: 1830
    functionLinenumberEnd: 1830
    functionName: vcmpneq_osps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpneq_osps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1831
      start: 1831
    functionDepth: 1
    functionLinenumber: 1831
    functionLinenumberEnd: 1831
    functionName: vcmpneq_ossd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpneq_ossd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1832
      start: 1832
    functionDepth: 1
    functionLinenumber: 1832
    functionLinenumberEnd: 1832
    functionName: vcmpneq_osss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpneq_osss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1833
      start: 1833
    functionDepth: 1
    functionLinenumber: 1833
    functionLinenumberEnd: 1833
    functionName: vcmpneq_uspd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpneq_uspd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1834
      start: 1834
    functionDepth: 1
    functionLinenumber: 1834
    functionLinenumberEnd: 1834
    functionName: vcmpneq_usps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpneq_usps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1835
      start: 1835
    functionDepth: 1
    functionLinenumber: 1835
    functionLinenumberEnd: 1835
    functionName: vcmpneq_ussd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpneq_ussd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1836
      start: 1836
    functionDepth: 1
    functionLinenumber: 1836
    functionLinenumberEnd: 1836
    functionName: vcmpneq_usss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpneq_usss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1837
      start: 1837
    functionDepth: 1
    functionLinenumber: 1837
    functionLinenumberEnd: 1837
    functionName: vcmpneqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpneqpd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1838
      start: 1838
    functionDepth: 1
    functionLinenumber: 1838
    functionLinenumberEnd: 1838
    functionName: vcmpneqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpneqps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1839
      start: 1839
    functionDepth: 1
    functionLinenumber: 1839
    functionLinenumberEnd: 1839
    functionName: vcmpneqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpneqsd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1840
      start: 1840
    functionDepth: 1
    functionLinenumber: 1840
    functionLinenumberEnd: 1840
    functionName: vcmpneqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpneqss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1841
      start: 1841
    functionDepth: 1
    functionLinenumber: 1841
    functionLinenumberEnd: 1841
    functionName: vcmpnge_uqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpnge_uqpd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1842
      start: 1842
    functionDepth: 1
    functionLinenumber: 1842
    functionLinenumberEnd: 1842
    functionName: vcmpnge_uqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpnge_uqps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1843
      start: 1843
    functionDepth: 1
    functionLinenumber: 1843
    functionLinenumberEnd: 1843
    functionName: vcmpnge_uqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpnge_uqsd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1844
      start: 1844
    functionDepth: 1
    functionLinenumber: 1844
    functionLinenumberEnd: 1844
    functionName: vcmpnge_uqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpnge_uqss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1845
      start: 1845
    functionDepth: 1
    functionLinenumber: 1845
    functionLinenumberEnd: 1845
    functionName: vcmpngepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpngepd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1846
      start: 1846
    functionDepth: 1
    functionLinenumber: 1846
    functionLinenumberEnd: 1846
    functionName: vcmpngeps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpngeps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1847
      start: 1847
    functionDepth: 1
    functionLinenumber: 1847
    functionLinenumberEnd: 1847
    functionName: vcmpngesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpngesd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1848
      start: 1848
    functionDepth: 1
    functionLinenumber: 1848
    functionLinenumberEnd: 1848
    functionName: vcmpngess
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpngess(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1849
      start: 1849
    functionDepth: 1
    functionLinenumber: 1849
    functionLinenumberEnd: 1849
    functionName: vcmpngt_uqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpngt_uqpd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1850
      start: 1850
    functionDepth: 1
    functionLinenumber: 1850
    functionLinenumberEnd: 1850
    functionName: vcmpngt_uqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpngt_uqps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1851
      start: 1851
    functionDepth: 1
    functionLinenumber: 1851
    functionLinenumberEnd: 1851
    functionName: vcmpngt_uqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpngt_uqsd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1852
      start: 1852
    functionDepth: 1
    functionLinenumber: 1852
    functionLinenumberEnd: 1852
    functionName: vcmpngt_uqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpngt_uqss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1853
      start: 1853
    functionDepth: 1
    functionLinenumber: 1853
    functionLinenumberEnd: 1853
    functionName: vcmpngtpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpngtpd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1854
      start: 1854
    functionDepth: 1
    functionLinenumber: 1854
    functionLinenumberEnd: 1854
    functionName: vcmpngtps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpngtps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1855
      start: 1855
    functionDepth: 1
    functionLinenumber: 1855
    functionLinenumberEnd: 1855
    functionName: vcmpngtsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpngtsd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1856
      start: 1856
    functionDepth: 1
    functionLinenumber: 1856
    functionLinenumberEnd: 1856
    functionName: vcmpngtss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpngtss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1857
      start: 1857
    functionDepth: 1
    functionLinenumber: 1857
    functionLinenumberEnd: 1857
    functionName: vcmpnle_uqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpnle_uqpd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1858
      start: 1858
    functionDepth: 1
    functionLinenumber: 1858
    functionLinenumberEnd: 1858
    functionName: vcmpnle_uqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpnle_uqps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1859
      start: 1859
    functionDepth: 1
    functionLinenumber: 1859
    functionLinenumberEnd: 1859
    functionName: vcmpnle_uqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpnle_uqsd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1860
      start: 1860
    functionDepth: 1
    functionLinenumber: 1860
    functionLinenumberEnd: 1860
    functionName: vcmpnle_uqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpnle_uqss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1861
      start: 1861
    functionDepth: 1
    functionLinenumber: 1861
    functionLinenumberEnd: 1861
    functionName: vcmpnlepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpnlepd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1862
      start: 1862
    functionDepth: 1
    functionLinenumber: 1862
    functionLinenumberEnd: 1862
    functionName: vcmpnleps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpnleps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1863
      start: 1863
    functionDepth: 1
    functionLinenumber: 1863
    functionLinenumberEnd: 1863
    functionName: vcmpnlesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpnlesd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1864
      start: 1864
    functionDepth: 1
    functionLinenumber: 1864
    functionLinenumberEnd: 1864
    functionName: vcmpnless
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpnless(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1865
      start: 1865
    functionDepth: 1
    functionLinenumber: 1865
    functionLinenumberEnd: 1865
    functionName: vcmpnlt_uqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpnlt_uqpd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1866
      start: 1866
    functionDepth: 1
    functionLinenumber: 1866
    functionLinenumberEnd: 1866
    functionName: vcmpnlt_uqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpnlt_uqps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1867
      start: 1867
    functionDepth: 1
    functionLinenumber: 1867
    functionLinenumberEnd: 1867
    functionName: vcmpnlt_uqsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpnlt_uqsd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1868
      start: 1868
    functionDepth: 1
    functionLinenumber: 1868
    functionLinenumberEnd: 1868
    functionName: vcmpnlt_uqss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpnlt_uqss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1869
      start: 1869
    functionDepth: 1
    functionLinenumber: 1869
    functionLinenumberEnd: 1869
    functionName: vcmpnltpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpnltpd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1870
      start: 1870
    functionDepth: 1
    functionLinenumber: 1870
    functionLinenumberEnd: 1870
    functionName: vcmpnltps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpnltps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1871
      start: 1871
    functionDepth: 1
    functionLinenumber: 1871
    functionLinenumberEnd: 1871
    functionName: vcmpnltsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpnltsd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1872
      start: 1872
    functionDepth: 1
    functionLinenumber: 1872
    functionLinenumberEnd: 1872
    functionName: vcmpnltss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpnltss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1873
      start: 1873
    functionDepth: 1
    functionLinenumber: 1873
    functionLinenumberEnd: 1873
    functionName: vcmpord_spd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpord_spd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1874
      start: 1874
    functionDepth: 1
    functionLinenumber: 1874
    functionLinenumberEnd: 1874
    functionName: vcmpord_sps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpord_sps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1875
      start: 1875
    functionDepth: 1
    functionLinenumber: 1875
    functionLinenumberEnd: 1875
    functionName: vcmpord_ssd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpord_ssd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1876
      start: 1876
    functionDepth: 1
    functionLinenumber: 1876
    functionLinenumberEnd: 1876
    functionName: vcmpord_sss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpord_sss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1877
      start: 1877
    functionDepth: 1
    functionLinenumber: 1877
    functionLinenumberEnd: 1877
    functionName: vcmpordpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpordpd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1878
      start: 1878
    functionDepth: 1
    functionLinenumber: 1878
    functionLinenumberEnd: 1878
    functionName: vcmpordps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpordps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1879
      start: 1879
    functionDepth: 1
    functionLinenumber: 1879
    functionLinenumberEnd: 1879
    functionName: vcmpordsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpordsd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1880
      start: 1880
    functionDepth: 1
    functionLinenumber: 1880
    functionLinenumberEnd: 1880
    functionName: vcmpordss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpordss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' k'
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Opmask
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1881
      start: 1881
    functionDepth: 0
    functionLinenumber: 1881
    functionLinenumberEnd: 1881
    functionName: vcmppd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 61
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vcmppd(const Opmask& k, const Xmm& x, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' k'
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Opmask
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1882
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1882
    functionName: vcmpph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vcmpph(const Opmask& k, const Xmm& x, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' k'
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Opmask
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1883
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1883
    functionName: vcmpps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 61
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vcmpps(const Opmask& k, const Xmm& x, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' k'
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Opmask
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1884
      start: 1884
    functionDepth: 0
    functionLinenumber: 1884
    functionLinenumberEnd: 1884
    functionName: vcmpsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 61
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vcmpsd(const Opmask& k, const Xmm& x, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' k'
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Opmask
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1885
      start: 1885
    functionDepth: 0
    functionLinenumber: 1885
    functionLinenumberEnd: 1885
    functionName: vcmpsh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vcmpsh(const Opmask& k, const Xmm& x, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' k'
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Opmask
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1886
      start: 1886
    functionDepth: 0
    functionLinenumber: 1886
    functionLinenumberEnd: 1886
    functionName: vcmpss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 61
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vcmpss(const Opmask& k, const Xmm& x, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1887
      start: 1887
    functionDepth: 1
    functionLinenumber: 1887
    functionLinenumberEnd: 1887
    functionName: vcmptrue_uspd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmptrue_uspd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1888
      start: 1888
    functionDepth: 1
    functionLinenumber: 1888
    functionLinenumberEnd: 1888
    functionName: vcmptrue_usps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmptrue_usps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1889
      start: 1889
    functionDepth: 1
    functionLinenumber: 1889
    functionLinenumberEnd: 1889
    functionName: vcmptrue_ussd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmptrue_ussd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1890
      start: 1890
    functionDepth: 1
    functionLinenumber: 1890
    functionLinenumberEnd: 1890
    functionName: vcmptrue_usss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmptrue_usss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1891
      start: 1891
    functionDepth: 1
    functionLinenumber: 1891
    functionLinenumberEnd: 1891
    functionName: vcmptruepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmptruepd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1892
      start: 1892
    functionDepth: 1
    functionLinenumber: 1892
    functionLinenumberEnd: 1892
    functionName: vcmptrueps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmptrueps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1893
      start: 1893
    functionDepth: 1
    functionLinenumber: 1893
    functionLinenumberEnd: 1893
    functionName: vcmptruesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmptruesd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1894
      start: 1894
    functionDepth: 1
    functionLinenumber: 1894
    functionLinenumberEnd: 1894
    functionName: vcmptruess
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmptruess(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1895
      start: 1895
    functionDepth: 1
    functionLinenumber: 1895
    functionLinenumberEnd: 1895
    functionName: vcmpunord_spd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpunord_spd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1896
      start: 1896
    functionDepth: 1
    functionLinenumber: 1896
    functionLinenumberEnd: 1896
    functionName: vcmpunord_sps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpunord_sps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1897
      start: 1897
    functionDepth: 1
    functionLinenumber: 1897
    functionLinenumberEnd: 1897
    functionName: vcmpunord_ssd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpunord_ssd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1898
      start: 1898
    functionDepth: 1
    functionLinenumber: 1898
    functionLinenumberEnd: 1898
    functionName: vcmpunord_sss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpunord_sss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmppd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1899
      start: 1899
    functionDepth: 1
    functionLinenumber: 1899
    functionLinenumberEnd: 1899
    functionName: vcmpunordpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmppd
    linkageType: ''
    returnType: void
    signature: void vcmpunordpd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpps
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1900
      start: 1900
    functionDepth: 1
    functionLinenumber: 1900
    functionLinenumberEnd: 1900
    functionName: vcmpunordps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpps
    linkageType: ''
    returnType: void
    signature: void vcmpunordps(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpsd
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1901
      start: 1901
    functionDepth: 1
    functionLinenumber: 1901
    functionLinenumberEnd: 1901
    functionName: vcmpunordsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpsd
    linkageType: ''
    returnType: void
    signature: void vcmpunordsd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vcmpss
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1902
      start: 1902
    functionDepth: 1
    functionLinenumber: 1902
    functionLinenumberEnd: 1902
    functionName: vcmpunordss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - vcmpss
    linkageType: ''
    returnType: void
    signature: void vcmpunordss(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1903
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1903
    functionName: vcomish
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcomish(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 1904
      start: 1904
    functionDepth: 0
    functionLinenumber: 1904
    functionLinenumberEnd: 1904
    functionName: vcompressb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcompressb(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 1905
      start: 1905
    functionDepth: 0
    functionLinenumber: 1905
    functionLinenumberEnd: 1905
    functionName: vcompresspd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcompresspd(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 1906
      start: 1906
    functionDepth: 0
    functionLinenumber: 1906
    functionLinenumberEnd: 1906
    functionName: vcompressps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcompressps(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 1907
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1907
    functionName: vcompressw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcompressw(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checkCvt4
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1908,1
    - Dst: opCvt
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1908
      start: 1908
    functionDepth: 0
    functionLinenumber: 1908
    functionLinenumberEnd: 1908
    functionName: vcvtdq2ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - checkCvt4
    - opCvt
    linkageType: ''
    returnType: void
    signature: void vcvtdq2ph(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1909
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1909
    functionName: vcvtne2ps2bf16
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vcvtne2ps2bf16(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opCvt2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1910
      start: 1910
    functionDepth: 0
    functionLinenumber: 1910
    functionLinenumberEnd: 1910
    functionName: vcvtneps2bf16
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opCvt2
    linkageType: ''
    returnType: void
    signature: void vcvtneps2bf16(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opCvt5
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1911
      start: 1911
    functionDepth: 0
    functionLinenumber: 1911
    functionLinenumberEnd: 1911
    functionName: vcvtpd2ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opCvt5
    linkageType: ''
    returnType: void
    signature: void vcvtpd2ph(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1912
      start: 1912
    functionDepth: 0
    functionLinenumber: 1912
    functionLinenumberEnd: 1912
    functionName: vcvtpd2qq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcvtpd2qq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opCvt2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1913
      start: 1913
    functionDepth: 0
    functionLinenumber: 1913
    functionLinenumberEnd: 1913
    functionName: vcvtpd2udq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opCvt2
    linkageType: ''
    returnType: void
    signature: void vcvtpd2udq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1914
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1914
    functionName: vcvtpd2uqq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcvtpd2uqq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checkCvt1
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1915,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1915
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 1915
    functionName: vcvtph2dq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - checkCvt1
    linkageType: ''
    returnType: void
    signature: void vcvtph2dq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1916,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1916,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1916,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1916,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1916
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1916
    functionName: vcvtph2pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opVex
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vcvtph2pd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checkCvt1
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1917,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1917
      start: 1917
    functionDepth: 0
    functionLinenumber: 1917
    functionLinenumberEnd: 1917
    functionName: vcvtph2psx
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - checkCvt1
    linkageType: ''
    returnType: void
    signature: void vcvtph2psx(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1918,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1918,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1918,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1918,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1918
      start: 1918
    functionDepth: 0
    functionLinenumber: 1918
    functionLinenumberEnd: 1918
    functionName: vcvtph2qq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opVex
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vcvtph2qq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checkCvt1
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1919,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1919
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1919
    functionName: vcvtph2udq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - checkCvt1
    linkageType: ''
    returnType: void
    signature: void vcvtph2udq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1920,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1920,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1920,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1920
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1920
    functionName: vcvtph2uqq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opVex
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vcvtph2uqq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1921
      start: 1921
    functionDepth: 0
    functionLinenumber: 1921
    functionLinenumberEnd: 1921
    functionName: vcvtph2uw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcvtph2uw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1922
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1922
    functionName: vcvtph2w
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcvtph2w(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checkCvt4
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1923,1
    - Dst: opCvt
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1923
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1923
    functionName: vcvtps2phx
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - checkCvt4
    - opCvt
    linkageType: ''
    returnType: void
    signature: void vcvtps2phx(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checkCvt1
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1924,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1924
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1924
    functionName: vcvtps2qq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - checkCvt1
    linkageType: ''
    returnType: void
    signature: void vcvtps2qq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1925
      start: 1925
    functionDepth: 0
    functionLinenumber: 1925
    functionLinenumberEnd: 1925
    functionName: vcvtps2udq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcvtps2udq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checkCvt1
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1926,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1926
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1926
    functionName: vcvtps2uqq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - checkCvt1
    linkageType: ''
    returnType: void
    signature: void vcvtps2uqq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1927
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1927
    functionName: vcvtqq2pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcvtqq2pd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opCvt5
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1928
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1928
    functionName: vcvtqq2ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opCvt5
    linkageType: ''
    returnType: void
    signature: void vcvtqq2ph(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opCvt2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1929
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1929
    functionName: vcvtqq2ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opCvt2
    linkageType: ''
    returnType: void
    signature: void vcvtqq2ps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1930
      start: 1930
    functionDepth: 0
    functionLinenumber: 1930
    functionLinenumberEnd: 1930
    functionName: vcvtsd2sh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vcvtsd2sh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg32e
    - Operand
    constantsTouched: []
    func_position:
      end: 1931
      start: 1931
    functionDepth: 0
    functionLinenumber: 1931
    functionLinenumberEnd: 1931
    functionName: vcvtsd2usi
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vcvtsd2usi(const Reg32e& r, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1932
      start: 1932
    functionDepth: 0
    functionLinenumber: 1932
    functionLinenumberEnd: 1932
    functionName: vcvtsh2sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vcvtsh2sd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg32e
    - Operand
    constantsTouched: []
    func_position:
      end: 1933
      start: 1933
    functionDepth: 0
    functionLinenumber: 1933
    functionLinenumberEnd: 1933
    functionName: vcvtsh2si
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vcvtsh2si(const Reg32e& r, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1934
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1934
    functionName: vcvtsh2ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vcvtsh2ss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg32e
    - Operand
    constantsTouched: []
    func_position:
      end: 1935
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 1935
    functionName: vcvtsh2usi
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vcvtsh2usi(const Reg32e& r, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1936,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1936,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1936,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1936,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1936,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1936
      start: 1936
    functionDepth: 0
    functionLinenumber: 1936
    functionLinenumberEnd: 1936
    functionName: vcvtsi2sh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - XBYAK_THROW
    - isBit
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vcvtsi2sh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1937
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1937
    functionName: vcvtss2sh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vcvtss2sh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg32e
    - Operand
    constantsTouched: []
    func_position:
      end: 1938
      start: 1938
    functionDepth: 0
    functionLinenumber: 1938
    functionLinenumberEnd: 1938
    functionName: vcvtss2usi
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vcvtss2usi(const Reg32e& r, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1939
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1939
    functionName: vcvttpd2qq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcvttpd2qq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opCvt2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1940
      start: 1940
    functionDepth: 0
    functionLinenumber: 1940
    functionLinenumberEnd: 1940
    functionName: vcvttpd2udq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opCvt2
    linkageType: ''
    returnType: void
    signature: void vcvttpd2udq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1941
      start: 1941
    functionDepth: 0
    functionLinenumber: 1941
    functionLinenumberEnd: 1941
    functionName: vcvttpd2uqq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcvttpd2uqq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checkCvt1
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1942,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1942
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1942
    functionName: vcvttph2dq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - checkCvt1
    linkageType: ''
    returnType: void
    signature: void vcvttph2dq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1943,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1943,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1943,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1943,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1943
      start: 1943
    functionDepth: 0
    functionLinenumber: 1943
    functionLinenumberEnd: 1943
    functionName: vcvttph2qq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opVex
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vcvttph2qq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checkCvt1
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1944,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1944
      start: 1944
    functionDepth: 0
    functionLinenumber: 1944
    functionLinenumberEnd: 1944
    functionName: vcvttph2udq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - checkCvt1
    linkageType: ''
    returnType: void
    signature: void vcvttph2udq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1945,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1945,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1945,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1945,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1945
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 1945
    functionName: vcvttph2uqq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - opVex
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vcvttph2uqq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1946
      start: 1946
    functionDepth: 0
    functionLinenumber: 1946
    functionLinenumberEnd: 1946
    functionName: vcvttph2uw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcvttph2uw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1947
      start: 1947
    functionDepth: 0
    functionLinenumber: 1947
    functionLinenumberEnd: 1947
    functionName: vcvttph2w
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcvttph2w(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checkCvt1
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1948,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1948
      start: 1948
    functionDepth: 0
    functionLinenumber: 1948
    functionLinenumberEnd: 1948
    functionName: vcvttps2qq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - checkCvt1
    linkageType: ''
    returnType: void
    signature: void vcvttps2qq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1949
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1949
    functionName: vcvttps2udq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcvttps2udq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checkCvt1
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1950,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1950
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1950
    functionName: vcvttps2uqq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - checkCvt1
    linkageType: ''
    returnType: void
    signature: void vcvttps2uqq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg32e
    - Operand
    constantsTouched: []
    func_position:
      end: 1951
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 1951
    functionName: vcvttsd2usi
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vcvttsd2usi(const Reg32e& r, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg32e
    - Operand
    constantsTouched: []
    func_position:
      end: 1952
      start: 1952
    functionDepth: 0
    functionLinenumber: 1952
    functionLinenumberEnd: 1952
    functionName: vcvttsh2si
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vcvttsh2si(const Reg32e& r, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg32e
    - Operand
    constantsTouched: []
    func_position:
      end: 1953
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 1953
    functionName: vcvttsh2usi
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vcvttsh2usi(const Reg32e& r, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' op'
    argTypes:
    - Reg32e
    - Operand
    constantsTouched: []
    func_position:
      end: 1954
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 1954
    functionName: vcvttss2usi
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vcvttss2usi(const Reg32e& r, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checkCvt1
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1955,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1955
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 1955
    functionName: vcvtudq2pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - checkCvt1
    linkageType: ''
    returnType: void
    signature: void vcvtudq2pd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checkCvt4
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1956,1
    - Dst: opCvt
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1956
      start: 1956
    functionDepth: 0
    functionLinenumber: 1956
    functionLinenumberEnd: 1956
    functionName: vcvtudq2ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - checkCvt4
    - opCvt
    linkageType: ''
    returnType: void
    signature: void vcvtudq2ph(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1957
      start: 1957
    functionDepth: 0
    functionLinenumber: 1957
    functionLinenumberEnd: 1957
    functionName: vcvtudq2ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcvtudq2ps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1958
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 1958
    functionName: vcvtuqq2pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcvtuqq2pd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opCvt5
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1959
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 1959
    functionName: vcvtuqq2ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opCvt5
    linkageType: ''
    returnType: void
    signature: void vcvtuqq2ph(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opCvt2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1960
      start: 1960
    functionDepth: 0
    functionLinenumber: 1960
    functionLinenumberEnd: 1960
    functionName: vcvtuqq2ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opCvt2
    linkageType: ''
    returnType: void
    signature: void vcvtuqq2ps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opCvt3
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1961
      start: 1961
    functionDepth: 0
    functionLinenumber: 1961
    functionLinenumberEnd: 1961
    functionName: vcvtusi2sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opCvt3
    linkageType: ''
    returnType: void
    signature: void vcvtusi2sd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1962,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1962,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1962,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1962,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1962,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1962
      start: 1962
    functionDepth: 0
    functionLinenumber: 1962
    functionLinenumberEnd: 1962
    functionName: vcvtusi2sh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - XBYAK_THROW
    - isBit
    - isXMM
    linkageType: ''
    returnType: void
    signature: void vcvtusi2sh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opCvt3
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1963
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1963
    functionName: vcvtusi2ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opCvt3
    linkageType: ''
    returnType: void
    signature: void vcvtusi2ss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1964
      start: 1964
    functionDepth: 0
    functionLinenumber: 1964
    functionLinenumberEnd: 1964
    functionName: vcvtuw2ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcvtuw2ph(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1965
      start: 1965
    functionDepth: 0
    functionLinenumber: 1965
    functionLinenumberEnd: 1965
    functionName: vcvtw2ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vcvtw2ph(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1966
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1966
    functionName: vdbpsadbw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vdbpsadbw(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1967,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1967
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1967
    functionName: vdivph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vdivph(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1968,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1968
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1968
    functionName: vdivsh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vdivsh(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1969
      start: 1969
    functionDepth: 0
    functionLinenumber: 1969
    functionLinenumberEnd: 1969
    functionName: vdpbf16ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vdpbf16ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' z'
    - ' op'
    argTypes:
    - Zmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1970
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1970
    functionName: vexp2pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vexp2pd(const Zmm& z, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' z'
    - ' op'
    argTypes:
    - Zmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1971
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1971
    functionName: vexp2ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vexp2ps(const Zmm& z, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1972
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 1972
    functionName: vexpandpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vexpandpd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1973
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 1973
    functionName: vexpandps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vexpandps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1974,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1974,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' op'
    - ' r'
    - imm
    argTypes:
    - Operand
    - Ymm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1974
      start: 1974
    functionDepth: 0
    functionLinenumber: 1974
    functionLinenumberEnd: 1974
    functionName: vextractf32x4
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - is
    - XBYAK_THROW
    linkageType: ''
    returnType: void
    signature: void vextractf32x4(const Operand& op, const Ymm& r, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1975,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1975,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' op'
    - ' r'
    - imm
    argTypes:
    - Operand
    - Zmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1975
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1975
    functionName: vextractf32x8
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - is
    - XBYAK_THROW
    linkageType: ''
    returnType: void
    signature: void vextractf32x8(const Operand& op, const Zmm& r, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1976,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1976,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' op'
    - ' r'
    - imm
    argTypes:
    - Operand
    - Ymm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1976
      start: 1976
    functionDepth: 0
    functionLinenumber: 1976
    functionLinenumberEnd: 1976
    functionName: vextractf64x2
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - is
    - XBYAK_THROW
    linkageType: ''
    returnType: void
    signature: void vextractf64x2(const Operand& op, const Ymm& r, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1977,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1977,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1977,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' op'
    - ' r'
    - imm
    argTypes:
    - Operand
    - Zmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1977
      start: 1977
    functionDepth: 0
    functionLinenumber: 1977
    functionLinenumberEnd: 1977
    functionName: vextractf64x4
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - is
    - XBYAK_THROW
    linkageType: ''
    returnType: void
    signature: void vextractf64x4(const Operand& op, const Zmm& r, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1978,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1978,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1978,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' op'
    - ' r'
    - imm
    argTypes:
    - Operand
    - Ymm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1978
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 1978
    functionName: vextracti32x4
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - is
    - XBYAK_THROW
    linkageType: ''
    returnType: void
    signature: void vextracti32x4(const Operand& op, const Ymm& r, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1979,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1979,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' op'
    - ' r'
    - imm
    argTypes:
    - Operand
    - Zmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1979
      start: 1979
    functionDepth: 0
    functionLinenumber: 1979
    functionLinenumberEnd: 1979
    functionName: vextracti32x8
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - is
    - XBYAK_THROW
    linkageType: ''
    returnType: void
    signature: void vextracti32x8(const Operand& op, const Zmm& r, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1980,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1980,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1980,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' op'
    - ' r'
    - imm
    argTypes:
    - Operand
    - Ymm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1980
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 1980
    functionName: vextracti64x2
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - is
    - XBYAK_THROW
    linkageType: ''
    returnType: void
    signature: void vextracti64x2(const Operand& op, const Ymm& r, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1981,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1981,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1981,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' op'
    - ' r'
    - imm
    argTypes:
    - Operand
    - Zmm
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1981
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 1981
    functionName: vextracti64x4
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - is
    - XBYAK_THROW
    linkageType: ''
    returnType: void
    signature: void vextracti64x4(const Operand& op, const Zmm& r, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1982
      start: 1982
    functionDepth: 0
    functionLinenumber: 1982
    functionLinenumberEnd: 1982
    functionName: vfcmaddcph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfcmaddcph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1983
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 1983
    functionName: vfcmulcph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfcmulcph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1984
      start: 1984
    functionDepth: 0
    functionLinenumber: 1984
    functionLinenumberEnd: 1984
    functionName: vfixupimmpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfixupimmpd(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1985
      start: 1985
    functionDepth: 0
    functionLinenumber: 1985
    functionLinenumberEnd: 1985
    functionName: vfixupimmps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfixupimmps(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1986
      start: 1986
    functionDepth: 0
    functionLinenumber: 1986
    functionLinenumberEnd: 1986
    functionName: vfixupimmsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfixupimmsd(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1987
      start: 1987
    functionDepth: 0
    functionLinenumber: 1987
    functionLinenumberEnd: 1987
    functionName: vfixupimmss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfixupimmss(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1988
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1988
    functionName: vfmadd132ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmadd132ph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1989
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 1989
    functionName: vfmadd132sh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmadd132sh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1990
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 1990
    functionName: vfmadd213ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmadd213ph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1991
      start: 1991
    functionDepth: 0
    functionLinenumber: 1991
    functionLinenumberEnd: 1991
    functionName: vfmadd213sh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmadd213sh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1992
      start: 1992
    functionDepth: 0
    functionLinenumber: 1992
    functionLinenumberEnd: 1992
    functionName: vfmadd231ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmadd231ph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1993
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 1993
    functionName: vfmadd231sh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmadd231sh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1994
      start: 1994
    functionDepth: 0
    functionLinenumber: 1994
    functionLinenumberEnd: 1994
    functionName: vfmaddcph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmaddcph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1995
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 1995
    functionName: vfmaddsub132ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmaddsub132ph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1996
      start: 1996
    functionDepth: 0
    functionLinenumber: 1996
    functionLinenumberEnd: 1996
    functionName: vfmaddsub213ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmaddsub213ph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1997
      start: 1997
    functionDepth: 0
    functionLinenumber: 1997
    functionLinenumberEnd: 1997
    functionName: vfmaddsub231ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmaddsub231ph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1998
      start: 1998
    functionDepth: 0
    functionLinenumber: 1998
    functionLinenumberEnd: 1998
    functionName: vfmsub132ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsub132ph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:1999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 1999
      start: 1999
    functionDepth: 0
    functionLinenumber: 1999
    functionLinenumberEnd: 1999
    functionName: vfmsub132sh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsub132sh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2000
      start: 2000
    functionDepth: 0
    functionLinenumber: 2000
    functionLinenumberEnd: 2000
    functionName: vfmsub213ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsub213ph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2001
      start: 2001
    functionDepth: 0
    functionLinenumber: 2001
    functionLinenumberEnd: 2001
    functionName: vfmsub213sh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsub213sh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2002
      start: 2002
    functionDepth: 0
    functionLinenumber: 2002
    functionLinenumberEnd: 2002
    functionName: vfmsub231ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsub231ph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2003
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2003
    functionName: vfmsub231sh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsub231sh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2004
      start: 2004
    functionDepth: 0
    functionLinenumber: 2004
    functionLinenumberEnd: 2004
    functionName: vfmsubadd132ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsubadd132ph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2005
      start: 2005
    functionDepth: 0
    functionLinenumber: 2005
    functionLinenumberEnd: 2005
    functionName: vfmsubadd213ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsubadd213ph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2006
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2006
    functionName: vfmsubadd231ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmsubadd231ph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2007
      start: 2007
    functionDepth: 0
    functionLinenumber: 2007
    functionLinenumberEnd: 2007
    functionName: vfmulcph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfmulcph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2008
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2008
    functionName: vfnmadd132ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmadd132ph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2009
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2009
    functionName: vfnmadd132sh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmadd132sh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2010
      start: 2010
    functionDepth: 0
    functionLinenumber: 2010
    functionLinenumberEnd: 2010
    functionName: vfnmadd213ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmadd213ph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2011
      start: 2011
    functionDepth: 0
    functionLinenumber: 2011
    functionLinenumberEnd: 2011
    functionName: vfnmadd213sh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmadd213sh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2012
      start: 2012
    functionDepth: 0
    functionLinenumber: 2012
    functionLinenumberEnd: 2012
    functionName: vfnmadd231ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmadd231ph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2013
      start: 2013
    functionDepth: 0
    functionLinenumber: 2013
    functionLinenumberEnd: 2013
    functionName: vfnmadd231sh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmadd231sh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2014
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2014
    functionName: vfnmsub132ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmsub132ph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2015
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2015
    functionName: vfnmsub132sh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmsub132sh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2016
      start: 2016
    functionDepth: 0
    functionLinenumber: 2016
    functionLinenumberEnd: 2016
    functionName: vfnmsub213ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmsub213ph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2017
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2017
    functionName: vfnmsub213sh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmsub213sh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2018
      start: 2018
    functionDepth: 0
    functionLinenumber: 2018
    functionLinenumberEnd: 2018
    functionName: vfnmsub231ph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmsub231ph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2019
      start: 2019
    functionDepth: 0
    functionLinenumber: 2019
    functionLinenumberEnd: 2019
    functionName: vfnmsub231sh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vfnmsub231sh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2020,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2020,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2020,1
    - Dst: changeBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2020,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' k'
    - ' op'
    - imm
    argTypes:
    - Opmask
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2020
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2020
    functionName: vfpclasspd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - changeBit
    - getBit
    - XBYAK_THROW
    - opVex
    - isBit
    linkageType: ''
    returnType: void
    signature: void vfpclasspd(const Opmask& k, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2021,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2021,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2021,1
    - Dst: changeBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2021,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' k'
    - ' op'
    - imm
    argTypes:
    - Opmask
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2021
      start: 2021
    functionDepth: 0
    functionLinenumber: 2021
    functionLinenumberEnd: 2021
    functionName: vfpclassph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - changeBit
    - getBit
    - XBYAK_THROW
    - opVex
    - isBit
    linkageType: ''
    returnType: void
    signature: void vfpclassph(const Opmask& k, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2022,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2022,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2022,1
    - Dst: changeBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2022,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' k'
    - ' op'
    - imm
    argTypes:
    - Opmask
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2022
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2022
    functionName: vfpclassps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - changeBit
    - getBit
    - XBYAK_THROW
    - opVex
    - isBit
    linkageType: ''
    returnType: void
    signature: void vfpclassps(const Opmask& k, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2023,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2023,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2023,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' k'
    - ' op'
    - imm
    argTypes:
    - Opmask
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2023
      start: 2023
    functionDepth: 0
    functionLinenumber: 2023
    functionLinenumberEnd: 2023
    functionName: vfpclasssd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - isXMEM
    - opVex
    linkageType: ''
    returnType: void
    signature: void vfpclasssd(const Opmask& k, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2024,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2024,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' k'
    - ' op'
    - imm
    argTypes:
    - Opmask
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2024
      start: 2024
    functionDepth: 0
    functionLinenumber: 2024
    functionLinenumberEnd: 2024
    functionName: vfpclasssh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - isXMEM
    - opVex
    linkageType: ''
    returnType: void
    signature: void vfpclasssh(const Opmask& k, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2025,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2025,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' k'
    - ' op'
    - imm
    argTypes:
    - Opmask
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2025
      start: 2025
    functionDepth: 0
    functionLinenumber: 2025
    functionLinenumberEnd: 2025
    functionName: vfpclassss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - isXMEM
    - opVex
    linkageType: ''
    returnType: void
    signature: void vfpclassss(const Opmask& k, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' addr'
    argTypes:
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 2026
      start: 2026
    functionDepth: 0
    functionLinenumber: 2026
    functionLinenumberEnd: 2026
    functionName: vgatherdpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather2
    linkageType: ''
    returnType: void
    signature: void vgatherdpd(const Xmm& x, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' addr'
    argTypes:
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 2027
      start: 2027
    functionDepth: 0
    functionLinenumber: 2027
    functionLinenumberEnd: 2027
    functionName: vgatherdps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather2
    linkageType: ''
    returnType: void
    signature: void vgatherdps(const Xmm& x, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGatherFetch
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 2028
      start: 2028
    functionDepth: 0
    functionLinenumber: 2028
    functionLinenumberEnd: 2028
    functionName: vgatherpf0dpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGatherFetch
    linkageType: ''
    returnType: void
    signature: void vgatherpf0dpd(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGatherFetch
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 2029
      start: 2029
    functionDepth: 0
    functionLinenumber: 2029
    functionLinenumberEnd: 2029
    functionName: vgatherpf0dps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGatherFetch
    linkageType: ''
    returnType: void
    signature: void vgatherpf0dps(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGatherFetch
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 2030
      start: 2030
    functionDepth: 0
    functionLinenumber: 2030
    functionLinenumberEnd: 2030
    functionName: vgatherpf0qpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGatherFetch
    linkageType: ''
    returnType: void
    signature: void vgatherpf0qpd(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGatherFetch
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 2031
      start: 2031
    functionDepth: 0
    functionLinenumber: 2031
    functionLinenumberEnd: 2031
    functionName: vgatherpf0qps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGatherFetch
    linkageType: ''
    returnType: void
    signature: void vgatherpf0qps(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGatherFetch
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 2032
      start: 2032
    functionDepth: 0
    functionLinenumber: 2032
    functionLinenumberEnd: 2032
    functionName: vgatherpf1dpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGatherFetch
    linkageType: ''
    returnType: void
    signature: void vgatherpf1dpd(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGatherFetch
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 2033
      start: 2033
    functionDepth: 0
    functionLinenumber: 2033
    functionLinenumberEnd: 2033
    functionName: vgatherpf1dps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGatherFetch
    linkageType: ''
    returnType: void
    signature: void vgatherpf1dps(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGatherFetch
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 2034
      start: 2034
    functionDepth: 0
    functionLinenumber: 2034
    functionLinenumberEnd: 2034
    functionName: vgatherpf1qpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGatherFetch
    linkageType: ''
    returnType: void
    signature: void vgatherpf1qpd(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGatherFetch
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 2035
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2035
    functionName: vgatherpf1qps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGatherFetch
    linkageType: ''
    returnType: void
    signature: void vgatherpf1qps(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' addr'
    argTypes:
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 2036
      start: 2036
    functionDepth: 0
    functionLinenumber: 2036
    functionLinenumberEnd: 2036
    functionName: vgatherqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather2
    linkageType: ''
    returnType: void
    signature: void vgatherqpd(const Xmm& x, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' addr'
    argTypes:
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 2037
      start: 2037
    functionDepth: 0
    functionLinenumber: 2037
    functionLinenumberEnd: 2037
    functionName: vgatherqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather2
    linkageType: ''
    returnType: void
    signature: void vgatherqps(const Xmm& x, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2038
      start: 2038
    functionDepth: 0
    functionLinenumber: 2038
    functionLinenumberEnd: 2038
    functionName: vgetexppd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vgetexppd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2039
      start: 2039
    functionDepth: 0
    functionLinenumber: 2039
    functionLinenumberEnd: 2039
    functionName: vgetexpph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vgetexpph(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2040
      start: 2040
    functionDepth: 0
    functionLinenumber: 2040
    functionLinenumberEnd: 2040
    functionName: vgetexpps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vgetexpps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2041
      start: 2041
    functionDepth: 0
    functionLinenumber: 2041
    functionLinenumberEnd: 2041
    functionName: vgetexpsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vgetexpsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2042
      start: 2042
    functionDepth: 0
    functionLinenumber: 2042
    functionLinenumberEnd: 2042
    functionName: vgetexpsh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vgetexpsh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2043
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2043
    functionName: vgetexpss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vgetexpss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2044
      start: 2044
    functionDepth: 0
    functionLinenumber: 2044
    functionLinenumberEnd: 2044
    functionName: vgetmantpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vgetmantpd(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2045
      start: 2045
    functionDepth: 0
    functionLinenumber: 2045
    functionLinenumberEnd: 2045
    functionName: vgetmantph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vgetmantph(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2046
      start: 2046
    functionDepth: 0
    functionLinenumber: 2046
    functionLinenumberEnd: 2046
    functionName: vgetmantps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vgetmantps(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2047
      start: 2047
    functionDepth: 0
    functionLinenumber: 2047
    functionLinenumberEnd: 2047
    functionName: vgetmantsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vgetmantsd(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2048
      start: 2048
    functionDepth: 0
    functionLinenumber: 2048
    functionLinenumberEnd: 2048
    functionName: vgetmantsh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vgetmantsh(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2049
      start: 2049
    functionDepth: 0
    functionLinenumber: 2049
    functionLinenumberEnd: 2049
    functionName: vgetmantss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vgetmantss(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2050,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2050,1
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2050,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2050,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2050,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ' r1'
    - ' r2'
    - ' op'
    - imm
    argTypes:
    - Ymm
    - Ymm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2050
      start: 2050
    functionDepth: 0
    functionLinenumber: 2050
    functionLinenumberEnd: 2050
    functionName: vinsertf32x4
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - is
    - XBYAK_THROW
    - getKind
    linkageType: ''
    returnType: void
    signature: void vinsertf32x4(const Ymm& r1, const Ymm& r2, const Operand& op,
      uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2051,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2051,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' r1'
    - ' r2'
    - ' op'
    - imm
    argTypes:
    - Zmm
    - Zmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2051
      start: 2051
    functionDepth: 0
    functionLinenumber: 2051
    functionLinenumberEnd: 2051
    functionName: vinsertf32x8
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - is
    - XBYAK_THROW
    linkageType: ''
    returnType: void
    signature: void vinsertf32x8(const Zmm& r1, const Zmm& r2, const Operand& op,
      uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2052,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2052,1
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2052,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2052,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2052,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ' r1'
    - ' r2'
    - ' op'
    - imm
    argTypes:
    - Ymm
    - Ymm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2052
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2052
    functionName: vinsertf64x2
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - is
    - XBYAK_THROW
    - getKind
    linkageType: ''
    returnType: void
    signature: void vinsertf64x2(const Ymm& r1, const Ymm& r2, const Operand& op,
      uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2053,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2053,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2053,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' r1'
    - ' r2'
    - ' op'
    - imm
    argTypes:
    - Zmm
    - Zmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2053
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2053
    functionName: vinsertf64x4
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - is
    - XBYAK_THROW
    linkageType: ''
    returnType: void
    signature: void vinsertf64x4(const Zmm& r1, const Zmm& r2, const Operand& op,
      uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2054,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2054,1
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2054,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2054,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2054,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ' r1'
    - ' r2'
    - ' op'
    - imm
    argTypes:
    - Ymm
    - Ymm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2054
      start: 2054
    functionDepth: 0
    functionLinenumber: 2054
    functionLinenumberEnd: 2054
    functionName: vinserti32x4
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - is
    - XBYAK_THROW
    - getKind
    linkageType: ''
    returnType: void
    signature: void vinserti32x4(const Ymm& r1, const Ymm& r2, const Operand& op,
      uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2055,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2055,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' r1'
    - ' r2'
    - ' op'
    - imm
    argTypes:
    - Zmm
    - Zmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2055
      start: 2055
    functionDepth: 0
    functionLinenumber: 2055
    functionLinenumberEnd: 2055
    functionName: vinserti32x8
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - is
    - XBYAK_THROW
    linkageType: ''
    returnType: void
    signature: void vinserti32x8(const Zmm& r1, const Zmm& r2, const Operand& op,
      uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2056,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2056,1
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2056,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2056,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2056,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ' r1'
    - ' r2'
    - ' op'
    - imm
    argTypes:
    - Ymm
    - Ymm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2056
      start: 2056
    functionDepth: 0
    functionLinenumber: 2056
    functionLinenumberEnd: 2056
    functionName: vinserti64x2
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - is
    - XBYAK_THROW
    - getKind
    linkageType: ''
    returnType: void
    signature: void vinserti64x2(const Ymm& r1, const Ymm& r2, const Operand& op,
      uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2057,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2057,1
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' r1'
    - ' r2'
    - ' op'
    - imm
    argTypes:
    - Zmm
    - Zmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2057
      start: 2057
    functionDepth: 0
    functionLinenumber: 2057
    functionLinenumberEnd: 2057
    functionName: vinserti64x4
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    - is
    - XBYAK_THROW
    linkageType: ''
    returnType: void
    signature: void vinserti64x4(const Zmm& r1, const Zmm& r2, const Operand& op,
      uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2058,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2058
      start: 2058
    functionDepth: 0
    functionLinenumber: 2058
    functionLinenumberEnd: 2058
    functionName: vmaxph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vmaxph(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2059,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2059
      start: 2059
    functionDepth: 0
    functionLinenumber: 2059
    functionLinenumberEnd: 2059
    functionName: vmaxsh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vmaxsh(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2060,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2060
      start: 2060
    functionDepth: 0
    functionLinenumber: 2060
    functionLinenumberEnd: 2060
    functionName: vminph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vminph(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2061,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2061
      start: 2061
    functionDepth: 0
    functionLinenumber: 2061
    functionLinenumberEnd: 2061
    functionName: vminsh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vminsh(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 2062
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2062
    functionName: vmovdqa32
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovdqa32(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2063
      start: 2063
    functionDepth: 0
    functionLinenumber: 2063
    functionLinenumberEnd: 2063
    functionName: vmovdqa32
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovdqa32(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 2064
      start: 2064
    functionDepth: 0
    functionLinenumber: 2064
    functionLinenumberEnd: 2064
    functionName: vmovdqa64
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovdqa64(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2065
      start: 2065
    functionDepth: 0
    functionLinenumber: 2065
    functionLinenumberEnd: 2065
    functionName: vmovdqa64
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovdqa64(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 2066
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2066
    functionName: vmovdqu16
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovdqu16(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2067
      start: 2067
    functionDepth: 0
    functionLinenumber: 2067
    functionLinenumberEnd: 2067
    functionName: vmovdqu16
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovdqu16(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 2068
      start: 2068
    functionDepth: 0
    functionLinenumber: 2068
    functionLinenumberEnd: 2068
    functionName: vmovdqu32
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovdqu32(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2069
      start: 2069
    functionDepth: 0
    functionLinenumber: 2069
    functionLinenumberEnd: 2069
    functionName: vmovdqu32
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovdqu32(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 2070
      start: 2070
    functionDepth: 0
    functionLinenumber: 2070
    functionLinenumberEnd: 2070
    functionName: vmovdqu64
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovdqu64(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2071
      start: 2071
    functionDepth: 0
    functionLinenumber: 2071
    functionLinenumberEnd: 2071
    functionName: vmovdqu64
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovdqu64(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 2072
      start: 2072
    functionDepth: 0
    functionLinenumber: 2072
    functionLinenumberEnd: 2072
    functionName: vmovdqu8
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovdqu8(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2073
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2073
    functionName: vmovdqu8
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovdqu8(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 2074
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2074
    functionName: vmovsh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovsh(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' addr'
    argTypes:
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 2075
      start: 2075
    functionDepth: 0
    functionLinenumber: 2075
    functionLinenumberEnd: 2075
    functionName: vmovsh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmovsh(const Xmm& x, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' x3'
    argTypes:
    - Xmm
    - Xmm
    - Xmm
    constantsTouched: []
    func_position:
      end: 2076
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2076
    functionName: vmovsh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmovsh(const Xmm& x1, const Xmm& x2, const Xmm& x3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 2077
      start: 2077
    functionDepth: 0
    functionLinenumber: 2077
    functionLinenumberEnd: 2077
    functionName: vmovw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vmovw(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' x'
    argTypes:
    - Reg32e
    - Xmm
    constantsTouched: []
    func_position:
      end: 2078
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2078
    functionName: vmovw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmovw(const Reg32e& r, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2079,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2079,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2079,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2079
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2079
    functionName: vmovw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - isREG
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vmovw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2080,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2080
      start: 2080
    functionDepth: 0
    functionLinenumber: 2080
    functionLinenumberEnd: 2080
    functionName: vmulph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vmulph(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2081,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2081
      start: 2081
    functionDepth: 0
    functionLinenumber: 2081
    functionLinenumberEnd: 2081
    functionName: vmulsh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vmulsh(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getOpmaskIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2082,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2082,1
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2082
      start: 2082
    functionDepth: 0
    functionLinenumber: 2082
    functionLinenumberEnd: 2082
    functionName: vp2intersectd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - opAVX_K_X_XM
    - getOpmaskIdx
    linkageType: ''
    returnType: void
    signature: void vp2intersectd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getOpmaskIdx
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2083,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2083,1
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2083,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2083
      start: 2083
    functionDepth: 0
    functionLinenumber: 2083
    functionLinenumberEnd: 2083
    functionName: vp2intersectq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - opAVX_K_X_XM
    - getOpmaskIdx
    linkageType: ''
    returnType: void
    signature: void vp2intersectq(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z1'
    - ' z2'
    - ' addr'
    argTypes:
    - Zmm
    - Zmm
    - Address
    constantsTouched: []
    func_position:
      end: 2084
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2084
    functionName: vp4dpwssd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vp4dpwssd(const Zmm& z1, const Zmm& z2, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z1'
    - ' z2'
    - ' addr'
    argTypes:
    - Zmm
    - Zmm
    - Address
    constantsTouched: []
    func_position:
      end: 2085
      start: 2085
    functionDepth: 0
    functionLinenumber: 2085
    functionLinenumberEnd: 2085
    functionName: vp4dpwssds
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vp4dpwssds(const Zmm& z1, const Zmm& z2, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2086
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2086
    functionName: vpabsq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpabsq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2087
      start: 2087
    functionDepth: 0
    functionLinenumber: 2087
    functionLinenumberEnd: 2087
    functionName: vpandd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpandd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2088
      start: 2088
    functionDepth: 0
    functionLinenumber: 2088
    functionLinenumberEnd: 2088
    functionName: vpandnd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpandnd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2089
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2089
    functionName: vpandnq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpandnq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2090
      start: 2090
    functionDepth: 0
    functionLinenumber: 2090
    functionLinenumberEnd: 2090
    functionName: vpandq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 16
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpandq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2091
      start: 2091
    functionDepth: 0
    functionLinenumber: 2091
    functionLinenumberEnd: 2091
    functionName: vpblendmb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpblendmb(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2092
      start: 2092
    functionDepth: 0
    functionLinenumber: 2092
    functionLinenumberEnd: 2092
    functionName: vpblendmd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpblendmd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2093
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2093
    functionName: vpblendmq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpblendmq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2094
      start: 2094
    functionDepth: 0
    functionLinenumber: 2094
    functionLinenumberEnd: 2094
    functionName: vpblendmw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpblendmw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' r'
    argTypes:
    - Xmm
    - Reg8
    constantsTouched: []
    func_position:
      end: 2095
      start: 2095
    functionDepth: 0
    functionLinenumber: 2095
    functionLinenumberEnd: 2095
    functionName: vpbroadcastb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vpbroadcastb(const Xmm& x, const Reg8& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' r'
    argTypes:
    - Xmm
    - Reg32
    constantsTouched: []
    func_position:
      end: 2096
      start: 2096
    functionDepth: 0
    functionLinenumber: 2096
    functionLinenumberEnd: 2096
    functionName: vpbroadcastd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vpbroadcastd(const Xmm& x, const Reg32& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' k'
    argTypes:
    - Xmm
    - Opmask
    constantsTouched: []
    func_position:
      end: 2097
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2097
    functionName: vpbroadcastmb2q
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vpbroadcastmb2q(const Xmm& x, const Opmask& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' k'
    argTypes:
    - Xmm
    - Opmask
    constantsTouched: []
    func_position:
      end: 2098
      start: 2098
    functionDepth: 0
    functionLinenumber: 2098
    functionLinenumberEnd: 2098
    functionName: vpbroadcastmw2d
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vpbroadcastmw2d(const Xmm& x, const Opmask& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' r'
    argTypes:
    - Xmm
    - Reg16
    constantsTouched: []
    func_position:
      end: 2099
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2099
    functionName: vpbroadcastw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vpbroadcastw(const Xmm& x, const Reg16& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' k'
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Opmask
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2100
      start: 2100
    functionDepth: 0
    functionLinenumber: 2100
    functionLinenumberEnd: 2100
    functionName: vpcmpb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpb(const Opmask& k, const Xmm& x, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' k'
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Opmask
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2101
      start: 2101
    functionDepth: 0
    functionLinenumber: 2101
    functionLinenumberEnd: 2101
    functionName: vpcmpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpd(const Opmask& k, const Xmm& x, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2102
      start: 2102
    functionDepth: 0
    functionLinenumber: 2102
    functionLinenumberEnd: 2102
    functionName: vpcmpeqb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpeqb(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2103
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2103
    functionName: vpcmpeqd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpeqd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2104
      start: 2104
    functionDepth: 0
    functionLinenumber: 2104
    functionLinenumberEnd: 2104
    functionName: vpcmpeqq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 5
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpeqq(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2105
      start: 2105
    functionDepth: 0
    functionLinenumber: 2105
    functionLinenumberEnd: 2105
    functionName: vpcmpeqw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpeqw(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2106
      start: 2106
    functionDepth: 0
    functionLinenumber: 2106
    functionLinenumberEnd: 2106
    functionName: vpcmpgtb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpgtb(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2107
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2107
    functionName: vpcmpgtd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpgtd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2108
      start: 2108
    functionDepth: 0
    functionLinenumber: 2108
    functionLinenumberEnd: 2108
    functionName: vpcmpgtq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 4
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpgtq(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2109
      start: 2109
    functionDepth: 0
    functionLinenumber: 2109
    functionLinenumberEnd: 2109
    functionName: vpcmpgtw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 1
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpgtw(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' k'
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Opmask
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2110
      start: 2110
    functionDepth: 0
    functionLinenumber: 2110
    functionLinenumberEnd: 2110
    functionName: vpcmpq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpq(const Opmask& k, const Xmm& x, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' k'
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Opmask
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2111
      start: 2111
    functionDepth: 0
    functionLinenumber: 2111
    functionLinenumberEnd: 2111
    functionName: vpcmpub
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpub(const Opmask& k, const Xmm& x, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' k'
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Opmask
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2112
      start: 2112
    functionDepth: 0
    functionLinenumber: 2112
    functionLinenumberEnd: 2112
    functionName: vpcmpud
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpud(const Opmask& k, const Xmm& x, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' k'
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Opmask
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2113
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2113
    functionName: vpcmpuq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpuq(const Opmask& k, const Xmm& x, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' k'
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Opmask
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2114
      start: 2114
    functionDepth: 0
    functionLinenumber: 2114
    functionLinenumberEnd: 2114
    functionName: vpcmpuw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpuw(const Opmask& k, const Xmm& x, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' k'
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Opmask
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2115
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2115
    functionName: vpcmpw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vpcmpw(const Opmask& k, const Xmm& x, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 2116
      start: 2116
    functionDepth: 0
    functionLinenumber: 2116
    functionLinenumberEnd: 2116
    functionName: vpcompressd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpcompressd(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 2117
      start: 2117
    functionDepth: 0
    functionLinenumber: 2117
    functionLinenumberEnd: 2117
    functionName: vpcompressq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpcompressq(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2118
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2118
    functionName: vpconflictd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpconflictd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2119
      start: 2119
    functionDepth: 0
    functionLinenumber: 2119
    functionLinenumberEnd: 2119
    functionName: vpconflictq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpconflictq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2120
      start: 2120
    functionDepth: 0
    functionLinenumber: 2120
    functionLinenumberEnd: 2120
    functionName: vpermb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpermb(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2121
      start: 2121
    functionDepth: 0
    functionLinenumber: 2121
    functionLinenumberEnd: 2121
    functionName: vpermi2b
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpermi2b(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2122
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2122
    functionName: vpermi2d
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpermi2d(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2123
      start: 2123
    functionDepth: 0
    functionLinenumber: 2123
    functionLinenumberEnd: 2123
    functionName: vpermi2pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpermi2pd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2124
      start: 2124
    functionDepth: 0
    functionLinenumber: 2124
    functionLinenumberEnd: 2124
    functionName: vpermi2ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpermi2ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2125
      start: 2125
    functionDepth: 0
    functionLinenumber: 2125
    functionLinenumberEnd: 2125
    functionName: vpermi2q
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpermi2q(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2126
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2126
    functionName: vpermi2w
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpermi2w(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2127
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2127
    functionName: vpermt2b
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpermt2b(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2128
      start: 2128
    functionDepth: 0
    functionLinenumber: 2128
    functionLinenumberEnd: 2128
    functionName: vpermt2d
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpermt2d(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2129
      start: 2129
    functionDepth: 0
    functionLinenumber: 2129
    functionLinenumberEnd: 2129
    functionName: vpermt2pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpermt2pd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2130
      start: 2130
    functionDepth: 0
    functionLinenumber: 2130
    functionLinenumberEnd: 2130
    functionName: vpermt2ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpermt2ps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2131
      start: 2131
    functionDepth: 0
    functionLinenumber: 2131
    functionLinenumberEnd: 2131
    functionName: vpermt2q
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpermt2q(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2132
      start: 2132
    functionDepth: 0
    functionLinenumber: 2132
    functionLinenumberEnd: 2132
    functionName: vpermt2w
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpermt2w(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2133
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2133
    functionName: vpermw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpermw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2134
      start: 2134
    functionDepth: 0
    functionLinenumber: 2134
    functionLinenumberEnd: 2134
    functionName: vpexpandb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpexpandb(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2135
      start: 2135
    functionDepth: 0
    functionLinenumber: 2135
    functionLinenumberEnd: 2135
    functionName: vpexpandd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpexpandd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2136
      start: 2136
    functionDepth: 0
    functionLinenumber: 2136
    functionLinenumberEnd: 2136
    functionName: vpexpandq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpexpandq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2137
      start: 2137
    functionDepth: 0
    functionLinenumber: 2137
    functionLinenumberEnd: 2137
    functionName: vpexpandw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpexpandw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' addr'
    argTypes:
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 2138
      start: 2138
    functionDepth: 0
    functionLinenumber: 2138
    functionLinenumberEnd: 2138
    functionName: vpgatherdd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather2
    linkageType: ''
    returnType: void
    signature: void vpgatherdd(const Xmm& x, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' addr'
    argTypes:
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 2139
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2139
    functionName: vpgatherdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather2
    linkageType: ''
    returnType: void
    signature: void vpgatherdq(const Xmm& x, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' addr'
    argTypes:
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 2140
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2140
    functionName: vpgatherqd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather2
    linkageType: ''
    returnType: void
    signature: void vpgatherqd(const Xmm& x, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' addr'
    argTypes:
    - Xmm
    - Address
    constantsTouched: []
    func_position:
      end: 2141
      start: 2141
    functionDepth: 0
    functionLinenumber: 2141
    functionLinenumberEnd: 2141
    functionName: vpgatherqq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 6
    functionsReached:
    - opGather2
    linkageType: ''
    returnType: void
    signature: void vpgatherqq(const Xmm& x, const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2142
      start: 2142
    functionDepth: 0
    functionLinenumber: 2142
    functionLinenumberEnd: 2142
    functionName: vplzcntd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vplzcntd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2143
      start: 2143
    functionDepth: 0
    functionLinenumber: 2143
    functionLinenumberEnd: 2143
    functionName: vplzcntq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vplzcntq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2144
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2144
    functionName: vpmadd52huq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmadd52huq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2145
      start: 2145
    functionDepth: 0
    functionLinenumber: 2145
    functionLinenumberEnd: 2145
    functionName: vpmadd52luq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmadd52luq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2146
      start: 2146
    functionDepth: 0
    functionLinenumber: 2146
    functionLinenumberEnd: 2146
    functionName: vpmaxsq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmaxsq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2147
      start: 2147
    functionDepth: 0
    functionLinenumber: 2147
    functionLinenumberEnd: 2147
    functionName: vpmaxuq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmaxuq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2148
      start: 2148
    functionDepth: 0
    functionLinenumber: 2148
    functionLinenumberEnd: 2148
    functionName: vpminsq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpminsq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2149
      start: 2149
    functionDepth: 0
    functionLinenumber: 2149
    functionLinenumberEnd: 2149
    functionName: vpminuq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpminuq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - ' x'
    argTypes:
    - Opmask
    - Xmm
    constantsTouched: []
    func_position:
      end: 2150
      start: 2150
    functionDepth: 0
    functionLinenumber: 2150
    functionLinenumberEnd: 2150
    functionName: vpmovb2m
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vpmovb2m(const Opmask& k, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - ' x'
    argTypes:
    - Opmask
    - Xmm
    constantsTouched: []
    func_position:
      end: 2151
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2151
    functionName: vpmovd2m
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vpmovd2m(const Opmask& k, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVmov
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 2152
      start: 2152
    functionDepth: 0
    functionLinenumber: 2152
    functionLinenumberEnd: 2152
    functionName: vpmovdb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVmov
    linkageType: ''
    returnType: void
    signature: void vpmovdb(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVmov
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 2153
      start: 2153
    functionDepth: 0
    functionLinenumber: 2153
    functionLinenumberEnd: 2153
    functionName: vpmovdw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVmov
    linkageType: ''
    returnType: void
    signature: void vpmovdw(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' k'
    argTypes:
    - Xmm
    - Opmask
    constantsTouched: []
    func_position:
      end: 2154
      start: 2154
    functionDepth: 0
    functionLinenumber: 2154
    functionLinenumberEnd: 2154
    functionName: vpmovm2b
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vpmovm2b(const Xmm& x, const Opmask& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' k'
    argTypes:
    - Xmm
    - Opmask
    constantsTouched: []
    func_position:
      end: 2155
      start: 2155
    functionDepth: 0
    functionLinenumber: 2155
    functionLinenumberEnd: 2155
    functionName: vpmovm2d
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vpmovm2d(const Xmm& x, const Opmask& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' k'
    argTypes:
    - Xmm
    - Opmask
    constantsTouched: []
    func_position:
      end: 2156
      start: 2156
    functionDepth: 0
    functionLinenumber: 2156
    functionLinenumberEnd: 2156
    functionName: vpmovm2q
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vpmovm2q(const Xmm& x, const Opmask& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' k'
    argTypes:
    - Xmm
    - Opmask
    constantsTouched: []
    func_position:
      end: 2157
      start: 2157
    functionDepth: 0
    functionLinenumber: 2157
    functionLinenumberEnd: 2157
    functionName: vpmovm2w
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vpmovm2w(const Xmm& x, const Opmask& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - ' x'
    argTypes:
    - Opmask
    - Xmm
    constantsTouched: []
    func_position:
      end: 2158
      start: 2158
    functionDepth: 0
    functionLinenumber: 2158
    functionLinenumberEnd: 2158
    functionName: vpmovq2m
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vpmovq2m(const Opmask& k, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVmov
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 2159
      start: 2159
    functionDepth: 0
    functionLinenumber: 2159
    functionLinenumberEnd: 2159
    functionName: vpmovqb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVmov
    linkageType: ''
    returnType: void
    signature: void vpmovqb(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVmov
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 2160
      start: 2160
    functionDepth: 0
    functionLinenumber: 2160
    functionLinenumberEnd: 2160
    functionName: vpmovqd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVmov
    linkageType: ''
    returnType: void
    signature: void vpmovqd(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVmov
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 2161
      start: 2161
    functionDepth: 0
    functionLinenumber: 2161
    functionLinenumberEnd: 2161
    functionName: vpmovqw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVmov
    linkageType: ''
    returnType: void
    signature: void vpmovqw(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVmov
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 2162
      start: 2162
    functionDepth: 0
    functionLinenumber: 2162
    functionLinenumberEnd: 2162
    functionName: vpmovsdb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVmov
    linkageType: ''
    returnType: void
    signature: void vpmovsdb(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVmov
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 2163
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2163
    functionName: vpmovsdw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVmov
    linkageType: ''
    returnType: void
    signature: void vpmovsdw(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVmov
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 2164
      start: 2164
    functionDepth: 0
    functionLinenumber: 2164
    functionLinenumberEnd: 2164
    functionName: vpmovsqb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVmov
    linkageType: ''
    returnType: void
    signature: void vpmovsqb(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVmov
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 2165
      start: 2165
    functionDepth: 0
    functionLinenumber: 2165
    functionLinenumberEnd: 2165
    functionName: vpmovsqd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVmov
    linkageType: ''
    returnType: void
    signature: void vpmovsqd(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVmov
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 2166
      start: 2166
    functionDepth: 0
    functionLinenumber: 2166
    functionLinenumberEnd: 2166
    functionName: vpmovsqw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVmov
    linkageType: ''
    returnType: void
    signature: void vpmovsqw(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVmov
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 2167
      start: 2167
    functionDepth: 0
    functionLinenumber: 2167
    functionLinenumberEnd: 2167
    functionName: vpmovswb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVmov
    linkageType: ''
    returnType: void
    signature: void vpmovswb(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVmov
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 2168
      start: 2168
    functionDepth: 0
    functionLinenumber: 2168
    functionLinenumberEnd: 2168
    functionName: vpmovusdb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVmov
    linkageType: ''
    returnType: void
    signature: void vpmovusdb(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVmov
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 2169
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2169
    functionName: vpmovusdw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVmov
    linkageType: ''
    returnType: void
    signature: void vpmovusdw(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVmov
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 2170
      start: 2170
    functionDepth: 0
    functionLinenumber: 2170
    functionLinenumberEnd: 2170
    functionName: vpmovusqb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVmov
    linkageType: ''
    returnType: void
    signature: void vpmovusqb(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVmov
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 2171
      start: 2171
    functionDepth: 0
    functionLinenumber: 2171
    functionLinenumberEnd: 2171
    functionName: vpmovusqd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVmov
    linkageType: ''
    returnType: void
    signature: void vpmovusqd(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVmov
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 2172
      start: 2172
    functionDepth: 0
    functionLinenumber: 2172
    functionLinenumberEnd: 2172
    functionName: vpmovusqw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVmov
    linkageType: ''
    returnType: void
    signature: void vpmovusqw(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVmov
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 2173
      start: 2173
    functionDepth: 0
    functionLinenumber: 2173
    functionLinenumberEnd: 2173
    functionName: vpmovuswb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVmov
    linkageType: ''
    returnType: void
    signature: void vpmovuswb(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - ' x'
    argTypes:
    - Opmask
    - Xmm
    constantsTouched: []
    func_position:
      end: 2174
      start: 2174
    functionDepth: 0
    functionLinenumber: 2174
    functionLinenumberEnd: 2174
    functionName: vpmovw2m
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vpmovw2m(const Opmask& k, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVmov
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' x'
    argTypes:
    - Operand
    - Xmm
    constantsTouched: []
    func_position:
      end: 2175
      start: 2175
    functionDepth: 0
    functionLinenumber: 2175
    functionLinenumberEnd: 2175
    functionName: vpmovwb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVmov
    linkageType: ''
    returnType: void
    signature: void vpmovwb(const Operand& op, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2176
      start: 2176
    functionDepth: 0
    functionLinenumber: 2176
    functionLinenumberEnd: 2176
    functionName: vpmullq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmullq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2177
      start: 2177
    functionDepth: 0
    functionLinenumber: 2177
    functionLinenumberEnd: 2177
    functionName: vpmultishiftqb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpmultishiftqb(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2178
      start: 2178
    functionDepth: 0
    functionLinenumber: 2178
    functionLinenumberEnd: 2178
    functionName: vpopcntb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpopcntb(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2179
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2179
    functionName: vpopcntd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpopcntd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2180
      start: 2180
    functionDepth: 0
    functionLinenumber: 2180
    functionLinenumberEnd: 2180
    functionName: vpopcntq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpopcntq(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2181
      start: 2181
    functionDepth: 0
    functionLinenumber: 2181
    functionLinenumberEnd: 2181
    functionName: vpopcntw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vpopcntw(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2182
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2182
    functionName: vpord
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpord(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2183
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2183
    functionName: vporq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 7
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vporq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2184,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2184,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2184
      start: 2184
    functionDepth: 1
    functionLinenumber: 2184
    functionLinenumberEnd: 2184
    functionName: vprold
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getKind
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vprold(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2185,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2185,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2185
      start: 2185
    functionDepth: 1
    functionLinenumber: 2185
    functionLinenumberEnd: 2185
    functionName: vprolq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getKind
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vprolq(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2186
      start: 2186
    functionDepth: 0
    functionLinenumber: 2186
    functionLinenumberEnd: 2186
    functionName: vprolvd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vprolvd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2187
      start: 2187
    functionDepth: 0
    functionLinenumber: 2187
    functionLinenumberEnd: 2187
    functionName: vprolvq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vprolvq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2188,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2188,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2188
      start: 2188
    functionDepth: 1
    functionLinenumber: 2188
    functionLinenumberEnd: 2188
    functionName: vprord
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getKind
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vprord(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2189,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2189,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2189
      start: 2189
    functionDepth: 1
    functionLinenumber: 2189
    functionLinenumberEnd: 2189
    functionName: vprorq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getKind
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vprorq(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2190
      start: 2190
    functionDepth: 0
    functionLinenumber: 2190
    functionLinenumberEnd: 2190
    functionName: vprorvd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vprorvd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2191
      start: 2191
    functionDepth: 0
    functionLinenumber: 2191
    functionLinenumberEnd: 2191
    functionName: vprorvq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vprorvq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 2192
      start: 2192
    functionDepth: 0
    functionLinenumber: 2192
    functionLinenumberEnd: 2192
    functionName: vpscatterdd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather2
    linkageType: ''
    returnType: void
    signature: void vpscatterdd(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 2193
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2193
    functionName: vpscatterdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather2
    linkageType: ''
    returnType: void
    signature: void vpscatterdq(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 2194
      start: 2194
    functionDepth: 0
    functionLinenumber: 2194
    functionLinenumberEnd: 2194
    functionName: vpscatterqd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather2
    linkageType: ''
    returnType: void
    signature: void vpscatterqd(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 2195
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2195
    functionName: vpscatterqq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 5
    functionsReached:
    - opGather2
    linkageType: ''
    returnType: void
    signature: void vpscatterqq(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2196
      start: 2196
    functionDepth: 0
    functionLinenumber: 2196
    functionLinenumberEnd: 2196
    functionName: vpshldd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpshldd(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2197
      start: 2197
    functionDepth: 0
    functionLinenumber: 2197
    functionLinenumberEnd: 2197
    functionName: vpshldq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpshldq(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2198
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2198
    functionName: vpshldvd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpshldvd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2199
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2199
    functionName: vpshldvq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpshldvq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2200
      start: 2200
    functionDepth: 0
    functionLinenumber: 2200
    functionLinenumberEnd: 2200
    functionName: vpshldvw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpshldvw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2201
      start: 2201
    functionDepth: 0
    functionLinenumber: 2201
    functionLinenumberEnd: 2201
    functionName: vpshldw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpshldw(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2202
      start: 2202
    functionDepth: 0
    functionLinenumber: 2202
    functionLinenumberEnd: 2202
    functionName: vpshrdd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpshrdd(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2203
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2203
    functionName: vpshrdq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpshrdq(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2204
      start: 2204
    functionDepth: 0
    functionLinenumber: 2204
    functionLinenumberEnd: 2204
    functionName: vpshrdvd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpshrdvd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2205
      start: 2205
    functionDepth: 0
    functionLinenumber: 2205
    functionLinenumberEnd: 2205
    functionName: vpshrdvq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpshrdvq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2206
      start: 2206
    functionDepth: 0
    functionLinenumber: 2206
    functionLinenumberEnd: 2206
    functionName: vpshrdvw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpshrdvw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2207
      start: 2207
    functionDepth: 0
    functionLinenumber: 2207
    functionLinenumberEnd: 2207
    functionName: vpshrdw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpshrdw(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2208
      start: 2208
    functionDepth: 0
    functionLinenumber: 2208
    functionLinenumberEnd: 2208
    functionName: vpshufbitqmb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vpshufbitqmb(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2209
      start: 2209
    functionDepth: 0
    functionLinenumber: 2209
    functionLinenumberEnd: 2209
    functionName: vpsllvw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsllvw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2210,1
    - Dst: Xmm
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2210,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2210
      start: 2210
    functionDepth: 1
    functionLinenumber: 2210
    functionLinenumberEnd: 2210
    functionName: vpsraq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - Xmm
    - getKind
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsraq(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2211
      start: 2211
    functionDepth: 0
    functionLinenumber: 2211
    functionLinenumberEnd: 2211
    functionName: vpsraq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsraq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2212
      start: 2212
    functionDepth: 0
    functionLinenumber: 2212
    functionLinenumberEnd: 2212
    functionName: vpsravq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsravq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2213
      start: 2213
    functionDepth: 0
    functionLinenumber: 2213
    functionLinenumberEnd: 2213
    functionName: vpsravw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsravw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2214
      start: 2214
    functionDepth: 0
    functionLinenumber: 2214
    functionLinenumberEnd: 2214
    functionName: vpsrlvw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpsrlvw(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2215
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2215
    functionName: vpternlogd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpternlogd(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2216
      start: 2216
    functionDepth: 0
    functionLinenumber: 2216
    functionLinenumberEnd: 2216
    functionName: vpternlogq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 4
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpternlogq(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2217
      start: 2217
    functionDepth: 0
    functionLinenumber: 2217
    functionLinenumberEnd: 2217
    functionName: vptestmb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vptestmb(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2218
      start: 2218
    functionDepth: 0
    functionLinenumber: 2218
    functionLinenumberEnd: 2218
    functionName: vptestmd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vptestmd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2219
      start: 2219
    functionDepth: 0
    functionLinenumber: 2219
    functionLinenumberEnd: 2219
    functionName: vptestmq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vptestmq(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2220
      start: 2220
    functionDepth: 0
    functionLinenumber: 2220
    functionLinenumberEnd: 2220
    functionName: vptestmw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vptestmw(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2221
      start: 2221
    functionDepth: 0
    functionLinenumber: 2221
    functionLinenumberEnd: 2221
    functionName: vptestnmb
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vptestnmb(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2222
      start: 2222
    functionDepth: 0
    functionLinenumber: 2222
    functionLinenumberEnd: 2222
    functionName: vptestnmd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vptestnmd(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2223
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2223
    functionName: vptestnmq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vptestnmq(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_K_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' k'
    - ' x'
    - ' op'
    argTypes:
    - Opmask
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2224
      start: 2224
    functionDepth: 0
    functionLinenumber: 2224
    functionLinenumberEnd: 2224
    functionName: vptestnmw
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_K_X_XM
    linkageType: ''
    returnType: void
    signature: void vptestnmw(const Opmask& k, const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2225
      start: 2225
    functionDepth: 0
    functionLinenumber: 2225
    functionLinenumberEnd: 2225
    functionName: vpxord
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpxord(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2226
      start: 2226
    functionDepth: 0
    functionLinenumber: 2226
    functionLinenumberEnd: 2226
    functionName: vpxorq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 2
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vpxorq(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2227
      start: 2227
    functionDepth: 0
    functionLinenumber: 2227
    functionLinenumberEnd: 2227
    functionName: vrangepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vrangepd(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2228
      start: 2228
    functionDepth: 0
    functionLinenumber: 2228
    functionLinenumberEnd: 2228
    functionName: vrangeps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vrangeps(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2229
      start: 2229
    functionDepth: 0
    functionLinenumber: 2229
    functionLinenumberEnd: 2229
    functionName: vrangesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vrangesd(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2230
      start: 2230
    functionDepth: 0
    functionLinenumber: 2230
    functionLinenumberEnd: 2230
    functionName: vrangess
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vrangess(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2231
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2231
    functionName: vrcp14pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vrcp14pd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2232
      start: 2232
    functionDepth: 0
    functionLinenumber: 2232
    functionLinenumberEnd: 2232
    functionName: vrcp14ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vrcp14ps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2233
      start: 2233
    functionDepth: 0
    functionLinenumber: 2233
    functionLinenumberEnd: 2233
    functionName: vrcp14sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vrcp14sd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2234
      start: 2234
    functionDepth: 0
    functionLinenumber: 2234
    functionLinenumberEnd: 2234
    functionName: vrcp14ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vrcp14ss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' z'
    - ' op'
    argTypes:
    - Zmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2235
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2235
    functionName: vrcp28pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vrcp28pd(const Zmm& z, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' z'
    - ' op'
    argTypes:
    - Zmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2236
      start: 2236
    functionDepth: 0
    functionLinenumber: 2236
    functionLinenumberEnd: 2236
    functionName: vrcp28ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vrcp28ps(const Zmm& z, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2237
      start: 2237
    functionDepth: 0
    functionLinenumber: 2237
    functionLinenumberEnd: 2237
    functionName: vrcp28sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vrcp28sd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2238
      start: 2238
    functionDepth: 0
    functionLinenumber: 2238
    functionLinenumberEnd: 2238
    functionName: vrcp28ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vrcp28ss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2239
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2239
    functionName: vrcpph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vrcpph(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2240
      start: 2240
    functionDepth: 0
    functionLinenumber: 2240
    functionLinenumberEnd: 2240
    functionName: vrcpsh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vrcpsh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2241
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2241
    functionName: vreducepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vreducepd(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2242
      start: 2242
    functionDepth: 0
    functionLinenumber: 2242
    functionLinenumberEnd: 2242
    functionName: vreduceph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vreduceph(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2243
      start: 2243
    functionDepth: 0
    functionLinenumber: 2243
    functionLinenumberEnd: 2243
    functionName: vreduceps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vreduceps(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2244
      start: 2244
    functionDepth: 0
    functionLinenumber: 2244
    functionLinenumberEnd: 2244
    functionName: vreducesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vreducesd(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2245
      start: 2245
    functionDepth: 0
    functionLinenumber: 2245
    functionLinenumberEnd: 2245
    functionName: vreducesh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vreducesh(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2246
      start: 2246
    functionDepth: 0
    functionLinenumber: 2246
    functionLinenumberEnd: 2246
    functionName: vreducess
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vreducess(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2247
      start: 2247
    functionDepth: 0
    functionLinenumber: 2247
    functionLinenumberEnd: 2247
    functionName: vrndscalepd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vrndscalepd(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2248
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2248
    functionName: vrndscaleph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vrndscaleph(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2249
      start: 2249
    functionDepth: 0
    functionLinenumber: 2249
    functionLinenumberEnd: 2249
    functionName: vrndscaleps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vrndscaleps(const Xmm& x, const Operand& op, uint8_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2250
      start: 2250
    functionDepth: 0
    functionLinenumber: 2250
    functionLinenumberEnd: 2250
    functionName: vrndscalesd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vrndscalesd(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2251
      start: 2251
    functionDepth: 0
    functionLinenumber: 2251
    functionLinenumberEnd: 2251
    functionName: vrndscalesh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vrndscalesh(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - imm
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2252
      start: 2252
    functionDepth: 0
    functionLinenumber: 2252
    functionLinenumberEnd: 2252
    functionName: vrndscaless
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vrndscaless(const Xmm& x1, const Xmm& x2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2253
      start: 2253
    functionDepth: 0
    functionLinenumber: 2253
    functionLinenumberEnd: 2253
    functionName: vrsqrt14pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vrsqrt14pd(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2254
      start: 2254
    functionDepth: 0
    functionLinenumber: 2254
    functionLinenumberEnd: 2254
    functionName: vrsqrt14ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vrsqrt14ps(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2255
      start: 2255
    functionDepth: 0
    functionLinenumber: 2255
    functionLinenumberEnd: 2255
    functionName: vrsqrt14sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vrsqrt14sd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2256
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2256
    functionName: vrsqrt14ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vrsqrt14ss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' z'
    - ' op'
    argTypes:
    - Zmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2257
      start: 2257
    functionDepth: 0
    functionLinenumber: 2257
    functionLinenumberEnd: 2257
    functionName: vrsqrt28pd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vrsqrt28pd(const Zmm& z, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' z'
    - ' op'
    argTypes:
    - Zmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2258
      start: 2258
    functionDepth: 0
    functionLinenumber: 2258
    functionLinenumberEnd: 2258
    functionName: vrsqrt28ps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vrsqrt28ps(const Zmm& z, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2259
      start: 2259
    functionDepth: 0
    functionLinenumber: 2259
    functionLinenumberEnd: 2259
    functionName: vrsqrt28sd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vrsqrt28sd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2260
      start: 2260
    functionDepth: 0
    functionLinenumber: 2260
    functionLinenumberEnd: 2260
    functionName: vrsqrt28ss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vrsqrt28ss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2261
      start: 2261
    functionDepth: 0
    functionLinenumber: 2261
    functionLinenumberEnd: 2261
    functionName: vrsqrtph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vrsqrtph(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2262
      start: 2262
    functionDepth: 0
    functionLinenumber: 2262
    functionLinenumberEnd: 2262
    functionName: vrsqrtsh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vrsqrtsh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2263
      start: 2263
    functionDepth: 0
    functionLinenumber: 2263
    functionLinenumberEnd: 2263
    functionName: vscalefpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vscalefpd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2264
      start: 2264
    functionDepth: 0
    functionLinenumber: 2264
    functionLinenumberEnd: 2264
    functionName: vscalefph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vscalefph(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2265
      start: 2265
    functionDepth: 0
    functionLinenumber: 2265
    functionLinenumberEnd: 2265
    functionName: vscalefps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vscalefps(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2266
      start: 2266
    functionDepth: 0
    functionLinenumber: 2266
    functionLinenumberEnd: 2266
    functionName: vscalefsd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vscalefsd(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2267
      start: 2267
    functionDepth: 0
    functionLinenumber: 2267
    functionLinenumberEnd: 2267
    functionName: vscalefsh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vscalefsh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2268
      start: 2268
    functionDepth: 0
    functionLinenumber: 2268
    functionLinenumberEnd: 2268
    functionName: vscalefss
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vscalefss(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 2269
      start: 2269
    functionDepth: 0
    functionLinenumber: 2269
    functionLinenumberEnd: 2269
    functionName: vscatterdpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather2
    linkageType: ''
    returnType: void
    signature: void vscatterdpd(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 2270
      start: 2270
    functionDepth: 0
    functionLinenumber: 2270
    functionLinenumberEnd: 2270
    functionName: vscatterdps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather2
    linkageType: ''
    returnType: void
    signature: void vscatterdps(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGatherFetch
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 2271
      start: 2271
    functionDepth: 0
    functionLinenumber: 2271
    functionLinenumberEnd: 2271
    functionName: vscatterpf0dpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGatherFetch
    linkageType: ''
    returnType: void
    signature: void vscatterpf0dpd(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGatherFetch
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 2272
      start: 2272
    functionDepth: 0
    functionLinenumber: 2272
    functionLinenumberEnd: 2272
    functionName: vscatterpf0dps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGatherFetch
    linkageType: ''
    returnType: void
    signature: void vscatterpf0dps(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGatherFetch
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 2273
      start: 2273
    functionDepth: 0
    functionLinenumber: 2273
    functionLinenumberEnd: 2273
    functionName: vscatterpf0qpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGatherFetch
    linkageType: ''
    returnType: void
    signature: void vscatterpf0qpd(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGatherFetch
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 2274
      start: 2274
    functionDepth: 0
    functionLinenumber: 2274
    functionLinenumberEnd: 2274
    functionName: vscatterpf0qps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGatherFetch
    linkageType: ''
    returnType: void
    signature: void vscatterpf0qps(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGatherFetch
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 2275
      start: 2275
    functionDepth: 0
    functionLinenumber: 2275
    functionLinenumberEnd: 2275
    functionName: vscatterpf1dpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGatherFetch
    linkageType: ''
    returnType: void
    signature: void vscatterpf1dpd(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGatherFetch
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 2276
      start: 2276
    functionDepth: 0
    functionLinenumber: 2276
    functionLinenumberEnd: 2276
    functionName: vscatterpf1dps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGatherFetch
    linkageType: ''
    returnType: void
    signature: void vscatterpf1dps(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGatherFetch
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 2277
      start: 2277
    functionDepth: 0
    functionLinenumber: 2277
    functionLinenumberEnd: 2277
    functionName: vscatterpf1qpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGatherFetch
    linkageType: ''
    returnType: void
    signature: void vscatterpf1qpd(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGatherFetch
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 2278
      start: 2278
    functionDepth: 0
    functionLinenumber: 2278
    functionLinenumberEnd: 2278
    functionName: vscatterpf1qps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGatherFetch
    linkageType: ''
    returnType: void
    signature: void vscatterpf1qps(const Address& addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 2279
      start: 2279
    functionDepth: 0
    functionLinenumber: 2279
    functionLinenumberEnd: 2279
    functionName: vscatterqpd
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather2
    linkageType: ''
    returnType: void
    signature: void vscatterqpd(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opGather2
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' addr'
    - ' x'
    argTypes:
    - Address
    - Xmm
    constantsTouched: []
    func_position:
      end: 2280
      start: 2280
    functionDepth: 0
    functionLinenumber: 2280
    functionLinenumberEnd: 2280
    functionName: vscatterqps
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opGather2
    linkageType: ''
    returnType: void
    signature: void vscatterqps(const Address& addr, const Xmm& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' y1'
    - ' y2'
    - ' op'
    - imm
    argTypes:
    - Ymm
    - Ymm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2281
      start: 2281
    functionDepth: 0
    functionLinenumber: 2281
    functionLinenumberEnd: 2281
    functionName: vshuff32x4
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vshuff32x4(const Ymm& y1, const Ymm& y2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' y1'
    - ' y2'
    - ' op'
    - imm
    argTypes:
    - Ymm
    - Ymm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2282
      start: 2282
    functionDepth: 0
    functionLinenumber: 2282
    functionLinenumberEnd: 2282
    functionName: vshuff64x2
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vshuff64x2(const Ymm& y1, const Ymm& y2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' y1'
    - ' y2'
    - ' op'
    - imm
    argTypes:
    - Ymm
    - Ymm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2283
      start: 2283
    functionDepth: 0
    functionLinenumber: 2283
    functionLinenumberEnd: 2283
    functionName: vshufi32x4
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vshufi32x4(const Ymm& y1, const Ymm& y2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' y1'
    - ' y2'
    - ' op'
    - imm
    argTypes:
    - Ymm
    - Ymm
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2284
      start: 2284
    functionDepth: 0
    functionLinenumber: 2284
    functionLinenumberEnd: 2284
    functionName: vshufi64x2
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vshufi64x2(const Ymm& y1, const Ymm& y2, const Operand& op, uint8_t
      imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2285
      start: 2285
    functionDepth: 0
    functionLinenumber: 2285
    functionLinenumberEnd: 2285
    functionName: vsqrtph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vsqrtph(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    argTypes:
    - Xmm
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2286
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2286
    functionName: vsqrtsh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void vsqrtsh(const Xmm& x1, const Xmm& x2, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2287,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2287
      start: 2287
    functionDepth: 0
    functionLinenumber: 2287
    functionLinenumberEnd: 2287
    functionName: vsubph
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vsubph(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2288,1
    - Dst: opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xmm'
    - ' op1'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2288
      start: 2288
    functionDepth: 0
    functionLinenumber: 2288
    functionLinenumberEnd: 2288
    functionName: vsubsh
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_X_XM
    - Operand
    linkageType: ''
    returnType: void
    signature: void vsubsh(const Xmm& xmm, const Operand& op1, const Operand& op2
      = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opAVX_X_XM_IMM
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2289
      start: 2289
    functionDepth: 0
    functionLinenumber: 2289
    functionLinenumberEnd: 2289
    functionName: vucomish
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opAVX_X_XM_IMM
    linkageType: ''
    returnType: void
    signature: void vucomish(const Xmm& x, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - ' r'
    argTypes:
    - Opmask
    - Reg64
    constantsTouched: []
    func_position:
      end: 2291
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2291
    functionName: kmovq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kmovq(const Opmask& k, const Reg64& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - ' k'
    argTypes:
    - Reg64
    - Opmask
    constantsTouched: []
    func_position:
      end: 2292
      start: 2292
    functionDepth: 0
    functionLinenumber: 2292
    functionLinenumberEnd: 2292
    functionName: kmovq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 0
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void kmovq(const Reg64& r, const Opmask& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opVex
      Src: /src/mcl/src/xbyak/xbyak_mnemonic.h:2293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' r'
    argTypes:
    - Xmm
    - Reg64
    constantsTouched: []
    func_position:
      end: 2293
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2293
    functionName: vpbroadcastq
    functionSourceFile: /src/mcl/src/xbyak/xbyak_mnemonic.h
    functionUses: 8
    functionsReached:
    - opVex
    linkageType: ''
    returnType: void
    signature: void vpbroadcastq(const Xmm& x, const Reg64& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeT<L1 | L2, H1 | H2>
      Src: /src/mcl/src/xbyak/xbyak_util.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: operator|(TypeT<L1, H1>, TypeT<L2, H2>)
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - TypeT<L1 | L2, H1 | H2>
    linkageType: ''
    returnType: TypeT<L1 | L2, H1 | H2>
    signature: TypeT<L1 | L2, H1 | H2> operator|(TypeT<L1, H1>, TypeT<L2, H2>)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: Xbyak::util::local::max_
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T max_(T x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: Xbyak::util::local::min_
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T min_(T x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: Xbyak::util::Cpu::Type::Type
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Type(uint64_t L = 0, uint64_t H = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: Xbyak::util::Cpu::Type::Type
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Type(local::TypeT<L_, H_>)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Type
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: '& operator&=(const Type& rhs)'
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type & operator&=(const Type& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Type
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: '& operator|=(const Type& rhs)'
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type & operator|=(const Type& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Type
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: operator&(const Type& rhs) const
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type operator&(const Type& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Type
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: operator|(const Type& rhs) const
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type operator|(const Type& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Type
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: operator==(const Type& rhs) const
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Type& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Type
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: operator!=(const Type& rhs) const
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Type& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: operator bool() const
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: Xbyak::util::Cpu::Type::getL
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getL() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Xbyak::util::Cpu::Type::getH
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getH() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: Xbyak::util::Cpu::get32bitAsBE
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get32bitAsBE(const char *x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: Xbyak::util::Cpu::mask
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mask(int n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::util::Cpu::getCpuid
      Src: /src/mcl/src/xbyak/xbyak_util.h:152,1
    - Dst: Xbyak::util::Cpu::mask
      Src: /src/mcl/src/xbyak/xbyak_util.h:153,1
    - Dst: Xbyak::util::Cpu::mask
      Src: /src/mcl/src/xbyak/xbyak_util.h:154,1
    - Dst: Xbyak::util::Cpu::mask
      Src: /src/mcl/src/xbyak/xbyak_util.h:155,1
    - Dst: Xbyak::util::Cpu::mask
      Src: /src/mcl/src/xbyak/xbyak_util.h:157,1
    - Dst: Xbyak::util::Cpu::mask
      Src: /src/mcl/src/xbyak/xbyak_util.h:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 169
    functionName: Xbyak::util::Cpu::setFamily
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - Xbyak::util::Cpu::mask
    - Xbyak::util::Cpu::getCpuid
    linkageType: ''
    returnType: void
    signature: void setFamily()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - base
    - end
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: Xbyak::util::Cpu::extractBit
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t extractBit(uint32_t val, uint32_t base, uint32_t end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::util::Cpu::has
      Src: /src/mcl/src/xbyak/xbyak_util.h:176,1
    - Dst: Xbyak::util::Cpu::getCpuidEx
      Src: /src/mcl/src/xbyak/xbyak_util.h:181,1
    - Dst: Xbyak::util::Cpu::getCpuidEx
      Src: /src/mcl/src/xbyak/xbyak_util.h:191,1
    - Dst: Xbyak::util::Cpu::extractBit
      Src: /src/mcl/src/xbyak/xbyak_util.h:192,1
    - Dst: Xbyak::util::Cpu::extractBit
      Src: /src/mcl/src/xbyak/xbyak_util.h:194,1
    - Dst: Xbyak::util::local::max_
      Src: /src/mcl/src/xbyak/xbyak_util.h:200,1
    - Dst: Xbyak::util::local::max_
      Src: /src/mcl/src/xbyak/xbyak_util.h:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 211
    functionName: Xbyak::util::Cpu::setNumCores
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - Xbyak::util::local::max_
    - Xbyak::util::Cpu::has
    - Xbyak::util::Cpu::getCpuidEx
    - Xbyak::util::Cpu::extractBit
    linkageType: ''
    returnType: void
    signature: void setNumCores()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::util::Cpu::has
      Src: /src/mcl/src/xbyak/xbyak_util.h:214,1
    - Dst: Xbyak::util::Cpu::getCpuidEx
      Src: /src/mcl/src/xbyak/xbyak_util.h:238,1
    - Dst: Xbyak::util::local::min_
      Src: /src/mcl/src/xbyak/xbyak_util.h:244,1
    - Dst: assert
      Src: /src/mcl/src/xbyak/xbyak_util.h:246,1
    - Dst: Xbyak::util::Cpu::extractBit
      Src: /src/mcl/src/xbyak/xbyak_util.h:248,1
    - Dst: Xbyak::util::Cpu::extractBit
      Src: /src/mcl/src/xbyak/xbyak_util.h:249,1
    - Dst: Xbyak::util::Cpu::extractBit
      Src: /src/mcl/src/xbyak/xbyak_util.h:250,1
    - Dst: assert
      Src: /src/mcl/src/xbyak/xbyak_util.h:253,1
    - Dst: Xbyak::util::local::max_
      Src: /src/mcl/src/xbyak/xbyak_util.h:254,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 258
    functionName: Xbyak::util::Cpu::setCacheHierarchy
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - Xbyak::util::local::min_
    - Xbyak::util::local::max_
    - Xbyak::util::Cpu::has
    - assert
    - Xbyak::util::Cpu::extractBit
    - Xbyak::util::Cpu::getCpuidEx
    linkageType: ''
    returnType: void
    signature: void setCacheHierarchy()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW_RET
      Src: /src/mcl/src/xbyak/xbyak_util.h:270,1
    - Dst: XBYAK_THROW_RET
      Src: /src/mcl/src/xbyak/xbyak_util.h:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - level
    argTypes:
    - IntelCpuTopologyLevel
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: Xbyak::util::Cpu::getNumCores
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW_RET
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getNumCores(IntelCpuTopologyLevel level) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: Xbyak::util::Cpu::getDataCacheLevels
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getDataCacheLevels() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW_RET
      Src: /src/mcl/src/xbyak/xbyak_util.h:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: Xbyak::util::Cpu::getCoresSharingDataCache
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW_RET
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getCoresSharingDataCache(uint32_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW_RET
      Src: /src/mcl/src/xbyak/xbyak_util.h:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: Xbyak::util::Cpu::getDataCacheSize
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW_RET
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getDataCacheSize(uint32_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __cpuid
      Src: /src/mcl/src/xbyak/xbyak_util.h:297,1
    - Dst: reinterpret_cast<int*>
      Src: /src/mcl/src/xbyak/xbyak_util.h:297,1
    - Dst: __cpuid
      Src: /src/mcl/src/xbyak/xbyak_util.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - eaxIn
    - data
    argTypes:
    - uint32_t
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 305
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 305
    functionName: Xbyak::util::Cpu::getCpuid
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<int*>
    - __cpuid
    linkageType: ''
    returnType: void
    signature: void getCpuid(uint32_t eaxIn, uint32_t data[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __cpuidex
      Src: /src/mcl/src/xbyak/xbyak_util.h:310,1
    - Dst: reinterpret_cast<int*>
      Src: /src/mcl/src/xbyak/xbyak_util.h:310,1
    - Dst: __cpuid_count
      Src: /src/mcl/src/xbyak/xbyak_util.h:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - eaxIn
    - ecxIn
    - data
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t[]
    constantsTouched: []
    func_position:
      end: 319
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 319
    functionName: Xbyak::util::Cpu::getCpuidEx
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<int*>
    - __cpuidex
    - __cpuid_count
    linkageType: ''
    returnType: void
    signature: void getCpuidEx(uint32_t eaxIn, uint32_t ecxIn, uint32_t data[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _xgetbv
      Src: /src/mcl/src/xbyak/xbyak_util.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 335
    functionName: Xbyak::util::Cpu::getXfeature
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - _xgetbv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getXfeature()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::util::Cpu::getCpuid
      Src: /src/mcl/src/xbyak/xbyak_util.h:430,1
    - Dst: Xbyak::util::Cpu::get32bitAsBE
      Src: /src/mcl/src/xbyak/xbyak_util.h:434,1
    - Dst: Xbyak::util::Cpu::getCpuid
      Src: /src/mcl/src/xbyak/xbyak_util.h:436,1
    - Dst: Xbyak::util::Cpu::get32bitAsBE
      Src: /src/mcl/src/xbyak/xbyak_util.h:448,1
    - Dst: Xbyak::util::Cpu::getCpuid
      Src: /src/mcl/src/xbyak/xbyak_util.h:453,1
    - Dst: Xbyak::util::Cpu::getCpuid
      Src: /src/mcl/src/xbyak/xbyak_util.h:456,1
    - Dst: Xbyak::util::Cpu::getCpuid
      Src: /src/mcl/src/xbyak/xbyak_util.h:468,1
    - Dst: Xbyak::util::Cpu::getCpuid
      Src: /src/mcl/src/xbyak/xbyak_util.h:472,1
    - Dst: Xbyak::util::Cpu::getCpuidEx
      Src: /src/mcl/src/xbyak/xbyak_util.h:501,1
    - Dst: Xbyak::util::Cpu::getCpuidEx
      Src: /src/mcl/src/xbyak/xbyak_util.h:525,1
    - Dst: Xbyak::util::Cpu::getCpuidEx
      Src: /src/mcl/src/xbyak/xbyak_util.h:551,1
    - Dst: Xbyak::util::Cpu::setFamily
      Src: /src/mcl/src/xbyak/xbyak_util.h:558,1
    - Dst: Xbyak::util::Cpu::setNumCores
      Src: /src/mcl/src/xbyak/xbyak_util.h:559,1
    - Dst: Xbyak::util::Cpu::setCacheHierarchy
      Src: /src/mcl/src/xbyak/xbyak_util.h:560,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 179
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 561
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 561
    functionName: Xbyak::util::Cpu::Cpu
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - Xbyak::util::Cpu::getCpuidEx
    - Xbyak::util::Cpu::setNumCores
    - Xbyak::util::Cpu::setCacheHierarchy
    - Xbyak::util::Cpu::getCpuid
    - Xbyak::util::Cpu::get32bitAsBE
    - Xbyak::util::Cpu::setFamily
    linkageType: ''
    returnType: void
    signature: void Cpu()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/src/xbyak/xbyak_util.h:565,1
    - Dst: printf
      Src: /src/mcl/src/xbyak/xbyak_util.h:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 569
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 569
    functionName: Xbyak::util::Cpu::putFamily
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void putFamily() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' type'
    argTypes:
    - Type
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: Xbyak::util::Cpu::has
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has(const Type& type) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __rdtsc
      Src: /src/mcl/src/xbyak/xbyak_util.h:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 593
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 593
    functionName: Xbyak::util::Clock::getRdtsc
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - __rdtsc
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getRdtsc()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 598
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 598
    functionName: Xbyak::util::Clock::Clock
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Clock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::util::Clock::getRdtsc
      Src: /src/mcl/src/xbyak/xbyak_util.h:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 602
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 602
    functionName: Xbyak::util::Clock::begin
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - Xbyak::util::Clock::getRdtsc
    linkageType: ''
    returnType: void
    signature: void begin()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::util::Clock::getRdtsc
      Src: /src/mcl/src/xbyak/xbyak_util.h:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 607
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 607
    functionName: Xbyak::util::Clock::end
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - Xbyak::util::Clock::getRdtsc
    linkageType: ''
    returnType: void
    signature: void end()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 608
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 608
    functionName: Xbyak::util::Clock::getCount
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getCount() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 609
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 609
    functionName: Xbyak::util::Clock::getClock
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getClock() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 610
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 610
    functionName: Xbyak::util::Clock::clear
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 625
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 625
    functionName: Xbyak::util::Pack::Pack
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pack()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::util::Pack::init
      Src: /src/mcl/src/xbyak/xbyak_util.h:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tbl
    - n
    argTypes:
    - Xbyak::Reg64*
    - size_t
    constantsTouched: []
    func_position:
      end: 626
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 626
    functionName: Xbyak::util::Pack::Pack
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - Xbyak::util::Pack::init
    linkageType: ''
    returnType: void
    signature: void Pack(const Xbyak::Reg64 *tbl, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Pack
    constantsTouched: []
    func_position:
      end: 631
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 631
    functionName: Xbyak::util::Pack::Pack
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pack(const Pack& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Pack
    constantsTouched: []
    func_position:
      end: 637
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 637
    functionName: '& operator=(const Pack& rhs)'
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Pack
    signature: Pack & operator=(const Pack& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' t0'
    argTypes:
    - Xbyak::Reg64
    constantsTouched: []
    func_position:
      end: 639
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 639
    functionName: Xbyak::util::Pack::Pack
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pack(const Xbyak::Reg64& t0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' t1'
    - ' t0'
    argTypes:
    - Xbyak::Reg64
    - Xbyak::Reg64
    constantsTouched: []
    func_position:
      end: 641
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 641
    functionName: Xbyak::util::Pack::Pack
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pack(const Xbyak::Reg64& t1, const Xbyak::Reg64& t0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' t2'
    - ' t1'
    - ' t0'
    argTypes:
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    constantsTouched: []
    func_position:
      end: 643
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 643
    functionName: Xbyak::util::Pack::Pack
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pack(const Xbyak::Reg64& t2, const Xbyak::Reg64& t1, const Xbyak::Reg64&
      t0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' t3'
    - ' t2'
    - ' t1'
    - ' t0'
    argTypes:
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    constantsTouched: []
    func_position:
      end: 645
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 645
    functionName: Xbyak::util::Pack::Pack
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pack(const Xbyak::Reg64& t3, const Xbyak::Reg64& t2, const Xbyak::Reg64&
      t1, const Xbyak::Reg64& t0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ' t4'
    - ' t3'
    - ' t2'
    - ' t1'
    - ' t0'
    argTypes:
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    constantsTouched: []
    func_position:
      end: 647
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 647
    functionName: Xbyak::util::Pack::Pack
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pack(const Xbyak::Reg64& t4, const Xbyak::Reg64& t3, const Xbyak::Reg64&
      t2, const Xbyak::Reg64& t1, const Xbyak::Reg64& t0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - ' t5'
    - ' t4'
    - ' t3'
    - ' t2'
    - ' t1'
    - ' t0'
    argTypes:
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    constantsTouched: []
    func_position:
      end: 649
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 649
    functionName: Xbyak::util::Pack::Pack
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pack(const Xbyak::Reg64& t5, const Xbyak::Reg64& t4, const Xbyak::Reg64&
      t3, const Xbyak::Reg64& t2, const Xbyak::Reg64& t1, const Xbyak::Reg64& t0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - ' t6'
    - ' t5'
    - ' t4'
    - ' t3'
    - ' t2'
    - ' t1'
    - ' t0'
    argTypes:
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    constantsTouched: []
    func_position:
      end: 651
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 651
    functionName: Xbyak::util::Pack::Pack
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pack(const Xbyak::Reg64& t6, const Xbyak::Reg64& t5, const Xbyak::Reg64&
      t4, const Xbyak::Reg64& t3, const Xbyak::Reg64& t2, const Xbyak::Reg64& t1,
      const Xbyak::Reg64& t0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 8
    argNames:
    - ' t7'
    - ' t6'
    - ' t5'
    - ' t4'
    - ' t3'
    - ' t2'
    - ' t1'
    - ' t0'
    argTypes:
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    constantsTouched: []
    func_position:
      end: 653
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 653
    functionName: Xbyak::util::Pack::Pack
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pack(const Xbyak::Reg64& t7, const Xbyak::Reg64& t6, const Xbyak::Reg64&
      t5, const Xbyak::Reg64& t4, const Xbyak::Reg64& t3, const Xbyak::Reg64& t2,
      const Xbyak::Reg64& t1, const Xbyak::Reg64& t0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 9
    argNames:
    - ' t8'
    - ' t7'
    - ' t6'
    - ' t5'
    - ' t4'
    - ' t3'
    - ' t2'
    - ' t1'
    - ' t0'
    argTypes:
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    constantsTouched: []
    func_position:
      end: 655
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 655
    functionName: Xbyak::util::Pack::Pack
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pack(const Xbyak::Reg64& t8, const Xbyak::Reg64& t7, const Xbyak::Reg64&
      t6, const Xbyak::Reg64& t5, const Xbyak::Reg64& t4, const Xbyak::Reg64& t3,
      const Xbyak::Reg64& t2, const Xbyak::Reg64& t1, const Xbyak::Reg64& t0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 10
    argNames:
    - ' t9'
    - ' t8'
    - ' t7'
    - ' t6'
    - ' t5'
    - ' t4'
    - ' t3'
    - ' t2'
    - ' t1'
    - ' t0'
    argTypes:
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    constantsTouched: []
    func_position:
      end: 657
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 657
    functionName: Xbyak::util::Pack::Pack
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pack(const Xbyak::Reg64& t9, const Xbyak::Reg64& t8, const Xbyak::Reg64&
      t7, const Xbyak::Reg64& t6, const Xbyak::Reg64& t5, const Xbyak::Reg64& t4,
      const Xbyak::Reg64& t3, const Xbyak::Reg64& t2, const Xbyak::Reg64& t1, const
      Xbyak::Reg64& t0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 11
    argNames:
    - ' ta'
    - ' t9'
    - ' t8'
    - ' t7'
    - ' t6'
    - ' t5'
    - ' t4'
    - ' t3'
    - ' t2'
    - ' t1'
    - ' t0'
    argTypes:
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    constantsTouched: []
    func_position:
      end: 659
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 659
    functionName: Xbyak::util::Pack::Pack
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pack(const Xbyak::Reg64& ta, const Xbyak::Reg64& t9, const Xbyak::Reg64&
      t8, const Xbyak::Reg64& t7, const Xbyak::Reg64& t6, const Xbyak::Reg64& t5,
      const Xbyak::Reg64& t4, const Xbyak::Reg64& t3, const Xbyak::Reg64& t2, const
      Xbyak::Reg64& t1, const Xbyak::Reg64& t0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 12
    argNames:
    - ' tb'
    - ' ta'
    - ' t9'
    - ' t8'
    - ' t7'
    - ' t6'
    - ' t5'
    - ' t4'
    - ' t3'
    - ' t2'
    - ' t1'
    - ' t0'
    argTypes:
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    - Xbyak::Reg64
    constantsTouched: []
    func_position:
      end: 661
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 661
    functionName: Xbyak::util::Pack::Pack
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pack(const Xbyak::Reg64& tb, const Xbyak::Reg64& ta, const Xbyak::Reg64&
      t9, const Xbyak::Reg64& t8, const Xbyak::Reg64& t7, const Xbyak::Reg64& t6,
      const Xbyak::Reg64& t5, const Xbyak::Reg64& t4, const Xbyak::Reg64& t3, const
      Xbyak::Reg64& t2, const Xbyak::Reg64& t1, const Xbyak::Reg64& t0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mcl/src/xbyak/xbyak_util.h:665,1
    - Dst: XBYAK_THROW_RET
      Src: /src/mcl/src/xbyak/xbyak_util.h:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - Xbyak::Reg64
    constantsTouched: []
    func_position:
      end: 670
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 670
    functionName: '& append(const Xbyak::Reg64& t)'
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW_RET
    - fprintf
    linkageType: ''
    returnType: Pack
    signature: Pack & append(const Xbyak::Reg64& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mcl/src/xbyak/xbyak_util.h:674,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_util.h:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tbl
    - n
    argTypes:
    - Xbyak::Reg64*
    - size_t
    constantsTouched: []
    func_position:
      end: 681
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 681
    functionName: Xbyak::util::Pack::init
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 1
    functionsReached:
    - XBYAK_THROW
    - fprintf
    linkageType: ''
    returnType: void
    signature: void init(const Xbyak::Reg64 *tbl, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mcl/src/xbyak/xbyak_util.h:685,1
    - Dst: XBYAK_THROW_RET
      Src: /src/mcl/src/xbyak/xbyak_util.h:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 689
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 689
    functionName: '& operator[](size_t n) const'
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW_RET
    - fprintf
    linkageType: ''
    returnType: Xbyak::Reg64
    signature: Xbyak::Reg64 & operator[](size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 690
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 690
    functionName: Xbyak::util::Pack::size
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mcl/src/xbyak/xbyak_util.h:698,1
    - Dst: XBYAK_THROW_RET
      Src: /src/mcl/src/xbyak/xbyak_util.h:699,1
    - Dst: Xbyak::util::Pack::Pack
      Src: /src/mcl/src/xbyak/xbyak_util.h:699,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 707
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 707
    functionName: Xbyak::util::Pack::sub
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - Xbyak::util::Pack::Pack
    - XBYAK_THROW_RET
    - fprintf
    linkageType: ''
    returnType: Pack
    signature: Pack sub(size_t pos, size_t num = size_t(-1)) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/src/xbyak/xbyak_util.h:711,1
    - Dst: toString
      Src: /src/mcl/src/xbyak/xbyak_util.h:711,1
    - Dst: printf
      Src: /src/mcl/src/xbyak/xbyak_util.h:713,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 714
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 714
    functionName: Xbyak::util::Pack::put
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - toString
    - printf
    linkageType: ''
    returnType: void
    signature: void put() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_util.h:774,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak_util.h:776,1
    - Dst: Xbyak::util::local::max_
      Src: /src/mcl/src/xbyak/xbyak_util.h:778,1
    - Dst: Xbyak::CodeGenerator*::push
      Src: /src/mcl/src/xbyak/xbyak_util.h:781,1
    - Dst: Reg64
      Src: /src/mcl/src/xbyak/xbyak_util.h:781,1
    - Dst: Xbyak::CodeGenerator*::sub
      Src: /src/mcl/src/xbyak/xbyak_util.h:786,1
    - Dst: XBYAK_CONSTEXPR::Reg64
      Src: /src/mcl/src/xbyak/xbyak_util.h:789,1
    - Dst: Xbyak::util::StackFrame::getRegIdx
      Src: /src/mcl/src/xbyak/xbyak_util.h:789,1
    - Dst: XBYAK_CONSTEXPR::Reg64
      Src: /src/mcl/src/xbyak/xbyak_util.h:792,1
    - Dst: Xbyak::util::StackFrame::getRegIdx
      Src: /src/mcl/src/xbyak/xbyak_util.h:792,1
    - Dst: mov
      Src: /src/mcl/src/xbyak/xbyak_util.h:794,1
    - Dst: mov
      Src: /src/mcl/src/xbyak/xbyak_util.h:795,1
    - Dst: init
      Src: /src/mcl/src/xbyak/xbyak_util.h:796,1
    - Dst: init
      Src: /src/mcl/src/xbyak/xbyak_util.h:797,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - code
    - pNum
    argTypes:
    - Xbyak::CodeGenerator*
    - int
    constantsTouched: []
    func_position:
      end: 798
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 798
    functionName: Xbyak::util::StackFrame::StackFrame
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - Xbyak::util::local::max_
    - Xbyak::CodeGenerator*::sub
    - XBYAK_CONSTEXPR::Reg64
    - Xbyak::util::StackFrame::getRegIdx
    - XBYAK_THROW
    - init
    - Xbyak::CodeGenerator*::push
    - mov
    - Reg64
    linkageType: ''
    returnType: void
    signature: void StackFrame(Xbyak::CodeGenerator *code, int pNum, int tNum = 0,
      int stackSizeByte = 0, bool makeEpilog = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/mcl/src/xbyak/xbyak_util.h:808,1
    - Dst: pop
      Src: /src/mcl/src/xbyak/xbyak_util.h:810,1
    - Dst: Reg64
      Src: /src/mcl/src/xbyak/xbyak_util.h:810,1
    - Dst: ret
      Src: /src/mcl/src/xbyak/xbyak_util.h:813,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 814
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 814
    functionName: Xbyak::util::StackFrame::close
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - add
    - ret
    - Reg64
    - pop
    linkageType: ''
    returnType: void
    signature: void close(bool callRet = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/mcl/src/xbyak/xbyak_util.h:818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 819
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 819
    functionName: ~StackFrame()
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~StackFrame()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 833
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 833
    functionName: Xbyak::util::StackFrame::getOrderTbl
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int *getOrderTbl() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/xbyak/xbyak_util.h:836,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' pos'
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 849
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 849
    functionName: Xbyak::util::StackFrame::getRegIdx
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int getRegIdx(int& pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 874
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 874
    functionName: Xbyak::util::Profiler::Profiler
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Profiler()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suffix
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 879
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 879
    functionName: Xbyak::util::Profiler::setNameSuffix
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setNameSuffix(const char *suffix)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - startAddr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 883
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 883
    functionName: Xbyak::util::Profiler::setStartAddr
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setStartAddr(const void *startAddr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::util::Profiler::close
      Src: /src/mcl/src/xbyak/xbyak_util.h:893,1
    - Dst: snprintf
      Src: /src/mcl/src/xbyak/xbyak_util.h:897,1
    - Dst: fopen
      Src: /src/mcl/src/xbyak/xbyak_util.h:898,1
    - Dst: fprintf
      Src: /src/mcl/src/xbyak/xbyak_util.h:900,1
    - Dst: dlopen
      Src: /src/mcl/src/xbyak/xbyak_util.h:909,1
    - Dst: iJIT_IsProfilingActive
      Src: /src/mcl/src/xbyak/xbyak_util.h:910,1
    - Dst: fprintf
      Src: /src/mcl/src/xbyak/xbyak_util.h:911,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 918
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 918
    functionName: Xbyak::util::Profiler::init
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - iJIT_IsProfilingActive
    - dlopen
    - Xbyak::util::Profiler::close
    - fprintf
    - snprintf
    - fopen
    linkageType: ''
    returnType: void
    signature: void init(int mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/mcl/src/xbyak/xbyak_util.h:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: ~Profiler()
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~Profiler()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/mcl/src/xbyak/xbyak_util.h:927,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 930
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 930
    functionName: Xbyak::util::Profiler::close
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 1
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void close()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mcl/src/xbyak/xbyak_util.h:942,1
    - Dst: fprintf
      Src: /src/mcl/src/xbyak/xbyak_util.h:949,1
    - Dst: fprintf
      Src: /src/mcl/src/xbyak/xbyak_util.h:951,1
    - Dst: fflush
      Src: /src/mcl/src/xbyak/xbyak_util.h:952,1
    - Dst: iJIT_GetNewMethodID
      Src: /src/mcl/src/xbyak/xbyak_util.h:960,1
    - Dst: const_cast<void*>
      Src: /src/mcl/src/xbyak/xbyak_util.h:963,1
    - Dst: snprintf
      Src: /src/mcl/src/xbyak/xbyak_util.h:967,1
    - Dst: iJIT_NotifyEvent
      Src: /src/mcl/src/xbyak/xbyak_util.h:969,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - funcName
    - startAddr
    - funcSize
    argTypes:
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 971
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 971
    functionName: Xbyak::util::Profiler::set
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - fflush
    - fprintf
    - iJIT_GetNewMethodID
    - iJIT_NotifyEvent
    - snprintf
    linkageType: ''
    returnType: void
    signature: void set(const char *funcName, const void *startAddr, size_t funcSize)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::util::Profiler::set
      Src: /src/mcl/src/xbyak/xbyak_util.h:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - funcName
    - endAddr
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 980
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 980
    functionName: Xbyak::util::Profiler::set
    functionSourceFile: /src/mcl/src/xbyak/xbyak_util.h
    functionUses: 1
    functionsReached:
    - Xbyak::util::Profiler::set
    linkageType: ''
    returnType: void
    signature: void set(const char *funcName, const void *endAddr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/xbyak/xbyak.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 280
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 280
    functionName: Xbyak::ConvertErrorToString
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char *ConvertErrorToString(int err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: Xbyak::local::GetErrorRef
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int & GetErrorRef()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::local::GetErrorRef
      Src: /src/mcl/src/xbyak/xbyak.h:291,1
    - Dst: Xbyak::local::GetErrorRef
      Src: /src/mcl/src/xbyak/xbyak.h:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: Xbyak::local::SetError
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::local::GetErrorRef
    linkageType: ''
    returnType: void
    signature: void SetError(int err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: Xbyak::ClearError
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClearError()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::local::GetErrorRef
      Src: /src/mcl/src/xbyak/xbyak.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: Xbyak::GetError
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - Xbyak::local::GetErrorRef
    linkageType: ''
    returnType: int
    signature: int GetError()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: Xbyak::Error::Error
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Error(int err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: operator int() const
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator int() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ConvertErrorToString
      Src: /src/mcl/src/xbyak/xbyak.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: Xbyak::Error::XBYAK_NOEXCEPT
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - ConvertErrorToString
    linkageType: ''
    returnType: char
    signature: char *what() const XBYAK_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: Xbyak::ClearError
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClearError()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: Xbyak::GetError
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetError()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: what
      Src: /src/mcl/src/xbyak/xbyak.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' err'
    argTypes:
    - Error
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: Xbyak::ConvertErrorToString
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - what
    linkageType: ''
    returnType: char
    signature: char *ConvertErrorToString(const Error& err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __mingw_aligned_malloc
      Src: /src/mcl/src/xbyak/xbyak.h:339,1
    - Dst: _aligned_malloc
      Src: /src/mcl/src/xbyak/xbyak.h:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: Xbyak::AlignedMalloc
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 3
    functionsReached:
    - __mingw_aligned_malloc
    - _aligned_malloc
    linkageType: ''
    returnType: void
    signature: void *AlignedMalloc(size_t size, size_t alignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __mingw_aligned_free
      Src: /src/mcl/src/xbyak/xbyak.h:352,1
    - Dst: _aligned_free
      Src: /src/mcl/src/xbyak/xbyak.h:354,1
    - Dst: Xbyak::free
      Src: /src/mcl/src/xbyak/xbyak.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: Xbyak::AlignedFree
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 3
    functionsReached:
    - __mingw_aligned_free
    - Xbyak::free
    - _aligned_free
    linkageType: ''
    returnType: void
    signature: void AlignedFree(void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - From
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: Xbyak::CastTo
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: To
    signature: To CastTo(From p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 369
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 369
    functionName: Xbyak::inner::IsInDisp8
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInDisp8(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: Xbyak::inner::IsInInt32
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInInt32(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::inner::IsInInt32
      Src: /src/mcl/src/xbyak/xbyak.h:375,1
    - Dst: XBYAK_THROW_RET
      Src: /src/mcl/src/xbyak/xbyak.h:375,1
    - Dst: static_cast<uint32_t>
      Src: /src/mcl/src/xbyak/xbyak.h:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 378
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 378
    functionName: Xbyak::inner::VerifyInInt32
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - XBYAK_THROW_RET
    - Xbyak::inner::IsInInt32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t VerifyInInt32(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 392
    functionName: Xbyak::Allocator
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Allocator(const std::string& = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/mcl/src/xbyak/xbyak.h:393,1
    - Dst: Xbyak::AlignedMalloc
      Src: /src/mcl/src/xbyak/xbyak.h:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 393
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 393
    functionName: Xbyak::alloc
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::AlignedMalloc
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *alloc(size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::AlignedFree
      Src: /src/mcl/src/xbyak/xbyak.h:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: Xbyak::free
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - Xbyak::AlignedFree
    linkageType: ''
    returnType: void
    signature: void free(uint8_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 395
    functionName: ~Allocator()
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Allocator()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 397
    functionName: Xbyak::useProtect
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool useProtect() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 414
    functionName: Xbyak::util::getMacOsVersionPure
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getMacOsVersionPure()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 420
    functionName: Xbyak::util::getMacOsVersion
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getMacOsVersion()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: Xbyak::MmapAllocator::MmapAllocator
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MmapAllocator(const std::string& name = "xbyak")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::util::getMacOsVersion
      Src: /src/mcl/src/xbyak/xbyak.h:452,1
    - Dst: memfd_create
      Src: /src/mcl/src/xbyak/xbyak.h:456,1
    - Dst: c_str
      Src: /src/mcl/src/xbyak/xbyak.h:456,1
    - Dst: ftruncate
      Src: /src/mcl/src/xbyak/xbyak.h:459,1
    - Dst: close
      Src: /src/mcl/src/xbyak/xbyak.h:460,1
    - Dst: XBYAK_THROW_RET
      Src: /src/mcl/src/xbyak/xbyak.h:461,1
    - Dst: close
      Src: /src/mcl/src/xbyak/xbyak.h:467,1
    - Dst: XBYAK_THROW_RET
      Src: /src/mcl/src/xbyak/xbyak.h:468,1
    - Dst: assert
      Src: /src/mcl/src/xbyak/xbyak.h:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 477
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 477
    functionName: Xbyak::MmapAllocator::alloc
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW_RET
    - close
    - c_str
    - assert
    - ftruncate
    - Xbyak::util::getMacOsVersion
    - memfd_create
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *alloc(size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/mcl/src/xbyak/xbyak.h:481,1
    - Dst: end
      Src: /src/mcl/src/xbyak/xbyak.h:482,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:482,1
    - Dst: munmap
      Src: /src/mcl/src/xbyak/xbyak.h:483,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:483,1
    - Dst: close
      Src: /src/mcl/src/xbyak/xbyak.h:485,1
    - Dst: erase
      Src: /src/mcl/src/xbyak/xbyak.h:487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 488
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 488
    functionName: Xbyak::MmapAllocator::free
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - close
    - end
    - XBYAK_THROW
    - erase
    - find
    - munmap
    linkageType: ''
    returnType: void
    signature: void free(uint8_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: idx_
      Src: /src/mcl/src/xbyak/xbyak.h:533,1
    - Dst: idx_
      Src: /src/mcl/src/xbyak/xbyak.h:535,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/src/xbyak/xbyak.h:535,1
    - Dst: assert
      Src: /src/mcl/src/xbyak/xbyak.h:540,1
    - Dst: static_cast<Kind>
      Src: /src/mcl/src/xbyak/xbyak.h:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 542
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 542
    functionName: Xbyak::getKind
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - idx_
    - assert
    - static_cast<uint8_t>
    - static_cast<Kind>
    linkageType: ''
    returnType: "class Operand {\n\tstatic const uint8_t EXT8BIT = 0x20;\n\tunsigned
      int idx_:6; // 0..31 + EXT8BIT = 1 if spl/bpl/sil/dil\n\tunsigned int kind_:10;\n\tunsigned
      int bit_:14;\nprotected:\n\tunsigned int zero_:1;\n\tunsigned int mask_:3;\n\tunsigned
      int rounding_:3;\n\tvoid setIdx(int idx) { idx_ = idx; }\npublic:\n\tenum Kind
      {\n\t\tNONE = 0,\n\t\tMEM = 1 << 0,\n\t\tREG = 1 << 1,\n\t\tMMX = 1 << 2,\n\t\tFPU
      = 1 << 3,\n\t\tXMM = 1 << 4,\n\t\tYMM = 1 << 5,\n\t\tZMM = 1 << 6,\n\t\tOPMASK
      = 1 << 7,\n\t\tBNDREG = 1 << 8,\n\t\tTMM = 1 << 9\n\t};\n\tenum Code {\n#ifdef
      XBYAK64\n\t\tRAX = 0, RCX, RDX, RBX, RSP, RBP, RSI, RDI, R8, R9, R10, R11, R12,
      R13, R14, R15,\n\t\tR8D = 8, R9D, R10D, R11D, R12D, R13D, R14D, R15D,\n\t\tR8W
      = 8, R9W, R10W, R11W, R12W, R13W, R14W, R15W,\n\t\tR8B = 8, R9B, R10B, R11B,
      R12B, R13B, R14B, R15B,\n\t\tSPL = 4, BPL, SIL, DIL,\n#endif\n\t\tEAX = 0, ECX,
      EDX, EBX, ESP, EBP, ESI, EDI,\n\t\tAX = 0, CX, DX, BX, SP, BP, SI, DI,\n\t\tAL
      = 0, CL, DL, BL, AH, CH, DH, BH\n\t};\n\tXBYAK_CONSTEXPR Operand() : idx_(0),
      kind_(0), bit_(0), zero_(0), mask_(0), rounding_(0) { }\n\tXBYAK_CONSTEXPR Operand(int
      idx, Kind kind, int bit, bool ext8bit = 0)\n\t\t: idx_(static_cast<uint8_t>(idx
      | (ext8bit ? EXT8BIT : 0)))\n\t\t, kind_(kind)\n\t\t, bit_(bit)\n\t\t, zero_(0),
      mask_(0), rounding_(0)\n\t{\n\t\tassert((bit_ & (bit_ - 1)) == 0); // bit must
      be power of two\n\t}"
    signature: "class Operand {\n\tstatic const uint8_t EXT8BIT = 0x20;\n\tunsigned
      int idx_:6; // 0..31 + EXT8BIT = 1 if spl/bpl/sil/dil\n\tunsigned int kind_:10;\n\tunsigned
      int bit_:14;\nprotected:\n\tunsigned int zero_:1;\n\tunsigned int mask_:3;\n\tunsigned
      int rounding_:3;\n\tvoid setIdx(int idx) { idx_ = idx; }\npublic:\n\tenum Kind
      {\n\t\tNONE = 0,\n\t\tMEM = 1 << 0,\n\t\tREG = 1 << 1,\n\t\tMMX = 1 << 2,\n\t\tFPU
      = 1 << 3,\n\t\tXMM = 1 << 4,\n\t\tYMM = 1 << 5,\n\t\tZMM = 1 << 6,\n\t\tOPMASK
      = 1 << 7,\n\t\tBNDREG = 1 << 8,\n\t\tTMM = 1 << 9\n\t};\n\tenum Code {\n#ifdef
      XBYAK64\n\t\tRAX = 0, RCX, RDX, RBX, RSP, RBP, RSI, RDI, R8, R9, R10, R11, R12,
      R13, R14, R15,\n\t\tR8D = 8, R9D, R10D, R11D, R12D, R13D, R14D, R15D,\n\t\tR8W
      = 8, R9W, R10W, R11W, R12W, R13W, R14W, R15W,\n\t\tR8B = 8, R9B, R10B, R11B,
      R12B, R13B, R14B, R15B,\n\t\tSPL = 4, BPL, SIL, DIL,\n#endif\n\t\tEAX = 0, ECX,
      EDX, EBX, ESP, EBP, ESI, EDI,\n\t\tAX = 0, CX, DX, BX, SP, BP, SI, DI,\n\t\tAL
      = 0, CL, DL, BL, AH, CH, DH, BH\n\t};\n\tXBYAK_CONSTEXPR Operand() : idx_(0),
      kind_(0), bit_(0), zero_(0), mask_(0), rounding_(0) { }\n\tXBYAK_CONSTEXPR Operand(int
      idx, Kind kind, int bit, bool ext8bit = 0)\n\t\t: idx_(static_cast<uint8_t>(idx
      | (ext8bit ? EXT8BIT : 0)))\n\t\t, kind_(kind)\n\t\t, bit_(bit)\n\t\t, zero_(0),
      mask_(0), rounding_(0)\n\t{\n\t\tassert((bit_ & (bit_ - 1)) == 0); // bit must
      be power of two\n\t} getKind() const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 543
    functionName: Xbyak::getIdx
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR getIdx() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 544
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 544
    functionName: Xbyak::isNone
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR isNone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::is
      Src: /src/mcl/src/xbyak/xbyak.h:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 545
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 545
    functionName: Xbyak::isMMX
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::is
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR isMMX() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::is
      Src: /src/mcl/src/xbyak/xbyak.h:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 546
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 546
    functionName: Xbyak::isXMM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::is
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR isXMM() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::is
      Src: /src/mcl/src/xbyak/xbyak.h:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 547
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 547
    functionName: Xbyak::isYMM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::is
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR isYMM() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::is
      Src: /src/mcl/src/xbyak/xbyak.h:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 548
    functionName: Xbyak::isZMM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::is
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR isZMM() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::is
      Src: /src/mcl/src/xbyak/xbyak.h:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 549
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 549
    functionName: Xbyak::isTMM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::is
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR isTMM() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::is
      Src: /src/mcl/src/xbyak/xbyak.h:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 550
    functionName: Xbyak::isXMEM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::is
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR isXMEM() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::is
      Src: /src/mcl/src/xbyak/xbyak.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 551
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 551
    functionName: Xbyak::isYMEM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::is
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR isYMEM() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::is
      Src: /src/mcl/src/xbyak/xbyak.h:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 552
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 552
    functionName: Xbyak::isZMEM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::is
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR isZMEM() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::is
      Src: /src/mcl/src/xbyak/xbyak.h:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 553
    functionName: Xbyak::isOPMASK
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::is
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR isOPMASK() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::is
      Src: /src/mcl/src/xbyak/xbyak.h:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 554
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 554
    functionName: Xbyak::isBNDREG
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::is
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR isBNDREG() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::is
      Src: /src/mcl/src/xbyak/xbyak.h:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 555
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 555
    functionName: Xbyak::isREG
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::is
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR isREG(int bit = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::is
      Src: /src/mcl/src/xbyak/xbyak.h:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 556
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 556
    functionName: Xbyak::isMEM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::is
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR isMEM(int bit = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::is
      Src: /src/mcl/src/xbyak/xbyak.h:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 557
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 557
    functionName: Xbyak::isFPU
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::is
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR isFPU() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 558
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 558
    functionName: Xbyak::isExt8bit
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR isExt8bit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 559
    functionName: Xbyak::isExtIdx
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::getIdx
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR isExtIdx() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 560
    functionName: Xbyak::isExtIdx2
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::getIdx
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR isExtIdx2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::isZMM
      Src: /src/mcl/src/xbyak/xbyak.h:561,1
    - Dst: Xbyak::isExtIdx2
      Src: /src/mcl/src/xbyak/xbyak.h:561,1
    - Dst: Xbyak::getOpmaskIdx
      Src: /src/mcl/src/xbyak/xbyak.h:561,1
    - Dst: Xbyak::getRounding
      Src: /src/mcl/src/xbyak/xbyak.h:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 561
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 561
    functionName: Xbyak::hasEvex
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::getOpmaskIdx
    - Xbyak::isZMM
    - Xbyak::isExtIdx2
    - Xbyak::getRounding
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR hasEvex() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::isExt8bit
      Src: /src/mcl/src/xbyak/xbyak.h:562,1
    - Dst: Xbyak::isREG
      Src: /src/mcl/src/xbyak/xbyak.h:562,1
    - Dst: Xbyak::isExtIdx
      Src: /src/mcl/src/xbyak/xbyak.h:562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 562
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 562
    functionName: Xbyak::hasRex
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::isREG
    - Xbyak::isExt8bit
    - Xbyak::isExtIdx
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR hasRex() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 563
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 563
    functionName: Xbyak::hasZero
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR hasZero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 564
    functionName: Xbyak::getOpmaskIdx
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR getOpmaskIdx() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: Xbyak::getRounding
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR getRounding() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - kind
    argTypes:
    - Kind
    constantsTouched: []
    func_position:
      end: 571
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 571
    functionName: Xbyak::setKind
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setKind(Kind kind)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 578
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 578
    functionName: Xbyak::setOpmaskIdx
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    linkageType: ''
    returnType: void
    signature: void setOpmaskIdx(int idx, bool /*ignore_idx0*/ = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: Xbyak::setRounding
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    linkageType: ''
    returnType: void
    signature: void setRounding(int idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 584
    functionName: Xbyak::setZero
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setZero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::isBit
      Src: /src/mcl/src/xbyak/xbyak.h:588,1
    - Dst: Xbyak::isExt8bit
      Src: /src/mcl/src/xbyak/xbyak.h:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 592
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 592
    functionName: Xbyak::isHigh8bit
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::isBit
    - Xbyak::isExt8bit
    linkageType: ''
    returnType: bool
    signature: bool isHigh8bit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - kind
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 597
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 597
    functionName: Xbyak::is
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR is(int kind, uint32_t bit = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bit
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 598
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 598
    functionName: Xbyak::isBit
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR isBit(uint32_t bit) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 599
    functionName: Xbyak::getBit
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR getBit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::isExt8bit
      Src: /src/mcl/src/xbyak/xbyak.h:604,1
    - Dst: Xbyak::isOPMASK
      Src: /src/mcl/src/xbyak/xbyak.h:615,1
    - Dst: Xbyak::isTMM
      Src: /src/mcl/src/xbyak/xbyak.h:618,1
    - Dst: Xbyak::isZMM
      Src: /src/mcl/src/xbyak/xbyak.h:623,1
    - Dst: Xbyak::isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:629,1
    - Dst: Xbyak::isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:635,1
    - Dst: Xbyak::isMMX
      Src: /src/mcl/src/xbyak/xbyak.h:641,1
    - Dst: Xbyak::isFPU
      Src: /src/mcl/src/xbyak/xbyak.h:644,1
    - Dst: Xbyak::isBNDREG
      Src: /src/mcl/src/xbyak/xbyak.h:647,1
    - Dst: XBYAK_THROW_RET
      Src: /src/mcl/src/xbyak/xbyak.h:651,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 652
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 652
    functionName: Xbyak::toString
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::isBNDREG
    - XBYAK_THROW_RET
    - Xbyak::isTMM
    - Xbyak::isXMM
    - Xbyak::isMMX
    - Xbyak::isExt8bit
    - Xbyak::isFPU
    - Xbyak::isZMM
    - Xbyak::isOPMASK
    - Xbyak::isYMM
    linkageType: ''
    returnType: char
    signature: char *toString() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 653
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 653
    functionName: Xbyak::isEqualIfNotInherited
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEqualIfNotInherited(const Operand& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 655
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 655
    functionName: operator!=(const Operand& rhs) const
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Operand& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:663,1
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak.h:664,1
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak.h:668,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:671,1
    - Dst: isExt8bit
      Src: /src/mcl/src/xbyak/xbyak.h:671,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:701,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 57
    argCount: 1
    argNames:
    - bit
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 702
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 702
    functionName: Operand::setBit
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - is
    - isExt8bit
    - isREG
    - XBYAK_THROW
    - isBit
    linkageType: ''
    returnType: void
    signature: void Operand::setBit(int bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 714
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 714
    functionName: Reg::Reg
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR Reg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak.h:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - idx
    - kind
    argTypes:
    - int
    - Kind
    constantsTouched: []
    func_position:
      end: 715
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 715
    functionName: Reg::Reg
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Operand
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR Reg(int idx, Kind kind, int bit = 0, bool ext8bit =
      false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reg::setBit
      Src: /src/mcl/src/xbyak/xbyak.h:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bit
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 717
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 717
    functionName: Reg::changeBit
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Reg::setBit
    linkageType: ''
    returnType: Reg
    signature: Reg changeBit(int bit) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 718
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 718
    functionName: Reg::getRexW
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isREG
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getRexW() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isExtIdx
      Src: /src/mcl/src/xbyak/xbyak.h:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 719
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 719
    functionName: Reg::getRexR
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isExtIdx
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getRexR() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isExtIdx
      Src: /src/mcl/src/xbyak/xbyak.h:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 720
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 720
    functionName: Reg::getRexX
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isExtIdx
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getRexX() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isExtIdx
      Src: /src/mcl/src/xbyak/xbyak.h:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 721
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 721
    functionName: Reg::getRexB
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isExtIdx
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getRexB() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reg::Reg
      Src: /src/mcl/src/xbyak/xbyak.h:722,1
    - Dst: isExt8bit
      Src: /src/mcl/src/xbyak/xbyak.h:725,1
    - Dst: isExt8bit
      Src: /src/mcl/src/xbyak/xbyak.h:725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 727
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 727
    functionName: Reg::getRex
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Reg::Reg
    - isExt8bit
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getRex(const Reg& base = Reg()) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/xbyak/xbyak.h:738,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:738,1
    - Dst: static_cast<const Reg&>
      Src: /src/mcl/src/xbyak/xbyak.h:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: '& Operand::getReg() const'
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - static_cast<const Reg&>
    - assert
    linkageType: ''
    returnType: Reg
    signature: Reg & Operand::getReg() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 743
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 743
    functionName: XBYAK_CONSTEXPR::Reg8
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XBYAK_CONSTEXPR Reg8(int idx = 0, bool ext8bit = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 747
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 747
    functionName: XBYAK_CONSTEXPR::Reg16
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XBYAK_CONSTEXPR Reg16(int idx = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 751
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 751
    functionName: XBYAK_CONSTEXPR::Mmx
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XBYAK_CONSTEXPR Mmx(int idx = 0, Kind kind = Operand::MMX, int
      bit = 64)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rounding
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 762
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 762
    functionName: XBYAK_CONSTEXPR::EvexModifierRounding
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XBYAK_CONSTEXPR EvexModifierRounding(int rounding)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 765
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 765
    functionName: EvexModifierZero
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR EvexModifierZero()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 768
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 768
    functionName: XBYAK_CONSTEXPR::Xmm
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XBYAK_CONSTEXPR Xmm(int idx = 0, Kind kind = Operand::XMM, int
      bit = 128)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Mmx
      Src: /src/mcl/src/xbyak/xbyak.h:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - kind
    - idx
    argTypes:
    - Kind
    - int
    constantsTouched: []
    func_position:
      end: 769
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 769
    functionName: Xmm
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 29
    functionsReached:
    - Mmx
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR Xmm(Kind kind, int idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xmm::setRounding
      Src: /src/mcl/src/xbyak/xbyak.h:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' emr'
    argTypes:
    - EvexModifierRounding
    constantsTouched: []
    func_position:
      end: 770
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 770
    functionName: operator|(const EvexModifierRounding& emr) const
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xmm::setRounding
    linkageType: ''
    returnType: Xmm
    signature: Xmm operator|(const EvexModifierRounding& emr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xmm::setIdx
      Src: /src/mcl/src/xbyak/xbyak.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 771
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 771
    functionName: copyAndSetIdx
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xmm::setIdx
    linkageType: ''
    returnType: Xmm
    signature: Xmm copyAndSetIdx(int idx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xmm::setKind
      Src: /src/mcl/src/xbyak/xbyak.h:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - kind
    argTypes:
    - Operand::Kind
    constantsTouched: []
    func_position:
      end: 772
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 772
    functionName: copyAndSetKind
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xmm::setKind
    linkageType: ''
    returnType: Xmm
    signature: Xmm copyAndSetKind(Operand::Kind kind) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 776
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 776
    functionName: XBYAK_CONSTEXPR::Ymm
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XBYAK_CONSTEXPR Ymm(int idx = 0, Kind kind = Operand::YMM, int
      bit = 256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ymm::setRounding
      Src: /src/mcl/src/xbyak/xbyak.h:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' emr'
    argTypes:
    - EvexModifierRounding
    constantsTouched: []
    func_position:
      end: 777
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 777
    functionName: operator|(const EvexModifierRounding& emr) const
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Ymm::setRounding
    linkageType: ''
    returnType: Ymm
    signature: Ymm operator|(const EvexModifierRounding& emr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 781
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 781
    functionName: XBYAK_CONSTEXPR::Zmm
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XBYAK_CONSTEXPR Zmm(int idx = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Zmm::setRounding
      Src: /src/mcl/src/xbyak/xbyak.h:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' emr'
    argTypes:
    - EvexModifierRounding
    constantsTouched: []
    func_position:
      end: 782
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 782
    functionName: operator|(const EvexModifierRounding& emr) const
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Zmm::setRounding
    linkageType: ''
    returnType: Zmm
    signature: Zmm operator|(const EvexModifierRounding& emr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 787
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 787
    functionName: XBYAK_CONSTEXPR::Tmm
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XBYAK_CONSTEXPR Tmm(int idx = 0, Kind kind = Operand::TMM, int
      bit = 8192)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 792
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 792
    functionName: XBYAK_CONSTEXPR::Opmask
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XBYAK_CONSTEXPR Opmask(int idx = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 796
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 796
    functionName: XBYAK_CONSTEXPR::BoundsReg
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XBYAK_CONSTEXPR BoundsReg(int idx = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::setOpmaskIdx
      Src: /src/mcl/src/xbyak/xbyak.h:799,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' k'
    argTypes:
    - T
    - Opmask
    constantsTouched: []
    func_position:
      end: 799
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 799
    functionName: operator|(const T& x, const Opmask& k)
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - getIdx
    - T::setOpmaskIdx
    linkageType: ''
    returnType: T
    signature: T operator|(const T& x, const Opmask& k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::setZero
      Src: /src/mcl/src/xbyak/xbyak.h:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 800
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 800
    functionName: operator|(const T& x, const EvexModifierZero&)
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - T::setZero
    linkageType: ''
    returnType: T
    signature: T operator|(const T& x, const EvexModifierZero&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::setRounding
      Src: /src/mcl/src/xbyak/xbyak.h:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' emr'
    argTypes:
    - T
    - EvexModifierRounding
    constantsTouched: []
    func_position:
      end: 801
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 801
    functionName: operator|(const T& x, const EvexModifierRounding& emr)
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - T::setRounding
    linkageType: ''
    returnType: T
    signature: T operator|(const T& x, const EvexModifierRounding& emr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 804
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 804
    functionName: XBYAK_CONSTEXPR::Fpu
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XBYAK_CONSTEXPR Fpu(int idx = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - idx
    - bit
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 808
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 808
    functionName: XBYAK_CONSTEXPR::Reg32e
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XBYAK_CONSTEXPR Reg32e(int idx, int bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 811
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 811
    functionName: XBYAK_CONSTEXPR::Reg32
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XBYAK_CONSTEXPR Reg32(int idx = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 815
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 815
    functionName: XBYAK_CONSTEXPR::Reg64
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XBYAK_CONSTEXPR Reg64(int idx = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 821
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 821
    functionName: XBYAK_CONSTEXPR::RegRip
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XBYAK_CONSTEXPR RegRip(int64_t disp = 0, const Label* label =
      0, bool isAddr = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RegRip
      Src: /src/mcl/src/xbyak/xbyak.h:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - disp
    argTypes:
    - RegRip
    - int
    constantsTouched: []
    func_position:
      end: 824
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 824
    functionName: operator+(const RegRip& r, int disp)
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - RegRip
    linkageType: ''
    returnType: RegRip
    signature: RegRip operator+(const RegRip& r, int disp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RegRip
      Src: /src/mcl/src/xbyak/xbyak.h:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - disp
    argTypes:
    - RegRip
    - int
    constantsTouched: []
    func_position:
      end: 827
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 827
    functionName: operator-(const RegRip& r, int disp)
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - RegRip
    linkageType: ''
    returnType: RegRip
    signature: RegRip operator-(const RegRip& r, int disp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RegRip
      Src: /src/mcl/src/xbyak/xbyak.h:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - disp
    argTypes:
    - RegRip
    - int64_t
    constantsTouched: []
    func_position:
      end: 830
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 830
    functionName: operator+(const RegRip& r, int64_t disp)
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - RegRip
    linkageType: ''
    returnType: RegRip
    signature: RegRip operator+(const RegRip& r, int64_t disp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RegRip
      Src: /src/mcl/src/xbyak/xbyak.h:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - disp
    argTypes:
    - RegRip
    - int64_t
    constantsTouched: []
    func_position:
      end: 833
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 833
    functionName: operator-(const RegRip& r, int64_t disp)
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - RegRip
    linkageType: ''
    returnType: RegRip
    signature: RegRip operator-(const RegRip& r, int64_t disp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW_RET
      Src: /src/mcl/src/xbyak/xbyak.h:835,1
    - Dst: RegRip
      Src: /src/mcl/src/xbyak/xbyak.h:835,1
    - Dst: RegRip
      Src: /src/mcl/src/xbyak/xbyak.h:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' r'
    - ' label'
    argTypes:
    - RegRip
    - Label
    constantsTouched: []
    func_position:
      end: 837
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 837
    functionName: operator+(const RegRip& r, const Label& label)
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW_RET
    - RegRip
    linkageType: ''
    returnType: RegRip
    signature: RegRip operator+(const RegRip& r, const Label& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW_RET
      Src: /src/mcl/src/xbyak/xbyak.h:839,1
    - Dst: RegRip
      Src: /src/mcl/src/xbyak/xbyak.h:839,1
    - Dst: RegRip
      Src: /src/mcl/src/xbyak/xbyak.h:840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' r'
    - addr
    argTypes:
    - RegRip
    - void*
    constantsTouched: []
    func_position:
      end: 841
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 841
    functionName: operator+(const RegRip& r, const void *addr)
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW_RET
    - RegRip
    linkageType: ''
    returnType: RegRip
    signature: RegRip operator+(const RegRip& r, const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reg::changeBit
      Src: /src/mcl/src/xbyak/xbyak.h:847,1
    - Dst: Reg8
      Src: /src/mcl/src/xbyak/xbyak.h:847,1
    - Dst: Reg::getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:847,1
    - Dst: Reg::isExt8bit
      Src: /src/mcl/src/xbyak/xbyak.h:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 848
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 848
    functionName: Reg::cvt8
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Reg::changeBit
    - Reg::getIdx
    - Reg8
    - Reg::isExt8bit
    linkageType: ''
    returnType: Reg8
    signature: Reg8 Reg::cvt8() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reg16
      Src: /src/mcl/src/xbyak/xbyak.h:852,1
    - Dst: Reg::changeBit
      Src: /src/mcl/src/xbyak/xbyak.h:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 853
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 853
    functionName: Reg::cvt16
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Reg::changeBit
    - Reg16
    linkageType: ''
    returnType: Reg16
    signature: Reg16 Reg::cvt16() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak.h:857,1
    - Dst: Reg::changeBit
      Src: /src/mcl/src/xbyak/xbyak.h:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: Reg::cvt32
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Reg32
    - Reg::changeBit
    linkageType: ''
    returnType: Reg32
    signature: Reg32 Reg::cvt32() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reg64
      Src: /src/mcl/src/xbyak/xbyak.h:863,1
    - Dst: Reg::changeBit
      Src: /src/mcl/src/xbyak/xbyak.h:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 864
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 864
    functionName: Reg::cvt64
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Reg::changeBit
    - Reg64
    linkageType: ''
    returnType: Reg64
    signature: Reg64 Reg::cvt64() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/xbyak/xbyak.h:875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 875
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 875
    functionName: Segment::XBYAK_CONSTEXPR::Segment
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void XBYAK_CONSTEXPR Segment(int idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 876
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 876
    functionName: Segment::getIdx
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getIdx() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 883
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 883
    functionName: Segment::toString
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *toString() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 908
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 908
    functionName: RegExp::isVsib
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isBit
    linkageType: ''
    returnType: bool
    signature: bool isVsib(int bit = 128 | 256 | 512) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:913,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 918
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 918
    functionName: RegExp::optimize
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - getBit
    - isBit
    linkageType: ''
    returnType: RegExp
    signature: RegExp optimize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - RegExp
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: operator==(const RegExp& rhs) const
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const RegExp& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 923
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 923
    functionName: '& getBase() const'
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Reg
    signature: Reg & getBase() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 924
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 924
    functionName: '& getIndex() const'
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Reg
    signature: Reg & getIndex() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 925
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 925
    functionName: RegExp::getScale
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getScale() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 926
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 926
    functionName: RegExp::getDisp
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getDisp() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:929,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:929,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:930,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:930,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:931,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:931,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:932,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:932,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:932,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:932,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 934
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 934
    functionName: RegExp::verify
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - getBit
    - XBYAK_THROW
    - getIdx
    linkageType: ''
    returnType: XBYAK_CONSTEXPR
    signature: XBYAK_CONSTEXPR verify() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 941
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 941
    functionName: RegExp::getRex
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getRex() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: index_::getBit
      Src: /src/mcl/src/xbyak/xbyak.h:955,1
    - Dst: index_::getBit
      Src: /src/mcl/src/xbyak/xbyak.h:955,1
    - Dst: XBYAK_THROW_RET
      Src: /src/mcl/src/xbyak/xbyak.h:955,1
    - Dst: RegExp
      Src: /src/mcl/src/xbyak/xbyak.h:955,1
    - Dst: RegExp::index_::getBit
      Src: /src/mcl/src/xbyak/xbyak.h:957,1
    - Dst: base_::getBit
      Src: /src/mcl/src/xbyak/xbyak.h:958,1
    - Dst: RegExp::base_::getBit
      Src: /src/mcl/src/xbyak/xbyak.h:959,1
    - Dst: RegExp::index_::getBit
      Src: /src/mcl/src/xbyak/xbyak.h:960,1
    - Dst: XBYAK_THROW_RET
      Src: /src/mcl/src/xbyak/xbyak.h:960,1
    - Dst: RegExp
      Src: /src/mcl/src/xbyak/xbyak.h:960,1
    - Dst: RegExp::index_::getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:964,1
    - Dst: std::swap
      Src: /src/mcl/src/xbyak/xbyak.h:964,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - RegExp
    - RegExp
    constantsTouched: []
    func_position:
      end: 972
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 972
    functionName: operator+(const RegExp& a, const RegExp& b)
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - RegExp
    - XBYAK_THROW_RET
    - RegExp::index_::getBit
    - base_::getBit
    - index_::getBit
    - std::swap
    - RegExp::index_::getIdx
    - RegExp::base_::getBit
    linkageType: ''
    returnType: RegExp
    signature: RegExp operator+(const RegExp& a, const RegExp& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RegExp
      Src: /src/mcl/src/xbyak/xbyak.h:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - scale
    argTypes:
    - Reg
    - int
    constantsTouched: []
    func_position:
      end: 976
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 976
    functionName: operator*(const Reg& r, int scale)
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - RegExp
    linkageType: ''
    returnType: RegExp
    signature: RegExp operator*(const Reg& r, int scale)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - scale
    - ' r'
    argTypes:
    - int
    - Reg
    constantsTouched: []
    func_position:
      end: 980
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 980
    functionName: operator*(int scale, const Reg& r)
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RegExp
    signature: RegExp operator*(int scale, const Reg& r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' e'
    - disp
    argTypes:
    - RegExp
    - size_t
    constantsTouched: []
    func_position:
      end: 986
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 986
    functionName: operator-(const RegExp& e, size_t disp)
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RegExp
    signature: RegExp operator-(const RegExp& e, size_t disp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1000
    functionName: CodeArray::isAllocType
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isAllocType() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - _codeOffset
    - _jmpAddr
    - _jmpSize
    - _mode
    argTypes:
    - size_t
    - size_t
    - int
    - inner::LabelMode
    constantsTouched: []
    func_position:
      end: 1007
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1007
    functionName: CodeArray::AddrInfo
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddrInfo(size_t _codeOffset, size_t _jmpAddr, int _jmpSize, inner::LabelMode
      _mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::inner::VerifyInInt32
      Src: /src/mcl/src/xbyak/xbyak.h:1011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - top
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1013
      start: 1008
    functionDepth: 2
    functionLinenumber: 1008
    functionLinenumberEnd: 1013
    functionName: CodeArray::getVal
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xbyak::inner::VerifyInInt32
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getVal(const uint8_t *top) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeArray::useProtect
      Src: /src/mcl/src/xbyak/xbyak.h:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1030
    functionName: CodeArray::useProtect
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - CodeArray::useProtect
    linkageType: ''
    returnType: bool
    signature: bool useProtect() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1038,1
    - Dst: free
      Src: /src/mcl/src/xbyak/xbyak.h:1040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1034
    functionDepth: 1
    functionLinenumber: 1034
    functionLinenumberEnd: 1043
    functionName: CodeArray::growMemory
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - free
    linkageType: ''
    returnType: void
    signature: void growMemory()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/mcl/src/xbyak/xbyak.h:1050,1
    - Dst: end
      Src: /src/mcl/src/xbyak/xbyak.h:1050,1
    - Dst: CodeArray::rewrite
      Src: /src/mcl/src/xbyak/xbyak.h:1052,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1055
    functionName: CodeArray::calcJmpAddress
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - begin
    - CodeArray::rewrite
    - end
    linkageType: ''
    returnType: void
    signature: void calcJmpAddress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/mcl/src/xbyak/xbyak.h:1066,1
    - Dst: alloc
      Src: /src/mcl/src/xbyak/xbyak.h:1066,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1070,1
    - Dst: CodeArray::useProtect
      Src: /src/mcl/src/xbyak/xbyak.h:1071,1
    - Dst: CodeArray::setProtectMode
      Src: /src/mcl/src/xbyak/xbyak.h:1071,1
    - Dst: free
      Src: /src/mcl/src/xbyak/xbyak.h:1072,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1073,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - maxSize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1075
      start: 1062
    functionDepth: 2
    functionLinenumber: 1062
    functionLinenumberEnd: 1075
    functionName: CodeArray::CodeArray
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - alloc
    - free
    - CodeArray::setProtectMode
    - reinterpret_cast<uint8_t*>
    - XBYAK_THROW
    - CodeArray::useProtect
    linkageType: ''
    returnType: void
    signature: void CodeArray(size_t maxSize, void *userPtr = 0, Allocator *allocator
      = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isAllocType
      Src: /src/mcl/src/xbyak/xbyak.h:1078,1
    - Dst: useProtect
      Src: /src/mcl/src/xbyak/xbyak.h:1079,1
    - Dst: setProtectModeRW
      Src: /src/mcl/src/xbyak/xbyak.h:1079,1
    - Dst: free
      Src: /src/mcl/src/xbyak/xbyak.h:1080,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1082
    functionName: ~CodeArray()
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isAllocType
    - free
    - setProtectModeRW
    - useProtect
    linkageType: ''
    returnType: void
    signature: void ~CodeArray()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW_RET
      Src: /src/mcl/src/xbyak/xbyak.h:1087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mode
    argTypes:
    - ProtectMode
    constantsTouched: []
    func_position:
      end: 1089
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1089
    functionName: CodeArray::setProtectMode
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - XBYAK_THROW_RET
    linkageType: ''
    returnType: bool
    signature: bool setProtectMode(ProtectMode mode, bool throwException = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeArray::setProtectMode
      Src: /src/mcl/src/xbyak/xbyak.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1090
    functionDepth: 1
    functionLinenumber: 1090
    functionLinenumberEnd: 1090
    functionName: CodeArray::setProtectModeRE
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeArray::setProtectMode
    linkageType: ''
    returnType: bool
    signature: bool setProtectModeRE(bool throwException = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeArray::setProtectMode
      Src: /src/mcl/src/xbyak/xbyak.h:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1091
    functionName: CodeArray::setProtectModeRW
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeArray::setProtectMode
    linkageType: ''
    returnType: bool
    signature: bool setProtectModeRW(bool throwException = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/src/xbyak/xbyak.h:1095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1097
    functionName: CodeArray::resetSize
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void resetSize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeArray::growMemory
      Src: /src/mcl/src/xbyak/xbyak.h:1102,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1104,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/src/xbyak/xbyak.h:1107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1108
      start: 1098
    functionDepth: 2
    functionLinenumber: 1098
    functionLinenumberEnd: 1108
    functionName: CodeArray::db
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - static_cast<uint8_t>
    - CodeArray::growMemory
    linkageType: ''
    returnType: void
    signature: void db(int code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeArray::db
      Src: /src/mcl/src/xbyak/xbyak.h:1111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - code
    - codeSize
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1112
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1112
    functionName: CodeArray::db
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - CodeArray::db
    linkageType: ''
    returnType: void
    signature: void db(const uint8_t *code, size_t codeSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1115,1
    - Dst: CodeArray::db
      Src: /src/mcl/src/xbyak/xbyak.h:1116,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/src/xbyak/xbyak.h:1116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - code
    - codeSize
    argTypes:
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1117
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1117
    functionName: CodeArray::db
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 2
    functionsReached:
    - XBYAK_THROW
    - static_cast<uint8_t>
    - CodeArray::db
    linkageType: ''
    returnType: void
    signature: void db(uint64_t code, size_t codeSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeArray::db
      Src: /src/mcl/src/xbyak/xbyak.h:1118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1118
      start: 1118
    functionDepth: 3
    functionLinenumber: 1118
    functionLinenumberEnd: 1118
    functionName: CodeArray::dw
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeArray::db
    linkageType: ''
    returnType: void
    signature: void dw(uint32_t code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeArray::db
      Src: /src/mcl/src/xbyak/xbyak.h:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1119
      start: 1119
    functionDepth: 3
    functionLinenumber: 1119
    functionLinenumberEnd: 1119
    functionName: CodeArray::dd
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeArray::db
    linkageType: ''
    returnType: void
    signature: void dd(uint32_t code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeArray::db
      Src: /src/mcl/src/xbyak/xbyak.h:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1120
      start: 1120
    functionDepth: 3
    functionLinenumber: 1120
    functionLinenumberEnd: 1120
    functionName: CodeArray::dq
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeArray::db
    linkageType: ''
    returnType: void
    signature: void dq(uint64_t code)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1121
    functionName: CodeArray::getCode
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *getCode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<F>
      Src: /src/mcl/src/xbyak/xbyak.h:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1123
    functionName: CodeArray::getCode
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<F>
    linkageType: ''
    returnType: F
    signature: F getCode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1124
    functionName: CodeArray::getCurr
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *getCurr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<F>
      Src: /src/mcl/src/xbyak/xbyak.h:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1126
    functionName: CodeArray::getCurr
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<F>
    linkageType: ''
    returnType: F
    signature: F getCurr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1127
    functionName: CodeArray::getSize
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getSize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1132
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1132
    functionName: CodeArray::setSize
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    linkageType: ''
    returnType: void
    signature: void setSize(size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/src/xbyak/xbyak.h:1145,1
    - Dst: putchar
      Src: /src/mcl/src/xbyak/xbyak.h:1148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1154
    functionName: CodeArray::dump
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - printf
    - putchar
    linkageType: ''
    returnType: void
    signature: void dump() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/xbyak/xbyak.h:1162,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1163,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/src/xbyak/xbyak.h:1166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - offset
    - disp
    - size
    argTypes:
    - size_t
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1168
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1168
    functionName: CodeArray::rewrite
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - XBYAK_THROW
    - assert
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void rewrite(size_t offset, uint64_t disp, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/mcl/src/xbyak/xbyak.h:1171,1
    - Dst: CodeArray::AddrInfo
      Src: /src/mcl/src/xbyak/xbyak.h:1171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - offset
    - val
    - size
    - mode
    argTypes:
    - size_t
    - size_t
    - int
    - inner::LabelMode
    constantsTouched: []
    func_position:
      end: 1172
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1172
    functionName: CodeArray::save
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - push_back
    - CodeArray::AddrInfo
    linkageType: ''
    returnType: void
    signature: void save(size_t offset, size_t val, int size, inner::LabelMode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1173
    functionName: CodeArray::isAutoGrow
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isAutoGrow() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1174
    functionName: CodeArray::isCalledCalcJmpAddress
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCalledCalcJmpAddress() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: VirtualProtect
      Src: /src/mcl/src/xbyak/xbyak.h:1204,1
    - Dst: const_cast<void*>
      Src: /src/mcl/src/xbyak/xbyak.h:1204,1
    - Dst: fprintf
      Src: /src/mcl/src/xbyak/xbyak.h:1210,1
    - Dst: mprotect
      Src: /src/mcl/src/xbyak/xbyak.h:1212,1
    - Dst: reinterpret_cast<void*>
      Src: /src/mcl/src/xbyak/xbyak.h:1212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - addr
    - size
    - protectMode
    argTypes:
    - void*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 1216
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1216
    functionName: CodeArray::protect
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - const_cast<void*>
    - reinterpret_cast<void*>
    - mprotect
    - VirtualProtect
    - fprintf
    linkageType: ''
    returnType: bool
    signature: bool protect(const void *addr, size_t size, int protectMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/mcl/src/xbyak/xbyak.h:1225,1
    - Dst: reinterpret_cast<size_t>
      Src: /src/mcl/src/xbyak/xbyak.h:1225,1
    - Dst: static_cast<size_t>
      Src: /src/mcl/src/xbyak/xbyak.h:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1226
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1226
    functionName: CodeArray::getAlignedAddress
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<size_t>
    - static_cast<size_t>
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *getAlignedAddress(uint8_t *addr, size_t alignedSize = 16)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - disp
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1244
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1244
    functionName: Address::XBYAK_CONSTEXPR::Address
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XBYAK_CONSTEXPR Address(size_t disp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: optimize
      Src: /src/mcl/src/xbyak/xbyak.h:1250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1251
    functionName: Address::getRegExp
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - optimize
    linkageType: ''
    returnType: RegExp
    signature: RegExp getRegExp(bool optimize = true) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1252
    functionName: Address::getMode
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: Mode
    signature: Mode getMode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBase
      Src: /src/mcl/src/xbyak/xbyak.h:1253,1
    - Dst: getIndex
      Src: /src/mcl/src/xbyak/xbyak.h:1253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1253
    functionName: Address::is32bit
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - getIndex
    - getBase
    linkageType: ''
    returnType: bool
    signature: bool is32bit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBase
      Src: /src/mcl/src/xbyak/xbyak.h:1254,1
    - Dst: getIndex
      Src: /src/mcl/src/xbyak/xbyak.h:1254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1254
    functionName: Address::isOnlyDisp
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - getIndex
    - getBase
    linkageType: ''
    returnType: bool
    signature: bool isOnlyDisp() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Address::getDisp
      Src: /src/mcl/src/xbyak/xbyak.h:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1255
    functionDepth: 1
    functionLinenumber: 1255
    functionLinenumberEnd: 1255
    functionName: Address::getDisp
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - Address::getDisp
    linkageType: ''
    returnType: size_t
    signature: size_t getDisp() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Address::getRegExp
      Src: /src/mcl/src/xbyak/xbyak.h:1259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1260
    functionName: Address::getRex
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Address::getRegExp
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getRex() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1261
    functionName: Address::is64bitDisp
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is64bitDisp() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1262
    functionName: Address::isBroadcast
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isBroadcast() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1263
    functionName: Address::getLabel
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Label
    signature: Label * getLabel() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:1266,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:1266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 1267
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1267
    functionName: operator==(const Address& rhs) const
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - getBit
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Address& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Address
    constantsTouched: []
    func_position:
      end: 1268
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1268
    functionName: operator!=(const Address& rhs) const
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Address& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Address::isVsib
      Src: /src/mcl/src/xbyak/xbyak.h:1269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1269
    functionName: Address::isVsib
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - Address::isVsib
    linkageType: ''
    returnType: bool
    signature: bool isVsib() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/xbyak/xbyak.h:1279,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:1279,1
    - Dst: static_cast<const Address&>
      Src: /src/mcl/src/xbyak/xbyak.h:1280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1281
    functionName: '& Operand::getAddress() const'
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - assert
    - static_cast<const Address&>
    linkageType: ''
    returnType: Address
    signature: Address & Operand::getAddress() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:1285,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:1285,1
    - Dst: Operand::getAddress
      Src: /src/mcl/src/xbyak/xbyak.h:1285,1
    - Dst: getAddress
      Src: /src/mcl/src/xbyak/xbyak.h:1285,1
    - Dst: isEqualIfNotInherited
      Src: /src/mcl/src/xbyak/xbyak.h:1286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 1287
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1287
    functionName: Operand::operator==(const Operand& rhs) const
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isEqualIfNotInherited
    - Operand::getAddress
    - getAddress
    linkageType: ''
    returnType: bool
    signature: bool Operand::operator==(const Operand& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bit
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1295
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1295
    functionName: AddressFrame::XBYAK_CONSTEXPR::AddressFrame
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XBYAK_CONSTEXPR AddressFrame(uint32_t bit, bool broadcast = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Address
      Src: /src/mcl/src/xbyak/xbyak.h:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - RegExp
    constantsTouched: []
    func_position:
      end: 1299
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1299
    functionName: operator[](const RegExp& e) const
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Address
    linkageType: ''
    returnType: Address
    signature: Address operator[](const RegExp& e) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Address
      Src: /src/mcl/src/xbyak/xbyak.h:1302,1
    - Dst: RegExp
      Src: /src/mcl/src/xbyak/xbyak.h:1302,1
    - Dst: reinterpret_cast<size_t>
      Src: /src/mcl/src/xbyak/xbyak.h:1302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - disp
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1303
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1303
    functionName: operator[](const void *disp) const
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - RegExp
    - reinterpret_cast<size_t>
    - Address
    linkageType: ''
    returnType: Address
    signature: Address operator[](const void *disp) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Address
      Src: /src/mcl/src/xbyak/xbyak.h:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - disp
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1305
      start: 1305
    functionDepth: 0
    functionLinenumber: 1305
    functionLinenumberEnd: 1305
    functionName: operator[](uint64_t disp) const
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Address
    linkageType: ''
    returnType: Address
    signature: Address operator[](uint64_t disp) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Address
      Src: /src/mcl/src/xbyak/xbyak.h:1306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - RegRip
    constantsTouched: []
    func_position:
      end: 1306
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1306
    functionName: operator[](const RegRip& addr) const
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Address
    linkageType: ''
    returnType: Address
    signature: Address operator[](const RegRip& addr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1315
    functionDepth: 0
    functionLinenumber: 1315
    functionLinenumberEnd: 1318
    functionName: JmpLabel
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JmpLabel(size_t endOfJmp = 0, int jmpSize = 0, inner::LabelMode
      mode = inner::LasIs, size_t disp = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1328
    functionName: Label::Label
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Label()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1332
    functionName: Label::clear
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1333
    functionName: Label::getId
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getId() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1347
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1347
    functionName: Label::toStr
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toStr(int num)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1354
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1354
    functionName: LabelManager::SlabelVal
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlabelVal(size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1365
    functionName: LabelManager::ClabelVal
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClabelVal(size_t offset = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 1385
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1385
    functionName: LabelManager::getId
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getId(const Label& label) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/mcl/src/xbyak/xbyak.h:1391,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1392,1
    - Dst: find
      Src: /src/mcl/src/xbyak/xbyak.h:1395,1
    - Dst: end
      Src: /src/mcl/src/xbyak/xbyak.h:1396,1
    - Dst: getCurr
      Src: /src/mcl/src/xbyak/xbyak.h:1403,1
    - Dst: Xbyak::inner::IsInInt32
      Src: /src/mcl/src/xbyak/xbyak.h:1407,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1407,1
    - Dst: Xbyak::inner::IsInDisp8
      Src: /src/mcl/src/xbyak/xbyak.h:1409,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1409,1
    - Dst: isAutoGrow
      Src: /src/mcl/src/xbyak/xbyak.h:1411,1
    - Dst: save
      Src: /src/mcl/src/xbyak/xbyak.h:1412,1
    - Dst: rewrite
      Src: /src/mcl/src/xbyak/xbyak.h:1414,1
    - Dst: erase
      Src: /src/mcl/src/xbyak/xbyak.h:1416,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - ' defList'
    - ' undefList'
    - ' labelId'
    - addrOffset
    argTypes:
    - DefList
    - UndefList
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 1418
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1418
    functionName: LabelManager::define_inner
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - rewrite
    - end
    - XBYAK_THROW
    - getCurr
    - erase
    - save
    - find
    - isAutoGrow
    - insert
    - Xbyak::inner::IsInDisp8
    - Xbyak::inner::IsInInt32
    linkageType: ''
    returnType: void
    signature: void define_inner(DefList& defList, UndefList& undefList, const T&
      labelId, size_t addrOffset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/mcl/src/xbyak/xbyak.h:1422,1
    - Dst: end
      Src: /src/mcl/src/xbyak/xbyak.h:1423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' defList'
    - offset
    - ' label'
    argTypes:
    - DefList
    - size_t*
    - T
    constantsTouched: []
    func_position:
      end: 1426
      start: 1420
    functionDepth: 1
    functionLinenumber: 1420
    functionLinenumberEnd: 1426
    functionName: LabelManager::getOffset_inner
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool getOffset_inner(const DefList& defList, size_t *offset, const
      T& label) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/mcl/src/xbyak/xbyak.h:1431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - id
    - label
    argTypes:
    - int
    - Label*
    constantsTouched: []
    func_position:
      end: 1432
      start: 1428
    functionDepth: 1
    functionLinenumber: 1428
    functionLinenumberEnd: 1432
    functionName: LabelManager::incRefCount
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void incRefCount(int id, Label *label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/mcl/src/xbyak/xbyak.h:1435,1
    - Dst: find
      Src: /src/mcl/src/xbyak/xbyak.h:1436,1
    - Dst: end
      Src: /src/mcl/src/xbyak/xbyak.h:1437,1
    - Dst: erase
      Src: /src/mcl/src/xbyak/xbyak.h:1439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - id
    - label
    argTypes:
    - int
    - Label*
    constantsTouched: []
    func_position:
      end: 1443
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1443
    functionName: LabelManager::decRefCount
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - end
    - erase
    - find
    linkageType: ''
    returnType: void
    signature: void decRefCount(int id, Label *label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/mcl/src/xbyak/xbyak.h:1448,1
    - Dst: end
      Src: /src/mcl/src/xbyak/xbyak.h:1448,1
    - Dst: empty
      Src: /src/mcl/src/xbyak/xbyak.h:1452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' list'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 1453
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1453
    functionName: LabelManager::hasUndefinedLabel_inner
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - begin
    - end
    - empty
    linkageType: ''
    returnType: bool
    signature: bool hasUndefinedLabel_inner(const T& list) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/mcl/src/xbyak/xbyak.h:1457,1
    - Dst: end
      Src: /src/mcl/src/xbyak/xbyak.h:1457,1
    - Dst: clear
      Src: /src/mcl/src/xbyak/xbyak.h:1458,1
    - Dst: clear
      Src: /src/mcl/src/xbyak/xbyak.h:1460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1461
    functionName: LabelManager::resetLabelPtrList
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - clear
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void resetLabelPtrList()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LabelManager::reset
      Src: /src/mcl/src/xbyak/xbyak.h:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1463
    functionDepth: 1
    functionLinenumber: 1463
    functionLinenumberEnd: 1466
    functionName: LabelManager::LabelManager
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - LabelManager::reset
    linkageType: ''
    returnType: void
    signature: void LabelManager()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetLabelPtrList
      Src: /src/mcl/src/xbyak/xbyak.h:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1467
    functionDepth: 0
    functionLinenumber: 1467
    functionLinenumberEnd: 1470
    functionName: ~LabelManager()
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - resetLabelPtrList
    linkageType: ''
    returnType: void
    signature: void ~LabelManager()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/src/xbyak/xbyak.h:1475,1
    - Dst: push_back
      Src: /src/mcl/src/xbyak/xbyak.h:1476,1
    - Dst: SlabelState
      Src: /src/mcl/src/xbyak/xbyak.h:1476,1
    - Dst: push_back
      Src: /src/mcl/src/xbyak/xbyak.h:1477,1
    - Dst: SlabelState
      Src: /src/mcl/src/xbyak/xbyak.h:1477,1
    - Dst: clear
      Src: /src/mcl/src/xbyak/xbyak.h:1478,1
    - Dst: clear
      Src: /src/mcl/src/xbyak/xbyak.h:1479,1
    - Dst: LabelManager::resetLabelPtrList
      Src: /src/mcl/src/xbyak/xbyak.h:1480,1
    - Dst: ClearError
      Src: /src/mcl/src/xbyak/xbyak.h:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1471
    functionDepth: 1
    functionLinenumber: 1471
    functionLinenumberEnd: 1482
    functionName: LabelManager::reset
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - SlabelState
    - ClearError
    - LabelManager::resetLabelPtrList
    - clear
    - push_back
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/mcl/src/xbyak/xbyak.h:1485,1
    - Dst: SlabelState
      Src: /src/mcl/src/xbyak/xbyak.h:1485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1483
    functionDepth: 1
    functionLinenumber: 1483
    functionLinenumberEnd: 1486
    functionName: LabelManager::enterLocal
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - SlabelState
    - push_back
    linkageType: ''
    returnType: void
    signature: void enterLocal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/mcl/src/xbyak/xbyak.h:1489,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1489,1
    - Dst: LabelManager::hasUndefinedLabel_inner
      Src: /src/mcl/src/xbyak/xbyak.h:1490,1
    - Dst: back
      Src: /src/mcl/src/xbyak/xbyak.h:1490,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1490,1
    - Dst: pop_back
      Src: /src/mcl/src/xbyak/xbyak.h:1491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1487
    functionDepth: 1
    functionLinenumber: 1487
    functionLinenumberEnd: 1492
    functionName: LabelManager::leaveLocal
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - pop_back
    - LabelManager::hasUndefinedLabel_inner
    - size
    - XBYAK_THROW
    - back
    linkageType: ''
    returnType: void
    signature: void leaveLocal()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - CodeArray*
    constantsTouched: []
    func_position:
      end: 1493
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1493
    functionName: LabelManager::set
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(CodeArray *base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1496,1
    - Dst: front
      Src: /src/mcl/src/xbyak/xbyak.h:1498,1
    - Dst: find
      Src: /src/mcl/src/xbyak/xbyak.h:1499,1
    - Dst: end
      Src: /src/mcl/src/xbyak/xbyak.h:1500,1
    - Dst: erase
      Src: /src/mcl/src/xbyak/xbyak.h:1501,1
    - Dst: find
      Src: /src/mcl/src/xbyak/xbyak.h:1504,1
    - Dst: end
      Src: /src/mcl/src/xbyak/xbyak.h:1505,1
    - Dst: erase
      Src: /src/mcl/src/xbyak/xbyak.h:1506,1
    - Dst: std::string::c_str
      Src: /src/mcl/src/xbyak/xbyak.h:1511,1
    - Dst: back
      Src: /src/mcl/src/xbyak/xbyak.h:1511,1
    - Dst: front
      Src: /src/mcl/src/xbyak/xbyak.h:1511,1
    - Dst: LabelManager::define_inner
      Src: /src/mcl/src/xbyak/xbyak.h:1512,1
    - Dst: getSize
      Src: /src/mcl/src/xbyak/xbyak.h:1512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 1513
      start: 1494
    functionDepth: 2
    functionLinenumber: 1494
    functionLinenumberEnd: 1513
    functionName: LabelManager::defineSlabel
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - getSize
    - end
    - XBYAK_THROW
    - std::string::c_str
    - erase
    - find
    - back
    - LabelManager::define_inner
    - front
    linkageType: ''
    returnType: void
    signature: void defineSlabel(std::string label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LabelManager::define_inner
      Src: /src/mcl/src/xbyak/xbyak.h:1516,1
    - Dst: LabelManager::getId
      Src: /src/mcl/src/xbyak/xbyak.h:1516,1
    - Dst: getSize
      Src: /src/mcl/src/xbyak/xbyak.h:1516,1
    - Dst: insert
      Src: /src/mcl/src/xbyak/xbyak.h:1518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 1519
      start: 1514
    functionDepth: 2
    functionLinenumber: 1514
    functionLinenumberEnd: 1519
    functionName: LabelManager::defineClabel
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - LabelManager::define_inner
    - getSize
    - insert
    - LabelManager::getId
    linkageType: ''
    returnType: void
    signature: void defineClabel(Label& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/mcl/src/xbyak/xbyak.h:1522,1
    - Dst: end
      Src: /src/mcl/src/xbyak/xbyak.h:1523,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1523,1
    - Dst: LabelManager::define_inner
      Src: /src/mcl/src/xbyak/xbyak.h:1524,1
    - Dst: insert
      Src: /src/mcl/src/xbyak/xbyak.h:1526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' dst'
    - ' src'
    argTypes:
    - Label
    - Label
    constantsTouched: []
    func_position:
      end: 1527
      start: 1520
    functionDepth: 2
    functionLinenumber: 1520
    functionLinenumberEnd: 1527
    functionName: LabelManager::assign
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - end
    - XBYAK_THROW
    - find
    - LabelManager::define_inner
    - insert
    linkageType: ''
    returnType: void
    signature: void assign(Label& dst, const Label& src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: front
      Src: /src/mcl/src/xbyak/xbyak.h:1530,1
    - Dst: find
      Src: /src/mcl/src/xbyak/xbyak.h:1532,1
    - Dst: end
      Src: /src/mcl/src/xbyak/xbyak.h:1532,1
    - Dst: find
      Src: /src/mcl/src/xbyak/xbyak.h:1534,1
    - Dst: end
      Src: /src/mcl/src/xbyak/xbyak.h:1534,1
    - Dst: XBYAK_THROW_RET
      Src: /src/mcl/src/xbyak/xbyak.h:1535,1
    - Dst: find
      Src: /src/mcl/src/xbyak/xbyak.h:1538,1
    - Dst: end
      Src: /src/mcl/src/xbyak/xbyak.h:1538,1
    - Dst: c_str
      Src: /src/mcl/src/xbyak/xbyak.h:1542,1
    - Dst: back
      Src: /src/mcl/src/xbyak/xbyak.h:1542,1
    - Dst: front
      Src: /src/mcl/src/xbyak/xbyak.h:1542,1
    - Dst: LabelManager::getOffset_inner
      Src: /src/mcl/src/xbyak/xbyak.h:1543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - offset
    - ' label'
    argTypes:
    - size_t*
    - std::string
    constantsTouched: []
    func_position:
      end: 1544
      start: 1528
    functionDepth: 2
    functionLinenumber: 1528
    functionLinenumberEnd: 1544
    functionName: LabelManager::getOffset
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW_RET
    - c_str
    - end
    - LabelManager::getOffset_inner
    - find
    - back
    - front
    linkageType: ''
    returnType: bool
    signature: bool getOffset(size_t *offset, std::string& label) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LabelManager::getOffset_inner
      Src: /src/mcl/src/xbyak/xbyak.h:1547,1
    - Dst: LabelManager::getId
      Src: /src/mcl/src/xbyak/xbyak.h:1547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - ' label'
    argTypes:
    - size_t*
    - Label
    constantsTouched: []
    func_position:
      end: 1548
      start: 1545
    functionDepth: 2
    functionLinenumber: 1545
    functionLinenumberEnd: 1548
    functionName: LabelManager::getOffset
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - LabelManager::getOffset_inner
    - LabelManager::getId
    linkageType: ''
    returnType: bool
    signature: bool getOffset(size_t *offset, const Label& label) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/mcl/src/xbyak/xbyak.h:1551,1
    - Dst: back
      Src: /src/mcl/src/xbyak/xbyak.h:1551,1
    - Dst: front
      Src: /src/mcl/src/xbyak/xbyak.h:1551,1
    - Dst: undefList::insert
      Src: /src/mcl/src/xbyak/xbyak.h:1552,1
    - Dst: SlabelUndefList::value_type
      Src: /src/mcl/src/xbyak/xbyak.h:1552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' label'
    - ' jmp'
    argTypes:
    - std::string
    - JmpLabel
    constantsTouched: []
    func_position:
      end: 1553
      start: 1549
    functionDepth: 1
    functionLinenumber: 1549
    functionLinenumberEnd: 1553
    functionName: LabelManager::addUndefinedLabel
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - c_str
    - undefList::insert
    - back
    - SlabelUndefList::value_type
    - front
    linkageType: ''
    returnType: void
    signature: void addUndefinedLabel(const std::string& label, const JmpLabel& jmp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/mcl/src/xbyak/xbyak.h:1556,1
    - Dst: ClabelUndefList::value_type
      Src: /src/mcl/src/xbyak/xbyak.h:1556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' label'
    - ' jmp'
    argTypes:
    - Label
    - JmpLabel
    constantsTouched: []
    func_position:
      end: 1557
      start: 1554
    functionDepth: 1
    functionLinenumber: 1554
    functionLinenumberEnd: 1557
    functionName: LabelManager::addUndefinedLabel
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - ClabelUndefList::value_type
    - insert
    linkageType: ''
    returnType: void
    signature: void addUndefinedLabel(const Label& label, const JmpLabel& jmp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/mcl/src/xbyak/xbyak.h:1560,1
    - Dst: end
      Src: /src/mcl/src/xbyak/xbyak.h:1560,1
    - Dst: LabelManager::hasUndefinedLabel_inner
      Src: /src/mcl/src/xbyak/xbyak.h:1561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1558
    functionDepth: 1
    functionLinenumber: 1558
    functionLinenumberEnd: 1564
    functionName: LabelManager::hasUndefSlabel
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - begin
    - LabelManager::hasUndefinedLabel_inner
    - end
    linkageType: ''
    returnType: bool
    signature: bool hasUndefSlabel() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LabelManager::hasUndefinedLabel_inner
      Src: /src/mcl/src/xbyak/xbyak.h:1565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1565
    functionDepth: 1
    functionLinenumber: 1565
    functionLinenumberEnd: 1565
    functionName: LabelManager::hasUndefClabel
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - LabelManager::hasUndefinedLabel_inner
    linkageType: ''
    returnType: bool
    signature: bool hasUndefClabel() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LabelManager::getCode
      Src: /src/mcl/src/xbyak/xbyak.h:1566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1566
    functionDepth: 1
    functionLinenumber: 1566
    functionLinenumberEnd: 1566
    functionName: LabelManager::getCode
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - LabelManager::getCode
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *getCode() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isAutoGrow
      Src: /src/mcl/src/xbyak/xbyak.h:1567,1
    - Dst: isCalledCalcJmpAddress
      Src: /src/mcl/src/xbyak/xbyak.h:1567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1567
    functionName: LabelManager::isReady
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isAutoGrow
    - isCalledCalcJmpAddress
    linkageType: ''
    returnType: bool
    signature: bool isReady() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: incRefCount
      Src: /src/mcl/src/xbyak/xbyak.h:1574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 1575
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1575
    functionName: Label::Label
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 2
    functionsReached:
    - incRefCount
    linkageType: ''
    returnType: void
    signature: void Label::Label(const Label& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW_RET
      Src: /src/mcl/src/xbyak/xbyak.h:1578,1
    - Dst: incRefCount
      Src: /src/mcl/src/xbyak/xbyak.h:1581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 1583
      start: 1576
    functionDepth: 0
    functionLinenumber: 1576
    functionLinenumberEnd: 1583
    functionName: '& Label::operator=(const Label& rhs)'
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW_RET
    - incRefCount
    linkageType: ''
    returnType: Label
    signature: Label & Label::operator=(const Label& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decRefCount
      Src: /src/mcl/src/xbyak/xbyak.h:1586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1587
    functionName: Label::~Label()
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - decRefCount
    linkageType: ''
    returnType: void
    signature: void Label::~Label()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isReady
      Src: /src/mcl/src/xbyak/xbyak.h:1590,1
    - Dst: getOffset
      Src: /src/mcl/src/xbyak/xbyak.h:1592,1
    - Dst: getCode
      Src: /src/mcl/src/xbyak/xbyak.h:1593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1594
    functionName: Label::getAddress
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - getOffset
    - getCode
    - isReady
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * Label::getAddress() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:1624,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:1624,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:1624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 1625
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1625
    functionName: CodeGenerator::isXMM_XMMorMEM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isXMM
    linkageType: ''
    returnType: bool
    signature: bool isXMM_XMMorMEM(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMMX
      Src: /src/mcl/src/xbyak/xbyak.h:1629,1
    - Dst: isMMX
      Src: /src/mcl/src/xbyak/xbyak.h:1629,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:1629,1
    - Dst: CodeGenerator::isXMM_XMMorMEM
      Src: /src/mcl/src/xbyak/xbyak.h:1629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 1630
      start: 1627
    functionDepth: 1
    functionLinenumber: 1627
    functionLinenumberEnd: 1630
    functionName: CodeGenerator::isXMMorMMX_MEM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isMMX
    - CodeGenerator::isXMM_XMMorMEM
    linkageType: ''
    returnType: bool
    signature: bool isXMMorMMX_MEM(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:1634,1
    - Dst: isMMX
      Src: /src/mcl/src/xbyak/xbyak.h:1634,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:1634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 1635
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1635
    functionName: CodeGenerator::isXMM_MMXorMEM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isMMX
    - isXMM
    linkageType: ''
    returnType: bool
    signature: bool isXMM_MMXorMEM(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMMX
      Src: /src/mcl/src/xbyak/xbyak.h:1639,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:1639,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:1639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 1640
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1640
    functionName: CodeGenerator::isMMX_XMMorMEM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isMMX
    - isXMM
    linkageType: ''
    returnType: bool
    signature: bool isMMX_XMMorMEM(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:1644,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:1644,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:1644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 1645
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1645
    functionName: CodeGenerator::isXMM_REG32orMEM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - isXMM
    linkageType: ''
    returnType: bool
    signature: bool isXMM_REG32orMEM(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:1649,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:1649,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:1649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 1650
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1650
    functionName: CodeGenerator::isREG32_XMMorMEM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - isXMM
    linkageType: ''
    returnType: bool
    signature: bool isREG32_XMMorMEM(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:1654,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:1654,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:1654,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:1654,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:1654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 1655
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1655
    functionName: CodeGenerator::isREG32_REG32orMEM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - getBit
    - isMEM
    - isREG
    linkageType: ''
    returnType: bool
    signature: bool isREG32_REG32orMEM(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:1659,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:1659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' op1'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 1660
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1660
    functionName: CodeGenerator::isValidSSE
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - getIdx
    - isXMM
    linkageType: ''
    returnType: bool
    signature: bool isValidSSE(const Operand& op1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand
      Src: /src/mcl/src/xbyak/xbyak.h:1661,1
    - Dst: Operand*::isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:1665,1
    - Dst: std::swap
      Src: /src/mcl/src/xbyak/xbyak.h:1665,1
    - Dst: Operand*::isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:1666,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1666,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:1667,1
    - Dst: getAddress
      Src: /src/mcl/src/xbyak/xbyak.h:1668,1
    - Dst: is32bit
      Src: /src/mcl/src/xbyak/xbyak.h:1669,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1669,1
    - Dst: getRex
      Src: /src/mcl/src/xbyak/xbyak.h:1670,1
    - Dst: Operand*::getReg
      Src: /src/mcl/src/xbyak/xbyak.h:1670,1
    - Dst: getReg
      Src: /src/mcl/src/xbyak/xbyak.h:1673,1
    - Dst: getReg
      Src: /src/mcl/src/xbyak/xbyak.h:1673,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:1676,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:1676,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:1676,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:1676,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1676,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1677,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - ' op1'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 1678
      start: 1661
    functionDepth: 1
    functionLinenumber: 1661
    functionLinenumberEnd: 1678
    functionName: CodeGenerator::rex
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - is32bit
    - getAddress
    - getReg
    - std::swap
    - XBYAK_THROW
    - db
    - getRex
    - Operand
    - Operand*::getReg
    - isBit
    - Operand*::isMEM
    linkageType: ''
    returnType: void
    signature: void rex(const Operand& op1, const Operand& op2 = Operand())
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1725
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1725
    functionName: CodeGenerator::getPP
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getPP(int type) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:1733,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:1733,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1733,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1737,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1737,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1740,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1740,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1740,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1742,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - ' reg'
    - ' base'
    - v
    - type
    - code
    argTypes:
    - Reg
    - Reg
    - Operand*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1743
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1743
    functionName: CodeGenerator::vex
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - getIdx
    - db
    linkageType: ''
    returnType: void
    signature: void vex(const Reg& reg, const Reg& base, const Operand *v, int type,
      int code, bool x = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:1746,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:1746,1
    - Dst: isZMM
      Src: /src/mcl/src/xbyak/xbyak.h:1746,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1747,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - ' r'
    - type
    argTypes:
    - Reg
    - int
    constantsTouched: []
    func_position:
      end: 1748
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1748
    functionName: CodeGenerator::verifySAE
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isYMM
    - XBYAK_THROW
    - isZMM
    - isXMM
    linkageType: ''
    returnType: void
    signature: void verifySAE(const Reg& r, int type) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:1751,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:1752,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:1752,1
    - Dst: isZMM
      Src: /src/mcl/src/xbyak/xbyak.h:1752,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1753,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - ' r'
    - type
    argTypes:
    - Reg
    - int
    constantsTouched: []
    func_position:
      end: 1754
      start: 1749
    functionDepth: 0
    functionLinenumber: 1749
    functionLinenumberEnd: 1754
    functionName: CodeGenerator::verifyER
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - isYMM
    - isREG
    - isZMM
    - isXMM
    linkageType: ''
    returnType: void
    signature: void verifyER(const Reg& r, int type) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW_RET
      Src: /src/mcl/src/xbyak/xbyak.h:1759,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - a
    - b
    - c
    - err
    argTypes:
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1761
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1761
    functionName: CodeGenerator::verifyDuplicate
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW_RET
    linkageType: ''
    returnType: int
    signature: int verifyDuplicate(int a, int b, int c, int err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW_RET
      Src: /src/mcl/src/xbyak/xbyak.h:1764,1
    - Dst: CodeGenerator::verifySAE
      Src: /src/mcl/src/xbyak/xbyak.h:1781,1
    - Dst: CodeGenerator::verifyER
      Src: /src/mcl/src/xbyak/xbyak.h:1783,1
    - Dst: Operand*::getBit
      Src: /src/mcl/src/xbyak/xbyak.h:1787,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:1788,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:1788,1
    - Dst: CodeGenerator::verifyDuplicate
      Src: /src/mcl/src/xbyak/xbyak.h:1807,1
    - Dst: getOpmaskIdx
      Src: /src/mcl/src/xbyak/xbyak.h:1807,1
    - Dst: getOpmaskIdx
      Src: /src/mcl/src/xbyak/xbyak.h:1807,1
    - Dst: Operand*::getOpmaskIdx
      Src: /src/mcl/src/xbyak/xbyak.h:1807,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1809,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1810,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1811,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1812,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1813,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 5
    argNames:
    - ' reg'
    - ' base'
    - v
    - type
    - code
    argTypes:
    - Reg
    - Reg
    - Operand*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1815
      start: 1762
    functionDepth: 1
    functionLinenumber: 1762
    functionLinenumberEnd: 1815
    functionName: CodeGenerator::evex
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW_RET
    - Operand*::getOpmaskIdx
    - getBit
    - Operand*::getBit
    - CodeGenerator::verifySAE
    - CodeGenerator::verifyER
    - db
    - CodeGenerator::verifyDuplicate
    - getOpmaskIdx
    linkageType: ''
    returnType: int
    signature: int evex(const Reg& reg, const Reg& base, const Operand *v, int type,
      int code, bool x = false, bool b = false, int aaa = 0, uint32_t VL = 0, bool
      Hi16Vidx = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1818,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/src/xbyak/xbyak.h:1818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mod
    - r1
    - r2
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1819
      start: 1816
    functionDepth: 0
    functionLinenumber: 1816
    functionLinenumberEnd: 1819
    functionName: CodeGenerator::setModRM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - db
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void setModRM(int mod, int r1, int r2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1827,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1831,1
    - Dst: getBase
      Src: /src/mcl/src/xbyak/xbyak.h:1835,1
    - Dst: getIndex
      Src: /src/mcl/src/xbyak/xbyak.h:1836,1
    - Dst: Xbyak::inner::IsInDisp8
      Src: /src/mcl/src/xbyak/xbyak.h:1848,1
    - Dst: Xbyak::inner::IsInDisp8
      Src: /src/mcl/src/xbyak/xbyak.h:1854,1
    - Dst: CodeGenerator::setModRM
      Src: /src/mcl/src/xbyak/xbyak.h:1867,1
    - Dst: CodeGenerator::setModRM
      Src: /src/mcl/src/xbyak/xbyak.h:1872,1
    - Dst: CodeGenerator::setModRM
      Src: /src/mcl/src/xbyak/xbyak.h:1874,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1877,1
    - Dst: dd
      Src: /src/mcl/src/xbyak/xbyak.h:1879,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 33
    argCount: 2
    argNames:
    - ' e'
    - reg
    argTypes:
    - RegExp
    - int
    constantsTouched: []
    func_position:
      end: 1881
      start: 1820
    functionDepth: 1
    functionLinenumber: 1820
    functionLinenumberEnd: 1881
    functionName: CodeGenerator::setSIB
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - dd
    - getBase
    - XBYAK_THROW
    - getIndex
    - db
    - CodeGenerator::setModRM
    - Xbyak::inner::IsInDisp8
    linkageType: ''
    returnType: void
    signature: void setSIB(const RegExp& e, int reg, int disp8N = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1883
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1883
    functionName: CodeGenerator::isInDisp16
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInDisp16(uint32_t x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::rex
      Src: /src/mcl/src/xbyak/xbyak.h:1886,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1887,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:1887,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1887,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1887,1
    - Dst: CodeGenerator::setModRM
      Src: /src/mcl/src/xbyak/xbyak.h:1888,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:1888,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:1888,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' reg1'
    - ' reg2'
    - code0
    argTypes:
    - Reg
    - Reg
    - int
    constantsTouched: []
    func_position:
      end: 1889
      start: 1884
    functionDepth: 2
    functionLinenumber: 1884
    functionLinenumberEnd: 1889
    functionName: CodeGenerator::opModR
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeGenerator::rex
    - db
    - getIdx
    - isBit
    - CodeGenerator::setModRM
    linkageType: ''
    returnType: void
    signature: void opModR(const Reg& reg1, const Reg& reg2, int code0, int code1
      = NONE, int code2 = NONE)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is64bitDisp
      Src: /src/mcl/src/xbyak/xbyak.h:1892,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1892,1
    - Dst: CodeGenerator::rex
      Src: /src/mcl/src/xbyak/xbyak.h:1893,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1894,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:1894,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1894,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1894,1
    - Dst: CodeGenerator::opAddr
      Src: /src/mcl/src/xbyak/xbyak.h:1895,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:1895,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' addr'
    - ' reg'
    - code0
    argTypes:
    - Address
    - Reg
    - int
    constantsTouched: []
    func_position:
      end: 1896
      start: 1890
    functionDepth: 2
    functionLinenumber: 1890
    functionLinenumberEnd: 1896
    functionName: CodeGenerator::opModM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - is64bitDisp
    - CodeGenerator::rex
    - CodeGenerator::opAddr
    - XBYAK_THROW
    - db
    - getIdx
    - isBit
    linkageType: ''
    returnType: void
    signature: void opModM(const Address& addr, const Reg& reg, int code0, int code1
      = NONE, int code2 = NONE, int immSize = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is64bitDisp
      Src: /src/mcl/src/xbyak/xbyak.h:1899,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1899,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:1900,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1900,1
    - Dst: CodeGenerator::rex
      Src: /src/mcl/src/xbyak/xbyak.h:1901,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1902,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1902,1
    - Dst: CodeGenerator::opAddr
      Src: /src/mcl/src/xbyak/xbyak.h:1903,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:1903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' addr'
    - ' reg'
    - code0
    argTypes:
    - Address
    - Reg
    - int
    constantsTouched: []
    func_position:
      end: 1904
      start: 1897
    functionDepth: 2
    functionLinenumber: 1897
    functionLinenumberEnd: 1904
    functionName: CodeGenerator::opLoadSeg
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - is64bitDisp
    - CodeGenerator::rex
    - CodeGenerator::opAddr
    - XBYAK_THROW
    - db
    - getIdx
    - isBit
    linkageType: ''
    returnType: void
    signature: void opLoadSeg(const Address& addr, const Reg& reg, int code0, int
      code1 = NONE)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is64bitDisp
      Src: /src/mcl/src/xbyak/xbyak.h:1907,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1907,1
    - Dst: getMode
      Src: /src/mcl/src/xbyak/xbyak.h:1908,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1908,1
    - Dst: is32bit
      Src: /src/mcl/src/xbyak/xbyak.h:1909,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1909,1
    - Dst: getRegExp
      Src: /src/mcl/src/xbyak/xbyak.h:1910,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1912,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1913,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1913,1
    - Dst: CodeGenerator::setSIB
      Src: /src/mcl/src/xbyak/xbyak.h:1914,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:1914,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - ' addr'
    - ' reg'
    - code0
    - code1
    argTypes:
    - Address
    - Reg
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1915
      start: 1905
    functionDepth: 2
    functionLinenumber: 1905
    functionLinenumberEnd: 1915
    functionName: CodeGenerator::opMIB
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - is32bit
    - is64bitDisp
    - getMode
    - getRegExp
    - XBYAK_THROW
    - db
    - getIdx
    - CodeGenerator::setSIB
    linkageType: ''
    returnType: void
    signature: void opMIB(const Address& addr, const Reg& reg, int code0, int code1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::inner::IsInDisp8
      Src: /src/mcl/src/xbyak/xbyak.h:1921,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1922,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1922,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1924,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1925,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1926,1
    - Dst: dd
      Src: /src/mcl/src/xbyak/xbyak.h:1926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - disp
    - type
    - shortCode
    - longCode
    - longPref
    argTypes:
    - uint32_t
    - LabelType
    - uint8_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1928
      start: 1916
    functionDepth: 1
    functionLinenumber: 1916
    functionLinenumberEnd: 1928
    functionName: CodeGenerator::makeJmp
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - db
    - dd
    - Xbyak::inner::IsInDisp8
    linkageType: ''
    returnType: void
    signature: void makeJmp(uint32_t disp, LabelType type, uint8_t shortCode, uint8_t
      longCode, uint8_t longPref)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - LabelType
    constantsTouched: []
    func_position:
      end: 1929
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1929
    functionName: CodeGenerator::isNEAR
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNEAR(LabelType type) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1933,1
    - Dst: isAutoGrow
      Src: /src/mcl/src/xbyak/xbyak.h:1934,1
    - Dst: growMemory
      Src: /src/mcl/src/xbyak/xbyak.h:1934,1
    - Dst: getOffset
      Src: /src/mcl/src/xbyak/xbyak.h:1936,1
    - Dst: CodeGenerator::makeJmp
      Src: /src/mcl/src/xbyak/xbyak.h:1937,1
    - Dst: Xbyak::inner::VerifyInInt32
      Src: /src/mcl/src/xbyak/xbyak.h:1937,1
    - Dst: CodeGenerator::isNEAR
      Src: /src/mcl/src/xbyak/xbyak.h:1940,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1942,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1943,1
    - Dst: dd
      Src: /src/mcl/src/xbyak/xbyak.h:1943,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1946,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1946,1
    - Dst: addUndefinedLabel
      Src: /src/mcl/src/xbyak/xbyak.h:1949,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - ' label'
    - type
    - shortCode
    - longCode
    - longPref
    argTypes:
    - T
    - LabelType
    - uint8_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1951
      start: 1931
    functionDepth: 2
    functionLinenumber: 1931
    functionLinenumberEnd: 1951
    functionName: CodeGenerator::opJmp
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - dd
    - CodeGenerator::makeJmp
    - XBYAK_THROW
    - getOffset
    - db
    - addUndefinedLabel
    - Xbyak::inner::VerifyInInt32
    - CodeGenerator::isNEAR
    - isAutoGrow
    - growMemory
    linkageType: ''
    returnType: void
    signature: void opJmp(T& label, LabelType type, uint8_t shortCode, uint8_t longCode,
      uint8_t longPref)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1954,1
    - Dst: isAutoGrow
      Src: /src/mcl/src/xbyak/xbyak.h:1955,1
    - Dst: CodeGenerator::isNEAR
      Src: /src/mcl/src/xbyak/xbyak.h:1956,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1956,1
    - Dst: growMemory
      Src: /src/mcl/src/xbyak/xbyak.h:1957,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1958,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:1959,1
    - Dst: dd
      Src: /src/mcl/src/xbyak/xbyak.h:1960,1
    - Dst: save
      Src: /src/mcl/src/xbyak/xbyak.h:1961,1
    - Dst: CodeGenerator::makeJmp
      Src: /src/mcl/src/xbyak/xbyak.h:1963,1
    - Dst: Xbyak::inner::VerifyInInt32
      Src: /src/mcl/src/xbyak/xbyak.h:1963,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/mcl/src/xbyak/xbyak.h:1963,1
    - Dst: getCurr
      Src: /src/mcl/src/xbyak/xbyak.h:1963,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - addr
    - type
    - shortCode
    - longCode
    argTypes:
    - void*
    - LabelType
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1966
      start: 1952
    functionDepth: 2
    functionLinenumber: 1952
    functionLinenumberEnd: 1966
    functionName: CodeGenerator::opJmpAbs
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - dd
    - CodeGenerator::makeJmp
    - XBYAK_THROW
    - db
    - reinterpret_cast<const uint8_t*>
    - save
    - getCurr
    - Xbyak::inner::VerifyInInt32
    - CodeGenerator::isNEAR
    - isAutoGrow
    - growMemory
    linkageType: ''
    returnType: void
    signature: void opJmpAbs(const void *addr, LabelType type, uint8_t shortCode,
      uint8_t longCode, uint8_t longPref = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:1971,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1971,1
    - Dst: CodeGenerator::opR_ModM
      Src: /src/mcl/src/xbyak/xbyak.h:1972,1
    - Dst: CodeGenerator::opR_ModM
      Src: /src/mcl/src/xbyak/xbyak.h:1974,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' op'
    - type
    - ext
    argTypes:
    - Operand
    - LabelType
    - int
    constantsTouched: []
    func_position:
      end: 1976
      start: 1967
    functionDepth: 1
    functionLinenumber: 1967
    functionLinenumberEnd: 1976
    functionName: CodeGenerator::opJmpOp
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - CodeGenerator::opR_ModM
    linkageType: ''
    returnType: void
    signature: void opJmpOp(const Operand& op, LabelType type, int ext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Address::isVsib
      Src: /src/mcl/src/xbyak/xbyak.h:1982,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1982,1
    - Dst: Address::getMode
      Src: /src/mcl/src/xbyak/xbyak.h:1983,1
    - Dst: CodeGenerator::setSIB
      Src: /src/mcl/src/xbyak/xbyak.h:1984,1
    - Dst: Address::getRegExp
      Src: /src/mcl/src/xbyak/xbyak.h:1984,1
    - Dst: Address::getMode
      Src: /src/mcl/src/xbyak/xbyak.h:1985,1
    - Dst: Address::getMode
      Src: /src/mcl/src/xbyak/xbyak.h:1985,1
    - Dst: CodeGenerator::setModRM
      Src: /src/mcl/src/xbyak/xbyak.h:1986,1
    - Dst: Address::getLabel
      Src: /src/mcl/src/xbyak/xbyak.h:1987,1
    - Dst: CodeGenerator::putL_inner
      Src: /src/mcl/src/xbyak/xbyak.h:1988,1
    - Dst: Address::getLabel
      Src: /src/mcl/src/xbyak/xbyak.h:1988,1
    - Dst: Address::getDisp
      Src: /src/mcl/src/xbyak/xbyak.h:1988,1
    - Dst: Address::getMode
      Src: /src/mcl/src/xbyak/xbyak.h:1991,1
    - Dst: isAutoGrow
      Src: /src/mcl/src/xbyak/xbyak.h:1992,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:1992,1
    - Dst: getCurr
      Src: /src/mcl/src/xbyak/xbyak.h:1993,1
    - Dst: dd
      Src: /src/mcl/src/xbyak/xbyak.h:1995,1
    - Dst: Xbyak::inner::VerifyInInt32
      Src: /src/mcl/src/xbyak/xbyak.h:1995,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - addr
    - reg
    argTypes:
    - Address
    - int
    constantsTouched: []
    func_position:
      end: 1998
      start: 1980
    functionDepth: 2
    functionLinenumber: 1980
    functionLinenumberEnd: 1998
    functionName: CodeGenerator::opAddr
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 2
    functionsReached:
    - Address::isVsib
    - dd
    - CodeGenerator::putL_inner
    - CodeGenerator::setModRM
    - Xbyak::inner::VerifyInInt32
    - Address::getRegExp
    - XBYAK_THROW
    - getCurr
    - Address::getLabel
    - Address::getMode
    - Address::getDisp
    - isAutoGrow
    - CodeGenerator::setSIB
    linkageType: ''
    returnType: void
    signature: void opAddr(const Address &addr, int reg, int immSize = 0, int disp8N
      = 0, bool permitVisb = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/mcl/src/xbyak/xbyak.h:2002,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2002,1
    - Dst: CodeGenerator::isValidSSE
      Src: /src/mcl/src/xbyak/xbyak.h:2003,1
    - Dst: CodeGenerator::isValidSSE
      Src: /src/mcl/src/xbyak/xbyak.h:2003,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2003,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2004,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2005,1
    - Dst: CodeGenerator::opModM
      Src: /src/mcl/src/xbyak/xbyak.h:2006,1
    - Dst: getAddress
      Src: /src/mcl/src/xbyak/xbyak.h:2006,1
    - Dst: getReg
      Src: /src/mcl/src/xbyak/xbyak.h:2006,1
    - Dst: CodeGenerator::opModR
      Src: /src/mcl/src/xbyak/xbyak.h:2008,1
    - Dst: getReg
      Src: /src/mcl/src/xbyak/xbyak.h:2008,1
    - Dst: getReg
      Src: /src/mcl/src/xbyak/xbyak.h:2008,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2010,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - ' reg'
    - ' op'
    - code
    - pref
    - isValid
    argTypes:
    - Operand
    - Operand
    - int
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 2011
      start: 2000
    functionDepth: 3
    functionLinenumber: 2000
    functionLinenumberEnd: 2011
    functionName: CodeGenerator::opGen
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - CodeGenerator::opModM
    - getAddress
    - CodeGenerator::opModR
    - isValid
    - getReg
    - CodeGenerator::isValidSSE
    - XBYAK_THROW
    - db
    linkageType: ''
    returnType: void
    signature: void opGen(const Operand& reg, const Operand& op, int code, int pref,
      bool isValid(const Operand&, const Operand&), int imm8 = NONE, int preCode =
      NONE)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::isValidSSE
      Src: /src/mcl/src/xbyak/xbyak.h:2014,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2014,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2015,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2015,1
    - Dst: CodeGenerator::opModR
      Src: /src/mcl/src/xbyak/xbyak.h:2016,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak.h:2016,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2017,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' mmx'
    - imm8
    - code
    - ext
    argTypes:
    - Mmx
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2018
      start: 2012
    functionDepth: 3
    functionLinenumber: 2012
    functionLinenumberEnd: 2018
    functionName: CodeGenerator::opMMX_IMM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeGenerator::opModR
    - Reg32
    - XBYAK_THROW
    - CodeGenerator::isValidSSE
    - db
    - isXMM
    linkageType: ''
    returnType: void
    signature: void opMMX_IMM(const Mmx& mmx, int imm8, int code, int ext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::opGen
      Src: /src/mcl/src/xbyak/xbyak.h:2021,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' mmx'
    - ' op'
    - code
    argTypes:
    - Mmx
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 2022
      start: 2019
    functionDepth: 4
    functionLinenumber: 2019
    functionLinenumberEnd: 2022
    functionName: CodeGenerator::opMMX
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeGenerator::opGen
    - isXMM
    linkageType: ''
    returnType: void
    signature: void opMMX(const Mmx& mmx, const Operand& op, int code, int pref =
      0x66, int imm8 = NONE, int preCode = NONE)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::isValidSSE
      Src: /src/mcl/src/xbyak/xbyak.h:2025,1
    - Dst: CodeGenerator::isValidSSE
      Src: /src/mcl/src/xbyak/xbyak.h:2025,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2025,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2026,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2027,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2027,1
    - Dst: CodeGenerator::opModM
      Src: /src/mcl/src/xbyak/xbyak.h:2028,1
    - Dst: getAddress
      Src: /src/mcl/src/xbyak/xbyak.h:2028,1
    - Dst: getReg
      Src: /src/mcl/src/xbyak/xbyak.h:2028,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2029,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2029,1
    - Dst: CodeGenerator::opModM
      Src: /src/mcl/src/xbyak/xbyak.h:2030,1
    - Dst: getAddress
      Src: /src/mcl/src/xbyak/xbyak.h:2030,1
    - Dst: getReg
      Src: /src/mcl/src/xbyak/xbyak.h:2030,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2032,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - ' op1'
    - ' op2'
    - code
    - pref
    argTypes:
    - Operand
    - Operand
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2034
      start: 2023
    functionDepth: 3
    functionLinenumber: 2023
    functionLinenumberEnd: 2034
    functionName: CodeGenerator::opMovXMM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - CodeGenerator::opModM
    - getAddress
    - getReg
    - XBYAK_THROW
    - CodeGenerator::isValidSSE
    - db
    - isXMM
    linkageType: ''
    returnType: void
    signature: void opMovXMM(const Operand& op1, const Operand& op2, int code, int
      pref)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::isValidSSE
      Src: /src/mcl/src/xbyak/xbyak.h:2037,1
    - Dst: CodeGenerator::isValidSSE
      Src: /src/mcl/src/xbyak/xbyak.h:2037,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2037,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2038,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2039,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2039,1
    - Dst: CodeGenerator::opModR
      Src: /src/mcl/src/xbyak/xbyak.h:2040,1
    - Dst: getReg
      Src: /src/mcl/src/xbyak/xbyak.h:2040,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2040,1
    - Dst: CodeGenerator::opGen
      Src: /src/mcl/src/xbyak/xbyak.h:2042,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - ' op'
    - ' mmx'
    - code
    - imm
    argTypes:
    - Operand
    - Mmx
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2044
      start: 2035
    functionDepth: 4
    functionLinenumber: 2035
    functionLinenumberEnd: 2044
    functionName: CodeGenerator::opExt
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeGenerator::opModR
    - CodeGenerator::opGen
    - getReg
    - XBYAK_THROW
    - CodeGenerator::isValidSSE
    - db
    - isREG
    - isXMM
    linkageType: ''
    returnType: void
    signature: void opExt(const Operand& op, const Mmx& mmx, int code, int imm, bool
      hasMMX2 = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2049,1
    - Dst: CodeGenerator::opModR
      Src: /src/mcl/src/xbyak/xbyak.h:2050,1
    - Dst: Reg
      Src: /src/mcl/src/xbyak/xbyak.h:2050,1
    - Dst: getReg
      Src: /src/mcl/src/xbyak/xbyak.h:2050,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2051,1
    - Dst: CodeGenerator::opModM
      Src: /src/mcl/src/xbyak/xbyak.h:2052,1
    - Dst: getAddress
      Src: /src/mcl/src/xbyak/xbyak.h:2052,1
    - Dst: Reg
      Src: /src/mcl/src/xbyak/xbyak.h:2052,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2054,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ' op'
    - bit
    - ext
    - code0
    argTypes:
    - Operand
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2056
      start: 2045
    functionDepth: 3
    functionLinenumber: 2045
    functionLinenumberEnd: 2056
    functionName: CodeGenerator::opR_ModM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - isMEM
    - CodeGenerator::opModM
    - getAddress
    - CodeGenerator::opModR
    - getReg
    - XBYAK_THROW
    - Reg
    - isREG
    linkageType: ''
    returnType: void
    signature: void opR_ModM(const Operand& op, int bit, int ext, int code0, int code1
      = NONE, int code2 = NONE, bool disableRex = false, int immSize = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::verifyMemHasSize
      Src: /src/mcl/src/xbyak/xbyak.h:2059,1
    - Dst: CodeGenerator::opR_ModM
      Src: /src/mcl/src/xbyak/xbyak.h:2060,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' op'
    - imm
    - ext
    argTypes:
    - Operand
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2062
      start: 2057
    functionDepth: 4
    functionLinenumber: 2057
    functionLinenumberEnd: 2062
    functionName: CodeGenerator::opShift
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - db
    - CodeGenerator::opR_ModM
    - CodeGenerator::verifyMemHasSize
    linkageType: ''
    returnType: void
    signature: void opShift(const Operand& op, int imm, int ext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2065,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2065,1
    - Dst: CodeGenerator::opR_ModM
      Src: /src/mcl/src/xbyak/xbyak.h:2066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' op'
    - ' _cl'
    - ext
    argTypes:
    - Operand
    - Reg8
    - int
    constantsTouched: []
    func_position:
      end: 2067
      start: 2063
    functionDepth: 4
    functionLinenumber: 2063
    functionLinenumberEnd: 2067
    functionName: CodeGenerator::opShift
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - getIdx
    - CodeGenerator::opR_ModM
    linkageType: ''
    returnType: void
    signature: void opShift(const Operand& op, const Reg8& _cl, int ext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::opModR
      Src: /src/mcl/src/xbyak/xbyak.h:2071,1
    - Dst: getReg
      Src: /src/mcl/src/xbyak/xbyak.h:2071,1
    - Dst: getReg
      Src: /src/mcl/src/xbyak/xbyak.h:2071,1
    - Dst: CodeGenerator::opModM
      Src: /src/mcl/src/xbyak/xbyak.h:2073,1
    - Dst: getAddress
      Src: /src/mcl/src/xbyak/xbyak.h:2073,1
    - Dst: getReg
      Src: /src/mcl/src/xbyak/xbyak.h:2073,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2075,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ' op1'
    - ' op2'
    - condR
    - condM
    - code0
    argTypes:
    - Operand
    - Operand
    - bool
    - bool
    - int
    constantsTouched: []
    func_position:
      end: 2077
      start: 2068
    functionDepth: 3
    functionLinenumber: 2068
    functionLinenumberEnd: 2077
    functionName: CodeGenerator::opModRM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeGenerator::opModM
    - getAddress
    - CodeGenerator::opModR
    - getReg
    - XBYAK_THROW
    linkageType: ''
    returnType: void
    signature: void opModRM(const Operand& op1, const Operand& op2, bool condR, bool
      condM, int code0, int code1 = NONE, int code2 = NONE, int immSize = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2080,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2080,1
    - Dst: CodeGenerator::opModRM
      Src: /src/mcl/src/xbyak/xbyak.h:2081,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2081,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:2081,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:2081,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2081,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2081,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2082,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - ' op'
    - ' reg'
    - imm
    - code
    argTypes:
    - Operand
    - Reg
    - uint8_t
    - int
    constantsTouched: []
    func_position:
      end: 2083
      start: 2078
    functionDepth: 4
    functionLinenumber: 2078
    functionLinenumberEnd: 2083
    functionName: CodeGenerator::opShxd
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - getBit
    - XBYAK_THROW
    - db
    - getIdx
    - isREG
    - CodeGenerator::opModRM
    linkageType: ''
    returnType: void
    signature: void opShxd(const Operand& op, const Reg& reg, uint8_t imm, int code,
      const Reg8 *_cl = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2087,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2087,1
    - Dst: CodeGenerator::opModM
      Src: /src/mcl/src/xbyak/xbyak.h:2088,1
    - Dst: getAddress
      Src: /src/mcl/src/xbyak/xbyak.h:2088,1
    - Dst: getReg
      Src: /src/mcl/src/xbyak/xbyak.h:2088,1
    - Dst: CodeGenerator::opModRM
      Src: /src/mcl/src/xbyak/xbyak.h:2090,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2090,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak.h:2090,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak.h:2090,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2090,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2090,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - ' op1'
    - ' op2'
    - code
    argTypes:
    - Operand
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 2092
      start: 2085
    functionDepth: 4
    functionLinenumber: 2085
    functionLinenumberEnd: 2092
    functionName: CodeGenerator::opRM_RM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - CodeGenerator::opModM
    - getAddress
    - getReg
    - isREG
    - CodeGenerator::opModRM
    - getKind
    linkageType: ''
    returnType: void
    signature: void opRM_RM(const Operand& op1, const Operand& op2, int code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::verifyMemHasSize
      Src: /src/mcl/src/xbyak/xbyak.h:2096,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:2098,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:2099,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2099,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:2100,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2101,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2101,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:2101,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:2101,1
    - Dst: CodeGenerator::rex
      Src: /src/mcl/src/xbyak/xbyak.h:2102,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2103,1
    - Dst: CodeGenerator::opR_ModM
      Src: /src/mcl/src/xbyak/xbyak.h:2106,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - ' op'
    - imm
    - code
    - ext
    argTypes:
    - Operand
    - uint32_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2109
      start: 2094
    functionDepth: 4
    functionLinenumber: 2094
    functionLinenumberEnd: 2109
    functionName: CodeGenerator::opRM_I
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - getBit
    - isREG
    - CodeGenerator::verifyMemHasSize
    - CodeGenerator::rex
    - XBYAK_THROW
    - db
    - CodeGenerator::opR_ModM
    - getIdx
    - isBit
    linkageType: ''
    returnType: void
    signature: void opRM_I(const Operand& op, uint32_t imm, int code, int ext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::verifyMemHasSize
      Src: /src/mcl/src/xbyak/xbyak.h:2112,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2114,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:2114,1
    - Dst: CodeGenerator::rex
      Src: /src/mcl/src/xbyak/xbyak.h:2115,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2115,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2115,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2120,1
    - Dst: CodeGenerator::opModR
      Src: /src/mcl/src/xbyak/xbyak.h:2121,1
    - Dst: Reg
      Src: /src/mcl/src/xbyak/xbyak.h:2121,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:2121,1
    - Dst: getReg
      Src: /src/mcl/src/xbyak/xbyak.h:2121,1
    - Dst: CodeGenerator::opModM
      Src: /src/mcl/src/xbyak/xbyak.h:2123,1
    - Dst: getAddress
      Src: /src/mcl/src/xbyak/xbyak.h:2123,1
    - Dst: Reg
      Src: /src/mcl/src/xbyak/xbyak.h:2123,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:2123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' op'
    - code
    - ext
    argTypes:
    - Operand
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2125
      start: 2110
    functionDepth: 3
    functionLinenumber: 2110
    functionLinenumberEnd: 2125
    functionName: CodeGenerator::opIncDec
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeGenerator::opModM
    - getAddress
    - CodeGenerator::opModR
    - getBit
    - getReg
    - isBit
    - CodeGenerator::rex
    - CodeGenerator::verifyMemHasSize
    - db
    - Reg
    - getIdx
    - isREG
    linkageType: ''
    returnType: void
    signature: void opIncDec(const Operand& op, int code, int ext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2130,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2131,1
    - Dst: getReg
      Src: /src/mcl/src/xbyak/xbyak.h:2132,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2132,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2133,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2133,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2136,1
    - Dst: CodeGenerator::opModM
      Src: /src/mcl/src/xbyak/xbyak.h:2137,1
    - Dst: getAddress
      Src: /src/mcl/src/xbyak/xbyak.h:2137,1
    - Dst: Reg
      Src: /src/mcl/src/xbyak/xbyak.h:2137,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - ' op'
    - code
    - ext
    - alt
    argTypes:
    - Operand
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2142
      start: 2126
    functionDepth: 3
    functionLinenumber: 2126
    functionLinenumberEnd: 2142
    functionName: CodeGenerator::opPushPop
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - CodeGenerator::opModM
    - getAddress
    - getReg
    - db
    - XBYAK_THROW
    - Reg
    - getIdx
    - isREG
    linkageType: ''
    returnType: void
    signature: void opPushPop(const Operand& op, int code, int ext, int alt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2145,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:2145,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 2146
      start: 2143
    functionDepth: 0
    functionLinenumber: 2143
    functionLinenumberEnd: 2146
    functionName: CodeGenerator::verifyMemHasSize
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 3
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - getBit
    linkageType: ''
    returnType: void
    signature: void verifyMemHasSize(const Operand& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::rex
      Src: /src/mcl/src/xbyak/xbyak.h:2156,1
    - Dst: Reg32
      Src: /src/mcl/src/xbyak/xbyak.h:2156,1
    - Dst: CodeGenerator::rex
      Src: /src/mcl/src/xbyak/xbyak.h:2159,1
    - Dst: Xbyak::inner::IsInInt32
      Src: /src/mcl/src/xbyak/xbyak.h:2160,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2161,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' reg'
    - imm
    argTypes:
    - Reg
    - uint64_t
    constantsTouched: []
    func_position:
      end: 2168
      start: 2150
    functionDepth: 2
    functionLinenumber: 2150
    functionLinenumberEnd: 2168
    functionName: CodeGenerator::mov_imm
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Reg32
    - db
    - CodeGenerator::rex
    - Xbyak::inner::IsInInt32
    linkageType: ''
    returnType: int
    signature: int mov_imm(const Reg& reg, uint64_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isAutoGrow
      Src: /src/mcl/src/xbyak/xbyak.h:2173,1
    - Dst: growMemory
      Src: /src/mcl/src/xbyak/xbyak.h:2173,1
    - Dst: getOffset
      Src: /src/mcl/src/xbyak/xbyak.h:2175,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2177,1
    - Dst: Xbyak::inner::VerifyInInt32
      Src: /src/mcl/src/xbyak/xbyak.h:2177,1
    - Dst: isAutoGrow
      Src: /src/mcl/src/xbyak/xbyak.h:2178,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2179,1
    - Dst: save
      Src: /src/mcl/src/xbyak/xbyak.h:2180,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2182,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2186,1
    - Dst: isAutoGrow
      Src: /src/mcl/src/xbyak/xbyak.h:2187,1
    - Dst: addUndefinedLabel
      Src: /src/mcl/src/xbyak/xbyak.h:2188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 2189
      start: 2170
    functionDepth: 2
    functionLinenumber: 2170
    functionLinenumberEnd: 2189
    functionName: CodeGenerator::putL_inner
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - getOffset
    - db
    - save
    - addUndefinedLabel
    - Xbyak::inner::VerifyInInt32
    - isAutoGrow
    - growMemory
    linkageType: ''
    returnType: void
    signature: void putL_inner(T& label, bool relative = false, size_t disp = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:2192,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2192,1
    - Dst: CodeGenerator::opModRM
      Src: /src/mcl/src/xbyak/xbyak.h:2195,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2195,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - ' reg'
    - ' op'
    - code
    argTypes:
    - Reg
    - Operand
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2196
      start: 2190
    functionDepth: 4
    functionLinenumber: 2190
    functionLinenumberEnd: 2196
    functionName: CodeGenerator::opMovxx
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - XBYAK_THROW
    - isBit
    - CodeGenerator::opModRM
    linkageType: ''
    returnType: void
    signature: void opMovxx(const Reg& reg, const Operand& op, uint8_t code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is64bitDisp
      Src: /src/mcl/src/xbyak/xbyak.h:2199,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2199,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2201,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:2202,1
    - Dst: CodeGenerator::rex
      Src: /src/mcl/src/xbyak/xbyak.h:2204,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2205,1
    - Dst: CodeGenerator::opAddr
      Src: /src/mcl/src/xbyak/xbyak.h:2206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - ' addr'
    - m16
    - m32
    - m64
    - ext
    - m64ext
    argTypes:
    - Address
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2207
      start: 2197
    functionDepth: 3
    functionLinenumber: 2197
    functionLinenumberEnd: 2207
    functionName: CodeGenerator::opFpuMem
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - is64bitDisp
    - CodeGenerator::rex
    - CodeGenerator::opAddr
    - XBYAK_THROW
    - db
    - isBit
    linkageType: ''
    returnType: void
    signature: void opFpuMem(const Address& addr, uint8_t m16, uint8_t m32, uint8_t
      m64, uint8_t ext, uint8_t m64ext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2213,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2214,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2215,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2215,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' reg1'
    - ' reg2'
    - code1
    - code2
    argTypes:
    - Fpu
    - Fpu
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2216
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2216
    functionName: CodeGenerator::opFpuFpu
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - db
    - getIdx
    linkageType: ''
    returnType: void
    signature: void opFpuFpu(const Fpu& reg1, const Fpu& reg2, uint32_t code1, uint32_t
      code2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2219,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2219,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' reg'
    - code1
    - code2
    argTypes:
    - Fpu
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2220
      start: 2217
    functionDepth: 0
    functionLinenumber: 2217
    functionLinenumberEnd: 2220
    functionName: CodeGenerator::opFpu
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - db
    - getIdx
    linkageType: ''
    returnType: void
    signature: void opFpu(const Fpu& reg, uint8_t code1, uint8_t code2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2223,1
    - Dst: getAddress
      Src: /src/mcl/src/xbyak/xbyak.h:2224,1
    - Dst: getRegExp
      Src: /src/mcl/src/xbyak/xbyak.h:2225,1
    - Dst: getBase
      Src: /src/mcl/src/xbyak/xbyak.h:2226,1
    - Dst: getIndex
      Src: /src/mcl/src/xbyak/xbyak.h:2227,1
    - Dst: is32bit
      Src: /src/mcl/src/xbyak/xbyak.h:2228,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2228,1
    - Dst: hasEvex
      Src: /src/mcl/src/xbyak/xbyak.h:2231,1
    - Dst: Operand*::hasEvex
      Src: /src/mcl/src/xbyak/xbyak.h:2231,1
    - Dst: isBroadcast
      Src: /src/mcl/src/xbyak/xbyak.h:2231,1
    - Dst: getOpmaskIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2231,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2233,1
    - Dst: isBroadcast
      Src: /src/mcl/src/xbyak/xbyak.h:2235,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2236,1
    - Dst: CodeGenerator::evex
      Src: /src/mcl/src/xbyak/xbyak.h:2240,1
    - Dst: isExtIdx2
      Src: /src/mcl/src/xbyak/xbyak.h:2240,1
    - Dst: CodeGenerator::vex
      Src: /src/mcl/src/xbyak/xbyak.h:2242,1
    - Dst: CodeGenerator::opAddr
      Src: /src/mcl/src/xbyak/xbyak.h:2244,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2244,1
    - Dst: getReg
      Src: /src/mcl/src/xbyak/xbyak.h:2246,1
    - Dst: hasEvex
      Src: /src/mcl/src/xbyak/xbyak.h:2247,1
    - Dst: Operand*::hasEvex
      Src: /src/mcl/src/xbyak/xbyak.h:2247,1
    - Dst: hasEvex
      Src: /src/mcl/src/xbyak/xbyak.h:2247,1
    - Dst: CodeGenerator::evex
      Src: /src/mcl/src/xbyak/xbyak.h:2248,1
    - Dst: CodeGenerator::vex
      Src: /src/mcl/src/xbyak/xbyak.h:2250,1
    - Dst: CodeGenerator::setModRM
      Src: /src/mcl/src/xbyak/xbyak.h:2252,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2252,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2252,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2254,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 26
    argCount: 5
    argNames:
    - ' r'
    - p1
    - ' op2'
    - type
    - code
    argTypes:
    - Reg
    - Operand*
    - Operand
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2255
      start: 2221
    functionDepth: 3
    functionLinenumber: 2221
    functionLinenumberEnd: 2255
    functionName: CodeGenerator::opVex
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - getIndex
    - CodeGenerator::vex
    - isBroadcast
    - getOpmaskIdx
    - getAddress
    - getRegExp
    - Operand*::hasEvex
    - db
    - XBYAK_THROW
    - CodeGenerator::evex
    - CodeGenerator::setModRM
    - is32bit
    - getBase
    - getReg
    - CodeGenerator::opAddr
    - isExtIdx2
    - hasEvex
    - getIdx
    linkageType: ''
    returnType: void
    signature: void opVex(const Reg& r, const Operand *p1, const Operand& op2, int
      type, int code, int imm8 = NONE)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/mcl/src/xbyak/xbyak.h:2262,1
    - Dst: Operand*::getBit
      Src: /src/mcl/src/xbyak/xbyak.h:2264,1
    - Dst: Operand*::isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2264,1
    - Dst: Operand*::getBit
      Src: /src/mcl/src/xbyak/xbyak.h:2264,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2264,1
    - Dst: CodeGenerator::opVex
      Src: /src/mcl/src/xbyak/xbyak.h:2266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 6
    argNames:
    - ' r'
    - ' op1'
    - ' op2'
    - type
    - code
    - isR_R_RM
    argTypes:
    - Reg32e
    - Operand
    - Operand
    - int
    - uint8_t
    - bool
    constantsTouched: []
    func_position:
      end: 2267
      start: 2258
    functionDepth: 4
    functionLinenumber: 2258
    functionLinenumberEnd: 2267
    functionName: CodeGenerator::opGpr
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Operand*::isREG
    - Operand*::getBit
    - std::swap
    - XBYAK_THROW
    - CodeGenerator::opVex
    linkageType: ''
    returnType: void
    signature: void opGpr(const Reg32e& r, const Operand& op1, const Operand& op2,
      int type, uint8_t code, bool isR_R_RM, int imm8 = NONE)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Xmm*>
      Src: /src/mcl/src/xbyak/xbyak.h:2270,1
    - Dst: isNone
      Src: /src/mcl/src/xbyak/xbyak.h:2272,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2277,1
    - Dst: Xmm*::isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2277,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:2277,1
    - Dst: Xmm*::isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:2277,1
    - Dst: isZMM
      Src: /src/mcl/src/xbyak/xbyak.h:2277,1
    - Dst: Xmm*::isZMM
      Src: /src/mcl/src/xbyak/xbyak.h:2277,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2277,1
    - Dst: CodeGenerator::opVex
      Src: /src/mcl/src/xbyak/xbyak.h:2278,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - ' x1'
    - ' op1'
    - ' op2'
    - type
    - code0
    argTypes:
    - Xmm
    - Operand
    - Operand
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2279
      start: 2268
    functionDepth: 4
    functionLinenumber: 2268
    functionLinenumberEnd: 2279
    functionName: CodeGenerator::opAVX_X_X_XM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - Xmm*::isXMM
    - Xmm*::isZMM
    - Xmm*::isYMM
    - static_cast<const Xmm*>
    - CodeGenerator::opVex
    - isNone
    - XBYAK_THROW
    - isYMM
    - isZMM
    - isXMM
    linkageType: ''
    returnType: void
    signature: void opAVX_X_X_XM(const Xmm& x1, const Operand& op1, const Operand&
      op2, int type, int code0, int imm8 = NONE)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2282,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak.h:2282,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak.h:2282,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2282,1
    - Dst: CodeGenerator::opVex
      Src: /src/mcl/src/xbyak/xbyak.h:2283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - ' k'
    - ' x2'
    - ' op3'
    - type
    - code0
    argTypes:
    - Opmask
    - Xmm
    - Operand
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2284
      start: 2280
    functionDepth: 4
    functionLinenumber: 2280
    functionLinenumberEnd: 2284
    functionName: CodeGenerator::opAVX_K_X_XM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - XBYAK_THROW
    - getKind
    - CodeGenerator::opVex
    linkageType: ''
    returnType: void
    signature: void opAVX_K_X_XM(const Opmask& k, const Xmm& x2, const Operand& op3,
      int type, int code0, int imm8 = NONE)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2288,1
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak.h:2288,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2288,1
    - Dst: isZMM
      Src: /src/mcl/src/xbyak/xbyak.h:2288,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:2288,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2288,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 2289
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2289
    functionName: CodeGenerator::checkCvt1
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - is
    - XBYAK_THROW
    - isYMM
    - isZMM
    - isXMM
    linkageType: ''
    returnType: void
    signature: void checkCvt1(const Operand& x, const Operand& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2293,1
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak.h:2293,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:2293,1
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak.h:2293,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2294
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2294
    functionName: CodeGenerator::checkCvt2
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - is
    - XBYAK_THROW
    - isYMM
    - isXMM
    linkageType: ''
    returnType: void
    signature: void checkCvt2(const Xmm& x, const Operand& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2297,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:2297,1
    - Dst: CodeGenerator::opVex
      Src: /src/mcl/src/xbyak/xbyak.h:2298,1
    - Dst: copyAndSetKind
      Src: /src/mcl/src/xbyak/xbyak.h:2298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x'
    - ' op'
    - type
    - code
    argTypes:
    - Xmm
    - Operand
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2299
      start: 2295
    functionDepth: 4
    functionLinenumber: 2295
    functionLinenumberEnd: 2299
    functionName: CodeGenerator::opCvt
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isBit
    - copyAndSetKind
    - CodeGenerator::opVex
    - isXMM
    linkageType: ''
    returnType: void
    signature: void opCvt(const Xmm& x, const Operand& op, int type, int code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::checkCvt2
      Src: /src/mcl/src/xbyak/xbyak.h:2302,1
    - Dst: CodeGenerator::opCvt
      Src: /src/mcl/src/xbyak/xbyak.h:2303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' x'
    - ' op'
    - type
    - code
    argTypes:
    - Xmm
    - Operand
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2304
      start: 2300
    functionDepth: 5
    functionLinenumber: 2300
    functionLinenumberEnd: 2304
    functionName: CodeGenerator::opCvt2
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeGenerator::checkCvt2
    - CodeGenerator::opCvt
    linkageType: ''
    returnType: void
    signature: void opCvt2(const Xmm& x, const Operand& op, int type, int code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2307,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2307,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2307,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2307,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2307,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2308,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2309,1
    - Dst: CodeGenerator::opVex
      Src: /src/mcl/src/xbyak/xbyak.h:2310,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:2310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 7
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - type
    - type64
    - type32
    - code
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - int
    - int
    - int
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2311
      start: 2305
    functionDepth: 4
    functionLinenumber: 2305
    functionLinenumberEnd: 2311
    functionName: CodeGenerator::opCvt3
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isBit
    - XBYAK_THROW
    - getIdx
    - isREG
    - CodeGenerator::opVex
    - isXMM
    linkageType: ''
    returnType: void
    signature: void opCvt3(const Xmm& x1, const Xmm& x2, const Operand& op, int type,
      int type64, int type32, uint8_t code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2315,1
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak.h:2315,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:2315,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:2315,1
    - Dst: is
      Src: /src/mcl/src/xbyak/xbyak.h:2315,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' op'
    argTypes:
    - Xmm
    - Operand
    constantsTouched: []
    func_position:
      end: 2316
      start: 2313
    functionDepth: 0
    functionLinenumber: 2313
    functionLinenumberEnd: 2316
    functionName: CodeGenerator::checkCvt4
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - is
    - XBYAK_THROW
    - isYMM
    - isBit
    - isXMM
    linkageType: ''
    returnType: void
    signature: void checkCvt4(const Xmm& x, const Operand& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2320,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:2320,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2320,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:2321,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:2321,1
    - Dst: CodeGenerator::opVex
      Src: /src/mcl/src/xbyak/xbyak.h:2322,1
    - Dst: copyAndSetKind
      Src: /src/mcl/src/xbyak/xbyak.h:2322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ' x'
    - ' op'
    - type
    - code
    argTypes:
    - Xmm
    - Operand
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2323
      start: 2318
    functionDepth: 4
    functionLinenumber: 2318
    functionLinenumberEnd: 2323
    functionName: CodeGenerator::opCvt5
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - copyAndSetKind
    - isBit
    - CodeGenerator::opVex
    - isXMM
    linkageType: ''
    returnType: void
    signature: void opCvt5(const Xmm& x, const Operand& op, int type, int code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isZMM
      Src: /src/mcl/src/xbyak/xbyak.h:2326,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:2326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 2327
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2327
    functionName: '& cvtIdx0(const Operand& x) const'
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isYMM
    - isZMM
    linkageType: ''
    returnType: Xmm
    signature: Xmm & cvtIdx0(const Operand& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak.h:2331,1
    - Dst: cvtIdx0
      Src: /src/mcl/src/xbyak/xbyak.h:2331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x'
    - ' op'
    - type
    - code
    argTypes:
    - Xmm
    - Operand
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2332
      start: 2329
    functionDepth: 5
    functionLinenumber: 2329
    functionLinenumberEnd: 2332
    functionName: CodeGenerator::opAVX_X_XM_IMM
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeGenerator::opAVX_X_X_XM
    - cvtIdx0
    linkageType: ''
    returnType: void
    signature: void opAVX_X_XM_IMM(const Xmm& x, const Operand& op, int type, int
      code, int imm8 = NONE)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:2336,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2336,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2338,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2338,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:2338,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2338,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2338,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2339,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2340,1
    - Dst: CodeGenerator::opModRM
      Src: /src/mcl/src/xbyak/xbyak.h:2340,1
    - Dst: changeBit
      Src: /src/mcl/src/xbyak/xbyak.h:2340,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:2340,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2340,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 5
    argNames:
    - ' reg'
    - ' op'
    - pref
    - code0
    - code1
    argTypes:
    - Reg
    - Operand
    - uint8_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2341
      start: 2334
    functionDepth: 4
    functionLinenumber: 2334
    functionLinenumberEnd: 2341
    functionName: CodeGenerator::opSp1
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - changeBit
    - getBit
    - isREG
    - XBYAK_THROW
    - db
    - isBit
    - CodeGenerator::opModRM
    linkageType: ''
    returnType: void
    signature: void opSp1(const Reg& reg, const Operand& op, uint8_t pref, uint8_t
      code0, uint8_t code1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getRegExp
      Src: /src/mcl/src/xbyak/xbyak.h:2344,1
    - Dst: isVsib
      Src: /src/mcl/src/xbyak/xbyak.h:2345,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2345,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2350,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2350,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:2353,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:2353,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:2355,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:2355,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:2357,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:2357,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2359,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2364,1
    - Dst: CodeGenerator::opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak.h:2365,1
    - Dst: Ymm
      Src: /src/mcl/src/xbyak/xbyak.h:2365,1
    - Dst: Ymm
      Src: /src/mcl/src/xbyak/xbyak.h:2365,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 18
    argCount: 6
    argNames:
    - ' x1'
    - ' addr'
    - ' x2'
    - type
    - code
    - mode
    argTypes:
    - Xmm
    - Address
    - Xmm
    - int
    - uint8_t
    - int
    constantsTouched: []
    func_position:
      end: 2366
      start: 2342
    functionDepth: 5
    functionLinenumber: 2342
    functionLinenumberEnd: 2366
    functionName: CodeGenerator::opGather
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - getRegExp
    - Ymm
    - XBYAK_THROW
    - isVsib
    - CodeGenerator::opAVX_X_X_XM
    - isYMM
    - isXMM
    linkageType: ''
    returnType: void
    signature: void opGather(const Xmm& x1, const Address& addr, const Xmm& x2, int
      type, uint8_t code, int mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2374,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2374,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:2376,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:2376,1
    - Dst: isZMM
      Src: /src/mcl/src/xbyak/xbyak.h:2376,1
    - Dst: isZMM
      Src: /src/mcl/src/xbyak/xbyak.h:2376,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:2378,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2378,1
    - Dst: isZMM
      Src: /src/mcl/src/xbyak/xbyak.h:2378,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:2378,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2380,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:2380,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:2380,1
    - Dst: isZMM
      Src: /src/mcl/src/xbyak/xbyak.h:2380,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2383,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 18
    argCount: 3
    argNames:
    - ' x1'
    - ' x2'
    - mode
    argTypes:
    - Xmm
    - Reg
    - int
    constantsTouched: []
    func_position:
      end: 2384
      start: 2372
    functionDepth: 0
    functionLinenumber: 2372
    functionLinenumberEnd: 2384
    functionName: CodeGenerator::checkGather2
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isYMM
    - XBYAK_THROW
    - isZMM
    - isXMM
    linkageType: ''
    returnType: void
    signature: void checkGather2(const Xmm& x1, const Reg& x2, int mode) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hasZero
      Src: /src/mcl/src/xbyak/xbyak.h:2387,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2387,1
    - Dst: getRegExp
      Src: /src/mcl/src/xbyak/xbyak.h:2388,1
    - Dst: CodeGenerator::checkGather2
      Src: /src/mcl/src/xbyak/xbyak.h:2389,1
    - Dst: getIndex
      Src: /src/mcl/src/xbyak/xbyak.h:2389,1
    - Dst: getOpmaskIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2391,1
    - Dst: getOpmaskIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2391,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2392,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2393,1
    - Dst: getIndex
      Src: /src/mcl/src/xbyak/xbyak.h:2393,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2393,1
    - Dst: CodeGenerator::opVex
      Src: /src/mcl/src/xbyak/xbyak.h:2394,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - ' x'
    - ' addr'
    - type
    - code
    - mode
    argTypes:
    - Xmm
    - Address
    - int
    - uint8_t
    - int
    constantsTouched: []
    func_position:
      end: 2395
      start: 2385
    functionDepth: 4
    functionLinenumber: 2385
    functionLinenumberEnd: 2395
    functionName: CodeGenerator::opGather2
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - hasZero
    - getRegExp
    - XBYAK_THROW
    - CodeGenerator::checkGather2
    - getIndex
    - getIdx
    - CodeGenerator::opVex
    - getOpmaskIdx
    linkageType: ''
    returnType: void
    signature: void opGather2(const Xmm& x, const Address& addr, int type, uint8_t
      code, int mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2403,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2403,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2403,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2403,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:2403,1
    - Dst: isYMM
      Src: /src/mcl/src/xbyak/xbyak.h:2403,1
    - Dst: isZMM
      Src: /src/mcl/src/xbyak/xbyak.h:2403,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2403,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2405,1
    - Dst: isXMM
      Src: /src/mcl/src/xbyak/xbyak.h:2405,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2405,1
    - Dst: CodeGenerator::opVex
      Src: /src/mcl/src/xbyak/xbyak.h:2407,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 5
    argNames:
    - ' op'
    - ' x'
    - type
    - code
    - mode
    argTypes:
    - Operand
    - Xmm
    - int
    - uint8_t
    - bool
    constantsTouched: []
    func_position:
      end: 2408
      start: 2400
    functionDepth: 4
    functionLinenumber: 2400
    functionLinenumberEnd: 2408
    functionName: CodeGenerator::opVmov
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - CodeGenerator::opVex
    - XBYAK_THROW
    - isYMM
    - isZMM
    - isXMM
    linkageType: ''
    returnType: void
    signature: void opVmov(const Operand& op, const Xmm& x, int type, uint8_t code,
      bool mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hasZero
      Src: /src/mcl/src/xbyak/xbyak.h:2411,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2411,1
    - Dst: getRegExp
      Src: /src/mcl/src/xbyak/xbyak.h:2412,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2412,1
    - Dst: CodeGenerator::opVex
      Src: /src/mcl/src/xbyak/xbyak.h:2413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - ' addr'
    - ' x'
    - type
    - code
    - kind
    argTypes:
    - Address
    - Xmm
    - int
    - uint8_t
    - Operand::Kind
    constantsTouched: []
    func_position:
      end: 2414
      start: 2409
    functionDepth: 4
    functionLinenumber: 2409
    functionLinenumberEnd: 2414
    functionName: CodeGenerator::opGatherFetch
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - hasZero
    - getRegExp
    - XBYAK_THROW
    - CodeGenerator::opVex
    linkageType: ''
    returnType: void
    signature: void opGatherFetch(const Address& addr, const Xmm& x, int type, uint8_t
      code, Operand::Kind kind)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2422,1
    - Dst: CodeGenerator::opAVX_X_X_XM
      Src: /src/mcl/src/xbyak/xbyak.h:2426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - ' x1'
    - ' x2'
    - ' op'
    - type
    - code0
    - encoding
    argTypes:
    - Xmm
    - Xmm
    - Operand
    - int
    - int
    - PreferredEncoding
    constantsTouched: []
    func_position:
      end: 2427
      start: 2415
    functionDepth: 5
    functionLinenumber: 2415
    functionLinenumberEnd: 2427
    functionName: CodeGenerator::opVnni
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - CodeGenerator::opAVX_X_X_XM
    linkageType: ''
    returnType: void
    signature: void opVnni(const Xmm& x1, const Xmm& x2, const Operand& op, int type,
      int code0, PreferredEncoding encoding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2430,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2430,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:2430,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:2431,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2432,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2433,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2433,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2434,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ' a'
    - ' d'
    - code
    argTypes:
    - Reg
    - Reg
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2438
      start: 2428
    functionDepth: 0
    functionLinenumber: 2428
    functionLinenumberEnd: 2438
    functionName: CodeGenerator::opInOut
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - getBit
    - XBYAK_THROW
    - getIdx
    - db
    linkageType: ''
    returnType: void
    signature: void opInOut(const Reg& a, const Reg& d, uint8_t code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2441,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:2442,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2443,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2443,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2444,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2444,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2444,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2445,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2445,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - ' a'
    - code
    - v
    argTypes:
    - Reg
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2449
      start: 2439
    functionDepth: 0
    functionLinenumber: 2439
    functionLinenumberEnd: 2449
    functionName: CodeGenerator::opInOut
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - getBit
    - XBYAK_THROW
    - getIdx
    - db
    linkageType: ''
    returnType: void
    signature: void opInOut(const Reg& a, uint8_t code, uint8_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getRegExp
      Src: /src/mcl/src/xbyak/xbyak.h:2454,1
    - Dst: RegExp::getBase
      Src: /src/mcl/src/xbyak/xbyak.h:2455,1
    - Dst: RegExp::getIndex
      Src: /src/mcl/src/xbyak/xbyak.h:2455,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2455,1
    - Dst: CodeGenerator::opVex
      Src: /src/mcl/src/xbyak/xbyak.h:2456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ' t1'
    - ' addr'
    - type
    - code0
    argTypes:
    - Tmm
    - Address
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2457
      start: 2451
    functionDepth: 4
    functionLinenumber: 2451
    functionLinenumberEnd: 2457
    functionName: CodeGenerator::opAMX
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - RegExp::getBase
    - getRegExp
    - XBYAK_THROW
    - RegExp::getIndex
    - CodeGenerator::opVex
    linkageType: ''
    returnType: void
    signature: void opAMX(const Tmm& t1, const Address& addr, int type, int code0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2460
      start: 2460
    functionDepth: 0
    functionLinenumber: 2460
    functionLinenumberEnd: 2460
    functionName: CodeGenerator::getVersion
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int getVersion() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: defineSlabel
      Src: /src/mcl/src/xbyak/xbyak.h:2512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 2512
      start: 2512
    functionDepth: 0
    functionLinenumber: 2512
    functionLinenumberEnd: 2512
    functionName: CodeGenerator::L
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - defineSlabel
    linkageType: ''
    returnType: void
    signature: void L(const std::string& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: defineClabel
      Src: /src/mcl/src/xbyak/xbyak.h:2513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 2513
      start: 2513
    functionDepth: 0
    functionLinenumber: 2513
    functionLinenumberEnd: 2513
    functionName: CodeGenerator::L
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - defineClabel
    linkageType: ''
    returnType: void
    signature: void L(Label& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Label::Label
      Src: /src/mcl/src/xbyak/xbyak.h:2514,1
    - Dst: CodeGenerator::L
      Src: /src/mcl/src/xbyak/xbyak.h:2514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2514
      start: 2514
    functionDepth: 1
    functionLinenumber: 2514
    functionLinenumberEnd: 2514
    functionName: CodeGenerator::L
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - Label::Label
    - CodeGenerator::L
    linkageType: ''
    returnType: Label
    signature: Label L()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enterLocal
      Src: /src/mcl/src/xbyak/xbyak.h:2515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2515
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2515
    functionName: CodeGenerator::inLocalLabel
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - enterLocal
    linkageType: ''
    returnType: void
    signature: void inLocalLabel()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: leaveLocal
      Src: /src/mcl/src/xbyak/xbyak.h:2516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2516
    functionDepth: 0
    functionLinenumber: 2516
    functionLinenumberEnd: 2516
    functionName: CodeGenerator::outLocalLabel
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - leaveLocal
    linkageType: ''
    returnType: void
    signature: void outLocalLabel()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/mcl/src/xbyak/xbyak.h:2523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' dst'
    - ' src'
    argTypes:
    - Label
    - Label
    constantsTouched: []
    func_position:
      end: 2523
      start: 2523
    functionDepth: 0
    functionLinenumber: 2523
    functionLinenumberEnd: 2523
    functionName: CodeGenerator::assignL
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - assign
    linkageType: ''
    returnType: void
    signature: void assignL(Label& dst, const Label& src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::putL_inner
      Src: /src/mcl/src/xbyak/xbyak.h:2528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 2528
      start: 2528
    functionDepth: 3
    functionLinenumber: 2528
    functionLinenumberEnd: 2528
    functionName: CodeGenerator::putL
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeGenerator::putL_inner
    linkageType: ''
    returnType: void
    signature: void putL(std::string label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::putL_inner
      Src: /src/mcl/src/xbyak/xbyak.h:2529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 2529
      start: 2529
    functionDepth: 3
    functionLinenumber: 2529
    functionLinenumberEnd: 2529
    functionName: CodeGenerator::putL
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeGenerator::putL_inner
    linkageType: ''
    returnType: void
    signature: void putL(const Label& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - isNear
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 2532
      start: 2532
    functionDepth: 0
    functionLinenumber: 2532
    functionLinenumberEnd: 2532
    functionName: CodeGenerator::setDefaultJmpNEAR
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDefaultJmpNEAR(bool isNear)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::opJmpOp
      Src: /src/mcl/src/xbyak/xbyak.h:2533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 2533
      start: 2533
    functionDepth: 2
    functionLinenumber: 2533
    functionLinenumberEnd: 2533
    functionName: CodeGenerator::jmp
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeGenerator::opJmpOp
    linkageType: ''
    returnType: void
    signature: void jmp(const Operand& op, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::opJmp
      Src: /src/mcl/src/xbyak/xbyak.h:2534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 2534
      start: 2534
    functionDepth: 3
    functionLinenumber: 2534
    functionLinenumberEnd: 2534
    functionName: CodeGenerator::jmp
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeGenerator::opJmp
    linkageType: ''
    returnType: void
    signature: void jmp(std::string label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::jmp
      Src: /src/mcl/src/xbyak/xbyak.h:2535,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak.h:2535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2535
      start: 2535
    functionDepth: 1
    functionLinenumber: 2535
    functionLinenumberEnd: 2535
    functionName: CodeGenerator::jmp
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - CodeGenerator::jmp
    - std::string
    linkageType: ''
    returnType: void
    signature: void jmp(const char *label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::opJmp
      Src: /src/mcl/src/xbyak/xbyak.h:2536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 2536
      start: 2536
    functionDepth: 3
    functionLinenumber: 2536
    functionLinenumberEnd: 2536
    functionName: CodeGenerator::jmp
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - CodeGenerator::opJmp
    linkageType: ''
    returnType: void
    signature: void jmp(const Label& label, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak.h:2537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2537
      start: 2537
    functionDepth: 3
    functionLinenumber: 2537
    functionLinenumberEnd: 2537
    functionName: CodeGenerator::jmp
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - CodeGenerator::opJmpAbs
    linkageType: ''
    returnType: void
    signature: void jmp(const void *addr, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::opJmpOp
      Src: /src/mcl/src/xbyak/xbyak.h:2539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 2539
      start: 2539
    functionDepth: 2
    functionLinenumber: 2539
    functionLinenumberEnd: 2539
    functionName: CodeGenerator::call
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeGenerator::opJmpOp
    linkageType: ''
    returnType: void
    signature: void call(const Operand& op, LabelType type = T_AUTO)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::opJmp
      Src: /src/mcl/src/xbyak/xbyak.h:2541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 2541
      start: 2541
    functionDepth: 3
    functionLinenumber: 2541
    functionLinenumberEnd: 2541
    functionName: CodeGenerator::call
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeGenerator::opJmp
    linkageType: ''
    returnType: void
    signature: void call(std::string label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::call
      Src: /src/mcl/src/xbyak/xbyak.h:2542,1
    - Dst: std::string
      Src: /src/mcl/src/xbyak/xbyak.h:2542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2542
      start: 2542
    functionDepth: 0
    functionLinenumber: 2542
    functionLinenumberEnd: 2542
    functionName: CodeGenerator::call
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - std::string
    - CodeGenerator::call
    linkageType: ''
    returnType: void
    signature: void call(const char *label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::opJmp
      Src: /src/mcl/src/xbyak/xbyak.h:2543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - Label
    constantsTouched: []
    func_position:
      end: 2543
      start: 2543
    functionDepth: 3
    functionLinenumber: 2543
    functionLinenumberEnd: 2543
    functionName: CodeGenerator::call
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - CodeGenerator::opJmp
    linkageType: ''
    returnType: void
    signature: void call(const Label& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::call
      Src: /src/mcl/src/xbyak/xbyak.h:2547,1
    - Dst: reinterpret_cast<const void*>
      Src: /src/mcl/src/xbyak/xbyak.h:2547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2547
      start: 2547
    functionDepth: 0
    functionLinenumber: 2547
    functionLinenumberEnd: 2547
    functionName: CodeGenerator::call
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const void*>
    - CodeGenerator::call
    linkageType: ''
    returnType: void
    signature: void call(Ret(*func)(Params...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::opJmpAbs
      Src: /src/mcl/src/xbyak/xbyak.h:2549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2549
      start: 2549
    functionDepth: 3
    functionLinenumber: 2549
    functionLinenumberEnd: 2549
    functionName: CodeGenerator::call
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 2
    functionsReached:
    - CodeGenerator::opJmpAbs
    linkageType: ''
    returnType: void
    signature: void call(const void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::opModRM
      Src: /src/mcl/src/xbyak/xbyak.h:2553,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2553,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak.h:2553,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak.h:2553,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' reg'
    argTypes:
    - Operand
    - Reg
    constantsTouched: []
    func_position:
      end: 2554
      start: 2551
    functionDepth: 4
    functionLinenumber: 2551
    functionLinenumberEnd: 2554
    functionName: CodeGenerator::test
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - CodeGenerator::opModRM
    - getKind
    linkageType: ''
    returnType: void
    signature: void test(const Operand& op, const Reg& reg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::verifyMemHasSize
      Src: /src/mcl/src/xbyak/xbyak.h:2557,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2559,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2559,1
    - Dst: CodeGenerator::rex
      Src: /src/mcl/src/xbyak/xbyak.h:2560,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2561,1
    - Dst: isBit
      Src: /src/mcl/src/xbyak/xbyak.h:2561,1
    - Dst: CodeGenerator::opR_ModM
      Src: /src/mcl/src/xbyak/xbyak.h:2563,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2566
      start: 2555
    functionDepth: 4
    functionLinenumber: 2555
    functionLinenumberEnd: 2566
    functionName: CodeGenerator::test
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isBit
    - CodeGenerator::rex
    - CodeGenerator::verifyMemHasSize
    - db
    - CodeGenerator::opR_ModM
    - getIdx
    - isREG
    linkageType: ''
    returnType: void
    signature: void test(const Operand& op, uint32_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::opModRM
      Src: /src/mcl/src/xbyak/xbyak.h:2569,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2569,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak.h:2569,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak.h:2569,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' reg'
    - ' op'
    argTypes:
    - Reg
    - Operand
    constantsTouched: []
    func_position:
      end: 2570
      start: 2567
    functionDepth: 4
    functionLinenumber: 2567
    functionLinenumberEnd: 2570
    functionName: CodeGenerator::imul
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - isREG
    - CodeGenerator::opModRM
    - getKind
    linkageType: ''
    returnType: void
    signature: void imul(const Reg& reg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::opModRM
      Src: /src/mcl/src/xbyak/xbyak.h:2575,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2575,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak.h:2575,1
    - Dst: getKind
      Src: /src/mcl/src/xbyak/xbyak.h:2575,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2575,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ' reg'
    - ' op'
    - imm
    argTypes:
    - Reg
    - Operand
    - int
    constantsTouched: []
    func_position:
      end: 2577
      start: 2571
    functionDepth: 4
    functionLinenumber: 2571
    functionLinenumberEnd: 2577
    functionName: CodeGenerator::imul
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - db
    - isREG
    - CodeGenerator::opModRM
    - getKind
    linkageType: ''
    returnType: void
    signature: void imul(const Reg& reg, const Operand& op, int imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::opPushPop
      Src: /src/mcl/src/xbyak/xbyak.h:2578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 2578
      start: 2578
    functionDepth: 4
    functionLinenumber: 2578
    functionLinenumberEnd: 2578
    functionName: CodeGenerator::push
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeGenerator::opPushPop
    linkageType: ''
    returnType: void
    signature: void push(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::opPushPop
      Src: /src/mcl/src/xbyak/xbyak.h:2579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operand
    constantsTouched: []
    func_position:
      end: 2579
      start: 2579
    functionDepth: 4
    functionLinenumber: 2579
    functionLinenumberEnd: 2579
    functionName: CodeGenerator::pop
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeGenerator::opPushPop
    linkageType: ''
    returnType: void
    signature: void pop(const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2583,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2583,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2585,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2585,1
    - Dst: dw
      Src: /src/mcl/src/xbyak/xbyak.h:2585,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2587,1
    - Dst: dd
      Src: /src/mcl/src/xbyak/xbyak.h:2587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' af'
    - imm
    argTypes:
    - AddressFrame
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2589
      start: 2580
    functionDepth: 0
    functionLinenumber: 2580
    functionLinenumberEnd: 2589
    functionName: CodeGenerator::push
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - db
    - dd
    - dw
    linkageType: ''
    returnType: void
    signature: void push(const AddressFrame& af, uint32_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xbyak::inner::IsInDisp8
      Src: /src/mcl/src/xbyak/xbyak.h:2593,1
    - Dst: CodeGenerator::push
      Src: /src/mcl/src/xbyak/xbyak.h:2594,1
    - Dst: CodeGenerator::push
      Src: /src/mcl/src/xbyak/xbyak.h:2596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - imm
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2598
      start: 2591
    functionDepth: 1
    functionLinenumber: 2591
    functionLinenumberEnd: 2598
    functionName: CodeGenerator::push
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - CodeGenerator::push
    - Xbyak::inner::IsInDisp8
    linkageType: ''
    returnType: void
    signature: void push(uint32_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2604,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2604,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2604,1
    - Dst: getReg
      Src: /src/mcl/src/xbyak/xbyak.h:2605,1
    - Dst: getAddress
      Src: /src/mcl/src/xbyak/xbyak.h:2606,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2609,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2609,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2609,1
    - Dst: getReg
      Src: /src/mcl/src/xbyak/xbyak.h:2610,1
    - Dst: getAddress
      Src: /src/mcl/src/xbyak/xbyak.h:2611,1
    - Dst: Address*::is64bitDisp
      Src: /src/mcl/src/xbyak/xbyak.h:2615,1
    - Dst: CodeGenerator::rex
      Src: /src/mcl/src/xbyak/xbyak.h:2617,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2618,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2618,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2618,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2618,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2619,1
    - Dst: Address*::getDisp
      Src: /src/mcl/src/xbyak/xbyak.h:2619,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2621,1
    - Dst: Address*::isOnlyDisp
      Src: /src/mcl/src/xbyak/xbyak.h:2625,1
    - Dst: CodeGenerator::rex
      Src: /src/mcl/src/xbyak/xbyak.h:2626,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2627,1
    - Dst: Reg*::isBit
      Src: /src/mcl/src/xbyak/xbyak.h:2627,1
    - Dst: dd
      Src: /src/mcl/src/xbyak/xbyak.h:2628,1
    - Dst: static_cast<uint32_t>
      Src: /src/mcl/src/xbyak/xbyak.h:2628,1
    - Dst: Address*::getDisp
      Src: /src/mcl/src/xbyak/xbyak.h:2628,1
    - Dst: CodeGenerator::opRM_RM
      Src: /src/mcl/src/xbyak/xbyak.h:2632,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - ' reg1'
    - ' reg2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 2634
      start: 2599
    functionDepth: 5
    functionLinenumber: 2599
    functionLinenumberEnd: 2634
    functionName: CodeGenerator::mov
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - dd
    - getAddress
    - Reg*::isBit
    - getReg
    - static_cast<uint32_t>
    - CodeGenerator::rex
    - Address*::is64bitDisp
    - db
    - XBYAK_THROW
    - Address*::isOnlyDisp
    - Address*::getDisp
    - getIdx
    - isREG
    - CodeGenerator::opRM_RM
    linkageType: ''
    returnType: void
    signature: void mov(const Operand& reg1, const Operand& reg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2637,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2639,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2640,1
    - Dst: CodeGenerator::verifyMemHasSize
      Src: /src/mcl/src/xbyak/xbyak.h:2641,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2645,1
    - Dst: Xbyak::inner::IsInInt32
      Src: /src/mcl/src/xbyak/xbyak.h:2647,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2647,1
    - Dst: CodeGenerator::opModM
      Src: /src/mcl/src/xbyak/xbyak.h:2650,1
    - Dst: getAddress
      Src: /src/mcl/src/xbyak/xbyak.h:2650,1
    - Dst: Reg
      Src: /src/mcl/src/xbyak/xbyak.h:2650,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:2650,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2651,1
    - Dst: static_cast<uint32_t>
      Src: /src/mcl/src/xbyak/xbyak.h:2651,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2653,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ' op'
    - imm
    argTypes:
    - Operand
    - uint64_t
    constantsTouched: []
    func_position:
      end: 2655
      start: 2635
    functionDepth: 3
    functionLinenumber: 2635
    functionLinenumberEnd: 2655
    functionName: CodeGenerator::mov
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - CodeGenerator::opModM
    - getAddress
    - getBit
    - static_cast<uint32_t>
    - CodeGenerator::verifyMemHasSize
    - XBYAK_THROW
    - db
    - Reg
    - isREG
    - Xbyak::inner::IsInInt32
    linkageType: ''
    returnType: void
    signature: void mov(const Operand& op, uint64_t imm)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2661
      start: 2661
    functionDepth: 0
    functionLinenumber: 2661
    functionLinenumberEnd: 2661
    functionName: CodeGenerator::mov
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mov(const T1&, const T2 *)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::mov_imm
      Src: /src/mcl/src/xbyak/xbyak.h:2664,1
    - Dst: CodeGenerator::putL
      Src: /src/mcl/src/xbyak/xbyak.h:2665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' reg'
    - ' label'
    argTypes:
    - NativeReg
    - Label
    constantsTouched: []
    func_position:
      end: 2666
      start: 2662
    functionDepth: 4
    functionLinenumber: 2662
    functionLinenumberEnd: 2666
    functionName: CodeGenerator::mov
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeGenerator::putL
    - CodeGenerator::mov_imm
    linkageType: ''
    returnType: void
    signature: void mov(const NativeReg& reg, const Label& label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Operand*::isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2670,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2670,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2670,1
    - Dst: Operand*::isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2673,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2673,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2674,1
    - Dst: Operand*::isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2674,1
    - Dst: Operand*::getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2674,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2676,1
    - Dst: Operand*::isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2676,1
    - Dst: CodeGenerator::rex
      Src: /src/mcl/src/xbyak/xbyak.h:2679,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2679,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2679,1
    - Dst: CodeGenerator::opModRM
      Src: /src/mcl/src/xbyak/xbyak.h:2682,1
    - Dst: Operand*::isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2682,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2682,1
    - Dst: Operand*::getBit
      Src: /src/mcl/src/xbyak/xbyak.h:2682,1
    - Dst: getBit
      Src: /src/mcl/src/xbyak/xbyak.h:2682,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2682,1
    - Dst: Operand*::isBit
      Src: /src/mcl/src/xbyak/xbyak.h:2682,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - ' op1'
    - ' op2'
    argTypes:
    - Operand
    - Operand
    constantsTouched: []
    func_position:
      end: 2683
      start: 2667
    functionDepth: 4
    functionLinenumber: 2667
    functionLinenumberEnd: 2683
    functionName: CodeGenerator::xchg
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - Operand*::isREG
    - getBit
    - Operand*::getBit
    - CodeGenerator::rex
    - Operand*::getIdx
    - XBYAK_THROW
    - db
    - Operand*::isBit
    - getIdx
    - isREG
    - CodeGenerator::opModRM
    - Operand*::isMEM
    linkageType: ''
    returnType: void
    signature: void xchg(const Operand& op1, const Operand& op2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2688,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2689,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2690,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2691,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2692,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2693,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2693,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2694,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2694,1
    - Dst: assert
      Src: /src/mcl/src/xbyak/xbyak.h:2696,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - ' seg'
    argTypes:
    - Segment
    constantsTouched: []
    func_position:
      end: 2698
      start: 2686
    functionDepth: 0
    functionLinenumber: 2686
    functionLinenumberEnd: 2698
    functionName: CodeGenerator::push
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - getIdx
    - assert
    - db
    linkageType: ''
    returnType: void
    signature: void push(const Segment& seg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2701,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2702,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2703,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2704,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2705,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2706,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2706,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2707,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2707,1
    - Dst: assert
      Src: /src/mcl/src/xbyak/xbyak.h:2709,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ' seg'
    argTypes:
    - Segment
    constantsTouched: []
    func_position:
      end: 2711
      start: 2699
    functionDepth: 0
    functionLinenumber: 2699
    functionLinenumberEnd: 2711
    functionName: CodeGenerator::pop
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - XBYAK_THROW
    - getIdx
    - assert
    - db
    linkageType: ''
    returnType: void
    signature: void pop(const Segment& seg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2714,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2715,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2716,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2717,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2718,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2719,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2720,1
    - Dst: assert
      Src: /src/mcl/src/xbyak/xbyak.h:2722,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - ' seg'
    argTypes:
    - Segment
    constantsTouched: []
    func_position:
      end: 2724
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2724
    functionName: CodeGenerator::putSeg
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - getIdx
    - assert
    - db
    linkageType: ''
    returnType: void
    signature: void putSeg(const Segment& seg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::opModRM
      Src: /src/mcl/src/xbyak/xbyak.h:2727,1
    - Dst: Reg8
      Src: /src/mcl/src/xbyak/xbyak.h:2727,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2727,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2727,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' seg'
    argTypes:
    - Operand
    - Segment
    constantsTouched: []
    func_position:
      end: 2728
      start: 2725
    functionDepth: 4
    functionLinenumber: 2725
    functionLinenumberEnd: 2728
    functionName: CodeGenerator::mov
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - Reg8
    - getIdx
    - isREG
    - CodeGenerator::opModRM
    linkageType: ''
    returnType: void
    signature: void mov(const Operand& op, const Segment& seg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::opModRM
      Src: /src/mcl/src/xbyak/xbyak.h:2731,1
    - Dst: Reg8
      Src: /src/mcl/src/xbyak/xbyak.h:2731,1
    - Dst: getIdx
      Src: /src/mcl/src/xbyak/xbyak.h:2731,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2731,1
    - Dst: static_cast<const Operand&>
      Src: /src/mcl/src/xbyak/xbyak.h:2731,1
    - Dst: getReg
      Src: /src/mcl/src/xbyak/xbyak.h:2731,1
    - Dst: isREG
      Src: /src/mcl/src/xbyak/xbyak.h:2731,1
    - Dst: isMEM
      Src: /src/mcl/src/xbyak/xbyak.h:2731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' seg'
    - ' op'
    argTypes:
    - Segment
    - Operand
    constantsTouched: []
    func_position:
      end: 2732
      start: 2729
    functionDepth: 4
    functionLinenumber: 2729
    functionLinenumberEnd: 2732
    functionName: CodeGenerator::mov
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isMEM
    - Reg8
    - getReg
    - static_cast<const Operand&>
    - getIdx
    - isREG
    - CodeGenerator::opModRM
    linkageType: ''
    returnType: void
    signature: void mov(const Segment& seg, const Operand& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/mcl/src/xbyak/xbyak.h:2791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2737
    functionDepth: 0
    functionLinenumber: 2737
    functionLinenumberEnd: 2792
    functionName: CodeGenerator::CodeGenerator
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - set
    linkageType: ''
    returnType: void
    signature: void CodeGenerator(size_t maxSize = DEFAULT_MAX_CODE_SIZE, void *userPtr
      = 0, Allocator *allocator = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resetSize
      Src: /src/mcl/src/xbyak/xbyak.h:2795,1
    - Dst: CodeGenerator::reset
      Src: /src/mcl/src/xbyak/xbyak.h:2796,1
    - Dst: set
      Src: /src/mcl/src/xbyak/xbyak.h:2797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2798
      start: 2793
    functionDepth: 1
    functionLinenumber: 2793
    functionLinenumberEnd: 2798
    functionName: CodeGenerator::reset
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 1
    functionsReached:
    - set
    - CodeGenerator::reset
    - resetSize
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hasUndefSlabel
      Src: /src/mcl/src/xbyak/xbyak.h:2799,1
    - Dst: hasUndefClabel
      Src: /src/mcl/src/xbyak/xbyak.h:2799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2799
      start: 2799
    functionDepth: 0
    functionLinenumber: 2799
    functionLinenumberEnd: 2799
    functionName: CodeGenerator::hasUndefinedLabel
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - hasUndefSlabel
    - hasUndefClabel
    linkageType: ''
    returnType: bool
    signature: bool hasUndefinedLabel() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::hasUndefinedLabel
      Src: /src/mcl/src/xbyak/xbyak.h:2806,1
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2806,1
    - Dst: isAutoGrow
      Src: /src/mcl/src/xbyak/xbyak.h:2807,1
    - Dst: calcJmpAddress
      Src: /src/mcl/src/xbyak/xbyak.h:2808,1
    - Dst: useProtect
      Src: /src/mcl/src/xbyak/xbyak.h:2809,1
    - Dst: setProtectMode
      Src: /src/mcl/src/xbyak/xbyak.h:2809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2804
    functionDepth: 1
    functionLinenumber: 2804
    functionLinenumberEnd: 2811
    functionName: CodeGenerator::ready
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - calcJmpAddress
    - setProtectMode
    - XBYAK_THROW
    - useProtect
    - isAutoGrow
    - CodeGenerator::hasUndefinedLabel
    linkageType: ''
    returnType: void
    signature: void ready(ProtectMode mode = PROTECT_RWE)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeGenerator::ready
      Src: /src/mcl/src/xbyak/xbyak.h:2813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2813
      start: 2813
    functionDepth: 2
    functionLinenumber: 2813
    functionLinenumberEnd: 2813
    functionName: CodeGenerator::readyRE
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeGenerator::ready
    linkageType: ''
    returnType: void
    signature: void readyRE()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CodeArray::dump
      Src: /src/mcl/src/xbyak/xbyak.h:2817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2815
    functionDepth: 0
    functionLinenumber: 2815
    functionLinenumberEnd: 2819
    functionName: CodeGenerator::dump
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - CodeArray::dump
    linkageType: ''
    returnType: void
    signature: void dump(bool doClear = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2833,1
    - Dst: db
      Src: /src/mcl/src/xbyak/xbyak.h:2858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2861
      start: 2829
    functionDepth: 0
    functionLinenumber: 2829
    functionLinenumberEnd: 2861
    functionName: CodeGenerator::nop
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - db
    linkageType: ''
    returnType: void
    signature: void nop(size_t size = 1, bool useMultiByteNop = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XBYAK_THROW
      Src: /src/mcl/src/xbyak/xbyak.h:2871,1
    - Dst: isAutoGrow
      Src: /src/mcl/src/xbyak/xbyak.h:2872,1
    - Dst: fprintf
      Src: /src/mcl/src/xbyak/xbyak.h:2872,1
    - Dst: CodeGenerator::nop
      Src: /src/mcl/src/xbyak/xbyak.h:2875,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2877
      start: 2868
    functionDepth: 1
    functionLinenumber: 2868
    functionLinenumberEnd: 2877
    functionName: CodeGenerator::align
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - isAutoGrow
    - XBYAK_THROW
    - fprintf
    - CodeGenerator::nop
    linkageType: ''
    returnType: void
    signature: void align(size_t x = 16, bool useMultiByteNop = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/src/xbyak/xbyak.h:2884,1
    - Dst: CodeGenerator::mov_imm
      Src: /src/mcl/src/xbyak/xbyak.h:2885,1
    - Dst: CodeGenerator::putL
      Src: /src/mcl/src/xbyak/xbyak.h:2886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' reg'
    - label
    argTypes:
    - NativeReg
    - char*
    constantsTouched: []
    func_position:
      end: 2887
      start: 2882
    functionDepth: 4
    functionLinenumber: 2882
    functionLinenumberEnd: 2887
    functionName: CodeGenerator::mov
    functionSourceFile: /src/mcl/src/xbyak/xbyak.h
    functionUses: 0
    functionsReached:
    - assert
    - CodeGenerator::putL
    - CodeGenerator::mov_imm
    linkageType: ''
    returnType: void
    signature: void CodeGenerator::mov(const NativeReg& reg, const char *label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/sample/bench.cpp:14,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/bench.cpp:19,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/bench.cpp:20,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/bench.cpp:21,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/bench.cpp:22,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/bench.cpp:23,1
    - Dst: printf
      Src: /src/mcl/sample/bench.cpp:24,1
    - Dst: mcl::FpT::getBitSize
      Src: /src/mcl/sample/bench.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - pStr
    - xStr
    - yStr
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 25
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 25
    functionName: benchFpSub
    functionSourceFile: /src/mcl/sample/bench.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_x509_uninit
    - mcl::FpT::getBitSize
    - printf
    - CYBOZU_BENCH_T
    linkageType: ''
    returnType: void
    signature: void benchFpSub(const char *pStr, const char *xStr, const char *yStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/sample/bench.cpp:64,1
    - Dst: benchFpSub
      Src: /src/mcl/sample/bench.cpp:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - bitSize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 68
    functionName: benchFp
    functionSourceFile: /src/mcl/sample/bench.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - benchFpSub
    linkageType: ''
    returnType: void
    signature: void benchFp(size_t bitSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::initCurve<Ec>
      Src: /src/mcl/sample/bench.cpp:73,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/sample/bench.cpp:74,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/bench.cpp:77,1
    - Dst: Ec::normalize
      Src: /src/mcl/sample/bench.cpp:78,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/bench.cpp:79,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/bench.cpp:80,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/bench.cpp:81,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/bench.cpp:83,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/bench.cpp:84,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/sample/bench.cpp:85,1
    - Dst: Zn::setRand
      Src: /src/mcl/sample/bench.cpp:86,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/bench.cpp:87,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/bench.cpp:88,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/bench.cpp:89,1
    - Dst: printf
      Src: /src/mcl/sample/bench.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - ' para'
    - ecMode
    argTypes:
    - mcl::EcParam
    - mcl::ec::Mode
    constantsTouched: []
    func_position:
      end: 92
      start: 70
    functionDepth: 4
    functionLinenumber: 70
    functionLinenumberEnd: 92
    functionName: benchEcSub
    functionSourceFile: /src/mcl/sample/bench.cpp
    functionUses: 0
    functionsReached:
    - printf
    - mcl::initCurve<Ec>
    - CYBOZU_BENCH_T
    - fiat_bls12_381_fp_add
    - cybozu::XorShift::XorShift
    - Ec::normalize
    - Zn::setRand
    linkageType: ''
    returnType: void
    signature: void benchEcSub(const mcl::EcParam& para, mcl::ec::Mode ecMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/sample/bench.cpp:113,1
    - Dst: benchEcSub
      Src: /src/mcl/sample/bench.cpp:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - bitSize
    - ecMode
    argTypes:
    - size_t
    - mcl::ec::Mode
    constantsTouched: []
    func_position:
      end: 117
      start: 93
    functionDepth: 5
    functionLinenumber: 93
    functionLinenumberEnd: 117
    functionName: benchEc
    functionSourceFile: /src/mcl/sample/bench.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - benchEcSub
    linkageType: ''
    returnType: void
    signature: void benchEc(size_t bitSize, mcl::ec::Mode ecMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/sample/bench.cpp:121,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/sample/bench.cpp:131,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/sample/bench.cpp:132,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/sample/bench.cpp:136,1
    - Dst: Fp::getUnit
      Src: /src/mcl/sample/bench.cpp:136,1
    - Dst: Fp::getUnitSize
      Src: /src/mcl/sample/bench.cpp:136,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/sample/bench.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 140
    functionName: benchToStr16
    functionSourceFile: /src/mcl/sample/bench.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - Fp::getUnit
    - puts
    - CYBOZU_BENCH
    - Fp::getUnitSize
    - Botan_Tests::test_x509_uninit
    linkageType: ''
    returnType: void
    signature: void benchToStr16()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/sample/bench.cpp:144,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/sample/bench.cpp:154,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/sample/bench.cpp:155,1
    - Dst: Fp::Fp
      Src: /src/mcl/sample/bench.cpp:157,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/sample/bench.cpp:160,1
    - Dst: std::string::c_str
      Src: /src/mcl/sample/bench.cpp:160,1
    - Dst: std::string::size
      Src: /src/mcl/sample/bench.cpp:160,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/sample/bench.cpp:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 165
    functionName: benchFromStr16
    functionSourceFile: /src/mcl/sample/bench.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - std::string::size
    - puts
    - CYBOZU_BENCH
    - Botan_Tests::test_x509_uninit
    - std::string::c_str
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void benchFromStr16()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Option::Option
      Src: /src/mcl/sample/bench.cpp:176,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/sample/bench.cpp:177,1
    - Dst: cybozu::Option::appendBoolOpt
      Src: /src/mcl/sample/bench.cpp:178,1
    - Dst: cybozu::Option::appendBoolOpt
      Src: /src/mcl/sample/bench.cpp:179,1
    - Dst: cybozu::Option::appendBoolOpt
      Src: /src/mcl/sample/bench.cpp:180,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/sample/bench.cpp:181,1
    - Dst: cybozu::Option::appendHelp
      Src: /src/mcl/sample/bench.cpp:182,1
    - Dst: cybozu::Option::parse
      Src: /src/mcl/sample/bench.cpp:183,1
    - Dst: cybozu::Option::usage
      Src: /src/mcl/sample/bench.cpp:184,1
    - Dst: printf
      Src: /src/mcl/sample/bench.cpp:194,1
    - Dst: std::string::c_str
      Src: /src/mcl/sample/bench.cpp:194,1
    - Dst: cybozu::Option::usage
      Src: /src/mcl/sample/bench.cpp:195,1
    - Dst: benchToStr16
      Src: /src/mcl/sample/bench.cpp:199,1
    - Dst: benchFromStr16
      Src: /src/mcl/sample/bench.cpp:200,1
    - Dst: benchFp
      Src: /src/mcl/sample/bench.cpp:202,1
    - Dst: printf
      Src: /src/mcl/sample/bench.cpp:204,1
    - Dst: std::string::c_str
      Src: /src/mcl/sample/bench.cpp:204,1
    - Dst: benchEc
      Src: /src/mcl/sample/bench.cpp:205,1
    - Dst: printf
      Src: /src/mcl/sample/bench.cpp:209,1
    - Dst: what
      Src: /src/mcl/sample/bench.cpp:209,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 210
      start: 167
    functionDepth: 6
    functionLinenumber: 167
    functionLinenumberEnd: 210
    functionName: main
    functionSourceFile: /src/mcl/sample/bench.cpp
    functionUses: 97
    functionsReached:
    - cybozu::Option::appendHelp
    - cybozu::Option::Option
    - printf
    - benchEc
    - cybozu::Option::usage
    - what
    - benchFp
    - benchFromStr16
    - cybozu::Option::parse
    - std::string::c_str
    - cybozu::Option::appendBoolOpt
    - cybozu::Option::appendOpt
    - benchToStr16
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/sample/mt_test.cpp:14,1
    - Dst: G1::G1
      Src: /src/mcl/sample/mt_test.cpp:16,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/sample/mt_test.cpp:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' P'
    - x
    - y
    - n
    argTypes:
    - G1
    - G1*
    - Fr*
    - size_t
    constantsTouched: []
    func_position:
      end: 20
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 20
    functionName: mulVec_naive
    functionSourceFile: /src/mcl/sample/mt_test.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mulVec_naive(G1& P, const G1 *x, const Fr *y, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Option::Option
      Src: /src/mcl/sample/mt_test.cpp:25,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/sample/mt_test.cpp:33,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/sample/mt_test.cpp:34,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/sample/mt_test.cpp:35,1
    - Dst: cybozu::Option::appendBoolOpt
      Src: /src/mcl/sample/mt_test.cpp:36,1
    - Dst: cybozu::Option::appendBoolOpt
      Src: /src/mcl/sample/mt_test.cpp:37,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/sample/mt_test.cpp:38,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/sample/mt_test.cpp:39,1
    - Dst: cybozu::Option::appendHelp
      Src: /src/mcl/sample/mt_test.cpp:40,1
    - Dst: cybozu::Option::parse
      Src: /src/mcl/sample/mt_test.cpp:41,1
    - Dst: cybozu::Option::usage
      Src: /src/mcl/sample/mt_test.cpp:42,1
    - Dst: printf
      Src: /src/mcl/sample/mt_test.cpp:46,1
    - Dst: initPairing
      Src: /src/mcl/sample/mt_test.cpp:49,1
    - Dst: initPairing
      Src: /src/mcl/sample/mt_test.cpp:52,1
    - Dst: initPairing
      Src: /src/mcl/sample/mt_test.cpp:55,1
    - Dst: initPairing
      Src: /src/mcl/sample/mt_test.cpp:58,1
    - Dst: printf
      Src: /src/mcl/sample/mt_test.cpp:61,1
    - Dst: std::string::c_str
      Src: /src/mcl/sample/mt_test.cpp:61,1
    - Dst: printf
      Src: /src/mcl/sample/mt_test.cpp:64,1
    - Dst: std::string::c_str
      Src: /src/mcl/sample/mt_test.cpp:64,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/sample/mt_test.cpp:65,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/sample/mt_test.cpp:69,1
    - Dst: hashAndMapToG2
      Src: /src/mcl/sample/mt_test.cpp:70,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/sample/mt_test.cpp:72,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/sample/mt_test.cpp:73,1
    - Dst: setByCSPRNG
      Src: /src/mcl/sample/mt_test.cpp:76,1
    - Dst: G1::G1
      Src: /src/mcl/sample/mt_test.cpp:78,1
    - Dst: printf
      Src: /src/mcl/sample/mt_test.cpp:83,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/sample/mt_test.cpp:84,1
    - Dst: std::vector::data
      Src: /src/mcl/sample/mt_test.cpp:84,1
    - Dst: std::vector::data
      Src: /src/mcl/sample/mt_test.cpp:84,1
    - Dst: fflush
      Src: /src/mcl/sample/mt_test.cpp:85,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/sample/mt_test.cpp:90,1
    - Dst: std::vector::data
      Src: /src/mcl/sample/mt_test.cpp:90,1
    - Dst: std::vector::data
      Src: /src/mcl/sample/mt_test.cpp:90,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/sample/mt_test.cpp:92,1
    - Dst: std::vector::data
      Src: /src/mcl/sample/mt_test.cpp:92,1
    - Dst: std::vector::data
      Src: /src/mcl/sample/mt_test.cpp:92,1
    - Dst: puts
      Src: /src/mcl/sample/mt_test.cpp:93,1
    - Dst: clear
      Src: /src/mcl/sample/mt_test.cpp:96,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/sample/mt_test.cpp:97,1
    - Dst: std::vector::data
      Src: /src/mcl/sample/mt_test.cpp:97,1
    - Dst: std::vector::data
      Src: /src/mcl/sample/mt_test.cpp:97,1
    - Dst: puts
      Src: /src/mcl/sample/mt_test.cpp:98,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/sample/mt_test.cpp:99,1
    - Dst: std::vector::data
      Src: /src/mcl/sample/mt_test.cpp:99,1
    - Dst: std::vector::data
      Src: /src/mcl/sample/mt_test.cpp:99,1
    - Dst: G2::G2
      Src: /src/mcl/sample/mt_test.cpp:100,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/sample/mt_test.cpp:101,1
    - Dst: std::vector::data
      Src: /src/mcl/sample/mt_test.cpp:101,1
    - Dst: std::vector::data
      Src: /src/mcl/sample/mt_test.cpp:101,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/sample/mt_test.cpp:102,1
    - Dst: std::vector::data
      Src: /src/mcl/sample/mt_test.cpp:102,1
    - Dst: std::vector::data
      Src: /src/mcl/sample/mt_test.cpp:102,1
    - Dst: puts
      Src: /src/mcl/sample/mt_test.cpp:103,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/sample/mt_test.cpp:105,1
    - Dst: std::vector::data
      Src: /src/mcl/sample/mt_test.cpp:105,1
    - Dst: std::vector::data
      Src: /src/mcl/sample/mt_test.cpp:105,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/sample/mt_test.cpp:106,1
    - Dst: std::vector::data
      Src: /src/mcl/sample/mt_test.cpp:106,1
    - Dst: std::vector::data
      Src: /src/mcl/sample/mt_test.cpp:106,1
    - Dst: puts
      Src: /src/mcl/sample/mt_test.cpp:107,1
    - Dst: printf
      Src: /src/mcl/sample/mt_test.cpp:109,1
    - Dst: what
      Src: /src/mcl/sample/mt_test.cpp:109,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 73
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 111
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 111
    functionName: main
    functionSourceFile: /src/mcl/sample/mt_test.cpp
    functionUses: 97
    functionsReached:
    - G1::G1
    - cybozu::Option::Option
    - printf
    - cybozu::Option::usage
    - hashAndMapToG2
    - clear
    - initPairing
    - std::string::c_str
    - fflush
    - hashAndMapToG1
    - setByCSPRNG
    - what
    - cybozu::Option::parse
    - cybozu::Option::appendOpt
    - std::vector::data
    - puts
    - G2::G2
    - fiat_bls12_381_fp_add
    - cybozu::Option::appendBoolOpt
    - cybozu::Option::appendHelp
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fr::Fr
      Src: /src/mcl/sample/pairing.cpp:7,1
    - Dst: pairing
      Src: /src/mcl/sample/pairing.cpp:10,1
    - Dst: G2::G2
      Src: /src/mcl/sample/pairing.cpp:11,1
    - Dst: G1::G1
      Src: /src/mcl/sample/pairing.cpp:12,1
    - Dst: Fr::setHashOf
      Src: /src/mcl/sample/pairing.cpp:13,1
    - Dst: printf
      Src: /src/mcl/sample/pairing.cpp:14,1
    - Dst: Fr::getStr
      Src: /src/mcl/sample/pairing.cpp:14,1
    - Dst: printf
      Src: /src/mcl/sample/pairing.cpp:15,1
    - Dst: getStr
      Src: /src/mcl/sample/pairing.cpp:15,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/sample/pairing.cpp:16,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/sample/pairing.cpp:17,1
    - Dst: pairing
      Src: /src/mcl/sample/pairing.cpp:18,1
    - Dst: testFp12pow
      Src: /src/mcl/sample/pairing.cpp:19,1
    - Dst: printf
      Src: /src/mcl/sample/pairing.cpp:20,1
    - Dst: Fp12::getStr
      Src: /src/mcl/sample/pairing.cpp:20,1
    - Dst: printf
      Src: /src/mcl/sample/pairing.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 22
      start: 5
    functionDepth: 2
    functionLinenumber: 5
    functionLinenumberEnd: 22
    functionName: minimum_sample
    functionSourceFile: /src/mcl/sample/pairing.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - Fp12::getStr
    - pairing
    - printf
    - testFp12pow
    - Fr::setHashOf
    - G2::G2
    - getStr
    - Fr::Fr
    - Fr::getStr
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void minimum_sample(const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pairing
      Src: /src/mcl/sample/pairing.cpp:27,1
    - Dst: millerLoop
      Src: /src/mcl/sample/pairing.cpp:29,1
    - Dst: finalExp
      Src: /src/mcl/sample/pairing.cpp:30,1
    - Dst: printf
      Src: /src/mcl/sample/pairing.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: miller_and_finel_exp
    functionSourceFile: /src/mcl/sample/pairing.cpp
    functionUses: 0
    functionsReached:
    - millerLoop
    - pairing
    - printf
    - finalExp
    linkageType: ''
    returnType: void
    signature: void miller_and_finel_exp(const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pairing
      Src: /src/mcl/sample/pairing.cpp:37,1
    - Dst: precomputeG2
      Src: /src/mcl/sample/pairing.cpp:39,1
    - Dst: precomputedMillerLoop
      Src: /src/mcl/sample/pairing.cpp:40,1
    - Dst: finalExp
      Src: /src/mcl/sample/pairing.cpp:41,1
    - Dst: printf
      Src: /src/mcl/sample/pairing.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: precomputed
    functionSourceFile: /src/mcl/sample/pairing.cpp
    functionUses: 0
    functionsReached:
    - precomputeG2
    - pairing
    - printf
    - precomputedMillerLoop
    - finalExp
    linkageType: ''
    returnType: void
    signature: void precomputed(const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/sample/pairing.cpp:49,1
    - Dst: initPairing
      Src: /src/mcl/sample/pairing.cpp:50,1
    - Dst: puts
      Src: /src/mcl/sample/pairing.cpp:52,1
    - Dst: initPairing
      Src: /src/mcl/sample/pairing.cpp:53,1
    - Dst: G1::G1
      Src: /src/mcl/sample/pairing.cpp:55,1
    - Dst: G2::G2
      Src: /src/mcl/sample/pairing.cpp:56,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/sample/pairing.cpp:57,1
    - Dst: hashAndMapToG2
      Src: /src/mcl/sample/pairing.cpp:58,1
    - Dst: printf
      Src: /src/mcl/sample/pairing.cpp:59,1
    - Dst: G1::serializeToHexStr
      Src: /src/mcl/sample/pairing.cpp:59,1
    - Dst: printf
      Src: /src/mcl/sample/pairing.cpp:60,1
    - Dst: G2::serializeToHexStr
      Src: /src/mcl/sample/pairing.cpp:60,1
    - Dst: minimum_sample
      Src: /src/mcl/sample/pairing.cpp:62,1
    - Dst: miller_and_finel_exp
      Src: /src/mcl/sample/pairing.cpp:63,1
    - Dst: precomputed
      Src: /src/mcl/sample/pairing.cpp:64,1
    - Dst: printf
      Src: /src/mcl/sample/pairing.cpp:66,1
    - Dst: what
      Src: /src/mcl/sample/pairing.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - argc
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/mcl/sample/pairing.cpp
    functionUses: 97
    functionsReached:
    - G1::G1
    - printf
    - hashAndMapToG1
    - what
    - puts
    - G2::G2
    - hashAndMapToG2
    - G2::serializeToHexStr
    - initPairing
    - minimum_sample
    - miller_and_finel_exp
    - G1::serializeToHexStr
    - precomputed
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/mcl/sample/vote.cpp:31,1
    - Dst: cybozu::itoa
      Src: /src/mcl/sample/vote.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: GetSheetName
    functionSourceFile: /src/mcl/sample/vote.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - cybozu::itoa
    linkageType: ''
    returnType: std::string
    signature: std::string GetSheetName(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Option::Option
      Src: /src/mcl/sample/vote.cpp:39,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/sample/vote.cpp:40,1
    - Dst: cybozu::Option::appendHelp
      Src: /src/mcl/sample/vote.cpp:41,1
    - Dst: cybozu::Option::appendParam
      Src: /src/mcl/sample/vote.cpp:42,1
    - Dst: cybozu::Option::parse
      Src: /src/mcl/sample/vote.cpp:43,1
    - Dst: cybozu::Option::usage
      Src: /src/mcl/sample/vote.cpp:44,1
    - Dst: exit
      Src: /src/mcl/sample/vote.cpp:45,1
    - Dst: printf
      Src: /src/mcl/sample/vote.cpp:47,1
    - Dst: c_str
      Src: /src/mcl/sample/vote.cpp:47,1
    - Dst: printf
      Src: /src/mcl/sample/vote.cpp:49,1
    - Dst: c_str
      Src: /src/mcl/sample/vote.cpp:49,1
    - Dst: printf
      Src: /src/mcl/sample/vote.cpp:52,1
    - Dst: exit
      Src: /src/mcl/sample/vote.cpp:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 56
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 56
    functionName: Param
    functionSourceFile: /src/mcl/sample/vote.cpp
    functionUses: 19
    functionsReached:
    - cybozu::Option::appendHelp
    - cybozu::Option::Option
    - exit
    - printf
    - cybozu::Option::usage
    - c_str
    - cybozu::Option::parse
    - cybozu::Option::appendParam
    - cybozu::Option::appendOpt
    linkageType: ''
    returnType: void
    signature: void Param(int argc, const char *const argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::initCurve<Ec>
      Src: /src/mcl/sample/vote.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: SysInit
    functionSourceFile: /src/mcl/sample/vote.cpp
    functionUses: 0
    functionsReached:
    - mcl::initCurve<Ec>
    linkageType: ''
    returnType: void
    signature: void SysInit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/mcl/sample/vote.cpp:67,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/sample/vote.cpp:69,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/sample/vote.cpp:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ' t'
    - ' name'
    argTypes:
    - T
    - std::string
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: Load
    functionSourceFile: /src/mcl/sample/vote.cpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool Load(T& t, const std::string& name, bool doThrow = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/mcl/sample/vote.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - ' t'
    argTypes:
    - std::string
    - T
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: Save
    functionSourceFile: /src/mcl/sample/vote.cpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Save(const std::string& name, const T& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Elgamal::PrivateKey::init
      Src: /src/mcl/sample/vote.cpp:93,1
    - Dst: Elgamal::PrivateKey::getPublicKey
      Src: /src/mcl/sample/vote.cpp:94,1
    - Dst: printf
      Src: /src/mcl/sample/vote.cpp:95,1
    - Dst: c_str
      Src: /src/mcl/sample/vote.cpp:95,1
    - Dst: c_str
      Src: /src/mcl/sample/vote.cpp:95,1
    - Dst: Save
      Src: /src/mcl/sample/vote.cpp:96,1
    - Dst: Save
      Src: /src/mcl/sample/vote.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: Init
    functionSourceFile: /src/mcl/sample/vote.cpp
    functionUses: 17
    functionsReached:
    - c_str
    - printf
    - Save
    - Elgamal::PrivateKey::getPublicKey
    - Elgamal::PrivateKey::init
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify
      Src: /src/mcl/sample/vote.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pub'
    argTypes:
    - Elgamal::PublicKey
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: verify
    functionSourceFile: /src/mcl/sample/vote.cpp
    functionUses: 53
    functionsReached:
    - verify
    linkageType: ''
    returnType: bool
    signature: bool verify(const Elgamal::PublicKey& pub) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - CipherWithZkp
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: '& operator<<(std::ostream& os, const CipherWithZkp& self)'
    functionSourceFile: /src/mcl/sample/vote.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const CipherWithZkp& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - CipherWithZkp
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: '& operator>>(std::istream& is, CipherWithZkp& self)'
    functionSourceFile: /src/mcl/sample/vote.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, CipherWithZkp& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Load
      Src: /src/mcl/sample/vote.cpp:121,1
    - Dst: puts
      Src: /src/mcl/sample/vote.cpp:122,1
    - Dst: size
      Src: /src/mcl/sample/vote.cpp:123,1
    - Dst: std::vector::size
      Src: /src/mcl/sample/vote.cpp:124,1
    - Dst: cybozu::shuffle
      Src: /src/mcl/sample/vote.cpp:127,1
    - Dst: puts
      Src: /src/mcl/sample/vote.cpp:128,1
    - Dst: size
      Src: /src/mcl/sample/vote.cpp:129,1
    - Dst: Elgamal::PublicKey::encWithZkp
      Src: /src/mcl/sample/vote.cpp:131,1
    - Dst: GetSheetName
      Src: /src/mcl/sample/vote.cpp:132,1
    - Dst: printf
      Src: /src/mcl/sample/vote.cpp:133,1
    - Dst: std::string::c_str
      Src: /src/mcl/sample/vote.cpp:133,1
    - Dst: Save
      Src: /src/mcl/sample/vote.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' voteList'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 136
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 136
    functionName: Vote
    functionSourceFile: /src/mcl/sample/vote.cpp
    functionUses: 0
    functionsReached:
    - Elgamal::PublicKey::encWithZkp
    - GetSheetName
    - std::vector::size
    - printf
    - puts
    - Load
    - size
    - Save
    - std::string::c_str
    - cybozu::shuffle
    linkageType: ''
    returnType: void
    signature: void Vote(const std::string& voteList)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Load
      Src: /src/mcl/sample/vote.cpp:141,1
    - Dst: puts
      Src: /src/mcl/sample/vote.cpp:143,1
    - Dst: GetSheetName
      Src: /src/mcl/sample/vote.cpp:145,1
    - Dst: Load
      Src: /src/mcl/sample/vote.cpp:147,1
    - Dst: CipherWithZkp::verify
      Src: /src/mcl/sample/vote.cpp:148,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/sample/vote.cpp:148,1
    - Dst: printf
      Src: /src/mcl/sample/vote.cpp:149,1
    - Dst: std::string::c_str
      Src: /src/mcl/sample/vote.cpp:149,1
    - Dst: Elgamal::CipherText::add
      Src: /src/mcl/sample/vote.cpp:150,1
    - Dst: printf
      Src: /src/mcl/sample/vote.cpp:152,1
    - Dst: c_str
      Src: /src/mcl/sample/vote.cpp:152,1
    - Dst: Save
      Src: /src/mcl/sample/vote.cpp:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 154
    functionName: Count
    functionSourceFile: /src/mcl/sample/vote.cpp
    functionUses: 6
    functionsReached:
    - GetSheetName
    - Elgamal::CipherText::add
    - printf
    - c_str
    - Shim_Exception::Shim_Exception
    - puts
    - Load
    - Save
    - CipherWithZkp::verify
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void Count()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Load
      Src: /src/mcl/sample/vote.cpp:159,1
    - Dst: Load
      Src: /src/mcl/sample/vote.cpp:161,1
    - Dst: Elgamal::PrivateKey::dec
      Src: /src/mcl/sample/vote.cpp:163,1
    - Dst: puts
      Src: /src/mcl/sample/vote.cpp:166,1
    - Dst: GetSheetName
      Src: /src/mcl/sample/vote.cpp:169,1
    - Dst: Load
      Src: /src/mcl/sample/vote.cpp:170,1
    - Dst: Elgamal::PrivateKey::dec
      Src: /src/mcl/sample/vote.cpp:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 176
    functionName: Open
    functionSourceFile: /src/mcl/sample/vote.cpp
    functionUses: 1
    functionsReached:
    - puts
    - Load
    - GetSheetName
    - Elgamal::PrivateKey::dec
    linkageType: ''
    returnType: void
    signature: void Open()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SysInit
      Src: /src/mcl/sample/vote.cpp:182,1
    - Dst: Init
      Src: /src/mcl/sample/vote.cpp:184,1
    - Dst: Vote
      Src: /src/mcl/sample/vote.cpp:187,1
    - Dst: Count
      Src: /src/mcl/sample/vote.cpp:190,1
    - Dst: Open
      Src: /src/mcl/sample/vote.cpp:193,1
    - Dst: printf
      Src: /src/mcl/sample/vote.cpp:196,1
    - Dst: Param::mode::c_str
      Src: /src/mcl/sample/vote.cpp:196,1
    - Dst: printf
      Src: /src/mcl/sample/vote.cpp:200,1
    - Dst: what
      Src: /src/mcl/sample/vote.cpp:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 201
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 201
    functionName: main
    functionSourceFile: /src/mcl/sample/vote.cpp
    functionUses: 97
    functionsReached:
    - Param::mode::c_str
    - SysInit
    - printf
    - Init
    - what
    - Vote
    - Count
    - Open
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/sample/bls_sig.cpp:17,1
    - Dst: Fp::setHashOf
      Src: /src/mcl/sample/bls_sig.cpp:18,1
    - Dst: mapToG1
      Src: /src/mcl/sample/bls_sig.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' P'
    - ' m'
    argTypes:
    - G1
    - std::string
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: Hash
    functionSourceFile: /src/mcl/sample/bls_sig.cpp
    functionUses: 0
    functionsReached:
    - Fp::setHashOf
    - Fp::Fp
    - mapToG1
    linkageType: ''
    returnType: void
    signature: void Hash(G1& P, const std::string& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setRand
      Src: /src/mcl/sample/bls_sig.cpp:24,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/sample/bls_sig.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' s'
    - ' pub'
    - ' Q'
    argTypes:
    - Fr
    - G2
    - G2
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: KeyGen
    functionSourceFile: /src/mcl/sample/bls_sig.cpp
    functionUses: 0
    functionsReached:
    - setRand
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void KeyGen(Fr& s, G2& pub, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::G1
      Src: /src/mcl/sample/bls_sig.cpp:30,1
    - Dst: Hash
      Src: /src/mcl/sample/bls_sig.cpp:31,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/sample/bls_sig.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' sign'
    - ' s'
    - ' m'
    argTypes:
    - G1
    - Fr
    - std::string
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: Sign
    functionSourceFile: /src/mcl/sample/bls_sig.cpp
    functionUses: 7
    functionsReached:
    - G1::G1
    - Hash
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void Sign(G1& sign, const Fr& s, const std::string& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::G1
      Src: /src/mcl/sample/bls_sig.cpp:38,1
    - Dst: Hash
      Src: /src/mcl/sample/bls_sig.cpp:39,1
    - Dst: pairing
      Src: /src/mcl/sample/bls_sig.cpp:40,1
    - Dst: pairing
      Src: /src/mcl/sample/bls_sig.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' sign'
    - ' Q'
    - ' pub'
    - ' m'
    argTypes:
    - G1
    - G2
    - G2
    - std::string
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: Verify
    functionSourceFile: /src/mcl/sample/bls_sig.cpp
    functionUses: 3
    functionsReached:
    - G1::G1
    - Hash
    - pairing
    linkageType: ''
    returnType: bool
    signature: bool Verify(const G1& sign, const G2& Q, const G2& pub, const std::string&
      m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initPairing
      Src: /src/mcl/sample/bls_sig.cpp:50,1
    - Dst: G2::G2
      Src: /src/mcl/sample/bls_sig.cpp:51,1
    - Dst: mapToG2
      Src: /src/mcl/sample/bls_sig.cpp:52,1
    - Dst: Fr::Fr
      Src: /src/mcl/sample/bls_sig.cpp:55,1
    - Dst: G2::G2
      Src: /src/mcl/sample/bls_sig.cpp:56,1
    - Dst: KeyGen
      Src: /src/mcl/sample/bls_sig.cpp:57,1
    - Dst: G1::G1
      Src: /src/mcl/sample/bls_sig.cpp:62,1
    - Dst: Sign
      Src: /src/mcl/sample/bls_sig.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 70
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 70
    functionName: main
    functionSourceFile: /src/mcl/sample/bls_sig.cpp
    functionUses: 97
    functionsReached:
    - G1::G1
    - KeyGen
    - mapToG2
    - G2::G2
    - initPairing
    - Fr::Fr
    - Sign
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getStr
      Src: /src/mcl/sample/ecdh.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - ' P'
    argTypes:
    - char*
    - Ec
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: put
    functionSourceFile: /src/mcl/sample/ecdh.cpp
    functionUses: 218
    functionsReached:
    - getStr
    linkageType: ''
    returnType: void
    signature: void put(const char *msg, const Ec& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::initCurve<Ec>
      Src: /src/mcl/sample/ecdh.cpp:23,1
    - Dst: put
      Src: /src/mcl/sample/ecdh.cpp:24,1
    - Dst: Fr::Fr
      Src: /src/mcl/sample/ecdh.cpp:29,1
    - Dst: Fr::setByCSPRNG
      Src: /src/mcl/sample/ecdh.cpp:32,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/sample/ecdh.cpp:33,1
    - Dst: put
      Src: /src/mcl/sample/ecdh.cpp:35,1
    - Dst: Fr::Fr
      Src: /src/mcl/sample/ecdh.cpp:40,1
    - Dst: Fr::setByCSPRNG
      Src: /src/mcl/sample/ecdh.cpp:43,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/sample/ecdh.cpp:44,1
    - Dst: put
      Src: /src/mcl/sample/ecdh.cpp:46,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/sample/ecdh.cpp:51,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/sample/ecdh.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 61
    functionName: main
    functionSourceFile: /src/mcl/sample/ecdh.cpp
    functionUses: 97
    functionsReached:
    - Fr::setByCSPRNG
    - mcl::initCurve<Ec>
    - fiat_bls12_381_fp_mul
    - Fr::Fr
    - put
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_add
      Src: /src/mcl/sample/rawbench.cpp:14,1
    - Dst: fp_add
      Src: /src/mcl/sample/rawbench.cpp:15,1
    - Dst: fp_add
      Src: /src/mcl/sample/rawbench.cpp:16,1
    - Dst: fp_add
      Src: /src/mcl/sample/rawbench.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' op'
    - y
    - x
    - p
    argTypes:
    - mcl::fp::Op
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 18
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 18
    functionName: mul9
    functionSourceFile: /src/mcl/sample/rawbench.cpp
    functionUses: 6
    functionsReached:
    - fp_add
    linkageType: ''
    returnType: void
    signature: void mul9(const mcl::fp::Op& op, Unit *y, const Unit *x, const Unit
      *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/sample/rawbench.cpp:22,1
    - Dst: mcl::Fp2::init
      Src: /src/mcl/sample/rawbench.cpp:23,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/sample/rawbench.cpp:25,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/sample/rawbench.cpp:26,1
    - Dst: Fp::Fp
      Src: /src/mcl/sample/rawbench.cpp:27,1
    - Dst: Fp::setRand
      Src: /src/mcl/sample/rawbench.cpp:28,1
    - Dst: setRand
      Src: /src/mcl/sample/rawbench.cpp:29,1
    - Dst: memcpy
      Src: /src/mcl/sample/rawbench.cpp:33,1
    - Dst: Fp::getUnit
      Src: /src/mcl/sample/rawbench.cpp:33,1
    - Dst: memcpy
      Src: /src/mcl/sample/rawbench.cpp:34,1
    - Dst: Fp::getUnit
      Src: /src/mcl/sample/rawbench.cpp:34,1
    - Dst: memcpy
      Src: /src/mcl/sample/rawbench.cpp:35,1
    - Dst: getUnit
      Src: /src/mcl/sample/rawbench.cpp:35,1
    - Dst: memcpy
      Src: /src/mcl/sample/rawbench.cpp:36,1
    - Dst: Fp::getUnit
      Src: /src/mcl/sample/rawbench.cpp:36,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/rawbench.cpp:46,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/rawbench.cpp:47,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/rawbench.cpp:48,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/rawbench.cpp:49,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/rawbench.cpp:50,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/rawbench.cpp:51,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/rawbench.cpp:52,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/rawbench.cpp:53,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/rawbench.cpp:54,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/rawbench.cpp:55,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/rawbench.cpp:56,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/rawbench.cpp:57,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/rawbench.cpp:58,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/rawbench.cpp:59,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/rawbench.cpp:64,1
    - Dst: CYBOZU_BENCH_T
      Src: /src/mcl/sample/rawbench.cpp:65,1
    - Dst: printf
      Src: /src/mcl/sample/rawbench.cpp:66,1
    - Dst: mcl::fp::ModeToStr
      Src: /src/mcl/sample/rawbench.cpp:66,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/sample/rawbench.cpp:78,1
    - Dst: printf
      Src: /src/mcl/sample/rawbench.cpp:79,1
    - Dst: printf
      Src: /src/mcl/sample/rawbench.cpp:81,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/sample/rawbench.cpp:93,1
    - Dst: printf
      Src: /src/mcl/sample/rawbench.cpp:94,1
    - Dst: printf
      Src: /src/mcl/sample/rawbench.cpp:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 2
    argNames:
    - p
    - mode
    argTypes:
    - char*
    - mcl::fp::Mode
    constantsTouched: []
    func_position:
      end: 97
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 97
    functionName: benchRaw
    functionSourceFile: /src/mcl/sample/rawbench.cpp
    functionUses: 0
    functionsReached:
    - Fp::getUnit
    - CYBOZU_NUM_OF_ARRAY
    - setRand
    - printf
    - getUnit
    - mcl::fp::ModeToStr
    - CYBOZU_BENCH_T
    - Botan_Tests::test_x509_uninit
    - mcl::Fp2::init
    - memcpy
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - cybozu::XorShift::XorShift
    - Fp::setRand
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void benchRaw(const char *p, mcl::fp::Mode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Option::Option
      Src: /src/mcl/sample/rawbench.cpp:102,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/sample/rawbench.cpp:104,1
    - Dst: cybozu::Option::appendHelp
      Src: /src/mcl/sample/rawbench.cpp:105,1
    - Dst: cybozu::Option::parse
      Src: /src/mcl/sample/rawbench.cpp:106,1
    - Dst: cybozu::Option::usage
      Src: /src/mcl/sample/rawbench.cpp:107,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/sample/rawbench.cpp:155,1
    - Dst: strlen
      Src: /src/mcl/sample/rawbench.cpp:157,1
    - Dst: printf
      Src: /src/mcl/sample/rawbench.cpp:160,1
    - Dst: benchRaw
      Src: /src/mcl/sample/rawbench.cpp:161,1
    - Dst: benchRaw
      Src: /src/mcl/sample/rawbench.cpp:162,1
    - Dst: benchRaw
      Src: /src/mcl/sample/rawbench.cpp:164,1
    - Dst: benchRaw
      Src: /src/mcl/sample/rawbench.cpp:165,1
    - Dst: benchRaw
      Src: /src/mcl/sample/rawbench.cpp:169,1
    - Dst: printf
      Src: /src/mcl/sample/rawbench.cpp:174,1
    - Dst: what
      Src: /src/mcl/sample/rawbench.cpp:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 176
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 176
    functionName: main
    functionSourceFile: /src/mcl/sample/rawbench.cpp
    functionUses: 97
    functionsReached:
    - cybozu::Option::appendHelp
    - CYBOZU_NUM_OF_ARRAY
    - cybozu::Option::Option
    - printf
    - what
    - cybozu::Option::usage
    - benchRaw
    - cybozu::Option::parse
    - cybozu::Option::appendOpt
    - strlen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/mcl/sample/tri-dh.cpp:19,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/sample/tri-dh.cpp:20,1
    - Dst: initPairing
      Src: /src/mcl/sample/tri-dh.cpp:28,1
    - Dst: Fr::Fr
      Src: /src/mcl/sample/tri-dh.cpp:32,1
    - Dst: Fr::setRand
      Src: /src/mcl/sample/tri-dh.cpp:33,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/sample/tri-dh.cpp:34,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/sample/tri-dh.cpp:35,1
    - Dst: std::string::c_str
      Src: /src/mcl/sample/tri-dh.cpp:38,1
    - Dst: std::string::c_str
      Src: /src/mcl/sample/tri-dh.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' user'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 47
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 47
    functionName: keygen
    functionSourceFile: /src/mcl/sample/tri-dh.cpp
    functionUses: 4
    functionsReached:
    - Fr::setRand
    - Shim_Exception::Shim_Exception
    - empty
    - initPairing
    - std::string::c_str
    - Fr::Fr
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void keygen(const std::string& user)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/mcl/sample/tri-dh.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' P'
    - ' Q'
    - ' fileName'
    argTypes:
    - G1
    - G2
    - std::string
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: load
    functionSourceFile: /src/mcl/sample/tri-dh.cpp
    functionUses: 29
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void load(G1& P, G2& Q, const std::string& fileName)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initPairing
      Src: /src/mcl/sample/tri-dh.cpp:57,1
    - Dst: Fr::Fr
      Src: /src/mcl/sample/tri-dh.cpp:58,1
    - Dst: G1::G1
      Src: /src/mcl/sample/tri-dh.cpp:59,1
    - Dst: G2::G2
      Src: /src/mcl/sample/tri-dh.cpp:60,1
    - Dst: c_str
      Src: /src/mcl/sample/tri-dh.cpp:62,1
    - Dst: load
      Src: /src/mcl/sample/tri-dh.cpp:65,1
    - Dst: load
      Src: /src/mcl/sample/tri-dh.cpp:66,1
    - Dst: pairing
      Src: /src/mcl/sample/tri-dh.cpp:68,1
    - Dst: pairing
      Src: /src/mcl/sample/tri-dh.cpp:72,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/sample/tri-dh.cpp:74,1
    - Dst: testFp12pow
      Src: /src/mcl/sample/tri-dh.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ' skFile'
    - ' pk1File'
    - ' pk2File'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 79
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 79
    functionName: share
    functionSourceFile: /src/mcl/sample/tri-dh.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - c_str
    - pairing
    - testFp12pow
    - Shim_Exception::Shim_Exception
    - G2::G2
    - initPairing
    - Fr::Fr
    - load
    linkageType: ''
    returnType: void
    signature: void share(const std::string& skFile, const std::string& pk1File, const
      std::string& pk2File)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mcl/sample/tri-dh.cpp:84,1
    - Dst: keygen
      Src: /src/mcl/sample/tri-dh.cpp:85,1
    - Dst: strcmp
      Src: /src/mcl/sample/tri-dh.cpp:86,1
    - Dst: share
      Src: /src/mcl/sample/tri-dh.cpp:87,1
    - Dst: fprintf
      Src: /src/mcl/sample/tri-dh.cpp:89,1
    - Dst: fprintf
      Src: /src/mcl/sample/tri-dh.cpp:90,1
    - Dst: printf
      Src: /src/mcl/sample/tri-dh.cpp:94,1
    - Dst: what
      Src: /src/mcl/sample/tri-dh.cpp:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: main
    functionSourceFile: /src/mcl/sample/tri-dh.cpp
    functionUses: 97
    functionsReached:
    - strcmp
    - printf
    - what
    - keygen
    - fprintf
    - share
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/sample/multi.cpp:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 9
    functionName: main
    functionSourceFile: /src/mcl/sample/multi.cpp
    functionUses: 97
    functionsReached:
    - puts
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_SNPRINTF
      Src: /src/mcl/sample/she_make_dlp_table.cpp:22,1
    - Dst: printf
      Src: /src/mcl/sample/she_make_dlp_table.cpp:24,1
    - Dst: std::string::c_str
      Src: /src/mcl/sample/she_make_dlp_table.cpp:24,1
    - Dst: std::string::c_str
      Src: /src/mcl/sample/she_make_dlp_table.cpp:25,1
    - Dst: init
      Src: /src/mcl/sample/she_make_dlp_table.cpp:28,1
    - Dst: save
      Src: /src/mcl/sample/she_make_dlp_table.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' param'
    - groupStr
    - ' hashTbl'
    - ' P'
    argTypes:
    - Param
    - char*
    - HashTable
    - G
    constantsTouched: []
    func_position:
      end: 30
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 30
    functionName: makeTable
    functionSourceFile: /src/mcl/sample/she_make_dlp_table.cpp
    functionUses: 2
    functionsReached:
    - printf
    - std::string::c_str
    - init
    - save
    - CYBOZU_SNPRINTF
    linkageType: ''
    returnType: void
    signature: void makeTable(const Param& param, const char *groupStr, HashTable&
      hashTbl, const G& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::initG1only
      Src: /src/mcl/sample/she_make_dlp_table.cpp:35,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/sample/she_make_dlp_table.cpp:37,1
    - Dst: mcl::getCurveParam
      Src: /src/mcl/sample/she_make_dlp_table.cpp:37,1
    - Dst: makeTable
      Src: /src/mcl/sample/she_make_dlp_table.cpp:42,1
    - Dst: getHashTableG1
      Src: /src/mcl/sample/she_make_dlp_table.cpp:42,1
    - Dst: makeTable
      Src: /src/mcl/sample/she_make_dlp_table.cpp:45,1
    - Dst: getHashTableG2
      Src: /src/mcl/sample/she_make_dlp_table.cpp:45,1
    - Dst: makeTable
      Src: /src/mcl/sample/she_make_dlp_table.cpp:48,1
    - Dst: getHashTableGT
      Src: /src/mcl/sample/she_make_dlp_table.cpp:48,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/sample/she_make_dlp_table.cpp:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' param'
    argTypes:
    - Param
    constantsTouched: []
    func_position:
      end: 53
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 53
    functionName: run
    functionSourceFile: /src/mcl/sample/she_make_dlp_table.cpp
    functionUses: 70
    functionsReached:
    - mcl::getCurveParam
    - Shim_Exception::Shim_Exception
    - mcl::initG1only
    - Botan_Tests::test_x509_uninit
    - getHashTableGT
    - makeTable
    - getHashTableG2
    - getHashTableG1
    linkageType: ''
    returnType: void
    signature: void run(const Param& param)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Option::Option
      Src: /src/mcl/sample/she_make_dlp_table.cpp:58,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/sample/she_make_dlp_table.cpp:60,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/sample/she_make_dlp_table.cpp:61,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/sample/she_make_dlp_table.cpp:62,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/sample/she_make_dlp_table.cpp:63,1
    - Dst: cybozu::Option::appendBoolOpt
      Src: /src/mcl/sample/she_make_dlp_table.cpp:64,1
    - Dst: cybozu::Option::appendHelp
      Src: /src/mcl/sample/she_make_dlp_table.cpp:65,1
    - Dst: cybozu::Option::parse
      Src: /src/mcl/sample/she_make_dlp_table.cpp:66,1
    - Dst: run
      Src: /src/mcl/sample/she_make_dlp_table.cpp:67,1
    - Dst: cybozu::Option::usage
      Src: /src/mcl/sample/she_make_dlp_table.cpp:69,1
    - Dst: printf
      Src: /src/mcl/sample/she_make_dlp_table.cpp:73,1
    - Dst: what
      Src: /src/mcl/sample/she_make_dlp_table.cpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 75
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/mcl/sample/she_make_dlp_table.cpp
    functionUses: 97
    functionsReached:
    - cybozu::Option::appendHelp
    - cybozu::Option::Option
    - printf
    - what
    - cybozu::Option::usage
    - run
    - cybozu::Option::parse
    - cybozu::Option::appendBoolOpt
    - cybozu::Option::appendOpt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/sample/she_g1only.cpp:15,1
    - Dst: mcl::initCurve<Ec>
      Src: /src/mcl/sample/she_g1only.cpp:17,1
    - Dst: cybozu::RandomGenerator::RandomGenerator
      Src: /src/mcl/sample/she_g1only.cpp:19,1
    - Dst: ElgamalEc::PrivateKey::init
      Src: /src/mcl/sample/she_g1only.cpp:22,1
    - Dst: ElgamalEc::PrivateKey::setCache
      Src: /src/mcl/sample/she_g1only.cpp:23,1
    - Dst: ElgamalEc::PrivateKey::getPublicKey
      Src: /src/mcl/sample/she_g1only.cpp:24,1
    - Dst: enc
      Src: /src/mcl/sample/she_g1only.cpp:29,1
    - Dst: enc
      Src: /src/mcl/sample/she_g1only.cpp:30,1
    - Dst: ElgamalEc::CipherText::add
      Src: /src/mcl/sample/she_g1only.cpp:31,1
    - Dst: ElgamalEc::PrivateKey::dec
      Src: /src/mcl/sample/she_g1only.cpp:33,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/sample/she_g1only.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 36
    functionName: elgamal
    functionSourceFile: /src/mcl/sample/she_g1only.cpp
    functionUses: 0
    functionsReached:
    - ElgamalEc::CipherText::add
    - ElgamalEc::PrivateKey::setCache
    - puts
    - mcl::initCurve<Ec>
    - ElgamalEc::PrivateKey::init
    - enc
    - ElgamalEc::PrivateKey::getPublicKey
    - cybozu::RandomGenerator::RandomGenerator
    - CYBOZU_BENCH_C
    - ElgamalEc::PrivateKey::dec
    linkageType: ''
    returnType: void
    signature: void elgamal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initG1only
      Src: /src/mcl/sample/she_g1only.cpp:42,1
    - Dst: SecretKey::setByCSPRNG
      Src: /src/mcl/sample/she_g1only.cpp:45,1
    - Dst: SecretKey::getPublicKey
      Src: /src/mcl/sample/she_g1only.cpp:47,1
    - Dst: PrecomputedPublicKey::init
      Src: /src/mcl/sample/she_g1only.cpp:49,1
    - Dst: PrecomputedPublicKey::enc
      Src: /src/mcl/sample/she_g1only.cpp:55,1
    - Dst: PrecomputedPublicKey::enc
      Src: /src/mcl/sample/she_g1only.cpp:56,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/sample/she_g1only.cpp:57,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/sample/she_g1only.cpp:58,1
    - Dst: add
      Src: /src/mcl/sample/she_g1only.cpp:59,1
    - Dst: printf
      Src: /src/mcl/sample/she_g1only.cpp:61,1
    - Dst: elgamal
      Src: /src/mcl/sample/she_g1only.cpp:63,1
    - Dst: printf
      Src: /src/mcl/sample/she_g1only.cpp:66,1
    - Dst: what
      Src: /src/mcl/sample/she_g1only.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/mcl/sample/she_g1only.cpp
    functionUses: 97
    functionsReached:
    - add
    - PrecomputedPublicKey::init
    - printf
    - what
    - initG1only
    - SecretKey::getPublicKey
    - SecretKey::setByCSPRNG
    - elgamal
    - CYBOZU_BENCH_C
    - PrecomputedPublicKey::enc
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/sample/she_smpl.cpp:13,1
    - Dst: SecretKey::setByCSPRNG
      Src: /src/mcl/sample/she_smpl.cpp:18,1
    - Dst: mcl::she::setRangeForDLP
      Src: /src/mcl/sample/she_smpl.cpp:21,1
    - Dst: SecretKey::getPublicKey
      Src: /src/mcl/sample/she_smpl.cpp:25,1
    - Dst: PublicKey::enc
      Src: /src/mcl/sample/she_smpl.cpp:40,1
    - Dst: PublicKey::enc
      Src: /src/mcl/sample/she_smpl.cpp:41,1
    - Dst: CipherText::clearAsMultiplied
      Src: /src/mcl/sample/she_smpl.cpp:44,1
    - Dst: CipherText::mul
      Src: /src/mcl/sample/she_smpl.cpp:48,1
    - Dst: CipherText::add
      Src: /src/mcl/sample/she_smpl.cpp:49,1
    - Dst: puts
      Src: /src/mcl/sample/she_smpl.cpp:55,1
    - Dst: printf
      Src: /src/mcl/sample/she_smpl.cpp:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 10
    functionDepth: 2
    functionLinenumber: 10
    functionLinenumberEnd: 59
    functionName: miniSample
    functionSourceFile: /src/mcl/sample/she_smpl.cpp
    functionUses: 0
    functionsReached:
    - printf
    - puts
    - CipherText::mul
    - CipherText::clearAsMultiplied
    - mcl::she::setRangeForDLP
    - Botan_Tests::test_x509_uninit
    - SecretKey::getPublicKey
    - CipherText::add
    - SecretKey::setByCSPRNG
    - PublicKey::enc
    linkageType: ''
    returnType: void
    signature: void miniSample()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/sample/she_smpl.cpp:64,1
    - Dst: SecretKey::setByCSPRNG
      Src: /src/mcl/sample/she_smpl.cpp:69,1
    - Dst: mcl::she::setRangeForGTDLP
      Src: /src/mcl/sample/she_smpl.cpp:72,1
    - Dst: SecretKey::getPublicKey
      Src: /src/mcl/sample/she_smpl.cpp:76,1
    - Dst: PublicKey::enc
      Src: /src/mcl/sample/she_smpl.cpp:82,1
    - Dst: PublicKey::enc
      Src: /src/mcl/sample/she_smpl.cpp:83,1
    - Dst: PublicKey::enc
      Src: /src/mcl/sample/she_smpl.cpp:84,1
    - Dst: PublicKey::enc
      Src: /src/mcl/sample/she_smpl.cpp:85,1
    - Dst: CipherTextG1::add
      Src: /src/mcl/sample/she_smpl.cpp:86,1
    - Dst: CipherTextG2::add
      Src: /src/mcl/sample/she_smpl.cpp:87,1
    - Dst: mcl::she::CipherTextGT::mul
      Src: /src/mcl/sample/she_smpl.cpp:89,1
    - Dst: CipherTextGT::add
      Src: /src/mcl/sample/she_smpl.cpp:90,1
    - Dst: puts
      Src: /src/mcl/sample/she_smpl.cpp:94,1
    - Dst: printf
      Src: /src/mcl/sample/she_smpl.cpp:96,1
    - Dst: CipherTextG1::getStr
      Src: /src/mcl/sample/she_smpl.cpp:99,1
    - Dst: printf
      Src: /src/mcl/sample/she_smpl.cpp:100,1
    - Dst: std::string::size
      Src: /src/mcl/sample/she_smpl.cpp:100,1
    - Dst: setStr
      Src: /src/mcl/sample/she_smpl.cpp:102,1
    - Dst: printf
      Src: /src/mcl/sample/she_smpl.cpp:103,1
    - Dst: CipherTextG2::getStr
      Src: /src/mcl/sample/she_smpl.cpp:105,1
    - Dst: printf
      Src: /src/mcl/sample/she_smpl.cpp:106,1
    - Dst: std::string::size
      Src: /src/mcl/sample/she_smpl.cpp:106,1
    - Dst: setStr
      Src: /src/mcl/sample/she_smpl.cpp:107,1
    - Dst: printf
      Src: /src/mcl/sample/she_smpl.cpp:108,1
    - Dst: CipherTextGT::getStr
      Src: /src/mcl/sample/she_smpl.cpp:110,1
    - Dst: printf
      Src: /src/mcl/sample/she_smpl.cpp:111,1
    - Dst: std::string::size
      Src: /src/mcl/sample/she_smpl.cpp:111,1
    - Dst: CipherTextGT::setStr
      Src: /src/mcl/sample/she_smpl.cpp:113,1
    - Dst: printf
      Src: /src/mcl/sample/she_smpl.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 115
    functionName: usePrimitiveCipherText
    functionSourceFile: /src/mcl/sample/she_smpl.cpp
    functionUses: 0
    functionsReached:
    - CipherTextG2::add
    - CipherTextG1::add
    - std::string::size
    - mcl::she::CipherTextGT::mul
    - CipherTextGT::add
    - printf
    - puts
    - CipherTextG1::getStr
    - Botan_Tests::test_x509_uninit
    - SecretKey::getPublicKey
    - CipherTextGT::getStr
    - SecretKey::setByCSPRNG
    - CipherTextGT::setStr
    - mcl::she::setRangeForGTDLP
    - PublicKey::enc
    - CipherTextG2::getStr
    - setStr
    linkageType: ''
    returnType: void
    signature: void usePrimitiveCipherText()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: miniSample
      Src: /src/mcl/sample/she_smpl.cpp:120,1
    - Dst: usePrimitiveCipherText
      Src: /src/mcl/sample/she_smpl.cpp:121,1
    - Dst: printf
      Src: /src/mcl/sample/she_smpl.cpp:123,1
    - Dst: what
      Src: /src/mcl/sample/she_smpl.cpp:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: main
    functionSourceFile: /src/mcl/sample/she_smpl.cpp
    functionUses: 97
    functionsReached:
    - usePrimitiveCipherText
    - miniSample
    - printf
    - what
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - ' y'
    - ' p'
    argTypes:
    - mpz_class
    - mpz_class
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: mulGmp
    functionSourceFile: /src/mcl/sample/large.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mulGmp(mpz_class& z, const mpz_class& x, const mpz_class& y, const
      mpz_class& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/sample/large.cpp:21,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/sample/large.cpp:26,1
    - Dst: std::ostringstream::str
      Src: /src/mcl/sample/large.cpp:29,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/sample/large.cpp:34,1
    - Dst: std::ostringstream::str
      Src: /src/mcl/sample/large.cpp:37,1
    - Dst: puts
      Src: /src/mcl/sample/large.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' pStr'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 42
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 42
    functionName: compareGmp
    functionSourceFile: /src/mcl/sample/large.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::test_x509_uninit
    - CYBOZU_BENCH_C
    - puts
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void compareGmp(const std::string& pStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/sample/large.cpp:46,1
    - Dst: mcl::fp::ModeToStr
      Src: /src/mcl/sample/large.cpp:46,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/sample/large.cpp:47,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/sample/large.cpp:48,1
    - Dst: printf
      Src: /src/mcl/sample/large.cpp:49,1
    - Dst: mcl::FpT::getBitSize
      Src: /src/mcl/sample/large.cpp:49,1
    - Dst: Fp::Fp
      Src: /src/mcl/sample/large.cpp:52,1
    - Dst: testFp12pow
      Src: /src/mcl/sample/large.cpp:53,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/sample/large.cpp:65,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/sample/large.cpp:66,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/sample/large.cpp:67,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/sample/large.cpp:68,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/sample/large.cpp:70,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/sample/large.cpp:71,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/sample/large.cpp:73,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/sample/large.cpp:74,1
    - Dst: compareGmp
      Src: /src/mcl/sample/large.cpp:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - ' pStr'
    - mode
    argTypes:
    - std::string
    - mcl::fp::Mode
    constantsTouched: []
    func_position:
      end: 76
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 76
    functionName: test
    functionSourceFile: /src/mcl/sample/large.cpp
    functionUses: 33
    functionsReached:
    - printf
    - testFp12pow
    - mcl::FpT::getBitSize
    - compareGmp
    - mcl::fp::ModeToStr
    - CYBOZU_BENCH
    - Botan_Tests::test_x509_uninit
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void test(const std::string& pStr, mcl::fp::Mode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/mcl/sample/large.cpp:80,1
    - Dst: test
      Src: /src/mcl/sample/large.cpp:81,1
    - Dst: test
      Src: /src/mcl/sample/large.cpp:83,1
    - Dst: test
      Src: /src/mcl/sample/large.cpp:84,1
    - Dst: compareGmp
      Src: /src/mcl/sample/large.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' pStr'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: testAll
    functionSourceFile: /src/mcl/sample/large.cpp
    functionUses: 3
    functionsReached:
    - compareGmp
    - test
    linkageType: ''
    returnType: void
    signature: void testAll(const std::string& pStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/sample/large.cpp:96,1
    - Dst: testAll
      Src: /src/mcl/sample/large.cpp:97,1
    - Dst: printf
      Src: /src/mcl/sample/large.cpp:100,1
    - Dst: what
      Src: /src/mcl/sample/large.cpp:100,1
    - Dst: puts
      Src: /src/mcl/sample/large.cpp:101,1
    - Dst: puts
      Src: /src/mcl/sample/large.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/mcl/sample/large.cpp
    functionUses: 97
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - testAll
    - printf
    - what
    - puts
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/sample/pairing_c.c:15,1
    - Dst: mclBnFr_setStr
      Src: /src/mcl/sample/pairing_c.c:22,1
    - Dst: strlen
      Src: /src/mcl/sample/pairing_c.c:22,1
    - Dst: mclBnFr_setStr
      Src: /src/mcl/sample/pairing_c.c:23,1
    - Dst: strlen
      Src: /src/mcl/sample/pairing_c.c:23,1
    - Dst: mclBnFr_mul
      Src: /src/mcl/sample/pairing_c.c:24,1
    - Dst: mclBnFr_getStr
      Src: /src/mcl/sample/pairing_c.c:25,1
    - Dst: printf
      Src: /src/mcl/sample/pairing_c.c:26,1
    - Dst: mclBnFr_sub
      Src: /src/mcl/sample/pairing_c.c:27,1
    - Dst: mclBnFr_getStr
      Src: /src/mcl/sample/pairing_c.c:28,1
    - Dst: printf
      Src: /src/mcl/sample/pairing_c.c:29,1
    - Dst: ASSERT
      Src: /src/mcl/sample/pairing_c.c:31,1
    - Dst: mclBnG1_hashAndMapTo
      Src: /src/mcl/sample/pairing_c.c:31,1
    - Dst: ASSERT
      Src: /src/mcl/sample/pairing_c.c:32,1
    - Dst: mclBnG2_hashAndMapTo
      Src: /src/mcl/sample/pairing_c.c:32,1
    - Dst: ASSERT
      Src: /src/mcl/sample/pairing_c.c:33,1
    - Dst: mclBnG1_getStr
      Src: /src/mcl/sample/pairing_c.c:33,1
    - Dst: printf
      Src: /src/mcl/sample/pairing_c.c:34,1
    - Dst: ASSERT
      Src: /src/mcl/sample/pairing_c.c:35,1
    - Dst: mclBnG2_getStr
      Src: /src/mcl/sample/pairing_c.c:35,1
    - Dst: printf
      Src: /src/mcl/sample/pairing_c.c:36,1
    - Dst: mclBnG1_mul
      Src: /src/mcl/sample/pairing_c.c:38,1
    - Dst: mclBnG2_mul
      Src: /src/mcl/sample/pairing_c.c:39,1
    - Dst: mclBn_pairing
      Src: /src/mcl/sample/pairing_c.c:41,1
    - Dst: ASSERT
      Src: /src/mcl/sample/pairing_c.c:42,1
    - Dst: mclBnGT_getStr
      Src: /src/mcl/sample/pairing_c.c:42,1
    - Dst: printf
      Src: /src/mcl/sample/pairing_c.c:43,1
    - Dst: mclBnGT_pow
      Src: /src/mcl/sample/pairing_c.c:44,1
    - Dst: mclBn_pairing
      Src: /src/mcl/sample/pairing_c.c:45,1
    - Dst: ASSERT
      Src: /src/mcl/sample/pairing_c.c:46,1
    - Dst: mclBnGT_isEqual
      Src: /src/mcl/sample/pairing_c.c:46,1
    - Dst: mclBnGT_pow
      Src: /src/mcl/sample/pairing_c.c:48,1
    - Dst: mclBn_pairing
      Src: /src/mcl/sample/pairing_c.c:49,1
    - Dst: ASSERT
      Src: /src/mcl/sample/pairing_c.c:50,1
    - Dst: mclBnGT_isEqual
      Src: /src/mcl/sample/pairing_c.c:50,1
    - Dst: printf
      Src: /src/mcl/sample/pairing_c.c:52,1
    - Dst: printf
      Src: /src/mcl/sample/pairing_c.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 8
    functionDepth: 3
    functionLinenumber: 8
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/mcl/sample/pairing_c.c
    functionUses: 97
    functionsReached:
    - mclBnGT_isEqual
    - mclBnFr_sub
    - ASSERT
    - mclBnG1_getStr
    - printf
    - mclBnG2_mul
    - mclBnG1_mul
    - mclBnGT_pow
    - mclBnFr_getStr
    - mclBn_pairing
    - mclBnG1_hashAndMapTo
    - mclBnG2_hashAndMapTo
    - mclBnG2_getStr
    - mclBnFr_mul
    - strlen
    - mclBnFr_setStr
    - mclBnGT_getStr
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::RandomGenerator::RandomGenerator
      Src: /src/mcl/sample/random.cpp:14,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/sample/random.cpp:19,1
    - Dst: Fp::Fp
      Src: /src/mcl/sample/random.cpp:20,1
    - Dst: printf
      Src: /src/mcl/sample/random.cpp:21,1
    - Dst: Fp::setRand
      Src: /src/mcl/sample/random.cpp:24,1
    - Dst: Fp::getStr
      Src: /src/mcl/sample/random.cpp:25,1
    - Dst: Map::begin
      Src: /src/mcl/sample/random.cpp:27,1
    - Dst: Map::end
      Src: /src/mcl/sample/random.cpp:27,1
    - Dst: printf
      Src: /src/mcl/sample/random.cpp:28,1
    - Dst: Map::const_iterator::first::c_str
      Src: /src/mcl/sample/random.cpp:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 30
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 30
    functionName: main
    functionSourceFile: /src/mcl/sample/random.cpp
    functionUses: 97
    functionsReached:
    - Map::begin
    - printf
    - Fp::getStr
    - Map::end
    - Map::const_iterator::first::c_str
    - Botan_Tests::test_x509_uninit
    - Fp::setRand
    - cybozu::RandomGenerator::RandomGenerator
    - Fp::Fp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EM_ASM
      Src: /src/mcl/include/mcl/randgen.hpp:26,1
    - Dst: cryptoGetRandomValues
      Src: /src/mcl/include/mcl/randgen.hpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pb
    - buf
    - byteSize
    argTypes:
    - bool*
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: mcl::read
    functionSourceFile: /src/mcl/include/mcl/randgen.hpp
    functionUses: 0
    functionsReached:
    - cryptoGetRandomValues
    - EM_ASM
    linkageType: ''
    returnType: void
    signature: void read(bool *pb, void *buf, uint32_t byteSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RG*>
      Src: /src/mcl/include/mcl/randgen.hpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - self
    - buf
    - byteSize
    argTypes:
    - void*
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: mcl::fp::local::readWrapper
    functionSourceFile: /src/mcl/include/mcl/randgen.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<RG*>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t readWrapper(void *self, void *buf, uint32_t byteSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: mcl::fp::RandGen::RandGen
    functionSourceFile: /src/mcl/include/mcl/randgen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RandGen()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - self
    - readFunc
    argTypes:
    - void*
    - readFuncType
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: mcl::fp::RandGen::RandGen
    functionSourceFile: /src/mcl/include/mcl/randgen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RandGen(void *self, readFuncType readFunc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - RandGen
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: mcl::fp::RandGen::RandGen
    functionSourceFile: /src/mcl/include/mcl/randgen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RandGen(const RandGen& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - RandGen
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: mcl::fp::RandGen::RandGen
    functionSourceFile: /src/mcl/include/mcl/randgen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RandGen(RandGen& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - RandGen
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: '& operator=(const RandGen& rhs)'
    functionSourceFile: /src/mcl/include/mcl/randgen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RandGen
    signature: RandGen & operator=(const RandGen& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/mcl/include/mcl/randgen.hpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rg'
    argTypes:
    - RG
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: mcl::fp::RandGen::RandGen
    functionSourceFile: /src/mcl/include/mcl/randgen.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: void
    signature: void RandGen(RG& rg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pb
    - out
    - byteSize
    argTypes:
    - bool*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: mcl::fp::RandGen::read
    functionSourceFile: /src/mcl/include/mcl/randgen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void read(bool *pb, void *out, size_t byteSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: mcl::fp::RandGen::isZero
    functionSourceFile: /src/mcl/include/mcl/randgen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isZero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: mcl::fp::RandGen::isZero
    functionSourceFile: /src/mcl/include/mcl/randgen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isZero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::RandomGenerator::RandomGenerator
      Src: /src/mcl/include/mcl/randgen.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: '& getDefaultRandGen()'
    functionSourceFile: /src/mcl/include/mcl/randgen.hpp
    functionUses: 0
    functionsReached:
    - cybozu::RandomGenerator::RandomGenerator
    linkageType: ''
    returnType: RandGen
    signature: RandGen & getDefaultRandGen()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: '& get()'
    functionSourceFile: /src/mcl/include/mcl/randgen.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RandGen
    signature: RandGen & get()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/mcl/include/mcl/randgen.hpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rg'
    argTypes:
    - RandGen
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: mcl::fp::RandGen::setRandGen
    functionSourceFile: /src/mcl/include/mcl/randgen.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void setRandGen(const RandGen& rg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::RandGen::setRandGen
      Src: /src/mcl/include/mcl/randgen.hpp:120,1
    - Dst: getDefaultRandGen
      Src: /src/mcl/include/mcl/randgen.hpp:120,1
    - Dst: mcl::fp::RandGen::setRandGen
      Src: /src/mcl/include/mcl/randgen.hpp:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - self
    - readFunc
    argTypes:
    - void*
    - readFuncType
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: mcl::fp::RandGen::setRandFunc
    functionSourceFile: /src/mcl/include/mcl/randgen.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::RandGen::setRandGen
    - getDefaultRandGen
    linkageType: ''
    returnType: void
    signature: void setRandFunc(void *self, readFuncType readFunc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: mcl::FpDbl::getUnitSize
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getUnitSize()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: mcl::FpDbl::getUnit
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Unit
    signature: Unit *getUnit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::dump
      Src: /src/mcl/include/mcl/fp_tower.hpp:22,1
    - Dst: mcl::FpDbl::getUnitSize
      Src: /src/mcl/include/mcl/fp_tower.hpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: mcl::FpDbl::dump
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::dump
    - mcl::FpDbl::getUnitSize
    linkageType: ''
    returnType: void
    signature: void dump() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::write
      Src: /src/mcl/include/mcl/fp_tower.hpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pb
    - ' os'
    argTypes:
    - bool*
    - OutputStream
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: mcl::FpDbl::save
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - cybozu::write
    linkageType: ''
    returnType: void
    signature: void save(bool *pb, OutputStream& os, int) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::hexToArray
      Src: /src/mcl/include/mcl/fp_tower.hpp:44,1
    - Dst: mcl::FpDbl::getUnitSize
      Src: /src/mcl/include/mcl/fp_tower.hpp:44,1
    - Dst: mcl::FpDbl::getUnitSize
      Src: /src/mcl/include/mcl/fp_tower.hpp:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pb
    - ' is'
    argTypes:
    - bool*
    - InputStream
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: mcl::FpDbl::load
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpDbl::getUnitSize
    - mcl::fp::hexToArray
    linkageType: ''
    returnType: void
    signature: void load(bool *pb, InputStream& is, int)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpDbl::save
      Src: /src/mcl/include/mcl/fp_tower.hpp:54,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp_tower.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: mcl::FpDbl::save
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::FpDbl::save
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpDbl::load
      Src: /src/mcl/include/mcl/fp_tower.hpp:61,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp_tower.hpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: mcl::FpDbl::load
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::FpDbl::load
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpDbl::getMpz
      Src: /src/mcl/include/mcl/fp_tower.hpp:67,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp_tower.hpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: mcl::FpDbl::getMpz
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::FpDbl::getMpz
    linkageType: ''
    returnType: void
    signature: void getMpz(mpz_class& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpDbl::getMpz
      Src: /src/mcl/include/mcl/fp_tower.hpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: mcl::FpDbl::getMpz
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - mcl::FpDbl::getMpz
    linkageType: ''
    returnType: mpz_class
    signature: mpz_class getMpz() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: mcl::FpDbl::clear
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FpDbl
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: '& operator=(const FpDbl& rhs)'
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FpDbl
    signature: FpDbl & operator=(const FpDbl& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/fp_tower.hpp:95,1
    - Dst: assert
      Src: /src/mcl/include/mcl/fp_tower.hpp:99,1
    - Dst: memcpy
      Src: /src/mcl/include/mcl/fp_tower.hpp:102,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/include/mcl/fp_tower.hpp:102,1
    - Dst: memset
      Src: /src/mcl/include/mcl/fp_tower.hpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: mcl::FpDbl::setMpz
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - memset
    - mcl::gmp::getUnit
    linkageType: ''
    returnType: void
    signature: void setMpz(const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/include/mcl/fp_tower.hpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pb
    - ' x'
    argTypes:
    - bool*
    - mpz_class
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: mcl::FpDbl::getMpz
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - mcl::gmp::setArray
    linkageType: ''
    returnType: void
    signature: void getMpz(bool *pb, mpz_class& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fpDbl_addA_
      Src: /src/mcl/include/mcl/fp_tower.hpp:112,1
    - Dst: fpDbl_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - FpDbl
    - FpDbl
    - FpDbl
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: mcl::FpDbl::add
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - fpDbl_addA_
    - fpDbl_add
    linkageType: ''
    returnType: void
    signature: void add(FpDbl& z, const FpDbl& x, const FpDbl& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fpDbl_subA_
      Src: /src/mcl/include/mcl/fp_tower.hpp:120,1
    - Dst: fpDbl_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - FpDbl
    - FpDbl
    - FpDbl
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: mcl::FpDbl::sub
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - fpDbl_subA_
    - fpDbl_sub
    linkageType: ''
    returnType: void
    signature: void sub(FpDbl& z, const FpDbl& x, const FpDbl& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpDbl::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - FpDbl
    - FpDbl
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: mcl::FpDbl::neg
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpDbl::sub
    linkageType: ''
    returnType: void
    signature: void neg(FpDbl& z, const FpDbl& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fpDbl_modA_
      Src: /src/mcl/include/mcl/fp_tower.hpp:134,1
    - Dst: fpDbl_mod
      Src: /src/mcl/include/mcl/fp_tower.hpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' z'
    - ' xy'
    argTypes:
    - Fp
    - FpDbl
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: mcl::FpDbl::mod
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - fpDbl_modA_
    - fpDbl_mod
    linkageType: ''
    returnType: void
    signature: void mod(Fp& z, const FpDbl& xy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fpDbl_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: mcl::FpDbl::addA
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - fpDbl_add
    linkageType: ''
    returnType: void
    signature: void addA(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fpDbl_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: mcl::FpDbl::subA
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - fpDbl_sub
    linkageType: ''
    returnType: void
    signature: void subA(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fpDbl_mod
      Src: /src/mcl/include/mcl/fp_tower.hpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - z
    - xy
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: mcl::FpDbl::modA
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - fpDbl_mod
    linkageType: ''
    returnType: void
    signature: void modA(Unit *z, const Unit *xy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fpDbl_addPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - FpDbl
    - FpDbl
    - FpDbl
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: mcl::FpDbl::addPre
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - fpDbl_addPre
    linkageType: ''
    returnType: void
    signature: void addPre(FpDbl& z, const FpDbl& x, const FpDbl& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fpDbl_subPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - FpDbl
    - FpDbl
    - FpDbl
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: mcl::FpDbl::subPre
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - fpDbl_subPre
    linkageType: ''
    returnType: void
    signature: void subPre(FpDbl& z, const FpDbl& x, const FpDbl& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fpDbl_mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' xy'
    - ' x'
    - ' y'
    argTypes:
    - FpDbl
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: mcl::FpDbl::mulPre
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - fpDbl_mulPre
    linkageType: ''
    returnType: void
    signature: void mulPre(FpDbl& xy, const Fp& x, const Fp& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fpDbl_sqrPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' xx'
    - ' x'
    argTypes:
    - FpDbl
    - Fp
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: mcl::FpDbl::sqrPre
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - fpDbl_sqrPre
    linkageType: ''
    returnType: void
    signature: void sqrPre(FpDbl& xx, const Fp& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulSmallUnit
      Src: /src/mcl/include/mcl/fp_tower.hpp:153,1
    - Dst: assert
      Src: /src/mcl/include/mcl/fp_tower.hpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - FpDbl
    - FpDbl
    - Unit
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: mcl::FpDbl::mulUnit
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - assert
    - mulSmallUnit
    linkageType: ''
    returnType: void
    signature: void mulUnit(FpDbl& z, const FpDbl& x, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: mcl::FpDbl::init
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FpDbl
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: operator+=(const FpDbl& x)
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::add
    linkageType: ''
    returnType: void
    signature: void operator+=(const FpDbl& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FpDbl
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: operator-=(const FpDbl& x)
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::sub
    linkageType: ''
    returnType: void
    signature: void operator-=(const FpDbl& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: mcl::Fp2::get_gTbl
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Fp2
    signature: Fp2 *get_gTbl()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: mcl::Fp2::get_g2Tbl
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Fp2
    signature: Fp2 *get_g2Tbl()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: mcl::Fp2::get_g3Tbl
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Fp2
    signature: Fp2 *get_g3Tbl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::getByteSize
      Src: /src/mcl/include/mcl/fp_tower.hpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: mcl::Fp2::getByteSize
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 6
    functionsReached:
    - mcl::Fp2::getByteSize
    linkageType: ''
    returnType: size_t
    signature: size_t getByteSize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::dump
      Src: /src/mcl/include/mcl/fp_tower.hpp:198,1
    - Dst: mcl::Fp2::dump
      Src: /src/mcl/include/mcl/fp_tower.hpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: mcl::Fp2::dump
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - mcl::Fp2::dump
    linkageType: ''
    returnType: void
    signature: void dump() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: mcl::Fp2::Fp2
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fp2()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: mcl::Fp2::Fp2
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fp2(int64_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: mcl::Fp2::Fp2
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fp2(const Fp& a, const Fp& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: mcl::Fp2::Fp2
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fp2(int64_t a, int64_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: mcl::Fp2::getFp0
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Fp
    signature: Fp * getFp0()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: mcl::Fp2::getFp0
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Fp
    signature: Fp * getFp0() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::getUnit
      Src: /src/mcl/include/mcl/fp_tower.hpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: mcl::Fp2::getUnit
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - mcl::Fp2::getUnit
    linkageType: ''
    returnType: Unit
    signature: Unit * getUnit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::clear
      Src: /src/mcl/include/mcl/fp_tower.hpp:211,1
    - Dst: mcl::Fp2::clear
      Src: /src/mcl/include/mcl/fp_tower.hpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: mcl::Fp2::clear
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - mcl::Fp2::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a_
    - b_
    argTypes:
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: mcl::Fp2::set
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(const Fp &a_, const Fp &b_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_addA_
      Src: /src/mcl/include/mcl/fp_tower.hpp:222,1
    - Dst: mcl::Fp2::addA
      Src: /src/mcl/include/mcl/fp_tower.hpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp2
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 226
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 226
    functionName: mcl::Fp2::add
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 12
    functionsReached:
    - fp2_addA_
    - mcl::Fp2::addA
    linkageType: ''
    returnType: void
    signature: void add(Fp2& z, const Fp2& x, const Fp2& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_subA_
      Src: /src/mcl/include/mcl/fp_tower.hpp:230,1
    - Dst: mcl::Fp2::subA
      Src: /src/mcl/include/mcl/fp_tower.hpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp2
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: mcl::Fp2::sub
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 7
    functionsReached:
    - fp2_subA_
    - mcl::Fp2::subA
    linkageType: ''
    returnType: void
    signature: void sub(Fp2& z, const Fp2& x, const Fp2& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_negA_
      Src: /src/mcl/include/mcl/fp_tower.hpp:238,1
    - Dst: mcl::Fp2::negA
      Src: /src/mcl/include/mcl/fp_tower.hpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 242
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 242
    functionName: mcl::Fp2::neg
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 4
    functionsReached:
    - mcl::Fp2::negA
    - fp2_negA_
    linkageType: ''
    returnType: void
    signature: void neg(Fp2& y, const Fp2& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_mulA_
      Src: /src/mcl/include/mcl/fp_tower.hpp:246,1
    - Dst: mcl::Fp2::mulA
      Src: /src/mcl/include/mcl/fp_tower.hpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp2
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 6
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: mcl::Fp2::mul
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 15
    functionsReached:
    - fp2_mulA_
    - mcl::Fp2::mulA
    linkageType: ''
    returnType: void
    signature: void mul(Fp2& z, const Fp2& x, const Fp2& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_sqrA_
      Src: /src/mcl/include/mcl/fp_tower.hpp:254,1
    - Dst: mcl::Fp2::sqrA
      Src: /src/mcl/include/mcl/fp_tower.hpp:257,1
    - Dst: assert
      Src: /src/mcl/include/mcl/fp_tower.hpp:259,1
    - Dst: mcl::Fp2::sqrAu5
      Src: /src/mcl/include/mcl/fp_tower.hpp:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 263
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 263
    functionName: mcl::Fp2::sqr
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 11
    functionsReached:
    - fp2_sqrA_
    - assert
    - mcl::Fp2::sqrA
    - mcl::Fp2::sqrAu5
    linkageType: ''
    returnType: void
    signature: void sqr(Fp2& y, const Fp2& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_mul2A_
      Src: /src/mcl/include/mcl/fp_tower.hpp:267,1
    - Dst: mcl::Fp2::mul2A
      Src: /src/mcl/include/mcl/fp_tower.hpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: mcl::Fp2::mul2
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 6
    functionsReached:
    - fp2_mul2A_
    - mcl::Fp2::mul2A
    linkageType: ''
    returnType: void
    signature: void mul2(Fp2& y, const Fp2& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp2_mul_xiA_
      Src: /src/mcl/include/mcl/fp_tower.hpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: mcl::Fp2::mul_xi
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 10
    functionsReached:
    - fp2_mul_xiA_
    linkageType: ''
    returnType: void
    signature: void mul_xi(Fp2& y, const Fp2& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/fp_tower.hpp:282,1
    - Dst: mcl::Fp2::isZero
      Src: /src/mcl/include/mcl/fp_tower.hpp:282,1
    - Dst: Fp::Fp
      Src: /src/mcl/include/mcl/fp_tower.hpp:285,1
    - Dst: mcl::Fp2::norm
      Src: /src/mcl/include/mcl/fp_tower.hpp:286,1
    - Dst: get_da_inv
      Src: /src/mcl/include/mcl/fp_tower.hpp:287,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/fp_tower.hpp:288,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/fp_tower.hpp:289,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/fp_tower.hpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: mcl::Fp2::inv
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 7
    functionsReached:
    - mcl::Fp2::isZero
    - get_da_inv
    - assert
    - mcl::Fp2::norm
    - Botan::EC_Group_Data::affine_neg
    - fiat_bls12_381_fp_mul
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void inv(Fp2& y, const Fp2& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vaddPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:294,1
    - Dst: vaddPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp2
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: mcl::Fp2::addPre
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - vaddPre
    linkageType: ''
    returnType: void
    signature: void addPre(Fp2& z, const Fp2& x, const Fp2& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::divBy2
      Src: /src/mcl/include/mcl/fp_tower.hpp:299,1
    - Dst: mcl::Fp2::divBy2
      Src: /src/mcl/include/mcl/fp_tower.hpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: mcl::Fp2::divBy2
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 3
    functionsReached:
    - mcl::Fp2::divBy2
    linkageType: ''
    returnType: void
    signature: void divBy2(Fp2& y, const Fp2& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::divBy4
      Src: /src/mcl/include/mcl/fp_tower.hpp:304,1
    - Dst: mcl::Fp2::divBy4
      Src: /src/mcl/include/mcl/fp_tower.hpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: mcl::Fp2::divBy4
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - mcl::Fp2::divBy4
    linkageType: ''
    returnType: void
    signature: void divBy4(Fp2& y, const Fp2& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/fp_tower.hpp:309,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/fp_tower.hpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp2
    - Fp2
    - Fp
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: mcl::Fp2::mulFp
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mulFp(Fp2& z, const Fp2& x, const Fp& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/fp_tower.hpp:315,1
    - Dst: mcl::Fp2::setArray
      Src: /src/mcl/include/mcl/fp_tower.hpp:317,1
    - Dst: mcl::Fp2::setArray
      Src: /src/mcl/include/mcl/fp_tower.hpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pb
    - buf
    - n
    argTypes:
    - bool*
    - S*
    - size_t
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: mcl::Fp2::setArray
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - assert
    - mcl::Fp2::setArray
    linkageType: ''
    returnType: void
    signature: void setArray(bool *pb, const S *buf, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBn_getETHserialization
      Src: /src/mcl/include/mcl/fp_tower.hpp:325,1
    - Dst: mcl::fp::swap_
      Src: /src/mcl/include/mcl/fp_tower.hpp:326,1
    - Dst: Fp*::load
      Src: /src/mcl/include/mcl/fp_tower.hpp:328,1
    - Dst: mcl::Fp2::load
      Src: /src/mcl/include/mcl/fp_tower.hpp:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pb
    - ' is'
    - ioMode
    argTypes:
    - bool*
    - InputStream
    - int
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: mcl::Fp2::load
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - mcl::Fp2::load
    - Fp*::load
    - mclBn_getETHserialization
    - mcl::fp::swap_
    linkageType: ''
    returnType: void
    signature: void load(bool *pb, InputStream& is, int ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBn_getETHserialization
      Src: /src/mcl/include/mcl/fp_tower.hpp:339,1
    - Dst: mcl::fp::swap_
      Src: /src/mcl/include/mcl/fp_tower.hpp:340,1
    - Dst: Fp*::save
      Src: /src/mcl/include/mcl/fp_tower.hpp:343,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/fp_tower.hpp:346,1
    - Dst: mcl::Fp2::save
      Src: /src/mcl/include/mcl/fp_tower.hpp:349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - pb
    - ' os'
    - ioMode
    argTypes:
    - bool*
    - OutputStream
    - int
    constantsTouched: []
    func_position:
      end: 350
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 350
    functionName: mcl::Fp2::save
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::swap_
    - mclBn_getETHserialization
    - cybozu::writeChar
    - Fp*::save
    - mcl::Fp2::save
    linkageType: ''
    returnType: void
    signature: void save(bool *pb, OutputStream& os, int ioMode) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::isZero
      Src: /src/mcl/include/mcl/fp_tower.hpp:351,1
    - Dst: mcl::Fp2::isZero
      Src: /src/mcl/include/mcl/fp_tower.hpp:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: mcl::Fp2::isZero
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - mcl::Fp2::isZero
    linkageType: ''
    returnType: bool
    signature: bool isZero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::isOne
      Src: /src/mcl/include/mcl/fp_tower.hpp:352,1
    - Dst: mcl::Fp2::isZero
      Src: /src/mcl/include/mcl/fp_tower.hpp:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: mcl::Fp2::isOne
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - mcl::Fp2::isZero
    - mcl::Fp2::isOne
    linkageType: ''
    returnType: bool
    signature: bool isOne() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Fp2
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: operator==(const Fp2& rhs) const
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Fp2& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Fp2
    constantsTouched: []
    func_position:
      end: 354
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 354
    functionName: operator!=(const Fp2& rhs) const
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Fp2& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::isOdd
      Src: /src/mcl/include/mcl/fp_tower.hpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: mcl::Fp2::isOdd
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - mcl::Fp2::isOdd
    linkageType: ''
    returnType: bool
    signature: bool isOdd() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/include/mcl/fp_tower.hpp:370,1
    - Dst: b::isZero
      Src: /src/mcl/include/mcl/fp_tower.hpp:371,1
    - Dst: mcl::Fp2::squareRoot
      Src: /src/mcl/include/mcl/fp_tower.hpp:372,1
    - Dst: b::clear
      Src: /src/mcl/include/mcl/fp_tower.hpp:374,1
    - Dst: assert
      Src: /src/mcl/include/mcl/fp_tower.hpp:377,1
    - Dst: a::clear
      Src: /src/mcl/include/mcl/fp_tower.hpp:378,1
    - Dst: mcl::Fp2::norm
      Src: /src/mcl/include/mcl/fp_tower.hpp:383,1
    - Dst: mcl::Fp2::squareRoot
      Src: /src/mcl/include/mcl/fp_tower.hpp:384,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:385,1
    - Dst: mcl::Fp2::divBy2
      Src: /src/mcl/include/mcl/fp_tower.hpp:386,1
    - Dst: mcl::Fp2::squareRoot
      Src: /src/mcl/include/mcl/fp_tower.hpp:387,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:388,1
    - Dst: mcl::Fp2::divBy2
      Src: /src/mcl/include/mcl/fp_tower.hpp:389,1
    - Dst: assert
      Src: /src/mcl/include/mcl/fp_tower.hpp:391,1
    - Dst: get_da_inv
      Src: /src/mcl/include/mcl/fp_tower.hpp:395,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/fp_tower.hpp:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 398
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 398
    functionName: mcl::Fp2::squareRoot
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 4
    functionsReached:
    - mcl::Fp2::squareRoot
    - b::isZero
    - get_da_inv
    - assert
    - fiat_bls12_381_fp_sub
    - a::clear
    - b::clear
    - mcl::Fp2::norm
    - fiat_bls12_381_fp_add
    - mcl::Fp2::divBy2
    - fiat_bls12_381_fp_mul
    - Fp::Fp
    linkageType: ''
    returnType: bool
    signature: bool squareRoot(Fp2& y, const Fp2& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpDbl::sqrPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:403,1
    - Dst: mcl::FpDbl::sqrPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:404,1
    - Dst: mcl::fp::mulSmallUnit
      Src: /src/mcl/include/mcl/fp_tower.hpp:407,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/fp_tower.hpp:409,1
    - Dst: mcl::FpDbl::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:410,1
    - Dst: mcl::FpDbl::addPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:412,1
    - Dst: mcl::FpDbl::mod
      Src: /src/mcl/include/mcl/fp_tower.hpp:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp
    - Fp2
    constantsTouched: []
    func_position:
      end: 415
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 415
    functionName: mcl::Fp2::norm
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 3
    functionsReached:
    - mcl::FpDbl::add
    - mcl::FpDbl::addPre
    - mcl::fp::mulSmallUnit
    - mcl::FpDbl::sqrPre
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - mcl::FpDbl::mod
    linkageType: ''
    returnType: void
    signature: void norm(Fp& y, const Fp2& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/fp_tower.hpp:426,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/fp_tower.hpp:434,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/fp_tower.hpp:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 439
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 439
    functionName: mcl::Fp2::Frobenius
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - Botan::EC_Group_Data::affine_neg
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: void
    signature: void Frobenius(Fp2& y, const Fp2& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/fp_tower.hpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 441
    functionName: mcl::Fp2::get_xi_a
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_xi_a()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::init
      Src: /src/mcl/include/mcl/fp_tower.hpp:447,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp_tower.hpp:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 449
    functionName: mcl::Fp2::init
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 4
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::Fp2::init
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::load
      Src: /src/mcl/include/mcl/fp_tower.hpp:454,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp_tower.hpp:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 456
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 456
    functionName: mcl::Fp2::load
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - mcl::Fp2::load
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::save
      Src: /src/mcl/include/mcl/fp_tower.hpp:461,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp_tower.hpp:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 463
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 463
    functionName: mcl::Fp2::save
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::Fp2::save
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::setArray
      Src: /src/mcl/include/mcl/fp_tower.hpp:468,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp_tower.hpp:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - n
    argTypes:
    - S*
    - size_t
    constantsTouched: []
    func_position:
      end: 470
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 470
    functionName: mcl::Fp2::setArray
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::Fp2::setArray
    linkageType: ''
    returnType: void
    signature: void setArray(const S *buf, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: mcl::Fp2::Fp2
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fp2(const std::string& a, const std::string& b, int base = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/include/mcl/fp_tower.hpp:476,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/fp_tower.hpp:476,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/fp_tower.hpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - Fp2
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: '& operator>>(std::istream& is, Fp2& self)'
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - load
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, Fp2& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/fp_tower.hpp:481,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/fp_tower.hpp:481,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/fp_tower.hpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - Fp2
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: '& operator<<(std::ostream& os, const Fp2& self)'
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - save
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Fp2& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Fp2*>
      Src: /src/mcl/include/mcl/fp_tower.hpp:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - Unit*
    constantsTouched: []
    func_position:
      end: 486
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 486
    functionName: '& cast(Unit *x)'
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Fp2*>
    linkageType: ''
    returnType: Fp2
    signature: Fp2 & cast(Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Fp2*>
      Src: /src/mcl/include/mcl/fp_tower.hpp:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - Unit*
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: '& cast(const Unit *x)'
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const Fp2*>
    linkageType: ''
    returnType: Fp2
    signature: Fp2 & cast(const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:494,1
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:495,1
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:496,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:497,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pz
    - px
    - py
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 499
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 499
    functionName: mcl::Fp2::addA
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - cast
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void addA(Unit *pz, const Unit *px, const Unit *py)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:502,1
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:503,1
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:504,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:505,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pz
    - px
    - py
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 507
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 507
    functionName: mcl::Fp2::subA
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - cast
    - fiat_bls12_381_fp_sub
    linkageType: ''
    returnType: void
    signature: void subA(Unit *pz, const Unit *px, const Unit *py)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:510,1
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:511,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/fp_tower.hpp:512,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/fp_tower.hpp:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - py
    - px
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 514
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 514
    functionName: mcl::Fp2::negA
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - cast
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void negA(Unit *py, const Unit *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:518,1
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:519,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/include/mcl/fp_tower.hpp:520,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/include/mcl/fp_tower.hpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - py
    - px
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 522
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 522
    functionName: mcl::Fp2::mul2A
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - cast
    - Botan::PCurve::GenericField::mul2
    linkageType: ''
    returnType: void
    signature: void mul2A(Unit *py, const Unit *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:529,1
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:530,1
    - Dst: Fp::Fp
      Src: /src/mcl/include/mcl/fp_tower.hpp:533,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/include/mcl/fp_tower.hpp:534,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:536,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:537,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/fp_tower.hpp:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - py
    - px
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 540
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 540
    functionName: mcl::Fp2::sqrA
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_add
    - cast
    - Botan::PCurve::GenericField::mul2
    - fiat_bls12_381_fp_mul
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void sqrA(Unit *py, const Unit *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:549,1
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:550,1
    - Dst: Fp::Fp
      Src: /src/mcl/include/mcl/fp_tower.hpp:553,1
    - Dst: get_mulUnit
      Src: /src/mcl/include/mcl/fp_tower.hpp:554,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/fp_tower.hpp:554,1
    - Dst: get_mulUnit
      Src: /src/mcl/include/mcl/fp_tower.hpp:556,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/fp_tower.hpp:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - py
    - px
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 559
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 559
    functionName: mcl::Fp2::fp2_mul_xi_a_iA
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - cast
    - Fp::Fp
    - get_mulUnit
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: void
    signature: void fp2_mul_xi_a_iA(Unit *py, const Unit *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:566,1
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:567,1
    - Dst: Fp::Fp
      Src: /src/mcl/include/mcl/fp_tower.hpp:570,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:571,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - py
    - px
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 574
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 574
    functionName: mcl::Fp2::fp2_mul_xi_1_iA
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - cast
    - Fp::Fp
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void fp2_mul_xi_1_iA(Unit *py, const Unit *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:578,1
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:579,1
    - Dst: assert
      Src: /src/mcl/include/mcl/fp_tower.hpp:582,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/fp_tower.hpp:582,1
    - Dst: Fp::Fp
      Src: /src/mcl/include/mcl/fp_tower.hpp:583,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/include/mcl/fp_tower.hpp:584,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/include/mcl/fp_tower.hpp:585,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:586,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:587,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:588,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/fp_tower.hpp:589,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/fp_tower.hpp:590,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/include/mcl/fp_tower.hpp:591,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - py
    - px
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 593
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 593
    functionName: mcl::Fp2::sqrAu5
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - assert
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_add
    - cast
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - Botan::PCurve::GenericField::mul2
    - fiat_bls12_381_fp_mul
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void sqrAu5(Unit *py, const Unit *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:603,1
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:604,1
    - Dst: Fp::Fp
      Src: /src/mcl/include/mcl/fp_tower.hpp:607,1
    - Dst: get_mulUnit
      Src: /src/mcl/include/mcl/fp_tower.hpp:608,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/fp_tower.hpp:608,1
    - Dst: Fp::Fp
      Src: /src/mcl/include/mcl/fp_tower.hpp:609,1
    - Dst: get_mulUnit
      Src: /src/mcl/include/mcl/fp_tower.hpp:610,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/fp_tower.hpp:610,1
    - Dst: get_mulUnit
      Src: /src/mcl/include/mcl/fp_tower.hpp:612,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/fp_tower.hpp:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - py
    - px
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 615
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 615
    functionName: mcl::Fp2::fp2u_mul_xi_a_iA
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - cast
    - Fp::Fp
    - get_mulUnit
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: void
    signature: void fp2u_mul_xi_a_iA(Unit *py, const Unit *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:623,1
    - Dst: cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:624,1
    - Dst: Fp::Fp
      Src: /src/mcl/include/mcl/fp_tower.hpp:625,1
    - Dst: get_mulUnit
      Src: /src/mcl/include/mcl/fp_tower.hpp:626,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/fp_tower.hpp:626,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/fp_tower.hpp:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - py
    - px
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 629
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 629
    functionName: mcl::Fp2::fp2u_mul_xi_0_iA
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - cast
    - get_mulUnit
    - Botan::EC_Group_Data::affine_neg
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void fp2u_mul_xi_0_iA(Unit *py, const Unit *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpDbl::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:636,1
    - Dst: mcl::FpDbl::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp2Dbl
    - Fp2Dbl
    - Fp2Dbl
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: mcl::add
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - mcl::FpDbl::add
    linkageType: ''
    returnType: void
    signature: void add(Fp2Dbl& z, const Fp2Dbl& x, const Fp2Dbl& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpDbl::addPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:641,1
    - Dst: mcl::FpDbl::addPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp2Dbl
    - Fp2Dbl
    - Fp2Dbl
    constantsTouched: []
    func_position:
      end: 643
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 643
    functionName: mcl::addPre
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpDbl::addPre
    linkageType: ''
    returnType: void
    signature: void addPre(Fp2Dbl& z, const Fp2Dbl& x, const Fp2Dbl& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpDbl::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:646,1
    - Dst: mcl::FpDbl::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp2Dbl
    - Fp2Dbl
    - Fp2Dbl
    constantsTouched: []
    func_position:
      end: 648
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 648
    functionName: mcl::sub
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - mcl::FpDbl::sub
    linkageType: ''
    returnType: void
    signature: void sub(Fp2Dbl& z, const Fp2Dbl& x, const Fp2Dbl& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpDbl::subPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:651,1
    - Dst: mcl::FpDbl::subPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp2Dbl
    - Fp2Dbl
    - Fp2Dbl
    constantsTouched: []
    func_position:
      end: 653
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 653
    functionName: mcl::subPre
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpDbl::subPre
    linkageType: ''
    returnType: void
    signature: void subPre(Fp2Dbl& z, const Fp2Dbl& x, const Fp2Dbl& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpDbl::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:661,1
    - Dst: mcl::FpDbl::subPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:663,1
    - Dst: mcl::FpDbl::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp2Dbl
    - Fp2Dbl
    constantsTouched: []
    func_position:
      end: 667
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 667
    functionName: mcl::subSpecial
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpDbl::sub
    - mcl::FpDbl::subPre
    linkageType: ''
    returnType: void
    signature: void subSpecial(Fp2Dbl& y, const Fp2Dbl& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpDbl::neg
      Src: /src/mcl/include/mcl/fp_tower.hpp:670,1
    - Dst: mcl::FpDbl::neg
      Src: /src/mcl/include/mcl/fp_tower.hpp:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp2Dbl
    - Fp2Dbl
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: mcl::neg
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpDbl::neg
    linkageType: ''
    returnType: void
    signature: void neg(Fp2Dbl& y, const Fp2Dbl& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/fp_tower.hpp:675,1
    - Dst: getUnit
      Src: /src/mcl/include/mcl/fp_tower.hpp:675,1
    - Dst: getUnit
      Src: /src/mcl/include/mcl/fp_tower.hpp:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp2Dbl
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 676
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 676
    functionName: mcl::mulPre
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - getUnit
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: void
    signature: void mulPre(Fp2Dbl& z, const Fp2& x, const Fp2& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/fp_tower.hpp:679,1
    - Dst: getUnit
      Src: /src/mcl/include/mcl/fp_tower.hpp:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp2Dbl
    - Fp2
    constantsTouched: []
    func_position:
      end: 680
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 680
    functionName: mcl::sqrPre
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 3
    functionsReached:
    - getUnit
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: void
    signature: void sqrPre(Fp2Dbl& y, const Fp2& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/fp_tower.hpp:683,1
    - Dst: a::getUnit
      Src: /src/mcl/include/mcl/fp_tower.hpp:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp2Dbl
    - Fp2Dbl
    constantsTouched: []
    func_position:
      end: 684
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 684
    functionName: mcl::mul_xi
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 6
    functionsReached:
    - a::getUnit
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: void
    signature: void mul_xi(Fp2Dbl& y, const Fp2Dbl& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpDbl::mod
      Src: /src/mcl/include/mcl/fp_tower.hpp:687,1
    - Dst: mcl::FpDbl::mod
      Src: /src/mcl/include/mcl/fp_tower.hpp:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp2
    - Fp2Dbl
    constantsTouched: []
    func_position:
      end: 689
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 689
    functionName: mcl::mod
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpDbl::mod
    linkageType: ''
    returnType: void
    signature: void mod(Fp2& y, const Fp2Dbl& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Fp2Dbl
    constantsTouched: []
    func_position:
      end: 690
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 690
    functionName: operator+=(const Fp2Dbl& x)
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::add
    linkageType: ''
    returnType: void
    signature: void operator+=(const Fp2Dbl& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Fp2Dbl
    constantsTouched: []
    func_position:
      end: 691
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 691
    functionName: operator-=(const Fp2Dbl& x)
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::sub
    linkageType: ''
    returnType: void
    signature: void operator-=(const Fp2Dbl& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::getOpNonConst
      Src: /src/mcl/include/mcl/fp_tower.hpp:695,1
    - Dst: assert
      Src: /src/mcl/include/mcl/fp_tower.hpp:705,1
    - Dst: assert
      Src: /src/mcl/include/mcl/fp_tower.hpp:727,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 731
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 731
    functionName: mcl::init
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 4
    functionsReached:
    - assert
    - Fp::getOpNonConst
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Fp2*>
      Src: /src/mcl/include/mcl/fp_tower.hpp:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - Unit*
    constantsTouched: []
    func_position:
      end: 733
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 733
    functionName: mcl::cast
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Fp2*>
    linkageType: ''
    returnType: Fp2
    signature: Fp2 cast(Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Fp2*>
      Src: /src/mcl/include/mcl/fp_tower.hpp:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - Unit*
    constantsTouched: []
    func_position:
      end: 734
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 734
    functionName: mcl::cast
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const Fp2*>
    linkageType: ''
    returnType: Fp2
    signature: Fp2 cast(const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Fp2Dbl*>
      Src: /src/mcl/include/mcl/fp_tower.hpp:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - Unit*
    constantsTouched: []
    func_position:
      end: 735
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 735
    functionName: '& castD(Unit *x)'
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Fp2Dbl*>
    linkageType: ''
    returnType: Fp2Dbl
    signature: Fp2Dbl & castD(Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Fp2Dbl*>
      Src: /src/mcl/include/mcl/fp_tower.hpp:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - Unit*
    constantsTouched: []
    func_position:
      end: 736
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 736
    functionName: '& castD(const Unit *x)'
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const Fp2Dbl*>
    linkageType: ''
    returnType: Fp2Dbl
    signature: Fp2Dbl & castD(const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: castD
      Src: /src/mcl/include/mcl/fp_tower.hpp:745,1
    - Dst: mcl::cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:746,1
    - Dst: mcl::cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:747,1
    - Dst: Fp::Fp
      Src: /src/mcl/include/mcl/fp_tower.hpp:755,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:757,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:758,1
    - Dst: vaddPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:760,1
    - Dst: vaddPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:761,1
    - Dst: mcl::FpDbl::mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:763,1
    - Dst: mcl::FpDbl::mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:764,1
    - Dst: mcl::FpDbl::mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:765,1
    - Dst: mcl::FpDbl::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:767,1
    - Dst: mcl::FpDbl::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:768,1
    - Dst: mcl::FpDbl::subPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:770,1
    - Dst: mcl::FpDbl::subPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:771,1
    - Dst: mcl::FpDbl::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - pz
    - px
    - py
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 774
      start: 743
    functionDepth: 3
    functionLinenumber: 743
    functionLinenumberEnd: 774
    functionName: mcl::mulPreA
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpDbl::sub
    - mcl::FpDbl::subPre
    - mcl::cast
    - vaddPre
    - fiat_bls12_381_fp_add
    - mcl::FpDbl::mulPre
    - castD
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void mulPreA(Unit *pz, const Unit *px, const Unit *py)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: castD
      Src: /src/mcl/include/mcl/fp_tower.hpp:778,1
    - Dst: mcl::cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:779,1
    - Dst: Fp::Fp
      Src: /src/mcl/include/mcl/fp_tower.hpp:780,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:782,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:783,1
    - Dst: vaddPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:785,1
    - Dst: vaddPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:786,1
    - Dst: mcl::FpDbl::mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:788,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:789,1
    - Dst: mcl::FpDbl::mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - py
    - px
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 791
      start: 776
    functionDepth: 3
    functionLinenumber: 776
    functionLinenumberEnd: 791
    functionName: mcl::sqrPreA
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::cast
    - fiat_bls12_381_fp_sub
    - vaddPre
    - fiat_bls12_381_fp_add
    - mcl::FpDbl::mulPre
    - castD
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void sqrPreA(Unit *py, const Unit *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: castD
      Src: /src/mcl/include/mcl/fp_tower.hpp:794,1
    - Dst: castD
      Src: /src/mcl/include/mcl/fp_tower.hpp:795,1
    - Dst: mcl::FpDbl::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:797,1
    - Dst: mcl::FpDbl::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - py
    - px
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: mcl::mul_xi_1_iA
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpDbl::sub
    - castD
    - mcl::FpDbl::add
    linkageType: ''
    returnType: void
    signature: void mul_xi_1_iA(Unit *py, const Unit *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: castD
      Src: /src/mcl/include/mcl/fp_tower.hpp:804,1
    - Dst: castD
      Src: /src/mcl/include/mcl/fp_tower.hpp:805,1
    - Dst: mcl::FpDbl::mulUnit
      Src: /src/mcl/include/mcl/fp_tower.hpp:807,1
    - Dst: mcl::FpDbl::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:808,1
    - Dst: mcl::FpDbl::mulUnit
      Src: /src/mcl/include/mcl/fp_tower.hpp:809,1
    - Dst: mcl::FpDbl::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - py
    - px
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 812
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 812
    functionName: mcl::mul_xi_a_iA
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpDbl::sub
    - castD
    - mcl::FpDbl::add
    - mcl::FpDbl::mulUnit
    linkageType: ''
    returnType: void
    signature: void mul_xi_a_iA(Unit *py, const Unit *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: castD
      Src: /src/mcl/include/mcl/fp_tower.hpp:820,1
    - Dst: mcl::cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:821,1
    - Dst: mcl::cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:822,1
    - Dst: Fp::Fp
      Src: /src/mcl/include/mcl/fp_tower.hpp:830,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:832,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:833,1
    - Dst: vaddPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:835,1
    - Dst: vaddPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:836,1
    - Dst: mcl::FpDbl::mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:838,1
    - Dst: mcl::FpDbl::mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:839,1
    - Dst: mcl::FpDbl::mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:840,1
    - Dst: mcl::FpDbl::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:842,1
    - Dst: mcl::FpDbl::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:843,1
    - Dst: mcl::FpDbl::subPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:845,1
    - Dst: mcl::FpDbl::subPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:846,1
    - Dst: mcl::fp::mulSmallUnit
      Src: /src/mcl/include/mcl/fp_tower.hpp:849,1
    - Dst: mcl::FpDbl::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:850,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - pz
    - px
    - py
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 851
      start: 818
    functionDepth: 3
    functionLinenumber: 818
    functionLinenumberEnd: 851
    functionName: mcl::mulPreAu
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpDbl::sub
    - mcl::FpDbl::subPre
    - mcl::cast
    - vaddPre
    - fiat_bls12_381_fp_add
    - mcl::fp::mulSmallUnit
    - mcl::FpDbl::mulPre
    - castD
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void mulPreAu(Unit *pz, const Unit *px, const Unit *py)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: castD
      Src: /src/mcl/include/mcl/fp_tower.hpp:855,1
    - Dst: mcl::cast
      Src: /src/mcl/include/mcl/fp_tower.hpp:856,1
    - Dst: assert
      Src: /src/mcl/include/mcl/fp_tower.hpp:857,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/fp_tower.hpp:857,1
    - Dst: Fp::Fp
      Src: /src/mcl/include/mcl/fp_tower.hpp:858,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/include/mcl/fp_tower.hpp:859,1
    - Dst: mcl::FpDbl::mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:860,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/include/mcl/fp_tower.hpp:861,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:862,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:863,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:864,1
    - Dst: mcl::FpDbl::mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:865,1
    - Dst: mcl::FpDbl::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:866,1
    - Dst: mcl::FpDbl::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - py
    - px
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 868
      start: 853
    functionDepth: 2
    functionLinenumber: 853
    functionLinenumberEnd: 868
    functionName: mcl::sqrPreAu5
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpDbl::sub
    - assert
    - mcl::cast
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_add
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - Botan::PCurve::GenericField::mul2
    - mcl::FpDbl::mulPre
    - castD
    - Fp::Fp
    linkageType: ''
    returnType: void
    signature: void sqrPreAu5(Unit *py, const Unit *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: castD
      Src: /src/mcl/include/mcl/fp_tower.hpp:871,1
    - Dst: castD
      Src: /src/mcl/include/mcl/fp_tower.hpp:872,1
    - Dst: mcl::fp::mulSmallUnit
      Src: /src/mcl/include/mcl/fp_tower.hpp:875,1
    - Dst: mcl::FpDbl::neg
      Src: /src/mcl/include/mcl/fp_tower.hpp:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - py
    - px
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 878
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 878
    functionName: mcl::mulu_xi_0_iA
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - castD
    - mcl::FpDbl::neg
    - mcl::fp::mulSmallUnit
    linkageType: ''
    returnType: void
    signature: void mulu_xi_0_iA(Unit *py, const Unit *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 888
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 888
    functionName: mcl::Fp6
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fp6()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 889
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 889
    functionName: mcl::Fp6
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fp6(int64_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - Fp2
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 890
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 890
    functionName: mcl::Fp6
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fp6(const Fp2& a, const Fp2& b, const Fp2& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::clear
      Src: /src/mcl/include/mcl/fp_tower.hpp:893,1
    - Dst: mcl::clear
      Src: /src/mcl/include/mcl/fp_tower.hpp:894,1
    - Dst: mcl::clear
      Src: /src/mcl/include/mcl/fp_tower.hpp:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 896
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 896
    functionName: mcl::clear
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 11
    functionsReached:
    - mcl::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getFp0
      Src: /src/mcl/include/mcl/fp_tower.hpp:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 897
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 897
    functionName: mcl::getFp0
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 3
    functionsReached:
    - mcl::getFp0
    linkageType: ''
    returnType: Fp
    signature: Fp * getFp0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getFp0
      Src: /src/mcl/include/mcl/fp_tower.hpp:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 898
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 898
    functionName: mcl::getFp0
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 4
    functionsReached:
    - mcl::getFp0
    linkageType: ''
    returnType: Fp
    signature: Fp * getFp0() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 899
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 899
    functionName: mcl::getFp2
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Fp2
    signature: Fp2 * getFp2()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 900
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 900
    functionName: mcl::getFp2
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Fp2
    signature: Fp2 * getFp2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - a_
    - b_
    - c_
    argTypes:
    - Fp2
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 906
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 906
    functionName: mcl::set
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(const Fp2 &a_, const Fp2 &b_, const Fp2 &c_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::isZero
      Src: /src/mcl/include/mcl/fp_tower.hpp:909,1
    - Dst: mcl::isZero
      Src: /src/mcl/include/mcl/fp_tower.hpp:909,1
    - Dst: mcl::isZero
      Src: /src/mcl/include/mcl/fp_tower.hpp:909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 910
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 910
    functionName: mcl::isZero
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 12
    functionsReached:
    - mcl::isZero
    linkageType: ''
    returnType: bool
    signature: bool isZero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::isOne
      Src: /src/mcl/include/mcl/fp_tower.hpp:913,1
    - Dst: mcl::isZero
      Src: /src/mcl/include/mcl/fp_tower.hpp:913,1
    - Dst: mcl::isZero
      Src: /src/mcl/include/mcl/fp_tower.hpp:913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 914
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 914
    functionName: mcl::isOne
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - mcl::isZero
    - mcl::isOne
    linkageType: ''
    returnType: bool
    signature: bool isOne() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Fp6
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: operator==(const Fp6& rhs) const
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Fp6& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Fp6
    constantsTouched: []
    func_position:
      end: 919
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 919
    functionName: operator!=(const Fp6& rhs) const
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Fp6& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::load
      Src: /src/mcl/include/mcl/fp_tower.hpp:923,1
    - Dst: mcl::load
      Src: /src/mcl/include/mcl/fp_tower.hpp:924,1
    - Dst: mcl::load
      Src: /src/mcl/include/mcl/fp_tower.hpp:925,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pb
    - ' is'
    - ioMode
    argTypes:
    - bool*
    - InputStream
    - int
    constantsTouched: []
    func_position:
      end: 926
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 926
    functionName: mcl::load
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - mcl::load
    linkageType: ''
    returnType: void
    signature: void load(bool *pb, InputStream& is, int ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::save
      Src: /src/mcl/include/mcl/fp_tower.hpp:931,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/fp_tower.hpp:933,1
    - Dst: mcl::save
      Src: /src/mcl/include/mcl/fp_tower.hpp:936,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/fp_tower.hpp:938,1
    - Dst: mcl::save
      Src: /src/mcl/include/mcl/fp_tower.hpp:941,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - pb
    - ' os'
    - ioMode
    argTypes:
    - bool*
    - OutputStream
    - int
    constantsTouched: []
    func_position:
      end: 942
      start: 928
    functionDepth: 1
    functionLinenumber: 928
    functionLinenumberEnd: 942
    functionName: mcl::save
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - cybozu::writeChar
    - mcl::save
    linkageType: ''
    returnType: void
    signature: void save(bool *pb, OutputStream& os, int ioMode) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::load
      Src: /src/mcl/include/mcl/fp_tower.hpp:948,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp_tower.hpp:949,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 950
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 950
    functionName: mcl::load
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::load
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::save
      Src: /src/mcl/include/mcl/fp_tower.hpp:955,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp_tower.hpp:956,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 957
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 957
    functionName: mcl::save
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::save
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/include/mcl/fp_tower.hpp:962,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/fp_tower.hpp:962,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/fp_tower.hpp:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - Fp6
    constantsTouched: []
    func_position:
      end: 964
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 964
    functionName: '& operator>>(std::istream& is, Fp6& self)'
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - load
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, Fp6& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/fp_tower.hpp:967,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/fp_tower.hpp:967,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/fp_tower.hpp:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - Fp6
    constantsTouched: []
    func_position:
      end: 969
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 969
    functionName: '& operator<<(std::ostream& os, const Fp6& self)'
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - save
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Fp6& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:973,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:974,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp6
    - Fp6
    - Fp6
    constantsTouched: []
    func_position:
      end: 976
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 976
    functionName: mcl::add
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - mcl::Fp2::add
    linkageType: ''
    returnType: void
    signature: void add(Fp6& z, const Fp6& x, const Fp6& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:979,1
    - Dst: mcl::Fp2::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:980,1
    - Dst: mcl::Fp2::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp6
    - Fp6
    - Fp6
    constantsTouched: []
    func_position:
      end: 982
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 982
    functionName: mcl::sub
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - mcl::Fp2::sub
    linkageType: ''
    returnType: void
    signature: void sub(Fp6& z, const Fp6& x, const Fp6& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::neg
      Src: /src/mcl/include/mcl/fp_tower.hpp:985,1
    - Dst: mcl::Fp2::neg
      Src: /src/mcl/include/mcl/fp_tower.hpp:986,1
    - Dst: mcl::Fp2::neg
      Src: /src/mcl/include/mcl/fp_tower.hpp:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp6
    - Fp6
    constantsTouched: []
    func_position:
      end: 988
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 988
    functionName: mcl::neg
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::Fp2::neg
    linkageType: ''
    returnType: void
    signature: void neg(Fp6& y, const Fp6& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::mul2
      Src: /src/mcl/include/mcl/fp_tower.hpp:991,1
    - Dst: mcl::Fp2::mul2
      Src: /src/mcl/include/mcl/fp_tower.hpp:992,1
    - Dst: mcl::Fp2::mul2
      Src: /src/mcl/include/mcl/fp_tower.hpp:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp6
    - Fp6
    constantsTouched: []
    func_position:
      end: 994
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 994
    functionName: mcl::mul2
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::Fp2::mul2
    linkageType: ''
    returnType: void
    signature: void mul2(Fp6& y, const Fp6& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1004,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1005,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp6Dbl
    - Fp6Dbl
    - Fp6Dbl
    constantsTouched: []
    func_position:
      end: 1007
      start: 1002
    functionDepth: 2
    functionLinenumber: 1002
    functionLinenumberEnd: 1007
    functionName: mcl::add
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void add(Fp6Dbl& z, const Fp6Dbl& x, const Fp6Dbl& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:1010,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:1011,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp6Dbl
    - Fp6Dbl
    - Fp6Dbl
    constantsTouched: []
    func_position:
      end: 1013
      start: 1008
    functionDepth: 2
    functionLinenumber: 1008
    functionLinenumberEnd: 1013
    functionName: mcl::sub
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - fiat_bls12_381_fp_sub
    linkageType: ''
    returnType: void
    signature: void sub(Fp6Dbl& z, const Fp6Dbl& x, const Fp6Dbl& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::addPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1039,1
    - Dst: mcl::Fp2::addPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1040,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1042,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1043,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1045,1
    - Dst: mcl::Fp2::addPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1047,1
    - Dst: mcl::Fp2::addPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1048,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1050,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1051,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1053,1
    - Dst: mcl::Fp2::addPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1055,1
    - Dst: mcl::Fp2::addPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1056,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1058,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1059,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1061,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1062,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1063,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1064,1
    - Dst: Fp2Dbl::template subSpecial<isLtQuad>
      Src: /src/mcl/include/mcl/fp_tower.hpp:1065,1
    - Dst: Fp2Dbl::template subSpecial<isLtQuad>
      Src: /src/mcl/include/mcl/fp_tower.hpp:1066,1
    - Dst: Fp2Dbl::template subSpecial<isLtQuad>
      Src: /src/mcl/include/mcl/fp_tower.hpp:1067,1
    - Dst: Fp2Dbl::template subSpecial<isLtQuad>
      Src: /src/mcl/include/mcl/fp_tower.hpp:1068,1
    - Dst: Fp2Dbl::template subSpecial<isLtQuad>
      Src: /src/mcl/include/mcl/fp_tower.hpp:1069,1
    - Dst: Fp2Dbl::template subSpecial<isLtQuad>
      Src: /src/mcl/include/mcl/fp_tower.hpp:1070,1
    - Dst: mcl::mul_xi
      Src: /src/mcl/include/mcl/fp_tower.hpp:1071,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1072,1
    - Dst: mcl::mul_xi
      Src: /src/mcl/include/mcl/fp_tower.hpp:1073,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1074,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1075,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp6Dbl
    - Fp6
    - Fp6
    constantsTouched: []
    func_position:
      end: 1076
      start: 1025
    functionDepth: 5
    functionLinenumber: 1025
    functionLinenumberEnd: 1076
    functionName: mcl::mulPreT
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::Fp2::addPre
    - mcl::mul_xi
    - mcl::Fp2::add
    - fiat_bls12_381_fp_add
    - Fp2Dbl::template subSpecial<isLtQuad>
    - gen_mcl_fpDbl_mulPre
    linkageType: ''
    returnType: void
    signature: void mulPreT(Fp6Dbl& z, const Fp6& x, const Fp6& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::mul2
      Src: /src/mcl/include/mcl/fp_tower.hpp:1090,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1091,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1092,1
    - Dst: mcl::sqrPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1093,1
    - Dst: mcl::sqrPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1094,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1095,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1096,1
    - Dst: mcl::sqrPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1097,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:1098,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:1099,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:1100,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:1101,1
    - Dst: mcl::mul_xi
      Src: /src/mcl/include/mcl/fp_tower.hpp:1102,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1103,1
    - Dst: mcl::mul_xi
      Src: /src/mcl/include/mcl/fp_tower.hpp:1104,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp6Dbl
    - Fp6
    constantsTouched: []
    func_position:
      end: 1106
      start: 1083
    functionDepth: 5
    functionLinenumber: 1083
    functionLinenumberEnd: 1106
    functionName: mcl::sqrPre
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 4
    functionsReached:
    - mcl::sqrPre
    - mcl::mul_xi
    - fiat_bls12_381_fp_sub
    - mcl::Fp2::add
    - mcl::Fp2::mul2
    - fiat_bls12_381_fp_add
    - gen_mcl_fpDbl_mulPre
    linkageType: ''
    returnType: void
    signature: void sqrPre(Fp6Dbl& y, const Fp6& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ref_inverse_mod
      Src: /src/mcl/include/mcl/fp_tower.hpp:1109,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/include/mcl/fp_tower.hpp:1110,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/include/mcl/fp_tower.hpp:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp6
    - Fp6Dbl
    constantsTouched: []
    func_position:
      end: 1112
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1112
    functionName: mcl::mod
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - ref_inverse_mod
    linkageType: ''
    returnType: void
    signature: void mod(Fp6& y, const Fp6Dbl& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/fp_tower.hpp:1115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1121
    functionName: mcl::init
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 4
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1133
    functionName: mcl::Fp12
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fp12()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 1134
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1134
    functionName: mcl::Fp12
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fp12(int64_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Fp6
    - Fp6
    constantsTouched: []
    func_position:
      end: 1135
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1135
    functionName: mcl::Fp12
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fp12(const Fp6& a, const Fp6& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::clear
      Src: /src/mcl/include/mcl/fp_tower.hpp:1138,1
    - Dst: mcl::clear
      Src: /src/mcl/include/mcl/fp_tower.hpp:1139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1140
    functionName: mcl::clear
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 12
    functionsReached:
    - mcl::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::clear
      Src: /src/mcl/include/mcl/fp_tower.hpp:1143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1145
    functionName: mcl::setOne
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::clear
    linkageType: ''
    returnType: void
    signature: void setOne()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getFp0
      Src: /src/mcl/include/mcl/fp_tower.hpp:1147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1147
    functionName: mcl::getFp0
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 5
    functionsReached:
    - mcl::getFp0
    linkageType: ''
    returnType: Fp
    signature: Fp * getFp0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getFp0
      Src: /src/mcl/include/mcl/fp_tower.hpp:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1148
    functionName: mcl::getFp0
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 6
    functionsReached:
    - mcl::getFp0
    linkageType: ''
    returnType: Fp
    signature: Fp * getFp0() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getFp2
      Src: /src/mcl/include/mcl/fp_tower.hpp:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1149
    functionName: mcl::getFp2
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 4
    functionsReached:
    - mcl::getFp2
    linkageType: ''
    returnType: Fp2
    signature: Fp2 * getFp2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getFp2
      Src: /src/mcl/include/mcl/fp_tower.hpp:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1150
    functionDepth: 1
    functionLinenumber: 1150
    functionLinenumberEnd: 1150
    functionName: mcl::getFp2
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 5
    functionsReached:
    - mcl::getFp2
    linkageType: ''
    returnType: Fp2
    signature: Fp2 * getFp2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::set
      Src: /src/mcl/include/mcl/fp_tower.hpp:1153,1
    - Dst: mcl::set
      Src: /src/mcl/include/mcl/fp_tower.hpp:1154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ' v0'
    - ' v1'
    - ' v2'
    - ' v3'
    - ' v4'
    - ' v5'
    argTypes:
    - Fp2
    - Fp2
    - Fp2
    - Fp2
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 1155
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1155
    functionName: mcl::set
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 5
    functionsReached:
    - mcl::set
    linkageType: ''
    returnType: void
    signature: void set(const Fp2& v0, const Fp2& v1, const Fp2& v2, const Fp2& v3,
      const Fp2& v4, const Fp2& v5)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::isZero
      Src: /src/mcl/include/mcl/fp_tower.hpp:1159,1
    - Dst: mcl::isZero
      Src: /src/mcl/include/mcl/fp_tower.hpp:1159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1160
    functionName: mcl::isZero
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 14
    functionsReached:
    - mcl::isZero
    linkageType: ''
    returnType: bool
    signature: bool isZero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::isOne
      Src: /src/mcl/include/mcl/fp_tower.hpp:1163,1
    - Dst: mcl::isZero
      Src: /src/mcl/include/mcl/fp_tower.hpp:1163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1161
    functionDepth: 1
    functionLinenumber: 1161
    functionLinenumberEnd: 1164
    functionName: mcl::isOne
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 3
    functionsReached:
    - mcl::isZero
    - mcl::isOne
    linkageType: ''
    returnType: bool
    signature: bool isOne() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Fp12
    constantsTouched: []
    func_position:
      end: 1168
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1168
    functionName: operator==(const Fp12& rhs) const
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Fp12& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Fp12
    constantsTouched: []
    func_position:
      end: 1169
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1169
    functionName: operator!=(const Fp12& rhs) const
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Fp12& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1172,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp12
    - Fp12
    - Fp12
    constantsTouched: []
    func_position:
      end: 1174
      start: 1170
    functionDepth: 2
    functionLinenumber: 1170
    functionLinenumberEnd: 1174
    functionName: mcl::add
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void add(Fp12& z, const Fp12& x, const Fp12& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:1177,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp12
    - Fp12
    - Fp12
    constantsTouched: []
    func_position:
      end: 1179
      start: 1175
    functionDepth: 2
    functionLinenumber: 1175
    functionLinenumberEnd: 1179
    functionName: mcl::sub
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - fiat_bls12_381_fp_sub
    linkageType: ''
    returnType: void
    signature: void sub(Fp12& z, const Fp12& x, const Fp12& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/fp_tower.hpp:1182,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/fp_tower.hpp:1183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - Fp12
    - Fp12
    constantsTouched: []
    func_position:
      end: 1184
      start: 1180
    functionDepth: 1
    functionLinenumber: 1180
    functionLinenumberEnd: 1184
    functionName: mcl::neg
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void neg(Fp12& z, const Fp12& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::mul_xi
      Src: /src/mcl/include/mcl/fp_tower.hpp:1192,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1193,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1194,1
    - Dst: mcl::Fp2::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp6
    - Fp6
    - Fp6
    constantsTouched: []
    func_position:
      end: 1196
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1196
    functionName: mcl::mulVadd
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::Fp2::add
    - mcl::Fp2::mul_xi
    linkageType: ''
    returnType: void
    signature: void mulVadd(Fp6& z, const Fp6& x, const Fp6& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::mul_xi
      Src: /src/mcl/include/mcl/fp_tower.hpp:1200,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1201,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1202,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp6Dbl
    - Fp6Dbl
    - Fp6Dbl
    constantsTouched: []
    func_position:
      end: 1204
      start: 1197
    functionDepth: 2
    functionLinenumber: 1197
    functionLinenumberEnd: 1204
    functionName: mcl::mulVadd
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::mul_xi
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void mulVadd(Fp6Dbl& z, const Fp6Dbl& x, const Fp6Dbl& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1220,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1221,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1223,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1224,1
    - Dst: mcl::mulVadd
      Src: /src/mcl/include/mcl/fp_tower.hpp:1225,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/include/mcl/fp_tower.hpp:1226,1
    - Dst: gen_mcl_fpDbl_mulPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1227,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:1228,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:1229,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/include/mcl/fp_tower.hpp:1230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp12
    - Fp12
    - Fp12
    constantsTouched: []
    func_position:
      end: 1231
      start: 1212
    functionDepth: 5
    functionLinenumber: 1212
    functionLinenumberEnd: 1231
    functionName: mcl::mul
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::mulVadd
    - fiat_bls12_381_fp_sub
    - ref_inverse_mod
    - fiat_bls12_381_fp_add
    - gen_mcl_fpDbl_mulPre
    linkageType: ''
    returnType: void
    signature: void mul(Fp12& z, const Fp12& x, const Fp12& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1242,1
    - Dst: mcl::mulVadd
      Src: /src/mcl/include/mcl/fp_tower.hpp:1243,1
    - Dst: mcl::Fp6::mul
      Src: /src/mcl/include/mcl/fp_tower.hpp:1245,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/include/mcl/fp_tower.hpp:1246,1
    - Dst: mcl::mulVadd
      Src: /src/mcl/include/mcl/fp_tower.hpp:1247,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:1248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp12
    - Fp12
    constantsTouched: []
    func_position:
      end: 1249
      start: 1237
    functionDepth: 2
    functionLinenumber: 1237
    functionLinenumberEnd: 1249
    functionName: mcl::sqr
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::mulVadd
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_add
    - mcl::Fp6::mul
    - Botan::PCurve::GenericField::mul2
    linkageType: ''
    returnType: void
    signature: void sqr(Fp12& y, const Fp12& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::sqrPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1259,1
    - Dst: mcl::sqrPre
      Src: /src/mcl/include/mcl/fp_tower.hpp:1260,1
    - Dst: mcl::mul_xi
      Src: /src/mcl/include/mcl/fp_tower.hpp:1261,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:1262,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:1263,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:1264,1
    - Dst: ref_inverse_mod
      Src: /src/mcl/include/mcl/fp_tower.hpp:1266,1
    - Dst: mcl::Fp6::inv
      Src: /src/mcl/include/mcl/fp_tower.hpp:1267,1
    - Dst: mcl::Fp6::mul
      Src: /src/mcl/include/mcl/fp_tower.hpp:1268,1
    - Dst: mcl::Fp6::mul
      Src: /src/mcl/include/mcl/fp_tower.hpp:1269,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/fp_tower.hpp:1270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp12
    - Fp12
    constantsTouched: []
    func_position:
      end: 1271
      start: 1254
    functionDepth: 2
    functionLinenumber: 1254
    functionLinenumberEnd: 1271
    functionName: mcl::inv
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::sqrPre
    - mcl::mul_xi
    - mcl::Fp6::inv
    - fiat_bls12_381_fp_sub
    - ref_inverse_mod
    - mcl::Fp6::mul
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void inv(Fp12& y, const Fp12& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/fp_tower.hpp:1278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp12
    - Fp12
    constantsTouched: []
    func_position:
      end: 1279
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1279
    functionName: mcl::unitaryInv
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 4
    functionsReached:
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void unitaryInv(Fp12& y, const Fp12& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::Frobenius
      Src: /src/mcl/include/mcl/fp_tower.hpp:1301,1
    - Dst: mcl::getFp2
      Src: /src/mcl/include/mcl/fp_tower.hpp:1301,1
    - Dst: mcl::getFp2
      Src: /src/mcl/include/mcl/fp_tower.hpp:1301,1
    - Dst: mcl::getFp2
      Src: /src/mcl/include/mcl/fp_tower.hpp:1304,1
    - Dst: mcl::Fp2::get_gTbl
      Src: /src/mcl/include/mcl/fp_tower.hpp:1304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp12
    - Fp12
    constantsTouched: []
    func_position:
      end: 1306
      start: 1298
    functionDepth: 2
    functionLinenumber: 1298
    functionLinenumberEnd: 1306
    functionName: mcl::Frobenius
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 13
    functionsReached:
    - mcl::Fp2::get_gTbl
    - mcl::Fp2::Frobenius
    - mcl::getFp2
    linkageType: ''
    returnType: void
    signature: void Frobenius(Fp12& y, const Fp12& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Frobenius
      Src: /src/mcl/include/mcl/fp_tower.hpp:1310,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/include/mcl/fp_tower.hpp:1311,1
    - Dst: mcl::getFp2
      Src: /src/mcl/include/mcl/fp_tower.hpp:1313,1
    - Dst: mcl::getFp2
      Src: /src/mcl/include/mcl/fp_tower.hpp:1313,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/fp_tower.hpp:1314,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/fp_tower.hpp:1314,1
    - Dst: mcl::Fp2::mul
      Src: /src/mcl/include/mcl/fp_tower.hpp:1316,1
    - Dst: mcl::getFp2
      Src: /src/mcl/include/mcl/fp_tower.hpp:1316,1
    - Dst: mcl::getFp2
      Src: /src/mcl/include/mcl/fp_tower.hpp:1316,1
    - Dst: mcl::Fp2::get_g2Tbl
      Src: /src/mcl/include/mcl/fp_tower.hpp:1316,1
    - Dst: mcl::Fp2::mulFp
      Src: /src/mcl/include/mcl/fp_tower.hpp:1320,1
    - Dst: mcl::getFp2
      Src: /src/mcl/include/mcl/fp_tower.hpp:1320,1
    - Dst: mcl::getFp2
      Src: /src/mcl/include/mcl/fp_tower.hpp:1320,1
    - Dst: mcl::Fp2::get_g2Tbl
      Src: /src/mcl/include/mcl/fp_tower.hpp:1320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp12
    - Fp12
    constantsTouched: []
    func_position:
      end: 1324
      start: 1307
    functionDepth: 3
    functionLinenumber: 1307
    functionLinenumberEnd: 1324
    functionName: mcl::Frobenius2
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 7
    functionsReached:
    - mcl::Fp2::get_g2Tbl
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - mcl::Fp2::mul
    - mcl::getFp2
    - mcl::Fp2::mulFp
    - mcl::Frobenius
    linkageType: ''
    returnType: void
    signature: void Frobenius2(Fp12& y, const Fp12& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Frobenius
      Src: /src/mcl/include/mcl/fp_tower.hpp:1328,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/include/mcl/fp_tower.hpp:1329,1
    - Dst: mcl::Frobenius
      Src: /src/mcl/include/mcl/fp_tower.hpp:1330,1
    - Dst: mcl::Fp2::Frobenius
      Src: /src/mcl/include/mcl/fp_tower.hpp:1332,1
    - Dst: mcl::getFp2
      Src: /src/mcl/include/mcl/fp_tower.hpp:1332,1
    - Dst: mcl::getFp2
      Src: /src/mcl/include/mcl/fp_tower.hpp:1332,1
    - Dst: mcl::Fp2::Frobenius
      Src: /src/mcl/include/mcl/fp_tower.hpp:1334,1
    - Dst: mcl::getFp2
      Src: /src/mcl/include/mcl/fp_tower.hpp:1334,1
    - Dst: mcl::getFp2
      Src: /src/mcl/include/mcl/fp_tower.hpp:1334,1
    - Dst: mcl::getFp2
      Src: /src/mcl/include/mcl/fp_tower.hpp:1335,1
    - Dst: mcl::Fp2::get_g3Tbl
      Src: /src/mcl/include/mcl/fp_tower.hpp:1335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp12
    - Fp12
    constantsTouched: []
    func_position:
      end: 1338
      start: 1325
    functionDepth: 2
    functionLinenumber: 1325
    functionLinenumberEnd: 1338
    functionName: mcl::Frobenius3
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 3
    functionsReached:
    - mcl::Fp2::Frobenius
    - mcl::Fp2::get_g3Tbl
    - mcl::getFp2
    - mcl::Frobenius
    linkageType: ''
    returnType: void
    signature: void Frobenius3(Fp12& y, const Fp12& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::load
      Src: /src/mcl/include/mcl/fp_tower.hpp:1342,1
    - Dst: mcl::load
      Src: /src/mcl/include/mcl/fp_tower.hpp:1343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pb
    - ' is'
    - ioMode
    argTypes:
    - bool*
    - InputStream
    - int
    constantsTouched: []
    func_position:
      end: 1344
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1344
    functionName: mcl::load
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 3
    functionsReached:
    - mcl::load
    linkageType: ''
    returnType: void
    signature: void load(bool *pb, InputStream& is, int ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::save
      Src: /src/mcl/include/mcl/fp_tower.hpp:1349,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/fp_tower.hpp:1351,1
    - Dst: mcl::save
      Src: /src/mcl/include/mcl/fp_tower.hpp:1354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pb
    - ' os'
    - ioMode
    argTypes:
    - bool*
    - OutputStream
    - int
    constantsTouched: []
    func_position:
      end: 1355
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1355
    functionName: mcl::save
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 3
    functionsReached:
    - cybozu::writeChar
    - mcl::save
    linkageType: ''
    returnType: void
    signature: void save(bool *pb, OutputStream& os, int ioMode) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::load
      Src: /src/mcl/include/mcl/fp_tower.hpp:1361,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp_tower.hpp:1362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 1363
      start: 1358
    functionDepth: 1
    functionLinenumber: 1358
    functionLinenumberEnd: 1363
    functionName: mcl::load
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 4
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::load
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::save
      Src: /src/mcl/include/mcl/fp_tower.hpp:1368,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp_tower.hpp:1369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 1370
      start: 1365
    functionDepth: 1
    functionLinenumber: 1365
    functionLinenumberEnd: 1370
    functionName: mcl::save
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 4
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::save
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/include/mcl/fp_tower.hpp:1375,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/fp_tower.hpp:1375,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/fp_tower.hpp:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - Fp12
    constantsTouched: []
    func_position:
      end: 1377
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1377
    functionName: '& operator>>(std::istream& is, Fp12& self)'
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - load
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, Fp12& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/fp_tower.hpp:1380,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/fp_tower.hpp:1380,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/fp_tower.hpp:1380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - Fp12
    constantsTouched: []
    func_position:
      end: 1382
      start: 1378
    functionDepth: 1
    functionLinenumber: 1378
    functionLinenumberEnd: 1382
    functionName: '& operator<<(std::ostream& os, const Fp12& self)'
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - save
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Fp12& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1387
    functionName: mcl::setPowVecGLV
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPowVecGLV(bool f(Fp12& z, const Fp12 *xVec, const void *yVec,
      size_t yn) = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::clear
      Src: /src/mcl/include/mcl/fp_tower.hpp:1391,1
    - Dst: mcl::powVecGLV
      Src: /src/mcl/include/mcl/fp_tower.hpp:1394,1
    - Dst: mcl::powVecN
      Src: /src/mcl/include/mcl/fp_tower.hpp:1404,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - ' z'
    - xVec
    - yVec
    - n
    argTypes:
    - Fp12
    - Fp12*
    - Fr*
    - size_t
    constantsTouched: []
    func_position:
      end: 1407
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1407
    functionName: mcl::powVec
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::powVecGLV
    - mcl::clear
    - mcl::powVecN
    linkageType: ''
    returnType: void
    signature: void powVec(Fp12& z, const Fp12 *xVec, const Fr *yVec, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/mcl/include/mcl/fp_tower.hpp:1412,1
    - Dst: mcl::unitaryInv
      Src: /src/mcl/include/mcl/fp_tower.hpp:1419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ' Q'
    - tbl
    - ' naf'
    - i
    argTypes:
    - G
    - G*
    - Vec
    - size_t
    constantsTouched: []
    func_position:
      end: 1422
      start: 1410
    functionDepth: 2
    functionLinenumber: 1410
    functionLinenumberEnd: 1422
    functionName: mcl::mulTbl
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::unitaryInv
    - size
    linkageType: ''
    returnType: void
    signature: void mulTbl(G& Q, const G *tbl, const Vec& naf, size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getMpz
      Src: /src/mcl/include/mcl/fp_tower.hpp:1445,1
    - Dst: assert
      Src: /src/mcl/include/mcl/fp_tower.hpp:1446,1
    - Dst: mcl::gmp::getNAFwidth
      Src: /src/mcl/include/mcl/fp_tower.hpp:1447,1
    - Dst: assert
      Src: /src/mcl/include/mcl/fp_tower.hpp:1448,1
    - Dst: size
      Src: /src/mcl/include/mcl/fp_tower.hpp:1449,1
    - Dst: size
      Src: /src/mcl/include/mcl/fp_tower.hpp:1449,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/fp_tower.hpp:1451,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/fp_tower.hpp:1454,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/fp_tower.hpp:1459,1
    - Dst: mcl::mulTbl
      Src: /src/mcl/include/mcl/fp_tower.hpp:1461,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - ' z'
    - xVec
    - yVec
    - n
    argTypes:
    - Fp12
    - Fp12*
    - _F*
    - size_t
    constantsTouched: []
    func_position:
      end: 1465
      start: 1425
    functionDepth: 3
    functionLinenumber: 1425
    functionLinenumberEnd: 1465
    functionName: mcl::powVecN
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - Botan::fe_sqr
    - mcl::mulTbl
    - assert
    - size
    - getMpz
    - mcl::gmp::getNAFwidth
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: size_t
    signature: size_t powVecN(Fp12& z, const Fp12 *xVec, const _F *yVec, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T&>
      Src: /src/mcl/include/mcl/fp_tower.hpp:1473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - GroupMtoA
    constantsTouched: []
    func_position:
      end: 1473
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1473
    functionName: '& castT(GroupMtoA& x)'
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T&>
    linkageType: ''
    returnType: T
    signature: T & castT(GroupMtoA& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const T&>
      Src: /src/mcl/include/mcl/fp_tower.hpp:1474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - GroupMtoA
    constantsTouched: []
    func_position:
      end: 1474
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1474
    functionName: '& castT(const GroupMtoA& x)'
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const T&>
    linkageType: ''
    returnType: T
    signature: T & castT(const GroupMtoA& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: castT
      Src: /src/mcl/include/mcl/fp_tower.hpp:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1478
    functionName: mcl::clear
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 14
    functionsReached:
    - castT
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: castT
      Src: /src/mcl/include/mcl/fp_tower.hpp:1479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1479
    functionName: mcl::isZero
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 15
    functionsReached:
    - castT
    linkageType: ''
    returnType: bool
    signature: bool isZero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::mul
      Src: /src/mcl/include/mcl/fp_tower.hpp:1482,1
    - Dst: castT
      Src: /src/mcl/include/mcl/fp_tower.hpp:1482,1
    - Dst: castT
      Src: /src/mcl/include/mcl/fp_tower.hpp:1482,1
    - Dst: castT
      Src: /src/mcl/include/mcl/fp_tower.hpp:1482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - GroupMtoA
    - GroupMtoA
    - GroupMtoA
    constantsTouched: []
    func_position:
      end: 1483
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1483
    functionName: mcl::add
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - castT
    - mcl::FpT::mul
    linkageType: ''
    returnType: void
    signature: void add(GroupMtoA& z, const GroupMtoA& x, const GroupMtoA& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::unitaryInv
      Src: /src/mcl/include/mcl/fp_tower.hpp:1487,1
    - Dst: castT
      Src: /src/mcl/include/mcl/fp_tower.hpp:1487,1
    - Dst: mcl::FpT::mul
      Src: /src/mcl/include/mcl/fp_tower.hpp:1488,1
    - Dst: castT
      Src: /src/mcl/include/mcl/fp_tower.hpp:1488,1
    - Dst: castT
      Src: /src/mcl/include/mcl/fp_tower.hpp:1488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - GroupMtoA
    - GroupMtoA
    - GroupMtoA
    constantsTouched: []
    func_position:
      end: 1489
      start: 1484
    functionDepth: 2
    functionLinenumber: 1484
    functionLinenumberEnd: 1489
    functionName: mcl::sub
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached:
    - castT
    - mcl::unitaryInv
    - mcl::FpT::mul
    linkageType: ''
    returnType: void
    signature: void sub(GroupMtoA& z, const GroupMtoA& x, const GroupMtoA& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::sqr
      Src: /src/mcl/include/mcl/fp_tower.hpp:1492,1
    - Dst: castT
      Src: /src/mcl/include/mcl/fp_tower.hpp:1492,1
    - Dst: castT
      Src: /src/mcl/include/mcl/fp_tower.hpp:1492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - GroupMtoA
    - GroupMtoA
    constantsTouched: []
    func_position:
      end: 1493
      start: 1490
    functionDepth: 0
    functionLinenumber: 1490
    functionLinenumberEnd: 1493
    functionName: mcl::dbl
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - castT
    - mcl::FpT::sqr
    linkageType: ''
    returnType: void
    signature: void dbl(GroupMtoA& y, const GroupMtoA& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::unitaryInv
      Src: /src/mcl/include/mcl/fp_tower.hpp:1497,1
    - Dst: castT
      Src: /src/mcl/include/mcl/fp_tower.hpp:1497,1
    - Dst: castT
      Src: /src/mcl/include/mcl/fp_tower.hpp:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - GroupMtoA
    - GroupMtoA
    constantsTouched: []
    func_position:
      end: 1498
      start: 1494
    functionDepth: 2
    functionLinenumber: 1494
    functionLinenumberEnd: 1498
    functionName: mcl::neg
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - castT
    - mcl::unitaryInv
    linkageType: ''
    returnType: void
    signature: void neg(GroupMtoA& y, const GroupMtoA& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Frobenius
      Src: /src/mcl/include/mcl/fp_tower.hpp:1501,1
    - Dst: castT
      Src: /src/mcl/include/mcl/fp_tower.hpp:1501,1
    - Dst: castT
      Src: /src/mcl/include/mcl/fp_tower.hpp:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - GroupMtoA
    - GroupMtoA
    constantsTouched: []
    func_position:
      end: 1502
      start: 1499
    functionDepth: 0
    functionLinenumber: 1499
    functionLinenumberEnd: 1502
    functionName: mcl::Frobenus
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - castT
    - mcl::Frobenius
    linkageType: ''
    returnType: void
    signature: void Frobenus(GroupMtoA& y, const GroupMtoA& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/fp_tower.hpp:1506,1
    - Dst: castT
      Src: /src/mcl/include/mcl/fp_tower.hpp:1506,1
    - Dst: castT
      Src: /src/mcl/include/mcl/fp_tower.hpp:1506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - GroupMtoA
    - GroupMtoA
    - INT
    constantsTouched: []
    func_position:
      end: 1507
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1507
    functionName: mcl::mul
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - castT
    - testFp12pow
    linkageType: ''
    returnType: void
    signature: void mul(GroupMtoA& z, const GroupMtoA& x, const INT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBnGT_powGeneric
      Src: /src/mcl/include/mcl/fp_tower.hpp:1511,1
    - Dst: castT
      Src: /src/mcl/include/mcl/fp_tower.hpp:1511,1
    - Dst: castT
      Src: /src/mcl/include/mcl/fp_tower.hpp:1511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - GroupMtoA
    - GroupMtoA
    - INT
    constantsTouched: []
    func_position:
      end: 1512
      start: 1509
    functionDepth: 2
    functionLinenumber: 1509
    functionLinenumberEnd: 1512
    functionName: mcl::mulGeneric
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 9
    functionsReached:
    - castT
    - mclBnGT_powGeneric
    linkageType: ''
    returnType: void
    signature: void mulGeneric(GroupMtoA& z, const GroupMtoA& x, const INT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::add
      Src: /src/mcl/include/mcl/fp_tower.hpp:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - GroupMtoA
    constantsTouched: []
    func_position:
      end: 1516
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1516
    functionName: operator+=(const GroupMtoA& rhs)
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::add
    linkageType: ''
    returnType: void
    signature: void operator+=(const GroupMtoA& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::sub
      Src: /src/mcl/include/mcl/fp_tower.hpp:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - GroupMtoA
    constantsTouched: []
    func_position:
      end: 1520
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1520
    functionName: operator-=(const GroupMtoA& rhs)
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached:
    - mcl::sub
    linkageType: ''
    returnType: void
    signature: void operator-=(const GroupMtoA& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1521
    functionName: mcl::normalize
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void normalize()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - y
    - x
    - n
    argTypes:
    - GroupMtoA*
    - GroupMtoA*
    - size_t
    constantsTouched: []
    func_position:
      end: 1526
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1526
    functionName: mcl::normalizeVec
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void normalizeVec(GroupMtoA *y, const GroupMtoA *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: F_powArray
      Src: /src/mcl/include/mcl/fp_tower.hpp:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - y
    - yn
    argTypes:
    - GroupMtoA
    - GroupMtoA
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 1530
      start: 1527
    functionDepth: 2
    functionLinenumber: 1527
    functionLinenumberEnd: 1530
    functionName: mcl::mulArray
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 1
    functionsReached:
    - F_powArray
    linkageType: ''
    returnType: void
    signature: void mulArray(GroupMtoA& z, const GroupMtoA& x, const Unit *y, size_t
      yn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Fp2::Frobenius
      Src: /src/mcl/include/mcl/fp_tower.hpp:1537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp2
    - Fp2
    constantsTouched: []
    func_position:
      end: 1538
      start: 1535
    functionDepth: 2
    functionLinenumber: 1535
    functionLinenumberEnd: 1538
    functionName: mcl::Frobenius
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 16
    functionsReached:
    - mcl::Fp2::Frobenius
    linkageType: ''
    returnType: void
    signature: void Frobenius(Fp2& y, const Fp2& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Frobenius
      Src: /src/mcl/include/mcl/fp_tower.hpp:1542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp12
    - Fp12
    constantsTouched: []
    func_position:
      end: 1543
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1543
    functionName: mcl::Frobenius
    functionSourceFile: /src/mcl/include/mcl/fp_tower.hpp
    functionUses: 17
    functionsReached:
    - mcl::Frobenius
    linkageType: ''
    returnType: void
    signature: void Frobenius(Fp12& y, const Fp12& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: D
      Src: /src/mcl/include/mcl/conversion.hpp:37,1
    - Dst: D
      Src: /src/mcl/include/mcl/conversion.hpp:49,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - dst
    - dstN
    - src
    - srcN
    argTypes:
    - D*
    - size_t
    - S*
    - size_t
    constantsTouched: []
    func_position:
      end: 55
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 55
    functionName: mcl::fp::convertArrayAsLE
    functionSourceFile: /src/mcl/include/mcl/conversion.hpp
    functionUses: 2
    functionsReached:
    - D
    linkageType: ''
    returnType: bool
    signature: bool convertArrayAsLE(D *dst, size_t dstN, const S *src, size_t srcN)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: mcl::fp::local::isSpace
    functionSourceFile: /src/mcl/include/mcl/conversion.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isSpace(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::readChar
      Src: /src/mcl/include/mcl/conversion.hpp:67,1
    - Dst: mcl::fp::local::isSpace
      Src: /src/mcl/include/mcl/conversion.hpp:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - c
    - ' is'
    argTypes:
    - char*
    - InputStream
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: mcl::fp::local::skipSpace
    functionSourceFile: /src/mcl/include/mcl/conversion.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::local::isSpace
    - cybozu::readChar
    linkageType: ''
    returnType: bool
    signature: bool skipSpace(char *c, InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/include/mcl/conversion.hpp:76,1
    - Dst: mcl::fp::local::skipSpace
      Src: /src/mcl/include/mcl/conversion.hpp:78,1
    - Dst: cybozu::readChar
      Src: /src/mcl/include/mcl/conversion.hpp:81,1
    - Dst: mcl::fp::local::isSpace
      Src: /src/mcl/include/mcl/conversion.hpp:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' s'
    - ' is'
    argTypes:
    - std::string
    - InputStream
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: mcl::fp::local::loadWord
    functionSourceFile: /src/mcl/include/mcl/conversion.hpp
    functionUses: 1
    functionsReached:
    - clear
    - mcl::fp::local::isSpace
    - mcl::fp::local::skipSpace
    - cybozu::readChar
    linkageType: ''
    returnType: void
    signature: void loadWord(std::string& s, InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::local::skipSpace
      Src: /src/mcl/include/mcl/conversion.hpp:93,1
    - Dst: cybozu::readChar
      Src: /src/mcl/include/mcl/conversion.hpp:97,1
    - Dst: mcl::fp::local::isSpace
      Src: /src/mcl/include/mcl/conversion.hpp:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufSize
    - ' is'
    argTypes:
    - char*
    - size_t
    - InputStream
    constantsTouched: []
    func_position:
      end: 103
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 103
    functionName: mcl::fp::local::loadWord
    functionSourceFile: /src/mcl/include/mcl/conversion.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::local::isSpace
    - mcl::fp::local::skipSpace
    - cybozu::readChar
    linkageType: ''
    returnType: size_t
    signature: size_t loadWord(char *buf, size_t bufSize, InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itohex
      Src: /src/mcl/include/mcl/conversion.hpp:172,1
    - Dst: cybozu::write
      Src: /src/mcl/include/mcl/conversion.hpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pb
    - ' os'
    - src
    - n
    argTypes:
    - bool*
    - OutputStream
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: mcl::fp::writeHexStr
    functionSourceFile: /src/mcl/include/mcl/conversion.hpp
    functionUses: 1
    functionsReached:
    - cybozu::itohex
    - cybozu::write
    linkageType: ''
    returnType: void
    signature: void writeHexStr(bool *pb, OutputStream& os, const void *src, size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::readSome
      Src: /src/mcl/include/mcl/conversion.hpp:190,1
    - Dst: mcl::fp::local::hexCharToUint8
      Src: /src/mcl/include/mcl/conversion.hpp:191,1
    - Dst: mcl::fp::local::hexCharToUint8
      Src: /src/mcl/include/mcl/conversion.hpp:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - n
    - ' is'
    argTypes:
    - void*
    - size_t
    - InputStream
    constantsTouched: []
    func_position:
      end: 198
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 198
    functionName: mcl::fp::readHexStr
    functionSourceFile: /src/mcl/include/mcl/conversion.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::local::hexCharToUint8
    - cybozu::readSome
    linkageType: ''
    returnType: size_t
    signature: size_t readHexStr(void *buf, size_t n, InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/include/mcl/bint.hpp:64,1
    - Dst: printf
      Src: /src/mcl/include/mcl/bint.hpp:68,1
    - Dst: printf
      Src: /src/mcl/include/mcl/bint.hpp:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: mcl::bint::dump
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 2
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void dump(const T *x, size_t n, const char *msg = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pH
    - x
    - y
    argTypes:
    - uint32_t*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: mcl::bint::mulUnit1
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mulUnit1(uint32_t *pH, uint32_t x, uint32_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/bint.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pr
    - H
    - L
    - y
    argTypes:
    - uint32_t*
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: mcl::bint::divUnit1
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t divUnit1(uint32_t *pr, uint32_t H, uint32_t L, uint32_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint128_t
      Src: /src/mcl/include/mcl/bint.hpp:110,1
    - Dst: _umul128
      Src: /src/mcl/include/mcl/bint.hpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pH
    - x
    - y
    argTypes:
    - uint64_t*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: mcl::bint::mulUnit1
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 7
    functionsReached:
    - uint128_t
    - _umul128
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t mulUnit1(uint64_t *pH, uint64_t x, uint64_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/bint.hpp:120,1
    - Dst: uint128_t
      Src: /src/mcl/include/mcl/bint.hpp:122,1
    - Dst: mclb_udiv128
      Src: /src/mcl/include/mcl/bint.hpp:127,1
    - Dst: _udiv128
      Src: /src/mcl/include/mcl/bint.hpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pr
    - H
    - L
    - y
    argTypes:
    - uint64_t*
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: mcl::bint::divUnit1
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 4
    functionsReached:
    - mclb_udiv128
    - uint128_t
    - assert
    - _udiv128
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t divUnit1(uint64_t *pr, uint64_t H, uint64_t L, uint64_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_add
      Src: /src/mcl/include/mcl/bint.hpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - z
    - x
    - y
    - n
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: mcl::bint::addN
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached:
    - get_add
    linkageType: ''
    returnType: Unit
    signature: Unit addN(Unit *z, const Unit *x, const Unit *y, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_sub
      Src: /src/mcl/include/mcl/bint.hpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - z
    - x
    - y
    - n
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: mcl::bint::subN
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 1
    functionsReached:
    - get_sub
    linkageType: ''
    returnType: Unit
    signature: Unit subN(Unit *z, const Unit *x, const Unit *y, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_addNF
      Src: /src/mcl/include/mcl/bint.hpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - z
    - x
    - y
    - n
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: mcl::bint::addNFN
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached:
    - get_addNF
    linkageType: ''
    returnType: void
    signature: void addNFN(Unit *z, const Unit *x, const Unit *y, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_subNF
      Src: /src/mcl/include/mcl/bint.hpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - z
    - x
    - y
    - n
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: mcl::bint::subNFN
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached:
    - get_subNF
    linkageType: ''
    returnType: Unit
    signature: Unit subNFN(Unit *z, const Unit *x, const Unit *y, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mulUnit
      Src: /src/mcl/include/mcl/bint.hpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - z
    - x
    - y
    - n
    argTypes:
    - Unit*
    - Unit*
    - Unit
    - size_t
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: mcl::bint::mulUnitN
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 3
    functionsReached:
    - get_mulUnit
    linkageType: ''
    returnType: Unit
    signature: Unit mulUnitN(Unit *z, const Unit *x, Unit y, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mulUnitAdd
      Src: /src/mcl/include/mcl/bint.hpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - z
    - x
    - y
    - n
    argTypes:
    - Unit*
    - Unit*
    - Unit
    - size_t
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: mcl::bint::mulUnitAddN
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached:
    - get_mulUnitAdd
    linkageType: ''
    returnType: Unit
    signature: Unit mulUnitAddN(Unit *z, const Unit *x, Unit y, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mul
      Src: /src/mcl/include/mcl/bint.hpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - z
    - x
    - y
    - n
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: mcl::bint::mulN
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached:
    - get_mul
    linkageType: ''
    returnType: void
    signature: void mulN(Unit *z, const Unit *x, const Unit *y, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_sqr
      Src: /src/mcl/include/mcl/bint.hpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - y
    - x
    - n
    argTypes:
    - Unit*
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: mcl::bint::sqrN
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached:
    - get_sqr
    linkageType: ''
    returnType: void
    signature: void sqrN(Unit *y, const Unit *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::addN
      Src: /src/mcl/include/mcl/bint.hpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: mcl::bint::addT
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 3
    functionsReached:
    - mcl::bint::addN
    linkageType: ''
    returnType: Unit
    signature: Unit addT(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::subN
      Src: /src/mcl/include/mcl/bint.hpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - T*
    - Unit*
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: mcl::bint::subT
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 2
    functionsReached:
    - mcl::bint::subN
    linkageType: ''
    returnType: Unit
    signature: Unit subT(Unit *z, const T *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::addNFN
      Src: /src/mcl/include/mcl/bint.hpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: mcl::bint::addNFT
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::addNFN
    linkageType: ''
    returnType: void
    signature: void addNFT(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::subNFN
      Src: /src/mcl/include/mcl/bint.hpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: mcl::bint::subNFT
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::subNFN
    linkageType: ''
    returnType: Unit
    signature: Unit subNFT(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::mulUnitN
      Src: /src/mcl/include/mcl/bint.hpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - T*
    - Unit*
    - Unit
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: mcl::bint::mulUnitT
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 3
    functionsReached:
    - mcl::bint::mulUnitN
    linkageType: ''
    returnType: Unit
    signature: Unit mulUnitT(T *z, const Unit *x, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::mulUnitAddN
      Src: /src/mcl/include/mcl/bint.hpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - T*
    - Unit*
    - Unit
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: mcl::bint::mulUnitAddT
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 1
    functionsReached:
    - mcl::bint::mulUnitAddN
    linkageType: ''
    returnType: Unit
    signature: Unit mulUnitAddT(T *z, const Unit *x, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::mulN
      Src: /src/mcl/include/mcl/bint.hpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pz
    - px
    - py
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: mcl::bint::mulT
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 3
    functionsReached:
    - mcl::bint::mulN
    linkageType: ''
    returnType: void
    signature: void mulT(Unit *pz, const Unit *px, const Unit *py)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::sqrN
      Src: /src/mcl/include/mcl/bint.hpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - py
    - px
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: mcl::bint::sqrT
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::sqrN
    linkageType: ''
    returnType: void
    signature: void sqrT(Unit *py, const Unit *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::mulUnit1
      Src: /src/mcl/include/mcl/bint.hpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - z
    - x
    - y
    - xn
    argTypes:
    - Unit*
    - Unit*
    - Unit
    - size_t
    constantsTouched: []
    func_position:
      end: 197
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionName: mcl::bint::mulUnitNany
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 1
    functionsReached:
    - mcl::bint::mulUnit1
    linkageType: ''
    returnType: Unit
    signature: Unit mulUnitNany(Unit *z, const Unit *x, Unit y, size_t xn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/mcl/include/mcl/bint.hpp:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - T*
    - U*
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: mcl::bint::copyT
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 1
    functionsReached:
    - T
    linkageType: ''
    returnType: void
    signature: void copyT(T *y, const U *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/mcl/include/mcl/bint.hpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - y
    - x
    - n
    argTypes:
    - T*
    - U*
    - size_t
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: mcl::bint::copyN
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 10
    functionsReached:
    - T
    linkageType: ''
    returnType: void
    signature: void copyN(T *y, const U *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - T*
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: mcl::bint::clearT
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clearT(T *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: mcl::bint::clearN
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clearN(T *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - T*
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: mcl::bint::isZeroT
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isZeroT(const T *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: mcl::bint::isZeroN
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isZeroN(const T *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: mcl::bint::getRealSize
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getRealSize(const T *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - px
    - py
    argTypes:
    - T*
    - T*
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: mcl::bint::cmpT
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmpT(const T *px, const T *py)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - px
    - py
    argTypes:
    - T*
    - T*
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: mcl::bint::cmpEqT
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cmpEqT(const T *px, const T *py)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - px
    - py
    argTypes:
    - T*
    - T*
    constantsTouched: []
    func_position:
      end: 290
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 290
    functionName: mcl::bint::cmpGeT
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cmpGeT(const T *px, const T *py)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - px
    - py
    argTypes:
    - T*
    - T*
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: mcl::bint::cmpGtT
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cmpGtT(const T *px, const T *py)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::cmpGtT
      Src: /src/mcl/include/mcl/bint.hpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - px
    - py
    argTypes:
    - T*
    - T*
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: mcl::bint::cmpLeT
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::cmpGtT
    linkageType: ''
    returnType: bool
    signature: bool cmpLeT(const T *px, const T *py)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::cmpGeT
      Src: /src/mcl/include/mcl/bint.hpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - px
    - py
    argTypes:
    - T*
    - T*
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: mcl::bint::cmpLtT
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::cmpGeT
    linkageType: ''
    returnType: bool
    signature: bool cmpLtT(const T *px, const T *py)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - px
    - py
    - n
    argTypes:
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: mcl::bint::cmpEqN
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cmpEqN(const T *px, const T *py, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - px
    - py
    - n
    argTypes:
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 340
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 340
    functionName: mcl::bint::cmpGeN
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cmpGeN(const T *px, const T *py, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - px
    - py
    - n
    argTypes:
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 353
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 353
    functionName: mcl::bint::cmpGtN
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cmpGtN(const T *px, const T *py, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::cmpGtN
      Src: /src/mcl/include/mcl/bint.hpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - px
    - py
    - n
    argTypes:
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: mcl::bint::cmpLeN
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::cmpGtN
    linkageType: ''
    returnType: bool
    signature: bool cmpLeN(const T *px, const T *py, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::cmpGeN
      Src: /src/mcl/include/mcl/bint.hpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - px
    - py
    - n
    argTypes:
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: mcl::bint::cmpLtN
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 1
    functionsReached:
    - mcl::bint::cmpGeN
    linkageType: ''
    returnType: bool
    signature: bool cmpLtN(const T *px, const T *py, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - px
    - py
    - n
    argTypes:
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 378
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 378
    functionName: mcl::bint::cmpN
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmpN(const T *px, const T *py, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/bint.hpp:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pz
    - px
    - bit
    argTypes:
    - Unit*
    - Unit*
    - Unit
    constantsTouched: []
    func_position:
      end: 396
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 396
    functionName: mcl::bint::shlT
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: Unit
    signature: Unit shlT(Unit *pz, const Unit *px, Unit bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/bint.hpp:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pz
    - px
    - bit
    argTypes:
    - Unit*
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 412
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 412
    functionName: mcl::bint::shrT
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void shrT(Unit *pz, const Unit *px, size_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pLow
    argTypes:
    - Unit
    constantsTouched: []
    func_position:
      end: 506
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 506
    functionName: mcl::bint::getMontgomeryCoeff
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Unit
    signature: Unit getMontgomeryCoeff(Unit pLow, size_t bitSize = sizeof(Unit) *
      8)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 523
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 523
    functionName: mcl::bint::SmallModP
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SmallModP()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::getBitSize
      Src: /src/mcl/include/mcl/bint.hpp:529,1
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/include/mcl/bint.hpp:530,1
    - Dst: mcl::bint::clearN
      Src: /src/mcl/include/mcl/bint.hpp:531,1
    - Dst: Unit
      Src: /src/mcl/include/mcl/bint.hpp:536,1
    - Dst: mcl::bint::div
      Src: /src/mcl/include/mcl/bint.hpp:540,1
    - Dst: assert
      Src: /src/mcl/include/mcl/bint.hpp:541,1
    - Dst: mcl::bint::mulUnitN
      Src: /src/mcl/include/mcl/bint.hpp:544,1
    - Dst: Unit
      Src: /src/mcl/include/mcl/bint.hpp:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 546
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 546
    functionName: mcl::bint::init
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::div
    - mcl::fp::getBitSize
    - CYBOZU_ALLOCA
    - assert
    - mcl::bint::mulUnitN
    - mcl::bint::clearN
    - Unit
    linkageType: ''
    returnType: void
    signature: void init(const Unit *p, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Unit
      Src: /src/mcl/include/mcl/bint.hpp:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x0
    - a
    argTypes:
    - Unit
    - size_t
    constantsTouched: []
    func_position:
      end: 552
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 552
    functionName: mcl::bint::approx
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached:
    - Unit
    linkageType: ''
    returnType: Unit
    signature: Unit approx(Unit x0, size_t a) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::getUnitAt
      Src: /src/mcl/include/mcl/bint.hpp:564,1
    - Dst: mcl::bint::approx
      Src: /src/mcl/include/mcl/bint.hpp:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pQ
    - x
    - xn
    argTypes:
    - Unit*
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 567
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 567
    functionName: mcl::bint::quot
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::getUnitAt
    - mcl::bint::approx
    linkageType: ''
    returnType: bool
    signature: bool quot(Unit *pQ, const Unit *x, size_t xn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/bint.hpp:571,1
    - Dst: mcl::bint::quot
      Src: /src/mcl/include/mcl/bint.hpp:573,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/include/mcl/bint.hpp:575,1
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/include/mcl/bint.hpp:578,1
    - Dst: assert
      Src: /src/mcl/include/mcl/bint.hpp:581,1
    - Dst: mcl::bint::mulUnitN
      Src: /src/mcl/include/mcl/bint.hpp:584,1
    - Dst: assert
      Src: /src/mcl/include/mcl/bint.hpp:588,1
    - Dst: mcl::bint::cmpGeN
      Src: /src/mcl/include/mcl/bint.hpp:589,1
    - Dst: mcl::bint::subN
      Src: /src/mcl/include/mcl/bint.hpp:590,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/include/mcl/bint.hpp:592,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - z
    - x
    - xn
    argTypes:
    - Unit*
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 595
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 595
    functionName: mcl::bint::mod
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::quot
    - mcl::bint::subN
    - CYBOZU_ALLOCA
    - mcl::bint::cmpGeN
    - assert
    - mcl::bint::mulUnitN
    - mcl::bint::copyN
    linkageType: ''
    returnType: bool
    signature: bool mod(Unit *z, const Unit *x, size_t xn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/bint.hpp:601,1
    - Dst: mcl::bint::quot
      Src: /src/mcl/include/mcl/bint.hpp:603,1
    - Dst: mcl::bint::copyT<N>
      Src: /src/mcl/include/mcl/bint.hpp:605,1
    - Dst: mcl::bint::mulUnitT<N>
      Src: /src/mcl/include/mcl/bint.hpp:613,1
    - Dst: assert
      Src: /src/mcl/include/mcl/bint.hpp:617,1
    - Dst: mcl::bint::cmpGeT<N+1>
      Src: /src/mcl/include/mcl/bint.hpp:618,1
    - Dst: mcl::bint::subT<N>
      Src: /src/mcl/include/mcl/bint.hpp:619,1
    - Dst: mcl::bint::copyT<N>
      Src: /src/mcl/include/mcl/bint.hpp:621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - z
    - x
    - xn
    argTypes:
    - Unit[]
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 624
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 624
    functionName: mcl::bint::modT
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::quot
    - mcl::bint::mulUnitT<N>
    - mcl::bint::copyT<N>
    - mcl::bint::cmpGeT<N+1>
    - assert
    - mcl::bint::subT<N>
    linkageType: ''
    returnType: bool
    signature: bool modT(Unit z[N], const Unit *x, size_t xn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::mulUnitT
      Src: /src/mcl/include/mcl/bint.hpp:630,1
    - Dst: mcl::bint::modT
      Src: /src/mcl/include/mcl/bint.hpp:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' smp'
    - z
    - x
    - y
    argTypes:
    - SmallModP
    - Unit[]
    - Unit[]
    - Unit
    constantsTouched: []
    func_position:
      end: 633
      start: 627
    functionDepth: 3
    functionLinenumber: 627
    functionLinenumberEnd: 633
    functionName: mcl::bint::mulUnit
    functionSourceFile: /src/mcl/include/mcl/bint.hpp
    functionUses: 1
    functionsReached:
    - mcl::bint::modT
    - mcl::bint::mulUnitT
    linkageType: ''
    returnType: bool
    signature: bool mulUnit(const SmallModP& smp, Unit z[N], const Unit x[N], Unit
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initPairing
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:38,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:39,1
    - Dst: hashAndMapToG2
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:40,1
    - Dst: precomputeG2
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: mcl::aggs::init
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 0
    functionsReached:
    - initPairing
    - precomputeG2
    - hashAndMapToG2
    - hashAndMapToG1
    linkageType: ''
    returnType: void
    signature: void init(const mcl::CurveParam& cp = mcl::BN254)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::aggs::Signature::load
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pb
    - ' is'
    argTypes:
    - bool*
    - InputStream
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: mcl::aggs::Signature::load
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 1
    functionsReached:
    - mcl::aggs::Signature::load
    linkageType: ''
    returnType: void
    signature: void load(bool *pb, InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::aggs::Signature::save
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pb
    - ' os'
    argTypes:
    - bool*
    - OutputStream
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: mcl::aggs::Signature::save
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 1
    functionsReached:
    - mcl::aggs::Signature::save
    linkageType: ''
    returnType: void
    signature: void save(bool *pb, OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::aggs::Signature::load
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:63,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: mcl::aggs::Signature::load
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::aggs::Signature::load
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::aggs::Signature::save
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:70,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: mcl::aggs::Signature::save
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::aggs::Signature::save
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:76,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:76,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - Signature
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: '& operator>>(std::istream& is, Signature& self)'
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - load
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, Signature& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:81,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:81,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - Signature
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: '& operator<<(std::ostream& os, const Signature& self)'
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - save
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Signature& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Signature
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: operator==(const Signature& rhs) const
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Signature& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Signature
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: operator!=(const Signature& rhs) const
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Signature& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::G1
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:94,1
    - Dst: G1::clear
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sig
    - n
    argTypes:
    - Signature*
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: mcl::aggs::Signature::aggregate
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - G1::clear
    linkageType: ''
    returnType: void
    signature: void aggregate(const Signature *sig, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::aggs::Signature::aggregate
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:103,1
    - Dst: data
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:103,1
    - Dst: size
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sig'
    argTypes:
    - std::vector<Signature>
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: mcl::aggs::Signature::aggregate
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 1
    functionsReached:
    - data
    - mcl::aggs::Signature::aggregate
    - size
    linkageType: ''
    returnType: void
    signature: void aggregate(const std::vector<Signature>& sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:116,1
    - Dst: Fp::setHashOf
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:117,1
    - Dst: FpSet::insert
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:118,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:119,1
    - Dst: mapToG1
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:120,1
    - Dst: GT::GT
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:126,1
    - Dst: precomputedMillerLoop
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:127,1
    - Dst: millerLoop
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:128,1
    - Dst: GT::GT
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:130,1
    - Dst: millerLoop
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:131,1
    - Dst: finalExp
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:135,1
    - Dst: GT::isOne
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - msgVec
    - sizeVec
    - pubVec
    - n
    argTypes:
    - void**
    - size_t*
    - PublicKey*
    - size_t
    constantsTouched: []
    func_position:
      end: 137
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 137
    functionName: mcl::aggs::Signature::verify
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 0
    functionsReached:
    - FpSet::insert
    - Fp::setHashOf
    - Shim_Exception::Shim_Exception
    - millerLoop
    - precomputedMillerLoop
    - finalExp
    - mapToG1
    - GT::GT
    - Fp::Fp
    - GT::isOne
    linkageType: ''
    returnType: bool
    signature: bool verify(const void *const *msgVec, const size_t *sizeVec, const
      PublicKey *pubVec, size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:141,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:141,1
    - Dst: size
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:141,1
    - Dst: size
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:141,1
    - Dst: c_str
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:146,1
    - Dst: size
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:147,1
    - Dst: mcl::aggs::Signature::verify
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' msgVec'
    - ' pubVec'
    argTypes:
    - std::vector<std::string>
    - std::vector<PublicKey>
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: mcl::aggs::Signature::verify
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::aggs::Signature::verify
    - c_str
    - size
    linkageType: ''
    returnType: bool
    signature: bool verify(const std::vector<std::string>& msgVec, const std::vector<PublicKey>&
      pubVec) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::aggs::PublicKey::load
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pb
    - ' is'
    argTypes:
    - bool*
    - InputStream
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: mcl::aggs::PublicKey::load
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 1
    functionsReached:
    - mcl::aggs::PublicKey::load
    linkageType: ''
    returnType: void
    signature: void load(bool *pb, InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::aggs::PublicKey::save
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pb
    - ' os'
    argTypes:
    - bool*
    - OutputStream
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: mcl::aggs::PublicKey::save
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 1
    functionsReached:
    - mcl::aggs::PublicKey::save
    linkageType: ''
    returnType: void
    signature: void save(bool *pb, OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::aggs::PublicKey::load
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:172,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: mcl::aggs::PublicKey::load
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::aggs::PublicKey::load
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::aggs::PublicKey::save
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:179,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: mcl::aggs::PublicKey::save
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::aggs::PublicKey::save
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:185,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:185,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - PublicKey
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: '& operator>>(std::istream& is, PublicKey& self)'
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - load
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, PublicKey& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:190,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:190,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - PublicKey
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: '& operator<<(std::ostream& os, const PublicKey& self)'
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - save
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const PublicKey& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - PublicKey
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: operator==(const PublicKey& rhs) const
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const PublicKey& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - PublicKey
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: operator!=(const PublicKey& rhs) const
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const PublicKey& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::G1
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:206,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:207,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:208,1
    - Dst: GT::GT
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:209,1
    - Dst: precomputedMillerLoop
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:210,1
    - Dst: millerLoop
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:211,1
    - Dst: finalExp
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:213,1
    - Dst: GT::isOne
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' sig'
    - m
    - mSize
    argTypes:
    - Signature
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 215
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 215
    functionName: mcl::aggs::PublicKey::verify
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - hashAndMapToG1
    - millerLoop
    - precomputedMillerLoop
    - finalExp
    - Botan::EC_Group_Data::affine_neg
    - GT::GT
    - GT::isOne
    linkageType: ''
    returnType: bool
    signature: bool verify(const Signature& sig, const void *m, size_t mSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::aggs::PublicKey::verify
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:218,1
    - Dst: c_str
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:218,1
    - Dst: size
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sig'
    - ' m'
    argTypes:
    - Signature
    - std::string
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: mcl::aggs::PublicKey::verify
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 1
    functionsReached:
    - c_str
    - size
    - mcl::aggs::PublicKey::verify
    linkageType: ''
    returnType: bool
    signature: bool verify(const Signature& sig, const std::string& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::aggs::SecretKey::load
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pb
    - ' is'
    argTypes:
    - bool*
    - InputStream
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: mcl::aggs::SecretKey::load
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 1
    functionsReached:
    - mcl::aggs::SecretKey::load
    linkageType: ''
    returnType: void
    signature: void load(bool *pb, InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::aggs::SecretKey::save
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pb
    - ' os'
    argTypes:
    - bool*
    - OutputStream
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: mcl::aggs::SecretKey::save
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 1
    functionsReached:
    - mcl::aggs::SecretKey::save
    linkageType: ''
    returnType: void
    signature: void save(bool *pb, OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::aggs::SecretKey::load
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:241,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: mcl::aggs::SecretKey::load
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::aggs::SecretKey::load
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::aggs::SecretKey::save
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:248,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: mcl::aggs::SecretKey::save
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::aggs::SecretKey::save
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:254,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:254,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - SecretKey
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: '& operator>>(std::istream& is, SecretKey& self)'
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - load
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, SecretKey& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:259,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:259,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - SecretKey
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: '& operator<<(std::ostream& os, const SecretKey& self)'
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - save
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const SecretKey& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SecretKey
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: operator==(const SecretKey& rhs) const
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SecretKey& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SecretKey
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: operator!=(const SecretKey& rhs) const
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const SecretKey& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::RandGen::RandGen
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:267,1
    - Dst: setByCSPRNG
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: mcl::aggs::SecretKey::init
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 0
    functionsReached:
    - setByCSPRNG
    - mcl::fp::RandGen::RandGen
    linkageType: ''
    returnType: void
    signature: void init(fp::RandGen rg = fp::RandGen())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pub'
    argTypes:
    - PublicKey
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: mcl::aggs::SecretKey::getPublicKey
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void getPublicKey(PublicKey& pub) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hashAndMapToG1
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:277,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' sig'
    - m
    - mSize
    argTypes:
    - Signature
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: mcl::aggs::SecretKey::sign
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_mul
    - hashAndMapToG1
    linkageType: ''
    returnType: void
    signature: void sign(Signature& sig, const void *m, size_t mSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::aggs::SecretKey::sign
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:282,1
    - Dst: c_str
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:282,1
    - Dst: size
      Src: /src/mcl/include/mcl/aggregate_sig.hpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sig'
    - ' m'
    argTypes:
    - Signature
    - std::string
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: mcl::aggs::SecretKey::sign
    functionSourceFile: /src/mcl/include/mcl/aggregate_sig.hpp
    functionUses: 1
    functionsReached:
    - mcl::aggs::SecretKey::sign
    - c_str
    - size
    linkageType: ''
    returnType: void
    signature: void sign(Signature& sig, const std::string& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: F::isZero
      Src: /src/mcl/include/mcl/lagrange.hpp:35,1
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/include/mcl/lagrange.hpp:45,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/lagrange.hpp:53,1
    - Dst: F::isZero
      Src: /src/mcl/include/mcl/lagrange.hpp:54,1
    - Dst: mcl::invVec
      Src: /src/mcl/include/mcl/lagrange.hpp:62,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/lagrange.hpp:65,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/lagrange.hpp:69,1
    - Dst: G::clear
      Src: /src/mcl/include/mcl/lagrange.hpp:74,1
    - Dst: F::isZero
      Src: /src/mcl/include/mcl/lagrange.hpp:80,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/lagrange.hpp:88,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 5
    argNames:
    - pb
    - ' out'
    - S
    - vec
    - k
    argTypes:
    - bool*
    - G
    - F*
    - G*
    - size_t
    constantsTouched: []
    func_position:
      end: 94
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 94
    functionName: mcl::LagrangeInterpolation
    functionSourceFile: /src/mcl/include/mcl/lagrange.hpp
    functionUses: 4
    functionsReached:
    - mcl::invVec
    - CYBOZU_ALLOCA
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_mul
    - F::isZero
    - G::clear
    linkageType: ''
    returnType: void
    signature: void LagrangeInterpolation(bool *pb, G& out, const F *S, const G *vec,
      size_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/lagrange.hpp:114,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/lagrange.hpp:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - pb
    - ' out'
    - c
    - cSize
    - ' x'
    argTypes:
    - bool*
    - G
    - G*
    - size_t
    - T
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: mcl::evaluatePolynomial
    functionSourceFile: /src/mcl/include/mcl/lagrange.hpp
    functionUses: 4
    functionsReached:
    - fiat_bls12_381_fp_mul
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void evaluatePolynomial(bool *pb, G& out, const G *c, size_t cSize,
      const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::LagrangeInterpolation
      Src: /src/mcl/include/mcl/lagrange.hpp:126,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/lagrange.hpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ' out'
    - S
    - vec
    - k
    argTypes:
    - G
    - F*
    - G*
    - size_t
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: mcl::LagrangeInterpolation
    functionSourceFile: /src/mcl/include/mcl/lagrange.hpp
    functionUses: 5
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::LagrangeInterpolation
    linkageType: ''
    returnType: void
    signature: void LagrangeInterpolation(G& out, const F *S, const G *vec, size_t
      k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::evaluatePolynomial
      Src: /src/mcl/include/mcl/lagrange.hpp:134,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/lagrange.hpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ' out'
    - c
    - cSize
    - ' x'
    argTypes:
    - G
    - G*
    - size_t
    - T
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: mcl::evaluatePolynomial
    functionSourceFile: /src/mcl/include/mcl/lagrange.hpp
    functionUses: 5
    functionsReached:
    - mcl::evaluatePolynomial
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void evaluatePolynomial(G& out, const G *c, size_t cSize, const T&
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::mul
      Src: /src/mcl/include/mcl/ntt.hpp:23,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - sec
    - ' u'
    - n
    argTypes:
    - T*
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: mcl::local::initPowSeq
    functionSourceFile: /src/mcl/include/mcl/ntt.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::mul
    linkageType: ''
    returnType: void
    signature: void initPowSeq(T* sec, const T& u, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/include/mcl/ntt.hpp:31,1
    - Dst: mcl::local::genericRev
      Src: /src/mcl/include/mcl/ntt.hpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: mcl::local::BitReverse
    functionSourceFile: /src/mcl/include/mcl/ntt.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::local::genericRev
    linkageType: ''
    returnType: void
    signature: void BitReverse()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - x
    - xBit
    argTypes:
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: mcl::local::genericRev
    functionSourceFile: /src/mcl/include/mcl/ntt.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t genericRev(uint64_t x, size_t xBit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - x
    - xBit
    argTypes:
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: mcl::local::rev
    functionSourceFile: /src/mcl/include/mcl/ntt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t rev(uint64_t x, size_t xBit) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - v
    - bitN
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: mcl::local::revArray
    functionSourceFile: /src/mcl/include/mcl/ntt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void revArray(T *v, size_t bitN) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::setStr
      Src: /src/mcl/include/mcl/ntt.hpp:103,1
    - Dst: assert
      Src: /src/mcl/include/mcl/ntt.hpp:104,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/ntt.hpp:108,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/ntt.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: mcl::Ntt
    functionSourceFile: /src/mcl/include/mcl/ntt.hpp
    functionUses: 0
    functionsReached:
    - mcl::setStr
    - assert
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - testFp12pow
    linkageType: ''
    returnType: void
    signature: void Ntt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mcl/include/mcl/ntt.hpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: mcl::clean
    functionSourceFile: /src/mcl/include/mcl/ntt.hpp
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void clean()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::clean
      Src: /src/mcl/include/mcl/ntt.hpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: ~Ntt()
    functionSourceFile: /src/mcl/include/mcl/ntt.hpp
    functionUses: 0
    functionsReached:
    - mcl::clean
    linkageType: ''
    returnType: void
    signature: void ~Ntt()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - N
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: mcl::verifyN
    functionSourceFile: /src/mcl/include/mcl/ntt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool verifyN(size_t N) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - N
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: mcl::requiredByteSize
    functionSourceFile: /src/mcl/include/mcl/ntt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t requiredByteSize(size_t N)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::verifyN
      Src: /src/mcl/include/mcl/ntt.hpp:136,1
    - Dst: mcl::clean
      Src: /src/mcl/include/mcl/ntt.hpp:137,1
    - Dst: reinterpret_cast<Fr*>
      Src: /src/mcl/include/mcl/ntt.hpp:139,1
    - Dst: malloc
      Src: /src/mcl/include/mcl/ntt.hpp:141,1
    - Dst: mcl::requiredByteSize
      Src: /src/mcl/include/mcl/ntt.hpp:141,1
    - Dst: cybozu::bsr
      Src: /src/mcl/include/mcl/ntt.hpp:148,1
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/ntt.hpp:150,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/ntt.hpp:151,1
    - Dst: mcl::local::initPowSeq
      Src: /src/mcl/include/mcl/ntt.hpp:152,1
    - Dst: get_da_inv
      Src: /src/mcl/include/mcl/ntt.hpp:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - N
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 155
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 155
    functionName: mcl::init
    functionSourceFile: /src/mcl/include/mcl/ntt.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<Fr*>
    - testFp12pow
    - get_da_inv
    - mcl::clean
    - malloc
    - mcl::verifyN
    - cybozu::bsr
    - mcl::requiredByteSize
    - Fr::Fr
    - mcl::local::initPowSeq
    linkageType: ''
    returnType: bool
    signature: bool init(size_t N, void *buffer = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: '& getW() const'
    functionSourceFile: /src/mcl/include/mcl/ntt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Fr
    signature: Fr & getW() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: '& getInvW() const'
    functionSourceFile: /src/mcl/include/mcl/ntt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Fr
    signature: Fr & getInvW() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: mcl::getWs
    functionSourceFile: /src/mcl/include/mcl/ntt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Fr
    signature: Fr *getWs() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: revArray
      Src: /src/mcl/include/mcl/ntt.hpp:166,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ntt.hpp:174,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ntt.hpp:175,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ntt.hpp:176,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ntt.hpp:183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - xs
    - ws
    - inv
    argTypes:
    - G*
    - Fr*
    - bool
    constantsTouched: []
    func_position:
      end: 186
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 186
    functionName: mcl::_ntt
    functionSourceFile: /src/mcl/include/mcl/ntt.hpp
    functionUses: 0
    functionsReached:
    - revArray
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_mul
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void _ntt(G *xs, const Fr *ws, bool inv) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::_ntt
      Src: /src/mcl/include/mcl/ntt.hpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - G*
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: mcl::ntt
    functionSourceFile: /src/mcl/include/mcl/ntt.hpp
    functionUses: 0
    functionsReached:
    - mcl::_ntt
    linkageType: ''
    returnType: void
    signature: void ntt(G *xs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::_ntt
      Src: /src/mcl/include/mcl/ntt.hpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - G*
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: mcl::intt
    functionSourceFile: /src/mcl/include/mcl/ntt.hpp
    functionUses: 0
    functionsReached:
    - mcl::_ntt
    linkageType: ''
    returnType: void
    signature: void intt(G *xs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::StrToMode
      Src: /src/mcl/include/mcl/fp.hpp:42,1
    - Dst: c_str
      Src: /src/mcl/include/mcl/fp.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: mcl::fp::StrToMode
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::StrToMode
    - c_str
    linkageType: ''
    returnType: Mode
    signature: Mode StrToMode(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::swap_
      Src: /src/mcl/include/mcl/fp.hpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: mcl::fp::local::byteSwap
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::swap_
    linkageType: ''
    returnType: void
    signature: void byteSwap(uint8_t *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_add
      Src: /src/mcl/include/mcl/fp.hpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: mcl::FpT::addA
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - fp_add
    linkageType: ''
    returnType: void
    signature: void addA(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_sub
      Src: /src/mcl/include/mcl/fp.hpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: mcl::FpT::subA
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - fp_sub
    linkageType: ''
    returnType: void
    signature: void subA(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_neg
      Src: /src/mcl/include/mcl/fp.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: mcl::FpT::negA
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - fp_neg
    linkageType: ''
    returnType: void
    signature: void negA(Unit *y, const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_mul
      Src: /src/mcl/include/mcl/fp.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - z
    - x
    - y
    argTypes:
    - Unit*
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: mcl::FpT::mulA
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - fp_mul
    linkageType: ''
    returnType: void
    signature: void mulA(Unit *z, const Unit *x, const Unit *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_sqr
      Src: /src/mcl/include/mcl/fp.hpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: mcl::FpT::sqrA
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - fp_sqr
    linkageType: ''
    returnType: void
    signature: void sqrA(Unit *y, const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_add
      Src: /src/mcl/include/mcl/fp.hpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: mcl::FpT::mul2A
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - fp_add
    linkageType: ''
    returnType: void
    signature: void mul2A(Unit *y, const Unit *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: mcl::FpT::getUnit
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Unit
    signature: Unit *getUnit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: mcl::FpT::getFp0
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FpT
    signature: FpT * getFp0()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: mcl::FpT::getFp0
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FpT
    signature: FpT * getFp0() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: mcl::FpT::getUnitSize
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getUnitSize()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: mcl::FpT::getBitSize
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getBitSize()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: mcl::FpT::getByteSize
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getByteSize()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: '& getOp()'
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fp::Op
    signature: fp::Op & getOp()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: '& getOpNonConst()'
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fp::Op
    signature: fp::Op & getOpNonConst()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::dump
      Src: /src/mcl/include/mcl/fp.hpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: mcl::FpT::dump
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::dump
    linkageType: ''
    returnType: void
    signature: void dump() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::init
      Src: /src/mcl/include/mcl/fp.hpp:128,1
    - Dst: reinterpret_cast<FpT*>
      Src: /src/mcl/include/mcl/fp.hpp:134,1
    - Dst: mcl::FpT::clear
      Src: /src/mcl/include/mcl/fp.hpp:135,1
    - Dst: mcl::FpT::toMont
      Src: /src/mcl/include/mcl/fp.hpp:137,1
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/include/mcl/fp.hpp:141,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - pb
    - ' p'
    argTypes:
    - bool*
    - mpz_class
    constantsTouched: []
    func_position:
      end: 165
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 165
    functionName: mcl::FpT::init
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 1
    functionsReached:
    - mcl::FpT::init
    - mcl::FpT::clear
    - mcl::FpT::toMont
    - reinterpret_cast<FpT*>
    - mcl::gmp::getArray
    linkageType: ''
    returnType: void
    signature: void init(bool *pb, const mpz_class& p, int u = 0, int xi_a = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/include/mcl/fp.hpp:169,1
    - Dst: mcl::FpT::init
      Src: /src/mcl/include/mcl/fp.hpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pb
    - mstr
    argTypes:
    - bool*
    - char*
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: mcl::FpT::init
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 2
    functionsReached:
    - mcl::gmp::setStr
    - mcl::FpT::init
    linkageType: ''
    returnType: void
    signature: void init(bool *pb, const char *mstr, int u = 0, int xi_a = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getStr
      Src: /src/mcl/include/mcl/fp.hpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: mcl::FpT::getModulo
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 5
    functionsReached:
    - mcl::gmp::getStr
    linkageType: ''
    returnType: size_t
    signature: size_t getModulo(char *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: mcl::FpT::isFullBit
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFullBit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const FpT*>
      Src: /src/mcl/include/mcl/fp.hpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: '& getP()'
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const FpT*>
    linkageType: ''
    returnType: FpT
    signature: FpT & getP()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::getBlock
      Src: /src/mcl/include/mcl/fp.hpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: mcl::FpT::isOdd
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::getBlock
    linkageType: ''
    returnType: bool
    signature: bool isOdd() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sq::get
      Src: /src/mcl/include/mcl/fp.hpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - FpT
    - FpT
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: mcl::FpT::squareRoot
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 1
    functionsReached:
    - sq::get
    linkageType: ''
    returnType: bool
    signature: bool squareRoot(FpT& y, const FpT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: mcl::FpT::FpT
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FpT()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_copy
      Src: /src/mcl/include/mcl/fp.hpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FpT
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: mcl::FpT::FpT
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - fp_copy
    linkageType: ''
    returnType: void
    signature: void FpT(const FpT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_copy
      Src: /src/mcl/include/mcl/fp.hpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - FpT
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: '& operator=(const FpT& x)'
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - fp_copy
    linkageType: ''
    returnType: FpT
    signature: FpT & operator=(const FpT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_clear
      Src: /src/mcl/include/mcl/fp.hpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: mcl::FpT::clear
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 1
    functionsReached:
    - fp_clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: mcl::FpT::FpT
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FpT(int64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_copy
      Src: /src/mcl/include/mcl/fp.hpp:214,1
    - Dst: mcl::clear
      Src: /src/mcl/include/mcl/fp.hpp:216,1
    - Dst: mcl::neg
      Src: /src/mcl/include/mcl/fp.hpp:225,1
    - Dst: toMont
      Src: /src/mcl/include/mcl/fp.hpp:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - x
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 230
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 230
    functionName: '& operator=(int64_t x)'
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - toMont
    - fp_copy
    - mcl::clear
    - mcl::neg
    linkageType: ''
    returnType: FpT
    signature: FpT & operator=(int64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 231
    functionName: mcl::FpT::isMont
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isMont()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::isMont
      Src: /src/mcl/include/mcl/fp.hpp:238,1
    - Dst: mcl::FpT::toMont
      Src: /src/mcl/include/mcl/fp.hpp:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: mcl::FpT::toMont
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 2
    functionsReached:
    - mcl::FpT::toMont
    - mcl::FpT::isMont
    linkageType: ''
    returnType: void
    signature: void toMont()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::isMont
      Src: /src/mcl/include/mcl/fp.hpp:246,1
    - Dst: mcl::FpT::fromMont
      Src: /src/mcl/include/mcl/fp.hpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: mcl::FpT::fromMont
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 1
    functionsReached:
    - mcl::FpT::fromMont
    - mcl::FpT::isMont
    linkageType: ''
    returnType: void
    signature: void fromMont()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::isIoSerializeMode
      Src: /src/mcl/include/mcl/fp.hpp:254,1
    - Dst: mcl::fp::readHexStr
      Src: /src/mcl/include/mcl/fp.hpp:259,1
    - Dst: cybozu::readSome
      Src: /src/mcl/include/mcl/fp.hpp:261,1
    - Dst: mcl::FpT::getETHserialization
      Src: /src/mcl/include/mcl/fp.hpp:264,1
    - Dst: mcl::fp::local::byteSwap
      Src: /src/mcl/include/mcl/fp.hpp:265,1
    - Dst: mcl::fp::convertArrayAsLE
      Src: /src/mcl/include/mcl/fp.hpp:267,1
    - Dst: mcl::fp::strToArray
      Src: /src/mcl/include/mcl/fp.hpp:272,1
    - Dst: mcl::bint::cmpGeN
      Src: /src/mcl/include/mcl/fp.hpp:276,1
    - Dst: mcl::FpT::neg
      Src: /src/mcl/include/mcl/fp.hpp:280,1
    - Dst: mcl::FpT::toMont
      Src: /src/mcl/include/mcl/fp.hpp:283,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - pb
    - ' is'
    - ioMode
    argTypes:
    - bool*
    - InputStream
    - int
    constantsTouched: []
    func_position:
      end: 286
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 286
    functionName: mcl::FpT::load
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::neg
    - cybozu::readSome
    - mcl::FpT::getETHserialization
    - mcl::bint::cmpGeN
    - mcl::fp::local::byteSwap
    - mcl::fp::convertArrayAsLE
    - mcl::fp::strToArray
    - mcl::FpT::toMont
    - mcl::fp::readHexStr
    - mcl::fp::isIoSerializeMode
    linkageType: ''
    returnType: void
    signature: void load(bool *pb, InputStream& is, int ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::isIoSerializeMode
      Src: /src/mcl/include/mcl/fp.hpp:291,1
    - Dst: mcl::fp::convertArrayAsLE
      Src: /src/mcl/include/mcl/fp.hpp:295,1
    - Dst: cybozu::write
      Src: /src/mcl/include/mcl/fp.hpp:296,1
    - Dst: mcl::FpT::getBlock
      Src: /src/mcl/include/mcl/fp.hpp:299,1
    - Dst: mcl::fp::convertArrayAsLE
      Src: /src/mcl/include/mcl/fp.hpp:300,1
    - Dst: mcl::FpT::getETHserialization
      Src: /src/mcl/include/mcl/fp.hpp:301,1
    - Dst: mcl::fp::local::byteSwap
      Src: /src/mcl/include/mcl/fp.hpp:302,1
    - Dst: mcl::fp::writeHexStr
      Src: /src/mcl/include/mcl/fp.hpp:305,1
    - Dst: cybozu::write
      Src: /src/mcl/include/mcl/fp.hpp:307,1
    - Dst: mcl::FpT::getBlock
      Src: /src/mcl/include/mcl/fp.hpp:313,1
    - Dst: cybozu::write
      Src: /src/mcl/include/mcl/fp.hpp:321,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - pb
    - ' os'
    - ioMode
    argTypes:
    - bool*
    - OutputStream
    - int
    constantsTouched: []
    func_position:
      end: 322
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 322
    functionName: mcl::FpT::save
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::getBlock
    - mcl::FpT::getETHserialization
    - mcl::fp::writeHexStr
    - mcl::fp::local::byteSwap
    - mcl::fp::convertArrayAsLE
    - cybozu::write
    - mcl::fp::isIoSerializeMode
    linkageType: ''
    returnType: void
    signature: void save(bool *pb, OutputStream& os, int ioMode) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::convertArrayAsLE
      Src: /src/mcl/include/mcl/fp.hpp:330,1
    - Dst: mcl::bint::cmpGeN
      Src: /src/mcl/include/mcl/fp.hpp:334,1
    - Dst: mcl::FpT::toMont
      Src: /src/mcl/include/mcl/fp.hpp:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pb
    - x
    - n
    argTypes:
    - bool*
    - S*
    - size_t
    constantsTouched: []
    func_position:
      end: 340
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 340
    functionName: mcl::FpT::setArray
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::convertArrayAsLE
    - mcl::FpT::toMont
    - mcl::bint::cmpGeN
    linkageType: ''
    returnType: void
    signature: void setArray(bool *pb, const S *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/fp.hpp:354,1
    - Dst: mcl::bint::maskN
      Src: /src/mcl/include/mcl/fp.hpp:356,1
    - Dst: mcl::bint::cmpGeN
      Src: /src/mcl/include/mcl/fp.hpp:357,1
    - Dst: mcl::bint::maskN
      Src: /src/mcl/include/mcl/fp.hpp:358,1
    - Dst: mcl::FpT::toMont
      Src: /src/mcl/include/mcl/fp.hpp:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - S*
    - size_t
    constantsTouched: []
    func_position:
      end: 361
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 361
    functionName: mcl::FpT::setArrayMask
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::cmpGeN
    - mcl::FpT::toMont
    - assert
    - mcl::bint::maskN
    linkageType: ''
    returnType: void
    signature: void setArrayMask(const S *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/include/mcl/fp.hpp:374,1
    - Dst: modp::modp
      Src: /src/mcl/include/mcl/fp.hpp:377,1
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/include/mcl/fp.hpp:381,1
    - Dst: mcl::FpT::toMont
      Src: /src/mcl/include/mcl/fp.hpp:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pb
    - x
    - n
    argTypes:
    - bool*
    - S*
    - size_t
    constantsTouched: []
    func_position:
      end: 384
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 384
    functionName: mcl::FpT::setArrayMod
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::setArray
    - mcl::FpT::toMont
    - mcl::gmp::getArray
    - modp::modp
    linkageType: ''
    returnType: void
    signature: void setArrayMod(bool *pb, const S *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::isMont
      Src: /src/mcl/include/mcl/fp.hpp:388,1
    - Dst: mcl::FpT::fromMont
      Src: /src/mcl/include/mcl/fp.hpp:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - fp::Block
    constantsTouched: []
    func_position:
      end: 394
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 394
    functionName: mcl::FpT::getBlock
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 2
    functionsReached:
    - mcl::FpT::fromMont
    - mcl::FpT::isMont
    linkageType: ''
    returnType: void
    signature: void getBlock(fp::Block& b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::isMont
      Src: /src/mcl/include/mcl/fp.hpp:398,1
    - Dst: mcl::FpT::fromMont
      Src: /src/mcl/include/mcl/fp.hpp:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - u
    argTypes:
    - Unit*
    constantsTouched: []
    func_position:
      end: 403
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 403
    functionName: mcl::FpT::getUnitArray
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::fromMont
    - mcl::FpT::isMont
    linkageType: ''
    returnType: void
    signature: void getUnitArray(Unit *u) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::isMont
      Src: /src/mcl/include/mcl/fp.hpp:408,1
    - Dst: mcl::FpT::toMont
      Src: /src/mcl/include/mcl/fp.hpp:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - u
    argTypes:
    - Unit*
    constantsTouched: []
    func_position:
      end: 413
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 413
    functionName: mcl::FpT::setUnitArray
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::toMont
    - mcl::FpT::isMont
    linkageType: ''
    returnType: void
    signature: void setUnitArray(const Unit *u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::getBlock
      Src: /src/mcl/include/mcl/fp.hpp:422,1
    - Dst: mcl::fp::convertArrayAsLE
      Src: /src/mcl/include/mcl/fp.hpp:425,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - buf
    - maxN
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 438
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 438
    functionName: mcl::FpT::getLittleEndian
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::getBlock
    - mcl::fp::convertArrayAsLE
    linkageType: ''
    returnType: size_t
    signature: size_t getLittleEndian(uint8_t *buf, size_t maxN) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::setArrayMod
      Src: /src/mcl/include/mcl/fp.hpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pb
    - x
    - xn
    argTypes:
    - bool*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: mcl::FpT::setLittleEndianMod
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::setArrayMod
    linkageType: ''
    returnType: void
    signature: void setLittleEndianMod(bool *pb, const uint8_t *x, size_t xn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::setArrayMod
      Src: /src/mcl/include/mcl/fp.hpp:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pb
    - x
    - xn
    argTypes:
    - bool*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 456
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 456
    functionName: mcl::FpT::setBigEndianMod
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::setArrayMod
    linkageType: ''
    returnType: void
    signature: void setBigEndianMod(bool *pb, const uint8_t *x, size_t xn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::RandGen::RandGen
      Src: /src/mcl/include/mcl/fp.hpp:457,1
    - Dst: mcl::FpT::isZero
      Src: /src/mcl/include/mcl/fp.hpp:459,1
    - Dst: Botan_Tests::Test_Map_PSK_Db::kv_get
      Src: /src/mcl/include/mcl/fp.hpp:459,1
    - Dst: read
      Src: /src/mcl/include/mcl/fp.hpp:462,1
    - Dst: mcl::fp::convertArrayAsLE
      Src: /src/mcl/include/mcl/fp.hpp:464,1
    - Dst: mcl::FpT::setArrayMask
      Src: /src/mcl/include/mcl/fp.hpp:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pb
    argTypes:
    - bool*
    constantsTouched: []
    func_position:
      end: 466
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 466
    functionName: mcl::FpT::setByCSPRNG
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::setArrayMask
    - read
    - mcl::fp::convertArrayAsLE
    - Botan_Tests::Test_Map_PSK_Db::kv_get
    - mcl::FpT::isZero
    - mcl::fp::RandGen::RandGen
    linkageType: ''
    returnType: void
    signature: void setByCSPRNG(bool *pb, fp::RandGen rg = fp::RandGen())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::setLittleEndianMod
      Src: /src/mcl/include/mcl/fp.hpp:471,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp.hpp:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 473
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 473
    functionName: mcl::FpT::setLittleEndianMod
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::FpT::setLittleEndianMod
    linkageType: ''
    returnType: void
    signature: void setLittleEndianMod(const uint8_t *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::setBigEndianMod
      Src: /src/mcl/include/mcl/fp.hpp:477,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp.hpp:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: mcl::FpT::setBigEndianMod
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::FpT::setBigEndianMod
    linkageType: ''
    returnType: void
    signature: void setBigEndianMod(const uint8_t *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::RandGen::RandGen
      Src: /src/mcl/include/mcl/fp.hpp:480,1
    - Dst: mcl::FpT::setByCSPRNG
      Src: /src/mcl/include/mcl/fp.hpp:483,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp.hpp:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 485
    functionName: mcl::FpT::setByCSPRNG
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::FpT::setByCSPRNG
    - mcl::fp::RandGen::RandGen
    linkageType: ''
    returnType: void
    signature: void setByCSPRNG(fp::RandGen rg = fp::RandGen())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::RandGen::RandGen
      Src: /src/mcl/include/mcl/fp.hpp:487,1
    - Dst: mcl::FpT::setByCSPRNG
      Src: /src/mcl/include/mcl/fp.hpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 4
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: mcl::FpT::setRand
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::setByCSPRNG
    - mcl::fp::RandGen::RandGen
    linkageType: ''
    returnType: void
    signature: void setRand(fp::RandGen rg = fp::RandGen())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::setArrayMask
      Src: /src/mcl/include/mcl/fp.hpp:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - msgSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 3
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: mcl::FpT::setHashOf
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::setArrayMask
    linkageType: ''
    returnType: void
    signature: void setHashOf(const void *msg, size_t msgSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::getBlock
      Src: /src/mcl/include/mcl/fp.hpp:507,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/include/mcl/fp.hpp:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pb
    - ' x'
    argTypes:
    - bool*
    - mpz_class
    constantsTouched: []
    func_position:
      end: 509
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 509
    functionName: mcl::FpT::getMpz
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::getBlock
    - mcl::gmp::setArray
    linkageType: ''
    returnType: void
    signature: void getMpz(bool *pb, mpz_class& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::setArrayMod
      Src: /src/mcl/include/mcl/fp.hpp:516,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/include/mcl/fp.hpp:516,1
    - Dst: mcl::gmp::getUnitSize
      Src: /src/mcl/include/mcl/fp.hpp:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pb
    - ' x'
    argTypes:
    - bool*
    - mpz_class
    constantsTouched: []
    func_position:
      end: 517
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 517
    functionName: mcl::FpT::setMpz
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::getUnitSize
    - mcl::FpT::setArrayMod
    - mcl::gmp::getUnit
    linkageType: ''
    returnType: void
    signature: void setMpz(bool *pb, const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_addA_
      Src: /src/mcl/include/mcl/fp.hpp:521,1
    - Dst: fp_add
      Src: /src/mcl/include/mcl/fp.hpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - FpT
    - FpT
    - FpT
    constantsTouched: []
    func_position:
      end: 525
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 525
    functionName: mcl::FpT::add
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - fp_add
    - fp_addA_
    linkageType: ''
    returnType: void
    signature: void add(FpT& z, const FpT& x, const FpT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_subA_
      Src: /src/mcl/include/mcl/fp.hpp:529,1
    - Dst: fp_sub
      Src: /src/mcl/include/mcl/fp.hpp:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - FpT
    - FpT
    - FpT
    constantsTouched: []
    func_position:
      end: 533
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 533
    functionName: mcl::FpT::sub
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 2
    functionsReached:
    - fp_subA_
    - fp_sub
    linkageType: ''
    returnType: void
    signature: void sub(FpT& z, const FpT& x, const FpT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_negA_
      Src: /src/mcl/include/mcl/fp.hpp:537,1
    - Dst: fp_neg
      Src: /src/mcl/include/mcl/fp.hpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - FpT
    - FpT
    constantsTouched: []
    func_position:
      end: 541
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 541
    functionName: mcl::FpT::neg
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 1
    functionsReached:
    - fp_neg
    - fp_negA_
    linkageType: ''
    returnType: void
    signature: void neg(FpT& y, const FpT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_mulA_
      Src: /src/mcl/include/mcl/fp.hpp:545,1
    - Dst: fp_mul
      Src: /src/mcl/include/mcl/fp.hpp:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - FpT
    - FpT
    - FpT
    constantsTouched: []
    func_position:
      end: 549
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 549
    functionName: mcl::FpT::mul
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 3
    functionsReached:
    - fp_mulA_
    - fp_mul
    linkageType: ''
    returnType: void
    signature: void mul(FpT& z, const FpT& x, const FpT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_sqrA_
      Src: /src/mcl/include/mcl/fp.hpp:553,1
    - Dst: fp_sqr
      Src: /src/mcl/include/mcl/fp.hpp:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - FpT
    - FpT
    constantsTouched: []
    func_position:
      end: 557
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 557
    functionName: mcl::FpT::sqr
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 2
    functionsReached:
    - fp_sqr
    - fp_sqrA_
    linkageType: ''
    returnType: void
    signature: void sqr(FpT& y, const FpT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_mul2A_
      Src: /src/mcl/include/mcl/fp.hpp:561,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/fp.hpp:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - FpT
    - FpT
    constantsTouched: []
    func_position:
      end: 566
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 566
    functionName: mcl::FpT::mul2
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - fp_mul2A_
    - mcl::FpT::add
    linkageType: ''
    returnType: void
    signature: void mul2(FpT& y, const FpT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::mulUnit
      Src: /src/mcl/include/mcl/fp.hpp:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - FpT
    - FpT
    constantsTouched: []
    func_position:
      end: 570
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 570
    functionName: mcl::FpT::mul9
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::mulUnit
    linkageType: ''
    returnType: void
    signature: void mul9(FpT& y, const FpT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_addPre
      Src: /src/mcl/include/mcl/fp.hpp:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - FpT
    - FpT
    - FpT
    constantsTouched: []
    func_position:
      end: 571
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 571
    functionName: mcl::FpT::addPre
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - fp_addPre
    linkageType: ''
    returnType: void
    signature: void addPre(FpT& z, const FpT& x, const FpT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_subPre
      Src: /src/mcl/include/mcl/fp.hpp:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - FpT
    - FpT
    - FpT
    constantsTouched: []
    func_position:
      end: 572
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 572
    functionName: mcl::FpT::subPre
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - fp_subPre
    linkageType: ''
    returnType: void
    signature: void subPre(FpT& z, const FpT& x, const FpT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::mulSmallUnit
      Src: /src/mcl/include/mcl/fp.hpp:575,1
    - Dst: mulSmallUnit
      Src: /src/mcl/include/mcl/fp.hpp:576,1
    - Dst: fp_mulUnit
      Src: /src/mcl/include/mcl/fp.hpp:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - FpT
    - FpT
    - Unit
    constantsTouched: []
    func_position:
      end: 578
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 578
    functionName: mcl::FpT::mulUnit
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::mulSmallUnit
    - fp_mulUnit
    - mulSmallUnit
    linkageType: ''
    returnType: void
    signature: void mulUnit(FpT& z, const FpT& x, const Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::mulUnit
      Src: /src/mcl/include/mcl/fp.hpp:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - FpT
    - FpT
    - uint32_t
    constantsTouched: []
    func_position:
      end: 580
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 580
    functionName: mcl::FpT::mulSmall
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 1
    functionsReached:
    - mcl::FpT::mulUnit
    linkageType: ''
    returnType: void
    signature: void mulSmall(FpT& z, const FpT& x, const uint32_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/fp.hpp:583,1
    - Dst: mcl::FpT::isZero
      Src: /src/mcl/include/mcl/fp.hpp:583,1
    - Dst: fp_invOp
      Src: /src/mcl/include/mcl/fp.hpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - FpT
    - FpT
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: mcl::FpT::inv
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 1
    functionsReached:
    - assert
    - mcl::FpT::isZero
    - fp_invOp
    linkageType: ''
    returnType: void
    signature: void inv(FpT& y, const FpT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_shr1
      Src: /src/mcl/include/mcl/fp.hpp:589,1
    - Dst: fp_addPre
      Src: /src/mcl/include/mcl/fp.hpp:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - FpT
    - FpT
    constantsTouched: []
    func_position:
      end: 593
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 593
    functionName: mcl::FpT::divBy2
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - fp_addPre
    - fp_shr1
    linkageType: ''
    returnType: void
    signature: void divBy2(FpT& y, const FpT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::divBy2
      Src: /src/mcl/include/mcl/fp.hpp:596,1
    - Dst: mcl::FpT::divBy2
      Src: /src/mcl/include/mcl/fp.hpp:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - FpT
    - FpT
    constantsTouched: []
    func_position:
      end: 598
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 598
    functionName: mcl::FpT::divBy4
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::divBy2
    linkageType: ''
    returnType: void
    signature: void divBy4(FpT& y, const FpT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_isZero
      Src: /src/mcl/include/mcl/fp.hpp:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 599
    functionName: mcl::FpT::isZero
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 2
    functionsReached:
    - fp_isZero
    linkageType: ''
    returnType: bool
    signature: bool isZero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::cmpEqN
      Src: /src/mcl/include/mcl/fp.hpp:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 600
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 600
    functionName: mcl::FpT::isOne
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::cmpEqN
    linkageType: ''
    returnType: bool
    signature: bool isOne() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const FpT*>
      Src: /src/mcl/include/mcl/fp.hpp:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 601
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 601
    functionName: '& one()'
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const FpT*>
    linkageType: ''
    returnType: FpT
    signature: FpT & one()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::getBlock
      Src: /src/mcl/include/mcl/fp.hpp:610,1
    - Dst: mcl::bint::cmpGeN
      Src: /src/mcl/include/mcl/fp.hpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 612
    functionName: mcl::FpT::isNegative
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::getBlock
    - mcl::bint::cmpGeN
    linkageType: ''
    returnType: bool
    signature: bool isNegative() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::cmpLtN
      Src: /src/mcl/include/mcl/fp.hpp:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 616
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 616
    functionName: mcl::FpT::isValid
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::cmpLtN
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::getBlock
      Src: /src/mcl/include/mcl/fp.hpp:620,1
    - Dst: mcl::fp::getUint64
      Src: /src/mcl/include/mcl/fp.hpp:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pb
    argTypes:
    - bool*
    constantsTouched: []
    func_position:
      end: 622
      start: 617
    functionDepth: 2
    functionLinenumber: 617
    functionLinenumberEnd: 622
    functionName: mcl::FpT::getUint64
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::getBlock
    - mcl::fp::getUint64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getUint64(bool *pb) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::getBlock
      Src: /src/mcl/include/mcl/fp.hpp:626,1
    - Dst: mcl::fp::getInt64
      Src: /src/mcl/include/mcl/fp.hpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pb
    argTypes:
    - bool*
    constantsTouched: []
    func_position:
      end: 628
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 628
    functionName: mcl::FpT::getInt64
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::getBlock
    - mcl::fp::getInt64
    linkageType: ''
    returnType: int64_t
    signature: int64_t getInt64(bool *pb) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::cmpEqN
      Src: /src/mcl/include/mcl/fp.hpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FpT
    constantsTouched: []
    func_position:
      end: 629
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 629
    functionName: operator==(const FpT& rhs) const
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::cmpEqN
    linkageType: ''
    returnType: bool
    signature: bool operator==(const FpT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FpT
    constantsTouched: []
    func_position:
      end: 630
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 630
    functionName: operator!=(const FpT& rhs) const
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const FpT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::getBlock
      Src: /src/mcl/include/mcl/fp.hpp:638,1
    - Dst: mcl::FpT::getBlock
      Src: /src/mcl/include/mcl/fp.hpp:639,1
    - Dst: mcl::bint::cmpN
      Src: /src/mcl/include/mcl/fp.hpp:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - FpT
    - FpT
    constantsTouched: []
    func_position:
      end: 641
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 641
    functionName: mcl::FpT::compare
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::cmpN
    - mcl::FpT::getBlock
    linkageType: ''
    returnType: int
    signature: int compare(const FpT& x, const FpT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::getBlock
      Src: /src/mcl/include/mcl/fp.hpp:645,1
    - Dst: mcl::FpT::getBlock
      Src: /src/mcl/include/mcl/fp.hpp:646,1
    - Dst: mcl::bint::cmpLtN
      Src: /src/mcl/include/mcl/fp.hpp:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FpT
    constantsTouched: []
    func_position:
      end: 648
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 648
    functionName: mcl::FpT::isLess
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::getBlock
    - mcl::bint::cmpLtN
    linkageType: ''
    returnType: bool
    signature: bool isLess(const FpT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isLess
      Src: /src/mcl/include/mcl/fp.hpp:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FpT
    constantsTouched: []
    func_position:
      end: 649
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 649
    functionName: operator<(const FpT& rhs) const
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - isLess
    linkageType: ''
    returnType: bool
    signature: bool operator<(const FpT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FpT
    constantsTouched: []
    func_position:
      end: 650
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 650
    functionName: operator>=(const FpT& rhs) const
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const FpT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FpT
    constantsTouched: []
    func_position:
      end: 651
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 651
    functionName: operator>(const FpT& rhs) const
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const FpT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FpT
    constantsTouched: []
    func_position:
      end: 652
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 652
    functionName: operator<=(const FpT& rhs) const
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const FpT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::cmpN
      Src: /src/mcl/include/mcl/fp.hpp:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - FpT
    - FpT
    constantsTouched: []
    func_position:
      end: 660
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionName: mcl::FpT::compareRaw
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 1
    functionsReached:
    - mcl::bint::cmpN
    linkageType: ''
    returnType: int
    signature: int compareRaw(const FpT& x, const FpT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::cmpLtN
      Src: /src/mcl/include/mcl/fp.hpp:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FpT
    constantsTouched: []
    func_position:
      end: 664
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 664
    functionName: mcl::FpT::isLessRaw
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::cmpLtN
    linkageType: ''
    returnType: bool
    signature: bool isLessRaw(const FpT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ioMode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 671
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 671
    functionName: mcl::FpT::setIoMode
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIoMode(int ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ETHserialization
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 675
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 675
    functionName: mcl::FpT::setETHserialization
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setETHserialization(bool ETHserialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 679
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 679
    functionName: mcl::FpT::getETHserialization
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getETHserialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 680
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 680
    functionName: mcl::FpT::getIoMode
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getIoMode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::getBitSize
      Src: /src/mcl/include/mcl/fp.hpp:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 681
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 681
    functionName: mcl::FpT::getModBitLen
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::getBitSize
    linkageType: ''
    returnType: size_t
    signature: size_t getModBitLen()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 685
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 685
    functionName: mcl::FpT::setHashFunc
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setHashFunc(uint32_t hash(void *out, uint32_t maxOutSize, const
      void *msg, uint32_t msgSize))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setStr
      Src: /src/mcl/include/mcl/fp.hpp:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 690
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 690
    functionName: mcl::FpT::FpT
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - setStr
    linkageType: ''
    returnType: void
    signature: void FpT(const std::string& str, int base = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getStr
      Src: /src/mcl/include/mcl/fp.hpp:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pstr'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 694
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 694
    functionName: mcl::FpT::getModulo
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 5
    functionsReached:
    - mcl::gmp::getStr
    linkageType: ''
    returnType: void
    signature: void getModulo(std::string& pstr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::getModulo
      Src: /src/mcl/include/mcl/fp.hpp:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 700
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 700
    functionName: mcl::FpT::getModulo
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 6
    functionsReached:
    - mcl::FpT::getModulo
    linkageType: ''
    returnType: std::string
    signature: std::string getModulo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::setHashOf
      Src: /src/mcl/include/mcl/fp.hpp:703,1
    - Dst: data
      Src: /src/mcl/include/mcl/fp.hpp:703,1
    - Dst: size
      Src: /src/mcl/include/mcl/fp.hpp:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 704
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 704
    functionName: mcl::FpT::setHashOf
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 1
    functionsReached:
    - data
    - mcl::FpT::setHashOf
    - size
    linkageType: ''
    returnType: void
    signature: void setHashOf(const std::string& msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/fp.hpp:707,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/fp.hpp:707,1
    - Dst: getIoMode
      Src: /src/mcl/include/mcl/fp.hpp:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - FpT
    constantsTouched: []
    func_position:
      end: 709
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 709
    functionName: '& operator<<(std::ostream& os, const FpT& self)'
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - getIoMode
    - save
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const FpT& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/include/mcl/fp.hpp:712,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/fp.hpp:712,1
    - Dst: getIoMode
      Src: /src/mcl/include/mcl/fp.hpp:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - FpT
    constantsTouched: []
    func_position:
      end: 714
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 714
    functionName: '& operator>>(std::istream& is, FpT& self)'
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - getIoMode
    - load
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, FpT& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::init
      Src: /src/mcl/include/mcl/fp.hpp:720,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp.hpp:721,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 722
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 722
    functionName: mcl::FpT::init
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 3
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::FpT::init
    linkageType: ''
    returnType: void
    signature: void init(const mpz_class& p, int u = 0, int xi_a = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::init
      Src: /src/mcl/include/mcl/fp.hpp:726,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp.hpp:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pStr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 728
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 728
    functionName: mcl::FpT::init
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 4
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::FpT::init
    linkageType: ''
    returnType: void
    signature: void init(const char *pStr, int u = 0, int xi_a = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::save
      Src: /src/mcl/include/mcl/fp.hpp:733,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp.hpp:734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 735
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 735
    functionName: mcl::FpT::save
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::FpT::save
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::load
      Src: /src/mcl/include/mcl/fp.hpp:740,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp.hpp:741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 742
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 742
    functionName: mcl::FpT::load
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::FpT::load
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::setArray
      Src: /src/mcl/include/mcl/fp.hpp:750,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp.hpp:751,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - S*
    - size_t
    constantsTouched: []
    func_position:
      end: 752
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 752
    functionName: mcl::FpT::setArray
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::FpT::setArray
    linkageType: ''
    returnType: void
    signature: void setArray(const S *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::setMpz
      Src: /src/mcl/include/mcl/fp.hpp:756,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp.hpp:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 758
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 758
    functionName: mcl::FpT::setMpz
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::FpT::setMpz
    linkageType: ''
    returnType: void
    signature: void setMpz(const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp.hpp:763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 765
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 765
    functionName: mcl::FpT::getUint64
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getUint64() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp.hpp:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 772
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 772
    functionName: mcl::FpT::getInt64
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: int64_t
    signature: int64_t getInt64() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::getMpz
      Src: /src/mcl/include/mcl/fp.hpp:776,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/fp.hpp:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 778
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 778
    functionName: mcl::FpT::getMpz
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::FpT::getMpz
    linkageType: ''
    returnType: void
    signature: void getMpz(mpz_class& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::getMpz
      Src: /src/mcl/include/mcl/fp.hpp:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 784
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 784
    functionName: mcl::FpT::getMpz
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 2
    functionsReached:
    - mcl::FpT::getMpz
    linkageType: ''
    returnType: mpz_class
    signature: mpz_class getMpz() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/mcl/include/mcl/fp.hpp:807,1
    - Dst: cybozu::hash64
      Src: /src/mcl/include/mcl/fp.hpp:807,1
    - Dst: getUnit
      Src: /src/mcl/include/mcl/fp.hpp:807,1
    - Dst: getUnitSize
      Src: /src/mcl/include/mcl/fp.hpp:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mcl::FpT<tag, maxBitSize>
    constantsTouched: []
    func_position:
      end: 808
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 808
    functionName: mcl::hash_value
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - getUnit
    - cybozu::hash64
    - static_cast<size_t>
    - getUnitSize
    linkageType: ''
    returnType: size_t
    signature: size_t hash_value(const mcl::FpT<tag, maxBitSize>& x, size_t v = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/mcl/include/mcl/fp.hpp:818,1
    - Dst: cybozu::hash64
      Src: /src/mcl/include/mcl/fp.hpp:818,1
    - Dst: getUnit
      Src: /src/mcl/include/mcl/fp.hpp:818,1
    - Dst: getUnitSize
      Src: /src/mcl/include/mcl/fp.hpp:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mcl::FpT<tag, maxBitSize>
    constantsTouched: []
    func_position:
      end: 819
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 819
    functionName: operator()(const mcl::FpT<tag, maxBitSize>& x, uint64_t v = 0) const
    functionSourceFile: /src/mcl/include/mcl/fp.hpp
    functionUses: 0
    functionsReached:
    - getUnit
    - cybozu::hash64
    - static_cast<size_t>
    - getUnitSize
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const mcl::FpT<tag, maxBitSize>& x, uint64_t v =
      0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::WindowMethod::init
      Src: /src/mcl/include/mcl/window_method.hpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - bitSize
    - winSize
    argTypes:
    - Ec
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: mcl::fp::WindowMethod::WindowMethod
    functionSourceFile: /src/mcl/include/mcl/window_method.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::WindowMethod::init
    linkageType: ''
    returnType: void
    signature: void WindowMethod(const Ec& x, size_t bitSize, size_t winSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: mcl::fp::WindowMethod::WindowMethod
    functionSourceFile: /src/mcl/include/mcl/window_method.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WindowMethod()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/mcl/include/mcl/window_method.hpp:40,1
    - Dst: clear
      Src: /src/mcl/include/mcl/window_method.hpp:45,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/window_method.hpp:48,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/window_method.hpp:50,1
    - Dst: normalize
      Src: /src/mcl/include/mcl/window_method.hpp:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - pb
    - ' x'
    - bitSize
    - winSize
    argTypes:
    - bool*
    - Ec
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 34
    functionDepth: 4
    functionLinenumber: 34
    functionLinenumberEnd: 56
    functionName: mcl::fp::WindowMethod::init
    functionSourceFile: /src/mcl/include/mcl/window_method.hpp
    functionUses: 1
    functionsReached:
    - Botan::ge_p2_dbl
    - fiat_bls12_381_fp_add
    - clear
    - resize
    - normalize
    linkageType: ''
    returnType: void
    signature: void init(bool *pb, const Ec& x, size_t bitSize, size_t winSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::WindowMethod::init
      Src: /src/mcl/include/mcl/window_method.hpp:61,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/window_method.hpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ' x'
    - bitSize
    - winSize
    argTypes:
    - Ec
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: mcl::fp::WindowMethod::init
    functionSourceFile: /src/mcl/include/mcl/window_method.hpp
    functionUses: 2
    functionsReached:
    - mcl::fp::WindowMethod::init
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void init(const Ec& x, size_t bitSize, size_t winSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBlock
      Src: /src/mcl/include/mcl/window_method.hpp:73,1
    - Dst: mcl::fp::WindowMethod::powArray
      Src: /src/mcl/include/mcl/window_method.hpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' z'
    - ' y'
    argTypes:
    - Ec
    - FpT<tag2, maxBitSize2>
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: mcl::fp::WindowMethod::mul
    functionSourceFile: /src/mcl/include/mcl/window_method.hpp
    functionUses: 0
    functionsReached:
    - getBlock
    - mcl::fp::WindowMethod::powArray
    linkageType: ''
    returnType: void
    signature: void mul(Ec& z, const FpT<tag2, maxBitSize2>& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::abs_
      Src: /src/mcl/include/mcl/window_method.hpp:79,1
    - Dst: mcl::fp::WindowMethod::powArray
      Src: /src/mcl/include/mcl/window_method.hpp:80,1
    - Dst: mcl::fp::WindowMethod::powArray
      Src: /src/mcl/include/mcl/window_method.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' z'
    - y
    argTypes:
    - Ec
    - int64_t
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: mcl::fp::WindowMethod::mul
    functionSourceFile: /src/mcl/include/mcl/window_method.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::WindowMethod::powArray
    - mcl::fp::abs_
    linkageType: ''
    returnType: void
    signature: void mul(Ec& z, int64_t y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::WindowMethod::powArray
      Src: /src/mcl/include/mcl/window_method.hpp:90,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/include/mcl/window_method.hpp:90,1
    - Dst: mcl::gmp::getUnitSize
      Src: /src/mcl/include/mcl/window_method.hpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' z'
    - ' y'
    argTypes:
    - Ec
    - mpz_class
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: mcl::fp::WindowMethod::mul
    functionSourceFile: /src/mcl/include/mcl/window_method.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::WindowMethod::powArray
    - mcl::gmp::getUnit
    - mcl::gmp::getUnitSize
    linkageType: ''
    returnType: void
    signature: void mul(Ec& z, const mpz_class& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/include/mcl/window_method.hpp:94,1
    - Dst: assert
      Src: /src/mcl/include/mcl/window_method.hpp:100,1
    - Dst: size
      Src: /src/mcl/include/mcl/window_method.hpp:100,1
    - Dst: size
      Src: /src/mcl/include/mcl/window_method.hpp:101,1
    - Dst: assert
      Src: /src/mcl/include/mcl/window_method.hpp:102,1
    - Dst: BitIterator::getNext
      Src: /src/mcl/include/mcl/window_method.hpp:106,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/window_method.hpp:108,1
    - Dst: BitIterator::hasNext
      Src: /src/mcl/include/mcl/window_method.hpp:111,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/window_method.hpp:113,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - ' z'
    - y
    - n
    - isNegative
    argTypes:
    - Ec
    - Unit*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 115
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 115
    functionName: mcl::fp::WindowMethod::powArray
    functionSourceFile: /src/mcl/include/mcl/window_method.hpp
    functionUses: 3
    functionsReached:
    - BitIterator::hasNext
    - assert
    - size
    - fiat_bls12_381_fp_add
    - clear
    - BitIterator::getNext
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void powArray(Ec& z, const Unit* y, size_t n, bool isNegative) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/mcl/include/mcl/bn.hpp:39,1
    - Dst: mcl::getPrecomputedQcoeffSize
      Src: /src/mcl/include/mcl/bn.hpp:39,1
    - Dst: mcl::precomputeG2
      Src: /src/mcl/include/mcl/bn.hpp:41,1
    - Dst: data
      Src: /src/mcl/include/mcl/bn.hpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pb
    - ' Qcoeff'
    - ' Q'
    argTypes:
    - bool*
    - Array
    - G2
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: mcl::precomputeG2
    functionSourceFile: /src/mcl/include/mcl/bn.hpp
    functionUses: 1
    functionsReached:
    - mcl::precomputeG2
    - data
    - resize
    - mcl::getPrecomputedQcoeffSize
    linkageType: ''
    returnType: void
    signature: void precomputeG2(bool *pb, Array& Qcoeff, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/mcl/include/mcl/bn.hpp:130,1
    - Dst: mcl::getPrecomputedQcoeffSize
      Src: /src/mcl/include/mcl/bn.hpp:130,1
    - Dst: mcl::precomputeG2
      Src: /src/mcl/include/mcl/bn.hpp:131,1
    - Dst: data
      Src: /src/mcl/include/mcl/bn.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' Qcoeff'
    - ' Q'
    argTypes:
    - std::vector<Fp6>
    - G2
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: mcl::precomputeG2
    functionSourceFile: /src/mcl/include/mcl/bn.hpp
    functionUses: 2
    functionsReached:
    - mcl::precomputeG2
    - data
    - resize
    - mcl::getPrecomputedQcoeffSize
    linkageType: ''
    returnType: void
    signature: void precomputeG2(std::vector<Fp6>& Qcoeff, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::precomputedMillerLoop
      Src: /src/mcl/include/mcl/bn.hpp:136,1
    - Dst: data
      Src: /src/mcl/include/mcl/bn.hpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' f'
    - ' P'
    - ' Qcoeff'
    argTypes:
    - Fp12
    - G1
    - std::vector<Fp6>
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: mcl::precomputedMillerLoop
    functionSourceFile: /src/mcl/include/mcl/bn.hpp
    functionUses: 2
    functionsReached:
    - data
    - mcl::precomputedMillerLoop
    linkageType: ''
    returnType: void
    signature: void precomputedMillerLoop(Fp12& f, const G1& P, const std::vector<Fp6>&
      Qcoeff)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::precomputedMillerLoop2
      Src: /src/mcl/include/mcl/bn.hpp:141,1
    - Dst: data
      Src: /src/mcl/include/mcl/bn.hpp:141,1
    - Dst: data
      Src: /src/mcl/include/mcl/bn.hpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' f'
    - ' P1'
    - ' Q1coeff'
    - ' P2'
    - ' Q2coeff'
    argTypes:
    - Fp12
    - G1
    - std::vector<Fp6>
    - G1
    - std::vector<Fp6>
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: mcl::precomputedMillerLoop2
    functionSourceFile: /src/mcl/include/mcl/bn.hpp
    functionUses: 1
    functionsReached:
    - data
    - mcl::precomputedMillerLoop2
    linkageType: ''
    returnType: void
    signature: void precomputedMillerLoop2(Fp12& f, const G1& P1, const std::vector<Fp6>&
      Q1coeff, const G1& P2, const std::vector<Fp6>& Q2coeff)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::precomputedMillerLoop2mixed
      Src: /src/mcl/include/mcl/bn.hpp:146,1
    - Dst: data
      Src: /src/mcl/include/mcl/bn.hpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' f'
    - ' P1'
    - ' Q1'
    - ' P2'
    - ' Q2coeff'
    argTypes:
    - Fp12
    - G1
    - G2
    - G1
    - std::vector<Fp6>
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: mcl::precomputedMillerLoop2mixed
    functionSourceFile: /src/mcl/include/mcl/bn.hpp
    functionUses: 1
    functionsReached:
    - data
    - mcl::precomputedMillerLoop2mixed
    linkageType: ''
    returnType: void
    signature: void precomputedMillerLoop2mixed(Fp12& f, const G1& P1, const G2& Q1,
      const G1& P2, const std::vector<Fp6>& Q2coeff)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::initPairing
      Src: /src/mcl/include/mcl/bn.hpp:152,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/bn.hpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: mcl::initPairing
    functionSourceFile: /src/mcl/include/mcl/bn.hpp
    functionUses: 3
    functionsReached:
    - mcl::initPairing
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void initPairing(const mcl::CurveParam& cp = mcl::BN254)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::mapToG1
      Src: /src/mcl/include/mcl/bn.hpp:159,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/bn.hpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' P'
    - ' x'
    argTypes:
    - G1
    - Fp
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: mcl::mapToG1
    functionSourceFile: /src/mcl/include/mcl/bn.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::mapToG1
    linkageType: ''
    returnType: void
    signature: void mapToG1(G1& P, const Fp& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::mapToG2
      Src: /src/mcl/include/mcl/bn.hpp:166,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/bn.hpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' P'
    - ' x'
    argTypes:
    - G2
    - Fp2
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: mcl::mapToG2
    functionSourceFile: /src/mcl/include/mcl/bn.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::mapToG2
    linkageType: ''
    returnType: void
    signature: void mapToG2(G2& P, const Fp2& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::hashAndMapToG1
      Src: /src/mcl/include/mcl/bn.hpp:180,1
    - Dst: c_str
      Src: /src/mcl/include/mcl/bn.hpp:180,1
    - Dst: size
      Src: /src/mcl/include/mcl/bn.hpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' P'
    - ' str'
    argTypes:
    - G1
    - std::string
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: mcl::hashAndMapToG1
    functionSourceFile: /src/mcl/include/mcl/bn.hpp
    functionUses: 3
    functionsReached:
    - size
    - c_str
    - mcl::hashAndMapToG1
    linkageType: ''
    returnType: void
    signature: void hashAndMapToG1(G1& P, const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::hashAndMapToG2
      Src: /src/mcl/include/mcl/bn.hpp:185,1
    - Dst: c_str
      Src: /src/mcl/include/mcl/bn.hpp:185,1
    - Dst: size
      Src: /src/mcl/include/mcl/bn.hpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' P'
    - ' str'
    argTypes:
    - G2
    - std::string
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: mcl::hashAndMapToG2
    functionSourceFile: /src/mcl/include/mcl/bn.hpp
    functionUses: 3
    functionsReached:
    - size
    - c_str
    - mcl::hashAndMapToG2
    linkageType: ''
    returnType: void
    signature: void hashAndMapToG2(G2& P, const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: mcl::Vint::trim
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void trim()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::cmpN
      Src: /src/mcl/include/mcl/vint.hpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - x
    - xn
    - y
    - yn
    argTypes:
    - Unit*
    - size_t
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: mcl::Vint::ucompare
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::cmpN
    linkageType: ''
    returnType: int
    signature: int ucompare(const Unit *x, size_t xn, const Unit *y, size_t yn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::swap_
      Src: /src/mcl/include/mcl/vint.hpp:60,1
    - Dst: mcl::fp::swap_
      Src: /src/mcl/include/mcl/vint.hpp:61,1
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:63,1
    - Dst: mcl::Vint::setSize
      Src: /src/mcl/include/mcl/vint.hpp:65,1
    - Dst: mcl::Vint::clear
      Src: /src/mcl/include/mcl/vint.hpp:66,1
    - Dst: mcl::bint::addN
      Src: /src/mcl/include/mcl/vint.hpp:70,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/include/mcl/vint.hpp:73,1
    - Dst: mcl::bint::addUnit
      Src: /src/mcl/include/mcl/vint.hpp:74,1
    - Dst: mcl::Vint::trim
      Src: /src/mcl/include/mcl/vint.hpp:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - ' z'
    - px
    - xn
    - py
    - yn
    argTypes:
    - Vint
    - Unit*
    - size_t
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 78
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 78
    functionName: mcl::Vint::uadd
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::addN
    - mcl::fp::swap_
    - assert
    - mcl::bint::copyN
    - mcl::bint::addUnit
    - mcl::Vint::setSize
    - mcl::Vint::trim
    - mcl::Vint::clear
    linkageType: ''
    returnType: void
    signature: void uadd(Vint& z, const Unit *px, size_t xn, const Unit *py, size_t
      yn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::setSize
      Src: /src/mcl/include/mcl/vint.hpp:82,1
    - Dst: mcl::Vint::clear
      Src: /src/mcl/include/mcl/vint.hpp:83,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/include/mcl/vint.hpp:86,1
    - Dst: mcl::bint::addUnit
      Src: /src/mcl/include/mcl/vint.hpp:87,1
    - Dst: mcl::Vint::trim
      Src: /src/mcl/include/mcl/vint.hpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' z'
    - x
    - xn
    - y
    argTypes:
    - Vint
    - Unit*
    - size_t
    - Unit
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: mcl::Vint::uadd1
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::clear
    - mcl::bint::addUnit
    - mcl::Vint::setSize
    - mcl::Vint::trim
    - mcl::bint::copyN
    linkageType: ''
    returnType: void
    signature: void uadd1(Vint& z, const Unit *x, size_t xn, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::setSize
      Src: /src/mcl/include/mcl/vint.hpp:93,1
    - Dst: mcl::Vint::clear
      Src: /src/mcl/include/mcl/vint.hpp:94,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/include/mcl/vint.hpp:97,1
    - Dst: mcl::bint::subUnit
      Src: /src/mcl/include/mcl/vint.hpp:98,1
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:100,1
    - Dst: mcl::Vint::trim
      Src: /src/mcl/include/mcl/vint.hpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' z'
    - x
    - xn
    - y
    argTypes:
    - Vint
    - Unit*
    - size_t
    - Unit
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: mcl::Vint::usub1
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::clear
    - mcl::bint::subUnit
    - assert
    - mcl::Vint::setSize
    - mcl::Vint::trim
    - mcl::bint::copyN
    linkageType: ''
    returnType: void
    signature: void usub1(Vint& z, const Unit *x, size_t xn, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:105,1
    - Dst: mcl::Vint::setSize
      Src: /src/mcl/include/mcl/vint.hpp:106,1
    - Dst: mcl::Vint::clear
      Src: /src/mcl/include/mcl/vint.hpp:107,1
    - Dst: mcl::bint::subN
      Src: /src/mcl/include/mcl/vint.hpp:110,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/include/mcl/vint.hpp:115,1
    - Dst: mcl::bint::subUnit
      Src: /src/mcl/include/mcl/vint.hpp:116,1
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:118,1
    - Dst: mcl::Vint::trim
      Src: /src/mcl/include/mcl/vint.hpp:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' z'
    - x
    - xn
    - y
    - yn
    argTypes:
    - Vint
    - Unit*
    - size_t
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 120
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 120
    functionName: mcl::Vint::usub
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::subN
    - mcl::Vint::clear
    - mcl::bint::subUnit
    - assert
    - mcl::Vint::setSize
    - mcl::Vint::trim
    - mcl::bint::copyN
    linkageType: ''
    returnType: void
    signature: void usub(Vint& z, const Unit *x, size_t xn, const Unit *y, size_t
      yn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::uadd
      Src: /src/mcl/include/mcl/vint.hpp:125,1
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:125,1
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:125,1
    - Dst: mcl::Vint::usub
      Src: /src/mcl/include/mcl/vint.hpp:131,1
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:131,1
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:131,1
    - Dst: mcl::Vint::usub
      Src: /src/mcl/include/mcl/vint.hpp:134,1
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:134,1
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - ' z'
    - ' x'
    - xNeg
    - ' y'
    - yNeg
    argTypes:
    - Vint
    - Vint
    - bool
    - Vint
    - bool
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: mcl::Vint::_add
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::size
    - mcl::Vint::uadd
    - mcl::Vint::usub
    linkageType: ''
    returnType: void
    signature: void _add(Vint& z, const Vint& x, bool xNeg, const Vint& y, bool yNeg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:140,1
    - Dst: mcl::Vint::uadd1
      Src: /src/mcl/include/mcl/vint.hpp:143,1
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:143,1
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:147,1
    - Dst: mcl::Vint::usub1
      Src: /src/mcl/include/mcl/vint.hpp:148,1
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - y
    - yNeg
    argTypes:
    - Vint
    - Vint
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 154
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 154
    functionName: mcl::Vint::_adds1
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::uadd1
    - mcl::Vint::size
    - assert
    - mcl::Vint::usub1
    linkageType: ''
    returnType: void
    signature: void _adds1(Vint& z, const Vint& x, int y, bool yNeg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::uadd1
      Src: /src/mcl/include/mcl/vint.hpp:159,1
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:159,1
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:163,1
    - Dst: mcl::Vint::usub1
      Src: /src/mcl/include/mcl/vint.hpp:164,1
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - y
    - yNeg
    argTypes:
    - Vint
    - Vint
    - Unit
    - bool
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: mcl::Vint::_addu1
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::uadd1
    - mcl::Vint::size
    - mcl::Vint::usub1
    linkageType: ''
    returnType: void
    signature: void _addu1(Vint& z, const Vint& x, Unit y, bool yNeg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:177,1
    - Dst: mcl::Vint::copy
      Src: /src/mcl/include/mcl/vint.hpp:179,1
    - Dst: Vint*::clear
      Src: /src/mcl/include/mcl/vint.hpp:180,1
    - Dst: Vint*::setSize
      Src: /src/mcl/include/mcl/vint.hpp:185,1
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/include/mcl/vint.hpp:187,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/include/mcl/vint.hpp:188,1
    - Dst: mcl::Vint::copy
      Src: /src/mcl/include/mcl/vint.hpp:191,1
    - Dst: mcl::Vint::trim
      Src: /src/mcl/include/mcl/vint.hpp:192,1
    - Dst: Vint*::trim
      Src: /src/mcl/include/mcl/vint.hpp:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - q
    - ' r'
    - x
    - xn
    - y
    - yn
    argTypes:
    - Vint*
    - Vint
    - Unit*
    - size_t
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 196
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 196
    functionName: mcl::Vint::udiv
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - Vint*::clear
    - CYBOZU_ALLOCA
    - assert
    - Vint*::setSize
    - mcl::Vint::copy
    - Vint*::trim
    - mcl::Vint::trim
    - mcl::bint::copyN
    linkageType: ''
    returnType: void
    signature: void udiv(Vint* q, Vint& r, const Unit *x, size_t xn, const Unit *y,
      size_t yn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::isEven
      Src: /src/mcl/include/mcl/vint.hpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Vint
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: mcl::Vint::countTrailingZero
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::isEven
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t countTrailingZero(Vint& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::mul
      Src: /src/mcl/include/mcl/vint.hpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Vint
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: operator()(Vint& z, const Vint& x, const Vint& y) const
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::mul
    linkageType: ''
    returnType: void
    signature: void operator()(Vint& z, const Vint& x, const Vint& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::sqr
      Src: /src/mcl/include/mcl/vint.hpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: operator()(Vint& y, const Vint& x) const
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::sqr
    linkageType: ''
    returnType: void
    signature: void operator()(Vint& y, const Vint& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::sqr
      Src: /src/mcl/include/mcl/vint.hpp:244,1
    - Dst: mcl::Vint::sqr
      Src: /src/mcl/include/mcl/vint.hpp:249,1
    - Dst: mcl::Vint::mul
      Src: /src/mcl/include/mcl/vint.hpp:250,1
    - Dst: mcl::Vint::sqr
      Src: /src/mcl/include/mcl/vint.hpp:254,1
    - Dst: mcl::Vint::sqr
      Src: /src/mcl/include/mcl/vint.hpp:255,1
    - Dst: mcl::Vint::mul
      Src: /src/mcl/include/mcl/vint.hpp:265,1
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/include/mcl/vint.hpp:269,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/include/mcl/vint.hpp:270,1
    - Dst: mcl::Vint::sqr
      Src: /src/mcl/include/mcl/vint.hpp:278,1
    - Dst: mcl::Vint::mul
      Src: /src/mcl/include/mcl/vint.hpp:281,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 6
    argNames:
    - ' z'
    - ' x'
    - y
    - n
    - ' mul'
    - ' sqr'
    argTypes:
    - Vint
    - Vint
    - Unit*
    - size_t
    - Mul
    - Sqr
    constantsTouched: []
    func_position:
      end: 284
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 284
    functionName: mcl::Vint::powT
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::mul
    - CYBOZU_ALLOCA
    - mcl::Vint::sqr
    - mcl::bint::copyN
    linkageType: ''
    returnType: void
    signature: void powT(Vint& z, const Vint& x, const Unit *y, size_t n, const Mul&
      mul, const Sqr& sqr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: mcl::Vint::setSize
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool setSize(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::setSize
      Src: /src/mcl/include/mcl/vint.hpp:293,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/include/mcl/vint.hpp:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 296
    functionName: mcl::Vint::copy
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached:
    - mcl::Vint::setSize
    - mcl::bint::copyN
    linkageType: ''
    returnType: void
    signature: void copy(const Unit *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: mcl::Vint::Vint
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vint()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: mcl::Vint::Vint
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vint(int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - Unit
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: mcl::Vint::Vint
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vint(Unit x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Vint
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: mcl::Vint::Vint
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vint(const Vint& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:318,1
    - Dst: mcl::fp::abs_
      Src: /src/mcl/include/mcl/vint.hpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: '& operator=(int x)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - assert
    - mcl::fp::abs_
    linkageType: ''
    returnType: Vint
    signature: Vint & operator=(int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - Unit
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: '& operator=(Unit x)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Vint
    signature: Vint & operator=(Unit x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::copyN
      Src: /src/mcl/include/mcl/vint.hpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Vint
    constantsTouched: []
    func_position:
      end: 337
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 337
    functionName: '& operator=(const Vint& rhs)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::copyN
    linkageType: ''
    returnType: Vint
    signature: Vint & operator=(const Vint& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::dump
      Src: /src/mcl/include/mcl/vint.hpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: mcl::Vint::dump
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::dump
    linkageType: ''
    returnType: void
    signature: void dump(const char *msg = "") const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::clear
      Src: /src/mcl/include/mcl/vint.hpp:351,1
    - Dst: mcl::Vint::setSize
      Src: /src/mcl/include/mcl/vint.hpp:356,1
    - Dst: mcl::fp::convertArrayAsLE
      Src: /src/mcl/include/mcl/vint.hpp:360,1
    - Dst: mcl::Vint::trim
      Src: /src/mcl/include/mcl/vint.hpp:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - pb
    - x
    - size
    argTypes:
    - bool*
    - S*
    - size_t
    constantsTouched: []
    func_position:
      end: 365
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 365
    functionName: mcl::Vint::setArray
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::convertArrayAsLE
    - mcl::Vint::setSize
    - mcl::Vint::trim
    - mcl::Vint::clear
    linkageType: ''
    returnType: void
    signature: void setArray(bool *pb, const S *x, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::RandGen::RandGen
      Src: /src/mcl/include/mcl/vint.hpp:369,1
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:371,1
    - Dst: mcl::Vint::isZero
      Src: /src/mcl/include/mcl/vint.hpp:372,1
    - Dst: Botan_Tests::Test_Map_PSK_Db::kv_get
      Src: /src/mcl/include/mcl/vint.hpp:372,1
    - Dst: read
      Src: /src/mcl/include/mcl/vint.hpp:375,1
    - Dst: mcl::Vint::trim
      Src: /src/mcl/include/mcl/vint.hpp:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pb
    - ' max'
    argTypes:
    - bool*
    - Vint
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: mcl::Vint::setRand
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::isZero
    - read
    - assert
    - Botan_Tests::Test_Map_PSK_Db::kv_get
    - mcl::Vint::trim
    - mcl::fp::RandGen::RandGen
    linkageType: ''
    returnType: void
    signature: void setRand(bool *pb, const Vint& max, fp::RandGen rg = fp::RandGen())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::copyN
      Src: /src/mcl/include/mcl/vint.hpp:393,1
    - Dst: mcl::bint::clearN
      Src: /src/mcl/include/mcl/vint.hpp:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pb
    - x
    - maxSize
    argTypes:
    - bool*
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 396
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 396
    functionName: mcl::Vint::getArray
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::clearN
    - mcl::bint::copyN
    linkageType: ''
    returnType: void
    signature: void getArray(bool *pb, Unit *x, size_t maxSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 397
    functionName: mcl::Vint::clear
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/vint.hpp:401,1
    - Dst: cybozu::write
      Src: /src/mcl/include/mcl/vint.hpp:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pb
    - ' os'
    argTypes:
    - bool*
    - OutputStream
    constantsTouched: []
    func_position:
      end: 410
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 410
    functionName: mcl::Vint::save
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - cybozu::writeChar
    - cybozu::write
    linkageType: ''
    returnType: void
    signature: void save(bool *pb, OutputStream& os, int base = 10) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::save
      Src: /src/mcl/include/mcl/vint.hpp:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 424
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 424
    functionName: mcl::Vint::getStr
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::save
    linkageType: ''
    returnType: size_t
    signature: size_t getStr(char *buf, size_t bufSize, int base = 10) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::isZero
      Src: /src/mcl/include/mcl/vint.hpp:431,1
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:433,1
    - Dst: mcl::fp::getBitSize
      Src: /src/mcl/include/mcl/vint.hpp:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: mcl::Vint::getBitSize
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::isZero
    - assert
    - mcl::fp::getBitSize
    linkageType: ''
    returnType: size_t
    signature: size_t getBitSize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:439,1
    - Dst: Unit
      Src: /src/mcl/include/mcl/vint.hpp:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 445
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 445
    functionName: mcl::Vint::testBit
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - assert
    - Unit
    linkageType: ''
    returnType: bool
    signature: bool testBit(size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:448,1
    - Dst: mcl::bint::clearN
      Src: /src/mcl/include/mcl/vint.hpp:453,1
    - Dst: Unit
      Src: /src/mcl/include/mcl/vint.hpp:456,1
    - Dst: mcl::Vint::trim
      Src: /src/mcl/include/mcl/vint.hpp:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 463
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 463
    functionName: mcl::Vint::setBit
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::clearN
    - mcl::Vint::trim
    - assert
    - Unit
    linkageType: ''
    returnType: void
    signature: void setBit(size_t i, bool v = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::setSize
      Src: /src/mcl/include/mcl/vint.hpp:474,1
    - Dst: mcl::Vint::trim
      Src: /src/mcl/include/mcl/vint.hpp:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pb
    - str
    argTypes:
    - bool*
    - char*
    constantsTouched: []
    func_position:
      end: 480
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 480
    functionName: mcl::Vint::setStr
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached:
    - mcl::Vint::setSize
    - mcl::Vint::trim
    linkageType: ''
    returnType: void
    signature: void setStr(bool *pb, const char *str, int base = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::isZero
      Src: /src/mcl/include/mcl/vint.hpp:484,1
    - Dst: mcl::Vint::isZero
      Src: /src/mcl/include/mcl/vint.hpp:484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 494
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 494
    functionName: mcl::Vint::compare
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::isZero
    linkageType: ''
    returnType: int
    signature: int compare(const Vint& x, const Vint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:497,1
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:499,1
    - Dst: CYBOZU_ASSUME
      Src: /src/mcl/include/mcl/vint.hpp:500,1
    - Dst: mcl::Vint::isZero
      Src: /src/mcl/include/mcl/vint.hpp:501,1
    - Dst: mcl::fp::abs_
      Src: /src/mcl/include/mcl/vint.hpp:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - Vint
    - int
    constantsTouched: []
    func_position:
      end: 509
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 509
    functionName: mcl::Vint::compares1
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::isZero
    - assert
    - CYBOZU_ASSUME
    - mcl::fp::abs_
    linkageType: ''
    returnType: int
    signature: int compares1(const Vint& x, int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - Vint
    - uint32_t
    constantsTouched: []
    func_position:
      end: 516
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 516
    functionName: mcl::Vint::compareu1
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::size
    linkageType: ''
    returnType: int
    signature: int compareu1(const Vint& x, uint32_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: mcl::Vint::size
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 518
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 518
    functionName: mcl::Vint::isZero
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 4
    functionsReached:
    - mcl::Vint::size
    linkageType: ''
    returnType: bool
    signature: bool isZero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::isZero
      Src: /src/mcl/include/mcl/vint.hpp:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 519
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 519
    functionName: mcl::Vint::isNegative
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::isZero
    linkageType: ''
    returnType: bool
    signature: bool isNegative() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 520
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 520
    functionName: mcl::Vint::getLow32bit
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getLow32bit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 521
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 521
    functionName: mcl::Vint::isOdd
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::size
    linkageType: ''
    returnType: bool
    signature: bool isOdd() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::isOdd
      Src: /src/mcl/include/mcl/vint.hpp:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 522
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 522
    functionName: mcl::Vint::isEven
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached:
    - mcl::Vint::isOdd
    linkageType: ''
    returnType: bool
    signature: bool isEven() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 523
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 523
    functionName: mcl::Vint::getUnit
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Unit
    signature: Unit *getUnit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 524
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 524
    functionName: mcl::Vint::getUnitSize
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getUnitSize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::_add
      Src: /src/mcl/include/mcl/vint.hpp:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Vint
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 4
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: mcl::Vint::add
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 2
    functionsReached:
    - mcl::Vint::_add
    linkageType: ''
    returnType: void
    signature: void add(Vint& z, const Vint& x, const Vint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::_add
      Src: /src/mcl/include/mcl/vint.hpp:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Vint
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 532
      start: 529
    functionDepth: 4
    functionLinenumber: 529
    functionLinenumberEnd: 532
    functionName: mcl::Vint::sub
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 2
    functionsReached:
    - mcl::Vint::_add
    linkageType: ''
    returnType: void
    signature: void sub(Vint& z, const Vint& x, const Vint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::setSize
      Src: /src/mcl/include/mcl/vint.hpp:538,1
    - Dst: mcl::bint::mulNM
      Src: /src/mcl/include/mcl/vint.hpp:539,1
    - Dst: mcl::Vint::trim
      Src: /src/mcl/include/mcl/vint.hpp:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Vint
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 542
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 542
    functionName: mcl::Vint::mul
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 5
    functionsReached:
    - mcl::Vint::setSize
    - mcl::Vint::trim
    - mcl::bint::mulNM
    linkageType: ''
    returnType: void
    signature: void mul(Vint& z, const Vint& x, const Vint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::mul
      Src: /src/mcl/include/mcl/vint.hpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 546
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 546
    functionName: mcl::Vint::sqr
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 2
    functionsReached:
    - mcl::Vint::mul
    linkageType: ''
    returnType: void
    signature: void sqr(Vint& y, const Vint& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::_addu1
      Src: /src/mcl/include/mcl/vint.hpp:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - Vint
    - Vint
    - Unit
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: mcl::Vint::addu1
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached:
    - mcl::Vint::_addu1
    linkageType: ''
    returnType: void
    signature: void addu1(Vint& z, const Vint& x, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::_addu1
      Src: /src/mcl/include/mcl/vint.hpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - Vint
    - Vint
    - Unit
    constantsTouched: []
    func_position:
      end: 554
      start: 551
    functionDepth: 3
    functionLinenumber: 551
    functionLinenumberEnd: 554
    functionName: mcl::Vint::subu1
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached:
    - mcl::Vint::_addu1
    linkageType: ''
    returnType: void
    signature: void subu1(Vint& z, const Vint& x, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::setSize
      Src: /src/mcl/include/mcl/vint.hpp:559,1
    - Dst: mcl::bint::mulUnitN
      Src: /src/mcl/include/mcl/vint.hpp:560,1
    - Dst: mcl::Vint::trim
      Src: /src/mcl/include/mcl/vint.hpp:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - Vint
    - Vint
    - Unit
    constantsTouched: []
    func_position:
      end: 563
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 563
    functionName: mcl::Vint::mulu1
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::setSize
    - mcl::Vint::trim
    - mcl::bint::mulUnitN
    linkageType: ''
    returnType: void
    signature: void mulu1(Vint& z, const Vint& x, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::udivModu1
      Src: /src/mcl/include/mcl/vint.hpp:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' q'
    - ' x'
    - y
    argTypes:
    - Vint
    - Vint
    - Unit
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 567
    functionName: mcl::Vint::divu1
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::udivModu1
    linkageType: ''
    returnType: void
    signature: void divu1(Vint& q, const Vint& x, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::udivModu1
      Src: /src/mcl/include/mcl/vint.hpp:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' r'
    - ' x'
    - y
    argTypes:
    - Vint
    - Vint
    - Unit
    constantsTouched: []
    func_position:
      end: 573
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 573
    functionName: mcl::Vint::modu1
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::udivModu1
    linkageType: ''
    returnType: void
    signature: void modu1(Vint& r, const Vint& x, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:576,1
    - Dst: mcl::Vint::_adds1
      Src: /src/mcl/include/mcl/vint.hpp:577,1
    - Dst: mcl::fp::abs_
      Src: /src/mcl/include/mcl/vint.hpp:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - Vint
    - Vint
    - int
    constantsTouched: []
    func_position:
      end: 578
      start: 574
    functionDepth: 3
    functionLinenumber: 574
    functionLinenumberEnd: 578
    functionName: mcl::Vint::adds1
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - assert
    - mcl::fp::abs_
    - mcl::Vint::_adds1
    linkageType: ''
    returnType: void
    signature: void adds1(Vint& z, const Vint& x, int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:581,1
    - Dst: mcl::Vint::_adds1
      Src: /src/mcl/include/mcl/vint.hpp:582,1
    - Dst: mcl::fp::abs_
      Src: /src/mcl/include/mcl/vint.hpp:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - Vint
    - Vint
    - int
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 3
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: mcl::Vint::subs1
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - assert
    - mcl::fp::abs_
    - mcl::Vint::_adds1
    linkageType: ''
    returnType: void
    signature: void subs1(Vint& z, const Vint& x, int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:586,1
    - Dst: mcl::Vint::mulu1
      Src: /src/mcl/include/mcl/vint.hpp:587,1
    - Dst: mcl::fp::abs_
      Src: /src/mcl/include/mcl/vint.hpp:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - Vint
    - Vint
    - int
    constantsTouched: []
    func_position:
      end: 589
      start: 584
    functionDepth: 3
    functionLinenumber: 584
    functionLinenumberEnd: 589
    functionName: mcl::Vint::muls1
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - assert
    - mcl::Vint::mulu1
    - mcl::fp::abs_
    linkageType: ''
    returnType: void
    signature: void muls1(Vint& z, const Vint& x, int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:598,1
    - Dst: mcl::fp::abs_
      Src: /src/mcl/include/mcl/vint.hpp:601,1
    - Dst: mcl::bint::divUnit
      Src: /src/mcl/include/mcl/vint.hpp:606,1
    - Dst: Vint*::setSize
      Src: /src/mcl/include/mcl/vint.hpp:607,1
    - Dst: Vint*::trim
      Src: /src/mcl/include/mcl/vint.hpp:608,1
    - Dst: mcl::bint::modUnit
      Src: /src/mcl/include/mcl/vint.hpp:610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - q
    - ' x'
    - y
    argTypes:
    - Vint*
    - Vint
    - int
    constantsTouched: []
    func_position:
      end: 613
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 613
    functionName: mcl::Vint::divMods1
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached:
    - mcl::bint::modUnit
    - mcl::bint::divUnit
    - assert
    - Vint*::setSize
    - mcl::fp::abs_
    - Vint*::trim
    linkageType: ''
    returnType: int
    signature: int divMods1(Vint *q, const Vint& x, int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::udiv
      Src: /src/mcl/include/mcl/vint.hpp:625,1
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:625,1
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - q
    - ' r'
    - ' x'
    - ' y'
    argTypes:
    - Vint*
    - Vint
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 628
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 628
    functionName: mcl::Vint::divMod
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 2
    functionsReached:
    - mcl::Vint::udiv
    - mcl::Vint::size
    linkageType: ''
    returnType: void
    signature: void divMod(Vint *q, Vint& r, const Vint& x, const Vint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::divMod
      Src: /src/mcl/include/mcl/vint.hpp:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' q'
    - ' x'
    - ' y'
    argTypes:
    - Vint
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 633
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 633
    functionName: mcl::Vint::div
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::divMod
    linkageType: ''
    returnType: void
    signature: void div(Vint& q, const Vint& x, const Vint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::divMod
      Src: /src/mcl/include/mcl/vint.hpp:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r'
    - ' x'
    - ' y'
    argTypes:
    - Vint
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 637
      start: 634
    functionDepth: 3
    functionLinenumber: 634
    functionLinenumberEnd: 637
    functionName: mcl::Vint::mod
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::divMod
    linkageType: ''
    returnType: void
    signature: void mod(Vint& r, const Vint& x, const Vint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::divMods1
      Src: /src/mcl/include/mcl/vint.hpp:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' q'
    - ' x'
    - y
    argTypes:
    - Vint
    - Vint
    - int
    constantsTouched: []
    func_position:
      end: 641
      start: 638
    functionDepth: 3
    functionLinenumber: 638
    functionLinenumberEnd: 641
    functionName: mcl::Vint::divs1
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::divMods1
    linkageType: ''
    returnType: void
    signature: void divs1(Vint& q, const Vint& x, int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::divMods1
      Src: /src/mcl/include/mcl/vint.hpp:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' r'
    - ' x'
    - y
    argTypes:
    - Vint
    - Vint
    - int
    constantsTouched: []
    func_position:
      end: 647
      start: 642
    functionDepth: 3
    functionLinenumber: 642
    functionLinenumberEnd: 647
    functionName: mcl::Vint::mods1
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::divMods1
    linkageType: ''
    returnType: void
    signature: void mods1(Vint& r, const Vint& x, int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:650,1
    - Dst: Vint*::setSize
      Src: /src/mcl/include/mcl/vint.hpp:652,1
    - Dst: mcl::bint::divUnit
      Src: /src/mcl/include/mcl/vint.hpp:653,1
    - Dst: Vint*::trim
      Src: /src/mcl/include/mcl/vint.hpp:655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - q
    - ' x'
    - y
    argTypes:
    - Vint*
    - Vint
    - Unit
    constantsTouched: []
    func_position:
      end: 659
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 659
    functionName: mcl::Vint::udivModu1
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 2
    functionsReached:
    - Vint*::setSize
    - Vint*::trim
    - assert
    - mcl::bint::divUnit
    linkageType: ''
    returnType: Unit
    signature: Unit udivModu1(Vint *q, const Vint& x, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:669,1
    - Dst: mcl::Vint::udiv
      Src: /src/mcl/include/mcl/vint.hpp:673,1
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:673,1
    - Dst: Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:673,1
    - Dst: mcl::Vint::isZero
      Src: /src/mcl/include/mcl/vint.hpp:676,1
    - Dst: mcl::Vint::uadd1
      Src: /src/mcl/include/mcl/vint.hpp:678,1
    - Dst: Vint*::size
      Src: /src/mcl/include/mcl/vint.hpp:678,1
    - Dst: mcl::Vint::usub
      Src: /src/mcl/include/mcl/vint.hpp:680,1
    - Dst: Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:680,1
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:680,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - q
    - ' r'
    - ' x'
    - ' y'
    argTypes:
    - Vint*
    - Vint
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 682
      start: 667
    functionDepth: 3
    functionLinenumber: 667
    functionLinenumberEnd: 682
    functionName: mcl::Vint::quotRem
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 3
    functionsReached:
    - mcl::Vint::isZero
    - mcl::Vint::uadd1
    - mcl::Vint::size
    - Vint::size
    - assert
    - Vint*::size
    - mcl::Vint::usub
    - mcl::Vint::udiv
    linkageType: ''
    returnType: void
    signature: void quotRem(Vint *q, Vint& r, const Vint& x, const Vint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::strToArray
      Src: /src/mcl/include/mcl/vint.hpp:691,1
    - Dst: mcl::Vint::trim
      Src: /src/mcl/include/mcl/vint.hpp:694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pb
    - ' is'
    - ioMode
    argTypes:
    - bool*
    - InputStream
    - int
    constantsTouched: []
    func_position:
      end: 696
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 696
    functionName: mcl::Vint::load
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::strToArray
    - mcl::Vint::trim
    linkageType: ''
    returnType: void
    signature: void load(bool *pb, InputStream& is, int ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:700,1
    - Dst: mcl::bint::shiftLeft
      Src: /src/mcl/include/mcl/vint.hpp:703,1
    - Dst: mcl::Vint::trim
      Src: /src/mcl/include/mcl/vint.hpp:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' y'
    - ' x'
    - shiftBit
    argTypes:
    - Vint
    - Vint
    - size_t
    constantsTouched: []
    func_position:
      end: 707
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 707
    functionName: mcl::Vint::shl
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached:
    - mcl::Vint::trim
    - assert
    - mcl::bint::shiftLeft
    linkageType: ''
    returnType: void
    signature: void shl(Vint& y, const Vint& x, size_t shiftBit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:711,1
    - Dst: mcl::Vint::clear
      Src: /src/mcl/include/mcl/vint.hpp:714,1
    - Dst: mcl::bint::shiftRight
      Src: /src/mcl/include/mcl/vint.hpp:718,1
    - Dst: mcl::Vint::trim
      Src: /src/mcl/include/mcl/vint.hpp:721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' y'
    - ' x'
    - shiftBit
    argTypes:
    - Vint
    - Vint
    - size_t
    constantsTouched: []
    func_position:
      end: 722
      start: 709
    functionDepth: 2
    functionLinenumber: 709
    functionLinenumberEnd: 722
    functionName: mcl::Vint::shr
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached:
    - mcl::Vint::trim
    - assert
    - mcl::bint::shiftRight
    - mcl::Vint::clear
    linkageType: ''
    returnType: void
    signature: void shr(Vint& y, const Vint& x, size_t shiftBit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 727
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 727
    functionName: mcl::Vint::neg
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void neg(Vint& y, const Vint& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 732
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 732
    functionName: mcl::Vint::abs
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void abs(Vint& y, const Vint& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::abs
      Src: /src/mcl/include/mcl/vint.hpp:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Vint
    constantsTouched: []
    func_position:
      end: 738
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 738
    functionName: mcl::Vint::abs
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached:
    - mcl::Vint::abs
    linkageType: ''
    returnType: Vint
    signature: Vint abs(const Vint& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:742,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/include/mcl/vint.hpp:753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Vint
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 756
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 756
    functionName: mcl::Vint::orBit
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - assert
    - mcl::bint::copyN
    linkageType: ''
    returnType: void
    signature: void orBit(Vint& z, const Vint& x, const Vint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:759,1
    - Dst: mcl::Vint::trim
      Src: /src/mcl/include/mcl/vint.hpp:765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Vint
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 766
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 766
    functionName: mcl::Vint::andBit
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::trim
    - assert
    linkageType: ''
    returnType: void
    signature: void andBit(Vint& z, const Vint& x, const Vint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - Vint
    - Vint
    - Unit
    constantsTouched: []
    func_position:
      end: 772
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 772
    functionName: mcl::Vint::orBitu1
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void orBitu1(Vint& z, const Vint& x, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - Vint
    - Vint
    - Unit
    constantsTouched: []
    func_position:
      end: 779
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 779
    functionName: mcl::Vint::andBitu1
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void andBitu1(Vint& z, const Vint& x, Unit y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:785,1
    - Dst: mcl::Vint::powT
      Src: /src/mcl/include/mcl/vint.hpp:786,1
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Vint
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 787
      start: 783
    functionDepth: 2
    functionLinenumber: 783
    functionLinenumberEnd: 787
    functionName: mcl::Vint::pow
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 3
    functionsReached:
    - mcl::Vint::powT
    - mcl::Vint::size
    - assert
    linkageType: ''
    returnType: void
    signature: void pow(Vint& z, const Vint& x, const Vint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:793,1
    - Dst: mcl::fp::abs_
      Src: /src/mcl/include/mcl/vint.hpp:795,1
    - Dst: mcl::Vint::powT
      Src: /src/mcl/include/mcl/vint.hpp:796,1
    - Dst: mcl::Vint::powT
      Src: /src/mcl/include/mcl/vint.hpp:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - Vint
    - Vint
    - int64_t
    constantsTouched: []
    func_position:
      end: 803
      start: 791
    functionDepth: 2
    functionLinenumber: 791
    functionLinenumberEnd: 803
    functionName: mcl::Vint::pow
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 3
    functionsReached:
    - mcl::Vint::powT
    - assert
    - mcl::fp::abs_
    linkageType: ''
    returnType: void
    signature: void pow(Vint& z, const Vint& x, int64_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:810,1
    - Dst: mcl::Vint::powT
      Src: /src/mcl/include/mcl/vint.hpp:815,1
    - Dst: mcl::Vint::size
      Src: /src/mcl/include/mcl/vint.hpp:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - ' y'
    - ' m'
    argTypes:
    - Vint
    - Vint
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 816
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 816
    functionName: mcl::Vint::powMod
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached:
    - mcl::Vint::powT
    - mcl::Vint::size
    - assert
    linkageType: ''
    returnType: void
    signature: void powMod(Vint& z, const Vint& x, const Vint& y, const Vint& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:824,1
    - Dst: mcl::Vint::isZero
      Src: /src/mcl/include/mcl/vint.hpp:824,1
    - Dst: mcl::Vint::isZero
      Src: /src/mcl/include/mcl/vint.hpp:824,1
    - Dst: Vint::isEven
      Src: /src/mcl/include/mcl/vint.hpp:831,1
    - Dst: Vint::isOdd
      Src: /src/mcl/include/mcl/vint.hpp:833,1
    - Dst: Vint::isEven
      Src: /src/mcl/include/mcl/vint.hpp:838,1
    - Dst: mcl::Vint::isOdd
      Src: /src/mcl/include/mcl/vint.hpp:840,1
    - Dst: mcl::Vint::divMod
      Src: /src/mcl/include/mcl/vint.hpp:872,1
    - Dst: mcl::Vint::divMod
      Src: /src/mcl/include/mcl/vint.hpp:877,1
    - Dst: Vint::isZero
      Src: /src/mcl/include/mcl/vint.hpp:878,1
    - Dst: mcl::Vint::divMod
      Src: /src/mcl/include/mcl/vint.hpp:887,1
    - Dst: Vint::isZero
      Src: /src/mcl/include/mcl/vint.hpp:888,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 3
    argNames:
    - ' y'
    - ' x'
    - ' m'
    argTypes:
    - Vint
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 898
      start: 822
    functionDepth: 3
    functionLinenumber: 822
    functionLinenumberEnd: 898
    functionName: mcl::Vint::invMod
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 2
    functionsReached:
    - mcl::Vint::isZero
    - Vint::isZero
    - mcl::Vint::divMod
    - assert
    - mcl::Vint::isOdd
    - Vint::isOdd
    - Vint::isEven
    linkageType: ''
    returnType: void
    signature: void invMod(Vint& y, const Vint& x, const Vint& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::isEven
      Src: /src/mcl/include/mcl/vint.hpp:907,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/include/mcl/vint.hpp:908,1
    - Dst: Vint::setRand
      Src: /src/mcl/include/mcl/vint.hpp:915,1
    - Dst: mcl::Vint::powMod
      Src: /src/mcl/include/mcl/vint.hpp:918,1
    - Dst: mcl::Vint::sqr
      Src: /src/mcl/include/mcl/vint.hpp:923,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - pb
    - ' n'
    argTypes:
    - bool*
    - Vint
    constantsTouched: []
    func_position:
      end: 932
      start: 902
    functionDepth: 3
    functionLinenumber: 902
    functionLinenumberEnd: 932
    functionName: mcl::Vint::isPrime
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - Vint::setRand
    - mcl::Vint::powMod
    - mcl::Vint::isEven
    - cybozu::XorShift::XorShift
    - mcl::Vint::sqr
    linkageType: ''
    returnType: bool
    signature: bool isPrime(bool *pb, const Vint& n, int tryNum = 32)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::isPrime
      Src: /src/mcl/include/mcl/vint.hpp:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pb
    argTypes:
    - bool*
    constantsTouched: []
    func_position:
      end: 936
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 936
    functionName: mcl::Vint::isPrime
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached:
    - mcl::Vint::isPrime
    linkageType: ''
    returnType: bool
    signature: bool isPrime(bool *pb, int tryNum = 32) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vint::isZero
      Src: /src/mcl/include/mcl/vint.hpp:941,1
    - Dst: mcl::Vint::mod
      Src: /src/mcl/include/mcl/vint.hpp:947,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' z'
    - x
    - y
    argTypes:
    - Vint
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 949
      start: 937
    functionDepth: 4
    functionLinenumber: 937
    functionLinenumberEnd: 949
    functionName: mcl::Vint::gcd
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached:
    - Vint::isZero
    - mcl::Vint::mod
    linkageType: ''
    returnType: void
    signature: void gcd(Vint& z, Vint x, Vint y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::gcd
      Src: /src/mcl/include/mcl/vint.hpp:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 955
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 955
    functionName: mcl::Vint::gcd
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 2
    functionsReached:
    - mcl::Vint::gcd
    linkageType: ''
    returnType: Vint
    signature: Vint gcd(const Vint& x, const Vint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::gcd
      Src: /src/mcl/include/mcl/vint.hpp:959,1
    - Dst: mcl::Vint::div
      Src: /src/mcl/include/mcl/vint.hpp:960,1
    - Dst: mcl::Vint::mul
      Src: /src/mcl/include/mcl/vint.hpp:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Vint
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 962
      start: 956
    functionDepth: 5
    functionLinenumber: 956
    functionLinenumberEnd: 962
    functionName: mcl::Vint::lcm
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached:
    - mcl::Vint::gcd
    - mcl::Vint::div
    - mcl::Vint::mul
    linkageType: ''
    returnType: void
    signature: void lcm(Vint& z, const Vint& x, const Vint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::lcm
      Src: /src/mcl/include/mcl/vint.hpp:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 968
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 968
    functionName: mcl::Vint::lcm
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 2
    functionsReached:
    - mcl::Vint::lcm
    linkageType: ''
    returnType: Vint
    signature: Vint lcm(const Vint& x, const Vint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/vint.hpp:977,1
    - Dst: Vint::isOdd
      Src: /src/mcl/include/mcl/vint.hpp:977,1
    - Dst: mcl::Vint::quotRem
      Src: /src/mcl/include/mcl/vint.hpp:980,1
    - Dst: Vint::isZero
      Src: /src/mcl/include/mcl/vint.hpp:982,1
    - Dst: mcl::Vint::gcd
      Src: /src/mcl/include/mcl/vint.hpp:984,1
    - Dst: Vint::getLow32bit
      Src: /src/mcl/include/mcl/vint.hpp:990,1
    - Dst: Vint::getLow32bit
      Src: /src/mcl/include/mcl/vint.hpp:990,1
    - Dst: mcl::Vint::mod
      Src: /src/mcl/include/mcl/vint.hpp:993,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - m
    - n
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 1004
      start: 975
    functionDepth: 5
    functionLinenumber: 975
    functionLinenumberEnd: 1004
    functionName: mcl::Vint::jacobi
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - Vint::isZero
    - mcl::Vint::mod
    - assert
    - mcl::Vint::gcd
    - Vint::isOdd
    - mcl::Vint::quotRem
    - Vint::getLow32bit
    linkageType: ''
    returnType: int
    signature: int jacobi(Vint m, Vint n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::setStr
      Src: /src/mcl/include/mcl/vint.hpp:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 1010
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1010
    functionName: mcl::Vint::Vint
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached:
    - mcl::Vint::setStr
    linkageType: ''
    returnType: void
    signature: void Vint(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::clear
      Src: /src/mcl/include/mcl/vint.hpp:1013,1
    - Dst: mcl::Vint::save
      Src: /src/mcl/include/mcl/vint.hpp:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 1016
      start: 1011
    functionDepth: 2
    functionLinenumber: 1011
    functionLinenumberEnd: 1016
    functionName: mcl::Vint::getStr
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::save
    - mcl::Vint::clear
    linkageType: ''
    returnType: void
    signature: void getStr(std::string& s, int base = 10) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::getStr
      Src: /src/mcl/include/mcl/vint.hpp:1020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1022
    functionName: mcl::Vint::getStr
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached:
    - mcl::Vint::getStr
    linkageType: ''
    returnType: std::string
    signature: std::string getStr(int base = 10) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::getStr
      Src: /src/mcl/include/mcl/vint.hpp:1025,1
    - Dst: flags
      Src: /src/mcl/include/mcl/vint.hpp:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1026
    functionName: mcl::Vint::std
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::getStr
    - flags
    linkageType: ''
    returnType: friend
    signature: friend std
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::load
      Src: /src/mcl/include/mcl/vint.hpp:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1031
    functionName: mcl::Vint::std
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::load
    linkageType: ''
    returnType: friend
    signature: friend std
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::setStr
      Src: /src/mcl/include/mcl/vint.hpp:1037,1
    - Dst: c_str
      Src: /src/mcl/include/mcl/vint.hpp:1037,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/vint.hpp:1038,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 1039
      start: 1034
    functionDepth: 1
    functionLinenumber: 1034
    functionLinenumberEnd: 1039
    functionName: mcl::Vint::setStr
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 3
    functionsReached:
    - mcl::Vint::setStr
    - Shim_Exception::Shim_Exception
    - c_str
    linkageType: ''
    returnType: void
    signature: void setStr(const std::string& str, int base = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::RandGen::RandGen
      Src: /src/mcl/include/mcl/vint.hpp:1040,1
    - Dst: mcl::Vint::setRand
      Src: /src/mcl/include/mcl/vint.hpp:1043,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/vint.hpp:1044,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' max'
    argTypes:
    - Vint
    constantsTouched: []
    func_position:
      end: 1045
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1045
    functionName: mcl::Vint::setRand
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::Vint::setRand
    - mcl::fp::RandGen::RandGen
    linkageType: ''
    returnType: void
    signature: void setRand(const Vint& max, fp::RandGen rg = fp::RandGen())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::getArray
      Src: /src/mcl/include/mcl/vint.hpp:1049,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/vint.hpp:1050,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - x
    - maxSize
    argTypes:
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 1051
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1051
    functionName: mcl::Vint::getArray
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::Vint::getArray
    linkageType: ''
    returnType: void
    signature: void getArray(Unit *x, size_t maxSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::load
      Src: /src/mcl/include/mcl/vint.hpp:1056,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/vint.hpp:1057,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 1058
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1058
    functionName: mcl::Vint::load
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 2
    functionsReached:
    - mcl::Vint::load
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::save
      Src: /src/mcl/include/mcl/vint.hpp:1063,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/vint.hpp:1064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 1065
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1065
    functionName: mcl::Vint::save
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 3
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::Vint::save
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int base = 10) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/vint.hpp:1070,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - Vint
    constantsTouched: []
    func_position:
      end: 1072
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1072
    functionName: mcl::Vint::isPrime
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: bool
    signature: bool isPrime(const Vint& n, int tryNum = 32)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/vint.hpp:1077,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1079
    functionName: mcl::Vint::isPrime
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: bool
    signature: bool isPrime(int tryNum = 32) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::setArray
      Src: /src/mcl/include/mcl/vint.hpp:1084,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/vint.hpp:1085,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - x
    - size
    argTypes:
    - S*
    - size_t
    constantsTouched: []
    func_position:
      end: 1086
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1086
    functionName: mcl::Vint::setArray
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 1
    functionsReached:
    - mcl::Vint::setArray
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void setArray(const S *x, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: adds1
      Src: /src/mcl/include/mcl/vint.hpp:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1088
    functionName: '& operator++()'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - adds1
    linkageType: ''
    returnType: Vint
    signature: Vint & operator++()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subs1
      Src: /src/mcl/include/mcl/vint.hpp:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1089
    functionName: '& operator--()'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - subs1
    linkageType: ''
    returnType: Vint
    signature: Vint & operator--()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: adds1
      Src: /src/mcl/include/mcl/vint.hpp:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1090
    functionName: operator++(int)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - adds1
    linkageType: ''
    returnType: Vint
    signature: Vint operator++(int)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subs1
      Src: /src/mcl/include/mcl/vint.hpp:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1091
    functionName: operator--(int)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - subs1
    linkageType: ''
    returnType: Vint
    signature: Vint operator--(int)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/mcl/include/mcl/vint.hpp:1092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 1092
      start: 1092
    functionDepth: 3
    functionLinenumber: 1092
    functionLinenumberEnd: 1092
    functionName: operator<(const Vint& x, const Vint& y)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool operator<(const Vint& x, const Vint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 1093
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1093
    functionName: operator>=(const Vint& x, const Vint& y)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const Vint& x, const Vint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/mcl/include/mcl/vint.hpp:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 1094
      start: 1094
    functionDepth: 3
    functionLinenumber: 1094
    functionLinenumberEnd: 1094
    functionName: operator>(const Vint& x, const Vint& y)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool operator>(const Vint& x, const Vint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 1095
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1095
    functionName: operator<=(const Vint& x, const Vint& y)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const Vint& x, const Vint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/mcl/include/mcl/vint.hpp:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 1096
      start: 1096
    functionDepth: 3
    functionLinenumber: 1096
    functionLinenumberEnd: 1096
    functionName: operator==(const Vint& x, const Vint& y)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Vint& x, const Vint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 1097
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1097
    functionName: operator!=(const Vint& x, const Vint& y)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Vint& x, const Vint& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compares1
      Src: /src/mcl/include/mcl/vint.hpp:1099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - Vint
    - int
    constantsTouched: []
    func_position:
      end: 1099
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1099
    functionName: operator<(const Vint& x, int y)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - compares1
    linkageType: ''
    returnType: bool
    signature: bool operator<(const Vint& x, int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - Vint
    - int
    constantsTouched: []
    func_position:
      end: 1100
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1100
    functionName: operator>=(const Vint& x, int y)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const Vint& x, int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compares1
      Src: /src/mcl/include/mcl/vint.hpp:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - Vint
    - int
    constantsTouched: []
    func_position:
      end: 1101
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1101
    functionName: operator>(const Vint& x, int y)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - compares1
    linkageType: ''
    returnType: bool
    signature: bool operator>(const Vint& x, int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - Vint
    - int
    constantsTouched: []
    func_position:
      end: 1102
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1102
    functionName: operator<=(const Vint& x, int y)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const Vint& x, int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compares1
      Src: /src/mcl/include/mcl/vint.hpp:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - Vint
    - int
    constantsTouched: []
    func_position:
      end: 1103
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1103
    functionName: operator==(const Vint& x, int y)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - compares1
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Vint& x, int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - Vint
    - int
    constantsTouched: []
    func_position:
      end: 1104
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1104
    functionName: operator!=(const Vint& x, int y)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Vint& x, int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compareu1
      Src: /src/mcl/include/mcl/vint.hpp:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - Vint
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1106
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1106
    functionName: operator<(const Vint& x, uint32_t y)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - compareu1
    linkageType: ''
    returnType: bool
    signature: bool operator<(const Vint& x, uint32_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - Vint
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1107
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1107
    functionName: operator>=(const Vint& x, uint32_t y)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const Vint& x, uint32_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compareu1
      Src: /src/mcl/include/mcl/vint.hpp:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - Vint
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1108
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1108
    functionName: operator>(const Vint& x, uint32_t y)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - compareu1
    linkageType: ''
    returnType: bool
    signature: bool operator>(const Vint& x, uint32_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - Vint
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1109
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1109
    functionName: operator<=(const Vint& x, uint32_t y)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const Vint& x, uint32_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compareu1
      Src: /src/mcl/include/mcl/vint.hpp:1110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - Vint
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1110
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1110
    functionName: operator==(const Vint& x, uint32_t y)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - compareu1
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Vint& x, uint32_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - Vint
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1111
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1111
    functionName: operator!=(const Vint& x, uint32_t y)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Vint& x, uint32_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::add
      Src: /src/mcl/include/mcl/vint.hpp:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Vint
    constantsTouched: []
    func_position:
      end: 1113
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1113
    functionName: '& operator+=(const Vint& rhs)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::add
    linkageType: ''
    returnType: Vint
    signature: Vint & operator+=(const Vint& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::sub
      Src: /src/mcl/include/mcl/vint.hpp:1114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Vint
    constantsTouched: []
    func_position:
      end: 1114
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1114
    functionName: '& operator-=(const Vint& rhs)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::sub
    linkageType: ''
    returnType: Vint
    signature: Vint & operator-=(const Vint& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::mul
      Src: /src/mcl/include/mcl/vint.hpp:1115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Vint
    constantsTouched: []
    func_position:
      end: 1115
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1115
    functionName: '& operator*=(const Vint& rhs)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::mul
    linkageType: ''
    returnType: Vint
    signature: Vint & operator*=(const Vint& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: div
      Src: /src/mcl/include/mcl/vint.hpp:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Vint
    constantsTouched: []
    func_position:
      end: 1116
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1116
    functionName: '& operator/=(const Vint& rhs)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - div
    linkageType: ''
    returnType: Vint
    signature: Vint & operator/=(const Vint& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::mod
      Src: /src/mcl/include/mcl/vint.hpp:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Vint
    constantsTouched: []
    func_position:
      end: 1117
      start: 1117
    functionDepth: 2
    functionLinenumber: 1117
    functionLinenumberEnd: 1117
    functionName: '& operator%=(const Vint& rhs)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::mod
    linkageType: ''
    returnType: Vint
    signature: Vint & operator%=(const Vint& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: andBit
      Src: /src/mcl/include/mcl/vint.hpp:1118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Vint
    constantsTouched: []
    func_position:
      end: 1118
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1118
    functionName: '& operator&=(const Vint& rhs)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - andBit
    linkageType: ''
    returnType: Vint
    signature: Vint & operator&=(const Vint& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: orBit
      Src: /src/mcl/include/mcl/vint.hpp:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Vint
    constantsTouched: []
    func_position:
      end: 1119
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1119
    functionName: '& operator|=(const Vint& rhs)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - orBit
    linkageType: ''
    returnType: Vint
    signature: Vint & operator|=(const Vint& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: adds1
      Src: /src/mcl/include/mcl/vint.hpp:1121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1121
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1121
    functionName: '& operator+=(int rhs)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - adds1
    linkageType: ''
    returnType: Vint
    signature: Vint & operator+=(int rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subs1
      Src: /src/mcl/include/mcl/vint.hpp:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1122
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1122
    functionName: '& operator-=(int rhs)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - subs1
    linkageType: ''
    returnType: Vint
    signature: Vint & operator-=(int rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: muls1
      Src: /src/mcl/include/mcl/vint.hpp:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1123
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1123
    functionName: '& operator*=(int rhs)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - muls1
    linkageType: ''
    returnType: Vint
    signature: Vint & operator*=(int rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: divs1
      Src: /src/mcl/include/mcl/vint.hpp:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1124
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1124
    functionName: '& operator/=(int rhs)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - divs1
    linkageType: ''
    returnType: Vint
    signature: Vint & operator/=(int rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mods1
      Src: /src/mcl/include/mcl/vint.hpp:1125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1125
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1125
    functionName: '& operator%=(int rhs)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mods1
    linkageType: ''
    returnType: Vint
    signature: Vint & operator%=(int rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addu1
      Src: /src/mcl/include/mcl/vint.hpp:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Unit
    constantsTouched: []
    func_position:
      end: 1126
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1126
    functionName: '& operator+=(Unit rhs)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - addu1
    linkageType: ''
    returnType: Vint
    signature: Vint & operator+=(Unit rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subu1
      Src: /src/mcl/include/mcl/vint.hpp:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Unit
    constantsTouched: []
    func_position:
      end: 1127
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1127
    functionName: '& operator-=(Unit rhs)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - subu1
    linkageType: ''
    returnType: Vint
    signature: Vint & operator-=(Unit rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulu1
      Src: /src/mcl/include/mcl/vint.hpp:1128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Unit
    constantsTouched: []
    func_position:
      end: 1128
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1128
    functionName: '& operator*=(Unit rhs)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mulu1
    linkageType: ''
    returnType: Vint
    signature: Vint & operator*=(Unit rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: divu1
      Src: /src/mcl/include/mcl/vint.hpp:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Unit
    constantsTouched: []
    func_position:
      end: 1129
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1129
    functionName: '& operator/=(Unit rhs)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - divu1
    linkageType: ''
    returnType: Vint
    signature: Vint & operator/=(Unit rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modu1
      Src: /src/mcl/include/mcl/vint.hpp:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Unit
    constantsTouched: []
    func_position:
      end: 1130
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1130
    functionName: '& operator%=(Unit rhs)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - modu1
    linkageType: ''
    returnType: Vint
    signature: Vint & operator%=(Unit rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: andBitu1
      Src: /src/mcl/include/mcl/vint.hpp:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Unit
    constantsTouched: []
    func_position:
      end: 1132
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1132
    functionName: '& operator&=(Unit rhs)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - andBitu1
    linkageType: ''
    returnType: Vint
    signature: Vint & operator&=(Unit rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: orBitu1
      Src: /src/mcl/include/mcl/vint.hpp:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Unit
    constantsTouched: []
    func_position:
      end: 1133
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1133
    functionName: '& operator|=(Unit rhs)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - orBitu1
    linkageType: ''
    returnType: Vint
    signature: Vint & operator|=(Unit rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::add
      Src: /src/mcl/include/mcl/vint.hpp:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 1135
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1135
    functionName: operator+(const Vint& a, const Vint& b)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::add
    linkageType: ''
    returnType: Vint
    signature: Vint operator+(const Vint& a, const Vint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::sub
      Src: /src/mcl/include/mcl/vint.hpp:1136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 1136
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1136
    functionName: operator-(const Vint& a, const Vint& b)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::sub
    linkageType: ''
    returnType: Vint
    signature: Vint operator-(const Vint& a, const Vint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::mul
      Src: /src/mcl/include/mcl/vint.hpp:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 1137
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1137
    functionName: operator*(const Vint& a, const Vint& b)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::mul
    linkageType: ''
    returnType: Vint
    signature: Vint operator*(const Vint& a, const Vint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: div
      Src: /src/mcl/include/mcl/vint.hpp:1138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 1138
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1138
    functionName: operator/(const Vint& a, const Vint& b)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - div
    linkageType: ''
    returnType: Vint
    signature: Vint operator/(const Vint& a, const Vint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::mod
      Src: /src/mcl/include/mcl/vint.hpp:1139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 1139
      start: 1139
    functionDepth: 2
    functionLinenumber: 1139
    functionLinenumberEnd: 1139
    functionName: operator%(const Vint& a, const Vint& b)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::mod
    linkageType: ''
    returnType: Vint
    signature: Vint operator%(const Vint& a, const Vint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: andBit
      Src: /src/mcl/include/mcl/vint.hpp:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 1140
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1140
    functionName: operator&(const Vint& a, const Vint& b)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - andBit
    linkageType: ''
    returnType: Vint
    signature: Vint operator&(const Vint& a, const Vint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: orBit
      Src: /src/mcl/include/mcl/vint.hpp:1141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vint
    - Vint
    constantsTouched: []
    func_position:
      end: 1141
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1141
    functionName: operator|(const Vint& a, const Vint& b)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - orBit
    linkageType: ''
    returnType: Vint
    signature: Vint operator|(const Vint& a, const Vint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: adds1
      Src: /src/mcl/include/mcl/vint.hpp:1143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Vint
    - int
    constantsTouched: []
    func_position:
      end: 1143
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1143
    functionName: operator+(const Vint& a, int b)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - adds1
    linkageType: ''
    returnType: Vint
    signature: Vint operator+(const Vint& a, int b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subs1
      Src: /src/mcl/include/mcl/vint.hpp:1144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Vint
    - int
    constantsTouched: []
    func_position:
      end: 1144
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1144
    functionName: operator-(const Vint& a, int b)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - subs1
    linkageType: ''
    returnType: Vint
    signature: Vint operator-(const Vint& a, int b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: muls1
      Src: /src/mcl/include/mcl/vint.hpp:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Vint
    - int
    constantsTouched: []
    func_position:
      end: 1145
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1145
    functionName: operator*(const Vint& a, int b)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - muls1
    linkageType: ''
    returnType: Vint
    signature: Vint operator*(const Vint& a, int b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: divs1
      Src: /src/mcl/include/mcl/vint.hpp:1146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Vint
    - int
    constantsTouched: []
    func_position:
      end: 1146
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1146
    functionName: operator/(const Vint& a, int b)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - divs1
    linkageType: ''
    returnType: Vint
    signature: Vint operator/(const Vint& a, int b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mods1
      Src: /src/mcl/include/mcl/vint.hpp:1147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Vint
    - int
    constantsTouched: []
    func_position:
      end: 1147
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1147
    functionName: operator%(const Vint& a, int b)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mods1
    linkageType: ''
    returnType: Vint
    signature: Vint operator%(const Vint& a, int b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addu1
      Src: /src/mcl/include/mcl/vint.hpp:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Vint
    - Unit
    constantsTouched: []
    func_position:
      end: 1148
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1148
    functionName: operator+(const Vint& a, Unit b)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - addu1
    linkageType: ''
    returnType: Vint
    signature: Vint operator+(const Vint& a, Unit b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subu1
      Src: /src/mcl/include/mcl/vint.hpp:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Vint
    - Unit
    constantsTouched: []
    func_position:
      end: 1149
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1149
    functionName: operator-(const Vint& a, Unit b)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - subu1
    linkageType: ''
    returnType: Vint
    signature: Vint operator-(const Vint& a, Unit b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulu1
      Src: /src/mcl/include/mcl/vint.hpp:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Vint
    - Unit
    constantsTouched: []
    func_position:
      end: 1150
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1150
    functionName: operator*(const Vint& a, Unit b)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mulu1
    linkageType: ''
    returnType: Vint
    signature: Vint operator*(const Vint& a, Unit b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: divu1
      Src: /src/mcl/include/mcl/vint.hpp:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Vint
    - Unit
    constantsTouched: []
    func_position:
      end: 1151
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1151
    functionName: operator/(const Vint& a, Unit b)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - divu1
    linkageType: ''
    returnType: Vint
    signature: Vint operator/(const Vint& a, Unit b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modu1
      Src: /src/mcl/include/mcl/vint.hpp:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Vint
    - Unit
    constantsTouched: []
    func_position:
      end: 1152
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1152
    functionName: operator%(const Vint& a, Unit b)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - modu1
    linkageType: ''
    returnType: Vint
    signature: Vint operator%(const Vint& a, Unit b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: andBitu1
      Src: /src/mcl/include/mcl/vint.hpp:1154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Vint
    - Unit
    constantsTouched: []
    func_position:
      end: 1154
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1154
    functionName: operator&(const Vint& a, Unit b)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - andBitu1
    linkageType: ''
    returnType: Vint
    signature: Vint operator&(const Vint& a, Unit b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: orBitu1
      Src: /src/mcl/include/mcl/vint.hpp:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - Vint
    - Unit
    constantsTouched: []
    func_position:
      end: 1155
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1155
    functionName: operator|(const Vint& a, Unit b)
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - orBitu1
    linkageType: ''
    returnType: Vint
    signature: Vint operator|(const Vint& a, Unit b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::neg
      Src: /src/mcl/include/mcl/vint.hpp:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1157
    functionName: operator-() const
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - mcl::neg
    linkageType: ''
    returnType: Vint
    signature: Vint operator-() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shl
      Src: /src/mcl/include/mcl/vint.hpp:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1158
      start: 1158
    functionDepth: 1
    functionLinenumber: 1158
    functionLinenumberEnd: 1158
    functionName: '& operator<<=(size_t n)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - shl
    linkageType: ''
    returnType: Vint
    signature: Vint & operator<<=(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shr
      Src: /src/mcl/include/mcl/vint.hpp:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1159
      start: 1159
    functionDepth: 1
    functionLinenumber: 1159
    functionLinenumberEnd: 1159
    functionName: '& operator>>=(size_t n)'
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached:
    - shr
    linkageType: ''
    returnType: Vint
    signature: Vint & operator>>=(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1160
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1160
    functionName: operator<<(size_t n) const
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Vint
    signature: Vint operator<<(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1161
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1161
    functionName: operator>>(size_t n) const
    functionSourceFile: /src/mcl/include/mcl/vint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Vint
    signature: Vint operator>>(size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::addT<N>
      Src: /src/mcl/include/mcl/invmod.hpp:30,1
    - Dst: assert
      Src: /src/mcl/include/mcl/invmod.hpp:32,1
    - Dst: mcl::bint::subT<N>
      Src: /src/mcl/include/mcl/invmod.hpp:38,1
    - Dst: mcl::bint::subT<N>
      Src: /src/mcl/include/mcl/invmod.hpp:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - y
    - ySign
    argTypes:
    - SintT<N>
    - SintT<N>
    - Unit*
    - bool
    constantsTouched: []
    func_position:
      end: 44
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 44
    functionName: mcl::inv::_add
    functionSourceFile: /src/mcl/include/mcl/invmod.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::addT<N>
    - assert
    - mcl::bint::subT<N>
    linkageType: ''
    returnType: void
    signature: void _add(SintT<N>& z, const SintT<N>& x, const Unit *y, bool ySign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::copyT<N>
      Src: /src/mcl/include/mcl/invmod.hpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' y'
    - x
    - sign
    argTypes:
    - SintT<N>
    - Unit*
    - bool
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: mcl::inv::set
    functionSourceFile: /src/mcl/include/mcl/invmod.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::copyT<N>
    linkageType: ''
    returnType: void
    signature: void set(SintT<N>& y, const Unit *x, bool sign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::clearT<N>
      Src: /src/mcl/include/mcl/invmod.hpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - SintT<N>
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: mcl::inv::clear
    functionSourceFile: /src/mcl/include/mcl/invmod.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::clearT<N>
    linkageType: ''
    returnType: void
    signature: void clear(SintT<N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - SintT<N>
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: mcl::inv::isZero
    functionSourceFile: /src/mcl/include/mcl/invmod.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isZero(const SintT<N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::inv::_add
      Src: /src/mcl/include/mcl/invmod.hpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - SintT<N>
    - SintT<N>
    - SintT<N>
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: mcl::inv::add
    functionSourceFile: /src/mcl/include/mcl/invmod.hpp
    functionUses: 0
    functionsReached:
    - mcl::inv::_add
    linkageType: ''
    returnType: void
    signature: void add(SintT<N>& z, const SintT<N>& x, const SintT<N>& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::inv::_add
      Src: /src/mcl/include/mcl/invmod.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - SintT<N>
    - SintT<N>
    - SintT<N>
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: mcl::inv::sub
    functionSourceFile: /src/mcl/include/mcl/invmod.hpp
    functionUses: 0
    functionsReached:
    - mcl::inv::_add
    linkageType: ''
    returnType: void
    signature: void sub(SintT<N>& z, const SintT<N>& x, const SintT<N>& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::mulUnitT<N>
      Src: /src/mcl/include/mcl/invmod.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - z
    - ' x'
    - y
    argTypes:
    - SintT<N+1>
    - SintT<N>
    - INT
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: mcl::inv::mulUnit
    functionSourceFile: /src/mcl/include/mcl/invmod.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::mulUnitT<N>
    linkageType: ''
    returnType: void
    signature: void mulUnit(SintT<N+1>&z, const SintT<N>& x, INT y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::shrT<N>
      Src: /src/mcl/include/mcl/invmod.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - x
    argTypes:
    - SintT<N>
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: mcl::inv::shr
    functionSourceFile: /src/mcl/include/mcl/invmod.hpp
    functionUses: 0
    functionsReached:
    - mcl::bint::shrT<N>
    linkageType: ''
    returnType: void
    signature: void shr(SintT<N>& y, int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - SintT<N>
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: mcl::inv::getLow
    functionSourceFile: /src/mcl/include/mcl/invmod.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Unit
    signature: Unit getLow(const SintT<N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::inv::getLow
      Src: /src/mcl/include/mcl/invmod.hpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - SintT<N>
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: mcl::inv::getLowMask
    functionSourceFile: /src/mcl/include/mcl/invmod.hpp
    functionUses: 0
    functionsReached:
    - mcl::inv::getLow
    linkageType: ''
    returnType: Unit
    signature: Unit getLowMask(const SintT<N>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/include/mcl/invmod.hpp:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - SintT<N2>
    - mpz_class
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: mcl::inv::toSint
    functionSourceFile: /src/mcl/include/mcl/invmod.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::getUnit
    linkageType: ''
    returnType: void
    signature: void toSint(SintT<N2>& y, const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/include/mcl/invmod.hpp:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - mpz_class
    - SintT<N2>
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: mcl::inv::toMpz
    functionSourceFile: /src/mcl/include/mcl/invmod.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::setArray
    linkageType: ''
    returnType: void
    signature: void toMpz(mpz_class& y, const SintT<N2>& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::bsf
      Src: /src/mcl/include/mcl/invmod.hpp:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 4
    argNames:
    - ' t'
    - eta
    - f
    - g
    argTypes:
    - Quad
    - INT
    - Unit
    - Unit
    constantsTouched: []
    func_position:
      end: 164
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 164
    functionName: mcl::inv::divsteps_n_matrix
    functionSourceFile: /src/mcl/include/mcl/invmod.hpp
    functionUses: 0
    functionsReached:
    - cybozu::bsf
    linkageType: ''
    returnType: INT
    signature: INT divsteps_n_matrix(Quad& t, INT eta, Unit f, Unit g)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::inv::mulUnit
      Src: /src/mcl/include/mcl/invmod.hpp:170,1
    - Dst: mcl::inv::mulUnit
      Src: /src/mcl/include/mcl/invmod.hpp:171,1
    - Dst: mcl::inv::mulUnit
      Src: /src/mcl/include/mcl/invmod.hpp:172,1
    - Dst: mcl::inv::mulUnit
      Src: /src/mcl/include/mcl/invmod.hpp:173,1
    - Dst: mcl::inv::add
      Src: /src/mcl/include/mcl/invmod.hpp:174,1
    - Dst: mcl::inv::add
      Src: /src/mcl/include/mcl/invmod.hpp:175,1
    - Dst: mcl::inv::shr
      Src: /src/mcl/include/mcl/invmod.hpp:176,1
    - Dst: mcl::inv::shr
      Src: /src/mcl/include/mcl/invmod.hpp:177,1
    - Dst: assert
      Src: /src/mcl/include/mcl/invmod.hpp:178,1
    - Dst: assert
      Src: /src/mcl/include/mcl/invmod.hpp:179,1
    - Dst: mcl::inv::set
      Src: /src/mcl/include/mcl/invmod.hpp:180,1
    - Dst: mcl::inv::set
      Src: /src/mcl/include/mcl/invmod.hpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - ' f'
    - ' g'
    - ' t'
    argTypes:
    - SintT<N>
    - SintT<N>
    - Quad
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: mcl::inv::update_fg
    functionSourceFile: /src/mcl/include/mcl/invmod.hpp
    functionUses: 0
    functionsReached:
    - assert
    - mcl::inv::shr
    - mcl::inv::set
    - mcl::inv::add
    - mcl::inv::mulUnit
    linkageType: ''
    returnType: void
    signature: void update_fg(SintT<N>& f, SintT<N>& g, const Quad& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::inv::mulUnit
      Src: /src/mcl/include/mcl/invmod.hpp:202,1
    - Dst: mcl::inv::mulUnit
      Src: /src/mcl/include/mcl/invmod.hpp:203,1
    - Dst: mcl::inv::mulUnit
      Src: /src/mcl/include/mcl/invmod.hpp:204,1
    - Dst: mcl::inv::mulUnit
      Src: /src/mcl/include/mcl/invmod.hpp:205,1
    - Dst: mcl::inv::add
      Src: /src/mcl/include/mcl/invmod.hpp:206,1
    - Dst: mcl::inv::add
      Src: /src/mcl/include/mcl/invmod.hpp:207,1
    - Dst: mcl::inv::getLow
      Src: /src/mcl/include/mcl/invmod.hpp:208,1
    - Dst: mcl::inv::getLow
      Src: /src/mcl/include/mcl/invmod.hpp:209,1
    - Dst: mcl::inv::mulUnit
      Src: /src/mcl/include/mcl/invmod.hpp:218,1
    - Dst: mcl::inv::mulUnit
      Src: /src/mcl/include/mcl/invmod.hpp:219,1
    - Dst: mcl::inv::add
      Src: /src/mcl/include/mcl/invmod.hpp:220,1
    - Dst: mcl::inv::add
      Src: /src/mcl/include/mcl/invmod.hpp:221,1
    - Dst: mcl::inv::shr
      Src: /src/mcl/include/mcl/invmod.hpp:222,1
    - Dst: mcl::inv::shr
      Src: /src/mcl/include/mcl/invmod.hpp:223,1
    - Dst: assert
      Src: /src/mcl/include/mcl/invmod.hpp:224,1
    - Dst: assert
      Src: /src/mcl/include/mcl/invmod.hpp:225,1
    - Dst: mcl::inv::set
      Src: /src/mcl/include/mcl/invmod.hpp:226,1
    - Dst: mcl::inv::set
      Src: /src/mcl/include/mcl/invmod.hpp:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 4
    argNames:
    - ' im'
    - ' d'
    - ' e'
    - ' t'
    argTypes:
    - InvModT<N>
    - SintT<N>
    - SintT<N>
    - Quad
    constantsTouched: []
    func_position:
      end: 228
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 228
    functionName: mcl::inv::update_de
    functionSourceFile: /src/mcl/include/mcl/invmod.hpp
    functionUses: 0
    functionsReached:
    - assert
    - mcl::inv::shr
    - mcl::inv::getLow
    - mcl::inv::set
    - mcl::inv::add
    - mcl::inv::mulUnit
    linkageType: ''
    returnType: void
    signature: void update_de(const InvModT<N>& im, SintT<N>& d, SintT<N>& e, const
      Quad& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::inv::add
      Src: /src/mcl/include/mcl/invmod.hpp:235,1
    - Dst: mcl::inv::sub
      Src: /src/mcl/include/mcl/invmod.hpp:238,1
    - Dst: mcl::inv::add
      Src: /src/mcl/include/mcl/invmod.hpp:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' im'
    - ' v'
    - minus
    argTypes:
    - InvModT<N>
    - SintT<N>
    - bool
    constantsTouched: []
    func_position:
      end: 243
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 243
    functionName: mcl::inv::normalize
    functionSourceFile: /src/mcl/include/mcl/invmod.hpp
    functionUses: 0
    functionsReached:
    - mcl::inv::sub
    - mcl::inv::add
    linkageType: ''
    returnType: void
    signature: void normalize(const InvModT<N>& im, SintT<N>& v, bool minus)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::inv::set
      Src: /src/mcl/include/mcl/invmod.hpp:250,1
    - Dst: mcl::inv::clear
      Src: /src/mcl/include/mcl/invmod.hpp:252,1
    - Dst: mcl::inv::clear
      Src: /src/mcl/include/mcl/invmod.hpp:253,1
    - Dst: mcl::inv::isZero
      Src: /src/mcl/include/mcl/invmod.hpp:255,1
    - Dst: mcl::inv::getLowMask
      Src: /src/mcl/include/mcl/invmod.hpp:256,1
    - Dst: mcl::inv::getLowMask
      Src: /src/mcl/include/mcl/invmod.hpp:257,1
    - Dst: mcl::inv::divsteps_n_matrix
      Src: /src/mcl/include/mcl/invmod.hpp:258,1
    - Dst: mcl::inv::update_fg
      Src: /src/mcl/include/mcl/invmod.hpp:259,1
    - Dst: mcl::inv::update_de
      Src: /src/mcl/include/mcl/invmod.hpp:260,1
    - Dst: mcl::inv::normalize
      Src: /src/mcl/include/mcl/invmod.hpp:262,1
    - Dst: mcl::bint::copyT<N>
      Src: /src/mcl/include/mcl/invmod.hpp:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ' im'
    - py
    - px
    argTypes:
    - InvModT<N>
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: mcl::inv::exec
    functionSourceFile: /src/mcl/include/mcl/invmod.hpp
    functionUses: 1
    functionsReached:
    - mcl::inv::clear
    - mcl::bint::copyT<N>
    - mcl::inv::update_de
    - mcl::inv::getLowMask
    - mcl::inv::normalize
    - mcl::inv::update_fg
    - mcl::inv::set
    - mcl::inv::isZero
    - mcl::inv::divsteps_n_matrix
    linkageType: ''
    returnType: void
    signature: void exec(const InvModT<N>& im, Unit *py, const Unit *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/include/mcl/invmod.hpp:270,1
    - Dst: mcl::inv::exec
      Src: /src/mcl/include/mcl/invmod.hpp:271,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/include/mcl/invmod.hpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' im'
    - ' y'
    - ' x'
    argTypes:
    - InvModT<N>
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: mcl::inv::exec
    functionSourceFile: /src/mcl/include/mcl/invmod.hpp
    functionUses: 2
    functionsReached:
    - mcl::gmp::setArray
    - mcl::inv::exec
    - mcl::gmp::getArray
    linkageType: ''
    returnType: void
    signature: void exec(const InvModT<N>& im, mpz_class& y, const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::inv::toSint
      Src: /src/mcl/include/mcl/invmod.hpp:278,1
    - Dst: mcl::inv::getLow
      Src: /src/mcl/include/mcl/invmod.hpp:279,1
    - Dst: mpz_class
      Src: /src/mcl/include/mcl/invmod.hpp:281,1
    - Dst: mcl::gmp::invMod
      Src: /src/mcl/include/mcl/invmod.hpp:282,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/include/mcl/invmod.hpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' invMod'
    - ' mM'
    argTypes:
    - InvModT<N>
    - mpz_class
    constantsTouched: []
    func_position:
      end: 284
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 284
    functionName: mcl::inv::init
    functionSourceFile: /src/mcl/include/mcl/invmod.hpp
    functionUses: 2
    functionsReached:
    - mcl::inv::toSint
    - mcl::gmp::getUnit
    - mpz_class
    - mcl::inv::getLow
    - mcl::gmp::invMod
    linkageType: ''
    returnType: void
    signature: void init(InvModT<N>& invMod, const mpz_class& mM)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: mcl::fp::abs_
    functionSourceFile: /src/mcl/include/mcl/util.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t abs_(int32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: mcl::fp::abs_
    functionSourceFile: /src/mcl/include/mcl/util.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t abs_(int64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: mcl::fp::min_
    functionSourceFile: /src/mcl/include/mcl/util.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T min_(T x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: mcl::fp::max_
    functionSourceFile: /src/mcl/include/mcl/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T max_(T x, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: mcl::fp::swap_
    functionSourceFile: /src/mcl/include/mcl/util.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_(T& x, T& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - x
    - xN
    - bitPos
    argTypes:
    - T*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: mcl::fp::getUnitAt
    functionSourceFile: /src/mcl/include/mcl/util.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T getUnitAt(const T *x, size_t xN, size_t bitPos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::bsr<T>
      Src: /src/mcl/include/mcl/util.hpp:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: mcl::fp::getBitSize
    functionSourceFile: /src/mcl/include/mcl/util.hpp
    functionUses: 2
    functionsReached:
    - cybozu::bsr<T>
    linkageType: ''
    returnType: size_t
    signature: size_t getBitSize(const T *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::BitIterator::init
      Src: /src/mcl/include/mcl/util.hpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: mcl::fp::BitIterator::BitIterator
    functionSourceFile: /src/mcl/include/mcl/util.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::BitIterator::init
    linkageType: ''
    returnType: void
    signature: void BitIterator(const T *x = 0, size_t n = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::getBitSize
      Src: /src/mcl/include/mcl/util.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: mcl::fp::BitIterator::init
    functionSourceFile: /src/mcl/include/mcl/util.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::getBitSize
    linkageType: ''
    returnType: void
    signature: void init(const T *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: mcl::fp::BitIterator::getBitSize
    functionSourceFile: /src/mcl/include/mcl/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getBitSize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: mcl::fp::BitIterator::hasNext
    functionSourceFile: /src/mcl/include/mcl/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasNext() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/util.hpp:99,1
    - Dst: mcl::fp::BitIterator::hasNext
      Src: /src/mcl/include/mcl/util.hpp:100,1
    - Dst: mcl::fp::BitIterator::mask
      Src: /src/mcl/include/mcl/util.hpp:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - w
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 119
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 119
    functionName: mcl::fp::BitIterator::getNext
    functionSourceFile: /src/mcl/include/mcl/util.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::BitIterator::hasNext
    - mcl::fp::BitIterator::mask
    - assert
    linkageType: ''
    returnType: T
    signature: T getNext(size_t w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::BitIterator::hasNext
      Src: /src/mcl/include/mcl/util.hpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: mcl::fp::BitIterator::peekBit
    functionSourceFile: /src/mcl/include/mcl/util.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::BitIterator::hasNext
    linkageType: ''
    returnType: bool
    signature: bool peekBit() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/util.hpp:131,1
    - Dst: mcl::fp::BitIterator::hasNext
      Src: /src/mcl/include/mcl/util.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: mcl::fp::BitIterator::skipBit
    functionSourceFile: /src/mcl/include/mcl/util.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::BitIterator::hasNext
    - assert
    linkageType: ''
    returnType: void
    signature: void skipBit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/util.hpp:136,1
    - Dst: T
      Src: /src/mcl/include/mcl/util.hpp:137,1
    - Dst: T
      Src: /src/mcl/include/mcl/util.hpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - w
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: mcl::fp::BitIterator::mask
    functionSourceFile: /src/mcl/include/mcl/util.hpp
    functionUses: 1
    functionsReached:
    - assert
    - T
    linkageType: ''
    returnType: T
    signature: T mask(size_t w) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::clear
      Src: /src/mcl/include/mcl/util.hpp:149,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:151,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:152,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:152,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:153,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:153,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:154,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:154,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:154,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:155,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:155,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:155,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:156,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:156,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:156,1
    - Dst: mcl::FpT::sub
      Src: /src/mcl/include/mcl/util.hpp:156,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:157,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:157,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:157,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:159,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:159,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:159,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:159,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:162,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:162,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:162,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:162,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:163,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:163,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:163,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:163,1
    - Dst: mcl::FpT::sub
      Src: /src/mcl/include/mcl/util.hpp:163,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:164,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:164,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:164,1
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/util.hpp:164,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 77
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - T
    - T
    - U
    constantsTouched: []
    func_position:
      end: 170
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 170
    functionName: mcl::fp::mulSmallUnit
    functionSourceFile: /src/mcl/include/mcl/util.hpp
    functionUses: 4
    functionsReached:
    - mcl::FpT::sub
    - mcl::FpT::add
    - mcl::fp::clear
    linkageType: ''
    returnType: bool
    signature: bool mulSmallUnit(T& z, const T& x, U y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - U
    - U
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: mcl::Array::swap_
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_(U& x, U& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: mcl::Array::Array
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Array()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mcl/include/mcl/array.hpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: ~Array()
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ~Array()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mcl/include/mcl/array.hpp:41,1
    - Dst: std::bad_alloc
      Src: /src/mcl/include/mcl/array.hpp:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Array
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: mcl::Array::Array
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 2
    functionsReached:
    - std::bad_alloc
    - malloc
    linkageType: ''
    returnType: void
    signature: void Array(const Array& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Array::swap
      Src: /src/mcl/include/mcl/array.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Array
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: '& operator=(const Array& rhs)'
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 0
    functionsReached:
    - Array::swap
    linkageType: ''
    returnType: Array
    signature: Array & operator=(const Array& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mcl/include/mcl/array.hpp:60,1
    - Dst: malloc
      Src: /src/mcl/include/mcl/array.hpp:65,1
    - Dst: free
      Src: /src/mcl/include/mcl/array.hpp:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 74
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 74
    functionName: mcl::Array::resize
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 0
    functionsReached:
    - free
    - malloc
    linkageType: ''
    returnType: bool
    signature: bool resize(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Array::clear
      Src: /src/mcl/include/mcl/array.hpp:79,1
    - Dst: mcl::Array::resize
      Src: /src/mcl/include/mcl/array.hpp:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Array<T>
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: mcl::Array::copy
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 0
    functionsReached:
    - mcl::Array::resize
    - mcl::Array::clear
    linkageType: ''
    returnType: bool
    signature: bool copy(const Array<T>& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mcl/include/mcl/array.hpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: mcl::Array::clear
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: mcl::Array::size
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Array::swap_
      Src: /src/mcl/include/mcl/array.hpp:97,1
    - Dst: mcl::Array::swap_
      Src: /src/mcl/include/mcl/array.hpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Array<T>
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: mcl::Array::swap
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 0
    functionsReached:
    - mcl::Array::swap_
    linkageType: ''
    returnType: void
    signature: void swap(Array<T>& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: '& operator[](size_t n)'
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator[](size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& operator[](size_t n) const'
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator[](size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: mcl::Array::data
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * data()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: mcl::Array::data
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - U
    - U
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: mcl::FixedArray::swap_
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_(U& x, U& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: mcl::FixedArray::FixedArray
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FixedArray()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: mcl::FixedArray::resize
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool resize(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pb
    - ' x'
    argTypes:
    - bool*
    - T
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: mcl::FixedArray::push
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void push(bool *pb, const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FixedArray<T, maxSize>
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: mcl::FixedArray::copy
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool copy(const FixedArray<T, maxSize>& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: mcl::FixedArray::clear
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: mcl::FixedArray::size
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FixedArray::swap_
      Src: /src/mcl/include/mcl/array.hpp:159,1
    - Dst: mcl::FixedArray::swap_
      Src: /src/mcl/include/mcl/array.hpp:160,1
    - Dst: mcl::FixedArray::swap_
      Src: /src/mcl/include/mcl/array.hpp:163,1
    - Dst: mcl::FixedArray::swap_
      Src: /src/mcl/include/mcl/array.hpp:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FixedArray<T, maxSize>
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: mcl::FixedArray::swap
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 0
    functionsReached:
    - mcl::FixedArray::swap_
    linkageType: ''
    returnType: void
    signature: void swap(FixedArray<T, maxSize>& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: '& operator[](size_t n)'
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator[](size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: '& operator[](size_t n) const'
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator[](size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: mcl::FixedArray::data
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * data()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: mcl::FixedArray::data
    functionSourceFile: /src/mcl/include/mcl/array.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: mcl::roundUp
    functionSourceFile: /src/mcl/include/mcl/config.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t roundUp(size_t x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ioMode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: mcl::fp::isIoSerializeMode
    functionSourceFile: /src/mcl/include/mcl/op.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isIoSerializeMode(int ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T>
      Src: /src/mcl/include/mcl/op.hpp:151,1
    - Dst: reinterpret_cast<void*>
      Src: /src/mcl/include/mcl/op.hpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: mcl::fp::func_ptr_cast
    functionSourceFile: /src/mcl/include/mcl/op.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T>
    - reinterpret_cast<void*>
    linkageType: ''
    returnType: T
    signature: T func_ptr_cast(S func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::clear
      Src: /src/mcl/include/mcl/op.hpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: mcl::fp::Op
    functionSourceFile: /src/mcl/include/mcl/op.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::clear
    linkageType: ''
    returnType: void
    signature: void Op()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::destroyFpGenerator
      Src: /src/mcl/include/mcl/op.hpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: ~Op()
    functionSourceFile: /src/mcl/include/mcl/op.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::destroyFpGenerator
    linkageType: ''
    returnType: void
    signature: void ~Op()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mcl/include/mcl/op.hpp:291,1
    - Dst: mcl::fp::clear
      Src: /src/mcl/include/mcl/op.hpp:294,1
    - Dst: memset
      Src: /src/mcl/include/mcl/op.hpp:296,1
    - Dst: memset
      Src: /src/mcl/include/mcl/op.hpp:297,1
    - Dst: memset
      Src: /src/mcl/include/mcl/op.hpp:298,1
    - Dst: memset
      Src: /src/mcl/include/mcl/op.hpp:299,1
    - Dst: memset
      Src: /src/mcl/include/mcl/op.hpp:300,1
    - Dst: mcl::fp::clear
      Src: /src/mcl/include/mcl/op.hpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 365
    functionName: mcl::fp::clear
    functionSourceFile: /src/mcl/include/mcl/op.hpp
    functionUses: 3
    functionsReached:
    - memset
    - mcl::fp::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_mul
      Src: /src/mcl/include/mcl/op.hpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: mcl::fp::fromMont
    functionSourceFile: /src/mcl/include/mcl/op.hpp
    functionUses: 0
    functionsReached:
    - fp_mul
    linkageType: ''
    returnType: void
    signature: void fromMont(Unit* y, const Unit *x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_mul
      Src: /src/mcl/include/mcl/op.hpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - Unit*
    - Unit*
    constantsTouched: []
    func_position:
      end: 380
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 380
    functionName: mcl::fp::toMont
    functionSourceFile: /src/mcl/include/mcl/op.hpp
    functionUses: 1
    functionsReached:
    - fp_mul
    linkageType: ''
    returnType: void
    signature: void toMont(Unit* y, const Unit *x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ioMode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: mcl::fp::getIoSeparator
    functionSourceFile: /src/mcl/include/mcl/op.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * getIoSeparator(int ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flags
      Src: /src/mcl/include/mcl/op.hpp:397,1
    - Dst: assert
      Src: /src/mcl/include/mcl/op.hpp:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ioMode
    - ' ios'
    argTypes:
    - int
    - std::ios_base
    constantsTouched: []
    func_position:
      end: 404
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 404
    functionName: mcl::fp::detectIoMode
    functionSourceFile: /src/mcl/include/mcl/op.hpp
    functionUses: 14
    functionsReached:
    - flags
    - assert
    linkageType: ''
    returnType: int
    signature: int detectIoMode(int ioMode, const std::ios_base& ios)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::clear
      Src: /src/mcl/include/mcl/elgamal.hpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: mcl::CipherText
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::clear
    linkageType: ''
    returnType: void
    signature: void CipherText()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::clear
      Src: /src/mcl/include/mcl/elgamal.hpp:43,1
    - Dst: mcl::clear
      Src: /src/mcl/include/mcl/elgamal.hpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: mcl::clear
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 17
    functionsReached:
    - mcl::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/elgamal.hpp:53,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/elgamal.hpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherText
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: mcl::add
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 5
    functionsReached:
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void add(const CipherText& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/elgamal.hpp:64,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/elgamal.hpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - N
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: mcl::mul
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 2
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mul(const N& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/elgamal.hpp:74,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/elgamal.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: mcl::neg
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 2
    functionsReached:
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void neg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::load
      Src: /src/mcl/include/mcl/elgamal.hpp:80,1
    - Dst: mcl::load
      Src: /src/mcl/include/mcl/elgamal.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: mcl::load
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 5
    functionsReached:
    - mcl::load
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::save
      Src: /src/mcl/include/mcl/elgamal.hpp:87,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/elgamal.hpp:88,1
    - Dst: mcl::save
      Src: /src/mcl/include/mcl/elgamal.hpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: mcl::save
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 5
    functionsReached:
    - cybozu::writeChar
    - mcl::save
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::clear
      Src: /src/mcl/include/mcl/elgamal.hpp:93,1
    - Dst: mcl::save
      Src: /src/mcl/include/mcl/elgamal.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: mcl::getStr
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 1
    functionsReached:
    - mcl::save
    - mcl::clear
    linkageType: ''
    returnType: void
    signature: void getStr(std::string& str, int ioMode = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getStr
      Src: /src/mcl/include/mcl/elgamal.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: mcl::getStr
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 2
    functionsReached:
    - mcl::getStr
    linkageType: ''
    returnType: std::string
    signature: std::string getStr(int ioMode = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::load
      Src: /src/mcl/include/mcl/elgamal.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: mcl::setStr
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 6
    functionsReached:
    - mcl::load
    linkageType: ''
    returnType: void
    signature: void setStr(const std::string& str, int ioMode = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/elgamal.hpp:110,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/elgamal.hpp:110,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/elgamal.hpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - CipherText
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: '& operator<<(std::ostream& os, const CipherText& self)'
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - save
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const CipherText& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/include/mcl/elgamal.hpp:115,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/elgamal.hpp:115,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/elgamal.hpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - CipherText
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: '& operator>>(std::istream& is, CipherText& self)'
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - load
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, CipherText& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getStr
      Src: /src/mcl/include/mcl/elgamal.hpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: mcl::toStr
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 1
    functionsReached:
    - mcl::getStr
    linkageType: ''
    returnType: std::string
    signature: std::string toStr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::setStr
      Src: /src/mcl/include/mcl/elgamal.hpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: mcl::fromStr
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::setStr
    linkageType: ''
    returnType: void
    signature: void fromStr(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::load
      Src: /src/mcl/include/mcl/elgamal.hpp:132,1
    - Dst: mcl::load
      Src: /src/mcl/include/mcl/elgamal.hpp:133,1
    - Dst: mcl::load
      Src: /src/mcl/include/mcl/elgamal.hpp:134,1
    - Dst: mcl::load
      Src: /src/mcl/include/mcl/elgamal.hpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: mcl::load
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 7
    functionsReached:
    - mcl::load
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::save
      Src: /src/mcl/include/mcl/elgamal.hpp:141,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/elgamal.hpp:142,1
    - Dst: mcl::save
      Src: /src/mcl/include/mcl/elgamal.hpp:143,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/elgamal.hpp:144,1
    - Dst: mcl::save
      Src: /src/mcl/include/mcl/elgamal.hpp:145,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/elgamal.hpp:146,1
    - Dst: mcl::save
      Src: /src/mcl/include/mcl/elgamal.hpp:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: mcl::save
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 7
    functionsReached:
    - cybozu::writeChar
    - mcl::save
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::clear
      Src: /src/mcl/include/mcl/elgamal.hpp:151,1
    - Dst: mcl::save
      Src: /src/mcl/include/mcl/elgamal.hpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: mcl::getStr
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 3
    functionsReached:
    - mcl::save
    - mcl::clear
    linkageType: ''
    returnType: void
    signature: void getStr(std::string& str, int ioMode = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getStr
      Src: /src/mcl/include/mcl/elgamal.hpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: mcl::getStr
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 4
    functionsReached:
    - mcl::getStr
    linkageType: ''
    returnType: std::string
    signature: std::string getStr(int ioMode = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::load
      Src: /src/mcl/include/mcl/elgamal.hpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: mcl::setStr
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 7
    functionsReached:
    - mcl::load
    linkageType: ''
    returnType: void
    signature: void setStr(const std::string& str, int ioMode = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/elgamal.hpp:168,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/elgamal.hpp:168,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/elgamal.hpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - Zkp
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: '& operator<<(std::ostream& os, const Zkp& self)'
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - save
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Zkp& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/include/mcl/elgamal.hpp:173,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/elgamal.hpp:173,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/elgamal.hpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - Zkp
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: '& operator>>(std::istream& is, Zkp& self)'
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - load
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, Zkp& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getStr
      Src: /src/mcl/include/mcl/elgamal.hpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: mcl::toStr
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 1
    functionsReached:
    - mcl::getStr
    linkageType: ''
    returnType: std::string
    signature: std::string toStr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::setStr
      Src: /src/mcl/include/mcl/elgamal.hpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: mcl::fromStr
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::setStr
    linkageType: ''
    returnType: void
    signature: void fromStr(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul
      Src: /src/mcl/include/mcl/elgamal.hpp:192,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/elgamal.hpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - ' n'
    - ' pw'
    argTypes:
    - Ec
    - Ec
    - N
    - fp::WindowMethod<Ec>
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: mcl::PublicKey::mulDispatch
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_mul
    - mul
    linkageType: ''
    returnType: void
    signature: void mulDispatch(Ec& z, const Ec& x, const N& n, const fp::WindowMethod<Ec>&
      pw) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::PublicKey::mulDispatch
      Src: /src/mcl/include/mcl/elgamal.hpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' z'
    - ' n'
    argTypes:
    - Ec
    - N
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: mcl::PublicKey::mulG
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::PublicKey::mulDispatch
    linkageType: ''
    returnType: void
    signature: void mulG(Ec& z, const N& n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::PublicKey::mulDispatch
      Src: /src/mcl/include/mcl/elgamal.hpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' z'
    - ' n'
    argTypes:
    - Ec
    - N
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: mcl::PublicKey::mulH
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::PublicKey::mulDispatch
    linkageType: ''
    returnType: void
    signature: void mulH(Ec& z, const N& n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: mcl::PublicKey::PublicKey
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::PublicKey::init
      Src: /src/mcl/include/mcl/elgamal.hpp:209,1
    - Dst: mcl::PublicKey::init
      Src: /src/mcl/include/mcl/elgamal.hpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: mcl::PublicKey::enableWindowMethod
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::PublicKey::init
    linkageType: ''
    returnType: void
    signature: void enableWindowMethod(size_t winSize = 10)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: '& getG() const'
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ec
    signature: Ec & getG() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::PublicKey::enableWindowMethod
      Src: /src/mcl/include/mcl/elgamal.hpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - bitSize
    - ' g'
    - ' h'
    argTypes:
    - size_t
    - Ec
    - Ec
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: mcl::PublicKey::init
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 1
    functionsReached:
    - mcl::PublicKey::enableWindowMethod
    linkageType: ''
    returnType: void
    signature: void init(size_t bitSize, const Ec& g, const Ec& h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::RandGen::RandGen
      Src: /src/mcl/include/mcl/elgamal.hpp:227,1
    - Dst: Zn::setRand
      Src: /src/mcl/include/mcl/elgamal.hpp:230,1
    - Dst: mcl::PublicKey::mulG
      Src: /src/mcl/include/mcl/elgamal.hpp:231,1
    - Dst: mcl::PublicKey::mulH
      Src: /src/mcl/include/mcl/elgamal.hpp:232,1
    - Dst: mcl::PublicKey::mulG
      Src: /src/mcl/include/mcl/elgamal.hpp:234,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/elgamal.hpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' c'
    - ' m'
    argTypes:
    - CipherText
    - Zn
    constantsTouched: []
    func_position:
      end: 236
      start: 227
    functionDepth: 4
    functionLinenumber: 227
    functionLinenumberEnd: 236
    functionName: mcl::PublicKey::enc
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_add
    - mcl::PublicKey::mulG
    - Zn::setRand
    - mcl::PublicKey::mulH
    - mcl::fp::RandGen::RandGen
    linkageType: ''
    returnType: void
    signature: void enc(CipherText& c, const Zn& m, fp::RandGen rg = fp::RandGen())
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::RandGen::RandGen
      Src: /src/mcl/include/mcl/elgamal.hpp:242,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/elgamal.hpp:245,1
    - Dst: Zn::setRand
      Src: /src/mcl/include/mcl/elgamal.hpp:248,1
    - Dst: mcl::PublicKey::mulG
      Src: /src/mcl/include/mcl/elgamal.hpp:249,1
    - Dst: mcl::PublicKey::mulH
      Src: /src/mcl/include/mcl/elgamal.hpp:250,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/elgamal.hpp:253,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/elgamal.hpp:254,1
    - Dst: mcl::PublicKey::mulG
      Src: /src/mcl/include/mcl/elgamal.hpp:255,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/elgamal.hpp:256,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/elgamal.hpp:257,1
    - Dst: mcl::PublicKey::mulH
      Src: /src/mcl/include/mcl/elgamal.hpp:258,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/elgamal.hpp:260,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/elgamal.hpp:261,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/elgamal.hpp:263,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/elgamal.hpp:264,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/elgamal.hpp:266,1
    - Dst: Zn::setRand
      Src: /src/mcl/include/mcl/elgamal.hpp:268,1
    - Dst: mcl::PublicKey::mulG
      Src: /src/mcl/include/mcl/elgamal.hpp:269,1
    - Dst: mcl::PublicKey::mulH
      Src: /src/mcl/include/mcl/elgamal.hpp:270,1
    - Dst: Zn::setHashOf
      Src: /src/mcl/include/mcl/elgamal.hpp:274,1
    - Dst: std::ostringstream::str
      Src: /src/mcl/include/mcl/elgamal.hpp:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - ' c'
    - ' zkp'
    - m
    argTypes:
    - CipherText
    - Zkp
    - int
    constantsTouched: []
    func_position:
      end: 277
      start: 242
    functionDepth: 4
    functionLinenumber: 242
    functionLinenumberEnd: 277
    functionName: mcl::PublicKey::encWithZkp
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - Zn::setHashOf
    - setRand
    - std::ostringstream::str
    - Shim_Exception::Shim_Exception
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_add
    - mcl::PublicKey::mulG
    - fiat_bls12_381_fp_mul
    - Zn::setRand
    - mcl::PublicKey::mulH
    - mcl::fp::RandGen::RandGen
    linkageType: ''
    returnType: void
    signature: void encWithZkp(CipherText& c, Zkp& zkp, int m, fp::RandGen rg = fp::RandGen())
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::PublicKey::mulG
      Src: /src/mcl/include/mcl/elgamal.hpp:285,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/elgamal.hpp:286,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/elgamal.hpp:287,1
    - Dst: mcl::PublicKey::mulH
      Src: /src/mcl/include/mcl/elgamal.hpp:288,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/elgamal.hpp:289,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/elgamal.hpp:290,1
    - Dst: mcl::PublicKey::mulG
      Src: /src/mcl/include/mcl/elgamal.hpp:291,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/elgamal.hpp:292,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/elgamal.hpp:293,1
    - Dst: mcl::PublicKey::mulH
      Src: /src/mcl/include/mcl/elgamal.hpp:294,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/elgamal.hpp:295,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/elgamal.hpp:296,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/elgamal.hpp:297,1
    - Dst: Zn::setHashOf
      Src: /src/mcl/include/mcl/elgamal.hpp:301,1
    - Dst: std::ostringstream::str
      Src: /src/mcl/include/mcl/elgamal.hpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - ' c'
    - ' zkp'
    argTypes:
    - CipherText
    - Zkp
    constantsTouched: []
    func_position:
      end: 303
      start: 281
    functionDepth: 4
    functionLinenumber: 281
    functionLinenumberEnd: 303
    functionName: mcl::PublicKey::verify
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - Zn::setHashOf
    - std::ostringstream::str
    - fiat_bls12_381_fp_sub
    - mcl::PublicKey::mulG
    - fiat_bls12_381_fp_mul
    - mcl::PublicKey::mulH
    linkageType: ''
    returnType: bool
    signature: bool verify(const CipherText& c, const Zkp& zkp) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::RandGen::RandGen
      Src: /src/mcl/include/mcl/elgamal.hpp:309,1
    - Dst: Zn::setRand
      Src: /src/mcl/include/mcl/elgamal.hpp:312,1
    - Dst: mcl::PublicKey::mulG
      Src: /src/mcl/include/mcl/elgamal.hpp:314,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/elgamal.hpp:315,1
    - Dst: mcl::PublicKey::mulH
      Src: /src/mcl/include/mcl/elgamal.hpp:316,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/elgamal.hpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherText
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 4
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: mcl::PublicKey::rerandomize
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_add
    - mcl::PublicKey::mulG
    - Zn::setRand
    - mcl::PublicKey::mulH
    - mcl::fp::RandGen::RandGen
    linkageType: ''
    returnType: void
    signature: void rerandomize(CipherText& c, fp::RandGen rg = fp::RandGen()) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::PublicKey::mulG
      Src: /src/mcl/include/mcl/elgamal.hpp:328,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/elgamal.hpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' c'
    - ' m'
    argTypes:
    - CipherText
    - N
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 4
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: mcl::PublicKey::add
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::PublicKey::mulG
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void add(CipherText& c, const N& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::local::loadWord
      Src: /src/mcl/include/mcl/elgamal.hpp:335,1
    - Dst: cybozu::atoi::atoi
      Src: /src/mcl/include/mcl/elgamal.hpp:336,1
    - Dst: mcl::PublicKey::load
      Src: /src/mcl/include/mcl/elgamal.hpp:337,1
    - Dst: mcl::PublicKey::load
      Src: /src/mcl/include/mcl/elgamal.hpp:338,1
    - Dst: mcl::PublicKey::init
      Src: /src/mcl/include/mcl/elgamal.hpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: mcl::PublicKey::load
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 1
    functionsReached:
    - mcl::PublicKey::load
    - cybozu::atoi::atoi
    - mcl::PublicKey::init
    - mcl::fp::local::loadWord
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa
      Src: /src/mcl/include/mcl/elgamal.hpp:344,1
    - Dst: cybozu::write
      Src: /src/mcl/include/mcl/elgamal.hpp:345,1
    - Dst: std::string::c_str
      Src: /src/mcl/include/mcl/elgamal.hpp:345,1
    - Dst: std::string::size
      Src: /src/mcl/include/mcl/elgamal.hpp:345,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/elgamal.hpp:346,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/elgamal.hpp:349,1
    - Dst: mcl::PublicKey::save
      Src: /src/mcl/include/mcl/elgamal.hpp:350,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/elgamal.hpp:351,1
    - Dst: mcl::PublicKey::save
      Src: /src/mcl/include/mcl/elgamal.hpp:352,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/elgamal.hpp:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 354
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 354
    functionName: mcl::PublicKey::save
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 1
    functionsReached:
    - mcl::PublicKey::save
    - std::string::size
    - std::string::c_str
    - cybozu::itoa
    - cybozu::write
    - cybozu::writeChar
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/include/mcl/elgamal.hpp:357,1
    - Dst: mcl::PublicKey::save
      Src: /src/mcl/include/mcl/elgamal.hpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: mcl::PublicKey::getStr
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - clear
    - mcl::PublicKey::save
    linkageType: ''
    returnType: void
    signature: void getStr(std::string& str, int ioMode = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::PublicKey::getStr
      Src: /src/mcl/include/mcl/elgamal.hpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 366
    functionName: mcl::PublicKey::getStr
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 1
    functionsReached:
    - mcl::PublicKey::getStr
    linkageType: ''
    returnType: std::string
    signature: std::string getStr(int ioMode = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::PublicKey::load
      Src: /src/mcl/include/mcl/elgamal.hpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: mcl::PublicKey::setStr
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::PublicKey::load
    linkageType: ''
    returnType: void
    signature: void setStr(const std::string& str, int ioMode = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/elgamal.hpp:374,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/elgamal.hpp:374,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/elgamal.hpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - PublicKey
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: '& operator<<(std::ostream& os, const PublicKey& self)'
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - save
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const PublicKey& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/include/mcl/elgamal.hpp:379,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/elgamal.hpp:379,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/elgamal.hpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - PublicKey
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: '& operator>>(std::istream& is, PublicKey& self)'
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - load
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, PublicKey& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::PublicKey::getStr
      Src: /src/mcl/include/mcl/elgamal.hpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 383
    functionName: mcl::PublicKey::toStr
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::PublicKey::getStr
    linkageType: ''
    returnType: std::string
    signature: std::string toStr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::PublicKey::setStr
      Src: /src/mcl/include/mcl/elgamal.hpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 384
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 384
    functionName: mcl::PublicKey::fromStr
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::PublicKey::setStr
    linkageType: ''
    returnType: void
    signature: void fromStr(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/elgamal.hpp:398,1
    - Dst: Ec::clear
      Src: /src/mcl/include/mcl/elgamal.hpp:400,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/elgamal.hpp:403,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/elgamal.hpp:407,1
    - Dst: Ec::clear
      Src: /src/mcl/include/mcl/elgamal.hpp:408,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/elgamal.hpp:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ' g'
    - rangeMin
    - rangeMax
    argTypes:
    - Ec
    - int
    - int
    constantsTouched: []
    func_position:
      end: 413
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 413
    functionName: mcl::init
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 4
    functionsReached:
    - Shim_Exception::Shim_Exception
    - Botan::EC_Group_Data::affine_neg
    - Ec::clear
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void init(const Ec& g, int rangeMin, int rangeMax)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/mcl/include/mcl/elgamal.hpp:419,1
    - Dst: end
      Src: /src/mcl/include/mcl/elgamal.hpp:420,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/elgamal.hpp:425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' y'
    argTypes:
    - Ec
    constantsTouched: []
    func_position:
      end: 429
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 429
    functionName: mcl::getExponent
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - end
    - find
    linkageType: ''
    returnType: int
    signature: int getExponent(const Ec& y, bool *b = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::clear
      Src: /src/mcl/include/mcl/elgamal.hpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: mcl::clear
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 20
    functionsReached:
    - mcl::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/mcl/include/mcl/elgamal.hpp:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 437
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 437
    functionName: mcl::isEmpty
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool isEmpty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::RandGen::RandGen
      Src: /src/mcl/include/mcl/elgamal.hpp:451,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/elgamal.hpp:454,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/elgamal.hpp:455,1
    - Dst: mcl::PrivateKey::init
      Src: /src/mcl/include/mcl/elgamal.hpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' g'
    - bitSize
    argTypes:
    - Ec
    - size_t
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: mcl::PrivateKey::init
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 1
    functionsReached:
    - setRand
    - fiat_bls12_381_fp_mul
    - mcl::PrivateKey::init
    - mcl::fp::RandGen::RandGen
    linkageType: ''
    returnType: void
    signature: void init(const Ec& g, size_t bitSize, fp::RandGen rg = fp::RandGen())
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 458
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 458
    functionName: '& getPublicKey() const'
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PublicKey
    signature: PublicKey & getPublicKey() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getG
      Src: /src/mcl/include/mcl/elgamal.hpp:469,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/elgamal.hpp:471,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/elgamal.hpp:479,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/elgamal.hpp:484,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/elgamal.hpp:490,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - ' m'
    - ' c'
    argTypes:
    - Zn
    - CipherText
    constantsTouched: []
    func_position:
      end: 491
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 491
    functionName: mcl::PrivateKey::dec
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - getG
    - fiat_bls12_381_fp_mul
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void dec(Zn& m, const CipherText& c, int limit = 100000) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/elgamal.hpp:498,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/elgamal.hpp:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' powgm'
    - ' c'
    argTypes:
    - Ec
    - CipherText
    constantsTouched: []
    func_position:
      end: 500
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 500
    functionName: mcl::PrivateKey::getPowerg
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void getPowerg(Ec& powgm, const CipherText& c) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::PrivateKey::init
      Src: /src/mcl/include/mcl/elgamal.hpp:506,1
    - Dst: getG
      Src: /src/mcl/include/mcl/elgamal.hpp:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rangeMin
    - rangeMax
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 507
    functionName: mcl::PrivateKey::setCache
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - getG
    - mcl::PrivateKey::init
    linkageType: ''
    returnType: void
    signature: void setCache(int rangeMin, int rangeMax)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/include/mcl/elgamal.hpp:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: mcl::PrivateKey::clearCache
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clearCache()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::PrivateKey::getPowerg
      Src: /src/mcl/include/mcl/elgamal.hpp:525,1
    - Dst: getExponent
      Src: /src/mcl/include/mcl/elgamal.hpp:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherText
    constantsTouched: []
    func_position:
      end: 527
      start: 522
    functionDepth: 3
    functionLinenumber: 522
    functionLinenumberEnd: 527
    functionName: mcl::PrivateKey::dec
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::PrivateKey::getPowerg
    - getExponent
    linkageType: ''
    returnType: int
    signature: int dec(const CipherText& c, bool *b = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/elgamal.hpp:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherText
    constantsTouched: []
    func_position:
      end: 536
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 536
    functionName: mcl::PrivateKey::isZeroMessage
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: bool
    signature: bool isZeroMessage(const CipherText& c) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::PrivateKey::load
      Src: /src/mcl/include/mcl/elgamal.hpp:540,1
    - Dst: mcl::PrivateKey::load
      Src: /src/mcl/include/mcl/elgamal.hpp:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: mcl::PrivateKey::load
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 1
    functionsReached:
    - mcl::PrivateKey::load
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::PrivateKey::save
      Src: /src/mcl/include/mcl/elgamal.hpp:547,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/elgamal.hpp:548,1
    - Dst: mcl::PrivateKey::save
      Src: /src/mcl/include/mcl/elgamal.hpp:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 550
    functionName: mcl::PrivateKey::save
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 1
    functionsReached:
    - cybozu::writeChar
    - mcl::PrivateKey::save
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/include/mcl/elgamal.hpp:553,1
    - Dst: mcl::PrivateKey::save
      Src: /src/mcl/include/mcl/elgamal.hpp:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 556
      start: 551
    functionDepth: 2
    functionLinenumber: 551
    functionLinenumberEnd: 556
    functionName: mcl::PrivateKey::getStr
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - clear
    - mcl::PrivateKey::save
    linkageType: ''
    returnType: void
    signature: void getStr(std::string& str, int ioMode = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::PrivateKey::getStr
      Src: /src/mcl/include/mcl/elgamal.hpp:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 562
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 562
    functionName: mcl::PrivateKey::getStr
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 1
    functionsReached:
    - mcl::PrivateKey::getStr
    linkageType: ''
    returnType: std::string
    signature: std::string getStr(int ioMode = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::PrivateKey::load
      Src: /src/mcl/include/mcl/elgamal.hpp:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 567
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 567
    functionName: mcl::PrivateKey::setStr
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::PrivateKey::load
    linkageType: ''
    returnType: void
    signature: void setStr(const std::string& str, int ioMode = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/elgamal.hpp:570,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/elgamal.hpp:570,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/elgamal.hpp:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - PrivateKey
    constantsTouched: []
    func_position:
      end: 572
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 572
    functionName: '& operator<<(std::ostream& os, const PrivateKey& self)'
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - save
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const PrivateKey& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/include/mcl/elgamal.hpp:575,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/elgamal.hpp:575,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/elgamal.hpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - PrivateKey
    constantsTouched: []
    func_position:
      end: 577
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 577
    functionName: '& operator>>(std::istream& is, PrivateKey& self)'
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - load
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, PrivateKey& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::PrivateKey::getStr
      Src: /src/mcl/include/mcl/elgamal.hpp:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 578
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 578
    functionName: mcl::PrivateKey::toStr
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::PrivateKey::getStr
    linkageType: ''
    returnType: std::string
    signature: std::string toStr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::PrivateKey::setStr
      Src: /src/mcl/include/mcl/elgamal.hpp:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 579
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 579
    functionName: mcl::PrivateKey::fromStr
    functionSourceFile: /src/mcl/include/mcl/elgamal.hpp
    functionUses: 0
    functionsReached:
    - mcl::PrivateKey::setStr
    linkageType: ''
    returnType: void
    signature: void fromStr(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/include/mcl/gmp_util.hpp:57,1
    - Dst: mpz_import
      Src: /src/mcl/include/mcl/gmp_util.hpp:59,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pb
    - ' z'
    - buf
    - n
    argTypes:
    - bool*
    - mpz_class
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: mcl::gmp::setArray
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 15
    functionsReached:
    - mcl::gmp::setArray
    - get_mpz_t
    - mpz_import
    linkageType: ''
    returnType: void
    signature: void setArray(bool *pb, mpz_class& z, const T *buf, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::isNegative
      Src: /src/mcl/include/mcl/gmp_util.hpp:71,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/include/mcl/gmp_util.hpp:75,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:83,1
    - Dst: mcl::fp::convertArrayAsLE
      Src: /src/mcl/include/mcl/gmp_util.hpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pb
    - buf
    - maxSize
    - ' x'
    argTypes:
    - bool*
    - T*
    - size_t
    - mpz_class
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: mcl::gmp::getArray
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 17
    functionsReached:
    - mcl::gmp::isNegative
    - mcl::fp::convertArrayAsLE
    - mcl::gmp::getUnit
    - get_mpz_t
    linkageType: ''
    returnType: void
    signature: void getArray(bool *pb, T *buf, size_t maxSize, const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/include/mcl/gmp_util.hpp:90,1
    - Dst: assert
      Src: /src/mcl/include/mcl/gmp_util.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' z'
    - x
    argTypes:
    - mpz_class
    - uint64_t
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: mcl::gmp::set
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 2
    functionsReached:
    - mcl::gmp::setArray
    - assert
    linkageType: ''
    returnType: void
    signature: void set(mpz_class& z, uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::set
      Src: /src/mcl/include/mcl/gmp_util.hpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' z'
    - x
    argTypes:
    - mpz_class
    - Unit
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: mcl::gmp::setUnit
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 2
    functionsReached:
    - mcl::gmp::set
    linkageType: ''
    returnType: void
    signature: void setUnit(mpz_class& z, Unit x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::setUnit
      Src: /src/mcl/include/mcl/gmp_util.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' z'
    - x
    argTypes:
    - mpz_class
    - Unit
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: mcl::gmp::addUnit
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 1
    functionsReached:
    - mcl::gmp::setUnit
    linkageType: ''
    returnType: void
    signature: void addUnit(mpz_class& z, Unit x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/include/mcl/gmp_util.hpp:119,1
    - Dst: set_str
      Src: /src/mcl/include/mcl/gmp_util.hpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pb
    - ' z'
    - str
    argTypes:
    - bool*
    - mpz_class
    - char*
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: mcl::gmp::setStr
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 17
    functionsReached:
    - mcl::gmp::setStr
    - set_str
    linkageType: ''
    returnType: void
    signature: void setStr(bool *pb, mpz_class& z, const char *str, int base = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getStr
      Src: /src/mcl/include/mcl/gmp_util.hpp:132,1
    - Dst: mpz_get_str
      Src: /src/mcl/include/mcl/gmp_util.hpp:134,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:134,1
    - Dst: memcpy
      Src: /src/mcl/include/mcl/gmp_util.hpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - bufSize
    - ' z'
    argTypes:
    - char*
    - size_t
    - mpz_class
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: mcl::gmp::getStr
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 8
    functionsReached:
    - memcpy
    - mcl::gmp::getStr
    - get_mpz_t
    - mpz_get_str
    linkageType: ''
    returnType: size_t
    signature: size_t getStr(char *buf, size_t bufSize, const mpz_class& z, int base
      = 10)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getStr
      Src: /src/mcl/include/mcl/gmp_util.hpp:146,1
    - Dst: get_str
      Src: /src/mcl/include/mcl/gmp_util.hpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' str'
    - ' z'
    argTypes:
    - std::string
    - mpz_class
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: mcl::gmp::getStr
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 9
    functionsReached:
    - mcl::gmp::getStr
    - get_str
    linkageType: ''
    returnType: void
    signature: void getStr(std::string& str, const mpz_class& z, int base = 10)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getStr
      Src: /src/mcl/include/mcl/gmp_util.hpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: mcl::gmp::getStr
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 10
    functionsReached:
    - mcl::gmp::getStr
    linkageType: ''
    returnType: std::string
    signature: std::string getStr(const mpz_class& z, int base = 10)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::add
      Src: /src/mcl/include/mcl/gmp_util.hpp:162,1
    - Dst: mpz_add
      Src: /src/mcl/include/mcl/gmp_util.hpp:164,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:164,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:164,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - mpz_class
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: mcl::gmp::add
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - mpz_add
    - get_mpz_t
    - mcl::Vint::add
    linkageType: ''
    returnType: void
    signature: void add(mpz_class& z, const mpz_class& x, const mpz_class& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_add_ui
      Src: /src/mcl/include/mcl/gmp_util.hpp:170,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:170,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - mpz_class
    - mpz_class
    - unsigned int
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: mcl::gmp::add
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - mpz_add_ui
    - get_mpz_t
    linkageType: ''
    returnType: void
    signature: void add(mpz_class& z, const mpz_class& x, unsigned int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sub_ui
      Src: /src/mcl/include/mcl/gmp_util.hpp:174,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:174,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - mpz_class
    - mpz_class
    - unsigned int
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: mcl::gmp::sub
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - mpz_sub_ui
    - get_mpz_t
    linkageType: ''
    returnType: void
    signature: void sub(mpz_class& z, const mpz_class& x, unsigned int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_mul_ui
      Src: /src/mcl/include/mcl/gmp_util.hpp:178,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:178,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - mpz_class
    - mpz_class
    - unsigned int
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: mcl::gmp::mul
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - get_mpz_t
    - mpz_mul_ui
    linkageType: ''
    returnType: void
    signature: void mul(mpz_class& z, const mpz_class& x, unsigned int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_ui
      Src: /src/mcl/include/mcl/gmp_util.hpp:182,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:182,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' q'
    - ' x'
    - y
    argTypes:
    - mpz_class
    - mpz_class
    - unsigned int
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: mcl::gmp::div
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - get_mpz_t
    - mpz_div_ui
    linkageType: ''
    returnType: void
    signature: void div(mpz_class& q, const mpz_class& x, unsigned int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_mod_ui
      Src: /src/mcl/include/mcl/gmp_util.hpp:186,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:186,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' r'
    - ' x'
    - m
    argTypes:
    - mpz_class
    - mpz_class
    - unsigned int
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: mcl::gmp::mod
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - mpz_mod_ui
    - get_mpz_t
    linkageType: ''
    returnType: void
    signature: void mod(mpz_class& r, const mpz_class& x, unsigned int m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmp_si
      Src: /src/mcl/include/mcl/gmp_util.hpp:190,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - mpz_class
    - int
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: mcl::gmp::compare
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - get_mpz_t
    - mpz_cmp_si
    linkageType: ''
    returnType: int
    signature: int compare(const mpz_class& x, int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::sub
      Src: /src/mcl/include/mcl/gmp_util.hpp:196,1
    - Dst: mpz_sub
      Src: /src/mcl/include/mcl/gmp_util.hpp:198,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:198,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:198,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - mpz_class
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: mcl::gmp::sub
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - mpz_sub
    - get_mpz_t
    - mcl::Vint::sub
    linkageType: ''
    returnType: void
    signature: void sub(mpz_class& z, const mpz_class& x, const mpz_class& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::mul
      Src: /src/mcl/include/mcl/gmp_util.hpp:204,1
    - Dst: mpz_mul
      Src: /src/mcl/include/mcl/gmp_util.hpp:206,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:206,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:206,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - mpz_class
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 208
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 208
    functionName: mcl::gmp::mul
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::mul
    - get_mpz_t
    - mpz_mul
    linkageType: ''
    returnType: void
    signature: void mul(mpz_class& z, const mpz_class& x, const mpz_class& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::mul
      Src: /src/mcl/include/mcl/gmp_util.hpp:212,1
    - Dst: mpz_mul
      Src: /src/mcl/include/mcl/gmp_util.hpp:214,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:214,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:214,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: mcl::gmp::sqr
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::mul
    - get_mpz_t
    - mpz_mul
    linkageType: ''
    returnType: void
    signature: void sqr(mpz_class& z, const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::divMod
      Src: /src/mcl/include/mcl/gmp_util.hpp:220,1
    - Dst: mpz_divmod
      Src: /src/mcl/include/mcl/gmp_util.hpp:222,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:222,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:222,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:222,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' q'
    - ' r'
    - ' x'
    - ' y'
    argTypes:
    - mpz_class
    - mpz_class
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: mcl::gmp::divmod
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 2
    functionsReached:
    - mpz_divmod
    - mcl::Vint::divMod
    - get_mpz_t
    linkageType: ''
    returnType: void
    signature: void divmod(mpz_class& q, mpz_class& r, const mpz_class& x, const mpz_class&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::div
      Src: /src/mcl/include/mcl/gmp_util.hpp:228,1
    - Dst: mpz_div
      Src: /src/mcl/include/mcl/gmp_util.hpp:230,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:230,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:230,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' q'
    - ' x'
    - ' y'
    argTypes:
    - mpz_class
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: mcl::gmp::div
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::div
    - get_mpz_t
    - mpz_div
    linkageType: ''
    returnType: void
    signature: void div(mpz_class& q, const mpz_class& x, const mpz_class& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::mod
      Src: /src/mcl/include/mcl/gmp_util.hpp:236,1
    - Dst: mpz_mod
      Src: /src/mcl/include/mcl/gmp_util.hpp:238,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:238,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:238,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' r'
    - ' x'
    - ' m'
    argTypes:
    - mpz_class
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 4
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: mcl::gmp::mod
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - get_mpz_t
    - mcl::Vint::mod
    - mpz_mod
    linkageType: ''
    returnType: void
    signature: void mod(mpz_class& r, const mpz_class& x, const mpz_class& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::clear
      Src: /src/mcl/include/mcl/gmp_util.hpp:244,1
    - Dst: mpz_set_ui
      Src: /src/mcl/include/mcl/gmp_util.hpp:246,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: mcl::gmp::clear
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 1
    functionsReached:
    - get_mpz_t
    - mcl::gmp::clear
    - mpz_set_ui
    linkageType: ''
    returnType: void
    signature: void clear(mpz_class& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::isZero
      Src: /src/mcl/include/mcl/gmp_util.hpp:252,1
    - Dst: mpz_sgn
      Src: /src/mcl/include/mcl/gmp_util.hpp:254,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: mcl::gmp::isZero
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 1
    functionsReached:
    - get_mpz_t
    - mcl::gmp::isZero
    - mpz_sgn
    linkageType: ''
    returnType: bool
    signature: bool isZero(const mpz_class& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::isNegative
      Src: /src/mcl/include/mcl/gmp_util.hpp:260,1
    - Dst: mpz_sgn
      Src: /src/mcl/include/mcl/gmp_util.hpp:262,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' z'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 264
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 264
    functionName: mcl::gmp::isNegative
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 2
    functionsReached:
    - mcl::gmp::isNegative
    - get_mpz_t
    - mpz_sgn
    linkageType: ''
    returnType: bool
    signature: bool isNegative(const mpz_class& z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::neg
      Src: /src/mcl/include/mcl/gmp_util.hpp:268,1
    - Dst: mpz_neg
      Src: /src/mcl/include/mcl/gmp_util.hpp:270,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:270,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' z'
    - ' x'
    argTypes:
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 272
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 272
    functionName: mcl::gmp::neg
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 1
    functionsReached:
    - mcl::Vint::neg
    - get_mpz_t
    - mpz_neg
    linkageType: ''
    returnType: void
    signature: void neg(mpz_class& z, const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::compare
      Src: /src/mcl/include/mcl/gmp_util.hpp:276,1
    - Dst: mpz_cmp
      Src: /src/mcl/include/mcl/gmp_util.hpp:278,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:278,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: mcl::gmp::compare
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - mpz_cmp
    - mcl::Vint::compare
    - get_mpz_t
    linkageType: ''
    returnType: int
    signature: int compare(const mpz_class& x, const mpz_class & y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::add
      Src: /src/mcl/include/mcl/gmp_util.hpp:284,1
    - Dst: mcl::gmp::compare
      Src: /src/mcl/include/mcl/gmp_util.hpp:285,1
    - Dst: mcl::gmp::sub
      Src: /src/mcl/include/mcl/gmp_util.hpp:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - ' y'
    - ' m'
    argTypes:
    - mpz_class
    - mpz_class
    - T
    - mpz_class
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: mcl::gmp::addMod
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 1
    functionsReached:
    - mcl::gmp::compare
    - mcl::gmp::sub
    - mcl::gmp::add
    linkageType: ''
    returnType: void
    signature: void addMod(mpz_class& z, const mpz_class& x, const T& y, const mpz_class&
      m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::sub
      Src: /src/mcl/include/mcl/gmp_util.hpp:292,1
    - Dst: mcl::gmp::isNegative
      Src: /src/mcl/include/mcl/gmp_util.hpp:293,1
    - Dst: mcl::gmp::add
      Src: /src/mcl/include/mcl/gmp_util.hpp:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - ' y'
    - ' m'
    argTypes:
    - mpz_class
    - mpz_class
    - T
    - mpz_class
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: mcl::gmp::subMod
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 1
    functionsReached:
    - mcl::gmp::sub
    - mcl::gmp::add
    - mcl::gmp::isNegative
    linkageType: ''
    returnType: void
    signature: void subMod(mpz_class& z, const mpz_class& x, const T& y, const mpz_class&
      m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::mul
      Src: /src/mcl/include/mcl/gmp_util.hpp:299,1
    - Dst: mcl::gmp::mod
      Src: /src/mcl/include/mcl/gmp_util.hpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - ' y'
    - ' m'
    argTypes:
    - mpz_class
    - mpz_class
    - T
    - mpz_class
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: mcl::gmp::mulMod
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::mul
    - mcl::gmp::mod
    linkageType: ''
    returnType: void
    signature: void mulMod(mpz_class& z, const mpz_class& x, const T& y, const mpz_class&
      m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::sqr
      Src: /src/mcl/include/mcl/gmp_util.hpp:304,1
    - Dst: mcl::gmp::mod
      Src: /src/mcl/include/mcl/gmp_util.hpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' m'
    argTypes:
    - mpz_class
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: mcl::gmp::sqrMod
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::sqr
    - mcl::gmp::mod
    linkageType: ''
    returnType: void
    signature: void sqrMod(mpz_class& z, const mpz_class& x, const mpz_class& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::pow
      Src: /src/mcl/include/mcl/gmp_util.hpp:311,1
    - Dst: mpz_pow_ui
      Src: /src/mcl/include/mcl/gmp_util.hpp:313,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:313,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - mpz_class
    - mpz_class
    - unsigned int
    constantsTouched: []
    func_position:
      end: 315
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 315
    functionName: mcl::gmp::pow
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - mpz_pow_ui
    - get_mpz_t
    - mcl::Vint::pow
    linkageType: ''
    returnType: void
    signature: void pow(mpz_class& z, const mpz_class& x, unsigned int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::powMod
      Src: /src/mcl/include/mcl/gmp_util.hpp:320,1
    - Dst: mpz_powm
      Src: /src/mcl/include/mcl/gmp_util.hpp:322,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:322,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:322,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:322,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - ' y'
    - ' m'
    argTypes:
    - mpz_class
    - mpz_class
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: mcl::gmp::powMod
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - get_mpz_t
    - mcl::Vint::powMod
    - mpz_powm
    linkageType: ''
    returnType: void
    signature: void powMod(mpz_class& z, const mpz_class& x, const mpz_class& y, const
      mpz_class& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::invMod
      Src: /src/mcl/include/mcl/gmp_util.hpp:329,1
    - Dst: mpz_invert
      Src: /src/mcl/include/mcl/gmp_util.hpp:331,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:331,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:331,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' m'
    argTypes:
    - mpz_class
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 333
      start: 326
    functionDepth: 4
    functionLinenumber: 326
    functionLinenumberEnd: 333
    functionName: mcl::gmp::invMod
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 2
    functionsReached:
    - get_mpz_t
    - mcl::Vint::invMod
    - mpz_invert
    linkageType: ''
    returnType: void
    signature: void invMod(mpz_class& z, const mpz_class& x, const mpz_class& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::lcm
      Src: /src/mcl/include/mcl/gmp_util.hpp:338,1
    - Dst: mpz_lcm
      Src: /src/mcl/include/mcl/gmp_util.hpp:340,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:340,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:340,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - mpz_class
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 342
      start: 335
    functionDepth: 6
    functionLinenumber: 335
    functionLinenumberEnd: 342
    functionName: mcl::gmp::lcm
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - get_mpz_t
    - mcl::Vint::lcm
    - mpz_lcm
    linkageType: ''
    returnType: void
    signature: void lcm(mpz_class& z, const mpz_class& x, const mpz_class& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::lcm
      Src: /src/mcl/include/mcl/gmp_util.hpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: mcl::gmp::lcm
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 1
    functionsReached:
    - mcl::gmp::lcm
    linkageType: ''
    returnType: mpz_class
    signature: mpz_class lcm(const mpz_class& x, const mpz_class& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::gcd
      Src: /src/mcl/include/mcl/gmp_util.hpp:353,1
    - Dst: mpz_gcd
      Src: /src/mcl/include/mcl/gmp_util.hpp:355,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:355,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:355,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - mpz_class
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 357
      start: 350
    functionDepth: 5
    functionLinenumber: 350
    functionLinenumberEnd: 357
    functionName: mcl::gmp::gcd
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - mcl::Vint::gcd
    - get_mpz_t
    - mpz_gcd
    linkageType: ''
    returnType: void
    signature: void gcd(mpz_class& z, const mpz_class& x, const mpz_class& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::gcd
      Src: /src/mcl/include/mcl/gmp_util.hpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 363
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 363
    functionName: mcl::gmp::gcd
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 1
    functionsReached:
    - mcl::gmp::gcd
    linkageType: ''
    returnType: mpz_class
    signature: mpz_class gcd(const mpz_class& x, const mpz_class& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::jacobi
      Src: /src/mcl/include/mcl/gmp_util.hpp:372,1
    - Dst: mpz_legendre
      Src: /src/mcl/include/mcl/gmp_util.hpp:374,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:374,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' p'
    argTypes:
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 376
      start: 369
    functionDepth: 6
    functionLinenumber: 369
    functionLinenumberEnd: 376
    functionName: mcl::gmp::legendre
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 1
    functionsReached:
    - get_mpz_t
    - mcl::Vint::jacobi
    - mpz_legendre
    linkageType: ''
    returnType: int
    signature: int legendre(const mpz_class& a, const mpz_class& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::isPrime
      Src: /src/mcl/include/mcl/gmp_util.hpp:380,1
    - Dst: mpz_probab_prime_p
      Src: /src/mcl/include/mcl/gmp_util.hpp:383,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pb
    - ' x'
    argTypes:
    - bool*
    - mpz_class
    constantsTouched: []
    func_position:
      end: 385
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 385
    functionName: mcl::gmp::isPrime
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 2
    functionsReached:
    - mcl::gmp::isPrime
    - get_mpz_t
    - mpz_probab_prime_p
    linkageType: ''
    returnType: bool
    signature: bool isPrime(bool *pb, const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getBitSize
      Src: /src/mcl/include/mcl/gmp_util.hpp:389,1
    - Dst: mpz_sizeinbase
      Src: /src/mcl/include/mcl/gmp_util.hpp:391,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 393
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 393
    functionName: mcl::gmp::getBitSize
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 5
    functionsReached:
    - mcl::gmp::getBitSize
    - get_mpz_t
    - mpz_sizeinbase
    linkageType: ''
    returnType: size_t
    signature: size_t getBitSize(const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::testBit
      Src: /src/mcl/include/mcl/gmp_util.hpp:397,1
    - Dst: mpz_tstbit
      Src: /src/mcl/include/mcl/gmp_util.hpp:399,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - pos
    argTypes:
    - mpz_class
    - size_t
    constantsTouched: []
    func_position:
      end: 401
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 401
    functionName: mcl::gmp::testBit
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 1
    functionsReached:
    - mpz_tstbit
    - mcl::gmp::testBit
    - get_mpz_t
    linkageType: ''
    returnType: bool
    signature: bool testBit(const mpz_class& x, size_t pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::setBit
      Src: /src/mcl/include/mcl/gmp_util.hpp:405,1
    - Dst: mpz_clrbit
      Src: /src/mcl/include/mcl/gmp_util.hpp:407,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - pos
    argTypes:
    - mpz_class
    - size_t
    constantsTouched: []
    func_position:
      end: 409
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 409
    functionName: mcl::gmp::resetBit
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - get_mpz_t
    - mcl::gmp::setBit
    - mpz_clrbit
    linkageType: ''
    returnType: void
    signature: void resetBit(mpz_class& x, size_t pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::setBit
      Src: /src/mcl/include/mcl/gmp_util.hpp:413,1
    - Dst: mpz_setbit
      Src: /src/mcl/include/mcl/gmp_util.hpp:416,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:416,1
    - Dst: mcl::gmp::resetBit
      Src: /src/mcl/include/mcl/gmp_util.hpp:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' x'
    - pos
    argTypes:
    - mpz_class
    - size_t
    constantsTouched: []
    func_position:
      end: 421
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 421
    functionName: mcl::gmp::setBit
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 2
    functionsReached:
    - mcl::gmp::setBit
    - mpz_setbit
    - get_mpz_t
    - mcl::gmp::resetBit
    linkageType: ''
    returnType: void
    signature: void setBit(mpz_class& x, size_t pos, bool v = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/include/mcl/gmp_util.hpp:425,1
    - Dst: reinterpret_cast<const Unit*>
      Src: /src/mcl/include/mcl/gmp_util.hpp:427,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 429
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 429
    functionName: mcl::gmp::getUnit
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 16
    functionsReached:
    - get_mpz_t
    - mcl::gmp::getUnit
    - reinterpret_cast<const Unit*>
    linkageType: ''
    returnType: Unit
    signature: Unit *getUnit(const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/include/mcl/gmp_util.hpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - i
    argTypes:
    - mpz_class
    - size_t
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: mcl::gmp::getUnit
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 17
    functionsReached:
    - mcl::gmp::getUnit
    linkageType: ''
    returnType: Unit
    signature: Unit getUnit(const mpz_class& x, size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getUnitSize
      Src: /src/mcl/include/mcl/gmp_util.hpp:437,1
    - Dst: mcl::gmp::abs
      Src: /src/mcl/include/mcl/gmp_util.hpp:439,1
    - Dst: get_mpz_t
      Src: /src/mcl/include/mcl/gmp_util.hpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 441
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 441
    functionName: mcl::gmp::getUnitSize
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 7
    functionsReached:
    - mcl::gmp::abs
    - mcl::gmp::getUnitSize
    - get_mpz_t
    linkageType: ''
    returnType: size_t
    signature: size_t getUnitSize(const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::bsf<T>
      Src: /src/mcl/include/mcl/gmp_util.hpp:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 460
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 460
    functionName: mcl::gmp::getLowerZeroBitNum
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - cybozu::bsf<T>
    linkageType: ''
    returnType: size_t
    signature: size_t getLowerZeroBitNum(const T *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/gmp_util.hpp:468,1
    - Dst: mcl::gmp::isZero
      Src: /src/mcl/include/mcl/gmp_util.hpp:468,1
    - Dst: mcl::gmp::getLowerZeroBitNum
      Src: /src/mcl/include/mcl/gmp_util.hpp:469,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/include/mcl/gmp_util.hpp:469,1
    - Dst: mcl::gmp::getUnitSize
      Src: /src/mcl/include/mcl/gmp_util.hpp:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 470
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 470
    functionName: mcl::gmp::getLowerZeroBitNum
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 1
    functionsReached:
    - mcl::gmp::getUnitSize
    - assert
    - mcl::gmp::getLowerZeroBitNum
    - mcl::gmp::getUnit
    - mcl::gmp::isZero
    linkageType: ''
    returnType: size_t
    signature: size_t getLowerZeroBitNum(const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::abs
      Src: /src/mcl/include/mcl/gmp_util.hpp:475,1
    - Dst: Botan::abs
      Src: /src/mcl/include/mcl/gmp_util.hpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 479
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 479
    functionName: mcl::gmp::abs
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 2
    functionsReached:
    - Botan::abs
    - mcl::Vint::abs
    linkageType: ''
    returnType: mpz_class
    signature: mpz_class abs(const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::RandGen::RandGen
      Src: /src/mcl/include/mcl/gmp_util.hpp:481,1
    - Dst: mcl::gmp::isZero
      Src: /src/mcl/include/mcl/gmp_util.hpp:483,1
    - Dst: Botan_Tests::Test_Map_PSK_Db::kv_get
      Src: /src/mcl/include/mcl/gmp_util.hpp:483,1
    - Dst: assert
      Src: /src/mcl/include/mcl/gmp_util.hpp:484,1
    - Dst: assert
      Src: /src/mcl/include/mcl/gmp_util.hpp:488,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/include/mcl/gmp_util.hpp:488,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/include/mcl/gmp_util.hpp:489,1
    - Dst: read
      Src: /src/mcl/include/mcl/gmp_util.hpp:493,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/include/mcl/gmp_util.hpp:503,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - pb
    - ' z'
    - bitSize
    argTypes:
    - bool*
    - mpz_class
    - size_t
    constantsTouched: []
    func_position:
      end: 504
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 504
    functionName: mcl::gmp::getRand
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 1
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - read
    - assert
    - Botan_Tests::Test_Map_PSK_Db::kv_get
    - mcl::gmp::setArray
    - mcl::gmp::isZero
    - mcl::fp::RandGen::RandGen
    linkageType: ''
    returnType: void
    signature: void getRand(bool *pb, mpz_class& z, size_t bitSize, fp::RandGen rg
      = fp::RandGen())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::RandGen::RandGen
      Src: /src/mcl/include/mcl/gmp_util.hpp:506,1
    - Dst: mcl::gmp::isZero
      Src: /src/mcl/include/mcl/gmp_util.hpp:508,1
    - Dst: Botan_Tests::Test_Map_PSK_Db::kv_get
      Src: /src/mcl/include/mcl/gmp_util.hpp:508,1
    - Dst: assert
      Src: /src/mcl/include/mcl/gmp_util.hpp:509,1
    - Dst: mcl::gmp::getRand
      Src: /src/mcl/include/mcl/gmp_util.hpp:511,1
    - Dst: mpz_class
      Src: /src/mcl/include/mcl/gmp_util.hpp:515,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - pb
    - ' z'
    - bitSize
    argTypes:
    - bool*
    - mpz_class
    - size_t
    constantsTouched: []
    func_position:
      end: 524
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 524
    functionName: mcl::gmp::getRandPrime
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 1
    functionsReached:
    - assert
    - mcl::gmp::getRand
    - Botan_Tests::Test_Map_PSK_Db::kv_get
    - mpz_class
    - mcl::gmp::isZero
    - mcl::fp::RandGen::RandGen
    linkageType: ''
    returnType: void
    signature: void getRandPrime(bool *pb, mpz_class& z, size_t bitSize, fp::RandGen
      rg = fp::RandGen(), bool setSecondBit = false, bool mustBe3mod4 = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::legendre
      Src: /src/mcl/include/mcl/gmp_util.hpp:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 532
      start: 525
    functionDepth: 7
    functionLinenumber: 525
    functionLinenumberEnd: 532
    functionName: mcl::gmp::getQuadraticNonResidue
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::legendre
    linkageType: ''
    returnType: mpz_class
    signature: mpz_class getQuadraticNonResidue(const mpz_class& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/mcl/include/mcl/gmp_util.hpp:540,1
    - Dst: mcl::gmp::testBit
      Src: /src/mcl/include/mcl/gmp_util.hpp:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' v'
    - ' x'
    argTypes:
    - Vec
    - mpz_class
    constantsTouched: []
    func_position:
      end: 544
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 544
    functionName: mcl::gmp::impl::convertToBinary
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::testBit
    - resize
    linkageType: ''
    returnType: void
    signature: void convertToBinary(Vec& v, const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ' v'
    - pos
    - val
    argTypes:
    - Vec
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 554
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 554
    functionName: mcl::gmp::impl::getContinuousVal
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getContinuousVal(const Vec& v, size_t pos, int val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/gmp_util.hpp:559,1
    - Dst: size
      Src: /src/mcl/include/mcl/gmp_util.hpp:559,1
    - Dst: copy
      Src: /src/mcl/include/mcl/gmp_util.hpp:560,1
    - Dst: assert
      Src: /src/mcl/include/mcl/gmp_util.hpp:566,1
    - Dst: assert
      Src: /src/mcl/include/mcl/gmp_util.hpp:569,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - ' v'
    - ' in'
    argTypes:
    - Vec
    - Vec
    constantsTouched: []
    func_position:
      end: 581
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 581
    functionName: mcl::gmp::impl::convertToNAF
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - copy
    - assert
    - size
    linkageType: ''
    returnType: void
    signature: void convertToNAF(Vec& v, const Vec& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/mcl/include/mcl/gmp_util.hpp:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vec
    constantsTouched: []
    func_position:
      end: 591
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 591
    functionName: mcl::gmp::impl::getNumOfNonZeroElement
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t getNumOfNonZeroElement(const Vec& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::impl::convertToBinary
      Src: /src/mcl/include/mcl/gmp_util.hpp:603,1
    - Dst: mcl::gmp::impl::convertToNAF
      Src: /src/mcl/include/mcl/gmp_util.hpp:605,1
    - Dst: swap
      Src: /src/mcl/include/mcl/gmp_util.hpp:609,1
    - Dst: swap
      Src: /src/mcl/include/mcl/gmp_util.hpp:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' v'
    - ' x'
    argTypes:
    - Vec
    - mpz_class
    constantsTouched: []
    func_position:
      end: 615
      start: 600
    functionDepth: 3
    functionLinenumber: 600
    functionLinenumberEnd: 615
    functionName: mcl::gmp::getNAF
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 1
    functionsReached:
    - mcl::gmp::impl::convertToNAF
    - mcl::gmp::impl::convertToBinary
    - swap
    linkageType: ''
    returnType: bool
    signature: bool getNAF(Vec& v, const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/gmp_util.hpp:624,1
    - Dst: mcl::gmp::clear
      Src: /src/mcl/include/mcl/gmp_util.hpp:626,1
    - Dst: mcl::gmp::isZero
      Src: /src/mcl/include/mcl/gmp_util.hpp:636,1
    - Dst: push
      Src: /src/mcl/include/mcl/gmp_util.hpp:643,1
    - Dst: assert
      Src: /src/mcl/include/mcl/gmp_util.hpp:646,1
    - Dst: mcl::gmp::isZero
      Src: /src/mcl/include/mcl/gmp_util.hpp:646,1
    - Dst: push
      Src: /src/mcl/include/mcl/gmp_util.hpp:661,1
    - Dst: typename Vec::value_type
      Src: /src/mcl/include/mcl/gmp_util.hpp:661,1
    - Dst: size
      Src: /src/mcl/include/mcl/gmp_util.hpp:666,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 4
    argNames:
    - pb
    - ' naf'
    - x
    - w
    argTypes:
    - bool*
    - Vec
    - mpz_class
    - size_t
    constantsTouched: []
    func_position:
      end: 670
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 670
    functionName: mcl::gmp::getNAFwidth
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 2
    functionsReached:
    - push
    - assert
    - size
    - typename Vec::value_type
    - mcl::gmp::clear
    - mcl::gmp::isZero
    linkageType: ''
    returnType: void
    signature: void getNAFwidth(bool *pb, Vec& naf, mpz_class x, size_t w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/include/mcl/gmp_util.hpp:676,1
    - Dst: c_str
      Src: /src/mcl/include/mcl/gmp_util.hpp:676,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/gmp_util.hpp:677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' z'
    - ' str'
    argTypes:
    - mpz_class
    - std::string
    constantsTouched: []
    func_position:
      end: 678
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 678
    functionName: mcl::gmp::setStr
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 18
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::gmp::setStr
    - c_str
    linkageType: ''
    returnType: void
    signature: void setStr(mpz_class& z, const std::string& str, int base = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/include/mcl/gmp_util.hpp:683,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/gmp_util.hpp:684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ' z'
    - buf
    - n
    argTypes:
    - mpz_class
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 685
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 685
    functionName: mcl::gmp::setArray
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 18
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::gmp::setArray
    linkageType: ''
    returnType: void
    signature: void setArray(mpz_class& z, const T *buf, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/include/mcl/gmp_util.hpp:690,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/gmp_util.hpp:691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - maxSize
    - ' x'
    argTypes:
    - T*
    - size_t
    - mpz_class
    constantsTouched: []
    func_position:
      end: 692
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 692
    functionName: mcl::gmp::getArray
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 18
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::gmp::getArray
    linkageType: ''
    returnType: void
    signature: void getArray(T *buf, size_t maxSize, const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/gmp_util.hpp:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 699
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 699
    functionName: mcl::gmp::isPrime
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: bool
    signature: bool isPrime(const mpz_class& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::RandGen::RandGen
      Src: /src/mcl/include/mcl/gmp_util.hpp:700,1
    - Dst: mcl::gmp::getRand
      Src: /src/mcl/include/mcl/gmp_util.hpp:703,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/gmp_util.hpp:704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' z'
    - bitSize
    argTypes:
    - mpz_class
    - size_t
    constantsTouched: []
    func_position:
      end: 705
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 705
    functionName: mcl::gmp::getRand
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 3
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::gmp::getRand
    - mcl::fp::RandGen::RandGen
    linkageType: ''
    returnType: void
    signature: void getRand(mpz_class& z, size_t bitSize, fp::RandGen rg = fp::RandGen())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::RandGen::RandGen
      Src: /src/mcl/include/mcl/gmp_util.hpp:706,1
    - Dst: mcl::gmp::getRandPrime
      Src: /src/mcl/include/mcl/gmp_util.hpp:709,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/gmp_util.hpp:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' z'
    - bitSize
    argTypes:
    - mpz_class
    - size_t
    constantsTouched: []
    func_position:
      end: 711
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 711
    functionName: mcl::gmp::getRandPrime
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::gmp::getRandPrime
    - mcl::fp::RandGen::RandGen
    linkageType: ''
    returnType: void
    signature: void getRandPrime(mpz_class& z, size_t bitSize, fp::RandGen rg = fp::RandGen(),
      bool setSecondBit = false, bool mustBe3mod4 = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/include/mcl/gmp_util.hpp:773,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/include/mcl/gmp_util.hpp:776,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/include/mcl/gmp_util.hpp:781,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/include/mcl/gmp_util.hpp:784,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/include/mcl/gmp_util.hpp:786,1
    - Dst: mcl::gmp::setStr
      Src: /src/mcl/include/mcl/gmp_util.hpp:788,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - ' p_'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 794
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 794
    functionName: mcl::SquareRoot::setIfPrecomputed
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - mcl::gmp::setStr
    linkageType: ''
    returnType: bool
    signature: bool setIfPrecomputed(const mpz_class& p_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/gmp_util.hpp:801,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/gmp_util.hpp:801,1
    - Dst: isZero
      Src: /src/mcl/include/mcl/gmp_util.hpp:802,1
    - Dst: isOne
      Src: /src/mcl/include/mcl/gmp_util.hpp:802,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/gmp_util.hpp:808,1
    - Dst: Fp::Fp
      Src: /src/mcl/include/mcl/gmp_util.hpp:811,1
    - Dst: Fp::setMpz
      Src: /src/mcl/include/mcl/gmp_util.hpp:814,1
    - Dst: assert
      Src: /src/mcl/include/mcl/gmp_util.hpp:815,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/gmp_util.hpp:818,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/gmp_util.hpp:819,1
    - Dst: Fp::Fp
      Src: /src/mcl/include/mcl/gmp_util.hpp:820,1
    - Dst: Fp::Fp
      Src: /src/mcl/include/mcl/gmp_util.hpp:821,1
    - Dst: isOne
      Src: /src/mcl/include/mcl/gmp_util.hpp:822,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/gmp_util.hpp:824,1
    - Dst: Fp::isOne
      Src: /src/mcl/include/mcl/gmp_util.hpp:825,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/gmp_util.hpp:826,1
    - Dst: assert
      Src: /src/mcl/include/mcl/gmp_util.hpp:830,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/gmp_util.hpp:842,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/gmp_util.hpp:844,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 2
    argNames:
    - ' x'
    - ' a'
    argTypes:
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 849
      start: 799
    functionDepth: 2
    functionLinenumber: 799
    functionLinenumberEnd: 849
    functionName: mcl::SquareRoot::getCandidate
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - isOne
    - Botan::fe_sqr
    - isZero
    - testFp12pow
    - assert
    - Fp::isOne
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - Fp::Fp
    - Fp::setMpz
    linkageType: ''
    returnType: bool
    signature: bool getCandidate(Fp& x, const Fp& a) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::SquareRoot::clear
      Src: /src/mcl/include/mcl/gmp_util.hpp:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 851
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 851
    functionName: mcl::SquareRoot::SquareRoot
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 2
    functionsReached:
    - mcl::SquareRoot::clear
    linkageType: ''
    returnType: void
    signature: void SquareRoot()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 852
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 852
    functionName: mcl::SquareRoot::isPrecomputed
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isPrecomputed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 863
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 863
    functionName: mcl::SquareRoot::clear
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/include/mcl/gmp_util.hpp:867,1
    - Dst: mcl::gmp::getStr
      Src: /src/mcl/include/mcl/gmp_util.hpp:867,1
    - Dst: printf
      Src: /src/mcl/include/mcl/gmp_util.hpp:868,1
    - Dst: mcl::gmp::getStr
      Src: /src/mcl/include/mcl/gmp_util.hpp:868,1
    - Dst: printf
      Src: /src/mcl/include/mcl/gmp_util.hpp:869,1
    - Dst: printf
      Src: /src/mcl/include/mcl/gmp_util.hpp:870,1
    - Dst: mcl::gmp::getStr
      Src: /src/mcl/include/mcl/gmp_util.hpp:870,1
    - Dst: printf
      Src: /src/mcl/include/mcl/gmp_util.hpp:871,1
    - Dst: mcl::gmp::getStr
      Src: /src/mcl/include/mcl/gmp_util.hpp:871,1
    - Dst: printf
      Src: /src/mcl/include/mcl/gmp_util.hpp:872,1
    - Dst: mcl::gmp::getStr
      Src: /src/mcl/include/mcl/gmp_util.hpp:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 873
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 873
    functionName: mcl::SquareRoot::dump
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 1
    functionsReached:
    - mcl::gmp::getStr
    - printf
    linkageType: ''
    returnType: void
    signature: void dump() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::SquareRoot::setIfPrecomputed
      Src: /src/mcl/include/mcl/gmp_util.hpp:877,1
    - Dst: mcl::gmp::isPrime
      Src: /src/mcl/include/mcl/gmp_util.hpp:886,1
    - Dst: mcl::gmp::getQuadraticNonResidue
      Src: /src/mcl/include/mcl/gmp_util.hpp:892,1
    - Dst: mcl::gmp::powMod
      Src: /src/mcl/include/mcl/gmp_util.hpp:900,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - pb
    - ' _p'
    argTypes:
    - bool*
    - mpz_class
    constantsTouched: []
    func_position:
      end: 903
      start: 875
    functionDepth: 8
    functionLinenumber: 875
    functionLinenumberEnd: 903
    functionName: mcl::SquareRoot::set
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 2
    functionsReached:
    - mcl::gmp::isPrime
    - mcl::gmp::getQuadraticNonResidue
    - mcl::SquareRoot::setIfPrecomputed
    - mcl::gmp::powMod
    linkageType: ''
    returnType: void
    signature: void set(bool *pb, const mpz_class& _p, bool usePrecomputedTable =
      true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::SquareRoot::getCandidate
      Src: /src/mcl/include/mcl/gmp_util.hpp:908,1
    - Dst: mcl::FpT::sqr
      Src: /src/mcl/include/mcl/gmp_util.hpp:909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' x'
    - ' a'
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 916
      start: 905
    functionDepth: 3
    functionLinenumber: 905
    functionLinenumberEnd: 916
    functionName: mcl::SquareRoot::get
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - mcl::SquareRoot::getCandidate
    - mcl::FpT::sqr
    linkageType: ''
    returnType: bool
    signature: bool get(T& x, const T& a) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SquareRoot
    constantsTouched: []
    func_position:
      end: 921
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 921
    functionName: operator==(const SquareRoot& rhs) const
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SquareRoot& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SquareRoot
    constantsTouched: []
    func_position:
      end: 922
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 922
    functionName: operator!=(const SquareRoot& rhs) const
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const SquareRoot& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::SquareRoot::set
      Src: /src/mcl/include/mcl/gmp_util.hpp:927,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/gmp_util.hpp:928,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' _p'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 929
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 929
    functionName: mcl::SquareRoot::set
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 3
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::SquareRoot::set
    linkageType: ''
    returnType: void
    signature: void set(const mpz_class& _p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 951
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 951
    functionName: mcl::Modp
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Modp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/include/mcl/gmp_util.hpp:958,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/include/mcl/gmp_util.hpp:958,1
    - Dst: assert
      Src: /src/mcl/include/mcl/gmp_util.hpp:960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - unitSize
    argTypes:
    - mpz_class
    - size_t
    constantsTouched: []
    func_position:
      end: 961
      start: 953
    functionDepth: 2
    functionLinenumber: 953
    functionLinenumberEnd: 961
    functionName: mcl::shrinkSize
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::setArray
    - mcl::gmp::getUnit
    - assert
    linkageType: ''
    returnType: void
    signature: void shrinkSize(mpz_class &x, size_t unitSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getBitSize
      Src: /src/mcl/include/mcl/gmp_util.hpp:966,1
    - Dst: mpz_class
      Src: /src/mcl/include/mcl/gmp_util.hpp:970,1
    - Dst: memset
      Src: /src/mcl/include/mcl/gmp_util.hpp:979,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/include/mcl/gmp_util.hpp:981,1
    - Dst: mpz_class
      Src: /src/mcl/include/mcl/gmp_util.hpp:985,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 987
      start: 963
    functionDepth: 2
    functionLinenumber: 963
    functionLinenumberEnd: 987
    functionName: mcl::init
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 4
    functionsReached:
    - mcl::gmp::getBitSize
    - mcl::gmp::setArray
    - memset
    - mpz_class
    linkageType: ''
    returnType: void
    signature: void init(const mpz_class& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/gmp_util.hpp:994,1
    - Dst: mcl::gmp::mod
      Src: /src/mcl/include/mcl/gmp_util.hpp:998,1
    - Dst: mcl::gmp::mod
      Src: /src/mcl/include/mcl/gmp_util.hpp:1007,1
    - Dst: mcl::shrinkSize
      Src: /src/mcl/include/mcl/gmp_util.hpp:1016,1
    - Dst: mcl::shrinkSize
      Src: /src/mcl/include/mcl/gmp_util.hpp:1018,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - ' r'
    - ' t'
    argTypes:
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 1026
      start: 988
    functionDepth: 3
    functionLinenumber: 988
    functionLinenumberEnd: 1026
    functionName: mcl::modp
    functionSourceFile: /src/mcl/include/mcl/gmp_util.hpp
    functionUses: 2
    functionsReached:
    - mcl::shrinkSize
    - assert
    - mcl::gmp::mod
    linkageType: ''
    returnType: void
    signature: void modp(mpz_class& r, const mpz_class& t) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/include/mcl/ecparam.hpp:183,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/ecparam.hpp:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 187
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 187
    functionName: mcl::getEcParam
    functionSourceFile: /src/mcl/include/mcl/ecparam.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - CYBOZU_NUM_OF_ARRAY
    linkageType: ''
    returnType: mcl::EcParam
    signature: mcl::EcParam * getEcParam(const std::string& name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - curve
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: mcl::getEcParam
    functionSourceFile: /src/mcl/include/mcl/ecparam.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: mcl::EcParam
    signature: mcl::EcParam * getEcParam(int curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: mcl::ecdsa::local::getParam
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Param
    signature: Param & getParam()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBlock
      Src: /src/mcl/include/mcl/ecdsa.hpp:54,1
    - Dst: setArrayMod
      Src: /src/mcl/include/mcl/ecdsa.hpp:56,1
    - Dst: assert
      Src: /src/mcl/include/mcl/ecdsa.hpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Zn
    - Fp
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: mcl::ecdsa::local::FpToZn
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - getBlock
    - assert
    - setArrayMod
    linkageType: ''
    returnType: void
    signature: void FpToZn(Zn& y, const Fp& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::sha256
      Src: /src/mcl/include/mcl/ecdsa.hpp:65,1
    - Dst: setBigEndianMod
      Src: /src/mcl/include/mcl/ecdsa.hpp:67,1
    - Dst: assert
      Src: /src/mcl/include/mcl/ecdsa.hpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' x'
    - msg
    - msgSize
    argTypes:
    - Zn
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: mcl::ecdsa::local::setHashOf
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::sha256
    - assert
    - setBigEndianMod
    linkageType: ''
    returnType: void
    signature: void setHashOf(Zn& x, const void *msg, size_t msgSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::readSome
      Src: /src/mcl/include/mcl/ecdsa.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' v'
    - ' is'
    argTypes:
    - uint8_t
    - InputStream
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: mcl::ecdsa::local::readByte
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - cybozu::readSome
    linkageType: ''
    returnType: bool
    signature: bool readByte(uint8_t& v, InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ecdsa::local::readByte
      Src: /src/mcl/include/mcl/ecdsa.hpp:87,1
    - Dst: mcl::ecdsa::local::readByte
      Src: /src/mcl/include/mcl/ecdsa.hpp:88,1
    - Dst: cybozu::readSome
      Src: /src/mcl/include/mcl/ecdsa.hpp:91,1
    - Dst: mcl::fp::local::byteSwap
      Src: /src/mcl/include/mcl/ecdsa.hpp:98,1
    - Dst: setArray
      Src: /src/mcl/include/mcl/ecdsa.hpp:99,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - ' x'
    - ' is'
    argTypes:
    - Zn
    - InputStream
    constantsTouched: []
    func_position:
      end: 102
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 102
    functionName: mcl::ecdsa::local::loadBigEndian
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - setArray
    - mcl::fp::local::byteSwap
    - cybozu::readSome
    - mcl::ecdsa::local::readByte
    linkageType: ''
    returnType: size_t
    signature: size_t loadBigEndian(Zn& x, InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::local::byteSwap
      Src: /src/mcl/include/mcl/ecdsa.hpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - bufSize
    - ' x'
    argTypes:
    - uint8_t*
    - size_t
    - Zn
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: mcl::ecdsa::local::getBigEndian
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::local::byteSwap
    linkageType: ''
    returnType: size_t
    signature: size_t getBigEndian(uint8_t *buf, size_t bufSize, const Zn& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ecdsa::local::getParam
      Src: /src/mcl/include/mcl/ecdsa.hpp:118,1
    - Dst: mcl::initCurve<Ec>
      Src: /src/mcl/include/mcl/ecdsa.hpp:119,1
    - Dst: Pbase::init
      Src: /src/mcl/include/mcl/ecdsa.hpp:122,1
    - Dst: mcl::EcT::setOrder
      Src: /src/mcl/include/mcl/ecdsa.hpp:124,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/include/mcl/ecdsa.hpp:124,1
    - Dst: mclBn_setETHserialization
      Src: /src/mcl/include/mcl/ecdsa.hpp:125,1
    - Dst: mclBn_setETHserialization
      Src: /src/mcl/include/mcl/ecdsa.hpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pb
    argTypes:
    - bool*
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: mcl::ecdsa::init
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::setOrder
    - mcl::ecdsa::local::getParam
    - mcl::initCurve<Ec>
    - mclBn_setETHserialization
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - Pbase::init
    linkageType: ''
    returnType: void
    signature: void init(bool *pb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ecdsa::local::getParam
      Src: /src/mcl/include/mcl/ecdsa.hpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: mcl::ecdsa::setSeriailzeMode
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - mcl::ecdsa::local::getParam
    linkageType: ''
    returnType: int
    signature: int setSeriailzeMode(int mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ecdsa::init
      Src: /src/mcl/include/mcl/ecdsa.hpp:141,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/ecdsa.hpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: mcl::ecdsa::init
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::ecdsa::init
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ecdsa::load
      Src: /src/mcl/include/mcl/ecdsa.hpp:152,1
    - Dst: mcl::ecdsa::load
      Src: /src/mcl/include/mcl/ecdsa.hpp:153,1
    - Dst: isValid
      Src: /src/mcl/include/mcl/ecdsa.hpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pb
    - ' is'
    argTypes:
    - bool*
    - InputStream
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: mcl::ecdsa::loadUncompressed
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - mcl::ecdsa::load
    - isValid
    linkageType: ''
    returnType: void
    signature: void loadUncompressed(bool *pb, InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ec::normalize
      Src: /src/mcl/include/mcl/ecdsa.hpp:161,1
    - Dst: Ec::x::save
      Src: /src/mcl/include/mcl/ecdsa.hpp:162,1
    - Dst: Ec::y::save
      Src: /src/mcl/include/mcl/ecdsa.hpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pb
    - ' os'
    argTypes:
    - bool*
    - OutputStream
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 4
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: mcl::ecdsa::saveUncompressed
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - Ec::normalize
    - Ec::x::save
    - Ec::y::save
    linkageType: ''
    returnType: void
    signature: void saveUncompressed(bool *pb, OutputStream& os) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ecdsa::load
      Src: /src/mcl/include/mcl/ecdsa.hpp:171,1
    - Dst: mcl::EcT::getYfromX
      Src: /src/mcl/include/mcl/ecdsa.hpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pb
    - ' is'
    - header
    argTypes:
    - bool*
    - InputStream
    - uint8_t
    constantsTouched: []
    func_position:
      end: 178
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 178
    functionName: mcl::ecdsa::loadCompressed
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - mcl::ecdsa::load
    - mcl::EcT::getYfromX
    linkageType: ''
    returnType: void
    signature: void loadCompressed(bool *pb, InputStream& is, uint8_t header)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ecdsa::loadUncompressed
      Src: /src/mcl/include/mcl/ecdsa.hpp:185,1
    - Dst: mcl::ecdsa::local::readByte
      Src: /src/mcl/include/mcl/ecdsa.hpp:191,1
    - Dst: mcl::ecdsa::loadUncompressed
      Src: /src/mcl/include/mcl/ecdsa.hpp:195,1
    - Dst: mcl::ecdsa::loadCompressed
      Src: /src/mcl/include/mcl/ecdsa.hpp:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - pb
    - ' is'
    argTypes:
    - bool*
    - InputStream
    constantsTouched: []
    func_position:
      end: 208
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 208
    functionName: mcl::ecdsa::load
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 2
    functionsReached:
    - mcl::ecdsa::loadUncompressed
    - mcl::ecdsa::loadCompressed
    - mcl::ecdsa::local::readByte
    linkageType: ''
    returnType: void
    signature: void load(bool *pb, InputStream& is, int = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ecdsa::saveUncompressed
      Src: /src/mcl/include/mcl/ecdsa.hpp:214,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/ecdsa.hpp:218,1
    - Dst: mcl::ecdsa::saveUncompressed
      Src: /src/mcl/include/mcl/ecdsa.hpp:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pb
    - ' os'
    argTypes:
    - bool*
    - OutputStream
    constantsTouched: []
    func_position:
      end: 223
      start: 210
    functionDepth: 5
    functionLinenumber: 210
    functionLinenumberEnd: 223
    functionName: mcl::ecdsa::save
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - cybozu::writeChar
    - mcl::ecdsa::saveUncompressed
    linkageType: ''
    returnType: void
    signature: void save(bool *pb, OutputStream& os, int = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isZero
      Src: /src/mcl/include/mcl/ecdsa.hpp:227,1
    - Dst: Ec::normalize
      Src: /src/mcl/include/mcl/ecdsa.hpp:232,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/ecdsa.hpp:234,1
    - Dst: mcl::ecdsa::save
      Src: /src/mcl/include/mcl/ecdsa.hpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pb
    - ' os'
    argTypes:
    - bool*
    - OutputStream
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 6
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: mcl::ecdsa::saveCompressed
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - Ec::normalize
    - cybozu::writeChar
    - isZero
    - mcl::ecdsa::save
    linkageType: ''
    returnType: void
    signature: void saveCompressed(bool *pb, OutputStream& os) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ecdsa::saveCompressed
      Src: /src/mcl/include/mcl/ecdsa.hpp:243,1
    - Dst: cybozu::MemoryOutputStream::getPos
      Src: /src/mcl/include/mcl/ecdsa.hpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - maxBufSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 7
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: mcl::ecdsa::serializeCompressed
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - cybozu::MemoryOutputStream::getPos
    - mcl::ecdsa::saveCompressed
    linkageType: ''
    returnType: size_t
    signature: size_t serializeCompressed(void *buf, size_t maxBufSize, int = IoSerialize)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ecdsa::init
      Src: /src/mcl/include/mcl/ecdsa.hpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pb
    - ' pub'
    argTypes:
    - bool*
    - PublicKey
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: mcl::ecdsa::init
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 2
    functionsReached:
    - mcl::ecdsa::init
    linkageType: ''
    returnType: void
    signature: void init(bool *pb, const PublicKey& pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ecdsa::init
      Src: /src/mcl/include/mcl/ecdsa.hpp:258,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/ecdsa.hpp:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' pub'
    argTypes:
    - PublicKey
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: mcl::ecdsa::init
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 3
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::ecdsa::init
    linkageType: ''
    returnType: void
    signature: void init(const PublicKey& pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ecdsa.hpp:266,1
    - Dst: normalize
      Src: /src/mcl/include/mcl/ecdsa.hpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' pub'
    - ' sec'
    argTypes:
    - PublicKey
    - SecretKey
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 4
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: mcl::ecdsa::getPublicKey
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - normalize
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void getPublicKey(PublicKey& pub, const SecretKey& sec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/ecdsa.hpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - v
    argTypes:
    - OutputStream
    - uint8_t
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: mcl::ecdsa::writeByte
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - cybozu::writeChar
    linkageType: ''
    returnType: bool
    signature: bool writeByte(OutputStream& os, uint8_t v) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ecdsa::load
      Src: /src/mcl/include/mcl/ecdsa.hpp:288,1
    - Dst: mcl::ecdsa::load
      Src: /src/mcl/include/mcl/ecdsa.hpp:289,1
    - Dst: mcl::ecdsa::local::readByte
      Src: /src/mcl/include/mcl/ecdsa.hpp:297,1
    - Dst: mcl::ecdsa::local::readByte
      Src: /src/mcl/include/mcl/ecdsa.hpp:298,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pb
    - ' is'
    argTypes:
    - bool*
    - InputStream
    constantsTouched: []
    func_position:
      end: 308
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 308
    functionName: mcl::ecdsa::load
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 3
    functionsReached:
    - mcl::ecdsa::load
    - mcl::ecdsa::local::readByte
    linkageType: ''
    returnType: void
    signature: void load(bool *pb, InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ecdsa::save
      Src: /src/mcl/include/mcl/ecdsa.hpp:316,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/ecdsa.hpp:318,1
    - Dst: mcl::ecdsa::save
      Src: /src/mcl/include/mcl/ecdsa.hpp:321,1
    - Dst: mcl::ecdsa::local::getBigEndian
      Src: /src/mcl/include/mcl/ecdsa.hpp:332,1
    - Dst: mcl::ecdsa::local::getBigEndian
      Src: /src/mcl/include/mcl/ecdsa.hpp:334,1
    - Dst: mcl::ecdsa::writeByte
      Src: /src/mcl/include/mcl/ecdsa.hpp:339,1
    - Dst: mcl::ecdsa::writeByte
      Src: /src/mcl/include/mcl/ecdsa.hpp:340,1
    - Dst: mcl::ecdsa::writeByte
      Src: /src/mcl/include/mcl/ecdsa.hpp:341,1
    - Dst: mcl::ecdsa::writeByte
      Src: /src/mcl/include/mcl/ecdsa.hpp:342,1
    - Dst: mcl::ecdsa::writeByte
      Src: /src/mcl/include/mcl/ecdsa.hpp:343,1
    - Dst: cybozu::write
      Src: /src/mcl/include/mcl/ecdsa.hpp:344,1
    - Dst: mcl::ecdsa::writeByte
      Src: /src/mcl/include/mcl/ecdsa.hpp:345,1
    - Dst: mcl::ecdsa::writeByte
      Src: /src/mcl/include/mcl/ecdsa.hpp:346,1
    - Dst: mcl::ecdsa::writeByte
      Src: /src/mcl/include/mcl/ecdsa.hpp:347,1
    - Dst: cybozu::write
      Src: /src/mcl/include/mcl/ecdsa.hpp:348,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 2
    argNames:
    - pb
    - ' os'
    argTypes:
    - bool*
    - OutputStream
    constantsTouched: []
    func_position:
      end: 352
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 352
    functionName: mcl::ecdsa::save
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 2
    functionsReached:
    - mcl::ecdsa::local::getBigEndian
    - mcl::ecdsa::writeByte
    - cybozu::write
    - cybozu::writeChar
    - mcl::ecdsa::save
    linkageType: ''
    returnType: void
    signature: void save(bool *pb, OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ecdsa::load
      Src: /src/mcl/include/mcl/ecdsa.hpp:358,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/ecdsa.hpp:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: mcl::ecdsa::load
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 4
    functionsReached:
    - mcl::ecdsa::load
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ecdsa::save
      Src: /src/mcl/include/mcl/ecdsa.hpp:365,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/ecdsa.hpp:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: mcl::ecdsa::save
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 3
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::ecdsa::save
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/include/mcl/ecdsa.hpp:372,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/ecdsa.hpp:372,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/ecdsa.hpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - Signature
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: '& operator>>(std::istream& is, Signature& self)'
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - load
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, Signature& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/ecdsa.hpp:377,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/ecdsa.hpp:377,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/ecdsa.hpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - Signature
    constantsTouched: []
    func_position:
      end: 379
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 379
    functionName: '& operator<<(std::ostream& os, const Signature& self)'
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - save
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Signature& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: s::isNegative
      Src: /src/mcl/include/mcl/ecdsa.hpp:386,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/ecdsa.hpp:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' sig'
    argTypes:
    - Signature
    constantsTouched: []
    func_position:
      end: 389
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 389
    functionName: mcl::ecdsa::normalizeSignature
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - s::isNegative
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void normalizeSignature(Signature& sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ecdsa::local::setHashOf
      Src: /src/mcl/include/mcl/ecdsa.hpp:396,1
    - Dst: setByCSPRNG
      Src: /src/mcl/include/mcl/ecdsa.hpp:400,1
    - Dst: Pbase::mul
      Src: /src/mcl/include/mcl/ecdsa.hpp:402,1
    - Dst: Ec::isZero
      Src: /src/mcl/include/mcl/ecdsa.hpp:403,1
    - Dst: Ec::normalize
      Src: /src/mcl/include/mcl/ecdsa.hpp:404,1
    - Dst: mcl::ecdsa::local::FpToZn
      Src: /src/mcl/include/mcl/ecdsa.hpp:405,1
    - Dst: isZero
      Src: /src/mcl/include/mcl/ecdsa.hpp:406,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ecdsa.hpp:407,1
    - Dst: isZero
      Src: /src/mcl/include/mcl/ecdsa.hpp:409,1
    - Dst: mcl::ecdsa::normalizeSignature
      Src: /src/mcl/include/mcl/ecdsa.hpp:411,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - ' sig'
    - ' sec'
    - msg
    - msgSize
    argTypes:
    - Signature
    - SecretKey
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 414
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 414
    functionName: mcl::ecdsa::sign
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - isZero
    - setByCSPRNG
    - mcl::ecdsa::local::setHashOf
    - mcl::ecdsa::local::FpToZn
    - Ec::isZero
    - Pbase::mul
    - fiat_bls12_381_fp_mul
    - Ec::normalize
    - mcl::ecdsa::normalizeSignature
    linkageType: ''
    returnType: void
    signature: void sign(Signature& sig, const SecretKey& sec, const void *msg, size_t
      msgSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ecdsa.hpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' Q'
    - ' pub'
    - ' y'
    argTypes:
    - Ec
    - PublicKey
    - Zn
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: mcl::ecdsa::local::mulDispatch
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mulDispatch(Ec& Q, const PublicKey& pub, const Zn& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pubBase_::mul
      Src: /src/mcl/include/mcl/ecdsa.hpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' Q'
    - ' ppub'
    - ' y'
    argTypes:
    - Ec
    - PrecomputedPublicKey
    - Zn
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 426
    functionName: mcl::ecdsa::local::mulDispatch
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - pubBase_::mul
    linkageType: ''
    returnType: void
    signature: void mulDispatch(Ec& Q, const PrecomputedPublicKey& ppub, const Zn&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isZero
      Src: /src/mcl/include/mcl/ecdsa.hpp:434,1
    - Dst: isZero
      Src: /src/mcl/include/mcl/ecdsa.hpp:434,1
    - Dst: isNegative
      Src: /src/mcl/include/mcl/ecdsa.hpp:435,1
    - Dst: mcl::ecdsa::local::setHashOf
      Src: /src/mcl/include/mcl/ecdsa.hpp:437,1
    - Dst: get_da_inv
      Src: /src/mcl/include/mcl/ecdsa.hpp:438,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ecdsa.hpp:439,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ecdsa.hpp:440,1
    - Dst: Pbase::mul
      Src: /src/mcl/include/mcl/ecdsa.hpp:442,1
    - Dst: mcl::ecdsa::local::mulDispatch
      Src: /src/mcl/include/mcl/ecdsa.hpp:444,1
    - Dst: Ec::isZero
      Src: /src/mcl/include/mcl/ecdsa.hpp:446,1
    - Dst: Ec::normalize
      Src: /src/mcl/include/mcl/ecdsa.hpp:447,1
    - Dst: mcl::ecdsa::local::FpToZn
      Src: /src/mcl/include/mcl/ecdsa.hpp:449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ' sig'
    - ' pub'
    - msg
    - msgSize
    argTypes:
    - Signature
    - Pub
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 451
      start: 430
    functionDepth: 4
    functionLinenumber: 430
    functionLinenumberEnd: 451
    functionName: mcl::ecdsa::local::verify
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - isZero
    - get_da_inv
    - mcl::ecdsa::local::setHashOf
    - mcl::ecdsa::local::FpToZn
    - mcl::ecdsa::local::mulDispatch
    - Ec::isZero
    - fiat_bls12_381_fp_mul
    - Pbase::mul
    - Ec::normalize
    - isNegative
    linkageType: ''
    returnType: bool
    signature: bool verify(const Signature& sig, const Pub& pub, const void *msg,
      size_t msgSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ecdsa::local::verify
      Src: /src/mcl/include/mcl/ecdsa.hpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' sig'
    - ' pub'
    - msg
    - msgSize
    argTypes:
    - Signature
    - PublicKey
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: mcl::ecdsa::verify
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - mcl::ecdsa::local::verify
    linkageType: ''
    returnType: bool
    signature: bool verify(const Signature& sig, const PublicKey& pub, const void
      *msg, size_t msgSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ecdsa::local::verify
      Src: /src/mcl/include/mcl/ecdsa.hpp:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' sig'
    - ' ppub'
    - msg
    - msgSize
    argTypes:
    - Signature
    - PrecomputedPublicKey
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 463
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 463
    functionName: mcl::ecdsa::verify
    functionSourceFile: /src/mcl/include/mcl/ecdsa.hpp
    functionUses: 0
    functionsReached:
    - mcl::ecdsa::local::verify
    linkageType: ''
    returnType: bool
    signature: bool verify(const Signature& sig, const PrecomputedPublicKey& ppub,
      const void *msg, size_t msgSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/mcl/include/mcl/ec.hpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - ' Q'
    - tbl
    - ' naf'
    - i
    argTypes:
    - Ec
    - Ec*
    - Vec
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: mcl::ec::local::addTbl
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void addTbl(Ec& Q, const Ec *tbl, const Vec& naf, size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isNegative
      Src: /src/mcl/include/mcl/ec.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Fp
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: mcl::ec::local::get_a_flag
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - isNegative
    linkageType: ''
    returnType: bool
    signature: bool get_a_flag(const Fp& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::local::get_a_flag
      Src: /src/mcl/include/mcl/ec.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - _Fp2
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: mcl::ec::local::get_a_flag
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 1
    functionsReached:
    - mcl::ec::local::get_a_flag
    linkageType: ''
    returnType: bool
    signature: bool get_a_flag(const _Fp2& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:82,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: mcl::ec::local::mul3
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void mul3(F& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:89,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: mcl::ec::local::mul4
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void mul4(F& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:97,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:98,1
    - Dst: mcl::ec::local::mul4
      Src: /src/mcl/include/mcl/ec.hpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: mcl::ec::local::mul12
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::ec::local::mul4
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void mul12(F& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - P
    argTypes:
    - E*
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: mcl::ec::local::AsArrayOfFp
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsArrayOfFp(const E* P)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: '& operator[](size_t i) const'
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Fp
    signature: Fp & operator[](size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: operator+=(size_t n)
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator+=(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:117,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:118,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' Q'
    - ' P'
    - ' inv'
    argTypes:
    - E
    - E
    - typename E::Fp
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: mcl::ec::local::_normalizeJacobi
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - Botan::fe_sqr
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void _normalizeJacobi(E& Q, const E& P, typename E::Fp& inv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:128,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' Q'
    - ' P'
    - ' inv'
    argTypes:
    - E
    - E
    - typename E::Fp
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: mcl::ec::local::_normalizeProj
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void _normalizeProj(E& Q, const E& P, typename E::Fp& inv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::local::_normalizeJacobi
      Src: /src/mcl/include/mcl/ec.hpp:138,1
    - Dst: mcl::ec::local::_normalizeProj
      Src: /src/mcl/include/mcl/ec.hpp:141,1
    - Dst: assert
      Src: /src/mcl/include/mcl/ec.hpp:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ' Q'
    - ' P'
    - ' inv'
    argTypes:
    - E
    - E
    - typename E::Fp
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: mcl::ec::local::_normalize
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::ec::local::_normalizeJacobi
    - mcl::ec::local::_normalizeProj
    - assert
    linkageType: ''
    returnType: void
    signature: void _normalize(E& Q, const E& P, typename E::Fp& inv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/include/mcl/ec.hpp:157,1
    - Dst: invVecT<F>
      Src: /src/mcl/include/mcl/ec.hpp:162,1
    - Dst: z::isZero
      Src: /src/mcl/include/mcl/ec.hpp:164,1
    - Dst: z::isOne
      Src: /src/mcl/include/mcl/ec.hpp:164,1
    - Dst: mcl::ec::local::_normalize
      Src: /src/mcl/include/mcl/ec.hpp:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - ' Q'
    - ' P'
    - n
    argTypes:
    - Eout
    - Ein
    - size_t
    constantsTouched: []
    func_position:
      end: 175
      start: 155
    functionDepth: 4
    functionLinenumber: 155
    functionLinenumberEnd: 175
    functionName: mcl::ec::local::normalizeVecT
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - z::isOne
    - mcl::ec::local::_normalize
    - CYBOZU_ALLOCA
    - invVecT<F>
    - z::isZero
    linkageType: ''
    returnType: void
    signature: void normalizeVecT(Eout& Q, Ein& P, size_t n, size_t N = 256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:185,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:186,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' Q'
    - ' P'
    argTypes:
    - E
    - E
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: mcl::ec::ProjToJacobi
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 3
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void ProjToJacobi(E& Q, const E& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:197,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:200,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' Q'
    - ' P'
    argTypes:
    - E
    - E
    constantsTouched: []
    func_position:
      end: 202
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 202
    functionName: mcl::ec::JacobiToProj
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 3
    functionsReached:
    - Botan::fe_sqr
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void JacobiToProj(E& Q, const E& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: z::isZero
      Src: /src/mcl/include/mcl/ec.hpp:207,1
    - Dst: z::isOne
      Src: /src/mcl/include/mcl/ec.hpp:207,1
    - Dst: Botan::Classic_McEliece_GF::inv
      Src: /src/mcl/include/mcl/ec.hpp:209,1
    - Dst: mcl::ec::local::_normalizeJacobi
      Src: /src/mcl/include/mcl/ec.hpp:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: mcl::ec::normalizeJacobi
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 2
    functionsReached:
    - Botan::Classic_McEliece_GF::inv
    - z::isOne
    - mcl::ec::local::_normalizeJacobi
    - z::isZero
    linkageType: ''
    returnType: void
    signature: void normalizeJacobi(E& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: local::normalizeVecT<typename E::Fp, E*, const E*, local::AsArrayOfFp<E>
        >
      Src: /src/mcl/include/mcl/ec.hpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - Q
    - P
    - n
    argTypes:
    - E*
    - E*
    - size_t
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: mcl::ec::normalizeVec
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 5
    functionsReached:
    - local::normalizeVecT<typename E::Fp, E*, const E*, local::AsArrayOfFp<E> >
    linkageType: ''
    returnType: void
    signature: void normalizeVec(E *Q, const E *P, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:236,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:237,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:238,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:239,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:241,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ' P1'
    - ' P2'
    argTypes:
    - E
    - E
    constantsTouched: []
    func_position:
      end: 246
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 246
    functionName: mcl::ec::isEqualJacobi
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 1
    functionsReached:
    - Botan::fe_sqr
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: bool
    signature: bool isEqualJacobi(const E& P1, const E& P2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:260,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:261,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:262,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:263,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:265,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:266,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/ec.hpp:270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - ' P1'
    - ' P2'
    argTypes:
    - E
    - E
    constantsTouched: []
    func_position:
      end: 273
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 273
    functionName: mcl::ec::isEqualOrMinusJacobi
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group_Data::affine_neg
    - Botan::fe_sqr
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: int
    signature: int isEqualOrMinusJacobi(const E& P1, const E& P2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:281,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:282,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:283,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:284,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:285,1
    - Dst: mcl::ec::local::mul4
      Src: /src/mcl/include/mcl/ec.hpp:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 300
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 300
    functionName: mcl::ec::isValidJacobi
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - Botan::fe_sqr
    - fiat_bls12_381_fp_mul
    - mcl::ec::local::mul4
    linkageType: ''
    returnType: bool
    signature: bool isValidJacobi(const E& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isZero
      Src: /src/mcl/include/mcl/ec.hpp:316,1
    - Dst: clear
      Src: /src/mcl/include/mcl/ec.hpp:317,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:322,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:323,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:325,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:327,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:329,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:330,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:331,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/include/mcl/ec.hpp:338,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:345,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:346,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/include/mcl/ec.hpp:349,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:357,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:358,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/include/mcl/ec.hpp:362,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:366,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:372,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/include/mcl/ec.hpp:374,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:375,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/include/mcl/ec.hpp:377,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/include/mcl/ec.hpp:378,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/mcl/include/mcl/ec.hpp:379,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 64
    argCount: 2
    argNames:
    - ' R'
    - ' P'
    argTypes:
    - E
    - E
    constantsTouched: []
    func_position:
      end: 381
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 381
    functionName: mcl::ec::dblJacobi
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - Botan::fe_sqr
    - isZero
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_add
    - clear
    - fiat_bls12_381_fp_mul
    - Botan::PCurve::GenericField::mul2
    linkageType: ''
    returnType: void
    signature: void dblJacobi(E& R, const E& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isZero
      Src: /src/mcl/include/mcl/ec.hpp:392,1
    - Dst: isZero
      Src: /src/mcl/include/mcl/ec.hpp:393,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:400,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:407,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:412,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:413,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:417,1
    - Dst: isZero
      Src: /src/mcl/include/mcl/ec.hpp:430,1
    - Dst: F::isZero
      Src: /src/mcl/include/mcl/ec.hpp:431,1
    - Dst: mcl::ec::dblJacobi
      Src: /src/mcl/include/mcl/ec.hpp:432,1
    - Dst: clear
      Src: /src/mcl/include/mcl/ec.hpp:434,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:442,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:446,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:448,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:452,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:453,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:458,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:462,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 74
    argCount: 3
    argNames:
    - ' R'
    - ' P'
    - ' Q'
    argTypes:
    - E
    - E
    - E
    constantsTouched: []
    func_position:
      end: 463
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 463
    functionName: mcl::ec::addJacobi
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 3
    functionsReached:
    - Botan::fe_sqr
    - isZero
    - mcl::ec::dblJacobi
    - fiat_bls12_381_fp_sub
    - clear
    - fiat_bls12_381_fp_mul
    - F::isZero
    linkageType: ''
    returnType: void
    signature: void addJacobi(E& R, const E& P, const E& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/ec.hpp:478,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:480,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:481,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:485,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:487,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:488,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:489,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:490,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:491,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:492,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:493,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:494,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:495,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:496,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:497,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:498,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:499,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:500,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:501,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:502,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:503,1
    - Dst: mcl::ec::local::mul3
      Src: /src/mcl/include/mcl/ec.hpp:505,1
    - Dst: mcl::ec::local::mul12
      Src: /src/mcl/include/mcl/ec.hpp:508,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:511,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:513,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:514,1
    - Dst: mcl::ec::local::mul3
      Src: /src/mcl/include/mcl/ec.hpp:516,1
    - Dst: mcl::ec::local::mul12
      Src: /src/mcl/include/mcl/ec.hpp:519,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:522,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:524,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:525,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:526,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:527,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:528,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:529,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:530,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:531,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:532,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 53
    argCount: 3
    argNames:
    - ' R'
    - ' P'
    - ' Q'
    argTypes:
    - E
    - E
    - E
    constantsTouched: []
    func_position:
      end: 533
      start: 475
    functionDepth: 4
    functionLinenumber: 475
    functionLinenumberEnd: 533
    functionName: mcl::ec::addCTProj
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 2
    functionsReached:
    - assert
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_add
    - fiat_bls12_381_fp_mul
    - mcl::ec::local::mul12
    - mcl::ec::local::mul3
    linkageType: ''
    returnType: void
    signature: void addCTProj(E& R, const E& P, const E& Q, bool mixed = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/ec.hpp:540,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:542,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:543,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:544,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:545,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:546,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:547,1
    - Dst: mcl::ec::local::mul3
      Src: /src/mcl/include/mcl/ec.hpp:549,1
    - Dst: mcl::ec::local::mul12
      Src: /src/mcl/include/mcl/ec.hpp:552,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:555,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:557,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:558,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:559,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:560,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:561,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:562,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:563,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:564,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:565,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:566,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - ' R'
    - ' P'
    argTypes:
    - E
    - E
    constantsTouched: []
    func_position:
      end: 568
      start: 537
    functionDepth: 4
    functionLinenumber: 537
    functionLinenumberEnd: 568
    functionName: mcl::ec::dblCTProj
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 2
    functionsReached:
    - Botan::fe_sqr
    - assert
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_add
    - fiat_bls12_381_fp_mul
    - mcl::ec::local::mul12
    - mcl::ec::local::mul3
    linkageType: ''
    returnType: void
    signature: void dblCTProj(E& R, const E& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: z::isZero
      Src: /src/mcl/include/mcl/ec.hpp:573,1
    - Dst: z::isOne
      Src: /src/mcl/include/mcl/ec.hpp:573,1
    - Dst: Botan::Classic_McEliece_GF::inv
      Src: /src/mcl/include/mcl/ec.hpp:575,1
    - Dst: mcl::ec::local::_normalizeProj
      Src: /src/mcl/include/mcl/ec.hpp:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 577
      start: 571
    functionDepth: 3
    functionLinenumber: 571
    functionLinenumberEnd: 577
    functionName: mcl::ec::normalizeProj
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 1
    functionsReached:
    - Botan::Classic_McEliece_GF::inv
    - mcl::ec::local::_normalizeProj
    - z::isOne
    - z::isZero
    linkageType: ''
    returnType: void
    signature: void normalizeProj(E& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:585,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:586,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:587,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 595
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 595
    functionName: mcl::ec::isValidProj
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - Botan::fe_sqr
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: bool
    signature: bool isValidProj(const E& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:609,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:610,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:612,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ' P1'
    - ' P2'
    argTypes:
    - E
    - E
    constantsTouched: []
    func_position:
      end: 615
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 615
    functionName: mcl::ec::isEqualProj
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: bool
    signature: bool isEqualProj(const E& P1, const E& P2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:629,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:630,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:632,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:633,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/ec.hpp:635,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - ' P1'
    - ' P2'
    argTypes:
    - E
    - E
    constantsTouched: []
    func_position:
      end: 638
      start: 619
    functionDepth: 2
    functionLinenumber: 619
    functionLinenumberEnd: 638
    functionName: mcl::ec::isEqualOrMinusProj
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group_Data::affine_neg
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: int
    signature: int isEqualOrMinusProj(const E& P1, const E& P2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isZero
      Src: /src/mcl/include/mcl/ec.hpp:650,1
    - Dst: clear
      Src: /src/mcl/include/mcl/ec.hpp:651,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:658,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:659,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:663,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:667,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:670,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:678,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:681,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:690,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:692,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:696,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:699,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:702,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:705,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:708,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 2
    argNames:
    - ' R'
    - ' P'
    argTypes:
    - E
    - E
    constantsTouched: []
    func_position:
      end: 710
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 710
    functionName: mcl::ec::dblProj
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - Botan::fe_sqr
    - isZero
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_add
    - clear
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void dblProj(E& R, const E& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isZero
      Src: /src/mcl/include/mcl/ec.hpp:721,1
    - Dst: isZero
      Src: /src/mcl/include/mcl/ec.hpp:722,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:730,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:731,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:737,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:738,1
    - Dst: isZero
      Src: /src/mcl/include/mcl/ec.hpp:741,1
    - Dst: mcl::ec::dblProj
      Src: /src/mcl/include/mcl/ec.hpp:743,1
    - Dst: clear
      Src: /src/mcl/include/mcl/ec.hpp:745,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:749,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:750,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:751,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:760,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/ec.hpp:774,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 60
    argCount: 3
    argNames:
    - ' R'
    - ' P'
    - ' Q'
    argTypes:
    - E
    - E
    - E
    constantsTouched: []
    func_position:
      end: 778
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 778
    functionName: mcl::ec::addProj
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - Botan::fe_sqr
    - isZero
    - fiat_bls12_381_fp_sub
    - mcl::ec::dblProj
    - clear
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void addProj(E& R, const E& P, const E& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/ec.hpp:785,1
    - Dst: z::isZero
      Src: /src/mcl/include/mcl/ec.hpp:785,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:787,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 793
      start: 782
    functionDepth: 2
    functionLinenumber: 782
    functionLinenumberEnd: 793
    functionName: mcl::ec::isValidAffine
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - Botan::fe_sqr
    - assert
    - z::isZero
    linkageType: ''
    returnType: bool
    signature: bool isValidAffine(const E& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isZero
      Src: /src/mcl/include/mcl/ec.hpp:800,1
    - Dst: clear
      Src: /src/mcl/include/mcl/ec.hpp:801,1
    - Dst: y::isZero
      Src: /src/mcl/include/mcl/ec.hpp:804,1
    - Dst: clear
      Src: /src/mcl/include/mcl/ec.hpp:805,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:809,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:810,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:813,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:815,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:818,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:819,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - ' R'
    - ' P'
    argTypes:
    - E
    - E
    constantsTouched: []
    func_position:
      end: 824
      start: 797
    functionDepth: 2
    functionLinenumber: 797
    functionLinenumberEnd: 824
    functionName: mcl::ec::dblAffine
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - y::isZero
    - Botan::fe_sqr
    - isZero
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_add
    - clear
    linkageType: ''
    returnType: void
    signature: void dblAffine(E& R, const E& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isZero
      Src: /src/mcl/include/mcl/ec.hpp:830,1
    - Dst: isZero
      Src: /src/mcl/include/mcl/ec.hpp:831,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:833,1
    - Dst: F::isZero
      Src: /src/mcl/include/mcl/ec.hpp:834,1
    - Dst: mcl::ec::dblAffine
      Src: /src/mcl/include/mcl/ec.hpp:836,1
    - Dst: clear
      Src: /src/mcl/include/mcl/ec.hpp:838,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:843,1
    - Dst: Botan::GF2m_Field::gf_div
      Src: /src/mcl/include/mcl/ec.hpp:844,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:847,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:850,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:852,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - ' R'
    - ' P'
    - ' Q'
    argTypes:
    - E
    - E
    - E
    constantsTouched: []
    func_position:
      end: 854
      start: 827
    functionDepth: 3
    functionLinenumber: 827
    functionLinenumberEnd: 854
    functionName: mcl::ec::addAffine
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::ec::dblAffine
    - Botan::fe_sqr
    - isZero
    - fiat_bls12_381_fp_sub
    - clear
    - F::isZero
    - Botan::GF2m_Field::gf_div
    linkageType: ''
    returnType: void
    signature: void addAffine(E& R, const E& P, const E& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::getWeierstrass
      Src: /src/mcl/include/mcl/ec.hpp:863,1
    - Dst: squareRoot
      Src: /src/mcl/include/mcl/ec.hpp:864,1
    - Dst: set
      Src: /src/mcl/include/mcl/ec.hpp:866,1
    - Dst: assert
      Src: /src/mcl/include/mcl/ec.hpp:867,1
    - Dst: F::getFp0
      Src: /src/mcl/include/mcl/ec.hpp:870,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/mcl/include/mcl/ec.hpp:870,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' P'
    - ' t'
    argTypes:
    - E
    - typename E::Fp
    constantsTouched: []
    func_position:
      end: 872
      start: 857
    functionDepth: 3
    functionLinenumber: 857
    functionLinenumberEnd: 872
    functionName: mcl::ec::tryAndIncMapTo
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::getWeierstrass
    - squareRoot
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - assert
    - F::getFp0
    - set
    linkageType: ''
    returnType: void
    signature: void tryAndIncMapTo(E& P, const typename E::Fp& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/include/mcl/ec.hpp:878,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:880,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:883,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:884,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:888,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:889,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:894,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:895,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:896,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:901,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:902,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:903,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:908,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:909,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:910,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:911,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:915,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:916,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:917,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:922,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:923,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:924,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:925,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:930,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:931,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:932,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:933,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:938,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:939,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:940,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:941,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:942,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:947,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:948,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:949,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:950,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:955,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:956,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:957,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:958,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:959,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:965,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:966,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:967,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:968,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:969,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:974,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:975,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:976,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:977,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/ec.hpp:978,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:982,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:983,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:984,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/ec.hpp:985,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/ec.hpp:992,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 113
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - y
    - isNegative
    argTypes:
    - G
    - G
    - Unit
    - bool
    constantsTouched: []
    func_position:
      end: 995
      start: 875
    functionDepth: 2
    functionLinenumber: 875
    functionLinenumberEnd: 995
    functionName: mcl::ec::mulSmallInt
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 3
    functionsReached:
    - Botan::ge_p2_dbl
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_add
    - clear
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: bool
    signature: bool mulSmallInt(G& z, const G& x, Unit y, bool isNegative)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1028
    functionName: mcl::EcT::EcT
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EcT()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::set
      Src: /src/mcl/include/mcl/ec.hpp:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' _x'
    - ' _y'
    argTypes:
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 1032
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1032
    functionName: mcl::EcT::EcT
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::set
    linkageType: ''
    returnType: void
    signature: void EcT(const Fp& _x, const Fp& _y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::isZero
      Src: /src/mcl/include/mcl/ec.hpp:1035,1
    - Dst: isOne
      Src: /src/mcl/include/mcl/ec.hpp:1035,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1036
    functionName: mcl::EcT::isNormalized
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::isZero
    - isOne
    linkageType: ''
    returnType: bool
    signature: bool isNormalized() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::isValidAffine
      Src: /src/mcl/include/mcl/ec.hpp:1040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1038
    functionDepth: 3
    functionLinenumber: 1038
    functionLinenumberEnd: 1041
    functionName: mcl::EcT::isValidAffine
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::ec::isValidAffine
    linkageType: ''
    returnType: bool
    signature: bool isValidAffine() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::normalizeJacobi
      Src: /src/mcl/include/mcl/ec.hpp:1047,1
    - Dst: mcl::ec::normalizeProj
      Src: /src/mcl/include/mcl/ec.hpp:1050,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1043
    functionDepth: 4
    functionLinenumber: 1043
    functionLinenumberEnd: 1053
    functionName: mcl::EcT::normalize
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::ec::normalizeJacobi
    - mcl::ec::normalizeProj
    linkageType: ''
    returnType: void
    signature: void normalize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::normalize
      Src: /src/mcl/include/mcl/ec.hpp:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - EcT
    - EcT
    constantsTouched: []
    func_position:
      end: 1058
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1058
    functionName: mcl::EcT::normalize
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 1
    functionsReached:
    - mcl::EcT::normalize
    linkageType: ''
    returnType: void
    signature: void normalize(EcT& y, const EcT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::normalizeVec
      Src: /src/mcl/include/mcl/ec.hpp:1068,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - y
    - x
    - n
    argTypes:
    - EcT*
    - EcT*
    - size_t
    constantsTouched: []
    func_position:
      end: 1069
      start: 1059
    functionDepth: 1
    functionLinenumber: 1059
    functionLinenumberEnd: 1069
    functionName: mcl::EcT::normalizeVec
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::ec::normalizeVec
    linkageType: ''
    returnType: void
    signature: void normalizeVec(EcT *y, const EcT *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::isZero
      Src: /src/mcl/include/mcl/ec.hpp:1075,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 1099
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1099
    functionName: mcl::EcT::init
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::isZero
    linkageType: ''
    returnType: void
    signature: void init(const Fp& a, const Fp& b, int mode = ec::Jacobi)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1100
    functionName: mcl::EcT::getMode
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getMode()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' order'
    argTypes:
    - mpz_class
    constantsTouched: []
    func_position:
      end: 1114
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1114
    functionName: mcl::EcT::setOrder
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOrder(const mpz_class& order)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: mcl::EcT::setVerifyOrderFunc
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setVerifyOrderFunc(bool f(const EcT&))
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 1122
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1122
    functionName: mcl::EcT::setMulVecGLV
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setMulVecGLV(bool f(EcT& z, const EcT *xVec, const void *yVec,
      size_t yn, bool constTime, size_t b))
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1126
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1126
    functionName: mcl::EcT::setMulVecOpti
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setMulVecOpti(void f(EcT& z, EcT *xVec, const Fr *yVec, size_t
      yn, size_t b))
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1130
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1130
    functionName: mcl::EcT::setMulEachOpti
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setMulEachOpti(void f(EcT *xVec, const Fr *yVec, size_t yn))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/include/mcl/ec.hpp:1133,1
    - Dst: Fp::setStr
      Src: /src/mcl/include/mcl/ec.hpp:1134,1
    - Dst: setStr
      Src: /src/mcl/include/mcl/ec.hpp:1136,1
    - Dst: mcl::EcT::init
      Src: /src/mcl/include/mcl/ec.hpp:1138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pb
    - astr
    - bstr
    argTypes:
    - bool*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1139
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1139
    functionName: mcl::EcT::init
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 1
    functionsReached:
    - Fp::Fp
    - Fp::setStr
    - setStr
    - mcl::EcT::init
    linkageType: ''
    returnType: void
    signature: void init(bool *pb, const char *astr, const char *bstr, int mode =
      ec::Jacobi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isValidOrderFast
      Src: /src/mcl/include/mcl/ec.hpp:1144,1
    - Dst: mcl::EcT::mulGeneric
      Src: /src/mcl/include/mcl/ec.hpp:1147,1
    - Dst: EcT::isZero
      Src: /src/mcl/include/mcl/ec.hpp:1148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1149
    functionName: mcl::EcT::isValidOrder
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - EcT::isZero
    - isValidOrderFast
    - mcl::EcT::mulGeneric
    linkageType: ''
    returnType: bool
    signature: bool isValidOrder() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::isValidJacobi
      Src: /src/mcl/include/mcl/ec.hpp:1154,1
    - Dst: mcl::ec::isValidProj
      Src: /src/mcl/include/mcl/ec.hpp:1157,1
    - Dst: mcl::EcT::isZero
      Src: /src/mcl/include/mcl/ec.hpp:1160,1
    - Dst: mcl::EcT::isValidAffine
      Src: /src/mcl/include/mcl/ec.hpp:1161,1
    - Dst: mcl::EcT::isValidOrder
      Src: /src/mcl/include/mcl/ec.hpp:1164,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1150
    functionDepth: 4
    functionLinenumber: 1150
    functionLinenumberEnd: 1166
    functionName: mcl::EcT::isValid
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::ec::isValidProj
    - mcl::EcT::isValidAffine
    - mcl::EcT::isValidOrder
    - mcl::ec::isValidJacobi
    - mcl::EcT::isZero
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::isValidAffine
      Src: /src/mcl/include/mcl/ec.hpp:1172,1
    - Dst: mcl::EcT::isValidOrder
      Src: /src/mcl/include/mcl/ec.hpp:1172,1
    - Dst: mcl::EcT::clear
      Src: /src/mcl/include/mcl/ec.hpp:1177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - pb
    - ' x'
    - ' y'
    argTypes:
    - bool*
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 1178
      start: 1167
    functionDepth: 4
    functionLinenumber: 1167
    functionLinenumberEnd: 1178
    functionName: mcl::EcT::set
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 1
    functionsReached:
    - mcl::EcT::isValidOrder
    - mcl::EcT::clear
    - mcl::EcT::isValidAffine
    linkageType: ''
    returnType: void
    signature: void set(bool *pb, const Fp& x, const Fp& y, bool verify = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::clear
      Src: /src/mcl/include/mcl/ec.hpp:1184,1
    - Dst: mcl::EcT::clear
      Src: /src/mcl/include/mcl/ec.hpp:1186,1
    - Dst: mcl::EcT::clear
      Src: /src/mcl/include/mcl/ec.hpp:1188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1190
    functionName: mcl::EcT::clear
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 2
    functionsReached:
    - mcl::EcT::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::clear
      Src: /src/mcl/include/mcl/ec.hpp:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - EcT
    constantsTouched: []
    func_position:
      end: 1194
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1194
    functionName: mcl::EcT::clear
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 3
    functionsReached:
    - mcl::EcT::clear
    linkageType: ''
    returnType: void
    signature: void clear(EcT& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::dblJacobi
      Src: /src/mcl/include/mcl/ec.hpp:1199,1
    - Dst: mcl::ec::dblProj
      Src: /src/mcl/include/mcl/ec.hpp:1202,1
    - Dst: mcl::ec::dblAffine
      Src: /src/mcl/include/mcl/ec.hpp:1205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' R'
    - ' P'
    argTypes:
    - EcT
    - EcT
    constantsTouched: []
    func_position:
      end: 1208
      start: 1195
    functionDepth: 3
    functionLinenumber: 1195
    functionLinenumberEnd: 1208
    functionName: mcl::EcT::dbl
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::ec::dblAffine
    - mcl::ec::dblJacobi
    - mcl::ec::dblProj
    linkageType: ''
    returnType: void
    signature: void dbl(EcT& R, const EcT& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::addJacobi
      Src: /src/mcl/include/mcl/ec.hpp:1213,1
    - Dst: mcl::ec::addProj
      Src: /src/mcl/include/mcl/ec.hpp:1216,1
    - Dst: mcl::ec::addAffine
      Src: /src/mcl/include/mcl/ec.hpp:1219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ' R'
    - ' P'
    - ' Q'
    argTypes:
    - EcT
    - EcT
    - EcT
    constantsTouched: []
    func_position:
      end: 1222
      start: 1209
    functionDepth: 4
    functionLinenumber: 1209
    functionLinenumberEnd: 1222
    functionName: mcl::EcT::add
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::ec::addProj
    - mcl::ec::addAffine
    - mcl::ec::addJacobi
    linkageType: ''
    returnType: void
    signature: void add(EcT& R, const EcT& P, const EcT& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::neg
      Src: /src/mcl/include/mcl/ec.hpp:1226,1
    - Dst: mcl::EcT::add
      Src: /src/mcl/include/mcl/ec.hpp:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' R'
    - ' P'
    - ' Q'
    argTypes:
    - EcT
    - EcT
    - EcT
    constantsTouched: []
    func_position:
      end: 1228
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1228
    functionName: mcl::EcT::sub
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::neg
    - mcl::EcT::add
    linkageType: ''
    returnType: void
    signature: void sub(EcT& R, const EcT& P, const EcT& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::isZero
      Src: /src/mcl/include/mcl/ec.hpp:1231,1
    - Dst: mcl::EcT::clear
      Src: /src/mcl/include/mcl/ec.hpp:1232,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/ec.hpp:1236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' R'
    - ' P'
    argTypes:
    - EcT
    - EcT
    constantsTouched: []
    func_position:
      end: 1238
      start: 1229
    functionDepth: 1
    functionLinenumber: 1229
    functionLinenumberEnd: 1238
    functionName: mcl::EcT::neg
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 1
    functionsReached:
    - mcl::EcT::isZero
    - mcl::EcT::clear
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void neg(EcT& R, const EcT& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulVecGLV
      Src: /src/mcl/include/mcl/ec.hpp:1242,1
    - Dst: getBlock
      Src: /src/mcl/include/mcl/ec.hpp:1246,1
    - Dst: mcl::EcT::mulArray
      Src: /src/mcl/include/mcl/ec.hpp:1247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - EcT
    - EcT
    - Fr
    constantsTouched: []
    func_position:
      end: 1248
      start: 1239
    functionDepth: 1
    functionLinenumber: 1239
    functionLinenumberEnd: 1248
    functionName: mcl::EcT::mul
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - getBlock
    - mcl::EcT::mulArray
    - mulVecGLV
    linkageType: ''
    returnType: void
    signature: void mul(EcT& z, const EcT& x, const Fr& y, bool constTime = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::mulArray
      Src: /src/mcl/include/mcl/ec.hpp:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - EcT
    - EcT
    - int64_t
    constantsTouched: []
    func_position:
      end: 1260
      start: 1249
    functionDepth: 1
    functionLinenumber: 1249
    functionLinenumberEnd: 1260
    functionName: mcl::EcT::mul
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::mulArray
    linkageType: ''
    returnType: void
    signature: void mul(EcT& z, const EcT& x, int64_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::mulArray
      Src: /src/mcl/include/mcl/ec.hpp:1263,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/include/mcl/ec.hpp:1263,1
    - Dst: mcl::gmp::getUnitSize
      Src: /src/mcl/include/mcl/ec.hpp:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - EcT
    - EcT
    - mpz_class
    constantsTouched: []
    func_position:
      end: 1264
      start: 1261
    functionDepth: 2
    functionLinenumber: 1261
    functionLinenumberEnd: 1264
    functionName: mcl::EcT::mul
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::mulArray
    - mcl::gmp::getUnitSize
    - mcl::gmp::getUnit
    linkageType: ''
    returnType: void
    signature: void mul(EcT& z, const EcT& x, const mpz_class& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::mul
      Src: /src/mcl/include/mcl/ec.hpp:1268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - EcT
    - EcT
    - Fr
    constantsTouched: []
    func_position:
      end: 1269
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1269
    functionName: mcl::EcT::mulCT
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::mul
    linkageType: ''
    returnType: void
    signature: void mulCT(EcT& z, const EcT& x, const Fr& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::mulArray
      Src: /src/mcl/include/mcl/ec.hpp:1272,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/include/mcl/ec.hpp:1272,1
    - Dst: mcl::gmp::getUnitSize
      Src: /src/mcl/include/mcl/ec.hpp:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - EcT
    - EcT
    - mpz_class
    constantsTouched: []
    func_position:
      end: 1273
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1273
    functionName: mcl::EcT::mulCT
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::mulArray
    - mcl::gmp::getUnitSize
    - mcl::gmp::getUnit
    linkageType: ''
    returnType: void
    signature: void mulCT(EcT& z, const EcT& x, const mpz_class& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::isZero
      Src: /src/mcl/include/mcl/ec.hpp:1283,1
    - Dst: EcT::normalize
      Src: /src/mcl/include/mcl/ec.hpp:1289,1
    - Dst: mcl::EcT::normalize
      Src: /src/mcl/include/mcl/ec.hpp:1290,1
    - Dst: comp
      Src: /src/mcl/include/mcl/ec.hpp:1294,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - ' P_'
    - ' Q_'
    - comp
    argTypes:
    - EcT
    - EcT
    - F
    constantsTouched: []
    func_position:
      end: 1295
      start: 1280
    functionDepth: 4
    functionLinenumber: 1280
    functionLinenumberEnd: 1295
    functionName: mcl::EcT::compareFunc
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::isZero
    - EcT::normalize
    - mcl::EcT::normalize
    - comp
    linkageType: ''
    returnType: int
    signature: int compareFunc(const EcT& P_, const EcT& Q_, F comp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::compareFunc
      Src: /src/mcl/include/mcl/ec.hpp:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - EcT
    - EcT
    constantsTouched: []
    func_position:
      end: 1299
      start: 1296
    functionDepth: 5
    functionLinenumber: 1296
    functionLinenumberEnd: 1299
    functionName: mcl::EcT::compare
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::compareFunc
    linkageType: ''
    returnType: int
    signature: int compare(const EcT& P, const EcT& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::compareFunc
      Src: /src/mcl/include/mcl/ec.hpp:1302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - EcT
    - EcT
    constantsTouched: []
    func_position:
      end: 1303
      start: 1300
    functionDepth: 5
    functionLinenumber: 1300
    functionLinenumberEnd: 1303
    functionName: mcl::EcT::compareRaw
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::compareFunc
    linkageType: ''
    returnType: int
    signature: int compareRaw(const EcT& P, const EcT& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::isZero
      Src: /src/mcl/include/mcl/ec.hpp:1306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1307
    functionName: mcl::EcT::isZero
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 6
    functionsReached:
    - mcl::EcT::isZero
    linkageType: ''
    returnType: bool
    signature: bool isZero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::isZero
      Src: /src/mcl/include/mcl/ec.hpp:1310,1
    - Dst: mcl::FpT::getBitSize
      Src: /src/mcl/include/mcl/ec.hpp:1310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1308
    functionDepth: 1
    functionLinenumber: 1308
    functionLinenumberEnd: 1311
    functionName: mcl::EcT::isMSBserialize
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::isZero
    - mcl::FpT::getBitSize
    linkageType: ''
    returnType: bool
    signature: bool isMSBserialize()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1318
    functionName: mcl::EcT::getSerializedByteSize
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getSerializedByteSize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/ec.hpp:1324,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/ec.hpp:1326,1
    - Dst: mcl::EcT::save
      Src: /src/mcl/include/mcl/ec.hpp:1329,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/ec.hpp:1331,1
    - Dst: mcl::EcT::save
      Src: /src/mcl/include/mcl/ec.hpp:1334,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/ec.hpp:1336,1
    - Dst: mcl::EcT::save
      Src: /src/mcl/include/mcl/ec.hpp:1339,1
    - Dst: EcT::normalize
      Src: /src/mcl/include/mcl/ec.hpp:1343,1
    - Dst: mcl::EcT::isZero
      Src: /src/mcl/include/mcl/ec.hpp:1349,1
    - Dst: EcT::z::save
      Src: /src/mcl/include/mcl/ec.hpp:1351,1
    - Dst: EcT::z::save
      Src: /src/mcl/include/mcl/ec.hpp:1353,1
    - Dst: EcT::x::save
      Src: /src/mcl/include/mcl/ec.hpp:1356,1
    - Dst: EcT::y::save
      Src: /src/mcl/include/mcl/ec.hpp:1358,1
    - Dst: mclBn_getETHserialization
      Src: /src/mcl/include/mcl/ec.hpp:1365,1
    - Dst: EcT::isZero
      Src: /src/mcl/include/mcl/ec.hpp:1369,1
    - Dst: memset
      Src: /src/mcl/include/mcl/ec.hpp:1371,1
    - Dst: EcT::x::save
      Src: /src/mcl/include/mcl/ec.hpp:1374,1
    - Dst: mcl::ec::local::get_a_flag
      Src: /src/mcl/include/mcl/ec.hpp:1376,1
    - Dst: mcl::EcT::isZero
      Src: /src/mcl/include/mcl/ec.hpp:1389,1
    - Dst: memset
      Src: /src/mcl/include/mcl/ec.hpp:1390,1
    - Dst: EcT::x::save
      Src: /src/mcl/include/mcl/ec.hpp:1393,1
    - Dst: EcT::y::isOdd
      Src: /src/mcl/include/mcl/ec.hpp:1395,1
    - Dst: EcT::y::isOdd
      Src: /src/mcl/include/mcl/ec.hpp:1397,1
    - Dst: mcl::fp::writeHexStr
      Src: /src/mcl/include/mcl/ec.hpp:1404,1
    - Dst: cybozu::write
      Src: /src/mcl/include/mcl/ec.hpp:1406,1
    - Dst: mcl::EcT::isZero
      Src: /src/mcl/include/mcl/ec.hpp:1410,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/ec.hpp:1411,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/ec.hpp:1415,1
    - Dst: EcT::y::isOdd
      Src: /src/mcl/include/mcl/ec.hpp:1415,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/ec.hpp:1418,1
    - Dst: EcT::x::save
      Src: /src/mcl/include/mcl/ec.hpp:1421,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/ec.hpp:1423,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/ec.hpp:1425,1
    - Dst: EcT::x::save
      Src: /src/mcl/include/mcl/ec.hpp:1428,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/ec.hpp:1430,1
    - Dst: EcT::y::save
      Src: /src/mcl/include/mcl/ec.hpp:1433,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 117
    argCount: 3
    argNames:
    - pb
    - ' os'
    - ioMode
    argTypes:
    - bool*
    - OutputStream
    - int
    constantsTouched: []
    func_position:
      end: 1435
      start: 1320
    functionDepth: 4
    functionLinenumber: 1320
    functionLinenumberEnd: 1435
    functionName: mcl::EcT::save
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 1
    functionsReached:
    - EcT::isZero
    - EcT::x::save
    - mcl::EcT::save
    - EcT::y::isOdd
    - mcl::EcT::isZero
    - mcl::fp::writeHexStr
    - EcT::z::save
    - EcT::normalize
    - memset
    - mclBn_getETHserialization
    - cybozu::write
    - cybozu::writeChar
    - mcl::ec::local::get_a_flag
    - EcT::y::save
    linkageType: ''
    returnType: void
    signature: void save(bool *pb, OutputStream& os, int ioMode) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::load
      Src: /src/mcl/include/mcl/ec.hpp:1445,1
    - Dst: mcl::EcT::load
      Src: /src/mcl/include/mcl/ec.hpp:1447,1
    - Dst: mcl::EcT::isZero
      Src: /src/mcl/include/mcl/ec.hpp:1449,1
    - Dst: mcl::EcT::isZero
      Src: /src/mcl/include/mcl/ec.hpp:1449,1
    - Dst: mcl::EcT::clear
      Src: /src/mcl/include/mcl/ec.hpp:1450,1
    - Dst: mcl::fp::readHexStr
      Src: /src/mcl/include/mcl/ec.hpp:1462,1
    - Dst: cybozu::readSome
      Src: /src/mcl/include/mcl/ec.hpp:1464,1
    - Dst: mclBn_getETHserialization
      Src: /src/mcl/include/mcl/ec.hpp:1470,1
    - Dst: mcl::EcT::clear
      Src: /src/mcl/include/mcl/ec.hpp:1483,1
    - Dst: mcl::fp::local::byteSwap
      Src: /src/mcl/include/mcl/ec.hpp:1489,1
    - Dst: setArray
      Src: /src/mcl/include/mcl/ec.hpp:1490,1
    - Dst: mcl::EcT::getWeierstrass
      Src: /src/mcl/include/mcl/ec.hpp:1492,1
    - Dst: squareRoot
      Src: /src/mcl/include/mcl/ec.hpp:1493,1
    - Dst: mcl::ec::local::get_a_flag
      Src: /src/mcl/include/mcl/ec.hpp:1497,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/ec.hpp:1498,1
    - Dst: mcl::bint::isZeroN
      Src: /src/mcl/include/mcl/ec.hpp:1502,1
    - Dst: mcl::EcT::clear
      Src: /src/mcl/include/mcl/ec.hpp:1503,1
    - Dst: setArray
      Src: /src/mcl/include/mcl/ec.hpp:1519,1
    - Dst: mcl::EcT::getYfromX
      Src: /src/mcl/include/mcl/ec.hpp:1521,1
    - Dst: mcl::fp::local::skipSpace
      Src: /src/mcl/include/mcl/ec.hpp:1525,1
    - Dst: mcl::EcT::clear
      Src: /src/mcl/include/mcl/ec.hpp:1530,1
    - Dst: mcl::EcT::load
      Src: /src/mcl/include/mcl/ec.hpp:1534,1
    - Dst: mcl::EcT::load
      Src: /src/mcl/include/mcl/ec.hpp:1536,1
    - Dst: mcl::EcT::getYfromX
      Src: /src/mcl/include/mcl/ec.hpp:1540,1
    - Dst: mcl::EcT::load
      Src: /src/mcl/include/mcl/ec.hpp:1543,1
    - Dst: mcl::EcT::load
      Src: /src/mcl/include/mcl/ec.hpp:1544,1
    - Dst: mcl::EcT::isZero
      Src: /src/mcl/include/mcl/ec.hpp:1546,1
    - Dst: isOne
      Src: /src/mcl/include/mcl/ec.hpp:1546,1
    - Dst: mcl::EcT::isValid
      Src: /src/mcl/include/mcl/ec.hpp:1551,1
    - Dst: mcl::EcT::isValidOrder
      Src: /src/mcl/include/mcl/ec.hpp:1559,1
    - Dst: mcl::EcT::isValidAffine
      Src: /src/mcl/include/mcl/ec.hpp:1566,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 144
    argCount: 3
    argNames:
    - pb
    - ' is'
    - ioMode
    argTypes:
    - bool*
    - InputStream
    - int
    constantsTouched: []
    func_position:
      end: 1571
      start: 1437
    functionDepth: 5
    functionLinenumber: 1437
    functionLinenumberEnd: 1571
    functionName: mcl::EcT::load
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 1
    functionsReached:
    - mclBn_getETHserialization
    - mcl::EcT::isZero
    - isOne
    - mcl::EcT::isValidOrder
    - mcl::fp::readHexStr
    - mcl::ec::local::get_a_flag
    - setArray
    - mcl::EcT::isValidAffine
    - mcl::EcT::load
    - mcl::EcT::getYfromX
    - squareRoot
    - mcl::fp::local::skipSpace
    - cybozu::readSome
    - mcl::bint::isZeroN
    - mcl::fp::local::byteSwap
    - Botan::EC_Group_Data::affine_neg
    - mcl::EcT::isValid
    - mcl::EcT::getWeierstrass
    - mcl::EcT::clear
    linkageType: ''
    returnType: void
    signature: void load(bool *pb, InputStream& is, int ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1580
    functionName: mcl::EcT::setCompressedExpression
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCompressedExpression(bool compressedExpression = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/ec.hpp:1586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ioMode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1588
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1588
    functionName: mcl::EcT::setIoMode
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void setIoMode(int ioMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/ec.hpp:1589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1589
    functionDepth: 1
    functionLinenumber: 1589
    functionLinenumberEnd: 1589
    functionName: mcl::EcT::getIoMode
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::getIoMode
    linkageType: ''
    returnType: int
    signature: int getIoMode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/include/mcl/ec.hpp:1592,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/ec.hpp:1593,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/ec.hpp:1596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' yy'
    - ' x'
    argTypes:
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 1597
      start: 1590
    functionDepth: 2
    functionLinenumber: 1590
    functionLinenumberEnd: 1597
    functionName: mcl::EcT::getWeierstrass
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 3
    functionsReached:
    - Fp::Fp
    - Botan::fe_sqr
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void getWeierstrass(Fp& yy, const Fp& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::getWeierstrass
      Src: /src/mcl/include/mcl/ec.hpp:1600,1
    - Dst: squareRoot
      Src: /src/mcl/include/mcl/ec.hpp:1601,1
    - Dst: isOdd
      Src: /src/mcl/include/mcl/ec.hpp:1604,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/ec.hpp:1605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' y'
    - ' x'
    - isYodd
    argTypes:
    - Fp
    - Fp
    - bool
    constantsTouched: []
    func_position:
      end: 1608
      start: 1598
    functionDepth: 3
    functionLinenumber: 1598
    functionLinenumberEnd: 1608
    functionName: mcl::EcT::getYfromX
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 3
    functionsReached:
    - isOdd
    - mcl::EcT::getWeierstrass
    - Botan::EC_Group_Data::affine_neg
    - squareRoot
    linkageType: ''
    returnType: bool
    signature: bool getYfromX(Fp& y, const Fp& x, bool isYodd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::add
      Src: /src/mcl/include/mcl/ec.hpp:1609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - EcT
    - EcT
    constantsTouched: []
    func_position:
      end: 1609
      start: 1609
    functionDepth: 0
    functionLinenumber: 1609
    functionLinenumberEnd: 1609
    functionName: operator+(const EcT& x, const EcT& y)
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::add
    linkageType: ''
    returnType: friend
    signature: friend operator+(const EcT& x, const EcT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::sub
      Src: /src/mcl/include/mcl/ec.hpp:1610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - EcT
    - EcT
    constantsTouched: []
    func_position:
      end: 1610
      start: 1610
    functionDepth: 0
    functionLinenumber: 1610
    functionLinenumberEnd: 1610
    functionName: operator-(const EcT& x, const EcT& y)
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::sub
    linkageType: ''
    returnType: friend
    signature: friend operator-(const EcT& x, const EcT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::mul
      Src: /src/mcl/include/mcl/ec.hpp:1612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - EcT
    - INT
    constantsTouched: []
    func_position:
      end: 1612
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1612
    functionName: operator*(const EcT& x, const INT& y)
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::mul
    linkageType: ''
    returnType: friend
    signature: friend operator*(const EcT& x, const INT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::add
      Src: /src/mcl/include/mcl/ec.hpp:1613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - EcT
    constantsTouched: []
    func_position:
      end: 1613
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1613
    functionName: '& operator+=(const EcT& x)'
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::add
    linkageType: ''
    returnType: EcT
    signature: EcT & operator+=(const EcT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::sub
      Src: /src/mcl/include/mcl/ec.hpp:1614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - EcT
    constantsTouched: []
    func_position:
      end: 1614
      start: 1614
    functionDepth: 0
    functionLinenumber: 1614
    functionLinenumberEnd: 1614
    functionName: '& operator-=(const EcT& x)'
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::sub
    linkageType: ''
    returnType: EcT
    signature: EcT & operator-=(const EcT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::mul
      Src: /src/mcl/include/mcl/ec.hpp:1616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - INT
    constantsTouched: []
    func_position:
      end: 1616
      start: 1616
    functionDepth: 0
    functionLinenumber: 1616
    functionLinenumberEnd: 1616
    functionName: '& operator*=(const INT& x)'
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::mul
    linkageType: ''
    returnType: EcT
    signature: EcT & operator*=(const INT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::neg
      Src: /src/mcl/include/mcl/ec.hpp:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1617
    functionDepth: 0
    functionLinenumber: 1617
    functionLinenumberEnd: 1617
    functionName: operator-() const
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::neg
    linkageType: ''
    returnType: EcT
    signature: EcT operator-() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::isEqualJacobi
      Src: /src/mcl/include/mcl/ec.hpp:1622,1
    - Dst: mcl::ec::isEqualProj
      Src: /src/mcl/include/mcl/ec.hpp:1624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - EcT
    constantsTouched: []
    func_position:
      end: 1629
      start: 1618
    functionDepth: 3
    functionLinenumber: 1618
    functionLinenumberEnd: 1629
    functionName: operator==(const EcT& rhs) const
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::ec::isEqualProj
    - mcl::ec::isEqualJacobi
    linkageType: ''
    returnType: bool
    signature: bool operator==(const EcT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::isEqualOrMinusJacobi
      Src: /src/mcl/include/mcl/ec.hpp:1635,1
    - Dst: mcl::ec::isEqualOrMinusProj
      Src: /src/mcl/include/mcl/ec.hpp:1637,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - EcT
    constantsTouched: []
    func_position:
      end: 1646
      start: 1631
    functionDepth: 3
    functionLinenumber: 1631
    functionLinenumberEnd: 1646
    functionName: mcl::EcT::isEqualOrMinus
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::ec::isEqualOrMinusJacobi
    - mcl::ec::isEqualOrMinusProj
    linkageType: ''
    returnType: int
    signature: int isEqualOrMinus(const EcT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - EcT
    constantsTouched: []
    func_position:
      end: 1647
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1647
    functionName: operator!=(const EcT& rhs) const
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const EcT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/mcl/include/mcl/ec.hpp:1650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - EcT
    constantsTouched: []
    func_position:
      end: 1651
      start: 1648
    functionDepth: 3
    functionLinenumber: 1648
    functionLinenumberEnd: 1651
    functionName: operator<(const EcT& rhs) const
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool operator<(const EcT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - EcT
    constantsTouched: []
    func_position:
      end: 1652
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1652
    functionName: operator>=(const EcT& rhs) const
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const EcT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - EcT
    constantsTouched: []
    func_position:
      end: 1653
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1653
    functionName: operator>(const EcT& rhs) const
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const EcT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - EcT
    constantsTouched: []
    func_position:
      end: 1654
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1654
    functionName: operator<=(const EcT& rhs) const
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const EcT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::clear
      Src: /src/mcl/include/mcl/ec.hpp:1662,1
    - Dst: mcl::EcT::add
      Src: /src/mcl/include/mcl/ec.hpp:1665,1
    - Dst: mcl::EcT::clear
      Src: /src/mcl/include/mcl/ec.hpp:1667,1
    - Dst: mcl::EcT::dbl
      Src: /src/mcl/include/mcl/ec.hpp:1672,1
    - Dst: mcl::EcT::neg
      Src: /src/mcl/include/mcl/ec.hpp:1678,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - ' z'
    - ' x'
    - y
    - yn
    - isNegative
    argTypes:
    - EcT
    - EcT
    - Unit*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 1680
      start: 1655
    functionDepth: 0
    functionLinenumber: 1655
    functionLinenumberEnd: 1680
    functionName: mcl::EcT::mulArrayCT
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::clear
    - mcl::EcT::neg
    - mcl::EcT::dbl
    - mcl::EcT::add
    linkageType: ''
    returnType: void
    signature: void mulArrayCT(EcT& z, const EcT& x, const Unit *y, size_t yn, bool
      isNegative)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::mulArrayCT
      Src: /src/mcl/include/mcl/ec.hpp:1685,1
    - Dst: mcl::EcT::clear
      Src: /src/mcl/include/mcl/ec.hpp:1689,1
    - Dst: mcl::bint::getRealSize
      Src: /src/mcl/include/mcl/ec.hpp:1692,1
    - Dst: mcl::ec::mulSmallInt
      Src: /src/mcl/include/mcl/ec.hpp:1693,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/include/mcl/ec.hpp:1696,1
    - Dst: assert
      Src: /src/mcl/include/mcl/ec.hpp:1697,1
    - Dst: mcl::gmp::getNAFwidth
      Src: /src/mcl/include/mcl/ec.hpp:1709,1
    - Dst: assert
      Src: /src/mcl/include/mcl/ec.hpp:1710,1
    - Dst: mcl::EcT::dbl
      Src: /src/mcl/include/mcl/ec.hpp:1712,1
    - Dst: mcl::EcT::add
      Src: /src/mcl/include/mcl/ec.hpp:1715,1
    - Dst: mcl::EcT::clear
      Src: /src/mcl/include/mcl/ec.hpp:1717,1
    - Dst: NafArray::size
      Src: /src/mcl/include/mcl/ec.hpp:1718,1
    - Dst: mcl::EcT::dbl
      Src: /src/mcl/include/mcl/ec.hpp:1719,1
    - Dst: mcl::ec::local::addTbl
      Src: /src/mcl/include/mcl/ec.hpp:1720,1
    - Dst: NafArray::size
      Src: /src/mcl/include/mcl/ec.hpp:1720,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - y
    - yn
    argTypes:
    - EcT
    - EcT
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 1722
      start: 1682
    functionDepth: 3
    functionLinenumber: 1682
    functionLinenumberEnd: 1722
    functionName: mcl::EcT::mulArray
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 4
    functionsReached:
    - mcl::ec::mulSmallInt
    - mcl::bint::getRealSize
    - assert
    - mcl::EcT::add
    - mcl::EcT::mulArrayCT
    - mcl::EcT::dbl
    - NafArray::size
    - mcl::gmp::getNAFwidth
    - mcl::ec::local::addTbl
    - mcl::gmp::setArray
    - mcl::EcT::clear
    linkageType: ''
    returnType: void
    signature: void mulArray(EcT& z, const EcT& x, const Unit *y, size_t yn, bool
      isNegative = false, bool constTime = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::mulSmallInt
      Src: /src/mcl/include/mcl/ec.hpp:1725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - y
    - isNegative
    argTypes:
    - EcT
    - EcT
    - Unit
    - bool
    constantsTouched: []
    func_position:
      end: 1726
      start: 1723
    functionDepth: 3
    functionLinenumber: 1723
    functionLinenumberEnd: 1726
    functionName: mcl::EcT::mulSmallInt
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::ec::mulSmallInt
    linkageType: ''
    returnType: bool
    signature: bool mulSmallInt(EcT& z, const EcT& x, Unit y, bool isNegative)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::mulArray
      Src: /src/mcl/include/mcl/ec.hpp:1733,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/include/mcl/ec.hpp:1733,1
    - Dst: mcl::gmp::getUnitSize
      Src: /src/mcl/include/mcl/ec.hpp:1733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - EcT
    - EcT
    - mpz_class
    constantsTouched: []
    func_position:
      end: 1734
      start: 1731
    functionDepth: 4
    functionLinenumber: 1731
    functionLinenumberEnd: 1734
    functionName: mcl::EcT::mulGeneric
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 1
    functionsReached:
    - mcl::EcT::mulArray
    - mcl::gmp::getUnitSize
    - mcl::gmp::getUnit
    linkageType: ''
    returnType: void
    signature: void mulGeneric(EcT& z, const EcT& x, const mpz_class& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getMpz
      Src: /src/mcl/include/mcl/ec.hpp:1754,1
    - Dst: assert
      Src: /src/mcl/include/mcl/ec.hpp:1755,1
    - Dst: mcl::gmp::getNAFwidth
      Src: /src/mcl/include/mcl/ec.hpp:1756,1
    - Dst: assert
      Src: /src/mcl/include/mcl/ec.hpp:1757,1
    - Dst: size
      Src: /src/mcl/include/mcl/ec.hpp:1758,1
    - Dst: size
      Src: /src/mcl/include/mcl/ec.hpp:1758,1
    - Dst: mcl::EcT::dbl
      Src: /src/mcl/include/mcl/ec.hpp:1760,1
    - Dst: mcl::EcT::add
      Src: /src/mcl/include/mcl/ec.hpp:1763,1
    - Dst: mcl::EcT::clear
      Src: /src/mcl/include/mcl/ec.hpp:1766,1
    - Dst: mcl::EcT::normalizeVec
      Src: /src/mcl/include/mcl/ec.hpp:1767,1
    - Dst: mcl::EcT::dbl
      Src: /src/mcl/include/mcl/ec.hpp:1769,1
    - Dst: mcl::ec::local::addTbl
      Src: /src/mcl/include/mcl/ec.hpp:1771,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - ' z'
    - xVec
    - yVec
    - n
    argTypes:
    - EcT
    - EcT*
    - Fr*
    - size_t
    constantsTouched: []
    func_position:
      end: 1775
      start: 1741
    functionDepth: 2
    functionLinenumber: 1741
    functionLinenumberEnd: 1775
    functionName: mcl::EcT::mulVecN
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - assert
    - mcl::EcT::add
    - size
    - mcl::EcT::dbl
    - getMpz
    - mcl::gmp::getNAFwidth
    - mcl::ec::local::addTbl
    - mcl::EcT::normalizeVec
    - mcl::EcT::clear
    linkageType: ''
    returnType: size_t
    signature: size_t mulVecN(EcT& z, const EcT *xVec, const Fr *yVec, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::clear
      Src: /src/mcl/include/mcl/ec.hpp:1797,1
    - Dst: mulVecOpti
      Src: /src/mcl/include/mcl/ec.hpp:1801,1
    - Dst: mulVecGLV
      Src: /src/mcl/include/mcl/ec.hpp:1804,1
    - Dst: EcT::clear
      Src: /src/mcl/include/mcl/ec.hpp:1808,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - ' z'
    - xVec
    - yVec
    - n
    argTypes:
    - EcT
    - EcT*
    - Fr*
    - size_t
    constantsTouched: []
    func_position:
      end: 1818
      start: 1794
    functionDepth: 0
    functionLinenumber: 1794
    functionLinenumberEnd: 1818
    functionName: mcl::EcT::mulVec
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - EcT::clear
    - mcl::EcT::clear
    - mulVecOpti
    - mulVecGLV
    linkageType: ''
    returnType: void
    signature: void mulVec(EcT& z, EcT *xVec, const Fr *yVec, size_t n, size_t b =
      0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: omp_get_num_procs
      Src: /src/mcl/include/mcl/ec.hpp:1826,1
    - Dst: mcl::EcT::mulVec
      Src: /src/mcl/include/mcl/ec.hpp:1832,1
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/include/mcl/ec.hpp:1835,1
    - Dst: mcl::EcT::mulVec
      Src: /src/mcl/include/mcl/ec.hpp:1841,1
    - Dst: mcl::EcT::clear
      Src: /src/mcl/include/mcl/ec.hpp:1843,1
    - Dst: mcl::EcT::mulVec
      Src: /src/mcl/include/mcl/ec.hpp:1851,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - ' z'
    - xVec
    - yVec
    - n
    argTypes:
    - EcT
    - EcT*
    - Fr*
    - size_t
    constantsTouched: []
    func_position:
      end: 1853
      start: 1821
    functionDepth: 1
    functionLinenumber: 1821
    functionLinenumberEnd: 1853
    functionName: mcl::EcT::mulVecMT
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::mulVec
    - omp_get_num_procs
    - CYBOZU_ALLOCA
    - mcl::EcT::clear
    linkageType: ''
    returnType: void
    signature: void mulVecMT(EcT& z, EcT *xVec, const Fr *yVec, size_t n, size_t cpuN
      = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mulEachOpti
      Src: /src/mcl/include/mcl/ec.hpp:1859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - xVec
    - yVec
    - n
    argTypes:
    - EcT*
    - Fr*
    - size_t
    constantsTouched: []
    func_position:
      end: 1867
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1867
    functionName: mcl::EcT::mulEach
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mulEachOpti
    linkageType: ''
    returnType: void
    signature: void mulEach(EcT *xVec, const Fr *yVec, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::init
      Src: /src/mcl/include/mcl/ec.hpp:1872,1
    - Dst: c_str
      Src: /src/mcl/include/mcl/ec.hpp:1872,1
    - Dst: c_str
      Src: /src/mcl/include/mcl/ec.hpp:1872,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/ec.hpp:1873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' astr'
    - ' bstr'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 1874
      start: 1869
    functionDepth: 1
    functionLinenumber: 1869
    functionLinenumberEnd: 1874
    functionName: mcl::EcT::init
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - c_str
    - mcl::EcT::init
    linkageType: ''
    returnType: void
    signature: void init(const std::string& astr, const std::string& bstr, int mode
      = ec::Jacobi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::set
      Src: /src/mcl/include/mcl/ec.hpp:1878,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/ec.hpp:1879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' _x'
    - ' _y'
    argTypes:
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 1880
      start: 1875
    functionDepth: 1
    functionLinenumber: 1875
    functionLinenumberEnd: 1880
    functionName: mcl::EcT::set
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 2
    functionsReached:
    - mcl::EcT::set
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void set(const Fp& _x, const Fp& _y, bool verify = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::save
      Src: /src/mcl/include/mcl/ec.hpp:1885,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/ec.hpp:1886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 1887
      start: 1882
    functionDepth: 1
    functionLinenumber: 1882
    functionLinenumberEnd: 1887
    functionName: mcl::EcT::save
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 2
    functionsReached:
    - mcl::EcT::save
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::load
      Src: /src/mcl/include/mcl/ec.hpp:1892,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/ec.hpp:1893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 1894
      start: 1889
    functionDepth: 1
    functionLinenumber: 1889
    functionLinenumberEnd: 1894
    functionName: mcl::EcT::load
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 2
    functionsReached:
    - mcl::EcT::load
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::EcT::init
      Src: /src/mcl/include/mcl/ec.hpp:1900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' astr'
    - ' bstr'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 1901
      start: 1898
    functionDepth: 0
    functionLinenumber: 1898
    functionLinenumberEnd: 1901
    functionName: mcl::EcT::setParam
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::init
    linkageType: ''
    returnType: void
    signature: void setParam(const std::string& astr, const std::string& bstr, int
      mode = ec::Jacobi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/include/mcl/ec.hpp:1904,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/ec.hpp:1904,1
    - Dst: getIoMode
      Src: /src/mcl/include/mcl/ec.hpp:1904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - EcT
    constantsTouched: []
    func_position:
      end: 1906
      start: 1902
    functionDepth: 1
    functionLinenumber: 1902
    functionLinenumberEnd: 1906
    functionName: '& operator>>(std::istream& is, EcT& self)'
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - getIoMode
    - load
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, EcT& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/ec.hpp:1909,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/ec.hpp:1909,1
    - Dst: getIoMode
      Src: /src/mcl/include/mcl/ec.hpp:1909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - EcT
    constantsTouched: []
    func_position:
      end: 1911
      start: 1907
    functionDepth: 1
    functionLinenumber: 1907
    functionLinenumberEnd: 1911
    functionName: '& operator<<(std::ostream& os, const EcT& self)'
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - getIoMode
    - save
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const EcT& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::getEcParam
      Src: /src/mcl/include/mcl/ec.hpp:1940,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/include/mcl/ec.hpp:1943,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/include/mcl/ec.hpp:1945,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/include/mcl/ec.hpp:1947,1
    - Dst: Fp::Fp
      Src: /src/mcl/include/mcl/ec.hpp:1950,1
    - Dst: Fp::setStr
      Src: /src/mcl/include/mcl/ec.hpp:1951,1
    - Dst: mcl::setStr
      Src: /src/mcl/include/mcl/ec.hpp:1953,1
    - Dst: mcl::set
      Src: /src/mcl/include/mcl/ec.hpp:1955,1
    - Dst: mcl::initForSecp256k1
      Src: /src/mcl/include/mcl/ec.hpp:1959,1
    - Dst: mcl::EcT::setMulVecGLV
      Src: /src/mcl/include/mcl/ec.hpp:1961,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pb
    - curveType
    argTypes:
    - bool*
    - int
    constantsTouched: []
    func_position:
      end: 1963
      start: 1936
    functionDepth: 2
    functionLinenumber: 1936
    functionLinenumberEnd: 1963
    functionName: mcl::initCurve
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::setMulVecGLV
    - mcl::set
    - mcl::initForSecp256k1
    - Botan_Tests::test_x509_uninit
    - Fp::setStr
    - mcl::setStr
    - Fp::Fp
    - mcl::getEcParam
    linkageType: ''
    returnType: void
    signature: void initCurve(bool *pb, int curveType, Ec *P = 0, mcl::ec::Mode ecMode
      = ec::Jacobi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::initCurve
      Src: /src/mcl/include/mcl/ec.hpp:1970,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/ec.hpp:1971,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - curveType
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1972
      start: 1967
    functionDepth: 1
    functionLinenumber: 1967
    functionLinenumberEnd: 1972
    functionName: mcl::initCurve
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 1
    functionsReached:
    - mcl::initCurve
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void initCurve(int curveType, Ec *P = 0, mcl::ec::Mode ecMode = ec::Jacobi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::isZero
      Src: /src/mcl/include/mcl/ec.hpp:1983,1
    - Dst: mcl::EcT::normalize
      Src: /src/mcl/include/mcl/ec.hpp:1984,1
    - Dst: mcl::hash_value
      Src: /src/mcl/include/mcl/ec.hpp:1985,1
    - Dst: mcl::hash_value
      Src: /src/mcl/include/mcl/ec.hpp:1985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' P_'
    argTypes:
    - mcl::EcT<Fp>
    constantsTouched: []
    func_position:
      end: 1986
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 1986
    functionName: mcl::hash_value
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 1
    functionsReached:
    - mcl::isZero
    - mcl::hash_value
    - mcl::EcT::normalize
    linkageType: ''
    returnType: size_t
    signature: size_t hash_value(const mcl::EcT<Fp>& P_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isZero
      Src: /src/mcl/include/mcl/ec.hpp:1996,1
    - Dst: mcl::EcT::normalize
      Src: /src/mcl/include/mcl/ec.hpp:1997,1
    - Dst: hash<Fp>
      Src: /src/mcl/include/mcl/ec.hpp:1998,1
    - Dst: hash<Fp>
      Src: /src/mcl/include/mcl/ec.hpp:1998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' P_'
    argTypes:
    - mcl::EcT<Fp>
    constantsTouched: []
    func_position:
      end: 1999
      start: 1994
    functionDepth: 2
    functionLinenumber: 1994
    functionLinenumberEnd: 1999
    functionName: operator()(const mcl::EcT<Fp>& P_) const
    functionSourceFile: /src/mcl/include/mcl/ec.hpp
    functionUses: 0
    functionsReached:
    - mcl::EcT::normalize
    - hash<Fp>
    - isZero
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const mcl::EcT<Fp>& P_) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: mcl::local::AsConstArray
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsConstArray(const T *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& operator[](size_t i) const'
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator[](size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: operator+=(size_t i)
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator+=(size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isZero
      Src: /src/mcl/include/mcl/operator.hpp:40,1
    - Dst: isOne
      Src: /src/mcl/include/mcl/operator.hpp:40,1
    - Dst: mcl::FpT::mul
      Src: /src/mcl/include/mcl/operator.hpp:44,1
    - Dst: mcl::FpT::inv
      Src: /src/mcl/include/mcl/operator.hpp:52,1
    - Dst: isZero
      Src: /src/mcl/include/mcl/operator.hpp:58,1
    - Dst: isOne
      Src: /src/mcl/include/mcl/operator.hpp:58,1
    - Dst: mcl::FpT::mul
      Src: /src/mcl/include/mcl/operator.hpp:64,1
    - Dst: mcl::FpT::mul
      Src: /src/mcl/include/mcl/operator.hpp:67,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 4
    argNames:
    - ' y'
    - ' x'
    - n
    - t
    argTypes:
    - Tout
    - Tin
    - size_t
    - T*
    constantsTouched: []
    func_position:
      end: 77
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 77
    functionName: mcl::local::invVecWork
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - isOne
    - mcl::FpT::mul
    - isZero
    - mcl::FpT::inv
    linkageType: ''
    returnType: size_t
    signature: size_t invVecWork(Tout& y, Tin& x, size_t n, T *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/include/mcl/operator.hpp:91,1
    - Dst: mcl::local::invVecWork
      Src: /src/mcl/include/mcl/operator.hpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' y'
    - ' x'
    - n
    argTypes:
    - Tout
    - Tin
    - size_t
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: mcl::invVecT
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_ALLOCA
    - mcl::local::invVecWork
    linkageType: ''
    returnType: size_t
    signature: size_t invVecT(Tout& y, Tin& x, size_t n, size_t N = 1024)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getMpz
      Src: /src/mcl/include/mcl/operator.hpp:113,1
    - Dst: assert
      Src: /src/mcl/include/mcl/operator.hpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' v'
    - _xVec
    - i
    argTypes:
    - mpz_class
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: mcl::fp::getMpzAtT
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - getMpz
    - assert
    linkageType: ''
    returnType: void
    signature: void getMpzAtT(mpz_class& v, const void *_xVec, size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getUnitArray
      Src: /src/mcl/include/mcl/operator.hpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - _xVec
    - i
    argTypes:
    - Unit*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: mcl::fp::getUnitAtT
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - getUnitArray
    linkageType: ''
    returnType: void
    signature: void getUnitAtT(Unit *p, const void *_xVec, size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/include/mcl/operator.hpp:133,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/include/mcl/operator.hpp:134,1
    - Dst: Unit
      Src: /src/mcl/include/mcl/operator.hpp:137,1
    - Dst: mcl::bint::isZeroN
      Src: /src/mcl/include/mcl/operator.hpp:138,1
    - Dst: mcl::bint::shiftRight
      Src: /src/mcl/include/mcl/operator.hpp:141,1
    - Dst: mcl::bint::shiftRight
      Src: /src/mcl/include/mcl/operator.hpp:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - bin
    - maxBinN
    - _x
    - xn
    - w
    argTypes:
    - uint8_t*
    - size_t
    - Unit*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 159
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 159
    functionName: mcl::fp::getBinWidth
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_ALLOCA
    - mcl::bint::isZeroN
    - Unit
    - mcl::bint::shiftRight
    - mcl::bint::copyN
    linkageType: ''
    returnType: size_t
    signature: size_t getBinWidth(uint8_t *bin, size_t maxBinN, const Unit *_x, size_t
      xn, size_t w)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: mcl::fp::argminWforPow
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t argminWforPow(size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::bint::getRealSize
      Src: /src/mcl/include/mcl/operator.hpp:178,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/operator.hpp:188,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/operator.hpp:193,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/operator.hpp:194,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/operator.hpp:198,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/operator.hpp:199,1
    - Dst: mcl::fp::getBinWidth
      Src: /src/mcl/include/mcl/operator.hpp:206,1
    - Dst: assert
      Src: /src/mcl/include/mcl/operator.hpp:207,1
    - Dst: CYBOZU_ALLOCA
      Src: /src/mcl/include/mcl/operator.hpp:209,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/operator.hpp:212,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/operator.hpp:214,1
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/operator.hpp:218,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/operator.hpp:221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - y
    - yn
    argTypes:
    - F
    - F
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 224
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 224
    functionName: mcl::fp::powUnit
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 3
    functionsReached:
    - mcl::fp::getBinWidth
    - Botan::fe_sqr
    - mcl::bint::getRealSize
    - CYBOZU_ALLOCA
    - assert
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void powUnit(F& z, const F& x, const Unit *y, size_t yn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/operator.hpp:234,1
    - Dst: static_cast<T&>
      Src: /src/mcl/include/mcl/operator.hpp:234,1
    - Dst: static_cast<const T&>
      Src: /src/mcl/include/mcl/operator.hpp:234,1
    - Dst: static_cast<T&>
      Src: /src/mcl/include/mcl/operator.hpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: '& operator+=(const S& rhs)'
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T&>
    - static_cast<const T&>
    - mcl::FpT::add
    linkageType: ''
    returnType: MCL_FORCE_INLINE
    signature: MCL_FORCE_INLINE & operator+=(const S& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::sub
      Src: /src/mcl/include/mcl/operator.hpp:235,1
    - Dst: static_cast<T&>
      Src: /src/mcl/include/mcl/operator.hpp:235,1
    - Dst: static_cast<const T&>
      Src: /src/mcl/include/mcl/operator.hpp:235,1
    - Dst: static_cast<T&>
      Src: /src/mcl/include/mcl/operator.hpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: '& operator-=(const S& rhs)'
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::sub
    - static_cast<T&>
    - static_cast<const T&>
    linkageType: ''
    returnType: MCL_FORCE_INLINE
    signature: MCL_FORCE_INLINE & operator-=(const S& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::add
      Src: /src/mcl/include/mcl/operator.hpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - S
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: operator+(const T& a, const S& b)
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::add
    linkageType: ''
    returnType: MCL_FORCE_INLINE
    signature: MCL_FORCE_INLINE operator+(const T& a, const S& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::sub
      Src: /src/mcl/include/mcl/operator.hpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - S
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: operator-(const T& a, const S& b)
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::sub
    linkageType: ''
    returnType: MCL_FORCE_INLINE
    signature: MCL_FORCE_INLINE operator-(const T& a, const S& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::mul
      Src: /src/mcl/include/mcl/operator.hpp:238,1
    - Dst: static_cast<T&>
      Src: /src/mcl/include/mcl/operator.hpp:238,1
    - Dst: static_cast<const T&>
      Src: /src/mcl/include/mcl/operator.hpp:238,1
    - Dst: static_cast<T&>
      Src: /src/mcl/include/mcl/operator.hpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: '& operator*=(const S& rhs)'
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T&>
    - mcl::FpT::mul
    - static_cast<const T&>
    linkageType: ''
    returnType: MCL_FORCE_INLINE
    signature: MCL_FORCE_INLINE & operator*=(const S& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::mul
      Src: /src/mcl/include/mcl/operator.hpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - S
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: operator*(const T& a, const S& b)
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::mul
    linkageType: ''
    returnType: MCL_FORCE_INLINE
    signature: MCL_FORCE_INLINE operator*(const T& a, const S& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::inv
      Src: /src/mcl/include/mcl/operator.hpp:240,1
    - Dst: mcl::FpT::mul
      Src: /src/mcl/include/mcl/operator.hpp:240,1
    - Dst: static_cast<T&>
      Src: /src/mcl/include/mcl/operator.hpp:240,1
    - Dst: static_cast<const T&>
      Src: /src/mcl/include/mcl/operator.hpp:240,1
    - Dst: static_cast<T&>
      Src: /src/mcl/include/mcl/operator.hpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: '& operator/=(const T& rhs)'
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T&>
    - mcl::FpT::inv
    - mcl::FpT::mul
    - static_cast<const T&>
    linkageType: ''
    returnType: MCL_FORCE_INLINE
    signature: MCL_FORCE_INLINE & operator/=(const T& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::inv
      Src: /src/mcl/include/mcl/operator.hpp:241,1
    - Dst: mcl::FpT::mul
      Src: /src/mcl/include/mcl/operator.hpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' c'
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    - T
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 241
    functionName: mcl::fp::div
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::inv
    - mcl::FpT::mul
    linkageType: ''
    returnType: MCL_FORCE_INLINE
    signature: MCL_FORCE_INLINE div(T& c, const T& a, const T& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::inv
      Src: /src/mcl/include/mcl/operator.hpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: operator/(const T& a, const T& b)
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::inv
    linkageType: ''
    returnType: MCL_FORCE_INLINE
    signature: MCL_FORCE_INLINE operator/(const T& a, const T& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::FpT::neg
      Src: /src/mcl/include/mcl/operator.hpp:243,1
    - Dst: static_cast<const T&>
      Src: /src/mcl/include/mcl/operator.hpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: operator-() const
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::neg
    - static_cast<const T&>
    linkageType: ''
    returnType: MCL_FORCE_INLINE
    signature: MCL_FORCE_INLINE operator-() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: powVecGLV
      Src: /src/mcl/include/mcl/operator.hpp:254,1
    - Dst: getBlock
      Src: /src/mcl/include/mcl/operator.hpp:258,1
    - Dst: mcl::fp::powArray
      Src: /src/mcl/include/mcl/operator.hpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - T
    - T
    - FpT<tag2, maxBitSize2>
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: mcl::fp::pow
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - getBlock
    - powVecGLV
    - mcl::fp::powArray
    linkageType: ''
    returnType: void
    signature: void pow(T& z, const T& x, const FpT<tag2, maxBitSize2>& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::powArray
      Src: /src/mcl/include/mcl/operator.hpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - T
    - T
    - int64_t
    constantsTouched: []
    func_position:
      end: 272
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 272
    functionName: mcl::fp::pow
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::powArray
    linkageType: ''
    returnType: void
    signature: void pow(T& z, const T& x, int64_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::powArray
      Src: /src/mcl/include/mcl/operator.hpp:275,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/include/mcl/operator.hpp:275,1
    - Dst: mcl::gmp::getUnitSize
      Src: /src/mcl/include/mcl/operator.hpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - T
    - T
    - mpz_class
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: mcl::fp::pow
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::getUnitSize
    - mcl::gmp::getUnit
    - mcl::fp::powArray
    linkageType: ''
    returnType: void
    signature: void pow(T& z, const T& x, const mpz_class& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBlock
      Src: /src/mcl/include/mcl/operator.hpp:281,1
    - Dst: mcl::fp::powArray
      Src: /src/mcl/include/mcl/operator.hpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - T
    - T
    - FpT<tag2, maxBitSize2>
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: mcl::fp::powGeneric
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - getBlock
    - mcl::fp::powArray
    linkageType: ''
    returnType: void
    signature: void powGeneric(T& z, const T& x, const FpT<tag2, maxBitSize2>& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::powArray
      Src: /src/mcl/include/mcl/operator.hpp:286,1
    - Dst: mcl::gmp::getUnit
      Src: /src/mcl/include/mcl/operator.hpp:286,1
    - Dst: mcl::gmp::getUnitSize
      Src: /src/mcl/include/mcl/operator.hpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - T
    - T
    - mpz_class
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: mcl::fp::powGeneric
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::getUnitSize
    - mcl::gmp::getUnit
    - mcl::fp::powArray
    linkageType: ''
    returnType: void
    signature: void powGeneric(T& z, const T& x, const mpz_class& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::powUnit
      Src: /src/mcl/include/mcl/operator.hpp:292,1
    - Dst: mcl::FpT::inv
      Src: /src/mcl/include/mcl/operator.hpp:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' z'
    - ' x'
    - y
    - yn
    argTypes:
    - T
    - T
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 296
      start: 290
    functionDepth: 4
    functionLinenumber: 290
    functionLinenumberEnd: 296
    functionName: mcl::fp::powArray
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 5
    functionsReached:
    - mcl::FpT::inv
    - mcl::fp::powUnit
    linkageType: ''
    returnType: void
    signature: void powArray(T& z, const T& x, const Unit *y, size_t yn, bool isNegative
      = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pb
    - str
    argTypes:
    - bool*
    - char*
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: mcl::fp::setStr
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setStr(bool *pb, const char *str, int ioMode = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - maxBufSize
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: mcl::fp::getStr
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getStr(char *buf, size_t maxBufSize, int ioMode = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T&>
      Src: /src/mcl/include/mcl/operator.hpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: mcl::fp::setStr
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T&>
    linkageType: ''
    returnType: void
    signature: void setStr(const std::string& str, int ioMode = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::clear
      Src: /src/mcl/include/mcl/operator.hpp:331,1
    - Dst: static_cast<const T&>
      Src: /src/mcl/include/mcl/operator.hpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 334
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 334
    functionName: mcl::fp::getStr
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const T&>
    - mcl::fp::clear
    linkageType: ''
    returnType: void
    signature: void getStr(std::string& str, int ioMode = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::getStr
      Src: /src/mcl/include/mcl/operator.hpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: mcl::fp::getStr
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 1
    functionsReached:
    - mcl::fp::getStr
    linkageType: ''
    returnType: std::string
    signature: std::string getStr(int ioMode = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/mcl/include/mcl/operator.hpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 347
    functionName: mcl::fp::serializeToHexStr
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - std::string::resize
    linkageType: ''
    returnType: std::string
    signature: std::string serializeToHexStr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/operator.hpp:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: mcl::fp::deserializeHexStr
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void deserializeHexStr(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const T&>
      Src: /src/mcl/include/mcl/operator.hpp:361,1
    - Dst: cybozu::MemoryOutputStream::getPos
      Src: /src/mcl/include/mcl/operator.hpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - maxBufSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 363
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 363
    functionName: mcl::fp::serialize
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - cybozu::MemoryOutputStream::getPos
    - static_cast<const T&>
    linkageType: ''
    returnType: size_t
    signature: size_t serialize(void *buf, size_t maxBufSize, int ioMode = IoSerialize)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T&>
      Src: /src/mcl/include/mcl/operator.hpp:369,1
    - Dst: cybozu::MemoryInputStream::getPos
      Src: /src/mcl/include/mcl/operator.hpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: mcl::fp::deserialize
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T&>
    - cybozu::MemoryInputStream::getPos
    linkageType: ''
    returnType: size_t
    signature: size_t deserialize(const void *buf, size_t bufSize, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::invVecT
      Src: /src/mcl/include/mcl/operator.hpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - y
    - x
    - n
    argTypes:
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 4
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: mcl::invVec
    functionSourceFile: /src/mcl/include/mcl/operator.hpp
    functionUses: 3
    functionsReached:
    - mcl::invVecT
    linkageType: ''
    returnType: size_t
    signature: size_t invVec(T *y, const T* x, size_t n, size_t N = 256)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - KeyCount
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: operator<(const KeyCount& rhs) const
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const KeyCount& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - KeyCount
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: mcl::she::local::isSame
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isSame(const KeyCount& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<G&>
      Src: /src/mcl/include/mcl/she.hpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - InterfaceForHashTable
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& castG(InterfaceForHashTable& x)'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - static_cast<G&>
    linkageType: ''
    returnType: G
    signature: G & castG(InterfaceForHashTable& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const G&>
      Src: /src/mcl/include/mcl/she.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - InterfaceForHashTable
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& castG(const InterfaceForHashTable& x)'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const G&>
    linkageType: ''
    returnType: G
    signature: G & castG(const InterfaceForHashTable& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::local::clear
      Src: /src/mcl/include/mcl/she.hpp:52,1
    - Dst: castG
      Src: /src/mcl/include/mcl/she.hpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: mcl::she::local::clear
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - castG
    - mcl::she::local::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::local::normalize
      Src: /src/mcl/include/mcl/she.hpp:53,1
    - Dst: castG
      Src: /src/mcl/include/mcl/she.hpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: mcl::she::local::normalize
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::local::normalize
    - castG
    linkageType: ''
    returnType: void
    signature: void normalize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::local::isZero
      Src: /src/mcl/include/mcl/she.hpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - G
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: mcl::she::local::isZero
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::local::isZero
    linkageType: ''
    returnType: bool
    signature: bool isZero(const G& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::local::isEqualOrMinus
      Src: /src/mcl/include/mcl/she.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - G
    - G
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: mcl::she::local::isEqualOrMinus
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::local::isEqualOrMinus
    linkageType: ''
    returnType: int
    signature: int isEqualOrMinus(const G& P, const G& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x::getUnit
      Src: /src/mcl/include/mcl/she.hpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - G
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: mcl::she::local::getHash
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - x::getUnit
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getHash(const G& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::local::clear
      Src: /src/mcl/include/mcl/she.hpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - G
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: mcl::she::local::clear
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - mcl::she::local::clear
    linkageType: ''
    returnType: void
    signature: void clear(G& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::local::normalize
      Src: /src/mcl/include/mcl/she.hpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' P'
    argTypes:
    - G
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: mcl::she::local::normalize
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - mcl::she::local::normalize
    linkageType: ''
    returnType: void
    signature: void normalize(G& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/she.hpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' Q'
    - ' P'
    argTypes:
    - G
    - G
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: mcl::she::local::dbl
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - Botan::ge_p2_dbl
    linkageType: ''
    returnType: void
    signature: void dbl(G& Q, const G& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/she.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' Q'
    - ' P'
    argTypes:
    - G
    - G
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: mcl::she::local::neg
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void neg(G& Q, const G& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/she.hpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' R'
    - ' P'
    - ' Q'
    argTypes:
    - G
    - G
    - G
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: mcl::she::local::add
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void add(G& R, const G& P, const G& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' Q'
    - ' P'
    - ' x'
    argTypes:
    - G
    - G
    - INT
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: mcl::she::local::mul
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mul(G& Q, const G& P, const INT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<G&>
      Src: /src/mcl/include/mcl/she.hpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - InterfaceForHashTable
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: '& castG(InterfaceForHashTable& x)'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - static_cast<G&>
    linkageType: ''
    returnType: G
    signature: G & castG(InterfaceForHashTable& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const G&>
      Src: /src/mcl/include/mcl/she.hpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - InterfaceForHashTable
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& castG(const InterfaceForHashTable& x)'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const G&>
    linkageType: ''
    returnType: G
    signature: G & castG(const InterfaceForHashTable& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::local::clear
      Src: /src/mcl/include/mcl/she.hpp:75,1
    - Dst: castG
      Src: /src/mcl/include/mcl/she.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: mcl::she::local::clear
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 3
    functionsReached:
    - castG
    - mcl::she::local::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::local::normalize
      Src: /src/mcl/include/mcl/she.hpp:76,1
    - Dst: castG
      Src: /src/mcl/include/mcl/she.hpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: mcl::she::local::normalize
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 3
    functionsReached:
    - mcl::she::local::normalize
    - castG
    linkageType: ''
    returnType: void
    signature: void normalize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isOne
      Src: /src/mcl/include/mcl/she.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - G
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: mcl::she::local::isZero
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - isOne
    linkageType: ''
    returnType: bool
    signature: bool isZero(const G& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' P'
    - ' Q'
    argTypes:
    - G
    - G
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: mcl::she::local::isEqualOrMinus
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isEqualOrMinus(const G& P, const G& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getFp0
      Src: /src/mcl/include/mcl/she.hpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - G
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: mcl::she::local::getHash
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - getFp0
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getHash(const G& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - G
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: mcl::she::local::clear
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear(G& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: mcl::she::local::normalize
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void normalize(G&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::fe_sqr
      Src: /src/mcl/include/mcl/she.hpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - G
    - G
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: mcl::she::local::dbl
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - Botan::fe_sqr
    linkageType: ''
    returnType: void
    signature: void dbl(G& y, const G& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::unitaryInv
      Src: /src/mcl/include/mcl/she.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' Q'
    - ' P'
    argTypes:
    - G
    - G
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: mcl::she::local::neg
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::unitaryInv
    linkageType: ''
    returnType: void
    signature: void neg(G& Q, const G& P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - G
    - G
    - G
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: mcl::she::local::add
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void add(G& z, const G& x, const G& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/she.hpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - G
    - G
    - INT
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: mcl::she::local::mul
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - testFp12pow
    linkageType: ''
    returnType: void
    signature: void mul(G& z, const G& x, const INT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: mcl::she::local::GtoChar
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char GtoChar<bn::G1>()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: mcl::she::local::GtoChar
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char GtoChar<bn::G2>()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: mcl::she::local::GtoChar
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char GtoChar<bn::GT>()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::local::HashTable::init
      Src: /src/mcl/include/mcl/she.hpp:119,1
    - Dst: static_cast<const I&>
      Src: /src/mcl/include/mcl/she.hpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: mcl::she::local::HashTable::setWindowMethod
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::local::HashTable::init
    - static_cast<const I&>
    linkageType: ''
    returnType: void
    signature: void setWindowMethod()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: mcl::she::local::HashTable::HashTable
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HashTable()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/mcl/include/mcl/she.hpp:125,1
    - Dst: kcv_::size
      Src: /src/mcl/include/mcl/she.hpp:125,1
    - Dst: size
      Src: /src/mcl/include/mcl/she.hpp:126,1
    - Dst: mcl::she::local::isSame
      Src: /src/mcl/include/mcl/she.hpp:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HashTable
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: operator==(const HashTable& rhs) const
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - kcv_::size
    - mcl::she::local::isSame
    - size
    linkageType: ''
    returnType: bool
    signature: bool operator==(const HashTable& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HashTable
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: operator!=(const HashTable& rhs) const
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const HashTable& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/include/mcl/she.hpp:138,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:141,1
    - Dst: resize
      Src: /src/mcl/include/mcl/she.hpp:143,1
    - Dst: Botan_Tests::TLS_CBC_Tests::ZeroMac::clear
      Src: /src/mcl/include/mcl/she.hpp:145,1
    - Dst: size
      Src: /src/mcl/include/mcl/she.hpp:146,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/she.hpp:147,1
    - Dst: Botan::normalize
      Src: /src/mcl/include/mcl/she.hpp:148,1
    - Dst: mcl::she::local::getHash
      Src: /src/mcl/include/mcl/she.hpp:149,1
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/include/mcl/she.hpp:153,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/she.hpp:154,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/she.hpp:155,1
    - Dst: std::stable_sort
      Src: /src/mcl/include/mcl/she.hpp:159,1
    - Dst: begin
      Src: /src/mcl/include/mcl/she.hpp:159,1
    - Dst: end
      Src: /src/mcl/include/mcl/she.hpp:159,1
    - Dst: mcl::she::local::HashTable::setWindowMethod
      Src: /src/mcl/include/mcl/she.hpp:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - ' P'
    - hashSize
    argTypes:
    - G
    - size_t
    constantsTouched: []
    func_position:
      end: 161
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 161
    functionName: mcl::she::local::HashTable::init
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - Botan::ge_p2_dbl
    - Botan::normalize
    - Shim_Exception::Shim_Exception
    - Botan_Tests::TLS_CBC_Tests::ZeroMac::clear
    - begin
    - size
    - fiat_bls12_381_fp_add
    - clear
    - mcl::she::local::getHash
    - end
    - resize
    - Botan::EC_Group_Data::affine_neg
    - mcl::she::local::HashTable::setWindowMethod
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: void init(const G& P, size_t hashSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::local::HashTable::init
      Src: /src/mcl/include/mcl/she.hpp:164,1
    - Dst: mcl::she::local::HashTable::setTryNum
      Src: /src/mcl/include/mcl/she.hpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' P'
    - hashSize
    - tryNum
    argTypes:
    - G
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: mcl::she::local::HashTable::init
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - mcl::she::local::HashTable::init
    - mcl::she::local::HashTable::setTryNum
    linkageType: ''
    returnType: void
    signature: void init(const G& P, size_t hashSize, size_t tryNum)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tryNum
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: mcl::she::local::HashTable::setTryNum
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setTryNum(size_t tryNum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::isZero
      Src: /src/mcl/include/mcl/she.hpp:179,1
    - Dst: Botan::normalize
      Src: /src/mcl/include/mcl/she.hpp:182,1
    - Dst: mcl::she::local::getHash
      Src: /src/mcl/include/mcl/she.hpp:183,1
    - Dst: std::equal_range
      Src: /src/mcl/include/mcl/she.hpp:185,1
    - Dst: begin
      Src: /src/mcl/include/mcl/she.hpp:185,1
    - Dst: end
      Src: /src/mcl/include/mcl/she.hpp:185,1
    - Dst: Botan_Tests::TLS_CBC_Tests::ZeroMac::clear
      Src: /src/mcl/include/mcl/she.hpp:187,1
    - Dst: assert
      Src: /src/mcl/include/mcl/she.hpp:195,1
    - Dst: mcl::she::local::HashTable::mulByWindowMethod
      Src: /src/mcl/include/mcl/she.hpp:199,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/she.hpp:200,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - xP
    argTypes:
    - G
    constantsTouched: []
    func_position:
      end: 214
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 214
    functionName: mcl::she::local::HashTable::basicLog
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::isZero
    - std::equal_range
    - mcl::she::local::HashTable::mulByWindowMethod
    - Botan::normalize
    - Shim_Exception::Shim_Exception
    - begin
    - Botan_Tests::TLS_CBC_Tests::ZeroMac::clear
    - assert
    - fiat_bls12_381_fp_add
    - mcl::she::local::getHash
    - end
    linkageType: ''
    returnType: int
    signature: int basicLog(G xP, bool *pok = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/she.hpp:232,1
    - Dst: mcl::she::local::HashTable::basicLog
      Src: /src/mcl/include/mcl/she.hpp:234,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/she.hpp:239,1
    - Dst: mcl::she::local::HashTable::basicLog
      Src: /src/mcl/include/mcl/she.hpp:241,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:251,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - ' xP'
    argTypes:
    - G
    constantsTouched: []
    func_position:
      end: 252
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 252
    functionName: mcl::she::local::HashTable::log
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::local::HashTable::basicLog
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: int64_t
    signature: int64_t log(const G& xP, bool *pok = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::save
      Src: /src/mcl/include/mcl/she.hpp:260,1
    - Dst: getCurveParam
      Src: /src/mcl/include/mcl/she.hpp:260,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/she.hpp:261,1
    - Dst: GtoChar<G>
      Src: /src/mcl/include/mcl/she.hpp:261,1
    - Dst: cybozu::save
      Src: /src/mcl/include/mcl/she.hpp:262,1
    - Dst: size
      Src: /src/mcl/include/mcl/she.hpp:262,1
    - Dst: cybozu::write
      Src: /src/mcl/include/mcl/she.hpp:263,1
    - Dst: size
      Src: /src/mcl/include/mcl/she.hpp:263,1
    - Dst: mcl::she::local::HashTable::save
      Src: /src/mcl/include/mcl/she.hpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: mcl::she::local::HashTable::save
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::local::HashTable::save
    - cybozu::write
    - getCurveParam
    - size
    - cybozu::save
    - GtoChar<G>
    - cybozu::writeChar
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::local::HashTable::save
      Src: /src/mcl/include/mcl/she.hpp:269,1
    - Dst: cybozu::MemoryOutputStream::getPos
      Src: /src/mcl/include/mcl/she.hpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - maxBufSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: mcl::she::local::HashTable::save
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - cybozu::MemoryOutputStream::getPos
    - mcl::she::local::HashTable::save
    linkageType: ''
    returnType: size_t
    signature: size_t save(void *buf, size_t maxBufSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::load
      Src: /src/mcl/include/mcl/she.hpp:280,1
    - Dst: getCurveParam
      Src: /src/mcl/include/mcl/she.hpp:281,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:281,1
    - Dst: cybozu::readChar
      Src: /src/mcl/include/mcl/she.hpp:283,1
    - Dst: GtoChar<G>
      Src: /src/mcl/include/mcl/she.hpp:283,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:283,1
    - Dst: cybozu::load
      Src: /src/mcl/include/mcl/she.hpp:285,1
    - Dst: resize
      Src: /src/mcl/include/mcl/she.hpp:286,1
    - Dst: cybozu::read
      Src: /src/mcl/include/mcl/she.hpp:287,1
    - Dst: mcl::she::local::HashTable::load
      Src: /src/mcl/include/mcl/she.hpp:288,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:289,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/she.hpp:290,1
    - Dst: mcl::she::local::HashTable::setWindowMethod
      Src: /src/mcl/include/mcl/she.hpp:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 292
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 292
    functionName: mcl::she::local::HashTable::load
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - cybozu::read
    - mcl::she::local::HashTable::load
    - Shim_Exception::Shim_Exception
    - getCurveParam
    - cybozu::load
    - resize
    - GtoChar<G>
    - fiat_bls12_381_fp_mul
    - Botan::EC_Group_Data::affine_neg
    - cybozu::readChar
    - mcl::she::local::HashTable::setWindowMethod
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::local::HashTable::load
      Src: /src/mcl/include/mcl/she.hpp:296,1
    - Dst: cybozu::MemoryInputStream::getPos
      Src: /src/mcl/include/mcl/she.hpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: mcl::she::local::HashTable::load
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - cybozu::MemoryInputStream::getPos
    - mcl::she::local::HashTable::load
    linkageType: ''
    returnType: size_t
    signature: size_t load(const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: '& getWM() const'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mcl::fp::WindowMethod<I>
    signature: mcl::fp::WindowMethod<I> & getWM() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul
      Src: /src/mcl/include/mcl/she.hpp:306,1
    - Dst: static_cast<I&>
      Src: /src/mcl/include/mcl/she.hpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - G
    - T
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: mcl::she::local::HashTable::mulByWindowMethod
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - static_cast<I&>
    - mul
    linkageType: ''
    returnType: void
    signature: void mulByWindowMethod(G& x, const T& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/mcl/include/mcl/she.hpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: mcl::she::local::HashTable::getTableSize
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t getTableSize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::local::isZero
      Src: /src/mcl/include/mcl/she.hpp:314,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/she.hpp:317,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/she.hpp:323,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ' P'
    - ' xP'
    argTypes:
    - G
    - G
    constantsTouched: []
    func_position:
      end: 327
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 327
    functionName: mcl::she::local::log
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::local::isZero
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: int
    signature: int log(const G& P, const G& xP)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/she.hpp:336,1
    - Dst: update
      Src: /src/mcl/include/mcl/she.hpp:337,1
    - Dst: cybozu::MemoryOutputStream::getPos
      Src: /src/mcl/include/mcl/she.hpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 339
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 339
    functionName: '& operator<<(const T& t)'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - update
    - cybozu::MemoryOutputStream::getPos
    - save
    linkageType: ''
    returnType: Hash
    signature: Hash & operator<<(const T& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest
      Src: /src/mcl/include/mcl/she.hpp:344,1
    - Dst: setArrayMask
      Src: /src/mcl/include/mcl/she.hpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: mcl::she::local::get
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - digest
    - setArrayMask
    linkageType: ''
    returnType: void
    signature: void get(F& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - C*
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: mcl::she::local::CipherAsArrayOfEc
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CipherAsArrayOfEc(C* c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getNonConstRefT
      Src: /src/mcl/include/mcl/she.hpp:357,1
    - Dst: getNonConstRefS
      Src: /src/mcl/include/mcl/she.hpp:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 361
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 361
    functionName: '& operator[](size_t i)'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - getNonConstRefS
    - getNonConstRefT
    linkageType: ''
    returnType: G
    signature: G & operator[](size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/mcl/she.hpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: operator+=(size_t n)
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void operator+=(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - C
    constantsTouched: []
    func_position:
      end: 374
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 374
    functionName: mcl::she::local::AsArrayOfFp
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsArrayOfFp(C& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 375
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 375
    functionName: '& operator[](size_t i) const'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Fp
    signature: Fp & operator[](size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 376
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 376
    functionName: operator+=(size_t n)
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator+=(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Fr
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: mcl::she::CipherTextAT::isZero
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: bool
    signature: bool isZero(const Fr& x) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 422
    functionName: '& getS() const'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: G
    signature: G & getS() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 423
    functionName: '& getT() const'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: G
    signature: G & getT() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 424
    functionName: '& getNonConstRefS()'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: G
    signature: G & getNonConstRefS()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 425
    functionName: '& getNonConstRefT()'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: G
    signature: G & getNonConstRefT()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextAT::clear
      Src: /src/mcl/include/mcl/she.hpp:428,1
    - Dst: mcl::she::CipherTextAT::clear
      Src: /src/mcl/include/mcl/she.hpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: mcl::she::CipherTextAT::clear
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::CipherTextAT::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextAT::normalize
      Src: /src/mcl/include/mcl/she.hpp:433,1
    - Dst: mcl::she::CipherTextAT::normalize
      Src: /src/mcl/include/mcl/she.hpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: mcl::she::CipherTextAT::normalize
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::CipherTextAT::normalize
    linkageType: ''
    returnType: void
    signature: void normalize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextAT::isValid
      Src: /src/mcl/include/mcl/she.hpp:438,1
    - Dst: mcl::she::CipherTextAT::isValid
      Src: /src/mcl/include/mcl/she.hpp:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 439
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 439
    functionName: mcl::she::CipherTextAT::isValid
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::CipherTextAT::isValid
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/she.hpp:445,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/she.hpp:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextAT
    - CipherTextAT
    - CipherTextAT
    constantsTouched: []
    func_position:
      end: 447
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 447
    functionName: mcl::she::CipherTextAT::add
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void add(CipherTextAT& z, const CipherTextAT& x, const CipherTextAT&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:453,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextAT
    - CipherTextAT
    - CipherTextAT
    constantsTouched: []
    func_position:
      end: 455
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 455
    functionName: mcl::she::CipherTextAT::sub
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_sub
    linkageType: ''
    returnType: void
    signature: void sub(CipherTextAT& z, const CipherTextAT& x, const CipherTextAT&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:460,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextAT
    - CipherTextAT
    - INT
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: mcl::she::CipherTextAT::mul
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mul(CipherTextAT& z, const CipherTextAT& x, const INT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/she.hpp:465,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/she.hpp:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - CipherTextAT
    - CipherTextAT
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: mcl::she::CipherTextAT::neg
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void neg(CipherTextAT& y, const CipherTextAT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextAT::add
      Src: /src/mcl/include/mcl/she.hpp:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherTextAT
    constantsTouched: []
    func_position:
      end: 468
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 468
    functionName: mcl::she::CipherTextAT::add
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::CipherTextAT::add
    linkageType: ''
    returnType: void
    signature: void add(const CipherTextAT& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextAT::sub
      Src: /src/mcl/include/mcl/she.hpp:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherTextAT
    constantsTouched: []
    func_position:
      end: 469
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 469
    functionName: mcl::she::CipherTextAT::sub
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::CipherTextAT::sub
    linkageType: ''
    returnType: void
    signature: void sub(const CipherTextAT& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextAT::load
      Src: /src/mcl/include/mcl/she.hpp:473,1
    - Dst: mcl::she::CipherTextAT::load
      Src: /src/mcl/include/mcl/she.hpp:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pb
    - ' is'
    argTypes:
    - bool*
    - InputStream
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: mcl::she::CipherTextAT::load
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::CipherTextAT::load
    linkageType: ''
    returnType: void
    signature: void load(bool *pb, InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextAT::save
      Src: /src/mcl/include/mcl/she.hpp:480,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/she.hpp:482,1
    - Dst: mcl::she::CipherTextAT::save
      Src: /src/mcl/include/mcl/she.hpp:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pb
    - ' os'
    argTypes:
    - bool*
    - OutputStream
    constantsTouched: []
    func_position:
      end: 486
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 486
    functionName: mcl::she::CipherTextAT::save
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::CipherTextAT::save
    - cybozu::writeChar
    linkageType: ''
    returnType: void
    signature: void save(bool *pb, OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextAT::load
      Src: /src/mcl/include/mcl/she.hpp:491,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 493
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 493
    functionName: mcl::she::CipherTextAT::load
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::CipherTextAT::load
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextAT::save
      Src: /src/mcl/include/mcl/she.hpp:498,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 500
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 500
    functionName: mcl::she::CipherTextAT::save
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - mcl::she::CipherTextAT::save
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/include/mcl/she.hpp:503,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/she.hpp:503,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/she.hpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - CipherTextAT
    constantsTouched: []
    func_position:
      end: 505
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 505
    functionName: '& operator>>(std::istream& is, CipherTextAT& self)'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - load
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, CipherTextAT& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/she.hpp:508,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/she.hpp:508,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/she.hpp:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - CipherTextAT
    constantsTouched: []
    func_position:
      end: 510
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 510
    functionName: '& operator<<(std::ostream& os, const CipherTextAT& self)'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - save
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const CipherTextAT& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CipherTextAT
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: operator==(const CipherTextAT& rhs) const
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CipherTextAT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CipherTextAT
    constantsTouched: []
    func_position:
      end: 515
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 515
    functionName: operator!=(const CipherTextAT& rhs) const
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CipherTextAT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: precomputeG2
      Src: /src/mcl/include/mcl/she.hpp:526,1
    - Dst: precomputedMillerLoop
      Src: /src/mcl/include/mcl/she.hpp:527,1
    - Dst: precomputedMillerLoop
      Src: /src/mcl/include/mcl/she.hpp:528,1
    - Dst: millerLoop
      Src: /src/mcl/include/mcl/she.hpp:530,1
    - Dst: millerLoop
      Src: /src/mcl/include/mcl/she.hpp:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ' g1'
    - ' g2'
    - ' P1'
    - ' P2'
    - ' Q'
    argTypes:
    - GT
    - GT
    - G1
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 533
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 533
    functionName: mcl::she::doubleMillerLoop
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - millerLoop
    - precomputeG2
    - precomputedMillerLoop
    linkageType: ''
    returnType: void
    signature: void doubleMillerLoop(GT& g1, GT& g2, const G1& P1, const G1& P2, const
      G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finalExp
      Src: /src/mcl/include/mcl/she.hpp:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - GT[]
    - GT[]
    constantsTouched: []
    func_position:
      end: 539
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 539
    functionName: mcl::she::finalExp4
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - finalExp
    linkageType: ''
    returnType: void
    signature: void finalExp4(GT out[4], const GT in[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::doubleMillerLoop
      Src: /src/mcl/include/mcl/she.hpp:545,1
    - Dst: mcl::she::doubleMillerLoop
      Src: /src/mcl/include/mcl/she.hpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - g
    - ' S1'
    - ' T1'
    - ' S2'
    - ' T2'
    argTypes:
    - GT[]
    - G1
    - G1
    - G2
    - G2
    constantsTouched: []
    func_position:
      end: 547
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 547
    functionName: mcl::she::tensorProductML
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::doubleMillerLoop
    linkageType: ''
    returnType: void
    signature: void tensorProductML(GT g[4], const G1& S1, const G1& T1, const G2&
      S2, const G2& T2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::tensorProductML
      Src: /src/mcl/include/mcl/she.hpp:553,1
    - Dst: mcl::she::finalExp4
      Src: /src/mcl/include/mcl/she.hpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - g
    - ' S1'
    - ' T1'
    - ' S2'
    - ' T2'
    argTypes:
    - GT[]
    - G1
    - G1
    - G2
    - G2
    constantsTouched: []
    func_position:
      end: 555
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 555
    functionName: mcl::she::tensorProduct
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::finalExp4
    - mcl::she::tensorProductML
    linkageType: ''
    returnType: void
    signature: void tensorProduct(GT g[4], const G1& S1, const G1& T1, const G2& S2,
      const G2& T2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::load
      Src: /src/mcl/include/mcl/she.hpp:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pb
    - ' is'
    argTypes:
    - bool*
    - InputStream
    constantsTouched: []
    func_position:
      end: 565
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 565
    functionName: mcl::she::load
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::load
    linkageType: ''
    returnType: void
    signature: void load(bool *pb, InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::save
      Src: /src/mcl/include/mcl/she.hpp:570,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/she.hpp:573,1
    - Dst: mcl::she::save
      Src: /src/mcl/include/mcl/she.hpp:576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pb
    - ' os'
    argTypes:
    - bool*
    - OutputStream
    constantsTouched: []
    func_position:
      end: 578
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 578
    functionName: mcl::she::save
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - cybozu::writeChar
    - mcl::she::save
    linkageType: ''
    returnType: void
    signature: void save(bool *pb, OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::load
      Src: /src/mcl/include/mcl/she.hpp:583,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 585
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 585
    functionName: mcl::she::load
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::load
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::save
      Src: /src/mcl/include/mcl/she.hpp:590,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 592
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 592
    functionName: mcl::she::save
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::save
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/include/mcl/she.hpp:595,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/she.hpp:595,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/she.hpp:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - ZkpT
    constantsTouched: []
    func_position:
      end: 597
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 597
    functionName: '& operator>>(std::istream& is, ZkpT& self)'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - load
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, ZkpT& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/she.hpp:600,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/she.hpp:600,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/she.hpp:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - ZkpT
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 602
    functionName: '& operator<<(std::ostream& os, const ZkpT& self)'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - save
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const ZkpT& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GT::GT
      Src: /src/mcl/include/mcl/she.hpp:643,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/she.hpp:644,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/she.hpp:645,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/she.hpp:647,1
    - Dst: mcl::unitaryInv
      Src: /src/mcl/include/mcl/she.hpp:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' dst'
    - v
    - a
    argTypes:
    - GT
    - GT*
    - Fr*
    constantsTouched: []
    func_position:
      end: 650
      start: 641
    functionDepth: 2
    functionLinenumber: 641
    functionLinenumberEnd: 650
    functionName: mcl::she::f
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - testFp12pow
    - mcl::unitaryInv
    - GT::GT
    linkageType: ''
    returnType: void
    signature: void f(GT& dst, const GT *v, const Fr *a) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GT::GT
      Src: /src/mcl/include/mcl/she.hpp:657,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/she.hpp:658,1
    - Dst: mcl::unitaryInv
      Src: /src/mcl/include/mcl/she.hpp:659,1
    - Dst: mcl::she::CipherTextGT::mul
      Src: /src/mcl/include/mcl/she.hpp:660,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/she.hpp:666,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/she.hpp:667,1
    - Dst: mcl::unitaryInv
      Src: /src/mcl/include/mcl/she.hpp:668,1
    - Dst: mcl::she::f
      Src: /src/mcl/include/mcl/she.hpp:671,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/she.hpp:672,1
    - Dst: mcl::unitaryInv
      Src: /src/mcl/include/mcl/she.hpp:673,1
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:677,1
    - Dst: local::Hash::get
      Src: /src/mcl/include/mcl/she.hpp:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - ' c'
    - m
    - ' zkp'
    argTypes:
    - CipherTextGT
    - int64_t
    - ZkpDecGT
    constantsTouched: []
    func_position:
      end: 680
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 680
    functionName: mcl::she::verify
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::CipherTextGT::mul
    - mcl::she::f
    - testFp12pow
    - local::Hash::get
    - mcl::unitaryInv
    - Fr::Fr
    - GT::GT
    linkageType: ''
    returnType: bool
    signature: bool verify(const CipherTextGT& c, int64_t m, const ZkpDecGT& zkp)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initPairing
      Src: /src/mcl/include/mcl/she.hpp:685,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/include/mcl/she.hpp:686,1
    - Dst: hashAndMapToG2
      Src: /src/mcl/include/mcl/she.hpp:687,1
    - Dst: pairing
      Src: /src/mcl/include/mcl/she.hpp:688,1
    - Dst: precomputeG2
      Src: /src/mcl/include/mcl/she.hpp:689,1
    - Dst: mcl::she::setRangeForDLP
      Src: /src/mcl/include/mcl/she.hpp:690,1
    - Dst: mcl::she::setTryNum
      Src: /src/mcl/include/mcl/she.hpp:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 695
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 695
    functionName: mcl::she::init
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - precomputeG2
    - pairing
    - hashAndMapToG1
    - hashAndMapToG2
    - mcl::she::setRangeForDLP
    - initPairing
    - mcl::she::setTryNum
    linkageType: ''
    returnType: void
    signature: void init(const mcl::CurveParam& cp = mcl::BN254, size_t hashSize =
      local::defaultHashSize, size_t tryNum = local::defaultTryNum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::initCurve<G1>
      Src: /src/mcl/include/mcl/she.hpp:701,1
    - Dst: mcl::she::setRangeForG1DLP
      Src: /src/mcl/include/mcl/she.hpp:702,1
    - Dst: mcl::she::setTryNum
      Src: /src/mcl/include/mcl/she.hpp:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - curveType
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 707
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 707
    functionName: mcl::she::initG1only
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::initCurve<G1>
    - mcl::she::setRangeForG1DLP
    - mcl::she::setTryNum
    linkageType: ''
    returnType: void
    signature: void initG1only(int curveType, size_t hashSize = local::defaultHashSize,
      size_t tryNum = local::defaultTryNum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::initG1only
      Src: /src/mcl/include/mcl/she.hpp:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' para'
    argTypes:
    - mcl::EcParam
    constantsTouched: []
    func_position:
      end: 711
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 711
    functionName: mcl::she::initG1only
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::initG1only
    linkageType: ''
    returnType: void
    signature: void initG1only(const mcl::EcParam& para, size_t hashSize = local::defaultHashSize,
      size_t tryNum = local::defaultTryNum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::init
      Src: /src/mcl/include/mcl/she.hpp:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hashSize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 718
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 718
    functionName: mcl::she::setRangeForG1DLP
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::init
    linkageType: ''
    returnType: void
    signature: void setRangeForG1DLP(size_t hashSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::init
      Src: /src/mcl/include/mcl/she.hpp:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hashSize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 725
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 725
    functionName: mcl::she::setRangeForG2DLP
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::init
    linkageType: ''
    returnType: void
    signature: void setRangeForG2DLP(size_t hashSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::init
      Src: /src/mcl/include/mcl/she.hpp:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hashSize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 732
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 732
    functionName: mcl::she::setRangeForGTDLP
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::init
    linkageType: ''
    returnType: void
    signature: void setRangeForGTDLP(size_t hashSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::setRangeForG1DLP
      Src: /src/mcl/include/mcl/she.hpp:740,1
    - Dst: mcl::she::setRangeForG2DLP
      Src: /src/mcl/include/mcl/she.hpp:741,1
    - Dst: mcl::she::setRangeForGTDLP
      Src: /src/mcl/include/mcl/she.hpp:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hashSize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 743
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 743
    functionName: mcl::she::setRangeForDLP
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - mcl::she::setRangeForGTDLP
    - mcl::she::setRangeForG1DLP
    - mcl::she::setRangeForG2DLP
    linkageType: ''
    returnType: void
    signature: void setRangeForDLP(size_t hashSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::setTryNum
      Src: /src/mcl/include/mcl/she.hpp:746,1
    - Dst: mcl::she::setTryNum
      Src: /src/mcl/include/mcl/she.hpp:747,1
    - Dst: mcl::she::setTryNum
      Src: /src/mcl/include/mcl/she.hpp:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tryNum
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 749
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 749
    functionName: mcl::she::setTryNum
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 3
    functionsReached:
    - mcl::she::setTryNum
    linkageType: ''
    returnType: void
    signature: void setTryNum(size_t tryNum)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 753
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 753
    functionName: mcl::she::useDecG1ViaGT
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void useDecG1ViaGT(bool use = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: mcl::she::useDecG2ViaGT
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void useDecG2ViaGT(bool use = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GT::GT
      Src: /src/mcl/include/mcl/she.hpp:771,1
    - Dst: mcl::unitaryInv
      Src: /src/mcl/include/mcl/she.hpp:772,1
    - Dst: mcl::unitaryInv
      Src: /src/mcl/include/mcl/she.hpp:773,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/she.hpp:774,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/she.hpp:776,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/she.hpp:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' v'
    - ' c'
    argTypes:
    - GT
    - CipherTextGT
    constantsTouched: []
    func_position:
      end: 780
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 780
    functionName: mcl::she::SecretKey::getPowOfePQ
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - testFp12pow
    - mcl::unitaryInv
    - GT::GT
    linkageType: ''
    returnType: void
    signature: void getPowOfePQ(GT& v, const CipherTextGT& c) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::RandGen::RandGen
      Src: /src/mcl/include/mcl/she.hpp:782,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/she.hpp:784,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/she.hpp:785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 786
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 786
    functionName: mcl::she::SecretKey::setByCSPRNG
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - setRand
    - mcl::fp::RandGen::RandGen
    linkageType: ''
    returnType: void
    signature: void setByCSPRNG(fp::RandGen rg = fp::RandGen())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/mcl/include/mcl/she.hpp:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pub'
    argTypes:
    - PublicKey
    constantsTouched: []
    func_position:
      end: 793
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 793
    functionName: mcl::she::SecretKey::getPublicKey
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - set
    linkageType: ''
    returnType: void
    signature: void getPublicKey(PublicKey& pub) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GT::GT
      Src: /src/mcl/include/mcl/she.hpp:800,1
    - Dst: mcl::unitaryInv
      Src: /src/mcl/include/mcl/she.hpp:801,1
    - Dst: mcl::unitaryInv
      Src: /src/mcl/include/mcl/she.hpp:807,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:810,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - GT
    - GT
    constantsTouched: []
    func_position:
      end: 811
      start: 796
    functionDepth: 2
    functionLinenumber: 796
    functionLinenumberEnd: 811
    functionName: mcl::she::SecretKey::log
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::unitaryInv
    - GT::GT
    linkageType: ''
    returnType: int
    signature: int log(const GT& x, const GT& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::SecretKey::decViaGT
      Src: /src/mcl/include/mcl/she.hpp:815,1
    - Dst: G1::G1
      Src: /src/mcl/include/mcl/she.hpp:821,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:822,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:823,1
    - Dst: mcl::she::SecretKey::log
      Src: /src/mcl/include/mcl/she.hpp:824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherTextG1
    constantsTouched: []
    func_position:
      end: 825
      start: 813
    functionDepth: 3
    functionLinenumber: 813
    functionLinenumberEnd: 825
    functionName: mcl::she::SecretKey::dec
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_mul
    - mcl::she::SecretKey::log
    - mcl::she::SecretKey::decViaGT
    linkageType: ''
    returnType: int64_t
    signature: int64_t dec(const CipherTextG1& c, bool *pok = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::SecretKey::decViaGT
      Src: /src/mcl/include/mcl/she.hpp:828,1
    - Dst: G2::G2
      Src: /src/mcl/include/mcl/she.hpp:829,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:830,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:831,1
    - Dst: mcl::she::SecretKey::log
      Src: /src/mcl/include/mcl/she.hpp:832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherTextG2
    constantsTouched: []
    func_position:
      end: 833
      start: 826
    functionDepth: 3
    functionLinenumber: 826
    functionLinenumberEnd: 833
    functionName: mcl::she::SecretKey::dec
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_sub
    - G2::G2
    - fiat_bls12_381_fp_mul
    - mcl::she::SecretKey::log
    - mcl::she::SecretKey::decViaGT
    linkageType: ''
    returnType: int64_t
    signature: int64_t dec(const CipherTextG2& c, bool *pok = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::SecretKey::dec
      Src: /src/mcl/include/mcl/she.hpp:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherTextA
    constantsTouched: []
    func_position:
      end: 837
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 837
    functionName: mcl::she::SecretKey::dec
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::SecretKey::dec
    linkageType: ''
    returnType: int64_t
    signature: int64_t dec(const CipherTextA& c, bool *pok = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GT::GT
      Src: /src/mcl/include/mcl/she.hpp:840,1
    - Dst: mcl::she::SecretKey::getPowOfePQ
      Src: /src/mcl/include/mcl/she.hpp:841,1
    - Dst: mcl::she::SecretKey::log
      Src: /src/mcl/include/mcl/she.hpp:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherTextGT
    constantsTouched: []
    func_position:
      end: 844
      start: 838
    functionDepth: 3
    functionLinenumber: 838
    functionLinenumberEnd: 844
    functionName: mcl::she::SecretKey::dec
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::SecretKey::getPowOfePQ
    - mcl::she::SecretKey::log
    - GT::GT
    linkageType: ''
    returnType: int64_t
    signature: int64_t dec(const CipherTextGT& c, bool *pok = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::G1
      Src: /src/mcl/include/mcl/she.hpp:847,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:848,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:849,1
    - Dst: GT::GT
      Src: /src/mcl/include/mcl/she.hpp:850,1
    - Dst: pairing
      Src: /src/mcl/include/mcl/she.hpp:851,1
    - Dst: mcl::she::SecretKey::log
      Src: /src/mcl/include/mcl/she.hpp:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherTextG1
    constantsTouched: []
    func_position:
      end: 853
      start: 845
    functionDepth: 3
    functionLinenumber: 845
    functionLinenumberEnd: 853
    functionName: mcl::she::SecretKey::decViaGT
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - G1::G1
    - pairing
    - fiat_bls12_381_fp_sub
    - fiat_bls12_381_fp_mul
    - GT::GT
    - mcl::she::SecretKey::log
    linkageType: ''
    returnType: int64_t
    signature: int64_t decViaGT(const CipherTextG1& c, bool *pok = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G2::G2
      Src: /src/mcl/include/mcl/she.hpp:856,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:857,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:858,1
    - Dst: GT::GT
      Src: /src/mcl/include/mcl/she.hpp:859,1
    - Dst: pairing
      Src: /src/mcl/include/mcl/she.hpp:860,1
    - Dst: mcl::she::SecretKey::log
      Src: /src/mcl/include/mcl/she.hpp:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherTextG2
    constantsTouched: []
    func_position:
      end: 862
      start: 854
    functionDepth: 3
    functionLinenumber: 854
    functionLinenumberEnd: 862
    functionName: mcl::she::SecretKey::decViaGT
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - pairing
    - fiat_bls12_381_fp_sub
    - G2::G2
    - fiat_bls12_381_fp_mul
    - GT::GT
    - mcl::she::SecretKey::log
    linkageType: ''
    returnType: int64_t
    signature: int64_t decViaGT(const CipherTextG2& c, bool *pok = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:865,1
    - Dst: mcl::she::SecretKey::dec
      Src: /src/mcl/include/mcl/she.hpp:866,1
    - Dst: mcl::she::SecretKey::dec
      Src: /src/mcl/include/mcl/she.hpp:868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherText
    constantsTouched: []
    func_position:
      end: 870
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 870
    functionName: mcl::she::SecretKey::dec
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - isMultiplied
    - mcl::she::SecretKey::dec
    linkageType: ''
    returnType: int64_t
    signature: int64_t dec(const CipherText& c, bool *pok = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::SecretKey::isZero
      Src: /src/mcl/include/mcl/she.hpp:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherTextG1
    constantsTouched: []
    func_position:
      end: 874
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 874
    functionName: mcl::she::SecretKey::isZero
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::SecretKey::isZero
    linkageType: ''
    returnType: bool
    signature: bool isZero(const CipherTextG1& c) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::SecretKey::isZero
      Src: /src/mcl/include/mcl/she.hpp:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherTextG2
    constantsTouched: []
    func_position:
      end: 878
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 878
    functionName: mcl::she::SecretKey::isZero
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - mcl::she::SecretKey::isZero
    linkageType: ''
    returnType: bool
    signature: bool isZero(const CipherTextG2& c) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c1_::isZero
      Src: /src/mcl/include/mcl/she.hpp:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherTextA
    constantsTouched: []
    func_position:
      end: 882
      start: 879
    functionDepth: 2
    functionLinenumber: 879
    functionLinenumberEnd: 882
    functionName: mcl::she::SecretKey::isZero
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - c1_::isZero
    linkageType: ''
    returnType: bool
    signature: bool isZero(const CipherTextA& c) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GT::GT
      Src: /src/mcl/include/mcl/she.hpp:885,1
    - Dst: mcl::she::SecretKey::getPowOfePQ
      Src: /src/mcl/include/mcl/she.hpp:886,1
    - Dst: GT::isOne
      Src: /src/mcl/include/mcl/she.hpp:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherTextGT
    constantsTouched: []
    func_position:
      end: 888
      start: 883
    functionDepth: 3
    functionLinenumber: 883
    functionLinenumberEnd: 888
    functionName: mcl::she::SecretKey::isZero
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - mcl::she::SecretKey::getPowOfePQ
    - GT::isOne
    - GT::GT
    linkageType: ''
    returnType: bool
    signature: bool isZero(const CipherTextGT& c) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:891,1
    - Dst: mcl::she::SecretKey::isZero
      Src: /src/mcl/include/mcl/she.hpp:892,1
    - Dst: mcl::she::SecretKey::isZero
      Src: /src/mcl/include/mcl/she.hpp:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherText
    constantsTouched: []
    func_position:
      end: 896
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 896
    functionName: mcl::she::SecretKey::isZero
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 3
    functionsReached:
    - isMultiplied
    - mcl::she::SecretKey::isZero
    linkageType: ''
    returnType: bool
    signature: bool isZero(const CipherText& c) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::G1
      Src: /src/mcl/include/mcl/she.hpp:905,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:906,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:907,1
    - Dst: G1::G1
      Src: /src/mcl/include/mcl/she.hpp:913,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:914,1
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:915,1
    - Dst: Fr::setRand
      Src: /src/mcl/include/mcl/she.hpp:916,1
    - Dst: G1::G1
      Src: /src/mcl/include/mcl/she.hpp:917,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:918,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:919,1
    - Dst: local::Hash::get
      Src: /src/mcl/include/mcl/she.hpp:924,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - pok
    - ' zkp'
    - ' c'
    - ' pub'
    argTypes:
    - bool*
    - ZkpDec
    - CipherTextG1
    - PublicKey
    constantsTouched: []
    func_position:
      end: 928
      start: 897
    functionDepth: 2
    functionLinenumber: 897
    functionLinenumberEnd: 928
    functionName: mcl::she::SecretKey::decWithZkpDec
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - Fr::setRand
    - fiat_bls12_381_fp_sub
    - local::Hash::get
    - Fr::Fr
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: int64_t
    signature: int64_t decWithZkpDec(bool *pok, ZkpDec& zkp, const CipherTextG1& c,
      const PublicKey& pub) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GT::GT
      Src: /src/mcl/include/mcl/she.hpp:936,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/she.hpp:937,1
    - Dst: mcl::unitaryInv
      Src: /src/mcl/include/mcl/she.hpp:938,1
    - Dst: mcl::she::CipherTextGT::mul
      Src: /src/mcl/include/mcl/she.hpp:939,1
    - Dst: mcl::she::SecretKey::setByCSPRNG
      Src: /src/mcl/include/mcl/she.hpp:948,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/she.hpp:949,1
    - Dst: f
      Src: /src/mcl/include/mcl/she.hpp:951,1
    - Dst: local::Hash::get
      Src: /src/mcl/include/mcl/she.hpp:956,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:957,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:958,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - pok
    - ' zkp'
    - ' c'
    - ' aux'
    argTypes:
    - bool*
    - ZkpDecGT
    - CipherTextGT
    - AuxiliaryForZkpDecGT
    constantsTouched: []
    func_position:
      end: 964
      start: 930
    functionDepth: 2
    functionLinenumber: 930
    functionLinenumberEnd: 964
    functionName: mcl::she::SecretKey::decWithZkpDec
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::CipherTextGT::mul
    - testFp12pow
    - local::Hash::get
    - mcl::unitaryInv
    - f
    - mcl::she::SecretKey::setByCSPRNG
    - fiat_bls12_381_fp_mul
    - GT::GT
    linkageType: ''
    returnType: int64_t
    signature: int64_t decWithZkpDec(bool *pok, ZkpDecGT& zkp, const CipherTextGT&
      c, const AuxiliaryForZkpDecGT& aux) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ' zkp'
    - ' c'
    - ' pub'
    argTypes:
    - ZkpDec
    - CipherTextG1
    - PublicKey
    constantsTouched: []
    func_position:
      end: 971
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 971
    functionName: mcl::she::SecretKey::decWithZkpDec
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: int64_t
    signature: int64_t decWithZkpDec(ZkpDec& zkp, const CipherTextG1& c, const PublicKey&
      pub) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ' zkp'
    - ' c'
    - ' aux'
    argTypes:
    - ZkpDecGT
    - CipherTextGT
    - AuxiliaryForZkpDecGT
    constantsTouched: []
    func_position:
      end: 978
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 978
    functionName: mcl::she::SecretKey::decWithZkpDec
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: int64_t
    signature: int64_t decWithZkpDec(ZkpDecGT& zkp, const CipherTextGT& c, const AuxiliaryForZkpDecGT&
      aux) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::SecretKey::load
      Src: /src/mcl/include/mcl/she.hpp:982,1
    - Dst: mcl::she::SecretKey::load
      Src: /src/mcl/include/mcl/she.hpp:983,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pb
    - ' is'
    argTypes:
    - bool*
    - InputStream
    constantsTouched: []
    func_position:
      end: 984
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 984
    functionName: mcl::she::SecretKey::load
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::SecretKey::load
    linkageType: ''
    returnType: void
    signature: void load(bool *pb, InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::SecretKey::save
      Src: /src/mcl/include/mcl/she.hpp:989,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/she.hpp:992,1
    - Dst: mcl::she::SecretKey::save
      Src: /src/mcl/include/mcl/she.hpp:995,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pb
    - ' os'
    argTypes:
    - bool*
    - OutputStream
    constantsTouched: []
    func_position:
      end: 996
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 996
    functionName: mcl::she::SecretKey::save
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - cybozu::writeChar
    - mcl::she::SecretKey::save
    linkageType: ''
    returnType: void
    signature: void save(bool *pb, OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::SecretKey::load
      Src: /src/mcl/include/mcl/she.hpp:1001,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:1002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 1003
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1003
    functionName: mcl::she::SecretKey::load
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::SecretKey::load
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::SecretKey::save
      Src: /src/mcl/include/mcl/she.hpp:1008,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:1009,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 1010
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1010
    functionName: mcl::she::SecretKey::save
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::SecretKey::save
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/include/mcl/she.hpp:1013,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/she.hpp:1013,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/she.hpp:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - SecretKey
    constantsTouched: []
    func_position:
      end: 1015
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1015
    functionName: '& operator>>(std::istream& is, SecretKey& self)'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - load
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, SecretKey& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/she.hpp:1018,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/she.hpp:1018,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/she.hpp:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - SecretKey
    constantsTouched: []
    func_position:
      end: 1020
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1020
    functionName: '& operator<<(std::ostream& os, const SecretKey& self)'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - save
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const SecretKey& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SecretKey
    constantsTouched: []
    func_position:
      end: 1024
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1024
    functionName: operator==(const SecretKey& rhs) const
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SecretKey& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SecretKey
    constantsTouched: []
    func_position:
      end: 1025
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1025
    functionName: operator!=(const SecretKey& rhs) const
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const SecretKey& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1038,1
    - Dst: Fr::setRand
      Src: /src/mcl/include/mcl/she.hpp:1042,1
    - Dst: mcl::she::mul
      Src: /src/mcl/include/mcl/she.hpp:1044,1
    - Dst: static_cast<I&>
      Src: /src/mcl/include/mcl/she.hpp:1044,1
    - Dst: mcl::she::mul
      Src: /src/mcl/include/mcl/she.hpp:1045,1
    - Dst: mcl::she::mul
      Src: /src/mcl/include/mcl/she.hpp:1048,1
    - Dst: static_cast<I&>
      Src: /src/mcl/include/mcl/she.hpp:1048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ' S'
    - ' T'
    - ' m'
    - ' Pmul'
    - ' xPmul'
    argTypes:
    - G
    - G
    - INT
    - mcl::fp::WindowMethod<I>
    - MulG
    constantsTouched: []
    func_position:
      end: 1050
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1050
    functionName: mcl::she::ElGamalEnc
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - static_cast<I&>
    - Fr::setRand
    - Fr::Fr
    - mcl::she::mul
    linkageType: ''
    returnType: void
    signature: void ElGamalEnc(G& S, G& T, const INT& m, const mcl::fp::WindowMethod<I>&
      Pmul, const MulG& xPmul, const Fr *encRand = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setRand
      Src: /src/mcl/include/mcl/she.hpp:1073,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/she.hpp:1074,1
    - Dst: mcl::she::mul
      Src: /src/mcl/include/mcl/she.hpp:1076,1
    - Dst: static_cast<I&>
      Src: /src/mcl/include/mcl/she.hpp:1076,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1077,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:1078,1
    - Dst: mcl::she::mul
      Src: /src/mcl/include/mcl/she.hpp:1079,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:1081,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1082,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1084,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:1086,1
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1087,1
    - Dst: Fr::setRand
      Src: /src/mcl/include/mcl/she.hpp:1088,1
    - Dst: mcl::she::mul
      Src: /src/mcl/include/mcl/she.hpp:1089,1
    - Dst: static_cast<I&>
      Src: /src/mcl/include/mcl/she.hpp:1089,1
    - Dst: mcl::she::mul
      Src: /src/mcl/include/mcl/she.hpp:1090,1
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1091,1
    - Dst: local::Hash::get
      Src: /src/mcl/include/mcl/she.hpp:1094,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 8
    argNames:
    - ' zkp'
    - ' S'
    - ' T'
    - ' encRand'
    - ' P'
    - m
    - ' Pmul'
    - ' xPmul'
    argTypes:
    - ZkpBin
    - G
    - G
    - Fr
    - G
    - int
    - mcl::fp::WindowMethod<I>
    - MulG
    constantsTouched: []
    func_position:
      end: 1098
      start: 1067
    functionDepth: 2
    functionLinenumber: 1067
    functionLinenumberEnd: 1098
    functionName: mcl::she::makeZkpBin
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - setRand
    - Fr::setRand
    - static_cast<I&>
    - fiat_bls12_381_fp_sub
    - local::Hash::get
    - fiat_bls12_381_fp_mul
    - mcl::she::mul
    - Fr::Fr
    linkageType: ''
    returnType: bool
    signature: bool makeZkpBin(ZkpBin& zkp, const G& S, const G& T, const Fr& encRand,
      const G& P, int m, const mcl::fp::WindowMethod<I>& Pmul, const MulG& xPmul)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::mul
      Src: /src/mcl/include/mcl/she.hpp:1114,1
    - Dst: static_cast<I&>
      Src: /src/mcl/include/mcl/she.hpp:1114,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1115,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:1116,1
    - Dst: mcl::she::mul
      Src: /src/mcl/include/mcl/she.hpp:1118,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1119,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:1120,1
    - Dst: mcl::she::mul
      Src: /src/mcl/include/mcl/she.hpp:1121,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:1122,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1123,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:1124,1
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1125,1
    - Dst: local::Hash::get
      Src: /src/mcl/include/mcl/she.hpp:1128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - ' S'
    - ' T'
    - ' P'
    - ' zkp'
    - ' Pmul'
    - ' xPmul'
    argTypes:
    - G
    - G
    - G
    - ZkpBin
    - mcl::fp::WindowMethod<I>
    - MulG
    constantsTouched: []
    func_position:
      end: 1130
      start: 1107
    functionDepth: 2
    functionLinenumber: 1107
    functionLinenumberEnd: 1130
    functionName: mcl::she::verifyZkpBin
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - static_cast<I&>
    - fiat_bls12_381_fp_sub
    - local::Hash::get
    - Fr::Fr
    - fiat_bls12_381_fp_mul
    - mcl::she::mul
    linkageType: ''
    returnType: bool
    signature: bool verifyZkpBin(const G& S, const G& T, const G& P, const ZkpBin&
      zkp, const mcl::fp::WindowMethod<I>& Pmul, const MulG& xPmul)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - mVec
    - mSize
    argTypes:
    - int*
    - size_t
    constantsTouched: []
    func_position:
      end: 1139
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1139
    functionName: mcl::she::check_mVec
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_mVec(const int *mVec, size_t mSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::check_mVec
      Src: /src/mcl/include/mcl/she.hpp:1151,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/she.hpp:1165,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/she.hpp:1167,1
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1173,1
    - Dst: Fr::clear
      Src: /src/mcl/include/mcl/she.hpp:1175,1
    - Dst: mcl::she::ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1182,1
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1189,1
    - Dst: local::Hash::get
      Src: /src/mcl/include/mcl/she.hpp:1190,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 10
    argNames:
    - zkp
    - ' xP'
    - ' S'
    - ' T'
    - ' encRand'
    - m
    - mVec
    - mSize
    - ' Pmul'
    - ' xPmul'
    argTypes:
    - Fr*
    - G
    - G
    - G
    - Fr
    - int
    - int*
    - size_t
    - mcl::fp::WindowMethod<I>
    - MulG
    constantsTouched: []
    func_position:
      end: 1194
      start: 1149
    functionDepth: 2
    functionLinenumber: 1149
    functionLinenumberEnd: 1194
    functionName: mcl::she::makeZkpSet
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::ElGamalEnc
    - setRand
    - local::Hash::get
    - mcl::she::check_mVec
    - Fr::clear
    - Fr::Fr
    linkageType: ''
    returnType: bool
    signature: bool makeZkpSet(Fr *zkp, const G& xP, const G& S, const G& T, const
      Fr& encRand, int m, const int *mVec, size_t mSize, const mcl::fp::WindowMethod<I>&
      Pmul, const MulG& xPmul)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::check_mVec
      Src: /src/mcl/include/mcl/she.hpp:1203,1
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1206,1
    - Dst: G1::G1
      Src: /src/mcl/include/mcl/she.hpp:1215,1
    - Dst: mcl::she::mul
      Src: /src/mcl/include/mcl/she.hpp:1216,1
    - Dst: static_cast<I&>
      Src: /src/mcl/include/mcl/she.hpp:1216,1
    - Dst: mcl::she::mul
      Src: /src/mcl/include/mcl/she.hpp:1217,1
    - Dst: mcl::she::mul
      Src: /src/mcl/include/mcl/she.hpp:1218,1
    - Dst: static_cast<I&>
      Src: /src/mcl/include/mcl/she.hpp:1218,1
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1224,1
    - Dst: local::Hash::get
      Src: /src/mcl/include/mcl/she.hpp:1225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 8
    argNames:
    - ' xP'
    - ' S'
    - ' T'
    - zkp
    - mVec
    - mSize
    - ' Pmul'
    - ' xPmul'
    argTypes:
    - G
    - G
    - G
    - Fr*
    - int*
    - size_t
    - mcl::fp::WindowMethod<I>
    - MulG
    constantsTouched: []
    func_position:
      end: 1227
      start: 1201
    functionDepth: 1
    functionLinenumber: 1201
    functionLinenumberEnd: 1227
    functionName: mcl::she::verifyZkpSet
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - static_cast<I&>
    - local::Hash::get
    - mcl::she::check_mVec
    - Fr::Fr
    - mcl::she::mul
    linkageType: ''
    returnType: bool
    signature: bool verifyZkpSet(const G& xP, const G& S, const G& T, const Fr *zkp,
      const int *mVec, size_t mSize, const mcl::fp::WindowMethod<I>& Pmul, const MulG&
      xPmul)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1234,1
    - Dst: Fr::setRand
      Src: /src/mcl/include/mcl/she.hpp:1235,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/she.hpp:1236,1
    - Dst: mcl::she::ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1237,1
    - Dst: mcl::she::ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1238,1
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1239,1
    - Dst: Fr::setRand
      Src: /src/mcl/include/mcl/she.hpp:1240,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/she.hpp:1241,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/she.hpp:1242,1
    - Dst: G1::G1
      Src: /src/mcl/include/mcl/she.hpp:1243,1
    - Dst: G2::G2
      Src: /src/mcl/include/mcl/she.hpp:1244,1
    - Dst: mcl::she::ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1245,1
    - Dst: mcl::she::ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1246,1
    - Dst: local::Hash::get
      Src: /src/mcl/include/mcl/she.hpp:1253,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1254,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1256,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 10
    argNames:
    - ' zkp'
    - ' S1'
    - ' T1'
    - ' S2'
    - ' T2'
    - ' m'
    - ' Pmul'
    - ' xPmul'
    - ' Qmul'
    - ' yQmul'
    argTypes:
    - ZkpEq
    - G1
    - G1
    - G2
    - G2
    - INT
    - mcl::fp::WindowMethod<I1>
    - MulG1
    - mcl::fp::WindowMethod<I2>
    - MulG2
    constantsTouched: []
    func_position:
      end: 1260
      start: 1232
    functionDepth: 2
    functionLinenumber: 1232
    functionLinenumberEnd: 1260
    functionName: mcl::she::makeZkpEq
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - mcl::she::ElGamalEnc
    - setRand
    - Fr::setRand
    - G2::G2
    - local::Hash::get
    - Fr::Fr
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void makeZkpEq(ZkpEq& zkp, G1& S1, G1& T1, G2& S2, G2& T2, const INT&
      m, const mcl::fp::WindowMethod<I1>& Pmul, const MulG1& xPmul, const mcl::fp::WindowMethod<I2>&
      Qmul, const MulG2& yQmul)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::G1
      Src: /src/mcl/include/mcl/she.hpp:1268,1
    - Dst: G2::G2
      Src: /src/mcl/include/mcl/she.hpp:1269,1
    - Dst: mcl::she::ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1270,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1271,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1273,1
    - Dst: mcl::she::ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1275,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1276,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1278,1
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1280,1
    - Dst: local::Hash::get
      Src: /src/mcl/include/mcl/she.hpp:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 9
    argNames:
    - ' zkp'
    - ' S1'
    - ' T1'
    - ' S2'
    - ' T2'
    - ' Pmul'
    - ' xPmul'
    - ' Qmul'
    - ' yQmul'
    argTypes:
    - ZkpEq
    - G1
    - G1
    - G2
    - G2
    - mcl::fp::WindowMethod<I1>
    - MulG1
    - mcl::fp::WindowMethod<I2>
    - MulG2
    constantsTouched: []
    func_position:
      end: 1285
      start: 1262
    functionDepth: 2
    functionLinenumber: 1262
    functionLinenumberEnd: 1285
    functionName: mcl::she::verifyZkpEq
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - mcl::she::ElGamalEnc
    - G2::G2
    - local::Hash::get
    - Fr::Fr
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: bool
    signature: bool verifyZkpEq(const ZkpEq& zkp, const G1& S1, const G1& T1, const
      G2& S2, const G2& T2, const mcl::fp::WindowMethod<I1>& Pmul, const MulG1& xPmul,
      const mcl::fp::WindowMethod<I2>& Qmul, const MulG2& yQmul)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1298,1
    - Dst: Fr::setRand
      Src: /src/mcl/include/mcl/she.hpp:1299,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/she.hpp:1300,1
    - Dst: mcl::she::ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1301,1
    - Dst: mcl::she::ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1302,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/she.hpp:1303,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/she.hpp:1304,1
    - Dst: mcl::she::mul
      Src: /src/mcl/include/mcl/she.hpp:1306,1
    - Dst: static_cast<I1&>
      Src: /src/mcl/include/mcl/she.hpp:1306,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1307,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:1310,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1311,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1313,1
    - Dst: mcl::she::mul
      Src: /src/mcl/include/mcl/she.hpp:1315,1
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1317,1
    - Dst: Fr::setRand
      Src: /src/mcl/include/mcl/she.hpp:1318,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/she.hpp:1319,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/she.hpp:1320,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/she.hpp:1321,1
    - Dst: mcl::she::ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1322,1
    - Dst: G1::G1
      Src: /src/mcl/include/mcl/she.hpp:1323,1
    - Dst: G2::G2
      Src: /src/mcl/include/mcl/she.hpp:1324,1
    - Dst: mcl::she::ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1325,1
    - Dst: mcl::she::ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1326,1
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1327,1
    - Dst: local::Hash::get
      Src: /src/mcl/include/mcl/she.hpp:1330,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:1331,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1332,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1334,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1336,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 10
    argNames:
    - ' zkp'
    - ' S1'
    - ' T1'
    - ' S2'
    - ' T2'
    - m
    - ' Pmul'
    - ' xPmul'
    - ' Qmul'
    - ' yQmul'
    argTypes:
    - ZkpBinEq
    - G1
    - G1
    - G2
    - G2
    - int
    - mcl::fp::WindowMethod<I1>
    - MulG1
    - mcl::fp::WindowMethod<I2>
    - MulG2
    constantsTouched: []
    func_position:
      end: 1341
      start: 1290
    functionDepth: 2
    functionLinenumber: 1290
    functionLinenumberEnd: 1341
    functionName: mcl::she::makeZkpBinEq
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - mcl::she::ElGamalEnc
    - setRand
    - Fr::setRand
    - static_cast<I1&>
    - fiat_bls12_381_fp_sub
    - G2::G2
    - local::Hash::get
    - Fr::Fr
    - mcl::she::mul
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: bool
    signature: bool makeZkpBinEq(ZkpBinEq& zkp, G1& S1, G1& T1, G2& S2, G2& T2, int
      m, const mcl::fp::WindowMethod<I1>& Pmul, const MulG1& xPmul, const mcl::fp::WindowMethod<I2>&
      Qmul, const MulG2& yQmul)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::mul
      Src: /src/mcl/include/mcl/she.hpp:1352,1
    - Dst: static_cast<I1&>
      Src: /src/mcl/include/mcl/she.hpp:1352,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1353,1
    - Dst: mcl::she::mul
      Src: /src/mcl/include/mcl/she.hpp:1356,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1357,1
    - Dst: mcl::she::mul
      Src: /src/mcl/include/mcl/she.hpp:1359,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:1360,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1361,1
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1363,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/she.hpp:1364,1
    - Dst: G1::G1
      Src: /src/mcl/include/mcl/she.hpp:1365,1
    - Dst: G2::G2
      Src: /src/mcl/include/mcl/she.hpp:1366,1
    - Dst: mcl::she::ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1367,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1368,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1370,1
    - Dst: mcl::she::ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1372,1
    - Dst: G2::G2
      Src: /src/mcl/include/mcl/she.hpp:1373,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1374,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1376,1
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1378,1
    - Dst: local::Hash::get
      Src: /src/mcl/include/mcl/she.hpp:1381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 9
    argNames:
    - ' zkp'
    - ' S1'
    - ' T1'
    - ' S2'
    - ' T2'
    - ' Pmul'
    - ' xPmul'
    - ' Qmul'
    - ' yQmul'
    argTypes:
    - ZkpBinEq
    - G1
    - G1
    - G2
    - G2
    - mcl::fp::WindowMethod<I1>
    - MulG1
    - mcl::fp::WindowMethod<I2>
    - MulG2
    constantsTouched: []
    func_position:
      end: 1383
      start: 1343
    functionDepth: 2
    functionLinenumber: 1343
    functionLinenumberEnd: 1383
    functionName: mcl::she::verifyZkpBinEq
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - mcl::she::ElGamalEnc
    - static_cast<I1&>
    - fiat_bls12_381_fp_sub
    - G2::G2
    - local::Hash::get
    - fiat_bls12_381_fp_add
    - Fr::Fr
    - fiat_bls12_381_fp_mul
    - mcl::she::mul
    linkageType: ''
    returnType: bool
    signature: bool verifyZkpBinEq(const ZkpBinEq& zkp, const G1& S1, const G1& T1,
      const G2& S2, const G2& T2, const mcl::fp::WindowMethod<I1>& Pmul, const MulG1&
      xPmul, const mcl::fp::WindowMethod<I2>& Qmul, const MulG2& yQmul)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const T&>
      Src: /src/mcl/include/mcl/she.hpp:1396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - ' m'
    argTypes:
    - CipherTextG1
    - INT
    constantsTouched: []
    func_position:
      end: 1397
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1397
    functionName: mcl::she::enc
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const T&>
    linkageType: ''
    returnType: void
    signature: void enc(CipherTextG1& c, const INT& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const T&>
      Src: /src/mcl/include/mcl/she.hpp:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - ' m'
    argTypes:
    - CipherTextG2
    - INT
    constantsTouched: []
    func_position:
      end: 1402
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1402
    functionName: mcl::she::enc
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const T&>
    linkageType: ''
    returnType: void
    signature: void enc(CipherTextG2& c, const INT& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::enc
      Src: /src/mcl/include/mcl/she.hpp:1406,1
    - Dst: mcl::she::enc
      Src: /src/mcl/include/mcl/she.hpp:1407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' c'
    - ' m'
    argTypes:
    - CipherTextA
    - INT
    constantsTouched: []
    func_position:
      end: 1408
      start: 1404
    functionDepth: 1
    functionLinenumber: 1404
    functionLinenumberEnd: 1408
    functionName: mcl::she::enc
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::enc
    linkageType: ''
    returnType: void
    signature: void enc(CipherTextA& c, const INT& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const T&>
      Src: /src/mcl/include/mcl/she.hpp:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - ' m'
    argTypes:
    - CipherTextGT
    - INT
    constantsTouched: []
    func_position:
      end: 1413
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1413
    functionName: mcl::she::enc
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - static_cast<const T&>
    linkageType: ''
    returnType: void
    signature: void enc(CipherTextGT& c, const INT& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::enc
      Src: /src/mcl/include/mcl/she.hpp:1419,1
    - Dst: mcl::she::enc
      Src: /src/mcl/include/mcl/she.hpp:1421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' c'
    - ' m'
    argTypes:
    - CipherText
    - INT
    constantsTouched: []
    func_position:
      end: 1423
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1423
    functionName: mcl::she::enc
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - mcl::she::enc
    linkageType: ''
    returnType: void
    signature: void enc(CipherText& c, const INT& m, bool multiplied = false) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const T&>
      Src: /src/mcl/include/mcl/she.hpp:1431,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/she.hpp:1432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CT
    constantsTouched: []
    func_position:
      end: 1433
      start: 1428
    functionDepth: 2
    functionLinenumber: 1428
    functionLinenumberEnd: 1433
    functionName: mcl::she::reRandT
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const T&>
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void reRandT(CT& c) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::reRandT
      Src: /src/mcl/include/mcl/she.hpp:1434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherTextG1
    constantsTouched: []
    func_position:
      end: 1434
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1434
    functionName: mcl::she::reRand
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::reRandT
    linkageType: ''
    returnType: void
    signature: void reRand(CipherTextG1& c) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::reRandT
      Src: /src/mcl/include/mcl/she.hpp:1435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherTextG2
    constantsTouched: []
    func_position:
      end: 1435
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1435
    functionName: mcl::she::reRand
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::reRandT
    linkageType: ''
    returnType: void
    signature: void reRand(CipherTextG2& c) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::reRandT
      Src: /src/mcl/include/mcl/she.hpp:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherTextGT
    constantsTouched: []
    func_position:
      end: 1436
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1436
    functionName: mcl::she::reRand
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::reRandT
    linkageType: ''
    returnType: void
    signature: void reRand(CipherTextGT& c) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:1439,1
    - Dst: mcl::she::reRandT
      Src: /src/mcl/include/mcl/she.hpp:1440,1
    - Dst: mcl::she::reRandT
      Src: /src/mcl/include/mcl/she.hpp:1442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherText
    constantsTouched: []
    func_position:
      end: 1444
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1444
    functionName: mcl::she::reRand
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - isMultiplied
    - mcl::she::reRandT
    linkageType: ''
    returnType: void
    signature: void reRand(CipherText& c) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: precomputedMillerLoop
      Src: /src/mcl/include/mcl/she.hpp:1454,1
    - Dst: getS
      Src: /src/mcl/include/mcl/she.hpp:1454,1
    - Dst: finalExp
      Src: /src/mcl/include/mcl/she.hpp:1455,1
    - Dst: precomputedMillerLoop
      Src: /src/mcl/include/mcl/she.hpp:1456,1
    - Dst: getT
      Src: /src/mcl/include/mcl/she.hpp:1456,1
    - Dst: finalExp
      Src: /src/mcl/include/mcl/she.hpp:1457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' cm'
    - ' c1'
    argTypes:
    - CipherTextGT
    - CipherTextG1
    constantsTouched: []
    func_position:
      end: 1460
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1460
    functionName: mcl::she::convert
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - getT
    - getS
    - precomputedMillerLoop
    - finalExp
    linkageType: ''
    returnType: void
    signature: void convert(CipherTextGT& cm, const CipherTextG1& c1) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pairing
      Src: /src/mcl/include/mcl/she.hpp:1470,1
    - Dst: getS
      Src: /src/mcl/include/mcl/she.hpp:1470,1
    - Dst: pairing
      Src: /src/mcl/include/mcl/she.hpp:1471,1
    - Dst: getT
      Src: /src/mcl/include/mcl/she.hpp:1471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' cm'
    - ' c2'
    argTypes:
    - CipherTextGT
    - CipherTextG2
    constantsTouched: []
    func_position:
      end: 1473
      start: 1464
    functionDepth: 1
    functionLinenumber: 1464
    functionLinenumberEnd: 1473
    functionName: mcl::she::convert
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - getS
    - pairing
    - getT
    linkageType: ''
    returnType: void
    signature: void convert(CipherTextGT& cm, const CipherTextG2& c2) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::convert
      Src: /src/mcl/include/mcl/she.hpp:1476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cm'
    - ' ca'
    argTypes:
    - CipherTextGT
    - CipherTextA
    constantsTouched: []
    func_position:
      end: 1477
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1477
    functionName: mcl::she::convert
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::convert
    linkageType: ''
    returnType: void
    signature: void convert(CipherTextGT& cm, const CipherTextA& ca) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:1480,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:1480,1
    - Dst: mcl::she::convert
      Src: /src/mcl/include/mcl/she.hpp:1482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' cm'
    - ' ca'
    argTypes:
    - CipherText
    - CipherText
    constantsTouched: []
    func_position:
      end: 1483
      start: 1478
    functionDepth: 1
    functionLinenumber: 1478
    functionLinenumberEnd: 1483
    functionName: mcl::she::convert
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - isMultiplied
    - mcl::she::convert
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void convert(CipherText& cm, const CipherText& ca) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' base'
    argTypes:
    - G
    constantsTouched: []
    func_position:
      end: 1497
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1497
    functionName: mcl::she::PublicKey::MulG
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MulG(const G& base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' m'
    argTypes:
    - G
    - INT
    constantsTouched: []
    func_position:
      end: 1502
      start: 1499
    functionDepth: 2
    functionLinenumber: 1499
    functionLinenumberEnd: 1502
    functionName: mcl::she::PublicKey::mul
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mul(G& out, const INT& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1506,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Fr
    - Fr
    constantsTouched: []
    func_position:
      end: 1508
      start: 1504
    functionDepth: 2
    functionLinenumber: 1504
    functionLinenumberEnd: 1508
    functionName: mcl::she::PublicKey::set
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void set(const Fr& x, const Fr& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1513,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - ' m'
    argTypes:
    - CipherTextG1
    - INT
    constantsTouched: []
    func_position:
      end: 1514
      start: 1510
    functionDepth: 0
    functionLinenumber: 1510
    functionLinenumberEnd: 1514
    functionName: mcl::she::PublicKey::encG1
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - getWM
    - ElGamalEnc
    linkageType: ''
    returnType: void
    signature: void encG1(CipherTextG1& c, const INT& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1519,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - ' m'
    argTypes:
    - CipherTextG2
    - INT
    constantsTouched: []
    func_position:
      end: 1520
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1520
    functionName: mcl::she::PublicKey::encG2
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - getWM
    - ElGamalEnc
    linkageType: ''
    returnType: void
    signature: void encG2(CipherTextG2& c, const INT& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pairing
      Src: /src/mcl/include/mcl/she.hpp:1525,1
    - Dst: pairing
      Src: /src/mcl/include/mcl/she.hpp:1526,1
    - Dst: pairing
      Src: /src/mcl/include/mcl/she.hpp:1527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' aux'
    argTypes:
    - AuxiliaryForZkpDecGT
    constantsTouched: []
    func_position:
      end: 1528
      start: 1522
    functionDepth: 1
    functionLinenumber: 1522
    functionLinenumberEnd: 1528
    functionName: mcl::she::PublicKey::getAuxiliaryForZkpDecGT
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - pairing
    linkageType: ''
    returnType: void
    signature: void getAuxiliaryForZkpDecGT(AuxiliaryForZkpDecGT& aux) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1531,1
    - Dst: Fr::setRand
      Src: /src/mcl/include/mcl/she.hpp:1532,1
    - Dst: ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1534,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1534,1
    - Dst: makeZkpBin
      Src: /src/mcl/include/mcl/she.hpp:1535,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pb
    - ' c'
    - ' zkp'
    - m
    argTypes:
    - bool*
    - CipherTextG1
    - ZkpBin
    - int
    constantsTouched: []
    func_position:
      end: 1536
      start: 1529
    functionDepth: 1
    functionLinenumber: 1529
    functionLinenumberEnd: 1536
    functionName: mcl::she::PublicKey::encWithZkpBin
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - Fr::setRand
    - makeZkpBin
    - Fr::Fr
    - ElGamalEnc
    - getWM
    linkageType: ''
    returnType: void
    signature: void encWithZkpBin(bool *pb, CipherTextG1& c, ZkpBin& zkp, int m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::PublicKey::encWithZkpBin
      Src: /src/mcl/include/mcl/she.hpp:1540,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:1542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' c'
    - ' zkp'
    - m
    argTypes:
    - CipherTextG1
    - ZkpBin
    - int
    constantsTouched: []
    func_position:
      end: 1544
      start: 1537
    functionDepth: 1
    functionLinenumber: 1537
    functionLinenumberEnd: 1544
    functionName: mcl::she::PublicKey::encWithZkpBin
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::PublicKey::encWithZkpBin
    linkageType: ''
    returnType: void
    signature: void encWithZkpBin(CipherTextG1& c, ZkpBin& zkp, int m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1547,1
    - Dst: Fr::setRand
      Src: /src/mcl/include/mcl/she.hpp:1548,1
    - Dst: ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1550,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1550,1
    - Dst: makeZkpBin
      Src: /src/mcl/include/mcl/she.hpp:1551,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pb
    - ' c'
    - ' zkp'
    - m
    argTypes:
    - bool*
    - CipherTextG2
    - ZkpBin
    - int
    constantsTouched: []
    func_position:
      end: 1552
      start: 1545
    functionDepth: 1
    functionLinenumber: 1545
    functionLinenumberEnd: 1552
    functionName: mcl::she::PublicKey::encWithZkpBin
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - Fr::setRand
    - makeZkpBin
    - Fr::Fr
    - ElGamalEnc
    - getWM
    linkageType: ''
    returnType: void
    signature: void encWithZkpBin(bool *pb, CipherTextG2& c, ZkpBin& zkp, int m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::PublicKey::encWithZkpBin
      Src: /src/mcl/include/mcl/she.hpp:1556,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:1558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' c'
    - ' zkp'
    - m
    argTypes:
    - CipherTextG2
    - ZkpBin
    - int
    constantsTouched: []
    func_position:
      end: 1560
      start: 1553
    functionDepth: 1
    functionLinenumber: 1553
    functionLinenumberEnd: 1560
    functionName: mcl::she::PublicKey::encWithZkpBin
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::PublicKey::encWithZkpBin
    linkageType: ''
    returnType: void
    signature: void encWithZkpBin(CipherTextG2& c, ZkpBin& zkp, int m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1563,1
    - Dst: Fr::setRand
      Src: /src/mcl/include/mcl/she.hpp:1564,1
    - Dst: ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1566,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1566,1
    - Dst: makeZkpSet
      Src: /src/mcl/include/mcl/she.hpp:1567,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - pb
    - ' c'
    - zkp
    - m
    - mVec
    - mSize
    argTypes:
    - bool*
    - CipherTextG1
    - Fr*
    - int
    - int*
    - size_t
    constantsTouched: []
    func_position:
      end: 1568
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1568
    functionName: mcl::she::PublicKey::encWithZkpSet
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - Fr::setRand
    - makeZkpSet
    - Fr::Fr
    - ElGamalEnc
    - getWM
    linkageType: ''
    returnType: void
    signature: void encWithZkpSet(bool *pb, CipherTextG1& c, Fr *zkp, int m, const
      int *mVec, size_t mSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::PublicKey::encWithZkpSet
      Src: /src/mcl/include/mcl/she.hpp:1572,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:1574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - ' c'
    - zkp
    - m
    - mVec
    - mSize
    argTypes:
    - CipherTextG1
    - Fr*
    - int
    - int*
    - size_t
    constantsTouched: []
    func_position:
      end: 1576
      start: 1569
    functionDepth: 1
    functionLinenumber: 1569
    functionLinenumberEnd: 1576
    functionName: mcl::she::PublicKey::encWithZkpSet
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::PublicKey::encWithZkpSet
    linkageType: ''
    returnType: void
    signature: void encWithZkpSet(CipherTextG1& c, Fr *zkp, int m, const int *mVec,
      size_t mSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyZkpBin
      Src: /src/mcl/include/mcl/she.hpp:1580,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - ' zkp'
    argTypes:
    - CipherTextG1
    - ZkpBin
    constantsTouched: []
    func_position:
      end: 1581
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1581
    functionName: mcl::she::PublicKey::verify
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - verifyZkpBin
    - getWM
    linkageType: ''
    returnType: bool
    signature: bool verify(const CipherTextG1& c, const ZkpBin& zkp) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::G1
      Src: /src/mcl/include/mcl/she.hpp:1592,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1593,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:1595,1
    - Dst: G1::G1
      Src: /src/mcl/include/mcl/she.hpp:1596,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1597,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1598,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1599,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1601,1
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1603,1
    - Dst: local::Hash::get
      Src: /src/mcl/include/mcl/she.hpp:1606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - ' c'
    - m
    - ' zkp'
    argTypes:
    - CipherTextG1
    - int64_t
    - ZkpDec
    constantsTouched: []
    func_position:
      end: 1608
      start: 1582
    functionDepth: 2
    functionLinenumber: 1582
    functionLinenumberEnd: 1608
    functionName: mcl::she::PublicKey::verify
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - fiat_bls12_381_fp_sub
    - local::Hash::get
    - Fr::Fr
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: bool
    signature: bool verify(const CipherTextG1& c, int64_t m, const ZkpDec& zkp) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyZkpBin
      Src: /src/mcl/include/mcl/she.hpp:1612,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - ' zkp'
    argTypes:
    - CipherTextG2
    - ZkpBin
    constantsTouched: []
    func_position:
      end: 1613
      start: 1609
    functionDepth: 0
    functionLinenumber: 1609
    functionLinenumberEnd: 1613
    functionName: mcl::she::PublicKey::verify
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - verifyZkpBin
    - getWM
    linkageType: ''
    returnType: bool
    signature: bool verify(const CipherTextG2& c, const ZkpBin& zkp) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyZkpSet
      Src: /src/mcl/include/mcl/she.hpp:1617,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' c'
    - zkp
    - mVec
    - mSize
    argTypes:
    - CipherTextG1
    - Fr*
    - int*
    - size_t
    constantsTouched: []
    func_position:
      end: 1618
      start: 1614
    functionDepth: 0
    functionLinenumber: 1614
    functionLinenumberEnd: 1618
    functionName: mcl::she::PublicKey::verify
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - verifyZkpSet
    - getWM
    linkageType: ''
    returnType: bool
    signature: bool verify(const CipherTextG1& c, const Fr *zkp, const int *mVec,
      size_t mSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: makeZkpEq
      Src: /src/mcl/include/mcl/she.hpp:1624,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1624,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' c1'
    - ' c2'
    - ' zkp'
    - ' m'
    argTypes:
    - CipherTextG1
    - CipherTextG2
    - ZkpEq
    - INT
    constantsTouched: []
    func_position:
      end: 1625
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1625
    functionName: mcl::she::PublicKey::encWithZkpEq
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - getWM
    - makeZkpEq
    linkageType: ''
    returnType: void
    signature: void encWithZkpEq(CipherTextG1& c1, CipherTextG2& c2, ZkpEq& zkp, const
      INT& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyZkpEq
      Src: /src/mcl/include/mcl/she.hpp:1630,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1630,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' c1'
    - ' c2'
    - ' zkp'
    argTypes:
    - CipherTextG1
    - CipherTextG2
    - ZkpEq
    constantsTouched: []
    func_position:
      end: 1631
      start: 1626
    functionDepth: 0
    functionLinenumber: 1626
    functionLinenumberEnd: 1631
    functionName: mcl::she::PublicKey::verify
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - verifyZkpEq
    - getWM
    linkageType: ''
    returnType: bool
    signature: bool verify(const CipherTextG1& c1, const CipherTextG2& c2, const ZkpEq&
      zkp) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: makeZkpBinEq
      Src: /src/mcl/include/mcl/she.hpp:1636,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1636,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pb
    - ' c1'
    - ' c2'
    - ' zkp'
    - m
    argTypes:
    - bool*
    - CipherTextG1
    - CipherTextG2
    - ZkpBinEq
    - int
    constantsTouched: []
    func_position:
      end: 1637
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1637
    functionName: mcl::she::PublicKey::encWithZkpBinEq
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - makeZkpBinEq
    - getWM
    linkageType: ''
    returnType: void
    signature: void encWithZkpBinEq(bool *pb, CipherTextG1& c1, CipherTextG2& c2,
      ZkpBinEq& zkp, int m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::PublicKey::encWithZkpBinEq
      Src: /src/mcl/include/mcl/she.hpp:1641,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:1643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - ' c1'
    - ' c2'
    - ' zkp'
    - m
    argTypes:
    - CipherTextG1
    - CipherTextG2
    - ZkpBinEq
    - int
    constantsTouched: []
    func_position:
      end: 1645
      start: 1638
    functionDepth: 1
    functionLinenumber: 1638
    functionLinenumberEnd: 1645
    functionName: mcl::she::PublicKey::encWithZkpBinEq
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::PublicKey::encWithZkpBinEq
    linkageType: ''
    returnType: void
    signature: void encWithZkpBinEq(CipherTextG1& c1, CipherTextG2& c2, ZkpBinEq&
      zkp, int m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyZkpBinEq
      Src: /src/mcl/include/mcl/she.hpp:1650,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1650,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' c1'
    - ' c2'
    - ' zkp'
    argTypes:
    - CipherTextG1
    - CipherTextG2
    - ZkpBinEq
    constantsTouched: []
    func_position:
      end: 1651
      start: 1646
    functionDepth: 0
    functionLinenumber: 1646
    functionLinenumberEnd: 1651
    functionName: mcl::she::PublicKey::verify
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - verifyZkpBinEq
    - getWM
    linkageType: ''
    returnType: bool
    signature: bool verify(const CipherTextG1& c1, const CipherTextG2& c2, const ZkpBinEq&
      zkp) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1659,1
    - Dst: Fr::setRand
      Src: /src/mcl/include/mcl/she.hpp:1660,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/she.hpp:1661,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/she.hpp:1662,1
    - Dst: GT::GT
      Src: /src/mcl/include/mcl/she.hpp:1663,1
    - Dst: G1::G1
      Src: /src/mcl/include/mcl/she.hpp:1665,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1666,1
    - Dst: mulByWindowMethod
      Src: /src/mcl/include/mcl/she.hpp:1669,1
    - Dst: precomputedMillerLoop
      Src: /src/mcl/include/mcl/she.hpp:1673,1
    - Dst: mulByWindowMethod
      Src: /src/mcl/include/mcl/she.hpp:1675,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1676,1
    - Dst: millerLoop
      Src: /src/mcl/include/mcl/she.hpp:1678,1
    - Dst: finalExp
      Src: /src/mcl/include/mcl/she.hpp:1680,1
    - Dst: mulByWindowMethod
      Src: /src/mcl/include/mcl/she.hpp:1682,1
    - Dst: mulByWindowMethod
      Src: /src/mcl/include/mcl/she.hpp:1683,1
    - Dst: mulByWindowMethod
      Src: /src/mcl/include/mcl/she.hpp:1684,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/she.hpp:1686,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/she.hpp:1687,1
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/she.hpp:1688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - ' c'
    - ' m'
    argTypes:
    - CipherTextGT
    - INT
    constantsTouched: []
    func_position:
      end: 1690
      start: 1653
    functionDepth: 2
    functionLinenumber: 1653
    functionLinenumberEnd: 1690
    functionName: mcl::she::PublicKey::encGT
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - setRand
    - Fr::setRand
    - testFp12pow
    - millerLoop
    - precomputedMillerLoop
    - finalExp
    - Fr::Fr
    - fiat_bls12_381_fp_mul
    - GT::GT
    - mulByWindowMethod
    linkageType: ''
    returnType: void
    signature: void encGT(CipherTextGT& c, const INT& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::PublicKey::load
      Src: /src/mcl/include/mcl/she.hpp:1695,1
    - Dst: mcl::she::PublicKey::load
      Src: /src/mcl/include/mcl/she.hpp:1696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pb
    - ' is'
    argTypes:
    - bool*
    - InputStream
    constantsTouched: []
    func_position:
      end: 1697
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1697
    functionName: mcl::she::PublicKey::load
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::PublicKey::load
    linkageType: ''
    returnType: void
    signature: void load(bool *pb, InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::PublicKey::save
      Src: /src/mcl/include/mcl/she.hpp:1702,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/she.hpp:1705,1
    - Dst: mcl::she::PublicKey::save
      Src: /src/mcl/include/mcl/she.hpp:1708,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pb
    - ' os'
    argTypes:
    - bool*
    - OutputStream
    constantsTouched: []
    func_position:
      end: 1709
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1709
    functionName: mcl::she::PublicKey::save
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::PublicKey::save
    - cybozu::writeChar
    linkageType: ''
    returnType: void
    signature: void save(bool *pb, OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::PublicKey::load
      Src: /src/mcl/include/mcl/she.hpp:1714,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:1715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 1716
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1716
    functionName: mcl::she::PublicKey::load
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::PublicKey::load
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::PublicKey::save
      Src: /src/mcl/include/mcl/she.hpp:1721,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:1722,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 1723
      start: 1718
    functionDepth: 1
    functionLinenumber: 1718
    functionLinenumberEnd: 1723
    functionName: mcl::she::PublicKey::save
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - mcl::she::PublicKey::save
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/include/mcl/she.hpp:1726,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/she.hpp:1726,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/she.hpp:1726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - PublicKey
    constantsTouched: []
    func_position:
      end: 1728
      start: 1724
    functionDepth: 1
    functionLinenumber: 1724
    functionLinenumberEnd: 1728
    functionName: '& operator>>(std::istream& is, PublicKey& self)'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - load
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, PublicKey& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/she.hpp:1731,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/she.hpp:1731,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/she.hpp:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - PublicKey
    constantsTouched: []
    func_position:
      end: 1733
      start: 1729
    functionDepth: 1
    functionLinenumber: 1729
    functionLinenumberEnd: 1733
    functionName: '& operator<<(std::ostream& os, const PublicKey& self)'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - save
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const PublicKey& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - PublicKey
    constantsTouched: []
    func_position:
      end: 1737
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1737
    functionName: operator==(const PublicKey& rhs) const
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const PublicKey& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - PublicKey
    constantsTouched: []
    func_position:
      end: 1738
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1738
    functionName: operator!=(const PublicKey& rhs) const
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const PublicKey& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul
      Src: /src/mcl/include/mcl/she.hpp:1758,1
    - Dst: static_cast<GTasEC&>
      Src: /src/mcl/include/mcl/she.hpp:1758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' wm'
    - ' y'
    argTypes:
    - GT
    - GTwin
    - T
    constantsTouched: []
    func_position:
      end: 1759
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1759
    functionName: mcl::she::PrecomputedPublicKey::mulByWindowMethod
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - static_cast<GTasEC&>
    - mul
    linkageType: ''
    returnType: void
    signature: void mulByWindowMethod(GT& x, const GTwin& wm, const T& y) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1763,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - ' m'
    argTypes:
    - CipherTextG1
    - INT
    constantsTouched: []
    func_position:
      end: 1764
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1764
    functionName: mcl::she::PrecomputedPublicKey::encG1
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - getWM
    - ElGamalEnc
    linkageType: ''
    returnType: void
    signature: void encG1(CipherTextG1& c, const INT& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1768,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - ' m'
    argTypes:
    - CipherTextG2
    - INT
    constantsTouched: []
    func_position:
      end: 1769
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1769
    functionName: mcl::she::PrecomputedPublicKey::encG2
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - getWM
    - ElGamalEnc
    linkageType: ''
    returnType: void
    signature: void encG2(CipherTextG2& c, const INT& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1776,1
    - Dst: Fr::setRand
      Src: /src/mcl/include/mcl/she.hpp:1777,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/she.hpp:1778,1
    - Dst: setRand
      Src: /src/mcl/include/mcl/she.hpp:1779,1
    - Dst: GT::GT
      Src: /src/mcl/include/mcl/she.hpp:1780,1
    - Dst: mcl::she::PrecomputedPublicKey::mulByWindowMethod
      Src: /src/mcl/include/mcl/she.hpp:1781,1
    - Dst: mcl::she::PrecomputedPublicKey::mulByWindowMethod
      Src: /src/mcl/include/mcl/she.hpp:1782,1
    - Dst: mcl::she::PrecomputedPublicKey::mulByWindowMethod
      Src: /src/mcl/include/mcl/she.hpp:1784,1
    - Dst: mcl::she::PrecomputedPublicKey::mulByWindowMethod
      Src: /src/mcl/include/mcl/she.hpp:1785,1
    - Dst: mcl::she::PrecomputedPublicKey::mulByWindowMethod
      Src: /src/mcl/include/mcl/she.hpp:1788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - ' c'
    - ' m'
    argTypes:
    - CipherTextGT
    - INT
    constantsTouched: []
    func_position:
      end: 1789
      start: 1771
    functionDepth: 1
    functionLinenumber: 1771
    functionLinenumberEnd: 1789
    functionName: mcl::she::PrecomputedPublicKey::encGT
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - setRand
    - Fr::setRand
    - mcl::she::PrecomputedPublicKey::mulByWindowMethod
    - Fr::Fr
    - GT::GT
    linkageType: ''
    returnType: void
    signature: void encGT(CipherTextGT& c, const INT& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::PrecomputedPublicKey::init
      Src: /src/mcl/include/mcl/she.hpp:1794,1
    - Dst: mcl::she::PrecomputedPublicKey::init
      Src: /src/mcl/include/mcl/she.hpp:1796,1
    - Dst: pairing
      Src: /src/mcl/include/mcl/she.hpp:1797,1
    - Dst: pairing
      Src: /src/mcl/include/mcl/she.hpp:1798,1
    - Dst: pairing
      Src: /src/mcl/include/mcl/she.hpp:1799,1
    - Dst: mcl::she::PrecomputedPublicKey::init
      Src: /src/mcl/include/mcl/she.hpp:1800,1
    - Dst: static_cast<const GTasEC&>
      Src: /src/mcl/include/mcl/she.hpp:1800,1
    - Dst: mcl::she::PrecomputedPublicKey::init
      Src: /src/mcl/include/mcl/she.hpp:1801,1
    - Dst: static_cast<const GTasEC&>
      Src: /src/mcl/include/mcl/she.hpp:1801,1
    - Dst: mcl::she::PrecomputedPublicKey::init
      Src: /src/mcl/include/mcl/she.hpp:1802,1
    - Dst: static_cast<const GTasEC&>
      Src: /src/mcl/include/mcl/she.hpp:1802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' pub'
    argTypes:
    - PublicKey
    constantsTouched: []
    func_position:
      end: 1803
      start: 1791
    functionDepth: 1
    functionLinenumber: 1791
    functionLinenumberEnd: 1803
    functionName: mcl::she::PrecomputedPublicKey::init
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - static_cast<const GTasEC&>
    - pairing
    - mcl::she::PrecomputedPublicKey::init
    linkageType: ''
    returnType: void
    signature: void init(const PublicKey& pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1806,1
    - Dst: Fr::setRand
      Src: /src/mcl/include/mcl/she.hpp:1807,1
    - Dst: ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1808,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1808,1
    - Dst: makeZkpBin
      Src: /src/mcl/include/mcl/she.hpp:1809,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pb
    - ' c'
    - ' zkp'
    - m
    argTypes:
    - bool*
    - CipherTextG1
    - ZkpBin
    - int
    constantsTouched: []
    func_position:
      end: 1810
      start: 1804
    functionDepth: 1
    functionLinenumber: 1804
    functionLinenumberEnd: 1810
    functionName: mcl::she::PrecomputedPublicKey::encWithZkpBin
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - Fr::setRand
    - makeZkpBin
    - Fr::Fr
    - ElGamalEnc
    - getWM
    linkageType: ''
    returnType: void
    signature: void encWithZkpBin(bool *pb, CipherTextG1& c, ZkpBin& zkp, int m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::PrecomputedPublicKey::encWithZkpBin
      Src: /src/mcl/include/mcl/she.hpp:1814,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:1816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' c'
    - ' zkp'
    - m
    argTypes:
    - CipherTextG1
    - ZkpBin
    - int
    constantsTouched: []
    func_position:
      end: 1818
      start: 1811
    functionDepth: 1
    functionLinenumber: 1811
    functionLinenumberEnd: 1818
    functionName: mcl::she::PrecomputedPublicKey::encWithZkpBin
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::PrecomputedPublicKey::encWithZkpBin
    linkageType: ''
    returnType: void
    signature: void encWithZkpBin(CipherTextG1& c, ZkpBin& zkp, int m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1821,1
    - Dst: Fr::setRand
      Src: /src/mcl/include/mcl/she.hpp:1822,1
    - Dst: ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1823,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1823,1
    - Dst: makeZkpBin
      Src: /src/mcl/include/mcl/she.hpp:1824,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pb
    - ' c'
    - ' zkp'
    - m
    argTypes:
    - bool*
    - CipherTextG2
    - ZkpBin
    - int
    constantsTouched: []
    func_position:
      end: 1825
      start: 1819
    functionDepth: 1
    functionLinenumber: 1819
    functionLinenumberEnd: 1825
    functionName: mcl::she::PrecomputedPublicKey::encWithZkpBin
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - Fr::setRand
    - makeZkpBin
    - Fr::Fr
    - ElGamalEnc
    - getWM
    linkageType: ''
    returnType: void
    signature: void encWithZkpBin(bool *pb, CipherTextG2& c, ZkpBin& zkp, int m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::PrecomputedPublicKey::encWithZkpBin
      Src: /src/mcl/include/mcl/she.hpp:1829,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:1831,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' c'
    - ' zkp'
    - m
    argTypes:
    - CipherTextG2
    - ZkpBin
    - int
    constantsTouched: []
    func_position:
      end: 1833
      start: 1826
    functionDepth: 1
    functionLinenumber: 1826
    functionLinenumberEnd: 1833
    functionName: mcl::she::PrecomputedPublicKey::encWithZkpBin
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::PrecomputedPublicKey::encWithZkpBin
    linkageType: ''
    returnType: void
    signature: void encWithZkpBin(CipherTextG2& c, ZkpBin& zkp, int m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fr::Fr
      Src: /src/mcl/include/mcl/she.hpp:1836,1
    - Dst: Fr::setRand
      Src: /src/mcl/include/mcl/she.hpp:1837,1
    - Dst: ElGamalEnc
      Src: /src/mcl/include/mcl/she.hpp:1838,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1838,1
    - Dst: makeZkpSet
      Src: /src/mcl/include/mcl/she.hpp:1839,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - pb
    - ' c'
    - zkp
    - m
    - mVec
    - mSize
    argTypes:
    - bool*
    - CipherTextG1
    - Fr*
    - int
    - int*
    - size_t
    constantsTouched: []
    func_position:
      end: 1840
      start: 1834
    functionDepth: 1
    functionLinenumber: 1834
    functionLinenumberEnd: 1840
    functionName: mcl::she::PrecomputedPublicKey::encWithZkpSet
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - Fr::setRand
    - makeZkpSet
    - Fr::Fr
    - ElGamalEnc
    - getWM
    linkageType: ''
    returnType: void
    signature: void encWithZkpSet(bool *pb, CipherTextG1& c, Fr *zkp, int m, const
      int *mVec, size_t mSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::PrecomputedPublicKey::encWithZkpSet
      Src: /src/mcl/include/mcl/she.hpp:1844,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:1846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - ' c'
    - zkp
    - m
    - mVec
    - mSize
    argTypes:
    - CipherTextG1
    - Fr*
    - int
    - int*
    - size_t
    constantsTouched: []
    func_position:
      end: 1848
      start: 1841
    functionDepth: 1
    functionLinenumber: 1841
    functionLinenumberEnd: 1848
    functionName: mcl::she::PrecomputedPublicKey::encWithZkpSet
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::PrecomputedPublicKey::encWithZkpSet
    linkageType: ''
    returnType: void
    signature: void encWithZkpSet(CipherTextG1& c, Fr *zkp, int m, const int *mVec,
      size_t mSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyZkpBin
      Src: /src/mcl/include/mcl/she.hpp:1851,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - ' zkp'
    argTypes:
    - CipherTextG1
    - ZkpBin
    constantsTouched: []
    func_position:
      end: 1852
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1852
    functionName: mcl::she::PrecomputedPublicKey::verify
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - verifyZkpBin
    - getWM
    linkageType: ''
    returnType: bool
    signature: bool verify(const CipherTextG1& c, const ZkpBin& zkp) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyZkpBin
      Src: /src/mcl/include/mcl/she.hpp:1855,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - ' zkp'
    argTypes:
    - CipherTextG2
    - ZkpBin
    constantsTouched: []
    func_position:
      end: 1856
      start: 1853
    functionDepth: 0
    functionLinenumber: 1853
    functionLinenumberEnd: 1856
    functionName: mcl::she::PrecomputedPublicKey::verify
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - verifyZkpBin
    - getWM
    linkageType: ''
    returnType: bool
    signature: bool verify(const CipherTextG2& c, const ZkpBin& zkp) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyZkpSet
      Src: /src/mcl/include/mcl/she.hpp:1859,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' c'
    - zkp
    - mVec
    - mSize
    argTypes:
    - CipherTextG1
    - Fr*
    - int*
    - size_t
    constantsTouched: []
    func_position:
      end: 1860
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1860
    functionName: mcl::she::PrecomputedPublicKey::verify
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - verifyZkpSet
    - getWM
    linkageType: ''
    returnType: bool
    signature: bool verify(const CipherTextG1& c, const Fr *zkp, const int *mVec,
      size_t mSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: makeZkpEq
      Src: /src/mcl/include/mcl/she.hpp:1864,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1864,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' c1'
    - ' c2'
    - ' zkp'
    - ' m'
    argTypes:
    - CipherTextG1
    - CipherTextG2
    - ZkpEq
    - INT
    constantsTouched: []
    func_position:
      end: 1865
      start: 1862
    functionDepth: 0
    functionLinenumber: 1862
    functionLinenumberEnd: 1865
    functionName: mcl::she::PrecomputedPublicKey::encWithZkpEq
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - getWM
    - makeZkpEq
    linkageType: ''
    returnType: void
    signature: void encWithZkpEq(CipherTextG1& c1, CipherTextG2& c2, ZkpEq& zkp, const
      INT& m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyZkpEq
      Src: /src/mcl/include/mcl/she.hpp:1868,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1868,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' c1'
    - ' c2'
    - ' zkp'
    argTypes:
    - CipherTextG1
    - CipherTextG2
    - ZkpEq
    constantsTouched: []
    func_position:
      end: 1869
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1869
    functionName: mcl::she::PrecomputedPublicKey::verify
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - verifyZkpEq
    - getWM
    linkageType: ''
    returnType: bool
    signature: bool verify(const CipherTextG1& c1, const CipherTextG2& c2, const ZkpEq&
      zkp) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: makeZkpBinEq
      Src: /src/mcl/include/mcl/she.hpp:1872,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1872,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pb
    - ' c1'
    - ' c2'
    - ' zkp'
    - m
    argTypes:
    - bool*
    - CipherTextG1
    - CipherTextG2
    - ZkpBinEq
    - int
    constantsTouched: []
    func_position:
      end: 1873
      start: 1870
    functionDepth: 0
    functionLinenumber: 1870
    functionLinenumberEnd: 1873
    functionName: mcl::she::PrecomputedPublicKey::encWithZkpBinEq
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - makeZkpBinEq
    - getWM
    linkageType: ''
    returnType: void
    signature: void encWithZkpBinEq(bool *pb, CipherTextG1& c1, CipherTextG2& c2,
      ZkpBinEq& zkp, int m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::PrecomputedPublicKey::encWithZkpBinEq
      Src: /src/mcl/include/mcl/she.hpp:1877,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:1879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - ' c1'
    - ' c2'
    - ' zkp'
    - m
    argTypes:
    - CipherTextG1
    - CipherTextG2
    - ZkpBinEq
    - int
    constantsTouched: []
    func_position:
      end: 1881
      start: 1874
    functionDepth: 1
    functionLinenumber: 1874
    functionLinenumberEnd: 1881
    functionName: mcl::she::PrecomputedPublicKey::encWithZkpBinEq
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::PrecomputedPublicKey::encWithZkpBinEq
    linkageType: ''
    returnType: void
    signature: void encWithZkpBinEq(CipherTextG1& c1, CipherTextG2& c2, ZkpBinEq&
      zkp, int m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyZkpBinEq
      Src: /src/mcl/include/mcl/she.hpp:1884,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1884,1
    - Dst: getWM
      Src: /src/mcl/include/mcl/she.hpp:1884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' c1'
    - ' c2'
    - ' zkp'
    argTypes:
    - CipherTextG1
    - CipherTextG2
    - ZkpBinEq
    constantsTouched: []
    func_position:
      end: 1885
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1885
    functionName: mcl::she::PrecomputedPublicKey::verify
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - verifyZkpBinEq
    - getWM
    linkageType: ''
    returnType: bool
    signature: bool verify(const CipherTextG1& c1, const CipherTextG2& c2, const ZkpBinEq&
      zkp) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextA::clear
      Src: /src/mcl/include/mcl/she.hpp:1898,1
    - Dst: mcl::she::CipherTextA::clear
      Src: /src/mcl/include/mcl/she.hpp:1899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1896
    functionDepth: 0
    functionLinenumber: 1896
    functionLinenumberEnd: 1900
    functionName: mcl::she::CipherTextA::clear
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::CipherTextA::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/she.hpp:1903,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/she.hpp:1904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextA
    - CipherTextA
    - CipherTextA
    constantsTouched: []
    func_position:
      end: 1905
      start: 1901
    functionDepth: 2
    functionLinenumber: 1901
    functionLinenumberEnd: 1905
    functionName: mcl::she::CipherTextA::add
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void add(CipherTextA& z, const CipherTextA& x, const CipherTextA& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:1908,1
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:1909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextA
    - CipherTextA
    - CipherTextA
    constantsTouched: []
    func_position:
      end: 1910
      start: 1906
    functionDepth: 2
    functionLinenumber: 1906
    functionLinenumberEnd: 1910
    functionName: mcl::she::CipherTextA::sub
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_sub
    linkageType: ''
    returnType: void
    signature: void sub(CipherTextA& z, const CipherTextA& x, const CipherTextA& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1913,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:1914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - CipherTextA
    - CipherTextA
    - int64_t
    constantsTouched: []
    func_position:
      end: 1915
      start: 1911
    functionDepth: 2
    functionLinenumber: 1911
    functionLinenumberEnd: 1915
    functionName: mcl::she::CipherTextA::mul
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mul(CipherTextA& z, const CipherTextA& x, int64_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/she.hpp:1918,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/she.hpp:1919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - CipherTextA
    - CipherTextA
    constantsTouched: []
    func_position:
      end: 1920
      start: 1916
    functionDepth: 1
    functionLinenumber: 1916
    functionLinenumberEnd: 1920
    functionName: mcl::she::CipherTextA::neg
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void neg(CipherTextA& y, const CipherTextA& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextA::add
      Src: /src/mcl/include/mcl/she.hpp:1921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherTextA
    constantsTouched: []
    func_position:
      end: 1921
      start: 1921
    functionDepth: 0
    functionLinenumber: 1921
    functionLinenumberEnd: 1921
    functionName: mcl::she::CipherTextA::add
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::CipherTextA::add
    linkageType: ''
    returnType: void
    signature: void add(const CipherTextA& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextA::sub
      Src: /src/mcl/include/mcl/she.hpp:1922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherTextA
    constantsTouched: []
    func_position:
      end: 1922
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1922
    functionName: mcl::she::CipherTextA::sub
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::CipherTextA::sub
    linkageType: ''
    returnType: void
    signature: void sub(const CipherTextA& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextA::load
      Src: /src/mcl/include/mcl/she.hpp:1926,1
    - Dst: mcl::she::CipherTextA::load
      Src: /src/mcl/include/mcl/she.hpp:1927,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pb
    - ' is'
    argTypes:
    - bool*
    - InputStream
    constantsTouched: []
    func_position:
      end: 1928
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1928
    functionName: mcl::she::CipherTextA::load
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::CipherTextA::load
    linkageType: ''
    returnType: void
    signature: void load(bool *pb, InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextA::save
      Src: /src/mcl/include/mcl/she.hpp:1933,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/she.hpp:1935,1
    - Dst: mcl::she::CipherTextA::save
      Src: /src/mcl/include/mcl/she.hpp:1938,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pb
    - ' os'
    argTypes:
    - bool*
    - OutputStream
    constantsTouched: []
    func_position:
      end: 1939
      start: 1930
    functionDepth: 1
    functionLinenumber: 1930
    functionLinenumberEnd: 1939
    functionName: mcl::she::CipherTextA::save
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - cybozu::writeChar
    - mcl::she::CipherTextA::save
    linkageType: ''
    returnType: void
    signature: void save(bool *pb, OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextA::load
      Src: /src/mcl/include/mcl/she.hpp:1944,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:1945,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 1946
      start: 1941
    functionDepth: 1
    functionLinenumber: 1941
    functionLinenumberEnd: 1946
    functionName: mcl::she::CipherTextA::load
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::CipherTextA::load
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextA::save
      Src: /src/mcl/include/mcl/she.hpp:1951,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:1952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 1953
      start: 1948
    functionDepth: 1
    functionLinenumber: 1948
    functionLinenumberEnd: 1953
    functionName: mcl::she::CipherTextA::save
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::CipherTextA::save
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/include/mcl/she.hpp:1956,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/she.hpp:1956,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/she.hpp:1956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - CipherTextA
    constantsTouched: []
    func_position:
      end: 1958
      start: 1954
    functionDepth: 1
    functionLinenumber: 1954
    functionLinenumberEnd: 1958
    functionName: '& operator>>(std::istream& is, CipherTextA& self)'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - load
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, CipherTextA& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/she.hpp:1961,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/she.hpp:1961,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/she.hpp:1961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - CipherTextA
    constantsTouched: []
    func_position:
      end: 1963
      start: 1959
    functionDepth: 1
    functionLinenumber: 1959
    functionLinenumberEnd: 1963
    functionName: '& operator<<(std::ostream& os, const CipherTextA& self)'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - save
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const CipherTextA& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CipherTextA
    constantsTouched: []
    func_position:
      end: 1967
      start: 1964
    functionDepth: 0
    functionLinenumber: 1964
    functionLinenumberEnd: 1967
    functionName: operator==(const CipherTextA& rhs) const
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CipherTextA& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CipherTextA
    constantsTouched: []
    func_position:
      end: 1968
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1968
    functionName: operator!=(const CipherTextA& rhs) const
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CipherTextA& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setOne
      Src: /src/mcl/include/mcl/she.hpp:1984,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 1986
    functionName: mcl::she::CipherTextGT::clear
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - setOne
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::unitaryInv
      Src: /src/mcl/include/mcl/she.hpp:1990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - CipherTextGT
    - CipherTextGT
    constantsTouched: []
    func_position:
      end: 1992
      start: 1987
    functionDepth: 2
    functionLinenumber: 1987
    functionLinenumberEnd: 1992
    functionName: mcl::she::CipherTextGT::neg
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::unitaryInv
    linkageType: ''
    returnType: void
    signature: void neg(CipherTextGT& y, const CipherTextGT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextGT::mul
      Src: /src/mcl/include/mcl/she.hpp:1999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextGT
    - CipherTextGT
    - CipherTextGT
    constantsTouched: []
    func_position:
      end: 2001
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2001
    functionName: mcl::she::CipherTextGT::add
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::CipherTextGT::mul
    linkageType: ''
    returnType: void
    signature: void add(CipherTextGT& z, const CipherTextGT& x, const CipherTextGT&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GT::GT
      Src: /src/mcl/include/mcl/she.hpp:2007,1
    - Dst: mcl::unitaryInv
      Src: /src/mcl/include/mcl/she.hpp:2009,1
    - Dst: mcl::she::CipherTextGT::mul
      Src: /src/mcl/include/mcl/she.hpp:2010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextGT
    - CipherTextGT
    - CipherTextGT
    constantsTouched: []
    func_position:
      end: 2012
      start: 2002
    functionDepth: 2
    functionLinenumber: 2002
    functionLinenumberEnd: 2012
    functionName: mcl::she::CipherTextGT::sub
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::unitaryInv
    - mcl::she::CipherTextGT::mul
    - GT::GT
    linkageType: ''
    returnType: void
    signature: void sub(CipherTextGT& z, const CipherTextGT& x, const CipherTextGT&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tensorProductML
      Src: /src/mcl/include/mcl/she.hpp:2018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextGT
    - CipherTextG1
    - CipherTextG2
    constantsTouched: []
    func_position:
      end: 2019
      start: 2013
    functionDepth: 0
    functionLinenumber: 2013
    functionLinenumberEnd: 2019
    functionName: mcl::she::CipherTextGT::mulML
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - tensorProductML
    linkageType: ''
    returnType: void
    signature: void mulML(CipherTextGT& z, const CipherTextG1& x, const CipherTextG2&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finalExp4
      Src: /src/mcl/include/mcl/she.hpp:2022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - CipherTextGT
    - CipherTextGT
    constantsTouched: []
    func_position:
      end: 2023
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2023
    functionName: mcl::she::CipherTextGT::finalExp
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - finalExp4
    linkageType: ''
    returnType: void
    signature: void finalExp(CipherTextGT& y, const CipherTextGT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextGT::mulML
      Src: /src/mcl/include/mcl/she.hpp:2035,1
    - Dst: mcl::she::CipherTextGT::finalExp
      Src: /src/mcl/include/mcl/she.hpp:2036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextGT
    - CipherTextG1
    - CipherTextG2
    constantsTouched: []
    func_position:
      end: 2037
      start: 2030
    functionDepth: 1
    functionLinenumber: 2030
    functionLinenumberEnd: 2037
    functionName: mcl::she::CipherTextGT::mul
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 6
    functionsReached:
    - mcl::she::CipherTextGT::mulML
    - mcl::she::CipherTextGT::finalExp
    linkageType: ''
    returnType: void
    signature: void mul(CipherTextGT& z, const CipherTextG1& x, const CipherTextG2&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextGT::mul
      Src: /src/mcl/include/mcl/she.hpp:2040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextGT
    - CipherTextA
    - CipherTextA
    constantsTouched: []
    func_position:
      end: 2041
      start: 2038
    functionDepth: 0
    functionLinenumber: 2038
    functionLinenumberEnd: 2041
    functionName: mcl::she::CipherTextGT::mul
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 7
    functionsReached:
    - mcl::she::CipherTextGT::mul
    linkageType: ''
    returnType: void
    signature: void mul(CipherTextGT& z, const CipherTextA& x, const CipherTextA&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testFp12pow
      Src: /src/mcl/include/mcl/she.hpp:2046,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextGT
    - CipherTextGT
    - INT
    constantsTouched: []
    func_position:
      end: 2048
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2048
    functionName: mcl::she::CipherTextGT::mul
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 7
    functionsReached:
    - testFp12pow
    linkageType: ''
    returnType: void
    signature: void mul(CipherTextGT& z, const CipherTextGT& x, const INT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextGT::add
      Src: /src/mcl/include/mcl/she.hpp:2049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherTextGT
    constantsTouched: []
    func_position:
      end: 2049
      start: 2049
    functionDepth: 0
    functionLinenumber: 2049
    functionLinenumberEnd: 2049
    functionName: mcl::she::CipherTextGT::add
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - mcl::she::CipherTextGT::add
    linkageType: ''
    returnType: void
    signature: void add(const CipherTextGT& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextGT::sub
      Src: /src/mcl/include/mcl/she.hpp:2050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherTextGT
    constantsTouched: []
    func_position:
      end: 2050
      start: 2050
    functionDepth: 0
    functionLinenumber: 2050
    functionLinenumberEnd: 2050
    functionName: mcl::she::CipherTextGT::sub
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::CipherTextGT::sub
    linkageType: ''
    returnType: void
    signature: void sub(const CipherTextGT& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextGT::load
      Src: /src/mcl/include/mcl/she.hpp:2055,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pb
    - ' is'
    argTypes:
    - bool*
    - InputStream
    constantsTouched: []
    func_position:
      end: 2057
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2057
    functionName: mcl::she::CipherTextGT::load
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::CipherTextGT::load
    linkageType: ''
    returnType: void
    signature: void load(bool *pb, InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextGT::save
      Src: /src/mcl/include/mcl/she.hpp:2062,1
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/she.hpp:2065,1
    - Dst: mcl::she::CipherTextGT::save
      Src: /src/mcl/include/mcl/she.hpp:2068,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pb
    - ' os'
    argTypes:
    - bool*
    - OutputStream
    constantsTouched: []
    func_position:
      end: 2070
      start: 2059
    functionDepth: 1
    functionLinenumber: 2059
    functionLinenumberEnd: 2070
    functionName: mcl::she::CipherTextGT::save
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::CipherTextGT::save
    - cybozu::writeChar
    linkageType: ''
    returnType: void
    signature: void save(bool *pb, OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextGT::load
      Src: /src/mcl/include/mcl/she.hpp:2075,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:2076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 2077
      start: 2072
    functionDepth: 1
    functionLinenumber: 2072
    functionLinenumberEnd: 2077
    functionName: mcl::she::CipherTextGT::load
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::CipherTextGT::load
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextGT::save
      Src: /src/mcl/include/mcl/she.hpp:2082,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:2083,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 2084
      start: 2079
    functionDepth: 1
    functionLinenumber: 2079
    functionLinenumberEnd: 2084
    functionName: mcl::she::CipherTextGT::save
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - mcl::she::CipherTextGT::save
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/include/mcl/she.hpp:2087,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/she.hpp:2087,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/she.hpp:2087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - CipherTextGT
    constantsTouched: []
    func_position:
      end: 2089
      start: 2085
    functionDepth: 1
    functionLinenumber: 2085
    functionLinenumberEnd: 2089
    functionName: '& operator>>(std::istream& is, CipherTextGT& self)'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - load
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, CipherTextGT& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/she.hpp:2092,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/she.hpp:2092,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/she.hpp:2092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - CipherTextGT
    constantsTouched: []
    func_position:
      end: 2094
      start: 2090
    functionDepth: 1
    functionLinenumber: 2090
    functionLinenumberEnd: 2094
    functionName: '& operator<<(std::ostream& os, const CipherTextGT& self)'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - save
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const CipherTextGT& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CipherTextGT
    constantsTouched: []
    func_position:
      end: 2101
      start: 2095
    functionDepth: 0
    functionLinenumber: 2095
    functionLinenumberEnd: 2101
    functionName: operator==(const CipherTextGT& rhs) const
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CipherTextGT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CipherTextGT
    constantsTouched: []
    func_position:
      end: 2102
      start: 2102
    functionDepth: 0
    functionLinenumber: 2102
    functionLinenumberEnd: 2102
    functionName: operator!=(const CipherTextGT& rhs) const
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CipherTextGT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2114
      start: 2114
    functionDepth: 0
    functionLinenumber: 2114
    functionLinenumberEnd: 2114
    functionName: mcl::she::CipherText::CipherText
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CipherText()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/include/mcl/she.hpp:2118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2119
    functionName: mcl::she::CipherText::clearAsAdded
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clearAsAdded()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/include/mcl/she.hpp:2123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2120
    functionDepth: 0
    functionLinenumber: 2120
    functionLinenumberEnd: 2124
    functionName: mcl::she::CipherText::clearAsMultiplied
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clearAsMultiplied()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2125
      start: 2125
    functionDepth: 0
    functionLinenumber: 2125
    functionLinenumberEnd: 2125
    functionName: mcl::she::CipherText::isMultiplied
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isMultiplied() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherText::isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:2128,1
    - Dst: mcl::she::CipherText::isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:2128,1
    - Dst: mcl::she::CipherTextGT::add
      Src: /src/mcl/include/mcl/she.hpp:2130,1
    - Dst: mcl::she::CipherText::isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:2133,1
    - Dst: mcl::she::CipherText::isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:2133,1
    - Dst: mcl::she::CipherTextA::add
      Src: /src/mcl/include/mcl/she.hpp:2135,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:2138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherText
    - CipherText
    - CipherText
    constantsTouched: []
    func_position:
      end: 2139
      start: 2126
    functionDepth: 1
    functionLinenumber: 2126
    functionLinenumberEnd: 2139
    functionName: mcl::she::CipherText::add
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::CipherTextGT::add
    - mcl::she::CipherText::isMultiplied
    - Shim_Exception::Shim_Exception
    - mcl::she::CipherTextA::add
    linkageType: ''
    returnType: void
    signature: void add(CipherText& z, const CipherText& x, const CipherText& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherText::isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:2142,1
    - Dst: mcl::she::CipherText::isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:2142,1
    - Dst: mcl::she::CipherTextGT::sub
      Src: /src/mcl/include/mcl/she.hpp:2144,1
    - Dst: mcl::she::CipherText::isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:2147,1
    - Dst: mcl::she::CipherText::isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:2147,1
    - Dst: mcl::she::CipherTextA::sub
      Src: /src/mcl/include/mcl/she.hpp:2149,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:2152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherText
    - CipherText
    - CipherText
    constantsTouched: []
    func_position:
      end: 2153
      start: 2140
    functionDepth: 1
    functionLinenumber: 2140
    functionLinenumberEnd: 2153
    functionName: mcl::she::CipherText::sub
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::CipherTextGT::sub
    - mcl::she::CipherTextA::sub
    - mcl::she::CipherText::isMultiplied
    linkageType: ''
    returnType: void
    signature: void sub(CipherText& z, const CipherText& x, const CipherText& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherText::isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:2156,1
    - Dst: mcl::she::CipherTextGT::neg
      Src: /src/mcl/include/mcl/she.hpp:2158,1
    - Dst: mcl::she::CipherTextA::neg
      Src: /src/mcl/include/mcl/she.hpp:2162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - CipherText
    - CipherText
    constantsTouched: []
    func_position:
      end: 2165
      start: 2154
    functionDepth: 1
    functionLinenumber: 2154
    functionLinenumberEnd: 2165
    functionName: mcl::she::CipherText::neg
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::CipherTextA::neg
    - mcl::she::CipherTextGT::neg
    - mcl::she::CipherText::isMultiplied
    linkageType: ''
    returnType: void
    signature: void neg(CipherText& y, const CipherText& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherText::isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:2168,1
    - Dst: mcl::she::CipherText::isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:2168,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:2169,1
    - Dst: mcl::she::CipherTextGT::mul
      Src: /src/mcl/include/mcl/she.hpp:2172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherText
    - CipherText
    - CipherText
    constantsTouched: []
    func_position:
      end: 2173
      start: 2166
    functionDepth: 1
    functionLinenumber: 2166
    functionLinenumberEnd: 2173
    functionName: mcl::she::CipherText::mul
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::CipherTextGT::mul
    - mcl::she::CipherText::isMultiplied
    linkageType: ''
    returnType: void
    signature: void mul(CipherText& z, const CipherText& x, const CipherText& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherText::isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:2176,1
    - Dst: mcl::she::CipherTextGT::mul
      Src: /src/mcl/include/mcl/she.hpp:2177,1
    - Dst: mcl::she::CipherTextA::mul
      Src: /src/mcl/include/mcl/she.hpp:2179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - y
    argTypes:
    - CipherText
    - CipherText
    - int64_t
    constantsTouched: []
    func_position:
      end: 2181
      start: 2174
    functionDepth: 1
    functionLinenumber: 2174
    functionLinenumberEnd: 2181
    functionName: mcl::she::CipherText::mul
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::CipherTextA::mul
    - mcl::she::CipherTextGT::mul
    - mcl::she::CipherText::isMultiplied
    linkageType: ''
    returnType: void
    signature: void mul(CipherText& z, const CipherText& x, int64_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherText::add
      Src: /src/mcl/include/mcl/she.hpp:2182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherText
    constantsTouched: []
    func_position:
      end: 2182
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2182
    functionName: mcl::she::CipherText::add
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::CipherText::add
    linkageType: ''
    returnType: void
    signature: void add(const CipherText& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherText::sub
      Src: /src/mcl/include/mcl/she.hpp:2183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherText
    constantsTouched: []
    func_position:
      end: 2183
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2183
    functionName: mcl::she::CipherText::sub
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::CipherText::sub
    linkageType: ''
    returnType: void
    signature: void sub(const CipherText& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherText::mul
      Src: /src/mcl/include/mcl/she.hpp:2184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherText
    constantsTouched: []
    func_position:
      end: 2184
      start: 2184
    functionDepth: 0
    functionLinenumber: 2184
    functionLinenumberEnd: 2184
    functionName: mcl::she::CipherText::mul
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::CipherText::mul
    linkageType: ''
    returnType: void
    signature: void mul(const CipherText& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::readChar
      Src: /src/mcl/include/mcl/she.hpp:2189,1
    - Dst: mcl::she::CipherText::isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:2196,1
    - Dst: mcl::she::CipherText::load
      Src: /src/mcl/include/mcl/she.hpp:2197,1
    - Dst: mcl::she::CipherText::load
      Src: /src/mcl/include/mcl/she.hpp:2199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pb
    - ' is'
    argTypes:
    - bool*
    - InputStream
    constantsTouched: []
    func_position:
      end: 2201
      start: 2186
    functionDepth: 1
    functionLinenumber: 2186
    functionLinenumberEnd: 2201
    functionName: mcl::she::CipherText::load
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::she::CipherText::load
    - mcl::she::CipherText::isMultiplied
    - cybozu::readChar
    linkageType: ''
    returnType: void
    signature: void load(bool *pb, InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::writeChar
      Src: /src/mcl/include/mcl/she.hpp:2205,1
    - Dst: mcl::she::CipherText::isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:2206,1
    - Dst: mcl::she::CipherText::save
      Src: /src/mcl/include/mcl/she.hpp:2207,1
    - Dst: mcl::she::CipherText::save
      Src: /src/mcl/include/mcl/she.hpp:2209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pb
    - ' os'
    argTypes:
    - bool*
    - OutputStream
    constantsTouched: []
    func_position:
      end: 2211
      start: 2203
    functionDepth: 1
    functionLinenumber: 2203
    functionLinenumberEnd: 2211
    functionName: mcl::she::CipherText::save
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - cybozu::writeChar
    - mcl::she::CipherText::save
    - mcl::she::CipherText::isMultiplied
    linkageType: ''
    returnType: void
    signature: void save(bool *pb, OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherText::load
      Src: /src/mcl/include/mcl/she.hpp:2216,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:2217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - InputStream
    constantsTouched: []
    func_position:
      end: 2218
      start: 2213
    functionDepth: 1
    functionLinenumber: 2213
    functionLinenumberEnd: 2218
    functionName: mcl::she::CipherText::load
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::CipherText::load
    linkageType: ''
    returnType: void
    signature: void load(InputStream& is, int ioMode = IoSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherText::save
      Src: /src/mcl/include/mcl/she.hpp:2223,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/she.hpp:2224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - OutputStream
    constantsTouched: []
    func_position:
      end: 2225
      start: 2220
    functionDepth: 1
    functionLinenumber: 2220
    functionLinenumberEnd: 2225
    functionName: mcl::she::CipherText::save
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::she::CipherText::save
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, int ioMode = IoSerialize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/mcl/include/mcl/she.hpp:2228,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/she.hpp:2228,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/she.hpp:2228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' is'
    - ' self'
    argTypes:
    - std::istream
    - CipherText
    constantsTouched: []
    func_position:
      end: 2230
      start: 2226
    functionDepth: 1
    functionLinenumber: 2226
    functionLinenumberEnd: 2230
    functionName: '& operator>>(std::istream& is, CipherText& self)'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - load
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, CipherText& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/include/mcl/she.hpp:2233,1
    - Dst: mcl::fp::detectIoMode
      Src: /src/mcl/include/mcl/she.hpp:2233,1
    - Dst: mcl::FpT::getIoMode
      Src: /src/mcl/include/mcl/she.hpp:2233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - CipherText
    constantsTouched: []
    func_position:
      end: 2235
      start: 2231
    functionDepth: 1
    functionLinenumber: 2231
    functionLinenumberEnd: 2235
    functionName: '& operator<<(std::ostream& os, const CipherText& self)'
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::fp::detectIoMode
    - mcl::FpT::getIoMode
    - save
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const CipherText& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:2238,1
    - Dst: isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:2238,1
    - Dst: isMultiplied
      Src: /src/mcl/include/mcl/she.hpp:2239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CipherTextGT
    constantsTouched: []
    func_position:
      end: 2243
      start: 2236
    functionDepth: 0
    functionLinenumber: 2236
    functionLinenumberEnd: 2243
    functionName: operator==(const CipherTextGT& rhs) const
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - isMultiplied
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CipherTextGT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CipherTextGT
    constantsTouched: []
    func_position:
      end: 2244
      start: 2244
    functionDepth: 0
    functionLinenumber: 2244
    functionLinenumberEnd: 2244
    functionName: operator!=(const CipherTextGT& rhs) const
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CipherTextGT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/include/mcl/she.hpp:2280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2278
    functionDepth: 2
    functionLinenumber: 2278
    functionLinenumberEnd: 2281
    functionName: mcl::she::init
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 3
    functionsReached:
    - Botan_Tests::test_x509_uninit
    linkageType: ''
    returnType: void
    signature: void init(const mcl::CurveParam& cp = mcl::BN254, size_t hashSize =
      local::defaultHashSize, size_t tryNum = local::defaultTryNum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::initG1only
      Src: /src/mcl/include/mcl/she.hpp:2284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curveType
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2285
      start: 2282
    functionDepth: 2
    functionLinenumber: 2282
    functionLinenumberEnd: 2285
    functionName: mcl::she::initG1only
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 1
    functionsReached:
    - mcl::initG1only
    linkageType: ''
    returnType: void
    signature: void initG1only(int curveType, size_t hashSize = local::defaultHashSize,
      size_t tryNum = local::defaultTryNum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::initG1only
      Src: /src/mcl/include/mcl/she.hpp:2288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' para'
    argTypes:
    - mcl::EcParam
    constantsTouched: []
    func_position:
      end: 2289
      start: 2286
    functionDepth: 1
    functionLinenumber: 2286
    functionLinenumberEnd: 2289
    functionName: mcl::she::initG1only
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - mcl::she::initG1only
    linkageType: ''
    returnType: void
    signature: void initG1only(const mcl::EcParam& para, size_t hashSize = local::defaultHashSize,
      size_t tryNum = local::defaultTryNum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::setRangeForG1DLP
      Src: /src/mcl/include/mcl/she.hpp:2290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hashSize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 2290
      start: 2290
    functionDepth: 1
    functionLinenumber: 2290
    functionLinenumberEnd: 2290
    functionName: mcl::she::setRangeForG1DLP
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 3
    functionsReached:
    - mcl::she::setRangeForG1DLP
    linkageType: ''
    returnType: void
    signature: void setRangeForG1DLP(size_t hashSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::setRangeForG2DLP
      Src: /src/mcl/include/mcl/she.hpp:2291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hashSize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 2291
      start: 2291
    functionDepth: 1
    functionLinenumber: 2291
    functionLinenumberEnd: 2291
    functionName: mcl::she::setRangeForG2DLP
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - mcl::she::setRangeForG2DLP
    linkageType: ''
    returnType: void
    signature: void setRangeForG2DLP(size_t hashSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::setRangeForGTDLP
      Src: /src/mcl/include/mcl/she.hpp:2292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hashSize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 2292
      start: 2292
    functionDepth: 1
    functionLinenumber: 2292
    functionLinenumberEnd: 2292
    functionName: mcl::she::setRangeForGTDLP
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 3
    functionsReached:
    - mcl::she::setRangeForGTDLP
    linkageType: ''
    returnType: void
    signature: void setRangeForGTDLP(size_t hashSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::setRangeForDLP
      Src: /src/mcl/include/mcl/she.hpp:2293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hashSize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 2293
      start: 2293
    functionDepth: 1
    functionLinenumber: 2293
    functionLinenumberEnd: 2293
    functionName: mcl::she::setRangeForDLP
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 3
    functionsReached:
    - mcl::she::setRangeForDLP
    linkageType: ''
    returnType: void
    signature: void setRangeForDLP(size_t hashSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::local::HashTable::setTryNum
      Src: /src/mcl/include/mcl/she.hpp:2294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tryNum
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 2294
      start: 2294
    functionDepth: 1
    functionLinenumber: 2294
    functionLinenumberEnd: 2294
    functionName: mcl::she::setTryNum
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 3
    functionsReached:
    - mcl::she::local::HashTable::setTryNum
    linkageType: ''
    returnType: void
    signature: void setTryNum(size_t tryNum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::useDecG1ViaGT
      Src: /src/mcl/include/mcl/she.hpp:2295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2295
    functionDepth: 1
    functionLinenumber: 2295
    functionLinenumberEnd: 2295
    functionName: mcl::she::useDecG1ViaGT
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - mcl::she::useDecG1ViaGT
    linkageType: ''
    returnType: void
    signature: void useDecG1ViaGT(bool use = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::useDecG2ViaGT
      Src: /src/mcl/include/mcl/she.hpp:2296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2296
    functionDepth: 1
    functionLinenumber: 2296
    functionLinenumberEnd: 2296
    functionName: mcl::she::useDecG2ViaGT
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 2
    functionsReached:
    - mcl::she::useDecG2ViaGT
    linkageType: ''
    returnType: void
    signature: void useDecG2ViaGT(bool use = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2297
      start: 2297
    functionDepth: 0
    functionLinenumber: 2297
    functionLinenumberEnd: 2297
    functionName: mcl::she::getHashTableG1
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashTableG1
    signature: HashTableG1 & getHashTableG1()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2298
    functionDepth: 0
    functionLinenumber: 2298
    functionLinenumberEnd: 2298
    functionName: mcl::she::getHashTableG2
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashTableG2
    signature: HashTableG2 & getHashTableG2()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2299
      start: 2299
    functionDepth: 0
    functionLinenumber: 2299
    functionLinenumberEnd: 2299
    functionName: mcl::she::getHashTableGT
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashTableGT
    signature: HashTableGT & getHashTableGT()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/she.hpp:2301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextG1
    - CipherTextG1
    - CipherTextG1
    constantsTouched: []
    func_position:
      end: 2301
      start: 2301
    functionDepth: 2
    functionLinenumber: 2301
    functionLinenumberEnd: 2301
    functionName: mcl::she::add
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void add(CipherTextG1& z, const CipherTextG1& x, const CipherTextG1&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/include/mcl/she.hpp:2302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextG2
    - CipherTextG2
    - CipherTextG2
    constantsTouched: []
    func_position:
      end: 2302
      start: 2302
    functionDepth: 2
    functionLinenumber: 2302
    functionLinenumberEnd: 2302
    functionName: mcl::she::add
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void add(CipherTextG2& z, const CipherTextG2& x, const CipherTextG2&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextGT::add
      Src: /src/mcl/include/mcl/she.hpp:2303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextGT
    - CipherTextGT
    - CipherTextGT
    constantsTouched: []
    func_position:
      end: 2303
      start: 2303
    functionDepth: 0
    functionLinenumber: 2303
    functionLinenumberEnd: 2303
    functionName: mcl::she::add
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::CipherTextGT::add
    linkageType: ''
    returnType: void
    signature: void add(CipherTextGT& z, const CipherTextGT& x, const CipherTextGT&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CipherText::add
      Src: /src/mcl/include/mcl/she.hpp:2304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherText
    - CipherText
    - CipherText
    constantsTouched: []
    func_position:
      end: 2304
      start: 2304
    functionDepth: 0
    functionLinenumber: 2304
    functionLinenumberEnd: 2304
    functionName: mcl::she::add
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - CipherText::add
    linkageType: ''
    returnType: void
    signature: void add(CipherText& z, const CipherText& x, const CipherText& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:2306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextG1
    - CipherTextG1
    - CipherTextG1
    constantsTouched: []
    func_position:
      end: 2306
      start: 2306
    functionDepth: 2
    functionLinenumber: 2306
    functionLinenumberEnd: 2306
    functionName: mcl::she::sub
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_sub
    linkageType: ''
    returnType: void
    signature: void sub(CipherTextG1& z, const CipherTextG1& x, const CipherTextG1&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/include/mcl/she.hpp:2307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextG2
    - CipherTextG2
    - CipherTextG2
    constantsTouched: []
    func_position:
      end: 2307
      start: 2307
    functionDepth: 2
    functionLinenumber: 2307
    functionLinenumberEnd: 2307
    functionName: mcl::she::sub
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_sub
    linkageType: ''
    returnType: void
    signature: void sub(CipherTextG2& z, const CipherTextG2& x, const CipherTextG2&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextGT::sub
      Src: /src/mcl/include/mcl/she.hpp:2308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextGT
    - CipherTextGT
    - CipherTextGT
    constantsTouched: []
    func_position:
      end: 2308
      start: 2308
    functionDepth: 0
    functionLinenumber: 2308
    functionLinenumberEnd: 2308
    functionName: mcl::she::sub
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::CipherTextGT::sub
    linkageType: ''
    returnType: void
    signature: void sub(CipherTextGT& z, const CipherTextGT& x, const CipherTextGT&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherText::sub
      Src: /src/mcl/include/mcl/she.hpp:2309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherText
    - CipherText
    - CipherText
    constantsTouched: []
    func_position:
      end: 2309
      start: 2309
    functionDepth: 0
    functionLinenumber: 2309
    functionLinenumberEnd: 2309
    functionName: mcl::she::sub
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::CipherText::sub
    linkageType: ''
    returnType: void
    signature: void sub(CipherText& z, const CipherText& x, const CipherText& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/she.hpp:2311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - CipherTextG1
    - CipherTextG1
    constantsTouched: []
    func_position:
      end: 2311
      start: 2311
    functionDepth: 1
    functionLinenumber: 2311
    functionLinenumberEnd: 2311
    functionName: mcl::she::neg
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void neg(CipherTextG1& y, const CipherTextG1& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/include/mcl/she.hpp:2312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - CipherTextG2
    - CipherTextG2
    constantsTouched: []
    func_position:
      end: 2312
      start: 2312
    functionDepth: 1
    functionLinenumber: 2312
    functionLinenumberEnd: 2312
    functionName: mcl::she::neg
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void neg(CipherTextG2& y, const CipherTextG2& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextGT::neg
      Src: /src/mcl/include/mcl/she.hpp:2313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - CipherTextGT
    - CipherTextGT
    constantsTouched: []
    func_position:
      end: 2313
      start: 2313
    functionDepth: 0
    functionLinenumber: 2313
    functionLinenumberEnd: 2313
    functionName: mcl::she::neg
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::CipherTextGT::neg
    linkageType: ''
    returnType: void
    signature: void neg(CipherTextGT& y, const CipherTextGT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherText::neg
      Src: /src/mcl/include/mcl/she.hpp:2314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - CipherText
    - CipherText
    constantsTouched: []
    func_position:
      end: 2314
      start: 2314
    functionDepth: 0
    functionLinenumber: 2314
    functionLinenumberEnd: 2314
    functionName: mcl::she::neg
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::CipherText::neg
    linkageType: ''
    returnType: void
    signature: void neg(CipherText& y, const CipherText& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:2317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextG1
    - CipherTextG1
    - INT
    constantsTouched: []
    func_position:
      end: 2317
      start: 2317
    functionDepth: 2
    functionLinenumber: 2317
    functionLinenumberEnd: 2317
    functionName: mcl::she::mul
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 6
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mul(CipherTextG1& z, const CipherTextG1& x, const INT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/include/mcl/she.hpp:2319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextG2
    - CipherTextG2
    - INT
    constantsTouched: []
    func_position:
      end: 2319
      start: 2319
    functionDepth: 2
    functionLinenumber: 2319
    functionLinenumberEnd: 2319
    functionName: mcl::she::mul
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 6
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mul(CipherTextG2& z, const CipherTextG2& x, const INT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextGT::mul
      Src: /src/mcl/include/mcl/she.hpp:2321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextGT
    - CipherTextGT
    - INT
    constantsTouched: []
    func_position:
      end: 2321
      start: 2321
    functionDepth: 0
    functionLinenumber: 2321
    functionLinenumberEnd: 2321
    functionName: mcl::she::mul
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 6
    functionsReached:
    - mcl::she::CipherTextGT::mul
    linkageType: ''
    returnType: void
    signature: void mul(CipherTextGT& z, const CipherTextGT& x, const INT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CipherText::mul
      Src: /src/mcl/include/mcl/she.hpp:2323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherText
    - CipherText
    - INT
    constantsTouched: []
    func_position:
      end: 2323
      start: 2323
    functionDepth: 0
    functionLinenumber: 2323
    functionLinenumberEnd: 2323
    functionName: mcl::she::mul
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 6
    functionsReached:
    - CipherText::mul
    linkageType: ''
    returnType: void
    signature: void mul(CipherText& z, const CipherText& x, const INT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::CipherTextGT::mul
      Src: /src/mcl/include/mcl/she.hpp:2325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherTextGT
    - CipherTextG1
    - CipherTextG2
    constantsTouched: []
    func_position:
      end: 2325
      start: 2325
    functionDepth: 0
    functionLinenumber: 2325
    functionLinenumberEnd: 2325
    functionName: mcl::she::mul
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 6
    functionsReached:
    - mcl::she::CipherTextGT::mul
    linkageType: ''
    returnType: void
    signature: void mul(CipherTextGT& z, const CipherTextG1& x, const CipherTextG2&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CipherText::mul
      Src: /src/mcl/include/mcl/she.hpp:2326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - CipherText
    - CipherText
    - CipherText
    constantsTouched: []
    func_position:
      end: 2326
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2326
    functionName: mcl::she::mul
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 6
    functionsReached:
    - CipherText::mul
    linkageType: ''
    returnType: void
    signature: void mul(CipherText& z, const CipherText& x, const CipherText& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec::local::normalizeVecT<typename G::Fp, Array, Array, local::AsArrayOfFp<Array>
        >
      Src: /src/mcl/include/mcl/she.hpp:2334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - n
    argTypes:
    - SHE::CipherTextAT<G>*
    - size_t
    constantsTouched: []
    func_position:
      end: 2335
      start: 2329
    functionDepth: 0
    functionLinenumber: 2329
    functionLinenumberEnd: 2335
    functionName: mcl::she::normalizeVec
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - ec::local::normalizeVecT<typename G::Fp, Array, Array, local::AsArrayOfFp<Array>
      >
    linkageType: ''
    returnType: void
    signature: void normalizeVec(SHE::CipherTextAT<G> *v, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::normalizeVec
      Src: /src/mcl/include/mcl/she.hpp:2340,1
    - Dst: mcl::she::save
      Src: /src/mcl/include/mcl/she.hpp:2343,1
    - Dst: mcl::she::save
      Src: /src/mcl/include/mcl/she.hpp:2350,1
    - Dst: assert
      Src: /src/mcl/include/mcl/she.hpp:2352,1
    - Dst: cybozu::MemoryOutputStream::getPos
      Src: /src/mcl/include/mcl/she.hpp:2352,1
    - Dst: cybozu::write
      Src: /src/mcl/include/mcl/she.hpp:2353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' os'
    - v
    - n
    argTypes:
    - OutputStream
    - SHE::CipherTextAT<G>*
    - size_t
    constantsTouched: []
    func_position:
      end: 2355
      start: 2338
    functionDepth: 2
    functionLinenumber: 2338
    functionLinenumberEnd: 2355
    functionName: mcl::she::serializeVecToAffine
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - cybozu::MemoryOutputStream::getPos
    - assert
    - cybozu::write
    - mcl::she::normalizeVec
    - mcl::she::save
    linkageType: ''
    returnType: void
    signature: void serializeVecToAffine(OutputStream& os, SHE::CipherTextAT<G> *v,
      size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::she::load
      Src: /src/mcl/include/mcl/she.hpp:2362,1
    - Dst: cybozu::read
      Src: /src/mcl/include/mcl/she.hpp:2367,1
    - Dst: mcl::she::load
      Src: /src/mcl/include/mcl/she.hpp:2370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - v
    - n
    - ' is'
    argTypes:
    - SHE::CipherTextAT<G>*
    - size_t
    - InputStream
    constantsTouched: []
    func_position:
      end: 2373
      start: 2358
    functionDepth: 0
    functionLinenumber: 2358
    functionLinenumberEnd: 2373
    functionName: mcl::she::deserializeVecFromAffine
    functionSourceFile: /src/mcl/include/mcl/she.hpp
    functionUses: 0
    functionsReached:
    - mcl::she::load
    - cybozu::read
    linkageType: ''
    returnType: void
    signature: void deserializeVecFromAffine(SHE::CipherTextAT<G> *v, size_t n, InputStream&
      is)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: mcl::CurveParam
    functionSourceFile: /src/mcl/include/mcl/curve_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CurveParam(const char *z = "", int b = 0, int xi_a = 0, bool isMtype
      = false, int curveType = 0, int u = 1)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CurveParam
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: operator==(const CurveParam& rhs) const
    functionSourceFile: /src/mcl/include/mcl/curve_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const CurveParam& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - CurveParam
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: operator!=(const CurveParam& rhs) const
    functionSourceFile: /src/mcl/include/mcl/curve_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const CurveParam& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: mcl::getCurveParam
    functionSourceFile: /src/mcl/include/mcl/curve_type.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: CurveParam
    signature: CurveParam * getCurveParam(int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: mcl::paillier::PublicKey::PublicKey
    functionSourceFile: /src/mcl/include/mcl/paillier.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - _primeBitSize
    - ' _n'
    argTypes:
    - size_t
    - mpz_class
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: mcl::paillier::PublicKey::init
    functionSourceFile: /src/mcl/include/mcl/paillier.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init(size_t _primeBitSize, const mpz_class& _n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::RandGen::RandGen
      Src: /src/mcl/include/mcl/paillier.hpp:29,1
    - Dst: isZero
      Src: /src/mcl/include/mcl/paillier.hpp:31,1
    - Dst: Botan_Tests::Test_Map_PSK_Db::kv_get
      Src: /src/mcl/include/mcl/paillier.hpp:31,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/mcl/paillier.hpp:32,1
    - Dst: mcl::gmp::getRand
      Src: /src/mcl/include/mcl/paillier.hpp:34,1
    - Dst: mcl::gmp::powMod
      Src: /src/mcl/include/mcl/paillier.hpp:36,1
    - Dst: mcl::gmp::powMod
      Src: /src/mcl/include/mcl/paillier.hpp:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' c'
    - ' m'
    argTypes:
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: mcl::paillier::PublicKey::enc
    functionSourceFile: /src/mcl/include/mcl/paillier.hpp
    functionUses: 0
    functionsReached:
    - isZero
    - Shim_Exception::Shim_Exception
    - mcl::gmp::powMod
    - Botan_Tests::Test_Map_PSK_Db::kv_get
    - mcl::gmp::getRand
    - mcl::fp::RandGen::RandGen
    linkageType: ''
    returnType: void
    signature: void enc(mpz_class& c, const mpz_class& m, mcl::fp::RandGen rg = mcl::fp::RandGen())
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' cz'
    - ' cx'
    - ' cy'
    argTypes:
    - mpz_class
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: mcl::paillier::PublicKey::add
    functionSourceFile: /src/mcl/include/mcl/paillier.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add(mpz_class& cz, mpz_class& cx, mpz_class& cy) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: mcl::paillier::SecretKey::SecretKey
    functionSourceFile: /src/mcl/include/mcl/paillier.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecretKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::fp::RandGen::RandGen
      Src: /src/mcl/include/mcl/paillier.hpp:61,1
    - Dst: isZero
      Src: /src/mcl/include/mcl/paillier.hpp:63,1
    - Dst: Botan_Tests::Test_Map_PSK_Db::kv_get
      Src: /src/mcl/include/mcl/paillier.hpp:63,1
    - Dst: mcl::gmp::getRandPrime
      Src: /src/mcl/include/mcl/paillier.hpp:66,1
    - Dst: mcl::gmp::getRandPrime
      Src: /src/mcl/include/mcl/paillier.hpp:67,1
    - Dst: mcl::gmp::invMod
      Src: /src/mcl/include/mcl/paillier.hpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - bitSize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: mcl::paillier::SecretKey::init
    functionSourceFile: /src/mcl/include/mcl/paillier.hpp
    functionUses: 0
    functionsReached:
    - isZero
    - Botan_Tests::Test_Map_PSK_Db::kv_get
    - mcl::fp::RandGen::RandGen
    - mcl::gmp::getRandPrime
    - mcl::gmp::invMod
    linkageType: ''
    returnType: void
    signature: void init(size_t bitSize, mcl::fp::RandGen rg = mcl::fp::RandGen())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::paillier::SecretKey::init
      Src: /src/mcl/include/mcl/paillier.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pub'
    argTypes:
    - PublicKey
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: mcl::paillier::SecretKey::getPublicKey
    functionSourceFile: /src/mcl/include/mcl/paillier.hpp
    functionUses: 0
    functionsReached:
    - mcl::paillier::SecretKey::init
    linkageType: ''
    returnType: void
    signature: void getPublicKey(PublicKey& pub) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::powMod
      Src: /src/mcl/include/mcl/paillier.hpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' m'
    - ' c'
    argTypes:
    - mpz_class
    - mpz_class
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 4
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: mcl::paillier::SecretKey::dec
    functionSourceFile: /src/mcl/include/mcl/paillier.hpp
    functionUses: 0
    functionsReached:
    - mcl::gmp::powMod
    linkageType: ''
    returnType: void
    signature: void dec(mpz_class& m, const mpz_class& c) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 12
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 12
    functionName: strlen
    functionSourceFile: /src/mcl/include/mcl/tinylib/string.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t strlen(const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - _s
    - c
    - n
    argTypes:
    - void*
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: memset
    functionSourceFile: /src/mcl/include/mcl/tinylib/string.h
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *memset(void *_s, int c, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: strcmp
    functionSourceFile: /src/mcl/include/mcl/tinylib/string.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int strcmp(const char *s1, const char *s2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - _dst
    - _src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 10
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 10
    functionName: memcpy
    functionSourceFile: /src/mcl/include/mcl/tinylib/memory.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void memcpy(void* _dst, const void* _src, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 10
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 10
    functionName: malloc
    functionSourceFile: /src/mcl/include/mcl/tinylib/stdlib.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *malloc(size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: free
    functionSourceFile: /src/mcl/include/mcl/tinylib/stdlib.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void free(void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: cybozu::test::AutoRun::AutoRun
    functionSourceFile: /src/mcl/include/cybozu/test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AutoRun()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - init
    - term
    argTypes:
    - Func
    - Func
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: cybozu::test::AutoRun::setup
    functionSourceFile: /src/mcl/include/cybozu/test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setup(Func init, Func term)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/mcl/include/cybozu/test.hpp:42,1
    - Dst: std::make_pair
      Src: /src/mcl/include/cybozu/test.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - func
    argTypes:
    - char*
    - Func
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: cybozu::test::AutoRun::append
    functionSourceFile: /src/mcl/include/cybozu/test.hpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - push_back
    linkageType: ''
    returnType: void
    signature: void append(const char *name, Func func)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - isOK
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: cybozu::test::AutoRun::set
    functionSourceFile: /src/mcl/include/cybozu/test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(bool isOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: substr
      Src: /src/mcl/include/cybozu/test.hpp:60,1
    - Dst: std::string::find
      Src: /src/mcl/include/cybozu/test.hpp:61,1
    - Dst: std::string::substr
      Src: /src/mcl/include/cybozu/test.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: cybozu::test::AutoRun::getBaseName
    functionSourceFile: /src/mcl/include/cybozu/test.hpp
    functionUses: 0
    functionsReached:
    - substr
    - std::string::substr
    - std::string::find
    linkageType: ''
    returnType: std::string
    signature: std::string getBaseName(const std::string& name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_
      Src: /src/mcl/include/cybozu/test.hpp:68,1
    - Dst: begin
      Src: /src/mcl/include/cybozu/test.hpp:69,1
    - Dst: end
      Src: /src/mcl/include/cybozu/test.hpp:69,1
    - Dst: what
      Src: /src/mcl/include/cybozu/test.hpp:75,1
    - Dst: term_
      Src: /src/mcl/include/cybozu/test.hpp:81,1
    - Dst: std::string
      Src: /src/mcl/include/cybozu/test.hpp:83,1
    - Dst: what
      Src: /src/mcl/include/cybozu/test.hpp:83,1
    - Dst: fflush
      Src: /src/mcl/include/cybozu/test.hpp:87,1
    - Dst: std::string::empty
      Src: /src/mcl/include/cybozu/test.hpp:88,1
    - Dst: cybozu::test::AutoRun::getBaseName
      Src: /src/mcl/include/cybozu/test.hpp:91,1
    - Dst: size
      Src: /src/mcl/include/cybozu/test.hpp:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char*[]
    constantsTouched: []
    func_position:
      end: 102
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 102
    functionName: cybozu::test::AutoRun::run
    functionSourceFile: /src/mcl/include/cybozu/test.hpp
    functionUses: 0
    functionsReached:
    - fflush
    - cybozu::test::AutoRun::getBaseName
    - what
    - init_
    - begin
    - std::string
    - size
    - end
    - term_
    - std::string::empty
    linkageType: ''
    returnType: int
    signature: int run(int, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: '& getInstance()'
    functionSourceFile: /src/mcl/include/cybozu/test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AutoRun
    signature: AutoRun & getInstance()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/mcl/include/cybozu/test.hpp:121,1
    - Dst: printf
      Src: /src/mcl/include/cybozu/test.hpp:123,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/test.hpp:123,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/test.hpp:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ret
    - ' msg'
    - ' param'
    - file
    - line
    argTypes:
    - bool
    - std::string
    - std::string
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: cybozu::test::test
    functionSourceFile: /src/mcl/include/cybozu/test.hpp
    functionUses: 0
    functionsReached:
    - set
    - c_str
    - printf
    linkageType: ''
    returnType: void
    signature: void test(bool ret, const std::string& msg, const std::string& param,
      const char *file, int line)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - T
    - U
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: cybozu::test::isEqual
    functionSourceFile: /src/mcl/include/cybozu/test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEqual(const T& lhs, const U& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: cybozu::test::isEqual
    functionSourceFile: /src/mcl/include/cybozu/test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEqual(size_t lhs, int rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: cybozu::test::isEqual
    functionSourceFile: /src/mcl/include/cybozu/test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEqual(int lhs, size_t rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mcl/include/cybozu/test.hpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: cybozu::test::isEqual
    functionSourceFile: /src/mcl/include/cybozu/test.hpp
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool isEqual(const char *lhs, const char *rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mcl/include/cybozu/test.hpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: cybozu::test::isEqual
    functionSourceFile: /src/mcl/include/cybozu/test.hpp
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool isEqual(char *lhs, const char *rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mcl/include/cybozu/test.hpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: cybozu::test::isEqual
    functionSourceFile: /src/mcl/include/cybozu/test.hpp
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool isEqual(const char *lhs, char *rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mcl/include/cybozu/test.hpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: cybozu::test::isEqual
    functionSourceFile: /src/mcl/include/cybozu/test.hpp
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool isEqual(char *lhs, char *rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - float
    - float
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: cybozu::test::isEqual
    functionSourceFile: /src/mcl/include/cybozu/test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEqual(float lhs, float rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: cybozu::test::isEqual
    functionSourceFile: /src/mcl/include/cybozu/test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEqual(double lhs, double rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/mcl/include/cybozu/test.hpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: main
    functionSourceFile: /src/mcl/include/cybozu/test.hpp
    functionUses: 97
    functionsReached:
    - run
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/cybozu/xorshift.hpp:24,1
    - Dst: assert
      Src: /src/mcl/include/cybozu/xorshift.hpp:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - p
    - n
    - ' gen'
    argTypes:
    - void*
    - size_t
    - Gen
    constantsTouched: []
    func_position:
      end: 47
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 47
    functionName: cybozu::xorshift_local::read_local
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void read_local(void *p, size_t n, Gen& gen, U (Gen::*f)())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::init
      Src: /src/mcl/include/cybozu/xorshift.hpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: cybozu::XorShift::XorShift
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 74
    functionsReached:
    - cybozu::XorShift::init
    linkageType: ''
    returnType: void
    signature: void XorShift(uint32_t x = 0, uint32_t y = 0, uint32_t z = 0, uint32_t
      w = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: cybozu::XorShift::init
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init(uint32_t x = 0, uint32_t y = 0, uint32_t z = 0, uint32_t
      w = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: cybozu::XorShift::get32
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get32
      Src: /src/mcl/include/cybozu/xorshift.hpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: operator()()
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 0
    functionsReached:
    - get32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t operator()()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: cybozu::XorShift::get64
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::xorshift_local::read_local
      Src: /src/mcl/include/cybozu/xorshift.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pb
    - p
    - n
    argTypes:
    - bool*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: cybozu::XorShift::read
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 2
    functionsReached:
    - cybozu::xorshift_local::read_local
    linkageType: ''
    returnType: void
    signature: void read(bool *pb, T *p, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::read
      Src: /src/mcl/include/cybozu/xorshift.hpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: cybozu::XorShift::read
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 3
    functionsReached:
    - cybozu::XorShift::read
    linkageType: ''
    returnType: size_t
    signature: size_t read(T *p, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift128Plus::init
      Src: /src/mcl/include/cybozu/xorshift.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: cybozu::XorShift128Plus::XorShift128Plus
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 0
    functionsReached:
    - cybozu::XorShift128Plus::init
    linkageType: ''
    returnType: void
    signature: void XorShift128Plus(uint64_t s0 = seed0, uint64_t s1 = seed1)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: cybozu::XorShift128Plus::init
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init(uint64_t s0 = seed0, uint64_t s1 = seed1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/mcl/include/cybozu/xorshift.hpp:111,1
    - Dst: cybozu::XorShift128Plus::get64
      Src: /src/mcl/include/cybozu/xorshift.hpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: cybozu::XorShift128Plus::get32
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - cybozu::XorShift128Plus::get64
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get64
      Src: /src/mcl/include/cybozu/xorshift.hpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: operator()()
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 0
    functionsReached:
    - get64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t operator()()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: cybozu::XorShift128Plus::get64
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::xorshift_local::read_local
      Src: /src/mcl/include/cybozu/xorshift.hpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pb
    - p
    - n
    argTypes:
    - bool*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: cybozu::XorShift128Plus::read
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 0
    functionsReached:
    - cybozu::xorshift_local::read_local
    linkageType: ''
    returnType: void
    signature: void read(bool *pb, T *p, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift128Plus::read
      Src: /src/mcl/include/cybozu/xorshift.hpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: cybozu::XorShift128Plus::read
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 1
    functionsReached:
    - cybozu::XorShift128Plus::read
    linkageType: ''
    returnType: size_t
    signature: size_t read(T *p, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - k
    argTypes:
    - uint64_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: cybozu::Xoroshiro128Plus::rotl
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t rotl(uint64_t x, unsigned int k) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Xoroshiro128Plus::init
      Src: /src/mcl/include/cybozu/xorshift.hpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: cybozu::Xoroshiro128Plus::Xoroshiro128Plus
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 0
    functionsReached:
    - cybozu::Xoroshiro128Plus::init
    linkageType: ''
    returnType: void
    signature: void Xoroshiro128Plus(uint64_t s0 = seed0, uint64_t s1 = seed1)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: cybozu::Xoroshiro128Plus::init
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init(uint64_t s0 = seed0, uint64_t s1 = seed1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/mcl/include/cybozu/xorshift.hpp:160,1
    - Dst: cybozu::Xoroshiro128Plus::get64
      Src: /src/mcl/include/cybozu/xorshift.hpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: cybozu::Xoroshiro128Plus::get32
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - cybozu::Xoroshiro128Plus::get64
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get64
      Src: /src/mcl/include/cybozu/xorshift.hpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: operator()()
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 0
    functionsReached:
    - get64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t operator()()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Xoroshiro128Plus::rotl
      Src: /src/mcl/include/cybozu/xorshift.hpp:169,1
    - Dst: cybozu::Xoroshiro128Plus::rotl
      Src: /src/mcl/include/cybozu/xorshift.hpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: cybozu::Xoroshiro128Plus::get64
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 1
    functionsReached:
    - cybozu::Xoroshiro128Plus::rotl
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::xorshift_local::read_local
      Src: /src/mcl/include/cybozu/xorshift.hpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pb
    - p
    - n
    argTypes:
    - bool*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: cybozu::Xoroshiro128Plus::read
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 0
    functionsReached:
    - cybozu::xorshift_local::read_local
    linkageType: ''
    returnType: void
    signature: void read(bool *pb, T *p, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Xoroshiro128Plus::read
      Src: /src/mcl/include/cybozu/xorshift.hpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: cybozu::Xoroshiro128Plus::read
    functionSourceFile: /src/mcl/include/cybozu/xorshift.hpp
    functionUses: 1
    functionsReached:
    - cybozu::Xoroshiro128Plus::read
    linkageType: ''
    returnType: size_t
    signature: size_t read(T *p, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/mcl/include/cybozu/sha2.hpp:55,1
    - Dst: EVP_get_digestbyname
      Src: /src/mcl/include/cybozu/sha2.hpp:56,1
    - Dst: fprintf
      Src: /src/mcl/include/cybozu/sha2.hpp:59,1
    - Dst: assert
      Src: /src/mcl/include/cybozu/sha2.hpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: local::NewHash
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_new
    - EVP_get_digestbyname
    - fprintf
    - assert
    linkageType: ''
    returnType: void
    signature: void NewHash(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/mcl/include/cybozu/sha2.hpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: ~NewHash()
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void ~NewHash()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_reset
      Src: /src/mcl/include/cybozu/sha2.hpp:69,1
    - Dst: EVP_DigestInit_ex
      Src: /src/mcl/include/cybozu/sha2.hpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: local::clear
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 3
    functionsReached:
    - EVP_DigestInit_ex
    - EVP_MD_CTX_reset
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/mcl/include/cybozu/sha2.hpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: local::update
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: void
    signature: void update(const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: local::update
      Src: /src/mcl/include/cybozu/sha2.hpp:79,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/mcl/include/cybozu/sha2.hpp:81,1
    - Dst: assert
      Src: /src/mcl/include/cybozu/sha2.hpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - md
    - mdSize
    - buf
    - bufSize
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: local::digest
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - assert
    - local::update
    linkageType: ''
    returnType: size_t
    signature: size_t digest(void *md, size_t mdSize, const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/include/cybozu/sha2.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: ("sha256")
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: ctx_
    signature: ctx_ ("sha256")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/include/cybozu/sha2.hpp:107,1
    - Dst: SHA256_Init
      Src: /src/mcl/include/cybozu/sha2.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: clear
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 415
    functionsReached:
    - clear
    - SHA256_Init
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/mcl/include/cybozu/sha2.hpp:115,1
    - Dst: SHA256_Update
      Src: /src/mcl/include/cybozu/sha2.hpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: update
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 309
    functionsReached:
    - update
    - SHA256_Update
    linkageType: ''
    returnType: void
    signature: void update(const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest
      Src: /src/mcl/include/cybozu/sha2.hpp:123,1
    - Dst: update
      Src: /src/mcl/include/cybozu/sha2.hpp:126,1
    - Dst: SHA256_Final
      Src: /src/mcl/include/cybozu/sha2.hpp:127,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/mcl/include/cybozu/sha2.hpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - md
    - mdSize
    - buf
    - bufSize
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: digest
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 9
    functionsReached:
    - digest
    - update
    - SHA256_Final
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: size_t
    signature: size_t digest(void *md, size_t mdSize, const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/mcl/include/cybozu/sha2.hpp:134,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/sha2.hpp:134,1
    - Dst: size
      Src: /src/mcl/include/cybozu/sha2.hpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: update
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 311
    functionsReached:
    - update
    - c_str
    - size
    linkageType: ''
    returnType: void
    signature: void update(const std::string& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest
      Src: /src/mcl/include/cybozu/sha2.hpp:138,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/sha2.hpp:138,1
    - Dst: size
      Src: /src/mcl/include/cybozu/sha2.hpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: digest
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 10
    functionsReached:
    - digest
    - c_str
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string digest(const std::string& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest
      Src: /src/mcl/include/cybozu/sha2.hpp:147,1
    - Dst: std::string::size
      Src: /src/mcl/include/cybozu/sha2.hpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: digest
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 11
    functionsReached:
    - digest
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string digest(const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/include/cybozu/sha2.hpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: ("sha512")
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: ctx_
    signature: ctx_ ("sha512")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/include/cybozu/sha2.hpp:170,1
    - Dst: SHA512_Init
      Src: /src/mcl/include/cybozu/sha2.hpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: clear
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 417
    functionsReached:
    - clear
    - SHA512_Init
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/mcl/include/cybozu/sha2.hpp:178,1
    - Dst: SHA512_Update
      Src: /src/mcl/include/cybozu/sha2.hpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: update
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 312
    functionsReached:
    - update
    - SHA512_Update
    linkageType: ''
    returnType: void
    signature: void update(const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest
      Src: /src/mcl/include/cybozu/sha2.hpp:186,1
    - Dst: update
      Src: /src/mcl/include/cybozu/sha2.hpp:189,1
    - Dst: SHA512_Final
      Src: /src/mcl/include/cybozu/sha2.hpp:190,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/mcl/include/cybozu/sha2.hpp:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - md
    - mdSize
    - buf
    - bufSize
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: digest
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 12
    functionsReached:
    - digest
    - update
    - reinterpret_cast<uint8_t*>
    - SHA512_Final
    linkageType: ''
    returnType: size_t
    signature: size_t digest(void *md, size_t mdSize, const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/mcl/include/cybozu/sha2.hpp:197,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/sha2.hpp:197,1
    - Dst: size
      Src: /src/mcl/include/cybozu/sha2.hpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: update
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 314
    functionsReached:
    - update
    - c_str
    - size
    linkageType: ''
    returnType: void
    signature: void update(const std::string& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest
      Src: /src/mcl/include/cybozu/sha2.hpp:201,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/sha2.hpp:201,1
    - Dst: size
      Src: /src/mcl/include/cybozu/sha2.hpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: digest
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 13
    functionsReached:
    - digest
    - c_str
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string digest(const std::string& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest
      Src: /src/mcl/include/cybozu/sha2.hpp:210,1
    - Dst: std::string::size
      Src: /src/mcl/include/cybozu/sha2.hpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 212
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 212
    functionName: digest
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 14
    functionsReached:
    - digest
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string digest(const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _rotr
      Src: /src/mcl/include/cybozu/sha2.hpp:234,1
    - Dst: _rotr64
      Src: /src/mcl/include/cybozu/sha2.hpp:243,1
    - Dst: assert
      Src: /src/mcl/include/cybozu/sha2.hpp:253,1
    - Dst: static_cast<T&>
      Src: /src/mcl/include/cybozu/sha2.hpp:254,1
    - Dst: memset
      Src: /src/mcl/include/cybozu/sha2.hpp:258,1
    - Dst: round
      Src: /src/mcl/include/cybozu/sha2.hpp:260,1
    - Dst: memset
      Src: /src/mcl/include/cybozu/sha2.hpp:261,1
    - Dst: cybozu::Set64bitAsBE
      Src: /src/mcl/include/cybozu/sha2.hpp:263,1
    - Dst: round
      Src: /src/mcl/include/cybozu/sha2.hpp:264,1
    - Dst: static_cast<T&>
      Src: /src/mcl/include/cybozu/sha2.hpp:268,1
    - Dst: memcpy
      Src: /src/mcl/include/cybozu/sha2.hpp:272,1
    - Dst: round
      Src: /src/mcl/include/cybozu/sha2.hpp:278,1
    - Dst: assert
      Src: /src/mcl/include/cybozu/sha2.hpp:282,1
    - Dst: round
      Src: /src/mcl/include/cybozu/sha2.hpp:283,1
    - Dst: assert
      Src: /src/mcl/include/cybozu/sha2.hpp:288,1
    - Dst: assert
      Src: /src/mcl/include/cybozu/sha2.hpp:289,1
    - Dst: memcpy
      Src: /src/mcl/include/cybozu/sha2.hpp:290,1
    - Dst: assert
      Src: /src/mcl/include/cybozu/sha2.hpp:293,1
    - Dst: rot32
      Src: /src/mcl/include/cybozu/sha2.hpp:318,1
    - Dst: rot32
      Src: /src/mcl/include/cybozu/sha2.hpp:318,1
    - Dst: rot32
      Src: /src/mcl/include/cybozu/sha2.hpp:318,1
    - Dst: rot32
      Src: /src/mcl/include/cybozu/sha2.hpp:328,1
    - Dst: rot32
      Src: /src/mcl/include/cybozu/sha2.hpp:328,1
    - Dst: rot32
      Src: /src/mcl/include/cybozu/sha2.hpp:328,1
    - Dst: cybozu::Get32bitAsBE
      Src: /src/mcl/include/cybozu/sha2.hpp:340,1
    - Dst: round1<0, 1, 2, 3, 4, 5, 6, 7>
      Src: /src/mcl/include/cybozu/sha2.hpp:354,1
    - Dst: round1<7, 0, 1, 2, 3, 4, 5, 6>
      Src: /src/mcl/include/cybozu/sha2.hpp:355,1
    - Dst: round1<6, 7, 0, 1, 2, 3, 4, 5>
      Src: /src/mcl/include/cybozu/sha2.hpp:356,1
    - Dst: round1<5, 6, 7, 0, 1, 2, 3, 4>
      Src: /src/mcl/include/cybozu/sha2.hpp:357,1
    - Dst: round1<4, 5, 6, 7, 0, 1, 2, 3>
      Src: /src/mcl/include/cybozu/sha2.hpp:358,1
    - Dst: round1<3, 4, 5, 6, 7, 0, 1, 2>
      Src: /src/mcl/include/cybozu/sha2.hpp:359,1
    - Dst: round1<2, 3, 4, 5, 6, 7, 0, 1>
      Src: /src/mcl/include/cybozu/sha2.hpp:360,1
    - Dst: round1<1, 2, 3, 4, 5, 6, 7, 0>
      Src: /src/mcl/include/cybozu/sha2.hpp:361,1
    - Dst: clear
      Src: /src/mcl/include/cybozu/sha2.hpp:371,1
    - Dst: inner_update
      Src: /src/mcl/include/cybozu/sha2.hpp:399,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/mcl/include/cybozu/sha2.hpp:399,1
    - Dst: update
      Src: /src/mcl/include/cybozu/sha2.hpp:404,1
    - Dst: term
      Src: /src/mcl/include/cybozu/sha2.hpp:405,1
    - Dst: cybozu::Set32bitAsBE
      Src: /src/mcl/include/cybozu/sha2.hpp:408,1
    - Dst: update
      Src: /src/mcl/include/cybozu/sha2.hpp:415,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/sha2.hpp:415,1
    - Dst: size
      Src: /src/mcl/include/cybozu/sha2.hpp:415,1
    - Dst: digest
      Src: /src/mcl/include/cybozu/sha2.hpp:419,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/sha2.hpp:419,1
    - Dst: size
      Src: /src/mcl/include/cybozu/sha2.hpp:419,1
    - Dst: digest
      Src: /src/mcl/include/cybozu/sha2.hpp:424,1
    - Dst: std::string::size
      Src: /src/mcl/include/cybozu/sha2.hpp:424,1
    - Dst: cybozu::Get64bitAsBE
      Src: /src/mcl/include/cybozu/sha2.hpp:473,1
    - Dst: round1<0, 1, 2, 3, 4, 5, 6, 7>
      Src: /src/mcl/include/cybozu/sha2.hpp:487,1
    - Dst: round1<7, 0, 1, 2, 3, 4, 5, 6>
      Src: /src/mcl/include/cybozu/sha2.hpp:488,1
    - Dst: round1<6, 7, 0, 1, 2, 3, 4, 5>
      Src: /src/mcl/include/cybozu/sha2.hpp:489,1
    - Dst: round1<5, 6, 7, 0, 1, 2, 3, 4>
      Src: /src/mcl/include/cybozu/sha2.hpp:490,1
    - Dst: round1<4, 5, 6, 7, 0, 1, 2, 3>
      Src: /src/mcl/include/cybozu/sha2.hpp:491,1
    - Dst: round1<3, 4, 5, 6, 7, 0, 1, 2>
      Src: /src/mcl/include/cybozu/sha2.hpp:492,1
    - Dst: round1<2, 3, 4, 5, 6, 7, 0, 1>
      Src: /src/mcl/include/cybozu/sha2.hpp:493,1
    - Dst: round1<1, 2, 3, 4, 5, 6, 7, 0>
      Src: /src/mcl/include/cybozu/sha2.hpp:494,1
    - Dst: clear
      Src: /src/mcl/include/cybozu/sha2.hpp:504,1
    - Dst: inner_update
      Src: /src/mcl/include/cybozu/sha2.hpp:540,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/mcl/include/cybozu/sha2.hpp:540,1
    - Dst: update
      Src: /src/mcl/include/cybozu/sha2.hpp:545,1
    - Dst: term
      Src: /src/mcl/include/cybozu/sha2.hpp:546,1
    - Dst: cybozu::Set64bitAsBE
      Src: /src/mcl/include/cybozu/sha2.hpp:549,1
    - Dst: update
      Src: /src/mcl/include/cybozu/sha2.hpp:556,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/sha2.hpp:556,1
    - Dst: size
      Src: /src/mcl/include/cybozu/sha2.hpp:556,1
    - Dst: digest
      Src: /src/mcl/include/cybozu/sha2.hpp:560,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/sha2.hpp:560,1
    - Dst: size
      Src: /src/mcl/include/cybozu/sha2.hpp:560,1
    - Dst: digest
      Src: /src/mcl/include/cybozu/sha2.hpp:565,1
    - Dst: std::string::size
      Src: /src/mcl/include/cybozu/sha2.hpp:565,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 172
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 571
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 571
    functionName: cybozu
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 0
    functionsReached:
    - digest
    - std::string::size
    - assert
    - round1<7, 0, 1, 2, 3, 4, 5, 6>
    - clear
    - memset
    - round
    - cybozu::Get32bitAsBE
    - rot32
    - inner_update
    - cybozu::Get64bitAsBE
    - cybozu::Set32bitAsBE
    - memcpy
    - reinterpret_cast<const uint8_t*>
    - round1<6, 7, 0, 1, 2, 3, 4, 5>
    - update
    - round1<2, 3, 4, 5, 6, 7, 0, 1>
    - round1<3, 4, 5, 6, 7, 0, 1, 2>
    - _rotr64
    - static_cast<T&>
    - term
    - c_str
    - round1<1, 2, 3, 4, 5, 6, 7, 0>
    - size
    - round1<5, 6, 7, 0, 1, 2, 3, 4>
    - round1<4, 5, 6, 7, 0, 1, 2, 3>
    - cybozu::Set64bitAsBE
    - _rotr
    - round1<0, 1, 2, 3, 4, 5, 6, 7>
    linkageType: ''
    returnType: namespace
    signature: namespace cybozu
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Sha256::digest
      Src: /src/mcl/include/cybozu/sha2.hpp:588,1
    - Dst: Sha256::clear
      Src: /src/mcl/include/cybozu/sha2.hpp:589,1
    - Dst: memcpy
      Src: /src/mcl/include/cybozu/sha2.hpp:592,1
    - Dst: memset
      Src: /src/mcl/include/cybozu/sha2.hpp:597,1
    - Dst: Sha256::update
      Src: /src/mcl/include/cybozu/sha2.hpp:598,1
    - Dst: Sha256::digest
      Src: /src/mcl/include/cybozu/sha2.hpp:599,1
    - Dst: Sha256::clear
      Src: /src/mcl/include/cybozu/sha2.hpp:600,1
    - Dst: Sha256::update
      Src: /src/mcl/include/cybozu/sha2.hpp:604,1
    - Dst: Sha256::digest
      Src: /src/mcl/include/cybozu/sha2.hpp:605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 608
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 608
    functionName: cybozu
    functionSourceFile: /src/mcl/include/cybozu/sha2.hpp
    functionUses: 0
    functionsReached:
    - Sha256::digest
    - Sha256::update
    - memcpy
    - memset
    - Sha256::clear
    linkageType: ''
    returnType: namespace
    signature: namespace cybozu
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/mcl/include/cybozu/serializer.hpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t'
    - size
    argTypes:
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: cybozu::serializer_local::dispatch_reserve
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 0
    functionsReached:
    - reserve
    linkageType: ''
    returnType: void
    signature: void dispatch_reserve(T& t, size_t size, int, HasMemFunc<T, &T::reserve>*
      = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: cybozu::serializer_local::dispatch_reserve
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dispatch_reserve(T&, size_t, int*)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::serializer_local::dispatch_reserve
      Src: /src/mcl/include/cybozu/serializer.hpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t'
    - size
    argTypes:
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: cybozu::serializer_local::reserve_if_exists
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 0
    functionsReached:
    - cybozu::serializer_local::dispatch_reserve
    linkageType: ''
    returnType: void
    signature: void reserve_if_exists(T& t, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::read
      Src: /src/mcl/include/cybozu/serializer.hpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - num
    - ' is'
    argTypes:
    - T*
    - size_t
    - InputStream
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: cybozu::loadRange
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 0
    functionsReached:
    - cybozu::read
    linkageType: ''
    returnType: void
    signature: void loadRange(T *p, size_t num, InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::write
      Src: /src/mcl/include/cybozu/serializer.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' os'
    - p
    - num
    argTypes:
    - OutputStream
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: cybozu::saveRange
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 0
    functionsReached:
    - cybozu::write
    linkageType: ''
    returnType: void
    signature: void saveRange(OutputStream& os, const T *p, size_t num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::loadRange
      Src: /src/mcl/include/cybozu/serializer.hpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' is'
    argTypes:
    - T
    - InputStream
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: cybozu::loadPod
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 0
    functionsReached:
    - cybozu::loadRange
    linkageType: ''
    returnType: void
    signature: void loadPod(T& x, InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::saveRange
      Src: /src/mcl/include/cybozu/serializer.hpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' x'
    argTypes:
    - OutputStream
    - T
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: cybozu::savePod
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 0
    functionsReached:
    - cybozu::saveRange
    linkageType: ''
    returnType: void
    signature: void savePod(OutputStream& os, const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::load
      Src: /src/mcl/include/cybozu/serializer.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' is'
    argTypes:
    - T
    - InputStream
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: cybozu::load
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 2
    functionsReached:
    - cybozu::load
    linkageType: ''
    returnType: void
    signature: void load(T& x, InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::save
      Src: /src/mcl/include/cybozu/serializer.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' x'
    argTypes:
    - OutputStream
    - T
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: cybozu::save
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 2
    functionsReached:
    - cybozu::save
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/mcl/include/cybozu/serializer.hpp:123,1
    - Dst: S
      Src: /src/mcl/include/cybozu/serializer.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: cybozu::serializer_local::isRecoverable
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 0
    functionsReached:
    - S
    - T
    linkageType: ''
    returnType: bool
    signature: bool isRecoverable(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::serializer_local::isRecoverable
      Src: /src/mcl/include/cybozu/serializer.hpp:141,1
    - Dst: savePod
      Src: /src/mcl/include/cybozu/serializer.hpp:144,1
    - Dst: savePod
      Src: /src/mcl/include/cybozu/serializer.hpp:146,1
    - Dst: cybozu::serializer_local::isRecoverable
      Src: /src/mcl/include/cybozu/serializer.hpp:147,1
    - Dst: savePod
      Src: /src/mcl/include/cybozu/serializer.hpp:148,1
    - Dst: savePod
      Src: /src/mcl/include/cybozu/serializer.hpp:149,1
    - Dst: cybozu::serializer_local::isRecoverable
      Src: /src/mcl/include/cybozu/serializer.hpp:150,1
    - Dst: cybozu::serializer_local::isRecoverable
      Src: /src/mcl/include/cybozu/serializer.hpp:150,1
    - Dst: savePod
      Src: /src/mcl/include/cybozu/serializer.hpp:151,1
    - Dst: cybozu::serializer_local::isRecoverable
      Src: /src/mcl/include/cybozu/serializer.hpp:151,1
    - Dst: savePod
      Src: /src/mcl/include/cybozu/serializer.hpp:152,1
    - Dst: cybozu::serializer_local::isRecoverable
      Src: /src/mcl/include/cybozu/serializer.hpp:153,1
    - Dst: cybozu::serializer_local::isRecoverable
      Src: /src/mcl/include/cybozu/serializer.hpp:153,1
    - Dst: savePod
      Src: /src/mcl/include/cybozu/serializer.hpp:154,1
    - Dst: cybozu::serializer_local::isRecoverable
      Src: /src/mcl/include/cybozu/serializer.hpp:154,1
    - Dst: savePod
      Src: /src/mcl/include/cybozu/serializer.hpp:155,1
    - Dst: assert
      Src: /src/mcl/include/cybozu/serializer.hpp:157,1
    - Dst: savePod
      Src: /src/mcl/include/cybozu/serializer.hpp:158,1
    - Dst: savePod
      Src: /src/mcl/include/cybozu/serializer.hpp:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - ' os'
    - ' x'
    argTypes:
    - OutputStream
    - T
    constantsTouched: []
    func_position:
      end: 161
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 161
    functionName: cybozu::serializer_local::saveVariableInt
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 0
    functionsReached:
    - cybozu::serializer_local::isRecoverable
    - assert
    - savePod
    linkageType: ''
    returnType: void
    signature: void saveVariableInt(OutputStream& os, const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: loadPod
      Src: /src/mcl/include/cybozu/serializer.hpp:167,1
    - Dst: loadPod
      Src: /src/mcl/include/cybozu/serializer.hpp:170,1
    - Dst: loadPod
      Src: /src/mcl/include/cybozu/serializer.hpp:174,1
    - Dst: loadPod
      Src: /src/mcl/include/cybozu/serializer.hpp:178,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/serializer.hpp:181,1
    - Dst: loadPod
      Src: /src/mcl/include/cybozu/serializer.hpp:183,1
    - Dst: static_cast<T>
      Src: /src/mcl/include/cybozu/serializer.hpp:184,1
    - Dst: loadPod
      Src: /src/mcl/include/cybozu/serializer.hpp:187,1
    - Dst: loadPod
      Src: /src/mcl/include/cybozu/serializer.hpp:191,1
    - Dst: loadPod
      Src: /src/mcl/include/cybozu/serializer.hpp:195,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/serializer.hpp:198,1
    - Dst: loadPod
      Src: /src/mcl/include/cybozu/serializer.hpp:200,1
    - Dst: static_cast<T>
      Src: /src/mcl/include/cybozu/serializer.hpp:201,1
    - Dst: static_cast<int8_t>
      Src: /src/mcl/include/cybozu/serializer.hpp:203,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - ' x'
    - ' is'
    argTypes:
    - T
    - InputStream
    constantsTouched: []
    func_position:
      end: 205
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 205
    functionName: cybozu::serializer_local::loadVariableInt
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - static_cast<T>
    - static_cast<int8_t>
    - loadPod
    linkageType: ''
    returnType: void
    signature: void loadVariableInt(T& x, InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::load
      Src: /src/mcl/include/cybozu/serializer.hpp:232,1
    - Dst: resize
      Src: /src/mcl/include/cybozu/serializer.hpp:233,1
    - Dst: cybozu::loadRange
      Src: /src/mcl/include/cybozu/serializer.hpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' v'
    - ' is'
    argTypes:
    - V
    - InputStream
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: cybozu::loadPodVec
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 0
    functionsReached:
    - resize
    - cybozu::loadRange
    - cybozu::load
    linkageType: ''
    returnType: void
    signature: void loadPodVec(V& v, InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::save
      Src: /src/mcl/include/cybozu/serializer.hpp:241,1
    - Dst: size
      Src: /src/mcl/include/cybozu/serializer.hpp:241,1
    - Dst: empty
      Src: /src/mcl/include/cybozu/serializer.hpp:242,1
    - Dst: cybozu::saveRange
      Src: /src/mcl/include/cybozu/serializer.hpp:242,1
    - Dst: size
      Src: /src/mcl/include/cybozu/serializer.hpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' v'
    argTypes:
    - OutputStream
    - V
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: cybozu::savePodVec
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 0
    functionsReached:
    - empty
    - cybozu::save
    - cybozu::saveRange
    - size
    linkageType: ''
    returnType: void
    signature: void savePodVec(OutputStream& os, const V& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::loadPodVec
      Src: /src/mcl/include/cybozu/serializer.hpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - ' is'
    argTypes:
    - std::string
    - InputStream
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: cybozu::load
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 3
    functionsReached:
    - cybozu::loadPodVec
    linkageType: ''
    returnType: void
    signature: void load(std::string& str, InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::savePodVec
      Src: /src/mcl/include/cybozu/serializer.hpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' str'
    argTypes:
    - OutputStream
    - std::string
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: cybozu::save
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 3
    functionsReached:
    - cybozu::savePodVec
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::save
      Src: /src/mcl/include/cybozu/serializer.hpp:261,1
    - Dst: cybozu::saveRange
      Src: /src/mcl/include/cybozu/serializer.hpp:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - x
    argTypes:
    - OutputStream
    - char*
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: cybozu::save
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 4
    functionsReached:
    - cybozu::save
    - cybozu::saveRange
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, const char *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::load
      Src: /src/mcl/include/cybozu/serializer.hpp:271,1
    - Dst: clear
      Src: /src/mcl/include/cybozu/serializer.hpp:272,1
    - Dst: cybozu::serializer_local::reserve_if_exists
      Src: /src/mcl/include/cybozu/serializer.hpp:273,1
    - Dst: push_back
      Src: /src/mcl/include/cybozu/serializer.hpp:275,1
    - Dst: T
      Src: /src/mcl/include/cybozu/serializer.hpp:275,1
    - Dst: back
      Src: /src/mcl/include/cybozu/serializer.hpp:276,1
    - Dst: cybozu::load
      Src: /src/mcl/include/cybozu/serializer.hpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' x'
    - ' is'
    argTypes:
    - Container<T, Alloc>
    - InputStream
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: cybozu::load
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 4
    functionsReached:
    - T
    - cybozu::load
    - clear
    - push_back
    - back
    - cybozu::serializer_local::reserve_if_exists
    linkageType: ''
    returnType: void
    signature: void load(Container<T, Alloc>& x, InputStream& is, typename stream_local::enable_if<serializer_local::has_iterator<Container<T,
      Alloc> >::value>::type* = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::save
      Src: /src/mcl/include/cybozu/serializer.hpp:285,1
    - Dst: size
      Src: /src/mcl/include/cybozu/serializer.hpp:285,1
    - Dst: begin
      Src: /src/mcl/include/cybozu/serializer.hpp:286,1
    - Dst: end
      Src: /src/mcl/include/cybozu/serializer.hpp:286,1
    - Dst: cybozu::save
      Src: /src/mcl/include/cybozu/serializer.hpp:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' x'
    argTypes:
    - OutputStream
    - Container<T, Alloc>
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: cybozu::save
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 5
    functionsReached:
    - begin
    - cybozu::save
    - end
    - size
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, const Container<T, Alloc>& x, typename
      stream_local::enable_if<serializer_local::has_iterator<Container<T, Alloc> >::value>::type*
      = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::load
      Src: /src/mcl/include/cybozu/serializer.hpp:296,1
    - Dst: cybozu::load
      Src: /src/mcl/include/cybozu/serializer.hpp:299,1
    - Dst: insert
      Src: /src/mcl/include/cybozu/serializer.hpp:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' x'
    - ' is'
    argTypes:
    - Container<K, Pred, Alloc>
    - InputStream
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: cybozu::load
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 5
    functionsReached:
    - insert
    - cybozu::load
    linkageType: ''
    returnType: void
    signature: void load(Container<K, Pred, Alloc>& x, InputStream& is, typename stream_local::enable_if<serializer_local::has_iterator<Container<K,
      Pred, Alloc> >::value>::type* = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::save
      Src: /src/mcl/include/cybozu/serializer.hpp:308,1
    - Dst: size
      Src: /src/mcl/include/cybozu/serializer.hpp:308,1
    - Dst: begin
      Src: /src/mcl/include/cybozu/serializer.hpp:309,1
    - Dst: end
      Src: /src/mcl/include/cybozu/serializer.hpp:309,1
    - Dst: cybozu::save
      Src: /src/mcl/include/cybozu/serializer.hpp:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' x'
    argTypes:
    - OutputStream
    - Container<K, Pred, Alloc>
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: cybozu::save
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 6
    functionsReached:
    - begin
    - cybozu::save
    - end
    - size
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, const Container<K, Pred, Alloc>& x, typename
      stream_local::enable_if<serializer_local::has_iterator<Container<K, Pred, Alloc>
      >::value>::type* = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::load
      Src: /src/mcl/include/cybozu/serializer.hpp:320,1
    - Dst: cybozu::load
      Src: /src/mcl/include/cybozu/serializer.hpp:323,1
    - Dst: cybozu::load
      Src: /src/mcl/include/cybozu/serializer.hpp:324,1
    - Dst: insert
      Src: /src/mcl/include/cybozu/serializer.hpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' x'
    - ' is'
    argTypes:
    - Container<K, V, Pred, Alloc>
    - InputStream
    constantsTouched: []
    func_position:
      end: 327
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 327
    functionName: cybozu::load
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 6
    functionsReached:
    - insert
    - cybozu::load
    linkageType: ''
    returnType: void
    signature: void load(Container<K, V, Pred, Alloc>& x, InputStream& is, typename
      stream_local::enable_if<serializer_local::has_iterator<Container<K, V, Pred,
      Alloc> >::value>::type* = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::save
      Src: /src/mcl/include/cybozu/serializer.hpp:333,1
    - Dst: size
      Src: /src/mcl/include/cybozu/serializer.hpp:333,1
    - Dst: begin
      Src: /src/mcl/include/cybozu/serializer.hpp:334,1
    - Dst: end
      Src: /src/mcl/include/cybozu/serializer.hpp:334,1
    - Dst: cybozu::save
      Src: /src/mcl/include/cybozu/serializer.hpp:335,1
    - Dst: cybozu::save
      Src: /src/mcl/include/cybozu/serializer.hpp:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' os'
    - ' x'
    argTypes:
    - OutputStream
    - Container<K, V, Pred, Alloc>
    constantsTouched: []
    func_position:
      end: 338
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 338
    functionName: cybozu::save
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 7
    functionsReached:
    - begin
    - cybozu::save
    - end
    - size
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, const Container<K, V, Pred, Alloc>& x,
      typename stream_local::enable_if<serializer_local::has_iterator<Container<K,
      V, Pred, Alloc> >::value>::type* = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::load
      Src: /src/mcl/include/cybozu/serializer.hpp:346,1
    - Dst: cybozu::serializer_local::reserve_if_exists
      Src: /src/mcl/include/cybozu/serializer.hpp:348,1
    - Dst: cybozu::load
      Src: /src/mcl/include/cybozu/serializer.hpp:351,1
    - Dst: cybozu::load
      Src: /src/mcl/include/cybozu/serializer.hpp:352,1
    - Dst: insert
      Src: /src/mcl/include/cybozu/serializer.hpp:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' x'
    - ' is'
    argTypes:
    - Container<K, V, Hash, Pred, Alloc>
    - InputStream
    constantsTouched: []
    func_position:
      end: 355
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 355
    functionName: cybozu::load
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 7
    functionsReached:
    - insert
    - cybozu::serializer_local::reserve_if_exists
    - cybozu::load
    linkageType: ''
    returnType: void
    signature: void load(Container<K, V, Hash, Pred, Alloc>& x, InputStream& is, typename
      stream_local::enable_if<serializer_local::has_iterator<Container<K, V, Hash,
      Pred, Alloc> >::value>::type* = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::save
      Src: /src/mcl/include/cybozu/serializer.hpp:361,1
    - Dst: size
      Src: /src/mcl/include/cybozu/serializer.hpp:361,1
    - Dst: begin
      Src: /src/mcl/include/cybozu/serializer.hpp:362,1
    - Dst: end
      Src: /src/mcl/include/cybozu/serializer.hpp:362,1
    - Dst: cybozu::save
      Src: /src/mcl/include/cybozu/serializer.hpp:363,1
    - Dst: cybozu::save
      Src: /src/mcl/include/cybozu/serializer.hpp:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' os'
    - ' x'
    argTypes:
    - OutputStream
    - Container<K, V, Hash, Pred, Alloc>
    constantsTouched: []
    func_position:
      end: 366
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 366
    functionName: cybozu::save
    functionSourceFile: /src/mcl/include/cybozu/serializer.hpp
    functionUses: 8
    functionsReached:
    - begin
    - cybozu::save
    - end
    - size
    linkageType: ''
    returnType: void
    signature: void save(OutputStream& os, const Container<K, V, Hash, Pred, Alloc>&
      x, typename stream_local::enable_if<serializer_local::has_iterator<Container<K,
      V, Hash, Pred, Alloc> >::value>::type* = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/mcl/include/cybozu/stream.hpp:43,1
    - Dst: static_cast<char *>
      Src: /src/mcl/include/cybozu/stream.hpp:43,1
    - Dst: clear
      Src: /src/mcl/include/cybozu/stream.hpp:46,1
    - Dst: static_cast<size_t>
      Src: /src/mcl/include/cybozu/stream.hpp:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - size
    - ' is'
    argTypes:
    - void*
    - size_t
    - InputStream
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: cybozu::stream_local::readSome_inner
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 0
    functionsReached:
    - static_cast<char *>
    - read
    - clear
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t readSome_inner(void *buf, size_t size, InputStream& is, typename
      enable_if<is_convertible<InputStream, std::istream>::value>::type* = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: readSome
      Src: /src/mcl/include/cybozu/stream.hpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - size
    - ' is'
    argTypes:
    - void*
    - size_t
    - InputStream
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: cybozu::stream_local::readSome_inner
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 0
    functionsReached:
    - readSome
    linkageType: ''
    returnType: size_t
    signature: size_t readSome_inner(void *buf, size_t size, InputStream& is, typename
      enable_if<!is_convertible<InputStream, std::istream>::value>::type* = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: readSome
      Src: /src/mcl/include/cybozu/stream.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - size
    - ' is'
    argTypes:
    - void*
    - size_t
    - InputStream
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: cybozu::stream_local::readSome_inner
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 0
    functionsReached:
    - readSome
    linkageType: ''
    returnType: size_t
    signature: size_t readSome_inner(void *buf, size_t size, InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/mcl/include/cybozu/stream.hpp:69,1
    - Dst: static_cast<const char *>
      Src: /src/mcl/include/cybozu/stream.hpp:69,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/stream.hpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - ' os'
    - buf
    - size
    argTypes:
    - OutputStream
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: cybozu::stream_local::writeSub
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 0
    functionsReached:
    - write
    - static_cast<const char *>
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void writeSub(OutputStream& os, const void *buf, size_t size, typename
      enable_if<is_convertible<OutputStream, std::ostream>::value>::type* = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/mcl/include/cybozu/stream.hpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' os'
    - buf
    - size
    argTypes:
    - OutputStream
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: cybozu::stream_local::writeSub
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: void
    signature: void writeSub(OutputStream& os, const void *buf, size_t size, typename
      enable_if<!is_convertible<OutputStream, std::ostream>::value>::type* = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/mcl/include/cybozu/stream.hpp:84,1
    - Dst: static_cast<const char *>
      Src: /src/mcl/include/cybozu/stream.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pb
    - ' os'
    - buf
    - size
    argTypes:
    - bool*
    - OutputStream
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: cybozu::stream_local::writeSub
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 0
    functionsReached:
    - write
    - static_cast<const char *>
    linkageType: ''
    returnType: void
    signature: void writeSub(bool *pb, OutputStream& os, const void *buf, size_t size,
      typename enable_if<is_convertible<OutputStream, std::ostream>::value>::type*
      = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/mcl/include/cybozu/stream.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pb
    - ' os'
    - buf
    - size
    argTypes:
    - bool*
    - OutputStream
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: cybozu::stream_local::writeSub
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: void
    signature: void writeSub(bool *pb, OutputStream& os, const void *buf, size_t size,
      typename enable_if<!is_convertible<OutputStream, std::ostream>::value>::type*
      = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/mcl/include/cybozu/stream.hpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pb
    - ' os'
    - buf
    - size
    argTypes:
    - bool*
    - OutputStream
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: cybozu::stream_local::writeSub
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: void
    signature: void writeSub(bool *pb, OutputStream& os, const void *buf, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stream_local::readSome_inner<InputStream>
      Src: /src/mcl/include/cybozu/stream.hpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - size
    - ' is'
    argTypes:
    - void*
    - size_t
    - InputStream
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: cybozu::readSome
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 5
    functionsReached:
    - stream_local::readSome_inner<InputStream>
    linkageType: ''
    returnType: size_t
    signature: size_t readSome(void *buf, size_t size, InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::readSome
      Src: /src/mcl/include/cybozu/stream.hpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - ' is'
    argTypes:
    - char*
    - InputStream
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: cybozu::readChar
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 5
    functionsReached:
    - cybozu::readSome
    linkageType: ''
    returnType: bool
    signature: bool readChar(char *c, InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stream_local::writeSub<OutputStream>
      Src: /src/mcl/include/cybozu/stream.hpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' os'
    - buf
    - size
    argTypes:
    - OutputStream
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: cybozu::write
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 10
    functionsReached:
    - stream_local::writeSub<OutputStream>
    linkageType: ''
    returnType: void
    signature: void write(OutputStream& os, const void *buf, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char *>
      Src: /src/mcl/include/cybozu/stream.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: cybozu::MemoryInputStream::MemoryInputStream
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const char *>
    linkageType: ''
    returnType: void
    signature: void MemoryInputStream(const void *p, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mcl/include/cybozu/stream.hpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: cybozu::MemoryInputStream::readSome
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t readSome(void *buf, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: cybozu::MemoryInputStream::getPos
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getPos() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/mcl/include/cybozu/stream.hpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: cybozu::MemoryOutputStream::MemoryOutputStream
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 0
    functionsReached:
    - static_cast<char *>
    linkageType: ''
    returnType: void
    signature: void MemoryOutputStream(void *p, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mcl/include/cybozu/stream.hpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pb
    - buf
    - size
    argTypes:
    - bool*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: cybozu::MemoryOutputStream::write
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void write(bool *pb, const void *buf, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::MemoryOutputStream::write
      Src: /src/mcl/include/cybozu/stream.hpp:162,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/stream.hpp:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: cybozu::MemoryOutputStream::write
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 1
    functionsReached:
    - cybozu::MemoryOutputStream::write
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void write(const void *buf, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: cybozu::MemoryOutputStream::getPos
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getPos() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: cybozu::StringInputStream::StringInputStream
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringInputStream(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mcl/include/cybozu/stream.hpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: cybozu::StringInputStream::readSome
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t readSome(void *buf, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: cybozu::StringInputStream::getPos
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getPos() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: cybozu::StringOutputStream::StringOutputStream
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringOutputStream(std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/mcl/include/cybozu/stream.hpp:196,1
    - Dst: static_cast<const char *>
      Src: /src/mcl/include/cybozu/stream.hpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pb
    - buf
    - size
    argTypes:
    - bool*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: cybozu::StringOutputStream::write
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const char *>
    - append
    linkageType: ''
    returnType: void
    signature: void write(bool *pb, const void *buf, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/mcl/include/cybozu/stream.hpp:201,1
    - Dst: static_cast<const char *>
      Src: /src/mcl/include/cybozu/stream.hpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: cybozu::StringOutputStream::write
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const char *>
    - append
    linkageType: ''
    returnType: void
    signature: void write(const void *buf, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/mcl/include/cybozu/stream.hpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: cybozu::StringOutputStream::getPos
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t getPos() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::stream_local::readSome_inner
      Src: /src/mcl/include/cybozu/stream.hpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - size
    - ' is'
    argTypes:
    - void*
    - size_t
    - InputStream
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: cybozu::readSome
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 6
    functionsReached:
    - cybozu::stream_local::readSome_inner
    linkageType: ''
    returnType: size_t
    signature: size_t readSome(void *buf, size_t size, InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::stream_local::writeSub
      Src: /src/mcl/include/cybozu/stream.hpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' os'
    - buf
    - size
    argTypes:
    - OutputStream
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: cybozu::write
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 10
    functionsReached:
    - cybozu::stream_local::writeSub
    linkageType: ''
    returnType: void
    signature: void write(OutputStream& os, const void *buf, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::stream_local::writeSub
      Src: /src/mcl/include/cybozu/stream.hpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pb
    - ' os'
    - buf
    - size
    argTypes:
    - bool*
    - OutputStream
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: cybozu::write
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 10
    functionsReached:
    - cybozu::stream_local::writeSub
    linkageType: ''
    returnType: void
    signature: void write(bool *pb, OutputStream& os, const void *buf, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pb
    - buf
    - size
    - ' is'
    argTypes:
    - bool*
    - void*
    - size_t
    - InputStream
    constantsTouched: []
    func_position:
      end: 239
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 239
    functionName: cybozu::read
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void read(bool *pb, void *buf, size_t size, InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::read
      Src: /src/mcl/include/cybozu/stream.hpp:246,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/stream.hpp:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - size
    - ' is'
    argTypes:
    - void*
    - size_t
    - InputStream
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: cybozu::read
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 4
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::read
    linkageType: ''
    returnType: void
    signature: void read(void *buf, size_t size, InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::readSome
      Src: /src/mcl/include/cybozu/stream.hpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - ' is'
    argTypes:
    - char*
    - InputStream
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: cybozu::readChar
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 5
    functionsReached:
    - cybozu::readSome
    linkageType: ''
    returnType: bool
    signature: bool readChar(char *c, InputStream& is)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::write
      Src: /src/mcl/include/cybozu/stream.hpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - c
    argTypes:
    - OutputStream
    - char
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: cybozu::writeChar
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 21
    functionsReached:
    - cybozu::write
    linkageType: ''
    returnType: void
    signature: void writeChar(OutputStream& os, char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::write
      Src: /src/mcl/include/cybozu/stream.hpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pb
    - ' os'
    - c
    argTypes:
    - bool*
    - OutputStream
    - char
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: cybozu::writeChar
    functionSourceFile: /src/mcl/include/cybozu/stream.hpp
    functionUses: 21
    functionsReached:
    - cybozu::write
    linkageType: ''
    returnType: void
    signature: void writeChar(bool *pb, OutputStream& os, char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: cybozu::OptionError
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OptionError()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - _type
    argTypes:
    - Type
    constantsTouched: []
    func_position:
      end: 101
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 101
    functionName: '& set(Type _type, int _argPos = 0)'
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cybozu::Exception
    signature: cybozu::Exception & set(Type _type, int _argPos = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - str
    argTypes:
    - T*
    - char*
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: cybozu::option_local::convert
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool convert(T* x, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - str
    argTypes:
    - std::string*
    - char*
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: cybozu::option_local::convert
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool convert(std::string* x, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::hextoi::hextoi
      Src: /src/mcl/include/cybozu/option.hpp:126,1
    - Dst: cybozu::atoi::atoi
      Src: /src/mcl/include/cybozu/option.hpp:143,1
    - Dst: static_cast<T>
      Src: /src/mcl/include/cybozu/option.hpp:148,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - x
    - str
    argTypes:
    - T*
    - char*
    constantsTouched: []
    func_position:
      end: 156
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 156
    functionName: cybozu::option_local::convertInt
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - cybozu::atoi::atoi
    - cybozu::hextoi::hextoi
    linkageType: ''
    returnType: bool
    signature: bool convertInt(T* x, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - p
    argTypes:
    - std::ostream
    - T*
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: cybozu::option_local::convertToStr
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void convertToStr(std::ostream& os, const T* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/mcl/include/cybozu/option.hpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - p
    argTypes:
    - std::ostream
    - int8_t*
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: cybozu::option_local::convertToStr
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void convertToStr(std::ostream& os, const int8_t* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/mcl/include/cybozu/option.hpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - p
    argTypes:
    - std::ostream
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: cybozu::option_local::convertToStr
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void convertToStr(std::ostream& os, const uint8_t* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: ~HolderBase()
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HolderBase()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: cybozu::option_local::Holder
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Holder(T *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Holder::Holder
      Src: /src/mcl/include/cybozu/option.hpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: cybozu::option_local::clone
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - Holder::Holder
    linkageType: ''
    returnType: HolderBase
    signature: HolderBase *clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::option_local::convert
      Src: /src/mcl/include/cybozu/option.hpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: cybozu::option_local::set
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - cybozu::option_local::convert
    linkageType: ''
    returnType: bool
    signature: bool set(const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::option_local::convertToStr
      Src: /src/mcl/include/cybozu/option.hpp:208,1
    - Dst: std::ostringstream::str
      Src: /src/mcl/include/cybozu/option.hpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: cybozu::option_local::toStr
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - cybozu::option_local::convertToStr
    linkageType: ''
    returnType: std::string
    signature: std::string toStr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: cybozu::option_local::get
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - Vec*
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: cybozu::option_local::Holder
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Holder(Vec *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Holder<Vec>::Holder<Vec>
      Src: /src/mcl/include/cybozu/option.hpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: cybozu::option_local::clone
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - Holder<Vec>::Holder<Vec>
    linkageType: ''
    returnType: HolderBase
    signature: HolderBase *clone() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/mcl/include/cybozu/option.hpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: cybozu::option_local::set
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool set(const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/mcl/include/cybozu/option.hpp:237,1
    - Dst: end
      Src: /src/mcl/include/cybozu/option.hpp:237,1
    - Dst: std::ostringstream::str
      Src: /src/mcl/include/cybozu/option.hpp:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 246
    functionName: cybozu::option_local::toStr
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string toStr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: cybozu::option_local::get
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: cybozu::option_local::Var::Var
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Var()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p_::clone
      Src: /src/mcl/include/cybozu/option.hpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Var
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: cybozu::option_local::Var::Var
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - p_::clone
    linkageType: ''
    returnType: void
    signature: void Var(const Var& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Holder<T>::Holder<T>
      Src: /src/mcl/include/cybozu/option.hpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - T*
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: cybozu::option_local::Var::Var
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - Holder<T>::Holder<T>
    linkageType: ''
    returnType: void
    signature: void Var(T *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 259
    functionName: ~Var()
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Var()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/mcl/include/cybozu/option.hpp:263,1
    - Dst: std::swap
      Src: /src/mcl/include/cybozu/option.hpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: cybozu::option_local::Var::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: void CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/mcl/include/cybozu/option.hpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Var
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: operator=(const Var& rhs)
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void operator=(const Var& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::option_local::Var::set
      Src: /src/mcl/include/cybozu/option.hpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: cybozu::option_local::Var::set
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 1
    functionsReached:
    - cybozu::option_local::Var::set
    linkageType: ''
    returnType: bool
    signature: bool set(const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::option_local::Var::toStr
      Src: /src/mcl/include/cybozu/option.hpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: cybozu::option_local::Var::toStr
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 1
    functionsReached:
    - cybozu::option_local::Var::toStr
    linkageType: ''
    returnType: std::string
    signature: std::string toStr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: cybozu::option_local::Var::isSet
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isSet() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::option_local::Var::get
      Src: /src/mcl/include/cybozu/option.hpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: cybozu::option_local::Var::get
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 1
    functionsReached:
    - cybozu::option_local::Var::get
    linkageType: ''
    returnType: void
    signature: void *get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: cybozu::Option::Info
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Info()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - pvar
    - mode
    - isMust
    - opt
    - ' help'
    argTypes:
    - T*
    - Mode
    - bool
    - char*
    - std::string
    constantsTouched: []
    func_position:
      end: 310
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 310
    functionName: cybozu::Option::Info
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Info(T* pvar, Mode mode, bool isMust, const char *opt, const std::string&
      help)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: var::toStr
      Src: /src/mcl/include/cybozu/option.hpp:313,1
    - Dst: var::isSet
      Src: /src/mcl/include/cybozu/option.hpp:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - Info
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 320
    functionName: '& operator<<(std::ostream& os, const Info& self)'
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - var::isSet
    - var::toStr
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Info& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: cybozu::Option::put
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void put() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/include/cybozu/option.hpp:327,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/option.hpp:327,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/option.hpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: cybozu::Option::usage
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 9
    functionsReached:
    - c_str
    - printf
    linkageType: ''
    returnType: void
    signature: void usage() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/include/cybozu/option.hpp:331,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/option.hpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: cybozu::Option::shortUsage
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - c_str
    - printf
    linkageType: ''
    returnType: void
    signature: void shortUsage() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Option::isSet
      Src: /src/mcl/include/cybozu/option.hpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 333
    functionName: cybozu::Option::isSet
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 1
    functionsReached:
    - cybozu::Option::isSet
    linkageType: ''
    returnType: bool
    signature: bool isSet() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Option::get
      Src: /src/mcl/include/cybozu/option.hpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: cybozu::Option::get
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 1
    functionsReached:
    - cybozu::Option::get
    linkageType: ''
    returnType: void
    signature: void *get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/option.hpp:357,1
    - Dst: find
      Src: /src/mcl/include/cybozu/option.hpp:358,1
    - Dst: end
      Src: /src/mcl/include/cybozu/option.hpp:358,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/option.hpp:359,1
    - Dst: size
      Src: /src/mcl/include/cybozu/option.hpp:361,1
    - Dst: push_back
      Src: /src/mcl/include/cybozu/option.hpp:362,1
    - Dst: cybozu::Option::Info
      Src: /src/mcl/include/cybozu/option.hpp:362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - pvar
    - mode
    - isMust
    - opt
    - ' help'
    argTypes:
    - T*
    - Mode
    - bool
    - char*
    - std::string
    constantsTouched: []
    func_position:
      end: 363
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 363
    functionName: cybozu::Option::appendSub
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::Option::Info
    - size
    - end
    - push_back
    - find
    linkageType: ''
    returnType: void
    signature: void appendSub(T *pvar, Mode mode, bool isMust, const char *opt, const
      std::string& help)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const T&>
      Src: /src/mcl/include/cybozu/option.hpp:368,1
    - Dst: cybozu::Option::appendSub
      Src: /src/mcl/include/cybozu/option.hpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pvar
    - ' defaultVal'
    - isMust
    - opt
    argTypes:
    - T*
    - U
    - bool
    - char*
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: cybozu::Option::append
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const T&>
    - cybozu::Option::appendSub
    linkageType: ''
    returnType: void
    signature: void append(T *pvar, const U& defaultVal, bool isMust, const char *opt,
      const std::string& help = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 380
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 380
    functionName: cybozu::Option::isOpt
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpt(const char *str) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/option.hpp:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 384
    functionName: cybozu::Option::verifyParamMode
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void verifyParamMode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: substr
      Src: /src/mcl/include/cybozu/option.hpp:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 390
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 390
    functionName: cybozu::Option::getBaseName
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - substr
    linkageType: ''
    returnType: std::string
    signature: std::string getBaseName(const std::string& name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/mcl/include/cybozu/option.hpp:393,1
    - Dst: begin
      Src: /src/mcl/include/cybozu/option.hpp:393,1
    - Dst: end
      Src: /src/mcl/include/cybozu/option.hpp:393,1
    - Dst: end
      Src: /src/mcl/include/cybozu/option.hpp:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: cybozu::Option::inDelimiters
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool inDelimiters(const std::string& str) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 402
    functionName: cybozu::Option::Option
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Option()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 403
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 403
    functionName: ~Option()
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Option()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Option::append
      Src: /src/mcl/include/cybozu/option.hpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pvar
    - ' defaultVal'
    - opt
    argTypes:
    - T*
    - U
    - char*
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 422
    functionName: cybozu::Option::appendOpt
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 9
    functionsReached:
    - cybozu::Option::append
    linkageType: ''
    returnType: void
    signature: void appendOpt(T *pvar, const U& defaultVal, const char *opt, const
      std::string& help = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Option::appendSub
      Src: /src/mcl/include/cybozu/option.hpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pvar
    - opt
    argTypes:
    - bool*
    - char*
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: cybozu::Option::appendBoolOpt
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 5
    functionsReached:
    - cybozu::Option::appendSub
    linkageType: ''
    returnType: void
    signature: void appendBoolOpt(bool *pvar, const char *opt, const std::string&
      help = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Option::append
      Src: /src/mcl/include/cybozu/option.hpp:440,1
    - Dst: T
      Src: /src/mcl/include/cybozu/option.hpp:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pvar
    - opt
    argTypes:
    - T*
    - char*
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 3
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: cybozu::Option::appendMust
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - cybozu::Option::append
    - T
    linkageType: ''
    returnType: void
    signature: void appendMust(T *pvar, const char *opt, const std::string& help =
      "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Option::appendSub
      Src: /src/mcl/include/cybozu/option.hpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pvar
    - opt
    argTypes:
    - Container<T, Alloc>*
    - char*
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: cybozu::Option::appendVec
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - cybozu::Option::appendSub
    linkageType: ''
    returnType: void
    signature: void appendVec(Container<T, Alloc> *pvar, const char *opt, const std::string&
      help = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Option::verifyParamMode
      Src: /src/mcl/include/cybozu/option.hpp:462,1
    - Dst: push_back
      Src: /src/mcl/include/cybozu/option.hpp:463,1
    - Dst: cybozu::Option::Info
      Src: /src/mcl/include/cybozu/option.hpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pvar
    - opt
    argTypes:
    - T*
    - char*
    constantsTouched: []
    func_position:
      end: 464
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 464
    functionName: cybozu::Option::appendParam
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 1
    functionsReached:
    - cybozu::Option::verifyParamMode
    - push_back
    - cybozu::Option::Info
    linkageType: ''
    returnType: void
    signature: void appendParam(T *pvar, const char *opt, const std::string& help
      = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Option::verifyParamMode
      Src: /src/mcl/include/cybozu/option.hpp:476,1
    - Dst: push_back
      Src: /src/mcl/include/cybozu/option.hpp:479,1
    - Dst: cybozu::Option::Info
      Src: /src/mcl/include/cybozu/option.hpp:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pvar
    - ' defaultVal'
    - opt
    argTypes:
    - T*
    - U
    - char*
    constantsTouched: []
    func_position:
      end: 480
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 480
    functionName: cybozu::Option::appendParamOpt
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - cybozu::Option::verifyParamMode
    - push_back
    - cybozu::Option::Info
    linkageType: ''
    returnType: void
    signature: void appendParamOpt(T *pvar, const U& defaultVal, const char *opt,
      const std::string& help = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Option::verifyParamMode
      Src: /src/mcl/include/cybozu/option.hpp:491,1
    - Dst: cybozu::option_local::Var::Var
      Src: /src/mcl/include/cybozu/option.hpp:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pvar
    - name
    argTypes:
    - Container<T, Alloc>*
    - char*
    constantsTouched: []
    func_position:
      end: 498
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 498
    functionName: cybozu::Option::appendParamVec
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - cybozu::Option::verifyParamMode
    - cybozu::option_local::Var::Var
    linkageType: ''
    returnType: void
    signature: void appendParamVec(Container<T, Alloc> *pvar, const char *name, const
      std::string& help = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 503
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 503
    functionName: cybozu::Option::appendHelp
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void appendHelp(const char *opt, const std::string& help = ": show
      this message")'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/mcl/include/cybozu/option.hpp:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' delimiter'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 513
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 513
    functionName: cybozu::Option::setDelimiter
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void setDelimiter(const std::string& delimiter, std::vector<std::string>
      *remain = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/mcl/include/cybozu/option.hpp:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' delimiter'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 521
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 521
    functionName: cybozu::Option::appendDelimiter
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void appendDelimiter(const std::string& delimiter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/include/cybozu/option.hpp:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: cybozu::Option::clearDelimiterList
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clearDelimiterList()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 530
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 530
    functionName: cybozu::Option::getNextPositionOfDelimiter
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getNextPositionOfDelimiter() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Option::getBaseName
      Src: /src/mcl/include/cybozu/option.hpp:541,1
    - Dst: cybozu::Option::inDelimiters
      Src: /src/mcl/include/cybozu/option.hpp:545,1
    - Dst: push_back
      Src: /src/mcl/include/cybozu/option.hpp:549,1
    - Dst: cybozu::Option::isOpt
      Src: /src/mcl/include/cybozu/option.hpp:554,1
    - Dst: cybozu::Option::usage
      Src: /src/mcl/include/cybozu/option.hpp:557,1
    - Dst: exit
      Src: /src/mcl/include/cybozu/option.hpp:558,1
    - Dst: find
      Src: /src/mcl/include/cybozu/option.hpp:560,1
    - Dst: end
      Src: /src/mcl/include/cybozu/option.hpp:561,1
    - Dst: OptionError::set
      Src: /src/mcl/include/cybozu/option.hpp:562,1
    - Dst: var::set
      Src: /src/mcl/include/cybozu/option.hpp:569,1
    - Dst: OptionError::set
      Src: /src/mcl/include/cybozu/option.hpp:570,1
    - Dst: OptionError::set
      Src: /src/mcl/include/cybozu/option.hpp:577,1
    - Dst: std::string
      Src: /src/mcl/include/cybozu/option.hpp:577,1
    - Dst: var::set
      Src: /src/mcl/include/cybozu/option.hpp:580,1
    - Dst: OptionError::set
      Src: /src/mcl/include/cybozu/option.hpp:581,1
    - Dst: std::string
      Src: /src/mcl/include/cybozu/option.hpp:581,1
    - Dst: cybozu::Option::isOpt
      Src: /src/mcl/include/cybozu/option.hpp:590,1
    - Dst: var::set
      Src: /src/mcl/include/cybozu/option.hpp:591,1
    - Dst: OptionError::set
      Src: /src/mcl/include/cybozu/option.hpp:592,1
    - Dst: std::string
      Src: /src/mcl/include/cybozu/option.hpp:592,1
    - Dst: OptionError::set
      Src: /src/mcl/include/cybozu/option.hpp:601,1
    - Dst: std::string
      Src: /src/mcl/include/cybozu/option.hpp:601,1
    - Dst: size
      Src: /src/mcl/include/cybozu/option.hpp:609,1
    - Dst: var::isSet
      Src: /src/mcl/include/cybozu/option.hpp:611,1
    - Dst: var::set
      Src: /src/mcl/include/cybozu/option.hpp:612,1
    - Dst: OptionError::set
      Src: /src/mcl/include/cybozu/option.hpp:613,1
    - Dst: std::string
      Src: /src/mcl/include/cybozu/option.hpp:613,1
    - Dst: var::set
      Src: /src/mcl/include/cybozu/option.hpp:622,1
    - Dst: OptionError::set
      Src: /src/mcl/include/cybozu/option.hpp:624,1
    - Dst: size
      Src: /src/mcl/include/cybozu/option.hpp:631,1
    - Dst: var::isSet
      Src: /src/mcl/include/cybozu/option.hpp:633,1
    - Dst: OptionError::set
      Src: /src/mcl/include/cybozu/option.hpp:634,1
    - Dst: size
      Src: /src/mcl/include/cybozu/option.hpp:639,1
    - Dst: var::isSet
      Src: /src/mcl/include/cybozu/option.hpp:641,1
    - Dst: OptionError::set
      Src: /src/mcl/include/cybozu/option.hpp:642,1
    - Dst: var::isSet
      Src: /src/mcl/include/cybozu/option.hpp:647,1
    - Dst: OptionError::set
      Src: /src/mcl/include/cybozu/option.hpp:648,1
    - Dst: assert
      Src: /src/mcl/include/cybozu/option.hpp:653,1
    - Dst: printf
      Src: /src/mcl/include/cybozu/option.hpp:654,1
    - Dst: OptionError::what
      Src: /src/mcl/include/cybozu/option.hpp:654,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 116
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 656
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 656
    functionName: cybozu::Option::parse
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 9
    functionsReached:
    - OptionError::set
    - exit
    - printf
    - cybozu::Option::usage
    - OptionError::what
    - var::isSet
    - std::string
    - assert
    - size
    - end
    - push_back
    - find
    - var::set
    - cybozu::Option::getBaseName
    - cybozu::Option::isOpt
    - cybozu::Option::inDelimiters
    linkageType: ''
    returnType: bool
    signature: bool parse(int argc, const char *const argv[], int startPos = 1, const
      char *progName = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' desc'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 663
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 663
    functionName: cybozu::Option::setDescription
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDescription(const std::string& desc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' usage'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: cybozu::Option::setUsage
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setUsage(const std::string& usage, bool showOptUsage = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/mcl/include/cybozu/option.hpp:675,1
    - Dst: printf
      Src: /src/mcl/include/cybozu/option.hpp:675,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/option.hpp:675,1
    - Dst: empty
      Src: /src/mcl/include/cybozu/option.hpp:676,1
    - Dst: printf
      Src: /src/mcl/include/cybozu/option.hpp:677,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/option.hpp:677,1
    - Dst: empty
      Src: /src/mcl/include/cybozu/option.hpp:678,1
    - Dst: printf
      Src: /src/mcl/include/cybozu/option.hpp:678,1
    - Dst: size
      Src: /src/mcl/include/cybozu/option.hpp:679,1
    - Dst: cybozu::Option::shortUsage
      Src: /src/mcl/include/cybozu/option.hpp:680,1
    - Dst: size
      Src: /src/mcl/include/cybozu/option.hpp:682,1
    - Dst: printf
      Src: /src/mcl/include/cybozu/option.hpp:683,1
    - Dst: opt::c_str
      Src: /src/mcl/include/cybozu/option.hpp:683,1
    - Dst: printf
      Src: /src/mcl/include/cybozu/option.hpp:686,1
    - Dst: opt::c_str
      Src: /src/mcl/include/cybozu/option.hpp:686,1
    - Dst: printf
      Src: /src/mcl/include/cybozu/option.hpp:688,1
    - Dst: printf
      Src: /src/mcl/include/cybozu/option.hpp:690,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/option.hpp:690,1
    - Dst: size
      Src: /src/mcl/include/cybozu/option.hpp:693,1
    - Dst: help::empty
      Src: /src/mcl/include/cybozu/option.hpp:695,1
    - Dst: printf
      Src: /src/mcl/include/cybozu/option.hpp:695,1
    - Dst: opt::c_str
      Src: /src/mcl/include/cybozu/option.hpp:695,1
    - Dst: help::c_str
      Src: /src/mcl/include/cybozu/option.hpp:695,1
    - Dst: help::empty
      Src: /src/mcl/include/cybozu/option.hpp:697,1
    - Dst: printf
      Src: /src/mcl/include/cybozu/option.hpp:697,1
    - Dst: opt::c_str
      Src: /src/mcl/include/cybozu/option.hpp:697,1
    - Dst: help::c_str
      Src: /src/mcl/include/cybozu/option.hpp:697,1
    - Dst: empty
      Src: /src/mcl/include/cybozu/option.hpp:698,1
    - Dst: printf
      Src: /src/mcl/include/cybozu/option.hpp:699,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/option.hpp:699,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/option.hpp:699,1
    - Dst: size
      Src: /src/mcl/include/cybozu/option.hpp:701,1
    - Dst: cybozu::Option::usage
      Src: /src/mcl/include/cybozu/option.hpp:702,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 704
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 704
    functionName: cybozu::Option::usage
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 11
    functionsReached:
    - opt::c_str
    - c_str
    - printf
    - cybozu::Option::usage
    - size
    - empty
    - cybozu::Option::shortUsage
    - help::empty
    - help::c_str
    linkageType: ''
    returnType: void
    signature: void usage() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: paramVec_::size
      Src: /src/mcl/include/cybozu/option.hpp:707,1
    - Dst: var::toStr
      Src: /src/mcl/include/cybozu/option.hpp:709,1
    - Dst: remains_::var::toStr
      Src: /src/mcl/include/cybozu/option.hpp:712,1
    - Dst: infoVec_::size
      Src: /src/mcl/include/cybozu/option.hpp:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - Option
    constantsTouched: []
    func_position:
      end: 718
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 718
    functionName: '& operator<<(std::ostream& os, const Option& self)'
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached:
    - infoVec_::size
    - var::toStr
    - paramVec_::size
    - remains_::var::toStr
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Option& self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 722
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 722
    functionName: cybozu::Option::put
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void put() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/mcl/include/cybozu/option.hpp:730,1
    - Dst: cybozu::Option::get
      Src: /src/mcl/include/cybozu/option.hpp:732,1
    - Dst: cybozu::Option::isSet
      Src: /src/mcl/include/cybozu/option.hpp:732,1
    - Dst: cybozu::Option::get
      Src: /src/mcl/include/cybozu/option.hpp:734,1
    - Dst: cybozu::Option::isSet
      Src: /src/mcl/include/cybozu/option.hpp:734,1
    - Dst: size
      Src: /src/mcl/include/cybozu/option.hpp:735,1
    - Dst: cybozu::Option::get
      Src: /src/mcl/include/cybozu/option.hpp:737,1
    - Dst: cybozu::Option::isSet
      Src: /src/mcl/include/cybozu/option.hpp:737,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/option.hpp:739,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pvar
    argTypes:
    - T*
    constantsTouched: []
    func_position:
      end: 740
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 740
    functionName: cybozu::Option::isSet
    functionSourceFile: /src/mcl/include/cybozu/option.hpp
    functionUses: 2
    functionsReached:
    - cybozu::Option::isSet
    - Shim_Exception::Shim_Exception
    - cybozu::Option::get
    - size
    linkageType: ''
    returnType: bool
    signature: bool isSet(const T* pvar) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InitializeCriticalSection
      Src: /src/mcl/include/cybozu/critical_section.hpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cs'
    argTypes:
    - CsHandle
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: cybozu::thread::CsInit
    functionSourceFile: /src/mcl/include/cybozu/critical_section.hpp
    functionUses: 0
    functionsReached:
    - InitializeCriticalSection
    linkageType: ''
    returnType: void
    signature: void CsInit(CsHandle& cs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/mcl/include/cybozu/critical_section.hpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cs'
    argTypes:
    - CsHandle
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: cybozu::thread::CsLock
    functionSourceFile: /src/mcl/include/cybozu/critical_section.hpp
    functionUses: 0
    functionsReached:
    - EnterCriticalSection
    linkageType: ''
    returnType: void
    signature: void CsLock(CsHandle& cs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/mcl/include/cybozu/critical_section.hpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cs'
    argTypes:
    - CsHandle
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: cybozu::thread::CsUnlock
    functionSourceFile: /src/mcl/include/cybozu/critical_section.hpp
    functionUses: 0
    functionsReached:
    - LeaveCriticalSection
    linkageType: ''
    returnType: void
    signature: void CsUnlock(CsHandle& cs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/mcl/include/cybozu/critical_section.hpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cs'
    argTypes:
    - CsHandle
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: cybozu::thread::CsTerm
    functionSourceFile: /src/mcl/include/cybozu/critical_section.hpp
    functionUses: 0
    functionsReached:
    - DeleteCriticalSection
    linkageType: ''
    returnType: void
    signature: void CsTerm(CsHandle& cs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_init
      Src: /src/mcl/include/cybozu/critical_section.hpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cs'
    argTypes:
    - CsHandle
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: cybozu::thread::CsInit
    functionSourceFile: /src/mcl/include/cybozu/critical_section.hpp
    functionUses: 0
    functionsReached:
    - pthread_mutex_init
    linkageType: ''
    returnType: void
    signature: void CsInit(CsHandle& cs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/mcl/include/cybozu/critical_section.hpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cs'
    argTypes:
    - CsHandle
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: cybozu::thread::CsLock
    functionSourceFile: /src/mcl/include/cybozu/critical_section.hpp
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void CsLock(CsHandle& cs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/mcl/include/cybozu/critical_section.hpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cs'
    argTypes:
    - CsHandle
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: cybozu::thread::CsUnlock
    functionSourceFile: /src/mcl/include/cybozu/critical_section.hpp
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void CsUnlock(CsHandle& cs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/mcl/include/cybozu/critical_section.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cs'
    argTypes:
    - CsHandle
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: cybozu::thread::CsTerm
    functionSourceFile: /src/mcl/include/cybozu/critical_section.hpp
    functionUses: 0
    functionsReached:
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void CsTerm(CsHandle& cs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::thread::CsInit
      Src: /src/mcl/include/cybozu/critical_section.hpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: cybozu::CriticalSection::CriticalSection
    functionSourceFile: /src/mcl/include/cybozu/critical_section.hpp
    functionUses: 0
    functionsReached:
    - cybozu::thread::CsInit
    linkageType: ''
    returnType: void
    signature: void CriticalSection()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::thread::CsTerm
      Src: /src/mcl/include/cybozu/critical_section.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: ~CriticalSection()
    functionSourceFile: /src/mcl/include/cybozu/critical_section.hpp
    functionUses: 0
    functionsReached:
    - cybozu::thread::CsTerm
    linkageType: ''
    returnType: void
    signature: void ~CriticalSection()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::thread::CsLock
      Src: /src/mcl/include/cybozu/critical_section.hpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: cybozu::CriticalSection::lock
    functionSourceFile: /src/mcl/include/cybozu/critical_section.hpp
    functionUses: 0
    functionsReached:
    - cybozu::thread::CsLock
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::thread::CsUnlock
      Src: /src/mcl/include/cybozu/critical_section.hpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: cybozu::CriticalSection::unlock
    functionSourceFile: /src/mcl/include/cybozu/critical_section.hpp
    functionUses: 0
    functionsReached:
    - cybozu::thread::CsUnlock
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: cybozu::disable_warning_unused_variable
    functionSourceFile: /src/mcl/include/cybozu/inttype.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void disable_warning_unused_variable(const T&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/mcl/include/cybozu/inttype.hpp:184,1
    - Dst: static_cast<const void*>
      Src: /src/mcl/include/cybozu/inttype.hpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - S*
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: cybozu::cast
    functionSourceFile: /src/mcl/include/cybozu/inttype.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - static_cast<const void*>
    linkageType: ''
    returnType: T
    signature: T cast(const S* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/mcl/include/cybozu/inttype.hpp:186,1
    - Dst: static_cast<void*>
      Src: /src/mcl/include/cybozu/inttype.hpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - S*
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: cybozu::cast
    functionSourceFile: /src/mcl/include/cybozu/inttype.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - static_cast<void*>
    linkageType: ''
    returnType: T
    signature: T cast(S* ptr)
  - 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: cybozu::bench::setPutCallback
    functionSourceFile: /src/mcl/include/cybozu/benchmark.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPutCallback(void (*f)(double))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __rdtsc
      Src: /src/mcl/include/cybozu/benchmark.hpp:67,1
    - Dst: _ftime_s
      Src: /src/mcl/include/cybozu/benchmark.hpp:80,1
    - Dst: assert
      Src: /src/mcl/include/cybozu/benchmark.hpp:85,1
    - Dst: assert
      Src: /src/mcl/include/cybozu/benchmark.hpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 94
    functionName: cybozu::CpuClock::getCpuClk
    functionSourceFile: /src/mcl/include/cybozu/benchmark.hpp
    functionUses: 0
    functionsReached:
    - assert
    - __rdtsc
    - _ftime_s
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getCpuClk()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: cybozu::CpuClock::CpuClock
    functionSourceFile: /src/mcl/include/cybozu/benchmark.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CpuClock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::CpuClock::getCpuClk
      Src: /src/mcl/include/cybozu/benchmark.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: cybozu::CpuClock::begin
    functionSourceFile: /src/mcl/include/cybozu/benchmark.hpp
    functionUses: 1
    functionsReached:
    - cybozu::CpuClock::getCpuClk
    linkageType: ''
    returnType: void
    signature: void begin()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::CpuClock::getCpuClk
      Src: /src/mcl/include/cybozu/benchmark.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: cybozu::CpuClock::end
    functionSourceFile: /src/mcl/include/cybozu/benchmark.hpp
    functionUses: 1
    functionsReached:
    - cybozu::CpuClock::getCpuClk
    linkageType: ''
    returnType: void
    signature: void end()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: cybozu::CpuClock::getCount
    functionSourceFile: /src/mcl/include/cybozu/benchmark.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getCount() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: cybozu::CpuClock::getClock
    functionSourceFile: /src/mcl/include/cybozu/benchmark.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getClock() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: cybozu::CpuClock::clear
    functionSourceFile: /src/mcl/include/cybozu/benchmark.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/include/cybozu/benchmark.hpp:115,1
    - Dst: bench::g_putCallback
      Src: /src/mcl/include/cybozu/benchmark.hpp:117,1
    - Dst: printf
      Src: /src/mcl/include/cybozu/benchmark.hpp:122,1
    - Dst: printf
      Src: /src/mcl/include/cybozu/benchmark.hpp:124,1
    - Dst: printf
      Src: /src/mcl/include/cybozu/benchmark.hpp:126,1
    - Dst: printf
      Src: /src/mcl/include/cybozu/benchmark.hpp:130,1
    - Dst: printf
      Src: /src/mcl/include/cybozu/benchmark.hpp:132,1
    - Dst: printf
      Src: /src/mcl/include/cybozu/benchmark.hpp:134,1
    - Dst: printf
      Src: /src/mcl/include/cybozu/benchmark.hpp:137,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 138
    functionName: cybozu::CpuClock::put
    functionSourceFile: /src/mcl/include/cybozu/benchmark.hpp
    functionUses: 1
    functionsReached:
    - bench::g_putCallback
    - printf
    linkageType: ''
    returnType: void
    signature: void put(const char *msg = 0, int N = 1) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - err
    argTypes:
    - NativeErrorNo
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: cybozu::NetErrorNo
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetErrorNo(NativeErrorNo err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WSAGetLastError
      Src: /src/mcl/include/cybozu/socket.hpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: cybozu::NetErrorNo
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - WSAGetLastError
    linkageType: ''
    returnType: void
    signature: void NetErrorNo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mcl/include/cybozu/socket.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: cybozu::experimental::EpollEvent
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void EpollEvent()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: cybozu::experimental::set
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(int fd, uint32_t events = EPOLLIN)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: cybozu::experimental::getFd
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getFd() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:89,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/socket.hpp:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - msg
    - ret
    - err
    argTypes:
    - char*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: cybozu::experimental::Epoll::verify
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::NetErrorNo
    linkageType: ''
    returnType: bool
    signature: bool verify(const char *msg, int ret, int *err) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: cybozu::experimental::Epoll::Epoll
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Epoll()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::epoll_create1
      Src: /src/mcl/include/cybozu/socket.hpp:97,1
    - Dst: cybozu::experimental::Epoll::verify
      Src: /src/mcl/include/cybozu/socket.hpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: cybozu::experimental::Epoll::init
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - cybozu::experimental::Epoll::verify
    - ::epoll_create1
    linkageType: ''
    returnType: bool
    signature: bool init(int *err = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Channel_Impl::close
      Src: /src/mcl/include/cybozu/socket.hpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: ~Epoll()
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Channel_Impl::close
    linkageType: ''
    returnType: void
    signature: void ~Epoll()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::experimental::Epoll::verify
      Src: /src/mcl/include/cybozu/socket.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - op
    - fd
    - ev
    argTypes:
    - int
    - int
    - EpollEvent*
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: cybozu::experimental::Epoll::ctrl
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - cybozu::experimental::Epoll::verify
    linkageType: ''
    returnType: bool
    signature: bool ctrl(int op, int fd, EpollEvent *ev, int *err = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EpollEvent::set
      Src: /src/mcl/include/cybozu/socket.hpp:113,1
    - Dst: cybozu::experimental::Epoll::ctrl
      Src: /src/mcl/include/cybozu/socket.hpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: cybozu::experimental::Epoll::add
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - EpollEvent::set
    - cybozu::experimental::Epoll::ctrl
    linkageType: ''
    returnType: bool
    signature: bool add(int fd, uint32_t events = EPOLLIN, int *err = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::experimental::Epoll::ctrl
      Src: /src/mcl/include/cybozu/socket.hpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: cybozu::experimental::Epoll::del
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - cybozu::experimental::Epoll::ctrl
    linkageType: ''
    returnType: bool
    signature: bool del(int fd, int *err = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ev
    - maxEv
    argTypes:
    - EpollEvent*
    - int
    constantsTouched: []
    func_position:
      end: 137
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 137
    functionName: cybozu::experimental::Epoll::wait
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wait(EpollEvent *ev, int maxEv, int msec = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/mcl/include/cybozu/socket.hpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ep'
    - fd
    argTypes:
    - Epoll
    - int
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: cybozu::experimental::AutoLock
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - add
    linkageType: ''
    returnType: void
    signature: void AutoLock(Epoll& ep, int fd, int events = EPOLLIN)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: del
      Src: /src/mcl/include/cybozu/socket.hpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: ~AutoLock()
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - del
    linkageType: ''
    returnType: void
    signature: void ~AutoLock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mcl/include/cybozu/socket.hpp:179,1
    - Dst: exit
      Src: /src/mcl/include/cybozu/socket.hpp:180,1
    - Dst: ::signal
      Src: /src/mcl/include/cybozu/socket.hpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 185
    functionName: cybozu::socket_local::InitTerm
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - fprintf
    - ::signal
    - exit
    linkageType: ''
    returnType: void
    signature: void InitTerm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::WSACleanup
      Src: /src/mcl/include/cybozu/socket.hpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: ~InitTerm()
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - ::WSACleanup
    linkageType: ''
    returnType: void
    signature: void ~InitTerm()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: cybozu::socket_local::dummyCall
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummyCall()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::socket_local::dummyCall
      Src: /src/mcl/include/cybozu/socket.hpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: cybozu::socket_local::DummyCall
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - cybozu::socket_local::dummyCall
    linkageType: ''
    returnType: void
    signature: void DummyCall()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 229
    functionName: cybozu::SocketAddr::verify
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: cybozu::SocketAddr::SocketAddr
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SocketAddr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::SocketAddr::set
      Src: /src/mcl/include/cybozu/socket.hpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' address'
    - port
    argTypes:
    - std::string
    - uint16_t
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: cybozu::SocketAddr::SocketAddr
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - cybozu::SocketAddr::set
    linkageType: ''
    returnType: void
    signature: void SocketAddr(const std::string& address, uint16_t port, bool forceIpV6
      = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_SNPRINTF
      Src: /src/mcl/include/cybozu/socket.hpp:243,1
    - Dst: memset
      Src: /src/mcl/include/cybozu/socket.hpp:244,1
    - Dst: memset
      Src: /src/mcl/include/cybozu/socket.hpp:250,1
    - Dst: getaddrinfo
      Src: /src/mcl/include/cybozu/socket.hpp:260,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/socket.hpp:260,1
    - Dst: memcpy
      Src: /src/mcl/include/cybozu/socket.hpp:272,1
    - Dst: freeaddrinfo
      Src: /src/mcl/include/cybozu/socket.hpp:279,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:283,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/socket.hpp:283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - ' address'
    - port
    argTypes:
    - std::string
    - uint16_t
    constantsTouched: []
    func_position:
      end: 284
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 284
    functionName: cybozu::SocketAddr::set
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 1
    functionsReached:
    - c_str
    - Shim_Exception::Shim_Exception
    - cybozu::NetErrorNo
    - memcpy
    - memset
    - getaddrinfo
    - CYBOZU_SNPRINTF
    - freeaddrinfo
    linkageType: ''
    returnType: void
    signature: void set(const std::string& address, uint16_t port, bool forceIpV6
      = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: cybozu::SocketAddr::getSize
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: socklen_t
    signature: socklen_t getSize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: cybozu::SocketAddr::getFamily
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getFamily() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: cybozu::SocketAddr::get
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct sockaddr
    signature: struct sockaddr *get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/mcl/include/cybozu/socket.hpp:290,1
    - Dst: ntohs
      Src: /src/mcl/include/cybozu/socket.hpp:292,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: cybozu::SocketAddr::getPort
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - ntohs
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getPort() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/mcl/include/cybozu/socket.hpp:302,1
    - Dst: memcmp
      Src: /src/mcl/include/cybozu/socket.hpp:309,1
    - Dst: memcmp
      Src: /src/mcl/include/cybozu/socket.hpp:316,1
    - Dst: memcmp
      Src: /src/mcl/include/cybozu/socket.hpp:316,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SocketAddr
    constantsTouched: []
    func_position:
      end: 317
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 317
    functionName: cybozu::SocketAddr::hasSameAddr
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool hasSameAddr(const SocketAddr& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/cybozu/socket.hpp:322,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:327,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/socket.hpp:327,1
    - Dst: std::string
      Src: /src/mcl/include/cybozu/socket.hpp:328,1
    - Dst: cybozu::itoa
      Src: /src/mcl/include/cybozu/socket.hpp:328,1
    - Dst: cybozu::SocketAddr::getPort
      Src: /src/mcl/include/cybozu/socket.hpp:328,1
    - Dst: std::string
      Src: /src/mcl/include/cybozu/socket.hpp:329,1
    - Dst: cybozu::itoa
      Src: /src/mcl/include/cybozu/socket.hpp:329,1
    - Dst: cybozu::SocketAddr::getPort
      Src: /src/mcl/include/cybozu/socket.hpp:329,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:331,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 332
    functionName: cybozu::SocketAddr::toStr
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - assert
    - std::string
    - cybozu::NetErrorNo
    - cybozu::SocketAddr::getPort
    - cybozu::itoa
    linkageType: ''
    returnType: std::string
    signature: std::string toStr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Socket::setSocketOption
      Src: /src/mcl/include/cybozu/socket.hpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - msec
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: cybozu::Socket::setTimeout
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - cybozu::Socket::setSocketOption
    linkageType: ''
    returnType: void
    signature: void setTimeout(int type, int msec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Socket::getSocketOption
      Src: /src/mcl/include/cybozu/socket.hpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: cybozu::Socket::getTimeout
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - cybozu::Socket::getSocketOption
    linkageType: ''
    returnType: int
    signature: int getTimeout(int type) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Socket::setSocketOption
      Src: /src/mcl/include/cybozu/socket.hpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - type
    - msec
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 361
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 361
    functionName: cybozu::Socket::setTimeout
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - cybozu::Socket::setSocketOption
    linkageType: ''
    returnType: void
    signature: void setTimeout(int type, int msec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Socket::getSocketOption
      Src: /src/mcl/include/cybozu/socket.hpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: cybozu::Socket::getTimeout
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - cybozu::Socket::getSocketOption
    linkageType: ''
    returnType: int
    signature: int getTimeout(int type) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:379,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/socket.hpp:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - isBlocking
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 380
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 380
    functionName: cybozu::Socket::setBlocking
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::NetErrorNo
    linkageType: ''
    returnType: void
    signature: void setBlocking(bool isBlocking)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: cybozu::Socket::Socket
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Socket()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    functionName: cybozu::Socket::isValid
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::AtomicExchange
      Src: /src/mcl/include/cybozu/socket.hpp:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Socket
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: cybozu::Socket::Socket
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - cybozu::AtomicExchange
    linkageType: ''
    returnType: void
    signature: void Socket(Socket&& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Socket::close
      Src: /src/mcl/include/cybozu/socket.hpp:403,1
    - Dst: cybozu::AtomicExchange
      Src: /src/mcl/include/cybozu/socket.hpp:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Socket
    constantsTouched: []
    func_position:
      end: 405
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 405
    functionName: cybozu::Socket::moveFrom
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - cybozu::Socket::close
    - cybozu::AtomicExchange
    linkageType: ''
    returnType: void
    signature: void moveFrom(Socket& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: moveFrom
      Src: /src/mcl/include/cybozu/socket.hpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Socket
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: operator=(Socket& rhs)
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - moveFrom
    linkageType: ''
    returnType: void
    signature: void operator=(Socket& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/mcl/include/cybozu/socket.hpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: ~Socket()
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~Socket()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::AtomicExchange
      Src: /src/mcl/include/cybozu/socket.hpp:422,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:431,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/socket.hpp:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 433
    functionName: cybozu::Socket::close
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::NetErrorNo
    - cybozu::AtomicExchange
    linkageType: ''
    returnType: bool
    signature: bool close(bool dontThrow = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:442,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/socket.hpp:442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - how
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 444
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 444
    functionName: cybozu::Socket::shutdown
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::NetErrorNo
    linkageType: ''
    returnType: bool
    signature: bool shutdown(int how, bool dontThrow = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Socket::shutdown
      Src: /src/mcl/include/cybozu/socket.hpp:456,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 463
    functionName: cybozu::Socket::waitForClose
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::Socket::shutdown
    linkageType: ''
    returnType: void
    signature: void waitForClose()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:481,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/socket.hpp:481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 483
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 483
    functionName: cybozu::Socket::readSome
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::NetErrorNo
    linkageType: ''
    returnType: size_t
    signature: size_t readSome(void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 499
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 499
    functionName: cybozu::Socket::read
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void read(void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pb
    - buf
    - bufSize
    argTypes:
    - bool*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 524
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 524
    functionName: cybozu::Socket::write
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void write(bool *pb, const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Socket::write
      Src: /src/mcl/include/cybozu/socket.hpp:528,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:529,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/socket.hpp:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 530
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 530
    functionName: cybozu::Socket::write
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::NetErrorNo
    - cybozu::Socket::write
    linkageType: ''
    returnType: void
    signature: void write(const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SocketAddr::set
      Src: /src/mcl/include/cybozu/socket.hpp:540,1
    - Dst: cybozu::Socket::connect
      Src: /src/mcl/include/cybozu/socket.hpp:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' address'
    - port
    argTypes:
    - std::string
    - uint16_t
    constantsTouched: []
    func_position:
      end: 542
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 542
    functionName: cybozu::Socket::connect
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 3
    functionsReached:
    - cybozu::Socket::connect
    - SocketAddr::set
    linkageType: ''
    returnType: void
    signature: void connect(const std::string& address, uint16_t port, int msec =
      0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Socket::isValid
      Src: /src/mcl/include/cybozu/socket.hpp:548,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:548,1
    - Dst: Client::close_socket
      Src: /src/mcl/include/cybozu/socket.hpp:549,1
    - Dst: getFamily
      Src: /src/mcl/include/cybozu/socket.hpp:549,1
    - Dst: cybozu::Socket::isValid
      Src: /src/mcl/include/cybozu/socket.hpp:550,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:551,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/socket.hpp:551,1
    - Dst: cybozu::Socket::connect
      Src: /src/mcl/include/cybozu/socket.hpp:554,1
    - Dst: get
      Src: /src/mcl/include/cybozu/socket.hpp:554,1
    - Dst: getSize
      Src: /src/mcl/include/cybozu/socket.hpp:554,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:555,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/socket.hpp:555,1
    - Dst: toStr
      Src: /src/mcl/include/cybozu/socket.hpp:555,1
    - Dst: cybozu::Socket::setBlocking
      Src: /src/mcl/include/cybozu/socket.hpp:558,1
    - Dst: cybozu::Socket::connect
      Src: /src/mcl/include/cybozu/socket.hpp:559,1
    - Dst: get
      Src: /src/mcl/include/cybozu/socket.hpp:559,1
    - Dst: getSize
      Src: /src/mcl/include/cybozu/socket.hpp:559,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:565,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/socket.hpp:565,1
    - Dst: toStr
      Src: /src/mcl/include/cybozu/socket.hpp:565,1
    - Dst: cybozu::Socket::queryAccept
      Src: /src/mcl/include/cybozu/socket.hpp:566,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:566,1
    - Dst: toStr
      Src: /src/mcl/include/cybozu/socket.hpp:566,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:568,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/socket.hpp:568,1
    - Dst: cybozu::Socket::setBlocking
      Src: /src/mcl/include/cybozu/socket.hpp:570,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - cybozu::SocketAddr
    constantsTouched: []
    func_position:
      end: 572
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 572
    functionName: cybozu::Socket::connect
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 4
    functionsReached:
    - toStr
    - cybozu::Socket::queryAccept
    - Shim_Exception::Shim_Exception
    - getFamily
    - Client::close_socket
    - cybozu::NetErrorNo
    - cybozu::Socket::connect
    - get
    - cybozu::Socket::isValid
    - getSize
    - cybozu::Socket::setBlocking
    linkageType: ''
    returnType: void
    signature: void connect(const cybozu::SocketAddr& addr, int msec = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Client::close_socket
      Src: /src/mcl/include/cybozu/socket.hpp:583,1
    - Dst: cybozu::Socket::isValid
      Src: /src/mcl/include/cybozu/socket.hpp:584,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:585,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/socket.hpp:585,1
    - Dst: cybozu::Socket::setSocketOption
      Src: /src/mcl/include/cybozu/socket.hpp:587,1
    - Dst: cybozu::Socket::setSocketOption
      Src: /src/mcl/include/cybozu/socket.hpp:593,1
    - Dst: memset
      Src: /src/mcl/include/cybozu/socket.hpp:594,1
    - Dst: htons
      Src: /src/mcl/include/cybozu/socket.hpp:596,1
    - Dst: memset
      Src: /src/mcl/include/cybozu/socket.hpp:600,1
    - Dst: htons
      Src: /src/mcl/include/cybozu/socket.hpp:602,1
    - Dst: cybozu::Socket::bind
      Src: /src/mcl/include/cybozu/socket.hpp:606,1
    - Dst: Server::listen
      Src: /src/mcl/include/cybozu/socket.hpp:607,1
    - Dst: cybozu::Socket::close
      Src: /src/mcl/include/cybozu/socket.hpp:612,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:613,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 614
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 614
    functionName: cybozu::Socket::bind
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 11
    functionsReached:
    - Server::listen
    - Shim_Exception::Shim_Exception
    - Client::close_socket
    - cybozu::Socket::bind
    - cybozu::NetErrorNo
    - memset
    - cybozu::Socket::isValid
    - cybozu::Socket::setSocketOption
    - htons
    - cybozu::Socket::close
    linkageType: ''
    returnType: void
    signature: void bind(uint16_t port, int mode = allowIPv4 | allowIPv6)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: experimental::Epoll::init
      Src: /src/mcl/include/cybozu/socket.hpp:627,1
    - Dst: assert
      Src: /src/mcl/include/cybozu/socket.hpp:633,1
    - Dst: experimental::EpollEvent::getFd
      Src: /src/mcl/include/cybozu/socket.hpp:633,1
    - Dst: FD_ZERO
      Src: /src/mcl/include/cybozu/socket.hpp:644,1
    - Dst: FD_SET
      Src: /src/mcl/include/cybozu/socket.hpp:645,1
    - Dst: Botan::select
      Src: /src/mcl/include/cybozu/socket.hpp:648,1
    - Dst: Botan::select
      Src: /src/mcl/include/cybozu/socket.hpp:650,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 655
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 655
    functionName: cybozu::Socket::queryAcceptNoThrow
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - FD_SET
    - FD_ZERO
    - Botan::select
    - assert
    - experimental::EpollEvent::getFd
    - experimental::Epoll::init
    linkageType: ''
    returnType: int
    signature: int queryAcceptNoThrow(int msec = 1000, bool checkWrite = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:666,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/socket.hpp:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 668
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 668
    functionName: cybozu::Socket::queryAccept
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::NetErrorNo
    linkageType: ''
    returnType: bool
    signature: bool queryAccept(int msec = 1000, bool checkWrite = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Socket::accept
      Src: /src/mcl/include/cybozu/socket.hpp:678,1
    - Dst: verify
      Src: /src/mcl/include/cybozu/socket.hpp:679,1
    - Dst: cybozu::Socket::accept
      Src: /src/mcl/include/cybozu/socket.hpp:681,1
    - Dst: cybozu::Socket::isValid
      Src: /src/mcl/include/cybozu/socket.hpp:683,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:683,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/socket.hpp:683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' client'
    argTypes:
    - Socket
    constantsTouched: []
    func_position:
      end: 684
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 684
    functionName: cybozu::Socket::accept
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 2
    functionsReached:
    - verify
    - Shim_Exception::Shim_Exception
    - cybozu::NetErrorNo
    - cybozu::Socket::isValid
    - cybozu::Socket::accept
    linkageType: ''
    returnType: void
    signature: void accept(Socket& client, SocketAddr *paddr = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:690,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/socket.hpp:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - optname
    - ' value'
    argTypes:
    - int
    - T
    constantsTouched: []
    func_position:
      end: 691
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 691
    functionName: cybozu::Socket::setSocketOption
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 3
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::NetErrorNo
    linkageType: ''
    returnType: void
    signature: void setSocketOption(int optname, const T& value, int level = SOL_SOCKET)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/socket.hpp:697,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/socket.hpp:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - optname
    - value
    argTypes:
    - int
    - T*
    constantsTouched: []
    func_position:
      end: 698
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 698
    functionName: cybozu::Socket::getSocketOption
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::NetErrorNo
    linkageType: ''
    returnType: void
    signature: void getSocketOption(int optname, T* value, int level = SOL_SOCKET)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Socket::getSocketOption
      Src: /src/mcl/include/cybozu/socket.hpp:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - optname
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 704
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 704
    functionName: cybozu::Socket::getSocketOption
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 3
    functionsReached:
    - cybozu::Socket::getSocketOption
    linkageType: ''
    returnType: int
    signature: int getSocketOption(int optname) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Socket::setSocketOption
      Src: /src/mcl/include/cybozu/socket.hpp:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - l_onoff
    - l_linger
    argTypes:
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 714
      start: 708
    functionDepth: 2
    functionLinenumber: 708
    functionLinenumberEnd: 714
    functionName: cybozu::Socket::setLinger
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - cybozu::Socket::setSocketOption
    linkageType: ''
    returnType: void
    signature: void setLinger(uint16_t l_onoff, uint16_t l_linger)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Socket::getSocketOption
      Src: /src/mcl/include/cybozu/socket.hpp:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 723
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 723
    functionName: cybozu::Socket::getReceiveBufferSize
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - cybozu::Socket::getSocketOption
    linkageType: ''
    returnType: int
    signature: int getReceiveBufferSize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Socket::setSocketOption
      Src: /src/mcl/include/cybozu/socket.hpp:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 731
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 731
    functionName: cybozu::Socket::setReceiveBufferSize
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - cybozu::Socket::setSocketOption
    linkageType: ''
    returnType: void
    signature: void setReceiveBufferSize(int size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Socket::getSocketOption
      Src: /src/mcl/include/cybozu/socket.hpp:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 740
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 740
    functionName: cybozu::Socket::getSendBufferSize
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - cybozu::Socket::getSocketOption
    linkageType: ''
    returnType: int
    signature: int getSendBufferSize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Socket::setSocketOption
      Src: /src/mcl/include/cybozu/socket.hpp:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 748
      start: 745
    functionDepth: 2
    functionLinenumber: 745
    functionLinenumberEnd: 748
    functionName: cybozu::Socket::setSendBufferSize
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - cybozu::Socket::setSocketOption
    linkageType: ''
    returnType: void
    signature: void setSendBufferSize(int size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Socket::setTimeout
      Src: /src/mcl/include/cybozu/socket.hpp:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msec
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 756
      start: 753
    functionDepth: 2
    functionLinenumber: 753
    functionLinenumberEnd: 756
    functionName: cybozu::Socket::setSendTimeout
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - cybozu::Socket::setTimeout
    linkageType: ''
    returnType: void
    signature: void setSendTimeout(int msec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Socket::setTimeout
      Src: /src/mcl/include/cybozu/socket.hpp:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msec
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 764
      start: 761
    functionDepth: 2
    functionLinenumber: 761
    functionLinenumberEnd: 764
    functionName: cybozu::Socket::setReceiveTimeout
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - cybozu::Socket::setTimeout
    linkageType: ''
    returnType: void
    signature: void setReceiveTimeout(int msec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Socket::getTimeout
      Src: /src/mcl/include/cybozu/socket.hpp:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 771
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 771
    functionName: cybozu::Socket::getSendTimeout
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - cybozu::Socket::getTimeout
    linkageType: ''
    returnType: int
    signature: int getSendTimeout() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Socket::getTimeout
      Src: /src/mcl/include/cybozu/socket.hpp:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 778
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 778
    functionName: cybozu::Socket::getReceiveTimeout
    functionSourceFile: /src/mcl/include/cybozu/socket.hpp
    functionUses: 0
    functionsReached:
    - cybozu::Socket::getTimeout
    linkageType: ''
    returnType: int
    signature: int getReceiveTimeout() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbyname
      Src: /src/mcl/include/cybozu/crypto.hpp:60,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/crypto.hpp:62,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/mcl/include/cybozu/crypto.hpp:64,1
    - Dst: EVP_DigestInit_ex
      Src: /src/mcl/include/cybozu/crypto.hpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: cybozu::crypto::Hash::setCTX
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - EVP_get_digestbyname
    - EVP_DigestInit_ex
    - EVP_MD_CTX_reset
    linkageType: ''
    returnType: void
    signature: void setCTX(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/crypto.hpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - Name
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: cybozu::crypto::Hash::getSize
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: size_t
    signature: size_t getSize(Name name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/crypto.hpp:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - Name
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: cybozu::crypto::Hash::getName
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: char
    signature: char *getName(Name name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/include/cybozu/crypto.hpp:111,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/crypto.hpp:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' nameStr'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionName: cybozu::crypto::Hash::getName
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - CYBOZU_NUM_OF_ARRAY
    linkageType: ''
    returnType: Name
    signature: Name getName(const std::string& nameStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::crypto::Hash::getSize
      Src: /src/mcl/include/cybozu/crypto.hpp:118,1
    - Dst: EVP_MD_CTX_new
      Src: /src/mcl/include/cybozu/crypto.hpp:120,1
    - Dst: cybozu::crypto::Hash::reset
      Src: /src/mcl/include/cybozu/crypto.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: cybozu::crypto::Hash::Hash
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 0
    functionsReached:
    - cybozu::crypto::Hash::getSize
    - EVP_MD_CTX_new
    - cybozu::crypto::Hash::reset
    linkageType: ''
    returnType: void
    signature: void Hash(Name name = N_SHA1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/mcl/include/cybozu/crypto.hpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: ~Hash()
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void ~Hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/mcl/include/cybozu/crypto.hpp:134,1
    - Dst: SHA1_Update
      Src: /src/mcl/include/cybozu/crypto.hpp:137,1
    - Dst: SHA224_Update
      Src: /src/mcl/include/cybozu/crypto.hpp:138,1
    - Dst: SHA256_Update
      Src: /src/mcl/include/cybozu/crypto.hpp:139,1
    - Dst: SHA384_Update
      Src: /src/mcl/include/cybozu/crypto.hpp:140,1
    - Dst: SHA512_Update
      Src: /src/mcl/include/cybozu/crypto.hpp:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 144
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 144
    functionName: cybozu::crypto::Hash::update
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 0
    functionsReached:
    - SHA512_Update
    - SHA224_Update
    - EVP_DigestUpdate
    - SHA256_Update
    - SHA1_Update
    - SHA384_Update
    linkageType: ''
    returnType: void
    signature: void update(const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::crypto::Hash::update
      Src: /src/mcl/include/cybozu/crypto.hpp:147,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/crypto.hpp:147,1
    - Dst: size
      Src: /src/mcl/include/cybozu/crypto.hpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' buf'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: cybozu::crypto::Hash::update
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 1
    functionsReached:
    - c_str
    - cybozu::crypto::Hash::update
    - size
    linkageType: ''
    returnType: void
    signature: void update(const std::string& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::crypto::Hash::setCTX
      Src: /src/mcl/include/cybozu/crypto.hpp:153,1
    - Dst: cybozu::crypto::Hash::setCTX
      Src: /src/mcl/include/cybozu/crypto.hpp:154,1
    - Dst: cybozu::crypto::Hash::setCTX
      Src: /src/mcl/include/cybozu/crypto.hpp:155,1
    - Dst: cybozu::crypto::Hash::setCTX
      Src: /src/mcl/include/cybozu/crypto.hpp:156,1
    - Dst: cybozu::crypto::Hash::setCTX
      Src: /src/mcl/include/cybozu/crypto.hpp:157,1
    - Dst: SHA1_Init
      Src: /src/mcl/include/cybozu/crypto.hpp:159,1
    - Dst: SHA224_Init
      Src: /src/mcl/include/cybozu/crypto.hpp:160,1
    - Dst: SHA256_Init
      Src: /src/mcl/include/cybozu/crypto.hpp:161,1
    - Dst: SHA384_Init
      Src: /src/mcl/include/cybozu/crypto.hpp:162,1
    - Dst: SHA512_Init
      Src: /src/mcl/include/cybozu/crypto.hpp:163,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/crypto.hpp:166,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 168
    functionName: cybozu::crypto::Hash::reset
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 1
    functionsReached:
    - SHA512_Init
    - Shim_Exception::Shim_Exception
    - SHA1_Init
    - SHA256_Init
    - SHA224_Init
    - SHA384_Init
    - cybozu::crypto::Hash::setCTX
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::crypto::Hash::update
      Src: /src/mcl/include/cybozu/crypto.hpp:175,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/mcl/include/cybozu/crypto.hpp:179,1
    - Dst: SHA1_Final
      Src: /src/mcl/include/cybozu/crypto.hpp:182,1
    - Dst: SHA224_Final
      Src: /src/mcl/include/cybozu/crypto.hpp:183,1
    - Dst: SHA256_Final
      Src: /src/mcl/include/cybozu/crypto.hpp:184,1
    - Dst: SHA384_Final
      Src: /src/mcl/include/cybozu/crypto.hpp:185,1
    - Dst: SHA512_Final
      Src: /src/mcl/include/cybozu/crypto.hpp:186,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/crypto.hpp:188,1
    - Dst: cybozu::crypto::Hash::reset
      Src: /src/mcl/include/cybozu/crypto.hpp:191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - out
    - buf
    - bufSize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: cybozu::crypto::Hash::digest
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 0
    functionsReached:
    - SHA512_Final
    - cybozu::crypto::Hash::reset
    - cybozu::crypto::Hash::update
    - SHA1_Final
    - Shim_Exception::Shim_Exception
    - SHA256_Final
    - SHA384_Final
    - EVP_DigestFinal_ex
    - SHA224_Final
    linkageType: ''
    returnType: void
    signature: void digest(void *out, const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/mcl/include/cybozu/crypto.hpp:196,1
    - Dst: cybozu::crypto::Hash::digest
      Src: /src/mcl/include/cybozu/crypto.hpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: cybozu::crypto::Hash::digest
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 1
    functionsReached:
    - std::string::resize
    - cybozu::crypto::Hash::digest
    linkageType: ''
    returnType: std::string
    signature: std::string digest(const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::crypto::Hash::digest
      Src: /src/mcl/include/cybozu/crypto.hpp:202,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/crypto.hpp:202,1
    - Dst: size
      Src: /src/mcl/include/cybozu/crypto.hpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: cybozu::crypto::Hash::digest
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 2
    functionsReached:
    - cybozu::crypto::Hash::digest
    - c_str
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string digest(const std::string& buf = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Hash::digest
      Src: /src/mcl/include/cybozu/crypto.hpp:212,1
    - Dst: cybozu::crypto::Hash::getSize
      Src: /src/mcl/include/cybozu/crypto.hpp:213,1
    - Dst: SHA1
      Src: /src/mcl/include/cybozu/crypto.hpp:218,1
    - Dst: SHA224
      Src: /src/mcl/include/cybozu/crypto.hpp:219,1
    - Dst: SHA256
      Src: /src/mcl/include/cybozu/crypto.hpp:220,1
    - Dst: SHA384
      Src: /src/mcl/include/cybozu/crypto.hpp:221,1
    - Dst: SHA512
      Src: /src/mcl/include/cybozu/crypto.hpp:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 4
    argNames:
    - out
    - name
    - buf
    - bufSize
    argTypes:
    - void*
    - Name
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 227
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 227
    functionName: cybozu::crypto::Hash::digest
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 2
    functionsReached:
    - SHA1
    - SHA512
    - cybozu::crypto::Hash::getSize
    - SHA384
    - SHA256
    - Hash::digest
    - SHA224
    linkageType: ''
    returnType: size_t
    signature: size_t digest(void *out, Name name, const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/crypto.hpp:232,1
    - Dst: std::string
      Src: /src/mcl/include/cybozu/crypto.hpp:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - name
    - buf
    - bufSize
    argTypes:
    - Name
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: cybozu::crypto::Hash::digest
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string digest(Name name, const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::crypto::Hash::digest
      Src: /src/mcl/include/cybozu/crypto.hpp:237,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/crypto.hpp:237,1
    - Dst: size
      Src: /src/mcl/include/cybozu/crypto.hpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - ' buf'
    argTypes:
    - Name
    - std::string
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: cybozu::crypto::Hash::digest
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 3
    functionsReached:
    - cybozu::crypto::Hash::digest
    - c_str
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string digest(Name name, const std::string& buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha1
      Src: /src/mcl/include/cybozu/crypto.hpp:247,1
    - Dst: EVP_sha224
      Src: /src/mcl/include/cybozu/crypto.hpp:248,1
    - Dst: EVP_sha256
      Src: /src/mcl/include/cybozu/crypto.hpp:249,1
    - Dst: EVP_sha384
      Src: /src/mcl/include/cybozu/crypto.hpp:250,1
    - Dst: EVP_sha512
      Src: /src/mcl/include/cybozu/crypto.hpp:251,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/crypto.hpp:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 255
    functionName: cybozu::crypto::Hmac::Hmac
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 0
    functionsReached:
    - EVP_sha512
    - EVP_sha384
    - Shim_Exception::Shim_Exception
    - EVP_sha256
    - EVP_sha224
    - EVP_sha1
    linkageType: ''
    returnType: void
    signature: void Hmac(Hash::Name name = Hash::N_SHA1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_size
      Src: /src/mcl/include/cybozu/crypto.hpp:258,1
    - Dst: HMAC
      Src: /src/mcl/include/cybozu/crypto.hpp:260,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/crypto.hpp:260,1
    - Dst: static_cast<int>
      Src: /src/mcl/include/cybozu/crypto.hpp:260,1
    - Dst: size
      Src: /src/mcl/include/cybozu/crypto.hpp:260,1
    - Dst: cybozu::cast<const uint8_t *>
      Src: /src/mcl/include/cybozu/crypto.hpp:261,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/crypto.hpp:261,1
    - Dst: size
      Src: /src/mcl/include/cybozu/crypto.hpp:261,1
    - Dst: cybozu::cast<uint8_t *>
      Src: /src/mcl/include/cybozu/crypto.hpp:261,1
    - Dst: std::string::resize
      Src: /src/mcl/include/cybozu/crypto.hpp:262,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/crypto.hpp:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' key'
    - ' data'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 266
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 266
    functionName: cybozu::crypto::Hmac::eval
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 0
    functionsReached:
    - c_str
    - cybozu::cast<uint8_t *>
    - Shim_Exception::Shim_Exception
    - static_cast<int>
    - HMAC
    - size
    - EVP_MD_size
    - std::string::resize
    - cybozu::cast<const uint8_t *>
    linkageType: ''
    returnType: std::string
    signature: std::string eval(const std::string& key, const std::string& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/crypto.hpp:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - Name
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: cybozu::crypto::Cipher::getSize
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: size_t
    signature: size_t getSize(Name name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/mcl/include/cybozu/crypto.hpp:302,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/crypto.hpp:303,1
    - Dst: EVP_aes_128_cbc
      Src: /src/mcl/include/cybozu/crypto.hpp:305,1
    - Dst: EVP_aes_192_cbc
      Src: /src/mcl/include/cybozu/crypto.hpp:306,1
    - Dst: EVP_aes_256_cbc
      Src: /src/mcl/include/cybozu/crypto.hpp:307,1
    - Dst: EVP_aes_128_ecb
      Src: /src/mcl/include/cybozu/crypto.hpp:308,1
    - Dst: EVP_aes_192_ecb
      Src: /src/mcl/include/cybozu/crypto.hpp:309,1
    - Dst: EVP_aes_256_ecb
      Src: /src/mcl/include/cybozu/crypto.hpp:310,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/crypto.hpp:312,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 314
    functionName: cybozu::crypto::Cipher::Cipher
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 0
    functionsReached:
    - EVP_aes_192_cbc
    - Shim_Exception::Shim_Exception
    - EVP_aes_192_ecb
    - EVP_aes_128_ecb
    - EVP_CIPHER_CTX_new
    - EVP_aes_128_cbc
    - EVP_aes_256_ecb
    - EVP_aes_256_cbc
    linkageType: ''
    returnType: void
    signature: void Cipher(Name name = N_AES128_CBC)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/mcl/include/cybozu/crypto.hpp:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: ~Cipher()
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: void
    signature: void ~Cipher()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/crypto.hpp:327,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/crypto.hpp:332,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/mcl/include/cybozu/crypto.hpp:334,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/crypto.hpp:336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - mode
    - ' key'
    - ' iv'
    argTypes:
    - Mode
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 345
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 345
    functionName: cybozu::crypto::Cipher::setup
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - EVP_CIPHER_CTX_set_padding
    linkageType: ''
    returnType: void
    signature: void setup(Mode mode, const std::string& key, const std::string& iv,
      bool padding = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - outBuf
    - inBuf
    - inBufSize
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 357
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 357
    functionName: cybozu::crypto::Cipher::update
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int update(char *outBuf, const char *inBuf, int inBufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - outBuf
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: cybozu::crypto::Cipher::finalize
    functionSourceFile: /src/mcl/include/cybozu/crypto.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int finalize(char *outBuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    constantsTouched: []
    func_position:
      end: 15
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 15
    functionName: cybozu::hash32
    functionSourceFile: /src/mcl/include/cybozu/hash.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash32(Iter begin, Iter end, uint32_t v = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    constantsTouched: []
    func_position:
      end: 26
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 26
    functionName: cybozu::hash64
    functionSourceFile: /src/mcl/include/cybozu/hash.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hash64(Iter begin, Iter end, uint64_t v = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::hash32
      Src: /src/mcl/include/cybozu/hash.hpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: cybozu::hash32
    functionSourceFile: /src/mcl/include/cybozu/hash.hpp
    functionUses: 1
    functionsReached:
    - cybozu::hash32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash32(const T *x, size_t n, uint32_t v = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::hash64
      Src: /src/mcl/include/cybozu/hash.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: cybozu::hash64
    functionSourceFile: /src/mcl/include/cybozu/hash.hpp
    functionUses: 3
    functionsReached:
    - cybozu::hash64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hash64(const T *x, size_t n, uint64_t v = 0)
  - 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: cybozu::File::openSub
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void openSub()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/file.hpp:79,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - mode
    argTypes:
    - std::ios::openmode
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: cybozu::File::verifyMode
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    linkageType: ''
    returnType: void
    signature: void verifyMode(std::ios::openmode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::CreateFileA
      Src: /src/mcl/include/cybozu/file.hpp:85,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/file.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' name'
    - access
    - share
    - disposition
    argTypes:
    - std::string
    - DWORD
    - DWORD
    - DWORD
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: cybozu::File::createFile
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - c_str
    - ::CreateFileA
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE createFile(const std::string& name, DWORD access, DWORD share,
      DWORD disposition)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::CreateFileW
      Src: /src/mcl/include/cybozu/file.hpp:89,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/file.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' name'
    - access
    - share
    - disposition
    argTypes:
    - std::wstring
    - DWORD
    - DWORD
    - DWORD
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: cybozu::File::createFile
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - c_str
    - ::CreateFileW
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE createFile(const std::wstring& name, DWORD access, DWORD share,
      DWORD disposition)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::File::createFile
      Src: /src/mcl/include/cybozu/file.hpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' name'
    - mode
    argTypes:
    - T
    - std::ios::openmode
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: cybozu::File::setHandle
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - cybozu::File::createFile
    linkageType: ''
    returnType: void
    signature: void setHandle(const T& name, std::ios::openmode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::impl::open
      Src: /src/mcl/include/cybozu/file.hpp:119,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/file.hpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' name'
    - mode
    argTypes:
    - std::string
    - std::ios::openmode
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: cybozu::File::setHandle
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - mcl::impl::open
    - c_str
    linkageType: ''
    returnType: void
    signature: void setHandle(const std::string& name, std::ios::openmode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isOpen
      Src: /src/mcl/include/cybozu/file.hpp:125,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/file.hpp:125,1
    - Dst: cybozu::File::verifyMode
      Src: /src/mcl/include/cybozu/file.hpp:126,1
    - Dst: cybozu::File::setHandle
      Src: /src/mcl/include/cybozu/file.hpp:127,1
    - Dst: isOpen
      Src: /src/mcl/include/cybozu/file.hpp:128,1
    - Dst: cybozu::File::seek
      Src: /src/mcl/include/cybozu/file.hpp:130,1
    - Dst: cybozu::File::getSize
      Src: /src/mcl/include/cybozu/file.hpp:130,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/file.hpp:134,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/file.hpp:134,1
    - Dst: static_cast<int>
      Src: /src/mcl/include/cybozu/file.hpp:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' name'
    - mode
    argTypes:
    - T
    - std::ios::openmode
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: cybozu::File::openSub
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - isOpen
    - cybozu::File::seek
    - Shim_Exception::Shim_Exception
    - static_cast<int>
    - cybozu::NetErrorNo
    - cybozu::File::verifyMode
    - cybozu::File::setHandle
    - cybozu::File::getSize
    linkageType: ''
    returnType: void
    signature: void openSub(const T& name, std::ios::openmode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: cybozu::File::File
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void File()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::File::open
      Src: /src/mcl/include/cybozu/file.hpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - mode
    argTypes:
    - std::string
    - std::ios::openmode
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: cybozu::File::File
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - cybozu::File::open
    linkageType: ''
    returnType: void
    signature: void File(const std::string& name, std::ios::openmode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hdl
    argTypes:
    - handleType
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: cybozu::File::File
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void File(handleType hdl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sync
      Src: /src/mcl/include/cybozu/file.hpp:165,1
    - Dst: close
      Src: /src/mcl/include/cybozu/file.hpp:166,1
    - Dst: fprintf
      Src: /src/mcl/include/cybozu/file.hpp:168,1
    - Dst: what
      Src: /src/mcl/include/cybozu/file.hpp:168,1
    - Dst: fprintf
      Src: /src/mcl/include/cybozu/file.hpp:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: ~File()
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - fprintf
    - close
    - what
    - sync
    linkageType: ''
    returnType: void
    signature: void ~File()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: cybozu::File::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::File::openSub
      Src: /src/mcl/include/cybozu/file.hpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - mode
    argTypes:
    - std::string
    - std::ios::openmode
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: cybozu::File::open
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 1
    functionsReached:
    - cybozu::File::openSub
    linkageType: ''
    returnType: void
    signature: void open(const std::string& name, std::ios::openmode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::File::open
      Src: /src/mcl/include/cybozu/file.hpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: cybozu::File::openW
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - cybozu::File::open
    linkageType: ''
    returnType: void
    signature: void openW(const std::string& name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::File::open
      Src: /src/mcl/include/cybozu/file.hpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: cybozu::File::openR
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - cybozu::File::open
    linkageType: ''
    returnType: void
    signature: void openR(const std::string& name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::exception::wstr2str
      Src: /src/mcl/include/cybozu/file.hpp:197,1
    - Dst: cybozu::File::openSub
      Src: /src/mcl/include/cybozu/file.hpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - mode
    argTypes:
    - std::wstring
    - std::ios::openmode
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: cybozu::File::open
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 3
    functionsReached:
    - cybozu::exception::wstr2str
    - cybozu::File::openSub
    linkageType: ''
    returnType: void
    signature: void open(const std::wstring& name, std::ios::openmode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::File::open
      Src: /src/mcl/include/cybozu/file.hpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - mode
    argTypes:
    - std::wstring
    - std::ios::openmode
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: cybozu::File::File
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - cybozu::File::open
    linkageType: ''
    returnType: void
    signature: void File(const std::wstring& name, std::ios::openmode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::File::open
      Src: /src/mcl/include/cybozu/file.hpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::wstring
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: cybozu::File::openW
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - cybozu::File::open
    linkageType: ''
    returnType: void
    signature: void openW(const std::wstring& name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::File::open
      Src: /src/mcl/include/cybozu/file.hpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::wstring
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: cybozu::File::openR
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - cybozu::File::open
    linkageType: ''
    returnType: void
    signature: void openR(const std::wstring& name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isOpen
      Src: /src/mcl/include/cybozu/file.hpp:216,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/file.hpp:224,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/file.hpp:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 225
    functionName: cybozu::File::close
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - isOpen
    - Shim_Exception::Shim_Exception
    - cybozu::NetErrorNo
    linkageType: ''
    returnType: void
    signature: void close()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::disable_warning_unused_variable
      Src: /src/mcl/include/cybozu/file.hpp:232,1
    - Dst: isOpen
      Src: /src/mcl/include/cybozu/file.hpp:233,1
    - Dst: ::FlushFileBuffers
      Src: /src/mcl/include/cybozu/file.hpp:237,1
    - Dst: ::fsync
      Src: /src/mcl/include/cybozu/file.hpp:240,1
    - Dst: ::fdatasync
      Src: /src/mcl/include/cybozu/file.hpp:242,1
    - Dst: ::fcntl
      Src: /src/mcl/include/cybozu/file.hpp:245,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/file.hpp:249,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/file.hpp:249,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 250
    functionName: cybozu::File::sync
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - isOpen
    - ::fcntl
    - Shim_Exception::Shim_Exception
    - ::fdatasync
    - cybozu::NetErrorNo
    - ::fsync
    - ::FlushFileBuffers
    - cybozu::disable_warning_unused_variable
    linkageType: ''
    returnType: void
    signature: void sync(bool doFullSync = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::WriteFile
      Src: /src/mcl/include/cybozu/file.hpp:258,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/file.hpp:271,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/file.hpp:271,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 272
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 272
    functionName: cybozu::File::write
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::NetErrorNo
    - ::WriteFile
    linkageType: ''
    returnType: void
    signature: void write(const void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_features::CpuFeatures_ReadFile
      Src: /src/mcl/include/cybozu/file.hpp:278,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/file.hpp:289,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/file.hpp:289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 290
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 290
    functionName: cybozu::File::readSome
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - cpu_features::CpuFeatures_ReadFile
    - Shim_Exception::Shim_Exception
    - cybozu::NetErrorNo
    linkageType: ''
    returnType: size_t
    signature: size_t readSome(void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 299
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 299
    functionName: cybozu::File::read
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void read(void *buf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/file.hpp:336,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/file.hpp:336,1
    - Dst: static_cast<int>
      Src: /src/mcl/include/cybozu/file.hpp:336,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - pos
    - dir
    argTypes:
    - int64_t
    - std::ios::seekdir
    constantsTouched: []
    func_position:
      end: 337
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 337
    functionName: cybozu::File::seek
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - static_cast<int>
    - cybozu::NetErrorNo
    linkageType: ''
    returnType: void
    signature: void seek(int64_t pos, std::ios::seekdir dir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/file.hpp:351,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/file.hpp:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 352
    functionName: cybozu::File::getSize
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::NetErrorNo
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getSize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/mcl/include/cybozu/file.hpp:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' name'
    - ' extension'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 366
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 366
    functionName: cybozu::HasExtension
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool HasExtension(const std::string& name, const std::string& extension)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/include/cybozu/file.hpp:374,1
    - Dst: substr
      Src: /src/mcl/include/cybozu/file.hpp:378,1
    - Dst: substr
      Src: /src/mcl/include/cybozu/file.hpp:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 381
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 381
    functionName: cybozu::GetBaseName
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - clear
    - substr
    linkageType: ''
    returnType: std::string
    signature: std::string GetBaseName(const std::string& name, std::string *suffix
      = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 391
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 391
    functionName: cybozu::ReplaceBackSlash
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReplaceBackSlash(std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/mcl/include/cybozu/file.hpp:400,1
    - Dst: GetModuleFileNameA
      Src: /src/mcl/include/cybozu/file.hpp:402,1
    - Dst: static_cast<int>
      Src: /src/mcl/include/cybozu/file.hpp:402,1
    - Dst: std::string::size
      Src: /src/mcl/include/cybozu/file.hpp:402,1
    - Dst: PathRemoveExtensionA
      Src: /src/mcl/include/cybozu/file.hpp:405,1
    - Dst: PathFindFileNameA
      Src: /src/mcl/include/cybozu/file.hpp:407,1
    - Dst: ::PathRemoveFileSpecA
      Src: /src/mcl/include/cybozu/file.hpp:409,1
    - Dst: ::PathAddBackslashA
      Src: /src/mcl/include/cybozu/file.hpp:410,1
    - Dst: static_cast<char>
      Src: /src/mcl/include/cybozu/file.hpp:411,1
    - Dst: tolower
      Src: /src/mcl/include/cybozu/file.hpp:411,1
    - Dst: std::string::resize
      Src: /src/mcl/include/cybozu/file.hpp:412,1
    - Dst: strlen
      Src: /src/mcl/include/cybozu/file.hpp:412,1
    - Dst: cybozu::ReplaceBackSlash
      Src: /src/mcl/include/cybozu/file.hpp:413,1
    - Dst: _NSGetExecutablePath
      Src: /src/mcl/include/cybozu/file.hpp:418,1
    - Dst: std::string::resize
      Src: /src/mcl/include/cybozu/file.hpp:421,1
    - Dst: strlen
      Src: /src/mcl/include/cybozu/file.hpp:421,1
    - Dst: std::string::resize
      Src: /src/mcl/include/cybozu/file.hpp:425,1
    - Dst: std::string::substr
      Src: /src/mcl/include/cybozu/file.hpp:430,1
    - Dst: cybozu::GetBaseName
      Src: /src/mcl/include/cybozu/file.hpp:432,1
    - Dst: std::string::resize
      Src: /src/mcl/include/cybozu/file.hpp:439,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 443
    functionName: cybozu::GetExePath
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - cybozu::ReplaceBackSlash
    - std::string::size
    - tolower
    - PathFindFileNameA
    - GetModuleFileNameA
    - static_cast<int>
    - PathRemoveExtensionA
    - _NSGetExecutablePath
    - ::PathRemoveFileSpecA
    - cybozu::GetBaseName
    - ::PathAddBackslashA
    - std::string::resize
    - static_cast<char>
    - std::string::substr
    - strlen
    linkageType: ''
    returnType: std::string
    signature: std::string GetExePath(std::string *baseName = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/file.hpp:458,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/file.hpp:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 459
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 459
    functionName: cybozu::GetFileSize
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::NetErrorNo
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetFileSize(const std::string& name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/mcl/include/cybozu/file.hpp:466,1
    - Dst: std::string::resize
      Src: /src/mcl/include/cybozu/file.hpp:470,1
    - Dst: std::string::size
      Src: /src/mcl/include/cybozu/file.hpp:470,1
    - Dst: _stat
      Src: /src/mcl/include/cybozu/file.hpp:474,1
    - Dst: std::string::c_str
      Src: /src/mcl/include/cybozu/file.hpp:474,1
    - Dst: stat
      Src: /src/mcl/include/cybozu/file.hpp:477,1
    - Dst: std::string::c_str
      Src: /src/mcl/include/cybozu/file.hpp:477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 479
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 479
    functionName: cybozu::DoesFileExist
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - _stat
    - empty
    - std::string::c_str
    - stat
    - std::string::resize
    linkageType: ''
    returnType: bool
    signature: bool DoesFileExist(const std::string& path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::DoesFileExist
      Src: /src/mcl/include/cybozu/file.hpp:483,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/file.hpp:484,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/file.hpp:492,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/file.hpp:492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ' from'
    - ' to'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 494
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 494
    functionName: cybozu::RenameFile
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::DoesFileExist
    - cybozu::NetErrorNo
    linkageType: ''
    returnType: void
    signature: void RenameFile(const std::string& from, const std::string& to)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/file.hpp:507,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/file.hpp:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 509
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 509
    functionName: cybozu::RemoveFile
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::NetErrorNo
    linkageType: ''
    returnType: void
    signature: void RemoveFile(const std::string& name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 520
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 520
    functionName: cybozu::isUnknown
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isUnknown() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::verify
      Src: /src/mcl/include/cybozu/file.hpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 521
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 521
    functionName: cybozu::isDirectory
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - cybozu::verify
    linkageType: ''
    returnType: bool
    signature: bool isDirectory() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::verify
      Src: /src/mcl/include/cybozu/file.hpp:522,1
    - Dst: cybozu::isDirectory
      Src: /src/mcl/include/cybozu/file.hpp:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 522
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 522
    functionName: cybozu::isFile
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - cybozu::isDirectory
    - cybozu::verify
    linkageType: ''
    returnType: bool
    signature: bool isFile() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 524
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 524
    functionName: cybozu::isUnknown
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isUnknown() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::verify
      Src: /src/mcl/include/cybozu/file.hpp:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: cybozu::isDirectory
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 1
    functionsReached:
    - cybozu::verify
    linkageType: ''
    returnType: bool
    signature: bool isDirectory() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::verify
      Src: /src/mcl/include/cybozu/file.hpp:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 526
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 526
    functionName: cybozu::isFile
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - cybozu::verify
    linkageType: ''
    returnType: bool
    signature: bool isFile() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 528
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 528
    functionName: cybozu::FileInfo
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileInfo()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' name'
    - attr
    argTypes:
    - std::string
    - uint32_t
    constantsTouched: []
    func_position:
      end: 529
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 529
    functionName: cybozu::FileInfo
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileInfo(const std::string& name, uint32_t attr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::isUnknown
      Src: /src/mcl/include/cybozu/file.hpp:532,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/file.hpp:532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 533
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 533
    functionName: cybozu::verify
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 4
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::isUnknown
    linkageType: ''
    returnType: void
    signature: void verify() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cond
      Src: /src/mcl/include/cybozu/file.hpp:546,1
    - Dst: push_back
      Src: /src/mcl/include/cybozu/file.hpp:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - ' list'
    - ' fi'
    - ' extension'
    - cond
    argTypes:
    - FileList
    - FileInfo
    - std::string
    - bool
    constantsTouched: []
    func_position:
      end: 549
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 549
    functionName: cybozu::file_local::filterAndPush
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - push_back
    - cond
    linkageType: ''
    returnType: void
    signature: void filterAndPush(FileList& list, const FileInfo& fi, const std::string&
      extension, bool cond(const std::string&, const std::string&))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FindClose
      Src: /src/mcl/include/cybozu/file.hpp:574,1
    - Dst: FindFirstFileA
      Src: /src/mcl/include/cybozu/file.hpp:579,1
    - Dst: std::string::c_str
      Src: /src/mcl/include/cybozu/file.hpp:579,1
    - Dst: cybozu::file_local::filterAndPush
      Src: /src/mcl/include/cybozu/file.hpp:585,1
    - Dst: FindNextFileA
      Src: /src/mcl/include/cybozu/file.hpp:586,1
    - Dst: perror
      Src: /src/mcl/include/cybozu/file.hpp:595,1
    - Dst: ::closedir
      Src: /src/mcl/include/cybozu/file.hpp:601,1
    - Dst: perror
      Src: /src/mcl/include/cybozu/file.hpp:602,1
    - Dst: ::opendir
      Src: /src/mcl/include/cybozu/file.hpp:608,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/file.hpp:608,1
    - Dst: Handle::isValid
      Src: /src/mcl/include/cybozu/file.hpp:609,1
    - Dst: Botan::impl_readdir
      Src: /src/mcl/include/cybozu/file.hpp:611,1
    - Dst: cybozu::file_local::filterAndPush
      Src: /src/mcl/include/cybozu/file.hpp:614,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - list
    - ' dir'
    argTypes:
    - FileList
    - std::string
    constantsTouched: []
    func_position:
      end: 617
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 617
    functionName: cybozu::GetFileList
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 0
    functionsReached:
    - cybozu::file_local::filterAndPush
    - perror
    - c_str
    - ::closedir
    - FindFirstFileA
    - FindNextFileA
    - ::opendir
    - Botan::impl_readdir
    - std::string::c_str
    - Handle::isValid
    - FindClose
    linkageType: ''
    returnType: bool
    signature: bool GetFileList(FileList &list, const std::string& dir, const std::string&
      extension = "", bool (*cond)(const std::string&, const std::string&) = cybozu::HasExtension)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::GetFileList
      Src: /src/mcl/include/cybozu/file.hpp:622,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/file.hpp:623,1
    - Dst: cybozu::NetErrorNo
      Src: /src/mcl/include/cybozu/file.hpp:623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' dir'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 624
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 624
    functionName: cybozu::GetFileList
    functionSourceFile: /src/mcl/include/cybozu/file.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::GetFileList
    - cybozu::NetErrorNo
    linkageType: ''
    returnType: FileList
    signature: FileList GetFileList(const std::string& dir, const std::string& extension
      = "", bool (*cond)(const std::string&, const std::string&) = cybozu::HasExtension)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _byteswap_ushort
      Src: /src/mcl/include/cybozu/endian.hpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: cybozu::byteSwap
    functionSourceFile: /src/mcl/include/cybozu/endian.hpp
    functionUses: 0
    functionsReached:
    - _byteswap_ushort
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t byteSwap(uint16_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _byteswap_ulong
      Src: /src/mcl/include/cybozu/endian.hpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: cybozu::byteSwap
    functionSourceFile: /src/mcl/include/cybozu/endian.hpp
    functionUses: 0
    functionsReached:
    - _byteswap_ulong
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t byteSwap(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _byteswap_uint64
      Src: /src/mcl/include/cybozu/endian.hpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: cybozu::byteSwap
    functionSourceFile: /src/mcl/include/cybozu/endian.hpp
    functionUses: 0
    functionsReached:
    - _byteswap_uint64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t byteSwap(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_bswap16
      Src: /src/mcl/include/cybozu/endian.hpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: cybozu::byteSwap
    functionSourceFile: /src/mcl/include/cybozu/endian.hpp
    functionUses: 0
    functionsReached:
    - __builtin_bswap16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t byteSwap(uint16_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: cybozu::byteSwap
    functionSourceFile: /src/mcl/include/cybozu/endian.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t byteSwap(uint16_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_bswap32
      Src: /src/mcl/include/cybozu/endian.hpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: cybozu::byteSwap
    functionSourceFile: /src/mcl/include/cybozu/endian.hpp
    functionUses: 0
    functionsReached:
    - __builtin_bswap32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t byteSwap(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_bswap64
      Src: /src/mcl/include/cybozu/endian.hpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: cybozu::byteSwap
    functionSourceFile: /src/mcl/include/cybozu/endian.hpp
    functionUses: 0
    functionsReached:
    - __builtin_bswap64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t byteSwap(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mcl/include/cybozu/endian.hpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: cybozu::Get16bitAsLE
    functionSourceFile: /src/mcl/include/cybozu/endian.hpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Get16bitAsLE(const void *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mcl/include/cybozu/endian.hpp:52,1
    - Dst: cybozu::Get16bitAsLE
      Src: /src/mcl/include/cybozu/endian.hpp:56,1
    - Dst: static_cast<uint32_t>
      Src: /src/mcl/include/cybozu/endian.hpp:56,1
    - Dst: cybozu::Get16bitAsLE
      Src: /src/mcl/include/cybozu/endian.hpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: cybozu::Get32bitAsLE
    functionSourceFile: /src/mcl/include/cybozu/endian.hpp
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    - memcpy
    - cybozu::Get16bitAsLE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Get32bitAsLE(const void *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mcl/include/cybozu/endian.hpp:68,1
    - Dst: cybozu::Get32bitAsLE
      Src: /src/mcl/include/cybozu/endian.hpp:72,1
    - Dst: static_cast<uint64_t>
      Src: /src/mcl/include/cybozu/endian.hpp:72,1
    - Dst: cybozu::Get32bitAsLE
      Src: /src/mcl/include/cybozu/endian.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: cybozu::Get64bitAsLE
    functionSourceFile: /src/mcl/include/cybozu/endian.hpp
    functionUses: 1
    functionsReached:
    - memcpy
    - static_cast<uint64_t>
    - cybozu::Get32bitAsLE
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Get64bitAsLE(const void *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mcl/include/cybozu/endian.hpp:84,1
    - Dst: cybozu::byteSwap
      Src: /src/mcl/include/cybozu/endian.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: cybozu::Get16bitAsBE
    functionSourceFile: /src/mcl/include/cybozu/endian.hpp
    functionUses: 0
    functionsReached:
    - cybozu::byteSwap
    - memcpy
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Get16bitAsBE(const void *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mcl/include/cybozu/endian.hpp:100,1
    - Dst: cybozu::byteSwap
      Src: /src/mcl/include/cybozu/endian.hpp:101,1
    - Dst: cybozu::Get16bitAsBE
      Src: /src/mcl/include/cybozu/endian.hpp:104,1
    - Dst: static_cast<uint32_t>
      Src: /src/mcl/include/cybozu/endian.hpp:104,1
    - Dst: cybozu::Get16bitAsBE
      Src: /src/mcl/include/cybozu/endian.hpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: cybozu::Get32bitAsBE
    functionSourceFile: /src/mcl/include/cybozu/endian.hpp
    functionUses: 1
    functionsReached:
    - cybozu::byteSwap
    - cybozu::Get16bitAsBE
    - static_cast<uint32_t>
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Get32bitAsBE(const void *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mcl/include/cybozu/endian.hpp:116,1
    - Dst: cybozu::byteSwap
      Src: /src/mcl/include/cybozu/endian.hpp:117,1
    - Dst: cybozu::Get32bitAsBE
      Src: /src/mcl/include/cybozu/endian.hpp:120,1
    - Dst: static_cast<uint64_t>
      Src: /src/mcl/include/cybozu/endian.hpp:120,1
    - Dst: cybozu::Get32bitAsBE
      Src: /src/mcl/include/cybozu/endian.hpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: cybozu::Get64bitAsBE
    functionSourceFile: /src/mcl/include/cybozu/endian.hpp
    functionUses: 1
    functionsReached:
    - cybozu::byteSwap
    - cybozu::Get32bitAsBE
    - memcpy
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Get64bitAsBE(const void *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mcl/include/cybozu/endian.hpp:132,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/include/cybozu/endian.hpp:135,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/include/cybozu/endian.hpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - src
    - x
    argTypes:
    - void*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: cybozu::Set16bitAsLE
    functionSourceFile: /src/mcl/include/cybozu/endian.hpp
    functionUses: 0
    functionsReached:
    - memcpy
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Set16bitAsLE(void *src, uint16_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mcl/include/cybozu/endian.hpp:147,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/include/cybozu/endian.hpp:150,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/include/cybozu/endian.hpp:151,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/include/cybozu/endian.hpp:152,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/include/cybozu/endian.hpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - src
    - x
    argTypes:
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: cybozu::Set32bitAsLE
    functionSourceFile: /src/mcl/include/cybozu/endian.hpp
    functionUses: 1
    functionsReached:
    - memcpy
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Set32bitAsLE(void *src, uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mcl/include/cybozu/endian.hpp:164,1
    - Dst: cybozu::Set32bitAsLE
      Src: /src/mcl/include/cybozu/endian.hpp:167,1
    - Dst: static_cast<uint32_t>
      Src: /src/mcl/include/cybozu/endian.hpp:167,1
    - Dst: cybozu::Set32bitAsLE
      Src: /src/mcl/include/cybozu/endian.hpp:168,1
    - Dst: static_cast<uint32_t>
      Src: /src/mcl/include/cybozu/endian.hpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - src
    - x
    argTypes:
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: cybozu::Set64bitAsLE
    functionSourceFile: /src/mcl/include/cybozu/endian.hpp
    functionUses: 1
    functionsReached:
    - cybozu::Set32bitAsLE
    - static_cast<uint32_t>
    - memcpy
    linkageType: ''
    returnType: void
    signature: void Set64bitAsLE(void *src, uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::byteSwap
      Src: /src/mcl/include/cybozu/endian.hpp:179,1
    - Dst: memcpy
      Src: /src/mcl/include/cybozu/endian.hpp:180,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/include/cybozu/endian.hpp:183,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/include/cybozu/endian.hpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - src
    - x
    argTypes:
    - void*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: cybozu::Set16bitAsBE
    functionSourceFile: /src/mcl/include/cybozu/endian.hpp
    functionUses: 1
    functionsReached:
    - cybozu::byteSwap
    - memcpy
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Set16bitAsBE(void *src, uint16_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::byteSwap
      Src: /src/mcl/include/cybozu/endian.hpp:195,1
    - Dst: memcpy
      Src: /src/mcl/include/cybozu/endian.hpp:196,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/include/cybozu/endian.hpp:199,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/include/cybozu/endian.hpp:200,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/include/cybozu/endian.hpp:201,1
    - Dst: static_cast<uint8_t>
      Src: /src/mcl/include/cybozu/endian.hpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - src
    - x
    argTypes:
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 204
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 204
    functionName: cybozu::Set32bitAsBE
    functionSourceFile: /src/mcl/include/cybozu/endian.hpp
    functionUses: 1
    functionsReached:
    - cybozu::byteSwap
    - memcpy
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Set32bitAsBE(void *src, uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::byteSwap
      Src: /src/mcl/include/cybozu/endian.hpp:213,1
    - Dst: memcpy
      Src: /src/mcl/include/cybozu/endian.hpp:214,1
    - Dst: cybozu::Set32bitAsBE
      Src: /src/mcl/include/cybozu/endian.hpp:217,1
    - Dst: static_cast<uint32_t>
      Src: /src/mcl/include/cybozu/endian.hpp:217,1
    - Dst: cybozu::Set32bitAsBE
      Src: /src/mcl/include/cybozu/endian.hpp:218,1
    - Dst: static_cast<uint32_t>
      Src: /src/mcl/include/cybozu/endian.hpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - src
    - x
    argTypes:
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: cybozu::Set64bitAsBE
    functionSourceFile: /src/mcl/include/cybozu/endian.hpp
    functionUses: 1
    functionsReached:
    - cybozu::byteSwap
    - cybozu::Set32bitAsBE
    - memcpy
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void Set64bitAsBE(void *src, uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CreateMutex
      Src: /src/mcl/include/cybozu/mutex.hpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mutex'
    argTypes:
    - MutexHandle
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: cybozu::thread::MutexInit
    functionSourceFile: /src/mcl/include/cybozu/mutex.hpp
    functionUses: 0
    functionsReached:
    - CreateMutex
    linkageType: ''
    returnType: void
    signature: void MutexInit(MutexHandle& mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/mcl/include/cybozu/mutex.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mutex'
    argTypes:
    - MutexHandle
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: cybozu::thread::MutexLock
    functionSourceFile: /src/mcl/include/cybozu/mutex.hpp
    functionUses: 0
    functionsReached:
    - WaitForSingleObject
    linkageType: ''
    returnType: void
    signature: void MutexLock(MutexHandle& mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/mcl/include/cybozu/mutex.hpp:42,1
    - Dst: assert
      Src: /src/mcl/include/cybozu/mutex.hpp:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' mutex'
    - msec
    argTypes:
    - MutexHandle
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: cybozu::thread::MutexLockTimeout
    functionSourceFile: /src/mcl/include/cybozu/mutex.hpp
    functionUses: 0
    functionsReached:
    - WaitForSingleObject
    - assert
    linkageType: ''
    returnType: bool
    signature: bool MutexLockTimeout(MutexHandle& mutex, int msec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseMutex
      Src: /src/mcl/include/cybozu/mutex.hpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mutex'
    argTypes:
    - MutexHandle
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: cybozu::thread::MutexUnlock
    functionSourceFile: /src/mcl/include/cybozu/mutex.hpp
    functionUses: 0
    functionsReached:
    - ReleaseMutex
    linkageType: ''
    returnType: void
    signature: void MutexUnlock(MutexHandle& mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/mcl/include/cybozu/mutex.hpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mutex'
    argTypes:
    - MutexHandle
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: cybozu::thread::MutexTerm
    functionSourceFile: /src/mcl/include/cybozu/mutex.hpp
    functionUses: 0
    functionsReached:
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void MutexTerm(MutexHandle& mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_init
      Src: /src/mcl/include/cybozu/mutex.hpp:64,1
    - Dst: pthread_mutexattr_init
      Src: /src/mcl/include/cybozu/mutex.hpp:67,1
    - Dst: pthread_mutexattr_settype
      Src: /src/mcl/include/cybozu/mutex.hpp:68,1
    - Dst: perror
      Src: /src/mcl/include/cybozu/mutex.hpp:69,1
    - Dst: exit
      Src: /src/mcl/include/cybozu/mutex.hpp:70,1
    - Dst: pthread_mutex_init
      Src: /src/mcl/include/cybozu/mutex.hpp:72,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/mcl/include/cybozu/mutex.hpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' mutex'
    argTypes:
    - MutexHandle
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: cybozu::thread::MutexInit
    functionSourceFile: /src/mcl/include/cybozu/mutex.hpp
    functionUses: 0
    functionsReached:
    - perror
    - pthread_mutexattr_settype
    - exit
    - pthread_mutexattr_init
    - pthread_mutex_init
    - pthread_mutexattr_destroy
    linkageType: ''
    returnType: void
    signature: void MutexInit(MutexHandle& mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/mcl/include/cybozu/mutex.hpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mutex'
    argTypes:
    - MutexHandle
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: cybozu::thread::MutexLock
    functionSourceFile: /src/mcl/include/cybozu/mutex.hpp
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void MutexLock(MutexHandle& mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/mcl/include/cybozu/mutex.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' mutex'
    - msec
    argTypes:
    - MutexHandle
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: cybozu::thread::MutexLockTimeout
    functionSourceFile: /src/mcl/include/cybozu/mutex.hpp
    functionUses: 0
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: bool
    signature: bool MutexLockTimeout(MutexHandle& mutex, int msec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/mcl/include/cybozu/mutex.hpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mutex'
    argTypes:
    - MutexHandle
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: cybozu::thread::MutexUnlock
    functionSourceFile: /src/mcl/include/cybozu/mutex.hpp
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void MutexUnlock(MutexHandle& mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/mcl/include/cybozu/mutex.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mutex'
    argTypes:
    - MutexHandle
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: cybozu::thread::MutexTerm
    functionSourceFile: /src/mcl/include/cybozu/mutex.hpp
    functionUses: 0
    functionsReached:
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void MutexTerm(MutexHandle& mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/mcl/include/cybozu/mutex.hpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: cybozu::thread::AutoLockT::AutoLockT
    functionSourceFile: /src/mcl/include/cybozu/mutex.hpp
    functionUses: 0
    functionsReached:
    - lock
    linkageType: ''
    returnType: void
    signature: void AutoLockT(T &t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlock
      Src: /src/mcl/include/cybozu/mutex.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: ~AutoLockT()
    functionSourceFile: /src/mcl/include/cybozu/mutex.hpp
    functionUses: 0
    functionsReached:
    - unlock
    linkageType: ''
    returnType: void
    signature: void ~AutoLockT()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::thread::MutexInit
      Src: /src/mcl/include/cybozu/mutex.hpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: cybozu::Mutex::Mutex
    functionSourceFile: /src/mcl/include/cybozu/mutex.hpp
    functionUses: 0
    functionsReached:
    - cybozu::thread::MutexInit
    linkageType: ''
    returnType: void
    signature: void Mutex()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::thread::MutexTerm
      Src: /src/mcl/include/cybozu/mutex.hpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: ~Mutex()
    functionSourceFile: /src/mcl/include/cybozu/mutex.hpp
    functionUses: 0
    functionsReached:
    - cybozu::thread::MutexTerm
    linkageType: ''
    returnType: void
    signature: void ~Mutex()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::thread::MutexLock
      Src: /src/mcl/include/cybozu/mutex.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: cybozu::Mutex::lock
    functionSourceFile: /src/mcl/include/cybozu/mutex.hpp
    functionUses: 0
    functionsReached:
    - cybozu::thread::MutexLock
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::thread::MutexLockTimeout
      Src: /src/mcl/include/cybozu/mutex.hpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msec
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: cybozu::Mutex::lockTimeout
    functionSourceFile: /src/mcl/include/cybozu/mutex.hpp
    functionUses: 0
    functionsReached:
    - cybozu::thread::MutexLockTimeout
    linkageType: ''
    returnType: bool
    signature: bool lockTimeout(int msec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::thread::MutexUnlock
      Src: /src/mcl/include/cybozu/mutex.hpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: cybozu::Mutex::unlock
    functionSourceFile: /src/mcl/include/cybozu/mutex.hpp
    functionUses: 0
    functionsReached:
    - cybozu::thread::MutexUnlock
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::bsr
      Src: /src/mcl/include/cybozu/itoa.hpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: cybozu::getHexLength
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 0
    functionsReached:
    - cybozu::bsr
    linkageType: ''
    returnType: size_t
    signature: size_t getHexLength(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::bsr
      Src: /src/mcl/include/cybozu/itoa.hpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: cybozu::getBinLength
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 0
    functionsReached:
    - cybozu::bsr
    linkageType: ''
    returnType: size_t
    signature: size_t getBinLength(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - out
    - len
    - x
    argTypes:
    - char*
    - size_t
    - T
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: cybozu::itohex
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void itohex(char *out, size_t len, T x, bool upCase = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - out
    - len
    - x
    argTypes:
    - char*
    - size_t
    - T
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: cybozu::itobin
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void itobin(char *out, size_t len, T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/mcl/include/cybozu/itoa.hpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufSize
    - x
    argTypes:
    - char*
    - size_t
    - UT
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: cybozu::itoa_local::uintToDec
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: size_t
    signature: size_t uintToDec(char *buf, size_t bufSize, UT x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufSize
    - x
    argTypes:
    - char*
    - size_t
    - UT
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: cybozu::itoa_local::uintToHex
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t uintToHex(char *buf, size_t bufSize, UT x, bool upCase = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufSize
    - x
    argTypes:
    - char*
    - size_t
    - UT
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: cybozu::itoa_local::uintToBin
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t uintToBin(char *buf, size_t bufSize, UT x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mcl/include/cybozu/itoa.hpp:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufSize
    - x
    argTypes:
    - char*
    - size_t
    - T
    constantsTouched: []
    func_position:
      end: 144
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 144
    functionName: cybozu::itoa_local::intToDec
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t intToDec(char *buf, size_t bufSize, T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/cybozu/itoa.hpp:152,1
    - Dst: assign
      Src: /src/mcl/include/cybozu/itoa.hpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - x
    argTypes:
    - std::string
    - T
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: cybozu::itoa_local::convertFromUint
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 0
    functionsReached:
    - assert
    - assign
    linkageType: ''
    returnType: void
    signature: void convertFromUint(std::string& out, T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/cybozu/itoa.hpp:160,1
    - Dst: assign
      Src: /src/mcl/include/cybozu/itoa.hpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - x
    argTypes:
    - std::string
    - long long
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: cybozu::itoa_local::convertFromInt
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 0
    functionsReached:
    - assert
    - assign
    linkageType: ''
    returnType: void
    signature: void convertFromInt(std::string& out, long long x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/mcl/include/cybozu/itoa.hpp:168,1
    - Dst: itohex
      Src: /src/mcl/include/cybozu/itoa.hpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' out'
    - x
    - upCase
    - withZero
    argTypes:
    - std::string
    - T
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: cybozu::itoa_local::itohexLocal
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 0
    functionsReached:
    - resize
    - itohex
    linkageType: ''
    returnType: void
    signature: void itohexLocal(std::string& out, T x, bool upCase, bool withZero)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/mcl/include/cybozu/itoa.hpp:176,1
    - Dst: itobin
      Src: /src/mcl/include/cybozu/itoa.hpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' out'
    - x
    - withZero
    argTypes:
    - std::string
    - T
    - bool
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: cybozu::itoa_local::itobinLocal
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 0
    functionsReached:
    - resize
    - itobin
    linkageType: ''
    returnType: void
    signature: void itobinLocal(std::string& out, T x, bool withZero)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa_local::convertFromInt
      Src: /src/mcl/include/cybozu/itoa.hpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - x
    argTypes:
    - std::string
    - int
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: cybozu::itoa
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 44
    functionsReached:
    - cybozu::itoa_local::convertFromInt
    linkageType: ''
    returnType: void
    signature: void itoa(std::string& out, int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa_local::convertFromInt
      Src: /src/mcl/include/cybozu/itoa.hpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - x
    argTypes:
    - std::string
    - long long
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: cybozu::itoa
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 44
    functionsReached:
    - cybozu::itoa_local::convertFromInt
    linkageType: ''
    returnType: void
    signature: void itoa(std::string& out, long long x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa_local::convertFromUint
      Src: /src/mcl/include/cybozu/itoa.hpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - x
    argTypes:
    - std::string
    - unsigned int
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: cybozu::itoa
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 44
    functionsReached:
    - cybozu::itoa_local::convertFromUint
    linkageType: ''
    returnType: void
    signature: void itoa(std::string& out, unsigned int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa_local::convertFromUint
      Src: /src/mcl/include/cybozu/itoa.hpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - x
    argTypes:
    - std::string
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: cybozu::itoa
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 44
    functionsReached:
    - cybozu::itoa_local::convertFromUint
    linkageType: ''
    returnType: void
    signature: void itoa(std::string& out, unsigned long long x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa
      Src: /src/mcl/include/cybozu/itoa.hpp:225,1
    - Dst: static_cast<long long>
      Src: /src/mcl/include/cybozu/itoa.hpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - x
    argTypes:
    - std::string
    - long
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: cybozu::itoa
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 45
    functionsReached:
    - cybozu::itoa
    - static_cast<long long>
    linkageType: ''
    returnType: void
    signature: void itoa(std::string& out, long x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa
      Src: /src/mcl/include/cybozu/itoa.hpp:226,1
    - Dst: static_cast<unsigned long long>
      Src: /src/mcl/include/cybozu/itoa.hpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - x
    argTypes:
    - std::string
    - unsigned long
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: cybozu::itoa
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 46
    functionsReached:
    - cybozu::itoa
    - static_cast<unsigned long long>
    linkageType: ''
    returnType: void
    signature: void itoa(std::string& out, unsigned long x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa
      Src: /src/mcl/include/cybozu/itoa.hpp:228,1
    - Dst: static_cast<int>
      Src: /src/mcl/include/cybozu/itoa.hpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - x
    argTypes:
    - std::string
    - long
    constantsTouched: []
    func_position:
      end: 228
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 228
    functionName: cybozu::itoa
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 47
    functionsReached:
    - static_cast<int>
    - cybozu::itoa
    linkageType: ''
    returnType: void
    signature: void itoa(std::string& out, long x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa
      Src: /src/mcl/include/cybozu/itoa.hpp:229,1
    - Dst: static_cast<int>
      Src: /src/mcl/include/cybozu/itoa.hpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - x
    argTypes:
    - std::string
    - unsigned long
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: cybozu::itoa
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 48
    functionsReached:
    - static_cast<int>
    - cybozu::itoa
    linkageType: ''
    returnType: void
    signature: void itoa(std::string& out, unsigned long x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa
      Src: /src/mcl/include/cybozu/itoa.hpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: cybozu::itoa
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 49
    functionsReached:
    - cybozu::itoa
    linkageType: ''
    returnType: std::string
    signature: std::string itoa(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa_local::itohexLocal
      Src: /src/mcl/include/cybozu/itoa.hpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - x
    argTypes:
    - std::string
    - unsigned char
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: cybozu::itohex
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 4
    functionsReached:
    - cybozu::itoa_local::itohexLocal
    linkageType: ''
    returnType: void
    signature: void itohex(std::string& out, unsigned char x, bool upCase = true,
      bool withZero = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa_local::itohexLocal
      Src: /src/mcl/include/cybozu/itoa.hpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - x
    argTypes:
    - std::string
    - unsigned short
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: cybozu::itohex
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 4
    functionsReached:
    - cybozu::itoa_local::itohexLocal
    linkageType: ''
    returnType: void
    signature: void itohex(std::string& out, unsigned short x, bool upCase = true,
      bool withZero = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa_local::itohexLocal
      Src: /src/mcl/include/cybozu/itoa.hpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - x
    argTypes:
    - std::string
    - unsigned int
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: cybozu::itohex
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 4
    functionsReached:
    - cybozu::itoa_local::itohexLocal
    linkageType: ''
    returnType: void
    signature: void itohex(std::string& out, unsigned int x, bool upCase = true, bool
      withZero = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa_local::itohexLocal
      Src: /src/mcl/include/cybozu/itoa.hpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - x
    argTypes:
    - std::string
    - unsigned long
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: cybozu::itohex
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 4
    functionsReached:
    - cybozu::itoa_local::itohexLocal
    linkageType: ''
    returnType: void
    signature: void itohex(std::string& out, unsigned long x, bool upCase = true,
      bool withZero = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa_local::itohexLocal
      Src: /src/mcl/include/cybozu/itoa.hpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - x
    argTypes:
    - std::string
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: cybozu::itohex
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 4
    functionsReached:
    - cybozu::itoa_local::itohexLocal
    linkageType: ''
    returnType: void
    signature: void itohex(std::string& out, unsigned long long x, bool upCase = true,
      bool withZero = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa_local::itobinLocal
      Src: /src/mcl/include/cybozu/itoa.hpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: cybozu::itobin
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 1
    functionsReached:
    - cybozu::itoa_local::itobinLocal
    linkageType: ''
    returnType: std::string
    signature: std::string itobin(T x, bool withZero = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa_local::itobinLocal
      Src: /src/mcl/include/cybozu/itoa.hpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - x
    argTypes:
    - std::string
    - unsigned char
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: cybozu::itobin
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 1
    functionsReached:
    - cybozu::itoa_local::itobinLocal
    linkageType: ''
    returnType: void
    signature: void itobin(std::string& out, unsigned char x, bool withZero = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa_local::itobinLocal
      Src: /src/mcl/include/cybozu/itoa.hpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - x
    argTypes:
    - std::string
    - unsigned short
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: cybozu::itobin
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 1
    functionsReached:
    - cybozu::itoa_local::itobinLocal
    linkageType: ''
    returnType: void
    signature: void itobin(std::string& out, unsigned short x, bool withZero = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa_local::itobinLocal
      Src: /src/mcl/include/cybozu/itoa.hpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - x
    argTypes:
    - std::string
    - unsigned int
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: cybozu::itobin
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 1
    functionsReached:
    - cybozu::itoa_local::itobinLocal
    linkageType: ''
    returnType: void
    signature: void itobin(std::string& out, unsigned int x, bool withZero = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa_local::itobinLocal
      Src: /src/mcl/include/cybozu/itoa.hpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - x
    argTypes:
    - std::string
    - unsigned long
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: cybozu::itobin
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 1
    functionsReached:
    - cybozu::itoa_local::itobinLocal
    linkageType: ''
    returnType: void
    signature: void itobin(std::string& out, unsigned long x, bool withZero = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa_local::itobinLocal
      Src: /src/mcl/include/cybozu/itoa.hpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - x
    argTypes:
    - std::string
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: cybozu::itobin
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 1
    functionsReached:
    - cybozu::itoa_local::itobinLocal
    linkageType: ''
    returnType: void
    signature: void itobin(std::string& out, unsigned long long x, bool withZero =
      true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itohex
      Src: /src/mcl/include/cybozu/itoa.hpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: cybozu::itohex
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 5
    functionsReached:
    - cybozu::itohex
    linkageType: ''
    returnType: std::string
    signature: std::string itohex(T x, bool upCase = true, bool withZero = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::itoa
      Src: /src/mcl/include/cybozu/itoa.hpp:323,1
    - Dst: std::string::size
      Src: /src/mcl/include/cybozu/itoa.hpp:324,1
    - Dst: std::string::size
      Src: /src/mcl/include/cybozu/itoa.hpp:325,1
    - Dst: std::string::substr
      Src: /src/mcl/include/cybozu/itoa.hpp:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - x
    - len
    argTypes:
    - T
    - size_t
    constantsTouched: []
    func_position:
      end: 333
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 333
    functionName: cybozu::itoaWithZero
    functionSourceFile: /src/mcl/include/cybozu/itoa.hpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::substr
    - cybozu::itoa
    linkageType: ''
    returnType: std::string
    signature: std::string itoaWithZero(T x, size_t len, char c = '0')
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/mcl/include/cybozu/atoi.hpp:31,1
    - Dst: static_cast<unsigned char>
      Src: /src/mcl/include/cybozu/atoi.hpp:38,1
    - Dst: T
      Src: /src/mcl/include/cybozu/atoi.hpp:46,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/atoi.hpp:55,1
    - Dst: cybozu::exception::makeString
      Src: /src/mcl/include/cybozu/atoi.hpp:55,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 34
    argCount: 7
    argNames:
    - b
    - p
    - size
    - (max)
    - min
    - overflow1
    - overflow2
    argTypes:
    - bool*
    - char*
    - size_t
    - char[]
    - T
    - T
    - char
    constantsTouched: []
    func_position:
      end: 57
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 57
    functionName: cybozu::atoi_local::convertToInt
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - memcmp
    - Shim_Exception::Shim_Exception
    - static_cast<unsigned char>
    - T
    - cybozu::exception::makeString
    linkageType: ''
    returnType: T
    signature: T convertToInt(bool *b, const char *p, size_t size, const char (&max)[n],
      T min, T overflow1, char overflow2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/mcl/include/cybozu/atoi.hpp:69,1
    - Dst: T
      Src: /src/mcl/include/cybozu/atoi.hpp:77,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/atoi.hpp:85,1
    - Dst: cybozu::exception::makeString
      Src: /src/mcl/include/cybozu/atoi.hpp:85,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 5
    argNames:
    - b
    - p
    - size
    - overflow1
    - overflow2
    argTypes:
    - bool*
    - char*
    - size_t
    - T
    - char
    constantsTouched: []
    func_position:
      end: 87
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 87
    functionName: cybozu::atoi_local::convertToUint
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - static_cast<unsigned char>
    - cybozu::exception::makeString
    - T
    linkageType: ''
    returnType: T
    signature: T convertToUint(bool *b, const char *p, size_t size, T overflow1, char
      overflow2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/mcl/include/cybozu/atoi.hpp:97,1
    - Dst: T
      Src: /src/mcl/include/cybozu/atoi.hpp:112,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/atoi.hpp:120,1
    - Dst: cybozu::exception::makeString
      Src: /src/mcl/include/cybozu/atoi.hpp:120,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 3
    argNames:
    - b
    - p
    - size
    argTypes:
    - bool*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 122
    functionName: cybozu::atoi_local::convertHexToInt
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - static_cast<unsigned char>
    - cybozu::exception::makeString
    - T
    linkageType: ''
    returnType: T
    signature: T convertHexToInt(bool *b, const char *p, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - b
    - p
    - size
    argTypes:
    - bool*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: cybozu::atoi::set
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(bool *b, const char *p, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::atoi::set
      Src: /src/mcl/include/cybozu/atoi.hpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: cybozu::atoi::atoi
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 2
    functionsReached:
    - cybozu::atoi::set
    linkageType: ''
    returnType: void
    signature: void atoi(const char *p, size_t size = -1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::atoi::set
      Src: /src/mcl/include/cybozu/atoi.hpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - p
    argTypes:
    - bool*
    - char*
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: cybozu::atoi::atoi
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 2
    functionsReached:
    - cybozu::atoi::set
    linkageType: ''
    returnType: void
    signature: void atoi(bool *b, const char *p, size_t size = -1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::atoi::set
      Src: /src/mcl/include/cybozu/atoi.hpp:151,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/atoi.hpp:151,1
    - Dst: size
      Src: /src/mcl/include/cybozu/atoi.hpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: cybozu::atoi::atoi
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 2
    functionsReached:
    - c_str
    - size
    - cybozu::atoi::set
    linkageType: ''
    returnType: void
    signature: void atoi(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::atoi::set
      Src: /src/mcl/include/cybozu/atoi.hpp:155,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/atoi.hpp:155,1
    - Dst: size
      Src: /src/mcl/include/cybozu/atoi.hpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - ' str'
    argTypes:
    - bool*
    - std::string
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: cybozu::atoi::atoi
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 2
    functionsReached:
    - c_str
    - size
    - cybozu::atoi::set
    linkageType: ''
    returnType: void
    signature: void atoi(bool *b, const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi_local::convertToInt<signed char>
      Src: /src/mcl/include/cybozu/atoi.hpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: operator signed char() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - atoi_local::convertToInt<signed char>
    linkageType: ''
    returnType: void
    signature: void operator signed char() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi_local::convertToUint<unsigned char>
      Src: /src/mcl/include/cybozu/atoi.hpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: operator unsigned char() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - atoi_local::convertToUint<unsigned char>
    linkageType: ''
    returnType: void
    signature: void operator unsigned char() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi_local::convertToInt<short>
      Src: /src/mcl/include/cybozu/atoi.hpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: operator short() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - atoi_local::convertToInt<short>
    linkageType: ''
    returnType: void
    signature: void operator short() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi_local::convertToUint<unsigned short>
      Src: /src/mcl/include/cybozu/atoi.hpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: operator unsigned short() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - atoi_local::convertToUint<unsigned short>
    linkageType: ''
    returnType: void
    signature: void operator unsigned short() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi_local::convertToInt<int>
      Src: /src/mcl/include/cybozu/atoi.hpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: operator int() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - atoi_local::convertToInt<int>
    linkageType: ''
    returnType: void
    signature: void operator int() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi_local::convertToUint<unsigned int>
      Src: /src/mcl/include/cybozu/atoi.hpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: operator unsigned int() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - atoi_local::convertToUint<unsigned int>
    linkageType: ''
    returnType: void
    signature: void operator unsigned int() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi_local::convertToInt<long long>
      Src: /src/mcl/include/cybozu/atoi.hpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: operator long long() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - atoi_local::convertToInt<long long>
    linkageType: ''
    returnType: void
    signature: void operator long long() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi_local::convertToUint<unsigned long long>
      Src: /src/mcl/include/cybozu/atoi.hpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: operator unsigned long long() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - atoi_local::convertToUint<unsigned long long>
    linkageType: ''
    returnType: void
    signature: void operator unsigned long long() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<long>
      Src: /src/mcl/include/cybozu/atoi.hpp:190,1
    - Dst: static_cast<long long>
      Src: /src/mcl/include/cybozu/atoi.hpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: operator long() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - static_cast<long>
    - static_cast<long long>
    linkageType: ''
    returnType: void
    signature: void operator long() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned long>
      Src: /src/mcl/include/cybozu/atoi.hpp:191,1
    - Dst: static_cast<unsigned long long>
      Src: /src/mcl/include/cybozu/atoi.hpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: operator unsigned long() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned long>
    - static_cast<unsigned long long>
    linkageType: ''
    returnType: void
    signature: void operator unsigned long() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<long>
      Src: /src/mcl/include/cybozu/atoi.hpp:193,1
    - Dst: static_cast<int>
      Src: /src/mcl/include/cybozu/atoi.hpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: operator long() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - static_cast<long>
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void operator long() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned long>
      Src: /src/mcl/include/cybozu/atoi.hpp:194,1
    - Dst: static_cast<unsigned int>
      Src: /src/mcl/include/cybozu/atoi.hpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: operator unsigned long() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned int>
    - static_cast<unsigned long>
    linkageType: ''
    returnType: void
    signature: void operator unsigned long() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - b
    - p
    - size
    argTypes:
    - bool*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: cybozu::hextoi::set
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(bool *b, const char *p, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::hextoi::set
      Src: /src/mcl/include/cybozu/atoi.hpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: cybozu::hextoi::hextoi
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 2
    functionsReached:
    - cybozu::hextoi::set
    linkageType: ''
    returnType: void
    signature: void hextoi(const char *p, size_t size = -1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::hextoi::set
      Src: /src/mcl/include/cybozu/atoi.hpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - p
    argTypes:
    - bool*
    - char*
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: cybozu::hextoi::hextoi
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 2
    functionsReached:
    - cybozu::hextoi::set
    linkageType: ''
    returnType: void
    signature: void hextoi(bool *b, const char *p, size_t size = -1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::hextoi::set
      Src: /src/mcl/include/cybozu/atoi.hpp:219,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/atoi.hpp:219,1
    - Dst: size
      Src: /src/mcl/include/cybozu/atoi.hpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: cybozu::hextoi::hextoi
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 2
    functionsReached:
    - c_str
    - cybozu::hextoi::set
    - size
    linkageType: ''
    returnType: void
    signature: void hextoi(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::hextoi::set
      Src: /src/mcl/include/cybozu/atoi.hpp:223,1
    - Dst: c_str
      Src: /src/mcl/include/cybozu/atoi.hpp:223,1
    - Dst: size
      Src: /src/mcl/include/cybozu/atoi.hpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - ' str'
    argTypes:
    - bool*
    - std::string
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: cybozu::hextoi::hextoi
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 2
    functionsReached:
    - c_str
    - cybozu::hextoi::set
    - size
    linkageType: ''
    returnType: void
    signature: void hextoi(bool *b, const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi_local::convertHexToInt<unsigned char>
      Src: /src/mcl/include/cybozu/atoi.hpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: operator unsigned char() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - atoi_local::convertHexToInt<unsigned char>
    linkageType: ''
    returnType: void
    signature: void operator unsigned char() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi_local::convertHexToInt<unsigned short>
      Src: /src/mcl/include/cybozu/atoi.hpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: operator unsigned short() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - atoi_local::convertHexToInt<unsigned short>
    linkageType: ''
    returnType: void
    signature: void operator unsigned short() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi_local::convertHexToInt<unsigned int>
      Src: /src/mcl/include/cybozu/atoi.hpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 227
    functionName: operator unsigned int() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - atoi_local::convertHexToInt<unsigned int>
    linkageType: ''
    returnType: void
    signature: void operator unsigned int() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi_local::convertHexToInt<unsigned long>
      Src: /src/mcl/include/cybozu/atoi.hpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 228
    functionName: operator unsigned long() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - atoi_local::convertHexToInt<unsigned long>
    linkageType: ''
    returnType: void
    signature: void operator unsigned long() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi_local::convertHexToInt<unsigned long long>
      Src: /src/mcl/include/cybozu/atoi.hpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: operator unsigned long long() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - atoi_local::convertHexToInt<unsigned long long>
    linkageType: ''
    returnType: void
    signature: void operator unsigned long long() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi_local::convertHexToInt<char>
      Src: /src/mcl/include/cybozu/atoi.hpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: operator char() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - atoi_local::convertHexToInt<char>
    linkageType: ''
    returnType: void
    signature: void operator char() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi_local::convertHexToInt<signed char>
      Src: /src/mcl/include/cybozu/atoi.hpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 231
    functionName: operator signed char() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - atoi_local::convertHexToInt<signed char>
    linkageType: ''
    returnType: void
    signature: void operator signed char() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi_local::convertHexToInt<short>
      Src: /src/mcl/include/cybozu/atoi.hpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: operator short() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - atoi_local::convertHexToInt<short>
    linkageType: ''
    returnType: void
    signature: void operator short() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi_local::convertHexToInt<int>
      Src: /src/mcl/include/cybozu/atoi.hpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: operator int() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - atoi_local::convertHexToInt<int>
    linkageType: ''
    returnType: void
    signature: void operator int() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi_local::convertHexToInt<long>
      Src: /src/mcl/include/cybozu/atoi.hpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: operator long() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - atoi_local::convertHexToInt<long>
    linkageType: ''
    returnType: void
    signature: void operator long() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi_local::convertHexToInt<long long>
      Src: /src/mcl/include/cybozu/atoi.hpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: operator long long() const
    functionSourceFile: /src/mcl/include/cybozu/atoi.hpp
    functionUses: 0
    functionsReached:
    - atoi_local::convertHexToInt<long long>
    linkageType: ''
    returnType: void
    signature: void operator long long() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/include/cybozu/random_generator.hpp:39,1
    - Dst: CryptAcquireContext
      Src: /src/mcl/include/cybozu/random_generator.hpp:40,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/random_generator.hpp:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: cybozu::RandomGenerator::RandomGenerator
    functionSourceFile: /src/mcl/include/cybozu/random_generator.hpp
    functionUses: 3
    functionsReached:
    - Shim_Exception::Shim_Exception
    - CYBOZU_NUM_OF_ARRAY
    - CryptAcquireContext
    linkageType: ''
    returnType: void
    signature: void RandomGenerator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CryptGenRandom
      Src: /src/mcl/include/cybozu/random_generator.hpp:51,1
    - Dst: static_cast<DWORD>
      Src: /src/mcl/include/cybozu/random_generator.hpp:51,1
    - Dst: static_cast<BYTE*>
      Src: /src/mcl/include/cybozu/random_generator.hpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - byteSize
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: cybozu::RandomGenerator::read_inner
    functionSourceFile: /src/mcl/include/cybozu/random_generator.hpp
    functionUses: 0
    functionsReached:
    - static_cast<BYTE*>
    - CryptGenRandom
    - static_cast<DWORD>
    linkageType: ''
    returnType: bool
    signature: bool read_inner(void *buf, size_t byteSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CryptReleaseContext
      Src: /src/mcl/include/cybozu/random_generator.hpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: ~RandomGenerator()
    functionSourceFile: /src/mcl/include/cybozu/random_generator.hpp
    functionUses: 0
    functionsReached:
    - CryptReleaseContext
    linkageType: ''
    returnType: void
    signature: void ~RandomGenerator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::RandomGenerator::read_inner
      Src: /src/mcl/include/cybozu/random_generator.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pb
    - buf
    - bufNum
    argTypes:
    - bool*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: cybozu::RandomGenerator::read
    functionSourceFile: /src/mcl/include/cybozu/random_generator.hpp
    functionUses: 0
    functionsReached:
    - cybozu::RandomGenerator::read_inner
    linkageType: ''
    returnType: void
    signature: void read(bool *pb, T *buf, size_t bufNum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::fopen
      Src: /src/mcl/include/cybozu/random_generator.hpp:73,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/random_generator.hpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: cybozu::RandomGenerator::RandomGenerator
    functionSourceFile: /src/mcl/include/cybozu/random_generator.hpp
    functionUses: 3
    functionsReached:
    - Shim_Exception::Shim_Exception
    - ::fopen
    linkageType: ''
    returnType: void
    signature: void RandomGenerator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::fclose
      Src: /src/mcl/include/cybozu/random_generator.hpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: ~RandomGenerator()
    functionSourceFile: /src/mcl/include/cybozu/random_generator.hpp
    functionUses: 0
    functionsReached:
    - ::fclose
    linkageType: ''
    returnType: void
    signature: void ~RandomGenerator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::fread
      Src: /src/mcl/include/cybozu/random_generator.hpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pb
    - buf
    - bufNum
    argTypes:
    - bool*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: cybozu::RandomGenerator::read
    functionSourceFile: /src/mcl/include/cybozu/random_generator.hpp
    functionUses: 0
    functionsReached:
    - ::fread
    linkageType: ''
    returnType: void
    signature: void read(bool *pb, T *buf, size_t bufNum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::RandomGenerator::read
      Src: /src/mcl/include/cybozu/random_generator.hpp:106,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/random_generator.hpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - bufNum
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: cybozu::RandomGenerator::read
    functionSourceFile: /src/mcl/include/cybozu/random_generator.hpp
    functionUses: 1
    functionsReached:
    - Shim_Exception::Shim_Exception
    - cybozu::RandomGenerator::read
    linkageType: ''
    returnType: void
    signature: void read(T *buf, size_t bufNum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::RandomGenerator::read
      Src: /src/mcl/include/cybozu/random_generator.hpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: cybozu::RandomGenerator::get32
    functionSourceFile: /src/mcl/include/cybozu/random_generator.hpp
    functionUses: 0
    functionsReached:
    - cybozu::RandomGenerator::read
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::RandomGenerator::read
      Src: /src/mcl/include/cybozu/random_generator.hpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: cybozu::RandomGenerator::get64
    functionSourceFile: /src/mcl/include/cybozu/random_generator.hpp
    functionUses: 0
    functionsReached:
    - cybozu::RandomGenerator::read
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get32
      Src: /src/mcl/include/cybozu/random_generator.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: operator()()
    functionSourceFile: /src/mcl/include/cybozu/random_generator.hpp
    functionUses: 0
    functionsReached:
    - get32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t operator()()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/mcl/include/cybozu/random_generator.hpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - v
    - n
    - ' rg'
    argTypes:
    - T*
    - size_t
    - RG
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: cybozu::shuffle
    functionSourceFile: /src/mcl/include/cybozu/random_generator.hpp
    functionUses: 1
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void shuffle(T* v, size_t n, RG& rg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::shuffle
      Src: /src/mcl/include/cybozu/random_generator.hpp:142,1
    - Dst: data
      Src: /src/mcl/include/cybozu/random_generator.hpp:142,1
    - Dst: size
      Src: /src/mcl/include/cybozu/random_generator.hpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' v'
    - ' rg'
    argTypes:
    - V
    - RG
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: cybozu::shuffle
    functionSourceFile: /src/mcl/include/cybozu/random_generator.hpp
    functionUses: 2
    functionsReached:
    - data
    - cybozu::shuffle
    - size
    linkageType: ''
    returnType: void
    signature: void shuffle(V& v, RG& rg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: cybozu::Time::Time
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Time(std::time_t time = 0, int msec = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setCurrentTime
      Src: /src/mcl/include/cybozu/time.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - doSet
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: cybozu::Time::Time
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 0
    functionsReached:
    - setCurrentTime
    linkageType: ''
    returnType: void
    signature: void Time(bool doSet)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - time
    argTypes:
    - std::time_t
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: '& setTime(std::time_t time, int msec = 0)'
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Time
    signature: Time & setTime(std::time_t time, int msec = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - low
    - high
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: cybozu::Time::setByFILETIME
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setByFILETIME(uint32_t low, uint32_t high)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dword
      Src: /src/mcl/include/cybozu/time.hpp:65,1
    - Dst: dword
      Src: /src/mcl/include/cybozu/time.hpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' low'
    - ' high'
    argTypes:
    - dword
    - dword
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: cybozu::Time::getFILETIME
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 0
    functionsReached:
    - dword
    linkageType: ''
    returnType: void
    signature: void getFILETIME(dword& low, dword& high) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Time::fromString
      Src: /src/mcl/include/cybozu/time.hpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: cybozu::Time::Time
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 0
    functionsReached:
    - cybozu::Time::fromString
    linkageType: ''
    returnType: void
    signature: void Time(const std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Time::fromString
      Src: /src/mcl/include/cybozu/time.hpp:74,1
    - Dst: strlen
      Src: /src/mcl/include/cybozu/time.hpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: cybozu::Time::Time
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 0
    functionsReached:
    - strlen
    - cybozu::Time::fromString
    linkageType: ''
    returnType: void
    signature: void Time(const char *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& getTime() const'
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::time_t
    signature: std::time_t & getTime() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: cybozu::Time::getMsec
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getMsec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: cybozu::Time::getTimeSec
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double getTimeSec() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sec
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: cybozu::Time::addSec
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void addSec(int sec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Time
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: operator<(const Time& rhs) const
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const Time& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Time
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: operator==(const Time& rhs) const
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Time& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Time
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: operator!=(const Time& rhs) const
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Time& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Time::fromString
      Src: /src/mcl/include/cybozu/time.hpp:93,1
    - Dst: size
      Src: /src/mcl/include/cybozu/time.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pb
    - ' in'
    argTypes:
    - bool*
    - std::string
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: cybozu::Time::fromString
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 3
    functionsReached:
    - size
    - cybozu::Time::fromString
    linkageType: ''
    returnType: void
    signature: void fromString(bool *pb, const std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Time::fromString
      Src: /src/mcl/include/cybozu/time.hpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: cybozu::Time::fromString
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 4
    functionsReached:
    - cybozu::Time::fromString
    linkageType: ''
    returnType: void
    signature: void fromString(const std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Time::getNum
      Src: /src/mcl/include/cybozu/time.hpp:104,1
    - Dst: cybozu::Time::getMonth
      Src: /src/mcl/include/cybozu/time.hpp:110,1
    - Dst: cybozu::Time::getNum
      Src: /src/mcl/include/cybozu/time.hpp:115,1
    - Dst: cybozu::Time::getNum
      Src: /src/mcl/include/cybozu/time.hpp:121,1
    - Dst: cybozu::Time::getNum
      Src: /src/mcl/include/cybozu/time.hpp:126,1
    - Dst: cybozu::Time::getNum
      Src: /src/mcl/include/cybozu/time.hpp:131,1
    - Dst: cybozu::Time::getNum
      Src: /src/mcl/include/cybozu/time.hpp:141,1
    - Dst: _mkgmtime64
      Src: /src/mcl/include/cybozu/time.hpp:148,1
    - Dst: timegm
      Src: /src/mcl/include/cybozu/time.hpp:151,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/time.hpp:163,1
    - Dst: std::string
      Src: /src/mcl/include/cybozu/time.hpp:163,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 81
    argCount: 3
    argNames:
    - pb
    - begin
    - end
    argTypes:
    - bool*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 164
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 164
    functionName: cybozu::Time::fromString
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 4
    functionsReached:
    - _mkgmtime64
    - Shim_Exception::Shim_Exception
    - std::string
    - cybozu::Time::getMonth
    - timegm
    - cybozu::Time::getNum
    linkageType: ''
    returnType: void
    signature: void fromString(bool *pb, const char *begin, const char *end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Time::fromString
      Src: /src/mcl/include/cybozu/time.hpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: cybozu::Time::fromString
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 5
    functionsReached:
    - cybozu::Time::fromString
    linkageType: ''
    returnType: void
    signature: void fromString(const char *begin, const char *end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/include/cybozu/time.hpp:177,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/time.hpp:185,1
    - Dst: std::strftime
      Src: /src/mcl/include/cybozu/time.hpp:190,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/include/cybozu/time.hpp:191,1
    - Dst: cybozu::itoaWithZero
      Src: /src/mcl/include/cybozu/time.hpp:198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ' out'
    - format
    argTypes:
    - std::string
    - char*
    constantsTouched: []
    func_position:
      end: 200
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 200
    functionName: cybozu::Time::toString
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 0
    functionsReached:
    - clear
    - std::strftime
    - Shim_Exception::Shim_Exception
    - cybozu::itoaWithZero
    linkageType: ''
    returnType: void
    signature: void toString(std::string& out, const char *format, bool appendMsec
      = true, bool doClear = true) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Time::toString
      Src: /src/mcl/include/cybozu/time.hpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: cybozu::Time::toString
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 1
    functionsReached:
    - cybozu::Time::toString
    linkageType: ''
    returnType: void
    signature: void toString(std::string& out, bool appendMsec = true, bool doClear
      = true) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Time::toString
      Src: /src/mcl/include/cybozu/time.hpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: cybozu::Time::toString
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 2
    functionsReached:
    - cybozu::Time::toString
    linkageType: ''
    returnType: std::string
    signature: std::string toString(bool appendMsec = true) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _ftime_s
      Src: /src/mcl/include/cybozu/time.hpp:219,1
    - Dst: gettimeofday
      Src: /src/mcl/include/cybozu/time.hpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 229
    functionName: '& setCurrentTime()'
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 0
    functionsReached:
    - gettimeofday
    - _ftime_s
    linkageType: ''
    returnType: Time
    signature: Time & setCurrentTime()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - b
    - in
    - len
    - min
    - max
    argTypes:
    - bool*
    - char*
    - size_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: cybozu::Time::getNum
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getNum(bool *b, const char *in, size_t len, int min, int max) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/include/cybozu/time.hpp:255,1
    - Dst: memcmp
      Src: /src/mcl/include/cybozu/time.hpp:256,1
    - Dst: cybozu::Time::getNum
      Src: /src/mcl/include/cybozu/time.hpp:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ret
    - p
    argTypes:
    - int*
    - char*
    constantsTouched: []
    func_position:
      end: 268
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 268
    functionName: cybozu::Time::getMonth
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 1
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - cybozu::Time::getNum
    - memcmp
    linkageType: ''
    returnType: char
    signature: char *getMonth(int *ret, const char *p) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/mcl/include/cybozu/time.hpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' time'
    argTypes:
    - std::ostream
    - cybozu::Time
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: '& operator<<(std::ostream& os, const cybozu::Time& time)'
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const cybozu::Time& time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ASN1_Time::ASN1_Time
      Src: /src/mcl/include/cybozu/time.hpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: cybozu::GetCurrentTimeSec
    functionSourceFile: /src/mcl/include/cybozu/time.hpp
    functionUses: 0
    functionsReached:
    - Botan::ASN1_Time::ASN1_Time
    linkageType: ''
    returnType: double
    signature: double GetCurrentTimeSec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _aligned_malloc
      Src: /src/mcl/include/cybozu/array.hpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: cybozu::AlignedMalloc
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached:
    - _aligned_malloc
    linkageType: ''
    returnType: void
    signature: void *AlignedMalloc(size_t size, size_t alignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _aligned_free
      Src: /src/mcl/include/cybozu/array.hpp:35,1
    - Dst: free
      Src: /src/mcl/include/cybozu/array.hpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: cybozu::AlignedFree
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached:
    - free
    - _aligned_free
    linkageType: ''
    returnType: void
    signature: void AlignedFree(void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::T
      Src: /src/mcl/include/cybozu/array.hpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: cybozu::ScopedArray::ScopedArray
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached:
    - T::T
    linkageType: ''
    returnType: void
    signature: void ScopedArray(size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: ~ScopedArray()
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ScopedArray()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '& operator[](size_t idx)'
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator[](size_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '& operator[](size_t idx) const'
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator[](size_t idx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: cybozu::ScopedArray::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: cybozu::ScopedArray::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: cybozu::ScopedArray::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * begin() CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: cybozu::ScopedArray::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * end() CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: cybozu::ScopedArray::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * begin() const CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: cybozu::ScopedArray::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * end() const CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: cybozu::ScopedArray::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * data() CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: cybozu::ScopedArray::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * data() const CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T*>
      Src: /src/mcl/include/cybozu/array.hpp:80,1
    - Dst: AlignedMalloc
      Src: /src/mcl/include/cybozu/array.hpp:80,1
    - Dst: std::bad_alloc
      Src: /src/mcl/include/cybozu/array.hpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: cybozu::AlignedArray::alloc
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached:
    - AlignedMalloc
    - static_cast<T*>
    - std::bad_alloc
    linkageType: ''
    returnType: T
    signature: T *alloc(size_t size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - src
    - n
    argTypes:
    - T*
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: cybozu::AlignedArray::copy
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void copy(T *dst, const T *src, size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: cybozu::AlignedArray::setZero
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setZero(T *p, size_t n) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::AlignedArray::alloc
      Src: /src/mcl/include/cybozu/array.hpp:98,1
    - Dst: cybozu::AlignedArray::copy
      Src: /src/mcl/include/cybozu/array.hpp:99,1
    - Dst: AlignedFree
      Src: /src/mcl/include/cybozu/array.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - allocN
    - p
    - copyN
    argTypes:
    - size_t
    - T*
    - size_t
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: cybozu::AlignedArray::allocCopy
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached:
    - AlignedFree
    - cybozu::AlignedArray::copy
    - cybozu::AlignedArray::alloc
    linkageType: ''
    returnType: void
    signature: void allocCopy(size_t allocN, const T *p, size_t copyN)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::AlignedArray::resize
      Src: /src/mcl/include/cybozu/array.hpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: cybozu::AlignedArray::AlignedArray
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached:
    - cybozu::AlignedArray::resize
    linkageType: ''
    returnType: void
    signature: void AlignedArray(size_t size = 0, bool doClear = defaultDoClear)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - AlignedArray
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: cybozu::AlignedArray::AlignedArray
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlignedArray(const AlignedArray& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: allocCopy
      Src: /src/mcl/include/cybozu/array.hpp:125,1
    - Dst: copy
      Src: /src/mcl/include/cybozu/array.hpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - AlignedArray
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: '& operator=(const AlignedArray& rhs)'
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached:
    - copy
    - allocCopy
    linkageType: ''
    returnType: AlignedArray
    signature: AlignedArray & operator=(const AlignedArray& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - AlignedArray
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: cybozu::AlignedArray::AlignedArray
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlignedArray(AlignedArray&& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/mcl/include/cybozu/array.hpp:144,1
    - Dst: clear
      Src: /src/mcl/include/cybozu/array.hpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - AlignedArray
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: '& operator=(AlignedArray&& rhs)'
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached:
    - clear
    - swap
    linkageType: ''
    returnType: AlignedArray
    signature: AlignedArray & operator=(AlignedArray&& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::AlignedArray::allocCopy
      Src: /src/mcl/include/cybozu/array.hpp:162,1
    - Dst: cybozu::AlignedArray::setZero
      Src: /src/mcl/include/cybozu/array.hpp:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 166
    functionName: cybozu::AlignedArray::resize
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 1
    functionsReached:
    - cybozu::AlignedArray::setZero
    - cybozu::AlignedArray::allocCopy
    linkageType: ''
    returnType: void
    signature: void resize(size_t size, bool doClear = defaultDoClear)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: cybozu::AlignedArray::clear
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::AlignedFree
      Src: /src/mcl/include/cybozu/array.hpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: ~AlignedArray()
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached:
    - cybozu::AlignedFree
    linkageType: ''
    returnType: void
    signature: void ~AlignedArray()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/mcl/include/cybozu/array.hpp:177,1
    - Dst: std::swap
      Src: /src/mcl/include/cybozu/array.hpp:178,1
    - Dst: std::swap
      Src: /src/mcl/include/cybozu/array.hpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - AlignedArray
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: cybozu::AlignedArray::swap
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: void swap(AlignedArray& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: '& operator[](size_t idx)'
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator[](size_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: '& operator[](size_t idx) const'
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator[](size_t idx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: cybozu::AlignedArray::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: cybozu::AlignedArray::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: cybozu::AlignedArray::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * begin() CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: cybozu::AlignedArray::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * end() CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: cybozu::AlignedArray::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * begin() const CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: cybozu::AlignedArray::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * end() const CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: cybozu::AlignedArray::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * data() CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: cybozu::AlignedArray::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * data() const CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: cybozu::AlignedArray::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * cbegin() const CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: cybozu::AlignedArray::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/array.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * cend() const CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchangeAdd
      Src: /src/mcl/include/cybozu/atomic.hpp:37,1
    - Dst: static_cast<T>
      Src: /src/mcl/include/cybozu/atomic.hpp:39,1
    - Dst: __sync_fetch_and_add
      Src: /src/mcl/include/cybozu/atomic.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - y
    argTypes:
    - T*
    - T
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: cybozu::atomic_local::AtomicAddSub
    functionSourceFile: /src/mcl/include/cybozu/atomic.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - _InterlockedExchangeAdd
    - __sync_fetch_and_add
    linkageType: ''
    returnType: T
    signature: T AtomicAddSub(T *p, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedCompareExchange
      Src: /src/mcl/include/cybozu/atomic.hpp:47,1
    - Dst: static_cast<T>
      Src: /src/mcl/include/cybozu/atomic.hpp:49,1
    - Dst: __sync_val_compare_and_swap
      Src: /src/mcl/include/cybozu/atomic.hpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - newValue
    - oldValue
    argTypes:
    - T*
    - T
    - T
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: cybozu::atomic_local::AtomicCompareExchangeSub
    functionSourceFile: /src/mcl/include/cybozu/atomic.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - __sync_val_compare_and_swap
    - _InterlockedCompareExchange
    linkageType: ''
    returnType: T
    signature: T AtomicCompareExchangeSub(T *p, T newValue, T oldValue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchange
      Src: /src/mcl/include/cybozu/atomic.hpp:57,1
    - Dst: static_cast<T>
      Src: /src/mcl/include/cybozu/atomic.hpp:59,1
    - Dst: __sync_lock_test_and_set
      Src: /src/mcl/include/cybozu/atomic.hpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - newValue
    argTypes:
    - T*
    - T
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: cybozu::atomic_local::AtomicExchangeSub
    functionSourceFile: /src/mcl/include/cybozu/atomic.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - __sync_lock_test_and_set
    - _InterlockedExchange
    linkageType: ''
    returnType: T
    signature: T AtomicExchangeSub(T *p, T newValue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchangeAdd64
      Src: /src/mcl/include/cybozu/atomic.hpp:71,1
    - Dst: static_cast<T>
      Src: /src/mcl/include/cybozu/atomic.hpp:73,1
    - Dst: __sync_fetch_and_add
      Src: /src/mcl/include/cybozu/atomic.hpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - y
    argTypes:
    - T*
    - T
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: cybozu::atomic_local::AtomicAddSub
    functionSourceFile: /src/mcl/include/cybozu/atomic.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - __sync_fetch_and_add
    - _InterlockedExchangeAdd64
    linkageType: ''
    returnType: T
    signature: T AtomicAddSub(T *p, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedCompareExchange64
      Src: /src/mcl/include/cybozu/atomic.hpp:82,1
    - Dst: static_cast<T>
      Src: /src/mcl/include/cybozu/atomic.hpp:84,1
    - Dst: __sync_val_compare_and_swap
      Src: /src/mcl/include/cybozu/atomic.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - newValue
    - oldValue
    argTypes:
    - T*
    - T
    - T
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: cybozu::atomic_local::AtomicCompareExchangeSub
    functionSourceFile: /src/mcl/include/cybozu/atomic.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - __sync_val_compare_and_swap
    - _InterlockedCompareExchange64
    linkageType: ''
    returnType: T
    signature: T AtomicCompareExchangeSub(T *p, T newValue, T oldValue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchange64
      Src: /src/mcl/include/cybozu/atomic.hpp:93,1
    - Dst: static_cast<T>
      Src: /src/mcl/include/cybozu/atomic.hpp:95,1
    - Dst: __sync_lock_test_and_set
      Src: /src/mcl/include/cybozu/atomic.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - newValue
    argTypes:
    - T*
    - T
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: cybozu::atomic_local::AtomicExchangeSub
    functionSourceFile: /src/mcl/include/cybozu/atomic.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - __sync_lock_test_and_set
    - _InterlockedExchange64
    linkageType: ''
    returnType: T
    signature: T AtomicExchangeSub(T *p, T newValue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::atomic_local::AtomicAddSub
      Src: /src/mcl/include/cybozu/atomic.hpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - y
    argTypes:
    - T*
    - T
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: cybozu::AtomicAdd
    functionSourceFile: /src/mcl/include/cybozu/atomic.hpp
    functionUses: 0
    functionsReached:
    - cybozu::atomic_local::AtomicAddSub
    linkageType: ''
    returnType: T
    signature: T AtomicAdd(T *p, T y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::atomic_local::AtomicCompareExchangeSub
      Src: /src/mcl/include/cybozu/atomic.hpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - newValue
    - oldValue
    argTypes:
    - T*
    - T
    - T
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: cybozu::AtomicCompareExchange
    functionSourceFile: /src/mcl/include/cybozu/atomic.hpp
    functionUses: 0
    functionsReached:
    - cybozu::atomic_local::AtomicCompareExchangeSub
    linkageType: ''
    returnType: T
    signature: T AtomicCompareExchange(T *p, T newValue, T oldValue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::atomic_local::AtomicExchangeSub
      Src: /src/mcl/include/cybozu/atomic.hpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - newValue
    argTypes:
    - T*
    - T
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: cybozu::AtomicExchange
    functionSourceFile: /src/mcl/include/cybozu/atomic.hpp
    functionUses: 3
    functionsReached:
    - cybozu::atomic_local::AtomicExchangeSub
    linkageType: ''
    returnType: T
    signature: T AtomicExchange(T *p, T newValue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MemoryBarrier
      Src: /src/mcl/include/cybozu/atomic.hpp:144,1
    - Dst: __dsb
      Src: /src/mcl/include/cybozu/atomic.hpp:146,1
    - Dst: _mm_mfence
      Src: /src/mcl/include/cybozu/atomic.hpp:148,1
    - Dst: __sync_synchronize
      Src: /src/mcl/include/cybozu/atomic.hpp:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: cybozu::mfence
    functionSourceFile: /src/mcl/include/cybozu/atomic.hpp
    functionUses: 0
    functionsReached:
    - __sync_synchronize
    - MemoryBarrier
    - _mm_mfence
    - __dsb
    linkageType: ''
    returnType: void
    signature: void mfence()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: cybozu::exception::makeString
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *makeString(const char *, size_t)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: cybozu::Exception::Exception
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Exception(const char* = 0, bool = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~Exception()
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Exception()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: cybozu::Exception::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *what() const CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: '& operator<<(const T&)'
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Exception
    signature: Exception & operator<<(const T&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/mcl/include/cybozu/exception.hpp:66,1
    - Dst: std::min<size_t>
      Src: /src/mcl/include/cybozu/exception.hpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - size
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: cybozu::exception::makeString
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 3
    functionsReached:
    - std::min<size_t>
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string makeString(const char *str, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/mcl/include/cybozu/exception.hpp:73,1
    - Dst: CYBOZU_SNPRINTF
      Src: /src/mcl/include/cybozu/exception.hpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' wstr'
    argTypes:
    - std::wstring
    constantsTouched: []
    func_position:
      end: 84
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 84
    functionName: cybozu::exception::wstr2str
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 1
    functionsReached:
    - CYBOZU_SNPRINTF
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string wstr2str(const std::wstring& wstr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strerror_s
      Src: /src/mcl/include/cybozu/exception.hpp:99,1
    - Dst: ::strerror_r
      Src: /src/mcl/include/cybozu/exception.hpp:105,1
    - Dst: strerror_r
      Src: /src/mcl/include/cybozu/exception.hpp:107,1
    - Dst: CYBOZU_SNPRINTF
      Src: /src/mcl/include/cybozu/exception.hpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 117
    functionName: cybozu::ConvertErrorNoToString
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 0
    functionsReached:
    - CYBOZU_SNPRINTF
    - ::strerror_r
    - strerror_s
    - strerror_r
    linkageType: ''
    returnType: std::string
    signature: std::string ConvertErrorNoToString(int err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::StackTrace
      Src: /src/mcl/include/cybozu/exception.hpp:129,1
    - Dst: cybozu::disable_warning_unused_variable
      Src: /src/mcl/include/cybozu/exception.hpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: cybozu::Exception::Exception
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 0
    functionsReached:
    - cybozu::disable_warning_unused_variable
    - cybozu::StackTrace
    linkageType: ''
    returnType: void
    signature: void Exception(const std::string& name = "", bool enableStackTrace
      = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: ~Exception()
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Exception()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/mcl/include/cybozu/exception.hpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: cybozu::Exception::CYBOZU_NOEXCEPT
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: char
    signature: char *what() const CYBOZU_NOEXCEPT
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/mcl/include/cybozu/exception.hpp:140,1
    - Dst: clear
      Src: /src/mcl/include/cybozu/exception.hpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: '& toString() const'
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 0
    functionsReached:
    - clear
    - empty
    linkageType: ''
    returnType: std::string
    signature: std::string & toString() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: '& operator<<(const char *s)'
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Exception
    signature: Exception & operator<<(const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/mcl/include/cybozu/exception.hpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: '& operator<<(const std::string& s)'
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: Exception
    signature: Exception & operator<<(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::exception::wstr2str
      Src: /src/mcl/include/cybozu/exception.hpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::wstring
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: '& operator<<(const std::wstring& s)'
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 0
    functionsReached:
    - cybozu::exception::wstr2str
    linkageType: ''
    returnType: Exception
    signature: Exception & operator<<(const std::wstring& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/mcl/include/cybozu/exception.hpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: '& operator<<(const T& x)'
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: Exception
    signature: Exception & operator<<(const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - err
    argTypes:
    - NativeErrorNo
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: cybozu::ErrorNo::ErrorNo
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ErrorNo(NativeErrorNo err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::ErrorNo::getLatestNativeErrorNo
      Src: /src/mcl/include/cybozu/exception.hpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: cybozu::ErrorNo::ErrorNo
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 0
    functionsReached:
    - cybozu::ErrorNo::getLatestNativeErrorNo
    linkageType: ''
    returnType: void
    signature: void ErrorNo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::GetLastError
      Src: /src/mcl/include/cybozu/exception.hpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: cybozu::ErrorNo::getLatestNativeErrorNo
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 1
    functionsReached:
    - ::GetLastError
    linkageType: ''
    returnType: NativeErrorNo
    signature: NativeErrorNo getLatestNativeErrorNo() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/mcl/include/cybozu/exception.hpp:230,1
    - Dst: CYBOZU_SNPRINTF
      Src: /src/mcl/include/cybozu/exception.hpp:236,1
    - Dst: ConvertErrorNoToString
      Src: /src/mcl/include/cybozu/exception.hpp:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 242
    functionName: cybozu::ErrorNo::toString
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 0
    functionsReached:
    - std::string::resize
    - CYBOZU_SNPRINTF
    - ConvertErrorNoToString
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/mcl/include/cybozu/exception.hpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' self'
    argTypes:
    - std::ostream
    - cybozu::ErrorNo
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: '& operator<<(std::ostream& os, const cybozu::ErrorNo& self)'
    functionSourceFile: /src/mcl/include/cybozu/exception.hpp
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const cybozu::ErrorNo&
      self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanForward
      Src: /src/mcl/include/cybozu/bit_operation.hpp:28,1
    - Dst: __builtin_ctz
      Src: /src/mcl/include/cybozu/bit_operation.hpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: cybozu::bit_op_local::bsf
    functionSourceFile: /src/mcl/include/cybozu/bit_operation.hpp
    functionUses: 0
    functionsReached:
    - __builtin_ctz
    - _BitScanForward
    linkageType: ''
    returnType: int
    signature: int bsf(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanReverse
      Src: /src/mcl/include/cybozu/bit_operation.hpp:40,1
    - Dst: __builtin_clz
      Src: /src/mcl/include/cybozu/bit_operation.hpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: cybozu::bit_op_local::bsr
    functionSourceFile: /src/mcl/include/cybozu/bit_operation.hpp
    functionUses: 0
    functionsReached:
    - __builtin_clz
    - _BitScanReverse
    linkageType: ''
    returnType: int
    signature: int bsr(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanForward64
      Src: /src/mcl/include/cybozu/bit_operation.hpp:57,1
    - Dst: __builtin_ctzll
      Src: /src/mcl/include/cybozu/bit_operation.hpp:61,1
    - Dst: cybozu::bit_op_local::bsf
      Src: /src/mcl/include/cybozu/bit_operation.hpp:64,1
    - Dst: cybozu::bit_op_local::bsf
      Src: /src/mcl/include/cybozu/bit_operation.hpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 68
    functionName: cybozu::bit_op_local::bsf
    functionSourceFile: /src/mcl/include/cybozu/bit_operation.hpp
    functionUses: 1
    functionsReached:
    - _BitScanForward64
    - cybozu::bit_op_local::bsf
    - __builtin_ctzll
    linkageType: ''
    returnType: int
    signature: int bsf(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanReverse64
      Src: /src/mcl/include/cybozu/bit_operation.hpp:74,1
    - Dst: __builtin_clzll
      Src: /src/mcl/include/cybozu/bit_operation.hpp:78,1
    - Dst: cybozu::bit_op_local::bsr
      Src: /src/mcl/include/cybozu/bit_operation.hpp:81,1
    - Dst: cybozu::bit_op_local::bsr
      Src: /src/mcl/include/cybozu/bit_operation.hpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: cybozu::bit_op_local::bsr
    functionSourceFile: /src/mcl/include/cybozu/bit_operation.hpp
    functionUses: 1
    functionsReached:
    - cybozu::bit_op_local::bsr
    - _BitScanReverse64
    - __builtin_clzll
    linkageType: ''
    returnType: int
    signature: int bsr(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::bsf
      Src: /src/mcl/include/cybozu/bit_operation.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: cybozu::bsf
    functionSourceFile: /src/mcl/include/cybozu/bit_operation.hpp
    functionUses: 2
    functionsReached:
    - cybozu::bsf
    linkageType: ''
    returnType: int
    signature: int bsf(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::bsr
      Src: /src/mcl/include/cybozu/bit_operation.hpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: cybozu::bsr
    functionSourceFile: /src/mcl/include/cybozu/bit_operation.hpp
    functionUses: 5
    functionsReached:
    - cybozu::bsr
    linkageType: ''
    returnType: int
    signature: int bsr(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mcl/include/cybozu/bit_operation.hpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: cybozu::makeBitMask64
    functionSourceFile: /src/mcl/include/cybozu/bit_operation.hpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t makeBitMask64(T x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/mcl/include/cybozu/bit_operation.hpp:115,1
    - Dst: _CountOneBits
      Src: /src/mcl/include/cybozu/bit_operation.hpp:115,1
    - Dst: static_cast<uint32_t>
      Src: /src/mcl/include/cybozu/bit_operation.hpp:117,1
    - Dst: _mm_popcnt_u32
      Src: /src/mcl/include/cybozu/bit_operation.hpp:117,1
    - Dst: static_cast<uint32_t>
      Src: /src/mcl/include/cybozu/bit_operation.hpp:119,1
    - Dst: __builtin_popcount
      Src: /src/mcl/include/cybozu/bit_operation.hpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: cybozu::popcnt
    functionSourceFile: /src/mcl/include/cybozu/bit_operation.hpp
    functionUses: 0
    functionsReached:
    - _mm_popcnt_u32
    - static_cast<uint32_t>
    - _CountOneBits
    - __builtin_popcount
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t popcnt<uint32_t>(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/mcl/include/cybozu/bit_operation.hpp:127,1
    - Dst: _CountOneBits64
      Src: /src/mcl/include/cybozu/bit_operation.hpp:127,1
    - Dst: static_cast<uint32_t>
      Src: /src/mcl/include/cybozu/bit_operation.hpp:129,1
    - Dst: __builtin_popcountll
      Src: /src/mcl/include/cybozu/bit_operation.hpp:129,1
    - Dst: static_cast<uint32_t>
      Src: /src/mcl/include/cybozu/bit_operation.hpp:131,1
    - Dst: _mm_popcnt_u64
      Src: /src/mcl/include/cybozu/bit_operation.hpp:131,1
    - Dst: cybozu::popcnt
      Src: /src/mcl/include/cybozu/bit_operation.hpp:133,1
    - Dst: static_cast<uint32_t>
      Src: /src/mcl/include/cybozu/bit_operation.hpp:133,1
    - Dst: cybozu::popcnt
      Src: /src/mcl/include/cybozu/bit_operation.hpp:133,1
    - Dst: static_cast<uint32_t>
      Src: /src/mcl/include/cybozu/bit_operation.hpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: cybozu::popcnt
    functionSourceFile: /src/mcl/include/cybozu/bit_operation.hpp
    functionUses: 1
    functionsReached:
    - __builtin_popcountll
    - _mm_popcnt_u64
    - static_cast<uint32_t>
    - _CountOneBits64
    - cybozu::popcnt
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t popcnt<uint64_t>(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::CpuClock::CpuClock
      Src: /src/mcl/misc/gather_test.cpp:12,1
    - Dst: cybozu::CpuClock::begin
      Src: /src/mcl/misc/gather_test.cpp:13,1
    - Dst: vzero
      Src: /src/mcl/misc/gather_test.cpp:14,1
    - Dst: get32
      Src: /src/mcl/misc/gather_test.cpp:21,1
    - Dst: memcpy
      Src: /src/mcl/misc/gather_test.cpp:24,1
    - Dst: vpaddq
      Src: /src/mcl/misc/gather_test.cpp:25,1
    - Dst: vpgatherqq
      Src: /src/mcl/misc/gather_test.cpp:25,1
    - Dst: vpscatterqq
      Src: /src/mcl/misc/gather_test.cpp:27,1
    - Dst: cybozu::CpuClock::end
      Src: /src/mcl/misc/gather_test.cpp:30,1
    - Dst: memcpy
      Src: /src/mcl/misc/gather_test.cpp:32,1
    - Dst: snprintf
      Src: /src/mcl/misc/gather_test.cpp:38,1
    - Dst: snprintf
      Src: /src/mcl/misc/gather_test.cpp:41,1
    - Dst: printf
      Src: /src/mcl/misc/gather_test.cpp:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 6
    argNames:
    - ' bench'
    - base
    - bit
    - c
    - ' rg'
    - mode
    argTypes:
    - Mem2Clk
    - uint64_t*
    - size_t
    - size_t
    - cybozu::XorShift
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 45
    functionName: gatherBench
    functionSourceFile: /src/mcl/misc/gather_test.cpp
    functionUses: 0
    functionsReached:
    - printf
    - vpscatterqq
    - get32
    - cybozu::CpuClock::begin
    - vzero
    - cybozu::CpuClock::CpuClock
    - vpgatherqq
    - memcpy
    - cybozu::CpuClock::end
    - vpaddq
    - snprintf
    linkageType: ''
    returnType: void
    signature: void gatherBench(Mem2Clk& bench, uint64_t *base, size_t bit, size_t
      c, cybozu::XorShift& rg, int mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/misc/gather_test.cpp:50,1
    - Dst: begin
      Src: /src/mcl/misc/gather_test.cpp:51,1
    - Dst: end
      Src: /src/mcl/misc/gather_test.cpp:51,1
    - Dst: printf
      Src: /src/mcl/misc/gather_test.cpp:52,1
    - Dst: printf
      Src: /src/mcl/misc/gather_test.cpp:54,1
    - Dst: printf
      Src: /src/mcl/misc/gather_test.cpp:55,1
    - Dst: begin
      Src: /src/mcl/misc/gather_test.cpp:56,1
    - Dst: end
      Src: /src/mcl/misc/gather_test.cpp:56,1
    - Dst: printf
      Src: /src/mcl/misc/gather_test.cpp:57,1
    - Dst: printf
      Src: /src/mcl/misc/gather_test.cpp:59,1
    - Dst: printf
      Src: /src/mcl/misc/gather_test.cpp:62,1
    - Dst: begin
      Src: /src/mcl/misc/gather_test.cpp:63,1
    - Dst: end
      Src: /src/mcl/misc/gather_test.cpp:63,1
    - Dst: printf
      Src: /src/mcl/misc/gather_test.cpp:64,1
    - Dst: printf
      Src: /src/mcl/misc/gather_test.cpp:66,1
    - Dst: printf
      Src: /src/mcl/misc/gather_test.cpp:67,1
    - Dst: begin
      Src: /src/mcl/misc/gather_test.cpp:68,1
    - Dst: end
      Src: /src/mcl/misc/gather_test.cpp:68,1
    - Dst: printf
      Src: /src/mcl/misc/gather_test.cpp:69,1
    - Dst: printf
      Src: /src/mcl/misc/gather_test.cpp:71,1
    - Dst: printf
      Src: /src/mcl/misc/gather_test.cpp:72,1
    - Dst: begin
      Src: /src/mcl/misc/gather_test.cpp:73,1
    - Dst: end
      Src: /src/mcl/misc/gather_test.cpp:73,1
    - Dst: printf
      Src: /src/mcl/misc/gather_test.cpp:74,1
    - Dst: printf
      Src: /src/mcl/misc/gather_test.cpp:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - ' bench'
    - csv
    argTypes:
    - Mem2Clk
    - bool
    constantsTouched: []
    func_position:
      end: 78
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 78
    functionName: printTable
    functionSourceFile: /src/mcl/misc/gather_test.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - printf
    linkageType: ''
    returnType: void
    signature: void printTable(const Mem2Clk& bench, bool csv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/misc/gather_test.cpp:85,1
    - Dst: cybozu::XorShift::get32
      Src: /src/mcl/misc/gather_test.cpp:87,1
    - Dst: printf
      Src: /src/mcl/misc/gather_test.cpp:90,1
    - Dst: gatherBench
      Src: /src/mcl/misc/gather_test.cpp:93,1
    - Dst: std::vector::data
      Src: /src/mcl/misc/gather_test.cpp:93,1
    - Dst: printTable
      Src: /src/mcl/misc/gather_test.cpp:95,1
    - Dst: printTable
      Src: /src/mcl/misc/gather_test.cpp:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 98
    functionName: main
    functionSourceFile: /src/mcl/misc/gather_test.cpp
    functionUses: 97
    functionsReached:
    - cybozu::XorShift::get32
    - printTable
    - printf
    - gatherBench
    - cybozu::XorShift::XorShift
    - std::vector::data
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/misc/mulvec_test.cpp:6,1
    - Dst: mcl::ec::glvCost
      Src: /src/mcl/misc/mulvec_test.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - x
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 7
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 7
    functionName: put
    functionSourceFile: /src/mcl/misc/mulvec_test.cpp
    functionUses: 219
    functionsReached:
    - mcl::ec::glvCost
    - printf
    linkageType: ''
    returnType: void
    signature: void put(size_t n, size_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 21
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 21
    functionName: getmin
    functionSourceFile: /src/mcl/misc/mulvec_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getmin(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/misc/mulvec_test.cpp:27,1
    - Dst: put
      Src: /src/mcl/misc/mulvec_test.cpp:28,1
    - Dst: put
      Src: /src/mcl/misc/mulvec_test.cpp:29,1
    - Dst: printf
      Src: /src/mcl/misc/mulvec_test.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: disp
    functionSourceFile: /src/mcl/misc/mulvec_test.cpp
    functionUses: 0
    functionsReached:
    - put
    - printf
    linkageType: ''
    returnType: void
    signature: void disp(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::bsr
      Src: /src/mcl/misc/mulvec_test.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: ilog2
    functionSourceFile: /src/mcl/misc/mulvec_test.cpp
    functionUses: 1
    functionsReached:
    - cybozu::bsr
    linkageType: ''
    returnType: size_t
    signature: size_t ilog2(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - x
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: glvCost
    functionSourceFile: /src/mcl/misc/mulvec_test.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t glvCost(size_t n, size_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ilog2
      Src: /src/mcl/misc/mulvec_test.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: estimateBucketSize
    functionSourceFile: /src/mcl/misc/mulvec_test.cpp
    functionUses: 0
    functionsReached:
    - ilog2
    linkageType: ''
    returnType: size_t
    signature: size_t estimateBucketSize(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: glvGetBucketSize
    functionSourceFile: /src/mcl/misc/mulvec_test.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t glvGetBucketSize(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: disp
      Src: /src/mcl/misc/mulvec_test.cpp:71,1
    - Dst: disp
      Src: /src/mcl/misc/mulvec_test.cpp:75,1
    - Dst: disp
      Src: /src/mcl/misc/mulvec_test.cpp:76,1
    - Dst: disp
      Src: /src/mcl/misc/mulvec_test.cpp:77,1
    - Dst: printf
      Src: /src/mcl/misc/mulvec_test.cpp:82,1
    - Dst: getmin
      Src: /src/mcl/misc/mulvec_test.cpp:82,1
    - Dst: puts
      Src: /src/mcl/misc/mulvec_test.cpp:84,1
    - Dst: printf
      Src: /src/mcl/misc/mulvec_test.cpp:89,1
    - Dst: printf
      Src: /src/mcl/misc/mulvec_test.cpp:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/mcl/misc/mulvec_test.cpp
    functionUses: 97
    functionsReached:
    - getmin
    - puts
    - printf
    - disp
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/misc/mul.cpp:18,1
    - Dst: printf
      Src: /src/mcl/misc/mul.cpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - x
    - N
    argTypes:
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: dump
    functionSourceFile: /src/mcl/misc/mul.cpp
    functionUses: 12
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void dump(const Unit *x, size_t N)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/misc/mul.cpp:25,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/misc/mul.cpp:40,1
    - Dst: printf
      Src: /src/mcl/misc/mul.cpp:42,1
    - Dst: ModeToStr
      Src: /src/mcl/misc/mul.cpp:42,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/misc/mul.cpp:43,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/misc/mul.cpp:45,1
    - Dst: printf
      Src: /src/mcl/misc/mul.cpp:46,1
    - Dst: mcl::FpT::getBitSize
      Src: /src/mcl/misc/mul.cpp:46,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/misc/mul.cpp:47,1
    - Dst: cybozu::XorShift::read
      Src: /src/mcl/misc/mul.cpp:49,1
    - Dst: cybozu::XorShift::read
      Src: /src/mcl/misc/mul.cpp:50,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/misc/mul.cpp:51,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/misc/mul.cpp:52,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/misc/mul.cpp:53,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/misc/mul.cpp:54,1
    - Dst: CYBOZU_BENCH
      Src: /src/mcl/misc/mul.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 58
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/misc/mul.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - printf
    - ModeToStr
    - mcl::FpT::getBitSize
    - CYBOZU_BENCH
    - Botan_Tests::test_x509_uninit
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - cybozu::XorShift::XorShift
    - cybozu::XorShift::read
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(mulPre)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/misc/low_test.cpp:6,1
    - Dst: printf
      Src: /src/mcl/misc/low_test.cpp:8,1
    - Dst: printf
      Src: /src/mcl/misc/low_test.cpp:10,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - x
    - n
    argTypes:
    - char*
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: dump
    functionSourceFile: /src/mcl/misc/low_test.cpp
    functionUses: 12
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void dump(const char *msg, const uint32_t *x, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get32
      Src: /src/mcl/misc/low_test.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - x
    - n
    - ' rg'
    argTypes:
    - uint32_t*
    - size_t
    - RG
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: setRand
    functionSourceFile: /src/mcl/misc/low_test.cpp
    functionUses: 61
    functionsReached:
    - get32
    linkageType: ''
    returnType: void
    signature: void setRand(uint32_t *x, size_t n, RG& rg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::Vint
      Src: /src/mcl/misc/low_test.cpp:36,1
    - Dst: mcl::Vint::setStr
      Src: /src/mcl/misc/low_test.cpp:37,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/misc/low_test.cpp:40,1
    - Dst: mcl::Vint::getArray
      Src: /src/mcl/misc/low_test.cpp:46,1
    - Dst: setRand
      Src: /src/mcl/misc/low_test.cpp:50,1
    - Dst: setRand
      Src: /src/mcl/misc/low_test.cpp:51,1
    - Dst: mcl::Vint::Vint
      Src: /src/mcl/misc/low_test.cpp:55,1
    - Dst: mcl::Vint::setArray
      Src: /src/mcl/misc/low_test.cpp:56,1
    - Dst: setArray
      Src: /src/mcl/misc/low_test.cpp:57,1
    - Dst: Montgomery::mul
      Src: /src/mcl/misc/low_test.cpp:58,1
    - Dst: mcl::fp::mulMontT<N>
      Src: /src/mcl/misc/low_test.cpp:59,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/misc/low_test.cpp:60,1
    - Dst: getUnit
      Src: /src/mcl/misc/low_test.cpp:60,1
    - Dst: Montgomery::mul
      Src: /src/mcl/misc/low_test.cpp:62,1
    - Dst: mcl::fp::sqrMontT<N>
      Src: /src/mcl/misc/low_test.cpp:63,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/misc/low_test.cpp:64,1
    - Dst: getUnit
      Src: /src/mcl/misc/low_test.cpp:64,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/low_test.cpp:66,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/low_test.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - pStr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 68
    functionName: mulMontTest
    functionSourceFile: /src/mcl/misc/low_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - mcl::Vint::setArray
    - setArray
    - setRand
    - Montgomery::mul
    - getUnit
    - mcl::fp::mulMontT<N>
    - mcl::fp::sqrMontT<N>
    - mcl::Vint::Vint
    - mcl::Vint::getArray
    - mcl::Vint::setStr
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void mulMontTest(const char *pStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::Vint::Vint
      Src: /src/mcl/misc/low_test.cpp:73,1
    - Dst: mcl::Vint::setStr
      Src: /src/mcl/misc/low_test.cpp:74,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/misc/low_test.cpp:77,1
    - Dst: mcl::Vint::getArray
      Src: /src/mcl/misc/low_test.cpp:82,1
    - Dst: setRand
      Src: /src/mcl/misc/low_test.cpp:86,1
    - Dst: mcl::Vint::Vint
      Src: /src/mcl/misc/low_test.cpp:89,1
    - Dst: mcl::Vint::setArray
      Src: /src/mcl/misc/low_test.cpp:90,1
    - Dst: Montgomery::mod
      Src: /src/mcl/misc/low_test.cpp:91,1
    - Dst: mcl::fp::modRedT<N>
      Src: /src/mcl/misc/low_test.cpp:92,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/misc/low_test.cpp:93,1
    - Dst: getUnit
      Src: /src/mcl/misc/low_test.cpp:93,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/low_test.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pStr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 96
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 96
    functionName: modTest
    functionSourceFile: /src/mcl/misc/low_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_TEST_EQUAL_ARRAY
    - mcl::Vint::setArray
    - setRand
    - Montgomery::mod
    - getUnit
    - mcl::fp::modRedT<N>
    - mcl::Vint::Vint
    - mcl::Vint::getArray
    - mcl::Vint::setStr
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void modTest(const char *pStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/mcl/misc/low_test.cpp:101,1
    - Dst: mulMontTest
      Src: /src/mcl/misc/low_test.cpp:102,1
    - Dst: modTest
      Src: /src/mcl/misc/low_test.cpp:103,1
    - Dst: puts
      Src: /src/mcl/misc/low_test.cpp:106,1
    - Dst: mulMontTest
      Src: /src/mcl/misc/low_test.cpp:107,1
    - Dst: modTest
      Src: /src/mcl/misc/low_test.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/misc/low_test.cpp
    functionUses: 0
    functionsReached:
    - puts
    - mulMontTest
    - modTest
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(mont)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: get_fp_addA
    functionSourceFile: /src/mcl/misc/gen_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bint::void_pppp
    signature: bint::void_pppp get_fp_addA(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: get_fp_addNFA
    functionSourceFile: /src/mcl/misc/gen_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bint::void_pppp
    signature: bint::void_pppp get_fp_addNFA(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: get_fp_subA
    functionSourceFile: /src/mcl/misc/gen_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bint::void_pppp
    signature: bint::void_pppp get_fp_subA(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: get_mulPreLowA
    functionSourceFile: /src/mcl/misc/gen_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bint::void_ppp
    signature: bint::void_ppp get_mulPreLowA(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: get_montRedA
    functionSourceFile: /src/mcl/misc/gen_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bint::void_ppp
    signature: bint::void_ppp get_montRedA(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get64
      Src: /src/mcl/misc/gen_test.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - x
    - n
    - ' rg'
    argTypes:
    - Unit*
    - size_t
    - RG
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: setRand
    functionSourceFile: /src/mcl/misc/gen_test.cpp
    functionUses: 63
    functionsReached:
    - get64
    linkageType: ''
    returnType: void
    signature: void setRand(Unit *x, size_t n, RG& rg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setRand
      Src: /src/mcl/misc/gen_test.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - x
    - n
    - ' rg'
    argTypes:
    - Unit*
    - size_t
    - RG
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: setRandNF
    functionSourceFile: /src/mcl/misc/gen_test.cpp
    functionUses: 2
    functionsReached:
    - setRand
    linkageType: ''
    returnType: void
    signature: void setRandNF(Unit *x, size_t n, RG& rg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vint::setArray
      Src: /src/mcl/misc/gen_test.cpp:104,1
    - Dst: printf
      Src: /src/mcl/misc/gen_test.cpp:105,1
    - Dst: Vint::getStr
      Src: /src/mcl/misc/gen_test.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - msg
    - x
    - N
    argTypes:
    - char*
    - Unit*
    - size_t
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: putHex
    functionSourceFile: /src/mcl/misc/gen_test.cpp
    functionUses: 0
    functionsReached:
    - Vint::setArray
    - Vint::getStr
    - printf
    linkageType: ''
    returnType: void
    signature: void putHex(const char *msg, const Unit *x, size_t N)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/misc/gen_test.cpp:114,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/misc/gen_test.cpp:116,1
    - Dst: mpz_class
      Src: /src/mcl/misc/gen_test.cpp:116,1
    - Dst: mcl::Fp2::init
      Src: /src/mcl/misc/gen_test.cpp:117,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/misc/gen_test.cpp:118,1
    - Dst: get_fp_addA
      Src: /src/mcl/misc/gen_test.cpp:120,1
    - Dst: get_llvm_fp_add
      Src: /src/mcl/misc/gen_test.cpp:121,1
    - Dst: get_fp_addNFA
      Src: /src/mcl/misc/gen_test.cpp:122,1
    - Dst: get_llvm_fp_addNF
      Src: /src/mcl/misc/gen_test.cpp:123,1
    - Dst: get_fp_subA
      Src: /src/mcl/misc/gen_test.cpp:124,1
    - Dst: get_llvm_fp_sub
      Src: /src/mcl/misc/gen_test.cpp:125,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/misc/gen_test.cpp:126,1
    - Dst: Fp::Fp
      Src: /src/mcl/misc/gen_test.cpp:127,1
    - Dst: const_cast<Unit*>
      Src: /src/mcl/misc/gen_test.cpp:128,1
    - Dst: Fp::getUnit
      Src: /src/mcl/misc/gen_test.cpp:128,1
    - Dst: const_cast<Unit*>
      Src: /src/mcl/misc/gen_test.cpp:129,1
    - Dst: getUnit
      Src: /src/mcl/misc/gen_test.cpp:129,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/misc/gen_test.cpp:132,1
    - Dst: setByCSPRNG
      Src: /src/mcl/misc/gen_test.cpp:133,1
    - Dst: addA
      Src: /src/mcl/misc/gen_test.cpp:134,1
    - Dst: addL
      Src: /src/mcl/misc/gen_test.cpp:135,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/misc/gen_test.cpp:136,1
    - Dst: subA
      Src: /src/mcl/misc/gen_test.cpp:137,1
    - Dst: subL
      Src: /src/mcl/misc/gen_test.cpp:138,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/misc/gen_test.cpp:139,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/misc/gen_test.cpp:140,1
    - Dst: mcl::bint::clearN
      Src: /src/mcl/misc/gen_test.cpp:142,1
    - Dst: mcl::bint::clearN
      Src: /src/mcl/misc/gen_test.cpp:143,1
    - Dst: addNFA
      Src: /src/mcl/misc/gen_test.cpp:144,1
    - Dst: addNFL
      Src: /src/mcl/misc/gen_test.cpp:145,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/misc/gen_test.cpp:146,1
    - Dst: puts
      Src: /src/mcl/misc/gen_test.cpp:149,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:150,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:151,1
    - Dst: puts
      Src: /src/mcl/misc/gen_test.cpp:153,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:154,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:155,1
    - Dst: puts
      Src: /src/mcl/misc/gen_test.cpp:158,1
    - Dst: mcl::bint::clearN
      Src: /src/mcl/misc/gen_test.cpp:159,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:160,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:161,1
    - Dst: puts
      Src: /src/mcl/misc/gen_test.cpp:163,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:164,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:165,1
    - Dst: puts
      Src: /src/mcl/misc/gen_test.cpp:168,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/misc/gen_test.cpp:169,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:171,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:172,1
    - Dst: puts
      Src: /src/mcl/misc/gen_test.cpp:174,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:175,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:176,1
    - Dst: puts
      Src: /src/mcl/misc/gen_test.cpp:178,1
    - Dst: puts
      Src: /src/mcl/misc/gen_test.cpp:179,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:180,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:181,1
    - Dst: puts
      Src: /src/mcl/misc/gen_test.cpp:182,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:183,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/misc/gen_test.cpp:183,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:184,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/misc/gen_test.cpp:184,1
    - Dst: puts
      Src: /src/mcl/misc/gen_test.cpp:185,1
    - Dst: mcl::bint::clearN
      Src: /src/mcl/misc/gen_test.cpp:186,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:187,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/misc/gen_test.cpp:187,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:188,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/misc/gen_test.cpp:188,1
    - Dst: puts
      Src: /src/mcl/misc/gen_test.cpp:189,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/misc/gen_test.cpp:190,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:192,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/misc/gen_test.cpp:192,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:193,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/misc/gen_test.cpp:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 71
    argCount: 1
    argNames:
    - pStr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 194
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 194
    functionName: testFpAdd
    functionSourceFile: /src/mcl/misc/gen_test.cpp
    functionUses: 0
    functionsReached:
    - printf
    - getUnit
    - get_fp_subA
    - subL
    - mcl::Fp2::init
    - get_llvm_fp_add
    - Fp::setByCSPRNG
    - addA
    - subA
    - mcl::bint::copyN
    - const_cast<Unit*>
    - CYBOZU_TEST_EQUAL_ARRAY
    - addNFA
    - setByCSPRNG
    - addNFL
    - puts
    - get_llvm_fp_addNF
    - get_llvm_fp_sub
    - addL
    - Fp::Fp
    - Fp::getUnit
    - get_fp_addA
    - get_fp_addNFA
    - Botan_Tests::test_x509_uninit
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - mpz_class
    - cybozu::XorShift::XorShift
    - mcl::bint::clearN
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void testFpAdd(const char *pStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/misc/gen_test.cpp:199,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/mcl/misc/gen_test.cpp:201,1
    - Dst: mpz_class
      Src: /src/mcl/misc/gen_test.cpp:201,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/misc/gen_test.cpp:202,1
    - Dst: get_fp_subA
      Src: /src/mcl/misc/gen_test.cpp:203,1
    - Dst: get_llvm_fp_sub
      Src: /src/mcl/misc/gen_test.cpp:204,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/misc/gen_test.cpp:205,1
    - Dst: Fp::Fp
      Src: /src/mcl/misc/gen_test.cpp:206,1
    - Dst: const_cast<Unit*>
      Src: /src/mcl/misc/gen_test.cpp:207,1
    - Dst: Fp::getUnit
      Src: /src/mcl/misc/gen_test.cpp:207,1
    - Dst: const_cast<Unit*>
      Src: /src/mcl/misc/gen_test.cpp:208,1
    - Dst: getUnit
      Src: /src/mcl/misc/gen_test.cpp:208,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/misc/gen_test.cpp:211,1
    - Dst: setByCSPRNG
      Src: /src/mcl/misc/gen_test.cpp:212,1
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/misc/gen_test.cpp:213,1
    - Dst: subA
      Src: /src/mcl/misc/gen_test.cpp:214,1
    - Dst: getUnit
      Src: /src/mcl/misc/gen_test.cpp:214,1
    - Dst: subL
      Src: /src/mcl/misc/gen_test.cpp:215,1
    - Dst: getUnit
      Src: /src/mcl/misc/gen_test.cpp:215,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/misc/gen_test.cpp:216,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/misc/gen_test.cpp:217,1
    - Dst: puts
      Src: /src/mcl/misc/gen_test.cpp:219,1
    - Dst: puts
      Src: /src/mcl/misc/gen_test.cpp:220,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:221,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:222,1
    - Dst: puts
      Src: /src/mcl/misc/gen_test.cpp:223,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:224,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/misc/gen_test.cpp:224,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:225,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/misc/gen_test.cpp:225,1
    - Dst: puts
      Src: /src/mcl/misc/gen_test.cpp:226,1
    - Dst: mcl::bint::clearN
      Src: /src/mcl/misc/gen_test.cpp:227,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:228,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/misc/gen_test.cpp:228,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:229,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/misc/gen_test.cpp:229,1
    - Dst: puts
      Src: /src/mcl/misc/gen_test.cpp:230,1
    - Dst: mcl::bint::copyN
      Src: /src/mcl/misc/gen_test.cpp:231,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:233,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/misc/gen_test.cpp:233,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:234,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/misc/gen_test.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 1
    argNames:
    - pStr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 235
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 235
    functionName: testFpSub
    functionSourceFile: /src/mcl/misc/gen_test.cpp
    functionUses: 0
    functionsReached:
    - printf
    - getUnit
    - get_fp_subA
    - subL
    - Fp::setByCSPRNG
    - subA
    - mcl::bint::copyN
    - const_cast<Unit*>
    - CYBOZU_TEST_EQUAL_ARRAY
    - setByCSPRNG
    - puts
    - fiat_bls12_381_fp_add
    - get_llvm_fp_sub
    - Fp::Fp
    - Fp::getUnit
    - Botan_Tests::test_x509_uninit
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - mpz_class
    - cybozu::XorShift::XorShift
    - mcl::bint::clearN
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void testFpSub(const char *pStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/misc/gen_test.cpp:241,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/misc/gen_test.cpp:242,1
    - Dst: puts
      Src: /src/mcl/misc/gen_test.cpp:243,1
    - Dst: get_montRedA
      Src: /src/mcl/misc/gen_test.cpp:246,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/mcl/misc/gen_test.cpp:247,1
    - Dst: cybozu::XorShift::XorShift
      Src: /src/mcl/misc/gen_test.cpp:249,1
    - Dst: Fp::Fp
      Src: /src/mcl/misc/gen_test.cpp:250,1
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/misc/gen_test.cpp:253,1
    - Dst: setByCSPRNG
      Src: /src/mcl/misc/gen_test.cpp:254,1
    - Dst: Fp::getUnitArray
      Src: /src/mcl/misc/gen_test.cpp:257,1
    - Dst: getUnitArray
      Src: /src/mcl/misc/gen_test.cpp:258,1
    - Dst: bint::mulT<N>
      Src: /src/mcl/misc/gen_test.cpp:259,1
    - Dst: Fp::getUnit
      Src: /src/mcl/misc/gen_test.cpp:259,1
    - Dst: getUnit
      Src: /src/mcl/misc/gen_test.cpp:259,1
    - Dst: memset
      Src: /src/mcl/misc/gen_test.cpp:260,1
    - Dst: montRed
      Src: /src/mcl/misc/gen_test.cpp:261,1
    - Dst: CYBOZU_TEST_EQUAL_ARRAY
      Src: /src/mcl/misc/gen_test.cpp:262,1
    - Dst: getUnit
      Src: /src/mcl/misc/gen_test.cpp:262,1
    - Dst: mcl::FpDbl::mulPre
      Src: /src/mcl/misc/gen_test.cpp:265,1
    - Dst: mcl::bint::mulT<N>
      Src: /src/mcl/misc/gen_test.cpp:267,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:268,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:269,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:270,1
    - Dst: CYBOZU_BENCH_C
      Src: /src/mcl/misc/gen_test.cpp:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 272
    functionName: testMontRed
    functionSourceFile: /src/mcl/misc/gen_test.cpp
    functionUses: 0
    functionsReached:
    - printf
    - getUnit
    - memset
    - Fp::setByCSPRNG
    - CYBOZU_TEST_EQUAL_ARRAY
    - setByCSPRNG
    - getUnitArray
    - puts
    - bint::mulT<N>
    - montRed
    - get_montRedA
    - mcl::FpDbl::mulPre
    - Fp::getUnitArray
    - mcl::bint::mulT<N>
    - Fp::Fp
    - Fp::getUnit
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - cybozu::XorShift::XorShift
    - CYBOZU_BENCH_C
    linkageType: ''
    returnType: void
    signature: void testMontRed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/misc/gen_test.cpp:286,1
    - Dst: testFpAdd
      Src: /src/mcl/misc/gen_test.cpp:287,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/misc/gen_test.cpp:297,1
    - Dst: testFpAdd
      Src: /src/mcl/misc/gen_test.cpp:298,1
    - Dst: testFpSub
      Src: /src/mcl/misc/gen_test.cpp:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 303
    functionName: CYBOZU_TEST_AUTO
    functionSourceFile: /src/mcl/misc/gen_test.cpp
    functionUses: 0
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - testFpSub
    - testFpAdd
    linkageType: ''
    returnType: void
    signature: void CYBOZU_TEST_AUTO(all)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/misc/sqr_test.cpp:11,1
    - Dst: printf
      Src: /src/mcl/misc/sqr_test.cpp:12,1
    - Dst: printf
      Src: /src/mcl/misc/sqr_test.cpp:14,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - x
    - N
    argTypes:
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 15
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 15
    functionName: dump
    functionSourceFile: /src/mcl/misc/sqr_test.cpp
    functionUses: 12
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void dump(const uint32_t *x, size_t N)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/misc/sqr_test.cpp:25,1
    - Dst: CYBOZU_NUM_OF_ARRAY
      Src: /src/mcl/misc/sqr_test.cpp:25,1
    - Dst: sqrPre
      Src: /src/mcl/misc/sqr_test.cpp:26,1
    - Dst: mcl::gmp::setArray
      Src: /src/mcl/misc/sqr_test.cpp:28,1
    - Dst: printf
      Src: /src/mcl/misc/sqr_test.cpp:30,1
    - Dst: dump
      Src: /src/mcl/misc/sqr_test.cpp:30,1
    - Dst: puts
      Src: /src/mcl/misc/sqr_test.cpp:32,1
    - Dst: mcl::gmp::getArray
      Src: /src/mcl/misc/sqr_test.cpp:34,1
    - Dst: printf
      Src: /src/mcl/misc/sqr_test.cpp:35,1
    - Dst: dump
      Src: /src/mcl/misc/sqr_test.cpp:35,1
    - Dst: printf
      Src: /src/mcl/misc/sqr_test.cpp:36,1
    - Dst: dump
      Src: /src/mcl/misc/sqr_test.cpp:36,1
    - Dst: printf
      Src: /src/mcl/misc/sqr_test.cpp:37,1
    - Dst: dump
      Src: /src/mcl/misc/sqr_test.cpp:37,1
    - Dst: mpz_class
      Src: /src/mcl/misc/sqr_test.cpp:40,1
    - Dst: puts
      Src: /src/mcl/misc/sqr_test.cpp:42,1
    - Dst: printf
      Src: /src/mcl/misc/sqr_test.cpp:44,1
    - Dst: what
      Src: /src/mcl/misc/sqr_test.cpp:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/mcl/misc/sqr_test.cpp
    functionUses: 97
    functionsReached:
    - CYBOZU_NUM_OF_ARRAY
    - sqrPre
    - printf
    - what
    - puts
    - mcl::gmp::getArray
    - mpz_class
    - dump
    - mcl::gmp::setArray
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initPairing
      Src: /src/mcl/misc/precompute.cpp:8,1
    - Dst: G2::G2
      Src: /src/mcl/misc/precompute.cpp:9,1
    - Dst: mapToG2
      Src: /src/mcl/misc/precompute.cpp:10,1
    - Dst: precomputeG2
      Src: /src/mcl/misc/precompute.cpp:12,1
    - Dst: puts
      Src: /src/mcl/misc/precompute.cpp:13,1
    - Dst: puts
      Src: /src/mcl/misc/precompute.cpp:14,1
    - Dst: std::vector::size
      Src: /src/mcl/misc/precompute.cpp:15,1
    - Dst: puts
      Src: /src/mcl/misc/precompute.cpp:17,1
    - Dst: printf
      Src: /src/mcl/misc/precompute.cpp:19,1
    - Dst: getFp0
      Src: /src/mcl/misc/precompute.cpp:20,1
    - Dst: printf
      Src: /src/mcl/misc/precompute.cpp:22,1
    - Dst: getUnit
      Src: /src/mcl/misc/precompute.cpp:22,1
    - Dst: puts
      Src: /src/mcl/misc/precompute.cpp:24,1
    - Dst: puts
      Src: /src/mcl/misc/precompute.cpp:26,1
    - Dst: puts
      Src: /src/mcl/misc/precompute.cpp:28,1
    - Dst: puts
      Src: /src/mcl/misc/precompute.cpp:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 6
    functionDepth: 1
    functionLinenumber: 6
    functionLinenumberEnd: 30
    functionName: main
    functionSourceFile: /src/mcl/misc/precompute.cpp
    functionUses: 97
    functionsReached:
    - precomputeG2
    - std::vector::size
    - printf
    - getUnit
    - mapToG2
    - puts
    - G2::G2
    - initPairing
    - getFp0
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: save
      Src: /src/mcl/misc/she/bench.cpp:27,1
    - Dst: std::ostringstream::write
      Src: /src/mcl/misc/she/bench.cpp:29,1
    - Dst: std::ostringstream::str
      Src: /src/mcl/misc/she/bench.cpp:31,1
    - Dst: printf
      Src: /src/mcl/misc/she/bench.cpp:32,1
    - Dst: std::string::size
      Src: /src/mcl/misc/she/bench.cpp:32,1
    - Dst: T::load
      Src: /src/mcl/misc/she/bench.cpp:39,1
    - Dst: std::istringstream::read
      Src: /src/mcl/misc/she/bench.cpp:41,1
    - Dst: printf
      Src: /src/mcl/misc/she/bench.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - msg
    - ' x'
    - compress
    argTypes:
    - char*
    - T
    - bool
    constantsTouched: []
    func_position:
      end: 45
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 45
    functionName: loadSaveTest
    functionSourceFile: /src/mcl/misc/she/bench.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::ostringstream::str
    - printf
    - std::ostringstream::write
    - T::load
    - save
    - std::istringstream::read
    linkageType: ''
    returnType: void
    signature: void loadSaveTest(const char *msg, const T& x, bool compress)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mcl/misc/she/bench.cpp:49,1
    - Dst: enc
      Src: /src/mcl/misc/she/bench.cpp:52,1
    - Dst: loadSaveTest
      Src: /src/mcl/misc/she/bench.cpp:53,1
    - Dst: loadSaveTest
      Src: /src/mcl/misc/she/bench.cpp:54,1
    - Dst: loadSaveTest
      Src: /src/mcl/misc/she/bench.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' sec'
    - ' pub'
    - compress
    argTypes:
    - SecretKey
    - PublicKey
    - bool
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: loadSave
    functionSourceFile: /src/mcl/misc/she/bench.cpp
    functionUses: 0
    functionsReached:
    - loadSaveTest
    - enc
    - printf
    linkageType: ''
    returnType: void
    signature: void loadSave(const SecretKey& sec, const PublicKey& pub, bool compress)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::CpuClock::CpuClock
      Src: /src/mcl/misc/she/bench.cpp:60,1
    - Dst: CipherTextG1Vec::resize
      Src: /src/mcl/misc/she/bench.cpp:62,1
    - Dst: cybozu::CpuClock::begin
      Src: /src/mcl/misc/she/bench.cpp:65,1
    - Dst: enc
      Src: /src/mcl/misc/she/bench.cpp:68,1
    - Dst: cybozu::CpuClock::end
      Src: /src/mcl/misc/she/bench.cpp:70,1
    - Dst: cybozu::CpuClock::put
      Src: /src/mcl/misc/she/bench.cpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' ppub'
    - vecN
    argTypes:
    - PrecomputedPublicKey
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: benchEnc
    functionSourceFile: /src/mcl/misc/she/bench.cpp
    functionUses: 0
    functionsReached:
    - cybozu::CpuClock::begin
    - cybozu::CpuClock::CpuClock
    - enc
    - cybozu::CpuClock::put
    - cybozu::CpuClock::end
    - CipherTextG1Vec::resize
    linkageType: ''
    returnType: void
    signature: void benchEnc(const PrecomputedPublicKey& ppub, int vecN)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::CpuClock::CpuClock
      Src: /src/mcl/misc/she/bench.cpp:78,1
    - Dst: CipherTextG1Vec::resize
      Src: /src/mcl/misc/she/bench.cpp:80,1
    - Dst: cybozu::CpuClock::begin
      Src: /src/mcl/misc/she/bench.cpp:83,1
    - Dst: enc
      Src: /src/mcl/misc/she/bench.cpp:86,1
    - Dst: normalize
      Src: /src/mcl/misc/she/bench.cpp:87,1
    - Dst: cybozu::CpuClock::end
      Src: /src/mcl/misc/she/bench.cpp:89,1
    - Dst: cybozu::CpuClock::put
      Src: /src/mcl/misc/she/bench.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ppub'
    - vecN
    argTypes:
    - PrecomputedPublicKey
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 4
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: benchEncAffine
    functionSourceFile: /src/mcl/misc/she/bench.cpp
    functionUses: 0
    functionsReached:
    - cybozu::CpuClock::begin
    - cybozu::CpuClock::CpuClock
    - enc
    - cybozu::CpuClock::put
    - cybozu::CpuClock::end
    - CipherTextG1Vec::resize
    - normalize
    linkageType: ''
    returnType: void
    signature: void benchEncAffine(const PrecomputedPublicKey& ppub, int vecN)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::CpuClock::CpuClock
      Src: /src/mcl/misc/she/bench.cpp:97,1
    - Dst: CipherTextG1Vec::resize
      Src: /src/mcl/misc/she/bench.cpp:99,1
    - Dst: cybozu::CpuClock::begin
      Src: /src/mcl/misc/she/bench.cpp:102,1
    - Dst: enc
      Src: /src/mcl/misc/she/bench.cpp:105,1
    - Dst: normalizeVec
      Src: /src/mcl/misc/she/bench.cpp:107,1
    - Dst: cybozu::CpuClock::end
      Src: /src/mcl/misc/she/bench.cpp:108,1
    - Dst: cybozu::CpuClock::put
      Src: /src/mcl/misc/she/bench.cpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' ppub'
    - vecN
    argTypes:
    - PrecomputedPublicKey
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 111
    functionName: benchEncAffineVec
    functionSourceFile: /src/mcl/misc/she/bench.cpp
    functionUses: 0
    functionsReached:
    - normalizeVec
    - cybozu::CpuClock::begin
    - cybozu::CpuClock::CpuClock
    - enc
    - cybozu::CpuClock::put
    - cybozu::CpuClock::end
    - CipherTextG1Vec::resize
    linkageType: ''
    returnType: void
    signature: void benchEncAffineVec(const PrecomputedPublicKey& ppub, int vecN)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::CpuClock::CpuClock
      Src: /src/mcl/misc/she/bench.cpp:115,1
    - Dst: CipherTextG1Vec::resize
      Src: /src/mcl/misc/she/bench.cpp:117,1
    - Dst: resize
      Src: /src/mcl/misc/she/bench.cpp:118,1
    - Dst: enc
      Src: /src/mcl/misc/she/bench.cpp:120,1
    - Dst: cybozu::CpuClock::begin
      Src: /src/mcl/misc/she/bench.cpp:124,1
    - Dst: add
      Src: /src/mcl/misc/she/bench.cpp:129,1
    - Dst: cybozu::CpuClock::end
      Src: /src/mcl/misc/she/bench.cpp:132,1
    - Dst: cybozu::CpuClock::put
      Src: /src/mcl/misc/she/bench.cpp:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' ppub'
    - addN
    - vecN
    argTypes:
    - PrecomputedPublicKey
    - int
    - int
    constantsTouched: []
    func_position:
      end: 135
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 135
    functionName: benchAdd
    functionSourceFile: /src/mcl/misc/she/bench.cpp
    functionUses: 0
    functionsReached:
    - add
    - cybozu::CpuClock::begin
    - cybozu::CpuClock::CpuClock
    - enc
    - cybozu::CpuClock::put
    - resize
    - cybozu::CpuClock::end
    - CipherTextG1Vec::resize
    linkageType: ''
    returnType: void
    signature: void benchAdd(const PrecomputedPublicKey& ppub, int addN, int vecN)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::CpuClock::CpuClock
      Src: /src/mcl/misc/she/bench.cpp:139,1
    - Dst: CipherTextG1Vec::resize
      Src: /src/mcl/misc/she/bench.cpp:141,1
    - Dst: resize
      Src: /src/mcl/misc/she/bench.cpp:142,1
    - Dst: enc
      Src: /src/mcl/misc/she/bench.cpp:144,1
    - Dst: normalizeVec
      Src: /src/mcl/misc/she/bench.cpp:146,1
    - Dst: cybozu::CpuClock::begin
      Src: /src/mcl/misc/she/bench.cpp:149,1
    - Dst: add
      Src: /src/mcl/misc/she/bench.cpp:154,1
    - Dst: cybozu::CpuClock::end
      Src: /src/mcl/misc/she/bench.cpp:157,1
    - Dst: cybozu::CpuClock::put
      Src: /src/mcl/misc/she/bench.cpp:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ' ppub'
    - addN
    - vecN
    argTypes:
    - PrecomputedPublicKey
    - int
    - int
    constantsTouched: []
    func_position:
      end: 160
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 160
    functionName: benchAddAffine
    functionSourceFile: /src/mcl/misc/she/bench.cpp
    functionUses: 0
    functionsReached:
    - add
    - normalizeVec
    - cybozu::CpuClock::begin
    - cybozu::CpuClock::CpuClock
    - enc
    - cybozu::CpuClock::put
    - resize
    - cybozu::CpuClock::end
    - CipherTextG1Vec::resize
    linkageType: ''
    returnType: void
    signature: void benchAddAffine(const PrecomputedPublicKey& ppub, int addN, int
      vecN)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::CpuClock::CpuClock
      Src: /src/mcl/misc/she/bench.cpp:164,1
    - Dst: CipherTextG1Vec::resize
      Src: /src/mcl/misc/she/bench.cpp:166,1
    - Dst: enc
      Src: /src/mcl/misc/she/bench.cpp:168,1
    - Dst: cybozu::CpuClock::begin
      Src: /src/mcl/misc/she/bench.cpp:172,1
    - Dst: dec
      Src: /src/mcl/misc/she/bench.cpp:175,1
    - Dst: cybozu::CpuClock::end
      Src: /src/mcl/misc/she/bench.cpp:177,1
    - Dst: cybozu::CpuClock::put
      Src: /src/mcl/misc/she/bench.cpp:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' ppub'
    - ' sec'
    - vecN
    argTypes:
    - PrecomputedPublicKey
    - SecretKey
    - int
    constantsTouched: []
    func_position:
      end: 180
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 180
    functionName: benchDec
    functionSourceFile: /src/mcl/misc/she/bench.cpp
    functionUses: 0
    functionsReached:
    - cybozu::CpuClock::begin
    - dec
    - cybozu::CpuClock::CpuClock
    - enc
    - cybozu::CpuClock::put
    - cybozu::CpuClock::end
    - CipherTextG1Vec::resize
    linkageType: ''
    returnType: void
    signature: void benchDec(const PrecomputedPublicKey& ppub, const SecretKey& sec,
      int vecN)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CipherTextG1Vec::resize
      Src: /src/mcl/misc/she/bench.cpp:191,1
    - Dst: enc
      Src: /src/mcl/misc/she/bench.cpp:193,1
    - Dst: std::vector::data
      Src: /src/mcl/misc/she/bench.cpp:196,1
    - Dst: std::vector::size
      Src: /src/mcl/misc/she/bench.cpp:196,1
    - Dst: serializeVecToAffine
      Src: /src/mcl/misc/she/bench.cpp:197,1
    - Dst: CipherTextG1Vec::data
      Src: /src/mcl/misc/she/bench.cpp:197,1
    - Dst: CipherTextG1Vec::resize
      Src: /src/mcl/misc/she/bench.cpp:201,1
    - Dst: std::vector::data
      Src: /src/mcl/misc/she/bench.cpp:203,1
    - Dst: std::vector::size
      Src: /src/mcl/misc/she/bench.cpp:203,1
    - Dst: deserializeVecFromAffine
      Src: /src/mcl/misc/she/bench.cpp:204,1
    - Dst: CipherTextG1Vec::data
      Src: /src/mcl/misc/she/bench.cpp:204,1
    - Dst: printf
      Src: /src/mcl/misc/she/bench.cpp:211,1
    - Dst: exit
      Src: /src/mcl/misc/she/bench.cpp:212,1
    - Dst: puts
      Src: /src/mcl/misc/she/bench.cpp:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ' sec'
    - ' ppub'
    argTypes:
    - SecretKey
    - PrecomputedPublicKey
    constantsTouched: []
    func_position:
      end: 217
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 217
    functionName: affineSerializeTest
    functionSourceFile: /src/mcl/misc/she/bench.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - serializeVecToAffine
    - deserializeVecFromAffine
    - printf
    - exit
    - puts
    - enc
    - CipherTextG1Vec::data
    - CipherTextG1Vec::resize
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void affineSerializeTest(const SecretKey& sec, const PrecomputedPublicKey&
      ppub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecretKey::setByCSPRNG
      Src: /src/mcl/misc/she/bench.cpp:222,1
    - Dst: SecretKey::getPublicKey
      Src: /src/mcl/misc/she/bench.cpp:225,1
    - Dst: PrecomputedPublicKey::init
      Src: /src/mcl/misc/she/bench.cpp:227,1
    - Dst: benchEnc
      Src: /src/mcl/misc/she/bench.cpp:230,1
    - Dst: benchEncAffine
      Src: /src/mcl/misc/she/bench.cpp:234,1
    - Dst: benchEncAffineVec
      Src: /src/mcl/misc/she/bench.cpp:238,1
    - Dst: benchAdd
      Src: /src/mcl/misc/she/bench.cpp:242,1
    - Dst: benchAddAffine
      Src: /src/mcl/misc/she/bench.cpp:246,1
    - Dst: benchDec
      Src: /src/mcl/misc/she/bench.cpp:250,1
    - Dst: loadSave
      Src: /src/mcl/misc/she/bench.cpp:254,1
    - Dst: loadSave
      Src: /src/mcl/misc/she/bench.cpp:255,1
    - Dst: affineSerializeTest
      Src: /src/mcl/misc/she/bench.cpp:256,1
    - Dst: printf
      Src: /src/mcl/misc/she/bench.cpp:259,1
    - Dst: c_str
      Src: /src/mcl/misc/she/bench.cpp:259,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - ' mode'
    - addN
    - vecN
    argTypes:
    - std::string
    - int
    - int
    constantsTouched: []
    func_position:
      end: 260
      start: 219
    functionDepth: 5
    functionLinenumber: 219
    functionLinenumberEnd: 260
    functionName: exec
    functionSourceFile: /src/mcl/misc/she/bench.cpp
    functionUses: 4
    functionsReached:
    - PrecomputedPublicKey::init
    - printf
    - benchAdd
    - c_str
    - benchEnc
    - affineSerializeTest
    - benchEncAffine
    - SecretKey::getPublicKey
    - benchAddAffine
    - SecretKey::setByCSPRNG
    - benchEncAffineVec
    - benchDec
    - loadSave
    linkageType: ''
    returnType: void
    signature: void exec(const std::string& mode, int addN, int vecN)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cybozu::Option::Option
      Src: /src/mcl/misc/she/bench.cpp:265,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/misc/she/bench.cpp:270,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/misc/she/bench.cpp:271,1
    - Dst: cybozu::Option::appendOpt
      Src: /src/mcl/misc/she/bench.cpp:272,1
    - Dst: cybozu::Option::appendParam
      Src: /src/mcl/misc/she/bench.cpp:273,1
    - Dst: cybozu::Option::appendHelp
      Src: /src/mcl/misc/she/bench.cpp:274,1
    - Dst: cybozu::Option::parse
      Src: /src/mcl/misc/she/bench.cpp:275,1
    - Dst: cybozu::Option::put
      Src: /src/mcl/misc/she/bench.cpp:276,1
    - Dst: cybozu::Option::usage
      Src: /src/mcl/misc/she/bench.cpp:278,1
    - Dst: omp_set_num_threads
      Src: /src/mcl/misc/she/bench.cpp:281,1
    - Dst: printf
      Src: /src/mcl/misc/she/bench.cpp:285,1
    - Dst: puts
      Src: /src/mcl/misc/she/bench.cpp:287,1
    - Dst: initG1only
      Src: /src/mcl/misc/she/bench.cpp:288,1
    - Dst: exec
      Src: /src/mcl/misc/she/bench.cpp:290,1
    - Dst: printf
      Src: /src/mcl/misc/she/bench.cpp:292,1
    - Dst: what
      Src: /src/mcl/misc/she/bench.cpp:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 294
      start: 262
    functionDepth: 4
    functionLinenumber: 262
    functionLinenumberEnd: 294
    functionName: main
    functionSourceFile: /src/mcl/misc/she/bench.cpp
    functionUses: 97
    functionsReached:
    - cybozu::Option::appendHelp
    - cybozu::Option::Option
    - printf
    - exec
    - cybozu::Option::usage
    - what
    - cybozu::Option::put
    - puts
    - initG1only
    - cybozu::Option::parse
    - cybozu::Option::appendParam
    - cybozu::Option::appendOpt
    - omp_set_num_threads
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ecdsa::local::getParam
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:40,1
    - Dst: mcl::getEcParam
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:41,1
    - Dst: mcl::initCurve<Ec>
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:43,1
    - Dst: cybozu::crypto::Hash::getName
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:44,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' param'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: SystemInit
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 0
    functionsReached:
    - Shim_Exception::Shim_Exception
    - mcl::ecdsa::local::getParam
    - cybozu::crypto::Hash::getName
    - mcl::initCurve<Ec>
    - mcl::getEcParam
    linkageType: ''
    returnType: void
    signature: void SystemInit(const std::string& param)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CipherText::toStr
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: CipherText::toStr
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 1
    functionsReached:
    - CipherText::toStr
    linkageType: ''
    returnType: std::string
    signature: std::string toStr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CipherText::toStr
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: CipherText::toString
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 0
    functionsReached:
    - CipherText::toStr
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CipherText::fromStr
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: CipherText::fromStr
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 1
    functionsReached:
    - CipherText::fromStr
    linkageType: ''
    returnType: void
    signature: void fromStr(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CipherText::add
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherText
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: CipherText::add
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 8
    functionsReached:
    - CipherText::add
    linkageType: ''
    returnType: void
    signature: void add(const CipherText& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CipherText::mul
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: CipherText::mul
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 9
    functionsReached:
    - CipherText::mul
    linkageType: ''
    returnType: void
    signature: void mul(int m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CipherText::mul
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: CipherText::mul
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 10
    functionsReached:
    - CipherText::mul
    linkageType: ''
    returnType: void
    signature: void mul(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicKey::toStr
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: PublicKey::toStr
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 1
    functionsReached:
    - PublicKey::toStr
    linkageType: ''
    returnType: std::string
    signature: std::string toStr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicKey::toStr
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: PublicKey::toString
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 0
    functionsReached:
    - PublicKey::toStr
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicKey::fromStr
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: PublicKey::fromStr
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 1
    functionsReached:
    - PublicKey::fromStr
    linkageType: ''
    returnType: void
    signature: void fromStr(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:82,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: PublicKey::save
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 6
    functionsReached:
    - Shim_Exception::Shim_Exception
    - c_str
    linkageType: ''
    returnType: void
    signature: void save(const std::string& fileName) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:87,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: PublicKey::load
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 6
    functionsReached:
    - Shim_Exception::Shim_Exception
    - c_str
    linkageType: ''
    returnType: void
    signature: void load(const std::string& fileName)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicKey::enc
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:92,1
    - Dst: mcl::ecdsa::local::getParam
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - m
    argTypes:
    - CipherText
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: PublicKey::enc
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 19
    functionsReached:
    - mcl::ecdsa::local::getParam
    - PublicKey::enc
    linkageType: ''
    returnType: void
    signature: void enc(CipherText& c, int m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicKey::enc
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:97,1
    - Dst: mcl::ecdsa::local::getParam
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - ' str'
    argTypes:
    - CipherText
    - std::string
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: PublicKey::enc
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 20
    functionsReached:
    - mcl::ecdsa::local::getParam
    - PublicKey::enc
    linkageType: ''
    returnType: void
    signature: void enc(CipherText& c, const std::string& str) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicKey::rerandomize
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:101,1
    - Dst: mcl::ecdsa::local::getParam
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherText
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: PublicKey::rerandomize
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 1
    functionsReached:
    - PublicKey::rerandomize
    - mcl::ecdsa::local::getParam
    linkageType: ''
    returnType: void
    signature: void rerandomize(CipherText& c) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicKey::add
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - m
    argTypes:
    - CipherText
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: PublicKey::add
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 2
    functionsReached:
    - PublicKey::add
    linkageType: ''
    returnType: void
    signature: void add(CipherText& c, int m) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicKey::add
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - ' str'
    argTypes:
    - CipherText
    - std::string
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: PublicKey::add
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 3
    functionsReached:
    - PublicKey::add
    linkageType: ''
    returnType: void
    signature: void add(CipherText& c, const std::string& str) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateKey::toStr
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: PrivateKey::toStr
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 1
    functionsReached:
    - PrivateKey::toStr
    linkageType: ''
    returnType: std::string
    signature: std::string toStr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateKey::toStr
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: PrivateKey::toString
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 0
    functionsReached:
    - PrivateKey::toStr
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateKey::fromStr
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: PrivateKey::fromStr
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 1
    functionsReached:
    - PrivateKey::fromStr
    linkageType: ''
    returnType: void
    signature: void fromStr(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:123,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: PrivateKey::save
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - c_str
    linkageType: ''
    returnType: void
    signature: void save(const std::string& fileName) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:128,1
    - Dst: Shim_Exception::Shim_Exception
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: PrivateKey::load
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 2
    functionsReached:
    - Shim_Exception::Shim_Exception
    - c_str
    linkageType: ''
    returnType: void
    signature: void load(const std::string& fileName)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ecdsa::local::getParam
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:133,1
    - Dst: init
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:137,1
    - Dst: mcl::FpT::getBitSize
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: PrivateKey::_MCL_THROW
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::FpT::getBitSize
    - mcl::ecdsa::local::getParam
    - init
    linkageType: ''
    returnType: void
    signature: void _MCL_THROW
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateKey::getPublicKey
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: PrivateKey::getPublicKey
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 4
    functionsReached:
    - PrivateKey::getPublicKey
    linkageType: ''
    returnType: PublicKey
    signature: PublicKey getPublicKey() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateKey::dec
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - CipherText
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: PrivateKey::dec
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 4
    functionsReached:
    - PrivateKey::dec
    linkageType: ''
    returnType: int
    signature: int dec(const CipherText& c, bool *b = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateKey::setCache
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rangeMin
    - rangeMax
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: PrivateKey::setCache
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 3
    functionsReached:
    - PrivateKey::setCache
    linkageType: ''
    returnType: void
    signature: void setCache(int rangeMin, int rangeMax)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateKey::clearCache
      Src: /src/mcl/ffi/java/elgamal_impl.hpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: PrivateKey::clearCache
    functionSourceFile: /src/mcl/ffi/java/elgamal_impl.hpp
    functionUses: 1
    functionsReached:
    - PrivateKey::clearCache
    linkageType: ''
    returnType: void
    signature: void clearCache()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JNIEnv*::ExceptionClear
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:189,1
    - Dst: JNIEnv*::FindClass
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:190,1
    - Dst: JNIEnv*::ThrowNew
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - jenv
    - code
    - msg
    argTypes:
    - JNIEnv*
    - SWIG_JavaExceptionCodes
    - char*
    constantsTouched: []
    func_position:
      end: 193
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 193
    functionName: SWIG_JavaThrowException
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - JNIEnv*::FindClass
    - JNIEnv*::ThrowNew
    - JNIEnv*::ExceptionClear
    linkageType: ''
    returnType: void
    signature: void SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes
      code, const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: SwigValueWrapper::SwigSmartPointer
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SwigSmartPointer(T *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: ~SwigSmartPointer()
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SwigSmartPointer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SwigSmartPointer
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: '& operator=(SwigSmartPointer& rhs)'
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SwigSmartPointer
    signature: SwigSmartPointer & operator=(SwigSmartPointer& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: SwigValueWrapper::reset
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset(T *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: SwigValueWrapper::SwigValueWrapper
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SwigValueWrapper()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::T
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: '& operator=(const T& t)'
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - T::T
    linkageType: ''
    returnType: SwigValueWrapper
    signature: SwigValueWrapper & operator=(const T& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:218,1
    - Dst: T::T
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: '& operator=(T&& t)'
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - std::move
    - T::T
    linkageType: ''
    returnType: SwigValueWrapper
    signature: SwigValueWrapper & operator=(T&& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: operator T&&() const
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void operator T&&() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: operator T&() const
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator T&() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: '*operator&() const'
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T *operator&() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pointer::reset
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t'
    - p
    argTypes:
    - SwigValueWrapper
    - T*
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: SwigValueWrapper::reset
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - pointer::reset
    linkageType: ''
    returnType: void
    signature: void reset(SwigValueWrapper& t, T *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: SwigValueInit
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - T
    linkageType: ''
    returnType: T
    signature: T SwigValueInit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemInit
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:273,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:275,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - jenv
    - jcls
    - jarg1
    argTypes:
    - JNIEnv*
    - jclass
    - jint
    constantsTouched: []
    func_position:
      end: 278
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 278
    functionName: Java_com_herumi_mcl_MclJNI_SystemInit
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SystemInit
    - what
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_SystemInit(JNIEnv *jenv, jclass
      jcls, jint jarg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:291,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:296,1
    - Dst: neg
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 300
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 300
    functionName: Java_com_herumi_mcl_MclJNI_neg_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - neg
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_neg_1_1SWIG_10(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:313,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:318,1
    - Dst: inv
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 322
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 322
    functionName: Java_com_herumi_mcl_MclJNI_inv_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - inv
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_inv_1_1SWIG_10(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:337,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:342,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:347,1
    - Dst: add
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 8
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    - jarg3_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 351
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 351
    functionName: Java_com_herumi_mcl_MclJNI_add_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - add
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_add_1_1SWIG_10(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong
      jarg3, jobject jarg3_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:366,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:371,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:376,1
    - Dst: sub
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 8
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    - jarg3_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 380
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 380
    functionName: Java_com_herumi_mcl_MclJNI_sub_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - sub
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_sub_1_1SWIG_10(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong
      jarg3, jobject jarg3_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:395,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:400,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:405,1
    - Dst: mul
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 8
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    - jarg3_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 409
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 409
    functionName: Java_com_herumi_mcl_MclJNI_mul_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - mul
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_mul_1_1SWIG_10(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong
      jarg3, jobject jarg3_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:424,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:429,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:434,1
    - Dst: mul
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 8
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    - jarg3_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 438
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 438
    functionName: Java_com_herumi_mcl_MclJNI_mul_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - mul
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_mul_1_1SWIG_11(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong
      jarg3, jobject jarg3_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:453,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:458,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:463,1
    - Dst: mul
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 8
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    - jarg3_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 467
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 467
    functionName: Java_com_herumi_mcl_MclJNI_mul_1_1SWIG_12
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - mul
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_mul_1_1SWIG_12(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong
      jarg3, jobject jarg3_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:482,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:487,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:492,1
    - Dst: div
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 8
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    - jarg3_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 496
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 496
    functionName: Java_com_herumi_mcl_MclJNI_div_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - div
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_div_1_1SWIG_10(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong
      jarg3, jobject jarg3_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:511,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:516,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:521,1
    - Dst: pow
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 8
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    - jarg3_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 525
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 525
    functionName: Java_com_herumi_mcl_MclJNI_pow
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - pow
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_pow(JNIEnv *jenv, jclass jcls,
      jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jobject
      jarg3_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fr::Fr
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - jenv
    - jcls
    argTypes:
    - JNIEnv*
    - jclass
    constantsTouched: []
    func_position:
      end: 537
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 537
    functionName: Java_com_herumi_mcl_MclJNI_new_1Fr_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - Fr::Fr
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_new_1Fr_1_1SWIG_10(JNIEnv *jenv,
      jclass jcls)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:550,1
    - Dst: Fr::Fr
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 556
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 556
    functionName: Java_com_herumi_mcl_MclJNI_new_1Fr_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - Fr::Fr
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_new_1Fr_1_1SWIG_11(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fr::Fr
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - jenv
    - jcls
    - jarg1
    argTypes:
    - JNIEnv*
    - jclass
    - jint
    constantsTouched: []
    func_position:
      end: 570
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 570
    functionName: Java_com_herumi_mcl_MclJNI_new_1Fr_1_1SWIG_12
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - Fr::Fr
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_new_1Fr_1_1SWIG_12(JNIEnv *jenv,
      jclass jcls, jint jarg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:582,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:589,1
    - Dst: Fr::Fr
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:592,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:594,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jstring
    - jint
    constantsTouched: []
    func_position:
      end: 599
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 599
    functionName: Java_com_herumi_mcl_MclJNI_new_1Fr_1_1SWIG_13
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - Fr::Fr
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_new_1Fr_1_1SWIG_13(JNIEnv *jenv,
      jclass jcls, jstring jarg1, jint jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:610,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:617,1
    - Dst: Fr::Fr
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:619,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:621,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - jenv
    - jcls
    - jarg1
    argTypes:
    - JNIEnv*
    - jclass
    - jstring
    constantsTouched: []
    func_position:
      end: 626
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 626
    functionName: Java_com_herumi_mcl_MclJNI_new_1Fr_1_1SWIG_14
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - Fr::Fr
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_new_1Fr_1_1SWIG_14(JNIEnv *jenv,
      jclass jcls, jstring jarg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:642,1
    - Dst: equals
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 648
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 648
    functionName: Java_com_herumi_mcl_MclJNI_Fr_1equals
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - equals
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fr_1equals(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isZero
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 663
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 663
    functionName: Java_com_herumi_mcl_MclJNI_Fr_1isZero
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - isZero
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fr_1isZero(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isOne
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 678
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 678
    functionName: Java_com_herumi_mcl_MclJNI_Fr_1isOne
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - isOne
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fr_1isOne(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:691,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:698,1
    - Dst: setStr
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:701,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:703,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:703,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg3
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jstring
    - jint
    constantsTouched: []
    func_position:
      end: 706
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 706
    functionName: Java_com_herumi_mcl_MclJNI_Fr_1setStr_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - setStr
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fr_1setStr_1_1SWIG_10(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jint jarg3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:718,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:725,1
    - Dst: setStr
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:727,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:729,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jstring
    constantsTouched: []
    func_position:
      end: 732
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 732
    functionName: Java_com_herumi_mcl_MclJNI_Fr_1setStr_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - setStr
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fr_1setStr_1_1SWIG_11(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setInt
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jint
    constantsTouched: []
    func_position:
      end: 745
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 745
    functionName: Java_com_herumi_mcl_MclJNI_Fr_1setInt
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - setInt
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fr_1setInt(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_, jint jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 756
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 756
    functionName: Java_com_herumi_mcl_MclJNI_Fr_1clear
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fr_1clear(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setByCSPRNG
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 767
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 767
    functionName: Java_com_herumi_mcl_MclJNI_Fr_1setByCSPRNG
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - setByCSPRNG
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fr_1setByCSPRNG(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:782,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:784,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:784,1
    - Dst: JNIEnv*::NewStringUTF
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:787,1
    - Dst: c_str
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jint
    constantsTouched: []
    func_position:
      end: 789
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 789
    functionName: Java_com_herumi_mcl_MclJNI_Fr_1toString_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - c_str
    - JNIEnv*::NewStringUTF
    - what
    - toString
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fr_1toString_1_1SWIG_10(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:802,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:804,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:804,1
    - Dst: JNIEnv*::NewStringUTF
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:807,1
    - Dst: c_str
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 809
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 809
    functionName: Java_com_herumi_mcl_MclJNI_Fr_1toString_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - c_str
    - JNIEnv*::NewStringUTF
    - what
    - toString
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fr_1toString_1_1SWIG_11(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JNIEnv*::GetByteArrayElements
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:823,1
    - Dst: JNIEnv*::GetArrayLength
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:824,1
    - Dst: deserialize
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:831,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:833,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:833,1
    - Dst: JNIEnv*::ReleaseByteArrayElements
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jbyteArray
    constantsTouched: []
    func_position:
      end: 840
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 840
    functionName: Java_com_herumi_mcl_MclJNI_Fr_1deserialize
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - what
    - JNIEnv*::ReleaseByteArrayElements
    - deserialize
    - JNIEnv*::GetByteArrayElements
    - JNIEnv*::GetArrayLength
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fr_1deserialize(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jbyteArray jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JNIEnv*::GetByteArrayElements
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:854,1
    - Dst: JNIEnv*::GetArrayLength
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:855,1
    - Dst: setLittleEndianMod
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:862,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:864,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:864,1
    - Dst: JNIEnv*::ReleaseByteArrayElements
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:868,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jbyteArray
    constantsTouched: []
    func_position:
      end: 871
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 871
    functionName: Java_com_herumi_mcl_MclJNI_Fr_1setLittleEndianMod
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - what
    - setLittleEndianMod
    - JNIEnv*::ReleaseByteArrayElements
    - JNIEnv*::GetByteArrayElements
    - JNIEnv*::GetArrayLength
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fr_1setLittleEndianMod(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jbyteArray jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JNIEnv*::GetByteArrayElements
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:885,1
    - Dst: JNIEnv*::GetArrayLength
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:886,1
    - Dst: setHashOf
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:893,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:895,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:895,1
    - Dst: JNIEnv*::ReleaseByteArrayElements
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:899,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jbyteArray
    constantsTouched: []
    func_position:
      end: 902
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 902
    functionName: Java_com_herumi_mcl_MclJNI_Fr_1setHashOf
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - what
    - JNIEnv*::ReleaseByteArrayElements
    - setHashOf
    - JNIEnv*::GetByteArrayElements
    - JNIEnv*::GetArrayLength
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fr_1setHashOf(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_, jbyteArray jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:917,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:919,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:919,1
    - Dst: JNIEnv*::NewByteArray
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:923,1
    - Dst: std::string*::size
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:923,1
    - Dst: JNIEnv*::SetByteArrayRegion
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:924,1
    - Dst: std::string*::size
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:924,1
    - Dst: std::string*::c_str
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:924,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 927
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 927
    functionName: Java_com_herumi_mcl_MclJNI_Fr_1serialize
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::NewByteArray
    - what
    - std::string*::c_str
    - JNIEnv*::SetByteArrayRegion
    - serialize
    - std::string*::size
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fr_1serialize(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - jenv
    - jcls
    - jarg1
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    constantsTouched: []
    func_position:
      end: 937
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 937
    functionName: Java_com_herumi_mcl_MclJNI_delete_1Fr
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_delete_1Fr(JNIEnv *jenv, jclass
      jcls, jlong jarg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:950,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:955,1
    - Dst: neg
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:958,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 959
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 959
    functionName: Java_com_herumi_mcl_MclJNI_neg_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - neg
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_neg_1_1SWIG_11(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:972,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:977,1
    - Dst: inv
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 981
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 981
    functionName: Java_com_herumi_mcl_MclJNI_inv_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - inv
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_inv_1_1SWIG_11(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:996,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1001,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1006,1
    - Dst: add
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1009,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 8
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    - jarg3_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1010
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1010
    functionName: Java_com_herumi_mcl_MclJNI_add_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - add
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_add_1_1SWIG_11(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong
      jarg3, jobject jarg3_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1025,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1030,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1035,1
    - Dst: sub
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1038,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 8
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    - jarg3_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1039
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1039
    functionName: Java_com_herumi_mcl_MclJNI_sub_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - sub
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_sub_1_1SWIG_11(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong
      jarg3, jobject jarg3_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1054,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1059,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1064,1
    - Dst: mul
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1067,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 8
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    - jarg3_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1068
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1068
    functionName: Java_com_herumi_mcl_MclJNI_mul_1_1SWIG_13
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - mul
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_mul_1_1SWIG_13(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong
      jarg3, jobject jarg3_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1083,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1088,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1093,1
    - Dst: div
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1096,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 8
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    - jarg3_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1097
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1097
    functionName: Java_com_herumi_mcl_MclJNI_div_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - div
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_div_1_1SWIG_11(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong
      jarg3, jobject jarg3_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - jenv
    - jcls
    argTypes:
    - JNIEnv*
    - jclass
    constantsTouched: []
    func_position:
      end: 1109
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1109
    functionName: Java_com_herumi_mcl_MclJNI_new_1Fp_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - Fp::Fp
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_new_1Fp_1_1SWIG_10(JNIEnv *jenv,
      jclass jcls)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1122,1
    - Dst: Fp::Fp
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1128
      start: 1112
    functionDepth: 1
    functionLinenumber: 1112
    functionLinenumberEnd: 1128
    functionName: Java_com_herumi_mcl_MclJNI_new_1Fp_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - Fp::Fp
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_new_1Fp_1_1SWIG_11(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - jenv
    - jcls
    - jarg1
    argTypes:
    - JNIEnv*
    - jclass
    - jint
    constantsTouched: []
    func_position:
      end: 1142
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1142
    functionName: Java_com_herumi_mcl_MclJNI_new_1Fp_1_1SWIG_12
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - Fp::Fp
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_new_1Fp_1_1SWIG_12(JNIEnv *jenv,
      jclass jcls, jint jarg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1154,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1161,1
    - Dst: Fp::Fp
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1164,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1166,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jstring
    - jint
    constantsTouched: []
    func_position:
      end: 1171
      start: 1145
    functionDepth: 1
    functionLinenumber: 1145
    functionLinenumberEnd: 1171
    functionName: Java_com_herumi_mcl_MclJNI_new_1Fp_1_1SWIG_13
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - Fp::Fp
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_new_1Fp_1_1SWIG_13(JNIEnv *jenv,
      jclass jcls, jstring jarg1, jint jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1182,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1189,1
    - Dst: Fp::Fp
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1191,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1193,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - jenv
    - jcls
    - jarg1
    argTypes:
    - JNIEnv*
    - jclass
    - jstring
    constantsTouched: []
    func_position:
      end: 1198
      start: 1174
    functionDepth: 1
    functionLinenumber: 1174
    functionLinenumberEnd: 1198
    functionName: Java_com_herumi_mcl_MclJNI_new_1Fp_1_1SWIG_14
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - Fp::Fp
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_new_1Fp_1_1SWIG_14(JNIEnv *jenv,
      jclass jcls, jstring jarg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1214,1
    - Dst: equals
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1220
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1220
    functionName: Java_com_herumi_mcl_MclJNI_Fp_1equals
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - equals
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fp_1equals(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isZero
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1235
      start: 1223
    functionDepth: 2
    functionLinenumber: 1223
    functionLinenumberEnd: 1235
    functionName: Java_com_herumi_mcl_MclJNI_Fp_1isZero
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - isZero
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fp_1isZero(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isOne
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1250
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1250
    functionName: Java_com_herumi_mcl_MclJNI_Fp_1isOne
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - isOne
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fp_1isOne(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1263,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1270,1
    - Dst: setStr
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1273,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1275,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg3
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jstring
    - jint
    constantsTouched: []
    func_position:
      end: 1278
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1278
    functionName: Java_com_herumi_mcl_MclJNI_Fp_1setStr_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - setStr
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fp_1setStr_1_1SWIG_10(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jint jarg3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1290,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1297,1
    - Dst: setStr
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1299,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1301,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jstring
    constantsTouched: []
    func_position:
      end: 1304
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1304
    functionName: Java_com_herumi_mcl_MclJNI_Fp_1setStr_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - setStr
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fp_1setStr_1_1SWIG_11(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setInt
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jint
    constantsTouched: []
    func_position:
      end: 1317
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1317
    functionName: Java_com_herumi_mcl_MclJNI_Fp_1setInt
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - setInt
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fp_1setInt(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_, jint jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1328
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1328
    functionName: Java_com_herumi_mcl_MclJNI_Fp_1clear
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fp_1clear(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setByCSPRNG
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1339
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1339
    functionName: Java_com_herumi_mcl_MclJNI_Fp_1setByCSPRNG
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - setByCSPRNG
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fp_1setByCSPRNG(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1354,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1356,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1356,1
    - Dst: JNIEnv*::NewStringUTF
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1359,1
    - Dst: c_str
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jint
    constantsTouched: []
    func_position:
      end: 1361
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1361
    functionName: Java_com_herumi_mcl_MclJNI_Fp_1toString_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - c_str
    - JNIEnv*::NewStringUTF
    - what
    - toString
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fp_1toString_1_1SWIG_10(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1374,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1376,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1376,1
    - Dst: JNIEnv*::NewStringUTF
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1379,1
    - Dst: c_str
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1381
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1381
    functionName: Java_com_herumi_mcl_MclJNI_Fp_1toString_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - c_str
    - JNIEnv*::NewStringUTF
    - what
    - toString
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fp_1toString_1_1SWIG_11(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JNIEnv*::GetByteArrayElements
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1395,1
    - Dst: JNIEnv*::GetArrayLength
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1396,1
    - Dst: deserialize
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1403,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1405,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1405,1
    - Dst: JNIEnv*::ReleaseByteArrayElements
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jbyteArray
    constantsTouched: []
    func_position:
      end: 1412
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1412
    functionName: Java_com_herumi_mcl_MclJNI_Fp_1deserialize
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - what
    - JNIEnv*::ReleaseByteArrayElements
    - deserialize
    - JNIEnv*::GetByteArrayElements
    - JNIEnv*::GetArrayLength
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fp_1deserialize(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jbyteArray jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1427,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1429,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1429,1
    - Dst: JNIEnv*::NewByteArray
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1433,1
    - Dst: std::string*::size
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1433,1
    - Dst: JNIEnv*::SetByteArrayRegion
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1434,1
    - Dst: std::string*::size
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1434,1
    - Dst: std::string*::c_str
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1437
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1437
    functionName: Java_com_herumi_mcl_MclJNI_Fp_1serialize
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::NewByteArray
    - what
    - std::string*::c_str
    - JNIEnv*::SetByteArrayRegion
    - serialize
    - std::string*::size
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_Fp_1serialize(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - jenv
    - jcls
    - jarg1
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    constantsTouched: []
    func_position:
      end: 1447
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1447
    functionName: Java_com_herumi_mcl_MclJNI_delete_1Fp
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_delete_1Fp(JNIEnv *jenv, jclass
      jcls, jlong jarg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1460,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1465,1
    - Dst: neg
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1469
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1469
    functionName: Java_com_herumi_mcl_MclJNI_neg_1_1SWIG_12
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - neg
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_neg_1_1SWIG_12(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1482,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1487,1
    - Dst: dbl
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1491
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1491
    functionName: Java_com_herumi_mcl_MclJNI_dbl_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - dbl
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_dbl_1_1SWIG_10(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1506,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1511,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1516,1
    - Dst: add
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 8
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    - jarg3_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1520
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1520
    functionName: Java_com_herumi_mcl_MclJNI_add_1_1SWIG_12
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - add
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_add_1_1SWIG_12(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong
      jarg3, jobject jarg3_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1535,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1540,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1545,1
    - Dst: sub
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 8
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    - jarg3_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1549
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1549
    functionName: Java_com_herumi_mcl_MclJNI_sub_1_1SWIG_12
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - sub
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_sub_1_1SWIG_12(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong
      jarg3, jobject jarg3_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1564,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1569,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1574,1
    - Dst: pairing
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 8
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    - jarg3_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1578
      start: 1552
    functionDepth: 1
    functionLinenumber: 1552
    functionLinenumberEnd: 1578
    functionName: Java_com_herumi_mcl_MclJNI_pairing
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - pairing
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_pairing(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3,
      jobject jarg3_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1591,1
    - Dst: JNIEnv*::GetByteArrayElements
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1596,1
    - Dst: JNIEnv*::GetArrayLength
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1597,1
    - Dst: hashAndMapToG1
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1604,1
    - Dst: SWIG_STD_MOVE
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1604,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1606,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1606,1
    - Dst: JNIEnv*::ReleaseByteArrayElements
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jbyteArray
    constantsTouched: []
    func_position:
      end: 1613
      start: 1581
    functionDepth: 1
    functionLinenumber: 1581
    functionLinenumberEnd: 1613
    functionName: Java_com_herumi_mcl_MclJNI_hashAndMapToG1
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - hashAndMapToG1
    - what
    - SWIG_STD_MOVE
    - JNIEnv*::ReleaseByteArrayElements
    - JNIEnv*::GetByteArrayElements
    - JNIEnv*::GetArrayLength
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_hashAndMapToG1(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jbyteArray jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::G1
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - jenv
    - jcls
    argTypes:
    - JNIEnv*
    - jclass
    constantsTouched: []
    func_position:
      end: 1625
      start: 1616
    functionDepth: 1
    functionLinenumber: 1616
    functionLinenumberEnd: 1625
    functionName: Java_com_herumi_mcl_MclJNI_new_1G1_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - G1::G1
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_new_1G1_1_1SWIG_10(JNIEnv *jenv,
      jclass jcls)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1638,1
    - Dst: G1::G1
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1644
      start: 1628
    functionDepth: 1
    functionLinenumber: 1628
    functionLinenumberEnd: 1644
    functionName: Java_com_herumi_mcl_MclJNI_new_1G1_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - G1::G1
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_new_1G1_1_1SWIG_11(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1659,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1664,1
    - Dst: G1::G1
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1668,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1670,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1670,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1675
      start: 1647
    functionDepth: 1
    functionLinenumber: 1647
    functionLinenumberEnd: 1675
    functionName: Java_com_herumi_mcl_MclJNI_new_1G1_1_1SWIG_12
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - G1::G1
    - SWIG_JavaThrowException
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_new_1G1_1_1SWIG_12(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1691,1
    - Dst: equals
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1697
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1697
    functionName: Java_com_herumi_mcl_MclJNI_G1_1equals
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - equals
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G1_1equals(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isZero
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1712
      start: 1700
    functionDepth: 2
    functionLinenumber: 1700
    functionLinenumberEnd: 1712
    functionName: Java_com_herumi_mcl_MclJNI_G1_1isZero
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - isZero
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G1_1isZero(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isValidOrder
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1727
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1727
    functionName: Java_com_herumi_mcl_MclJNI_G1_1isValidOrder
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - isValidOrder
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G1_1isValidOrder(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1743,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1748,1
    - Dst: set
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1752,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1754,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 8
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    - jarg3_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1757
      start: 1730
    functionDepth: 0
    functionLinenumber: 1730
    functionLinenumberEnd: 1757
    functionName: Java_com_herumi_mcl_MclJNI_G1_1set
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - set
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G1_1set(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3,
      jobject jarg3_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1768
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1768
    functionName: Java_com_herumi_mcl_MclJNI_G1_1clear
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G1_1clear(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1781,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1788,1
    - Dst: setStr
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1791,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1793,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1793,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg3
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jstring
    - jint
    constantsTouched: []
    func_position:
      end: 1796
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1796
    functionName: Java_com_herumi_mcl_MclJNI_G1_1setStr_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - setStr
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G1_1setStr_1_1SWIG_10(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jint jarg3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1808,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1815,1
    - Dst: setStr
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1817,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1819,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jstring
    constantsTouched: []
    func_position:
      end: 1822
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1822
    functionName: Java_com_herumi_mcl_MclJNI_G1_1setStr_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - setStr
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G1_1setStr_1_1SWIG_11(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1837,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1839,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1839,1
    - Dst: JNIEnv*::NewStringUTF
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1842,1
    - Dst: c_str
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jint
    constantsTouched: []
    func_position:
      end: 1844
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1844
    functionName: Java_com_herumi_mcl_MclJNI_G1_1toString_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - c_str
    - JNIEnv*::NewStringUTF
    - what
    - toString
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G1_1toString_1_1SWIG_10(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1857,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1859,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1859,1
    - Dst: JNIEnv*::NewStringUTF
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1862,1
    - Dst: c_str
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1862,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1864
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1864
    functionName: Java_com_herumi_mcl_MclJNI_G1_1toString_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - c_str
    - JNIEnv*::NewStringUTF
    - what
    - toString
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G1_1toString_1_1SWIG_11(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JNIEnv*::GetByteArrayElements
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1878,1
    - Dst: JNIEnv*::GetArrayLength
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1879,1
    - Dst: deserialize
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1886,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1888,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1888,1
    - Dst: JNIEnv*::ReleaseByteArrayElements
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1892,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jbyteArray
    constantsTouched: []
    func_position:
      end: 1895
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1895
    functionName: Java_com_herumi_mcl_MclJNI_G1_1deserialize
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - what
    - JNIEnv*::ReleaseByteArrayElements
    - deserialize
    - JNIEnv*::GetByteArrayElements
    - JNIEnv*::GetArrayLength
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G1_1deserialize(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jbyteArray jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1910,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1912,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1912,1
    - Dst: JNIEnv*::NewByteArray
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1916,1
    - Dst: std::string*::size
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1916,1
    - Dst: JNIEnv*::SetByteArrayRegion
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1917,1
    - Dst: std::string*::size
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1917,1
    - Dst: std::string*::c_str
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1917,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1920
      start: 1898
    functionDepth: 1
    functionLinenumber: 1898
    functionLinenumberEnd: 1920
    functionName: Java_com_herumi_mcl_MclJNI_G1_1serialize
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::NewByteArray
    - what
    - std::string*::c_str
    - JNIEnv*::SetByteArrayRegion
    - serialize
    - std::string*::size
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G1_1serialize(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: normalize
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1931
      start: 1923
    functionDepth: 4
    functionLinenumber: 1923
    functionLinenumberEnd: 1931
    functionName: Java_com_herumi_mcl_MclJNI_G1_1normalize
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - normalize
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G1_1normalize(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1945,1
    - Dst: tryAndIncMapTo
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1948,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1949
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1949
    functionName: Java_com_herumi_mcl_MclJNI_G1_1tryAndIncMapTo
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - tryAndIncMapTo
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G1_1tryAndIncMapTo(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1955,1
    - Dst: getX
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1961,1
    - Dst: Fp::Fp
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1964
      start: 1952
    functionDepth: 1
    functionLinenumber: 1952
    functionLinenumberEnd: 1964
    functionName: Java_com_herumi_mcl_MclJNI_G1_1getX
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - Fp::Fp
    - getX
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G1_1getX(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1970,1
    - Dst: getY
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1976,1
    - Dst: Fp::Fp
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1979
      start: 1967
    functionDepth: 1
    functionLinenumber: 1967
    functionLinenumberEnd: 1979
    functionName: Java_com_herumi_mcl_MclJNI_G1_1getY
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - getY
    - Fp::Fp
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G1_1getY(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1985,1
    - Dst: getZ
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1991,1
    - Dst: Fp::Fp
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:1992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1994
      start: 1982
    functionDepth: 1
    functionLinenumber: 1982
    functionLinenumberEnd: 1994
    functionName: Java_com_herumi_mcl_MclJNI_G1_1getZ
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - Fp::Fp
    - getZ
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G1_1getZ(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - jenv
    - jcls
    - jarg1
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    constantsTouched: []
    func_position:
      end: 2004
      start: 1997
    functionDepth: 0
    functionLinenumber: 1997
    functionLinenumberEnd: 2004
    functionName: Java_com_herumi_mcl_MclJNI_delete_1G1
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_delete_1G1(JNIEnv *jenv, jclass
      jcls, jlong jarg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2017,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2022,1
    - Dst: neg
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2025,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2026
      start: 2007
    functionDepth: 0
    functionLinenumber: 2007
    functionLinenumberEnd: 2026
    functionName: Java_com_herumi_mcl_MclJNI_neg_1_1SWIG_13
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - neg
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_neg_1_1SWIG_13(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2039,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2044,1
    - Dst: dbl
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2047,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2048
      start: 2029
    functionDepth: 0
    functionLinenumber: 2029
    functionLinenumberEnd: 2048
    functionName: Java_com_herumi_mcl_MclJNI_dbl_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - dbl
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_dbl_1_1SWIG_11(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2063,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2068,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2073,1
    - Dst: add
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2076,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 8
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    - jarg3_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2077
      start: 2051
    functionDepth: 0
    functionLinenumber: 2051
    functionLinenumberEnd: 2077
    functionName: Java_com_herumi_mcl_MclJNI_add_1_1SWIG_13
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - add
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_add_1_1SWIG_13(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong
      jarg3, jobject jarg3_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2092,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2097,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2102,1
    - Dst: sub
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 8
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    - jarg3_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2106
      start: 2080
    functionDepth: 0
    functionLinenumber: 2080
    functionLinenumberEnd: 2106
    functionName: Java_com_herumi_mcl_MclJNI_sub_1_1SWIG_13
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - sub
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_sub_1_1SWIG_13(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong
      jarg3, jobject jarg3_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2119,1
    - Dst: JNIEnv*::GetByteArrayElements
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2124,1
    - Dst: JNIEnv*::GetArrayLength
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2125,1
    - Dst: hashAndMapToG2
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2132,1
    - Dst: SWIG_STD_MOVE
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2132,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2134,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2134,1
    - Dst: JNIEnv*::ReleaseByteArrayElements
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jbyteArray
    constantsTouched: []
    func_position:
      end: 2141
      start: 2109
    functionDepth: 1
    functionLinenumber: 2109
    functionLinenumberEnd: 2141
    functionName: Java_com_herumi_mcl_MclJNI_hashAndMapToG2
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - what
    - hashAndMapToG2
    - SWIG_STD_MOVE
    - JNIEnv*::ReleaseByteArrayElements
    - JNIEnv*::GetByteArrayElements
    - JNIEnv*::GetArrayLength
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_hashAndMapToG2(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jbyteArray jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G2::G2
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - jenv
    - jcls
    argTypes:
    - JNIEnv*
    - jclass
    constantsTouched: []
    func_position:
      end: 2153
      start: 2144
    functionDepth: 1
    functionLinenumber: 2144
    functionLinenumberEnd: 2153
    functionName: Java_com_herumi_mcl_MclJNI_new_1G2_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - G2::G2
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_new_1G2_1_1SWIG_10(JNIEnv *jenv,
      jclass jcls)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2166,1
    - Dst: G2::G2
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2172
      start: 2156
    functionDepth: 1
    functionLinenumber: 2156
    functionLinenumberEnd: 2172
    functionName: Java_com_herumi_mcl_MclJNI_new_1G2_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - G2::G2
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_new_1G2_1_1SWIG_11(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2191,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2196,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2201,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2206,1
    - Dst: G2::G2
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2210,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2212,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 10
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    - jarg3_
    - jarg4
    - jarg4_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2217
      start: 2175
    functionDepth: 1
    functionLinenumber: 2175
    functionLinenumberEnd: 2217
    functionName: Java_com_herumi_mcl_MclJNI_new_1G2_1_1SWIG_12
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - G2::G2
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_new_1G2_1_1SWIG_12(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong
      jarg3, jobject jarg3_, jlong jarg4, jobject jarg4_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2233,1
    - Dst: equals
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2239
      start: 2220
    functionDepth: 0
    functionLinenumber: 2220
    functionLinenumberEnd: 2239
    functionName: Java_com_herumi_mcl_MclJNI_G2_1equals
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - equals
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G2_1equals(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isZero
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2254
      start: 2242
    functionDepth: 2
    functionLinenumber: 2242
    functionLinenumberEnd: 2254
    functionName: Java_com_herumi_mcl_MclJNI_G2_1isZero
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - isZero
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G2_1isZero(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2274,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2279,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2284,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2289,1
    - Dst: set
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2293,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2295,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 12
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    - jarg3_
    - jarg4
    - jarg4_
    - jarg5
    - jarg5_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2298
      start: 2257
    functionDepth: 0
    functionLinenumber: 2257
    functionLinenumberEnd: 2298
    functionName: Java_com_herumi_mcl_MclJNI_G2_1set
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - set
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G2_1set(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3,
      jobject jarg3_, jlong jarg4, jobject jarg4_, jlong jarg5, jobject jarg5_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2309
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2309
    functionName: Java_com_herumi_mcl_MclJNI_G2_1clear
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G2_1clear(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2322,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2329,1
    - Dst: setStr
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2332,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2334,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg3
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jstring
    - jint
    constantsTouched: []
    func_position:
      end: 2337
      start: 2312
    functionDepth: 0
    functionLinenumber: 2312
    functionLinenumberEnd: 2337
    functionName: Java_com_herumi_mcl_MclJNI_G2_1setStr_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - setStr
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G2_1setStr_1_1SWIG_10(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jint jarg3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2349,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2356,1
    - Dst: setStr
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2358,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2360,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jstring
    constantsTouched: []
    func_position:
      end: 2363
      start: 2340
    functionDepth: 0
    functionLinenumber: 2340
    functionLinenumberEnd: 2363
    functionName: Java_com_herumi_mcl_MclJNI_G2_1setStr_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - setStr
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G2_1setStr_1_1SWIG_11(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2378,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2380,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2380,1
    - Dst: JNIEnv*::NewStringUTF
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2383,1
    - Dst: c_str
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jint
    constantsTouched: []
    func_position:
      end: 2385
      start: 2366
    functionDepth: 0
    functionLinenumber: 2366
    functionLinenumberEnd: 2385
    functionName: Java_com_herumi_mcl_MclJNI_G2_1toString_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - c_str
    - JNIEnv*::NewStringUTF
    - what
    - toString
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G2_1toString_1_1SWIG_10(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2398,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2400,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2400,1
    - Dst: JNIEnv*::NewStringUTF
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2403,1
    - Dst: c_str
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2405
      start: 2388
    functionDepth: 0
    functionLinenumber: 2388
    functionLinenumberEnd: 2405
    functionName: Java_com_herumi_mcl_MclJNI_G2_1toString_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - c_str
    - JNIEnv*::NewStringUTF
    - what
    - toString
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G2_1toString_1_1SWIG_11(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JNIEnv*::GetByteArrayElements
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2419,1
    - Dst: JNIEnv*::GetArrayLength
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2420,1
    - Dst: deserialize
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2427,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2429,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2429,1
    - Dst: JNIEnv*::ReleaseByteArrayElements
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jbyteArray
    constantsTouched: []
    func_position:
      end: 2436
      start: 2408
    functionDepth: 0
    functionLinenumber: 2408
    functionLinenumberEnd: 2436
    functionName: Java_com_herumi_mcl_MclJNI_G2_1deserialize
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - what
    - JNIEnv*::ReleaseByteArrayElements
    - deserialize
    - JNIEnv*::GetByteArrayElements
    - JNIEnv*::GetArrayLength
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G2_1deserialize(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jbyteArray jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2451,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2453,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2453,1
    - Dst: JNIEnv*::NewByteArray
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2457,1
    - Dst: std::string*::size
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2457,1
    - Dst: JNIEnv*::SetByteArrayRegion
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2458,1
    - Dst: std::string*::size
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2458,1
    - Dst: std::string*::c_str
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2461
      start: 2439
    functionDepth: 1
    functionLinenumber: 2439
    functionLinenumberEnd: 2461
    functionName: Java_com_herumi_mcl_MclJNI_G2_1serialize
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::NewByteArray
    - what
    - std::string*::c_str
    - JNIEnv*::SetByteArrayRegion
    - serialize
    - std::string*::size
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G2_1serialize(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: normalize
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2472
      start: 2464
    functionDepth: 4
    functionLinenumber: 2464
    functionLinenumberEnd: 2472
    functionName: Java_com_herumi_mcl_MclJNI_G2_1normalize
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - normalize
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_G2_1normalize(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - jenv
    - jcls
    - jarg1
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    constantsTouched: []
    func_position:
      end: 2482
      start: 2475
    functionDepth: 0
    functionLinenumber: 2475
    functionLinenumberEnd: 2482
    functionName: Java_com_herumi_mcl_MclJNI_delete_1G2
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_delete_1G2(JNIEnv *jenv, jclass
      jcls, jlong jarg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2497,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2502,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2507,1
    - Dst: mul
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 8
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    - jarg3_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2511
      start: 2485
    functionDepth: 0
    functionLinenumber: 2485
    functionLinenumberEnd: 2511
    functionName: Java_com_herumi_mcl_MclJNI_mul_1_1SWIG_14
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - mul
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_mul_1_1SWIG_14(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong
      jarg3, jobject jarg3_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2524,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2529,1
    - Dst: inv
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2533
      start: 2514
    functionDepth: 0
    functionLinenumber: 2514
    functionLinenumberEnd: 2533
    functionName: Java_com_herumi_mcl_MclJNI_inv_1_1SWIG_12
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - inv
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_inv_1_1SWIG_12(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GT::GT
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - jenv
    - jcls
    argTypes:
    - JNIEnv*
    - jclass
    constantsTouched: []
    func_position:
      end: 2545
      start: 2536
    functionDepth: 1
    functionLinenumber: 2536
    functionLinenumberEnd: 2545
    functionName: Java_com_herumi_mcl_MclJNI_new_1GT_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - GT::GT
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_new_1GT_1_1SWIG_10(JNIEnv *jenv,
      jclass jcls)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2558,1
    - Dst: GT::GT
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2564
      start: 2548
    functionDepth: 1
    functionLinenumber: 2548
    functionLinenumberEnd: 2564
    functionName: Java_com_herumi_mcl_MclJNI_new_1GT_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - GT::GT
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_new_1GT_1_1SWIG_11(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2580,1
    - Dst: equals
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2586
      start: 2567
    functionDepth: 0
    functionLinenumber: 2567
    functionLinenumberEnd: 2586
    functionName: Java_com_herumi_mcl_MclJNI_GT_1equals
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - equals
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_GT_1equals(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isOne
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2601
      start: 2589
    functionDepth: 0
    functionLinenumber: 2589
    functionLinenumberEnd: 2601
    functionName: Java_com_herumi_mcl_MclJNI_GT_1isOne
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - isOne
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_GT_1isOne(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2612
      start: 2604
    functionDepth: 0
    functionLinenumber: 2604
    functionLinenumberEnd: 2612
    functionName: Java_com_herumi_mcl_MclJNI_GT_1clear
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_GT_1clear(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2625,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2632,1
    - Dst: setStr
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2635,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2637,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg3
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jstring
    - jint
    constantsTouched: []
    func_position:
      end: 2640
      start: 2615
    functionDepth: 0
    functionLinenumber: 2615
    functionLinenumberEnd: 2640
    functionName: Java_com_herumi_mcl_MclJNI_GT_1setStr_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - setStr
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_GT_1setStr_1_1SWIG_10(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jint jarg3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2652,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2659,1
    - Dst: setStr
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2661,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2663,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2663,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jstring
    constantsTouched: []
    func_position:
      end: 2666
      start: 2643
    functionDepth: 0
    functionLinenumber: 2643
    functionLinenumberEnd: 2666
    functionName: Java_com_herumi_mcl_MclJNI_GT_1setStr_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - setStr
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_GT_1setStr_1_1SWIG_11(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2681,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2683,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2683,1
    - Dst: JNIEnv*::NewStringUTF
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2686,1
    - Dst: c_str
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jint
    constantsTouched: []
    func_position:
      end: 2688
      start: 2669
    functionDepth: 0
    functionLinenumber: 2669
    functionLinenumberEnd: 2688
    functionName: Java_com_herumi_mcl_MclJNI_GT_1toString_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - c_str
    - JNIEnv*::NewStringUTF
    - what
    - toString
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_GT_1toString_1_1SWIG_10(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2701,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2703,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2703,1
    - Dst: JNIEnv*::NewStringUTF
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2706,1
    - Dst: c_str
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2708
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2708
    functionName: Java_com_herumi_mcl_MclJNI_GT_1toString_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - c_str
    - JNIEnv*::NewStringUTF
    - what
    - toString
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_GT_1toString_1_1SWIG_11(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JNIEnv*::GetByteArrayElements
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2722,1
    - Dst: JNIEnv*::GetArrayLength
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2723,1
    - Dst: deserialize
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2730,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2732,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2732,1
    - Dst: JNIEnv*::ReleaseByteArrayElements
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jbyteArray
    constantsTouched: []
    func_position:
      end: 2739
      start: 2711
    functionDepth: 0
    functionLinenumber: 2711
    functionLinenumberEnd: 2739
    functionName: Java_com_herumi_mcl_MclJNI_GT_1deserialize
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - what
    - JNIEnv*::ReleaseByteArrayElements
    - deserialize
    - JNIEnv*::GetByteArrayElements
    - JNIEnv*::GetArrayLength
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_GT_1deserialize(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jbyteArray jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2754,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2756,1
    - Dst: what
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2756,1
    - Dst: JNIEnv*::NewByteArray
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2760,1
    - Dst: std::string*::size
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2760,1
    - Dst: JNIEnv*::SetByteArrayRegion
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2761,1
    - Dst: std::string*::size
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2761,1
    - Dst: std::string*::c_str
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 2764
      start: 2742
    functionDepth: 1
    functionLinenumber: 2742
    functionLinenumberEnd: 2764
    functionName: Java_com_herumi_mcl_MclJNI_GT_1serialize
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::NewByteArray
    - what
    - std::string*::c_str
    - JNIEnv*::SetByteArrayRegion
    - serialize
    - std::string*::size
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_GT_1serialize(JNIEnv *jenv, jclass
      jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - jenv
    - jcls
    - jarg1
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    constantsTouched: []
    func_position:
      end: 2774
      start: 2767
    functionDepth: 0
    functionLinenumber: 2767
    functionLinenumberEnd: 2774
    functionName: Java_com_herumi_mcl_MclJNI_delete_1GT
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_delete_1GT(JNIEnv *jenv, jclass
      jcls, jlong jarg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyOrderG1
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - jenv
    - jcls
    - jarg1
    argTypes:
    - JNIEnv*
    - jclass
    - jboolean
    constantsTouched: []
    func_position:
      end: 2784
      start: 2777
    functionDepth: 1
    functionLinenumber: 2777
    functionLinenumberEnd: 2784
    functionName: Java_com_herumi_mcl_MclJNI_verifyOrderG1
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - verifyOrderG1
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_verifyOrderG1(JNIEnv *jenv, jclass
      jcls, jboolean jarg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verifyOrderG2
      Src: /src/mcl/ffi/java/mcl_wrap.cxx:2793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - jenv
    - jcls
    - jarg1
    argTypes:
    - JNIEnv*
    - jclass
    - jboolean
    constantsTouched: []
    func_position:
      end: 2794
      start: 2787
    functionDepth: 1
    functionLinenumber: 2787
    functionLinenumberEnd: 2794
    functionName: Java_com_herumi_mcl_MclJNI_verifyOrderG2
    functionSourceFile: /src/mcl/ffi/java/mcl_wrap.cxx
    functionUses: 0
    functionsReached:
    - verifyOrderG2
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_MclJNI_verifyOrderG2(JNIEnv *jenv, jclass
      jcls, jboolean jarg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JNIEnv*::ExceptionClear
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:189,1
    - Dst: JNIEnv*::FindClass
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:190,1
    - Dst: JNIEnv*::ThrowNew
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - jenv
    - code
    - msg
    argTypes:
    - JNIEnv*
    - SWIG_JavaExceptionCodes
    - char*
    constantsTouched: []
    func_position:
      end: 193
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 193
    functionName: SWIG_JavaThrowException
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 80
    functionsReached:
    - JNIEnv*::FindClass
    - JNIEnv*::ThrowNew
    - JNIEnv*::ExceptionClear
    linkageType: ''
    returnType: void
    signature: void SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes
      code, const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: SwigValueWrapper::SwigSmartPointer
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SwigSmartPointer(T *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: ~SwigSmartPointer()
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SwigSmartPointer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SwigSmartPointer
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: '& operator=(SwigSmartPointer& rhs)'
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SwigSmartPointer
    signature: SwigSmartPointer & operator=(SwigSmartPointer& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: SwigValueWrapper::reset
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset(T *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: SwigValueWrapper::SwigValueWrapper
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SwigValueWrapper()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::T
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: '& operator=(const T& t)'
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - T::T
    linkageType: ''
    returnType: SwigValueWrapper
    signature: SwigValueWrapper & operator=(const T& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:218,1
    - Dst: T::T
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: '& operator=(T&& t)'
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - std::move
    - T::T
    linkageType: ''
    returnType: SwigValueWrapper
    signature: SwigValueWrapper & operator=(T&& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: operator T&&() const
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void operator T&&() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: operator T&() const
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator T&() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: '*operator&() const'
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T *operator&() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pointer::reset
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t'
    - p
    argTypes:
    - SwigValueWrapper
    - T*
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: SwigValueWrapper::reset
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - pointer::reset
    linkageType: ''
    returnType: void
    signature: void reset(SwigValueWrapper& t, T *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: SwigValueInit
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - T
    linkageType: ''
    returnType: T
    signature: T SwigValueInit()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: '& getParam()'
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Param
    signature: Param & getParam()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::bool
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: new_p_bool
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - bool::bool
    linkageType: ''
    returnType: bool
    signature: bool *new_p_bool(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::bool
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: copy_p_bool
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - bool::bool
    linkageType: ''
    returnType: bool
    signature: bool *copy_p_bool(bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - bool*
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: delete_p_bool
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void delete_p_bool(bool *obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - value
    argTypes:
    - bool*
    - bool
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: p_bool_assign
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void p_bool_assign(bool *obj, bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - bool*
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: p_bool_value
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool p_bool_value(bool *obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_p_bool
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - jenv
    - jcls
    argTypes:
    - JNIEnv*
    - jclass
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: Java_com_herumi_mcl_ElgamalJNI_new_1p_1bool
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - new_p_bool
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_new_1p_1bool(JNIEnv *jenv,
      jclass jcls)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_p_bool
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - jenv
    - jcls
    - jarg1
    argTypes:
    - JNIEnv*
    - jclass
    - jboolean
    constantsTouched: []
    func_position:
      end: 322
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 322
    functionName: Java_com_herumi_mcl_ElgamalJNI_copy_1p_1bool
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - copy_p_bool
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_copy_1p_1bool(JNIEnv *jenv,
      jclass jcls, jboolean jarg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: delete_p_bool
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - jenv
    - jcls
    - jarg1
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    constantsTouched: []
    func_position:
      end: 332
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 332
    functionName: Java_com_herumi_mcl_ElgamalJNI_delete_1p_1bool
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - delete_p_bool
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_delete_1p_1bool(JNIEnv *jenv,
      jclass jcls, jlong jarg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p_bool_assign
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jboolean
    constantsTouched: []
    func_position:
      end: 344
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 344
    functionName: Java_com_herumi_mcl_ElgamalJNI_p_1bool_1assign
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - p_bool_assign
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_p_1bool_1assign(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jboolean jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p_bool_value
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - jenv
    - jcls
    - jarg1
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    constantsTouched: []
    func_position:
      end: 358
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 358
    functionName: Java_com_herumi_mcl_ElgamalJNI_p_1bool_1value
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - p_bool_value
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_p_1bool_1value(JNIEnv *jenv,
      jclass jcls, jlong jarg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:367,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:374,1
    - Dst: SystemInit
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:376,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:378,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - jenv
    - jcls
    - jarg1
    argTypes:
    - JNIEnv*
    - jclass
    - jstring
    constantsTouched: []
    func_position:
      end: 381
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 381
    functionName: Java_com_herumi_mcl_ElgamalJNI_SystemInit
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - SystemInit
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_SystemInit(JNIEnv *jenv,
      jclass jcls, jstring jarg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toStr
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:394,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:396,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:396,1
    - Dst: JNIEnv*::NewStringUTF
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:399,1
    - Dst: c_str
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 401
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 401
    functionName: Java_com_herumi_mcl_ElgamalJNI_CipherText_1toStr
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - toStr
    - SWIG_JavaThrowException
    - c_str
    - JNIEnv*::NewStringUTF
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_CipherText_1toStr(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:414,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:416,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:416,1
    - Dst: JNIEnv*::NewStringUTF
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:419,1
    - Dst: c_str
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 421
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 421
    functionName: Java_com_herumi_mcl_ElgamalJNI_CipherText_1toString
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - c_str
    - JNIEnv*::NewStringUTF
    - what
    - toString
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_CipherText_1toString(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:433,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:440,1
    - Dst: fromStr
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:442,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:444,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jstring
    constantsTouched: []
    func_position:
      end: 447
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 447
    functionName: Java_com_herumi_mcl_ElgamalJNI_CipherText_1fromStr
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - fromStr
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_CipherText_1fromStr(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:461,1
    - Dst: add
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:465,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:467,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 470
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 470
    functionName: Java_com_herumi_mcl_ElgamalJNI_CipherText_1add
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - add
    - SWIG_JavaThrowException
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_CipherText_1add(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:483,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:485,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jint
    constantsTouched: []
    func_position:
      end: 488
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 488
    functionName: Java_com_herumi_mcl_ElgamalJNI_CipherText_1mul_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - what
    - mul
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_CipherText_1mul_1_1SWIG_10(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:500,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:507,1
    - Dst: mul
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:509,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:511,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jstring
    constantsTouched: []
    func_position:
      end: 514
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 514
    functionName: Java_com_herumi_mcl_ElgamalJNI_CipherText_1mul_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - what
    - mul
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_CipherText_1mul_1_1SWIG_11(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CipherText::CipherText
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - jenv
    - jcls
    argTypes:
    - JNIEnv*
    - jclass
    constantsTouched: []
    func_position:
      end: 526
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 526
    functionName: Java_com_herumi_mcl_ElgamalJNI_new_1CipherText
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - CipherText::CipherText
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_new_1CipherText(JNIEnv *jenv,
      jclass jcls)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - jenv
    - jcls
    - jarg1
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    constantsTouched: []
    func_position:
      end: 536
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 536
    functionName: Java_com_herumi_mcl_ElgamalJNI_delete_1CipherText
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_delete_1CipherText(JNIEnv
      *jenv, jclass jcls, jlong jarg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toStr
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:549,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:551,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:551,1
    - Dst: JNIEnv*::NewStringUTF
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:554,1
    - Dst: c_str
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 556
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 556
    functionName: Java_com_herumi_mcl_ElgamalJNI_PublicKey_1toStr
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - toStr
    - SWIG_JavaThrowException
    - c_str
    - JNIEnv*::NewStringUTF
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PublicKey_1toStr(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:569,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:571,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:571,1
    - Dst: JNIEnv*::NewStringUTF
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:574,1
    - Dst: c_str
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 576
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 576
    functionName: Java_com_herumi_mcl_ElgamalJNI_PublicKey_1toString
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - c_str
    - JNIEnv*::NewStringUTF
    - what
    - toString
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PublicKey_1toString(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:588,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:595,1
    - Dst: fromStr
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:597,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:599,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jstring
    constantsTouched: []
    func_position:
      end: 602
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 602
    functionName: Java_com_herumi_mcl_ElgamalJNI_PublicKey_1fromStr
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - fromStr
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PublicKey_1fromStr(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:614,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:621,1
    - Dst: save
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:623,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:625,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:625,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jstring
    constantsTouched: []
    func_position:
      end: 628
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 628
    functionName: Java_com_herumi_mcl_ElgamalJNI_PublicKey_1save
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - save
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PublicKey_1save(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:640,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:647,1
    - Dst: load
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:649,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:651,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jstring
    constantsTouched: []
    func_position:
      end: 654
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 654
    functionName: Java_com_herumi_mcl_ElgamalJNI_PublicKey_1load
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - what
    - load
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PublicKey_1load(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:669,1
    - Dst: enc
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:674,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:676,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 7
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jint
    constantsTouched: []
    func_position:
      end: 679
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 679
    functionName: Java_com_herumi_mcl_ElgamalJNI_PublicKey_1enc_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - enc
    - SWIG_JavaThrowException
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PublicKey_1enc_1_1SWIG_10(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_,
      jint jarg3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:694,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:698,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:705,1
    - Dst: enc
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:707,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:709,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 7
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jstring
    constantsTouched: []
    func_position:
      end: 712
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 712
    functionName: Java_com_herumi_mcl_ElgamalJNI_PublicKey_1enc_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - enc
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PublicKey_1enc_1_1SWIG_11(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_,
      jstring jarg3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:726,1
    - Dst: rerandomize
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:730,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:732,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 735
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 735
    functionName: Java_com_herumi_mcl_ElgamalJNI_PublicKey_1rerandomize
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - rerandomize
    - SWIG_JavaThrowException
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PublicKey_1rerandomize(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:750,1
    - Dst: add
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:755,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:757,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 7
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jint
    constantsTouched: []
    func_position:
      end: 760
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 760
    functionName: Java_com_herumi_mcl_ElgamalJNI_PublicKey_1add_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - add
    - SWIG_JavaThrowException
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PublicKey_1add_1_1SWIG_10(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_,
      jint jarg3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:775,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:779,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:786,1
    - Dst: add
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:788,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:790,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:790,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 7
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jstring
    constantsTouched: []
    func_position:
      end: 793
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 793
    functionName: Java_com_herumi_mcl_ElgamalJNI_PublicKey_1add_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - add
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PublicKey_1add_1_1SWIG_11(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_,
      jstring jarg3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicKey::PublicKey
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - jenv
    - jcls
    argTypes:
    - JNIEnv*
    - jclass
    constantsTouched: []
    func_position:
      end: 805
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 805
    functionName: Java_com_herumi_mcl_ElgamalJNI_new_1PublicKey
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - PublicKey::PublicKey
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_new_1PublicKey(JNIEnv *jenv,
      jclass jcls)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - jenv
    - jcls
    - jarg1
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    constantsTouched: []
    func_position:
      end: 815
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 815
    functionName: Java_com_herumi_mcl_ElgamalJNI_delete_1PublicKey
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_delete_1PublicKey(JNIEnv
      *jenv, jclass jcls, jlong jarg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toStr
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:828,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:830,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:830,1
    - Dst: JNIEnv*::NewStringUTF
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:833,1
    - Dst: c_str
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 835
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 835
    functionName: Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1toStr
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - toStr
    - SWIG_JavaThrowException
    - c_str
    - JNIEnv*::NewStringUTF
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1toStr(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:848,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:850,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:850,1
    - Dst: JNIEnv*::NewStringUTF
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:853,1
    - Dst: c_str
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 855
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 855
    functionName: Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1toString
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - c_str
    - JNIEnv*::NewStringUTF
    - what
    - toString
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1toString(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:867,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:874,1
    - Dst: fromStr
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:876,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:878,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jstring
    constantsTouched: []
    func_position:
      end: 881
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 881
    functionName: Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1fromStr
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - fromStr
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1fromStr(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:893,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:900,1
    - Dst: save
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:902,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:904,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:904,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jstring
    constantsTouched: []
    func_position:
      end: 907
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 907
    functionName: Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1save
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - save
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1save(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:919,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:926,1
    - Dst: load
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:928,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:930,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jstring
    constantsTouched: []
    func_position:
      end: 933
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 933
    functionName: Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1load
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - JNIEnv*::ReleaseStringUTFChars
    - what
    - load
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1load(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:944,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:946,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 949
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 949
    functionName: Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1init
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - init
    - what
    - SWIG_JavaThrowException
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1init(JNIEnv *jenv,
      jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getPublicKey
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:962,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:964,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:964,1
    - Dst: PublicKey::PublicKey
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:967,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 969
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 969
    functionName: Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1getPublicKey
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - PublicKey::PublicKey
    - getPublicKey
    - SWIG_JavaThrowException
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1getPublicKey(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:986,1
    - Dst: dec
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:991,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:993,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 7
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    - jarg3
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    - jlong
    constantsTouched: []
    func_position:
      end: 998
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 998
    functionName: Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1dec_1_1SWIG_10
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - dec
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1dec_1_1SWIG_10(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_,
      jlong jarg3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:1014,1
    - Dst: dec
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:1018,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:1020,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:1020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg2_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1025
      start: 1001
    functionDepth: 1
    functionLinenumber: 1001
    functionLinenumberEnd: 1025
    functionName: Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1dec_1_1SWIG_11
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - dec
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1dec_1_1SWIG_11(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setCache
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:1040,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:1042,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:1042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    - jarg2
    - jarg3
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    - jint
    - jint
    constantsTouched: []
    func_position:
      end: 1045
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1045
    functionName: Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1setCache
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - setCache
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1setCache(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jint jarg3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clearCache
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:1056,1
    - Dst: SWIG_JavaThrowException
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:1058,1
    - Dst: what
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:1058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - jenv
    - jcls
    - jarg1
    - jarg1_
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    - jobject
    constantsTouched: []
    func_position:
      end: 1061
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1061
    functionName: Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1clearCache
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - SWIG_JavaThrowException
    - clearCache
    - what
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_PrivateKey_1clearCache(JNIEnv
      *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateKey::PrivateKey
      Src: /src/mcl/ffi/java/elgamal_wrap.cxx:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - jenv
    - jcls
    argTypes:
    - JNIEnv*
    - jclass
    constantsTouched: []
    func_position:
      end: 1073
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1073
    functionName: Java_com_herumi_mcl_ElgamalJNI_new_1PrivateKey
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached:
    - PrivateKey::PrivateKey
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_new_1PrivateKey(JNIEnv *jenv,
      jclass jcls)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - jenv
    - jcls
    - jarg1
    argTypes:
    - JNIEnv*
    - jclass
    - jlong
    constantsTouched: []
    func_position:
      end: 1083
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1083
    functionName: Java_com_herumi_mcl_ElgamalJNI_delete_1PrivateKey
    functionSourceFile: /src/mcl/ffi/java/elgamal_wrap.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SWIGEXPORT
    signature: SWIGEXPORT Java_com_herumi_mcl_ElgamalJNI_delete_1PrivateKey(JNIEnv
      *jenv, jclass jcls, jlong jarg1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::initCurve<mcl::bn::G1>
      Src: /src/mcl/ffi/java/mcl_impl.hpp:19,1
    - Dst: std::runtime_error
      Src: /src/mcl/ffi/java/mcl_impl.hpp:28,1
    - Dst: mcl::initPairing
      Src: /src/mcl/ffi/java/mcl_impl.hpp:30,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - curveType
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 31
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 31
    functionName: SystemInit
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 2
    functionsReached:
    - mcl::initPairing
    - std::runtime_error
    - mcl::initCurve<mcl::bn::G1>
    linkageType: ''
    returnType: void
    signature: void SystemInit(int curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deserialize
      Src: /src/mcl/ffi/java/mcl_impl.hpp:36,1
    - Dst: std::runtime_error
      Src: /src/mcl/ffi/java/mcl_impl.hpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ' x'
    - cbuf
    - bufSize
    argTypes:
    - T
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: deserializeT
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - deserialize
    linkageType: ''
    returnType: void
    signature: void deserializeT(T& x, const char *cbuf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setLittleEndianMod
      Src: /src/mcl/ffi/java/mcl_impl.hpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - cbuf
    - bufSize
    argTypes:
    - T
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: setLittleEndianModT
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached:
    - setLittleEndianMod
    linkageType: ''
    returnType: void
    signature: void setLittleEndianModT(T& x, const char *cbuf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setHashOf
      Src: /src/mcl/ffi/java/mcl_impl.hpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - cbuf
    - bufSize
    argTypes:
    - T
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: setHashOfT
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached:
    - setHashOf
    linkageType: ''
    returnType: void
    signature: void setHashOfT(T& x, const char *cbuf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/mcl/ffi/java/mcl_impl.hpp:56,1
    - Dst: std::runtime_error
      Src: /src/mcl/ffi/java/mcl_impl.hpp:58,1
    - Dst: resize
      Src: /src/mcl/ffi/java/mcl_impl.hpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' x'
    argTypes:
    - std::string
    - T
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: serializeT
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - resize
    linkageType: ''
    returnType: void
    signature: void serializeT(std::string& out, const T& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Fr::Fr
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fr()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Fr
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Fr::Fr
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fr(const Fr& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Fr::Fr
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fr(int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: Fr::Fr
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fr(const std::string& str, int base = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Fr
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: Fr::equals
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool equals(const Fr& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fr::isZero
      Src: /src/mcl/ffi/java/mcl_impl.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: Fr::isZero
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 1
    functionsReached:
    - Fr::isZero
    linkageType: ''
    returnType: bool
    signature: bool isZero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fr::isOne
      Src: /src/mcl/ffi/java/mcl_impl.hpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Fr::isOne
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 1
    functionsReached:
    - Fr::isOne
    linkageType: ''
    returnType: bool
    signature: bool isOne() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fr::setStr
      Src: /src/mcl/ffi/java/mcl_impl.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: Fr::setStr
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 2
    functionsReached:
    - Fr::setStr
    linkageType: ''
    returnType: void
    signature: void setStr(const std::string& str, int base = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: Fr::setInt
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setInt(int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fr::clear
      Src: /src/mcl/ffi/java/mcl_impl.hpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: Fr::clear
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 3
    functionsReached:
    - Fr::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fr::setByCSPRNG
      Src: /src/mcl/ffi/java/mcl_impl.hpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: Fr::setByCSPRNG
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 7
    functionsReached:
    - Fr::setByCSPRNG
    linkageType: ''
    returnType: void
    signature: void setByCSPRNG()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getStr
      Src: /src/mcl/ffi/java/mcl_impl.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: Fr::toString
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached:
    - getStr
    linkageType: ''
    returnType: std::string
    signature: std::string toString(int base = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deserializeT
      Src: /src/mcl/ffi/java/mcl_impl.hpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cbuf
    - bufSize
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: Fr::deserialize
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached:
    - deserializeT
    linkageType: ''
    returnType: void
    signature: void deserialize(const char *cbuf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setLittleEndianModT
      Src: /src/mcl/ffi/java/mcl_impl.hpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cbuf
    - bufSize
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: Fr::setLittleEndianMod
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached:
    - setLittleEndianModT
    linkageType: ''
    returnType: void
    signature: void setLittleEndianMod(const char *cbuf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setHashOfT
      Src: /src/mcl/ffi/java/mcl_impl.hpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cbuf
    - bufSize
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: Fr::setHashOf
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 4
    functionsReached:
    - setHashOfT
    linkageType: ''
    returnType: void
    signature: void setHashOf(const char *cbuf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serializeT
      Src: /src/mcl/ffi/java/mcl_impl.hpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: Fr::serialize
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached:
    - serializeT
    linkageType: ''
    returnType: void
    signature: void serialize(std::string& out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/ffi/java/mcl_impl.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fr
    - Fr
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: neg
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 100
    functionsReached:
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void neg(Fr& y, const Fr& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_da_inv
      Src: /src/mcl/ffi/java/mcl_impl.hpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fr
    - Fr
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: inv
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 55
    functionsReached:
    - get_da_inv
    linkageType: ''
    returnType: void
    signature: void inv(Fr& y, const Fr& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/ffi/java/mcl_impl.hpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fr
    - Fr
    - Fr
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: add
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 401
    functionsReached:
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void add(Fr& z, const Fr& x, const Fr& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/ffi/java/mcl_impl.hpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fr
    - Fr
    - Fr
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: sub
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 257
    functionsReached:
    - fiat_bls12_381_fp_sub
    linkageType: ''
    returnType: void
    signature: void sub(Fr& z, const Fr& x, const Fr& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/ffi/java/mcl_impl.hpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fr
    - Fr
    - Fr
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: mul
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 459
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mul(Fr& z, const Fr& x, const Fr& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GF2m_Field::gf_div
      Src: /src/mcl/ffi/java/mcl_impl.hpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fr
    - Fr
    - Fr
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: div
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 24
    functionsReached:
    - Botan::GF2m_Field::gf_div
    linkageType: ''
    returnType: void
    signature: void div(Fr& z, const Fr& x, const Fr& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: Fp::Fp
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 82
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fp()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Fp
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: Fp::Fp
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 82
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fp(const Fp& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: Fp::Fp
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 82
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fp(int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: Fp::Fp
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 82
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fp(const std::string& str, int base = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Fp
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: Fp::equals
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool equals(const Fp& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::isZero
      Src: /src/mcl/ffi/java/mcl_impl.hpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: Fp::isZero
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 3
    functionsReached:
    - Fp::isZero
    linkageType: ''
    returnType: bool
    signature: bool isZero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::isOne
      Src: /src/mcl/ffi/java/mcl_impl.hpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: Fp::isOne
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 3
    functionsReached:
    - Fp::isOne
    linkageType: ''
    returnType: bool
    signature: bool isOne() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::setStr
      Src: /src/mcl/ffi/java/mcl_impl.hpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: Fp::setStr
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 13
    functionsReached:
    - Fp::setStr
    linkageType: ''
    returnType: void
    signature: void setStr(const std::string& str, int base = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: Fp::setInt
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setInt(int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::clear
      Src: /src/mcl/ffi/java/mcl_impl.hpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: Fp::clear
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 3
    functionsReached:
    - Fp::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::setByCSPRNG
      Src: /src/mcl/ffi/java/mcl_impl.hpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: Fp::setByCSPRNG
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 10
    functionsReached:
    - Fp::setByCSPRNG
    linkageType: ''
    returnType: void
    signature: void setByCSPRNG()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getStr
      Src: /src/mcl/ffi/java/mcl_impl.hpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: Fp::toString
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached:
    - getStr
    linkageType: ''
    returnType: std::string
    signature: std::string toString(int base = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deserializeT
      Src: /src/mcl/ffi/java/mcl_impl.hpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cbuf
    - bufSize
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: Fp::deserialize
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached:
    - deserializeT
    linkageType: ''
    returnType: void
    signature: void deserialize(const char *cbuf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serializeT
      Src: /src/mcl/ffi/java/mcl_impl.hpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: Fp::serialize
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 1
    functionsReached:
    - serializeT
    linkageType: ''
    returnType: void
    signature: void serialize(std::string& out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/ffi/java/mcl_impl.hpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: neg
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 101
    functionsReached:
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void neg(Fp& y, const Fp& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_da_inv
      Src: /src/mcl/ffi/java/mcl_impl.hpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: inv
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 56
    functionsReached:
    - get_da_inv
    linkageType: ''
    returnType: void
    signature: void inv(Fp& y, const Fp& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/ffi/java/mcl_impl.hpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: add
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 402
    functionsReached:
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void add(Fp& z, const Fp& x, const Fp& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/ffi/java/mcl_impl.hpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: sub
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 258
    functionsReached:
    - fiat_bls12_381_fp_sub
    linkageType: ''
    returnType: void
    signature: void sub(Fp& z, const Fp& x, const Fp& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/ffi/java/mcl_impl.hpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: mul
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 460
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mul(Fp& z, const Fp& x, const Fp& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::GF2m_Field::gf_div
      Src: /src/mcl/ffi/java/mcl_impl.hpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - Fp
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: div
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 25
    functionsReached:
    - Botan::GF2m_Field::gf_div
    linkageType: ''
    returnType: void
    signature: void div(Fp& z, const Fp& x, const Fp& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: G1::G1
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void G1()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - G1
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: G1::G1
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void G1(const G1& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: G1::G1
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void G1(const Fp& x, const Fp& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - G1
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: G1::equals
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool equals(const G1& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::isZero
      Src: /src/mcl/ffi/java/mcl_impl.hpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: G1::isZero
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 3
    functionsReached:
    - G1::isZero
    linkageType: ''
    returnType: bool
    signature: bool isZero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::isValidOrder
      Src: /src/mcl/ffi/java/mcl_impl.hpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 259
    functionName: G1::isValidOrder
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 2
    functionsReached:
    - G1::isValidOrder
    linkageType: ''
    returnType: bool
    signature: bool isValidOrder() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::set
      Src: /src/mcl/ffi/java/mcl_impl.hpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: G1::set
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 3
    functionsReached:
    - G1::set
    linkageType: ''
    returnType: void
    signature: void set(const Fp& x, const Fp& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::clear
      Src: /src/mcl/ffi/java/mcl_impl.hpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: G1::clear
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 8
    functionsReached:
    - G1::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::setStr
      Src: /src/mcl/ffi/java/mcl_impl.hpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: G1::setStr
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 3
    functionsReached:
    - G1::setStr
    linkageType: ''
    returnType: void
    signature: void setStr(const std::string& str, int base = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getStr
      Src: /src/mcl/ffi/java/mcl_impl.hpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: G1::toString
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached:
    - getStr
    linkageType: ''
    returnType: std::string
    signature: std::string toString(int base = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deserializeT
      Src: /src/mcl/ffi/java/mcl_impl.hpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cbuf
    - bufSize
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: G1::deserialize
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 1
    functionsReached:
    - deserializeT
    linkageType: ''
    returnType: void
    signature: void deserialize(const char *cbuf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serializeT
      Src: /src/mcl/ffi/java/mcl_impl.hpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: G1::serialize
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 1
    functionsReached:
    - serializeT
    linkageType: ''
    returnType: void
    signature: void serialize(std::string& out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1::normalize
      Src: /src/mcl/ffi/java/mcl_impl.hpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: G1::normalize
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 11
    functionsReached:
    - G1::normalize
    linkageType: ''
    returnType: void
    signature: void normalize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::ec::tryAndIncMapTo
      Src: /src/mcl/ffi/java/mcl_impl.hpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Fp
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: G1::tryAndIncMapTo
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached:
    - mcl::ec::tryAndIncMapTo
    linkageType: ''
    returnType: void
    signature: void tryAndIncMapTo(const Fp& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/ffi/java/mcl_impl.hpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 300
    functionName: G1::getX
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached:
    - Fp::Fp
    linkageType: ''
    returnType: Fp
    signature: Fp getX() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/ffi/java/mcl_impl.hpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: G1::getY
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached:
    - Fp::Fp
    linkageType: ''
    returnType: Fp
    signature: Fp getY() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp::Fp
      Src: /src/mcl/ffi/java/mcl_impl.hpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 312
    functionName: G1::getZ
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached:
    - Fp::Fp
    linkageType: ''
    returnType: Fp
    signature: Fp getZ() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/ffi/java/mcl_impl.hpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - G1
    - G1
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: neg
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 102
    functionsReached:
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void neg(G1& y, const G1& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/ffi/java/mcl_impl.hpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - G1
    - G1
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: dbl
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 39
    functionsReached:
    - Botan::ge_p2_dbl
    linkageType: ''
    returnType: void
    signature: void dbl(G1& y, const G1& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/ffi/java/mcl_impl.hpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - G1
    - G1
    - G1
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: add
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 403
    functionsReached:
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void add(G1& z, const G1& x, const G1& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/ffi/java/mcl_impl.hpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - G1
    - G1
    - G1
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: sub
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 259
    functionsReached:
    - fiat_bls12_381_fp_sub
    linkageType: ''
    returnType: void
    signature: void sub(G1& z, const G1& x, const G1& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/ffi/java/mcl_impl.hpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - G1
    - G1
    - Fr
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: mul
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 461
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mul(G1& z, const G1& x, const Fr& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 349
    functionName: G2::G2
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void G2()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - G2
    constantsTouched: []
    func_position:
      end: 350
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 350
    functionName: G2::G2
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void G2(const G2& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setFp2
      Src: /src/mcl/ffi/java/mcl_impl.hpp:352,1
    - Dst: setFp2
      Src: /src/mcl/ffi/java/mcl_impl.hpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ax'
    - ' ay'
    - ' bx'
    - ' by'
    argTypes:
    - Fp
    - Fp
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: G2::G2
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 55
    functionsReached:
    - setFp2
    linkageType: ''
    returnType: void
    signature: void G2(const Fp& ax, const Fp& ay, const Fp& bx, const Fp& by)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - G2
    constantsTouched: []
    func_position:
      end: 355
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 355
    functionName: G2::equals
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool equals(const G2& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G2::isZero
      Src: /src/mcl/ffi/java/mcl_impl.hpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 356
    functionName: G2::isZero
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 5
    functionsReached:
    - G2::isZero
    linkageType: ''
    returnType: bool
    signature: bool isZero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G2::set
      Src: /src/mcl/ffi/java/mcl_impl.hpp:359,1
    - Dst: setFp2
      Src: /src/mcl/ffi/java/mcl_impl.hpp:359,1
    - Dst: setFp2
      Src: /src/mcl/ffi/java/mcl_impl.hpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' ax'
    - ' ay'
    - ' bx'
    - ' by'
    argTypes:
    - Fp
    - Fp
    - Fp
    - Fp
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: G2::set
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 3
    functionsReached:
    - G2::set
    - setFp2
    linkageType: ''
    returnType: void
    signature: void set(const Fp& ax, const Fp& ay, const Fp& bx, const Fp& by)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G2::clear
      Src: /src/mcl/ffi/java/mcl_impl.hpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: G2::clear
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 10
    functionsReached:
    - G2::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G2::setStr
      Src: /src/mcl/ffi/java/mcl_impl.hpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: G2::setStr
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 5
    functionsReached:
    - G2::setStr
    linkageType: ''
    returnType: void
    signature: void setStr(const std::string& str, int base = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getStr
      Src: /src/mcl/ffi/java/mcl_impl.hpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: G2::toString
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached:
    - getStr
    linkageType: ''
    returnType: std::string
    signature: std::string toString(int base = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deserializeT
      Src: /src/mcl/ffi/java/mcl_impl.hpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cbuf
    - bufSize
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: G2::deserialize
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 1
    functionsReached:
    - deserializeT
    linkageType: ''
    returnType: void
    signature: void deserialize(const char *cbuf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serializeT
      Src: /src/mcl/ffi/java/mcl_impl.hpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: G2::serialize
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 1
    functionsReached:
    - serializeT
    linkageType: ''
    returnType: void
    signature: void serialize(std::string& out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G2::normalize
      Src: /src/mcl/ffi/java/mcl_impl.hpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: G2::normalize
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 10
    functionsReached:
    - G2::normalize
    linkageType: ''
    returnType: void
    signature: void normalize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/mcl/ffi/java/mcl_impl.hpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - G2
    - G2
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: neg
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 103
    functionsReached:
    - Botan::EC_Group_Data::affine_neg
    linkageType: ''
    returnType: void
    signature: void neg(G2& y, const G2& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::ge_p2_dbl
      Src: /src/mcl/ffi/java/mcl_impl.hpp:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - G2
    - G2
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: dbl
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 40
    functionsReached:
    - Botan::ge_p2_dbl
    linkageType: ''
    returnType: void
    signature: void dbl(G2& y, const G2& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_add
      Src: /src/mcl/ffi/java/mcl_impl.hpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - G2
    - G2
    - G2
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 401
    functionName: add
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 404
    functionsReached:
    - fiat_bls12_381_fp_add
    linkageType: ''
    returnType: void
    signature: void add(G2& z, const G2& x, const G2& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_sub
      Src: /src/mcl/ffi/java/mcl_impl.hpp:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - G2
    - G2
    - G2
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: sub
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 260
    functionsReached:
    - fiat_bls12_381_fp_sub
    linkageType: ''
    returnType: void
    signature: void sub(G2& z, const G2& x, const G2& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/ffi/java/mcl_impl.hpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - G2
    - G2
    - Fr
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: mul
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 462
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mul(G2& z, const G2& x, const Fr& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 421
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 421
    functionName: GT::GT
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GT()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - GT
    constantsTouched: []
    func_position:
      end: 422
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 422
    functionName: GT::GT
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GT(const GT& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - GT
    constantsTouched: []
    func_position:
      end: 423
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 423
    functionName: GT::equals
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool equals(const GT& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GT::isOne
      Src: /src/mcl/ffi/java/mcl_impl.hpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 424
    functionName: GT::isOne
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 5
    functionsReached:
    - GT::isOne
    linkageType: ''
    returnType: bool
    signature: bool isOne() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GT::clear
      Src: /src/mcl/ffi/java/mcl_impl.hpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: GT::clear
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 2
    functionsReached:
    - GT::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GT::setStr
      Src: /src/mcl/ffi/java/mcl_impl.hpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 432
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 432
    functionName: GT::setStr
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 3
    functionsReached:
    - GT::setStr
    linkageType: ''
    returnType: void
    signature: void setStr(const std::string& str, int base = 0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getStr
      Src: /src/mcl/ffi/java/mcl_impl.hpp:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 436
    functionName: GT::toString
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached:
    - getStr
    linkageType: ''
    returnType: std::string
    signature: std::string toString(int base = 0) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deserializeT
      Src: /src/mcl/ffi/java/mcl_impl.hpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cbuf
    - bufSize
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: GT::deserialize
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached:
    - deserializeT
    linkageType: ''
    returnType: void
    signature: void deserialize(const char *cbuf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serializeT
      Src: /src/mcl/ffi/java/mcl_impl.hpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: GT::serialize
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 0
    functionsReached:
    - serializeT
    linkageType: ''
    returnType: void
    signature: void serialize(std::string& out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/mcl/ffi/java/mcl_impl.hpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - GT
    - GT
    - GT
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: mul
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 463
    functionsReached:
    - fiat_bls12_381_fp_mul
    linkageType: ''
    returnType: void
    signature: void mul(GT& z, const GT& x, const GT& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::unitaryInv
      Src: /src/mcl/ffi/java/mcl_impl.hpp:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' y'
    - ' x'
    argTypes:
    - GT
    - GT
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: inv
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 56
    functionsReached:
    - mcl::unitaryInv
    linkageType: ''
    returnType: void
    signature: void inv(GT& y, GT& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testFp12pow
      Src: /src/mcl/ffi/java/mcl_impl.hpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' z'
    - ' x'
    - ' y'
    argTypes:
    - GT
    - GT
    - Fr
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: pow
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 60
    functionsReached:
    - testFp12pow
    linkageType: ''
    returnType: void
    signature: void pow(GT& z, const GT& x, const Fr& y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBn_pairing
      Src: /src/mcl/ffi/java/mcl_impl.hpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' e'
    - ' P'
    - ' Q'
    argTypes:
    - GT
    - G1
    - G2
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 462
    functionName: pairing
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 41
    functionsReached:
    - mclBn_pairing
    linkageType: ''
    returnType: void
    signature: void pairing(GT& e, const G1& P, const G2& Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::hashAndMapToG1
      Src: /src/mcl/ffi/java/mcl_impl.hpp:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' P'
    - cbuf
    - bufSize
    argTypes:
    - G1
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 467
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 467
    functionName: hashAndMapToG1
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 28
    functionsReached:
    - mcl::hashAndMapToG1
    linkageType: ''
    returnType: void
    signature: void hashAndMapToG1(G1& P, const char *cbuf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::hashAndMapToG2
      Src: /src/mcl/ffi/java/mcl_impl.hpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' P'
    - cbuf
    - bufSize
    argTypes:
    - G2
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: hashAndMapToG2
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 21
    functionsReached:
    - mcl::hashAndMapToG2
    linkageType: ''
    returnType: void
    signature: void hashAndMapToG2(G2& P, const char *cbuf, size_t bufSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBn_verifyOrderG1
      Src: /src/mcl/ffi/java/mcl_impl.hpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - doVerify
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: verifyOrderG1
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 7
    functionsReached:
    - mclBn_verifyOrderG1
    linkageType: ''
    returnType: void
    signature: void verifyOrderG1(bool doVerify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mclBn_verifyOrderG2
      Src: /src/mcl/ffi/java/mcl_impl.hpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - doVerify
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: verifyOrderG2
    functionSourceFile: /src/mcl/ffi/java/mcl_impl.hpp
    functionUses: 7
    functionsReached:
    - mclBn_verifyOrderG2
    linkageType: ''
    returnType: void
    signature: void verifyOrderG2(bool doVerify)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - npoints
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 284
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 284
    functionName: pippenger_window_size
    functionSourceFile: /src/blst/src/multi_scalar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t pippenger_window_size(size_t npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_by_1_plus_i_mod_384x
      Src: /src/blst/src/fp12_tower.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: mul_by_u_plus_1_fp2
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - mul_by_1_plus_i_mod_384x
    linkageType: ''
    returnType: void
    signature: void mul_by_u_plus_1_fp2(vec384x ret, const vec384x a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_mod_384x384
      Src: /src/blst/src/fp12_tower.c:31,1
    - Dst: add_mod_384x384
      Src: /src/blst/src/fp12_tower.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec768x
    - vec768x
    - vec768x
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: add_fp2x2
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - add_mod_384x384
    linkageType: ''
    returnType: void
    signature: void add_fp2x2(vec768x ret, const vec768x a, const vec768x b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub_mod_384x384
      Src: /src/blst/src/fp12_tower.c:37,1
    - Dst: sub_mod_384x384
      Src: /src/blst/src/fp12_tower.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec768x
    - vec768x
    - vec768x
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: sub_fp2x2
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - sub_mod_384x384
    linkageType: ''
    returnType: void
    signature: void sub_fp2x2(vec768x ret, const vec768x a, const vec768x b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub_mod_384x384
      Src: /src/blst/src/fp12_tower.c:44,1
    - Dst: add_mod_384x384
      Src: /src/blst/src/fp12_tower.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec768x
    - vec768x
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: mul_by_u_plus_1_fp2x2
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - sub_mod_384x384
    - add_mod_384x384
    linkageType: ''
    returnType: void
    signature: void mul_by_u_plus_1_fp2x2(vec768x ret, const vec768x a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: redc_mont_384
      Src: /src/blst/src/fp12_tower.c:50,1
    - Dst: redc_mont_384
      Src: /src/blst/src/fp12_tower.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384x
    - vec768x
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: redc_fp2x2
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - redc_mont_384
    linkageType: ''
    returnType: void
    signature: void redc_fp2x2(vec384x ret, const vec768x a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_382x
      Src: /src/blst/src/fp12_tower.c:57,1
    - Dst: add_mod_384
      Src: /src/blst/src/fp12_tower.c:61,1
    - Dst: add_mod_384
      Src: /src/blst/src/fp12_tower.c:62,1
    - Dst: mul_384
      Src: /src/blst/src/fp12_tower.c:63,1
    - Dst: mul_384
      Src: /src/blst/src/fp12_tower.c:65,1
    - Dst: mul_384
      Src: /src/blst/src/fp12_tower.c:66,1
    - Dst: sub_mod_384x384
      Src: /src/blst/src/fp12_tower.c:68,1
    - Dst: sub_mod_384x384
      Src: /src/blst/src/fp12_tower.c:69,1
    - Dst: sub_mod_384x384
      Src: /src/blst/src/fp12_tower.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec768x
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 73
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 73
    functionName: mul_fp2x2
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - mul_384
    - sub_mod_384x384
    - add_mod_384
    - mul_382x
    linkageType: ''
    returnType: void
    signature: void mul_fp2x2(vec768x ret, const vec384x a, const vec384x b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_382x
      Src: /src/blst/src/fp12_tower.c:78,1
    - Dst: add_mod_384
      Src: /src/blst/src/fp12_tower.c:82,1
    - Dst: sub_mod_384
      Src: /src/blst/src/fp12_tower.c:83,1
    - Dst: mul_384
      Src: /src/blst/src/fp12_tower.c:85,1
    - Dst: add_mod_384x384
      Src: /src/blst/src/fp12_tower.c:86,1
    - Dst: mul_384
      Src: /src/blst/src/fp12_tower.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec768x
    - vec384x
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: sqr_fp2x2
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - add_mod_384
    - mul_384
    - sub_mod_384
    - add_mod_384x384
    - sqr_382x
    linkageType: ''
    returnType: void
    signature: void sqr_fp2x2(vec768x ret, const vec384x a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub_fp2x2
      Src: /src/blst/src/fp12_tower.c:102,1
    - Dst: sub_fp2x2
      Src: /src/blst/src/fp12_tower.c:103,1
    - Dst: sub_fp2x2
      Src: /src/blst/src/fp12_tower.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec768fp6
    - vec768fp6
    - vec768fp6
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: sub_fp6x2
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - sub_fp2x2
    linkageType: ''
    returnType: void
    signature: "void sub_fp6x2(vec768fp6 ret, const vec768fp6 a,\n                                            const
      vec768fp6 b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp2x2
      Src: /src/blst/src/fp12_tower.c:112,1
    - Dst: mul_fp2x2
      Src: /src/blst/src/fp12_tower.c:113,1
    - Dst: mul_fp2x2
      Src: /src/blst/src/fp12_tower.c:114,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:118,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:119,1
    - Dst: mul_fp2x2
      Src: /src/blst/src/fp12_tower.c:120,1
    - Dst: sub_fp2x2
      Src: /src/blst/src/fp12_tower.c:121,1
    - Dst: sub_fp2x2
      Src: /src/blst/src/fp12_tower.c:122,1
    - Dst: mul_by_u_plus_1_fp2x2
      Src: /src/blst/src/fp12_tower.c:123,1
    - Dst: add_fp2x2
      Src: /src/blst/src/fp12_tower.c:124,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:128,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:129,1
    - Dst: mul_fp2x2
      Src: /src/blst/src/fp12_tower.c:130,1
    - Dst: sub_fp2x2
      Src: /src/blst/src/fp12_tower.c:131,1
    - Dst: sub_fp2x2
      Src: /src/blst/src/fp12_tower.c:132,1
    - Dst: mul_by_u_plus_1_fp2x2
      Src: /src/blst/src/fp12_tower.c:133,1
    - Dst: add_fp2x2
      Src: /src/blst/src/fp12_tower.c:134,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:138,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:139,1
    - Dst: mul_fp2x2
      Src: /src/blst/src/fp12_tower.c:140,1
    - Dst: sub_fp2x2
      Src: /src/blst/src/fp12_tower.c:141,1
    - Dst: sub_fp2x2
      Src: /src/blst/src/fp12_tower.c:142,1
    - Dst: add_fp2x2
      Src: /src/blst/src/fp12_tower.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec768fp6
    - vec384fp6
    - vec384fp6
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: mul_fp6x2
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - add_fp2x2
    - add_fp2
    - sub_fp2x2
    - mul_fp2x2
    - mul_by_u_plus_1_fp2x2
    linkageType: ''
    returnType: void
    signature: void mul_fp6x2(vec768fp6 ret, const vec384fp6 a, const vec384fp6 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: redc_fp2x2
      Src: /src/blst/src/fp12_tower.c:148,1
    - Dst: redc_fp2x2
      Src: /src/blst/src/fp12_tower.c:149,1
    - Dst: redc_fp2x2
      Src: /src/blst/src/fp12_tower.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384fp6
    - vec768fp6
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: redc_fp6x2
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - redc_fp2x2
    linkageType: ''
    returnType: void
    signature: void redc_fp6x2(vec384fp6 ret, const vec768fp6 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp6x2
      Src: /src/blst/src/fp12_tower.c:157,1
    - Dst: redc_fp6x2
      Src: /src/blst/src/fp12_tower.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384fp6
    - vec384fp6
    - vec384fp6
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: mul_fp6
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - redc_fp6x2
    - mul_fp6x2
    linkageType: ''
    returnType: void
    signature: void mul_fp6(vec384fp6 ret, const vec384fp6 a, const vec384fp6 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fp2x2
      Src: /src/blst/src/fp12_tower.c:165,1
    - Dst: mul_fp2x2
      Src: /src/blst/src/fp12_tower.c:167,1
    - Dst: add_fp2x2
      Src: /src/blst/src/fp12_tower.c:168,1
    - Dst: mul_fp2x2
      Src: /src/blst/src/fp12_tower.c:170,1
    - Dst: add_fp2x2
      Src: /src/blst/src/fp12_tower.c:171,1
    - Dst: sqr_fp2x2
      Src: /src/blst/src/fp12_tower.c:173,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:177,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:178,1
    - Dst: sqr_fp2x2
      Src: /src/blst/src/fp12_tower.c:179,1
    - Dst: sub_fp2x2
      Src: /src/blst/src/fp12_tower.c:180,1
    - Dst: sub_fp2x2
      Src: /src/blst/src/fp12_tower.c:181,1
    - Dst: sub_fp2x2
      Src: /src/blst/src/fp12_tower.c:182,1
    - Dst: sub_fp2x2
      Src: /src/blst/src/fp12_tower.c:183,1
    - Dst: redc_fp2x2
      Src: /src/blst/src/fp12_tower.c:184,1
    - Dst: mul_by_u_plus_1_fp2x2
      Src: /src/blst/src/fp12_tower.c:187,1
    - Dst: add_fp2x2
      Src: /src/blst/src/fp12_tower.c:188,1
    - Dst: redc_fp2x2
      Src: /src/blst/src/fp12_tower.c:189,1
    - Dst: mul_by_u_plus_1_fp2x2
      Src: /src/blst/src/fp12_tower.c:192,1
    - Dst: add_fp2x2
      Src: /src/blst/src/fp12_tower.c:193,1
    - Dst: redc_fp2x2
      Src: /src/blst/src/fp12_tower.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384fp6
    - vec384fp6
    constantsTouched: []
    func_position:
      end: 195
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 195
    functionName: sqr_fp6
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - add_fp2x2
    - redc_fp2x2
    - add_fp2
    - sub_fp2x2
    - sqr_fp2x2
    - mul_fp2x2
    - mul_by_u_plus_1_fp2x2
    linkageType: ''
    returnType: void
    signature: void sqr_fp6(vec384fp6 ret, const vec384fp6 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:201,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:202,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:203,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:207,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:208,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:209,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:210,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:211,1
    - Dst: mul_by_u_plus_1_fp2
      Src: /src/blst/src/fp12_tower.c:212,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:217,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:218,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:219,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:220,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:221,1
    - Dst: mul_by_u_plus_1_fp2
      Src: /src/blst/src/fp12_tower.c:222,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:223,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:227,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:228,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:229,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:230,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:231,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:232,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384fp6
    - vec384fp6
    - vec384fp6
    constantsTouched: []
    func_position:
      end: 235
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 235
    functionName: mul_fp6
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - sub_fp2
    - add_fp2
    - mul_by_u_plus_1_fp2
    - mul_fp2
    linkageType: ''
    returnType: void
    signature: void mul_fp6(vec384fp6 ret, const vec384fp6 a, const vec384fp6 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fp2
      Src: /src/blst/src/fp12_tower.c:241,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:243,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:244,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:246,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:247,1
    - Dst: sqr_fp2
      Src: /src/blst/src/fp12_tower.c:249,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:253,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:254,1
    - Dst: sqr_fp2
      Src: /src/blst/src/fp12_tower.c:255,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:256,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:257,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:258,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:259,1
    - Dst: mul_by_u_plus_1_fp2
      Src: /src/blst/src/fp12_tower.c:262,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:263,1
    - Dst: mul_by_u_plus_1_fp2
      Src: /src/blst/src/fp12_tower.c:266,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384fp6
    - vec384fp6
    constantsTouched: []
    func_position:
      end: 268
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 268
    functionName: sqr_fp6
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - sub_fp2
    - mul_fp2
    - add_fp2
    - mul_by_u_plus_1_fp2
    - sqr_fp2
    linkageType: ''
    returnType: void
    signature: void sqr_fp6(vec384fp6 ret, const vec384fp6 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:273,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:274,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384fp6
    - vec384fp6
    - vec384fp6
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: add_fp6
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - add_fp2
    linkageType: ''
    returnType: void
    signature: void add_fp6(vec384fp6 ret, const vec384fp6 a, const vec384fp6 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:280,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:281,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384fp6
    - vec384fp6
    - vec384fp6
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: sub_fp6
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - sub_fp2
    linkageType: ''
    returnType: void
    signature: void sub_fp6(vec384fp6 ret, const vec384fp6 a, const vec384fp6 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: neg_fp2
      Src: /src/blst/src/fp12_tower.c:287,1
    - Dst: neg_fp2
      Src: /src/blst/src/fp12_tower.c:288,1
    - Dst: neg_fp2
      Src: /src/blst/src/fp12_tower.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384fp6
    - vec384fp6
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: neg_fp6
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - neg_fp2
    linkageType: ''
    returnType: void
    signature: void neg_fp6(vec384fp6 ret, const vec384fp6 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_by_u_plus_1_fp2
      Src: /src/blst/src/fp12_tower.c:298,1
    - Dst: vec_copy
      Src: /src/blst/src/fp12_tower.c:299,1
    - Dst: vec_copy
      Src: /src/blst/src/fp12_tower.c:300,1
    - Dst: vec_copy
      Src: /src/blst/src/fp12_tower.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384fp6
    - vec384fp6
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: mul_by_v_fp6
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - vec_copy
    - mul_by_u_plus_1_fp2
    linkageType: ''
    returnType: void
    signature: void mul_by_v_fp6(vec384fp6 ret, const vec384fp6 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp6x2
      Src: /src/blst/src/fp12_tower.c:314,1
    - Dst: mul_fp6x2
      Src: /src/blst/src/fp12_tower.c:315,1
    - Dst: add_fp6
      Src: /src/blst/src/fp12_tower.c:319,1
    - Dst: add_fp6
      Src: /src/blst/src/fp12_tower.c:320,1
    - Dst: mul_fp6x2
      Src: /src/blst/src/fp12_tower.c:321,1
    - Dst: sub_fp6x2
      Src: /src/blst/src/fp12_tower.c:322,1
    - Dst: sub_fp6x2
      Src: /src/blst/src/fp12_tower.c:323,1
    - Dst: redc_fp6x2
      Src: /src/blst/src/fp12_tower.c:324,1
    - Dst: mul_by_u_plus_1_fp2x2
      Src: /src/blst/src/fp12_tower.c:327,1
    - Dst: add_fp2x2
      Src: /src/blst/src/fp12_tower.c:328,1
    - Dst: add_fp2x2
      Src: /src/blst/src/fp12_tower.c:329,1
    - Dst: add_fp2x2
      Src: /src/blst/src/fp12_tower.c:330,1
    - Dst: redc_fp6x2
      Src: /src/blst/src/fp12_tower.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384fp12
    - vec384fp12
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 332
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 332
    functionName: mul_fp12
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - redc_fp6x2
    - add_fp6
    - add_fp2x2
    - sub_fp6x2
    - mul_by_u_plus_1_fp2x2
    - mul_fp6x2
    linkageType: ''
    returnType: void
    signature: void mul_fp12(vec384fp12 ret, const vec384fp12 a, const vec384fp12
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp2x2
      Src: /src/blst/src/fp12_tower.c:337,1
    - Dst: mul_by_u_plus_1_fp2x2
      Src: /src/blst/src/fp12_tower.c:338,1
    - Dst: mul_fp2x2
      Src: /src/blst/src/fp12_tower.c:339,1
    - Dst: mul_fp2x2
      Src: /src/blst/src/fp12_tower.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec768fp6
    - vec384fp6
    - vec384fp2
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: mul_by_0y0_fp6x2
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - mul_fp2x2
    - mul_by_u_plus_1_fp2x2
    linkageType: ''
    returnType: void
    signature: "void mul_by_0y0_fp6x2(vec768fp6 ret, const vec384fp6 a,\n                                                   const
      vec384fp2 b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp2x2
      Src: /src/blst/src/fp12_tower.c:349,1
    - Dst: mul_fp2x2
      Src: /src/blst/src/fp12_tower.c:350,1
    - Dst: mul_fp2x2
      Src: /src/blst/src/fp12_tower.c:354,1
    - Dst: mul_by_u_plus_1_fp2x2
      Src: /src/blst/src/fp12_tower.c:355,1
    - Dst: add_fp2x2
      Src: /src/blst/src/fp12_tower.c:356,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:360,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:361,1
    - Dst: mul_fp2x2
      Src: /src/blst/src/fp12_tower.c:362,1
    - Dst: sub_fp2x2
      Src: /src/blst/src/fp12_tower.c:363,1
    - Dst: sub_fp2x2
      Src: /src/blst/src/fp12_tower.c:364,1
    - Dst: mul_fp2x2
      Src: /src/blst/src/fp12_tower.c:368,1
    - Dst: add_fp2x2
      Src: /src/blst/src/fp12_tower.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec768fp6
    - vec384fp6
    - vec384fp6
    constantsTouched: []
    func_position:
      end: 370
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 370
    functionName: mul_by_xy0_fp6x2
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - add_fp2x2
    - add_fp2
    - sub_fp2x2
    - mul_fp2x2
    - mul_by_u_plus_1_fp2x2
    linkageType: ''
    returnType: void
    signature: "void mul_by_xy0_fp6x2(vec768fp6 ret, const vec384fp6 a,\n                                            const
      vec384fp6 b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_by_xy0_fp6x2
      Src: /src/blst/src/fp12_tower.c:378,1
    - Dst: mul_by_0y0_fp6x2
      Src: /src/blst/src/fp12_tower.c:379,1
    - Dst: vec_copy
      Src: /src/blst/src/fp12_tower.c:383,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:384,1
    - Dst: add_fp6
      Src: /src/blst/src/fp12_tower.c:385,1
    - Dst: mul_by_xy0_fp6x2
      Src: /src/blst/src/fp12_tower.c:386,1
    - Dst: sub_fp6x2
      Src: /src/blst/src/fp12_tower.c:387,1
    - Dst: sub_fp6x2
      Src: /src/blst/src/fp12_tower.c:388,1
    - Dst: redc_fp6x2
      Src: /src/blst/src/fp12_tower.c:389,1
    - Dst: mul_by_u_plus_1_fp2x2
      Src: /src/blst/src/fp12_tower.c:392,1
    - Dst: add_fp2x2
      Src: /src/blst/src/fp12_tower.c:393,1
    - Dst: add_fp2x2
      Src: /src/blst/src/fp12_tower.c:394,1
    - Dst: add_fp2x2
      Src: /src/blst/src/fp12_tower.c:395,1
    - Dst: redc_fp6x2
      Src: /src/blst/src/fp12_tower.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - ret
    - a
    - xy00z0
    argTypes:
    - vec384fp12
    - vec384fp12
    - vec384fp6
    constantsTouched: []
    func_position:
      end: 397
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 397
    functionName: mul_by_xy00z0_fp12
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - add_fp6
    - redc_fp6x2
    - add_fp2x2
    - sub_fp6x2
    - vec_copy
    - mul_by_xy0_fp6x2
    - add_fp2
    - mul_by_u_plus_1_fp2x2
    - mul_by_0y0_fp6x2
    linkageType: ''
    returnType: void
    signature: "void mul_by_xy00z0_fp12(vec384fp12 ret, const vec384fp12 a,\n                                               const
      vec384fp6 xy00z0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp6
      Src: /src/blst/src/fp12_tower.c:403,1
    - Dst: mul_fp6
      Src: /src/blst/src/fp12_tower.c:404,1
    - Dst: add_fp6
      Src: /src/blst/src/fp12_tower.c:408,1
    - Dst: add_fp6
      Src: /src/blst/src/fp12_tower.c:409,1
    - Dst: mul_fp6
      Src: /src/blst/src/fp12_tower.c:410,1
    - Dst: sub_fp6
      Src: /src/blst/src/fp12_tower.c:411,1
    - Dst: sub_fp6
      Src: /src/blst/src/fp12_tower.c:412,1
    - Dst: mul_by_v_fp6
      Src: /src/blst/src/fp12_tower.c:416,1
    - Dst: add_fp6
      Src: /src/blst/src/fp12_tower.c:417,1
    - Dst: mul_by_u_plus_1_fp2
      Src: /src/blst/src/fp12_tower.c:419,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:420,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:421,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384fp12
    - vec384fp12
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 424
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 424
    functionName: mul_fp12
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - mul_by_v_fp6
    - mul_fp6
    - sub_fp6
    - add_fp6
    - add_fp2
    - mul_by_u_plus_1_fp2
    linkageType: ''
    returnType: void
    signature: void mul_fp12(vec384fp12 ret, const vec384fp12 a, const vec384fp12
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:431,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:432,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:433,1
    - Dst: mul_by_u_plus_1_fp2
      Src: /src/blst/src/fp12_tower.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384fp6
    - vec384fp6
    - vec384fp2
    constantsTouched: []
    func_position:
      end: 435
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 435
    functionName: mul_by_0y0_fp6
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - mul_by_u_plus_1_fp2
    - mul_fp2
    linkageType: ''
    returnType: void
    signature: "void mul_by_0y0_fp6(vec384fp6 ret, const vec384fp6 a,\n                                                 const
      vec384fp2 b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:441,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:442,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:446,1
    - Dst: mul_by_u_plus_1_fp2
      Src: /src/blst/src/fp12_tower.c:447,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:452,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:453,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:454,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:455,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:456,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:460,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:461,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384fp6
    - vec384fp6
    - vec384fp6
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: mul_by_xy0_fp6
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - sub_fp2
    - add_fp2
    - mul_by_u_plus_1_fp2
    - mul_fp2
    linkageType: ''
    returnType: void
    signature: void mul_by_xy0_fp6(vec384fp6 ret, const vec384fp6 a, const vec384fp6
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_by_xy0_fp6
      Src: /src/blst/src/fp12_tower.c:471,1
    - Dst: mul_by_0y0_fp6
      Src: /src/blst/src/fp12_tower.c:472,1
    - Dst: vec_copy
      Src: /src/blst/src/fp12_tower.c:476,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:477,1
    - Dst: add_fp6
      Src: /src/blst/src/fp12_tower.c:478,1
    - Dst: mul_by_xy0_fp6
      Src: /src/blst/src/fp12_tower.c:479,1
    - Dst: sub_fp6
      Src: /src/blst/src/fp12_tower.c:480,1
    - Dst: sub_fp6
      Src: /src/blst/src/fp12_tower.c:481,1
    - Dst: mul_by_v_fp6
      Src: /src/blst/src/fp12_tower.c:485,1
    - Dst: add_fp6
      Src: /src/blst/src/fp12_tower.c:486,1
    - Dst: mul_by_u_plus_1_fp2
      Src: /src/blst/src/fp12_tower.c:488,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:489,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:490,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - ret
    - a
    - xy00z0
    argTypes:
    - vec384fp12
    - vec384fp12
    - vec384fp6
    constantsTouched: []
    func_position:
      end: 493
      start: 466
    functionDepth: 3
    functionLinenumber: 466
    functionLinenumberEnd: 493
    functionName: mul_by_xy00z0_fp12
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - mul_by_v_fp6
    - sub_fp6
    - add_fp6
    - mul_by_0y0_fp6
    - vec_copy
    - mul_by_xy0_fp6
    - add_fp2
    - mul_by_u_plus_1_fp2
    linkageType: ''
    returnType: void
    signature: "void mul_by_xy00z0_fp12(vec384fp12 ret, const vec384fp12 a,\n                                               const
      vec384fp6 xy00z0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_fp6
      Src: /src/blst/src/fp12_tower.c:500,1
    - Dst: mul_by_v_fp6
      Src: /src/blst/src/fp12_tower.c:502,1
    - Dst: add_fp6
      Src: /src/blst/src/fp12_tower.c:503,1
    - Dst: mul_by_u_plus_1_fp2
      Src: /src/blst/src/fp12_tower.c:505,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:506,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:507,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:508,1
    - Dst: mul_fp6
      Src: /src/blst/src/fp12_tower.c:510,1
    - Dst: mul_fp6
      Src: /src/blst/src/fp12_tower.c:511,1
    - Dst: add_fp6
      Src: /src/blst/src/fp12_tower.c:514,1
    - Dst: sub_fp6
      Src: /src/blst/src/fp12_tower.c:518,1
    - Dst: mul_by_v_fp6
      Src: /src/blst/src/fp12_tower.c:520,1
    - Dst: sub_fp6
      Src: /src/blst/src/fp12_tower.c:521,1
    - Dst: mul_by_u_plus_1_fp2
      Src: /src/blst/src/fp12_tower.c:523,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:524,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:525,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384fp12
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 528
      start: 496
    functionDepth: 3
    functionLinenumber: 496
    functionLinenumberEnd: 528
    functionName: sqr_fp12
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - mul_by_v_fp6
    - mul_fp6
    - sub_fp6
    - add_fp6
    - sub_fp2
    - add_fp2
    - mul_by_u_plus_1_fp2
    linkageType: ''
    returnType: void
    signature: void sqr_fp12(vec384fp12 ret, const vec384fp12 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: neg_fp6
      Src: /src/blst/src/fp12_tower.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 531
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 531
    functionName: conjugate_fp12
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - neg_fp6
    linkageType: ''
    returnType: void
    signature: void conjugate_fp12(vec384fp12 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fp2
      Src: /src/blst/src/fp12_tower.c:538,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:539,1
    - Dst: mul_by_u_plus_1_fp2
      Src: /src/blst/src/fp12_tower.c:540,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:541,1
    - Dst: sqr_fp2
      Src: /src/blst/src/fp12_tower.c:544,1
    - Dst: mul_by_u_plus_1_fp2
      Src: /src/blst/src/fp12_tower.c:545,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:546,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:547,1
    - Dst: sqr_fp2
      Src: /src/blst/src/fp12_tower.c:550,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:551,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:552,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:555,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:556,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:557,1
    - Dst: mul_by_u_plus_1_fp2
      Src: /src/blst/src/fp12_tower.c:558,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:559,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:560,1
    - Dst: reciprocal_fp2
      Src: /src/blst/src/fp12_tower.c:562,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:564,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:565,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384fp6
    - vec384fp6
    constantsTouched: []
    func_position:
      end: 567
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 567
    functionName: inverse_fp6
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - sub_fp2
    - mul_fp2
    - add_fp2
    - mul_by_u_plus_1_fp2
    - sqr_fp2
    - reciprocal_fp2
    linkageType: ''
    returnType: void
    signature: void inverse_fp6(vec384fp6 ret, const vec384fp6 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fp6
      Src: /src/blst/src/fp12_tower.c:573,1
    - Dst: sqr_fp6
      Src: /src/blst/src/fp12_tower.c:574,1
    - Dst: mul_by_v_fp6
      Src: /src/blst/src/fp12_tower.c:576,1
    - Dst: sub_fp6
      Src: /src/blst/src/fp12_tower.c:577,1
    - Dst: mul_by_u_plus_1_fp2
      Src: /src/blst/src/fp12_tower.c:579,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:580,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:581,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:582,1
    - Dst: inverse_fp6
      Src: /src/blst/src/fp12_tower.c:585,1
    - Dst: mul_fp6
      Src: /src/blst/src/fp12_tower.c:587,1
    - Dst: mul_fp6
      Src: /src/blst/src/fp12_tower.c:588,1
    - Dst: neg_fp6
      Src: /src/blst/src/fp12_tower.c:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384fp12
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 590
      start: 569
    functionDepth: 3
    functionLinenumber: 569
    functionLinenumberEnd: 590
    functionName: inverse_fp12
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - mul_by_v_fp6
    - mul_fp6
    - sub_fp6
    - sub_fp2
    - sqr_fp6
    - inverse_fp6
    - neg_fp6
    - mul_by_u_plus_1_fp2
    linkageType: ''
    returnType: void
    signature: void inverse_fp12(vec384fp12 ret, const vec384fp12 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fp2x2
      Src: /src/blst/src/fp12_tower.c:599,1
    - Dst: sqr_fp2x2
      Src: /src/blst/src/fp12_tower.c:600,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:601,1
    - Dst: mul_by_u_plus_1_fp2x2
      Src: /src/blst/src/fp12_tower.c:603,1
    - Dst: add_fp2x2
      Src: /src/blst/src/fp12_tower.c:604,1
    - Dst: redc_fp2x2
      Src: /src/blst/src/fp12_tower.c:605,1
    - Dst: sqr_fp2x2
      Src: /src/blst/src/fp12_tower.c:607,1
    - Dst: sub_fp2x2
      Src: /src/blst/src/fp12_tower.c:608,1
    - Dst: sub_fp2x2
      Src: /src/blst/src/fp12_tower.c:609,1
    - Dst: redc_fp2x2
      Src: /src/blst/src/fp12_tower.c:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ret
    - a0
    - a1
    argTypes:
    - vec384fp4
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 611
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 611
    functionName: sqr_fp4
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - add_fp2x2
    - redc_fp2x2
    - add_fp2
    - sub_fp2x2
    - sqr_fp2x2
    - mul_by_u_plus_1_fp2x2
    linkageType: ''
    returnType: void
    signature: void sqr_fp4(vec384fp4 ret, const vec384x a0, const vec384x a1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fp2
      Src: /src/blst/src/fp12_tower.c:617,1
    - Dst: sqr_fp2
      Src: /src/blst/src/fp12_tower.c:618,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:619,1
    - Dst: mul_by_u_plus_1_fp2
      Src: /src/blst/src/fp12_tower.c:621,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:622,1
    - Dst: sqr_fp2
      Src: /src/blst/src/fp12_tower.c:624,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:625,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ret
    - a0
    - a1
    argTypes:
    - vec384fp4
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 627
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 627
    functionName: sqr_fp4
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - sub_fp2
    - add_fp2
    - mul_by_u_plus_1_fp2
    - sqr_fp2
    linkageType: ''
    returnType: void
    signature: void sqr_fp4(vec384fp4 ret, const vec384x a0, const vec384x a1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fp4
      Src: /src/blst/src/fp12_tower.c:634,1
    - Dst: sqr_fp4
      Src: /src/blst/src/fp12_tower.c:635,1
    - Dst: sqr_fp4
      Src: /src/blst/src/fp12_tower.c:636,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:638,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:639,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:640,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:642,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:643,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:644,1
    - Dst: sub_fp2
      Src: /src/blst/src/fp12_tower.c:646,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:647,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:648,1
    - Dst: mul_by_u_plus_1_fp2
      Src: /src/blst/src/fp12_tower.c:650,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:651,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:652,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:653,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:655,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:656,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:657,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:659,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:660,1
    - Dst: add_fp2
      Src: /src/blst/src/fp12_tower.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384fp12
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 662
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 662
    functionName: cyclotomic_sqr_fp12
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - sub_fp2
    - add_fp2
    - sqr_fp4
    - mul_by_u_plus_1_fp2
    linkageType: ''
    returnType: void
    signature: void cyclotomic_sqr_fp12(vec384fp12 ret, const vec384fp12 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_copy
      Src: /src/blst/src/fp12_tower.c:669,1
    - Dst: cneg_fp
      Src: /src/blst/src/fp12_tower.c:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ret
    - a
    - n
    argTypes:
    - vec384x
    - vec384x
    - size_t
    constantsTouched: []
    func_position:
      end: 671
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 671
    functionName: frobenius_map_fp2
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - vec_copy
    - cneg_fp
    linkageType: ''
    returnType: void
    signature: void frobenius_map_fp2(vec384x ret, const vec384x a, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:677,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:677,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:678,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:678,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:679,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:679,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:680,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:680,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:681,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:681,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:682,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:682,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:686,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:686,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:687,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:687,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:688,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:688,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:689,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:689,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:690,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:690,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:691,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:691,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:692,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:692,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:693,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:693,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:694,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:694,1
    - Dst: frobenius_map_fp2
      Src: /src/blst/src/fp12_tower.c:697,1
    - Dst: frobenius_map_fp2
      Src: /src/blst/src/fp12_tower.c:698,1
    - Dst: frobenius_map_fp2
      Src: /src/blst/src/fp12_tower.c:699,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:701,1
    - Dst: mul_fp
      Src: /src/blst/src/fp12_tower.c:702,1
    - Dst: mul_fp
      Src: /src/blst/src/fp12_tower.c:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ret
    - a
    - n
    argTypes:
    - vec384fp6
    - vec384fp6
    - size_t
    constantsTouched: []
    func_position:
      end: 704
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 704
    functionName: frobenius_map_fp6
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - frobenius_map_fp2
    - TO_LIMB_T
    - mul_fp
    - mul_fp2
    linkageType: ''
    returnType: void
    signature: void frobenius_map_fp6(vec384fp6 ret, const vec384fp6 a, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:709,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:709,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:710,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:710,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:711,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:711,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:712,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:712,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:713,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:713,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:714,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:714,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:715,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:715,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:716,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:716,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:717,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:717,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:718,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:718,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:719,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:719,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:720,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:720,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:721,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:721,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:722,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:722,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:723,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/fp12_tower.c:723,1
    - Dst: frobenius_map_fp6
      Src: /src/blst/src/fp12_tower.c:726,1
    - Dst: frobenius_map_fp6
      Src: /src/blst/src/fp12_tower.c:727,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:729,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:730,1
    - Dst: mul_fp2
      Src: /src/blst/src/fp12_tower.c:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ret
    - a
    - n
    argTypes:
    - vec384fp12
    - vec384fp12
    - size_t
    constantsTouched: []
    func_position:
      end: 732
      start: 706
    functionDepth: 3
    functionLinenumber: 706
    functionLinenumberEnd: 732
    functionName: frobenius_map_fp12
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - TO_LIMB_T
    - mul_fp2
    - frobenius_map_fp6
    linkageType: ''
    returnType: void
    signature: void frobenius_map_fp12(vec384fp12 ret, const vec384fp12 a, size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fp12
      Src: /src/blst/src/fp12_tower.c:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384fp12
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 739
      start: 738
    functionDepth: 4
    functionLinenumber: 738
    functionLinenumberEnd: 739
    functionName: blst_fp12_sqr
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - sqr_fp12
    linkageType: ''
    returnType: void
    signature: void blst_fp12_sqr(vec384fp12 ret, const vec384fp12 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cyclotomic_sqr_fp12
      Src: /src/blst/src/fp12_tower.c:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384fp12
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 742
      start: 741
    functionDepth: 3
    functionLinenumber: 741
    functionLinenumberEnd: 742
    functionName: blst_fp12_cyclotomic_sqr
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - cyclotomic_sqr_fp12
    linkageType: ''
    returnType: void
    signature: void blst_fp12_cyclotomic_sqr(vec384fp12 ret, const vec384fp12 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp12
      Src: /src/blst/src/fp12_tower.c:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384fp12
    - vec384fp12
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 745
      start: 744
    functionDepth: 3
    functionLinenumber: 744
    functionLinenumberEnd: 745
    functionName: blst_fp12_mul
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - mul_fp12
    linkageType: ''
    returnType: void
    signature: void blst_fp12_mul(vec384fp12 ret, const vec384fp12 a, const vec384fp12
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_by_xy00z0_fp12
      Src: /src/blst/src/fp12_tower.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - xy00z0
    argTypes:
    - vec384fp12
    - vec384fp12
    - vec384fp6
    constantsTouched: []
    func_position:
      end: 749
      start: 747
    functionDepth: 3
    functionLinenumber: 747
    functionLinenumberEnd: 749
    functionName: blst_fp12_mul_by_xy00z0
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - mul_by_xy00z0_fp12
    linkageType: ''
    returnType: void
    signature: "void blst_fp12_mul_by_xy00z0(vec384fp12 ret, const vec384fp12 a,\n
      \                                            const vec384fp6 xy00z0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conjugate_fp12
      Src: /src/blst/src/fp12_tower.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 752
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 752
    functionName: blst_fp12_conjugate
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - conjugate_fp12
    linkageType: ''
    returnType: void
    signature: void blst_fp12_conjugate(vec384fp12 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inverse_fp12
      Src: /src/blst/src/fp12_tower.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384fp12
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 755
      start: 754
    functionDepth: 4
    functionLinenumber: 754
    functionLinenumberEnd: 755
    functionName: blst_fp12_inverse
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - inverse_fp12
    linkageType: ''
    returnType: void
    signature: void blst_fp12_inverse(vec384fp12 ret, const vec384fp12 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: frobenius_map_fp12
      Src: /src/blst/src/fp12_tower.c:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - n
    argTypes:
    - vec384fp12
    - vec384fp12
    - size_t
    constantsTouched: []
    func_position:
      end: 759
      start: 758
    functionDepth: 4
    functionLinenumber: 758
    functionLinenumberEnd: 759
    functionName: blst_fp12_frobenius_map
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - frobenius_map_fp12
    linkageType: ''
    returnType: void
    signature: void blst_fp12_frobenius_map(vec384fp12 ret, const vec384fp12 a, size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_equal
      Src: /src/blst/src/fp12_tower.c:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - vec384fp12
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 762
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 762
    functionName: blst_fp12_is_equal
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - vec_is_equal
    linkageType: ''
    returnType: int
    signature: int blst_fp12_is_equal(const vec384fp12 a, const vec384fp12 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_equal
      Src: /src/blst/src/fp12_tower.c:766,1
    - Dst: vec_is_zero
      Src: /src/blst/src/fp12_tower.c:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 768
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 768
    functionName: blst_fp12_is_one
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - vec_is_equal
    - vec_is_zero
    linkageType: ''
    returnType: int
    signature: int blst_fp12_is_one(const vec384fp12 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 771
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 771
    functionName: blst_fp12_one
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vec384fp12
    signature: vec384fp12 *blst_fp12_one(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_fp
      Src: /src/blst/src/fp12_tower.c:780,1
    - Dst: be_bytes_from_limbs
      Src: /src/blst/src/fp12_tower.c:781,1
    - Dst: from_fp
      Src: /src/blst/src/fp12_tower.c:782,1
    - Dst: be_bytes_from_limbs
      Src: /src/blst/src/fp12_tower.c:783,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - unsigned char[]
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 786
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 786
    functionName: blst_bendian_from_fp12
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached:
    - from_fp
    - be_bytes_from_limbs
    linkageType: ''
    returnType: void
    signature: void blst_bendian_from_fp12(unsigned char ret[48*12], const vec384fp12
      a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 789
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 789
    functionName: blst_fp12_sizeof
    functionSourceFile: /src/blst/src/fp12_tower.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t blst_fp12_sizeof(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - d
    - 'off'
    - bits
    argTypes:
    - byte*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 20
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 20
    functionName: get_wval
    functionSourceFile: /src/blst/src/ec_mult.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: limb_t get_wval(const byte *d, size_t off, size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - d
    - 'off'
    - bits
    argTypes:
    - byte*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: get_wval_limb
    functionSourceFile: /src/blst/src/ec_mult.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: limb_t get_wval_limb(const byte *d, size_t off, size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: launder
      Src: /src/blst/src/ec_mult.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - wval
    - sz
    argTypes:
    - limb_t
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: booth_encode
    functionSourceFile: /src/blst/src/ec_mult.h
    functionUses: 0
    functionsReached:
    - launder
    linkageType: ''
    returnType: limb_t
    signature: limb_t booth_encode(limb_t wval, size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ptr0
    - len0
    - ptr1
    - len1
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: bytes_compare
    functionSourceFile: /src/blst/src/rb_tree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: "long bytes_compare(const unsigned char *ptr0, size_t len0,\n                          const
      unsigned char *ptr1, size_t len1)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PAINT_RED
      Src: /src/blst/src/rb_tree.c:68,1
    - Dst: IS_RED
      Src: /src/blst/src/rb_tree.c:77,1
    - Dst: IS_RED
      Src: /src/blst/src/rb_tree.c:82,1
    - Dst: PAINT_RED
      Src: /src/blst/src/rb_tree.c:83,1
    - Dst: PAINT_BLACK
      Src: /src/blst/src/rb_tree.c:84,1
    - Dst: PAINT_BLACK
      Src: /src/blst/src/rb_tree.c:85,1
    - Dst: PAINT_RED
      Src: /src/blst/src/rb_tree.c:114,1
    - Dst: PAINT_BLACK
      Src: /src/blst/src/rb_tree.c:115,1
    - Dst: PAINT_BLACK
      Src: /src/blst/src/rb_tree.c:126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - tree
    - data
    - len
    argTypes:
    - struct rb_tree*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 129
    functionName: rb_tree_insert
    functionSourceFile: /src/blst/src/rb_tree.c
    functionUses: 0
    functionsReached:
    - PAINT_RED
    - IS_RED
    - PAINT_BLACK
    linkageType: ''
    returnType: int
    signature: int rb_tree_insert(struct rb_tree *tree, const void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n_nodes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: blst_uniq_sizeof
    functionSourceFile: /src/blst/src/rb_tree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t blst_uniq_sizeof(size_t n_nodes)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tree
    argTypes:
    - struct rb_tree*
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: blst_uniq_init
    functionSourceFile: /src/blst/src/rb_tree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blst_uniq_init(struct rb_tree *tree)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rb_tree_insert
      Src: /src/blst/src/rb_tree.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - data
    - len
    argTypes:
    - struct rb_tree*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: blst_uniq_test
    functionSourceFile: /src/blst/src/rb_tree.c
    functionUses: 0
    functionsReached:
    - rb_tree_insert
    linkageType: ''
    returnType: int
    signature: int blst_uniq_test(struct rb_tree *tree, const void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_mod_256
      Src: /src/blst/src/exports.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec256
    - vec256
    - vec256
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: blst_fr_add
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - add_mod_256
    linkageType: ''
    returnType: void
    signature: void blst_fr_add(vec256 ret, const vec256 a, const vec256 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub_mod_256
      Src: /src/blst/src/exports.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec256
    - vec256
    - vec256
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: blst_fr_sub
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - sub_mod_256
    linkageType: ''
    returnType: void
    signature: void blst_fr_sub(vec256 ret, const vec256 a, const vec256 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_by_3_mod_256
      Src: /src/blst/src/exports.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec256
    - vec256
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: blst_fr_mul_by_3
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - mul_by_3_mod_256
    linkageType: ''
    returnType: void
    signature: void blst_fr_mul_by_3(vec256 ret, const vec256 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lshift_mod_256
      Src: /src/blst/src/exports.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - count
    argTypes:
    - vec256
    - vec256
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: blst_fr_lshift
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - lshift_mod_256
    linkageType: ''
    returnType: void
    signature: void blst_fr_lshift(vec256 ret, const vec256 a, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rshift_mod_256
      Src: /src/blst/src/exports.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - count
    argTypes:
    - vec256
    - vec256
    - size_t
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: blst_fr_rshift
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - rshift_mod_256
    linkageType: ''
    returnType: void
    signature: void blst_fr_rshift(vec256 ret, const vec256 a, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/exports.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec256
    - vec256
    - vec256
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: blst_fr_mul
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - mul_mont_sparse_256
    linkageType: ''
    returnType: void
    signature: void blst_fr_mul(vec256 ret, const vec256 a, const vec256 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/exports.c:46,1
    - Dst: sub_mod_256
      Src: /src/blst/src/exports.c:47,1
    - Dst: add_mod_256
      Src: /src/blst/src/exports.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - x0
    - x1
    - twiddle
    argTypes:
    - vec256
    - vec256
    - vec256
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: blst_fr_ct_bfly
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - add_mod_256
    - mul_mont_sparse_256
    - sub_mod_256
    linkageType: ''
    returnType: void
    signature: void blst_fr_ct_bfly(vec256 x0, vec256 x1, const vec256 twiddle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub_mod_256
      Src: /src/blst/src/exports.c:55,1
    - Dst: add_mod_256
      Src: /src/blst/src/exports.c:56,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/exports.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - x0
    - x1
    - twiddle
    argTypes:
    - vec256
    - vec256
    - vec256
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: blst_fr_gs_bfly
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - add_mod_256
    - mul_mont_sparse_256
    - sub_mod_256
    linkageType: ''
    returnType: void
    signature: void blst_fr_gs_bfly(vec256 x0, vec256 x1, const vec256 twiddle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_mont_sparse_256
      Src: /src/blst/src/exports.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec256
    - vec256
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: blst_fr_sqr
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - sqr_mont_sparse_256
    linkageType: ''
    returnType: void
    signature: void blst_fr_sqr(vec256 ret, const vec256 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cneg_mod_256
      Src: /src/blst/src/exports.c:64,1
    - Dst: is_zero
      Src: /src/blst/src/exports.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - flag
    argTypes:
    - vec256
    - vec256
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: blst_fr_cneg
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - cneg_mod_256
    - is_zero
    linkageType: ''
    returnType: void
    signature: void blst_fr_cneg(vec256 ret, const vec256 a, int flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/exports.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec256
    - vec256
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: blst_fr_to
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - mul_mont_sparse_256
    linkageType: ''
    returnType: void
    signature: void blst_fr_to(vec256 ret, const vec256 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_mont_256
      Src: /src/blst/src/exports.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec256
    - vec256
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: blst_fr_from
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - from_mont_256
    linkageType: ''
    returnType: void
    signature: void blst_fr_from(vec256 ret, const vec256 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/exports.c:80,1
    - Dst: limbs_from_le_bytes
      Src: /src/blst/src/exports.c:84,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/exports.c:85,1
    - Dst: vec_zero
      Src: /src/blst/src/exports.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec256
    - pow256
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: blst_fr_from_scalar
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - mul_mont_sparse_256
    - vec_zero
    - limbs_from_le_bytes
    linkageType: ''
    returnType: void
    signature: void blst_fr_from_scalar(vec256 ret, const pow256 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_mont_256
      Src: /src/blst/src/exports.c:98,1
    - Dst: from_mont_256
      Src: /src/blst/src/exports.c:101,1
    - Dst: le_bytes_from_limbs
      Src: /src/blst/src/exports.c:102,1
    - Dst: vec_zero
      Src: /src/blst/src/exports.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - pow256
    - vec256
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: blst_scalar_from_fr
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - vec_zero
    - from_mont_256
    - le_bytes_from_limbs
    linkageType: ''
    returnType: void
    signature: void blst_scalar_from_fr(pow256 ret, const vec256 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_mod_256
      Src: /src/blst/src/exports.c:108,1
    - Dst: bytes_are_zero
      Src: /src/blst/src/exports.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - pow256
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: blst_scalar_fr_check
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - check_mod_256
    - bytes_are_zero
    linkageType: ''
    returnType: int
    signature: int blst_scalar_fr_check(const pow256 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_mod_256
      Src: /src/blst/src/exports.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - pow256
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: blst_sk_check
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - check_mod_256
    linkageType: ''
    returnType: int
    signature: int blst_sk_check(const pow256 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_n_check_mod_256
      Src: /src/blst/src/exports.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - pow256
    - pow256
    - pow256
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: blst_sk_add_n_check
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - add_n_check_mod_256
    linkageType: ''
    returnType: int
    signature: int blst_sk_add_n_check(pow256 ret, const pow256 a, const pow256 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub_n_check_mod_256
      Src: /src/blst/src/exports.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - pow256
    - pow256
    - pow256
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: blst_sk_sub_n_check
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - sub_n_check_mod_256
    linkageType: ''
    returnType: int
    signature: int blst_sk_sub_n_check(pow256 ret, const pow256 a, const pow256 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_from_le_bytes
      Src: /src/blst/src/exports.c:131,1
    - Dst: limbs_from_le_bytes
      Src: /src/blst/src/exports.c:132,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/exports.c:136,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/exports.c:137,1
    - Dst: le_bytes_from_limbs
      Src: /src/blst/src/exports.c:138,1
    - Dst: vec_is_zero
      Src: /src/blst/src/exports.c:139,1
    - Dst: vec_zero
      Src: /src/blst/src/exports.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - pow256
    - pow256
    - pow256
    constantsTouched: []
    func_position:
      end: 143
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 143
    functionName: blst_sk_mul_n_check
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - limbs_from_le_bytes
    - vec_zero
    - vec_is_zero
    - le_bytes_from_limbs
    - mul_mont_sparse_256
    linkageType: ''
    returnType: int
    signature: int blst_sk_mul_n_check(pow256 ret, const pow256 a, const pow256 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/exports.c:154,1
    - Dst: reciprocal_fr
      Src: /src/blst/src/exports.c:156,1
    - Dst: from_mont_256
      Src: /src/blst/src/exports.c:157,1
    - Dst: limbs_from_le_bytes
      Src: /src/blst/src/exports.c:160,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/exports.c:161,1
    - Dst: reciprocal_fr
      Src: /src/blst/src/exports.c:162,1
    - Dst: from_mont_256
      Src: /src/blst/src/exports.c:163,1
    - Dst: le_bytes_from_limbs
      Src: /src/blst/src/exports.c:164,1
    - Dst: vec_zero
      Src: /src/blst/src/exports.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - pow256
    - pow256
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: blst_sk_inverse
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - limbs_from_le_bytes
    - from_mont_256
    - le_bytes_from_limbs
    - vec_zero
    - reciprocal_fr
    - mul_mont_sparse_256
    linkageType: ''
    returnType: void
    signature: void blst_sk_inverse(pow256 ret, const pow256 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_fp
      Src: /src/blst/src/exports.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: blst_fp_add
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - add_fp
    linkageType: ''
    returnType: void
    signature: void blst_fp_add(vec384 ret, const vec384 a, const vec384 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub_fp
      Src: /src/blst/src/exports.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: blst_fp_sub
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - sub_fp
    linkageType: ''
    returnType: void
    signature: void blst_fp_sub(vec384 ret, const vec384 a, const vec384 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_by_3_fp
      Src: /src/blst/src/exports.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: blst_fp_mul_by_3
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - mul_by_3_fp
    linkageType: ''
    returnType: void
    signature: void blst_fp_mul_by_3(vec384 ret, const vec384 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_by_8_fp
      Src: /src/blst/src/exports.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: blst_fp_mul_by_8
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - mul_by_8_fp
    linkageType: ''
    returnType: void
    signature: void blst_fp_mul_by_8(vec384 ret, const vec384 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lshift_fp
      Src: /src/blst/src/exports.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - count
    argTypes:
    - vec384
    - vec384
    - size_t
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: blst_fp_lshift
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - lshift_fp
    linkageType: ''
    returnType: void
    signature: void blst_fp_lshift(vec384 ret, const vec384 a, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp
      Src: /src/blst/src/exports.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: blst_fp_mul
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - mul_fp
    linkageType: ''
    returnType: void
    signature: void blst_fp_mul(vec384 ret, const vec384 a, const vec384 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fp
      Src: /src/blst/src/exports.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: blst_fp_sqr
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - sqr_fp
    linkageType: ''
    returnType: void
    signature: void blst_fp_sqr(vec384 ret, const vec384 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cneg_fp
      Src: /src/blst/src/exports.c:194,1
    - Dst: is_zero
      Src: /src/blst/src/exports.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - flag
    argTypes:
    - vec384
    - vec384
    - int
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: blst_fp_cneg
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - is_zero
    - cneg_fp
    linkageType: ''
    returnType: void
    signature: void blst_fp_cneg(vec384 ret, const vec384 a, int flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp
      Src: /src/blst/src/exports.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: blst_fp_to
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - mul_fp
    linkageType: ''
    returnType: void
    signature: void blst_fp_to(vec384 ret, const vec384 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_fp
      Src: /src/blst/src/exports.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: blst_fp_from
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - from_fp
    linkageType: ''
    returnType: void
    signature: void blst_fp_from(vec384 ret, const vec384 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp
      Src: /src/blst/src/exports.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384
    - unsigned int[]
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: blst_fp_from_uint32
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - mul_fp
    linkageType: ''
    returnType: void
    signature: void blst_fp_from_uint32(vec384 ret, const unsigned int a[12])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_fp
      Src: /src/blst/src/exports.c:219,1
    - Dst: from_fp
      Src: /src/blst/src/exports.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - unsigned int[]
    - vec384
    constantsTouched: []
    func_position:
      end: 231
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 231
    functionName: blst_uint32_from_fp
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - from_fp
    linkageType: ''
    returnType: void
    signature: void blst_uint32_from_fp(unsigned int ret[12], const vec384 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp
      Src: /src/blst/src/exports.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384
    - unsigned long long[]
    constantsTouched: []
    func_position:
      end: 250
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 250
    functionName: blst_fp_from_uint64
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - mul_fp
    linkageType: ''
    returnType: void
    signature: void blst_fp_from_uint64(vec384 ret, const unsigned long long a[6])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_fp
      Src: /src/blst/src/exports.c:260,1
    - Dst: from_fp
      Src: /src/blst/src/exports.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - unsigned long long[]
    - vec384
    constantsTouched: []
    func_position:
      end: 269
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 269
    functionName: blst_uint64_from_fp
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - from_fp
    linkageType: ''
    returnType: void
    signature: void blst_uint64_from_fp(unsigned long long ret[6], const vec384 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_from_be_bytes
      Src: /src/blst/src/exports.c:275,1
    - Dst: mul_fp
      Src: /src/blst/src/exports.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: blst_fp_from_bendian
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - mul_fp
    - limbs_from_be_bytes
    linkageType: ''
    returnType: void
    signature: void blst_fp_from_bendian(vec384 ret, const unsigned char a[48])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_fp
      Src: /src/blst/src/exports.c:283,1
    - Dst: be_bytes_from_limbs
      Src: /src/blst/src/exports.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - unsigned char[]
    - vec384
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: blst_bendian_from_fp
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - from_fp
    - be_bytes_from_limbs
    linkageType: ''
    returnType: void
    signature: void blst_bendian_from_fp(unsigned char ret[48], const vec384 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_from_le_bytes
      Src: /src/blst/src/exports.c:291,1
    - Dst: mul_fp
      Src: /src/blst/src/exports.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: blst_fp_from_lendian
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - mul_fp
    - limbs_from_le_bytes
    linkageType: ''
    returnType: void
    signature: void blst_fp_from_lendian(vec384 ret, const unsigned char a[48])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_fp
      Src: /src/blst/src/exports.c:299,1
    - Dst: le_bytes_from_limbs
      Src: /src/blst/src/exports.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - unsigned char[]
    - vec384
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: blst_lendian_from_fp
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - from_fp
    - le_bytes_from_limbs
    linkageType: ''
    returnType: void
    signature: void blst_lendian_from_fp(unsigned char ret[48], const vec384 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_fp2
      Src: /src/blst/src/exports.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384x
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: blst_fp2_add
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - add_fp2
    linkageType: ''
    returnType: void
    signature: void blst_fp2_add(vec384x ret, const vec384x a, const vec384x b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub_fp2
      Src: /src/blst/src/exports.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384x
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 310
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 310
    functionName: blst_fp2_sub
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - sub_fp2
    linkageType: ''
    returnType: void
    signature: void blst_fp2_sub(vec384x ret, const vec384x a, const vec384x b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_by_3_fp2
      Src: /src/blst/src/exports.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: blst_fp2_mul_by_3
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - mul_by_3_fp2
    linkageType: ''
    returnType: void
    signature: void blst_fp2_mul_by_3(vec384x ret, const vec384x a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_by_8_fp2
      Src: /src/blst/src/exports.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: blst_fp2_mul_by_8
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - mul_by_8_fp2
    linkageType: ''
    returnType: void
    signature: void blst_fp2_mul_by_8(vec384x ret, const vec384x a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lshift_fp2
      Src: /src/blst/src/exports.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - count
    argTypes:
    - vec384x
    - vec384x
    - size_t
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: blst_fp2_lshift
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - lshift_fp2
    linkageType: ''
    returnType: void
    signature: void blst_fp2_lshift(vec384x ret, const vec384x a, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp2
      Src: /src/blst/src/exports.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384x
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 322
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 322
    functionName: blst_fp2_mul
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - mul_fp2
    linkageType: ''
    returnType: void
    signature: void blst_fp2_mul(vec384x ret, const vec384x a, const vec384x b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fp2
      Src: /src/blst/src/exports.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 325
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 325
    functionName: blst_fp2_sqr
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - sqr_fp2
    linkageType: ''
    returnType: void
    signature: void blst_fp2_sqr(vec384x ret, const vec384x a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cneg_fp2
      Src: /src/blst/src/exports.c:328,1
    - Dst: is_zero
      Src: /src/blst/src/exports.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - flag
    argTypes:
    - vec384x
    - vec384x
    - int
    constantsTouched: []
    func_position:
      end: 328
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: blst_fp2_cneg
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - is_zero
    - cneg_fp2
    linkageType: ''
    returnType: void
    signature: void blst_fp2_cneg(vec384x ret, const vec384x a, int flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - pow256
    - unsigned int[]
    constantsTouched: []
    func_position:
      end: 351
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 351
    functionName: blst_scalar_from_uint32
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blst_scalar_from_uint32(pow256 ret, const unsigned int a[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - unsigned int[]
    - pow256
    constantsTouched: []
    func_position:
      end: 371
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 371
    functionName: blst_uint32_from_scalar
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blst_uint32_from_scalar(unsigned int ret[8], const pow256 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - pow256
    - unsigned long long[]
    constantsTouched: []
    func_position:
      end: 395
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 395
    functionName: blst_scalar_from_uint64
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blst_scalar_from_uint64(pow256 ret, const unsigned long long a[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - unsigned long long[]
    - pow256
    constantsTouched: []
    func_position:
      end: 419
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 419
    functionName: blst_uint64_from_scalar
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blst_uint64_from_scalar(unsigned long long ret[4], const pow256
      a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_from_be_bytes
      Src: /src/blst/src/exports.c:424,1
    - Dst: le_bytes_from_limbs
      Src: /src/blst/src/exports.c:425,1
    - Dst: vec_zero
      Src: /src/blst/src/exports.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - pow256
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 427
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 427
    functionName: blst_scalar_from_bendian
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - limbs_from_be_bytes
    - vec_zero
    - le_bytes_from_limbs
    linkageType: ''
    returnType: void
    signature: void blst_scalar_from_bendian(pow256 ret, const unsigned char a[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_from_le_bytes
      Src: /src/blst/src/exports.c:432,1
    - Dst: be_bytes_from_limbs
      Src: /src/blst/src/exports.c:433,1
    - Dst: vec_zero
      Src: /src/blst/src/exports.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - unsigned char[]
    - pow256
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: blst_bendian_from_scalar
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - be_bytes_from_limbs
    - vec_zero
    - limbs_from_le_bytes
    linkageType: ''
    returnType: void
    signature: void blst_bendian_from_scalar(unsigned char ret[32], const pow256 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - pow256
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 446
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 446
    functionName: blst_scalar_from_lendian
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blst_scalar_from_lendian(pow256 ret, const unsigned char a[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - unsigned char[]
    - pow256
    constantsTouched: []
    func_position:
      end: 457
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 457
    functionName: blst_lendian_from_scalar
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blst_lendian_from_scalar(unsigned char ret[32], const pow256 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/exports.c:475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec256
    - unsigned long long[]
    constantsTouched: []
    func_position:
      end: 476
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 476
    functionName: blst_fr_from_uint64
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - mul_mont_sparse_256
    linkageType: ''
    returnType: void
    signature: void blst_fr_from_uint64(vec256 ret, const unsigned long long a[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_mont_256
      Src: /src/blst/src/exports.c:486,1
    - Dst: from_mont_256
      Src: /src/blst/src/exports.c:491,1
    - Dst: vec_zero
      Src: /src/blst/src/exports.c:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - unsigned long long[]
    - vec256
    constantsTouched: []
    func_position:
      end: 496
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 496
    functionName: blst_uint64_from_fr
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - vec_zero
    - from_mont_256
    linkageType: ''
    returnType: void
    signature: void blst_uint64_from_fr(unsigned long long ret[4], const vec256 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_zero
      Src: /src/blst/src/exports.c:504,1
    - Dst: limbs_from_le_bytes
      Src: /src/blst/src/exports.c:507,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/exports.c:508,1
    - Dst: limbs_from_le_bytes
      Src: /src/blst/src/exports.c:511,1
    - Dst: add_mod_256
      Src: /src/blst/src/exports.c:512,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/exports.c:513,1
    - Dst: from_mont_256
      Src: /src/blst/src/exports.c:517,1
    - Dst: vec_is_zero
      Src: /src/blst/src/exports.c:519,1
    - Dst: le_bytes_from_limbs
      Src: /src/blst/src/exports.c:520,1
    - Dst: vec_zero
      Src: /src/blst/src/exports.c:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - out
    - bytes
    - n
    argTypes:
    - pow256
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 524
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 524
    functionName: blst_scalar_from_le_bytes
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - limbs_from_le_bytes
    - from_mont_256
    - vec_zero
    - vec_is_zero
    - add_mod_256
    - le_bytes_from_limbs
    - mul_mont_sparse_256
    linkageType: ''
    returnType: int
    signature: int blst_scalar_from_le_bytes(pow256 out, const unsigned char *bytes,
      size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_zero
      Src: /src/blst/src/exports.c:532,1
    - Dst: limbs_from_be_bytes
      Src: /src/blst/src/exports.c:534,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/exports.c:535,1
    - Dst: limbs_from_be_bytes
      Src: /src/blst/src/exports.c:538,1
    - Dst: add_mod_256
      Src: /src/blst/src/exports.c:539,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/exports.c:540,1
    - Dst: from_mont_256
      Src: /src/blst/src/exports.c:544,1
    - Dst: vec_is_zero
      Src: /src/blst/src/exports.c:546,1
    - Dst: le_bytes_from_limbs
      Src: /src/blst/src/exports.c:547,1
    - Dst: vec_zero
      Src: /src/blst/src/exports.c:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - out
    - bytes
    - n
    argTypes:
    - pow256
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 551
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 551
    functionName: blst_scalar_from_be_bytes
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - vec_zero
    - from_mont_256
    - vec_is_zero
    - add_mod_256
    - le_bytes_from_limbs
    - limbs_from_be_bytes
    - mul_mont_sparse_256
    linkageType: ''
    returnType: int
    signature: int blst_scalar_from_be_bytes(pow256 out, const unsigned char *bytes,
      size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_init
      Src: /src/blst/src/exports.c:562,1
    - Dst: sha256_update
      Src: /src/blst/src/exports.c:563,1
    - Dst: sha256_final
      Src: /src/blst/src/exports.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - md
    - msg
    - len
    argTypes:
    - unsigned char[]
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 565
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 565
    functionName: blst_sha256
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - sha256_final
    - sha256_update
    - sha256_init
    linkageType: ''
    returnType: void
    signature: void blst_sha256(unsigned char md[32], const void *msg, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bytes_from_hexascii
      Src: /src/blst/src/exports.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - hex
    argTypes:
    - pow256
    - char*
    constantsTouched: []
    func_position:
      end: 571
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 571
    functionName: blst_scalar_from_hexascii
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - bytes_from_hexascii
    linkageType: ''
    returnType: void
    signature: void blst_scalar_from_hexascii(pow256 ret, const char *hex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_from_hexascii
      Src: /src/blst/src/exports.c:575,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/exports.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ret
    - hex
    argTypes:
    - vec256
    - char*
    constantsTouched: []
    func_position:
      end: 577
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 577
    functionName: blst_fr_from_hexascii
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - mul_mont_sparse_256
    - limbs_from_hexascii
    linkageType: ''
    returnType: void
    signature: void blst_fr_from_hexascii(vec256 ret, const char *hex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_from_hexascii
      Src: /src/blst/src/exports.c:581,1
    - Dst: mul_fp
      Src: /src/blst/src/exports.c:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ret
    - hex
    argTypes:
    - vec384
    - char*
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: blst_fp_from_hexascii
    functionSourceFile: /src/blst/src/exports.c
    functionUses: 0
    functionsReached:
    - mul_fp
    - limbs_from_hexascii
    linkageType: ''
    returnType: void
    signature: void blst_fp_from_hexascii(vec384 ret, const char *hex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_mod_384
      Src: /src/blst/src/fields.h:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: add_fp
    functionSourceFile: /src/blst/src/fields.h
    functionUses: 1
    functionsReached:
    - add_mod_384
    linkageType: ''
    returnType: void
    signature: void add_fp(vec384 ret, const vec384 a, const vec384 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub_mod_384
      Src: /src/blst/src/fields.h:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: sub_fp
    functionSourceFile: /src/blst/src/fields.h
    functionUses: 1
    functionsReached:
    - sub_mod_384
    linkageType: ''
    returnType: void
    signature: void sub_fp(vec384 ret, const vec384 a, const vec384 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_by_3_mod_384
      Src: /src/blst/src/fields.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: mul_by_3_fp
    functionSourceFile: /src/blst/src/fields.h
    functionUses: 1
    functionsReached:
    - mul_by_3_mod_384
    linkageType: ''
    returnType: void
    signature: void mul_by_3_fp(vec384 ret, const vec384 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_by_8_mod_384
      Src: /src/blst/src/fields.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: mul_by_8_fp
    functionSourceFile: /src/blst/src/fields.h
    functionUses: 1
    functionsReached:
    - mul_by_8_mod_384
    linkageType: ''
    returnType: void
    signature: void mul_by_8_fp(vec384 ret, const vec384 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lshift_mod_384
      Src: /src/blst/src/fields.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - count
    argTypes:
    - vec384
    - vec384
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: lshift_fp
    functionSourceFile: /src/blst/src/fields.h
    functionUses: 1
    functionsReached:
    - lshift_mod_384
    linkageType: ''
    returnType: void
    signature: void lshift_fp(vec384 ret, const vec384 a, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rshift_mod_384
      Src: /src/blst/src/fields.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - count
    argTypes:
    - vec384
    - vec384
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: rshift_fp
    functionSourceFile: /src/blst/src/fields.h
    functionUses: 0
    functionsReached:
    - rshift_mod_384
    linkageType: ''
    returnType: void
    signature: void rshift_fp(vec384 ret, const vec384 a, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: div_by_2_mod_384
      Src: /src/blst/src/fields.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: div_by_2_fp
    functionSourceFile: /src/blst/src/fields.h
    functionUses: 0
    functionsReached:
    - div_by_2_mod_384
    linkageType: ''
    returnType: void
    signature: void div_by_2_fp(vec384 ret, const vec384 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_mont_384
      Src: /src/blst/src/fields.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: mul_fp
    functionSourceFile: /src/blst/src/fields.h
    functionUses: 9
    functionsReached:
    - mul_mont_384
    linkageType: ''
    returnType: void
    signature: void mul_fp(vec384 ret, const vec384 a, const vec384 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_mont_384
      Src: /src/blst/src/fields.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: sqr_fp
    functionSourceFile: /src/blst/src/fields.h
    functionUses: 1
    functionsReached:
    - sqr_mont_384
    linkageType: ''
    returnType: void
    signature: void sqr_fp(vec384 ret, const vec384 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cneg_mod_384
      Src: /src/blst/src/fields.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - flag
    argTypes:
    - vec384
    - vec384
    - bool_t
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: cneg_fp
    functionSourceFile: /src/blst/src/fields.h
    functionUses: 2
    functionsReached:
    - cneg_mod_384
    linkageType: ''
    returnType: void
    signature: void cneg_fp(vec384 ret, const vec384 a, bool_t flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_mont_384
      Src: /src/blst/src/fields.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: from_fp
    functionSourceFile: /src/blst/src/fields.h
    functionUses: 6
    functionsReached:
    - from_mont_384
    linkageType: ''
    returnType: void
    signature: void from_fp(vec384 ret, const vec384 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: redc_mont_384
      Src: /src/blst/src/fields.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384
    - vec768
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: redc_fp
    functionSourceFile: /src/blst/src/fields.h
    functionUses: 0
    functionsReached:
    - redc_mont_384
    linkageType: ''
    returnType: void
    signature: void redc_fp(vec384 ret, const vec768 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_mod_384x
      Src: /src/blst/src/fields.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384x
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: add_fp2
    functionSourceFile: /src/blst/src/fields.h
    functionUses: 16
    functionsReached:
    - add_mod_384x
    linkageType: ''
    returnType: void
    signature: void add_fp2(vec384x ret, const vec384x a, const vec384x b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub_mod_384x
      Src: /src/blst/src/fields.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384x
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: sub_fp2
    functionSourceFile: /src/blst/src/fields.h
    functionUses: 10
    functionsReached:
    - sub_mod_384x
    linkageType: ''
    returnType: void
    signature: void sub_fp2(vec384x ret, const vec384x a, const vec384x b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_by_3_mod_384x
      Src: /src/blst/src/fields.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: mul_by_3_fp2
    functionSourceFile: /src/blst/src/fields.h
    functionUses: 1
    functionsReached:
    - mul_by_3_mod_384x
    linkageType: ''
    returnType: void
    signature: void mul_by_3_fp2(vec384x ret, const vec384x a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_by_8_mod_384x
      Src: /src/blst/src/fields.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: mul_by_8_fp2
    functionSourceFile: /src/blst/src/fields.h
    functionUses: 1
    functionsReached:
    - mul_by_8_mod_384x
    linkageType: ''
    returnType: void
    signature: void mul_by_8_fp2(vec384x ret, const vec384x a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lshift_mod_384
      Src: /src/blst/src/fields.h:68,1
    - Dst: lshift_mod_384
      Src: /src/blst/src/fields.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ret
    - a
    - count
    argTypes:
    - vec384x
    - vec384x
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: lshift_fp2
    functionSourceFile: /src/blst/src/fields.h
    functionUses: 1
    functionsReached:
    - lshift_mod_384
    linkageType: ''
    returnType: void
    signature: void lshift_fp2(vec384x ret, const vec384x a, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_mont_384x
      Src: /src/blst/src/fields.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec384x
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: mul_fp2
    functionSourceFile: /src/blst/src/fields.h
    functionUses: 8
    functionsReached:
    - mul_mont_384x
    linkageType: ''
    returnType: void
    signature: void mul_fp2(vec384x ret, const vec384x a, const vec384x b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_mont_384x
      Src: /src/blst/src/fields.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: sqr_fp2
    functionSourceFile: /src/blst/src/fields.h
    functionUses: 4
    functionsReached:
    - sqr_mont_384x
    linkageType: ''
    returnType: void
    signature: void sqr_fp2(vec384x ret, const vec384x a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cneg_mod_384
      Src: /src/blst/src/fields.h:80,1
    - Dst: cneg_mod_384
      Src: /src/blst/src/fields.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ret
    - a
    - flag
    argTypes:
    - vec384x
    - vec384x
    - bool_t
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: cneg_fp2
    functionSourceFile: /src/blst/src/fields.h
    functionUses: 1
    functionsReached:
    - cneg_mod_384
    linkageType: ''
    returnType: void
    signature: void cneg_fp2(vec384x ret, const vec384x a, bool_t flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: launder
      Src: /src/blst/src/vect.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - v
    - i
    argTypes:
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: is_bit_set
    functionSourceFile: /src/blst/src/vect.h
    functionUses: 0
    functionsReached:
    - launder
    linkageType: ''
    returnType: bool_t
    signature: bool_t is_bit_set(const byte *v, size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: launder
      Src: /src/blst/src/vect.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: byte_is_zero
    functionSourceFile: /src/blst/src/vect.h
    functionUses: 0
    functionsReached:
    - launder
    linkageType: ''
    returnType: bool_t
    signature: bool_t byte_is_zero(unsigned char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: byte_is_zero
      Src: /src/blst/src/vect.h:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - num
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: bytes_are_zero
    functionSourceFile: /src/blst/src/vect.h
    functionUses: 1
    functionsReached:
    - byte_is_zero
    linkageType: ''
    returnType: bool_t
    signature: bool_t bytes_are_zero(const unsigned char *a, size_t num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: launder
      Src: /src/blst/src/vect.h:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - a
    - b
    - num
    - cbit
    argTypes:
    - void*
    - void*
    - size_t
    - bool_t
    constantsTouched: []
    func_position:
      end: 262
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 262
    functionName: vec_cswap
    functionSourceFile: /src/blst/src/vect.h
    functionUses: 0
    functionsReached:
    - launder
    linkageType: ''
    returnType: void
    signature: "void vec_cswap(void *restrict a, void *restrict b, size_t num,\n                             bool_t
      cbit)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: launder
      Src: /src/blst/src/vect.h:274,1
    - Dst: vec_select_32
      Src: /src/blst/src/vect.h:276,1
    - Dst: vec_select_48
      Src: /src/blst/src/vect.h:277,1
    - Dst: vec_select_96
      Src: /src/blst/src/vect.h:278,1
    - Dst: vec_select_144
      Src: /src/blst/src/vect.h:279,1
    - Dst: vec_select_192
      Src: /src/blst/src/vect.h:280,1
    - Dst: vec_select_288
      Src: /src/blst/src/vect.h:281,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - ret
    - a
    - b
    - num
    - sel_a
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    - bool_t
    constantsTouched: []
    func_position:
      end: 299
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 299
    functionName: vec_select
    functionSourceFile: /src/blst/src/vect.h
    functionUses: 0
    functionsReached:
    - vec_select_32
    - vec_select_288
    - vec_select_192
    - launder
    - vec_select_144
    - vec_select_96
    - vec_select_48
    linkageType: ''
    returnType: void
    signature: "void vec_select(void *ret, const void *a, const void *b,\n                              size_t
      num, bool_t sel_a)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: launder
      Src: /src/blst/src/vect.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - l
    argTypes:
    - limb_t
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: is_zero
    functionSourceFile: /src/blst/src/vect.h
    functionUses: 119
    functionsReached:
    - launder
    linkageType: ''
    returnType: bool_t
    signature: bool_t is_zero(limb_t l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero_16x
      Src: /src/blst/src/vect.h:318,1
    - Dst: is_zero
      Src: /src/blst/src/vect.h:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - num
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 327
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 327
    functionName: vec_is_zero
    functionSourceFile: /src/blst/src/vect.h
    functionUses: 4
    functionsReached:
    - is_zero
    - vec_is_zero_16x
    linkageType: ''
    returnType: bool_t
    signature: bool_t vec_is_zero(const void *a, size_t num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_equal_16x
      Src: /src/blst/src/vect.h:339,1
    - Dst: is_zero
      Src: /src/blst/src/vect.h:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - a
    - b
    - num
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 348
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 348
    functionName: vec_is_equal
    functionSourceFile: /src/blst/src/vect.h
    functionUses: 2
    functionsReached:
    - vec_is_equal_16x
    - is_zero
    linkageType: ''
    returnType: bool_t
    signature: bool_t vec_is_equal(const void *a, const void *b, size_t num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cneg_mod_384
      Src: /src/blst/src/vect.h:353,1
    - Dst: cneg_mod_384
      Src: /src/blst/src/vect.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ret
    - a
    - flag
    - p
    argTypes:
    - vec384x
    - vec384x
    - bool_t
    - vec384
    constantsTouched: []
    func_position:
      end: 355
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 355
    functionName: cneg_mod_384x
    functionSourceFile: /src/blst/src/vect.h
    functionUses: 0
    functionsReached:
    - cneg_mod_384
    linkageType: ''
    returnType: void
    signature: "void cneg_mod_384x(vec384x ret, const vec384x a, bool_t flag,\n                                 const
      vec384 p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ret
    - a
    - num
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 367
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 367
    functionName: vec_copy
    functionSourceFile: /src/blst/src/vect.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vec_copy(void *restrict ret, const void *a, size_t num)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ret
    - num
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 382
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 382
    functionName: vec_zero
    functionSourceFile: /src/blst/src/vect.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vec_zero(void *ret, size_t num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: launder
      Src: /src/blst/src/vect.h:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ret
    - num
    - cbit
    argTypes:
    - void*
    - size_t
    - bool_t
    constantsTouched: []
    func_position:
      end: 397
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 397
    functionName: vec_czero
    functionSourceFile: /src/blst/src/vect.h
    functionUses: 0
    functionsReached:
    - launder
    linkageType: ''
    returnType: void
    signature: void vec_czero(void *ret, size_t num, bool_t cbit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: blst_pairing_sizeof
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t blst_pairing_sizeof(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - hash_or_encode
    - DST
    - DST_len
    argTypes:
    - PAIRING*
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: blst_pairing_init
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void blst_pairing_init(PAIRING *ctx, int hash_or_encode,\n                       const
      void *DST, size_t DST_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PAIRING*
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: pairing_get_dst
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *pairing_get_dst(const PAIRING *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pairing_get_dst
      Src: /src/blst/src/aggregate.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PAIRING*
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: blst_pairing_get_dst
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - pairing_get_dst
    linkageType: ''
    returnType: void
    signature: void *blst_pairing_get_dst(const PAIRING *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/aggregate.c:118,1
    - Dst: FROM_AFFINE
      Src: /src/blst/src/aggregate.c:122,1
    - Dst: POINTonE1_in_G1
      Src: /src/blst/src/aggregate.c:124,1
    - Dst: POINTonE1_mult_w5
      Src: /src/blst/src/aggregate.c:129,1
    - Dst: POINTonE1_dadd
      Src: /src/blst/src/aggregate.c:130,1
    - Dst: POINTonE1_dadd_affine
      Src: /src/blst/src/aggregate.c:132,1
    - Dst: POINTonE1_mult_w5
      Src: /src/blst/src/aggregate.c:137,1
    - Dst: vec_copy
      Src: /src/blst/src/aggregate.c:139,1
    - Dst: vec_is_zero
      Src: /src/blst/src/aggregate.c:151,1
    - Dst: FROM_AFFINE
      Src: /src/blst/src/aggregate.c:157,1
    - Dst: POINTonE2_in_G2
      Src: /src/blst/src/aggregate.c:158,1
    - Dst: Hash_to_G1
      Src: /src/blst/src/aggregate.c:163,1
    - Dst: Encode_to_G1
      Src: /src/blst/src/aggregate.c:165,1
    - Dst: POINTonE1_mult_w5
      Src: /src/blst/src/aggregate.c:168,1
    - Dst: POINTonE1_from_Jacobian
      Src: /src/blst/src/aggregate.c:170,1
    - Dst: vec_copy
      Src: /src/blst/src/aggregate.c:173,1
    - Dst: vec_copy
      Src: /src/blst/src/aggregate.c:174,1
    - Dst: miller_loop_n
      Src: /src/blst/src/aggregate.c:178,1
    - Dst: mul_fp12
      Src: /src/blst/src/aggregate.c:179,1
    - Dst: miller_loop_n
      Src: /src/blst/src/aggregate.c:181,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 11
    argNames:
    - ctx
    - PK
    - pk_groupcheck
    - sig
    - sig_groupcheck
    - scalar
    - nbits
    - msg
    - msg_len
    - aug
    - aug_len
    argTypes:
    - PAIRING*
    - POINTonE2_affine*
    - size_t
    - POINTonE1_affine*
    - size_t
    - byte*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 190
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 190
    functionName: PAIRING_Aggregate_PK_in_G2
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - POINTonE1_from_Jacobian
    - POINTonE2_in_G2
    - POINTonE1_dadd
    - vec_copy
    - vec_is_zero
    - Encode_to_G1
    - POINTonE1_dadd_affine
    - mul_fp12
    - POINTonE1_in_G1
    - FROM_AFFINE
    - Hash_to_G1
    - POINTonE1_mult_w5
    - miller_loop_n
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR PAIRING_Aggregate_PK_in_G2(PAIRING *ctx,\n                                             const
      POINTonE2_affine *PK,\n                                             size_t pk_groupcheck,\n
      \                                            const POINTonE1_affine *sig,\n
      \                                            size_t sig_groupcheck,\n                                             const
      byte *scalar, size_t nbits,\n                                             const
      void *msg, size_t msg_len,\n                                             const
      void *aug, size_t aug_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PAIRING_Aggregate_PK_in_G2
      Src: /src/blst/src/aggregate.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - PK
    - signature
    - msg
    - msg_len
    - aug
    - aug_len
    argTypes:
    - PAIRING*
    - POINTonE2_affine*
    - POINTonE1_affine*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: blst_pairing_aggregate_pk_in_g2
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - PAIRING_Aggregate_PK_in_G2
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR blst_pairing_aggregate_pk_in_g2(PAIRING *ctx,\n                                           const
      POINTonE2_affine *PK,\n                                           const POINTonE1_affine
      *signature,\n                                           const void *msg, size_t
      msg_len,\n                                           const void *aug, size_t
      aug_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PAIRING_Aggregate_PK_in_G2
      Src: /src/blst/src/aggregate.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - PK
    - sig
    - scalar
    - nbits
    - msg
    - msg_len
    - aug
    - aug_len
    argTypes:
    - PAIRING*
    - POINTonE2_affine*
    - POINTonE1_affine*
    - byte*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 4
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: blst_pairing_mul_n_aggregate_pk_in_g2
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - PAIRING_Aggregate_PK_in_G2
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR blst_pairing_mul_n_aggregate_pk_in_g2(PAIRING *ctx,\n                                                 const
      POINTonE2_affine *PK,\n                                                 const
      POINTonE1_affine *sig,\n                                                 const
      byte *scalar,\n                                                 size_t nbits,\n
      \                                                const void *msg,\n                                                 size_t
      msg_len,\n                                                 const void *aug,\n
      \                                                size_t aug_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PAIRING_Aggregate_PK_in_G2
      Src: /src/blst/src/aggregate.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - PK
    - pk_grpchk
    - signature
    - sig_grpchk
    - msg
    - msg_len
    - aug
    - aug_len
    argTypes:
    - PAIRING*
    - POINTonE2_affine*
    - size_t
    - POINTonE1_affine*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 4
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: blst_pairing_chk_n_aggr_pk_in_g2
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - PAIRING_Aggregate_PK_in_G2
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR blst_pairing_chk_n_aggr_pk_in_g2(PAIRING *ctx,\n                                            const
      POINTonE2_affine *PK,\n                                            size_t pk_grpchk,\n
      \                                           const POINTonE1_affine *signature,\n
      \                                           size_t sig_grpchk,\n                                            const
      void *msg, size_t msg_len,\n                                            const
      void *aug, size_t aug_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PAIRING_Aggregate_PK_in_G2
      Src: /src/blst/src/aggregate.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - ctx
    - PK
    - pk_grpchk
    - sig
    - sig_grpchk
    - scalar
    - nbits
    - msg
    - msg_len
    - aug
    - aug_len
    argTypes:
    - PAIRING*
    - POINTonE2_affine*
    - size_t
    - POINTonE1_affine*
    - size_t
    - byte*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: blst_pairing_chk_n_mul_n_aggr_pk_in_g2
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - PAIRING_Aggregate_PK_in_G2
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR blst_pairing_chk_n_mul_n_aggr_pk_in_g2(PAIRING *ctx,\n
      \                                                 const POINTonE2_affine *PK,\n
      \                                                 size_t pk_grpchk,\n                                                  const
      POINTonE1_affine *sig,\n                                                  size_t
      sig_grpchk,\n                                                  const byte *scalar,\n
      \                                                 size_t nbits,\n                                                  const
      void *msg,\n                                                  size_t msg_len,\n
      \                                                 const void *aug,\n                                                  size_t
      aug_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/aggregate.c:261,1
    - Dst: FROM_AFFINE
      Src: /src/blst/src/aggregate.c:265,1
    - Dst: POINTonE2_in_G2
      Src: /src/blst/src/aggregate.c:267,1
    - Dst: POINTonE2_mult_w5
      Src: /src/blst/src/aggregate.c:273,1
    - Dst: POINTonE2_dadd
      Src: /src/blst/src/aggregate.c:274,1
    - Dst: POINTonE2_dadd_affine
      Src: /src/blst/src/aggregate.c:276,1
    - Dst: POINTonE2_mult_w5
      Src: /src/blst/src/aggregate.c:281,1
    - Dst: vec_copy
      Src: /src/blst/src/aggregate.c:283,1
    - Dst: vec_is_zero
      Src: /src/blst/src/aggregate.c:296,1
    - Dst: FROM_AFFINE
      Src: /src/blst/src/aggregate.c:302,1
    - Dst: POINTonE1_in_G1
      Src: /src/blst/src/aggregate.c:303,1
    - Dst: Hash_to_G2
      Src: /src/blst/src/aggregate.c:308,1
    - Dst: Encode_to_G2
      Src: /src/blst/src/aggregate.c:310,1
    - Dst: POINTonE2_from_Jacobian
      Src: /src/blst/src/aggregate.c:312,1
    - Dst: FROM_AFFINE
      Src: /src/blst/src/aggregate.c:315,1
    - Dst: POINTonE1_mult_w5
      Src: /src/blst/src/aggregate.c:316,1
    - Dst: POINTonE1_from_Jacobian
      Src: /src/blst/src/aggregate.c:317,1
    - Dst: vec_copy
      Src: /src/blst/src/aggregate.c:322,1
    - Dst: vec_copy
      Src: /src/blst/src/aggregate.c:323,1
    - Dst: miller_loop_n
      Src: /src/blst/src/aggregate.c:327,1
    - Dst: mul_fp12
      Src: /src/blst/src/aggregate.c:328,1
    - Dst: miller_loop_n
      Src: /src/blst/src/aggregate.c:330,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 11
    argNames:
    - ctx
    - PK
    - pk_groupcheck
    - sig
    - sig_groupcheck
    - scalar
    - nbits
    - msg
    - msg_len
    - aug
    - aug_len
    argTypes:
    - PAIRING*
    - POINTonE1_affine*
    - size_t
    - POINTonE2_affine*
    - size_t
    - byte*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 339
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 339
    functionName: PAIRING_Aggregate_PK_in_G1
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - POINTonE1_from_Jacobian
    - POINTonE2_in_G2
    - Hash_to_G2
    - POINTonE2_mult_w5
    - vec_copy
    - vec_is_zero
    - mul_fp12
    - POINTonE1_in_G1
    - FROM_AFFINE
    - POINTonE2_dadd_affine
    - POINTonE2_from_Jacobian
    - miller_loop_n
    - POINTonE1_mult_w5
    - Encode_to_G2
    - POINTonE2_dadd
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR PAIRING_Aggregate_PK_in_G1(PAIRING *ctx,\n                                             const
      POINTonE1_affine *PK,\n                                             size_t pk_groupcheck,\n
      \                                            const POINTonE2_affine *sig,\n
      \                                            size_t sig_groupcheck,\n                                             const
      byte *scalar, size_t nbits,\n                                             const
      void *msg, size_t msg_len,\n                                             const
      void *aug, size_t aug_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PAIRING_Aggregate_PK_in_G1
      Src: /src/blst/src/aggregate.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - PK
    - signature
    - msg
    - msg_len
    - aug
    - aug_len
    argTypes:
    - PAIRING*
    - POINTonE1_affine*
    - POINTonE2_affine*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 4
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: blst_pairing_aggregate_pk_in_g1
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - PAIRING_Aggregate_PK_in_G1
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR blst_pairing_aggregate_pk_in_g1(PAIRING *ctx,\n                                           const
      POINTonE1_affine *PK,\n                                           const POINTonE2_affine
      *signature,\n                                           const void *msg, size_t
      msg_len,\n                                           const void *aug, size_t
      aug_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PAIRING_Aggregate_PK_in_G1
      Src: /src/blst/src/aggregate.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - PK
    - sig
    - scalar
    - nbits
    - msg
    - msg_len
    - aug
    - aug_len
    argTypes:
    - PAIRING*
    - POINTonE1_affine*
    - POINTonE2_affine*
    - byte*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 361
      start: 350
    functionDepth: 4
    functionLinenumber: 350
    functionLinenumberEnd: 361
    functionName: blst_pairing_mul_n_aggregate_pk_in_g1
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - PAIRING_Aggregate_PK_in_G1
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR blst_pairing_mul_n_aggregate_pk_in_g1(PAIRING *ctx,\n                                                 const
      POINTonE1_affine *PK,\n                                                 const
      POINTonE2_affine *sig,\n                                                 const
      byte *scalar,\n                                                 size_t nbits,\n
      \                                                const void *msg,\n                                                 size_t
      msg_len,\n                                                 const void *aug,\n
      \                                                size_t aug_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PAIRING_Aggregate_PK_in_G1
      Src: /src/blst/src/aggregate.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - PK
    - pk_grpchk
    - signature
    - sig_grpchk
    - msg
    - msg_len
    - aug
    - aug_len
    argTypes:
    - PAIRING*
    - POINTonE1_affine*
    - size_t
    - POINTonE2_affine*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 372
      start: 363
    functionDepth: 4
    functionLinenumber: 363
    functionLinenumberEnd: 372
    functionName: blst_pairing_chk_n_aggr_pk_in_g1
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - PAIRING_Aggregate_PK_in_G1
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR blst_pairing_chk_n_aggr_pk_in_g1(PAIRING *ctx,\n                                            const
      POINTonE1_affine *PK,\n                                            size_t pk_grpchk,\n
      \                                           const POINTonE2_affine *signature,\n
      \                                           size_t sig_grpchk,\n                                            const
      void *msg, size_t msg_len,\n                                            const
      void *aug, size_t aug_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PAIRING_Aggregate_PK_in_G1
      Src: /src/blst/src/aggregate.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - ctx
    - PK
    - pk_grpchk
    - sig
    - sig_grpchk
    - scalar
    - nbits
    - msg
    - msg_len
    - aug
    - aug_len
    argTypes:
    - PAIRING*
    - POINTonE1_affine*
    - size_t
    - POINTonE2_affine*
    - size_t
    - byte*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 388
      start: 374
    functionDepth: 4
    functionLinenumber: 374
    functionLinenumberEnd: 388
    functionName: blst_pairing_chk_n_mul_n_aggr_pk_in_g1
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - PAIRING_Aggregate_PK_in_G1
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR blst_pairing_chk_n_mul_n_aggr_pk_in_g1(PAIRING *ctx,\n
      \                                                 const POINTonE1_affine *PK,\n
      \                                                 size_t pk_grpchk,\n                                                  const
      POINTonE2_affine *sig,\n                                                  size_t
      sig_grpchk,\n                                                  const byte *scalar,\n
      \                                                 size_t nbits,\n                                                  const
      void *msg,\n                                                  size_t msg_len,\n
      \                                                 const void *aug,\n                                                  size_t
      aug_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: miller_loop_n
      Src: /src/blst/src/aggregate.c:397,1
    - Dst: mul_fp12
      Src: /src/blst/src/aggregate.c:398,1
    - Dst: miller_loop_n
      Src: /src/blst/src/aggregate.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PAIRING*
    constantsTouched: []
    func_position:
      end: 405
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 405
    functionName: PAIRING_Commit
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - mul_fp12
    - miller_loop_n
    linkageType: ''
    returnType: void
    signature: void PAIRING_Commit(PAIRING *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PAIRING_Commit
      Src: /src/blst/src/aggregate.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PAIRING*
    constantsTouched: []
    func_position:
      end: 408
      start: 407
    functionDepth: 4
    functionLinenumber: 407
    functionLinenumberEnd: 408
    functionName: blst_pairing_commit
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - PAIRING_Commit
    linkageType: ''
    returnType: void
    signature: void blst_pairing_commit(PAIRING *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_dadd
      Src: /src/blst/src/aggregate.c:426,1
    - Dst: vec_copy
      Src: /src/blst/src/aggregate.c:430,1
    - Dst: POINTonE2_dadd
      Src: /src/blst/src/aggregate.c:436,1
    - Dst: vec_copy
      Src: /src/blst/src/aggregate.c:440,1
    - Dst: mul_fp12
      Src: /src/blst/src/aggregate.c:451,1
    - Dst: vec_copy
      Src: /src/blst/src/aggregate.c:454,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - ctx
    - ctx1
    argTypes:
    - PAIRING*
    - PAIRING*
    constantsTouched: []
    func_position:
      end: 458
      start: 410
    functionDepth: 3
    functionLinenumber: 410
    functionLinenumberEnd: 458
    functionName: blst_pairing_merge
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - POINTonE1_dadd
    - mul_fp12
    - vec_copy
    - POINTonE2_dadd
    linkageType: ''
    returnType: BLST_ERROR
    signature: BLST_ERROR blst_pairing_merge(PAIRING *ctx, const PAIRING *ctx1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_copy
      Src: /src/blst/src/aggregate.c:468,1
    - Dst: POINTonE1_from_Jacobian
      Src: /src/blst/src/aggregate.c:474,1
    - Dst: miller_loop_n
      Src: /src/blst/src/aggregate.c:475,1
    - Dst: POINTonE2_from_Jacobian
      Src: /src/blst/src/aggregate.c:479,1
    - Dst: miller_loop_n
      Src: /src/blst/src/aggregate.c:480,1
    - Dst: vec_copy
      Src: /src/blst/src/aggregate.c:491,1
    - Dst: conjugate_fp12
      Src: /src/blst/src/aggregate.c:494,1
    - Dst: mul_fp12
      Src: /src/blst/src/aggregate.c:495,1
    - Dst: final_exp
      Src: /src/blst/src/aggregate.c:496,1
    - Dst: vec_is_equal
      Src: /src/blst/src/aggregate.c:499,1
    - Dst: vec_is_zero
      Src: /src/blst/src/aggregate.c:500,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - GTsig
    argTypes:
    - PAIRING*
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 501
      start: 460
    functionDepth: 3
    functionLinenumber: 460
    functionLinenumberEnd: 501
    functionName: PAIRING_FinalVerify
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - POINTonE1_from_Jacobian
    - conjugate_fp12
    - vec_copy
    - vec_is_zero
    - final_exp
    - mul_fp12
    - POINTonE2_from_Jacobian
    - vec_is_equal
    - miller_loop_n
    linkageType: ''
    returnType: bool_t
    signature: bool_t PAIRING_FinalVerify(const PAIRING *ctx, const vec384fp12 GTsig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PAIRING_FinalVerify
      Src: /src/blst/src/aggregate.c:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - GTsig
    argTypes:
    - PAIRING*
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 504
      start: 503
    functionDepth: 4
    functionLinenumber: 503
    functionLinenumberEnd: 504
    functionName: blst_pairing_finalverify
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - PAIRING_FinalVerify
    linkageType: ''
    returnType: int
    signature: int blst_pairing_finalverify(const PAIRING *ctx, const vec384fp12 GTsig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_copy
      Src: /src/blst/src/aggregate.c:510,1
    - Dst: conjugate_fp12
      Src: /src/blst/src/aggregate.c:511,1
    - Dst: mul_fp12
      Src: /src/blst/src/aggregate.c:512,1
    - Dst: final_exp
      Src: /src/blst/src/aggregate.c:513,1
    - Dst: vec_is_equal
      Src: /src/blst/src/aggregate.c:516,1
    - Dst: vec_is_zero
      Src: /src/blst/src/aggregate.c:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - GT1
    - GT2
    argTypes:
    - vec384fp12
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 518
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 518
    functionName: blst_fp12_finalverify
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - conjugate_fp12
    - vec_copy
    - vec_is_zero
    - final_exp
    - mul_fp12
    - vec_is_equal
    linkageType: ''
    returnType: int
    signature: int blst_fp12_finalverify(const vec384fp12 GT1, const vec384fp12 GT2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/aggregate.c:525,1
    - Dst: vec_is_zero
      Src: /src/blst/src/aggregate.c:525,1
    - Dst: vec_copy
      Src: /src/blst/src/aggregate.c:529,1
    - Dst: vec_copy
      Src: /src/blst/src/aggregate.c:530,1
    - Dst: miller_loop_n
      Src: /src/blst/src/aggregate.c:534,1
    - Dst: mul_fp12
      Src: /src/blst/src/aggregate.c:535,1
    - Dst: miller_loop_n
      Src: /src/blst/src/aggregate.c:537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - q
    - p
    argTypes:
    - PAIRING*
    - POINTonE2_affine*
    - POINTonE1_affine*
    constantsTouched: []
    func_position:
      end: 543
      start: 520
    functionDepth: 3
    functionLinenumber: 520
    functionLinenumberEnd: 543
    functionName: blst_pairing_raw_aggregate
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - mul_fp12
    - vec_copy
    - miller_loop_n
    - vec_is_zero
    linkageType: ''
    returnType: void
    signature: "void blst_pairing_raw_aggregate(PAIRING *ctx, const POINTonE2_affine
      *q,\n                                              const POINTonE1_affine *p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PAIRING_Commit
      Src: /src/blst/src/aggregate.c:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PAIRING*
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 4
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: blst_pairing_as_fp12
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - PAIRING_Commit
    linkageType: ''
    returnType: vec384fp12
    signature: vec384fp12 *blst_pairing_as_fp12(PAIRING *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_Deserialize_Z
      Src: /src/blst/src/aggregate.c:565,1
    - Dst: vec_is_zero
      Src: /src/blst/src/aggregate.c:570,1
    - Dst: vec_zero
      Src: /src/blst/src/aggregate.c:572,1
    - Dst: vec_copy
      Src: /src/blst/src/aggregate.c:576,1
    - Dst: POINTonE1_in_G1
      Src: /src/blst/src/aggregate.c:578,1
    - Dst: vec_copy
      Src: /src/blst/src/aggregate.c:582,1
    - Dst: POINTonE1_dadd_affine
      Src: /src/blst/src/aggregate.c:584,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - out
    - in
    - zwire
    argTypes:
    - POINTonE1*
    - POINTonE1*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 587
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 587
    functionName: blst_aggregate_in_g1
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - vec_copy
    - vec_zero
    - vec_is_zero
    - POINTonE1_Deserialize_Z
    - POINTonE1_dadd_affine
    - POINTonE1_in_G1
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR blst_aggregate_in_g1(POINTonE1 *out, const POINTonE1 *in,\n
      \                                               const unsigned char *zwire)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_Deserialize_Z
      Src: /src/blst/src/aggregate.c:595,1
    - Dst: vec_is_zero
      Src: /src/blst/src/aggregate.c:600,1
    - Dst: vec_zero
      Src: /src/blst/src/aggregate.c:602,1
    - Dst: vec_copy
      Src: /src/blst/src/aggregate.c:606,1
    - Dst: POINTonE2_in_G2
      Src: /src/blst/src/aggregate.c:608,1
    - Dst: vec_copy
      Src: /src/blst/src/aggregate.c:612,1
    - Dst: POINTonE2_dadd_affine
      Src: /src/blst/src/aggregate.c:614,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - out
    - in
    - zwire
    argTypes:
    - POINTonE2*
    - POINTonE2*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 617
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 617
    functionName: blst_aggregate_in_g2
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - POINTonE2_Deserialize_Z
    - POINTonE2_in_G2
    - vec_copy
    - vec_zero
    - vec_is_zero
    - POINTonE2_dadd_affine
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR blst_aggregate_in_g2(POINTonE2 *out, const POINTonE2 *in,\n
      \                                               const unsigned char *zwire)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: miller_loop_n
      Src: /src/blst/src/aggregate.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - sig
    argTypes:
    - vec384fp12
    - POINTonE1_affine*
    constantsTouched: []
    func_position:
      end: 620
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 620
    functionName: blst_aggregated_in_g1
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - miller_loop_n
    linkageType: ''
    returnType: void
    signature: void blst_aggregated_in_g1(vec384fp12 ret, const POINTonE1_affine *sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: miller_loop_n
      Src: /src/blst/src/aggregate.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - sig
    argTypes:
    - vec384fp12
    - POINTonE2_affine*
    constantsTouched: []
    func_position:
      end: 623
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 623
    functionName: blst_aggregated_in_g2
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - miller_loop_n
    linkageType: ''
    returnType: void
    signature: void blst_aggregated_in_g2(vec384fp12 ret, const POINTonE2_affine *sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PAIRING_Aggregate_PK_in_G1
      Src: /src/blst/src/aggregate.c:640,1
    - Dst: PAIRING_Commit
      Src: /src/blst/src/aggregate.c:645,1
    - Dst: PAIRING_FinalVerify
      Src: /src/blst/src/aggregate.c:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 9
    argNames:
    - pk
    - signature
    - hash_or_encode
    - msg
    - msg_len
    - DST
    - DST_len
    - aug
    - aug_len
    argTypes:
    - POINTonE1_affine*
    - POINTonE2_affine*
    - int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 648
      start: 625
    functionDepth: 4
    functionLinenumber: 625
    functionLinenumberEnd: 648
    functionName: blst_core_verify_pk_in_g1
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - PAIRING_Aggregate_PK_in_G1
    - PAIRING_FinalVerify
    - PAIRING_Commit
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR blst_core_verify_pk_in_g1(const POINTonE1_affine *pk,\n
      \                                    const POINTonE2_affine *signature,\n                                     int
      hash_or_encode,\n                                     const void *msg, size_t
      msg_len,\n                                     const void *DST, size_t DST_len,\n
      \                                    const void *aug, size_t aug_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PAIRING_Aggregate_PK_in_G2
      Src: /src/blst/src/aggregate.c:665,1
    - Dst: PAIRING_Commit
      Src: /src/blst/src/aggregate.c:670,1
    - Dst: PAIRING_FinalVerify
      Src: /src/blst/src/aggregate.c:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 9
    argNames:
    - pk
    - signature
    - hash_or_encode
    - msg
    - msg_len
    - DST
    - DST_len
    - aug
    - aug_len
    argTypes:
    - POINTonE2_affine*
    - POINTonE1_affine*
    - int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 673
      start: 650
    functionDepth: 4
    functionLinenumber: 650
    functionLinenumberEnd: 673
    functionName: blst_core_verify_pk_in_g2
    functionSourceFile: /src/blst/src/aggregate.c
    functionUses: 0
    functionsReached:
    - PAIRING_FinalVerify
    - PAIRING_Aggregate_PK_in_G2
    - PAIRING_Commit
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR blst_core_verify_pk_in_g2(const POINTonE2_affine *pk,\n
      \                                    const POINTonE1_affine *signature,\n                                     int
      hash_or_encode,\n                                     const void *msg, size_t
      msg_len,\n                                     const void *DST, size_t DST_len,\n
      \                                    const void *aug, size_t aug_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:32,1
    - Dst: launder
      Src: /src/blst/src/no_asm.h:78,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 6
    argNames:
    - ret
    - a
    - b
    - p
    - n0
    - n
    argTypes:
    - limb_t[]
    - limb_t[]
    - limb_t[]
    - limb_t[]
    - limb_t
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 82
    functionName: mul_mont_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - __builtin_assume
    - launder
    linkageType: ''
    returnType: void
    signature: "void mul_mont_n(limb_t ret[], const limb_t a[], const limb_t b[],\n
      \                      const limb_t p[], limb_t n0, size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:107,1
    - Dst: launder
      Src: /src/blst/src/no_asm.h:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - ret
    - a
    - b
    - p
    - n
    argTypes:
    - limb_t[]
    - limb_t[]
    - limb_t[]
    - limb_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 129
    functionName: add_mod_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - __builtin_assume
    - launder
    linkageType: ''
    returnType: void
    signature: "void add_mod_n(limb_t ret[], const limb_t a[], const limb_t b[],\n
      \                     const limb_t p[], size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:142,1
    - Dst: launder
      Src: /src/blst/src/no_asm.h:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ret
    - a
    - b
    - p
    - n
    argTypes:
    - limb_t[]
    - limb_t[]
    - limb_t[]
    - limb_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 161
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 161
    functionName: sub_mod_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - __builtin_assume
    - launder
    linkageType: ''
    returnType: void
    signature: "void sub_mod_n(limb_t ret[], const limb_t a[], const limb_t b[],\n
      \                     const limb_t p[], size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:174,1
    - Dst: launder
      Src: /src/blst/src/no_asm.h:192,1
    - Dst: launder
      Src: /src/blst/src/no_asm.h:210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - ret
    - a
    - p
    - n
    argTypes:
    - limb_t[]
    - limb_t[]
    - limb_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 214
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 214
    functionName: mul_by_3_mod_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - __builtin_assume
    - launder
    linkageType: ''
    returnType: void
    signature: "void mul_by_3_mod_n(limb_t ret[], const limb_t a[], const limb_t p[],\n
      \                          size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:227,1
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:228,1
    - Dst: launder
      Src: /src/blst/src/no_asm.h:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - ret
    - a
    - count
    - p
    - n
    argTypes:
    - limb_t[]
    - limb_t[]
    - size_t
    - limb_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 254
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 254
    functionName: lshift_mod_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - __builtin_assume
    - launder
    linkageType: ''
    returnType: void
    signature: "void lshift_mod_n(limb_t ret[], const limb_t a[], size_t count,\n
      \                        const limb_t p[], size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:267,1
    - Dst: vec_is_zero
      Src: /src/blst/src/no_asm.h:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - ret
    - a
    - flag
    - p
    - n
    argTypes:
    - limb_t[]
    - limb_t[]
    - bool_t
    - limb_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 283
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 283
    functionName: cneg_mod_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - __builtin_assume
    - vec_is_zero
    linkageType: ''
    returnType: void
    signature: "void cneg_mod_n(limb_t ret[], const limb_t a[], bool_t flag,\n                       const
      limb_t p[], size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:295,1
    - Dst: is_zero
      Src: /src/blst/src/no_asm.h:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - a
    - p
    - n
    argTypes:
    - byte[]
    - limb_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 309
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 309
    functionName: check_mod_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - is_zero
    - __builtin_assume
    linkageType: ''
    returnType: limb_t
    signature: limb_t check_mod_n(const byte a[], const limb_t p[], size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:320,1
    - Dst: limbs_from_le_bytes
      Src: /src/blst/src/no_asm.h:323,1
    - Dst: limbs_from_le_bytes
      Src: /src/blst/src/no_asm.h:324,1
    - Dst: add_mod_n
      Src: /src/blst/src/no_asm.h:326,1
    - Dst: vec_is_zero
      Src: /src/blst/src/no_asm.h:327,1
    - Dst: le_bytes_from_limbs
      Src: /src/blst/src/no_asm.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ret
    - a
    - b
    - p
    - n
    argTypes:
    - byte[]
    - byte[]
    - byte[]
    - limb_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 332
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 332
    functionName: add_n_check_mod_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - limbs_from_le_bytes
    - vec_is_zero
    - le_bytes_from_limbs
    - __builtin_assume
    - add_mod_n
    linkageType: ''
    returnType: limb_t
    signature: "limb_t add_n_check_mod_n(byte ret[], const byte a[], const byte b[],\n
      \                                           const limb_t p[], size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:344,1
    - Dst: limbs_from_le_bytes
      Src: /src/blst/src/no_asm.h:347,1
    - Dst: limbs_from_le_bytes
      Src: /src/blst/src/no_asm.h:348,1
    - Dst: sub_mod_n
      Src: /src/blst/src/no_asm.h:350,1
    - Dst: vec_is_zero
      Src: /src/blst/src/no_asm.h:351,1
    - Dst: le_bytes_from_limbs
      Src: /src/blst/src/no_asm.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ret
    - a
    - b
    - p
    - n
    argTypes:
    - byte[]
    - byte[]
    - byte[]
    - limb_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 356
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 356
    functionName: sub_n_check_mod_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - sub_mod_n
    - limbs_from_le_bytes
    - le_bytes_from_limbs
    - vec_is_zero
    - __builtin_assume
    linkageType: ''
    returnType: limb_t
    signature: "limb_t sub_n_check_mod_n(byte ret[], const byte a[], const byte b[],\n
      \                                           const limb_t p[], size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:368,1
    - Dst: launder
      Src: /src/blst/src/no_asm.h:394,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - ret
    - a
    - p
    - n0
    - n
    argTypes:
    - limb_t[]
    - limb_t[]
    - limb_t[]
    - limb_t
    - size_t
    constantsTouched: []
    func_position:
      end: 398
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 398
    functionName: from_mont_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - __builtin_assume
    - launder
    linkageType: ''
    returnType: void
    signature: "void from_mont_n(limb_t ret[], const limb_t a[],\n                        const
      limb_t p[], limb_t n0, size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:411,1
    - Dst: launder
      Src: /src/blst/src/no_asm.h:443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - ret
    - a
    - p
    - n0
    - n
    argTypes:
    - limb_t[]
    - limb_t[]
    - limb_t[]
    - limb_t
    - size_t
    constantsTouched: []
    func_position:
      end: 447
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 447
    functionName: redc_mont_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - __builtin_assume
    - launder
    linkageType: ''
    returnType: void
    signature: "void redc_mont_n(limb_t ret[], const limb_t a[],\n                        const
      limb_t p[], limb_t n0, size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:460,1
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:461,1
    - Dst: launder
      Src: /src/blst/src/no_asm.h:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - ret
    - a
    - count
    - p
    - n
    argTypes:
    - limb_t[]
    - limb_t[]
    - size_t
    - limb_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 484
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 484
    functionName: rshift_mod_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - __builtin_assume
    - launder
    linkageType: ''
    returnType: void
    signature: "void rshift_mod_n(limb_t ret[], const limb_t a[], size_t count,\n
      \                        const limb_t p[], size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - a
    - p
    - n
    argTypes:
    - limb_t[]
    - limb_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 524
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 524
    functionName: sgn0_pty_mod_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - __builtin_assume
    linkageType: ''
    returnType: limb_t
    signature: limb_t sgn0_pty_mod_n(const limb_t a[], const limb_t p[], size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sgn0_pty_mod_n
      Src: /src/blst/src/no_asm.h:527,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - p
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 527
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 527
    functionName: sgn0_pty_mod_384
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - NLIMBS
    - sgn0_pty_mod_n
    linkageType: ''
    returnType: limb_t
    signature: limb_t sgn0_pty_mod_384(const vec384 a, const vec384 p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_mont_n
      Src: /src/blst/src/no_asm.h:533,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:533,1
    - Dst: sgn0_pty_mod_n
      Src: /src/blst/src/no_asm.h:535,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - p
    - n0
    argTypes:
    - vec384
    - vec384
    - limb_t
    constantsTouched: []
    func_position:
      end: 536
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 536
    functionName: sgn0_pty_mont_384
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - NLIMBS
    - sgn0_pty_mod_n
    - from_mont_n
    linkageType: ''
    returnType: limb_t
    signature: limb_t sgn0_pty_mont_384(const vec384 a, const vec384 p, limb_t n0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sgn0_pty_mod_n
      Src: /src/blst/src/no_asm.h:542,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:542,1
    - Dst: sgn0_pty_mod_n
      Src: /src/blst/src/no_asm.h:543,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:543,1
    - Dst: vec_is_zero
      Src: /src/blst/src/no_asm.h:546,1
    - Dst: vec_is_zero
      Src: /src/blst/src/no_asm.h:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - a
    - p
    argTypes:
    - vec384x
    - vec384
    constantsTouched: []
    func_position:
      end: 554
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 554
    functionName: sgn0_pty_mod_384x
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - NLIMBS
    - sgn0_pty_mod_n
    - vec_is_zero
    linkageType: ''
    returnType: limb_t
    signature: limb_t sgn0_pty_mod_384x(const vec384x a, const vec384 p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_mont_n
      Src: /src/blst/src/no_asm.h:560,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:560,1
    - Dst: from_mont_n
      Src: /src/blst/src/no_asm.h:561,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:561,1
    - Dst: sgn0_pty_mod_384x
      Src: /src/blst/src/no_asm.h:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - a
    - p
    - n0
    argTypes:
    - vec384x
    - vec384
    - limb_t
    constantsTouched: []
    func_position:
      end: 564
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 564
    functionName: sgn0_pty_mont_384x
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - sgn0_pty_mod_384x
    - NLIMBS
    - from_mont_n
    linkageType: ''
    returnType: limb_t
    signature: limb_t sgn0_pty_mont_384x(const vec384x a, const vec384 p, limb_t n0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_mod_n
      Src: /src/blst/src/no_asm.h:571,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:571,1
    - Dst: add_mod_n
      Src: /src/blst/src/no_asm.h:572,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:572,1
    - Dst: mul_mont_n
      Src: /src/blst/src/no_asm.h:573,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:573,1
    - Dst: mul_mont_n
      Src: /src/blst/src/no_asm.h:574,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:574,1
    - Dst: mul_mont_n
      Src: /src/blst/src/no_asm.h:575,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:575,1
    - Dst: sub_mod_n
      Src: /src/blst/src/no_asm.h:576,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:576,1
    - Dst: sub_mod_n
      Src: /src/blst/src/no_asm.h:577,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:577,1
    - Dst: sub_mod_n
      Src: /src/blst/src/no_asm.h:578,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ret
    - a
    - b
    - p
    - n0
    argTypes:
    - vec384x
    - vec384x
    - vec384x
    - vec384
    - limb_t
    constantsTouched: []
    func_position:
      end: 579
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 579
    functionName: mul_mont_384x
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 1
    functionsReached:
    - mul_mont_n
    - sub_mod_n
    - NLIMBS
    - add_mod_n
    linkageType: ''
    returnType: void
    signature: "void mul_mont_384x(vec384x ret, const vec384x a, const vec384x b,\n
      \                         const vec384 p, limb_t n0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:589,1
    - Dst: vec_copy
      Src: /src/blst/src/no_asm.h:624,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - ret
    - a
    - b
    - p
    - n0
    - n
    argTypes:
    - limb_t[]
    - limb_t[]
    - limb_t[]
    - limb_t[]
    - limb_t
    - size_t
    constantsTouched: []
    func_position:
      end: 625
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 625
    functionName: mul_mont_nonred_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - __builtin_assume
    - vec_copy
    linkageType: ''
    returnType: void
    signature: "void mul_mont_nonred_n(limb_t ret[], const limb_t a[], const limb_t
      b[],\n                              const limb_t p[], limb_t n0, size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:630,1
    - Dst: mul_mont_nonred_n
      Src: /src/blst/src/no_asm.h:632,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:632,1
    - Dst: mul_mont_n
      Src: /src/blst/src/no_asm.h:635,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - ret
    - a
    - count
    - p
    - n0
    - b
    argTypes:
    - vec384
    - vec384
    - size_t
    - vec384
    - limb_t
    - vec384
    constantsTouched: []
    func_position:
      end: 636
      start: 627
    functionDepth: 2
    functionLinenumber: 627
    functionLinenumberEnd: 636
    functionName: sqr_n_mul_mont_383
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - mul_mont_n
    - NLIMBS
    - __builtin_assume
    - mul_mont_nonred_n
    linkageType: ''
    returnType: void
    signature: "void sqr_n_mul_mont_383(vec384 ret, const vec384 a, size_t count,\n
      \                       const vec384 p, limb_t n0, const vec384 b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:647,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:654,1
    - Dst: launder
      Src: /src/blst/src/no_asm.h:660,1
    - Dst: mul_mont_nonred_n
      Src: /src/blst/src/no_asm.h:663,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:663,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:666,1
    - Dst: mul_mont_nonred_n
      Src: /src/blst/src/no_asm.h:673,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:673,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:676,1
    - Dst: launder
      Src: /src/blst/src/no_asm.h:682,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:683,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 4
    argNames:
    - ret
    - a
    - p
    - n0
    argTypes:
    - vec384x
    - vec384x
    - vec384
    - limb_t
    constantsTouched: []
    func_position:
      end: 688
      start: 638
    functionDepth: 2
    functionLinenumber: 638
    functionLinenumberEnd: 688
    functionName: sqr_mont_382x
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - NLIMBS
    - launder
    - mul_mont_nonred_n
    linkageType: ''
    returnType: void
    signature: "void sqr_mont_382x(vec384x ret, const vec384x a,\n                          const
      vec384 p, limb_t n0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MSB
      Src: /src/blst/src/no_asm.h:703,1
    - Dst: MSB
      Src: /src/blst/src/no_asm.h:709,1
    - Dst: MSB
      Src: /src/blst/src/no_asm.h:714,1
    - Dst: MSB
      Src: /src/blst/src/no_asm.h:719,1
    - Dst: MSB
      Src: /src/blst/src/no_asm.h:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - l
    argTypes:
    - limb_t
    constantsTouched: []
    func_position:
      end: 731
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 731
    functionName: num_bits
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - MSB
    linkageType: ''
    returnType: size_t
    signature: size_t num_bits(limb_t l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/blst/src/no_asm.h:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hi
    - lo
    - l
    argTypes:
    - limb_t
    - limb_t
    - size_t
    constantsTouched: []
    func_position:
      end: 741
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 741
    functionName: lshift_2
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - is_zero
    linkageType: ''
    returnType: limb_t
    signature: limb_t lshift_2(limb_t hi, limb_t lo, size_t l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:749,1
    - Dst: is_zero
      Src: /src/blst/src/no_asm.h:757,1
    - Dst: num_bits
      Src: /src/blst/src/no_asm.h:763,1
    - Dst: lshift_2
      Src: /src/blst/src/no_asm.h:766,1
    - Dst: lshift_2
      Src: /src/blst/src/no_asm.h:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - a_
    - a
    - b_
    - b
    - n
    argTypes:
    - limb_t[]
    - limb_t[]
    - limb_t[]
    - limb_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 768
      start: 746
    functionDepth: 2
    functionLinenumber: 746
    functionLinenumberEnd: 768
    functionName: ab_approximation_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - is_zero
    - lshift_2
    - num_bits
    - __builtin_assume
    linkageType: ''
    returnType: void
    signature: "void ab_approximation_n(limb_t a_[2], const limb_t a[],\n                               limb_t
      b_[2], const limb_t b[], size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 4
    argNames:
    - fg
    - a_
    - b_
    - n
    argTypes:
    - factors*
    - limb_t[]
    - limb_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 827
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 827
    functionName: inner_loop_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - __builtin_assume
    linkageType: ''
    returnType: void
    signature: "void inner_loop_n(factors *fg, const limb_t a_[2], const limb_t b_[2],\n
      \                        size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:831,1
    - Dst: MSB
      Src: /src/blst/src/no_asm.h:842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ret
    - a
    - neg
    - n
    argTypes:
    - limb_t[]
    - limb_t[]
    - limb_t
    - size_t
    constantsTouched: []
    func_position:
      end: 843
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 843
    functionName: cneg_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - MSB
    - __builtin_assume
    linkageType: ''
    returnType: limb_t
    signature: limb_t cneg_n(limb_t ret[], const limb_t a[], limb_t neg, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ret
    - a
    - b
    - n
    argTypes:
    - limb_t[]
    - limb_t[]
    - limb_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 859
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 859
    functionName: add_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - __builtin_assume
    linkageType: ''
    returnType: limb_t
    signature: limb_t add_n(limb_t ret[], const limb_t a[], limb_t b[], size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ret
    - a
    - b
    - n
    argTypes:
    - limb_t[]
    - limb_t[]
    - limb_t
    - size_t
    constantsTouched: []
    func_position:
      end: 875
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 875
    functionName: umul_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - __builtin_assume
    linkageType: ''
    returnType: limb_t
    signature: limb_t umul_n(limb_t ret[], const limb_t a[], limb_t b, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:881,1
    - Dst: MSB
      Src: /src/blst/src/no_asm.h:887,1
    - Dst: cneg_n
      Src: /src/blst/src/no_asm.h:889,1
    - Dst: umul_n
      Src: /src/blst/src/no_asm.h:890,1
    - Dst: MSB
      Src: /src/blst/src/no_asm.h:895,1
    - Dst: cneg_n
      Src: /src/blst/src/no_asm.h:897,1
    - Dst: umul_n
      Src: /src/blst/src/no_asm.h:898,1
    - Dst: add_n
      Src: /src/blst/src/no_asm.h:902,1
    - Dst: MSB
      Src: /src/blst/src/no_asm.h:912,1
    - Dst: cneg_n
      Src: /src/blst/src/no_asm.h:915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 6
    argNames:
    - ret
    - a
    - f_
    - b
    - g_
    - n
    argTypes:
    - limb_t[]
    - limb_t[]
    - limb_t*
    - limb_t[]
    - limb_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 918
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 918
    functionName: smul_n_shift_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - umul_n
    - add_n
    - MSB
    - __builtin_assume
    - cneg_n
    linkageType: ''
    returnType: limb_t
    signature: "limb_t smul_n_shift_n(limb_t ret[], const limb_t a[], limb_t *f_,\n
      \                                          const limb_t b[], limb_t *g_,\n                                           size_t
      n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:923,1
    - Dst: MSB
      Src: /src/blst/src/no_asm.h:927,1
    - Dst: cneg_n
      Src: /src/blst/src/no_asm.h:929,1
    - Dst: umul_n
      Src: /src/blst/src/no_asm.h:930,1
    - Dst: MSB
      Src: /src/blst/src/no_asm.h:933,1
    - Dst: cneg_n
      Src: /src/blst/src/no_asm.h:935,1
    - Dst: umul_n
      Src: /src/blst/src/no_asm.h:936,1
    - Dst: add_n
      Src: /src/blst/src/no_asm.h:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 6
    argNames:
    - ret
    - u
    - f
    - v
    - g
    - n
    argTypes:
    - limb_t[]
    - limb_t[]
    - limb_t
    - limb_t[]
    - limb_t
    - size_t
    constantsTouched: []
    func_position:
      end: 942
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 942
    functionName: smul_2n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - umul_n
    - add_n
    - MSB
    - __builtin_assume
    - cneg_n
    linkageType: ''
    returnType: limb_t
    signature: "limb_t smul_2n(limb_t ret[], const limb_t u[], limb_t f,\n                                    const
      limb_t v[], limb_t g, size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:947,1
    - Dst: vec_copy
      Src: /src/blst/src/no_asm.h:954,1
    - Dst: vec_copy
      Src: /src/blst/src/no_asm.h:955,1
    - Dst: vec_zero
      Src: /src/blst/src/no_asm.h:956,1
    - Dst: vec_zero
      Src: /src/blst/src/no_asm.h:957,1
    - Dst: ab_approximation_n
      Src: /src/blst/src/no_asm.h:960,1
    - Dst: inner_loop_n
      Src: /src/blst/src/no_asm.h:961,1
    - Dst: smul_n_shift_n
      Src: /src/blst/src/no_asm.h:962,1
    - Dst: smul_n_shift_n
      Src: /src/blst/src/no_asm.h:963,1
    - Dst: vec_copy
      Src: /src/blst/src/no_asm.h:964,1
    - Dst: smul_2n
      Src: /src/blst/src/no_asm.h:965,1
    - Dst: smul_2n
      Src: /src/blst/src/no_asm.h:966,1
    - Dst: vec_copy
      Src: /src/blst/src/no_asm.h:967,1
    - Dst: inner_loop_n
      Src: /src/blst/src/no_asm.h:970,1
    - Dst: smul_2n
      Src: /src/blst/src/no_asm.h:971,1
    - Dst: MSB
      Src: /src/blst/src/no_asm.h:973,1
    - Dst: cneg_n
      Src: /src/blst/src/no_asm.h:984,1
    - Dst: MSB
      Src: /src/blst/src/no_asm.h:984,1
    - Dst: add_n
      Src: /src/blst/src/no_asm.h:985,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 5
    argNames:
    - ret
    - inp
    - mod
    - modx
    - n
    argTypes:
    - limb_t[]
    - limb_t[]
    - limb_t[]
    - limb_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 986
      start: 944
    functionDepth: 3
    functionLinenumber: 944
    functionLinenumberEnd: 986
    functionName: ct_inverse_mod_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - ab_approximation_n
    - add_n
    - smul_2n
    - smul_n_shift_n
    - vec_copy
    - vec_zero
    - MSB
    - __builtin_assume
    - inner_loop_n
    - cneg_n
    linkageType: ''
    returnType: void
    signature: "void ct_inverse_mod_n(limb_t ret[], const limb_t inp[],\n                             const
      limb_t mod[], const limb_t modx[], size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:1002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 5
    argNames:
    - L
    - fg
    - a_
    - b_
    - n
    argTypes:
    - limb_t
    - factors*
    - limb_t[]
    - limb_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 1060
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1060
    functionName: legendre_loop_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - __builtin_assume
    linkageType: ''
    returnType: limb_t
    signature: "limb_t legendre_loop_n(limb_t L, factors *fg, const limb_t a_[2],\n
      \                             const limb_t b_[2], size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:1064,1
    - Dst: vec_copy
      Src: /src/blst/src/no_asm.h:1070,1
    - Dst: vec_copy
      Src: /src/blst/src/no_asm.h:1071,1
    - Dst: ab_approximation_n
      Src: /src/blst/src/no_asm.h:1074,1
    - Dst: legendre_loop_n
      Src: /src/blst/src/no_asm.h:1075,1
    - Dst: smul_n_shift_n
      Src: /src/blst/src/no_asm.h:1076,1
    - Dst: smul_n_shift_n
      Src: /src/blst/src/no_asm.h:1077,1
    - Dst: vec_copy
      Src: /src/blst/src/no_asm.h:1078,1
    - Dst: legendre_loop_n
      Src: /src/blst/src/no_asm.h:1082,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - inp
    - mod
    - n
    argTypes:
    - limb_t[]
    - limb_t[]
    - size_t
    constantsTouched: []
    func_position:
      end: 1085
      start: 1062
    functionDepth: 3
    functionLinenumber: 1062
    functionLinenumberEnd: 1085
    functionName: ct_is_sqr_mod_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - ab_approximation_n
    - legendre_loop_n
    - smul_n_shift_n
    - vec_copy
    - __builtin_assume
    linkageType: ''
    returnType: bool_t
    signature: bool_t ct_is_sqr_mod_n(const limb_t inp[], const limb_t mod[], size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MSB
      Src: /src/blst/src/no_asm.h:1140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 3
    argNames:
    - div_top
    - d_lo
    - d_hi
    argTypes:
    - limb_t[]
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 1153
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1153
    functionName: div_3_limbs
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - MSB
    linkageType: ''
    returnType: limb_t
    signature: limb_t div_3_limbs(const limb_t div_top[2], limb_t d_lo, limb_t d_hi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_assume
      Src: /src/blst/src/no_asm.h:1158,1
    - Dst: launder
      Src: /src/blst/src/no_asm.h:1179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - div_rem
    - divisor
    - quotient
    - n
    argTypes:
    - limb_t*
    - limb_t*
    - limb_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1189
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1189
    functionName: quot_rem_n
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - __builtin_assume
    - launder
    linkageType: ''
    returnType: limb_t
    signature: "limb_t quot_rem_n(limb_t *div_rem, const limb_t *divisor,\n                                          limb_t
      quotient, size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quot_rem_n
      Src: /src/blst/src/no_asm.h:1193,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - div_rem
    - divisor
    - quotient
    argTypes:
    - limb_t*
    - limb_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 1193
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1193
    functionName: quot_rem_128
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - NLIMBS
    - quot_rem_n
    linkageType: ''
    returnType: limb_t
    signature: "limb_t quot_rem_128(limb_t *div_rem, const limb_t *divisor,\n                                            limb_t
      quotient)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quot_rem_n
      Src: /src/blst/src/no_asm.h:1197,1
    - Dst: NLIMBS
      Src: /src/blst/src/no_asm.h:1197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - div_rem
    - divisor
    - quotient
    argTypes:
    - limb_t*
    - limb_t*
    - limb_t
    constantsTouched: []
    func_position:
      end: 1197
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1197
    functionName: quot_rem_64
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - NLIMBS
    - quot_rem_n
    linkageType: ''
    returnType: limb_t
    signature: "limb_t quot_rem_64(limb_t *div_rem, const limb_t *divisor,\n                                           limb_t
      quotient)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1212
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1212
    functionName: vec_prefetch
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vec_prefetch(const void *ptr, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Sigma1
      Src: /src/blst/src/no_asm.h:1267,1
    - Dst: Ch
      Src: /src/blst/src/no_asm.h:1267,1
    - Dst: Sigma0
      Src: /src/blst/src/no_asm.h:1268,1
    - Dst: Maj
      Src: /src/blst/src/no_asm.h:1268,1
    - Dst: sigma0
      Src: /src/blst/src/no_asm.h:1281,1
    - Dst: sigma1
      Src: /src/blst/src/no_asm.h:1283,1
    - Dst: Sigma1
      Src: /src/blst/src/no_asm.h:1286,1
    - Dst: Ch
      Src: /src/blst/src/no_asm.h:1286,1
    - Dst: Sigma0
      Src: /src/blst/src/no_asm.h:1287,1
    - Dst: Maj
      Src: /src/blst/src/no_asm.h:1287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 62
    argCount: 3
    argNames:
    - v
    - inp
    - blocks
    argTypes:
    - unsigned int*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1307
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1307
    functionName: blst_sha256_block_data_order
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached:
    - Maj
    - Sigma1
    - Ch
    - sigma0
    - Sigma0
    - sigma1
    linkageType: ''
    returnType: void
    signature: "void blst_sha256_block_data_order(unsigned int *v, const void *inp,\n
      \                                                  size_t blocks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - unsigned int[]
    - unsigned int[]
    constantsTouched: []
    func_position:
      end: 1322
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1322
    functionName: blst_sha256_hcopy
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blst_sha256_hcopy(unsigned int dst[8], const unsigned int src[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - md
    - h
    argTypes:
    - unsigned char[]
    - unsigned int[]
    constantsTouched: []
    func_position:
      end: 1335
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1335
    functionName: blst_sha256_emit
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blst_sha256_emit(unsigned char md[32], const unsigned int h[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - dst_
    - src_
    - len
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1345
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1345
    functionName: blst_sha256_bcopy
    functionSourceFile: /src/blst/src/no_asm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blst_sha256_bcopy(void *dst_, const void *src_, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - out
    - inp
    - N
    argTypes:
    - limb_t*
    - limb_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 53
    functionName: vec_left_align
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vec_left_align(limb_t *out, const limb_t *inp, size_t N)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: operator const limb_t*() const
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const limb_t*() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: operator limb_t*()
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator limb_t*()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: '& operator[](size_t i)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: limb_t & operator[](size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '& operator[](size_t i) const'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: limb_t & operator[](size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: blst_384_t::bit_length
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bit_length()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: blst_384_t::blst_384_t
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blst_384_t()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_left_align
      Src: /src/blst/src/blst_t.hpp:78,1
    - Dst: vec_copy
      Src: /src/blst/src/blst_t.hpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - vec384
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: blst_384_t::blst_384_t
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - vec_left_align
    - vec_copy
    linkageType: ''
    returnType: void
    signature: void blst_384_t(const vec384 p, bool align = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_zero
      Src: /src/blst/src/blst_t.hpp:84,1
    - Dst: to
      Src: /src/blst/src/blst_t.hpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: blst_384_t::blst_384_t
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - to
    - vec_zero
    linkageType: ''
    returnType: void
    signature: void blst_384_t(uint64_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: blst_384_t::blst_384_t
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blst_384_t(int a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - a0
    argTypes:
    - limb_t
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: blst_384_t::blst_384_t
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blst_384_t(limb_t a0, Ts... arr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a0
    argTypes:
    - limb_t
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: blst_384_t::blst_384_t
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blst_384_t(limb_t a0, Ts... arr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_mont_384
      Src: /src/blst/src/blst_t.hpp:128,1
    - Dst: from_mont_384
      Src: /src/blst/src/blst_t.hpp:131,1
    - Dst: le_bytes_from_limbs
      Src: /src/blst/src/blst_t.hpp:132,1
    - Dst: vec_zero
      Src: /src/blst/src/blst_t.hpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' scalar'
    argTypes:
    - pow_t
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: blst_384_t::to_scalar
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - from_mont_384
    - vec_zero
    - le_bytes_from_limbs
    linkageType: ''
    returnType: void
    signature: void to_scalar(pow_t& scalar) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const blst_384_t*>
      Src: /src/blst/src/blst_t.hpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: '& one()'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const blst_384_t*>
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t & one()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_384_t::blst_384_t
      Src: /src/blst/src/blst_t.hpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - or_zero
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: blst_384_t::one
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - blst_384_t::blst_384_t
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t one(bool or_zero)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_mont_384
      Src: /src/blst/src/blst_t.hpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: '& to()'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - mul_mont_384
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t & to()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_mont_384
      Src: /src/blst/src/blst_t.hpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: '& from()'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - from_mont_384
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t & from()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_copy
      Src: /src/blst/src/blst_t.hpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - limb_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: blst_384_t::store
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - vec_copy
    linkageType: ''
    returnType: void
    signature: void store(limb_t *p) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_mod_384
      Src: /src/blst/src/blst_t.hpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - blst_384_t
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: '& operator+=(const blst_384_t& b)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - add_mod_384
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t & operator+=(const blst_384_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_384_t::blst_384_t
      Src: /src/blst/src/blst_t.hpp:161,1
    - Dst: add_mod_384
      Src: /src/blst/src/blst_t.hpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - blst_384_t
    - blst_384_t
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: operator+(const blst_384_t& a, const blst_384_t& b)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - blst_384_t::blst_384_t
    - add_mod_384
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t operator+(const blst_384_t& a, const blst_384_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lshift_mod_384
      Src: /src/blst/src/blst_t.hpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - l
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: '& operator<<=(unsigned l)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - lshift_mod_384
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t & operator<<=(unsigned l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_384_t::blst_384_t
      Src: /src/blst/src/blst_t.hpp:170,1
    - Dst: lshift_mod_384
      Src: /src/blst/src/blst_t.hpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - l
    argTypes:
    - blst_384_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: operator<<(const blst_384_t& a, unsigned l)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - blst_384_t::blst_384_t
    - lshift_mod_384
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t operator<<(const blst_384_t& a, unsigned l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rshift_mod_384
      Src: /src/blst/src/blst_t.hpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: '& operator>>=(unsigned r)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - rshift_mod_384
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t & operator>>=(unsigned r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_384_t::blst_384_t
      Src: /src/blst/src/blst_t.hpp:179,1
    - Dst: rshift_mod_384
      Src: /src/blst/src/blst_t.hpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - r
    argTypes:
    - blst_384_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: operator>>(const blst_384_t& a, unsigned r)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - rshift_mod_384
    - blst_384_t::blst_384_t
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t operator>>(const blst_384_t& a, unsigned r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub_mod_384
      Src: /src/blst/src/blst_t.hpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - blst_384_t
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: '& operator-=(const blst_384_t& b)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - sub_mod_384
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t & operator-=(const blst_384_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_384_t::blst_384_t
      Src: /src/blst/src/blst_t.hpp:188,1
    - Dst: sub_mod_384
      Src: /src/blst/src/blst_t.hpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - blst_384_t
    - blst_384_t
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: operator-(const blst_384_t& a, const blst_384_t& b)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - sub_mod_384
    - blst_384_t::blst_384_t
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t operator-(const blst_384_t& a, const blst_384_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cneg_mod_384
      Src: /src/blst/src/blst_t.hpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: '& cneg(bool flag)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - cneg_mod_384
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t & cneg(bool flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_384_t::blst_384_t
      Src: /src/blst/src/blst_t.hpp:197,1
    - Dst: cneg_mod_384
      Src: /src/blst/src/blst_t.hpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - flag
    argTypes:
    - blst_384_t
    - bool
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: blst_384_t::cneg
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - cneg_mod_384
    - blst_384_t::blst_384_t
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t cneg(const blst_384_t& a, bool flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_384_t::blst_384_t
      Src: /src/blst/src/blst_t.hpp:203,1
    - Dst: cneg_mod_384
      Src: /src/blst/src/blst_t.hpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - blst_384_t
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: operator-(const blst_384_t& a)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - cneg_mod_384
    - blst_384_t::blst_384_t
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t operator-(const blst_384_t& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_mont_384
      Src: /src/blst/src/blst_t.hpp:210,1
    - Dst: mul_mont_384
      Src: /src/blst/src/blst_t.hpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - blst_384_t
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: '& operator*=(const blst_384_t& a)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - mul_mont_384
    - sqr_mont_384
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t & operator*=(const blst_384_t& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_384_t::blst_384_t
      Src: /src/blst/src/blst_t.hpp:216,1
    - Dst: sqr_mont_384
      Src: /src/blst/src/blst_t.hpp:217,1
    - Dst: mul_mont_384
      Src: /src/blst/src/blst_t.hpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - blst_384_t
    - blst_384_t
    constantsTouched: []
    func_position:
      end: 220
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 220
    functionName: operator*(const blst_384_t& a, const blst_384_t& b)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - mul_mont_384
    - blst_384_t::blst_384_t
    - sqr_mont_384
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t operator*(const blst_384_t& a, const blst_384_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/blst/src/blst_t.hpp:226,1
    - Dst: blst_384_t::blst_384_t
      Src: /src/blst/src/blst_t.hpp:228,1
    - Dst: sqr_mont_384
      Src: /src/blst/src/blst_t.hpp:229,1
    - Dst: sqr_mont_384
      Src: /src/blst/src/blst_t.hpp:235,1
    - Dst: sqr_mont_384
      Src: /src/blst/src/blst_t.hpp:241,1
    - Dst: mul_mont_384
      Src: /src/blst/src/blst_t.hpp:243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ' a'
    - p
    argTypes:
    - blst_384_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 247
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 247
    functionName: operator^(const blst_384_t& a, unsigned p)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - mul_mont_384
    - abort
    - blst_384_t::blst_384_t
    - sqr_mont_384
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t operator^(const blst_384_t& a, unsigned p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/blst/src/blst_t.hpp:251,1
    - Dst: sqr_mont_384
      Src: /src/blst/src/blst_t.hpp:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 257
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 257
    functionName: '& operator^=(unsigned p)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - abort
    - sqr_mont_384
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t & operator^=(unsigned p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: operator()(unsigned p)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t operator()(unsigned p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - blst_384_t
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: blst_384_t::sqr
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t sqr(const blst_384_t& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_equal
      Src: /src/blst/src/blst_t.hpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: blst_384_t::is_one
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - vec_is_equal
    linkageType: ''
    returnType: bool
    signature: bool is_one() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/blst_t.hpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 267
    functionName: blst_384_t::is_zero
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - vec_is_zero
    linkageType: ''
    returnType: int
    signature: int is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_zero
      Src: /src/blst/src/blst_t.hpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: blst_384_t::zero
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - vec_zero
    linkageType: ''
    returnType: void
    signature: void zero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_384_t::blst_384_t
      Src: /src/blst/src/blst_t.hpp:273,1
    - Dst: vec_select
      Src: /src/blst/src/blst_t.hpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - set_z
    argTypes:
    - blst_384_t
    - int
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: blst_384_t::czero
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - vec_select
    - blst_384_t::blst_384_t
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t czero(const blst_384_t& a, int set_z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_384_t::blst_384_t
      Src: /src/blst/src/blst_t.hpp:281,1
    - Dst: vec_select
      Src: /src/blst/src/blst_t.hpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - sel_a
    argTypes:
    - blst_384_t
    - blst_384_t
    - int
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: blst_384_t::csel
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - vec_select
    - blst_384_t::blst_384_t
    linkageType: ''
    returnType: blst_384_t
    signature: "blst_384_t csel(const blst_384_t& a, const blst_384_t& b,\n                                  int
      sel_a)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const blst_384_t*>
      Src: /src/blst/src/blst_t.hpp:289,1
    - Dst: ct_inverse_mod_383
      Src: /src/blst/src/blst_t.hpp:292,1
    - Dst: redc_mont_384
      Src: /src/blst/src/blst_t.hpp:293,1
    - Dst: mul_mont_384
      Src: /src/blst/src/blst_t.hpp:294,1
    - Dst: reinterpret_cast<blst_384_t*>
      Src: /src/blst/src/blst_t.hpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 297
    functionName: blst_384_t::reciprocal
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - mul_mont_384
    - reinterpret_cast<const blst_384_t*>
    - ct_inverse_mod_383
    - redc_mont_384
    - reinterpret_cast<blst_384_t*>
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t reciprocal() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reciprocal
      Src: /src/blst/src/blst_t.hpp:301,1
    - Dst: abort
      Src: /src/blst/src/blst_t.hpp:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - one
    - ' a'
    argTypes:
    - unsigned
    - blst_384_t
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: operator/(unsigned one, const blst_384_t& a)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - reciprocal
    - abort
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t operator/(unsigned one, const blst_384_t& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reciprocal
      Src: /src/blst/src/blst_t.hpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - blst_384_t
    - blst_384_t
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: operator/(const blst_384_t& a, const blst_384_t& b)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - reciprocal
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t operator/(const blst_384_t& a, const blst_384_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reciprocal
      Src: /src/blst/src/blst_t.hpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - blst_384_t
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: '& operator/=(const blst_384_t& a)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - reciprocal
    linkageType: ''
    returnType: blst_384_t
    signature: blst_384_t & operator/=(const blst_384_t& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_from_hexascii
      Src: /src/blst/src/blst_t.hpp:310,1
    - Dst: to
      Src: /src/blst/src/blst_t.hpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hexascii
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 310
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 310
    functionName: blst_384_t::blst_384_t
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 11
    functionsReached:
    - to
    - limbs_from_hexascii
    linkageType: ''
    returnType: void
    signature: void blst_384_t(const char *hexascii)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_equal
      Src: /src/blst/src/blst_t.hpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - blst_384_t
    - blst_384_t
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: operator==(const blst_384_t& a, const blst_384_t& b)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - vec_is_equal
    linkageType: ''
    returnType: bool
    signature: bool operator==(const blst_384_t& a, const blst_384_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_equal
      Src: /src/blst/src/blst_t.hpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - blst_384_t
    - blst_384_t
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: operator!=(const blst_384_t& a, const blst_384_t& b)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - vec_is_equal
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const blst_384_t& a, const blst_384_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: be_bytes_from_limbs
      Src: /src/blst/src/blst_t.hpp:323,1
    - Dst: from
      Src: /src/blst/src/blst_t.hpp:323,1
    - Dst: hex_from_nibble
      Src: /src/blst/src/blst_t.hpp:327,1
    - Dst: hex_from_nibble
      Src: /src/blst/src/blst_t.hpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - ' obj'
    argTypes:
    - OStream
    - blst_384_t
    constantsTouched: []
    func_position:
      end: 331
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 331
    functionName: '& operator<<(OStream& os, const blst_384_t& obj)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - be_bytes_from_limbs
    - from
    - hex_from_nibble
    linkageType: ''
    returnType: OStream
    signature: OStream & operator<<(OStream& os, const blst_384_t& obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 339
    functionName: operator const limb_t*() const
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const limb_t*() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: operator limb_t*()
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator limb_t*()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: '& operator[](size_t i)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: limb_t & operator[](size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: '& operator[](size_t i) const'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: limb_t
    signature: limb_t & operator[](size_t i) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: blst_256_t::bit_length
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bit_length()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: blst_256_t::blst_256_t
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blst_256_t()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_left_align
      Src: /src/blst/src/blst_t.hpp:356,1
    - Dst: vec_copy
      Src: /src/blst/src/blst_t.hpp:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - vec256
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: blst_256_t::blst_256_t
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - vec_left_align
    - vec_copy
    linkageType: ''
    returnType: void
    signature: void blst_256_t(const vec256 p, bool align = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_zero
      Src: /src/blst/src/blst_t.hpp:362,1
    - Dst: to
      Src: /src/blst/src/blst_t.hpp:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: blst_256_t::blst_256_t
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - to
    - vec_zero
    linkageType: ''
    returnType: void
    signature: void blst_256_t(uint64_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 366
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 366
    functionName: blst_256_t::blst_256_t
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blst_256_t(int a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - a0
    argTypes:
    - limb_t
    constantsTouched: []
    func_position:
      end: 388
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 388
    functionName: blst_256_t::blst_256_t
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blst_256_t(limb_t a0, Ts... arr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a0
    argTypes:
    - limb_t
    constantsTouched: []
    func_position:
      end: 391
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 391
    functionName: blst_256_t::blst_256_t
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blst_256_t(limb_t a0, Ts... arr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_mont_256
      Src: /src/blst/src/blst_t.hpp:402,1
    - Dst: from_mont_256
      Src: /src/blst/src/blst_t.hpp:405,1
    - Dst: le_bytes_from_limbs
      Src: /src/blst/src/blst_t.hpp:406,1
    - Dst: vec_zero
      Src: /src/blst/src/blst_t.hpp:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' scalar'
    argTypes:
    - pow_t
    constantsTouched: []
    func_position:
      end: 409
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 409
    functionName: blst_256_t::to_scalar
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - vec_zero
    - from_mont_256
    - le_bytes_from_limbs
    linkageType: ''
    returnType: void
    signature: void to_scalar(pow_t& scalar) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const blst_256_t*>
      Src: /src/blst/src/blst_t.hpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 412
    functionName: '& one()'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const blst_256_t*>
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t & one()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_256_t::blst_256_t
      Src: /src/blst/src/blst_t.hpp:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - or_zero
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 421
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 421
    functionName: blst_256_t::one
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - blst_256_t::blst_256_t
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t one(bool or_zero)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/blst_t.hpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 424
    functionName: '& to()'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - mul_mont_sparse_256
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t & to()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/blst_t.hpp:427,1
    - Dst: add_mod_256
      Src: /src/blst/src/blst_t.hpp:428,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/blst_t.hpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 432
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 432
    functionName: '& to(const uint64_t a[2*n])'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - add_mod_256
    - mul_mont_sparse_256
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t & to(const uint64_t a[2*n])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_zero
      Src: /src/blst/src/blst_t.hpp:435,1
    - Dst: limbs_from_le_bytes
      Src: /src/blst/src/blst_t.hpp:442,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/blst_t.hpp:443,1
    - Dst: limbs_from_le_bytes
      Src: /src/blst/src/blst_t.hpp:445,1
    - Dst: add_mod_256
      Src: /src/blst/src/blst_t.hpp:446,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/blst_t.hpp:447,1
    - Dst: limbs_from_be_bytes
      Src: /src/blst/src/blst_t.hpp:451,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/blst_t.hpp:452,1
    - Dst: limbs_from_be_bytes
      Src: /src/blst/src/blst_t.hpp:455,1
    - Dst: add_mod_256
      Src: /src/blst/src/blst_t.hpp:456,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/blst_t.hpp:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - bytes
    - n
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 464
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 464
    functionName: '& to(const unsigned char* bytes, size_t n, bool le = false)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - limbs_from_le_bytes
    - vec_zero
    - add_mod_256
    - limbs_from_be_bytes
    - mul_mont_sparse_256
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t & to(const unsigned char* bytes, size_t n, bool le = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_mont_256
      Src: /src/blst/src/blst_t.hpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 467
    functionName: '& from()'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - from_mont_256
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t & from()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: redc_mont_256
      Src: /src/blst/src/blst_t.hpp:470,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/blst_t.hpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 474
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 474
    functionName: '& from(const uint64_t a[2*n])'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - mul_mont_sparse_256
    - redc_mont_256
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t & from(const uint64_t a[2*n])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to
      Src: /src/blst/src/blst_t.hpp:478,1
    - Dst: limbs_from_le_bytes
      Src: /src/blst/src/blst_t.hpp:482,1
    - Dst: limbs_from_be_bytes
      Src: /src/blst/src/blst_t.hpp:483,1
    - Dst: redc_mont_256
      Src: /src/blst/src/blst_t.hpp:484,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/blst_t.hpp:485,1
    - Dst: vec_zero
      Src: /src/blst/src/blst_t.hpp:487,1
    - Dst: limbs_from_le_bytes
      Src: /src/blst/src/blst_t.hpp:488,1
    - Dst: limbs_from_be_bytes
      Src: /src/blst/src/blst_t.hpp:489,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/blst_t.hpp:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - bytes
    - n
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 494
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 494
    functionName: '& from(const unsigned char *bytes, size_t n, bool le = false)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - limbs_from_le_bytes
    - vec_zero
    - limbs_from_be_bytes
    - to
    - mul_mont_sparse_256
    - redc_mont_256
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t & from(const unsigned char *bytes, size_t n, bool le = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_copy
      Src: /src/blst/src/blst_t.hpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - limb_t*
    constantsTouched: []
    func_position:
      end: 497
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 497
    functionName: blst_256_t::store
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - vec_copy
    linkageType: ''
    returnType: void
    signature: void store(limb_t *p) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_mod_256
      Src: /src/blst/src/blst_t.hpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - blst_256_t
    constantsTouched: []
    func_position:
      end: 500
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 500
    functionName: '& operator+=(const blst_256_t& b)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - add_mod_256
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t & operator+=(const blst_256_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_256_t::blst_256_t
      Src: /src/blst/src/blst_t.hpp:503,1
    - Dst: add_mod_256
      Src: /src/blst/src/blst_t.hpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - blst_256_t
    - blst_256_t
    constantsTouched: []
    func_position:
      end: 506
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 506
    functionName: operator+(const blst_256_t& a, const blst_256_t& b)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - add_mod_256
    - blst_256_t::blst_256_t
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t operator+(const blst_256_t& a, const blst_256_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lshift_mod_256
      Src: /src/blst/src/blst_t.hpp:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - l
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 509
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 509
    functionName: '& operator<<=(unsigned l)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - lshift_mod_256
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t & operator<<=(unsigned l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_256_t::blst_256_t
      Src: /src/blst/src/blst_t.hpp:512,1
    - Dst: lshift_mod_256
      Src: /src/blst/src/blst_t.hpp:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - l
    argTypes:
    - blst_256_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: operator<<(const blst_256_t& a, unsigned l)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - lshift_mod_256
    - blst_256_t::blst_256_t
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t operator<<(const blst_256_t& a, unsigned l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lshift_mod_256
      Src: /src/blst/src/blst_t.hpp:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 518
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 518
    functionName: '& operator>>=(unsigned r)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - lshift_mod_256
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t & operator>>=(unsigned r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_256_t::blst_256_t
      Src: /src/blst/src/blst_t.hpp:521,1
    - Dst: lshift_mod_256
      Src: /src/blst/src/blst_t.hpp:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - r
    argTypes:
    - blst_256_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 524
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 524
    functionName: operator>>(const blst_256_t& a, unsigned r)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - lshift_mod_256
    - blst_256_t::blst_256_t
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t operator>>(const blst_256_t& a, unsigned r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub_mod_256
      Src: /src/blst/src/blst_t.hpp:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - blst_256_t
    constantsTouched: []
    func_position:
      end: 527
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 527
    functionName: '& operator-=(const blst_256_t& b)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - sub_mod_256
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t & operator-=(const blst_256_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_256_t::blst_256_t
      Src: /src/blst/src/blst_t.hpp:530,1
    - Dst: sub_mod_256
      Src: /src/blst/src/blst_t.hpp:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - blst_256_t
    - blst_256_t
    constantsTouched: []
    func_position:
      end: 533
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 533
    functionName: operator-(const blst_256_t& a, const blst_256_t& b)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - blst_256_t::blst_256_t
    - sub_mod_256
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t operator-(const blst_256_t& a, const blst_256_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cneg_mod_256
      Src: /src/blst/src/blst_t.hpp:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 536
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 536
    functionName: '& cneg(bool flag)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - cneg_mod_256
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t & cneg(bool flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_256_t::blst_256_t
      Src: /src/blst/src/blst_t.hpp:539,1
    - Dst: cneg_mod_256
      Src: /src/blst/src/blst_t.hpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - flag
    argTypes:
    - blst_256_t
    - bool
    constantsTouched: []
    func_position:
      end: 542
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 542
    functionName: blst_256_t::cneg
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - cneg_mod_256
    - blst_256_t::blst_256_t
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t cneg(const blst_256_t& a, bool flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_256_t::blst_256_t
      Src: /src/blst/src/blst_t.hpp:545,1
    - Dst: cneg_mod_256
      Src: /src/blst/src/blst_t.hpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - blst_256_t
    constantsTouched: []
    func_position:
      end: 548
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 548
    functionName: operator-(const blst_256_t& a)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - cneg_mod_256
    - blst_256_t::blst_256_t
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t operator-(const blst_256_t& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_mont_sparse_256
      Src: /src/blst/src/blst_t.hpp:552,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/blst_t.hpp:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - blst_256_t
    constantsTouched: []
    func_position:
      end: 555
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 555
    functionName: '& operator*=(const blst_256_t& a)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - mul_mont_sparse_256
    - sqr_mont_sparse_256
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t & operator*=(const blst_256_t& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_256_t::blst_256_t
      Src: /src/blst/src/blst_t.hpp:558,1
    - Dst: sqr_mont_sparse_256
      Src: /src/blst/src/blst_t.hpp:559,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/blst_t.hpp:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - blst_256_t
    - blst_256_t
    constantsTouched: []
    func_position:
      end: 562
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 562
    functionName: operator*(const blst_256_t& a, const blst_256_t& b)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - mul_mont_sparse_256
    - sqr_mont_sparse_256
    - blst_256_t::blst_256_t
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t operator*(const blst_256_t& a, const blst_256_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/blst/src/blst_t.hpp:568,1
    - Dst: blst_256_t::blst_256_t
      Src: /src/blst/src/blst_t.hpp:570,1
    - Dst: sqr_mont_sparse_256
      Src: /src/blst/src/blst_t.hpp:571,1
    - Dst: sqr_mont_sparse_256
      Src: /src/blst/src/blst_t.hpp:577,1
    - Dst: sqr_mont_sparse_256
      Src: /src/blst/src/blst_t.hpp:583,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/blst_t.hpp:585,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ' a'
    - p
    argTypes:
    - blst_256_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 589
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 589
    functionName: operator^(const blst_256_t& a, unsigned p)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - blst_256_t::blst_256_t
    - mul_mont_sparse_256
    - sqr_mont_sparse_256
    - abort
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t operator^(const blst_256_t& a, unsigned p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/blst/src/blst_t.hpp:593,1
    - Dst: sqr_mont_sparse_256
      Src: /src/blst/src/blst_t.hpp:595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 599
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 599
    functionName: '& operator^=(unsigned p)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - sqr_mont_sparse_256
    - abort
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t & operator^=(unsigned p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 601
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 601
    functionName: operator()(unsigned p)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t operator()(unsigned p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - blst_256_t
    constantsTouched: []
    func_position:
      end: 603
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 603
    functionName: blst_256_t::sqr
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t sqr(const blst_256_t& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_equal
      Src: /src/blst/src/blst_t.hpp:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 606
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 606
    functionName: blst_256_t::is_one
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - vec_is_equal
    linkageType: ''
    returnType: bool
    signature: bool is_one() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/blst_t.hpp:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 609
      start: 608
    functionDepth: 2
    functionLinenumber: 608
    functionLinenumberEnd: 609
    functionName: blst_256_t::is_zero
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - vec_is_zero
    linkageType: ''
    returnType: int
    signature: int is_zero() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_zero
      Src: /src/blst/src/blst_t.hpp:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 612
    functionName: blst_256_t::zero
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - vec_zero
    linkageType: ''
    returnType: void
    signature: void zero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_256_t::blst_256_t
      Src: /src/blst/src/blst_t.hpp:615,1
    - Dst: vec_select
      Src: /src/blst/src/blst_t.hpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - set_z
    argTypes:
    - blst_256_t
    - int
    constantsTouched: []
    func_position:
      end: 619
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 619
    functionName: blst_256_t::czero
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - blst_256_t::blst_256_t
    - vec_select
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t czero(const blst_256_t& a, int set_z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_256_t::blst_256_t
      Src: /src/blst/src/blst_t.hpp:623,1
    - Dst: vec_select
      Src: /src/blst/src/blst_t.hpp:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - sel_a
    argTypes:
    - blst_256_t
    - blst_256_t
    - int
    constantsTouched: []
    func_position:
      end: 626
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 626
    functionName: blst_256_t::csel
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - blst_256_t::blst_256_t
    - vec_select
    linkageType: ''
    returnType: blst_256_t
    signature: "blst_256_t csel(const blst_256_t& a, const blst_256_t& b,\n                                  int
      sel_a)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ct_inverse_mod_256
      Src: /src/blst/src/blst_t.hpp:633,1
    - Dst: redc_mont_256
      Src: /src/blst/src/blst_t.hpp:634,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/blst_t.hpp:635,1
    - Dst: reinterpret_cast<blst_256_t*>
      Src: /src/blst/src/blst_t.hpp:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 638
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 638
    functionName: blst_256_t::reciprocal
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - redc_mont_256
    - mul_mont_sparse_256
    - reinterpret_cast<blst_256_t*>
    - ct_inverse_mod_256
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t reciprocal() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reciprocal
      Src: /src/blst/src/blst_t.hpp:642,1
    - Dst: abort
      Src: /src/blst/src/blst_t.hpp:643,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - one
    - ' a'
    argTypes:
    - int
    - blst_256_t
    constantsTouched: []
    func_position:
      end: 644
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 644
    functionName: operator/(int one, const blst_256_t& a)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - reciprocal
    - abort
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t operator/(int one, const blst_256_t& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reciprocal
      Src: /src/blst/src/blst_t.hpp:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - blst_256_t
    - blst_256_t
    constantsTouched: []
    func_position:
      end: 646
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 646
    functionName: operator/(const blst_256_t& a, const blst_256_t& b)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - reciprocal
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t operator/(const blst_256_t& a, const blst_256_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reciprocal
      Src: /src/blst/src/blst_t.hpp:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - blst_256_t
    constantsTouched: []
    func_position:
      end: 648
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 648
    functionName: '& operator/=(const blst_256_t& a)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - reciprocal
    linkageType: ''
    returnType: blst_256_t
    signature: blst_256_t & operator/=(const blst_256_t& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_from_hexascii
      Src: /src/blst/src/blst_t.hpp:651,1
    - Dst: to
      Src: /src/blst/src/blst_t.hpp:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hexascii
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 651
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 651
    functionName: blst_256_t::blst_256_t
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 11
    functionsReached:
    - to
    - limbs_from_hexascii
    linkageType: ''
    returnType: void
    signature: void blst_256_t(const char *hexascii)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_equal
      Src: /src/blst/src/blst_t.hpp:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - blst_256_t
    - blst_256_t
    constantsTouched: []
    func_position:
      end: 654
      start: 653
    functionDepth: 2
    functionLinenumber: 653
    functionLinenumberEnd: 654
    functionName: operator==(const blst_256_t& a, const blst_256_t& b)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - vec_is_equal
    linkageType: ''
    returnType: bool
    signature: bool operator==(const blst_256_t& a, const blst_256_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_equal
      Src: /src/blst/src/blst_t.hpp:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - blst_256_t
    - blst_256_t
    constantsTouched: []
    func_position:
      end: 656
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 656
    functionName: operator!=(const blst_256_t& a, const blst_256_t& b)
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - vec_is_equal
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const blst_256_t& a, const blst_256_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: be_bytes_from_limbs
      Src: /src/blst/src/blst_t.hpp:664,1
    - Dst: from
      Src: /src/blst/src/blst_t.hpp:664,1
    - Dst: hex_from_nibble
      Src: /src/blst/src/blst_t.hpp:668,1
    - Dst: hex_from_nibble
      Src: /src/blst/src/blst_t.hpp:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - ' obj'
    argTypes:
    - OStream
    - blst_256_t
    constantsTouched: []
    func_position:
      end: 672
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 672
    functionName: '& operator<<(OStream& os, const blst_256_t& obj)'
    functionSourceFile: /src/blst/src/blst_t.hpp
    functionUses: 0
    functionsReached:
    - be_bytes_from_limbs
    - from
    - hex_from_nibble
    linkageType: ''
    returnType: OStream
    signature: OStream & operator<<(OStream& os, const blst_256_t& obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - map
    - isogeny_map
    - Zz_powers
    - n
    argTypes:
    - vec384[]
    - vec384[]
    - vec384[]
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: map_fp_times_Zz
    functionSourceFile: /src/blst/src/map_to_g1.c
    functionUses: 0
    functionsReached:
    - mul_fp
    linkageType: ''
    returnType: void
    signature: "void map_fp_times_Zz(vec384 map[], const vec384 isogeny_map[],\n                            const
      vec384 Zz_powers[], size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:38,1
    - Dst: add_fp
      Src: /src/blst/src/map_to_g1.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - acc
    - x
    - map
    - n
    argTypes:
    - vec384
    - vec384
    - vec384[]
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: map_fp
    functionSourceFile: /src/blst/src/map_to_g1.c
    functionUses: 0
    functionsReached:
    - mul_fp
    - add_fp
    linkageType: ''
    returnType: void
    signature: void map_fp(vec384 acc, const vec384 x, const vec384 map[], size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:52,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:52,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:53,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:53,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:54,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:54,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:55,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:55,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:56,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:56,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:57,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:57,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:58,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:58,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:59,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:59,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:60,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:60,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:61,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:61,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:62,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:62,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:63,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:63,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:64,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:64,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:65,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:65,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:66,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:66,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:67,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:67,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:68,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:68,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:69,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:69,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:70,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:70,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:71,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:71,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:72,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:72,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:73,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:73,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:74,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:74,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:75,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:75,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:76,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:76,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:77,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:77,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:78,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:78,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:79,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:79,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:80,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:80,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:81,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:81,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:82,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:82,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:83,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:83,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:84,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:84,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:85,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:85,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:86,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:86,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:87,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:87,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:93,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:93,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:94,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:94,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:95,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:95,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:96,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:96,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:97,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:97,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:98,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:98,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:99,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:99,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:100,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:100,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:101,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:101,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:102,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:102,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:103,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:103,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:104,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:104,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:105,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:105,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:106,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:106,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:107,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:107,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:108,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:108,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:109,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:109,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:110,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:110,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:111,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:111,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:112,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:112,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:113,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:113,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:114,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:114,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:115,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:115,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:116,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:116,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:117,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:117,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:118,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:118,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:119,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:119,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:120,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:120,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:121,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:121,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:122,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:122,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:131,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:131,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:132,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:132,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:133,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:133,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:134,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:134,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:135,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:135,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:136,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:136,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:137,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:137,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:138,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:138,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:139,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:139,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:140,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:140,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:141,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:141,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:142,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:142,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:143,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:143,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:144,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:144,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:145,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:145,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:146,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:146,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:147,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:147,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:148,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:148,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:149,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:149,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:150,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:150,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:151,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:151,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:152,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:152,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:153,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:153,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:154,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:154,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:155,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:155,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:156,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:156,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:157,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:157,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:158,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:158,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:159,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:159,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:160,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:160,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:161,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:161,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:162,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:162,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:163,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:163,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:164,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:164,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:165,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:165,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:166,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:166,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:167,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:167,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:168,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:168,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:169,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:169,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:170,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:170,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:171,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:171,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:172,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:172,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:173,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:173,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:174,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:174,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:175,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:175,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:176,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:176,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:177,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:177,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:178,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:178,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:184,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:184,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:185,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:185,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:186,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:186,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:187,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:187,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:188,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:188,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:189,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:189,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:190,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:190,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:191,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:191,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:192,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:192,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:193,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:193,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:194,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:194,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:195,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:195,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:196,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:196,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:197,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:197,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:198,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:198,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:199,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:199,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:200,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:200,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:201,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:201,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:202,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:202,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:203,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:203,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:204,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:204,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:205,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:205,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:206,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:206,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:207,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:207,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:208,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:208,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:209,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:209,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:210,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:210,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:211,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:211,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:212,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:212,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:213,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:213,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:214,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:214,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:215,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:215,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:216,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:216,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:217,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:217,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:218,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:218,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:219,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:219,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:220,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:220,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:221,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:221,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:222,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:222,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:223,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:223,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:224,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:224,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:225,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:225,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:226,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:226,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:227,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:227,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:228,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:228,1
    - Dst: sqr_fp
      Src: /src/blst/src/map_to_g1.c:233,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:236,1
    - Dst: sqr_fp
      Src: /src/blst/src/map_to_g1.c:238,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:239,1
    - Dst: sqr_fp
      Src: /src/blst/src/map_to_g1.c:240,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:241,1
    - Dst: sqr_fp
      Src: /src/blst/src/map_to_g1.c:242,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:243,1
    - Dst: sqr_fp
      Src: /src/blst/src/map_to_g1.c:244,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:245,1
    - Dst: sqr_fp
      Src: /src/blst/src/map_to_g1.c:246,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:247,1
    - Dst: sqr_fp
      Src: /src/blst/src/map_to_g1.c:248,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:249,1
    - Dst: sqr_fp
      Src: /src/blst/src/map_to_g1.c:250,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:251,1
    - Dst: map_fp_times_Zz
      Src: /src/blst/src/map_to_g1.c:254,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:255,1
    - Dst: add_fp
      Src: /src/blst/src/map_to_g1.c:256,1
    - Dst: map_fp
      Src: /src/blst/src/map_to_g1.c:257,1
    - Dst: map_fp_times_Zz
      Src: /src/blst/src/map_to_g1.c:259,1
    - Dst: add_fp
      Src: /src/blst/src/map_to_g1.c:260,1
    - Dst: map_fp
      Src: /src/blst/src/map_to_g1.c:261,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:262,1
    - Dst: map_fp_times_Zz
      Src: /src/blst/src/map_to_g1.c:264,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:265,1
    - Dst: add_fp
      Src: /src/blst/src/map_to_g1.c:266,1
    - Dst: map_fp
      Src: /src/blst/src/map_to_g1.c:267,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:268,1
    - Dst: map_fp_times_Zz
      Src: /src/blst/src/map_to_g1.c:270,1
    - Dst: add_fp
      Src: /src/blst/src/map_to_g1.c:271,1
    - Dst: map_fp
      Src: /src/blst/src/map_to_g1.c:272,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:273,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:274,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:277,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:278,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:279,1
    - Dst: sqr_fp
      Src: /src/blst/src/map_to_g1.c:280,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:281,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 2
    argNames:
    - out
    - p
    argTypes:
    - POINTonE1*
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 283
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 283
    functionName: isogeny_map_to_E1
    functionSourceFile: /src/blst/src/map_to_g1.c
    functionUses: 0
    functionsReached:
    - mul_fp
    - add_fp
    - TO_LIMB_T
    - sqr_fp
    - map_fp_times_Zz
    - map_fp
    linkageType: ''
    returnType: void
    signature: void isogeny_map_to_E1(POINTonE1 *out, const POINTonE1 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:288,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:288,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:289,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:289,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:290,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:290,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:293,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:293,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:294,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:294,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:295,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:295,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:298,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:298,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:299,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:299,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:300,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:300,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:303,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:303,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:304,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:304,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:305,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g1.c:305,1
    - Dst: sqr_fp
      Src: /src/blst/src/map_to_g1.c:327,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:328,1
    - Dst: sqr_fp
      Src: /src/blst/src/map_to_g1.c:329,1
    - Dst: add_fp
      Src: /src/blst/src/map_to_g1.c:330,1
    - Dst: add_fp
      Src: /src/blst/src/map_to_g1.c:331,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:332,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:333,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:336,1
    - Dst: vec_is_zero
      Src: /src/blst/src/map_to_g1.c:337,1
    - Dst: vec_select
      Src: /src/blst/src/map_to_g1.c:338,1
    - Dst: sqr_fp
      Src: /src/blst/src/map_to_g1.c:341,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:342,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:343,1
    - Dst: sqr_fp
      Src: /src/blst/src/map_to_g1.c:344,1
    - Dst: add_fp
      Src: /src/blst/src/map_to_g1.c:345,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:346,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:347,1
    - Dst: add_fp
      Src: /src/blst/src/map_to_g1.c:348,1
    - Dst: sqr_fp
      Src: /src/blst/src/map_to_g1.c:349,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:350,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:351,1
    - Dst: recip_sqrt_fp
      Src: /src/blst/src/map_to_g1.c:352,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:353,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:354,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:355,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:356,1
    - Dst: vec_select
      Src: /src/blst/src/map_to_g1.c:359,1
    - Dst: vec_select
      Src: /src/blst/src/map_to_g1.c:360,1
    - Dst: sgn0_fp
      Src: /src/blst/src/map_to_g1.c:362,1
    - Dst: sgn0_fp
      Src: /src/blst/src/map_to_g1.c:363,1
    - Dst: cneg_fp
      Src: /src/blst/src/map_to_g1.c:364,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:368,1
    - Dst: mul_fp
      Src: /src/blst/src/map_to_g1.c:369,1
    - Dst: vec_copy
      Src: /src/blst/src/map_to_g1.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 2
    argNames:
    - p
    - u
    argTypes:
    - POINTonE1*
    - vec384
    constantsTouched: []
    func_position:
      end: 382
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 382
    functionName: map_to_isogenous_E1
    functionSourceFile: /src/blst/src/map_to_g1.c
    functionUses: 0
    functionsReached:
    - mul_fp
    - add_fp
    - vec_select
    - recip_sqrt_fp
    - cneg_fp
    - vec_copy
    - vec_is_zero
    - TO_LIMB_T
    - sgn0_fp
    - sqr_fp
    linkageType: ''
    returnType: void
    signature: void map_to_isogenous_E1(POINTonE1 *p, const vec384 u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_dadd
      Src: /src/blst/src/map_to_g1.c:386,1
    - Dst: POINTonE1_double
      Src: /src/blst/src/map_to_g1.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out
    - p
    - n
    argTypes:
    - POINTonE1*
    - POINTonE1*
    - size_t
    constantsTouched: []
    func_position:
      end: 389
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 389
    functionName: POINTonE1_add_n_dbl
    functionSourceFile: /src/blst/src/map_to_g1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_double
    - POINTonE1_dadd
    linkageType: ''
    returnType: void
    signature: void POINTonE1_add_n_dbl(POINTonE1 *out, const POINTonE1 *p, size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_double
      Src: /src/blst/src/map_to_g1.c:393,1
    - Dst: POINTonE1_add_n_dbl
      Src: /src/blst/src/map_to_g1.c:394,1
    - Dst: POINTonE1_add_n_dbl
      Src: /src/blst/src/map_to_g1.c:395,1
    - Dst: POINTonE1_add_n_dbl
      Src: /src/blst/src/map_to_g1.c:396,1
    - Dst: POINTonE1_add_n_dbl
      Src: /src/blst/src/map_to_g1.c:397,1
    - Dst: POINTonE1_add_n_dbl
      Src: /src/blst/src/map_to_g1.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE1*
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: POINTonE1_times_minus_z
    functionSourceFile: /src/blst/src/map_to_g1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_double
    - POINTonE1_add_n_dbl
    linkageType: ''
    returnType: void
    signature: void POINTonE1_times_minus_z(POINTonE1 *out, const POINTonE1 *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map_to_isogenous_E1
      Src: /src/blst/src/map_to_g1.c:408,1
    - Dst: map_to_isogenous_E1
      Src: /src/blst/src/map_to_g1.c:411,1
    - Dst: POINTonE1_dadd
      Src: /src/blst/src/map_to_g1.c:412,1
    - Dst: isogeny_map_to_E1
      Src: /src/blst/src/map_to_g1.c:415,1
    - Dst: POINTonE1_times_minus_z
      Src: /src/blst/src/map_to_g1.c:418,1
    - Dst: POINTonE1_dadd
      Src: /src/blst/src/map_to_g1.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - out
    - u
    - v
    argTypes:
    - POINTonE1*
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 420
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 420
    functionName: map_to_g1
    functionSourceFile: /src/blst/src/map_to_g1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_dadd
    - map_to_isogenous_E1
    - isogeny_map_to_E1
    - POINTonE1_times_minus_z
    linkageType: ''
    returnType: void
    signature: void map_to_g1(POINTonE1 *out, const vec384 u, const vec384 v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map_to_g1
      Src: /src/blst/src/map_to_g1.c:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - u
    - v
    argTypes:
    - POINTonE1*
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 423
      start: 422
    functionDepth: 4
    functionLinenumber: 422
    functionLinenumberEnd: 423
    functionName: blst_map_to_g1
    functionSourceFile: /src/blst/src/map_to_g1.c
    functionUses: 0
    functionsReached:
    - map_to_g1
    linkageType: ''
    returnType: void
    signature: void blst_map_to_g1(POINTonE1 *out, const vec384 u, const vec384 v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_to_field
      Src: /src/blst/src/map_to_g1.c:431,1
    - Dst: map_to_g1
      Src: /src/blst/src/map_to_g1.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - p
    - msg
    - msg_len
    - DST
    - DST_len
    - aug
    - aug_len
    argTypes:
    - POINTonE1*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 433
      start: 425
    functionDepth: 4
    functionLinenumber: 425
    functionLinenumberEnd: 433
    functionName: Encode_to_G1
    functionSourceFile: /src/blst/src/map_to_g1.c
    functionUses: 1
    functionsReached:
    - hash_to_field
    - map_to_g1
    linkageType: ''
    returnType: void
    signature: "void Encode_to_G1(POINTonE1 *p, const unsigned char *msg, size_t msg_len,\n
      \                                      const unsigned char *DST, size_t DST_len,\n
      \                                      const unsigned char *aug, size_t aug_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encode_to_G1
      Src: /src/blst/src/map_to_g1.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - p
    - msg
    - msg_len
    - DST
    - DST_len
    - aug
    - aug_len
    argTypes:
    - POINTonE1*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 5
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: blst_encode_to_g1
    functionSourceFile: /src/blst/src/map_to_g1.c
    functionUses: 0
    functionsReached:
    - Encode_to_G1
    linkageType: ''
    returnType: void
    signature: "void blst_encode_to_g1(POINTonE1 *p, const unsigned char *msg, size_t
      msg_len,\n                                     const unsigned char *DST, size_t
      DST_len,\n                                     const unsigned char *aug, size_t
      aug_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_to_field
      Src: /src/blst/src/map_to_g1.c:446,1
    - Dst: map_to_g1
      Src: /src/blst/src/map_to_g1.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - p
    - msg
    - msg_len
    - DST
    - DST_len
    - aug
    - aug_len
    argTypes:
    - POINTonE1*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 448
      start: 440
    functionDepth: 4
    functionLinenumber: 440
    functionLinenumberEnd: 448
    functionName: Hash_to_G1
    functionSourceFile: /src/blst/src/map_to_g1.c
    functionUses: 1
    functionsReached:
    - hash_to_field
    - map_to_g1
    linkageType: ''
    returnType: void
    signature: "void Hash_to_G1(POINTonE1 *p, const unsigned char *msg, size_t msg_len,\n
      \                                    const unsigned char *DST, size_t DST_len,\n
      \                                    const unsigned char *aug, size_t aug_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Hash_to_G1
      Src: /src/blst/src/map_to_g1.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - p
    - msg
    - msg_len
    - DST
    - DST_len
    - aug
    - aug_len
    argTypes:
    - POINTonE1*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 453
      start: 450
    functionDepth: 5
    functionLinenumber: 450
    functionLinenumberEnd: 453
    functionName: blst_hash_to_g1
    functionSourceFile: /src/blst/src/map_to_g1.c
    functionUses: 0
    functionsReached:
    - Hash_to_G1
    linkageType: ''
    returnType: void
    signature: "void blst_hash_to_g1(POINTonE1 *p, const unsigned char *msg, size_t
      msg_len,\n                                   const unsigned char *DST, size_t
      DST_len,\n                                   const unsigned char *aug, size_t
      aug_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TO_BYTES
      Src: /src/blst/src/map_to_g1.c:463,1
    - Dst: TO_BYTES
      Src: /src/blst/src/map_to_g1.c:463,1
    - Dst: POINTonE1_double
      Src: /src/blst/src/map_to_g1.c:469,1
    - Dst: is_bit_set
      Src: /src/blst/src/map_to_g1.c:470,1
    - Dst: POINTonE1_dadd
      Src: /src/blst/src/map_to_g1.c:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE1*
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 473
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 473
    functionName: POINTonE1_times_zz_minus_1_div_by_3
    functionSourceFile: /src/blst/src/map_to_g1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_double
    - POINTonE1_dadd
    - TO_BYTES
    - is_bit_set
    linkageType: ''
    returnType: void
    signature: "void POINTonE1_times_zz_minus_1_div_by_3(POINTonE1 *out,\n                                                const
      POINTonE1 *in)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_double
      Src: /src/blst/src/map_to_g1.c:478,1
    - Dst: POINTonE1_dadd
      Src: /src/blst/src/map_to_g1.c:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out
    - n
    - p
    argTypes:
    - POINTonE1*
    - size_t
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 480
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 480
    functionName: POINTonE1_dbl_n_add
    functionSourceFile: /src/blst/src/map_to_g1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_double
    - POINTonE1_dadd
    linkageType: ''
    returnType: void
    signature: void POINTonE1_dbl_n_add(POINTonE1 *out, size_t n, const POINTonE1
      *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_double
      Src: /src/blst/src/map_to_g1.c:487,1
    - Dst: POINTonE1_dadd
      Src: /src/blst/src/map_to_g1.c:488,1
    - Dst: POINTonE1_dadd
      Src: /src/blst/src/map_to_g1.c:489,1
    - Dst: POINTonE1_dadd
      Src: /src/blst/src/map_to_g1.c:490,1
    - Dst: POINTonE1_double
      Src: /src/blst/src/map_to_g1.c:491,1
    - Dst: POINTonE1_dadd
      Src: /src/blst/src/map_to_g1.c:492,1
    - Dst: POINTonE1_dbl_n_add
      Src: /src/blst/src/map_to_g1.c:493,1
    - Dst: POINTonE1_double
      Src: /src/blst/src/map_to_g1.c:495,1
    - Dst: POINTonE1_dbl_n_add
      Src: /src/blst/src/map_to_g1.c:496,1
    - Dst: POINTonE1_dbl_n_add
      Src: /src/blst/src/map_to_g1.c:497,1
    - Dst: POINTonE1_dbl_n_add
      Src: /src/blst/src/map_to_g1.c:498,1
    - Dst: POINTonE1_dbl_n_add
      Src: /src/blst/src/map_to_g1.c:499,1
    - Dst: POINTonE1_dbl_n_add
      Src: /src/blst/src/map_to_g1.c:500,1
    - Dst: POINTonE1_dbl_n_add
      Src: /src/blst/src/map_to_g1.c:501,1
    - Dst: POINTonE1_dbl_n_add
      Src: /src/blst/src/map_to_g1.c:502,1
    - Dst: POINTonE1_dbl_n_add
      Src: /src/blst/src/map_to_g1.c:503,1
    - Dst: POINTonE1_dbl_n_add
      Src: /src/blst/src/map_to_g1.c:504,1
    - Dst: POINTonE1_dbl_n_add
      Src: /src/blst/src/map_to_g1.c:505,1
    - Dst: POINTonE1_dbl_n_add
      Src: /src/blst/src/map_to_g1.c:506,1
    - Dst: POINTonE1_dbl_n_add
      Src: /src/blst/src/map_to_g1.c:507,1
    - Dst: POINTonE1_dbl_n_add
      Src: /src/blst/src/map_to_g1.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE1*
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 509
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 509
    functionName: POINTonE1_times_zz_minus_1_div_by_3
    functionSourceFile: /src/blst/src/map_to_g1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_double
    - POINTonE1_dadd
    - POINTonE1_dbl_n_add
    linkageType: ''
    returnType: void
    signature: "void POINTonE1_times_zz_minus_1_div_by_3(POINTonE1 *out,\n                                                const
      POINTonE1 *in)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigma
      Src: /src/blst/src/map_to_g1.c:517,1
    - Dst: sigma
      Src: /src/blst/src/map_to_g1.c:518,1
    - Dst: POINTonE1_double
      Src: /src/blst/src/map_to_g1.c:520,1
    - Dst: POINTonE1_dadd
      Src: /src/blst/src/map_to_g1.c:521,1
    - Dst: POINTonE1_cneg
      Src: /src/blst/src/map_to_g1.c:522,1
    - Dst: POINTonE1_dadd
      Src: /src/blst/src/map_to_g1.c:523,1
    - Dst: POINTonE1_times_zz_minus_1_div_by_3
      Src: /src/blst/src/map_to_g1.c:524,1
    - Dst: POINTonE1_cneg
      Src: /src/blst/src/map_to_g1.c:525,1
    - Dst: POINTonE1_dadd
      Src: /src/blst/src/map_to_g1.c:526,1
    - Dst: vec_is_zero
      Src: /src/blst/src/map_to_g1.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - P
    argTypes:
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 529
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 529
    functionName: POINTonE1_in_G1
    functionSourceFile: /src/blst/src/map_to_g1.c
    functionUses: 3
    functionsReached:
    - POINTonE1_times_zz_minus_1_div_by_3
    - POINTonE1_cneg
    - POINTonE1_double
    - POINTonE1_dadd
    - sigma
    - vec_is_zero
    linkageType: ''
    returnType: bool_t
    signature: bool_t POINTonE1_in_G1(const POINTonE1 *P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_times_minus_z
      Src: /src/blst/src/map_to_g1.c:536,1
    - Dst: POINTonE1_times_minus_z
      Src: /src/blst/src/map_to_g1.c:537,1
    - Dst: POINTonE1_cneg
      Src: /src/blst/src/map_to_g1.c:538,1
    - Dst: sigma
      Src: /src/blst/src/map_to_g1.c:540,1
    - Dst: sigma
      Src: /src/blst/src/map_to_g1.c:541,1
    - Dst: POINTonE1_is_equal
      Src: /src/blst/src/map_to_g1.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - P
    argTypes:
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 544
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 544
    functionName: POINTonE1_in_G1
    functionSourceFile: /src/blst/src/map_to_g1.c
    functionUses: 3
    functionsReached:
    - POINTonE1_is_equal
    - sigma
    - POINTonE1_cneg
    - POINTonE1_times_minus_z
    linkageType: ''
    returnType: bool_t
    signature: bool_t POINTonE1_in_G1(const POINTonE1 *P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_in_G1
      Src: /src/blst/src/map_to_g1.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 548
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 548
    functionName: blst_p1_in_g1
    functionSourceFile: /src/blst/src/map_to_g1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_in_G1
    linkageType: ''
    returnType: int
    signature: int blst_p1_in_g1(const POINTonE1 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_copy
      Src: /src/blst/src/map_to_g1.c:554,1
    - Dst: vec_select
      Src: /src/blst/src/map_to_g1.c:555,1
    - Dst: vec_is_zero
      Src: /src/blst/src/map_to_g1.c:556,1
    - Dst: POINTonE1_in_G1
      Src: /src/blst/src/map_to_g1.c:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINTonE1_affine*
    constantsTouched: []
    func_position:
      end: 559
      start: 550
    functionDepth: 3
    functionLinenumber: 550
    functionLinenumberEnd: 559
    functionName: blst_p1_affine_in_g1
    functionSourceFile: /src/blst/src/map_to_g1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_in_G1
    - vec_copy
    - vec_select
    - vec_is_zero
    linkageType: ''
    returnType: int
    signature: int blst_p1_affine_in_g1(const POINTonE1_affine *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lshift_fp
      Src: /src/blst/src/e1.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: mul_by_b_onE1
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - lshift_fp
    linkageType: ''
    returnType: void
    signature: void mul_by_b_onE1(vec384 out, const vec384 in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lshift_fp
      Src: /src/blst/src/e1.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: mul_by_4b_onE1
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - lshift_fp
    linkageType: ''
    returnType: void
    signature: void mul_by_4b_onE1(vec384 out, const vec384 in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cneg_fp
      Src: /src/blst/src/e1.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - cbit
    argTypes:
    - POINTonE1*
    - bool_t
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: POINTonE1_cneg
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 2
    functionsReached:
    - cneg_fp
    linkageType: ''
    returnType: void
    signature: void POINTonE1_cneg(POINTonE1 *p, bool_t cbit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_cneg
      Src: /src/blst/src/e1.c:58,1
    - Dst: is_zero
      Src: /src/blst/src/e1.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - cbit
    argTypes:
    - POINTonE1*
    - int
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: blst_p1_cneg
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - is_zero
    - POINTonE1_cneg
    linkageType: ''
    returnType: void
    signature: void blst_p1_cneg(POINTonE1 *a, int cbit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/e1.c:63,1
    - Dst: reciprocal_fp
      Src: /src/blst/src/e1.c:65,1
    - Dst: sqr_fp
      Src: /src/blst/src/e1.c:67,1
    - Dst: mul_fp
      Src: /src/blst/src/e1.c:68,1
    - Dst: mul_fp
      Src: /src/blst/src/e1.c:70,1
    - Dst: mul_fp
      Src: /src/blst/src/e1.c:71,1
    - Dst: vec_select
      Src: /src/blst/src/e1.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE1*
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: POINTonE1_from_Jacobian
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 3
    functionsReached:
    - mul_fp
    - vec_select
    - vec_is_zero
    - reciprocal_fp
    - sqr_fp
    linkageType: ''
    returnType: void
    signature: void POINTonE1_from_Jacobian(POINTonE1 *out, const POINTonE1 *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_from_Jacobian
      Src: /src/blst/src/e1.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - POINTonE1*
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: blst_p1_from_jacobian
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_from_Jacobian
    linkageType: ''
    returnType: void
    signature: void blst_p1_from_jacobian(POINTonE1 *out, const POINTonE1 *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_equal
      Src: /src/blst/src/e1.c:84,1
    - Dst: POINTonE1_from_Jacobian
      Src: /src/blst/src/e1.c:85,1
    - Dst: vec_copy
      Src: /src/blst/src/e1.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE1_affine*
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: POINTonE1_to_affine
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_from_Jacobian
    - vec_is_equal
    - vec_copy
    linkageType: ''
    returnType: void
    signature: void POINTonE1_to_affine(POINTonE1_affine *out, const POINTonE1 *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_to_affine
      Src: /src/blst/src/e1.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - POINTonE1_affine*
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: blst_p1_to_affine
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_to_affine
    linkageType: ''
    returnType: void
    signature: void blst_p1_to_affine(POINTonE1_affine *out, const POINTonE1 *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_copy
      Src: /src/blst/src/e1.c:96,1
    - Dst: vec_select
      Src: /src/blst/src/e1.c:97,1
    - Dst: vec_is_zero
      Src: /src/blst/src/e1.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - POINTonE1*
    - POINTonE1_affine*
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: blst_p1_from_affine
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - vec_copy
    - vec_select
    - vec_is_zero
    linkageType: ''
    returnType: void
    signature: void blst_p1_from_affine(POINTonE1 *out, const POINTonE1_affine *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fp
      Src: /src/blst/src/e1.c:105,1
    - Dst: mul_fp
      Src: /src/blst/src/e1.c:106,1
    - Dst: add_fp
      Src: /src/blst/src/e1.c:107,1
    - Dst: sqr_fp
      Src: /src/blst/src/e1.c:109,1
    - Dst: vec_is_equal
      Src: /src/blst/src/e1.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINTonE1_affine*
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: POINTonE1_affine_on_curve
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - mul_fp
    - vec_is_equal
    - sqr_fp
    - add_fp
    linkageType: ''
    returnType: bool_t
    signature: bool_t POINTonE1_affine_on_curve(const POINTonE1_affine *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_affine_on_curve
      Src: /src/blst/src/e1.c:115,1
    - Dst: vec_is_zero
      Src: /src/blst/src/e1.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINTonE1_affine*
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: blst_p1_affine_on_curve
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_affine_on_curve
    - vec_is_zero
    linkageType: ''
    returnType: int
    signature: int blst_p1_affine_on_curve(const POINTonE1_affine *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/e1.c:120,1
    - Dst: sqr_fp
      Src: /src/blst/src/e1.c:122,1
    - Dst: mul_fp
      Src: /src/blst/src/e1.c:123,1
    - Dst: sqr_fp
      Src: /src/blst/src/e1.c:124,1
    - Dst: mul_by_b_onE1
      Src: /src/blst/src/e1.c:125,1
    - Dst: sqr_fp
      Src: /src/blst/src/e1.c:127,1
    - Dst: mul_fp
      Src: /src/blst/src/e1.c:128,1
    - Dst: add_fp
      Src: /src/blst/src/e1.c:129,1
    - Dst: sqr_fp
      Src: /src/blst/src/e1.c:131,1
    - Dst: vec_is_equal
      Src: /src/blst/src/e1.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 134
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 134
    functionName: POINTonE1_on_curve
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - mul_fp
    - add_fp
    - vec_is_zero
    - mul_by_b_onE1
    - sqr_fp
    - vec_is_equal
    linkageType: ''
    returnType: bool_t
    signature: bool_t POINTonE1_on_curve(const POINTonE1 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_on_curve
      Src: /src/blst/src/e1.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 4
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: blst_p1_on_curve
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_on_curve
    linkageType: ''
    returnType: int
    signature: int blst_p1_on_curve(const POINTonE1 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_fp
      Src: /src/blst/src/e1.c:144,1
    - Dst: be_bytes_from_limbs
      Src: /src/blst/src/e1.c:145,1
    - Dst: from_fp
      Src: /src/blst/src/e1.c:147,1
    - Dst: be_bytes_from_limbs
      Src: /src/blst/src/e1.c:148,1
    - Dst: sgn0_pty_mod_384
      Src: /src/blst/src/e1.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char[]
    - POINTonE1_affine*
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: POINTonE1_affine_Serialize_BE
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - from_fp
    - be_bytes_from_limbs
    - sgn0_pty_mod_384
    linkageType: ''
    returnType: limb_t
    signature: "limb_t POINTonE1_affine_Serialize_BE(unsigned char out[96],\n                                            const
      POINTonE1_affine *in)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/e1.c:156,1
    - Dst: bytes_zero
      Src: /src/blst/src/e1.c:157,1
    - Dst: POINTonE1_affine_Serialize_BE
      Src: /src/blst/src/e1.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char[]
    - POINTonE1_affine*
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: blst_p1_affine_serialize
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - bytes_zero
    - POINTonE1_affine_Serialize_BE
    - vec_is_zero
    linkageType: ''
    returnType: void
    signature: "void blst_p1_affine_serialize(unsigned char out[96],\n                              const
      POINTonE1_affine *in)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_equal
      Src: /src/blst/src/e1.c:169,1
    - Dst: POINTonE1_from_Jacobian
      Src: /src/blst/src/e1.c:170,1
    - Dst: POINTonE1_affine_Serialize_BE
      Src: /src/blst/src/e1.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char[]
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: POINTonE1_Serialize_BE
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_from_Jacobian
    - vec_is_equal
    - POINTonE1_affine_Serialize_BE
    linkageType: ''
    returnType: limb_t
    signature: "limb_t POINTonE1_Serialize_BE(unsigned char out[96],\n                                     const
      POINTonE1 *in)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/e1.c:179,1
    - Dst: bytes_zero
      Src: /src/blst/src/e1.c:180,1
    - Dst: POINTonE1_Serialize_BE
      Src: /src/blst/src/e1.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char[]
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 4
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: POINTonE1_Serialize
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - bytes_zero
    - POINTonE1_Serialize_BE
    - vec_is_zero
    linkageType: ''
    returnType: void
    signature: void POINTonE1_Serialize(unsigned char out[96], const POINTonE1 *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_Serialize
      Src: /src/blst/src/e1.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char[]
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 5
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: blst_p1_serialize
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_Serialize
    linkageType: ''
    returnType: void
    signature: void blst_p1_serialize(unsigned char out[96], const POINTonE1 *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_fp
      Src: /src/blst/src/e1.c:195,1
    - Dst: be_bytes_from_limbs
      Src: /src/blst/src/e1.c:196,1
    - Dst: sgn0_pty_mont_384
      Src: /src/blst/src/e1.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char[]
    - POINTonE1_affine*
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: POINTonE1_affine_Compress_BE
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - from_fp
    - be_bytes_from_limbs
    - sgn0_pty_mont_384
    linkageType: ''
    returnType: limb_t
    signature: "limb_t POINTonE1_affine_Compress_BE(unsigned char out[48],\n                                           const
      POINTonE1_affine *in)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/e1.c:203,1
    - Dst: bytes_zero
      Src: /src/blst/src/e1.c:204,1
    - Dst: POINTonE1_affine_Compress_BE
      Src: /src/blst/src/e1.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char[]
    - POINTonE1_affine*
    constantsTouched: []
    func_position:
      end: 210
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 210
    functionName: blst_p1_affine_compress
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - bytes_zero
    - POINTonE1_affine_Compress_BE
    - vec_is_zero
    linkageType: ''
    returnType: void
    signature: void blst_p1_affine_compress(unsigned char out[48], const POINTonE1_affine
      *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_equal
      Src: /src/blst/src/e1.c:217,1
    - Dst: POINTonE1_from_Jacobian
      Src: /src/blst/src/e1.c:218,1
    - Dst: POINTonE1_affine_Compress_BE
      Src: /src/blst/src/e1.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char[]
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: POINTonE1_Compress_BE
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_from_Jacobian
    - POINTonE1_affine_Compress_BE
    - vec_is_equal
    linkageType: ''
    returnType: limb_t
    signature: "limb_t POINTonE1_Compress_BE(unsigned char out[48],\n                                    const
      POINTonE1 *in)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/e1.c:227,1
    - Dst: bytes_zero
      Src: /src/blst/src/e1.c:228,1
    - Dst: POINTonE1_Compress_BE
      Src: /src/blst/src/e1.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char[]
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 234
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 234
    functionName: blst_p1_compress
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_Compress_BE
    - bytes_zero
    - vec_is_zero
    linkageType: ''
    returnType: void
    signature: void blst_p1_compress(unsigned char out[48], const POINTonE1 *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_from_be_bytes
      Src: /src/blst/src/e1.c:242,1
    - Dst: add_fp
      Src: /src/blst/src/e1.c:245,1
    - Dst: vec_is_equal
      Src: /src/blst/src/e1.c:246,1
    - Dst: mul_fp
      Src: /src/blst/src/e1.c:248,1
    - Dst: sqr_fp
      Src: /src/blst/src/e1.c:250,1
    - Dst: mul_fp
      Src: /src/blst/src/e1.c:251,1
    - Dst: add_fp
      Src: /src/blst/src/e1.c:252,1
    - Dst: sqrt_fp
      Src: /src/blst/src/e1.c:253,1
    - Dst: vec_copy
      Src: /src/blst/src/e1.c:256,1
    - Dst: sgn0_pty_mont_384
      Src: /src/blst/src/e1.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE1_affine*
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 259
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 259
    functionName: POINTonE1_Uncompress_BE
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - mul_fp
    - add_fp
    - vec_copy
    - limbs_from_be_bytes
    - sqrt_fp
    - sgn0_pty_mont_384
    - sqr_fp
    - vec_is_equal
    linkageType: ''
    returnType: limb_t
    signature: "limb_t POINTonE1_Uncompress_BE(POINTonE1_affine *out,\n                                      const
      unsigned char in[48])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: byte_is_zero
      Src: /src/blst/src/e1.c:271,1
    - Dst: bytes_are_zero
      Src: /src/blst/src/e1.c:271,1
    - Dst: vec_zero
      Src: /src/blst/src/e1.c:272,1
    - Dst: POINTonE1_Uncompress_BE
      Src: /src/blst/src/e1.c:279,1
    - Dst: cneg_fp
      Src: /src/blst/src/e1.c:286,1
    - Dst: vec_is_zero
      Src: /src/blst/src/e1.c:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE1_affine*
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 291
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 291
    functionName: POINTonE1_Uncompress_Z
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - bytes_are_zero
    - cneg_fp
    - vec_zero
    - vec_is_zero
    - POINTonE1_Uncompress_BE
    - byte_is_zero
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR POINTonE1_Uncompress_Z(POINTonE1_affine *out,\n                                         const
      unsigned char in[48])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_Uncompress_Z
      Src: /src/blst/src/e1.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE1_affine*
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: blst_p1_uncompress
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_Uncompress_Z
    linkageType: ''
    returnType: BLST_ERROR
    signature: BLST_ERROR blst_p1_uncompress(POINTonE1_affine *out, const unsigned
      char in[48])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_from_be_bytes
      Src: /src/blst/src/e1.c:302,1
    - Dst: limbs_from_be_bytes
      Src: /src/blst/src/e1.c:303,1
    - Dst: add_fp
      Src: /src/blst/src/e1.c:307,1
    - Dst: vec_is_equal
      Src: /src/blst/src/e1.c:308,1
    - Dst: add_fp
      Src: /src/blst/src/e1.c:311,1
    - Dst: vec_is_equal
      Src: /src/blst/src/e1.c:312,1
    - Dst: mul_fp
      Src: /src/blst/src/e1.c:315,1
    - Dst: mul_fp
      Src: /src/blst/src/e1.c:316,1
    - Dst: POINTonE1_affine_on_curve
      Src: /src/blst/src/e1.c:318,1
    - Dst: vec_copy
      Src: /src/blst/src/e1.c:321,1
    - Dst: vec_is_zero
      Src: /src/blst/src/e1.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE1_affine*
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 326
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 326
    functionName: POINTonE1_Deserialize_BE
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - mul_fp
    - add_fp
    - POINTonE1_affine_on_curve
    - vec_copy
    - vec_is_zero
    - limbs_from_be_bytes
    - vec_is_equal
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR POINTonE1_Deserialize_BE(POINTonE1_affine *out,\n                                           const
      unsigned char in[96])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_Deserialize_BE
      Src: /src/blst/src/e1.c:334,1
    - Dst: POINTonE1_Uncompress_Z
      Src: /src/blst/src/e1.c:337,1
    - Dst: byte_is_zero
      Src: /src/blst/src/e1.c:340,1
    - Dst: bytes_are_zero
      Src: /src/blst/src/e1.c:340,1
    - Dst: vec_zero
      Src: /src/blst/src/e1.c:341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE1_affine*
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 347
      start: 328
    functionDepth: 4
    functionLinenumber: 328
    functionLinenumberEnd: 347
    functionName: POINTonE1_Deserialize_Z
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 1
    functionsReached:
    - POINTonE1_Deserialize_BE
    - bytes_are_zero
    - vec_zero
    - byte_is_zero
    - POINTonE1_Uncompress_Z
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR POINTonE1_Deserialize_Z(POINTonE1_affine *out,\n                                          const
      unsigned char in[96])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_Deserialize_Z
      Src: /src/blst/src/e1.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE1_affine*
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 5
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: blst_p1_deserialize
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_Deserialize_Z
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR blst_p1_deserialize(POINTonE1_affine *out,\n                               const
      unsigned char in[96])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_add
      Src: /src/blst/src/e1.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - POINTonE1*
    - POINTonE1*
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 362
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 362
    functionName: blst_p1_add
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_add
    linkageType: ''
    returnType: void
    signature: void blst_p1_add(POINTonE1 *out, const POINTonE1 *a, const POINTonE1
      *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_dadd
      Src: /src/blst/src/e1.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - POINTonE1*
    - POINTonE1*
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: blst_p1_add_or_double
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_dadd
    linkageType: ''
    returnType: void
    signature: "void blst_p1_add_or_double(POINTonE1 *out, const POINTonE1 *a,\n                                           const
      POINTonE1 *b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_add_affine
      Src: /src/blst/src/e1.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - POINTonE1*
    - POINTonE1*
    - POINTonE1_affine*
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: blst_p1_add_affine
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_add_affine
    linkageType: ''
    returnType: void
    signature: "void blst_p1_add_affine(POINTonE1 *out, const POINTonE1 *a,\n                                        const
      POINTonE1_affine *b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_dadd_affine
      Src: /src/blst/src/e1.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - POINTonE1*
    - POINTonE1*
    - POINTonE1_affine*
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: blst_p1_add_or_double_affine
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_dadd_affine
    linkageType: ''
    returnType: void
    signature: "void blst_p1_add_or_double_affine(POINTonE1 *out, const POINTonE1
      *a,\n                                                  const POINTonE1_affine
      *b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_double
      Src: /src/blst/src/e1.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - POINTonE1*
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 377
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 377
    functionName: blst_p1_double
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_double
    linkageType: ''
    returnType: void
    signature: void blst_p1_double(POINTonE1 *out, const POINTonE1 *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_is_equal
      Src: /src/blst/src/e1.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - POINTonE1*
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 380
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 380
    functionName: blst_p1_is_equal
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_is_equal
    linkageType: ''
    returnType: int
    signature: int blst_p1_is_equal(const POINTonE1 *a, const POINTonE1 *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_copy
      Src: /src/blst/src/e1.c:407,1
    - Dst: mul_fp
      Src: /src/blst/src/e1.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE1*
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 409
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 409
    functionName: sigma
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 2
    functionsReached:
    - mul_fp
    - vec_copy
    linkageType: ''
    returnType: void
    signature: void sigma(POINTonE1 *out, const POINTonE1 *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_from_le_bytes
      Src: /src/blst/src/e1.c:419,1
    - Dst: div_by_zz
      Src: /src/blst/src/e1.c:420,1
    - Dst: le_bytes_from_limbs
      Src: /src/blst/src/e1.c:421,1
    - Dst: POINTonE1_precompute_w5
      Src: /src/blst/src/e1.c:428,1
    - Dst: mul_fp
      Src: /src/blst/src/e1.c:430,1
    - Dst: cneg_fp
      Src: /src/blst/src/e1.c:431,1
    - Dst: vec_copy
      Src: /src/blst/src/e1.c:432,1
    - Dst: POINTonE1s_mult_w5
      Src: /src/blst/src/e1.c:435,1
    - Dst: POINTonE1_cneg
      Src: /src/blst/src/e1.c:436,1
    - Dst: mul_fp
      Src: /src/blst/src/e1.c:437,1
    - Dst: mul_fp
      Src: /src/blst/src/e1.c:438,1
    - Dst: vec_zero
      Src: /src/blst/src/e1.c:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - out
    - in
    - SK
    argTypes:
    - POINTonE1*
    - POINTonE1*
    - pow256
    constantsTouched: []
    func_position:
      end: 442
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 442
    functionName: POINTonE1_mult_glv
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - mul_fp
    - limbs_from_le_bytes
    - POINTonE1_cneg
    - cneg_fp
    - vec_copy
    - le_bytes_from_limbs
    - vec_zero
    - POINTonE1_precompute_w5
    - div_by_zz
    - POINTonE1s_mult_w5
    linkageType: ''
    returnType: void
    signature: "void POINTonE1_mult_glv(POINTonE1 *out, const POINTonE1 *in,\n                               const
      pow256 SK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_mult_glv
      Src: /src/blst/src/e1.c:449,1
    - Dst: vec_is_zero
      Src: /src/blst/src/e1.c:452,1
    - Dst: flt_reciprocal_fp
      Src: /src/blst/src/e1.c:454,1
    - Dst: reciprocal_fp
      Src: /src/blst/src/e1.c:456,1
    - Dst: sqr_fp
      Src: /src/blst/src/e1.c:459,1
    - Dst: mul_fp
      Src: /src/blst/src/e1.c:460,1
    - Dst: mul_fp
      Src: /src/blst/src/e1.c:462,1
    - Dst: mul_fp
      Src: /src/blst/src/e1.c:463,1
    - Dst: vec_select
      Src: /src/blst/src/e1.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - out
    - in
    - SK
    argTypes:
    - POINTonE1*
    - POINTonE1*
    - pow256
    constantsTouched: []
    func_position:
      end: 467
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 467
    functionName: POINTonE1_sign
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - mul_fp
    - vec_select
    - flt_reciprocal_fp
    - vec_is_zero
    - reciprocal_fp
    - sqr_fp
    - POINTonE1_mult_glv
    linkageType: ''
    returnType: void
    signature: void POINTonE1_sign(POINTonE1 *out, const POINTonE1 *in, const pow256
      SK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_sign
      Src: /src/blst/src/e1.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - SK
    argTypes:
    - POINTonE1*
    - pow256
    constantsTouched: []
    func_position:
      end: 470
      start: 469
    functionDepth: 4
    functionLinenumber: 469
    functionLinenumberEnd: 470
    functionName: blst_sk_to_pk_in_g1
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_sign
    linkageType: ''
    returnType: void
    signature: void blst_sk_to_pk_in_g1(POINTonE1 *out, const pow256 SK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_sign
      Src: /src/blst/src/e1.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - msg
    - SK
    argTypes:
    - POINTonE1*
    - POINTonE1*
    - pow256
    constantsTouched: []
    func_position:
      end: 473
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 473
    functionName: blst_sign_pk_in_g2
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_sign
    linkageType: ''
    returnType: void
    signature: void blst_sign_pk_in_g2(POINTonE1 *out, const POINTonE1 *msg, const
      pow256 SK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_sign
      Src: /src/blst/src/e1.c:480,1
    - Dst: vec_copy
      Src: /src/blst/src/e1.c:482,1
    - Dst: POINTonE1_Serialize_BE
      Src: /src/blst/src/e1.c:484,1
    - Dst: vec_is_zero
      Src: /src/blst/src/e1.c:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - out
    - PK
    - SK
    argTypes:
    - unsigned char[]
    - POINTonE1_affine*
    - pow256
    constantsTouched: []
    func_position:
      end: 488
      start: 475
    functionDepth: 4
    functionLinenumber: 475
    functionLinenumberEnd: 488
    functionName: blst_sk_to_pk2_in_g1
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_Serialize_BE
    - POINTonE1_sign
    - vec_copy
    - vec_is_zero
    linkageType: ''
    returnType: void
    signature: "void blst_sk_to_pk2_in_g1(unsigned char out[96], POINTonE1_affine
      *PK,\n                          const pow256 SK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_sign
      Src: /src/blst/src/e1.c:495,1
    - Dst: vec_copy
      Src: /src/blst/src/e1.c:497,1
    - Dst: POINTonE1_Serialize_BE
      Src: /src/blst/src/e1.c:499,1
    - Dst: vec_is_zero
      Src: /src/blst/src/e1.c:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - out
    - sig
    - hash
    - SK
    argTypes:
    - unsigned char[]
    - POINTonE1_affine*
    - POINTonE1*
    - pow256
    constantsTouched: []
    func_position:
      end: 503
      start: 490
    functionDepth: 4
    functionLinenumber: 490
    functionLinenumberEnd: 503
    functionName: blst_sign_pk2_in_g2
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_Serialize_BE
    - POINTonE1_sign
    - vec_copy
    - vec_is_zero
    linkageType: ''
    returnType: void
    signature: "void blst_sign_pk2_in_g2(unsigned char out[96], POINTonE1_affine *sig,\n
      \                        const POINTonE1 *hash, const pow256 SK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_mult_w4
      Src: /src/blst/src/e1.c:510,1
    - Dst: vec_zero
      Src: /src/blst/src/e1.c:512,1
    - Dst: check_mod_256
      Src: /src/blst/src/e1.c:524,1
    - Dst: POINTonE1_mult_glv
      Src: /src/blst/src/e1.c:525,1
    - Dst: POINTonE1_mult_w5
      Src: /src/blst/src/e1.c:527,1
    - Dst: vec_zero
      Src: /src/blst/src/e1.c:529,1
    - Dst: POINTonE1_mult_w5
      Src: /src/blst/src/e1.c:531,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - out
    - a
    - scalar
    - nbits
    argTypes:
    - POINTonE1*
    - POINTonE1*
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 533
      start: 505
    functionDepth: 3
    functionLinenumber: 505
    functionLinenumberEnd: 533
    functionName: blst_p1_mult
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - check_mod_256
    - vec_zero
    - POINTonE1_mult_w4
    - POINTonE1_mult_w5
    - POINTonE1_mult_glv
    linkageType: ''
    returnType: void
    signature: "void blst_p1_mult(POINTonE1 *out, const POINTonE1 *a,\n                                  const
      byte *scalar, size_t nbits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE1_mult_w4
      Src: /src/blst/src/e1.c:539,1
    - Dst: vec_zero
      Src: /src/blst/src/e1.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - out
    - a
    - scalar
    - nbits
    argTypes:
    - POINTonE1*
    - POINTonE1*
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 542
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 542
    functionName: blst_p1_unchecked_mult
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - POINTonE1_mult_w4
    - vec_zero
    linkageType: ''
    returnType: void
    signature: "void blst_p1_unchecked_mult(POINTonE1 *out, const POINTonE1 *a,\n
      \                                           const byte *scalar, size_t nbits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_equal
      Src: /src/blst/src/e1.c:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - POINTonE1_affine*
    - POINTonE1_affine*
    constantsTouched: []
    func_position:
      end: 546
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 546
    functionName: blst_p1_affine_is_equal
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - vec_is_equal
    linkageType: ''
    returnType: int
    signature: "int blst_p1_affine_is_equal(const POINTonE1_affine *a,\n                            const
      POINTonE1_affine *b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/e1.c:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 549
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 549
    functionName: blst_p1_is_inf
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - vec_is_zero
    linkageType: ''
    returnType: int
    signature: int blst_p1_is_inf(const POINTonE1 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 552
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 552
    functionName: blst_p1_generator
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: POINTonE1
    signature: POINTonE1 *blst_p1_generator(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/e1.c:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINTonE1_affine*
    constantsTouched: []
    func_position:
      end: 555
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 555
    functionName: blst_p1_affine_is_inf
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached:
    - vec_is_zero
    linkageType: ''
    returnType: int
    signature: int blst_p1_affine_is_inf(const POINTonE1_affine *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 558
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 558
    functionName: blst_p1_affine_generator
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: POINTonE1_affine
    signature: POINTonE1_affine *blst_p1_affine_generator(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 561
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 561
    functionName: blst_p1_sizeof
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t blst_p1_sizeof(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 564
    functionName: blst_p1_affine_sizeof
    functionSourceFile: /src/blst/src/e1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t blst_p1_affine_sizeof(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/pentaroot.c:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - b
    argTypes:
    - vec256
    - vec256
    - vec256
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: mul_fr
    functionSourceFile: /src/blst/src/pentaroot.c
    functionUses: 0
    functionsReached:
    - mul_mont_sparse_256
    linkageType: ''
    returnType: void
    signature: void mul_fr(vec256 ret, const vec256 a, const vec256 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_mont_sparse_256
      Src: /src/blst/src/pentaroot.c:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec256
    - vec256
    constantsTouched: []
    func_position:
      end: 13
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 13
    functionName: sqr_fr
    functionSourceFile: /src/blst/src/pentaroot.c
    functionUses: 0
    functionsReached:
    - sqr_mont_sparse_256
    linkageType: ''
    returnType: void
    signature: void sqr_fr(vec256 ret, const vec256 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TO_BYTES
      Src: /src/blst/src/pentaroot.c:19,1
    - Dst: TO_BYTES
      Src: /src/blst/src/pentaroot.c:19,1
    - Dst: TO_BYTES
      Src: /src/blst/src/pentaroot.c:20,1
    - Dst: TO_BYTES
      Src: /src/blst/src/pentaroot.c:20,1
    - Dst: vec_copy
      Src: /src/blst/src/pentaroot.c:25,1
    - Dst: sqr_fr
      Src: /src/blst/src/pentaroot.c:28,1
    - Dst: is_bit_set
      Src: /src/blst/src/pentaroot.c:29,1
    - Dst: mul_fr
      Src: /src/blst/src/pentaroot.c:30,1
    - Dst: vec_copy
      Src: /src/blst/src/pentaroot.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec256
    - vec256
    constantsTouched: []
    func_position:
      end: 33
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 33
    functionName: blst_fr_pentaroot
    functionSourceFile: /src/blst/src/pentaroot.c
    functionUses: 0
    functionsReached:
    - sqr_fr
    - vec_copy
    - mul_fr
    - TO_BYTES
    - is_bit_set
    linkageType: ''
    returnType: void
    signature: void blst_fr_pentaroot(vec256 out, const vec256 inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_n_mul_mont_255
      Src: /src/blst/src/pentaroot.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - a
    - count
    - b
    argTypes:
    - vec256
    - vec256
    - size_t
    - vec256
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: sqr_n_mul_fr
    functionSourceFile: /src/blst/src/pentaroot.c
    functionUses: 0
    functionsReached:
    - sqr_n_mul_mont_255
    linkageType: ''
    returnType: void
    signature: "void sqr_n_mul_fr(vec256 out, const vec256 a, size_t count,\n                                const
      vec256 b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fr
      Src: /src/blst/src/pentaroot.c:48,1
    - Dst: mul_fr
      Src: /src/blst/src/pentaroot.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - out
    - a
    - count
    - b
    argTypes:
    - vec256
    - vec256
    - size_t
    - vec256
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: sqr_n_mul_fr
    functionSourceFile: /src/blst/src/pentaroot.c
    functionUses: 0
    functionsReached:
    - sqr_fr
    - mul_fr
    linkageType: ''
    returnType: void
    signature: "void sqr_n_mul_fr(vec256 out, const vec256 a, size_t count,\n                         const
      vec256 b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PENTAROOT_MOD_BLS12_381_r
      Src: /src/blst/src/pentaroot.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec256
    - vec256
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: blst_fr_pentaroot
    functionSourceFile: /src/blst/src/pentaroot.c
    functionUses: 0
    functionsReached:
    - PENTAROOT_MOD_BLS12_381_r
    linkageType: ''
    returnType: void
    signature: void blst_fr_pentaroot(vec256 out, const vec256 inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fr
      Src: /src/blst/src/pentaroot.c:73,1
    - Dst: sqr_fr
      Src: /src/blst/src/pentaroot.c:74,1
    - Dst: mul_fr
      Src: /src/blst/src/pentaroot.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec256
    - vec256
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: blst_fr_pentapow
    functionSourceFile: /src/blst/src/pentaroot.c
    functionUses: 0
    functionsReached:
    - sqr_fr
    - mul_fr
    linkageType: ''
    returnType: void
    signature: void blst_fr_pentapow(vec256 out, const vec256 inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - info
    - func
    - sub
    argTypes:
    - int[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 26
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 26
    functionName: __cpuidex
    functionSourceFile: /src/blst/src/cpuid.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void __cpuidex(int info[4], int func, int sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __cpuidex
      Src: /src/blst/src/cpuid.c:38,1
    - Dst: __cpuidex
      Src: /src/blst/src/cpuid.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 48
    functionName: __blst_cpuid
    functionSourceFile: /src/blst/src/cpuid.c
    functionUses: 0
    functionsReached:
    - __cpuidex
    linkageType: ''
    returnType: int
    signature: int __blst_cpuid(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: __blst_cpuid
    functionSourceFile: /src/blst/src/cpuid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int __blst_cpuid(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: __blst_cpuid
    functionSourceFile: /src/blst/src/cpuid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int __blst_cpuid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elf_aux_info
      Src: /src/blst/src/cpuid.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: __blst_cpuid
    functionSourceFile: /src/blst/src/cpuid.c
    functionUses: 0
    functionsReached:
    - elf_aux_info
    linkageType: ''
    returnType: int
    signature: int __blst_cpuid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsProcessorFeaturePresent
      Src: /src/blst/src/cpuid.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: __blst_cpuid
    functionSourceFile: /src/blst/src/cpuid.c
    functionUses: 0
    functionsReached:
    - IsProcessorFeaturePresent
    linkageType: ''
    returnType: int
    signature: int __blst_cpuid(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DisableThreadLibraryCalls
      Src: /src/blst/src/cpuid.c:124,1
    - Dst: __blst_cpuid
      Src: /src/blst/src/cpuid.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - hinstDLL
    - dwReason
    - lpvReserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: DllMain
    functionSourceFile: /src/blst/src/cpuid.c
    functionUses: 0
    functionsReached:
    - __blst_cpuid
    - DisableThreadLibraryCalls
    linkageType: ''
    returnType: BOOL
    signature: BOOL DllMain(HINSTANCE hinstDLL, DWORD dwReason, LPVOID lpvReserved)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - src
    - n
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: memcpy
    functionSourceFile: /src/blst/src/cpuid.c
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *memcpy(unsigned char *dst, const unsigned char *src, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - c
    - n
    argTypes:
    - unsigned char*
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: memset
    functionSourceFile: /src/blst/src/cpuid.c
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *memset(unsigned char *dst, int c, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - map
    - isogeny_map
    - Zz_powers
    - n
    argTypes:
    - vec384x[]
    - vec384x[]
    - vec384x[]
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: map_fp2_times_Zz
    functionSourceFile: /src/blst/src/map_to_g2.c
    functionUses: 0
    functionsReached:
    - mul_fp2
    linkageType: ''
    returnType: void
    signature: "void map_fp2_times_Zz(vec384x map[], const vec384x isogeny_map[],\n
      \                            const vec384x Zz_powers[], size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:38,1
    - Dst: add_fp2
      Src: /src/blst/src/map_to_g2.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - acc
    - x
    - map
    - n
    argTypes:
    - vec384x
    - vec384x
    - vec384x[]
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: map_fp2
    functionSourceFile: /src/blst/src/map_to_g2.c
    functionUses: 1
    functionsReached:
    - add_fp2
    - mul_fp2
    linkageType: ''
    returnType: void
    signature: void map_fp2(vec384x acc, const vec384x x, const vec384x map[], size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:51,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:51,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:52,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:52,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:53,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:53,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:54,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:54,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:55,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:55,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:56,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:56,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:58,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:58,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:59,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:59,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:60,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:60,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:61,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:61,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:62,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:62,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:63,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:63,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:64,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:64,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:65,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:65,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:66,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:66,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:67,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:67,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:68,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:68,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:69,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:69,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:77,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:77,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:78,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:78,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:79,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:79,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:80,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:80,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:81,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:81,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:82,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:82,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:83,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:83,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:84,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:84,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:85,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:85,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:93,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:93,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:94,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:94,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:95,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:95,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:96,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:96,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:97,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:97,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:98,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:98,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:100,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:100,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:101,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:101,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:102,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:102,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:103,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:103,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:104,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:104,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:105,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:105,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:106,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:106,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:107,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:107,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:108,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:108,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:109,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:109,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:110,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:110,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:111,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:111,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:118,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:118,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:119,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:119,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:120,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:120,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:121,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:121,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:122,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:122,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:123,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:123,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:125,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:125,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:126,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:126,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:127,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:127,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:128,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:128,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:129,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:129,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:130,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:130,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:131,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:131,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:132,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:132,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:133,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:133,1
    - Dst: sqr_fp2
      Src: /src/blst/src/map_to_g2.c:138,1
    - Dst: sqr_fp2
      Src: /src/blst/src/map_to_g2.c:139,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:140,1
    - Dst: map_fp2_times_Zz
      Src: /src/blst/src/map_to_g2.c:142,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:143,1
    - Dst: add_fp2
      Src: /src/blst/src/map_to_g2.c:144,1
    - Dst: map_fp2
      Src: /src/blst/src/map_to_g2.c:145,1
    - Dst: map_fp2_times_Zz
      Src: /src/blst/src/map_to_g2.c:147,1
    - Dst: add_fp2
      Src: /src/blst/src/map_to_g2.c:148,1
    - Dst: map_fp2
      Src: /src/blst/src/map_to_g2.c:149,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:150,1
    - Dst: map_fp2_times_Zz
      Src: /src/blst/src/map_to_g2.c:152,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:153,1
    - Dst: add_fp2
      Src: /src/blst/src/map_to_g2.c:154,1
    - Dst: map_fp2
      Src: /src/blst/src/map_to_g2.c:155,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:156,1
    - Dst: map_fp2_times_Zz
      Src: /src/blst/src/map_to_g2.c:158,1
    - Dst: add_fp2
      Src: /src/blst/src/map_to_g2.c:159,1
    - Dst: map_fp2
      Src: /src/blst/src/map_to_g2.c:160,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:161,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:162,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:165,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:166,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:167,1
    - Dst: sqr_fp2
      Src: /src/blst/src/map_to_g2.c:168,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:169,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 2
    argNames:
    - out
    - p
    argTypes:
    - POINTonE2*
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 171
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 171
    functionName: isogeny_map_to_E2
    functionSourceFile: /src/blst/src/map_to_g2.c
    functionUses: 0
    functionsReached:
    - map_fp2
    - mul_fp2
    - map_fp2_times_Zz
    - TO_LIMB_T
    - add_fp2
    - sqr_fp2
    linkageType: ''
    returnType: void
    signature: void isogeny_map_to_E2(POINTonE2 *out, const POINTonE2 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:177,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:177,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:178,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:178,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:179,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:179,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:182,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:182,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:183,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:183,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:184,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:184,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:185,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:185,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:186,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:186,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:187,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:187,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:190,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:190,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:191,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:191,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:192,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:192,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:193,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:193,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:194,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:194,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:195,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:195,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:199,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:199,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:200,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:200,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:201,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:201,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:203,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:203,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:204,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:204,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:205,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:205,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:208,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:208,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:209,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:209,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:210,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:210,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:211,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:211,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:212,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:212,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:213,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/map_to_g2.c:213,1
    - Dst: sqr_fp2
      Src: /src/blst/src/map_to_g2.c:235,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:236,1
    - Dst: sqr_fp2
      Src: /src/blst/src/map_to_g2.c:237,1
    - Dst: add_fp2
      Src: /src/blst/src/map_to_g2.c:238,1
    - Dst: add_fp2
      Src: /src/blst/src/map_to_g2.c:239,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:240,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:241,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:244,1
    - Dst: vec_is_zero
      Src: /src/blst/src/map_to_g2.c:245,1
    - Dst: vec_select
      Src: /src/blst/src/map_to_g2.c:246,1
    - Dst: sqr_fp2
      Src: /src/blst/src/map_to_g2.c:249,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:250,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:251,1
    - Dst: sqr_fp2
      Src: /src/blst/src/map_to_g2.c:252,1
    - Dst: add_fp2
      Src: /src/blst/src/map_to_g2.c:253,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:254,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:255,1
    - Dst: add_fp2
      Src: /src/blst/src/map_to_g2.c:256,1
    - Dst: sqr_fp2
      Src: /src/blst/src/map_to_g2.c:257,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:258,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:259,1
    - Dst: recip_sqrt_fp2
      Src: /src/blst/src/map_to_g2.c:260,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:262,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:263,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:264,1
    - Dst: vec_select
      Src: /src/blst/src/map_to_g2.c:267,1
    - Dst: vec_select
      Src: /src/blst/src/map_to_g2.c:268,1
    - Dst: sgn0_fp2
      Src: /src/blst/src/map_to_g2.c:270,1
    - Dst: sgn0_fp2
      Src: /src/blst/src/map_to_g2.c:271,1
    - Dst: cneg_fp2
      Src: /src/blst/src/map_to_g2.c:272,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:276,1
    - Dst: mul_fp2
      Src: /src/blst/src/map_to_g2.c:277,1
    - Dst: vec_copy
      Src: /src/blst/src/map_to_g2.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 2
    argNames:
    - p
    - u
    argTypes:
    - POINTonE2*
    - vec384x
    constantsTouched: []
    func_position:
      end: 290
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 290
    functionName: map_to_isogenous_E2
    functionSourceFile: /src/blst/src/map_to_g2.c
    functionUses: 0
    functionsReached:
    - vec_select
    - vec_copy
    - vec_is_zero
    - mul_fp2
    - TO_LIMB_T
    - add_fp2
    - cneg_fp2
    - sqr_fp2
    - recip_sqrt_fp2
    - sgn0_fp2
    linkageType: ''
    returnType: void
    signature: void map_to_isogenous_E2(POINTonE2 *p, const vec384x u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_mult_w5
      Src: /src/blst/src/map_to_g2.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - p
    argTypes:
    - POINTonE2*
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: clear_cofactor
    functionSourceFile: /src/blst/src/map_to_g2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_mult_w5
    linkageType: ''
    returnType: void
    signature: void clear_cofactor(POINTonE2 *out, const POINTonE2 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_dadd
      Src: /src/blst/src/map_to_g2.c:310,1
    - Dst: POINTonE2_double
      Src: /src/blst/src/map_to_g2.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out
    - p
    - n
    argTypes:
    - POINTonE2*
    - POINTonE2*
    - size_t
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: POINTonE2_add_n_dbl
    functionSourceFile: /src/blst/src/map_to_g2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_double
    - POINTonE2_dadd
    linkageType: ''
    returnType: void
    signature: void POINTonE2_add_n_dbl(POINTonE2 *out, const POINTonE2 *p, size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_double
      Src: /src/blst/src/map_to_g2.c:317,1
    - Dst: POINTonE2_add_n_dbl
      Src: /src/blst/src/map_to_g2.c:318,1
    - Dst: POINTonE2_add_n_dbl
      Src: /src/blst/src/map_to_g2.c:319,1
    - Dst: POINTonE2_add_n_dbl
      Src: /src/blst/src/map_to_g2.c:320,1
    - Dst: POINTonE2_add_n_dbl
      Src: /src/blst/src/map_to_g2.c:321,1
    - Dst: POINTonE2_add_n_dbl
      Src: /src/blst/src/map_to_g2.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE2*
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: POINTonE2_times_minus_z
    functionSourceFile: /src/blst/src/map_to_g2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_double
    - POINTonE2_add_n_dbl
    linkageType: ''
    returnType: void
    signature: void POINTonE2_times_minus_z(POINTonE2 *out, const POINTonE2 *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_double
      Src: /src/blst/src/map_to_g2.c:332,1
    - Dst: psi
      Src: /src/blst/src/map_to_g2.c:333,1
    - Dst: psi
      Src: /src/blst/src/map_to_g2.c:334,1
    - Dst: vec_copy
      Src: /src/blst/src/map_to_g2.c:336,1
    - Dst: POINTonE2_cneg
      Src: /src/blst/src/map_to_g2.c:337,1
    - Dst: psi
      Src: /src/blst/src/map_to_g2.c:338,1
    - Dst: POINTonE2_dadd
      Src: /src/blst/src/map_to_g2.c:339,1
    - Dst: POINTonE2_dadd
      Src: /src/blst/src/map_to_g2.c:340,1
    - Dst: POINTonE2_times_minus_z
      Src: /src/blst/src/map_to_g2.c:342,1
    - Dst: POINTonE2_dadd
      Src: /src/blst/src/map_to_g2.c:343,1
    - Dst: POINTonE2_dadd
      Src: /src/blst/src/map_to_g2.c:344,1
    - Dst: POINTonE2_times_minus_z
      Src: /src/blst/src/map_to_g2.c:345,1
    - Dst: POINTonE2_dadd
      Src: /src/blst/src/map_to_g2.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - out
    - p
    argTypes:
    - POINTonE2*
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 349
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 349
    functionName: clear_cofactor
    functionSourceFile: /src/blst/src/map_to_g2.c
    functionUses: 0
    functionsReached:
    - psi
    - POINTonE2_double
    - vec_copy
    - POINTonE2_cneg
    - POINTonE2_times_minus_z
    - POINTonE2_dadd
    linkageType: ''
    returnType: void
    signature: void clear_cofactor(POINTonE2 *out, const POINTonE2 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map_to_isogenous_E2
      Src: /src/blst/src/map_to_g2.c:359,1
    - Dst: map_to_isogenous_E2
      Src: /src/blst/src/map_to_g2.c:362,1
    - Dst: POINTonE2_dadd
      Src: /src/blst/src/map_to_g2.c:363,1
    - Dst: isogeny_map_to_E2
      Src: /src/blst/src/map_to_g2.c:366,1
    - Dst: clear_cofactor
      Src: /src/blst/src/map_to_g2.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - out
    - u
    - v
    argTypes:
    - POINTonE2*
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 368
      start: 355
    functionDepth: 4
    functionLinenumber: 355
    functionLinenumberEnd: 368
    functionName: map_to_g2
    functionSourceFile: /src/blst/src/map_to_g2.c
    functionUses: 0
    functionsReached:
    - isogeny_map_to_E2
    - clear_cofactor
    - map_to_isogenous_E2
    - POINTonE2_dadd
    linkageType: ''
    returnType: void
    signature: void map_to_g2(POINTonE2 *out, const vec384x u, const vec384x v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map_to_g2
      Src: /src/blst/src/map_to_g2.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - u
    - v
    argTypes:
    - POINTonE2*
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 371
      start: 370
    functionDepth: 5
    functionLinenumber: 370
    functionLinenumberEnd: 371
    functionName: blst_map_to_g2
    functionSourceFile: /src/blst/src/map_to_g2.c
    functionUses: 0
    functionsReached:
    - map_to_g2
    linkageType: ''
    returnType: void
    signature: void blst_map_to_g2(POINTonE2 *out, const vec384x u, const vec384x
      v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_to_field
      Src: /src/blst/src/map_to_g2.c:379,1
    - Dst: map_to_g2
      Src: /src/blst/src/map_to_g2.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - p
    - msg
    - msg_len
    - DST
    - DST_len
    - aug
    - aug_len
    argTypes:
    - POINTonE2*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 381
      start: 373
    functionDepth: 5
    functionLinenumber: 373
    functionLinenumberEnd: 381
    functionName: Encode_to_G2
    functionSourceFile: /src/blst/src/map_to_g2.c
    functionUses: 1
    functionsReached:
    - hash_to_field
    - map_to_g2
    linkageType: ''
    returnType: void
    signature: "void Encode_to_G2(POINTonE2 *p, const unsigned char *msg, size_t msg_len,\n
      \                                      const unsigned char *DST, size_t DST_len,\n
      \                                      const unsigned char *aug, size_t aug_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encode_to_G2
      Src: /src/blst/src/map_to_g2.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - p
    - msg
    - msg_len
    - DST
    - DST_len
    - aug
    - aug_len
    argTypes:
    - POINTonE2*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 6
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: blst_encode_to_g2
    functionSourceFile: /src/blst/src/map_to_g2.c
    functionUses: 0
    functionsReached:
    - Encode_to_G2
    linkageType: ''
    returnType: void
    signature: "void blst_encode_to_g2(POINTonE2 *p, const unsigned char *msg, size_t
      msg_len,\n                                     const unsigned char *DST, size_t
      DST_len,\n                                     const unsigned char *aug, size_t
      aug_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_to_field
      Src: /src/blst/src/map_to_g2.c:394,1
    - Dst: map_to_g2
      Src: /src/blst/src/map_to_g2.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - p
    - msg
    - msg_len
    - DST
    - DST_len
    - aug
    - aug_len
    argTypes:
    - POINTonE2*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 396
      start: 388
    functionDepth: 5
    functionLinenumber: 388
    functionLinenumberEnd: 396
    functionName: Hash_to_G2
    functionSourceFile: /src/blst/src/map_to_g2.c
    functionUses: 1
    functionsReached:
    - hash_to_field
    - map_to_g2
    linkageType: ''
    returnType: void
    signature: "void Hash_to_G2(POINTonE2 *p, const unsigned char *msg, size_t msg_len,\n
      \                                    const unsigned char *DST, size_t DST_len,\n
      \                                    const unsigned char *aug, size_t aug_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Hash_to_G2
      Src: /src/blst/src/map_to_g2.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - p
    - msg
    - msg_len
    - DST
    - DST_len
    - aug
    - aug_len
    argTypes:
    - POINTonE2*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 6
    functionLinenumber: 398
    functionLinenumberEnd: 401
    functionName: blst_hash_to_g2
    functionSourceFile: /src/blst/src/map_to_g2.c
    functionUses: 0
    functionsReached:
    - Hash_to_G2
    linkageType: ''
    returnType: void
    signature: "void blst_hash_to_g2(POINTonE2 *p, const unsigned char *msg, size_t
      msg_len,\n                                   const unsigned char *DST, size_t
      DST_len,\n                                   const unsigned char *aug, size_t
      aug_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psi
      Src: /src/blst/src/map_to_g2.c:409,1
    - Dst: psi
      Src: /src/blst/src/map_to_g2.c:410,1
    - Dst: psi
      Src: /src/blst/src/map_to_g2.c:411,1
    - Dst: POINTonE2_times_minus_z
      Src: /src/blst/src/map_to_g2.c:413,1
    - Dst: POINTonE2_dadd
      Src: /src/blst/src/map_to_g2.c:414,1
    - Dst: POINTonE2_cneg
      Src: /src/blst/src/map_to_g2.c:415,1
    - Dst: POINTonE2_dadd
      Src: /src/blst/src/map_to_g2.c:416,1
    - Dst: vec_is_zero
      Src: /src/blst/src/map_to_g2.c:418,1
    - Dst: psi
      Src: /src/blst/src/map_to_g2.c:423,1
    - Dst: POINTonE2_times_minus_z
      Src: /src/blst/src/map_to_g2.c:425,1
    - Dst: POINTonE2_cneg
      Src: /src/blst/src/map_to_g2.c:426,1
    - Dst: POINTonE2_is_equal
      Src: /src/blst/src/map_to_g2.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - P
    argTypes:
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 430
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 430
    functionName: POINTonE2_in_G2
    functionSourceFile: /src/blst/src/map_to_g2.c
    functionUses: 3
    functionsReached:
    - psi
    - POINTonE2_is_equal
    - vec_is_zero
    - POINTonE2_cneg
    - POINTonE2_times_minus_z
    - POINTonE2_dadd
    linkageType: ''
    returnType: bool_t
    signature: bool_t POINTonE2_in_G2(const POINTonE2 *P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_in_G2
      Src: /src/blst/src/map_to_g2.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 433
      start: 432
    functionDepth: 3
    functionLinenumber: 432
    functionLinenumberEnd: 433
    functionName: blst_p2_in_g2
    functionSourceFile: /src/blst/src/map_to_g2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_in_G2
    linkageType: ''
    returnType: int
    signature: int blst_p2_in_g2(const POINTonE2 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_copy
      Src: /src/blst/src/map_to_g2.c:439,1
    - Dst: vec_select
      Src: /src/blst/src/map_to_g2.c:440,1
    - Dst: vec_is_zero
      Src: /src/blst/src/map_to_g2.c:441,1
    - Dst: POINTonE2_in_G2
      Src: /src/blst/src/map_to_g2.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINTonE2_affine*
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 3
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: blst_p2_affine_in_g2
    functionSourceFile: /src/blst/src/map_to_g2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_in_G2
    - vec_copy
    - vec_select
    - vec_is_zero
    linkageType: ''
    returnType: int
    signature: int blst_p2_affine_in_g2(const POINTonE2_affine *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TO_BYTES
      Src: /src/blst/src/recip.c:19,1
    - Dst: TO_BYTES
      Src: /src/blst/src/recip.c:19,1
    - Dst: TO_BYTES
      Src: /src/blst/src/recip.c:20,1
    - Dst: TO_BYTES
      Src: /src/blst/src/recip.c:20,1
    - Dst: TO_BYTES
      Src: /src/blst/src/recip.c:21,1
    - Dst: TO_BYTES
      Src: /src/blst/src/recip.c:21,1
    - Dst: exp_mont_384
      Src: /src/blst/src/recip.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: flt_reciprocal_fp
    functionSourceFile: /src/blst/src/recip.c
    functionUses: 1
    functionsReached:
    - exp_mont_384
    - TO_BYTES
    linkageType: ''
    returnType: void
    signature: void flt_reciprocal_fp(vec384 out, const vec384 inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RECIPROCAL_MOD_BLS12_381_P
      Src: /src/blst/src/recip.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: flt_reciprocal_fp
    functionSourceFile: /src/blst/src/recip.c
    functionUses: 1
    functionsReached:
    - RECIPROCAL_MOD_BLS12_381_P
    linkageType: ''
    returnType: void
    signature: void flt_reciprocal_fp(vec384 out, const vec384 inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fp
      Src: /src/blst/src/recip.c:49,1
    - Dst: sqr_fp
      Src: /src/blst/src/recip.c:50,1
    - Dst: add_fp
      Src: /src/blst/src/recip.c:51,1
    - Dst: flt_reciprocal_fp
      Src: /src/blst/src/recip.c:52,1
    - Dst: mul_fp
      Src: /src/blst/src/recip.c:53,1
    - Dst: mul_fp
      Src: /src/blst/src/recip.c:54,1
    - Dst: neg_fp
      Src: /src/blst/src/recip.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: flt_reciprocal_fp2
    functionSourceFile: /src/blst/src/recip.c
    functionUses: 0
    functionsReached:
    - mul_fp
    - add_fp
    - flt_reciprocal_fp
    - neg_fp
    - sqr_fp
    linkageType: ''
    returnType: void
    signature: void flt_reciprocal_fp2(vec384x out, const vec384x inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TO_LIMB_T
      Src: /src/blst/src/recip.c:61,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/recip.c:61,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/recip.c:62,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/recip.c:62,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/recip.c:63,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/recip.c:63,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/recip.c:69,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/recip.c:69,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/recip.c:70,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/recip.c:70,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/recip.c:71,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/recip.c:71,1
    - Dst: ct_inverse_mod_383
      Src: /src/blst/src/recip.c:76,1
    - Dst: redc_mont_384
      Src: /src/blst/src/recip.c:77,1
    - Dst: mul_mont_384
      Src: /src/blst/src/recip.c:78,1
    - Dst: mul_mont_384
      Src: /src/blst/src/recip.c:82,1
    - Dst: vec_is_equal
      Src: /src/blst/src/recip.c:83,1
    - Dst: vec_is_zero
      Src: /src/blst/src/recip.c:84,1
    - Dst: vec_copy
      Src: /src/blst/src/recip.c:85,1
    - Dst: flt_reciprocal_fp
      Src: /src/blst/src/recip.c:87,1
    - Dst: vec_copy
      Src: /src/blst/src/recip.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 92
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 92
    functionName: reciprocal_fp
    functionSourceFile: /src/blst/src/recip.c
    functionUses: 4
    functionsReached:
    - mul_mont_384
    - flt_reciprocal_fp
    - vec_copy
    - vec_is_zero
    - TO_LIMB_T
    - ct_inverse_mod_383
    - redc_mont_384
    - vec_is_equal
    linkageType: ''
    returnType: void
    signature: void reciprocal_fp(vec384 out, const vec384 inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reciprocal_fp
      Src: /src/blst/src/recip.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: blst_fp_inverse
    functionSourceFile: /src/blst/src/recip.c
    functionUses: 0
    functionsReached:
    - reciprocal_fp
    linkageType: ''
    returnType: void
    signature: void blst_fp_inverse(vec384 out, const vec384 inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reciprocal_fp
      Src: /src/blst/src/recip.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: blst_fp_eucl_inverse
    functionSourceFile: /src/blst/src/recip.c
    functionUses: 0
    functionsReached:
    - reciprocal_fp
    linkageType: ''
    returnType: void
    signature: void blst_fp_eucl_inverse(vec384 ret, const vec384 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fp
      Src: /src/blst/src/recip.c:107,1
    - Dst: sqr_fp
      Src: /src/blst/src/recip.c:108,1
    - Dst: add_fp
      Src: /src/blst/src/recip.c:109,1
    - Dst: reciprocal_fp
      Src: /src/blst/src/recip.c:110,1
    - Dst: mul_fp
      Src: /src/blst/src/recip.c:111,1
    - Dst: mul_fp
      Src: /src/blst/src/recip.c:112,1
    - Dst: neg_fp
      Src: /src/blst/src/recip.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: reciprocal_fp2
    functionSourceFile: /src/blst/src/recip.c
    functionUses: 1
    functionsReached:
    - mul_fp
    - add_fp
    - neg_fp
    - reciprocal_fp
    - sqr_fp
    linkageType: ''
    returnType: void
    signature: void reciprocal_fp2(vec384x out, const vec384x inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reciprocal_fp2
      Src: /src/blst/src/recip.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 4
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: blst_fp2_inverse
    functionSourceFile: /src/blst/src/recip.c
    functionUses: 0
    functionsReached:
    - reciprocal_fp2
    linkageType: ''
    returnType: void
    signature: void blst_fp2_inverse(vec384x out, const vec384x inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reciprocal_fp2
      Src: /src/blst/src/recip.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: blst_fp2_eucl_inverse
    functionSourceFile: /src/blst/src/recip.c
    functionUses: 0
    functionsReached:
    - reciprocal_fp2
    linkageType: ''
    returnType: void
    signature: void blst_fp2_eucl_inverse(vec384x out, const vec384x inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TO_LIMB_T
      Src: /src/blst/src/recip.c:125,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/recip.c:125,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/recip.c:126,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/recip.c:126,1
    - Dst: ct_inverse_mod_256
      Src: /src/blst/src/recip.c:130,1
    - Dst: redc_mont_256
      Src: /src/blst/src/recip.c:131,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/recip.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec256
    - vec256
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: reciprocal_fr
    functionSourceFile: /src/blst/src/recip.c
    functionUses: 1
    functionsReached:
    - redc_mont_256
    - mul_mont_sparse_256
    - TO_LIMB_T
    - ct_inverse_mod_256
    linkageType: ''
    returnType: void
    signature: void reciprocal_fr(vec256 out, const vec256 inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reciprocal_fr
      Src: /src/blst/src/recip.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec256
    - vec256
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: blst_fr_inverse
    functionSourceFile: /src/blst/src/recip.c
    functionUses: 0
    functionsReached:
    - reciprocal_fr
    linkageType: ''
    returnType: void
    signature: void blst_fr_inverse(vec256 out, const vec256 inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reciprocal_fr
      Src: /src/blst/src/recip.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec256
    - vec256
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: blst_fr_eucl_inverse
    functionSourceFile: /src/blst/src/recip.c
    functionUses: 0
    functionsReached:
    - reciprocal_fr
    linkageType: ''
    returnType: void
    signature: void blst_fr_eucl_inverse(vec256 out, const vec256 inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - num
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 15
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 15
    functionName: bytes_zero
    functionSourceFile: /src/blst/src/bytes.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bytes_zero(unsigned char *a, size_t num)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ret
    - in
    - n
    argTypes:
    - limb_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 33
    functionName: limbs_from_be_bytes
    functionSourceFile: /src/blst/src/bytes.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void limbs_from_be_bytes(limb_t *restrict ret,\n                                       const
      unsigned char *in, size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - out
    - in
    - n
    argTypes:
    - unsigned char*
    - limb_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: be_bytes_from_limbs
    functionSourceFile: /src/blst/src/bytes.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void be_bytes_from_limbs(unsigned char *out, const limb_t *in,\n                                       size_t
      n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ret
    - in
    - n
    argTypes:
    - limb_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: limbs_from_le_bytes
    functionSourceFile: /src/blst/src/bytes.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void limbs_from_le_bytes(limb_t *restrict ret,\n                                       const
      unsigned char *in, size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - out
    - in
    - n
    argTypes:
    - unsigned char*
    - limb_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 88
    functionName: le_bytes_from_limbs
    functionSourceFile: /src/blst/src/bytes.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void le_bytes_from_limbs(unsigned char *out, const limb_t *in,\n                                       size_t
      n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nibble
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: hex_from_nibble
    functionSourceFile: /src/blst/src/bytes.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char hex_from_nibble(unsigned char nibble)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: nibble_from_hex
    functionSourceFile: /src/blst/src/bytes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char nibble_from_hex(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nibble_from_hex
      Src: /src/blst/src/bytes.h:120,1
    - Dst: bytes_zero
      Src: /src/blst/src/bytes.h:122,1
    - Dst: nibble_from_hex
      Src: /src/blst/src/bytes.h:126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - ret
    - sz
    - hex
    argTypes:
    - unsigned char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: bytes_from_hexascii
    functionSourceFile: /src/blst/src/bytes.h
    functionUses: 1
    functionsReached:
    - nibble_from_hex
    - bytes_zero
    linkageType: ''
    returnType: void
    signature: void bytes_from_hexascii(unsigned char *ret, size_t sz, const char
      *hex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nibble_from_hex
      Src: /src/blst/src/bytes.h:140,1
    - Dst: vec_zero
      Src: /src/blst/src/bytes.h:142,1
    - Dst: nibble_from_hex
      Src: /src/blst/src/bytes.h:146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - ret
    - sz
    - hex
    argTypes:
    - limb_t*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 150
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 150
    functionName: limbs_from_hexascii
    functionSourceFile: /src/blst/src/bytes.h
    functionUses: 4
    functionsReached:
    - nibble_from_hex
    - vec_zero
    linkageType: ''
    returnType: void
    signature: void limbs_from_hexascii(limb_t *ret, size_t sz, const char *hex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_zero
      Src: /src/blst/src/hash_to_field.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SHA256_CTX*
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: sha256_init_Zpad
    functionSourceFile: /src/blst/src/hash_to_field.c
    functionUses: 0
    functionsReached:
    - vec_zero
    linkageType: ''
    returnType: void
    signature: void sha256_init_Zpad(SHA256_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ret
    - a
    - b
    - num
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: vec_xor
    functionSourceFile: /src/blst/src/hash_to_field.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void vec_xor(void *restrict ret, const void *restrict a,\n                                        const
      void *restrict b, size_t num)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_init
      Src: /src/blst/src/hash_to_field.c:66,1
    - Dst: sha256_update
      Src: /src/blst/src/hash_to_field.c:67,1
    - Dst: sha256_update
      Src: /src/blst/src/hash_to_field.c:68,1
    - Dst: sha256_final
      Src: /src/blst/src/hash_to_field.c:69,1
    - Dst: vec_zero
      Src: /src/blst/src/hash_to_field.c:73,1
    - Dst: sha256_init_Zpad
      Src: /src/blst/src/hash_to_field.c:86,1
    - Dst: sha256_update
      Src: /src/blst/src/hash_to_field.c:87,1
    - Dst: sha256_update
      Src: /src/blst/src/hash_to_field.c:88,1
    - Dst: sha256_update
      Src: /src/blst/src/hash_to_field.c:93,1
    - Dst: sha256_final
      Src: /src/blst/src/hash_to_field.c:94,1
    - Dst: sha256_init_h
      Src: /src/blst/src/hash_to_field.c:96,1
    - Dst: vec_copy
      Src: /src/blst/src/hash_to_field.c:97,1
    - Dst: sha256_block_data_order
      Src: /src/blst/src/hash_to_field.c:99,1
    - Dst: sha256_emit
      Src: /src/blst/src/hash_to_field.c:100,1
    - Dst: sha256_init_h
      Src: /src/blst/src/hash_to_field.c:107,1
    - Dst: vec_xor
      Src: /src/blst/src/hash_to_field.c:108,1
    - Dst: sha256_block_data_order
      Src: /src/blst/src/hash_to_field.c:111,1
    - Dst: sha256_emit
      Src: /src/blst/src/hash_to_field.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 8
    argNames:
    - bytes
    - len_in_bytes
    - aug
    - aug_len
    - msg
    - msg_len
    - DST
    - DST_len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 114
    functionName: expand_message_xmd
    functionSourceFile: /src/blst/src/hash_to_field.c
    functionUses: 6
    functionsReached:
    - sha256_final
    - vec_xor
    - sha256_update
    - sha256_init_Zpad
    - sha256_emit
    - sha256_init
    - vec_copy
    - vec_zero
    - sha256_init_h
    - sha256_block_data_order
    linkageType: ''
    returnType: void
    signature: "void expand_message_xmd(unsigned char *bytes, size_t len_in_bytes,\n
      \                              const unsigned char *aug, size_t aug_len,\n                               const
      unsigned char *msg, size_t msg_len,\n                               const unsigned
      char *DST, size_t DST_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloca
      Src: /src/blst/src/hash_to_field.c:129,1
    - Dst: expand_message_xmd
      Src: /src/blst/src/hash_to_field.c:139,1
    - Dst: vec_zero
      Src: /src/blst/src/hash_to_field.c:142,1
    - Dst: limbs_from_be_bytes
      Src: /src/blst/src/hash_to_field.c:145,1
    - Dst: redc_mont_384
      Src: /src/blst/src/hash_to_field.c:150,1
    - Dst: mul_mont_384
      Src: /src/blst/src/hash_to_field.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 8
    argNames:
    - elems
    - nelems
    - aug
    - aug_len
    - msg
    - msg_len
    - DST
    - DST_len
    argTypes:
    - vec384[]
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 154
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 154
    functionName: hash_to_field
    functionSourceFile: /src/blst/src/hash_to_field.c
    functionUses: 4
    functionsReached:
    - mul_mont_384
    - expand_message_xmd
    - vec_zero
    - alloca
    - limbs_from_be_bytes
    - redc_mont_384
    linkageType: ''
    returnType: void
    signature: "void hash_to_field(vec384 elems[], size_t nelems,\n                          const
      unsigned char *aug, size_t aug_len,\n                          const unsigned
      char *msg, size_t msg_len,\n                          const unsigned char *DST,
      size_t DST_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloca
      Src: /src/blst/src/hash_to_field.c:167,1
    - Dst: expand_message_xmd
      Src: /src/blst/src/hash_to_field.c:169,1
    - Dst: vec_zero
      Src: /src/blst/src/hash_to_field.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - bytes
    - len_in_bytes
    - msg
    - msg_len
    - DST
    - DST_len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 177
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 177
    functionName: blst_expand_message_xmd
    functionSourceFile: /src/blst/src/hash_to_field.c
    functionUses: 0
    functionsReached:
    - alloca
    - expand_message_xmd
    - vec_zero
    linkageType: ''
    returnType: void
    signature: "void blst_expand_message_xmd(unsigned char *bytes, size_t len_in_bytes,\n
      \                            const unsigned char *msg, size_t msg_len,\n                             const
      unsigned char *DST, size_t DST_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_hcopy
      Src: /src/blst/src/keygen.c:23,1
    - Dst: vec_zero
      Src: /src/blst/src/keygen.c:25,1
    - Dst: vec_zero
      Src: /src/blst/src/keygen.c:31,1
    - Dst: sha256_init
      Src: /src/blst/src/keygen.c:33,1
    - Dst: sha256_update
      Src: /src/blst/src/keygen.c:34,1
    - Dst: sha256_final
      Src: /src/blst/src/keygen.c:35,1
    - Dst: sha256_bcopy
      Src: /src/blst/src/keygen.c:37,1
    - Dst: sha256_init
      Src: /src/blst/src/keygen.c:43,1
    - Dst: sha256_update
      Src: /src/blst/src/keygen.c:44,1
    - Dst: sha256_hcopy
      Src: /src/blst/src/keygen.c:45,1
    - Dst: sha256_init_h
      Src: /src/blst/src/keygen.c:50,1
    - Dst: sha256_block_data_order
      Src: /src/blst/src/keygen.c:51,1
    - Dst: vec_zero
      Src: /src/blst/src/keygen.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - K
    - K_len
    argTypes:
    - HMAC_SHA256_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 57
    functionName: HMAC_init
    functionSourceFile: /src/blst/src/keygen.c
    functionUses: 0
    functionsReached:
    - sha256_final
    - sha256_update
    - sha256_hcopy
    - sha256_init
    - vec_zero
    - sha256_init_h
    - sha256_block_data_order
    - sha256_bcopy
    linkageType: ''
    returnType: void
    signature: void HMAC_init(HMAC_SHA256_CTX *ctx, const void *K, size_t K_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_update
      Src: /src/blst/src/keygen.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - inp
    - len
    argTypes:
    - HMAC_SHA256_CTX*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: HMAC_update
    functionSourceFile: /src/blst/src/keygen.c
    functionUses: 0
    functionsReached:
    - sha256_update
    linkageType: ''
    returnType: void
    signature: "void HMAC_update(HMAC_SHA256_CTX *ctx, const unsigned char *inp,\n
      \                                             size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_final
      Src: /src/blst/src/keygen.c:65,1
    - Dst: sha256_hcopy
      Src: /src/blst/src/keygen.c:66,1
    - Dst: sha256_block_data_order
      Src: /src/blst/src/keygen.c:67,1
    - Dst: sha256_emit
      Src: /src/blst/src/keygen.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - md
    - ctx
    argTypes:
    - unsigned char[]
    - HMAC_SHA256_CTX*
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: HMAC_final
    functionSourceFile: /src/blst/src/keygen.c
    functionUses: 0
    functionsReached:
    - sha256_final
    - sha256_emit
    - sha256_block_data_order
    - sha256_hcopy
    linkageType: ''
    returnType: void
    signature: void HMAC_final(unsigned char md[32], HMAC_SHA256_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_init
      Src: /src/blst/src/keygen.c:81,1
    - Dst: HMAC_update
      Src: /src/blst/src/keygen.c:82,1
    - Dst: HMAC_update
      Src: /src/blst/src/keygen.c:86,1
    - Dst: HMAC_final
      Src: /src/blst/src/keygen.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - PRK
    - salt
    - salt_len
    - IKM
    - IKM_len
    - IKM_fixup
    - ctx
    argTypes:
    - unsigned char[]
    - void*
    - size_t
    - void*
    - size_t
    - __BLST_HKDF_TESTMODE__
    - HMAC_SHA256_CTX*
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: HKDF_Extract
    functionSourceFile: /src/blst/src/keygen.c
    functionUses: 0
    functionsReached:
    - HMAC_final
    - HMAC_init
    - HMAC_update
    linkageType: ''
    returnType: void
    signature: "void HKDF_Extract(unsigned char PRK[32],\n                         const
      void *salt, size_t salt_len,\n                         const void *IKM,  size_t
      IKM_len,\n#ifndef __BLST_HKDF_TESTMODE__\n                         int IKM_fixup,\n#endif\n
      \                        HMAC_SHA256_CTX *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_init
      Src: /src/blst/src/keygen.c:107,1
    - Dst: sha256_bcopy
      Src: /src/blst/src/keygen.c:110,1
    - Dst: HMAC_update
      Src: /src/blst/src/keygen.c:120,1
    - Dst: HMAC_final
      Src: /src/blst/src/keygen.c:121,1
    - Dst: sha256_hcopy
      Src: /src/blst/src/keygen.c:123,1
    - Dst: HMAC_init
      Src: /src/blst/src/keygen.c:126,1
    - Dst: HMAC_update
      Src: /src/blst/src/keygen.c:127,1
    - Dst: HMAC_update
      Src: /src/blst/src/keygen.c:128,1
    - Dst: HMAC_final
      Src: /src/blst/src/keygen.c:129,1
    - Dst: sha256_bcopy
      Src: /src/blst/src/keygen.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 7
    argNames:
    - OKM
    - L
    - PRK
    - info
    - info_len
    - info_fixup
    - ctx
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char[]
    - void*
    - size_t
    - __BLST_HKDF_TESTMODE__
    - HMAC_SHA256_CTX*
    constantsTouched: []
    func_position:
      end: 132
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 132
    functionName: HKDF_Expand
    functionSourceFile: /src/blst/src/keygen.c
    functionUses: 0
    functionsReached:
    - sha256_hcopy
    - HMAC_update
    - HMAC_final
    - sha256_bcopy
    - HMAC_init
    linkageType: ''
    returnType: void
    signature: "void HKDF_Expand(unsigned char *OKM, size_t L,\n                        const
      unsigned char PRK[32],\n                        const void *info, size_t info_len,\n#ifndef
      __BLST_HKDF_TESTMODE__\n                        int info_fixup,\n#endif\n                        HMAC_SHA256_CTX
      *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_zero
      Src: /src/blst/src/keygen.c:148,1
    - Dst: sha256_init
      Src: /src/blst/src/keygen.c:165,1
    - Dst: sha256_update
      Src: /src/blst/src/keygen.c:166,1
    - Dst: sha256_final
      Src: /src/blst/src/keygen.c:167,1
    - Dst: HKDF_Extract
      Src: /src/blst/src/keygen.c:174,1
    - Dst: HKDF_Expand
      Src: /src/blst/src/keygen.c:178,1
    - Dst: vec_zero
      Src: /src/blst/src/keygen.c:182,1
    - Dst: limbs_from_be_bytes
      Src: /src/blst/src/keygen.c:183,1
    - Dst: redc_mont_256
      Src: /src/blst/src/keygen.c:184,1
    - Dst: mul_mont_sparse_256
      Src: /src/blst/src/keygen.c:191,1
    - Dst: vec_is_zero
      Src: /src/blst/src/keygen.c:194,1
    - Dst: sha256_init
      Src: /src/blst/src/keygen.c:198,1
    - Dst: sha256_update
      Src: /src/blst/src/keygen.c:199,1
    - Dst: sha256_final
      Src: /src/blst/src/keygen.c:200,1
    - Dst: le_bytes_from_limbs
      Src: /src/blst/src/keygen.c:205,1
    - Dst: vec_zero
      Src: /src/blst/src/keygen.c:211,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 8
    argNames:
    - SK
    - IKM
    - IKM_len
    - salt
    - salt_len
    - info
    - info_len
    - version
    argTypes:
    - pow256
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 212
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 212
    functionName: keygen
    functionSourceFile: /src/blst/src/keygen.c
    functionUses: 5
    functionsReached:
    - sha256_final
    - sha256_update
    - HKDF_Expand
    - sha256_init
    - HKDF_Extract
    - vec_zero
    - vec_is_zero
    - le_bytes_from_limbs
    - limbs_from_be_bytes
    - mul_mont_sparse_256
    - redc_mont_256
    linkageType: ''
    returnType: void
    signature: "void keygen(pow256 SK, const void *IKM, size_t IKM_len,\n                              const
      void *salt, size_t salt_len,\n                              const void *info,
      size_t info_len,\n                              int version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keygen
      Src: /src/blst/src/keygen.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - SK
    - IKM
    - IKM_len
    - info
    - info_len
    argTypes:
    - pow256
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: blst_keygen
    functionSourceFile: /src/blst/src/keygen.c
    functionUses: 0
    functionsReached:
    - keygen
    linkageType: ''
    returnType: void
    signature: "void blst_keygen(pow256 SK, const void *IKM, size_t IKM_len,\n                            const
      void *info, size_t info_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keygen
      Src: /src/blst/src/keygen.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - SK
    - IKM
    - IKM_len
    - info
    - info_len
    argTypes:
    - pow256
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: blst_keygen_v3
    functionSourceFile: /src/blst/src/keygen.c
    functionUses: 0
    functionsReached:
    - keygen
    linkageType: ''
    returnType: void
    signature: "void blst_keygen_v3(pow256 SK, const void *IKM, size_t IKM_len,\n
      \                              const void *info, size_t info_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keygen
      Src: /src/blst/src/keygen.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - SK
    - IKM
    - IKM_len
    - salt
    - salt_len
    - info
    - info_len
    argTypes:
    - pow256
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: blst_keygen_v4_5
    functionSourceFile: /src/blst/src/keygen.c
    functionUses: 0
    functionsReached:
    - keygen
    linkageType: ''
    returnType: void
    signature: "void blst_keygen_v4_5(pow256 SK, const void *IKM, size_t IKM_len,\n
      \                                const void *salt, size_t salt_len,\n                                 const
      void *info, size_t info_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keygen
      Src: /src/blst/src/keygen.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - SK
    - IKM
    - IKM_len
    - salt
    - salt_len
    - info
    - info_len
    argTypes:
    - pow256
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: blst_keygen_v5
    functionSourceFile: /src/blst/src/keygen.c
    functionUses: 0
    functionsReached:
    - keygen
    linkageType: ''
    returnType: void
    signature: "void blst_keygen_v5(pow256 SK, const void *IKM, size_t IKM_len,\n
      \                              const void *salt, size_t salt_len,\n                               const
      void *info, size_t info_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keygen
      Src: /src/blst/src/keygen.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - SK
    - seed
    - seed_len
    argTypes:
    - pow256
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: blst_derive_master_eip2333
    functionSourceFile: /src/blst/src/keygen.c
    functionUses: 0
    functionsReached:
    - keygen
    linkageType: ''
    returnType: void
    signature: void blst_derive_master_eip2333(pow256 SK, const void *seed, size_t
      seed_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HKDF_Extract
      Src: /src/blst/src/keygen.c:260,1
    - Dst: HKDF_Expand
      Src: /src/blst/src/keygen.c:262,1
    - Dst: vec_zero
      Src: /src/blst/src/keygen.c:265,1
    - Dst: sha256_init_h
      Src: /src/blst/src/keygen.c:271,1
    - Dst: sha256_bcopy
      Src: /src/blst/src/keygen.c:272,1
    - Dst: sha256_block_data_order
      Src: /src/blst/src/keygen.c:273,1
    - Dst: sha256_emit
      Src: /src/blst/src/keygen.c:274,1
    - Dst: sha256_init
      Src: /src/blst/src/keygen.c:278,1
    - Dst: sha256_update
      Src: /src/blst/src/keygen.c:279,1
    - Dst: HKDF_Extract
      Src: /src/blst/src/keygen.c:286,1
    - Dst: HKDF_Expand
      Src: /src/blst/src/keygen.c:288,1
    - Dst: vec_zero
      Src: /src/blst/src/keygen.c:291,1
    - Dst: sha256_init_h
      Src: /src/blst/src/keygen.c:296,1
    - Dst: sha256_bcopy
      Src: /src/blst/src/keygen.c:297,1
    - Dst: sha256_block_data_order
      Src: /src/blst/src/keygen.c:298,1
    - Dst: sha256_emit
      Src: /src/blst/src/keygen.c:299,1
    - Dst: sha256_update
      Src: /src/blst/src/keygen.c:303,1
    - Dst: sha256_final
      Src: /src/blst/src/keygen.c:304,1
    - Dst: vec_zero
      Src: /src/blst/src/keygen.c:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - PK
    - parent_SK
    - index
    argTypes:
    - pow256
    - pow256
    - unsigned int
    constantsTouched: []
    func_position:
      end: 311
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 311
    functionName: parent_SK_to_lamport_PK
    functionSourceFile: /src/blst/src/keygen.c
    functionUses: 0
    functionsReached:
    - sha256_final
    - HKDF_Expand
    - sha256_update
    - sha256_emit
    - sha256_init
    - vec_zero
    - HKDF_Extract
    - sha256_init_h
    - sha256_block_data_order
    - sha256_bcopy
    linkageType: ''
    returnType: void
    signature: "void parent_SK_to_lamport_PK(pow256 PK, const pow256 parent_SK,\n
      \                                   unsigned int index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parent_SK_to_lamport_PK
      Src: /src/blst/src/keygen.c:316,1
    - Dst: keygen
      Src: /src/blst/src/keygen.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - SK
    - parent_SK
    - child_index
    argTypes:
    - pow256
    - pow256
    - unsigned int
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 4
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: blst_derive_child_eip2333
    functionSourceFile: /src/blst/src/keygen.c
    functionUses: 0
    functionsReached:
    - keygen
    - parent_SK_to_lamport_PK
    linkageType: ''
    returnType: void
    signature: "void blst_derive_child_eip2333(pow256 SK, const pow256 parent_SK,\n
      \                              unsigned int child_index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_mod_384
      Src: /src/blst/src/vect.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - ret
    - a
    - n
    - mod
    argTypes:
    - vec384
    - vec384
    - size_t
    - vec384
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: lshift_mod_384
    functionSourceFile: /src/blst/src/vect.c
    functionUses: 4
    functionsReached:
    - add_mod_384
    linkageType: ''
    returnType: void
    signature: "void lshift_mod_384(vec384 ret, const vec384 a, size_t n,\n                           const
      vec384 mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lshift_mod_384
      Src: /src/blst/src/vect.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - a
    - mod
    argTypes:
    - vec384
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: mul_by_8_mod_384
    functionSourceFile: /src/blst/src/vect.c
    functionUses: 1
    functionsReached:
    - lshift_mod_384
    linkageType: ''
    returnType: void
    signature: void mul_by_8_mod_384(vec384 ret, const vec384 a, const vec384 mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_mod_384
      Src: /src/blst/src/vect.c:39,1
    - Dst: add_mod_384
      Src: /src/blst/src/vect.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ret
    - a
    - mod
    argTypes:
    - vec384
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: mul_by_3_mod_384
    functionSourceFile: /src/blst/src/vect.c
    functionUses: 1
    functionsReached:
    - add_mod_384
    linkageType: ''
    returnType: void
    signature: void mul_by_3_mod_384(vec384 ret, const vec384 a, const vec384 mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_by_3_mod_384
      Src: /src/blst/src/vect.c:47,1
    - Dst: mul_by_3_mod_384
      Src: /src/blst/src/vect.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ret
    - a
    - mod
    argTypes:
    - vec384x
    - vec384x
    - vec384
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: mul_by_3_mod_384x
    functionSourceFile: /src/blst/src/vect.c
    functionUses: 1
    functionsReached:
    - mul_by_3_mod_384
    linkageType: ''
    returnType: void
    signature: void mul_by_3_mod_384x(vec384x ret, const vec384x a, const vec384 mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_by_8_mod_384
      Src: /src/blst/src/vect.c:55,1
    - Dst: mul_by_8_mod_384
      Src: /src/blst/src/vect.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ret
    - a
    - mod
    argTypes:
    - vec384x
    - vec384x
    - vec384
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: mul_by_8_mod_384x
    functionSourceFile: /src/blst/src/vect.c
    functionUses: 1
    functionsReached:
    - mul_by_8_mod_384
    linkageType: ''
    returnType: void
    signature: void mul_by_8_mod_384x(vec384x ret, const vec384x a, const vec384 mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_mod_384
      Src: /src/blst/src/vect.c:66,1
    - Dst: sub_mod_384
      Src: /src/blst/src/vect.c:67,1
    - Dst: vec_copy
      Src: /src/blst/src/vect.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ret
    - a
    - mod
    argTypes:
    - vec384x
    - vec384x
    - vec384
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: mul_by_1_plus_i_mod_384x
    functionSourceFile: /src/blst/src/vect.c
    functionUses: 1
    functionsReached:
    - sub_mod_384
    - vec_copy
    - add_mod_384
    linkageType: ''
    returnType: void
    signature: "void mul_by_1_plus_i_mod_384x(vec384x ret, const vec384x a,\n                                     const
      vec384 mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_mod_384
      Src: /src/blst/src/vect.c:76,1
    - Dst: add_mod_384
      Src: /src/blst/src/vect.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ret
    - a
    - b
    - mod
    argTypes:
    - vec384x
    - vec384x
    - vec384x
    - vec384
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: add_mod_384x
    functionSourceFile: /src/blst/src/vect.c
    functionUses: 1
    functionsReached:
    - add_mod_384
    linkageType: ''
    returnType: void
    signature: "void add_mod_384x(vec384x ret, const vec384x a, const vec384x b,\n
      \                        const vec384 mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub_mod_384
      Src: /src/blst/src/vect.c:85,1
    - Dst: sub_mod_384
      Src: /src/blst/src/vect.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ret
    - a
    - b
    - mod
    argTypes:
    - vec384x
    - vec384x
    - vec384x
    - vec384
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: sub_mod_384x
    functionSourceFile: /src/blst/src/vect.c
    functionUses: 1
    functionsReached:
    - sub_mod_384
    linkageType: ''
    returnType: void
    signature: "void sub_mod_384x(vec384x ret, const vec384x a, const vec384x b,\n
      \                        const vec384 mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lshift_mod_384
      Src: /src/blst/src/vect.c:94,1
    - Dst: lshift_mod_384
      Src: /src/blst/src/vect.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ret
    - a
    - n
    - mod
    argTypes:
    - vec384x
    - vec384x
    - size_t
    - vec384
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: lshift_mod_384x
    functionSourceFile: /src/blst/src/vect.c
    functionUses: 0
    functionsReached:
    - lshift_mod_384
    linkageType: ''
    returnType: void
    signature: "void lshift_mod_384x(vec384x ret, const vec384x a, size_t n,\n                            const
      vec384 mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_384
      Src: /src/blst/src/vect.c:106,1
    - Dst: mul_384
      Src: /src/blst/src/vect.c:107,1
    - Dst: add_mod_384
      Src: /src/blst/src/vect.c:109,1
    - Dst: add_mod_384
      Src: /src/blst/src/vect.c:110,1
    - Dst: mul_384
      Src: /src/blst/src/vect.c:111,1
    - Dst: sub_mod_384x384
      Src: /src/blst/src/vect.c:112,1
    - Dst: sub_mod_384x384
      Src: /src/blst/src/vect.c:113,1
    - Dst: sub_mod_384x384
      Src: /src/blst/src/vect.c:115,1
    - Dst: redc_mont_384
      Src: /src/blst/src/vect.c:117,1
    - Dst: redc_mont_384
      Src: /src/blst/src/vect.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - ret
    - a
    - b
    - mod
    - n0
    argTypes:
    - vec384x
    - vec384x
    - vec384x
    - vec384
    - limb_t
    constantsTouched: []
    func_position:
      end: 119
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 119
    functionName: mul_mont_384x
    functionSourceFile: /src/blst/src/vect.c
    functionUses: 1
    functionsReached:
    - mul_384
    - redc_mont_384
    - sub_mod_384x384
    - add_mod_384
    linkageType: ''
    returnType: void
    signature: "void mul_mont_384x(vec384x ret, const vec384x a, const vec384x b,\n
      \                  const vec384 mod, limb_t n0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_mod_384
      Src: /src/blst/src/vect.c:127,1
    - Dst: sub_mod_384
      Src: /src/blst/src/vect.c:128,1
    - Dst: mul_mont_384
      Src: /src/blst/src/vect.c:130,1
    - Dst: add_mod_384
      Src: /src/blst/src/vect.c:131,1
    - Dst: mul_mont_384
      Src: /src/blst/src/vect.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ret
    - a
    - mod
    - n0
    argTypes:
    - vec384x
    - vec384x
    - vec384
    - limb_t
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: sqr_mont_384x
    functionSourceFile: /src/blst/src/vect.c
    functionUses: 1
    functionsReached:
    - sub_mod_384
    - mul_mont_384
    - add_mod_384
    linkageType: ''
    returnType: void
    signature: void sqr_mont_384x(vec384x ret, const vec384x a, const vec384 mod,
      limb_t n0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TO_LIMB_T
      Src: /src/blst/src/vect.c:146,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/vect.c:147,1
    - Dst: div_3_limbs
      Src: /src/blst/src/vect.c:154,1
    - Dst: quot_rem_128
      Src: /src/blst/src/vect.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - limb_t[]
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: div_by_zz
    functionSourceFile: /src/blst/src/vect.c
    functionUses: 1
    functionsReached:
    - div_3_limbs
    - TO_LIMB_T
    - quot_rem_128
    linkageType: ''
    returnType: void
    signature: void div_by_zz(limb_t val[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TO_LIMB_T
      Src: /src/blst/src/vect.c:165,1
    - Dst: div_3_limbs
      Src: /src/blst/src/vect.c:172,1
    - Dst: quot_rem_64
      Src: /src/blst/src/vect.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - limb_t[]
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: div_by_z
    functionSourceFile: /src/blst/src/vect.c
    functionUses: 0
    functionsReached:
    - div_3_limbs
    - TO_LIMB_T
    - quot_rem_64
    linkageType: ''
    returnType: void
    signature: void div_by_z(limb_t val[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TO_BYTES
      Src: /src/blst/src/sqrt.c:13,1
    - Dst: TO_BYTES
      Src: /src/blst/src/sqrt.c:13,1
    - Dst: TO_BYTES
      Src: /src/blst/src/sqrt.c:14,1
    - Dst: TO_BYTES
      Src: /src/blst/src/sqrt.c:14,1
    - Dst: TO_BYTES
      Src: /src/blst/src/sqrt.c:15,1
    - Dst: TO_BYTES
      Src: /src/blst/src/sqrt.c:15,1
    - Dst: exp_mont_384
      Src: /src/blst/src/sqrt.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: recip_sqrt_fp_3mod4
    functionSourceFile: /src/blst/src/sqrt.c
    functionUses: 0
    functionsReached:
    - exp_mont_384
    - TO_BYTES
    linkageType: ''
    returnType: void
    signature: void recip_sqrt_fp_3mod4(vec384 out, const vec384 inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_n_mul_mont_383
      Src: /src/blst/src/sqrt.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - a
    - count
    - b
    argTypes:
    - vec384
    - vec384
    - size_t
    - vec384
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: sqr_n_mul_fp
    functionSourceFile: /src/blst/src/sqrt.c
    functionUses: 0
    functionsReached:
    - sqr_n_mul_mont_383
    linkageType: ''
    returnType: void
    signature: "void sqr_n_mul_fp(vec384 out, const vec384 a, size_t count,\n                                const
      vec384 b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fp
      Src: /src/blst/src/sqrt.c:36,1
    - Dst: mul_fp
      Src: /src/blst/src/sqrt.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - out
    - a
    - count
    - b
    argTypes:
    - vec384
    - vec384
    - size_t
    - vec384
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: sqr_n_mul_fp
    functionSourceFile: /src/blst/src/sqrt.c
    functionUses: 0
    functionsReached:
    - mul_fp
    - sqr_fp
    linkageType: ''
    returnType: void
    signature: "void sqr_n_mul_fp(vec384 out, const vec384 a, size_t count,\n                         const
      vec384 b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RECIP_SQRT_MOD_BLS12_381_P
      Src: /src/blst/src/sqrt.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: recip_sqrt_fp_3mod4
    functionSourceFile: /src/blst/src/sqrt.c
    functionUses: 0
    functionsReached:
    - RECIP_SQRT_MOD_BLS12_381_P
    linkageType: ''
    returnType: void
    signature: void recip_sqrt_fp_3mod4(vec384 out, const vec384 inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recip_sqrt_fp_3mod4
      Src: /src/blst/src/sqrt.c:64,1
    - Dst: mul_fp
      Src: /src/blst/src/sqrt.c:66,1
    - Dst: sqr_fp
      Src: /src/blst/src/sqrt.c:67,1
    - Dst: vec_is_equal
      Src: /src/blst/src/sqrt.c:68,1
    - Dst: vec_copy
      Src: /src/blst/src/sqrt.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: recip_sqrt_fp
    functionSourceFile: /src/blst/src/sqrt.c
    functionUses: 1
    functionsReached:
    - mul_fp
    - recip_sqrt_fp_3mod4
    - vec_copy
    - sqr_fp
    - vec_is_equal
    linkageType: ''
    returnType: bool_t
    signature: bool_t recip_sqrt_fp(vec384 out, const vec384 inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recip_sqrt_fp_3mod4
      Src: /src/blst/src/sqrt.c:79,1
    - Dst: mul_fp
      Src: /src/blst/src/sqrt.c:81,1
    - Dst: sqr_fp
      Src: /src/blst/src/sqrt.c:82,1
    - Dst: vec_is_equal
      Src: /src/blst/src/sqrt.c:83,1
    - Dst: vec_copy
      Src: /src/blst/src/sqrt.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: sqrt_fp
    functionSourceFile: /src/blst/src/sqrt.c
    functionUses: 2
    functionsReached:
    - mul_fp
    - recip_sqrt_fp_3mod4
    - vec_copy
    - sqr_fp
    - vec_is_equal
    linkageType: ''
    returnType: bool_t
    signature: bool_t sqrt_fp(vec384 out, const vec384 inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqrt_fp
      Src: /src/blst/src/sqrt.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec384
    - vec384
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: blst_fp_sqrt
    functionSourceFile: /src/blst/src/sqrt.c
    functionUses: 0
    functionsReached:
    - sqrt_fp
    linkageType: ''
    returnType: int
    signature: int blst_fp_sqrt(vec384 out, const vec384 inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ct_is_square_mod_384
      Src: /src/blst/src/sqrt.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inp
    argTypes:
    - vec384
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: blst_fp_is_square
    functionSourceFile: /src/blst/src/sqrt.c
    functionUses: 0
    functionsReached:
    - ct_is_square_mod_384
    linkageType: ''
    returnType: int
    signature: int blst_fp_is_square(const vec384 inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:107,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:107,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:108,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:108,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:109,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:109,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:110,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:110,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:111,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:111,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:112,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:112,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:115,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:115,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:116,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:116,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:117,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:117,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:118,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:118,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:119,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:119,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:120,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/sqrt.c:120,1
    - Dst: sqr_fp2
      Src: /src/blst/src/sqrt.c:130,1
    - Dst: sub_fp2
      Src: /src/blst/src/sqrt.c:134,1
    - Dst: vec_is_zero
      Src: /src/blst/src/sqrt.c:135,1
    - Dst: vec_copy
      Src: /src/blst/src/sqrt.c:136,1
    - Dst: add_fp2
      Src: /src/blst/src/sqrt.c:139,1
    - Dst: vec_select
      Src: /src/blst/src/sqrt.c:140,1
    - Dst: vec_is_zero
      Src: /src/blst/src/sqrt.c:141,1
    - Dst: sub_fp
      Src: /src/blst/src/sqrt.c:145,1
    - Dst: add_fp
      Src: /src/blst/src/sqrt.c:146,1
    - Dst: vec_select
      Src: /src/blst/src/sqrt.c:147,1
    - Dst: vec_is_zero
      Src: /src/blst/src/sqrt.c:148,1
    - Dst: add_fp
      Src: /src/blst/src/sqrt.c:152,1
    - Dst: sub_fp
      Src: /src/blst/src/sqrt.c:153,1
    - Dst: vec_select
      Src: /src/blst/src/sqrt.c:154,1
    - Dst: vec_is_zero
      Src: /src/blst/src/sqrt.c:155,1
    - Dst: mul_fp2
      Src: /src/blst/src/sqrt.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 4
    argNames:
    - out
    - ret
    - sqrt
    - inp
    argTypes:
    - vec384x
    - vec384x
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 162
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 162
    functionName: sqrt_align_fp2
    functionSourceFile: /src/blst/src/sqrt.c
    functionUses: 0
    functionsReached:
    - sub_fp2
    - sub_fp
    - vec_select
    - add_fp
    - vec_copy
    - vec_is_zero
    - mul_fp2
    - TO_LIMB_T
    - add_fp2
    - sqr_fp2
    linkageType: ''
    returnType: bool_t
    signature: "bool_t sqrt_align_fp2(vec384x out, const vec384x ret,\n                             const
      vec384x sqrt, const vec384x inp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fp
      Src: /src/blst/src/sqrt.c:175,1
    - Dst: sqr_fp
      Src: /src/blst/src/sqrt.c:176,1
    - Dst: add_fp
      Src: /src/blst/src/sqrt.c:177,1
    - Dst: recip_sqrt_fp
      Src: /src/blst/src/sqrt.c:179,1
    - Dst: mul_fp2
      Src: /src/blst/src/sqrt.c:182,1
    - Dst: mul_fp
      Src: /src/blst/src/sqrt.c:187,1
    - Dst: mul_fp
      Src: /src/blst/src/sqrt.c:188,1
    - Dst: vec_select
      Src: /src/blst/src/sqrt.c:189,1
    - Dst: vec_select
      Src: /src/blst/src/sqrt.c:190,1
    - Dst: vec_select
      Src: /src/blst/src/sqrt.c:192,1
    - Dst: mul_fp
      Src: /src/blst/src/sqrt.c:194,1
    - Dst: sub_fp
      Src: /src/blst/src/sqrt.c:196,1
    - Dst: add_fp
      Src: /src/blst/src/sqrt.c:197,1
    - Dst: vec_select
      Src: /src/blst/src/sqrt.c:198,1
    - Dst: vec_is_zero
      Src: /src/blst/src/sqrt.c:198,1
    - Dst: div_by_2_fp
      Src: /src/blst/src/sqrt.c:199,1
    - Dst: recip_sqrt_fp
      Src: /src/blst/src/sqrt.c:202,1
    - Dst: div_by_2_fp
      Src: /src/blst/src/sqrt.c:204,1
    - Dst: mul_fp
      Src: /src/blst/src/sqrt.c:205,1
    - Dst: mul_fp
      Src: /src/blst/src/sqrt.c:206,1
    - Dst: sqrt_align_fp2
      Src: /src/blst/src/sqrt.c:209,1
    - Dst: mul_fp
      Src: /src/blst/src/sqrt.c:211,1
    - Dst: mul_fp
      Src: /src/blst/src/sqrt.c:212,1
    - Dst: neg_fp
      Src: /src/blst/src/sqrt.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 4
    argNames:
    - out
    - inp
    - recip_ZZZ
    - magic_ZZZ
    argTypes:
    - vec384x
    - vec384x
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 216
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 216
    functionName: recip_sqrt_fp2
    functionSourceFile: /src/blst/src/sqrt.c
    functionUses: 1
    functionsReached:
    - mul_fp
    - sub_fp
    - div_by_2_fp
    - add_fp
    - vec_select
    - recip_sqrt_fp
    - neg_fp
    - mul_fp2
    - vec_is_zero
    - sqrt_align_fp2
    - sqr_fp
    linkageType: ''
    returnType: bool_t
    signature: "bool_t recip_sqrt_fp2(vec384x out, const vec384x inp,\n                                          const
      vec384x recip_ZZZ,\n                                          const vec384x
      magic_ZZZ)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fp
      Src: /src/blst/src/sqrt.c:223,1
    - Dst: sqr_fp
      Src: /src/blst/src/sqrt.c:224,1
    - Dst: add_fp
      Src: /src/blst/src/sqrt.c:225,1
    - Dst: sqrt_fp
      Src: /src/blst/src/sqrt.c:228,1
    - Dst: sub_fp
      Src: /src/blst/src/sqrt.c:230,1
    - Dst: add_fp
      Src: /src/blst/src/sqrt.c:231,1
    - Dst: vec_select
      Src: /src/blst/src/sqrt.c:232,1
    - Dst: vec_is_zero
      Src: /src/blst/src/sqrt.c:232,1
    - Dst: div_by_2_fp
      Src: /src/blst/src/sqrt.c:233,1
    - Dst: recip_sqrt_fp
      Src: /src/blst/src/sqrt.c:236,1
    - Dst: div_by_2_fp
      Src: /src/blst/src/sqrt.c:238,1
    - Dst: mul_fp
      Src: /src/blst/src/sqrt.c:239,1
    - Dst: mul_fp
      Src: /src/blst/src/sqrt.c:240,1
    - Dst: sqrt_align_fp2
      Src: /src/blst/src/sqrt.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 247
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 247
    functionName: sqrt_fp2
    functionSourceFile: /src/blst/src/sqrt.c
    functionUses: 1
    functionsReached:
    - mul_fp
    - sub_fp
    - div_by_2_fp
    - add_fp
    - vec_select
    - recip_sqrt_fp
    - vec_is_zero
    - sqrt_fp
    - sqrt_align_fp2
    - sqr_fp
    linkageType: ''
    returnType: bool_t
    signature: bool_t sqrt_fp2(vec384x out, const vec384x inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqrt_fp2
      Src: /src/blst/src/sqrt.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - inp
    argTypes:
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 4
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: blst_fp2_sqrt
    functionSourceFile: /src/blst/src/sqrt.c
    functionUses: 0
    functionsReached:
    - sqrt_fp2
    linkageType: ''
    returnType: int
    signature: int blst_fp2_sqrt(vec384x out, const vec384x inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fp
      Src: /src/blst/src/sqrt.c:256,1
    - Dst: sqr_fp
      Src: /src/blst/src/sqrt.c:257,1
    - Dst: add_fp
      Src: /src/blst/src/sqrt.c:258,1
    - Dst: ct_is_square_mod_384
      Src: /src/blst/src/sqrt.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - inp
    argTypes:
    - vec384x
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: blst_fp2_is_square
    functionSourceFile: /src/blst/src/sqrt.c
    functionUses: 0
    functionsReached:
    - sqr_fp
    - ct_is_square_mod_384
    - add_fp
    linkageType: ''
    returnType: int
    signature: int blst_fp2_is_square(const vec384x inp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fp2
      Src: /src/blst/src/pairing.c:28,1
    - Dst: mul_fp2
      Src: /src/blst/src/pairing.c:29,1
    - Dst: mul_fp2
      Src: /src/blst/src/pairing.c:31,1
    - Dst: mul_fp2
      Src: /src/blst/src/pairing.c:32,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:34,1
    - Dst: sqr_fp2
      Src: /src/blst/src/pairing.c:36,1
    - Dst: add_fp2
      Src: /src/blst/src/pairing.c:37,1
    - Dst: add_fp2
      Src: /src/blst/src/pairing.c:38,1
    - Dst: mul_fp2
      Src: /src/blst/src/pairing.c:40,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:42,1
    - Dst: add_fp2
      Src: /src/blst/src/pairing.c:43,1
    - Dst: mul_fp2
      Src: /src/blst/src/pairing.c:45,1
    - Dst: sqr_fp2
      Src: /src/blst/src/pairing.c:47,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:48,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:49,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:50,1
    - Dst: mul_fp2
      Src: /src/blst/src/pairing.c:52,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:53,1
    - Dst: mul_fp2
      Src: /src/blst/src/pairing.c:54,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:55,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:56,1
    - Dst: add_fp2
      Src: /src/blst/src/pairing.c:58,1
    - Dst: sqr_fp2
      Src: /src/blst/src/pairing.c:59,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:60,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:61,1
    - Dst: mul_fp2
      Src: /src/blst/src/pairing.c:66,1
    - Dst: mul_fp2
      Src: /src/blst/src/pairing.c:67,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:68,1
    - Dst: add_fp2
      Src: /src/blst/src/pairing.c:69,1
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:73,1
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 4
    argNames:
    - line
    - T
    - R
    - Q
    argTypes:
    - vec384fp6
    - POINTonE2*
    - POINTonE2*
    - POINTonE2_affine*
    constantsTouched: []
    func_position:
      end: 76
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 76
    functionName: line_add
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - sub_fp2
    - vec_copy
    - mul_fp2
    - add_fp2
    - sqr_fp2
    linkageType: ''
    returnType: void
    signature: "void line_add(vec384fp6 line, POINTonE2 *T, const POINTonE2 *R,\n
      \                                                  const POINTonE2_affine *Q)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fp2
      Src: /src/blst/src/pairing.c:85,1
    - Dst: sqr_fp2
      Src: /src/blst/src/pairing.c:86,1
    - Dst: sqr_fp2
      Src: /src/blst/src/pairing.c:87,1
    - Dst: sqr_fp2
      Src: /src/blst/src/pairing.c:88,1
    - Dst: add_fp2
      Src: /src/blst/src/pairing.c:90,1
    - Dst: sqr_fp2
      Src: /src/blst/src/pairing.c:91,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:92,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:93,1
    - Dst: add_fp2
      Src: /src/blst/src/pairing.c:94,1
    - Dst: mul_by_3_fp2
      Src: /src/blst/src/pairing.c:96,1
    - Dst: sqr_fp2
      Src: /src/blst/src/pairing.c:97,1
    - Dst: add_fp2
      Src: /src/blst/src/pairing.c:99,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:101,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:102,1
    - Dst: add_fp2
      Src: /src/blst/src/pairing.c:104,1
    - Dst: sqr_fp2
      Src: /src/blst/src/pairing.c:105,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:106,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:107,1
    - Dst: mul_by_8_fp2
      Src: /src/blst/src/pairing.c:109,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:110,1
    - Dst: mul_fp2
      Src: /src/blst/src/pairing.c:111,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:112,1
    - Dst: sqr_fp2
      Src: /src/blst/src/pairing.c:117,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:118,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:119,1
    - Dst: lshift_fp2
      Src: /src/blst/src/pairing.c:120,1
    - Dst: sub_fp2
      Src: /src/blst/src/pairing.c:121,1
    - Dst: mul_fp2
      Src: /src/blst/src/pairing.c:123,1
    - Dst: mul_fp2
      Src: /src/blst/src/pairing.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 3
    argNames:
    - line
    - T
    - Q
    argTypes:
    - vec384fp6
    - POINTonE2*
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 126
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 126
    functionName: line_dbl
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - sub_fp2
    - mul_fp2
    - lshift_fp2
    - add_fp2
    - mul_by_8_fp2
    - sqr_fp2
    - mul_by_3_fp2
    linkageType: ''
    returnType: void
    signature: void line_dbl(vec384fp6 line, POINTonE2 *T, const POINTonE2 *Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp
      Src: /src/blst/src/pairing.c:130,1
    - Dst: mul_fp
      Src: /src/blst/src/pairing.c:131,1
    - Dst: mul_fp
      Src: /src/blst/src/pairing.c:133,1
    - Dst: mul_fp
      Src: /src/blst/src/pairing.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - line
    - Px2
    argTypes:
    - vec384fp6
    - POINTonE1_affine*
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: line_by_Px2
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - mul_fp
    linkageType: ''
    returnType: void
    signature: void line_by_Px2(vec384fp6 line, const POINTonE1_affine *Px2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: line_add
      Src: /src/blst/src/pairing.c:141,1
    - Dst: line_by_Px2
      Src: /src/blst/src/pairing.c:141,1
    - Dst: mul_by_xy00z0_fp12
      Src: /src/blst/src/pairing.c:142,1
    - Dst: sqr_fp12
      Src: /src/blst/src/pairing.c:144,1
    - Dst: line_dbl
      Src: /src/blst/src/pairing.c:145,1
    - Dst: line_by_Px2
      Src: /src/blst/src/pairing.c:145,1
    - Dst: mul_by_xy00z0_fp12
      Src: /src/blst/src/pairing.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - ret
    - T
    - Q
    - Px2
    - line
    - n
    argTypes:
    - vec384fp12
    - POINTonE2*
    - POINTonE2_affine*
    - POINTonE1_affine*
    - vec384fp6
    - size_t
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 4
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: add_n_dbl
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 2
    functionsReached:
    - line_dbl
    - sqr_fp12
    - mul_by_xy00z0_fp12
    - line_add
    - line_by_Px2
    linkageType: ''
    returnType: void
    signature: "void add_n_dbl(vec384fp12 ret, POINTonE2 *T, const POINTonE2_affine
      *Q,\n                      const POINTonE1_affine *Px2, vec384fp6 line, size_t
      n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_fp
      Src: /src/blst/src/pairing.c:158,1
    - Dst: neg_fp
      Src: /src/blst/src/pairing.c:159,1
    - Dst: add_fp
      Src: /src/blst/src/pairing.c:160,1
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:162,1
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:163,1
    - Dst: line_dbl
      Src: /src/blst/src/pairing.c:166,1
    - Dst: line_by_Px2
      Src: /src/blst/src/pairing.c:167,1
    - Dst: vec_zero
      Src: /src/blst/src/pairing.c:168,1
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:169,1
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:170,1
    - Dst: add_n_dbl
      Src: /src/blst/src/pairing.c:171,1
    - Dst: add_n_dbl
      Src: /src/blst/src/pairing.c:172,1
    - Dst: add_n_dbl
      Src: /src/blst/src/pairing.c:173,1
    - Dst: add_n_dbl
      Src: /src/blst/src/pairing.c:174,1
    - Dst: add_n_dbl
      Src: /src/blst/src/pairing.c:175,1
    - Dst: conjugate_fp12
      Src: /src/blst/src/pairing.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - ret
    - Q
    - P
    argTypes:
    - vec384fp12
    - POINTonE2*
    - POINTonE1*
    constantsTouched: []
    func_position:
      end: 178
      start: 150
    functionDepth: 5
    functionLinenumber: 150
    functionLinenumberEnd: 178
    functionName: miller_loop
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - line_dbl
    - add_fp
    - conjugate_fp12
    - vec_copy
    - neg_fp
    - vec_zero
    - add_n_dbl
    - line_by_Px2
    linkageType: ''
    returnType: void
    signature: void miller_loop(vec384fp12 ret, const POINTonE2 *Q, const POINTonE1
      *P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: line_dbl
      Src: /src/blst/src/pairing.c:188,1
    - Dst: line_by_Px2
      Src: /src/blst/src/pairing.c:188,1
    - Dst: vec_zero
      Src: /src/blst/src/pairing.c:189,1
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:190,1
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:191,1
    - Dst: line_dbl
      Src: /src/blst/src/pairing.c:194,1
    - Dst: line_by_Px2
      Src: /src/blst/src/pairing.c:194,1
    - Dst: mul_by_xy00z0_fp12
      Src: /src/blst/src/pairing.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - ret
    - T
    - Px2
    - n
    argTypes:
    - vec384fp12
    - POINTonE2[]
    - POINTonE1_affine[]
    - size_t
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: start_dbl_n
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - line_dbl
    - vec_copy
    - vec_zero
    - mul_by_xy00z0_fp12
    - line_by_Px2
    linkageType: ''
    returnType: void
    signature: "void start_dbl_n(vec384fp12 ret, POINTonE2 T[],\n                                        const
      POINTonE1_affine Px2[], size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: line_add
      Src: /src/blst/src/pairing.c:208,1
    - Dst: line_by_Px2
      Src: /src/blst/src/pairing.c:208,1
    - Dst: mul_by_xy00z0_fp12
      Src: /src/blst/src/pairing.c:209,1
    - Dst: sqr_fp12
      Src: /src/blst/src/pairing.c:212,1
    - Dst: line_dbl
      Src: /src/blst/src/pairing.c:214,1
    - Dst: line_by_Px2
      Src: /src/blst/src/pairing.c:214,1
    - Dst: mul_by_xy00z0_fp12
      Src: /src/blst/src/pairing.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - ret
    - T
    - Q
    - Px2
    - n
    - k
    argTypes:
    - vec384fp12
    - POINTonE2[]
    - POINTonE2_affine[]
    - POINTonE1_affine[]
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 218
      start: 199
    functionDepth: 4
    functionLinenumber: 199
    functionLinenumberEnd: 218
    functionName: add_n_dbl_n
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - line_dbl
    - sqr_fp12
    - mul_by_xy00z0_fp12
    - line_add
    - line_by_Px2
    linkageType: ''
    returnType: void
    signature: "void add_n_dbl_n(vec384fp12 ret, POINTonE2 T[],\n                                        const
      POINTonE2_affine Q[],\n                                        const POINTonE1_affine
      Px2[],\n                                        size_t n, size_t k)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloca
      Src: /src/blst/src/pairing.c:225,1
    - Dst: alloca
      Src: /src/blst/src/pairing.c:226,1
    - Dst: vec_is_zero
      Src: /src/blst/src/pairing.c:233,1
    - Dst: vec_is_zero
      Src: /src/blst/src/pairing.c:234,1
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:239,1
    - Dst: add_fp
      Src: /src/blst/src/pairing.c:245,1
    - Dst: neg_fp
      Src: /src/blst/src/pairing.c:246,1
    - Dst: add_fp
      Src: /src/blst/src/pairing.c:247,1
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:249,1
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:250,1
    - Dst: start_dbl_n
      Src: /src/blst/src/pairing.c:254,1
    - Dst: add_n_dbl_n
      Src: /src/blst/src/pairing.c:255,1
    - Dst: add_n_dbl_n
      Src: /src/blst/src/pairing.c:256,1
    - Dst: add_n_dbl_n
      Src: /src/blst/src/pairing.c:257,1
    - Dst: add_n_dbl_n
      Src: /src/blst/src/pairing.c:258,1
    - Dst: add_n_dbl_n
      Src: /src/blst/src/pairing.c:259,1
    - Dst: conjugate_fp12
      Src: /src/blst/src/pairing.c:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - ret
    - Q
    - P
    - n
    argTypes:
    - vec384fp12
    - POINTonE2_affine[]
    - POINTonE1_affine[]
    - size_t
    constantsTouched: []
    func_position:
      end: 261
      start: 220
    functionDepth: 5
    functionLinenumber: 220
    functionLinenumberEnd: 261
    functionName: miller_loop_n
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 7
    functionsReached:
    - add_n_dbl_n
    - add_fp
    - conjugate_fp12
    - vec_copy
    - neg_fp
    - vec_is_zero
    - alloca
    - start_dbl_n
    linkageType: ''
    returnType: void
    signature: "void miller_loop_n(vec384fp12 ret, const POINTonE2_affine Q[],\n                                          const
      POINTonE1_affine P[], size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: line_add
      Src: /src/blst/src/pairing.c:267,1
    - Dst: line_dbl
      Src: /src/blst/src/pairing.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - lines
    - T
    - Q
    - n
    argTypes:
    - vec384fp6[]
    - POINTonE2*
    - POINTonE2_affine*
    - size_t
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: pre_add_n_dbl
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - line_dbl
    - line_add
    linkageType: ''
    returnType: void
    signature: "void pre_add_n_dbl(vec384fp6 lines[], POINTonE2 *T,\n                                             const
      POINTonE2_affine *Q,\n                                             size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:276,1
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:277,1
    - Dst: line_dbl
      Src: /src/blst/src/pairing.c:279,1
    - Dst: pre_add_n_dbl
      Src: /src/blst/src/pairing.c:280,1
    - Dst: pre_add_n_dbl
      Src: /src/blst/src/pairing.c:281,1
    - Dst: pre_add_n_dbl
      Src: /src/blst/src/pairing.c:282,1
    - Dst: pre_add_n_dbl
      Src: /src/blst/src/pairing.c:283,1
    - Dst: pre_add_n_dbl
      Src: /src/blst/src/pairing.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - Qlines
    - Q
    argTypes:
    - vec384fp6[]
    - POINTonE2_affine*
    constantsTouched: []
    func_position:
      end: 285
      start: 272
    functionDepth: 4
    functionLinenumber: 272
    functionLinenumberEnd: 285
    functionName: precompute_lines
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - pre_add_n_dbl
    - line_dbl
    - vec_copy
    linkageType: ''
    returnType: void
    signature: void precompute_lines(vec384fp6 Qlines[68], const POINTonE2_affine
      *Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:290,1
    - Dst: mul_fp
      Src: /src/blst/src/pairing.c:292,1
    - Dst: mul_fp
      Src: /src/blst/src/pairing.c:293,1
    - Dst: mul_fp
      Src: /src/blst/src/pairing.c:295,1
    - Dst: mul_fp
      Src: /src/blst/src/pairing.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - out
    - in
    - Px2
    argTypes:
    - vec384fp6
    - vec384fp6
    - POINTonE1_affine*
    constantsTouched: []
    func_position:
      end: 297
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 297
    functionName: post_line_by_Px2
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - mul_fp
    - vec_copy
    linkageType: ''
    returnType: void
    signature: "void post_line_by_Px2(vec384fp6 out, const vec384fp6 in,\n                                            const
      POINTonE1_affine *Px2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: post_line_by_Px2
      Src: /src/blst/src/pairing.c:304,1
    - Dst: mul_by_xy00z0_fp12
      Src: /src/blst/src/pairing.c:305,1
    - Dst: sqr_fp12
      Src: /src/blst/src/pairing.c:307,1
    - Dst: post_line_by_Px2
      Src: /src/blst/src/pairing.c:308,1
    - Dst: mul_by_xy00z0_fp12
      Src: /src/blst/src/pairing.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ret
    - lines
    - Px2
    - n
    argTypes:
    - vec384fp12
    - vec384fp6[]
    - POINTonE1_affine*
    - size_t
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 4
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: post_add_n_dbl
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - sqr_fp12
    - post_line_by_Px2
    - mul_by_xy00z0_fp12
    linkageType: ''
    returnType: void
    signature: "void post_add_n_dbl(vec384fp12 ret, const vec384fp6 lines[],\n                           const
      POINTonE1_affine *Px2, size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_fp
      Src: /src/blst/src/pairing.c:320,1
    - Dst: neg_fp
      Src: /src/blst/src/pairing.c:321,1
    - Dst: add_fp
      Src: /src/blst/src/pairing.c:322,1
    - Dst: post_line_by_Px2
      Src: /src/blst/src/pairing.c:325,1
    - Dst: vec_zero
      Src: /src/blst/src/pairing.c:326,1
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:327,1
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:328,1
    - Dst: post_add_n_dbl
      Src: /src/blst/src/pairing.c:329,1
    - Dst: post_add_n_dbl
      Src: /src/blst/src/pairing.c:330,1
    - Dst: post_add_n_dbl
      Src: /src/blst/src/pairing.c:331,1
    - Dst: post_add_n_dbl
      Src: /src/blst/src/pairing.c:332,1
    - Dst: post_add_n_dbl
      Src: /src/blst/src/pairing.c:333,1
    - Dst: conjugate_fp12
      Src: /src/blst/src/pairing.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ret
    - Qlines
    - P
    argTypes:
    - vec384fp12
    - vec384fp6[]
    - POINTonE1_affine*
    constantsTouched: []
    func_position:
      end: 335
      start: 313
    functionDepth: 5
    functionLinenumber: 313
    functionLinenumberEnd: 335
    functionName: miller_loop_lines
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - add_fp
    - conjugate_fp12
    - vec_copy
    - vec_zero
    - neg_fp
    - post_line_by_Px2
    - post_add_n_dbl
    linkageType: ''
    returnType: void
    signature: "void miller_loop_lines(vec384fp12 ret, const vec384fp6 Qlines[68],\n
      \                                             const POINTonE1_affine *P)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: precompute_lines
      Src: /src/blst/src/pairing.c:343,1
    - Dst: miller_loop_lines
      Src: /src/blst/src/pairing.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ret
    - Q
    - P
    argTypes:
    - vec384fp12
    - POINTonE2_affine*
    - POINTonE1_affine*
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 6
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: miller_loop_alt
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - miller_loop_lines
    - precompute_lines
    linkageType: ''
    returnType: void
    signature: "void miller_loop_alt(vec384fp12 ret, const POINTonE2_affine *Q,\n
      \                                           const POINTonE1_affine *P)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_fp12
      Src: /src/blst/src/pairing.c:350,1
    - Dst: cyclotomic_sqr_fp12
      Src: /src/blst/src/pairing.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ret
    - a
    - n
    argTypes:
    - vec384fp12
    - vec384fp12
    - size_t
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: mul_n_sqr
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - mul_fp12
    - cyclotomic_sqr_fp12
    linkageType: ''
    returnType: void
    signature: void mul_n_sqr(vec384fp12 ret, const vec384fp12 a, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cyclotomic_sqr_fp12
      Src: /src/blst/src/pairing.c:357,1
    - Dst: mul_n_sqr
      Src: /src/blst/src/pairing.c:358,1
    - Dst: mul_n_sqr
      Src: /src/blst/src/pairing.c:359,1
    - Dst: mul_n_sqr
      Src: /src/blst/src/pairing.c:360,1
    - Dst: mul_n_sqr
      Src: /src/blst/src/pairing.c:361,1
    - Dst: mul_n_sqr
      Src: /src/blst/src/pairing.c:362,1
    - Dst: conjugate_fp12
      Src: /src/blst/src/pairing.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ret
    - a
    argTypes:
    - vec384fp12
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 4
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: raise_to_z_div_by_2
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - mul_n_sqr
    - cyclotomic_sqr_fp12
    - conjugate_fp12
    linkageType: ''
    returnType: void
    signature: void raise_to_z_div_by_2(vec384fp12 ret, const vec384fp12 a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:375,1
    - Dst: conjugate_fp12
      Src: /src/blst/src/pairing.c:376,1
    - Dst: inverse_fp12
      Src: /src/blst/src/pairing.c:377,1
    - Dst: mul_fp12
      Src: /src/blst/src/pairing.c:378,1
    - Dst: frobenius_map_fp12
      Src: /src/blst/src/pairing.c:379,1
    - Dst: mul_fp12
      Src: /src/blst/src/pairing.c:380,1
    - Dst: cyclotomic_sqr_fp12
      Src: /src/blst/src/pairing.c:382,1
    - Dst: raise_to_z
      Src: /src/blst/src/pairing.c:383,1
    - Dst: raise_to_z_div_by_2
      Src: /src/blst/src/pairing.c:384,1
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:385,1
    - Dst: conjugate_fp12
      Src: /src/blst/src/pairing.c:386,1
    - Dst: mul_fp12
      Src: /src/blst/src/pairing.c:387,1
    - Dst: conjugate_fp12
      Src: /src/blst/src/pairing.c:388,1
    - Dst: mul_fp12
      Src: /src/blst/src/pairing.c:389,1
    - Dst: raise_to_z
      Src: /src/blst/src/pairing.c:390,1
    - Dst: raise_to_z
      Src: /src/blst/src/pairing.c:391,1
    - Dst: conjugate_fp12
      Src: /src/blst/src/pairing.c:392,1
    - Dst: mul_fp12
      Src: /src/blst/src/pairing.c:393,1
    - Dst: conjugate_fp12
      Src: /src/blst/src/pairing.c:394,1
    - Dst: frobenius_map_fp12
      Src: /src/blst/src/pairing.c:395,1
    - Dst: frobenius_map_fp12
      Src: /src/blst/src/pairing.c:396,1
    - Dst: mul_fp12
      Src: /src/blst/src/pairing.c:397,1
    - Dst: raise_to_z
      Src: /src/blst/src/pairing.c:398,1
    - Dst: mul_fp12
      Src: /src/blst/src/pairing.c:399,1
    - Dst: mul_fp12
      Src: /src/blst/src/pairing.c:400,1
    - Dst: mul_fp12
      Src: /src/blst/src/pairing.c:401,1
    - Dst: frobenius_map_fp12
      Src: /src/blst/src/pairing.c:402,1
    - Dst: mul_fp12
      Src: /src/blst/src/pairing.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 2
    argNames:
    - ret
    - f
    argTypes:
    - vec384fp12
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 404
      start: 371
    functionDepth: 5
    functionLinenumber: 371
    functionLinenumberEnd: 404
    functionName: final_exp
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 2
    functionsReached:
    - cyclotomic_sqr_fp12
    - conjugate_fp12
    - frobenius_map_fp12
    - vec_copy
    - raise_to_z
    - mul_fp12
    - raise_to_z_div_by_2
    - inverse_fp12
    linkageType: ''
    returnType: void
    signature: void final_exp(vec384fp12 ret, const vec384fp12 f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: miller_loop_n
      Src: /src/blst/src/pairing.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - Q
    - P
    argTypes:
    - vec384fp12
    - POINTonE2_affine*
    - POINTonE1_affine*
    constantsTouched: []
    func_position:
      end: 410
      start: 406
    functionDepth: 6
    functionLinenumber: 406
    functionLinenumberEnd: 410
    functionName: blst_miller_loop
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - miller_loop_n
    linkageType: ''
    returnType: void
    signature: "void blst_miller_loop(vec384fp12 ret, const POINTonE2_affine *Q,\n
      \                                     const POINTonE1_affine *P)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_fp
      Src: /src/blst/src/pairing.c:432,1
    - Dst: neg_fp
      Src: /src/blst/src/pairing.c:433,1
    - Dst: add_fp
      Src: /src/blst/src/pairing.c:434,1
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:436,1
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:437,1
    - Dst: vec_copy
      Src: /src/blst/src/pairing.c:438,1
    - Dst: start_dbl_n
      Src: /src/blst/src/pairing.c:445,1
    - Dst: add_n_dbl_n
      Src: /src/blst/src/pairing.c:446,1
    - Dst: add_n_dbl_n
      Src: /src/blst/src/pairing.c:447,1
    - Dst: add_n_dbl_n
      Src: /src/blst/src/pairing.c:448,1
    - Dst: add_n_dbl_n
      Src: /src/blst/src/pairing.c:449,1
    - Dst: add_n_dbl_n
      Src: /src/blst/src/pairing.c:450,1
    - Dst: conjugate_fp12
      Src: /src/blst/src/pairing.c:451,1
    - Dst: mul_fp12
      Src: /src/blst/src/pairing.c:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - out
    - Qs
    - Ps
    - n
    argTypes:
    - vec384fp12
    - POINTonE2_affine*[]
    - POINTonE1_affine*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 459
      start: 416
    functionDepth: 5
    functionLinenumber: 416
    functionLinenumberEnd: 459
    functionName: blst_miller_loop_n
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - add_n_dbl_n
    - add_fp
    - conjugate_fp12
    - vec_copy
    - neg_fp
    - start_dbl_n
    - mul_fp12
    linkageType: ''
    returnType: void
    signature: "void blst_miller_loop_n(vec384fp12 out, const POINTonE2_affine *const
      Qs[],\n                                        const POINTonE1_affine *const
      Ps[],\n                                        size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: final_exp
      Src: /src/blst/src/pairing.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ret
    - f
    argTypes:
    - vec384fp12
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 462
      start: 461
    functionDepth: 6
    functionLinenumber: 461
    functionLinenumberEnd: 462
    functionName: blst_final_exp
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - final_exp
    linkageType: ''
    returnType: void
    signature: void blst_final_exp(vec384fp12 ret, const vec384fp12 f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: precompute_lines
      Src: /src/blst/src/pairing.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - Qlines
    - Q
    argTypes:
    - vec384fp6[]
    - POINTonE2_affine*
    constantsTouched: []
    func_position:
      end: 465
      start: 464
    functionDepth: 5
    functionLinenumber: 464
    functionLinenumberEnd: 465
    functionName: blst_precompute_lines
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - precompute_lines
    linkageType: ''
    returnType: void
    signature: void blst_precompute_lines(vec384fp6 Qlines[68], const POINTonE2_affine
      *Q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: miller_loop_lines
      Src: /src/blst/src/pairing.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ret
    - Qlines
    - P
    argTypes:
    - vec384fp12
    - vec384fp6[]
    - POINTonE1_affine*
    constantsTouched: []
    func_position:
      end: 469
      start: 467
    functionDepth: 6
    functionLinenumber: 467
    functionLinenumberEnd: 469
    functionName: blst_miller_loop_lines
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - miller_loop_lines
    linkageType: ''
    returnType: void
    signature: "void blst_miller_loop_lines(vec384fp12 ret, const vec384fp6 Qlines[68],\n
      \                                           const POINTonE1_affine *P)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: frobenius_map_fp12
      Src: /src/blst/src/pairing.c:475,1
    - Dst: frobenius_map_fp12
      Src: /src/blst/src/pairing.c:476,1
    - Dst: mul_fp12
      Src: /src/blst/src/pairing.c:477,1
    - Dst: vec_is_equal
      Src: /src/blst/src/pairing.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 480
      start: 471
    functionDepth: 4
    functionLinenumber: 471
    functionLinenumberEnd: 480
    functionName: is_cyclotomic
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - mul_fp12
    - frobenius_map_fp12
    - vec_is_equal
    linkageType: ''
    returnType: bool_t
    signature: bool_t is_cyclotomic(const vec384fp12 f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/pairing.c:486,1
    - Dst: is_cyclotomic
      Src: /src/blst/src/pairing.c:486,1
    - Dst: frobenius_map_fp12
      Src: /src/blst/src/pairing.c:489,1
    - Dst: raise_to_z
      Src: /src/blst/src/pairing.c:490,1
    - Dst: vec_is_equal
      Src: /src/blst/src/pairing.c:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - f
    argTypes:
    - vec384fp12
    constantsTouched: []
    func_position:
      end: 493
      start: 482
    functionDepth: 5
    functionLinenumber: 482
    functionLinenumberEnd: 493
    functionName: blst_fp12_in_group
    functionSourceFile: /src/blst/src/pairing.c
    functionUses: 0
    functionsReached:
    - frobenius_map_fp12
    - is_cyclotomic
    - vec_is_zero
    - raise_to_z
    - vec_is_equal
    linkageType: ''
    returnType: int
    signature: int blst_fp12_in_group(const vec384fp12 f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub_fp
      Src: /src/blst/src/e2.c:77,1
    - Dst: add_fp
      Src: /src/blst/src/e2.c:78,1
    - Dst: lshift_fp
      Src: /src/blst/src/e2.c:79,1
    - Dst: lshift_fp
      Src: /src/blst/src/e2.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: mul_by_b_onE2
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - sub_fp
    - lshift_fp
    - add_fp
    linkageType: ''
    returnType: void
    signature: void mul_by_b_onE2(vec384x out, const vec384x in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub_fp
      Src: /src/blst/src/e2.c:85,1
    - Dst: add_fp
      Src: /src/blst/src/e2.c:86,1
    - Dst: lshift_fp
      Src: /src/blst/src/e2.c:87,1
    - Dst: lshift_fp
      Src: /src/blst/src/e2.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - vec384x
    - vec384x
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: mul_by_4b_onE2
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - sub_fp
    - lshift_fp
    - add_fp
    linkageType: ''
    returnType: void
    signature: void mul_by_4b_onE2(vec384x out, const vec384x in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cneg_fp2
      Src: /src/blst/src/e2.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - cbit
    argTypes:
    - POINTonE2*
    - bool_t
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: POINTonE2_cneg
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 2
    functionsReached:
    - cneg_fp2
    linkageType: ''
    returnType: void
    signature: void POINTonE2_cneg(POINTonE2 *p, bool_t cbit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_cneg
      Src: /src/blst/src/e2.c:95,1
    - Dst: is_zero
      Src: /src/blst/src/e2.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - cbit
    argTypes:
    - POINTonE2*
    - int
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: blst_p2_cneg
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - is_zero
    - POINTonE2_cneg
    linkageType: ''
    returnType: void
    signature: void blst_p2_cneg(POINTonE2 *a, int cbit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/e2.c:100,1
    - Dst: reciprocal_fp2
      Src: /src/blst/src/e2.c:102,1
    - Dst: sqr_fp2
      Src: /src/blst/src/e2.c:104,1
    - Dst: mul_fp2
      Src: /src/blst/src/e2.c:105,1
    - Dst: mul_fp2
      Src: /src/blst/src/e2.c:107,1
    - Dst: mul_fp2
      Src: /src/blst/src/e2.c:108,1
    - Dst: vec_select
      Src: /src/blst/src/e2.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE2*
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: POINTonE2_from_Jacobian
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 2
    functionsReached:
    - vec_select
    - mul_fp2
    - vec_is_zero
    - sqr_fp2
    - reciprocal_fp2
    linkageType: ''
    returnType: void
    signature: void POINTonE2_from_Jacobian(POINTonE2 *out, const POINTonE2 *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_from_Jacobian
      Src: /src/blst/src/e2.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - POINTonE2*
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: blst_p2_from_jacobian
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_from_Jacobian
    linkageType: ''
    returnType: void
    signature: void blst_p2_from_jacobian(POINTonE2 *out, const POINTonE2 *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_equal
      Src: /src/blst/src/e2.c:121,1
    - Dst: POINTonE2_from_Jacobian
      Src: /src/blst/src/e2.c:122,1
    - Dst: vec_copy
      Src: /src/blst/src/e2.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE2_affine*
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 5
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: POINTonE2_to_affine
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - vec_is_equal
    - POINTonE2_from_Jacobian
    - vec_copy
    linkageType: ''
    returnType: void
    signature: void POINTonE2_to_affine(POINTonE2_affine *out, const POINTonE2 *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_to_affine
      Src: /src/blst/src/e2.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - POINTonE2_affine*
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 6
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: blst_p2_to_affine
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_to_affine
    linkageType: ''
    returnType: void
    signature: void blst_p2_to_affine(POINTonE2_affine *out, const POINTonE2 *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_copy
      Src: /src/blst/src/e2.c:133,1
    - Dst: vec_select
      Src: /src/blst/src/e2.c:134,1
    - Dst: vec_is_zero
      Src: /src/blst/src/e2.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - POINTonE2*
    - POINTonE2_affine*
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: blst_p2_from_affine
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - vec_copy
    - vec_select
    - vec_is_zero
    linkageType: ''
    returnType: void
    signature: void blst_p2_from_affine(POINTonE2 *out, const POINTonE2_affine *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_fp2
      Src: /src/blst/src/e2.c:142,1
    - Dst: mul_fp2
      Src: /src/blst/src/e2.c:143,1
    - Dst: add_fp2
      Src: /src/blst/src/e2.c:144,1
    - Dst: sqr_fp2
      Src: /src/blst/src/e2.c:146,1
    - Dst: vec_is_equal
      Src: /src/blst/src/e2.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINTonE2_affine*
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: POINTonE2_affine_on_curve
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - vec_is_equal
    - add_fp2
    - mul_fp2
    - sqr_fp2
    linkageType: ''
    returnType: bool_t
    signature: bool_t POINTonE2_affine_on_curve(const POINTonE2_affine *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_affine_on_curve
      Src: /src/blst/src/e2.c:152,1
    - Dst: vec_is_zero
      Src: /src/blst/src/e2.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINTonE2_affine*
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: blst_p2_affine_on_curve
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - vec_is_zero
    - POINTonE2_affine_on_curve
    linkageType: ''
    returnType: int
    signature: int blst_p2_affine_on_curve(const POINTonE2_affine *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/e2.c:157,1
    - Dst: sqr_fp2
      Src: /src/blst/src/e2.c:159,1
    - Dst: mul_fp2
      Src: /src/blst/src/e2.c:160,1
    - Dst: sqr_fp2
      Src: /src/blst/src/e2.c:161,1
    - Dst: mul_by_b_onE2
      Src: /src/blst/src/e2.c:162,1
    - Dst: sqr_fp2
      Src: /src/blst/src/e2.c:164,1
    - Dst: mul_fp2
      Src: /src/blst/src/e2.c:165,1
    - Dst: add_fp2
      Src: /src/blst/src/e2.c:166,1
    - Dst: sqr_fp2
      Src: /src/blst/src/e2.c:168,1
    - Dst: vec_is_equal
      Src: /src/blst/src/e2.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 171
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 171
    functionName: POINTonE2_on_curve
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - mul_by_b_onE2
    - mul_fp2
    - vec_is_zero
    - add_fp2
    - sqr_fp2
    - vec_is_equal
    linkageType: ''
    returnType: bool_t
    signature: bool_t POINTonE2_on_curve(const POINTonE2 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_on_curve
      Src: /src/blst/src/e2.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 4
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: blst_p2_on_curve
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_on_curve
    linkageType: ''
    returnType: int
    signature: int blst_p2_on_curve(const POINTonE2 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_fp
      Src: /src/blst/src/e2.c:181,1
    - Dst: be_bytes_from_limbs
      Src: /src/blst/src/e2.c:182,1
    - Dst: from_fp
      Src: /src/blst/src/e2.c:183,1
    - Dst: be_bytes_from_limbs
      Src: /src/blst/src/e2.c:184,1
    - Dst: from_fp
      Src: /src/blst/src/e2.c:186,1
    - Dst: be_bytes_from_limbs
      Src: /src/blst/src/e2.c:187,1
    - Dst: from_fp
      Src: /src/blst/src/e2.c:188,1
    - Dst: be_bytes_from_limbs
      Src: /src/blst/src/e2.c:189,1
    - Dst: sgn0_pty_mod_384x
      Src: /src/blst/src/e2.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char[]
    - POINTonE2_affine*
    constantsTouched: []
    func_position:
      end: 192
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 192
    functionName: POINTonE2_affine_Serialize_BE
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - from_fp
    - be_bytes_from_limbs
    - sgn0_pty_mod_384x
    linkageType: ''
    returnType: limb_t
    signature: "limb_t POINTonE2_affine_Serialize_BE(unsigned char out[192],\n                                            const
      POINTonE2_affine *in)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/e2.c:197,1
    - Dst: bytes_zero
      Src: /src/blst/src/e2.c:198,1
    - Dst: POINTonE2_affine_Serialize_BE
      Src: /src/blst/src/e2.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char[]
    - POINTonE2_affine*
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 4
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: blst_p2_affine_serialize
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - bytes_zero
    - POINTonE2_affine_Serialize_BE
    - vec_is_zero
    linkageType: ''
    returnType: void
    signature: "void blst_p2_affine_serialize(unsigned char out[192],\n                              const
      POINTonE2_affine *in)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_equal
      Src: /src/blst/src/e2.c:210,1
    - Dst: POINTonE2_from_Jacobian
      Src: /src/blst/src/e2.c:211,1
    - Dst: POINTonE2_affine_Serialize_BE
      Src: /src/blst/src/e2.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char[]
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 5
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: POINTonE2_Serialize_BE
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_affine_Serialize_BE
    - vec_is_equal
    - POINTonE2_from_Jacobian
    linkageType: ''
    returnType: limb_t
    signature: "limb_t POINTonE2_Serialize_BE(unsigned char out[192],\n                                     const
      POINTonE2 *in)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/e2.c:220,1
    - Dst: bytes_zero
      Src: /src/blst/src/e2.c:221,1
    - Dst: POINTonE2_Serialize_BE
      Src: /src/blst/src/e2.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char[]
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 6
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: POINTonE2_Serialize
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - bytes_zero
    - POINTonE2_Serialize_BE
    - vec_is_zero
    linkageType: ''
    returnType: void
    signature: void POINTonE2_Serialize(unsigned char out[192], const POINTonE2 *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_Serialize
      Src: /src/blst/src/e2.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char[]
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 7
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: blst_p2_serialize
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_Serialize
    linkageType: ''
    returnType: void
    signature: void blst_p2_serialize(unsigned char out[192], const POINTonE2 *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_fp
      Src: /src/blst/src/e2.c:236,1
    - Dst: be_bytes_from_limbs
      Src: /src/blst/src/e2.c:237,1
    - Dst: from_fp
      Src: /src/blst/src/e2.c:238,1
    - Dst: be_bytes_from_limbs
      Src: /src/blst/src/e2.c:239,1
    - Dst: sgn0_pty_mont_384x
      Src: /src/blst/src/e2.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char[]
    - POINTonE2_affine*
    constantsTouched: []
    func_position:
      end: 242
      start: 231
    functionDepth: 4
    functionLinenumber: 231
    functionLinenumberEnd: 242
    functionName: POINTonE2_affine_Compress_BE
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - from_fp
    - be_bytes_from_limbs
    - sgn0_pty_mont_384x
    linkageType: ''
    returnType: limb_t
    signature: "limb_t POINTonE2_affine_Compress_BE(unsigned char out[96],\n                                           const
      POINTonE2_affine *in)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/e2.c:246,1
    - Dst: bytes_zero
      Src: /src/blst/src/e2.c:247,1
    - Dst: POINTonE2_affine_Compress_BE
      Src: /src/blst/src/e2.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char[]
    - POINTonE2_affine*
    constantsTouched: []
    func_position:
      end: 253
      start: 244
    functionDepth: 5
    functionLinenumber: 244
    functionLinenumberEnd: 253
    functionName: blst_p2_affine_compress
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - bytes_zero
    - POINTonE2_affine_Compress_BE
    - vec_is_zero
    linkageType: ''
    returnType: void
    signature: void blst_p2_affine_compress(unsigned char out[96], const POINTonE2_affine
      *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_equal
      Src: /src/blst/src/e2.c:260,1
    - Dst: POINTonE2_from_Jacobian
      Src: /src/blst/src/e2.c:261,1
    - Dst: POINTonE2_affine_Compress_BE
      Src: /src/blst/src/e2.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char[]
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 266
      start: 255
    functionDepth: 5
    functionLinenumber: 255
    functionLinenumberEnd: 266
    functionName: POINTonE2_Compress_BE
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_affine_Compress_BE
    - vec_is_equal
    - POINTonE2_from_Jacobian
    linkageType: ''
    returnType: limb_t
    signature: "limb_t POINTonE2_Compress_BE(unsigned char out[96],\n                                    const
      POINTonE2 *in)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/e2.c:270,1
    - Dst: bytes_zero
      Src: /src/blst/src/e2.c:271,1
    - Dst: POINTonE2_Compress_BE
      Src: /src/blst/src/e2.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char[]
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 6
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: blst_p2_compress
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - bytes_zero
    - POINTonE2_Compress_BE
    - vec_is_zero
    linkageType: ''
    returnType: void
    signature: void blst_p2_compress(unsigned char out[96], const POINTonE2 *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_from_be_bytes
      Src: /src/blst/src/e2.c:285,1
    - Dst: limbs_from_be_bytes
      Src: /src/blst/src/e2.c:286,1
    - Dst: add_fp
      Src: /src/blst/src/e2.c:290,1
    - Dst: vec_is_equal
      Src: /src/blst/src/e2.c:291,1
    - Dst: add_fp
      Src: /src/blst/src/e2.c:294,1
    - Dst: vec_is_equal
      Src: /src/blst/src/e2.c:295,1
    - Dst: mul_fp
      Src: /src/blst/src/e2.c:298,1
    - Dst: mul_fp
      Src: /src/blst/src/e2.c:299,1
    - Dst: sqr_fp2
      Src: /src/blst/src/e2.c:301,1
    - Dst: mul_fp2
      Src: /src/blst/src/e2.c:302,1
    - Dst: add_fp2
      Src: /src/blst/src/e2.c:303,1
    - Dst: sqrt_fp2
      Src: /src/blst/src/e2.c:304,1
    - Dst: vec_copy
      Src: /src/blst/src/e2.c:307,1
    - Dst: sgn0_pty_mont_384x
      Src: /src/blst/src/e2.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE2_affine*
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 310
      start: 279
    functionDepth: 4
    functionLinenumber: 279
    functionLinenumberEnd: 310
    functionName: POINTonE2_Uncompress_BE
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - mul_fp
    - add_fp
    - sgn0_pty_mont_384x
    - vec_copy
    - mul_fp2
    - limbs_from_be_bytes
    - add_fp2
    - sqrt_fp2
    - sqr_fp2
    - vec_is_equal
    linkageType: ''
    returnType: limb_t
    signature: "limb_t POINTonE2_Uncompress_BE(POINTonE2_affine *out,\n                                      const
      unsigned char in[96])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: byte_is_zero
      Src: /src/blst/src/e2.c:322,1
    - Dst: bytes_are_zero
      Src: /src/blst/src/e2.c:322,1
    - Dst: vec_zero
      Src: /src/blst/src/e2.c:323,1
    - Dst: POINTonE2_Uncompress_BE
      Src: /src/blst/src/e2.c:330,1
    - Dst: cneg_fp2
      Src: /src/blst/src/e2.c:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE2_affine*
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 340
      start: 312
    functionDepth: 5
    functionLinenumber: 312
    functionLinenumberEnd: 340
    functionName: POINTonE2_Uncompress_Z
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - bytes_are_zero
    - vec_zero
    - cneg_fp2
    - POINTonE2_Uncompress_BE
    - byte_is_zero
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR POINTonE2_Uncompress_Z(POINTonE2_affine *out,\n                                         const
      unsigned char in[96])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_Uncompress_Z
      Src: /src/blst/src/e2.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE2_affine*
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 343
      start: 342
    functionDepth: 6
    functionLinenumber: 342
    functionLinenumberEnd: 343
    functionName: blst_p2_uncompress
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_Uncompress_Z
    linkageType: ''
    returnType: BLST_ERROR
    signature: BLST_ERROR blst_p2_uncompress(POINTonE2_affine *out, const unsigned
      char in[96])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_from_be_bytes
      Src: /src/blst/src/e2.c:351,1
    - Dst: limbs_from_be_bytes
      Src: /src/blst/src/e2.c:352,1
    - Dst: limbs_from_be_bytes
      Src: /src/blst/src/e2.c:353,1
    - Dst: limbs_from_be_bytes
      Src: /src/blst/src/e2.c:354,1
    - Dst: add_fp
      Src: /src/blst/src/e2.c:358,1
    - Dst: vec_is_equal
      Src: /src/blst/src/e2.c:359,1
    - Dst: add_fp
      Src: /src/blst/src/e2.c:362,1
    - Dst: vec_is_equal
      Src: /src/blst/src/e2.c:363,1
    - Dst: add_fp
      Src: /src/blst/src/e2.c:366,1
    - Dst: vec_is_equal
      Src: /src/blst/src/e2.c:367,1
    - Dst: add_fp
      Src: /src/blst/src/e2.c:370,1
    - Dst: vec_is_equal
      Src: /src/blst/src/e2.c:371,1
    - Dst: mul_fp
      Src: /src/blst/src/e2.c:374,1
    - Dst: mul_fp
      Src: /src/blst/src/e2.c:375,1
    - Dst: mul_fp
      Src: /src/blst/src/e2.c:376,1
    - Dst: mul_fp
      Src: /src/blst/src/e2.c:377,1
    - Dst: POINTonE2_affine_on_curve
      Src: /src/blst/src/e2.c:379,1
    - Dst: vec_copy
      Src: /src/blst/src/e2.c:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE2_affine*
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 385
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 385
    functionName: POINTonE2_Deserialize_BE
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - mul_fp
    - add_fp
    - POINTonE2_affine_on_curve
    - vec_copy
    - limbs_from_be_bytes
    - vec_is_equal
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR POINTonE2_Deserialize_BE(POINTonE2_affine *out,\n                                           const
      unsigned char in[192])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_Deserialize_BE
      Src: /src/blst/src/e2.c:393,1
    - Dst: POINTonE2_Uncompress_Z
      Src: /src/blst/src/e2.c:396,1
    - Dst: byte_is_zero
      Src: /src/blst/src/e2.c:399,1
    - Dst: bytes_are_zero
      Src: /src/blst/src/e2.c:399,1
    - Dst: vec_zero
      Src: /src/blst/src/e2.c:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE2_affine*
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 406
      start: 387
    functionDepth: 6
    functionLinenumber: 387
    functionLinenumberEnd: 406
    functionName: POINTonE2_Deserialize_Z
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 1
    functionsReached:
    - bytes_are_zero
    - POINTonE2_Uncompress_Z
    - vec_zero
    - POINTonE2_Deserialize_BE
    - byte_is_zero
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR POINTonE2_Deserialize_Z(POINTonE2_affine *out,\n                                          const
      unsigned char in[192])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_Deserialize_Z
      Src: /src/blst/src/e2.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE2_affine*
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 410
      start: 408
    functionDepth: 7
    functionLinenumber: 408
    functionLinenumberEnd: 410
    functionName: blst_p2_deserialize
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_Deserialize_Z
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR blst_p2_deserialize(POINTonE2_affine *out,\n                               const
      unsigned char in[192])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_add
      Src: /src/blst/src/e2.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - POINTonE2*
    - POINTonE2*
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 421
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 421
    functionName: blst_p2_add
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_add
    linkageType: ''
    returnType: void
    signature: void blst_p2_add(POINTonE2 *out, const POINTonE2 *a, const POINTonE2
      *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_dadd
      Src: /src/blst/src/e2.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - POINTonE2*
    - POINTonE2*
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 425
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 425
    functionName: blst_p2_add_or_double
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_dadd
    linkageType: ''
    returnType: void
    signature: "void blst_p2_add_or_double(POINTonE2 *out, const POINTonE2 *a,\n                                           const
      POINTonE2 *b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_add_affine
      Src: /src/blst/src/e2.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - POINTonE2*
    - POINTonE2*
    - POINTonE2_affine*
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: blst_p2_add_affine
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_add_affine
    linkageType: ''
    returnType: void
    signature: "void blst_p2_add_affine(POINTonE2 *out, const POINTonE2 *a,\n                                        const
      POINTonE2_affine *b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_dadd_affine
      Src: /src/blst/src/e2.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - POINTonE2*
    - POINTonE2*
    - POINTonE2_affine*
    constantsTouched: []
    func_position:
      end: 433
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 433
    functionName: blst_p2_add_or_double_affine
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_dadd_affine
    linkageType: ''
    returnType: void
    signature: "void blst_p2_add_or_double_affine(POINTonE2 *out, const POINTonE2
      *a,\n                                                  const POINTonE2_affine
      *b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_double
      Src: /src/blst/src/e2.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - POINTonE2*
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 436
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 436
    functionName: blst_p2_double
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_double
    linkageType: ''
    returnType: void
    signature: void blst_p2_double(POINTonE2 *out, const POINTonE2 *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_is_equal
      Src: /src/blst/src/e2.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - POINTonE2*
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 439
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 439
    functionName: blst_p2_is_equal
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_is_equal
    linkageType: ''
    returnType: int
    signature: int blst_p2_is_equal(const POINTonE2 *a, const POINTonE2 *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TO_LIMB_T
      Src: /src/blst/src/e2.c:461,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/e2.c:461,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/e2.c:462,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/e2.c:462,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/e2.c:463,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/e2.c:463,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/e2.c:468,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/e2.c:468,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/e2.c:469,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/e2.c:469,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/e2.c:470,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/e2.c:470,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/e2.c:473,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/e2.c:473,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/e2.c:474,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/e2.c:474,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/e2.c:475,1
    - Dst: TO_LIMB_T
      Src: /src/blst/src/e2.c:475,1
    - Dst: vec_copy
      Src: /src/blst/src/e2.c:478,1
    - Dst: cneg_fp
      Src: /src/blst/src/e2.c:479,1
    - Dst: mul_fp2
      Src: /src/blst/src/e2.c:479,1
    - Dst: cneg_fp
      Src: /src/blst/src/e2.c:480,1
    - Dst: mul_fp2
      Src: /src/blst/src/e2.c:480,1
    - Dst: cneg_fp
      Src: /src/blst/src/e2.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - POINTonE2*
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 482
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 482
    functionName: psi
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 2
    functionsReached:
    - TO_LIMB_T
    - vec_copy
    - cneg_fp
    - mul_fp2
    linkageType: ''
    returnType: void
    signature: void psi(POINTonE2 *out, const POINTonE2 *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_from_le_bytes
      Src: /src/blst/src/e2.c:492,1
    - Dst: div_by_zz
      Src: /src/blst/src/e2.c:493,1
    - Dst: div_by_z
      Src: /src/blst/src/e2.c:494,1
    - Dst: div_by_z
      Src: /src/blst/src/e2.c:495,1
    - Dst: NLIMBS
      Src: /src/blst/src/e2.c:495,1
    - Dst: le_bytes_from_limbs
      Src: /src/blst/src/e2.c:496,1
    - Dst: POINTonE2_precompute_w5
      Src: /src/blst/src/e2.c:503,1
    - Dst: psi
      Src: /src/blst/src/e2.c:505,1
    - Dst: psi
      Src: /src/blst/src/e2.c:506,1
    - Dst: psi
      Src: /src/blst/src/e2.c:507,1
    - Dst: POINTonE2_cneg
      Src: /src/blst/src/e2.c:508,1
    - Dst: POINTonE2_cneg
      Src: /src/blst/src/e2.c:509,1
    - Dst: POINTonE2s_mult_w5
      Src: /src/blst/src/e2.c:512,1
    - Dst: vec_zero
      Src: /src/blst/src/e2.c:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - out
    - in
    - SK
    argTypes:
    - POINTonE2*
    - POINTonE2*
    - pow256
    constantsTouched: []
    func_position:
      end: 516
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 516
    functionName: POINTonE2_mult_gls
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - psi
    - limbs_from_le_bytes
    - vec_zero
    - le_bytes_from_limbs
    - POINTonE2_precompute_w5
    - POINTonE2s_mult_w5
    - div_by_zz
    - POINTonE2_cneg
    - div_by_z
    - NLIMBS
    linkageType: ''
    returnType: void
    signature: "void POINTonE2_mult_gls(POINTonE2 *out, const POINTonE2 *in,\n                               const
      pow256 SK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_mult_gls
      Src: /src/blst/src/e2.c:523,1
    - Dst: vec_is_zero
      Src: /src/blst/src/e2.c:526,1
    - Dst: flt_reciprocal_fp2
      Src: /src/blst/src/e2.c:528,1
    - Dst: reciprocal_fp2
      Src: /src/blst/src/e2.c:530,1
    - Dst: sqr_fp2
      Src: /src/blst/src/e2.c:533,1
    - Dst: mul_fp2
      Src: /src/blst/src/e2.c:534,1
    - Dst: mul_fp2
      Src: /src/blst/src/e2.c:536,1
    - Dst: mul_fp2
      Src: /src/blst/src/e2.c:537,1
    - Dst: vec_select
      Src: /src/blst/src/e2.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - out
    - in
    - SK
    argTypes:
    - POINTonE2*
    - POINTonE2*
    - pow256
    constantsTouched: []
    func_position:
      end: 541
      start: 518
    functionDepth: 4
    functionLinenumber: 518
    functionLinenumberEnd: 541
    functionName: POINTonE2_sign
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - vec_select
    - vec_is_zero
    - mul_fp2
    - sqr_fp2
    - POINTonE2_mult_gls
    - flt_reciprocal_fp2
    - reciprocal_fp2
    linkageType: ''
    returnType: void
    signature: void POINTonE2_sign(POINTonE2 *out, const POINTonE2 *in, const pow256
      SK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_sign
      Src: /src/blst/src/e2.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - SK
    argTypes:
    - POINTonE2*
    - pow256
    constantsTouched: []
    func_position:
      end: 544
      start: 543
    functionDepth: 5
    functionLinenumber: 543
    functionLinenumberEnd: 544
    functionName: blst_sk_to_pk_in_g2
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_sign
    linkageType: ''
    returnType: void
    signature: void blst_sk_to_pk_in_g2(POINTonE2 *out, const pow256 SK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_sign
      Src: /src/blst/src/e2.c:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - msg
    - SK
    argTypes:
    - POINTonE2*
    - POINTonE2*
    - pow256
    constantsTouched: []
    func_position:
      end: 547
      start: 546
    functionDepth: 5
    functionLinenumber: 546
    functionLinenumberEnd: 547
    functionName: blst_sign_pk_in_g1
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_sign
    linkageType: ''
    returnType: void
    signature: void blst_sign_pk_in_g1(POINTonE2 *out, const POINTonE2 *msg, const
      pow256 SK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_sign
      Src: /src/blst/src/e2.c:554,1
    - Dst: vec_copy
      Src: /src/blst/src/e2.c:556,1
    - Dst: POINTonE2_Serialize_BE
      Src: /src/blst/src/e2.c:558,1
    - Dst: vec_is_zero
      Src: /src/blst/src/e2.c:560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - out
    - PK
    - SK
    argTypes:
    - unsigned char[]
    - POINTonE2_affine*
    - pow256
    constantsTouched: []
    func_position:
      end: 562
      start: 549
    functionDepth: 6
    functionLinenumber: 549
    functionLinenumberEnd: 562
    functionName: blst_sk_to_pk2_in_g2
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_Serialize_BE
    - vec_copy
    - POINTonE2_sign
    - vec_is_zero
    linkageType: ''
    returnType: void
    signature: "void blst_sk_to_pk2_in_g2(unsigned char out[192], POINTonE2_affine
      *PK,\n                          const pow256 SK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_sign
      Src: /src/blst/src/e2.c:569,1
    - Dst: vec_copy
      Src: /src/blst/src/e2.c:571,1
    - Dst: POINTonE2_Serialize_BE
      Src: /src/blst/src/e2.c:573,1
    - Dst: vec_is_zero
      Src: /src/blst/src/e2.c:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - out
    - sig
    - hash
    - SK
    argTypes:
    - unsigned char[]
    - POINTonE2_affine*
    - POINTonE2*
    - pow256
    constantsTouched: []
    func_position:
      end: 577
      start: 564
    functionDepth: 6
    functionLinenumber: 564
    functionLinenumberEnd: 577
    functionName: blst_sign_pk2_in_g1
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_Serialize_BE
    - vec_copy
    - POINTonE2_sign
    - vec_is_zero
    linkageType: ''
    returnType: void
    signature: "void blst_sign_pk2_in_g1(unsigned char out[192], POINTonE2_affine
      *sig,\n                         const POINTonE2 *hash, const pow256 SK)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_mult_w4
      Src: /src/blst/src/e2.c:584,1
    - Dst: vec_zero
      Src: /src/blst/src/e2.c:586,1
    - Dst: check_mod_256
      Src: /src/blst/src/e2.c:598,1
    - Dst: POINTonE2_mult_gls
      Src: /src/blst/src/e2.c:599,1
    - Dst: POINTonE2_mult_w5
      Src: /src/blst/src/e2.c:601,1
    - Dst: vec_zero
      Src: /src/blst/src/e2.c:603,1
    - Dst: POINTonE2_mult_w5
      Src: /src/blst/src/e2.c:605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - out
    - a
    - scalar
    - nbits
    argTypes:
    - POINTonE2*
    - POINTonE2*
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 607
      start: 579
    functionDepth: 4
    functionLinenumber: 579
    functionLinenumberEnd: 607
    functionName: blst_p2_mult
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - POINTonE2_mult_w4
    - check_mod_256
    - POINTonE2_mult_w5
    - vec_zero
    - POINTonE2_mult_gls
    linkageType: ''
    returnType: void
    signature: "void blst_p2_mult(POINTonE2 *out, const POINTonE2 *a,\n                                  const
      byte *scalar, size_t nbits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POINTonE2_mult_w4
      Src: /src/blst/src/e2.c:613,1
    - Dst: vec_zero
      Src: /src/blst/src/e2.c:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - out
    - a
    - scalar
    - nbits
    argTypes:
    - POINTonE2*
    - POINTonE2*
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 616
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 616
    functionName: blst_p2_unchecked_mult
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - vec_zero
    - POINTonE2_mult_w4
    linkageType: ''
    returnType: void
    signature: "void blst_p2_unchecked_mult(POINTonE2 *out, const POINTonE2 *a,\n
      \                                           const byte *scalar, size_t nbits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_equal
      Src: /src/blst/src/e2.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - POINTonE2_affine*
    - POINTonE2_affine*
    constantsTouched: []
    func_position:
      end: 620
      start: 618
    functionDepth: 2
    functionLinenumber: 618
    functionLinenumberEnd: 620
    functionName: blst_p2_affine_is_equal
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - vec_is_equal
    linkageType: ''
    returnType: int
    signature: "int blst_p2_affine_is_equal(const POINTonE2_affine *a,\n                            const
      POINTonE2_affine *b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/e2.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINTonE2*
    constantsTouched: []
    func_position:
      end: 623
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 623
    functionName: blst_p2_is_inf
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - vec_is_zero
    linkageType: ''
    returnType: int
    signature: int blst_p2_is_inf(const POINTonE2 *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 626
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 626
    functionName: blst_p2_generator
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: POINTonE2
    signature: POINTonE2 *blst_p2_generator(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_is_zero
      Src: /src/blst/src/e2.c:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINTonE2_affine*
    constantsTouched: []
    func_position:
      end: 629
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 629
    functionName: blst_p2_affine_is_inf
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached:
    - vec_is_zero
    linkageType: ''
    returnType: int
    signature: int blst_p2_affine_is_inf(const POINTonE2_affine *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 632
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 632
    functionName: blst_p2_affine_generator
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: POINTonE2_affine
    signature: POINTonE2_affine *blst_p2_affine_generator(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 635
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 635
    functionName: blst_p2_sizeof
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t blst_p2_sizeof(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 638
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 638
    functionName: blst_p2_affine_sizeof
    functionSourceFile: /src/blst/src/e2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t blst_p2_affine_sizeof(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - h
    argTypes:
    - unsigned int[]
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: sha256_init_h
    functionSourceFile: /src/blst/src/sha256.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sha256_init_h(unsigned int h[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_init_h
      Src: /src/blst/src/sha256.h:54,1
    - Dst: vec_zero
      Src: /src/blst/src/sha256.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SHA256_CTX*
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: sha256_init
    functionSourceFile: /src/blst/src/sha256.h
    functionUses: 5
    functionsReached:
    - sha256_init_h
    - vec_zero
    linkageType: ''
    returnType: void
    signature: void sha256_init(SHA256_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_bcopy
      Src: /src/blst/src/sha256.h:71,1
    - Dst: sha256_bcopy
      Src: /src/blst/src/sha256.h:75,1
    - Dst: sha256_block_data_order
      Src: /src/blst/src/sha256.h:78,1
    - Dst: vec_zero
      Src: /src/blst/src/sha256.h:79,1
    - Dst: sha256_block_data_order
      Src: /src/blst/src/sha256.h:86,1
    - Dst: sha256_bcopy
      Src: /src/blst/src/sha256.h:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - _inp
    - len
    argTypes:
    - SHA256_CTX*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 94
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 94
    functionName: sha256_update
    functionSourceFile: /src/blst/src/sha256.h
    functionUses: 6
    functionsReached:
    - sha256_bcopy
    - sha256_block_data_order
    - vec_zero
    linkageType: ''
    returnType: void
    signature: void sha256_update(SHA256_CTX *ctx, const void *_inp, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __TOBE32
      Src: /src/blst/src/sha256.h:108,1
    - Dst: __TOBE32
      Src: /src/blst/src/sha256.h:109,1
    - Dst: __TOBE32
      Src: /src/blst/src/sha256.h:110,1
    - Dst: __TOBE32
      Src: /src/blst/src/sha256.h:111,1
    - Dst: __TOBE32
      Src: /src/blst/src/sha256.h:112,1
    - Dst: __TOBE32
      Src: /src/blst/src/sha256.h:113,1
    - Dst: __TOBE32
      Src: /src/blst/src/sha256.h:114,1
    - Dst: __TOBE32
      Src: /src/blst/src/sha256.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - md
    - h
    argTypes:
    - unsigned char[]
    - unsigned int[]
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: sha256_emit
    functionSourceFile: /src/blst/src/sha256.h
    functionUses: 3
    functionsReached:
    - __TOBE32
    linkageType: ''
    returnType: void
    signature: void sha256_emit(unsigned char md[32], const unsigned int h[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_block_data_order
      Src: /src/blst/src/sha256.h:128,1
    - Dst: vec_zero
      Src: /src/blst/src/sha256.h:129,1
    - Dst: __TOBE32
      Src: /src/blst/src/sha256.h:133,1
    - Dst: __TOBE32
      Src: /src/blst/src/sha256.h:134,1
    - Dst: sha256_block_data_order
      Src: /src/blst/src/sha256.h:135,1
    - Dst: sha256_emit
      Src: /src/blst/src/sha256.h:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - md
    - ctx
    argTypes:
    - unsigned char[]
    - SHA256_CTX*
    constantsTouched: []
    func_position:
      end: 137
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 137
    functionName: sha256_final
    functionSourceFile: /src/blst/src/sha256.h
    functionUses: 6
    functionsReached:
    - sha256_block_data_order
    - sha256_emit
    - vec_zero
    - __TOBE32
    linkageType: ''
    returnType: void
    signature: void sha256_final(unsigned char md[32], SHA256_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_copy
      Src: /src/blst/src/exp.c:18,1
    - Dst: sqr_mont_384
      Src: /src/blst/src/exp.c:21,1
    - Dst: is_bit_set
      Src: /src/blst/src/exp.c:22,1
    - Dst: mul_mont_384
      Src: /src/blst/src/exp.c:23,1
    - Dst: vec_copy
      Src: /src/blst/src/exp.c:25,1
    - Dst: vec_copy
      Src: /src/blst/src/exp.c:30,1
    - Dst: is_bit_set
      Src: /src/blst/src/exp.c:31,1
    - Dst: sqr_mont_384
      Src: /src/blst/src/exp.c:32,1
    - Dst: vec_copy
      Src: /src/blst/src/exp.c:33,1
    - Dst: sqr_mont_384
      Src: /src/blst/src/exp.c:35,1
    - Dst: is_bit_set
      Src: /src/blst/src/exp.c:36,1
    - Dst: mul_mont_384
      Src: /src/blst/src/exp.c:37,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 6
    argNames:
    - out
    - inp
    - pow
    - pow_bits
    - p
    - n0
    argTypes:
    - vec384
    - vec384
    - byte*
    - size_t
    - vec384
    - limb_t
    constantsTouched: []
    func_position:
      end: 40
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 40
    functionName: exp_mont_384
    functionSourceFile: /src/blst/src/exp.c
    functionUses: 2
    functionsReached:
    - mul_mont_384
    - is_bit_set
    - vec_copy
    - sqr_mont_384
    linkageType: ''
    returnType: void
    signature: "void exp_mont_384(vec384 out, const vec384 inp, const byte *pow,\n
      \                        size_t pow_bits, const vec384 p, limb_t n0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_copy
      Src: /src/blst/src/exp.c:47,1
    - Dst: sqr_mont_384x
      Src: /src/blst/src/exp.c:50,1
    - Dst: is_bit_set
      Src: /src/blst/src/exp.c:51,1
    - Dst: mul_mont_384x
      Src: /src/blst/src/exp.c:52,1
    - Dst: vec_copy
      Src: /src/blst/src/exp.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - out
    - inp
    - pow
    - pow_bits
    - p
    - n0
    argTypes:
    - vec384x
    - vec384x
    - byte*
    - size_t
    - vec384
    - limb_t
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: exp_mont_384x
    functionSourceFile: /src/blst/src/exp.c
    functionUses: 0
    functionsReached:
    - mul_mont_384x
    - is_bit_set
    - vec_copy
    - sqr_mont_384x
    linkageType: ''
    returnType: void
    signature: "void exp_mont_384x(vec384x out, const vec384x inp, const byte *pow,\n
      \                         size_t pow_bits, const vec384 p, limb_t n0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const byte*>
      Src: /src/blst/bindings/blst.hpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: blst::C_bytes
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const byte*>
    linkageType: ''
    returnType: byte
    signature: byte *C_bytes(const void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_keygen
      Src: /src/blst/bindings/blst.hpp:75,1
    - Dst: blst::C_bytes
      Src: /src/blst/bindings/blst.hpp:75,1
    - Dst: data
      Src: /src/blst/bindings/blst.hpp:75,1
    - Dst: size
      Src: /src/blst/bindings/blst.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - IKM
    - IKM_len
    argTypes:
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: blst::keygen
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_keygen
    - blst::C_bytes
    - data
    - size
    linkageType: ''
    returnType: void
    signature: "void keygen(const byte* IKM, size_t IKM_len,\n                const
      std::string& info = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_keygen_v3
      Src: /src/blst/bindings/blst.hpp:78,1
    - Dst: blst::C_bytes
      Src: /src/blst/bindings/blst.hpp:78,1
    - Dst: data
      Src: /src/blst/bindings/blst.hpp:78,1
    - Dst: size
      Src: /src/blst/bindings/blst.hpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - IKM
    - IKM_len
    argTypes:
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: blst::keygen_v3
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst::C_bytes
    - data
    - blst_keygen_v3
    - size
    linkageType: ''
    returnType: void
    signature: "void keygen_v3(const byte* IKM, size_t IKM_len,\n                   const
      std::string& info = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_keygen_v4_5
      Src: /src/blst/bindings/blst.hpp:82,1
    - Dst: blst::C_bytes
      Src: /src/blst/bindings/blst.hpp:83,1
    - Dst: data
      Src: /src/blst/bindings/blst.hpp:83,1
    - Dst: size
      Src: /src/blst/bindings/blst.hpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - IKM
    - IKM_len
    - salt
    - salt_len
    argTypes:
    - byte*
    - size_t
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: blst::keygen_v4_5
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst::C_bytes
    - blst_keygen_v4_5
    - data
    - size
    linkageType: ''
    returnType: void
    signature: "void keygen_v4_5(const byte* IKM, size_t IKM_len,\n                     const
      byte* salt, size_t salt_len,\n                     const std::string& info =
      \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_keygen_v5
      Src: /src/blst/bindings/blst.hpp:88,1
    - Dst: blst::C_bytes
      Src: /src/blst/bindings/blst.hpp:89,1
    - Dst: data
      Src: /src/blst/bindings/blst.hpp:89,1
    - Dst: size
      Src: /src/blst/bindings/blst.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - IKM
    - IKM_len
    - salt
    - salt_len
    argTypes:
    - byte*
    - size_t
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: blst::keygen_v5
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst::C_bytes
    - data
    - blst_keygen_v5
    - size
    linkageType: ''
    returnType: void
    signature: "void keygen_v5(const byte* IKM, size_t IKM_len,\n                   const
      byte* salt, size_t salt_len,\n                   const std::string& info = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::keygen
      Src: /src/blst/bindings/blst.hpp:94,1
    - Dst: blst::C_bytes
      Src: /src/blst/bindings/blst.hpp:94,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:94,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - IKM
    argTypes:
    - app__string_view
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: blst::keygen
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - blst::keygen
    - blst::C_bytes
    - app__string_view::data
    - app__string_view::size
    linkageType: ''
    returnType: void
    signature: "void keygen(const app__string_view IKM, // string_view by value, cool!\n
      \               const std::string& info = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::keygen_v3
      Src: /src/blst/bindings/blst.hpp:97,1
    - Dst: blst::C_bytes
      Src: /src/blst/bindings/blst.hpp:97,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:97,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - IKM
    argTypes:
    - app__string_view
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: blst::keygen_v3
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - blst::C_bytes
    - app__string_view::data
    - app__string_view::size
    - blst::keygen_v3
    linkageType: ''
    returnType: void
    signature: "void keygen_v3(const app__string_view IKM, // string_view by value,
      cool!\n                   const std::string& info = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::keygen_v4_5
      Src: /src/blst/bindings/blst.hpp:101,1
    - Dst: blst::C_bytes
      Src: /src/blst/bindings/blst.hpp:101,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:101,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:101,1
    - Dst: blst::C_bytes
      Src: /src/blst/bindings/blst.hpp:102,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:102,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - IKM
    - salt
    argTypes:
    - app__string_view
    - app__string_view
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: blst::keygen_v4_5
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - blst::C_bytes
    - app__string_view::data
    - app__string_view::size
    - blst::keygen_v4_5
    linkageType: ''
    returnType: void
    signature: "void keygen_v4_5(const app__string_view IKM, // string_view by value,
      cool!\n                     const app__string_view salt,\n                     const
      std::string& info = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::keygen_v5
      Src: /src/blst/bindings/blst.hpp:107,1
    - Dst: blst::C_bytes
      Src: /src/blst/bindings/blst.hpp:107,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:107,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:107,1
    - Dst: blst::C_bytes
      Src: /src/blst/bindings/blst.hpp:108,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:108,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - IKM
    - salt
    argTypes:
    - app__string_view
    - app__string_view
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: blst::keygen_v5
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - blst::C_bytes
    - blst::keygen_v5
    - app__string_view::data
    - app__string_view::size
    linkageType: ''
    returnType: void
    signature: "void keygen_v5(const app__string_view IKM, // string_view by value,
      cool!\n                   const app__string_view salt,\n                   const
      std::string& info = \"\")"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_derive_master_eip2333
      Src: /src/blst/bindings/blst.hpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - IKM
    - IKM_len
    argTypes:
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: blst::derive_master_eip2333
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_derive_master_eip2333
    linkageType: ''
    returnType: void
    signature: void derive_master_eip2333(const byte* IKM, size_t IKM_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_derive_child_eip2333
      Src: /src/blst/bindings/blst.hpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' SK'
    - child_index
    argTypes:
    - SecretKey
    - unsigned int
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 5
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: blst::derive_child_eip2333
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_derive_child_eip2333
    linkageType: ''
    returnType: void
    signature: void derive_child_eip2333(const SecretKey& SK, unsigned int child_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_scalar_from_bendian
      Src: /src/blst/bindings/blst.hpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: blst::from_bendian
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_scalar_from_bendian
    linkageType: ''
    returnType: void
    signature: void from_bendian(const byte in[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_scalar_from_lendian
      Src: /src/blst/bindings/blst.hpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: blst::from_lendian
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_scalar_from_lendian
    linkageType: ''
    returnType: void
    signature: void from_lendian(const byte in[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_bendian_from_scalar
      Src: /src/blst/bindings/blst.hpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: blst::to_bendian
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_bendian_from_scalar
    linkageType: ''
    returnType: void
    signature: void to_bendian(byte out[32]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_lendian_from_scalar
      Src: /src/blst/bindings/blst.hpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: blst::to_lendian
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_lendian_from_scalar
    linkageType: ''
    returnType: void
    signature: void to_lendian(byte out[32]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/blst/bindings/blst.hpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: blst::Scalar::Scalar
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Scalar()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_scalar_from_le_bytes
      Src: /src/blst/bindings/blst.hpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - scalar
    - nbits
    argTypes:
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: blst::Scalar::Scalar
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_scalar_from_le_bytes
    linkageType: ''
    returnType: void
    signature: void Scalar(const byte* scalar, size_t nbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::Scalar::hash_to
      Src: /src/blst/bindings/blst.hpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - msg_len
    - ' DST'
    argTypes:
    - byte*
    - size_t
    - std::string
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: blst::Scalar::Scalar
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst::Scalar::hash_to
    linkageType: ''
    returnType: void
    signature: void Scalar(const byte *msg, size_t msg_len, const std::string& DST)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::Scalar::hash_to
      Src: /src/blst/bindings/blst.hpp:137,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:137,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:137,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - app__string_view
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: blst::Scalar::Scalar
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - app__string_view::size
    - blst::Scalar::hash_to
    - C_bytes
    - app__string_view::data
    linkageType: ''
    returnType: void
    signature: void Scalar(const app__string_view msg, const std::string& DST = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_expand_message_xmd
      Src: /src/blst/bindings/blst.hpp:142,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:143,1
    - Dst: data
      Src: /src/blst/bindings/blst.hpp:143,1
    - Dst: size
      Src: /src/blst/bindings/blst.hpp:143,1
    - Dst: blst_scalar_from_be_bytes
      Src: /src/blst/bindings/blst.hpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - msg_len
    argTypes:
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: blst::Scalar::hash_to
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 2
    functionsReached:
    - C_bytes
    - blst_expand_message_xmd
    - data
    - size
    - blst_scalar_from_be_bytes
    linkageType: ''
    returnType: Scalar
    signature: Scalar * hash_to(const byte *msg, size_t msg_len, const std::string&
      DST = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::Scalar::hash_to
      Src: /src/blst/bindings/blst.hpp:149,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:149,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:149,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - app__string_view
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: blst::Scalar::hash_to
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 3
    functionsReached:
    - app__string_view::size
    - blst::Scalar::hash_to
    - C_bytes
    - app__string_view::data
    linkageType: ''
    returnType: Scalar
    signature: Scalar * hash_to(const app__string_view msg, const std::string& DST
      = "")
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: blst::Scalar::dup
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Scalar
    signature: Scalar dup() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_scalar_from_be_bytes
      Src: /src/blst/bindings/blst.hpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - msg_len
    argTypes:
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: blst::Scalar::from_bendian
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_scalar_from_be_bytes
    linkageType: ''
    returnType: Scalar
    signature: Scalar * from_bendian(const byte *msg, size_t msg_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_scalar_from_le_bytes
      Src: /src/blst/bindings/blst.hpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - msg_len
    argTypes:
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: blst::Scalar::from_lendian
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_scalar_from_le_bytes
    linkageType: ''
    returnType: Scalar
    signature: Scalar * from_lendian(const byte *msg, size_t msg_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_bendian_from_scalar
      Src: /src/blst/bindings/blst.hpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: blst::Scalar::to_bendian
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_bendian_from_scalar
    linkageType: ''
    returnType: void
    signature: void to_bendian(byte out[32]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_lendian_from_scalar
      Src: /src/blst/bindings/blst.hpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: blst::Scalar::to_lendian
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_lendian_from_scalar
    linkageType: ''
    returnType: void
    signature: void to_lendian(byte out[32]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_sk_add_n_check
      Src: /src/blst/bindings/blst.hpp:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: blst::Scalar::add
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_sk_add_n_check
    linkageType: ''
    returnType: Scalar
    signature: Scalar * add(const Scalar& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_sk_add_n_check
      Src: /src/blst/bindings/blst.hpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - SecretKey
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: blst::Scalar::add
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_sk_add_n_check
    linkageType: ''
    returnType: Scalar
    signature: Scalar * add(const SecretKey& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_sk_sub_n_check
      Src: /src/blst/bindings/blst.hpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: blst::Scalar::sub
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_sk_sub_n_check
    linkageType: ''
    returnType: Scalar
    signature: Scalar * sub(const Scalar& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_sk_mul_n_check
      Src: /src/blst/bindings/blst.hpp:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: blst::Scalar::mul
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_sk_mul_n_check
    linkageType: ''
    returnType: Scalar
    signature: Scalar * mul(const Scalar& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_sk_inverse
      Src: /src/blst/bindings/blst.hpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: blst::Scalar::inverse
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_sk_inverse
    linkageType: ''
    returnType: Scalar
    signature: Scalar * inverse()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: operator const blst_scalar*() const
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const blst_scalar*() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: operator const byte*() const
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const byte*() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cptr
    argTypes:
    - blst_p1_affine*
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: blst::P1_Affine::P1_Affine
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void P1_Affine(const blst_p1_affine *cptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/blst/bindings/blst.hpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: blst::P1_Affine::P1_Affine
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void P1_Affine()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_deserialize
      Src: /src/blst/bindings/blst.hpp:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - byte*
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 6
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: blst::P1_Affine::P1_Affine
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_deserialize
    linkageType: ''
    returnType: void
    signature: void P1_Affine(const byte *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_deserialize
      Src: /src/blst/bindings/blst.hpp:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - in
    - len
    argTypes:
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 6
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: blst::P1_Affine::P1_Affine
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_deserialize
    linkageType: ''
    returnType: void
    signature: void P1_Affine(const byte *in, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: blst::P1_Affine::dup
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: P1_Affine
    signature: P1_Affine dup() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_affine_serialize
      Src: /src/blst/bindings/blst.hpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 4
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: blst::P1_Affine::serialize
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_affine_serialize
    linkageType: ''
    returnType: void
    signature: void serialize(byte out[96]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_affine_compress
      Src: /src/blst/bindings/blst.hpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 4
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: blst::P1_Affine::compress
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_affine_compress
    linkageType: ''
    returnType: void
    signature: void compress(byte out[48]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_affine_on_curve
      Src: /src/blst/bindings/blst.hpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: blst::P1_Affine::on_curve
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_affine_on_curve
    linkageType: ''
    returnType: bool
    signature: bool on_curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_affine_in_g1
      Src: /src/blst/bindings/blst.hpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 4
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: blst::P1_Affine::in_group
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_affine_in_g1
    linkageType: ''
    returnType: bool
    signature: bool in_group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_affine_is_inf
      Src: /src/blst/bindings/blst.hpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: blst::P1_Affine::is_inf
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_affine_is_inf
    linkageType: ''
    returnType: bool
    signature: bool is_inf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_affine_is_equal
      Src: /src/blst/bindings/blst.hpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - P1_Affine
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: blst::P1_Affine::is_equal
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_affine_is_equal
    linkageType: ''
    returnType: bool
    signature: bool is_equal(const P1_Affine& p) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P1_Affine::P1_Affine
      Src: /src/blst/bindings/blst.hpp:237,1
    - Dst: blst_p1_affine_generator
      Src: /src/blst/bindings/blst.hpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: blst::P1_Affine::generator
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_affine_generator
    - blst::P1_Affine::P1_Affine
    linkageType: ''
    returnType: P1_Affine
    signature: P1_Affine generator()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 245
    functionName: operator const blst_p1_affine*() const
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const blst_p1_affine*() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: operator blst_p1_affine*()
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator blst_p1_affine*()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cptr
    argTypes:
    - blst_p1*
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: blst::P1::P1
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void P1(const blst_p1 *cptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/blst/bindings/blst.hpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: blst::P1::P1
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void P1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_sk_to_pk_in_g1
      Src: /src/blst/bindings/blst.hpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sk'
    argTypes:
    - SecretKey
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: blst::P1::P1
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_sk_to_pk_in_g1
    linkageType: ''
    returnType: void
    signature: void P1(const SecretKey& sk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_deserialize
      Src: /src/blst/bindings/blst.hpp:260,1
    - Dst: blst_p1_from_affine
      Src: /src/blst/bindings/blst.hpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - in
    argTypes:
    - byte*
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 6
    functionLinenumber: 258
    functionLinenumberEnd: 264
    functionName: blst::P1::P1
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_from_affine
    - blst_p1_deserialize
    linkageType: ''
    returnType: void
    signature: void P1(const byte *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_deserialize
      Src: /src/blst/bindings/blst.hpp:270,1
    - Dst: blst_p1_from_affine
      Src: /src/blst/bindings/blst.hpp:273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - in
    - len
    argTypes:
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 274
      start: 266
    functionDepth: 6
    functionLinenumber: 266
    functionLinenumberEnd: 274
    functionName: blst::P1::P1
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_from_affine
    - blst_p1_deserialize
    linkageType: ''
    returnType: void
    signature: void P1(const byte *in, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_from_affine
      Src: /src/blst/bindings/blst.hpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' affine'
    argTypes:
    - P1_Affine
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: blst::P1::P1
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_from_affine
    linkageType: ''
    returnType: void
    signature: void P1(const P1_Affine& affine)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: blst::P1::dup
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: P1
    signature: P1 dup() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: P1_Affine
      Src: /src/blst/bindings/blst.hpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: blst::P1::to_affine
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - P1_Affine
    linkageType: ''
    returnType: P1_Affine
    signature: P1_Affine to_affine() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_serialize
      Src: /src/blst/bindings/blst.hpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 6
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: blst::P1::serialize
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_serialize
    linkageType: ''
    returnType: void
    signature: void serialize(byte out[96]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_compress
      Src: /src/blst/bindings/blst.hpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 5
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: blst::P1::compress
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_compress
    linkageType: ''
    returnType: void
    signature: void compress(byte out[48]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_on_curve
      Src: /src/blst/bindings/blst.hpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 5
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: blst::P1::on_curve
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_on_curve
    linkageType: ''
    returnType: bool
    signature: bool on_curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_in_g1
      Src: /src/blst/bindings/blst.hpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 4
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: blst::P1::in_group
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_in_g1
    linkageType: ''
    returnType: bool
    signature: bool in_group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_is_inf
      Src: /src/blst/bindings/blst.hpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: blst::P1::is_inf
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_is_inf
    linkageType: ''
    returnType: bool
    signature: bool is_inf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_is_equal
      Src: /src/blst/bindings/blst.hpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - P1
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: blst::P1::is_equal
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_is_equal
    linkageType: ''
    returnType: bool
    signature: bool is_equal(const P1& p) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_affine_in_g1
      Src: /src/blst/bindings/blst.hpp:287,1
    - Dst: blst_p1_add_or_double_affine
      Src: /src/blst/bindings/blst.hpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - P1_Affine
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 4
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: blst::P1::aggregate
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_affine_in_g1
    - blst_p1_add_or_double_affine
    linkageType: ''
    returnType: void
    signature: void aggregate(const P1_Affine& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_sign_pk_in_g2
      Src: /src/blst/bindings/blst.hpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sk'
    argTypes:
    - SecretKey
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 5
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: blst::P1::sign_with
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_sign_pk_in_g2
    linkageType: ''
    returnType: P1
    signature: P1 * sign_with(const SecretKey& sk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_sign_pk_in_g2
      Src: /src/blst/bindings/blst.hpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' scalar'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 5
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: blst::P1::sign_with
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_sign_pk_in_g2
    linkageType: ''
    returnType: P1
    signature: P1 * sign_with(const Scalar& scalar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_hash_to_g1
      Src: /src/blst/bindings/blst.hpp:299,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:299,1
    - Dst: data
      Src: /src/blst/bindings/blst.hpp:299,1
    - Dst: size
      Src: /src/blst/bindings/blst.hpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - msg_len
    argTypes:
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 302
      start: 296
    functionDepth: 6
    functionLinenumber: 296
    functionLinenumberEnd: 302
    functionName: blst::P1::hash_to
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - data
    - blst_hash_to_g1
    - C_bytes
    - size
    linkageType: ''
    returnType: P1
    signature: "P1 * hash_to(const byte* msg, size_t msg_len,\n                const
      std::string& DST = \"\",\n                const byte* aug = nullptr, size_t
      aug_len = 0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_encode_to_g1
      Src: /src/blst/bindings/blst.hpp:306,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:306,1
    - Dst: data
      Src: /src/blst/bindings/blst.hpp:306,1
    - Dst: size
      Src: /src/blst/bindings/blst.hpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - msg_len
    argTypes:
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 309
      start: 303
    functionDepth: 6
    functionLinenumber: 303
    functionLinenumberEnd: 309
    functionName: blst::P1::encode_to
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - C_bytes
    - data
    - blst_encode_to_g1
    - size
    linkageType: ''
    returnType: P1
    signature: "P1 * encode_to(const byte* msg, size_t msg_len,\n                  const
      std::string& DST = \"\",\n                  const byte* aug = nullptr, size_t
      aug_len = 0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P1::hash_to
      Src: /src/blst/bindings/blst.hpp:313,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:313,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:313,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:313,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:314,1
    - Dst: data
      Src: /src/blst/bindings/blst.hpp:314,1
    - Dst: size
      Src: /src/blst/bindings/blst.hpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - app__string_view
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: blst::P1::hash_to
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - app__string_view::size
    - C_bytes
    - app__string_view::data
    - data
    - size
    - blst::P1::hash_to
    linkageType: ''
    returnType: P1
    signature: "P1 * hash_to(const app__string_view msg, const std::string& DST =
      \"\",\n                const app__string_view aug = None)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P1::encode_to
      Src: /src/blst/bindings/blst.hpp:318,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:318,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:318,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:318,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:319,1
    - Dst: data
      Src: /src/blst/bindings/blst.hpp:319,1
    - Dst: size
      Src: /src/blst/bindings/blst.hpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - app__string_view
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: blst::P1::encode_to
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - app__string_view::size
    - C_bytes
    - blst::P1::encode_to
    - app__string_view::data
    - data
    - size
    linkageType: ''
    returnType: P1
    signature: "P1 * encode_to(const app__string_view msg, const std::string& DST
      = \"\",\n                  const app__string_view aug = None)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_mult
      Src: /src/blst/bindings/blst.hpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - scalar
    - nbits
    argTypes:
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 323
      start: 322
    functionDepth: 4
    functionLinenumber: 322
    functionLinenumberEnd: 323
    functionName: blst::P1::mult
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_mult
    linkageType: ''
    returnType: P1
    signature: P1 * mult(const byte* scalar, size_t nbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_mult
      Src: /src/blst/bindings/blst.hpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' scalar'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 325
      start: 324
    functionDepth: 4
    functionLinenumber: 324
    functionLinenumberEnd: 325
    functionName: blst::P1::mult
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_mult
    linkageType: ''
    returnType: P1
    signature: P1 * mult(const Scalar& scalar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_cneg
      Src: /src/blst/bindings/blst.hpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 327
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 327
    functionName: blst::P1::cneg
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_cneg
    linkageType: ''
    returnType: P1
    signature: P1 * cneg(bool flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_cneg
      Src: /src/blst/bindings/blst.hpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 329
    functionName: blst::P1::neg
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_cneg
    linkageType: ''
    returnType: P1
    signature: P1 * neg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_add_or_double
      Src: /src/blst/bindings/blst.hpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - P1
    constantsTouched: []
    func_position:
      end: 331
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 331
    functionName: blst::P1::add
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_add_or_double
    linkageType: ''
    returnType: P1
    signature: P1 * add(const P1& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_add_or_double_affine
      Src: /src/blst/bindings/blst.hpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - P1_Affine
    constantsTouched: []
    func_position:
      end: 333
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 333
    functionName: blst::P1::add
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_add_or_double_affine
    linkageType: ''
    returnType: P1
    signature: P1 * add(const P1_Affine &a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_double
      Src: /src/blst/bindings/blst.hpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 335
    functionName: blst::P1::dbl
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_double
    linkageType: ''
    returnType: P1
    signature: P1 * dbl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_add_or_double
      Src: /src/blst/bindings/blst.hpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - P1
    - P1
    constantsTouched: []
    func_position:
      end: 338
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 338
    functionName: blst::P1::add
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_add_or_double
    linkageType: ''
    returnType: P1
    signature: P1 add(const P1& a, const P1& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_add_or_double_affine
      Src: /src/blst/bindings/blst.hpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - P1
    - P1_Affine
    constantsTouched: []
    func_position:
      end: 340
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 340
    functionName: blst::P1::add
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_add_or_double_affine
    linkageType: ''
    returnType: P1
    signature: P1 add(const P1& a, const P1_Affine& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_double
      Src: /src/blst/bindings/blst.hpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - P1
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: blst::P1::dbl
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1_double
    linkageType: ''
    returnType: P1
    signature: P1 dbl(const P1& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P1::P1
      Src: /src/blst/bindings/blst.hpp:345,1
    - Dst: blst_p1_generator
      Src: /src/blst/bindings/blst.hpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 345
    functionName: blst::P1::generator
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst::P1::P1
    - blst_p1_generator
    linkageType: ''
    returnType: P1
    signature: P1 generator()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 350
    functionName: operator const blst_p1*() const
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const blst_p1*() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: operator blst_p1*()
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator blst_p1*()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: blst::P1_Affines::p1_affine_no_init
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void p1_affine_no_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: operator blst_p1_affine*()
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator blst_p1_affine*()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: operator const blst_p1_affine*() const
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const blst_p1_affine*() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 368
    functionName: blst::P1_Affines::P1_Affines
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void P1_Affines()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/blst/bindings/blst.hpp:372,1
    - Dst: blst_p1s_mult_wbits_precompute
      Src: /src/blst/bindings/blst.hpp:373,1
    - Dst: reinterpret_cast<const blst_p1_affine *const*>
      Src: /src/blst/bindings/blst.hpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - wbits
    - points
    - npoints
    argTypes:
    - size_t
    - P1_Affine*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 376
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 376
    functionName: blst::P1_Affines::P1_Affines
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1s_mult_wbits_precompute
    - resize
    - reinterpret_cast<const blst_p1_affine *const*>
    linkageType: ''
    returnType: void
    signature: void P1_Affines(size_t wbits, const P1_Affine* const points[], size_t
      npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P1_Affines::P1_Affines
      Src: /src/blst/bindings/blst.hpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wbits
    - points
    - npoints
    argTypes:
    - size_t
    - P1_Affine[]
    - size_t
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: blst::P1_Affines::P1_Affines
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - blst::P1_Affines::P1_Affines
    linkageType: ''
    returnType: void
    signature: void P1_Affines(size_t wbits, const P1_Affine points[], size_t npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P1_Affines::P1_Affines
      Src: /src/blst/bindings/blst.hpp:382,1
    - Dst: std::vector<P1_Affine>::size
      Src: /src/blst/bindings/blst.hpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wbits
    - points
    argTypes:
    - size_t
    - std::vector<P1_Affine>
    constantsTouched: []
    func_position:
      end: 382
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 382
    functionName: blst::P1_Affines::P1_Affines
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 2
    functionsReached:
    - std::vector<P1_Affine>::size
    - blst::P1_Affines::P1_Affines
    linkageType: ''
    returnType: void
    signature: void P1_Affines(size_t wbits, const std::vector<P1_Affine> points)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/blst/bindings/blst.hpp:389,1
    - Dst: blst_p1s_to_affine
      Src: /src/blst/bindings/blst.hpp:390,1
    - Dst: reinterpret_cast<const blst_p1 *const*>
      Src: /src/blst/bindings/blst.hpp:391,1
    - Dst: blst_p1s_mult_wbits_precompute
      Src: /src/blst/bindings/blst.hpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - wbits
    - points
    - npoints
    argTypes:
    - size_t
    - P1*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 395
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 395
    functionName: blst::P1_Affines::P1_Affines
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 2
    functionsReached:
    - blst_p1s_mult_wbits_precompute
    - resize
    - blst_p1s_to_affine
    - reinterpret_cast<const blst_p1 *const*>
    linkageType: ''
    returnType: void
    signature: void P1_Affines(size_t wbits, const P1* const points[], size_t npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P1_Affines::P1_Affines
      Src: /src/blst/bindings/blst.hpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wbits
    - points
    - npoints
    argTypes:
    - size_t
    - P1[]
    - size_t
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: blst::P1_Affines::P1_Affines
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 3
    functionsReached:
    - blst::P1_Affines::P1_Affines
    linkageType: ''
    returnType: void
    signature: void P1_Affines(size_t wbits, const P1 points[], size_t npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P1_Affines::P1_Affines
      Src: /src/blst/bindings/blst.hpp:401,1
    - Dst: std::vector<P1>::size
      Src: /src/blst/bindings/blst.hpp:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wbits
    - points
    argTypes:
    - size_t
    - std::vector<P1>
    constantsTouched: []
    func_position:
      end: 401
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 401
    functionName: blst::P1_Affines::P1_Affines
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 4
    functionsReached:
    - blst::P1_Affines::P1_Affines
    - std::vector<P1>::size
    linkageType: ''
    returnType: void
    signature: void P1_Affines(size_t wbits, const std::vector<P1> points)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/blst/bindings/blst.hpp:406,1
    - Dst: blst_p1s_to_affine
      Src: /src/blst/bindings/blst.hpp:407,1
    - Dst: reinterpret_cast<const blst_p1 *const*>
      Src: /src/blst/bindings/blst.hpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - points
    - npoints
    argTypes:
    - P1*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 410
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 410
    functionName: blst::P1_Affines::P1_Affines
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 4
    functionsReached:
    - resize
    - blst_p1s_to_affine
    - reinterpret_cast<const blst_p1 *const*>
    linkageType: ''
    returnType: void
    signature: void P1_Affines(const P1* const points[], size_t npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P1_Affines::P1_Affines
      Src: /src/blst/bindings/blst.hpp:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - points
    - npoints
    argTypes:
    - P1[]
    - size_t
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 414
    functionName: blst::P1_Affines::P1_Affines
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 5
    functionsReached:
    - blst::P1_Affines::P1_Affines
    linkageType: ''
    returnType: void
    signature: void P1_Affines(const P1 points[], size_t npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P1_Affines::P1_Affines
      Src: /src/blst/bindings/blst.hpp:416,1
    - Dst: std::vector<P1>::size
      Src: /src/blst/bindings/blst.hpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - points
    argTypes:
    - std::vector<P1>
    constantsTouched: []
    func_position:
      end: 416
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 416
    functionName: blst::P1_Affines::P1_Affines
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 6
    functionsReached:
    - blst::P1_Affines::P1_Affines
    - std::vector<P1>::size
    linkageType: ''
    returnType: void
    signature: void P1_Affines(const std::vector<P1> points)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limb_t::limb_t
      Src: /src/blst/bindings/blst.hpp:423,1
    - Dst: blst_p1s_mult_wbits
      Src: /src/blst/bindings/blst.hpp:424,1
    - Dst: std::unique_ptr::get
      Src: /src/blst/bindings/blst.hpp:425,1
    - Dst: limb_t::limb_t
      Src: /src/blst/bindings/blst.hpp:428,1
    - Dst: blst_p1s_mult_pippenger
      Src: /src/blst/bindings/blst.hpp:430,1
    - Dst: std::unique_ptr::get
      Src: /src/blst/bindings/blst.hpp:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - scalars
    - nbits
    argTypes:
    - byte*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 434
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 434
    functionName: blst::P1_Affines::mult
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1s_mult_pippenger
    - std::unique_ptr::get
    - limb_t::limb_t
    - blst_p1s_mult_wbits
    linkageType: ''
    returnType: P1
    signature: P1 mult(const byte* const scalars[], size_t nbits) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/blst/bindings/blst.hpp:438,1
    - Dst: blst_p1s_to_affine
      Src: /src/blst/bindings/blst.hpp:439,1
    - Dst: reinterpret_cast<const blst_p1 *const*>
      Src: /src/blst/bindings/blst.hpp:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - points
    - npoints
    argTypes:
    - P1*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 443
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 443
    functionName: blst::P1_Affines::from
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - std::vector::resize
    - blst_p1s_to_affine
    - reinterpret_cast<const blst_p1 *const*>
    linkageType: ''
    returnType: std::vector<P1_Affine>
    signature: std::vector<P1_Affine> from(const P1* const points[], size_t npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P1_Affines::from
      Src: /src/blst/bindings/blst.hpp:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - points
    - npoints
    argTypes:
    - P1[]
    - size_t
    constantsTouched: []
    func_position:
      end: 447
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 447
    functionName: blst::P1_Affines::from
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - blst::P1_Affines::from
    linkageType: ''
    returnType: std::vector<P1_Affine>
    signature: std::vector<P1_Affine> from(const P1 points[], size_t npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P1_Affines::from
      Src: /src/blst/bindings/blst.hpp:449,1
    - Dst: std::vector<P1>::size
      Src: /src/blst/bindings/blst.hpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - points
    argTypes:
    - std::vector<P1>
    constantsTouched: []
    func_position:
      end: 449
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 449
    functionName: blst::P1_Affines::from
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 2
    functionsReached:
    - std::vector<P1>::size
    - blst::P1_Affines::from
    linkageType: ''
    returnType: std::vector<P1_Affine>
    signature: std::vector<P1_Affine> from(std::vector<P1> points)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limb_t::limb_t
      Src: /src/blst/bindings/blst.hpp:456,1
    - Dst: blst_p1s_mult_pippenger
      Src: /src/blst/bindings/blst.hpp:457,1
    - Dst: reinterpret_cast<const blst_p1_affine *const*>
      Src: /src/blst/bindings/blst.hpp:458,1
    - Dst: std::unique_ptr::get
      Src: /src/blst/bindings/blst.hpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - points
    - npoints
    - scalars
    - nbits
    argTypes:
    - P1_Affine*[]
    - size_t
    - byte*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 461
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 461
    functionName: blst::P1_Affines::mult_pippenger
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1s_mult_pippenger
    - std::unique_ptr::get
    - limb_t::limb_t
    - reinterpret_cast<const blst_p1_affine *const*>
    linkageType: ''
    returnType: P1
    signature: "P1 mult_pippenger(const P1_Affine* const points[], size_t npoints,\n
      \                            const byte* const scalars[], size_t nbits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P1_Affines::mult_pippenger
      Src: /src/blst/bindings/blst.hpp:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - points
    - npoints
    - scalars
    - nbits
    argTypes:
    - P1_Affine[]
    - size_t
    - byte*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: blst::P1_Affines::mult_pippenger
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - blst::P1_Affines::mult_pippenger
    linkageType: ''
    returnType: P1
    signature: "P1 mult_pippenger(const P1_Affine points[], size_t npoints,\n                             const
      byte* const scalars[], size_t nbits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P1_Affines::mult_pippenger
      Src: /src/blst/bindings/blst.hpp:470,1
    - Dst: std::vector<P1_Affine>::size
      Src: /src/blst/bindings/blst.hpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - points
    - scalars
    - nbits
    argTypes:
    - std::vector<P1_Affine>
    - byte*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionName: blst::P1_Affines::mult_pippenger
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 2
    functionsReached:
    - std::vector<P1_Affine>::size
    - blst::P1_Affines::mult_pippenger
    linkageType: ''
    returnType: P1
    signature: "P1 mult_pippenger(const std::vector<P1_Affine> points,\n                             const
      byte* const scalars[], size_t nbits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1s_add
      Src: /src/blst/bindings/blst.hpp:475,1
    - Dst: reinterpret_cast<const blst_p1_affine *const*>
      Src: /src/blst/bindings/blst.hpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - points
    - npoints
    argTypes:
    - P1_Affine*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 479
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 479
    functionName: blst::P1_Affines::add
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p1s_add
    - reinterpret_cast<const blst_p1_affine *const*>
    linkageType: ''
    returnType: P1
    signature: P1 add(const P1_Affine* const points[], size_t npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P1_Affines::add
      Src: /src/blst/bindings/blst.hpp:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - points
    - npoints
    argTypes:
    - P1_Affine[]
    - size_t
    constantsTouched: []
    func_position:
      end: 484
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 484
    functionName: blst::P1_Affines::add
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - blst::P1_Affines::add
    linkageType: ''
    returnType: P1
    signature: P1 add(const P1_Affine points[], size_t npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P1_Affines::add
      Src: /src/blst/bindings/blst.hpp:486,1
    - Dst: std::vector<P1_Affine>::size
      Src: /src/blst/bindings/blst.hpp:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - points
    argTypes:
    - std::vector<P1_Affine>
    constantsTouched: []
    func_position:
      end: 486
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 486
    functionName: blst::P1_Affines::add
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 2
    functionsReached:
    - std::vector<P1_Affine>::size
    - blst::P1_Affines::add
    linkageType: ''
    returnType: P1
    signature: P1 add(const std::vector<P1_Affine> points)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cptr
    argTypes:
    - blst_p2_affine*
    constantsTouched: []
    func_position:
      end: 494
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 494
    functionName: blst::P2_Affine::P2_Affine
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void P2_Affine(const blst_p2_affine *cptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/blst/bindings/blst.hpp:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 496
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 496
    functionName: blst::P2_Affine::P2_Affine
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void P2_Affine()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_deserialize
      Src: /src/blst/bindings/blst.hpp:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - byte*
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 8
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: blst::P2_Affine::P2_Affine
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_deserialize
    linkageType: ''
    returnType: void
    signature: void P2_Affine(const byte *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_deserialize
      Src: /src/blst/bindings/blst.hpp:507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - in
    - len
    argTypes:
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 510
      start: 504
    functionDepth: 8
    functionLinenumber: 504
    functionLinenumberEnd: 510
    functionName: blst::P2_Affine::P2_Affine
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_deserialize
    linkageType: ''
    returnType: void
    signature: void P2_Affine(const byte *in, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 513
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 513
    functionName: blst::P2_Affine::dup
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: P2_Affine
    signature: P2_Affine dup() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_affine_serialize
      Src: /src/blst/bindings/blst.hpp:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 5
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: blst::P2_Affine::serialize
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_affine_serialize
    linkageType: ''
    returnType: void
    signature: void serialize(byte out[192]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_affine_compress
      Src: /src/blst/bindings/blst.hpp:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 518
      start: 517
    functionDepth: 6
    functionLinenumber: 517
    functionLinenumberEnd: 518
    functionName: blst::P2_Affine::compress
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_affine_compress
    linkageType: ''
    returnType: void
    signature: void compress(byte out[96]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_affine_on_curve
      Src: /src/blst/bindings/blst.hpp:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 519
      start: 519
    functionDepth: 4
    functionLinenumber: 519
    functionLinenumberEnd: 519
    functionName: blst::P2_Affine::on_curve
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_affine_on_curve
    linkageType: ''
    returnType: bool
    signature: bool on_curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_affine_in_g2
      Src: /src/blst/bindings/blst.hpp:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 520
      start: 520
    functionDepth: 4
    functionLinenumber: 520
    functionLinenumberEnd: 520
    functionName: blst::P2_Affine::in_group
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_affine_in_g2
    linkageType: ''
    returnType: bool
    signature: bool in_group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_affine_is_inf
      Src: /src/blst/bindings/blst.hpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 521
      start: 521
    functionDepth: 3
    functionLinenumber: 521
    functionLinenumberEnd: 521
    functionName: blst::P2_Affine::is_inf
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_affine_is_inf
    linkageType: ''
    returnType: bool
    signature: bool is_inf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_affine_is_equal
      Src: /src/blst/bindings/blst.hpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - P2_Affine
    constantsTouched: []
    func_position:
      end: 523
      start: 522
    functionDepth: 3
    functionLinenumber: 522
    functionLinenumberEnd: 523
    functionName: blst::P2_Affine::is_equal
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_affine_is_equal
    linkageType: ''
    returnType: bool
    signature: bool is_equal(const P2_Affine& p) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P2_Affine::P2_Affine
      Src: /src/blst/bindings/blst.hpp:535,1
    - Dst: blst_p2_affine_generator
      Src: /src/blst/bindings/blst.hpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 535
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 535
    functionName: blst::P2_Affine::generator
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_affine_generator
    - blst::P2_Affine::P2_Affine
    linkageType: ''
    returnType: P2_Affine
    signature: P2_Affine generator()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 543
    functionName: operator const blst_p2_affine*() const
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const blst_p2_affine*() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 544
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 544
    functionName: operator blst_p2_affine*()
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator blst_p2_affine*()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cptr
    argTypes:
    - blst_p2*
    constantsTouched: []
    func_position:
      end: 551
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 551
    functionName: blst::P2::P2
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void P2(const blst_p2 *cptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/blst/bindings/blst.hpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 553
    functionName: blst::P2::P2
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void P2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_sk_to_pk_in_g2
      Src: /src/blst/bindings/blst.hpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sk'
    argTypes:
    - SecretKey
    constantsTouched: []
    func_position:
      end: 554
      start: 554
    functionDepth: 6
    functionLinenumber: 554
    functionLinenumberEnd: 554
    functionName: blst::P2::P2
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_sk_to_pk_in_g2
    linkageType: ''
    returnType: void
    signature: void P2(const SecretKey& sk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_deserialize
      Src: /src/blst/bindings/blst.hpp:558,1
    - Dst: blst_p2_from_affine
      Src: /src/blst/bindings/blst.hpp:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - in
    argTypes:
    - byte*
    constantsTouched: []
    func_position:
      end: 562
      start: 556
    functionDepth: 8
    functionLinenumber: 556
    functionLinenumberEnd: 562
    functionName: blst::P2::P2
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_from_affine
    - blst_p2_deserialize
    linkageType: ''
    returnType: void
    signature: void P2(const byte *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_deserialize
      Src: /src/blst/bindings/blst.hpp:568,1
    - Dst: blst_p2_from_affine
      Src: /src/blst/bindings/blst.hpp:571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - in
    - len
    argTypes:
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 572
      start: 564
    functionDepth: 8
    functionLinenumber: 564
    functionLinenumberEnd: 572
    functionName: blst::P2::P2
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_from_affine
    - blst_p2_deserialize
    linkageType: ''
    returnType: void
    signature: void P2(const byte *in, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_from_affine
      Src: /src/blst/bindings/blst.hpp:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' affine'
    argTypes:
    - P2_Affine
    constantsTouched: []
    func_position:
      end: 573
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 573
    functionName: blst::P2::P2
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_from_affine
    linkageType: ''
    returnType: void
    signature: void P2(const P2_Affine& affine)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 575
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 575
    functionName: blst::P2::dup
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: P2
    signature: P2 dup() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: P2_Affine
      Src: /src/blst/bindings/blst.hpp:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: blst::P2::to_affine
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - P2_Affine
    linkageType: ''
    returnType: P2_Affine
    signature: P2_Affine to_affine() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_serialize
      Src: /src/blst/bindings/blst.hpp:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 577
      start: 577
    functionDepth: 8
    functionLinenumber: 577
    functionLinenumberEnd: 577
    functionName: blst::P2::serialize
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_serialize
    linkageType: ''
    returnType: void
    signature: void serialize(byte out[192]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_compress
      Src: /src/blst/bindings/blst.hpp:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 578
      start: 578
    functionDepth: 7
    functionLinenumber: 578
    functionLinenumberEnd: 578
    functionName: blst::P2::compress
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_compress
    linkageType: ''
    returnType: void
    signature: void compress(byte out[96]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_on_curve
      Src: /src/blst/bindings/blst.hpp:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 579
      start: 579
    functionDepth: 5
    functionLinenumber: 579
    functionLinenumberEnd: 579
    functionName: blst::P2::on_curve
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_on_curve
    linkageType: ''
    returnType: bool
    signature: bool on_curve() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_in_g2
      Src: /src/blst/bindings/blst.hpp:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 580
      start: 580
    functionDepth: 4
    functionLinenumber: 580
    functionLinenumberEnd: 580
    functionName: blst::P2::in_group
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_in_g2
    linkageType: ''
    returnType: bool
    signature: bool in_group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_is_inf
      Src: /src/blst/bindings/blst.hpp:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 581
      start: 581
    functionDepth: 3
    functionLinenumber: 581
    functionLinenumberEnd: 581
    functionName: blst::P2::is_inf
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_is_inf
    linkageType: ''
    returnType: bool
    signature: bool is_inf() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_is_equal
      Src: /src/blst/bindings/blst.hpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - P2
    constantsTouched: []
    func_position:
      end: 583
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 583
    functionName: blst::P2::is_equal
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_is_equal
    linkageType: ''
    returnType: bool
    signature: bool is_equal(const P2& p) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_affine_in_g2
      Src: /src/blst/bindings/blst.hpp:585,1
    - Dst: blst_p2_add_or_double_affine
      Src: /src/blst/bindings/blst.hpp:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - P2_Affine
    constantsTouched: []
    func_position:
      end: 589
      start: 584
    functionDepth: 4
    functionLinenumber: 584
    functionLinenumberEnd: 589
    functionName: blst::P2::aggregate
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_add_or_double_affine
    - blst_p2_affine_in_g2
    linkageType: ''
    returnType: void
    signature: void aggregate(const P2_Affine& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_sign_pk_in_g1
      Src: /src/blst/bindings/blst.hpp:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' sk'
    argTypes:
    - SecretKey
    constantsTouched: []
    func_position:
      end: 591
      start: 590
    functionDepth: 6
    functionLinenumber: 590
    functionLinenumberEnd: 591
    functionName: blst::P2::sign_with
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_sign_pk_in_g1
    linkageType: ''
    returnType: P2
    signature: P2 * sign_with(const SecretKey& sk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_sign_pk_in_g1
      Src: /src/blst/bindings/blst.hpp:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' scalar'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 593
      start: 592
    functionDepth: 6
    functionLinenumber: 592
    functionLinenumberEnd: 593
    functionName: blst::P2::sign_with
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_sign_pk_in_g1
    linkageType: ''
    returnType: P2
    signature: P2 * sign_with(const Scalar& scalar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_hash_to_g2
      Src: /src/blst/bindings/blst.hpp:597,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:597,1
    - Dst: data
      Src: /src/blst/bindings/blst.hpp:597,1
    - Dst: size
      Src: /src/blst/bindings/blst.hpp:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - msg_len
    argTypes:
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 600
      start: 594
    functionDepth: 7
    functionLinenumber: 594
    functionLinenumberEnd: 600
    functionName: blst::P2::hash_to
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - C_bytes
    - data
    - blst_hash_to_g2
    - size
    linkageType: ''
    returnType: P2
    signature: "P2 * hash_to(const byte* msg, size_t msg_len,\n                const
      std::string& DST = \"\",\n                const byte* aug = nullptr, size_t
      aug_len = 0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_encode_to_g2
      Src: /src/blst/bindings/blst.hpp:604,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:604,1
    - Dst: data
      Src: /src/blst/bindings/blst.hpp:604,1
    - Dst: size
      Src: /src/blst/bindings/blst.hpp:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - msg_len
    argTypes:
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 607
      start: 601
    functionDepth: 7
    functionLinenumber: 601
    functionLinenumberEnd: 607
    functionName: blst::P2::encode_to
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - C_bytes
    - data
    - blst_encode_to_g2
    - size
    linkageType: ''
    returnType: P2
    signature: "P2 * encode_to(const byte* msg, size_t msg_len,\n                  const
      std::string& DST = \"\",\n                  const byte* aug = nullptr, size_t
      aug_len = 0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P2::hash_to
      Src: /src/blst/bindings/blst.hpp:611,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:611,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:611,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:611,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:612,1
    - Dst: data
      Src: /src/blst/bindings/blst.hpp:612,1
    - Dst: size
      Src: /src/blst/bindings/blst.hpp:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - app__string_view
    constantsTouched: []
    func_position:
      end: 613
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 613
    functionName: blst::P2::hash_to
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - app__string_view::size
    - C_bytes
    - app__string_view::data
    - data
    - size
    - blst::P2::hash_to
    linkageType: ''
    returnType: P2
    signature: "P2 * hash_to(const app__string_view msg, const std::string& DST =
      \"\",\n                const app__string_view aug = None)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P2::encode_to
      Src: /src/blst/bindings/blst.hpp:616,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:616,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:616,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:616,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:617,1
    - Dst: data
      Src: /src/blst/bindings/blst.hpp:617,1
    - Dst: size
      Src: /src/blst/bindings/blst.hpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - app__string_view
    constantsTouched: []
    func_position:
      end: 618
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 618
    functionName: blst::P2::encode_to
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - app__string_view::size
    - C_bytes
    - app__string_view::data
    - data
    - size
    - blst::P2::encode_to
    linkageType: ''
    returnType: P2
    signature: "P2 * encode_to(const app__string_view msg, const std::string& DST
      = \"\",\n                  const app__string_view aug = None)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_mult
      Src: /src/blst/bindings/blst.hpp:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - scalar
    - nbits
    argTypes:
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 621
      start: 620
    functionDepth: 5
    functionLinenumber: 620
    functionLinenumberEnd: 621
    functionName: blst::P2::mult
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_mult
    linkageType: ''
    returnType: P2
    signature: P2 * mult(const byte* scalar, size_t nbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_mult
      Src: /src/blst/bindings/blst.hpp:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' scalar'
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 623
      start: 622
    functionDepth: 5
    functionLinenumber: 622
    functionLinenumberEnd: 623
    functionName: blst::P2::mult
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_mult
    linkageType: ''
    returnType: P2
    signature: P2 * mult(const Scalar& scalar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_cneg
      Src: /src/blst/bindings/blst.hpp:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 625
      start: 624
    functionDepth: 3
    functionLinenumber: 624
    functionLinenumberEnd: 625
    functionName: blst::P2::cneg
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_cneg
    linkageType: ''
    returnType: P2
    signature: P2 * cneg(bool flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_cneg
      Src: /src/blst/bindings/blst.hpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 627
      start: 626
    functionDepth: 3
    functionLinenumber: 626
    functionLinenumberEnd: 627
    functionName: blst::P2::neg
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_cneg
    linkageType: ''
    returnType: P2
    signature: P2 * neg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_add_or_double
      Src: /src/blst/bindings/blst.hpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - P2
    constantsTouched: []
    func_position:
      end: 629
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 629
    functionName: blst::P2::add
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_add_or_double
    linkageType: ''
    returnType: P2
    signature: P2 * add(const P2& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_add_or_double_affine
      Src: /src/blst/bindings/blst.hpp:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - P2_Affine
    constantsTouched: []
    func_position:
      end: 631
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 631
    functionName: blst::P2::add
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_add_or_double_affine
    linkageType: ''
    returnType: P2
    signature: P2 * add(const P2_Affine &a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_double
      Src: /src/blst/bindings/blst.hpp:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 633
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 633
    functionName: blst::P2::dbl
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_double
    linkageType: ''
    returnType: P2
    signature: P2 * dbl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_add_or_double
      Src: /src/blst/bindings/blst.hpp:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - P2
    - P2
    constantsTouched: []
    func_position:
      end: 636
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 636
    functionName: blst::P2::add
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_add_or_double
    linkageType: ''
    returnType: P2
    signature: P2 add(const P2& a, const P2& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_add_or_double_affine
      Src: /src/blst/bindings/blst.hpp:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - P2
    - P2_Affine
    constantsTouched: []
    func_position:
      end: 638
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 638
    functionName: blst::P2::add
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_add_or_double_affine
    linkageType: ''
    returnType: P2
    signature: P2 add(const P2& a, const P2_Affine& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_double
      Src: /src/blst/bindings/blst.hpp:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - P2
    constantsTouched: []
    func_position:
      end: 640
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 640
    functionName: blst::P2::dbl
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2_double
    linkageType: ''
    returnType: P2
    signature: P2 dbl(const P2& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P2::P2
      Src: /src/blst/bindings/blst.hpp:643,1
    - Dst: blst_p2_generator
      Src: /src/blst/bindings/blst.hpp:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 643
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 643
    functionName: blst::P2::generator
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst::P2::P2
    - blst_p2_generator
    linkageType: ''
    returnType: P2
    signature: P2 generator()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 648
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 648
    functionName: operator const blst_p2*() const
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const blst_p2*() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 649
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 649
    functionName: operator blst_p2*()
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator blst_p2*()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 656
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 656
    functionName: blst::P2_Affines::p2_affine_no_init
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void p2_affine_no_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 657
    functionName: operator blst_p2_affine*()
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator blst_p2_affine*()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 658
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 658
    functionName: operator const blst_p2_affine*() const
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const blst_p2_affine*() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 666
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 666
    functionName: blst::P2_Affines::P2_Affines
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void P2_Affines()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/blst/bindings/blst.hpp:670,1
    - Dst: blst_p2s_mult_wbits_precompute
      Src: /src/blst/bindings/blst.hpp:671,1
    - Dst: reinterpret_cast<const blst_p2_affine *const*>
      Src: /src/blst/bindings/blst.hpp:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - wbits
    - points
    - npoints
    argTypes:
    - size_t
    - P2_Affine*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 674
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 674
    functionName: blst::P2_Affines::P2_Affines
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - resize
    - blst_p2s_mult_wbits_precompute
    - reinterpret_cast<const blst_p2_affine *const*>
    linkageType: ''
    returnType: void
    signature: void P2_Affines(size_t wbits, const P2_Affine* const points[], size_t
      npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P2_Affines::P2_Affines
      Src: /src/blst/bindings/blst.hpp:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wbits
    - points
    - npoints
    argTypes:
    - size_t
    - P2_Affine[]
    - size_t
    constantsTouched: []
    func_position:
      end: 678
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 678
    functionName: blst::P2_Affines::P2_Affines
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - blst::P2_Affines::P2_Affines
    linkageType: ''
    returnType: void
    signature: void P2_Affines(size_t wbits, const P2_Affine points[], size_t npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P2_Affines::P2_Affines
      Src: /src/blst/bindings/blst.hpp:680,1
    - Dst: std::vector<P2_Affine>::size
      Src: /src/blst/bindings/blst.hpp:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wbits
    - points
    argTypes:
    - size_t
    - std::vector<P2_Affine>
    constantsTouched: []
    func_position:
      end: 680
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 680
    functionName: blst::P2_Affines::P2_Affines
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 2
    functionsReached:
    - std::vector<P2_Affine>::size
    - blst::P2_Affines::P2_Affines
    linkageType: ''
    returnType: void
    signature: void P2_Affines(size_t wbits, const std::vector<P2_Affine> points)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/blst/bindings/blst.hpp:687,1
    - Dst: blst_p2s_to_affine
      Src: /src/blst/bindings/blst.hpp:688,1
    - Dst: reinterpret_cast<const blst_p2 *const*>
      Src: /src/blst/bindings/blst.hpp:689,1
    - Dst: blst_p2s_mult_wbits_precompute
      Src: /src/blst/bindings/blst.hpp:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - wbits
    - points
    - npoints
    argTypes:
    - size_t
    - P2*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 693
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 693
    functionName: blst::P2_Affines::P2_Affines
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const blst_p2 *const*>
    - resize
    - blst_p2s_mult_wbits_precompute
    - blst_p2s_to_affine
    linkageType: ''
    returnType: void
    signature: void P2_Affines(size_t wbits, const P2* const points[], size_t npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P2_Affines::P2_Affines
      Src: /src/blst/bindings/blst.hpp:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wbits
    - points
    - npoints
    argTypes:
    - size_t
    - P2[]
    - size_t
    constantsTouched: []
    func_position:
      end: 697
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 697
    functionName: blst::P2_Affines::P2_Affines
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 3
    functionsReached:
    - blst::P2_Affines::P2_Affines
    linkageType: ''
    returnType: void
    signature: void P2_Affines(size_t wbits, const P2 points[], size_t npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P2_Affines::P2_Affines
      Src: /src/blst/bindings/blst.hpp:699,1
    - Dst: std::vector<P2>::size
      Src: /src/blst/bindings/blst.hpp:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wbits
    - points
    argTypes:
    - size_t
    - std::vector<P2>
    constantsTouched: []
    func_position:
      end: 699
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 699
    functionName: blst::P2_Affines::P2_Affines
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 4
    functionsReached:
    - std::vector<P2>::size
    - blst::P2_Affines::P2_Affines
    linkageType: ''
    returnType: void
    signature: void P2_Affines(size_t wbits, const std::vector<P2> points)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/blst/bindings/blst.hpp:704,1
    - Dst: blst_p2s_to_affine
      Src: /src/blst/bindings/blst.hpp:705,1
    - Dst: reinterpret_cast<const blst_p2 *const*>
      Src: /src/blst/bindings/blst.hpp:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - points
    - npoints
    argTypes:
    - P2*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 708
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 708
    functionName: blst::P2_Affines::P2_Affines
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const blst_p2 *const*>
    - resize
    - blst_p2s_to_affine
    linkageType: ''
    returnType: void
    signature: void P2_Affines(const P2* const points[], size_t npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P2_Affines::P2_Affines
      Src: /src/blst/bindings/blst.hpp:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - points
    - npoints
    argTypes:
    - P2[]
    - size_t
    constantsTouched: []
    func_position:
      end: 712
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 712
    functionName: blst::P2_Affines::P2_Affines
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 5
    functionsReached:
    - blst::P2_Affines::P2_Affines
    linkageType: ''
    returnType: void
    signature: void P2_Affines(const P2 points[], size_t npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P2_Affines::P2_Affines
      Src: /src/blst/bindings/blst.hpp:714,1
    - Dst: std::vector<P2>::size
      Src: /src/blst/bindings/blst.hpp:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - points
    argTypes:
    - std::vector<P2>
    constantsTouched: []
    func_position:
      end: 714
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 714
    functionName: blst::P2_Affines::P2_Affines
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 6
    functionsReached:
    - std::vector<P2>::size
    - blst::P2_Affines::P2_Affines
    linkageType: ''
    returnType: void
    signature: void P2_Affines(const std::vector<P2> points)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limb_t::limb_t
      Src: /src/blst/bindings/blst.hpp:721,1
    - Dst: blst_p2s_mult_wbits
      Src: /src/blst/bindings/blst.hpp:722,1
    - Dst: std::unique_ptr::get
      Src: /src/blst/bindings/blst.hpp:723,1
    - Dst: limb_t::limb_t
      Src: /src/blst/bindings/blst.hpp:726,1
    - Dst: blst_p2s_mult_pippenger
      Src: /src/blst/bindings/blst.hpp:728,1
    - Dst: std::unique_ptr::get
      Src: /src/blst/bindings/blst.hpp:729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - scalars
    - nbits
    argTypes:
    - byte*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 732
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 732
    functionName: blst::P2_Affines::mult
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - limb_t::limb_t
    - blst_p2s_mult_pippenger
    - blst_p2s_mult_wbits
    linkageType: ''
    returnType: P2
    signature: P2 mult(const byte* const scalars[], size_t nbits) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/blst/bindings/blst.hpp:736,1
    - Dst: blst_p2s_to_affine
      Src: /src/blst/bindings/blst.hpp:737,1
    - Dst: reinterpret_cast<const blst_p2 *const*>
      Src: /src/blst/bindings/blst.hpp:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - points
    - npoints
    argTypes:
    - P2*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 741
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 741
    functionName: blst::P2_Affines::from
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const blst_p2 *const*>
    - std::vector::resize
    - blst_p2s_to_affine
    linkageType: ''
    returnType: std::vector<P2_Affine>
    signature: std::vector<P2_Affine> from(const P2* const points[], size_t npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P2_Affines::from
      Src: /src/blst/bindings/blst.hpp:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - points
    - npoints
    argTypes:
    - P2[]
    - size_t
    constantsTouched: []
    func_position:
      end: 745
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 745
    functionName: blst::P2_Affines::from
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - blst::P2_Affines::from
    linkageType: ''
    returnType: std::vector<P2_Affine>
    signature: std::vector<P2_Affine> from(const P2 points[], size_t npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P2_Affines::from
      Src: /src/blst/bindings/blst.hpp:747,1
    - Dst: std::vector<P2>::size
      Src: /src/blst/bindings/blst.hpp:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - points
    argTypes:
    - std::vector<P2>
    constantsTouched: []
    func_position:
      end: 747
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 747
    functionName: blst::P2_Affines::from
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 2
    functionsReached:
    - blst::P2_Affines::from
    - std::vector<P2>::size
    linkageType: ''
    returnType: std::vector<P2_Affine>
    signature: std::vector<P2_Affine> from(std::vector<P2> points)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limb_t::limb_t
      Src: /src/blst/bindings/blst.hpp:754,1
    - Dst: blst_p2s_mult_pippenger
      Src: /src/blst/bindings/blst.hpp:755,1
    - Dst: reinterpret_cast<const blst_p2_affine *const*>
      Src: /src/blst/bindings/blst.hpp:756,1
    - Dst: std::unique_ptr::get
      Src: /src/blst/bindings/blst.hpp:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - points
    - npoints
    - scalars
    - nbits
    argTypes:
    - P2_Affine*[]
    - size_t
    - byte*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 759
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 759
    functionName: blst::P2_Affines::mult_pippenger
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2s_mult_pippenger
    - limb_t::limb_t
    - std::unique_ptr::get
    - reinterpret_cast<const blst_p2_affine *const*>
    linkageType: ''
    returnType: P2
    signature: "P2 mult_pippenger(const P2_Affine* const points[], size_t npoints,\n
      \                            const byte* const scalars[], size_t nbits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P2_Affines::mult_pippenger
      Src: /src/blst/bindings/blst.hpp:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - points
    - npoints
    - scalars
    - nbits
    argTypes:
    - P2_Affine[]
    - size_t
    - byte*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 765
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 765
    functionName: blst::P2_Affines::mult_pippenger
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - blst::P2_Affines::mult_pippenger
    linkageType: ''
    returnType: P2
    signature: "P2 mult_pippenger(const P2_Affine points[], size_t npoints,\n                             const
      byte* const scalars[], size_t nbits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P2_Affines::mult_pippenger
      Src: /src/blst/bindings/blst.hpp:768,1
    - Dst: std::vector<P2_Affine>::size
      Src: /src/blst/bindings/blst.hpp:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - points
    - scalars
    - nbits
    argTypes:
    - std::vector<P2_Affine>
    - byte*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 768
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 768
    functionName: blst::P2_Affines::mult_pippenger
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 2
    functionsReached:
    - std::vector<P2_Affine>::size
    - blst::P2_Affines::mult_pippenger
    linkageType: ''
    returnType: P2
    signature: "P2 mult_pippenger(const std::vector<P2_Affine> points,\n                             const
      byte* const scalars[], size_t nbits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2s_add
      Src: /src/blst/bindings/blst.hpp:773,1
    - Dst: reinterpret_cast<const blst_p2_affine *const*>
      Src: /src/blst/bindings/blst.hpp:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - points
    - npoints
    argTypes:
    - P2_Affine*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 777
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 777
    functionName: blst::P2_Affines::add
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_p2s_add
    - reinterpret_cast<const blst_p2_affine *const*>
    linkageType: ''
    returnType: P2
    signature: P2 add(const P2_Affine* const points[], size_t npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P2_Affines::add
      Src: /src/blst/bindings/blst.hpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - points
    - npoints
    argTypes:
    - P2_Affine[]
    - size_t
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: blst::P2_Affines::add
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - blst::P2_Affines::add
    linkageType: ''
    returnType: P2
    signature: P2 add(const P2_Affine points[], size_t npoints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P2_Affines::add
      Src: /src/blst/bindings/blst.hpp:784,1
    - Dst: std::vector<P2_Affine>::size
      Src: /src/blst/bindings/blst.hpp:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - points
    argTypes:
    - std::vector<P2_Affine>
    constantsTouched: []
    func_position:
      end: 784
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 784
    functionName: blst::P2_Affines::add
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 2
    functionsReached:
    - std::vector<P2_Affine>::size
    - blst::P2_Affines::add
    linkageType: ''
    returnType: P2
    signature: P2 add(const std::vector<P2_Affine> points)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p1_to_affine
      Src: /src/blst/bindings/blst.hpp:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' jacobian'
    argTypes:
    - P1
    constantsTouched: []
    func_position:
      end: 789
      start: 788
    functionDepth: 5
    functionLinenumber: 788
    functionLinenumberEnd: 789
    functionName: blst::P1_Affine::P1_Affine
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - blst_p1_to_affine
    linkageType: ''
    returnType: void
    signature: void P1_Affine::P1_Affine(const P1& jacobian)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_p2_to_affine
      Src: /src/blst/bindings/blst.hpp:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' jacobian'
    argTypes:
    - P2
    constantsTouched: []
    func_position:
      end: 791
      start: 790
    functionDepth: 7
    functionLinenumber: 790
    functionLinenumberEnd: 791
    functionName: blst::P2_Affine::P2_Affine
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - blst_p2_to_affine
    linkageType: ''
    returnType: void
    signature: void P2_Affine::P2_Affine(const P2& jacobian)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 793
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 793
    functionName: blst::P1_Affine::to_jacobian
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: P1
    signature: P1 P1_Affine::to_jacobian() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 794
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 794
    functionName: blst::P2_Affine::to_jacobian
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: P2
    signature: P2 P2_Affine::to_jacobian() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P1::generator
      Src: /src/blst/bindings/blst.hpp:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 796
      start: 796
    functionDepth: 2
    functionLinenumber: 796
    functionLinenumberEnd: 796
    functionName: blst::G1
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst::P1::generator
    linkageType: ''
    returnType: P1
    signature: P1 G1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P2::generator
      Src: /src/blst/bindings/blst.hpp:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 797
      start: 797
    functionDepth: 2
    functionLinenumber: 797
    functionLinenumberEnd: 797
    functionName: blst::G2
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst::P2::generator
    linkageType: ''
    returnType: P2
    signature: P2 G2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_core_verify_pk_in_g2
      Src: /src/blst/bindings/blst.hpp:804,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:806,1
    - Dst: data
      Src: /src/blst/bindings/blst.hpp:806,1
    - Dst: size
      Src: /src/blst/bindings/blst.hpp:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' pk'
    - hash_or_encode
    - msg
    - msg_len
    - ' DST'
    - aug
    - aug_len
    argTypes:
    - P2_Affine
    - bool
    - byte*
    - size_t
    - std::string
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 808
      start: 799
    functionDepth: 5
    functionLinenumber: 799
    functionLinenumberEnd: 808
    functionName: blst::P1_Affine::core_verify
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - C_bytes
    - data
    - size
    - blst_core_verify_pk_in_g2
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR P1_Affine::core_verify(const P2_Affine& pk,\n                                         bool
      hash_or_encode,\n                                         const byte* msg, size_t
      msg_len,\n                                         const std::string& DST,\n
      \                                        const byte* aug, size_t aug_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_core_verify_pk_in_g1
      Src: /src/blst/bindings/blst.hpp:814,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:816,1
    - Dst: data
      Src: /src/blst/bindings/blst.hpp:816,1
    - Dst: size
      Src: /src/blst/bindings/blst.hpp:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' pk'
    - hash_or_encode
    - msg
    - msg_len
    - ' DST'
    - aug
    - aug_len
    argTypes:
    - P1_Affine
    - bool
    - byte*
    - size_t
    - std::string
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 818
      start: 809
    functionDepth: 5
    functionLinenumber: 809
    functionLinenumberEnd: 818
    functionName: blst::P2_Affine::core_verify
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - C_bytes
    - data
    - blst_core_verify_pk_in_g1
    - size
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR P2_Affine::core_verify(const P1_Affine& pk,\n                                         bool
      hash_or_encode,\n                                         const byte* msg, size_t
      msg_len,\n                                         const std::string& DST,\n
      \                                        const byte* aug, size_t aug_len) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P1_Affine::core_verify
      Src: /src/blst/bindings/blst.hpp:825,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:825,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:825,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:825,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:826,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:826,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' pk'
    - hash_or_encode
    - msg
    - ' DST'
    - aug
    argTypes:
    - P2_Affine
    - bool
    - app__string_view
    - std::string
    - app__string_view
    constantsTouched: []
    func_position:
      end: 827
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 827
    functionName: blst::P1_Affine::core_verify
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - app__string_view::size
    - blst::P1_Affine::core_verify
    - C_bytes
    - app__string_view::data
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR P1_Affine::core_verify(const P2_Affine& pk,\n                                         bool
      hash_or_encode,\n                                         const app__string_view
      msg,\n                                         const std::string& DST,\n                                         const
      app__string_view aug) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::P2_Affine::core_verify
      Src: /src/blst/bindings/blst.hpp:833,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:833,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:833,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:833,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:834,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:834,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' pk'
    - hash_or_encode
    - msg
    - ' DST'
    - aug
    argTypes:
    - P1_Affine
    - bool
    - app__string_view
    - std::string
    - app__string_view
    constantsTouched: []
    func_position:
      end: 835
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 835
    functionName: blst::P2_Affine::core_verify
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - app__string_view::size
    - C_bytes
    - app__string_view::data
    - blst::P2_Affine::core_verify
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR P2_Affine::core_verify(const P1_Affine& pk,\n                                         bool
      hash_or_encode,\n                                         const app__string_view
      msg,\n                                         const std::string& DST,\n                                         const
      app__string_view aug) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - blst_fp12*
    constantsTouched: []
    func_position:
      end: 842
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 842
    functionName: blst::PT::PT
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PT(const blst_fp12 *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_aggregated_in_g1
      Src: /src/blst/bindings/blst.hpp:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - P1_Affine
    constantsTouched: []
    func_position:
      end: 844
      start: 844
    functionDepth: 2
    functionLinenumber: 844
    functionLinenumberEnd: 844
    functionName: blst::PT::PT
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_aggregated_in_g1
    linkageType: ''
    returnType: void
    signature: void PT(const P1_Affine& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_aggregated_in_g2
      Src: /src/blst/bindings/blst.hpp:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' q'
    argTypes:
    - P2_Affine
    constantsTouched: []
    func_position:
      end: 845
      start: 845
    functionDepth: 2
    functionLinenumber: 845
    functionLinenumberEnd: 845
    functionName: blst::PT::PT
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_aggregated_in_g2
    linkageType: ''
    returnType: void
    signature: void PT(const P2_Affine& q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_miller_loop
      Src: /src/blst/bindings/blst.hpp:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' q'
    - ' p'
    argTypes:
    - P2_Affine
    - P1_Affine
    constantsTouched: []
    func_position:
      end: 847
      start: 846
    functionDepth: 7
    functionLinenumber: 846
    functionLinenumberEnd: 847
    functionName: blst::PT::PT
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_miller_loop
    linkageType: ''
    returnType: void
    signature: void PT(const P2_Affine& q, const P1_Affine& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p'
    - ' q'
    argTypes:
    - P1_Affine
    - P2_Affine
    constantsTouched: []
    func_position:
      end: 848
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 848
    functionName: blst::PT::PT
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PT(const P1_Affine& p, const P2_Affine& q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_miller_loop
      Src: /src/blst/bindings/blst.hpp:850,1
    - Dst: P2_Affine
      Src: /src/blst/bindings/blst.hpp:850,1
    - Dst: P1_Affine
      Src: /src/blst/bindings/blst.hpp:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' q'
    - ' p'
    argTypes:
    - P2
    - P1
    constantsTouched: []
    func_position:
      end: 850
      start: 849
    functionDepth: 7
    functionLinenumber: 849
    functionLinenumberEnd: 850
    functionName: blst::PT::PT
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - P1_Affine
    - P2_Affine
    - blst_miller_loop
    linkageType: ''
    returnType: void
    signature: void PT(const P2& q, const P1& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p'
    - ' q'
    argTypes:
    - P1
    - P2
    constantsTouched: []
    func_position:
      end: 851
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 851
    functionName: blst::PT::PT
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PT(const P1& p, const P2& q)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 853
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 853
    functionName: blst::PT::dup
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PT
    signature: PT dup() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_fp12_is_one
      Src: /src/blst/bindings/blst.hpp:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 854
      start: 854
    functionDepth: 2
    functionLinenumber: 854
    functionLinenumberEnd: 854
    functionName: blst::PT::is_one
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_fp12_is_one
    linkageType: ''
    returnType: bool
    signature: bool is_one() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_fp12_is_equal
      Src: /src/blst/bindings/blst.hpp:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - PT
    constantsTouched: []
    func_position:
      end: 856
      start: 855
    functionDepth: 2
    functionLinenumber: 855
    functionLinenumberEnd: 856
    functionName: blst::PT::is_equal
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_fp12_is_equal
    linkageType: ''
    returnType: bool
    signature: bool is_equal(const PT& p) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_fp12_sqr
      Src: /src/blst/bindings/blst.hpp:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 857
      start: 857
    functionDepth: 5
    functionLinenumber: 857
    functionLinenumberEnd: 857
    functionName: blst::PT::sqr
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_fp12_sqr
    linkageType: ''
    returnType: PT
    signature: PT * sqr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_fp12_mul
      Src: /src/blst/bindings/blst.hpp:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - PT
    constantsTouched: []
    func_position:
      end: 858
      start: 858
    functionDepth: 4
    functionLinenumber: 858
    functionLinenumberEnd: 858
    functionName: blst::PT::mul
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_fp12_mul
    linkageType: ''
    returnType: PT
    signature: PT * mul(const PT& p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_final_exp
      Src: /src/blst/bindings/blst.hpp:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 859
      start: 859
    functionDepth: 7
    functionLinenumber: 859
    functionLinenumberEnd: 859
    functionName: blst::PT::final_exp
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_final_exp
    linkageType: ''
    returnType: PT
    signature: PT * final_exp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_fp12_in_group
      Src: /src/blst/bindings/blst.hpp:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 860
      start: 860
    functionDepth: 6
    functionLinenumber: 860
    functionLinenumberEnd: 860
    functionName: blst::PT::in_group
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_fp12_in_group
    linkageType: ''
    returnType: bool
    signature: bool in_group() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_bendian_from_fp12
      Src: /src/blst/bindings/blst.hpp:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 862
      start: 861
    functionDepth: 2
    functionLinenumber: 861
    functionLinenumberEnd: 862
    functionName: blst::PT::to_bendian
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_bendian_from_fp12
    linkageType: ''
    returnType: void
    signature: void to_bendian(byte out[48*12]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_fp12_finalverify
      Src: /src/blst/bindings/blst.hpp:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' gt1'
    - ' gt2'
    argTypes:
    - PT
    - PT
    constantsTouched: []
    func_position:
      end: 865
      start: 864
    functionDepth: 4
    functionLinenumber: 864
    functionLinenumberEnd: 865
    functionName: blst::PT::finalverify
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_fp12_finalverify
    linkageType: ''
    returnType: bool
    signature: bool finalverify(const PT& gt1, const PT& gt2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::PT::PT
      Src: /src/blst/bindings/blst.hpp:866,1
    - Dst: blst_fp12_one
      Src: /src/blst/bindings/blst.hpp:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 866
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 866
    functionName: blst::PT::one
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 2
    functionsReached:
    - blst_fp12_one
    - blst::PT::PT
    linkageType: ''
    returnType: PT
    signature: PT one()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 870
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 870
    functionName: operator const blst_fp12*() const
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const blst_fp12*() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<blst_pairing *>
      Src: /src/blst/bindings/blst.hpp:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 876
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 876
    functionName: operator blst_pairing*()
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<blst_pairing *>
    linkageType: ''
    returnType: void
    signature: void operator blst_pairing*()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const blst_pairing *>
      Src: /src/blst/bindings/blst.hpp:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 878
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 878
    functionName: operator const blst_pairing*() const
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const blst_pairing *>
    linkageType: ''
    returnType: void
    signature: void operator const blst_pairing*() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: byte::byte
      Src: /src/blst/bindings/blst.hpp:882,1
    - Dst: memcpy
      Src: /src/blst/bindings/blst.hpp:883,1
    - Dst: blst_pairing_init
      Src: /src/blst/bindings/blst.hpp:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hash_or_encode
    - DST
    - DST_len
    argTypes:
    - bool
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 885
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 885
    functionName: blst::Pairing::init
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - byte::byte
    - memcpy
    - blst_pairing_init
    linkageType: ''
    returnType: void
    signature: void init(bool hash_or_encode, const byte* DST, size_t DST_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_pairing_sizeof
      Src: /src/blst/bindings/blst.hpp:890,1
    - Dst: uint64_t::uint64_t
      Src: /src/blst/bindings/blst.hpp:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 890
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 890
    functionName: '* operator new(size_t)'
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - uint64_t::uint64_t
    - blst_pairing_sizeof
    linkageType: ''
    returnType: void
    signature: void * operator new(size_t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t*>
      Src: /src/blst/bindings/blst.hpp:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 892
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 892
    functionName: operator delete(void *ptr)
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t*>
    linkageType: ''
    returnType: void
    signature: void operator delete(void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::Pairing::init
      Src: /src/blst/bindings/blst.hpp:895,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:895,1
    - Dst: data
      Src: /src/blst/bindings/blst.hpp:895,1
    - Dst: size
      Src: /src/blst/bindings/blst.hpp:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hash_or_encode
    - ' DST'
    argTypes:
    - bool
    - std::string
    constantsTouched: []
    func_position:
      end: 895
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 895
    functionName: blst::Pairing::Pairing
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - C_bytes
    - data
    - blst::Pairing::init
    - size
    linkageType: ''
    returnType: void
    signature: void Pairing(bool hash_or_encode, const std::string& DST)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::Pairing::init
      Src: /src/blst/bindings/blst.hpp:898,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:898,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:898,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hash_or_encode
    - DST
    argTypes:
    - bool
    - app__string_view
    constantsTouched: []
    func_position:
      end: 898
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 898
    functionName: blst::Pairing::Pairing
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - app__string_view::size
    - C_bytes
    - app__string_view::data
    - blst::Pairing::init
    linkageType: ''
    returnType: void
    signature: void Pairing(bool hash_or_encode, const app__string_view DST)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::Pairing::init
      Src: /src/blst/bindings/blst.hpp:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hash_or_encode
    - DST
    - DST_len
    argTypes:
    - bool
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 903
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 903
    functionName: blst::Pairing::Pairing
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst::Pairing::init
    linkageType: ''
    returnType: void
    signature: void Pairing(bool hash_or_encode, const byte* DST, size_t DST_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_pairing_get_dst
      Src: /src/blst/bindings/blst.hpp:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 904
      start: 904
    functionDepth: 2
    functionLinenumber: 904
    functionLinenumberEnd: 904
    functionName: ~Pairing()
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_pairing_get_dst
    linkageType: ''
    returnType: void
    signature: void ~Pairing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_pairing_aggregate_pk_in_g1
      Src: /src/blst/bindings/blst.hpp:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pk
    - sig
    - msg
    - msg_len
    argTypes:
    - P1_Affine*
    - P2_Affine*
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 912
      start: 907
    functionDepth: 5
    functionLinenumber: 907
    functionLinenumberEnd: 912
    functionName: blst::Pairing::aggregate
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_pairing_aggregate_pk_in_g1
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR aggregate(const P1_Affine* pk, const P2_Affine* sig,\n
      \                        const byte* msg, size_t msg_len,\n                         const
      byte* aug = nullptr, size_t aug_len = 0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_pairing_aggregate_pk_in_g2
      Src: /src/blst/bindings/blst.hpp:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pk
    - sig
    - msg
    - msg_len
    argTypes:
    - P2_Affine*
    - P1_Affine*
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 918
      start: 913
    functionDepth: 5
    functionLinenumber: 913
    functionLinenumberEnd: 918
    functionName: blst::Pairing::aggregate
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_pairing_aggregate_pk_in_g2
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR aggregate(const P2_Affine* pk, const P1_Affine* sig,\n
      \                        const byte* msg, size_t msg_len,\n                         const
      byte* aug = nullptr, size_t aug_len = 0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_pairing_mul_n_aggregate_pk_in_g1
      Src: /src/blst/bindings/blst.hpp:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pk
    - sig
    - scalar
    - nbits
    - msg
    - msg_len
    argTypes:
    - P1_Affine*
    - P2_Affine*
    - byte*
    - size_t
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 925
      start: 919
    functionDepth: 5
    functionLinenumber: 919
    functionLinenumberEnd: 925
    functionName: blst::Pairing::mul_n_aggregate
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_pairing_mul_n_aggregate_pk_in_g1
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR mul_n_aggregate(const P1_Affine* pk, const P2_Affine* sig,\n
      \                              const byte* scalar, size_t nbits,\n                               const
      byte* msg, size_t msg_len,\n                               const byte* aug =
      nullptr, size_t aug_len = 0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_pairing_mul_n_aggregate_pk_in_g2
      Src: /src/blst/bindings/blst.hpp:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pk
    - sig
    - scalar
    - nbits
    - msg
    - msg_len
    argTypes:
    - P2_Affine*
    - P1_Affine*
    - byte*
    - size_t
    - byte*
    - size_t
    constantsTouched: []
    func_position:
      end: 932
      start: 926
    functionDepth: 5
    functionLinenumber: 926
    functionLinenumberEnd: 932
    functionName: blst::Pairing::mul_n_aggregate
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_pairing_mul_n_aggregate_pk_in_g2
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR mul_n_aggregate(const P2_Affine* pk, const P1_Affine* sig,\n
      \                              const byte* scalar, size_t nbits,\n                               const
      byte* msg, size_t msg_len,\n                               const byte* aug =
      nullptr, size_t aug_len = 0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::Pairing::aggregate
      Src: /src/blst/bindings/blst.hpp:937,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:937,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:937,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:937,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:938,1
    - Dst: data
      Src: /src/blst/bindings/blst.hpp:938,1
    - Dst: size
      Src: /src/blst/bindings/blst.hpp:938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pk
    - sig
    - msg
    argTypes:
    - P1_Affine*
    - P2_Affine*
    - app__string_view
    constantsTouched: []
    func_position:
      end: 939
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 939
    functionName: blst::Pairing::aggregate
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - app__string_view::size
    - C_bytes
    - app__string_view::data
    - data
    - size
    - blst::Pairing::aggregate
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR aggregate(const P1_Affine* pk, const P2_Affine* sig,\n
      \                        const app__string_view msg,\n                         const
      app__string_view aug = None)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::Pairing::aggregate
      Src: /src/blst/bindings/blst.hpp:943,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:943,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:943,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:943,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:944,1
    - Dst: data
      Src: /src/blst/bindings/blst.hpp:944,1
    - Dst: size
      Src: /src/blst/bindings/blst.hpp:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pk
    - sig
    - msg
    argTypes:
    - P2_Affine*
    - P1_Affine*
    - app__string_view
    constantsTouched: []
    func_position:
      end: 945
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 945
    functionName: blst::Pairing::aggregate
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 2
    functionsReached:
    - app__string_view::size
    - C_bytes
    - app__string_view::data
    - data
    - size
    - blst::Pairing::aggregate
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR aggregate(const P2_Affine* pk, const P1_Affine* sig,\n
      \                        const app__string_view msg,\n                         const
      app__string_view aug = None)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::Pairing::mul_n_aggregate
      Src: /src/blst/bindings/blst.hpp:950,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:951,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:951,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:951,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:952,1
    - Dst: data
      Src: /src/blst/bindings/blst.hpp:952,1
    - Dst: size
      Src: /src/blst/bindings/blst.hpp:952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pk
    - sig
    - scalar
    - nbits
    - msg
    argTypes:
    - P1_Affine*
    - P2_Affine*
    - byte*
    - size_t
    - app__string_view
    constantsTouched: []
    func_position:
      end: 953
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 953
    functionName: blst::Pairing::mul_n_aggregate
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 1
    functionsReached:
    - C_bytes
    - app__string_view::size
    - app__string_view::data
    - data
    - size
    - blst::Pairing::mul_n_aggregate
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR mul_n_aggregate(const P1_Affine* pk, const P2_Affine* sig,\n
      \                              const byte* scalar, size_t nbits,\n                               const
      app__string_view msg,\n                               const app__string_view
      aug = None)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst::Pairing::mul_n_aggregate
      Src: /src/blst/bindings/blst.hpp:958,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:959,1
    - Dst: app__string_view::data
      Src: /src/blst/bindings/blst.hpp:959,1
    - Dst: app__string_view::size
      Src: /src/blst/bindings/blst.hpp:959,1
    - Dst: C_bytes
      Src: /src/blst/bindings/blst.hpp:960,1
    - Dst: data
      Src: /src/blst/bindings/blst.hpp:960,1
    - Dst: size
      Src: /src/blst/bindings/blst.hpp:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pk
    - sig
    - scalar
    - nbits
    - msg
    argTypes:
    - P2_Affine*
    - P1_Affine*
    - byte*
    - size_t
    - app__string_view
    constantsTouched: []
    func_position:
      end: 961
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 961
    functionName: blst::Pairing::mul_n_aggregate
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 2
    functionsReached:
    - C_bytes
    - app__string_view::size
    - app__string_view::data
    - data
    - size
    - blst::Pairing::mul_n_aggregate
    linkageType: ''
    returnType: BLST_ERROR
    signature: "BLST_ERROR mul_n_aggregate(const P2_Affine* pk, const P1_Affine* sig,\n
      \                              const byte* scalar, size_t nbits,\n                               const
      app__string_view msg,\n                               const app__string_view
      aug = None)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_pairing_commit
      Src: /src/blst/bindings/blst.hpp:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 964
      start: 963
    functionDepth: 5
    functionLinenumber: 963
    functionLinenumberEnd: 964
    functionName: blst::Pairing::commit
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_pairing_commit
    linkageType: ''
    returnType: void
    signature: void commit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_pairing_merge
      Src: /src/blst/bindings/blst.hpp:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Pairing*
    constantsTouched: []
    func_position:
      end: 966
      start: 965
    functionDepth: 4
    functionLinenumber: 965
    functionLinenumberEnd: 966
    functionName: blst::Pairing::merge
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_pairing_merge
    linkageType: ''
    returnType: BLST_ERROR
    signature: BLST_ERROR merge(const Pairing* ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_pairing_finalverify
      Src: /src/blst/bindings/blst.hpp:968,1
    - Dst: blst_pairing_finalverify
      Src: /src/blst/bindings/blst.hpp:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 970
      start: 967
    functionDepth: 5
    functionLinenumber: 967
    functionLinenumberEnd: 970
    functionName: blst::Pairing::finalverify
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_pairing_finalverify
    linkageType: ''
    returnType: bool
    signature: bool finalverify(const PT* sig = nullptr) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_pairing_raw_aggregate
      Src: /src/blst/bindings/blst.hpp:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - p
    argTypes:
    - P2_Affine*
    - P1_Affine*
    constantsTouched: []
    func_position:
      end: 972
      start: 971
    functionDepth: 4
    functionLinenumber: 971
    functionLinenumberEnd: 972
    functionName: blst::Pairing::raw_aggregate
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_pairing_raw_aggregate
    linkageType: ''
    returnType: void
    signature: void raw_aggregate(const P2_Affine* q, const P1_Affine* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PT
      Src: /src/blst/bindings/blst.hpp:974,1
    - Dst: blst_pairing_as_fp12
      Src: /src/blst/bindings/blst.hpp:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 974
      start: 973
    functionDepth: 5
    functionLinenumber: 973
    functionLinenumberEnd: 974
    functionName: blst::Pairing::as_fp12
    functionSourceFile: /src/blst/bindings/blst.hpp
    functionUses: 0
    functionsReached:
    - blst_pairing_as_fp12
    - PT
    linkageType: ''
    returnType: PT
    signature: PT as_fp12()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - size
    - maxSize
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 12
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 12
    functionName: LLVMFuzzerMutate
    functionSourceFile: /src/cryptofuzz/libfuzzer_emulator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LLVMFuzzerMutate(uint8_t* data, size_t size, size_t maxSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::seekg
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:26,1
    - Dst: std::ifstream::tellg
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:27,1
    - Dst: std::ifstream::seekg
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:28,1
    - Dst: std::ifstream::read
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:31,1
    - Dst: reinterpret_cast<char*>
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:31,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:31,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:38,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:38,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' filePath'
    argTypes:
    - fs::path
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: run
    functionSourceFile: /src/cryptofuzz/libfuzzer_emulator.cpp
    functionUses: 72
    functionsReached:
    - std::vector::size
    - std::ifstream::seekg
    - std::ifstream::read
    - reinterpret_cast<char*>
    - LLVMFuzzerTestOneInput
    - std::ifstream::tellg
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void run(const fs::path& filePath)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fs::recursive_directory_iterator
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:42,1
    - Dst: fs::is_regular_file
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:43,1
    - Dst: path
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:44,1
    - Dst: run
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' directoryPath'
    argTypes:
    - fs::path
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: readFilesInDirectory
    functionSourceFile: /src/cryptofuzz/libfuzzer_emulator.cpp
    functionUses: 0
    functionsReached:
    - path
    - run
    - fs::is_regular_file
    - fs::recursive_directory_iterator
    linkageType: ''
    returnType: void
    signature: void readFilesInDirectory(const fs::path& directoryPath)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LLVMFuzzerInitialize
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:51,1
    - Dst: value_exists
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:61,1
    - Dst: fs::is_regular_file
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:62,1
    - Dst: run
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:63,1
    - Dst: fs::is_directory
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:64,1
    - Dst: readFilesInDirectory
      Src: /src/cryptofuzz/libfuzzer_emulator.cpp:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/cryptofuzz/libfuzzer_emulator.cpp
    functionUses: 97
    functionsReached:
    - value_exists
    - fs::is_regular_file
    - run
    - readFilesInDirectory
    - fs::is_directory
    - LLVMFuzzerInitialize
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - count
    argTypes:
    - uint32_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: cryptofuzz::crypto::impl::rotate_right_32
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rotate_right_32(uint32_t value, unsigned int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - count
    argTypes:
    - uint32_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: cryptofuzz::crypto::impl::rotate_left_32
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rotate_left_32(uint32_t value, unsigned int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LOAD32H
      Src: /src/cryptofuzz/crypto.cpp:186,1
    - Dst: ROL
      Src: /src/cryptofuzz/crypto.cpp:198,1
    - Dst: FF0
      Src: /src/cryptofuzz/crypto.cpp:211,1
    - Dst: FF1
      Src: /src/cryptofuzz/crypto.cpp:215,1
    - Dst: FF2
      Src: /src/cryptofuzz/crypto.cpp:219,1
    - Dst: FF3
      Src: /src/cryptofuzz/crypto.cpp:223,1
    - Dst: FF0
      Src: /src/cryptofuzz/crypto.cpp:229,1
    - Dst: FF0
      Src: /src/cryptofuzz/crypto.cpp:230,1
    - Dst: FF0
      Src: /src/cryptofuzz/crypto.cpp:231,1
    - Dst: FF0
      Src: /src/cryptofuzz/crypto.cpp:232,1
    - Dst: FF0
      Src: /src/cryptofuzz/crypto.cpp:233,1
    - Dst: FF1
      Src: /src/cryptofuzz/crypto.cpp:238,1
    - Dst: FF1
      Src: /src/cryptofuzz/crypto.cpp:239,1
    - Dst: FF1
      Src: /src/cryptofuzz/crypto.cpp:240,1
    - Dst: FF1
      Src: /src/cryptofuzz/crypto.cpp:241,1
    - Dst: FF1
      Src: /src/cryptofuzz/crypto.cpp:242,1
    - Dst: FF2
      Src: /src/cryptofuzz/crypto.cpp:247,1
    - Dst: FF2
      Src: /src/cryptofuzz/crypto.cpp:248,1
    - Dst: FF2
      Src: /src/cryptofuzz/crypto.cpp:249,1
    - Dst: FF2
      Src: /src/cryptofuzz/crypto.cpp:250,1
    - Dst: FF2
      Src: /src/cryptofuzz/crypto.cpp:251,1
    - Dst: FF3
      Src: /src/cryptofuzz/crypto.cpp:256,1
    - Dst: FF3
      Src: /src/cryptofuzz/crypto.cpp:257,1
    - Dst: FF3
      Src: /src/cryptofuzz/crypto.cpp:258,1
    - Dst: FF3
      Src: /src/cryptofuzz/crypto.cpp:259,1
    - Dst: FF3
      Src: /src/cryptofuzz/crypto.cpp:260,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 82
    argCount: 2
    argNames:
    - md
    - buf
    argTypes:
    - hash_state*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 277
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 277
    functionName: cryptofuzz::crypto::impl::s_sha1_compress
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - FF0
    - FF3
    - LOAD32H
    - FF2
    - FF1
    - ROL
    linkageType: ''
    returnType: int
    signature: int s_sha1_compress(hash_state *md, const unsigned char *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ss_sha1_compress
      Src: /src/cryptofuzz/crypto.cpp:283,1
    - Dst: burn_stack
      Src: /src/cryptofuzz/crypto.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - md
    - buf
    argTypes:
    - hash_state*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: cryptofuzz::crypto::impl::s_sha1_compress
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - ss_sha1_compress
    - burn_stack
    linkageType: ''
    returnType: int
    signature: int s_sha1_compress(hash_state *md, const unsigned char *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LTC_ARGCHK
      Src: /src/cryptofuzz/crypto.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - md
    argTypes:
    - hash_state*
    constantsTouched: []
    func_position:
      end: 305
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 305
    functionName: cryptofuzz::crypto::impl::sha1_init
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - LTC_ARGCHK
    linkageType: ''
    returnType: int
    signature: int sha1_init(hash_state * md)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LTC_ARGCHK
      Src: /src/cryptofuzz/crypto.cpp:326,1
    - Dst: LTC_ARGCHK
      Src: /src/cryptofuzz/crypto.cpp:327,1
    - Dst: cryptofuzz::crypto::impl::s_sha1_compress
      Src: /src/cryptofuzz/crypto.cpp:347,1
    - Dst: STORE64H
      Src: /src/cryptofuzz/crypto.cpp:357,1
    - Dst: cryptofuzz::crypto::impl::s_sha1_compress
      Src: /src/cryptofuzz/crypto.cpp:358,1
    - Dst: STORE32H
      Src: /src/cryptofuzz/crypto.cpp:362,1
    - Dst: zeromem
      Src: /src/cryptofuzz/crypto.cpp:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - md
    - out
    argTypes:
    - hash_state*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 368
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 368
    functionName: cryptofuzz::crypto::impl::sha1_done
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - zeromem
    - cryptofuzz::crypto::impl::s_sha1_compress
    - STORE64H
    - LTC_ARGCHK
    - STORE32H
    linkageType: ''
    returnType: int
    signature: int sha1_done(hash_state * md, unsigned char *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LOAD32H
      Src: /src/cryptofuzz/crypto.cpp:419,1
    - Dst: Gamma1
      Src: /src/cryptofuzz/crypto.cpp:424,1
    - Dst: Gamma0
      Src: /src/cryptofuzz/crypto.cpp:424,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:436,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:447,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:448,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:449,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:450,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:451,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:452,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:453,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:454,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:455,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:456,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:457,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:458,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:459,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:460,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:461,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:462,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:463,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:464,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:465,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:466,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:467,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:468,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:469,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:470,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:471,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:472,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:473,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:474,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:475,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:476,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:477,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:478,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:479,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:480,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:481,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:482,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:483,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:484,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:485,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:486,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:487,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:488,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:489,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:490,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:491,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:492,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:493,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:494,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:495,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:496,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:497,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:498,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:499,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:500,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:501,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:502,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:503,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:504,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:505,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:506,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:507,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:508,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:509,1
    - Dst: RND
      Src: /src/cryptofuzz/crypto.cpp:510,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 90
    argCount: 2
    argNames:
    - md
    - buf
    argTypes:
    - hash_state*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 519
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 519
    functionName: cryptofuzz::crypto::impl::s_sha256_compress
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - Gamma1
    - Gamma0
    - LOAD32H
    - RND
    linkageType: ''
    returnType: int
    signature: int s_sha256_compress(hash_state * md, const unsigned char *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ss_sha256_compress
      Src: /src/cryptofuzz/crypto.cpp:525,1
    - Dst: burn_stack
      Src: /src/cryptofuzz/crypto.cpp:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - md
    - buf
    argTypes:
    - hash_state*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 528
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 528
    functionName: cryptofuzz::crypto::impl::s_sha256_compress
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - burn_stack
    - ss_sha256_compress
    linkageType: ''
    returnType: int
    signature: int s_sha256_compress(hash_state * md, const unsigned char *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LTC_ARGCHK
      Src: /src/cryptofuzz/crypto.cpp:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - md
    argTypes:
    - hash_state*
    constantsTouched: []
    func_position:
      end: 551
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 551
    functionName: cryptofuzz::crypto::impl::sha256_init
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - LTC_ARGCHK
    linkageType: ''
    returnType: int
    signature: int sha256_init(hash_state * md)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LTC_ARGCHK
      Src: /src/cryptofuzz/crypto.cpp:572,1
    - Dst: LTC_ARGCHK
      Src: /src/cryptofuzz/crypto.cpp:573,1
    - Dst: cryptofuzz::crypto::impl::s_sha256_compress
      Src: /src/cryptofuzz/crypto.cpp:594,1
    - Dst: STORE64H
      Src: /src/cryptofuzz/crypto.cpp:604,1
    - Dst: cryptofuzz::crypto::impl::s_sha256_compress
      Src: /src/cryptofuzz/crypto.cpp:605,1
    - Dst: STORE32H
      Src: /src/cryptofuzz/crypto.cpp:609,1
    - Dst: zeromem
      Src: /src/cryptofuzz/crypto.cpp:612,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - md
    - out
    argTypes:
    - hash_state*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 615
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 615
    functionName: cryptofuzz::crypto::impl::sha256_done
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - zeromem
    - cryptofuzz::crypto::impl::s_sha256_compress
    - STORE64H
    - LTC_ARGCHK
    - STORE32H
    linkageType: ''
    returnType: int
    signature: int sha256_done(hash_state * md, unsigned char *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::crypto::impl::sha1_init
      Src: /src/cryptofuzz/crypto.cpp:623,1
    - Dst: impl::sha1_process
      Src: /src/cryptofuzz/crypto.cpp:624,1
    - Dst: cryptofuzz::crypto::impl::sha1_done
      Src: /src/cryptofuzz/crypto.cpp:625,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/crypto.cpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 628
      start: 619
    functionDepth: 2
    functionLinenumber: 619
    functionLinenumberEnd: 628
    functionName: cryptofuzz::crypto::impl::sha1
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - impl::sha1_process
    - cryptofuzz::crypto::impl::sha1_init
    - cryptofuzz::crypto::impl::sha1_done
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sha1(const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::crypto::impl::sha1
      Src: /src/cryptofuzz/crypto.cpp:631,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/crypto.cpp:631,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/crypto.cpp:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 632
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 632
    functionName: cryptofuzz::crypto::impl::sha1
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::crypto::impl::sha1
    - std::vector<uint8_t>::data
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sha1(const std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::crypto::impl::sha256_init
      Src: /src/cryptofuzz/crypto.cpp:638,1
    - Dst: impl::sha256_process
      Src: /src/cryptofuzz/crypto.cpp:639,1
    - Dst: cryptofuzz::crypto::impl::sha256_done
      Src: /src/cryptofuzz/crypto.cpp:640,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/crypto.cpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 643
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 643
    functionName: cryptofuzz::crypto::impl::sha256
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - cryptofuzz::crypto::impl::sha256_done
    - cryptofuzz::crypto::impl::sha256_init
    - impl::sha256_process
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sha256(const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::crypto::impl::sha256
      Src: /src/cryptofuzz/crypto.cpp:646,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/crypto.cpp:646,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/crypto.cpp:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: cryptofuzz::crypto::impl::sha256
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::crypto::impl::sha256
    - std::vector<uint8_t>::data
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> sha256(const std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::crypto::impl::sha256_init
      Src: /src/cryptofuzz/crypto.cpp:654,1
    - Dst: cryptofuzz::crypto::impl::sha256_init
      Src: /src/cryptofuzz/crypto.cpp:655,1
    - Dst: memcpy
      Src: /src/cryptofuzz/crypto.cpp:659,1
    - Dst: memset
      Src: /src/cryptofuzz/crypto.cpp:661,1
    - Dst: cryptofuzz::crypto::impl::sha256
      Src: /src/cryptofuzz/crypto.cpp:663,1
    - Dst: memcpy
      Src: /src/cryptofuzz/crypto.cpp:664,1
    - Dst: auto::data
      Src: /src/cryptofuzz/crypto.cpp:664,1
    - Dst: auto::size
      Src: /src/cryptofuzz/crypto.cpp:664,1
    - Dst: memset
      Src: /src/cryptofuzz/crypto.cpp:665,1
    - Dst: impl::sha256_process
      Src: /src/cryptofuzz/crypto.cpp:671,1
    - Dst: impl::sha256_process
      Src: /src/cryptofuzz/crypto.cpp:676,1
    - Dst: impl::sha256_process
      Src: /src/cryptofuzz/crypto.cpp:678,1
    - Dst: cryptofuzz::crypto::impl::sha256_done
      Src: /src/cryptofuzz/crypto.cpp:680,1
    - Dst: impl::sha256_process
      Src: /src/cryptofuzz/crypto.cpp:681,1
    - Dst: cryptofuzz::crypto::impl::sha256_done
      Src: /src/cryptofuzz/crypto.cpp:682,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - data
    - size
    - key
    - key_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 685
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 685
    functionName: cryptofuzz::crypto::impl::hmac_sha256
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::crypto::impl::sha256
    - impl::sha256_process
    - memcpy
    - memset
    - cryptofuzz::crypto::impl::sha256_init
    - auto::data
    - auto::size
    - cryptofuzz::crypto::impl::sha256_done
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> hmac_sha256(const uint8_t* data, const size_t
      size, const uint8_t* key, const size_t key_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::crypto::impl::hmac_sha256
      Src: /src/cryptofuzz/crypto.cpp:688,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/crypto.cpp:688,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/crypto.cpp:688,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/crypto.cpp:688,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/crypto.cpp:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - key
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 689
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 689
    functionName: cryptofuzz::crypto::impl::hmac_sha256
    functionSourceFile: /src/cryptofuzz/crypto.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::crypto::impl::hmac_sha256
    - std::vector<uint8_t>::data
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> hmac_sha256(const std::vector<uint8_t> data, const
      std::vector<uint8_t> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - filename
    - outDir
    - curveId
    argTypes:
    - std::string
    - std::string
    - uint64_t
    constantsTouched: []
    func_position:
      end: 13
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 13
    functionName: cryptofuzz::Botan_Importer::Botan_Importer
    functionSourceFile: /src/cryptofuzz/botan_importer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Botan_Importer::Botan_Importer(const std::string filename, const
      std::string outDir, const uint64_t curveId)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::istreambuf_iterator<char>
      Src: /src/cryptofuzz/botan_importer.cpp:17,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/cryptofuzz/botan_importer.cpp:17,1
    - Dst: cryptofuzz::Botan_Importer::LoadInput
      Src: /src/cryptofuzz/botan_importer.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: cryptofuzz::Botan_Importer::Run
    functionSourceFile: /src/cryptofuzz/botan_importer.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Botan_Importer::LoadInput
    - std::istreambuf_iterator<char>
    linkageType: ''
    returnType: void
    signature: void Botan_Importer::Run(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/botan_importer.cpp:25,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/botan_importer.cpp:26,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/botan_importer.cpp:30,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/botan_importer.cpp:31,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/botan_importer.cpp:35,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/botan_importer.cpp:36,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/botan_importer.cpp:40,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/botan_importer.cpp:41,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/botan_importer.cpp:46,1
    - Dst: cryptofuzz::repository::ECC_CurveToX
      Src: /src/cryptofuzz/botan_importer.cpp:49,1
    - Dst: cryptofuzz::repository::ECC_CurveToY
      Src: /src/cryptofuzz/botan_importer.cpp:50,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/botan_importer.cpp:54,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/botan_importer.cpp:54,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/botan_importer.cpp:55,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/botan_importer.cpp:55,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/botan_importer.cpp:67,1
    - Dst: cryptofuzz::Botan_Importer::write
      Src: /src/cryptofuzz/botan_importer.cpp:68,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/botan_importer.cpp:68,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 70
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 70
    functionName: cryptofuzz::Botan_Importer::LoadInput
    functionSourceFile: /src/cryptofuzz/botan_importer.cpp
    functionUses: 1
    functionsReached:
    - CF_ASSERT
    - cryptofuzz::Botan_Importer::write
    - CF_ECC_CURVE
    - cryptofuzz::repository::ECC_CurveToX
    - cryptofuzz::repository::ECC_CurveToY
    - cryptofuzz::util::BinToDec
    - CF_OPERATION
    - cryptofuzz::operation::ECC_Point_Mul::Serialize
    - std::vector<uint8_t>::data
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void Botan_Importer::LoadInput(const std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/botan_importer.cpp:76,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/botan_importer.cpp:78,1
    - Dst: GetOut
      Src: /src/cryptofuzz/botan_importer.cpp:78,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/botan_importer.cpp:81,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/botan_importer.cpp:81,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/botan_importer.cpp:84,1
    - Dst: CF_MODULE
      Src: /src/cryptofuzz/botan_importer.cpp:84,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/botan_importer.cpp:87,1
    - Dst: std::string
      Src: /src/cryptofuzz/botan_importer.cpp:90,1
    - Dst: cryptofuzz::util::SHA1
      Src: /src/cryptofuzz/botan_importer.cpp:90,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/botan_importer.cpp:90,1
    - Dst: fopen
      Src: /src/cryptofuzz/botan_importer.cpp:91,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/botan_importer.cpp:91,1
    - Dst: fwrite
      Src: /src/cryptofuzz/botan_importer.cpp:92,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/botan_importer.cpp:92,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/botan_importer.cpp:92,1
    - Dst: fclose
      Src: /src/cryptofuzz/botan_importer.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - operation
    - ' dsOut2'
    argTypes:
    - uint64_t
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 95
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 95
    functionName: cryptofuzz::Botan_Importer::write
    functionSourceFile: /src/cryptofuzz/botan_importer.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::util::SHA1
    - std::string
    - CF_MODULE
    - fuzzing::datasource::Datasource::Put
    - std::vector<uint8_t>
    - std::string::c_str
    - GetOut
    - fclose
    - fuzzing::datasource::Datasource::GetOut
    - fuzzing::datasource::Datasource::PutData
    - fwrite
    - fopen
    linkageType: ''
    returnType: void
    signature: void Botan_Importer::write(const uint64_t operation, fuzzing::datasource::Datasource&
      dsOut2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/cryptofuzz/generate_corpus.cpp:190,1
    - Dst: fopen
      Src: /src/cryptofuzz/generate_corpus.cpp:192,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/generate_corpus.cpp:192,1
    - Dst: fwrite
      Src: /src/cryptofuzz/generate_corpus.cpp:193,1
    - Dst: data
      Src: /src/cryptofuzz/generate_corpus.cpp:193,1
    - Dst: size
      Src: /src/cryptofuzz/generate_corpus.cpp:193,1
    - Dst: fclose
      Src: /src/cryptofuzz/generate_corpus.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - corpusDirectory
    - ' data'
    argTypes:
    - std::string
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 195
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 195
    functionName: write
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 84
    functionsReached:
    - data
    - std::to_string
    - size
    - std::string::c_str
    - fclose
    - fwrite
    - fopen
    linkageType: ''
    returnType: void
    signature: void write(const std::string corpusDirectory, const std::vector<uint8_t>&
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/cryptofuzz/generate_corpus.cpp:199,1
    - Dst: end
      Src: /src/cryptofuzz/generate_corpus.cpp:199,1
    - Dst: insert
      Src: /src/cryptofuzz/generate_corpus.cpp:200,1
    - Dst: end
      Src: /src/cryptofuzz/generate_corpus.cpp:200,1
    - Dst: data
      Src: /src/cryptofuzz/generate_corpus.cpp:200,1
    - Dst: data
      Src: /src/cryptofuzz/generate_corpus.cpp:200,1
    - Dst: size
      Src: /src/cryptofuzz/generate_corpus.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' to'
    - ' from'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: emit
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 4
    functionsReached:
    - end
    - data
    - insert
    - size
    linkageType: ''
    returnType: void
    signature: void emit(std::vector<uint8_t>& to, const std::vector<uint8_t>& from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/generate_corpus.cpp:205,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/generate_corpus.cpp:205,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' to'
    - from
    argTypes:
    - std::vector<uint8_t>
    - uint64_t
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: emit
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 5
    functionsReached:
    - memcpy
    - emit
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void emit(std::vector<uint8_t>& to, const uint64_t from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:215,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:224,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:225,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:228,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:234,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:238,1
    - Dst: write
      Src: /src/cryptofuzz/generate_corpus.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 5
    argNames:
    - corpusDirectory
    - cleartextSize
    - digestType
    - modifierSize
    - moduleID
    argTypes:
    - std::string
    - size_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 243
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 243
    functionName: generate_Digest_inner
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 0
    functionsReached:
    - write
    - emit
    linkageType: ''
    returnType: void
    signature: void generate_Digest_inner(const std::string corpusDirectory, const
      size_t cleartextSize, const uint64_t digestType, const uint64_t modifierSize,
      const uint64_t moduleID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_Digest_inner
      Src: /src/cryptofuzz/generate_corpus.cpp:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - corpusDirectory
    - moduleID
    argTypes:
    - std::string
    - uint64_t
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: generate_Digest
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 0
    functionsReached:
    - generate_Digest_inner
    linkageType: ''
    returnType: void
    signature: void generate_Digest(const std::string corpusDirectory, const uint64_t
      moduleID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:260,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:269,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:272,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:275,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:277,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:280,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:283,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:289,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:293,1
    - Dst: write
      Src: /src/cryptofuzz/generate_corpus.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 7
    argNames:
    - corpusDirectory
    - cleartextSize
    - ivSize
    - keySize
    - cipherType
    - modifierSize
    - moduleID
    argTypes:
    - std::string
    - size_t
    - size_t
    - size_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 298
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 298
    functionName: generate_SymmetricEncrypt_inner
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 0
    functionsReached:
    - write
    - emit
    linkageType: ''
    returnType: void
    signature: void generate_SymmetricEncrypt_inner(const std::string corpusDirectory,
      const size_t cleartextSize, const size_t ivSize, const size_t keySize, const
      uint64_t cipherType, const uint64_t modifierSize, const uint64_t moduleID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:305,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:314,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:316,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:319,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:322,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:324,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:327,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:333,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:337,1
    - Dst: write
      Src: /src/cryptofuzz/generate_corpus.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 8
    argNames:
    - corpusDirectory
    - cleartextSize
    - digestType
    - ivSize
    - keySize
    - cipherType
    - modifierSize
    - moduleID
    argTypes:
    - std::string
    - size_t
    - uint64_t
    - size_t
    - size_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 342
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 342
    functionName: generate_HMAC_inner
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 0
    functionsReached:
    - write
    - emit
    linkageType: ''
    returnType: void
    signature: void generate_HMAC_inner(const std::string corpusDirectory, const size_t
      cleartextSize, const uint64_t digestType, const size_t ivSize, const size_t
      keySize, const uint64_t cipherType, const uint64_t modifierSize, const uint64_t
      moduleID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_HMAC_inner
      Src: /src/cryptofuzz/generate_corpus.cpp:352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - corpusDirectory
    - moduleID
    argTypes:
    - std::string
    - uint64_t
    constantsTouched: []
    func_position:
      end: 359
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 359
    functionName: generate_HMAC
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 0
    functionsReached:
    - generate_HMAC_inner
    linkageType: ''
    returnType: void
    signature: void generate_HMAC(const std::string corpusDirectory, const uint64_t
      moduleID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:366,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:375,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:378,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:381,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:383,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:386,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:392,1
    - Dst: emit
      Src: /src/cryptofuzz/generate_corpus.cpp:396,1
    - Dst: write
      Src: /src/cryptofuzz/generate_corpus.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 7
    argNames:
    - corpusDirectory
    - cleartextSize
    - ivSize
    - keySize
    - cipherType
    - modifierSize
    - moduleID
    argTypes:
    - std::string
    - size_t
    - size_t
    - size_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 401
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 401
    functionName: generate_CMAC_inner
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 0
    functionsReached:
    - write
    - emit
    linkageType: ''
    returnType: void
    signature: void generate_CMAC_inner(const std::string corpusDirectory, const size_t
      cleartextSize, const size_t ivSize, const size_t keySize, const uint64_t cipherType,
      const uint64_t modifierSize, const uint64_t moduleID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_CMAC_inner
      Src: /src/cryptofuzz/generate_corpus.cpp:409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - corpusDirectory
    - moduleID
    argTypes:
    - std::string
    - uint64_t
    constantsTouched: []
    func_position:
      end: 415
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 415
    functionName: generate_CMAC
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 0
    functionsReached:
    - generate_CMAC_inner
    linkageType: ''
    returnType: void
    signature: void generate_CMAC(const std::string corpusDirectory, const uint64_t
      moduleID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_SymmetricEncrypt_inner
      Src: /src/cryptofuzz/generate_corpus.cpp:423,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - corpusDirectory
    - moduleID
    argTypes:
    - std::string
    - uint64_t
    constantsTouched: []
    func_position:
      end: 429
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 429
    functionName: generate_SymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 0
    functionsReached:
    - generate_SymmetricEncrypt_inner
    linkageType: ''
    returnType: void
    signature: void generate_SymmetricEncrypt(const std::string corpusDirectory, const
      uint64_t moduleID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/generate_corpus.cpp:434,1
    - Dst: ID
      Src: /src/cryptofuzz/generate_corpus.cpp:441,1
    - Dst: generate_Digest
      Src: /src/cryptofuzz/generate_corpus.cpp:447,1
    - Dst: generate_HMAC
      Src: /src/cryptofuzz/generate_corpus.cpp:448,1
    - Dst: generate_CMAC
      Src: /src/cryptofuzz/generate_corpus.cpp:449,1
    - Dst: generate_SymmetricEncrypt
      Src: /src/cryptofuzz/generate_corpus.cpp:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 454
      start: 431
    functionDepth: 4
    functionLinenumber: 431
    functionLinenumberEnd: 454
    functionName: main
    functionSourceFile: /src/cryptofuzz/generate_corpus.cpp
    functionUses: 97
    functionsReached:
    - generate_Digest
    - printf
    - generate_CMAC
    - generate_HMAC
    - generate_SymmetricEncrypt
    - ID
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/wycheproof.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - outDir
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: cryptofuzz::Wycheproof::Wycheproof
    functionSourceFile: /src/cryptofuzz/wycheproof.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: void
    signature: void Wycheproof::Wycheproof(const std::string filename, const std::string
      outDir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:20,1
    - Dst: cryptofuzz::Wycheproof::ECDSA_Verify
      Src: /src/cryptofuzz/wycheproof.cpp:21,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:22,1
    - Dst: cryptofuzz::Wycheproof::EDDSA_Verify
      Src: /src/cryptofuzz/wycheproof.cpp:23,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:24,1
    - Dst: cryptofuzz::Wycheproof::ECDH
      Src: /src/cryptofuzz/wycheproof.cpp:25,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:26,1
    - Dst: cryptofuzz::Wycheproof::DSA
      Src: /src/cryptofuzz/wycheproof.cpp:27,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:28,1
    - Dst: cryptofuzz::Wycheproof::PrimalityTest
      Src: /src/cryptofuzz/wycheproof.cpp:29,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: cryptofuzz::Wycheproof::Run
    functionSourceFile: /src/cryptofuzz/wycheproof.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Wycheproof::ECDSA_Verify
    - cryptofuzz::Wycheproof::ECDH
    - get
    - cryptofuzz::Wycheproof::EDDSA_Verify
    - cryptofuzz::Wycheproof::PrimalityTest
    - cryptofuzz::Wycheproof::DSA
    linkageType: ''
    returnType: void
    signature: void Wycheproof::Run(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/wycheproof.cpp:37,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/wycheproof.cpp:39,1
    - Dst: GetOut
      Src: /src/cryptofuzz/wycheproof.cpp:39,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/wycheproof.cpp:42,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/wycheproof.cpp:42,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/wycheproof.cpp:45,1
    - Dst: CF_MODULE
      Src: /src/cryptofuzz/wycheproof.cpp:45,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/wycheproof.cpp:48,1
    - Dst: std::string
      Src: /src/cryptofuzz/wycheproof.cpp:52,1
    - Dst: cryptofuzz::util::SHA1
      Src: /src/cryptofuzz/wycheproof.cpp:52,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/wycheproof.cpp:52,1
    - Dst: fopen
      Src: /src/cryptofuzz/wycheproof.cpp:53,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/wycheproof.cpp:53,1
    - Dst: fwrite
      Src: /src/cryptofuzz/wycheproof.cpp:54,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/wycheproof.cpp:54,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/wycheproof.cpp:54,1
    - Dst: fclose
      Src: /src/cryptofuzz/wycheproof.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - operation
    - ' dsOut2'
    argTypes:
    - uint64_t
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 57
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 57
    functionName: cryptofuzz::Wycheproof::write
    functionSourceFile: /src/cryptofuzz/wycheproof.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::SHA1
    - std::string
    - CF_MODULE
    - fuzzing::datasource::Datasource::Put
    - std::vector<uint8_t>
    - std::string::c_str
    - GetOut
    - fclose
    - fuzzing::datasource::Datasource::GetOut
    - fuzzing::datasource::Datasource::PutData
    - fwrite
    - fopen
    linkageType: ''
    returnType: void
    signature: void Wycheproof::write(const uint64_t operation, fuzzing::datasource::Datasource&
      dsOut2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveFromString
      Src: /src/cryptofuzz/wycheproof.cpp:73,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:77,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:79,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:81,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:83,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:85,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:87,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:89,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:91,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:93,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:95,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/wycheproof.cpp:97,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/wycheproof.cpp:113,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/wycheproof.cpp:115,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/wycheproof.cpp:117,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/wycheproof.cpp:119,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/wycheproof.cpp:121,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/wycheproof.cpp:123,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/wycheproof.cpp:125,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/wycheproof.cpp:127,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/wycheproof.cpp:129,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:133,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:134,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:136,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:137,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:139,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:140,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:142,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:143,1
    - Dst: cryptofuzz::util::SignatureFromDER
      Src: /src/cryptofuzz/wycheproof.cpp:146,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:146,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/wycheproof.cpp:147,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:162,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:170,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:172,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:172,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/wycheproof.cpp:180,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:181,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/wycheproof.cpp:182,1
    - Dst: Botan_Tests::Sodium_API_Tests::hash_sha256
      Src: /src/cryptofuzz/wycheproof.cpp:183,1
    - Dst: from_hex
      Src: /src/cryptofuzz/wycheproof.cpp:186,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/wycheproof.cpp:186,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/wycheproof.cpp:189,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:193,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:195,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:195,1
    - Dst: cryptofuzz::operation::ECC_Point_Add::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:203,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:205,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:205,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:213,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:215,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:215,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:223,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:225,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:225,1
    - Dst: cryptofuzz::operation::ECC_ValidatePubkey::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:232,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:234,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:234,1
    - Dst: cryptofuzz::operation::ECC_ValidatePubkey::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:241,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:243,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:243,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 128
    argCount: 1
    argNames:
    - ' groups'
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 250
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 250
    functionName: cryptofuzz::Wycheproof::ECDSA_Verify
    functionSourceFile: /src/cryptofuzz/wycheproof.cpp
    functionUses: 1
    functionsReached:
    - CF_CHECK_NE
    - CF_ASSERT
    - boost::algorithm::unhex
    - CF_ECC_CURVE
    - cryptofuzz::operation::ECC_Point_Add::Serialize
    - std::back_inserter
    - cryptofuzz::util::HexToDec
    - Botan_Tests::Sodium_API_Tests::hash_sha256
    - cryptofuzz::util::SignatureFromDER
    - cryptofuzz::repository::ECC_CurveFromString
    - CF_DIGEST
    - get
    - cryptofuzz::Wycheproof::write
    - from_hex
    - CF_OPERATION
    - cryptofuzz::operation::ECDSA_Verify::Serialize
    - cryptofuzz::operation::ECC_Point_Mul::Serialize
    - cryptofuzz::operation::ECC_ValidatePubkey::Serialize
    linkageType: ''
    returnType: void
    signature: void Wycheproof::ECDSA_Verify(const nlohmann::json& groups)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:261,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/wycheproof.cpp:263,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/wycheproof.cpp:267,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:269,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:273,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/wycheproof.cpp:274,1
    - Dst: auto::size
      Src: /src/cryptofuzz/wycheproof.cpp:274,1
    - Dst: std::string
      Src: /src/cryptofuzz/wycheproof.cpp:276,1
    - Dst: auto::data
      Src: /src/cryptofuzz/wycheproof.cpp:276,1
    - Dst: auto::data
      Src: /src/cryptofuzz/wycheproof.cpp:276,1
    - Dst: auto::size
      Src: /src/cryptofuzz/wycheproof.cpp:276,1
    - Dst: std::string
      Src: /src/cryptofuzz/wycheproof.cpp:277,1
    - Dst: auto::data
      Src: /src/cryptofuzz/wycheproof.cpp:277,1
    - Dst: auto::size
      Src: /src/cryptofuzz/wycheproof.cpp:277,1
    - Dst: auto::data
      Src: /src/cryptofuzz/wycheproof.cpp:277,1
    - Dst: auto::size
      Src: /src/cryptofuzz/wycheproof.cpp:277,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:279,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:280,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:283,1
    - Dst: std::string
      Src: /src/cryptofuzz/wycheproof.cpp:285,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:289,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:291,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - ' groups'
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 298
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 298
    functionName: cryptofuzz::Wycheproof::EDDSA_Verify
    functionSourceFile: /src/cryptofuzz/wycheproof.cpp
    functionUses: 1
    functionsReached:
    - CF_ASSERT
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - cryptofuzz::util::HexToDec
    - std::string
    - CF_DIGEST
    - get
    - auto::data
    - cryptofuzz::Wycheproof::write
    - auto::size
    - CF_OPERATION
    - cryptofuzz::operation::ECDSA_Verify::Serialize
    linkageType: ''
    returnType: void
    signature: void Wycheproof::EDDSA_Verify(const nlohmann::json& groups)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveFromString
      Src: /src/cryptofuzz/wycheproof.cpp:309,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:313,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:315,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:317,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:319,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:321,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:323,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:325,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:327,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:329,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:331,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/wycheproof.cpp:333,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/wycheproof.cpp:335,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:341,1
    - Dst: cryptofuzz::util::PubkeyFromASN1
      Src: /src/cryptofuzz/wycheproof.cpp:344,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:344,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/wycheproof.cpp:345,1
    - Dst: cryptofuzz::operation::ECDH_Derive::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:355,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:357,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:357,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 1
    argNames:
    - ' groups'
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 363
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 363
    functionName: cryptofuzz::Wycheproof::ECDH
    functionSourceFile: /src/cryptofuzz/wycheproof.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECDH_Derive::Serialize
    - cryptofuzz::util::PubkeyFromASN1
    - CF_ASSERT
    - CF_CHECK_NE
    - CF_ECC_CURVE
    - cryptofuzz::util::HexToDec
    - cryptofuzz::repository::ECC_CurveFromString
    - get
    - cryptofuzz::Wycheproof::write
    - CF_OPERATION
    linkageType: ''
    returnType: void
    signature: void Wycheproof::ECDH(const nlohmann::json& groups)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:377,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:378,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:379,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:382,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/wycheproof.cpp:388,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:389,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/wycheproof.cpp:390,1
    - Dst: Botan_Tests::Sodium_API_Tests::hash_sha256
      Src: /src/cryptofuzz/wycheproof.cpp:391,1
    - Dst: from_hex
      Src: /src/cryptofuzz/wycheproof.cpp:394,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/wycheproof.cpp:394,1
    - Dst: cryptofuzz::util::SignatureFromDER
      Src: /src/cryptofuzz/wycheproof.cpp:398,1
    - Dst: get
      Src: /src/cryptofuzz/wycheproof.cpp:398,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/wycheproof.cpp:399,1
    - Dst: cryptofuzz::operation::DSA_Verify::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:406,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:408,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - ' groups'
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 414
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 414
    functionName: cryptofuzz::Wycheproof::DSA
    functionSourceFile: /src/cryptofuzz/wycheproof.cpp
    functionUses: 1
    functionsReached:
    - CF_CHECK_NE
    - boost::algorithm::unhex
    - std::back_inserter
    - cryptofuzz::util::HexToDec
    - cryptofuzz::util::SignatureFromDER
    - get
    - cryptofuzz::Wycheproof::write
    - from_hex
    - CF_OPERATION
    - Botan_Tests::Sodium_API_Tests::hash_sha256
    - cryptofuzz::operation::DSA_Verify::Serialize
    linkageType: ''
    returnType: void
    signature: void Wycheproof::DSA(const nlohmann::json& groups)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/wycheproof.cpp:422,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/wycheproof.cpp:423,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/wycheproof.cpp:430,1
    - Dst: cryptofuzz::Wycheproof::write
      Src: /src/cryptofuzz/wycheproof.cpp:431,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/wycheproof.cpp:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' groups'
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 434
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 434
    functionName: cryptofuzz::Wycheproof::PrimalityTest
    functionSourceFile: /src/cryptofuzz/wycheproof.cpp
    functionUses: 1
    functionsReached:
    - CF_CALCOP
    - cryptofuzz::operation::BignumCalc::Serialize
    - cryptofuzz::util::HexToDec
    - cryptofuzz::Wycheproof::write
    - CF_OPERATION
    linkageType: ''
    returnType: void
    signature: void Wycheproof::PrimalityTest(const nlohmann::json& groups)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: PRNG
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 74
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t PRNG(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - x
    - m
    argTypes:
    - boost::multiprecision::cpp_int
    - boost::multiprecision::cpp_int
    constantsTouched: []
    func_position:
      end: 60
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 60
    functionName: cpp_int_reciprocal
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boost::multiprecision::cpp_int
    signature: "boost::multiprecision::cpp_int cpp_int_reciprocal(\n        boost::multiprecision::cpp_int
      x,\n        boost::multiprecision::cpp_int m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - boost::multiprecision::cpp_int
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: cpp_int_num_bits
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cpp_int_num_bits(const boost::multiprecision::cpp_int& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/mutator.cpp:76,1
    - Dst: size
      Src: /src/cryptofuzz/mutator.cpp:79,1
    - Dst: cpp_int_num_bits
      Src: /src/cryptofuzz/mutator.cpp:84,1
    - Dst: boost::multiprecision::cpp_int::str
      Src: /src/cryptofuzz/mutator.cpp:85,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - ' y_'
    - ' mod_'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: to_mont
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - cpp_int_num_bits
    - boost::multiprecision::cpp_int::str
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string to_mont(const std::string& y_, const std::string& mod_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/mutator.cpp:89,1
    - Dst: size
      Src: /src/cryptofuzz/mutator.cpp:92,1
    - Dst: cpp_int_num_bits
      Src: /src/cryptofuzz/mutator.cpp:96,1
    - Dst: cpp_int_reciprocal
      Src: /src/cryptofuzz/mutator.cpp:99,1
    - Dst: boost::multiprecision::cpp_int::str
      Src: /src/cryptofuzz/mutator.cpp:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - ' y_'
    - ' mod_'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: from_mont
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - cpp_int_num_bits
    - boost::multiprecision::cpp_int::str
    - cpp_int_reciprocal
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string from_mont(const std::string& y_, const std::string& mod_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/cryptofuzz/mutator.cpp:106,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/mutator.cpp:109,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:113,1
    - Dst: export_bits
      Src: /src/cryptofuzz/mutator.cpp:116,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/mutator.cpp:116,1
    - Dst: LLVMFuzzerMutate
      Src: /src/cryptofuzz/mutator.cpp:117,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/mutator.cpp:117,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/mutator.cpp:117,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/mutator.cpp:117,1
    - Dst: cryptofuzz::util::MemorySanitizerUnpoison
      Src: /src/cryptofuzz/mutator.cpp:123,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/mutator.cpp:123,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/mutator.cpp:125,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:127,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/mutator.cpp:129,1
    - Dst: import_bits
      Src: /src/cryptofuzz/mutator.cpp:133,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/mutator.cpp:133,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/mutator.cpp:133,1
    - Dst: boost::multiprecision::cpp_int::str
      Src: /src/cryptofuzz/mutator.cpp:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 136
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 136
    functionName: mutateBinary
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - export_bits
    - std::string::size
    - std::vector::size
    - std::vector::begin
    - std::back_inserter
    - std::vector::resize
    - boost::multiprecision::cpp_int::str
    - LLVMFuzzerMutate
    - cryptofuzz::module::blst_detail::To_cpp_int
    - PRNG
    - import_bits
    - std::vector::end
    - cryptofuzz::util::MemorySanitizerUnpoison
    - std::vector::data
    linkageType: ''
    returnType: std::string
    signature: std::string mutateBinary(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:140,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:142,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:144,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:146,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:148,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:150,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:152,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:154,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:156,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:158,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:160,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:162,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:164,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:166,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:168,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:170,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:172,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 180
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 180
    functionName: get_op_mod
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> get_op_mod(const uint64_t& operation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:183,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: PRNG64
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t PRNG64(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:189,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/mutator.cpp:190,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/mutator.cpp:196,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:196,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/mutator.cpp:196,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/mutator.cpp:197,1
    - Dst: std::vector::erase
      Src: /src/cryptofuzz/mutator.cpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - left
    - numParts
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 202
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 202
    functionName: SplitLength
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::begin
    - PRNG
    - std::vector::push_back
    - std::vector::erase
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> SplitLength(size_t left, const size_t numParts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: getBool
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    linkageType: ''
    returnType: bool
    signature: bool getBool(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:211,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/mutator.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: getDefaultSize
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    - std::array::size
    linkageType: ''
    returnType: size_t
    signature: size_t getDefaultSize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:234,1
    - Dst: getDefaultSize
      Src: /src/cryptofuzz/mutator.cpp:235,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 249
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 249
    functionName: getBuffer
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    - getDefaultSize
    - getBool
    linkageType: ''
    returnType: std::string
    signature: std::string getBuffer(size_t size, const bool alternativeSize = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: getBufferBin
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> getBufferBin(const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:264,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:283,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:284,1
    - Dst: at
      Src: /src/cryptofuzz/mutator.cpp:286,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:286,1
    - Dst: size
      Src: /src/cryptofuzz/mutator.cpp:286,1
    - Dst: std::string
      Src: /src/cryptofuzz/mutator.cpp:296,1
    - Dst: std::string::data
      Src: /src/cryptofuzz/mutator.cpp:296,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/mutator.cpp:296,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:299,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 304
    functionName: getBignum
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - at
    - std::string
    - size
    - getBool
    - PRNG
    - Get
    - std::string::data
    linkageType: ''
    returnType: std::string
    signature: std::string getBignum(bool mustBePositive = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: getPrime
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string getPrime(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/mutator.cpp:311,1
    - Dst: from_mont
      Src: /src/cryptofuzz/mutator.cpp:314,1
    - Dst: mutateBinary
      Src: /src/cryptofuzz/mutator.cpp:314,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:314,1
    - Dst: Set
      Src: /src/cryptofuzz/mutator.cpp:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: hint_ecc_mont
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - Set
    - getBignum
    - from_mont
    - mutateBinary
    - cryptofuzz::repository::ECC_CurveToOrder
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hint_ecc_mont(const uint64_t& curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::multiprecision::cpp_int::str
      Src: /src/cryptofuzz/mutator.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' y_'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: to_mont
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - boost::multiprecision::cpp_int::str
    linkageType: ''
    returnType: std::string
    signature: std::string to_mont(const std::string& y_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::multiprecision::cpp_int::str
      Src: /src/cryptofuzz/mutator.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' y_'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: from_mont
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 1
    functionsReached:
    - boost::multiprecision::cpp_int::str
    linkageType: ''
    returnType: std::string
    signature: std::string from_mont(const std::string& y_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphers::Empty
      Src: /src/cryptofuzz/mutator.cpp:341,1
    - Dst: ciphers::At
      Src: /src/cryptofuzz/mutator.cpp:342,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:342,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 346
    functionName: getRandomCipher
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    - ciphers::Empty
    - ciphers::At
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getRandomCipher(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digests::Empty
      Src: /src/cryptofuzz/mutator.cpp:349,1
    - Dst: digests::At
      Src: /src/cryptofuzz/mutator.cpp:350,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:350,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: getRandomDigest
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    - digests::At
    - digests::Empty
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getRandomDigest(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curves::Empty
      Src: /src/cryptofuzz/mutator.cpp:357,1
    - Dst: curves::At
      Src: /src/cryptofuzz/mutator.cpp:358,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:358,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 362
    functionName: getRandomCurve
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    - curves::At
    - curves::Empty
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getRandomCurve(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOps::Empty
      Src: /src/cryptofuzz/mutator.cpp:365,1
    - Dst: calcOps::At
      Src: /src/cryptofuzz/mutator.cpp:366,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:366,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: getRandomCalcOp
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    - calcOps::At
    - calcOps::Empty
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getRandomCalcOp(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: get_BLS_PyECC_DST
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_BLS_PyECC_DST(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 378
    functionName: get_BLS_BasicScheme_DST
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_BLS_BasicScheme_DST(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:381,1
    - Dst: get_BLS_PyECC_DST
      Src: /src/cryptofuzz/mutator.cpp:381,1
    - Dst: get_BLS_BasicScheme_DST
      Src: /src/cryptofuzz/mutator.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: get_BLS_predefined_DST
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - get_BLS_PyECC_DST
    - get_BLS_BasicScheme_DST
    - getBool
    linkageType: ''
    returnType: std::string
    signature: std::string get_BLS_predefined_DST(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:385,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:389,1
    - Dst: cryptofuzz::repository::ECC_CurveToA
      Src: /src/cryptofuzz/mutator.cpp:391,1
    - Dst: cryptofuzz::repository::ECC_CurveToB
      Src: /src/cryptofuzz/mutator.cpp:396,1
    - Dst: cryptofuzz::repository::ECC_CurveToPrime
      Src: /src/cryptofuzz/mutator.cpp:401,1
    - Dst: cryptofuzz::repository::ECC_CurveToPrime
      Src: /src/cryptofuzz/mutator.cpp:406,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:411,1
    - Dst: cryptofuzz::util::Find_ECC_Y
      Src: /src/cryptofuzz/mutator.cpp:413,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:413,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/mutator.cpp:415,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/mutator.cpp:416,1
    - Dst: Set
      Src: /src/cryptofuzz/mutator.cpp:417,1
    - Dst: Set
      Src: /src/cryptofuzz/mutator.cpp:419,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 421
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 421
    functionName: generateECCPoint
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToA
    - cryptofuzz::repository::ECC_CurveToB
    - CF_ECC_CURVE
    - Set
    - getBool
    - cryptofuzz::repository::ECC_CurveToPrime
    - PRNG
    - getRandomCurve
    - getBignum
    - cryptofuzz::util::Find_ECC_Y
    linkageType: ''
    returnType: void
    signature: void generateECCPoint(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:428,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:432,1
    - Dst: cryptofuzz::util::MemorySanitizerUnpoison
      Src: /src/cryptofuzz/mutator.cpp:435,1
    - Dst: fuzzing::datasource::Datasource::Get
      Src: /src/cryptofuzz/mutator.cpp:440,1
    - Dst: fuzzing::datasource::Datasource::GetData
      Src: /src/cryptofuzz/mutator.cpp:441,1
    - Dst: fuzzing::datasource::Datasource::GetData
      Src: /src/cryptofuzz/mutator.cpp:442,1
    - Dst: operations::Empty
      Src: /src/cryptofuzz/mutator.cpp:449,1
    - Dst: operations::At
      Src: /src/cryptofuzz/mutator.cpp:450,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:450,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:452,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:461,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:464,1
    - Dst: PRNG64
      Src: /src/cryptofuzz/mutator.cpp:464,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:465,1
    - Dst: cryptofuzz::operation::Digest::Serialize
      Src: /src/cryptofuzz/mutator.cpp:468,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:471,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:480,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:482,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:483,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:484,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:485,1
    - Dst: getRandomCipher
      Src: /src/cryptofuzz/mutator.cpp:486,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:487,1
    - Dst: cryptofuzz::operation::HMAC::Serialize
      Src: /src/cryptofuzz/mutator.cpp:490,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:493,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:496,1
    - Dst: PRNG64
      Src: /src/cryptofuzz/mutator.cpp:496,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:497,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:498,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:498,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:499,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:500,1
    - Dst: cryptofuzz::operation::UMAC::Serialize
      Src: /src/cryptofuzz/mutator.cpp:503,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:506,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:515,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:517,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:518,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:519,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:520,1
    - Dst: getRandomCipher
      Src: /src/cryptofuzz/mutator.cpp:521,1
    - Dst: cryptofuzz::operation::CMAC::Serialize
      Src: /src/cryptofuzz/mutator.cpp:524,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:527,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:542,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:544,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:545,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:550,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:552,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:553,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:557,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:560,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:567,1
    - Dst: getDefaultSize
      Src: /src/cryptofuzz/mutator.cpp:568,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:570,1
    - Dst: getRandomCipher
      Src: /src/cryptofuzz/mutator.cpp:576,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:577,1
    - Dst: cryptofuzz::operation::SymmetricEncrypt::Serialize
      Src: /src/cryptofuzz/mutator.cpp:580,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:583,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:601,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:603,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:604,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:609,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:611,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:612,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:616,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:619,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:626,1
    - Dst: getRandomCipher
      Src: /src/cryptofuzz/mutator.cpp:631,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:632,1
    - Dst: cryptofuzz::operation::SymmetricDecrypt::Serialize
      Src: /src/cryptofuzz/mutator.cpp:635,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:638,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:639,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:640,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:641,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:642,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:643,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:644,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:645,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:646,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:647,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:648,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:649,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:650,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:651,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:652,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:653,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:654,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:655,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:656,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:657,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:658,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:659,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:660,1
    - Dst: getRandomCalcOp
      Src: /src/cryptofuzz/mutator.cpp:664,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:667,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:668,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:669,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/mutator.cpp:671,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/mutator.cpp:671,1
    - Dst: get_op_mod
      Src: /src/cryptofuzz/mutator.cpp:672,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/mutator.cpp:675,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/mutator.cpp:677,1
    - Dst: abort
      Src: /src/cryptofuzz/mutator.cpp:680,1
    - Dst: from_mont
      Src: /src/cryptofuzz/mutator.cpp:684,1
    - Dst: mutateBinary
      Src: /src/cryptofuzz/mutator.cpp:684,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:684,1
    - Dst: Set
      Src: /src/cryptofuzz/mutator.cpp:685,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:687,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/mutator.cpp:697,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:697,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:698,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod
      Src: /src/cryptofuzz/mutator.cpp:699,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:699,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:707,1
    - Dst: cryptofuzz::Z3::Generate
      Src: /src/cryptofuzz/mutator.cpp:708,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/mutator.cpp:715,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:718,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:720,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:720,1
    - Dst: getRandomCalcOp
      Src: /src/cryptofuzz/mutator.cpp:721,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:722,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:723,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:724,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:725,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp2::Serialize
      Src: /src/cryptofuzz/mutator.cpp:732,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:736,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:738,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:738,1
    - Dst: getRandomCalcOp
      Src: /src/cryptofuzz/mutator.cpp:739,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:741,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:741,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:742,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:744,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:745,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:746,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:747,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:748,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:749,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:750,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:751,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:752,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:753,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:754,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:755,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:770,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:771,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:772,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:773,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:774,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:775,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:776,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:777,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:778,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:779,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:780,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:781,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:783,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:784,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:785,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:786,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:787,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:788,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:789,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:790,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:791,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:792,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:793,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:794,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:797,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:797,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:798,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:800,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:801,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:802,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:803,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:804,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:805,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:806,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:807,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:808,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:809,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:810,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:811,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:826,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:827,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:828,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:829,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:830,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:831,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:832,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:833,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:834,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:835,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:836,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:837,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::Serialize
      Src: /src/cryptofuzz/mutator.cpp:866,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:869,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:871,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:871,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:873,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:873,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:874,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:876,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:879,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:880,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:882,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/mutator.cpp:883,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:885,1
    - Dst: boost::lexical_cast<std::string>
      Src: /src/cryptofuzz/mutator.cpp:886,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:888,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:891,1
    - Dst: cryptofuzz::operation::ECC_PrivateToPublic::Serialize
      Src: /src/cryptofuzz/mutator.cpp:897,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:900,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:902,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:902,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:904,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:904,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:905,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:907,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:909,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:909,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:910,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:910,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:911,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:911,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:912,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:913,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:915,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:915,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:916,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:916,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:918,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:918,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:919,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:920,1
    - Dst: cryptofuzz::operation::ECC_ValidatePubkey::Serialize
      Src: /src/cryptofuzz/mutator.cpp:924,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:926,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:929,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:931,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:931,1
    - Dst: cryptofuzz::operation::DSA_GenerateParameters::Serialize
      Src: /src/cryptofuzz/mutator.cpp:933,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:936,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:940,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:940,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:941,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:945,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:946,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:949,1
    - Dst: cryptofuzz::operation::DSA_PrivateToPublic::Serialize
      Src: /src/cryptofuzz/mutator.cpp:952,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:955,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:957,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:957,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:959,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:959,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:960,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:965,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:966,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:967,1
    - Dst: cryptofuzz::operation::DSA_GenerateKeyPair::Serialize
      Src: /src/cryptofuzz/mutator.cpp:971,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:974,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:976,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:976,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:978,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:978,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:979,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:988,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:988,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:989,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:989,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:994,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:995,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:996,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1000,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1001,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1002,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1003,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1003,1
    - Dst: cryptofuzz::operation::DSA_Verify::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1008,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1011,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1013,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1013,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1015,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1015,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1016,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1026,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1027,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1028,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1033,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1035,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1035,1
    - Dst: cryptofuzz::operation::DSA_Sign::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1038,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1041,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1043,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1043,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1045,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1045,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1046,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1047,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/mutator.cpp:1049,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1051,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1058,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1058,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1060,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1062,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1063,1
    - Dst: cryptofuzz::operation::ECDH_Derive::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1067,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1070,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1072,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1072,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1074,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1076,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1079,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1080,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1080,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1080,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1082,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1082,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1084,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1085,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1085,1
    - Dst: cryptofuzz::operation::ECCSI_Sign::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1088,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1091,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1093,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1093,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1096,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1096,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1097,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1099,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1102,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1103,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1105,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/mutator.cpp:1106,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:1108,1
    - Dst: boost::lexical_cast<std::string>
      Src: /src/cryptofuzz/mutator.cpp:1109,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1111,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1114,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1118,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1120,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1121,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1121,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1121,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1123,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1123,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1126,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1127,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1130,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1133,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1135,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1135,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1137,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1139,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1141,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1143,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1144,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1144,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1144,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1146,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1146,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1148,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1149,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1152,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1155,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1157,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1157,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1159,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1161,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1163,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1165,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1166,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1166,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1166,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1168,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1168,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1170,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1171,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1174,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1177,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1179,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1179,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1181,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1183,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1185,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1187,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1188,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1188,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1188,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1190,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1190,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1192,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1193,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1196,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1199,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1201,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1201,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1203,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1204,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1206,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1208,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1208,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1209,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1209,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1211,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1211,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1212,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1212,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1214,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1214,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1215,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1215,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1220,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1234,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1234,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1236,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1237,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1239,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1240,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1242,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1243,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1245,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1245,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1245,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1246,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1246,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1246,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1249,1
    - Dst: cryptofuzz::operation::ECCSI_Verify::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1252,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1255,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1257,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1257,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1259,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1260,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1261,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1263,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1263,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1264,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1264,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1266,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1266,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1267,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1267,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1269,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/mutator.cpp:1272,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:1274,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:1275,1
    - Dst: boost::lexical_cast<std::string>
      Src: /src/cryptofuzz/mutator.cpp:1277,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1285,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1285,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1287,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1288,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1290,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1291,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1293,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1293,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1293,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1296,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1299,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1302,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1304,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1304,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1306,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1307,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1308,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1310,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1310,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1311,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1311,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1313,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1313,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1314,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1314,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1316,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/mutator.cpp:1319,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:1321,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:1322,1
    - Dst: boost::lexical_cast<std::string>
      Src: /src/cryptofuzz/mutator.cpp:1324,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1332,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1332,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1334,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1335,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1337,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1338,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1340,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1340,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1340,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1343,1
    - Dst: cryptofuzz::operation::ECGDSA_Verify::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1346,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1349,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1351,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1351,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1353,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1354,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1355,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1357,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1357,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1358,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1358,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1360,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1360,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1361,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1361,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1363,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/mutator.cpp:1366,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:1368,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:1369,1
    - Dst: boost::lexical_cast<std::string>
      Src: /src/cryptofuzz/mutator.cpp:1371,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1379,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1379,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1381,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1382,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1384,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1385,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1387,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1387,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1387,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1390,1
    - Dst: cryptofuzz::operation::ECRDSA_Verify::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1393,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1396,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1398,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1398,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1400,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1401,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1402,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1404,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1404,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1405,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1405,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1407,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1407,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1408,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1408,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1410,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/mutator.cpp:1413,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:1415,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/mutator.cpp:1416,1
    - Dst: boost::lexical_cast<std::string>
      Src: /src/cryptofuzz/mutator.cpp:1418,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1426,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1426,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1428,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1429,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1431,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1432,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1434,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1434,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1434,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1437,1
    - Dst: cryptofuzz::operation::Schnorr_Verify::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1440,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1443,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1445,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1445,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1447,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1447,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1448,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1449,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1451,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1451,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1452,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1452,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1454,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1457,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1457,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1457,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1459,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1459,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1460,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1461,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1463,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1463,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1464,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1464,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1466,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1466,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1466,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1468,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1468,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1470,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1471,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:1473,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1473,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1473,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1476,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1477,1
    - Dst: cryptofuzz::operation::ECDSA_Recover::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1480,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1483,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1485,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1485,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1486,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1486,1
    - Dst: cryptofuzz::operation::ECC_GenerateKeyPair::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1489,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1492,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1493,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1495,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1495,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1496,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1497,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1497,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1499,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1499,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/mutator.cpp:1502,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1505,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1507,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1507,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1508,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1510,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1514,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1514,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1515,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1521,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1521,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1522,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1523,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1526,1
    - Dst: cryptofuzz::operation::ECIES_Encrypt::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1528,1
    - Dst: cryptofuzz::operation::ECIES_Decrypt::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1531,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1535,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1539,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1540,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1541,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1543,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1543,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1544,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1544,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1546,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1546,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1548,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1549,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1552,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1553,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1554,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1556,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1556,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1557,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1557,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1559,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1559,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1561,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1562,1
    - Dst: cryptofuzz::operation::ECC_Point_Add::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1566,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:1568,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1571,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1575,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1576,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1577,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1579,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1579,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1580,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1580,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1582,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1582,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1584,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1585,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1588,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1589,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1590,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1592,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1592,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1593,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1593,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1595,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1595,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1597,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1598,1
    - Dst: cryptofuzz::operation::ECC_Point_Sub::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1602,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:1604,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1607,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1611,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1612,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1613,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1615,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1615,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1616,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1616,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1618,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1618,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1620,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1621,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1624,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1627,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:1629,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1632,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1636,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1637,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1638,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1640,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1640,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1641,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1641,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1643,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1643,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1645,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1646,1
    - Dst: cryptofuzz::operation::ECC_Point_Neg::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1650,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:1652,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1655,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1659,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1660,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1661,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1663,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1663,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1664,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1664,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1666,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1666,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1668,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1669,1
    - Dst: cryptofuzz::operation::ECC_Point_Dbl::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1673,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:1675,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1678,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1682,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1683,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1684,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1686,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1686,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1687,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1687,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1689,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1689,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1691,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1692,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1695,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1696,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1697,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1699,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1699,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1700,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1700,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:1702,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:1702,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1704,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1705,1
    - Dst: cryptofuzz::operation::ECC_Point_Cmp::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1709,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:1711,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1714,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:1722,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1724,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1725,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1726,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1727,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1728,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1729,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1730,1
    - Dst: cryptofuzz::operation::KDF_SCRYPT::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1733,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1736,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:1745,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1747,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1748,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1749,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1750,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1751,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1752,1
    - Dst: cryptofuzz::operation::KDF_HKDF::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1755,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1758,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:1766,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1768,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1769,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1770,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1771,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1772,1
    - Dst: cryptofuzz::operation::KDF_TLS1_PRF::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1775,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1778,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:1786,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1788,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1789,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1790,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1791,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1792,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1793,1
    - Dst: cryptofuzz::operation::KDF_PBKDF::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1796,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1799,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:1807,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1809,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1810,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1811,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1812,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1813,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1814,1
    - Dst: cryptofuzz::operation::KDF_PBKDF::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1817,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1820,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:1828,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1830,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1831,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1832,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1833,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1834,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1835,1
    - Dst: cryptofuzz::operation::KDF_PBKDF2::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1838,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1841,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:1849,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1851,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1852,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1853,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1854,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1855,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1856,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1857,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1858,1
    - Dst: cryptofuzz::operation::KDF_ARGON2::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1861,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1864,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:1873,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1875,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1876,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1877,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1878,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1879,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1880,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1881,1
    - Dst: cryptofuzz::operation::KDF_SSH::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1884,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1887,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:1895,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1897,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1898,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1899,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1900,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1901,1
    - Dst: cryptofuzz::operation::KDF_X963::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1904,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1907,1
    - Dst: SplitLength
      Src: /src/cryptofuzz/mutator.cpp:1916,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1918,1
    - Dst: getRandomDigest
      Src: /src/cryptofuzz/mutator.cpp:1921,1
    - Dst: getRandomCipher
      Src: /src/cryptofuzz/mutator.cpp:1925,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1928,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1929,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1930,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1931,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1932,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1933,1
    - Dst: cryptofuzz::operation::KDF_SP_800_108::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1936,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1939,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1942,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1942,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1943,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1943,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1944,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1945,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1946,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1947,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1948,1
    - Dst: cryptofuzz::operation::KDF_SRTP::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1951,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1954,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1957,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1957,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1958,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1958,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1959,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1960,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1961,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1962,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1963,1
    - Dst: cryptofuzz::operation::KDF_SRTCP::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1966,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1969,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1971,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1971,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1972,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1973,1
    - Dst: cryptofuzz::operation::DH_GenerateKeyPair::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1976,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:1979,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:1981,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:1981,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1982,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1983,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1984,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1984,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1985,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1987,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:1990,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:1990,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:1991,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:1993,1
    - Dst: cryptofuzz::operation::DH_Derive::Serialize
      Src: /src/cryptofuzz/mutator.cpp:1997,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2000,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2002,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2002,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2003,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2003,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2005,1
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2008,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2011,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2013,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2013,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2014,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2014,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2016,1
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic_G2::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2019,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2022,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2024,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2024,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2025,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2025,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2026,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:2031,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2031,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2031,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2037,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2037,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2038,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2039,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2040,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2041,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2042,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2044,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2045,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2046,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2047,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2052,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2052,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2052,1
    - Dst: get_BLS_predefined_DST
      Src: /src/cryptofuzz/mutator.cpp:2052,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2054,1
    - Dst: cryptofuzz::operation::BLS_Sign::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2057,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2060,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2062,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2062,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2064,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2065,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2067,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2069,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2070,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2071,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2072,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2076,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2077,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2078,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2079,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2080,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2081,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2083,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2083,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2084,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2087,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2087,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2093,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2094,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2095,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2096,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2099,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2099,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2099,1
    - Dst: get_BLS_predefined_DST
      Src: /src/cryptofuzz/mutator.cpp:2099,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2100,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2101,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2102,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2103,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2104,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2105,1
    - Dst: cryptofuzz::operation::BLS_Verify::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2109,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2112,1
    - Dst: Botan_Tests::Ed448_General_Test::to_array
      Src: /src/cryptofuzz/mutator.cpp:2120,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2123,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2127,1
    - Dst: push_back
      Src: /src/cryptofuzz/mutator.cpp:2131,1
    - Dst: cryptofuzz::operation::BLS_BatchSign::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2135,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:2137,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2140,1
    - Dst: get_BLS_predefined_DST
      Src: /src/cryptofuzz/mutator.cpp:2143,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2152,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2153,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2159,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2162,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2170,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2170,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2174,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2175,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/mutator.cpp:2181,1
    - Dst: Botan_Tests::Ed448_General_Test::to_array
      Src: /src/cryptofuzz/mutator.cpp:2184,1
    - Dst: std::shuffle
      Src: /src/cryptofuzz/mutator.cpp:2186,1
    - Dst: begin
      Src: /src/cryptofuzz/mutator.cpp:2186,1
    - Dst: end
      Src: /src/cryptofuzz/mutator.cpp:2186,1
    - Dst: push_back
      Src: /src/cryptofuzz/mutator.cpp:2197,1
    - Dst: cryptofuzz::operation::BLS_BatchVerify::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2201,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2207,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2209,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2209,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2210,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2210,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2212,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2212,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2213,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2214,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2215,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2217,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2218,1
    - Dst: cryptofuzz::operation::BLS_IsG1OnCurve::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2222,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:2224,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2227,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2229,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2229,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2230,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2230,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2232,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2232,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2233,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2234,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2235,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2236,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2237,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2239,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2240,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2241,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2242,1
    - Dst: cryptofuzz::operation::BLS_IsG2OnCurve::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2246,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2249,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2251,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2251,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2252,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2252,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2253,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2253,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2254,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2254,1
    - Dst: cryptofuzz::operation::BLS_GenerateKeyPair::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2257,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2260,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2262,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2262,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2263,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2263,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2264,1
    - Dst: cryptofuzz::operation::BLS_Decompress_G1::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2267,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2270,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2272,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2272,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2273,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2273,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2275,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2275,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2276,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2277,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2278,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2280,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2281,1
    - Dst: cryptofuzz::operation::BLS_Compress_G1::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2285,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:2287,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2290,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2292,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2292,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2293,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2293,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2294,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2295,1
    - Dst: cryptofuzz::operation::BLS_Decompress_G2::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2298,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2301,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2303,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2303,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2304,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2304,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2306,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2306,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2307,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2308,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2309,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2310,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2311,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2313,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2314,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2315,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2316,1
    - Dst: cryptofuzz::operation::BLS_Compress_G2::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2320,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2323,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2325,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2325,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2326,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2326,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2327,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2327,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2328,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2328,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2328,1
    - Dst: get_BLS_predefined_DST
      Src: /src/cryptofuzz/mutator.cpp:2328,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2330,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2330,1
    - Dst: cryptofuzz::operation::BLS_HashToG1::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2333,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2336,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2338,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2338,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2339,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2339,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2340,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2340,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2341,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2341,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2341,1
    - Dst: get_BLS_predefined_DST
      Src: /src/cryptofuzz/mutator.cpp:2341,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2342,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2342,1
    - Dst: cryptofuzz::operation::BLS_HashToG2::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2345,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2348,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2351,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2351,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2352,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2353,1
    - Dst: cryptofuzz::operation::BLS_MapToG1::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2356,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2359,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2362,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2362,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2363,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2364,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2365,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2366,1
    - Dst: cryptofuzz::operation::BLS_MapToG2::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2369,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2372,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2375,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2375,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2377,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2377,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2378,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2379,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2380,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2382,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2383,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2386,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2386,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2387,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2388,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2389,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2390,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2391,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2393,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2394,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2395,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2396,1
    - Dst: cryptofuzz::operation::BLS_Pairing::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2400,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:2402,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2405,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2408,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2408,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2410,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2410,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2411,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2412,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2413,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2415,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2416,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2419,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2419,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2420,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2421,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2422,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2423,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2424,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2426,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2427,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2428,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2429,1
    - Dst: cryptofuzz::operation::BLS_MillerLoop::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2433,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:2435,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2438,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2441,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2441,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2443,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2443,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2444,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2459,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2460,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2461,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2462,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2463,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2464,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2465,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2466,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2467,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2468,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2469,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2470,1
    - Dst: cryptofuzz::operation::BLS_FinalExp::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2474,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2477,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2479,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2479,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2480,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2480,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2482,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2482,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2483,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2484,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2485,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2487,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2488,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2491,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2491,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2492,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2493,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2494,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2496,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2497,1
    - Dst: cryptofuzz::operation::BLS_G1_Add::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2501,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:2503,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2506,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2508,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2508,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2509,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2509,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2511,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2511,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2512,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2513,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2514,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2516,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2517,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2520,1
    - Dst: cryptofuzz::operation::BLS_G1_Mul::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2523,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:2525,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2528,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2530,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2530,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2531,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2531,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2533,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2533,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2534,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2535,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2536,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2538,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2539,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2542,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2542,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2543,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2544,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2545,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2547,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2548,1
    - Dst: cryptofuzz::operation::BLS_G1_IsEq::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2552,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:2554,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2557,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2559,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2559,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2560,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2560,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2562,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2562,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2563,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2564,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2565,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2567,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2568,1
    - Dst: cryptofuzz::operation::BLS_G1_Neg::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2572,1
    - Dst: generateECCPoint
      Src: /src/cryptofuzz/mutator.cpp:2574,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2577,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2579,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2579,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2580,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2580,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2582,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2582,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2583,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2584,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2585,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2586,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2587,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2589,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2590,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2591,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2592,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2595,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2595,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2596,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2597,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2598,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2599,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2600,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2602,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2603,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2604,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2605,1
    - Dst: cryptofuzz::operation::BLS_G2_Add::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2609,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2612,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2614,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2614,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2615,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2615,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2617,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2617,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2618,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2619,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2620,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2621,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2622,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2624,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2625,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2626,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2627,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2630,1
    - Dst: cryptofuzz::operation::BLS_G2_Mul::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2633,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2636,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2638,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2638,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2639,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2639,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2641,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2641,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2642,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2643,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2644,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2645,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2646,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2648,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2649,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2650,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2651,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2654,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2654,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2655,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2656,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2657,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2658,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2659,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2661,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2662,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2663,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2664,1
    - Dst: cryptofuzz::operation::BLS_G2_IsEq::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2668,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2671,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2673,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2673,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2674,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2674,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2676,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2676,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2677,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2678,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2679,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2680,1
    - Dst: GET_OR_BIGNUM
      Src: /src/cryptofuzz/mutator.cpp:2681,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2683,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2684,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2685,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2686,1
    - Dst: cryptofuzz::operation::BLS_G2_Neg::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2690,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2693,1
    - Dst: hint_ecc_mont
      Src: /src/cryptofuzz/mutator.cpp:2696,1
    - Dst: getRandomCurve
      Src: /src/cryptofuzz/mutator.cpp:2696,1
    - Dst: Botan_Tests::Ed448_General_Test::to_array
      Src: /src/cryptofuzz/mutator.cpp:2699,1
    - Dst: Have
      Src: /src/cryptofuzz/mutator.cpp:2704,1
    - Dst: Get
      Src: /src/cryptofuzz/mutator.cpp:2705,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2709,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2710,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2712,1
    - Dst: push_back
      Src: /src/cryptofuzz/mutator.cpp:2713,1
    - Dst: cryptofuzz::operation::BLS_G1_MultiExp::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2717,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/mutator.cpp:2720,1
    - Dst: getBuffer
      Src: /src/cryptofuzz/mutator.cpp:2722,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2722,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2724,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2726,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2727,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/mutator.cpp:2729,1
    - Dst: getBignum
      Src: /src/cryptofuzz/mutator.cpp:2729,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2729,1
    - Dst: cryptofuzz::operation::SR25519_Verify::Serialize
      Src: /src/cryptofuzz/mutator.cpp:2732,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/mutator.cpp:2743,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/mutator.cpp:2745,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/mutator.cpp:2745,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/mutator.cpp:2751,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/mutator.cpp:2752,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/mutator.cpp:2759,1
    - Dst: getBufferBin
      Src: /src/cryptofuzz/mutator.cpp:2759,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2759,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/mutator.cpp:2763,1
    - Dst: PRNG
      Src: /src/cryptofuzz/mutator.cpp:2763,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/mutator.cpp:2767,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/mutator.cpp:2769,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/mutator.cpp:2773,1
    - Dst: memcpy
      Src: /src/cryptofuzz/mutator.cpp:2775,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/mutator.cpp:2775,1
    - Dst: getBool
      Src: /src/cryptofuzz/mutator.cpp:2777,1
    - Dst: LLVMFuzzerMutate
      Src: /src/cryptofuzz/mutator.cpp:2786,1
    CyclomaticComplexity: 253
    EdgeCount: 253
    ICount: 1647
    argCount: 4
    argNames:
    - data
    - size
    - maxSize
    - seed
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2787
      start: 423
    functionDepth: 4
    functionLinenumber: 423
    functionLinenumberEnd: 2787
    functionName: LLVMFuzzerCustomMutator
    functionSourceFile: /src/cryptofuzz/mutator.cpp
    functionUses: 0
    functionsReached:
    - operations::At
    - get_op_mod
    - cryptofuzz::operation::DSA_PrivateToPublic::Serialize
    - cryptofuzz::operation::BLS_PrivateToPublic::Serialize
    - from_mont
    - cryptofuzz::operation::KDF_X963::Serialize
    - fuzzing::datasource::Datasource::PutData
    - std::vector::empty
    - cryptofuzz::operation::ECDSA_Sign::Serialize
    - cryptofuzz::operation::SymmetricEncrypt::Serialize
    - getBool
    - getRandomCurve
    - cryptofuzz::operation::BLS_G2_Mul::Serialize
    - memcpy
    - cryptofuzz::operation::BLS_MapToG2::Serialize
    - cryptofuzz::operation::ECC_Point_Sub::Serialize
    - cryptofuzz::operation::CMAC::Serialize
    - cryptofuzz::operation::DSA_Verify::Serialize
    - getBufferBin
    - cryptofuzz::operation::ECC_PrivateToPublic::Serialize
    - hint_ecc_mont
    - CF_CHECK_EQ
    - LLVMFuzzerMutate
    - generateECCPoint
    - operations::Empty
    - cryptofuzz::operation::KDF_PBKDF2::Serialize
    - cryptofuzz::util::DecToHex
    - CF_CIPHER
    - Set
    - abort
    - cryptofuzz::operation::KDF_SSH::Serialize
    - cryptofuzz::operation::ECDSA_Recover::Serialize
    - SplitLength
    - cryptofuzz::operation::BLS_Compress_G2::Serialize
    - cryptofuzz::util::MemorySanitizerUnpoison
    - cryptofuzz::operation::BLS_HashToG1::Serialize
    - cryptofuzz::operation::BLS_BatchVerify::Serialize
    - getRandomCalcOp
    - cryptofuzz::operation::BLS_G1_IsEq::Serialize
    - cryptofuzz::operation::KDF_SRTCP::Serialize
    - getRandomDigest
    - cryptofuzz::operation::Schnorr_Verify::Serialize
    - std::vector::push_back
    - cryptofuzz::operation::BLS_G1_Mul::Serialize
    - cryptofuzz::operation::ECGDSA_Verify::Serialize
    - cryptofuzz::operation::BLS_Compress_G1::Serialize
    - GET_OR_BIGNUM
    - cryptofuzz::operation::SR25519_Verify::Serialize
    - cryptofuzz::operation::BLS_Verify::Serialize
    - getBuffer
    - Have
    - Botan_Tests::Ed448_General_Test::to_array
    - cryptofuzz::operation::BLS_PrivateToPublic_G2::Serialize
    - cryptofuzz::operation::ECC_Point_Neg::Serialize
    - cryptofuzz::operation::BLS_Decompress_G2::Serialize
    - PRNG
    - end
    - fuzzing::datasource::Datasource::GetOut
    - cryptofuzz::operation::ECDSA_Verify::Serialize
    - cryptofuzz::operation::ECC_Point_Mul::Serialize
    - cryptofuzz::operation::KDF_TLS1_PRF::Serialize
    - cryptofuzz::operation::BLS_G2_Add::Serialize
    - cryptofuzz::operation::ECC_Point_Dbl::Serialize
    - cryptofuzz::operation::Digest::Serialize
    - cryptofuzz::module::blst_detail::To_cpp_int
    - cryptofuzz::operation::DSA_GenerateKeyPair::Serialize
    - cryptofuzz::operation::DH_Derive::Serialize
    - cryptofuzz::operation::BLS_HashToG2::Serialize
    - cryptofuzz::operation::ECC_GenerateKeyPair::Serialize
    - cryptofuzz::operation::ECRDSA_Sign::Serialize
    - getDefaultSize
    - cryptofuzz::operation::SymmetricDecrypt::Serialize
    - cryptofuzz::repository::ECC_CurveToOrder
    - PRNG64
    - cryptofuzz::operation::BLS_BatchSign::Serialize
    - cryptofuzz::operation::UMAC::Serialize
    - cryptofuzz::operation::BLS_Pairing::Serialize
    - cryptofuzz::operation::DH_GenerateKeyPair::Serialize
    - cryptofuzz::operation::BLS_G1_Add::Serialize
    - cryptofuzz::operation::ECCSI_Verify::Serialize
    - cryptofuzz::operation::ECC_Point_Cmp::Serialize
    - cryptofuzz::operation::BLS_GenerateKeyPair::Serialize
    - CF_OPERATION
    - cryptofuzz::operation::DSA_Sign::Serialize
    - cryptofuzz::operation::BLS_Sign::Serialize
    - fuzzing::datasource::Datasource::Get
    - cryptofuzz::operation::BLS_G1_MultiExp::Serialize
    - cryptofuzz::operation::BLS_IsG2OnCurve::Serialize
    - cryptofuzz::Z3::Generate
    - fuzzing::datasource::Datasource::Put
    - cryptofuzz::operation::BLS_G1_Neg::Serialize
    - cryptofuzz::operation::KDF_SP_800_108::Serialize
    - cryptofuzz::operation::BLS_IsG1OnCurve::Serialize
    - cryptofuzz::operation::HMAC::Serialize
    - Get
    - cryptofuzz::operation::KDF_PBKDF::Serialize
    - cryptofuzz::operation::BLS_G2_Neg::Serialize
    - getBignum
    - cryptofuzz::operation::BLS_Decompress_G1::Serialize
    - cryptofuzz::mutator::ExpModGenerator::generate_exp_mod
    - cryptofuzz::operation::BLS_MillerLoop::Serialize
    - cryptofuzz::operation::ECIES_Decrypt::Serialize
    - cryptofuzz::operation::ECGDSA_Sign::Serialize
    - std::shuffle
    - cryptofuzz::operation::ECDH_Derive::Serialize
    - CF_CALCOP
    - cryptofuzz::operation::ECCSI_Sign::Serialize
    - cryptofuzz::operation::BLS_G2_IsEq::Serialize
    - cryptofuzz::operation::BignumCalc::Serialize
    - cryptofuzz::operation::BLS_MapToG1::Serialize
    - cryptofuzz::operation::ECC_ValidatePubkey::Serialize
    - getRandomCipher
    - cryptofuzz::operation::KDF_SCRYPT::Serialize
    - cryptofuzz::operation::KDF_HKDF::Serialize
    - mutateBinary
    - cryptofuzz::operation::DSA_GenerateParameters::Serialize
    - boost::lexical_cast<std::string>
    - fuzzing::datasource::Datasource::GetData
    - cryptofuzz::operation::ECRDSA_Verify::Serialize
    - cryptofuzz::operation::ECIES_Encrypt::Serialize
    - cryptofuzz::operation::ECC_Point_Add::Serialize
    - cryptofuzz::operation::BignumCalc_Fp2::Serialize
    - cryptofuzz::operation::KDF_ARGON2::Serialize
    - push_back
    - cryptofuzz::operation::BLS_FinalExp::Serialize
    - cryptofuzz::operation::Schnorr_Sign::Serialize
    - cryptofuzz::operation::BignumCalc_Fp12::Serialize
    - cryptofuzz::operation::KDF_SRTP::Serialize
    - begin
    - get_BLS_predefined_DST
    linkageType: ''
    returnType: size_t
    signature: size_t LLVMFuzzerCustomMutator(uint8_t* data, size_t size, size_t maxSize,
      unsigned int seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/executor.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - OperationType
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: cryptofuzz::ExecutorBase::callModule
    functionSourceFile: /src/cryptofuzz/executor.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    linkageType: ''
    returnType: std::optional<ResultType>
    signature: std::optional<ResultType> callModule(std::shared_ptr<Module> module,
      OperationType& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 9
    functionName: cryptofuzz::operation::Digest::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Digest::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:14,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:14,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:15,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:15,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 18
    functionName: cryptofuzz::operation::Digest::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - Get
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::util::HexDump
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Digest::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::Digest::ToJSON
      Src: /src/cryptofuzz/operation.cpp:23,1
    - Dst: cryptofuzz::operation::Digest::ToJSON
      Src: /src/cryptofuzz/operation.cpp:24,1
    - Dst: cryptofuzz::operation::Digest::ToJSON
      Src: /src/cryptofuzz/operation.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: cryptofuzz::operation::Digest::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::Digest::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json Digest::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: cryptofuzz::operation::HMAC::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string HMAC::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:34,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:34,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:35,1
    - Dst: key::Get
      Src: /src/cryptofuzz/operation.cpp:35,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:36,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:36,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: cryptofuzz::operation::HMAC::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::util::HexDump
    - key::Get
    - std::stringstream::str
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string HMAC::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::HMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:44,1
    - Dst: cryptofuzz::operation::HMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:45,1
    - Dst: cryptofuzz::operation::HMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:46,1
    - Dst: cryptofuzz::operation::HMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: cryptofuzz::operation::HMAC::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::HMAC::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json HMAC::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: cryptofuzz::operation::UMAC::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string UMAC::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:56,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:56,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:57,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:57,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:58,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:58,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:59,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:60,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: cryptofuzz::operation::UMAC::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - Get
    - std::to_string
    - cryptofuzz::util::HexDump
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string UMAC::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::UMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:68,1
    - Dst: cryptofuzz::operation::UMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:69,1
    - Dst: cryptofuzz::operation::UMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:70,1
    - Dst: cryptofuzz::operation::UMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: cryptofuzz::operation::UMAC::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::UMAC::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json UMAC::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: cryptofuzz::operation::SymmetricEncrypt::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SymmetricEncrypt::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:82,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:82,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:83,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:83,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:84,1
    - Dst: iv::Get
      Src: /src/cryptofuzz/operation.cpp:84,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:85,1
    - Dst: key::Get
      Src: /src/cryptofuzz/operation.cpp:85,1
    - Dst: cryptofuzz::repository::CipherToString
      Src: /src/cryptofuzz/operation.cpp:86,1
    - Dst: cipherType::Get
      Src: /src/cryptofuzz/operation.cpp:86,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:87,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:88,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: cryptofuzz::operation::SymmetricEncrypt::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::HexDump
    - key::Get
    - std::to_string
    - iv::Get
    - cipherType::Get
    - std::stringstream::str
    - cryptofuzz::repository::CipherToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string SymmetricEncrypt::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::SymmetricEncrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:96,1
    - Dst: cryptofuzz::operation::SymmetricEncrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:97,1
    - Dst: cryptofuzz::operation::SymmetricEncrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:99,1
    - Dst: cryptofuzz::operation::SymmetricEncrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: cryptofuzz::operation::SymmetricEncrypt::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::SymmetricEncrypt::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json SymmetricEncrypt::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: cryptofuzz::operation::SymmetricDecrypt::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SymmetricDecrypt::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:112,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:112,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:113,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:113,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:114,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:114,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:115,1
    - Dst: iv::Get
      Src: /src/cryptofuzz/operation.cpp:115,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:116,1
    - Dst: key::Get
      Src: /src/cryptofuzz/operation.cpp:116,1
    - Dst: cryptofuzz::repository::CipherToString
      Src: /src/cryptofuzz/operation.cpp:117,1
    - Dst: cipherType::Get
      Src: /src/cryptofuzz/operation.cpp:117,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:118,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: cryptofuzz::operation::SymmetricDecrypt::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::HexDump
    - key::Get
    - std::to_string
    - iv::Get
    - cipherType::Get
    - std::stringstream::str
    - cryptofuzz::repository::CipherToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string SymmetricDecrypt::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::SymmetricDecrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:126,1
    - Dst: cryptofuzz::operation::SymmetricDecrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:127,1
    - Dst: cryptofuzz::operation::SymmetricDecrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:129,1
    - Dst: cryptofuzz::operation::SymmetricDecrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:131,1
    - Dst: cryptofuzz::operation::SymmetricDecrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: cryptofuzz::operation::SymmetricDecrypt::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::SymmetricDecrypt::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json SymmetricDecrypt::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/operation.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' opSymmetricEncrypt'
    - ciphertext
    - cleartextSize
    - aad
    - modifier
    argTypes:
    - SymmetricEncrypt
    - component::Ciphertext
    - uint64_t
    - std::optional<component::AAD>
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: cryptofuzz::operation::SymmetricDecrypt::SymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SymmetricDecrypt::SymmetricDecrypt(const SymmetricEncrypt& opSymmetricEncrypt,
      const component::Ciphertext ciphertext, const uint64_t cleartextSize, std::optional<component::AAD>
      aad, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: cryptofuzz::operation::KDF_SCRYPT::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_SCRYPT::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:152,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:152,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:153,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:153,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:154,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:155,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:156,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:157,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 160
    functionName: cryptofuzz::operation::KDF_SCRYPT::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - Get
    - std::to_string
    - cryptofuzz::util::HexDump
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_SCRYPT::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_SCRYPT::ToJSON
      Src: /src/cryptofuzz/operation.cpp:165,1
    - Dst: cryptofuzz::operation::KDF_SCRYPT::ToJSON
      Src: /src/cryptofuzz/operation.cpp:166,1
    - Dst: cryptofuzz::operation::KDF_SCRYPT::ToJSON
      Src: /src/cryptofuzz/operation.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: cryptofuzz::operation::KDF_SCRYPT::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_SCRYPT::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_SCRYPT::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: cryptofuzz::operation::KDF_HKDF::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_HKDF::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:180,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:180,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:181,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:181,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:182,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:182,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:183,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:183,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:184,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: cryptofuzz::operation::KDF_HKDF::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::util::HexDump
    - std::to_string
    - std::stringstream::str
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_HKDF::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_HKDF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:192,1
    - Dst: cryptofuzz::operation::KDF_HKDF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:193,1
    - Dst: cryptofuzz::operation::KDF_HKDF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:194,1
    - Dst: cryptofuzz::operation::KDF_HKDF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:195,1
    - Dst: cryptofuzz::operation::KDF_HKDF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: cryptofuzz::operation::KDF_HKDF::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_HKDF::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_HKDF::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: cryptofuzz::operation::KDF_TLS1_PRF::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_TLS1_PRF::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:206,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:206,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:207,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:207,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:208,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:208,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:209,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 212
    functionName: cryptofuzz::operation::KDF_TLS1_PRF::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::util::HexDump
    - std::to_string
    - std::stringstream::str
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_TLS1_PRF::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_TLS1_PRF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:217,1
    - Dst: cryptofuzz::operation::KDF_TLS1_PRF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:218,1
    - Dst: cryptofuzz::operation::KDF_TLS1_PRF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:219,1
    - Dst: cryptofuzz::operation::KDF_TLS1_PRF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: cryptofuzz::operation::KDF_TLS1_PRF::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_TLS1_PRF::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_TLS1_PRF::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: cryptofuzz::operation::KDF_PBKDF::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_PBKDF::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:230,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:230,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:231,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:231,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:232,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:232,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:233,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:234,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionName: cryptofuzz::operation::KDF_PBKDF::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::util::HexDump
    - std::to_string
    - std::stringstream::str
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_PBKDF::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_PBKDF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:242,1
    - Dst: cryptofuzz::operation::KDF_PBKDF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:243,1
    - Dst: cryptofuzz::operation::KDF_PBKDF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:244,1
    - Dst: cryptofuzz::operation::KDF_PBKDF::ToJSON
      Src: /src/cryptofuzz/operation.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: cryptofuzz::operation::KDF_PBKDF::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_PBKDF::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_PBKDF::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: cryptofuzz::operation::KDF_PBKDF1::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_PBKDF1::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:256,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:256,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:257,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:257,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:258,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:258,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:259,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:260,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: cryptofuzz::operation::KDF_PBKDF1::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::util::HexDump
    - std::to_string
    - std::stringstream::str
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_PBKDF1::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_PBKDF1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:268,1
    - Dst: cryptofuzz::operation::KDF_PBKDF1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:269,1
    - Dst: cryptofuzz::operation::KDF_PBKDF1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:270,1
    - Dst: cryptofuzz::operation::KDF_PBKDF1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 275
    functionName: cryptofuzz::operation::KDF_PBKDF1::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_PBKDF1::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_PBKDF1::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: cryptofuzz::operation::KDF_PBKDF2::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_PBKDF2::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:282,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:282,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:283,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:283,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:284,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:284,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:285,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:286,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: cryptofuzz::operation::KDF_PBKDF2::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::util::HexDump
    - std::to_string
    - std::stringstream::str
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_PBKDF2::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_PBKDF2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:294,1
    - Dst: cryptofuzz::operation::KDF_PBKDF2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:295,1
    - Dst: cryptofuzz::operation::KDF_PBKDF2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:296,1
    - Dst: cryptofuzz::operation::KDF_PBKDF2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: cryptofuzz::operation::KDF_PBKDF2::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_PBKDF2::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_PBKDF2::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 303
    functionName: cryptofuzz::operation::KDF_ARGON2::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_ARGON2::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:308,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:308,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:309,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:309,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:310,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:311,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:312,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:313,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:314,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 317
    functionName: cryptofuzz::operation::KDF_ARGON2::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - Get
    - std::to_string
    - cryptofuzz::util::HexDump
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_ARGON2::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_ARGON2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:322,1
    - Dst: cryptofuzz::operation::KDF_ARGON2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:323,1
    - Dst: cryptofuzz::operation::KDF_ARGON2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 330
    functionName: cryptofuzz::operation::KDF_ARGON2::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_ARGON2::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_ARGON2::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: cryptofuzz::operation::KDF_SSH::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_SSH::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:337,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:337,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:338,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:338,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:339,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:339,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:340,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:340,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:341,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:341,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:342,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 345
    functionName: cryptofuzz::operation::KDF_SSH::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::util::HexDump
    - std::to_string
    - std::stringstream::str
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_SSH::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_SSH::ToJSON
      Src: /src/cryptofuzz/operation.cpp:350,1
    - Dst: cryptofuzz::operation::KDF_SSH::ToJSON
      Src: /src/cryptofuzz/operation.cpp:351,1
    - Dst: cryptofuzz::operation::KDF_SSH::ToJSON
      Src: /src/cryptofuzz/operation.cpp:352,1
    - Dst: cryptofuzz::operation::KDF_SSH::ToJSON
      Src: /src/cryptofuzz/operation.cpp:353,1
    - Dst: cryptofuzz::operation::KDF_SSH::ToJSON
      Src: /src/cryptofuzz/operation.cpp:354,1
    - Dst: cryptofuzz::operation::KDF_SSH::ToJSON
      Src: /src/cryptofuzz/operation.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 358
    functionName: cryptofuzz::operation::KDF_SSH::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_SSH::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_SSH::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: cryptofuzz::operation::KDF_X963::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_X963::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:365,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:365,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:366,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:366,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:367,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:367,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:368,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 371
    functionName: cryptofuzz::operation::KDF_X963::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::util::HexDump
    - std::to_string
    - std::stringstream::str
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_X963::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_X963::ToJSON
      Src: /src/cryptofuzz/operation.cpp:376,1
    - Dst: cryptofuzz::operation::KDF_X963::ToJSON
      Src: /src/cryptofuzz/operation.cpp:377,1
    - Dst: cryptofuzz::operation::KDF_X963::ToJSON
      Src: /src/cryptofuzz/operation.cpp:378,1
    - Dst: cryptofuzz::operation::KDF_X963::ToJSON
      Src: /src/cryptofuzz/operation.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: cryptofuzz::operation::KDF_X963::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_X963::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_X963::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 384
    functionName: cryptofuzz::operation::KDF_BCRYPT::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_BCRYPT::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:389,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:389,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:390,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:390,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:391,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:391,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:392,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:393,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 396
    functionName: cryptofuzz::operation::KDF_BCRYPT::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::util::HexDump
    - std::to_string
    - std::stringstream::str
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_BCRYPT::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_BCRYPT::ToJSON
      Src: /src/cryptofuzz/operation.cpp:401,1
    - Dst: cryptofuzz::operation::KDF_BCRYPT::ToJSON
      Src: /src/cryptofuzz/operation.cpp:402,1
    - Dst: cryptofuzz::operation::KDF_BCRYPT::ToJSON
      Src: /src/cryptofuzz/operation.cpp:403,1
    - Dst: cryptofuzz::operation::KDF_BCRYPT::ToJSON
      Src: /src/cryptofuzz/operation.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: cryptofuzz::operation::KDF_BCRYPT::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_BCRYPT::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_BCRYPT::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    functionName: cryptofuzz::operation::KDF_SP_800_108::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_SP_800_108::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:417,1
    - Dst: type::Get
      Src: /src/cryptofuzz/operation.cpp:417,1
    - Dst: cryptofuzz::repository::CipherToString
      Src: /src/cryptofuzz/operation.cpp:419,1
    - Dst: type::Get
      Src: /src/cryptofuzz/operation.cpp:419,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:421,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:421,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:422,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:422,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:423,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:423,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:424,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:425,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 428
    functionName: cryptofuzz::operation::KDF_SP_800_108::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::util::HexDump
    - std::to_string
    - std::stringstream::str
    - cryptofuzz::repository::CipherToString
    - Get
    - type::Get
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_SP_800_108::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_SP_800_108::ToJSON
      Src: /src/cryptofuzz/operation.cpp:433,1
    - Dst: cryptofuzz::operation::KDF_SP_800_108::ToJSON
      Src: /src/cryptofuzz/operation.cpp:434,1
    - Dst: cryptofuzz::operation::KDF_SP_800_108::ToJSON
      Src: /src/cryptofuzz/operation.cpp:435,1
    - Dst: cryptofuzz::operation::KDF_SP_800_108::ToJSON
      Src: /src/cryptofuzz/operation.cpp:436,1
    - Dst: cryptofuzz::operation::KDF_SP_800_108::ToJSON
      Src: /src/cryptofuzz/operation.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 440
    functionName: cryptofuzz::operation::KDF_SP_800_108::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_SP_800_108::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_SP_800_108::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: cryptofuzz::operation::KDF_SRTP::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_SRTP::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:447,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:447,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:448,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:448,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:449,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:450,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:451,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:452,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:453,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 456
    functionName: cryptofuzz::operation::KDF_SRTP::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - Get
    - std::to_string
    - cryptofuzz::util::HexDump
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_SRTP::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_SRTP::ToJSON
      Src: /src/cryptofuzz/operation.cpp:461,1
    - Dst: cryptofuzz::operation::KDF_SRTP::ToJSON
      Src: /src/cryptofuzz/operation.cpp:462,1
    - Dst: cryptofuzz::operation::KDF_SRTP::ToJSON
      Src: /src/cryptofuzz/operation.cpp:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 470
    functionName: cryptofuzz::operation::KDF_SRTP::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_SRTP::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_SRTP::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 472
    functionName: cryptofuzz::operation::KDF_SRTCP::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_SRTCP::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:477,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:477,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:478,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:478,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:479,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:480,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:481,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:482,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:483,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 486
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 486
    functionName: cryptofuzz::operation::KDF_SRTCP::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - Get
    - std::to_string
    - cryptofuzz::util::HexDump
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string KDF_SRTCP::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::KDF_SRTCP::ToJSON
      Src: /src/cryptofuzz/operation.cpp:491,1
    - Dst: cryptofuzz::operation::KDF_SRTCP::ToJSON
      Src: /src/cryptofuzz/operation.cpp:492,1
    - Dst: cryptofuzz::operation::KDF_SRTCP::ToJSON
      Src: /src/cryptofuzz/operation.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 500
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 500
    functionName: cryptofuzz::operation::KDF_SRTCP::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::KDF_SRTCP::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json KDF_SRTCP::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 502
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 502
    functionName: cryptofuzz::operation::CMAC::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CMAC::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:507,1
    - Dst: iv::Get
      Src: /src/cryptofuzz/operation.cpp:507,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:508,1
    - Dst: key::Get
      Src: /src/cryptofuzz/operation.cpp:508,1
    - Dst: cryptofuzz::repository::CipherToString
      Src: /src/cryptofuzz/operation.cpp:509,1
    - Dst: cipherType::Get
      Src: /src/cryptofuzz/operation.cpp:509,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:510,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:510,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:511,1
    - Dst: key::Get
      Src: /src/cryptofuzz/operation.cpp:511,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 514
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 514
    functionName: cryptofuzz::operation::CMAC::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::HexDump
    - key::Get
    - Get
    - cipherType::Get
    - std::stringstream::str
    - cryptofuzz::repository::CipherToString
    - iv::Get
    linkageType: ''
    returnType: std::string
    signature: std::string CMAC::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::CMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:519,1
    - Dst: cryptofuzz::operation::CMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:520,1
    - Dst: cryptofuzz::operation::CMAC::ToJSON
      Src: /src/cryptofuzz/operation.cpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 523
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 523
    functionName: cryptofuzz::operation::CMAC::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::CMAC::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json CMAC::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: cryptofuzz::operation::ECC_PrivateToPublic::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_PrivateToPublic::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:530,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:530,1
    - Dst: cryptofuzz::operation::ECC_PrivateToPublic::ToString
      Src: /src/cryptofuzz/operation.cpp:531,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 534
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 534
    functionName: cryptofuzz::operation::ECC_PrivateToPublic::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - Get
    - std::stringstream::str
    - cryptofuzz::operation::ECC_PrivateToPublic::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_PrivateToPublic::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_PrivateToPublic::ToJSON
      Src: /src/cryptofuzz/operation.cpp:539,1
    - Dst: cryptofuzz::operation::ECC_PrivateToPublic::ToJSON
      Src: /src/cryptofuzz/operation.cpp:540,1
    - Dst: cryptofuzz::operation::ECC_PrivateToPublic::ToJSON
      Src: /src/cryptofuzz/operation.cpp:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 543
    functionName: cryptofuzz::operation::ECC_PrivateToPublic::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECC_PrivateToPublic::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECC_PrivateToPublic::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 545
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 545
    functionName: cryptofuzz::operation::ECC_ValidatePubkey::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_ValidatePubkey::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:550,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:550,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:551,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:552,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 555
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 555
    functionName: cryptofuzz::operation::ECC_ValidatePubkey::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - first::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_ValidatePubkey::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:560,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:561,1
    - Dst: cryptofuzz::operation::ECC_ValidatePubkey::ToJSON
      Src: /src/cryptofuzz/operation.cpp:562,1
    - Dst: cryptofuzz::operation::ECC_ValidatePubkey::ToJSON
      Src: /src/cryptofuzz/operation.cpp:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 565
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 565
    functionName: cryptofuzz::operation::ECC_ValidatePubkey::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - second::ToJSON
    - cryptofuzz::operation::ECC_ValidatePubkey::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECC_ValidatePubkey::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/operation.cpp:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - curveType
    - ' pub'
    - ' modifier'
    argTypes:
    - component::CurveType
    - component::ECC_PublicKey
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 574
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 574
    functionName: cryptofuzz::operation::ECC_ValidatePubkey::ECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ECC_ValidatePubkey::ECC_ValidatePubkey(\n        const component::CurveType
      curveType,\n        const component::ECC_PublicKey& pub,\n        component::Modifier&
      modifier)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 576
    functionName: cryptofuzz::operation::ECC_GenerateKeyPair::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_GenerateKeyPair::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:581,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:581,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 584
    functionName: cryptofuzz::operation::ECC_GenerateKeyPair::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - Get
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_GenerateKeyPair::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:589,1
    - Dst: cryptofuzz::operation::ECC_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 592
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 592
    functionName: cryptofuzz::operation::ECC_GenerateKeyPair::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECC_GenerateKeyPair::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECC_GenerateKeyPair::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 594
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 594
    functionName: cryptofuzz::operation::ECCSI_Sign::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECCSI_Sign::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:599,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:599,1
    - Dst: cryptofuzz::operation::ECCSI_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:600,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:601,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:601,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:602,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:602,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:604,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:604,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 607
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 607
    functionName: cryptofuzz::operation::ECCSI_Sign::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::util::HexDump
    - cryptofuzz::operation::ECCSI_Sign::ToString
    - std::stringstream::str
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string ECCSI_Sign::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECCSI_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:612,1
    - Dst: cryptofuzz::operation::ECCSI_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:613,1
    - Dst: cryptofuzz::operation::ECCSI_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:614,1
    - Dst: cryptofuzz::operation::ECCSI_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:615,1
    - Dst: cryptofuzz::operation::ECCSI_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:616,1
    - Dst: cryptofuzz::operation::ECCSI_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 619
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 619
    functionName: cryptofuzz::operation::ECCSI_Sign::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECCSI_Sign::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECCSI_Sign::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 621
    functionName: cryptofuzz::operation::ECDSA_Sign::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECDSA_Sign::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:626,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:626,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:627,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:628,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:629,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:629,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::UseRandomNonce
      Src: /src/cryptofuzz/operation.cpp:631,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::UseRFC6979Nonce
      Src: /src/cryptofuzz/operation.cpp:633,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::UseSpecifiedNonce
      Src: /src/cryptofuzz/operation.cpp:635,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:642,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:642,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 645
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 645
    functionName: cryptofuzz::operation::ECDSA_Sign::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - cryptofuzz::operation::ECDSA_Sign::UseRFC6979Nonce
    - cryptofuzz::util::HexDump
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::operation::ECDSA_Sign::UseRandomNonce
    - std::stringstream::str
    - cryptofuzz::operation::ECDSA_Sign::UseSpecifiedNonce
    - Get
    - cryptofuzz::operation::ECDSA_Sign::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECDSA_Sign::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:650,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:651,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:652,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:653,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:655,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 658
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 658
    functionName: cryptofuzz::operation::ECDSA_Sign::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECDSA_Sign::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECDSA_Sign::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 660
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 660
    functionName: cryptofuzz::operation::ECGDSA_Sign::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECGDSA_Sign::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:665,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:665,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:666,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:667,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:668,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:668,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::UseRandomNonce
      Src: /src/cryptofuzz/operation.cpp:670,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::UseRFC6979Nonce
      Src: /src/cryptofuzz/operation.cpp:672,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::UseSpecifiedNonce
      Src: /src/cryptofuzz/operation.cpp:674,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:681,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:681,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 684
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 684
    functionName: cryptofuzz::operation::ECGDSA_Sign::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::util::HexDump
    - cryptofuzz::operation::ECGDSA_Sign::UseRandomNonce
    - cryptofuzz::operation::ECGDSA_Sign::UseSpecifiedNonce
    - cryptofuzz::operation::ECGDSA_Sign::ToString
    - std::stringstream::str
    - cryptofuzz::operation::ECGDSA_Sign::UseRFC6979Nonce
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string ECGDSA_Sign::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECGDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:689,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:690,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:691,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:692,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:694,1
    - Dst: cryptofuzz::operation::ECGDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 697
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 697
    functionName: cryptofuzz::operation::ECGDSA_Sign::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECGDSA_Sign::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECGDSA_Sign::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 699
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 699
    functionName: cryptofuzz::operation::ECRDSA_Sign::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECRDSA_Sign::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:704,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:704,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:705,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:706,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:707,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:707,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::UseRandomNonce
      Src: /src/cryptofuzz/operation.cpp:709,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::UseRFC6979Nonce
      Src: /src/cryptofuzz/operation.cpp:711,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::UseSpecifiedNonce
      Src: /src/cryptofuzz/operation.cpp:713,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:720,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:720,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 723
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 723
    functionName: cryptofuzz::operation::ECRDSA_Sign::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::util::HexDump
    - cryptofuzz::operation::ECRDSA_Sign::UseRandomNonce
    - cryptofuzz::operation::ECRDSA_Sign::ToString
    - cryptofuzz::operation::ECRDSA_Sign::UseSpecifiedNonce
    - std::stringstream::str
    - Get
    - cryptofuzz::operation::ECRDSA_Sign::UseRFC6979Nonce
    linkageType: ''
    returnType: std::string
    signature: std::string ECRDSA_Sign::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECRDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:728,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:729,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:730,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:731,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:733,1
    - Dst: cryptofuzz::operation::ECRDSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 736
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 736
    functionName: cryptofuzz::operation::ECRDSA_Sign::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECRDSA_Sign::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECRDSA_Sign::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 738
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 738
    functionName: cryptofuzz::operation::Schnorr_Sign::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Schnorr_Sign::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:743,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:743,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:744,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:745,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:746,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:746,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::UseRandomNonce
      Src: /src/cryptofuzz/operation.cpp:748,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::UseBIP340Nonce
      Src: /src/cryptofuzz/operation.cpp:750,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::UseSpecifiedNonce
      Src: /src/cryptofuzz/operation.cpp:752,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:759,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:759,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:761,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 762
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 762
    functionName: cryptofuzz::operation::Schnorr_Sign::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::util::HexDump
    - cryptofuzz::operation::Schnorr_Sign::ToString
    - cryptofuzz::operation::Schnorr_Sign::UseRandomNonce
    - cryptofuzz::operation::Schnorr_Sign::UseSpecifiedNonce
    - std::stringstream::str
    - cryptofuzz::operation::Schnorr_Sign::UseBIP340Nonce
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string Schnorr_Sign::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::Schnorr_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:767,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:768,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:769,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:770,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:772,1
    - Dst: cryptofuzz::operation::Schnorr_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 775
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 775
    functionName: cryptofuzz::operation::Schnorr_Sign::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::Schnorr_Sign::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json Schnorr_Sign::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 777
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 777
    functionName: cryptofuzz::operation::ECCSI_Verify::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECCSI_Verify::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:782,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:782,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/operation.cpp:783,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/operation.cpp:784,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:785,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:785,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:786,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:786,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/operation.cpp:787,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/operation.cpp:788,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:789,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:789,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 792
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 792
    functionName: cryptofuzz::operation::ECCSI_Verify::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - cryptofuzz::repository::DigestToString
    - pub::first::ToString
    - cryptofuzz::util::HexDump
    - signature::second::ToString
    - signature::first::ToString
    - std::stringstream::str
    - pub::second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string ECCSI_Verify::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECCSI_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:797,1
    - Dst: pub::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:798,1
    - Dst: pub::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:799,1
    - Dst: cryptofuzz::operation::ECCSI_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:800,1
    - Dst: cryptofuzz::operation::ECCSI_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:801,1
    - Dst: signature::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:802,1
    - Dst: signature::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:803,1
    - Dst: cryptofuzz::operation::ECCSI_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:804,1
    - Dst: cryptofuzz::operation::ECCSI_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 807
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 807
    functionName: cryptofuzz::operation::ECCSI_Verify::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - signature::second::ToJSON
    - signature::first::ToJSON
    - cryptofuzz::operation::ECCSI_Verify::ToJSON
    - pub::first::ToJSON
    - pub::second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECCSI_Verify::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/operation.cpp:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' opECCSI_Sign'
    - signature
    - modifier
    argTypes:
    - ECCSI_Sign
    - component::ECCSI_Signature
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 817
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 817
    functionName: cryptofuzz::operation::ECCSI_Verify::ECCSI_Verify
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECCSI_Verify::ECCSI_Verify(const ECCSI_Sign& opECCSI_Sign, const
      component::ECCSI_Signature signature, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 819
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 819
    functionName: cryptofuzz::operation::ECDSA_Verify::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECDSA_Verify::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:824,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:824,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/operation.cpp:825,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/operation.cpp:826,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:827,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:827,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/operation.cpp:828,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/operation.cpp:829,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:830,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:830,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 833
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 833
    functionName: cryptofuzz::operation::ECDSA_Verify::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - cryptofuzz::repository::DigestToString
    - pub::first::ToString
    - cryptofuzz::util::HexDump
    - signature::second::ToString
    - signature::first::ToString
    - std::stringstream::str
    - pub::second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string ECDSA_Verify::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:838,1
    - Dst: pub::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:839,1
    - Dst: pub::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:840,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:841,1
    - Dst: signature::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:842,1
    - Dst: signature::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:843,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:844,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 847
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 847
    functionName: cryptofuzz::operation::ECDSA_Verify::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - signature::second::ToJSON
    - cryptofuzz::operation::ECDSA_Verify::ToJSON
    - signature::first::ToJSON
    - pub::first::ToJSON
    - pub::second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECDSA_Verify::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/cryptofuzz/operation.cpp:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' opECDSA_Sign'
    - signature
    - modifier
    argTypes:
    - ECDSA_Sign
    - component::ECDSA_Signature
    - component::Modifier
    constantsTouched: []
    func_position:
      end: 856
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 856
    functionName: cryptofuzz::operation::ECDSA_Verify::ECDSA_Verify
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECDSA_Verify::ECDSA_Verify(const ECDSA_Sign& opECDSA_Sign, const
      component::ECDSA_Signature signature, component::Modifier modifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 858
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 858
    functionName: cryptofuzz::operation::ECGDSA_Verify::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECGDSA_Verify::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:863,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:863,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/operation.cpp:864,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/operation.cpp:865,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:866,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:866,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/operation.cpp:867,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/operation.cpp:868,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:869,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:869,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 872
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 872
    functionName: cryptofuzz::operation::ECGDSA_Verify::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - cryptofuzz::repository::DigestToString
    - pub::first::ToString
    - cryptofuzz::util::HexDump
    - signature::second::ToString
    - signature::first::ToString
    - std::stringstream::str
    - pub::second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string ECGDSA_Verify::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECGDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:877,1
    - Dst: pub::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:878,1
    - Dst: pub::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:879,1
    - Dst: cryptofuzz::operation::ECGDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:880,1
    - Dst: signature::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:881,1
    - Dst: signature::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:882,1
    - Dst: cryptofuzz::operation::ECGDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:883,1
    - Dst: cryptofuzz::operation::ECGDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 886
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 886
    functionName: cryptofuzz::operation::ECGDSA_Verify::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - signature::second::ToJSON
    - signature::first::ToJSON
    - cryptofuzz::operation::ECGDSA_Verify::ToJSON
    - pub::first::ToJSON
    - pub::second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECGDSA_Verify::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 888
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 888
    functionName: cryptofuzz::operation::ECRDSA_Verify::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECRDSA_Verify::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:893,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:893,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/operation.cpp:894,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/operation.cpp:895,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:896,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:896,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/operation.cpp:897,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/operation.cpp:898,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:899,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:899,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 902
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 902
    functionName: cryptofuzz::operation::ECRDSA_Verify::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - cryptofuzz::repository::DigestToString
    - pub::first::ToString
    - cryptofuzz::util::HexDump
    - signature::second::ToString
    - signature::first::ToString
    - std::stringstream::str
    - pub::second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string ECRDSA_Verify::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECRDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:907,1
    - Dst: pub::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:908,1
    - Dst: pub::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:909,1
    - Dst: cryptofuzz::operation::ECRDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:910,1
    - Dst: signature::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:911,1
    - Dst: signature::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:912,1
    - Dst: cryptofuzz::operation::ECRDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:913,1
    - Dst: cryptofuzz::operation::ECRDSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 916
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 916
    functionName: cryptofuzz::operation::ECRDSA_Verify::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - signature::second::ToJSON
    - signature::first::ToJSON
    - pub::first::ToJSON
    - pub::second::ToJSON
    - cryptofuzz::operation::ECRDSA_Verify::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECRDSA_Verify::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 918
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 918
    functionName: cryptofuzz::operation::Schnorr_Verify::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Schnorr_Verify::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:923,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:923,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/operation.cpp:924,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/operation.cpp:925,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:926,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:926,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/operation.cpp:927,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/operation.cpp:928,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:929,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:929,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 932
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 932
    functionName: cryptofuzz::operation::Schnorr_Verify::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - cryptofuzz::repository::DigestToString
    - pub::first::ToString
    - cryptofuzz::util::HexDump
    - signature::second::ToString
    - signature::first::ToString
    - std::stringstream::str
    - pub::second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string Schnorr_Verify::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::Schnorr_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:937,1
    - Dst: pub::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:938,1
    - Dst: pub::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:939,1
    - Dst: cryptofuzz::operation::Schnorr_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:940,1
    - Dst: signature::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:941,1
    - Dst: signature::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:942,1
    - Dst: cryptofuzz::operation::Schnorr_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:943,1
    - Dst: cryptofuzz::operation::Schnorr_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 946
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 946
    functionName: cryptofuzz::operation::Schnorr_Verify::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - signature::second::ToJSON
    - cryptofuzz::operation::Schnorr_Verify::ToJSON
    - signature::first::ToJSON
    - pub::first::ToJSON
    - pub::second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json Schnorr_Verify::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 948
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 948
    functionName: cryptofuzz::operation::ECDSA_Recover::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECDSA_Recover::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:953,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:953,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:954,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:954,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:955,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:956,1
    - Dst: cryptofuzz::repository::DigestToString
      Src: /src/cryptofuzz/operation.cpp:957,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:957,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:958,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 961
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 961
    functionName: cryptofuzz::operation::ECDSA_Recover::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - cryptofuzz::repository::DigestToString
    - cryptofuzz::util::HexDump
    - std::to_string
    - first::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string ECDSA_Recover::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECDSA_Recover::ToJSON
      Src: /src/cryptofuzz/operation.cpp:966,1
    - Dst: cryptofuzz::operation::ECDSA_Recover::ToJSON
      Src: /src/cryptofuzz/operation.cpp:967,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:968,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:969,1
    - Dst: cryptofuzz::operation::ECDSA_Recover::ToJSON
      Src: /src/cryptofuzz/operation.cpp:971,1
    - Dst: cryptofuzz::operation::ECDSA_Recover::ToJSON
      Src: /src/cryptofuzz/operation.cpp:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 974
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 974
    functionName: cryptofuzz::operation::ECDSA_Recover::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::ECDSA_Recover::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECDSA_Recover::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 976
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 976
    functionName: cryptofuzz::operation::DSA_Verify::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string DSA_Verify::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p::ToString
      Src: /src/cryptofuzz/operation.cpp:981,1
    - Dst: q::ToString
      Src: /src/cryptofuzz/operation.cpp:982,1
    - Dst: g::ToString
      Src: /src/cryptofuzz/operation.cpp:983,1
    - Dst: cryptofuzz::operation::DSA_Verify::ToString
      Src: /src/cryptofuzz/operation.cpp:984,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:985,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:986,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:987,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:987,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 990
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 990
    functionName: cryptofuzz::operation::DSA_Verify::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - second::ToString
    - cryptofuzz::util::HexDump
    - q::ToString
    - Get
    - first::ToString
    - std::stringstream::str
    - p::ToString
    - g::ToString
    - cryptofuzz::operation::DSA_Verify::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string DSA_Verify::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p::ToJSON
      Src: /src/cryptofuzz/operation.cpp:994,1
    - Dst: q::ToJSON
      Src: /src/cryptofuzz/operation.cpp:995,1
    - Dst: g::ToJSON
      Src: /src/cryptofuzz/operation.cpp:996,1
    - Dst: cryptofuzz::operation::DSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:997,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:998,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:999,1
    - Dst: cryptofuzz::operation::DSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1000,1
    - Dst: cryptofuzz::operation::DSA_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 1003
    functionName: cryptofuzz::operation::DSA_Verify::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - p::ToJSON
    - g::ToJSON
    - q::ToJSON
    - second::ToJSON
    - cryptofuzz::operation::DSA_Verify::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json DSA_Verify::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1005
    functionName: cryptofuzz::operation::DSA_Sign::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string DSA_Sign::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p::ToString
      Src: /src/cryptofuzz/operation.cpp:1010,1
    - Dst: q::ToString
      Src: /src/cryptofuzz/operation.cpp:1011,1
    - Dst: g::ToString
      Src: /src/cryptofuzz/operation.cpp:1012,1
    - Dst: cryptofuzz::operation::DSA_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:1013,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1014,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1014,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1017
    functionName: cryptofuzz::operation::DSA_Sign::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::util::HexDump
    - q::ToString
    - Get
    - cryptofuzz::operation::DSA_Sign::ToString
    - std::stringstream::str
    - p::ToString
    - g::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string DSA_Sign::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1021,1
    - Dst: q::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1022,1
    - Dst: g::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1023,1
    - Dst: cryptofuzz::operation::DSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1024,1
    - Dst: cryptofuzz::operation::DSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1025,1
    - Dst: cryptofuzz::operation::DSA_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1028
    functionName: cryptofuzz::operation::DSA_Sign::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - p::ToJSON
    - q::ToJSON
    - g::ToJSON
    - cryptofuzz::operation::DSA_Sign::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json DSA_Sign::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1030
    functionName: cryptofuzz::operation::DSA_PrivateToPublic::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string DSA_PrivateToPublic::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DSA_PrivateToPublic::ToString
      Src: /src/cryptofuzz/operation.cpp:1035,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1038
    functionName: cryptofuzz::operation::DSA_PrivateToPublic::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::DSA_PrivateToPublic::ToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string DSA_PrivateToPublic::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DSA_PrivateToPublic::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1042,1
    - Dst: cryptofuzz::operation::DSA_PrivateToPublic::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1045
    functionName: cryptofuzz::operation::DSA_PrivateToPublic::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::DSA_PrivateToPublic::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json DSA_PrivateToPublic::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1047
    functionName: cryptofuzz::operation::DSA_GenerateKeyPair::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string DSA_GenerateKeyPair::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DSA_GenerateKeyPair::ToString
      Src: /src/cryptofuzz/operation.cpp:1052,1
    - Dst: cryptofuzz::operation::DSA_GenerateKeyPair::ToString
      Src: /src/cryptofuzz/operation.cpp:1053,1
    - Dst: cryptofuzz::operation::DSA_GenerateKeyPair::ToString
      Src: /src/cryptofuzz/operation.cpp:1054,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1057
    functionName: cryptofuzz::operation::DSA_GenerateKeyPair::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::DSA_GenerateKeyPair::ToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string DSA_GenerateKeyPair::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DSA_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1061,1
    - Dst: cryptofuzz::operation::DSA_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1062,1
    - Dst: cryptofuzz::operation::DSA_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1063,1
    - Dst: cryptofuzz::operation::DSA_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1059
    functionDepth: 1
    functionLinenumber: 1059
    functionLinenumberEnd: 1066
    functionName: cryptofuzz::operation::DSA_GenerateKeyPair::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::DSA_GenerateKeyPair::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json DSA_GenerateKeyPair::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1068
    functionName: cryptofuzz::operation::DSA_GenerateParameters::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string DSA_GenerateParameters::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1075
    functionName: cryptofuzz::operation::DSA_GenerateParameters::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string DSA_GenerateParameters::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DSA_GenerateParameters::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1081
    functionName: cryptofuzz::operation::DSA_GenerateParameters::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::DSA_GenerateParameters::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json DSA_GenerateParameters::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1083
    functionName: cryptofuzz::operation::ECDH_Derive::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECDH_Derive::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1088,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1088,1
    - Dst: cryptofuzz::operation::ECDH_Derive::ToString
      Src: /src/cryptofuzz/operation.cpp:1089,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1090,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1091,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1094
    functionName: cryptofuzz::operation::ECDH_Derive::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - first::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    - cryptofuzz::operation::ECDH_Derive::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECDH_Derive::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECDH_Derive::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1099,1
    - Dst: cryptofuzz::operation::ECDH_Derive::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1100,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1101,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1102,1
    - Dst: cryptofuzz::operation::ECDH_Derive::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1105
    functionName: cryptofuzz::operation::ECDH_Derive::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECDH_Derive::ToJSON
    - second::ToJSON
    - first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECDH_Derive::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1107
    functionName: cryptofuzz::operation::ECIES_Encrypt::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECIES_Encrypt::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1112,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1112,1
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1113,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1113,1
    - Dst: cryptofuzz::operation::ECIES_Encrypt::ToString
      Src: /src/cryptofuzz/operation.cpp:1114,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1115,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1116,1
    - Dst: cryptofuzz::repository::CipherToString
      Src: /src/cryptofuzz/operation.cpp:1117,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1117,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1118,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1118,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1121
    functionName: cryptofuzz::operation::ECIES_Encrypt::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - cryptofuzz::util::HexDump
    - first::ToString
    - cryptofuzz::operation::ECIES_Encrypt::ToString
    - std::stringstream::str
    - cryptofuzz::repository::CipherToString
    - second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string ECIES_Encrypt::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECIES_Encrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1126,1
    - Dst: cryptofuzz::operation::ECIES_Encrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1127,1
    - Dst: cryptofuzz::operation::ECIES_Encrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1128,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1129,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1130,1
    - Dst: cryptofuzz::operation::ECIES_Encrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1131,1
    - Dst: cryptofuzz::operation::ECIES_Encrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1133,1
    - Dst: cryptofuzz::operation::ECIES_Encrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1123
    functionDepth: 1
    functionLinenumber: 1123
    functionLinenumberEnd: 1136
    functionName: cryptofuzz::operation::ECIES_Encrypt::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::ECIES_Encrypt::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECIES_Encrypt::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1138
    functionName: cryptofuzz::operation::ECIES_Decrypt::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECIES_Decrypt::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1143,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1143,1
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1144,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1144,1
    - Dst: cryptofuzz::operation::ECIES_Decrypt::ToString
      Src: /src/cryptofuzz/operation.cpp:1145,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1146,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1147,1
    - Dst: cryptofuzz::repository::CipherToString
      Src: /src/cryptofuzz/operation.cpp:1148,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1148,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1149,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1149,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1152
    functionName: cryptofuzz::operation::ECIES_Decrypt::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - cryptofuzz::util::HexDump
    - first::ToString
    - cryptofuzz::operation::ECIES_Decrypt::ToString
    - std::stringstream::str
    - cryptofuzz::repository::CipherToString
    - second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string ECIES_Decrypt::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECIES_Decrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1157,1
    - Dst: cryptofuzz::operation::ECIES_Decrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1158,1
    - Dst: cryptofuzz::operation::ECIES_Decrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1159,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1160,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1161,1
    - Dst: cryptofuzz::operation::ECIES_Decrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1162,1
    - Dst: cryptofuzz::operation::ECIES_Decrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1164,1
    - Dst: cryptofuzz::operation::ECIES_Decrypt::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1167
    functionName: cryptofuzz::operation::ECIES_Decrypt::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECIES_Decrypt::ToJSON
    - second::ToJSON
    - first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECIES_Decrypt::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1169
    functionName: cryptofuzz::operation::ECC_Point_Add::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Add::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1174,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1174,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1175,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1176,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1177,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1178,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1181
    functionName: cryptofuzz::operation::ECC_Point_Add::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - first::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Add::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_Point_Add::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1186,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1188,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1189,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1191,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1192,1
    - Dst: cryptofuzz::operation::ECC_Point_Add::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1183
    functionDepth: 1
    functionLinenumber: 1183
    functionLinenumberEnd: 1196
    functionName: cryptofuzz::operation::ECC_Point_Add::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::ECC_Point_Add::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECC_Point_Add::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1198
    functionName: cryptofuzz::operation::ECC_Point_Sub::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Sub::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1203,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1203,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1204,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1205,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1206,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1207,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1199
    functionDepth: 1
    functionLinenumber: 1199
    functionLinenumberEnd: 1210
    functionName: cryptofuzz::operation::ECC_Point_Sub::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - first::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Sub::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_Point_Sub::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1215,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1217,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1218,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1220,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1221,1
    - Dst: cryptofuzz::operation::ECC_Point_Sub::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1225
    functionName: cryptofuzz::operation::ECC_Point_Sub::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::ECC_Point_Sub::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECC_Point_Sub::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1227
    functionName: cryptofuzz::operation::ECC_Point_Mul::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Mul::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1232,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1232,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1233,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1234,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::ToString
      Src: /src/cryptofuzz/operation.cpp:1235,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1238
    functionName: cryptofuzz::operation::ECC_Point_Mul::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - first::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    - cryptofuzz::operation::ECC_Point_Mul::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Mul::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_Point_Mul::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1243,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1245,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1246,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1248,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1240
    functionDepth: 1
    functionLinenumber: 1240
    functionLinenumberEnd: 1252
    functionName: cryptofuzz::operation::ECC_Point_Mul::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - second::ToJSON
    - cryptofuzz::operation::ECC_Point_Mul::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECC_Point_Mul::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1254
    functionName: cryptofuzz::operation::ECC_Point_Neg::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Neg::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1259,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1259,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1260,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1261,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1255
    functionDepth: 1
    functionLinenumber: 1255
    functionLinenumberEnd: 1264
    functionName: cryptofuzz::operation::ECC_Point_Neg::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - first::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Neg::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_Point_Neg::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1268,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1270,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1271,1
    - Dst: cryptofuzz::operation::ECC_Point_Neg::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1275
    functionName: cryptofuzz::operation::ECC_Point_Neg::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::ECC_Point_Neg::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECC_Point_Neg::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1277
    functionName: cryptofuzz::operation::ECC_Point_Dbl::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Dbl::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1282,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1282,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1283,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1284,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1287
    functionName: cryptofuzz::operation::ECC_Point_Dbl::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - first::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Dbl::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_Point_Dbl::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1291,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1293,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1294,1
    - Dst: cryptofuzz::operation::ECC_Point_Dbl::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1298
    functionName: cryptofuzz::operation::ECC_Point_Dbl::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::ECC_Point_Dbl::ToJSON
    - second::ToJSON
    - first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECC_Point_Dbl::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1300
    functionName: cryptofuzz::operation::ECC_Point_Cmp::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Cmp::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1305,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1305,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1306,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1307,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1308,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1309,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1312
    functionName: cryptofuzz::operation::ECC_Point_Cmp::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - first::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_Point_Cmp::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::ECC_Point_Cmp::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1317,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1319,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1320,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1322,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1323,1
    - Dst: cryptofuzz::operation::ECC_Point_Cmp::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1314
    functionDepth: 1
    functionLinenumber: 1314
    functionLinenumberEnd: 1327
    functionName: cryptofuzz::operation::ECC_Point_Cmp::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::ECC_Point_Cmp::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECC_Point_Cmp::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1329
    functionName: cryptofuzz::operation::DH_GenerateKeyPair::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string DH_GenerateKeyPair::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DH_GenerateKeyPair::ToString
      Src: /src/cryptofuzz/operation.cpp:1334,1
    - Dst: cryptofuzz::operation::DH_GenerateKeyPair::ToString
      Src: /src/cryptofuzz/operation.cpp:1335,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1338
    functionName: cryptofuzz::operation::DH_GenerateKeyPair::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::DH_GenerateKeyPair::ToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string DH_GenerateKeyPair::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DH_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1343,1
    - Dst: cryptofuzz::operation::DH_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1344,1
    - Dst: cryptofuzz::operation::DH_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1340
    functionDepth: 1
    functionLinenumber: 1340
    functionLinenumberEnd: 1347
    functionName: cryptofuzz::operation::DH_GenerateKeyPair::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::DH_GenerateKeyPair::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json DH_GenerateKeyPair::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1349
    functionName: cryptofuzz::operation::DH_Derive::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string DH_Derive::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DH_Derive::ToString
      Src: /src/cryptofuzz/operation.cpp:1354,1
    - Dst: cryptofuzz::operation::DH_Derive::ToString
      Src: /src/cryptofuzz/operation.cpp:1355,1
    - Dst: cryptofuzz::operation::DH_Derive::ToString
      Src: /src/cryptofuzz/operation.cpp:1356,1
    - Dst: cryptofuzz::operation::DH_Derive::ToString
      Src: /src/cryptofuzz/operation.cpp:1357,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1360
    functionName: cryptofuzz::operation::DH_Derive::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::DH_Derive::ToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string DH_Derive::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::DH_Derive::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1365,1
    - Dst: cryptofuzz::operation::DH_Derive::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1366,1
    - Dst: cryptofuzz::operation::DH_Derive::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1367,1
    - Dst: cryptofuzz::operation::DH_Derive::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1368,1
    - Dst: cryptofuzz::operation::DH_Derive::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1362
    functionDepth: 1
    functionLinenumber: 1362
    functionLinenumberEnd: 1371
    functionName: cryptofuzz::operation::DH_Derive::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::DH_Derive::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json DH_Derive::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1373
    functionName: cryptofuzz::operation::BignumCalc::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BignumCalc::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/operation.cpp:1378,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1378,1
    - Dst: cryptofuzz::operation::BignumCalc::ToString
      Src: /src/cryptofuzz/operation.cpp:1379,1
    - Dst: cryptofuzz::operation::BignumCalc::ToString
      Src: /src/cryptofuzz/operation.cpp:1380,1
    - Dst: cryptofuzz::operation::BignumCalc::ToString
      Src: /src/cryptofuzz/operation.cpp:1381,1
    - Dst: cryptofuzz::operation::BignumCalc::ToString
      Src: /src/cryptofuzz/operation.cpp:1382,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1385
    functionName: cryptofuzz::operation::BignumCalc::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::CalcOpToString
    - Get
    - cryptofuzz::operation::BignumCalc::ToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string BignumCalc::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BignumCalc::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1390,1
    - Dst: cryptofuzz::operation::BignumCalc::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1391,1
    - Dst: cryptofuzz::operation::BignumCalc::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1392,1
    - Dst: cryptofuzz::operation::BignumCalc::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1393,1
    - Dst: cryptofuzz::operation::BignumCalc::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1394,1
    - Dst: cryptofuzz::operation::BignumCalc::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1397
    functionName: cryptofuzz::operation::BignumCalc::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BignumCalc::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BignumCalc::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1399
    functionName: cryptofuzz::operation::BignumCalc_Fp2::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BignumCalc_Fp2::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/operation.cpp:1404,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1404,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1405,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1406,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1407,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1408,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1409,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1410,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1411,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1412,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1415
    functionName: cryptofuzz::operation::BignumCalc_Fp2::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - second::ToString
    - first::ToString
    - std::stringstream::str
    - cryptofuzz::repository::CalcOpToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string BignumCalc_Fp2::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BignumCalc_Fp2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1420,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1421,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1422,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1423,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1424,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1417
    functionDepth: 1
    functionLinenumber: 1417
    functionLinenumberEnd: 1427
    functionName: cryptofuzz::operation::BignumCalc_Fp2::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BignumCalc_Fp2::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BignumCalc_Fp2::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1429
    functionName: cryptofuzz::operation::BignumCalc_Fp12::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BignumCalc_Fp12::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/operation.cpp:1434,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1434,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/operation.cpp:1435,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/operation.cpp:1436,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/operation.cpp:1437,1
    - Dst: bn4::ToString
      Src: /src/cryptofuzz/operation.cpp:1438,1
    - Dst: bn5::ToString
      Src: /src/cryptofuzz/operation.cpp:1439,1
    - Dst: bn6::ToString
      Src: /src/cryptofuzz/operation.cpp:1440,1
    - Dst: bn7::ToString
      Src: /src/cryptofuzz/operation.cpp:1441,1
    - Dst: bn8::ToString
      Src: /src/cryptofuzz/operation.cpp:1442,1
    - Dst: bn9::ToString
      Src: /src/cryptofuzz/operation.cpp:1443,1
    - Dst: bn10::ToString
      Src: /src/cryptofuzz/operation.cpp:1444,1
    - Dst: bn11::ToString
      Src: /src/cryptofuzz/operation.cpp:1445,1
    - Dst: bn12::ToString
      Src: /src/cryptofuzz/operation.cpp:1446,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/operation.cpp:1450,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/operation.cpp:1451,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/operation.cpp:1452,1
    - Dst: bn4::ToString
      Src: /src/cryptofuzz/operation.cpp:1453,1
    - Dst: bn5::ToString
      Src: /src/cryptofuzz/operation.cpp:1454,1
    - Dst: bn6::ToString
      Src: /src/cryptofuzz/operation.cpp:1455,1
    - Dst: bn7::ToString
      Src: /src/cryptofuzz/operation.cpp:1456,1
    - Dst: bn8::ToString
      Src: /src/cryptofuzz/operation.cpp:1457,1
    - Dst: bn9::ToString
      Src: /src/cryptofuzz/operation.cpp:1458,1
    - Dst: bn10::ToString
      Src: /src/cryptofuzz/operation.cpp:1459,1
    - Dst: bn11::ToString
      Src: /src/cryptofuzz/operation.cpp:1460,1
    - Dst: bn12::ToString
      Src: /src/cryptofuzz/operation.cpp:1461,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1430
    functionDepth: 1
    functionLinenumber: 1430
    functionLinenumberEnd: 1464
    functionName: cryptofuzz::operation::BignumCalc_Fp12::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - bn3::ToString
    - bn10::ToString
    - bn9::ToString
    - bn5::ToString
    - bn7::ToString
    - bn6::ToString
    - bn2::ToString
    - bn4::ToString
    - bn8::ToString
    - bn11::ToString
    - std::stringstream::str
    - cryptofuzz::repository::CalcOpToString
    - Get
    - bn1::ToString
    - bn12::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BignumCalc_Fp12::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1469,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1470,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1471,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1472,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1473,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1466
    functionDepth: 1
    functionLinenumber: 1466
    functionLinenumberEnd: 1476
    functionName: cryptofuzz::operation::BignumCalc_Fp12::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BignumCalc_Fp12::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BignumCalc_Fp12::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1478
    functionName: cryptofuzz::operation::BLS_PrivateToPublic::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_PrivateToPublic::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1483,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1483,1
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic::ToString
      Src: /src/cryptofuzz/operation.cpp:1484,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1479
    functionDepth: 1
    functionLinenumber: 1479
    functionLinenumberEnd: 1487
    functionName: cryptofuzz::operation::BLS_PrivateToPublic::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - Get
    - cryptofuzz::operation::BLS_PrivateToPublic::ToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_PrivateToPublic::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1492,1
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1493,1
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1496
    functionName: cryptofuzz::operation::BLS_PrivateToPublic::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_PrivateToPublic::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_PrivateToPublic::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1498
    functionName: cryptofuzz::operation::BLS_PrivateToPublic_G2::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_PrivateToPublic_G2::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1503,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1503,1
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic_G2::ToString
      Src: /src/cryptofuzz/operation.cpp:1504,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1499
    functionDepth: 1
    functionLinenumber: 1499
    functionLinenumberEnd: 1507
    functionName: cryptofuzz::operation::BLS_PrivateToPublic_G2::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - Get
    - cryptofuzz::operation::BLS_PrivateToPublic_G2::ToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_PrivateToPublic_G2::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic_G2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1512,1
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic_G2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1513,1
    - Dst: cryptofuzz::operation::BLS_PrivateToPublic_G2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1509
    functionDepth: 1
    functionLinenumber: 1509
    functionLinenumberEnd: 1516
    functionName: cryptofuzz::operation::BLS_PrivateToPublic_G2::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_PrivateToPublic_G2::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_PrivateToPublic_G2::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1518
    functionName: cryptofuzz::operation::BLS_Sign::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Sign::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1523,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1523,1
    - Dst: cryptofuzz::operation::BLS_Sign::ToString
      Src: /src/cryptofuzz/operation.cpp:1524,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1526,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1526,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1528,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1529,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1530,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1531,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1533,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1533,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1534,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1534,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1519
    functionDepth: 1
    functionLinenumber: 1519
    functionLinenumberEnd: 1537
    functionName: cryptofuzz::operation::BLS_Sign::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - second::second::ToString
    - cryptofuzz::util::HexDump
    - cryptofuzz::operation::BLS_Sign::ToString
    - first::first::ToString
    - first::second::ToString
    - std::stringstream::str
    - Get
    - second::first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Sign::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1543,1
    - Dst: cryptofuzz::operation::BLS_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1547,1
    - Dst: cryptofuzz::operation::BLS_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1550,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1552,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1553,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1554,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1555,1
    - Dst: cryptofuzz::operation::BLS_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1557,1
    - Dst: cryptofuzz::operation::BLS_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1558,1
    - Dst: cryptofuzz::operation::BLS_Sign::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1539
    functionDepth: 1
    functionLinenumber: 1539
    functionLinenumberEnd: 1563
    functionName: cryptofuzz::operation::BLS_Sign::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - second::first::ToJSON
    - second::second::ToJSON
    - cryptofuzz::operation::BLS_Sign::ToJSON
    - first::second::ToJSON
    - first::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_Sign::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1565
    functionName: cryptofuzz::operation::BLS_Verify::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Verify::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1570,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1570,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1571,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1572,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1573,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1573,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1574,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1575,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1576,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1577,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1578,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1578,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1566
    functionDepth: 1
    functionLinenumber: 1566
    functionLinenumberEnd: 1581
    functionName: cryptofuzz::operation::BLS_Verify::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - second::second::ToString
    - cryptofuzz::util::HexDump
    - first::ToString
    - first::first::ToString
    - first::second::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    - second::first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Verify::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1586,1
    - Dst: cryptofuzz::operation::BLS_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1588,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1590,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1591,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1593,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1594,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1595,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1596,1
    - Dst: cryptofuzz::operation::BLS_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1598,1
    - Dst: cryptofuzz::operation::BLS_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1583
    functionDepth: 1
    functionLinenumber: 1583
    functionLinenumberEnd: 1602
    functionName: cryptofuzz::operation::BLS_Verify::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - second::first::ToJSON
    - second::second::ToJSON
    - second::ToJSON
    - first::second::ToJSON
    - first::first::ToJSON
    - cryptofuzz::operation::BLS_Verify::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_Verify::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1604
    functionName: cryptofuzz::operation::BLS_BatchSign::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_BatchSign::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: priv::ToString
      Src: /src/cryptofuzz/operation.cpp:1611,1
    - Dst: g1::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1612,1
    - Dst: g1::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1613,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1616
    functionName: cryptofuzz::operation::BLS_BatchSign::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - g1::first::ToString
    - g1::second::ToString
    - std::stringstream::str
    - priv::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_BatchSign::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1622
    functionName: cryptofuzz::operation::BLS_BatchSign::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_BatchSign::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1624
    functionName: cryptofuzz::operation::BLS_BatchVerify::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_BatchVerify::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1629,1
    - Dst: g1::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1630,1
    - Dst: g2::first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1632,1
    - Dst: g2::first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1633,1
    - Dst: g2::second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1634,1
    - Dst: g2::second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1635,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1641
    functionName: cryptofuzz::operation::BLS_BatchVerify::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - g2::second::first::ToString
    - g1::first::ToString
    - g1::second::ToString
    - g2::first::second::ToString
    - g2::second::second::ToString
    - std::stringstream::str
    - g2::first::first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_BatchVerify::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_BatchVerify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1646,1
    - Dst: cryptofuzz::operation::BLS_BatchVerify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1643
    functionDepth: 1
    functionLinenumber: 1643
    functionLinenumberEnd: 1649
    functionName: cryptofuzz::operation::BLS_BatchVerify::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_BatchVerify::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_BatchVerify::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1651
    functionName: cryptofuzz::operation::BLS_Pairing::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Pairing::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1656,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1656,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1657,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1658,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1659,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1660,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1661,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1662,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1652
    functionDepth: 1
    functionLinenumber: 1652
    functionLinenumberEnd: 1665
    functionName: cryptofuzz::operation::BLS_Pairing::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - second::second::ToString
    - first::ToString
    - first::first::ToString
    - first::second::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    - second::first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Pairing::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Pairing::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1670,1
    - Dst: cryptofuzz::operation::BLS_Pairing::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1671,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1672,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1673,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1674,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1675,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1676,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1679
    functionName: cryptofuzz::operation::BLS_Pairing::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::BLS_Pairing::ToJSON
    - second::first::ToJSON
    - second::second::ToJSON
    - second::ToJSON
    - first::second::ToJSON
    - first::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_Pairing::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1681
    functionName: cryptofuzz::operation::BLS_MillerLoop::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_MillerLoop::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1686,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1686,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1687,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1688,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1689,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1690,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1691,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1692,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1682
    functionDepth: 1
    functionLinenumber: 1682
    functionLinenumberEnd: 1695
    functionName: cryptofuzz::operation::BLS_MillerLoop::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - second::second::ToString
    - first::ToString
    - first::first::ToString
    - first::second::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    - second::first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_MillerLoop::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_MillerLoop::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1699,1
    - Dst: cryptofuzz::operation::BLS_MillerLoop::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1697
    functionDepth: 1
    functionLinenumber: 1697
    functionLinenumberEnd: 1702
    functionName: cryptofuzz::operation::BLS_MillerLoop::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_MillerLoop::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_MillerLoop::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1704
    functionName: cryptofuzz::operation::BLS_FinalExp::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_FinalExp::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1709,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1709,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/operation.cpp:1710,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/operation.cpp:1711,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/operation.cpp:1712,1
    - Dst: bn4::ToString
      Src: /src/cryptofuzz/operation.cpp:1713,1
    - Dst: bn5::ToString
      Src: /src/cryptofuzz/operation.cpp:1714,1
    - Dst: bn6::ToString
      Src: /src/cryptofuzz/operation.cpp:1715,1
    - Dst: bn7::ToString
      Src: /src/cryptofuzz/operation.cpp:1716,1
    - Dst: bn8::ToString
      Src: /src/cryptofuzz/operation.cpp:1717,1
    - Dst: bn9::ToString
      Src: /src/cryptofuzz/operation.cpp:1718,1
    - Dst: bn10::ToString
      Src: /src/cryptofuzz/operation.cpp:1719,1
    - Dst: bn11::ToString
      Src: /src/cryptofuzz/operation.cpp:1720,1
    - Dst: bn12::ToString
      Src: /src/cryptofuzz/operation.cpp:1721,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1705
    functionDepth: 1
    functionLinenumber: 1705
    functionLinenumberEnd: 1724
    functionName: cryptofuzz::operation::BLS_FinalExp::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - bn3::ToString
    - bn10::ToString
    - bn9::ToString
    - bn5::ToString
    - bn7::ToString
    - bn6::ToString
    - bn2::ToString
    - bn4::ToString
    - bn8::ToString
    - bn11::ToString
    - std::stringstream::str
    - Get
    - bn1::ToString
    - bn12::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_FinalExp::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_FinalExp::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1729,1
    - Dst: cryptofuzz::operation::BLS_FinalExp::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1730,1
    - Dst: cryptofuzz::operation::BLS_FinalExp::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1733
    functionName: cryptofuzz::operation::BLS_FinalExp::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_FinalExp::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_FinalExp::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1734
    functionName: cryptofuzz::operation::BLS_Aggregate_G1::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Aggregate_G1::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1739,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1739,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1742,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1743,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1735
    functionDepth: 1
    functionLinenumber: 1735
    functionLinenumberEnd: 1748
    functionName: cryptofuzz::operation::BLS_Aggregate_G1::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - first::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Aggregate_G1::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Aggregate_G1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1753,1
    - Dst: cryptofuzz::operation::BLS_Aggregate_G1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1754,1
    - Dst: Botan_Tests::Ed448_General_Test::to_array
      Src: /src/cryptofuzz/operation.cpp:1756,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1761,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1762,1
    - Dst: nlohmann::json::push_back
      Src: /src/cryptofuzz/operation.cpp:1764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1750
    functionDepth: 2
    functionLinenumber: 1750
    functionLinenumberEnd: 1770
    functionName: cryptofuzz::operation::BLS_Aggregate_G1::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::BLS_Aggregate_G1::ToJSON
    - nlohmann::json::push_back
    - second::ToJSON
    - Botan_Tests::Ed448_General_Test::to_array
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_Aggregate_G1::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1772
    functionDepth: 0
    functionLinenumber: 1772
    functionLinenumberEnd: 1772
    functionName: cryptofuzz::operation::BLS_Aggregate_G2::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Aggregate_G2::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1777,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1777,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1780,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1781,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1782,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1783,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1773
    functionDepth: 1
    functionLinenumber: 1773
    functionLinenumberEnd: 1788
    functionName: cryptofuzz::operation::BLS_Aggregate_G2::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - second::second::ToString
    - first::first::ToString
    - first::second::ToString
    - std::stringstream::str
    - Get
    - second::first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Aggregate_G2::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Aggregate_G2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1793,1
    - Dst: cryptofuzz::operation::BLS_Aggregate_G2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1794,1
    - Dst: Botan_Tests::Ed448_General_Test::to_array
      Src: /src/cryptofuzz/operation.cpp:1796,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1801,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1802,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1803,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1804,1
    - Dst: nlohmann::json::push_back
      Src: /src/cryptofuzz/operation.cpp:1806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1790
    functionDepth: 2
    functionLinenumber: 1790
    functionLinenumberEnd: 1811
    functionName: cryptofuzz::operation::BLS_Aggregate_G2::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_Aggregate_G2::ToJSON
    - second::first::ToJSON
    - second::second::ToJSON
    - nlohmann::json::push_back
    - first::second::ToJSON
    - first::first::ToJSON
    - Botan_Tests::Ed448_General_Test::to_array
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_Aggregate_G2::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1813
    functionName: cryptofuzz::operation::BLS_HashToG1::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_HashToG1::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1818,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1818,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1819,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1819,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1820,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1820,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1821,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1821,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1814
    functionDepth: 1
    functionLinenumber: 1814
    functionLinenumberEnd: 1824
    functionName: cryptofuzz::operation::BLS_HashToG1::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - Get
    - cryptofuzz::util::HexDump
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_HashToG1::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_HashToG1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1829,1
    - Dst: cryptofuzz::operation::BLS_HashToG1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1830,1
    - Dst: cryptofuzz::operation::BLS_HashToG1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1831,1
    - Dst: cryptofuzz::operation::BLS_HashToG1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1832,1
    - Dst: cryptofuzz::operation::BLS_HashToG1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1826
    functionDepth: 1
    functionLinenumber: 1826
    functionLinenumberEnd: 1835
    functionName: cryptofuzz::operation::BLS_HashToG1::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_HashToG1::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_HashToG1::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1837
    functionName: cryptofuzz::operation::BLS_HashToG2::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_HashToG2::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1842,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1842,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1843,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1843,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1844,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1844,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1845,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1845,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1838
    functionDepth: 1
    functionLinenumber: 1838
    functionLinenumberEnd: 1848
    functionName: cryptofuzz::operation::BLS_HashToG2::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - Get
    - cryptofuzz::util::HexDump
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_HashToG2::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_HashToG2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1853,1
    - Dst: cryptofuzz::operation::BLS_HashToG2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1854,1
    - Dst: cryptofuzz::operation::BLS_HashToG2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1855,1
    - Dst: cryptofuzz::operation::BLS_HashToG2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1856,1
    - Dst: cryptofuzz::operation::BLS_HashToG2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1850
    functionDepth: 1
    functionLinenumber: 1850
    functionLinenumberEnd: 1859
    functionName: cryptofuzz::operation::BLS_HashToG2::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_HashToG2::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_HashToG2::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1861
    functionName: cryptofuzz::operation::BLS_MapToG1::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_MapToG1::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1866,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1866,1
    - Dst: cryptofuzz::operation::BLS_MapToG1::ToString
      Src: /src/cryptofuzz/operation.cpp:1867,1
    - Dst: cryptofuzz::operation::BLS_MapToG1::ToString
      Src: /src/cryptofuzz/operation.cpp:1868,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1862
    functionDepth: 1
    functionLinenumber: 1862
    functionLinenumberEnd: 1871
    functionName: cryptofuzz::operation::BLS_MapToG1::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - Get
    - cryptofuzz::operation::BLS_MapToG1::ToString
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_MapToG1::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_MapToG1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1876,1
    - Dst: cryptofuzz::operation::BLS_MapToG1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1877,1
    - Dst: cryptofuzz::operation::BLS_MapToG1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1878,1
    - Dst: cryptofuzz::operation::BLS_MapToG1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1873
    functionDepth: 1
    functionLinenumber: 1873
    functionLinenumberEnd: 1881
    functionName: cryptofuzz::operation::BLS_MapToG1::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_MapToG1::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_MapToG1::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1883
    functionName: cryptofuzz::operation::BLS_MapToG2::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_MapToG2::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1888,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1888,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1889,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1890,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1891,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1892,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1884
    functionDepth: 1
    functionLinenumber: 1884
    functionLinenumberEnd: 1895
    functionName: cryptofuzz::operation::BLS_MapToG2::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - first::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_MapToG2::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1901,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1902,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1903,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1907
    functionName: cryptofuzz::operation::BLS_MapToG2::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - first::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_MapToG2::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1909
    functionName: cryptofuzz::operation::BLS_IsG1OnCurve::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_IsG1OnCurve::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1914,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1914,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:1915,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:1916,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1910
    functionDepth: 1
    functionLinenumber: 1910
    functionLinenumberEnd: 1919
    functionName: cryptofuzz::operation::BLS_IsG1OnCurve::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - first::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_IsG1OnCurve::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_IsG1OnCurve::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1924,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1926,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1927,1
    - Dst: cryptofuzz::operation::BLS_IsG1OnCurve::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1921
    functionDepth: 1
    functionLinenumber: 1921
    functionLinenumberEnd: 1931
    functionName: cryptofuzz::operation::BLS_IsG1OnCurve::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_IsG1OnCurve::ToJSON
    - second::ToJSON
    - first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_IsG1OnCurve::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1933
    functionDepth: 0
    functionLinenumber: 1933
    functionLinenumberEnd: 1933
    functionName: cryptofuzz::operation::BLS_IsG2OnCurve::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_IsG2OnCurve::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1938,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1938,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1939,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1940,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:1941,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:1942,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1934
    functionDepth: 1
    functionLinenumber: 1934
    functionLinenumberEnd: 1945
    functionName: cryptofuzz::operation::BLS_IsG2OnCurve::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - second::second::ToString
    - first::first::ToString
    - first::second::ToString
    - std::stringstream::str
    - Get
    - second::first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_IsG2OnCurve::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_IsG2OnCurve::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1950,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1952,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1953,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1954,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1955,1
    - Dst: cryptofuzz::operation::BLS_IsG2OnCurve::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1947
    functionDepth: 1
    functionLinenumber: 1947
    functionLinenumberEnd: 1959
    functionName: cryptofuzz::operation::BLS_IsG2OnCurve::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - second::first::ToJSON
    - second::second::ToJSON
    - first::second::ToJSON
    - first::first::ToJSON
    - cryptofuzz::operation::BLS_IsG2OnCurve::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_IsG2OnCurve::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1961
    functionDepth: 0
    functionLinenumber: 1961
    functionLinenumberEnd: 1961
    functionName: cryptofuzz::operation::BLS_GenerateKeyPair::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_GenerateKeyPair::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1966,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1966,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1967,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1967,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:1968,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1968,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1962
    functionDepth: 1
    functionLinenumber: 1962
    functionLinenumberEnd: 1971
    functionName: cryptofuzz::operation::BLS_GenerateKeyPair::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - Get
    - cryptofuzz::util::HexDump
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_GenerateKeyPair::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1976,1
    - Dst: cryptofuzz::operation::BLS_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1977,1
    - Dst: cryptofuzz::operation::BLS_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1978,1
    - Dst: cryptofuzz::operation::BLS_GenerateKeyPair::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1973
    functionDepth: 1
    functionLinenumber: 1973
    functionLinenumberEnd: 1981
    functionName: cryptofuzz::operation::BLS_GenerateKeyPair::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_GenerateKeyPair::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_GenerateKeyPair::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 1983
    functionName: cryptofuzz::operation::BLS_Decompress_G1::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Decompress_G1::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:1988,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:1988,1
    - Dst: cryptofuzz::operation::BLS_Decompress_G1::ToString
      Src: /src/cryptofuzz/operation.cpp:1989,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:1991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1984
    functionDepth: 1
    functionLinenumber: 1984
    functionLinenumberEnd: 1992
    functionName: cryptofuzz::operation::BLS_Decompress_G1::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - Get
    - std::stringstream::str
    - cryptofuzz::operation::BLS_Decompress_G1::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Decompress_G1::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Decompress_G1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1997,1
    - Dst: cryptofuzz::operation::BLS_Decompress_G1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1998,1
    - Dst: cryptofuzz::operation::BLS_Decompress_G1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:1999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1994
    functionDepth: 1
    functionLinenumber: 1994
    functionLinenumberEnd: 2001
    functionName: cryptofuzz::operation::BLS_Decompress_G1::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_Decompress_G1::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_Decompress_G1::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2003
    functionName: cryptofuzz::operation::BLS_Compress_G1::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Compress_G1::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2008,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2008,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:2009,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:2010,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2004
    functionDepth: 1
    functionLinenumber: 2004
    functionLinenumberEnd: 2013
    functionName: cryptofuzz::operation::BLS_Compress_G1::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - first::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Compress_G1::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Compress_G1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2018,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2019,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2020,1
    - Dst: cryptofuzz::operation::BLS_Compress_G1::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2015
    functionDepth: 1
    functionLinenumber: 2015
    functionLinenumberEnd: 2023
    functionName: cryptofuzz::operation::BLS_Compress_G1::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - second::ToJSON
    - cryptofuzz::operation::BLS_Compress_G1::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_Compress_G1::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 2025
    functionDepth: 0
    functionLinenumber: 2025
    functionLinenumberEnd: 2025
    functionName: cryptofuzz::operation::BLS_Decompress_G2::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Decompress_G2::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2030,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2030,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:2031,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:2032,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2026
    functionDepth: 1
    functionLinenumber: 2026
    functionLinenumberEnd: 2035
    functionName: cryptofuzz::operation::BLS_Decompress_G2::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - first::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Decompress_G2::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Decompress_G2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2040,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2041,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2042,1
    - Dst: cryptofuzz::operation::BLS_Decompress_G2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2037
    functionDepth: 1
    functionLinenumber: 2037
    functionLinenumberEnd: 2045
    functionName: cryptofuzz::operation::BLS_Decompress_G2::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::BLS_Decompress_G2::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_Decompress_G2::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 2047
    functionDepth: 0
    functionLinenumber: 2047
    functionLinenumberEnd: 2047
    functionName: cryptofuzz::operation::BLS_Compress_G2::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Compress_G2::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2052,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2052,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2053,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2054,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2055,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2056,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 2048
    functionDepth: 1
    functionLinenumber: 2048
    functionLinenumberEnd: 2059
    functionName: cryptofuzz::operation::BLS_Compress_G2::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - second::second::ToString
    - first::first::ToString
    - first::second::ToString
    - std::stringstream::str
    - Get
    - second::first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_Compress_G2::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_Compress_G2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2064,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2065,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2066,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2067,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2068,1
    - Dst: cryptofuzz::operation::BLS_Compress_G2::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 2061
    functionDepth: 1
    functionLinenumber: 2061
    functionLinenumberEnd: 2071
    functionName: cryptofuzz::operation::BLS_Compress_G2::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - second::first::ToJSON
    - second::second::ToJSON
    - cryptofuzz::operation::BLS_Compress_G2::ToJSON
    - first::second::ToJSON
    - first::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_Compress_G2::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2073
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2073
    functionName: cryptofuzz::operation::BLS_G1_Add::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G1_Add::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2078,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2078,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:2079,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:2080,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:2081,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:2082,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2074
    functionDepth: 1
    functionLinenumber: 2074
    functionLinenumberEnd: 2085
    functionName: cryptofuzz::operation::BLS_G1_Add::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - first::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G1_Add::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G1_Add::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2090,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2092,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2093,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2095,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2096,1
    - Dst: cryptofuzz::operation::BLS_G1_Add::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2087
    functionDepth: 1
    functionLinenumber: 2087
    functionLinenumberEnd: 2100
    functionName: cryptofuzz::operation::BLS_G1_Add::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - second::ToJSON
    - cryptofuzz::operation::BLS_G1_Add::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_G1_Add::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2102
    functionDepth: 0
    functionLinenumber: 2102
    functionLinenumberEnd: 2102
    functionName: cryptofuzz::operation::BLS_G1_Mul::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G1_Mul::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2107,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2107,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:2108,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:2109,1
    - Dst: cryptofuzz::operation::BLS_G1_Mul::ToString
      Src: /src/cryptofuzz/operation.cpp:2110,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2103
    functionDepth: 1
    functionLinenumber: 2103
    functionLinenumberEnd: 2113
    functionName: cryptofuzz::operation::BLS_G1_Mul::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - cryptofuzz::operation::BLS_G1_Mul::ToString
    - first::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G1_Mul::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G1_Mul::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2118,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2120,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2121,1
    - Dst: cryptofuzz::operation::BLS_G1_Mul::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2123,1
    - Dst: cryptofuzz::operation::BLS_G1_Mul::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2127
      start: 2115
    functionDepth: 1
    functionLinenumber: 2115
    functionLinenumberEnd: 2127
    functionName: cryptofuzz::operation::BLS_G1_Mul::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::BLS_G1_Mul::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_G1_Mul::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2129
      start: 2129
    functionDepth: 0
    functionLinenumber: 2129
    functionLinenumberEnd: 2129
    functionName: cryptofuzz::operation::BLS_G1_IsEq::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G1_IsEq::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2134,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2134,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:2135,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:2136,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:2137,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:2138,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2141
      start: 2130
    functionDepth: 1
    functionLinenumber: 2130
    functionLinenumberEnd: 2141
    functionName: cryptofuzz::operation::BLS_G1_IsEq::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - first::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G1_IsEq::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G1_IsEq::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2145,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2148,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2149,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2151,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2152,1
    - Dst: cryptofuzz::operation::BLS_G1_IsEq::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 2143
    functionDepth: 1
    functionLinenumber: 2143
    functionLinenumberEnd: 2156
    functionName: cryptofuzz::operation::BLS_G1_IsEq::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::BLS_G1_IsEq::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_G1_IsEq::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2158
    functionDepth: 0
    functionLinenumber: 2158
    functionLinenumberEnd: 2158
    functionName: cryptofuzz::operation::BLS_G1_Neg::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G1_Neg::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2163,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2163,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/operation.cpp:2164,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:2165,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2168
      start: 2159
    functionDepth: 1
    functionLinenumber: 2159
    functionLinenumberEnd: 2168
    functionName: cryptofuzz::operation::BLS_G1_Neg::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - first::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G1_Neg::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G1_Neg::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2173,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2175,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2176,1
    - Dst: cryptofuzz::operation::BLS_G1_Neg::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2180
      start: 2170
    functionDepth: 1
    functionLinenumber: 2170
    functionLinenumberEnd: 2180
    functionName: cryptofuzz::operation::BLS_G1_Neg::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - first::ToJSON
    - cryptofuzz::operation::BLS_G1_Neg::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_G1_Neg::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2182
    functionName: cryptofuzz::operation::BLS_G2_Add::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G2_Add::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2187,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2187,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2188,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2189,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2190,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2191,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2192,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2193,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2194,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2195,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2183
    functionDepth: 1
    functionLinenumber: 2183
    functionLinenumberEnd: 2198
    functionName: cryptofuzz::operation::BLS_G2_Add::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - second::second::ToString
    - first::first::ToString
    - first::second::ToString
    - std::stringstream::str
    - Get
    - second::first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G2_Add::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G2_Add::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2203,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2205,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2206,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2207,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2208,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2210,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2211,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2212,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2213,1
    - Dst: cryptofuzz::operation::BLS_G2_Add::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2200
    functionDepth: 1
    functionLinenumber: 2200
    functionLinenumberEnd: 2217
    functionName: cryptofuzz::operation::BLS_G2_Add::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - second::first::ToJSON
    - first::first::ToJSON
    - second::second::ToJSON
    - first::second::ToJSON
    - cryptofuzz::operation::BLS_G2_Add::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_G2_Add::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2219
    functionDepth: 0
    functionLinenumber: 2219
    functionLinenumberEnd: 2219
    functionName: cryptofuzz::operation::BLS_G2_Mul::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G2_Mul::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2224,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2224,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2225,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2226,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2227,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2228,1
    - Dst: cryptofuzz::operation::BLS_G2_Mul::ToString
      Src: /src/cryptofuzz/operation.cpp:2229,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2232
      start: 2220
    functionDepth: 1
    functionLinenumber: 2220
    functionLinenumberEnd: 2232
    functionName: cryptofuzz::operation::BLS_G2_Mul::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - second::second::ToString
    - first::first::ToString
    - first::second::ToString
    - cryptofuzz::operation::BLS_G2_Mul::ToString
    - std::stringstream::str
    - Get
    - second::first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G2_Mul::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G2_Mul::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2237,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2239,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2240,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2241,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2242,1
    - Dst: cryptofuzz::operation::BLS_G2_Mul::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2244,1
    - Dst: cryptofuzz::operation::BLS_G2_Mul::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2234
    functionDepth: 1
    functionLinenumber: 2234
    functionLinenumberEnd: 2248
    functionName: cryptofuzz::operation::BLS_G2_Mul::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_G2_Mul::ToJSON
    - second::first::ToJSON
    - second::second::ToJSON
    - first::second::ToJSON
    - first::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_G2_Mul::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2250
      start: 2250
    functionDepth: 0
    functionLinenumber: 2250
    functionLinenumberEnd: 2250
    functionName: cryptofuzz::operation::BLS_G2_IsEq::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G2_IsEq::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2255,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2255,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2256,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2257,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2258,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2259,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2260,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2261,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2262,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2263,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2251
    functionDepth: 1
    functionLinenumber: 2251
    functionLinenumberEnd: 2266
    functionName: cryptofuzz::operation::BLS_G2_IsEq::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - second::second::ToString
    - first::first::ToString
    - first::second::ToString
    - std::stringstream::str
    - Get
    - second::first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G2_IsEq::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G2_IsEq::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2271,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2273,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2274,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2275,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2276,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2278,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2279,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2280,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2281,1
    - Dst: cryptofuzz::operation::BLS_G2_IsEq::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2285
      start: 2268
    functionDepth: 1
    functionLinenumber: 2268
    functionLinenumberEnd: 2285
    functionName: cryptofuzz::operation::BLS_G2_IsEq::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::BLS_G2_IsEq::ToJSON
    - second::first::ToJSON
    - second::second::ToJSON
    - first::second::ToJSON
    - first::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_G2_IsEq::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2287
    functionDepth: 0
    functionLinenumber: 2287
    functionLinenumberEnd: 2287
    functionName: cryptofuzz::operation::BLS_G2_Neg::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G2_Neg::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2292,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2292,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2293,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2294,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2295,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2296,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2299
      start: 2288
    functionDepth: 1
    functionLinenumber: 2288
    functionLinenumberEnd: 2299
    functionName: cryptofuzz::operation::BLS_G2_Neg::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - second::second::ToString
    - first::first::ToString
    - first::second::ToString
    - std::stringstream::str
    - Get
    - second::first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G2_Neg::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G2_Neg::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2304,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2306,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2307,1
    - Dst: second::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2308,1
    - Dst: second::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2309,1
    - Dst: cryptofuzz::operation::BLS_G2_Neg::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2313
      start: 2301
    functionDepth: 1
    functionLinenumber: 2301
    functionLinenumberEnd: 2313
    functionName: cryptofuzz::operation::BLS_G2_Neg::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - second::first::ToJSON
    - cryptofuzz::operation::BLS_G2_Neg::ToJSON
    - second::second::ToJSON
    - first::second::ToJSON
    - first::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_G2_Neg::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2315
      start: 2315
    functionDepth: 0
    functionLinenumber: 2315
    functionLinenumberEnd: 2315
    functionName: cryptofuzz::operation::BLS_G1_MultiExp::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G1_MultiExp::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/operation.cpp:2320,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2320,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2323,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2324,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/operation.cpp:2325,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2330
      start: 2316
    functionDepth: 1
    functionLinenumber: 2316
    functionLinenumberEnd: 2330
    functionName: cryptofuzz::operation::BLS_G1_MultiExp::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - first::first::ToString
    - first::second::ToString
    - std::stringstream::str
    - second::ToString
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string BLS_G1_MultiExp::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::BLS_G1_MultiExp::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2334,1
    - Dst: Botan_Tests::Ed448_General_Test::to_array
      Src: /src/cryptofuzz/operation.cpp:2336,1
    - Dst: first::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2340,1
    - Dst: first::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2341,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2342,1
    - Dst: nlohmann::json::push_back
      Src: /src/cryptofuzz/operation.cpp:2344,1
    - Dst: cryptofuzz::operation::BLS_G1_MultiExp::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 2332
    functionDepth: 2
    functionLinenumber: 2332
    functionLinenumberEnd: 2351
    functionName: cryptofuzz::operation::BLS_G1_MultiExp::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - nlohmann::json::push_back
    - second::ToJSON
    - first::second::ToJSON
    - first::first::ToJSON
    - cryptofuzz::operation::BLS_G1_MultiExp::ToJSON
    - Botan_Tests::Ed448_General_Test::to_array
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_G1_MultiExp::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2353
      start: 2353
    functionDepth: 0
    functionLinenumber: 2353
    functionLinenumberEnd: 2353
    functionName: cryptofuzz::operation::Misc::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Misc::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/cryptofuzz/operation.cpp:2358,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2358,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2361
      start: 2354
    functionDepth: 0
    functionLinenumber: 2354
    functionLinenumberEnd: 2361
    functionName: cryptofuzz::operation::Misc::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Get
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Misc::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::operation::Misc::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2365,1
    - Dst: cryptofuzz::operation::Misc::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2363
    functionDepth: 1
    functionLinenumber: 2363
    functionLinenumberEnd: 2368
    functionName: cryptofuzz::operation::Misc::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::Misc::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json Misc::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2370
      start: 2370
    functionDepth: 0
    functionLinenumber: 2370
    functionLinenumberEnd: 2370
    functionName: cryptofuzz::operation::SR25519_Verify::Name
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SR25519_Verify::Name(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pub::ToString
      Src: /src/cryptofuzz/operation.cpp:2375,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/operation.cpp:2376,1
    - Dst: Get
      Src: /src/cryptofuzz/operation.cpp:2376,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/operation.cpp:2377,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/operation.cpp:2378,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/operation.cpp:2380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2371
    functionDepth: 1
    functionLinenumber: 2371
    functionLinenumberEnd: 2381
    functionName: cryptofuzz::operation::SR25519_Verify::ToString
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::HexDump
    - signature::second::ToString
    - pub::ToString
    - signature::first::ToString
    - std::stringstream::str
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string SR25519_Verify::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pub::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2386,1
    - Dst: cryptofuzz::operation::SR25519_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2387,1
    - Dst: signature::first::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2388,1
    - Dst: signature::second::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2389,1
    - Dst: cryptofuzz::operation::SR25519_Verify::ToJSON
      Src: /src/cryptofuzz/operation.cpp:2390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2383
    functionDepth: 1
    functionLinenumber: 2383
    functionLinenumberEnd: 2392
    functionName: cryptofuzz::operation::SR25519_Verify::ToJSON
    functionSourceFile: /src/cryptofuzz/operation.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::operation::SR25519_Verify::ToJSON
    - pub::ToJSON
    - signature::second::ToJSON
    - signature::first::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json SR25519_Verify::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/cryptofuzz/entry.cpp:463,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/entry.cpp:463,1
    - Dst: std::make_shared<cryptofuzz::Driver>
      Src: /src/cryptofuzz/entry.cpp:467,1
    - Dst: GetOptionsPtr
      Src: /src/cryptofuzz/entry.cpp:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 469
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 469
    functionName: setOptions
    functionSourceFile: /src/cryptofuzz/entry.cpp
    functionUses: 0
    functionsReached:
    - GetOptionsPtr
    - Botan::Kyber_Symmetric_Primitives::G_split
    - Botan::CT::Mask::is_any_of
    - std::make_shared<cryptofuzz::Driver>
    linkageType: ''
    returnType: void
    signature: void setOptions(int argc, char** argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curves::Empty
      Src: /src/cryptofuzz/entry.cpp:475,1
    - Dst: curves::Have
      Src: /src/cryptofuzz/entry.cpp:476,1
    - Dst: std::set::insert
      Src: /src/cryptofuzz/entry.cpp:480,1
    - Dst: std::set::insert
      Src: /src/cryptofuzz/entry.cpp:481,1
    - Dst: std::set::insert
      Src: /src/cryptofuzz/entry.cpp:482,1
    - Dst: std::set::insert
      Src: /src/cryptofuzz/entry.cpp:483,1
    - Dst: std::set::insert
      Src: /src/cryptofuzz/entry.cpp:484,1
    - Dst: std::set::insert
      Src: /src/cryptofuzz/entry.cpp:485,1
    - Dst: std::set::insert
      Src: /src/cryptofuzz/entry.cpp:486,1
    - Dst: std::set::insert
      Src: /src/cryptofuzz/entry.cpp:487,1
    - Dst: push_back
      Src: /src/cryptofuzz/entry.cpp:491,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 493
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 493
    functionName: addNumbers
    functionSourceFile: /src/cryptofuzz/entry.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    - push_back
    - curves::Empty
    - curves::Have
    linkageType: ''
    returnType: void
    signature: void addNumbers(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:497,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:502,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:506,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:510,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:514,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:518,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:522,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:526,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:530,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:534,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:538,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:542,1
    - Dst: Set
      Src: /src/cryptofuzz/entry.cpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 550
    functionName: addDHParameters
    functionSourceFile: /src/cryptofuzz/entry.cpp
    functionUses: 0
    functionsReached:
    - Set
    linkageType: ''
    returnType: void
    signature: void addDHParameters(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setOptions
      Src: /src/cryptofuzz/entry.cpp:553,1
    - Dst: addNumbers
      Src: /src/cryptofuzz/entry.cpp:554,1
    - Dst: addDHParameters
      Src: /src/cryptofuzz/entry.cpp:555,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:558,1
    - Dst: std::make_shared<cryptofuzz::module::OpenSSL>
      Src: /src/cryptofuzz/entry.cpp:558,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:562,1
    - Dst: std::make_shared<cryptofuzz::module::Bitcoin>
      Src: /src/cryptofuzz/entry.cpp:562,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:566,1
    - Dst: std::make_shared<cryptofuzz::module::Reference>
      Src: /src/cryptofuzz/entry.cpp:566,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:570,1
    - Dst: std::make_shared<cryptofuzz::module::CPPCrypto>
      Src: /src/cryptofuzz/entry.cpp:570,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:574,1
    - Dst: std::make_shared<cryptofuzz::module::mbedTLS>
      Src: /src/cryptofuzz/entry.cpp:574,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:578,1
    - Dst: std::make_shared<cryptofuzz::module::TF_PSA_Crypto>
      Src: /src/cryptofuzz/entry.cpp:578,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:582,1
    - Dst: std::make_shared<cryptofuzz::module::Boost>
      Src: /src/cryptofuzz/entry.cpp:582,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:586,1
    - Dst: std::make_shared<cryptofuzz::module::Monero>
      Src: /src/cryptofuzz/entry.cpp:586,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:590,1
    - Dst: std::make_shared<cryptofuzz::module::Veracrypt>
      Src: /src/cryptofuzz/entry.cpp:590,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:594,1
    - Dst: std::make_shared<cryptofuzz::module::libsodium>
      Src: /src/cryptofuzz/entry.cpp:594,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:598,1
    - Dst: std::make_shared<cryptofuzz::module::libtomcrypt>
      Src: /src/cryptofuzz/entry.cpp:598,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:602,1
    - Dst: std::make_shared<cryptofuzz::module::CryptoPP>
      Src: /src/cryptofuzz/entry.cpp:602,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:606,1
    - Dst: std::make_shared<cryptofuzz::module::libgcrypt>
      Src: /src/cryptofuzz/entry.cpp:606,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:610,1
    - Dst: std::make_shared<cryptofuzz::module::EverCrypt>
      Src: /src/cryptofuzz/entry.cpp:610,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:614,1
    - Dst: std::make_shared<cryptofuzz::module::Golang>
      Src: /src/cryptofuzz/entry.cpp:614,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:618,1
    - Dst: std::make_shared<cryptofuzz::module::Ring>
      Src: /src/cryptofuzz/entry.cpp:618,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:622,1
    - Dst: std::make_shared<cryptofuzz::module::NSS>
      Src: /src/cryptofuzz/entry.cpp:622,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:626,1
    - Dst: std::make_shared<cryptofuzz::module::Botan>
      Src: /src/cryptofuzz/entry.cpp:626,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:630,1
    - Dst: std::make_shared<cryptofuzz::module::Nettle>
      Src: /src/cryptofuzz/entry.cpp:630,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:634,1
    - Dst: std::make_shared<cryptofuzz::module::wolfCrypt>
      Src: /src/cryptofuzz/entry.cpp:634,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:638,1
    - Dst: std::make_shared<cryptofuzz::module::libgmp>
      Src: /src/cryptofuzz/entry.cpp:638,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:642,1
    - Dst: std::make_shared<cryptofuzz::module::bn_js>
      Src: /src/cryptofuzz/entry.cpp:642,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:646,1
    - Dst: std::make_shared<cryptofuzz::module::crypto_js>
      Src: /src/cryptofuzz/entry.cpp:646,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:650,1
    - Dst: std::make_shared<cryptofuzz::module::bignumber_js>
      Src: /src/cryptofuzz/entry.cpp:650,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:654,1
    - Dst: std::make_shared<cryptofuzz::module::mpdecimal>
      Src: /src/cryptofuzz/entry.cpp:654,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:658,1
    - Dst: std::make_shared<cryptofuzz::module::Linux>
      Src: /src/cryptofuzz/entry.cpp:658,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:662,1
    - Dst: std::make_shared<cryptofuzz::module::SymCrypt>
      Src: /src/cryptofuzz/entry.cpp:662,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:666,1
    - Dst: std::make_shared<cryptofuzz::module::libtommath>
      Src: /src/cryptofuzz/entry.cpp:666,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:670,1
    - Dst: std::make_shared<cryptofuzz::module::sjcl>
      Src: /src/cryptofuzz/entry.cpp:670,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:674,1
    - Dst: std::make_shared<cryptofuzz::module::wolfCrypt_OpenSSL>
      Src: /src/cryptofuzz/entry.cpp:674,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:678,1
    - Dst: std::make_shared<cryptofuzz::module::Monocypher>
      Src: /src/cryptofuzz/entry.cpp:678,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:682,1
    - Dst: std::make_shared<cryptofuzz::module::secp256k1>
      Src: /src/cryptofuzz/entry.cpp:682,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:686,1
    - Dst: std::make_shared<cryptofuzz::module::rust_libsecp256k1>
      Src: /src/cryptofuzz/entry.cpp:686,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:690,1
    - Dst: std::make_shared<cryptofuzz::module::trezor_firmware>
      Src: /src/cryptofuzz/entry.cpp:690,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:694,1
    - Dst: std::make_shared<cryptofuzz::module::elliptic>
      Src: /src/cryptofuzz/entry.cpp:694,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:698,1
    - Dst: std::make_shared<cryptofuzz::module::Decred>
      Src: /src/cryptofuzz/entry.cpp:698,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:702,1
    - Dst: std::make_shared<cryptofuzz::module::BearSSL>
      Src: /src/cryptofuzz/entry.cpp:702,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:706,1
    - Dst: std::make_shared<cryptofuzz::module::micro_ecc>
      Src: /src/cryptofuzz/entry.cpp:706,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:710,1
    - Dst: std::make_shared<cryptofuzz::module::cifra>
      Src: /src/cryptofuzz/entry.cpp:710,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:714,1
    - Dst: std::make_shared<cryptofuzz::module::relic>
      Src: /src/cryptofuzz/entry.cpp:714,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:718,1
    - Dst: std::make_shared<cryptofuzz::module::libecc>
      Src: /src/cryptofuzz/entry.cpp:718,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:722,1
    - Dst: std::make_shared<cryptofuzz::module::chia_bls>
      Src: /src/cryptofuzz/entry.cpp:722,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:726,1
    - Dst: std::make_shared<cryptofuzz::module::k256>
      Src: /src/cryptofuzz/entry.cpp:726,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:730,1
    - Dst: std::make_shared<cryptofuzz::module::schnorrkel>
      Src: /src/cryptofuzz/entry.cpp:730,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:734,1
    - Dst: std::make_shared<cryptofuzz::module::noble_secp256k1>
      Src: /src/cryptofuzz/entry.cpp:734,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:738,1
    - Dst: std::make_shared<cryptofuzz::module::noble_curves>
      Src: /src/cryptofuzz/entry.cpp:738,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:743,1
    - Dst: std::make_shared<cryptofuzz::module::blst>
      Src: /src/cryptofuzz/entry.cpp:743,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:747,1
    - Dst: std::make_shared<cryptofuzz::module::mcl>
      Src: /src/cryptofuzz/entry.cpp:747,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:751,1
    - Dst: std::make_shared<cryptofuzz::module::py_ecc>
      Src: /src/cryptofuzz/entry.cpp:751,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:755,1
    - Dst: std::make_shared<cryptofuzz::module::kilic_bls12_381>
      Src: /src/cryptofuzz/entry.cpp:755,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:759,1
    - Dst: std::make_shared<cryptofuzz::module::noble_ed25519>
      Src: /src/cryptofuzz/entry.cpp:759,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:763,1
    - Dst: std::make_shared<cryptofuzz::module::noble_bls12_381>
      Src: /src/cryptofuzz/entry.cpp:763,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:767,1
    - Dst: std::make_shared<cryptofuzz::module::schnorr_fun>
      Src: /src/cryptofuzz/entry.cpp:767,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:771,1
    - Dst: std::make_shared<cryptofuzz::module::quickjs>
      Src: /src/cryptofuzz/entry.cpp:771,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:775,1
    - Dst: std::make_shared<cryptofuzz::module::uint128_t>
      Src: /src/cryptofuzz/entry.cpp:775,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:779,1
    - Dst: std::make_shared<cryptofuzz::module::_libff>
      Src: /src/cryptofuzz/entry.cpp:779,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:783,1
    - Dst: std::make_shared<cryptofuzz::module::Gnark_bn254>
      Src: /src/cryptofuzz/entry.cpp:783,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:787,1
    - Dst: std::make_shared<cryptofuzz::module::Google_bn256>
      Src: /src/cryptofuzz/entry.cpp:787,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:791,1
    - Dst: std::make_shared<cryptofuzz::module::Cloudflare_bn256>
      Src: /src/cryptofuzz/entry.cpp:791,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:795,1
    - Dst: std::make_shared<cryptofuzz::module::noble_hashes>
      Src: /src/cryptofuzz/entry.cpp:795,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:799,1
    - Dst: std::make_shared<cryptofuzz::module::SkaleSolidity>
      Src: /src/cryptofuzz/entry.cpp:799,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:803,1
    - Dst: std::make_shared<cryptofuzz::module::Google_Integers>
      Src: /src/cryptofuzz/entry.cpp:803,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:807,1
    - Dst: std::make_shared<cryptofuzz::module::nimcrypto>
      Src: /src/cryptofuzz/entry.cpp:807,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:811,1
    - Dst: std::make_shared<cryptofuzz::module::rustcrypto>
      Src: /src/cryptofuzz/entry.cpp:811,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:815,1
    - Dst: std::make_shared<cryptofuzz::module::num_bigint>
      Src: /src/cryptofuzz/entry.cpp:815,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:819,1
    - Dst: std::make_shared<cryptofuzz::module::intx>
      Src: /src/cryptofuzz/entry.cpp:819,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:823,1
    - Dst: std::make_shared<cryptofuzz::module::decred_uint256>
      Src: /src/cryptofuzz/entry.cpp:823,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:827,1
    - Dst: std::make_shared<cryptofuzz::module::libdivide>
      Src: /src/cryptofuzz/entry.cpp:827,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:831,1
    - Dst: std::make_shared<cryptofuzz::module::rust_uint>
      Src: /src/cryptofuzz/entry.cpp:831,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:835,1
    - Dst: std::make_shared<cryptofuzz::module::bc>
      Src: /src/cryptofuzz/entry.cpp:835,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:839,1
    - Dst: std::make_shared<cryptofuzz::module::Java>
      Src: /src/cryptofuzz/entry.cpp:839,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:843,1
    - Dst: std::make_shared<cryptofuzz::module::SolidityMath>
      Src: /src/cryptofuzz/entry.cpp:843,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:847,1
    - Dst: std::make_shared<cryptofuzz::module::V8>
      Src: /src/cryptofuzz/entry.cpp:847,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:851,1
    - Dst: std::make_shared<cryptofuzz::module::circl>
      Src: /src/cryptofuzz/entry.cpp:851,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:855,1
    - Dst: std::make_shared<cryptofuzz::module::spl_math>
      Src: /src/cryptofuzz/entry.cpp:855,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:859,1
    - Dst: std::make_shared<cryptofuzz::module::Zig>
      Src: /src/cryptofuzz/entry.cpp:859,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:863,1
    - Dst: std::make_shared<cryptofuzz::module::prysmaticlabs_hashtree>
      Src: /src/cryptofuzz/entry.cpp:863,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:867,1
    - Dst: std::make_shared<cryptofuzz::module::Starkware>
      Src: /src/cryptofuzz/entry.cpp:867,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:871,1
    - Dst: std::make_shared<cryptofuzz::module::Pornin_BinGCD>
      Src: /src/cryptofuzz/entry.cpp:871,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:875,1
    - Dst: std::make_shared<cryptofuzz::module::stint>
      Src: /src/cryptofuzz/entry.cpp:875,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:879,1
    - Dst: std::make_shared<cryptofuzz::module::Kryptology>
      Src: /src/cryptofuzz/entry.cpp:879,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:883,1
    - Dst: std::make_shared<cryptofuzz::module::nim_bigints>
      Src: /src/cryptofuzz/entry.cpp:883,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:887,1
    - Dst: std::make_shared<cryptofuzz::module::holiman_uint256>
      Src: /src/cryptofuzz/entry.cpp:887,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:891,1
    - Dst: std::make_shared<cryptofuzz::module::CPU>
      Src: /src/cryptofuzz/entry.cpp:891,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:895,1
    - Dst: std::make_shared<cryptofuzz::module::Geth>
      Src: /src/cryptofuzz/entry.cpp:895,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:899,1
    - Dst: std::make_shared<cryptofuzz::module::jsbn>
      Src: /src/cryptofuzz/entry.cpp:899,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:903,1
    - Dst: std::make_shared<cryptofuzz::module::wide_integer>
      Src: /src/cryptofuzz/entry.cpp:903,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:907,1
    - Dst: std::make_shared<cryptofuzz::module::tiny_keccak>
      Src: /src/cryptofuzz/entry.cpp:907,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:911,1
    - Dst: std::make_shared<cryptofuzz::module::arkworks_algebra>
      Src: /src/cryptofuzz/entry.cpp:911,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:915,1
    - Dst: std::make_shared<cryptofuzz::module::ff>
      Src: /src/cryptofuzz/entry.cpp:915,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:919,1
    - Dst: std::make_shared<cryptofuzz::module::Aleo>
      Src: /src/cryptofuzz/entry.cpp:919,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:923,1
    - Dst: std::make_shared<cryptofuzz::module::Shamatar>
      Src: /src/cryptofuzz/entry.cpp:923,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:927,1
    - Dst: std::make_shared<cryptofuzz::module::MicrosoftCalculator>
      Src: /src/cryptofuzz/entry.cpp:927,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:931,1
    - Dst: std::make_shared<cryptofuzz::module::polygon_zkevm_prover>
      Src: /src/cryptofuzz/entry.cpp:931,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:935,1
    - Dst: std::make_shared<cryptofuzz::module::Goldilocks>
      Src: /src/cryptofuzz/entry.cpp:935,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:939,1
    - Dst: std::make_shared<cryptofuzz::module::D>
      Src: /src/cryptofuzz/entry.cpp:939,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:943,1
    - Dst: std::make_shared<cryptofuzz::module::pairing_ce>
      Src: /src/cryptofuzz/entry.cpp:943,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:947,1
    - Dst: std::make_shared<cryptofuzz::module::pasta_curves>
      Src: /src/cryptofuzz/entry.cpp:947,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:951,1
    - Dst: std::make_shared<cryptofuzz::module::BouncyCastle>
      Src: /src/cryptofuzz/entry.cpp:951,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:955,1
    - Dst: std::make_shared<cryptofuzz::module::faheel_BigInt>
      Src: /src/cryptofuzz/entry.cpp:955,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:959,1
    - Dst: std::make_shared<cryptofuzz::module::substrate_bn>
      Src: /src/cryptofuzz/entry.cpp:959,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:963,1
    - Dst: std::make_shared<cryptofuzz::module::aurora_engine_modexp>
      Src: /src/cryptofuzz/entry.cpp:963,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:967,1
    - Dst: std::make_shared<cryptofuzz::module::V8_embedded>
      Src: /src/cryptofuzz/entry.cpp:967,1
    - Dst: LoadModule
      Src: /src/cryptofuzz/entry.cpp:971,1
    - Dst: std::make_shared<cryptofuzz::module::Constantine>
      Src: /src/cryptofuzz/entry.cpp:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 109
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    constantsTouched: []
    func_position:
      end: 978
      start: 552
    functionDepth: 4
    functionLinenumber: 552
    functionLinenumberEnd: 978
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/cryptofuzz/entry.cpp
    functionUses: 3
    functionsReached:
    - std::make_shared<cryptofuzz::module::noble_hashes>
    - std::make_shared<cryptofuzz::module::EverCrypt>
    - std::make_shared<cryptofuzz::module::CryptoPP>
    - std::make_shared<cryptofuzz::module::Botan>
    - std::make_shared<cryptofuzz::module::noble_bls12_381>
    - std::make_shared<cryptofuzz::module::cifra>
    - std::make_shared<cryptofuzz::module::OpenSSL>
    - std::make_shared<cryptofuzz::module::trezor_firmware>
    - std::make_shared<cryptofuzz::module::wide_integer>
    - std::make_shared<cryptofuzz::module::Linux>
    - std::make_shared<cryptofuzz::module::mpdecimal>
    - std::make_shared<cryptofuzz::module::V8>
    - std::make_shared<cryptofuzz::module::rustcrypto>
    - std::make_shared<cryptofuzz::module::prysmaticlabs_hashtree>
    - std::make_shared<cryptofuzz::module::NSS>
    - std::make_shared<cryptofuzz::module::wolfCrypt>
    - std::make_shared<cryptofuzz::module::Reference>
    - std::make_shared<cryptofuzz::module::polygon_zkevm_prover>
    - LoadModule
    - std::make_shared<cryptofuzz::module::CPU>
    - std::make_shared<cryptofuzz::module::noble_secp256k1>
    - std::make_shared<cryptofuzz::module::Nettle>
    - std::make_shared<cryptofuzz::module::quickjs>
    - std::make_shared<cryptofuzz::module::uint128_t>
    - std::make_shared<cryptofuzz::module::circl>
    - std::make_shared<cryptofuzz::module::aurora_engine_modexp>
    - std::make_shared<cryptofuzz::module::jsbn>
    - std::make_shared<cryptofuzz::module::Starkware>
    - std::make_shared<cryptofuzz::module::ff>
    - std::make_shared<cryptofuzz::module::chia_bls>
    - std::make_shared<cryptofuzz::module::k256>
    - std::make_shared<cryptofuzz::module::Constantine>
    - std::make_shared<cryptofuzz::module::D>
    - std::make_shared<cryptofuzz::module::crypto_js>
    - std::make_shared<cryptofuzz::module::schnorrkel>
    - std::make_shared<cryptofuzz::module::Google_Integers>
    - std::make_shared<cryptofuzz::module::libsodium>
    - std::make_shared<cryptofuzz::module::MicrosoftCalculator>
    - std::make_shared<cryptofuzz::module::Geth>
    - std::make_shared<cryptofuzz::module::stint>
    - std::make_shared<cryptofuzz::module::sjcl>
    - std::make_shared<cryptofuzz::module::substrate_bn>
    - std::make_shared<cryptofuzz::module::Monero>
    - std::make_shared<cryptofuzz::module::spl_math>
    - std::make_shared<cryptofuzz::module::pairing_ce>
    - std::make_shared<cryptofuzz::module::blst>
    - std::make_shared<cryptofuzz::module::Google_bn256>
    - std::make_shared<cryptofuzz::module::tiny_keccak>
    - std::make_shared<cryptofuzz::module::Java>
    - std::make_shared<cryptofuzz::module::libgmp>
    - std::make_shared<cryptofuzz::module::schnorr_fun>
    - std::make_shared<cryptofuzz::module::decred_uint256>
    - std::make_shared<cryptofuzz::module::Shamatar>
    - addDHParameters
    - std::make_shared<cryptofuzz::module::SolidityMath>
    - std::make_shared<cryptofuzz::module::SymCrypt>
    - std::make_shared<cryptofuzz::module::bn_js>
    - std::make_shared<cryptofuzz::module::noble_curves>
    - std::make_shared<cryptofuzz::module::secp256k1>
    - std::make_shared<cryptofuzz::module::rust_uint>
    - std::make_shared<cryptofuzz::module::CPPCrypto>
    - std::make_shared<cryptofuzz::module::Zig>
    - std::make_shared<cryptofuzz::module::libecc>
    - std::make_shared<cryptofuzz::module::faheel_BigInt>
    - std::make_shared<cryptofuzz::module::Monocypher>
    - std::make_shared<cryptofuzz::module::V8_embedded>
    - std::make_shared<cryptofuzz::module::wolfCrypt_OpenSSL>
    - std::make_shared<cryptofuzz::module::Ring>
    - std::make_shared<cryptofuzz::module::noble_ed25519>
    - std::make_shared<cryptofuzz::module::Bitcoin>
    - std::make_shared<cryptofuzz::module::kilic_bls12_381>
    - std::make_shared<cryptofuzz::module::Aleo>
    - setOptions
    - std::make_shared<cryptofuzz::module::rust_libsecp256k1>
    - std::make_shared<cryptofuzz::module::TF_PSA_Crypto>
    - std::make_shared<cryptofuzz::module::libtomcrypt>
    - std::make_shared<cryptofuzz::module::num_bigint>
    - std::make_shared<cryptofuzz::module::holiman_uint256>
    - std::make_shared<cryptofuzz::module::mbedTLS>
    - std::make_shared<cryptofuzz::module::Boost>
    - std::make_shared<cryptofuzz::module::relic>
    - std::make_shared<cryptofuzz::module::nim_bigints>
    - std::make_shared<cryptofuzz::module::_libff>
    - std::make_shared<cryptofuzz::module::libgcrypt>
    - std::make_shared<cryptofuzz::module::Goldilocks>
    - std::make_shared<cryptofuzz::module::Gnark_bn254>
    - std::make_shared<cryptofuzz::module::nimcrypto>
    - std::make_shared<cryptofuzz::module::Decred>
    - std::make_shared<cryptofuzz::module::Veracrypt>
    - std::make_shared<cryptofuzz::module::elliptic>
    - std::make_shared<cryptofuzz::module::BouncyCastle>
    - std::make_shared<cryptofuzz::module::micro_ecc>
    - std::make_shared<cryptofuzz::module::bc>
    - std::make_shared<cryptofuzz::module::pasta_curves>
    - std::make_shared<cryptofuzz::module::libtommath>
    - std::make_shared<cryptofuzz::module::libdivide>
    - std::make_shared<cryptofuzz::module::intx>
    - std::make_shared<cryptofuzz::module::mcl>
    - std::make_shared<cryptofuzz::module::Cloudflare_bn256>
    - std::make_shared<cryptofuzz::module::SkaleSolidity>
    - std::make_shared<cryptofuzz::module::Golang>
    - std::make_shared<cryptofuzz::module::Kryptology>
    - addNumbers
    - std::make_shared<cryptofuzz::module::BearSSL>
    - std::make_shared<cryptofuzz::module::Pornin_BinGCD>
    - std::make_shared<cryptofuzz::module::py_ecc>
    - std::make_shared<cryptofuzz::module::bignumber_js>
    - std::make_shared<cryptofuzz::module::arkworks_algebra>
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Run
      Src: /src/cryptofuzz/entry.cpp:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 984
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 984
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/cryptofuzz/entry.cpp
    functionUses: 4
    functionsReached:
    - Run
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:27,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:73,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:73,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:74,1
    - Dst: EC_POINT_new
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:74,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:75,1
    - Dst: BN_bin2bn
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:75,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:75,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:75,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:76,1
    - Dst: EC_POINT_set_compressed_coordinates_GFp
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:76,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:77,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:77,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:78,1
    - Dst: BN_new
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:78,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:79,1
    - Dst: BN_new
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:79,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:80,1
    - Dst: EC_POINT_get_affine_coordinates_GFp
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:80,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:81,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:81,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:82,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:82,1
    - Dst: std::string
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:84,1
    - Dst: std::string
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:84,1
    - Dst: EC_GROUP_clear_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:86,1
    - Dst: EC_POINT_clear_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:87,1
    - Dst: BN_clear_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:88,1
    - Dst: BN_clear_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:89,1
    - Dst: BN_clear_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:90,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:91,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 3
    argNames:
    - data
    - compressed
    - tlsId
    argTypes:
    - std::vector<uint8_t>
    - bool
    - uint16_t
    constantsTouched: []
    func_position:
      end: 96
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 96
    functionName: cryptofuzz::ecc_diff_fuzzer_importer::decompressPoint
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EC_POINT_set_compressed_coordinates_GFp
    - CF_CHECK_NE
    - CF_ASSERT
    - EC_GROUP_new_by_curve_name
    - BN_new
    - EC_GROUP_clear_free
    - EC_POINT_clear_free
    - BN_clear_free
    - BN_bin2bn
    - std::string
    - EC_POINT_get_affine_coordinates_GFp
    - EC_POINT_new
    - BN_bn2dec
    - EC_POINT_is_on_curve
    - std::vector<uint8_t>::data
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: Point
    signature: "Point decompressPoint(\n        const std::vector<uint8_t> data,\n
      \       const bool compressed,\n        const uint16_t tlsId)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - tlsId
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 136
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 136
    functionName: cryptofuzz::ecc_diff_fuzzer_importer::bitlenFromTlsId
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bitlenFromTlsId(const uint16_t tlsId)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numBits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: cryptofuzz::ecc_diff_fuzzer_importer::ecdf_byteceil
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ecdf_byteceil(const size_t numBits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - outDir
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: cryptofuzz::ECC_Diff_Fuzzer_Importer::ECC_Diff_Fuzzer_Importer
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_Diff_Fuzzer_Importer::ECC_Diff_Fuzzer_Importer(const std::string
      filename, const std::string outDir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::istreambuf_iterator<char>
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:150,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:150,1
    - Dst: cryptofuzz::ECC_Diff_Fuzzer_Importer::LoadInput
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: cryptofuzz::ECC_Diff_Fuzzer_Importer::Run
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp
    functionUses: 0
    functionsReached:
    - std::istreambuf_iterator<char>
    - cryptofuzz::ECC_Diff_Fuzzer_Importer::LoadInput
    linkageType: ''
    returnType: void
    signature: void ECC_Diff_Fuzzer_Importer::Run(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ecc_diff_fuzzer_importer::bitlenFromTlsId
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:168,1
    - Dst: cryptofuzz::ecc_diff_fuzzer_importer::ecdf_byteceil
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:174,1
    - Dst: cryptofuzz::ecc_diff_fuzzer_importer::decompressPoint
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:188,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:189,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:190,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:191,1
    - Dst: cryptofuzz::ecc_diff_fuzzer_importer::decompressPoint
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:199,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:200,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:201,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:202,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:210,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:210,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:218,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:221,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:224,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:227,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:230,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:233,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:236,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:239,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:242,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:245,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:248,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:251,1
    - Dst: cryptofuzz::operation::ECC_Point_Add::Serialize
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:261,1
    - Dst: cryptofuzz::ECC_Diff_Fuzzer_Importer::write
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:263,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:263,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:270,1
    - Dst: cryptofuzz::ECC_Diff_Fuzzer_Importer::write
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:272,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:272,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 274
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 274
    functionName: cryptofuzz::ECC_Diff_Fuzzer_Importer::LoadInput
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::ecc_diff_fuzzer_importer::decompressPoint
    - cryptofuzz::ecc_diff_fuzzer_importer::bitlenFromTlsId
    - CF_ECC_CURVE
    - CF_UNREACHABLE
    - cryptofuzz::operation::ECC_Point_Add::Serialize
    - cryptofuzz::ecc_diff_fuzzer_importer::ecdf_byteceil
    - std::vector<uint8_t>
    - cryptofuzz::util::BinToDec
    - cryptofuzz::ECC_Diff_Fuzzer_Importer::write
    - CF_OPERATION
    - cryptofuzz::operation::ECC_Point_Mul::Serialize
    - std::vector<uint8_t>::data
    linkageType: ''
    returnType: void
    signature: void ECC_Diff_Fuzzer_Importer::LoadInput(const std::vector<uint8_t>
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:280,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:282,1
    - Dst: GetOut
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:282,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:285,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:285,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:288,1
    - Dst: CF_MODULE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:288,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:291,1
    - Dst: std::string
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:294,1
    - Dst: cryptofuzz::util::SHA1
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:294,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:294,1
    - Dst: fopen
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:295,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:295,1
    - Dst: fwrite
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:296,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:296,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:296,1
    - Dst: fclose
      Src: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - operation
    - ' dsOut2'
    argTypes:
    - uint64_t
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 299
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 299
    functionName: cryptofuzz::ECC_Diff_Fuzzer_Importer::write
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_importer.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::util::SHA1
    - std::string
    - CF_MODULE
    - fuzzing::datasource::Datasource::Put
    - std::vector<uint8_t>
    - std::string::c_str
    - GetOut
    - fclose
    - fuzzing::datasource::Datasource::GetOut
    - fuzzing::datasource::Datasource::PutData
    - fwrite
    - fopen
    linkageType: ''
    returnType: void
    signature: void ECC_Diff_Fuzzer_Importer::write(const uint64_t operation, fuzzing::datasource::Datasource&
      dsOut2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: cryptofuzz::repository::IsCBC
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsCBC(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: cryptofuzz::repository::IsCCM
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsCCM(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: cryptofuzz::repository::IsCFB
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsCFB(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: cryptofuzz::repository::IsCTR
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsCTR(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: cryptofuzz::repository::IsECB
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsECB(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: cryptofuzz::repository::IsGCM
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsGCM(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: cryptofuzz::repository::IsOCB
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsOCB(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: cryptofuzz::repository::IsOFB
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsOFB(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: cryptofuzz::repository::IsXTS
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsXTS(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: cryptofuzz::repository::IsAEAD
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsAEAD(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: cryptofuzz::repository::IsWRAP
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsWRAP(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: cryptofuzz::repository::IsAES
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: bool
    signature: bool IsAES(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: cryptofuzz::repository::DigestToString
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 22
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string DigestToString(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: cryptofuzz::repository::DigestFromString
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> DigestFromString(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: cryptofuzz::repository::CipherToString
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 6
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string CipherToString(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: cryptofuzz::repository::ECC_CurveToString
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 52
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string ECC_CurveToString(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: cryptofuzz::repository::ECC_CurveFromString
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> ECC_CurveFromString(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: cryptofuzz::repository::ECC_CurveToBits
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> ECC_CurveToBits(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: cryptofuzz::repository::ECC_CurveToPrime
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 1
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ECC_CurveToPrime(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: cryptofuzz::repository::ECC_CurveToA
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 1
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ECC_CurveToA(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: cryptofuzz::repository::ECC_CurveToB
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 1
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ECC_CurveToB(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 189
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 189
    functionName: cryptofuzz::repository::ECC_CurveToX
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 1
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ECC_CurveToX(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: cryptofuzz::repository::ECC_CurveToY
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 1
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ECC_CurveToY(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: cryptofuzz::repository::ECC_CurveToOrderMin1
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ECC_CurveToOrderMin1(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: cryptofuzz::repository::ECC_CurveToOrder
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 2
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ECC_CurveToOrder(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: cryptofuzz::repository::CalcOpToString
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 3
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string CalcOpToString(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: cryptofuzz::repository::CalcOpToNumParams
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: size_t
    signature: size_t CalcOpToNumParams(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/cryptofuzz/repository.cpp:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 236
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 236
    functionName: cryptofuzz::repository::DigestSize
    functionSourceFile: /src/cryptofuzz/repository.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> DigestSize(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/cryptofuzz/z3.cpp:34,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/z3.cpp:35,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/z3.cpp:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: cryptofuzz::Z3::Solver::ParseInt
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - cryptofuzz::util::HexToDec
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string ParseInt(const std::string v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/cryptofuzz/z3.cpp:42,1
    - Dst: int_const
      Src: /src/cryptofuzz/z3.cpp:42,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/z3.cpp:42,1
    - Dst: emplace
      Src: /src/cryptofuzz/z3.cpp:44,1
    - Dst: bv_const
      Src: /src/cryptofuzz/z3.cpp:44,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/z3.cpp:44,1
    - Dst: at
      Src: /src/cryptofuzz/z3.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: '& AddDynamic(const std::string name, const bool bitvector = false)'
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - at
    - int_const
    - std::string::c_str
    - bv_const
    linkageType: ''
    returnType: z3::expr
    signature: z3::expr & AddDynamic(const std::string name, const bool bitvector
      = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:55,1
    - Dst: NotZero
      Src: /src/cryptofuzz/z3.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: '& AddDynamicDivisor(const std::string name)'
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - NotZero
    - AddDynamic
    linkageType: ''
    returnType: z3::expr
    signature: z3::expr & AddDynamicDivisor(const std::string name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/cryptofuzz/z3.cpp:61,1
    - Dst: int_val
      Src: /src/cryptofuzz/z3.cpp:61,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/z3.cpp:61,1
    - Dst: emplace
      Src: /src/cryptofuzz/z3.cpp:63,1
    - Dst: bv_val
      Src: /src/cryptofuzz/z3.cpp:63,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/z3.cpp:63,1
    - Dst: at
      Src: /src/cryptofuzz/z3.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: '& AddStatic(const std::string name, const std::string value, const
      bool bitvector = false)'
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - int_val
    - at
    - bv_val
    - std::string::c_str
    linkageType: ''
    returnType: z3::expr
    signature: z3::expr & AddStatic(const std::string name, const std::string value,
      const bool bitvector = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/cryptofuzz/z3.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - expr
    argTypes:
    - z3::expr
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: cryptofuzz::Z3::Solver::AddConstraint
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void AddConstraint(const z3::expr expr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBool
      Src: /src/cryptofuzz/z3.cpp:72,1
    - Dst: emplace_back
      Src: /src/cryptofuzz/z3.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - expr
    argTypes:
    - z3::expr
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: cryptofuzz::Z3::Solver::AddOptionalConstraint
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - getBool
    linkageType: ''
    returnType: void
    signature: void AddOptionalConstraint(const z3::expr expr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Z3::Solver::AddConstraint
      Src: /src/cryptofuzz/z3.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' expr'
    argTypes:
    - z3::expr
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: cryptofuzz::Z3::Solver::NotZero
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Z3::Solver::AddConstraint
    linkageType: ''
    returnType: void
    signature: void NotZero(const z3::expr& expr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbegin
      Src: /src/cryptofuzz/z3.cpp:90,1
    - Dst: std::advance
      Src: /src/cryptofuzz/z3.cpp:91,1
    - Dst: PRNG
      Src: /src/cryptofuzz/z3.cpp:91,1
    - Dst: size
      Src: /src/cryptofuzz/z3.cpp:91,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:92,1
    - Dst: getBignum
      Src: /src/cryptofuzz/z3.cpp:92,1
    - Dst: at
      Src: /src/cryptofuzz/z3.cpp:93,1
    - Dst: cryptofuzz::Z3::Solver::AddConstraint
      Src: /src/cryptofuzz/z3.cpp:96,1
    - Dst: cryptofuzz::Z3::Solver::AddConstraint
      Src: /src/cryptofuzz/z3.cpp:98,1
    - Dst: cryptofuzz::Z3::Solver::AddConstraint
      Src: /src/cryptofuzz/z3.cpp:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 102
    functionName: cryptofuzz::Z3::Solver::AddRandomConstraint
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - at
    - AddStatic
    - size
    - cbegin
    - PRNG
    - std::advance
    - getBignum
    - cryptofuzz::Z3::Solver::AddConstraint
    linkageType: ''
    returnType: void
    signature: void AddRandomConstraint(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: cryptofuzz::Z3::Solver::Solver
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Solver(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: ~Solver()
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Solver()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/z3.cpp:107,1
    - Dst: cryptofuzz::Z3::Solver::AddRandomConstraint
      Src: /src/cryptofuzz/z3.cpp:112,1
    - Dst: cryptofuzz::Z3::Solver::AddRandomConstraint
      Src: /src/cryptofuzz/z3.cpp:113,1
    - Dst: z3::set_param
      Src: /src/cryptofuzz/z3.cpp:119,1
    - Dst: z3::params::set
      Src: /src/cryptofuzz/z3.cpp:121,1
    - Dst: static_cast<unsigned>
      Src: /src/cryptofuzz/z3.cpp:121,1
    - Dst: z3::solver::set
      Src: /src/cryptofuzz/z3.cpp:122,1
    - Dst: z3::solver::add
      Src: /src/cryptofuzz/z3.cpp:127,1
    - Dst: z3::solver::check
      Src: /src/cryptofuzz/z3.cpp:130,1
    - Dst: z3::solver::get_model
      Src: /src/cryptofuzz/z3.cpp:134,1
    - Dst: z3::model::size
      Src: /src/cryptofuzz/z3.cpp:136,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/z3.cpp:137,1
    - Dst: z3::func_decl::name
      Src: /src/cryptofuzz/z3.cpp:138,1
    - Dst: cryptofuzz::Z3::Solver::ParseInt
      Src: /src/cryptofuzz/z3.cpp:141,1
    - Dst: z3::model::get_const_interp
      Src: /src/cryptofuzz/z3.cpp:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 148
    functionName: cryptofuzz::Z3::Solver::Solve
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - z3::solver::get_model
    - z3::solver::add
    - static_cast<int>
    - assert
    - z3::solver::set
    - z3::model::get_const_interp
    - z3::model::size
    - cryptofuzz::Z3::Solver::AddRandomConstraint
    - z3::set_param
    - z3::params::set
    - z3::solver::check
    - z3::func_decl::name
    - cryptofuzz::Z3::Solver::ParseInt
    - static_cast<unsigned>
    linkageType: ''
    returnType: std::optional<std::map<std::string, std::string>>
    signature: std::optional<std::map<std::string, std::string>> Solve(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:155,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:156,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:157,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: cryptofuzz::Z3::Add::Add
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddDynamic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void Add(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:165,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:166,1
    - Dst: AddDynamicDivisor
      Src: /src/cryptofuzz/z3.cpp:167,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:168,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:169,1
    - Dst: AddOptionalConstraint
      Src: /src/cryptofuzz/z3.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: cryptofuzz::Z3::AddMod::AddMod
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddConstraint
    - AddDynamic
    - AddDynamicDivisor
    - AddOptionalConstraint
    linkageType: ''
    returnType: void
    signature: void AddMod(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:177,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:178,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:179,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:180,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: cryptofuzz::Z3::AddMul::AddMul
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddDynamic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void AddMul(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:188,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:189,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:190,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: cryptofuzz::Z3::Sub::Sub
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddDynamic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void Sub(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:198,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:199,1
    - Dst: AddDynamicDivisor
      Src: /src/cryptofuzz/z3.cpp:200,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:201,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:202,1
    - Dst: AddOptionalConstraint
      Src: /src/cryptofuzz/z3.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: cryptofuzz::Z3::SubMod::SubMod
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddConstraint
    - AddDynamic
    - AddDynamicDivisor
    - AddOptionalConstraint
    linkageType: ''
    returnType: void
    signature: void SubMod(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:210,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:211,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:212,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:213,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 215
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 215
    functionName: cryptofuzz::Z3::SubMul::SubMul
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddDynamic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void SubMul(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:221,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:222,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:223,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:224,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:225,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: cryptofuzz::Z3::Mul::Mul
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddDynamic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void Mul(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:233,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:234,1
    - Dst: AddDynamicDivisor
      Src: /src/cryptofuzz/z3.cpp:235,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:236,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 239
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 239
    functionName: cryptofuzz::Z3::MulMod::MulMod
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddDynamicDivisor
    - AddDynamic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void MulMod(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:245,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:246,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:247,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:248,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: cryptofuzz::Z3::MulAdd::MulAdd
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddDynamic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void MulAdd(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:256,1
    - Dst: AddDynamicDivisor
      Src: /src/cryptofuzz/z3.cpp:257,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:258,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:259,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 261
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 261
    functionName: cryptofuzz::Z3::Div::Div
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddDynamicDivisor
    - AddDynamic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void Div(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:267,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:268,1
    - Dst: AddDynamicDivisor
      Src: /src/cryptofuzz/z3.cpp:269,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:270,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:271,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:272,1
    - Dst: AddOptionalConstraint
      Src: /src/cryptofuzz/z3.cpp:273,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 275
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 275
    functionName: cryptofuzz::Z3::MulDiv::MulDiv
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddConstraint
    - AddDynamic
    - AddDynamicDivisor
    - AddOptionalConstraint
    linkageType: ''
    returnType: void
    signature: void MulDiv(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:282,1
    - Dst: AddDynamicDivisor
      Src: /src/cryptofuzz/z3.cpp:283,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:284,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:285,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 287
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 287
    functionName: cryptofuzz::Z3::Mod::Mod
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddDynamicDivisor
    - AddDynamic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void Mod(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:293,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:294,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:295,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:296,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - mod
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 298
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 298
    functionName: cryptofuzz::Z3::ModFixed::ModFixed
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddDynamic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void ModFixed(const std::string r, const std::string mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: cryptofuzz::Z3::Mod_NIST_192::Mod_NIST_192
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mod_NIST_192(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: cryptofuzz::Z3::Mod_NIST_224::Mod_NIST_224
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mod_NIST_224(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: cryptofuzz::Z3::Mod_NIST_256::Mod_NIST_256
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mod_NIST_256(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: cryptofuzz::Z3::Mod_NIST_384::Mod_NIST_384
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mod_NIST_384(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: cryptofuzz::Z3::Mod_NIST_521::Mod_NIST_521
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Mod_NIST_521(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:334,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:335,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: cryptofuzz::Z3::Sqr::Sqr
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddDynamic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void Sqr(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:343,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:344,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:345,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:346,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: cryptofuzz::Z3::Sqrt::Sqrt
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddDynamic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void Sqrt(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:354,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:355,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:356,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:357,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: cryptofuzz::Z3::SqrtRem::SqrtRem
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddDynamic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void SqrtRem(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:365,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:366,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:367,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:368,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 370
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 370
    functionName: cryptofuzz::Z3::CbrtRem::CbrtRem
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddDynamic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void CbrtRem(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:376,1
    - Dst: AddDynamicDivisor
      Src: /src/cryptofuzz/z3.cpp:377,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:378,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 380
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 380
    functionName: cryptofuzz::Z3::SqrMod::SqrMod
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddDynamicDivisor
    - AddDynamic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void SqrMod(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:386,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:387,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:388,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 390
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 390
    functionName: cryptofuzz::Z3::Or::Or
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddDynamic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void Or(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:396,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:397,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:398,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 400
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 400
    functionName: cryptofuzz::Z3::Xor::Xor
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddDynamic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void Xor(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:406,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:407,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:408,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: cryptofuzz::Z3::And::And
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddDynamic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void And(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:416,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:417,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:418,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:419,1
    - Dst: mcl::Generator::ashr
      Src: /src/cryptofuzz/z3.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: cryptofuzz::Z3::RShift::RShift
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - AddDynamic
    - AddConstraint
    - mcl::Generator::ashr
    linkageType: ''
    returnType: void
    signature: void RShift(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:426,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:427,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:428,1
    - Dst: Botan::Serpent_F::shl
      Src: /src/cryptofuzz/z3.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 429
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 429
    functionName: cryptofuzz::Z3::LShift1::LShift1
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - Botan::Serpent_F::shl
    - AddDynamic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void LShift1(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:435,1
    - Dst: AddDynamic
      Src: /src/cryptofuzz/z3.cpp:436,1
    - Dst: AddStatic
      Src: /src/cryptofuzz/z3.cpp:437,1
    - Dst: AddConstraint
      Src: /src/cryptofuzz/z3.cpp:438,1
    - Dst: Botan::Serpent_F::shl
      Src: /src/cryptofuzz/z3.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: cryptofuzz::Z3::SetBit::SetBit
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - AddStatic
    - Botan::Serpent_F::shl
    - AddDynamic
    - AddConstraint
    linkageType: ''
    returnType: void
    signature: void SetBit(const std::string r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/cryptofuzz/z3.cpp:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 444
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 444
    functionName: cryptofuzz::Z3::is_negative
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    linkageType: ''
    returnType: bool
    signature: bool is_negative(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::Solve
      Src: /src/cryptofuzz/z3.cpp:449,1
    - Dst: auto::at
      Src: /src/cryptofuzz/z3.cpp:466,1
    - Dst: cryptofuzz::Z3::is_negative
      Src: /src/cryptofuzz/z3.cpp:467,1
    - Dst: auto::at
      Src: /src/cryptofuzz/z3.cpp:473,1
    - Dst: cryptofuzz::Z3::is_negative
      Src: /src/cryptofuzz/z3.cpp:474,1
    - Dst: auto::at
      Src: /src/cryptofuzz/z3.cpp:480,1
    - Dst: cryptofuzz::Z3::is_negative
      Src: /src/cryptofuzz/z3.cpp:481,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/z3.cpp:488,1
    - Dst: auto::at
      Src: /src/cryptofuzz/z3.cpp:491,1
    - Dst: auto::at
      Src: /src/cryptofuzz/z3.cpp:494,1
    - Dst: auto::at
      Src: /src/cryptofuzz/z3.cpp:497,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 504
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 504
    functionName: cryptofuzz::Z3::invoke
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Z3::is_negative
    - auto::at
    - cryptofuzz::repository::CalcOpToString
    - T::Solve
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> invoke(const std::string result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/z3.cpp:508,1
    - Dst: getBool
      Src: /src/cryptofuzz/z3.cpp:509,1
    - Dst: boost::multiprecision::cpp_int::str
      Src: /src/cryptofuzz/z3.cpp:512,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/z3.cpp:514,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:523,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:523,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:524,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:524,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:525,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:525,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:526,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:526,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:527,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:527,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:528,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:528,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:529,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:529,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:530,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:530,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:531,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:531,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:532,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:532,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:533,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:533,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:534,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:534,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:535,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:535,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:536,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:536,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:537,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:537,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:538,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:538,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:539,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:539,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:540,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:540,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:542,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:542,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:543,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:543,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:544,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:544,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:545,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:545,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:546,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:546,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:547,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:547,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:548,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:548,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:549,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:549,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:550,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:550,1
    - Dst: INVOKE
      Src: /src/cryptofuzz/z3.cpp:551,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/z3.cpp:551,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - calcop
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 555
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 555
    functionName: cryptofuzz::Z3::Generate
    functionSourceFile: /src/cryptofuzz/z3.cpp
    functionUses: 1
    functionsReached:
    - CF_CALCOP
    - std::string::size
    - boost::multiprecision::cpp_int::str
    - getBool
    - PRNG
    - INVOKE
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> Generate(const uint64_t calcop)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/cryptofuzz/options.cpp:19,1
    - Dst: cryptofuzz::EnabledTypes::HaveExplicit
      Src: /src/cryptofuzz/options.cpp:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: cryptofuzz::EnabledTypes::Have
    functionSourceFile: /src/cryptofuzz/options.cpp
    functionUses: 0
    functionsReached:
    - empty
    - cryptofuzz::EnabledTypes::HaveExplicit
    linkageType: ''
    returnType: bool
    signature: bool EnabledTypes::Have(const uint64_t id) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/cryptofuzz/options.cpp:23,1
    - Dst: end
      Src: /src/cryptofuzz/options.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: cryptofuzz::EnabledTypes::HaveExplicit
    functionSourceFile: /src/cryptofuzz/options.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool EnabledTypes::HaveExplicit(const uint64_t id) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/cryptofuzz/options.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: cryptofuzz::EnabledTypes::Add
    functionSourceFile: /src/cryptofuzz/options.cpp
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void EnabledTypes::Add(const uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/options.cpp:31,1
    - Dst: cryptofuzz::EnabledTypes::Empty
      Src: /src/cryptofuzz/options.cpp:31,1
    - Dst: begin
      Src: /src/cryptofuzz/options.cpp:33,1
    - Dst: std::advance
      Src: /src/cryptofuzz/options.cpp:34,1
    - Dst: size
      Src: /src/cryptofuzz/options.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: cryptofuzz::EnabledTypes::At
    functionSourceFile: /src/cryptofuzz/options.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::EnabledTypes::Empty
    - CF_ASSERT
    - begin
    - size
    - std::advance
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t EnabledTypes::At(const size_t index) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/cryptofuzz/options.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: cryptofuzz::EnabledTypes::Empty
    functionSourceFile: /src/cryptofuzz/options.cpp
    functionUses: 1
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EnabledTypes::Empty(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/cryptofuzz/options.cpp:45,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:45,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:46,1
    - Dst: printf
      Src: /src/cryptofuzz/options.cpp:47,1
    - Dst: abort
      Src: /src/cryptofuzz/options.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - calcOp
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: cryptofuzz::Options::calcOpToBase
    functionSourceFile: /src/cryptofuzz/options.cpp
    functionUses: 0
    functionsReached:
    - Botan::Kyber_Symmetric_Primitives::G_split
    - printf
    - std::vector::empty
    - abort
    - Botan::CT::Mask::is_any_of
    linkageType: ''
    returnType: std::string
    signature: std::string Options::calcOpToBase(const std::string calcOp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/options.cpp:55,1
    - Dst: std::string
      Src: /src/cryptofuzz/options.cpp:55,1
    - Dst: insert
      Src: /src/cryptofuzz/options.cpp:58,1
    - Dst: end
      Src: /src/cryptofuzz/options.cpp:58,1
    - Dst: std::vector<std::string>::begin
      Src: /src/cryptofuzz/options.cpp:58,1
    - Dst: std::vector<std::string>::end
      Src: /src/cryptofuzz/options.cpp:58,1
    - Dst: size
      Src: /src/cryptofuzz/options.cpp:60,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/cryptofuzz/options.cpp:63,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:63,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:67,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:68,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:70,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/cryptofuzz/options.cpp:74,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:74,1
    - Dst: boost::iequals
      Src: /src/cryptofuzz/options.cpp:79,1
    - Dst: std::string
      Src: /src/cryptofuzz/options.cpp:79,1
    - Dst: cryptofuzz::Options::operations::Add
      Src: /src/cryptofuzz/options.cpp:80,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:88,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:91,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:92,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:94,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/cryptofuzz/options.cpp:98,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:98,1
    - Dst: boost::iequals
      Src: /src/cryptofuzz/options.cpp:103,1
    - Dst: std::string
      Src: /src/cryptofuzz/options.cpp:103,1
    - Dst: cryptofuzz::Options::ciphers::Add
      Src: /src/cryptofuzz/options.cpp:104,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:112,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:115,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:116,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:118,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/cryptofuzz/options.cpp:122,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:122,1
    - Dst: boost::iequals
      Src: /src/cryptofuzz/options.cpp:127,1
    - Dst: std::string
      Src: /src/cryptofuzz/options.cpp:127,1
    - Dst: cryptofuzz::Options::digests::Add
      Src: /src/cryptofuzz/options.cpp:128,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:136,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:139,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:140,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:142,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/cryptofuzz/options.cpp:146,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:146,1
    - Dst: boost::iequals
      Src: /src/cryptofuzz/options.cpp:151,1
    - Dst: std::string
      Src: /src/cryptofuzz/options.cpp:151,1
    - Dst: cryptofuzz::Options::curves::Add
      Src: /src/cryptofuzz/options.cpp:152,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:160,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:163,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:164,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:166,1
    - Dst: boost::iequals
      Src: /src/cryptofuzz/options.cpp:174,1
    - Dst: std::string
      Src: /src/cryptofuzz/options.cpp:174,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:183,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:187,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:188,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:190,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/cryptofuzz/options.cpp:194,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:194,1
    - Dst: boost::iequals
      Src: /src/cryptofuzz/options.cpp:199,1
    - Dst: std::string
      Src: /src/cryptofuzz/options.cpp:199,1
    - Dst: cryptofuzz::Options::disableModules::Add
      Src: /src/cryptofuzz/options.cpp:200,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:208,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:211,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:212,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:214,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/cryptofuzz/options.cpp:218,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:218,1
    - Dst: boost::iequals
      Src: /src/cryptofuzz/options.cpp:223,1
    - Dst: cryptofuzz::Options::calcOpToBase
      Src: /src/cryptofuzz/options.cpp:223,1
    - Dst: cryptofuzz::Options::calcOps::Add
      Src: /src/cryptofuzz/options.cpp:224,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:232,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:235,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:236,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:238,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:245,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/options.cpp:248,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:249,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:250,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:252,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:255,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:256,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:258,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:261,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:262,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:264,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:267,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:268,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:270,1
    - Dst: fopen
      Src: /src/cryptofuzz/options.cpp:275,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/options.cpp:275,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:278,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:281,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:282,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:284,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/cryptofuzz/options.cpp:288,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:288,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:290,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:292,1
    - Dst: Wycheproof::Run
      Src: /src/cryptofuzz/options.cpp:296,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:298,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:300,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:301,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:303,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/cryptofuzz/options.cpp:307,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:307,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:309,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:311,1
    - Dst: ECC_Diff_Fuzzer_Importer::Run
      Src: /src/cryptofuzz/options.cpp:315,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:317,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:320,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:321,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:323,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/cryptofuzz/options.cpp:327,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:327,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:329,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:331,1
    - Dst: ECC_Diff_Fuzzer_Exporter::Run
      Src: /src/cryptofuzz/options.cpp:335,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:337,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:339,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:340,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:342,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/cryptofuzz/options.cpp:346,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:346,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:348,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:350,1
    - Dst: cryptofuzz::repository::ECC_CurveFromString
      Src: /src/cryptofuzz/options.cpp:353,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/options.cpp:354,1
    - Dst: Botan_Importer::Run
      Src: /src/cryptofuzz/options.cpp:357,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:359,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:360,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:361,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:363,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/cryptofuzz/options.cpp:367,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:367,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:369,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:371,1
    - Dst: OpenSSL_Importer::Run
      Src: /src/cryptofuzz/options.cpp:375,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:377,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:378,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:379,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:381,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/cryptofuzz/options.cpp:385,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:385,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:387,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:389,1
    - Dst: Builtin_tests_importer::Run
      Src: /src/cryptofuzz/options.cpp:393,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:395,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/options.cpp:396,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:397,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:399,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/cryptofuzz/options.cpp:403,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/options.cpp:403,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/options.cpp:405,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:407,1
    - Dst: Bignum_Fuzzer_Importer::Run
      Src: /src/cryptofuzz/options.cpp:411,1
    - Dst: exit
      Src: /src/cryptofuzz/options.cpp:413,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 278
    argCount: 3
    argNames:
    - argc
    - argv
    - extraArguments
    argTypes:
    - int
    - char**
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 416
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 416
    functionName: cryptofuzz::Options::Options
    functionSourceFile: /src/cryptofuzz/options.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - cryptofuzz::Options::operations::Add
    - cryptofuzz::Options::ciphers::Add
    - static_cast<size_t>
    - cryptofuzz::Options::disableModules::Add
    - insert
    - std::vector::empty
    - Wycheproof::Run
    - std::vector<std::string>::end
    - ECC_Diff_Fuzzer_Exporter::Run
    - Botan::CT::Mask::is_any_of
    - fopen
    - Botan::Kyber_Symmetric_Primitives::G_split
    - std::string
    - size
    - end
    - cryptofuzz::repository::ECC_CurveFromString
    - OpenSSL_Importer::Run
    - push_back
    - auto::c_str
    - cryptofuzz::Options::curves::Add
    - Botan_Importer::Run
    - cryptofuzz::Options::calcOps::Add
    - Builtin_tests_importer::Run
    - std::vector<std::string>::begin
    - CF_ASSERT
    - exit
    - Bignum_Fuzzer_Importer::Run
    - cryptofuzz::Options::calcOpToBase
    - ECC_Diff_Fuzzer_Importer::Run
    - boost::iequals
    - cryptofuzz::Options::digests::Add
    linkageType: ''
    returnType: void
    signature: void Options::Options(const int argc, char** argv, const std::vector<std::string>
      extraArguments)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cryptofuzz/generate_dict.cpp:13,1
    - Dst: fprintf
      Src: /src/cryptofuzz/generate_dict.cpp:15,1
    - Dst: fprintf
      Src: /src/cryptofuzz/generate_dict.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fp
    - val
    argTypes:
    - FILE*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 19
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 19
    functionName: write
    functionSourceFile: /src/cryptofuzz/generate_dict.cpp
    functionUses: 96
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write(FILE* fp, uint64_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/cryptofuzz/generate_dict.cpp:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - fp
    - ' map'
    argTypes:
    - FILE*
    - T
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: writeMap
    functionSourceFile: /src/cryptofuzz/generate_dict.cpp
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: void
    signature: void writeMap(FILE* fp, const T& map)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/generate_dict.cpp:30,1
    - Dst: abort
      Src: /src/cryptofuzz/generate_dict.cpp:31,1
    - Dst: std::setfill
      Src: /src/cryptofuzz/generate_dict.cpp:40,1
    - Dst: std::setw
      Src: /src/cryptofuzz/generate_dict.cpp:40,1
    - Dst: fprintf
      Src: /src/cryptofuzz/generate_dict.cpp:48,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/generate_dict.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - fp
    - size
    argTypes:
    - FILE*
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: writeBuffer
    functionSourceFile: /src/cryptofuzz/generate_dict.cpp
    functionUses: 0
    functionsReached:
    - printf
    - std::setfill
    - abort
    - fprintf
    - std::stringstream::str
    - std::setw
    linkageType: ''
    returnType: void
    signature: void writeBuffer(FILE* fp, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/generate_dict.cpp:55,1
    - Dst: writeMap
      Src: /src/cryptofuzz/generate_dict.cpp:57,1
    - Dst: writeMap
      Src: /src/cryptofuzz/generate_dict.cpp:58,1
    - Dst: writeMap
      Src: /src/cryptofuzz/generate_dict.cpp:59,1
    - Dst: writeMap
      Src: /src/cryptofuzz/generate_dict.cpp:60,1
    - Dst: writeMap
      Src: /src/cryptofuzz/generate_dict.cpp:61,1
    - Dst: writeMap
      Src: /src/cryptofuzz/generate_dict.cpp:62,1
    - Dst: writeBuffer
      Src: /src/cryptofuzz/generate_dict.cpp:67,1
    - Dst: fclose
      Src: /src/cryptofuzz/generate_dict.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/cryptofuzz/generate_dict.cpp
    functionUses: 97
    functionsReached:
    - fclose
    - writeMap
    - writeBuffer
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:13,1
    - Dst: cryptofuzz::util::abort
      Src: /src/cryptofuzz/tests.cpp:15,1
    - Dst: Name
      Src: /src/cryptofuzz/tests.cpp:15,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - OperationType
    - ResultType
    constantsTouched: []
    func_position:
      end: 17
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 17
    functionName: cryptofuzz::tests::verifyKeySize
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::abort
    - Name
    - GetSize
    linkageType: ''
    returnType: void
    signature: void verifyKeySize(const OperationType& op, const ResultType& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:24,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:25,1
    - Dst: Get
      Src: /src/cryptofuzz/tests.cpp:26,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:27,1
    - Dst: abort
      Src: /src/cryptofuzz/tests.cpp:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - std::optional<Buffer>
    constantsTouched: []
    func_position:
      end: 31
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 31
    functionName: cryptofuzz::tests::checkZeroResult
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - Get
    - abort
    - printf
    - GetSize
    linkageType: ''
    returnType: void
    signature: void checkZeroResult(const std::optional<Buffer>& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestSize
      Src: /src/cryptofuzz/tests.cpp:39,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/tests.cpp:39,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:42,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:43,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:43,1
    - Dst: abort
      Src: /src/cryptofuzz/tests.cpp:44,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/tests.cpp:50,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/tests.cpp:50,1
    - Dst: Get
      Src: /src/cryptofuzz/tests.cpp:132,1
    - Dst: abort
      Src: /src/cryptofuzz/tests.cpp:132,1
    - Dst: cryptofuzz::tests::checkZeroResult
      Src: /src/cryptofuzz/tests.cpp:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::Digest
    - std::optional<component::Digest>
    constantsTouched: []
    func_position:
      end: 138
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 138
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - printf
    - cryptofuzz::repository::DigestSize
    - digestType::Get
    - digestType::Is
    - cryptofuzz::tests::checkZeroResult
    - abort
    - CF_DIGEST
    - GetSize
    - Get
    linkageType: ''
    returnType: void
    signature: void test(const operation::Digest& op, const std::optional<component::Digest>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestSize
      Src: /src/cryptofuzz/tests.cpp:146,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/tests.cpp:146,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:149,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:150,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:150,1
    - Dst: abort
      Src: /src/cryptofuzz/tests.cpp:151,1
    - Dst: cryptofuzz::tests::checkZeroResult
      Src: /src/cryptofuzz/tests.cpp:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::HMAC
    - std::optional<component::MAC>
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - printf
    - cryptofuzz::repository::DigestSize
    - digestType::Get
    - cryptofuzz::tests::checkZeroResult
    - abort
    - GetSize
    linkageType: ''
    returnType: void
    signature: void test(const operation::HMAC& op, const std::optional<component::MAC>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:165,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:166,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:167,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:168,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:170,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:170,1
    - Dst: abort
      Src: /src/cryptofuzz/tests.cpp:171,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::UMAC
    - std::optional<component::MAC>
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - abort
    - printf
    - GetSize
    linkageType: ''
    returnType: void
    signature: void test(const operation::UMAC& op, const std::optional<component::MAC>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/tests.cpp:183,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/tests.cpp:183,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/tests.cpp:191,1
    - Dst: abort
      Src: /src/cryptofuzz/tests.cpp:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::SymmetricEncrypt
    - std::optional<component::Ciphertext>
    constantsTouched: []
    func_position:
      end: 194
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 194
    functionName: cryptofuzz::tests::test_ChaCha20_Poly1305_IV
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - abort
    - CF_CIPHER
    - cipher::iv::GetSize
    linkageType: ''
    returnType: void
    signature: void test_ChaCha20_Poly1305_IV(const operation::SymmetricEncrypt& op,
      const std::optional<component::Ciphertext>& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/tests.cpp:199,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/tests.cpp:199,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/tests.cpp:207,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:208,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/tests.cpp:208,1
    - Dst: abort
      Src: /src/cryptofuzz/tests.cpp:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::SymmetricEncrypt
    - std::optional<component::Ciphertext>
    constantsTouched: []
    func_position:
      end: 211
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 211
    functionName: cryptofuzz::tests::test_XChaCha20_Poly1305_IV
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - printf
    - cipher::cipherType::Get
    - CF_CIPHER
    - cipher::iv::GetSize
    - abort
    linkageType: ''
    returnType: void
    signature: void test_XChaCha20_Poly1305_IV(const operation::SymmetricEncrypt&
      op, const std::optional<component::Ciphertext>& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/tests.cpp:220,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/tests.cpp:221,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/tests.cpp:222,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/tests.cpp:223,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/tests.cpp:229,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/tests.cpp:229,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:230,1
    - Dst: find
      Src: /src/cryptofuzz/tests.cpp:237,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/tests.cpp:237,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/tests.cpp:237,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/tests.cpp:237,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/tests.cpp:237,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:238,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:244,1
    - Dst: abort
      Src: /src/cryptofuzz/tests.cpp:245,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::SymmetricEncrypt
    - std::optional<component::Ciphertext>
    constantsTouched: []
    func_position:
      end: 247
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 247
    functionName: cryptofuzz::tests::test_AES_CCM_Wycheproof
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - tag::GetSize
    - printf
    - cipher::cipherType::Get
    - std::vector::begin
    - CF_CIPHER
    - cipher::iv::GetSize
    - abort
    - find
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void test_AES_CCM_Wycheproof(const operation::SymmetricEncrypt& op,
      const std::optional<component::Ciphertext>& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/tests.cpp:256,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/tests.cpp:257,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/tests.cpp:258,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/tests.cpp:259,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/tests.cpp:265,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:266,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:271,1
    - Dst: abort
      Src: /src/cryptofuzz/tests.cpp:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::SymmetricEncrypt
    - std::optional<component::Ciphertext>
    constantsTouched: []
    func_position:
      end: 274
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 274
    functionName: cryptofuzz::tests::test_AES_GCM_Wycheproof
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - printf
    - cipher::cipherType::Get
    - CF_CIPHER
    - cipher::iv::GetSize
    - abort
    linkageType: ''
    returnType: void
    signature: void test_AES_GCM_Wycheproof(const operation::SymmetricEncrypt& op,
      const std::optional<component::Ciphertext>& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_ChaCha20_Poly1305_IV
      Src: /src/cryptofuzz/tests.cpp:277,1
    - Dst: cryptofuzz::tests::test_XChaCha20_Poly1305_IV
      Src: /src/cryptofuzz/tests.cpp:278,1
    - Dst: cryptofuzz::tests::test_AES_CCM_Wycheproof
      Src: /src/cryptofuzz/tests.cpp:279,1
    - Dst: cryptofuzz::tests::test_AES_GCM_Wycheproof
      Src: /src/cryptofuzz/tests.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::SymmetricEncrypt
    - std::optional<component::Ciphertext>
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::test_AES_CCM_Wycheproof
    - cryptofuzz::tests::test_AES_GCM_Wycheproof
    - cryptofuzz::tests::test_XChaCha20_Poly1305_IV
    - cryptofuzz::tests::test_ChaCha20_Poly1305_IV
    linkageType: ''
    returnType: void
    signature: void test(const operation::SymmetricEncrypt& op, const std::optional<component::Ciphertext>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::SymmetricDecrypt
    - std::optional<component::Cleartext>
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::SymmetricDecrypt& op, const std::optional<component::Cleartext>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::CMAC
    - std::optional<component::MAC>
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::CMAC& op, const std::optional<component::MAC>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_SCRYPT
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_SCRYPT& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::DigestSize
      Src: /src/cryptofuzz/tests.cpp:302,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/tests.cpp:302,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:310,1
    - Dst: printf
      Src: /src/cryptofuzz/tests.cpp:311,1
    - Dst: GetSize
      Src: /src/cryptofuzz/tests.cpp:311,1
    - Dst: abort
      Src: /src/cryptofuzz/tests.cpp:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_HKDF
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 314
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 314
    functionName: cryptofuzz::tests::test_HKDF_OutputSize
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - printf
    - cryptofuzz::repository::DigestSize
    - digestType::Get
    - abort
    - GetSize
    linkageType: ''
    returnType: void
    signature: void test_HKDF_OutputSize(const operation::KDF_HKDF& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:317,1
    - Dst: cryptofuzz::tests::test_HKDF_OutputSize
      Src: /src/cryptofuzz/tests.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_HKDF
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    - cryptofuzz::tests::test_HKDF_OutputSize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_HKDF& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_TLS1_PRF
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_TLS1_PRF& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_PBKDF
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_PBKDF& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_PBKDF1
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_PBKDF1& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_PBKDF2
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_PBKDF2& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_ARGON2
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_ARGON2& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_SSH
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_SSH& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_X963
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_X963& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_BCRYPT
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_BCRYPT& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::verifyKeySize
      Src: /src/cryptofuzz/tests.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_SP_800_108
    - std::optional<component::Key>
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::verifyKeySize
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_SP_800_108& op, const std::optional<component::Key>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_SRTP
    - std::optional<component::Key3>
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_SRTP& op, const std::optional<component::Key3>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::KDF_SRTCP
    - std::optional<component::Key3>
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::KDF_SRTCP& op, const std::optional<component::Key3>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/tests.cpp:370,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/tests.cpp:371,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/tests.cpp:372,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/tests.cpp:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - curveID
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: cryptofuzz::tests::IsSpecialCurve
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    linkageType: ''
    returnType: bool
    signature: bool IsSpecialCurve(const uint64_t curveID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::IsSpecialCurve
      Src: /src/cryptofuzz/tests.cpp:385,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - curveID
    - priv
    argTypes:
    - uint64_t
    - std::string
    constantsTouched: []
    func_position:
      end: 393
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 393
    functionName: cryptofuzz::tests::test_ECC_PrivateKey
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - cryptofuzz::tests::IsSpecialCurve
    linkageType: ''
    returnType: void
    signature: void test_ECC_PrivateKey(const uint64_t curveID, const std::string
      priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/tests.cpp:398,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:398,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECC_PrivateToPublic
    - std::optional<component::ECC_PublicKey>
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - priv::ToTrimmedString
    - cryptofuzz::tests::test_ECC_PrivateKey
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECC_PrivateToPublic& op, const std::optional<component::ECC_PublicKey>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECC_ValidatePubkey
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECC_ValidatePubkey& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/tests.cpp:409,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:409,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECC_GenerateKeyPair
    - std::optional<component::ECC_KeyPair>
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - priv::ToTrimmedString
    - cryptofuzz::tests::test_ECC_PrivateKey
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECC_GenerateKeyPair& op, const std::optional<component::ECC_KeyPair>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::IsSpecialCurve
      Src: /src/cryptofuzz/tests.cpp:414,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:422,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:426,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/tests.cpp:429,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:438,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - curveID
    - R
    - S
    argTypes:
    - uint64_t
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 445
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 445
    functionName: cryptofuzz::tests::test_ECDSA_Signature
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - cryptofuzz::tests::IsSpecialCurve
    - cryptofuzz::repository::ECC_CurveToOrder
    linkageType: ''
    returnType: void
    signature: void test_ECDSA_Signature(const uint64_t curveID, const std::string
      R, const std::string S)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:452,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:456,1
    - Dst: cryptofuzz::repository::ECC_CurveToPrime
      Src: /src/cryptofuzz/tests.cpp:459,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/tests.cpp:462,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/tests.cpp:465,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/tests.cpp:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - curveID
    - R
    - S
    argTypes:
    - uint64_t
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 470
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 470
    functionName: cryptofuzz::tests::test_BIP340_Schnorr_Signature
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - cryptofuzz::repository::ECC_CurveToOrder
    - CF_ASSERT
    - cryptofuzz::repository::ECC_CurveToPrime
    linkageType: ''
    returnType: void
    signature: void test_BIP340_Schnorr_Signature(const uint64_t curveID, const std::string
      R, const std::string S)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECCSI_Sign
    - std::optional<component::ECCSI_Signature>
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECCSI_Sign& op, const std::optional<component::ECCSI_Signature>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/tests.cpp:478,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:478,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:478,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/tests.cpp:481,1
    - Dst: cryptofuzz::tests::IsSpecialCurve
      Src: /src/cryptofuzz/tests.cpp:482,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:482,1
    - Dst: nonce::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:483,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:486,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/tests.cpp:489,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:489,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:490,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECDSA_Sign
    - std::optional<component::ECDSA_Signature>
    constantsTouched: []
    func_position:
      end: 493
      start: 476
    functionDepth: 3
    functionLinenumber: 476
    functionLinenumberEnd: 493
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::IsSpecialCurve
    - UseSpecifiedNonce
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - priv::ToTrimmedString
    - signature::first::ToTrimmedString
    - signature::second::ToTrimmedString
    - curveType::Get
    - nonce::ToTrimmedString
    - cryptofuzz::tests::test_ECDSA_Signature
    - cryptofuzz::tests::test_ECC_PrivateKey
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECDSA_Sign& op, const std::optional<component::ECDSA_Signature>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/tests.cpp:497,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:497,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:497,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/tests.cpp:500,1
    - Dst: cryptofuzz::tests::IsSpecialCurve
      Src: /src/cryptofuzz/tests.cpp:501,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:501,1
    - Dst: nonce::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:502,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:505,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/tests.cpp:508,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:508,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:509,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECGDSA_Sign
    - std::optional<component::ECGDSA_Signature>
    constantsTouched: []
    func_position:
      end: 512
      start: 495
    functionDepth: 3
    functionLinenumber: 495
    functionLinenumberEnd: 512
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::IsSpecialCurve
    - UseSpecifiedNonce
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - priv::ToTrimmedString
    - signature::first::ToTrimmedString
    - signature::second::ToTrimmedString
    - curveType::Get
    - nonce::ToTrimmedString
    - cryptofuzz::tests::test_ECDSA_Signature
    - cryptofuzz::tests::test_ECC_PrivateKey
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECGDSA_Sign& op, const std::optional<component::ECGDSA_Signature>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/tests.cpp:516,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:516,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:516,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/tests.cpp:519,1
    - Dst: cryptofuzz::tests::IsSpecialCurve
      Src: /src/cryptofuzz/tests.cpp:520,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:520,1
    - Dst: nonce::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:521,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:524,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/tests.cpp:527,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:527,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:528,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECRDSA_Sign
    - std::optional<component::ECRDSA_Signature>
    constantsTouched: []
    func_position:
      end: 531
      start: 514
    functionDepth: 3
    functionLinenumber: 514
    functionLinenumberEnd: 531
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::IsSpecialCurve
    - UseSpecifiedNonce
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - priv::ToTrimmedString
    - signature::first::ToTrimmedString
    - signature::second::ToTrimmedString
    - curveType::Get
    - nonce::ToTrimmedString
    - cryptofuzz::tests::test_ECDSA_Signature
    - cryptofuzz::tests::test_ECC_PrivateKey
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECRDSA_Sign& op, const std::optional<component::ECRDSA_Signature>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_ECC_PrivateKey
      Src: /src/cryptofuzz/tests.cpp:535,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:535,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:535,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/tests.cpp:538,1
    - Dst: cryptofuzz::tests::IsSpecialCurve
      Src: /src/cryptofuzz/tests.cpp:539,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:539,1
    - Dst: nonce::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:540,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:543,1
    - Dst: cryptofuzz::tests::test_BIP340_Schnorr_Signature
      Src: /src/cryptofuzz/tests.cpp:546,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:546,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:547,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::Schnorr_Sign
    - std::optional<component::Schnorr_Signature>
    constantsTouched: []
    func_position:
      end: 550
      start: 533
    functionDepth: 3
    functionLinenumber: 533
    functionLinenumberEnd: 550
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::test_BIP340_Schnorr_Signature
    - cryptofuzz::tests::IsSpecialCurve
    - UseSpecifiedNonce
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - priv::ToTrimmedString
    - signature::first::ToTrimmedString
    - signature::second::ToTrimmedString
    - curveType::Get
    - nonce::ToTrimmedString
    - cryptofuzz::tests::test_ECC_PrivateKey
    linkageType: ''
    returnType: void
    signature: void test(const operation::Schnorr_Sign& op, const std::optional<component::Schnorr_Signature>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECCSI_Verify
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECCSI_Verify& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/tests.cpp:559,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:559,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:560,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECDSA_Verify
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 563
      start: 557
    functionDepth: 3
    functionLinenumber: 557
    functionLinenumberEnd: 563
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - signature::signature::second::ToTrimmedString
    - signature::signature::first::ToTrimmedString
    - cryptofuzz::tests::test_ECDSA_Signature
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECDSA_Verify& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/tests.cpp:567,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:567,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:568,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECGDSA_Verify
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 571
      start: 565
    functionDepth: 3
    functionLinenumber: 565
    functionLinenumberEnd: 571
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - signature::signature::second::ToTrimmedString
    - signature::signature::first::ToTrimmedString
    - cryptofuzz::tests::test_ECDSA_Signature
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECGDSA_Verify& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/tests.cpp:575,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:575,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:576,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECRDSA_Verify
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 579
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 579
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - signature::signature::second::ToTrimmedString
    - signature::signature::first::ToTrimmedString
    - cryptofuzz::tests::test_ECDSA_Signature
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECRDSA_Verify& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::test_BIP340_Schnorr_Signature
      Src: /src/cryptofuzz/tests.cpp:583,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:583,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:584,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::Schnorr_Verify
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 587
      start: 581
    functionDepth: 3
    functionLinenumber: 581
    functionLinenumberEnd: 587
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::test_BIP340_Schnorr_Signature
    - curveType::Get
    - signature::signature::first::ToTrimmedString
    - signature::signature::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void test(const operation::Schnorr_Verify& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:593,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/tests.cpp:597,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/tests.cpp:597,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:598,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECDSA_Recover
    - std::optional<component::ECC_PublicKey>
    constantsTouched: []
    func_position:
      end: 601
      start: 589
    functionDepth: 3
    functionLinenumber: 589
    functionLinenumberEnd: 601
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - signature::first::ToTrimmedString
    - signature::second::ToTrimmedString
    - curveType::Get
    - cryptofuzz::tests::test_ECDSA_Signature
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECDSA_Recover& op, const std::optional<component::ECC_PublicKey>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signature::first::IsPositive
      Src: /src/cryptofuzz/tests.cpp:610,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:612,1
    - Dst: signature::second::IsPositive
      Src: /src/cryptofuzz/tests.cpp:614,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:616,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:620,1
    - Dst: parameters::q::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:620,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:622,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:625,1
    - Dst: parameters::q::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:625,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:627,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::DSA_Verify
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 629
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 629
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - signature::first::IsPositive
    - parameters::q::ToTrimmedString
    - signature::first::ToTrimmedString
    - signature::second::ToTrimmedString
    - signature::second::IsPositive
    linkageType: ''
    returnType: void
    signature: void test(const operation::DSA_Verify& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signature::first::IsPositive
      Src: /src/cryptofuzz/tests.cpp:636,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:638,1
    - Dst: signature::second::IsPositive
      Src: /src/cryptofuzz/tests.cpp:640,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:642,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:646,1
    - Dst: parameters::q::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:646,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:648,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:651,1
    - Dst: parameters::q::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:651,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:653,1
    - Dst: signature::first::IsPositive
      Src: /src/cryptofuzz/tests.cpp:657,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:659,1
    - Dst: signature::second::IsPositive
      Src: /src/cryptofuzz/tests.cpp:662,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:664,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::DSA_Sign
    - std::optional<component::DSA_Signature>
    constantsTouched: []
    func_position:
      end: 666
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 666
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - signature::first::IsPositive
    - parameters::q::ToTrimmedString
    - signature::first::ToTrimmedString
    - signature::second::ToTrimmedString
    - signature::second::IsPositive
    linkageType: ''
    returnType: void
    signature: void test(const operation::DSA_Sign& op, const std::optional<component::DSA_Signature>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/cryptofuzz/tests.cpp:669,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - num
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 682
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 682
    functionName: cryptofuzz::tests::isComposite
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    linkageType: ''
    returnType: bool
    signature: bool isComposite(const std::string &num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p::IsPositive
      Src: /src/cryptofuzz/tests.cpp:693,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:695,1
    - Dst: q::IsPositive
      Src: /src/cryptofuzz/tests.cpp:697,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:699,1
    - Dst: g::IsPositive
      Src: /src/cryptofuzz/tests.cpp:701,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:703,1
    - Dst: q::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:707,1
    - Dst: p::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:707,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:709,1
    - Dst: q::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:713,1
    - Dst: p::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:713,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:715,1
    - Dst: p::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:719,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:721,1
    - Dst: cryptofuzz::tests::isComposite
      Src: /src/cryptofuzz/tests.cpp:725,1
    - Dst: p::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:725,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:727,1
    - Dst: cryptofuzz::tests::isComposite
      Src: /src/cryptofuzz/tests.cpp:730,1
    - Dst: q::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:730,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:732,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::DSA_GenerateParameters
    - std::optional<component::DSA_Parameters>
    constantsTouched: []
    func_position:
      end: 734
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 734
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - g::IsPositive
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - q::IsPositive
    - cryptofuzz::tests::isComposite
    - q::ToTrimmedString
    - p::IsPositive
    - p::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void test(const operation::DSA_GenerateParameters& op, const std::optional<component::DSA_Parameters>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::DSA_PrivateToPublic
    - std::optional<component::Bignum>
    constantsTouched: []
    func_position:
      end: 739
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 739
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::DSA_PrivateToPublic& op, const std::optional<component::Bignum>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first::IsPositive
      Src: /src/cryptofuzz/tests.cpp:746,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:748,1
    - Dst: first::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:752,1
    - Dst: q::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:752,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::DSA_GenerateKeyPair
    - std::optional<component::DSA_KeyPair>
    constantsTouched: []
    func_position:
      end: 756
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 756
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - first::ToTrimmedString
    - first::IsPositive
    - q::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void test(const operation::DSA_GenerateKeyPair& op, const std::optional<component::DSA_KeyPair>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECDH_Derive
    - std::optional<component::Secret>
    constantsTouched: []
    func_position:
      end: 761
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 761
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECDH_Derive& op, const std::optional<component::Secret>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECIES_Encrypt
    - std::optional<component::Ciphertext>
    constantsTouched: []
    func_position:
      end: 767
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 767
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECIES_Encrypt& op, const std::optional<component::Ciphertext>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECIES_Decrypt
    - std::optional<component::Cleartext>
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECIES_Decrypt& op, const std::optional<component::Cleartext>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECC_Point_Add
    - std::optional<component::ECC_Point>
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECC_Point_Add& op, const std::optional<component::ECC_Point>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first::IsZero
      Src: /src/cryptofuzz/tests.cpp:792,1
    - Dst: second::IsZero
      Src: /src/cryptofuzz/tests.cpp:792,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:794,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECC_Point_Sub
    - std::optional<component::ECC_Point>
    constantsTouched: []
    func_position:
      end: 796
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 796
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - first::IsZero
    - second::IsZero
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECC_Point_Sub& op, const std::optional<component::ECC_Point>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECC_Point_Mul
    - std::optional<component::ECC_Point>
    constantsTouched: []
    func_position:
      end: 801
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 801
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECC_Point_Mul& op, const std::optional<component::ECC_Point>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECC_Point_Neg
    - std::optional<component::ECC_Point>
    constantsTouched: []
    func_position:
      end: 806
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 806
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECC_Point_Neg& op, const std::optional<component::ECC_Point>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECC_Point_Dbl
    - std::optional<component::ECC_Point>
    constantsTouched: []
    func_position:
      end: 811
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 811
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECC_Point_Dbl& op, const std::optional<component::ECC_Point>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::ECC_Point_Cmp
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 816
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 816
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::ECC_Point_Cmp& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::DH_GenerateKeyPair
    - std::optional<component::DH_KeyPair>
    constantsTouched: []
    func_position:
      end: 821
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 821
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::DH_GenerateKeyPair& op, const std::optional<component::DH_KeyPair>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::DH_Derive
    - std::optional<component::Bignum>
    constantsTouched: []
    func_position:
      end: 826
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 826
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::DH_Derive& op, const std::optional<component::Bignum>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_PrivateToPublic
    - std::optional<component::BLS_PublicKey>
    constantsTouched: []
    func_position:
      end: 831
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 831
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_PrivateToPublic& op, const std::optional<component::BLS_PublicKey>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_PrivateToPublic_G2
    - std::optional<component::G2>
    constantsTouched: []
    func_position:
      end: 836
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 836
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_PrivateToPublic_G2& op, const std::optional<component::G2>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_Sign
    - std::optional<component::BLS_Signature>
    constantsTouched: []
    func_position:
      end: 841
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 841
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_Sign& op, const std::optional<component::BLS_Signature>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_Verify
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_Verify& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_BatchSign
    - std::optional<component::BLS_BatchSignature>
    constantsTouched: []
    func_position:
      end: 851
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 851
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_BatchSign& op, const std::optional<component::BLS_BatchSignature>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_BatchVerify
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 856
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 856
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_BatchVerify& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_Aggregate_G1
    - std::optional<component::G1>
    constantsTouched: []
    func_position:
      end: 861
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 861
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_Aggregate_G1& op, const std::optional<component::G1>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_Aggregate_G2
    - std::optional<component::G2>
    constantsTouched: []
    func_position:
      end: 866
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 866
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_Aggregate_G2& op, const std::optional<component::G2>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_Pairing
    - std::optional<component::Fp12>
    constantsTouched: []
    func_position:
      end: 871
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 871
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_Pairing& op, const std::optional<component::Fp12>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_MillerLoop
    - std::optional<component::Fp12>
    constantsTouched: []
    func_position:
      end: 876
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 876
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_MillerLoop& op, const std::optional<component::Fp12>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_FinalExp
    - std::optional<component::Fp12>
    constantsTouched: []
    func_position:
      end: 881
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 881
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_FinalExp& op, const std::optional<component::Fp12>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_HashToG1
    - std::optional<component::G1>
    constantsTouched: []
    func_position:
      end: 886
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 886
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_HashToG1& op, const std::optional<component::G1>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_HashToG2
    - std::optional<component::G2>
    constantsTouched: []
    func_position:
      end: 891
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 891
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_HashToG2& op, const std::optional<component::G2>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_MapToG1
    - std::optional<component::G1>
    constantsTouched: []
    func_position:
      end: 896
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 896
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_MapToG1& op, const std::optional<component::G1>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_MapToG2
    - std::optional<component::G2>
    constantsTouched: []
    func_position:
      end: 901
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 901
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_MapToG2& op, const std::optional<component::G2>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_IsG1OnCurve
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 906
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 906
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_IsG1OnCurve& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_IsG2OnCurve
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 911
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 911
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_IsG2OnCurve& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_GenerateKeyPair
    - std::optional<component::BLS_KeyPair>
    constantsTouched: []
    func_position:
      end: 916
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 916
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_GenerateKeyPair& op, const std::optional<component::BLS_KeyPair>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_Decompress_G1
    - std::optional<component::G1>
    constantsTouched: []
    func_position:
      end: 921
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 921
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_Decompress_G1& op, const std::optional<component::G1>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_Compress_G1
    - std::optional<component::Bignum>
    constantsTouched: []
    func_position:
      end: 926
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 926
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_Compress_G1& op, const std::optional<component::Bignum>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_Decompress_G2
    - std::optional<component::G2>
    constantsTouched: []
    func_position:
      end: 931
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 931
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_Decompress_G2& op, const std::optional<component::G2>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_Compress_G2
    - std::optional<component::G1>
    constantsTouched: []
    func_position:
      end: 936
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 936
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_Compress_G2& op, const std::optional<component::G1>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_G1_Add
    - std::optional<component::G1>
    constantsTouched: []
    func_position:
      end: 941
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 941
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_G1_Add& op, const std::optional<component::G1>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_G1_Mul
    - std::optional<component::G1>
    constantsTouched: []
    func_position:
      end: 946
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 946
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_G1_Mul& op, const std::optional<component::G1>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_G1_IsEq
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 951
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 951
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_G1_IsEq& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_G1_Neg
    - std::optional<component::G1>
    constantsTouched: []
    func_position:
      end: 956
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 956
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_G1_Neg& op, const std::optional<component::G1>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_G2_Add
    - std::optional<component::G2>
    constantsTouched: []
    func_position:
      end: 961
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 961
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_G2_Add& op, const std::optional<component::G2>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_G2_Mul
    - std::optional<component::G2>
    constantsTouched: []
    func_position:
      end: 966
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 966
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_G2_Mul& op, const std::optional<component::G2>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_G2_IsEq
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 971
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 971
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_G2_IsEq& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_G2_Neg
    - std::optional<component::G2>
    constantsTouched: []
    func_position:
      end: 976
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 976
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_G2_Neg& op, const std::optional<component::G2>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BLS_G1_MultiExp
    - std::optional<component::G1>
    constantsTouched: []
    func_position:
      end: 981
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 981
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BLS_G1_MultiExp& op, const std::optional<component::G1>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::Misc
    - std::optional<Buffer>
    constantsTouched: []
    func_position:
      end: 986
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 986
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::Misc& op, const std::optional<Buffer>& result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::SR25519_Verify
    - std::optional<bool>
    constantsTouched: []
    func_position:
      end: 991
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 991
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::SR25519_Verify& op, const std::optional<bool>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/tests.cpp:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' message'
    - ' opStr'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 997
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 997
    functionName: cryptofuzz::tests::BignumCalc::Abort
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    linkageType: ''
    returnType: void
    signature: void Abort(const std::string& message, const std::string& opStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:999,1
    - Dst: cryptofuzz::tests::BignumCalc::Abort
      Src: /src/cryptofuzz/tests.cpp:1001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' result'
    - ' opStr'
    argTypes:
    - component::Bignum
    - std::string
    constantsTouched: []
    func_position:
      end: 1003
      start: 998
    functionDepth: 2
    functionLinenumber: 998
    functionLinenumberEnd: 1003
    functionName: cryptofuzz::tests::BignumCalc::AssertBinary
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - cryptofuzz::tests::BignumCalc::Abort
    linkageType: ''
    returnType: void
    signature: void AssertBinary(const component::Bignum& result, const std::string&
      opStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1005,1
    - Dst: cryptofuzz::tests::BignumCalc::Abort
      Src: /src/cryptofuzz/tests.cpp:1007,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ' result'
    - ' opStr'
    argTypes:
    - component::Bignum
    - std::string
    constantsTouched: []
    func_position:
      end: 1009
      start: 1004
    functionDepth: 2
    functionLinenumber: 1004
    functionLinenumberEnd: 1009
    functionName: cryptofuzz::tests::BignumCalc::AssertTertiary
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - cryptofuzz::tests::BignumCalc::Abort
    linkageType: ''
    returnType: void
    signature: void AssertTertiary(const component::Bignum& result, const std::string&
      opStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1011,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' A'
    - ' B'
    argTypes:
    - component::Bignum
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 1012
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1012
    functionName: cryptofuzz::tests::BignumCalc::IsEqual
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    linkageType: ''
    returnType: bool
    signature: bool IsEqual(const component::Bignum& A, const component::Bignum& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' A'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 1015
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1015
    functionName: cryptofuzz::tests::BignumCalc::IsZero
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    linkageType: ''
    returnType: bool
    signature: bool IsZero(const component::Bignum& A)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1017,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' A'
    - ' B'
    argTypes:
    - component::Bignum
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 1018
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1018
    functionName: cryptofuzz::tests::BignumCalc::SmallerThan
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    linkageType: ''
    returnType: bool
    signature: bool SmallerThan(const component::Bignum& A, const component::Bignum&
      B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1020,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' A'
    - ' B'
    argTypes:
    - component::Bignum
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 1021
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1021
    functionName: cryptofuzz::tests::BignumCalc::LargerThan
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    linkageType: ''
    returnType: bool
    signature: bool LargerThan(const component::Bignum& A, const component::Bignum&
      B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1023,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1024,1
    - Dst: auto::size
      Src: /src/cryptofuzz/tests.cpp:1025,1
    - Dst: auto::size
      Src: /src/cryptofuzz/tests.cpp:1025,1
    - Dst: auto::size
      Src: /src/cryptofuzz/tests.cpp:1028,1
    - Dst: auto::size
      Src: /src/cryptofuzz/tests.cpp:1028,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' A'
    - ' B'
    argTypes:
    - component::Bignum
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 1034
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1034
    functionName: cryptofuzz::tests::BignumCalc::IsEqualOrLargerThan
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - ToTrimmedString
    linkageType: ''
    returnType: bool
    signature: bool IsEqualOrLargerThan(const component::Bignum& A, const component::Bignum&
      B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::BignumCalc::IsEqualOrLargerThan
      Src: /src/cryptofuzz/tests.cpp:1036,1
    - Dst: cryptofuzz::tests::BignumCalc::Abort
      Src: /src/cryptofuzz/tests.cpp:1037,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' result'
    - ' mod'
    - ' opStr'
    argTypes:
    - component::Bignum
    - component::Bignum
    - std::string
    constantsTouched: []
    func_position:
      end: 1039
      start: 1035
    functionDepth: 2
    functionLinenumber: 1035
    functionLinenumberEnd: 1039
    functionName: cryptofuzz::tests::BignumCalc::AssertModResult
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::BignumCalc::IsEqualOrLargerThan
    - cryptofuzz::tests::BignumCalc::Abort
    linkageType: ''
    returnType: void
    signature: void AssertModResult(const component::Bignum& result, const component::Bignum&
      mod, const std::string& opStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::BignumCalc::SmallerThan
      Src: /src/cryptofuzz/tests.cpp:1041,1
    - Dst: cryptofuzz::tests::BignumCalc::Abort
      Src: /src/cryptofuzz/tests.cpp:1042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' result'
    - ' A'
    - ' opStr'
    argTypes:
    - component::Bignum
    - component::Bignum
    - std::string
    constantsTouched: []
    func_position:
      end: 1044
      start: 1040
    functionDepth: 2
    functionLinenumber: 1040
    functionLinenumberEnd: 1044
    functionName: cryptofuzz::tests::BignumCalc::AssertNotSmallerThan
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::BignumCalc::SmallerThan
    - cryptofuzz::tests::BignumCalc::Abort
    linkageType: ''
    returnType: void
    signature: void AssertNotSmallerThan(const component::Bignum& result, const component::Bignum&
      A, const std::string& opStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::BignumCalc::SmallerThan
      Src: /src/cryptofuzz/tests.cpp:1050,1
    - Dst: cryptofuzz::tests::BignumCalc::SmallerThan
      Src: /src/cryptofuzz/tests.cpp:1050,1
    - Dst: cryptofuzz::tests::BignumCalc::Abort
      Src: /src/cryptofuzz/tests.cpp:1051,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ' result'
    - ' A'
    - ' B'
    - ' opStr'
    argTypes:
    - component::Bignum
    - component::Bignum
    - component::Bignum
    - std::string
    constantsTouched: []
    func_position:
      end: 1053
      start: 1045
    functionDepth: 2
    functionLinenumber: 1045
    functionLinenumberEnd: 1053
    functionName: cryptofuzz::tests::BignumCalc::AssertNotSmallerThan
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::BignumCalc::SmallerThan
    - cryptofuzz::tests::BignumCalc::Abort
    linkageType: ''
    returnType: void
    signature: "void AssertNotSmallerThan(\n            const component::Bignum& result,\n
      \           const component::Bignum& A,\n            const component::Bignum&
      B,\n            const std::string& opStr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::BignumCalc::LargerThan
      Src: /src/cryptofuzz/tests.cpp:1055,1
    - Dst: cryptofuzz::tests::BignumCalc::Abort
      Src: /src/cryptofuzz/tests.cpp:1056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' result'
    - ' A'
    - ' opStr'
    argTypes:
    - component::Bignum
    - component::Bignum
    - std::string
    constantsTouched: []
    func_position:
      end: 1058
      start: 1054
    functionDepth: 2
    functionLinenumber: 1054
    functionLinenumberEnd: 1058
    functionName: cryptofuzz::tests::BignumCalc::AssertNotLargerThan
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::BignumCalc::LargerThan
    - cryptofuzz::tests::BignumCalc::Abort
    linkageType: ''
    returnType: void
    signature: void AssertNotLargerThan(const component::Bignum& result, const component::Bignum&
      A, const std::string& opStr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::BignumCalc::LargerThan
      Src: /src/cryptofuzz/tests.cpp:1064,1
    - Dst: cryptofuzz::tests::BignumCalc::LargerThan
      Src: /src/cryptofuzz/tests.cpp:1064,1
    - Dst: cryptofuzz::tests::BignumCalc::Abort
      Src: /src/cryptofuzz/tests.cpp:1065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ' result'
    - ' A'
    - ' B'
    - ' opStr'
    argTypes:
    - component::Bignum
    - component::Bignum
    - component::Bignum
    - std::string
    constantsTouched: []
    func_position:
      end: 1067
      start: 1059
    functionDepth: 2
    functionLinenumber: 1059
    functionLinenumberEnd: 1067
    functionName: cryptofuzz::tests::BignumCalc::AssertNotLargerThan
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::BignumCalc::LargerThan
    - cryptofuzz::tests::BignumCalc::Abort
    linkageType: ''
    returnType: void
    signature: "void AssertNotLargerThan(\n            const component::Bignum& result,\n
      \           const component::Bignum& A,\n            const component::Bignum&
      B,\n            const std::string& opStr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsPositive
      Src: /src/cryptofuzz/tests.cpp:1071,1
    - Dst: cryptofuzz::tests::BignumCalc::Abort
      Src: /src/cryptofuzz/tests.cpp:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' result'
    - ' opStr'
    argTypes:
    - component::Bignum
    - std::string
    constantsTouched: []
    func_position:
      end: 1074
      start: 1068
    functionDepth: 2
    functionLinenumber: 1068
    functionLinenumberEnd: 1074
    functionName: cryptofuzz::tests::BignumCalc::AssertPositive
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - IsPositive
    - cryptofuzz::tests::BignumCalc::Abort
    linkageType: ''
    returnType: void
    signature: "void AssertPositive(\n            const component::Bignum& result,\n
      \           const std::string& opStr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsOdd
      Src: /src/cryptofuzz/tests.cpp:1078,1
    - Dst: cryptofuzz::tests::BignumCalc::Abort
      Src: /src/cryptofuzz/tests.cpp:1079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' result'
    - ' opStr'
    argTypes:
    - component::Bignum
    - std::string
    constantsTouched: []
    func_position:
      end: 1081
      start: 1075
    functionDepth: 2
    functionLinenumber: 1075
    functionLinenumberEnd: 1081
    functionName: cryptofuzz::tests::BignumCalc::AssertOdd
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::BignumCalc::Abort
    - IsOdd
    linkageType: ''
    returnType: void
    signature: "void AssertOdd(\n            const component::Bignum& result,\n            const
      std::string& opStr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::tests::BignumCalc::IsZero
      Src: /src/cryptofuzz/tests.cpp:1085,1
    - Dst: cryptofuzz::tests::BignumCalc::Abort
      Src: /src/cryptofuzz/tests.cpp:1086,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' result'
    - ' opStr'
    argTypes:
    - component::Bignum
    - std::string
    constantsTouched: []
    func_position:
      end: 1088
      start: 1082
    functionDepth: 2
    functionLinenumber: 1082
    functionLinenumberEnd: 1088
    functionName: cryptofuzz::tests::BignumCalc::AssertZero
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::tests::BignumCalc::IsZero
    - cryptofuzz::tests::BignumCalc::Abort
    linkageType: ''
    returnType: void
    signature: "void AssertZero(\n            const component::Bignum& result,\n            const
      std::string& opStr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/tests.cpp:1098,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1101,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1102,1
    - Dst: bn0::IsNegative
      Src: /src/cryptofuzz/tests.cpp:1104,1
    - Dst: bn1::IsNegative
      Src: /src/cryptofuzz/tests.cpp:1105,1
    - Dst: bn2::IsNegative
      Src: /src/cryptofuzz/tests.cpp:1106,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1117,1
    - Dst: SmallerThan
      Src: /src/cryptofuzz/tests.cpp:1118,1
    - Dst: SmallerThan
      Src: /src/cryptofuzz/tests.cpp:1119,1
    - Dst: Abort
      Src: /src/cryptofuzz/tests.cpp:1120,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1120,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1123,1
    - Dst: IsZero
      Src: /src/cryptofuzz/tests.cpp:1124,1
    - Dst: Abort
      Src: /src/cryptofuzz/tests.cpp:1125,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1125,1
    - Dst: LargerThan
      Src: /src/cryptofuzz/tests.cpp:1128,1
    - Dst: Abort
      Src: /src/cryptofuzz/tests.cpp:1129,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1129,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1132,1
    - Dst: IsZero
      Src: /src/cryptofuzz/tests.cpp:1133,1
    - Dst: IsZero
      Src: /src/cryptofuzz/tests.cpp:1133,1
    - Dst: IsZero
      Src: /src/cryptofuzz/tests.cpp:1134,1
    - Dst: Abort
      Src: /src/cryptofuzz/tests.cpp:1135,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1135,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1139,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertModResult
      Src: /src/cryptofuzz/tests.cpp:1140,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1142,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertModResult
      Src: /src/cryptofuzz/tests.cpp:1143,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1145,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertModResult
      Src: /src/cryptofuzz/tests.cpp:1146,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1148,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertModResult
      Src: /src/cryptofuzz/tests.cpp:1149,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1151,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertModResult
      Src: /src/cryptofuzz/tests.cpp:1152,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1154,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertModResult
      Src: /src/cryptofuzz/tests.cpp:1155,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1157,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertModResult
      Src: /src/cryptofuzz/tests.cpp:1158,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1160,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertModResult
      Src: /src/cryptofuzz/tests.cpp:1161,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1163,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1164,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1166,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1167,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1169,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1170,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1172,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1173,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1175,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1176,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1178,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1179,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1181,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1182,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1184,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1185,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1187,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1188,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1190,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1191,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1193,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1194,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1196,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1197,1
    - Dst: bn0::IsPositive
      Src: /src/cryptofuzz/tests.cpp:1198,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertZero
      Src: /src/cryptofuzz/tests.cpp:1199,1
    - Dst: IsOne
      Src: /src/cryptofuzz/tests.cpp:1201,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1202,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertOdd
      Src: /src/cryptofuzz/tests.cpp:1203,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1207,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1208,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1210,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1211,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1213,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1214,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1216,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1217,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1219,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertBinary
      Src: /src/cryptofuzz/tests.cpp:1220,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1222,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertTertiary
      Src: /src/cryptofuzz/tests.cpp:1223,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1225,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertTertiary
      Src: /src/cryptofuzz/tests.cpp:1226,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1228,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertTertiary
      Src: /src/cryptofuzz/tests.cpp:1229,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1231,1
    - Dst: AssertNotSmallerThan
      Src: /src/cryptofuzz/tests.cpp:1232,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1232,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1234,1
    - Dst: IsZero
      Src: /src/cryptofuzz/tests.cpp:1235,1
    - Dst: IsZero
      Src: /src/cryptofuzz/tests.cpp:1235,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1236,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1236,1
    - Dst: Abort
      Src: /src/cryptofuzz/tests.cpp:1237,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1237,1
    - Dst: AssertNotLargerThan
      Src: /src/cryptofuzz/tests.cpp:1241,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1241,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1243,1
    - Dst: IsZero
      Src: /src/cryptofuzz/tests.cpp:1244,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1245,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1245,1
    - Dst: Abort
      Src: /src/cryptofuzz/tests.cpp:1246,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1246,1
    - Dst: AssertNotSmallerThan
      Src: /src/cryptofuzz/tests.cpp:1250,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1250,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1252,1
    - Dst: AssertNotSmallerThan
      Src: /src/cryptofuzz/tests.cpp:1253,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1253,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1255,1
    - Dst: AssertNotLargerThan
      Src: /src/cryptofuzz/tests.cpp:1256,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1256,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1258,1
    - Dst: AssertNotLargerThan
      Src: /src/cryptofuzz/tests.cpp:1259,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1259,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1261,1
    - Dst: AssertNotLargerThan
      Src: /src/cryptofuzz/tests.cpp:1262,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1262,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1264,1
    - Dst: AssertNotSmallerThan
      Src: /src/cryptofuzz/tests.cpp:1265,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1265,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1267,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1268,1
    - Dst: IsEqual
      Src: /src/cryptofuzz/tests.cpp:1269,1
    - Dst: IsEqual
      Src: /src/cryptofuzz/tests.cpp:1269,1
    - Dst: Abort
      Src: /src/cryptofuzz/tests.cpp:1270,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1270,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1273,1
    - Dst: LargerThan
      Src: /src/cryptofuzz/tests.cpp:1274,1
    - Dst: Abort
      Src: /src/cryptofuzz/tests.cpp:1275,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1275,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1278,1
    - Dst: AssertNotLargerThan
      Src: /src/cryptofuzz/tests.cpp:1279,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1279,1
    - Dst: AssertNotLargerThan
      Src: /src/cryptofuzz/tests.cpp:1280,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1280,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1282,1
    - Dst: AssertNotSmallerThan
      Src: /src/cryptofuzz/tests.cpp:1283,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1283,1
    - Dst: AssertNotSmallerThan
      Src: /src/cryptofuzz/tests.cpp:1284,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1284,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1286,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1287,1
    - Dst: IsZero
      Src: /src/cryptofuzz/tests.cpp:1288,1
    - Dst: Abort
      Src: /src/cryptofuzz/tests.cpp:1289,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1289,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1292,1
    - Dst: IsZero
      Src: /src/cryptofuzz/tests.cpp:1293,1
    - Dst: Abort
      Src: /src/cryptofuzz/tests.cpp:1294,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1294,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1297,1
    - Dst: AssertNotLargerThan
      Src: /src/cryptofuzz/tests.cpp:1298,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1298,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1300,1
    - Dst: AssertNotSmallerThan
      Src: /src/cryptofuzz/tests.cpp:1301,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1301,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1303,1
    - Dst: IsZero
      Src: /src/cryptofuzz/tests.cpp:1304,1
    - Dst: AssertNotLargerThan
      Src: /src/cryptofuzz/tests.cpp:1305,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1305,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1308,1
    - Dst: AssertNotSmallerThan
      Src: /src/cryptofuzz/tests.cpp:1309,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1309,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1311,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertModResult
      Src: /src/cryptofuzz/tests.cpp:1312,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1314,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertPositive
      Src: /src/cryptofuzz/tests.cpp:1315,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1315,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/tests.cpp:1316,1
    - Dst: cryptofuzz::tests::BignumCalc::AssertOdd
      Src: /src/cryptofuzz/tests.cpp:1317,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1317,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/tests.cpp:1320,1
    - Dst: AssertNotLargerThan
      Src: /src/cryptofuzz/tests.cpp:1321,1
    - Dst: cryptofuzz::repository::CalcOpToString
      Src: /src/cryptofuzz/tests.cpp:1321,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 216
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BignumCalc
    - std::optional<component::Bignum>
    constantsTouched: []
    func_position:
      end: 1324
      start: 1091
    functionDepth: 3
    functionLinenumber: 1091
    functionLinenumberEnd: 1324
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached:
    - bn2::IsNegative
    - CF_CALCOP
    - bn1::IsNegative
    - AssertNotSmallerThan
    - cryptofuzz::tests::BignumCalc::AssertZero
    - bn0::IsPositive
    - calcOp::Get
    - IsOne
    - bn0::ToTrimmedString
    - ToTrimmedString
    - cryptofuzz::tests::BignumCalc::AssertBinary
    - SmallerThan
    - cryptofuzz::tests::BignumCalc::AssertPositive
    - LargerThan
    - IsEqual
    - Abort
    - AssertNotLargerThan
    - bn0::IsNegative
    - IsZero
    - cryptofuzz::tests::BignumCalc::AssertModResult
    - cryptofuzz::repository::CalcOpToString
    - cryptofuzz::tests::BignumCalc::AssertOdd
    - cryptofuzz::tests::BignumCalc::AssertTertiary
    linkageType: ''
    returnType: void
    signature: void test(const operation::BignumCalc& op, const std::optional<component::Bignum>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BignumCalc_Fp2
    - std::optional<component::Fp2>
    constantsTouched: []
    func_position:
      end: 1329
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1329
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BignumCalc_Fp2& op, const std::optional<component::Fp2>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' op'
    - ' result'
    argTypes:
    - operation::BignumCalc_Fp12
    - std::optional<component::Fp12>
    constantsTouched: []
    func_position:
      end: 1334
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1334
    functionName: cryptofuzz::tests::test
    functionSourceFile: /src/cryptofuzz/tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test(const operation::BignumCalc_Fp12& op, const std::optional<component::Fp12>&
      result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/mutatorpool.cpp:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 9
      start: 6
    functionDepth: 1
    functionLinenumber: 6
    functionLinenumberEnd: 9
    functionName: MutatorPool<T, Size>::Set
    functionSourceFile: /src/cryptofuzz/mutatorpool.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    linkageType: ''
    returnType: void
    signature: void MutatorPool<T, Size>::Set(const T& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: MutatorPool<T, Size>::Have
    functionSourceFile: /src/cryptofuzz/mutatorpool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MutatorPool<T, Size>::Have(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/mutatorpool.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: MutatorPool<T, Size>::Get
    functionSourceFile: /src/cryptofuzz/mutatorpool.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    linkageType: ''
    returnType: T
    signature: T MutatorPool<T, Size>::Get(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/executor.cpp:18,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/executor.cpp:22,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/executor.cpp:23,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/executor.cpp:24,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/executor.cpp:24,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/executor.cpp:25,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/executor.cpp:26,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/executor.cpp:27,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/executor.cpp:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - curveID
    - coord
    argTypes:
    - uint64_t
    - std::string
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: cryptofuzz::GxCoordMutate
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    - CF_ECC_CURVE
    - cryptofuzz::module::blst_detail::To_cpp_int
    linkageType: ''
    returnType: std::string
    signature: std::string GxCoordMutate(const uint64_t curveID, std::string coord)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:33,1
    - Dst: cryptofuzz::GxCoordMutate
      Src: /src/cryptofuzz/executor.cpp:33,1
    - Dst: cryptofuzz::GxCoordMutate
      Src: /src/cryptofuzz/executor.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - curveID
    - ' g1_x'
    - ' g1_y'
    argTypes:
    - uint64_t
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: cryptofuzz::G1AddToPool
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::GxCoordMutate
    - Set
    linkageType: ''
    returnType: void
    signature: void G1AddToPool(const uint64_t curveID, const std::string& g1_x, const
      std::string& g1_y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:42,1
    - Dst: cryptofuzz::GxCoordMutate
      Src: /src/cryptofuzz/executor.cpp:43,1
    - Dst: cryptofuzz::GxCoordMutate
      Src: /src/cryptofuzz/executor.cpp:44,1
    - Dst: cryptofuzz::GxCoordMutate
      Src: /src/cryptofuzz/executor.cpp:45,1
    - Dst: cryptofuzz::GxCoordMutate
      Src: /src/cryptofuzz/executor.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - curveID
    - ' g2_v'
    - ' g2_w'
    - ' g2_x'
    - ' g2_y'
    argTypes:
    - uint64_t
    - std::string
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: cryptofuzz::G2AddToPool
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::GxCoordMutate
    - Set
    linkageType: ''
    returnType: void
    signature: "void G2AddToPool(const uint64_t curveID,\n                        const
      std::string& g2_v,\n                        const std::string& g2_w,\n                        const
      std::string& g2_x,\n                        const std::string& g2_y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:56,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:56,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::Digest
    - ExecutorBase<component::Digest, operation::Digest>::ResultPair
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: cryptofuzz::ExecutorBase<component::Digest, operation::Digest>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    - second::GetPtr
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Digest, operation::Digest>::postprocess(std::shared_ptr<Module>
      module, operation::Digest& op, const ExecutorBase<component::Digest, operation::Digest>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:61,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:61,1
    - Dst: std::shared_ptr<Module>::OpDigest
      Src: /src/cryptofuzz/executor.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: cryptofuzz::ExecutorBase<component::Digest, operation::Digest>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - digestType::Get
    - std::shared_ptr<Module>::OpDigest
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> ExecutorBase<component::Digest, operation::Digest>::callModule(std::shared_ptr<Module>
      module, operation::Digest& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:72,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:72,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::HMAC
    - ExecutorBase<component::MAC, operation::HMAC>::ResultPair
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: cryptofuzz::ExecutorBase<component::MAC, operation::HMAC>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    - second::GetPtr
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::MAC, operation::HMAC>::postprocess(std::shared_ptr<Module>
      module, operation::HMAC& op, const ExecutorBase<component::MAC, operation::HMAC>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:77,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:77,1
    - Dst: std::shared_ptr<Module>::OpHMAC
      Src: /src/cryptofuzz/executor.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: cryptofuzz::ExecutorBase<component::MAC, operation::HMAC>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - digestType::Get
    - RETURN_IF_DISABLED
    - std::shared_ptr<Module>::OpHMAC
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> ExecutorBase<component::MAC, operation::HMAC>::callModule(std::shared_ptr<Module>
      module, operation::HMAC& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:88,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:88,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::UMAC
    - ExecutorBase<component::MAC, operation::UMAC>::ResultPair
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: cryptofuzz::ExecutorBase<component::MAC, operation::UMAC>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    - second::GetPtr
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::MAC, operation::UMAC>::postprocess(std::shared_ptr<Module>
      module, operation::UMAC& op, const ExecutorBase<component::MAC, operation::UMAC>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpUMAC
      Src: /src/cryptofuzz/executor.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::UMAC
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: cryptofuzz::ExecutorBase<component::MAC, operation::UMAC>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpUMAC
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> ExecutorBase<component::MAC, operation::UMAC>::callModule(std::shared_ptr<Module>
      module, operation::UMAC& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:102,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:102,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::CMAC
    - ExecutorBase<component::MAC, operation::CMAC>::ResultPair
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: cryptofuzz::ExecutorBase<component::MAC, operation::CMAC>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    - second::GetPtr
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::MAC, operation::CMAC>::postprocess(std::shared_ptr<Module>
      module, operation::CMAC& op, const ExecutorBase<component::MAC, operation::CMAC>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:107,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/executor.cpp:107,1
    - Dst: std::shared_ptr<Module>::OpCMAC
      Src: /src/cryptofuzz/executor.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: cryptofuzz::ExecutorBase<component::MAC, operation::CMAC>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - RETURN_IF_DISABLED
    - std::shared_ptr<Module>::OpCMAC
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> ExecutorBase<component::MAC, operation::CMAC>::callModule(std::shared_ptr<Module>
      module, operation::CMAC& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:119,1
    - Dst: second::ciphertext::GetPtr
      Src: /src/cryptofuzz/executor.cpp:119,1
    - Dst: second::ciphertext::GetSize
      Src: /src/cryptofuzz/executor.cpp:119,1
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:121,1
    - Dst: second::tag::GetPtr
      Src: /src/cryptofuzz/executor.cpp:121,1
    - Dst: second::tag::GetSize
      Src: /src/cryptofuzz/executor.cpp:121,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/executor.cpp:125,1
    - Dst: second::ciphertext::GetSize
      Src: /src/cryptofuzz/executor.cpp:125,1
    - Dst: CF_MODULE
      Src: /src/cryptofuzz/executor.cpp:130,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/executor.cpp:131,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:132,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:133,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:136,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:137,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:138,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:139,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:140,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:141,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:142,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:143,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:144,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:145,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:146,1
    - Dst: ID
      Src: /src/cryptofuzz/executor.cpp:147,1
    - Dst: cryptofuzz::operation::SymmetricDecrypt::SymmetricDecrypt
      Src: /src/cryptofuzz/executor.cpp:162,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/executor.cpp:170,1
    - Dst: std::shared_ptr<Module>::OpSymmetricDecrypt
      Src: /src/cryptofuzz/executor.cpp:177,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:181,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:182,1
    - Dst: ToString
      Src: /src/cryptofuzz/executor.cpp:182,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:183,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/executor.cpp:183,1
    - Dst: second::ciphertext::Get
      Src: /src/cryptofuzz/executor.cpp:183,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:184,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/executor.cpp:184,1
    - Dst: second::tag::Get
      Src: /src/cryptofuzz/executor.cpp:184,1
    - Dst: abort
      Src: /src/cryptofuzz/executor.cpp:185,1
    - Dst: Name
      Src: /src/cryptofuzz/executor.cpp:187,1
    - Dst: GetAlgorithmString
      Src: /src/cryptofuzz/executor.cpp:188,1
    - Dst: auto::Get
      Src: /src/cryptofuzz/executor.cpp:191,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/executor.cpp:191,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:195,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:196,1
    - Dst: ToString
      Src: /src/cryptofuzz/executor.cpp:196,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:197,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/executor.cpp:197,1
    - Dst: second::ciphertext::Get
      Src: /src/cryptofuzz/executor.cpp:197,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:198,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/executor.cpp:198,1
    - Dst: second::tag::Get
      Src: /src/cryptofuzz/executor.cpp:198,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:199,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/executor.cpp:199,1
    - Dst: auto::Get
      Src: /src/cryptofuzz/executor.cpp:199,1
    - Dst: abort
      Src: /src/cryptofuzz/executor.cpp:200,1
    - Dst: Name
      Src: /src/cryptofuzz/executor.cpp:202,1
    - Dst: GetAlgorithmString
      Src: /src/cryptofuzz/executor.cpp:203,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::SymmetricEncrypt
    - ExecutorBase<component::Ciphertext, operation::SymmetricEncrypt>::ResultPair
    constantsTouched: []
    func_position:
      end: 209
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 209
    functionName: cryptofuzz::ExecutorBase<component::Ciphertext, operation::SymmetricEncrypt>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::HexDump
    - printf
    - CF_MODULE
    - second::ciphertext::GetPtr
    - cleartext::GetSize
    - second::tag::GetPtr
    - Name
    - std::shared_ptr<Module>::OpSymmetricDecrypt
    - fuzzing::memory::memory_test_msan
    - second::tag::Get
    - second::ciphertext::Get
    - second::ciphertext::GetSize
    - cipher::cipherType::Get
    - ToString
    - cryptofuzz::operation::SymmetricDecrypt::SymmetricDecrypt
    - GetAlgorithmString
    - auto::Get
    - cleartext::Get
    - abort
    - second::tag::GetSize
    - ID
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Ciphertext, operation::SymmetricEncrypt>::postprocess(std::shared_ptr<Module>
      module, operation::SymmetricEncrypt& op, const ExecutorBase<component::Ciphertext,
      operation::SymmetricEncrypt>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:212,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/executor.cpp:212,1
    - Dst: std::shared_ptr<Module>::OpSymmetricEncrypt
      Src: /src/cryptofuzz/executor.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: cryptofuzz::ExecutorBase<component::Ciphertext, operation::SymmetricEncrypt>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - RETURN_IF_DISABLED
    - std::shared_ptr<Module>::OpSymmetricEncrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> ExecutorBase<component::Ciphertext,
      operation::SymmetricEncrypt>::callModule(std::shared_ptr<Module> module, operation::SymmetricEncrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:223,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:223,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::SymmetricDecrypt
    - ExecutorBase<component::MAC, operation::SymmetricDecrypt>::ResultPair
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: cryptofuzz::ExecutorBase<component::MAC, operation::SymmetricDecrypt>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    - second::GetPtr
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::MAC, operation::SymmetricDecrypt>::postprocess(std::shared_ptr<Module>
      module, operation::SymmetricDecrypt& op, const ExecutorBase<component::MAC,
      operation::SymmetricDecrypt>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:228,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/executor.cpp:228,1
    - Dst: std::shared_ptr<Module>::OpSymmetricDecrypt
      Src: /src/cryptofuzz/executor.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: cryptofuzz::ExecutorBase<component::MAC, operation::SymmetricDecrypt>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - RETURN_IF_DISABLED
    - std::shared_ptr<Module>::OpSymmetricDecrypt
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> ExecutorBase<component::MAC, operation::SymmetricDecrypt>::callModule(std::shared_ptr<Module>
      module, operation::SymmetricDecrypt& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:239,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:239,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_SCRYPT
    - ExecutorBase<component::Key, operation::KDF_SCRYPT>::ResultPair
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_SCRYPT>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    - second::GetPtr
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_SCRYPT>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_SCRYPT& op, const ExecutorBase<component::Key, operation::KDF_SCRYPT>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpKDF_SCRYPT
      Src: /src/cryptofuzz/executor.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_SCRYPT>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpKDF_SCRYPT
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_SCRYPT>::callModule(std::shared_ptr<Module>
      module, operation::KDF_SCRYPT& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:253,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:253,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_HKDF
    - ExecutorBase<component::Key, operation::KDF_HKDF>::ResultPair
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_HKDF>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    - second::GetPtr
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_HKDF>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_HKDF& op, const ExecutorBase<component::Key, operation::KDF_HKDF>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:258,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:258,1
    - Dst: std::shared_ptr<Module>::OpKDF_HKDF
      Src: /src/cryptofuzz/executor.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_HKDF>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpKDF_HKDF
    - digestType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_HKDF>::callModule(std::shared_ptr<Module>
      module, operation::KDF_HKDF& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:269,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:269,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_PBKDF
    - ExecutorBase<component::Key, operation::KDF_PBKDF>::ResultPair
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_PBKDF>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    - second::GetPtr
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_PBKDF>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_PBKDF& op, const ExecutorBase<component::Key, operation::KDF_PBKDF>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:274,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:274,1
    - Dst: std::shared_ptr<Module>::OpKDF_PBKDF
      Src: /src/cryptofuzz/executor.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_PBKDF
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_PBKDF>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpKDF_PBKDF
    - digestType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_PBKDF>::callModule(std::shared_ptr<Module>
      module, operation::KDF_PBKDF& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:285,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:285,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_PBKDF1
    - ExecutorBase<component::Key, operation::KDF_PBKDF1>::ResultPair
    constantsTouched: []
    func_position:
      end: 287
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 287
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_PBKDF1>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    - second::GetPtr
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_PBKDF1>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_PBKDF1& op, const ExecutorBase<component::Key, operation::KDF_PBKDF1>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:290,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:290,1
    - Dst: std::shared_ptr<Module>::OpKDF_PBKDF1
      Src: /src/cryptofuzz/executor.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_PBKDF1
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_PBKDF1>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - digestType::Get
    - RETURN_IF_DISABLED
    - std::shared_ptr<Module>::OpKDF_PBKDF1
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_PBKDF1>::callModule(std::shared_ptr<Module>
      module, operation::KDF_PBKDF1& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:301,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:301,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_PBKDF2
    - ExecutorBase<component::Key, operation::KDF_PBKDF2>::ResultPair
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_PBKDF2>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    - second::GetPtr
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_PBKDF2>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_PBKDF2& op, const ExecutorBase<component::Key, operation::KDF_PBKDF2>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:306,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:306,1
    - Dst: std::shared_ptr<Module>::OpKDF_PBKDF2
      Src: /src/cryptofuzz/executor.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_PBKDF2>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpKDF_PBKDF2
    - digestType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_PBKDF2>::callModule(std::shared_ptr<Module>
      module, operation::KDF_PBKDF2& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:317,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:317,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_ARGON2
    - ExecutorBase<component::Key, operation::KDF_ARGON2>::ResultPair
    constantsTouched: []
    func_position:
      end: 319
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 319
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_ARGON2>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    - second::GetPtr
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_ARGON2>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_ARGON2& op, const ExecutorBase<component::Key, operation::KDF_ARGON2>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpKDF_ARGON2
      Src: /src/cryptofuzz/executor.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_ARGON2
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_ARGON2>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpKDF_ARGON2
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_ARGON2>::callModule(std::shared_ptr<Module>
      module, operation::KDF_ARGON2& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:331,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:331,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_SSH
    - ExecutorBase<component::Key, operation::KDF_SSH>::ResultPair
    constantsTouched: []
    func_position:
      end: 333
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 333
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_SSH>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    - second::GetPtr
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_SSH>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_SSH& op, const ExecutorBase<component::Key, operation::KDF_SSH>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:336,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:336,1
    - Dst: std::shared_ptr<Module>::OpKDF_SSH
      Src: /src/cryptofuzz/executor.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_SSH
    constantsTouched: []
    func_position:
      end: 339
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 339
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_SSH>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpKDF_SSH
    - digestType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_SSH>::callModule(std::shared_ptr<Module>
      module, operation::KDF_SSH& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:347,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:347,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_TLS1_PRF
    - ExecutorBase<component::Key, operation::KDF_TLS1_PRF>::ResultPair
    constantsTouched: []
    func_position:
      end: 349
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 349
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_TLS1_PRF>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    - second::GetPtr
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_TLS1_PRF>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_TLS1_PRF& op, const ExecutorBase<component::Key, operation::KDF_TLS1_PRF>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:352,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:352,1
    - Dst: std::shared_ptr<Module>::OpKDF_TLS1_PRF
      Src: /src/cryptofuzz/executor.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_TLS1_PRF
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_TLS1_PRF>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - digestType::Get
    - std::shared_ptr<Module>::OpKDF_TLS1_PRF
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_TLS1_PRF>::callModule(std::shared_ptr<Module>
      module, operation::KDF_TLS1_PRF& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:363,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:363,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_X963
    - ExecutorBase<component::Key, operation::KDF_X963>::ResultPair
    constantsTouched: []
    func_position:
      end: 365
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 365
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_X963>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    - second::GetPtr
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_X963>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_X963& op, const ExecutorBase<component::Key, operation::KDF_X963>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:368,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:368,1
    - Dst: std::shared_ptr<Module>::OpKDF_X963
      Src: /src/cryptofuzz/executor.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_X963
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_X963>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - digestType::Get
    - RETURN_IF_DISABLED
    - std::shared_ptr<Module>::OpKDF_X963
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_X963>::callModule(std::shared_ptr<Module>
      module, operation::KDF_X963& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:379,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:379,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_BCRYPT
    - ExecutorBase<component::Key, operation::KDF_BCRYPT>::ResultPair
    constantsTouched: []
    func_position:
      end: 381
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 381
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_BCRYPT>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    - second::GetPtr
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_BCRYPT>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_BCRYPT& op, const ExecutorBase<component::Key, operation::KDF_BCRYPT>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:384,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:384,1
    - Dst: std::shared_ptr<Module>::OpKDF_BCRYPT
      Src: /src/cryptofuzz/executor.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_BCRYPT
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_BCRYPT>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - digestType::Get
    - std::shared_ptr<Module>::OpKDF_BCRYPT
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_BCRYPT>::callModule(std::shared_ptr<Module>
      module, operation::KDF_BCRYPT& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::memory::memory_test_msan
      Src: /src/cryptofuzz/executor.cpp:395,1
    - Dst: second::GetPtr
      Src: /src/cryptofuzz/executor.cpp:395,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_SP_800_108
    - ExecutorBase<component::Key, operation::KDF_SP_800_108>::ResultPair
    constantsTouched: []
    func_position:
      end: 397
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 397
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_SP_800_108>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetSize
    - fuzzing::memory::memory_test_msan
    - second::GetPtr
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key, operation::KDF_SP_800_108>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_SP_800_108& op, const ExecutorBase<component::Key, operation::KDF_SP_800_108>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:401,1
    - Dst: mech::type::Get
      Src: /src/cryptofuzz/executor.cpp:401,1
    - Dst: std::shared_ptr<Module>::OpKDF_SP_800_108
      Src: /src/cryptofuzz/executor.cpp:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_SP_800_108
    constantsTouched: []
    func_position:
      end: 405
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 405
    functionName: cryptofuzz::ExecutorBase<component::Key, operation::KDF_SP_800_108>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - mech::type::Get
    - RETURN_IF_DISABLED
    - std::shared_ptr<Module>::OpKDF_SP_800_108
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> ExecutorBase<component::Key, operation::KDF_SP_800_108>::callModule(std::shared_ptr<Module>
      module, operation::KDF_SP_800_108& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_SRTP
    - ExecutorBase<component::Key3, operation::KDF_SRTP>::ResultPair
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: cryptofuzz::ExecutorBase<component::Key3, operation::KDF_SRTP>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key3, operation::KDF_SRTP>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_SRTP& op, const ExecutorBase<component::Key3, operation::KDF_SRTP>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpKDF_SRTP
      Src: /src/cryptofuzz/executor.cpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_SRTP
    constantsTouched: []
    func_position:
      end: 416
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 416
    functionName: cryptofuzz::ExecutorBase<component::Key3, operation::KDF_SRTP>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpKDF_SRTP
    linkageType: ''
    returnType: std::optional<component::Key3>
    signature: std::optional<component::Key3> ExecutorBase<component::Key3, operation::KDF_SRTP>::callModule(std::shared_ptr<Module>
      module, operation::KDF_SRTP& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_SRTCP
    - ExecutorBase<component::Key3, operation::KDF_SRTCP>::ResultPair
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: cryptofuzz::ExecutorBase<component::Key3, operation::KDF_SRTCP>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Key3, operation::KDF_SRTCP>::postprocess(std::shared_ptr<Module>
      module, operation::KDF_SRTCP& op, const ExecutorBase<component::Key3, operation::KDF_SRTCP>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpKDF_SRTCP
      Src: /src/cryptofuzz/executor.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::KDF_SRTCP
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: cryptofuzz::ExecutorBase<component::Key3, operation::KDF_SRTCP>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpKDF_SRTCP
    linkageType: ''
    returnType: std::optional<component::Key3>
    signature: std::optional<component::Key3> ExecutorBase<component::Key3, operation::KDF_SRTCP>::callModule(std::shared_ptr<Module>
      module, operation::KDF_SRTCP& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:434,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:435,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:436,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:437,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:439,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:440,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:441,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:443,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:443,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:444,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_PrivateToPublic
    - ExecutorBase<component::ECC_PublicKey, operation::ECC_PrivateToPublic>::ResultPair
    constantsTouched: []
    func_position:
      end: 446
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 446
    functionName: cryptofuzz::ExecutorBase<component::ECC_PublicKey, operation::ECC_PrivateToPublic>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::first::ToTrimmedString
    - priv::ToTrimmedString
    - Set
    - curveType::Get
    - auto::size
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECC_PublicKey, operation::ECC_PrivateToPublic>::postprocess(std::shared_ptr<Module>
      module, operation::ECC_PrivateToPublic& op, const ExecutorBase<component::ECC_PublicKey,
      operation::ECC_PrivateToPublic>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:449,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:449,1
    - Dst: std::shared_ptr<Module>::OpECC_PrivateToPublic
      Src: /src/cryptofuzz/executor.cpp:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 458
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 458
    functionName: cryptofuzz::ExecutorBase<component::ECC_PublicKey, operation::ECC_PrivateToPublic>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - std::shared_ptr<Module>::OpECC_PrivateToPublic
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> ExecutorBase<component::ECC_PublicKey,
      operation::ECC_PrivateToPublic>::callModule(std::shared_ptr<Module> module,
      operation::ECC_PrivateToPublic& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_ValidatePubkey
    - ExecutorBase<bool, operation::ECC_ValidatePubkey>::ResultPair
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECC_ValidatePubkey>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::ECC_ValidatePubkey>::postprocess(std::shared_ptr<Module>
      module, operation::ECC_ValidatePubkey& op, const ExecutorBase<bool, operation::ECC_ValidatePubkey>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:468,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:468,1
    - Dst: std::shared_ptr<Module>::OpECC_ValidatePubkey
      Src: /src/cryptofuzz/executor.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECC_ValidatePubkey>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - RETURN_IF_DISABLED
    - std::shared_ptr<Module>::OpECC_ValidatePubkey
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::ECC_ValidatePubkey>::callModule(std::shared_ptr<Module>
      module, operation::ECC_ValidatePubkey& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' operations'
    - ' results'
    - data
    - size
    argTypes:
    - std::vector< std::pair<std::shared_ptr<Module>, operation::DH_GenerateKeyPair>
      >
    - ResultSet
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 482
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 482
    functionName: cryptofuzz::ExecutorBase<component::DH_KeyPair, operation::DH_GenerateKeyPair>::compare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DH_KeyPair, operation::DH_GenerateKeyPair>::compare(const
      std::vector< std::pair<std::shared_ptr<Module>, operation::DH_GenerateKeyPair>
      >& operations, const ResultSet& results, const uint8_t* data, const size_t size)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:488,1
    - Dst: second::priv::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:489,1
    - Dst: second::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:490,1
    - Dst: second::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:491,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:493,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:494,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:495,1
    - Dst: cryptofuzz::operation::ECC_ValidatePubkey::ECC_ValidatePubkey
      Src: /src/cryptofuzz/executor.cpp:498,1
    - Dst: std::shared_ptr<Module>::OpECC_ValidatePubkey
      Src: /src/cryptofuzz/executor.cpp:503,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/executor.cpp:504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_GenerateKeyPair
    - ExecutorBase<component::ECC_KeyPair, operation::ECC_GenerateKeyPair>::ResultPair
    constantsTouched: []
    func_position:
      end: 510
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 510
    functionName: cryptofuzz::ExecutorBase<component::ECC_KeyPair, operation::ECC_GenerateKeyPair>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::priv::ToTrimmedString
    - CF_ASSERT
    - Set
    - second::pub::first::ToTrimmedString
    - std::shared_ptr<Module>::OpECC_ValidatePubkey
    - curveType::Get
    - second::pub::second::ToTrimmedString
    - cryptofuzz::operation::ECC_ValidatePubkey::ECC_ValidatePubkey
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECC_KeyPair, operation::ECC_GenerateKeyPair>::postprocess(std::shared_ptr<Module>
      module, operation::ECC_GenerateKeyPair& op, const ExecutorBase<component::ECC_KeyPair,
      operation::ECC_GenerateKeyPair>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:513,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:513,1
    - Dst: std::shared_ptr<Module>::OpECC_GenerateKeyPair
      Src: /src/cryptofuzz/executor.cpp:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 516
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 516
    functionName: cryptofuzz::ExecutorBase<component::ECC_KeyPair, operation::ECC_GenerateKeyPair>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - std::shared_ptr<Module>::OpECC_GenerateKeyPair
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::ECC_KeyPair>
    signature: std::optional<component::ECC_KeyPair> ExecutorBase<component::ECC_KeyPair,
      operation::ECC_GenerateKeyPair>::callModule(std::shared_ptr<Module> module,
      operation::ECC_GenerateKeyPair& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:523,1
    - Dst: cleartext::ToHex
      Src: /src/cryptofuzz/executor.cpp:524,1
    - Dst: id::ToHex
      Src: /src/cryptofuzz/executor.cpp:525,1
    - Dst: second::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:526,1
    - Dst: second::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:527,1
    - Dst: second::pvt::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:528,1
    - Dst: second::pvt::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:529,1
    - Dst: second::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:530,1
    - Dst: second::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:531,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:533,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:540,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:541,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:542,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:544,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:544,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:545,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:545,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:546,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:546,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:547,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:547,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:548,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:548,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:549,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:549,1
    - Dst: cryptofuzz::operation::ECCSI_Verify::ECCSI_Verify
      Src: /src/cryptofuzz/executor.cpp:552,1
    - Dst: std::shared_ptr<Module>::OpECCSI_Verify
      Src: /src/cryptofuzz/executor.cpp:557,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/executor.cpp:558,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECCSI_Sign
    - ExecutorBase<component::ECCSI_Signature, operation::ECCSI_Sign>::ResultPair
    constantsTouched: []
    func_position:
      end: 564
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 564
    functionName: cryptofuzz::ExecutorBase<component::ECCSI_Signature, operation::ECCSI_Sign>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::pvt::second::ToTrimmedString
    - cleartext::ToHex
    - CF_ASSERT
    - second::pvt::first::ToTrimmedString
    - Set
    - second::pub::first::ToTrimmedString
    - curveType::Get
    - id::ToHex
    - second::pub::second::ToTrimmedString
    - std::shared_ptr<Module>::OpECCSI_Verify
    - second::signature::first::ToTrimmedString
    - auto::size
    - second::signature::second::ToTrimmedString
    - cryptofuzz::operation::ECCSI_Verify::ECCSI_Verify
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECCSI_Signature, operation::ECCSI_Sign>::postprocess(std::shared_ptr<Module>
      module, operation::ECCSI_Sign& op, const ExecutorBase<component::ECCSI_Signature,
      operation::ECCSI_Sign>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:567,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:567,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:568,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:568,1
    - Dst: std::shared_ptr<Module>::OpECCSI_Sign
      Src: /src/cryptofuzz/executor.cpp:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECCSI_Sign
    constantsTouched: []
    func_position:
      end: 577
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 577
    functionName: cryptofuzz::ExecutorBase<component::ECCSI_Signature, operation::ECCSI_Sign>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - digestType::Get
    - RETURN_IF_DISABLED
    - std::shared_ptr<Module>::OpECCSI_Sign
    linkageType: ''
    returnType: std::optional<component::ECCSI_Signature>
    signature: std::optional<component::ECCSI_Signature> ExecutorBase<component::ECCSI_Signature,
      operation::ECCSI_Sign>::callModule(std::shared_ptr<Module> module, operation::ECCSI_Sign&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:584,1
    - Dst: cleartext::ToHex
      Src: /src/cryptofuzz/executor.cpp:585,1
    - Dst: second::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:586,1
    - Dst: second::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:587,1
    - Dst: second::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:588,1
    - Dst: second::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:589,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:591,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:592,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:593,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:595,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:595,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:596,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:596,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:597,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:597,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:598,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:598,1
    - Dst: cryptofuzz::Wycheproof::ECDSA_Verify
      Src: /src/cryptofuzz/executor.cpp:601,1
    - Dst: std::shared_ptr<Module>::OpECDSA_Verify
      Src: /src/cryptofuzz/executor.cpp:606,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/executor.cpp:607,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECDSA_Sign
    - ExecutorBase<component::ECDSA_Signature, operation::ECDSA_Sign>::ResultPair
    constantsTouched: []
    func_position:
      end: 613
      start: 580
    functionDepth: 3
    functionLinenumber: 580
    functionLinenumberEnd: 613
    functionName: cryptofuzz::ExecutorBase<component::ECDSA_Signature, operation::ECDSA_Sign>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - cleartext::ToHex
    - CF_ASSERT
    - std::shared_ptr<Module>::OpECDSA_Verify
    - Set
    - second::pub::first::ToTrimmedString
    - cryptofuzz::Wycheproof::ECDSA_Verify
    - curveType::Get
    - second::pub::second::ToTrimmedString
    - second::signature::first::ToTrimmedString
    - auto::size
    - second::signature::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECDSA_Signature, operation::ECDSA_Sign>::postprocess(std::shared_ptr<Module>
      module, operation::ECDSA_Sign& op, const ExecutorBase<component::ECDSA_Signature,
      operation::ECDSA_Sign>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:616,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:616,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:617,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:617,1
    - Dst: std::shared_ptr<Module>::OpECDSA_Sign
      Src: /src/cryptofuzz/executor.cpp:625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 626
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 626
    functionName: cryptofuzz::ExecutorBase<component::ECDSA_Signature, operation::ECDSA_Sign>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - digestType::Get
    - RETURN_IF_DISABLED
    - std::shared_ptr<Module>::OpECDSA_Sign
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> ExecutorBase<component::ECDSA_Signature,
      operation::ECDSA_Sign>::callModule(std::shared_ptr<Module> module, operation::ECDSA_Sign&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:633,1
    - Dst: cleartext::ToHex
      Src: /src/cryptofuzz/executor.cpp:634,1
    - Dst: second::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:635,1
    - Dst: second::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:636,1
    - Dst: second::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:637,1
    - Dst: second::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:638,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:640,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:641,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:642,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:644,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:644,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:645,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:645,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:646,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:646,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:647,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:647,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECGDSA_Sign
    - ExecutorBase<component::ECGDSA_Signature, operation::ECGDSA_Sign>::ResultPair
    constantsTouched: []
    func_position:
      end: 649
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 649
    functionName: cryptofuzz::ExecutorBase<component::ECGDSA_Signature, operation::ECGDSA_Sign>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - cleartext::ToHex
    - Set
    - second::pub::first::ToTrimmedString
    - curveType::Get
    - second::pub::second::ToTrimmedString
    - second::signature::first::ToTrimmedString
    - auto::size
    - second::signature::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECGDSA_Signature, operation::ECGDSA_Sign>::postprocess(std::shared_ptr<Module>
      module, operation::ECGDSA_Sign& op, const ExecutorBase<component::ECGDSA_Signature,
      operation::ECGDSA_Sign>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:652,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:652,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:653,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:653,1
    - Dst: std::shared_ptr<Module>::OpECGDSA_Sign
      Src: /src/cryptofuzz/executor.cpp:661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECGDSA_Sign
    constantsTouched: []
    func_position:
      end: 662
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 662
    functionName: cryptofuzz::ExecutorBase<component::ECGDSA_Signature, operation::ECGDSA_Sign>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - digestType::Get
    - RETURN_IF_DISABLED
    - std::shared_ptr<Module>::OpECGDSA_Sign
    linkageType: ''
    returnType: std::optional<component::ECGDSA_Signature>
    signature: std::optional<component::ECGDSA_Signature> ExecutorBase<component::ECGDSA_Signature,
      operation::ECGDSA_Sign>::callModule(std::shared_ptr<Module> module, operation::ECGDSA_Sign&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:669,1
    - Dst: cleartext::ToHex
      Src: /src/cryptofuzz/executor.cpp:670,1
    - Dst: second::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:671,1
    - Dst: second::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:672,1
    - Dst: second::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:673,1
    - Dst: second::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:674,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:676,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:677,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:678,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:680,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:680,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:681,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:681,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:682,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:682,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:683,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:683,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECRDSA_Sign
    - ExecutorBase<component::ECRDSA_Signature, operation::ECRDSA_Sign>::ResultPair
    constantsTouched: []
    func_position:
      end: 685
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 685
    functionName: cryptofuzz::ExecutorBase<component::ECRDSA_Signature, operation::ECRDSA_Sign>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - cleartext::ToHex
    - Set
    - second::pub::first::ToTrimmedString
    - curveType::Get
    - second::pub::second::ToTrimmedString
    - second::signature::first::ToTrimmedString
    - auto::size
    - second::signature::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECRDSA_Signature, operation::ECRDSA_Sign>::postprocess(std::shared_ptr<Module>
      module, operation::ECRDSA_Sign& op, const ExecutorBase<component::ECRDSA_Signature,
      operation::ECRDSA_Sign>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:688,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:688,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:689,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:689,1
    - Dst: std::shared_ptr<Module>::OpECRDSA_Sign
      Src: /src/cryptofuzz/executor.cpp:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECRDSA_Sign
    constantsTouched: []
    func_position:
      end: 698
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 698
    functionName: cryptofuzz::ExecutorBase<component::ECRDSA_Signature, operation::ECRDSA_Sign>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - digestType::Get
    - RETURN_IF_DISABLED
    - std::shared_ptr<Module>::OpECRDSA_Sign
    linkageType: ''
    returnType: std::optional<component::ECRDSA_Signature>
    signature: std::optional<component::ECRDSA_Signature> ExecutorBase<component::ECRDSA_Signature,
      operation::ECRDSA_Sign>::callModule(std::shared_ptr<Module> module, operation::ECRDSA_Sign&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:705,1
    - Dst: cleartext::ToHex
      Src: /src/cryptofuzz/executor.cpp:706,1
    - Dst: second::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:707,1
    - Dst: second::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:708,1
    - Dst: second::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:709,1
    - Dst: second::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:710,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:712,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:713,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:714,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:716,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:716,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:717,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:717,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:718,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:718,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:719,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:719,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::Schnorr_Sign
    - ExecutorBase<component::Schnorr_Signature, operation::Schnorr_Sign>::ResultPair
    constantsTouched: []
    func_position:
      end: 721
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 721
    functionName: cryptofuzz::ExecutorBase<component::Schnorr_Signature, operation::Schnorr_Sign>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - cleartext::ToHex
    - Set
    - second::pub::first::ToTrimmedString
    - curveType::Get
    - second::pub::second::ToTrimmedString
    - second::signature::first::ToTrimmedString
    - auto::size
    - second::signature::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Schnorr_Signature, operation::Schnorr_Sign>::postprocess(std::shared_ptr<Module>
      module, operation::Schnorr_Sign& op, const ExecutorBase<component::Schnorr_Signature,
      operation::Schnorr_Sign>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:724,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:724,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:725,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:725,1
    - Dst: std::shared_ptr<Module>::OpSchnorr_Sign
      Src: /src/cryptofuzz/executor.cpp:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::Schnorr_Sign
    constantsTouched: []
    func_position:
      end: 734
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 734
    functionName: cryptofuzz::ExecutorBase<component::Schnorr_Signature, operation::Schnorr_Sign>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - digestType::Get
    - std::shared_ptr<Module>::OpSchnorr_Sign
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Schnorr_Signature>
    signature: std::optional<component::Schnorr_Signature> ExecutorBase<component::Schnorr_Signature,
      operation::Schnorr_Sign>::callModule(std::shared_ptr<Module> module, operation::Schnorr_Sign&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECCSI_Verify
    - ExecutorBase<bool, operation::ECCSI_Verify>::ResultPair
    constantsTouched: []
    func_position:
      end: 741
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 741
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECCSI_Verify>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::ECCSI_Verify>::postprocess(std::shared_ptr<Module>
      module, operation::ECCSI_Verify& op, const ExecutorBase<bool, operation::ECCSI_Verify>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:744,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:744,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:745,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:745,1
    - Dst: std::shared_ptr<Module>::OpECCSI_Verify
      Src: /src/cryptofuzz/executor.cpp:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECCSI_Verify
    constantsTouched: []
    func_position:
      end: 748
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 748
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECCSI_Verify>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - digestType::Get
    - std::shared_ptr<Module>::OpECCSI_Verify
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::ECCSI_Verify>::callModule(std::shared_ptr<Module>
      module, operation::ECCSI_Verify& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECDSA_Verify
    - ExecutorBase<bool, operation::ECDSA_Verify>::ResultPair
    constantsTouched: []
    func_position:
      end: 755
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 755
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECDSA_Verify>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::ECDSA_Verify>::postprocess(std::shared_ptr<Module>
      module, operation::ECDSA_Verify& op, const ExecutorBase<bool, operation::ECDSA_Verify>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:758,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:758,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:759,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:759,1
    - Dst: std::shared_ptr<Module>::OpECDSA_Verify
      Src: /src/cryptofuzz/executor.cpp:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 772
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 772
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECDSA_Verify>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECDSA_Verify
    - curveType::Get
    - digestType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::ECDSA_Verify>::callModule(std::shared_ptr<Module>
      module, operation::ECDSA_Verify& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECGDSA_Verify
    - ExecutorBase<bool, operation::ECGDSA_Verify>::ResultPair
    constantsTouched: []
    func_position:
      end: 779
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 779
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECGDSA_Verify>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::ECGDSA_Verify>::postprocess(std::shared_ptr<Module>
      module, operation::ECGDSA_Verify& op, const ExecutorBase<bool, operation::ECGDSA_Verify>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:782,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:782,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:783,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:783,1
    - Dst: std::shared_ptr<Module>::OpECGDSA_Verify
      Src: /src/cryptofuzz/executor.cpp:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECGDSA_Verify
    constantsTouched: []
    func_position:
      end: 796
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 796
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECGDSA_Verify>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECGDSA_Verify
    - curveType::Get
    - digestType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::ECGDSA_Verify>::callModule(std::shared_ptr<Module>
      module, operation::ECGDSA_Verify& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECRDSA_Verify
    - ExecutorBase<bool, operation::ECRDSA_Verify>::ResultPair
    constantsTouched: []
    func_position:
      end: 803
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 803
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECRDSA_Verify>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::ECRDSA_Verify>::postprocess(std::shared_ptr<Module>
      module, operation::ECRDSA_Verify& op, const ExecutorBase<bool, operation::ECRDSA_Verify>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:806,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:806,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:807,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:807,1
    - Dst: std::shared_ptr<Module>::OpECRDSA_Verify
      Src: /src/cryptofuzz/executor.cpp:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECRDSA_Verify
    constantsTouched: []
    func_position:
      end: 820
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 820
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECRDSA_Verify>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - digestType::Get
    - RETURN_IF_DISABLED
    - std::shared_ptr<Module>::OpECRDSA_Verify
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::ECRDSA_Verify>::callModule(std::shared_ptr<Module>
      module, operation::ECRDSA_Verify& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::Schnorr_Verify
    - ExecutorBase<bool, operation::Schnorr_Verify>::ResultPair
    constantsTouched: []
    func_position:
      end: 827
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 827
    functionName: cryptofuzz::ExecutorBase<bool, operation::Schnorr_Verify>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::Schnorr_Verify>::postprocess(std::shared_ptr<Module>
      module, operation::Schnorr_Verify& op, const ExecutorBase<bool, operation::Schnorr_Verify>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:830,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:830,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:831,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:831,1
    - Dst: std::shared_ptr<Module>::OpSchnorr_Verify
      Src: /src/cryptofuzz/executor.cpp:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::Schnorr_Verify
    constantsTouched: []
    func_position:
      end: 844
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 844
    functionName: cryptofuzz::ExecutorBase<bool, operation::Schnorr_Verify>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpSchnorr_Verify
    - curveType::Get
    - digestType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::Schnorr_Verify>::callModule(std::shared_ptr<Module>
      module, operation::Schnorr_Verify& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECDSA_Recover
    - ExecutorBase<component::ECC_PublicKey, operation::ECDSA_Recover>::ResultPair
    constantsTouched: []
    func_position:
      end: 850
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 850
    functionName: cryptofuzz::ExecutorBase<component::ECC_PublicKey, operation::ECDSA_Recover>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECC_PublicKey, operation::ECDSA_Recover>::postprocess(std::shared_ptr<Module>
      module, operation::ECDSA_Recover& op, const ExecutorBase<component::ECC_PublicKey,
      operation::ECDSA_Recover>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:853,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:853,1
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:854,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/executor.cpp:854,1
    - Dst: std::shared_ptr<Module>::OpECDSA_Recover
      Src: /src/cryptofuzz/executor.cpp:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECDSA_Recover
    constantsTouched: []
    func_position:
      end: 857
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 857
    functionName: cryptofuzz::ExecutorBase<component::ECC_PublicKey, operation::ECDSA_Recover>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - digestType::Get
    - std::shared_ptr<Module>::OpECDSA_Recover
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> ExecutorBase<component::ECC_PublicKey,
      operation::ECDSA_Recover>::callModule(std::shared_ptr<Module> module, operation::ECDSA_Recover&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - moduleID
    - ' op'
    argTypes:
    - uint64_t
    - operation::DSA_Verify
    constantsTouched: []
    func_position:
      end: 865
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 865
    functionName: cryptofuzz::ExecutorBase<bool, operation::DSA_Verify>::updateExtraCounters
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::DSA_Verify>::updateExtraCounters(const
      uint64_t moduleID, operation::DSA_Verify& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DSA_Verify
    - ExecutorBase<bool, operation::DSA_Verify>::ResultPair
    constantsTouched: []
    func_position:
      end: 871
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 871
    functionName: cryptofuzz::ExecutorBase<bool, operation::DSA_Verify>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::DSA_Verify>::postprocess(std::shared_ptr<Module>
      module, operation::DSA_Verify& op, const ExecutorBase<bool, operation::DSA_Verify>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters::p::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:875,1
    - Dst: parameters::q::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:876,1
    - Dst: parameters::g::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:877,1
    - Dst: pub::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:878,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:879,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:880,1
    - Dst: std::shared_ptr<Module>::OpDSA_Verify
      Src: /src/cryptofuzz/executor.cpp:889,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DSA_Verify
    constantsTouched: []
    func_position:
      end: 890
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 890
    functionName: cryptofuzz::ExecutorBase<bool, operation::DSA_Verify>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - pub::ToTrimmedString
    - std::shared_ptr<Module>::OpDSA_Verify
    - signature::first::ToTrimmedString
    - parameters::q::ToTrimmedString
    - signature::second::ToTrimmedString
    - parameters::g::ToTrimmedString
    - parameters::p::ToTrimmedString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::DSA_Verify>::callModule(std::shared_ptr<Module>
      module, operation::DSA_Verify& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' operations'
    - ' results'
    - data
    - size
    argTypes:
    - std::vector< std::pair<std::shared_ptr<Module>, operation::DSA_Sign> >
    - ResultSet
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 900
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 900
    functionName: cryptofuzz::ExecutorBase<component::DSA_Signature, operation::DSA_Sign>::compare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DSA_Signature, operation::DSA_Sign>::compare(const
      std::vector< std::pair<std::shared_ptr<Module>, operation::DSA_Sign> >& operations,
      const ResultSet& results, const uint8_t* data, const size_t size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - moduleID
    - ' op'
    argTypes:
    - uint64_t
    - operation::DSA_Sign
    constantsTouched: []
    func_position:
      end: 906
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 906
    functionName: cryptofuzz::ExecutorBase<component::DSA_Signature, operation::DSA_Sign>::updateExtraCounters
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DSA_Signature, operation::DSA_Sign>::updateExtraCounters(const
      uint64_t moduleID, operation::DSA_Sign& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cleartext::ToHex
      Src: /src/cryptofuzz/executor.cpp:912,1
    - Dst: parameters::p::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:913,1
    - Dst: parameters::q::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:914,1
    - Dst: parameters::g::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:915,1
    - Dst: second::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:916,1
    - Dst: second::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:917,1
    - Dst: second::pub::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:918,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:920,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:930,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:930,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:931,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:931,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DSA_Sign
    - ExecutorBase<component::DSA_Signature, operation::DSA_Sign>::ResultPair
    constantsTouched: []
    func_position:
      end: 933
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 933
    functionName: cryptofuzz::ExecutorBase<component::DSA_Signature, operation::DSA_Sign>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - cleartext::ToHex
    - auto::size
    - second::pub::ToTrimmedString
    - Set
    - parameters::q::ToTrimmedString
    - parameters::g::ToTrimmedString
    - second::signature::first::ToTrimmedString
    - parameters::p::ToTrimmedString
    - second::signature::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DSA_Signature, operation::DSA_Sign>::postprocess(std::shared_ptr<Module>
      module, operation::DSA_Sign& op, const ExecutorBase<component::DSA_Signature,
      operation::DSA_Sign>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parameters::p::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:937,1
    - Dst: parameters::q::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:938,1
    - Dst: parameters::g::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:939,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:940,1
    - Dst: std::shared_ptr<Module>::OpDSA_Sign
      Src: /src/cryptofuzz/executor.cpp:949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DSA_Sign
    constantsTouched: []
    func_position:
      end: 950
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 950
    functionName: cryptofuzz::ExecutorBase<component::DSA_Signature, operation::DSA_Sign>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - priv::ToTrimmedString
    - parameters::q::ToTrimmedString
    - parameters::g::ToTrimmedString
    - std::shared_ptr<Module>::OpDSA_Sign
    - parameters::p::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::DSA_Signature>
    signature: std::optional<component::DSA_Signature> ExecutorBase<component::DSA_Signature,
      operation::DSA_Sign>::callModule(std::shared_ptr<Module> module, operation::DSA_Sign&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - moduleID
    - ' op'
    argTypes:
    - uint64_t
    - operation::DSA_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 959
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 959
    functionName: cryptofuzz::ExecutorBase<component::Bignum, operation::DSA_PrivateToPublic>::updateExtraCounters
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Bignum, operation::DSA_PrivateToPublic>::updateExtraCounters(const
      uint64_t moduleID, operation::DSA_PrivateToPublic& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DSA_PrivateToPublic
    - ExecutorBase<component::Bignum, operation::DSA_PrivateToPublic>::ResultPair
    constantsTouched: []
    func_position:
      end: 968
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 968
    functionName: cryptofuzz::ExecutorBase<component::Bignum, operation::DSA_PrivateToPublic>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Bignum, operation::DSA_PrivateToPublic>::postprocess(std::shared_ptr<Module>
      module, operation::DSA_PrivateToPublic& op, const ExecutorBase<component::Bignum,
      operation::DSA_PrivateToPublic>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpDSA_PrivateToPublic
      Src: /src/cryptofuzz/executor.cpp:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DSA_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 972
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 972
    functionName: cryptofuzz::ExecutorBase<component::Bignum, operation::DSA_PrivateToPublic>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpDSA_PrivateToPublic
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ExecutorBase<component::Bignum, operation::DSA_PrivateToPublic>::callModule(std::shared_ptr<Module>
      module, operation::DSA_PrivateToPublic& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' operations'
    - ' results'
    - data
    - size
    argTypes:
    - std::vector< std::pair<std::shared_ptr<Module>, operation::DSA_GenerateKeyPair>
      >
    - ResultSet
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 983
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 983
    functionName: cryptofuzz::ExecutorBase<component::DSA_KeyPair, operation::DSA_GenerateKeyPair>::compare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DSA_KeyPair, operation::DSA_GenerateKeyPair>::compare(const
      std::vector< std::pair<std::shared_ptr<Module>, operation::DSA_GenerateKeyPair>
      >& operations, const ResultSet& results, const uint8_t* data, const size_t size)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - moduleID
    - ' op'
    argTypes:
    - uint64_t
    - operation::DSA_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 990
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 990
    functionName: cryptofuzz::ExecutorBase<component::DSA_KeyPair, operation::DSA_GenerateKeyPair>::updateExtraCounters
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DSA_KeyPair, operation::DSA_GenerateKeyPair>::updateExtraCounters(const
      uint64_t moduleID, operation::DSA_GenerateKeyPair& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/executor.cpp:996,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:997,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:998,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1000,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DSA_GenerateKeyPair
    - ExecutorBase<component::DSA_KeyPair, operation::DSA_GenerateKeyPair>::ResultPair
    constantsTouched: []
    func_position:
      end: 1002
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 1002
    functionName: cryptofuzz::ExecutorBase<component::DSA_KeyPair, operation::DSA_GenerateKeyPair>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    - second::first::ToTrimmedString
    - Set
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DSA_KeyPair, operation::DSA_GenerateKeyPair>::postprocess(std::shared_ptr<Module>
      module, operation::DSA_GenerateKeyPair& op, const ExecutorBase<component::DSA_KeyPair,
      operation::DSA_GenerateKeyPair>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1006,1
    - Dst: q::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1007,1
    - Dst: g::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1008,1
    - Dst: std::shared_ptr<Module>::OpDSA_GenerateKeyPair
      Src: /src/cryptofuzz/executor.cpp:1017,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DSA_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 1018
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1018
    functionName: cryptofuzz::ExecutorBase<component::DSA_KeyPair, operation::DSA_GenerateKeyPair>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpDSA_GenerateKeyPair
    - q::ToTrimmedString
    - g::ToTrimmedString
    - p::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::DSA_KeyPair>
    signature: std::optional<component::DSA_KeyPair> ExecutorBase<component::DSA_KeyPair,
      operation::DSA_GenerateKeyPair>::callModule(std::shared_ptr<Module> module,
      operation::DSA_GenerateKeyPair& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' operations'
    - ' results'
    - data
    - size
    argTypes:
    - std::vector< std::pair<std::shared_ptr<Module>, operation::DSA_GenerateParameters>
      >
    - ResultSet
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1029
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1029
    functionName: cryptofuzz::ExecutorBase<component::DSA_Parameters, operation::DSA_GenerateParameters>::compare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DSA_Parameters, operation::DSA_GenerateParameters>::compare(const
      std::vector< std::pair<std::shared_ptr<Module>, operation::DSA_GenerateParameters>
      >& operations, const ResultSet& results, const uint8_t* data, const size_t size)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - moduleID
    - ' op'
    argTypes:
    - uint64_t
    - operation::DSA_GenerateParameters
    constantsTouched: []
    func_position:
      end: 1036
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1036
    functionName: cryptofuzz::ExecutorBase<component::DSA_Parameters, operation::DSA_GenerateParameters>::updateExtraCounters
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DSA_Parameters, operation::DSA_GenerateParameters>::updateExtraCounters(const
      uint64_t moduleID, operation::DSA_GenerateParameters& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/executor.cpp:1042,1
    - Dst: second::p::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1043,1
    - Dst: second::q::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1044,1
    - Dst: second::g::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1045,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1047,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1049,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1049,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1050,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1050,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1051,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1051,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DSA_GenerateParameters
    - ExecutorBase<component::DSA_Parameters, operation::DSA_GenerateParameters>::ResultPair
    constantsTouched: []
    func_position:
      end: 1053
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1053
    functionName: cryptofuzz::ExecutorBase<component::DSA_Parameters, operation::DSA_GenerateParameters>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::p::ToTrimmedString
    - Set
    - PRNG
    - second::g::ToTrimmedString
    - auto::size
    - second::q::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DSA_Parameters, operation::DSA_GenerateParameters>::postprocess(std::shared_ptr<Module>
      module, operation::DSA_GenerateParameters& op, const ExecutorBase<component::DSA_Parameters,
      operation::DSA_GenerateParameters>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpDSA_GenerateParameters
      Src: /src/cryptofuzz/executor.cpp:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DSA_GenerateParameters
    constantsTouched: []
    func_position:
      end: 1057
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1057
    functionName: cryptofuzz::ExecutorBase<component::DSA_Parameters, operation::DSA_GenerateParameters>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpDSA_GenerateParameters
    linkageType: ''
    returnType: std::optional<component::DSA_Parameters>
    signature: std::optional<component::DSA_Parameters> ExecutorBase<component::DSA_Parameters,
      operation::DSA_GenerateParameters>::callModule(std::shared_ptr<Module> module,
      operation::DSA_GenerateParameters& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECDH_Derive
    - ExecutorBase<component::Secret, operation::ECDH_Derive>::ResultPair
    constantsTouched: []
    func_position:
      end: 1064
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1064
    functionName: cryptofuzz::ExecutorBase<component::Secret, operation::ECDH_Derive>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Secret, operation::ECDH_Derive>::postprocess(std::shared_ptr<Module>
      module, operation::ECDH_Derive& op, const ExecutorBase<component::Secret, operation::ECDH_Derive>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1067,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1067,1
    - Dst: std::shared_ptr<Module>::OpECDH_Derive
      Src: /src/cryptofuzz/executor.cpp:1069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECDH_Derive
    constantsTouched: []
    func_position:
      end: 1070
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1070
    functionName: cryptofuzz::ExecutorBase<component::Secret, operation::ECDH_Derive>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - std::shared_ptr<Module>::OpECDH_Derive
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Secret>
    signature: std::optional<component::Secret> ExecutorBase<component::Secret, operation::ECDH_Derive>::callModule(std::shared_ptr<Module>
      module, operation::ECDH_Derive& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' operations'
    - ' results'
    - data
    - size
    argTypes:
    - std::vector< std::pair<std::shared_ptr<Module>, operation::ECIES_Encrypt> >
    - ResultSet
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1079
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1079
    functionName: cryptofuzz::ExecutorBase<component::Ciphertext, operation::ECIES_Encrypt>::compare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Ciphertext, operation::ECIES_Encrypt>::compare(const
      std::vector< std::pair<std::shared_ptr<Module>, operation::ECIES_Encrypt> >&
      operations, const ResultSet& results, const uint8_t* data, const size_t size)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECIES_Encrypt
    - ExecutorBase<component::Ciphertext, operation::ECIES_Encrypt>::ResultPair
    constantsTouched: []
    func_position:
      end: 1084
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1084
    functionName: cryptofuzz::ExecutorBase<component::Ciphertext, operation::ECIES_Encrypt>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Ciphertext, operation::ECIES_Encrypt>::postprocess(std::shared_ptr<Module>
      module, operation::ECIES_Encrypt& op, const ExecutorBase<component::Ciphertext,
      operation::ECIES_Encrypt>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1087,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1087,1
    - Dst: std::shared_ptr<Module>::OpECIES_Encrypt
      Src: /src/cryptofuzz/executor.cpp:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECIES_Encrypt
    constantsTouched: []
    func_position:
      end: 1090
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1090
    functionName: cryptofuzz::ExecutorBase<component::Ciphertext, operation::ECIES_Encrypt>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECIES_Encrypt
    - curveType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> ExecutorBase<component::Ciphertext,
      operation::ECIES_Encrypt>::callModule(std::shared_ptr<Module> module, operation::ECIES_Encrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECIES_Decrypt
    - ExecutorBase<component::Cleartext, operation::ECIES_Decrypt>::ResultPair
    constantsTouched: []
    func_position:
      end: 1097
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1097
    functionName: cryptofuzz::ExecutorBase<component::Cleartext, operation::ECIES_Decrypt>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Cleartext, operation::ECIES_Decrypt>::postprocess(std::shared_ptr<Module>
      module, operation::ECIES_Decrypt& op, const ExecutorBase<component::Cleartext,
      operation::ECIES_Decrypt>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1100,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1100,1
    - Dst: std::shared_ptr<Module>::OpECIES_Decrypt
      Src: /src/cryptofuzz/executor.cpp:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECIES_Decrypt
    constantsTouched: []
    func_position:
      end: 1103
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1103
    functionName: cryptofuzz::ExecutorBase<component::Cleartext, operation::ECIES_Decrypt>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - std::shared_ptr<Module>::OpECIES_Decrypt
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> ExecutorBase<component::Cleartext,
      operation::ECIES_Decrypt>::callModule(std::shared_ptr<Module> module, operation::ECIES_Decrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1110,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1111,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1112,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1114,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1116,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1116,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1117,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Add
    - ExecutorBase<component::ECC_Point, operation::ECC_Point_Add>::ResultPair
    constantsTouched: []
    func_position:
      end: 1119
      start: 1106
    functionDepth: 1
    functionLinenumber: 1106
    functionLinenumberEnd: 1119
    functionName: cryptofuzz::ExecutorBase<component::ECC_Point, operation::ECC_Point_Add>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::first::ToTrimmedString
    - Set
    - curveType::Get
    - auto::size
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECC_Point, operation::ECC_Point_Add>::postprocess(std::shared_ptr<Module>
      module, operation::ECC_Point_Add& op, const ExecutorBase<component::ECC_Point,
      operation::ECC_Point_Add>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1122,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1122,1
    - Dst: std::shared_ptr<Module>::OpECC_Point_Add
      Src: /src/cryptofuzz/executor.cpp:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 1125
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1125
    functionName: cryptofuzz::ExecutorBase<component::ECC_Point, operation::ECC_Point_Add>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECC_Point_Add
    - curveType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> ExecutorBase<component::ECC_Point,
      operation::ECC_Point_Add>::callModule(std::shared_ptr<Module> module, operation::ECC_Point_Add&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1132,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1133,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1134,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1136,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1138,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1138,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1139,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Sub
    - ExecutorBase<component::ECC_Point, operation::ECC_Point_Sub>::ResultPair
    constantsTouched: []
    func_position:
      end: 1141
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1141
    functionName: cryptofuzz::ExecutorBase<component::ECC_Point, operation::ECC_Point_Sub>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::first::ToTrimmedString
    - Set
    - curveType::Get
    - auto::size
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECC_Point, operation::ECC_Point_Sub>::postprocess(std::shared_ptr<Module>
      module, operation::ECC_Point_Sub& op, const ExecutorBase<component::ECC_Point,
      operation::ECC_Point_Sub>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1144,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1144,1
    - Dst: std::shared_ptr<Module>::OpECC_Point_Sub
      Src: /src/cryptofuzz/executor.cpp:1146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Sub
    constantsTouched: []
    func_position:
      end: 1147
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1147
    functionName: cryptofuzz::ExecutorBase<component::ECC_Point, operation::ECC_Point_Sub>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - RETURN_IF_DISABLED
    - std::shared_ptr<Module>::OpECC_Point_Sub
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> ExecutorBase<component::ECC_Point,
      operation::ECC_Point_Sub>::callModule(std::shared_ptr<Module> module, operation::ECC_Point_Sub&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1154,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1155,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1156,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1158,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1160,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1160,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1161,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Mul
    - ExecutorBase<component::ECC_Point, operation::ECC_Point_Mul>::ResultPair
    constantsTouched: []
    func_position:
      end: 1163
      start: 1150
    functionDepth: 1
    functionLinenumber: 1150
    functionLinenumberEnd: 1163
    functionName: cryptofuzz::ExecutorBase<component::ECC_Point, operation::ECC_Point_Mul>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::first::ToTrimmedString
    - Set
    - curveType::Get
    - auto::size
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECC_Point, operation::ECC_Point_Mul>::postprocess(std::shared_ptr<Module>
      module, operation::ECC_Point_Mul& op, const ExecutorBase<component::ECC_Point,
      operation::ECC_Point_Mul>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1166,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1166,1
    - Dst: std::shared_ptr<Module>::OpECC_Point_Mul
      Src: /src/cryptofuzz/executor.cpp:1168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 1169
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1169
    functionName: cryptofuzz::ExecutorBase<component::ECC_Point, operation::ECC_Point_Mul>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - std::shared_ptr<Module>::OpECC_Point_Mul
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> ExecutorBase<component::ECC_Point,
      operation::ECC_Point_Mul>::callModule(std::shared_ptr<Module> module, operation::ECC_Point_Mul&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1176,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1177,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1178,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1180,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1182,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1182,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1183,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Neg
    - ExecutorBase<component::ECC_Point, operation::ECC_Point_Neg>::ResultPair
    constantsTouched: []
    func_position:
      end: 1185
      start: 1172
    functionDepth: 1
    functionLinenumber: 1172
    functionLinenumberEnd: 1185
    functionName: cryptofuzz::ExecutorBase<component::ECC_Point, operation::ECC_Point_Neg>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::first::ToTrimmedString
    - Set
    - curveType::Get
    - auto::size
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECC_Point, operation::ECC_Point_Neg>::postprocess(std::shared_ptr<Module>
      module, operation::ECC_Point_Neg& op, const ExecutorBase<component::ECC_Point,
      operation::ECC_Point_Neg>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1188,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1188,1
    - Dst: std::shared_ptr<Module>::OpECC_Point_Neg
      Src: /src/cryptofuzz/executor.cpp:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 1191
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1191
    functionName: cryptofuzz::ExecutorBase<component::ECC_Point, operation::ECC_Point_Neg>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECC_Point_Neg
    - curveType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> ExecutorBase<component::ECC_Point,
      operation::ECC_Point_Neg>::callModule(std::shared_ptr<Module> module, operation::ECC_Point_Neg&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1198,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1199,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1200,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1202,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1204,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1204,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1205,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Dbl
    - ExecutorBase<component::ECC_Point, operation::ECC_Point_Dbl>::ResultPair
    constantsTouched: []
    func_position:
      end: 1207
      start: 1194
    functionDepth: 1
    functionLinenumber: 1194
    functionLinenumberEnd: 1207
    functionName: cryptofuzz::ExecutorBase<component::ECC_Point, operation::ECC_Point_Dbl>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::first::ToTrimmedString
    - Set
    - curveType::Get
    - auto::size
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECC_Point, operation::ECC_Point_Dbl>::postprocess(std::shared_ptr<Module>
      module, operation::ECC_Point_Dbl& op, const ExecutorBase<component::ECC_Point,
      operation::ECC_Point_Dbl>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1210,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1210,1
    - Dst: std::shared_ptr<Module>::OpECC_Point_Dbl
      Src: /src/cryptofuzz/executor.cpp:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 1213
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1213
    functionName: cryptofuzz::ExecutorBase<component::ECC_Point, operation::ECC_Point_Dbl>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - RETURN_IF_DISABLED
    - std::shared_ptr<Module>::OpECC_Point_Dbl
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> ExecutorBase<component::ECC_Point,
      operation::ECC_Point_Dbl>::callModule(std::shared_ptr<Module> module, operation::ECC_Point_Dbl&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Cmp
    - ExecutorBase<bool, operation::ECC_Point_Cmp>::ResultPair
    constantsTouched: []
    func_position:
      end: 1220
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1220
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECC_Point_Cmp>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::ECC_Point_Cmp>::postprocess(std::shared_ptr<Module>
      module, operation::ECC_Point_Cmp& op, const ExecutorBase<bool, operation::ECC_Point_Cmp>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1223,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1223,1
    - Dst: std::shared_ptr<Module>::OpECC_Point_Cmp
      Src: /src/cryptofuzz/executor.cpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::ECC_Point_Cmp
    constantsTouched: []
    func_position:
      end: 1226
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1226
    functionName: cryptofuzz::ExecutorBase<bool, operation::ECC_Point_Cmp>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpECC_Point_Cmp
    - curveType::Get
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::ECC_Point_Cmp>::callModule(std::shared_ptr<Module>
      module, operation::ECC_Point_Cmp& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DH_Derive
    - ExecutorBase<component::Bignum, operation::DH_Derive>::ResultPair
    constantsTouched: []
    func_position:
      end: 1233
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1233
    functionName: cryptofuzz::ExecutorBase<component::Bignum, operation::DH_Derive>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Bignum, operation::DH_Derive>::postprocess(std::shared_ptr<Module>
      module, operation::DH_Derive& op, const ExecutorBase<component::Bignum, operation::DH_Derive>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prime::GetSize
      Src: /src/cryptofuzz/executor.cpp:1236,1
    - Dst: base::GetSize
      Src: /src/cryptofuzz/executor.cpp:1237,1
    - Dst: pub::GetSize
      Src: /src/cryptofuzz/executor.cpp:1238,1
    - Dst: priv::GetSize
      Src: /src/cryptofuzz/executor.cpp:1239,1
    - Dst: std::shared_ptr<Module>::OpDH_Derive
      Src: /src/cryptofuzz/executor.cpp:1241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DH_Derive
    constantsTouched: []
    func_position:
      end: 1242
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1242
    functionName: cryptofuzz::ExecutorBase<component::Bignum, operation::DH_Derive>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - prime::GetSize
    - pub::GetSize
    - priv::GetSize
    - base::GetSize
    - std::shared_ptr<Module>::OpDH_Derive
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ExecutorBase<component::Bignum, operation::DH_Derive>::callModule(std::shared_ptr<Module>
      module, operation::DH_Derive& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PRNG
      Src: /src/cryptofuzz/executor.cpp:1250,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1251,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1252,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1254,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DH_GenerateKeyPair
    - ExecutorBase<component::DH_KeyPair, operation::DH_GenerateKeyPair>::ResultPair
    constantsTouched: []
    func_position:
      end: 1257
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1257
    functionName: cryptofuzz::ExecutorBase<component::DH_KeyPair, operation::DH_GenerateKeyPair>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    - second::first::ToTrimmedString
    - Set
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::DH_KeyPair, operation::DH_GenerateKeyPair>::postprocess(std::shared_ptr<Module>
      module, operation::DH_GenerateKeyPair& op, const ExecutorBase<component::DH_KeyPair,
      operation::DH_GenerateKeyPair>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prime::GetSize
      Src: /src/cryptofuzz/executor.cpp:1260,1
    - Dst: base::GetSize
      Src: /src/cryptofuzz/executor.cpp:1261,1
    - Dst: std::shared_ptr<Module>::OpDH_GenerateKeyPair
      Src: /src/cryptofuzz/executor.cpp:1263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::DH_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 1264
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1264
    functionName: cryptofuzz::ExecutorBase<component::DH_KeyPair, operation::DH_GenerateKeyPair>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - base::GetSize
    - std::shared_ptr<Module>::OpDH_GenerateKeyPair
    - prime::GetSize
    linkageType: ''
    returnType: std::optional<component::DH_KeyPair>
    signature: std::optional<component::DH_KeyPair> ExecutorBase<component::DH_KeyPair,
      operation::DH_GenerateKeyPair>::callModule(std::shared_ptr<Module> module, operation::DH_GenerateKeyPair&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1272,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1274,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1275,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/executor.cpp:1276,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/executor.cpp:1276,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1277,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/executor.cpp:1280,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/executor.cpp:1280,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1282,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BignumCalc
    - ExecutorBase<component::Bignum, operation::BignumCalc>::ResultPair
    constantsTouched: []
    func_position:
      end: 1286
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1286
    functionName: cryptofuzz::ExecutorBase<component::Bignum, operation::BignumCalc>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::ToTrimmedString
    - CF_CALCOP
    - calcOp::Is
    - Set
    - auto::size
    - bn0::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Bignum, operation::BignumCalc>::postprocess(std::shared_ptr<Module>
      module, operation::BignumCalc& op, const ExecutorBase<component::Bignum, operation::BignumCalc>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1289,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/executor.cpp:1289,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/executor.cpp:1292,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/executor.cpp:1293,1
    - Dst: bn2::GetSize
      Src: /src/cryptofuzz/executor.cpp:1294,1
    - Dst: bn3::GetSize
      Src: /src/cryptofuzz/executor.cpp:1295,1
    - Dst: std::shared_ptr<Module>::SupportsModularBignumCalc
      Src: /src/cryptofuzz/executor.cpp:1297,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/executor.cpp:1301,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/executor.cpp:1302,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/executor.cpp:1304,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/executor.cpp:1308,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/executor.cpp:1309,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/executor.cpp:1309,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/executor.cpp:1313,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/executor.cpp:1314,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/executor.cpp:1318,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/executor.cpp:1319,1
    - Dst: std::shared_ptr<Module>::OpBignumCalc
      Src: /src/cryptofuzz/executor.cpp:1325,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1326
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1326
    functionName: cryptofuzz::ExecutorBignumCalc::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - bn1::GetSize
    - bn0::GetSize
    - std::shared_ptr<Module>::OpBignumCalc
    - RETURN_IF_DISABLED
    - bn2::GetSize
    - calcOp::Get
    - std::shared_ptr<Module>::SupportsModularBignumCalc
    - bn3::GetSize
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ExecutorBignumCalc::callModule(std::shared_ptr<Module>
      module, operation::BignumCalc& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1334,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1335,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1337,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1338,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1340,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BignumCalc_Fp2
    - ExecutorBase<component::Fp2, operation::BignumCalc_Fp2>::ResultPair
    constantsTouched: []
    func_position:
      end: 1344
      start: 1329
    functionDepth: 1
    functionLinenumber: 1329
    functionLinenumberEnd: 1344
    functionName: cryptofuzz::ExecutorBase<component::Fp2, operation::BignumCalc_Fp2>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - second::first::ToTrimmedString
    - Set
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Fp2, operation::BignumCalc_Fp2>::postprocess(std::shared_ptr<Module>
      module, operation::BignumCalc_Fp2& op, const ExecutorBase<component::Fp2, operation::BignumCalc_Fp2>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1347,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/executor.cpp:1347,1
    - Dst: bn0::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:1350,1
    - Dst: bn0::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:1351,1
    - Dst: bn1::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:1352,1
    - Dst: bn1::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:1353,1
    - Dst: bn2::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:1354,1
    - Dst: bn2::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:1355,1
    - Dst: bn3::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:1356,1
    - Dst: bn3::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:1357,1
    - Dst: std::shared_ptr<Module>::SupportsModularBignumCalc
      Src: /src/cryptofuzz/executor.cpp:1359,1
    - Dst: std::shared_ptr<Module>::OpBignumCalc_Fp2
      Src: /src/cryptofuzz/executor.cpp:1363,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BignumCalc_Fp2
    constantsTouched: []
    func_position:
      end: 1364
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1364
    functionName: cryptofuzz::ExecutorBignumCalc_Fp2::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - bn3::second::GetSize
    - bn2::first::GetSize
    - bn3::first::GetSize
    - bn0::first::GetSize
    - bn1::second::GetSize
    - std::shared_ptr<Module>::OpBignumCalc_Fp2
    - bn0::second::GetSize
    - RETURN_IF_DISABLED
    - calcOp::Get
    - std::shared_ptr<Module>::SupportsModularBignumCalc
    - bn1::first::GetSize
    - bn2::second::GetSize
    linkageType: ''
    returnType: std::optional<component::Fp2>
    signature: std::optional<component::Fp2> ExecutorBignumCalc_Fp2::callModule(std::shared_ptr<Module>
      module, operation::BignumCalc_Fp2& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1372,1
    - Dst: second::bn1::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1373,1
    - Dst: second::bn2::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1374,1
    - Dst: second::bn3::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1375,1
    - Dst: second::bn4::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1376,1
    - Dst: second::bn5::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1377,1
    - Dst: second::bn6::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1378,1
    - Dst: second::bn7::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1379,1
    - Dst: second::bn8::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1380,1
    - Dst: second::bn9::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1381,1
    - Dst: second::bn10::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1382,1
    - Dst: second::bn11::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1383,1
    - Dst: second::bn12::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1384,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1388,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1389,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1391,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1392,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1394,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BignumCalc_Fp12
    - ExecutorBase<component::Fp12, operation::BignumCalc_Fp12>::ResultPair
    constantsTouched: []
    func_position:
      end: 1399
      start: 1367
    functionDepth: 1
    functionLinenumber: 1367
    functionLinenumberEnd: 1399
    functionName: cryptofuzz::ExecutorBase<component::Fp12, operation::BignumCalc_Fp12>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::bn2::ToTrimmedString
    - second::bn8::ToTrimmedString
    - second::first::ToTrimmedString
    - auto::size
    - second::bn9::ToTrimmedString
    - second::bn4::ToTrimmedString
    - second::bn6::ToTrimmedString
    - second::bn12::ToTrimmedString
    - second::bn1::ToTrimmedString
    - Set
    - second::bn11::ToTrimmedString
    - second::bn3::ToTrimmedString
    - second::bn10::ToTrimmedString
    - second::bn7::ToTrimmedString
    - second::bn5::ToTrimmedString
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Fp12, operation::BignumCalc_Fp12>::postprocess(std::shared_ptr<Module>
      module, operation::BignumCalc_Fp12& op, const ExecutorBase<component::Fp12,
      operation::BignumCalc_Fp12>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1402,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/executor.cpp:1402,1
    - Dst: bn0::bn1::GetSize
      Src: /src/cryptofuzz/executor.cpp:1405,1
    - Dst: bn0::bn2::GetSize
      Src: /src/cryptofuzz/executor.cpp:1406,1
    - Dst: bn0::bn3::GetSize
      Src: /src/cryptofuzz/executor.cpp:1407,1
    - Dst: bn0::bn4::GetSize
      Src: /src/cryptofuzz/executor.cpp:1408,1
    - Dst: bn0::bn5::GetSize
      Src: /src/cryptofuzz/executor.cpp:1409,1
    - Dst: bn0::bn6::GetSize
      Src: /src/cryptofuzz/executor.cpp:1410,1
    - Dst: bn0::bn7::GetSize
      Src: /src/cryptofuzz/executor.cpp:1411,1
    - Dst: bn0::bn8::GetSize
      Src: /src/cryptofuzz/executor.cpp:1412,1
    - Dst: bn0::bn9::GetSize
      Src: /src/cryptofuzz/executor.cpp:1413,1
    - Dst: bn0::bn10::GetSize
      Src: /src/cryptofuzz/executor.cpp:1414,1
    - Dst: bn0::bn11::GetSize
      Src: /src/cryptofuzz/executor.cpp:1415,1
    - Dst: bn0::bn12::GetSize
      Src: /src/cryptofuzz/executor.cpp:1416,1
    - Dst: bn1::bn1::GetSize
      Src: /src/cryptofuzz/executor.cpp:1418,1
    - Dst: bn1::bn2::GetSize
      Src: /src/cryptofuzz/executor.cpp:1419,1
    - Dst: bn1::bn3::GetSize
      Src: /src/cryptofuzz/executor.cpp:1420,1
    - Dst: bn1::bn4::GetSize
      Src: /src/cryptofuzz/executor.cpp:1421,1
    - Dst: bn1::bn5::GetSize
      Src: /src/cryptofuzz/executor.cpp:1422,1
    - Dst: bn1::bn6::GetSize
      Src: /src/cryptofuzz/executor.cpp:1423,1
    - Dst: bn1::bn7::GetSize
      Src: /src/cryptofuzz/executor.cpp:1424,1
    - Dst: bn1::bn8::GetSize
      Src: /src/cryptofuzz/executor.cpp:1425,1
    - Dst: bn1::bn9::GetSize
      Src: /src/cryptofuzz/executor.cpp:1426,1
    - Dst: bn1::bn10::GetSize
      Src: /src/cryptofuzz/executor.cpp:1427,1
    - Dst: bn1::bn11::GetSize
      Src: /src/cryptofuzz/executor.cpp:1428,1
    - Dst: bn1::bn12::GetSize
      Src: /src/cryptofuzz/executor.cpp:1429,1
    - Dst: bn2::bn1::GetSize
      Src: /src/cryptofuzz/executor.cpp:1431,1
    - Dst: bn2::bn2::GetSize
      Src: /src/cryptofuzz/executor.cpp:1432,1
    - Dst: bn2::bn3::GetSize
      Src: /src/cryptofuzz/executor.cpp:1433,1
    - Dst: bn2::bn4::GetSize
      Src: /src/cryptofuzz/executor.cpp:1434,1
    - Dst: bn2::bn5::GetSize
      Src: /src/cryptofuzz/executor.cpp:1435,1
    - Dst: bn2::bn6::GetSize
      Src: /src/cryptofuzz/executor.cpp:1436,1
    - Dst: bn2::bn7::GetSize
      Src: /src/cryptofuzz/executor.cpp:1437,1
    - Dst: bn2::bn8::GetSize
      Src: /src/cryptofuzz/executor.cpp:1438,1
    - Dst: bn2::bn9::GetSize
      Src: /src/cryptofuzz/executor.cpp:1439,1
    - Dst: bn2::bn10::GetSize
      Src: /src/cryptofuzz/executor.cpp:1440,1
    - Dst: bn2::bn11::GetSize
      Src: /src/cryptofuzz/executor.cpp:1441,1
    - Dst: bn2::bn12::GetSize
      Src: /src/cryptofuzz/executor.cpp:1442,1
    - Dst: bn3::bn1::GetSize
      Src: /src/cryptofuzz/executor.cpp:1444,1
    - Dst: bn3::bn2::GetSize
      Src: /src/cryptofuzz/executor.cpp:1445,1
    - Dst: bn3::bn3::GetSize
      Src: /src/cryptofuzz/executor.cpp:1446,1
    - Dst: bn3::bn4::GetSize
      Src: /src/cryptofuzz/executor.cpp:1447,1
    - Dst: bn3::bn5::GetSize
      Src: /src/cryptofuzz/executor.cpp:1448,1
    - Dst: bn3::bn6::GetSize
      Src: /src/cryptofuzz/executor.cpp:1449,1
    - Dst: bn3::bn7::GetSize
      Src: /src/cryptofuzz/executor.cpp:1450,1
    - Dst: bn3::bn8::GetSize
      Src: /src/cryptofuzz/executor.cpp:1451,1
    - Dst: bn3::bn9::GetSize
      Src: /src/cryptofuzz/executor.cpp:1452,1
    - Dst: bn3::bn10::GetSize
      Src: /src/cryptofuzz/executor.cpp:1453,1
    - Dst: bn3::bn11::GetSize
      Src: /src/cryptofuzz/executor.cpp:1454,1
    - Dst: bn3::bn12::GetSize
      Src: /src/cryptofuzz/executor.cpp:1455,1
    - Dst: std::shared_ptr<Module>::SupportsModularBignumCalc
      Src: /src/cryptofuzz/executor.cpp:1457,1
    - Dst: std::shared_ptr<Module>::OpBignumCalc_Fp12
      Src: /src/cryptofuzz/executor.cpp:1461,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 102
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BignumCalc_Fp12
    constantsTouched: []
    func_position:
      end: 1462
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1462
    functionName: cryptofuzz::ExecutorBignumCalc_Fp12::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - bn3::bn6::GetSize
    - bn2::bn4::GetSize
    - bn3::bn8::GetSize
    - bn3::bn1::GetSize
    - bn2::bn2::GetSize
    - bn2::bn8::GetSize
    - std::shared_ptr<Module>::OpBignumCalc_Fp12
    - bn0::bn6::GetSize
    - bn1::bn7::GetSize
    - bn0::bn9::GetSize
    - std::shared_ptr<Module>::SupportsModularBignumCalc
    - bn2::bn10::GetSize
    - bn3::bn11::GetSize
    - bn1::bn1::GetSize
    - bn1::bn5::GetSize
    - bn1::bn9::GetSize
    - bn1::bn11::GetSize
    - bn3::bn3::GetSize
    - bn2::bn9::GetSize
    - bn2::bn3::GetSize
    - bn0::bn4::GetSize
    - calcOp::Get
    - bn1::bn6::GetSize
    - bn2::bn7::GetSize
    - bn2::bn12::GetSize
    - bn1::bn8::GetSize
    - bn2::bn5::GetSize
    - bn2::bn6::GetSize
    - bn0::bn11::GetSize
    - bn1::bn4::GetSize
    - bn1::bn10::GetSize
    - bn2::bn1::GetSize
    - bn3::bn7::GetSize
    - bn3::bn4::GetSize
    - bn0::bn1::GetSize
    - bn3::bn9::GetSize
    - bn0::bn8::GetSize
    - bn1::bn3::GetSize
    - bn3::bn5::GetSize
    - bn0::bn12::GetSize
    - bn0::bn5::GetSize
    - bn2::bn11::GetSize
    - bn3::bn2::GetSize
    - bn1::bn2::GetSize
    - bn0::bn7::GetSize
    - bn0::bn3::GetSize
    - bn0::bn2::GetSize
    - RETURN_IF_DISABLED
    - bn0::bn10::GetSize
    - bn3::bn10::GetSize
    - bn3::bn12::GetSize
    - bn1::bn12::GetSize
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> ExecutorBignumCalc_Fp12::callModule(std::shared_ptr<Module>
      module, operation::BignumCalc_Fp12& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1469,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1470,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1471,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:1473,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1475,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1475,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1476,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_PrivateToPublic
    - ExecutorBase<component::BLS_PublicKey, operation::BLS_PrivateToPublic>::ResultPair
    constantsTouched: []
    func_position:
      end: 1478
      start: 1465
    functionDepth: 1
    functionLinenumber: 1465
    functionLinenumberEnd: 1478
    functionName: cryptofuzz::ExecutorBase<component::BLS_PublicKey, operation::BLS_PrivateToPublic>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::first::ToTrimmedString
    - Set
    - G1AddToPool
    - curveType::Get
    - auto::size
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::BLS_PublicKey, operation::BLS_PrivateToPublic>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_PrivateToPublic& op, const ExecutorBase<component::BLS_PublicKey,
      operation::BLS_PrivateToPublic>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1481,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1481,1
    - Dst: std::shared_ptr<Module>::OpBLS_PrivateToPublic
      Src: /src/cryptofuzz/executor.cpp:1489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 1490
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1490
    functionName: cryptofuzz::ExecutorBase<component::BLS_PublicKey, operation::BLS_PrivateToPublic>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - std::shared_ptr<Module>::OpBLS_PrivateToPublic
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> ExecutorBase<component::BLS_PublicKey,
      operation::BLS_PrivateToPublic>::callModule(std::shared_ptr<Module> module,
      operation::BLS_PrivateToPublic& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1496,1
    - Dst: second::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1497,1
    - Dst: second::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1498,1
    - Dst: second::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1499,1
    - Dst: second::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1500,1
    - Dst: G2AddToPool
      Src: /src/cryptofuzz/executor.cpp:1502,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1504,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1504,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1505,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1505,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1506,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1506,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1507,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_PrivateToPublic_G2
    - ExecutorBase<component::G2, operation::BLS_PrivateToPublic_G2>::ResultPair
    constantsTouched: []
    func_position:
      end: 1509
      start: 1493
    functionDepth: 1
    functionLinenumber: 1493
    functionLinenumberEnd: 1509
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_PrivateToPublic_G2>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - second::second::first::ToTrimmedString
    - second::first::first::ToTrimmedString
    - Set
    - G2AddToPool
    - curveType::Get
    - second::first::second::ToTrimmedString
    - second::second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G2, operation::BLS_PrivateToPublic_G2>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_PrivateToPublic_G2& op, const ExecutorBase<component::G2,
      operation::BLS_PrivateToPublic_G2>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_PrivateToPublic_G2
      Src: /src/cryptofuzz/executor.cpp:1518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_PrivateToPublic_G2
    constantsTouched: []
    func_position:
      end: 1519
      start: 1511
    functionDepth: 0
    functionLinenumber: 1511
    functionLinenumberEnd: 1519
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_PrivateToPublic_G2>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_PrivateToPublic_G2
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> ExecutorBase<component::G2, operation::BLS_PrivateToPublic_G2>::callModule(std::shared_ptr<Module>
      module, operation::BLS_PrivateToPublic_G2& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1526,1
    - Dst: point::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1527,1
    - Dst: point::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1528,1
    - Dst: point::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1529,1
    - Dst: point::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1530,1
    - Dst: cleartext::ToHex
      Src: /src/cryptofuzz/executor.cpp:1531,1
    - Dst: dest::ToHex
      Src: /src/cryptofuzz/executor.cpp:1532,1
    - Dst: aug::ToHex
      Src: /src/cryptofuzz/executor.cpp:1533,1
    - Dst: second::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1534,1
    - Dst: second::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1535,1
    - Dst: second::signature::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1536,1
    - Dst: second::signature::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1537,1
    - Dst: second::signature::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1538,1
    - Dst: second::signature::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1539,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:1541,1
    - Dst: G2AddToPool
      Src: /src/cryptofuzz/executor.cpp:1542,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1543,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1545,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1545,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1546,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1546,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1547,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1547,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1548,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1548,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1549,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1549,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1550,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1550,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Sign
    - ExecutorBase<component::BLS_Signature, operation::BLS_Sign>::ResultPair
    constantsTouched: []
    func_position:
      end: 1552
      start: 1522
    functionDepth: 1
    functionLinenumber: 1522
    functionLinenumberEnd: 1552
    functionName: cryptofuzz::ExecutorBase<component::BLS_Signature, operation::BLS_Sign>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - cleartext::ToHex
    - point::first::first::ToTrimmedString
    - aug::ToHex
    - point::first::second::ToTrimmedString
    - second::signature::second::second::ToTrimmedString
    - point::second::first::ToTrimmedString
    - auto::size
    - second::signature::first::first::ToTrimmedString
    - Set
    - second::pub::first::ToTrimmedString
    - second::signature::first::second::ToTrimmedString
    - second::signature::second::first::ToTrimmedString
    - G1AddToPool
    - curveType::Get
    - dest::ToHex
    - second::pub::second::ToTrimmedString
    - G2AddToPool
    - point::second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::BLS_Signature, operation::BLS_Sign>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_Sign& op, const ExecutorBase<component::BLS_Signature,
      operation::BLS_Sign>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_Sign
      Src: /src/cryptofuzz/executor.cpp:1561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Sign
    constantsTouched: []
    func_position:
      end: 1562
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1562
    functionName: cryptofuzz::ExecutorBase<component::BLS_Signature, operation::BLS_Sign>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_Sign
    linkageType: ''
    returnType: std::optional<component::BLS_Signature>
    signature: std::optional<component::BLS_Signature> ExecutorBase<component::BLS_Signature,
      operation::BLS_Sign>::callModule(std::shared_ptr<Module> module, operation::BLS_Sign&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Verify
    - ExecutorBase<bool, operation::BLS_Verify>::ResultPair
    constantsTouched: []
    func_position:
      end: 1569
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1569
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_Verify>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::BLS_Verify>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_Verify& op, const ExecutorBase<bool, operation::BLS_Verify>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1574,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1575,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1576,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1577,1
    - Dst: std::shared_ptr<Module>::OpBLS_Verify
      Src: /src/cryptofuzz/executor.cpp:1587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Verify
    constantsTouched: []
    func_position:
      end: 1588
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1588
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_Verify>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_Verify
    - pub::first::ToTrimmedString
    - signature::first::ToTrimmedString
    - signature::second::ToTrimmedString
    - pub::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::BLS_Verify>::callModule(std::shared_ptr<Module>
      module, operation::BLS_Verify& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/executor.cpp:1598,1
    - Dst: first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1601,1
    - Dst: first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1602,1
    - Dst: second::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1605,1
    - Dst: second::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1606,1
    - Dst: second::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1607,1
    - Dst: second::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1608,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:1612,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/executor.cpp:1612,1
    - Dst: first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1612,1
    - Dst: first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1612,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1613,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/executor.cpp:1614,1
    - Dst: second::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1615,1
    - Dst: second::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1616,1
    - Dst: second::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1617,1
    - Dst: second::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1618,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_BatchSign
    - ExecutorBase<component::BLS_BatchSignature, operation::BLS_BatchSign>::ResultPair
    constantsTouched: []
    func_position:
      end: 1623
      start: 1591
    functionDepth: 1
    functionLinenumber: 1591
    functionLinenumberEnd: 1623
    functionName: cryptofuzz::ExecutorBase<component::BLS_BatchSignature, operation::BLS_BatchSign>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - first::second::ToTrimmedString
    - CF_ECC_CURVE
    - second::first::first::ToTrimmedString
    - second::second::first::ToTrimmedString
    - Set
    - G1AddToPool
    - first::first::ToTrimmedString
    - std::vector::push_back
    - second::first::second::ToTrimmedString
    - second::second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::BLS_BatchSignature, operation::BLS_BatchSign>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_BatchSign& op, const ExecutorBase<component::BLS_BatchSignature,
      operation::BLS_BatchSign>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_BatchSign
      Src: /src/cryptofuzz/executor.cpp:1626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_BatchSign
    constantsTouched: []
    func_position:
      end: 1627
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1627
    functionName: cryptofuzz::ExecutorBase<component::BLS_BatchSignature, operation::BLS_BatchSign>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_BatchSign
    linkageType: ''
    returnType: std::optional<component::BLS_BatchSignature>
    signature: std::optional<component::BLS_BatchSignature> ExecutorBase<component::BLS_BatchSignature,
      operation::BLS_BatchSign>::callModule(std::shared_ptr<Module> module, operation::BLS_BatchSign&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_BatchVerify
    - ExecutorBase<bool, operation::BLS_BatchVerify>::ResultPair
    constantsTouched: []
    func_position:
      end: 1634
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1634
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_BatchVerify>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::BLS_BatchVerify>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_BatchVerify& op, const ExecutorBase<bool, operation::BLS_BatchVerify>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_BatchVerify
      Src: /src/cryptofuzz/executor.cpp:1637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_BatchVerify
    constantsTouched: []
    func_position:
      end: 1638
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1638
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_BatchVerify>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_BatchVerify
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::BLS_BatchVerify>::callModule(std::shared_ptr<Module>
      module, operation::BLS_BatchVerify& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Aggregate_G1
    - ExecutorBase<component::G1, operation::BLS_Aggregate_G1>::ResultPair
    constantsTouched: []
    func_position:
      end: 1645
      start: 1641
    functionDepth: 0
    functionLinenumber: 1641
    functionLinenumberEnd: 1645
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_Aggregate_G1>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G1, operation::BLS_Aggregate_G1>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_Aggregate_G1& op, const ExecutorBase<component::G1, operation::BLS_Aggregate_G1>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_Aggregate_G1
      Src: /src/cryptofuzz/executor.cpp:1648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Aggregate_G1
    constantsTouched: []
    func_position:
      end: 1649
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1649
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_Aggregate_G1>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_Aggregate_G1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> ExecutorBase<component::G1, operation::BLS_Aggregate_G1>::callModule(std::shared_ptr<Module>
      module, operation::BLS_Aggregate_G1& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Aggregate_G2
    - ExecutorBase<component::G2, operation::BLS_Aggregate_G2>::ResultPair
    constantsTouched: []
    func_position:
      end: 1656
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1656
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_Aggregate_G2>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G2, operation::BLS_Aggregate_G2>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_Aggregate_G2& op, const ExecutorBase<component::G2, operation::BLS_Aggregate_G2>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_Aggregate_G2
      Src: /src/cryptofuzz/executor.cpp:1659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Aggregate_G2
    constantsTouched: []
    func_position:
      end: 1660
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1660
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_Aggregate_G2>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_Aggregate_G2
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> ExecutorBase<component::G2, operation::BLS_Aggregate_G2>::callModule(std::shared_ptr<Module>
      module, operation::BLS_Aggregate_G2& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1668,1
    - Dst: second::bn1::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1669,1
    - Dst: second::bn2::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1670,1
    - Dst: second::bn3::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1671,1
    - Dst: second::bn4::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1672,1
    - Dst: second::bn5::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1673,1
    - Dst: second::bn6::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1674,1
    - Dst: second::bn7::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1675,1
    - Dst: second::bn8::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1676,1
    - Dst: second::bn9::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1677,1
    - Dst: second::bn10::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1678,1
    - Dst: second::bn11::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1679,1
    - Dst: second::bn12::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Pairing
    - ExecutorBase<component::Fp12, operation::BLS_Pairing>::ResultPair
    constantsTouched: []
    func_position:
      end: 1683
      start: 1663
    functionDepth: 1
    functionLinenumber: 1663
    functionLinenumberEnd: 1683
    functionName: cryptofuzz::ExecutorBase<component::Fp12, operation::BLS_Pairing>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::bn2::ToTrimmedString
    - second::bn8::ToTrimmedString
    - second::bn9::ToTrimmedString
    - second::bn4::ToTrimmedString
    - second::bn6::ToTrimmedString
    - second::bn12::ToTrimmedString
    - second::bn1::ToTrimmedString
    - Set
    - second::bn11::ToTrimmedString
    - second::bn3::ToTrimmedString
    - second::bn10::ToTrimmedString
    - second::bn7::ToTrimmedString
    - second::bn5::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Fp12, operation::BLS_Pairing>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_Pairing& op, const ExecutorBase<component::Fp12, operation::BLS_Pairing>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_Pairing
      Src: /src/cryptofuzz/executor.cpp:1686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Pairing
    constantsTouched: []
    func_position:
      end: 1687
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1687
    functionName: cryptofuzz::ExecutorBase<component::Fp12, operation::BLS_Pairing>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_Pairing
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> ExecutorBase<component::Fp12, operation::BLS_Pairing>::callModule(std::shared_ptr<Module>
      module, operation::BLS_Pairing& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1695,1
    - Dst: second::bn1::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1696,1
    - Dst: second::bn2::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1697,1
    - Dst: second::bn3::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1698,1
    - Dst: second::bn4::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1699,1
    - Dst: second::bn5::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1700,1
    - Dst: second::bn6::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1701,1
    - Dst: second::bn7::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1702,1
    - Dst: second::bn8::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1703,1
    - Dst: second::bn9::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1704,1
    - Dst: second::bn10::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1705,1
    - Dst: second::bn11::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1706,1
    - Dst: second::bn12::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_MillerLoop
    - ExecutorBase<component::Fp12, operation::BLS_MillerLoop>::ResultPair
    constantsTouched: []
    func_position:
      end: 1710
      start: 1690
    functionDepth: 1
    functionLinenumber: 1690
    functionLinenumberEnd: 1710
    functionName: cryptofuzz::ExecutorBase<component::Fp12, operation::BLS_MillerLoop>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::bn2::ToTrimmedString
    - second::bn8::ToTrimmedString
    - second::bn9::ToTrimmedString
    - second::bn4::ToTrimmedString
    - second::bn6::ToTrimmedString
    - second::bn12::ToTrimmedString
    - second::bn1::ToTrimmedString
    - Set
    - second::bn11::ToTrimmedString
    - second::bn3::ToTrimmedString
    - second::bn10::ToTrimmedString
    - second::bn7::ToTrimmedString
    - second::bn5::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Fp12, operation::BLS_MillerLoop>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_MillerLoop& op, const ExecutorBase<component::Fp12, operation::BLS_MillerLoop>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_MillerLoop
      Src: /src/cryptofuzz/executor.cpp:1713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_MillerLoop
    constantsTouched: []
    func_position:
      end: 1714
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1714
    functionName: cryptofuzz::ExecutorBase<component::Fp12, operation::BLS_MillerLoop>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_MillerLoop
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> ExecutorBase<component::Fp12, operation::BLS_MillerLoop>::callModule(std::shared_ptr<Module>
      module, operation::BLS_MillerLoop& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1722,1
    - Dst: second::bn1::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1723,1
    - Dst: second::bn2::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1724,1
    - Dst: second::bn3::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1725,1
    - Dst: second::bn4::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1726,1
    - Dst: second::bn5::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1727,1
    - Dst: second::bn6::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1728,1
    - Dst: second::bn7::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1729,1
    - Dst: second::bn8::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1730,1
    - Dst: second::bn9::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1731,1
    - Dst: second::bn10::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1732,1
    - Dst: second::bn11::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1733,1
    - Dst: second::bn12::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_FinalExp
    - ExecutorBase<component::Fp12, operation::BLS_FinalExp>::ResultPair
    constantsTouched: []
    func_position:
      end: 1737
      start: 1717
    functionDepth: 1
    functionLinenumber: 1717
    functionLinenumberEnd: 1737
    functionName: cryptofuzz::ExecutorBase<component::Fp12, operation::BLS_FinalExp>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::bn2::ToTrimmedString
    - second::bn8::ToTrimmedString
    - second::bn9::ToTrimmedString
    - second::bn4::ToTrimmedString
    - second::bn6::ToTrimmedString
    - second::bn12::ToTrimmedString
    - second::bn1::ToTrimmedString
    - Set
    - second::bn11::ToTrimmedString
    - second::bn3::ToTrimmedString
    - second::bn10::ToTrimmedString
    - second::bn7::ToTrimmedString
    - second::bn5::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Fp12, operation::BLS_FinalExp>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_FinalExp& op, const ExecutorBase<component::Fp12, operation::BLS_FinalExp>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1740,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1740,1
    - Dst: std::shared_ptr<Module>::OpBLS_FinalExp
      Src: /src/cryptofuzz/executor.cpp:1741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_FinalExp
    constantsTouched: []
    func_position:
      end: 1742
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1742
    functionName: cryptofuzz::ExecutorBase<component::Fp12, operation::BLS_FinalExp>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - std::shared_ptr<Module>::OpBLS_FinalExp
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> ExecutorBase<component::Fp12, operation::BLS_FinalExp>::callModule(std::shared_ptr<Module>
      module, operation::BLS_FinalExp& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1749,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1750,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1751,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:1753,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1755,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1755,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1756,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_HashToG1
    - ExecutorBase<component::G1, operation::BLS_HashToG1>::ResultPair
    constantsTouched: []
    func_position:
      end: 1758
      start: 1745
    functionDepth: 1
    functionLinenumber: 1745
    functionLinenumberEnd: 1758
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_HashToG1>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::first::ToTrimmedString
    - Set
    - G1AddToPool
    - curveType::Get
    - auto::size
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G1, operation::BLS_HashToG1>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_HashToG1& op, const ExecutorBase<component::G1, operation::BLS_HashToG1>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1761,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1761,1
    - Dst: std::shared_ptr<Module>::OpBLS_HashToG1
      Src: /src/cryptofuzz/executor.cpp:1762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_HashToG1
    constantsTouched: []
    func_position:
      end: 1763
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1763
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_HashToG1>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - std::shared_ptr<Module>::OpBLS_HashToG1
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> ExecutorBase<component::G1, operation::BLS_HashToG1>::callModule(std::shared_ptr<Module>
      module, operation::BLS_HashToG1& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1770,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1771,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1772,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:1774,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1776,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1776,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1777,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1777,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_MapToG1
    - ExecutorBase<component::G1, operation::BLS_MapToG1>::ResultPair
    constantsTouched: []
    func_position:
      end: 1779
      start: 1766
    functionDepth: 1
    functionLinenumber: 1766
    functionLinenumberEnd: 1779
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_MapToG1>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::first::ToTrimmedString
    - Set
    - G1AddToPool
    - curveType::Get
    - auto::size
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G1, operation::BLS_MapToG1>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_MapToG1& op, const ExecutorBase<component::G1, operation::BLS_MapToG1>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_MapToG1
      Src: /src/cryptofuzz/executor.cpp:1782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_MapToG1
    constantsTouched: []
    func_position:
      end: 1783
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1783
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_MapToG1>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_MapToG1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> ExecutorBase<component::G1, operation::BLS_MapToG1>::callModule(std::shared_ptr<Module>
      module, operation::BLS_MapToG1& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1790,1
    - Dst: second::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1791,1
    - Dst: second::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1792,1
    - Dst: second::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1793,1
    - Dst: second::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1794,1
    - Dst: G2AddToPool
      Src: /src/cryptofuzz/executor.cpp:1796,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1798,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1798,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1799,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1799,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1800,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1800,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1801,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1801,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_MapToG2
    - ExecutorBase<component::G2, operation::BLS_MapToG2>::ResultPair
    constantsTouched: []
    func_position:
      end: 1803
      start: 1786
    functionDepth: 1
    functionLinenumber: 1786
    functionLinenumberEnd: 1803
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_MapToG2>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - second::second::first::ToTrimmedString
    - second::first::first::ToTrimmedString
    - Set
    - G2AddToPool
    - curveType::Get
    - second::first::second::ToTrimmedString
    - second::second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G2, operation::BLS_MapToG2>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_MapToG2& op, const ExecutorBase<component::G2, operation::BLS_MapToG2>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_MapToG2
      Src: /src/cryptofuzz/executor.cpp:1806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_MapToG2
    constantsTouched: []
    func_position:
      end: 1807
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1807
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_MapToG2>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_MapToG2
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> ExecutorBase<component::G2, operation::BLS_MapToG2>::callModule(std::shared_ptr<Module>
      module, operation::BLS_MapToG2& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_IsG1OnCurve
    - ExecutorBase<bool, operation::BLS_IsG1OnCurve>::ResultPair
    constantsTouched: []
    func_position:
      end: 1814
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1814
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_IsG1OnCurve>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::BLS_IsG1OnCurve>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_IsG1OnCurve& op, const ExecutorBase<bool, operation::BLS_IsG1OnCurve>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1817,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1817,1
    - Dst: g1::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:1818,1
    - Dst: g1::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:1819,1
    - Dst: std::shared_ptr<Module>::OpBLS_IsG1OnCurve
      Src: /src/cryptofuzz/executor.cpp:1821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 1822
      start: 1816
    functionDepth: 0
    functionLinenumber: 1816
    functionLinenumberEnd: 1822
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_IsG1OnCurve>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - std::shared_ptr<Module>::OpBLS_IsG1OnCurve
    - RETURN_IF_DISABLED
    - g1::first::GetSize
    - g1::second::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::BLS_IsG1OnCurve>::callModule(std::shared_ptr<Module>
      module, operation::BLS_IsG1OnCurve& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_IsG2OnCurve
    - ExecutorBase<bool, operation::BLS_IsG2OnCurve>::ResultPair
    constantsTouched: []
    func_position:
      end: 1829
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1829
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_IsG2OnCurve>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::BLS_IsG2OnCurve>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_IsG2OnCurve& op, const ExecutorBase<bool, operation::BLS_IsG2OnCurve>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g2::first::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:1832,1
    - Dst: g2::first::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:1833,1
    - Dst: g2::second::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:1834,1
    - Dst: g2::second::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:1835,1
    - Dst: std::shared_ptr<Module>::OpBLS_IsG2OnCurve
      Src: /src/cryptofuzz/executor.cpp:1837,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 1838
      start: 1831
    functionDepth: 0
    functionLinenumber: 1831
    functionLinenumberEnd: 1838
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_IsG2OnCurve>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - g2::first::second::GetSize
    - g2::second::first::GetSize
    - g2::first::first::GetSize
    - g2::second::second::GetSize
    - std::shared_ptr<Module>::OpBLS_IsG2OnCurve
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::BLS_IsG2OnCurve>::callModule(std::shared_ptr<Module>
      module, operation::BLS_IsG2OnCurve& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1845,1
    - Dst: second::priv::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1846,1
    - Dst: second::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1847,1
    - Dst: second::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1848,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:1850,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1852,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1852,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1853,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1853,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1854,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_GenerateKeyPair
    - ExecutorBase<component::BLS_KeyPair, operation::BLS_GenerateKeyPair>::ResultPair
    constantsTouched: []
    func_position:
      end: 1856
      start: 1841
    functionDepth: 1
    functionLinenumber: 1841
    functionLinenumberEnd: 1856
    functionName: cryptofuzz::ExecutorBase<component::BLS_KeyPair, operation::BLS_GenerateKeyPair>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::priv::ToTrimmedString
    - Set
    - G1AddToPool
    - second::pub::first::ToTrimmedString
    - curveType::Get
    - second::pub::second::ToTrimmedString
    - auto::size
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::BLS_KeyPair, operation::BLS_GenerateKeyPair>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_GenerateKeyPair& op, const ExecutorBase<component::BLS_KeyPair,
      operation::BLS_GenerateKeyPair>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_GenerateKeyPair
      Src: /src/cryptofuzz/executor.cpp:1859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 1860
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1860
    functionName: cryptofuzz::ExecutorBase<component::BLS_KeyPair, operation::BLS_GenerateKeyPair>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_GenerateKeyPair
    linkageType: ''
    returnType: std::optional<component::BLS_KeyPair>
    signature: std::optional<component::BLS_KeyPair> ExecutorBase<component::BLS_KeyPair,
      operation::BLS_GenerateKeyPair>::callModule(std::shared_ptr<Module> module,
      operation::BLS_GenerateKeyPair& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1867,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1868,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1869,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:1871,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1873,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1873,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1874,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1874,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Decompress_G1
    - ExecutorBase<component::G1, operation::BLS_Decompress_G1>::ResultPair
    constantsTouched: []
    func_position:
      end: 1876
      start: 1863
    functionDepth: 1
    functionLinenumber: 1863
    functionLinenumberEnd: 1876
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_Decompress_G1>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::first::ToTrimmedString
    - Set
    - G1AddToPool
    - curveType::Get
    - auto::size
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G1, operation::BLS_Decompress_G1>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_Decompress_G1& op, const ExecutorBase<component::G1,
      operation::BLS_Decompress_G1>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_Decompress_G1
      Src: /src/cryptofuzz/executor.cpp:1879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Decompress_G1
    constantsTouched: []
    func_position:
      end: 1880
      start: 1878
    functionDepth: 0
    functionLinenumber: 1878
    functionLinenumberEnd: 1880
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_Decompress_G1>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_Decompress_G1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> ExecutorBase<component::G1, operation::BLS_Decompress_G1>::callModule(std::shared_ptr<Module>
      module, operation::BLS_Decompress_G1& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1888,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1890,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1890,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Compress_G1
    - ExecutorBase<component::Bignum, operation::BLS_Compress_G1>::ResultPair
    constantsTouched: []
    func_position:
      end: 1892
      start: 1883
    functionDepth: 1
    functionLinenumber: 1883
    functionLinenumberEnd: 1892
    functionName: cryptofuzz::ExecutorBase<component::Bignum, operation::BLS_Compress_G1>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::ToTrimmedString
    - auto::size
    - Set
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::Bignum, operation::BLS_Compress_G1>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_Compress_G1& op, const ExecutorBase<component::Bignum,
      operation::BLS_Compress_G1>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_Compress_G1
      Src: /src/cryptofuzz/executor.cpp:1895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Compress_G1
    constantsTouched: []
    func_position:
      end: 1896
      start: 1894
    functionDepth: 0
    functionLinenumber: 1894
    functionLinenumberEnd: 1896
    functionName: cryptofuzz::ExecutorBase<component::Bignum, operation::BLS_Compress_G1>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_Compress_G1
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ExecutorBase<component::Bignum, operation::BLS_Compress_G1>::callModule(std::shared_ptr<Module>
      module, operation::BLS_Compress_G1& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1903,1
    - Dst: second::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1904,1
    - Dst: second::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1905,1
    - Dst: second::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1906,1
    - Dst: second::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1907,1
    - Dst: G2AddToPool
      Src: /src/cryptofuzz/executor.cpp:1909,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1911,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1911,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1912,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1912,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1913,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1913,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1914,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1914,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Decompress_G2
    - ExecutorBase<component::G2, operation::BLS_Decompress_G2>::ResultPair
    constantsTouched: []
    func_position:
      end: 1916
      start: 1899
    functionDepth: 1
    functionLinenumber: 1899
    functionLinenumberEnd: 1916
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_Decompress_G2>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - second::second::first::ToTrimmedString
    - second::first::first::ToTrimmedString
    - Set
    - G2AddToPool
    - curveType::Get
    - second::first::second::ToTrimmedString
    - second::second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G2, operation::BLS_Decompress_G2>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_Decompress_G2& op, const ExecutorBase<component::G2,
      operation::BLS_Decompress_G2>::ResultPair& result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_Decompress_G2
      Src: /src/cryptofuzz/executor.cpp:1919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Decompress_G2
    constantsTouched: []
    func_position:
      end: 1920
      start: 1918
    functionDepth: 0
    functionLinenumber: 1918
    functionLinenumberEnd: 1920
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_Decompress_G2>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_Decompress_G2
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> ExecutorBase<component::G2, operation::BLS_Decompress_G2>::callModule(std::shared_ptr<Module>
      module, operation::BLS_Decompress_G2& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1927,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1928,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1929,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:1931,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1933,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1933,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1934,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1934,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Compress_G2
    - ExecutorBase<component::G1, operation::BLS_Compress_G2>::ResultPair
    constantsTouched: []
    func_position:
      end: 1936
      start: 1923
    functionDepth: 1
    functionLinenumber: 1923
    functionLinenumberEnd: 1936
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_Compress_G2>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::first::ToTrimmedString
    - Set
    - G1AddToPool
    - curveType::Get
    - auto::size
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G1, operation::BLS_Compress_G2>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_Compress_G2& op, const ExecutorBase<component::G1, operation::BLS_Compress_G2>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpBLS_Compress_G2
      Src: /src/cryptofuzz/executor.cpp:1939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_Compress_G2
    constantsTouched: []
    func_position:
      end: 1940
      start: 1938
    functionDepth: 0
    functionLinenumber: 1938
    functionLinenumberEnd: 1940
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_Compress_G2>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_Compress_G2
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> ExecutorBase<component::G1, operation::BLS_Compress_G2>::callModule(std::shared_ptr<Module>
      module, operation::BLS_Compress_G2& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1947,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1948,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1949,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:1951,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1953,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1953,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1954,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1954,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G1_Add
    - ExecutorBase<component::G1, operation::BLS_G1_Add>::ResultPair
    constantsTouched: []
    func_position:
      end: 1956
      start: 1943
    functionDepth: 1
    functionLinenumber: 1943
    functionLinenumberEnd: 1956
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_G1_Add>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::first::ToTrimmedString
    - Set
    - G1AddToPool
    - curveType::Get
    - auto::size
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G1, operation::BLS_G1_Add>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_G1_Add& op, const ExecutorBase<component::G1, operation::BLS_G1_Add>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1959,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1959,1
    - Dst: a::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:1960,1
    - Dst: a::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:1961,1
    - Dst: b::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:1962,1
    - Dst: b::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:1963,1
    - Dst: std::shared_ptr<Module>::OpBLS_G1_Add
      Src: /src/cryptofuzz/executor.cpp:1965,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 1966
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 1966
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_G1_Add>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - b::first::GetSize
    - a::first::GetSize
    - b::second::GetSize
    - curveType::Get
    - a::second::GetSize
    - std::shared_ptr<Module>::OpBLS_G1_Add
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> ExecutorBase<component::G1, operation::BLS_G1_Add>::callModule(std::shared_ptr<Module>
      module, operation::BLS_G1_Add& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1973,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1974,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:1975,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:1977,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1979,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1979,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:1980,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:1980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G1_Mul
    - ExecutorBase<component::G1, operation::BLS_G1_Mul>::ResultPair
    constantsTouched: []
    func_position:
      end: 1982
      start: 1969
    functionDepth: 1
    functionLinenumber: 1969
    functionLinenumberEnd: 1982
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_G1_Mul>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::first::ToTrimmedString
    - Set
    - G1AddToPool
    - curveType::Get
    - auto::size
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G1, operation::BLS_G1_Mul>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_G1_Mul& op, const ExecutorBase<component::G1, operation::BLS_G1_Mul>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:1985,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:1985,1
    - Dst: a::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:1986,1
    - Dst: a::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:1987,1
    - Dst: b::GetSize
      Src: /src/cryptofuzz/executor.cpp:1988,1
    - Dst: std::shared_ptr<Module>::OpBLS_G1_Mul
      Src: /src/cryptofuzz/executor.cpp:1990,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 1991
      start: 1984
    functionDepth: 0
    functionLinenumber: 1984
    functionLinenumberEnd: 1991
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_G1_Mul>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - a::first::GetSize
    - curveType::Get
    - a::second::GetSize
    - b::GetSize
    - RETURN_IF_DISABLED
    - std::shared_ptr<Module>::OpBLS_G1_Mul
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> ExecutorBase<component::G1, operation::BLS_G1_Mul>::callModule(std::shared_ptr<Module>
      module, operation::BLS_G1_Mul& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G1_IsEq
    - ExecutorBase<bool, operation::BLS_G1_IsEq>::ResultPair
    constantsTouched: []
    func_position:
      end: 1998
      start: 1994
    functionDepth: 0
    functionLinenumber: 1994
    functionLinenumberEnd: 1998
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_G1_IsEq>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::BLS_G1_IsEq>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_G1_IsEq& op, const ExecutorBase<bool, operation::BLS_G1_IsEq>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:2001,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2001,1
    - Dst: a::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2002,1
    - Dst: a::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2003,1
    - Dst: b::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2004,1
    - Dst: b::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2005,1
    - Dst: std::shared_ptr<Module>::OpBLS_G1_IsEq
      Src: /src/cryptofuzz/executor.cpp:2007,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 2008
      start: 2000
    functionDepth: 0
    functionLinenumber: 2000
    functionLinenumberEnd: 2008
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_G1_IsEq>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - b::first::GetSize
    - a::first::GetSize
    - b::second::GetSize
    - std::shared_ptr<Module>::OpBLS_G1_IsEq
    - curveType::Get
    - a::second::GetSize
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::BLS_G1_IsEq>::callModule(std::shared_ptr<Module>
      module, operation::BLS_G1_IsEq& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2015,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2016,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2017,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:2019,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2021,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2021,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2022,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G1_Neg
    - ExecutorBase<component::G1, operation::BLS_G1_Neg>::ResultPair
    constantsTouched: []
    func_position:
      end: 2024
      start: 2011
    functionDepth: 1
    functionLinenumber: 2011
    functionLinenumberEnd: 2024
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_G1_Neg>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::first::ToTrimmedString
    - Set
    - G1AddToPool
    - curveType::Get
    - auto::size
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G1, operation::BLS_G1_Neg>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_G1_Neg& op, const ExecutorBase<component::G1, operation::BLS_G1_Neg>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:2027,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2027,1
    - Dst: a::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2028,1
    - Dst: a::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2029,1
    - Dst: std::shared_ptr<Module>::OpBLS_G1_Neg
      Src: /src/cryptofuzz/executor.cpp:2031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 2032
      start: 2026
    functionDepth: 0
    functionLinenumber: 2026
    functionLinenumberEnd: 2032
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_G1_Neg>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - a::first::GetSize
    - curveType::Get
    - a::second::GetSize
    - std::shared_ptr<Module>::OpBLS_G1_Neg
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> ExecutorBase<component::G1, operation::BLS_G1_Neg>::callModule(std::shared_ptr<Module>
      module, operation::BLS_G1_Neg& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2039,1
    - Dst: second::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2040,1
    - Dst: second::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2041,1
    - Dst: second::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2042,1
    - Dst: second::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2043,1
    - Dst: G2AddToPool
      Src: /src/cryptofuzz/executor.cpp:2045,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2047,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2047,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2048,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2048,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2049,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2049,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2050,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2050,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G2_Add
    - ExecutorBase<component::G2, operation::BLS_G2_Add>::ResultPair
    constantsTouched: []
    func_position:
      end: 2052
      start: 2035
    functionDepth: 1
    functionLinenumber: 2035
    functionLinenumberEnd: 2052
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_G2_Add>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - second::second::first::ToTrimmedString
    - second::first::first::ToTrimmedString
    - Set
    - G2AddToPool
    - curveType::Get
    - second::first::second::ToTrimmedString
    - second::second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G2, operation::BLS_G2_Add>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_G2_Add& op, const ExecutorBase<component::G2, operation::BLS_G2_Add>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:2055,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2055,1
    - Dst: a::first::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2056,1
    - Dst: a::first::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2057,1
    - Dst: a::second::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2058,1
    - Dst: a::second::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2059,1
    - Dst: b::first::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2060,1
    - Dst: b::first::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2061,1
    - Dst: b::second::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2062,1
    - Dst: b::second::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2063,1
    - Dst: std::shared_ptr<Module>::OpBLS_G2_Add
      Src: /src/cryptofuzz/executor.cpp:2065,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 2066
      start: 2054
    functionDepth: 0
    functionLinenumber: 2054
    functionLinenumberEnd: 2066
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_G2_Add>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - b::second::first::GetSize
    - std::shared_ptr<Module>::OpBLS_G2_Add
    - b::first::first::GetSize
    - curveType::Get
    - RETURN_IF_DISABLED
    - a::second::second::GetSize
    - b::second::second::GetSize
    - a::second::first::GetSize
    - b::first::second::GetSize
    - a::first::second::GetSize
    - a::first::first::GetSize
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> ExecutorBase<component::G2, operation::BLS_G2_Add>::callModule(std::shared_ptr<Module>
      module, operation::BLS_G2_Add& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2073,1
    - Dst: second::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2074,1
    - Dst: second::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2075,1
    - Dst: second::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2076,1
    - Dst: second::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2077,1
    - Dst: G2AddToPool
      Src: /src/cryptofuzz/executor.cpp:2079,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2081,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2081,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2082,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2082,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2083,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2083,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2084,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2084,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G2_Mul
    - ExecutorBase<component::G2, operation::BLS_G2_Mul>::ResultPair
    constantsTouched: []
    func_position:
      end: 2086
      start: 2069
    functionDepth: 1
    functionLinenumber: 2069
    functionLinenumberEnd: 2086
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_G2_Mul>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - second::second::first::ToTrimmedString
    - second::first::first::ToTrimmedString
    - Set
    - G2AddToPool
    - curveType::Get
    - second::first::second::ToTrimmedString
    - second::second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G2, operation::BLS_G2_Mul>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_G2_Mul& op, const ExecutorBase<component::G2, operation::BLS_G2_Mul>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:2089,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2089,1
    - Dst: a::first::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2090,1
    - Dst: a::first::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2091,1
    - Dst: a::second::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2092,1
    - Dst: a::second::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2093,1
    - Dst: b::GetSize
      Src: /src/cryptofuzz/executor.cpp:2094,1
    - Dst: std::shared_ptr<Module>::OpBLS_G2_Mul
      Src: /src/cryptofuzz/executor.cpp:2096,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 2097
      start: 2088
    functionDepth: 0
    functionLinenumber: 2088
    functionLinenumberEnd: 2097
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_G2_Mul>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - b::GetSize
    - RETURN_IF_DISABLED
    - a::second::second::GetSize
    - a::second::first::GetSize
    - a::first::second::GetSize
    - std::shared_ptr<Module>::OpBLS_G2_Mul
    - a::first::first::GetSize
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> ExecutorBase<component::G2, operation::BLS_G2_Mul>::callModule(std::shared_ptr<Module>
      module, operation::BLS_G2_Mul& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G2_IsEq
    - ExecutorBase<bool, operation::BLS_G2_IsEq>::ResultPair
    constantsTouched: []
    func_position:
      end: 2104
      start: 2100
    functionDepth: 0
    functionLinenumber: 2100
    functionLinenumberEnd: 2104
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_G2_IsEq>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::BLS_G2_IsEq>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_G2_IsEq& op, const ExecutorBase<bool, operation::BLS_G2_IsEq>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:2107,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2107,1
    - Dst: a::first::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2108,1
    - Dst: a::first::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2109,1
    - Dst: a::second::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2110,1
    - Dst: a::second::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2111,1
    - Dst: b::first::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2112,1
    - Dst: b::first::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2113,1
    - Dst: b::second::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2114,1
    - Dst: b::second::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2115,1
    - Dst: std::shared_ptr<Module>::OpBLS_G2_IsEq
      Src: /src/cryptofuzz/executor.cpp:2117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 2118
      start: 2106
    functionDepth: 0
    functionLinenumber: 2106
    functionLinenumberEnd: 2118
    functionName: cryptofuzz::ExecutorBase<bool, operation::BLS_G2_IsEq>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - b::second::first::GetSize
    - std::shared_ptr<Module>::OpBLS_G2_IsEq
    - b::first::first::GetSize
    - curveType::Get
    - RETURN_IF_DISABLED
    - a::second::second::GetSize
    - b::second::second::GetSize
    - a::second::first::GetSize
    - b::first::second::GetSize
    - a::first::second::GetSize
    - a::first::first::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::BLS_G2_IsEq>::callModule(std::shared_ptr<Module>
      module, operation::BLS_G2_IsEq& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2125,1
    - Dst: second::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2126,1
    - Dst: second::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2127,1
    - Dst: second::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2128,1
    - Dst: second::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2129,1
    - Dst: G2AddToPool
      Src: /src/cryptofuzz/executor.cpp:2131,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2133,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2133,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2134,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2134,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2135,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2135,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2136,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G2_Neg
    - ExecutorBase<component::G2, operation::BLS_G2_Neg>::ResultPair
    constantsTouched: []
    func_position:
      end: 2138
      start: 2121
    functionDepth: 1
    functionLinenumber: 2121
    functionLinenumberEnd: 2138
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_G2_Neg>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - second::second::first::ToTrimmedString
    - second::first::first::ToTrimmedString
    - Set
    - G2AddToPool
    - curveType::Get
    - second::first::second::ToTrimmedString
    - second::second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G2, operation::BLS_G2_Neg>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_G2_Neg& op, const ExecutorBase<component::G2, operation::BLS_G2_Neg>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:2141,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2141,1
    - Dst: a::first::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2142,1
    - Dst: a::first::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2143,1
    - Dst: a::second::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2144,1
    - Dst: a::second::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2145,1
    - Dst: std::shared_ptr<Module>::OpBLS_G2_Neg
      Src: /src/cryptofuzz/executor.cpp:2147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 2148
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2148
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_G2_Neg>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpBLS_G2_Neg
    - curveType::Get
    - RETURN_IF_DISABLED
    - a::second::second::GetSize
    - a::second::first::GetSize
    - a::first::second::GetSize
    - a::first::first::GetSize
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> ExecutorBase<component::G2, operation::BLS_G2_Neg>::callModule(std::shared_ptr<Module>
      module, operation::BLS_G2_Neg& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2155,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2156,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2157,1
    - Dst: G1AddToPool
      Src: /src/cryptofuzz/executor.cpp:2159,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2161,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2161,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2162,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G1_MultiExp
    - ExecutorBase<component::G1, operation::BLS_G1_MultiExp>::ResultPair
    constantsTouched: []
    func_position:
      end: 2164
      start: 2151
    functionDepth: 1
    functionLinenumber: 2151
    functionLinenumberEnd: 2164
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_G1_MultiExp>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::first::ToTrimmedString
    - Set
    - G1AddToPool
    - curveType::Get
    - auto::size
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G1, operation::BLS_G1_MultiExp>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_G1_MultiExp& op, const ExecutorBase<component::G1, operation::BLS_G1_MultiExp>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:2167,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2167,1
    - Dst: first::first::GetSize
      Src: /src/cryptofuzz/executor.cpp:2170,1
    - Dst: first::second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2171,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/executor.cpp:2172,1
    - Dst: std::shared_ptr<Module>::OpBLS_G1_MultiExp
      Src: /src/cryptofuzz/executor.cpp:2175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_G1_MultiExp
    constantsTouched: []
    func_position:
      end: 2176
      start: 2166
    functionDepth: 0
    functionLinenumber: 2166
    functionLinenumberEnd: 2176
    functionName: cryptofuzz::ExecutorBase<component::G1, operation::BLS_G1_MultiExp>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - second::GetSize
    - first::first::GetSize
    - first::second::GetSize
    - curveType::Get
    - RETURN_IF_DISABLED
    - std::shared_ptr<Module>::OpBLS_G1_MultiExp
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> ExecutorBase<component::G1, operation::BLS_G1_MultiExp>::callModule(std::shared_ptr<Module>
      module, operation::BLS_G1_MultiExp& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::Misc
    - ExecutorBase<Buffer, operation::Misc>::ResultPair
    constantsTouched: []
    func_position:
      end: 2183
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2183
    functionName: cryptofuzz::ExecutorBase<Buffer, operation::Misc>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<Buffer, operation::Misc>::postprocess(std::shared_ptr<Module>
      module, operation::Misc& op, const ExecutorBase<Buffer, operation::Misc>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpMisc
      Src: /src/cryptofuzz/executor.cpp:2186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::Misc
    constantsTouched: []
    func_position:
      end: 2187
      start: 2185
    functionDepth: 0
    functionLinenumber: 2185
    functionLinenumberEnd: 2187
    functionName: cryptofuzz::ExecutorBase<Buffer, operation::Misc>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpMisc
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> ExecutorBase<Buffer, operation::Misc>::callModule(std::shared_ptr<Module>
      module, operation::Misc& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2194,1
    - Dst: second::first::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2195,1
    - Dst: second::first::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2196,1
    - Dst: second::second::first::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2197,1
    - Dst: second::second::second::ToTrimmedString
      Src: /src/cryptofuzz/executor.cpp:2198,1
    - Dst: G2AddToPool
      Src: /src/cryptofuzz/executor.cpp:2200,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2202,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2202,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2203,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2203,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2204,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2204,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2205,1
    - Dst: Set
      Src: /src/cryptofuzz/executor.cpp:2205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_HashToG2
    - ExecutorBase<component::G2, operation::BLS_HashToG2>::ResultPair
    constantsTouched: []
    func_position:
      end: 2207
      start: 2190
    functionDepth: 1
    functionLinenumber: 2190
    functionLinenumberEnd: 2207
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_HashToG2>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - second::second::first::ToTrimmedString
    - second::first::first::ToTrimmedString
    - Set
    - G2AddToPool
    - curveType::Get
    - second::first::second::ToTrimmedString
    - second::second::second::ToTrimmedString
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::G2, operation::BLS_HashToG2>::postprocess(std::shared_ptr<Module>
      module, operation::BLS_HashToG2& op, const ExecutorBase<component::G2, operation::BLS_HashToG2>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_DISABLED
      Src: /src/cryptofuzz/executor.cpp:2210,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2210,1
    - Dst: std::shared_ptr<Module>::OpBLS_HashToG2
      Src: /src/cryptofuzz/executor.cpp:2211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::BLS_HashToG2
    constantsTouched: []
    func_position:
      end: 2212
      start: 2209
    functionDepth: 0
    functionLinenumber: 2209
    functionLinenumberEnd: 2212
    functionName: cryptofuzz::ExecutorBase<component::G2, operation::BLS_HashToG2>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - curveType::Get
    - std::shared_ptr<Module>::OpBLS_HashToG2
    - RETURN_IF_DISABLED
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> ExecutorBase<component::G2, operation::BLS_HashToG2>::callModule(std::shared_ptr<Module>
      module, operation::BLS_HashToG2& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2216
      start: 2214
    functionDepth: 0
    functionLinenumber: 2214
    functionLinenumberEnd: 2216
    functionName: cryptofuzz::ExecutorBignumCalc::ExecutorBignumCalc
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc::ExecutorBignumCalc(const uint64_t operationID,
      const std::map<uint64_t, std::shared_ptr<Module> >& modules, const Options&
      options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBignum
      Src: /src/cryptofuzz/executor.cpp:2218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' modulo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 2219
      start: 2217
    functionDepth: 3
    functionLinenumber: 2217
    functionLinenumberEnd: 2219
    functionName: cryptofuzz::ExecutorBignumCalc::SetModulo
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - getBignum
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc::SetModulo(const std::string& modulo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2223,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2224
      start: 2221
    functionDepth: 0
    functionLinenumber: 2221
    functionLinenumberEnd: 2224
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BLS12_381_R::ExecutorBignumCalc_Mod_BLS12_381_R
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_BLS12_381_R::ExecutorBignumCalc_Mod_BLS12_381_R(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2228,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2229
      start: 2226
    functionDepth: 0
    functionLinenumber: 2226
    functionLinenumberEnd: 2229
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BLS12_381_P::ExecutorBignumCalc_Mod_BLS12_381_P
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_BLS12_381_P::ExecutorBignumCalc_Mod_BLS12_381_P(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2233,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2234
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2234
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BLS12_377_R::ExecutorBignumCalc_Mod_BLS12_377_R
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_BLS12_377_R::ExecutorBignumCalc_Mod_BLS12_377_R(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2238,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2239
      start: 2236
    functionDepth: 0
    functionLinenumber: 2236
    functionLinenumberEnd: 2239
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BLS12_377_P::ExecutorBignumCalc_Mod_BLS12_377_P
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_BLS12_377_P::ExecutorBignumCalc_Mod_BLS12_377_P(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2243,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2244
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2244
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BN128_R::ExecutorBignumCalc_Mod_BN128_R
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_BN128_R::ExecutorBignumCalc_Mod_BN128_R(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2248,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2249
      start: 2246
    functionDepth: 0
    functionLinenumber: 2246
    functionLinenumberEnd: 2249
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BN128_P::ExecutorBignumCalc_Mod_BN128_P
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_BN128_P::ExecutorBignumCalc_Mod_BN128_P(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2253,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2254
      start: 2251
    functionDepth: 0
    functionLinenumber: 2251
    functionLinenumberEnd: 2254
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_Vesta_R::ExecutorBignumCalc_Mod_Vesta_R
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_Vesta_R::ExecutorBignumCalc_Mod_Vesta_R(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2258,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2259
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2259
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_Vesta_P::ExecutorBignumCalc_Mod_Vesta_P
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_Vesta_P::ExecutorBignumCalc_Mod_Vesta_P(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2263,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2264
      start: 2261
    functionDepth: 0
    functionLinenumber: 2261
    functionLinenumberEnd: 2264
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_ED25519::ExecutorBignumCalc_Mod_ED25519
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_ED25519::ExecutorBignumCalc_Mod_ED25519(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2268,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2269
      start: 2266
    functionDepth: 0
    functionLinenumber: 2266
    functionLinenumberEnd: 2269
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_Edwards_R::ExecutorBignumCalc_Mod_Edwards_R
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_Edwards_R::ExecutorBignumCalc_Mod_Edwards_R(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2273,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2274
      start: 2271
    functionDepth: 0
    functionLinenumber: 2271
    functionLinenumberEnd: 2274
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_Edwards_P::ExecutorBignumCalc_Mod_Edwards_P
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_Edwards_P::ExecutorBignumCalc_Mod_Edwards_P(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2278,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2279
      start: 2276
    functionDepth: 0
    functionLinenumber: 2276
    functionLinenumberEnd: 2279
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_Goldilocks::ExecutorBignumCalc_Mod_Goldilocks
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_Goldilocks::ExecutorBignumCalc_Mod_Goldilocks(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2283,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2284
      start: 2281
    functionDepth: 0
    functionLinenumber: 2281
    functionLinenumberEnd: 2284
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_MNT4_R::ExecutorBignumCalc_Mod_MNT4_R
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_MNT4_R::ExecutorBignumCalc_Mod_MNT4_R(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2288,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2289
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2289
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_MNT4_P::ExecutorBignumCalc_Mod_MNT4_P
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_MNT4_P::ExecutorBignumCalc_Mod_MNT4_P(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2293,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2294
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2294
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_MNT6_R::ExecutorBignumCalc_Mod_MNT6_R
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_MNT6_R::ExecutorBignumCalc_Mod_MNT6_R(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2298,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2299
      start: 2296
    functionDepth: 0
    functionLinenumber: 2296
    functionLinenumberEnd: 2299
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_MNT6_P::ExecutorBignumCalc_Mod_MNT6_P
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_MNT6_P::ExecutorBignumCalc_Mod_MNT6_P(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2303,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2304
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2304
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_2Exp64::ExecutorBignumCalc_Mod_2Exp64
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_2Exp64::ExecutorBignumCalc_Mod_2Exp64(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2308,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2309
      start: 2306
    functionDepth: 0
    functionLinenumber: 2306
    functionLinenumberEnd: 2309
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_2Exp128::ExecutorBignumCalc_Mod_2Exp128
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_2Exp128::ExecutorBignumCalc_Mod_2Exp128(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2313,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2314
      start: 2311
    functionDepth: 0
    functionLinenumber: 2311
    functionLinenumberEnd: 2314
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_2Exp256::ExecutorBignumCalc_Mod_2Exp256
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_2Exp256::ExecutorBignumCalc_Mod_2Exp256(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2318,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2319
      start: 2316
    functionDepth: 0
    functionLinenumber: 2316
    functionLinenumberEnd: 2319
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_2Exp512::ExecutorBignumCalc_Mod_2Exp512
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_2Exp512::ExecutorBignumCalc_Mod_2Exp512(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2323,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2324
      start: 2321
    functionDepth: 0
    functionLinenumber: 2321
    functionLinenumberEnd: 2324
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_SECP256K1::ExecutorBignumCalc_Mod_SECP256K1
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_SECP256K1::ExecutorBignumCalc_Mod_SECP256K1(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/executor.cpp:2328,1
    - Dst: SetModulo
      Src: /src/cryptofuzz/executor.cpp:2328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2329
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2329
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_SECP256K1_P::ExecutorBignumCalc_Mod_SECP256K1_P
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - SetModulo
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Mod_SECP256K1_P::ExecutorBignumCalc_Mod_SECP256K1_P(const
      uint64_t operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules,
      const Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2333
      start: 2331
    functionDepth: 0
    functionLinenumber: 2331
    functionLinenumberEnd: 2333
    functionName: cryptofuzz::ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Fp2::ExecutorBignumCalc_Fp2(const uint64_t
      operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules, const
      Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBignum
      Src: /src/cryptofuzz/executor.cpp:2335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' modulo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 2336
      start: 2334
    functionDepth: 3
    functionLinenumber: 2334
    functionLinenumberEnd: 2336
    functionName: cryptofuzz::ExecutorBignumCalc_Fp2::SetModulo
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - getBignum
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Fp2::SetModulo(const std::string& modulo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2340
      start: 2338
    functionDepth: 0
    functionLinenumber: 2338
    functionLinenumberEnd: 2340
    functionName: cryptofuzz::ExecutorBignumCalc_Fp12::ExecutorBignumCalc_Fp12
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Fp12::ExecutorBignumCalc_Fp12(const uint64_t
      operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules, const
      Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getBignum
      Src: /src/cryptofuzz/executor.cpp:2342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' modulo'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 2343
      start: 2341
    functionDepth: 3
    functionLinenumber: 2341
    functionLinenumberEnd: 2343
    functionName: cryptofuzz::ExecutorBignumCalc_Fp12::SetModulo
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - getBignum
    linkageType: ''
    returnType: void
    signature: void ExecutorBignumCalc_Fp12::SetModulo(const std::string& modulo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - operationID
    - ' modules'
    - ' options'
    argTypes:
    - uint64_t
    - std::map<uint64_t, std::shared_ptr<Module> >
    - Options
    constantsTouched: []
    func_position:
      end: 2351
      start: 2346
    functionDepth: 0
    functionLinenumber: 2346
    functionLinenumberEnd: 2351
    functionName: cryptofuzz::ExecutorBase<ResultType, OperationType>::ExecutorBase
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<ResultType, OperationType>::ExecutorBase(const uint64_t
      operationID, const std::map<uint64_t, std::shared_ptr<Module> >& modules, const
      Options& options)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - module
    - ' op'
    - ' result'
    argTypes:
    - std::shared_ptr<Module>
    - operation::SR25519_Verify
    - ExecutorBase<bool, operation::SR25519_Verify>::ResultPair
    constantsTouched: []
    func_position:
      end: 2358
      start: 2354
    functionDepth: 0
    functionLinenumber: 2354
    functionLinenumberEnd: 2358
    functionName: cryptofuzz::ExecutorBase<bool, operation::SR25519_Verify>::postprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<bool, operation::SR25519_Verify>::postprocess(std::shared_ptr<Module>
      module, operation::SR25519_Verify& op, const ExecutorBase<bool, operation::SR25519_Verify>::ResultPair&
      result) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Module>::OpSR25519_Verify
      Src: /src/cryptofuzz/executor.cpp:2361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - ' op'
    argTypes:
    - std::shared_ptr<Module>
    - operation::SR25519_Verify
    constantsTouched: []
    func_position:
      end: 2362
      start: 2360
    functionDepth: 0
    functionLinenumber: 2360
    functionLinenumberEnd: 2362
    functionName: cryptofuzz::ExecutorBase<bool, operation::SR25519_Verify>::callModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Module>::OpSR25519_Verify
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ExecutorBase<bool, operation::SR25519_Verify>::callModule(std::shared_ptr<Module>
      module, operation::SR25519_Verify& op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2366
      start: 2365
    functionDepth: 0
    functionLinenumber: 2365
    functionLinenumberEnd: 2366
    functionName: ExecutorBase<ResultType, OperationType>::~ExecutorBase()
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<ResultType, OperationType>::~ExecutorBase()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResultSet::push_back
      Src: /src/cryptofuzz/executor.cpp:2378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' results'
    argTypes:
    - ResultSet
    constantsTouched: []
    func_position:
      end: 2382
      start: 2370
    functionDepth: 1
    functionLinenumber: 2370
    functionLinenumberEnd: 2382
    functionName: cryptofuzz::ExecutorBase<ResultType, OperationType>::filter
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - ResultSet::push_back
    linkageType: ''
    returnType: typename ExecutorBase<ResultType, OperationType>::ResultSet
    signature: typename ExecutorBase<ResultType, OperationType>::ResultSet ExecutorBase<ResultType,
      OperationType>::filter(const ResultSet& results) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' operations'
    - ' results'
    - data
    - size
    argTypes:
    - std::vector< std::pair<std::shared_ptr<Module>, operation::ECC_GenerateKeyPair>
      >
    - ResultSet
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2391
      start: 2386
    functionDepth: 0
    functionLinenumber: 2386
    functionLinenumberEnd: 2391
    functionName: cryptofuzz::ExecutorBase<component::ECC_KeyPair, operation::ECC_GenerateKeyPair>::compare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<component::ECC_KeyPair, operation::ECC_GenerateKeyPair>::compare(const
      std::vector< std::pair<std::shared_ptr<Module>, operation::ECC_GenerateKeyPair>
      >& operations, const ResultSet& results, const uint8_t* data, const size_t size)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - OperationType
    constantsTouched: []
    func_position:
      end: 2398
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2398
    functionName: cryptofuzz::ExecutorBase<ResultType, OperationType>::dontCompare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ExecutorBase<ResultType, OperationType>::dontCompare(const OperationType&
      operation) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/executor.cpp:2402,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/executor.cpp:2402,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/executor.cpp:2403,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/executor.cpp:2403,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/executor.cpp:2404,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/executor.cpp:2404,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/executor.cpp:2405,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/executor.cpp:2405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2408
      start: 2401
    functionDepth: 0
    functionLinenumber: 2401
    functionLinenumberEnd: 2408
    functionName: cryptofuzz::ExecutorBase<component::Bignum, operation::BignumCalc>::dontCompare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - calcOp::Get
    linkageType: ''
    returnType: bool
    signature: bool ExecutorBase<component::Bignum, operation::BignumCalc>::dontCompare(const
      operation::BignumCalc& operation) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - operation::ECCSI_Sign
    constantsTouched: []
    func_position:
      end: 2414
      start: 2411
    functionDepth: 0
    functionLinenumber: 2411
    functionLinenumberEnd: 2414
    functionName: cryptofuzz::ExecutorBase<component::ECCSI_Signature, operation::ECCSI_Sign>::dontCompare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ExecutorBase<component::ECCSI_Signature, operation::ECCSI_Sign>::dontCompare(const
      operation::ECCSI_Sign& operation) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2419,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/executor.cpp:2419,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2420,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/executor.cpp:2420,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/executor.cpp:2421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 2428
      start: 2417
    functionDepth: 0
    functionLinenumber: 2417
    functionLinenumberEnd: 2428
    functionName: cryptofuzz::ExecutorBase<component::ECDSA_Signature, operation::ECDSA_Sign>::dontCompare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    - curveType::Get
    - UseRandomNonce
    linkageType: ''
    returnType: bool
    signature: bool ExecutorBase<component::ECDSA_Signature, operation::ECDSA_Sign>::dontCompare(const
      operation::ECDSA_Sign& operation) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2433,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/executor.cpp:2433,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2434,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/executor.cpp:2434,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/executor.cpp:2435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - operation::ECGDSA_Sign
    constantsTouched: []
    func_position:
      end: 2442
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2442
    functionName: cryptofuzz::ExecutorBase<component::ECGDSA_Signature, operation::ECGDSA_Sign>::dontCompare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    - curveType::Get
    - UseRandomNonce
    linkageType: ''
    returnType: bool
    signature: bool ExecutorBase<component::ECGDSA_Signature, operation::ECGDSA_Sign>::dontCompare(const
      operation::ECGDSA_Sign& operation) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2447,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/executor.cpp:2447,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/executor.cpp:2448,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/executor.cpp:2448,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/executor.cpp:2449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - operation::ECRDSA_Sign
    constantsTouched: []
    func_position:
      end: 2456
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2456
    functionName: cryptofuzz::ExecutorBase<component::ECRDSA_Signature, operation::ECRDSA_Sign>::dontCompare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    - curveType::Get
    - UseRandomNonce
    linkageType: ''
    returnType: bool
    signature: bool ExecutorBase<component::ECRDSA_Signature, operation::ECRDSA_Sign>::dontCompare(const
      operation::ECRDSA_Sign& operation) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/executor.cpp:2461,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/executor.cpp:2461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 2464
      start: 2460
    functionDepth: 0
    functionLinenumber: 2460
    functionLinenumberEnd: 2464
    functionName: cryptofuzz::ExecutorBase<component::Ciphertext, operation::SymmetricEncrypt>::dontCompare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - CF_CIPHER
    linkageType: ''
    returnType: bool
    signature: bool ExecutorBase<component::Ciphertext, operation::SymmetricEncrypt>::dontCompare(const
      operation::SymmetricEncrypt& operation) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/executor.cpp:2468,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/executor.cpp:2468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 2471
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2471
    functionName: cryptofuzz::ExecutorBase<component::Cleartext, operation::SymmetricDecrypt>::dontCompare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - CF_CIPHER
    linkageType: ''
    returnType: bool
    signature: bool ExecutorBase<component::Cleartext, operation::SymmetricDecrypt>::dontCompare(const
      operation::SymmetricDecrypt& operation) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/executor.cpp:2475,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/executor.cpp:2475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 2478
      start: 2474
    functionDepth: 0
    functionLinenumber: 2474
    functionLinenumberEnd: 2478
    functionName: cryptofuzz::ExecutorBase<component::MAC, operation::CMAC>::dontCompare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - CF_CIPHER
    linkageType: ''
    returnType: bool
    signature: bool ExecutorBase<component::MAC, operation::CMAC>::dontCompare(const
      operation::CMAC& operation) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/executor.cpp:2482,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/executor.cpp:2482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 2485
      start: 2481
    functionDepth: 0
    functionLinenumber: 2481
    functionLinenumberEnd: 2485
    functionName: cryptofuzz::ExecutorBase<component::MAC, operation::HMAC>::dontCompare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - CF_CIPHER
    linkageType: ''
    returnType: bool
    signature: bool ExecutorBase<component::MAC, operation::HMAC>::dontCompare(const
      operation::HMAC& operation) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/executor.cpp:2489,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::filter
      Src: /src/cryptofuzz/executor.cpp:2494,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2496,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::dontCompare
      Src: /src/cryptofuzz/executor.cpp:2501,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2505,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/cryptofuzz/executor.cpp:2513,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2515,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2516,1
    - Dst: auto::ToString
      Src: /src/cryptofuzz/executor.cpp:2516,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2517,1
    - Dst: first::name::c_str
      Src: /src/cryptofuzz/executor.cpp:2517,1
    - Dst: cryptofuzz::util::ToString
      Src: /src/cryptofuzz/executor.cpp:2517,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2518,1
    - Dst: first::name::c_str
      Src: /src/cryptofuzz/executor.cpp:2518,1
    - Dst: cryptofuzz::util::ToString
      Src: /src/cryptofuzz/executor.cpp:2518,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/executor.cpp:2520,1
    - Dst: first::name::c_str
      Src: /src/cryptofuzz/executor.cpp:2521,1
    - Dst: first::name::c_str
      Src: /src/cryptofuzz/executor.cpp:2521,1
    - Dst: auto::Name
      Src: /src/cryptofuzz/executor.cpp:2522,1
    - Dst: auto::GetAlgorithmString
      Src: /src/cryptofuzz/executor.cpp:2523,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - ' operations'
    - ' results'
    - data
    - size
    argTypes:
    - std::vector< std::pair<std::shared_ptr<Module>, OperationType> >
    - ResultSet
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2528
      start: 2488
    functionDepth: 2
    functionLinenumber: 2488
    functionLinenumberEnd: 2528
    functionName: cryptofuzz::ExecutorBase<ResultType, OperationType>::compare
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - printf
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - auto::Name
    - size
    - auto::GetAlgorithmString
    - cryptofuzz::util::ToString
    - auto::ToString
    - first::name::c_str
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - auto::size
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::dontCompare
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::filter
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<ResultType, OperationType>::compare(const std::vector<
      std::pair<std::shared_ptr<Module>, OperationType> >& operations, const ResultSet&
      results, const uint8_t* data, const size_t size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/cryptofuzz/executor.cpp:2532,1
    - Dst: std::vector<std::string>::begin
      Src: /src/cryptofuzz/executor.cpp:2532,1
    - Dst: std::vector<std::string>::end
      Src: /src/cryptofuzz/executor.cpp:2532,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2534,1
    - Dst: system
      Src: /src/cryptofuzz/executor.cpp:2535,1
    - Dst: system
      Src: /src/cryptofuzz/executor.cpp:2536,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2538,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2540,1
    - Dst: c_str
      Src: /src/cryptofuzz/executor.cpp:2540,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2542,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/executor.cpp:2542,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/executor.cpp:2542,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/executor.cpp:2542,1
    - Dst: fflush
      Src: /src/cryptofuzz/executor.cpp:2543,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/executor.cpp:2545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - moduleNames
    - operation
    - algorithm
    - reason
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 2546
      start: 2531
    functionDepth: 1
    functionLinenumber: 2531
    functionLinenumberEnd: 2546
    functionName: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 17
    functionsReached:
    - std::vector<std::string>::begin
    - c_str
    - printf
    - fflush
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - std::string::c_str
    - std::vector<std::string>::end
    - std::sort
    - system
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<ResultType, OperationType>::abort(std::vector<std::string>
      moduleNames, const std::string operation, const std::string algorithm, const
      std::string reason) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - OperationType
    constantsTouched: []
    func_position:
      end: 2552
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2552
    functionName: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OperationType
    signature: OperationType ExecutorBase<ResultType, OperationType>::getOpPostprocess(Datasource*
      parentDs, OperationType op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2558
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2558
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BLS12_381_R::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_BLS12_381_R::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2564
      start: 2560
    functionDepth: 0
    functionLinenumber: 2560
    functionLinenumberEnd: 2564
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BLS12_381_P::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_BLS12_381_P::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2570
      start: 2566
    functionDepth: 0
    functionLinenumber: 2566
    functionLinenumberEnd: 2570
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BLS12_377_R::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_BLS12_377_R::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2576
      start: 2572
    functionDepth: 0
    functionLinenumber: 2572
    functionLinenumberEnd: 2576
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BLS12_377_P::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_BLS12_377_P::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2582
      start: 2578
    functionDepth: 0
    functionLinenumber: 2578
    functionLinenumberEnd: 2582
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BN128_R::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_BN128_R::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2588
      start: 2584
    functionDepth: 0
    functionLinenumber: 2584
    functionLinenumberEnd: 2588
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_BN128_P::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_BN128_P::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2594
      start: 2590
    functionDepth: 0
    functionLinenumber: 2590
    functionLinenumberEnd: 2594
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_Vesta_R::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_Vesta_R::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2600
      start: 2596
    functionDepth: 0
    functionLinenumber: 2596
    functionLinenumberEnd: 2600
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_Vesta_P::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_Vesta_P::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2606
      start: 2602
    functionDepth: 0
    functionLinenumber: 2602
    functionLinenumberEnd: 2606
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_ED25519::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_ED25519::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2612
      start: 2608
    functionDepth: 0
    functionLinenumber: 2608
    functionLinenumberEnd: 2612
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_Edwards_R::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_Edwards_R::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2618
      start: 2614
    functionDepth: 0
    functionLinenumber: 2614
    functionLinenumberEnd: 2618
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_Edwards_P::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_Edwards_P::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2624
      start: 2620
    functionDepth: 0
    functionLinenumber: 2620
    functionLinenumberEnd: 2624
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_Goldilocks::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_Goldilocks::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2630
      start: 2626
    functionDepth: 0
    functionLinenumber: 2626
    functionLinenumberEnd: 2630
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_MNT4_R::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_MNT4_R::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2636
      start: 2632
    functionDepth: 0
    functionLinenumber: 2632
    functionLinenumberEnd: 2636
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_MNT4_P::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_MNT4_P::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2642
      start: 2638
    functionDepth: 0
    functionLinenumber: 2638
    functionLinenumberEnd: 2642
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_MNT6_R::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_MNT6_R::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2648
      start: 2644
    functionDepth: 0
    functionLinenumber: 2644
    functionLinenumberEnd: 2648
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_MNT6_P::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_MNT6_P::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2654
      start: 2650
    functionDepth: 0
    functionLinenumber: 2650
    functionLinenumberEnd: 2654
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_2Exp64::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_2Exp64::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2660
      start: 2656
    functionDepth: 0
    functionLinenumber: 2656
    functionLinenumberEnd: 2660
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_2Exp128::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_2Exp128::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2666
      start: 2662
    functionDepth: 0
    functionLinenumber: 2662
    functionLinenumberEnd: 2666
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_2Exp256::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_2Exp256::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2672
      start: 2668
    functionDepth: 0
    functionLinenumber: 2668
    functionLinenumberEnd: 2672
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_2Exp512::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_2Exp512::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2678
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2678
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_SECP256K1::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_SECP256K1::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parentDs
    - op
    argTypes:
    - Datasource*
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2684
      start: 2680
    functionDepth: 0
    functionLinenumber: 2680
    functionLinenumberEnd: 2684
    functionName: cryptofuzz::ExecutorBignumCalc_Mod_SECP256K1_P::getOpPostprocess
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: operation::BignumCalc
    signature: operation::BignumCalc ExecutorBignumCalc_Mod_SECP256K1_P::getOpPostprocess(Datasource*
      parentDs, operation::BignumCalc op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Datasource*::GetData
      Src: /src/cryptofuzz/executor.cpp:2690,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOpPostprocess
      Src: /src/cryptofuzz/executor.cpp:2691,1
    - Dst: std::move
      Src: /src/cryptofuzz/executor.cpp:2691,1
    - Dst: OperationType
      Src: /src/cryptofuzz/executor.cpp:2691,1
    - Dst: component::Modifier
      Src: /src/cryptofuzz/executor.cpp:2691,1
    - Dst: auto::data
      Src: /src/cryptofuzz/executor.cpp:2691,1
    - Dst: auto::size
      Src: /src/cryptofuzz/executor.cpp:2691,1
    - Dst: std::move
      Src: /src/cryptofuzz/executor.cpp:2693,1
    - Dst: OperationType
      Src: /src/cryptofuzz/executor.cpp:2693,1
    - Dst: component::Modifier
      Src: /src/cryptofuzz/executor.cpp:2693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - parentDs
    - data
    - size
    argTypes:
    - Datasource*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2695
      start: 2687
    functionDepth: 1
    functionLinenumber: 2687
    functionLinenumberEnd: 2695
    functionName: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 65
    functionsReached:
    - auto::size
    - Datasource*::GetData
    - OperationType
    - component::Modifier
    - auto::data
    - std::move
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOpPostprocess
    linkageType: ''
    returnType: OperationType
    signature: OperationType ExecutorBase<ResultType, OperationType>::getOp(Datasource*
      parentDs, const uint8_t* data, const size_t size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/executor.cpp:2699,1
    - Dst: disableModules::HaveExplicit
      Src: /src/cryptofuzz/executor.cpp:2707,1
    - Dst: find
      Src: /src/cryptofuzz/executor.cpp:2711,1
    - Dst: end
      Src: /src/cryptofuzz/executor.cpp:2711,1
    - Dst: at
      Src: /src/cryptofuzz/executor.cpp:2715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 2716
      start: 2698
    functionDepth: 1
    functionLinenumber: 2698
    functionLinenumberEnd: 2716
    functionName: cryptofuzz::ExecutorBase<ResultType, OperationType>::getModule
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - at
    - disableModules::HaveExplicit
    - end
    - find
    - Get
    linkageType: ''
    returnType: std::shared_ptr<Module>
    signature: std::shared_ptr<Module> ExecutorBase<ResultType, OperationType>::getModule(Datasource&
      ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
      Src: /src/cryptofuzz/executor.cpp:2725,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::getModule
      Src: /src/cryptofuzz/executor.cpp:2726,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/executor.cpp:2731,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/executor.cpp:2734,1
    - Dst: cryptofuzz::operation::Digest::MaxOperations
      Src: /src/cryptofuzz/executor.cpp:2734,1
    - Dst: Get
      Src: /src/cryptofuzz/executor.cpp:2737,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/executor.cpp:2739,1
    - Dst: disableModules::HaveExplicit
      Src: /src/cryptofuzz/executor.cpp:2751,1
    - Dst: std::set::insert
      Src: /src/cryptofuzz/executor.cpp:2755,1
    - Dst: std::set::insert
      Src: /src/cryptofuzz/executor.cpp:2760,1
    - Dst: std::set::size
      Src: /src/cryptofuzz/executor.cpp:2763,1
    - Dst: std::set_difference
      Src: /src/cryptofuzz/executor.cpp:2764,1
    - Dst: std::set::begin
      Src: /src/cryptofuzz/executor.cpp:2764,1
    - Dst: std::set::end
      Src: /src/cryptofuzz/executor.cpp:2764,1
    - Dst: std::set::begin
      Src: /src/cryptofuzz/executor.cpp:2764,1
    - Dst: std::set::end
      Src: /src/cryptofuzz/executor.cpp:2764,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/executor.cpp:2764,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/executor.cpp:2765,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/executor.cpp:2765,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/executor.cpp:2768,1
    - Dst: at
      Src: /src/cryptofuzz/executor.cpp:2768,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/executor.cpp:2773,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/executor.cpp:2777,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2778,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/executor.cpp:2778,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/executor.cpp:2780,1
    - Dst: auto::modifier::GetVectorPtr
      Src: /src/cryptofuzz/executor.cpp:2791,1
    - Dst: size
      Src: /src/cryptofuzz/executor.cpp:2792,1
    - Dst: push_back
      Src: /src/cryptofuzz/executor.cpp:2794,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2805,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/executor.cpp:2805,1
    - Dst: auto::modifier::Get
      Src: /src/cryptofuzz/executor.cpp:2805,1
    - Dst: typename ExecutorBase<ResultType, OperationType>::ResultSet::push_back
      Src: /src/cryptofuzz/executor.cpp:2808,1
    - Dst: std::move
      Src: /src/cryptofuzz/executor.cpp:2808,1
    - Dst: callModule
      Src: /src/cryptofuzz/executor.cpp:2808,1
    - Dst: typename ExecutorBase<ResultType, OperationType>::ResultSet::back
      Src: /src/cryptofuzz/executor.cpp:2810,1
    - Dst: auto::ToJSON
      Src: /src/cryptofuzz/executor.cpp:2815,1
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/executor.cpp:2816,1
    - Dst: fprintf
      Src: /src/cryptofuzz/executor.cpp:2817,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/executor.cpp:2817,1
    - Dst: printf
      Src: /src/cryptofuzz/executor.cpp:2822,1
    - Dst: first::name::c_str
      Src: /src/cryptofuzz/executor.cpp:2823,1
    - Dst: cryptofuzz::util::ToString
      Src: /src/cryptofuzz/executor.cpp:2826,1
    - Dst: cryptofuzz::tests::test
      Src: /src/cryptofuzz/executor.cpp:2830,1
    - Dst: postprocess
      Src: /src/cryptofuzz/executor.cpp:2833,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::compare
      Src: /src/cryptofuzz/executor.cpp:2837,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 65
    argCount: 3
    argNames:
    - ' parentDs'
    - data
    - size
    argTypes:
    - Datasource
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2839
      start: 2719
    functionDepth: 2
    functionLinenumber: 2719
    functionLinenumberEnd: 2839
    functionName: cryptofuzz::ExecutorBase<ResultType, OperationType>::Run
    functionSourceFile: /src/cryptofuzz/executor.cpp
    functionUses: 0
    functionsReached:
    - std::set::insert
    - std::vector::size
    - cryptofuzz::util::HexDump
    - printf
    - std::vector::begin
    - cryptofuzz::tests::test
    - at
    - std::vector::push_back
    - fprintf
    - first::name::c_str
    - second::ToString
    - typename ExecutorBase<ResultType, OperationType>::ResultSet::back
    - std::set::begin
    - std::vector::empty
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::compare
    - std::set_difference
    - disableModules::HaveExplicit
    - typename ExecutorBase<ResultType, OperationType>::ResultSet::push_back
    - nlohmann::json::dump
    - cryptofuzz::util::ToString
    - cryptofuzz::util::ToJSON
    - std::set::size
    - std::vector::resize
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getModule
    - auto::ToJSON
    - size
    - callModule
    - push_back
    - std::move
    - Get
    - auto::modifier::Get
    - postprocess
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::getOp
    - auto::modifier::GetVectorPtr
    - std::set::end
    - cryptofuzz::operation::Digest::MaxOperations
    linkageType: ''
    returnType: void
    signature: void ExecutorBase<ResultType, OperationType>::Run(Datasource& parentDs,
      const uint8_t* data, const size_t size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - outDir
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: cryptofuzz::Bignum_Fuzzer_Importer::Bignum_Fuzzer_Importer
    functionSourceFile: /src/cryptofuzz/bignum_fuzzer_importer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum_Fuzzer_Importer::Bignum_Fuzzer_Importer(const std::string
      filename, const std::string outDir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::istreambuf_iterator<char>
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:18,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:18,1
    - Dst: cryptofuzz::Bignum_Fuzzer_Importer::LoadInput
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: cryptofuzz::Bignum_Fuzzer_Importer::Run
    functionSourceFile: /src/cryptofuzz/bignum_fuzzer_importer.cpp
    functionUses: 0
    functionsReached:
    - std::istreambuf_iterator<char>
    - cryptofuzz::Bignum_Fuzzer_Importer::LoadInput
    linkageType: ''
    returnType: void
    signature: void Bignum_Fuzzer_Importer::Run(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: cryptofuzz::bignum_from_bin
    functionSourceFile: /src/cryptofuzz/bignum_fuzzer_importer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string bignum_from_bin(const uint8_t* data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:35,1
    - Dst: memcpy
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:39,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:39,1
    - Dst: bignum_from_bin
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:41,1
    - Dst: bignum_from_bin
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:42,1
    - Dst: bignum_from_bin
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:43,1
    - Dst: bignum_from_bin
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:44,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:47,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:48,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:49,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:50,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:51,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:52,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:53,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:54,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:55,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:56,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:57,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:58,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:59,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:60,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:61,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:62,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:63,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:64,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:65,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:66,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:81,1
    - Dst: cryptofuzz::Bignum_Fuzzer_Importer::write
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:82,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 84
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 84
    functionName: cryptofuzz::Bignum_Fuzzer_Importer::LoadInput
    functionSourceFile: /src/cryptofuzz/bignum_fuzzer_importer.cpp
    functionUses: 1
    functionsReached:
    - CF_CALCOP
    - cryptofuzz::operation::BignumCalc::Serialize
    - memcpy
    - bignum_from_bin
    - CF_OPERATION
    - cryptofuzz::Bignum_Fuzzer_Importer::write
    - std::vector<uint8_t>::data
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void Bignum_Fuzzer_Importer::LoadInput(const std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:90,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:92,1
    - Dst: GetOut
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:92,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:95,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:95,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:98,1
    - Dst: CF_MODULE
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:98,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:101,1
    - Dst: std::string
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:104,1
    - Dst: cryptofuzz::util::SHA1
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:104,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:104,1
    - Dst: fopen
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:105,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:105,1
    - Dst: fwrite
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:106,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:106,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:106,1
    - Dst: fclose
      Src: /src/cryptofuzz/bignum_fuzzer_importer.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - operation
    - ' dsOut2'
    argTypes:
    - uint64_t
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 109
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 109
    functionName: cryptofuzz::Bignum_Fuzzer_Importer::write
    functionSourceFile: /src/cryptofuzz/bignum_fuzzer_importer.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::util::SHA1
    - std::string
    - CF_MODULE
    - fuzzing::datasource::Datasource::Put
    - std::vector<uint8_t>
    - std::string::c_str
    - GetOut
    - fclose
    - fuzzing::datasource::Datasource::GetOut
    - fuzzing::datasource::Datasource::PutData
    - fwrite
    - fopen
    linkageType: ''
    returnType: void
    signature: void Bignum_Fuzzer_Importer::write(const uint64_t operation, fuzzing::datasource::Datasource&
      dsOut2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:25,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:73,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:73,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:74,1
    - Dst: EC_POINT_new
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:74,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:75,1
    - Dst: BN_CTX_new
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:75,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:76,1
    - Dst: BN_new
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:76,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:77,1
    - Dst: BN_new
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:77,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:78,1
    - Dst: BN_dec2bn
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:78,1
    - Dst: c_str
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:78,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:79,1
    - Dst: BN_dec2bn
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:79,1
    - Dst: c_str
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:79,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:80,1
    - Dst: EC_POINT_set_affine_coordinates_GFp
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:80,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:81,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:81,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:82,1
    - Dst: BN_new
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:82,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:83,1
    - Dst: EC_POINT_point2bn
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:83,1
    - Dst: BN_num_bytes
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:84,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:85,1
    - Dst: malloc
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:86,1
    - Dst: BN_bn2bin
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:87,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:89,1
    - Dst: EC_GROUP_clear_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:92,1
    - Dst: EC_POINT_clear_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:93,1
    - Dst: BN_CTX_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:94,1
    - Dst: BN_clear_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:95,1
    - Dst: BN_clear_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:96,1
    - Dst: BN_clear_free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:97,1
    - Dst: free
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 3
    argNames:
    - ' ax'
    - ' ay'
    - tlsId
    argTypes:
    - std::string
    - std::string
    - uint16_t
    constantsTouched: []
    func_position:
      end: 102
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 102
    functionName: cryptofuzz::ecc_diff_fuzzer_exporter::compressPoint
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp
    functionUses: 0
    functionsReached:
    - BN_new
    - free
    - BN_dec2bn
    - CF_CHECK_GT
    - EC_POINT_point2bn
    - malloc
    - BN_CTX_new
    - std::vector<uint8_t>
    - BN_num_bytes
    - BN_CTX_free
    - CF_CHECK_NE
    - EC_GROUP_clear_free
    - EC_POINT_clear_free
    - BN_bn2bin
    - BN_clear_free
    - c_str
    - EC_POINT_is_on_curve
    - EC_POINT_set_affine_coordinates_GFp
    - CF_ASSERT
    - EC_GROUP_new_by_curve_name
    - EC_POINT_new
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: "std::optional<std::vector<uint8_t>> compressPoint(\n        const
      std::string& ax,\n        const std::string& ay,\n        const uint16_t tlsId)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:106,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:108,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:110,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:112,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:114,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:116,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:118,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:120,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:122,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:124,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - curveType
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 131
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 131
    functionName: cryptofuzz::ecc_diff_fuzzer_exporter::toTlsId
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: std::optional<uint16_t> toTlsId(const uint64_t curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - tlsId
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 171
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 171
    functionName: cryptofuzz::ecc_diff_fuzzer_exporter::bitlenFromTlsId
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bitlenFromTlsId(const uint16_t tlsId)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numBits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: cryptofuzz::ecc_diff_fuzzer_exporter::ecdf_byteceil
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ecdf_byteceil(const size_t numBits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - filename
    - outDir
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: cryptofuzz::ECC_Diff_Fuzzer_Exporter::ECC_Diff_Fuzzer_Exporter
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_Diff_Fuzzer_Exporter::ECC_Diff_Fuzzer_Exporter(const std::string
      filename, const std::string outDir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::istreambuf_iterator<char>
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:185,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:185,1
    - Dst: cryptofuzz::ECC_Diff_Fuzzer_Exporter::LoadInput
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: cryptofuzz::ECC_Diff_Fuzzer_Exporter::Run
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp
    functionUses: 0
    functionsReached:
    - std::istreambuf_iterator<char>
    - cryptofuzz::ECC_Diff_Fuzzer_Exporter::LoadInput
    linkageType: ''
    returnType: void
    signature: void ECC_Diff_Fuzzer_Exporter::Run(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:192,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:192,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:193,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:194,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:194,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:197,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:198,1
    - Dst: auto::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:199,1
    - Dst: auto::size
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:199,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:200,1
    - Dst: cryptofuzz::module::Zig::OpECC_Point_Add
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:201,1
    - Dst: component::Modifier
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:201,1
    - Dst: auto::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:201,1
    - Dst: auto::size
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:201,1
    - Dst: auto::curveType::Get
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:203,1
    - Dst: auto::a::first::ToTrimmedString
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:205,1
    - Dst: auto::a::second::ToTrimmedString
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:206,1
    - Dst: auto::b::first::ToTrimmedString
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:208,1
    - Dst: auto::b::second::ToTrimmedString
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:209,1
    - Dst: cryptofuzz::ECC_Diff_Fuzzer_Exporter::write_Add
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:211,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:212,1
    - Dst: cryptofuzz::module::Zig::OpECC_Point_Mul
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:213,1
    - Dst: component::Modifier
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:213,1
    - Dst: auto::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:213,1
    - Dst: auto::size
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:213,1
    - Dst: auto::curveType::Get
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:215,1
    - Dst: auto::a::first::ToTrimmedString
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:217,1
    - Dst: auto::a::second::ToTrimmedString
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:218,1
    - Dst: auto::b::ToTrimmedString
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:220,1
    - Dst: cryptofuzz::ECC_Diff_Fuzzer_Exporter::write_Mul
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 225
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 225
    functionName: cryptofuzz::ECC_Diff_Fuzzer_Exporter::LoadInput
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp
    functionUses: 1
    functionsReached:
    - auto::curveType::Get
    - cryptofuzz::ECC_Diff_Fuzzer_Exporter::write_Mul
    - auto::a::first::ToTrimmedString
    - cryptofuzz::module::Zig::OpECC_Point_Add
    - cryptofuzz::module::Zig::OpECC_Point_Mul
    - Datasource::Get
    - component::Modifier
    - auto::b::first::ToTrimmedString
    - auto::data
    - auto::b::second::ToTrimmedString
    - cryptofuzz::ECC_Diff_Fuzzer_Exporter::write_Add
    - auto::b::ToTrimmedString
    - auto::size
    - CF_OPERATION
    - Datasource::GetData
    - auto::a::second::ToTrimmedString
    - std::vector<uint8_t>::data
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void ECC_Diff_Fuzzer_Exporter::LoadInput(const std::vector<uint8_t>
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ecc_diff_fuzzer_exporter::toTlsId
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:235,1
    - Dst: cryptofuzz::ecc_diff_fuzzer_exporter::bitlenFromTlsId
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:240,1
    - Dst: cryptofuzz::ecc_diff_fuzzer_exporter::ecdf_byteceil
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:246,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:248,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:249,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:250,1
    - Dst: cryptofuzz::ecc_diff_fuzzer_exporter::compressPoint
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:253,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:258,1
    - Dst: end
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:258,1
    - Dst: begin
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:258,1
    - Dst: end
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:258,1
    - Dst: cryptofuzz::ecc_diff_fuzzer_exporter::compressPoint
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:262,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:266,1
    - Dst: end
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:266,1
    - Dst: begin
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:266,1
    - Dst: end
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:266,1
    - Dst: cryptofuzz::ECC_Diff_Fuzzer_Exporter::write
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - curveType
    - ax
    - ay
    - bx
    - by
    argTypes:
    - uint64_t
    - std::string
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 270
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 270
    functionName: cryptofuzz::ECC_Diff_Fuzzer_Exporter::write_Add
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::ecc_diff_fuzzer_exporter::toTlsId
    - begin
    - cryptofuzz::ECC_Diff_Fuzzer_Exporter::write
    - cryptofuzz::ecc_diff_fuzzer_exporter::ecdf_byteceil
    - end
    - std::vector::push_back
    - std::vector::insert
    - cryptofuzz::ecc_diff_fuzzer_exporter::compressPoint
    - cryptofuzz::ecc_diff_fuzzer_exporter::bitlenFromTlsId
    linkageType: ''
    returnType: void
    signature: "void ECC_Diff_Fuzzer_Exporter::write_Add(\n        const uint64_t
      curveType,\n        const std::string ax,\n        const std::string ay,\n        const
      std::string bx,\n        const std::string by)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::ecc_diff_fuzzer_exporter::toTlsId
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:279,1
    - Dst: cryptofuzz::ecc_diff_fuzzer_exporter::bitlenFromTlsId
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:284,1
    - Dst: cryptofuzz::ecc_diff_fuzzer_exporter::ecdf_byteceil
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:290,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:292,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:293,1
    - Dst: cryptofuzz::ecc_diff_fuzzer_exporter::compressPoint
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:296,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:301,1
    - Dst: auto::size
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:301,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:307,1
    - Dst: end
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:307,1
    - Dst: begin
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:307,1
    - Dst: end
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:307,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:308,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:309,1
    - Dst: end
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:309,1
    - Dst: begin
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:309,1
    - Dst: end
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:309,1
    - Dst: cryptofuzz::ECC_Diff_Fuzzer_Exporter::write
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - curveType
    - ax
    - ay
    - b
    argTypes:
    - uint64_t
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 313
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 313
    functionName: cryptofuzz::ECC_Diff_Fuzzer_Exporter::write_Mul
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::ecc_diff_fuzzer_exporter::toTlsId
    - auto::size
    - begin
    - cryptofuzz::ECC_Diff_Fuzzer_Exporter::write
    - cryptofuzz::ecc_diff_fuzzer_exporter::ecdf_byteceil
    - end
    - std::vector::push_back
    - std::vector::insert
    - cryptofuzz::ecc_diff_fuzzer_exporter::compressPoint
    - cryptofuzz::ecc_diff_fuzzer_exporter::bitlenFromTlsId
    - cryptofuzz::util::DecToBin
    linkageType: ''
    returnType: void
    signature: "void ECC_Diff_Fuzzer_Exporter::write_Mul(\n        const uint64_t
      curveType,\n        const std::string ax,\n        const std::string ay,\n        const
      std::string b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:316,1
    - Dst: cryptofuzz::util::SHA1
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:316,1
    - Dst: fopen
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:317,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:317,1
    - Dst: fwrite
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:318,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:318,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:318,1
    - Dst: fclose
      Src: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: cryptofuzz::ECC_Diff_Fuzzer_Exporter::write
    functionSourceFile: /src/cryptofuzz/ecc_diff_fuzzer_exporter.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::util::SHA1
    - std::string
    - std::vector<uint8_t>::size
    - std::string::c_str
    - fclose
    - fwrite
    - std::vector<uint8_t>::data
    - fopen
    linkageType: ''
    returnType: void
    signature: void ECC_Diff_Fuzzer_Exporter::write(const std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Type::Get
      Src: /src/cryptofuzz/components.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::Type::Type
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Type::Get
    linkageType: ''
    returnType: void
    signature: void Type::Type(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Type
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: cryptofuzz::Type::Type
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Type::Type(const Type& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::json::get
      Src: /src/cryptofuzz/components.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: cryptofuzz::Type::Type
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::json::get
    linkageType: ''
    returnType: void
    signature: void Type::Type(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: cryptofuzz::Type::Get
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Type::Get(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: cryptofuzz::Type::Is
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Type::Is(const uint64_t t) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/cryptofuzz/components.cpp:35,1
    - Dst: std::vector<uint64_t>::begin
      Src: /src/cryptofuzz/components.cpp:35,1
    - Dst: std::vector<uint64_t>::end
      Src: /src/cryptofuzz/components.cpp:35,1
    - Dst: std::vector<uint64_t>::end
      Src: /src/cryptofuzz/components.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - std::vector<uint64_t>
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: cryptofuzz::Type::Is
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint64_t>::begin
    - std::vector<uint64_t>::end
    - find
    linkageType: ''
    returnType: bool
    signature: bool Type::Is(const std::vector<uint64_t> t) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/cryptofuzz/components.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: cryptofuzz::Type::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json Type::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Type
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Type::operator==(const Type& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Type::operator==(const Type& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/cryptofuzz/components.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: cryptofuzz::Type::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - Put
    linkageType: ''
    returnType: void
    signature: void Type::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetData
      Src: /src/cryptofuzz/components.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: cryptofuzz::Buffer::Buffer
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - GetData
    linkageType: ''
    returnType: void
    signature: void Buffer::Buffer(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::json::get
      Src: /src/cryptofuzz/components.cpp:62,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/components.cpp:63,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/components.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: cryptofuzz::Buffer::Buffer
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - std::back_inserter
    - nlohmann::json::get
    - boost::algorithm::unhex
    linkageType: ''
    returnType: void
    signature: void Buffer::Buffer(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: cryptofuzz::Buffer::Buffer
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Buffer::Buffer(const std::vector<uint8_t>& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: cryptofuzz::Buffer::Buffer
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Buffer::Buffer(const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: cryptofuzz::Buffer::Buffer
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Buffer::Buffer(void)
  - 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: cryptofuzz::Buffer::Get
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Buffer::Get(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:81,1
    - Dst: cryptofuzz::util::GetNullPtr
      Src: /src/cryptofuzz/components.cpp:82,1
    - Dst: data
      Src: /src/cryptofuzz/components.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ds
    argTypes:
    - fuzzing::datasource::Datasource*
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: cryptofuzz::Buffer::GetPtr
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - data
    - cryptofuzz::util::GetNullPtr
    - size
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * Buffer::GetPtr(fuzzing::datasource::Datasource* ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: '& Buffer::GetVectorPtr(void)'
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & Buffer::GetVectorPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: '& Buffer::GetConstVectorPtr(void) const'
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & Buffer::GetConstVectorPtr(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: cryptofuzz::Buffer::GetSize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t Buffer::GetSize(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Buffer
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: Buffer::operator==(const Buffer& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Buffer::operator==(const Buffer& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/cryptofuzz/components.cpp:107,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/components.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: cryptofuzz::Buffer::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - std::back_inserter
    - from_hex
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json Buffer::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/cryptofuzz/components.cpp:114,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/components.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: cryptofuzz::Buffer::ToHex
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - std::back_inserter
    - from_hex
    linkageType: ''
    returnType: std::string
    signature: std::string Buffer::ToHex(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PutData
      Src: /src/cryptofuzz/components.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: cryptofuzz::Buffer::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - PutData
    linkageType: ''
    returnType: void
    signature: void Buffer::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Datasource
      Src: /src/cryptofuzz/components.cpp:123,1
    - Dst: data
      Src: /src/cryptofuzz/components.cpp:123,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: cryptofuzz::Buffer::AsDatasource
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - Datasource
    - data
    - size
    linkageType: ''
    returnType: Datasource
    signature: Datasource Buffer::AsDatasource(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/cryptofuzz/components.cpp:127,1
    - Dst: data
      Src: /src/cryptofuzz/components.cpp:127,1
    - Dst: data
      Src: /src/cryptofuzz/components.cpp:127,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: cryptofuzz::Buffer::AsString
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - data
    - std::string
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string Buffer::AsString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/components.cpp:143,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/components.cpp:143,1
    - Dst: memcpy
      Src: /src/cryptofuzz/components.cpp:147,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/components.cpp:147,1
    - Dst: cryptofuzz::Buffer::GetPtr
      Src: /src/cryptofuzz/components.cpp:147,1
    - Dst: cryptofuzz::Buffer::Buffer
      Src: /src/cryptofuzz/components.cpp:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - retSize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 152
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 152
    functionName: cryptofuzz::Buffer::ECDSA_Pad
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Buffer::Buffer
    - memcpy
    - memset
    - cryptofuzz::Buffer::GetPtr
    - std::vector::data
    linkageType: ''
    returnType: Buffer
    signature: Buffer Buffer::ECDSA_Pad(const size_t retSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToBits
      Src: /src/cryptofuzz/components.cpp:158,1
    - Dst: cryptofuzz::Buffer::Get
      Src: /src/cryptofuzz/components.cpp:158,1
    - Dst: cryptofuzz::Buffer::Buffer
      Src: /src/cryptofuzz/components.cpp:161,1
    - Dst: cryptofuzz::Buffer::Buffer
      Src: /src/cryptofuzz/components.cpp:168,1
    - Dst: GetConstVectorPtr
      Src: /src/cryptofuzz/components.cpp:183,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/components.cpp:185,1
    - Dst: end
      Src: /src/cryptofuzz/components.cpp:185,1
    - Dst: begin
      Src: /src/cryptofuzz/components.cpp:185,1
    - Dst: begin
      Src: /src/cryptofuzz/components.cpp:185,1
    - Dst: cryptofuzz::Buffer::Get
      Src: /src/cryptofuzz/components.cpp:191,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/components.cpp:198,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/components.cpp:201,1
    - Dst: end
      Src: /src/cryptofuzz/components.cpp:201,1
    - Dst: begin
      Src: /src/cryptofuzz/components.cpp:201,1
    - Dst: end
      Src: /src/cryptofuzz/components.cpp:201,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/components.cpp:202,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/components.cpp:207,1
    - Dst: end
      Src: /src/cryptofuzz/components.cpp:207,1
    - Dst: begin
      Src: /src/cryptofuzz/components.cpp:207,1
    - Dst: end
      Src: /src/cryptofuzz/components.cpp:207,1
    - Dst: GetData
      Src: /src/cryptofuzz/components.cpp:213,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/components.cpp:215,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/components.cpp:217,1
    - Dst: end
      Src: /src/cryptofuzz/components.cpp:217,1
    - Dst: begin
      Src: /src/cryptofuzz/components.cpp:217,1
    - Dst: end
      Src: /src/cryptofuzz/components.cpp:217,1
    - Dst: cryptofuzz::Buffer::Buffer
      Src: /src/cryptofuzz/components.cpp:220,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - ' ds'
    - ' curveType'
    argTypes:
    - Datasource
    - Type
    constantsTouched: []
    func_position:
      end: 221
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 221
    functionName: cryptofuzz::Buffer::ECDSA_RandomPad
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Buffer::Buffer
    - GetConstVectorPtr
    - std::vector::size
    - begin
    - cryptofuzz::Buffer::Get
    - end
    - std::vector<uint8_t>
    - std::vector::insert
    - cryptofuzz::repository::ECC_CurveToBits
    - GetData
    linkageType: ''
    returnType: Buffer
    signature: Buffer Buffer::ECDSA_RandomPad(Datasource& ds, const Type& curveType)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Sodium_API_Tests::hash_sha256
      Src: /src/cryptofuzz/components.cpp:224,1
    - Dst: cryptofuzz::Buffer::Get
      Src: /src/cryptofuzz/components.cpp:224,1
    - Dst: cryptofuzz::Buffer::Buffer
      Src: /src/cryptofuzz/components.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: cryptofuzz::Buffer::SHA256
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Buffer::Buffer
    - Botan_Tests::Sodium_API_Tests::hash_sha256
    - cryptofuzz::Buffer::Get
    linkageType: ''
    returnType: Buffer
    signature: Buffer Buffer::SHA256(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 236
    functionName: cryptofuzz::Buffer::IsZero
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool Buffer::IsZero(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::transform
      Src: /src/cryptofuzz/components.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: cryptofuzz::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Bignum::transform
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nlohmann::json::get
      Src: /src/cryptofuzz/components.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: cryptofuzz::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - nlohmann::json::get
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::data
      Src: /src/cryptofuzz/components.cpp:251,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/components.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: cryptofuzz::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::data
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetVectorPtr
      Src: /src/cryptofuzz/components.cpp:255,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:257,1
    - Dst: isdigit
      Src: /src/cryptofuzz/components.cpp:258,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 265
    functionName: cryptofuzz::Bignum::transform
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - GetVectorPtr
    - isdigit
    - size
    linkageType: ''
    returnType: void
    signature: void Bignum::transform(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: Bignum::operator==(const Bignum& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Bignum::operator==(const Bignum& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::GetSize
      Src: /src/cryptofuzz/components.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: cryptofuzz::Bignum::GetSize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::Bignum::GetSize
    linkageType: ''
    returnType: size_t
    signature: size_t Bignum::GetSize(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::ToTrimmedString
      Src: /src/cryptofuzz/components.cpp:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: cryptofuzz::Bignum::IsZero
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Bignum::ToTrimmedString
    linkageType: ''
    returnType: bool
    signature: bool Bignum::IsZero(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::ToTrimmedString
      Src: /src/cryptofuzz/components.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: cryptofuzz::Bignum::IsOne
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Bignum::ToTrimmedString
    linkageType: ''
    returnType: bool
    signature: bool Bignum::IsOne(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::GetSize
      Src: /src/cryptofuzz/components.cpp:286,1
    - Dst: GetConstVectorPtr
      Src: /src/cryptofuzz/components.cpp:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: cryptofuzz::Bignum::IsNegative
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - GetConstVectorPtr
    - cryptofuzz::Bignum::GetSize
    linkageType: ''
    returnType: bool
    signature: bool Bignum::IsNegative(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::IsZero
      Src: /src/cryptofuzz/components.cpp:290,1
    - Dst: cryptofuzz::Bignum::IsNegative
      Src: /src/cryptofuzz/components.cpp:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: cryptofuzz::Bignum::IsPositive
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Bignum::IsZero
    - cryptofuzz::Bignum::IsNegative
    linkageType: ''
    returnType: bool
    signature: bool Bignum::IsPositive(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/components.cpp:294,1
    - Dst: cryptofuzz::Bignum::IsNegative
      Src: /src/cryptofuzz/components.cpp:294,1
    - Dst: cryptofuzz::Bignum::ToTrimmedString
      Src: /src/cryptofuzz/components.cpp:295,1
    - Dst: auto::size
      Src: /src/cryptofuzz/components.cpp:296,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:296,1
    - Dst: auto::size
      Src: /src/cryptofuzz/components.cpp:298,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:298,1
    - Dst: auto::size
      Src: /src/cryptofuzz/components.cpp:301,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/components.cpp:312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 314
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 314
    functionName: cryptofuzz::Bignum::IsGreaterThan
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Bignum::ToTrimmedString
    - CF_ASSERT
    - size
    - auto::size
    - cryptofuzz::Bignum::IsNegative
    linkageType: ''
    returnType: bool
    signature: bool Bignum::IsGreaterThan(const std::string& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: cryptofuzz::Bignum::IsLessThan
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Bignum::IsLessThan(const std::string& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::ToTrimmedString
      Src: /src/cryptofuzz/components.cpp:323,1
    - Dst: auto::back
      Src: /src/cryptofuzz/components.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: cryptofuzz::Bignum::IsOdd
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Bignum::ToTrimmedString
    - auto::back
    linkageType: ''
    returnType: bool
    signature: bool Bignum::IsOdd(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::IsNegative
      Src: /src/cryptofuzz/components.cpp:328,1
    - Dst: GetVectorPtr
      Src: /src/cryptofuzz/components.cpp:332,1
    - Dst: GetVectorPtr
      Src: /src/cryptofuzz/components.cpp:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: cryptofuzz::Bignum::ToPositive
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - GetVectorPtr
    - cryptofuzz::Bignum::IsNegative
    linkageType: ''
    returnType: void
    signature: void Bignum::ToPositive(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::multiprecision::cpp_int::str
      Src: /src/cryptofuzz/components.cpp:339,1
    - Dst: auto::data
      Src: /src/cryptofuzz/components.cpp:340,1
    - Dst: auto::size
      Src: /src/cryptofuzz/components.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 341
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 341
    functionName: cryptofuzz::Bignum::SubFrom
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::data
    - boost::multiprecision::cpp_int::str
    linkageType: ''
    returnType: void
    signature: void Bignum::SubFrom(const std::string& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtr
      Src: /src/cryptofuzz/components.cpp:344,1
    - Dst: std::string
      Src: /src/cryptofuzz/components.cpp:345,1
    - Dst: cryptofuzz::Bignum::GetSize
      Src: /src/cryptofuzz/components.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: cryptofuzz::Bignum::ToString
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - std::string
    - cryptofuzz::Bignum::GetSize
    linkageType: ''
    returnType: std::string
    signature: std::string Bignum::ToString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::ToString
      Src: /src/cryptofuzz/components.cpp:349,1
    - Dst: trim_left_if
      Src: /src/cryptofuzz/components.cpp:350,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/components.cpp:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 357
    functionName: cryptofuzz::Bignum::ToTrimmedString
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 4
    functionsReached:
    - trim_left_if
    - Botan::CT::Mask::is_any_of
    - cryptofuzz::Bignum::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string Bignum::ToTrimmedString(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/components.cpp:364,1
    - Dst: cryptofuzz::Bignum::ToTrimmedString
      Src: /src/cryptofuzz/components.cpp:369,1
    - Dst: auto::size
      Src: /src/cryptofuzz/components.cpp:371,1
    - Dst: auto::erase
      Src: /src/cryptofuzz/components.cpp:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 375
      start: 360
    functionDepth: 4
    functionLinenumber: 360
    functionLinenumberEnd: 375
    functionName: cryptofuzz::Bignum::ToString
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - cryptofuzz::Bignum::ToTrimmedString
    - Get
    - auto::erase
    linkageType: ''
    returnType: std::string
    signature: std::string Bignum::ToString(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/components.cpp:378,1
    - Dst: cryptofuzz::Bignum::ToTrimmedString
      Src: /src/cryptofuzz/components.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::optional<size_t>
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 4
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: cryptofuzz::Bignum::ToBin
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Bignum::ToTrimmedString
    - cryptofuzz::util::DecToBin
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: std::optional<std::vector<uint8_t>> Bignum::ToBin(std::optional<size_t>
      size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::ToString
      Src: /src/cryptofuzz/components.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: cryptofuzz::Bignum::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::Bignum::ToString
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json Bignum::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Bignum::Serialize
      Src: /src/cryptofuzz/components.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: cryptofuzz::Bignum::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::Bignum::Serialize
    linkageType: ''
    returnType: void
    signature: void Bignum::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: cryptofuzz::component::SymmetricCipher::SymmetricCipher
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SymmetricCipher::SymmetricCipher(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 402
    functionName: cryptofuzz::component::SymmetricCipher::SymmetricCipher
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SymmetricCipher::SymmetricCipher(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::SymmetricCipher::ToJSON
      Src: /src/cryptofuzz/components.cpp:406,1
    - Dst: cryptofuzz::component::SymmetricCipher::ToJSON
      Src: /src/cryptofuzz/components.cpp:407,1
    - Dst: cryptofuzz::component::SymmetricCipher::ToJSON
      Src: /src/cryptofuzz/components.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: cryptofuzz::component::SymmetricCipher::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::SymmetricCipher::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json SymmetricCipher::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SymmetricCipher
    constantsTouched: []
    func_position:
      end: 417
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 417
    functionName: SymmetricCipher::operator==(const SymmetricCipher& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SymmetricCipher::operator==(const SymmetricCipher& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::SymmetricCipher::Serialize
      Src: /src/cryptofuzz/components.cpp:419,1
    - Dst: cryptofuzz::component::SymmetricCipher::Serialize
      Src: /src/cryptofuzz/components.cpp:420,1
    - Dst: cryptofuzz::component::SymmetricCipher::Serialize
      Src: /src/cryptofuzz/components.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: cryptofuzz::component::SymmetricCipher::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::SymmetricCipher::Serialize
    linkageType: ''
    returnType: void
    signature: void SymmetricCipher::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/components.cpp:428,1
    - Dst: std::make_optional<Tag>
      Src: /src/cryptofuzz/components.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: cryptofuzz::component::Ciphertext::Ciphertext
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - Get
    - std::make_optional<Tag>
    linkageType: ''
    returnType: void
    signature: void Ciphertext::Ciphertext(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ciphertext
    - tag
    argTypes:
    - Buffer
    - std::optional<Tag>
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: cryptofuzz::component::Ciphertext::Ciphertext
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ciphertext::Ciphertext(Buffer ciphertext, std::optional<Tag> tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Ciphertext
    constantsTouched: []
    func_position:
      end: 438
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 438
    functionName: Ciphertext::operator==(const Ciphertext& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Ciphertext::operator==(const Ciphertext& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::Ciphertext::Serialize
      Src: /src/cryptofuzz/components.cpp:441,1
    - Dst: Put
      Src: /src/cryptofuzz/components.cpp:443,1
    - Dst: Put
      Src: /src/cryptofuzz/components.cpp:445,1
    - Dst: cryptofuzz::component::Ciphertext::Serialize
      Src: /src/cryptofuzz/components.cpp:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 448
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 448
    functionName: cryptofuzz::component::Ciphertext::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::Ciphertext::Serialize
    - Put
    linkageType: ''
    returnType: void
    signature: void Ciphertext::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: cryptofuzz::component::BignumPair::BignumPair
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BignumPair::BignumPair(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: cryptofuzz::component::BignumPair::BignumPair
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BignumPair::BignumPair(const std::string first, const std::string
      second)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:463,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: cryptofuzz::component::BignumPair::BignumPair
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void BignumPair::BignumPair(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BignumPair
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: BignumPair::operator==(const BignumPair& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BignumPair::operator==(const BignumPair& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::BignumPair::Serialize
      Src: /src/cryptofuzz/components.cpp:475,1
    - Dst: cryptofuzz::component::BignumPair::Serialize
      Src: /src/cryptofuzz/components.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: cryptofuzz::component::BignumPair::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::BignumPair::Serialize
    linkageType: ''
    returnType: void
    signature: void BignumPair::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::BignumPair::ToJSON
      Src: /src/cryptofuzz/components.cpp:480,1
    - Dst: cryptofuzz::component::BignumPair::ToJSON
      Src: /src/cryptofuzz/components.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: cryptofuzz::component::BignumPair::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::BignumPair::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BignumPair::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: cryptofuzz::component::ECC_KeyPair::ECC_KeyPair
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_KeyPair::ECC_KeyPair(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - priv
    - pub
    argTypes:
    - ECC_PrivateKey
    - BignumPair
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: cryptofuzz::component::ECC_KeyPair::ECC_KeyPair
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_KeyPair::ECC_KeyPair(ECC_PrivateKey priv, BignumPair pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 498
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 498
    functionName: cryptofuzz::component::ECC_KeyPair::ECC_KeyPair
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECC_KeyPair::ECC_KeyPair(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECC_KeyPair
    constantsTouched: []
    func_position:
      end: 504
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 504
    functionName: ECC_KeyPair::operator==(const ECC_KeyPair& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ECC_KeyPair::operator==(const ECC_KeyPair& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::ECC_KeyPair::Serialize
      Src: /src/cryptofuzz/components.cpp:507,1
    - Dst: cryptofuzz::component::ECC_KeyPair::Serialize
      Src: /src/cryptofuzz/components.cpp:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: cryptofuzz::component::ECC_KeyPair::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::ECC_KeyPair::Serialize
    linkageType: ''
    returnType: void
    signature: void ECC_KeyPair::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::ECC_KeyPair::ToJSON
      Src: /src/cryptofuzz/components.cpp:512,1
    - Dst: cryptofuzz::component::ECC_KeyPair::ToJSON
      Src: /src/cryptofuzz/components.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 513
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionName: cryptofuzz::component::ECC_KeyPair::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::ECC_KeyPair::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECC_KeyPair::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 520
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 520
    functionName: cryptofuzz::component::ECCSI_Signature::ECCSI_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECCSI_Signature::ECCSI_Signature(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - signature
    - pub
    - pvt
    argTypes:
    - BignumPair
    - ECC_PublicKey
    - BignumPair
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: cryptofuzz::component::ECCSI_Signature::ECCSI_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECCSI_Signature::ECCSI_Signature(BignumPair signature, ECC_PublicKey
      pub, BignumPair pvt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: cryptofuzz::component::ECCSI_Signature::ECCSI_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECCSI_Signature::ECCSI_Signature(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECCSI_Signature
    constantsTouched: []
    func_position:
      end: 539
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 539
    functionName: ECCSI_Signature::operator==(const ECCSI_Signature& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ECCSI_Signature::operator==(const ECCSI_Signature& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::ECCSI_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:542,1
    - Dst: cryptofuzz::component::ECCSI_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:543,1
    - Dst: cryptofuzz::component::ECCSI_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 545
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 545
    functionName: cryptofuzz::component::ECCSI_Signature::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::ECCSI_Signature::Serialize
    linkageType: ''
    returnType: void
    signature: void ECCSI_Signature::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::ECCSI_Signature::ToJSON
      Src: /src/cryptofuzz/components.cpp:548,1
    - Dst: cryptofuzz::component::ECCSI_Signature::ToJSON
      Src: /src/cryptofuzz/components.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: cryptofuzz::component::ECCSI_Signature::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::ECCSI_Signature::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECCSI_Signature::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: cryptofuzz::component::ECDSA_Signature::ECDSA_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_Signature::ECDSA_Signature(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - signature
    - pub
    argTypes:
    - BignumPair
    - ECC_PublicKey
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: cryptofuzz::component::ECDSA_Signature::ECDSA_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_Signature::ECDSA_Signature(BignumPair signature, ECC_PublicKey
      pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: cryptofuzz::component::ECDSA_Signature::ECDSA_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_Signature::ECDSA_Signature(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - ECDSA_Signature
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: ECDSA_Signature::operator==(const ECDSA_Signature& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ECDSA_Signature::operator==(const ECDSA_Signature& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::ECDSA_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:574,1
    - Dst: cryptofuzz::component::ECDSA_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: cryptofuzz::component::ECDSA_Signature::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::ECDSA_Signature::Serialize
    linkageType: ''
    returnType: void
    signature: void ECDSA_Signature::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::ECDSA_Signature::ToJSON
      Src: /src/cryptofuzz/components.cpp:579,1
    - Dst: cryptofuzz::component::ECDSA_Signature::ToJSON
      Src: /src/cryptofuzz/components.cpp:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: cryptofuzz::component::ECDSA_Signature::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::ECDSA_Signature::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ECDSA_Signature::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/components.cpp:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 587
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 587
    functionName: cryptofuzz::component::MACType::MACType
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: void
    signature: void MACType::MACType(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 592
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 592
    functionName: cryptofuzz::component::MACType::MACType
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void MACType::MACType(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::MACType::ToJSON
      Src: /src/cryptofuzz/components.cpp:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 599
    functionName: cryptofuzz::component::MACType::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::MACType::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json MACType::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - MACType
    constantsTouched: []
    func_position:
      end: 605
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 605
    functionName: MACType::operator==(const MACType& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MACType::operator==(const MACType& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/cryptofuzz/components.cpp:608,1
    - Dst: cryptofuzz::component::MACType::Serialize
      Src: /src/cryptofuzz/components.cpp:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 610
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 610
    functionName: cryptofuzz::component::MACType::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::MACType::Serialize
    - Put
    linkageType: ''
    returnType: void
    signature: void MACType::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 615
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 615
    functionName: cryptofuzz::component::G2::G2
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void G2::G2(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/components.cpp:619,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/components.cpp:619,1
    - Dst: first::ToJSON
      Src: /src/cryptofuzz/components.cpp:620,1
    - Dst: second::ToJSON
      Src: /src/cryptofuzz/components.cpp:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 622
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 622
    functionName: cryptofuzz::component::G2::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - first::ToJSON
    - second::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json G2::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::G2::Serialize
      Src: /src/cryptofuzz/components.cpp:625,1
    - Dst: cryptofuzz::component::G2::Serialize
      Src: /src/cryptofuzz/components.cpp:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 627
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 627
    functionName: cryptofuzz::component::G2::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::G2::Serialize
    linkageType: ''
    returnType: void
    signature: void G2::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:631,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:632,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:633,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:634,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:635,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:636,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:637,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:638,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:639,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:640,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:641,1
    - Dst: cryptofuzz::component::Fp12::ToJSON
      Src: /src/cryptofuzz/components.cpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 644
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 644
    functionName: cryptofuzz::component::Fp12::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::Fp12::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json Fp12::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:647,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:648,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:649,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:650,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:651,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:652,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:653,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:654,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:655,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:656,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:657,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 659
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 659
    functionName: cryptofuzz::component::Fp12::Fp12
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void Fp12::Fp12(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:662,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:663,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:664,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:665,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:666,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:667,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:668,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:669,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:670,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:671,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:672,1
    - Dst: cryptofuzz::component::Fp12::Serialize
      Src: /src/cryptofuzz/components.cpp:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 674
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 674
    functionName: cryptofuzz::component::Fp12::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::Fp12::Serialize
    linkageType: ''
    returnType: void
    signature: void Fp12::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::DSA_Parameters::ToJSON
      Src: /src/cryptofuzz/components.cpp:678,1
    - Dst: cryptofuzz::component::DSA_Parameters::ToJSON
      Src: /src/cryptofuzz/components.cpp:679,1
    - Dst: cryptofuzz::component::DSA_Parameters::ToJSON
      Src: /src/cryptofuzz/components.cpp:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 682
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 682
    functionName: cryptofuzz::component::DSA_Parameters::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::DSA_Parameters::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json DSA_Parameters::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:685,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:686,1
    - Dst: get
      Src: /src/cryptofuzz/components.cpp:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: cryptofuzz::component::DSA_Parameters::DSA_Parameters
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void DSA_Parameters::DSA_Parameters(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::DSA_Parameters::Serialize
      Src: /src/cryptofuzz/components.cpp:691,1
    - Dst: cryptofuzz::component::DSA_Parameters::Serialize
      Src: /src/cryptofuzz/components.cpp:692,1
    - Dst: cryptofuzz::component::DSA_Parameters::Serialize
      Src: /src/cryptofuzz/components.cpp:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 694
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 694
    functionName: cryptofuzz::component::DSA_Parameters::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::DSA_Parameters::Serialize
    linkageType: ''
    returnType: void
    signature: void DSA_Parameters::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 700
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 700
    functionName: cryptofuzz::component::DSA_Signature::DSA_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_Signature::DSA_Signature(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - signature
    - pub
    argTypes:
    - BignumPair
    - Bignum
    constantsTouched: []
    func_position:
      end: 705
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 705
    functionName: cryptofuzz::component::DSA_Signature::DSA_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_Signature::DSA_Signature(BignumPair signature, Bignum pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 710
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 710
    functionName: cryptofuzz::component::DSA_Signature::DSA_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_Signature::DSA_Signature(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - DSA_Signature
    constantsTouched: []
    func_position:
      end: 716
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 716
    functionName: DSA_Signature::operator==(const DSA_Signature& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DSA_Signature::operator==(const DSA_Signature& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::DSA_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:719,1
    - Dst: cryptofuzz::component::DSA_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 721
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 721
    functionName: cryptofuzz::component::DSA_Signature::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::DSA_Signature::Serialize
    linkageType: ''
    returnType: void
    signature: void DSA_Signature::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::DSA_Signature::ToJSON
      Src: /src/cryptofuzz/components.cpp:724,1
    - Dst: cryptofuzz::component::DSA_Signature::ToJSON
      Src: /src/cryptofuzz/components.cpp:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 725
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 725
    functionName: cryptofuzz::component::DSA_Signature::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::DSA_Signature::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json DSA_Signature::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 731
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 731
    functionName: cryptofuzz::component::BLS_Signature::BLS_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_Signature::BLS_Signature(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - signature
    - pub
    argTypes:
    - G2
    - ECC_PublicKey
    constantsTouched: []
    func_position:
      end: 736
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 736
    functionName: cryptofuzz::component::BLS_Signature::BLS_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_Signature::BLS_Signature(G2 signature, ECC_PublicKey pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 741
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 741
    functionName: cryptofuzz::component::BLS_Signature::BLS_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_Signature::BLS_Signature(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_Signature
    constantsTouched: []
    func_position:
      end: 747
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 747
    functionName: BLS_Signature::operator==(const BLS_Signature& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BLS_Signature::operator==(const BLS_Signature& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::BLS_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:750,1
    - Dst: cryptofuzz::component::BLS_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: cryptofuzz::component::BLS_Signature::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::BLS_Signature::Serialize
    linkageType: ''
    returnType: void
    signature: void BLS_Signature::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::BLS_Signature::ToJSON
      Src: /src/cryptofuzz/components.cpp:755,1
    - Dst: cryptofuzz::component::BLS_Signature::ToJSON
      Src: /src/cryptofuzz/components.cpp:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 756
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 756
    functionName: cryptofuzz::component::BLS_Signature::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::BLS_Signature::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_Signature::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/components.cpp:761,1
    - Dst: push_back
      Src: /src/cryptofuzz/components.cpp:763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 765
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 765
    functionName: cryptofuzz::component::BLS_BatchSign_Vector::BLS_BatchSign_Vector
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - Get
    - push_back
    linkageType: ''
    returnType: void
    signature: void BLS_BatchSign_Vector::BLS_BatchSign_Vector(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/components.cpp:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 773
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 773
    functionName: cryptofuzz::component::BLS_BatchSign_Vector::BLS_BatchSign_Vector
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void BLS_BatchSign_Vector::BLS_BatchSign_Vector(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/cryptofuzz/components.cpp:776,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:776,1
    - Dst: priv::Serialize
      Src: /src/cryptofuzz/components.cpp:778,1
    - Dst: g1::Serialize
      Src: /src/cryptofuzz/components.cpp:779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 781
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 781
    functionName: cryptofuzz::component::BLS_BatchSign_Vector::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - g1::Serialize
    - priv::Serialize
    - size
    - Put
    linkageType: ''
    returnType: void
    signature: void BLS_BatchSign_Vector::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msgpub
    argTypes:
    - std::vector< std::pair<G1, G2> >
    constantsTouched: []
    func_position:
      end: 787
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 787
    functionName: cryptofuzz::component::BLS_BatchSignature::BLS_BatchSignature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_BatchSignature::BLS_BatchSignature(std::vector< std::pair<G1,
      G2> > msgpub)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_BatchSignature
    constantsTouched: []
    func_position:
      end: 792
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 792
    functionName: BLS_BatchSignature::operator==(const BLS_BatchSignature& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BLS_BatchSignature::operator==(const BLS_BatchSignature& rhs)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/cryptofuzz/components.cpp:795,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:795,1
    - Dst: first::Serialize
      Src: /src/cryptofuzz/components.cpp:797,1
    - Dst: second::Serialize
      Src: /src/cryptofuzz/components.cpp:798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 800
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 800
    functionName: cryptofuzz::component::BLS_BatchSignature::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - second::Serialize
    - first::Serialize
    - size
    - Put
    linkageType: ''
    returnType: void
    signature: void BLS_BatchSignature::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 804
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 804
    functionName: cryptofuzz::component::BLS_BatchSignature::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_BatchSignature::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 812
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 812
    functionName: cryptofuzz::component::BLS_KeyPair::BLS_KeyPair
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_KeyPair::BLS_KeyPair(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - priv
    - pub
    argTypes:
    - BLS_PrivateKey
    - BignumPair
    constantsTouched: []
    func_position:
      end: 817
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 817
    functionName: cryptofuzz::component::BLS_KeyPair::BLS_KeyPair
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BLS_KeyPair::BLS_KeyPair(BLS_PrivateKey priv, BignumPair pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - BLS_KeyPair
    constantsTouched: []
    func_position:
      end: 823
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 823
    functionName: BLS_KeyPair::operator==(const BLS_KeyPair& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BLS_KeyPair::operator==(const BLS_KeyPair& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::BLS_KeyPair::Serialize
      Src: /src/cryptofuzz/components.cpp:826,1
    - Dst: cryptofuzz::component::BLS_KeyPair::Serialize
      Src: /src/cryptofuzz/components.cpp:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 828
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 828
    functionName: cryptofuzz::component::BLS_KeyPair::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::BLS_KeyPair::Serialize
    linkageType: ''
    returnType: void
    signature: void BLS_KeyPair::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::BLS_KeyPair::ToJSON
      Src: /src/cryptofuzz/components.cpp:831,1
    - Dst: cryptofuzz::component::BLS_KeyPair::ToJSON
      Src: /src/cryptofuzz/components.cpp:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 832
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 832
    functionName: cryptofuzz::component::BLS_KeyPair::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::BLS_KeyPair::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_KeyPair::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/components.cpp:837,1
    - Dst: push_back
      Src: /src/cryptofuzz/components.cpp:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 841
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 841
    functionName: cryptofuzz::component::BLS_BatchVerify_Vector::BLS_BatchVerify_Vector
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - Get
    - push_back
    linkageType: ''
    returnType: void
    signature: void BLS_BatchVerify_Vector::BLS_BatchVerify_Vector(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/components.cpp:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 849
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 849
    functionName: cryptofuzz::component::BLS_BatchVerify_Vector::BLS_BatchVerify_Vector
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void BLS_BatchVerify_Vector::BLS_BatchVerify_Vector(nlohmann::json
      json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/cryptofuzz/components.cpp:852,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:852,1
    - Dst: g1::Serialize
      Src: /src/cryptofuzz/components.cpp:854,1
    - Dst: g2::Serialize
      Src: /src/cryptofuzz/components.cpp:855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 857
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 857
    functionName: cryptofuzz::component::BLS_BatchVerify_Vector::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - g1::Serialize
    - g2::Serialize
    - size
    - Put
    linkageType: ''
    returnType: void
    signature: void BLS_BatchVerify_Vector::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_Tests::Ed448_General_Test::to_array
      Src: /src/cryptofuzz/components.cpp:860,1
    - Dst: g1::first::ToJSON
      Src: /src/cryptofuzz/components.cpp:863,1
    - Dst: g1::second::ToJSON
      Src: /src/cryptofuzz/components.cpp:864,1
    - Dst: g2::first::first::ToJSON
      Src: /src/cryptofuzz/components.cpp:866,1
    - Dst: g2::first::second::ToJSON
      Src: /src/cryptofuzz/components.cpp:867,1
    - Dst: g2::second::first::ToJSON
      Src: /src/cryptofuzz/components.cpp:868,1
    - Dst: g2::second::second::ToJSON
      Src: /src/cryptofuzz/components.cpp:869,1
    - Dst: nlohmann::json::push_back
      Src: /src/cryptofuzz/components.cpp:871,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 874
      start: 859
    functionDepth: 2
    functionLinenumber: 859
    functionLinenumberEnd: 874
    functionName: cryptofuzz::component::BLS_BatchVerify_Vector::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - g1::second::ToJSON
    - g2::second::first::ToJSON
    - g1::first::ToJSON
    - g2::first::first::ToJSON
    - g2::second::second::ToJSON
    - g2::first::second::ToJSON
    - nlohmann::json::push_back
    - Botan_Tests::Ed448_General_Test::to_array
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json BLS_BatchVerify_Vector::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/components.cpp:879,1
    - Dst: push_back
      Src: /src/cryptofuzz/components.cpp:881,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/components.cpp:881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 883
      start: 878
    functionDepth: 2
    functionLinenumber: 878
    functionLinenumberEnd: 883
    functionName: cryptofuzz::component::BLS_G1_Vector::BLS_G1_Vector
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - Get
    - push_back
    - benchAddDblG1
    linkageType: ''
    returnType: void
    signature: void BLS_G1_Vector::BLS_G1_Vector(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/components.cpp:887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 889
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 889
    functionName: cryptofuzz::component::BLS_G1_Vector::BLS_G1_Vector
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void BLS_G1_Vector::BLS_G1_Vector(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/cryptofuzz/components.cpp:892,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:892,1
    - Dst: cryptofuzz::component::BLS_G1_Vector::Serialize
      Src: /src/cryptofuzz/components.cpp:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 896
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 896
    functionName: cryptofuzz::component::BLS_G1_Vector::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::BLS_G1_Vector::Serialize
    - size
    - Put
    linkageType: ''
    returnType: void
    signature: void BLS_G1_Vector::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/components.cpp:901,1
    - Dst: push_back
      Src: /src/cryptofuzz/components.cpp:903,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/components.cpp:904,1
    - Dst: getBignum
      Src: /src/cryptofuzz/components.cpp:905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 908
      start: 900
    functionDepth: 3
    functionLinenumber: 900
    functionLinenumberEnd: 908
    functionName: cryptofuzz::component::BLS_G1_Scalar_Vector::BLS_G1_Scalar_Vector
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - Get
    - push_back
    - getBignum
    - benchAddDblG1
    linkageType: ''
    returnType: void
    signature: void BLS_G1_Scalar_Vector::BLS_G1_Scalar_Vector(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/components.cpp:912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 917
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 917
    functionName: cryptofuzz::component::BLS_G1_Scalar_Vector::BLS_G1_Scalar_Vector
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void BLS_G1_Scalar_Vector::BLS_G1_Scalar_Vector(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/cryptofuzz/components.cpp:920,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:920,1
    - Dst: first::Serialize
      Src: /src/cryptofuzz/components.cpp:922,1
    - Dst: second::Serialize
      Src: /src/cryptofuzz/components.cpp:923,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 925
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 925
    functionName: cryptofuzz::component::BLS_G1_Scalar_Vector::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - second::Serialize
    - first::Serialize
    - size
    - Put
    linkageType: ''
    returnType: void
    signature: void BLS_G1_Scalar_Vector::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/components.cpp:930,1
    - Dst: push_back
      Src: /src/cryptofuzz/components.cpp:932,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/components.cpp:932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 934
      start: 929
    functionDepth: 2
    functionLinenumber: 929
    functionLinenumberEnd: 934
    functionName: cryptofuzz::component::BLS_G2_Vector::BLS_G2_Vector
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - Get
    - push_back
    - benchAddDblG2
    linkageType: ''
    returnType: void
    signature: void BLS_G2_Vector::BLS_G2_Vector(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/cryptofuzz/components.cpp:938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 940
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 940
    functionName: cryptofuzz::component::BLS_G2_Vector::BLS_G2_Vector
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void BLS_G2_Vector::BLS_G2_Vector(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Put
      Src: /src/cryptofuzz/components.cpp:943,1
    - Dst: size
      Src: /src/cryptofuzz/components.cpp:943,1
    - Dst: cryptofuzz::component::BLS_G2_Vector::Serialize
      Src: /src/cryptofuzz/components.cpp:945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 947
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 947
    functionName: cryptofuzz::component::BLS_G2_Vector::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::BLS_G2_Vector::Serialize
    - size
    - Put
    linkageType: ''
    returnType: void
    signature: void BLS_G2_Vector::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 953
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 953
    functionName: cryptofuzz::component::SR25519_Signature::SR25519_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SR25519_Signature::SR25519_Signature(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - signature
    - pub
    argTypes:
    - BignumPair
    - Bignum
    constantsTouched: []
    func_position:
      end: 958
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 958
    functionName: cryptofuzz::component::SR25519_Signature::SR25519_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SR25519_Signature::SR25519_Signature(BignumPair signature, Bignum
      pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json
    argTypes:
    - nlohmann::json
    constantsTouched: []
    func_position:
      end: 963
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 963
    functionName: cryptofuzz::component::SR25519_Signature::SR25519_Signature
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SR25519_Signature::SR25519_Signature(nlohmann::json json)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - SR25519_Signature
    constantsTouched: []
    func_position:
      end: 969
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 969
    functionName: SR25519_Signature::operator==(const SR25519_Signature& rhs) const
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SR25519_Signature::operator==(const SR25519_Signature& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::SR25519_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:972,1
    - Dst: cryptofuzz::component::SR25519_Signature::Serialize
      Src: /src/cryptofuzz/components.cpp:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 974
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 974
    functionName: cryptofuzz::component::SR25519_Signature::Serialize
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::SR25519_Signature::Serialize
    linkageType: ''
    returnType: void
    signature: void SR25519_Signature::Serialize(Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::SR25519_Signature::ToJSON
      Src: /src/cryptofuzz/components.cpp:977,1
    - Dst: cryptofuzz::component::SR25519_Signature::ToJSON
      Src: /src/cryptofuzz/components.cpp:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 978
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 978
    functionName: cryptofuzz::component::SR25519_Signature::ToJSON
    functionSourceFile: /src/cryptofuzz/components.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::component::SR25519_Signature::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json SR25519_Signature::ToJSON(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - outDir
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: cryptofuzz::Builtin_tests_importer::Builtin_tests_importer
    functionSourceFile: /src/cryptofuzz/builtin_tests_importer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builtin_tests_importer::Builtin_tests_importer(const std::string
      outDir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:21,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:22,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:23,1
    - Dst: cryptofuzz::repository::ECC_CurveToX
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:29,1
    - Dst: cryptofuzz::repository::ECC_CurveToY
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:34,1
    - Dst: cryptofuzz::repository::ECC_CurveToBits
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:39,1
    - Dst: std::string
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:57,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:65,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:66,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:66,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 69
    functionName: cryptofuzz::Builtin_tests_importer::ecdsa_verify_tests
    functionSourceFile: /src/cryptofuzz/builtin_tests_importer.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - cryptofuzz::repository::ECC_CurveToX
    - CF_DIGEST
    - cryptofuzz::repository::ECC_CurveToY
    - cryptofuzz::repository::ECC_CurveToBits
    - CF_OPERATION
    - cryptofuzz::operation::ECDSA_Verify::Serialize
    - cryptofuzz::Builtin_tests_importer::write
    linkageType: ''
    returnType: void
    signature: void Builtin_tests_importer::ecdsa_verify_tests(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToA
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:77,1
    - Dst: cryptofuzz::repository::ECC_CurveToB
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:82,1
    - Dst: cryptofuzz::repository::ECC_CurveToPrime
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:87,1
    - Dst: cryptofuzz::util::Find_ECC_Y
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:92,1
    - Dst: cryptofuzz::operation::ECC_Point_Add::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:110,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:111,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:111,1
    - Dst: cryptofuzz::operation::ECC_Point_Cmp::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:116,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:117,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:117,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 120
    functionName: cryptofuzz::Builtin_tests_importer::ecc_point_add_tests
    functionSourceFile: /src/cryptofuzz/builtin_tests_importer.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToA
    - cryptofuzz::repository::ECC_CurveToB
    - cryptofuzz::operation::ECC_Point_Add::Serialize
    - cryptofuzz::repository::ECC_CurveToPrime
    - cryptofuzz::util::Find_ECC_Y
    - cryptofuzz::operation::ECC_Point_Cmp::Serialize
    - CF_OPERATION
    - cryptofuzz::Builtin_tests_importer::write
    linkageType: ''
    returnType: void
    signature: void Builtin_tests_importer::ecc_point_add_tests(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:129,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:137,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:138,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:138,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:147,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:155,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:156,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:156,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:164,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:170,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:174,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:175,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:175,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:184,1
    - Dst: cryptofuzz::operation::ECC_PrivateToPublic::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:188,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:189,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:189,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:197,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:203,1
    - Dst: cryptofuzz::operation::ECDSA_Verify::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:207,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:208,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:208,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:216,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:224,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:225,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:225,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:233,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:241,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:242,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:242,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:250,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:258,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:259,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:259,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:269,1
    - Dst: cryptofuzz::operation::Digest::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:273,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:274,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:274,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:282,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:290,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:291,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:291,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:300,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:308,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:309,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:309,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:318,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:326,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:327,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:327,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:336,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:344,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:345,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:345,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:354,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:362,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:363,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:363,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:372,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:380,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:381,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:381,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:389,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:397,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:398,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:398,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:406,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:414,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:415,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:415,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:423,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:431,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:432,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:432,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:440,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:448,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:449,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:449,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:457,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:465,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:466,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:466,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:474,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:482,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:483,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:483,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:494,1
    - Dst: cryptofuzz::operation::ECC_PrivateToPublic::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:498,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:499,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:499,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:511,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:515,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:516,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:516,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:528,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:532,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:533,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:533,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:546,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:550,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:551,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:551,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:562,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:567,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:571,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:572,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:572,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:578,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:585,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:586,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:586,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:592,1
    - Dst: cryptofuzz::operation::ECC_PrivateToPublic::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:597,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:598,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:598,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:608,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:615,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:616,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:616,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:628,1
    - Dst: cryptofuzz::operation::BLS_G1_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:632,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:633,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:633,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:645,1
    - Dst: cryptofuzz::operation::BLS_G1_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:649,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:650,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:650,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:662,1
    - Dst: cryptofuzz::operation::BLS_G1_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:666,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:667,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:667,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:679,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:683,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:684,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:684,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:696,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:700,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:701,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:701,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:713,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:717,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:718,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:718,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:727,1
    - Dst: cryptofuzz::operation::ECC_PrivateToPublic::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:732,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:733,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:733,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:745,1
    - Dst: cryptofuzz::operation::ECC_Point_Add::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:749,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:750,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:750,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:760,1
    - Dst: cryptofuzz::operation::ECC_Point_Neg::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:764,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:765,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:765,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:790,1
    - Dst: cryptofuzz::operation::BLS_IsG1OnCurve::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:794,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:795,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:795,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:805,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:813,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:814,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:814,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:824,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:832,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:833,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:833,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:843,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:851,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:852,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:852,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:860,1
    - Dst: cryptofuzz::operation::ECC_ValidatePubkey::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:866,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:867,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:867,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:875,1
    - Dst: cryptofuzz::operation::ECC_ValidatePubkey::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:881,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:882,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:882,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:894,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:895,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:899,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:900,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:901,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:902,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:903,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:904,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:905,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:918,1
    - Dst: cryptofuzz::operation::ECC_ValidatePubkey::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:923,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:926,1
    - Dst: cryptofuzz::operation::ECC_Point_Add::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:933,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:936,1
    - Dst: cryptofuzz::operation::ECC_Point_Dbl::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:941,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:944,1
    - Dst: cryptofuzz::operation::ECC_Point_Mul::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:950,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:953,1
    - Dst: cryptofuzz::operation::ECC_Point_Neg::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:958,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:961,1
    - Dst: cryptofuzz::operation::ECC_Point_Cmp::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:968,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:971,1
    - Dst: cryptofuzz::operation::ECC_Point_Sub::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:978,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:982,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:985,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:995,1
    - Dst: cryptofuzz::operation::BignumCalc_Fp12::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1020,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1021,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1021,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1037,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1042,1
    - Dst: cryptofuzz::operation::ECDSA_Sign::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1046,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1047,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1047,1
    - Dst: cryptofuzz::operation::DSA_Verify::Serialize
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1069,1
    - Dst: cryptofuzz::Builtin_tests_importer::write
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1070,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1070,1
    - Dst: cryptofuzz::Builtin_tests_importer::ecdsa_verify_tests
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1073,1
    - Dst: cryptofuzz::Builtin_tests_importer::ecc_point_add_tests
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1074,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 475
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 1075
    functionName: cryptofuzz::Builtin_tests_importer::Run
    functionSourceFile: /src/cryptofuzz/builtin_tests_importer.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - cryptofuzz::operation::BignumCalc::Serialize
    - cryptofuzz::operation::ECC_ValidatePubkey::Serialize
    - cryptofuzz::operation::BLS_G1_Mul::Serialize
    - cryptofuzz::operation::ECDSA_Sign::Serialize
    - cryptofuzz::operation::ECC_Point_Cmp::Serialize
    - cryptofuzz::operation::ECC_Point_Sub::Serialize
    - CF_OPERATION
    - cryptofuzz::operation::DSA_Verify::Serialize
    - cryptofuzz::operation::ECC_PrivateToPublic::Serialize
    - cryptofuzz::operation::ECC_Point_Neg::Serialize
    - cryptofuzz::operation::ECC_Point_Add::Serialize
    - CF_UNREACHABLE
    - cryptofuzz::operation::BLS_IsG1OnCurve::Serialize
    - cryptofuzz::operation::ECDSA_Verify::Serialize
    - cryptofuzz::operation::ECC_Point_Mul::Serialize
    - cryptofuzz::Builtin_tests_importer::write
    - cryptofuzz::Builtin_tests_importer::ecc_point_add_tests
    - cryptofuzz::operation::ECC_Point_Dbl::Serialize
    - cryptofuzz::operation::BignumCalc_Fp12::Serialize
    - CF_ECC_CURVE
    - cryptofuzz::operation::Digest::Serialize
    - cryptofuzz::Builtin_tests_importer::ecdsa_verify_tests
    - CF_DIGEST
    linkageType: ''
    returnType: void
    signature: void Builtin_tests_importer::Run(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1085,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1087,1
    - Dst: GetOut
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1087,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1090,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1090,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1093,1
    - Dst: CF_MODULE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1093,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1096,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1098,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1100,1
    - Dst: GetOut
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1100,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1103,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1103,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1106,1
    - Dst: CF_MODULE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1106,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1109,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1112,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1112,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1115,1
    - Dst: CF_MODULE
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1115,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1118,1
    - Dst: std::string
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1122,1
    - Dst: cryptofuzz::util::SHA1
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1122,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1122,1
    - Dst: fopen
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1123,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1123,1
    - Dst: fwrite
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1124,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1124,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1124,1
    - Dst: fclose
      Src: /src/cryptofuzz/builtin_tests_importer.cpp:1125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - operation
    - ' dsOut2'
    - twice
    argTypes:
    - uint64_t
    - fuzzing::datasource::Datasource
    - bool
    constantsTouched: []
    func_position:
      end: 1127
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1127
    functionName: cryptofuzz::Builtin_tests_importer::write
    functionSourceFile: /src/cryptofuzz/builtin_tests_importer.cpp
    functionUses: 3
    functionsReached:
    - cryptofuzz::util::SHA1
    - std::string
    - CF_MODULE
    - fuzzing::datasource::Datasource::Put
    - std::vector<uint8_t>
    - std::string::c_str
    - GetOut
    - fclose
    - fuzzing::datasource::Datasource::GetOut
    - fuzzing::datasource::Datasource::PutData
    - fwrite
    - fopen
    linkageType: ''
    returnType: void
    signature: "void Builtin_tests_importer::write(\n        const uint64_t operation,\n
      \       fuzzing::datasource::Datasource& dsOut2,\n        const bool twice)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - std::shared_ptr<Module>
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: cryptofuzz::Driver::LoadModule
    functionSourceFile: /src/cryptofuzz/driver.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Driver::LoadModule(std::shared_ptr<Module> module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:19,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:20,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:21,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:22,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:23,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:24,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:25,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:26,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:27,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:28,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:29,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:30,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:31,1
    - Dst: ID
      Src: /src/cryptofuzz/driver.cpp:32,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:33,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:34,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:35,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:36,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:37,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:38,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:39,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:40,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:41,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:42,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:43,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:44,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:45,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:46,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:47,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:48,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:49,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:50,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:51,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:52,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:53,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:54,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:55,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:56,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:57,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:58,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:59,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:60,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:61,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:62,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:63,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:64,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:65,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:66,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:67,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:68,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:69,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:70,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:71,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:72,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:73,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:74,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:75,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:76,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:77,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:78,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:79,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:80,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:81,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:82,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:83,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:84,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:85,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:86,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:87,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:88,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:89,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:90,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:91,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:92,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:93,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:94,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:95,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:96,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:97,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:98,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:99,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:100,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:101,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:102,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:103,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:104,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:105,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:106,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:107,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:108,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:109,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:110,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:111,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:112,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:113,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:114,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:115,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:116,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:117,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:118,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:119,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:120,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:121,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:122,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:123,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:124,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:125,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/driver.cpp:131,1
    - Dst: operations::Have
      Src: /src/cryptofuzz/driver.cpp:133,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/driver.cpp:137,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:140,1
    - Dst: ExecutorDigest::Run
      Src: /src/cryptofuzz/driver.cpp:141,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:141,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:141,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:143,1
    - Dst: ExecutorHMAC::Run
      Src: /src/cryptofuzz/driver.cpp:144,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:144,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:144,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:146,1
    - Dst: ExecutorUMAC::Run
      Src: /src/cryptofuzz/driver.cpp:147,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:147,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:147,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:149,1
    - Dst: ExecutorCMAC::Run
      Src: /src/cryptofuzz/driver.cpp:150,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:150,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:150,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:152,1
    - Dst: ExecutorSymmetricEncrypt::Run
      Src: /src/cryptofuzz/driver.cpp:153,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:153,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:153,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:155,1
    - Dst: ExecutorSymmetricDecrypt::Run
      Src: /src/cryptofuzz/driver.cpp:156,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:156,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:156,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:158,1
    - Dst: ExecutorKDF_SCRYPT::Run
      Src: /src/cryptofuzz/driver.cpp:159,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:159,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:159,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:161,1
    - Dst: ExecutorKDF_HKDF::Run
      Src: /src/cryptofuzz/driver.cpp:162,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:162,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:162,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:164,1
    - Dst: ExecutorKDF_TLS1_PRF::Run
      Src: /src/cryptofuzz/driver.cpp:165,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:165,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:165,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:167,1
    - Dst: ExecutorKDF_PBKDF::Run
      Src: /src/cryptofuzz/driver.cpp:168,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:168,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:168,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:170,1
    - Dst: ExecutorKDF_PBKDF1::Run
      Src: /src/cryptofuzz/driver.cpp:171,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:171,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:171,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:173,1
    - Dst: ExecutorKDF_PBKDF2::Run
      Src: /src/cryptofuzz/driver.cpp:174,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:174,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:174,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:176,1
    - Dst: ExecutorKDF_ARGON2::Run
      Src: /src/cryptofuzz/driver.cpp:177,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:177,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:177,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:179,1
    - Dst: ExecutorKDF_SSH::Run
      Src: /src/cryptofuzz/driver.cpp:180,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:180,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:180,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:182,1
    - Dst: ExecutorKDF_X963::Run
      Src: /src/cryptofuzz/driver.cpp:183,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:183,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:183,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:185,1
    - Dst: ExecutorKDF_BCRYPT::Run
      Src: /src/cryptofuzz/driver.cpp:186,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:186,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:186,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:188,1
    - Dst: ExecutorKDF_SP_800_108::Run
      Src: /src/cryptofuzz/driver.cpp:189,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:189,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:189,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:191,1
    - Dst: ExecutorKDF_SRTP::Run
      Src: /src/cryptofuzz/driver.cpp:192,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:192,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:192,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:194,1
    - Dst: ExecutorKDF_SRTCP::Run
      Src: /src/cryptofuzz/driver.cpp:195,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:195,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:195,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:197,1
    - Dst: ExecutorECC_PrivateToPublic::Run
      Src: /src/cryptofuzz/driver.cpp:198,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:198,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:198,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:200,1
    - Dst: ExecutorECC_ValidatePubkey::Run
      Src: /src/cryptofuzz/driver.cpp:201,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:201,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:201,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:203,1
    - Dst: ExecutorECC_GenerateKeyPair::Run
      Src: /src/cryptofuzz/driver.cpp:204,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:204,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:204,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:206,1
    - Dst: ExecutorECCSI_Sign::Run
      Src: /src/cryptofuzz/driver.cpp:207,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:207,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:207,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:209,1
    - Dst: ExecutorECDSA_Sign::Run
      Src: /src/cryptofuzz/driver.cpp:210,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:210,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:210,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:212,1
    - Dst: ExecutorECGDSA_Sign::Run
      Src: /src/cryptofuzz/driver.cpp:213,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:213,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:213,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:215,1
    - Dst: ExecutorECRDSA_Sign::Run
      Src: /src/cryptofuzz/driver.cpp:216,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:216,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:216,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:218,1
    - Dst: ExecutorSchnorr_Sign::Run
      Src: /src/cryptofuzz/driver.cpp:219,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:219,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:219,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:221,1
    - Dst: ExecutorECCSI_Verify::Run
      Src: /src/cryptofuzz/driver.cpp:222,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:222,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:222,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:224,1
    - Dst: ExecutorECDSA_Verify::Run
      Src: /src/cryptofuzz/driver.cpp:225,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:225,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:225,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:227,1
    - Dst: ExecutorECGDSA_Verify::Run
      Src: /src/cryptofuzz/driver.cpp:228,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:228,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:228,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:230,1
    - Dst: ExecutorECRDSA_Verify::Run
      Src: /src/cryptofuzz/driver.cpp:231,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:231,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:231,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:233,1
    - Dst: ExecutorSchnorr_Verify::Run
      Src: /src/cryptofuzz/driver.cpp:234,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:234,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:234,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:236,1
    - Dst: ExecutorECDSA_Recover::Run
      Src: /src/cryptofuzz/driver.cpp:237,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:237,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:237,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:239,1
    - Dst: ExecutorDSA_Verify::Run
      Src: /src/cryptofuzz/driver.cpp:240,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:240,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:240,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:242,1
    - Dst: ExecutorDSA_Sign::Run
      Src: /src/cryptofuzz/driver.cpp:243,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:243,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:243,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:245,1
    - Dst: ExecutorDSA_GenerateParameters::Run
      Src: /src/cryptofuzz/driver.cpp:246,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:246,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:246,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:248,1
    - Dst: ExecutorDSA_PrivateToPublic::Run
      Src: /src/cryptofuzz/driver.cpp:249,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:249,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:249,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:251,1
    - Dst: ExecutorDSA_GenerateKeyPair::Run
      Src: /src/cryptofuzz/driver.cpp:252,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:252,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:252,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:254,1
    - Dst: ExecutorECDH_Derive::Run
      Src: /src/cryptofuzz/driver.cpp:255,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:255,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:255,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:257,1
    - Dst: ExecutorECIES_Encrypt::Run
      Src: /src/cryptofuzz/driver.cpp:258,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:258,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:258,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:260,1
    - Dst: ExecutorECIES_Decrypt::Run
      Src: /src/cryptofuzz/driver.cpp:261,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:261,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:261,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:263,1
    - Dst: ExecutorECC_Point_Add::Run
      Src: /src/cryptofuzz/driver.cpp:264,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:264,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:264,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:266,1
    - Dst: ExecutorECC_Point_Sub::Run
      Src: /src/cryptofuzz/driver.cpp:267,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:267,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:267,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:269,1
    - Dst: ExecutorECC_Point_Mul::Run
      Src: /src/cryptofuzz/driver.cpp:270,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:270,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:270,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:272,1
    - Dst: ExecutorECC_Point_Neg::Run
      Src: /src/cryptofuzz/driver.cpp:273,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:273,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:273,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:275,1
    - Dst: ExecutorECC_Point_Dbl::Run
      Src: /src/cryptofuzz/driver.cpp:276,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:276,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:276,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:278,1
    - Dst: ExecutorECC_Point_Cmp::Run
      Src: /src/cryptofuzz/driver.cpp:279,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:279,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:279,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:281,1
    - Dst: ExecutorDH_GenerateKeyPair::Run
      Src: /src/cryptofuzz/driver.cpp:282,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:282,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:282,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:284,1
    - Dst: ExecutorDH_Derive::Run
      Src: /src/cryptofuzz/driver.cpp:285,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:285,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:285,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:287,1
    - Dst: ExecutorBignumCalc::Run
      Src: /src/cryptofuzz/driver.cpp:288,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:288,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:288,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:290,1
    - Dst: ExecutorBignumCalc_Fp2::Run
      Src: /src/cryptofuzz/driver.cpp:291,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:291,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:291,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:293,1
    - Dst: ExecutorBignumCalc_Fp12::Run
      Src: /src/cryptofuzz/driver.cpp:294,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:294,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:294,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:296,1
    - Dst: ExecutorBignumCalc_Mod_BLS12_381_R::Run
      Src: /src/cryptofuzz/driver.cpp:297,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:297,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:297,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:299,1
    - Dst: ExecutorBignumCalc_Mod_BLS12_381_P::Run
      Src: /src/cryptofuzz/driver.cpp:300,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:300,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:300,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:302,1
    - Dst: ExecutorBignumCalc_Mod_BLS12_377_R::Run
      Src: /src/cryptofuzz/driver.cpp:303,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:303,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:303,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:305,1
    - Dst: ExecutorBignumCalc_Mod_BLS12_377_P::Run
      Src: /src/cryptofuzz/driver.cpp:306,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:306,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:306,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:308,1
    - Dst: ExecutorBignumCalc_Mod_BN128_R::Run
      Src: /src/cryptofuzz/driver.cpp:309,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:309,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:309,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:311,1
    - Dst: ExecutorBignumCalc_Mod_BN128_P::Run
      Src: /src/cryptofuzz/driver.cpp:312,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:312,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:312,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:314,1
    - Dst: ExecutorBignumCalc_Mod_Vesta_R::Run
      Src: /src/cryptofuzz/driver.cpp:315,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:315,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:315,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:317,1
    - Dst: ExecutorBignumCalc_Mod_Vesta_P::Run
      Src: /src/cryptofuzz/driver.cpp:318,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:318,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:318,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:320,1
    - Dst: ExecutorBignumCalc_Mod_ED25519::Run
      Src: /src/cryptofuzz/driver.cpp:321,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:321,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:321,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:323,1
    - Dst: ExecutorBignumCalc_Mod_Edwards_R::Run
      Src: /src/cryptofuzz/driver.cpp:324,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:324,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:324,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:326,1
    - Dst: ExecutorBignumCalc_Mod_Edwards_P::Run
      Src: /src/cryptofuzz/driver.cpp:327,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:327,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:327,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:329,1
    - Dst: ExecutorBignumCalc_Mod_Goldilocks::Run
      Src: /src/cryptofuzz/driver.cpp:330,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:330,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:330,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:332,1
    - Dst: ExecutorBignumCalc_Mod_MNT4_R::Run
      Src: /src/cryptofuzz/driver.cpp:333,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:333,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:333,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:335,1
    - Dst: ExecutorBignumCalc_Mod_MNT4_P::Run
      Src: /src/cryptofuzz/driver.cpp:336,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:336,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:336,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:338,1
    - Dst: ExecutorBignumCalc_Mod_MNT6_R::Run
      Src: /src/cryptofuzz/driver.cpp:339,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:339,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:339,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:341,1
    - Dst: ExecutorBignumCalc_Mod_MNT6_P::Run
      Src: /src/cryptofuzz/driver.cpp:342,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:342,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:342,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:344,1
    - Dst: ExecutorBignumCalc_Mod_2Exp64::Run
      Src: /src/cryptofuzz/driver.cpp:345,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:345,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:345,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:347,1
    - Dst: ExecutorBignumCalc_Mod_2Exp128::Run
      Src: /src/cryptofuzz/driver.cpp:348,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:348,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:348,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:350,1
    - Dst: ExecutorBignumCalc_Mod_2Exp256::Run
      Src: /src/cryptofuzz/driver.cpp:351,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:351,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:351,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:353,1
    - Dst: ExecutorBignumCalc_Mod_2Exp512::Run
      Src: /src/cryptofuzz/driver.cpp:354,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:354,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:354,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:356,1
    - Dst: ExecutorBignumCalc_Mod_SECP256K1::Run
      Src: /src/cryptofuzz/driver.cpp:357,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:357,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:357,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:359,1
    - Dst: ExecutorBignumCalc_Mod_SECP256K1_P::Run
      Src: /src/cryptofuzz/driver.cpp:360,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:360,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:360,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:362,1
    - Dst: ExecutorBLS_PrivateToPublic::Run
      Src: /src/cryptofuzz/driver.cpp:363,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:363,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:363,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:365,1
    - Dst: ExecutorBLS_PrivateToPublic_G2::Run
      Src: /src/cryptofuzz/driver.cpp:366,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:366,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:366,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:368,1
    - Dst: ExecutorBLS_Sign::Run
      Src: /src/cryptofuzz/driver.cpp:369,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:369,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:369,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:371,1
    - Dst: ExecutorBLS_Verify::Run
      Src: /src/cryptofuzz/driver.cpp:372,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:372,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:372,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:374,1
    - Dst: ExecutorBLS_BatchSign::Run
      Src: /src/cryptofuzz/driver.cpp:375,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:375,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:375,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:377,1
    - Dst: ExecutorBLS_BatchVerify::Run
      Src: /src/cryptofuzz/driver.cpp:378,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:378,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:378,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:380,1
    - Dst: ExecutorBLS_Aggregate_G1::Run
      Src: /src/cryptofuzz/driver.cpp:381,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:381,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:381,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:383,1
    - Dst: ExecutorBLS_Aggregate_G2::Run
      Src: /src/cryptofuzz/driver.cpp:384,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:384,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:384,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:386,1
    - Dst: ExecutorBLS_Pairing::Run
      Src: /src/cryptofuzz/driver.cpp:387,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:387,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:387,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:389,1
    - Dst: ExecutorBLS_MillerLoop::Run
      Src: /src/cryptofuzz/driver.cpp:390,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:390,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:390,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:392,1
    - Dst: ExecutorBLS_FinalExp::Run
      Src: /src/cryptofuzz/driver.cpp:393,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:393,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:393,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:395,1
    - Dst: ExecutorBLS_HashToG1::Run
      Src: /src/cryptofuzz/driver.cpp:396,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:396,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:396,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:398,1
    - Dst: ExecutorBLS_HashToG2::Run
      Src: /src/cryptofuzz/driver.cpp:399,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:399,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:399,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:401,1
    - Dst: ExecutorBLS_MapToG1::Run
      Src: /src/cryptofuzz/driver.cpp:402,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:402,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:402,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:404,1
    - Dst: ExecutorBLS_MapToG2::Run
      Src: /src/cryptofuzz/driver.cpp:405,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:405,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:405,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:407,1
    - Dst: ExecutorBLS_IsG1OnCurve::Run
      Src: /src/cryptofuzz/driver.cpp:408,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:408,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:408,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:410,1
    - Dst: ExecutorBLS_IsG2OnCurve::Run
      Src: /src/cryptofuzz/driver.cpp:411,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:411,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:411,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:413,1
    - Dst: ExecutorBLS_GenerateKeyPair::Run
      Src: /src/cryptofuzz/driver.cpp:414,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:414,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:414,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:416,1
    - Dst: ExecutorBLS_Decompress_G1::Run
      Src: /src/cryptofuzz/driver.cpp:417,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:417,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:417,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:419,1
    - Dst: ExecutorBLS_Compress_G1::Run
      Src: /src/cryptofuzz/driver.cpp:420,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:420,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:420,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:422,1
    - Dst: ExecutorBLS_Decompress_G2::Run
      Src: /src/cryptofuzz/driver.cpp:423,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:423,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:423,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:425,1
    - Dst: ExecutorBLS_Compress_G2::Run
      Src: /src/cryptofuzz/driver.cpp:426,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:426,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:426,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:428,1
    - Dst: ExecutorBLS_G1_Add::Run
      Src: /src/cryptofuzz/driver.cpp:429,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:429,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:429,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:431,1
    - Dst: ExecutorBLS_G1_Mul::Run
      Src: /src/cryptofuzz/driver.cpp:432,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:432,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:432,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:434,1
    - Dst: ExecutorBLS_G1_IsEq::Run
      Src: /src/cryptofuzz/driver.cpp:435,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:435,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:435,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:437,1
    - Dst: ExecutorBLS_G1_Neg::Run
      Src: /src/cryptofuzz/driver.cpp:438,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:438,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:438,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:440,1
    - Dst: ExecutorBLS_G2_Add::Run
      Src: /src/cryptofuzz/driver.cpp:441,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:441,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:441,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:443,1
    - Dst: ExecutorBLS_G2_Mul::Run
      Src: /src/cryptofuzz/driver.cpp:444,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:444,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:444,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:446,1
    - Dst: ExecutorBLS_G2_IsEq::Run
      Src: /src/cryptofuzz/driver.cpp:447,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:447,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:447,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:449,1
    - Dst: ExecutorBLS_G2_Neg::Run
      Src: /src/cryptofuzz/driver.cpp:450,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:450,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:450,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:452,1
    - Dst: ExecutorBLS_G1_MultiExp::Run
      Src: /src/cryptofuzz/driver.cpp:453,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:453,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:453,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:455,1
    - Dst: ExecutorMisc::Run
      Src: /src/cryptofuzz/driver.cpp:456,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:456,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:456,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/driver.cpp:458,1
    - Dst: ExecutorSR25519_Verify::Run
      Src: /src/cryptofuzz/driver.cpp:459,1
    - Dst: auto::data
      Src: /src/cryptofuzz/driver.cpp:459,1
    - Dst: auto::size
      Src: /src/cryptofuzz/driver.cpp:459,1
    CyclomaticComplexity: 110
    EdgeCount: 110
    ICount: 330
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 464
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 464
    functionName: cryptofuzz::Driver::Run
    functionSourceFile: /src/cryptofuzz/driver.cpp
    functionUses: 0
    functionsReached:
    - ExecutorECDSA_Recover::Run
    - ExecutorBignumCalc_Mod_BLS12_377_R::Run
    - ExecutorBLS_IsG2OnCurve::Run
    - ExecutorDSA_PrivateToPublic::Run
    - ExecutorECC_GenerateKeyPair::Run
    - ExecutorBLS_G2_Mul::Run
    - ExecutorBignumCalc_Mod_Edwards_R::Run
    - ExecutorMisc::Run
    - ExecutorBignumCalc_Mod_BN128_P::Run
    - ExecutorBLS_HashToG2::Run
    - ExecutorBignumCalc_Mod_Goldilocks::Run
    - ExecutorBLS_PrivateToPublic_G2::Run
    - ExecutorBignumCalc_Mod_BLS12_381_R::Run
    - ExecutorECDSA_Sign::Run
    - ExecutorECGDSA_Verify::Run
    - ExecutorBignumCalc_Mod_BLS12_381_P::Run
    - ExecutorKDF_PBKDF1::Run
    - ExecutorBLS_Sign::Run
    - ExecutorECIES_Decrypt::Run
    - ExecutorHMAC::Run
    - ExecutorKDF_PBKDF::Run
    - ExecutorDSA_GenerateParameters::Run
    - ExecutorECC_Point_Dbl::Run
    - ExecutorCMAC::Run
    - ExecutorBLS_FinalExp::Run
    - ExecutorBLS_Decompress_G2::Run
    - ExecutorBLS_IsG1OnCurve::Run
    - ExecutorSymmetricDecrypt::Run
    - ExecutorBLS_Decompress_G1::Run
    - ExecutorDigest::Run
    - ExecutorBignumCalc_Mod_BN128_R::Run
    - ExecutorSchnorr_Sign::Run
    - ExecutorBLS_G1_Neg::Run
    - ExecutorBignumCalc_Fp12::Run
    - ExecutorBLS_G1_MultiExp::Run
    - ExecutorECC_Point_Sub::Run
    - ExecutorKDF_SCRYPT::Run
    - ExecutorKDF_SRTP::Run
    - ExecutorBignumCalc::Run
    - ExecutorECC_PrivateToPublic::Run
    - ExecutorDSA_Sign::Run
    - ExecutorBignumCalc_Mod_Vesta_R::Run
    - ExecutorKDF_PBKDF2::Run
    - ExecutorKDF_X963::Run
    - ExecutorECC_ValidatePubkey::Run
    - ExecutorBLS_MillerLoop::Run
    - ExecutorECC_Point_Add::Run
    - ExecutorDH_Derive::Run
    - ExecutorBLS_G1_Add::Run
    - ExecutorUMAC::Run
    - ExecutorBLS_MapToG1::Run
    - ExecutorECDSA_Verify::Run
    - ExecutorBLS_G2_Neg::Run
    - ExecutorBignumCalc_Mod_Vesta_P::Run
    - ExecutorSymmetricEncrypt::Run
    - ExecutorECCSI_Verify::Run
    - ExecutorECDH_Derive::Run
    - ExecutorBignumCalc_Mod_MNT4_R::Run
    - ExecutorBLS_Compress_G1::Run
    - ExecutorKDF_SSH::Run
    - ExecutorKDF_TLS1_PRF::Run
    - Datasource::GetData
    - ExecutorECCSI_Sign::Run
    - ExecutorECRDSA_Sign::Run
    - CF_OPERATION
    - ExecutorECIES_Encrypt::Run
    - ExecutorBignumCalc_Mod_MNT6_P::Run
    - ExecutorKDF_SRTCP::Run
    - ExecutorKDF_HKDF::Run
    - ExecutorBignumCalc_Mod_2Exp256::Run
    - ExecutorBignumCalc_Mod_SECP256K1_P::Run
    - ExecutorBLS_G1_IsEq::Run
    - ExecutorDSA_Verify::Run
    - Datasource::Get
    - ExecutorBignumCalc_Mod_2Exp512::Run
    - ExecutorBignumCalc_Mod_Edwards_P::Run
    - ExecutorBLS_BatchSign::Run
    - ExecutorBLS_BatchVerify::Run
    - ExecutorBignumCalc_Mod_MNT6_R::Run
    - ExecutorBignumCalc_Mod_ED25519::Run
    - ExecutorBLS_Compress_G2::Run
    - ExecutorBignumCalc_Mod_SECP256K1::Run
    - ExecutorBLS_G2_IsEq::Run
    - ExecutorDH_GenerateKeyPair::Run
    - ExecutorBLS_Pairing::Run
    - ExecutorSR25519_Verify::Run
    - ExecutorBLS_Aggregate_G2::Run
    - ExecutorBignumCalc_Mod_MNT4_P::Run
    - ExecutorBignumCalc_Mod_2Exp128::Run
    - ExecutorKDF_SP_800_108::Run
    - ExecutorBignumCalc_Fp2::Run
    - ExecutorKDF_BCRYPT::Run
    - ExecutorECC_Point_Cmp::Run
    - ExecutorBLS_G2_Add::Run
    - ExecutorBignumCalc_Mod_BLS12_377_P::Run
    - ExecutorECGDSA_Sign::Run
    - ExecutorBLS_MapToG2::Run
    - ExecutorBLS_Verify::Run
    - ExecutorSchnorr_Verify::Run
    - ExecutorKDF_ARGON2::Run
    - ExecutorDSA_GenerateKeyPair::Run
    - ExecutorECRDSA_Verify::Run
    - ExecutorBLS_PrivateToPublic::Run
    - ExecutorBignumCalc_Mod_2Exp64::Run
    - operations::Have
    - ExecutorECC_Point_Mul::Run
    - ExecutorBLS_HashToG1::Run
    - ExecutorBLS_G1_Mul::Run
    - ExecutorBLS_GenerateKeyPair::Run
    - ExecutorECC_Point_Neg::Run
    - ExecutorBLS_Aggregate_G1::Run
    - auto::data
    - auto::size
    - ID
    linkageType: ''
    returnType: void
    signature: void Driver::Run(const uint8_t* data, const size_t size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - options
    argTypes:
    - Options
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: cryptofuzz::Driver::Driver
    functionSourceFile: /src/cryptofuzz/driver.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Driver::Driver(const Options options)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: cryptofuzz::Driver::GetOptionsPtr
    functionSourceFile: /src/cryptofuzz/driver.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Options
    signature: Options * Driver::GetOptionsPtr(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::IsXTS
      Src: /src/cryptofuzz/util.cpp:32,1
    - Dst: component::SymmetricCipherType::Get
      Src: /src/cryptofuzz/util.cpp:32,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/util.cpp:37,1
    - Dst: component::SymmetricCipherType::Get
      Src: /src/cryptofuzz/util.cpp:37,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/util.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' ds'
    - cipherType
    - in
    - inSize
    argTypes:
    - fuzzing::datasource::Datasource
    - component::SymmetricCipherType
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: cryptofuzz::util::CipherInputTransform
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::IsXTS
    - component::SymmetricCipherType::Get
    - cryptofuzz::repository::IsCCM
    - cryptofuzz::util::ToParts
    linkageType: ''
    returnType: Multipart
    signature: Multipart CipherInputTransform(fuzzing::datasource::Datasource& ds,
      component::SymmetricCipherType cipherType, const uint8_t* in, const size_t inSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::CipherInputTransform
      Src: /src/cryptofuzz/util.cpp:48,1
    - Dst: cryptofuzz::util::ToInPlace
      Src: /src/cryptofuzz/util.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' ds'
    - cipherType
    - out
    - outSize
    - in
    - inSize
    argTypes:
    - fuzzing::datasource::Datasource
    - component::SymmetricCipherType
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: cryptofuzz::util::CipherInputTransform
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::util::ToInPlace
    - cryptofuzz::util::CipherInputTransform
    linkageType: ''
    returnType: Multipart
    signature: Multipart CipherInputTransform(fuzzing::datasource::Datasource& ds,
      component::SymmetricCipherType cipherType, uint8_t* out, const size_t outSize,
      const uint8_t* in, const size_t inSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/util.cpp:60,1
    - Dst: memcpy
      Src: /src/cryptofuzz/util.cpp:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - ' ds'
    - out
    - outSize
    - in
    - inSize
    argTypes:
    - fuzzing::datasource::Datasource
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 70
    functionName: cryptofuzz::util::ToInPlace
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - Get
    - memcpy
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * ToInPlace(fuzzing::datasource::Datasource& ds, uint8_t* out,
      const size_t outSize, const uint8_t* in, const size_t inSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/util.cpp:77,1
    - Dst: Get
      Src: /src/cryptofuzz/util.cpp:77,1
    - Dst: std::vector::back
      Src: /src/cryptofuzz/util.cpp:78,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/util.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' ds'
    - N
    argTypes:
    - fuzzing::datasource::Datasource
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: cryptofuzz::util::Split
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - Get
    - std::vector::back
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> Split(fuzzing::datasource::Datasource& ds, size_t
      N)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/util.cpp:89,1
    - Dst: data
      Src: /src/cryptofuzz/util.cpp:89,1
    - Dst: size
      Src: /src/cryptofuzz/util.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ds'
    - ' buffer'
    - blocksize
    argTypes:
    - fuzzing::datasource::Datasource
    - std::vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: cryptofuzz::util::ToParts
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::util::ToParts
    - data
    - size
    linkageType: ''
    returnType: Multipart
    signature: Multipart ToParts(fuzzing::datasource::Datasource& ds, const std::vector<uint8_t>&
      buffer, const size_t blocksize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/util.cpp:93,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/util.cpp:93,1
    - Dst: GetSize
      Src: /src/cryptofuzz/util.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ds'
    - ' buffer'
    - blocksize
    argTypes:
    - fuzzing::datasource::Datasource
    - Buffer
    - size_t
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: cryptofuzz::util::ToParts
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - cryptofuzz::util::ToParts
    - GetPtr
    - GetSize
    linkageType: ''
    returnType: Multipart
    signature: Multipart ToParts(fuzzing::datasource::Datasource& ds, const Buffer&
      buffer, const size_t blocksize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::Split
      Src: /src/cryptofuzz/util.cpp:98,1
    - Dst: Multipart::push_back
      Src: /src/cryptofuzz/util.cpp:103,1
    - Dst: Multipart::push_back
      Src: /src/cryptofuzz/util.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - data
    - size
    - blocksize
    argTypes:
    - fuzzing::datasource::Datasource
    - uint8_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: cryptofuzz::util::ToParts
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - cryptofuzz::util::Split
    - Multipart::push_back
    linkageType: ''
    returnType: Multipart
    signature: Multipart ToParts(fuzzing::datasource::Datasource& ds, const uint8_t*
      data, const size_t size, const size_t blocksize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToEqualParts
      Src: /src/cryptofuzz/util.cpp:113,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/util.cpp:113,1
    - Dst: GetSize
      Src: /src/cryptofuzz/util.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' buffer'
    - partSize
    argTypes:
    - Buffer
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: cryptofuzz::util::ToEqualParts
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::util::ToEqualParts
    - GetPtr
    - GetSize
    linkageType: ''
    returnType: Multipart
    signature: Multipart ToEqualParts(const Buffer& buffer, const size_t partSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Multipart::push_back
      Src: /src/cryptofuzz/util.cpp:122,1
    - Dst: Multipart::push_back
      Src: /src/cryptofuzz/util.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - size
    - partSize
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: cryptofuzz::util::ToEqualParts
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - Multipart::push_back
    linkageType: ''
    returnType: Multipart
    signature: Multipart ToEqualParts(const uint8_t* data, const size_t size, const
      size_t partSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>::push_back
      Src: /src/cryptofuzz/util.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - in
    - blocksize
    argTypes:
    - std::vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: cryptofuzz::util::Pkcs7Pad
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>::push_back
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Pkcs7Pad(std::vector<uint8_t> in, const size_t
      blocksize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:144,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:144,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/util.cpp:148,1
    - Dst: std::vector<uint8_t>::back
      Src: /src/cryptofuzz/util.cpp:148,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:150,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/util.cpp:154,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/util.cpp:154,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/util.cpp:154,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - in
    - blocksize
    argTypes:
    - std::vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: cryptofuzz::util::Pkcs7Unpad
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>::back
    - std::vector<uint8_t>::data
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: std::optional<std::vector<uint8_t>> Pkcs7Unpad(std::vector<uint8_t>
      in, const size_t blocksize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/cryptofuzz/util.cpp:162,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/util.cpp:173,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/util.cpp:174,1
    - Dst: std::setw
      Src: /src/cryptofuzz/util.cpp:182,1
    - Dst: std::setfill
      Src: /src/cryptofuzz/util.cpp:182,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/util.cpp:193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - _data
    - len
    - description
    argTypes:
    - void*
    - size_t
    - std::string
    constantsTouched: []
    func_position:
      end: 194
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 194
    functionName: cryptofuzz::util::HexDump
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 42
    functionsReached:
    - std::setfill
    - std::string::size
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string HexDump(const void *_data, const size_t len, const std::string
      description)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/util.cpp:197,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/util.cpp:197,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - description
    argTypes:
    - std::vector<uint8_t>
    - std::string
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: cryptofuzz::util::HexDump
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 43
    functionsReached:
    - cryptofuzz::util::HexDump
    - std::vector<uint8_t>::data
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: std::string
    signature: std::string HexDump(std::vector<uint8_t> data, const std::string description)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/util.cpp:201,1
    - Dst: Get
      Src: /src/cryptofuzz/util.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' buffer'
    argTypes:
    - Buffer
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - Get
    - cryptofuzz::util::HexDump
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const Buffer& buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const bool val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/util.cpp:211,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/util.cpp:211,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/util.cpp:211,1
    - Dst: cryptofuzz::util::HexDump
      Src: /src/cryptofuzz/util.cpp:216,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/util.cpp:216,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/util.cpp:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' ciphertext'
    argTypes:
    - component::Ciphertext
    constantsTouched: []
    func_position:
      end: 222
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 222
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::util::HexDump
    - tag::GetSize
    - ciphertext::GetSize
    - ciphertext::GetPtr
    - tag::GetPtr
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::Ciphertext& ciphertext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first::ToString
      Src: /src/cryptofuzz/util.cpp:228,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/util.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::ECC_PublicKey
    constantsTouched: []
    func_position:
      end: 236
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 236
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - second::ToString
    - first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::ECC_PublicKey& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: priv::ToString
      Src: /src/cryptofuzz/util.cpp:242,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/util.cpp:246,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/util.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::ECC_KeyPair
    constantsTouched: []
    func_position:
      end: 254
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 254
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - pub::second::ToString
    - pub::first::ToString
    - priv::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::ECC_KeyPair& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/util.cpp:260,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/util.cpp:264,1
    - Dst: pvt::first::ToString
      Src: /src/cryptofuzz/util.cpp:268,1
    - Dst: pvt::second::ToString
      Src: /src/cryptofuzz/util.cpp:272,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/util.cpp:276,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/util.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::ECCSI_Signature
    constantsTouched: []
    func_position:
      end: 284
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 284
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - pub::first::ToString
    - signature::second::ToString
    - pvt::first::ToString
    - signature::first::ToString
    - pub::second::ToString
    - pvt::second::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::ECCSI_Signature& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/util.cpp:290,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/util.cpp:294,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/util.cpp:298,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/util.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::ECDSA_Signature
    constantsTouched: []
    func_position:
      end: 306
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 306
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - pub::second::ToString
    - signature::second::ToString
    - pub::first::ToString
    - signature::first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::ECDSA_Signature& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/util.cpp:312,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/util.cpp:316,1
    - Dst: signature::first::first::ToString
      Src: /src/cryptofuzz/util.cpp:320,1
    - Dst: signature::first::second::ToString
      Src: /src/cryptofuzz/util.cpp:324,1
    - Dst: signature::second::first::ToString
      Src: /src/cryptofuzz/util.cpp:328,1
    - Dst: signature::second::second::ToString
      Src: /src/cryptofuzz/util.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::BLS_Signature
    constantsTouched: []
    func_position:
      end: 336
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 336
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - signature::first::second::ToString
    - pub::first::ToString
    - signature::second::first::ToString
    - signature::first::first::ToString
    - signature::second::second::ToString
    - pub::second::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::BLS_Signature& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/util.cpp:343,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/util.cpp:346,1
    - Dst: second::first::first::ToString
      Src: /src/cryptofuzz/util.cpp:352,1
    - Dst: second::first::second::ToString
      Src: /src/cryptofuzz/util.cpp:355,1
    - Dst: second::second::first::ToString
      Src: /src/cryptofuzz/util.cpp:358,1
    - Dst: second::second::second::ToString
      Src: /src/cryptofuzz/util.cpp:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::BLS_BatchSignature
    constantsTouched: []
    func_position:
      end: 368
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 368
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - second::second::second::ToString
    - first::first::ToString
    - first::second::ToString
    - second::first::second::ToString
    - second::first::first::ToString
    - second::second::first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::BLS_BatchSignature& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: priv::ToString
      Src: /src/cryptofuzz/util.cpp:374,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/util.cpp:378,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/util.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::BLS_KeyPair
    constantsTouched: []
    func_position:
      end: 386
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 386
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - pub::second::ToString
    - pub::first::ToString
    - priv::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::BLS_KeyPair& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToString
      Src: /src/cryptofuzz/util.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 390
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 390
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - cryptofuzz::util::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::Bignum& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/util.cpp:396,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/util.cpp:400,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/util.cpp:404,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/util.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::G2
    constantsTouched: []
    func_position:
      end: 412
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 412
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - second::second::ToString
    - second::first::ToString
    - first::first::ToString
    - first::second::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::G2& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/util.cpp:417,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/util.cpp:418,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/util.cpp:419,1
    - Dst: bn4::ToString
      Src: /src/cryptofuzz/util.cpp:420,1
    - Dst: bn5::ToString
      Src: /src/cryptofuzz/util.cpp:421,1
    - Dst: bn6::ToString
      Src: /src/cryptofuzz/util.cpp:422,1
    - Dst: bn7::ToString
      Src: /src/cryptofuzz/util.cpp:423,1
    - Dst: bn8::ToString
      Src: /src/cryptofuzz/util.cpp:424,1
    - Dst: bn9::ToString
      Src: /src/cryptofuzz/util.cpp:425,1
    - Dst: bn10::ToString
      Src: /src/cryptofuzz/util.cpp:426,1
    - Dst: bn11::ToString
      Src: /src/cryptofuzz/util.cpp:427,1
    - Dst: bn12::ToString
      Src: /src/cryptofuzz/util.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::Fp12
    constantsTouched: []
    func_position:
      end: 431
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 431
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - bn3::ToString
    - bn10::ToString
    - bn9::ToString
    - bn5::ToString
    - bn7::ToString
    - bn6::ToString
    - bn2::ToString
    - bn4::ToString
    - bn8::ToString
    - bn11::ToString
    - bn1::ToString
    - bn12::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::Fp12& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p::ToString
      Src: /src/cryptofuzz/util.cpp:436,1
    - Dst: q::ToString
      Src: /src/cryptofuzz/util.cpp:437,1
    - Dst: g::ToString
      Src: /src/cryptofuzz/util.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::DSA_Parameters
    constantsTouched: []
    func_position:
      end: 441
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 441
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - p::ToString
    - g::ToString
    - q::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::DSA_Parameters& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/util.cpp:446,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/util.cpp:447,1
    - Dst: pub::ToString
      Src: /src/cryptofuzz/util.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::DSA_Signature
    constantsTouched: []
    func_position:
      end: 451
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 451
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - pub::ToString
    - signature::second::ToString
    - signature::first::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::DSA_Signature& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToString
      Src: /src/cryptofuzz/util.cpp:456,1
    - Dst: cryptofuzz::util::ToString
      Src: /src/cryptofuzz/util.cpp:457,1
    - Dst: cryptofuzz::util::ToString
      Src: /src/cryptofuzz/util.cpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::Key3
    constantsTouched: []
    func_position:
      end: 461
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 461
    functionName: cryptofuzz::util::ToString
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 4
    functionsReached:
    - cryptofuzz::util::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::Key3& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' buffer'
    argTypes:
    - Buffer
    constantsTouched: []
    func_position:
      end: 465
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 465
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const Buffer& buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 469
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 469
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const bool val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphertext::ToJSON
      Src: /src/cryptofuzz/util.cpp:474,1
    - Dst: tag::ToJSON
      Src: /src/cryptofuzz/util.cpp:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ciphertext'
    argTypes:
    - component::Ciphertext
    constantsTouched: []
    func_position:
      end: 481
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 481
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - tag::ToJSON
    - ciphertext::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::Ciphertext& ciphertext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::ECC_PublicKey
    constantsTouched: []
    func_position:
      end: 485
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 485
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::ECC_PublicKey& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::ECC_KeyPair
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 4
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::ECC_KeyPair& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::ECCSI_Signature
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 5
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::ECCSI_Signature& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::ECDSA_Signature
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 6
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::ECDSA_Signature& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 501
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 501
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 7
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::Bignum& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::G2
    constantsTouched: []
    func_position:
      end: 505
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 505
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 8
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::G2& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::BLS_Signature
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 9
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::BLS_Signature& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::BLS_BatchSignature
    constantsTouched: []
    func_position:
      end: 513
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 10
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::BLS_BatchSignature& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::BLS_KeyPair
    constantsTouched: []
    func_position:
      end: 517
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 517
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 11
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::BLS_KeyPair& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::Fp12
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 12
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::Fp12& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::DSA_Parameters
    constantsTouched: []
    func_position:
      end: 525
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 525
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 13
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::DSA_Parameters& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::DSA_Signature
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 14
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::DSA_Signature& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:533,1
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:534,1
    - Dst: cryptofuzz::util::ToJSON
      Src: /src/cryptofuzz/util.cpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - component::Key3
    constantsTouched: []
    func_position:
      end: 537
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 537
    functionName: cryptofuzz::util::ToJSON
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 15
    functionsReached:
    - cryptofuzz::util::ToJSON
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json ToJSON(const component::Key3& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 550
    functionName: cryptofuzz::util::HaveBadPointer::HaveBadPointer
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HaveBadPointer(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 554
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 554
    functionName: cryptofuzz::util::HaveBadPointer::Get
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Get(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/util.cpp:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ds
    argTypes:
    - fuzzing::datasource::Datasource*
    constantsTouched: []
    func_position:
      end: 565
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 565
    functionName: cryptofuzz::util::SetGlobalDs
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void SetGlobalDs(fuzzing::datasource::Datasource* ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/util.cpp:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: cryptofuzz::util::UnsetGlobalDs
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void UnsetGlobalDs(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::datasource::Datasource*::Get
      Src: /src/cryptofuzz/util.cpp:580,1
    - Dst: Get
      Src: /src/cryptofuzz/util.cpp:585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ds
    argTypes:
    - fuzzing::datasource::Datasource*
    constantsTouched: []
    func_position:
      end: 586
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 586
    functionName: cryptofuzz::util::GetNullPtr
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - fuzzing::datasource::Datasource*::Get
    - Get
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * GetNullPtr(fuzzing::datasource::Datasource* ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::GetNullPtr
      Src: /src/cryptofuzz/util.cpp:589,1
    - Dst: Botan::Compression_Alloc_Info::malloc
      Src: /src/cryptofuzz/util.cpp:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 590
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 590
    functionName: cryptofuzz::util::malloc
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - Botan::Compression_Alloc_Info::malloc
    - cryptofuzz::util::GetNullPtr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * malloc(const size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/util.cpp:594,1
    - Dst: cryptofuzz::util::GetNullPtr
      Src: /src/cryptofuzz/util.cpp:595,1
    - Dst: cryptofuzz::util::GetNullPtr
      Src: /src/cryptofuzz/util.cpp:597,1
    - Dst: Botan::polyn_gf2m::realloc
      Src: /src/cryptofuzz/util.cpp:598,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/util.cpp:600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 603
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 603
    functionName: cryptofuzz::util::realloc
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::malloc
    - cryptofuzz::util::free
    - Botan::polyn_gf2m::realloc
    - cryptofuzz::util::GetNullPtr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * realloc(void* ptr, const size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::GetNullPtr
      Src: /src/cryptofuzz/util.cpp:606,1
    - Dst: Botan::Compression_Alloc_Info::free
      Src: /src/cryptofuzz/util.cpp:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 609
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 609
    functionName: cryptofuzz::util::free
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - Botan::Compression_Alloc_Info::free
    - cryptofuzz::util::GetNullPtr
    linkageType: ''
    returnType: void
    signature: void free(void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetX86Info
      Src: /src/cryptofuzz/util.cpp:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 619
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 619
    functionName: cryptofuzz::util::HaveSSE42
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - GetX86Info
    linkageType: ''
    returnType: bool
    signature: bool HaveSSE42(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::string_join
      Src: /src/cryptofuzz/util.cpp:622,1
    - Dst: printf
      Src: /src/cryptofuzz/util.cpp:623,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/util.cpp:623,1
    - Dst: fflush
      Src: /src/cryptofuzz/util.cpp:624,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/util.cpp:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - components
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 626
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 626
    functionName: cryptofuzz::util::abort
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - fflush
    - printf
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - std::string::c_str
    - Botan::string_join
    linkageType: ''
    returnType: void
    signature: void abort(const std::vector<std::string> components)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/util.cpp:636,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 638
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 638
    functionName: cryptofuzz::util::HexCharToDec
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int HexCharToDec(const char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/cryptofuzz/util.cpp:644,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/util.cpp:648,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/util.cpp:649,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/util.cpp:653,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/util.cpp:654,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/util.cpp:657,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/util.cpp:658,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/util.cpp:665,1
    - Dst: cryptofuzz::util::HexCharToDec
      Src: /src/cryptofuzz/util.cpp:665,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/util.cpp:665,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/util.cpp:672,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/util.cpp:675,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 677
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 677
    functionName: cryptofuzz::util::HexToDec
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 6
    functionsReached:
    - std::string::size
    - cryptofuzz::module::blst_detail::To_cpp_int
    - std::string::empty
    - std::stringstream::str
    - cryptofuzz::util::HexCharToDec
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string HexToDec(std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/cryptofuzz/util.cpp:681,1
    - Dst: std::string::erase
      Src: /src/cryptofuzz/util.cpp:682,1
    - Dst: std::string::erase
      Src: /src/cryptofuzz/util.cpp:685,1
    - Dst: std::string::find_first_not_of
      Src: /src/cryptofuzz/util.cpp:685,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/util.cpp:692,1
    - Dst: auto::size
      Src: /src/cryptofuzz/util.cpp:693,1
    - Dst: auto::size
      Src: /src/cryptofuzz/util.cpp:696,1
    - Dst: std::string
      Src: /src/cryptofuzz/util.cpp:697,1
    - Dst: auto::size
      Src: /src/cryptofuzz/util.cpp:697,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - s
    - padTo
    argTypes:
    - std::string
    - std::optional<size_t>
    constantsTouched: []
    func_position:
      end: 700
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 700
    functionName: cryptofuzz::util::DecToHex
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - std::string::size
    - std::string::find_first_not_of
    - std::string
    - std::string::erase
    - std::stringstream::str
    - auto::size
    linkageType: ''
    returnType: std::string
    signature: std::string DecToHex(std::string s, const std::optional<size_t> padTo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/util.cpp:705,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/util.cpp:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 708
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 708
    functionName: cryptofuzz::util::HexToBin
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::back_inserter
    - boost::algorithm::unhex
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> HexToBin(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/cryptofuzz/util.cpp:711,1
    - Dst: boost::multiprecision::export_bits
      Src: /src/cryptofuzz/util.cpp:716,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/util.cpp:716,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/util.cpp:721,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/util.cpp:724,1
    - Dst: memset
      Src: /src/cryptofuzz/util.cpp:728,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/util.cpp:728,1
    - Dst: memcpy
      Src: /src/cryptofuzz/util.cpp:730,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/util.cpp:730,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/util.cpp:730,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/util.cpp:730,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - s
    - size
    argTypes:
    - std::string
    - std::optional<size_t>
    constantsTouched: []
    func_position:
      end: 733
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 733
    functionName: cryptofuzz::util::DecToBin
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - std::vector::size
    - std::back_inserter
    - memset
    - memcpy
    - std::string::empty
    - boost::multiprecision::export_bits
    - std::vector::data
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: std::optional<std::vector<uint8_t>> DecToBin(const std::string s, std::optional<size_t>
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::BinToHex
      Src: /src/cryptofuzz/util.cpp:736,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/util.cpp:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 737
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 737
    functionName: cryptofuzz::util::BinToHex
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - std::vector<uint8_t>
    - cryptofuzz::util::BinToHex
    linkageType: ''
    returnType: std::string
    signature: std::string BinToHex(const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::algorithm::hex_lower
      Src: /src/cryptofuzz/util.cpp:741,1
    - Dst: std::vector<uint8_t>::begin
      Src: /src/cryptofuzz/util.cpp:741,1
    - Dst: std::vector<uint8_t>::end
      Src: /src/cryptofuzz/util.cpp:741,1
    - Dst: back_inserter
      Src: /src/cryptofuzz/util.cpp:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 744
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 744
    functionName: cryptofuzz::util::BinToHex
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 1
    functionsReached:
    - std::vector<uint8_t>::end
    - std::vector<uint8_t>::begin
    - boost::algorithm::hex_lower
    - back_inserter
    linkageType: ''
    returnType: std::string
    signature: std::string BinToHex(const std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/util.cpp:747,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/util.cpp:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 748
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 748
    functionName: cryptofuzz::util::BinToDec
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - std::vector<uint8_t>
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: std::string
    signature: std::string BinToDec(const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>::empty
      Src: /src/cryptofuzz/util.cpp:751,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/util.cpp:756,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/util.cpp:756,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/cryptofuzz/util.cpp:756,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:756,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/util.cpp:761,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/util.cpp:764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 766
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 766
    functionName: cryptofuzz::util::BinToDec
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - std::vector<uint8_t>::empty
    - std::stringstream::str
    - boost::multiprecision::import_bits
    - std::vector<uint8_t>::data
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: std::string
    signature: std::string BinToDec(const std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/util.cpp:771,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/util.cpp:775,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/util.cpp:792,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/util.cpp:793,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/util.cpp:795,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/util.cpp:796,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/util.cpp:798,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:800,1
    - Dst: end
      Src: /src/cryptofuzz/util.cpp:800,1
    - Dst: begin
      Src: /src/cryptofuzz/util.cpp:800,1
    - Dst: end
      Src: /src/cryptofuzz/util.cpp:800,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/util.cpp:802,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/util.cpp:803,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/util.cpp:805,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:807,1
    - Dst: end
      Src: /src/cryptofuzz/util.cpp:807,1
    - Dst: begin
      Src: /src/cryptofuzz/util.cpp:807,1
    - Dst: end
      Src: /src/cryptofuzz/util.cpp:807,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - A
    - B
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 810
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 810
    functionName: cryptofuzz::util::ToDER
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - std::vector::push_back
    - std::vector::insert
    - cryptofuzz::util::DecToBin
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: std::optional<std::vector<uint8_t>> ToDER(const std::string A, const
      std::string B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::SignatureFromDER
      Src: /src/cryptofuzz/util.cpp:813,1
    - Dst: cryptofuzz::util::HexToBin
      Src: /src/cryptofuzz/util.cpp:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 814
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 814
    functionName: cryptofuzz::util::SignatureFromDER
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - cryptofuzz::util::HexToBin
    - cryptofuzz::util::SignatureFromDER
    linkageType: ''
    returnType: std::optional<std::pair<std::string, std::string>>
    signature: std::optional<std::pair<std::string, std::string>> SignatureFromDER(const
      std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GETBYTE
      Src: /src/cryptofuzz/util.cpp:832,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/util.cpp:832,1
    - Dst: GETBYTE
      Src: /src/cryptofuzz/util.cpp:834,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/util.cpp:834,1
    - Dst: GETBYTE
      Src: /src/cryptofuzz/util.cpp:838,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/util.cpp:838,1
    - Dst: GETBYTE
      Src: /src/cryptofuzz/util.cpp:840,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/util.cpp:840,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/util.cpp:843,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/util.cpp:843,1
    - Dst: ADVANCE
      Src: /src/cryptofuzz/util.cpp:844,1
    - Dst: GETBYTE
      Src: /src/cryptofuzz/util.cpp:850,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/util.cpp:850,1
    - Dst: GETBYTE
      Src: /src/cryptofuzz/util.cpp:852,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/util.cpp:852,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/util.cpp:855,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/util.cpp:855,1
    - Dst: ADVANCE
      Src: /src/cryptofuzz/util.cpp:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 863
      start: 816
    functionDepth: 2
    functionLinenumber: 816
    functionLinenumberEnd: 863
    functionName: cryptofuzz::util::SignatureFromDER
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 3
    functionsReached:
    - GETBYTE
    - CF_CHECK_EQ
    - ADVANCE
    - std::vector<uint8_t>
    - cryptofuzz::util::BinToDec
    - CF_CHECK_LTE
    linkageType: ''
    returnType: std::optional<std::pair<std::string, std::string>>
    signature: std::optional<std::pair<std::string, std::string>> SignatureFromDER(const
      std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::PubkeyFromASN1
      Src: /src/cryptofuzz/util.cpp:866,1
    - Dst: cryptofuzz::util::HexToBin
      Src: /src/cryptofuzz/util.cpp:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - curveType
    - s
    argTypes:
    - uint64_t
    - std::string
    constantsTouched: []
    func_position:
      end: 867
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 867
    functionName: cryptofuzz::util::PubkeyFromASN1
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::util::PubkeyFromASN1
    - cryptofuzz::util::HexToBin
    linkageType: ''
    returnType: std::optional<std::pair<std::string, std::string>>
    signature: std::optional<std::pair<std::string, std::string>> PubkeyFromASN1(const
      uint64_t curveType, const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToBits
      Src: /src/cryptofuzz/util.cpp:870,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:875,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/util.cpp:887,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/util.cpp:888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - curveType
    - data
    argTypes:
    - uint64_t
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 890
      start: 869
    functionDepth: 2
    functionLinenumber: 869
    functionLinenumberEnd: 890
    functionName: cryptofuzz::util::PubkeyFromASN1
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::util::BinToDec
    - cryptofuzz::repository::ECC_CurveToBits
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: std::optional<std::pair<std::string, std::string>>
    signature: std::optional<std::pair<std::string, std::string>> PubkeyFromASN1(const
      uint64_t curveType, const std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::BinToHex
      Src: /src/cryptofuzz/util.cpp:893,1
    - Dst: Botan_Tests::find_certificate_by_pubkey_sha1
      Src: /src/cryptofuzz/util.cpp:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 894
      start: 892
    functionDepth: 2
    functionLinenumber: 892
    functionLinenumberEnd: 894
    functionName: cryptofuzz::util::SHA1
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 6
    functionsReached:
    - Botan_Tests::find_certificate_by_pubkey_sha1
    - cryptofuzz::util::BinToHex
    linkageType: ''
    returnType: std::string
    signature: std::string SHA1(const std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/cryptofuzz/util.cpp:897,1
    - Dst: Set
      Src: /src/cryptofuzz/util.cpp:898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bn
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 900
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 900
    functionName: cryptofuzz::util::HintBignum
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - Set
    linkageType: ''
    returnType: void
    signature: void HintBignum(const std::string bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/util.cpp:914,1
    - Dst: boost::multiprecision::cpp_int::str
      Src: /src/cryptofuzz/util.cpp:914,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - maxSize
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 915
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 915
    functionName: cryptofuzz::util::HintBignumPow2
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - boost::multiprecision::cpp_int::str
    - cryptofuzz::util::HintBignum
    linkageType: ''
    returnType: void
    signature: void HintBignumPow2(size_t maxSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/util.cpp:918,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/util.cpp:918,1
    - Dst: PRNG
      Src: /src/cryptofuzz/util.cpp:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 919
      start: 917
    functionDepth: 2
    functionLinenumber: 917
    functionLinenumberEnd: 919
    functionName: cryptofuzz::util::HintBignumInt
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - PRNG
    - std::to_string
    - cryptofuzz::util::HintBignum
    linkageType: ''
    returnType: void
    signature: void HintBignumInt(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/util.cpp:923,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bn
    argTypes:
    - std::optional<std::string>
    constantsTouched: []
    func_position:
      end: 925
      start: 921
    functionDepth: 2
    functionLinenumber: 921
    functionLinenumberEnd: 925
    functionName: cryptofuzz::util::HintBignumOpt
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::HintBignum
    linkageType: ''
    returnType: void
    signature: void HintBignumOpt(const std::optional<std::string> bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/cryptofuzz/util.cpp:930,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:930,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:930,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:931,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/util.cpp:931,1
    - Dst: std::vector<uint8_t>::begin
      Src: /src/cryptofuzz/util.cpp:931,1
    - Dst: std::vector<uint8_t>::end
      Src: /src/cryptofuzz/util.cpp:931,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:932,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/util.cpp:932,1
    - Dst: std::vector<uint8_t>::begin
      Src: /src/cryptofuzz/util.cpp:932,1
    - Dst: std::vector<uint8_t>::end
      Src: /src/cryptofuzz/util.cpp:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - A
    - B
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 935
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 935
    functionName: cryptofuzz::util::Append
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>::end
    - std::vector::reserve
    - std::vector::insert
    - std::vector::end
    - std::vector<uint8_t>::begin
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Append(const std::vector<uint8_t> A, const std::vector<uint8_t>
      B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/cryptofuzz/util.cpp:938,1
    - Dst: std::vector<uint8_t>::begin
      Src: /src/cryptofuzz/util.cpp:938,1
    - Dst: std::vector<uint8_t>::end
      Src: /src/cryptofuzz/util.cpp:938,1
    - Dst: std::vector<uint8_t>::erase
      Src: /src/cryptofuzz/util.cpp:939,1
    - Dst: std::vector<uint8_t>::begin
      Src: /src/cryptofuzz/util.cpp:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 941
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 941
    functionName: cryptofuzz::util::RemoveLeadingZeroes
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>::end
    - std::vector<uint8_t>::begin
    - std::vector<uint8_t>::erase
    - std::find_if
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> RemoveLeadingZeroes(std::vector<uint8_t> v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::RemoveLeadingZeroes
      Src: /src/cryptofuzz/util.cpp:944,1
    - Dst: Get
      Src: /src/cryptofuzz/util.cpp:948,1
    - Dst: cryptofuzz::util::Append
      Src: /src/cryptofuzz/util.cpp:954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' ds'
    - ' v'
    argTypes:
    - fuzzing::datasource::Datasource
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 955
      start: 943
    functionDepth: 2
    functionLinenumber: 943
    functionLinenumberEnd: 955
    functionName: cryptofuzz::util::AddLeadingZeroes
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::Append
    - cryptofuzz::util::RemoveLeadingZeroes
    - Get
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> AddLeadingZeroes(fuzzing::datasource::Datasource&
      ds, const std::vector<uint8_t>& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/util.cpp:958,1
    - Dst: IsGreaterThan
      Src: /src/cryptofuzz/util.cpp:959,1
    - Dst: SubFrom
      Src: /src/cryptofuzz/util.cpp:962,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/util.cpp:963,1
    - Dst: IsGreaterThan
      Src: /src/cryptofuzz/util.cpp:964,1
    - Dst: SubFrom
      Src: /src/cryptofuzz/util.cpp:967,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - curveType
    - ' s'
    argTypes:
    - uint64_t
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 972
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 972
    functionName: cryptofuzz::util::AdjustECDSASignature
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    - IsGreaterThan
    - SubFrom
    linkageType: ''
    returnType: void
    signature: void AdjustECDSASignature(const uint64_t curveType, component::Bignum&
      s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: powm
      Src: /src/cryptofuzz/util.cpp:982,1
    - Dst: powm
      Src: /src/cryptofuzz/util.cpp:986,1
    - Dst: pow
      Src: /src/cryptofuzz/util.cpp:987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' in'
    - ' prime'
    argTypes:
    - boost::multiprecision::cpp_int
    - boost::multiprecision::cpp_int
    constantsTouched: []
    func_position:
      end: 996
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 996
    functionName: cryptofuzz::util::sqrt_mod
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - pow
    - powm
    linkageType: ''
    returnType: boost::multiprecision::cpp_int
    signature: "boost::multiprecision::cpp_int sqrt_mod(\n        const boost::multiprecision::cpp_int&
      in,\n        const boost::multiprecision::cpp_int& prime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpp_int
      Src: /src/cryptofuzz/util.cpp:1008,1
    - Dst: pow
      Src: /src/cryptofuzz/util.cpp:1010,1
    - Dst: cryptofuzz::util::sqrt_mod
      Src: /src/cryptofuzz/util.cpp:1011,1
    - Dst: cpp_int
      Src: /src/cryptofuzz/util.cpp:1011,1
    - Dst: cpp_int
      Src: /src/cryptofuzz/util.cpp:1011,1
    - Dst: cpp_int::str
      Src: /src/cryptofuzz/util.cpp:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' x'
    - ' a'
    - ' b'
    - ' p'
    - ' o'
    - addOrder
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - bool
    constantsTouched: []
    func_position:
      end: 1014
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1014
    functionName: cryptofuzz::util::Find_ECC_Y
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::util::sqrt_mod
    - cpp_int
    - cpp_int::str
    - pow
    linkageType: ''
    returnType: std::string
    signature: "std::string Find_ECC_Y(\n        const std::string& x,\n        const
      std::string& a,\n        const std::string& b,\n        const std::string& p,\n
      \       const std::string& o, const bool addOrder)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToPrime
      Src: /src/cryptofuzz/util.cpp:1024,1
    - Dst: GetData
      Src: /src/cryptofuzz/util.cpp:1031,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/util.cpp:1034,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/util.cpp:1060,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/util.cpp:1060,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/util.cpp:1060,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/util.cpp:1060,1
    - Dst: cpp_int::str
      Src: /src/cryptofuzz/util.cpp:1072,1
    - Dst: str
      Src: /src/cryptofuzz/util.cpp:1072,1
    - Dst: cpp_int::str
      Src: /src/cryptofuzz/util.cpp:1072,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 6
    argNames:
    - ' ds'
    - ' x'
    - ' y'
    - curveType
    - jacobian
    - inRange
    argTypes:
    - fuzzing::datasource::Datasource
    - std::string
    - std::string
    - uint64_t
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1073
      start: 1016
    functionDepth: 2
    functionLinenumber: 1016
    functionLinenumberEnd: 1073
    functionName: cryptofuzz::util::ToRandomProjective
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - str
    - std::vector::empty
    - GetData
    - cryptofuzz::repository::ECC_CurveToPrime
    - cpp_int::str
    - boost::multiprecision::import_bits
    - std::vector::data
    linkageType: ''
    returnType: std::array<std::string, 3>
    signature: "std::array<std::string, 3> ToRandomProjective(\n        fuzzing::datasource::Datasource&
      ds,\n        const std::string& x,\n        const std::string& y,\n        const
      uint64_t curveType,\n        const bool jacobian,\n        const bool inRange)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 1086
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1086
    functionName: cryptofuzz::util::Ethereum_ModExp::modexpMultComplexity
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cpp_int
    signature: cpp_int modexpMultComplexity(const cpp_int& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - cpp_int
    - cpp_int
    constantsTouched: []
    func_position:
      end: 1090
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1090
    functionName: cryptofuzz::util::Ethereum_ModExp::Max
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cpp_int
    signature: cpp_int Max(const cpp_int& a, const cpp_int& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 1101
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1101
    functionName: cryptofuzz::util::Ethereum_ModExp::BitSize
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t BitSize(cpp_int v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:1112,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:1114,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:1115,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:1117,1
    - Dst: end
      Src: /src/cryptofuzz/util.cpp:1117,1
    - Dst: begin
      Src: /src/cryptofuzz/util.cpp:1118,1
    - Dst: begin
      Src: /src/cryptofuzz/util.cpp:1119,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/util.cpp:1122,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/util.cpp:1123,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:1124,1
    - Dst: end
      Src: /src/cryptofuzz/util.cpp:1124,1
    - Dst: begin
      Src: /src/cryptofuzz/util.cpp:1124,1
    - Dst: end
      Src: /src/cryptofuzz/util.cpp:1124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - input
    - start
    - size
    argTypes:
    - std::vector<uint8_t>
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1128
      start: 1103
    functionDepth: 1
    functionLinenumber: 1103
    functionLinenumberEnd: 1128
    functionName: cryptofuzz::util::Ethereum_ModExp::getData
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - begin
    - end
    - std::vector::insert
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> getData(\n            const std::vector<uint8_t>
      input,\n            const uint64_t start,\n            const uint64_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/cryptofuzz/util.cpp:1131,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/util.cpp:1136,1
    - Dst: data
      Src: /src/cryptofuzz/util.cpp:1136,1
    - Dst: data
      Src: /src/cryptofuzz/util.cpp:1136,1
    - Dst: size
      Src: /src/cryptofuzz/util.cpp:1136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 1139
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1139
    functionName: cryptofuzz::util::Ethereum_ModExp::Load
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - empty
    - data
    - boost::multiprecision::import_bits
    - size
    linkageType: ''
    returnType: cpp_int
    signature: cpp_int Load(const std::vector<uint8_t>& input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::Ethereum_ModExp::Load
      Src: /src/cryptofuzz/util.cpp:1146,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::getData
      Src: /src/cryptofuzz/util.cpp:1146,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::Load
      Src: /src/cryptofuzz/util.cpp:1147,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::getData
      Src: /src/cryptofuzz/util.cpp:1147,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::Load
      Src: /src/cryptofuzz/util.cpp:1148,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::getData
      Src: /src/cryptofuzz/util.cpp:1148,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:1150,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::getData
      Src: /src/cryptofuzz/util.cpp:1151,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:1151,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/util.cpp:1157,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::Load
      Src: /src/cryptofuzz/util.cpp:1161,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::getData
      Src: /src/cryptofuzz/util.cpp:1161,1
    - Dst: auto::convert_to
      Src: /src/cryptofuzz/util.cpp:1161,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::Load
      Src: /src/cryptofuzz/util.cpp:1163,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::getData
      Src: /src/cryptofuzz/util.cpp:1163,1
    - Dst: auto::convert_to
      Src: /src/cryptofuzz/util.cpp:1164,1
    - Dst: auto::convert_to
      Src: /src/cryptofuzz/util.cpp:1165,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::BitSize
      Src: /src/cryptofuzz/util.cpp:1169,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::Max
      Src: /src/cryptofuzz/util.cpp:1182,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::Max
      Src: /src/cryptofuzz/util.cpp:1188,1
    - Dst: auto::convert_to
      Src: /src/cryptofuzz/util.cpp:1199,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::modexpMultComplexity
      Src: /src/cryptofuzz/util.cpp:1201,1
    - Dst: cryptofuzz::util::Ethereum_ModExp::Max
      Src: /src/cryptofuzz/util.cpp:1202,1
    - Dst: auto::convert_to
      Src: /src/cryptofuzz/util.cpp:1209,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 2
    argNames:
    - input
    - eip2565
    argTypes:
    - std::vector<uint8_t>
    - bool
    constantsTouched: []
    func_position:
      end: 1210
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1210
    functionName: cryptofuzz::util::Ethereum_ModExp::Gas
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - auto::convert_to
    - cryptofuzz::util::Ethereum_ModExp::BitSize
    - cryptofuzz::util::Ethereum_ModExp::modexpMultComplexity
    - cryptofuzz::util::Ethereum_ModExp::Max
    - cryptofuzz::util::Ethereum_ModExp::getData
    - cryptofuzz::util::Ethereum_ModExp::Load
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t Gas(\n            std::vector<uint8_t> input,\n            const
      bool eip2565)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToBin
      Src: /src/cryptofuzz/util.cpp:1218,1
    - Dst: DecToBin
      Src: /src/cryptofuzz/util.cpp:1219,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/util.cpp:1219,1
    - Dst: auto::size
      Src: /src/cryptofuzz/util.cpp:1219,1
    - Dst: ToBin
      Src: /src/cryptofuzz/util.cpp:1220,1
    - Dst: DecToBin
      Src: /src/cryptofuzz/util.cpp:1221,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/util.cpp:1221,1
    - Dst: auto::size
      Src: /src/cryptofuzz/util.cpp:1221,1
    - Dst: ToBin
      Src: /src/cryptofuzz/util.cpp:1222,1
    - Dst: DecToBin
      Src: /src/cryptofuzz/util.cpp:1223,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/util.cpp:1223,1
    - Dst: auto::size
      Src: /src/cryptofuzz/util.cpp:1223,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:1225,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/util.cpp:1225,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/util.cpp:1225,1
    - Dst: auto::end
      Src: /src/cryptofuzz/util.cpp:1225,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:1226,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/util.cpp:1226,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/util.cpp:1226,1
    - Dst: auto::end
      Src: /src/cryptofuzz/util.cpp:1226,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:1227,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/util.cpp:1227,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/util.cpp:1227,1
    - Dst: auto::end
      Src: /src/cryptofuzz/util.cpp:1227,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:1228,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/util.cpp:1228,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/util.cpp:1228,1
    - Dst: auto::end
      Src: /src/cryptofuzz/util.cpp:1228,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:1229,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/util.cpp:1229,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/util.cpp:1229,1
    - Dst: auto::end
      Src: /src/cryptofuzz/util.cpp:1229,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/util.cpp:1230,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/util.cpp:1230,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/util.cpp:1230,1
    - Dst: auto::end
      Src: /src/cryptofuzz/util.cpp:1230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' base'
    - ' exp'
    - ' mod'
    argTypes:
    - component::Bignum
    - component::Bignum
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 1233
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1233
    functionName: cryptofuzz::util::Ethereum_ModExp::ToInput
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - ToBin
    - auto::end
    - DecToBin
    - std::vector::insert
    - auto::begin
    - std::vector::end
    - auto::size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> ToInput(\n            const component::Bignum&
      base,\n            const component::Bignum& exp,\n            const component::Bignum&
      mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1237
    functionName: cryptofuzz::util::__msan_unpoison
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void __msan_unpoison(const volatile void*, size_t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::__msan_unpoison
      Src: /src/cryptofuzz/util.cpp:1241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1242
      start: 1240
    functionDepth: 1
    functionLinenumber: 1240
    functionLinenumberEnd: 1242
    functionName: cryptofuzz::util::MemorySanitizerUnpoison
    functionSourceFile: /src/cryptofuzz/util.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::util::__msan_unpoison
    linkageType: ''
    returnType: void
    signature: void MemorySanitizerUnpoison(const void* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: cryptofuzz::mutator::ExpModGenerator::is_even
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_even(const cpp_int& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: cryptofuzz::mutator::ExpModGenerator::is_odd
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_odd(const cpp_int& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/expmod.cpp:33,1
    - Dst: str
      Src: /src/cryptofuzz/expmod.cpp:34,1
    - Dst: str
      Src: /src/cryptofuzz/expmod.cpp:35,1
    - Dst: str
      Src: /src/cryptofuzz/expmod.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' B'
    - ' E'
    - ' M'
    argTypes:
    - cpp_int
    - cpp_int
    - cpp_int
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: cryptofuzz::mutator::ExpModGenerator::to_json
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - str
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json to_json(const cpp_int& B, const cpp_int& E, const cpp_int&
      M)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/cryptofuzz/expmod.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: cryptofuzz::mutator::ExpModGenerator::max
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: cpp_int
    signature: cpp_int & max(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpp_int
      Src: /src/cryptofuzz/expmod.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' v'
    - ' m'
    argTypes:
    - cpp_int
    - cpp_int
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: cryptofuzz::mutator::ExpModGenerator::max_multiplier
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cpp_int
    linkageType: ''
    returnType: cpp_int
    signature: cpp_int max_multiplier(const cpp_int& v, const cpp_int& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::max_multiplier
      Src: /src/cryptofuzz/expmod.cpp:52,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/cryptofuzz/expmod.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: cryptofuzz::mutator::ExpModGenerator::max_multiplier
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::max_multiplier
    - cryptofuzz::mutator::ExpModGenerator::max
    linkageType: ''
    returnType: cpp_int
    signature: cpp_int max_multiplier(const cpp_int& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::max_multiplier
      Src: /src/cryptofuzz/expmod.cpp:59,1
    - Dst: uniform_int_distribution<cpp_int>
      Src: /src/cryptofuzz/expmod.cpp:65,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::is_even
      Src: /src/cryptofuzz/expmod.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 75
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 75
    functionName: cryptofuzz::mutator::ExpModGenerator::multiply_random
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::max_multiplier
    - cryptofuzz::mutator::ExpModGenerator::is_even
    - uniform_int_distribution<cpp_int>
    linkageType: ''
    returnType: bool
    signature: bool multiply_random(cpp_int& v, const bool odd = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::max_multiplier
      Src: /src/cryptofuzz/expmod.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - cpp_int
    - cpp_int
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: cryptofuzz::mutator::ExpModGenerator::multiply
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::max_multiplier
    linkageType: ''
    returnType: bool
    signature: bool multiply(cpp_int& a, const cpp_int& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpp_int
      Src: /src/cryptofuzz/expmod.cpp:102,1
    - Dst: getBignum
      Src: /src/cryptofuzz/expmod.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: cryptofuzz::mutator::ExpModGenerator::get_prime
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - getBignum
    - cpp_int
    linkageType: ''
    returnType: cpp_int
    signature: cpp_int get_prime(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/expmod.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: cryptofuzz::mutator::ExpModGenerator::prime_factors
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<size_t>
    signature: std::vector<size_t> prime_factors(const cpp_int& v) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' v'
    - ' base'
    argTypes:
    - cpp_int
    - cpp_int
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: cryptofuzz::mutator::ExpModGenerator::log
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t log(const cpp_int& v, const cpp_int& base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testFp12pow
      Src: /src/cryptofuzz/expmod.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' v'
    - exponent
    argTypes:
    - cpp_int
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: cryptofuzz::mutator::ExpModGenerator::pow
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - testFp12pow
    linkageType: ''
    returnType: cpp_int
    signature: cpp_int pow(const cpp_int& v, const size_t exponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/expmod.cpp:151,1
    - Dst: cpp_int
      Src: /src/cryptofuzz/expmod.cpp:159,1
    - Dst: cpp_int
      Src: /src/cryptofuzz/expmod.cpp:162,1
    - Dst: uniform_int_distribution<cpp_int>
      Src: /src/cryptofuzz/expmod.cpp:167,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::prime_factors
      Src: /src/cryptofuzz/expmod.cpp:170,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/expmod.cpp:171,1
    - Dst: cpp_int
      Src: /src/cryptofuzz/expmod.cpp:176,1
    - Dst: mt
      Src: /src/cryptofuzz/expmod.cpp:176,1
    - Dst: auto::size
      Src: /src/cryptofuzz/expmod.cpp:176,1
    - Dst: mt
      Src: /src/cryptofuzz/expmod.cpp:177,1
    - Dst: auto::size
      Src: /src/cryptofuzz/expmod.cpp:177,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::pow
      Src: /src/cryptofuzz/expmod.cpp:180,1
    - Dst: mt
      Src: /src/cryptofuzz/expmod.cpp:180,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::pow
      Src: /src/cryptofuzz/expmod.cpp:196,1
    - Dst: cpp_int
      Src: /src/cryptofuzz/expmod.cpp:196,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/expmod.cpp:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 204
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 204
    functionName: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_0
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cpp_int
    - CF_ASSERT
    - cryptofuzz::mutator::ExpModGenerator::prime_factors
    - cryptofuzz::mutator::ExpModGenerator::pow
    - cryptofuzz::mutator::ExpModGenerator::to_json
    - uniform_int_distribution<cpp_int>
    - auto::size
    - auto::empty
    - mt
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> generate_exp_mod_is_0(const size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::is_odd
      Src: /src/cryptofuzz/expmod.cpp:208,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::multiply_random
      Src: /src/cryptofuzz/expmod.cpp:213,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/expmod.cpp:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' B'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 222
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 222
    functionName: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_odd_base_1
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::is_odd
    - cryptofuzz::mutator::ExpModGenerator::multiply_random
    - cryptofuzz::mutator::ExpModGenerator::to_json
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> generate_exp_mod_is_odd_base_1(const
      cpp_int& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::is_odd
      Src: /src/cryptofuzz/expmod.cpp:226,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::multiply_random
      Src: /src/cryptofuzz/expmod.cpp:231,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/expmod.cpp:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' B'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 240
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 240
    functionName: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_odd_base_2
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::is_odd
    - cryptofuzz::mutator::ExpModGenerator::multiply_random
    - cryptofuzz::mutator::ExpModGenerator::to_json
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> generate_exp_mod_is_odd_base_2(const
      cpp_int& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::is_even
      Src: /src/cryptofuzz/expmod.cpp:244,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::multiply_random
      Src: /src/cryptofuzz/expmod.cpp:252,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/expmod.cpp:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' B'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 261
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 261
    functionName: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_even_base_1
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::is_even
    - cryptofuzz::mutator::ExpModGenerator::multiply_random
    - cryptofuzz::mutator::ExpModGenerator::to_json
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> generate_exp_mod_is_even_base_1(const
      cpp_int& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::get_prime
      Src: /src/cryptofuzz/expmod.cpp:265,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/expmod.cpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' B'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 278
      start: 264
    functionDepth: 4
    functionLinenumber: 264
    functionLinenumberEnd: 278
    functionName: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_base_1
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::get_prime
    - cryptofuzz::mutator::ExpModGenerator::to_json
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> generate_exp_mod_is_base_1(const cpp_int&
      B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::get_prime
      Src: /src/cryptofuzz/expmod.cpp:282,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::multiply_random
      Src: /src/cryptofuzz/expmod.cpp:290,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::multiply
      Src: /src/cryptofuzz/expmod.cpp:294,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/expmod.cpp:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 281
    functionDepth: 4
    functionLinenumber: 281
    functionLinenumberEnd: 302
    functionName: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_base_2
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::multiply
    - cryptofuzz::mutator::ExpModGenerator::get_prime
    - cryptofuzz::mutator::ExpModGenerator::to_json
    - cryptofuzz::mutator::ExpModGenerator::multiply_random
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> generate_exp_mod_is_base_2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::is_odd
      Src: /src/cryptofuzz/expmod.cpp:306,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::multiply_random
      Src: /src/cryptofuzz/expmod.cpp:311,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/expmod.cpp:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' E'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 319
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 319
    functionName: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_odd_exp_1
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::is_odd
    - cryptofuzz::mutator::ExpModGenerator::multiply_random
    - cryptofuzz::mutator::ExpModGenerator::to_json
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> generate_exp_mod_is_odd_exp_1(const cpp_int&
      E)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::get_prime
      Src: /src/cryptofuzz/expmod.cpp:331,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/cryptofuzz/expmod.cpp:338,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::multiply
      Src: /src/cryptofuzz/expmod.cpp:347,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/expmod.cpp:360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 361
      start: 329
    functionDepth: 4
    functionLinenumber: 329
    functionLinenumberEnd: 361
    functionName: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_v_1
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::multiply
    - cryptofuzz::mutator::ExpModGenerator::max
    - cryptofuzz::mutator::ExpModGenerator::get_prime
    - cryptofuzz::mutator::ExpModGenerator::to_json
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> generate_exp_mod_is_v_1(const cpp_int&
      v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::get_prime
      Src: /src/cryptofuzz/expmod.cpp:373,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::max
      Src: /src/cryptofuzz/expmod.cpp:380,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::multiply
      Src: /src/cryptofuzz/expmod.cpp:389,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::multiply_random
      Src: /src/cryptofuzz/expmod.cpp:398,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::to_json
      Src: /src/cryptofuzz/expmod.cpp:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - cpp_int
    constantsTouched: []
    func_position:
      end: 407
      start: 371
    functionDepth: 4
    functionLinenumber: 371
    functionLinenumberEnd: 407
    functionName: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_v_2
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::max
    - cryptofuzz::mutator::ExpModGenerator::get_prime
    - cryptofuzz::mutator::ExpModGenerator::multiply
    - cryptofuzz::mutator::ExpModGenerator::to_json
    - cryptofuzz::mutator::ExpModGenerator::multiply_random
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> generate_exp_mod_is_v_2(const cpp_int&
      v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_0
      Src: /src/cryptofuzz/expmod.cpp:414,1
    - Dst: PRNG
      Src: /src/cryptofuzz/expmod.cpp:414,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/expmod.cpp:414,1
    - Dst: cpp_int
      Src: /src/cryptofuzz/expmod.cpp:416,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_v_1
      Src: /src/cryptofuzz/expmod.cpp:421,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_v_2
      Src: /src/cryptofuzz/expmod.cpp:423,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/expmod.cpp:425,1
    - Dst: cpp_int
      Src: /src/cryptofuzz/expmod.cpp:428,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::is_odd
      Src: /src/cryptofuzz/expmod.cpp:430,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_odd_base_1
      Src: /src/cryptofuzz/expmod.cpp:434,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_odd_base_2
      Src: /src/cryptofuzz/expmod.cpp:436,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_odd_exp_1
      Src: /src/cryptofuzz/expmod.cpp:438,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_base_1
      Src: /src/cryptofuzz/expmod.cpp:440,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_base_2
      Src: /src/cryptofuzz/expmod.cpp:442,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/expmod.cpp:444,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_even_base_1
      Src: /src/cryptofuzz/expmod.cpp:450,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_base_1
      Src: /src/cryptofuzz/expmod.cpp:452,1
    - Dst: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_base_2
      Src: /src/cryptofuzz/expmod.cpp:454,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/expmod.cpp:456,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/expmod.cpp:460,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 1
    argNames:
    - ' _result'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 462
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 462
    functionName: cryptofuzz::mutator::ExpModGenerator::generate_exp_mod
    functionSourceFile: /src/cryptofuzz/expmod.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_odd_exp_1
    - cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_even_base_1
    - cpp_int
    - CF_UNREACHABLE
    - cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_v_2
    - cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_v_1
    - PRNG
    - cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_0
    - cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_odd_base_2
    - std::array::size
    - cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_base_1
    - cryptofuzz::mutator::ExpModGenerator::is_odd
    - cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_odd_base_1
    - cryptofuzz::mutator::ExpModGenerator::generate_exp_mod_is_base_2
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> generate_exp_mod(const std::string& _result)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - filename
    - outDir
    - t
    argTypes:
    - std::string
    - std::string
    - enum type
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: cryptofuzz::OpenSSL_Importer::OpenSSL_Importer
    functionSourceFile: /src/cryptofuzz/openssl_importer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OpenSSL_Importer::OpenSSL_Importer(const std::string filename,
      const std::string outDir, const enum type t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::istreambuf_iterator<char>
      Src: /src/cryptofuzz/openssl_importer.cpp:18,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/cryptofuzz/openssl_importer.cpp:18,1
    - Dst: cryptofuzz::OpenSSL_Importer::LoadInput
      Src: /src/cryptofuzz/openssl_importer.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: cryptofuzz::OpenSSL_Importer::Run
    functionSourceFile: /src/cryptofuzz/openssl_importer.cpp
    functionUses: 0
    functionsReached:
    - std::istreambuf_iterator<char>
    - cryptofuzz::OpenSSL_Importer::LoadInput
    linkageType: ''
    returnType: void
    signature: void OpenSSL_Importer::Run(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/openssl_importer.cpp:30,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/openssl_importer.cpp:45,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/openssl_importer.cpp:49,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/openssl_importer.cpp:50,1
    - Dst: auto::size
      Src: /src/cryptofuzz/openssl_importer.cpp:55,1
    - Dst: auto::size
      Src: /src/cryptofuzz/openssl_importer.cpp:58,1
    - Dst: auto::size
      Src: /src/cryptofuzz/openssl_importer.cpp:61,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/openssl_importer.cpp:65,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/openssl_importer.cpp:70,1
    - Dst: cryptofuzz::operation::BignumCalc::Serialize
      Src: /src/cryptofuzz/openssl_importer.cpp:75,1
    - Dst: cryptofuzz::OpenSSL_Importer::write
      Src: /src/cryptofuzz/openssl_importer.cpp:76,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/openssl_importer.cpp:76,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 78
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 78
    functionName: cryptofuzz::OpenSSL_Importer::LoadInput
    functionSourceFile: /src/cryptofuzz/openssl_importer.cpp
    functionUses: 1
    functionsReached:
    - CF_CALCOP
    - CF_UNREACHABLE
    - cryptofuzz::operation::BignumCalc::Serialize
    - cryptofuzz::util::BinToDec
    - auto::size
    - CF_OPERATION
    - cryptofuzz::OpenSSL_Importer::write
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void OpenSSL_Importer::LoadInput(const std::vector<uint8_t> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/openssl_importer.cpp:84,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/openssl_importer.cpp:86,1
    - Dst: GetOut
      Src: /src/cryptofuzz/openssl_importer.cpp:86,1
    - Dst: fuzzing::datasource::Datasource::PutData
      Src: /src/cryptofuzz/openssl_importer.cpp:89,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/openssl_importer.cpp:89,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/openssl_importer.cpp:92,1
    - Dst: CF_MODULE
      Src: /src/cryptofuzz/openssl_importer.cpp:92,1
    - Dst: fuzzing::datasource::Datasource::Put
      Src: /src/cryptofuzz/openssl_importer.cpp:95,1
    - Dst: std::string
      Src: /src/cryptofuzz/openssl_importer.cpp:98,1
    - Dst: cryptofuzz::util::SHA1
      Src: /src/cryptofuzz/openssl_importer.cpp:98,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/openssl_importer.cpp:98,1
    - Dst: fopen
      Src: /src/cryptofuzz/openssl_importer.cpp:99,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/openssl_importer.cpp:99,1
    - Dst: fwrite
      Src: /src/cryptofuzz/openssl_importer.cpp:100,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/openssl_importer.cpp:100,1
    - Dst: fuzzing::datasource::Datasource::GetOut
      Src: /src/cryptofuzz/openssl_importer.cpp:100,1
    - Dst: fclose
      Src: /src/cryptofuzz/openssl_importer.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - operation
    - ' dsOut2'
    argTypes:
    - uint64_t
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 103
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 103
    functionName: cryptofuzz::OpenSSL_Importer::write
    functionSourceFile: /src/cryptofuzz/openssl_importer.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::util::SHA1
    - std::string
    - CF_MODULE
    - fuzzing::datasource::Datasource::Put
    - std::vector<uint8_t>
    - std::string::c_str
    - GetOut
    - fclose
    - fuzzing::datasource::Datasource::GetOut
    - fuzzing::datasource::Datasource::PutData
    - fwrite
    - fopen
    linkageType: ''
    returnType: void
    signature: void OpenSSL_Importer::write(const uint64_t operation, fuzzing::datasource::Datasource&
      dsOut2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:32,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:34,1
    - Dst: update
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:36,1
    - Dst: finish
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:39,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:41,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' in'
    - ' ds'
    argTypes:
    - component::Cleartext
    - Datasource
    constantsTouched: []
    func_position:
      end: 46
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 46
    functionName: cryptofuzz::module::BearSSL_detail::digest
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - Botan::PKCS11::LowLevel::C_Digest
    - init
    - finish
    - cryptofuzz::util::ToParts
    - update
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: "std::optional<component::Digest> digest(\n            void(*init)(Context*),\n
      \           void(*update)(Context*, const void*, size_t),\n            void(*finish)(const
      Context*, void*),\n            const component::Cleartext& in,\n            Datasource&
      ds\n        )"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:49,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:50,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:52,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:54,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:56,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:58,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:60,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: cryptofuzz::module::BearSSL_detail::To_br_hash_class
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_DIGEST
    - Get
    linkageType: ''
    returnType: br_hash_class
    signature: br_hash_class * To_br_hash_class(const component::DigestType& digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::multiprecision::export_bits
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:72,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:72,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:73,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:76,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:78,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:79,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:79,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:79,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - s
    - out
    - maxSize
    argTypes:
    - std::string
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: cryptofuzz::module::BearSSL_detail::EncodeBignum
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::back_inserter
    - std::reverse
    - memset
    - memcpy
    - boost::multiprecision::export_bits
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: bool EncodeBignum(const std::string s, uint8_t* out, const size_t maxSize,
      const bool reverse = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:90,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:95,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: cryptofuzz::module::BearSSL_detail::toString
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - boost::multiprecision::import_bits
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string toString(const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:104,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:105,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:106,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:107,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:109,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:111,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:112,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:113,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:114,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:115,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:116,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:117,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:118,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:119,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:120,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:121,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:122,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:123,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:124,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:125,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:126,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:127,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:128,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:129,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:130,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:131,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:132,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:133,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:134,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:135,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:138,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:138,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:138,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:142,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 143
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 143
    functionName: cryptofuzz::module::BearSSL_detail::toCurveID
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::find
    - std::map::end
    - std::map::at
    - CF_ECC_CURVE
    - Get
    linkageType: ''
    returnType: int
    signature: int toCurveID(const component::CurveType& curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:146,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:147,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:149,1
    - Dst: cryptofuzz::module::BearSSL_detail::toString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:151,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:158,1
    - Dst: cryptofuzz::module::BearSSL_detail::toString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:163,1
    - Dst: cryptofuzz::module::BearSSL_detail::toString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ' curveType'
    - data
    - size
    argTypes:
    - component::CurveType
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: cryptofuzz::module::BearSSL_detail::EncodePubkey
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::BearSSL_detail::toString
    - CF_ASSERT
    - CF_ECC_CURVE
    - abort
    - Get
    linkageType: ''
    returnType: component::BignumPair
    signature: component::BignumPair EncodePubkey(const component::CurveType& curveType,
      const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:171,1
    - Dst: br_aes_x86ni_ctrcbc_get_vtable
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 196
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 196
    functionName: cryptofuzz::module::BearSSL_detail::Get_br_block_ctrcbc_class
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - br_aes_x86ni_ctrcbc_get_vtable
    linkageType: ''
    returnType: br_block_ctrcbc_class
    signature: br_block_ctrcbc_class * Get_br_block_ctrcbc_class(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:200,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:202,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:203,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:204,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:205,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:211,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:212,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:213,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:214,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:220,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:220,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:220,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:223,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:223,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:223,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:227,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:227,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:227,1
    - Dst: br_ec_p256_m62_get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:228,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:229,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:235,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:235,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:235,1
    - Dst: br_ec_p256_m64_get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:236,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:237,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:243,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:243,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:243,1
    - Dst: br_ec_c25519_m62_get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:244,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:245,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:251,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:251,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:251,1
    - Dst: br_ec_c25519_m64_get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:252,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:253,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:259,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:259,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:259,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:265,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:265,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:265,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:271,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:271,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:271,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:277,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:277,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:277,1
    - Dst: br_ec_get_default
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:287,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 82
    argCount: 2
    argNames:
    - ' ds'
    - ' curveType'
    argTypes:
    - Datasource
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 288
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 288
    functionName: cryptofuzz::module::BearSSL_detail::Get_br_ec_impl
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - br_ec_get_default
    - CF_CHECK_NE
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - br_ec_c25519_m64_get
    - br_ec_p256_m62_get
    - br_ec_p256_m64_get
    - Get
    - br_ec_c25519_m62_get
    linkageType: ''
    returnType: br_ec_impl
    signature: br_ec_impl * Get_br_ec_impl(Datasource& ds, const component::CurveType&
      curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:292,1
    - Dst: br_chacha20_sse2_get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:297,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 311
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 311
    functionName: cryptofuzz::module::BearSSL_detail::Get_br_chacha20_run
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - br_chacha20_sse2_get
    linkageType: ''
    returnType: br_chacha20_run
    signature: br_chacha20_run Get_br_chacha20_run(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 327
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 327
    functionName: cryptofuzz::module::BearSSL_detail::Get_br_ecdsa_sign
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: br_ecdsa_sign
    signature: br_ecdsa_sign Get_br_ecdsa_sign(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 343
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 343
    functionName: cryptofuzz::module::BearSSL_detail::Get_br_ecdsa_vrfy
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: br_ecdsa_vrfy
    signature: br_ecdsa_vrfy Get_br_ecdsa_vrfy(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Is
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:346,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:346,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:350,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:355,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' priv'
    - ' curveType'
    argTypes:
    - component::Bignum
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 364
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 364
    functionName: cryptofuzz::module::BearSSL_detail::IsValidPrivateKey
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - CF_ECC_CURVE
    - Is
    - Get
    - cryptofuzz::repository::ECC_CurveToOrder
    linkageType: ''
    returnType: bool
    signature: bool IsValidPrivateKey(const component::Bignum& priv, const component::CurveType&
      curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: br_hmac_drbg_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:369,1
    - Dst: br_prng_seeder_system
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:370,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:372,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:373,1
    - Dst: seeder
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:375,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:376,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 379
    functionName: cryptofuzz::module::BearSSL::BearSSL
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - printf
    - abort
    - seeder
    - br_hmac_drbg_init
    - br_prng_seeder_system
    linkageType: ''
    returnType: void
    signature: void BearSSL::BearSSL(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:384,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:384,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:386,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:387,1
    - Dst: BearSSL_detail::digest<br_md5_context, br_md5_SIZE>
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:388,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:389,1
    - Dst: BearSSL_detail::digest<br_md5sha1_context, br_md5sha1_SIZE>
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:390,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:391,1
    - Dst: BearSSL_detail::digest<br_sha1_context, br_sha1_SIZE>
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:392,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:393,1
    - Dst: BearSSL_detail::digest<br_sha224_context, br_sha224_SIZE>
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:394,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:395,1
    - Dst: BearSSL_detail::digest<br_sha256_context, br_sha256_SIZE>
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:396,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:397,1
    - Dst: BearSSL_detail::digest<br_sha384_context, br_sha384_SIZE>
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:398,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:399,1
    - Dst: BearSSL_detail::digest<br_sha512_context, br_sha512_SIZE>
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:400,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:401,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:405,1
    - Dst: br_shake_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:407,1
    - Dst: br_shake_inject
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:409,1
    - Dst: br_shake_flip
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:411,1
    - Dst: br_shake_produce
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:412,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:414,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:417,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:421,1
    - Dst: br_shake_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:423,1
    - Dst: br_shake_inject
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:425,1
    - Dst: br_shake_flip
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:427,1
    - Dst: br_shake_produce
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:428,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 436
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 436
    functionName: cryptofuzz::module::BearSSL::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - br_shake_init
    - BearSSL_detail::digest<br_md5sha1_context, br_md5sha1_SIZE>
    - BearSSL_detail::digest<br_sha1_context, br_sha1_SIZE>
    - modifier::GetPtr
    - Botan::PKCS11::LowLevel::C_Digest
    - digestType::Get
    - br_shake_inject
    - BearSSL_detail::digest<br_sha512_context, br_sha512_SIZE>
    - br_shake_flip
    - CF_DIGEST
    - BearSSL_detail::digest<br_sha256_context, br_sha256_SIZE>
    - modifier::GetSize
    - BearSSL_detail::digest<br_md5_context, br_md5_SIZE>
    - BearSSL_detail::digest<br_sha384_context, br_sha384_SIZE>
    - br_shake_produce
    - cryptofuzz::util::ToParts
    - BearSSL_detail::digest<br_sha224_context, br_sha224_SIZE>
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> BearSSL::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:440,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:440,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:445,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:450,1
    - Dst: cryptofuzz::module::BearSSL_detail::To_br_hash_class
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:450,1
    - Dst: br_hmac_key_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:452,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:452,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:452,1
    - Dst: br_hmac_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:453,1
    - Dst: br_hmac_update
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:458,1
    - Dst: br_hmac_out
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:462,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 469
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 469
    functionName: cryptofuzz::module::BearSSL::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - br_hmac_update
    - CF_CHECK_NE
    - modifier::GetPtr
    - cryptofuzz::module::BearSSL_detail::To_br_hash_class
    - br_hmac_out
    - modifier::GetSize
    - cipher::key::GetPtr
    - br_hmac_init
    - cryptofuzz::util::ToParts
    - Botan_CLI::HMAC::HMAC
    - cipher::key::GetSize
    - br_hmac_key_init
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> BearSSL::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:473,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:473,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:476,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:477,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:478,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:479,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:483,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:484,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:485,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:487,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:488,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:489,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:489,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:491,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:492,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:492,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:494,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:495,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:495,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:500,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:503,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:503,1
    - Dst: br_aes_ct_ctr_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:505,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:505,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:505,1
    - Dst: br_gcm_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:506,1
    - Dst: br_gcm_reset
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:508,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:508,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:508,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:510,1
    - Dst: br_gcm_aad_inject
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:513,1
    - Dst: br_gcm_flip
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:516,1
    - Dst: br_gcm_run
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:520,1
    - Dst: br_gcm_get_tag
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:524,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:525,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:525,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:525,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:527,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:527,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:531,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:532,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:533,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:537,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:538,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_block_ctrcbc_class
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:539,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:540,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:542,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:543,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:544,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:544,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:546,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:547,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:547,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:549,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:550,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:550,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:555,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:558,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:558,1
    - Dst: auto::init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:560,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:560,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:560,1
    - Dst: br_ccm_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:561,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:563,1
    - Dst: br_ccm_reset
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:563,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:564,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:564,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:565,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:566,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:570,1
    - Dst: br_ccm_aad_inject
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:573,1
    - Dst: br_ccm_flip
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:576,1
    - Dst: br_ccm_run
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:580,1
    - Dst: br_ccm_get_tag
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:584,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:585,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:585,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:585,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:587,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:587,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:591,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:593,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:593,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:594,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:594,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:596,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_chacha20_run
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:598,1
    - Dst: cc20
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:599,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:599,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:599,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:599,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:599,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:600,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:600,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:603,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:605,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:605,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:606,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:606,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:609,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:613,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_chacha20_run
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:614,1
    - Dst: br_poly1305_ctmul_run
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:616,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:617,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:618,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:619,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:620,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:621,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:622,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:628,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:628,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:628,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:630,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:630,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:637,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 102
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 640
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 640
    functionName: cryptofuzz::module::BearSSL::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - br_ccm_aad_inject
    - CF_CHECK_GT
    - aad::GetPtr
    - modifier::GetSize
    - cipher::key::GetPtr
    - cleartext::GetSize
    - br_gcm_aad_inject
    - CF_CHECK_NE
    - br_aes_ct_ctr_init
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - cryptofuzz::module::BearSSL_detail::Get_br_block_ctrcbc_class
    - auto::size
    - cryptofuzz::component::Ciphertext::Ciphertext
    - cryptofuzz::module::BearSSL_detail::Get_br_chacha20_run
    - cryptofuzz::util::free
    - br_gcm_run
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - br_ccm_reset
    - br_poly1305_ctmul_run
    - br_ccm_flip
    - aad::GetSize
    - cryptofuzz::util::ToParts
    - cryptofuzz::util::malloc
    - cipher::key::GetSize
    - br_gcm_get_tag
    - br_ccm_init
    - cleartext::Get
    - br_ccm_get_tag
    - CF_CIPHER
    - br_gcm_reset
    - br_gcm_init
    - auto::data
    - cc20
    - Buffer
    - br_ccm_run
    - br_gcm_flip
    - auto::init
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> BearSSL::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:644,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:644,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:646,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:647,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:648,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:649,1
    - Dst: ciphertext::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:653,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:654,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:656,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:657,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:658,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:658,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:660,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:661,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:661,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:663,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:664,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:664,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:669,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:669,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:672,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:672,1
    - Dst: br_aes_ct_ctr_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:674,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:674,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:674,1
    - Dst: br_gcm_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:675,1
    - Dst: br_gcm_reset
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:677,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:677,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:677,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:679,1
    - Dst: br_gcm_aad_inject
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:682,1
    - Dst: br_gcm_flip
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:685,1
    - Dst: br_gcm_run
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:689,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:693,1
    - Dst: br_gcm_check_tag
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:693,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:693,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:696,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:696,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:699,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:700,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:701,1
    - Dst: ciphertext::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:705,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:706,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_block_ctrcbc_class
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:707,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:708,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:710,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:711,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:712,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:712,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:714,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:715,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:715,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:717,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:718,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:718,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:722,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:722,1
    - Dst: auto::init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:724,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:724,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:724,1
    - Dst: br_ccm_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:725,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:727,1
    - Dst: br_ccm_reset
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:727,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:728,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:728,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:729,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:730,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:731,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:734,1
    - Dst: br_ccm_aad_inject
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:737,1
    - Dst: br_ccm_flip
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:740,1
    - Dst: br_ccm_run
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:744,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:748,1
    - Dst: br_ccm_check_tag
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:748,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:748,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:751,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:751,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:754,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:756,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:756,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:757,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:757,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_chacha20_run
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:759,1
    - Dst: ciphertext::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:760,1
    - Dst: cc20
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:762,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:762,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:762,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:762,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:762,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:763,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:763,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:766,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:768,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:768,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:769,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:769,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:772,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:772,1
    - Dst: ciphertext::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:776,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_chacha20_run
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:777,1
    - Dst: br_poly1305_ctmul_run
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:779,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:780,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:781,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:782,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:783,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:784,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:785,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:791,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:791,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:791,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:794,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:794,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 92
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 801
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 801
    functionName: cryptofuzz::module::BearSSL::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - br_ccm_aad_inject
    - CF_CHECK_GT
    - aad::GetPtr
    - modifier::GetSize
    - cipher::key::GetPtr
    - br_gcm_aad_inject
    - CF_CHECK_NE
    - ciphertext::GetSize
    - memcmp
    - br_aes_ct_ctr_init
    - component::Cleartext
    - cipher::iv::GetSize
    - br_ccm_check_tag
    - br_gcm_check_tag
    - cipher::iv::GetPtr
    - cryptofuzz::module::BearSSL_detail::Get_br_block_ctrcbc_class
    - ciphertext::Get
    - auto::size
    - cryptofuzz::module::BearSSL_detail::Get_br_chacha20_run
    - br_gcm_run
    - tag::GetSize
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - br_ccm_reset
    - br_poly1305_ctmul_run
    - br_ccm_flip
    - aad::GetSize
    - cryptofuzz::util::ToParts
    - tag::GetPtr
    - cipher::key::GetSize
    - br_ccm_init
    - CF_CIPHER
    - br_gcm_reset
    - br_gcm_init
    - auto::data
    - cc20
    - Buffer
    - br_ccm_run
    - br_gcm_flip
    - auto::init
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> BearSSL::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:805,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:805,1
    - Dst: cryptofuzz::repository::DigestSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:813,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:813,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:814,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:815,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:817,1
    - Dst: cryptofuzz::module::BearSSL_detail::To_br_hash_class
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:817,1
    - Dst: br_hkdf_init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:818,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:818,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:818,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:823,1
    - Dst: br_hkdf_inject
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:827,1
    - Dst: br_hkdf_flip
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:831,1
    - Dst: br_hkdf_produce
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:835,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:835,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:835,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:837,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 844
      start: 803
    functionDepth: 2
    functionLinenumber: 803
    functionLinenumberEnd: 844
    functionName: cryptofuzz::module::BearSSL::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - br_hkdf_flip
    - cryptofuzz::repository::DigestSize
    - modifier::GetPtr
    - cryptofuzz::module::BearSSL_detail::To_br_hash_class
    - digestType::Get
    - br_hkdf_produce
    - salt::GetPtr
    - info::GetPtr
    - br_hkdf_init
    - modifier::GetSize
    - salt::GetSize
    - cryptofuzz::util::ToParts
    - info::GetSize
    - CF_CHECK_LTE
    - br_hkdf_inject
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> BearSSL::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:848,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:848,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:850,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:851,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:851,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:854,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:854,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:854,1
    - Dst: br_tls10_prf
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:865,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:868,1
    - Dst: secret::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:868,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:870,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:873,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:876,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:877,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_TLS1_PRF
    constantsTouched: []
    func_position:
      end: 880
      start: 846
    functionDepth: 2
    functionLinenumber: 846
    functionLinenumberEnd: 880
    functionName: cryptofuzz::module::BearSSL::OpKDF_TLS1_PRF
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - cryptofuzz::util::malloc
    - secret::GetSize
    - modifier::GetPtr
    - CF_CHECK_EQ
    - digestType::Get
    - cryptofuzz::util::ToParts
    - secret::GetPtr
    - CF_DIGEST
    - modifier::GetSize
    - br_tls10_prf
    - auto::size
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> BearSSL::OpKDF_TLS1_PRF(operation::KDF_TLS1_PRF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:884,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:884,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_ec_impl
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:892,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:894,1
    - Dst: cryptofuzz::module::BearSSL_detail::toCurveID
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:894,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:896,1
    - Dst: br_ec_keygen
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:896,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:897,1
    - Dst: br_ec_compute_pub
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:897,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:899,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:899,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:900,1
    - Dst: cryptofuzz::module::BearSSL_detail::toString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:903,1
    - Dst: cryptofuzz::module::BearSSL_detail::EncodePubkey
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 906
      start: 882
    functionDepth: 2
    functionLinenumber: 882
    functionLinenumberEnd: 906
    functionName: cryptofuzz::module::BearSSL::OpECC_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::BearSSL_detail::toString
    - CF_CHECK_NE
    - cryptofuzz::module::BearSSL_detail::toCurveID
    - cryptofuzz::module::BearSSL_detail::Get_br_ec_impl
    - curveType::Is
    - modifier::GetPtr
    - CF_ECC_CURVE
    - br_ec_keygen
    - std::reverse
    - modifier::GetSize
    - br_ec_compute_pub
    - cryptofuzz::module::BearSSL_detail::EncodePubkey
    linkageType: ''
    returnType: std::optional<component::ECC_KeyPair>
    signature: std::optional<component::ECC_KeyPair> BearSSL::OpECC_GenerateKeyPair(operation::ECC_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:910,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:910,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_ec_impl
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:918,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:920,1
    - Dst: cryptofuzz::module::BearSSL_detail::toCurveID
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:920,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:921,1
    - Dst: cryptofuzz::module::BearSSL_detail::IsValidPrivateKey
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:921,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:925,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:925,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:932,1
    - Dst: cryptofuzz::module::BearSSL_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:932,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:932,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:938,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:939,1
    - Dst: br_ec_compute_pub
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:939,1
    - Dst: cryptofuzz::module::BearSSL_detail::EncodePubkey
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 944
      start: 908
    functionDepth: 3
    functionLinenumber: 908
    functionLinenumberEnd: 944
    functionName: cryptofuzz::module::BearSSL::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - cryptofuzz::module::BearSSL_detail::toCurveID
    - cryptofuzz::module::BearSSL_detail::Get_br_ec_impl
    - curveType::Is
    - modifier::GetPtr
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - priv::ToTrimmedString
    - memset
    - modifier::GetSize
    - cryptofuzz::module::BearSSL_detail::IsValidPrivateKey
    - br_ec_compute_pub
    - cryptofuzz::module::BearSSL_detail::EncodeBignum
    - cryptofuzz::module::BearSSL_detail::EncodePubkey
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> BearSSL::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:948,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:948,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:952,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:953,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:957,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:961,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_ec_impl
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:974,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_ecdsa_vrfy
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:975,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:981,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:981,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:982,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:983,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:987,1
    - Dst: cryptofuzz::module::BearSSL_detail::To_br_hash_class
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:987,1
    - Dst: br_hash_class*::init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:989,1
    - Dst: br_hash_class*::update
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:990,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:990,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:990,1
    - Dst: br_hash_class*::out
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:991,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:995,1
    - Dst: cryptofuzz::module::BearSSL_detail::toCurveID
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:995,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:997,1
    - Dst: cryptofuzz::module::BearSSL_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:997,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:997,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:998,1
    - Dst: cryptofuzz::module::BearSSL_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:998,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:998,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1001,1
    - Dst: cryptofuzz::module::BearSSL_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1001,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1001,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1002,1
    - Dst: cryptofuzz::module::BearSSL_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1002,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1002,1
    - Dst: verify
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1007,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1016,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1017,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 1020
      start: 946
    functionDepth: 2
    functionLinenumber: 946
    functionLinenumberEnd: 1020
    functionName: cryptofuzz::module::BearSSL::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - digestType::Get
    - br_hash_class*::update
    - br_hash_class*::out
    - modifier::GetSize
    - cleartext::GetSize
    - CF_CHECK_NE
    - cryptofuzz::module::BearSSL_detail::Get_br_ec_impl
    - cryptofuzz::module::BearSSL_detail::To_br_hash_class
    - signature::signature::first::ToTrimmedString
    - cryptofuzz::module::BearSSL_detail::EncodeBignum
    - signature::signature::second::ToTrimmedString
    - br_hash_class*::init
    - signature::pub::first::ToTrimmedString
    - verify
    - cryptofuzz::util::free
    - CF_CHECK_EQ
    - signature::pub::second::ToTrimmedString
    - cryptofuzz::module::BearSSL_detail::toCurveID
    - CF_ECC_CURVE
    - cleartext::GetPtr
    - cryptofuzz::module::BearSSL_detail::Get_br_ecdsa_vrfy
    - curveType::Get
    - CF_DIGEST
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> BearSSL::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1024,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1024,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1027,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1028,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1031,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1034,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_ec_impl
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1051,1
    - Dst: cryptofuzz::module::BearSSL_detail::Get_br_ecdsa_sign
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1052,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1054,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1054,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1055,1
    - Dst: cryptofuzz::module::BearSSL_detail::To_br_hash_class
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1055,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1057,1
    - Dst: cryptofuzz::module::BearSSL_detail::toCurveID
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1057,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1058,1
    - Dst: cryptofuzz::module::BearSSL_detail::IsValidPrivateKey
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1058,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1059,1
    - Dst: cryptofuzz::module::BearSSL_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1059,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1059,1
    - Dst: br_hash_class*::init
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1061,1
    - Dst: br_hash_class*::update
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1062,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1062,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1062,1
    - Dst: br_hash_class*::out
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1063,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1068,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1069,1
    - Dst: br_ec_compute_pub
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1069,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1071,1
    - Dst: sign
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1071,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1074,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1078,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1078,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1078,1
    - Dst: cryptofuzz::module::BearSSL_detail::toString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1081,1
    - Dst: cryptofuzz::module::BearSSL_detail::toString
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1081,1
    - Dst: cryptofuzz::module::BearSSL_detail::EncodePubkey
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1082,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bearssl/module.cpp:1086,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 1088
      start: 1022
    functionDepth: 3
    functionLinenumber: 1022
    functionLinenumberEnd: 1088
    functionName: cryptofuzz::module::BearSSL::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/bearssl/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - br_hash_class*::update
    - br_hash_class*::out
    - memset
    - modifier::GetSize
    - cryptofuzz::module::BearSSL_detail::IsValidPrivateKey
    - cleartext::GetSize
    - sign
    - CF_CHECK_NE
    - cryptofuzz::module::BearSSL_detail::Get_br_ec_impl
    - cryptofuzz::module::BearSSL_detail::To_br_hash_class
    - cryptofuzz::module::BearSSL_detail::EncodeBignum
    - br_hash_class*::init
    - cryptofuzz::module::BearSSL_detail::toString
    - cryptofuzz::util::free
    - CF_CHECK_EQ
    - br_ec_compute_pub
    - cryptofuzz::module::BearSSL_detail::EncodePubkey
    - cryptofuzz::module::BearSSL_detail::toCurveID
    - cryptofuzz::module::BearSSL_detail::Get_br_ecdsa_sign
    - CF_ECC_CURVE
    - cleartext::GetPtr
    - priv::ToTrimmedString
    - abort
    - curveType::Get
    - UseRFC6979Nonce
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> BearSSL::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: cryptofuzz::module::Zig::Zig
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Zig::Zig(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:118,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:120,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:122,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:124,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:126,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:128,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:130,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:132,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:134,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:136,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:138,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:140,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:142,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:144,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:146,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:148,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:150,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:152,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:154,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:156,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 1
    argNames:
    - digestType
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 163
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 163
    functionName: cryptofuzz::module::Zig_detail::ToDigestId
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - CF_DIGEST
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> ToDigestId(const uint64_t digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/zig/module.cpp:166,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/zig/module.cpp:166,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/zig/module.cpp:167,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/zig/module.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - r
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: component::ECC_Point
    signature: component::ECC_Point To_Component_ECC_Point(const uint8_t* r, const
      size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:180,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:180,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:186,1
    - Dst: cryptofuzz::module::Zig_detail::ToDigestId
      Src: /src/cryptofuzz/modules/zig/module.cpp:186,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/zig/module.cpp:186,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/zig/module.cpp:189,1
    - Dst: util::Multipart::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:191,1
    - Dst: util::Multipart::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:192,1
    - Dst: util::Multipart::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:195,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:202,1
    - Dst: cryptofuzz_zig_digest
      Src: /src/cryptofuzz/modules/zig/module.cpp:202,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:204,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:205,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:206,1
    - Dst: util::Multipart::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:207,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/zig/module.cpp:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 215
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 215
    functionName: cryptofuzz::module::Zig::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - modifier::GetPtr
    - cryptofuzz::module::Zig_detail::ToDigestId
    - digestType::Get
    - cleartext::GetPtr
    - Botan::PKCS11::LowLevel::C_Digest
    - util::Multipart::size
    - modifier::GetSize
    - cryptofuzz::util::ToParts
    - cryptofuzz_zig_digest
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Zig::OpDigest(operation::Digest& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:219,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:219,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:225,1
    - Dst: cryptofuzz::module::Zig_detail::ToDigestId
      Src: /src/cryptofuzz/modules/zig/module.cpp:225,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/zig/module.cpp:225,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/zig/module.cpp:228,1
    - Dst: util::Multipart::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:230,1
    - Dst: util::Multipart::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:231,1
    - Dst: util::Multipart::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:234,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:241,1
    - Dst: cryptofuzz_zig_hmac
      Src: /src/cryptofuzz/modules/zig/module.cpp:241,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:243,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:243,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:244,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:245,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:246,1
    - Dst: util::Multipart::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:247,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/zig/module.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 254
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 254
    functionName: cryptofuzz::module::Zig::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - CF_CHECK_NE
    - modifier::GetPtr
    - cryptofuzz::module::Zig_detail::ToDigestId
    - digestType::Get
    - cleartext::GetPtr
    - util::Multipart::size
    - modifier::GetSize
    - cipher::key::GetPtr
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - cryptofuzz_zig_hmac
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Zig::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:258,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:258,1
    - Dst: cryptofuzz::repository::DigestSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:260,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/zig/module.cpp:260,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:271,1
    - Dst: cryptofuzz::module::Zig_detail::ToDigestId
      Src: /src/cryptofuzz/modules/zig/module.cpp:271,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/zig/module.cpp:271,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/zig/module.cpp:272,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:274,1
    - Dst: cryptofuzz_zig_hkdf
      Src: /src/cryptofuzz/modules/zig/module.cpp:274,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:276,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:276,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:277,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:277,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:278,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:278,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/zig/module.cpp:281,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 287
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 287
    functionName: cryptofuzz::module::Zig::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - password::GetPtr
    - cryptofuzz::repository::DigestSize
    - modifier::GetPtr
    - cryptofuzz::module::Zig_detail::ToDigestId
    - digestType::Get
    - cryptofuzz_zig_hkdf
    - salt::GetPtr
    - info::GetPtr
    - modifier::GetSize
    - salt::GetSize
    - cryptofuzz::util::malloc
    - info::GetSize
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Zig::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:294,1
    - Dst: cryptofuzz::module::Zig_detail::ToDigestId
      Src: /src/cryptofuzz/modules/zig/module.cpp:294,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/zig/module.cpp:294,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/zig/module.cpp:296,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:298,1
    - Dst: cryptofuzz_zig_pbkdf2
      Src: /src/cryptofuzz/modules/zig/module.cpp:298,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:300,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:300,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:301,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:301,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/zig/module.cpp:305,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 311
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 311
    functionName: cryptofuzz::module::Zig::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - password::GetPtr
    - cryptofuzz::module::Zig_detail::ToDigestId
    - digestType::Get
    - CF_CHECK_EQ
    - salt::GetPtr
    - cryptofuzz_zig_pbkdf2
    - salt::GetSize
    - cryptofuzz::util::malloc
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Zig::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:324,1
    - Dst: cryptofuzz_zig_scrypt
      Src: /src/cryptofuzz/modules/zig/module.cpp:324,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:326,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:326,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:327,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:327,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/zig/module.cpp:330,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 336
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 336
    functionName: cryptofuzz::module::Zig::OpKDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - password::GetPtr
    - CF_CHECK_EQ
    - salt::GetPtr
    - salt::GetSize
    - cryptofuzz_zig_scrypt
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Zig::OpKDF_SCRYPT(operation::KDF_SCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:343,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:344,1
    - Dst: cryptofuzz_zig_argon2
      Src: /src/cryptofuzz/modules/zig/module.cpp:344,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:346,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:346,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:347,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:347,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/zig/module.cpp:350,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_ARGON2
    constantsTouched: []
    func_position:
      end: 356
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 356
    functionName: cryptofuzz::module::Zig::OpKDF_ARGON2
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - password::GetPtr
    - CF_CHECK_EQ
    - salt::GetPtr
    - cryptofuzz_zig_argon2
    - salt::GetSize
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Zig::OpKDF_ARGON2(operation::KDF_ARGON2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/zig/module.cpp:360,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:365,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:365,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:366,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:366,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:371,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:371,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:372,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:372,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:377,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:377,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:378,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:378,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:391,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:391,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:391,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/zig/module.cpp:393,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/zig/module.cpp:394,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:395,1
    - Dst: cryptofuzz_zig_ecdsa_sign
      Src: /src/cryptofuzz/modules/zig/module.cpp:395,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:397,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:398,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:398,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/zig/module.cpp:404,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/zig/module.cpp:404,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/zig/module.cpp:405,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/zig/module.cpp:405,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/zig/module.cpp:407,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:411,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:412,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 414
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 414
    functionName: cryptofuzz::module::Zig::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - cryptofuzz::util::malloc
    - curveType::Is
    - std::optional::data
    - CF_ECC_CURVE
    - cleartext::GetPtr
    - CF_CHECK_EQ
    - digestType::Is
    - priv::ToTrimmedString
    - std::vector<uint8_t>
    - CF_DIGEST
    - cryptofuzz::util::BinToDec
    - cryptofuzz::util::DecToBin
    - UseRandomNonce
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - cryptofuzz_zig_ecdsa_sign
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> Zig::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:420,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:420,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:421,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:421,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:426,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:426,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:427,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:427,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:432,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:432,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:433,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/zig/module.cpp:433,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:448,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:448,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:448,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:449,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:449,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:449,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/zig/module.cpp:450,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/zig/module.cpp:451,1
    - Dst: end
      Src: /src/cryptofuzz/modules/zig/module.cpp:451,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/zig/module.cpp:451,1
    - Dst: end
      Src: /src/cryptofuzz/modules/zig/module.cpp:451,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/zig/module.cpp:452,1
    - Dst: end
      Src: /src/cryptofuzz/modules/zig/module.cpp:452,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/zig/module.cpp:452,1
    - Dst: end
      Src: /src/cryptofuzz/modules/zig/module.cpp:452,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:455,1
    - Dst: cryptofuzz::util::ToDER
      Src: /src/cryptofuzz/modules/zig/module.cpp:455,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:456,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:457,1
    - Dst: cryptofuzz_zig_ecdsa_verify
      Src: /src/cryptofuzz/modules/zig/module.cpp:459,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:461,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:461,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:462,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:462,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:463,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:463,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 467
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 467
    functionName: cryptofuzz::module::Zig::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - cryptofuzz_zig_ecdsa_verify
    - std::optional::size
    - std::vector::push_back
    - cleartext::GetSize
    - CF_CHECK_NE
    - curveType::Is
    - std::optional::data
    - signature::signature::first::ToTrimmedString
    - cryptofuzz::util::DecToBin
    - signature::signature::second::ToTrimmedString
    - std::vector::data
    - signature::pub::first::ToTrimmedString
    - cryptofuzz::util::ToDER
    - digestType::Is
    - end
    - signature::pub::second::ToTrimmedString
    - CF_ECC_CURVE
    - begin
    - cleartext::GetPtr
    - CF_DIGEST
    - std::vector::insert
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Zig::OpECDSA_Verify(operation::ECDSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:473,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:473,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:476,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:476,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:479,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:479,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:488,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:488,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:488,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:489,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:489,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:489,1
    - Dst: cryptofuzz_zig_ecc_validatepubkey
      Src: /src/cryptofuzz/modules/zig/module.cpp:491,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:493,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 498
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 498
    functionName: cryptofuzz::module::Zig::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - cryptofuzz_zig_ecc_validatepubkey
    - curveType::Is
    - std::optional::data
    - CF_ECC_CURVE
    - data
    - pub::first::ToTrimmedString
    - pub::second::ToTrimmedString
    - cryptofuzz::util::DecToBin
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Zig::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:504,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:504,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:507,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:507,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:510,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:510,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:520,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:520,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:520,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/zig/module.cpp:522,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:524,1
    - Dst: cryptofuzz_zig_ecc_privatetopublic
      Src: /src/cryptofuzz/modules/zig/module.cpp:524,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:527,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/zig/module.cpp:529,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 534
      start: 500
    functionDepth: 3
    functionLinenumber: 500
    functionLinenumberEnd: 534
    functionName: cryptofuzz::module::Zig::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - curveType::Is
    - std::optional::data
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - priv::ToTrimmedString
    - cryptofuzz_zig_ecc_privatetopublic
    - cryptofuzz::util::DecToBin
    - cryptofuzz::util::malloc
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> Zig::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:540,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:540,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:543,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:543,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:546,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:546,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:556,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:556,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:556,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:557,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:557,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:557,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:558,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:558,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:558,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:559,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:559,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:559,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/zig/module.cpp:561,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:563,1
    - Dst: cryptofuzz_zig_ecc_point_add
      Src: /src/cryptofuzz/modules/zig/module.cpp:563,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:566,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:567,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:568,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:569,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/zig/module.cpp:571,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:574,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 576
      start: 536
    functionDepth: 3
    functionLinenumber: 536
    functionLinenumberEnd: 576
    functionName: cryptofuzz::module::Zig::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 1
    functionsReached:
    - b::second::ToTrimmedString
    - CF_CHECK_NE
    - cryptofuzz::util::free
    - curveType::Is
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - b::first::ToTrimmedString
    - CF_CHECK_EQ
    - cryptofuzz_zig_ecc_point_add
    - std::optional::data
    - data
    - cryptofuzz::util::DecToBin
    - a::second::ToTrimmedString
    - cryptofuzz::util::malloc
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Zig::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:582,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:582,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:585,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:585,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:588,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:588,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:598,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:598,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:598,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:599,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:599,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:599,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:600,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:600,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:600,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:601,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:601,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:601,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/zig/module.cpp:603,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:605,1
    - Dst: cryptofuzz_zig_ecc_point_sub
      Src: /src/cryptofuzz/modules/zig/module.cpp:605,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:608,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:609,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:610,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:611,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/zig/module.cpp:613,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Sub
    constantsTouched: []
    func_position:
      end: 618
      start: 578
    functionDepth: 3
    functionLinenumber: 578
    functionLinenumberEnd: 618
    functionName: cryptofuzz::module::Zig::OpECC_Point_Sub
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_zig_ecc_point_sub
    - b::second::ToTrimmedString
    - CF_CHECK_NE
    - cryptofuzz::util::free
    - curveType::Is
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - b::first::ToTrimmedString
    - CF_CHECK_EQ
    - std::optional::data
    - data
    - cryptofuzz::util::DecToBin
    - a::second::ToTrimmedString
    - cryptofuzz::util::malloc
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Zig::OpECC_Point_Sub(operation::ECC_Point_Sub&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:622,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:622,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:626,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:626,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:629,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:629,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:632,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:632,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:642,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:642,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:642,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:643,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:643,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:643,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:644,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:644,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:644,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/zig/module.cpp:646,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/zig/module.cpp:649,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:653,1
    - Dst: cryptofuzz_zig_ecc_point_mul
      Src: /src/cryptofuzz/modules/zig/module.cpp:653,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:656,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:657,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:658,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/zig/module.cpp:661,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:664,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 666
      start: 620
    functionDepth: 3
    functionLinenumber: 620
    functionLinenumberEnd: 666
    functionName: cryptofuzz::module::Zig::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - curveType::Is
    - a::first::ToTrimmedString
    - modifier::GetPtr
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - std::optional::data
    - Datasource::Get
    - data
    - modifier::GetSize
    - cryptofuzz::util::DecToBin
    - a::second::ToTrimmedString
    - cryptofuzz::util::malloc
    - cryptofuzz_zig_ecc_point_mul
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - b::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Zig::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:672,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:672,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:675,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:675,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:678,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:678,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:688,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:688,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:688,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:689,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:689,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:689,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/zig/module.cpp:691,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:693,1
    - Dst: cryptofuzz_zig_ecc_point_neg
      Src: /src/cryptofuzz/modules/zig/module.cpp:693,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:696,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:697,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/zig/module.cpp:699,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 704
      start: 668
    functionDepth: 3
    functionLinenumber: 668
    functionLinenumberEnd: 704
    functionName: cryptofuzz::module::Zig::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - curveType::Is
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - std::optional::data
    - CF_CHECK_EQ
    - data
    - cryptofuzz_zig_ecc_point_neg
    - cryptofuzz::util::DecToBin
    - a::second::ToTrimmedString
    - cryptofuzz::util::malloc
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Zig::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:710,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:710,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:713,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:713,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/zig/module.cpp:716,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/zig/module.cpp:716,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:726,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:726,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:726,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/zig/module.cpp:727,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/zig/module.cpp:727,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:727,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/zig/module.cpp:729,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:731,1
    - Dst: cryptofuzz_zig_ecc_point_dbl
      Src: /src/cryptofuzz/modules/zig/module.cpp:731,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/zig/module.cpp:734,1
    - Dst: data
      Src: /src/cryptofuzz/modules/zig/module.cpp:735,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/zig/module.cpp:737,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/zig/module.cpp:740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 742
      start: 706
    functionDepth: 3
    functionLinenumber: 706
    functionLinenumberEnd: 742
    functionName: cryptofuzz::module::Zig::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - curveType::Is
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz_zig_ecc_point_dbl
    - CF_CHECK_EQ
    - std::optional::data
    - data
    - cryptofuzz::util::DecToBin
    - a::second::ToTrimmedString
    - cryptofuzz::util::malloc
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Zig::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/zig/module.cpp:746,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/zig/module.cpp:746,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/zig/module.cpp:750,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:751,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:754,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:757,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:760,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:763,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:766,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:769,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:772,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:775,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:778,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:781,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:784,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:787,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:790,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:793,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:796,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/zig/module.cpp:799,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:807,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/zig/module.cpp:808,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/zig/module.cpp:810,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/zig/module.cpp:811,1
    - Dst: cryptofuzz_zig_bignumcalc
      Src: /src/cryptofuzz/modules/zig/module.cpp:811,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/zig/module.cpp:813,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:813,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/zig/module.cpp:814,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/zig/module.cpp:814,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/zig/module.cpp:817,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 820
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 820
    functionName: cryptofuzz::module::Zig::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/zig/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - bn1::ToTrimmedString
    - modifier::GetPtr
    - cryptofuzz_zig_bignumcalc
    - CF_CHECK_EQ
    - std::string
    - memset
    - modifier::GetSize
    - calcOp::Get
    - auto::c_str
    - auto::size
    - bn0::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Zig::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: cryptofuzz::module::ff::ff
    functionSourceFile: /src/cryptofuzz/modules/ff/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ff::ff(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/ff/module.cpp:22,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/ff/module.cpp:30,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/ff/module.cpp:31,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/ff/module.cpp:32,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/ff/module.cpp:33,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/ff/module.cpp:36,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/ff/module.cpp:36,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/ff/module.cpp:37,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/ff/module.cpp:37,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/ff/module.cpp:39,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/ff/module.cpp:39,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/ff/module.cpp:39,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/ff/module.cpp:39,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/ff/module.cpp:41,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/ff/module.cpp:41,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/ff/module.cpp:41,1
    - Dst: cryptofuzz_ff_bignumcalc
      Src: /src/cryptofuzz/modules/ff/module.cpp:44,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/ff/module.cpp:45,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/ff/module.cpp:45,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/ff/module.cpp:46,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/ff/module.cpp:47,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/ff/module.cpp:50,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/ff/module.cpp:51,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/ff/module.cpp:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 56
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 56
    functionName: cryptofuzz::module::ff::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/ff/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - bn1::ToTrimmedString
    - std::map::find
    - std::map::end
    - CF_CHECK_NE
    - std::map::at
    - std::optional::data
    - std::array::data
    - CF_CHECK_EQ
    - bn0::ToTrimmedString
    - cryptofuzz_ff_bignumcalc
    - cryptofuzz::util::BinToDec
    - modulo::ToTrimmedString
    - calcOp::Get
    - cryptofuzz::util::DecToBin
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ff::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::ff::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/ff/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ff::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/cryptofuzz/modules/bn.js/generate_calc_ops.cpp:9,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/bn.js/generate_calc_ops.cpp:12,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/bn.js/generate_calc_ops.cpp:14,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/bn.js/generate_calc_ops.cpp:15,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/bn.js/generate_calc_ops.cpp:15,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 19
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/bn.js/generate_calc_ops.cpp
    functionUses: 97
    functionsReached:
    - std::string::find_first_of
    - printf
    - abort
    - std::string::c_str
    - std::string::substr
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/bn.js/module.cpp:13,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/bn.js/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::bn_js::bn_js
    functionSourceFile: /src/cryptofuzz/modules/bn.js/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void bn_js::bn_js(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: bn_js::~bn_js(void)
    functionSourceFile: /src/cryptofuzz/modules/bn.js/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bn_js::~bn_js(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bn.js/module.cpp:26,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bn.js/module.cpp:26,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/bn.js/module.cpp:28,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/bn.js/module.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::bn_js::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/bn.js/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - Run
    - modifier::GetSize
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> bn_js::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:13,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::elliptic::elliptic
    functionSourceFile: /src/cryptofuzz/modules/elliptic/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void elliptic::elliptic(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: elliptic::~elliptic(void)
    functionSourceFile: /src/cryptofuzz/modules/elliptic/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void elliptic::~elliptic(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:28,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:28,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:29,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:29,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:30,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:30,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:31,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:31,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:31,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:35,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:36,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:36,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:37,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:37,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:39,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:39,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:42,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:43,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:43,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:44,1
    - Dst: get
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:44,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 53
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 53
    functionName: cryptofuzz::module::elliptic::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/elliptic/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - digestType::Get
    - cryptofuzz::util::DecToHex
    - priv::ToTrimmedString
    - std::to_string
    - cryptofuzz::util::HexToDec
    - curveType::Get
    - CF_DIGEST
    - get
    - UseRFC6979Nonce
    - cryptofuzz::tests::test_ECDSA_Signature
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> elliptic::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:58,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:59,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:59,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:60,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:60,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:61,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:61,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:62,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:62,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:63,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:63,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:65,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:65,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: cryptofuzz::module::elliptic::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/elliptic/module.cpp
    functionUses: 0
    functionsReached:
    - signature::pub::second::ToTrimmedString
    - signature::pub::first::ToTrimmedString
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - auto::dump
    - cryptofuzz::util::DecToHex
    - std::to_string
    - signature::signature::first::ToTrimmedString
    - CF_OPERATION
    - ToJSON
    - signature::signature::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> elliptic::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:77,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:78,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:78,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:79,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:79,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:81,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:81,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:84,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:85,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:85,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:86,1
    - Dst: get
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:86,1
    - Dst: cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
      Src: /src/cryptofuzz/modules/elliptic/module.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 92
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: cryptofuzz::module::elliptic::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/elliptic/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - CF_ECC_CURVE
    - cryptofuzz::util::DecToHex
    - priv::ToTrimmedString
    - std::to_string
    - cryptofuzz::util::HexToDec
    - curveType::Get
    - cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
    - get
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> elliptic::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/elliptic/generate_ids.cpp:8,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/elliptic/generate_ids.cpp:8,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/elliptic/generate_ids.cpp:9,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/elliptic/generate_ids.cpp:9,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/elliptic/generate_ids.cpp:13,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/elliptic/generate_ids.cpp:13,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/elliptic/generate_ids.cpp:18,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/elliptic/generate_ids.cpp:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 22
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/elliptic/generate_ids.cpp
    functionUses: 97
    functionsReached:
    - std::string::c_str
    - CF_DIGEST
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: cryptofuzz::module::uint128_t::uint128_t
    functionSourceFile: /src/cryptofuzz/modules/uint128_t/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint128_t::uint128_t(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:13,1
    - Dst: boost::multiprecision::export_bits
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:15,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:15,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:17,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:17,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:17,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:18,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:19,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:19,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 21
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 21
    functionName: cryptofuzz::module::uint128_t_detail::Load
    functionSourceFile: /src/cryptofuzz/modules/uint128_t/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - std::vector::size
    - std::vector::begin
    - std::back_inserter
    - std::vector::resize
    - std::reverse
    - memcpy
    - std::vector::end
    - boost::multiprecision::export_bits
    - std::vector::data
    linkageType: ''
    returnType: __uint128_t
    signature: __uint128_t Load(const component::Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:25,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:25,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:25,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:26,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:26,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:26,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:28,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:28,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:28,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:28,1
    - Dst: boost::multiprecision::uint256_t::str
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - u
    argTypes:
    - __uint128_t
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: cryptofuzz::module::uint128_t_detail::Save
    functionSourceFile: /src/cryptofuzz/modules/uint128_t/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - boost::multiprecision::uint256_t::str
    - std::vector::begin
    - std::reverse
    - memcpy
    - std::vector::end
    - boost::multiprecision::import_bits
    - std::vector::data
    linkageType: ''
    returnType: component::Bignum
    signature: component::Bignum Save(const __uint128_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:40,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:48,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:49,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:50,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:50,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:52,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:53,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:53,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:55,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:57,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:58,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:59,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:62,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:63,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:63,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:65,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:67,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:68,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:69,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:72,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:73,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:73,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:75,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:76,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:76,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:78,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:79,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:79,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:81,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:82,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:82,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:84,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:85,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:87,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:88,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:88,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:90,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:91,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:91,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:93,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:94,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:94,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:96,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:97,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:97,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:99,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:100,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:100,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:102,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:103,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:105,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:106,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:108,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:109,1
    - Dst: Save
      Src: /src/cryptofuzz/modules/uint128_t/module.cpp:115,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 119
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 119
    functionName: cryptofuzz::module::uint128_t::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/uint128_t/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - CF_CHECK_NE
    - Load
    - Save
    - modulo::ToTrimmedString
    - calcOp::Get
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> uint128_t::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: cryptofuzz::module::uint128_t::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/uint128_t/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool uint128_t::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:13,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::noble_curves::noble_curves
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void noble_curves::noble_curves(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: noble_curves::~noble_curves(void)
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noble_curves::~noble_curves(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:27,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:28,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:28,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:30,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:30,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:33,1
    - Dst: cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: cryptofuzz::module::noble_curves::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> noble_curves::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:43,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:43,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:43,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:43,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:43,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:47,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:48,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:48,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:50,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:50,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:54,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: cryptofuzz::module::noble_curves::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - CF_ECC_CURVE
    - std::to_string
    - curveType::Get
    - UseRFC6979Nonce
    - cryptofuzz::tests::test_ECDSA_Signature
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> noble_curves::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:64,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:65,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:65,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:68,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:68,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: cryptofuzz::module::noble_curves::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_curves::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:80,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:81,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:81,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:83,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:83,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:86,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: cryptofuzz::module::noble_curves::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - CF_OPERATION
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> noble_curves::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:96,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:97,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:97,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:99,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:99,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:102,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: cryptofuzz::module::noble_curves::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - CF_OPERATION
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> noble_curves::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:112,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:113,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:113,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:115,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:115,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:118,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: cryptofuzz::module::noble_curves::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - CF_OPERATION
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> noble_curves::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:127,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:128,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:128,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:130,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:130,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:133,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: cryptofuzz::module::noble_curves::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - CF_OPERATION
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> noble_curves::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:144,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:145,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:145,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:147,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:147,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:150,1
    - Dst: component::BLS_PublicKey
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 155
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 155
    functionName: cryptofuzz::module::noble_curves::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - component::BLS_PublicKey
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> noble_curves::OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:160,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:161,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:161,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:163,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:163,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:166,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG1
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: cryptofuzz::module::noble_curves::OpBLS_HashToG1
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - benchAddDblG1
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_curves::OpBLS_HashToG1(operation::BLS_HashToG1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:176,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:177,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:177,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:179,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:179,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:182,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG2
    constantsTouched: []
    func_position:
      end: 187
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 187
    functionName: cryptofuzz::module::noble_curves::OpBLS_HashToG2
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - benchAddDblG2
    - std::to_string
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> noble_curves::OpBLS_HashToG2(operation::BLS_HashToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:192,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:193,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:193,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:195,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:195,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:198,1
    - Dst: cryptofuzz::component::BLS_Signature::BLS_Signature
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Sign
    constantsTouched: []
    func_position:
      end: 203
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 203
    functionName: cryptofuzz::module::noble_curves::OpBLS_Sign
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - cryptofuzz::component::BLS_Signature::BLS_Signature
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::BLS_Signature>
    signature: std::optional<component::BLS_Signature> noble_curves::OpBLS_Sign(operation::BLS_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:208,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:209,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:209,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:211,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:211,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:214,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G1
    constantsTouched: []
    func_position:
      end: 219
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 219
    functionName: cryptofuzz::module::noble_curves::OpBLS_Compress_G1
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - getBignum
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> noble_curves::OpBLS_Compress_G1(operation::BLS_Compress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:224,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:225,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:225,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:227,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:227,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:230,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G1
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: cryptofuzz::module::noble_curves::OpBLS_Decompress_G1
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - benchAddDblG1
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_curves::OpBLS_Decompress_G1(operation::BLS_Decompress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:240,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:241,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:241,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:243,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:243,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:246,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G2
    constantsTouched: []
    func_position:
      end: 251
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 251
    functionName: cryptofuzz::module::noble_curves::OpBLS_Compress_G2
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - benchAddDblG1
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_curves::OpBLS_Compress_G2(operation::BLS_Compress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:256,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:257,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:257,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:259,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:259,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:262,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G2
    constantsTouched: []
    func_position:
      end: 267
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 267
    functionName: cryptofuzz::module::noble_curves::OpBLS_Decompress_G2
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - benchAddDblG2
    - std::to_string
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> noble_curves::OpBLS_Decompress_G2(operation::BLS_Decompress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:272,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:273,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:273,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:275,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:275,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Verify
    constantsTouched: []
    func_position:
      end: 283
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 283
    functionName: cryptofuzz::module::noble_curves::OpBLS_Verify
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_curves::OpBLS_Verify(operation::BLS_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:288,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:289,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:289,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:291,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:291,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 299
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 299
    functionName: cryptofuzz::module::noble_curves::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_curves::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:304,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:305,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:305,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:307,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:307,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 315
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 315
    functionName: cryptofuzz::module::noble_curves::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_curves::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:320,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:321,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:321,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:323,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:323,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:326,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 331
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 331
    functionName: cryptofuzz::module::noble_curves::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - benchAddDblG1
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_curves::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:336,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:337,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:337,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:339,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:339,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:342,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 347
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 347
    functionName: cryptofuzz::module::noble_curves::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - benchAddDblG1
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_curves::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:352,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:353,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:353,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:355,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:355,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:358,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 363
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 363
    functionName: cryptofuzz::module::noble_curves::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - benchAddDblG1
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_curves::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:368,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:369,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:369,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:371,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:371,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 379
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 379
    functionName: cryptofuzz::module::noble_curves::OpBLS_G1_IsEq
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_curves::OpBLS_G1_IsEq(operation::BLS_G1_IsEq&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:384,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:385,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:385,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:387,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:387,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:390,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 395
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 395
    functionName: cryptofuzz::module::noble_curves::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - benchAddDblG2
    - std::to_string
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> noble_curves::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:400,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:401,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:401,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:403,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:403,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:406,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 411
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 411
    functionName: cryptofuzz::module::noble_curves::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - benchAddDblG2
    - std::to_string
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> noble_curves::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:416,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:417,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:417,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:419,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:419,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:422,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 427
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 427
    functionName: cryptofuzz::module::noble_curves::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - benchAddDblG2
    - std::to_string
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> noble_curves::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:432,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:433,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:433,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:435,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:435,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 443
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 443
    functionName: cryptofuzz::module::noble_curves::OpBLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_curves::OpBLS_G2_IsEq(operation::BLS_G2_IsEq&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:448,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:449,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:449,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:451,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:451,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:454,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Aggregate_G1
    constantsTouched: []
    func_position:
      end: 459
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 459
    functionName: cryptofuzz::module::noble_curves::OpBLS_Aggregate_G1
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - benchAddDblG1
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> noble_curves::OpBLS_Aggregate_G1(operation::BLS_Aggregate_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:464,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:465,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:465,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:467,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:467,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:470,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Aggregate_G2
    constantsTouched: []
    func_position:
      end: 475
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 475
    functionName: cryptofuzz::module::noble_curves::OpBLS_Aggregate_G2
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - benchAddDblG2
    - std::to_string
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> noble_curves::OpBLS_Aggregate_G2(operation::BLS_Aggregate_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:483,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:485,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:494,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:495,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:495,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:495,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:495,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:497,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:497,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:500,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/noble-curves/module.cpp:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 505
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 505
    functionName: cryptofuzz::module::noble_curves::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - getBignum
    - modulo::ToTrimmedString
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> noble_curves::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: cryptofuzz::module::noble_curves::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool noble_curves::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:10,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:15,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:16,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:16,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:21,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:21,1
    - Dst: std::string::find
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:26,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:29,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:29,1
    - Dst: std::string::find_first_of
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:34,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:37,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:39,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:40,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:40,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:45,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp:45,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/noble-curves/generate_ids.cpp
    functionUses: 97
    functionsReached:
    - std::string::find_first_of
    - printf
    - abort
    - std::string::find
    - std::string::c_str
    - std::string::substr
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/starkware/module.cpp:29,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/starkware/module.cpp:30,1
    - Dst: PyCallable_Check
      Src: /src/cryptofuzz/modules/starkware/module.cpp:30,1
    - Dst: static_cast<PyObject*>
      Src: /src/cryptofuzz/modules/starkware/module.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pModule
    - fn
    argTypes:
    - PyObject*
    - std::string
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: cryptofuzz::module::LoadPythonFunction
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PyObject*>
    - CF_ASSERT
    - PyCallable_Check
    linkageType: ''
    returnType: void
    signature: void * LoadPythonFunction(PyObject* pModule, const std::string fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PyTuple_New
      Src: /src/cryptofuzz/modules/starkware/module.cpp:40,1
    - Dst: PyBytes_FromStringAndSize
      Src: /src/cryptofuzz/modules/starkware/module.cpp:41,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/starkware/module.cpp:41,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/starkware/module.cpp:41,1
    - Dst: PyTuple_SetItem
      Src: /src/cryptofuzz/modules/starkware/module.cpp:43,1
    - Dst: PyObject_CallObject
      Src: /src/cryptofuzz/modules/starkware/module.cpp:44,1
    - Dst: static_cast<PyObject*>
      Src: /src/cryptofuzz/modules/starkware/module.cpp:44,1
    - Dst: PyErr_PrintEx
      Src: /src/cryptofuzz/modules/starkware/module.cpp:48,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/starkware/module.cpp:49,1
    - Dst: PyBytes_Check
      Src: /src/cryptofuzz/modules/starkware/module.cpp:52,1
    - Dst: PyBytes_AsStringAndSize
      Src: /src/cryptofuzz/modules/starkware/module.cpp:57,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/starkware/module.cpp:58,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/starkware/module.cpp:61,1
    - Dst: Py_DECREF
      Src: /src/cryptofuzz/modules/starkware/module.cpp:66,1
    - Dst: Py_DECREF
      Src: /src/cryptofuzz/modules/starkware/module.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pFunc
    - arg
    argTypes:
    - void*
    - std::string
    constantsTouched: []
    func_position:
      end: 70
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 70
    functionName: cryptofuzz::module::RunPythonFunction
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - PyErr_PrintEx
    - std::string::size
    - PyObject_CallObject
    - PyBytes_Check
    - static_cast<PyObject*>
    - std::string
    - abort
    - PyBytes_AsStringAndSize
    - std::string::c_str
    - PyTuple_New
    - Py_DECREF
    - PyTuple_SetItem
    - PyBytes_FromStringAndSize
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> RunPythonFunction(void* pFunc, const std::string
      arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/starkware/module.cpp:79,1
    - Dst: setenv
      Src: /src/cryptofuzz/modules/starkware/module.cpp:79,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/starkware/module.cpp:79,1
    - Dst: fopen
      Src: /src/cryptofuzz/modules/starkware/module.cpp:86,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/starkware/module.cpp:86,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/starkware/module.cpp:87,1
    - Dst: fseek
      Src: /src/cryptofuzz/modules/starkware/module.cpp:89,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/starkware/module.cpp:91,1
    - Dst: fseek
      Src: /src/cryptofuzz/modules/starkware/module.cpp:93,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/starkware/module.cpp:94,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/starkware/module.cpp:95,1
    - Dst: fread
      Src: /src/cryptofuzz/modules/starkware/module.cpp:95,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/starkware/module.cpp:95,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/modules/starkware/module.cpp:95,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/starkware/module.cpp:96,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/starkware/module.cpp:99,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/starkware/module.cpp:99,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/starkware/module.cpp:99,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/starkware/module.cpp:99,1
    - Dst: Py_DecodeLocale
      Src: /src/cryptofuzz/modules/starkware/module.cpp:103,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/starkware/module.cpp:103,1
    - Dst: Py_SetProgramName
      Src: /src/cryptofuzz/modules/starkware/module.cpp:104,1
    - Dst: PyMem_RawFree
      Src: /src/cryptofuzz/modules/starkware/module.cpp:105,1
    - Dst: Py_Initialize
      Src: /src/cryptofuzz/modules/starkware/module.cpp:109,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/starkware/module.cpp:118,1
    - Dst: PyRun_SimpleString
      Src: /src/cryptofuzz/modules/starkware/module.cpp:118,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/starkware/module.cpp:118,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/starkware/module.cpp:129,1
    - Dst: PyRun_SimpleString
      Src: /src/cryptofuzz/modules/starkware/module.cpp:129,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/starkware/module.cpp:129,1
    - Dst: PyModule_New
      Src: /src/cryptofuzz/modules/starkware/module.cpp:134,1
    - Dst: PyModule_AddStringConstant
      Src: /src/cryptofuzz/modules/starkware/module.cpp:135,1
    - Dst: PyModule_GetDict
      Src: /src/cryptofuzz/modules/starkware/module.cpp:136,1
    - Dst: PyRun_String
      Src: /src/cryptofuzz/modules/starkware/module.cpp:137,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/starkware/module.cpp:137,1
    - Dst: PyErr_PrintEx
      Src: /src/cryptofuzz/modules/starkware/module.cpp:139,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/starkware/module.cpp:140,1
    - Dst: Py_DECREF
      Src: /src/cryptofuzz/modules/starkware/module.cpp:142,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:144,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:145,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:146,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:147,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:148,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:149,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:150,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:151,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:152,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:153,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:154,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 156
    functionName: cryptofuzz::module::ConfigurePython
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - Py_Initialize
    - std::vector::size
    - static_cast<size_t>
    - std::string::c_str
    - PyErr_PrintEx
    - PyModule_New
    - PyModule_AddStringConstant
    - PyRun_SimpleString
    - Py_DECREF
    - fclose
    - setenv
    - std::vector::data
    - fopen
    - c_str
    - fseek
    - PyModule_GetDict
    - std::vector::resize
    - std::string
    - PyRun_String
    - PyMem_RawFree
    - Py_SetProgramName
    - CF_ASSERT
    - Py_DecodeLocale
    - fread
    - cryptofuzz::module::LoadPythonFunction
    linkageType: ''
    returnType: void
    signature: void ConfigurePython(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ConfigurePython
      Src: /src/cryptofuzz/modules/starkware/module.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: cryptofuzz::module::Starkware::Starkware
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - ConfigurePython
    linkageType: ''
    returnType: void
    signature: void Starkware::Starkware(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/starkware/module.cpp:164,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:164,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:170,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/starkware/module.cpp:170,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:172,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/starkware/module.cpp:174,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/starkware/module.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: cryptofuzz::module::Starkware::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - CF_CHECK_NE
    - curveType::Is
    - CF_ECC_CURVE
    - RunPythonFunction
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Starkware::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/starkware/module.cpp:181,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:181,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:187,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/starkware/module.cpp:187,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:189,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/starkware/module.cpp:191,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/starkware/module.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 195
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 195
    functionName: cryptofuzz::module::Starkware::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - CF_CHECK_NE
    - curveType::Is
    - CF_ECC_CURVE
    - RunPythonFunction
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Starkware::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/starkware/module.cpp:198,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:198,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:204,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/starkware/module.cpp:204,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:206,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/starkware/module.cpp:208,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/starkware/module.cpp:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 212
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 212
    functionName: cryptofuzz::module::Starkware::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - CF_CHECK_NE
    - curveType::Is
    - CF_ECC_CURVE
    - RunPythonFunction
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Starkware::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/starkware/module.cpp:215,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:215,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:221,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/starkware/module.cpp:221,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:223,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/starkware/module.cpp:225,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/starkware/module.cpp:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 229
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 229
    functionName: cryptofuzz::module::Starkware::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - CF_CHECK_NE
    - curveType::Is
    - CF_ECC_CURVE
    - RunPythonFunction
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Starkware::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/starkware/module.cpp:232,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:232,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:238,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/starkware/module.cpp:238,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:240,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/starkware/module.cpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 246
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 246
    functionName: cryptofuzz::module::Starkware::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - CF_CHECK_NE
    - curveType::Is
    - CF_ECC_CURVE
    - RunPythonFunction
    - ToJSON
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Starkware::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:249,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/starkware/module.cpp:249,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/starkware/module.cpp:254,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/starkware/module.cpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: cryptofuzz::module::Starkware::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - RunPythonFunction
    - Botan::TLS::Client_Hello_13::parse
    - ToJSON
    - benchAddDblG1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Starkware::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:258,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/starkware/module.cpp:258,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/starkware/module.cpp:263,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/starkware/module.cpp:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 264
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 264
    functionName: cryptofuzz::module::Starkware::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - RunPythonFunction
    - Botan::TLS::Client_Hello_13::parse
    - ToJSON
    - benchAddDblG1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Starkware::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/starkware/module.cpp:267,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/starkware/module.cpp:267,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/starkware/module.cpp:269,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/starkware/module.cpp:270,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/starkware/module.cpp:271,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/starkware/module.cpp:275,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/starkware/module.cpp:275,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:276,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/starkware/module.cpp:276,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/starkware/module.cpp:277,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/starkware/module.cpp:277,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:278,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/starkware/module.cpp:278,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/starkware/module.cpp:279,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/starkware/module.cpp:279,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/starkware/module.cpp:283,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:287,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/starkware/module.cpp:287,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:289,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/starkware/module.cpp:289,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/starkware/module.cpp:291,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/starkware/module.cpp:291,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/starkware/module.cpp:292,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/starkware/module.cpp:292,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/starkware/module.cpp:295,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/starkware/module.cpp:297,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/starkware/module.cpp:297,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 300
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 300
    functionName: cryptofuzz::module::Starkware::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/starkware/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - Botan::TLS::Client_Hello_13::parse
    - bn1::ToTrimmedString
    - CF_CHECK_NE
    - modifier::GetPtr
    - Datasource::Get
    - RunPythonFunction
    - getBignum
    - modifier::GetSize
    - calcOp::Get
    - bn0::ToTrimmedString
    - bn2::ToTrimmedString
    - nlohmann::json::dump
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Starkware::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: cryptofuzz::module::Shamatar::Shamatar
    functionSourceFile: /src/cryptofuzz/modules/shamatar/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Shamatar::Shamatar(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:34,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:34,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:34,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:35,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:35,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:35,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:37,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:37,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:37,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:38,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:38,1
    - Dst: data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:38,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:40,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:40,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:40,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:41,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:41,1
    - Dst: data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:41,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:43,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:43,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:43,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:44,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:44,1
    - Dst: data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:44,1
    - Dst: eip196_perform_operation
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:46,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:48,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:49,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:52,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:52,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:53,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 61
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 61
    functionName: cryptofuzz::module::Shamatar::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/shamatar/module.cpp
    functionUses: 0
    functionsReached:
    - b::second::ToTrimmedString
    - CF_CHECK_NE
    - std::array::data
    - a::first::ToTrimmedString
    - std::optional::data
    - b::first::ToTrimmedString
    - data
    - eip196_perform_operation
    - cryptofuzz::util::BinToDec
    - memcpy
    - cryptofuzz::util::DecToBin
    - a::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Shamatar::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:73,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:73,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:73,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:74,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:74,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:74,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:76,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:76,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:76,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:77,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:77,1
    - Dst: data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:77,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:79,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:79,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:79,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:80,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:80,1
    - Dst: data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:80,1
    - Dst: eip196_perform_operation
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:82,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:84,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:85,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:88,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:88,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:89,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 97
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 97
    functionName: cryptofuzz::module::Shamatar::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/shamatar/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - std::array::data
    - a::first::ToTrimmedString
    - std::optional::data
    - data
    - eip196_perform_operation
    - cryptofuzz::util::BinToDec
    - memcpy
    - cryptofuzz::util::DecToBin
    - a::second::ToTrimmedString
    - b::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Shamatar::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:110,1
    - Dst: g1::first::ToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:110,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:111,1
    - Dst: g1::second::ToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:111,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:112,1
    - Dst: g2::first::first::ToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:112,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:113,1
    - Dst: g2::first::second::ToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:113,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:114,1
    - Dst: g2::second::first::ToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:114,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:115,1
    - Dst: g2::second::second::ToBin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:115,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:117,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:117,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:117,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:117,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:118,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:118,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:118,1
    - Dst: end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:118,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:119,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:119,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:119,1
    - Dst: end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:119,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:120,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:120,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:120,1
    - Dst: end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:120,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:121,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:121,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:121,1
    - Dst: end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:121,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:122,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:122,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:122,1
    - Dst: end
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:122,1
    - Dst: eip196_perform_operation
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:125,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:127,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:127,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:128,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:131,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:131,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/shamatar/module.cpp:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_BatchVerify
    constantsTouched: []
    func_position:
      end: 142
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 142
    functionName: cryptofuzz::module::Shamatar::OpBLS_BatchVerify
    functionSourceFile: /src/cryptofuzz/modules/shamatar/module.cpp
    functionUses: 0
    functionsReached:
    - g1::second::ToBin
    - CF_CHECK_NE
    - std::optional::begin
    - std::vector::size
    - std::array::data
    - g2::second::second::ToBin
    - begin
    - eip196_perform_operation
    - std::optional::end
    - g2::first::second::ToBin
    - end
    - g1::first::ToBin
    - g2::second::first::ToBin
    - std::vector::insert
    - std::vector<uint8_t>
    - std::vector::end
    - g2::first::first::ToBin
    - std::vector::data
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Shamatar::OpBLS_BatchVerify(operation::BLS_BatchVerify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fatalCode
    argTypes:
    - UINT32
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: SymCryptFatal
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void SymCryptFatal(UINT32 fatalCode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pbData
    - cbData
    argTypes:
    - PBYTE
    - SIZE_T
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: SymCryptInjectError
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SymCryptInjectError( PBYTE pbData, SIZE_T cbData )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: posix_memalign
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - nBytes
    argTypes:
    - SIZE_T
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: SymCryptCallbackAlloc
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - posix_memalign
    linkageType: ''
    returnType: PVOID
    signature: PVOID SymCryptCallbackAlloc( SIZE_T nBytes )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pMem
    argTypes:
    - VOID*
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: SymCryptCallbackFree
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: VOID
    signature: VOID SymCryptCallbackFree( VOID * pMem )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:40,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:48,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:49,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:49,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:50,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:50,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - out
    - size
    argTypes:
    - PBYTE
    - SIZE_T
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: SymCryptCallbackRandom
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - abort
    - memcpy
    - auto::data
    - memset
    - auto::size
    - GetData
    linkageType: ''
    returnType: SYMCRYPT_ERROR
    signature: SYMCRYPT_ERROR SymCryptCallbackRandom(PBYTE out, SIZE_T size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: SymCryptCpuFeaturesNeverPresent
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SYMCRYPT_CPU_FEATURES
    signature: SYMCRYPT_CPU_FEATURES SymCryptCpuFeaturesNeverPresent(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pSaveData
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: SymCryptSaveXmm
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SYMCRYPT_ERROR
    signature: SYMCRYPT_ERROR SymCryptSaveXmm(void* pSaveData)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSaveData
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: SymCryptRestoreXmm
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VOID
    signature: VOID SymCryptRestoreXmm(void* pSaveData )
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pSaveData
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: SymCryptSaveYmm
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SYMCRYPT_ERROR
    signature: SYMCRYPT_ERROR SymCryptSaveYmm(void* pSaveData)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSaveData
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: SymCryptRestoreYmm
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VOID
    signature: VOID SymCryptRestoreYmm(void* pSaveData )
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: cryptofuzz::module::SymCrypt::SymCrypt
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SymCrypt::SymCrypt(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:89,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:90,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:92,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:94,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:96,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:98,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:100,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:102,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:104,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:106,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:110,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 118
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 118
    functionName: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_HASH
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_DIGEST
    - Get
    linkageType: ''
    returnType: SYMCRYPT_HASH
    signature: SYMCRYPT_HASH * to_SYMCRYPT_HASH(const component::DigestType& digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:121,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:122,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:124,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:126,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:128,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_MAC
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_DIGEST
    - Get
    linkageType: ''
    returnType: SYMCRYPT_MAC
    signature: SYMCRYPT_MAC * to_SYMCRYPT_MAC(const component::DigestType& digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:138,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:139,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:140,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:141,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:142,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:143,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:144,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:145,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:146,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:147,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:150,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:151,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:152,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:155,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:157,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:158,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - ' cipherType'
    argTypes:
    - component::SymmetricCipherType
    constantsTouched: []
    func_position:
      end: 164
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 164
    functionName: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_BLOCKCIPHER
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - CF_CIPHER
    linkageType: ''
    returnType: SYMCRYPT_BLOCKCIPHER
    signature: SYMCRYPT_BLOCKCIPHER * to_SYMCRYPT_BLOCKCIPHER(const component::SymmetricCipherType&
      cipherType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:169,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:169,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:177,1
    - Dst: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_HASH
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:177,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:178,1
    - Dst: SYMCRYPT_HASH*::initFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:179,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:180,1
    - Dst: SYMCRYPT_HASH*::appendFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:185,1
    - Dst: SYMCRYPT_HASH*::resultFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:192,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:194,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 201
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 201
    functionName: cryptofuzz::module::SymCrypt::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - SYMCRYPT_HASH*::resultFunc
    - SYMCRYPT_HASH*::appendFunc
    - modifier::GetPtr
    - Botan::PKCS11::LowLevel::C_Digest
    - cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_HASH
    - SYMCRYPT_HASH*::initFunc
    - cryptofuzz::util::ToParts
    - modifier::GetSize
    - cryptofuzz::util::malloc
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> SymCrypt::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:205,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:205,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:214,1
    - Dst: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_MAC
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:214,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:216,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:217,1
    - Dst: SYMCRYPT_MAC*::expandKeyFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:217,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:219,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:220,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:222,1
    - Dst: SYMCRYPT_MAC*::initFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:223,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:225,1
    - Dst: SYMCRYPT_MAC*::appendFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:230,1
    - Dst: SYMCRYPT_MAC*::resultFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:237,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:239,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:244,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 247
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 247
    functionName: cryptofuzz::module::SymCrypt::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - modifier::GetPtr
    - CF_CHECK_EQ
    - SYMCRYPT_MAC*::resultFunc
    - SYMCRYPT_MAC*::expandKeyFunc
    - cryptofuzz::util::ToParts
    - SYMCRYPT_MAC*::appendFunc
    - cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_MAC
    - modifier::GetSize
    - cipher::key::GetPtr
    - SYMCRYPT_MAC*::initFunc
    - cryptofuzz::util::malloc
    - Botan_CLI::HMAC::HMAC
    - cipher::key::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> SymCrypt::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:255,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:256,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:257,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:258,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:259,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:260,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:261,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:262,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:263,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:264,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:265,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:266,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:267,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:268,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:269,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:270,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:271,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:272,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:273,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:274,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:275,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:276,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:277,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:278,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:279,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:280,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:281,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:282,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:283,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:284,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:285,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:286,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:287,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:288,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:289,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:290,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:291,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:292,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:293,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:294,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:300,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:300,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:308,1
    - Dst: SymCryptAesCmacExpandKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:308,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:310,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:311,1
    - Dst: SymCryptAesCmacInit
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:312,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:313,1
    - Dst: SymCryptAesCmacAppend
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:318,1
    - Dst: SymCryptAesCmacResult
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 57
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 334
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 334
    functionName: cryptofuzz::module::SymCrypt::OpCMAC
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - modifier::GetPtr
    - CF_CHECK_EQ
    - CF_CIPHER
    - SymCryptAesCmacExpandKey
    - SymCryptAesCmacAppend
    - modifier::GetSize
    - cipher::key::GetPtr
    - SymCryptAesCmacResult
    - SymCryptAesCmacInit
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> SymCrypt::OpCMAC(operation::CMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:339,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:339,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:355,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:355,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:356,1
    - Dst: SymCryptCcmValidateParameters
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:356,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:358,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:359,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:360,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:367,1
    - Dst: SymCryptAesExpandKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:367,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:369,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:370,1
    - Dst: SymCryptCcmInit
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:372,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:376,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:377,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:378,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:379,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:380,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:382,1
    - Dst: SymCryptCcmEncryptPart
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:387,1
    - Dst: SymCryptCcmEncryptFinal
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:393,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:394,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:394,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:394,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:394,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:398,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 402
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 402
    functionName: cryptofuzz::module::SymCrypt_detail::AES_CCM_Encrypt
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - SymCryptAesExpandKey
    - SymCryptCcmEncryptFinal
    - aad::GetPtr
    - modifier::GetSize
    - cipher::key::GetPtr
    - cleartext::GetSize
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - cryptofuzz::component::Ciphertext::Ciphertext
    - cryptofuzz::util::free
    - CF_CHECK_EQ
    - SymCryptCcmEncryptPart
    - SymCryptCcmValidateParameters
    - aad::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - SymCryptCcmInit
    - Buffer
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> AES_CCM_Encrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:406,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:406,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:422,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:422,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:423,1
    - Dst: SymCryptGcmValidateParameters
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:423,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:425,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:426,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:427,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:434,1
    - Dst: SymCryptGcmExpandKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:434,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:437,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:438,1
    - Dst: SymCryptGcmInit
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:440,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:443,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:444,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:447,1
    - Dst: SymCryptGcmAuthPart
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:449,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:453,1
    - Dst: SymCryptGcmEncryptPart
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:459,1
    - Dst: SymCryptGcmEncryptFinal
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:465,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:466,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:466,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:466,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:466,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:470,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 474
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 474
    functionName: cryptofuzz::module::SymCrypt_detail::AES_GCM_Encrypt
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - SymCryptGcmValidateParameters
    - SymCryptGcmInit
    - modifier::GetPtr
    - modifier::GetSize
    - cipher::key::GetPtr
    - cleartext::GetSize
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - cryptofuzz::component::Ciphertext::Ciphertext
    - SymCryptGcmExpandKey
    - cryptofuzz::util::free
    - SymCryptGcmEncryptFinal
    - SymCryptGcmAuthPart
    - CF_CHECK_EQ
    - SymCryptGcmEncryptPart
    - aad::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - Buffer
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> AES_GCM_Encrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:478,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:478,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:493,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:493,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:494,1
    - Dst: SymCryptCcmValidateParameters
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:494,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:496,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:497,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:498,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:499,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:505,1
    - Dst: SymCryptAesExpandKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:505,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:507,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:508,1
    - Dst: SymCryptCcmInit
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:510,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:514,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:515,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:516,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:517,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:518,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:519,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:520,1
    - Dst: SymCryptCcmDecryptPart
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:525,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:531,1
    - Dst: SymCryptCcmDecryptFinal
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:531,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:533,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:534,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:536,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:536,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:536,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 542
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 542
    functionName: cryptofuzz::module::SymCrypt_detail::AES_CCM_Decrypt
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - SymCryptAesExpandKey
    - aad::GetPtr
    - modifier::GetSize
    - cipher::key::GetPtr
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - cryptofuzz::util::free
    - tag::GetSize
    - CF_CHECK_EQ
    - SymCryptCcmDecryptPart
    - SymCryptCcmValidateParameters
    - aad::GetSize
    - tag::GetPtr
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - SymCryptCcmDecryptFinal
    - SymCryptCcmInit
    - Buffer
    - component::Cleartext
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> AES_CCM_Decrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:546,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:546,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:561,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:561,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:562,1
    - Dst: SymCryptGcmValidateParameters
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:562,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:564,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:565,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:566,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:567,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:573,1
    - Dst: SymCryptGcmExpandKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:573,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:576,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:577,1
    - Dst: SymCryptGcmInit
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:579,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:582,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:583,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:586,1
    - Dst: SymCryptGcmAuthPart
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:588,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:592,1
    - Dst: SymCryptGcmDecryptPart
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:597,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:603,1
    - Dst: SymCryptGcmDecryptFinal
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:603,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:605,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:606,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:608,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:608,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:608,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 614
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 614
    functionName: cryptofuzz::module::SymCrypt_detail::AES_GCM_Decrypt
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - SymCryptGcmValidateParameters
    - SymCryptGcmInit
    - modifier::GetPtr
    - SymCryptGcmDecryptPart
    - modifier::GetSize
    - cipher::key::GetPtr
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - SymCryptGcmExpandKey
    - cryptofuzz::util::free
    - tag::GetSize
    - SymCryptGcmAuthPart
    - CF_CHECK_EQ
    - aad::GetSize
    - tag::GetPtr
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - SymCryptGcmDecryptFinal
    - Buffer
    - component::Cleartext
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> AES_GCM_Decrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:624,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:624,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:633,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:633,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:634,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:635,1
    - Dst: SymCryptChaCha20Init
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:635,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:637,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:638,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:639,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:640,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:642,1
    - Dst: SymCryptChaCha20Crypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:647,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:656,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:656,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - ' in'
    - ' key'
    - ' iv'
    - ' modifier'
    - maxOutSize
    argTypes:
    - Buffer
    - component::SymmetricKey
    - component::SymmetricIV
    - Buffer
    - size_t
    constantsTouched: []
    func_position:
      end: 662
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 662
    functionName: cryptofuzz::module::SymCrypt_detail::ChaCha20
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - cryptofuzz::util::free
    - CF_CHECK_EQ
    - SymCryptChaCha20Init
    - cryptofuzz::util::ToParts
    - Buffer
    - GetSize
    - cryptofuzz::util::malloc
    - SymCryptChaCha20Crypt
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: "std::optional<Buffer> ChaCha20(\n            const Buffer& in,\n            const
      component::SymmetricKey& key,\n            const component::SymmetricIV& iv,\n
      \           const Buffer& modifier,\n            const size_t maxOutSize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:676,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:676,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:677,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:678,1
    - Dst: SymCryptRc4Init
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:678,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:680,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:681,1
    - Dst: SymCryptRc4Crypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:685,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:687,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:689,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:692,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:692,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ' in'
    - ' key'
    - maxOutSize
    argTypes:
    - Buffer
    - component::SymmetricKey
    - size_t
    constantsTouched: []
    func_position:
      end: 698
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 698
    functionName: cryptofuzz::module::SymCrypt_detail::RC4
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - cryptofuzz::util::free
    - CF_CHECK_EQ
    - SymCryptRc4Init
    - Buffer
    - GetSize
    - cryptofuzz::util::malloc
    - SymCryptRc4Crypt
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: "std::optional<Buffer> RC4(\n            const Buffer& in,\n            const
      component::SymmetricKey& key,\n            const size_t maxOutSize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:709,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:709,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:718,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:718,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:719,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:720,1
    - Dst: SymCryptXtsAesExpandKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:720,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:722,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:723,1
    - Dst: SymCryptXtsAesEncrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:728,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:730,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:732,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:734,1
    - Dst: SymCryptXtsAesDecrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:736,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:738,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:740,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:742,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:749,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - ' in'
    - ' key'
    - maxOutSize
    - encrypt
    argTypes:
    - Buffer
    - component::SymmetricKey
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 752
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 752
    functionName: cryptofuzz::module::SymCrypt_detail::AES_XTS
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - SymCryptXtsAesDecrypt
    - GetPtr
    - cryptofuzz::util::free
    - CF_CHECK_EQ
    - SymCryptXtsAesEncrypt
    - GetSize
    - cryptofuzz::util::malloc
    - SymCryptXtsAesExpandKey
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: "std::optional<Buffer> AES_XTS(\n            const Buffer& in,\n            const
      component::SymmetricKey& key,\n            const size_t maxOutSize,\n            const
      bool encrypt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:769,1
    - Dst: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_BLOCKCIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:769,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:770,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:770,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:771,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:772,1
    - Dst: SYMCRYPT_BLOCKCIPHER*::expandKeyFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:772,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:774,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:775,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:776,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:776,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:777,1
    - Dst: SymCryptEcbEncrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:782,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:785,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:787,1
    - Dst: SymCryptEcbDecrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:789,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:792,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:794,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:798,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:798,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:801,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - cipherType
    - ' in'
    - ' key'
    - maxOutSize
    - encrypt
    argTypes:
    - component::SymmetricCipherType
    - Buffer
    - component::SymmetricKey
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 805
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 805
    functionName: cryptofuzz::module::SymCrypt_detail::ECB
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - cryptofuzz::util::free
    - SymCryptEcbDecrypt
    - SymCryptEcbEncrypt
    - CF_CHECK_EQ
    - Buffer
    - GetSize
    - cryptofuzz::util::malloc
    - cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_BLOCKCIPHER
    - SYMCRYPT_BLOCKCIPHER*::expandKeyFunc
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: "std::optional<Buffer> ECB(\n            const component::SymmetricCipherType
      cipherType,\n            const Buffer& in,\n            const component::SymmetricKey&
      key,\n            const size_t maxOutSize,\n            const bool encrypt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:825,1
    - Dst: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_BLOCKCIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:825,1
    - Dst: cryptofuzz::util::Pkcs7Pad
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:827,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:827,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:829,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:831,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:831,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:832,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:832,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:833,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:834,1
    - Dst: SYMCRYPT_BLOCKCIPHER*::expandKeyFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:834,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:836,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:837,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:838,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:838,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:839,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:840,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:841,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:841,1
    - Dst: SymCryptCbcEncrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:846,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:850,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:852,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:853,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:853,1
    - Dst: SymCryptCbcDecrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:855,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:859,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:861,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:863,1
    - Dst: cryptofuzz::util::Pkcs7Unpad
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:863,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:863,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:863,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:864,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:864,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:868,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:869,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:870,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 6
    argNames:
    - cipherType
    - ' in'
    - ' key'
    - ' iv'
    - maxOutSize
    - encrypt
    argTypes:
    - component::SymmetricCipherType
    - Buffer
    - component::SymmetricKey
    - component::SymmetricIV
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 873
      start: 807
    functionDepth: 2
    functionLinenumber: 807
    functionLinenumberEnd: 873
    functionName: cryptofuzz::module::SymCrypt_detail::CBC
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::optional::size
    - std::vector<uint8_t>
    - SYMCRYPT_BLOCKCIPHER*::expandKeyFunc
    - CF_CHECK_NE
    - memcpy
    - std::vector::data
    - SymCryptCbcDecrypt
    - cryptofuzz::util::free
    - CF_CHECK_EQ
    - SymCryptCbcEncrypt
    - GetSize
    - cryptofuzz::util::Pkcs7Pad
    - cryptofuzz::util::malloc
    - Get
    - GetPtr
    - Buffer
    - cryptofuzz::util::Pkcs7Unpad
    - cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_BLOCKCIPHER
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: "std::optional<Buffer> CBC(\n            const component::SymmetricCipherType
      cipherType,\n            const Buffer& in,\n            const component::SymmetricKey&
      key,\n            const component::SymmetricIV& iv,\n            const size_t
      maxOutSize,\n            const bool encrypt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:892,1
    - Dst: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_BLOCKCIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:892,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:893,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:893,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:894,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:894,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:895,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:896,1
    - Dst: SYMCRYPT_BLOCKCIPHER*::expandKeyFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:896,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:898,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:899,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:900,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:900,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:901,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:902,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:903,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:903,1
    - Dst: SymCryptCfbEncrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:908,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:913,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:915,1
    - Dst: SymCryptCfbDecrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:917,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:922,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:924,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:928,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:928,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:931,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:932,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 6
    argNames:
    - cipherType
    - ' in'
    - ' key'
    - ' iv'
    - maxOutSize
    - encrypt
    argTypes:
    - component::SymmetricCipherType
    - Buffer
    - component::SymmetricKey
    - component::SymmetricIV
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 936
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 936
    functionName: cryptofuzz::module::SymCrypt_detail::CFB
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - cryptofuzz::util::free
    - CF_CHECK_EQ
    - SymCryptCfbDecrypt
    - memcpy
    - Buffer
    - GetSize
    - cryptofuzz::util::malloc
    - SymCryptCfbEncrypt
    - cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_BLOCKCIPHER
    - SYMCRYPT_BLOCKCIPHER*::expandKeyFunc
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: "std::optional<Buffer> CFB(\n            const component::SymmetricCipherType
      cipherType,\n            const Buffer& in,\n            const component::SymmetricKey&
      key,\n            const component::SymmetricIV& iv,\n            const size_t
      maxOutSize,\n            const bool encrypt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:945,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:946,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:947,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:948,1
    - Dst: cryptofuzz::module::SymCrypt_detail::AES_CCM_Encrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:949,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:950,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:951,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:952,1
    - Dst: cryptofuzz::module::SymCrypt_detail::AES_GCM_Encrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:953,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:955,1
    - Dst: cryptofuzz::module::SymCrypt_detail::ChaCha20
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:956,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:957,1
    - Dst: cryptofuzz::module::SymCrypt_detail::RC4
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:958,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:959,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:960,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:961,1
    - Dst: cryptofuzz::module::SymCrypt_detail::AES_XTS
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:962,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:964,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:964,1
    - Dst: cryptofuzz::module::SymCrypt_detail::ECB
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:965,1
    - Dst: cryptofuzz::repository::IsCFB
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:966,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:966,1
    - Dst: cryptofuzz::module::SymCrypt_detail::CFB
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:967,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:968,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:968,1
    - Dst: cryptofuzz::module::SymCrypt_detail::CBC
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:969,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 975
      start: 940
    functionDepth: 3
    functionLinenumber: 940
    functionLinenumberEnd: 975
    functionName: cryptofuzz::module::SymCrypt::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::SymCrypt_detail::AES_GCM_Encrypt
    - cryptofuzz::repository::IsECB
    - cryptofuzz::module::SymCrypt_detail::AES_CCM_Encrypt
    - cipher::cipherType::Get
    - cryptofuzz::module::SymCrypt_detail::RC4
    - cryptofuzz::module::SymCrypt_detail::AES_XTS
    - CF_CIPHER
    - cryptofuzz::repository::IsCFB
    - cryptofuzz::module::SymCrypt_detail::ECB
    - cryptofuzz::repository::IsCBC
    - cryptofuzz::module::SymCrypt_detail::CFB
    - cryptofuzz::module::SymCrypt_detail::CBC
    - cryptofuzz::module::SymCrypt_detail::ChaCha20
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> SymCrypt::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:982,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:983,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:984,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:985,1
    - Dst: cryptofuzz::module::SymCrypt_detail::AES_CCM_Decrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:986,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:987,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:988,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:989,1
    - Dst: cryptofuzz::module::SymCrypt_detail::AES_GCM_Decrypt
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:990,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:991,1
    - Dst: cryptofuzz::module::SymCrypt_detail::ChaCha20
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:992,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:993,1
    - Dst: cryptofuzz::module::SymCrypt_detail::RC4
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:994,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:995,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:996,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:997,1
    - Dst: cryptofuzz::module::SymCrypt_detail::AES_XTS
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:998,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1000,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1000,1
    - Dst: cryptofuzz::module::SymCrypt_detail::ECB
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1001,1
    - Dst: cryptofuzz::repository::IsCFB
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1002,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1002,1
    - Dst: cryptofuzz::module::SymCrypt_detail::CFB
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1003,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1004,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1004,1
    - Dst: cryptofuzz::module::SymCrypt_detail::CBC
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1005,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 1010
      start: 977
    functionDepth: 3
    functionLinenumber: 977
    functionLinenumberEnd: 1010
    functionName: cryptofuzz::module::SymCrypt::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::IsECB
    - cryptofuzz::module::SymCrypt_detail::AES_XTS
    - cipher::cipherType::Get
    - cryptofuzz::module::SymCrypt_detail::RC4
    - cryptofuzz::repository::IsCBC
    - CF_CIPHER
    - cryptofuzz::repository::IsCFB
    - cryptofuzz::module::SymCrypt_detail::ECB
    - cryptofuzz::module::SymCrypt_detail::AES_GCM_Decrypt
    - cryptofuzz::module::SymCrypt_detail::CFB
    - cryptofuzz::module::SymCrypt_detail::CBC
    - cryptofuzz::module::SymCrypt_detail::AES_CCM_Decrypt
    - cryptofuzz::module::SymCrypt_detail::ChaCha20
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> SymCrypt::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1018,1
    - Dst: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_MAC
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1018,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1019,1
    - Dst: SymCryptHkdf
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1019,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1021,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1022,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1023,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1024,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1025,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1026,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1030,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 1035
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1035
    functionName: cryptofuzz::module::SymCrypt::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - password::GetPtr
    - CF_CHECK_EQ
    - salt::GetPtr
    - info::GetPtr
    - cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_MAC
    - salt::GetSize
    - info::GetSize
    - SymCryptHkdf
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> SymCrypt::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1043,1
    - Dst: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_MAC
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1043,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1048,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1050,1
    - Dst: SymCryptPbkdf2
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1050,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1052,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1053,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1054,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1055,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1060,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 1065
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1065
    functionName: cryptofuzz::module::SymCrypt::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - password::GetPtr
    - CF_CHECK_EQ
    - salt::GetPtr
    - cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_MAC
    - salt::GetSize
    - password::GetSize
    - SymCryptPbkdf2
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> SymCrypt::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1072,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1072,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1072,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1074,1
    - Dst: SymCryptTlsPrf1_1
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1074,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1075,1
    - Dst: secret::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1076,1
    - Dst: seed::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1079,1
    - Dst: seed::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1080,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1084,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_TLS1_PRF
    constantsTouched: []
    func_position:
      end: 1091
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1091
    functionName: cryptofuzz::module::SymCrypt::OpKDF_TLS1_PRF
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - seed::GetSize
    - secret::GetSize
    - seed::GetPtr
    - CF_CHECK_EQ
    - digestType::Get
    - secret::GetPtr
    - CF_DIGEST
    - SymCryptTlsPrf1_1
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> SymCrypt::OpKDF_TLS1_PRF(operation::KDF_TLS1_PRF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1099,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1100,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1101,1
    - Dst: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_MAC
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1101,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1106,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1108,1
    - Dst: SymCryptSp800_108
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1108,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1110,1
    - Dst: secret::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1111,1
    - Dst: label::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1112,1
    - Dst: label::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1113,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1114,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1115,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1119,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SP_800_108
    constantsTouched: []
    func_position:
      end: 1125
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1125
    functionName: cryptofuzz::module::SymCrypt::OpKDF_SP_800_108
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - secret::GetSize
    - CF_CHECK_EQ
    - label::GetSize
    - salt::GetPtr
    - secret::GetPtr
    - cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_MAC
    - SymCryptSp800_108
    - salt::GetSize
    - label::GetPtr
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> SymCrypt::OpKDF_SP_800_108(operation::KDF_SP_800_108&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::multiprecision::export_bits
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1131,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1131,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1132,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1135,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1137,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1138,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1138,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - s
    - out
    - outSize
    argTypes:
    - std::string
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1141
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1141
    functionName: cryptofuzz::module::SymCrypt_detail::EncodeBignum
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::back_inserter
    - memset
    - memcpy
    - boost::multiprecision::export_bits
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: bool EncodeBignum(const std::string s, uint8_t* out, const size_t outSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1147,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - boost::multiprecision::cpp_int
    constantsTouched: []
    func_position:
      end: 1152
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1152
    functionName: cryptofuzz::module::SymCrypt_detail::toString
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string toString(const boost::multiprecision::cpp_int& i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1156,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1158,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1160,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1162,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1164,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1167,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1170,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1172,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - curveID
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1179
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1179
    functionName: cryptofuzz::module::SymCrypt_detail::toCurveParams
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    linkageType: ''
    returnType: SYMCRYPT_ECURVE_PARAMS
    signature: SYMCRYPT_ECURVE_PARAMS * toCurveParams(const uint64_t curveID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1190,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1190,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1196,1
    - Dst: cryptofuzz::module::SymCrypt_detail::toCurveParams
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1196,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1196,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1197,1
    - Dst: SymCryptEcurveAllocate
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1197,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1198,1
    - Dst: SymCryptEckeyAllocate
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1198,1
    - Dst: SymCryptEckeySizeofPrivateKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1201,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1204,1
    - Dst: cryptofuzz::module::SymCrypt_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1204,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1205,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1206,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1210,1
    - Dst: SymCryptEckeySetValue
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1210,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1211,1
    - Dst: SymCryptEckeySizeofPublicKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1218,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1219,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1223,1
    - Dst: SymCryptEckeyGetValue
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1223,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1226,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1233,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1233,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1233,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1234,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1234,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1234,1
    - Dst: cryptofuzz::module::SymCrypt_detail::toString
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1236,1
    - Dst: cryptofuzz::module::SymCrypt_detail::toString
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1236,1
    - Dst: SymCryptEckeyFree
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1242,1
    - Dst: SymCryptEcurveFree
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 1252
      start: 1182
    functionDepth: 2
    functionLinenumber: 1182
    functionLinenumberEnd: 1252
    functionName: cryptofuzz::module::SymCrypt::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - SymCryptEckeyFree
    - modifier::GetPtr
    - std::vector::begin
    - SymCryptEckeyGetValue
    - modifier::GetSize
    - cryptofuzz::module::SymCrypt_detail::toString
    - SymCryptEckeySizeofPublicKey
    - cryptofuzz::module::SymCrypt_detail::EncodeBignum
    - SymCryptEckeyAllocate
    - CF_CHECK_NE
    - SymCryptEckeySizeofPrivateKey
    - std::vector::end
    - std::vector::data
    - CF_CHECK_EQ
    - CF_ASSERT
    - SymCryptEckeySetValue
    - priv::ToTrimmedString
    - curveType::Get
    - SymCryptEcurveAllocate
    - SymCryptEcurveFree
    - boost::multiprecision::import_bits
    - cryptofuzz::module::SymCrypt_detail::toCurveParams
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> SymCrypt::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1256,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1256,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1265,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1265,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1266,1
    - Dst: cryptofuzz::module::SymCrypt_detail::toCurveParams
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1266,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1266,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1267,1
    - Dst: SymCryptEcurveAllocate
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1267,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1268,1
    - Dst: SymCryptEckeyAllocate
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1268,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1269,1
    - Dst: SymCryptIntAllocate
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1269,1
    - Dst: SymCryptEcurveDigitsofScalarMultiplier
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1269,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1271,1
    - Dst: nonce::ToTrimmedString
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1271,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1272,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1273,1
    - Dst: SymCryptIntSetValue
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1273,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1273,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1273,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1276,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1276,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1277,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1280,1
    - Dst: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_HASH
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1280,1
    - Dst: SYMCRYPT_HASH*::initFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1283,1
    - Dst: SYMCRYPT_HASH*::appendFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1284,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1284,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1284,1
    - Dst: SYMCRYPT_HASH*::resultFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1286,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1288,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1290,1
    - Dst: SymCryptEckeySizeofPrivateKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1294,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1297,1
    - Dst: cryptofuzz::module::SymCrypt_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1297,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1298,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1299,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1303,1
    - Dst: SymCryptEckeySetValue
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1303,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1304,1
    - Dst: SymCryptEcurveSizeofScalarMultiplier
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1311,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1315,1
    - Dst: SymCryptEcDsaSignEx
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1315,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1317,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1318,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1322,1
    - Dst: SymCryptEckeySizeofPublicKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1325,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1326,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1331,1
    - Dst: SymCryptEckeyGetValue
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1331,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1334,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1338,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1338,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1338,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1339,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1339,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1339,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1340,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1340,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1340,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1341,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1341,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1341,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1343,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1343,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1343,1
    - Dst: SymCryptEckeyFree
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1350,1
    - Dst: SymCryptEcurveFree
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1353,1
    - Dst: SymCryptIntFree
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 1362
      start: 1254
    functionDepth: 2
    functionLinenumber: 1254
    functionLinenumberEnd: 1362
    functionName: cryptofuzz::module::SymCrypt::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - SymCryptEckeyFree
    - std::vector::size
    - UseSpecifiedNonce
    - modifier::GetPtr
    - SymCryptEcurveSizeofScalarMultiplier
    - CF_CHECK_FALSE
    - SYMCRYPT_HASH*::initFunc
    - SymCryptIntFree
    - std::vector<uint8_t>
    - SymCryptEckeyGetValue
    - modifier::GetSize
    - SymCryptEcurveDigitsofScalarMultiplier
    - SymCryptEckeySizeofPublicKey
    - cryptofuzz::module::SymCrypt_detail::EncodeBignum
    - cleartext::GetSize
    - SymCryptEckeyAllocate
    - CF_CHECK_NE
    - SYMCRYPT_HASH*::resultFunc
    - curveType::Is
    - SymCryptIntAllocate
    - SymCryptEcDsaSignEx
    - SymCryptEckeySizeofPrivateKey
    - cryptofuzz::util::DecToBin
    - nonce::ToTrimmedString
    - std::vector::data
    - cryptofuzz::util::free
    - SymCryptIntSetValue
    - SYMCRYPT_HASH*::appendFunc
    - CF_CHECK_EQ
    - digestType::Is
    - cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_HASH
    - cryptofuzz::util::BinToDec
    - CF_CHECK_TRUE
    - CF_ASSERT
    - SymCryptEckeySetValue
    - CF_ECC_CURVE
    - cleartext::Get
    - cleartext::GetPtr
    - priv::ToTrimmedString
    - curveType::Get
    - CF_DIGEST
    - auto::data
    - SymCryptEcurveAllocate
    - SymCryptEcurveFree
    - auto::size
    - cryptofuzz::module::SymCrypt_detail::toCurveParams
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> SymCrypt::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1366,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1366,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1374,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1374,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1375,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1378,1
    - Dst: cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_HASH
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1378,1
    - Dst: SYMCRYPT_HASH*::initFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1381,1
    - Dst: SYMCRYPT_HASH*::appendFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1382,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1382,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1382,1
    - Dst: SYMCRYPT_HASH*::resultFunc
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1384,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1386,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1388,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1392,1
    - Dst: cryptofuzz::module::SymCrypt_detail::toCurveParams
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1392,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1392,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1393,1
    - Dst: SymCryptEcurveAllocate
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1393,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1394,1
    - Dst: SymCryptEckeyAllocate
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1394,1
    - Dst: SymCryptEckeySizeofPublicKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1397,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1398,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1400,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1400,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1401,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1401,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1402,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1404,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1404,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1405,1
    - Dst: cryptofuzz::util::Append
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1407,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1409,1
    - Dst: SymCryptEckeySetValue
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1409,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1411,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1411,1
    - Dst: SymCryptEckeySizeofPublicKey
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1417,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1418,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1420,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1420,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1421,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1423,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1423,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1424,1
    - Dst: cryptofuzz::util::Append
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1426,1
    - Dst: SymCryptEcDsaVerify
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1428,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1430,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1431,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1432,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1433,1
    - Dst: SymCryptEckeyFree
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1448,1
    - Dst: SymCryptEcurveFree
      Src: /src/cryptofuzz/modules/symcrypt/module.cpp:1451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 1455
      start: 1364
    functionDepth: 2
    functionLinenumber: 1364
    functionLinenumberEnd: 1455
    functionName: cryptofuzz::module::SymCrypt::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/symcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - SymCryptEckeyFree
    - std::vector::size
    - modifier::GetPtr
    - SYMCRYPT_HASH*::initFunc
    - std::vector<uint8_t>
    - modifier::GetSize
    - SymCryptEcDsaVerify
    - SymCryptEckeySizeofPublicKey
    - cleartext::GetSize
    - SymCryptEckeyAllocate
    - CF_CHECK_NE
    - SYMCRYPT_HASH*::resultFunc
    - cryptofuzz::util::Append
    - signature::signature::first::ToTrimmedString
    - cryptofuzz::util::DecToBin
    - signature::signature::second::ToTrimmedString
    - std::vector::data
    - signature::pub::first::ToTrimmedString
    - cryptofuzz::util::free
    - SYMCRYPT_HASH*::appendFunc
    - CF_CHECK_EQ
    - digestType::Is
    - cryptofuzz::module::SymCrypt_detail::to_SYMCRYPT_HASH
    - signature::pub::second::ToTrimmedString
    - CF_ASSERT
    - SymCryptEckeySetValue
    - cleartext::Get
    - cleartext::GetPtr
    - curveType::Get
    - CF_DIGEST
    - auto::data
    - SymCryptEcurveAllocate
    - SymCryptEcurveFree
    - auto::size
    - cryptofuzz::module::SymCrypt_detail::toCurveParams
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> SymCrypt::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::Golang::Golang
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Golang::Golang(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Golang_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/golang/module.cpp:19,1
    - Dst: free
      Src: /src/cryptofuzz/modules/golang/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::Golang::getResult
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - free
    - Golang_Cryptofuzz_GetResult
    linkageType: ''
    returnType: std::string
    signature: std::string Golang::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Golang::getResult
      Src: /src/cryptofuzz/modules/golang/module.cpp:26,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/golang/module.cpp:27,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/golang/module.cpp:32,1
    - Dst: cryptofuzz::module::Golang::getResult
      Src: /src/cryptofuzz/modules/golang/module.cpp:32,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/golang/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::Golang::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    - cryptofuzz::module::Golang::getResult
    - auto::empty
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> Golang::getJsonResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Golang::getJsonResult
      Src: /src/cryptofuzz/modules/golang/module.cpp:42,1
    - Dst: T
      Src: /src/cryptofuzz/modules/golang/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::Golang::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getJsonResult
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> Golang::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/golang/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/golang/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/golang/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/golang/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/golang/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - static_cast<GoInt>
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:55,1
    - Dst: Golang_Cryptofuzz_OpDigest
      Src: /src/cryptofuzz/modules/golang/module.cpp:56,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:56,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: cryptofuzz::module::Golang::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getResultAs
    - Golang_Cryptofuzz_OpDigest
    - toGoSlice
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Golang::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:62,1
    - Dst: Golang_Cryptofuzz_OpHMAC
      Src: /src/cryptofuzz/modules/golang/module.cpp:63,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:63,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: cryptofuzz::module::Golang::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getResultAs
    - Golang_Cryptofuzz_OpHMAC
    - toGoSlice
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Golang::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:69,1
    - Dst: Golang_Cryptofuzz_OpSymmetricEncrypt
      Src: /src/cryptofuzz/modules/golang/module.cpp:70,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:70,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:72,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/golang/module.cpp:77,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/golang/module.cpp:78,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/golang/module.cpp:78,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/golang/module.cpp:78,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/golang/module.cpp:79,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/golang/module.cpp:79,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/golang/module.cpp:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: cryptofuzz::module::Golang::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - Golang_Cryptofuzz_OpSymmetricEncrypt
    - ToJSON
    - cryptofuzz::module::Golang::getResultAs
    - auto::GetPtr
    - Buffer
    - toGoSlice
    - cryptofuzz::component::Ciphertext::Ciphertext
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Golang::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:86,1
    - Dst: Golang_Cryptofuzz_OpSymmetricDecrypt
      Src: /src/cryptofuzz/modules/golang/module.cpp:87,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:87,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: cryptofuzz::module::Golang::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - Golang_Cryptofuzz_OpSymmetricDecrypt
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Golang::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:93,1
    - Dst: Golang_Cryptofuzz_OpCMAC
      Src: /src/cryptofuzz/modules/golang/module.cpp:94,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:94,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: cryptofuzz::module::Golang::OpCMAC
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - Golang_Cryptofuzz_OpCMAC
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Golang::OpCMAC(operation::CMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:100,1
    - Dst: Golang_Cryptofuzz_OpKDF_SCRYPT
      Src: /src/cryptofuzz/modules/golang/module.cpp:101,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:101,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: cryptofuzz::module::Golang::OpKDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - ToJSON
    - Golang_Cryptofuzz_OpKDF_SCRYPT
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Golang::OpKDF_SCRYPT(operation::KDF_SCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:107,1
    - Dst: Golang_Cryptofuzz_OpKDF_HKDF
      Src: /src/cryptofuzz/modules/golang/module.cpp:108,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:108,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: cryptofuzz::module::Golang::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getResultAs
    - Golang_Cryptofuzz_OpKDF_HKDF
    - toGoSlice
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Golang::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:114,1
    - Dst: Golang_Cryptofuzz_OpKDF_PBKDF2
      Src: /src/cryptofuzz/modules/golang/module.cpp:115,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:115,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: cryptofuzz::module::Golang::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getResultAs
    - Golang_Cryptofuzz_OpKDF_PBKDF2
    - toGoSlice
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Golang::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:121,1
    - Dst: Golang_Cryptofuzz_OpKDF_ARGON2
      Src: /src/cryptofuzz/modules/golang/module.cpp:122,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:122,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_ARGON2
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: cryptofuzz::module::Golang::OpKDF_ARGON2
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - Golang_Cryptofuzz_OpKDF_ARGON2
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Golang::OpKDF_ARGON2(operation::KDF_ARGON2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:128,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/golang/module.cpp:129,1
    - Dst: Golang_Cryptofuzz_OpECC_GenerateKeyPair
      Src: /src/cryptofuzz/modules/golang/module.cpp:130,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:130,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: cryptofuzz::module::Golang::OpECC_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - Golang_Cryptofuzz_OpECC_GenerateKeyPair
    - ToJSON
    - cryptofuzz::module::Golang::getResultAs
    - auto::dump
    - toGoSlice
    linkageType: ''
    returnType: std::optional<component::ECC_KeyPair>
    signature: std::optional<component::ECC_KeyPair> Golang::OpECC_GenerateKeyPair(operation::ECC_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:136,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/golang/module.cpp:137,1
    - Dst: Golang_Cryptofuzz_OpECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/golang/module.cpp:138,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:138,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: cryptofuzz::module::Golang::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - Golang_Cryptofuzz_OpECC_PrivateToPublic
    - cryptofuzz::module::Golang::getResultAs
    - auto::dump
    - toGoSlice
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> Golang::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:144,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/golang/module.cpp:145,1
    - Dst: Golang_Cryptofuzz_OpECDSA_Verify
      Src: /src/cryptofuzz/modules/golang/module.cpp:146,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:146,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: cryptofuzz::module::Golang::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Golang::getResultAs
    - auto::dump
    - Golang_Cryptofuzz_OpECDSA_Verify
    - toGoSlice
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Golang::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/golang/module.cpp:152,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:156,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/golang/module.cpp:157,1
    - Dst: Golang_Cryptofuzz_OpECDSA_Sign
      Src: /src/cryptofuzz/modules/golang/module.cpp:158,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:158,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: cryptofuzz::module::Golang::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Golang::getResultAs
    - Golang_Cryptofuzz_OpECDSA_Sign
    - UseRandomNonce
    - auto::dump
    - toGoSlice
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> Golang::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:164,1
    - Dst: Golang_Cryptofuzz_OpBignumCalc
      Src: /src/cryptofuzz/modules/golang/module.cpp:165,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:165,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: cryptofuzz::module::Golang::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - ToJSON
    - Golang_Cryptofuzz_OpBignumCalc
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Golang::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:171,1
    - Dst: Golang_Cryptofuzz_OpECC_Point_Add
      Src: /src/cryptofuzz/modules/golang/module.cpp:172,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:172,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: cryptofuzz::module::Golang::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - ToJSON
    - Golang_Cryptofuzz_OpECC_Point_Add
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Golang::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:178,1
    - Dst: Golang_Cryptofuzz_OpECC_Point_Mul
      Src: /src/cryptofuzz/modules/golang/module.cpp:179,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:179,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: cryptofuzz::module::Golang::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - ToJSON
    - Golang_Cryptofuzz_OpECC_Point_Mul
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Golang::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:185,1
    - Dst: Golang_Cryptofuzz_OpECC_Point_Dbl
      Src: /src/cryptofuzz/modules/golang/module.cpp:186,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:186,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: cryptofuzz::module::Golang::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Golang::getResultAs
    - toGoSlice
    - Golang_Cryptofuzz_OpECC_Point_Dbl
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Golang::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/golang/module.cpp:192,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/golang/module.cpp:193,1
    - Dst: Golang_Cryptofuzz_OpDSA_Verify
      Src: /src/cryptofuzz/modules/golang/module.cpp:194,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/golang/module.cpp:194,1
    - Dst: cryptofuzz::module::Golang::getResultAs
      Src: /src/cryptofuzz/modules/golang/module.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DSA_Verify
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: cryptofuzz::module::Golang::OpDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/golang/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::Golang::getResultAs
    - Golang_Cryptofuzz_OpDSA_Verify
    - auto::dump
    - toGoSlice
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Golang::OpDSA_Verify(operation::DSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:15,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:18,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:19,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:19,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:24,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:24,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:24,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:27,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:28,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:28,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:29,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:29,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:29,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:32,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:33,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:33,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:34,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:34,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:34,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/golang/generate_ids.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/golang/generate_ids.cpp
    functionUses: 97
    functionsReached:
    - std::regex_replace
    - std::regex
    - std::to_string
    - std::string
    - fprintf
    - auto::c_str
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:29,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:29,1
    - Dst: size
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:29,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:29,1
    - Dst: size
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: cryptofuzz::module::SolidityMath_detail::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/soliditymath/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - static_cast<GoInt>
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: cryptofuzz::module::SolidityMath_detail::getGas
    functionSourceFile: /src/cryptofuzz/modules/soliditymath/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getGas(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToBin
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:43,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:44,1
    - Dst: insert
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:46,1
    - Dst: end
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:46,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:46,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' out'
    - ' val'
    argTypes:
    - std::vector<uint8_t>
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::SolidityMath_detail::append
    functionSourceFile: /src/cryptofuzz/modules/soliditymath/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - ToBin
    - end
    - auto::begin
    - auto::end
    - insert
    linkageType: ''
    returnType: bool
    signature: bool append(std::vector<uint8_t>& out, const component::Bignum& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:57,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:57,1
    - Dst: data
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:57,1
    - Dst: size
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:57,1
    - Dst: insert
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:59,1
    - Dst: end
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:59,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:59,1
    - Dst: end
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' fourbyte'
    argTypes:
    - std::vector<uint8_t>
    - std::array<uint8_t, 4>
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::SolidityMath_detail::append
    functionSourceFile: /src/cryptofuzz/modules/soliditymath/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - begin
    - data
    - size
    - end
    - memcpy
    - insert
    linkageType: ''
    returnType: void
    signature: void append(std::vector<uint8_t>& out, const std::array<uint8_t, 4>&
      fourbyte)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SolidityMath_GetResult
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:63,1
    - Dst: free
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: cryptofuzz::module::SolidityMath_detail::getResult
    functionSourceFile: /src/cryptofuzz/modules/soliditymath/module.cpp
    functionUses: 0
    functionsReached:
    - SolidityMath_GetResult
    - free
    linkageType: ''
    returnType: std::string
    signature: std::string getResult(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::SolidityMath_detail::getResult
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:70,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:71,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:76,1
    - Dst: cryptofuzz::module::SolidityMath_detail::getResult
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:76,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: cryptofuzz::module::SolidityMath_detail::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/soliditymath/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    - auto::empty
    - cryptofuzz::module::SolidityMath_detail::getResult
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> getJsonResult(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::SolidityMath_detail::getJsonResult
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:85,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:88,1
    - Dst: auto::get
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:92,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:94,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:94,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:96,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:96,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: cryptofuzz::module::SolidityMath_detail::parseInt
    functionSourceFile: /src/cryptofuzz/modules/soliditymath/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::SolidityMath_detail::getJsonResult
    - boost::algorithm::unhex
    - CF_ASSERT
    - std::vector::size
    - std::back_inserter
    - abort
    - cryptofuzz::util::BinToDec
    - auto::get
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> parseInt(const bool mustSucceed =
      false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:104,1
    - Dst: push_back
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: cryptofuzz::module::SolidityMath::SolidityMath
    functionSourceFile: /src/cryptofuzz/modules/soliditymath/module.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - size
    linkageType: ''
    returnType: void
    signature: void SolidityMath::SolidityMath(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:113,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:113,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:116,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:127,1
    - Dst: hashes::at
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:132,1
    - Dst: cryptofuzz::module::SolidityMath_detail::append
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:133,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:136,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:137,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:137,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:142,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:143,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:143,1
    - Dst: cryptofuzz::repository::CalcOpToNumParams
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:145,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:148,1
    - Dst: cryptofuzz::module::SolidityMath_detail::append
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:148,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:151,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:152,1
    - Dst: cryptofuzz::module::SolidityMath_detail::append
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:152,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:154,1
    - Dst: cryptofuzz::module::SolidityMath_detail::append
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:154,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:158,1
    - Dst: cryptofuzz::module::SolidityMath_detail::append
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:158,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:161,1
    - Dst: cryptofuzz::module::SolidityMath_detail::append
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:161,1
    - Dst: cryptofuzz::module::SolidityMath_detail::getGas
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:165,1
    - Dst: SolidityMath_Call
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:167,1
    - Dst: cryptofuzz::module::SolidityMath_detail::toGoSlice
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:168,1
    - Dst: cryptofuzz::module::SolidityMath_detail::toGoSlice
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:169,1
    - Dst: SolidityMath_detail::parseInt<64>
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:176,1
    - Dst: SolidityMath_detail::parseInt<32>
      Src: /src/cryptofuzz/modules/soliditymath/module.cpp:178,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 185
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 185
    functionName: cryptofuzz::module::SolidityMath::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/soliditymath/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - SolidityMath_detail::parseInt<64>
    - bn1::ToTrimmedString
    - CF_CHECK_TRUE
    - cryptofuzz::repository::CalcOpToNumParams
    - modifier::GetPtr
    - hashes::at
    - CF_CHECK_EQ
    - Datasource::Get
    - SolidityMath_Call
    - cryptofuzz::module::SolidityMath_detail::getGas
    - cryptofuzz::module::SolidityMath_detail::toGoSlice
    - modifier::GetSize
    - calcOp::Get
    - SolidityMath_detail::parseInt<32>
    - cryptofuzz::module::SolidityMath_detail::append
    - bn0::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> SolidityMath::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: cryptofuzz::module::substrate_bn::substrate_bn
    functionSourceFile: /src/cryptofuzz/modules/substrate-bn/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void substrate_bn::substrate_bn(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:40,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:40,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:47,1
    - Dst: g1::first::IsLessThan
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:47,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:48,1
    - Dst: g1::second::IsLessThan
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:48,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:50,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:50,1
    - Dst: g1::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:50,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:51,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:51,1
    - Dst: g1::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:51,1
    - Dst: cryptofuzz_substrate_bn_g1_on_curve
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:53,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:54,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 59
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 59
    functionName: cryptofuzz::module::substrate_bn::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/substrate-bn/module.cpp
    functionUses: 0
    functionsReached:
    - g1::first::ToTrimmedString
    - CF_CHECK_NE
    - curveType::Is
    - std::optional::data
    - CF_ECC_CURVE
    - data
    - g1::second::ToTrimmedString
    - g1::first::IsLessThan
    - g1::second::IsLessThan
    - cryptofuzz::util::DecToBin
    - CF_CHECK_TRUE
    - cryptofuzz_substrate_bn_g1_on_curve
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> substrate_bn::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:64,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:64,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:71,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:71,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:71,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:72,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:72,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:72,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:73,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:73,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:73,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:74,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:74,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:74,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:76,1
    - Dst: cryptofuzz_substrate_bn_g1_add
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:76,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:77,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:78,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:79,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:80,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:81,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:82,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:85,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:85,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:85,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:86,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:86,1
    - Dst: size
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 91
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 91
    functionName: cryptofuzz::module::substrate_bn::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/substrate-bn/module.cpp
    functionUses: 0
    functionsReached:
    - b::second::ToTrimmedString
    - CF_CHECK_NE
    - std::array::data
    - curveType::Is
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - b::first::ToTrimmedString
    - CF_CHECK_EQ
    - cryptofuzz_substrate_bn_g1_add
    - std::optional::data
    - data
    - size
    - cryptofuzz::util::BinToDec
    - cryptofuzz::util::DecToBin
    - a::second::ToTrimmedString
    - std::array::size
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> substrate_bn::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:96,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:96,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:103,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:103,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:103,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:104,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:104,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:104,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:105,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:105,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:105,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:107,1
    - Dst: cryptofuzz_substrate_bn_g1_mul
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:107,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:108,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:109,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:110,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:111,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:112,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:115,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:115,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:115,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:116,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:116,1
    - Dst: size
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 121
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 121
    functionName: cryptofuzz::module::substrate_bn::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/substrate-bn/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - cryptofuzz_substrate_bn_g1_mul
    - std::array::data
    - curveType::Is
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - std::optional::data
    - CF_CHECK_EQ
    - data
    - size
    - cryptofuzz::util::BinToDec
    - cryptofuzz::util::DecToBin
    - a::second::ToTrimmedString
    - std::array::size
    - b::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> substrate_bn::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:126,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:126,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:133,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:133,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:133,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:134,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:134,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:134,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:136,1
    - Dst: cryptofuzz_substrate_bn_g1_neg
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:136,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:137,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:138,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:139,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:140,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:143,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:143,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:143,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:144,1
    - Dst: data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:144,1
    - Dst: size
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 149
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 149
    functionName: cryptofuzz::module::substrate_bn::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/substrate-bn/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - std::array::data
    - curveType::Is
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - std::optional::data
    - CF_CHECK_EQ
    - data
    - size
    - cryptofuzz::util::BinToDec
    - cryptofuzz_substrate_bn_g1_neg
    - cryptofuzz::util::DecToBin
    - a::second::ToTrimmedString
    - std::array::size
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> substrate_bn::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:155,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:155,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:165,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:165,1
    - Dst: g1::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:165,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:166,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:166,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:166,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:166,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:168,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:168,1
    - Dst: g1::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:168,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:169,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:169,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:169,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:169,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:171,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:171,1
    - Dst: g2::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:171,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:172,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:172,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:172,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:172,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:174,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:174,1
    - Dst: g2::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:174,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:175,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:175,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:175,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:175,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:177,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:177,1
    - Dst: g2::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:177,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:178,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:178,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:178,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:178,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:180,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:180,1
    - Dst: g2::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:180,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:181,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:181,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:181,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:181,1
    - Dst: cryptofuzz_substrate_bn_batchverify
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:185,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:185,1
    - Dst: bf::c::size
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:185,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/substrate-bn/module.cpp:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_BatchVerify
    constantsTouched: []
    func_position:
      end: 191
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 191
    functionName: cryptofuzz::module::substrate_bn::OpBLS_BatchVerify
    functionSourceFile: /src/cryptofuzz/modules/substrate-bn/module.cpp
    functionUses: 0
    functionsReached:
    - g2::second::second::ToTrimmedString
    - g1::first::ToTrimmedString
    - CF_CHECK_NE
    - std::optional::begin
    - g2::second::first::ToTrimmedString
    - curveType::Is
    - CF_ECC_CURVE
    - g2::first::second::ToTrimmedString
    - bf::c::size
    - std::optional::end
    - g1::second::ToTrimmedString
    - g2::first::first::ToTrimmedString
    - cryptofuzz_substrate_bn_batchverify
    - std::vector::insert
    - cryptofuzz::util::DecToBin
    - std::vector::end
    - std::vector::data
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> substrate_bn::OpBLS_BatchVerify(operation::BLS_BatchVerify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::prysmaticlabs_hashtree::prysmaticlabs_hashtree
    functionSourceFile: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prysmaticlabs_hashtree::prysmaticlabs_hashtree(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:23,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:23,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:27,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:31,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:31,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:35,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:42,1
    - Dst: sha256_1_sse
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:42,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:42,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:44,1
    - Dst: sha256_1_avx
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:44,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:44,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:46,1
    - Dst: sha256_4_avx
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:46,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:46,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:48,1
    - Dst: sha256_8_avx2
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:48,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:48,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:50,1
    - Dst: sha256_16_avx512
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:50,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:50,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:52,1
    - Dst: sha256_shani
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:52,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:52,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:54,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:57,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp:60,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 62
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 62
    functionName: cryptofuzz::module::prysmaticlabs_hashtree::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/prysmaticlabs-hashtree/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - sha256_8_avx2
    - modifier::GetPtr
    - CF_NORET
    - digestType::Get
    - cleartext::GetPtr
    - Datasource::Get
    - sha256_1_avx
    - sha256_shani
    - CF_UNREACHABLE
    - Botan::PKCS11::LowLevel::C_Digest
    - sha256_1_sse
    - CF_DIGEST
    - sha256_4_avx
    - modifier::GetSize
    - sha256_16_avx512
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> prysmaticlabs_hashtree::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 13
    functionName: cryptofuzz::module::nimcrypto::nimcrypto
    functionSourceFile: /src/cryptofuzz/modules/nimcrypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nimcrypto::nimcrypto(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:18,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:18,1
    - Dst: cryptofuzz_nimcrypto_keccak_224
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:20,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:20,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:20,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:21,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:22,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:23,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:23,1
    - Dst: cryptofuzz_nimcrypto_keccak_256
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:25,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:25,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:25,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:26,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:27,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:28,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:28,1
    - Dst: cryptofuzz_nimcrypto_keccak_384
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:30,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:30,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:30,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:31,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:32,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:33,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:33,1
    - Dst: cryptofuzz_nimcrypto_keccak_512
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:35,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:35,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:35,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:36,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:37,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:38,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:38,1
    - Dst: cryptofuzz_nimcrypto_blake2s_224
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:40,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:40,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:40,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:41,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:42,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:43,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:43,1
    - Dst: cryptofuzz_nimcrypto_blake2s_256
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:45,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:45,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:45,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:46,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:47,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:48,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:48,1
    - Dst: cryptofuzz_nimcrypto_blake2b_384
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:50,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:50,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:50,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:51,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:52,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:53,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:53,1
    - Dst: cryptofuzz_nimcrypto_blake2b_512
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:55,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:55,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:55,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:56,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:57,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:58,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:58,1
    - Dst: cryptofuzz_nimcrypto_ripemd_128
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:60,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:60,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:60,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:61,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:62,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:63,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:63,1
    - Dst: cryptofuzz_nimcrypto_ripemd_160
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:65,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:65,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:65,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:66,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:67,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:68,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:68,1
    - Dst: cryptofuzz_nimcrypto_ripemd_256
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:70,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:70,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:70,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:71,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:72,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:73,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:73,1
    - Dst: cryptofuzz_nimcrypto_ripemd_320
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:75,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:75,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:75,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:76,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/nimcrypto/module.cpp:77,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 81
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 81
    functionName: cryptofuzz::module::nimcrypto::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/nimcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_nimcrypto_keccak_512
    - cryptofuzz_nimcrypto_blake2s_256
    - CF_ASSERT
    - cryptofuzz_nimcrypto_ripemd_128
    - cryptofuzz_nimcrypto_ripemd_256
    - cryptofuzz_nimcrypto_keccak_256
    - cleartext::GetPtr
    - Botan::PKCS11::LowLevel::C_Digest
    - digestType::Is
    - cryptofuzz_nimcrypto_keccak_384
    - cryptofuzz_nimcrypto_blake2s_224
    - cryptofuzz_nimcrypto_blake2b_384
    - CF_DIGEST
    - cryptofuzz_nimcrypto_ripemd_160
    - cryptofuzz_nimcrypto_keccak_224
    - cryptofuzz_nimcrypto_blake2b_512
    - cryptofuzz_nimcrypto_ripemd_320
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> nimcrypto::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::blst::blst
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blst::blst(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:21,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/blst/module.cpp:21,1
    - Dst: end
      Src: /src/cryptofuzz/modules/blst/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::array<uint8_t, Size>
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: cryptofuzz::module::blst_detail::Reverse
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - std::reverse
    linkageType: ''
    returnType: void
    signature: void Reverse(std::array<uint8_t, Size>& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/blst/module.cpp:26,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:26,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/blst/module.cpp:32,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:32,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:32,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: cryptofuzz::module::blst_detail::ToArray
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - std::array::data
    - cryptofuzz::module::blst_detail::Reverse
    - memcpy
    - auto::data
    - cryptofuzz::util::DecToBin
    linkageType: ''
    returnType: std::optional<std::array<uint8_t, Size>>
    signature: std::optional<std::array<uint8_t, Size>> ToArray(const component::Bignum&
      bn, const bool reverse = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::ToArray
      Src: /src/cryptofuzz/modules/blst/module.cpp:40,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:46,1
    - Dst: blst_fr_from_uint64
      Src: /src/cryptofuzz/modules/blst/module.cpp:46,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' bn'
    - ' out'
    argTypes:
    - component::Bignum
    - blst_fr
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::blst_detail::To_blst_fr
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - blst_fr_from_uint64
    - auto::data
    - cryptofuzz::module::blst_detail::ToArray
    linkageType: ''
    returnType: bool
    signature: bool To_blst_fr(const component::Bignum& bn, blst_fr& out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::ToArray
      Src: /src/cryptofuzz/modules/blst/module.cpp:50,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:56,1
    - Dst: blst_fp_from_uint64
      Src: /src/cryptofuzz/modules/blst/module.cpp:56,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' bn'
    - ' out'
    argTypes:
    - component::Bignum
    - blst_fp
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: cryptofuzz::module::blst_detail::To_blst_fp
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - blst_fp_from_uint64
    - cryptofuzz::module::blst_detail::ToArray
    - auto::data
    linkageType: ''
    returnType: bool
    signature: bool To_blst_fp(const component::Bignum& bn, blst_fp& out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:60,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' bn'
    - ' out'
    argTypes:
    - component::Fp2
    - blst_fp2
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: cryptofuzz::module::blst_detail::To_blst_fp2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::To_blst_fp
    linkageType: ''
    returnType: bool
    signature: bool To_blst_fp2(const component::Fp2& bn, blst_fp2& out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:64,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:65,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:66,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:67,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:68,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:69,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:71,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:72,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:73,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:74,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:75,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:76,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 2
    argNames:
    - ' bn'
    - ' out'
    argTypes:
    - component::Fp12
    - blst_fp12
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 4
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: cryptofuzz::module::blst_detail::To_blst_fp12
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::To_blst_fp
    linkageType: ''
    returnType: bool
    signature: bool To_blst_fp12(const component::Fp12& bn, blst_fp12& out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_uint64_from_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:81,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:81,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:83,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:84,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - blst_fr
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: cryptofuzz::module::blst_detail::To_component_bignum
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::Reverse
    - cryptofuzz::util::BinToDec
    - std::array::data
    - blst_uint64_from_fr
    linkageType: ''
    returnType: component::Bignum
    signature: component::Bignum To_component_bignum(const blst_fr& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:89,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:89,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:91,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:92,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - blst_fp
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: cryptofuzz::module::blst_detail::To_component_bignum
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::Reverse
    - cryptofuzz::util::BinToDec
    - blst_uint64_from_fp
    - std::array::data
    linkageType: ''
    returnType: component::Bignum
    signature: component::Bignum To_component_bignum(const blst_fp& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:97,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:97,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:98,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:100,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:100,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:101,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:104,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:104,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:105,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - blst_fp2
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: cryptofuzz::module::blst_detail::To_component_Fp2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_uint64_from_fp
    - std::array::data
    - cryptofuzz::module::blst_detail::Reverse
    - data
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: component::Fp2
    signature: component::Fp2 To_component_Fp2(const blst_fp2& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/modules/blst/module.cpp:109,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: cryptofuzz::module::blst_detail::To_cpp_int
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 5
    functionsReached:
    - ToTrimmedString
    - cryptofuzz::module::blst_detail::To_cpp_int
    linkageType: ''
    returnType: boost::multiprecision::cpp_int
    signature: boost::multiprecision::cpp_int To_cpp_int(const component::Bignum&
      in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/blst/module.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g1'
    - ' ds'
    argTypes:
    - blst_p1_affine
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: cryptofuzz::module::blst_detail::G1::G1
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void G1(const blst_p1_affine& g1, fuzzing::datasource::Datasource&
      ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: cryptofuzz::module::blst_detail::G1::Get
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: blst_p1_affine
    signature: blst_p1_affine * Get(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::G1::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:127,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:129,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:129,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:130,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:130,1
    - Dst: Reverse<>
      Src: /src/cryptofuzz/modules/blst/module.cpp:132,1
    - Dst: Reverse<>
      Src: /src/cryptofuzz/modules/blst/module.cpp:133,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:135,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:135,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:135,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: cryptofuzz::module::blst_detail::G1::To_Component_G1
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_uint64_from_fp
    - std::array::data
    - data
    - cryptofuzz::util::BinToDec
    - cryptofuzz::module::blst_detail::G1::Get
    - Reverse<>
    linkageType: ''
    returnType: component::G1
    signature: component::G1 To_Component_G1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:141,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:141,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:142,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:142,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:143,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:143,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:144,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:144,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:146,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:147,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:148,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:149,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:152,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:152,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:153,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:153,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:154,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:154,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:155,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' g2'
    argTypes:
    - blst_p2_affine
    constantsTouched: []
    func_position:
      end: 157
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 157
    functionName: cryptofuzz::module::blst_detail::To_G2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_uint64_from_fp
    - std::array::data
    - cryptofuzz::module::blst_detail::Reverse
    - data
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: component::G2
    signature: component::G2 To_G2(const blst_p2_affine& g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:162,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:162,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:163,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:165,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:165,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:166,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:168,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:168,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:169,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:171,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:171,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:172,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:174,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:174,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:175,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:177,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:177,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:178,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:180,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:180,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:181,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:183,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:183,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:184,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:186,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:186,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:187,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:189,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:189,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:190,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:192,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:192,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:193,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:195,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:195,1
    - Dst: cryptofuzz::module::blst_detail::Reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:196,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:199,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:199,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:200,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:200,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:201,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:201,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:202,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:202,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:203,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:203,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:204,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:204,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:205,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:205,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:206,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:206,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:207,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:207,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:208,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:208,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:209,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:209,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:210,1
    - Dst: data
      Src: /src/cryptofuzz/modules/blst/module.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 1
    argNames:
    - ' fp12'
    argTypes:
    - blst_fp12
    constantsTouched: []
    func_position:
      end: 212
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 212
    functionName: cryptofuzz::module::blst_detail::To_component_Fp12
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_uint64_from_fp
    - std::array::data
    - cryptofuzz::module::blst_detail::Reverse
    - data
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: component::Fp12
    signature: component::Fp12 To_component_Fp12(const blst_fp12& fp12)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::ToArray
      Src: /src/cryptofuzz/modules/blst/module.cpp:215,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:221,1
    - Dst: blst_scalar_from_uint64
      Src: /src/cryptofuzz/modules/blst/module.cpp:221,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' bn'
    - ' out'
    argTypes:
    - component::Bignum
    - blst_scalar
    constantsTouched: []
    func_position:
      end: 224
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 224
    functionName: cryptofuzz::module::blst_detail::To_blst_scalar
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - auto::data
    - cryptofuzz::module::blst_detail::ToArray
    - blst_scalar_from_uint64
    linkageType: ''
    returnType: bool
    signature: bool To_blst_scalar(const component::Bignum& bn, blst_scalar& out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:231,1
    - Dst: blst_uint64_from_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' A'
    - ' B'
    argTypes:
    - blst_fp
    - blst_fp
    constantsTouched: []
    func_position:
      end: 242
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 242
    functionName: cryptofuzz::module::blst_detail::IsLessThan
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_uint64_from_fp
    linkageType: ''
    returnType: bool
    signature: bool IsLessThan(const blst_fp& A, const blst_fp& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/modules/blst/module.cpp:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: cryptofuzz::module::blst_detail::isMultipleOf2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::To_cpp_int
    linkageType: ''
    returnType: size_t
    signature: size_t isMultipleOf2(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/blst/module.cpp:261,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/blst/module.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g2
    argTypes:
    - blst_p2_affine*
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: cryptofuzz::module::blst_detail::IsZero
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - memset
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool IsZero(const blst_p2_affine* g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:270,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:270,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:271,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' g1'
    argTypes:
    - component::G1
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: cryptofuzz::module::blst_detail::Load_G1_Affine
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::To_blst_fp
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<blst_p1_affine>
    signature: std::optional<blst_p1_affine> Load_G1_Affine(const component::G1& g1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToRandomProjective
      Src: /src/cryptofuzz/modules/blst/module.cpp:285,1
    - Dst: first::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:287,1
    - Dst: second::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:288,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/blst/module.cpp:289,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:291,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:291,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:292,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:292,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:293,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' ds'
    - ' g1'
    argTypes:
    - fuzzing::datasource::Datasource
    - component::G1
    constantsTouched: []
    func_position:
      end: 298
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 298
    functionName: cryptofuzz::module::blst_detail::Load_G1_Projective
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - second::ToTrimmedString
    - cryptofuzz::util::ToRandomProjective
    - CF_ECC_CURVE
    - cryptofuzz::module::blst_detail::To_blst_fp
    - first::ToTrimmedString
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<blst_p1>
    signature: "std::optional<blst_p1> Load_G1_Projective(\n            fuzzing::datasource::Datasource&
      ds,\n            const component::G1& g1)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:302,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/blst/module.cpp:302,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:307,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:307,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:313,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_scalar
      Src: /src/cryptofuzz/modules/blst/module.cpp:313,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:318,1
    - Dst: blst_sk_check
      Src: /src/cryptofuzz/modules/blst/module.cpp:318,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:320,1
    - Dst: blst_sk_to_pk_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:320,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:321,1
    - Dst: blst_p1_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:321,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:322,1
    - Dst: blst_p1_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:322,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:324,1
    - Dst: blst_p1_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:324,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 333
      start: 301
    functionDepth: 5
    functionLinenumber: 301
    functionLinenumberEnd: 333
    functionName: cryptofuzz::module::blst::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - blst_p1_in_g1
    - CF_ECC_CURVE
    - modifier::GetPtr
    - CF_NORET
    - blst_sk_to_pk_in_g1
    - blst_detail::G1::To_Component_G1
    - curveType::Get
    - modifier::GetSize
    - blst_sk_check
    - blst_p1_to_affine
    - blst_p1_on_curve
    - CF_CHECK_TRUE
    - cryptofuzz::module::blst_detail::To_blst_scalar
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> blst::OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:336,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/blst/module.cpp:336,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:341,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:341,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:347,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_scalar
      Src: /src/cryptofuzz/modules/blst/module.cpp:347,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:352,1
    - Dst: blst_sk_check
      Src: /src/cryptofuzz/modules/blst/module.cpp:352,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:354,1
    - Dst: blst_sk_to_pk_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:354,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:355,1
    - Dst: blst_p2_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:355,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:356,1
    - Dst: blst_p2_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:356,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:358,1
    - Dst: blst_p2_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:358,1
    - Dst: cryptofuzz::module::blst_detail::To_G2
      Src: /src/cryptofuzz/modules/blst/module.cpp:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic_G2
    constantsTouched: []
    func_position:
      end: 364
      start: 335
    functionDepth: 7
    functionLinenumber: 335
    functionLinenumberEnd: 364
    functionName: cryptofuzz::module::blst::OpBLS_PrivateToPublic_G2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - blst_p2_to_affine
    - blst_p2_in_g2
    - CF_ECC_CURVE
    - modifier::GetPtr
    - CF_NORET
    - blst_sk_to_pk_in_g2
    - cryptofuzz::module::blst_detail::To_G2
    - curveType::Get
    - modifier::GetSize
    - blst_sk_check
    - blst_p2_on_curve
    - CF_CHECK_TRUE
    - cryptofuzz::module::blst_detail::To_blst_scalar
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> blst::OpBLS_PrivateToPublic_G2(operation::BLS_PrivateToPublic_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:367,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/blst/module.cpp:367,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:372,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:372,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:377,1
    - Dst: blst_hash_to_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:377,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:379,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:379,1
    - Dst: dest::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:380,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:380,1
    - Dst: aug::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:381,1
    - Dst: aug::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:381,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:383,1
    - Dst: blst_p1_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:383,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:384,1
    - Dst: blst_p1_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:384,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:386,1
    - Dst: blst_p1_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:386,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG1
    constantsTouched: []
    func_position:
      end: 394
      start: 366
    functionDepth: 6
    functionLinenumber: 366
    functionLinenumberEnd: 394
    functionName: cryptofuzz::module::blst::OpBLS_HashToG1
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_hash_to_g1
    - CF_ASSERT
    - blst_p1_in_g1
    - CF_ECC_CURVE
    - modifier::GetPtr
    - CF_NORET
    - cleartext::GetPtr
    - dest::GetPtr
    - aug::GetSize
    - blst_p1_on_curve
    - blst_detail::G1::To_Component_G1
    - curveType::Get
    - modifier::GetSize
    - blst_p1_to_affine
    - dest::GetSize
    - aug::GetPtr
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> blst::OpBLS_HashToG1(operation::BLS_HashToG1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:397,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/blst/module.cpp:397,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:402,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:402,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:407,1
    - Dst: blst_hash_to_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:407,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:409,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:409,1
    - Dst: dest::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:410,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:410,1
    - Dst: aug::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:411,1
    - Dst: aug::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:411,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:413,1
    - Dst: blst_p2_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:413,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:414,1
    - Dst: blst_p2_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:414,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:416,1
    - Dst: blst_p2_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:416,1
    - Dst: cryptofuzz::module::blst_detail::To_G2
      Src: /src/cryptofuzz/modules/blst/module.cpp:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG2
    constantsTouched: []
    func_position:
      end: 421
      start: 396
    functionDepth: 7
    functionLinenumber: 396
    functionLinenumberEnd: 421
    functionName: cryptofuzz::module::blst::OpBLS_HashToG2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - blst_p2_to_affine
    - blst_p2_on_curve
    - CF_ECC_CURVE
    - modifier::GetPtr
    - CF_NORET
    - cleartext::GetPtr
    - dest::GetPtr
    - blst_hash_to_g2
    - aug::GetSize
    - blst_p2_in_g2
    - cryptofuzz::module::blst_detail::To_G2
    - curveType::Get
    - modifier::GetSize
    - dest::GetSize
    - aug::GetPtr
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> blst::OpBLS_HashToG2(operation::BLS_HashToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:424,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/blst/module.cpp:424,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:429,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:429,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:435,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:435,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:436,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:436,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:438,1
    - Dst: blst_map_to_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:438,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:440,1
    - Dst: blst_p1_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:440,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:441,1
    - Dst: blst_p1_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:441,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:443,1
    - Dst: blst_p1_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:443,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_MapToG1
    constantsTouched: []
    func_position:
      end: 452
      start: 423
    functionDepth: 5
    functionLinenumber: 423
    functionLinenumberEnd: 452
    functionName: cryptofuzz::module::blst::OpBLS_MapToG1
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_map_to_g1
    - CF_ASSERT
    - blst_p1_in_g1
    - CF_ECC_CURVE
    - modifier::GetPtr
    - CF_NORET
    - blst_detail::G1::To_Component_G1
    - curveType::Get
    - modifier::GetSize
    - cryptofuzz::module::blst_detail::To_blst_fp
    - blst_p1_to_affine
    - blst_p1_on_curve
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> blst::OpBLS_MapToG1(operation::BLS_MapToG1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:455,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/blst/module.cpp:455,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:460,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:460,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:466,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:466,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:467,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:467,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:469,1
    - Dst: blst_map_to_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:469,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:471,1
    - Dst: blst_p2_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:471,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:472,1
    - Dst: blst_p2_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:472,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:474,1
    - Dst: blst_p2_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:474,1
    - Dst: cryptofuzz::module::blst_detail::To_G2
      Src: /src/cryptofuzz/modules/blst/module.cpp:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_MapToG2
    constantsTouched: []
    func_position:
      end: 480
      start: 454
    functionDepth: 7
    functionLinenumber: 454
    functionLinenumberEnd: 480
    functionName: cryptofuzz::module::blst::OpBLS_MapToG2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - blst_p2_to_affine
    - blst_p2_in_g2
    - CF_ECC_CURVE
    - modifier::GetPtr
    - CF_NORET
    - cryptofuzz::module::blst_detail::To_G2
    - curveType::Get
    - modifier::GetSize
    - blst_map_to_g2
    - blst_p2_on_curve
    - CF_CHECK_TRUE
    - cryptofuzz::module::blst_detail::To_blst_fp2
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> blst::OpBLS_MapToG2(operation::BLS_MapToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:483,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/blst/module.cpp:483,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:488,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:488,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:498,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_scalar
      Src: /src/cryptofuzz/modules/blst/module.cpp:498,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:499,1
    - Dst: blst_sk_check
      Src: /src/cryptofuzz/modules/blst/module.cpp:499,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:501,1
    - Dst: blst_sk_to_pk_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:501,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:502,1
    - Dst: blst_p1_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:502,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:503,1
    - Dst: blst_p1_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:503,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:504,1
    - Dst: blst_p1_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:504,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:507,1
    - Dst: blst_hash_to_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:507,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:509,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:509,1
    - Dst: dest::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:510,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:510,1
    - Dst: aug::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:511,1
    - Dst: aug::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:511,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:513,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:513,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:514,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:514,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:515,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:515,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:516,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:516,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:517,1
    - Dst: blst_p2_from_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:517,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:519,1
    - Dst: blst_sign_pk_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:519,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:522,1
    - Dst: blst_p2_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:522,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:523,1
    - Dst: blst_p2_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:523,1
    - Dst: blst_p2_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:525,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:526,1
    - Dst: blst_p2_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:526,1
    - Dst: blst_p2_affine_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:529,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:530,1
    - Dst: blst_p2_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:530,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:534,1
    - Dst: blst_p2_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:534,1
    - Dst: cryptofuzz::module::blst_detail::To_G2
      Src: /src/cryptofuzz/modules/blst/module.cpp:538,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:538,1
    - Dst: blst_core_verify_pk_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:542,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:545,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:545,1
    - Dst: dest::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:546,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:546,1
    - Dst: aug::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:547,1
    - Dst: aug::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:547,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/blst/module.cpp:548,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Sign
    constantsTouched: []
    func_position:
      end: 554
      start: 482
    functionDepth: 7
    functionLinenumber: 482
    functionLinenumberEnd: 554
    functionName: cryptofuzz::module::blst::OpBLS_Sign
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - blst_hash_to_g2
    - aug::GetSize
    - modifier::GetSize
    - dest::GetSize
    - aug::GetPtr
    - cleartext::GetSize
    - blst_p2_to_affine
    - blst_p1_in_g1
    - blst_p2_on_curve
    - cryptofuzz::module::blst_detail::To_blst_fp
    - cryptofuzz::module::blst_detail::To_blst_scalar
    - blst_detail::G1::To_Component_G1
    - cryptofuzz::module::blst_detail::To_G2
    - blst_sk_check
    - CF_CHECK_TRUE
    - blst_sign_pk_in_g1
    - CF_ASSERT
    - blst_p2_affine_on_curve
    - blst_p2_in_g2
    - CF_ECC_CURVE
    - CF_NORET
    - cleartext::GetPtr
    - dest::GetPtr
    - blst_core_verify_pk_in_g1
    - blst_sk_to_pk_in_g1
    - abort
    - blst_p2_from_affine
    - curveType::Get
    - blst_p1_to_affine
    - blst_p1_on_curve
    - blst_p2_affine_in_g2
    linkageType: ''
    returnType: std::optional<component::BLS_Signature>
    signature: std::optional<component::BLS_Signature> blst::OpBLS_Sign(operation::BLS_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:570,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:570,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:571,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:571,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:573,1
    - Dst: blst_p1_affine_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:573,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:577,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:577,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:578,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:578,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:579,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:579,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:580,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:580,1
    - Dst: blst_p2_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:582,1
    - Dst: blst_p2_affine_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:582,1
    - Dst: blst_core_verify_pk_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:586,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:589,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:589,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:590,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:590,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:591,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 7
    argNames:
    - ' ds'
    - ' msg'
    - ' dst'
    - ' aug'
    - ' pub'
    - ' sig'
    - hashOrEncode
    argTypes:
    - Datasource
    - component::Cleartext
    - component::Cleartext
    - component::Cleartext
    - component::G1
    - component::G2
    - bool
    constantsTouched: []
    func_position:
      end: 595
      start: 557
    functionDepth: 5
    functionLinenumber: 557
    functionLinenumberEnd: 595
    functionName: cryptofuzz::module::blst_detail::Verify
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p1_affine_in_g1
    - GetPtr
    - blst_p2_affine_on_curve
    - blst_core_verify_pk_in_g1
    - cryptofuzz::module::blst_detail::To_blst_fp
    - GetSize
    - blst_p1_affine_on_curve
    - CF_CHECK_TRUE
    - blst_p2_affine_in_g2
    linkageType: ''
    returnType: std::optional<bool>
    signature: "std::optional<bool> Verify(\n            Datasource& ds,\n            const
      component::Cleartext& msg,\n            const component::Cleartext& dst,\n            const
      component::Cleartext& aug,\n            const component::G1& pub,\n            const
      component::G2& sig,\n            const bool hashOrEncode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:599,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/blst/module.cpp:599,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:606,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:606,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:613,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:613,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:614,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:614,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:616,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:616,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:617,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:617,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:618,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:618,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:619,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:619,1
    - Dst: blst_core_verify_pk_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:621,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:624,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:624,1
    - Dst: dest::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:625,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Verify
    constantsTouched: []
    func_position:
      end: 630
      start: 598
    functionDepth: 5
    functionLinenumber: 598
    functionLinenumberEnd: 630
    functionName: cryptofuzz::module::blst::OpBLS_Verify
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    - modifier::GetPtr
    - cleartext::GetPtr
    - dest::GetPtr
    - blst_core_verify_pk_in_g1
    - curveType::Get
    - modifier::GetSize
    - cryptofuzz::module::blst_detail::To_blst_fp
    - dest::GetSize
    - CF_CHECK_TRUE
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> blst::OpBLS_Verify(operation::BLS_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:635,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:635,1
    - Dst: blst_fp12_one
      Src: /src/cryptofuzz/modules/blst/module.cpp:637,1
    - Dst: blst_fp12_one
      Src: /src/cryptofuzz/modules/blst/module.cpp:638,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:645,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:645,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:646,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:646,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:648,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:648,1
    - Dst: blst_p1_affine_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:648,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:651,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:651,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:652,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:652,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:653,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:653,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:654,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:654,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:656,1
    - Dst: blst_p2_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:656,1
    - Dst: blst_p2_affine_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:656,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:659,1
    - Dst: blst_miller_loop
      Src: /src/cryptofuzz/modules/blst/module.cpp:659,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:660,1
    - Dst: blst_fp12_mul
      Src: /src/cryptofuzz/modules/blst/module.cpp:660,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:663,1
    - Dst: blst_final_exp
      Src: /src/cryptofuzz/modules/blst/module.cpp:663,1
    - Dst: blst_fp12_is_equal
      Src: /src/cryptofuzz/modules/blst/module.cpp:665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_BatchVerify
    constantsTouched: []
    func_position:
      end: 669
      start: 632
    functionDepth: 7
    functionLinenumber: 632
    functionLinenumberEnd: 669
    functionName: cryptofuzz::module::blst::OpBLS_BatchVerify
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_fp12_one
    - blst_p1_affine_in_g1
    - blst_p2_affine_on_curve
    - blst_final_exp
    - blst_miller_loop
    - modifier::GetPtr
    - CF_NORET
    - blst_fp12_is_equal
    - cryptofuzz::module::blst_detail::To_blst_fp
    - modifier::GetSize
    - blst_fp12_mul
    - blst_p1_affine_on_curve
    - CF_CHECK_TRUE
    - blst_p2_affine_in_g2
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> blst::OpBLS_BatchVerify(operation::BLS_BatchVerify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:672,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:672,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:677,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:682,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:682,1
    - Dst: blst_p1_affine_is_inf
      Src: /src/cryptofuzz/modules/blst/module.cpp:684,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:685,1
    - Dst: blst_p1_affine_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:686,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:689,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Projective
      Src: /src/cryptofuzz/modules/blst/module.cpp:689,1
    - Dst: blst_p1_is_inf
      Src: /src/cryptofuzz/modules/blst/module.cpp:691,1
    - Dst: blst_p1_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:692,1
    - Dst: blst_p1_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:693,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 697
      start: 671
    functionDepth: 5
    functionLinenumber: 671
    functionLinenumberEnd: 697
    functionName: cryptofuzz::module::blst::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p1_affine_in_g1
    - CF_CHECK_NE
    - blst_p1_in_g1
    - modifier::GetPtr
    - cryptofuzz::module::blst_detail::Load_G1_Projective
    - Datasource::Get
    - blst_p1_is_inf
    - modifier::GetSize
    - blst_p1_affine_on_curve
    - blst_p1_on_curve
    - blst_p1_affine_is_inf
    - cryptofuzz::module::blst_detail::Load_G1_Affine
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> blst::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:700,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:700,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:705,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:711,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:711,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:712,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:712,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:713,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:713,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:714,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:714,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/blst/module.cpp:716,1
    - Dst: cryptofuzz::module::blst_detail::IsZero
      Src: /src/cryptofuzz/modules/blst/module.cpp:716,1
    - Dst: blst_p2_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:719,1
    - Dst: blst_p2_affine_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:719,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:721,1
    - Dst: blst_p2_from_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:721,1
    - Dst: blst_p2_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:722,1
    - Dst: blst_p2_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 727
      start: 699
    functionDepth: 5
    functionLinenumber: 699
    functionLinenumberEnd: 727
    functionName: cryptofuzz::module::blst::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p2_affine_on_curve
    - blst_p2_in_g2
    - modifier::GetPtr
    - CF_NORET
    - Datasource::Get
    - CF_CHECK_FALSE
    - blst_p2_from_affine
    - cryptofuzz::module::blst_detail::IsZero
    - cryptofuzz::module::blst_detail::To_blst_fp
    - modifier::GetSize
    - blst_p2_on_curve
    - CF_CHECK_TRUE
    - blst_p2_affine_in_g2
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> blst::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ikm::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:731,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:735,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:735,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:741,1
    - Dst: blst_keygen
      Src: /src/cryptofuzz/modules/blst/module.cpp:741,1
    - Dst: ikm::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:741,1
    - Dst: ikm::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:741,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:741,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:741,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:742,1
    - Dst: blst_sk_check
      Src: /src/cryptofuzz/modules/blst/module.cpp:742,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:744,1
    - Dst: blst_sk_to_pk_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:744,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:745,1
    - Dst: blst_p1_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:745,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:749,1
    - Dst: blst_uint64_from_scalar
      Src: /src/cryptofuzz/modules/blst/module.cpp:749,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:749,1
    - Dst: blst_detail::Reverse<>
      Src: /src/cryptofuzz/modules/blst/module.cpp:751,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:755,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:755,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:756,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:758,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:758,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:759,1
    - Dst: blst_p1_affine_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 766
      start: 729
    functionDepth: 5
    functionLinenumber: 729
    functionLinenumberEnd: 766
    functionName: cryptofuzz::module::blst::OpBLS_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_detail::Reverse<>
    - blst_uint64_from_scalar
    - modifier::GetPtr
    - modifier::GetSize
    - std::array::data
    - ikm::GetSize
    - blst_keygen
    - blst_detail::G1::To_Component_G1
    - info::GetPtr
    - cryptofuzz::util::BinToDec
    - blst_sk_check
    - blst_p1_affine_in_g1
    - CF_ASSERT
    - CF_NORET
    - blst_sk_to_pk_in_g1
    - ikm::GetPtr
    - blst_p1_to_affine
    - info::GetSize
    - blst_p1_affine_on_curve
    linkageType: ''
    returnType: std::optional<component::BLS_KeyPair>
    signature: std::optional<component::BLS_KeyPair> blst::OpBLS_GenerateKeyPair(operation::BLS_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:769,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:769,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:781,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:781,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:782,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:782,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:784,1
    - Dst: blst_p1_from_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:784,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:786,1
    - Dst: blst_p1_serialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:786,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:788,1
    - Dst: blst_aggregate_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:789,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:798,1
    - Dst: blst_p1_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:798,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:799,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:799,1
    - Dst: blst_p1_affine_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:799,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:801,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Aggregate_G1
    constantsTouched: []
    func_position:
      end: 806
      start: 768
    functionDepth: 6
    functionLinenumber: 768
    functionLinenumberEnd: 806
    functionName: cryptofuzz::module::blst::OpBLS_Aggregate_G1
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p1_affine_in_g1
    - CF_ASSERT
    - modifier::GetPtr
    - CF_NORET
    - blst_p1_serialize
    - CF_CHECK_EQ
    - blst_p1_from_affine
    - blst_aggregate_in_g1
    - blst_detail::G1::To_Component_G1
    - cryptofuzz::module::blst_detail::To_blst_fp
    - modifier::GetSize
    - blst_p1_to_affine
    - blst_p1_affine_on_curve
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> blst::OpBLS_Aggregate_G1(operation::BLS_Aggregate_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:809,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:809,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:821,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:821,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:822,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:822,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:823,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:823,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:824,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:824,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:826,1
    - Dst: blst_p2_from_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:826,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:828,1
    - Dst: blst_p2_serialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:828,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:830,1
    - Dst: blst_aggregate_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:831,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:840,1
    - Dst: blst_p2_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:840,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:841,1
    - Dst: blst_p2_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:841,1
    - Dst: blst_p2_affine_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:841,1
    - Dst: cryptofuzz::module::blst_detail::To_G2
      Src: /src/cryptofuzz/modules/blst/module.cpp:842,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Aggregate_G2
    constantsTouched: []
    func_position:
      end: 847
      start: 808
    functionDepth: 8
    functionLinenumber: 808
    functionLinenumberEnd: 847
    functionName: cryptofuzz::module::blst::OpBLS_Aggregate_G2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p2_affine_on_curve
    - CF_ASSERT
    - blst_p2_to_affine
    - modifier::GetPtr
    - CF_NORET
    - CF_CHECK_EQ
    - blst_p2_serialize
    - blst_p2_from_affine
    - blst_aggregate_in_g2
    - cryptofuzz::module::blst_detail::To_G2
    - cryptofuzz::module::blst_detail::To_blst_fp
    - modifier::GetSize
    - CF_CHECK_TRUE
    - blst_p2_affine_in_g2
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> blst::OpBLS_Aggregate_G2(operation::BLS_Aggregate_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:850,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:850,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:857,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:857,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:858,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:858,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:860,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:860,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:861,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:861,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:862,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:862,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:863,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:863,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:865,1
    - Dst: blst_miller_loop
      Src: /src/cryptofuzz/modules/blst/module.cpp:865,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:866,1
    - Dst: blst_final_exp
      Src: /src/cryptofuzz/modules/blst/module.cpp:866,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Pairing
    constantsTouched: []
    func_position:
      end: 872
      start: 849
    functionDepth: 7
    functionLinenumber: 849
    functionLinenumberEnd: 872
    functionName: cryptofuzz::module::blst::OpBLS_Pairing
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::To_component_Fp12
    - blst_final_exp
    - blst_miller_loop
    - modifier::GetPtr
    - CF_NORET
    - cryptofuzz::module::blst_detail::To_blst_fp
    - modifier::GetSize
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> blst::OpBLS_Pairing(operation::BLS_Pairing&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:875,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:875,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:882,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:882,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:883,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:883,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:885,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:885,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:886,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:886,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:887,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:887,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:888,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:888,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:890,1
    - Dst: blst_miller_loop
      Src: /src/cryptofuzz/modules/blst/module.cpp:890,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_MillerLoop
    constantsTouched: []
    func_position:
      end: 896
      start: 874
    functionDepth: 7
    functionLinenumber: 874
    functionLinenumberEnd: 896
    functionName: cryptofuzz::module::blst::OpBLS_MillerLoop
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::To_component_Fp12
    - blst_miller_loop
    - modifier::GetPtr
    - CF_NORET
    - cryptofuzz::module::blst_detail::To_blst_fp
    - modifier::GetSize
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> blst::OpBLS_MillerLoop(operation::BLS_MillerLoop&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:899,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:899,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:904,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:904,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:906,1
    - Dst: blst_final_exp
      Src: /src/cryptofuzz/modules/blst/module.cpp:906,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_FinalExp
    constantsTouched: []
    func_position:
      end: 912
      start: 898
    functionDepth: 7
    functionLinenumber: 898
    functionLinenumberEnd: 912
    functionName: cryptofuzz::module::blst::OpBLS_FinalExp
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::To_component_Fp12
    - blst_final_exp
    - cryptofuzz::module::blst_detail::To_blst_fp12
    - modifier::GetPtr
    - CF_NORET
    - modifier::GetSize
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> blst::OpBLS_FinalExp(operation::BLS_FinalExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/blst/module.cpp:917,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - A
    - B
    argTypes:
    - fuzzing::datasource::Datasource
    - T*
    - T*
    constantsTouched: []
    func_position:
      end: 927
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 927
    functionName: cryptofuzz::module::blst_detail::UseParamTwice
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool UseParamTwice(fuzzing::datasource::Datasource& ds, const T* A,
      const T* B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 936
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 936
    functionName: cryptofuzz::module::blst_detail::GetMod3
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetMod3(fuzzing::datasource::Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:945,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:945,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:950,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:951,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:952,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:952,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:953,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:953,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:954,1
    - Dst: blst_fr_add
      Src: /src/cryptofuzz/modules/blst/module.cpp:955,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:955,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/blst/module.cpp:955,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:956,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:956,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:958,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:959,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:959,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:960,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:960,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:961,1
    - Dst: blst_fr_sub
      Src: /src/cryptofuzz/modules/blst/module.cpp:962,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:962,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/blst/module.cpp:962,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:963,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:963,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:965,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:967,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:967,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:972,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:976,1
    - Dst: cryptofuzz::module::blst_detail::isMultipleOf2
      Src: /src/cryptofuzz/modules/blst/module.cpp:980,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:980,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:988,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:988,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:989,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:990,1
    - Dst: blst_fr_mul
      Src: /src/cryptofuzz/modules/blst/module.cpp:990,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:990,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/blst/module.cpp:990,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:993,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:994,1
    - Dst: blst_fr_mul_by_3
      Src: /src/cryptofuzz/modules/blst/module.cpp:994,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:994,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:997,1
    - Dst: blst_fr_lshift
      Src: /src/cryptofuzz/modules/blst/module.cpp:998,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:998,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:999,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:999,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1003,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1003,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1006,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1007,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1007,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1008,1
    - Dst: blst_fr_sqr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1009,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1009,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1010,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1010,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1012,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1014,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1014,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1018,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1023,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1024,1
    - Dst: blst_fr_eucl_inverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:1024,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1024,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1026,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1027,1
    - Dst: blst_fr_inverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:1027,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1027,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1030,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1030,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1033,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1034,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1034,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1035,1
    - Dst: blst_fr_lshift
      Src: /src/cryptofuzz/modules/blst/module.cpp:1036,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1036,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1037,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1037,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1039,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1041,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1041,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/modules/blst/module.cpp:1042,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:1044,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1045,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1046,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1048,1
    - Dst: blst_fr_rshift
      Src: /src/cryptofuzz/modules/blst/module.cpp:1049,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1049,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:1052,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/modules/blst/module.cpp:1053,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1054,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/modules/blst/module.cpp:1054,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:1055,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1056,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1056,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1060,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1061,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1061,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1062,1
    - Dst: blst_fr_cneg
      Src: /src/cryptofuzz/modules/blst/module.cpp:1063,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1063,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1064,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1064,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1066,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1067,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1067,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1068,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1070,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1071,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1071,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1072,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1072,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1073,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1073,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1073,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1075,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1076,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1076,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1077,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1077,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1077,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 117
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1083
      start: 943
    functionDepth: 4
    functionLinenumber: 943
    functionLinenumberEnd: 1083
    functionName: cryptofuzz::module::blst_detail::OpBignumCalc_order
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - RESULT_PTR
    - modifier::GetPtr
    - blst_fr_add
    - CF_CHECK_GT
    - CF_CHECK_LT
    - RESULT
    - blst_fr_sqr
    - modifier::GetSize
    - cryptofuzz::module::blst_detail::To_blst_fr
    - cryptofuzz::module::blst_detail::isMultipleOf2
    - blst_fr_cneg
    - memcmp
    - calcOp::Get
    - blst_fr_rshift
    - bn1::ToTrimmedString
    - cryptofuzz::module::blst_detail::To_component_bignum
    - CF_CHECK_EQ
    - std::string
    - blst_fr_lshift
    - PREPARE_RESULT
    - PARAM_B
    - blst_fr_sub
    - CF_CHECK_TRUE
    - blst_fr_mul
    - blst_fr_eucl_inverse
    - CF_NORET
    - blst_fr_inverse
    - Datasource::Get
    - cryptofuzz::module::blst_detail::To_cpp_int
    - blst_fr_mul_by_3
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpBignumCalc_order(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1087,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1087,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1092,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1093,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1094,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1094,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1095,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1095,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1096,1
    - Dst: blst_fp_add
      Src: /src/cryptofuzz/modules/blst/module.cpp:1097,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1097,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/blst/module.cpp:1097,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1098,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1098,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1100,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1101,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1101,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1102,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1102,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1103,1
    - Dst: blst_fp_sub
      Src: /src/cryptofuzz/modules/blst/module.cpp:1104,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1104,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/blst/module.cpp:1104,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1105,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1105,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1107,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1109,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1109,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1114,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:1119,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:1123,1
    - Dst: cryptofuzz::module::blst_detail::isMultipleOf2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1127,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:1127,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1135,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1135,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1136,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1137,1
    - Dst: blst_fp_mul
      Src: /src/cryptofuzz/modules/blst/module.cpp:1137,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1137,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/blst/module.cpp:1137,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1140,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1141,1
    - Dst: blst_fp_mul_by_3
      Src: /src/cryptofuzz/modules/blst/module.cpp:1141,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1141,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1144,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1145,1
    - Dst: blst_fp_mul_by_8
      Src: /src/cryptofuzz/modules/blst/module.cpp:1145,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1145,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1149,1
    - Dst: cryptofuzz::module::blst_detail::isMultipleOf2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1149,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:1149,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1151,1
    - Dst: blst_fp_lshift
      Src: /src/cryptofuzz/modules/blst/module.cpp:1152,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1152,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1153,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1153,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1157,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1157,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1160,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1161,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1161,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1162,1
    - Dst: blst_fp_lshift
      Src: /src/cryptofuzz/modules/blst/module.cpp:1163,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1163,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1164,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1164,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1166,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1167,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1167,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1168,1
    - Dst: blst_fp_sqr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1169,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1169,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1170,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1170,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1172,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1174,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1174,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1178,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1183,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1184,1
    - Dst: blst_fp_eucl_inverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:1184,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1184,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1186,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1187,1
    - Dst: blst_fp_inverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:1187,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1187,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1190,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1190,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1193,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1196,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1196,1
    - Dst: blst_fp_sqrt
      Src: /src/cryptofuzz/modules/blst/module.cpp:1198,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1199,1
    - Dst: blst_fp_sqr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1199,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1200,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1202,1
    - Dst: blst_fp_cneg
      Src: /src/cryptofuzz/modules/blst/module.cpp:1202,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1203,1
    - Dst: blst_fp_sqrt
      Src: /src/cryptofuzz/modules/blst/module.cpp:1203,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1205,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1209,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1213,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1213,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1217,1
    - Dst: blst_fp_cneg
      Src: /src/cryptofuzz/modules/blst/module.cpp:1217,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1218,1
    - Dst: blst_fp_is_square
      Src: /src/cryptofuzz/modules/blst/module.cpp:1218,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1220,1
    - Dst: blst_fp_sqrt
      Src: /src/cryptofuzz/modules/blst/module.cpp:1220,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1223,1
    - Dst: blst_fp_sqrt
      Src: /src/cryptofuzz/modules/blst/module.cpp:1225,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1226,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1226,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1229,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1230,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1230,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1231,1
    - Dst: blst_fp_cneg
      Src: /src/cryptofuzz/modules/blst/module.cpp:1232,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1232,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1233,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1233,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1235,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1236,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1236,1
    - Dst: cryptofuzz::module::blst_detail::To_component_bignum
      Src: /src/cryptofuzz/modules/blst/module.cpp:1237,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1239,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1240,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1240,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1241,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1241,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1242,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1242,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1242,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1244,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1245,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1245,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1246,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1246,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1246,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 137
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1252
      start: 1085
    functionDepth: 4
    functionLinenumber: 1085
    functionLinenumberEnd: 1252
    functionName: cryptofuzz::module::blst_detail::OpBignumCalc_prime
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - blst_fp_sub
    - RESULT_PTR
    - modifier::GetPtr
    - RESULT
    - blst_fp_mul_by_3
    - modifier::GetSize
    - blst_fp_mul_by_8
    - cryptofuzz::module::blst_detail::isMultipleOf2
    - CF_CHECK_NE
    - memcmp
    - blst_fp_is_square
    - cryptofuzz::module::blst_detail::To_blst_fp
    - calcOp::Get
    - blst_fp_lshift
    - blst_fp_add
    - blst_fp_inverse
    - blst_fp_cneg
    - bn1::ToTrimmedString
    - blst_fp_eucl_inverse
    - blst_fp_sqr
    - cryptofuzz::module::blst_detail::To_component_bignum
    - std::string
    - PREPARE_RESULT
    - PARAM_B
    - CF_CHECK_TRUE
    - CF_ASSERT
    - CF_NORET
    - Datasource::Get
    - blst_fp_mul
    - blst_fp_sqrt
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpBignumCalc_prime(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:1266,1
    - Dst: cryptofuzz::module::blst_detail::OpBignumCalc_order
      Src: /src/cryptofuzz/modules/blst/module.cpp:1267,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:1268,1
    - Dst: cryptofuzz::module::blst_detail::OpBignumCalc_prime
      Src: /src/cryptofuzz/modules/blst/module.cpp:1269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1273
      start: 1260
    functionDepth: 5
    functionLinenumber: 1260
    functionLinenumberEnd: 1273
    functionName: cryptofuzz::module::blst::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::OpBignumCalc_prime
    - cryptofuzz::module::blst_detail::OpBignumCalc_order
    - modulo::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> blst::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1283,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1283,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1287,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1288,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1289,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1289,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1290,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1290,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1291,1
    - Dst: blst_fp2_add
      Src: /src/cryptofuzz/modules/blst/module.cpp:1292,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1292,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/blst/module.cpp:1292,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1293,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1293,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1295,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1296,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1296,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1297,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1297,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1298,1
    - Dst: blst_fp2_sub
      Src: /src/cryptofuzz/modules/blst/module.cpp:1299,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1299,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/blst/module.cpp:1299,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1300,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1300,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1302,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1303,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1303,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1304,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1304,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1305,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1306,1
    - Dst: blst_fp2_mul
      Src: /src/cryptofuzz/modules/blst/module.cpp:1306,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1306,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/blst/module.cpp:1306,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1308,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1308,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1310,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1311,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1311,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1312,1
    - Dst: blst_fp2_lshift
      Src: /src/cryptofuzz/modules/blst/module.cpp:1313,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1313,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1314,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1314,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1316,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1317,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1317,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1318,1
    - Dst: blst_fp2_sqr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1319,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1319,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1320,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1320,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1322,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1324,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1324,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1328,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1333,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1334,1
    - Dst: blst_fp2_eucl_inverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:1334,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1334,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1336,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1337,1
    - Dst: blst_fp2_inverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:1337,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1337,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1340,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1340,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1343,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1346,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1346,1
    - Dst: blst_fp2_sqrt
      Src: /src/cryptofuzz/modules/blst/module.cpp:1348,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1349,1
    - Dst: blst_fp2_sqr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1349,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1350,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1352,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/blst/module.cpp:1352,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1356,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1358,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1358,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1360,1
    - Dst: blst_fp2_sqrt
      Src: /src/cryptofuzz/modules/blst/module.cpp:1362,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1365,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1366,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1366,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1367,1
    - Dst: blst_fp2_cneg
      Src: /src/cryptofuzz/modules/blst/module.cpp:1368,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1368,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1369,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1369,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1371,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1372,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1372,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1373,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 80
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp2
    constantsTouched: []
    func_position:
      end: 1379
      start: 1281
    functionDepth: 5
    functionLinenumber: 1281
    functionLinenumberEnd: 1379
    functionName: cryptofuzz::module::blst_detail::OpBignumCalc_Fp2_prime
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - RESULT_PTR
    - modifier::GetPtr
    - blst_fp2_lshift
    - RESULT
    - blst_fp2_eucl_inverse
    - modifier::GetSize
    - blst_fp2_sqr
    - blst_fp2_inverse
    - blst_fp2_cneg
    - blst_fp2_sub
    - calcOp::Get
    - blst_fp2_sqrt
    - std::string
    - PREPARE_RESULT
    - PARAM_B
    - CF_CHECK_TRUE
    - blst_fp2_mul
    - cryptofuzz::module::blst_detail::To_blst_fp2
    - CF_ASSERT
    - CF_NORET
    - Datasource::Get
    - cryptofuzz::module::blst_detail::To_component_Fp2
    - blst_fp2_add
    linkageType: ''
    returnType: std::optional<component::Fp2>
    signature: std::optional<component::Fp2> OpBignumCalc_Fp2_prime(operation::BignumCalc_Fp2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::OpBignumCalc_Fp2_prime
      Src: /src/cryptofuzz/modules/blst/module.cpp:1388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp2
    constantsTouched: []
    func_position:
      end: 1389
      start: 1387
    functionDepth: 6
    functionLinenumber: 1387
    functionLinenumberEnd: 1389
    functionName: cryptofuzz::module::blst::OpBignumCalc_Fp2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::OpBignumCalc_Fp2_prime
    linkageType: ''
    returnType: std::optional<component::Fp2>
    signature: std::optional<component::Fp2> blst::OpBignumCalc_Fp2(operation::BignumCalc_Fp2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1399,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1399,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1403,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1404,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1405,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1405,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1406,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1406,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1407,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1408,1
    - Dst: blst_fp12_mul
      Src: /src/cryptofuzz/modules/blst/module.cpp:1408,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1408,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/blst/module.cpp:1408,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1410,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1410,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1412,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1413,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1413,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1414,1
    - Dst: blst_fp12_conjugate
      Src: /src/cryptofuzz/modules/blst/module.cpp:1414,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1415,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1417,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1418,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1418,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1419,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1420,1
    - Dst: blst_fp12_sqr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1420,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1420,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1421,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1421,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1423,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1424,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1424,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1425,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1425,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1426,1
    - Dst: blst_fp12_cyclotomic_sqr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1426,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1427,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1429,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1430,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1430,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1432,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1433,1
    - Dst: blst_fp12_inverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:1433,1
    - Dst: RESULT_PTR
      Src: /src/cryptofuzz/modules/blst/module.cpp:1433,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1435,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1435,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1437,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1438,1
    - Dst: blst_fp12_one
      Src: /src/cryptofuzz/modules/blst/module.cpp:1438,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1440,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1441,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1441,1
    - Dst: blst_fp12_is_one
      Src: /src/cryptofuzz/modules/blst/module.cpp:1442,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1443,1
    - Dst: blst_fp12_one
      Src: /src/cryptofuzz/modules/blst/module.cpp:1443,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/blst/module.cpp:1445,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1446,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/blst/module.cpp:1449,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1450,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1450,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1451,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1451,1
    - Dst: blst_fp12_is_equal
      Src: /src/cryptofuzz/modules/blst/module.cpp:1453,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1454,1
    - Dst: blst_fp12_one
      Src: /src/cryptofuzz/modules/blst/module.cpp:1454,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/blst/module.cpp:1456,1
    - Dst: cryptofuzz::module::blst_detail::To_component_Fp12
      Src: /src/cryptofuzz/modules/blst/module.cpp:1457,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp12
    constantsTouched: []
    func_position:
      end: 1464
      start: 1397
    functionDepth: 5
    functionLinenumber: 1397
    functionLinenumberEnd: 1464
    functionName: cryptofuzz::module::blst_detail::OpBignumCalc_Fp12_prime
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - blst_fp12_conjugate
    - blst_fp12_sqr
    - cryptofuzz::module::blst_detail::To_blst_fp12
    - modifier::GetPtr
    - RESULT_PTR
    - blst_fp12_is_equal
    - RESULT
    - memset
    - modifier::GetSize
    - cryptofuzz::module::blst_detail::To_component_Fp12
    - calcOp::Get
    - blst_fp12_one
    - PREPARE_RESULT
    - blst_fp12_inverse
    - PARAM_B
    - CF_CHECK_TRUE
    - CF_NORET
    - blst_fp12_cyclotomic_sqr
    - blst_fp12_mul
    - blst_fp12_is_one
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> OpBignumCalc_Fp12_prime(operation::BignumCalc_Fp12&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::blst_detail::OpBignumCalc_Fp12_prime
      Src: /src/cryptofuzz/modules/blst/module.cpp:1473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp12
    constantsTouched: []
    func_position:
      end: 1474
      start: 1472
    functionDepth: 6
    functionLinenumber: 1472
    functionLinenumberEnd: 1474
    functionName: cryptofuzz::module::blst::OpBignumCalc_Fp12
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::blst_detail::OpBignumCalc_Fp12_prime
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> blst::OpBignumCalc_Fp12(operation::BignumCalc_Fp12&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1478,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1478,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1483,1
    - Dst: blst_detail::ToArray<48>
      Src: /src/cryptofuzz/modules/blst/module.cpp:1483,1
    - Dst: blst_p1_uncompress
      Src: /src/cryptofuzz/modules/blst/module.cpp:1485,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1485,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:1487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G1
    constantsTouched: []
    func_position:
      end: 1494
      start: 1476
    functionDepth: 5
    functionLinenumber: 1476
    functionLinenumberEnd: 1494
    functionName: cryptofuzz::module::blst::OpBLS_Decompress_G1
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p1_uncompress
    - CF_CHECK_NE
    - std::optional::data
    - modifier::GetPtr
    - blst_detail::G1::To_Component_G1
    - modifier::GetSize
    - blst_detail::ToArray<48>
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> blst::OpBLS_Decompress_G1(operation::BLS_Decompress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1502,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1502,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1503,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1503,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1506,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:1506,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1508,1
    - Dst: blst_p1_affine_compress
      Src: /src/cryptofuzz/modules/blst/module.cpp:1508,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1508,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:1509,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G1
    constantsTouched: []
    func_position:
      end: 1513
      start: 1496
    functionDepth: 4
    functionLinenumber: 1496
    functionLinenumberEnd: 1513
    functionName: cryptofuzz::module::blst::OpBLS_Compress_G1
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p1_affine_compress
    - std::array::data
    - CF_NORET
    - cryptofuzz::util::BinToDec
    - cryptofuzz::module::blst_detail::To_blst_fp
    - blst_p1_affine_on_curve
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> blst::OpBLS_Compress_G1(operation::BLS_Compress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1517,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1517,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1524,1
    - Dst: blst_detail::ToArray<48>
      Src: /src/cryptofuzz/modules/blst/module.cpp:1524,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1525,1
    - Dst: blst_detail::ToArray<48>
      Src: /src/cryptofuzz/modules/blst/module.cpp:1525,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/blst/module.cpp:1527,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1527,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1527,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/blst/module.cpp:1528,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1528,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1528,1
    - Dst: blst_p2_uncompress
      Src: /src/cryptofuzz/modules/blst/module.cpp:1530,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1530,1
    - Dst: cryptofuzz::module::blst_detail::To_G2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G2
    constantsTouched: []
    func_position:
      end: 1538
      start: 1515
    functionDepth: 7
    functionLinenumber: 1515
    functionLinenumberEnd: 1538
    functionName: cryptofuzz::module::blst::OpBLS_Decompress_G2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - std::array::data
    - std::optional::data
    - modifier::GetPtr
    - cryptofuzz::module::blst_detail::To_G2
    - memcpy
    - modifier::GetSize
    - blst_p2_uncompress
    - blst_detail::ToArray<48>
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> blst::OpBLS_Decompress_G2(operation::BLS_Decompress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1546,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1546,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1547,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1547,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1548,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1548,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1549,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1549,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1551,1
    - Dst: blst_p2_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:1551,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1553,1
    - Dst: blst_p2_affine_compress
      Src: /src/cryptofuzz/modules/blst/module.cpp:1553,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1553,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:1554,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1554,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/blst/module.cpp:1554,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G2
    constantsTouched: []
    func_position:
      end: 1558
      start: 1540
    functionDepth: 6
    functionLinenumber: 1540
    functionLinenumberEnd: 1558
    functionName: cryptofuzz::module::blst::OpBLS_Compress_G2
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p2_affine_on_curve
    - blst_p2_affine_compress
    - std::array::data
    - CF_NORET
    - cryptofuzz::util::BinToDec
    - cryptofuzz::module::blst_detail::To_blst_fp
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> blst::OpBLS_Compress_G2(operation::BLS_Compress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1562,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1562,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1574,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1574,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1577,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1577,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1580,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Projective
      Src: /src/cryptofuzz/modules/blst/module.cpp:1580,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1583,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Projective
      Src: /src/cryptofuzz/modules/blst/module.cpp:1583,1
    - Dst: blst_p1_is_equal
      Src: /src/cryptofuzz/modules/blst/module.cpp:1586,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1589,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1607,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1616,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1621,1
    - Dst: blst_p1_add_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1621,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1624,1
    - Dst: blst_p1s_add
      Src: /src/cryptofuzz/modules/blst/module.cpp:1624,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1627,1
    - Dst: blst_p1_add
      Src: /src/cryptofuzz/modules/blst/module.cpp:1627,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1631,1
    - Dst: blst_p1_double
      Src: /src/cryptofuzz/modules/blst/module.cpp:1631,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1635,1
    - Dst: blst_p1_add_or_double_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1635,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1637,1
    - Dst: blst_p1_add_or_double
      Src: /src/cryptofuzz/modules/blst/module.cpp:1637,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1641,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1644,1
    - Dst: blst_p1_affine_is_inf
      Src: /src/cryptofuzz/modules/blst/module.cpp:1645,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:1646,1
    - Dst: blst_p1_affine_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:1647,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1648,1
    - Dst: blst_p1_affine_is_inf
      Src: /src/cryptofuzz/modules/blst/module.cpp:1649,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:1650,1
    - Dst: blst_p1_affine_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:1651,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1653,1
    - Dst: blst_p1_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1653,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:1657,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 1662
      start: 1560
    functionDepth: 5
    functionLinenumber: 1560
    functionLinenumberEnd: 1662
    functionName: cryptofuzz::module::blst::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - blst_p1_is_equal
    - blst_p1_add_or_double
    - modifier::GetSize
    - cryptofuzz::module::blst_detail::Load_G1_Projective
    - CF_CHECK_NE
    - blst_p1s_add
    - blst_p1_add
    - blst_p1_affine_is_inf
    - blst_p1_add_or_double_affine
    - CF_UNREACHABLE
    - blst_p1_double
    - blst_detail::G1::To_Component_G1
    - CF_CHECK_TRUE
    - cryptofuzz::module::blst_detail::Load_G1_Affine
    - blst_p1_affine_in_g1
    - CF_NORET
    - blst_p1_add_affine
    - Datasource::Get
    - blst_p1_to_affine
    - blst_p1_affine_on_curve
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> blst::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1666,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1666,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1673,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Projective
      Src: /src/cryptofuzz/modules/blst/module.cpp:1673,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1676,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/blst/module.cpp:1676,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:1676,1
    - Dst: cryptofuzz::util::AddLeadingZeroes
      Src: /src/cryptofuzz/modules/blst/module.cpp:1679,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1680,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:1680,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/blst/module.cpp:1680,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/blst/module.cpp:1680,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1684,1
    - Dst: blst_p1_mult
      Src: /src/cryptofuzz/modules/blst/module.cpp:1684,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1684,1
    - Dst: Buffer::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1684,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1687,1
    - Dst: blst_p1_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1687,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1689,1
    - Dst: blst_p1_is_inf
      Src: /src/cryptofuzz/modules/blst/module.cpp:1690,1
    - Dst: blst_p1_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:1691,1
    - Dst: blst_p1_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:1692,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:1696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 1701
      start: 1664
    functionDepth: 5
    functionLinenumber: 1664
    functionLinenumberEnd: 1701
    functionName: cryptofuzz::module::blst::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - std::vector::begin
    - std::reverse
    - blst_p1_is_inf
    - modifier::GetSize
    - cryptofuzz::module::blst_detail::Load_G1_Projective
    - CF_CHECK_NE
    - blst_p1_in_g1
    - cryptofuzz::util::DecToBin
    - std::vector::end
    - b::ToTrimmedString
    - Buffer::GetPtr
    - blst_detail::G1::To_Component_G1
    - blst_p1_mult
    - CF_CHECK_TRUE
    - cryptofuzz::util::AddLeadingZeroes
    - CF_NORET
    - Buffer::GetSize
    - blst_p1_to_affine
    - blst_p1_on_curve
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> blst::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1705,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1705,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1715,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1715,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1718,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1718,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1721,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Projective
      Src: /src/cryptofuzz/modules/blst/module.cpp:1721,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1724,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Projective
      Src: /src/cryptofuzz/modules/blst/module.cpp:1724,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1728,1
    - Dst: blst_p1_affine_is_equal
      Src: /src/cryptofuzz/modules/blst/module.cpp:1733,1
    - Dst: blst_p1_is_equal
      Src: /src/cryptofuzz/modules/blst/module.cpp:1735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 1740
      start: 1703
    functionDepth: 5
    functionLinenumber: 1703
    functionLinenumberEnd: 1740
    functionName: cryptofuzz::module::blst::OpBLS_G1_IsEq
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - modifier::GetPtr
    - cryptofuzz::module::blst_detail::Load_G1_Affine
    - blst_p1_is_equal
    - blst_p1_affine_is_equal
    - Datasource::Get
    - modifier::GetSize
    - cryptofuzz::module::blst_detail::Load_G1_Projective
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> blst::OpBLS_G1_IsEq(operation::BLS_G1_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1744,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1744,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1750,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Projective
      Src: /src/cryptofuzz/modules/blst/module.cpp:1750,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1753,1
    - Dst: blst_p1_cneg
      Src: /src/cryptofuzz/modules/blst/module.cpp:1753,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1755,1
    - Dst: blst_p1_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1755,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:1759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 1764
      start: 1742
    functionDepth: 5
    functionLinenumber: 1742
    functionLinenumberEnd: 1764
    functionName: cryptofuzz::module::blst::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p1_cneg
    - CF_CHECK_NE
    - modifier::GetPtr
    - CF_NORET
    - blst_detail::G1::To_Component_G1
    - modifier::GetSize
    - blst_p1_to_affine
    - cryptofuzz::module::blst_detail::Load_G1_Projective
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> blst::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1768,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1768,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1774,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1774,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1775,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1775,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1776,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1776,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1777,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1777,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1779,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1779,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1780,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1780,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1781,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1781,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1782,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1782,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1784,1
    - Dst: blst_p2_from_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1784,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1785,1
    - Dst: blst_p2_from_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1785,1
    - Dst: blst_p2_is_equal
      Src: /src/cryptofuzz/modules/blst/module.cpp:1787,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1789,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1795,1
    - Dst: blst_p2_add_or_double_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1795,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1797,1
    - Dst: blst_p2_double
      Src: /src/cryptofuzz/modules/blst/module.cpp:1797,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1801,1
    - Dst: blst_p2_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1801,1
    - Dst: cryptofuzz::module::blst_detail::To_G2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 1807
      start: 1766
    functionDepth: 7
    functionLinenumber: 1766
    functionLinenumberEnd: 1807
    functionName: cryptofuzz::module::blst::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p2_to_affine
    - blst_p2_is_equal
    - modifier::GetPtr
    - CF_NORET
    - Datasource::Get
    - blst_p2_add_or_double_affine
    - blst_p2_from_affine
    - cryptofuzz::module::blst_detail::To_G2
    - cryptofuzz::module::blst_detail::To_blst_fp
    - modifier::GetSize
    - blst_p2_double
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> blst::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1811,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1811,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1818,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1818,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1819,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1819,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1820,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1820,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1821,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1821,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1822,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/blst/module.cpp:1822,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:1822,1
    - Dst: blst_p2_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:1824,1
    - Dst: blst_p2_affine_in_g2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1824,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1828,1
    - Dst: blst_p2_from_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1828,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/blst/module.cpp:1830,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1832,1
    - Dst: cryptofuzz::util::AddLeadingZeroes
      Src: /src/cryptofuzz/modules/blst/module.cpp:1838,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1839,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/blst/module.cpp:1839,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/blst/module.cpp:1839,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/blst/module.cpp:1839,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1843,1
    - Dst: blst_p2_mult
      Src: /src/cryptofuzz/modules/blst/module.cpp:1843,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1843,1
    - Dst: Buffer::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1843,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1845,1
    - Dst: blst_p2_double
      Src: /src/cryptofuzz/modules/blst/module.cpp:1845,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1848,1
    - Dst: blst_p2_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1848,1
    - Dst: cryptofuzz::module::blst_detail::To_G2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1850,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 1854
      start: 1809
    functionDepth: 7
    functionLinenumber: 1809
    functionLinenumberEnd: 1854
    functionName: cryptofuzz::module::blst::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - std::vector::begin
    - blst_p2_mult
    - std::reverse
    - modifier::GetSize
    - CF_CHECK_NE
    - blst_p2_to_affine
    - cryptofuzz::module::blst_detail::To_blst_fp
    - cryptofuzz::util::DecToBin
    - std::vector::end
    - b::ToTrimmedString
    - Buffer::GetPtr
    - cryptofuzz::module::blst_detail::To_G2
    - blst_p2_double
    - CF_CHECK_TRUE
    - cryptofuzz::util::AddLeadingZeroes
    - blst_p2_affine_on_curve
    - CF_NORET
    - Datasource::Get
    - blst_p2_from_affine
    - Buffer::GetSize
    - blst_p2_affine_in_g2
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> blst::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1862,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1862,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1863,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1863,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1864,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1864,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1865,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1865,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1867,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1867,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1868,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1868,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1869,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1869,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1870,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1870,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1872,1
    - Dst: blst_p2_from_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1872,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1873,1
    - Dst: blst_p2_from_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1873,1
    - Dst: blst_p2_is_equal
      Src: /src/cryptofuzz/modules/blst/module.cpp:1875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 1879
      start: 1856
    functionDepth: 4
    functionLinenumber: 1856
    functionLinenumberEnd: 1879
    functionName: cryptofuzz::module::blst::OpBLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p2_is_equal
    - CF_NORET
    - blst_p2_from_affine
    - cryptofuzz::module::blst_detail::To_blst_fp
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> blst::OpBLS_G2_IsEq(operation::BLS_G2_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1883,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1883,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1888,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1888,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1889,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1889,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1890,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1890,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1891,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_fp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1891,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1893,1
    - Dst: blst_p2_from_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1893,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1895,1
    - Dst: blst_p2_cneg
      Src: /src/cryptofuzz/modules/blst/module.cpp:1895,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1897,1
    - Dst: blst_p2_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1897,1
    - Dst: cryptofuzz::module::blst_detail::To_G2
      Src: /src/cryptofuzz/modules/blst/module.cpp:1899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 1903
      start: 1881
    functionDepth: 7
    functionLinenumber: 1881
    functionLinenumberEnd: 1903
    functionName: cryptofuzz::module::blst::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p2_to_affine
    - modifier::GetPtr
    - CF_NORET
    - blst_p2_cneg
    - blst_p2_from_affine
    - cryptofuzz::module::blst_detail::To_G2
    - cryptofuzz::module::blst_detail::To_blst_fp
    - modifier::GetSize
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> blst::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1907,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1907,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/blst/module.cpp:1915,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/blst/module.cpp:1917,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1928,1
    - Dst: cryptofuzz::module::blst_detail::Load_G1_Affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1928,1
    - Dst: blst_p1_affine_is_inf
      Src: /src/cryptofuzz/modules/blst/module.cpp:1932,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:1933,1
    - Dst: blst_p1_affine_in_g1
      Src: /src/cryptofuzz/modules/blst/module.cpp:1934,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1936,1
    - Dst: cryptofuzz::module::blst_detail::To_blst_scalar
      Src: /src/cryptofuzz/modules/blst/module.cpp:1936,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1941,1
    - Dst: blst_p1s_mult_pippenger
      Src: /src/cryptofuzz/modules/blst/module.cpp:1941,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/blst/module.cpp:1947,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1950,1
    - Dst: blst_p1_to_affine
      Src: /src/cryptofuzz/modules/blst/module.cpp:1950,1
    - Dst: blst_detail::G1::To_Component_G1
      Src: /src/cryptofuzz/modules/blst/module.cpp:1952,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/blst/module.cpp:1956,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/blst/module.cpp:1957,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/blst/module.cpp:1958,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_MultiExp
    constantsTouched: []
    func_position:
      end: 1961
      start: 1905
    functionDepth: 5
    functionLinenumber: 1905
    functionLinenumberEnd: 1961
    functionName: cryptofuzz::module::blst::OpBLS_G1_MultiExp
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p1_affine_in_g1
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - CF_CHECK_TRUE
    - modifier::GetPtr
    - CF_NORET
    - blst_p1s_mult_pippenger
    - blst_detail::G1::To_Component_G1
    - modifier::GetSize
    - blst_p1_to_affine
    - cryptofuzz::util::malloc
    - blst_p1_affine_on_curve
    - blst_p1_affine_is_inf
    - cryptofuzz::module::blst_detail::Load_G1_Affine
    - cryptofuzz::module::blst_detail::To_blst_scalar
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> blst::OpBLS_G1_MultiExp(operation::BLS_G1_MultiExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/blst/module.cpp:1964,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1964,1
    - Dst: operation::Get
      Src: /src/cryptofuzz/modules/blst/module.cpp:1967,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/blst/module.cpp:1970,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:1972,1
    - Dst: blst_p1_uncompress
      Src: /src/cryptofuzz/modules/blst/module.cpp:1972,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1972,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1974,1
    - Dst: blst_p1_affine_compress
      Src: /src/cryptofuzz/modules/blst/module.cpp:1974,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:1975,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1976,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1976,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1976,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/blst/module.cpp:1976,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/blst/module.cpp:1982,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:1984,1
    - Dst: blst_p1_deserialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1984,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:1984,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1986,1
    - Dst: blst_p1_affine_serialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1986,1
    - Dst: blst_p1_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:1987,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1989,1
    - Dst: blst_p1_deserialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1989,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:1992,1
    - Dst: blst_p1_affine_serialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:1992,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:1993,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/blst/module.cpp:1993,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/blst/module.cpp:2000,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:2002,1
    - Dst: blst_p2_uncompress
      Src: /src/cryptofuzz/modules/blst/module.cpp:2002,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:2002,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:2004,1
    - Dst: blst_p2_affine_compress
      Src: /src/cryptofuzz/modules/blst/module.cpp:2004,1
    - Dst: blst_p2_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:2005,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:2006,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/blst/module.cpp:2006,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:2006,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/blst/module.cpp:2006,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/blst/module.cpp:2012,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:2014,1
    - Dst: blst_p2_deserialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:2014,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:2014,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:2016,1
    - Dst: blst_p2_affine_serialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:2016,1
    - Dst: blst_p2_affine_on_curve
      Src: /src/cryptofuzz/modules/blst/module.cpp:2017,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:2019,1
    - Dst: blst_p2_deserialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:2019,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:2022,1
    - Dst: blst_p2_affine_serialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:2022,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/blst/module.cpp:2023,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/blst/module.cpp:2023,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/blst/module.cpp:2032,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:2033,1
    - Dst: blst_p1_deserialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:2033,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:2033,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/blst/module.cpp:2038,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/blst/module.cpp:2039,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:2039,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:2043,1
    - Dst: blst_miller_loop_lines
      Src: /src/cryptofuzz/modules/blst/module.cpp:2043,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/blst/module.cpp:2050,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:2051,1
    - Dst: blst_p2_deserialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:2051,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:2051,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:2055,1
    - Dst: blst_precompute_lines
      Src: /src/cryptofuzz/modules/blst/module.cpp:2055,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/blst/module.cpp:2065,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:2066,1
    - Dst: blst_p1_deserialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:2066,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:2066,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/blst/module.cpp:2070,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/blst/module.cpp:2071,1
    - Dst: blst_p2_deserialize
      Src: /src/cryptofuzz/modules/blst/module.cpp:2071,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/blst/module.cpp:2071,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/blst/module.cpp:2074,1
    - Dst: blst_miller_loop
      Src: /src/cryptofuzz/modules/blst/module.cpp:2074,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 67
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Misc
    constantsTouched: []
    func_position:
      end: 2082
      start: 1963
    functionDepth: 8
    functionLinenumber: 1963
    functionLinenumberEnd: 2082
    functionName: cryptofuzz::module::blst::OpMisc
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached:
    - blst_p1_affine_compress
    - modifier::GetPtr
    - blst_p1_affine_serialize
    - blst_precompute_lines
    - modifier::GetSize
    - Datasource::GetData
    - memcmp
    - operation::Get
    - blst_p1_deserialize
    - blst_miller_loop_lines
    - memcpy
    - blst_p2_deserialize
    - blst_p2_uncompress
    - blst_p1_uncompress
    - blst_miller_loop
    - CF_CHECK_EQ
    - blst_p2_affine_on_curve
    - CF_ASSERT
    - blst_p2_affine_compress
    - blst_p2_affine_serialize
    - CF_NORET
    - auto::data
    - auto::size
    - blst_p1_affine_on_curve
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> blst::OpMisc(operation::Misc& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2086
    functionName: cryptofuzz::module::blst::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/blst/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool blst::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: cryptofuzz::module::pasta_curves::pasta_curves
    functionSourceFile: /src/cryptofuzz/modules/pasta_curves/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pasta_curves::pasta_curves(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:27,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:27,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:28,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:31,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:31,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:32,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:33,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:33,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:34,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:35,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:35,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:36,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:37,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:37,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:38,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:40,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:40,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 44
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 44
    functionName: cryptofuzz::module::pasta_curves_detail::To4U64
    functionSourceFile: /src/cryptofuzz/modules/pasta_curves/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - CF_CHECK_NE
    - std::array::end
    - std::array::begin
    - std::reverse
    - memcpy
    - auto::data
    - __bswap_64
    - cryptofuzz::util::DecToBin
    linkageType: ''
    returnType: std::optional<std::array<uint64_t, 4>>
    signature: std::optional<std::array<uint64_t, 4>> To4U64(const component::Bignum&
      bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:54,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:55,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:57,1
    - Dst: cryptofuzz::module::pasta_curves_detail::To4U64
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:57,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:58,1
    - Dst: cryptofuzz::module::pasta_curves_detail::To4U64
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:58,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:61,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:62,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:63,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:64,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:65,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:68,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:68,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:68,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:68,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:71,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:72,1
    - Dst: cryptofuzz_pasta_curves_bignumcalc_vesta_fq
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:72,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:73,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:73,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:74,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:75,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:76,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:78,1
    - Dst: cryptofuzz_pasta_curves_bignumcalc_vesta_fr
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:78,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:79,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:79,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:80,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:81,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:82,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:85,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:85,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:85,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:86,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/pasta_curves/module.cpp:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 91
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 91
    functionName: cryptofuzz::module::pasta_curves::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/pasta_curves/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - std::reverse
    - cryptofuzz_pasta_curves_bignumcalc_vesta_fr
    - CF_CHECK_NE
    - std::array::data
    - std::optional::data
    - std::array::end
    - data
    - modulo::ToTrimmedString
    - calcOp::Get
    - cryptofuzz_pasta_curves_bignumcalc_vesta_fq
    - std::map::end
    - cryptofuzz::module::pasta_curves_detail::To4U64
    - CF_CHECK_EQ
    - cryptofuzz::util::BinToDec
    - CF_CHECK_TRUE
    - std::map::find
    - std::map::at
    - std::array::begin
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> pasta_curves::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: cryptofuzz::module::pasta_curves::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/pasta_curves/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pasta_curves::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 11
    functionName: cryptofuzz::module::V8::V8
    functionSourceFile: /src/cryptofuzz/modules/v8/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void V8::V8(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: v8::bigint::FromStringAccumulator::Parse
      Src: /src/cryptofuzz/modules/v8/module.cpp:18,1
    - Dst: data
      Src: /src/cryptofuzz/modules/v8/module.cpp:18,1
    - Dst: data
      Src: /src/cryptofuzz/modules/v8/module.cpp:18,1
    - Dst: size
      Src: /src/cryptofuzz/modules/v8/module.cpp:18,1
    - Dst: v8::bigint::FromStringAccumulator::ResultLength
      Src: /src/cryptofuzz/modules/v8/module.cpp:20,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/v8/module.cpp:22,1
    - Dst: v8::bigint::Processor*::FromString
      Src: /src/cryptofuzz/modules/v8/module.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - processor
    - ' bn'
    argTypes:
    - v8::bigint::Processor*
    - std::string
    constantsTouched: []
    func_position:
      end: 28
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 28
    functionName: cryptofuzz::module::V8_detail::ToDigits
    functionSourceFile: /src/cryptofuzz/modules/v8/module.cpp
    functionUses: 0
    functionsReached:
    - v8::bigint::FromStringAccumulator::Parse
    - v8::bigint::Processor*::FromString
    - data
    - CF_CHECK_EQ
    - size
    - v8::bigint::FromStringAccumulator::ResultLength
    linkageType: ''
    returnType: std::optional<v8::bigint::ScratchDigits>
    signature: std::optional<v8::bigint::ScratchDigits> ToDigits(v8::bigint::Processor*
      processor, const std::string& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/v8/module.cpp:31,1
    - Dst: cryptofuzz::module::V8_detail::ToDigits
      Src: /src/cryptofuzz/modules/v8/module.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - processor
    - ' bn'
    argTypes:
    - v8::bigint::Processor*
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::V8_detail::ToDigits
    functionSourceFile: /src/cryptofuzz/modules/v8/module.cpp
    functionUses: 1
    functionsReached:
    - ToTrimmedString
    - cryptofuzz::module::V8_detail::ToDigits
    linkageType: ''
    returnType: std::optional<v8::bigint::ScratchDigits>
    signature: std::optional<v8::bigint::ScratchDigits> ToDigits(v8::bigint::Processor*
      processor, const component::Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/v8/module.cpp:43,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/v8/module.cpp:43,1
    - Dst: New
      Src: /src/cryptofuzz/modules/v8/module.cpp:47,1
    - Dst: Platform::Platform
      Src: /src/cryptofuzz/modules/v8/module.cpp:47,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/v8/module.cpp:50,1
    - Dst: cryptofuzz::module::V8_detail::ToDigits
      Src: /src/cryptofuzz/modules/v8/module.cpp:50,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/v8/module.cpp:51,1
    - Dst: cryptofuzz::module::V8_detail::ToDigits
      Src: /src/cryptofuzz/modules/v8/module.cpp:51,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/v8/module.cpp:53,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/v8/module.cpp:58,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/v8/module.cpp:59,1
    - Dst: std::make_unique<ScratchDigits>
      Src: /src/cryptofuzz/modules/v8/module.cpp:60,1
    - Dst: AddResultLength
      Src: /src/cryptofuzz/modules/v8/module.cpp:60,1
    - Dst: std::optional::len
      Src: /src/cryptofuzz/modules/v8/module.cpp:60,1
    - Dst: len
      Src: /src/cryptofuzz/modules/v8/module.cpp:60,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:61,1
    - Dst: Add
      Src: /src/cryptofuzz/modules/v8/module.cpp:61,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/v8/module.cpp:63,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/v8/module.cpp:64,1
    - Dst: std::optional::len
      Src: /src/cryptofuzz/modules/v8/module.cpp:64,1
    - Dst: len
      Src: /src/cryptofuzz/modules/v8/module.cpp:64,1
    - Dst: std::make_unique<ScratchDigits>
      Src: /src/cryptofuzz/modules/v8/module.cpp:65,1
    - Dst: SubtractResultLength
      Src: /src/cryptofuzz/modules/v8/module.cpp:65,1
    - Dst: std::optional::len
      Src: /src/cryptofuzz/modules/v8/module.cpp:65,1
    - Dst: len
      Src: /src/cryptofuzz/modules/v8/module.cpp:65,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:66,1
    - Dst: Subtract
      Src: /src/cryptofuzz/modules/v8/module.cpp:66,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/v8/module.cpp:68,1
    - Dst: std::make_unique<ScratchDigits>
      Src: /src/cryptofuzz/modules/v8/module.cpp:70,1
    - Dst: MultiplyResultLength
      Src: /src/cryptofuzz/modules/v8/module.cpp:70,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/v8/module.cpp:74,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/v8/module.cpp:79,1
    - Dst: auto::Multiply
      Src: /src/cryptofuzz/modules/v8/module.cpp:79,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:82,1
    - Dst: static_cast<ProcessorImpl*>
      Src: /src/cryptofuzz/modules/v8/module.cpp:82,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:87,1
    - Dst: static_cast<ProcessorImpl*>
      Src: /src/cryptofuzz/modules/v8/module.cpp:87,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:91,1
    - Dst: static_cast<ProcessorImpl*>
      Src: /src/cryptofuzz/modules/v8/module.cpp:91,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:96,1
    - Dst: static_cast<ProcessorImpl*>
      Src: /src/cryptofuzz/modules/v8/module.cpp:96,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/v8/module.cpp:104,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/v8/module.cpp:106,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/v8/module.cpp:106,1
    - Dst: DivideResultLength
      Src: /src/cryptofuzz/modules/v8/module.cpp:107,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/v8/module.cpp:108,1
    - Dst: std::make_unique<ScratchDigits>
      Src: /src/cryptofuzz/modules/v8/module.cpp:109,1
    - Dst: std::make_unique<ScratchDigits>
      Src: /src/cryptofuzz/modules/v8/module.cpp:111,1
    - Dst: len
      Src: /src/cryptofuzz/modules/v8/module.cpp:111,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/v8/module.cpp:115,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/v8/module.cpp:120,1
    - Dst: auto::Divide
      Src: /src/cryptofuzz/modules/v8/module.cpp:120,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:125,1
    - Dst: static_cast<ProcessorImpl*>
      Src: /src/cryptofuzz/modules/v8/module.cpp:125,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:132,1
    - Dst: static_cast<ProcessorImpl*>
      Src: /src/cryptofuzz/modules/v8/module.cpp:132,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:139,1
    - Dst: static_cast<ProcessorImpl*>
      Src: /src/cryptofuzz/modules/v8/module.cpp:139,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/v8/module.cpp:148,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/v8/module.cpp:150,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/v8/module.cpp:150,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/v8/module.cpp:153,1
    - Dst: Compare
      Src: /src/cryptofuzz/modules/v8/module.cpp:153,1
    - Dst: std::make_unique<ScratchDigits>
      Src: /src/cryptofuzz/modules/v8/module.cpp:155,1
    - Dst: ModuloResultLength
      Src: /src/cryptofuzz/modules/v8/module.cpp:155,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/v8/module.cpp:156,1
    - Dst: auto::Modulo
      Src: /src/cryptofuzz/modules/v8/module.cpp:156,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/v8/module.cpp:158,1
    - Dst: Compare
      Src: /src/cryptofuzz/modules/v8/module.cpp:160,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/v8/module.cpp:168,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/v8/module.cpp:172,1
    - Dst: std::make_unique<ScratchDigits>
      Src: /src/cryptofuzz/modules/v8/module.cpp:173,1
    - Dst: BitwiseAnd_PosPos_ResultLength
      Src: /src/cryptofuzz/modules/v8/module.cpp:173,1
    - Dst: std::optional::len
      Src: /src/cryptofuzz/modules/v8/module.cpp:173,1
    - Dst: len
      Src: /src/cryptofuzz/modules/v8/module.cpp:173,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:174,1
    - Dst: BitwiseAnd_PosPos
      Src: /src/cryptofuzz/modules/v8/module.cpp:174,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/v8/module.cpp:176,1
    - Dst: std::make_unique<ScratchDigits>
      Src: /src/cryptofuzz/modules/v8/module.cpp:177,1
    - Dst: BitwiseOrResultLength
      Src: /src/cryptofuzz/modules/v8/module.cpp:177,1
    - Dst: std::optional::len
      Src: /src/cryptofuzz/modules/v8/module.cpp:177,1
    - Dst: len
      Src: /src/cryptofuzz/modules/v8/module.cpp:177,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:178,1
    - Dst: BitwiseOr_PosPos
      Src: /src/cryptofuzz/modules/v8/module.cpp:178,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/v8/module.cpp:180,1
    - Dst: std::make_unique<ScratchDigits>
      Src: /src/cryptofuzz/modules/v8/module.cpp:181,1
    - Dst: BitwiseXor_PosPos_ResultLength
      Src: /src/cryptofuzz/modules/v8/module.cpp:181,1
    - Dst: std::optional::len
      Src: /src/cryptofuzz/modules/v8/module.cpp:181,1
    - Dst: len
      Src: /src/cryptofuzz/modules/v8/module.cpp:181,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/v8/module.cpp:182,1
    - Dst: BitwiseXor_PosPos
      Src: /src/cryptofuzz/modules/v8/module.cpp:182,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/v8/module.cpp:188,1
    - Dst: auto::ToString
      Src: /src/cryptofuzz/modules/v8/module.cpp:188,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/v8/module.cpp:192,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/v8/module.cpp:202,1
    - Dst: auto::Destroy
      Src: /src/cryptofuzz/modules/v8/module.cpp:203,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 121
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 206
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 206
    functionName: cryptofuzz::module::V8::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/v8/module.cpp
    functionUses: 0
    functionsReached:
    - BitwiseAnd_PosPos_ResultLength
    - CF_CALCOP
    - modifier::GetPtr
    - auto::Destroy
    - std::to_string
    - CF_CHECK_GT
    - auto::ToString
    - modifier::GetSize
    - static_cast<ProcessorImpl*>
    - len
    - auto::Multiply
    - std::optional::len
    - auto::Divide
    - SubtractResultLength
    - CF_CHECK_NE
    - auto::Modulo
    - BitwiseXor_PosPos_ResultLength
    - calcOp::Get
    - AddResultLength
    - BitwiseXor_PosPos
    - cryptofuzz::util::free
    - New
    - bn1::ToTrimmedString
    - MultiplyResultLength
    - CF_CHECK_EQ
    - std::string
    - Add
    - BitwiseAnd_PosPos
    - Platform::Platform
    - cryptofuzz::util::malloc
    - Compare
    - std::make_unique<ScratchDigits>
    - ModuloResultLength
    - cryptofuzz::module::V8_detail::ToDigits
    - BitwiseOrResultLength
    - CF_NORET
    - DivideResultLength
    - Datasource::Get
    - Subtract
    - BitwiseOr_PosPos
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> V8::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:15,1
    - Dst: mp_add
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:15,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:15,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:15,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 21
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 21
    functionName: cryptofuzz::module::libtommath_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_add
    - CF_CHECK_EQ
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:27,1
    - Dst: mp_sub
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:27,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:27,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:27,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: cryptofuzz::module::libtommath_bignum::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_sub
    - CF_CHECK_EQ
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:39,1
    - Dst: mp_mul
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:39,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:39,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:39,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: cryptofuzz::module::libtommath_bignum::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_mul
    - CF_CHECK_EQ
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:51,1
    - Dst: mp_div
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:51,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:51,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:51,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: cryptofuzz::module::libtommath_bignum::Div::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_div
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Div::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:63,1
    - Dst: mp_gcd
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:63,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:63,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:63,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: cryptofuzz::module::libtommath_bignum::GCD::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_gcd
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool GCD::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:75,1
    - Dst: mp_lcm
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:75,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:75,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:75,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: cryptofuzz::module::libtommath_bignum::LCM::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_lcm
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool LCM::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:87,1
    - Dst: mp_mod
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:87,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:87,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:87,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: cryptofuzz::module::libtommath_bignum::Mod::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - mp_mod
    linkageType: ''
    returnType: bool
    signature: bool Mod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:100,1
    - Dst: mp_iszero
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:100,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:100,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:102,1
    - Dst: mp_exptmod
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:102,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:102,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:102,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:102,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: cryptofuzz::module::libtommath_bignum::ExpMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_exptmod
    - CF_CHECK_EQ
    - GetPtr
    - mp_iszero
    linkageType: ''
    returnType: bool
    signature: bool ExpMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:113,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:113,1
    - Dst: mp_iseven
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:113,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: cryptofuzz::module::libtommath_bignum::IsEven::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_iseven
    - std::to_string
    - Set
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsEven::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:121,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:121,1
    - Dst: mp_isodd
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:121,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: cryptofuzz::module::libtommath_bignum::IsOdd::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - mp_isodd
    - Set
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsOdd::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:129,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:129,1
    - Dst: mp_iszero
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:129,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: cryptofuzz::module::libtommath_bignum::IsZero::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    - GetPtr
    - mp_iszero
    linkageType: ''
    returnType: bool
    signature: bool IsZero::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:137,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:137,1
    - Dst: mp_isneg
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:137,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: cryptofuzz::module::libtommath_bignum::IsNeg::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    - mp_isneg
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsNeg::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:146,1
    - Dst: mp_addmod
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:146,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:146,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:146,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:146,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 152
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 152
    functionName: cryptofuzz::module::libtommath_bignum::AddMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - mp_addmod
    linkageType: ''
    returnType: bool
    signature: bool AddMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:158,1
    - Dst: mp_submod
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:158,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:158,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:158,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:158,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: cryptofuzz::module::libtommath_bignum::SubMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_submod
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool SubMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:170,1
    - Dst: mp_mulmod
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:170,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:170,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:170,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:170,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: cryptofuzz::module::libtommath_bignum::MulMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_mulmod
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool MulMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:182,1
    - Dst: mp_sqrmod
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:182,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:182,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:182,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: cryptofuzz::module::libtommath_bignum::SqrMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_sqrmod
    - CF_CHECK_EQ
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool SqrMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:194,1
    - Dst: mp_invmod
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:194,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:194,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:194,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: cryptofuzz::module::libtommath_bignum::InvMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_invmod
    - CF_CHECK_EQ
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool InvMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:207,1
    - Dst: mp_kronecker
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:207,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:207,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:207,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:209,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: cryptofuzz::module::libtommath_bignum::Jacobi::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_EQ
    - mp_kronecker
    - Set
    - std::to_string
    linkageType: ''
    returnType: bool
    signature: bool Jacobi::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:221,1
    - Dst: mp_sqrt
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:221,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:221,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 227
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 227
    functionName: cryptofuzz::module::libtommath_bignum::Sqrt::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_sqrt
    - CF_CHECK_EQ
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Sqrt::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:232,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:232,1
    - Dst: mp_cmp
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:232,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:232,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: cryptofuzz::module::libtommath_bignum::Cmp::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_cmp
    - std::to_string
    - Set
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Cmp::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:241,1
    - Dst: mp_neg
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:241,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:241,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: cryptofuzz::module::libtommath_bignum::Neg::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mp_neg
    - CF_CHECK_EQ
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Neg::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:253,1
    - Dst: mp_abs
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:253,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:253,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 259
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 259
    functionName: cryptofuzz::module::libtommath_bignum::Abs::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_abs
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Abs::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:265,1
    - Dst: mp_and
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:265,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:265,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:265,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 271
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 271
    functionName: cryptofuzz::module::libtommath_bignum::And::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_and
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool And::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:277,1
    - Dst: mp_or
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:277,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:277,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:277,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 283
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 283
    functionName: cryptofuzz::module::libtommath_bignum::Or::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_or
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Or::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:289,1
    - Dst: mp_xor
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:289,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:289,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:289,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 295
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 295
    functionName: cryptofuzz::module::libtommath_bignum::Xor::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_xor
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Xor::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:301,1
    - Dst: mp_sqr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:301,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:301,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 307
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 307
    functionName: cryptofuzz::module::libtommath_bignum::Sqr::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_sqr
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Sqr::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:315,1
    - Dst: mp_is_square
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:315,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:315,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:317,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 323
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 323
    functionName: cryptofuzz::module::libtommath_bignum::IsSquare::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_EQ
    - std::to_string
    - Set
    - mp_is_square
    linkageType: ''
    returnType: bool
    signature: bool IsSquare::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:328,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:328,1
    - Dst: mp_count_bits
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:328,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: cryptofuzz::module::libtommath_bignum::NumBits::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    - mp_count_bits
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool NumBits::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:337,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:337,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:337,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:337,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:338,1
    - Dst: mp_lshd
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:338,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: cryptofuzz::module::libtommath_bignum::LShift1::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_copy
    - mp_lshd
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool LShift1::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:352,1
    - Dst: GetInt
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:352,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:353,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:353,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:353,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:353,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:354,1
    - Dst: mp_rshd
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:354,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 360
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 360
    functionName: cryptofuzz::module::libtommath_bignum::RShift::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mp_copy
    - CF_CHECK_NE
    - CF_NORET
    - CF_CHECK_EQ
    - mp_rshd
    - GetInt
    linkageType: ''
    returnType: bool
    signature: bool RShift::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:366,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:366,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:366,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 372
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 372
    functionName: cryptofuzz::module::libtommath_bignum::Set::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mp_copy
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Set::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:381,1
    - Dst: mp_count_bits
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:381,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:381,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:383,1
    - Dst: mp_iszero
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:383,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:383,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:384,1
    - Dst: GetInt
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:384,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:385,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:386,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:387,1
    - Dst: mp_root_n
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:387,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:387,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 393
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 393
    functionName: cryptofuzz::module::libtommath_bignum::Nthrt::Run
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - mp_root_n
    - CF_CHECK_EQ
    - mp_count_bits
    - mp_iszero
    - GetInt
    - CF_CHECK_LTE
    linkageType: ''
    returnType: bool
    signature: bool Nthrt::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 10
    functionName: cryptofuzz::module::libtommath::libtommath
    functionSourceFile: /src/cryptofuzz/modules/libtommath/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void libtommath::libtommath(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:14,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:14,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:18,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:19,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:20,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:21,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:25,1
    - Dst: libtommath_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:25,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:26,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:26,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:26,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:27,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:27,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:27,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:28,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:28,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:28,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:29,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:29,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:29,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:31,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:32,1
    - Dst: std::make_unique<libtommath_bignum::Add>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:33,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:35,1
    - Dst: std::make_unique<libtommath_bignum::Sub>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:36,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:38,1
    - Dst: std::make_unique<libtommath_bignum::Mul>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:39,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:41,1
    - Dst: std::make_unique<libtommath_bignum::Div>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:42,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:44,1
    - Dst: std::make_unique<libtommath_bignum::GCD>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:45,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:47,1
    - Dst: std::make_unique<libtommath_bignum::LCM>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:48,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:50,1
    - Dst: std::make_unique<libtommath_bignum::Mod>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:51,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:53,1
    - Dst: std::make_unique<libtommath_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:54,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:56,1
    - Dst: std::make_unique<libtommath_bignum::IsEven>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:57,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:59,1
    - Dst: std::make_unique<libtommath_bignum::IsOdd>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:60,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:62,1
    - Dst: std::make_unique<libtommath_bignum::IsZero>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:63,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:65,1
    - Dst: std::make_unique<libtommath_bignum::IsNeg>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:66,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:68,1
    - Dst: std::make_unique<libtommath_bignum::AddMod>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:69,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:71,1
    - Dst: std::make_unique<libtommath_bignum::SubMod>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:72,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:74,1
    - Dst: std::make_unique<libtommath_bignum::MulMod>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:75,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:77,1
    - Dst: std::make_unique<libtommath_bignum::SqrMod>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:78,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:80,1
    - Dst: std::make_unique<libtommath_bignum::InvMod>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:81,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:83,1
    - Dst: std::make_unique<libtommath_bignum::Jacobi>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:84,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:86,1
    - Dst: std::make_unique<libtommath_bignum::Sqrt>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:87,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:89,1
    - Dst: std::make_unique<libtommath_bignum::Cmp>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:90,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:92,1
    - Dst: std::make_unique<libtommath_bignum::Neg>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:93,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:95,1
    - Dst: std::make_unique<libtommath_bignum::Abs>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:96,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:98,1
    - Dst: std::make_unique<libtommath_bignum::And>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:99,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:101,1
    - Dst: std::make_unique<libtommath_bignum::Or>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:102,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:104,1
    - Dst: std::make_unique<libtommath_bignum::Xor>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:105,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:107,1
    - Dst: std::make_unique<libtommath_bignum::Sqr>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:108,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:110,1
    - Dst: std::make_unique<libtommath_bignum::IsSquare>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:111,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:113,1
    - Dst: std::make_unique<libtommath_bignum::NumBits>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:114,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:116,1
    - Dst: std::make_unique<libtommath_bignum::LShift1>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:117,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:119,1
    - Dst: std::make_unique<libtommath_bignum::RShift>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:120,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:122,1
    - Dst: std::make_unique<libtommath_bignum::Set>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:123,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:125,1
    - Dst: std::make_unique<libtommath_bignum::Nthrt>
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:126,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:130,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:131,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:131,1
    - Dst: libtommath_bignum::Bignum::ToComponentBignum
      Src: /src/cryptofuzz/modules/libtommath/module.cpp:133,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 110
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 137
      start: 12
    functionDepth: 3
    functionLinenumber: 12
    functionLinenumberEnd: 137
    functionName: cryptofuzz::module::libtommath::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/libtommath/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - std::make_unique<libtommath_bignum::LCM>
    - modifier::GetPtr
    - libtommath_bignum::Bignum::ToComponentBignum
    - std::make_unique<libtommath_bignum::Set>
    - modifier::GetSize
    - std::make_unique<libtommath_bignum::MulMod>
    - bn1::ToString
    - bn3::ToString
    - std::make_unique<libtommath_bignum::Add>
    - std::make_unique<libtommath_bignum::IsEven>
    - std::make_unique<libtommath_bignum::IsOdd>
    - std::make_unique<libtommath_bignum::Neg>
    - CF_CHECK_NE
    - std::make_unique<libtommath_bignum::Mod>
    - bn2::ToString
    - std::make_unique<libtommath_bignum::Div>
    - calcOp::Get
    - std::make_unique<libtommath_bignum::InvMod>
    - bn0::ToString
    - std::make_unique<libtommath_bignum::Abs>
    - std::make_unique<libtommath_bignum::Sub>
    - std::make_unique<libtommath_bignum::SubMod>
    - std::make_unique<libtommath_bignum::And>
    - std::make_unique<libtommath_bignum::Sqrt>
    - std::make_unique<libtommath_bignum::Jacobi>
    - std::make_unique<libtommath_bignum::NumBits>
    - CF_CHECK_EQ
    - std::make_unique<libtommath_bignum::SqrMod>
    - std::make_unique<libtommath_bignum::Sqr>
    - std::unique_ptr::Run
    - std::make_unique<libtommath_bignum::Nthrt>
    - std::make_unique<libtommath_bignum::RShift>
    - std::make_unique<libtommath_bignum::ExpMod>
    - std::make_unique<libtommath_bignum::Or>
    - std::make_unique<libtommath_bignum::GCD>
    - std::make_unique<libtommath_bignum::IsSquare>
    - std::make_unique<libtommath_bignum::IsZero>
    - std::make_unique<libtommath_bignum::Mul>
    - Set
    - std::make_unique<libtommath_bignum::LShift1>
    - libtommath_bignum::Bignum::Set
    - std::make_unique<libtommath_bignum::Xor>
    - getBignum
    - std::make_unique<libtommath_bignum::AddMod>
    - std::make_unique<libtommath_bignum::IsNeg>
    - std::make_unique<libtommath_bignum::Cmp>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> libtommath::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_init
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:17,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: cryptofuzz::module::libtommath_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.h
    functionUses: 0
    functionsReached:
    - std::exception
    - mp_init
    linkageType: ''
    returnType: void
    signature: void Bignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_clear
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: ~Bignum()
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.h
    functionUses: 0
    functionsReached:
    - mp_clear
    linkageType: ''
    returnType: void
    signature: void ~Bignum()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_init
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:28,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:29,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:31,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: cryptofuzz::module::libtommath_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.h
    functionUses: 0
    functionsReached:
    - mp_copy
    - std::exception
    - mp_init
    linkageType: ''
    returnType: void
    signature: void Bignum(const Bignum& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_init
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:37,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:38,1
    - Dst: mp_copy
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:40,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:41,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: cryptofuzz::module::libtommath_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.h
    functionUses: 0
    functionsReached:
    - mp_copy
    - std::exception
    - mp_init
    linkageType: ''
    returnType: void
    signature: void Bignum(const Bignum&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:48,1
    - Dst: mp_read_radix
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:48,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: cryptofuzz::module::libtommath_bignum::Bignum::Set
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.h
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - CF_CHECK_EQ
    - mp_read_radix
    linkageType: ''
    returnType: bool
    signature: bool Set(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: cryptofuzz::module::libtommath_bignum::Bignum::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mp_int
    signature: mp_int * GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:62,1
    - Dst: mp_count_bits
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:62,1
    - Dst: cryptofuzz::module::libtommath_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:62,1
    - Dst: mp_get_i32
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:64,1
    - Dst: cryptofuzz::module::libtommath_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: cryptofuzz::module::libtommath_bignum::Bignum::GetInt
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libtommath_bignum::Bignum::GetPtr
    - mp_get_i32
    - CF_CHECK_LTE
    - mp_count_bits
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> GetInt(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:78,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:80,1
    - Dst: mp_to_radix
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:80,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:82,1
    - Dst: free
      Src: /src/cryptofuzz/modules/libtommath/bn_ops.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 87
    functionName: cryptofuzz::module::libtommath_bignum::Bignum::ToComponentBignum
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.h
    functionUses: 0
    functionsReached:
    - free
    - CF_CHECK_EQ
    - std::string
    - malloc
    - mp_to_radix
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ToComponentBignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/libtommath/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::CipherToString
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:21,1
    - Dst: component::SymmetricCipher::cipherType::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:21,1
    - Dst: std::string::find
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:23,1
    - Dst: std::string::find
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:26,1
    - Dst: std::string::find
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:29,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:32,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:35,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:35,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:38,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:41,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - component::SymmetricCipher
    constantsTouched: []
    func_position:
      end: 48
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::is_cipher_consistent
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - component::SymmetricCipher::cipherType::Get
    - std::string::rfind
    - cryptofuzz::repository::CipherToString
    - std::string::find
    linkageType: ''
    returnType: bool
    signature: bool is_cipher_consistent(component::SymmetricCipher cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ds
    argTypes:
    - Datasource*
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::SetGlobalDs
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetGlobalDs(Datasource* ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::UnsetGlobalDs
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnsetGlobalDs(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AllocationFailure
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: bool
    signature: bool AllocationFailure(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:80,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:81,1
    - Dst: shrink_to_fit
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' vector'
    - size
    argTypes:
    - std::vector<uint8_t>
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: cryptofuzz::module::vector_extend
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - resize
    - reserve
    - shrink_to_fit
    linkageType: ''
    returnType: void
    signature: void vector_extend(std::vector<uint8_t>& vector, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::AllocationFailure
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:86,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - A
    - B
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: cryptofuzz::module::mbedTLS_custom_calloc
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - memset
    - cryptofuzz::module::TF_PSA_Crypto_detail::AllocationFailure
    linkageType: ''
    returnType: void
    signature: void * mbedTLS_custom_calloc(size_t A, size_t B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: cryptofuzz::module::mbedTLS_custom_free
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    linkageType: ''
    returnType: void
    signature: void mbedTLS_custom_free(void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_set_calloc_free
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:106,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:107,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:114,1
    - Dst: psa_crypto_init
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: cryptofuzz::module::TF_PSA_Crypto::TF_PSA_Crypto
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_platform_set_calloc_free
    - psa_crypto_init
    - CF_ASSERT_PSA
    - abort
    linkageType: ''
    returnType: void
    signature: void TF_PSA_Crypto::TF_PSA_Crypto(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_psa_crypto_free
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: TF_PSA_Crypto::~TF_PSA_Crypto(void)
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_psa_crypto_free
    linkageType: ''
    returnType: void
    signature: void TF_PSA_Crypto::~TF_PSA_Crypto(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:128,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:129,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:130,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:131,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:132,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:133,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:134,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:135,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:136,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:137,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:138,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:141,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:141,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:141,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:145,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 146
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 146
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::digest_to_psa_algorithm_t
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::find
    - std::map::end
    - std::map::at
    - CF_DIGEST
    - Get
    linkageType: ''
    returnType: psa_algorithm_t
    signature: psa_algorithm_t digest_to_psa_algorithm_t(const component::DigestType&
      digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::CipherToString
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:149,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:149,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:150,1
    - Dst: std::string::find
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:150,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:152,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:154,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:156,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:158,1
    - Dst: std::string::find
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:158,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:160,1
    - Dst: std::string::find
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - ' cipherType'
    argTypes:
    - component::SymmetricCipherType
    constantsTouched: []
    func_position:
      end: 165
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 165
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::cipher_to_psa_key_type_t
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - std::string::rfind
    - cryptofuzz::repository::CipherToString
    - std::string::find
    linkageType: ''
    returnType: psa_key_type_t
    signature: psa_key_type_t cipher_to_psa_key_type_t(const component::SymmetricCipherType&
      cipherType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::CipherToString
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:169,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:169,1
    - Dst: std::string::rfind
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:170,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:172,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:174,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:180,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:182,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:184,1
    - Dst: std::equal
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:184,1
    - Dst: std::string::end
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:184,1
    - Dst: std::string::end
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:184,1
    - Dst: cryptofuzz::repository::IsCTR
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:188,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:190,1
    - Dst: cryptofuzz::repository::IsGCM
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:192,1
    - Dst: cryptofuzz::repository::IsOFB
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:194,1
    - Dst: cryptofuzz::repository::IsAES
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:195,1
    - Dst: cryptofuzz::repository::IsXTS
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:202,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:205,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:207,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - ' cipherType'
    argTypes:
    - component::SymmetricCipherType
    constantsTouched: []
    func_position:
      end: 212
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 212
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::cipher_to_psa_algorithm_t
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - cryptofuzz::repository::IsCTR
    - cryptofuzz::repository::IsECB
    - cryptofuzz::repository::IsGCM
    - cryptofuzz::repository::IsAES
    - cryptofuzz::repository::IsCBC
    - cryptofuzz::repository::IsCCM
    - CF_CIPHER
    - cryptofuzz::repository::IsOFB
    - cryptofuzz::repository::IsXTS
    - std::equal
    - cryptofuzz::repository::CipherToString
    - Get
    - std::string::end
    - std::string::rfind
    linkageType: ''
    returnType: psa_algorithm_t
    signature: psa_algorithm_t cipher_to_psa_algorithm_t(const component::SymmetricCipherType&
      cipherType)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::HashOperation::HashOperation
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HashOperation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_abort
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: ~HashOperation()
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_hash_abort
    linkageType: ''
    returnType: void
    signature: void ~HashOperation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alg
    argTypes:
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::HashOperation::setup
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_hash_setup
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t setup(psa_algorithm_t alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_update
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::HashOperation::update
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_hash_update
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t update(const unsigned char *input, size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_finish
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - output
    - output_size
    - output_length
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::HashOperation::finish
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_hash_finish
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t finish(unsigned char *output, size_t output_size,\n                            size_t
      *output_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_hash_verify
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hash
    - hash_length
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::HashOperation::verify
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_hash_verify
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t verify(const unsigned char *hash, size_t hash_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::KeyOperation::KeyOperation
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyOperation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_destroy_key
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: ~KeyOperation()
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_destroy_key
    linkageType: ''
    returnType: void
    signature: void ~KeyOperation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSA_BYTES_TO_BITS
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:265,1
    - Dst: psa_set_key_type
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:267,1
    - Dst: psa_set_key_usage_flags
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:268,1
    - Dst: usage_flags
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:268,1
    - Dst: psa_set_key_algorithm
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:269,1
    - Dst: psa_import_key
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - key_type_
    - key_data
    - key_length
    - alg_
    argTypes:
    - psa_key_type_t
    - unsigned char*
    - size_t
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 271
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 271
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::KeyOperation::set_key
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - usage_flags
    - psa_import_key
    - PSA_BYTES_TO_BITS
    - psa_set_key_algorithm
    - psa_set_key_type
    - psa_set_key_usage_flags
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t set_key(psa_key_type_t key_type_,\n                             const
      unsigned char *key_data, size_t key_length,\n                             psa_algorithm_t
      alg_)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::MACOperation::usage_flags
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: psa_key_usage_t
    signature: psa_key_usage_t usage_flags() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 283
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::MACOperation::MACOperation
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MACOperation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_abort
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: ~MACOperation()
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_mac_abort
    linkageType: ''
    returnType: void
    signature: void ~MACOperation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSA_MAC_LENGTH
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::MACOperation::length
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - PSA_MAC_LENGTH
    linkageType: ''
    returnType: size_t
    signature: size_t length()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_compute
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::MACOperation::sign
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_mac_compute
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t sign(const unsigned char *input, size_t input_length,\n
      \                         unsigned char *output, size_t output_size,\n                          size_t
      *output_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_verify
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - input
    - input_length
    - mac
    - mac_length
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::MACOperation::verify
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_mac_verify
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t verify(const unsigned char *input, size_t input_length,\n
      \                           const unsigned char *mac, size_t mac_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_sign_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::MACOperation::sign_start
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_mac_sign_setup
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t sign_start()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_verify_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::MACOperation::verify_start
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_mac_verify_setup
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t verify_start()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_update
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::MACOperation::update
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_mac_update
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t update(const unsigned char *input, size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_sign_finish
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - output
    - output_size
    - output_length
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::MACOperation::sign_finish
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_mac_sign_finish
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t sign_finish(unsigned char *output, size_t output_size,\n
      \                                size_t *output_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_mac_verify_finish
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mac
    - mac_length
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::MACOperation::verify_finish
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_mac_verify_finish
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t verify_finish(const unsigned char *mac, size_t mac_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::usage_flags
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: psa_key_usage_t
    signature: psa_key_usage_t usage_flags() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 332
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::CipherOperation
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CipherOperation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_abort
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: ~CipherOperation()
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_cipher_abort
    linkageType: ''
    returnType: void
    signature: void ~CipherOperation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSA_BLOCK_CIPHER_BLOCK_LENGTH
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - PSA_BLOCK_CIPHER_BLOCK_LENGTH
    linkageType: ''
    returnType: size_t
    signature: size_t block_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSA_CIPHER_DECRYPT_OUTPUT_SIZE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::decrypt_output_size
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - PSA_CIPHER_DECRYPT_OUTPUT_SIZE
    linkageType: ''
    returnType: size_t
    signature: size_t decrypt_output_size(size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:346,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - input_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 351
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 351
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::update_output_size
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
    linkageType: ''
    returnType: size_t
    signature: size_t update_output_size(size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSA_CIPHER_FINISH_OUTPUT_SIZE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::finish_output_size
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - PSA_CIPHER_FINISH_OUTPUT_SIZE
    linkageType: ''
    returnType: size_t
    signature: size_t finish_output_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::has_padding
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t has_padding()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:378,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - iv_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 383
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 383
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::is_valid_iv_length
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
    linkageType: ''
    returnType: bool
    signature: bool is_valid_iv_length(size_t iv_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::has_padding
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:393,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::has_padding
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:397,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:398,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:405,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:410,1
    - Dst: cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:412,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 3
    argNames:
    - is_encrypt
    - input_length
    - status
    argTypes:
    - bool
    - size_t
    - psa_status_t
    constantsTouched: []
    func_position:
      end: 414
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 414
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::check_finish_status
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::block_size
    - cryptofuzz::ExecutorBase<ResultType, OperationType>::abort
    - cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::has_padding
    - printf
    linkageType: ''
    returnType: bool
    signature: "bool check_finish_status(bool is_encrypt, size_t input_length,\n                                 psa_status_t
      status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_decrypt
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 425
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 425
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::decrypt
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_cipher_decrypt
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t decrypt(const unsigned char *input, size_t input_length,\n
      \                            unsigned char *output, size_t output_size,\n                             size_t
      *output_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_encrypt_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::encrypt_setup
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_cipher_encrypt_setup
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t encrypt_setup()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_decrypt_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 432
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::decrypt_setup
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_cipher_decrypt_setup
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t decrypt_setup()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_set_iv
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iv
    - iv_length
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::set_iv
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_cipher_set_iv
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t set_iv(const unsigned char *iv, size_t iv_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_update
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 441
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 441
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::update
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_cipher_update
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t update(const unsigned char *input, size_t input_length,\n
      \                           unsigned char *output, size_t output_size,\n                            size_t
      *output_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_cipher_finish
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - output
    - output_size
    - output_length
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::CipherOperation::finish
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_cipher_finish
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t finish(unsigned char *output, size_t output_size,\n                            size_t
      *output_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::usage_flags
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: psa_key_usage_t
    signature: psa_key_usage_t usage_flags() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 458
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 458
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::AEADOperation
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AEADOperation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_abort
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 462
    functionName: ~AEADOperation()
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_aead_abort
    linkageType: ''
    returnType: void
    signature: void ~AEADOperation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSA_AEAD_TAG_LENGTH
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 466
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 466
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::tag_length
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - PSA_AEAD_TAG_LENGTH
    linkageType: ''
    returnType: size_t
    signature: size_t tag_length()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSA_AEAD_UPDATE_OUTPUT_SIZE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - part_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 469
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 469
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::update_output_size
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - PSA_AEAD_UPDATE_OUTPUT_SIZE
    linkageType: ''
    returnType: size_t
    signature: size_t update_output_size(size_t part_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSA_AEAD_FINISH_OUTPUT_SIZE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::finish_output_size
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - PSA_AEAD_FINISH_OUTPUT_SIZE
    linkageType: ''
    returnType: size_t
    signature: size_t finish_output_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSA_AEAD_VERIFY_OUTPUT_SIZE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 475
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 475
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::verify_output_size
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - PSA_AEAD_VERIFY_OUTPUT_SIZE
    linkageType: ''
    returnType: size_t
    signature: size_t verify_output_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - iv_length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 489
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 489
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::is_valid_iv_length
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid_iv_length(size_t iv_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:495,1
    - Dst: PSA_AEAD_ENCRYPT_OUTPUT_SIZE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:496,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:497,1
    - Dst: psa_aead_encrypt
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:499,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:500,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:500,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:501,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:501,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:502,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:502,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:503,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:503,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' iv'
    - ' aad'
    - ' cleartext'
    - ' ciphertext_with_tag'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 510
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 510
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::encrypt
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - PSA_AEAD_ENCRYPT_OUTPUT_SIZE
    - size
    - resize
    - psa_aead_encrypt
    - vector_extend
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t encrypt(const std::vector<uint8_t>& iv,\n                             const
      std::vector<uint8_t>& aad,\n                             const std::vector<uint8_t>&
      cleartext,\n                             std::vector<uint8_t>& ciphertext_with_tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:516,1
    - Dst: PSA_AEAD_DECRYPT_OUTPUT_SIZE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:517,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:518,1
    - Dst: psa_aead_decrypt
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:520,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:521,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:521,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:522,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:522,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:523,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:523,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:524,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:524,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' iv'
    - ' aad'
    - ' ciphertext_with_tag'
    - ' cleartext'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 530
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 530
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::decrypt
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - resize
    - psa_aead_decrypt
    - vector_extend
    - PSA_AEAD_DECRYPT_OUTPUT_SIZE
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t decrypt(const std::vector<uint8_t>& iv,\n                             const
      std::vector<uint8_t>& aad,\n                             const std::vector<uint8_t>&
      ciphertext_with_tag,\n                             std::vector<uint8_t>& cleartext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_encrypt_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 534
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 534
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::encrypt_setup
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_aead_encrypt_setup
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t encrypt_setup()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_decrypt_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 537
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 537
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::decrypt_setup
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_aead_decrypt_setup
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t decrypt_setup()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_set_lengths
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aad_length
    - cleartext_length
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 540
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 540
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::set_lengths
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_aead_set_lengths
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t set_lengths(size_t aad_length, size_t cleartext_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_set_nonce
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iv
    - iv_length
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 543
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 543
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::set_iv
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_aead_set_nonce
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t set_iv(const unsigned char *iv, size_t iv_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_update_ad
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 546
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 546
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::update_aad
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_aead_update_ad
    linkageType: ''
    returnType: psa_status_t
    signature: psa_status_t update_aad(const unsigned char *input, size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_update
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 552
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 552
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::update
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_aead_update
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t update(const unsigned char *input, size_t input_length,\n
      \                           unsigned char *output, size_t output_size,\n                            size_t
      *output_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_finish
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ciphertext
    - ciphertext_size
    - ciphertext_length
    - tag
    - tag_size
    - tag_length
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - unsigned char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 560
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 560
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::finish
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_aead_finish
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t finish(unsigned char *ciphertext, size_t ciphertext_size,\n
      \                           size_t *ciphertext_length,\n                            unsigned
      char *tag, size_t tag_size,\n                            size_t *tag_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: psa_aead_verify
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cleartext
    - cleartext_size
    - cleartext_length
    - tag
    - tag_length
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 567
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 567
    functionName: cryptofuzz::module::TF_PSA_Crypto_detail::AEADOperation::verify
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - psa_aead_verify
    linkageType: ''
    returnType: psa_status_t
    signature: "psa_status_t verify(unsigned char *cleartext, size_t cleartext_size,\n
      \                           size_t *cleartext_length,\n                            unsigned
      char *tag, size_t tag_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:581,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:582,1
    - Dst: TF_PSA_Crypto_detail::HashOperation::setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:582,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:586,1
    - Dst: TF_PSA_Crypto_detail::HashOperation::update
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:586,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:590,1
    - Dst: TF_PSA_Crypto_detail::HashOperation::finish
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:590,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:590,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:590,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:593,1
    - Dst: psa_hash_compute
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:593,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:594,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:594,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:595,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:595,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:597,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' op'
    - ds
    - alg
    argTypes:
    - operation::Digest
    - Datasource
    - psa_algorithm_t
    constantsTouched: []
    func_position:
      end: 598
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 598
    functionName: cryptofuzz::module::hash_compute
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - TF_PSA_Crypto_detail::HashOperation::setup
    - psa_hash_compute
    - cleartext::GetPtr
    - CF_ASSERT_PSA
    - Botan::PKCS11::LowLevel::C_Digest
    - TF_PSA_Crypto_detail::HashOperation::update
    - cleartext::GetSize
    - TF_PSA_Crypto_detail::HashOperation::finish
    - cryptofuzz::util::ToParts
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: "std::optional<component::Digest> hash_compute(operation::Digest& op,\n
      \                                                    Datasource &ds,\n                                                     psa_algorithm_t
      alg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:607,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:607,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:607,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:608,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:616,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:617,1
    - Dst: TF_PSA_Crypto_detail::HashOperation::setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:617,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:621,1
    - Dst: TF_PSA_Crypto_detail::HashOperation::update
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:621,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:625,1
    - Dst: TF_PSA_Crypto_detail::HashOperation::verify
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:625,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:625,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:625,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:629,1
    - Dst: psa_hash_compare
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:629,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:630,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:630,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:631,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:631,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' op'
    - ds
    - alg
    - expected_md
    argTypes:
    - operation::Digest
    - Datasource
    - psa_algorithm_t
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 634
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 634
    functionName: cryptofuzz::module::hash_verify
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - TF_PSA_Crypto_detail::HashOperation::setup
    - std::vector::data
    - cleartext::GetPtr
    - CF_ASSERT_PSA
    - TF_PSA_Crypto_detail::HashOperation::update
    - cleartext::GetSize
    - CF_ASSERT_EQ
    - TF_PSA_Crypto_detail::HashOperation::verify
    - psa_hash_compare
    - cryptofuzz::util::ToParts
    - Datasource::GetData
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: void
    signature: "void hash_verify(operation::Digest& op,\n                        Datasource
      &ds,\n                        psa_algorithm_t alg,\n                        std::vector<uint8_t>
      expected_md)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:638,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:638,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:639,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::digest_to_psa_algorithm_t
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:642,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:644,1
    - Dst: hash_compute
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:646,1
    - Dst: hash_verify
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:647,1
    - Dst: std::optional::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:647,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 653
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 653
    functionName: cryptofuzz::module::TF_PSA_Crypto::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::TF_PSA_Crypto_detail::digest_to_psa_algorithm_t
    - CF_CHECK_NE
    - modifier::GetPtr
    - hash_verify
    - modifier::GetSize
    - hash_compute
    - cryptofuzz::module::TF_PSA_Crypto_detail::UnsetGlobalDs
    - std::optional::Get
    - cryptofuzz::module::TF_PSA_Crypto_detail::SetGlobalDs
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> TF_PSA_Crypto::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:659,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:663,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:664,1
    - Dst: sign_start
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:664,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:666,1
    - Dst: update
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:666,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:668,1
    - Dst: sign_finish
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:668,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:668,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:668,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:671,1
    - Dst: sign
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:671,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:671,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:671,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:672,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:672,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:674,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' operation'
    - ' cleartext'
    - ds
    argTypes:
    - TF_PSA_Crypto_detail::MACOperation
    - component::Cleartext
    - Datasource
    constantsTouched: []
    func_position:
      end: 675
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 675
    functionName: cryptofuzz::module::mac_compute
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - sign_finish
    - sign
    - std::vector::size
    - GetPtr
    - CF_ASSERT_PSA
    - Botan_CLI::HMAC::HMAC
    - length
    - GetSize
    - cryptofuzz::util::ToParts
    - update
    - sign_start
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: "std::optional<component::MAC> mac_compute(\n        TF_PSA_Crypto_detail::MACOperation&
      operation,\n        const component::Cleartext& cleartext,\n        Datasource
      &ds)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:685,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:685,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:685,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:686,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:692,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:693,1
    - Dst: verify_start
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:693,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:695,1
    - Dst: update
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:695,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:697,1
    - Dst: verify_finish
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:697,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:697,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:697,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:700,1
    - Dst: verify
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:700,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:700,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:700,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:701,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' operation'
    - ' cleartext'
    - ds
    - expected_mac
    argTypes:
    - TF_PSA_Crypto_detail::MACOperation
    - component::Cleartext
    - Datasource
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 704
      start: 677
    functionDepth: 2
    functionLinenumber: 677
    functionLinenumberEnd: 704
    functionName: cryptofuzz::module::mac_verify
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - verify
    - GetPtr
    - std::vector::size
    - std::vector::data
    - CF_ASSERT_PSA
    - verify_start
    - CF_ASSERT_EQ
    - verify_finish
    - GetSize
    - cryptofuzz::util::ToParts
    - update
    - Datasource::GetData
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: void
    signature: "void mac_verify(\n        TF_PSA_Crypto_detail::MACOperation& operation,\n
      \       const component::Cleartext& cleartext,\n        Datasource &ds,\n        std::vector<uint8_t>
      expected_mac)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:708,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:708,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:709,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::digest_to_psa_algorithm_t
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:712,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:714,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:717,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:717,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:720,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:720,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:724,1
    - Dst: TF_PSA_Crypto_detail::MACOperation::set_key
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:724,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:725,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:726,1
    - Dst: PSA_ALG_HMAC
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:727,1
    - Dst: mac_compute
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:728,1
    - Dst: mac_verify
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:729,1
    - Dst: std::optional::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:729,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 736
      start: 706
    functionDepth: 2
    functionLinenumber: 706
    functionLinenumberEnd: 736
    functionName: cryptofuzz::module::TF_PSA_Crypto::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - PSA_ALG_HMAC
    - cryptofuzz::module::TF_PSA_Crypto_detail::digest_to_psa_algorithm_t
    - CF_CHECK_NE
    - modifier::GetPtr
    - CF_ASSERT_PSA
    - modifier::GetSize
    - cipher::key::GetPtr
    - mac_compute
    - mac_verify
    - cryptofuzz::module::TF_PSA_Crypto_detail::UnsetGlobalDs
    - std::optional::Get
    - cipher::key::GetSize
    - cryptofuzz::module::TF_PSA_Crypto_detail::SetGlobalDs
    - CF_CHECK_LTE
    - TF_PSA_Crypto_detail::MACOperation::set_key
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> TF_PSA_Crypto::OpHMAC(operation::HMAC&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:740,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:740,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:741,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:743,1
    - Dst: is_cipher_consistent
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:743,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::cipher_to_psa_key_type_t
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:747,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:749,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:752,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:752,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:752,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:754,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:755,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:758,1
    - Dst: TF_PSA_Crypto_detail::MACOperation::set_key
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:758,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:759,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:760,1
    - Dst: mac_compute
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:762,1
    - Dst: mac_verify
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:763,1
    - Dst: std::optional::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:763,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 770
      start: 738
    functionDepth: 3
    functionLinenumber: 738
    functionLinenumberEnd: 770
    functionName: cryptofuzz::module::TF_PSA_Crypto::OpCMAC
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - is_cipher_consistent
    - cryptofuzz::repository::IsCBC
    - modifier::GetPtr
    - cipher::cipherType::Get
    - CF_ASSERT_PSA
    - modifier::GetSize
    - cipher::key::GetPtr
    - mac_compute
    - mac_verify
    - cryptofuzz::module::TF_PSA_Crypto_detail::UnsetGlobalDs
    - std::optional::Get
    - cipher::key::GetSize
    - TF_PSA_Crypto_detail::MACOperation::set_key
    - CF_CHECK_TRUE
    - cryptofuzz::module::TF_PSA_Crypto_detail::SetGlobalDs
    - cryptofuzz::module::TF_PSA_Crypto_detail::cipher_to_psa_key_type_t
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> TF_PSA_Crypto::OpCMAC(operation::CMAC&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:777,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:777,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:777,1
    - Dst: end
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:777,1
    - Dst: cryptofuzz::module::vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:779,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::decrypt_output_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:779,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:779,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::decrypt
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:781,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:781,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:781,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:782,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:782,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:784,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::check_finish_status
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:785,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - operation
    - iv
    - ' ciphertext'
    - ' cleartext'
    argTypes:
    - TF_PSA_Crypto_detail::CipherOperation
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 786
      start: 772
    functionDepth: 3
    functionLinenumber: 772
    functionLinenumberEnd: 786
    functionName: cryptofuzz::module::cipher_decrypt_oneshot
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - cryptofuzz::module::vector_extend
    - TF_PSA_Crypto_detail::CipherOperation::decrypt_output_size
    - begin
    - data
    - TF_PSA_Crypto_detail::CipherOperation::decrypt
    - size
    - TF_PSA_Crypto_detail::CipherOperation::check_finish_status
    - end
    - resize
    - std::vector::insert
    - std::vector::end
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: "bool cipher_decrypt_oneshot(TF_PSA_Crypto_detail::CipherOperation
      operation,\n                                   const std::vector<uint8_t> &iv,\n
      \                                  const std::vector<uint8_t>& ciphertext,\n
      \                                  std::vector<uint8_t>& cleartext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:796,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::encrypt
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:796,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:797,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:797,1
    - Dst: cryptofuzz::module::vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:799,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:799,1
    - Dst: copy
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:800,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:800,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:800,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:800,1
    - Dst: cryptofuzz::module::vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:801,1
    - Dst: copy
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:802,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:802,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:802,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - operation
    - iv
    - ' aad'
    - ' cleartext'
    - ' ciphertext'
    - ' tag'
    argTypes:
    - TF_PSA_Crypto_detail::AEADOperation
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 803
      start: 788
    functionDepth: 3
    functionLinenumber: 788
    functionLinenumberEnd: 803
    functionName: cryptofuzz::module::aead_encrypt_oneshot
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - TF_PSA_Crypto_detail::AEADOperation::encrypt
    - CF_ASSERT
    - std::vector::size
    - cryptofuzz::module::vector_extend
    - copy
    - std::vector::begin
    - begin
    - CF_ASSERT_PSA
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: "void aead_encrypt_oneshot(TF_PSA_Crypto_detail::AEADOperation operation,\n
      \                                const std::vector<uint8_t> &iv,\n                                 const
      std::vector<uint8_t>& aad,\n                                 const std::vector<uint8_t>&
      cleartext,\n                                 std::vector<uint8_t>& ciphertext,\n
      \                                std::vector<uint8_t>& tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:812,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:812,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:812,1
    - Dst: end
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:812,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::decrypt
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:813,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - operation
    - ' iv'
    - aad
    - ' ciphertext'
    - ' tag'
    - cleartext
    argTypes:
    - TF_PSA_Crypto_detail::AEADOperation
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 818
      start: 805
    functionDepth: 3
    functionLinenumber: 805
    functionLinenumberEnd: 818
    functionName: cryptofuzz::module::aead_decrypt_oneshot
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - begin
    - TF_PSA_Crypto_detail::AEADOperation::decrypt
    - end
    - std::vector::insert
    - std::vector::end
    linkageType: ''
    returnType: bool
    signature: "bool aead_decrypt_oneshot(TF_PSA_Crypto_detail::AEADOperation operation,\n
      \                                const std::vector<uint8_t>& iv,\n                                 const
      std::vector<uint8_t> &aad,\n                                 const std::vector<uint8_t>&
      ciphertext,\n                                 const std::vector<uint8_t>& tag,\n
      \                                std::vector<uint8_t> &cleartext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:826,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::encrypt_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:826,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:828,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::decrypt_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:828,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:832,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::set_iv
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:832,1
    - Dst: std::optional<std::vector<uint8_t>>::data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:832,1
    - Dst: std::optional<std::vector<uint8_t>>::size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:832,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:835,1
    - Dst: cryptofuzz::module::vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:839,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::update_output_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:839,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:842,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::update
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:842,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:843,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:844,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:846,1
    - Dst: cryptofuzz::module::vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:850,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::finish_output_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:850,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::finish
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:852,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:852,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:853,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:855,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::check_finish_status
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - operation
    - is_encrypt
    - iv
    - ' input_parts'
    - ' output'
    argTypes:
    - TF_PSA_Crypto_detail::CipherOperation
    - bool
    - std::optional<std::vector<uint8_t>>
    - util::Multipart
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 857
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 857
    functionName: cryptofuzz::module::cipher_multipart
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - TF_PSA_Crypto_detail::CipherOperation::encrypt_setup
    - cryptofuzz::module::vector_extend
    - std::optional<std::vector<uint8_t>>::data
    - data
    - CF_ASSERT_PSA
    - TF_PSA_Crypto_detail::CipherOperation::update_output_size
    - std::optional<std::vector<uint8_t>>::size
    - size
    - TF_PSA_Crypto_detail::CipherOperation::finish_output_size
    - resize
    - TF_PSA_Crypto_detail::CipherOperation::decrypt_setup
    - TF_PSA_Crypto_detail::CipherOperation::set_iv
    - TF_PSA_Crypto_detail::CipherOperation::update
    - TF_PSA_Crypto_detail::CipherOperation::finish
    - TF_PSA_Crypto_detail::CipherOperation::check_finish_status
    linkageType: ''
    returnType: bool
    signature: "bool cipher_multipart(TF_PSA_Crypto_detail::CipherOperation operation,\n
      \                            bool is_encrypt,\n                             const
      std::optional<std::vector<uint8_t>> iv,\n                             const
      util::Multipart& input_parts,\n                             std::vector<uint8_t>&
      output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:867,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::encrypt_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:867,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:869,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::decrypt_setup
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:869,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:873,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::set_lengths
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:873,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:875,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::set_iv
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:875,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:875,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:875,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:878,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::update_aad
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:878,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:881,1
    - Dst: cryptofuzz::module::vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:884,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::update_output_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:884,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:886,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::update
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:886,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:887,1
    - Dst: capacity
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:888,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:890,1
    - Dst: cryptofuzz::module::vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:895,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::finish_output_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:895,1
    - Dst: cryptofuzz::module::vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:896,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::tag_length
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:896,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:899,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::finish
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:899,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:899,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:900,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:902,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:902,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:903,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:904,1
    - Dst: cryptofuzz::module::vector_extend
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:907,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::verify_output_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:907,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::verify
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:909,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:909,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:910,1
    - Dst: data
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:912,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:912,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:913,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:916,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 9
    argNames:
    - operation
    - is_encrypt
    - ' iv'
    - ' aad_parts'
    - aad_length
    - ' input_parts'
    - input_length
    - ' output'
    - ' tag'
    argTypes:
    - TF_PSA_Crypto_detail::AEADOperation
    - bool
    - std::vector<uint8_t>
    - util::Multipart
    - size_t
    - util::Multipart
    - size_t
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 919
      start: 859
    functionDepth: 2
    functionLinenumber: 859
    functionLinenumberEnd: 919
    functionName: cryptofuzz::module::aead_multipart
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - TF_PSA_Crypto_detail::AEADOperation::set_lengths
    - CF_ASSERT_PSA
    - TF_PSA_Crypto_detail::AEADOperation::encrypt_setup
    - TF_PSA_Crypto_detail::AEADOperation::update
    - TF_PSA_Crypto_detail::AEADOperation::finish
    - data
    - TF_PSA_Crypto_detail::AEADOperation::verify_output_size
    - TF_PSA_Crypto_detail::AEADOperation::decrypt_setup
    - TF_PSA_Crypto_detail::AEADOperation::update_output_size
    - TF_PSA_Crypto_detail::AEADOperation::update_aad
    - TF_PSA_Crypto_detail::AEADOperation::verify
    - TF_PSA_Crypto_detail::AEADOperation::finish_output_size
    - size
    - resize
    - CF_ASSERT
    - cryptofuzz::module::vector_extend
    - capacity
    - TF_PSA_Crypto_detail::AEADOperation::set_iv
    - TF_PSA_Crypto_detail::AEADOperation::tag_length
    linkageType: ''
    returnType: bool
    signature: "bool aead_multipart(TF_PSA_Crypto_detail::AEADOperation operation,\n
      \                          bool is_encrypt,\n                           const
      std::vector<uint8_t>& iv,\n                           const util::Multipart&
      aad_parts, size_t aad_length,\n                           const util::Multipart&
      input_parts, size_t input_length,\n                           std::vector<uint8_t>&
      output,\n                           std::vector<uint8_t>& tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:928,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:928,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:929,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:931,1
    - Dst: cryptofuzz::module::is_cipher_consistent
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:931,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::cipher_to_psa_key_type_t
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:935,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::cipher_to_psa_algorithm_t
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:937,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:939,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:940,1
    - Dst: cryptofuzz::repository::IsAEAD
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:944,1
    - Dst: component::SymmetricCipher::cipherType::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:944,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:945,1
    - Dst: component::SymmetricCipher::cipherType::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:945,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:945,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:947,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::set_key
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:947,1
    - Dst: component::SymmetricCipher::key::GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:948,1
    - Dst: component::SymmetricCipher::key::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:949,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:953,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::is_valid_iv_length
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:953,1
    - Dst: component::SymmetricCipher::iv::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:953,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:957,1
    - Dst: size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:957,1
    - Dst: TF_PSA_Crypto_detail::AEADOperation::tag_length
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:957,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:960,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:961,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:968,1
    - Dst: cryptofuzz::module::aead_encrypt_oneshot
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:971,1
    - Dst: component::SymmetricCipher::iv::GetConstVectorPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:972,1
    - Dst: GetConstVectorPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:974,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:983,1
    - Dst: CF_ASSERT_PSA
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:992,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::set_key
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:992,1
    - Dst: component::SymmetricCipher::key::GetPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:993,1
    - Dst: component::SymmetricCipher::key::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:994,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:998,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::is_valid_iv_length
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:998,1
    - Dst: component::SymmetricCipher::iv::GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:998,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1008,1
    - Dst: component::SymmetricCipher::cipherType::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1008,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1009,1
    - Dst: component::SymmetricCipher::cipherType::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1009,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1010,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1010,1
    - Dst: TF_PSA_Crypto_detail::CipherOperation::block_size
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1010,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1017,1
    - Dst: component::SymmetricCipher::cipherType::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1017,1
    - Dst: std::optional
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1019,1
    - Dst: component::SymmetricCipher::iv::GetConstVectorPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1019,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1020,1
    - Dst: cryptofuzz::module::cipher_multipart
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1021,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1026,1
    - Dst: component::SymmetricCipher::cipherType::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1026,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1027,1
    - Dst: component::SymmetricCipher::iv::GetConstVectorPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1028,1
    - Dst: cryptofuzz::module::cipher_decrypt_oneshot
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1029,1
    - Dst: GetConstVectorPtr
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1030,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1033,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1037,1
    - Dst: cryptofuzz::module::TF_PSA_Crypto_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1041,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 7
    argNames:
    - ' op'
    - is_encrypt
    - cipher
    - ' aad'
    - ' input'
    - ' output'
    - ' tag'
    argTypes:
    - operation::Operation
    - bool
    - component::SymmetricCipher
    - std::vector<uint8_t>
    - Buffer
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 1043
      start: 921
    functionDepth: 4
    functionLinenumber: 921
    functionLinenumberEnd: 1043
    functionName: cryptofuzz::module::cipher_common
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - GetConstVectorPtr
    - modifier::GetPtr
    - component::SymmetricCipher::key::GetPtr
    - CF_ASSERT_PSA
    - std::vector<uint8_t>
    - modifier::GetSize
    - TF_PSA_Crypto_detail::AEADOperation::set_key
    - cryptofuzz::module::TF_PSA_Crypto_detail::cipher_to_psa_key_type_t
    - cryptofuzz::module::cipher_decrypt_oneshot
    - CF_CHECK_NE
    - component::SymmetricCipher::iv::GetSize
    - cryptofuzz::module::TF_PSA_Crypto_detail::cipher_to_psa_algorithm_t
    - TF_PSA_Crypto_detail::CipherOperation::is_valid_iv_length
    - component::SymmetricCipher::iv::GetConstVectorPtr
    - cryptofuzz::module::aead_encrypt_oneshot
    - cryptofuzz::module::TF_PSA_Crypto_detail::SetGlobalDs
    - cryptofuzz::repository::IsECB
    - cryptofuzz::repository::IsCBC
    - TF_PSA_Crypto_detail::CipherOperation::block_size
    - CF_CHECK_EQ
    - cryptofuzz::repository::IsAEAD
    - size
    - cryptofuzz::module::cipher_multipart
    - std::optional
    - TF_PSA_Crypto_detail::CipherOperation::set_key
    - GetSize
    - cryptofuzz::util::ToParts
    - cryptofuzz::module::TF_PSA_Crypto_detail::UnsetGlobalDs
    - TF_PSA_Crypto_detail::AEADOperation::is_valid_iv_length
    - CF_CHECK_TRUE
    - component::SymmetricCipher::key::GetSize
    - cryptofuzz::repository::IsCCM
    - cryptofuzz::module::is_cipher_consistent
    - component::SymmetricCipher::cipherType::Get
    - TF_PSA_Crypto_detail::AEADOperation::tag_length
    linkageType: ''
    returnType: bool
    signature: "bool cipher_common(operation::Operation& op,\n                          bool
      is_encrypt,\n                          component::SymmetricCipher cipher,\n
      \                         const std::vector<uint8_t>& aad,\n                          const
      Buffer& input,\n                          std::vector<uint8_t>& output,\n                          std::vector<uint8_t>&
      tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aad::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1047,1
    - Dst: tagSize::value
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1048,1
    - Dst: cipher_common
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1049,1
    - Dst: std::optional
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1053,1
    - Dst: Botan::BER_Bad_Tag::BER_Bad_Tag
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1053,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1054,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1054,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 1055
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1055
    functionName: cryptofuzz::module::TF_PSA_Crypto::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - cipher_common
    - aad::Get
    - std::optional
    - tagSize::value
    - Botan::BER_Bad_Tag::BER_Bad_Tag
    - Buffer
    - cryptofuzz::component::Ciphertext::Ciphertext
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> TF_PSA_Crypto::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aad::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1059,1
    - Dst: tag::Get
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1060,1
    - Dst: cipher_common
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1061,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp:1066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 1067
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1067
    functionName: cryptofuzz::module::TF_PSA_Crypto::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/tf-psa-crypto/module.cpp
    functionUses: 0
    functionsReached:
    - cipher_common
    - tag::Get
    - Buffer
    - aad::Get
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> TF_PSA_Crypto::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 10
    functionName: cryptofuzz::module::Monocypher::Monocypher
    functionSourceFile: /src/cryptofuzz/modules/monocypher/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Monocypher::Monocypher(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:13,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:13,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:16,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:16,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:19,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:24,1
    - Dst: crypto_blake2b_init
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:27,1
    - Dst: crypto_blake2b_update
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:29,1
    - Dst: crypto_blake2b_final
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:31,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:32,1
    - Dst: crypto_blake2b
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:35,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:35,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:35,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 41
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 41
    functionName: cryptofuzz::module::Monocypher::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/monocypher/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - Botan::PKCS11::LowLevel::C_Digest
    - digestType::Get
    - cleartext::GetPtr
    - Datasource::Get
    - crypto_blake2b
    - crypto_blake2b_final
    - CF_DIGEST
    - modifier::GetSize
    - crypto_blake2b_update
    - cryptofuzz::util::ToParts
    - crypto_blake2b_init
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Monocypher::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:47,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:47,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:49,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:49,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:50,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:50,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:52,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:52,1
    - Dst: crypto_chacha20
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:54,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:56,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:57,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:58,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:59,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:61,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:61,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:61,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:63,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:63,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:64,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:64,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:65,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:65,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:66,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:67,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:71,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:71,1
    - Dst: crypto_lock_aead
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:73,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:76,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:77,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:78,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:79,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:80,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:81,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:83,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:84,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:84,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:85,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 91
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 91
    functionName: cryptofuzz::module::Monocypher::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/monocypher/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_chacha20
    - CF_CHECK_NE
    - crypto_lock_aead
    - cryptofuzz::util::free
    - cipher::cipherType::Get
    - cleartext::GetPtr
    - CF_CHECK_EQ
    - CF_CIPHER
    - cipher::iv::GetSize
    - aad::GetPtr
    - cipher::iv::GetPtr
    - cipher::key::GetPtr
    - Buffer
    - aad::GetSize
    - cryptofuzz::util::malloc
    - cipher::key::GetSize
    - cryptofuzz::component::Ciphertext::Ciphertext
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Monocypher::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:97,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:97,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:99,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:99,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:100,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:100,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:102,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:102,1
    - Dst: crypto_chacha20
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:104,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:106,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:107,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:108,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:109,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:111,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:111,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:111,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:113,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:113,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:114,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:114,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:115,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:115,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:116,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:117,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:117,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:119,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:119,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:121,1
    - Dst: crypto_unlock_aead
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:121,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:123,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:124,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:125,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:126,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:127,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:128,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:129,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:131,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:131,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:131,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 137
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 137
    functionName: cryptofuzz::module::Monocypher::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/monocypher/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetPtr
    - aad::GetPtr
    - cipher::key::GetPtr
    - CF_CHECK_NE
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - crypto_unlock_aead
    - cryptofuzz::util::free
    - tag::GetSize
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - aad::GetSize
    - tag::GetPtr
    - cryptofuzz::util::malloc
    - cipher::key::GetSize
    - crypto_chacha20
    - CF_CIPHER
    - Buffer
    - component::Cleartext
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Monocypher::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:171,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:173,1
    - Dst: crypto_argon2
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:173,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:175,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:175,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:176,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:178,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:180,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/monocypher/module.cpp:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_ARGON2
    constantsTouched: []
    func_position:
      end: 184
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 184
    functionName: cryptofuzz::module::Monocypher::OpKDF_ARGON2
    functionSourceFile: /src/cryptofuzz/modules/monocypher/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - password::GetPtr
    - crypto_argon2
    - CF_NORET
    - salt::GetPtr
    - salt::GetSize
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Monocypher::OpKDF_ARGON2(operation::KDF_ARGON2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: random32
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t random32(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::trezor_firmware::trezor_firmware
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void trezor_firmware::trezor_firmware(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::multiprecision::export_bits
      Src: /src/cryptofuzz/modules/trezor/module.cpp:43,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/trezor/module.cpp:43,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/trezor/module.cpp:44,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/trezor/module.cpp:47,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/trezor/module.cpp:49,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/trezor/module.cpp:50,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/trezor/module.cpp:50,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/trezor/module.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - s
    - out
    argTypes:
    - std::string
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::back_inserter
    - memset
    - memcpy
    - boost::multiprecision::export_bits
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: bool EncodeBignum(const std::string s, uint8_t* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/trezor/module.cpp:59,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/trezor/module.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - boost::multiprecision::cpp_int
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: cryptofuzz::module::trezor_firmware_detail::toString
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string toString(const boost::multiprecision::cpp_int& i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:69,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:70,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/trezor/module.cpp:73,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:73,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/trezor/module.cpp:73,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/trezor/module.cpp:77,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: cryptofuzz::module::trezor_firmware_detail::toCurve
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::find
    - std::map::end
    - std::map::at
    - CF_ECC_CURVE
    - Get
    linkageType: ''
    returnType: std::optional<const ecdsa_curve*>
    signature: std::optional<const ecdsa_curve*> toCurve(const component::CurveType&
      curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:84,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:85,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:86,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:87,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/trezor/module.cpp:90,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:90,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/trezor/module.cpp:90,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/trezor/module.cpp:94,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: cryptofuzz::module::trezor_firmware_detail::toHasherType
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::find
    - std::map::end
    - std::map::at
    - CF_DIGEST
    - Get
    linkageType: ''
    returnType: std::optional<HasherType>
    signature: std::optional<HasherType> toHasherType(const component::DigestType&
      digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/modules/trezor/module.cpp:101,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:101,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:102,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/modules/trezor/module.cpp:103,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/modules/trezor/module.cpp:104,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:104,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/trezor/module.cpp:105,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/trezor/module.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' curveType'
    - ' priv'
    argTypes:
    - component::CurveType
    - component::ECC_PrivateKey
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: cryptofuzz::module::trezor_firmware_detail::CheckValidity
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - CF_CHECK_NE
    - CF_CHECK_GT
    - CF_CHECK_LT
    - cryptofuzz::module::blst_detail::To_cpp_int
    - Get
    - cryptofuzz::repository::ECC_CurveToOrder
    linkageType: ''
    returnType: bool
    signature: bool CheckValidity(const component::CurveType& curveType, const component::ECC_PrivateKey&
      priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:120,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toCurve
      Src: /src/cryptofuzz/modules/trezor/module.cpp:120,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:122,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::CheckValidity
      Src: /src/cryptofuzz/modules/trezor/module.cpp:122,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:124,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:124,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:125,1
    - Dst: ecdsa_get_public_key65
      Src: /src/cryptofuzz/modules/trezor/module.cpp:128,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/trezor/module.cpp:128,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/trezor/module.cpp:133,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/trezor/module.cpp:133,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/trezor/module.cpp:133,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/trezor/module.cpp:134,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/trezor/module.cpp:134,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/trezor/module.cpp:134,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:136,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - ' curveType'
    - ' priv'
    argTypes:
    - component::CurveType
    - component::ECC_PrivateKey
    constantsTouched: []
    func_position:
      end: 140
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 140
    functionName: cryptofuzz::module::trezor_firmware_detail::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - CF_CHECK_NE
    - cryptofuzz::module::trezor_firmware_detail::toString
    - cryptofuzz::module::trezor_firmware_detail::toCurve
    - std::vector::begin
    - CF_CHECK_EQ
    - cryptofuzz::module::trezor_firmware_detail::CheckValidity
    - cryptofuzz::module::trezor_firmware_detail::EncodeBignum
    - std::vector::end
    - CF_CHECK_TRUE
    - boost::multiprecision::import_bits
    - ecdsa_get_public_key65
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> OpECC_PrivateToPublic(const
      component::CurveType& curveType, const component::ECC_PrivateKey& priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:146,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:146,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:150,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:161,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toHasherType
      Src: /src/cryptofuzz/modules/trezor/module.cpp:161,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:162,1
    - Dst: hasher_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:162,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:167,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:169,1
    - Dst: hasher_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:169,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:175,1
    - Dst: hasher_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:175,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:176,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:181,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:181,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/trezor/module.cpp:186,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:187,1
    - Dst: ripemd160_init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:188,1
    - Dst: ripemd160_process
      Src: /src/cryptofuzz/modules/trezor/module.cpp:195,1
    - Dst: ripemd160_done
      Src: /src/cryptofuzz/modules/trezor/module.cpp:201,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:203,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:205,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:205,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/trezor/module.cpp:210,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:211,1
    - Dst: groestl512_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:212,1
    - Dst: groestl512_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:218,1
    - Dst: groestl512_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:224,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:226,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:228,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:228,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/trezor/module.cpp:233,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:234,1
    - Dst: sha1_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:235,1
    - Dst: sha1_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:241,1
    - Dst: sha1_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:247,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:249,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:251,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:251,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/trezor/module.cpp:256,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:257,1
    - Dst: sha256_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:258,1
    - Dst: sha256_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:264,1
    - Dst: sha256_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:270,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:272,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:274,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:274,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/trezor/module.cpp:279,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:280,1
    - Dst: sha512_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:281,1
    - Dst: sha512_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:287,1
    - Dst: sha512_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:293,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:295,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:297,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:297,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/trezor/module.cpp:302,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:303,1
    - Dst: sha3_224_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:304,1
    - Dst: sha3_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:310,1
    - Dst: sha3_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:316,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:318,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:320,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:320,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/trezor/module.cpp:325,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:326,1
    - Dst: sha3_256_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:327,1
    - Dst: sha3_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:333,1
    - Dst: sha3_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:339,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:341,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:343,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:343,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/trezor/module.cpp:348,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:349,1
    - Dst: sha3_384_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:350,1
    - Dst: sha3_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:356,1
    - Dst: sha3_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:362,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:364,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:366,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:366,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/trezor/module.cpp:371,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:372,1
    - Dst: sha3_512_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:373,1
    - Dst: sha3_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:379,1
    - Dst: sha3_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:385,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:387,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 121
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 394
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 394
    functionName: cryptofuzz::module::trezor_firmware::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - sha512_Final
    - hasher_Init
    - groestl512_Update
    - modifier::GetPtr
    - sha3_224_Init
    - digestType::Get
    - memset
    - modifier::GetSize
    - groestl512_Init
    - cryptofuzz::module::trezor_firmware_detail::toHasherType
    - CF_CHECK_NE
    - ripemd160_init
    - groestl512_Final
    - sha3_512_Init
    - hasher_Final
    - sha256_Init
    - sha3_Final
    - sha256_Update
    - hasher_Update
    - Botan::PKCS11::LowLevel::C_Digest
    - ripemd160_done
    - sha3_384_Init
    - sha512_Init
    - cryptofuzz::util::ToParts
    - sha1_Init
    - ripemd160_process
    - CF_NORET
    - sha3_Update
    - Datasource::Get
    - sha1_Update
    - CF_DIGEST
    - sha512_Update
    - sha1_Final
    - sha256_Final
    - sha3_256_Init
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> trezor_firmware::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:398,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:398,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:400,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:400,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:404,1
    - Dst: hmac_sha256_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:406,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:406,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:406,1
    - Dst: hmac_sha256_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:409,1
    - Dst: hmac_sha256_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:412,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/trezor/module.cpp:414,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:415,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:415,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/trezor/module.cpp:419,1
    - Dst: hmac_sha512_Init
      Src: /src/cryptofuzz/modules/trezor/module.cpp:421,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:421,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:421,1
    - Dst: hmac_sha512_Update
      Src: /src/cryptofuzz/modules/trezor/module.cpp:424,1
    - Dst: hmac_sha512_Final
      Src: /src/cryptofuzz/modules/trezor/module.cpp:427,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/trezor/module.cpp:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 433
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 433
    functionName: cryptofuzz::module::trezor_firmware::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - hmac_sha256_Final
    - hmac_sha256_Update
    - hmac_sha512_Final
    - modifier::GetPtr
    - digestType::Get
    - Botan_CLI::HMAC::HMAC
    - CF_DIGEST
    - hmac_sha512_Init
    - modifier::GetSize
    - cipher::key::GetPtr
    - cryptofuzz::util::ToParts
    - hmac_sha256_Init
    - cipher::key::GetSize
    - hmac_sha512_Update
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> trezor_firmware::OpHMAC(operation::HMAC&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:440,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:440,1
    - Dst: pbkdf2_hmac_sha256
      Src: /src/cryptofuzz/modules/trezor/module.cpp:441,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:442,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:443,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:444,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:445,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/trezor/module.cpp:449,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:450,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:450,1
    - Dst: pbkdf2_hmac_sha512
      Src: /src/cryptofuzz/modules/trezor/module.cpp:451,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:452,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:453,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:454,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:455,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/trezor/module.cpp:459,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/trezor/module.cpp:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 465
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 465
    functionName: cryptofuzz::module::trezor_firmware::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - password::GetPtr
    - pbkdf2_hmac_sha256
    - digestType::Get
    - salt::GetPtr
    - CF_DIGEST
    - pbkdf2_hmac_sha512
    - salt::GetSize
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> trezor_firmware::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:468,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:468,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::OpECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/trezor/module.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 473
      start: 467
    functionDepth: 4
    functionLinenumber: 467
    functionLinenumberEnd: 473
    functionName: cryptofuzz::module::trezor_firmware::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::module::trezor_firmware_detail::OpECC_PrivateToPublic
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> trezor_firmware::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:481,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toCurve
      Src: /src/cryptofuzz/modules/trezor/module.cpp:481,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:483,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:483,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:484,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:486,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:486,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:487,1
    - Dst: ecdsa_read_pubkey
      Src: /src/cryptofuzz/modules/trezor/module.cpp:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 493
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 493
    functionName: cryptofuzz::module::trezor_firmware::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - cryptofuzz::module::trezor_firmware_detail::toCurve
    - ecdsa_read_pubkey
    - CF_CHECK_EQ
    - pub::first::ToTrimmedString
    - pub::second::ToTrimmedString
    - cryptofuzz::module::trezor_firmware_detail::EncodeBignum
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> trezor_firmware::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:496,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:496,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/trezor/module.cpp:500,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:511,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:511,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:512,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toCurve
      Src: /src/cryptofuzz/modules/trezor/module.cpp:512,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:513,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:513,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:514,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toHasherType
      Src: /src/cryptofuzz/modules/trezor/module.cpp:514,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:517,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:517,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:518,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:521,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:521,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:522,1
    - Dst: ecdsa_sign
      Src: /src/cryptofuzz/modules/trezor/module.cpp:522,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:522,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:522,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/trezor/module.cpp:522,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:524,1
    - Dst: ecdsa_sign_digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:524,1
    - Dst: cleartext::ECDSA_Pad
      Src: /src/cryptofuzz/modules/trezor/module.cpp:524,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/trezor/module.cpp:524,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:527,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::OpECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/trezor/module.cpp:527,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/trezor/module.cpp:532,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/trezor/module.cpp:532,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/trezor/module.cpp:532,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/trezor/module.cpp:533,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/trezor/module.cpp:533,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/trezor/module.cpp:533,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/trezor/module.cpp:535,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:536,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 543
      start: 495
    functionDepth: 4
    functionLinenumber: 495
    functionLinenumberEnd: 543
    functionName: cryptofuzz::module::trezor_firmware::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - std::vector::begin
    - digestType::Get
    - modifier::GetSize
    - ecdsa_sign
    - cryptofuzz::tests::test_ECDSA_Signature
    - cryptofuzz::module::trezor_firmware_detail::toString
    - cleartext::GetSize
    - CF_CHECK_NE
    - cryptofuzz::module::trezor_firmware_detail::toHasherType
    - cryptofuzz::module::trezor_firmware_detail::EncodeBignum
    - std::vector::end
    - std::vector::data
    - ecdsa_sign_digest
    - CF_CHECK_EQ
    - cryptofuzz::module::trezor_firmware_detail::OpECC_PrivateToPublic
    - cryptofuzz::module::trezor_firmware_detail::toCurve
    - cleartext::GetPtr
    - priv::ToTrimmedString
    - CF_DIGEST
    - UseRFC6979Nonce
    - cleartext::ECDSA_Pad
    - boost::multiprecision::import_bits
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> trezor_firmware::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:546,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:546,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:555,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toCurve
      Src: /src/cryptofuzz/modules/trezor/module.cpp:555,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:556,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:556,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:557,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toHasherType
      Src: /src/cryptofuzz/modules/trezor/module.cpp:557,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:561,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:561,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:562,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:564,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:564,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:565,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:568,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:568,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:569,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:571,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:571,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:572,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/trezor/module.cpp:575,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:575,1
    - Dst: ecdsa_verify
      Src: /src/cryptofuzz/modules/trezor/module.cpp:576,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:576,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:576,1
    - Dst: cleartext::ECDSA_Pad
      Src: /src/cryptofuzz/modules/trezor/module.cpp:579,1
    - Dst: ecdsa_verify_digest
      Src: /src/cryptofuzz/modules/trezor/module.cpp:580,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:580,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:581,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/trezor/module.cpp:581,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 588
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 588
    functionName: cryptofuzz::module::trezor_firmware::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - ecdsa_verify_digest
    - digestType::Get
    - modifier::GetSize
    - cleartext::GetSize
    - CF_CHECK_NE
    - cryptofuzz::module::trezor_firmware_detail::toHasherType
    - memcmp
    - signature::signature::first::ToTrimmedString
    - ecdsa_verify
    - cryptofuzz::module::trezor_firmware_detail::EncodeBignum
    - signature::signature::second::ToTrimmedString
    - signature::pub::first::ToTrimmedString
    - CF_CHECK_EQ
    - auto::GetPtr
    - signature::pub::second::ToTrimmedString
    - cryptofuzz::module::trezor_firmware_detail::toCurve
    - cleartext::GetPtr
    - CF_DIGEST
    - cleartext::ECDSA_Pad
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> trezor_firmware::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:597,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:598,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/trezor/module.cpp:598,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:599,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/trezor/module.cpp:599,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/trezor/module.cpp:599,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:600,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toCurve
      Src: /src/cryptofuzz/modules/trezor/module.cpp:600,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:601,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:601,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:602,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:604,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:604,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:605,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:608,1
    - Dst: ecdsa_recover_pub_from_sig
      Src: /src/cryptofuzz/modules/trezor/module.cpp:608,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/trezor/module.cpp:608,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/trezor/module.cpp:613,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/trezor/module.cpp:614,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:616,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Recover
    constantsTouched: []
    func_position:
      end: 621
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 621
    functionName: cryptofuzz::module::trezor_firmware::OpECDSA_Recover
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - cryptofuzz::module::trezor_firmware_detail::toString
    - cryptofuzz::module::trezor_firmware_detail::toCurve
    - cleartext::GetPtr
    - CF_CHECK_EQ
    - digestType::Is
    - signature::first::ToTrimmedString
    - signature::second::ToTrimmedString
    - ecdsa_recover_pub_from_sig
    - CF_DIGEST
    - cryptofuzz::module::trezor_firmware_detail::EncodeBignum
    - CF_CHECK_TRUE
    - boost::multiprecision::import_bits
    - CF_CHECK_LTE
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> trezor_firmware::OpECDSA_Recover(operation::ECDSA_Recover&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:632,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toCurve
      Src: /src/cryptofuzz/modules/trezor/module.cpp:632,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:634,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::CheckValidity
      Src: /src/cryptofuzz/modules/trezor/module.cpp:634,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:637,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:637,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:638,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:640,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:640,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:641,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:644,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:644,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:645,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:648,1
    - Dst: ecdh_multiply
      Src: /src/cryptofuzz/modules/trezor/module.cpp:648,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/trezor/module.cpp:654,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/trezor/module.cpp:654,1
    - Dst: Botan_Tests::Sodium_API_Tests::hash_sha256
      Src: /src/cryptofuzz/modules/trezor/module.cpp:656,1
    - Dst: Botan::TLS::Extended_Master_Secret::Extended_Master_Secret
      Src: /src/cryptofuzz/modules/trezor/module.cpp:660,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/trezor/module.cpp:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDH_Derive
    constantsTouched: []
    func_position:
      end: 666
      start: 623
    functionDepth: 3
    functionLinenumber: 623
    functionLinenumberEnd: 666
    functionName: cryptofuzz::module::trezor_firmware::OpECDH_Derive
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Extended_Master_Secret::Extended_Master_Secret
    - CF_CHECK_NE
    - cryptofuzz::module::trezor_firmware_detail::toCurve
    - CF_CHECK_EQ
    - cryptofuzz::module::trezor_firmware_detail::CheckValidity
    - pub::first::ToTrimmedString
    - priv::ToTrimmedString
    - Botan_Tests::Sodium_API_Tests::hash_sha256
    - memcpy
    - pub::second::ToTrimmedString
    - cryptofuzz::module::trezor_firmware_detail::EncodeBignum
    - ecdh_multiply
    - Buffer
    - CF_CHECK_TRUE
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::Secret>
    signature: std::optional<component::Secret> trezor_firmware::OpECDH_Derive(operation::ECDH_Derive&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:675,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toCurve
      Src: /src/cryptofuzz/modules/trezor/module.cpp:675,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:678,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:678,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:678,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:679,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:679,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:679,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:680,1
    - Dst: bn_read_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:680,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:681,1
    - Dst: bn_read_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:681,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:684,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:684,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:684,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:685,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:685,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:685,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:686,1
    - Dst: bn_read_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:686,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:687,1
    - Dst: bn_read_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:687,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:689,1
    - Dst: point_add
      Src: /src/cryptofuzz/modules/trezor/module.cpp:689,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:691,1
    - Dst: bn_write_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:691,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:692,1
    - Dst: bn_write_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:692,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/trezor/module.cpp:694,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/trezor/module.cpp:695,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/trezor/module.cpp:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 700
      start: 668
    functionDepth: 3
    functionLinenumber: 668
    functionLinenumberEnd: 700
    functionName: cryptofuzz::module::trezor_firmware::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - b::second::ToTrimmedString
    - CF_CHECK_NE
    - point_add
    - a::first::ToTrimmedString
    - cryptofuzz::module::trezor_firmware_detail::toCurve
    - CF_NORET
    - bn_read_be
    - b::first::ToTrimmedString
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - cryptofuzz::util::BinToDec
    - cryptofuzz::module::trezor_firmware_detail::EncodeBignum
    - a::second::ToTrimmedString
    - bn_write_be
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> trezor_firmware::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:710,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toCurve
      Src: /src/cryptofuzz/modules/trezor/module.cpp:710,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:713,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:713,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:713,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:714,1
    - Dst: bn_read_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:714,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:715,1
    - Dst: bn_is_less
      Src: /src/cryptofuzz/modules/trezor/module.cpp:715,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:718,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:718,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:718,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:719,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:719,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:719,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:720,1
    - Dst: bn_read_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:720,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:721,1
    - Dst: bn_read_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:721,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/trezor/module.cpp:723,1
    - Dst: point_multiply
      Src: /src/cryptofuzz/modules/trezor/module.cpp:723,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:725,1
    - Dst: bn_write_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:725,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:726,1
    - Dst: bn_write_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:726,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/trezor/module.cpp:728,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/trezor/module.cpp:729,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/trezor/module.cpp:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 734
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 734
    functionName: cryptofuzz::module::trezor_firmware::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - bn_read_be
    - cryptofuzz::module::trezor_firmware_detail::toCurve
    - CF_NORET
    - a::first::ToTrimmedString
    - bn_is_less
    - CF_CHECK_EQ
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - point_multiply
    - cryptofuzz::util::BinToDec
    - cryptofuzz::module::trezor_firmware_detail::EncodeBignum
    - a::second::ToTrimmedString
    - bn_write_be
    - b::ToTrimmedString
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> trezor_firmware::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:743,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::toCurve
      Src: /src/cryptofuzz/modules/trezor/module.cpp:743,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:746,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:746,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:746,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/trezor/module.cpp:747,1
    - Dst: cryptofuzz::module::trezor_firmware_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/trezor/module.cpp:747,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/trezor/module.cpp:747,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:748,1
    - Dst: bn_read_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:748,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:749,1
    - Dst: bn_read_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:749,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:751,1
    - Dst: point_double
      Src: /src/cryptofuzz/modules/trezor/module.cpp:751,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:753,1
    - Dst: bn_write_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:753,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/trezor/module.cpp:754,1
    - Dst: bn_write_be
      Src: /src/cryptofuzz/modules/trezor/module.cpp:754,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/trezor/module.cpp:756,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/trezor/module.cpp:757,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/trezor/module.cpp:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 762
      start: 736
    functionDepth: 3
    functionLinenumber: 736
    functionLinenumberEnd: 762
    functionName: cryptofuzz::module::trezor_firmware::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/trezor/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - a::first::ToTrimmedString
    - cryptofuzz::module::trezor_firmware_detail::toCurve
    - CF_NORET
    - bn_read_be
    - point_double
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - cryptofuzz::util::BinToDec
    - cryptofuzz::module::trezor_firmware_detail::EncodeBignum
    - a::second::ToTrimmedString
    - bn_write_be
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> trezor_firmware::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ChangeConstants
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::MicrosoftCalculator::MicrosoftCalculator
    functionSourceFile: /src/cryptofuzz/modules/microsoft-calculator/module.cpp
    functionUses: 0
    functionsReached:
    - ChangeConstants
    linkageType: ''
    returnType: void
    signature: void MicrosoftCalculator::MicrosoftCalculator(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::erase
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:25,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:27,1
    - Dst: std::stoi
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:28,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:28,1
    - Dst: std::string::erase
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:29,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:30,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:30,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:33,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:33,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:33,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:38,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: cryptofuzz::module::MicrosoftCalculator_detail::FloatingPointToDecmal
    functionSourceFile: /src/cryptofuzz/modules/microsoft-calculator/module.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - CF_ASSERT
    - std::stoi
    - std::string
    - std::string::erase
    - getBignum
    - std::string::substr
    linkageType: ''
    returnType: component::Bignum
    signature: component::Bignum FloatingPointToDecmal(std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:49,1
    - Dst: StringToNumber
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:50,1
    - Dst: std::wstring_convert<std::codecvt_utf8<wchar_t>>
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:51,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:52,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:56,1
    - Dst: StringToNumber
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:57,1
    - Dst: std::wstring_convert<std::codecvt_utf8<wchar_t>>
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:58,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:59,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:64,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:65,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:66,1
    - Dst: addnum
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:66,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:69,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:70,1
    - Dst: mulnum
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:70,1
    - Dst: NumberToString
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:78,1
    - Dst: std::wstring_convert<std::codecvt_utf8<wchar_t>>
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:81,1
    - Dst: cryptofuzz::module::MicrosoftCalculator_detail::FloatingPointToDecmal
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:82,1
    - Dst: destroynum
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:86,1
    - Dst: destroynum
      Src: /src/cryptofuzz/modules/microsoft-calculator/module.cpp:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 90
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 90
    functionName: cryptofuzz::module::MicrosoftCalculator::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/microsoft-calculator/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - mulnum
    - bn1::ToTrimmedString
    - CF_ASSERT
    - NumberToString
    - StringToNumber
    - std::wstring_convert<std::codecvt_utf8<wchar_t>>
    - CF_NORET
    - addnum
    - calcOp::Get
    - destroynum
    - cryptofuzz::module::MicrosoftCalculator_detail::FloatingPointToDecmal
    - bn0::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> MicrosoftCalculator::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: cryptofuzz::module::num_bigint::num_bigint
    functionSourceFile: /src/cryptofuzz/modules/num-bigint/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void num_bigint::num_bigint(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: auto::ToPositive
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:23,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:24,1
    - Dst: auto::ToTrimmedString
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:24,1
    - Dst: auto::ToPositive
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:27,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:28,1
    - Dst: auto::ToTrimmedString
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:28,1
    - Dst: auto::ToPositive
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:31,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:32,1
    - Dst: auto::ToTrimmedString
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:32,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:35,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:35,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:35,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:38,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:39,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:40,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:41,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:42,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:43,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:44,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:45,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:46,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:47,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:48,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:49,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:50,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:51,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:52,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:53,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:54,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:55,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:56,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:57,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:58,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:59,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:60,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:61,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:62,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:63,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:64,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:65,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:66,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:67,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:68,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:69,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:70,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:71,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:72,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:73,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:74,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:75,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:76,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:79,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:79,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:79,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:79,1
    - Dst: rust_num_bigint_bignumcalc
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:82,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:83,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:83,1
    - Dst: bn0::IsNegative
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:84,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:84,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:84,1
    - Dst: bn1::IsNegative
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:85,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:85,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:85,1
    - Dst: bn2::IsNegative
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:86,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:86,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:86,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:87,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:90,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:92,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:92,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:92,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:94,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:94,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:94,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/num-bigint/module.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 106
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 106
    functionName: cryptofuzz::module::num_bigint::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/num-bigint/module.cpp
    functionUses: 0
    functionsReached:
    - bn2::IsNegative
    - CF_CALCOP
    - auto::ToPositive
    - std::reverse
    - auto::ToTrimmedString
    - bn1::IsNegative
    - memset
    - CF_CHECK_NE
    - std::array::data
    - std::array::end
    - calcOp::Get
    - cryptofuzz::util::DecToBin
    - std::map::end
    - std::string
    - cryptofuzz::util::BinToDec
    - CF_CHECK_TRUE
    - std::map::find
    - std::map::at
    - std::array::begin
    - rust_num_bigint_bignumcalc
    - bn0::IsNegative
    - auto::data
    - std::array::size
    - auto::size
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> num_bigint::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::kilic_bls12_381::kilic_bls12_381
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void kilic_bls12_381::kilic_bls12_381(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kilic_bls12_381_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:19,1
    - Dst: free
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::kilic_bls12_381::getResult
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - kilic_bls12_381_Cryptofuzz_GetResult
    - free
    linkageType: ''
    returnType: std::string
    signature: std::string kilic_bls12_381::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::kilic_bls12_381::getResult
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:26,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:27,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:32,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResult
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:32,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::kilic_bls12_381::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - cryptofuzz::module::kilic_bls12_381::getResult
    - abort
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> kilic_bls12_381::getJsonResult(void)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::kilic_bls12_381::getJsonResult
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:42,1
    - Dst: T
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::kilic_bls12_381::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - T
    - cryptofuzz::module::kilic_bls12_381::getJsonResult
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> kilic_bls12_381::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - static_cast<GoInt>
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:55,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:56,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_PrivateToPublic
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:57,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:57,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - kilic_bls12_381_Cryptofuzz_OpBLS_PrivateToPublic
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    - auto::dump
    - toGoSlice
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> kilic_bls12_381::OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:63,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:64,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_PrivateToPublic_G2
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:65,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:65,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic_G2
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_PrivateToPublic_G2
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    - kilic_bls12_381_Cryptofuzz_OpBLS_PrivateToPublic_G2
    - auto::dump
    - toGoSlice
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> kilic_bls12_381::OpBLS_PrivateToPublic_G2(operation::BLS_PrivateToPublic_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:71,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:72,1
    - Dst: get
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:72,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:73,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_IsG1OnCurve
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:74,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:74,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    - get
    - auto::dump
    - ToJSON
    - kilic_bls12_381_Cryptofuzz_OpBLS_IsG1OnCurve
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> kilic_bls12_381::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:80,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:81,1
    - Dst: get
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:81,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:82,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_G1_Add
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:83,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:83,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - kilic_bls12_381_Cryptofuzz_OpBLS_G1_Add
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> kilic_bls12_381::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:89,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:90,1
    - Dst: get
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:90,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:91,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_G1_Mul
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:92,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:92,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - kilic_bls12_381_Cryptofuzz_OpBLS_G1_Mul
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> kilic_bls12_381::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:98,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:99,1
    - Dst: get
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:99,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:100,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_G1_Neg
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:101,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:101,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    - kilic_bls12_381_Cryptofuzz_OpBLS_G1_Neg
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> kilic_bls12_381::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:107,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:108,1
    - Dst: get
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:108,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:109,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_IsG2OnCurve
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:110,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:110,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - kilic_bls12_381_Cryptofuzz_OpBLS_IsG2OnCurve
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> kilic_bls12_381::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:116,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:117,1
    - Dst: get
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:117,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:118,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_G2_Add
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:119,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:119,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - kilic_bls12_381_Cryptofuzz_OpBLS_G2_Add
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> kilic_bls12_381::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:125,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:126,1
    - Dst: get
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:126,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:127,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_G2_Mul
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:128,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:128,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    - get
    - kilic_bls12_381_Cryptofuzz_OpBLS_G2_Mul
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> kilic_bls12_381::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:134,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:135,1
    - Dst: get
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:135,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:136,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_G2_Neg
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:137,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:137,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    - get
    - kilic_bls12_381_Cryptofuzz_OpBLS_G2_Neg
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> kilic_bls12_381::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:143,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:144,1
    - Dst: get
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:144,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:145,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBLS_Pairing
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:146,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:146,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Pairing
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: cryptofuzz::module::kilic_bls12_381::OpBLS_Pairing
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    - get
    - kilic_bls12_381_Cryptofuzz_OpBLS_Pairing
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> kilic_bls12_381::OpBLS_Pairing(operation::BLS_Pairing&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:156,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:158,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:159,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBignumCalc_Fp
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:160,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:160,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:161,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:164,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:165,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:166,1
    - Dst: kilic_bls12_381_Cryptofuzz_OpBignumCalc_Fr
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:167,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:167,1
    - Dst: cryptofuzz::module::kilic_bls12_381::getResultAs
      Src: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 172
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 172
    functionName: cryptofuzz::module::kilic_bls12_381::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - cryptofuzz::module::kilic_bls12_381::getResultAs
    - kilic_bls12_381_Cryptofuzz_OpBignumCalc_Fp
    - modulo::ToTrimmedString
    - kilic_bls12_381_Cryptofuzz_OpBignumCalc_Fr
    - auto::dump
    - toGoSlice
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> kilic_bls12_381::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: cryptofuzz::module::kilic_bls12_381::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool kilic_bls12_381::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/kilic-bls12-381/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/kilic-bls12-381/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/kilic-bls12-381/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/kilic-bls12-381/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/kilic-bls12-381/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/kilic-bls12-381/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/kilic-bls12-381/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/kilic-bls12-381/generate_ids.cpp:15,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/kilic-bls12-381/generate_ids.cpp:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 18
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/kilic-bls12-381/generate_ids.cpp
    functionUses: 97
    functionsReached:
    - std::regex_replace
    - std::regex
    - std::to_string
    - std::string
    - fprintf
    - auto::c_str
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_get_curve_params_by_name
      Src: /src/cryptofuzz/modules/libecc/module.cpp:28,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/libecc/module.cpp:28,1
    - Dst: size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:28,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - curveID
    - ' curveName'
    argTypes:
    - uint64_t
    - std::string
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: cryptofuzz::module::libecc_detail::AddCurve
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - ec_get_curve_params_by_name
    - CF_ASSERT
    - c_str
    - size
    linkageType: ''
    returnType: void
    signature: void AddCurve(const uint64_t curveID, const std::string& curveName)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/cryptofuzz/modules/libecc/module.cpp:36,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:36,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libecc/module.cpp:36,1
    - Dst: at
      Src: /src/cryptofuzz/modules/libecc/module.cpp:40,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: cryptofuzz::module::libecc_detail::GetCurve
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - end
    - Get
    - at
    - find
    linkageType: ''
    returnType: ec_str_params
    signature: ec_str_params * GetCurve(const component::CurveType& curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:47,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:48,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libecc/module.cpp:49,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:50,1
    - Dst: ec_pub_key_export_to_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:50,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:53,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:54,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libecc/module.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' pub'
    argTypes:
    - ec_pub_key
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: cryptofuzz::module::libecc_detail::To_Component_BignumPair
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_ASSERT
    - CF_CHECK_EQ
    - ec_pub_key_export_to_buf
    - cryptofuzz::util::BinToDec
    - cryptofuzz::util::malloc
    linkageType: ''
    returnType: std::optional<component::BignumPair>
    signature: std::optional<component::BignumPair> To_Component_BignumPair(const
      ec_pub_key& pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:66,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:66,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:70,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:74,1
    - Dst: nn_init_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:74,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:74,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' bn'
    - nn
    argTypes:
    - component::Bignum
    - nn_t
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: cryptofuzz::module::libecc_detail::To_nn_t
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - CF_ASSERT
    - nn_init_from_buf
    - auto::data
    - cryptofuzz::util::DecToBin
    - auto::size
    linkageType: ''
    returnType: bool
    signature: bool To_nn_t(const component::Bignum& bn, nn_t nn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:82,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:83,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:86,1
    - Dst: nn_export_to_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:86,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:86,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:86,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:88,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:88,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:88,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libecc/module.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - nn
    argTypes:
    - nn_src_t
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: cryptofuzz::module::libecc_detail::To_Component_Bignum
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - std::vector::size
    - std::vector::resize
    - std::string
    - cryptofuzz::util::BinToDec
    - nn_export_to_buf
    - std::vector::data
    linkageType: ''
    returnType: component::Bignum
    signature: component::Bignum To_Component_Bignum(const nn_src_t nn, const bool
      negative = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:98,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:98,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:103,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: cryptofuzz::module::libecc_detail::To_uint16_t
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - auto::data
    - cryptofuzz::util::DecToBin
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: std::optional<uint16_t> To_uint16_t(const component::Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:109,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:110,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:110,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:112,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:113,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:113,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:115,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:116,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:116,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:118,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:119,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:119,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:121,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:122,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:122,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:124,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:125,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:125,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:127,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:128,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:128,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:130,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:131,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:131,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:133,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:134,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:134,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:136,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:137,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:137,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:139,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:140,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:140,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:142,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:143,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:143,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:145,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:146,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:146,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:148,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:149,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:149,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:151,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:152,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:152,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:154,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:155,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:155,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:157,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:158,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:158,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:160,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:161,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:161,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:163,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:164,1
    - Dst: get_hash_by_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:164,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 1
    argNames:
    - digestType
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 169
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 169
    functionName: cryptofuzz::module::libecc_detail::To_hash_mapping
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_DIGEST
    - CF_ASSERT
    - get_hash_by_type
    linkageType: ''
    returnType: hash_mapping
    signature: hash_mapping * To_hash_mapping(const uint64_t digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:173,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:175,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:177,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:179,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:181,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:183,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:185,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:187,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:189,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:191,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:193,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:195,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:197,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:199,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:201,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:203,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:205,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:207,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 1
    argNames:
    - digestType
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 214
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 214
    functionName: cryptofuzz::module::libecc_detail::To_hash_alg_type
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_DIGEST
    linkageType: ''
    returnType: std::optional<hash_alg_type>
    signature: std::optional<hash_alg_type> To_hash_alg_type(const uint64_t digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:220,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/libecc/module.cpp:227,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/libecc/module.cpp:228,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:228,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:232,1
    - Dst: fread
      Src: /src/cryptofuzz/modules/libecc/module.cpp:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - u16
    constantsTouched: []
    func_position:
      end: 235
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 235
    functionName: get_random
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - fread
    - memcpy
    - auto::data
    - GetData
    linkageType: ''
    returnType: int
    signature: int get_random(unsigned char *buf, u16 len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:242,1
    - Dst: fopen
      Src: /src/cryptofuzz/modules/libecc/module.cpp:242,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:243,1
    - Dst: get_sig_by_name
      Src: /src/cryptofuzz/modules/libecc/module.cpp:243,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:244,1
    - Dst: get_sig_by_name
      Src: /src/cryptofuzz/modules/libecc/module.cpp:244,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:245,1
    - Dst: get_sig_by_name
      Src: /src/cryptofuzz/modules/libecc/module.cpp:245,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:248,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:248,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:249,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:249,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:250,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:250,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:251,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:251,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:252,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:252,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:253,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:253,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:254,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:254,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:255,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:255,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:256,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:256,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:257,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:257,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:258,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:258,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:259,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:259,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:260,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:260,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:261,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:261,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:262,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:262,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:263,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:263,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:264,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:264,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:265,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:265,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:266,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:266,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:267,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:267,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:268,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:268,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:269,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:269,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:270,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:270,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:271,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:271,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:272,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:272,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:273,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:273,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:274,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:274,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:275,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:275,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:276,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:276,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:277,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:277,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:278,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:278,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:279,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:279,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:280,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:280,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:281,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:281,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:282,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:282,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:283,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:283,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:284,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:284,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:285,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:285,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:286,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:286,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:287,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:287,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:288,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:288,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:293,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:293,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:294,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:294,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:298,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:298,1
    - Dst: cryptofuzz::module::libecc_detail::AddCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:299,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 306
    functionName: cryptofuzz::module::libecc::libecc
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - get_sig_by_name
    - CF_ECC_CURVE
    - cryptofuzz::module::libecc_detail::AddCurve
    - fopen
    linkageType: ''
    returnType: void
    signature: void libecc::libecc(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:310,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:310,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:316,1
    - Dst: cryptofuzz::module::libecc_detail::To_hash_mapping
      Src: /src/cryptofuzz/modules/libecc/module.cpp:316,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:316,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:319,1
    - Dst: hash_mapping*::hfunc_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:319,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libecc/module.cpp:323,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:328,1
    - Dst: hash_mapping*::hfunc_update
      Src: /src/cryptofuzz/modules/libecc/module.cpp:328,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libecc/module.cpp:334,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:335,1
    - Dst: hash_mapping*::hfunc_finalize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:335,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/libecc/module.cpp:337,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libecc/module.cpp:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 344
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 344
    functionName: cryptofuzz::module::libecc::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - hash_mapping*::hfunc_finalize
    - CF_CHECK_NE
    - CF_ASSERT
    - cryptofuzz::util::malloc
    - cryptofuzz::util::free
    - modifier::GetPtr
    - Botan::PKCS11::LowLevel::C_Digest
    - digestType::Get
    - modifier::GetSize
    - hash_mapping*::hfunc_update
    - cryptofuzz::util::ToParts
    - cryptofuzz::module::libecc_detail::To_hash_mapping
    - hash_mapping*::hfunc_init
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> libecc::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:348,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:348,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:355,1
    - Dst: cryptofuzz::module::libecc_detail::To_hash_alg_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:355,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:355,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:358,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:362,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libecc/module.cpp:365,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:368,1
    - Dst: hmac
      Src: /src/cryptofuzz/modules/libecc/module.cpp:368,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:369,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:370,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:372,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:373,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/libecc/module.cpp:377,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:382,1
    - Dst: hmac_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:382,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:384,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:385,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libecc/module.cpp:389,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:396,1
    - Dst: hmac_update
      Src: /src/cryptofuzz/modules/libecc/module.cpp:396,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:402,1
    - Dst: hmac_finalize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:402,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/libecc/module.cpp:403,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libecc/module.cpp:408,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 411
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 411
    functionName: cryptofuzz::module::libecc::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - digestType::Get
    - hmac_finalize
    - modifier::GetSize
    - cipher::key::GetPtr
    - hmac_update
    - cleartext::GetSize
    - hmac_init
    - CF_CHECK_NE
    - cryptofuzz::util::free
    - Botan::PKCS11::LowLevel::C_Digest
    - CF_CHECK_EQ
    - hmac
    - cryptofuzz::util::ToParts
    - cryptofuzz::util::malloc
    - cipher::key::GetSize
    - cryptofuzz::module::libecc_detail::To_hash_alg_type
    - cleartext::GetPtr
    - Datasource::Get
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> libecc::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:415,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:415,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:424,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:424,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:425,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:425,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:426,1
    - Dst: ec_key_pair_gen
      Src: /src/cryptofuzz/modules/libecc/module.cpp:426,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:427,1
    - Dst: nn_bitlen
      Src: /src/cryptofuzz/modules/libecc/module.cpp:427,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libecc/module.cpp:429,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:430,1
    - Dst: ec_priv_key_export_to_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:430,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:433,1
    - Dst: prj_pt_unique
      Src: /src/cryptofuzz/modules/libecc/module.cpp:433,1
    - Dst: cryptofuzz::module::libecc_detail::To_Component_BignumPair
      Src: /src/cryptofuzz/modules/libecc/module.cpp:434,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:435,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:437,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libecc/module.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 444
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 444
    functionName: cryptofuzz::module::libecc::OpECC_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - ec_key_pair_gen
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - CF_ASSERT
    - cryptofuzz::module::libecc_detail::To_Component_BignumPair
    - modifier::GetPtr
    - CF_CHECK_EQ
    - cryptofuzz::module::libecc_detail::GetCurve
    - import_params
    - cryptofuzz::util::BinToDec
    - modifier::GetSize
    - nn_bitlen
    - cryptofuzz::util::malloc
    - ec_priv_key_export_to_buf
    - prj_pt_unique
    linkageType: ''
    returnType: std::optional<component::ECC_KeyPair>
    signature: std::optional<component::ECC_KeyPair> libecc::OpECC_GenerateKeyPair(operation::ECC_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:448,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:448,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:459,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:459,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:460,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:460,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:463,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:463,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:463,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:463,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:467,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:467,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:467,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:467,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:474,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:474,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:475,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:475,1
    - Dst: BYTECEIL
      Src: /src/cryptofuzz/modules/libecc/module.cpp:479,1
    - Dst: fp_init_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:481,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:481,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:481,1
    - Dst: fp_init_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:487,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:487,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:487,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libecc/module.cpp:494,1
    - Dst: fp_export_to_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:496,1
    - Dst: fp_export_to_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:500,1
    - Dst: ec_pub_key_import_from_aff_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:510,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libecc/module.cpp:519,1
    - Dst: fp_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:522,1
    - Dst: fp_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:525,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 533
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 533
    functionName: cryptofuzz::module::libecc::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - ec_pub_key_import_from_aff_buf
    - fp_init_from_buf
    - modifier::GetPtr
    - cryptofuzz::module::libecc_detail::GetCurve
    - modifier::GetSize
    - CF_CHECK_NE
    - curveType::Is
    - pub::second::ToTrimmedString
    - cryptofuzz::util::DecToBin
    - BYTECEIL
    - cryptofuzz::util::free
    - fp_uninit
    - cryptofuzz::util::malloc
    - fp_export_to_buf
    - CF_ASSERT
    - CF_ECC_CURVE
    - pub::first::ToTrimmedString
    - import_params
    - auto::data
    - auto::size
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> libecc::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:551,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:551,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:552,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:552,1
    - Dst: Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:555,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:555,1
    - Dst: Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:555,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:555,1
    - Dst: Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:558,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:558,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:565,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:565,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:565,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:567,1
    - Dst: eddsa_import_priv_key
      Src: /src/cryptofuzz/modules/libecc/module.cpp:567,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:567,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:567,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/libecc/module.cpp:569,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:570,1
    - Dst: eddsa_init_pub_key
      Src: /src/cryptofuzz/modules/libecc/module.cpp:570,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/libecc/module.cpp:572,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:573,1
    - Dst: eddsa_export_pub_key
      Src: /src/cryptofuzz/modules/libecc/module.cpp:573,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:576,1
    - Dst: Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:580,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:580,1
    - Dst: Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:580,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:580,1
    - Dst: Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:583,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:583,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:588,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:588,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:588,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/libecc/module.cpp:590,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:592,1
    - Dst: x25519_init_pub_key
      Src: /src/cryptofuzz/modules/libecc/module.cpp:592,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:592,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:595,1
    - Dst: x448_init_pub_key
      Src: /src/cryptofuzz/modules/libecc/module.cpp:595,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:595,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:599,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:603,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:603,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:603,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:604,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:604,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:608,1
    - Dst: ec_priv_key_import_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:608,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:608,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:608,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/libecc/module.cpp:609,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:610,1
    - Dst: init_pubkey_from_privkey
      Src: /src/cryptofuzz/modules/libecc/module.cpp:610,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:611,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:616,1
    - Dst: prj_pt_unique
      Src: /src/cryptofuzz/modules/libecc/module.cpp:616,1
    - Dst: cryptofuzz::module::libecc_detail::To_Component_BignumPair
      Src: /src/cryptofuzz/modules/libecc/module.cpp:619,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/modules/libecc/module.cpp:620,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:620,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:621,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:622,1
    - Dst: IsLessThan
      Src: /src/cryptofuzz/modules/libecc/module.cpp:622,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libecc/module.cpp:627,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 3
    argNames:
    - ' ds'
    - ' curveType'
    - ' _priv'
    argTypes:
    - Datasource
    - component::CurveType
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 632
      start: 536
    functionDepth: 3
    functionLinenumber: 536
    functionLinenumberEnd: 632
    functionName: cryptofuzz::module::libecc_detail::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - eddsa_init_pub_key
    - init_pubkey_from_privkey
    - cryptofuzz::module::libecc_detail::GetCurve
    - std::optional::size
    - memset
    - Is
    - x448_init_pub_key
    - CF_CHECK_LTE
    - CF_CHECK_NE
    - std::optional::data
    - cryptofuzz::util::DecToBin
    - eddsa_import_priv_key
    - ToTrimmedString
    - cryptofuzz::util::free
    - cryptofuzz::module::libecc_detail::To_Component_BignumPair
    - ec_priv_key_import_from_buf
    - CF_CHECK_EQ
    - cryptofuzz::util::BinToDec
    - Get
    - prj_pt_unique
    - CF_CHECK_TRUE
    - eddsa_export_pub_key
    - CF_ASSERT
    - CF_ECC_CURVE
    - import_params
    - x25519_init_pub_key
    - IsLessThan
    - cryptofuzz::repository::ECC_CurveToOrder
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> OpECC_PrivateToPublic(Datasource&
      ds, const component::CurveType& curveType, const component::Bignum& _priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:636,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:636,1
    - Dst: cryptofuzz::module::libecc_detail::OpECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/libecc/module.cpp:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 639
      start: 635
    functionDepth: 4
    functionLinenumber: 635
    functionLinenumberEnd: 639
    functionName: cryptofuzz::module::libecc::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::module::libecc_detail::OpECC_PrivateToPublic
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> libecc::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - Buffer
    constantsTouched: []
    func_position:
      end: 651
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 651
    functionName: cryptofuzz::module::libecc_detail::IsValidECxDSASize
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - GetSize
    linkageType: ''
    returnType: bool
    signature: bool IsValidECxDSASize(const Buffer& msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libecc_detail::IsValidECxDSASize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:665,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/libecc/module.cpp:669,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:675,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:675,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/libecc/module.cpp:687,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:689,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:689,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:690,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/libecc/module.cpp:690,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/libecc/module.cpp:690,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:691,1
    - Dst: cryptofuzz::module::libecc_detail::To_hash_alg_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:691,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:691,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:693,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/libecc/module.cpp:693,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:696,1
    - Dst: cryptofuzz::module::libecc_detail::OpECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/libecc/module.cpp:696,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:701,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:701,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:702,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:702,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:705,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:706,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:706,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:707,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:707,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:708,1
    - Dst: ec_key_pair_import_from_priv_key_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:708,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:710,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:710,1
    - Dst: ECDSA_SIGLEN
      Src: /src/cryptofuzz/modules/libecc/module.cpp:714,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:715,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libecc/module.cpp:716,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:718,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:718,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:719,1
    - Dst: ec_sign_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:719,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:721,1
    - Dst: ec_sign_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:721,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/libecc/module.cpp:724,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:726,1
    - Dst: nonce::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:726,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:728,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:728,1
    - Dst: nonce::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:728,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:731,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:731,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:734,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:734,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libecc/module.cpp:735,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:738,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:738,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:739,1
    - Dst: ecxdsa_sign_raw
      Src: /src/cryptofuzz/modules/libecc/module.cpp:739,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:741,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:741,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/libecc/module.cpp:743,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:743,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/libecc/module.cpp:744,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:744,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:747,1
    - Dst: ecxdsa_sign_update
      Src: /src/cryptofuzz/modules/libecc/module.cpp:747,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/libecc/module.cpp:750,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:751,1
    - Dst: ecxdsa_sign_finalize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:751,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/libecc/module.cpp:752,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:753,1
    - Dst: ecxdsa_rfc6979_sign_finalize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:753,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:755,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:762,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:763,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:769,1
    - Dst: cryptofuzz::util::AdjustECDSASignature
      Src: /src/cryptofuzz/modules/libecc/module.cpp:769,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:769,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libecc/module.cpp:776,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 4
    argNames:
    - ' op'
    - ecxdsa_sign_raw
    - ecxdsa_sign_update
    - ecxdsa_sign_finalize
    argTypes:
    - Operation
    - ecxdsa_sign_raw_t
    - ecxdsa_sign_update_t
    - ecxdsa_sign_finalize_t
    constantsTouched: []
    func_position:
      end: 780
      start: 659
    functionDepth: 4
    functionLinenumber: 659
    functionLinenumberEnd: 780
    functionName: cryptofuzz::module::libecc_detail::ECxDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - ecxdsa_sign_finalize
    - UseSpecifiedNonce
    - modifier::GetPtr
    - digestType::Get
    - cryptofuzz::module::libecc_detail::GetCurve
    - cryptofuzz::util::AdjustECDSASignature
    - std::optional::size
    - modifier::GetSize
    - UseRandomNonce
    - CF_CHECK_LTE
    - cleartext::GetSize
    - CF_CHECK_NE
    - ec_sign_init
    - std::optional::data
    - ECDSA_SIGLEN
    - cryptofuzz::util::DecToBin
    - nonce::ToTrimmedString
    - ec_key_pair_import_from_priv_key_buf
    - ecxdsa_rfc6979_sign_finalize
    - cryptofuzz::util::free
    - CF_UNREACHABLE
    - CF_CHECK_EQ
    - digestType::Is
    - ecxdsa_sign_raw
    - cryptofuzz::util::BinToDec
    - cryptofuzz::util::malloc
    - cryptofuzz::util::ToParts
    - CF_CHECK_TRUE
    - cryptofuzz::module::libecc_detail::OpECC_PrivateToPublic
    - cryptofuzz::module::libecc_detail::To_hash_alg_type
    - CF_ASSERT
    - ecxdsa_sign_update
    - cleartext::GetPtr
    - cryptofuzz::module::libecc_detail::IsValidECxDSASize
    - priv::ToTrimmedString
    - CF_NORET
    - import_params
    - curveType::Get
    - CF_DIGEST
    - UseRFC6979Nonce
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: "std::optional<component::ECDSA_Signature> ECxDSA_Sign(\n            const
      Operation& op,\n            const ecxdsa_sign_raw_t ecxdsa_sign_raw,\n            const
      ecxdsa_sign_update_t ecxdsa_sign_update,\n            const ecxdsa_sign_finalize_t
      ecxdsa_sign_finalize,\n            const ecxdsa_rfc6979_sign_finalize_t ecxdsa_rfc6979_sign_finalize
      = nullptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libecc_detail::IsValidECxDSASize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:793,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:798,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:798,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:811,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:811,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:812,1
    - Dst: cryptofuzz::module::libecc_detail::To_hash_alg_type
      Src: /src/cryptofuzz/modules/libecc/module.cpp:812,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:812,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:816,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:816,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:817,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:817,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:821,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:824,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:824,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:824,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:825,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:825,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:825,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/libecc/module.cpp:827,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libecc/module.cpp:827,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:827,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libecc/module.cpp:827,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/libecc/module.cpp:828,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libecc/module.cpp:828,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:828,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libecc/module.cpp:828,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:831,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:831,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libecc/module.cpp:832,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:837,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:838,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:839,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:842,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:842,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:842,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:843,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:843,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:843,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:844,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:844,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/libecc/module.cpp:846,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:846,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:846,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/libecc/module.cpp:847,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:847,1
    - Dst: data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:847,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/libecc/module.cpp:848,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:848,1
    - Dst: data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:848,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:850,1
    - Dst: ec_pub_key_import_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:850,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:853,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:853,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:857,1
    - Dst: prj_pt_is_on_curve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:857,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:858,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:861,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:861,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:862,1
    - Dst: ec_verify_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:862,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:862,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:862,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:864,1
    - Dst: ec_verify_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:864,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:864,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:864,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:867,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:867,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:868,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:875,1
    - Dst: ecxdsa_verify_raw
      Src: /src/cryptofuzz/modules/libecc/module.cpp:877,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:877,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:880,1
    - Dst: ecxdsa_verify_update
      Src: /src/cryptofuzz/modules/libecc/module.cpp:880,1
    - Dst: ecxdsa_verify_finalize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:883,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 49
    argCount: 5
    argNames:
    - ' op'
    - sm
    - ecxdsa_verify_raw
    - ecxdsa_verify_update
    - ecxdsa_verify_finalize
    argTypes:
    - Operation
    - ec_sig_mapping*
    - ecxdsa_verify_raw_t
    - ecxdsa_verify_update_t
    - ecxdsa_verify_finalize_t
    constantsTouched: []
    func_position:
      end: 890
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 890
    functionName: cryptofuzz::module::libecc_detail::ECxDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - modifier::GetPtr
    - digestType::Get
    - cryptofuzz::module::libecc_detail::GetCurve
    - ec_verify_init
    - modifier::GetSize
    - cleartext::GetSize
    - CF_CHECK_NE
    - std::optional::data
    - data
    - signature::signature::first::ToTrimmedString
    - ecxdsa_verify_raw
    - memcpy
    - ecxdsa_verify_finalize
    - cryptofuzz::util::DecToBin
    - signature::signature::second::ToTrimmedString
    - prj_pt_is_on_curve
    - std::vector::data
    - signature::pub::first::ToTrimmedString
    - ec_pub_key_import_from_buf
    - std::vector::resize
    - digestType::Is
    - CF_CHECK_EQ
    - end
    - ecxdsa_verify_update
    - cryptofuzz::util::ToParts
    - signature::pub::second::ToTrimmedString
    - cryptofuzz::module::libecc_detail::To_hash_alg_type
    - CF_ASSERT
    - begin
    - cryptofuzz::module::libecc_detail::IsValidECxDSASize
    - cleartext::GetPtr
    - import_params
    - CF_DIGEST
    - std::vector::insert
    linkageType: ''
    returnType: std::optional<bool>
    signature: "std::optional<bool> ECxDSA_Verify(\n            const Operation& op,\n
      \           const ec_sig_mapping* sm,\n            const ecxdsa_verify_raw_t
      ecxdsa_verify_raw,\n            const ecxdsa_verify_update_t ecxdsa_verify_update,\n
      \           const ecxdsa_verify_finalize_t ecxdsa_verify_finalize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:904,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:904,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:913,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:913,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:914,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:914,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:916,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:916,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:920,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:920,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:920,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:920,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:925,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:925,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:929,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:929,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:929,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:929,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:939,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:939,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:940,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:944,1
    - Dst: eddsa_import_key_pair_from_priv_key_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:944,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:944,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libecc/module.cpp:947,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:949,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:951,1
    - Dst: _ec_sign
      Src: /src/cryptofuzz/modules/libecc/module.cpp:951,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:954,1
    - Dst: _ec_sign
      Src: /src/cryptofuzz/modules/libecc/module.cpp:954,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:954,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:954,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:958,1
    - Dst: cryptofuzz::module::libecc_detail::OpECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/libecc/module.cpp:958,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:962,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:963,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libecc/module.cpp:968,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 972
      start: 896
    functionDepth: 4
    functionLinenumber: 896
    functionLinenumberEnd: 972
    functionName: cryptofuzz::module::libecc_detail::EdDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::module::libecc_detail::GetCurve
    - eddsa_import_key_pair_from_priv_key_buf
    - modifier::GetSize
    - cleartext::GetSize
    - CF_CHECK_NE
    - curveType::Is
    - cryptofuzz::util::DecToBin
    - _ec_sign
    - cryptofuzz::util::free
    - CF_CHECK_EQ
    - digestType::Is
    - cryptofuzz::util::BinToDec
    - cryptofuzz::util::malloc
    - cryptofuzz::module::libecc_detail::OpECC_PrivateToPublic
    - CF_ASSERT
    - CF_ECC_CURVE
    - cleartext::GetPtr
    - priv::ToTrimmedString
    - import_params
    - CF_DIGEST
    - auto::data
    - auto::size
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> EdDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:976,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:976,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:991,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:996,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:996,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:997,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:997,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:999,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:999,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1003,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1003,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1003,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1003,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1008,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1008,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1012,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1012,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1012,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1012,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1024,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1027,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1027,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1027,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1028,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1028,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1028,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1030,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1030,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1030,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1030,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1031,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1031,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1031,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1031,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1036,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1036,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1036,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1038,1
    - Dst: eddsa_import_pub_key
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1038,1
    - Dst: data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1038,1
    - Dst: size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1038,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1045,1
    - Dst: ec_verify
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1047,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1047,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1047,1
    - Dst: ec_verify
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1050,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1050,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1050,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1050,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1050,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1055,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1056,1
    - Dst: ec_verify_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1056,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1056,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1056,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1059,1
    - Dst: ec_verify_update
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1059,1
    - Dst: ec_verify_finalize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1062,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 1069
      start: 974
    functionDepth: 2
    functionLinenumber: 974
    functionLinenumberEnd: 1069
    functionName: cryptofuzz::module::libecc_detail::EdDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - modifier::GetPtr
    - cryptofuzz::module::libecc_detail::GetCurve
    - ec_verify_finalize
    - ec_verify_init
    - modifier::GetSize
    - cleartext::GetSize
    - CF_CHECK_NE
    - curveType::Is
    - data
    - signature::signature::first::ToTrimmedString
    - cryptofuzz::util::DecToBin
    - signature::signature::second::ToTrimmedString
    - std::vector::data
    - signature::pub::first::ToTrimmedString
    - ec_verify
    - CF_CHECK_EQ
    - digestType::Is
    - size
    - end
    - cryptofuzz::util::ToParts
    - CF_ASSERT
    - eddsa_import_pub_key
    - CF_ECC_CURVE
    - begin
    - cleartext::GetPtr
    - Datasource::Get
    - ec_verify_update
    - import_params
    - CF_DIGEST
    - std::vector::insert
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> EdDSA_Verify(operation::ECDSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1075,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1075,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1075,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1075,1
    - Dst: cryptofuzz::module::libecc_detail::EdDSA_Sign
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1077,1
    - Dst: libecc_detail::ECxDSA_Sign<operation::ECDSA_Sign, ECDSA>
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 1083
      start: 1074
    functionDepth: 5
    functionLinenumber: 1074
    functionLinenumberEnd: 1083
    functionName: cryptofuzz::module::libecc::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    - cryptofuzz::module::libecc_detail::EdDSA_Sign
    - libecc_detail::ECxDSA_Sign<operation::ECDSA_Sign, ECDSA>
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> libecc::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1086,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1086,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1086,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1086,1
    - Dst: libecc_detail::ECxDSA_Sign<operation::ECGDSA_Sign, ECGDSA>
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1091,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECGDSA_Sign
    constantsTouched: []
    func_position:
      end: 1093
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1093
    functionName: cryptofuzz::module::libecc::OpECGDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    - libecc_detail::ECxDSA_Sign<operation::ECGDSA_Sign, ECGDSA>
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECGDSA_Signature>
    signature: std::optional<component::ECGDSA_Signature> libecc::OpECGDSA_Sign(operation::ECGDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1096,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1096,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1096,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1096,1
    - Dst: libecc_detail::ECxDSA_Sign<operation::ECRDSA_Sign, ECRDSA>
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECRDSA_Sign
    constantsTouched: []
    func_position:
      end: 1103
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1103
    functionName: cryptofuzz::module::libecc::OpECRDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    - libecc_detail::ECxDSA_Sign<operation::ECRDSA_Sign, ECRDSA>
    - curveType::Is
    linkageType: ''
    returnType: std::optional<component::ECRDSA_Signature>
    signature: std::optional<component::ECRDSA_Signature> libecc::OpECRDSA_Sign(operation::ECRDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1106,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1106,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1106,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1106,1
    - Dst: cryptofuzz::module::libecc_detail::EdDSA_Verify
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1108,1
    - Dst: libecc_detail::ECxDSA_Verify<operation::ECDSA_Verify, ECDSA>
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 1113
      start: 1105
    functionDepth: 3
    functionLinenumber: 1105
    functionLinenumberEnd: 1113
    functionName: cryptofuzz::module::libecc::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    - libecc_detail::ECxDSA_Verify<operation::ECDSA_Verify, ECDSA>
    - cryptofuzz::module::libecc_detail::EdDSA_Verify
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> libecc::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1116,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1116,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1116,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1116,1
    - Dst: libecc_detail::ECxDSA_Verify<operation::ECGDSA_Verify, ECGDSA>
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECGDSA_Verify
    constantsTouched: []
    func_position:
      end: 1123
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1123
    functionName: cryptofuzz::module::libecc::OpECGDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    - libecc_detail::ECxDSA_Verify<operation::ECGDSA_Verify, ECGDSA>
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> libecc::OpECGDSA_Verify(operation::ECGDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1126,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1126,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1126,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1126,1
    - Dst: libecc_detail::ECxDSA_Verify<operation::ECRDSA_Verify, ECRDSA>
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECRDSA_Verify
    constantsTouched: []
    func_position:
      end: 1133
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1133
    functionName: cryptofuzz::module::libecc::OpECRDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ECC_CURVE
    - libecc_detail::ECxDSA_Verify<operation::ECRDSA_Verify, ECRDSA>
    - curveType::Is
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> libecc::OpECRDSA_Verify(operation::ECRDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1147,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1151,1
    - Dst: component::ECC_Point::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1151,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1152,1
    - Dst: component::ECC_Point::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1152,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1154,1
    - Dst: fp_init_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1154,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1154,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1154,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1155,1
    - Dst: fp_init_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1155,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1155,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1155,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1156,1
    - Dst: fp_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1156,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1157,1
    - Dst: fp_one
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1157,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1158,1
    - Dst: prj_pt_init_from_coords
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1158,1
    - Dst: cryptofuzz::util::ToRandomProjective
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1160,1
    - Dst: component::ECC_Point::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1162,1
    - Dst: component::ECC_Point::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1163,1
    - Dst: component::CurveType::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1164,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1167,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1168,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1169,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1171,1
    - Dst: fp_init_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1171,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1171,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1171,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1172,1
    - Dst: fp_init_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1172,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1172,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1172,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1173,1
    - Dst: fp_init_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1173,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1173,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1173,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1174,1
    - Dst: prj_pt_init_from_coords
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 5
    argNames:
    - ' ds'
    - in
    - ' out'
    - ' params'
    - curveType
    argTypes:
    - fuzzing::datasource::Datasource
    - component::ECC_Point
    - prj_pt
    - ec_params
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 1180
      start: 1136
    functionDepth: 3
    functionLinenumber: 1136
    functionLinenumberEnd: 1180
    functionName: cryptofuzz::module::libecc_detail::LoadPoint
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - component::CurveType::Get
    - component::ECC_Point::first::ToTrimmedString
    - fp_init_from_buf
    - CF_ASSERT
    - cryptofuzz::util::ToRandomProjective
    - fp_init
    - component::ECC_Point::second::ToTrimmedString
    - fp_one
    - auto::data
    - cryptofuzz::util::DecToBin
    - auto::size
    - Get
    - CF_CHECK_TRUE
    - prj_pt_init_from_coords
    linkageType: ''
    returnType: bool
    signature: "bool LoadPoint(\n            fuzzing::datasource::Datasource& ds,\n
      \           const component::ECC_Point in,\n            prj_pt& out,\n            const
      ec_params& params,\n            const component::CurveType curveType)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1189,1
    - Dst: prj_pt_to_aff
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1189,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1197,1
    - Dst: aff_pt_export_to_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1197,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1199,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' res'
    - ' params'
    argTypes:
    - prj_pt
    - ec_params
    constantsTouched: []
    func_position:
      end: 1207
      start: 1182
    functionDepth: 2
    functionLinenumber: 1182
    functionLinenumberEnd: 1207
    functionName: cryptofuzz::module::libecc_detail::SavePoint
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - prj_pt_to_aff
    - aff_pt_export_to_buf
    - CF_CHECK_EQ
    - cryptofuzz::util::BinToDec
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: "std::optional<component::ECC_Point> SavePoint(\n            const
      prj_pt& res,\n            const ec_params& params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1212,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1212,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1221,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1221,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1222,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1222,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1224,1
    - Dst: prj_pt_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1224,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1227,1
    - Dst: cryptofuzz::module::libecc_detail::LoadPoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1227,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1228,1
    - Dst: cryptofuzz::module::libecc_detail::LoadPoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1228,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1231,1
    - Dst: prj_pt_add
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1231,1
    - Dst: cryptofuzz::module::libecc_detail::SavePoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1234,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1236,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1237,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 1244
      start: 1210
    functionDepth: 4
    functionLinenumber: 1210
    functionLinenumberEnd: 1244
    functionName: cryptofuzz::module::libecc::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - CF_ASSERT
    - prj_pt_init
    - modifier::GetPtr
    - prj_pt_uninit
    - prj_pt_add
    - cryptofuzz::module::libecc_detail::GetCurve
    - import_params
    - cryptofuzz::module::libecc_detail::LoadPoint
    - cryptofuzz::module::libecc_detail::SavePoint
    - modifier::GetSize
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> libecc::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1248,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1248,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1259,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1259,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1260,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1260,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1262,1
    - Dst: prj_pt_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1262,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1265,1
    - Dst: cryptofuzz::module::libecc_detail::LoadPoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1265,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1268,1
    - Dst: cryptofuzz::module::libecc_detail::To_nn_t
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1268,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1271,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1276,1
    - Dst: prj_pt_mul
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1276,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1278,1
    - Dst: prj_pt_mul_blind
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1278,1
    - Dst: cryptofuzz::module::libecc_detail::SavePoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1282,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1284,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 1291
      start: 1246
    functionDepth: 4
    functionLinenumber: 1246
    functionLinenumberEnd: 1291
    functionName: cryptofuzz::module::libecc::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - CF_ASSERT
    - cryptofuzz::module::libecc_detail::To_nn_t
    - prj_pt_init
    - modifier::GetPtr
    - prj_pt_mul_blind
    - prj_pt_uninit
    - cryptofuzz::module::libecc_detail::GetCurve
    - Datasource::Get
    - import_params
    - cryptofuzz::module::libecc_detail::LoadPoint
    - prj_pt_mul
    - cryptofuzz::module::libecc_detail::SavePoint
    - modifier::GetSize
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> libecc::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1295,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1295,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1304,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1304,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1305,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1305,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1307,1
    - Dst: prj_pt_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1307,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1310,1
    - Dst: cryptofuzz::module::libecc_detail::LoadPoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1310,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1313,1
    - Dst: prj_pt_dbl
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1313,1
    - Dst: cryptofuzz::module::libecc_detail::SavePoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1316,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1318,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 1325
      start: 1293
    functionDepth: 4
    functionLinenumber: 1293
    functionLinenumberEnd: 1325
    functionName: cryptofuzz::module::libecc::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - CF_ASSERT
    - prj_pt_init
    - modifier::GetPtr
    - prj_pt_uninit
    - cryptofuzz::module::libecc_detail::GetCurve
    - import_params
    - cryptofuzz::module::libecc_detail::LoadPoint
    - cryptofuzz::module::libecc_detail::SavePoint
    - modifier::GetSize
    - prj_pt_dbl
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> libecc::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1329,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1329,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1338,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1338,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1339,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1339,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1341,1
    - Dst: prj_pt_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1341,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1344,1
    - Dst: cryptofuzz::module::libecc_detail::LoadPoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1344,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1347,1
    - Dst: prj_pt_neg
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1347,1
    - Dst: cryptofuzz::module::libecc_detail::SavePoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1350,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1352,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 1359
      start: 1327
    functionDepth: 4
    functionLinenumber: 1327
    functionLinenumberEnd: 1359
    functionName: cryptofuzz::module::libecc::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - CF_ASSERT
    - prj_pt_init
    - modifier::GetPtr
    - prj_pt_uninit
    - cryptofuzz::module::libecc_detail::GetCurve
    - import_params
    - cryptofuzz::module::libecc_detail::LoadPoint
    - cryptofuzz::module::libecc_detail::SavePoint
    - modifier::GetSize
    - prj_pt_neg
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> libecc::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1363,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1363,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1373,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1373,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1374,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1374,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1377,1
    - Dst: cryptofuzz::module::libecc_detail::LoadPoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1377,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1378,1
    - Dst: cryptofuzz::module::libecc_detail::LoadPoint
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1378,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1381,1
    - Dst: prj_pt_cmp
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1381,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1384,1
    - Dst: prj_pt_uninit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Cmp
    constantsTouched: []
    func_position:
      end: 1391
      start: 1361
    functionDepth: 4
    functionLinenumber: 1361
    functionLinenumberEnd: 1391
    functionName: cryptofuzz::module::libecc::OpECC_Point_Cmp
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - CF_ASSERT
    - modifier::GetPtr
    - prj_pt_uninit
    - cryptofuzz::module::libecc_detail::GetCurve
    - import_params
    - cryptofuzz::module::libecc_detail::LoadPoint
    - modifier::GetSize
    - prj_pt_cmp
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> libecc::OpECC_Point_Cmp(operation::ECC_Point_Cmp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1395,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1395,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1405,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1406,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1406,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1407,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1407,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1413,1
    - Dst: cryptofuzz::module::libecc_detail::GetCurve
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1413,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1414,1
    - Dst: import_params
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1414,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1416,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1416,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1420,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1420,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1422,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1422,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1422,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1424,1
    - Dst: x25519_derive_secret
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1424,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1424,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1424,1
    - Dst: Botan::TLS::Extended_Master_Secret::Extended_Master_Secret
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1426,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1426,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1428,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1428,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1432,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1432,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1434,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1434,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1434,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1436,1
    - Dst: x448_derive_secret
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1436,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1436,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1436,1
    - Dst: Botan::TLS::Extended_Master_Secret::Extended_Master_Secret
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1438,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1438,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1448,1
    - Dst: ecccdh_shared_secret_size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1448,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1451,1
    - Dst: ec_priv_key_import_from_buf
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1451,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1451,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1451,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1455,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1456,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1459,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1459,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1459,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1460,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1460,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1460,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1462,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1463,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1463,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1463,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1464,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1464,1
    - Dst: data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1464,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1467,1
    - Dst: ecccdh_derive_secret
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1467,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1467,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1467,1
    - Dst: Botan::TLS::Extended_Master_Secret::Extended_Master_Secret
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1470,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDH_Derive
    constantsTouched: []
    func_position:
      end: 1477
      start: 1393
    functionDepth: 2
    functionLinenumber: 1393
    functionLinenumberEnd: 1477
    functionName: cryptofuzz::module::libecc::OpECDH_Derive
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - modifier::GetPtr
    - cryptofuzz::module::libecc_detail::GetCurve
    - std::optional::size
    - modifier::GetSize
    - CF_CHECK_LTE
    - CF_CHECK_NE
    - curveType::Is
    - std::optional::data
    - data
    - memcpy
    - pub::second::ToTrimmedString
    - cryptofuzz::util::DecToBin
    - std::vector::data
    - Botan::TLS::Extended_Master_Secret::Extended_Master_Secret
    - ec_priv_key_import_from_buf
    - CF_CHECK_EQ
    - ecccdh_shared_secret_size
    - std::vector::resize
    - x25519_derive_secret
    - CF_ASSERT
    - x448_derive_secret
    - CF_ECC_CURVE
    - priv::ToTrimmedString
    - pub::first::ToTrimmedString
    - import_params
    - Buffer
    - ecccdh_derive_secret
    linkageType: ''
    returnType: std::optional<component::Secret>
    signature: std::optional<component::Secret> libecc::OpECDH_Derive(operation::ECDH_Derive&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::lexical_cast<word_t>
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1482,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 1486
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1486
    functionName: cryptofuzz::module::libecc_detail::ToWord
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - boost::lexical_cast<word_t>
    linkageType: ''
    returnType: std::optional<word_t>
    signature: std::optional<word_t> ToWord(const component::Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1493,1
    - Dst: nn_init
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1496
    functionName: cryptofuzz::module::libecc_detail::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - nn_init
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void Bignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1498
    functionName: ~Bignum()
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Bignum()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: To_nn_t
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 1502
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1502
    functionName: cryptofuzz::module::libecc_detail::Bignum::Set
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - To_nn_t
    linkageType: ''
    returnType: bool
    signature: bool Set(const component::Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1506
    functionName: cryptofuzz::module::libecc_detail::Bignum::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nn_t
    signature: nn_t GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: To_Component_Bignum
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1510
    functionName: cryptofuzz::module::libecc_detail::Bignum::ToComponentBignum
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - To_Component_Bignum
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ToComponentBignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1514,1
    - Dst: nn_cmp
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 1518
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1518
    functionName: cryptofuzz::module::libecc_detail::Bignum::Cmp
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - nn_cmp
    linkageType: ''
    returnType: int
    signature: int Cmp(const Bignum& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cmp
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 1521
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1521
    functionName: operator==(const Bignum& rhs)
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - Cmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Bignum& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cmp
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 1525
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1525
    functionName: operator>(const Bignum& rhs)
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - Cmp
    linkageType: ''
    returnType: bool
    signature: bool operator>(const Bignum& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1528,1
    - Dst: nn_zero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1531
    functionName: cryptofuzz::module::libecc_detail::Bignum::SetZero
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - nn_zero
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void SetZero(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1534,1
    - Dst: nn_one
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1537
    functionName: cryptofuzz::module::libecc_detail::Bignum::SetOne
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - nn_one
    linkageType: ''
    returnType: void
    signature: void SetOne(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1540,1
    - Dst: nn_set_word_value
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - word_t
    constantsTouched: []
    func_position:
      end: 1543
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1543
    functionName: cryptofuzz::module::libecc_detail::Bignum::SetWord
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - nn_set_word_value
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void SetWord(const word_t w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1547,1
    - Dst: nn_iszero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1551
    functionName: cryptofuzz::module::libecc_detail::Bignum::IsZero
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - nn_iszero
    - CF_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool IsZero(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1555,1
    - Dst: nn_isone
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1559
    functionName: cryptofuzz::module::libecc_detail::Bignum::IsOne
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - nn_isone
    - CF_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool IsOne(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1563,1
    - Dst: nn_isodd
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1567
    functionName: cryptofuzz::module::libecc_detail::Bignum::IsOdd
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - nn_isodd
    - CF_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool IsOdd(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1571,1
    - Dst: nn_bitlen
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1575
    functionName: cryptofuzz::module::libecc_detail::Bignum::NumBits
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - nn_bitlen
    linkageType: ''
    returnType: bitcnt_t
    signature: bitcnt_t NumBits(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' ds'
    - bn0
    - bn1
    - bn2
    - bn3
    argTypes:
    - Datasource
    - Bignum
    - Bignum
    - Bignum
    - Bignum
    constantsTouched: []
    func_position:
      end: 1587
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1587
    functionName: cryptofuzz::module::libecc_detail::BignumCluster::BignumCluster
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BignumCluster(Datasource& ds, Bignum bn0, Bignum bn1, Bignum bn2,
      Bignum bn3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1590,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1591,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1611
      start: 1589
    functionDepth: 1
    functionLinenumber: 1589
    functionLinenumberEnd: 1611
    functionName: '& operator[](const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - abort
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & operator[](const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1614,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1619
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1619
    functionName: '& Get(const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & Get(const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1622,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1623,1
    - Dst: cryptofuzz::module::libecc_detail::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - index
    - ' v'
    argTypes:
    - size_t
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 1627
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1627
    functionName: cryptofuzz::module::libecc_detail::BignumCluster::Set
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::libecc_detail::BignumCluster::Set
    - abort
    - size
    linkageType: ''
    returnType: bool
    signature: bool Set(const size_t index, const component::Bignum& v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1630,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1634,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1629
    functionDepth: 1
    functionLinenumber: 1629
    functionLinenumberEnd: 1638
    functionName: cryptofuzz::module::libecc_detail::BignumCluster::GetResPtr
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - CF_ASSERT
    - GetPtr
    linkageType: ''
    returnType: nn_t
    signature: nn_t GetResPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1641,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1643,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1644,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1646,1
    - Dst: nn_copy
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' res'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 1649
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1649
    functionName: cryptofuzz::module::libecc_detail::BignumCluster::CopyResult
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_ASSERT
    - nn_copy
    linkageType: ''
    returnType: void
    signature: void CopyResult(Bignum& res)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1655,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1655,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1661,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1662,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1663,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1664,1
    - Dst: cryptofuzz::repository::CalcOpToNumParams
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1668,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1668,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1669,1
    - Dst: libecc_detail::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1669,1
    - Dst: cryptofuzz::repository::CalcOpToNumParams
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1671,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1671,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1672,1
    - Dst: libecc_detail::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1672,1
    - Dst: cryptofuzz::repository::CalcOpToNumParams
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1674,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1674,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1675,1
    - Dst: libecc_detail::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1675,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1678,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1679,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1683,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1685,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1689,1
    - Dst: nn_add
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1689,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1689,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1689,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1689,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1691,1
    - Dst: nn_inc
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1691,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1691,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1691,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1693,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1693,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1696,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1698,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1702,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1704,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1709,1
    - Dst: nn_sub
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1709,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1709,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1709,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1709,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1711,1
    - Dst: nn_dec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1711,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1711,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1711,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1713,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1713,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1716,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1718,1
    - Dst: nn_lshift
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1718,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1718,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1718,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1719,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1719,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1721,1
    - Dst: libecc_detail::Bignum::NumBits
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1721,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1724,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1727,1
    - Dst: cryptofuzz::module::libecc_detail::To_uint16_t
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1727,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1729,1
    - Dst: nn_rshift
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1729,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1729,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1729,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1730,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1730,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1733,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1739,1
    - Dst: cryptofuzz::module::libecc_detail::ToWord
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1743,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1750,1
    - Dst: nn_mul
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1750,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1750,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1750,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1750,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1752,1
    - Dst: nn_mul_word
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1752,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1752,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1752,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1755,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1755,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1758,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1761,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1762,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1763,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1764,1
    - Dst: libecc_detail::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1767,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1769,1
    - Dst: nn_divrem
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1769,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1770,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1770,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1773,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1776,1
    - Dst: nn_gcd
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1776,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1776,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1776,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1776,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1777,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1777,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1780,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1781,1
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1781,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1782,1
    - Dst: nn_mod
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1782,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1782,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1782,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1782,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1783,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1783,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1785,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1786,1
    - Dst: nn_sqr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1786,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1786,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1786,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1787,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1787,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1789,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1790,1
    - Dst: nn_and
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1790,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1790,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1790,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1790,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1791,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1791,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1793,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1794,1
    - Dst: nn_or
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1794,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1794,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1794,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1794,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1795,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1795,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1797,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1798,1
    - Dst: nn_xor
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1798,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1798,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1798,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1798,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1799,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1799,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1801,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1807,1
    - Dst: NumBits
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1812,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1819,1
    - Dst: nn_getbit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1820,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1820,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1842,1
    - Dst: nn_modinv_2exp
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1843,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1844,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1845,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1848,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1848,1
    - Dst: nn_modinv
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1850,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1850,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1850,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1850,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1851,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1851,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1853,1
    - Dst: libecc_detail::Bignum::SetZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1853,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1858,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1859,1
    - Dst: nn_mod_pow
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1859,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1859,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1859,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1859,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1859,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1860,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1860,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1862,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1863,1
    - Dst: IsOdd
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1863,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1864,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1865,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1867,1
    - Dst: nn_mod_mul
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1867,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1867,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1867,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1867,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1867,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1868,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1868,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1870,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1872,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1873,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1877,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1879,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1887,1
    - Dst: nn_mod_add
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1887,1
    - Dst: libecc_detail::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1887,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1887,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1887,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1887,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1893,1
    - Dst: nn_mod_inc
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1893,1
    - Dst: libecc_detail::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1893,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1893,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1893,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1897,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1899,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1900,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1904,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1906,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1911,1
    - Dst: nn_mod_sub
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1911,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1911,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1911,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1911,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1911,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1913,1
    - Dst: nn_mod_dec
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1913,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1913,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1913,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1913,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1916,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1916,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1919,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1923,1
    - Dst: cryptofuzz::module::libecc_detail::To_uint16_t
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1923,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1924,1
    - Dst: cryptofuzz::module::libecc_detail::To_uint16_t
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1924,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1926,1
    - Dst: nn_lrot
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1926,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1926,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1926,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1927,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1927,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1930,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1934,1
    - Dst: cryptofuzz::module::libecc_detail::To_uint16_t
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1934,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1935,1
    - Dst: cryptofuzz::module::libecc_detail::To_uint16_t
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1935,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1937,1
    - Dst: nn_rrot
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1937,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1937,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1937,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1938,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1938,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1941,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1942,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1946,1
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1946,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1947,1
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1947,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1952,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1953,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1954,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1955,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1956,1
    - Dst: libecc_detail::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1960,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1961,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1964,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1964,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1965,1
    - Dst: nn_xgcd
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1965,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1968,1
    - Dst: nn_xgcd
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1968,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1972,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1972,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1975,1
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1976,1
    - Dst: libecc_detail::Bignum::SetOne
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1976,1
    - Dst: libecc_detail::Bignum::SetZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1976,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1978,1
    - Dst: IsOne
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1979,1
    - Dst: libecc_detail::Bignum::SetOne
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1979,1
    - Dst: libecc_detail::Bignum::SetZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1979,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1981,1
    - Dst: IsOdd
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1982,1
    - Dst: libecc_detail::Bignum::SetOne
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1982,1
    - Dst: libecc_detail::Bignum::SetZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1982,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1984,1
    - Dst: NumBits
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1986,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1989,1
    - Dst: libecc_detail::Bignum::SetWord
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1989,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1992,1
    - Dst: boost::lexical_cast<bitcnt_t>
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1994,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1994,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1997,1
    - Dst: nn_getbit
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1997,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:1997,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2000,1
    - Dst: libecc_detail::Bignum::SetWord
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2000,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2004,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2010,1
    - Dst: cryptofuzz::module::libecc_detail::ToWord
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2014,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2021,1
    - Dst: Cmp
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2021,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2025,1
    - Dst: nn_cmp_word
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2025,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2025,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2026,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2031,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2032,1
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2032,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2034,1
    - Dst: nn_mod_neg
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2034,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2034,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2034,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2034,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2035,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2035,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2037,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2038,1
    - Dst: libecc_detail::Bignum::SetZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2038,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2040,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2041,1
    - Dst: libecc_detail::Bignum::SetOne
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2041,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2043,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2044,1
    - Dst: nn_cnd_add
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2044,1
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2045,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2046,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2047,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2048,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2049,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2049,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2051,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2052,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2053,1
    - Dst: nn_cnd_sub
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2053,1
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2054,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2055,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2056,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2057,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2058,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2058,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2060,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2061,1
    - Dst: nn_get_random_mod
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2061,1
    - Dst: libecc_detail::BignumCluster::GetResPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2062,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2063,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2064,1
    - Dst: libecc_detail::BignumCluster::CopyResult
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2064,1
    - Dst: cryptofuzz::module::libecc_detail::To_Component_Bignum
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2070,1
    - Dst: libecc_detail::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libecc/module.cpp:2070,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 298
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2076
      start: 1653
    functionDepth: 3
    functionLinenumber: 1653
    functionLinenumberEnd: 2076
    functionName: cryptofuzz::module::libecc::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/libecc/module.cpp
    functionUses: 0
    functionsReached:
    - nn_divrem
    - CF_CALCOP
    - nn_lshift
    - nn_modinv_2exp
    - cryptofuzz::module::libecc_detail::To_Component_Bignum
    - nn_rshift
    - NumBits
    - nn_mod_mul
    - modifier::GetPtr
    - nn_sub
    - nn_mul_word
    - std::to_string
    - CF_CHECK_FALSE
    - nn_cnd_add
    - CF_CHECK_LT
    - IsOdd
    - nn_mod_inc
    - cryptofuzz::module::libecc_detail::ToWord
    - modifier::GetSize
    - nn_and
    - Cmp
    - nn_mod_sub
    - CF_CHECK_NE
    - nn_gcd
    - nn_xor
    - nn_cnd_sub
    - nn_getbit
    - libecc_detail::Bignum::SetZero
    - calcOp::Get
    - nn_add
    - nn_dec
    - nn_rrot
    - IsOne
    - libecc_detail::Bignum::SetWord
    - bn1::ToTrimmedString
    - boost::lexical_cast<bitcnt_t>
    - libecc_detail::BignumCluster::CopyResult
    - cryptofuzz::repository::CalcOpToNumParams
    - nn_mod_pow
    - nn_modinv
    - CF_CHECK_EQ
    - libecc_detail::Bignum::GetPtr
    - libecc_detail::Bignum::NumBits
    - libecc_detail::Bignum::SetOne
    - nn_inc
    - nn_xgcd
    - cryptofuzz::module::libecc_detail::To_uint16_t
    - nn_mod_add
    - CF_CHECK_TRUE
    - libecc_detail::BignumCluster::Set
    - nn_mul
    - nn_cmp_word
    - GetPtr
    - CF_ASSERT
    - nn_mod_dec
    - libecc_detail::BignumCluster::GetResPtr
    - nn_mod
    - nn_lrot
    - CF_NORET
    - nn_get_random_mod
    - Datasource::Get
    - IsZero
    - getBignum
    - nn_mod_neg
    - nn_sqr
    - nn_or
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> libecc::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mesg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 9
    functionName: rt_warn
    functionSourceFile: /src/cryptofuzz/modules/bc/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rt_warn (const char *mesg ,...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mesg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 12
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 12
    functionName: rt_error
    functionSourceFile: /src/cryptofuzz/modules/bc/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rt_error (const char *mesg ,...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cryptofuzz/modules/bc/module.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: out_of_memory
    functionSourceFile: /src/cryptofuzz/modules/bc/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void out_of_memory (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bc_init_numbers
      Src: /src/cryptofuzz/modules/bc/module.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: cryptofuzz::module::bc::bc
    functionSourceFile: /src/cryptofuzz/modules/bc/module.cpp
    functionUses: 0
    functionsReached:
    - bc_init_numbers
    linkageType: ''
    returnType: void
    signature: void bc::bc(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bc/module.cpp:28,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bc/module.cpp:28,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:32,1
    - Dst: bc_init_num
      Src: /src/cryptofuzz/modules/bc/module.cpp:32,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:33,1
    - Dst: bc_init_num
      Src: /src/cryptofuzz/modules/bc/module.cpp:33,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:34,1
    - Dst: bc_init_num
      Src: /src/cryptofuzz/modules/bc/module.cpp:34,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:35,1
    - Dst: bc_init_num
      Src: /src/cryptofuzz/modules/bc/module.cpp:35,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/bc/module.cpp:38,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:39,1
    - Dst: bc_str2num
      Src: /src/cryptofuzz/modules/bc/module.cpp:39,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/bc/module.cpp:39,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/bc/module.cpp:42,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:43,1
    - Dst: bc_str2num
      Src: /src/cryptofuzz/modules/bc/module.cpp:43,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/bc/module.cpp:43,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/bc/module.cpp:46,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:47,1
    - Dst: bc_str2num
      Src: /src/cryptofuzz/modules/bc/module.cpp:47,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/bc/module.cpp:47,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/bc/module.cpp:50,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:51,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:52,1
    - Dst: bc_add
      Src: /src/cryptofuzz/modules/bc/module.cpp:52,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:54,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:55,1
    - Dst: bc_sub
      Src: /src/cryptofuzz/modules/bc/module.cpp:55,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:57,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:58,1
    - Dst: bc_multiply
      Src: /src/cryptofuzz/modules/bc/module.cpp:58,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:60,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bc/module.cpp:61,1
    - Dst: bc_divide
      Src: /src/cryptofuzz/modules/bc/module.cpp:61,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:63,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bc/module.cpp:64,1
    - Dst: bc_modulo
      Src: /src/cryptofuzz/modules/bc/module.cpp:64,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:66,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bc/module.cpp:67,1
    - Dst: bc_raise
      Src: /src/cryptofuzz/modules/bc/module.cpp:67,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:69,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bc/module.cpp:70,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/bc/module.cpp:70,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bc/module.cpp:71,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/bc/module.cpp:71,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/bc/module.cpp:72,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/bc/module.cpp:72,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/bc/module.cpp:73,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/modules/bc/module.cpp:73,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bc/module.cpp:74,1
    - Dst: bc_raisemod
      Src: /src/cryptofuzz/modules/bc/module.cpp:74,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:76,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bc/module.cpp:77,1
    - Dst: bc_sqrt
      Src: /src/cryptofuzz/modules/bc/module.cpp:77,1
    - Dst: bc_free_num
      Src: /src/cryptofuzz/modules/bc/module.cpp:78,1
    - Dst: bc_copy_num
      Src: /src/cryptofuzz/modules/bc/module.cpp:79,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:81,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/bc/module.cpp:82,1
    - Dst: bc_compare
      Src: /src/cryptofuzz/modules/bc/module.cpp:82,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:85,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/bc/module.cpp:86,1
    - Dst: bc_is_zero
      Src: /src/cryptofuzz/modules/bc/module.cpp:86,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bc/module.cpp:89,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/bc/module.cpp:90,1
    - Dst: bc_is_neg
      Src: /src/cryptofuzz/modules/bc/module.cpp:90,1
    - Dst: bc_num2str
      Src: /src/cryptofuzz/modules/bc/module.cpp:98,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bc/module.cpp:99,1
    - Dst: free
      Src: /src/cryptofuzz/modules/bc/module.cpp:100,1
    - Dst: bc_free_num
      Src: /src/cryptofuzz/modules/bc/module.cpp:105,1
    - Dst: bc_free_num
      Src: /src/cryptofuzz/modules/bc/module.cpp:106,1
    - Dst: bc_free_num
      Src: /src/cryptofuzz/modules/bc/module.cpp:107,1
    - Dst: bc_free_num
      Src: /src/cryptofuzz/modules/bc/module.cpp:108,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 111
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 111
    functionName: cryptofuzz::module::bc::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/bc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - bc_add
    - modifier::GetPtr
    - std::to_string
    - free
    - bc_modulo
    - bn0::GetSize
    - modifier::GetSize
    - bc_free_num
    - bc_divide
    - bn1::ToString
    - CF_CHECK_LTE
    - bc_copy_num
    - bc_is_zero
    - bc_is_neg
    - CF_CHECK_NE
    - bn1::GetSize
    - bn2::ToString
    - bc_compare
    - calcOp::Get
    - bc_multiply
    - bn0::ToString
    - bc_sub
    - bc_init_num
    - bn0::ToTrimmedString
    - bn1::ToTrimmedString
    - bc_num2str
    - CF_CHECK_EQ
    - bc_str2num
    - std::string
    - bc_raisemod
    - bc_raise
    - CF_NORET
    - bc_sqrt
    - auto::data
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> bc::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: cryptofuzz::module::wide_integer::wide_integer
    functionSourceFile: /src/cryptofuzz/modules/wide-integer/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wide_integer::wide_integer(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:18,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:19,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:20,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:21,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:22,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:23,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:24,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:32,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:32,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:34,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:35,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:36,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:39,1
    - Dst: bn0::IsLessThan
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:39,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:40,1
    - Dst: bn1::IsLessThan
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:40,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:41,1
    - Dst: bn2::IsLessThan
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:41,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:42,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:43,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:46,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:49,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:52,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:53,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:56,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:57,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:60,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:61,1
    - Dst: math::wide_integer::powm
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:62,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:64,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:65,1
    - Dst: ref_gcd
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:66,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:68,1
    - Dst: Botan::PCurve::GenericField::sqrt
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:69,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:71,1
    - Dst: math::wide_integer::cbrt
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:72,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/wide-integer/module.cpp:81,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 85
      start: 12
    functionDepth: 4
    functionLinenumber: 12
    functionLinenumberEnd: 85
    functionName: cryptofuzz::module::wide_integer::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/wide-integer/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - bn1::ToTrimmedString
    - CF_CHECK_TRUE
    - CF_CHECK_NE
    - modifier::GetPtr
    - ref_gcd
    - math::wide_integer::powm
    - math::wide_integer::cbrt
    - bn2::IsLessThan
    - modifier::GetSize
    - calcOp::Get
    - std::stringstream::str
    - bn1::IsLessThan
    - Botan::PCurve::GenericField::sqrt
    - bn0::ToTrimmedString
    - bn2::ToTrimmedString
    - bn0::IsLessThan
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> wide_integer::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: cryptofuzz::module::wide_integer::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/wide-integer/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wide_integer::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/cryptofuzz/modules/jsbn/generate_calc_ops.cpp:9,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/jsbn/generate_calc_ops.cpp:12,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/jsbn/generate_calc_ops.cpp:14,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/jsbn/generate_calc_ops.cpp:15,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/jsbn/generate_calc_ops.cpp:15,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 19
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/jsbn/generate_calc_ops.cpp
    functionUses: 97
    functionsReached:
    - std::string::find_first_of
    - printf
    - abort
    - std::string::c_str
    - std::string::substr
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:13,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::jsbn::jsbn
    functionSourceFile: /src/cryptofuzz/modules/jsbn/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void jsbn::jsbn(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: jsbn::~jsbn(void)
    functionSourceFile: /src/cryptofuzz/modules/jsbn/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jsbn::~jsbn(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:26,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:26,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:28,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:28,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:29,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:32,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:36,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:39,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:42,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:45,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:45,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:46,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:51,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/jsbn/module.cpp:53,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 60
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::jsbn::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/jsbn/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - bn1::ToTrimmedString
    - Run
    - modifier::GetPtr
    - calcOp::Is
    - ToJSON
    - modifier::GetSize
    - bn0::ToTrimmedString
    - bn2::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> jsbn::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: cryptofuzz::module::Beast::Beast
    functionSourceFile: /src/cryptofuzz/modules/beast/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Beast::Beast(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/beast/module.cpp:16,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/beast/module.cpp:17,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/beast/module.cpp:19,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/beast/module.cpp:19,1
    - Dst: Botan_Tests::test_x509_uninit
      Src: /src/cryptofuzz/modules/beast/module.cpp:27,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/beast/module.cpp:28,1
    - Dst: Botan_Tests::CTR_DRBG_AES256::update
      Src: /src/cryptofuzz/modules/beast/module.cpp:34,1
    - Dst: finish
      Src: /src/cryptofuzz/modules/beast/module.cpp:41,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/beast/module.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 49
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 49
    functionName: cryptofuzz::module::Beast::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/beast/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - Botan::PKCS11::LowLevel::C_Digest
    - digestType::Get
    - Botan_Tests::test_x509_uninit
    - modifier::GetSize
    - finish
    - cryptofuzz::util::ToParts
    - ID
    - Botan_Tests::CTR_DRBG_AES256::update
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Beast::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:14,1
    - Dst: NimMain
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: cryptofuzz::module::nim_bigints::nim_bigints
    functionSourceFile: /src/cryptofuzz/modules/nim-bigints/module.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - NimMain
    linkageType: ''
    returnType: void
    signature: void nim_bigints::nim_bigints(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: cryptofuzz::module::nim_bigints_detail::ToString
    functionSourceFile: /src/cryptofuzz/modules/nim-bigints/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const component::Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::nim_bigints_detail::ToString
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:32,1
    - Dst: cryptofuzz::module::nim_bigints_detail::ToString
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:33,1
    - Dst: cryptofuzz::module::nim_bigints_detail::ToString
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:34,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:36,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:36,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:36,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:38,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:38,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:39,1
    - Dst: cryptofuzz_nim_bigints_add
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:40,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:41,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:41,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:42,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:42,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:43,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:45,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:45,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:46,1
    - Dst: cryptofuzz_nim_bigints_sub
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:47,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:48,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:48,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:49,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:49,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:50,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:52,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:52,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:53,1
    - Dst: cryptofuzz_nim_bigints_mul
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:54,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:55,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:55,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:56,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:56,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:57,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:59,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:59,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:60,1
    - Dst: bn1::IsZero
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:60,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:61,1
    - Dst: cryptofuzz_nim_bigints_div
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:62,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:63,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:63,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:64,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:64,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:65,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:67,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:67,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:68,1
    - Dst: bn1::IsZero
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:68,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:69,1
    - Dst: bn0::IsNegative
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:69,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:70,1
    - Dst: bn1::IsNegative
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:70,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:71,1
    - Dst: cryptofuzz_nim_bigints_mod
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:72,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:73,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:73,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:74,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:74,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:75,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:77,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:77,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:78,1
    - Dst: cryptofuzz_nim_bigints_gcd
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:79,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:80,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:80,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:81,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:81,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:82,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:84,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:84,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:85,1
    - Dst: bn1::IsPositive
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:85,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:86,1
    - Dst: cryptofuzz_nim_bigints_invmod
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:87,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:88,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:88,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:89,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:89,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:90,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:92,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:92,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:93,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:93,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:94,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:94,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:95,1
    - Dst: bn2::GetSize
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:95,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:96,1
    - Dst: bn2::IsZero
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:96,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:97,1
    - Dst: bn1::IsNegative
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:97,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:98,1
    - Dst: bn2::IsNegative
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:98,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:99,1
    - Dst: cryptofuzz_nim_bigints_expmod
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:100,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:101,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:101,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:102,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:102,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:103,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:103,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:104,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:106,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:106,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:107,1
    - Dst: bn0::IsNegative
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:107,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:108,1
    - Dst: bn1::IsNegative
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:108,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:109,1
    - Dst: cryptofuzz_nim_bigints_and
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:110,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:111,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:111,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:112,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:112,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:113,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:115,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:115,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:116,1
    - Dst: bn0::IsNegative
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:116,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:117,1
    - Dst: bn1::IsNegative
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:117,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:118,1
    - Dst: cryptofuzz_nim_bigints_or
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:119,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:120,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:120,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:121,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:121,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:122,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:124,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:124,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:125,1
    - Dst: bn0::IsNegative
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:125,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:126,1
    - Dst: bn1::IsNegative
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:126,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:127,1
    - Dst: cryptofuzz_nim_bigints_xor
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:128,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:129,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:129,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:130,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:130,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:131,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:137,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/nim-bigints/module.cpp:137,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 141
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 141
    functionName: cryptofuzz::module::nim_bigints::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/nim-bigints/module.cpp
    functionUses: 0
    functionsReached:
    - bn2::IsNegative
    - CF_CALCOP
    - cryptofuzz_nim_bigints_and
    - CF_CHECK_FALSE
    - cryptofuzz_nim_bigints_invmod
    - cryptofuzz_nim_bigints_mul
    - bn1::IsNegative
    - bn0::GetSize
    - memset
    - bn1::IsZero
    - CF_CHECK_LTE
    - cryptofuzz_nim_bigints_xor
    - std::array::data
    - cryptofuzz::module::nim_bigints_detail::ToString
    - bn1::GetSize
    - cryptofuzz_nim_bigints_gcd
    - bn2::GetSize
    - bn1::IsPositive
    - cryptofuzz_nim_bigints_div
    - CF_CHECK_EQ
    - std::string
    - cryptofuzz_nim_bigints_mod
    - CF_CHECK_TRUE
    - cryptofuzz_nim_bigints_add
    - calcOp::Is
    - cryptofuzz_nim_bigints_sub
    - bn0::IsNegative
    - auto::data
    - bn2::IsZero
    - cryptofuzz_nim_bigints_expmod
    - std::array::size
    - auto::size
    - cryptofuzz_nim_bigints_or
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> nim_bigints::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 12
    functionName: cryptofuzz::module::polygon_zkevm_prover::polygon_zkevm_prover
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void polygon_zkevm_prover::polygon_zkevm_prover(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fromString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:19,1
    - Dst: component::G1::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:19,1
    - Dst: fromString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:20,1
    - Dst: component::G1::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - g1
    argTypes:
    - component::G1
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - component::G1::second::ToTrimmedString
    - component::G1::first::ToTrimmedString
    - fromString
    linkageType: ''
    returnType: AltBn128::G1PointAffine
    signature: AltBn128::G1PointAffine LoadG1(const component::G1 g1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:26,1
    - Dst: toString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g1'
    argTypes:
    - AltBn128::G1PointAffine
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG1
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: component::G1
    signature: component::G1 SaveG1(const AltBn128::G1PointAffine& g1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g1::copy
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:33,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG1
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' g1'
    argTypes:
    - AltBn128::G1Point
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG1
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::polygon_zkevm_prover_detail::SaveG1
    - g1::copy
    linkageType: ''
    returnType: component::G1
    signature: component::G1 SaveG1(AltBn128::G1Point& g1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fromString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:39,1
    - Dst: component::G2::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:39,1
    - Dst: fromString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:40,1
    - Dst: component::G2::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:40,1
    - Dst: fromString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:41,1
    - Dst: component::G2::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:41,1
    - Dst: fromString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:42,1
    - Dst: component::G2::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - g2
    argTypes:
    - component::G2
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - component::G2::second::first::ToTrimmedString
    - component::G2::second::second::ToTrimmedString
    - fromString
    - component::G2::first::first::ToTrimmedString
    - component::G2::first::second::ToTrimmedString
    linkageType: ''
    returnType: AltBn128::G2PointAffine
    signature: AltBn128::G2PointAffine LoadG2(const component::G2 g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:47,1
    - Dst: toString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:48,1
    - Dst: toString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:49,1
    - Dst: toString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g2'
    argTypes:
    - AltBn128::G2PointAffine
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG2
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: component::G2
    signature: component::G2 SaveG2(AltBn128::G2PointAffine& g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g2::copy
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:56,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG2
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' g2'
    argTypes:
    - AltBn128::G2Point
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG2
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 1
    functionsReached:
    - g2::copy
    - cryptofuzz::module::polygon_zkevm_prover_detail::SaveG2
    linkageType: ''
    returnType: component::G2
    signature: component::G2 SaveG2(AltBn128::G2Point& g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:65,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:66,1
    - Dst: g1::add
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:68,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG1
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: cryptofuzz::module::polygon_zkevm_prover::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::polygon_zkevm_prover_detail::SaveG1
    - cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
    - g1::add
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> polygon_zkevm_prover::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:81,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:82,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:82,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:84,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:86,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:86,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:86,1
    - Dst: g1::mulByScalar
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:88,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:88,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:88,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG1
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: cryptofuzz::module::polygon_zkevm_prover::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
    - CF_CHECK_NE
    - std::vector::size
    - g1::mulByScalar
    - std::vector::begin
    - std::reverse
    - cryptofuzz::util::DecToBin
    - std::vector::end
    - cryptofuzz::module::polygon_zkevm_prover_detail::SaveG1
    - b::ToTrimmedString
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> polygon_zkevm_prover::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:100,1
    - Dst: g1::neg
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:102,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG1
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: cryptofuzz::module::polygon_zkevm_prover::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::polygon_zkevm_prover_detail::SaveG1
    - cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
    - g1::neg
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> polygon_zkevm_prover::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:112,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:113,1
    - Dst: g1::eq
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: cryptofuzz::module::polygon_zkevm_prover::OpBLS_G1_IsEq
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::polygon_zkevm_prover_detail::LoadG1
    - g1::eq
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> polygon_zkevm_prover::OpBLS_G1_IsEq(operation::BLS_G1_IsEq&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:125,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:126,1
    - Dst: g2::add
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:127,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG2
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: cryptofuzz::module::polygon_zkevm_prover::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::polygon_zkevm_prover_detail::SaveG2
    - cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
    - g2::add
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> polygon_zkevm_prover::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:140,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:141,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:141,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:143,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:145,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:145,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:145,1
    - Dst: g2::mulByScalar
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:147,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:147,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:147,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG2
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 153
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 153
    functionName: cryptofuzz::module::polygon_zkevm_prover::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
    - std::vector::size
    - std::vector::begin
    - std::reverse
    - cryptofuzz::util::DecToBin
    - std::vector::end
    - g2::mulByScalar
    - b::ToTrimmedString
    - cryptofuzz::module::polygon_zkevm_prover_detail::SaveG2
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> polygon_zkevm_prover::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:159,1
    - Dst: g2::neg
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:161,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::SaveG2
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: cryptofuzz::module::polygon_zkevm_prover::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::polygon_zkevm_prover_detail::SaveG2
    - cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
    - g2::neg
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> polygon_zkevm_prover::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:171,1
    - Dst: cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:172,1
    - Dst: g2::eq
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: cryptofuzz::module::polygon_zkevm_prover::OpBLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::polygon_zkevm_prover_detail::LoadG2
    - g2::eq
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> polygon_zkevm_prover::OpBLS_G2_IsEq(operation::BLS_G2_IsEq&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:184,1
    - Dst: fromString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:189,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:189,1
    - Dst: fromString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:190,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:190,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:192,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:193,1
    - Dst: add
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:194,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:196,1
    - Dst: sub
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:197,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:199,1
    - Dst: mul
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:200,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:202,1
    - Dst: square
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:203,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:205,1
    - Dst: inv
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:206,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:208,1
    - Dst: neg
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:209,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:211,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:213,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:213,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:214,1
    - Dst: exp
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:215,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:215,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:215,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:218,1
    - Dst: eq
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:219,1
    - Dst: one
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:219,1
    - Dst: zero
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:219,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:221,1
    - Dst: isZero
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:222,1
    - Dst: one
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:222,1
    - Dst: zero
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:222,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:228,1
    - Dst: toString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:228,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:229,1
    - Dst: fromString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:234,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:234,1
    - Dst: fromString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:235,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:235,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:237,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:238,1
    - Dst: add
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:239,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:241,1
    - Dst: sub
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:242,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:244,1
    - Dst: mul
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:245,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:247,1
    - Dst: square
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:248,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:250,1
    - Dst: inv
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:251,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:253,1
    - Dst: neg
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:254,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:256,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:258,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:258,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:259,1
    - Dst: exp
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:260,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:260,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:260,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:263,1
    - Dst: eq
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:264,1
    - Dst: one
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:264,1
    - Dst: zero
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:264,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:266,1
    - Dst: isZero
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:267,1
    - Dst: one
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:267,1
    - Dst: zero
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:267,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:273,1
    - Dst: toString
      Src: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp:273,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 83
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 278
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 278
    functionName: cryptofuzz::module::polygon_zkevm_prover::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached:
    - add
    - CF_CALCOP
    - isZero
    - fromString
    - CF_CHECK_NE
    - modulo::ToTrimmedString
    - calcOp::Get
    - cryptofuzz::util::DecToBin
    - square
    - bn0::ToTrimmedString
    - exp
    - bn1::ToTrimmedString
    - eq
    - inv
    - neg
    - toString
    - mul
    - zero
    - one
    - sub
    - getBignum
    - auto::data
    - auto::size
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> polygon_zkevm_prover::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: cryptofuzz::module::polygon_zkevm_prover::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/polygon-zkevm-prover/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool polygon_zkevm_prover::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::tiny_keccak::tiny_keccak
    functionSourceFile: /src/cryptofuzz/modules/tiny-keccak/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tiny_keccak::tiny_keccak(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:20,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:20,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:22,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:22,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:29,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:31,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:36,1
    - Dst: cryptofuzz_tiny_keccak
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:36,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:37,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:37,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:38,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:38,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/tiny-keccak/module.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 44
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 44
    functionName: cryptofuzz::module::tiny_keccak::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/tiny-keccak/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_tiny_keccak
    - std::vector::size
    - modifier::GetPtr
    - CF_NORET
    - cleartext::GetPtr
    - digestType::Is
    - std::vector::data
    - Botan::PKCS11::LowLevel::C_Digest
    - CF_DIGEST
    - std::vector::push_back
    - modifier::GetSize
    - cryptofuzz::util::ToParts
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> tiny_keccak::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::holiman_uint256::holiman_uint256
    functionSourceFile: /src/cryptofuzz/modules/holiman-uint256/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void holiman_uint256::holiman_uint256(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: holiman_uint256_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:19,1
    - Dst: free
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::holiman_uint256::getResult
    functionSourceFile: /src/cryptofuzz/modules/holiman-uint256/module.cpp
    functionUses: 0
    functionsReached:
    - free
    - holiman_uint256_Cryptofuzz_GetResult
    linkageType: ''
    returnType: std::string
    signature: std::string holiman_uint256::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::holiman_uint256::getResult
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:26,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:27,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:32,1
    - Dst: cryptofuzz::module::holiman_uint256::getResult
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:32,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::holiman_uint256::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/holiman-uint256/module.cpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - abort
    - cryptofuzz::module::holiman_uint256::getResult
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> holiman_uint256::getJsonResult(void)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::holiman_uint256::getJsonResult
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:42,1
    - Dst: T
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::holiman_uint256::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/holiman-uint256/module.cpp
    functionUses: 0
    functionsReached:
    - T
    - cryptofuzz::module::holiman_uint256::getJsonResult
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> holiman_uint256::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/holiman-uint256/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - static_cast<GoInt>
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:56,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:60,1
    - Dst: holiman_uint256_Cryptofuzz_OpBignumCalc
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:61,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:61,1
    - Dst: cryptofuzz::module::holiman_uint256::getResultAs
      Src: /src/cryptofuzz/modules/holiman-uint256/module.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: cryptofuzz::module::holiman_uint256::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/holiman-uint256/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - holiman_uint256_Cryptofuzz_OpBignumCalc
    - modulo::ToTrimmedString
    - toGoSlice
    - cryptofuzz::module::holiman_uint256::getResultAs
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> holiman_uint256::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: cryptofuzz::module::holiman_uint256::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/holiman-uint256/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool holiman_uint256::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/holiman-uint256/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/holiman-uint256/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/holiman-uint256/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/holiman-uint256/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/holiman-uint256/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/holiman-uint256/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/holiman-uint256/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/holiman-uint256/generate_ids.cpp:15,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/holiman-uint256/generate_ids.cpp:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 18
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/holiman-uint256/generate_ids.cpp
    functionUses: 97
    functionsReached:
    - std::regex_replace
    - std::regex
    - std::to_string
    - std::string
    - fprintf
    - auto::c_str
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(void)
  - 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: cryptofuzz::module::cifra::cifra
    functionSourceFile: /src/cryptofuzz/modules/cifra/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cifra::cifra(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/cifra/module.cpp:35,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cifra/module.cpp:36,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cifra/module.cpp:38,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cifra/module.cpp:40,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cifra/module.cpp:42,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cifra/module.cpp:44,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cifra/module.cpp:46,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cifra/module.cpp:49,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cifra/module.cpp:52,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cifra/module.cpp:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 61
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 61
    functionName: cryptofuzz::module::cifra_detail::To_chash
    functionSourceFile: /src/cryptofuzz/modules/cifra/module.cpp
    functionUses: 0
    functionsReached:
    - CF_DIGEST
    - Get
    linkageType: ''
    returnType: cf_chash
    signature: cf_chash * To_chash(const component::DigestType& digestType, const
      bool noSha3 = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:66,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:66,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:72,1
    - Dst: cryptofuzz::module::cifra_detail::To_chash
      Src: /src/cryptofuzz/modules/cifra/module.cpp:72,1
    - Dst: cf_chash*::init
      Src: /src/cryptofuzz/modules/cifra/module.cpp:74,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/cifra/module.cpp:76,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cifra/module.cpp:79,1
    - Dst: cf_chash*::update
      Src: /src/cryptofuzz/modules/cifra/module.cpp:81,1
    - Dst: cf_chash*::digest
      Src: /src/cryptofuzz/modules/cifra/module.cpp:85,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/cifra/module.cpp:87,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/cifra/module.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 92
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 92
    functionName: cryptofuzz::module::cifra::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/cifra/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - cf_chash*::digest
    - modifier::GetPtr
    - Botan::PKCS11::LowLevel::C_Digest
    - cryptofuzz::util::ToParts
    - cryptofuzz::module::cifra_detail::To_chash
    - modifier::GetSize
    - cf_chash*::update
    - cryptofuzz::util::malloc
    - cf_chash*::init
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> cifra::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:96,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:96,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:103,1
    - Dst: cryptofuzz::module::cifra_detail::To_chash
      Src: /src/cryptofuzz/modules/cifra/module.cpp:103,1
    - Dst: cf_hmac_init
      Src: /src/cryptofuzz/modules/cifra/module.cpp:105,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:105,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:105,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/cifra/module.cpp:108,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cifra/module.cpp:111,1
    - Dst: cf_hmac_update
      Src: /src/cryptofuzz/modules/cifra/module.cpp:113,1
    - Dst: cf_hmac_finish
      Src: /src/cryptofuzz/modules/cifra/module.cpp:117,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/cifra/module.cpp:120,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/cifra/module.cpp:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 125
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 125
    functionName: cryptofuzz::module::cifra::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/cifra/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - cipher::key::GetSize
    - cf_hmac_finish
    - modifier::GetPtr
    - cryptofuzz::util::ToParts
    - cryptofuzz::module::cifra_detail::To_chash
    - modifier::GetSize
    - cipher::key::GetPtr
    - cf_hmac_update
    - cryptofuzz::util::malloc
    - Botan_CLI::HMAC::HMAC
    - cf_hmac_init
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> cifra::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:129,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:129,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/cifra/module.cpp:133,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cifra/module.cpp:134,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:136,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cifra/module.cpp:137,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cifra/module.cpp:138,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:138,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cifra/module.cpp:139,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:139,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:140,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/cifra/module.cpp:143,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:143,1
    - Dst: cf_chacha20poly1305_encrypt
      Src: /src/cryptofuzz/modules/cifra/module.cpp:145,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:146,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:147,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:148,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:148,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:149,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:149,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/cifra/module.cpp:153,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cifra/module.cpp:153,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:153,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cifra/module.cpp:153,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cifra/module.cpp:156,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cifra/module.cpp:158,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:158,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:159,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:159,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:159,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/cifra/module.cpp:162,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:162,1
    - Dst: cf_chacha20_init
      Src: /src/cryptofuzz/modules/cifra/module.cpp:164,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:166,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:166,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:167,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cifra/module.cpp:169,1
    - Dst: cf_chacha20_cipher
      Src: /src/cryptofuzz/modules/cifra/module.cpp:172,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/cifra/module.cpp:180,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cifra/module.cpp:180,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:180,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/cifra/module.cpp:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 188
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 188
    functionName: cryptofuzz::module::cifra::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/cifra/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - aad::GetPtr
    - modifier::GetSize
    - cipher::key::GetPtr
    - cleartext::GetSize
    - CF_CHECK_NE
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - cryptofuzz::component::Ciphertext::Ciphertext
    - cryptofuzz::util::free
    - cipher::cipherType::Get
    - cf_chacha20_cipher
    - CF_CHECK_EQ
    - cf_chacha20poly1305_encrypt
    - aad::GetSize
    - cryptofuzz::util::malloc
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - CF_CHECK_TRUE
    - cleartext::GetPtr
    - CF_CIPHER
    - Buffer
    - cf_chacha20_init
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> cifra::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:192,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:192,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/cifra/module.cpp:196,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cifra/module.cpp:197,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:199,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cifra/module.cpp:200,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:200,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cifra/module.cpp:201,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:201,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cifra/module.cpp:202,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:202,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:203,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/cifra/module.cpp:205,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:205,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cifra/module.cpp:207,1
    - Dst: cf_chacha20poly1305_decrypt
      Src: /src/cryptofuzz/modules/cifra/module.cpp:207,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:208,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:209,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:210,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:210,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:211,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:211,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:212,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/cifra/module.cpp:215,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cifra/module.cpp:215,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:215,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cifra/module.cpp:218,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cifra/module.cpp:220,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:220,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:221,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:221,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:221,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/cifra/module.cpp:224,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:224,1
    - Dst: cf_chacha20_init
      Src: /src/cryptofuzz/modules/cifra/module.cpp:226,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:228,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:228,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:229,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cifra/module.cpp:231,1
    - Dst: cf_chacha20_cipher
      Src: /src/cryptofuzz/modules/cifra/module.cpp:234,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/cifra/module.cpp:242,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cifra/module.cpp:242,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:242,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/cifra/module.cpp:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 250
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 250
    functionName: cryptofuzz::module::cifra::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/cifra/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - ciphertext::GetPtr
    - aad::GetPtr
    - modifier::GetSize
    - cipher::key::GetPtr
    - CF_CHECK_NE
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - cryptofuzz::util::free
    - tag::GetSize
    - cipher::cipherType::Get
    - cf_chacha20_cipher
    - CF_CHECK_EQ
    - cf_chacha20poly1305_decrypt
    - aad::GetSize
    - cryptofuzz::util::malloc
    - tag::GetPtr
    - cipher::key::GetSize
    - cryptofuzz::util::ToParts
    - CF_CHECK_TRUE
    - CF_CIPHER
    - Buffer
    - component::Cleartext
    - cf_chacha20_init
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> cifra::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:254,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:254,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:259,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:260,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cifra/module.cpp:261,1
    - Dst: cryptofuzz::module::cifra_detail::To_chash
      Src: /src/cryptofuzz/modules/cifra/module.cpp:261,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/cifra/module.cpp:263,1
    - Dst: cf_pbkdf2_hmac
      Src: /src/cryptofuzz/modules/cifra/module.cpp:265,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:266,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:266,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/cifra/module.cpp:267,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/cifra/module.cpp:267,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/cifra/module.cpp:272,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/cifra/module.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 277
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 277
    functionName: cryptofuzz::module::cifra::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/cifra/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - cf_pbkdf2_hmac
    - password::GetPtr
    - modifier::GetPtr
    - salt::GetPtr
    - cryptofuzz::module::cifra_detail::To_chash
    - modifier::GetSize
    - salt::GetSize
    - cryptofuzz::util::malloc
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> cifra::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qadd
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:17,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:17,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:17,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:17,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 24
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 24
    functionName: cryptofuzz::module::mpdecimal_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_EQ
    - mpd_qadd
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qsub
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:32,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:32,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:32,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:32,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 39
    functionName: cryptofuzz::module::mpdecimal_bignum::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpd_qsub
    - GetPtr
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qmul
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:47,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:47,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:47,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:47,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: cryptofuzz::module::mpdecimal_bignum::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpd_qmul
    - CF_CHECK_EQ
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qdiv
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:62,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:62,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:62,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:62,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: cryptofuzz::module::mpdecimal_bignum::Div::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_EQ
    - mpd_qdiv
    linkageType: ''
    returnType: bool
    signature: bool Div::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qabs
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:77,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:77,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:77,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: cryptofuzz::module::mpdecimal_bignum::Abs::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpd_qabs
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool Abs::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qand
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:92,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:92,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:92,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:92,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 103
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 103
    functionName: cryptofuzz::module::mpdecimal_bignum::And::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpd_qand
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool And::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qor
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:111,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:111,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:111,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:111,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: cryptofuzz::module::mpdecimal_bignum::Or::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_EQ
    - mpd_qor
    linkageType: ''
    returnType: bool
    signature: bool Or::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qxor
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:130,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:130,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:130,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:130,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: cryptofuzz::module::mpdecimal_bignum::Xor::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpd_qxor
    - GetPtr
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool Xor::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qcompare
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:149,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:149,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:149,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:149,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: cryptofuzz::module::mpdecimal_bignum::Cmp::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpd_qcompare
    - GetPtr
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool Cmp::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qpowmod
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:164,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:164,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:164,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:164,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:164,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: cryptofuzz::module::mpdecimal_bignum::ExpMod::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_EQ
    - mpd_qpowmod
    linkageType: ''
    returnType: bool
    signature: bool ExpMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qsqrt
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:179,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:179,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:179,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: cryptofuzz::module::mpdecimal_bignum::Sqrt::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpd_qsqrt
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool Sqrt::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qfma
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:194,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:194,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:194,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:194,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:194,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 201
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 201
    functionName: cryptofuzz::module::mpdecimal_bignum::MulAdd::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_EQ
    - mpd_qfma
    linkageType: ''
    returnType: bool
    signature: bool MulAdd::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qmax
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:209,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:209,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:209,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:209,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 216
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 216
    functionName: cryptofuzz::module::mpdecimal_bignum::Max::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_EQ
    - mpd_qmax
    linkageType: ''
    returnType: bool
    signature: bool Max::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qmin
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:224,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:224,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:224,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:224,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 231
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 231
    functionName: cryptofuzz::module::mpdecimal_bignum::Min::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_EQ
    - mpd_qmin
    linkageType: ''
    returnType: bool
    signature: bool Min::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qlog10
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:239,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:239,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:239,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ctx
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 246
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 246
    functionName: cryptofuzz::module::mpdecimal_bignum::Log10::Run
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpd_qlog10
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool Log10::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      mpd_context_t* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: cryptofuzz::module::mpdecimal_custom_malloc
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::malloc
    linkageType: ''
    returnType: void
    signature: void * mpdecimal_custom_malloc(size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - A
    - B
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: cryptofuzz::module::mpdecimal_custom_calloc
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/module.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void * mpdecimal_custom_calloc(size_t A, size_t B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::realloc
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: cryptofuzz::module::mpdecimal_custom_realloc
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::realloc
    linkageType: ''
    returnType: void
    signature: void * mpdecimal_custom_realloc(void* ptr, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::mpdecimal_custom_free
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    linkageType: ''
    returnType: void
    signature: void mpdecimal_custom_free(void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_init
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::mpdecimal::mpdecimal
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/module.cpp
    functionUses: 0
    functionsReached:
    - mpd_init
    linkageType: ''
    returnType: void
    signature: void mpdecimal::mpdecimal(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:52,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:52,1
    - Dst: std::move
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:57,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:57,1
    - Dst: std::move
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:58,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:58,1
    - Dst: std::move
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:59,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:59,1
    - Dst: std::move
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:60,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:60,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:64,1
    - Dst: mpdecimal_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:64,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:65,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:65,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:65,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:66,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:66,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:66,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:67,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:67,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:67,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:68,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:68,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:68,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:70,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:71,1
    - Dst: std::make_unique<mpdecimal_bignum::Add>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:72,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:74,1
    - Dst: std::make_unique<mpdecimal_bignum::Sub>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:75,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:77,1
    - Dst: std::make_unique<mpdecimal_bignum::Mul>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:78,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:80,1
    - Dst: std::make_unique<mpdecimal_bignum::Div>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:81,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:83,1
    - Dst: std::make_unique<mpdecimal_bignum::Abs>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:84,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:86,1
    - Dst: std::make_unique<mpdecimal_bignum::And>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:87,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:89,1
    - Dst: std::make_unique<mpdecimal_bignum::Or>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:90,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:92,1
    - Dst: std::make_unique<mpdecimal_bignum::Xor>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:93,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:95,1
    - Dst: std::make_unique<mpdecimal_bignum::Cmp>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:96,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:98,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:100,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:100,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:101,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:101,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:102,1
    - Dst: bn2::GetSize
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:102,1
    - Dst: std::make_unique<mpdecimal_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:104,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:106,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:112,1
    - Dst: std::make_unique<mpdecimal_bignum::MulAdd>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:113,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:115,1
    - Dst: std::make_unique<mpdecimal_bignum::Min>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:116,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:118,1
    - Dst: std::make_unique<mpdecimal_bignum::Max>
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:119,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:121,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:129,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:130,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:130,1
    - Dst: mpdecimal_bignum::Bignum::ToComponentBignum
      Src: /src/cryptofuzz/modules/mpdecimal/module.cpp:132,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 136
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 136
    functionName: cryptofuzz::module::mpdecimal::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - mpdecimal_bignum::Bignum::ToComponentBignum
    - modifier::GetPtr
    - std::make_unique<mpdecimal_bignum::Or>
    - std::make_unique<mpdecimal_bignum::Min>
    - std::make_unique<mpdecimal_bignum::Xor>
    - CF_CHECK_LT
    - bn0::GetSize
    - modifier::GetSize
    - std::make_unique<mpdecimal_bignum::Sub>
    - std::make_unique<mpdecimal_bignum::Cmp>
    - std::make_unique<mpdecimal_bignum::Abs>
    - std::make_unique<mpdecimal_bignum::Div>
    - mpdecimal_bignum::Bignum::Set
    - bn1::ToString
    - bn3::ToString
    - CF_CHECK_NE
    - std::make_unique<mpdecimal_bignum::Add>
    - bn1::GetSize
    - bn2::ToString
    - calcOp::Get
    - bn2::GetSize
    - bn0::ToString
    - CF_CHECK_EQ
    - std::make_unique<mpdecimal_bignum::ExpMod>
    - std::move
    - std::unique_ptr::Run
    - std::make_unique<mpdecimal_bignum::MulAdd>
    - Set
    - std::make_unique<mpdecimal_bignum::Mul>
    - getBignum
    - std::make_unique<mpdecimal_bignum::And>
    - std::make_unique<mpdecimal_bignum::Max>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> mpdecimal::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_new
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:18,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mpd_context_t*
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: cryptofuzz::module::mpdecimal_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.h
    functionUses: 0
    functionsReached:
    - mpd_new
    - abort
    linkageType: ''
    returnType: void
    signature: void Bignum(mpd_context_t* ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_del
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: ~Bignum()
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.h
    functionUses: 0
    functionsReached:
    - mpd_del
    linkageType: ''
    returnType: void
    signature: void ~Bignum()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_new
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:31,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:33,1
    - Dst: mpd_copy
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: cryptofuzz::module::mpdecimal_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.h
    functionUses: 0
    functionsReached:
    - mpd_new
    - mpd_copy
    - abort
    linkageType: ''
    returnType: void
    signature: void Bignum(const Bignum& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_new
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:40,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:42,1
    - Dst: mpd_copy
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: cryptofuzz::module::mpdecimal_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.h
    functionUses: 0
    functionsReached:
    - mpd_new
    - mpd_copy
    - abort
    linkageType: ''
    returnType: void
    signature: void Bignum(const Bignum&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:48,1
    - Dst: mpd_set_string
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:49,1
    - Dst: mpd_set_string
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:51,1
    - Dst: mpd_set_string
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:53,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: cryptofuzz::module::mpdecimal_bignum::Bignum::Set
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.h
    functionUses: 0
    functionsReached:
    - mpd_set_string
    - std::string::empty
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool Set(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpd_qformat
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:65,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:66,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:68,1
    - Dst: std::string::find
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:70,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:77,1
    - Dst: free
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 83
    functionName: cryptofuzz::module::mpdecimal_bignum::Bignum::ToString
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - free
    - std::string
    - std::string::find
    - mpd_qformat
    - std::string::substr
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ToString(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: cryptofuzz::module::mpdecimal_bignum::Bignum::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mpd_t
    signature: mpd_t * GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::mpdecimal_bignum::Bignum::ToString
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:92,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mpdecimal/bn_ops.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: cryptofuzz::module::mpdecimal_bignum::Bignum::ToComponentBignum
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::mpdecimal_bignum::Bignum::ToString
    - CF_CHECK_NE
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ToComponentBignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/mpdecimal/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::Decred::Decred
    functionSourceFile: /src/cryptofuzz/modules/decred/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Decred::Decred(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decred_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/decred/module.cpp:19,1
    - Dst: free
      Src: /src/cryptofuzz/modules/decred/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::Decred::getResult
    functionSourceFile: /src/cryptofuzz/modules/decred/module.cpp
    functionUses: 0
    functionsReached:
    - free
    - Decred_Cryptofuzz_GetResult
    linkageType: ''
    returnType: std::string
    signature: std::string Decred::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Decred::getResult
      Src: /src/cryptofuzz/modules/decred/module.cpp:26,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/decred/module.cpp:27,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/decred/module.cpp:32,1
    - Dst: cryptofuzz::module::Decred::getResult
      Src: /src/cryptofuzz/modules/decred/module.cpp:32,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/decred/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::Decred::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/decred/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Decred::getResult
    - auto::empty
    - abort
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> Decred::getJsonResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Decred::getJsonResult
      Src: /src/cryptofuzz/modules/decred/module.cpp:42,1
    - Dst: T
      Src: /src/cryptofuzz/modules/decred/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::Decred::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/decred/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Decred::getJsonResult
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> Decred::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/decred/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/decred/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/decred/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/decred/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/decred/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/decred/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - static_cast<GoInt>
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/decred/module.cpp:55,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/decred/module.cpp:56,1
    - Dst: get
      Src: /src/cryptofuzz/modules/decred/module.cpp:56,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/decred/module.cpp:57,1
    - Dst: Decred_Cryptofuzz_OpECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/decred/module.cpp:58,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/decred/module.cpp:58,1
    - Dst: cryptofuzz::module::Decred::getResultAs
      Src: /src/cryptofuzz/modules/decred/module.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: cryptofuzz::module::Decred::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/decred/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - cryptofuzz::module::Decred::getResultAs
    - boost::lexical_cast<uint64_t>
    - Decred_Cryptofuzz_OpECC_PrivateToPublic
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> Decred::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/decred/module.cpp:64,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/decred/module.cpp:65,1
    - Dst: get
      Src: /src/cryptofuzz/modules/decred/module.cpp:65,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/decred/module.cpp:66,1
    - Dst: get
      Src: /src/cryptofuzz/modules/decred/module.cpp:66,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/decred/module.cpp:67,1
    - Dst: Decred_Cryptofuzz_OpECDSA_Verify
      Src: /src/cryptofuzz/modules/decred/module.cpp:68,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/decred/module.cpp:68,1
    - Dst: cryptofuzz::module::Decred::getResultAs
      Src: /src/cryptofuzz/modules/decred/module.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: cryptofuzz::module::Decred::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/decred/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - cryptofuzz::module::Decred::getResultAs
    - boost::lexical_cast<uint64_t>
    - Decred_Cryptofuzz_OpECDSA_Verify
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Decred::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/decred/module.cpp:74,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/decred/module.cpp:78,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/decred/module.cpp:79,1
    - Dst: get
      Src: /src/cryptofuzz/modules/decred/module.cpp:79,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/decred/module.cpp:80,1
    - Dst: get
      Src: /src/cryptofuzz/modules/decred/module.cpp:80,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/decred/module.cpp:81,1
    - Dst: Decred_Cryptofuzz_OpECDSA_Sign
      Src: /src/cryptofuzz/modules/decred/module.cpp:82,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/decred/module.cpp:82,1
    - Dst: cryptofuzz::module::Decred::getJsonResult
      Src: /src/cryptofuzz/modules/decred/module.cpp:84,1
    - Dst: get
      Src: /src/cryptofuzz/modules/decred/module.cpp:89,1
    - Dst: get
      Src: /src/cryptofuzz/modules/decred/module.cpp:90,1
    - Dst: get
      Src: /src/cryptofuzz/modules/decred/module.cpp:91,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/modules/decred/module.cpp:93,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/decred/module.cpp:93,1
    - Dst: cryptofuzz::util::SignatureFromDER
      Src: /src/cryptofuzz/modules/decred/module.cpp:94,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/decred/module.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 98
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 98
    functionName: cryptofuzz::module::Decred::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/decred/module.cpp
    functionUses: 0
    functionsReached:
    - boost::algorithm::unhex
    - toGoSlice
    - CF_ASSERT
    - UseSpecifiedNonce
    - Decred_Cryptofuzz_OpECDSA_Sign
    - std::back_inserter
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::util::SignatureFromDER
    - get
    - auto::dump
    - cryptofuzz::module::Decred::getJsonResult
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> Decred::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:15,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:18,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:19,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:19,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:24,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:24,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:24,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:27,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:28,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:28,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:29,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:29,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:29,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:32,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:33,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:33,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:34,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:34,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:34,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/decred/generate_ids.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/decred/generate_ids.cpp
    functionUses: 97
    functionsReached:
    - std::regex_replace
    - std::regex
    - std::to_string
    - std::string
    - fprintf
    - auto::c_str
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:13,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::noble_ed25519::noble_ed25519
    functionSourceFile: /src/cryptofuzz/modules/noble-ed25519/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void noble_ed25519::noble_ed25519(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: noble_ed25519::~noble_ed25519(void)
    functionSourceFile: /src/cryptofuzz/modules/noble-ed25519/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noble_ed25519::~noble_ed25519(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:27,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:27,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:31,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:32,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:32,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:34,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:34,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:37,1
    - Dst: cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: cryptofuzz::module::noble_ed25519::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/noble-ed25519/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - curveType::Is
    - CF_ECC_CURVE
    - std::to_string
    - cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> noble_ed25519::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:47,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:47,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:51,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:51,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:51,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:51,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:55,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:56,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:56,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:58,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:58,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:59,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:62,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:62,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:65,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 70
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 70
    functionName: cryptofuzz::module::noble_ed25519::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/noble-ed25519/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - cleartext::SHA256
    - curveType::Is
    - CF_ECC_CURVE
    - std::to_string
    - digestType::Is
    - CF_DIGEST
    - cryptofuzz::tests::test_ECDSA_Signature
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> noble_ed25519::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:75,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:75,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:79,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:79,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:79,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:79,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:83,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:84,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:84,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:86,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:86,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:87,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:90,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:90,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-ed25519/module.cpp:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 97
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 97
    functionName: cryptofuzz::module::noble_ed25519::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/noble-ed25519/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - cleartext::SHA256
    - curveType::Is
    - CF_ECC_CURVE
    - std::to_string
    - digestType::Is
    - CF_DIGEST
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_ed25519::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/noble-ed25519/generate_ids.cpp:10,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/noble-ed25519/generate_ids.cpp:10,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 14
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/noble-ed25519/generate_ids.cpp
    functionUses: 97
    functionsReached:
    - std::string::c_str
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::Gnark_bn254::Gnark_bn254
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Gnark_bn254::Gnark_bn254(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Gnark_bn254_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:19,1
    - Dst: free
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::Gnark_bn254::getResult
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - Gnark_bn254_Cryptofuzz_GetResult
    - free
    linkageType: ''
    returnType: std::string
    signature: std::string Gnark_bn254::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Gnark_bn254::getResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:26,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:27,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:32,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:32,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::Gnark_bn254::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    - cryptofuzz::module::Gnark_bn254::getResult
    - auto::empty
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> Gnark_bn254::getJsonResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Gnark_bn254::getJsonResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:42,1
    - Dst: T
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::Gnark_bn254::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getJsonResult
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> Gnark_bn254::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - static_cast<GoInt>
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:55,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:56,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:56,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:57,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:59,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:59,1
    - Dst: Gnark_bls12_381_BLS_IsG1OnCurve
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:60,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:60,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:61,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:61,1
    - Dst: Gnark_bn254_BLS_IsG1OnCurve
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:62,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:62,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - toGoSlice
    - curveType::Is
    - CF_ECC_CURVE
    - Gnark_bls12_381_BLS_IsG1OnCurve
    - boost::lexical_cast<uint64_t>
    - Gnark_bn254_BLS_IsG1OnCurve
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Gnark_bn254::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:71,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:72,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:72,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:73,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:74,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:74,1
    - Dst: Gnark_bls12_381_BLS_IsG2OnCurve
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:75,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:75,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:76,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:76,1
    - Dst: Gnark_bn254_BLS_IsG2OnCurve
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:77,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:77,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - Gnark_bls12_381_BLS_IsG2OnCurve
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - toGoSlice
    - curveType::Is
    - CF_ECC_CURVE
    - boost::lexical_cast<uint64_t>
    - Gnark_bn254_BLS_IsG2OnCurve
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Gnark_bn254::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:86,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:87,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:87,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:88,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:90,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:90,1
    - Dst: Gnark_bls12_381_BLS_G1_Add
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:91,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:91,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:92,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:92,1
    - Dst: Gnark_bls12_377_BLS_G1_Add
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:93,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:93,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:94,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:94,1
    - Dst: Gnark_bn254_BLS_G1_Add
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:95,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:95,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - Gnark_bn254_BLS_G1_Add
    - toGoSlice
    - curveType::Is
    - CF_ECC_CURVE
    - Gnark_bls12_377_BLS_G1_Add
    - boost::lexical_cast<uint64_t>
    - get
    - Gnark_bls12_381_BLS_G1_Add
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Gnark_bn254::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:104,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:105,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:105,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:106,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:108,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:108,1
    - Dst: Gnark_bls12_381_BLS_G1_Mul
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:109,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:109,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:110,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:110,1
    - Dst: Gnark_bls12_377_BLS_G1_Mul
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:111,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:111,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:112,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:112,1
    - Dst: Gnark_bn254_BLS_G1_Mul
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:113,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:113,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - Gnark_bn254_BLS_G1_Mul
    - toGoSlice
    - curveType::Is
    - CF_ECC_CURVE
    - Gnark_bls12_377_BLS_G1_Mul
    - boost::lexical_cast<uint64_t>
    - get
    - auto::dump
    - Gnark_bls12_381_BLS_G1_Mul
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Gnark_bn254::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:122,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:123,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:123,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:124,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:125,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:125,1
    - Dst: Gnark_bls12_381_BLS_G1_Neg
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:126,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:126,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:127,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:127,1
    - Dst: Gnark_bn254_BLS_G1_Neg
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:128,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:128,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - Gnark_bls12_381_BLS_G1_Neg
    - curveType::Is
    - toGoSlice
    - CF_ECC_CURVE
    - boost::lexical_cast<uint64_t>
    - Gnark_bn254_BLS_G1_Neg
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Gnark_bn254::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:137,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:138,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:138,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:139,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:141,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:141,1
    - Dst: Gnark_bls12_381_BLS_G2_Add
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:142,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:142,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:143,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:143,1
    - Dst: Gnark_bn254_BLS_G2_Add
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:144,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:144,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - Gnark_bls12_381_BLS_G2_Add
    - toGoSlice
    - curveType::Is
    - CF_ECC_CURVE
    - boost::lexical_cast<uint64_t>
    - get
    - Gnark_bn254_BLS_G2_Add
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Gnark_bn254::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:153,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:154,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:154,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:155,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:156,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:156,1
    - Dst: Gnark_bls12_381_BLS_G2_Mul
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:157,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:157,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:158,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:158,1
    - Dst: Gnark_bls12_377_BLS_G2_Mul
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:159,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:159,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:160,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:160,1
    - Dst: Gnark_bn254_BLS_G2_Mul
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:161,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:161,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 167
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 167
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - Gnark_bls12_381_BLS_G2_Mul
    - curveType::Is
    - toGoSlice
    - CF_ECC_CURVE
    - Gnark_bls12_377_BLS_G2_Mul
    - Gnark_bn254_BLS_G2_Mul
    - boost::lexical_cast<uint64_t>
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Gnark_bn254::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:170,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:171,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:171,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:172,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:173,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:173,1
    - Dst: Gnark_bls12_381_BLS_G2_Neg
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:174,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:174,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:175,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:175,1
    - Dst: Gnark_bn254_BLS_G2_Neg
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:176,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:176,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - toGoSlice
    - curveType::Is
    - CF_ECC_CURVE
    - Gnark_bn254_BLS_G2_Neg
    - boost::lexical_cast<uint64_t>
    - Gnark_bls12_381_BLS_G2_Neg
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Gnark_bn254::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:185,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:186,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:186,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:187,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:188,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:188,1
    - Dst: Gnark_bls12_381_BLS_Pairing
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:189,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:189,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Pairing
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_Pairing
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - toGoSlice
    - curveType::Is
    - CF_ECC_CURVE
    - boost::lexical_cast<uint64_t>
    - Gnark_bls12_381_BLS_Pairing
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> Gnark_bn254::OpBLS_Pairing(operation::BLS_Pairing&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:198,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:199,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:199,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:200,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:201,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:201,1
    - Dst: Gnark_bls12_381_BLS_FinalExp
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:202,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:202,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:203,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:203,1
    - Dst: Gnark_bn254_BLS_FinalExp
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:204,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:204,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_FinalExp
    constantsTouched: []
    func_position:
      end: 210
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 210
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_FinalExp
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - toGoSlice
    - curveType::Is
    - CF_ECC_CURVE
    - Gnark_bn254_BLS_FinalExp
    - Gnark_bls12_381_BLS_FinalExp
    - boost::lexical_cast<uint64_t>
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> Gnark_bn254::OpBLS_FinalExp(operation::BLS_FinalExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:213,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:214,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:214,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:215,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:216,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:216,1
    - Dst: Gnark_bls12_381_BLS_G1_MultiExp
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:217,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:217,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_MultiExp
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G1_MultiExp
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - toGoSlice
    - curveType::Is
    - CF_ECC_CURVE
    - Gnark_bls12_381_BLS_G1_MultiExp
    - boost::lexical_cast<uint64_t>
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Gnark_bn254::OpBLS_G1_MultiExp(operation::BLS_G1_MultiExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:226,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:227,1
    - Dst: Gnark_bn254_BignumCalc_bls2381_Fp2
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:228,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:228,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp2
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: cryptofuzz::module::Gnark_bn254::OpBignumCalc_Fp2
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - ToJSON
    - Gnark_bn254_BignumCalc_bls2381_Fp2
    - auto::dump
    - toGoSlice
    linkageType: ''
    returnType: std::optional<component::Fp2>
    signature: std::optional<component::Fp2> Gnark_bn254::OpBignumCalc_Fp2(operation::BignumCalc_Fp2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:233,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:233,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:234,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:235,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:239,1
    - Dst: Gnark_bn254_BignumCalc_bls12381_Fp12
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:242,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:242,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp12
    constantsTouched: []
    func_position:
      end: 244
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 244
    functionName: cryptofuzz::module::Gnark_bn254::OpBignumCalc_Fp12
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - toGoSlice
    - modifier::GetPtr
    - Datasource::Get
    - modifier::GetSize
    - Gnark_bn254_BignumCalc_bls12381_Fp12
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> Gnark_bn254::OpBignumCalc_Fp12(operation::BignumCalc_Fp12&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:251,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:252,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:253,1
    - Dst: Gnark_bn254_BignumCalc_bn254_Fp
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:254,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:254,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:256,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:257,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:258,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:259,1
    - Dst: Gnark_bn254_BignumCalc_bn254_Fr
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:260,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:260,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:262,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:263,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:264,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:265,1
    - Dst: Gnark_bn254_BignumCalc_bls12381_Fp
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:266,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:266,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:268,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:269,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:270,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:271,1
    - Dst: Gnark_bn254_BignumCalc_bls12381_Fr
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:272,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:272,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 278
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 278
    functionName: cryptofuzz::module::Gnark_bn254::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - Gnark_bn254_BignumCalc_bn254_Fp
    - Gnark_bn254_BignumCalc_bls12381_Fp
    - Gnark_bn254_BignumCalc_bls12381_Fr
    - ToJSON
    - modulo::ToTrimmedString
    - Gnark_bn254_BignumCalc_bn254_Fr
    - auto::dump
    - toGoSlice
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Gnark_bn254::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: cryptofuzz::module::Gnark_bn254::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Gnark_bn254::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: cryptofuzz::module::Cloudflare_bn256::Cloudflare_bn256
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cloudflare_bn256::Cloudflare_bn256(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cloudflare_bn256_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:289,1
    - Dst: free
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: cryptofuzz::module::Cloudflare_bn256::getResult
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - free
    - Cloudflare_bn256_Cryptofuzz_GetResult
    linkageType: ''
    returnType: std::string
    signature: std::string Cloudflare_bn256::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:296,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:297,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:302,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:302,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: cryptofuzz::module::Cloudflare_bn256::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    - auto::empty
    - cryptofuzz::module::Cloudflare_bn256::getResult
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> Cloudflare_bn256::getJsonResult(void)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Cloudflare_bn256::getJsonResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:312,1
    - Dst: T
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: cryptofuzz::module::Cloudflare_bn256::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Cloudflare_bn256::getJsonResult
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> Cloudflare_bn256::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:321,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:322,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:322,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:323,1
    - Dst: Cloudflare_bn256_BLS_G1_Add
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:324,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:324,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - Cloudflare_bn256_BLS_G1_Add
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Cloudflare_bn256::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:330,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:331,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:331,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:332,1
    - Dst: Cloudflare_bn256_BLS_G1_Mul
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:333,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:333,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 336
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 336
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - Cloudflare_bn256_BLS_G1_Mul
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Cloudflare_bn256::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:339,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:340,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:340,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:341,1
    - Dst: Cloudflare_bn256_BLS_G1_Neg
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:342,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:342,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - Cloudflare_bn256_BLS_G1_Neg
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Cloudflare_bn256::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:348,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:349,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:349,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:350,1
    - Dst: Cloudflare_bn256_BLS_G2_Add
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:351,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:351,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 354
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 354
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - Cloudflare_bn256_BLS_G2_Add
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Cloudflare_bn256::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:357,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:358,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:358,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:359,1
    - Dst: Cloudflare_bn256_BLS_G2_Mul
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:360,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:360,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 363
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 363
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - Cloudflare_bn256_BLS_G2_Mul
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Cloudflare_bn256::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:366,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:367,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:367,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:368,1
    - Dst: Cloudflare_bn256_BLS_G2_Neg
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:369,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:369,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 372
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 372
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - Cloudflare_bn256_BLS_G2_Neg
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Cloudflare_bn256::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:375,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:376,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:376,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:377,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:378,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:378,1
    - Dst: Cloudflare_bn256_BLS_FinalExp
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:379,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:379,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_FinalExp
    constantsTouched: []
    func_position:
      end: 385
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 385
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_FinalExp
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - curveType::Is
    - CF_ECC_CURVE
    - Cloudflare_bn256_BLS_FinalExp
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> Cloudflare_bn256::OpBLS_FinalExp(operation::BLS_FinalExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: cryptofuzz::module::Google_bn256::Google_bn256
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Google_bn256::Google_bn256(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Google_bn256_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:392,1
    - Dst: free
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 396
    functionName: cryptofuzz::module::Google_bn256::getResult
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - free
    - Google_bn256_Cryptofuzz_GetResult
    linkageType: ''
    returnType: std::string
    signature: std::string Google_bn256::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Google_bn256::getResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:399,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:400,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:405,1
    - Dst: cryptofuzz::module::Google_bn256::getResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:405,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 410
    functionName: cryptofuzz::module::Google_bn256::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - abort
    - cryptofuzz::module::Google_bn256::getResult
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> Google_bn256::getJsonResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Google_bn256::getJsonResult
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:415,1
    - Dst: T
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 421
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 421
    functionName: cryptofuzz::module::Google_bn256::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Google_bn256::getJsonResult
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> Google_bn256::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:424,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:425,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:425,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:426,1
    - Dst: Google_bn256_BLS_G1_Add
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:427,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:427,1
    - Dst: cryptofuzz::module::Google_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 430
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 430
    functionName: cryptofuzz::module::Google_bn256::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - Google_bn256_BLS_G1_Add
    - get
    - auto::dump
    - cryptofuzz::module::Google_bn256::getResultAs
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Google_bn256::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:433,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:434,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:434,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:435,1
    - Dst: Google_bn256_BLS_G1_Mul
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:436,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:436,1
    - Dst: cryptofuzz::module::Google_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 439
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 439
    functionName: cryptofuzz::module::Google_bn256::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - Google_bn256_BLS_G1_Mul
    - get
    - auto::dump
    - cryptofuzz::module::Google_bn256::getResultAs
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Google_bn256::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:442,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:443,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:443,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:444,1
    - Dst: Google_bn256_BLS_G1_Neg
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:445,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:445,1
    - Dst: cryptofuzz::module::Google_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 448
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 448
    functionName: cryptofuzz::module::Google_bn256::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - get
    - Google_bn256_BLS_G1_Neg
    - auto::dump
    - cryptofuzz::module::Google_bn256::getResultAs
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Google_bn256::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:451,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:452,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:452,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:453,1
    - Dst: Google_bn256_BLS_G2_Add
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:454,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:454,1
    - Dst: cryptofuzz::module::Google_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 457
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 457
    functionName: cryptofuzz::module::Google_bn256::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - get
    - auto::dump
    - cryptofuzz::module::Google_bn256::getResultAs
    - ToJSON
    - Google_bn256_BLS_G2_Add
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Google_bn256::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:460,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:461,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:461,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:462,1
    - Dst: Google_bn256_BLS_G2_Mul
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:463,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:463,1
    - Dst: cryptofuzz::module::Google_bn256::getResultAs
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 466
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 466
    functionName: cryptofuzz::module::Google_bn256::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - Google_bn256_BLS_G2_Mul
    - boost::lexical_cast<uint64_t>
    - get
    - auto::dump
    - cryptofuzz::module::Google_bn256::getResultAs
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Google_bn256::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:15,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:18,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:19,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:19,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:24,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:24,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:24,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:27,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:28,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:28,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:29,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:29,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:29,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:32,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:33,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:33,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:34,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:34,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:34,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/gnark-google-cloudflare/generate_ids.cpp
    functionUses: 97
    functionsReached:
    - std::regex_replace
    - std::regex
    - std::to_string
    - std::string
    - fprintf
    - auto::c_str
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::Cloudflare_bn256::Cloudflare_bn256
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cloudflare_bn256::Cloudflare_bn256(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cloudflare_bn256_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:19,1
    - Dst: free
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::Cloudflare_bn256::getResult
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 1
    functionsReached:
    - free
    - Cloudflare_bn256_Cryptofuzz_GetResult
    linkageType: ''
    returnType: std::string
    signature: std::string Cloudflare_bn256::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResult
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:26,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:27,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:32,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResult
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:32,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::Cloudflare_bn256::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 1
    functionsReached:
    - abort
    - auto::empty
    - cryptofuzz::module::Cloudflare_bn256::getResult
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> Cloudflare_bn256::getJsonResult(void)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Cloudflare_bn256::getJsonResult
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:42,1
    - Dst: T
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::Cloudflare_bn256::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 7
    functionsReached:
    - cryptofuzz::module::Cloudflare_bn256::getJsonResult
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> Cloudflare_bn256::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - static_cast<GoInt>
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:55,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:56,1
    - Dst: get
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:56,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:57,1
    - Dst: Cloudflare_bn256_BLS_G1_Add
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:58,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:58,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - Cloudflare_bn256_BLS_G1_Add
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Cloudflare_bn256::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:64,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:65,1
    - Dst: get
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:65,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:66,1
    - Dst: Cloudflare_bn256_BLS_G1_Mul
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:67,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:67,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - Cloudflare_bn256_BLS_G1_Mul
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Cloudflare_bn256::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:73,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:74,1
    - Dst: get
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:74,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:75,1
    - Dst: Cloudflare_bn256_BLS_G1_Neg
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:76,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:76,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 0
    functionsReached:
    - Cloudflare_bn256_BLS_G1_Neg
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Cloudflare_bn256::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:82,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:83,1
    - Dst: get
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:83,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:84,1
    - Dst: Cloudflare_bn256_BLS_G2_Add
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:85,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:85,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - Cloudflare_bn256_BLS_G2_Add
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Cloudflare_bn256::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:91,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:92,1
    - Dst: get
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:92,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:93,1
    - Dst: Cloudflare_bn256_BLS_G2_Mul
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:94,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:94,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 0
    functionsReached:
    - Cloudflare_bn256_BLS_G2_Mul
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Cloudflare_bn256::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:100,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:101,1
    - Dst: get
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:101,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:102,1
    - Dst: Cloudflare_bn256_BLS_G2_Neg
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:103,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:103,1
    - Dst: cryptofuzz::module::Cloudflare_bn256::getResultAs
      Src: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: cryptofuzz::module::Cloudflare_bn256::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::Cloudflare_bn256::getResultAs
    - Cloudflare_bn256_BLS_G2_Neg
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Cloudflare_bn256::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:15,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:18,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:19,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:19,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:24,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:24,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:24,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:27,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:28,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:28,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:29,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:29,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:29,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:32,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:33,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:33,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:34,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:34,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:34,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/cloudflare-bn256/generate_ids.cpp
    functionUses: 97
    functionsReached:
    - std::regex_replace
    - std::regex
    - std::to_string
    - std::string
    - fprintf
    - auto::c_str
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::SkaleSolidity::SkaleSolidity
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SkaleSolidity::SkaleSolidity(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SkaleSolidity_GetResult
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:20,1
    - Dst: free
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: cryptofuzz::module::SkaleSolidity_detail::getResult
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - free
    - SkaleSolidity_GetResult
    linkageType: ''
    returnType: std::string
    signature: std::string getResult(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getResult
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:27,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:28,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:33,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getResult
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:33,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: cryptofuzz::module::SkaleSolidity_detail::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    - cryptofuzz::module::SkaleSolidity_detail::getResult
    - auto::empty
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> getJsonResult(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:41,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:41,1
    - Dst: size
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:41,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:41,1
    - Dst: size
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - static_cast<GoInt>
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToBin
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:45,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:46,1
    - Dst: insert
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:48,1
    - Dst: end
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:48,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:48,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' out'
    - ' val'
    argTypes:
    - std::vector<uint8_t>
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: cryptofuzz::module::SkaleSolidity_detail::append
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - ToBin
    - end
    - auto::begin
    - auto::end
    - insert
    linkageType: ''
    returnType: bool
    signature: bool append(std::vector<uint8_t>& out, const component::Bignum& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:58,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:58,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:59,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' out'
    - ' fp2'
    argTypes:
    - std::vector<uint8_t>
    - component::BignumPair
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: cryptofuzz::module::SkaleSolidity_detail::append
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 1
    functionsReached:
    - CF_CHECK_TRUE
    - cryptofuzz::module::SkaleSolidity_detail::append
    linkageType: ''
    returnType: bool
    signature: bool append(std::vector<uint8_t>& out, const component::BignumPair&
      fp2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:68,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:68,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:69,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:69,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:70,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:70,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:71,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' out'
    - ' g2'
    argTypes:
    - std::vector<uint8_t>
    - component::G2
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: cryptofuzz::module::SkaleSolidity_detail::append
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 2
    functionsReached:
    - CF_CHECK_TRUE
    - cryptofuzz::module::SkaleSolidity_detail::append
    linkageType: ''
    returnType: bool
    signature: bool append(std::vector<uint8_t>& out, const component::G2& g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:82,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:82,1
    - Dst: data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:82,1
    - Dst: size
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:82,1
    - Dst: insert
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:84,1
    - Dst: end
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:84,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:84,1
    - Dst: end
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' fourbyte'
    argTypes:
    - std::vector<uint8_t>
    - std::array<uint8_t, 4>
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: cryptofuzz::module::SkaleSolidity_detail::append
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 2
    functionsReached:
    - std::array::data
    - begin
    - data
    - size
    - end
    - memcpy
    - insert
    linkageType: ''
    returnType: void
    signature: void append(std::vector<uint8_t>& out, const std::array<uint8_t, 4>&
      fourbyte)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getJsonResult
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:88,1
    - Dst: auto::get
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:93,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:95,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:95,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:97,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:97,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:99,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:101,1
    - Dst: static_cast<bool>
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: cryptofuzz::module::SkaleSolidity_detail::parseBool
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - boost::algorithm::unhex
    - std::vector::size
    - std::back_inserter
    - static_cast<bool>
    - cryptofuzz::util::BinToDec
    - auto::get
    - cryptofuzz::module::SkaleSolidity_detail::getJsonResult
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> parseBool(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getJsonResult
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:107,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:110,1
    - Dst: auto::get
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:114,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:116,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:116,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:118,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:118,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: cryptofuzz::module::SkaleSolidity_detail::parseU256
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - boost::algorithm::unhex
    - CF_ASSERT
    - std::vector::size
    - std::back_inserter
    - abort
    - cryptofuzz::util::BinToDec
    - auto::get
    - cryptofuzz::module::SkaleSolidity_detail::getJsonResult
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> parseU256(const bool mustSucceed =
      false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getJsonResult
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:124,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:127,1
    - Dst: auto::get
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:131,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:133,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:133,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:135,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:135,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:138,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:138,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:138,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:138,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:139,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:139,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:139,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 141
    functionName: cryptofuzz::module::SkaleSolidity_detail::parseFp2
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - boost::algorithm::unhex
    - CF_ASSERT
    - std::vector::size
    - std::back_inserter
    - abort
    - std::vector<uint8_t>
    - cryptofuzz::util::BinToDec
    - auto::get
    - cryptofuzz::module::SkaleSolidity_detail::getJsonResult
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::Fp2>
    signature: std::optional<component::Fp2> parseFp2(const bool mustSucceed = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getJsonResult
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:144,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:147,1
    - Dst: auto::get
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:151,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:153,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:153,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:155,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:155,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:158,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:158,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:158,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 161
    functionName: cryptofuzz::module::SkaleSolidity_detail::parseBoolAsFp2
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - boost::algorithm::unhex
    - CF_ASSERT
    - std::vector::size
    - std::back_inserter
    - abort
    - std::vector<uint8_t>
    - cryptofuzz::util::BinToDec
    - auto::get
    - cryptofuzz::module::SkaleSolidity_detail::getJsonResult
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::Fp2>
    signature: std::optional<component::Fp2> parseBoolAsFp2(const bool mustSucceed
      = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getJsonResult
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:164,1
    - Dst: auto::get
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:169,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:171,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:171,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:173,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:173,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:175,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:175,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:176,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:176,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:177,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:177,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:178,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:178,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:181,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:181,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:182,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 184
    functionName: cryptofuzz::module::SkaleSolidity_detail::parseG2
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - boost::algorithm::unhex
    - std::vector::size
    - std::back_inserter
    - cryptofuzz::util::BinToDec
    - auto::get
    - cryptofuzz::module::SkaleSolidity_detail::getJsonResult
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> parseG2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: cryptofuzz::module::SkaleSolidity_detail::getGas
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getGas(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:199,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:199,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:200,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:200,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:205,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:207,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:207,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:209,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:209,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:209,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseBool
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 215
      start: 198
    functionDepth: 4
    functionLinenumber: 198
    functionLinenumberEnd: 215
    functionName: cryptofuzz::module::SkaleSolidity::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::SkaleSolidity_detail::toGoSlice
    - cryptofuzz::module::SkaleSolidity_detail::append
    - curveType::Is
    - modifier::GetPtr
    - CF_ECC_CURVE
    - cryptofuzz::module::SkaleSolidity_detail::getGas
    - modifier::GetSize
    - cryptofuzz::module::SkaleSolidity_detail::parseBool
    - SkaleSolidity_Call
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> SkaleSolidity::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:218,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:218,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:219,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:219,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:224,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:226,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:226,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:228,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:228,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:228,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseBool
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 234
      start: 217
    functionDepth: 4
    functionLinenumber: 217
    functionLinenumberEnd: 234
    functionName: cryptofuzz::module::SkaleSolidity::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::SkaleSolidity_detail::toGoSlice
    - cryptofuzz::module::SkaleSolidity_detail::append
    - curveType::Is
    - modifier::GetPtr
    - CF_ECC_CURVE
    - cryptofuzz::module::SkaleSolidity_detail::getGas
    - modifier::GetSize
    - cryptofuzz::module::SkaleSolidity_detail::parseBool
    - SkaleSolidity_Call
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> SkaleSolidity::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:237,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:237,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:238,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:238,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:244,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:246,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:246,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:247,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:247,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:249,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:249,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:249,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseBool
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 255
      start: 236
    functionDepth: 4
    functionLinenumber: 236
    functionLinenumberEnd: 255
    functionName: cryptofuzz::module::SkaleSolidity::OpBLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::SkaleSolidity_detail::toGoSlice
    - cryptofuzz::module::SkaleSolidity_detail::append
    - curveType::Is
    - modifier::GetPtr
    - CF_ECC_CURVE
    - cryptofuzz::module::SkaleSolidity_detail::getGas
    - modifier::GetSize
    - cryptofuzz::module::SkaleSolidity_detail::parseBool
    - SkaleSolidity_Call
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> SkaleSolidity::OpBLS_G2_IsEq(operation::BLS_G2_IsEq&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:259,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:259,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:260,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:260,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:266,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:268,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:268,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:270,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:270,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:270,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseG2
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 276
      start: 258
    functionDepth: 4
    functionLinenumber: 258
    functionLinenumberEnd: 276
    functionName: cryptofuzz::module::SkaleSolidity_detail::OpBLS_G2_Double
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::SkaleSolidity_detail::parseG2
    - cryptofuzz::module::SkaleSolidity_detail::toGoSlice
    - cryptofuzz::module::SkaleSolidity_detail::append
    - curveType::Is
    - modifier::GetPtr
    - CF_ECC_CURVE
    - cryptofuzz::module::SkaleSolidity_detail::getGas
    - modifier::GetSize
    - SkaleSolidity_Call
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> OpBLS_G2_Double(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:280,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:280,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:281,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:281,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:287,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:293,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::OpBLS_G2_Double
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:297,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:301,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:301,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:302,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:302,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:304,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:304,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:304,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseG2
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 310
      start: 279
    functionDepth: 5
    functionLinenumber: 279
    functionLinenumberEnd: 310
    functionName: cryptofuzz::module::SkaleSolidity::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::SkaleSolidity_detail::parseG2
    - cryptofuzz::module::SkaleSolidity_detail::toGoSlice
    - cryptofuzz::module::SkaleSolidity_detail::append
    - curveType::Is
    - modifier::GetPtr
    - CF_ECC_CURVE
    - Datasource::Get
    - cryptofuzz::module::SkaleSolidity_detail::OpBLS_G2_Double
    - cryptofuzz::module::SkaleSolidity_detail::getGas
    - modifier::GetSize
    - SkaleSolidity_Call
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> SkaleSolidity::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:314,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:314,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:317,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:320,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:324,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:325,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:327,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:329,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:329,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:330,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:330,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:332,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:333,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:333,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseU256
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:335,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:338,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:340,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:342,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:342,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:343,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:343,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:344,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:344,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:346,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:347,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:347,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseU256
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:349,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:352,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:355,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:357,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:357,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:358,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:358,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:359,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:359,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:361,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:361,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:361,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseU256
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:363,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:366,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:368,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:371,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:371,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:373,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:373,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:373,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseU256
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 382
      start: 313
    functionDepth: 4
    functionLinenumber: 313
    functionLinenumberEnd: 382
    functionName: cryptofuzz::module::SkaleSolidity::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - bn1::ToTrimmedString
    - CF_CHECK_TRUE
    - cryptofuzz::module::SkaleSolidity_detail::append
    - cryptofuzz::module::SkaleSolidity_detail::toGoSlice
    - modifier::GetPtr
    - cryptofuzz::module::SkaleSolidity_detail::parseU256
    - cryptofuzz::module::SkaleSolidity_detail::getGas
    - modifier::GetSize
    - calcOp::Get
    - SkaleSolidity_Call
    - bn0::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> SkaleSolidity::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:385,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:385,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:388,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:389,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:391,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:392,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:392,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:393,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:393,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:395,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:396,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:396,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseFp2
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:398,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:401,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:403,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:404,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:404,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:405,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:405,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:407,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:408,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:408,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseFp2
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:410,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:413,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:415,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:416,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:416,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:417,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:417,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:419,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:420,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:420,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseFp2
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:422,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:425,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:427,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:428,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:428,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:430,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:431,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:431,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseFp2
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:433,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:436,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:438,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:439,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:439,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:441,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:442,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:442,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseFp2
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:444,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:447,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:449,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:450,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:450,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:451,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:451,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::getGas
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:453,1
    - Dst: SkaleSolidity_Call
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:454,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::toGoSlice
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:454,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::parseBoolAsFp2
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:456,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp2
    constantsTouched: []
    func_position:
      end: 463
      start: 384
    functionDepth: 4
    functionLinenumber: 384
    functionLinenumberEnd: 463
    functionName: cryptofuzz::module::SkaleSolidity::OpBignumCalc_Fp2
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - cryptofuzz::module::SkaleSolidity_detail::toGoSlice
    - cryptofuzz::module::SkaleSolidity_detail::append
    - cryptofuzz::module::SkaleSolidity_detail::parseBoolAsFp2
    - modifier::GetPtr
    - cryptofuzz::module::SkaleSolidity_detail::getGas
    - modifier::GetSize
    - calcOp::Get
    - cryptofuzz::module::SkaleSolidity_detail::parseFp2
    - SkaleSolidity_Call
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::Fp2>
    signature: std::optional<component::Fp2> SkaleSolidity::OpBignumCalc_Fp2(operation::BignumCalc_Fp2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:466,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:466,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:467,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:467,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:473,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:473,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:474,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:474,1
    - Dst: cryptofuzz::module::SkaleSolidity_detail::append
      Src: /src/cryptofuzz/modules/skalesolidity/module.cpp:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Verify
    constantsTouched: []
    func_position:
      end: 479
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 479
    functionName: cryptofuzz::module::SkaleSolidity::OpBLS_Verify
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::SkaleSolidity_detail::append
    - curveType::Is
    - modifier::GetPtr
    - CF_ECC_CURVE
    - modifier::GetSize
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> SkaleSolidity::OpBLS_Verify(operation::BLS_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:15,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:18,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:19,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:19,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:24,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:24,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:24,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:27,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:28,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:28,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:29,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:29,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:29,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:32,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:33,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:33,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:34,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:34,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:34,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/skalesolidity/generate_ids.cpp
    functionUses: 97
    functionsReached:
    - std::regex_replace
    - std::regex
    - std::to_string
    - std::string
    - fprintf
    - auto::c_str
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: cryptofuzz::module::arkworks_algebra::arkworks_algebra
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arkworks_algebra::arkworks_algebra(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:199,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:199,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:200,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:203,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:203,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:204,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:205,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:205,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:206,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:207,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:207,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:208,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:209,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:209,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:210,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:212,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:212,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 216
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 216
    functionName: cryptofuzz::module::arkworks_algebra_detail::To4U64
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - CF_CHECK_NE
    - std::array::end
    - std::array::begin
    - std::reverse
    - memcpy
    - auto::data
    - __bswap_64
    - cryptofuzz::util::DecToBin
    linkageType: ''
    returnType: std::optional<std::array<uint64_t, 4>>
    signature: std::optional<std::array<uint64_t, 4>> To4U64(const component::Bignum&
      bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:220,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:220,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:221,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:224,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:224,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:225,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:226,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:226,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:227,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:228,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:228,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:229,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:230,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:230,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:231,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:232,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:232,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:233,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:234,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:234,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:235,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:237,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:237,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 241
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 241
    functionName: cryptofuzz::module::arkworks_algebra_detail::To6U64
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - CF_CHECK_NE
    - std::array::end
    - std::array::begin
    - std::reverse
    - memcpy
    - auto::data
    - __bswap_64
    - cryptofuzz::util::DecToBin
    linkageType: ''
    returnType: std::optional<std::array<uint64_t, 6>>
    signature: std::optional<std::array<uint64_t, 6>> To6U64(const component::Bignum&
      bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:243,1
    - Dst: std::array<uint64_t, 4>::begin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:243,1
    - Dst: std::array<uint64_t, 4>::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:243,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:245,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:246,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:247,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:248,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:249,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:249,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:250,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:250,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:251,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:251,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:252,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:252,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - u64
    argTypes:
    - std::array<uint64_t, 4>
    constantsTouched: []
    func_position:
      end: 254
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 254
    functionName: cryptofuzz::module::arkworks_algebra_detail::From4U64
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - std::reverse
    - std::array<uint64_t, 4>::end
    - cryptofuzz::util::BinToDec
    - memcpy
    - __bswap_64
    - std::array<uint64_t, 4>::begin
    - std::vector::data
    linkageType: ''
    returnType: component::Bignum
    signature: component::Bignum From4U64(std::array<uint64_t, 4> u64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:256,1
    - Dst: std::array<uint64_t, 6>::begin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:256,1
    - Dst: std::array<uint64_t, 6>::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:256,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:258,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:259,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:260,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:261,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:262,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:263,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:264,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:264,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:265,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:265,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:266,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:266,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:267,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:267,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:268,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:268,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:269,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:269,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - u64
    argTypes:
    - std::array<uint64_t, 6>
    constantsTouched: []
    func_position:
      end: 271
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 271
    functionName: cryptofuzz::module::arkworks_algebra_detail::From6U64
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - std::reverse
    - cryptofuzz::util::BinToDec
    - memcpy
    - __bswap_64
    - std::array<uint64_t, 6>::end
    - std::array<uint64_t, 6>::begin
    - std::vector::data
    linkageType: ''
    returnType: component::Bignum
    signature: component::Bignum From6U64(std::array<uint64_t, 6> u64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::arkworks_algebra_detail::From4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:276,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::From4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' result_x'
    - ' result_y'
    argTypes:
    - std::array<uint64_t, 4>
    - std::array<uint64_t, 4>
    constantsTouched: []
    func_position:
      end: 283
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 283
    functionName: cryptofuzz::module::arkworks_algebra_detail::ToG1
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::arkworks_algebra_detail::From4U64
    linkageType: ''
    returnType: component::G1
    signature: "component::G1 ToG1(\n            const std::array<uint64_t, 4>& result_x,\n
      \           const std::array<uint64_t, 4>& result_y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::arkworks_algebra_detail::From6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:287,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::From6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' result_x'
    - ' result_y'
    argTypes:
    - std::array<uint64_t, 6>
    - std::array<uint64_t, 6>
    constantsTouched: []
    func_position:
      end: 294
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 294
    functionName: cryptofuzz::module::arkworks_algebra_detail::ToG1
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::arkworks_algebra_detail::From6U64
    linkageType: ''
    returnType: component::G1
    signature: "component::G1 ToG1(\n            const std::array<uint64_t, 6>& result_x,\n
      \           const std::array<uint64_t, 6>& result_y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::arkworks_algebra_detail::From6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:300,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::From6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:301,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::From6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:302,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::From6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ' result_v'
    - ' result_w'
    - ' result_x'
    - ' result_y'
    argTypes:
    - std::array<uint64_t, 6>
    - std::array<uint64_t, 6>
    - std::array<uint64_t, 6>
    - std::array<uint64_t, 6>
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: cryptofuzz::module::arkworks_algebra_detail::ToG2
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::arkworks_algebra_detail::From6U64
    linkageType: ''
    returnType: component::G2
    signature: "component::G2 ToG2(\n            const std::array<uint64_t, 6>& result_v,\n
      \           const std::array<uint64_t, 6>& result_w,\n            const std::array<uint64_t,
      6>& result_x,\n            const std::array<uint64_t, 6>& result_y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:315,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:315,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:316,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:316,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:317,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:317,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:323,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:323,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:327,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:327,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:329,1
    - Dst: arkworks_algebra_g1_privatetopublic_bn254
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:329,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:330,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:331,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:332,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG1
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:335,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:336,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:336,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:337,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:337,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:341,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:341,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:343,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:343,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:344,1
    - Dst: arkworks_algebra_g1_privatetopublic_bls12_381
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:344,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:345,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:346,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:347,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:349,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:349,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:350,1
    - Dst: arkworks_algebra_g1_privatetopublic_bls12_377
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:350,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:351,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:352,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:353,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:356,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG1
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:359,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:361,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 366
      start: 313
    functionDepth: 4
    functionLinenumber: 313
    functionLinenumberEnd: 366
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - arkworks_algebra_g1_privatetopublic_bls12_381
    - CF_CHECK_NE
    - std::array::data
    - std::optional::data
    - CF_ECC_CURVE
    - CF_UNREACHABLE
    - data
    - cryptofuzz::module::arkworks_algebra_detail::ToG1
    - curveType::Get
    - arkworks_algebra_g1_privatetopublic_bls12_377
    - arkworks_algebra_g1_privatetopublic_bn254
    - cryptofuzz::module::arkworks_algebra_detail::To4U64
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> arkworks_algebra::OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:370,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:370,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:371,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:371,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:372,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:372,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:378,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:378,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:381,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:381,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:382,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:382,1
    - Dst: arkworks_algebra_g1_isoncurve_bn254
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:384,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:385,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:386,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:387,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:389,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:389,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:390,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:390,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:393,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:393,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:394,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:394,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:396,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:396,1
    - Dst: arkworks_algebra_g1_isoncurve_bls12_381
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:397,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:398,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:399,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:400,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:402,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:402,1
    - Dst: arkworks_algebra_g1_isoncurve_bls12_377
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:403,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:404,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:405,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:406,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:409,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:412,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 417
      start: 368
    functionDepth: 3
    functionLinenumber: 368
    functionLinenumberEnd: 417
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - arkworks_algebra_g1_isoncurve_bls12_377
    - cryptofuzz::module::arkworks_algebra_detail::To6U64
    - CF_CHECK_NE
    - arkworks_algebra_g1_isoncurve_bn254
    - CF_ECC_CURVE
    - std::optional::data
    - data
    - arkworks_algebra_g1_isoncurve_bls12_381
    - CF_UNREACHABLE
    - curveType::Get
    - cryptofuzz::module::arkworks_algebra_detail::To4U64
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> arkworks_algebra::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:421,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:421,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:422,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:422,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:423,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:423,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:428,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:428,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:430,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:430,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:434,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:434,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:435,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:435,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:436,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:436,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:437,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:437,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:439,1
    - Dst: arkworks_algebra_g1_add_bn254
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:439,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:440,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:441,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:442,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:443,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:444,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:445,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG1
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:448,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:449,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:449,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:450,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:450,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:454,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:454,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:455,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:455,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:456,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:456,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:457,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:457,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:459,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:459,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:462,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:466,1
    - Dst: arkworks_algebra_g1_add_bls12_381
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:466,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:467,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:468,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:469,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:470,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:472,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:473,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:475,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:475,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:476,1
    - Dst: arkworks_algebra_g1_add_bls12_377
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:476,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:477,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:478,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:479,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:480,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:481,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:482,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:485,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG1
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:488,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:490,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 495
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 495
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - arkworks_algebra_g1_add_bls12_377
    - cryptofuzz::module::arkworks_algebra_detail::To6U64
    - CF_CHECK_NE
    - std::array::data
    - std::optional::data
    - CF_ECC_CURVE
    - modifier::GetPtr
    - data
    - CF_UNREACHABLE
    - Datasource::Get
    - arkworks_algebra_g1_add_bn254
    - cryptofuzz::module::arkworks_algebra_detail::ToG1
    - curveType::Get
    - modifier::GetSize
    - arkworks_algebra_g1_add_bls12_381
    - cryptofuzz::module::arkworks_algebra_detail::To4U64
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> arkworks_algebra::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:499,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:499,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:500,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:500,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:501,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:501,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:506,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:506,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:508,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:508,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:512,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:512,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:513,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:513,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:514,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:514,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:516,1
    - Dst: arkworks_algebra_g1_mul_bn254
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:516,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:517,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:518,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:519,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:520,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:521,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG1
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:524,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:525,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:525,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:526,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:526,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:531,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:531,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:532,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:532,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:533,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:533,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:535,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:535,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:538,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:542,1
    - Dst: arkworks_algebra_g1_mul_bls12_381
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:542,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:543,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:544,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:545,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:547,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:548,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:550,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:550,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:551,1
    - Dst: arkworks_algebra_g1_mul_bls12_377
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:551,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:552,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:553,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:554,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:555,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:556,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:559,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG1
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:562,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:564,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 569
      start: 497
    functionDepth: 4
    functionLinenumber: 497
    functionLinenumberEnd: 569
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::arkworks_algebra_detail::To6U64
    - CF_CHECK_NE
    - arkworks_algebra_g1_mul_bls12_377
    - std::array::data
    - std::optional::data
    - CF_ECC_CURVE
    - modifier::GetPtr
    - data
    - CF_UNREACHABLE
    - Datasource::Get
    - arkworks_algebra_g1_mul_bls12_381
    - arkworks_algebra_g1_mul_bn254
    - cryptofuzz::module::arkworks_algebra_detail::ToG1
    - curveType::Get
    - modifier::GetSize
    - cryptofuzz::module::arkworks_algebra_detail::To4U64
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> arkworks_algebra::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:573,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:573,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:574,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:574,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:575,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:575,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:580,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:580,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:582,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:582,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:586,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:586,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:587,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:587,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:589,1
    - Dst: arkworks_algebra_g1_neg_bn254
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:589,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:590,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:591,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:592,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:593,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG1
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:596,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:597,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:597,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:598,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:598,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:602,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:602,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:603,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:603,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:605,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:605,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:608,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:612,1
    - Dst: arkworks_algebra_g1_neg_bls12_381
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:612,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:613,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:614,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:616,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:617,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:619,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:619,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:620,1
    - Dst: arkworks_algebra_g1_neg_bls12_377
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:620,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:621,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:622,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:623,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:624,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:627,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG1
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:630,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:632,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 637
      start: 571
    functionDepth: 4
    functionLinenumber: 571
    functionLinenumberEnd: 637
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - arkworks_algebra_g1_neg_bls12_377
    - cryptofuzz::module::arkworks_algebra_detail::To6U64
    - CF_CHECK_NE
    - std::array::data
    - std::optional::data
    - CF_ECC_CURVE
    - modifier::GetPtr
    - data
    - arkworks_algebra_g1_neg_bn254
    - Datasource::Get
    - CF_UNREACHABLE
    - cryptofuzz::module::arkworks_algebra_detail::ToG1
    - curveType::Get
    - modifier::GetSize
    - arkworks_algebra_g1_neg_bls12_381
    - cryptofuzz::module::arkworks_algebra_detail::To4U64
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> arkworks_algebra::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:640,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:640,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:649,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:649,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:650,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:650,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:651,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:651,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:652,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:652,1
    - Dst: arkworks_algebra_g2_isoncurve_bls12_381
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:654,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:655,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:656,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:657,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:658,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 665
      start: 639
    functionDepth: 3
    functionLinenumber: 639
    functionLinenumberEnd: 665
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::arkworks_algebra_detail::To6U64
    - CF_CHECK_NE
    - arkworks_algebra_g2_isoncurve_bls12_381
    - std::optional::data
    - CF_ECC_CURVE
    - data
    - curveType::Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> arkworks_algebra::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:668,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:668,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:673,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:673,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:680,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:680,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:681,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:681,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:682,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:682,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:683,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:683,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:685,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:685,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:686,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:686,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:687,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:687,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:688,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:688,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:690,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:690,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:693,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:697,1
    - Dst: arkworks_algebra_g2_add_bls12_381
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:697,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:698,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:699,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:700,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:701,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:702,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:703,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:704,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:705,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:707,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:708,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:709,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:710,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG2
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 717
      start: 667
    functionDepth: 4
    functionLinenumber: 667
    functionLinenumberEnd: 717
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::arkworks_algebra_detail::To6U64
    - CF_CHECK_NE
    - std::array::data
    - std::optional::data
    - CF_ECC_CURVE
    - modifier::GetPtr
    - data
    - cryptofuzz::module::arkworks_algebra_detail::ToG2
    - Datasource::Get
    - arkworks_algebra_g2_add_bls12_381
    - curveType::Get
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> arkworks_algebra::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:721,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:721,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:722,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:722,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:727,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:727,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:734,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:734,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:735,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:735,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:736,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:736,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:737,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:737,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:738,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:738,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:740,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:740,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:743,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:747,1
    - Dst: arkworks_algebra_g2_mul_bls12_381
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:747,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:748,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:749,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:750,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:751,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:752,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:754,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:755,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:756,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:757,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG2
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:759,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:760,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:760,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:763,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:767,1
    - Dst: arkworks_algebra_g2_mul_bls12_377
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:767,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:768,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:769,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:770,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:771,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:772,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:774,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:775,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:776,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:777,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG2
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:779,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 784
      start: 719
    functionDepth: 4
    functionLinenumber: 719
    functionLinenumberEnd: 784
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::arkworks_algebra_detail::To6U64
    - CF_CHECK_NE
    - std::array::data
    - std::optional::data
    - CF_ECC_CURVE
    - modifier::GetPtr
    - data
    - cryptofuzz::module::arkworks_algebra_detail::ToG2
    - Datasource::Get
    - curveType::Get
    - modifier::GetSize
    - arkworks_algebra_g2_mul_bls12_381
    - arkworks_algebra_g2_mul_bls12_377
    - cryptofuzz::module::arkworks_algebra_detail::To4U64
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> arkworks_algebra::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:787,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:787,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:792,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:792,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:798,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:798,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:799,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:799,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:800,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:800,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:801,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:801,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:805,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:809,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:809,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:810,1
    - Dst: arkworks_algebra_g2_neg_bls12_381
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:810,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:811,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:812,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:813,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:814,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:816,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:817,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:818,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:819,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG2
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 826
      start: 786
    functionDepth: 4
    functionLinenumber: 786
    functionLinenumberEnd: 826
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - arkworks_algebra_g2_neg_bls12_381
    - cryptofuzz::module::arkworks_algebra_detail::To6U64
    - CF_CHECK_NE
    - std::array::data
    - std::optional::data
    - CF_ECC_CURVE
    - modifier::GetPtr
    - data
    - cryptofuzz::module::arkworks_algebra_detail::ToG2
    - Datasource::Get
    - curveType::Get
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> arkworks_algebra::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:836,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:836,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:837,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:837,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:837,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:837,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:839,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:839,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:840,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:840,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:840,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:840,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:842,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:842,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:843,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:843,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:843,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:843,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:845,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:845,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:846,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:846,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:846,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:846,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:848,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:848,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:849,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:849,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:849,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:849,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:851,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:851,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:852,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:852,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:852,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:852,1
    - Dst: arkworks_algebra_batchverify_bn254
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:855,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:855,1
    - Dst: bf::c::size
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_BatchVerify
    constantsTouched: []
    func_position:
      end: 858
      start: 828
    functionDepth: 3
    functionLinenumber: 828
    functionLinenumberEnd: 858
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_BatchVerify
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - std::optional::begin
    - CF_CHECK_NE
    - arkworks_algebra_batchverify_bn254
    - bf::c::size
    - std::optional::end
    - std::vector::insert
    - std::vector::end
    - cryptofuzz::module::arkworks_algebra_detail::To4U64
    - std::vector::data
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> arkworks_algebra::OpBLS_BatchVerify(operation::BLS_BatchVerify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:861,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:861,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:876,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:876,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:877,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:877,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:880,1
    - Dst: second::IsLessThan
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:880,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:882,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:882,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:885,1
    - Dst: push_back
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:888,1
    - Dst: push_back
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:891,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:896,1
    - Dst: arkworks_algebra_g1_multiexp_bls12_381
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:896,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:897,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:898,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:899,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:901,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:902,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::ToG1
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_MultiExp
    constantsTouched: []
    func_position:
      end: 908
      start: 860
    functionDepth: 4
    functionLinenumber: 860
    functionLinenumberEnd: 908
    functionName: cryptofuzz::module::arkworks_algebra::OpBLS_G1_MultiExp
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - arkworks_algebra_g1_multiexp_bls12_381
    - cryptofuzz::module::arkworks_algebra_detail::To6U64
    - CF_CHECK_NE
    - std::array::data
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - data
    - cryptofuzz::module::arkworks_algebra_detail::ToG1
    - curveType::Get
    - std::vector::push_back
    - push_back
    - CF_CHECK_TRUE
    - cryptofuzz::module::arkworks_algebra_detail::To4U64
    - second::IsLessThan
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> arkworks_algebra::OpBLS_G1_MultiExp(operation::BLS_G1_MultiExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:916,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:919,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:922,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:925,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:928,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:931,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:934,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:948,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:948,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:949,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:949,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:950,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:950,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:952,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:952,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:953,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:953,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:954,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::To6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:954,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:958,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:959,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:960,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:961,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:962,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:963,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:964,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:965,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:966,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:967,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:970,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:970,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:970,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:970,1
    - Dst: arkworks_algebra_bignumcalc
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:976,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:977,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:977,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:978,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:979,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:980,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:981,1
    - Dst: arkworks_algebra_bignumcalc_bn254_fq
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:985,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:986,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:986,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:987,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:988,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:989,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:990,1
    - Dst: arkworks_algebra_bignumcalc_bn254_fr
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:994,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:995,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:995,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:996,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:997,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:998,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:999,1
    - Dst: arkworks_algebra_bignumcalc_bls12_381_fr
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1003,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1004,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1004,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1005,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1006,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1007,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1008,1
    - Dst: arkworks_algebra_bignumcalc_bls12_377_fr
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1012,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1013,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1013,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1014,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1015,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1016,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1017,1
    - Dst: arkworks_algebra_bignumcalc_bls12_377_fq
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1021,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1022,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1022,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1023,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1024,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1025,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1026,1
    - Dst: arkworks_algebra_bignumcalc_bls12_381_fq
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1030,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1031,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1031,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1032,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1033,1
    - Dst: data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1034,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1035,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1039,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1042,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::From4U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1045,1
    - Dst: cryptofuzz::module::arkworks_algebra_detail::From6U64
      Src: /src/cryptofuzz/modules/arkworks-algebra/module.cpp:1047,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 72
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1053
      start: 910
    functionDepth: 3
    functionLinenumber: 910
    functionLinenumberEnd: 1053
    functionName: cryptofuzz::module::arkworks_algebra::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - arkworks_algebra_bignumcalc_bls12_381_fr
    - cryptofuzz::module::arkworks_algebra_detail::To4U64
    - cryptofuzz::module::arkworks_algebra_detail::To6U64
    - CF_CHECK_NE
    - std::array::data
    - std::optional::data
    - data
    - modulo::ToTrimmedString
    - arkworks_algebra_bignumcalc
    - calcOp::Get
    - arkworks_algebra_bignumcalc_bn254_fq
    - cryptofuzz::module::arkworks_algebra_detail::From6U64
    - cryptofuzz::module::arkworks_algebra_detail::From4U64
    - std::map::end
    - arkworks_algebra_bignumcalc_bls12_381_fq
    - CF_UNREACHABLE
    - arkworks_algebra_bignumcalc_bls12_377_fq
    - arkworks_algebra_bignumcalc_bn254_fr
    - CF_CHECK_TRUE
    - std::map::find
    - std::map::at
    - arkworks_algebra_bignumcalc_bls12_377_fr
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> arkworks_algebra::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1057
    functionName: cryptofuzz::module::arkworks_algebra::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/arkworks-algebra/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool arkworks_algebra::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rt_init
      Src: /src/cryptofuzz/modules/d/module.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: cryptofuzz::module::D::D
    functionSourceFile: /src/cryptofuzz/modules/d/module.cpp
    functionUses: 0
    functionsReached:
    - rt_init
    linkageType: ''
    returnType: void
    signature: void D::D(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz_d_bignumcalc
      Src: /src/cryptofuzz/modules/d/module.cpp:24,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/d/module.cpp:25,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/d/module.cpp:26,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/d/module.cpp:27,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/d/module.cpp:28,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/d/module.cpp:30,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/d/module.cpp:30,1
    - Dst: free
      Src: /src/cryptofuzz/modules/d/module.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 34
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 34
    functionName: cryptofuzz::module::D::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/d/module.cpp
    functionUses: 0
    functionsReached:
    - bn1::ToTrimmedString
    - free
    - std::string
    - getBignum
    - cryptofuzz_d_bignumcalc
    - calcOp::Get
    - bn0::ToTrimmedString
    - bn2::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> D::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: cryptofuzz::module::secp256k1::secp256k1
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secp256k1::secp256k1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: cryptofuzz::module::secp256k1_detail::CheckRet
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    linkageType: ''
    returnType: int
    signature: int CheckRet(const int ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::multiprecision::export_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:37,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:37,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:38,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:41,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:43,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:44,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:44,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - s
    - out
    argTypes:
    - std::string
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: cryptofuzz::module::secp256k1_detail::EncodeBignum
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::back_inserter
    - memset
    - memcpy
    - boost::multiprecision::export_bits
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: bool EncodeBignum(const std::string s, uint8_t* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:53,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - boost::multiprecision::cpp_int
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: cryptofuzz::module::secp256k1_detail::toString
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string toString(const boost::multiprecision::cpp_int& i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:65,1
    - Dst: cryptofuzz::module::secp256k1_detail::CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:66,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:66,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:66,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:67,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:72,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:72,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:72,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:73,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:73,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:73,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:75,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - pubkey
    argTypes:
    - secp256k1_context*
    - secp256k1_pubkey*
    constantsTouched: []
    func_position:
      end: 80
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 80
    functionName: cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 3
    functionsReached:
    - secp256k1_ec_pubkey_serialize
    - cryptofuzz::module::secp256k1_detail::toString
    - cryptofuzz::module::secp256k1_detail::CheckRet
    - std::vector::begin
    - CF_CHECK_EQ
    - std::vector::end
    - boost::multiprecision::import_bits
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> To_ECC_PublicKey(const secp256k1_context*
      ctx, const secp256k1_pubkey* pubkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:85,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:85,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' priv'
    - privkey_bytes
    argTypes:
    - component::ECC_PrivateKey
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: cryptofuzz::module::secp256k1_detail::PrivkeyToBytes
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - CF_CHECK_EQ
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    linkageType: ''
    returnType: bool
    signature: bool PrivkeyToBytes(const component::ECC_PrivateKey& priv, uint8_t
      privkey_bytes[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:99,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:99,1
    - Dst: first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:100,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:102,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:102,1
    - Dst: second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' pub'
    - pubkey_bytes
    argTypes:
    - component::ECC_PublicKey
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 109
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 109
    functionName: cryptofuzz::module::secp256k1_detail::PubkeyToBytes
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - second::ToTrimmedString
    - CF_CHECK_EQ
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - first::ToTrimmedString
    linkageType: ''
    returnType: bool
    signature: bool PubkeyToBytes(const component::ECC_PublicKey& pub, uint8_t pubkey_bytes[65])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:114,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - T*
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: cryptofuzz::module::secp256k1_detail::AssertZero
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - memcmp
    linkageType: ''
    returnType: void
    signature: void AssertZero(const T* v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:128,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:129,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:130,1
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:131,1
    - Dst: secp256k1_context_randomize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:131,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 136
    functionName: cryptofuzz::module::secp256k1_detail::Context::randomizeContext
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - CheckRet
    - secp256k1_context_randomize
    - Get
    - GetData
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void randomizeContext(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_context_clone
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:139,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:140,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:141,1
    - Dst: secp256k1_context_destroy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: cryptofuzz::module::secp256k1_detail::Context::clone
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_context_clone
    - CF_NORET
    - CF_ASSERT
    - secp256k1_context_destroy
    linkageType: ''
    returnType: void
    signature: void clone(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:148,1
    - Dst: secp256k1_context_create
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ds'
    - flags
    argTypes:
    - Datasource
    - unsigned int
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: cryptofuzz::module::secp256k1_detail::Context::Context
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_context_create
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void Context(Datasource& ds, const unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:151,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:153,1
    - Dst: secp256k1_context_destroy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: ~Context(void)
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - GetPtr
    - secp256k1_context_destroy
    linkageType: ''
    returnType: void
    signature: void ~Context(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:158,1
    - Dst: cryptofuzz::module::secp256k1_detail::Context::randomizeContext
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:159,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:162,1
    - Dst: cryptofuzz::module::secp256k1_detail::Context::clone
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: cryptofuzz::module::secp256k1_detail::Context::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::secp256k1_detail::Context::randomizeContext
    - Get
    - cryptofuzz::module::secp256k1_detail::Context::clone
    linkageType: ''
    returnType: secp256k1_context
    signature: secp256k1_context * GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: cryptofuzz::module::secp256k1_detail::Context::GetPtrDirect
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secp256k1_context
    signature: secp256k1_context * GetPtrDirect(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:186,1
    - Dst: secp256k1_ecdsa_recoverable_signature_serialize_compact
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:186,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:187,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:191,1
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:192,1
    - Dst: secp256k1_ecdsa_recoverable_signature_parse_compact
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:192,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 199
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::serializeCompact
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_ecdsa_recoverable_signature_serialize_compact
    - CF_ASSERT
    - cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtr
    - secp256k1_ecdsa_recoverable_signature_parse_compact
    - CheckRet
    linkageType: ''
    returnType: void
    signature: void serializeCompact(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:203,1
    - Dst: secp256k1_ecdsa_recoverable_signature_convert
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:203,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::convert
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_ecdsa_recoverable_signature_convert
    - CheckRet
    - cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtr
    linkageType: ''
    returnType: void
    signature: void convert(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<secp256k1_ecdsa_recoverable_signature*>
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:208,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ds'
    - ' ctx'
    argTypes:
    - Datasource
    - Context
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::ECDSA_Recoverable_Signature
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - static_cast<secp256k1_ecdsa_recoverable_signature*>
    - malloc
    linkageType: ''
    returnType: void
    signature: void ECDSA_Recoverable_Signature(Datasource& ds, Context& ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:211,1
    - Dst: free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: ~ECDSA_Recoverable_Signature(void)
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - free
    linkageType: ''
    returnType: void
    signature: void ~ECDSA_Recoverable_Signature(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::SetInitialized
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetInitialized(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:222,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::serializeCompact
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:223,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:226,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::convert
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 232
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::convert
    - Get
    - cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::serializeCompact
    linkageType: ''
    returnType: secp256k1_ecdsa_recoverable_signature
    signature: secp256k1_ecdsa_recoverable_signature * GetPtr()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtrDirect
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: secp256k1_ecdsa_recoverable_signature
    signature: secp256k1_ecdsa_recoverable_signature * GetPtrDirect(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:239,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:240,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::SetInitialized
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:245,1
    - Dst: secp256k1_detail::AssertZero<>
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - id
    argTypes:
    - uint8_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 252
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 252
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::ParseCompact
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::SetInitialized
    - cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtr
    - secp256k1_detail::AssertZero<>
    - cryptofuzz::module::secp256k1_detail::ECDSA_Recoverable_Signature::GetPtrDirect
    linkageType: ''
    returnType: bool
    signature: bool ParseCompact(const uint8_t* data, const uint8_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:266,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:268,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:272,1
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:286,1
    - Dst: secp256k1_ec_pubkey_serialize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:286,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:287,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:292,1
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:293,1
    - Dst: secp256k1_ec_pubkey_parse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:293,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:294,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:305,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 307
    functionName: cryptofuzz::module::secp256k1_detail::Pubkey::serialize
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_ec_pubkey_serialize
    - cryptofuzz::util::free
    - CF_ASSERT
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
    - secp256k1_ec_pubkey_parse
    - CheckRet
    - cryptofuzz::util::malloc
    - Get
    linkageType: ''
    returnType: void
    signature: void serialize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<secp256k1_pubkey*>
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:311,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ds'
    - ' ctx'
    argTypes:
    - Datasource
    - Context
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: cryptofuzz::module::secp256k1_detail::Pubkey::Pubkey
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - malloc
    - static_cast<secp256k1_pubkey*>
    linkageType: ''
    returnType: void
    signature: void Pubkey(Datasource& ds, Context& ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:314,1
    - Dst: free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: ~Pubkey(void)
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - free
    linkageType: ''
    returnType: void
    signature: void ~Pubkey(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: cryptofuzz::module::secp256k1_detail::Pubkey::SetInitialized
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetInitialized(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:326,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::serialize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::secp256k1_detail::Pubkey::serialize
    - Get
    linkageType: ''
    returnType: secp256k1_pubkey
    signature: secp256k1_pubkey * GetPtr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:334,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:335,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::SetInitialized
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: cryptofuzz::module::secp256k1_detail::Pubkey::Create
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
    - cryptofuzz::module::secp256k1_detail::Pubkey::SetInitialized
    linkageType: ''
    returnType: bool
    signature: bool Create(const uint8_t key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:347,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:348,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 357
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 357
    functionName: cryptofuzz::module::secp256k1_detail::Pubkey::Serialize
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
    - CF_ASSERT
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Serialize(uint8_t* data, size_t* size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:360,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:361,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::SetInitialized
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 370
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 370
    functionName: cryptofuzz::module::secp256k1_detail::Pubkey::Parse
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
    - cryptofuzz::module::secp256k1_detail::Pubkey::SetInitialized
    linkageType: ''
    returnType: bool
    signature: bool Parse(const uint8_t* data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:375,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:376,1
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:378,1
    - Dst: secp256k1_ecdh
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: cryptofuzz::module::secp256k1_detail::Pubkey::ECDH
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
    - secp256k1_ecdh
    - CheckRet
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
    linkageType: ''
    returnType: bool
    signature: bool ECDH(uint8_t out[32], const uint8_t key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:383,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:384,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:385,1
    - Dst: cryptofuzz::module::secp256k1_detail::Pubkey::SetInitialized
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:390,1
    - Dst: AssertZero<>
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' sig'
    - hash
    argTypes:
    - ECDSA_Recoverable_Signature
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 397
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 397
    functionName: cryptofuzz::module::secp256k1_detail::Pubkey::Recover
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
    - AssertZero<>
    - cryptofuzz::module::secp256k1_detail::Pubkey::GetPtr
    - cryptofuzz::module::secp256k1_detail::Pubkey::SetInitialized
    linkageType: ''
    returnType: bool
    signature: bool Recover(ECDSA_Recoverable_Signature& sig, const uint8_t hash[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: cryptofuzz::module::secp256k1_detail::Pubkey::GetPtrDirect
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: secp256k1_pubkey
    signature: secp256k1_pubkey * GetPtrDirect(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:417,1
    - Dst: secp256k1_ecdsa_signature_serialize_der
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:417,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:418,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:422,1
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:423,1
    - Dst: secp256k1_ecdsa_signature_parse_der
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:423,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:424,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 435
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::serializeDER
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_ASSERT
    - cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
    - CheckRet
    - secp256k1_ecdsa_signature_parse_der
    - secp256k1_ecdsa_signature_serialize_der
    linkageType: ''
    returnType: void
    signature: void serializeDER(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:440,1
    - Dst: secp256k1_ecdsa_signature_serialize_compact
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:440,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:441,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:444,1
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:445,1
    - Dst: secp256k1_ecdsa_signature_parse_compact
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:445,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 451
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 451
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::serializeCompact
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - secp256k1_ecdsa_signature_serialize_compact
    - cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
    - CheckRet
    - secp256k1_ecdsa_signature_parse_compact
    linkageType: ''
    returnType: void
    signature: void serializeCompact(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<secp256k1_ecdsa_signature*>
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:455,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ds'
    - ' ctx'
    argTypes:
    - Datasource
    - Context
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::ECDSA_Signature
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - static_cast<secp256k1_ecdsa_signature*>
    - malloc
    linkageType: ''
    returnType: void
    signature: void ECDSA_Signature(Datasource& ds, Context& ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:458,1
    - Dst: free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 462
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 462
    functionName: ~ECDSA_Signature(void)
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - free
    linkageType: ''
    returnType: void
    signature: void ~ECDSA_Signature(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 465
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::SetInitialized
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetInitialized(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:469,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::serializeDER
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:470,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:473,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::serializeCompact
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 479
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 2
    functionsReached:
    - Get
    - cryptofuzz::module::secp256k1_detail::ECDSA_Signature::serializeCompact
    - cryptofuzz::module::secp256k1_detail::ECDSA_Signature::serializeDER
    linkageType: ''
    returnType: secp256k1_ecdsa_signature
    signature: secp256k1_ecdsa_signature * GetPtr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:482,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:483,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::SetInitialized
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 492
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 492
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::ParseCompact
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - GetPtrDirect
    - cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
    - cryptofuzz::module::secp256k1_detail::ECDSA_Signature::SetInitialized
    linkageType: ''
    returnType: bool
    signature: bool ParseCompact(const uint8_t* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:495,1
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:496,1
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:498,1
    - Dst: secp256k1_ecdsa_signature_normalize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::Normalize
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - GetPtrDirect
    - cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
    - CheckRet
    - secp256k1_ecdsa_signature_normalize
    linkageType: ''
    returnType: void
    signature: void Normalize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:502,1
    - Dst: GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:503,1
    - Dst: GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:504,1
    - Dst: CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:506,1
    - Dst: secp256k1_ecdsa_verify
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hash
    - ' pub'
    argTypes:
    - uint8_t[]
    - Pubkey
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: cryptofuzz::module::secp256k1_detail::ECDSA_Signature::Verify
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - GetPtrDirect
    - cryptofuzz::module::secp256k1_detail::ECDSA_Signature::GetPtr
    - CheckRet
    - secp256k1_ecdsa_verify
    linkageType: ''
    returnType: bool
    signature: bool Verify(const uint8_t hash[32], Pubkey& pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:517,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:517,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:520,1
    - Dst: secp256k1_detail::Pubkey::Create
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:520,1
    - Dst: secp256k1_detail::Context::GetPtrDirect
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:523,1
    - Dst: secp256k1_detail::Pubkey::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:524,1
    - Dst: cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' ds'
    - priv
    argTypes:
    - Datasource
    - std::string
    constantsTouched: []
    func_position:
      end: 531
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 531
    functionName: cryptofuzz::module::secp256k1_detail::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - secp256k1_detail::Pubkey::Create
    - CF_CHECK_EQ
    - secp256k1_detail::Context::GetPtrDirect
    - cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - CF_CHECK_TRUE
    - secp256k1_detail::Pubkey::GetPtr
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> OpECC_PrivateToPublic(Datasource&
      ds, const std::string priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - nonce32
    - msg32
    - key32
    - algo16
    - data
    - counter
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 543
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 543
    functionName: cryptofuzz::module::secp256k1_detail::nonce_function
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int nonce_function(unsigned char *nonce32, const unsigned char *msg32,
      const unsigned char *key32, const unsigned char *algo16, void *data, unsigned
      int counter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 8
    argNames:
    - nonce32
    - msg
    - msglen
    - key32
    - xonly_pk32
    - algo
    - algolen
    - data
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 570
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 570
    functionName: cryptofuzz::module::secp256k1_detail::nonce_function_schnorrsig
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int nonce_function_schnorrsig(\n            unsigned char *nonce32,\n
      \           const unsigned char *msg,\n            size_t msglen,\n            const
      unsigned char *key32,\n            const unsigned char *xonly_pk32,\n            const
      unsigned char *algo,\n            size_t algolen,\n            void *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:576,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:576,1
    - Dst: cryptofuzz::util::SetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:577,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:579,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:579,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:579,1
    - Dst: cryptofuzz::module::secp256k1_detail::OpECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:581,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:581,1
    - Dst: cryptofuzz::util::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 587
      start: 574
    functionDepth: 3
    functionLinenumber: 574
    functionLinenumberEnd: 587
    functionName: cryptofuzz::module::secp256k1::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - priv::ToTrimmedString
    - curveType::Get
    - cryptofuzz::module::secp256k1_detail::OpECC_PrivateToPublic
    - modifier::GetSize
    - cryptofuzz::util::UnsetGlobalDs
    - cryptofuzz::util::SetGlobalDs
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> secp256k1::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:591,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:591,1
    - Dst: cryptofuzz::util::SetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:592,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:599,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:599,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:599,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:601,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:601,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:602,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:604,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:604,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:605,1
    - Dst: secp256k1_detail::Pubkey::Parse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:608,1
    - Dst: cryptofuzz::util::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 614
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 614
    functionName: cryptofuzz::module::secp256k1::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - secp256k1_detail::Pubkey::Parse
    - pub::first::ToTrimmedString
    - curveType::Get
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - modifier::GetSize
    - pub::second::ToTrimmedString
    - cryptofuzz::util::UnsetGlobalDs
    - cryptofuzz::util::SetGlobalDs
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> secp256k1::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:618,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:618,1
    - Dst: cryptofuzz::util::SetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:619,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:631,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:631,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:631,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:633,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:633,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:633,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:635,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:635,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:636,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:639,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:639,1
    - Dst: cleartext::ECDSA_Pad
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:640,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:641,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:641,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:642,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:642,1
    - Dst: Botan_Tests::Sodium_API_Tests::hash_sha256
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:643,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:643,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:644,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:644,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:644,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:649,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:650,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:650,1
    - Dst: secp256k1_detail::Context::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:650,1
    - Dst: secp256k1_detail::ECDSA_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:650,1
    - Dst: secp256k1_detail::ECDSA_Signature::SetInitialized
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:651,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:652,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:653,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:653,1
    - Dst: nonce::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:654,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:656,1
    - Dst: secp256k1_ecdsa_sign
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:656,1
    - Dst: secp256k1_detail::Context::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:656,1
    - Dst: secp256k1_detail::ECDSA_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:656,1
    - Dst: secp256k1_detail::ECDSA_Signature::SetInitialized
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:657,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:659,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:662,1
    - Dst: secp256k1_ecdsa_signature_serialize_compact
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:662,1
    - Dst: secp256k1_detail::Context::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:662,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:662,1
    - Dst: secp256k1_detail::ECDSA_Signature::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:662,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:664,1
    - Dst: secp256k1_detail::Pubkey::Create
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:664,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:665,1
    - Dst: secp256k1_detail::Pubkey::Serialize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:665,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:665,1
    - Dst: cryptofuzz::module::secp256k1_detail::OpECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:670,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:670,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:671,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:673,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:673,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:673,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:674,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:674,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:674,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:676,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:677,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:677,1
    - Dst: cryptofuzz::util::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:682,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 685
      start: 616
    functionDepth: 3
    functionLinenumber: 616
    functionLinenumberEnd: 685
    functionName: cryptofuzz::module::secp256k1::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::UnsetGlobalDs
    - UseSpecifiedNonce
    - modifier::GetPtr
    - std::vector::begin
    - digestType::Get
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - modifier::GetSize
    - cryptofuzz::tests::test_ECDSA_Signature
    - CF_CHECK_NE
    - cryptofuzz::module::secp256k1_detail::OpECC_PrivateToPublic
    - memcpy
    - secp256k1_detail::ECDSA_Signature::GetPtr
    - nonce::ToTrimmedString
    - secp256k1_detail::Context::GetPtr
    - std::vector::end
    - secp256k1_ecdsa_sign
    - std::vector::data
    - cryptofuzz::module::secp256k1_detail::toString
    - CF_UNREACHABLE
    - CF_CHECK_EQ
    - auto::GetPtr
    - Botan_Tests::Sodium_API_Tests::hash_sha256
    - CF_CHECK_TRUE
    - secp256k1_detail::ECDSA_Signature::SetInitialized
    - secp256k1_detail::Pubkey::Create
    - CF_ECC_CURVE
    - cleartext::Get
    - secp256k1_detail::Pubkey::Serialize
    - priv::ToTrimmedString
    - secp256k1_ecdsa_signature_serialize_compact
    - curveType::Get
    - CF_DIGEST
    - auto::data
    - UseRFC6979Nonce
    - cleartext::ECDSA_Pad
    - auto::size
    - cryptofuzz::util::SetGlobalDs
    - boost::multiprecision::import_bits
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> secp256k1::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:689,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:689,1
    - Dst: cryptofuzz::util::SetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:690,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:699,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:699,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:699,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:701,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:701,1
    - Dst: cleartext::ECDSA_Pad
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:702,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:703,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:703,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:704,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:704,1
    - Dst: Botan_Tests::Sodium_API_Tests::hash_sha256
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:705,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:705,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:706,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:706,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:706,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:716,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:716,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:717,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:719,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:719,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:720,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:723,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:723,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:724,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:726,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:726,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:727,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:730,1
    - Dst: secp256k1_detail::Pubkey::Parse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:730,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:732,1
    - Dst: secp256k1_detail::ECDSA_Signature::ParseCompact
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:732,1
    - Dst: secp256k1_detail::ECDSA_Signature::Normalize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:733,1
    - Dst: secp256k1_detail::ECDSA_Signature::Verify
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:735,1
    - Dst: cryptofuzz::util::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 741
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 741
    functionName: cryptofuzz::module::secp256k1::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::SetGlobalDs
    - cryptofuzz::util::UnsetGlobalDs
    - secp256k1_detail::ECDSA_Signature::ParseCompact
    - modifier::GetPtr
    - digestType::Get
    - secp256k1_detail::ECDSA_Signature::Verify
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - modifier::GetSize
    - signature::signature::first::ToTrimmedString
    - memcpy
    - signature::signature::second::ToTrimmedString
    - signature::pub::first::ToTrimmedString
    - CF_CHECK_EQ
    - auto::GetPtr
    - secp256k1_detail::ECDSA_Signature::Normalize
    - CF_CHECK_TRUE
    - signature::pub::second::ToTrimmedString
    - CF_ECC_CURVE
    - cleartext::Get
    - secp256k1_detail::Pubkey::Parse
    - curveType::Get
    - CF_DIGEST
    - auto::data
    - cleartext::ECDSA_Pad
    - auto::size
    - Botan_Tests::Sodium_API_Tests::hash_sha256
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> secp256k1::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:745,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:745,1
    - Dst: cryptofuzz::util::SetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:746,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:756,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:756,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:756,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:757,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:759,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:759,1
    - Dst: cleartext::ECDSA_Pad
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:760,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:761,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:761,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:762,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:762,1
    - Dst: Botan_Tests::Sodium_API_Tests::hash_sha256
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:763,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:763,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:764,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:764,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:764,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:769,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:769,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:770,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:772,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:772,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:773,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:776,1
    - Dst: secp256k1_detail::ECDSA_Recoverable_Signature::ParseCompact
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:776,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:778,1
    - Dst: secp256k1_detail::Pubkey::Recover
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:778,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:779,1
    - Dst: secp256k1_detail::Pubkey::Serialize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:779,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:779,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:784,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:784,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:784,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:785,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:785,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:785,1
    - Dst: cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:787,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:787,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:787,1
    - Dst: cryptofuzz::util::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Recover
    constantsTouched: []
    func_position:
      end: 794
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 794
    functionName: cryptofuzz::module::secp256k1::OpECDSA_Recover
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::SetGlobalDs
    - cryptofuzz::util::UnsetGlobalDs
    - modifier::GetPtr
    - std::vector::begin
    - digestType::Get
    - signature::first::ToTrimmedString
    - cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - modifier::GetSize
    - CF_CHECK_LTE
    - memcpy
    - std::vector::end
    - secp256k1_detail::Pubkey::Recover
    - std::vector::data
    - cryptofuzz::module::secp256k1_detail::toString
    - CF_CHECK_EQ
    - auto::GetPtr
    - signature::second::ToTrimmedString
    - CF_CHECK_TRUE
    - secp256k1_detail::ECDSA_Recoverable_Signature::ParseCompact
    - CF_ECC_CURVE
    - cleartext::Get
    - secp256k1_detail::Pubkey::Serialize
    - curveType::Get
    - CF_DIGEST
    - auto::data
    - cleartext::ECDSA_Pad
    - auto::size
    - Botan_Tests::Sodium_API_Tests::hash_sha256
    - boost::multiprecision::import_bits
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> secp256k1::OpECDSA_Recover(operation::ECDSA_Recover&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:803,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:803,1
    - Dst: cryptofuzz::util::SetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:804,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:816,1
    - Dst: UseBIP340Nonce
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:816,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:816,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:818,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:818,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:818,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:820,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:820,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:821,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:824,1
    - Dst: secp256k1_keypair_create
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:824,1
    - Dst: secp256k1_detail::Context::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:824,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:826,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:826,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:828,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:828,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:829,1
    - Dst: UseBIP340Nonce
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:834,1
    - Dst: UseSpecifiedNonce
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:837,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:838,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:838,1
    - Dst: nonce::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:839,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:844,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:855,1
    - Dst: cryptofuzz::module::secp256k1_detail::CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:856,1
    - Dst: secp256k1_schnorrsig_sign_custom
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:857,1
    - Dst: secp256k1_detail::Context::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:857,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:857,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:857,1
    - Dst: Buffer::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:857,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:860,1
    - Dst: secp256k1_keypair_xonly_pub
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:860,1
    - Dst: secp256k1_detail::Context::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:860,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:861,1
    - Dst: secp256k1_xonly_pubkey_serialize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:861,1
    - Dst: secp256k1_detail::Context::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:861,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:861,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:866,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:866,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:866,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:867,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:867,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:867,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:868,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:868,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:868,1
    - Dst: cryptofuzz::tests::test_BIP340_Schnorr_Signature
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:870,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:871,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:871,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:872,1
    - Dst: cryptofuzz::util::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:876,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Schnorr_Sign
    constantsTouched: []
    func_position:
      end: 879
      start: 801
    functionDepth: 3
    functionLinenumber: 801
    functionLinenumberEnd: 879
    functionName: cryptofuzz::module::secp256k1::OpSchnorr_Sign
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - UseSpecifiedNonce
    - modifier::GetPtr
    - std::vector::begin
    - secp256k1_keypair_create
    - digestType::Get
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - modifier::GetSize
    - UseBIP340Nonce
    - secp256k1_xonly_pubkey_serialize
    - nonce::ToTrimmedString
    - secp256k1_detail::Context::GetPtr
    - std::vector::end
    - std::vector::data
    - cryptofuzz::module::secp256k1_detail::toString
    - Buffer::GetPtr
    - CF_UNREACHABLE
    - CF_CHECK_EQ
    - CF_CHECK_TRUE
    - cryptofuzz::tests::test_BIP340_Schnorr_Signature
    - cleartext::SHA256
    - CF_ECC_CURVE
    - cryptofuzz::module::secp256k1_detail::CheckRet
    - priv::ToTrimmedString
    - curveType::Get
    - CF_DIGEST
    - Buffer::GetSize
    - secp256k1_keypair_xonly_pub
    - cryptofuzz::util::UnsetGlobalDs
    - secp256k1_schnorrsig_sign_custom
    - cryptofuzz::util::SetGlobalDs
    - boost::multiprecision::import_bits
    linkageType: ''
    returnType: std::optional<component::Schnorr_Signature>
    signature: std::optional<component::Schnorr_Signature> secp256k1::OpSchnorr_Sign(operation::Schnorr_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:883,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:883,1
    - Dst: cryptofuzz::util::SetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:884,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:892,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:892,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:892,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:894,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:894,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:896,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:896,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:897,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:906,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:906,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:907,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:910,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:910,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:911,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:913,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:913,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:914,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:917,1
    - Dst: secp256k1_xonly_pubkey_parse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:917,1
    - Dst: secp256k1_detail::Context::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:917,1
    - Dst: cryptofuzz::module::secp256k1_detail::CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:919,1
    - Dst: secp256k1_schnorrsig_verify
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:920,1
    - Dst: secp256k1_detail::Context::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:920,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:920,1
    - Dst: Buffer::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:920,1
    - Dst: cryptofuzz::util::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:924,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Schnorr_Verify
    constantsTouched: []
    func_position:
      end: 927
      start: 881
    functionDepth: 2
    functionLinenumber: 881
    functionLinenumberEnd: 927
    functionName: cryptofuzz::module::secp256k1::OpSchnorr_Verify
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - digestType::Get
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - modifier::GetSize
    - signature::signature::first::ToTrimmedString
    - secp256k1_xonly_pubkey_parse
    - secp256k1_detail::Context::GetPtr
    - signature::signature::second::ToTrimmedString
    - signature::pub::first::ToTrimmedString
    - Buffer::GetPtr
    - CF_CHECK_EQ
    - secp256k1_schnorrsig_verify
    - cleartext::SHA256
    - CF_ECC_CURVE
    - cryptofuzz::module::secp256k1_detail::CheckRet
    - curveType::Get
    - CF_DIGEST
    - Buffer::GetSize
    - cryptofuzz::util::UnsetGlobalDs
    - cryptofuzz::util::SetGlobalDs
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> secp256k1::OpSchnorr_Verify(operation::Schnorr_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:934,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:934,1
    - Dst: cryptofuzz::util::SetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:935,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:943,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:943,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:943,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:945,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:947,1
    - Dst: cryptofuzz::module::secp256k1_detail::PrivkeyToBytes
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:947,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:948,1
    - Dst: cryptofuzz::module::secp256k1_detail::PubkeyToBytes
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:948,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:950,1
    - Dst: secp256k1_detail::Pubkey::Parse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:950,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:952,1
    - Dst: secp256k1_detail::Pubkey::ECDH
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:952,1
    - Dst: Botan::TLS::Extended_Master_Secret::Extended_Master_Secret
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:955,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:955,1
    - Dst: cryptofuzz::util::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDH_Derive
    constantsTouched: []
    func_position:
      end: 961
      start: 932
    functionDepth: 3
    functionLinenumber: 932
    functionLinenumberEnd: 961
    functionName: cryptofuzz::module::secp256k1::OpECDH_Derive
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Extended_Master_Secret::Extended_Master_Secret
    - CF_CHECK_TRUE
    - modifier::GetPtr
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - cryptofuzz::module::secp256k1_detail::PrivkeyToBytes
    - cryptofuzz::module::secp256k1_detail::PubkeyToBytes
    - secp256k1_detail::Pubkey::Parse
    - curveType::Get
    - secp256k1_detail::Pubkey::ECDH
    - memset
    - modifier::GetSize
    - Buffer
    - cryptofuzz::util::UnsetGlobalDs
    - cryptofuzz::util::SetGlobalDs
    linkageType: ''
    returnType: std::optional<component::Secret>
    signature: std::optional<component::Secret> secp256k1::OpECDH_Derive(operation::ECDH_Derive&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:970,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:970,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:970,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:971,1
    - Dst: cryptofuzz_secp256k1_scalar_set_b32
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:971,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:971,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - scalar
    - ' bn'
    argTypes:
    - void*
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 977
      start: 965
    functionDepth: 2
    functionLinenumber: 965
    functionLinenumberEnd: 977
    functionName: cryptofuzz::module::secp256k1_detail::ToScalar
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - CF_CHECK_NE
    - std::optional::data
    - CF_NORET
    - CF_CHECK_EQ
    - cryptofuzz_secp256k1_scalar_set_b32
    - cryptofuzz::util::DecToBin
    linkageType: ''
    returnType: bool
    signature: bool ToScalar(void* scalar, const component::Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:983,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:983,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:983,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:984,1
    - Dst: cryptofuzz_secp256k1_fe_set_b32_limit
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:984,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - fe
    - ' bn'
    argTypes:
    - void*
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 989
      start: 979
    functionDepth: 2
    functionLinenumber: 979
    functionLinenumberEnd: 989
    functionName: cryptofuzz::module::secp256k1_detail::ToFe
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - CF_CHECK_NE
    - std::optional::data
    - cryptofuzz_secp256k1_fe_set_b32_limit
    - CF_CHECK_EQ
    - cryptofuzz::util::DecToBin
    linkageType: ''
    returnType: bool
    signature: bool ToFe(void* fe, const component::Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:996,1
    - Dst: cryptofuzz_secp256k1_scalar_get_b32
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:996,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:998,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - scalar
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1001
      start: 991
    functionDepth: 3
    functionLinenumber: 991
    functionLinenumberEnd: 1001
    functionName: cryptofuzz::module::secp256k1_detail::ToComponentBignum_scalar
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - getBignum
    - cryptofuzz_secp256k1_scalar_get_b32
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ToComponentBignum_scalar(const void*
      scalar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1009,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1011,1
    - Dst: cryptofuzz_secp256k1_fe_get_b32
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1011,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1013,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' ds'
    - fe
    argTypes:
    - fuzzing::datasource::Datasource
    - void*
    constantsTouched: []
    func_position:
      end: 1016
      start: 1003
    functionDepth: 3
    functionLinenumber: 1003
    functionLinenumberEnd: 1016
    functionName: cryptofuzz::module::secp256k1_detail::ToComponentBignum_fe
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_secp256k1_fe_get_b32
    - CF_NORET
    - cryptofuzz::util::BinToDec
    - getBignum
    - Get
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ToComponentBignum_fe(fuzzing::datasource::Datasource&
      ds, void* fe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1021,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1021,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1024,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1024,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1037,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1037,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1038,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1040,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1040,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1041,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1044,1
    - Dst: cryptofuzz::module::secp256k1_detail::CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1045,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1046,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1053,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1053,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1054,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1056,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1056,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1057,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1060,1
    - Dst: cryptofuzz::module::secp256k1_detail::CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1061,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1062,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1066,1
    - Dst: cryptofuzz_secp256k1_gej_set_ge
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1066,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1067,1
    - Dst: cryptofuzz_secp256k1_gej_set_ge
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1067,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1071,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1074,1
    - Dst: cryptofuzz_secp256k1_gej_add_ge
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1074,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1076,1
    - Dst: cryptofuzz_secp256k1_gej_add_ge_var
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1076,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1080,1
    - Dst: cryptofuzz_secp256k1_ge_set_gej
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1080,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1085,1
    - Dst: cryptofuzz::module::secp256k1_detail::CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1086,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_serialize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1087,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1087,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1093,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1093,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1093,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1094,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1094,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1094,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1096,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1096,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1101,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1102,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1103,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1105,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1106,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 1110
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1110
    functionName: cryptofuzz::module::secp256k1::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz_secp256k1_gej_set_ge
    - std::vector::begin
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - modifier::GetSize
    - a::second::ToTrimmedString
    - cryptofuzz_secp256k1_gej_add_ge_var
    - curveType::Is
    - a::first::ToTrimmedString
    - b::first::ToTrimmedString
    - cryptofuzz_secp256k1_ge_set_gej
    - cryptofuzz_secp256k1_eckey_pubkey_serialize
    - std::vector::end
    - std::vector::data
    - cryptofuzz::module::secp256k1_detail::toString
    - cryptofuzz::util::free
    - CF_CHECK_EQ
    - b::second::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::module::secp256k1_detail::CheckRet
    - CF_NORET
    - Datasource::Get
    - cryptofuzz_secp256k1_gej_add_ge
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - boost::multiprecision::import_bits
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> secp256k1::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1114,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1114,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1117,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1117,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1129,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1129,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1130,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1132,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1132,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1133,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1136,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1136,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1139,1
    - Dst: cryptofuzz::module::secp256k1_detail::ToScalar
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1139,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1141,1
    - Dst: cryptofuzz_secp256k1_gej_set_ge
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1141,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1148,1
    - Dst: cryptofuzz_secp256k1_ecmult
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1148,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1154,1
    - Dst: cryptofuzz_secp256k1_ge_set_gej
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1154,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1161,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1162,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1166,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1172,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1172,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1172,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1173,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1173,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1173,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1175,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1175,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1180,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1181,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1182,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1184,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 1188
      start: 1112
    functionDepth: 3
    functionLinenumber: 1112
    functionLinenumberEnd: 1188
    functionName: cryptofuzz::module::secp256k1::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz_secp256k1_gej_set_ge
    - std::vector::begin
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - modifier::GetSize
    - a::second::ToTrimmedString
    - curveType::Is
    - a::first::ToTrimmedString
    - cryptofuzz::module::secp256k1_detail::ToScalar
    - cryptofuzz_secp256k1_ge_set_gej
    - std::vector::end
    - cryptofuzz::module::secp256k1_detail::toString
    - cryptofuzz::util::free
    - CF_CHECK_EQ
    - CF_CHECK_TRUE
    - CF_ASSERT
    - CF_ECC_CURVE
    - CF_NORET
    - cryptofuzz_secp256k1_scalar_is_zero
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - cryptofuzz_secp256k1_ecmult
    - boost::multiprecision::import_bits
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> secp256k1::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1192,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1192,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1195,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1195,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1206,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1206,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1207,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1209,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1209,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1210,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1213,1
    - Dst: cryptofuzz::module::secp256k1_detail::CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1214,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1215,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1219,1
    - Dst: cryptofuzz_secp256k1_gej_set_ge
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1219,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1221,1
    - Dst: cryptofuzz_secp256k1_gej_neg
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1221,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1223,1
    - Dst: cryptofuzz_secp256k1_ge_set_gej
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1223,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1233,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1239,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1239,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1239,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1240,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1240,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1240,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1242,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1242,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1247,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1248,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1250,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 1254
      start: 1190
    functionDepth: 2
    functionLinenumber: 1190
    functionLinenumberEnd: 1254
    functionName: cryptofuzz::module::secp256k1::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz_secp256k1_gej_set_ge
    - std::vector::begin
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - modifier::GetSize
    - a::second::ToTrimmedString
    - curveType::Is
    - a::first::ToTrimmedString
    - cryptofuzz_secp256k1_ge_set_gej
    - cryptofuzz_secp256k1_gej_neg
    - std::vector::end
    - cryptofuzz::module::secp256k1_detail::toString
    - cryptofuzz::util::free
    - CF_CHECK_EQ
    - CF_ASSERT
    - CF_ECC_CURVE
    - cryptofuzz::module::secp256k1_detail::CheckRet
    - CF_NORET
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - boost::multiprecision::import_bits
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> secp256k1::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1258,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1258,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1261,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1261,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1272,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1272,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1273,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1275,1
    - Dst: cryptofuzz::module::secp256k1_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1275,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1276,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1279,1
    - Dst: cryptofuzz::module::secp256k1_detail::CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1280,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1281,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1285,1
    - Dst: cryptofuzz_secp256k1_gej_set_ge
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1285,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1289,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1297,1
    - Dst: cryptofuzz_secp256k1_gej_double
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1297,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1299,1
    - Dst: cryptofuzz_secp256k1_gej_double_var
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1299,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1302,1
    - Dst: cryptofuzz_secp256k1_gej_double_var
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1302,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1306,1
    - Dst: cryptofuzz_secp256k1_ge_set_gej
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1306,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1311,1
    - Dst: cryptofuzz::module::secp256k1_detail::CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1312,1
    - Dst: cryptofuzz_secp256k1_eckey_pubkey_serialize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1313,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1313,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1319,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1319,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1319,1
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1320,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1320,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1320,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1322,1
    - Dst: cryptofuzz::module::secp256k1_detail::toString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1322,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1327,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1328,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1330,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1331,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 1334
      start: 1256
    functionDepth: 2
    functionLinenumber: 1256
    functionLinenumberEnd: 1334
    functionName: cryptofuzz::module::secp256k1::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz_secp256k1_gej_set_ge
    - std::vector::begin
    - cryptofuzz::module::secp256k1_detail::EncodeBignum
    - modifier::GetSize
    - a::second::ToTrimmedString
    - curveType::Is
    - a::first::ToTrimmedString
    - cryptofuzz_secp256k1_ge_set_gej
    - cryptofuzz_secp256k1_eckey_pubkey_serialize
    - std::vector::end
    - std::vector::data
    - cryptofuzz::module::secp256k1_detail::toString
    - cryptofuzz::util::free
    - cryptofuzz_secp256k1_gej_double
    - CF_CHECK_EQ
    - cryptofuzz_secp256k1_gej_double_var
    - CF_ECC_CURVE
    - cryptofuzz::module::secp256k1_detail::CheckRet
    - CF_NORET
    - Datasource::Get
    - cryptofuzz_secp256k1_eckey_pubkey_parse
    - boost::multiprecision::import_bits
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> secp256k1::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1339,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1339,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1345,1
    - Dst: cryptofuzz::module::secp256k1_detail::ToScalar
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1345,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1346,1
    - Dst: cryptofuzz::module::secp256k1_detail::ToScalar
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1346,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1348,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1349,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1350,1
    - Dst: cryptofuzz_secp256k1_scalar_set_int
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1350,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1352,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1354,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1355,1
    - Dst: cryptofuzz_secp256k1_scalar_set_int
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1355,1
    - Dst: cryptofuzz_secp256k1_scalar_is_one
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1357,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1359,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1360,1
    - Dst: cryptofuzz_secp256k1_scalar_set_int
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1360,1
    - Dst: cryptofuzz_secp256k1_scalar_is_even
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1362,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1364,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1365,1
    - Dst: cryptofuzz_secp256k1_scalar_set_int
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1365,1
    - Dst: cryptofuzz_secp256k1_scalar_eq
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1367,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1369,1
    - Dst: cryptofuzz::module::secp256k1_detail::CheckRet
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1371,1
    - Dst: cryptofuzz_secp256k1_scalar_add
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1372,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1377,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1381,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1382,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1383,1
    - Dst: cryptofuzz_secp256k1_scalar_mul
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1383,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1385,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1387,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1390,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1393,1
    - Dst: cryptofuzz_secp256k1_scalar_inverse
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1393,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1395,1
    - Dst: cryptofuzz_secp256k1_scalar_inverse_var
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1395,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1404,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1405,1
    - Dst: cryptofuzz_secp256k1_scalar_type_size
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1405,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1406,1
    - Dst: cryptofuzz_secp256k1_scalar_cmov
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1406,1
    - Dst: cryptofuzz_secp256k1_scalar_is_zero
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1409,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1412,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1415,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1415,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1415,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1416,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1417,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1420,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1423,1
    - Dst: cryptofuzz_secp256k1_scalar_set_int
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1423,1
    - Dst: cryptofuzz_secp256k1_scalar_get_bits_limb32
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1425,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1427,1
    - Dst: cryptofuzz_secp256k1_scalar_set_int
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1427,1
    - Dst: cryptofuzz_secp256k1_scalar_get_bits_var
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1429,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1433,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1436,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1436,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1436,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1437,1
    - Dst: cryptofuzz_secp256k1_scalar_set_int
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1437,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1437,1
    - Dst: cryptofuzz::module::secp256k1_detail::ToComponentBignum_scalar
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1444,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1447,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1448,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1449,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 2
    argNames:
    - ' op'
    - mod
    argTypes:
    - operation::BignumCalc
    - bool
    constantsTouched: []
    func_position:
      end: 1452
      start: 1337
    functionDepth: 4
    functionLinenumber: 1337
    functionLinenumberEnd: 1452
    functionName: cryptofuzz::module::secp256k1_detail::OpBignumCalc_Mod
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - modifier::GetPtr
    - cryptofuzz_secp256k1_scalar_get_bits_var
    - CF_CHECK_LT
    - memset
    - modifier::GetSize
    - CF_CHECK_NE
    - cryptofuzz::module::secp256k1_detail::ToScalar
    - std::optional::data
    - cryptofuzz_secp256k1_scalar_add
    - cryptofuzz::module::secp256k1_detail::ToComponentBignum_scalar
    - calcOp::Get
    - cryptofuzz::util::DecToBin
    - cryptofuzz_secp256k1_scalar_cmov
    - bn0::ToTrimmedString
    - cryptofuzz_secp256k1_scalar_mul
    - cryptofuzz::util::free
    - bn1::ToTrimmedString
    - CF_CHECK_EQ
    - cryptofuzz_secp256k1_scalar_type_size
    - cryptofuzz_secp256k1_scalar_is_one
    - CF_CHECK_TRUE
    - cryptofuzz_secp256k1_scalar_is_even
    - cryptofuzz_secp256k1_scalar_set_int
    - cryptofuzz::module::secp256k1_detail::CheckRet
    - CF_NORET
    - cryptofuzz_secp256k1_scalar_inverse_var
    - Datasource::Get
    - cryptofuzz_secp256k1_scalar_get_bits_limb32
    - cryptofuzz_secp256k1_scalar_is_zero
    - cryptofuzz_secp256k1_scalar_inverse
    - cryptofuzz_secp256k1_scalar_eq
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpBignumCalc_Mod(operation::BignumCalc&
      op, const bool mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1460,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1460,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1466,1
    - Dst: cryptofuzz::module::secp256k1_detail::ToFe
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1466,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1467,1
    - Dst: cryptofuzz::module::secp256k1_detail::ToFe
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1467,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1469,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1470,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1472,1
    - Dst: cryptofuzz_secp256k1_fe_add
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1472,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1473,1
    - Dst: cryptofuzz_secp256k1_fe_size
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1473,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1476,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1478,1
    - Dst: cryptofuzz_secp256k1_fe_mul
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1478,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1481,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1483,1
    - Dst: cryptofuzz_secp256k1_fe_sqr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1483,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1486,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1489,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1492,1
    - Dst: cryptofuzz_secp256k1_fe_inv
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1492,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1494,1
    - Dst: cryptofuzz_secp256k1_fe_inv_var
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1494,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1498,1
    - Dst: cryptofuzz_secp256k1_fe_sqrt
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1500,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1501,1
    - Dst: cryptofuzz_secp256k1_fe_sqr
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1501,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1503,1
    - Dst: cryptofuzz_secp256k1_fe_clear
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1503,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1507,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1509,1
    - Dst: cryptofuzz_secp256k1_fe_set_int
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1509,1
    - Dst: cryptofuzz_secp256k1_fe_is_odd
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1510,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1514,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1516,1
    - Dst: cryptofuzz_secp256k1_fe_set_int
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1516,1
    - Dst: cryptofuzz_secp256k1_fe_is_zero
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1517,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1521,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1525,1
    - Dst: cryptofuzz_secp256k1_fe_set_int
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1525,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1528,1
    - Dst: cryptofuzz_secp256k1_fe_cmp_var
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1530,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1532,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1532,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1537,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1539,1
    - Dst: cryptofuzz_secp256k1_fe_clear
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1539,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1541,1
    - Dst: cryptofuzz_secp256k1_fe_cmov
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1541,1
    - Dst: cryptofuzz_secp256k1_fe_is_zero
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1544,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1547,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1550,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1556,1
    - Dst: cryptofuzz_secp256k1_fe_to_storage
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1556,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1557,1
    - Dst: cryptofuzz_secp256k1_fe_from_storage
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1557,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1558,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1565,1
    - Dst: cryptofuzz_secp256k1_fe_to_signed62
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1565,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1566,1
    - Dst: cryptofuzz_secp256k1_fe_from_signed62
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1566,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1567,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1574,1
    - Dst: cryptofuzz::module::secp256k1_detail::ToComponentBignum_fe
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1583,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1586,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1587,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1588,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 100
    argCount: 2
    argNames:
    - ' op'
    - mod
    argTypes:
    - operation::BignumCalc
    - bool
    constantsTouched: []
    func_position:
      end: 1591
      start: 1454
    functionDepth: 4
    functionLinenumber: 1454
    functionLinenumberEnd: 1591
    functionName: cryptofuzz::module::secp256k1_detail::OpBignumCalc_Prime
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - modifier::GetPtr
    - std::to_string
    - cryptofuzz_secp256k1_fe_clear
    - cryptofuzz_secp256k1_fe_size
    - cryptofuzz_secp256k1_fe_from_signed62
    - modifier::GetSize
    - cryptofuzz_secp256k1_fe_cmov
    - cryptofuzz_secp256k1_fe_mul
    - cryptofuzz_secp256k1_fe_sqrt
    - cryptofuzz_secp256k1_fe_add
    - cryptofuzz_secp256k1_fe_to_signed62
    - cryptofuzz_secp256k1_fe_inv
    - memcpy
    - calcOp::Get
    - cryptofuzz_secp256k1_fe_cmp_var
    - cryptofuzz_secp256k1_fe_is_zero
    - cryptofuzz::util::free
    - cryptofuzz_secp256k1_fe_from_storage
    - cryptofuzz_secp256k1_fe_inv_var
    - CF_UNREACHABLE
    - cryptofuzz::module::secp256k1_detail::ToComponentBignum_fe
    - cryptofuzz::module::secp256k1_detail::ToFe
    - cryptofuzz_secp256k1_fe_is_odd
    - CF_CHECK_TRUE
    - cryptofuzz_secp256k1_fe_set_int
    - CF_NORET
    - Datasource::Get
    - getBignum
    - cryptofuzz_secp256k1_fe_to_storage
    - cryptofuzz_secp256k1_fe_sqr
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpBignumCalc_Prime(operation::BignumCalc&
      op, const bool mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::secp256k1_detail::OpBignumCalc_Mod
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1596,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1597,1
    - Dst: cryptofuzz::module::secp256k1_detail::OpBignumCalc_Mod
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1598,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1599,1
    - Dst: cryptofuzz::module::secp256k1_detail::OpBignumCalc_Prime
      Src: /src/cryptofuzz/modules/secp256k1/module.cpp:1600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1604
      start: 1594
    functionDepth: 5
    functionLinenumber: 1594
    functionLinenumberEnd: 1604
    functionName: cryptofuzz::module::secp256k1::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::secp256k1_detail::OpBignumCalc_Prime
    - modulo::ToTrimmedString
    - cryptofuzz::module::secp256k1_detail::OpBignumCalc_Mod
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> secp256k1::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1614
    functionDepth: 0
    functionLinenumber: 1614
    functionLinenumberEnd: 1616
    functionName: cryptofuzz::module::secp256k1::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool secp256k1::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: cryptofuzz_secp256k1_scalar_type_size
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cryptofuzz_secp256k1_scalar_type_size(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_b32
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - b32
    - overflow
    argTypes:
    - secp256k1_scalar*
    - unsigned char*
    - int*
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: cryptofuzz_secp256k1_scalar_set_b32
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_set_b32
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_scalar_set_b32(secp256k1_scalar *r, const
      unsigned char *b32, int *overflow)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_get_b32
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bin
    - a
    argTypes:
    - unsigned char*
    - void*
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: cryptofuzz_secp256k1_scalar_get_b32
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_get_b32
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_scalar_get_b32(unsigned char *bin, const
      void* a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_set_int
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - v
    argTypes:
    - secp256k1_scalar*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: cryptofuzz_secp256k1_scalar_set_int
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_set_int
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_scalar_set_int(secp256k1_scalar *r, unsigned
      int v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_zero
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: cryptofuzz_secp256k1_scalar_is_zero
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 2
    functionsReached:
    - secp256k1_scalar_is_zero
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_scalar_is_zero(const secp256k1_scalar *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_one
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: cryptofuzz_secp256k1_scalar_is_one
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_is_one
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_scalar_is_one(const secp256k1_scalar *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_is_even
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - secp256k1_scalar*
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: cryptofuzz_secp256k1_scalar_is_even
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_is_even
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_scalar_is_even(const secp256k1_scalar *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_eq
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: cryptofuzz_secp256k1_scalar_eq
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_eq
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_scalar_eq(const secp256k1_scalar *a, const
      secp256k1_scalar *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_add
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: cryptofuzz_secp256k1_scalar_add
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_add
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar
      *a, const secp256k1_scalar *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_mul
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - secp256k1_scalar*
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: cryptofuzz_secp256k1_scalar_mul
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_mul
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_scalar_mul(secp256k1_scalar *r, const secp256k1_scalar
      *a, const secp256k1_scalar *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_inverse
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: cryptofuzz_secp256k1_scalar_inverse
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_inverse
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_scalar_inverse(secp256k1_scalar *r, const
      secp256k1_scalar *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_inverse_var
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: cryptofuzz_secp256k1_scalar_inverse_var
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_inverse_var
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_scalar_inverse_var(secp256k1_scalar *r, const
      secp256k1_scalar *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_cmov
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - secp256k1_scalar*
    - secp256k1_scalar*
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: cryptofuzz_secp256k1_scalar_cmov
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_cmov
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_scalar_cmov(secp256k1_scalar *r, const secp256k1_scalar
      *a, int flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_get_bits_limb32
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - offset
    - count
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: cryptofuzz_secp256k1_scalar_get_bits_limb32
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_get_bits_limb32
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int cryptofuzz_secp256k1_scalar_get_bits_limb32(const void
      *a, unsigned int offset, unsigned int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_scalar_get_bits_var
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - offset
    - count
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: cryptofuzz_secp256k1_scalar_get_bits_var
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_scalar_get_bits_var
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int cryptofuzz_secp256k1_scalar_get_bits_var(const void *a,
      unsigned int offset, unsigned int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: cryptofuzz_secp256k1_fe_size
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cryptofuzz_secp256k1_fe_size(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_set_b32_limit
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - b32
    argTypes:
    - secp256k1_fe*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: cryptofuzz_secp256k1_fe_set_b32_limit
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_set_b32_limit
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_fe_set_b32_limit(secp256k1_fe *r, const unsigned
      char *b32)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_set_int
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - i
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: cryptofuzz_secp256k1_fe_set_int
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_set_int
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_set_int(void *r, const int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_normalize
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:96,1
    - Dst: secp256k1_fe_normalize_var
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:98,1
    - Dst: secp256k1_fe_get_b32
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bin
    - a
    - var
    argTypes:
    - unsigned char*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: cryptofuzz_secp256k1_fe_get_b32
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_normalize_var
    - secp256k1_fe_get_b32
    - secp256k1_fe_normalize
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_get_b32(unsigned char *bin, void* a, const
      int var)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_add
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: cryptofuzz_secp256k1_fe_add
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_add
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_add(void *r, const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_mul
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: cryptofuzz_secp256k1_fe_mul
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_mul
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_mul(void *r, const void* a, const void
      *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_sqr
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: cryptofuzz_secp256k1_fe_sqr
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_sqr
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_sqr(void *r, const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_inv
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: cryptofuzz_secp256k1_fe_inv
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_inv
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_inv(void *r, const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_inv_var
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: cryptofuzz_secp256k1_fe_inv_var
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_inv_var
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_inv_var(void *r, const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_sqrt
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: cryptofuzz_secp256k1_fe_sqrt
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_sqrt
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_fe_sqrt(void *r, const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_is_odd
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: cryptofuzz_secp256k1_fe_is_odd
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_is_odd
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_fe_is_odd(const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_is_zero
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: cryptofuzz_secp256k1_fe_is_zero
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_is_zero
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_fe_is_zero(const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_clear
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: cryptofuzz_secp256k1_fe_clear
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_clear
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_clear(void *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_equal
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: cryptofuzz_secp256k1_fe_equal
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 0
    functionsReached:
    - secp256k1_fe_equal
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_fe_equal(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_cmp_var
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: cryptofuzz_secp256k1_fe_cmp_var
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_cmp_var
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_fe_cmp_var(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_cmov
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - flag
    argTypes:
    - void*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: cryptofuzz_secp256k1_fe_cmov
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_cmov
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_cmov(void *r, const void *a, const int
      flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: cryptofuzz_secp256k1_fe_storage_size
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cryptofuzz_secp256k1_fe_storage_size(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_to_storage
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: cryptofuzz_secp256k1_fe_to_storage
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_to_storage
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_to_storage(void *r, const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_from_storage
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: cryptofuzz_secp256k1_fe_from_storage
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_from_storage
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_from_storage(void *r, const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: cryptofuzz_secp256k1_fe_signed62_size
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cryptofuzz_secp256k1_fe_signed62_size(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_to_signed62
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: cryptofuzz_secp256k1_fe_to_signed62
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_to_signed62
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_to_signed62(void *r, const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_fe_from_signed62
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: cryptofuzz_secp256k1_fe_from_signed62
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_fe_from_signed62
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_fe_from_signed62(void *r, const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: cryptofuzz_secp256k1_ge_size
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cryptofuzz_secp256k1_ge_size(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: cryptofuzz_secp256k1_gej_size
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cryptofuzz_secp256k1_gej_size(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_eckey_pubkey_parse
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - elem
    - pub
    - size
    argTypes:
    - secp256k1_ge*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: cryptofuzz_secp256k1_eckey_pubkey_parse
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 4
    functionsReached:
    - secp256k1_eckey_pubkey_parse
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_eckey_pubkey_parse(secp256k1_ge *elem, const
      unsigned char *pub, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_set_ge
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_gej*
    - secp256k1_ge*
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: cryptofuzz_secp256k1_gej_set_ge
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 4
    functionsReached:
    - secp256k1_gej_set_ge
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_gej_set_ge(secp256k1_gej *r, const secp256k1_ge
      *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_add_ge
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    - secp256k1_ge*
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: cryptofuzz_secp256k1_gej_add_ge
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_gej_add_ge
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_gej_add_ge(secp256k1_gej *r, const secp256k1_gej
      *a, const secp256k1_ge *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_add_ge_var
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - a
    - b
    - rzr
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    - secp256k1_ge*
    - secp256k1_fe*
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: cryptofuzz_secp256k1_gej_add_ge_var
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_gej_add_ge_var
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_gej_add_ge_var(secp256k1_gej *r, const secp256k1_gej
      *a, const secp256k1_ge *b, secp256k1_fe *rzr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_neg
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: cryptofuzz_secp256k1_gej_neg
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_gej_neg
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_gej_neg(secp256k1_gej *r, const secp256k1_gej
      *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_double
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: cryptofuzz_secp256k1_gej_double
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_gej_double
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_gej_double(void *r, const void *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_gej_double_var
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - rzr
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: cryptofuzz_secp256k1_gej_double_var
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_gej_double_var
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_gej_double_var(void *r, const void *a, void
      *rzr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ecmult
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - a
    - na
    - ng
    argTypes:
    - secp256k1_gej*
    - secp256k1_gej*
    - secp256k1_scalar*
    - secp256k1_scalar*
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: cryptofuzz_secp256k1_ecmult
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 1
    functionsReached:
    - secp256k1_ecmult
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_ecmult(secp256k1_gej *r, const secp256k1_gej
      *a, const secp256k1_scalar *na, const secp256k1_scalar *ng)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_ge_set_gej
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - secp256k1_ge*
    - secp256k1_gej*
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: cryptofuzz_secp256k1_ge_set_gej
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 4
    functionsReached:
    - secp256k1_ge_set_gej
    linkageType: ''
    returnType: void
    signature: void cryptofuzz_secp256k1_ge_set_gej(secp256k1_ge *r, secp256k1_gej
      *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secp256k1_eckey_pubkey_serialize
      Src: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - elem
    - pub
    - size
    - compressed
    argTypes:
    - secp256k1_ge*
    - unsigned char*
    - size_t*
    - int
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: cryptofuzz_secp256k1_eckey_pubkey_serialize
    functionSourceFile: /src/cryptofuzz/modules/secp256k1/secp256k1_api.c
    functionUses: 2
    functionsReached:
    - secp256k1_eckey_pubkey_serialize
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_secp256k1_eckey_pubkey_serialize(secp256k1_ge *elem,
      unsigned char *pub, size_t *size, int compressed)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: cryptofuzz::module::micro_ecc::micro_ecc
    functionSourceFile: /src/cryptofuzz/modules/micro-ecc/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void micro_ecc::micro_ecc(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:18,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:19,1
    - Dst: uECC_secp160r1
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:20,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:21,1
    - Dst: uECC_secp192r1
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:22,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:23,1
    - Dst: uECC_secp224r1
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:24,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:25,1
    - Dst: uECC_secp256r1
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:26,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:27,1
    - Dst: uECC_secp256k1
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 32
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 32
    functionName: cryptofuzz::module::micro_ecc_detail::to_uECC_Curve
    functionSourceFile: /src/cryptofuzz/modules/micro-ecc/module.cpp
    functionUses: 0
    functionsReached:
    - uECC_secp160r1
    - uECC_secp192r1
    - uECC_secp256k1
    - CF_ECC_CURVE
    - uECC_secp224r1
    - uECC_secp256r1
    - Get
    linkageType: ''
    returnType: std::optional<uECC_Curve>
    signature: std::optional<uECC_Curve> to_uECC_Curve(const component::CurveType&
      curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::multiprecision::export_bits
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:37,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:37,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:38,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:41,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:43,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:44,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:44,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - s
    - out
    - maxSize
    argTypes:
    - std::string
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: cryptofuzz::module::micro_ecc_detail::EncodeBignum
    functionSourceFile: /src/cryptofuzz/modules/micro-ecc/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::back_inserter
    - memset
    - memcpy
    - boost::multiprecision::export_bits
    - std::vector::data
    linkageType: ''
    returnType: bool
    signature: bool EncodeBignum(const std::string s, uint8_t* out, const size_t maxSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::multiprecision::import_bits
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:51,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:56,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: cryptofuzz::module::micro_ecc_detail::toString
    functionSourceFile: /src/cryptofuzz/modules/micro-ecc/module.cpp
    functionUses: 0
    functionsReached:
    - boost::multiprecision::import_bits
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string toString(const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:65,1
    - Dst: cryptofuzz::module::micro_ecc_detail::toString
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:70,1
    - Dst: cryptofuzz::module::micro_ecc_detail::toString
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: cryptofuzz::module::micro_ecc_detail::EncodePubkey
    functionSourceFile: /src/cryptofuzz/modules/micro-ecc/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    - cryptofuzz::module::micro_ecc_detail::toString
    linkageType: ''
    returnType: component::BignumPair
    signature: component::BignumPair EncodePubkey(const uint8_t* data, const size_t
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:82,1
    - Dst: cryptofuzz::module::micro_ecc_detail::to_uECC_Curve
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:82,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:84,1
    - Dst: uECC_curve_private_key_size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:84,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:85,1
    - Dst: uECC_curve_public_key_size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:85,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:87,1
    - Dst: cryptofuzz::module::micro_ecc_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:87,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:87,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:87,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:87,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:89,1
    - Dst: uECC_compute_public_key
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:89,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:89,1
    - Dst: data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:89,1
    - Dst: cryptofuzz::module::micro_ecc_detail::EncodePubkey
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:91,1
    - Dst: data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:91,1
    - Dst: size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: cryptofuzz::module::micro_ecc::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/micro-ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::micro_ecc_detail::EncodeBignum
    - CF_CHECK_NE
    - std::vector::size
    - uECC_curve_public_key_size
    - uECC_compute_public_key
    - std::vector::resize
    - CF_CHECK_EQ
    - priv::ToTrimmedString
    - data
    - size
    - resize
    - cryptofuzz::module::micro_ecc_detail::EncodePubkey
    - uECC_curve_private_key_size
    - cryptofuzz::module::micro_ecc_detail::to_uECC_Curve
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> micro_ecc::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:104,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:104,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:104,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:105,1
    - Dst: cryptofuzz::module::micro_ecc_detail::to_uECC_Curve
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:105,1
    - Dst: uECC_curve_public_key_size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:107,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:109,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:110,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:112,1
    - Dst: cryptofuzz::module::micro_ecc_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:112,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:112,1
    - Dst: data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:112,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:113,1
    - Dst: cryptofuzz::module::micro_ecc_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:113,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:113,1
    - Dst: data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:113,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:114,1
    - Dst: cryptofuzz::module::micro_ecc_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:114,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:114,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:114,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:115,1
    - Dst: cryptofuzz::module::micro_ecc_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:115,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:115,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:115,1
    - Dst: uECC_verify
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:117,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:117,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:117,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:117,1
    - Dst: data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 122
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 122
    functionName: cryptofuzz::module::micro_ecc::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/micro-ecc/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::micro_ecc_detail::EncodeBignum
    - signature::pub::first::ToTrimmedString
    - signature::pub::second::ToTrimmedString
    - CF_CHECK_NE
    - uECC_curve_public_key_size
    - cleartext::GetPtr
    - CF_CHECK_EQ
    - digestType::Get
    - std::vector::resize
    - signature::signature::first::ToTrimmedString
    - data
    - CF_DIGEST
    - resize
    - cleartext::GetSize
    - uECC_verify
    - cryptofuzz::module::micro_ecc_detail::to_uECC_Curve
    - signature::signature::second::ToTrimmedString
    - std::vector::data
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> micro_ecc::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:131,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:131,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:132,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:132,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:132,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:133,1
    - Dst: cryptofuzz::module::micro_ecc_detail::to_uECC_Curve
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:133,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:135,1
    - Dst: uECC_curve_private_key_size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:135,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:136,1
    - Dst: uECC_curve_public_key_size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:136,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:138,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:139,1
    - Dst: resize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:140,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:142,1
    - Dst: cryptofuzz::module::micro_ecc_detail::EncodeBignum
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:142,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:142,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:142,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:142,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:144,1
    - Dst: uECC_compute_public_key
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:144,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:144,1
    - Dst: data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:144,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:146,1
    - Dst: uECC_sign
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:146,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:146,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:146,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:146,1
    - Dst: data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:146,1
    - Dst: cryptofuzz::module::micro_ecc_detail::toString
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:149,1
    - Dst: data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:149,1
    - Dst: cryptofuzz::module::micro_ecc_detail::toString
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:149,1
    - Dst: data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:149,1
    - Dst: cryptofuzz::module::micro_ecc_detail::EncodePubkey
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:150,1
    - Dst: data
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:150,1
    - Dst: size
      Src: /src/cryptofuzz/modules/micro-ecc/module.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 153
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 153
    functionName: cryptofuzz::module::micro_ecc::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/micro-ecc/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - uECC_compute_public_key
    - digestType::Get
    - UseRandomNonce
    - cleartext::GetSize
    - CF_CHECK_NE
    - cryptofuzz::module::micro_ecc_detail::toString
    - data
    - std::vector::data
    - cryptofuzz::module::micro_ecc_detail::EncodeBignum
    - uECC_curve_public_key_size
    - CF_CHECK_EQ
    - std::vector::resize
    - size
    - resize
    - cleartext::GetPtr
    - priv::ToTrimmedString
    - uECC_sign
    - CF_DIGEST
    - cryptofuzz::module::micro_ecc_detail::EncodePubkey
    - uECC_curve_private_key_size
    - cryptofuzz::module::micro_ecc_detail::to_uECC_Curve
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> micro_ecc::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_set_verbosity
      Src: /src/cryptofuzz/modules/linux/module.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: cryptofuzz::module::Linux::Linux
    functionSourceFile: /src/cryptofuzz/modules/linux/module.cpp
    functionUses: 0
    functionsReached:
    - kcapi_set_verbosity
    linkageType: ''
    returnType: void
    signature: void Linux::Linux(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:21,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:22,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:23,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:24,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:25,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:26,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:27,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:28,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:31,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:32,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:33,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:34,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:35,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:36,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:37,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:38,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:39,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:40,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:41,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:42,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:43,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:44,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:45,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/linux/module.cpp:46,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/linux/module.cpp:51,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/linux/module.cpp:51,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/linux/module.cpp:51,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/linux/module.cpp:55,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/linux/module.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 56
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 56
    functionName: cryptofuzz::module::Linux_detail::toDigestString
    functionSourceFile: /src/cryptofuzz/modules/linux/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::find
    - std::map::end
    - std::map::at
    - CF_DIGEST
    - Get
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> toDigestString(const component::DigestType&
      digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - parent
    - child
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: cryptofuzz::module::Linux_detail::parenthesize
    functionSourceFile: /src/cryptofuzz/modules/linux/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string parenthesize(const std::string parent, const std::string
      child)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/linux/module.cpp:67,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/linux/module.cpp:67,1
    - Dst: cryptofuzz::module::Linux_detail::toDigestString
      Src: /src/cryptofuzz/modules/linux/module.cpp:77,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/linux/module.cpp:78,1
    - Dst: cryptofuzz::module::Linux_detail::parenthesize
      Src: /src/cryptofuzz/modules/linux/module.cpp:82,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/linux/module.cpp:85,1
    - Dst: kcapi_md_init
      Src: /src/cryptofuzz/modules/linux/module.cpp:85,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/linux/module.cpp:85,1
    - Dst: kcapi_md_digestsize
      Src: /src/cryptofuzz/modules/linux/module.cpp:86,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/linux/module.cpp:87,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/linux/module.cpp:88,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/linux/module.cpp:93,1
    - Dst: kcapi_md_update
      Src: /src/cryptofuzz/modules/linux/module.cpp:93,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/linux/module.cpp:98,1
    - Dst: kcapi_md_final
      Src: /src/cryptofuzz/modules/linux/module.cpp:98,1
    - Dst: ReturnType
      Src: /src/cryptofuzz/modules/linux/module.cpp:99,1
    - Dst: free
      Src: /src/cryptofuzz/modules/linux/module.cpp:103,1
    - Dst: kcapi_md_destroy
      Src: /src/cryptofuzz/modules/linux/module.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operation
    constantsTouched: []
    func_position:
      end: 106
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 106
    functionName: cryptofuzz::module::Linux_detail::digest_hmac
    functionSourceFile: /src/cryptofuzz/modules/linux/module.cpp
    functionUses: 0
    functionsReached:
    - kcapi_md_init
    - CF_CHECK_NE
    - kcapi_md_final
    - ReturnType
    - modifier::GetPtr
    - CF_CHECK_EQ
    - free
    - malloc
    - std::string::c_str
    - cryptofuzz::module::Linux_detail::parenthesize
    - kcapi_md_digestsize
    - modifier::GetSize
    - kcapi_md_update
    - kcapi_md_destroy
    - cryptofuzz::util::ToParts
    - cryptofuzz::module::Linux_detail::toDigestString
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> digest_hmac(Operation& op, const bool hmac
      = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Linux_detail::digest_hmac<operation::Digest, component::Digest>
      Src: /src/cryptofuzz/modules/linux/module.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: cryptofuzz::module::Linux::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/linux/module.cpp
    functionUses: 0
    functionsReached:
    - Linux_detail::digest_hmac<operation::Digest, component::Digest>
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Linux::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Linux_detail::digest_hmac<operation::HMAC, component::MAC>
      Src: /src/cryptofuzz/modules/linux/module.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: cryptofuzz::module::Linux::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/linux/module.cpp
    functionUses: 0
    functionsReached:
    - Linux_detail::digest_hmac<operation::HMAC, component::MAC>
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Linux::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Linux_detail::toDigestString
      Src: /src/cryptofuzz/modules/linux/module.cpp:126,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/linux/module.cpp:127,1
    - Dst: cryptofuzz::module::Linux_detail::parenthesize
      Src: /src/cryptofuzz/modules/linux/module.cpp:129,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/linux/module.cpp:134,1
    - Dst: kcapi_hkdf
      Src: /src/cryptofuzz/modules/linux/module.cpp:134,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/linux/module.cpp:135,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/linux/module.cpp:136,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/linux/module.cpp:137,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/linux/module.cpp:138,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/linux/module.cpp:139,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/linux/module.cpp:140,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/linux/module.cpp:141,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/linux/module.cpp:148,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/linux/module.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 154
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 154
    functionName: cryptofuzz::module::Linux::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/linux/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - password::GetPtr
    - CF_CHECK_EQ
    - salt::GetPtr
    - info::GetPtr
    - kcapi_hkdf
    - cryptofuzz::module::Linux_detail::parenthesize
    - std::string::c_str
    - salt::GetSize
    - info::GetSize
    - cryptofuzz::module::Linux_detail::toDigestString
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Linux::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/linux/module.cpp:165,1
    - Dst: cryptofuzz::module::Linux_detail::toDigestString
      Src: /src/cryptofuzz/modules/linux/module.cpp:167,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/linux/module.cpp:168,1
    - Dst: cryptofuzz::module::Linux_detail::parenthesize
      Src: /src/cryptofuzz/modules/linux/module.cpp:170,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/linux/module.cpp:175,1
    - Dst: kcapi_pbkdf
      Src: /src/cryptofuzz/modules/linux/module.cpp:175,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/linux/module.cpp:176,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/linux/module.cpp:177,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/linux/module.cpp:178,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/linux/module.cpp:179,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/linux/module.cpp:180,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/linux/module.cpp:189,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/linux/module.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 197
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 197
    functionName: cryptofuzz::module::Linux::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/linux/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - password::GetPtr
    - CF_CHECK_EQ
    - CF_CHECK_GT
    - salt::GetPtr
    - std::string::c_str
    - cryptofuzz::module::Linux_detail::parenthesize
    - salt::GetSize
    - kcapi_pbkdf
    - cryptofuzz::module::Linux_detail::toDigestString
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Linux::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/cryptofuzz/modules/ring/module.cpp:36,1
    - Dst: free_buf
      Src: /src/cryptofuzz/modules/ring/module.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - res
    argTypes:
    - RustBuffer*
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: getResultAs
    functionSourceFile: /src/cryptofuzz/modules/ring/module.cpp
    functionUses: 65
    functionsReached:
    - free_buf
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> getResultAs(RustBuffer *res)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: cryptofuzz::module::Ring::Ring
    functionSourceFile: /src/cryptofuzz/modules/ring/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ring::Ring(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/ring/module.cpp:49,1
    - Dst: digest
      Src: /src/cryptofuzz/modules/ring/module.cpp:50,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/module.cpp:50,1
    - Dst: ::getResultAs<component::Digest>
      Src: /src/cryptofuzz/modules/ring/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::Ring::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/ring/module.cpp
    functionUses: 0
    functionsReached:
    - digest
    - auto::c_str
    - ToJSON
    - ::getResultAs<component::Digest>
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Ring::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/ring/module.cpp:55,1
    - Dst: hmac
      Src: /src/cryptofuzz/modules/ring/module.cpp:56,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/module.cpp:56,1
    - Dst: ::getResultAs<component::MAC>
      Src: /src/cryptofuzz/modules/ring/module.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: cryptofuzz::module::Ring::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/ring/module.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - ::getResultAs<component::MAC>
    - ToJSON
    - hmac
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Ring::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/ring/module.cpp:61,1
    - Dst: kdf_hkdf
      Src: /src/cryptofuzz/modules/ring/module.cpp:62,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/module.cpp:62,1
    - Dst: ::getResultAs<component::Key>
      Src: /src/cryptofuzz/modules/ring/module.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: cryptofuzz::module::Ring::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/ring/module.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - ::getResultAs<component::Key>
    - kdf_hkdf
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Ring::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/ring/module.cpp:67,1
    - Dst: kdf_pbkdf2
      Src: /src/cryptofuzz/modules/ring/module.cpp:68,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/module.cpp:68,1
    - Dst: ::getResultAs<component::Key>
      Src: /src/cryptofuzz/modules/ring/module.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: cryptofuzz::module::Ring::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/ring/module.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - kdf_pbkdf2
    - ::getResultAs<component::Key>
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Ring::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/ring/module.cpp:73,1
    - Dst: symmetric_encrypt
      Src: /src/cryptofuzz/modules/ring/module.cpp:74,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/module.cpp:74,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/ring/module.cpp:80,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/ring/module.cpp:81,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/ring/module.cpp:82,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/ring/module.cpp:83,1
    - Dst: tagSize::value_or
      Src: /src/cryptofuzz/modules/ring/module.cpp:83,1
    - Dst: free_bufs
      Src: /src/cryptofuzz/modules/ring/module.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 87
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 87
    functionName: cryptofuzz::module::Ring::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/ring/module.cpp
    functionUses: 0
    functionsReached:
    - free_bufs
    - assert
    - tagSize::value_or
    - symmetric_encrypt
    - auto::c_str
    - Buffer
    - ToJSON
    - cryptofuzz::component::Ciphertext::Ciphertext
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Ring::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/ring/module.cpp:90,1
    - Dst: symmetric_decrypt
      Src: /src/cryptofuzz/modules/ring/module.cpp:91,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/module.cpp:91,1
    - Dst: ::getResultAs<component::Cleartext>
      Src: /src/cryptofuzz/modules/ring/module.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: cryptofuzz::module::Ring::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/ring/module.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - ::getResultAs<component::Cleartext>
    - symmetric_decrypt
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Ring::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/ring/module.cpp:96,1
    - Dst: ecdsa_verify
      Src: /src/cryptofuzz/modules/ring/module.cpp:97,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/module.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: cryptofuzz::module::Ring::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/ring/module.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - ToJSON
    - ecdsa_verify
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Ring::OpECDSA_Verify(operation::ECDSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/ring/module.cpp:105,1
    - Dst: ecdsa_sign
      Src: /src/cryptofuzz/modules/ring/module.cpp:106,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/module.cpp:106,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/ring/module.cpp:114,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/ring/module.cpp:115,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/ring/module.cpp:117,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/ring/module.cpp:118,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/ring/module.cpp:118,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/ring/module.cpp:119,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/ring/module.cpp:119,1
    - Dst: free_bufs
      Src: /src/cryptofuzz/modules/ring/module.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 123
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 123
    functionName: cryptofuzz::module::Ring::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/ring/module.cpp
    functionUses: 0
    functionsReached:
    - free_bufs
    - assert
    - cryptofuzz::util::BinToDec
    - ecdsa_sign
    - auto::c_str
    - cryptofuzz::tests::test_ECDSA_Signature
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> Ring::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:11,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:13,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:15,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:16,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:18,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:19,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:19,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:20,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:20,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:20,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:22,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:24,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:25,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:26,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:27,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:29,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:30,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:30,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:31,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:31,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:31,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:33,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:35,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:36,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:37,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:38,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:40,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:41,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:41,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:42,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:42,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:42,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:44,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/ring/generate_ids.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/ring/generate_ids.cpp
    functionUses: 97
    functionsReached:
    - std::regex_replace
    - std::regex
    - std::to_string
    - std::string
    - fprintf
    - auto::c_str
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:22,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:27,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:31,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:38,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 45
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 45
    functionName: cryptofuzz::module::Botan_bignum::detail::To_size_t
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_UNREACHABLE
    - ConstRef
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> To_size_t(const Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:59,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: cryptofuzz::module::Botan_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:69,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: cryptofuzz::module::Botan_bignum::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:79,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: cryptofuzz::module::Botan_bignum::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:93,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:93,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:94,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:94,1
    - Dst: GET_UINT8_FOR_SWITCH
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:97,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:100,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:100,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:104,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:104,1
    - Dst: Botan::vartime_divide
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:106,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:106,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:106,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:106,1
    - Dst: Bignum::Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:106,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:111,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:111,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:112,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:112,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:114,1
    - Dst: Botan::ct_divide_word
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:114,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:114,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:114,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:114,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:118,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:118,1
    - Dst: Botan::ct_divide
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:119,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:119,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:119,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:123,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:124,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:124,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 141
      start: 86
    functionDepth: 4
    functionLinenumber: 86
    functionLinenumberEnd: 141
    functionName: cryptofuzz::module::Botan_bignum::Div::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Bignum::Ref
    - CF_NORET
    - Botan::ct_divide_word
    - CF_CHECK_GT
    - Ref
    - Botan::vartime_divide
    - Botan::ct_divide
    - GET_UINT8_FOR_SWITCH
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: bool
    signature: bool Div::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_UINT8_FOR_SWITCH
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:148,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:152,1
    - Dst: Botan::Modular_Reducer::reduce
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:153,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:153,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:156,1
    - Dst: ct_modulo
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:166,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:166,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:166,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:170,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:170,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:175,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:177,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:180,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:184,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 201
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 201
    functionName: cryptofuzz::module::Botan_bignum::Mod::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GET_UINT8_FOR_SWITCH
    - ct_modulo
    - Ref
    - Botan::Modular_Reducer::reduce
    linkageType: ''
    returnType: bool
    signature: bool Mod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::power_mod
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:210,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:210,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:210,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: cryptofuzz::module::Botan_bignum::Exp::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - Botan::power_mod
    - ConstRef
    linkageType: ''
    returnType: bool
    signature: bool Exp::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:220,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:220,1
    - Dst: Botan::power_mod
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:224,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:224,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:224,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 227
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 227
    functionName: cryptofuzz::module::Botan_bignum::ExpMod::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - Botan::power_mod
    linkageType: ''
    returnType: bool
    signature: bool ExpMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::square
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:232,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: cryptofuzz::module::Botan_bignum::Sqr::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - Botan::square
    linkageType: ''
    returnType: bool
    signature: bool Sqr::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::gcd
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:243,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:243,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: cryptofuzz::module::Botan_bignum::GCD::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::gcd
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool GCD::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:252,1
    - Dst: GET_UINT8_FOR_SWITCH
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:256,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:260,1
    - Dst: ::Botan::Modular_Reducer::square
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:261,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:261,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:264,1
    - Dst: Botan::square
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:274,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:274,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:274,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:283,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 293
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 293
    functionName: cryptofuzz::module::Botan_bignum::SqrMod::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - ::Botan::Modular_Reducer::square
    - GET_UINT8_FOR_SWITCH
    - Ref
    - Botan::square
    linkageType: ''
    returnType: bool
    signature: bool SqrMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:299,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:299,1
    - Dst: Botan::inverse_mod
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:302,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:302,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 319
      start: 295
    functionDepth: 6
    functionLinenumber: 295
    functionLinenumberEnd: 319
    functionName: cryptofuzz::module::Botan_bignum::InvMod::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::inverse_mod
    - Ref
    - ConstRef
    linkageType: ''
    returnType: bool
    signature: bool InvMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:325,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:325,1
    - Dst: Bignum
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:326,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:327,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 334
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 334
    functionName: cryptofuzz::module::Botan_bignum::Cmp::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Bignum
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool Cmp::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::lcm
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:341,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:341,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:341,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:344,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 354
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 354
    functionName: cryptofuzz::module::Botan_bignum::LCM::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - Botan::lcm
    linkageType: ''
    returnType: bool
    signature: bool LCM::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::abs
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:360,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 363
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 363
    functionName: cryptofuzz::module::Botan_bignum::Abs::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::abs
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool Abs::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::jacobi
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:373,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:373,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:373,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:376,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:376,1
    - Dst: Bignum
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 391
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 391
    functionName: cryptofuzz::module::Botan_bignum::Jacobi::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Bignum
    - Botan::jacobi
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool Jacobi::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 400
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 400
    functionName: cryptofuzz::module::Botan_bignum::Neg::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool Neg::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:406,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:411,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:415,1
    - Dst: Botan::is_bailie_psw_probable_prime
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:416,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 423
      start: 402
    functionDepth: 6
    functionLinenumber: 402
    functionLinenumberEnd: 423
    functionName: cryptofuzz::module::Botan_bignum::IsPrime::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::is_bailie_psw_probable_prime
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool IsPrime::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Botan_bignum::detail::To_size_t
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:428,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:428,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:435,1
    - Dst: Bignum::Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:436,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:436,1
    - Dst: Bignum::Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 444
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 444
    functionName: cryptofuzz::module::Botan_bignum::RShift::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Botan_bignum::detail::To_size_t
    - Bignum::Ref
    - Ref
    - ConstRef
    linkageType: ''
    returnType: bool
    signature: bool RShift::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 454
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 454
    functionName: cryptofuzz::module::Botan_bignum::LShift1::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool LShift1::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 463
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 463
    functionName: cryptofuzz::module::Botan_bignum::IsNeg::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool IsNeg::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:468,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:468,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:469,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:469,1
    - Dst: auto::Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:471,1
    - Dst: auto::Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 474
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 474
    functionName: cryptofuzz::module::Botan_bignum::IsEq::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - auto::Ref
    - ConstRef
    linkageType: ''
    returnType: bool
    signature: bool IsEq::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:480,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 483
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 483
    functionName: cryptofuzz::module::Botan_bignum::IsGt::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool IsGt::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:489,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 492
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 492
    functionName: cryptofuzz::module::Botan_bignum::IsGte::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool IsGte::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:498,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 501
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 501
    functionName: cryptofuzz::module::Botan_bignum::IsLt::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool IsLt::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:507,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 510
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 510
    functionName: cryptofuzz::module::Botan_bignum::IsLte::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool IsLte::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 519
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 519
    functionName: cryptofuzz::module::Botan_bignum::IsEven::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool IsEven::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: cryptofuzz::module::Botan_bignum::IsOdd::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool IsOdd::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:533,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:533,1
    - Dst: auto::Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 538
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 538
    functionName: cryptofuzz::module::Botan_bignum::IsZero::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - auto::Ref
    - ConstRef
    linkageType: ''
    returnType: bool
    signature: bool IsZero::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 547
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 547
    functionName: cryptofuzz::module::Botan_bignum::IsNotZero::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool IsNotZero::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:552,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:552,1
    - Dst: auto::Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 557
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 557
    functionName: cryptofuzz::module::Botan_bignum::IsOne::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - auto::Ref
    - ConstRef
    linkageType: ''
    returnType: bool
    signature: bool IsOne::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_UINT8_FOR_SWITCH
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:564,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:568,1
    - Dst: ::Botan::Modular_Reducer::multiply
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:569,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:569,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:569,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:572,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:582,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:582,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:582,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:591,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 600
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 600
    functionName: cryptofuzz::module::Botan_bignum::MulMod::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GET_UINT8_FOR_SWITCH
    - Ref
    - ::Botan::Modular_Reducer::multiply
    linkageType: ''
    returnType: bool
    signature: bool MulMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Botan_bignum::detail::To_size_t
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:606,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:606,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 615
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 615
    functionName: cryptofuzz::module::Botan_bignum::Bit::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Botan_bignum::detail::To_size_t
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool Bit::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:619,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:619,1
    - Dst: std::make_unique<Cmp>
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:620,1
    - Dst: auto::Run
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 623
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 623
    functionName: cryptofuzz::module::Botan_bignum::CmpAbs::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - auto::Run
    - Ref
    - std::make_unique<Cmp>
    linkageType: ''
    returnType: bool
    signature: bool CmpAbs::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:629,1
    - Dst: cryptofuzz::module::Botan_bignum::detail::To_size_t
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:631,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:631,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 640
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 640
    functionName: cryptofuzz::module::Botan_bignum::SetBit::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Botan_bignum::detail::To_size_t
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool SetBit::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:646,1
    - Dst: cryptofuzz::module::Botan_bignum::detail::To_size_t
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:648,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:648,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 657
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 657
    functionName: cryptofuzz::module::Botan_bignum::ClearBit::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Botan_bignum::detail::To_size_t
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool ClearBit::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:663,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:663,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 666
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 666
    functionName: cryptofuzz::module::Botan_bignum::MulAdd::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool MulAdd::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:672,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:676,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:676,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 679
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 679
    functionName: cryptofuzz::module::Botan_bignum::MulDiv::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool MulDiv::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:685,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:689,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:689,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:690,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 694
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 694
    functionName: cryptofuzz::module::Botan_bignum::MulDivCeil::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool MulDivCeil::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:700,1
    - Dst: Bignum
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 709
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 709
    functionName: cryptofuzz::module::Botan_bignum::Exp2::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Bignum
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool Exp2::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::low_zero_bits
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:715,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 718
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 718
    functionName: cryptofuzz::module::Botan_bignum::NumLSZeroBits::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    - Botan::low_zero_bits
    linkageType: ''
    returnType: bool
    signature: bool NumLSZeroBits::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_perfect_square
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:724,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:724,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:732,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 743
      start: 720
    functionDepth: 4
    functionLinenumber: 720
    functionLinenumberEnd: 743
    functionName: cryptofuzz::module::Botan_bignum::Sqrt::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::is_perfect_square
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool Sqrt::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_UINT8_FOR_SWITCH
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:750,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:752,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:752,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:752,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:756,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:756,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:759,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:759,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:765,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:765,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:765,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:768,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:768,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:768,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:784,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 793
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 793
    functionName: cryptofuzz::module::Botan_bignum::AddMod::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GET_UINT8_FOR_SWITCH
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool AddMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_UINT8_FOR_SWITCH
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:800,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:802,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:802,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:802,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:806,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:806,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:809,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:809,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:815,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:815,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:815,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:818,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:818,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:818,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:834,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 843
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 843
    functionName: cryptofuzz::module::Botan_bignum::SubMod::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GET_UINT8_FOR_SWITCH
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool SubMod::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:849,1
    - Dst: ConstRef
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:849,1
    - Dst: bits
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:849,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 855
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 855
    functionName: cryptofuzz::module::Botan_bignum::NumBits::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - bits
    - Ref
    - ConstRef
    linkageType: ''
    returnType: bool
    signature: bool NumBits::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 866
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 866
    functionName: cryptofuzz::module::Botan_bignum::Set::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool Set::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:872,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:872,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 875
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 875
    functionName: cryptofuzz::module::Botan_bignum::CondSet::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool CondSet::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::sqrt_modulo_prime
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:883,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:883,1
    - Dst: auto::Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:883,1
    - Dst: Botan::square
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:895,1
    - Dst: auto::Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:895,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 904
      start: 877
    functionDepth: 2
    functionLinenumber: 877
    functionLinenumberEnd: 904
    functionName: cryptofuzz::module::Botan_bignum::Ressol::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::sqrt_modulo_prime
    - Ref
    - auto::Ref
    - Botan::square
    linkageType: ''
    returnType: bool
    signature: bool Ressol::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:920,1
    - Dst: Bignum::Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:923,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:923,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 928
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 928
    functionName: cryptofuzz::module::Botan_bignum::Not::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::BigInt
    - Bignum::Ref
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool Not::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::random_prime
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:936,1
    - Dst: rand
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 939
      start: 930
    functionDepth: 3
    functionLinenumber: 930
    functionLinenumberEnd: 939
    functionName: cryptofuzz::module::Botan_bignum::Prime::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::random_prime
    - rand
    linkageType: ''
    returnType: bool
    signature: bool Prime::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::BigInt::random_integer
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:947,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:947,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 953
      start: 941
    functionDepth: 2
    functionLinenumber: 941
    functionLinenumberEnd: 953
    functionName: cryptofuzz::module::Botan_bignum::RandRange::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::BigInt::random_integer
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool RandRange::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::is_perfect_square
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:963,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:963,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/botan/bn_ops.cpp:966,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' modulo'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - std::optional<Bignum>
    constantsTouched: []
    func_position:
      end: 975
      start: 955
    functionDepth: 4
    functionLinenumber: 955
    functionLinenumberEnd: 975
    functionName: cryptofuzz::module::Botan_bignum::IsSquare::Run
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Botan::is_perfect_square
    - Ref
    linkageType: ''
    returnType: bool
    signature: bool IsSquare::Run(Datasource& ds, Bignum& res, std::vector<Bignum>&
      bn, const std::optional<Bignum>& modulo) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:19,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:21,1
    - Dst: binary_encode
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:21,1
    - Dst: bytes
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:21,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:22,1
    - Dst: binary_decode
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:22,1
    - Dst: bytes
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:22,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:23,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:27,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:28,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 32
    functionName: cryptofuzz::module::Botan_bignum::Bignum::modify
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_NORET
    - Botan::BigInt::BigInt
    - binary_decode
    - bytes
    - binary_encode
    - Get
    linkageType: ''
    returnType: void
    signature: void Bignum::modify(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: cryptofuzz::module::Botan_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ds
    - ' other'
    argTypes:
    - Datasource*
    - ::Botan::BigInt
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: cryptofuzz::module::Botan_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(Datasource* ds, const ::Botan::BigInt& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ::Botan::BigInt
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: cryptofuzz::module::Botan_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(const ::Botan::BigInt& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: cryptofuzz::module::Botan_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(const int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - w
    argTypes:
    - ::Botan::word
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: cryptofuzz::module::Botan_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(const ::Botan::word w)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ds
    - s
    argTypes:
    - Datasource*
    - std::string
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: cryptofuzz::module::Botan_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(Datasource* ds, const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: cryptofuzz::module::Botan_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modify
      Src: /src/cryptofuzz/modules/botan/bn_helper.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: '& Bignum::Ref(void)'
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - modify
    linkageType: ''
    returnType: ::Botan::BigInt
    signature: ::Botan::BigInt & Bignum::Ref(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: '& Bignum::ConstRef(void) const'
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_helper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::Botan::BigInt
    signature: ::Botan::BigInt & Bignum::ConstRef(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/cryptofuzz/modules/botan/module.cpp:28,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/botan/module.cpp:29,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:37,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:38,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:39,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:40,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:41,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:42,1
    - Dst: Botan::OID::register_oid
      Src: /src/cryptofuzz/modules/botan/module.cpp:45,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:51,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:52,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:53,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:54,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:55,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:56,1
    - Dst: Botan::OID::register_oid
      Src: /src/cryptofuzz/modules/botan/module.cpp:59,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:65,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:66,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:67,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:68,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:69,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:70,1
    - Dst: Botan::OID::register_oid
      Src: /src/cryptofuzz/modules/botan/module.cpp:73,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:79,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:80,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:81,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:82,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:83,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:84,1
    - Dst: Botan::OID::register_oid
      Src: /src/cryptofuzz/modules/botan/module.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 89
    functionName: cryptofuzz::module::Botan::Botan
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::OID::register_oid
    - Botan::BigInt::BigInt
    - abort
    - setenv
    linkageType: ''
    returnType: void
    signature: void Botan::Botan(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: cryptofuzz::module::Botan_detail::Fuzzer_RNG::Fuzzer_RNG
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fuzzer_RNG(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: cryptofuzz::module::Botan_detail::Fuzzer_RNG::is_seeded
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_seeded() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: cryptofuzz::module::Botan_detail::Fuzzer_RNG::accepts_input
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accepts_input() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: cryptofuzz::module::Botan_detail::Fuzzer_RNG::clear
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::span<uint8_t>::empty
      Src: /src/cryptofuzz/modules/botan/module.cpp:127,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/botan/module.cpp:131,1
    - Dst: std::span<uint8_t>::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:131,1
    - Dst: std::span<uint8_t>::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:131,1
    - Dst: copy
      Src: /src/cryptofuzz/modules/botan/module.cpp:133,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/botan/module.cpp:133,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/botan/module.cpp:133,1
    - Dst: std::span<uint8_t>::begin
      Src: /src/cryptofuzz/modules/botan/module.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - std::span<uint8_t>
    - std::span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: cryptofuzz::module::Botan_detail::Fuzzer_RNG::fill_bytes_with_input
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - copy
    - std::span<uint8_t>::size
    - std::span<uint8_t>::empty
    - std::span<uint8_t>::begin
    - auto::begin
    - auto::end
    - GetData
    linkageType: ''
    returnType: void
    signature: "void fill_bytes_with_input(\n                    std::span<uint8_t>
      output,\n                    std::span<const uint8_t> input) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: cryptofuzz::module::Botan_detail::Fuzzer_RNG::name
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string name() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - parent
    - child
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: cryptofuzz::module::Botan_detail::parenthesize
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string parenthesize(const std::string parent, const std::string
      child)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:151,1
    - Dst: find
      Src: /src/cryptofuzz/modules/botan/module.cpp:151,1
    - Dst: end
      Src: /src/cryptofuzz/modules/botan/module.cpp:151,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:154,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:155,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:159,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:161,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:163,1
    - Dst: at
      Src: /src/cryptofuzz/modules/botan/module.cpp:166,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - digestType
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 170
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 170
    functionName: cryptofuzz::module::Botan_detail::DigestIDToString
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - at
    - end
    - CF_DIGEST
    - find
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> DigestIDToString(const uint64_t digestType,
      const bool altShake = false, const bool isHmac = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:175,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:175,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:186,1
    - Dst: cryptofuzz::module::Botan_detail::DigestIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:186,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:186,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:187,1
    - Dst: Botan::HashFunction::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:187,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/botan/module.cpp:189,1
    - Dst: std::unique_ptr::update
      Src: /src/cryptofuzz/modules/botan/module.cpp:195,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:201,1
    - Dst: std::unique_ptr::clear
      Src: /src/cryptofuzz/modules/botan/module.cpp:207,1
    - Dst: std::unique_ptr::final
      Src: /src/cryptofuzz/modules/botan/module.cpp:215,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/botan/module.cpp:216,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:216,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 223
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 223
    functionName: cryptofuzz::module::Botan::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - auto::size
    - modifier::GetPtr
    - Botan::PKCS11::LowLevel::C_Digest
    - digestType::Get
    - Datasource::Get
    - Botan::HashFunction::create
    - auto::data
    - modifier::GetSize
    - std::unique_ptr::final
    - cryptofuzz::util::ToParts
    - std::unique_ptr::update
    - std::unique_ptr::clear
    - cryptofuzz::module::Botan_detail::DigestIDToString
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Botan::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:226,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:226,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:237,1
    - Dst: cryptofuzz::module::Botan_detail::DigestIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:237,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:237,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/botan/module.cpp:241,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:241,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/botan/module.cpp:242,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:242,1
    - Dst: cryptofuzz::module::Botan_detail::parenthesize
      Src: /src/cryptofuzz/modules/botan/module.cpp:245,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:248,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:248,1
    - Dst: std::unique_ptr::set_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:251,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:251,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:251,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/botan/module.cpp:256,1
    - Dst: std::unique_ptr::update
      Src: /src/cryptofuzz/modules/botan/module.cpp:261,1
    - Dst: std::unique_ptr::final
      Src: /src/cryptofuzz/modules/botan/module.cpp:266,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/botan/module.cpp:267,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:267,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 276
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 276
    functionName: cryptofuzz::module::Botan::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - auto::size
    - cipher::key::GetSize
    - modifier::GetPtr
    - cryptofuzz::module::Botan_detail::parenthesize
    - digestType::Get
    - digestType::Is
    - CF_DIGEST
    - Botan::MessageAuthenticationCode::create
    - modifier::GetSize
    - cipher::key::GetPtr
    - std::unique_ptr::final
    - auto::data
    - cryptofuzz::util::ToParts
    - Botan_CLI::HMAC::HMAC
    - std::unique_ptr::set_key
    - std::unique_ptr::update
    - cryptofuzz::module::Botan_detail::DigestIDToString
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Botan::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:284,1
    - Dst: find
      Src: /src/cryptofuzz/modules/botan/module.cpp:284,1
    - Dst: end
      Src: /src/cryptofuzz/modules/botan/module.cpp:284,1
    - Dst: at
      Src: /src/cryptofuzz/modules/botan/module.cpp:285,1
    - Dst: at
      Src: /src/cryptofuzz/modules/botan/module.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - digestType
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 288
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 288
    functionName: cryptofuzz::module::Botan_detail::CipherIDToString
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - at
    - end
    - CF_CHECK_NE
    - find
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> CipherIDToString(const uint64_t digestType,
      const bool withMode = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: cryptofuzz::module::Botan_detail::GetInPtr
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetPtr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * GetInPtr(const operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: cryptofuzz::module::Botan_detail::GetInPtr
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetPtr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * GetInPtr(const operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: cryptofuzz::module::Botan_detail::GetInSize
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetSize
    linkageType: ''
    returnType: size_t
    signature: size_t GetInSize(const operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: cryptofuzz::module::Botan_detail::GetInSize
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetSize
    linkageType: ''
    returnType: size_t
    signature: size_t GetInSize(const operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: cryptofuzz::module::Botan_detail::GetCryptType
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::Botan::Cipher_Dir
    signature: ::Botan::Cipher_Dir GetCryptType<operation::SymmetricEncrypt>(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: cryptofuzz::module::Botan_detail::GetCryptType
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::Botan::Cipher_Dir
    signature: ::Botan::Cipher_Dir GetCryptType<operation::SymmetricDecrypt>(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: cryptofuzz::module::Botan_detail::GetTagSize
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> GetTagSize<>(const operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 348
    functionName: cryptofuzz::module::Botan_detail::GetTagSize
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - tag::GetSize
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> GetTagSize<>(const operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 358
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 358
    functionName: cryptofuzz::module::Botan_detail::GetTagPtr
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * GetTagPtr<>(const operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 367
    functionName: cryptofuzz::module::Botan_detail::GetTagPtr
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - tag::GetPtr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * GetTagPtr<>(const operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<::Botan::AEAD_Mode>::set_associated_data
      Src: /src/cryptofuzz/modules/botan/module.cpp:375,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - crypt
    - ' aad'
    argTypes:
    - std::shared_ptr<::Botan::AEAD_Mode>
    - std::optional<component::AAD>
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: cryptofuzz::module::Botan_detail::SetAAD
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - std::shared_ptr<::Botan::AEAD_Mode>::set_associated_data
    linkageType: ''
    returnType: void
    signature: void SetAAD<>(std::shared_ptr<::Botan::AEAD_Mode> crypt, const std::optional<component::AAD>&
      aad)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - crypt
    - ' aad'
    argTypes:
    - std::shared_ptr<::Botan::Cipher_Mode>
    - std::optional<component::AAD>
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: cryptofuzz::module::Botan_detail::SetAAD
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetAAD<>(std::shared_ptr<::Botan::Cipher_Mode> crypt, const std::optional<component::AAD>&
      aad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Botan_detail::GetInPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:387,1
    - Dst: cryptofuzz::module::Botan_detail::GetInSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:388,1
    - Dst: cryptofuzz::module::Botan_detail::GetCryptType
      Src: /src/cryptofuzz/modules/botan/module.cpp:390,1
    - Dst: cryptofuzz::module::Botan_detail::GetTagSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:394,1
    - Dst: ::Botan::secure_vector<uint8_t>::resize
      Src: /src/cryptofuzz/modules/botan/module.cpp:402,1
    - Dst: ::Botan::secure_vector<uint8_t>::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:402,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/botan/module.cpp:404,1
    - Dst: ::Botan::secure_vector<uint8_t>::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:404,1
    - Dst: cryptofuzz::module::Botan_detail::GetInSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:404,1
    - Dst: cryptofuzz::module::Botan_detail::GetTagPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - OperationType
    constantsTouched: []
    func_position:
      end: 407
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 407
    functionName: cryptofuzz::module::Botan_detail::GetInData
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - ::Botan::secure_vector<uint8_t>::resize
    - cryptofuzz::module::Botan_detail::GetInPtr
    - cryptofuzz::module::Botan_detail::GetCryptType
    - ::Botan::secure_vector<uint8_t>::size
    - cryptofuzz::module::Botan_detail::GetInSize
    - memcpy
    - cryptofuzz::module::Botan_detail::GetTagPtr
    - ::Botan::secure_vector<uint8_t>::data
    - cryptofuzz::module::Botan_detail::GetTagSize
    linkageType: ''
    returnType: ::Botan::secure_vector<uint8_t>
    signature: ::Botan::secure_vector<uint8_t> GetInData(const OperationType& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/botan/module.cpp:415,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/botan/module.cpp:415,1
    - Dst: data
      Src: /src/cryptofuzz/modules/botan/module.cpp:415,1
    - Dst: size
      Src: /src/cryptofuzz/modules/botan/module.cpp:415,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/botan/module.cpp:420,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/botan/module.cpp:420,1
    - Dst: data
      Src: /src/cryptofuzz/modules/botan/module.cpp:420,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/botan/module.cpp:420,1
    - Dst: data
      Src: /src/cryptofuzz/modules/botan/module.cpp:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' data'
    - tagSize
    argTypes:
    - ::Botan::secure_vector<uint8_t>
    - std::optional<size_t>
    constantsTouched: []
    func_position:
      end: 421
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 421
    functionName: cryptofuzz::module::Botan_detail::ToReturnType
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - Buffer
    - size
    - cryptofuzz::component::Ciphertext::Ciphertext
    linkageType: ''
    returnType: component::Ciphertext
    signature: component::Ciphertext ToReturnType(const ::Botan::secure_vector<uint8_t>&
      data, std::optional<size_t> tagSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/botan/module.cpp:427,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/botan/module.cpp:427,1
    - Dst: data
      Src: /src/cryptofuzz/modules/botan/module.cpp:427,1
    - Dst: size
      Src: /src/cryptofuzz/modules/botan/module.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' data'
    - tagSize
    argTypes:
    - ::Botan::secure_vector<uint8_t>
    - std::optional<size_t>
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: cryptofuzz::module::Botan_detail::ToReturnType
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - component::Cleartext
    - size
    - Buffer
    linkageType: ''
    returnType: component::Cleartext
    signature: component::Cleartext ToReturnType(const ::Botan::secure_vector<uint8_t>&
      data, std::optional<size_t> tagSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/cryptofuzz/modules/botan/module.cpp:434,1
    - Dst: typeid
      Src: /src/cryptofuzz/modules/botan/module.cpp:434,1
    - Dst: cryptofuzz::module::Botan_detail::GetTagSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:438,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:444,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:444,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:445,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:445,1
    - Dst: cryptofuzz::module::Botan_detail::GetInData
      Src: /src/cryptofuzz/modules/botan/module.cpp:446,1
    - Dst: cryptofuzz::module::Botan_detail::GetTagSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:451,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:457,1
    - Dst: cryptofuzz::module::Botan_detail::CipherIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:457,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:457,1
    - Dst: cryptofuzz::module::Botan_detail::parenthesize
      Src: /src/cryptofuzz/modules/botan/module.cpp:460,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:460,1
    - Dst: cryptofuzz::module::Botan_detail::parenthesize
      Src: /src/cryptofuzz/modules/botan/module.cpp:462,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:462,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:465,1
    - Dst: Botan_CLI::tls_proxy_session::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:465,1
    - Dst: cryptofuzz::module::Botan_detail::GetCryptType
      Src: /src/cryptofuzz/modules/botan/module.cpp:465,1
    - Dst: std::shared_ptr::set_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:466,1
    - Dst: cryptofuzz::module::Botan_detail::SetAAD
      Src: /src/cryptofuzz/modules/botan/module.cpp:468,1
    - Dst: std::shared_ptr::start
      Src: /src/cryptofuzz/modules/botan/module.cpp:470,1
    - Dst: ::Botan::InitializationVector::bits_of
      Src: /src/cryptofuzz/modules/botan/module.cpp:470,1
    - Dst: std::shared_ptr::update_granularity
      Src: /src/cryptofuzz/modules/botan/module.cpp:471,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:473,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/botan/module.cpp:477,1
    - Dst: cryptofuzz::module::Botan_detail::GetInPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:477,1
    - Dst: cryptofuzz::module::Botan_detail::GetInSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:477,1
    - Dst: std::shared_ptr::finish
      Src: /src/cryptofuzz/modules/botan/module.cpp:484,1
    - Dst: std::shared_ptr::process
      Src: /src/cryptofuzz/modules/botan/module.cpp:488,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:488,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:488,1
    - Dst: ::Botan::secure_vector<uint8_t>::insert
      Src: /src/cryptofuzz/modules/botan/module.cpp:489,1
    - Dst: ::Botan::secure_vector<uint8_t>::end
      Src: /src/cryptofuzz/modules/botan/module.cpp:489,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/botan/module.cpp:489,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/botan/module.cpp:489,1
    - Dst: std::shared_ptr::finish
      Src: /src/cryptofuzz/modules/botan/module.cpp:491,1
    - Dst: ::Botan::secure_vector<uint8_t>::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:491,1
    - Dst: cryptofuzz::module::Botan_detail::ToReturnType
      Src: /src/cryptofuzz/modules/botan/module.cpp:500,1
    - Dst: cryptofuzz::module::Botan_detail::ToReturnType
      Src: /src/cryptofuzz/modules/botan/module.cpp:502,1
    - Dst: ::Botan::secure_vector<uint8_t>
      Src: /src/cryptofuzz/modules/botan/module.cpp:502,1
    - Dst: ::Botan::secure_vector<uint8_t>::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:502,1
    - Dst: ::Botan::secure_vector<uint8_t>::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:502,1
    - Dst: ::Botan::secure_vector<uint8_t>::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:502,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - OperationType
    - Datasource
    constantsTouched: []
    func_position:
      end: 509
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 509
    functionName: cryptofuzz::module::Botan_detail::Crypt
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - cryptofuzz::module::Botan_detail::parenthesize
    - std::vector::begin
    - std::to_string
    - cryptofuzz::module::Botan_detail::GetInSize
    - cipher::key::GetPtr
    - ::Botan::InitializationVector::bits_of
    - cryptofuzz::module::Botan_detail::GetTagSize
    - cryptofuzz::module::Botan_detail::GetInData
    - CF_CHECK_NE
    - ::Botan::secure_vector<uint8_t>::end
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - typeid
    - cryptofuzz::module::Botan_detail::CipherIDToString
    - std::shared_ptr::start
    - std::vector::data
    - std::shared_ptr::update_granularity
    - cryptofuzz::module::Botan_detail::GetCryptType
    - cipher::cipherType::Get
    - Botan_CLI::tls_proxy_session::create
    - ::Botan::secure_vector<uint8_t>::data
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - std::shared_ptr::set_key
    - Get
    - ::Botan::secure_vector<uint8_t>::insert
    - cryptofuzz::module::Botan_detail::SetAAD
    - cryptofuzz::module::Botan_detail::GetInPtr
    - std::shared_ptr::process
    - ::Botan::secure_vector<uint8_t>::size
    - cryptofuzz::module::Botan_detail::ToReturnType
    - std::shared_ptr::finish
    - ::Botan::secure_vector<uint8_t>
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> Crypt(OperationType& op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/botan/module.cpp:514,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:514,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:517,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:517,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:528,1
    - Dst: cryptofuzz::module::Botan_detail::CipherIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:528,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:528,1
    - Dst: cryptofuzz::module::Botan_detail::parenthesize
      Src: /src/cryptofuzz/modules/botan/module.cpp:530,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:532,1
    - Dst: Botan::MessageAuthenticationCode::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:532,1
    - Dst: std::unique_ptr::set_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:535,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:535,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:535,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/botan/module.cpp:540,1
    - Dst: std::unique_ptr::update
      Src: /src/cryptofuzz/modules/botan/module.cpp:545,1
    - Dst: std::unique_ptr::final
      Src: /src/cryptofuzz/modules/botan/module.cpp:550,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/botan/module.cpp:551,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:551,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 560
      start: 513
    functionDepth: 4
    functionLinenumber: 513
    functionLinenumberEnd: 560
    functionName: cryptofuzz::module::Botan::OpCMAC
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - auto::size
    - cryptofuzz::repository::IsCBC
    - cipher::cipherType::Get
    - modifier::GetPtr
    - cryptofuzz::module::Botan_detail::parenthesize
    - Botan::MessageAuthenticationCode::create
    - auto::data
    - modifier::GetSize
    - cryptofuzz::module::Botan_detail::CipherIDToString
    - cipher::key::GetPtr
    - std::unique_ptr::final
    - cryptofuzz::util::ToParts
    - Botan_CLI::HMAC::HMAC
    - cipher::key::GetSize
    - std::unique_ptr::update
    - std::unique_ptr::set_key
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Botan::OpCMAC(operation::CMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Is
      Src: /src/cryptofuzz/modules/botan/module.cpp:563,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/botan/module.cpp:563,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:563,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:570,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:570,1
    - Dst: cryptofuzz::repository::IsAEAD
      Src: /src/cryptofuzz/modules/botan/module.cpp:573,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:573,1
    - Dst: Botan_detail::Crypt<component::Ciphertext, operation::SymmetricEncrypt,
        ::Botan::AEAD_Mode>
      Src: /src/cryptofuzz/modules/botan/module.cpp:574,1
    - Dst: Botan_detail::Crypt<component::Ciphertext, operation::SymmetricEncrypt,
        ::Botan::Cipher_Mode>
      Src: /src/cryptofuzz/modules/botan/module.cpp:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 577
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 577
    functionName: cryptofuzz::module::Botan::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_detail::Crypt<component::Ciphertext, operation::SymmetricEncrypt, ::Botan::Cipher_Mode>
    - modifier::GetPtr
    - cipher::cipherType::Get
    - CF_CIPHER
    - cipher::iv::GetSize
    - cryptofuzz::repository::IsAEAD
    - modifier::GetSize
    - Botan_detail::Crypt<component::Ciphertext, operation::SymmetricEncrypt, ::Botan::AEAD_Mode>
    - cipher::cipherType::Is
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Botan::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Is
      Src: /src/cryptofuzz/modules/botan/module.cpp:585,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/botan/module.cpp:585,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:585,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:591,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:591,1
    - Dst: cryptofuzz::repository::IsAEAD
      Src: /src/cryptofuzz/modules/botan/module.cpp:594,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:594,1
    - Dst: Botan_detail::Crypt<component::Cleartext, operation::SymmetricDecrypt,
        ::Botan::AEAD_Mode>
      Src: /src/cryptofuzz/modules/botan/module.cpp:595,1
    - Dst: Botan_detail::Crypt<component::Cleartext, operation::SymmetricDecrypt,
        ::Botan::Cipher_Mode>
      Src: /src/cryptofuzz/modules/botan/module.cpp:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 598
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 598
    functionName: cryptofuzz::Botan::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cipher::cipherType::Get
    - CF_CIPHER
    - cipher::iv::GetSize
    - cryptofuzz::repository::IsAEAD
    - Botan_detail::Crypt<component::Cleartext, operation::SymmetricDecrypt, ::Botan::AEAD_Mode>
    - Botan_detail::Crypt<component::Cleartext, operation::SymmetricDecrypt, ::Botan::Cipher_Mode>
    - modifier::GetSize
    - cipher::cipherType::Is
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Botan::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:607,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:607,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:617,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:618,1
    - Dst: std::unique_ptr::from_params
      Src: /src/cryptofuzz/modules/botan/module.cpp:618,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:624,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:627,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:628,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:629,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:630,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:635,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/botan/module.cpp:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 645
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 645
    functionName: Botan::OpKDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::derive_key
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - CF_CHECK_NE
    - password::GetPtr
    - cryptofuzz::util::free
    - modifier::GetPtr
    - password::GetSize
    - salt::GetPtr
    - modifier::GetSize
    - std::unique_ptr::from_params
    - salt::GetSize
    - Botan::PasswordHashFamily::create
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Botan::OpKDF_SCRYPT(operation::KDF_SCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:649,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:649,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:657,1
    - Dst: cryptofuzz::module::Botan_detail::DigestIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:657,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:657,1
    - Dst: cryptofuzz::module::Botan_detail::parenthesize
      Src: /src/cryptofuzz/modules/botan/module.cpp:659,1
    - Dst: Botan::KDF::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:660,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:664,1
    - Dst: password::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:664,1
    - Dst: salt::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:664,1
    - Dst: info::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:664,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:666,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:666,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 674
      start: 647
    functionDepth: 3
    functionLinenumber: 647
    functionLinenumberEnd: 674
    functionName: Botan::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::derive_key
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - CF_CHECK_NE
    - modifier::GetPtr
    - cryptofuzz::module::Botan_detail::parenthesize
    - digestType::Get
    - info::Get
    - Botan::KDF::create
    - modifier::GetSize
    - auto::data
    - salt::Get
    - auto::size
    - password::Get
    - cryptofuzz::module::Botan_detail::DigestIDToString
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Botan::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:678,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:678,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:689,1
    - Dst: cryptofuzz::module::Botan_detail::DigestIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:689,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:689,1
    - Dst: cryptofuzz::module::Botan_detail::parenthesize
      Src: /src/cryptofuzz/modules/botan/module.cpp:691,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:692,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:692,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:694,1
    - Dst: std::unique_ptr::from_params
      Src: /src/cryptofuzz/modules/botan/module.cpp:694,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:700,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:703,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:704,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:705,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:706,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:711,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/botan/module.cpp:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 721
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 721
    functionName: Botan::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::derive_key
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - CF_CHECK_NE
    - password::GetPtr
    - cryptofuzz::util::free
    - modifier::GetPtr
    - cryptofuzz::module::Botan_detail::parenthesize
    - digestType::Get
    - password::GetSize
    - salt::GetPtr
    - Botan::PasswordHashFamily::create
    - modifier::GetSize
    - std::unique_ptr::from_params
    - salt::GetSize
    - cryptofuzz::module::Botan_detail::DigestIDToString
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Botan::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:725,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:725,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:750,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:750,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:752,1
    - Dst: std::unique_ptr::from_params
      Src: /src/cryptofuzz/modules/botan/module.cpp:752,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:760,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:763,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:764,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:765,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:766,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:771,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/botan/module.cpp:776,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_ARGON2
    constantsTouched: []
    func_position:
      end: 781
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 781
    functionName: Botan::OpKDF_ARGON2
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::derive_key
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - CF_CHECK_NE
    - password::GetPtr
    - cryptofuzz::util::free
    - modifier::GetPtr
    - password::GetSize
    - salt::GetPtr
    - modifier::GetSize
    - std::unique_ptr::from_params
    - salt::GetSize
    - Botan::PasswordHashFamily::create
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Botan::OpKDF_ARGON2(operation::KDF_ARGON2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:785,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:785,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:793,1
    - Dst: cryptofuzz::module::Botan_detail::DigestIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:793,1
    - Dst: mech::type::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:793,1
    - Dst: cryptofuzz::module::Botan_detail::parenthesize
      Src: /src/cryptofuzz/modules/botan/module.cpp:795,1
    - Dst: cryptofuzz::module::Botan_detail::parenthesize
      Src: /src/cryptofuzz/modules/botan/module.cpp:799,1
    - Dst: cryptofuzz::module::Botan_detail::parenthesize
      Src: /src/cryptofuzz/modules/botan/module.cpp:802,1
    - Dst: cryptofuzz::module::Botan_detail::parenthesize
      Src: /src/cryptofuzz/modules/botan/module.cpp:805,1
    - Dst: Botan::KDF::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:811,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:814,1
    - Dst: secret::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:814,1
    - Dst: salt::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:814,1
    - Dst: label::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:814,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:816,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:816,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:816,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/botan/module.cpp:821,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SP_800_108
    constantsTouched: []
    func_position:
      end: 826
      start: 783
    functionDepth: 3
    functionLinenumber: 783
    functionLinenumberEnd: 826
    functionName: Botan::OpKDF_SP_800_108
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::derive_key
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - CF_CHECK_NE
    - mech::type::Get
    - secret::Get
    - cryptofuzz::util::free
    - modifier::GetPtr
    - cryptofuzz::module::Botan_detail::parenthesize
    - label::Get
    - Botan::KDF::create
    - modifier::GetSize
    - auto::data
    - salt::Get
    - auto::size
    - cryptofuzz::module::Botan_detail::DigestIDToString
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Botan::OpKDF_SP_800_108(operation::KDF_SP_800_108&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:830,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:830,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/botan/module.cpp:837,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:837,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:837,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:838,1
    - Dst: Botan::KDF::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:838,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:842,1
    - Dst: secret::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:842,1
    - Dst: seed::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:842,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:844,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:844,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:844,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_TLS1_PRF
    constantsTouched: []
    func_position:
      end: 852
      start: 828
    functionDepth: 3
    functionLinenumber: 828
    functionLinenumberEnd: 852
    functionName: Botan::OpKDF_TLS1_PRF
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::derive_key
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - CF_CHECK_NE
    - secret::Get
    - seed::Get
    - modifier::GetPtr
    - CF_CHECK_EQ
    - digestType::Get
    - CF_DIGEST
    - Botan::KDF::create
    - modifier::GetSize
    - auto::data
    - auto::size
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Botan::OpKDF_TLS1_PRF(operation::KDF_TLS1_PRF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:856,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:856,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/botan/module.cpp:866,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:866,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:866,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:867,1
    - Dst: Botan::PasswordHashFamily::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:867,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:868,1
    - Dst: std::unique_ptr::from_params
      Src: /src/cryptofuzz/modules/botan/module.cpp:868,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:874,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:877,1
    - Dst: secret::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:878,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:879,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:880,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:885,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/botan/module.cpp:890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_BCRYPT
    constantsTouched: []
    func_position:
      end: 895
      start: 854
    functionDepth: 2
    functionLinenumber: 854
    functionLinenumberEnd: 895
    functionName: Botan::OpKDF_BCRYPT
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::derive_key
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - CF_CHECK_NE
    - cryptofuzz::util::free
    - secret::GetSize
    - modifier::GetPtr
    - CF_CHECK_EQ
    - digestType::Get
    - salt::GetPtr
    - secret::GetPtr
    - CF_DIGEST
    - modifier::GetSize
    - std::unique_ptr::from_params
    - salt::GetSize
    - Botan::PasswordHashFamily::create
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Botan::OpKDF_BCRYPT(operation::KDF_BCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:902,1
    - Dst: find
      Src: /src/cryptofuzz/modules/botan/module.cpp:902,1
    - Dst: end
      Src: /src/cryptofuzz/modules/botan/module.cpp:902,1
    - Dst: at
      Src: /src/cryptofuzz/modules/botan/module.cpp:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - curveID
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 906
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 906
    functionName: Botan_detail::CurveIDToString
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - at
    - end
    - CF_CHECK_NE
    - find
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> CurveIDToString(const uint64_t curveID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:911,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:911,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:916,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:916,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:916,1
    - Dst: ECDSA_PrivateKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:920,1
    - Dst: auto::public_point
      Src: /src/cryptofuzz/modules/botan/module.cpp:922,1
    - Dst: auto::public_point
      Src: /src/cryptofuzz/modules/botan/module.cpp:923,1
    - Dst: std::make_unique<::Botan::ECDSA_PublicKey>
      Src: /src/cryptofuzz/modules/botan/module.cpp:926,1
    - Dst: Botan::ECDSA_PublicKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:926,1
    - Dst: auto::public_point
      Src: /src/cryptofuzz/modules/botan/module.cpp:926,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/botan/module.cpp:927,1
    - Dst: auto::check_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:927,1
    - Dst: auto::private_value
      Src: /src/cryptofuzz/modules/botan/module.cpp:930,1
    - Dst: auto::to_dec_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:930,1
    - Dst: auto::to_dec_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 937
      start: 909
    functionDepth: 2
    functionLinenumber: 909
    functionLinenumberEnd: 937
    functionName: Botan::OpECC_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - Botan_detail::CurveIDToString
    - auto::public_point
    - std::make_unique<::Botan::ECDSA_PublicKey>
    - CF_ASSERT
    - modifier::GetPtr
    - auto::to_dec_string
    - auto::check_key
    - curveType::Get
    - Botan::ECDSA_PublicKey
    - modifier::GetSize
    - ECDSA_PrivateKey
    - auto::private_value
    linkageType: ''
    returnType: std::optional<component::ECC_KeyPair>
    signature: std::optional<component::ECC_KeyPair> Botan::OpECC_GenerateKeyPair(operation::ECC_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:941,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:941,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:948,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:948,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:948,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:951,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:952,1
    - Dst: ::Botan::EC_Group::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:953,1
    - Dst: std::make_unique<::Botan::ECDSA_PublicKey>
      Src: /src/cryptofuzz/modules/botan/module.cpp:954,1
    - Dst: Botan::ECDSA_PublicKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:954,1
    - Dst: std::unique_ptr::check_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:956,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 961
      start: 939
    functionDepth: 2
    functionLinenumber: 939
    functionLinenumberEnd: 961
    functionName: Botan::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - Botan_detail::CurveIDToString
    - pub::first::ToString
    - std::make_unique<::Botan::ECDSA_PublicKey>
    - modifier::GetPtr
    - curveType::Get
    - ::Botan::EC_Group::point
    - Botan::ECDSA_PublicKey
    - modifier::GetSize
    - std::unique_ptr::check_key
    - pub::second::ToString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Botan::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:965,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:965,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:972,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/botan/module.cpp:972,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:975,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/botan/module.cpp:976,1
    - Dst: ::Botan::BigInt::binary_encode
      Src: /src/cryptofuzz/modules/botan/module.cpp:978,1
    - Dst: Botan::X25519_PrivateKey::X25519_PrivateKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:984,1
    - Dst: ::Botan::BigInt::binary_decode
      Src: /src/cryptofuzz/modules/botan/module.cpp:987,1
    - Dst: auto::public_value
      Src: /src/cryptofuzz/modules/botan/module.cpp:987,1
    - Dst: ::Botan::BigInt::to_dec_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:989,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:991,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:991,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:991,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:994,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/botan/module.cpp:995,1
    - Dst: std::make_unique<::Botan::ECDSA_PrivateKey>
      Src: /src/cryptofuzz/modules/botan/module.cpp:997,1
    - Dst: ECDSA_PrivateKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:997,1
    - Dst: auto::public_point
      Src: /src/cryptofuzz/modules/botan/module.cpp:999,1
    - Dst: auto::public_point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1000,1
    - Dst: auto::to_dec_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1002,1
    - Dst: auto::to_dec_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 1008
      start: 963
    functionDepth: 2
    functionLinenumber: 963
    functionLinenumberEnd: 1008
    functionName: Botan::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - ::Botan::BigInt::binary_encode
    - Botan::X25519_PrivateKey::X25519_PrivateKey
    - ::Botan::BigInt::to_dec_string
    - CF_CHECK_NE
    - Botan_detail::CurveIDToString
    - std::make_unique<::Botan::ECDSA_PrivateKey>
    - modifier::GetPtr
    - CF_ECC_CURVE
    - auto::public_point
    - auto::to_dec_string
    - CF_CHECK_GT
    - ::Botan::BigInt::binary_decode
    - curveType::Get
    - modifier::GetSize
    - auto::public_value
    - ECDSA_PrivateKey
    - priv::ToString
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> Botan::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1014,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1014,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/botan/module.cpp:1025,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/botan/module.cpp:1025,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/botan/module.cpp:1027,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/botan/module.cpp:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operation
    constantsTouched: []
    func_position:
      end: 1028
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1028
    functionName: Botan_detail::ECxDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_CHECK_EQ
    - modifier::GetSize
    - UseRFC6979Nonce
    - UseRandomNonce
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> ECxDSA_Sign(Operation& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/botan/module.cpp:1122,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1122,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/botan/module.cpp:1123,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1123,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1128,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1128,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:1128,1
    - Dst: std::make_unique<::Botan::Ed25519_PrivateKey>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1130,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1134,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1134,1
    - Dst: std::unique_ptr::reset
      Src: /src/cryptofuzz/modules/botan/module.cpp:1137,1
    - Dst: ::Botan::PK_Signer::PK_Signer
      Src: /src/cryptofuzz/modules/botan/module.cpp:1137,1
    - Dst: std::unique_ptr::sign_message
      Src: /src/cryptofuzz/modules/botan/module.cpp:1139,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1139,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/botan/module.cpp:1140,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:1140,1
    - Dst: auto::get_public_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:1142,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/botan/module.cpp:1143,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:1143,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/botan/module.cpp:1145,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1146,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1146,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1146,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1146,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1147,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1147,1
    - Dst: Botan_detail::ECxDSA_Sign<::Botan::ECDSA_PrivateKey, operation::ECDSA_Sign>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 1154
      start: 1121
    functionDepth: 3
    functionLinenumber: 1121
    functionLinenumberEnd: 1154
    functionName: Botan::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::sign_message
    - CF_ASSERT
    - curveType::Is
    - ::Botan::PK_Signer::PK_Signer
    - CF_ECC_CURVE
    - modifier::GetPtr
    - cleartext::Get
    - priv::ToTrimmedString
    - std::unique_ptr::reset
    - std::make_unique<::Botan::Ed25519_PrivateKey>
    - auto::get_public_key
    - cryptofuzz::util::BinToDec
    - auto::data
    - modifier::GetSize
    - cryptofuzz::util::DecToBin
    - cryptofuzz::tests::test_ECDSA_Signature
    - auto::size
    - Botan_detail::ECxDSA_Sign<::Botan::ECDSA_PrivateKey, operation::ECDSA_Sign>
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> Botan::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_detail::ECxDSA_Sign<::Botan::ECGDSA_PrivateKey, operation::ECGDSA_Sign,
        false>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECGDSA_Sign
    constantsTouched: []
    func_position:
      end: 1158
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1158
    functionName: Botan::OpECGDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_detail::ECxDSA_Sign<::Botan::ECGDSA_PrivateKey, operation::ECGDSA_Sign,
      false>
    linkageType: ''
    returnType: std::optional<component::ECGDSA_Signature>
    signature: std::optional<component::ECGDSA_Signature> Botan::OpECGDSA_Sign(operation::ECGDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1165,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1165,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1176,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1176,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1176,1
    - Dst: std::make_unique<::Botan::EC_Group>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1177,1
    - Dst: signature::signature::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1182,1
    - Dst: signature::signature::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1183,1
    - Dst: Botan::BigInt::encode_fixed_length_int_pair
      Src: /src/cryptofuzz/modules/botan/module.cpp:1184,1
    - Dst: std::unique_ptr::get_order_bytes
      Src: /src/cryptofuzz/modules/botan/module.cpp:1184,1
    - Dst: signature::pub::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1189,1
    - Dst: signature::pub::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1190,1
    - Dst: std::unique_ptr::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1191,1
    - Dst: std::make_unique<PubkeyType>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1192,1
    - Dst: PubkeyType
      Src: /src/cryptofuzz/modules/botan/module.cpp:1192,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1197,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:1197,1
    - Dst: cleartext::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/botan/module.cpp:1198,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1201,1
    - Dst: cryptofuzz::module::Botan_detail::DigestIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1201,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1201,1
    - Dst: Botan::HashFunction::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:1203,1
    - Dst: auto::update
      Src: /src/cryptofuzz/modules/botan/module.cpp:1204,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1204,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1204,1
    - Dst: auto::final
      Src: /src/cryptofuzz/modules/botan/module.cpp:1205,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/botan/module.cpp:1206,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1206,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:1206,1
    - Dst: Botan::PK_Verifier::PK_Verifier
      Src: /src/cryptofuzz/modules/botan/module.cpp:1210,1
    - Dst: Buffer::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operation
    constantsTouched: []
    func_position:
      end: 1222
      start: 1162
    functionDepth: 4
    functionLinenumber: 1162
    functionLinenumberEnd: 1222
    functionName: Botan_detail::ECxDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - signature::signature::second::ToString
    - modifier::GetPtr
    - digestType::Get
    - Botan::PK_Verifier::PK_Verifier
    - signature::signature::first::ToString
    - modifier::GetSize
    - cleartext::ECDSA_RandomPad
    - std::unique_ptr::point
    - cryptofuzz::module::Botan_detail::DigestIDToString
    - cleartext::GetSize
    - CF_CHECK_NE
    - Botan::BigInt::encode_fixed_length_int_pair
    - auto::update
    - std::unique_ptr::get_order_bytes
    - std::make_unique<PubkeyType>
    - Botan_detail::CurveIDToString
    - signature::pub::first::ToString
    - signature::pub::second::ToString
    - std::make_unique<::Botan::EC_Group>
    - auto::final
    - PubkeyType
    - cleartext::GetPtr
    - Botan::HashFunction::create
    - curveType::Get
    - CF_DIGEST
    - auto::data
    - Buffer
    - Buffer::Get
    - auto::size
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> ECxDSA_Verify(Operation& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/botan/module.cpp:1226,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1226,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/botan/module.cpp:1227,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1227,1
    - Dst: std::make_unique<::Botan::Ed25519_PublicKey>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1231,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/botan/module.cpp:1233,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1233,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/botan/module.cpp:1238,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1238,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/botan/module.cpp:1244,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1244,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1244,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/botan/module.cpp:1245,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1245,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1245,1
    - Dst: Botan_detail::ECxDSA_Verify<::Botan::ECDSA_PublicKey, operation::ECDSA_Verify>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 1253
      start: 1225
    functionDepth: 2
    functionLinenumber: 1225
    functionLinenumberEnd: 1253
    functionName: Botan::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_detail::ECxDSA_Verify<::Botan::ECDSA_PublicKey, operation::ECDSA_Verify>
    - signature::pub::first::ToTrimmedString
    - std::make_unique<::Botan::Ed25519_PublicKey>
    - curveType::Is
    - CF_ECC_CURVE
    - signature::signature::first::ToTrimmedString
    - memcpy
    - auto::data
    - cryptofuzz::util::DecToBin
    - signature::signature::second::ToTrimmedString
    - std::vector::data
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Botan::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan_detail::ECxDSA_Verify<::Botan::ECGDSA_PublicKey, operation::ECGDSA_Verify>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECGDSA_Verify
    constantsTouched: []
    func_position:
      end: 1257
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1257
    functionName: Botan::OpECGDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_detail::ECxDSA_Verify<::Botan::ECGDSA_PublicKey, operation::ECGDSA_Verify>
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Botan::OpECGDSA_Verify(operation::ECGDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1261,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1261,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1268,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1268,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1268,1
    - Dst: std::make_unique<::Botan::EC_Group>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1269,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1274,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/botan/module.cpp:1274,1
    - Dst: cleartext::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/botan/module.cpp:1275,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1278,1
    - Dst: cryptofuzz::module::Botan_detail::DigestIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1278,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1278,1
    - Dst: Botan::HashFunction::create
      Src: /src/cryptofuzz/modules/botan/module.cpp:1280,1
    - Dst: auto::update
      Src: /src/cryptofuzz/modules/botan/module.cpp:1281,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1281,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1281,1
    - Dst: auto::final
      Src: /src/cryptofuzz/modules/botan/module.cpp:1282,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/botan/module.cpp:1283,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/botan/module.cpp:1283,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/botan/module.cpp:1283,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1288,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1289,1
    - Dst: std::make_unique<::Botan::ECDSA_PublicKey>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1293,1
    - Dst: Buffer::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1293,1
    - Dst: std::unique_ptr::public_point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1296,1
    - Dst: std::unique_ptr::public_point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Recover
    constantsTouched: []
    func_position:
      end: 1309
      start: 1259
    functionDepth: 2
    functionLinenumber: 1259
    functionLinenumberEnd: 1309
    functionName: Botan::OpECDSA_Recover
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - digestType::Get
    - signature::second::ToString
    - modifier::GetSize
    - cleartext::ECDSA_RandomPad
    - cryptofuzz::module::Botan_detail::DigestIDToString
    - cleartext::GetSize
    - CF_CHECK_NE
    - auto::update
    - Botan_detail::CurveIDToString
    - std::make_unique<::Botan::EC_Group>
    - signature::first::ToString
    - auto::final
    - std::make_unique<::Botan::ECDSA_PublicKey>
    - cleartext::GetPtr
    - Botan::HashFunction::create
    - curveType::Get
    - CF_DIGEST
    - auto::data
    - std::unique_ptr::public_point
    - Buffer
    - Buffer::Get
    - auto::size
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> Botan::OpECDSA_Recover(operation::ECDSA_Recover&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1313,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1313,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1318,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1318,1
    - Dst: base::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1320,1
    - Dst: prime::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1321,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1324,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/botan/module.cpp:1327,1
    - Dst: ::Botan::BigInt::bytes
      Src: /src/cryptofuzz/modules/botan/module.cpp:1327,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/botan/module.cpp:1328,1
    - Dst: ::Botan::BigInt::bytes
      Src: /src/cryptofuzz/modules/botan/module.cpp:1328,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/botan/module.cpp:1329,1
    - Dst: ::Botan::BigInt::bytes
      Src: /src/cryptofuzz/modules/botan/module.cpp:1329,1
    - Dst: ::Botan::DH_PrivateKey::DH_PrivateKey
      Src: /src/cryptofuzz/modules/botan/module.cpp:1331,1
    - Dst: pub::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1333,1
    - Dst: ::Botan::PK_Key_Agreement::PK_Key_Agreement
      Src: /src/cryptofuzz/modules/botan/module.cpp:1336,1
    - Dst: std::unique_ptr::derive_key
      Src: /src/cryptofuzz/modules/botan/module.cpp:1337,1
    - Dst: ::Botan::DH_PublicKey::public_value
      Src: /src/cryptofuzz/modules/botan/module.cpp:1337,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1339,1
    - Dst: auto::bits_of
      Src: /src/cryptofuzz/modules/botan/module.cpp:1339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DH_Derive
    constantsTouched: []
    func_position:
      end: 1347
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1347
    functionName: Botan::OpDH_Derive
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::derive_key
    - ::Botan::DH_PublicKey::public_value
    - CF_CHECK_NE
    - prime::ToString
    - modifier::GetPtr
    - base::ToString
    - ::Botan::BigInt::bytes
    - priv::ToTrimmedString
    - ::Botan::DH_PrivateKey::DH_PrivateKey
    - Botan::BigInt::BigInt
    - CF_CHECK_LT
    - auto::bits_of
    - pub::ToString
    - modifier::GetSize
    - ::Botan::PK_Key_Agreement::PK_Key_Agreement
    - priv::ToString
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Botan::OpDH_Derive(operation::DH_Derive&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1351,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1351,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1361,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1361,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1361,1
    - Dst: std::make_unique<::Botan::EC_Group>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1362,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1368,1
    - Dst: a::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1368,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1369,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1371,1
    - Dst: a::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1371,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1372,1
    - Dst: std::make_unique<::Botan::PointGFp>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1375,1
    - Dst: std::unique_ptr::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1375,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1379,1
    - Dst: std::unique_ptr::on_the_curve
      Src: /src/cryptofuzz/modules/botan/module.cpp:1379,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1384,1
    - Dst: b::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1384,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1385,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1387,1
    - Dst: b::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1387,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1388,1
    - Dst: std::make_unique<::Botan::PointGFp>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1391,1
    - Dst: std::unique_ptr::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1391,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1396,1
    - Dst: on_the_curve
      Src: /src/cryptofuzz/modules/botan/module.cpp:1396,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/botan/module.cpp:1407,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1408,1
    - Dst: ::Botan::PointGFp::get_affine_x
      Src: /src/cryptofuzz/modules/botan/module.cpp:1410,1
    - Dst: ::Botan::PointGFp::get_affine_y
      Src: /src/cryptofuzz/modules/botan/module.cpp:1411,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1414,1
    - Dst: auto::to_hex_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1414,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1415,1
    - Dst: auto::to_hex_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1415,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 1426
      start: 1349
    functionDepth: 2
    functionLinenumber: 1349
    functionLinenumberEnd: 1426
    functionName: Botan::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - Botan::BigInt::BigInt
    - CF_CHECK_FALSE
    - modifier::GetSize
    - a::first::ToString
    - std::unique_ptr::point
    - b::first::ToString
    - CF_CHECK_NE
    - std::make_unique<::Botan::PointGFp>
    - a::second::ToString
    - ::Botan::PointGFp::get_affine_y
    - Botan_detail::CurveIDToString
    - b::second::ToString
    - std::make_unique<::Botan::EC_Group>
    - auto::to_hex_string
    - std::unique_ptr::on_the_curve
    - CF_CHECK_TRUE
    - ::Botan::PointGFp::get_affine_x
    - CF_ASSERT
    - cryptofuzz::util::HexToDec
    - curveType::Get
    - on_the_curve
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Botan::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1430,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1430,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1440,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1440,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1440,1
    - Dst: std::make_unique<::Botan::EC_Group>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1441,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1447,1
    - Dst: a::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1447,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1448,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1450,1
    - Dst: a::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1450,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1451,1
    - Dst: std::make_unique<::Botan::PointGFp>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1454,1
    - Dst: std::unique_ptr::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1454,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1458,1
    - Dst: std::unique_ptr::on_the_curve
      Src: /src/cryptofuzz/modules/botan/module.cpp:1458,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1463,1
    - Dst: b::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1463,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1464,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1466,1
    - Dst: b::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1466,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1467,1
    - Dst: std::make_unique<::Botan::PointGFp>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1470,1
    - Dst: std::unique_ptr::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1470,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1475,1
    - Dst: on_the_curve
      Src: /src/cryptofuzz/modules/botan/module.cpp:1475,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/botan/module.cpp:1486,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1487,1
    - Dst: ::Botan::PointGFp::get_affine_x
      Src: /src/cryptofuzz/modules/botan/module.cpp:1489,1
    - Dst: ::Botan::PointGFp::get_affine_y
      Src: /src/cryptofuzz/modules/botan/module.cpp:1490,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1493,1
    - Dst: auto::to_hex_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1493,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1494,1
    - Dst: auto::to_hex_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1494,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Sub
    constantsTouched: []
    func_position:
      end: 1505
      start: 1428
    functionDepth: 2
    functionLinenumber: 1428
    functionLinenumberEnd: 1505
    functionName: Botan::OpECC_Point_Sub
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - Botan::BigInt::BigInt
    - CF_CHECK_FALSE
    - modifier::GetSize
    - a::first::ToString
    - std::unique_ptr::point
    - b::first::ToString
    - CF_CHECK_NE
    - std::make_unique<::Botan::PointGFp>
    - a::second::ToString
    - ::Botan::PointGFp::get_affine_y
    - Botan_detail::CurveIDToString
    - b::second::ToString
    - std::make_unique<::Botan::EC_Group>
    - auto::to_hex_string
    - std::unique_ptr::on_the_curve
    - CF_CHECK_TRUE
    - ::Botan::PointGFp::get_affine_x
    - CF_ASSERT
    - cryptofuzz::util::HexToDec
    - curveType::Get
    - on_the_curve
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Botan::OpECC_Point_Sub(operation::ECC_Point_Sub&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1509,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1509,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1517,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1517,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1517,1
    - Dst: std::make_unique<::Botan::EC_Group>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1518,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1522,1
    - Dst: a::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1522,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1523,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1525,1
    - Dst: a::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1525,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1526,1
    - Dst: std::unique_ptr::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1528,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1529,1
    - Dst: auto::on_the_curve
      Src: /src/cryptofuzz/modules/botan/module.cpp:1529,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1531,1
    - Dst: b::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1531,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1533,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1540,1
    - Dst: std::unique_ptr::blinded_var_point_multiply
      Src: /src/cryptofuzz/modules/botan/module.cpp:1549,1
    - Dst: ::Botan::PointGFp::get_affine_x
      Src: /src/cryptofuzz/modules/botan/module.cpp:1552,1
    - Dst: ::Botan::PointGFp::get_affine_y
      Src: /src/cryptofuzz/modules/botan/module.cpp:1553,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1556,1
    - Dst: auto::to_hex_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1556,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1557,1
    - Dst: auto::to_hex_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 1566
      start: 1507
    functionDepth: 2
    functionLinenumber: 1507
    functionLinenumberEnd: 1566
    functionName: Botan::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - b::ToString
    - modifier::GetPtr
    - Botan::BigInt::BigInt
    - modifier::GetSize
    - a::first::ToString
    - std::unique_ptr::point
    - CF_CHECK_NE
    - a::second::ToString
    - std::unique_ptr::blinded_var_point_multiply
    - ::Botan::PointGFp::get_affine_y
    - Botan_detail::CurveIDToString
    - std::make_unique<::Botan::EC_Group>
    - auto::to_hex_string
    - CF_CHECK_TRUE
    - ::Botan::PointGFp::get_affine_x
    - Datasource::Get
    - cryptofuzz::util::HexToDec
    - curveType::Get
    - auto::on_the_curve
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Botan::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1570,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1570,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1576,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1576,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1576,1
    - Dst: std::make_unique<::Botan::EC_Group>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1577,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1581,1
    - Dst: a::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1581,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1582,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1584,1
    - Dst: a::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1584,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1585,1
    - Dst: std::unique_ptr::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1587,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1588,1
    - Dst: auto::on_the_curve
      Src: /src/cryptofuzz/modules/botan/module.cpp:1588,1
    - Dst: ::Botan::PointGFp::get_affine_x
      Src: /src/cryptofuzz/modules/botan/module.cpp:1592,1
    - Dst: ::Botan::PointGFp::get_affine_y
      Src: /src/cryptofuzz/modules/botan/module.cpp:1593,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1596,1
    - Dst: auto::to_hex_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1596,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1597,1
    - Dst: auto::to_hex_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 1607
      start: 1568
    functionDepth: 2
    functionLinenumber: 1568
    functionLinenumberEnd: 1607
    functionName: Botan::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - ::Botan::PointGFp::get_affine_x
    - CF_CHECK_NE
    - Botan_detail::CurveIDToString
    - modifier::GetPtr
    - Botan::BigInt::BigInt
    - cryptofuzz::util::HexToDec
    - a::second::ToString
    - std::make_unique<::Botan::EC_Group>
    - curveType::Get
    - auto::to_hex_string
    - modifier::GetSize
    - a::first::ToString
    - ::Botan::PointGFp::get_affine_y
    - auto::on_the_curve
    - std::unique_ptr::point
    - CF_CHECK_TRUE
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Botan::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1611,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1611,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1617,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1617,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1617,1
    - Dst: std::make_unique<::Botan::EC_Group>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1618,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1622,1
    - Dst: a::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1622,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1623,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1625,1
    - Dst: a::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1625,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1626,1
    - Dst: std::unique_ptr::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1628,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1629,1
    - Dst: auto::on_the_curve
      Src: /src/cryptofuzz/modules/botan/module.cpp:1629,1
    - Dst: ::Botan::PointGFp::get_affine_x
      Src: /src/cryptofuzz/modules/botan/module.cpp:1633,1
    - Dst: ::Botan::PointGFp::get_affine_y
      Src: /src/cryptofuzz/modules/botan/module.cpp:1634,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1637,1
    - Dst: auto::to_hex_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1637,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1638,1
    - Dst: auto::to_hex_string
      Src: /src/cryptofuzz/modules/botan/module.cpp:1638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 1648
      start: 1609
    functionDepth: 2
    functionLinenumber: 1609
    functionLinenumberEnd: 1648
    functionName: Botan::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - ::Botan::PointGFp::get_affine_x
    - CF_CHECK_NE
    - Botan_detail::CurveIDToString
    - modifier::GetPtr
    - Botan::BigInt::BigInt
    - cryptofuzz::util::HexToDec
    - a::second::ToString
    - std::make_unique<::Botan::EC_Group>
    - curveType::Get
    - auto::to_hex_string
    - modifier::GetSize
    - a::first::ToString
    - ::Botan::PointGFp::get_affine_y
    - auto::on_the_curve
    - std::unique_ptr::point
    - CF_CHECK_TRUE
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Botan::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1652,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1652,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1662,1
    - Dst: Botan_detail::CurveIDToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1662,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1662,1
    - Dst: std::make_unique<::Botan::EC_Group>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1663,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1669,1
    - Dst: a::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1669,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1670,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1672,1
    - Dst: a::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1672,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1673,1
    - Dst: std::make_unique<::Botan::PointGFp>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1676,1
    - Dst: std::unique_ptr::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1676,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1680,1
    - Dst: std::unique_ptr::on_the_curve
      Src: /src/cryptofuzz/modules/botan/module.cpp:1680,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1685,1
    - Dst: b::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1685,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1686,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1688,1
    - Dst: b::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1688,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1689,1
    - Dst: std::make_unique<::Botan::PointGFp>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1692,1
    - Dst: std::unique_ptr::point
      Src: /src/cryptofuzz/modules/botan/module.cpp:1692,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1697,1
    - Dst: on_the_curve
      Src: /src/cryptofuzz/modules/botan/module.cpp:1697,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Cmp
    constantsTouched: []
    func_position:
      end: 1709
      start: 1650
    functionDepth: 2
    functionLinenumber: 1650
    functionLinenumberEnd: 1709
    functionName: Botan::OpECC_Point_Cmp
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - Botan_detail::CurveIDToString
    - std::make_unique<::Botan::PointGFp>
    - modifier::GetPtr
    - Botan::BigInt::BigInt
    - b::second::ToString
    - a::second::ToString
    - std::make_unique<::Botan::EC_Group>
    - curveType::Get
    - std::unique_ptr::on_the_curve
    - modifier::GetSize
    - a::first::ToString
    - std::unique_ptr::point
    - b::first::ToString
    - on_the_curve
    - CF_CHECK_TRUE
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Botan::OpECC_Point_Cmp(operation::ECC_Point_Cmp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1713,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1713,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1718,1
    - Dst: parameters::p::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1718,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1720,1
    - Dst: auto::bytes
      Src: /src/cryptofuzz/modules/botan/module.cpp:1720,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1721,1
    - Dst: parameters::q::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1721,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1722,1
    - Dst: parameters::g::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1722,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1727,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1730,1
    - Dst: ::Botan::DL_Group::verify_group
      Src: /src/cryptofuzz/modules/botan/module.cpp:1730,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1732,1
    - Dst: pub::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1732,1
    - Dst: std::make_unique<::Botan::DSA_PublicKey>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1733,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1735,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1735,1
    - Dst: Botan::BigInt::BigInt
      Src: /src/cryptofuzz/modules/botan/module.cpp:1736,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1736,1
    - Dst: Botan::BigInt::encode_fixed_length_int_pair
      Src: /src/cryptofuzz/modules/botan/module.cpp:1738,1
    - Dst: auto::bytes
      Src: /src/cryptofuzz/modules/botan/module.cpp:1739,1
    - Dst: Botan::PK_Verifier::PK_Verifier
      Src: /src/cryptofuzz/modules/botan/module.cpp:1740,1
    - Dst: auto::update
      Src: /src/cryptofuzz/modules/botan/module.cpp:1741,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1741,1
    - Dst: auto::check_signature
      Src: /src/cryptofuzz/modules/botan/module.cpp:1742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::DSA_Verify
    constantsTouched: []
    func_position:
      end: 1748
      start: 1711
    functionDepth: 4
    functionLinenumber: 1711
    functionLinenumberEnd: 1748
    functionName: Botan::OpDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - auto::check_signature
    - modifier::GetPtr
    - Botan::BigInt::BigInt
    - signature::second::ToString
    - Botan::PK_Verifier::PK_Verifier
    - parameters::q::ToString
    - modifier::GetSize
    - ::Botan::DL_Group::verify_group
    - CF_CHECK_LTE
    - parameters::p::ToString
    - CF_CHECK_NE
    - Botan::BigInt::encode_fixed_length_int_pair
    - auto::update
    - parameters::g::ToString
    - signature::first::ToString
    - CF_CHECK_TRUE
    - std::make_unique<::Botan::DSA_PublicKey>
    - auto::bytes
    - cleartext::Get
    - pub::ToString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Botan::OpDSA_Verify(operation::DSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1754,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1755,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1756,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1757,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1758,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1759,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1760,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1761,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1762,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1763,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1764,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1765,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1766,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1767,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1768,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1769,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1770,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1771,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1772,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1773,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/botan/module.cpp:1779,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1779,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/botan/module.cpp:1783,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1783,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/botan/module.cpp:1784,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1784,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/botan/module.cpp:1785,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1785,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/botan/module.cpp:1786,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1786,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/botan/module.cpp:1790,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1791,1
    - Dst: std::make_unique<Botan_bignum::Add>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1792,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1794,1
    - Dst: std::make_unique<Botan_bignum::Sub>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1795,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1797,1
    - Dst: std::make_unique<Botan_bignum::Mul>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1798,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1800,1
    - Dst: std::make_unique<Botan_bignum::Div>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1801,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1803,1
    - Dst: std::make_unique<Botan_bignum::Mod>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1804,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1806,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/botan/module.cpp:1808,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1808,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/botan/module.cpp:1809,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1809,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/botan/module.cpp:1810,1
    - Dst: bn2::GetSize
      Src: /src/cryptofuzz/modules/botan/module.cpp:1810,1
    - Dst: std::make_unique<Botan_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1812,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1814,1
    - Dst: std::make_unique<Botan_bignum::Exp>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1815,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1817,1
    - Dst: std::make_unique<Botan_bignum::Sqr>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1818,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1820,1
    - Dst: std::make_unique<Botan_bignum::GCD>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1821,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1823,1
    - Dst: std::make_unique<Botan_bignum::SqrMod>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1824,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1826,1
    - Dst: std::make_unique<Botan_bignum::InvMod>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1827,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1829,1
    - Dst: std::make_unique<Botan_bignum::Cmp>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1830,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1832,1
    - Dst: std::make_unique<Botan_bignum::LCM>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1833,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1835,1
    - Dst: std::make_unique<Botan_bignum::Abs>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1836,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1838,1
    - Dst: std::make_unique<Botan_bignum::Jacobi>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1839,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1841,1
    - Dst: std::make_unique<Botan_bignum::Neg>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1842,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1844,1
    - Dst: std::make_unique<Botan_bignum::IsPrime>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1845,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1847,1
    - Dst: std::make_unique<Botan_bignum::RShift>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1848,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1850,1
    - Dst: std::make_unique<Botan_bignum::LShift1>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1851,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1853,1
    - Dst: std::make_unique<Botan_bignum::IsNeg>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1854,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1856,1
    - Dst: std::make_unique<Botan_bignum::IsEq>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1857,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1859,1
    - Dst: std::make_unique<Botan_bignum::IsGt>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1860,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1862,1
    - Dst: std::make_unique<Botan_bignum::IsGte>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1863,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1865,1
    - Dst: std::make_unique<Botan_bignum::IsLt>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1866,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1868,1
    - Dst: std::make_unique<Botan_bignum::IsLte>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1869,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1871,1
    - Dst: std::make_unique<Botan_bignum::IsEven>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1872,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1874,1
    - Dst: std::make_unique<Botan_bignum::IsOdd>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1875,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1877,1
    - Dst: std::make_unique<Botan_bignum::IsZero>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1878,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1880,1
    - Dst: std::make_unique<Botan_bignum::IsNotZero>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1881,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1883,1
    - Dst: std::make_unique<Botan_bignum::IsOne>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1884,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1886,1
    - Dst: std::make_unique<Botan_bignum::MulMod>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1887,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1889,1
    - Dst: std::make_unique<Botan_bignum::Bit>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1890,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1892,1
    - Dst: std::make_unique<Botan_bignum::CmpAbs>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1893,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1895,1
    - Dst: std::make_unique<Botan_bignum::SetBit>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1896,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1898,1
    - Dst: std::make_unique<Botan_bignum::ClearBit>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1899,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1901,1
    - Dst: std::make_unique<Botan_bignum::MulAdd>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1902,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1904,1
    - Dst: std::make_unique<Botan_bignum::MulDiv>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1905,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1907,1
    - Dst: std::make_unique<Botan_bignum::MulDivCeil>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1908,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1910,1
    - Dst: std::make_unique<Botan_bignum::Exp2>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1911,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1913,1
    - Dst: std::make_unique<Botan_bignum::NumLSZeroBits>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1914,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1916,1
    - Dst: std::make_unique<Botan_bignum::Sqrt>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1918,1
    - Dst: std::make_unique<Botan_bignum::Ressol>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1920,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1923,1
    - Dst: std::make_unique<Botan_bignum::AddMod>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1924,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1926,1
    - Dst: std::make_unique<Botan_bignum::SubMod>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1927,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1929,1
    - Dst: std::make_unique<Botan_bignum::NumBits>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1930,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1932,1
    - Dst: std::make_unique<Botan_bignum::Set>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1933,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1935,1
    - Dst: std::make_unique<Botan_bignum::CondSet>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1936,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1943,1
    - Dst: std::make_unique<Botan_bignum::Not>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1944,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1946,1
    - Dst: std::make_unique<Botan_bignum::Prime>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1947,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1949,1
    - Dst: std::make_unique<Botan_bignum::RandRange>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1950,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/botan/module.cpp:1952,1
    - Dst: std::make_unique<Botan_bignum::IsSquare>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1953,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/botan/module.cpp:1957,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/botan/module.cpp:1962,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/botan/module.cpp:1962,1
    - Dst: std::optional<Botan_bignum::Bignum>
      Src: /src/cryptofuzz/modules/botan/module.cpp:1967,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/botan/module.cpp:1967,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/botan/module.cpp:1967,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/botan/module.cpp:1975,1
    - Dst: Botan_bignum::Bignum::Ref
      Src: /src/cryptofuzz/modules/botan/module.cpp:1975,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 197
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1979
      start: 1750
    functionDepth: 3
    functionLinenumber: 1750
    functionLinenumberEnd: 1979
    functionName: Botan::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - std::make_unique<Botan_bignum::Exp2>
    - std::make_unique<Botan_bignum::CondSet>
    - std::make_unique<Botan_bignum::IsSquare>
    - modifier::GetPtr
    - std::make_unique<Botan_bignum::IsOdd>
    - std::make_unique<Botan_bignum::IsGte>
    - CF_CHECK_LT
    - std::make_unique<Botan_bignum::InvMod>
    - bn0::GetSize
    - modifier::GetSize
    - std::make_unique<Botan_bignum::IsNeg>
    - std::make_unique<Botan_bignum::Prime>
    - std::make_unique<Botan_bignum::IsNotZero>
    - std::make_unique<Botan_bignum::MulDiv>
    - bn1::ToString
    - bn3::ToString
    - std::make_unique<Botan_bignum::CmpAbs>
    - std::make_unique<Botan_bignum::IsLt>
    - CF_CHECK_NE
    - bn1::GetSize
    - std::make_unique<Botan_bignum::IsOne>
    - bn2::ToString
    - std::make_unique<Botan_bignum::LCM>
    - std::optional<Botan_bignum::Bignum>
    - std::make_unique<Botan_bignum::RShift>
    - modulo::ToTrimmedString
    - calcOp::Get
    - bn2::GetSize
    - std::make_unique<Botan_bignum::RandRange>
    - bn0::ToString
    - std::make_unique<Botan_bignum::Exp>
    - std::make_unique<Botan_bignum::Ressol>
    - std::make_unique<Botan_bignum::Cmp>
    - std::make_unique<Botan_bignum::Mod>
    - std::make_unique<Botan_bignum::MulDivCeil>
    - std::make_unique<Botan_bignum::IsGt>
    - std::make_unique<Botan_bignum::Div>
    - std::make_unique<Botan_bignum::Jacobi>
    - std::make_unique<Botan_bignum::SubMod>
    - std::make_unique<Botan_bignum::IsLte>
    - CF_CHECK_EQ
    - Botan_bignum::Bignum::Ref
    - std::make_unique<Botan_bignum::Add>
    - std::make_unique<Botan_bignum::Abs>
    - std::unique_ptr::Run
    - std::make_unique<Botan_bignum::IsPrime>
    - std::make_unique<Botan_bignum::SetBit>
    - std::make_unique<Botan_bignum::Sqrt>
    - std::make_unique<Botan_bignum::ExpMod>
    - std::make_unique<Botan_bignum::SqrMod>
    - std::make_unique<Botan_bignum::LShift1>
    - std::make_unique<Botan_bignum::Neg>
    - std::make_unique<Botan_bignum::Bit>
    - std::make_unique<Botan_bignum::IsZero>
    - std::make_unique<Botan_bignum::Not>
    - std::make_unique<Botan_bignum::MulAdd>
    - std::make_unique<Botan_bignum::NumBits>
    - cryptofuzz::util::HexToDec
    - std::make_unique<Botan_bignum::Sub>
    - std::make_unique<Botan_bignum::Sqr>
    - std::make_unique<Botan_bignum::ClearBit>
    - std::make_unique<Botan_bignum::IsEq>
    - getBignum
    - std::make_unique<Botan_bignum::AddMod>
    - std::make_unique<Botan_bignum::GCD>
    - std::make_unique<Botan_bignum::IsEven>
    - std::make_unique<Botan_bignum::MulMod>
    - std::make_unique<Botan_bignum::Set>
    - std::make_unique<Botan_bignum::Mul>
    - std::make_unique<Botan_bignum::NumLSZeroBits>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Botan::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 1983
    functionName: Botan::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/botan/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Botan::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:9,1
    - Dst: end
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:9,1
    - Dst: Botan::HashFunction::create
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:15,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:18,1
    - Dst: auto::second::c_str
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:18,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 7
    functionDepth: 2
    functionLinenumber: 7
    functionLinenumberEnd: 21
    functionName: test_digests
    functionSourceFile: /src/cryptofuzz/modules/botan/test_strings.cpp
    functionUses: 0
    functionsReached:
    - auto::second::c_str
    - printf
    - begin
    - Botan::HashFunction::create
    - end
    linkageType: ''
    returnType: void
    signature: void test_digests(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:25,1
    - Dst: end
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:25,1
    - Dst: Botan::Cipher_Mode::create
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:26,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:28,1
    - Dst: auto::second::first::c_str
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: test_ciphers
    functionSourceFile: /src/cryptofuzz/modules/botan/test_strings.cpp
    functionUses: 0
    functionsReached:
    - Botan::Cipher_Mode::create
    - printf
    - begin
    - end
    - auto::second::first::c_str
    linkageType: ''
    returnType: void
    signature: void test_ciphers(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_digests
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:34,1
    - Dst: test_ciphers
      Src: /src/cryptofuzz/modules/botan/test_strings.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/botan/test_strings.cpp
    functionUses: 97
    functionsReached:
    - test_digests
    - test_ciphers
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/botan/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_add
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:15,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:15,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:15,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 16
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::relic_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Get
    - bn_add
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_sub
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:27,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:27,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:27,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: cryptofuzz::module::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Get
    - bn_sub
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:36,1
    - Dst: bn_mul
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:40,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:40,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:40,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:40,1
    - Dst: bn_mul_basic
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:47,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:47,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:47,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: cryptofuzz::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - bn_mul
    - Get
    - bn_mul_basic
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, Bignum& res, std::vector<Bignum>& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:138,1
    - Dst: bn_gcd
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:149,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:149,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:149,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:149,1
    - Dst: bn_gcd_basic
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:156,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:156,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:156,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_ops.cpp:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - type
    argTypes:
    - Datasource
    - Bignum
    - std::vector<Bignum>
    - GCDType
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: GCD_ExtGCD
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Get
    - bn_gcd
    - bn_gcd_basic
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool GCD_ExtGCD(Datasource& ds, Bignum& res, std::vector<Bignum>& bn,
      const GCDType type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:10,1
    - Dst: bn_new
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: cryptofuzz::module::relic_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - bn_null
    - bn_new
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:16,1
    - Dst: bn_new
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:17,1
    - Dst: bn_copy
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: cryptofuzz::module::relic_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - bn_null
    - bn_copy
    - bn_new
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(const Bignum& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_null
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:24,1
    - Dst: bn_new
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:25,1
    - Dst: bn_copy
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: cryptofuzz::module::relic_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - bn_null
    - bn_copy
    - bn_new
    linkageType: ''
    returnType: void
    signature: void Bignum::Bignum(const Bignum&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:34,1
    - Dst: bn_size_str
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:45,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:46,1
    - Dst: bn_write_str
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:47,1
    - Dst: bn_read_str
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:51,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::relic_bignum::Bignum::baseConversion
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - bn_write_str
    - cryptofuzz::util::malloc
    - Get
    - bn_size_str
    - bn_read_str
    linkageType: ''
    returnType: void
    signature: void Bignum::baseConversion(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_read_str
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:63,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:63,1
    - Dst: size
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: cryptofuzz::Bignum::Set
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - bn_read_str
    - size
    linkageType: ''
    returnType: bool
    signature: bool Bignum::Set(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_size_str
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:73,1
    - Dst: bn_write_str
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:75,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:76,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:77,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: Bignum::ToString
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_helper.cpp
    functionUses: 3
    functionsReached:
    - cryptofuzz::util::free
    - std::string
    - bn_size_str
    - bn_write_str
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> Bignum::ToString(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bignum::ToString
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:84,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: Bignum::ToComponentBignum
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_helper.cpp
    functionUses: 2
    functionsReached:
    - CF_CHECK_NE
    - Bignum::ToString
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Bignum::ToComponentBignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:96,1
    - Dst: bn_size_bin
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:96,1
    - Dst: bn_write_bin
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:99,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:99,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:101,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:101,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:101,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:104,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: Bignum::ToSizeT
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - bn_size_bin
    - std::array::data
    - std::array::end
    - std::array::begin
    - std::reverse
    - memcpy
    - bn_write_bin
    - CF_CHECK_LTE
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> Bignum::ToSizeT(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:118,1
    - Dst: baseConversion
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: '& Bignum::Get(void)'
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - baseConversion
    - Get
    linkageType: ''
    returnType: bn_t
    signature: bn_t & Bignum::Get(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bn_free
      Src: /src/cryptofuzz/modules/relic/bn_helper.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: Bignum::~Bignum(void)
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_helper.cpp
    functionUses: 0
    functionsReached:
    - bn_free
    linkageType: ''
    returnType: void
    signature: void Bignum::~Bignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/relic/module.cpp:16,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/relic/module.cpp:23,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/relic/module.cpp:24,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/relic/module.cpp:24,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/relic/module.cpp:25,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/relic/module.cpp:25,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/relic/module.cpp:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - out
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 31
    functionName: cryptofuzz::module::relic_detail::relic_fuzzer_rng
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - memcpy
    - auto::data
    - memset
    - auto::size
    - GetData
    linkageType: ''
    returnType: void
    signature: void relic_fuzzer_rng(uint8_t* out, size_t size, void*)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/relic/module.cpp:42,1
    - Dst: core_init
      Src: /src/cryptofuzz/modules/relic/module.cpp:42,1
    - Dst: rand_seed
      Src: /src/cryptofuzz/modules/relic/module.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: cryptofuzz::module::relic::relic
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - rand_seed
    - core_init
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void relic::relic(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: component::CurveType::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:51,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/relic/module.cpp:53,1
    - Dst: ep_param_set
      Src: /src/cryptofuzz/modules/relic/module.cpp:54,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/relic/module.cpp:58,1
    - Dst: ep_param_set
      Src: /src/cryptofuzz/modules/relic/module.cpp:59,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/relic/module.cpp:62,1
    - Dst: ep_param_set
      Src: /src/cryptofuzz/modules/relic/module.cpp:63,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/relic/module.cpp:66,1
    - Dst: ep_param_set
      Src: /src/cryptofuzz/modules/relic/module.cpp:67,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/relic/module.cpp:71,1
    - Dst: ep_param_set
      Src: /src/cryptofuzz/modules/relic/module.cpp:72,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/relic/module.cpp:76,1
    - Dst: ep_param_set
      Src: /src/cryptofuzz/modules/relic/module.cpp:77,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/relic/module.cpp:81,1
    - Dst: ep_param_set
      Src: /src/cryptofuzz/modules/relic/module.cpp:82,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/relic/module.cpp:85,1
    - Dst: ep_param_set
      Src: /src/cryptofuzz/modules/relic/module.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - curveType
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 91
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 91
    functionName: cryptofuzz::module::relic_detail::SetCurve
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - component::CurveType::Get
    - ep_param_set
    - CF_ECC_CURVE
    linkageType: ''
    returnType: bool
    signature: bool SetCurve(const component::CurveType curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:96,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:97,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/relic/module.cpp:100,1
    - Dst: md_map_sh224
      Src: /src/cryptofuzz/modules/relic/module.cpp:100,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:100,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:100,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/relic/module.cpp:101,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:104,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/relic/module.cpp:107,1
    - Dst: md_map_sh256
      Src: /src/cryptofuzz/modules/relic/module.cpp:107,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:107,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:107,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/relic/module.cpp:108,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:111,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/relic/module.cpp:114,1
    - Dst: md_map_sh384
      Src: /src/cryptofuzz/modules/relic/module.cpp:114,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:114,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:114,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/relic/module.cpp:115,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:118,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/relic/module.cpp:121,1
    - Dst: md_map_sh512
      Src: /src/cryptofuzz/modules/relic/module.cpp:121,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:121,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:121,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/relic/module.cpp:122,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:125,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/relic/module.cpp:128,1
    - Dst: md_map_b2s160
      Src: /src/cryptofuzz/modules/relic/module.cpp:128,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:128,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:128,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/relic/module.cpp:129,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:132,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/relic/module.cpp:135,1
    - Dst: md_map_b2s256
      Src: /src/cryptofuzz/modules/relic/module.cpp:135,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:135,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:135,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/relic/module.cpp:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 142
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 142
    functionName: cryptofuzz::module::relic::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - md_map_b2s160
    - cleartext::GetPtr
    - digestType::Get
    - CF_NORET
    - Botan::PKCS11::LowLevel::C_Digest
    - md_map_sh384
    - md_map_sh256
    - CF_DIGEST
    - md_map_sh224
    - md_map_b2s256
    - md_map_sh512
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> relic::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/relic/module.cpp:147,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:147,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/relic/module.cpp:149,1
    - Dst: md_hmac
      Src: /src/cryptofuzz/modules/relic/module.cpp:149,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:149,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:149,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:149,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:149,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/relic/module.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: cryptofuzz::module::relic::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetPtr
    - CF_NORET
    - digestType::Is
    - CF_DIGEST
    - md_hmac
    - cipher::key::GetPtr
    - Botan_CLI::HMAC::HMAC
    - cipher::key::GetSize
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> relic::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:163,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/relic/module.cpp:164,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/relic/module.cpp:165,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/relic/module.cpp:166,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/relic/module.cpp:168,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:168,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/relic/module.cpp:170,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/relic/module.cpp:171,1
    - Dst: bc_aes_cbc_enc
      Src: /src/cryptofuzz/modules/relic/module.cpp:172,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:174,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:174,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:175,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:175,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:176,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/relic/module.cpp:177,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/relic/module.cpp:177,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/relic/module.cpp:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 186
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 186
    functionName: cryptofuzz::module::relic::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - cipher::cipherType::Get
    - cleartext::GetPtr
    - CF_CHECK_EQ
    - CF_CIPHER
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - cipher::key::GetPtr
    - Buffer
    - cryptofuzz::util::malloc
    - cipher::key::GetSize
    - bc_aes_cbc_enc
    - cryptofuzz::component::Ciphertext::Ciphertext
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> relic::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:193,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/relic/module.cpp:194,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/relic/module.cpp:195,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/relic/module.cpp:196,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/relic/module.cpp:198,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:198,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/relic/module.cpp:200,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/relic/module.cpp:201,1
    - Dst: bc_aes_cbc_dec
      Src: /src/cryptofuzz/modules/relic/module.cpp:202,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:204,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:204,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:205,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:205,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:206,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/relic/module.cpp:207,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/relic/module.cpp:207,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/relic/module.cpp:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 216
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 216
    functionName: cryptofuzz::module::relic::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - ciphertext::GetSize
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - CF_CIPHER
    - cipher::iv::GetSize
    - ciphertext::GetPtr
    - cipher::iv::GetPtr
    - cipher::key::GetPtr
    - Buffer
    - cryptofuzz::util::malloc
    - cipher::key::GetSize
    - component::Cleartext
    - bc_aes_cbc_dec
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> relic::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/relic/module.cpp:223,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:223,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:224,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/relic/module.cpp:225,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/relic/module.cpp:226,1
    - Dst: md_kdf
      Src: /src/cryptofuzz/modules/relic/module.cpp:226,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:226,1
    - Dst: secret::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:226,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/relic/module.cpp:227,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/relic/module.cpp:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_X963
    constantsTouched: []
    func_position:
      end: 236
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 236
    functionName: cryptofuzz::module::relic::OpKDF_X963
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - md_kdf
    - secret::GetSize
    - CF_NORET
    - digestType::Is
    - secret::GetPtr
    - CF_DIGEST
    - cryptofuzz::util::malloc
    - info::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> relic::OpKDF_X963(operation::KDF_X963&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:240,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:240,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:247,1
    - Dst: cryptofuzz::module::relic_detail::SetCurve
      Src: /src/cryptofuzz/modules/relic/module.cpp:247,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:250,1
    - Dst: relic_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/relic/module.cpp:250,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:250,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/relic/module.cpp:255,1
    - Dst: bn_is_zero
      Src: /src/cryptofuzz/modules/relic/module.cpp:255,1
    - Dst: relic_bignum::Bignum::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:255,1
    - Dst: ec_curve_get_ord
      Src: /src/cryptofuzz/modules/relic/module.cpp:258,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:258,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/relic/module.cpp:259,1
    - Dst: bn_cmp
      Src: /src/cryptofuzz/modules/relic/module.cpp:259,1
    - Dst: relic_bignum::Bignum::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:259,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:259,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:263,1
    - Dst: ec_mul_gen
      Src: /src/cryptofuzz/modules/relic/module.cpp:267,1
    - Dst: relic_bignum::Bignum::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 268
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 268
    functionName: cryptofuzz::module::relic::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - relic_bignum::Bignum::Set
    - relic_bignum::Bignum::Get
    - modifier::GetPtr
    - CF_CHECK_EQ
    - ec_new
    - Get
    - ec_mul_gen
    - ec_curve_get_ord
    - bn_cmp
    - modifier::GetSize
    - bn_is_zero
    - cryptofuzz::module::relic_detail::SetCurve
    - CF_CHECK_TRUE
    - priv::ToString
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> relic::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:300,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:300,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/relic/module.cpp:302,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:302,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:302,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:312,1
    - Dst: cryptofuzz::module::relic_detail::SetCurve
      Src: /src/cryptofuzz/modules/relic/module.cpp:312,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:315,1
    - Dst: relic_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/relic/module.cpp:315,1
    - Dst: signature::signature::first::ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:315,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:316,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/relic/module.cpp:316,1
    - Dst: signature::signature::second::ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:316,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:320,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:326,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:326,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:326,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:327,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:327,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:327,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/relic/module.cpp:329,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:330,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:330,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:330,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:330,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:331,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:331,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:331,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:331,1
    - Dst: ec_read_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:333,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/relic/module.cpp:333,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/relic/module.cpp:339,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:339,1
    - Dst: Buffer::SHA256
      Src: /src/cryptofuzz/modules/relic/module.cpp:340,1
    - Dst: Buffer::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/relic/module.cpp:343,1
    - Dst: Buffer::GetVectorPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:345,1
    - Dst: cp_ecdsa_ver
      Src: /src/cryptofuzz/modules/relic/module.cpp:347,1
    - Dst: relic_bignum::Bignum::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:347,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:347,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/relic/module.cpp:347,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/relic/module.cpp:347,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 355
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 355
    functionName: cryptofuzz::relic::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - signature::signature::second::ToString
    - cp_ecdsa_ver
    - modifier::GetPtr
    - signature::signature::first::ToString
    - std::vector::push_back
    - modifier::GetSize
    - relic_bignum::Bignum::Set
    - CF_CHECK_NE
    - Buffer::ECDSA_RandomPad
    - cryptofuzz::util::DecToBin
    - std::vector::data
    - signature::pub::first::ToTrimmedString
    - relic_bignum::Bignum::Get
    - ec_new
    - digestType::Is
    - Buffer::GetVectorPtr
    - end
    - Get
    - CF_CHECK_TRUE
    - signature::pub::second::ToTrimmedString
    - begin
    - Set
    - ec_read_bin
    - CF_DIGEST
    - Buffer::SHA256
    - std::vector::insert
    - auto::data
    - auto::size
    - ec_free
    - cryptofuzz::module::relic_detail::SetCurve
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> relic::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:365,1
    - Dst: cryptofuzz::module::relic_detail::SetCurve
      Src: /src/cryptofuzz/modules/relic/module.cpp:365,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:369,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:375,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:375,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:375,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:376,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:376,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:376,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/relic/module.cpp:378,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:379,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:379,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:379,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:379,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:380,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:380,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:380,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:380,1
    - Dst: ec_read_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:382,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/relic/module.cpp:382,1
    - Dst: ec_on_curve
      Src: /src/cryptofuzz/modules/relic/module.cpp:385,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 392
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 392
    functionName: cryptofuzz::relic::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - begin
    - ec_new
    - pub::first::ToTrimmedString
    - ec_on_curve
    - end
    - std::vector::push_back
    - ec_read_bin
    - pub::second::ToTrimmedString
    - std::vector::insert
    - cryptofuzz::util::DecToBin
    - ec_free
    - cryptofuzz::module::relic_detail::SetCurve
    - CF_CHECK_TRUE
    - std::vector::data
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> relic::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:396,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:396,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/relic/module.cpp:398,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/relic/module.cpp:401,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:401,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:401,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:414,1
    - Dst: cryptofuzz::module::relic_detail::SetCurve
      Src: /src/cryptofuzz/modules/relic/module.cpp:414,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:417,1
    - Dst: relic_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/relic/module.cpp:417,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:417,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/relic/module.cpp:418,1
    - Dst: bn_is_zero
      Src: /src/cryptofuzz/modules/relic/module.cpp:418,1
    - Dst: relic_bignum::Bignum::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:418,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/relic/module.cpp:425,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/relic/module.cpp:425,1
    - Dst: Buffer::SHA256
      Src: /src/cryptofuzz/modules/relic/module.cpp:426,1
    - Dst: cleartext::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/relic/module.cpp:429,1
    - Dst: Buffer::GetVectorPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:431,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/relic/module.cpp:433,1
    - Dst: cp_ecdsa_sig
      Src: /src/cryptofuzz/modules/relic/module.cpp:433,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:433,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:433,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/relic/module.cpp:433,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/relic/module.cpp:433,1
    - Dst: relic_bignum::Bignum::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:433,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:436,1
    - Dst: ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:436,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:437,1
    - Dst: ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:437,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:440,1
    - Dst: ec_mul_gen
      Src: /src/cryptofuzz/modules/relic/module.cpp:443,1
    - Dst: relic_bignum::Bignum::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 444
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 444
    functionName: cryptofuzz::relic::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - ec_mul_gen
    - modifier::GetSize
    - cleartext::ECDSA_RandomPad
    - UseRandomNonce
    - relic_bignum::Bignum::Set
    - priv::ToString
    - CF_CHECK_NE
    - relic_bignum::Bignum::Get
    - CF_CHECK_EQ
    - digestType::Is
    - ToString
    - ec_new
    - Buffer::GetVectorPtr
    - cp_ecdsa_sig
    - Get
    - CF_CHECK_TRUE
    - Buffer::SHA256
    - CF_DIGEST
    - auto::data
    - bn_is_zero
    - auto::size
    - cryptofuzz::module::relic_detail::SetCurve
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> relic::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:490,1
    - Dst: cryptofuzz::module::relic_detail::SetCurve
      Src: /src/cryptofuzz/modules/relic/module.cpp:490,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:494,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:498,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:498,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:498,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:499,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:499,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:499,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/relic/module.cpp:501,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:502,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:502,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:502,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:502,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:503,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:503,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:503,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:503,1
    - Dst: ec_read_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:505,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/relic/module.cpp:505,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:507,1
    - Dst: ec_on_curve
      Src: /src/cryptofuzz/modules/relic/module.cpp:507,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:512,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:516,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:516,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:516,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:517,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:517,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:517,1
    - Dst: push_back
      Src: /src/cryptofuzz/modules/relic/module.cpp:519,1
    - Dst: insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:520,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:520,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:520,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:520,1
    - Dst: insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:521,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:521,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:521,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:521,1
    - Dst: ec_read_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:523,1
    - Dst: data
      Src: /src/cryptofuzz/modules/relic/module.cpp:523,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:525,1
    - Dst: ec_on_curve
      Src: /src/cryptofuzz/modules/relic/module.cpp:525,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:529,1
    - Dst: ec_add
      Src: /src/cryptofuzz/modules/relic/module.cpp:531,1
    - Dst: ec_write_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:535,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/relic/module.cpp:537,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/relic/module.cpp:538,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/relic/module.cpp:540,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:547,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:550,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 557
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 557
    functionName: relic::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - ec_on_curve
    - std::vector::push_back
    - a::second::ToTrimmedString
    - ec_add
    - insert
    - CF_CHECK_NE
    - a::first::ToTrimmedString
    - b::first::ToTrimmedString
    - data
    - cryptofuzz::util::DecToBin
    - std::vector::data
    - cryptofuzz::util::free
    - ec_new
    - end
    - cryptofuzz::util::BinToDec
    - push_back
    - CF_CHECK_TRUE
    - b::second::ToTrimmedString
    - ec_write_bin
    - begin
    - ec_read_bin
    - std::vector::insert
    - ec_free
    - cryptofuzz::module::relic_detail::SetCurve
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> relic::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:561,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:561,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:569,1
    - Dst: cryptofuzz::module::relic_detail::SetCurve
      Src: /src/cryptofuzz/modules/relic/module.cpp:569,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:573,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:577,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:577,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:577,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:578,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:578,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:578,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/relic/module.cpp:580,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:581,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:581,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:581,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:581,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:582,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:582,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:582,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:582,1
    - Dst: ec_read_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:584,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/relic/module.cpp:584,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:586,1
    - Dst: ec_on_curve
      Src: /src/cryptofuzz/modules/relic/module.cpp:586,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:590,1
    - Dst: relic_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/relic/module.cpp:590,1
    - Dst: b::ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:590,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:593,1
    - Dst: ec_mul
      Src: /src/cryptofuzz/modules/relic/module.cpp:595,1
    - Dst: relic_bignum::Bignum::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:595,1
    - Dst: ec_write_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:599,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/relic/module.cpp:601,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/relic/module.cpp:602,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/relic/module.cpp:604,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:611,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 618
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 618
    functionName: relic::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - b::ToString
    - modifier::GetPtr
    - ec_on_curve
    - std::vector::push_back
    - modifier::GetSize
    - a::second::ToTrimmedString
    - relic_bignum::Bignum::Set
    - CF_CHECK_NE
    - a::first::ToTrimmedString
    - cryptofuzz::util::DecToBin
    - ec_mul
    - std::vector::data
    - cryptofuzz::util::free
    - relic_bignum::Bignum::Get
    - ec_new
    - end
    - cryptofuzz::util::BinToDec
    - CF_CHECK_TRUE
    - ec_write_bin
    - begin
    - ec_read_bin
    - std::vector::insert
    - ec_free
    - cryptofuzz::module::relic_detail::SetCurve
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> relic::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:622,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:622,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:629,1
    - Dst: cryptofuzz::module::relic_detail::SetCurve
      Src: /src/cryptofuzz/modules/relic/module.cpp:629,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:633,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:637,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:637,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:637,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:638,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:638,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:638,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/relic/module.cpp:640,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:641,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:641,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:641,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:641,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:642,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:642,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:642,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:642,1
    - Dst: ec_read_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:644,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/relic/module.cpp:644,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:646,1
    - Dst: ec_on_curve
      Src: /src/cryptofuzz/modules/relic/module.cpp:646,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:650,1
    - Dst: ec_dbl
      Src: /src/cryptofuzz/modules/relic/module.cpp:652,1
    - Dst: ec_write_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:656,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/relic/module.cpp:658,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/relic/module.cpp:659,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/relic/module.cpp:661,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:668,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 675
      start: 620
    functionDepth: 2
    functionLinenumber: 620
    functionLinenumberEnd: 675
    functionName: relic::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - ec_on_curve
    - std::vector::push_back
    - modifier::GetSize
    - a::second::ToTrimmedString
    - ec_dbl
    - CF_CHECK_NE
    - a::first::ToTrimmedString
    - cryptofuzz::util::DecToBin
    - std::vector::data
    - cryptofuzz::util::free
    - ec_new
    - end
    - cryptofuzz::util::BinToDec
    - CF_CHECK_TRUE
    - ec_write_bin
    - begin
    - ec_read_bin
    - std::vector::insert
    - ec_free
    - cryptofuzz::module::relic_detail::SetCurve
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> relic::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:679,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:679,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:686,1
    - Dst: cryptofuzz::module::relic_detail::SetCurve
      Src: /src/cryptofuzz/modules/relic/module.cpp:686,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:690,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:694,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:694,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:694,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:695,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/relic/module.cpp:695,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/relic/module.cpp:695,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/relic/module.cpp:697,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:698,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:698,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:698,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:698,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/relic/module.cpp:699,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:699,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/relic/module.cpp:699,1
    - Dst: end
      Src: /src/cryptofuzz/modules/relic/module.cpp:699,1
    - Dst: ec_read_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:701,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/relic/module.cpp:701,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:703,1
    - Dst: ec_on_curve
      Src: /src/cryptofuzz/modules/relic/module.cpp:703,1
    - Dst: ec_new
      Src: /src/cryptofuzz/modules/relic/module.cpp:707,1
    - Dst: ec_neg
      Src: /src/cryptofuzz/modules/relic/module.cpp:709,1
    - Dst: ec_write_bin
      Src: /src/cryptofuzz/modules/relic/module.cpp:713,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/relic/module.cpp:715,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/relic/module.cpp:716,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/relic/module.cpp:718,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:725,1
    - Dst: ec_free
      Src: /src/cryptofuzz/modules/relic/module.cpp:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 732
      start: 677
    functionDepth: 2
    functionLinenumber: 677
    functionLinenumberEnd: 732
    functionName: relic::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - ec_on_curve
    - std::vector::push_back
    - modifier::GetSize
    - a::second::ToTrimmedString
    - CF_CHECK_NE
    - a::first::ToTrimmedString
    - cryptofuzz::util::DecToBin
    - ec_neg
    - std::vector::data
    - cryptofuzz::util::free
    - ec_new
    - end
    - cryptofuzz::util::BinToDec
    - CF_CHECK_TRUE
    - ec_write_bin
    - begin
    - ec_read_bin
    - std::vector::insert
    - ec_free
    - cryptofuzz::module::relic_detail::SetCurve
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> relic::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/relic/module.cpp:736,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/relic/module.cpp:736,1
    - Dst: std::move
      Src: /src/cryptofuzz/modules/relic/module.cpp:740,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/relic/module.cpp:740,1
    - Dst: std::move
      Src: /src/cryptofuzz/modules/relic/module.cpp:741,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/relic/module.cpp:741,1
    - Dst: std::move
      Src: /src/cryptofuzz/modules/relic/module.cpp:742,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/relic/module.cpp:742,1
    - Dst: std::move
      Src: /src/cryptofuzz/modules/relic/module.cpp:743,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/relic/module.cpp:743,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:748,1
    - Dst: relic_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/relic/module.cpp:748,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:749,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/relic/module.cpp:749,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:749,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:750,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/relic/module.cpp:750,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:750,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:751,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/relic/module.cpp:751,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:751,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/relic/module.cpp:752,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/relic/module.cpp:752,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/modules/relic/module.cpp:752,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/relic/module.cpp:754,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:755,1
    - Dst: std::make_unique<relic_bignum::Add>
      Src: /src/cryptofuzz/modules/relic/module.cpp:756,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:758,1
    - Dst: std::make_unique<relic_bignum::Sub>
      Src: /src/cryptofuzz/modules/relic/module.cpp:759,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:761,1
    - Dst: std::make_unique<relic_bignum::Mul>
      Src: /src/cryptofuzz/modules/relic/module.cpp:762,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:764,1
    - Dst: std::make_unique<relic_bignum::Sqr>
      Src: /src/cryptofuzz/modules/relic/module.cpp:765,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:767,1
    - Dst: std::make_unique<relic_bignum::Div>
      Src: /src/cryptofuzz/modules/relic/module.cpp:768,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:770,1
    - Dst: std::make_unique<relic_bignum::GCD>
      Src: /src/cryptofuzz/modules/relic/module.cpp:771,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:773,1
    - Dst: std::make_unique<relic_bignum::ExtGCD_X>
      Src: /src/cryptofuzz/modules/relic/module.cpp:774,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:776,1
    - Dst: std::make_unique<relic_bignum::ExtGCD_Y>
      Src: /src/cryptofuzz/modules/relic/module.cpp:777,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:779,1
    - Dst: std::make_unique<relic_bignum::LCM>
      Src: /src/cryptofuzz/modules/relic/module.cpp:780,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:782,1
    - Dst: std::make_unique<relic_bignum::InvMod>
      Src: /src/cryptofuzz/modules/relic/module.cpp:783,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:785,1
    - Dst: std::make_unique<relic_bignum::LShift1>
      Src: /src/cryptofuzz/modules/relic/module.cpp:786,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:788,1
    - Dst: std::make_unique<relic_bignum::Jacobi>
      Src: /src/cryptofuzz/modules/relic/module.cpp:789,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:791,1
    - Dst: std::make_unique<relic_bignum::Cmp>
      Src: /src/cryptofuzz/modules/relic/module.cpp:792,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:794,1
    - Dst: std::make_unique<relic_bignum::Mod>
      Src: /src/cryptofuzz/modules/relic/module.cpp:795,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:797,1
    - Dst: std::make_unique<relic_bignum::IsEven>
      Src: /src/cryptofuzz/modules/relic/module.cpp:798,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:800,1
    - Dst: std::make_unique<relic_bignum::IsOdd>
      Src: /src/cryptofuzz/modules/relic/module.cpp:801,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:803,1
    - Dst: std::make_unique<relic_bignum::IsZero>
      Src: /src/cryptofuzz/modules/relic/module.cpp:804,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:806,1
    - Dst: std::make_unique<relic_bignum::Neg>
      Src: /src/cryptofuzz/modules/relic/module.cpp:807,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:809,1
    - Dst: std::make_unique<relic_bignum::Sqrt>
      Src: /src/cryptofuzz/modules/relic/module.cpp:810,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:812,1
    - Dst: std::make_unique<relic_bignum::Abs>
      Src: /src/cryptofuzz/modules/relic/module.cpp:813,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:815,1
    - Dst: std::make_unique<relic_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/relic/module.cpp:816,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:818,1
    - Dst: std::make_unique<relic_bignum::NumBits>
      Src: /src/cryptofuzz/modules/relic/module.cpp:819,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:821,1
    - Dst: std::make_unique<relic_bignum::CmpAbs>
      Src: /src/cryptofuzz/modules/relic/module.cpp:822,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:824,1
    - Dst: std::make_unique<relic_bignum::RShift>
      Src: /src/cryptofuzz/modules/relic/module.cpp:825,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:827,1
    - Dst: std::make_unique<relic_bignum::Bit>
      Src: /src/cryptofuzz/modules/relic/module.cpp:828,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:830,1
    - Dst: std::make_unique<relic_bignum::SetBit>
      Src: /src/cryptofuzz/modules/relic/module.cpp:831,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/relic/module.cpp:833,1
    - Dst: std::make_unique<relic_bignum::ClearBit>
      Src: /src/cryptofuzz/modules/relic/module.cpp:834,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/relic/module.cpp:838,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/relic/module.cpp:839,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/relic/module.cpp:839,1
    - Dst: relic_bignum::Bignum::ToComponentBignum
      Src: /src/cryptofuzz/modules/relic/module.cpp:841,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 95
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 845
      start: 734
    functionDepth: 3
    functionLinenumber: 734
    functionLinenumberEnd: 845
    functionName: relic::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/relic/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - std::make_unique<relic_bignum::Sqrt>
    - modifier::GetPtr
    - std::make_unique<relic_bignum::Sqr>
    - std::make_unique<relic_bignum::CmpAbs>
    - std::make_unique<relic_bignum::ClearBit>
    - std::make_unique<relic_bignum::GCD>
    - modifier::GetSize
    - std::make_unique<relic_bignum::Cmp>
    - relic_bignum::Bignum::Set
    - bn1::ToString
    - bn3::ToString
    - std::make_unique<relic_bignum::ExtGCD_X>
    - CF_CHECK_NE
    - std::make_unique<relic_bignum::Add>
    - std::make_unique<relic_bignum::ExpMod>
    - bn2::ToString
    - std::make_unique<relic_bignum::SetBit>
    - std::make_unique<relic_bignum::Div>
    - calcOp::Get
    - std::make_unique<relic_bignum::IsOdd>
    - bn0::ToString
    - relic_bignum::Bignum::ToComponentBignum
    - std::make_unique<relic_bignum::Abs>
    - std::make_unique<relic_bignum::LCM>
    - std::make_unique<relic_bignum::Bit>
    - CF_CHECK_EQ
    - std::make_unique<relic_bignum::Sub>
    - std::make_unique<relic_bignum::LShift1>
    - std::make_unique<relic_bignum::ExtGCD_Y>
    - std::move
    - std::make_unique<relic_bignum::IsEven>
    - std::unique_ptr::Run
    - CF_CHECK_TRUE
    - std::make_unique<relic_bignum::Mod>
    - std::make_unique<relic_bignum::Neg>
    - std::make_unique<relic_bignum::Mul>
    - std::make_unique<relic_bignum::RShift>
    - Set
    - getBignum
    - std::make_unique<relic_bignum::InvMod>
    - std::make_unique<relic_bignum::NumBits>
    - std::make_unique<relic_bignum::IsZero>
    - std::make_unique<relic_bignum::Jacobi>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> relic::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/relic/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 13
    functionName: cryptofuzz::module::Geth::Geth
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Geth::Geth(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/geth/module.cpp:19,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:24,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:24,1
    - Dst: std::vector<uint8_t>::begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:24,1
    - Dst: std::vector<uint8_t>::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' ds'
    - v
    argTypes:
    - Datasource
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 26
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 26
    functionName: cryptofuzz::module::Geth_detail::Pad
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - std::vector<uint8_t>::end
    - std::vector::insert
    - std::vector::end
    - std::vector<uint8_t>::begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Pad(Datasource& ds, const std::vector<uint8_t>
      v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/geth/module.cpp:29,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/geth/module.cpp:29,1
    - Dst: size
      Src: /src/cryptofuzz/modules/geth/module.cpp:29,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/geth/module.cpp:29,1
    - Dst: size
      Src: /src/cryptofuzz/modules/geth/module.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: cryptofuzz::module::Geth_detail::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - static_cast<GoInt>
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::vector<uint8_t>& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Geth_GetResult
      Src: /src/cryptofuzz/modules/geth/module.cpp:33,1
    - Dst: free
      Src: /src/cryptofuzz/modules/geth/module.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::Geth_detail::getResult
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - Geth_GetResult
    - free
    linkageType: ''
    returnType: std::string
    signature: std::string getResult(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Geth_detail::getResult
      Src: /src/cryptofuzz/modules/geth/module.cpp:40,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/geth/module.cpp:41,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/geth/module.cpp:46,1
    - Dst: cryptofuzz::module::Geth_detail::getResult
      Src: /src/cryptofuzz/modules/geth/module.cpp:46,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/geth/module.cpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: cryptofuzz::module::Geth_detail::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    - auto::empty
    - cryptofuzz::module::Geth_detail::getResult
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> getJsonResult(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Geth_detail::getJsonResult
      Src: /src/cryptofuzz/modules/geth/module.cpp:54,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/geth/module.cpp:57,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/geth/module.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: cryptofuzz::module::Geth_detail::parseBuffer
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Geth_detail::getJsonResult
    - abort
    - Buffer
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> parseBuffer(const bool mustSucceed = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Geth_detail::getJsonResult
      Src: /src/cryptofuzz/modules/geth/module.cpp:64,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/geth/module.cpp:67,1
    - Dst: auto::get
      Src: /src/cryptofuzz/modules/geth/module.cpp:71,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/modules/geth/module.cpp:73,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/geth/module.cpp:73,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/geth/module.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: cryptofuzz::module::Geth_detail::parseBignum
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - boost::algorithm::unhex
    - std::back_inserter
    - abort
    - cryptofuzz::util::BinToDec
    - cryptofuzz::module::Geth_detail::getJsonResult
    - auto::get
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> parseBignum(const bool mustSucceed
      = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Geth_detail::getJsonResult
      Src: /src/cryptofuzz/modules/geth/module.cpp:79,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/geth/module.cpp:82,1
    - Dst: auto::get
      Src: /src/cryptofuzz/modules/geth/module.cpp:86,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/geth/module.cpp:87,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/geth/module.cpp:89,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/modules/geth/module.cpp:94,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/geth/module.cpp:94,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/geth/module.cpp:95,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/geth/module.cpp:95,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/geth/module.cpp:98,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/geth/module.cpp:98,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/geth/module.cpp:99,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/geth/module.cpp:100,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/geth/module.cpp:101,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/geth/module.cpp:101,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/geth/module.cpp:102,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/geth/module.cpp:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - element_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 105
    functionName: cryptofuzz::module::Geth_detail::parseG1
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - boost::algorithm::unhex
    - CF_ASSERT
    - std::vector::size
    - std::back_inserter
    - abort
    - std::vector<uint8_t>
    - cryptofuzz::util::BinToDec
    - cryptofuzz::module::Geth_detail::getJsonResult
    - auto::get
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: "std::optional<component::G1> parseG1(\n            const size_t element_size,\n
      \           const bool mustSucceed = false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Geth_detail::getJsonResult
      Src: /src/cryptofuzz/modules/geth/module.cpp:108,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/geth/module.cpp:111,1
    - Dst: auto::get
      Src: /src/cryptofuzz/modules/geth/module.cpp:116,1
    - Dst: boost::algorithm::unhex
      Src: /src/cryptofuzz/modules/geth/module.cpp:118,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/geth/module.cpp:118,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/geth/module.cpp:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 136
    functionName: cryptofuzz::module::Geth_detail::parseBool
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - boost::algorithm::unhex
    - CF_ASSERT
    - std::back_inserter
    - abort
    - cryptofuzz::module::Geth_detail::getJsonResult
    - auto::get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> parseBool(const bool mustSucceed = false)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/geth/module.cpp:140,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/geth/module.cpp:140,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/geth/module.cpp:141,1
    - Dst: Geth_Call
      Src: /src/cryptofuzz/modules/geth/module.cpp:142,1
    - Dst: cryptofuzz::module::Geth_detail::toGoSlice
      Src: /src/cryptofuzz/modules/geth/module.cpp:142,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/geth/module.cpp:143,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/geth/module.cpp:143,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/geth/module.cpp:144,1
    - Dst: Geth_Call
      Src: /src/cryptofuzz/modules/geth/module.cpp:145,1
    - Dst: cryptofuzz::module::Geth_detail::toGoSlice
      Src: /src/cryptofuzz/modules/geth/module.cpp:145,1
    - Dst: cryptofuzz::module::Geth_detail::parseBuffer
      Src: /src/cryptofuzz/modules/geth/module.cpp:150,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/geth/module.cpp:151,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/geth/module.cpp:151,1
    - Dst: auto::Get
      Src: /src/cryptofuzz/modules/geth/module.cpp:152,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/geth/module.cpp:153,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/geth/module.cpp:153,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/geth/module.cpp:154,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/geth/module.cpp:154,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/geth/module.cpp:154,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/geth/module.cpp:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 157
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 157
    functionName: cryptofuzz::module::Geth::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - auto::Get
    - cryptofuzz::module::Geth_detail::parseBuffer
    - Geth_Call
    - CF_ASSERT
    - cleartext::Get
    - digestType::Is
    - std::vector<uint8_t>
    - CF_DIGEST
    - auto::data
    - Buffer
    - auto::size
    - cryptofuzz::module::Geth_detail::toGoSlice
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Geth::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/geth/module.cpp:165,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/geth/module.cpp:165,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/geth/module.cpp:168,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/geth/module.cpp:168,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/geth/module.cpp:183,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/geth/module.cpp:183,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/geth/module.cpp:184,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/geth/module.cpp:184,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/geth/module.cpp:185,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/geth/module.cpp:186,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/geth/module.cpp:186,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/geth/module.cpp:187,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:190,1
    - Dst: a::first::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:190,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:191,1
    - Dst: a::second::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:191,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:192,1
    - Dst: b::first::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:192,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:193,1
    - Dst: b::second::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:193,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:195,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:195,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:195,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:195,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:196,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:196,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:196,1
    - Dst: end
      Src: /src/cryptofuzz/modules/geth/module.cpp:196,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:197,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:197,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:197,1
    - Dst: end
      Src: /src/cryptofuzz/modules/geth/module.cpp:197,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:198,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:198,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:198,1
    - Dst: end
      Src: /src/cryptofuzz/modules/geth/module.cpp:198,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/geth/module.cpp:200,1
    - Dst: Geth_Call
      Src: /src/cryptofuzz/modules/geth/module.cpp:201,1
    - Dst: cryptofuzz::module::Geth_detail::toGoSlice
      Src: /src/cryptofuzz/modules/geth/module.cpp:201,1
    - Dst: cryptofuzz::module::Geth_detail::parseG1
      Src: /src/cryptofuzz/modules/geth/module.cpp:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 208
      start: 159
    functionDepth: 4
    functionLinenumber: 159
    functionLinenumberEnd: 208
    functionName: cryptofuzz::module::Geth::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_FALSE
    - a::second::ToTrimmedString
    - b::first::ToBin
    - CF_CHECK_NE
    - b::second::ToBin
    - Geth_Call
    - a::first::ToTrimmedString
    - b::first::ToTrimmedString
    - cryptofuzz::module::Geth_detail::parseG1
    - std::vector::end
    - a::second::ToBin
    - std::optional::end
    - end
    - cryptofuzz::module::Geth_detail::toGoSlice
    - b::second::ToTrimmedString
    - std::optional::begin
    - CF_ECC_CURVE
    - begin
    - CF_NORET
    - a::first::ToBin
    - curveType::Get
    - std::vector::insert
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Geth::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/geth/module.cpp:216,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/geth/module.cpp:216,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/geth/module.cpp:219,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/geth/module.cpp:219,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/geth/module.cpp:229,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/geth/module.cpp:229,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/geth/module.cpp:230,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/geth/module.cpp:230,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/geth/module.cpp:231,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:234,1
    - Dst: a::first::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:234,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:235,1
    - Dst: a::second::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:235,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:236,1
    - Dst: b::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:236,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:238,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:238,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:238,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:238,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:239,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:239,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:239,1
    - Dst: end
      Src: /src/cryptofuzz/modules/geth/module.cpp:239,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:240,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:240,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:240,1
    - Dst: end
      Src: /src/cryptofuzz/modules/geth/module.cpp:240,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/geth/module.cpp:242,1
    - Dst: Geth_Call
      Src: /src/cryptofuzz/modules/geth/module.cpp:243,1
    - Dst: cryptofuzz::module::Geth_detail::toGoSlice
      Src: /src/cryptofuzz/modules/geth/module.cpp:243,1
    - Dst: cryptofuzz::module::Geth_detail::parseG1
      Src: /src/cryptofuzz/modules/geth/module.cpp:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 250
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 250
    functionName: cryptofuzz::module::Geth::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_FALSE
    - a::second::ToTrimmedString
    - CF_CHECK_NE
    - Geth_Call
    - a::first::ToTrimmedString
    - cryptofuzz::module::Geth_detail::parseG1
    - std::vector::end
    - a::second::ToBin
    - std::optional::end
    - b::ToBin
    - end
    - cryptofuzz::module::Geth_detail::toGoSlice
    - std::optional::begin
    - CF_ECC_CURVE
    - begin
    - CF_NORET
    - a::first::ToBin
    - curveType::Get
    - std::vector::insert
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Geth::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:259,1
    - Dst: g1::first::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:259,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:260,1
    - Dst: g1::second::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:260,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:261,1
    - Dst: g2::first::first::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:261,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:262,1
    - Dst: g2::first::second::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:262,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:263,1
    - Dst: g2::second::first::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:263,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/geth/module.cpp:264,1
    - Dst: g2::second::second::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:264,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:266,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:266,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:266,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:266,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:267,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:267,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:267,1
    - Dst: end
      Src: /src/cryptofuzz/modules/geth/module.cpp:267,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:268,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:268,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:268,1
    - Dst: end
      Src: /src/cryptofuzz/modules/geth/module.cpp:268,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:269,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:269,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:269,1
    - Dst: end
      Src: /src/cryptofuzz/modules/geth/module.cpp:269,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:270,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:270,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:270,1
    - Dst: end
      Src: /src/cryptofuzz/modules/geth/module.cpp:270,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:271,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:271,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:271,1
    - Dst: end
      Src: /src/cryptofuzz/modules/geth/module.cpp:271,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/geth/module.cpp:274,1
    - Dst: Geth_Call
      Src: /src/cryptofuzz/modules/geth/module.cpp:275,1
    - Dst: cryptofuzz::module::Geth_detail::toGoSlice
      Src: /src/cryptofuzz/modules/geth/module.cpp:275,1
    - Dst: cryptofuzz::module::Geth_detail::parseBool
      Src: /src/cryptofuzz/modules/geth/module.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_BatchVerify
    constantsTouched: []
    func_position:
      end: 282
      start: 252
    functionDepth: 4
    functionLinenumber: 252
    functionLinenumberEnd: 282
    functionName: cryptofuzz::module::Geth::OpBLS_BatchVerify
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - g1::second::ToBin
    - CF_CHECK_NE
    - std::optional::begin
    - Geth_Call
    - g2::second::second::ToBin
    - begin
    - CF_NORET
    - std::optional::end
    - cryptofuzz::module::Geth_detail::parseBool
    - g2::first::second::ToBin
    - end
    - g1::first::ToBin
    - g2::second::first::ToBin
    - std::vector::insert
    - std::vector::end
    - g2::first::first::ToBin
    - cryptofuzz::module::Geth_detail::toGoSlice
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Geth::OpBLS_BatchVerify(operation::BLS_BatchVerify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/geth/module.cpp:286,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/geth/module.cpp:286,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/geth/module.cpp:288,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/geth/module.cpp:288,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/geth/module.cpp:291,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/geth/module.cpp:294,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/geth/module.cpp:297,1
    - Dst: cryptofuzz::module::Geth_detail::Pad
      Src: /src/cryptofuzz/modules/geth/module.cpp:303,1
    - Dst: bn0::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:303,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:304,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/geth/module.cpp:304,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/geth/module.cpp:304,1
    - Dst: cryptofuzz::module::Geth_detail::Pad
      Src: /src/cryptofuzz/modules/geth/module.cpp:305,1
    - Dst: bn1::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:305,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:306,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/geth/module.cpp:306,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/geth/module.cpp:306,1
    - Dst: cryptofuzz::module::Geth_detail::Pad
      Src: /src/cryptofuzz/modules/geth/module.cpp:307,1
    - Dst: bn2::ToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:307,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/geth/module.cpp:308,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/geth/module.cpp:308,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/geth/module.cpp:308,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:309,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:309,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:309,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:309,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:310,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:310,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:310,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:310,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:311,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:311,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:311,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:311,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:312,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:312,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:312,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:312,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:313,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:313,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:313,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:313,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/geth/module.cpp:314,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:314,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/geth/module.cpp:314,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/geth/module.cpp:314,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/geth/module.cpp:316,1
    - Dst: Geth_Call
      Src: /src/cryptofuzz/modules/geth/module.cpp:317,1
    - Dst: cryptofuzz::module::Geth_detail::toGoSlice
      Src: /src/cryptofuzz/modules/geth/module.cpp:317,1
    - Dst: cryptofuzz::module::Geth_detail::parseBignum
      Src: /src/cryptofuzz/modules/geth/module.cpp:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 323
      start: 284
    functionDepth: 4
    functionLinenumber: 284
    functionLinenumberEnd: 323
    functionName: cryptofuzz::module::Geth::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/geth/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - cryptofuzz::module::Geth_detail::Pad
    - modifier::GetPtr
    - std::to_string
    - auto::begin
    - modifier::GetSize
    - Geth_Call
    - bn2::ToBin
    - bn1::ToBin
    - cryptofuzz::util::DecToBin
    - std::vector::end
    - auto::end
    - bn0::ToTrimmedString
    - bn2::ToTrimmedString
    - bn1::ToTrimmedString
    - bn0::ToBin
    - cryptofuzz::module::Geth_detail::toGoSlice
    - cryptofuzz::module::Geth_detail::parseBignum
    - calcOp::Is
    - CF_NORET
    - std::vector::insert
    - auto::size
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Geth::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcl::initPairing
      Src: /src/cryptofuzz/modules/mcl/module.cpp:32,1
    - Dst: mclBn_setMapToMode
      Src: /src/cryptofuzz/modules/mcl/module.cpp:33,1
    - Dst: mcl::initPairing
      Src: /src/cryptofuzz/modules/mcl/module.cpp:35,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mcl/module.cpp:37,1
    - Dst: mclBn_verifyOrderG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:37,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mcl/module.cpp:38,1
    - Dst: mclBn_verifyOrderG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: cryptofuzz::module::mcl::mcl
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - mcl::initPairing
    - mclBn_verifyOrderG2
    - CF_NORET
    - mclBn_setMapToMode
    - mclBn_verifyOrderG1
    linkageType: ''
    returnType: void
    signature: void mcl::mcl(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/cryptofuzz/modules/mcl/module.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/mcl/module.cpp:49,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/mcl/module.cpp:52,1
    - Dst: std::vector<std::string>
      Src: /src/cryptofuzz/modules/mcl/module.cpp:53,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: cryptofuzz::module::mcl_detail::split
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - getline
    - std::string
    - std::vector::push_back
    - std::vector<std::string>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> split(const std::string& s, std::optional<size_t>
      expectedNumParts = std::nullopt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aug::Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:69,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:70,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/mcl/module.cpp:71,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/mcl/module.cpp:71,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/mcl/module.cpp:71,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/mcl/module.cpp:71,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/mcl/module.cpp:72,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/mcl/module.cpp:72,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/mcl/module.cpp:72,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/mcl/module.cpp:72,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/mcl/module.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: cryptofuzz::module::mcl_detail::MsgAug
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::Get
    - auto::begin
    - std::vector::insert
    - Buffer
    - std::vector::end
    - auto::end
    - aug::Get
    linkageType: ''
    returnType: Buffer
    signature: Buffer MsgAug(const T& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:78,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:79,1
    - Dst: first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:79,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:80,1
    - Dst: second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g1'
    argTypes:
    - component::G1
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: cryptofuzz::module::mcl_detail::Convert
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - second::ToTrimmedString
    - first::ToTrimmedString
    - G1
    - Fp
    linkageType: ''
    returnType: Namespace::G1
    signature: Namespace::G1 Convert(const component::G1& g1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: G2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:84,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:85,1
    - Dst: first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:85,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:85,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:85,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:86,1
    - Dst: first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:86,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:86,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g2'
    argTypes:
    - component::G2
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: cryptofuzz::module::mcl_detail::Convert
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - first::second::ToTrimmedString
    - second::first::ToTrimmedString
    - G2
    - Fp
    - first::first::ToTrimmedString
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: Namespace::G2
    signature: Namespace::G2 Convert(const component::G2& g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Namespace::G1::normalize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:90,1
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/modules/mcl/module.cpp:91,1
    - Dst: Namespace::G1::getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g1
    argTypes:
    - Namespace::G1
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 4
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: cryptofuzz::module::mcl_detail::ToComponentG1
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::mcl_detail::split
    - Namespace::G1::getStr
    - Namespace::G1::normalize
    linkageType: ''
    returnType: component::G1
    signature: component::G1 ToComponentG1(Namespace::G1 g1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Namespace::G2::normalize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:97,1
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/modules/mcl/module.cpp:98,1
    - Dst: Namespace::G2::getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g2
    argTypes:
    - Namespace::G2
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: cryptofuzz::module::mcl_detail::ToComponentG2
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::mcl_detail::split
    - Namespace::G2::normalize
    - Namespace::G2::getStr
    linkageType: ''
    returnType: component::G2
    signature: component::G2 ToComponentG2(Namespace::G2 g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/modules/mcl/module.cpp:103,1
    - Dst: Namespace::Fp2::getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp2
    argTypes:
    - Namespace::Fp2
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: cryptofuzz::module::mcl_detail::ToComponentFp2
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::mcl_detail::split
    - Namespace::Fp2::getStr
    linkageType: ''
    returnType: component::Fp2
    signature: component::Fp2 ToComponentFp2(Namespace::Fp2 fp2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::mcl_detail::split
      Src: /src/cryptofuzz/modules/mcl/module.cpp:108,1
    - Dst: Namespace::Fp12::getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp12
    argTypes:
    - Namespace::Fp12
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: cryptofuzz::module::mcl_detail::ToComponentFp12
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::mcl_detail::split
    - Namespace::Fp12::getStr
    linkageType: ''
    returnType: component::Fp12
    signature: component::Fp12 ToComponentFp12(Namespace::Fp12 fp12)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:127,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:128,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:129,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:131,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:132,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: cryptofuzz::module::mcl_detail::Generator
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::CurveGFp::CurveGFp
    - benchAddDblG1
    linkageType: ''
    returnType: Namespace::G1
    signature: Namespace::G1 Generator(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:139,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:140,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:141,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:142,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:143,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:145,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:146,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:147,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:148,1
    - Dst: Botan::CurveGFp::CurveGFp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: cryptofuzz::module::mcl_detail::Generator_G2
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - benchAddDblG2
    - Botan::CurveGFp::CurveGFp
    linkageType: ''
    returnType: Namespace::G2
    signature: Namespace::G2 Generator_G2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Namespace::Fp::setHashOf
      Src: /src/cryptofuzz/modules/mcl/module.cpp:156,1
    - Dst: mclBnFp_mapToG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' P'
    - ' m'
    argTypes:
    - Namespace::G1
    - std::string
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: cryptofuzz::module::mcl_detail::Hash
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - mclBnFp_mapToG1
    - Namespace::Fp::setHashOf
    linkageType: ''
    returnType: void
    signature: void Hash(Namespace::G1& P, const std::string& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Namespace::Fp::setHashOf
      Src: /src/cryptofuzz/modules/mcl/module.cpp:163,1
    - Dst: mclBnFp2_mapToG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:164,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' P'
    - ' m'
    argTypes:
    - Namespace::G2
    - std::string
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: cryptofuzz::module::mcl_detail::Hash
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - setFp2
    - Namespace::Fp::setHashOf
    - mclBnFp2_mapToG2
    linkageType: ''
    returnType: void
    signature: void Hash(Namespace::G2& P, const std::string& m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::mcl_detail::Hash
      Src: /src/cryptofuzz/modules/mcl/module.cpp:170,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/cryptofuzz/modules/mcl/module.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' sign'
    - ' s'
    - ' m'
    argTypes:
    - Namespace::G2
    - Namespace::Fr
    - std::string
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: cryptofuzz::module::mcl_detail::Sign
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_mul
    - cryptofuzz::module::mcl_detail::Hash
    linkageType: ''
    returnType: void
    signature: void Sign(Namespace::G2& sign, const Namespace::Fr& s, const std::string&
      m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:178,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:178,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/mcl/module.cpp:180,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:182,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mcl/module.cpp:183,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mcl/module.cpp:187,1
    - Dst: cybozu::Sha256::update
      Src: /src/cryptofuzz/modules/mcl/module.cpp:187,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mcl/module.cpp:190,1
    - Dst: cybozu::Sha256::digest
      Src: /src/cryptofuzz/modules/mcl/module.cpp:190,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mcl/module.cpp:194,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mcl/module.cpp:198,1
    - Dst: cybozu::Sha512::update
      Src: /src/cryptofuzz/modules/mcl/module.cpp:198,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mcl/module.cpp:201,1
    - Dst: cybozu::Sha512::digest
      Src: /src/cryptofuzz/modules/mcl/module.cpp:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 208
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 208
    functionName: cryptofuzz::module::mcl::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - cybozu::Sha256::digest
    - modifier::GetPtr
    - CF_NORET
    - digestType::Get
    - cybozu::Sha512::update
    - CF_DIGEST
    - modifier::GetSize
    - cybozu::Sha256::update
    - cybozu::Sha512::digest
    - cryptofuzz::util::ToParts
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> mcl::OpDigest(operation::Digest& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:213,1
    - Dst: Fr::Fr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:220,1
    - Dst: Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:221,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:221,1
    - Dst: G1::G1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:223,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/cryptofuzz/modules/mcl/module.cpp:224,1
    - Dst: cryptofuzz::module::mcl_detail::Generator
      Src: /src/cryptofuzz/modules/mcl/module.cpp:224,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:226,1
    - Dst: priv::IsGreaterThan
      Src: /src/cryptofuzz/modules/mcl/module.cpp:228,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mcl/module.cpp:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 234
      start: 210
    functionDepth: 5
    functionLinenumber: 210
    functionLinenumberEnd: 234
    functionName: cryptofuzz::module::mcl::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - CF_ASSERT
    - priv::IsGreaterThan
    - cryptofuzz::module::mcl_detail::Generator
    - priv::ToTrimmedString
    - cryptofuzz::module::mcl_detail::ToComponentG1
    - Fr::Fr
    - fiat_bls12_381_fp_mul
    - Fr::setStr
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> mcl::OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:239,1
    - Dst: Fr::Fr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:246,1
    - Dst: Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:247,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:247,1
    - Dst: G2::G2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:249,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/cryptofuzz/modules/mcl/module.cpp:250,1
    - Dst: cryptofuzz::module::mcl_detail::Generator_G2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:250,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:252,1
    - Dst: priv::IsGreaterThan
      Src: /src/cryptofuzz/modules/mcl/module.cpp:254,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mcl/module.cpp:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic_G2
    constantsTouched: []
    func_position:
      end: 260
      start: 236
    functionDepth: 5
    functionLinenumber: 236
    functionLinenumberEnd: 260
    functionName: cryptofuzz::module::mcl::OpBLS_PrivateToPublic_G2
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - priv::IsGreaterThan
    - cryptofuzz::module::mcl_detail::ToComponentG2
    - priv::ToTrimmedString
    - G2::G2
    - cryptofuzz::module::mcl_detail::Generator_G2
    - fiat_bls12_381_fp_mul
    - Fr::Fr
    - Fr::setStr
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> mcl::OpBLS_PrivateToPublic_G2(operation::BLS_PrivateToPublic_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:264,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:264,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:266,1
    - Dst: Fr::Fr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:272,1
    - Dst: Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:273,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:273,1
    - Dst: G2::G2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:275,1
    - Dst: G2::G2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:277,1
    - Dst: cryptofuzz::module::mcl_detail::MsgAug
      Src: /src/cryptofuzz/modules/mcl/module.cpp:278,1
    - Dst: mapTo::mapTo_WB19_::msgToG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:279,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:279,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:279,1
    - Dst: dest::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:279,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:279,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/cryptofuzz/modules/mcl/module.cpp:280,1
    - Dst: cryptofuzz::module::mcl_detail::Convert
      Src: /src/cryptofuzz/modules/mcl/module.cpp:282,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/cryptofuzz/modules/mcl/module.cpp:283,1
    - Dst: G1::G1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:286,1
    - Dst: fiat_bls12_381_fp_mul
      Src: /src/cryptofuzz/modules/mcl/module.cpp:287,1
    - Dst: cryptofuzz::module::mcl_detail::Generator
      Src: /src/cryptofuzz/modules/mcl/module.cpp:287,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:289,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:289,1
    - Dst: priv::IsGreaterThan
      Src: /src/cryptofuzz/modules/mcl/module.cpp:299,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mcl/module.cpp:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Sign
    constantsTouched: []
    func_position:
      end: 306
      start: 262
    functionDepth: 5
    functionLinenumber: 262
    functionLinenumberEnd: 306
    functionName: cryptofuzz::module::mcl::OpBLS_Sign
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - priv::IsGreaterThan
    - modifier::GetPtr
    - cryptofuzz::module::mcl_detail::ToComponentG2
    - modifier::GetSize
    - Fr::Fr
    - fiat_bls12_381_fp_mul
    - dest::GetSize
    - auto::GetSize
    - cryptofuzz::module::mcl_detail::MsgAug
    - cryptofuzz::module::mcl_detail::ToComponentG1
    - cryptofuzz::module::mcl_detail::Generator
    - G2::G2
    - auto::GetPtr
    - Fr::setStr
    - mapTo::mapTo_WB19_::msgToG2
    - CF_ASSERT
    - priv::ToTrimmedString
    - dest::GetPtr
    - cryptofuzz::module::mcl_detail::Convert
    linkageType: ''
    returnType: std::optional<component::BLS_Signature>
    signature: std::optional<component::BLS_Signature> mcl::OpBLS_Sign(operation::BLS_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:310,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:310,1
    - Dst: dest::Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:312,1
    - Dst: cryptofuzz::module::mcl_detail::Convert
      Src: /src/cryptofuzz/modules/mcl/module.cpp:318,1
    - Dst: cryptofuzz::module::mcl_detail::Convert
      Src: /src/cryptofuzz/modules/mcl/module.cpp:319,1
    - Dst: G2::G2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:321,1
    - Dst: mapToG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Verify
    constantsTouched: []
    func_position:
      end: 328
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 328
    functionName: cryptofuzz::module::mcl::OpBLS_Verify
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - mapToG2
    - G2::G2
    - modifier::GetSize
    - cryptofuzz::module::mcl_detail::Convert
    - dest::Get
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> mcl::OpBLS_Verify(operation::BLS_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:332,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:332,1
    - Dst: Namespace::Fp12::setOne
      Src: /src/cryptofuzz/modules/mcl/module.cpp:335,1
    - Dst: cryptofuzz::module::mcl_detail::Convert
      Src: /src/cryptofuzz/modules/mcl/module.cpp:339,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/mcl/module.cpp:340,1
    - Dst: auto::isValid
      Src: /src/cryptofuzz/modules/mcl/module.cpp:340,1
    - Dst: cryptofuzz::module::mcl_detail::Convert
      Src: /src/cryptofuzz/modules/mcl/module.cpp:342,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/mcl/module.cpp:343,1
    - Dst: auto::isValid
      Src: /src/cryptofuzz/modules/mcl/module.cpp:343,1
    - Dst: mclBn_millerLoop
      Src: /src/cryptofuzz/modules/mcl/module.cpp:346,1
    - Dst: mclBn_finalExp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:353,1
    - Dst: Namespace::Fp12::isOne
      Src: /src/cryptofuzz/modules/mcl/module.cpp:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_BatchVerify
    constantsTouched: []
    func_position:
      end: 358
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 358
    functionName: cryptofuzz::module::mcl::OpBLS_BatchVerify
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - auto::isValid
    - Namespace::Fp12::isOne
    - mclBn_millerLoop
    - modifier::GetSize
    - cryptofuzz::module::mcl_detail::Convert
    - mclBn_finalExp
    - Namespace::Fp12::setOne
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> mcl::OpBLS_BatchVerify(operation::BLS_BatchVerify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:362,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:362,1
    - Dst: cryptofuzz::module::mcl_detail::Convert
      Src: /src/cryptofuzz/modules/mcl/module.cpp:367,1
    - Dst: cryptofuzz::module::mcl_detail::Convert
      Src: /src/cryptofuzz/modules/mcl/module.cpp:370,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:377,1
    - Dst: precomputeG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:383,1
    - Dst: precomputedMillerLoop
      Src: /src/cryptofuzz/modules/mcl/module.cpp:384,1
    - Dst: millerLoop
      Src: /src/cryptofuzz/modules/mcl/module.cpp:386,1
    - Dst: finalExp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:389,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Pairing
    constantsTouched: []
    func_position:
      end: 398
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 398
    functionName: cryptofuzz::module::mcl::OpBLS_Pairing
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - precomputeG2
    - modifier::GetPtr
    - cryptofuzz::module::mcl_detail::ToComponentFp12
    - millerLoop
    - Datasource::Get
    - precomputedMillerLoop
    - finalExp
    - modifier::GetSize
    - cryptofuzz::module::mcl_detail::Convert
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> mcl::OpBLS_Pairing(operation::BLS_Pairing&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:402,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:402,1
    - Dst: testFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:407,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:408,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:409,1
    - Dst: fp12::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:410,1
    - Dst: fp12::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:411,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:413,1
    - Dst: fp12::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:414,1
    - Dst: fp12::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:415,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:417,1
    - Dst: fp12::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:418,1
    - Dst: fp12::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:419,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:422,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:423,1
    - Dst: fp12::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:424,1
    - Dst: fp12::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:425,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:427,1
    - Dst: fp12::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:428,1
    - Dst: fp12::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:429,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:431,1
    - Dst: fp12::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:432,1
    - Dst: fp12::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:433,1
    - Dst: finalExp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:439,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_FinalExp
    constantsTouched: []
    func_position:
      end: 447
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 447
    functionName: cryptofuzz::module::mcl::OpBLS_FinalExp
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - modifier::GetSize
    - fp12::bn5::ToTrimmedString
    - cryptofuzz::module::mcl_detail::ToComponentFp12
    - fp12::bn3::ToTrimmedString
    - fp12::bn1::ToTrimmedString
    - fp12::bn10::ToTrimmedString
    - testFp12
    - fp12::bn12::ToTrimmedString
    - fp12::bn9::ToTrimmedString
    - fp12::bn6::ToTrimmedString
    - fp12::bn7::ToTrimmedString
    - testFp6
    - fp12::bn8::ToTrimmedString
    - fp12::bn4::ToTrimmedString
    - finalExp
    - setFp2
    - fp12::bn2::ToTrimmedString
    - fp12::bn11::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> mcl::OpBLS_FinalExp(operation::BLS_FinalExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:455,1
    - Dst: g1::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:455,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:456,1
    - Dst: g1::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:456,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 467
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 467
    functionName: cryptofuzz::module::mcl::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - benchAddDblG1
    - g1::first::ToTrimmedString
    - Fp
    - g1::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> mcl::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:475,1
    - Dst: g2::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:475,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:476,1
    - Dst: g2::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:476,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:477,1
    - Dst: g2::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:477,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:478,1
    - Dst: g2::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:478,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 489
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 489
    functionName: cryptofuzz::module::mcl::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - g2::second::second::ToTrimmedString
    - g2::second::first::ToTrimmedString
    - benchAddDblG2
    - g2::first::second::ToTrimmedString
    - g2::first::first::ToTrimmedString
    - Fp
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> mcl::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:493,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:493,1
    - Dst: G1::G1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:496,1
    - Dst: cryptofuzz::module::mcl_detail::MsgAug
      Src: /src/cryptofuzz/modules/mcl/module.cpp:497,1
    - Dst: mapTo::mapTo_WB19_::msgToG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:498,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:498,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:498,1
    - Dst: dest::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:498,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:498,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG1
    constantsTouched: []
    func_position:
      end: 505
      start: 491
    functionDepth: 5
    functionLinenumber: 491
    functionLinenumberEnd: 505
    functionName: cryptofuzz::module::mcl::OpBLS_HashToG1
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - auto::GetSize
    - modifier::GetPtr
    - cryptofuzz::module::mcl_detail::MsgAug
    - dest::GetPtr
    - cryptofuzz::module::mcl_detail::ToComponentG1
    - auto::GetPtr
    - dest::GetSize
    - modifier::GetSize
    - mapTo::mapTo_WB19_::msgToG1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> mcl::OpBLS_HashToG1(operation::BLS_HashToG1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:509,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:509,1
    - Dst: G2::G2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:512,1
    - Dst: cryptofuzz::module::mcl_detail::MsgAug
      Src: /src/cryptofuzz/modules/mcl/module.cpp:513,1
    - Dst: mapTo::mapTo_WB19_::msgToG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:514,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:514,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:514,1
    - Dst: dest::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:514,1
    - Dst: dest::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:514,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG2
    constantsTouched: []
    func_position:
      end: 521
      start: 507
    functionDepth: 5
    functionLinenumber: 507
    functionLinenumberEnd: 521
    functionName: cryptofuzz::module::mcl::OpBLS_HashToG2
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - auto::GetSize
    - modifier::GetPtr
    - cryptofuzz::module::mcl_detail::MsgAug
    - cryptofuzz::module::mcl_detail::ToComponentG2
    - dest::GetPtr
    - G2::G2
    - auto::GetPtr
    - modifier::GetSize
    - dest::GetSize
    - mapTo::mapTo_WB19_::msgToG2
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> mcl::OpBLS_HashToG2(operation::BLS_HashToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:525,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:525,1
    - Dst: G1::G1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:528,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:531,1
    - Dst: u::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:531,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:532,1
    - Dst: v::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:532,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mcl/module.cpp:536,1
    - Dst: mapTo::mapTo_WB19_::FpToG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:536,1
    - Dst: G1::isValid
      Src: /src/cryptofuzz/modules/mcl/module.cpp:538,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_MapToG1
    constantsTouched: []
    func_position:
      end: 546
      start: 523
    functionDepth: 5
    functionLinenumber: 523
    functionLinenumberEnd: 546
    functionName: cryptofuzz::module::mcl::OpBLS_MapToG1
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - G1::G1
    - v::ToTrimmedString
    - modifier::GetPtr
    - CF_NORET
    - cryptofuzz::module::mcl_detail::ToComponentG1
    - setStr
    - mapTo::mapTo_WB19_::FpToG1
    - modifier::GetSize
    - ::mcl::bn::Fp::setStr
    - G1::isValid
    - u::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> mcl::OpBLS_MapToG1(operation::BLS_MapToG1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:550,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:550,1
    - Dst: G2::G2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:553,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:556,1
    - Dst: u::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:557,1
    - Dst: u::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:558,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:559,1
    - Dst: v::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:560,1
    - Dst: v::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:561,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mcl/module.cpp:565,1
    - Dst: mapTo::mapTo_WB19_::Fp2ToG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:565,1
    - Dst: G2::isValid
      Src: /src/cryptofuzz/modules/mcl/module.cpp:567,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_MapToG2
    constantsTouched: []
    func_position:
      end: 575
      start: 548
    functionDepth: 5
    functionLinenumber: 548
    functionLinenumberEnd: 575
    functionName: cryptofuzz::module::mcl::OpBLS_MapToG2
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - u::second::ToTrimmedString
    - modifier::GetPtr
    - v::first::ToTrimmedString
    - CF_NORET
    - cryptofuzz::module::mcl_detail::ToComponentG2
    - G2::G2
    - G2::isValid
    - modifier::GetSize
    - setFp2
    - u::first::ToTrimmedString
    - mapTo::mapTo_WB19_::Fp2ToG2
    - v::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> mcl::OpBLS_MapToG2(operation::BLS_MapToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:584,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:584,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:585,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:585,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:586,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:586,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:587,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:587,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:594,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:595,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 605
      start: 577
    functionDepth: 5
    functionLinenumber: 577
    functionLinenumberEnd: 605
    functionName: cryptofuzz::module::mcl::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - b::second::ToTrimmedString
    - a::first::ToTrimmedString
    - b::first::ToTrimmedString
    - cryptofuzz::module::mcl_detail::ToComponentG1
    - Fp
    - benchAddDblG1
    - a::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> mcl::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:615,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:615,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:616,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:616,1
    - Dst: Fr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:618,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:618,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:625,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 635
      start: 607
    functionDepth: 5
    functionLinenumber: 607
    functionLinenumberEnd: 635
    functionName: cryptofuzz::module::mcl::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - Fr
    - a::first::ToTrimmedString
    - cryptofuzz::module::mcl_detail::ToComponentG1
    - Fp
    - benchAddDblG1
    - a::second::ToTrimmedString
    - b::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> mcl::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:644,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:644,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:645,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:645,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:646,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:646,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:647,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:647,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:654,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:655,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 663
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 663
    functionName: cryptofuzz::module::mcl::OpBLS_G1_IsEq
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - b::second::ToTrimmedString
    - a::first::ToTrimmedString
    - b::first::ToTrimmedString
    - Fp
    - benchAddDblG1
    - a::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> mcl::OpBLS_G1_IsEq(operation::BLS_G1_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:672,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:672,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:673,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:673,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:680,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG1
      Src: /src/cryptofuzz/modules/mcl/module.cpp:684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 690
      start: 665
    functionDepth: 5
    functionLinenumber: 665
    functionLinenumberEnd: 690
    functionName: cryptofuzz::module::mcl::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - a::first::ToTrimmedString
    - cryptofuzz::module::mcl_detail::ToComponentG1
    - Fp
    - benchAddDblG1
    - a::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> mcl::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:700,1
    - Dst: a::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:700,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:701,1
    - Dst: a::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:701,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:702,1
    - Dst: a::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:702,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:703,1
    - Dst: a::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:703,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:705,1
    - Dst: b::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:705,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:706,1
    - Dst: b::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:706,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:707,1
    - Dst: b::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:707,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:708,1
    - Dst: b::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:708,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:715,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:716,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 726
      start: 692
    functionDepth: 5
    functionLinenumber: 692
    functionLinenumberEnd: 726
    functionName: cryptofuzz::module::mcl::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - benchAddDblG2
    - b::first::first::ToTrimmedString
    - a::second::second::ToTrimmedString
    - b::second::first::ToTrimmedString
    - cryptofuzz::module::mcl_detail::ToComponentG2
    - a::first::first::ToTrimmedString
    - Fp
    - b::first::second::ToTrimmedString
    - a::first::second::ToTrimmedString
    - a::second::first::ToTrimmedString
    - b::second::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> mcl::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:736,1
    - Dst: a::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:736,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:737,1
    - Dst: a::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:737,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:738,1
    - Dst: a::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:738,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:739,1
    - Dst: a::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:739,1
    - Dst: Fr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:741,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:741,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:748,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 758
      start: 728
    functionDepth: 5
    functionLinenumber: 728
    functionLinenumberEnd: 758
    functionName: cryptofuzz::module::mcl::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - benchAddDblG2
    - a::second::second::ToTrimmedString
    - Fr
    - cryptofuzz::module::mcl_detail::ToComponentG2
    - a::first::first::ToTrimmedString
    - Fp
    - a::first::second::ToTrimmedString
    - b::ToTrimmedString
    - a::second::first::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> mcl::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:768,1
    - Dst: a::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:768,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:769,1
    - Dst: a::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:769,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:770,1
    - Dst: a::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:770,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:771,1
    - Dst: a::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:771,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:773,1
    - Dst: b::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:773,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:774,1
    - Dst: b::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:774,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:775,1
    - Dst: b::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:775,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:776,1
    - Dst: b::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:776,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:783,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 792
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 792
    functionName: cryptofuzz::module::mcl::OpBLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - benchAddDblG2
    - b::first::first::ToTrimmedString
    - a::second::second::ToTrimmedString
    - b::second::first::ToTrimmedString
    - a::first::first::ToTrimmedString
    - Fp
    - b::first::second::ToTrimmedString
    - a::first::second::ToTrimmedString
    - a::second::first::ToTrimmedString
    - b::second::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> mcl::OpBLS_G2_IsEq(operation::BLS_G2_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:801,1
    - Dst: a::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:801,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:802,1
    - Dst: a::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:802,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:803,1
    - Dst: a::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:803,1
    - Dst: Fp
      Src: /src/cryptofuzz/modules/mcl/module.cpp:804,1
    - Dst: a::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:804,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:811,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentG2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 821
      start: 794
    functionDepth: 5
    functionLinenumber: 794
    functionLinenumberEnd: 821
    functionName: cryptofuzz::module::mcl::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - benchAddDblG2
    - a::second::second::ToTrimmedString
    - cryptofuzz::module::mcl_detail::ToComponentG2
    - a::first::first::ToTrimmedString
    - Fp
    - a::first::second::ToTrimmedString
    - a::second::first::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> mcl::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:831,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' A'
    - ' B'
    argTypes:
    - fuzzing::datasource::Datasource
    - T
    - T
    constantsTouched: []
    func_position:
      end: 836
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 836
    functionName: cryptofuzz::module::mcl_detail::UseParamTwice
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: bool
    signature: bool UseParamTwice(fuzzing::datasource::Datasource& ds, const T& A,
      const T& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 845
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 845
    functionName: cryptofuzz::module::mcl_detail::GetMod3
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetMod3(fuzzing::datasource::Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:852,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mcl/module.cpp:852,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:870,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:875,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:876,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:877,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:877,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:878,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:878,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:879,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:880,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:881,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:882,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:882,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:883,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:883,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:884,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:885,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:886,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:887,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:887,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:888,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:888,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:889,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:890,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:891,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:893,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:893,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:894,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mcl/module.cpp:895,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:896,1
    - Dst: get_da_inv
      Src: /src/cryptofuzz/modules/mcl/module.cpp:897,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:898,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:900,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:902,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:902,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:903,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:904,1
    - Dst: Botan::fe_sqr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:905,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:906,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:908,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:910,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:910,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:911,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:912,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/cryptofuzz/modules/mcl/module.cpp:913,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:914,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:916,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:918,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:918,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:919,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:920,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:921,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:922,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:924,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:926,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:926,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:927,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:927,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:928,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:929,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:929,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:931,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:933,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:933,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:934,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:934,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:935,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:936,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:936,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:938,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:940,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:940,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:941,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:941,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:942,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:943,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:943,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:945,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:947,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:947,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:948,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:948,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:949,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:950,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:950,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:952,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:954,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:954,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:955,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:955,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:956,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:957,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:957,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:959,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:961,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:961,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:962,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:963,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:964,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:964,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:966,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:968,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:968,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:969,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:970,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:971,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:971,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:973,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:975,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:975,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:976,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:977,1
    - Dst: ::mcl::bn::Fr*::isOdd
      Src: /src/cryptofuzz/modules/mcl/module.cpp:978,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:978,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:978,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:980,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:982,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:982,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:983,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:984,1
    - Dst: ::mcl::bn::Fr*::isOdd
      Src: /src/cryptofuzz/modules/mcl/module.cpp:985,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:985,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:985,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:987,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:989,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:989,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:990,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:991,1
    - Dst: squareRoot
      Src: /src/cryptofuzz/modules/mcl/module.cpp:992,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:993,1
    - Dst: Botan::fe_sqr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:995,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:996,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:998,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1000,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1000,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1001,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1001,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1002,1
    - Dst: testFp12pow
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1003,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1004,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1006,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1008,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1008,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1009,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1009,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1010,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1012,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1014,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1016,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1018,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1021,1
    - Dst: ::mcl::bn::Fr::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1022,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1022,1
    - Dst: ::mcl::bn::Fr::getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1023,1
    - Dst: bn0::IsGreaterThan
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1027,1
    - Dst: bn1::IsGreaterThan
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1028,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1029,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1034,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1039,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1040,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1041,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1041,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1042,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1042,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1043,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1044,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1045,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1046,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1046,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1047,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1047,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1048,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1049,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1050,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1051,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1051,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1052,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1052,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1053,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1054,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1055,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1057,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1057,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1058,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1059,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1060,1
    - Dst: get_da_inv
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1061,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1062,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1064,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1066,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1066,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1067,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1068,1
    - Dst: Botan::fe_sqr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1069,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1070,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1072,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1074,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1074,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1075,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1076,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1077,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1078,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1080,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1082,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1082,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1083,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1084,1
    - Dst: Botan::PCurve::GenericField::mul2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1085,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1086,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1088,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1090,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1090,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1091,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1091,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1092,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1093,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1093,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1095,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1097,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1097,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1098,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1098,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1099,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1100,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1100,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1102,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1104,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1104,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1105,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1105,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1106,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1107,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1107,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1109,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1111,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1111,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1112,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1112,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1113,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1114,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1114,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1116,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1118,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1118,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1119,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1119,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1120,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1121,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1121,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1123,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1125,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1125,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1126,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1127,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1128,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1128,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1130,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1132,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1132,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1133,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1134,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1135,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1135,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1137,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1139,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1139,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1140,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1141,1
    - Dst: ::mcl::bn::Fp*::isOdd
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1142,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1142,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1142,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1144,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1146,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1146,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1147,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1148,1
    - Dst: ::mcl::bn::Fp*::isOdd
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1149,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1149,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1149,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1151,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1153,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1153,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1154,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1154,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1155,1
    - Dst: mcl::Fp2::divBy2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1159,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1160,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1162,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1164,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1164,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1165,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1166,1
    - Dst: squareRoot
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1167,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1168,1
    - Dst: Botan::fe_sqr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1170,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1171,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1173,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1175,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1175,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1176,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1176,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1177,1
    - Dst: testFp12pow
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1178,1
    - Dst: getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1179,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1181,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1183,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1183,1
    - Dst: setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1184,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1184,1
    - Dst: PREPARE_BN
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1185,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1187,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1189,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1191,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1193,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1196,1
    - Dst: ::mcl::bn::Fp::setStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1197,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1197,1
    - Dst: ::mcl::bn::Fp::getStr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1198,1
    - Dst: bn0::IsGreaterThan
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1202,1
    - Dst: bn1::IsGreaterThan
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1203,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1204,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 307
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1213
      start: 848
    functionDepth: 3
    functionLinenumber: 848
    functionLinenumberEnd: 1213
    functionName: cryptofuzz::module::mcl::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - PREPARE_BN
    - Botan::fe_sqr
    - testFp12pow
    - modifier::GetPtr
    - getStr
    - mcl::Fp2::divBy2
    - modifier::GetSize
    - Botan::PCurve::GenericField::mul2
    - ::mcl::bn::Fr::setStr
    - bn0::IsGreaterThan
    - CF_CHECK_NE
    - get_da_inv
    - modulo::ToTrimmedString
    - calcOp::Get
    - ::mcl::bn::Fp::getStr
    - bn0::ToTrimmedString
    - bn1::ToTrimmedString
    - CF_UNREACHABLE
    - ::mcl::bn::Fr::getStr
    - std::string
    - ::mcl::bn::Fp::setStr
    - ::mcl::bn::Fr*::isOdd
    - squareRoot
    - ::mcl::bn::Fp*::isOdd
    - CF_ASSERT
    - bn1::IsGreaterThan
    - Botan::EC_Group_Data::affine_neg
    - setStr
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> mcl::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1220,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1221,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1222,1
    - Dst: bn0::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1223,1
    - Dst: bn0::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1224,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1225,1
    - Dst: bn1::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1226,1
    - Dst: bn1::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1227,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1229,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1230,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1231,1
    - Dst: bn0::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1232,1
    - Dst: bn0::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1233,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1234,1
    - Dst: bn1::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1235,1
    - Dst: bn1::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1236,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1238,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1239,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1240,1
    - Dst: bn0::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1241,1
    - Dst: bn0::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1242,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1243,1
    - Dst: bn1::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1244,1
    - Dst: bn1::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1245,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1247,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1248,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1249,1
    - Dst: bn0::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1250,1
    - Dst: bn0::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1251,1
    - Dst: ::mcl::bn::Fp2::isZero
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1253,1
    - Dst: mcl::Fp2::inv
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1254,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1255,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1258,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1259,1
    - Dst: bn0::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1260,1
    - Dst: bn0::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1261,1
    - Dst: mcl::Fp2::squareRoot
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1262,1
    - Dst: mcl::Fp2::sqr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1265,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1266,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1268,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1269,1
    - Dst: bn0::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1270,1
    - Dst: bn0::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1271,1
    - Dst: mcl::Fp2::neg
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1272,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1273,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1274,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1275,1
    - Dst: bn0::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1276,1
    - Dst: bn0::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1277,1
    - Dst: mcl::Fp2::sqr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1278,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1279,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1280,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1281,1
    - Dst: bn0::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1282,1
    - Dst: bn0::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1283,1
    - Dst: mcl::Fp2::mul2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1284,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp2
    constantsTouched: []
    func_position:
      end: 1291
      start: 1215
    functionDepth: 2
    functionLinenumber: 1215
    functionLinenumberEnd: 1291
    functionName: cryptofuzz::module::mcl::OpBignumCalc_Fp2
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - mcl::Fp2::squareRoot
    - bn1::second::ToTrimmedString
    - bn1::first::ToTrimmedString
    - bn0::first::ToTrimmedString
    - mcl::Fp2::inv
    - cryptofuzz::module::mcl_detail::ToComponentFp2
    - bn0::second::ToTrimmedString
    - ::mcl::bn::Fp2::isZero
    - mcl::Fp2::mul2
    - calcOp::Get
    - setFp2
    - mcl::Fp2::sqr
    - mcl::Fp2::neg
    linkageType: ''
    returnType: std::optional<component::Fp2>
    signature: std::optional<component::Fp2> mcl::OpBignumCalc_Fp2(operation::BignumCalc_Fp2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1298,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1299,1
    - Dst: testFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1300,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1301,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1302,1
    - Dst: bn0::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1303,1
    - Dst: bn0::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1304,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1306,1
    - Dst: bn0::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1307,1
    - Dst: bn0::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1308,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1310,1
    - Dst: bn0::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1311,1
    - Dst: bn0::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1312,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1315,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1316,1
    - Dst: bn0::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1317,1
    - Dst: bn0::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1318,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1320,1
    - Dst: bn0::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1321,1
    - Dst: bn0::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1322,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1324,1
    - Dst: bn0::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1325,1
    - Dst: bn0::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1326,1
    - Dst: testFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1330,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1331,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1332,1
    - Dst: bn1::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1333,1
    - Dst: bn1::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1334,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1336,1
    - Dst: bn1::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1337,1
    - Dst: bn1::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1338,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1340,1
    - Dst: bn1::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1341,1
    - Dst: bn1::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1342,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1345,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1346,1
    - Dst: bn1::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1347,1
    - Dst: bn1::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1348,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1350,1
    - Dst: bn1::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1351,1
    - Dst: bn1::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1352,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1354,1
    - Dst: bn1::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1355,1
    - Dst: bn1::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1356,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1360,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1361,1
    - Dst: testFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1362,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1363,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1364,1
    - Dst: bn0::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1365,1
    - Dst: bn0::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1366,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1368,1
    - Dst: bn0::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1369,1
    - Dst: bn0::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1370,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1372,1
    - Dst: bn0::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1373,1
    - Dst: bn0::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1374,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1377,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1378,1
    - Dst: bn0::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1379,1
    - Dst: bn0::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1380,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1382,1
    - Dst: bn0::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1383,1
    - Dst: bn0::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1384,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1386,1
    - Dst: bn0::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1387,1
    - Dst: bn0::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1388,1
    - Dst: testFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1392,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1393,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1394,1
    - Dst: bn1::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1395,1
    - Dst: bn1::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1396,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1398,1
    - Dst: bn1::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1399,1
    - Dst: bn1::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1400,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1402,1
    - Dst: bn1::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1403,1
    - Dst: bn1::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1404,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1407,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1408,1
    - Dst: bn1::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1409,1
    - Dst: bn1::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1410,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1412,1
    - Dst: bn1::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1413,1
    - Dst: bn1::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1414,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1416,1
    - Dst: bn1::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1417,1
    - Dst: bn1::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1418,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1422,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1423,1
    - Dst: testFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1424,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1425,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1426,1
    - Dst: bn0::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1427,1
    - Dst: bn0::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1428,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1430,1
    - Dst: bn0::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1431,1
    - Dst: bn0::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1432,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1434,1
    - Dst: bn0::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1435,1
    - Dst: bn0::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1436,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1439,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1440,1
    - Dst: bn0::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1441,1
    - Dst: bn0::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1442,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1444,1
    - Dst: bn0::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1445,1
    - Dst: bn0::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1446,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1448,1
    - Dst: bn0::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1449,1
    - Dst: bn0::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1450,1
    - Dst: testFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1454,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1455,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1456,1
    - Dst: bn1::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1457,1
    - Dst: bn1::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1458,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1460,1
    - Dst: bn1::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1461,1
    - Dst: bn1::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1462,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1464,1
    - Dst: bn1::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1465,1
    - Dst: bn1::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1466,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1469,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1470,1
    - Dst: bn1::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1471,1
    - Dst: bn1::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1472,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1474,1
    - Dst: bn1::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1475,1
    - Dst: bn1::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1476,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1478,1
    - Dst: bn1::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1479,1
    - Dst: bn1::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1480,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1484,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1485,1
    - Dst: testFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1486,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1487,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1488,1
    - Dst: bn0::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1489,1
    - Dst: bn0::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1490,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1492,1
    - Dst: bn0::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1493,1
    - Dst: bn0::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1494,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1496,1
    - Dst: bn0::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1497,1
    - Dst: bn0::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1498,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1501,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1502,1
    - Dst: bn0::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1503,1
    - Dst: bn0::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1504,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1506,1
    - Dst: bn0::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1507,1
    - Dst: bn0::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1508,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1510,1
    - Dst: bn0::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1511,1
    - Dst: bn0::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1512,1
    - Dst: ::mcl::bn::Fp12::isZero
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1517,1
    - Dst: get_da_inv
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1518,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1519,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1522,1
    - Dst: testFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1523,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1524,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1525,1
    - Dst: bn0::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1526,1
    - Dst: bn0::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1527,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1529,1
    - Dst: bn0::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1530,1
    - Dst: bn0::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1531,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1533,1
    - Dst: bn0::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1534,1
    - Dst: bn0::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1535,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1538,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1539,1
    - Dst: bn0::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1540,1
    - Dst: bn0::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1541,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1543,1
    - Dst: bn0::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1544,1
    - Dst: bn0::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1545,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1547,1
    - Dst: bn0::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1548,1
    - Dst: bn0::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1549,1
    - Dst: Botan::EC_Group_Data::affine_neg
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1553,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1554,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1555,1
    - Dst: testFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1556,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1557,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1558,1
    - Dst: bn0::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1559,1
    - Dst: bn0::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1560,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1562,1
    - Dst: bn0::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1563,1
    - Dst: bn0::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1564,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1566,1
    - Dst: bn0::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1567,1
    - Dst: bn0::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1568,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1571,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1572,1
    - Dst: bn0::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1573,1
    - Dst: bn0::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1574,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1576,1
    - Dst: bn0::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1577,1
    - Dst: bn0::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1578,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1580,1
    - Dst: bn0::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1581,1
    - Dst: bn0::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1582,1
    - Dst: mcl::unitaryInv
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1586,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1587,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1588,1
    - Dst: testFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1589,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1590,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1591,1
    - Dst: bn0::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1592,1
    - Dst: bn0::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1593,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1595,1
    - Dst: bn0::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1596,1
    - Dst: bn0::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1597,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1599,1
    - Dst: bn0::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1600,1
    - Dst: bn0::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1601,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1604,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1605,1
    - Dst: bn0::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1606,1
    - Dst: bn0::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1607,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1609,1
    - Dst: bn0::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1610,1
    - Dst: bn0::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1611,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1613,1
    - Dst: bn0::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1614,1
    - Dst: bn0::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1615,1
    - Dst: Botan::fe_sqr
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1619,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1620,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1622,1
    - Dst: testFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1623,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1624,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1625,1
    - Dst: bn0::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1626,1
    - Dst: bn0::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1627,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1629,1
    - Dst: bn0::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1630,1
    - Dst: bn0::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1631,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1633,1
    - Dst: bn0::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1634,1
    - Dst: bn0::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1635,1
    - Dst: testFp6
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1638,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1639,1
    - Dst: bn0::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1640,1
    - Dst: bn0::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1641,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1643,1
    - Dst: bn0::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1644,1
    - Dst: bn0::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1645,1
    - Dst: setFp2
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1647,1
    - Dst: bn0::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1648,1
    - Dst: bn0::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1649,1
    - Dst: ::mcl::bn::Fp12::isZero
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1653,1
    - Dst: mcl::mapToCyclotomic
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1654,1
    - Dst: cryptofuzz::module::mcl_detail::ToComponentFp12
      Src: /src/cryptofuzz/modules/mcl/module.cpp:1655,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp12
    constantsTouched: []
    func_position:
      end: 1664
      start: 1293
    functionDepth: 3
    functionLinenumber: 1293
    functionLinenumberEnd: 1664
    functionName: cryptofuzz::module::mcl::OpBignumCalc_Fp12
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - bn0::bn7::ToTrimmedString
    - Botan::fe_sqr
    - bn0::bn5::ToTrimmedString
    - bn1::bn9::ToTrimmedString
    - bn1::bn12::ToTrimmedString
    - bn0::bn12::ToTrimmedString
    - ::mcl::bn::Fp12::isZero
    - bn1::bn11::ToTrimmedString
    - bn1::bn3::ToTrimmedString
    - bn0::bn2::ToTrimmedString
    - cryptofuzz::module::mcl_detail::ToComponentFp12
    - get_da_inv
    - testFp12
    - bn1::bn4::ToTrimmedString
    - bn0::bn6::ToTrimmedString
    - mcl::unitaryInv
    - calcOp::Get
    - bn1::bn5::ToTrimmedString
    - bn0::bn10::ToTrimmedString
    - bn0::bn3::ToTrimmedString
    - testFp6
    - bn1::bn10::ToTrimmedString
    - bn1::bn1::ToTrimmedString
    - bn1::bn2::ToTrimmedString
    - bn0::bn8::ToTrimmedString
    - bn0::bn4::ToTrimmedString
    - bn1::bn6::ToTrimmedString
    - bn1::bn8::ToTrimmedString
    - bn0::bn11::ToTrimmedString
    - bn0::bn1::ToTrimmedString
    - Botan::EC_Group_Data::affine_neg
    - setFp2
    - mcl::mapToCyclotomic
    - bn0::bn9::ToTrimmedString
    - bn1::bn7::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> mcl::OpBignumCalc_Fp12(operation::BignumCalc_Fp12&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1666
    functionDepth: 0
    functionLinenumber: 1666
    functionLinenumberEnd: 1668
    functionName: cryptofuzz::module::mcl::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/mcl/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool mcl::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libff::init_bls12_381_params
      Src: /src/cryptofuzz/modules/libff/module.cpp:48,1
    - Dst: libff::init_edwards_params
      Src: /src/cryptofuzz/modules/libff/module.cpp:49,1
    - Dst: libff::init_alt_bn128_params
      Src: /src/cryptofuzz/modules/libff/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::_libff::_libff
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff::init_bls12_381_params
    - libff::init_edwards_params
    - libff::init_alt_bn128_params
    linkageType: ''
    returnType: void
    signature: void _libff::_libff(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/libff/module.cpp:67,1
    - Dst: as_bigint
      Src: /src/cryptofuzz/modules/libff/module.cpp:68,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/libff/module.cpp:70,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libff/module.cpp:71,1
    - Dst: free
      Src: /src/cryptofuzz/modules/libff/module.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: cryptofuzz::module::libff_detail::ToString
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - mpz_init
    - free
    - std::string
    - as_bigint
    - mpz_clear
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const T& f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_well_formed
      Src: /src/cryptofuzz/modules/libff/module.cpp:79,1
    - Dst: Botan::EC_Scalar::from_bytes_mod_order
      Src: /src/cryptofuzz/modules/libff/module.cpp:79,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/cryptofuzz/modules/libff/module.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' point'
    argTypes:
    - Type
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: cryptofuzz::module::libff_detail::IsValid
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - is_well_formed
    - Botan::EC_Scalar::from_bytes_mod_order
    linkageType: ''
    returnType: bool
    signature: bool IsValid(const Type& point)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:82,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:83,1
    - Dst: G1Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:85,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:86,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:86,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:87,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:87,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/cryptofuzz/modules/libff/module.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' g1'
    - ' ds'
    argTypes:
    - component::G1
    - Datasource
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: cryptofuzz::module::libff_detail::Load
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - G1Type
    - second::GetSize
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - first::GetSize
    - first::ToString
    - FqType
    - second::ToString
    linkageType: ''
    returnType: std::optional<G1Type>
    signature: std::optional<G1Type> Load(const component::G1& g1, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first::first::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:93,1
    - Dst: first::second::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:94,1
    - Dst: second::first::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:95,1
    - Dst: second::second::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:96,1
    - Dst: G2Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:98,1
    - Dst: Fq2Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:99,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:100,1
    - Dst: first::first::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:100,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:101,1
    - Dst: second::first::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:101,1
    - Dst: Fq2Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:103,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:104,1
    - Dst: first::second::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:104,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:105,1
    - Dst: second::second::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:105,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/cryptofuzz/modules/libff/module.cpp:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' g2'
    - ' ds'
    argTypes:
    - component::G2
    - Datasource
    constantsTouched: []
    func_position:
      end: 109
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: cryptofuzz::module::libff_detail::Load
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - second::first::GetSize
    - second::second::ToString
    - Fq2Type
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - second::second::GetSize
    - first::first::GetSize
    - first::second::GetSize
    - first::first::ToString
    - FqType
    - first::second::ToString
    - second::first::ToString
    - G2Type
    linkageType: ''
    returnType: std::optional<G2Type>
    signature: std::optional<G2Type> Load(const component::G2& g2, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libff/module.cpp:112,1
    - Dst: to_affine_coordinates
      Src: /src/cryptofuzz/modules/libff/module.cpp:112,1
    - Dst: is_zero
      Src: /src/cryptofuzz/modules/libff/module.cpp:114,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libff/module.cpp:116,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libff/module.cpp:117,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:121,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' g1'
    argTypes:
    - G1Type
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: cryptofuzz::module::libff_detail::Save
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libff_detail::ToString
    - CF_NORET
    - to_affine_coordinates
    - std::string
    - is_zero
    linkageType: ''
    returnType: component::G1
    signature: component::G1 Save(G1Type& g1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libff/module.cpp:128,1
    - Dst: to_affine_coordinates
      Src: /src/cryptofuzz/modules/libff/module.cpp:128,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:130,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:131,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:132,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' g2'
    argTypes:
    - G2Type
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: cryptofuzz::module::libff_detail::Save
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - cryptofuzz::module::libff_detail::ToString
    - to_affine_coordinates
    linkageType: ''
    returnType: component::G2
    signature: component::G2 Save(G2Type& g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:144,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:145,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:146,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:147,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:148,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:149,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:150,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:151,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:152,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:153,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:154,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fp12'
    argTypes:
    - Fq12Type
    constantsTouched: []
    func_position:
      end: 157
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 157
    functionName: cryptofuzz::module::libff_detail::Save
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libff_detail::ToString
    linkageType: ''
    returnType: component::Fp12
    signature: component::Fp12 Save(Fq12Type& fp12)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::BLS_IsG1OnCurve
    - Datasource
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: cryptofuzz::module::libff_detail::Load
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::libff_detail::Load
    linkageType: ''
    returnType: std::optional<G1Type>
    signature: std::optional<G1Type> Load(const operation::BLS_IsG1OnCurve& op, Datasource&
      ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::BLS_IsG2OnCurve
    - Datasource
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: cryptofuzz::module::libff_detail::Load
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::module::libff_detail::Load
    linkageType: ''
    returnType: std::optional<G2Type>
    signature: std::optional<G2Type> Load(const operation::BLS_IsG2OnCurve& op, Datasource&
      ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libff/module.cpp:179,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:179,1
    - Dst: FrType
      Src: /src/cryptofuzz/modules/libff/module.cpp:180,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:180,1
    - Dst: FrType::is_zero
      Src: /src/cryptofuzz/modules/libff/module.cpp:184,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libff/module.cpp:185,1
    - Dst: Type::is_zero
      Src: /src/cryptofuzz/modules/libff/module.cpp:185,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libff/module.cpp:189,1
    - Dst: cryptofuzz::module::libff_detail::IsValid
      Src: /src/cryptofuzz/modules/libff/module.cpp:189,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ' a'
    - ' multiplier'
    - ' ds'
    argTypes:
    - Type
    - component::Bignum
    - Datasource
    constantsTouched: []
    func_position:
      end: 195
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 195
    functionName: cryptofuzz::module::libff_detail::Mul
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libff_detail::ToString
    - FrType::is_zero
    - CF_ASSERT
    - cryptofuzz::module::libff_detail::Save
    - FrType
    - Type::is_zero
    - GetSize
    - cryptofuzz::module::libff_detail::IsValid
    - CF_CHECK_TRUE
    - CF_CHECK_LTE
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> Mul(const Type& a, const component::Bignum&
      multiplier, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libff_detail::Mul
      Src: /src/cryptofuzz/modules/libff/module.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' multiplier'
    - ' ds'
    argTypes:
    - std::optional<Type>
    - component::Bignum
    - Datasource
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: cryptofuzz::module::libff_detail::Mul
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::libff_detail::Mul
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> Mul(const std::optional<Type>& a, const component::Bignum&
      multiplier, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:205,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:205,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:209,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:209,1
    - Dst: cryptofuzz::module::libff_detail::IsValid
      Src: /src/cryptofuzz/modules/libff/module.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operation
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: cryptofuzz::module::libff_detail::OpBLS_IsGxOnCurve
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - modifier::GetPtr
    - modifier::GetSize
    - cryptofuzz::module::libff_detail::IsValid
    - cryptofuzz::module::libff_detail::Load
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpBLS_IsGxOnCurve(Operation& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:220,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:220,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:225,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:225,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:226,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:226,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libff/module.cpp:230,1
    - Dst: cryptofuzz::module::libff_detail::IsValid
      Src: /src/cryptofuzz/modules/libff/module.cpp:230,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libff/module.cpp:231,1
    - Dst: cryptofuzz::module::libff_detail::IsValid
      Src: /src/cryptofuzz/modules/libff/module.cpp:231,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libff/module.cpp:232,1
    - Dst: cryptofuzz::module::libff_detail::IsValid
      Src: /src/cryptofuzz/modules/libff/module.cpp:232,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operation
    constantsTouched: []
    func_position:
      end: 238
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 238
    functionName: cryptofuzz::module::libff_detail::OpBLS_Gx_Add
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - cryptofuzz::module::libff_detail::Save
    - modifier::GetPtr
    - modifier::GetSize
    - cryptofuzz::module::libff_detail::IsValid
    - CF_CHECK_TRUE
    - cryptofuzz::module::libff_detail::Load
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> OpBLS_Gx_Add(Operation& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:242,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:242,1
    - Dst: cryptofuzz::module::libff_detail::Mul
      Src: /src/cryptofuzz/modules/libff/module.cpp:244,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operation
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 4
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: cryptofuzz::module::libff_detail::OpBLS_Gx_Mul
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - modifier::GetSize
    - cryptofuzz::module::libff_detail::Mul
    - cryptofuzz::module::libff_detail::Load
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> OpBLS_Gx_Mul(Operation& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:254,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:254,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:258,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:258,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:259,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operation
    constantsTouched: []
    func_position:
      end: 265
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 265
    functionName: cryptofuzz::module::libff_detail::OpBLS_Gx_IsEq
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - CF_CHECK_NE
    - modifier::GetSize
    - cryptofuzz::module::libff_detail::Load
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> OpBLS_Gx_IsEq(Operation& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:270,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:270,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:275,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:275,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libff/module.cpp:279,1
    - Dst: cryptofuzz::module::libff_detail::IsValid
      Src: /src/cryptofuzz/modules/libff/module.cpp:279,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - Operation
    constantsTouched: []
    func_position:
      end: 285
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 285
    functionName: cryptofuzz::module::libff_detail::OpBLS_Gx_Neg
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - cryptofuzz::module::libff_detail::Save
    - modifier::GetPtr
    - modifier::GetSize
    - cryptofuzz::module::libff_detail::IsValid
    - CF_CHECK_TRUE
    - cryptofuzz::module::libff_detail::Load
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> OpBLS_Gx_Neg(Operation& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:290,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:290,1
    - Dst: libff_detail::Mul<G1Type, component::BLS_PublicKey>
      Src: /src/cryptofuzz/modules/libff/module.cpp:292,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/cryptofuzz/modules/libff/module.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: cryptofuzz::module::_libff::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - libff_detail::Mul<G1Type, component::BLS_PublicKey>
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> _libff::OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:296,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:296,1
    - Dst: libff_detail::Mul<G2Type, component::G2>
      Src: /src/cryptofuzz/modules/libff/module.cpp:298,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/cryptofuzz/modules/libff/module.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic_G2
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: cryptofuzz::module::_libff::OpBLS_PrivateToPublic_G2
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - libff_detail::Mul<G2Type, component::G2>
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> _libff::OpBLS_PrivateToPublic_G2(operation::BLS_PrivateToPublic_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libff_detail::OpBLS_IsGxOnCurve<G1Type>
      Src: /src/cryptofuzz/modules/libff/module.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: cryptofuzz::module::_libff::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff_detail::OpBLS_IsGxOnCurve<G1Type>
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> _libff::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libff_detail::OpBLS_Gx_Add<G1Type, component::G1>
      Src: /src/cryptofuzz/modules/libff/module.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: cryptofuzz::module::_libff::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff_detail::OpBLS_Gx_Add<G1Type, component::G1>
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> _libff::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libff_detail::OpBLS_Gx_Mul<G1Type, component::G1>
      Src: /src/cryptofuzz/modules/libff/module.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: cryptofuzz::module::_libff::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff_detail::OpBLS_Gx_Mul<G1Type, component::G1>
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> _libff::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:315,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:315,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/cryptofuzz/modules/libff/module.cpp:317,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:320,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:321,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libff/module.cpp:325,1
    - Dst: second::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:325,1
    - Dst: FrType
      Src: /src/cryptofuzz/modules/libff/module.cpp:326,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:326,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_MultiExp
    constantsTouched: []
    func_position:
      end: 335
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 335
    functionName: cryptofuzz::module::_libff::OpBLS_G1_MultiExp
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - CF_CHECK_NE
    - cryptofuzz::module::libff_detail::Save
    - modifier::GetPtr
    - second::GetSize
    - FrType
    - modifier::GetSize
    - second::ToString
    - CF_CHECK_LTE
    - cryptofuzz::module::libff_detail::Load
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> _libff::OpBLS_G1_MultiExp(operation::BLS_G1_MultiExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libff_detail::OpBLS_Gx_IsEq<G1Type>
      Src: /src/cryptofuzz/modules/libff/module.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: cryptofuzz::module::_libff::OpBLS_G1_IsEq
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff_detail::OpBLS_Gx_IsEq<G1Type>
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> _libff::OpBLS_G1_IsEq(operation::BLS_G1_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libff_detail::OpBLS_Gx_Neg<G1Type, component::G1>
      Src: /src/cryptofuzz/modules/libff/module.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: cryptofuzz::module::_libff::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff_detail::OpBLS_Gx_Neg<G1Type, component::G1>
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> _libff::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: g2::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:347,1
    - Dst: g2::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:348,1
    - Dst: g2::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:349,1
    - Dst: g2::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:350,1
    - Dst: libff_detail::OpBLS_IsGxOnCurve<G2Type>
      Src: /src/cryptofuzz/modules/libff/module.cpp:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 356
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 356
    functionName: cryptofuzz::module::_libff::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - g2::second::second::ToTrimmedString
    - g2::second::first::ToTrimmedString
    - g2::first::second::ToTrimmedString
    - g2::first::first::ToTrimmedString
    - libff_detail::OpBLS_IsGxOnCurve<G2Type>
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> _libff::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libff_detail::OpBLS_Gx_Add<G2Type, component::G2>
      Src: /src/cryptofuzz/modules/libff/module.cpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: cryptofuzz::module::_libff::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff_detail::OpBLS_Gx_Add<G2Type, component::G2>
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> _libff::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libff_detail::OpBLS_Gx_Mul<G2Type, component::G2>
      Src: /src/cryptofuzz/modules/libff/module.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: cryptofuzz::module::_libff::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff_detail::OpBLS_Gx_Mul<G2Type, component::G2>
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> _libff::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libff_detail::OpBLS_Gx_IsEq<G2Type>
      Src: /src/cryptofuzz/modules/libff/module.cpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 368
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 368
    functionName: cryptofuzz::module::_libff::OpBLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff_detail::OpBLS_Gx_IsEq<G2Type>
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> _libff::OpBLS_G2_IsEq(operation::BLS_G2_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libff_detail::OpBLS_Gx_Neg<G2Type, component::G2>
      Src: /src/cryptofuzz/modules/libff/module.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: cryptofuzz::module::_libff::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff_detail::OpBLS_Gx_Neg<G2Type, component::G2>
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> _libff::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:376,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:376,1
    - Dst: fp12::bn1::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:378,1
    - Dst: fp12::bn2::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:379,1
    - Dst: fp12::bn3::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:380,1
    - Dst: fp12::bn4::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:381,1
    - Dst: fp12::bn5::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:382,1
    - Dst: fp12::bn6::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:383,1
    - Dst: fp12::bn7::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:384,1
    - Dst: fp12::bn8::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:385,1
    - Dst: fp12::bn9::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:386,1
    - Dst: fp12::bn10::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:387,1
    - Dst: fp12::bn11::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:388,1
    - Dst: fp12::bn12::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:389,1
    - Dst: Fq12Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:391,1
    - Dst: Fq6Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:392,1
    - Dst: Fq2Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:393,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:394,1
    - Dst: fp12::bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:394,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:395,1
    - Dst: fp12::bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:395,1
    - Dst: Fq2Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:397,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:398,1
    - Dst: fp12::bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:398,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:399,1
    - Dst: fp12::bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:399,1
    - Dst: Fq2Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:401,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:402,1
    - Dst: fp12::bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:402,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:403,1
    - Dst: fp12::bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:403,1
    - Dst: Fq6Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:406,1
    - Dst: Fq2Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:407,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:408,1
    - Dst: fp12::bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:408,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:409,1
    - Dst: fp12::bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:409,1
    - Dst: Fq2Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:411,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:412,1
    - Dst: fp12::bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:412,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:413,1
    - Dst: fp12::bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:413,1
    - Dst: Fq2Type
      Src: /src/cryptofuzz/modules/libff/module.cpp:415,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:416,1
    - Dst: fp12::bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:416,1
    - Dst: FqType
      Src: /src/cryptofuzz/modules/libff/module.cpp:417,1
    - Dst: fp12::bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:417,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/cryptofuzz/modules/libff/module.cpp:422,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/cryptofuzz/modules/libff/module.cpp:423,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:424,1
    - Dst: bls12_381_final_exponentiation
      Src: /src/cryptofuzz/modules/libff/module.cpp:430,1
    - Dst: alt_bn128_final_exponentiation
      Src: /src/cryptofuzz/modules/libff/module.cpp:432,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:434,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_FinalExp
    constantsTouched: []
    func_position:
      end: 438
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 438
    functionName: cryptofuzz::module::_libff::OpBLS_FinalExp
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libff_detail::Save
    - modifier::GetPtr
    - Fq12Type
    - modifier::GetSize
    - fp12::bn8::GetSize
    - fp12::bn1::GetSize
    - fp12::bn5::ToTrimmedString
    - alt_bn128_final_exponentiation
    - fp12::bn3::GetSize
    - Fq6Type
    - Fq2Type
    - fp12::bn3::ToTrimmedString
    - fp12::bn1::ToTrimmedString
    - fp12::bn10::ToTrimmedString
    - fp12::bn2::GetSize
    - fp12::bn12::ToTrimmedString
    - fp12::bn12::GetSize
    - fp12::bn9::GetSize
    - fp12::bn10::GetSize
    - fp12::bn9::ToTrimmedString
    - fp12::bn6::ToTrimmedString
    - fp12::bn4::GetSize
    - fp12::bn7::ToTrimmedString
    - fp12::bn8::ToTrimmedString
    - fp12::bn6::GetSize
    - fp12::bn11::GetSize
    - fp12::bn4::ToTrimmedString
    - fiat_bls12_381_fp_nonzero
    - fp12::bn5::GetSize
    - fp12::bn7::GetSize
    - FqType
    - fp12::bn2::ToTrimmedString
    - bls12_381_final_exponentiation
    - fp12::bn11::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> _libff::OpBLS_FinalExp(operation::BLS_FinalExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:442,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:442,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/cryptofuzz/modules/libff/module.cpp:444,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:450,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:450,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:451,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:451,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:453,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:454,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:456,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:457,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:458,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:459,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libff/module.cpp:461,1
    - Dst: cryptofuzz::module::libff_detail::IsValid
      Src: /src/cryptofuzz/modules/libff/module.cpp:461,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libff/module.cpp:462,1
    - Dst: cryptofuzz::module::libff_detail::IsValid
      Src: /src/cryptofuzz/modules/libff/module.cpp:462,1
    - Dst: mclBn_pairing
      Src: /src/cryptofuzz/modules/libff/module.cpp:466,1
    - Dst: mclBn_pairing
      Src: /src/cryptofuzz/modules/libff/module.cpp:468,1
    - Dst: bls12_381_final_exponentiation
      Src: /src/cryptofuzz/modules/libff/module.cpp:473,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/cryptofuzz/modules/libff/module.cpp:473,1
    - Dst: alt_bn128_final_exponentiation
      Src: /src/cryptofuzz/modules/libff/module.cpp:475,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/cryptofuzz/modules/libff/module.cpp:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_BatchVerify
    constantsTouched: []
    func_position:
      end: 480
      start: 440
    functionDepth: 3
    functionLinenumber: 440
    functionLinenumberEnd: 480
    functionName: cryptofuzz::module::_libff::OpBLS_BatchVerify
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - alt_bn128_final_exponentiation
    - CF_CHECK_NE
    - modifier::GetPtr
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - mclBn_pairing
    - modifier::GetSize
    - cryptofuzz::module::libff_detail::IsValid
    - bls12_381_final_exponentiation
    - CF_CHECK_TRUE
    - cryptofuzz::module::libff_detail::Load
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> _libff::OpBLS_BatchVerify(operation::BLS_BatchVerify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:484,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:484,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/cryptofuzz/modules/libff/module.cpp:486,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libff/module.cpp:491,1
    - Dst: priv::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:491,1
    - Dst: FrType
      Src: /src/cryptofuzz/modules/libff/module.cpp:492,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:492,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/cryptofuzz/modules/libff/module.cpp:494,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:496,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:497,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/libff/module.cpp:504,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:506,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:507,1
    - Dst: Botan_Tests::RFC8448_Session_Manager::retrieve_one
      Src: /src/cryptofuzz/modules/libff/module.cpp:517,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/libff/module.cpp:518,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/libff/module.cpp:519,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:521,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:522,1
    - Dst: cryptofuzz::component::BLS_BatchSignature::BLS_BatchSignature
      Src: /src/cryptofuzz/modules/libff/module.cpp:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_BatchSign
    constantsTouched: []
    func_position:
      end: 531
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 531
    functionName: cryptofuzz::module::_libff::OpBLS_BatchSign
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - fiat_bls12_381_fp_nonzero
    - CF_CHECK_NE
    - cryptofuzz::module::libff_detail::Save
    - modifier::GetPtr
    - FrType
    - Botan_Tests::RFC8448_Session_Manager::retrieve_one
    - priv::ToTrimmedString
    - std::vector::begin
    - cryptofuzz::component::BLS_BatchSignature::BLS_BatchSignature
    - std::vector::push_back
    - modifier::GetSize
    - std::vector::insert
    - priv::GetSize
    - CF_CHECK_LTE
    - cryptofuzz::module::libff_detail::Load
    linkageType: ''
    returnType: std::optional<component::BLS_BatchSignature>
    signature: std::optional<component::BLS_BatchSignature> _libff::OpBLS_BatchSign(operation::BLS_BatchSign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:535,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:535,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:540,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:540,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:541,1
    - Dst: cryptofuzz::module::libff_detail::Load
      Src: /src/cryptofuzz/modules/libff/module.cpp:541,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:543,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:544,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:546,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:547,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:548,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libff/module.cpp:549,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libff/module.cpp:551,1
    - Dst: cryptofuzz::module::libff_detail::IsValid
      Src: /src/cryptofuzz/modules/libff/module.cpp:551,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libff/module.cpp:552,1
    - Dst: cryptofuzz::module::libff_detail::IsValid
      Src: /src/cryptofuzz/modules/libff/module.cpp:552,1
    - Dst: libff::bls12_381_pp::reduced_pairing
      Src: /src/cryptofuzz/modules/libff/module.cpp:557,1
    - Dst: libff::alt_bn128_pp::reduced_pairing
      Src: /src/cryptofuzz/modules/libff/module.cpp:559,1
    - Dst: cryptofuzz::module::libff_detail::Save
      Src: /src/cryptofuzz/modules/libff/module.cpp:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Pairing
    constantsTouched: []
    func_position:
      end: 566
      start: 533
    functionDepth: 3
    functionLinenumber: 533
    functionLinenumberEnd: 566
    functionName: cryptofuzz::module::_libff::OpBLS_Pairing
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - cryptofuzz::module::libff_detail::Save
    - modifier::GetPtr
    - libff::alt_bn128_pp::reduced_pairing
    - modifier::GetSize
    - libff::bls12_381_pp::reduced_pairing
    - cryptofuzz::module::libff_detail::IsValid
    - CF_CHECK_TRUE
    - cryptofuzz::module::libff_detail::Load
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> _libff::OpBLS_Pairing(operation::BLS_Pairing&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libff/module.cpp:572,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:572,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:574,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/modules/libff/module.cpp:575,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/libff/module.cpp:577,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:578,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:580,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:580,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:581,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:581,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:583,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:586,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:588,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:588,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:589,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:589,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:591,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:594,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:596,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:596,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:597,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:597,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:599,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:602,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:604,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:604,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:605,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:605,1
    - Dst: auto::as_bigint
      Src: /src/cryptofuzz/modules/libff/module.cpp:606,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:607,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:610,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:612,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:612,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/libff/module.cpp:613,1
    - Dst: auto::is_zero
      Src: /src/cryptofuzz/modules/libff/module.cpp:613,1
    - Dst: auto::inverse
      Src: /src/cryptofuzz/modules/libff/module.cpp:614,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:615,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:618,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:620,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:620,1
    - Dst: auto::squared
      Src: /src/cryptofuzz/modules/libff/module.cpp:621,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libff/module.cpp:622,1
    - Dst: auto::sqrt
      Src: /src/cryptofuzz/modules/libff/module.cpp:622,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:623,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:626,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:628,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:628,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:629,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:632,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:634,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:634,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:635,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:635,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libff/module.cpp:636,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libff/module.cpp:636,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:639,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:641,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:641,1
    - Dst: auto::is_zero
      Src: /src/cryptofuzz/modules/libff/module.cpp:642,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libff/module.cpp:642,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libff/module.cpp:642,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:645,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:647,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:647,1
    - Dst: fiat_bls12_381_fp_nonzero
      Src: /src/cryptofuzz/modules/libff/module.cpp:649,1
    - Dst: blst::PT::one
      Src: /src/cryptofuzz/modules/libff/module.cpp:649,1
    - Dst: auto::sqrt
      Src: /src/cryptofuzz/modules/libff/module.cpp:650,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:651,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libff/module.cpp:653,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:657,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:659,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:659,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:660,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libff/module.cpp:661,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/cryptofuzz/modules/libff/module.cpp:661,1
    - Dst: auto::Frobenius_map
      Src: /src/cryptofuzz/modules/libff/module.cpp:662,1
    - Dst: boost::multiprecision::cpp_int::convert_to
      Src: /src/cryptofuzz/modules/libff/module.cpp:662,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:663,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:666,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:668,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:668,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:670,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libff/module.cpp:673,1
    - Dst: T
      Src: /src/cryptofuzz/modules/libff/module.cpp:675,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:675,1
    - Dst: cryptofuzz::module::libff_detail::ToString
      Src: /src/cryptofuzz/modules/libff/module.cpp:677,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 683
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 683
    functionName: cryptofuzz::module::libff_detail::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - auto::squared
    - modifier::GetPtr
    - T
    - CF_CHECK_FALSE
    - blst::PT::one
    - bn0::GetSize
    - modifier::GetSize
    - CF_CHECK_LTE
    - auto::as_bigint
    - cryptofuzz::module::libff_detail::ToString
    - bn1::GetSize
    - calcOp::Get
    - bn0::ToTrimmedString
    - bn1::ToTrimmedString
    - std::string
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - fiat_bls12_381_fp_nonzero
    - CF_ASSERT
    - boost::multiprecision::cpp_int::convert_to
    - auto::sqrt
    - auto::Frobenius_map
    - auto::is_zero
    - auto::inverse
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:693,1
    - Dst: libff_detail::OpBignumCalc<FrType, 77>
      Src: /src/cryptofuzz/modules/libff/module.cpp:694,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:695,1
    - Dst: libff_detail::OpBignumCalc<FqType, 115>
      Src: /src/cryptofuzz/modules/libff/module.cpp:696,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:697,1
    - Dst: libff_detail::OpBignumCalc<libff::edwards_Fr, 55>
      Src: /src/cryptofuzz/modules/libff/module.cpp:698,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:699,1
    - Dst: libff_detail::OpBignumCalc<libff::edwards_Fq, 55>
      Src: /src/cryptofuzz/modules/libff/module.cpp:700,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:702,1
    - Dst: libff_detail::OpBignumCalc<libff::alt_bn128_Fq, 77>
      Src: /src/cryptofuzz/modules/libff/module.cpp:703,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:704,1
    - Dst: libff_detail::OpBignumCalc<libff::alt_bn128_Fr, 77>
      Src: /src/cryptofuzz/modules/libff/module.cpp:705,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:708,1
    - Dst: libff_detail::OpBignumCalc<libff::mnt4_Fr, 90>
      Src: /src/cryptofuzz/modules/libff/module.cpp:709,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:710,1
    - Dst: libff_detail::OpBignumCalc<libff::mnt4_Fq, 90>
      Src: /src/cryptofuzz/modules/libff/module.cpp:711,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:712,1
    - Dst: libff_detail::OpBignumCalc<libff::mnt6_Fr, 90>
      Src: /src/cryptofuzz/modules/libff/module.cpp:713,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/libff/module.cpp:714,1
    - Dst: libff_detail::OpBignumCalc<libff::mnt6_Fq, 90>
      Src: /src/cryptofuzz/modules/libff/module.cpp:715,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 726
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 726
    functionName: cryptofuzz::module::_libff::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/libff/module.cpp
    functionUses: 0
    functionsReached:
    - libff_detail::OpBignumCalc<libff::mnt4_Fq, 90>
    - libff_detail::OpBignumCalc<libff::edwards_Fq, 55>
    - libff_detail::OpBignumCalc<FrType, 77>
    - libff_detail::OpBignumCalc<libff::edwards_Fr, 55>
    - libff_detail::OpBignumCalc<libff::mnt6_Fq, 90>
    - libff_detail::OpBignumCalc<libff::alt_bn128_Fq, 77>
    - libff_detail::OpBignumCalc<libff::mnt6_Fr, 90>
    - modulo::ToTrimmedString
    - libff_detail::OpBignumCalc<FqType, 115>
    - libff_detail::OpBignumCalc<libff::alt_bn128_Fr, 77>
    - libff_detail::OpBignumCalc<libff::mnt4_Fr, 90>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> _libff::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 14
    functionName: cryptofuzz::module::schnorr_fun::schnorr_fun
    functionSourceFile: /src/cryptofuzz/modules/schnorr_fun/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void schnorr_fun::schnorr_fun(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:20,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:20,1
    - Dst: UseBIP340Nonce
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:24,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:28,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:28,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:29,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:30,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:30,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:31,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:41,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:41,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:42,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:43,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:43,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:46,1
    - Dst: schnorr_fun_schnorr_sign
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:46,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:46,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:46,1
    - Dst: cryptofuzz::util::MemorySanitizerUnpoison
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:49,1
    - Dst: cryptofuzz::util::MemorySanitizerUnpoison
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:50,1
    - Dst: cryptofuzz::tests::test_BIP340_Schnorr_Signature
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:52,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:53,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:53,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Schnorr_Sign
    constantsTouched: []
    func_position:
      end: 60
      start: 16
    functionDepth: 3
    functionLinenumber: 16
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::schnorr_fun::OpSchnorr_Sign
    functionSourceFile: /src/cryptofuzz/modules/schnorr_fun/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - CF_CHECK_NE
    - curveType::Is
    - memcpy
    - schnorr_fun_schnorr_sign
    - cryptofuzz::util::DecToBin
    - std::vector::data
    - digestType::Is
    - cryptofuzz::util::BinToDec
    - CF_CHECK_TRUE
    - cryptofuzz::tests::test_BIP340_Schnorr_Signature
    - cleartext::SHA256
    - CF_ECC_CURVE
    - cleartext::Get
    - priv::ToTrimmedString
    - CF_DIGEST
    - auto::data
    - cryptofuzz::util::MemorySanitizerUnpoison
    - UseBIP340Nonce
    linkageType: ''
    returnType: std::optional<component::Schnorr_Signature>
    signature: std::optional<component::Schnorr_Signature> schnorr_fun::OpSchnorr_Sign(operation::Schnorr_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:66,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:66,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:70,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:70,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:71,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:72,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:72,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:73,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:82,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:82,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:83,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:84,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:84,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:89,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:89,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:90,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:90,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:91,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:92,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:93,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:93,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:94,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:94,1
    - Dst: cryptofuzz::util::MemorySanitizerUnpoison
      Src: /src/cryptofuzz/modules/schnorr_fun/module.cpp:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Schnorr_Verify
    constantsTouched: []
    func_position:
      end: 106
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 106
    functionName: cryptofuzz::module::schnorr_fun::OpSchnorr_Verify
    functionSourceFile: /src/cryptofuzz/modules/schnorr_fun/module.cpp
    functionUses: 0
    functionsReached:
    - signature::pub::first::ToTrimmedString
    - CF_CHECK_NE
    - cleartext::SHA256
    - curveType::Is
    - CF_ECC_CURVE
    - cleartext::Get
    - digestType::Is
    - signature::signature::first::ToTrimmedString
    - CF_DIGEST
    - memcpy
    - auto::data
    - cryptofuzz::util::DecToBin
    - cryptofuzz::util::MemorySanitizerUnpoison
    - signature::signature::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> schnorr_fun::OpSchnorr_Verify(operation::Schnorr_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 12
    functionName: cryptofuzz::module::Google_Integers::Google_Integers
    functionSourceFile: /src/cryptofuzz/modules/google-integers/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Google_Integers::Google_Integers(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:17,1
    - Dst: integers::trapping<T>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:22,1
    - Dst: static_cast<T>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' bn'
    - ' max'
    argTypes:
    - Bignum
    - boost::multiprecision::cpp_int
    constantsTouched: []
    func_position:
      end: 23
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::Google_Integers_detail::Load
    functionSourceFile: /src/cryptofuzz/modules/google-integers/module.cpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - ToTrimmedString
    - integers::trapping<T>
    linkageType: ''
    returnType: std::optional<integers::trapping<T>>
    signature: std::optional<integers::trapping<T>> Load(const Bignum& bn, const boost::multiprecision::cpp_int&
      max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:33,1
    - Dst: cryptofuzz::module::Google_Integers_detail::Load
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:33,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:34,1
    - Dst: cryptofuzz::module::Google_Integers_detail::Load
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:34,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:37,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:38,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:41,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:44,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:47,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:50,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:53,1
    - Dst: integers::trapping<T>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:54,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:56,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:59,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:62,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:65,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:68,1
    - Dst: integers::trapping<T>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:69,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:71,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:74,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:77,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:80,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:83,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:86,1
    - Dst: integers::trapping<T>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:87,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:89,1
    - Dst: integers::trapping<T>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:90,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:99,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 103
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 103
    functionName: cryptofuzz::module::Google_Integers_detail::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/google-integers/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - CF_CHECK_NE
    - std::to_string
    - integers::trapping<T>
    - calcOp::Get
    - cryptofuzz::module::Google_Integers_detail::Load
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:108,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:108,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:111,1
    - Dst: Google_Integers_detail::OpBignumCalc<uint8_t>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:113,1
    - Dst: Google_Integers_detail::OpBignumCalc<uint16_t>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:115,1
    - Dst: Google_Integers_detail::OpBignumCalc<uint32_t>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:117,1
    - Dst: Google_Integers_detail::OpBignumCalc<uint64_t>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:119,1
    - Dst: Google_Integers_detail::OpBignumCalc<int8_t>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:122,1
    - Dst: Google_Integers_detail::OpBignumCalc<int16_t>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:124,1
    - Dst: Google_Integers_detail::OpBignumCalc<int32_t>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:126,1
    - Dst: Google_Integers_detail::OpBignumCalc<int64_t>
      Src: /src/cryptofuzz/modules/google-integers/module.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: cryptofuzz::module::Google_Integers::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/google-integers/module.cpp
    functionUses: 0
    functionsReached:
    - Google_Integers_detail::OpBignumCalc<uint8_t>
    - Google_Integers_detail::OpBignumCalc<int16_t>
    - Google_Integers_detail::OpBignumCalc<uint32_t>
    - modifier::GetPtr
    - Google_Integers_detail::OpBignumCalc<int32_t>
    - Datasource::Get
    - Google_Integers_detail::OpBignumCalc<int8_t>
    - Google_Integers_detail::OpBignumCalc<uint64_t>
    - modifier::GetSize
    - Google_Integers_detail::OpBignumCalc<uint16_t>
    - Google_Integers_detail::OpBignumCalc<int64_t>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Google_Integers::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: cryptofuzz::module::pairing_ce::pairing_ce
    functionSourceFile: /src/cryptofuzz/modules/pairing_ce/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pairing_ce::pairing_ce(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:38,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:38,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:39,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:42,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:42,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:43,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:44,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:44,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:45,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:46,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:46,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:47,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:48,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:48,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:49,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:51,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:51,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 55
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 55
    functionName: cryptofuzz::module::pairing_ce_detail::To4U64
    functionSourceFile: /src/cryptofuzz/modules/pairing_ce/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - CF_CHECK_NE
    - std::array::end
    - std::array::begin
    - std::reverse
    - memcpy
    - auto::data
    - __bswap_64
    - cryptofuzz::util::DecToBin
    linkageType: ''
    returnType: std::optional<std::array<uint64_t, 4>>
    signature: std::optional<std::array<uint64_t, 4>> To4U64(const component::Bignum&
      bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:59,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:59,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:60,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:63,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:63,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:64,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:65,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:65,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:66,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:67,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:67,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:68,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:69,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:69,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:70,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:71,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:71,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:72,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:73,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:73,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:74,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:76,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:76,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 80
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 80
    functionName: cryptofuzz::module::pairing_ce_detail::To6U64
    functionSourceFile: /src/cryptofuzz/modules/pairing_ce/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - CF_CHECK_NE
    - std::array::end
    - std::array::begin
    - std::reverse
    - memcpy
    - auto::data
    - __bswap_64
    - cryptofuzz::util::DecToBin
    linkageType: ''
    returnType: std::optional<std::array<uint64_t, 6>>
    signature: std::optional<std::array<uint64_t, 6>> To6U64(const component::Bignum&
      bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:83,1
    - Dst: std::array<uint64_t, 6>::begin
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:83,1
    - Dst: std::array<uint64_t, 6>::end
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:83,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:85,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:86,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:87,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:88,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:89,1
    - Dst: __bswap_64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:90,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:91,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:91,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:92,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:92,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:93,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:93,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:94,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:94,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:95,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:95,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:96,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:96,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - u64
    argTypes:
    - std::array<uint64_t, 6>
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: cryptofuzz::module::pairing_ce_detail::From6U64
    functionSourceFile: /src/cryptofuzz/modules/pairing_ce/module.cpp
    functionUses: 0
    functionsReached:
    - std::reverse
    - cryptofuzz::util::BinToDec
    - memcpy
    - __bswap_64
    - std::array<uint64_t, 6>::end
    - std::array<uint64_t, 6>::begin
    - std::vector::data
    linkageType: ''
    returnType: component::Bignum
    signature: component::Bignum From6U64(std::array<uint64_t, 6> u64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::pairing_ce_detail::From6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:103,1
    - Dst: cryptofuzz::module::pairing_ce_detail::From6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' result_x'
    - ' result_y'
    argTypes:
    - std::array<uint64_t, 6>
    - std::array<uint64_t, 6>
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: cryptofuzz::module::pairing_ce_detail::ToG1
    functionSourceFile: /src/cryptofuzz/modules/pairing_ce/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::pairing_ce_detail::From6U64
    linkageType: ''
    returnType: component::G1
    signature: "component::G1 ToG1(\n            const std::array<uint64_t, 6>& result_x,\n
      \           const std::array<uint64_t, 6>& result_y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:115,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:115,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:119,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:119,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:120,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:120,1
    - Dst: pairing_ce_g1_isoncurve
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:123,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:124,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:125,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 133
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 133
    functionName: cryptofuzz::module::pairing_ce::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/pairing_ce/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - pairing_ce_g1_isoncurve
    - std::optional::data
    - modifier::GetPtr
    - data
    - cryptofuzz::module::pairing_ce_detail::To6U64
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> pairing_ce::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:137,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:137,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:142,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:142,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:143,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:143,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:144,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:144,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:145,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:145,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:147,1
    - Dst: pairing_ce_g1_add
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:147,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:148,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:149,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:150,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:151,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:152,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:153,1
    - Dst: cryptofuzz::module::pairing_ce_detail::ToG1
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 160
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 160
    functionName: cryptofuzz::module::pairing_ce::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/pairing_ce/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - std::array::data
    - std::optional::data
    - modifier::GetPtr
    - data
    - cryptofuzz::module::pairing_ce_detail::To6U64
    - modifier::GetSize
    - pairing_ce_g1_add
    - cryptofuzz::module::pairing_ce_detail::ToG1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> pairing_ce::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:164,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:164,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:170,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:170,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:171,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:171,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:172,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To4U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:172,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:174,1
    - Dst: pairing_ce_g1_mul
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:174,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:175,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:176,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:177,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:178,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:179,1
    - Dst: cryptofuzz::module::pairing_ce_detail::ToG1
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 186
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 186
    functionName: cryptofuzz::module::pairing_ce::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/pairing_ce/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - std::array::data
    - std::optional::data
    - modifier::GetPtr
    - data
    - cryptofuzz::module::pairing_ce_detail::To6U64
    - modifier::GetSize
    - cryptofuzz::module::pairing_ce_detail::To4U64
    - cryptofuzz::module::pairing_ce_detail::ToG1
    - pairing_ce_g1_mul
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> pairing_ce::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:190,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:190,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:195,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:195,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:196,1
    - Dst: cryptofuzz::module::pairing_ce_detail::To6U64
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:196,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:198,1
    - Dst: pairing_ce_g1_neg
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:198,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:199,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:200,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:201,1
    - Dst: data
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:202,1
    - Dst: cryptofuzz::module::pairing_ce_detail::ToG1
      Src: /src/cryptofuzz/modules/pairing_ce/module.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 209
      start: 188
    functionDepth: 4
    functionLinenumber: 188
    functionLinenumberEnd: 209
    functionName: cryptofuzz::module::pairing_ce::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/pairing_ce/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - pairing_ce_g1_neg
    - std::array::data
    - std::optional::data
    - modifier::GetPtr
    - data
    - cryptofuzz::module::pairing_ce_detail::To6U64
    - modifier::GetSize
    - cryptofuzz::module::pairing_ce_detail::ToG1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> pairing_ce::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:12,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:12,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:13,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:13,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:14,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:14,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:15,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:15,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:16,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:16,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:17,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:17,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:18,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:18,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:19,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:19,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:20,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:20,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:21,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:21,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:22,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:22,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:23,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:23,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:24,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:24,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:25,1
    - Dst: register_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:25,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:27,1
    - Dst: register_all_ciphers
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:27,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 33
    functionName: cryptofuzz::module::libtomcrypt::libtomcrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - register_all_ciphers
    - CF_CHECK_NE
    - abort
    - register_hash
    linkageType: ''
    returnType: void
    signature: void libtomcrypt::libtomcrypt(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: cryptofuzz::module::libtomcrypt_detail::Operation::Operation
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Operation(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:49,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:49,1
    - Dst: runInit
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:52,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:56,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:58,1
    - Dst: runUpdate
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:58,1
    - Dst: runFinalize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:61,1
    - Dst: ReturnType
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:63,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:63,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - OperationType
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: cryptofuzz::module::libtomcrypt_detail::Operation::Run
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - ReturnType
    - modifier::GetPtr
    - CF_CHECK_EQ
    - runFinalize
    - runUpdate
    - auto::data
    - modifier::GetSize
    - runInit
    - cryptofuzz::util::ToParts
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> Run(OperationType& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: cryptofuzz::module::libtomcrypt_detail::Digest::Digest
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Digest(\n                int (*init)(CTXType*),\n                int
      (*update)(CTXType*, const uint8_t*, unsigned long),\n                int (*digest)(CTXType*,
      uint8_t*)\n            )"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:94,1
    - Dst: init
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: cryptofuzz::module::libtomcrypt_detail::Digest::runInit
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - init
    linkageType: ''
    returnType: bool
    signature: bool runInit(operation::Digest& op) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:108,1
    - Dst: update
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' parts'
    argTypes:
    - util::Multipart
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: cryptofuzz::module::libtomcrypt_detail::Digest::runUpdate
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - update
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool runUpdate(util::Multipart& parts) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:121,1
    - Dst: digest
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:121,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: cryptofuzz::module::libtomcrypt_detail::Digest::runFinalize
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - digest
    - CF_CHECK_EQ
    - std::vector::data
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: std::optional<std::vector<uint8_t>> runFinalize(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crc32_init
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - crc32_state*
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: cryptofuzz::module::libtomcrypt_detail::_crc32_init
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - crc32_init
    linkageType: ''
    returnType: int
    signature: int _crc32_init(crc32_state *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crc32_update
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - input
    - length
    argTypes:
    - crc32_state*
    - unsigned char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: cryptofuzz::module::libtomcrypt_detail::_crc32_update
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - crc32_update
    linkageType: ''
    returnType: int
    signature: int _crc32_update(crc32_state *ctx, const unsigned char *input, unsigned
      long length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crc32_finish
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - hash
    argTypes:
    - crc32_state*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: cryptofuzz::module::libtomcrypt_detail::_crc32_done
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - crc32_finish
    linkageType: ''
    returnType: int
    signature: int _crc32_done(crc32_state* ctx, uint8_t* hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: adler32_init
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - adler32_state*
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: cryptofuzz::module::libtomcrypt_detail::_adler32_init
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - adler32_init
    linkageType: ''
    returnType: int
    signature: int _adler32_init(adler32_state *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: adler32_update
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - input
    - length
    argTypes:
    - adler32_state*
    - unsigned char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: cryptofuzz::module::libtomcrypt_detail::_adler32_update
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - adler32_update
    linkageType: ''
    returnType: int
    signature: int _adler32_update(adler32_state *ctx, const unsigned char *input,
      unsigned long length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: adler32_finish
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - hash
    argTypes:
    - adler32_state*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: cryptofuzz::module::libtomcrypt_detail::_adler32_done
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - adler32_finish
    linkageType: ''
    returnType: int
    signature: int _adler32_done(adler32_state* ctx, uint8_t* hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:198,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:199,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:200,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:201,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:202,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:203,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:204,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:205,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:206,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:207,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:208,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:209,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:210,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:211,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:212,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:213,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:214,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:215,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:216,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:217,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:218,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:219,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:220,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:221,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:222,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:223,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:224,1
    - Dst: find_hash
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - digestType
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 229
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 229
    functionName: cryptofuzz::module::libtomcrypt_detail::ToHashIdx
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_DIGEST
    - find_hash
    linkageType: ''
    returnType: int
    signature: int ToHashIdx(const uint64_t digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:235,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:236,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:237,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:239,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:240,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:242,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:243,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:245,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:246,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:248,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:249,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:251,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:252,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:254,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:255,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:257,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:258,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:260,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:261,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:263,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:264,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:266,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:267,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:269,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:270,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:272,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:273,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:275,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:276,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:278,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:279,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:281,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:282,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:284,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:285,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:287,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:288,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:290,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:291,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:293,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:294,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:296,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:297,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:299,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:300,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:302,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:303,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:305,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:306,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:309,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:310,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:312,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:313,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:315,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:316,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:318,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:319,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 88
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 325
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 325
    functionName: cryptofuzz::module::libtomcrypt::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_DIGEST
    - digestType::Get
    - Run
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> libtomcrypt::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:330,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:330,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:338,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:338,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:340,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToHashIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:340,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:340,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:342,1
    - Dst: hmac_init
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:342,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:342,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:342,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:344,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:349,1
    - Dst: hmac_process
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:349,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:352,1
    - Dst: hmac_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:352,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 357
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 357
    functionName: cryptofuzz::module::libtomcrypt::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - hmac_init
    - CF_CHECK_NE
    - hmac_process
    - hmac_done
    - modifier::GetPtr
    - digestType::Get
    - CF_CHECK_EQ
    - cryptofuzz::module::libtomcrypt_detail::ToHashIdx
    - modifier::GetSize
    - cipher::key::GetPtr
    - cryptofuzz::util::ToParts
    - Botan_CLI::HMAC::HMAC
    - cipher::key::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> libtomcrypt::OpHMAC(operation::HMAC&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:362,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:363,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:364,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:365,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:366,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:367,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:368,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:369,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:370,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:371,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:372,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:373,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:374,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:375,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:376,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:377,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:378,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:379,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:380,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:381,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:382,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:383,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:384,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:385,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:386,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:387,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:388,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:389,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:390,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:391,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:392,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:393,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:394,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:395,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:396,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:397,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:398,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:399,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:400,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:401,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:402,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:403,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:404,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:405,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:406,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:407,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:408,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:409,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:410,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:411,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:412,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:413,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:414,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:415,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:416,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:417,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:418,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:419,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:420,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:421,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:422,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:423,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:424,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:425,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:426,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:427,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:428,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:429,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:430,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:431,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:432,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:433,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:434,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:435,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:436,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:437,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:438,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:439,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:440,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:441,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:442,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:443,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:444,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:445,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:446,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:447,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:448,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:449,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:450,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:451,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:452,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:453,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:454,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:455,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:456,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:457,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:458,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:459,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:460,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:461,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:462,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:463,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:464,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:465,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:466,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:467,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:468,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:469,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:470,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:471,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:474,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:475,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:477,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:478,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:479,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:480,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:481,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:482,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:483,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:484,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:485,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:486,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:487,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:488,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:489,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:490,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:491,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:492,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:493,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:494,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:495,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:496,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:497,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:498,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:499,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:500,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:501,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:502,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:503,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:504,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:505,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:506,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:507,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:508,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:509,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:510,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:511,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:512,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:513,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:514,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:515,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:516,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:517,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:518,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:519,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:520,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:521,1
    - Dst: find_cipher
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 163
    argCount: 1
    argNames:
    - cipherType
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 526
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 526
    functionName: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - find_cipher
    - CF_CIPHER
    linkageType: ''
    returnType: int
    signature: int ToCipherIdx(const uint64_t cipherType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:530,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:530,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:546,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:548,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:548,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:549,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:549,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:549,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:550,1
    - Dst: gcm_init
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:550,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:550,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:550,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:552,1
    - Dst: gcm_add_iv
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:552,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:552,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:552,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:555,1
    - Dst: gcm_add_aad
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:555,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:555,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:555,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:559,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:561,1
    - Dst: gcm_process
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:561,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:561,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:561,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:568,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:569,1
    - Dst: gcm_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:569,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:570,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:570,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:570,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:574,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 578
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 578
    functionName: cryptofuzz::module::libtomcrypt_detail::GcmEncrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - modifier::GetPtr
    - aad::GetPtr
    - modifier::GetSize
    - cipher::key::GetPtr
    - gcm_add_iv
    - CF_CHECK_NE
    - gcm_process
    - gcm_add_aad
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - gcm_init
    - cryptofuzz::component::Ciphertext::Ciphertext
    - std::vector::data
    - cryptofuzz::util::free
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - aad::GetSize
    - cryptofuzz::util::ToParts
    - gcm_done
    - cipher::key::GetSize
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - Buffer
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> GcmEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:582,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:582,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:597,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:599,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:599,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:600,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:600,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:600,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:601,1
    - Dst: gcm_init
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:601,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:601,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:601,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:603,1
    - Dst: gcm_add_iv
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:603,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:603,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:603,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:606,1
    - Dst: gcm_add_aad
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:606,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:606,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:606,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:610,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:612,1
    - Dst: gcm_process
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:612,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:612,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:612,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:619,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:620,1
    - Dst: gcm_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:620,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:623,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:623,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:624,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:624,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:624,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:624,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:626,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:626,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:630,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 634
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 634
    functionName: cryptofuzz::module::libtomcrypt_detail::GcmDecrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - modifier::GetPtr
    - aad::GetPtr
    - modifier::GetSize
    - cipher::key::GetPtr
    - gcm_add_iv
    - CF_CHECK_NE
    - gcm_process
    - memcmp
    - gcm_add_aad
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - gcm_init
    - std::vector::data
    - cryptofuzz::util::free
    - tag::GetSize
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - aad::GetSize
    - cryptofuzz::util::ToParts
    - gcm_done
    - cipher::key::GetSize
    - tag::GetPtr
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - Buffer
    - component::Cleartext
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> GcmDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:638,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:638,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:648,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:648,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:653,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:659,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:659,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:660,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:660,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:660,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:664,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:665,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:666,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:666,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:667,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:667,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:668,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:668,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:672,1
    - Dst: ccm_memory
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:672,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:674,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:675,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:677,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:678,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:679,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:680,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:681,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:682,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:691,1
    - Dst: ccm_init
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:691,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:694,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:695,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:696,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:698,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:699,1
    - Dst: ccm_add_nonce
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:699,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:699,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:699,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:700,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:701,1
    - Dst: ccm_add_aad
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:701,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:703,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:704,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:706,1
    - Dst: ccm_process
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:706,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:706,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:706,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:707,1
    - Dst: ccm_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:707,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:710,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:710,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:710,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:710,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:714,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 718
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 718
    functionName: cryptofuzz::module::libtomcrypt_detail::CcmEncrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - aad::GetPtr
    - modifier::GetSize
    - cipher::key::GetPtr
    - ccm_memory
    - cleartext::GetSize
    - CF_CHECK_NE
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - cryptofuzz::component::Ciphertext::Ciphertext
    - cryptofuzz::util::free
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - ccm_init
    - ccm_add_aad
    - ccm_process
    - aad::GetSize
    - ccm_add_nonce
    - ccm_done
    - cipher::key::GetSize
    - cleartext::Get
    - Datasource::Get
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - auto::data
    - Buffer
    - auto::size
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CcmEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:722,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:722,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:729,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:729,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:734,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:740,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:740,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:741,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:741,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:741,1
    - Dst: ciphertext::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:745,1
    - Dst: tag::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:746,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:747,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:747,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:748,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:748,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:749,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:749,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:750,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:750,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:755,1
    - Dst: ccm_memory
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:755,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:757,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:758,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:760,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:761,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:762,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:763,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:765,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:766,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:767,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:774,1
    - Dst: ccm_init
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:774,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:777,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:778,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:779,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:781,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:782,1
    - Dst: ccm_add_nonce
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:782,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:782,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:782,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:783,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:784,1
    - Dst: ccm_add_aad
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:784,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:786,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:787,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:789,1
    - Dst: ccm_process
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:789,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:789,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:789,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:790,1
    - Dst: ccm_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:790,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:790,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:793,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:793,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:793,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:797,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:798,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 801
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 801
    functionName: cryptofuzz::module::libtomcrypt_detail::CcmDecrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - aad::GetPtr
    - modifier::GetSize
    - cipher::key::GetPtr
    - ccm_memory
    - CF_CHECK_NE
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - ciphertext::Get
    - cryptofuzz::util::free
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - ccm_init
    - ccm_add_aad
    - ccm_process
    - tag::Get
    - aad::GetSize
    - ccm_add_nonce
    - ccm_done
    - cipher::key::GetSize
    - Datasource::Get
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - auto::data
    - Buffer
    - auto::size
    - component::Cleartext
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CcmDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:805,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:805,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:815,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:815,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:819,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:819,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:824,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:829,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:829,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:833,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:834,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:835,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:835,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:836,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:836,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:837,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:837,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:841,1
    - Dst: chacha20poly1305_memory
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:841,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:842,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:843,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:844,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:845,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:846,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:847,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:848,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:849,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:859,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:861,1
    - Dst: chacha20poly1305_init
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:861,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:861,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:861,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:862,1
    - Dst: chacha20poly1305_setiv
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:862,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:862,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:862,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:864,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:865,1
    - Dst: chacha20poly1305_add_aad
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:865,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:867,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:868,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:872,1
    - Dst: chacha20poly1305_encrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:872,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:876,1
    - Dst: chacha20poly1305_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:876,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:879,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:879,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:879,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:879,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:883,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:884,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 887
      start: 803
    functionDepth: 2
    functionLinenumber: 803
    functionLinenumberEnd: 887
    functionName: cryptofuzz::module::libtomcrypt_detail::ChaCha20Poly1305Encrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - aad::GetPtr
    - modifier::GetSize
    - cipher::key::GetPtr
    - chacha20poly1305_add_aad
    - chacha20poly1305_setiv
    - chacha20poly1305_memory
    - cleartext::GetSize
    - CF_CHECK_NE
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - chacha20poly1305_encrypt
    - cryptofuzz::component::Ciphertext::Ciphertext
    - chacha20poly1305_done
    - cryptofuzz::util::free
    - CF_CHECK_EQ
    - chacha20poly1305_init
    - aad::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - cleartext::Get
    - Datasource::Get
    - auto::data
    - Buffer
    - auto::size
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> ChaCha20Poly1305Encrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:891,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:891,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:897,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:901,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:901,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:905,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:905,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:910,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:915,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:915,1
    - Dst: ciphertext::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:919,1
    - Dst: tag::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:920,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:921,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:921,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:922,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:922,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:923,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:923,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:924,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:924,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:928,1
    - Dst: chacha20poly1305_memory
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:928,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:929,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:930,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:931,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:932,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:933,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:934,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:935,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:936,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:938,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:944,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:946,1
    - Dst: chacha20poly1305_init
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:946,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:946,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:946,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:947,1
    - Dst: chacha20poly1305_setiv
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:947,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:947,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:947,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:949,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:950,1
    - Dst: chacha20poly1305_add_aad
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:950,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:952,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:953,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:957,1
    - Dst: chacha20poly1305_decrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:957,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:961,1
    - Dst: chacha20poly1305_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:961,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:961,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:964,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:964,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:964,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:968,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:969,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 972
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 972
    functionName: cryptofuzz::module::libtomcrypt_detail::ChaCha20Poly1305Decrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - aad::GetPtr
    - modifier::GetSize
    - cipher::key::GetPtr
    - chacha20poly1305_add_aad
    - chacha20poly1305_setiv
    - chacha20poly1305_memory
    - CF_CHECK_NE
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - ciphertext::Get
    - chacha20poly1305_done
    - cryptofuzz::util::free
    - tag::GetSize
    - CF_CHECK_EQ
    - tag::Get
    - chacha20poly1305_init
    - aad::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - chacha20poly1305_decrypt
    - Datasource::Get
    - auto::data
    - Buffer
    - auto::size
    - component::Cleartext
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> ChaCha20Poly1305Decrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:977,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:981,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:989,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:991,1
    - Dst: salsa20_setup
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:991,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:991,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:991,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:992,1
    - Dst: salsa20_ivctr64
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:992,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:992,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:992,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:994,1
    - Dst: salsa20_crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:994,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:998,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:998,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1001,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - ' ds'
    - ' in'
    - ' cipher'
    - keySize
    - rounds
    argTypes:
    - Datasource
    - Buffer
    - component::SymmetricCipher
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1003
      start: 974
    functionDepth: 2
    functionLinenumber: 974
    functionLinenumberEnd: 1003
    functionName: cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - salsa20_setup
    - cryptofuzz::util::free
    - salsa20_ivctr64
    - key::GetPtr
    - iv::GetSize
    - CF_CHECK_EQ
    - key::GetSize
    - salsa20_crypt
    - iv::GetPtr
    - Buffer
    - GetSize
    - cryptofuzz::util::ToParts
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> Salsa20Crypt(Datasource& ds, const Buffer& in,
      const component::SymmetricCipher& cipher, const size_t keySize, const size_t
      rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1008,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1012,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1012,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1020,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1022,1
    - Dst: chacha_setup
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1022,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1022,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1022,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1023,1
    - Dst: chacha_ivctr64
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1023,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1023,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1023,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1025,1
    - Dst: chacha_crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1025,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1029,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1029,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1032,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' ds'
    - ' in'
    - ' cipher'
    argTypes:
    - Datasource
    - Buffer
    - component::SymmetricCipher
    constantsTouched: []
    func_position:
      end: 1034
      start: 1005
    functionDepth: 2
    functionLinenumber: 1005
    functionLinenumberEnd: 1034
    functionName: cryptofuzz::module::libtomcrypt_detail::ChaCha20Crypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - key::GetPtr
    - iv::GetSize
    - chacha_ivctr64
    - CF_CHECK_EQ
    - key::GetSize
    - chacha_crypt
    - iv::GetPtr
    - Buffer
    - GetSize
    - cryptofuzz::util::ToParts
    - chacha_setup
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> ChaCha20Crypt(Datasource& ds, const Buffer& in,
      const component::SymmetricCipher& cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1039,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1043,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1043,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1051,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1053,1
    - Dst: rabbit_setup
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1053,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1053,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1053,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1054,1
    - Dst: rabbit_setiv
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1054,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1054,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1054,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1056,1
    - Dst: rabbit_crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1056,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1060,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1060,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' ds'
    - ' in'
    - ' cipher'
    argTypes:
    - Datasource
    - Buffer
    - component::SymmetricCipher
    constantsTouched: []
    func_position:
      end: 1065
      start: 1036
    functionDepth: 2
    functionLinenumber: 1036
    functionLinenumberEnd: 1065
    functionName: cryptofuzz::module::libtomcrypt_detail::RABBITCrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - rabbit_setup
    - key::GetPtr
    - iv::GetSize
    - rabbit_setiv
    - CF_CHECK_EQ
    - key::GetSize
    - iv::GetPtr
    - Buffer
    - GetSize
    - cryptofuzz::util::ToParts
    - rabbit_crypt
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> RABBITCrypt(Datasource& ds, const Buffer& in,
      const component::SymmetricCipher& cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1070,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1074,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1074,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1082,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1084,1
    - Dst: sosemanuk_setup
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1084,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1084,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1084,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1085,1
    - Dst: sosemanuk_setiv
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1085,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1085,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1085,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1090,1
    - Dst: sosemanuk_crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1090,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1094,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1094,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1097,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - ' ds'
    - ' in'
    - ' cipher'
    argTypes:
    - Datasource
    - Buffer
    - component::SymmetricCipher
    constantsTouched: []
    func_position:
      end: 1099
      start: 1067
    functionDepth: 2
    functionLinenumber: 1067
    functionLinenumberEnd: 1099
    functionName: cryptofuzz::module::libtomcrypt_detail::SOSEMANUKCrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - sosemanuk_setiv
    - key::GetPtr
    - iv::GetSize
    - CF_CHECK_EQ
    - key::GetSize
    - sosemanuk_crypt
    - iv::GetPtr
    - Buffer
    - GetSize
    - cryptofuzz::util::ToParts
    - sosemanuk_setup
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> SOSEMANUKCrypt(Datasource& ds, const Buffer&
      in, const component::SymmetricCipher& cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1104,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1112,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1114,1
    - Dst: rc4_stream_setup
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1114,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1114,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1114,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1119,1
    - Dst: rc4_stream_crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1119,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1123,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1123,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ' ds'
    - ' in'
    - ' cipher'
    argTypes:
    - Datasource
    - Buffer
    - component::SymmetricCipher
    constantsTouched: []
    func_position:
      end: 1128
      start: 1101
    functionDepth: 2
    functionLinenumber: 1101
    functionLinenumberEnd: 1128
    functionName: cryptofuzz::module::libtomcrypt_detail::RC4Crypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - key::GetPtr
    - rc4_stream_crypt
    - CF_CHECK_EQ
    - key::GetSize
    - rc4_stream_setup
    - Buffer
    - cryptofuzz::util::ToParts
    - GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> RC4Crypt(Datasource& ds, const Buffer& in, const
      component::SymmetricCipher& cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1133,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1137,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1145,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1147,1
    - Dst: sober128_stream_setup
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1147,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1147,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1147,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1148,1
    - Dst: sober128_stream_setiv
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1148,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1148,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1148,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1150,1
    - Dst: sober128_stream_crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1150,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1154,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1154,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ' ds'
    - ' in'
    - ' cipher'
    argTypes:
    - Datasource
    - Buffer
    - component::SymmetricCipher
    constantsTouched: []
    func_position:
      end: 1159
      start: 1130
    functionDepth: 2
    functionLinenumber: 1130
    functionLinenumberEnd: 1159
    functionName: cryptofuzz::module::libtomcrypt_detail::SOBER128Crypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - key::GetPtr
    - iv::GetSize
    - CF_CHECK_EQ
    - key::GetSize
    - sober128_stream_setiv
    - iv::GetPtr
    - Buffer
    - GetSize
    - cryptofuzz::util::ToParts
    - sober128_stream_crypt
    - sober128_stream_setup
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> SOBER128Crypt(Datasource& ds, const Buffer& in,
      const component::SymmetricCipher& cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1168,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1168,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1168,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1169,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1169,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1170,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1170,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1171,1
    - Dst: ecb_start
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1171,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1171,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1171,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1172,1
    - Dst: ecb_encrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1172,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1172,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1172,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1173,1
    - Dst: ecb_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1173,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1175,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1175,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 1180
      start: 1161
    functionDepth: 1
    functionLinenumber: 1161
    functionLinenumberEnd: 1180
    functionName: cryptofuzz::module::libtomcrypt_detail::EcbEncrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - ecb_start
    - cipher::cipherType::Get
    - ecb_encrypt
    - CF_CHECK_EQ
    - cleartext::GetPtr
    - CF_CHECK_GT
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - ecb_done
    - cipher::key::GetPtr
    - Buffer
    - cipher::key::GetSize
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> EcbEncrypt(operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1189,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1189,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1189,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1190,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1190,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1191,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1191,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1192,1
    - Dst: ecb_start
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1192,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1192,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1192,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1193,1
    - Dst: ecb_decrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1193,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1193,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1193,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1194,1
    - Dst: ecb_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1194,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1196,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1196,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 1201
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1201
    functionName: cryptofuzz::module::libtomcrypt_detail::EcbDecrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - ecb_decrypt
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - ciphertext::GetSize
    - ecb_start
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - CF_CHECK_GT
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - ciphertext::GetPtr
    - ecb_done
    - cipher::key::GetPtr
    - Buffer
    - cipher::key::GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> EcbDecrypt(operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1210,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1210,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1210,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1211,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1211,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1212,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1212,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1213,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1213,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1214,1
    - Dst: ctr_start
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1214,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1214,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1214,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1214,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1215,1
    - Dst: ctr_encrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1215,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1215,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1215,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1216,1
    - Dst: ctr_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1216,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1218,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1218,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 1223
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1223
    functionName: cryptofuzz::module::libtomcrypt_detail::CtrEncrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - cipher::cipherType::Get
    - cleartext::GetPtr
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - CF_CHECK_GT
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - ctr_encrypt
    - ctr_start
    - cipher::iv::GetPtr
    - cipher::key::GetPtr
    - ctr_done
    - Buffer
    - cipher::key::GetSize
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> CtrEncrypt(operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1232,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1232,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1232,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1233,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1233,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1234,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1234,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1235,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1235,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1236,1
    - Dst: ctr_start
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1236,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1236,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1236,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1236,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1237,1
    - Dst: ctr_decrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1237,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1237,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1237,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1238,1
    - Dst: ctr_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1238,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1240,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1240,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 1245
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1245
    functionName: cryptofuzz::module::libtomcrypt_detail::CtrDecrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - ciphertext::GetSize
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - CF_CHECK_GT
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - ciphertext::GetPtr
    - ctr_start
    - cipher::iv::GetPtr
    - cipher::key::GetPtr
    - ctr_decrypt
    - ctr_done
    - Buffer
    - cipher::key::GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> CtrDecrypt(operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1254,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1254,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1254,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1255,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1255,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1256,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1256,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1257,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1257,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1258,1
    - Dst: cfb_start
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1258,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1258,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1258,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1258,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1259,1
    - Dst: cfb_encrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1259,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1259,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1259,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1260,1
    - Dst: cfb_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1260,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1262,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1262,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 1267
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1267
    functionName: cryptofuzz::module::libtomcrypt_detail::CfbEncrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - cipher::cipherType::Get
    - cleartext::GetPtr
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - CF_CHECK_GT
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - cfb_encrypt
    - cfb_start
    - cipher::iv::GetPtr
    - cipher::key::GetPtr
    - cfb_done
    - Buffer
    - cipher::key::GetSize
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> CfbEncrypt(operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1276,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1276,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1276,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1277,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1277,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1278,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1278,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1279,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1279,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1280,1
    - Dst: cfb_start
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1280,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1280,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1280,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1280,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1281,1
    - Dst: cfb_decrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1281,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1281,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1281,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1282,1
    - Dst: cfb_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1282,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1284,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1284,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 1289
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1289
    functionName: cryptofuzz::module::libtomcrypt_detail::CfbDecrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - ciphertext::GetSize
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - CF_CHECK_GT
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - cfb_decrypt
    - ciphertext::GetPtr
    - cfb_start
    - cipher::iv::GetPtr
    - cipher::key::GetPtr
    - cfb_done
    - Buffer
    - cipher::key::GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> CfbDecrypt(operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1298,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1298,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1298,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1299,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1299,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1300,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1300,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1301,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1301,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1302,1
    - Dst: ofb_start
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1302,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1302,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1302,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1302,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1303,1
    - Dst: ofb_encrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1303,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1303,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1303,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1304,1
    - Dst: ofb_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1304,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1306,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1306,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 1311
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1311
    functionName: cryptofuzz::module::libtomcrypt_detail::OfbEncrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - ofb_encrypt
    - cipher::cipherType::Get
    - cleartext::GetPtr
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - CF_CHECK_GT
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - cipher::iv::GetPtr
    - ofb_done
    - cipher::key::GetPtr
    - ofb_start
    - Buffer
    - cipher::key::GetSize
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> OfbEncrypt(operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1320,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1320,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1320,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1321,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1321,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1322,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1322,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1323,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1323,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1324,1
    - Dst: ofb_start
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1324,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1324,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1324,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1324,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1325,1
    - Dst: ofb_decrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1325,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1325,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1325,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1326,1
    - Dst: ofb_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1326,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1328,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1328,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 1333
      start: 1313
    functionDepth: 1
    functionLinenumber: 1313
    functionLinenumberEnd: 1333
    functionName: cryptofuzz::module::libtomcrypt_detail::OfbDecrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - ciphertext::GetSize
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - CF_CHECK_GT
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - ofb_decrypt
    - ciphertext::GetPtr
    - cipher::iv::GetPtr
    - ofb_done
    - cipher::key::GetPtr
    - ofb_start
    - Buffer
    - cipher::key::GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> OfbDecrypt(operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1343,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1343,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1343,1
    - Dst: cryptofuzz::util::Pkcs7Pad
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1344,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1344,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1345,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1345,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1346,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1346,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1347,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1347,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1348,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1348,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1349,1
    - Dst: cbc_start
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1349,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1349,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1349,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1349,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1350,1
    - Dst: cbc_encrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1350,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1350,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1350,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1351,1
    - Dst: cbc_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1351,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1353,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1353,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 1358
      start: 1335
    functionDepth: 2
    functionLinenumber: 1335
    functionLinenumberEnd: 1358
    functionName: cryptofuzz::module::libtomcrypt_detail::CbcEncrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - CF_CHECK_GT
    - cipher::key::GetPtr
    - cbc_encrypt
    - CF_CHECK_NE
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - std::vector::data
    - cryptofuzz::util::free
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - cbc_start
    - cryptofuzz::util::Pkcs7Pad
    - cryptofuzz::util::malloc
    - cipher::key::GetSize
    - cleartext::Get
    - cbc_done
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - Buffer
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> CbcEncrypt(operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1367,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1367,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1367,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1368,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1368,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1369,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1369,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1370,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1370,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1371,1
    - Dst: cbc_start
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1371,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1371,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1371,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1371,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1372,1
    - Dst: cbc_decrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1372,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1372,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1372,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1373,1
    - Dst: cbc_done
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1373,1
    - Dst: cryptofuzz::util::Pkcs7Unpad
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1376,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1376,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1376,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1377,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1378,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1378,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 1384
      start: 1360
    functionDepth: 2
    functionLinenumber: 1360
    functionLinenumberEnd: 1384
    functionName: cryptofuzz::module::libtomcrypt_detail::CbcDecrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_GT
    - ciphertext::GetPtr
    - cbc_decrypt
    - std::vector<uint8_t>
    - cipher::key::GetPtr
    - CF_CHECK_NE
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - cryptofuzz::util::free
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - cbc_start
    - cipher::key::GetSize
    - cbc_done
    - cryptofuzz::module::libtomcrypt_detail::ToCipherIdx
    - Buffer
    - cryptofuzz::util::Pkcs7Unpad
    - component::Cleartext
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> CbcDecrypt(operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1389,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1389,1
    - Dst: cryptofuzz::repository::IsGCM
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1391,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1391,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::GcmEncrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1392,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1393,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1393,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::CcmEncrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1394,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1395,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1395,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ChaCha20Poly1305Encrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1396,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1397,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1397,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::EcbEncrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1398,1
    - Dst: cryptofuzz::repository::IsCTR
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1399,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1399,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::CtrEncrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1400,1
    - Dst: cryptofuzz::repository::IsCFB
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1401,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1401,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::CfbEncrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1402,1
    - Dst: cryptofuzz::repository::IsOFB
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1403,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1403,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::OfbEncrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1404,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1405,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1405,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::CbcEncrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1406,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1407,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1407,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ChaCha20Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1408,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1409,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1409,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::RABBITCrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1410,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1411,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1411,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::SOSEMANUKCrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1412,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1413,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1413,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::RC4Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1414,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1415,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1415,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::SOBER128Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1416,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1417,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1417,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1418,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1419,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1419,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1420,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1421,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1421,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1422,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1423,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1423,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1424,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 1428
      start: 1388
    functionDepth: 3
    functionLinenumber: 1388
    functionLinenumberEnd: 1428
    functionName: cryptofuzz::module::libtomcrypt::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libtomcrypt_detail::ChaCha20Crypt
    - cryptofuzz::repository::IsGCM
    - cryptofuzz::module::libtomcrypt_detail::CbcEncrypt
    - modifier::GetPtr
    - cryptofuzz::module::libtomcrypt_detail::RABBITCrypt
    - cryptofuzz::repository::IsCFB
    - cryptofuzz::module::libtomcrypt_detail::CfbEncrypt
    - cryptofuzz::repository::IsOFB
    - cryptofuzz::module::libtomcrypt_detail::CcmEncrypt
    - modifier::GetSize
    - cryptofuzz::module::libtomcrypt_detail::SOSEMANUKCrypt
    - cryptofuzz::repository::IsCTR
    - cryptofuzz::module::libtomcrypt_detail::EcbEncrypt
    - cryptofuzz::module::libtomcrypt_detail::SOBER128Crypt
    - cryptofuzz::module::libtomcrypt_detail::ChaCha20Poly1305Encrypt
    - cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
    - cryptofuzz::module::libtomcrypt_detail::CtrEncrypt
    - cryptofuzz::repository::IsECB
    - cryptofuzz::repository::IsCBC
    - cipher::cipherType::Get
    - cryptofuzz::module::libtomcrypt_detail::OfbEncrypt
    - cryptofuzz::module::libtomcrypt_detail::RC4Crypt
    - cryptofuzz::module::libtomcrypt_detail::GcmEncrypt
    - cryptofuzz::repository::IsCCM
    - CF_CIPHER
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> libtomcrypt::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1431,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1431,1
    - Dst: cryptofuzz::repository::IsGCM
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1433,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1433,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::GcmDecrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1434,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1435,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1435,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::CcmDecrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1436,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1437,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1437,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ChaCha20Poly1305Decrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1438,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1439,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1439,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::EcbDecrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1440,1
    - Dst: cryptofuzz::repository::IsCTR
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1441,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1441,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::CtrDecrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1442,1
    - Dst: cryptofuzz::repository::IsCFB
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1443,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1443,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::CfbDecrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1444,1
    - Dst: cryptofuzz::repository::IsOFB
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1445,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1445,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::OfbDecrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1446,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1447,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1447,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::CbcDecrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1448,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1449,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1449,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ChaCha20Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1450,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1451,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1451,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::RABBITCrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1452,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1453,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1453,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::SOSEMANUKCrypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1454,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1455,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1455,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::RC4Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1456,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1457,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1457,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::SOBER128Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1458,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1459,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1459,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1460,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1461,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1461,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1462,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1463,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1463,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1464,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1465,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1465,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1466,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 1470
      start: 1430
    functionDepth: 3
    functionLinenumber: 1430
    functionLinenumberEnd: 1470
    functionName: cryptofuzz::module::libtomcrypt::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libtomcrypt_detail::ChaCha20Crypt
    - cryptofuzz::repository::IsGCM
    - modifier::GetPtr
    - cryptofuzz::module::libtomcrypt_detail::RABBITCrypt
    - cryptofuzz::repository::IsCFB
    - cryptofuzz::repository::IsOFB
    - modifier::GetSize
    - cryptofuzz::module::libtomcrypt_detail::SOSEMANUKCrypt
    - cryptofuzz::module::libtomcrypt_detail::CbcDecrypt
    - cryptofuzz::module::libtomcrypt_detail::EcbDecrypt
    - cryptofuzz::repository::IsCTR
    - cryptofuzz::module::libtomcrypt_detail::CcmDecrypt
    - cryptofuzz::module::libtomcrypt_detail::OfbDecrypt
    - cryptofuzz::module::libtomcrypt_detail::SOBER128Crypt
    - cryptofuzz::module::libtomcrypt_detail::Salsa20Crypt
    - cryptofuzz::module::libtomcrypt_detail::ChaCha20Poly1305Decrypt
    - cryptofuzz::module::libtomcrypt_detail::CfbDecrypt
    - cryptofuzz::module::libtomcrypt_detail::CtrDecrypt
    - cryptofuzz::repository::IsECB
    - cryptofuzz::repository::IsCBC
    - cipher::cipherType::Get
    - cryptofuzz::module::libtomcrypt_detail::RC4Crypt
    - cryptofuzz::module::libtomcrypt_detail::GcmDecrypt
    - cryptofuzz::repository::IsCCM
    - CF_CIPHER
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> libtomcrypt::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1477,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1478,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1478,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1480,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToHashIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1480,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1480,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1482,1
    - Dst: hkdf
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1482,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1484,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1485,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1486,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1487,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1488,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1489,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1493,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 1499
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1499
    functionName: cryptofuzz::module::libtomcrypt::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - password::GetPtr
    - CF_CHECK_EQ
    - digestType::Get
    - cryptofuzz::module::libtomcrypt_detail::ToHashIdx
    - salt::GetPtr
    - hkdf
    - info::GetPtr
    - salt::GetSize
    - info::GetSize
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libtomcrypt::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1515,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1516,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1516,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1517,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1517,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1519,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToHashIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1519,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1519,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1521,1
    - Dst: pkcs12_kdf
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1521,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1522,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1523,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1524,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1525,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1529,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF
    constantsTouched: []
    func_position:
      end: 1535
      start: 1509
    functionDepth: 1
    functionLinenumber: 1509
    functionLinenumberEnd: 1535
    functionName: cryptofuzz::module::libtomcrypt::OpKDF_PBKDF
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - password::GetPtr
    - pkcs12_kdf
    - digestType::Get
    - CF_CHECK_EQ
    - cryptofuzz::module::libtomcrypt_detail::ToHashIdx
    - salt::GetPtr
    - salt::GetSize
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libtomcrypt::OpKDF_PBKDF(operation::KDF_PBKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1542,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1543,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1543,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1544,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1544,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1546,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1548,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToHashIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1548,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1548,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1552,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1552,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1553,1
    - Dst: pkcs_5_alg1
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1553,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1554,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1555,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1556,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1562,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1563,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF1
    constantsTouched: []
    func_position:
      end: 1570
      start: 1537
    functionDepth: 1
    functionLinenumber: 1537
    functionLinenumberEnd: 1570
    functionName: cryptofuzz::module::libtomcrypt::OpKDF_PBKDF1
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - password::GetPtr
    - digestType::Get
    - CF_CHECK_EQ
    - CF_CHECK_GT
    - cryptofuzz::module::libtomcrypt_detail::ToHashIdx
    - salt::GetPtr
    - salt::GetSize
    - pkcs_5_alg1
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libtomcrypt::OpKDF_PBKDF1(operation::KDF_PBKDF1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1577,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1578,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1578,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1579,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1579,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1581,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToHashIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1581,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1581,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1586,1
    - Dst: pkcs_5_alg2
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1586,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1587,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1588,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1589,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1590,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1596,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 1603
      start: 1572
    functionDepth: 1
    functionLinenumber: 1572
    functionLinenumberEnd: 1603
    functionName: cryptofuzz::module::libtomcrypt::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - password::GetPtr
    - digestType::Get
    - CF_CHECK_EQ
    - cryptofuzz::module::libtomcrypt_detail::ToHashIdx
    - salt::GetPtr
    - salt::GetSize
    - pkcs_5_alg2
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libtomcrypt::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1614,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1615,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1616,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1616,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1617,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1617,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1619,1
    - Dst: cryptofuzz::module::libtomcrypt_detail::ToHashIdx
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1619,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1619,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1623,1
    - Dst: bcrypt_pbkdf_openbsd
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1623,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1624,1
    - Dst: secret::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1625,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1626,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1627,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1633,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libtomcrypt/module.cpp:1637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_BCRYPT
    constantsTouched: []
    func_position:
      end: 1640
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1640
    functionName: cryptofuzz::module::libtomcrypt::OpKDF_BCRYPT
    functionSourceFile: /src/cryptofuzz/modules/libtomcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - secret::GetSize
    - digestType::Get
    - CF_CHECK_EQ
    - cryptofuzz::module::libtomcrypt_detail::ToHashIdx
    - salt::GetPtr
    - secret::GetPtr
    - bcrypt_pbkdf_openbsd
    - salt::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libtomcrypt::OpKDF_BCRYPT(operation::KDF_BCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: cryptofuzz::module::k256::k256
    functionSourceFile: /src/cryptofuzz/modules/k256/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void k256::k256(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/k256/module.cpp:24,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/k256/module.cpp:24,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:28,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:28,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:29,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/k256/module.cpp:30,1
    - Dst: k256_ecc_privatetopublic
      Src: /src/cryptofuzz/modules/k256/module.cpp:30,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:30,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:31,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 34
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 34
    functionName: cryptofuzz::module::k256::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/k256/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - curveType::Is
    - CF_ECC_CURVE
    - priv::ToTrimmedString
    - k256_ecc_privatetopublic
    - auto::data
    - cryptofuzz::util::BinToDec
    - cryptofuzz::util::DecToBin
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> k256::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/k256/module.cpp:38,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/k256/module.cpp:38,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:43,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:43,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:44,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:44,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:45,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:46,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:47,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:47,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:48,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:48,1
    - Dst: k256_validate_pubkey
      Src: /src/cryptofuzz/modules/k256/module.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::k256::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/k256/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - curveType::Is
    - CF_ECC_CURVE
    - pub::first::ToTrimmedString
    - k256_validate_pubkey
    - memcpy
    - pub::second::ToTrimmedString
    - auto::data
    - cryptofuzz::util::DecToBin
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> k256::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/k256/module.cpp:56,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/k256/module.cpp:56,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/k256/module.cpp:59,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/k256/module.cpp:59,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/k256/module.cpp:62,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/k256/module.cpp:65,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:71,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:71,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:72,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/k256/module.cpp:74,1
    - Dst: k256_ecc_privatetopublic
      Src: /src/cryptofuzz/modules/k256/module.cpp:74,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:74,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/k256/module.cpp:75,1
    - Dst: k256_ecdsa_sign
      Src: /src/cryptofuzz/modules/k256/module.cpp:75,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/k256/module.cpp:75,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:75,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/k256/module.cpp:76,1
    - Dst: k256_ecdsa_verify
      Src: /src/cryptofuzz/modules/k256/module.cpp:76,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/k256/module.cpp:76,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/k256/module.cpp:78,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:79,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:79,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:80,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 85
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 85
    functionName: cryptofuzz::module::k256::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/k256/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - k256_ecdsa_sign
    - CF_ASSERT
    - curveType::Is
    - CF_ECC_CURVE
    - cleartext::GetPtr
    - digestType::Is
    - priv::ToTrimmedString
    - cryptofuzz::tests::test_ECDSA_Signature
    - CF_DIGEST
    - k256_ecc_privatetopublic
    - auto::data
    - cryptofuzz::util::BinToDec
    - UseRFC6979Nonce
    - cryptofuzz::util::DecToBin
    - CF_CHECK_TRUE
    - k256_ecdsa_verify
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> k256::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/k256/module.cpp:89,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/k256/module.cpp:89,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/k256/module.cpp:92,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/k256/module.cpp:92,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/k256/module.cpp:95,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:105,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:105,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:106,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:106,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:107,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:108,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:109,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:109,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:110,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:110,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:115,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:115,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:116,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:116,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:117,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:118,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:119,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:119,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:120,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:120,1
    - Dst: k256_ecdsa_verify
      Src: /src/cryptofuzz/modules/k256/module.cpp:123,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/k256/module.cpp:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 127
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 127
    functionName: cryptofuzz::module::k256::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/k256/module.cpp
    functionUses: 0
    functionsReached:
    - signature::pub::second::ToTrimmedString
    - signature::pub::first::ToTrimmedString
    - CF_CHECK_NE
    - curveType::Is
    - CF_ECC_CURVE
    - digestType::Is
    - signature::signature::first::ToTrimmedString
    - auto::GetPtr
    - CF_DIGEST
    - memcpy
    - auto::data
    - cryptofuzz::util::DecToBin
    - signature::signature::second::ToTrimmedString
    - k256_ecdsa_verify
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> k256::OpECDSA_Verify(operation::ECDSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/k256/module.cpp:131,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/k256/module.cpp:131,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/k256/module.cpp:133,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/k256/module.cpp:133,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:141,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:141,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:142,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:142,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:143,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:144,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:145,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:145,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:146,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:146,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:151,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:151,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:152,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:152,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:153,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:154,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:155,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:155,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:156,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:156,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/k256/module.cpp:159,1
    - Dst: k256_ecc_point_add
      Src: /src/cryptofuzz/modules/k256/module.cpp:159,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:161,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 165
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 165
    functionName: cryptofuzz::module::k256::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/k256/module.cpp
    functionUses: 0
    functionsReached:
    - b::second::ToTrimmedString
    - CF_CHECK_NE
    - curveType::Is
    - a::first::ToTrimmedString
    - modifier::GetPtr
    - CF_ECC_CURVE
    - b::first::ToTrimmedString
    - cryptofuzz::util::BinToDec
    - memcpy
    - modifier::GetSize
    - auto::data
    - cryptofuzz::util::DecToBin
    - a::second::ToTrimmedString
    - k256_ecc_point_add
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> k256::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/k256/module.cpp:169,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/k256/module.cpp:169,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/k256/module.cpp:171,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/k256/module.cpp:171,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:179,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:179,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:180,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:180,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:181,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:182,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:183,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:183,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:184,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:184,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:188,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:188,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:189,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:190,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:190,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/k256/module.cpp:193,1
    - Dst: k256_ecc_point_mul
      Src: /src/cryptofuzz/modules/k256/module.cpp:193,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:195,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 199
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 199
    functionName: cryptofuzz::module::k256::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/k256/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - curveType::Is
    - a::first::ToTrimmedString
    - modifier::GetPtr
    - CF_ECC_CURVE
    - k256_ecc_point_mul
    - cryptofuzz::util::BinToDec
    - memcpy
    - modifier::GetSize
    - auto::data
    - cryptofuzz::util::DecToBin
    - a::second::ToTrimmedString
    - b::ToTrimmedString
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> k256::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/k256/module.cpp:203,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/k256/module.cpp:203,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/k256/module.cpp:205,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/k256/module.cpp:205,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:213,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:213,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:214,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:214,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:215,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:216,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:217,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:217,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:218,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:218,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/k256/module.cpp:221,1
    - Dst: k256_ecc_point_neg
      Src: /src/cryptofuzz/modules/k256/module.cpp:221,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:223,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 227
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 227
    functionName: cryptofuzz::module::k256::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/k256/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - curveType::Is
    - a::first::ToTrimmedString
    - modifier::GetPtr
    - CF_ECC_CURVE
    - cryptofuzz::util::BinToDec
    - memcpy
    - modifier::GetSize
    - auto::data
    - cryptofuzz::util::DecToBin
    - a::second::ToTrimmedString
    - k256_ecc_point_neg
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> k256::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/k256/module.cpp:231,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/k256/module.cpp:231,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/k256/module.cpp:233,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/k256/module.cpp:233,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:241,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:241,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/k256/module.cpp:242,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/k256/module.cpp:242,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:243,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/k256/module.cpp:244,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:245,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:245,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/k256/module.cpp:246,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/k256/module.cpp:246,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/k256/module.cpp:249,1
    - Dst: k256_ecc_point_dbl
      Src: /src/cryptofuzz/modules/k256/module.cpp:249,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:251,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/k256/module.cpp:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 255
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 255
    functionName: cryptofuzz::module::k256::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/k256/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - curveType::Is
    - a::first::ToTrimmedString
    - modifier::GetPtr
    - CF_ECC_CURVE
    - cryptofuzz::util::BinToDec
    - memcpy
    - modifier::GetSize
    - auto::data
    - cryptofuzz::util::DecToBin
    - a::second::ToTrimmedString
    - CF_CHECK_TRUE
    - k256_ecc_point_dbl
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> k256::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:13,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::crypto_js::crypto_js
    functionSourceFile: /src/cryptofuzz/modules/crypto-js/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void crypto_js::crypto_js(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: crypto_js::~crypto_js(void)
    functionSourceFile: /src/cryptofuzz/modules/crypto-js/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void crypto_js::~crypto_js(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:25,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: cryptofuzz::module::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/crypto-js/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> getResultAs(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:32,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:35,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:35,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:36,1
    - Dst: from_hex
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:42,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:42,1
    - Dst: std::back_inserter
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:42,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:43,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:49,1
    - Dst: JS*::Run
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:51,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:51,1
    - Dst: cryptofuzz::module::getResultAs
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - js
    - ' op'
    argTypes:
    - JS*
    - OperationType
    constantsTouched: []
    func_position:
      end: 58
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 58
    functionName: cryptofuzz::module::Run
    functionSourceFile: /src/cryptofuzz/modules/crypto-js/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::getResultAs
    - modifier::GetPtr
    - std::back_inserter
    - std::to_string
    - JS*::Run
    - std::vector<uint8_t>
    - std::vector::push_back
    - modifier::GetSize
    - from_hex
    - cryptofuzz::util::ToParts
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> Run(JS* js, OperationType& op, std::optional<Buffer>
      toParts = std::nullopt, const std::string partsName = "cleartext")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:61,1
    - Dst: Run<component::Digest, operation::Digest, CF_OPERATION("Digest")>
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: cryptofuzz::module::crypto_js::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/crypto-js/module.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    - Run<component::Digest, operation::Digest, CF_OPERATION("Digest")>
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> crypto_js::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:65,1
    - Dst: Run<component::MAC, operation::HMAC, CF_OPERATION("HMAC")>
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: cryptofuzz::module::crypto_js::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/crypto-js/module.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    - Run<component::MAC, operation::HMAC, CF_OPERATION("HMAC")>
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> crypto_js::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:70,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:76,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:76,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:76,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:76,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:79,1
    - Dst: Run<component::Ciphertext, operation::SymmetricEncrypt, CF_OPERATION("SymmetricEncrypt")>
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: cryptofuzz::module::crypto_js::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/crypto-js/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - CF_CIPHER
    - Run<component::Ciphertext, operation::SymmetricEncrypt, CF_OPERATION("SymmetricEncrypt")>
    - CF_OPERATION
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> crypto_js::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:84,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:89,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:89,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:89,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:89,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:92,1
    - Dst: Run<component::Cleartext, operation::SymmetricDecrypt, CF_OPERATION("SymmetricDecrypt")>
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: cryptofuzz::module::crypto_js::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/crypto-js/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetSize
    - cipher::cipherType::Get
    - Run<component::Cleartext, operation::SymmetricDecrypt, CF_OPERATION("SymmetricDecrypt")>
    - CF_CIPHER
    - CF_OPERATION
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> crypto_js::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:96,1
    - Dst: Run<component::Key, operation::KDF_PBKDF2, CF_OPERATION("KDF_PBKDF2")>
      Src: /src/cryptofuzz/modules/crypto-js/module.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: cryptofuzz::module::crypto_js::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/crypto-js/module.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    - Run<component::Key, operation::KDF_PBKDF2, CF_OPERATION("KDF_PBKDF2")>
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> crypto_js::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp:9,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp:14,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp:15,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp:15,1
    - Dst: std::string::find_first_of
      Src: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp:20,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp:25,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp:26,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp:26,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp:31,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp:31,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/crypto-js/generate_ids.cpp
    functionUses: 97
    functionsReached:
    - std::string::c_str
    - std::string::find_first_of
    - std::string::substr
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:21,1
    - Dst: mpz_add
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:24,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:24,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:24,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:24,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:25,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:25,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:29,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:30,1
    - Dst: mpz_add_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:32,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:32,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:32,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:33,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 44
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 44
    functionName: cryptofuzz::module::libgmp_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    - CF_NORET
    - CopyResult
    - GetUnsignedLong
    - GET_WHICH
    - mpz_add
    - mpz_add_ui
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:49,1
    - Dst: mpz_sub
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:52,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:52,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:52,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:52,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:53,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:53,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:57,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:58,1
    - Dst: mpz_sub_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:60,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:60,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:60,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:61,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:61,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:66,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:67,1
    - Dst: mpz_ui_sub
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:69,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:69,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:69,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:70,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 81
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 81
    functionName: cryptofuzz::module::libgmp_bignum::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_ui_sub
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    - mpz_sub_ui
    - CF_NORET
    - CopyResult
    - GetUnsignedLong
    - GET_WHICH
    - mpz_sub
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:86,1
    - Dst: mpz_mul
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:89,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:89,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:89,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:89,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:90,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:90,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:94,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:95,1
    - Dst: mpz_mul_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:97,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:97,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:97,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:98,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:98,1
    - Dst: GetSignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:103,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:104,1
    - Dst: mpz_mul_si
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:106,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:106,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:106,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:107,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 118
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 118
    functionName: cryptofuzz::module::libgmp_bignum::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - mpz_mul_si
    - GetResPtr
    - CF_NORET
    - CopyResult
    - GetUnsignedLong
    - GET_WHICH
    - mpz_mul_ui
    - mpz_mul
    - GetSignedLong
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:123,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:127,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:127,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:127,1
    - Dst: mpz_div
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:129,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:129,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:129,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:129,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:130,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:130,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:134,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:134,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:134,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:136,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:137,1
    - Dst: mpz_div_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:139,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:139,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:139,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:140,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:140,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:146,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:146,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:146,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:148,1
    - Dst: mpz_divisible_p
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:148,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:148,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:148,1
    - Dst: mpz_divexact
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:150,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:150,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:150,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:150,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:151,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:151,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:156,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:156,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:156,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:158,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:159,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:161,1
    - Dst: mpz_divisible_ui_p
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:161,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:161,1
    - Dst: mpz_divexact_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:163,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:163,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:163,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:164,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:164,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:172,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:172,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:172,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:173,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:173,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 179
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 179
    functionName: cryptofuzz::module::libgmp_bignum::Div::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - mpz_divisible_ui_p
    - GetResPtr
    - mpz_cmp_ui
    - CF_NORET
    - CopyResult
    - mpz_div_ui
    - mpz_div
    - GET_WHICH
    - GetUnsignedLong
    - mpz_divisible_p
    - mpz_divexact
    - mpz_divexact_ui
    - mpz_sgn
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool Div::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:184,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:186,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:186,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:186,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:190,1
    - Dst: mpz_sizeinbase
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:190,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:190,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:191,1
    - Dst: mpz_sizeinbase
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:191,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:191,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:192,1
    - Dst: mpz_sizeinbase
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:192,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:192,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:200,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:200,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:200,1
    - Dst: mpz_powm
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:202,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:202,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:202,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:202,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:202,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:203,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:203,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:207,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:208,1
    - Dst: mpz_powm_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:210,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:210,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:210,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:210,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:211,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:211,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:217,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:217,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:217,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:220,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:220,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:220,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:222,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:223,1
    - Dst: mpz_odd_p
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:223,1
    - Dst: mpz_powm_sec
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:225,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:225,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:225,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:225,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:225,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:226,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 238
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 238
    functionName: cryptofuzz::module::libgmp_bignum::ExpMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - mpz_powm_ui
    - mpz_powm_sec
    - GetResPtr
    - mpz_cmp_ui
    - CF_NORET
    - CopyResult
    - CF_CHECK_GT
    - GetUnsignedLong
    - GET_WHICH
    - CF_CHECK_EQ
    - mpz_odd_p
    - mpz_powm
    - mpz_sizeinbase
    - mpz_sgn
    - CF_CHECK_LTE
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool ExpMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:250,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:252,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - res
    - X
    - Y
    - type
    argTypes:
    - mpz_ptr
    - mpz_ptr
    - mpz_ptr
    - GCDType
    constantsTouched: []
    func_position:
      end: 256
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 256
    functionName: cryptofuzz::module::libgmp_bignum::GCD_ExtGCD_SetResult
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_UNREACHABLE
    - mpz_set
    linkageType: ''
    returnType: void
    signature: void GCD_ExtGCD_SetResult(mpz_ptr res, const mpz_ptr X, const mpz_ptr
      Y, const GCDType type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:261,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:264,1
    - Dst: mpz_gcd
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:265,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:265,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:265,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:265,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:266,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:266,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:270,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:272,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:273,1
    - Dst: mpz_gcd_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:275,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:275,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:275,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:276,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:276,1
    - Dst: mpz_gcdext
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:283,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:283,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:283,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:283,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:283,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:283,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:284,1
    - Dst: cryptofuzz::module::libgmp_bignum::GCD_ExtGCD_SetResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:284,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:284,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:284,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - type
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - GCDType
    constantsTouched: []
    func_position:
      end: 295
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 295
    functionName: cryptofuzz::module::libgmp_bignum::GCD_ExtGCD
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    - mpz_gcd_ui
    - CF_NORET
    - CF_CHECK_EQ
    - CopyResult
    - mpz_gcdext
    - GetUnsignedLong
    - GET_WHICH
    - Bignum::GetPtr
    - cryptofuzz::module::libgmp_bignum::GCD_ExtGCD_SetResult
    - mpz_gcd
    linkageType: ''
    returnType: bool
    signature: bool GCD_ExtGCD(Datasource& ds, Bignum& res, BignumCluster& bn, const
      GCDType type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCD_ExtGCD
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: cryptofuzz::module::libgmp_bignum::GCD::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GCD_ExtGCD
    linkageType: ''
    returnType: bool
    signature: bool GCD::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCD_ExtGCD
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: cryptofuzz::module::libgmp_bignum::ExtGCD_X::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GCD_ExtGCD
    linkageType: ''
    returnType: bool
    signature: bool ExtGCD_X::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCD_ExtGCD
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: cryptofuzz::module::libgmp_bignum::ExtGCD_Y::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GCD_ExtGCD
    linkageType: ''
    returnType: bool
    signature: bool ExtGCD_Y::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:311,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:314,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:314,1
    - Dst: mpz_jacobi
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:314,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:314,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:314,1
    - Dst: GetSignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:318,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:319,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:320,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:320,1
    - Dst: mpz_kronecker_si
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:320,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:320,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:325,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:326,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:327,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:327,1
    - Dst: mpz_kronecker_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:327,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 343
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 343
    functionName: cryptofuzz::module::libgmp_bignum::Jacobi::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - std::to_string
    - mpz_kronecker_ui
    - Set
    - GetUnsignedLong
    - GET_WHICH
    - mpz_jacobi
    - mpz_kronecker_si
    - GetSignedLong
    linkageType: ''
    returnType: bool
    signature: bool Jacobi::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:350,1
    - Dst: mpz_cmp
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:353,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:353,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:353,1
    - Dst: GetSignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:357,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:358,1
    - Dst: mpz_cmp_si
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:360,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:360,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:365,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:366,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:368,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:368,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:376,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:378,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 387
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 387
    functionName: cryptofuzz::module::libgmp_bignum::Cmp::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - mpz_cmp_ui
    - Set
    - GetUnsignedLong
    - GET_WHICH
    - mpz_cmp
    - GetSignedLong
    - mpz_cmp_si
    linkageType: ''
    returnType: bool
    signature: bool Cmp::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:392,1
    - Dst: mpz_lcm
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:395,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:395,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:395,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:395,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:396,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:396,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:400,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:401,1
    - Dst: mpz_lcm_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:403,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:403,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:403,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:404,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:404,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:412,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:412,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:412,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:413,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:413,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 419
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 419
    functionName: cryptofuzz::module::libgmp_bignum::LCM::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    - CF_NORET
    - CopyResult
    - GetUnsignedLong
    - GET_WHICH
    - mpz_lcm
    - mpz_lcm_ui
    - mpz_sgn
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool LCM::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_xor
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:424,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:424,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:424,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:424,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:425,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 428
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 428
    functionName: cryptofuzz::module::libgmp_bignum::Xor::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetResPtr
    - CF_NORET
    - CopyResult
    - mpz_xor
    linkageType: ''
    returnType: bool
    signature: bool Xor::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_and
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:433,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:433,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:433,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:433,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:434,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 437
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 437
    functionName: cryptofuzz::module::libgmp_bignum::And::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_and
    - GetPtr
    - GetResPtr
    - CF_NORET
    - CopyResult
    linkageType: ''
    returnType: bool
    signature: bool And::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_abs
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:442,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:442,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:442,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:443,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 446
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 446
    functionName: cryptofuzz::module::libgmp_bignum::Abs::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetResPtr
    - CF_NORET
    - CopyResult
    - mpz_abs
    linkageType: ''
    returnType: bool
    signature: bool Abs::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_neg
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:451,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:451,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:451,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:452,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 455
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 455
    functionName: cryptofuzz::module::libgmp_bignum::Neg::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetResPtr
    - CF_NORET
    - CopyResult
    - mpz_neg
    linkageType: ''
    returnType: bool
    signature: bool Neg::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:461,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:461,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:461,1
    - Dst: mpz_sqrt
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:463,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:463,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:463,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:464,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 469
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 469
    functionName: cryptofuzz::module::libgmp_bignum::Sqrt::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetResPtr
    - CF_NORET
    - CopyResult
    - mpz_sgn
    - mpz_sqrt
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool Sqrt::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:477,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:477,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:477,1
    - Dst: mpz_sqrt
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:479,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:479,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:479,1
    - Dst: mpz_sqrtrem
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:480,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:480,1
    - Dst: libgmp_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:480,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:480,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:481,1
    - Dst: libgmp_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:481,1
    - Dst: mpz_add_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:482,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:482,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 488
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 488
    functionName: cryptofuzz::module::libgmp_bignum::SqrtCeil::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpz_sgn
    - libgmp_bignum::Bignum::GetPtr
    - mpz_add_ui
    - mpz_sqrtrem
    - mpz_sqrt
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool SqrtCeil::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_pow_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:493,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:493,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:493,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:494,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 497
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 497
    functionName: cryptofuzz::module::libgmp_bignum::Sqr::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetResPtr
    - CF_NORET
    - CopyResult
    - mpz_pow_ui
    linkageType: ''
    returnType: bool
    signature: bool Sqr::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:504,1
    - Dst: mpz_cmpabs
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:507,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:507,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:507,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:511,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:512,1
    - Dst: mpz_cmpabs_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:514,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:514,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:522,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:524,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:526,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 533
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 533
    functionName: cryptofuzz::module::libgmp_bignum::CmpAbs::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_cmpabs_ui
    - GetPtr
    - CF_CHECK_NE
    - Set
    - GetUnsignedLong
    - GET_WHICH
    - mpz_cmpabs
    linkageType: ''
    returnType: bool
    signature: bool CmpAbs::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:538,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:538,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:538,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 541
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 541
    functionName: cryptofuzz::module::libgmp_bignum::IsZero::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    - mpz_sgn
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsZero::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:546,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:546,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:546,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 549
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 549
    functionName: cryptofuzz::module::libgmp_bignum::IsNeg::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    - mpz_sgn
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsNeg::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:555,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:555,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:555,1
    - Dst: mpz_add
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:557,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:557,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:557,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:557,1
    - Dst: mpz_mod
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:558,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:558,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:558,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:558,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:561,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:561,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 567
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 567
    functionName: cryptofuzz::module::libgmp_bignum::AddMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - mpz_cmp_ui
    - mpz_mod
    - mpz_add
    - mpz_sgn
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool AddMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:573,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:573,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:573,1
    - Dst: mpz_sub
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:575,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:575,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:575,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:575,1
    - Dst: mpz_mod
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:576,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:576,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:576,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:576,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:579,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:579,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 585
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 585
    functionName: cryptofuzz::module::libgmp_bignum::SubMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - mpz_cmp_ui
    - mpz_mod
    - mpz_sub
    - mpz_sgn
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool SubMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:591,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:591,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:591,1
    - Dst: mpz_mul
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:593,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:593,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:593,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:593,1
    - Dst: mpz_mod
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:594,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:594,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:594,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:594,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:597,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:597,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 603
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 603
    functionName: cryptofuzz::module::libgmp_bignum::MulMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - mpz_sgn
    - mpz_cmp_ui
    - mpz_mod
    - mpz_mul
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool MulMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:609,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:609,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:609,1
    - Dst: mpz_pow_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:611,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:611,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:611,1
    - Dst: mpz_mod
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:612,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:612,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:612,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:612,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:615,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:615,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 621
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 621
    functionName: cryptofuzz::module::libgmp_bignum::SqrMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - mpz_cmp_ui
    - mpz_mod
    - mpz_pow_ui
    - mpz_sgn
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool SqrMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bignum::Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:627,1
    - Dst: mpz_mod
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:629,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:629,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:629,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 632
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 632
    functionName: cryptofuzz::module::libgmp_bignum::Mod_NIST_192::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - Bignum::GetPtr
    - mpz_mod
    - Bignum::Set
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_192::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bignum::Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:638,1
    - Dst: mpz_mod
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:640,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:640,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:640,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 643
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 643
    functionName: cryptofuzz::module::libgmp_bignum::Mod_NIST_224::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - Bignum::GetPtr
    - mpz_mod
    - Bignum::Set
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_224::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bignum::Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:649,1
    - Dst: mpz_mod
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:651,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:651,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:651,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 654
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 654
    functionName: cryptofuzz::module::libgmp_bignum::Mod_NIST_256::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - Bignum::GetPtr
    - mpz_mod
    - Bignum::Set
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_256::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bignum::Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:660,1
    - Dst: mpz_mod
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:662,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:662,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:662,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 665
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 665
    functionName: cryptofuzz::module::libgmp_bignum::Mod_NIST_384::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - Bignum::GetPtr
    - mpz_mod
    - Bignum::Set
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_384::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bignum::Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:671,1
    - Dst: mpz_mod
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:673,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:673,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:673,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 676
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 676
    functionName: cryptofuzz::module::libgmp_bignum::Mod_NIST_521::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - Bignum::GetPtr
    - mpz_mod
    - Bignum::Set
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_521::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:682,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:683,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:684,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:684,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:684,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:685,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:685,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:685,1
    - Dst: mpz_setbit
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:687,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:687,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:688,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:688,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 694
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 694
    functionName: cryptofuzz::module::libgmp_bignum::SetBit::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - mpz_setbit
    - mpz_set
    - mpz_sgn
    - GetSignedLong
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool SetBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:700,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:701,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:702,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:702,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:702,1
    - Dst: mpz_clrbit
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:704,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:704,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:705,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:705,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 711
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 711
    functionName: cryptofuzz::module::libgmp_bignum::ClearBit::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - mpz_clrbit
    - mpz_set
    - mpz_sgn
    - GetSignedLong
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool ClearBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:717,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:718,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:721,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:721,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:721,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:723,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:723,1
    - Dst: mpz_tstbit
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:723,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 729
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 729
    functionName: cryptofuzz::module::libgmp_bignum::Bit::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - std::to_string
    - Set
    - mpz_tstbit
    - mpz_sgn
    - GetSignedLong
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool Bit::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:736,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:736,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:736,1
    - Dst: mpz_invert
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:738,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:738,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:738,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:738,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:740,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:742,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 749
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 749
    functionName: cryptofuzz::module::libgmp_bignum::InvMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    - mpz_invert
    - CF_NORET
    - CopyResult
    - Set
    - mpz_sgn
    linkageType: ''
    returnType: bool
    signature: bool InvMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:755,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:756,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:756,1
    - Dst: mpz_odd_p
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 759
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 759
    functionName: cryptofuzz::module::libgmp_bignum::IsOdd::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_odd_p
    - GetPtr
    - std::to_string
    - Set
    linkageType: ''
    returnType: bool
    signature: bool IsOdd::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:765,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:766,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:766,1
    - Dst: mpz_even_p
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 769
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 769
    functionName: cryptofuzz::module::libgmp_bignum::IsEven::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - std::to_string
    - Set
    - mpz_even_p
    linkageType: ''
    returnType: bool
    signature: bool IsEven::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_popcount
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:774,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:774,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:775,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 781
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 781
    functionName: cryptofuzz::module::libgmp_bignum::IsPow2::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - mpz_popcount
    linkageType: ''
    returnType: bool
    signature: bool IsPow2::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_scan1
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:786,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:786,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:790,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 793
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 793
    functionName: cryptofuzz::module::libgmp_bignum::NumLSZeroBits::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_scan1
    - GetPtr
    - std::to_string
    - Set
    linkageType: ''
    returnType: bool
    signature: bool NumLSZeroBits::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:799,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:800,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:801,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:803,1
    - Dst: mpz_fac_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:803,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 809
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 809
    functionName: cryptofuzz::module::libgmp_bignum::Factorial::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - CF_NORET
    - GetUnsignedLong
    - mpz_fac_ui
    - CF_CHECK_LTE
    linkageType: ''
    returnType: bool
    signature: bool Factorial::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_root
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:814,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:814,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:814,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:815,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 818
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 818
    functionName: cryptofuzz::module::libgmp_bignum::Cbrt::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetResPtr
    - CF_NORET
    - CopyResult
    - mpz_root
    linkageType: ''
    returnType: bool
    signature: bool Cbrt::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:824,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:824,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:824,1
    - Dst: mpz_sqrtrem
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:826,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:826,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:826,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 831
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 831
    functionName: cryptofuzz::module::libgmp_bignum::SqrtRem::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_sqrtrem
    - GetPtr
    - mpz_sgn
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool SqrtRem::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_rootrem
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:836,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:836,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:836,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 839
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 839
    functionName: cryptofuzz::module::libgmp_bignum::CbrtRem::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_rootrem
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool CbrtRem::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:847,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:848,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:849,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:850,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:850,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:850,1
    - Dst: mpz_root
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:852,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:852,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 864
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 864
    functionName: cryptofuzz::module::libgmp_bignum::Nthrt::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - mpz_root
    - GetUnsignedLong
    - mpz_sgn
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool Nthrt::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:872,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:873,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:874,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:875,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:875,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:875,1
    - Dst: mpz_rootrem
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:877,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:877,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:877,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 889
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 889
    functionName: cryptofuzz::module::libgmp_bignum::NthrtRem::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - mpz_rootrem
    - GetUnsignedLong
    - mpz_sgn
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool NthrtRem::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:895,1
    - Dst: mpz_perfect_square_p
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:896,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:896,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:896,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 907
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 907
    functionName: cryptofuzz::module::libgmp_bignum::IsSquare::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - std::string
    - Set
    - mpz_perfect_square_p
    linkageType: ''
    returnType: bool
    signature: bool IsSquare::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:912,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:916,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:917,1
    - Dst: mpz_pow_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:919,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:919,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:919,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:920,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:920,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:925,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:926,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:928,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:929,1
    - Dst: mpz_ui_pow_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:931,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:931,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:932,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 943
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 943
    functionName: cryptofuzz::module::libgmp_bignum::Exp::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    - CF_NORET
    - CopyResult
    - GetUnsignedLong
    - GET_WHICH
    - mpz_ui_pow_ui
    - mpz_pow_ui
    linkageType: ''
    returnType: bool
    signature: bool Exp::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_ior
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:948,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:948,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:948,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 951
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 951
    functionName: cryptofuzz::module::libgmp_bignum::Or::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - mpz_ior
    linkageType: ''
    returnType: bool
    signature: bool Or::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:956,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:959,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:959,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:959,1
    - Dst: mpz_addmul
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:960,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:960,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:960,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:960,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:964,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:965,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:967,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:967,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:967,1
    - Dst: mpz_addmul_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:968,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:968,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:968,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 979
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 979
    functionName: cryptofuzz::module::libgmp_bignum::AddMul::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_addmul
    - GetPtr
    - CF_CHECK_NE
    - mpz_set
    - GET_WHICH
    - GetUnsignedLong
    - mpz_addmul_ui
    linkageType: ''
    returnType: bool
    signature: bool AddMul::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:984,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:987,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:987,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:987,1
    - Dst: mpz_submul
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:988,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:988,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:988,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:988,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:992,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:993,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:995,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:995,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:995,1
    - Dst: mpz_submul_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:996,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:996,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1007
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 1007
    functionName: cryptofuzz::module::libgmp_bignum::SubMul::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetUnsignedLong
    - mpz_set
    - GET_WHICH
    - mpz_submul
    - mpz_submul_ui
    linkageType: ''
    returnType: bool
    signature: bool SubMul::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1014,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1015,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1016,1
    - Dst: mpz_primorial_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1018,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1031
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1031
    functionName: cryptofuzz::module::libgmp_bignum::Primorial::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_primorial_ui
    - CF_CHECK_NE
    - GetPtr
    - GetUnsignedLong
    - CF_CHECK_LTE
    linkageType: ''
    returnType: bool
    signature: bool Primorial::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1038,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1039,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1040,1
    - Dst: mpz_lucnum_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1042,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1055
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1055
    functionName: cryptofuzz::module::libgmp_bignum::Lucas::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetUnsignedLong
    - mpz_lucnum_ui
    - CF_CHECK_LTE
    linkageType: ''
    returnType: bool
    signature: bool Lucas::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1061,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1062,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1063,1
    - Dst: mpz_fac_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1065,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1071
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1071
    functionName: cryptofuzz::module::libgmp_bignum::Fibonacci::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetUnsignedLong
    - mpz_fac_ui
    - CF_CHECK_LTE
    linkageType: ''
    returnType: bool
    signature: bool Fibonacci::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1076,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1079,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1079,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1079,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1083,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1084,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1086,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1086,1
    - Dst: mpz_init_set_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1087,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1087,1
    - Dst: GetSignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1092,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1093,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1095,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1095,1
    - Dst: mpz_init_set_si
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1096,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1096,1
    - Dst: mpz_swap
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1100,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1100,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1110
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1110
    functionName: cryptofuzz::module::libgmp_bignum::Set::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - mpz_swap
    - mpz_set
    - GET_WHICH
    - GetUnsignedLong
    - GetSignedLong
    - mpz_init_set_si
    - mpz_init_set_ui
    - mpz_clear
    linkageType: ''
    returnType: bool
    signature: bool Set::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1117,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1119,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1120,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1122,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1125,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1128,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1129,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1131,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1134,1
    - Dst: mpz_bin_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1140,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1140,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1140,1
    - Dst: mpz_bin_uiui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1144,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1154
      start: 1112
    functionDepth: 1
    functionLinenumber: 1112
    functionLinenumberEnd: 1154
    functionName: cryptofuzz::module::libgmp_bignum::BinCoeff::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetUnsignedLong
    - GET_WHICH
    - mpz_bin_ui
    - mpz_bin_uiui
    - CF_CHECK_LTE
    linkageType: ''
    returnType: bool
    signature: bool BinCoeff::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1159,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1159,1
    - Dst: mpz_hamdist
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1159,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1159,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1162
      start: 1156
    functionDepth: 1
    functionLinenumber: 1156
    functionLinenumberEnd: 1162
    functionName: cryptofuzz::module::libgmp_bignum::HamDist::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_hamdist
    - std::to_string
    - Set
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool HamDist::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1167,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1170,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1170,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1170,1
    - Dst: mpz_mod
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1172,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1172,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1172,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1172,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1173,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1173,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1177,1
    - Dst: mpz_cmp_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1177,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1177,1
    - Dst: GetUnsignedLong
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1179,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1180,1
    - Dst: mpz_mod_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1182,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1182,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1182,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1183,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1183,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1191,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1191,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1191,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1192,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1192,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1198
      start: 1164
    functionDepth: 1
    functionLinenumber: 1164
    functionLinenumberEnd: 1198
    functionName: cryptofuzz::module::libgmp_bignum::Mod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    - mpz_mod_ui
    - mpz_cmp_ui
    - CF_NORET
    - CopyResult
    - mpz_mod
    - GET_WHICH
    - GetUnsignedLong
    - mpz_sgn
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool Mod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1204,1
    - Dst: mpz_perfect_power_p
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1205,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1205,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1205,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1216
      start: 1200
    functionDepth: 1
    functionLinenumber: 1200
    functionLinenumberEnd: 1216
    functionName: cryptofuzz::module::libgmp_bignum::IsPower::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_perfect_power_p
    - GetPtr
    - std::string
    - Set
    linkageType: ''
    returnType: bool
    signature: bool IsPower::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1225,1
    - Dst: mpz_urandomb
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1234,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1234,1
    - Dst: mpz_nextprime
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1235,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1235,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1245
      start: 1218
    functionDepth: 1
    functionLinenumber: 1218
    functionLinenumberEnd: 1245
    functionName: cryptofuzz::module::libgmp_bignum::Prime::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_urandomb
    - Get
    - mpz_nextprime
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Prime::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1252,1
    - Dst: mpz_sizeinbase
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1252,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1252,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1258,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1258,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1263,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1274
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1274
    functionName: cryptofuzz::module::libgmp_bignum::IsPrime::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - Set
    - mpz_sizeinbase
    - mpz_sgn
    - CF_CHECK_LTE
    linkageType: ''
    returnType: bool
    signature: bool IsPrime::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1283,1
    - Dst: mpz_urandomb
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1292,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1302
      start: 1276
    functionDepth: 1
    functionLinenumber: 1276
    functionLinenumberEnd: 1302
    functionName: cryptofuzz::module::libgmp_bignum::Rand::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_urandomb
    - Get
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Rand::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1310,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1310,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1314,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1314,1
    - Dst: mpz_sizeinbase
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1314,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1317
      start: 1304
    functionDepth: 1
    functionLinenumber: 1304
    functionLinenumberEnd: 1317
    functionName: cryptofuzz::module::libgmp_bignum::NumBits::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - std::to_string
    - Set
    - mpz_sizeinbase
    - mpz_sgn
    linkageType: ''
    returnType: bool
    signature: bool NumBits::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1322,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1322,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1323,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1323,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1323,1
    - Dst: mpz_add
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1325,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1325,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1325,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1329
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1329
    functionName: cryptofuzz::module::libgmp_bignum::CondAdd::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_add
    - GetPtr
    - mpz_set
    - mpz_sgn
    linkageType: ''
    returnType: bool
    signature: bool CondAdd::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1334,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1334,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1335,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1335,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1335,1
    - Dst: mpz_sub
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1337,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1337,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1337,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1341
      start: 1331
    functionDepth: 1
    functionLinenumber: 1331
    functionLinenumberEnd: 1341
    functionName: cryptofuzz::module::libgmp_bignum::CondSub::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mpz_sub
    - GetPtr
    - mpz_set
    - mpz_sgn
    linkageType: ''
    returnType: bool
    signature: bool CondSub::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1349,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1349,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1349,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1350,1
    - Dst: mpz_sgn
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1350,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1350,1
    - Dst: mpz_urandomm
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1352,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1352,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.cpp:1352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 1365
      start: 1343
    functionDepth: 1
    functionLinenumber: 1343
    functionLinenumberEnd: 1365
    functionName: cryptofuzz::module::libgmp_bignum::RandRange::Run
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - mpz_urandomm
    - CF_CHECK_EQ
    - mpz_sgn
    linkageType: ''
    returnType: bool
    signature: bool RandRange::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_randinit_default
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:19,1
    - Dst: gmp_randseed_ui
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:20,1
    - Dst: rand
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: cryptofuzz::module::libgmp::libgmp
    functionSourceFile: /src/cryptofuzz/modules/libgmp/module.cpp
    functionUses: 0
    functionsReached:
    - gmp_randinit_default
    - gmp_randseed_ui
    - rand
    linkageType: ''
    returnType: void
    signature: void libgmp::libgmp(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:26,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:26,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:30,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:31,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:32,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:33,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:37,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:37,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:38,1
    - Dst: libgmp_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:38,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:40,1
    - Dst: libgmp_bignum::Bignum::Randomize
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:40,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:42,1
    - Dst: libgmp_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:42,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:42,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:43,1
    - Dst: libgmp_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:43,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:43,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:44,1
    - Dst: libgmp_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:44,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:44,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:45,1
    - Dst: libgmp_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:45,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:45,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:48,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:49,1
    - Dst: std::make_unique<libgmp_bignum::Add>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:50,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:52,1
    - Dst: std::make_unique<libgmp_bignum::Sub>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:53,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:55,1
    - Dst: std::make_unique<libgmp_bignum::Mul>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:56,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:58,1
    - Dst: std::make_unique<libgmp_bignum::Div>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:59,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:61,1
    - Dst: std::make_unique<libgmp_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:62,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:64,1
    - Dst: std::make_unique<libgmp_bignum::GCD>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:65,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:67,1
    - Dst: std::make_unique<libgmp_bignum::ExtGCD_X>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:68,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:70,1
    - Dst: std::make_unique<libgmp_bignum::ExtGCD_Y>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:71,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:73,1
    - Dst: std::make_unique<libgmp_bignum::Jacobi>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:74,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:76,1
    - Dst: std::make_unique<libgmp_bignum::Cmp>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:77,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:79,1
    - Dst: std::make_unique<libgmp_bignum::LCM>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:80,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:82,1
    - Dst: std::make_unique<libgmp_bignum::Xor>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:83,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:85,1
    - Dst: std::make_unique<libgmp_bignum::And>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:86,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:88,1
    - Dst: std::make_unique<libgmp_bignum::Abs>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:89,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:91,1
    - Dst: std::make_unique<libgmp_bignum::Neg>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:92,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:94,1
    - Dst: std::make_unique<libgmp_bignum::Sqrt>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:95,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:97,1
    - Dst: std::make_unique<libgmp_bignum::SqrtCeil>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:98,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:100,1
    - Dst: std::make_unique<libgmp_bignum::Sqr>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:101,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:103,1
    - Dst: std::make_unique<libgmp_bignum::CmpAbs>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:104,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:106,1
    - Dst: std::make_unique<libgmp_bignum::IsZero>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:107,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:109,1
    - Dst: std::make_unique<libgmp_bignum::IsNeg>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:110,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:112,1
    - Dst: std::make_unique<libgmp_bignum::AddMod>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:113,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:115,1
    - Dst: std::make_unique<libgmp_bignum::SubMod>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:116,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:118,1
    - Dst: std::make_unique<libgmp_bignum::MulMod>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:119,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:121,1
    - Dst: std::make_unique<libgmp_bignum::SqrMod>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:122,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:124,1
    - Dst: std::make_unique<libgmp_bignum::Mod_NIST_192>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:125,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:127,1
    - Dst: std::make_unique<libgmp_bignum::Mod_NIST_224>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:128,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:130,1
    - Dst: std::make_unique<libgmp_bignum::Mod_NIST_256>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:131,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:133,1
    - Dst: std::make_unique<libgmp_bignum::Mod_NIST_384>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:134,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:136,1
    - Dst: std::make_unique<libgmp_bignum::Mod_NIST_521>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:137,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:139,1
    - Dst: std::make_unique<libgmp_bignum::SetBit>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:140,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:142,1
    - Dst: std::make_unique<libgmp_bignum::ClearBit>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:143,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:145,1
    - Dst: std::make_unique<libgmp_bignum::Bit>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:146,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:148,1
    - Dst: std::make_unique<libgmp_bignum::InvMod>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:149,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:151,1
    - Dst: std::make_unique<libgmp_bignum::IsOdd>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:152,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:154,1
    - Dst: std::make_unique<libgmp_bignum::IsEven>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:155,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:157,1
    - Dst: std::make_unique<libgmp_bignum::IsPow2>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:158,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:160,1
    - Dst: std::make_unique<libgmp_bignum::NumLSZeroBits>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:161,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:163,1
    - Dst: std::make_unique<libgmp_bignum::Factorial>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:164,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:166,1
    - Dst: std::make_unique<libgmp_bignum::Cbrt>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:167,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:169,1
    - Dst: std::make_unique<libgmp_bignum::SqrtRem>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:170,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:172,1
    - Dst: std::make_unique<libgmp_bignum::CbrtRem>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:173,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:175,1
    - Dst: std::make_unique<libgmp_bignum::Nthrt>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:176,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:178,1
    - Dst: std::make_unique<libgmp_bignum::NthrtRem>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:179,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:181,1
    - Dst: std::make_unique<libgmp_bignum::IsSquare>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:182,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:184,1
    - Dst: std::make_unique<libgmp_bignum::Exp>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:185,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:187,1
    - Dst: std::make_unique<libgmp_bignum::Or>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:188,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:190,1
    - Dst: std::make_unique<libgmp_bignum::AddMul>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:191,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:193,1
    - Dst: std::make_unique<libgmp_bignum::SubMul>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:194,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:196,1
    - Dst: std::make_unique<libgmp_bignum::Primorial>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:197,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:199,1
    - Dst: std::make_unique<libgmp_bignum::Lucas>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:200,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:202,1
    - Dst: std::make_unique<libgmp_bignum::Fibonacci>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:203,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:205,1
    - Dst: std::make_unique<libgmp_bignum::Set>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:206,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:208,1
    - Dst: std::make_unique<libgmp_bignum::BinCoeff>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:209,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:211,1
    - Dst: std::make_unique<libgmp_bignum::HamDist>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:212,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:214,1
    - Dst: std::make_unique<libgmp_bignum::Mod>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:215,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:217,1
    - Dst: std::make_unique<libgmp_bignum::IsPower>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:218,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:220,1
    - Dst: std::make_unique<libgmp_bignum::Prime>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:221,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:223,1
    - Dst: std::make_unique<libgmp_bignum::IsPrime>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:224,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:226,1
    - Dst: std::make_unique<libgmp_bignum::Rand>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:227,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:229,1
    - Dst: std::make_unique<libgmp_bignum::NumBits>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:230,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:232,1
    - Dst: std::make_unique<libgmp_bignum::CondAdd>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:233,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:235,1
    - Dst: std::make_unique<libgmp_bignum::CondSub>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:236,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:238,1
    - Dst: std::make_unique<libgmp_bignum::RandRange>
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:239,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:243,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:244,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:244,1
    - Dst: libgmp_bignum::Bignum::ToComponentBignum
      Src: /src/cryptofuzz/modules/libgmp/module.cpp:246,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 210
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 250
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 250
    functionName: cryptofuzz::module::libgmp::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/libgmp/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<libgmp_bignum::CbrtRem>
    - std::make_unique<libgmp_bignum::Or>
    - std::make_unique<libgmp_bignum::Mod_NIST_224>
    - std::make_unique<libgmp_bignum::Bit>
    - std::make_unique<libgmp_bignum::SetBit>
    - std::make_unique<libgmp_bignum::IsPow2>
    - bn0::ToString
    - std::make_unique<libgmp_bignum::Factorial>
    - std::make_unique<libgmp_bignum::NthrtRem>
    - libgmp_bignum::BignumCluster::Set
    - std::make_unique<libgmp_bignum::Mod>
    - std::make_unique<libgmp_bignum::IsZero>
    - CF_CHECK_EQ
    - std::make_unique<libgmp_bignum::Prime>
    - std::make_unique<libgmp_bignum::ExpMod>
    - std::unique_ptr::Run
    - std::make_unique<libgmp_bignum::Fibonacci>
    - std::make_unique<libgmp_bignum::ExtGCD_X>
    - std::make_unique<libgmp_bignum::Add>
    - std::make_unique<libgmp_bignum::SqrtCeil>
    - std::make_unique<libgmp_bignum::Jacobi>
    - std::make_unique<libgmp_bignum::Sub>
    - std::make_unique<libgmp_bignum::Cbrt>
    - std::make_unique<libgmp_bignum::CondAdd>
    - std::make_unique<libgmp_bignum::And>
    - modifier::GetPtr
    - std::make_unique<libgmp_bignum::Abs>
    - std::make_unique<libgmp_bignum::Cmp>
    - std::make_unique<libgmp_bignum::Sqrt>
    - std::make_unique<libgmp_bignum::Lucas>
    - bn2::ToString
    - std::make_unique<libgmp_bignum::Set>
    - std::make_unique<libgmp_bignum::Xor>
    - std::make_unique<libgmp_bignum::Mul>
    - std::make_unique<libgmp_bignum::Nthrt>
    - std::make_unique<libgmp_bignum::IsSquare>
    - std::make_unique<libgmp_bignum::Rand>
    - std::make_unique<libgmp_bignum::Mod_NIST_521>
    - calcOp::Is
    - std::make_unique<libgmp_bignum::BinCoeff>
    - std::make_unique<libgmp_bignum::Mod_NIST_256>
    - std::make_unique<libgmp_bignum::Primorial>
    - libgmp_bignum::Bignum::ToComponentBignum
    - std::make_unique<libgmp_bignum::MulMod>
    - std::make_unique<libgmp_bignum::SqrtRem>
    - modifier::GetSize
    - bn1::ToString
    - bn3::ToString
    - std::make_unique<libgmp_bignum::SubMod>
    - std::make_unique<libgmp_bignum::ExtGCD_Y>
    - std::make_unique<libgmp_bignum::CondSub>
    - std::make_unique<libgmp_bignum::IsPower>
    - std::make_unique<libgmp_bignum::HamDist>
    - std::make_unique<libgmp_bignum::IsPrime>
    - std::make_unique<libgmp_bignum::GCD>
    - std::make_unique<libgmp_bignum::CmpAbs>
    - std::make_unique<libgmp_bignum::Mod_NIST_384>
    - std::make_unique<libgmp_bignum::IsNeg>
    - getBignum
    - std::make_unique<libgmp_bignum::SqrMod>
    - std::make_unique<libgmp_bignum::SubMul>
    - CF_CALCOP
    - std::make_unique<libgmp_bignum::NumBits>
    - std::make_unique<libgmp_bignum::Div>
    - libgmp_bignum::Bignum::Randomize
    - std::make_unique<libgmp_bignum::NumLSZeroBits>
    - std::make_unique<libgmp_bignum::IsOdd>
    - CF_CHECK_NE
    - std::make_unique<libgmp_bignum::RandRange>
    - std::make_unique<libgmp_bignum::Neg>
    - calcOp::Get
    - std::make_unique<libgmp_bignum::Mod_NIST_192>
    - std::make_unique<libgmp_bignum::Sqr>
    - std::make_unique<libgmp_bignum::AddMul>
    - std::make_unique<libgmp_bignum::InvMod>
    - std::make_unique<libgmp_bignum::LCM>
    - std::make_unique<libgmp_bignum::ClearBit>
    - CF_NORET
    - std::make_unique<libgmp_bignum::Exp>
    - std::make_unique<libgmp_bignum::AddMod>
    - libgmp_bignum::Bignum::Set
    - std::make_unique<libgmp_bignum::IsEven>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> libgmp::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::libgmp_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - mpz_init
    linkageType: ''
    returnType: void
    signature: void Bignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: ~Bignum()
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void ~Bignum()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:32,1
    - Dst: mpz_set_str
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:32,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::libgmp_bignum::Bignum::Set
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - mpz_set_str
    - CF_CHECK_EQ
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool Set(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: cryptofuzz::module::libgmp_bignum::Bignum::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mpz_ptr
    signature: mpz_ptr GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:46,1
    - Dst: mpz_fits_slong_p
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:46,1
    - Dst: cryptofuzz::module::libgmp_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:46,1
    - Dst: mpz_get_si
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:48,1
    - Dst: cryptofuzz::module::libgmp_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: cryptofuzz::module::libgmp_bignum::Bignum::GetSignedLong
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - mpz_get_si
    - CF_CHECK_EQ
    - mpz_fits_slong_p
    - cryptofuzz::module::libgmp_bignum::Bignum::GetPtr
    linkageType: ''
    returnType: std::optional<signed long>
    signature: std::optional<signed long> GetSignedLong(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:56,1
    - Dst: mpz_fits_ulong_p
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:56,1
    - Dst: cryptofuzz::module::libgmp_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:56,1
    - Dst: mpz_get_ui
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:58,1
    - Dst: cryptofuzz::module::libgmp_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: cryptofuzz::module::libgmp_bignum::Bignum::GetUnsignedLong
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - mpz_fits_ulong_p
    - mpz_get_ui
    - CF_CHECK_EQ
    - cryptofuzz::module::libgmp_bignum::Bignum::GetPtr
    linkageType: ''
    returnType: std::optional<unsigned long int>
    signature: std::optional<unsigned long int> GetUnsignedLong(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:67,1
    - Dst: free
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: cryptofuzz::module::libgmp_bignum::Bignum::ToComponentBignum
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - free
    - std::string
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ToComponentBignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmp
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: operator==(const Bignum& rhs)
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - mpz_cmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Bignum& rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetData
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:80,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:83,1
    - Dst: cryptofuzz::module::libgmp_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:84,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: cryptofuzz::module::libgmp_bignum::Bignum::Randomize
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::BinToDec
    - cryptofuzz::module::libgmp_bignum::Bignum::Set
    - GetData
    - std::vector::empty
    linkageType: ''
    returnType: void
    signature: void Randomize(fuzzing::datasource::Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' ds'
    - bn0
    - bn1
    - bn2
    - bn3
    argTypes:
    - Datasource
    - Bignum
    - Bignum
    - Bignum
    - Bignum
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: cryptofuzz::module::libgmp_bignum::BignumCluster::BignumCluster
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BignumCluster(Datasource& ds, Bignum bn0, Bignum bn1, Bignum bn2,
      Bignum bn3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:101,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:102,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 122
    functionName: '& operator[](const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - Get
    - abort
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & operator[](const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:125,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: '& Get(const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - abort
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & Get(const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:133,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:134,1
    - Dst: cryptofuzz::module::libgmp_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - index
    - s
    argTypes:
    - size_t
    - std::string
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: cryptofuzz::module::libgmp_bignum::BignumCluster::Set
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::libgmp_bignum::BignumCluster::Set
    - abort
    - size
    linkageType: ''
    returnType: bool
    signature: bool Set(const size_t index, const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: cryptofuzz::module::libgmp_bignum::BignumCluster::GetDestPtr
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - GetPtr
    linkageType: ''
    returnType: mpz_ptr
    signature: mpz_ptr GetDestPtr(const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:145,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:149,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: cryptofuzz::module::libgmp_bignum::BignumCluster::GetResPtr
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - Get
    - CF_ASSERT
    - GetPtr
    linkageType: ''
    returnType: mpz_ptr
    signature: mpz_ptr GetResPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:156,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:158,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:159,1
    - Dst: mpz_set
      Src: /src/cryptofuzz/modules/libgmp/bn_ops.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' res'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: cryptofuzz::module::libgmp_bignum::BignumCluster::CopyResult
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_ASSERT
    - mpz_set
    linkageType: ''
    returnType: void
    signature: void CopyResult(Bignum& res)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/libgmp/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 12
    functionName: cryptofuzz::module::libdivide::libdivide
    functionSourceFile: /src/cryptofuzz/modules/libdivide/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void libdivide::libdivide(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: boost::lexical_cast<T>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:23,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:23,1
    - Dst: boost::lexical_cast<T>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:24,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:24,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:29,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 39
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 39
    functionName: cryptofuzz::module::libdivide_detail::Div
    functionSourceFile: /src/cryptofuzz/modules/libdivide/module.cpp
    functionUses: 0
    functionsReached:
    - boost::lexical_cast<T>
    - bn1::ToTrimmedString
    - CF_CHECK_NE
    - std::to_string
    - bn0::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Div(operation::BignumCalc& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:43,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:43,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:46,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:46,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:50,1
    - Dst: libdivide_detail::Div<int16_t, ::libdivide::divider<int16_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:55,1
    - Dst: libdivide_detail::Div<uint16_t, ::libdivide::divider<uint16_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:57,1
    - Dst: libdivide_detail::Div<int32_t, ::libdivide::divider<int32_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:59,1
    - Dst: libdivide_detail::Div<uint32_t, ::libdivide::divider<uint32_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:61,1
    - Dst: libdivide_detail::Div<int64_t, ::libdivide::divider<int64_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:63,1
    - Dst: libdivide_detail::Div<uint64_t, ::libdivide::divider<uint64_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:65,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:68,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:68,1
    - Dst: libdivide_detail::Div<int16_t, ::libdivide::branchfree_divider<int16_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:69,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:71,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:71,1
    - Dst: libdivide_detail::Div<uint16_t, ::libdivide::branchfree_divider<uint16_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:72,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:74,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:74,1
    - Dst: libdivide_detail::Div<int32_t, ::libdivide::branchfree_divider<int32_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:75,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:77,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:77,1
    - Dst: libdivide_detail::Div<uint32_t, ::libdivide::branchfree_divider<uint32_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:78,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:80,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:80,1
    - Dst: libdivide_detail::Div<int64_t, ::libdivide::branchfree_divider<int64_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:81,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:83,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:83,1
    - Dst: libdivide_detail::Div<uint64_t, ::libdivide::branchfree_divider<uint64_t>>
      Src: /src/cryptofuzz/modules/libdivide/module.cpp:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 89
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 89
    functionName: cryptofuzz::module::libdivide::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/libdivide/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - libdivide_detail::Div<int64_t, ::libdivide::divider<int64_t>>
    - modifier::GetPtr
    - libdivide_detail::Div<uint64_t, ::libdivide::branchfree_divider<uint64_t>>
    - modifier::GetSize
    - libdivide_detail::Div<uint32_t, ::libdivide::divider<uint32_t>>
    - libdivide_detail::Div<uint32_t, ::libdivide::branchfree_divider<uint32_t>>
    - CF_CHECK_NE
    - libdivide_detail::Div<int64_t, ::libdivide::branchfree_divider<int64_t>>
    - libdivide_detail::Div<int16_t, ::libdivide::branchfree_divider<int16_t>>
    - bn1::ToTrimmedString
    - libdivide_detail::Div<int16_t, ::libdivide::divider<int16_t>>
    - libdivide_detail::Div<uint64_t, ::libdivide::divider<uint64_t>>
    - libdivide_detail::Div<int32_t, ::libdivide::divider<int32_t>>
    - libdivide_detail::Div<int32_t, ::libdivide::branchfree_divider<int32_t>>
    - calcOp::Is
    - Datasource::Get
    - libdivide_detail::Div<uint16_t, ::libdivide::branchfree_divider<uint16_t>>
    - libdivide_detail::Div<uint16_t, ::libdivide::divider<uint16_t>>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> libdivide::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 13
    functionName: cryptofuzz::module::schnorrkel::schnorrkel
    functionSourceFile: /src/cryptofuzz/modules/schnorrkel/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void schnorrkel::schnorrkel(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:22,1
    - Dst: signature::pub::ToTrimmedString
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:22,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:23,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:24,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:24,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:29,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:29,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:30,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:30,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:31,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:32,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:33,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:33,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:34,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:34,1
    - Dst: sr25519_verify
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:37,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:37,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/schnorrkel/module.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SR25519_Verify
    constantsTouched: []
    func_position:
      end: 41
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 41
    functionName: cryptofuzz::module::schnorrkel::OpSR25519_Verify
    functionSourceFile: /src/cryptofuzz/modules/schnorrkel/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - cleartext::GetPtr
    - signature::signature::first::ToTrimmedString
    - sr25519_verify
    - memcpy
    - auto::data
    - signature::pub::ToTrimmedString
    - cryptofuzz::util::DecToBin
    - signature::signature::second::ToTrimmedString
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> schnorrkel::OpSR25519_Verify(operation::SR25519_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: cryptofuzz::module::Aleo::Aleo
    functionSourceFile: /src/cryptofuzz/modules/aleo/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Aleo::Aleo(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: cryptofuzz::module::aleo_detail::CorrectInfinityG1
    functionSourceFile: /src/cryptofuzz/modules/aleo/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: component::G1
    signature: component::G1 CorrectInfinityG1(const std::string& x, const std::string&
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - ' v'
    - ' w'
    - ' x'
    - ' y'
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: cryptofuzz::module::aleo_detail::CorrectInfinityG2
    functionSourceFile: /src/cryptofuzz/modules/aleo/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: component::G2
    signature: "component::G2 CorrectInfinityG2(\n            const std::string& v,\n
      \           const std::string& w,\n            const std::string& x,\n            const
      std::string& y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/aleo/module.cpp:87,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:87,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:94,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:94,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:94,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/aleo/module.cpp:96,1
    - Dst: cryptofuzz_aleo_privatetopublic
      Src: /src/cryptofuzz/modules/aleo/module.cpp:96,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:97,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:98,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:99,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:101,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:101,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:101,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:102,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:102,1
    - Dst: end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:102,1
    - Dst: cryptofuzz::module::aleo_detail::CorrectInfinityG1
      Src: /src/cryptofuzz/modules/aleo/module.cpp:104,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:105,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:105,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:105,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:106,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:106,1
    - Dst: size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 110
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 110
    functionName: cryptofuzz::module::Aleo::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/aleo/module.cpp
    functionUses: 0
    functionsReached:
    - std::reverse
    - CF_CHECK_NE
    - std::array::data
    - curveType::Is
    - std::optional::data
    - std::array::end
    - data
    - cryptofuzz::util::DecToBin
    - cryptofuzz_aleo_privatetopublic
    - CF_CHECK_EQ
    - size
    - end
    - cryptofuzz::util::BinToDec
    - cryptofuzz::module::aleo_detail::CorrectInfinityG1
    - CF_ECC_CURVE
    - std::array::begin
    - begin
    - priv::ToTrimmedString
    - std::array::size
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> Aleo::OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/aleo/module.cpp:115,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:115,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:122,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:122,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:122,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:123,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:123,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:123,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:124,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:124,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:124,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:125,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:125,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:125,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/aleo/module.cpp:127,1
    - Dst: cryptofuzz_aleo_g1_add
      Src: /src/cryptofuzz/modules/aleo/module.cpp:127,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:128,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:129,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:130,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:131,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:132,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:133,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:135,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:135,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:135,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:136,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:136,1
    - Dst: end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:136,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:139,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:139,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:139,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:140,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:140,1
    - Dst: size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 145
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 145
    functionName: cryptofuzz::module::Aleo::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/aleo/module.cpp
    functionUses: 0
    functionsReached:
    - std::reverse
    - a::second::ToTrimmedString
    - cryptofuzz_aleo_g1_add
    - CF_CHECK_NE
    - std::array::data
    - curveType::Is
    - a::first::ToTrimmedString
    - std::optional::data
    - b::first::ToTrimmedString
    - data
    - std::array::end
    - cryptofuzz::util::DecToBin
    - CF_CHECK_EQ
    - size
    - end
    - cryptofuzz::util::BinToDec
    - b::second::ToTrimmedString
    - CF_ECC_CURVE
    - std::array::begin
    - begin
    - std::array::size
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Aleo::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/aleo/module.cpp:150,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:150,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:157,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:157,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:157,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:158,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:158,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:158,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:159,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:159,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:159,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/aleo/module.cpp:161,1
    - Dst: cryptofuzz_aleo_g1_mul
      Src: /src/cryptofuzz/modules/aleo/module.cpp:161,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:162,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:163,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:164,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:165,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:166,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:168,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:168,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:168,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:169,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:169,1
    - Dst: end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:169,1
    - Dst: cryptofuzz::module::aleo_detail::CorrectInfinityG1
      Src: /src/cryptofuzz/modules/aleo/module.cpp:171,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:172,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:172,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:172,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:173,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:173,1
    - Dst: size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 177
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 177
    functionName: cryptofuzz::module::Aleo::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/aleo/module.cpp
    functionUses: 0
    functionsReached:
    - std::reverse
    - a::second::ToTrimmedString
    - CF_CHECK_NE
    - std::array::data
    - curveType::Is
    - a::first::ToTrimmedString
    - std::optional::data
    - std::array::end
    - data
    - cryptofuzz_aleo_g1_mul
    - cryptofuzz::util::DecToBin
    - b::ToTrimmedString
    - CF_CHECK_EQ
    - size
    - end
    - cryptofuzz::util::BinToDec
    - cryptofuzz::module::aleo_detail::CorrectInfinityG1
    - CF_ECC_CURVE
    - std::array::begin
    - begin
    - std::array::size
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Aleo::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/aleo/module.cpp:182,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:182,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:189,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:189,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:189,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:190,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:190,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:190,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/aleo/module.cpp:192,1
    - Dst: cryptofuzz_aleo_g1_neg
      Src: /src/cryptofuzz/modules/aleo/module.cpp:192,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:193,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:194,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:195,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:196,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:198,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:198,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:198,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:199,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:199,1
    - Dst: end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:199,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:202,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:202,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:202,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:203,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:203,1
    - Dst: size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 208
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 208
    functionName: cryptofuzz::module::Aleo::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/aleo/module.cpp
    functionUses: 0
    functionsReached:
    - std::reverse
    - a::second::ToTrimmedString
    - CF_CHECK_NE
    - std::array::data
    - curveType::Is
    - a::first::ToTrimmedString
    - std::optional::data
    - std::array::end
    - data
    - cryptofuzz::util::DecToBin
    - cryptofuzz_aleo_g1_neg
    - CF_CHECK_EQ
    - size
    - end
    - cryptofuzz::util::BinToDec
    - CF_ECC_CURVE
    - std::array::begin
    - begin
    - std::array::size
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Aleo::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/aleo/module.cpp:213,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:213,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:220,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:220,1
    - Dst: a::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:220,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:221,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:221,1
    - Dst: a::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:221,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:222,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:222,1
    - Dst: a::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:222,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:223,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:223,1
    - Dst: a::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:223,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:224,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:224,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:224,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/aleo/module.cpp:226,1
    - Dst: cryptofuzz_aleo_g2_mul
      Src: /src/cryptofuzz/modules/aleo/module.cpp:226,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:227,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:228,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:229,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:230,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:231,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:232,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:233,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:234,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:235,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:237,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:237,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:237,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:238,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:238,1
    - Dst: end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:238,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:239,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:239,1
    - Dst: end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:239,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:240,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:240,1
    - Dst: end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:240,1
    - Dst: cryptofuzz::module::aleo_detail::CorrectInfinityG2
      Src: /src/cryptofuzz/modules/aleo/module.cpp:242,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:243,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:243,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:243,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:244,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:244,1
    - Dst: size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:244,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:245,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:245,1
    - Dst: size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:245,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:246,1
    - Dst: data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:246,1
    - Dst: size
      Src: /src/cryptofuzz/modules/aleo/module.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 249
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 249
    functionName: cryptofuzz::module::Aleo::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/aleo/module.cpp
    functionUses: 0
    functionsReached:
    - std::reverse
    - a::first::second::ToTrimmedString
    - CF_CHECK_NE
    - std::array::data
    - curveType::Is
    - std::optional::data
    - std::array::end
    - data
    - cryptofuzz::util::DecToBin
    - cryptofuzz_aleo_g2_mul
    - b::ToTrimmedString
    - a::second::second::ToTrimmedString
    - a::first::first::ToTrimmedString
    - CF_CHECK_EQ
    - size
    - end
    - cryptofuzz::util::BinToDec
    - a::second::first::ToTrimmedString
    - CF_ECC_CURVE
    - std::array::begin
    - begin
    - cryptofuzz::module::aleo_detail::CorrectInfinityG2
    - std::array::size
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Aleo::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:257,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:259,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/aleo/module.cpp:271,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/aleo/module.cpp:272,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/aleo/module.cpp:273,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/aleo/module.cpp:274,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/aleo/module.cpp:275,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/aleo/module.cpp:276,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:279,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/aleo/module.cpp:279,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/aleo/module.cpp:279,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:279,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:281,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:281,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:281,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:282,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:282,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/aleo/module.cpp:282,1
    - Dst: cryptofuzz_aleo_bignumcalc_fr
      Src: /src/cryptofuzz/modules/aleo/module.cpp:286,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/aleo/module.cpp:287,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/aleo/module.cpp:287,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:288,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:289,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:290,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:293,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:294,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:294,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:294,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:295,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:295,1
    - Dst: cryptofuzz_aleo_bignumcalc_fq
      Src: /src/cryptofuzz/modules/aleo/module.cpp:297,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/aleo/module.cpp:298,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/aleo/module.cpp:298,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:299,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:300,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:301,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:304,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/aleo/module.cpp:305,1
    - Dst: std::array::begin
      Src: /src/cryptofuzz/modules/aleo/module.cpp:305,1
    - Dst: std::array::end
      Src: /src/cryptofuzz/modules/aleo/module.cpp:305,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/aleo/module.cpp:306,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/aleo/module.cpp:306,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/aleo/module.cpp:308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 314
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 314
    functionName: cryptofuzz::module::Aleo::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/aleo/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - std::reverse
    - CF_CHECK_NE
    - std::array::data
    - std::optional::data
    - std::array::end
    - cryptofuzz_aleo_bignumcalc_fr
    - modulo::ToTrimmedString
    - calcOp::Get
    - cryptofuzz::util::DecToBin
    - bn0::ToTrimmedString
    - std::map::end
    - bn1::ToTrimmedString
    - CF_UNREACHABLE
    - cryptofuzz_aleo_bignumcalc_fq
    - cryptofuzz::util::BinToDec
    - CF_CHECK_TRUE
    - std::map::find
    - std::map::at
    - std::array::begin
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Aleo::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: cryptofuzz::module::Aleo::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/aleo/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Aleo::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: cryptofuzz::module::CPPCrypto::CPPCrypto
    functionSourceFile: /src/cryptofuzz/modules/cppcrypto/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPPCrypto::CPPCrypto(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hashsize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:37,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:44,1
    - Dst: init
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:45,1
    - Dst: update
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:50,1
    - Dst: final
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:55,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ' hasher'
    - ' op'
    - ' ds'
    - hashSize
    argTypes:
    - Hasher
    - operation::Digest
    - Datasource
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 58
    functionName: cryptofuzz::module::CPPCrypto::digest
    functionSourceFile: /src/cryptofuzz/modules/cppcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::PKCS11::LowLevel::C_Digest
    - final
    - init
    - hashsize
    - cryptofuzz::util::ToParts
    - update
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> CPPCrypto::digest(Hasher& hasher,
      operation::Digest& op, Datasource& ds, size_t hashSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:62,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:62,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:66,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:67,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:70,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:73,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:76,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:79,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:82,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:85,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:88,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:91,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:94,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:97,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:100,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:103,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:106,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:109,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:112,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:115,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:118,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:121,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:124,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:127,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:130,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:133,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:136,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:139,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:142,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:145,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:148,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:151,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:154,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:157,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:160,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:163,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:166,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:169,1
    - Dst: cryptofuzz::module::CPPCrypto::digest
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:172,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 76
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 178
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 178
    functionName: cryptofuzz::module::CPPCrypto::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/cppcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - digestType::Get
    - modifier::GetSize
    - ID
    - cryptofuzz::module::CPPCrypto::digest
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> CPPCrypto::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:181,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: cryptofuzz::module::CPPCrypto::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/cppcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> CPPCrypto::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:197,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:197,1
    - Dst: keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:197,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:198,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:198,1
    - Dst: ivsize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:198,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:199,1
    - Dst: init
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:200,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:200,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:200,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:200,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:200,1
    - Dst: encrypt_update
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:206,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:207,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:207,1
    - Dst: encrypt_final
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:213,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:214,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:214,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:215,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:215,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - ' cbc'
    - ' op'
    - ' ds'
    argTypes:
    - cppcrypto::cbc
    - operation::SymmetricEncrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 221
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 221
    functionName: cryptofuzz::module::CPPCrypto::encryptCBC
    functionSourceFile: /src/cryptofuzz/modules/cppcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - encrypt_update
    - std::vector::size
    - ivsize
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - encrypt_final
    - keysize
    - cipher::iv::GetPtr
    - init
    - cipher::key::GetPtr
    - std::vector::insert
    - std::vector::end
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - cryptofuzz::component::Ciphertext::Ciphertext
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CPPCrypto::encryptCBC(cppcrypto::cbc&
      cbc, operation::SymmetricEncrypt& op, Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:233,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:233,1
    - Dst: keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:233,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:234,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:234,1
    - Dst: ivsize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:234,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:235,1
    - Dst: init
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:236,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:236,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:236,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:236,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:236,1
    - Dst: decrypt_update
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:242,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:243,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:243,1
    - Dst: decrypt_final
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:249,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:250,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:250,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:251,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:251,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - ' cbc'
    - ' op'
    - ' ds'
    argTypes:
    - cppcrypto::cbc
    - operation::SymmetricDecrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 257
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 257
    functionName: cryptofuzz::module::CPPCrypto::decryptCBC
    functionSourceFile: /src/cryptofuzz/modules/cppcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - decrypt_final
    - std::vector::size
    - ivsize
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - keysize
    - decrypt_update
    - cipher::iv::GetPtr
    - init
    - cipher::key::GetPtr
    - std::vector::insert
    - std::vector::end
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - cryptofuzz::component::Ciphertext::Ciphertext
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CPPCrypto::decryptCBC(cppcrypto::cbc&
      cbc, operation::SymmetricDecrypt& op, Datasource& ds) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:267,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:267,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:269,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:269,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:271,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:271,1
    - Dst: init
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:272,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:272,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:272,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:272,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:272,1
    - Dst: encrypt
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:277,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:277,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:277,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:282,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 5
    argNames:
    - ' ctr'
    - ' op'
    - ' ds'
    - keySize
    - blockSize
    argTypes:
    - cppcrypto::ctr
    - operation::SymmetricEncrypt
    - Datasource
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 290
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 290
    functionName: cryptofuzz::module::CPPCrypto::encryptCTR
    functionSourceFile: /src/cryptofuzz/modules/cppcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_GTE
    - cleartext::GetPtr
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - cryptofuzz::component::Ciphertext::Ciphertext
    - cipher::iv::GetPtr
    - init
    - cipher::key::GetPtr
    - encrypt
    - cipher::key::GetSize
    - CF_CHECK_LTE
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> CPPCrypto::encryptCTR(cppcrypto::ctr&
      ctr, operation::SymmetricEncrypt& op, Datasource& ds, const size_t keySize,
      const size_t blockSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:300,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:300,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:302,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:302,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:304,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:304,1
    - Dst: init
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:305,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:305,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:305,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:305,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:305,1
    - Dst: decrypt
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:310,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:310,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:310,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:315,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 5
    argNames:
    - ' ctr'
    - ' op'
    - ' ds'
    - keySize
    - blockSize
    argTypes:
    - cppcrypto::ctr
    - operation::SymmetricDecrypt
    - Datasource
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 323
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 323
    functionName: cryptofuzz::module::CPPCrypto::decryptCTR
    functionSourceFile: /src/cryptofuzz/modules/cppcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetSize
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - decrypt
    - ciphertext::GetPtr
    - cipher::iv::GetPtr
    - init
    - cipher::key::GetPtr
    - cipher::key::GetSize
    - component::Cleartext
    - CF_CHECK_LTE
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CPPCrypto::decryptCTR(cppcrypto::ctr&
      ctr, operation::SymmetricDecrypt& op, Datasource& ds, const size_t keySize,
      const size_t blockSize) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:327,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:327,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:331,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:332,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:336,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:339,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:343,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:346,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:350,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:353,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:357,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:360,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:364,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:367,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:371,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:374,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:397,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:400,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:404,1
    - Dst: cppcrypto::aria128::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:404,1
    - Dst: cppcrypto::aria128::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:404,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:407,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:411,1
    - Dst: cppcrypto::aria192::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:411,1
    - Dst: cppcrypto::aria192::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:411,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:414,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:418,1
    - Dst: cppcrypto::aria256::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:418,1
    - Dst: cppcrypto::aria256::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:418,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:421,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:425,1
    - Dst: cppcrypto::camellia128::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:425,1
    - Dst: cppcrypto::camellia128::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:425,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:428,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:432,1
    - Dst: cppcrypto::camellia192::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:432,1
    - Dst: cppcrypto::camellia192::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:432,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:435,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:439,1
    - Dst: cppcrypto::camellia256::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:439,1
    - Dst: cppcrypto::camellia256::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:439,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:442,1
    - Dst: cryptofuzz::module::CPPCrypto::encryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:446,1
    - Dst: cppcrypto::sm4::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:446,1
    - Dst: cppcrypto::sm4::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:446,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 452
      start: 325
    functionDepth: 4
    functionLinenumber: 325
    functionLinenumberEnd: 452
    functionName: cryptofuzz::module::CPPCrypto::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/cppcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cppcrypto::aria128::keysize
    - modifier::GetSize
    - cppcrypto::camellia192::keysize
    - cppcrypto::aria192::keysize
    - cppcrypto::aria256::keysize
    - cppcrypto::camellia128::blocksize
    - cppcrypto::camellia192::blocksize
    - cppcrypto::aria192::blocksize
    - cppcrypto::sm4::blocksize
    - cipher::cipherType::Get
    - cryptofuzz::module::CPPCrypto::encryptCBC
    - cppcrypto::aria256::blocksize
    - cppcrypto::camellia256::keysize
    - cppcrypto::aria128::blocksize
    - cppcrypto::camellia128::keysize
    - cryptofuzz::module::CPPCrypto::encryptCTR
    - cppcrypto::camellia256::blocksize
    - ID
    - cppcrypto::sm4::keysize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CPPCrypto::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:456,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:456,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:460,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:461,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:465,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:468,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:472,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:475,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:479,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:482,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:486,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:489,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:493,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:496,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:500,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:503,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCBC
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:526,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:529,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:533,1
    - Dst: cppcrypto::aria128::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:533,1
    - Dst: cppcrypto::aria128::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:533,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:536,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:540,1
    - Dst: cppcrypto::aria192::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:540,1
    - Dst: cppcrypto::aria192::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:540,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:543,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:547,1
    - Dst: cppcrypto::aria256::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:547,1
    - Dst: cppcrypto::aria256::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:547,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:550,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:554,1
    - Dst: cppcrypto::camellia128::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:554,1
    - Dst: cppcrypto::camellia128::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:554,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:557,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:561,1
    - Dst: cppcrypto::camellia192::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:561,1
    - Dst: cppcrypto::camellia192::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:561,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:564,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:568,1
    - Dst: cppcrypto::camellia256::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:568,1
    - Dst: cppcrypto::camellia256::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:568,1
    - Dst: ID
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:571,1
    - Dst: cryptofuzz::module::CPPCrypto::decryptCTR
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:575,1
    - Dst: cppcrypto::sm4::keysize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:575,1
    - Dst: cppcrypto::sm4::blocksize
      Src: /src/cryptofuzz/modules/cppcrypto/module.cpp:575,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 581
      start: 454
    functionDepth: 4
    functionLinenumber: 454
    functionLinenumberEnd: 581
    functionName: cryptofuzz::module::CPPCrypto::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/cppcrypto/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cppcrypto::aria128::keysize
    - modifier::GetSize
    - cppcrypto::camellia192::keysize
    - cppcrypto::aria192::keysize
    - cppcrypto::aria256::keysize
    - cppcrypto::camellia128::blocksize
    - cppcrypto::camellia192::blocksize
    - cryptofuzz::module::CPPCrypto::decryptCBC
    - cryptofuzz::module::CPPCrypto::decryptCTR
    - cppcrypto::aria192::blocksize
    - cppcrypto::sm4::blocksize
    - cipher::cipherType::Get
    - cppcrypto::aria256::blocksize
    - cppcrypto::camellia256::keysize
    - cppcrypto::aria128::blocksize
    - cppcrypto::camellia128::keysize
    - cppcrypto::camellia256::blocksize
    - ID
    - cppcrypto::sm4::keysize
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CPPCrypto::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 11
    functionName: cryptofuzz::module::Boost::Boost
    functionSourceFile: /src/cryptofuzz/modules/boost/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Boost::Boost(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/boost/module.cpp:18,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/boost/module.cpp:19,1
    - Dst: boost::uuids::detail::sha1::process_bytes
      Src: /src/cryptofuzz/modules/boost/module.cpp:22,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/boost/module.cpp:22,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/boost/module.cpp:22,1
    - Dst: boost::uuids::detail::sha1::get_digest
      Src: /src/cryptofuzz/modules/boost/module.cpp:24,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/boost/module.cpp:27,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/boost/module.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 45
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 45
    functionName: cryptofuzz::module::Boost::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/boost/module.cpp
    functionUses: 0
    functionsReached:
    - boost::uuids::detail::sha1::get_digest
    - cleartext::GetPtr
    - digestType::Get
    - Botan::PKCS11::LowLevel::C_Digest
    - CF_DIGEST
    - memcpy
    - boost::uuids::detail::sha1::process_bytes
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Boost::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/boost/module.cpp:49,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/boost/module.cpp:49,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/boost/module.cpp:51,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/boost/module.cpp:52,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/boost/module.cpp:53,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/boost/module.cpp:58,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:59,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:62,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:65,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/boost/module.cpp:66,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:69,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:72,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/boost/module.cpp:73,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:76,1
    - Dst: Botan::PCurve::GenericField::sqrt
      Src: /src/cryptofuzz/modules/boost/module.cpp:77,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:79,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/boost/module.cpp:80,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/boost/module.cpp:80,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/boost/module.cpp:81,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/modules/boost/module.cpp:81,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/boost/module.cpp:82,1
    - Dst: bn2::GetSize
      Src: /src/cryptofuzz/modules/boost/module.cpp:82,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/boost/module.cpp:84,1
    - Dst: boost::multiprecision::powm
      Src: /src/cryptofuzz/modules/boost/module.cpp:85,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:87,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:90,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:93,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:96,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/boost/module.cpp:97,1
    - Dst: boost::multiprecision::lsb
      Src: /src/cryptofuzz/modules/boost/module.cpp:98,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:100,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/boost/module.cpp:101,1
    - Dst: boost::multiprecision::msb
      Src: /src/cryptofuzz/modules/boost/module.cpp:102,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:104,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:107,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/boost/module.cpp:108,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/modules/boost/module.cpp:109,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:111,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/boost/module.cpp:112,1
    - Dst: boost::multiprecision::bit_test
      Src: /src/cryptofuzz/modules/boost/module.cpp:113,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/modules/boost/module.cpp:113,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:115,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/boost/module.cpp:116,1
    - Dst: is_bit_set
      Src: /src/cryptofuzz/modules/boost/module.cpp:118,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/modules/boost/module.cpp:118,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:120,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/boost/module.cpp:121,1
    - Dst: boost::multiprecision::bit_unset
      Src: /src/cryptofuzz/modules/boost/module.cpp:123,1
    - Dst: static_cast<unsigned int>
      Src: /src/cryptofuzz/modules/boost/module.cpp:123,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:125,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:128,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:131,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:134,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:137,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/boost/module.cpp:140,1
    - Dst: boost::multiprecision::cpp_int::str
      Src: /src/cryptofuzz/modules/boost/module.cpp:147,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 93
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 152
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 152
    functionName: cryptofuzz::module::Boost::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/boost/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - modifier::GetPtr
    - CF_CHECK_LT
    - bn0::GetSize
    - modifier::GetSize
    - Botan::PCurve::GenericField::sqrt
    - CF_CHECK_LTE
    - CF_CHECK_NE
    - bn1::GetSize
    - static_cast<unsigned int>
    - boost::multiprecision::bit_unset
    - boost::multiprecision::lsb
    - boost::multiprecision::powm
    - calcOp::Get
    - bn2::GetSize
    - boost::multiprecision::msb
    - bn0::ToTrimmedString
    - bn2::ToTrimmedString
    - bn1::ToTrimmedString
    - boost::multiprecision::cpp_int::str
    - boost::multiprecision::bit_test
    - is_bit_set
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Boost::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NimMain
      Src: /src/cryptofuzz/modules/constantine/module.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: cryptofuzz::module::Constantine::Constantine
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - NimMain
    linkageType: ''
    returnType: void
    signature: void Constantine::Constantine(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ds'
    - v
    argTypes:
    - Datasource
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: cryptofuzz::module::Constantine_detail::Pad
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Pad(Datasource& ds, const std::vector<uint8_t>
      v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:32,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:32,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:32,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:33,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:33,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::Constantine_detail::LoadField
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - CF_CHECK_NE
    - std::array::data
    - std::optional::data
    - memcpy
    - cryptofuzz::util::DecToBin
    linkageType: ''
    returnType: std::optional<std::array<uint8_t, N>>
    signature: std::optional<std::array<uint8_t, N>> LoadField(const component::Bignum&
      bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:44,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:44,1
    - Dst: first::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:44,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:45,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:45,1
    - Dst: second::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:45,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:46,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:46,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:46,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:47,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:47,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' g1'
    argTypes:
    - component::G1
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: cryptofuzz::module::Constantine_detail::LoadG1
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - second::ToTrimmedString
    - CF_CHECK_NE
    - std::array::data
    - std::optional::data
    - data
    - memcpy
    - cryptofuzz::module::Constantine_detail::LoadField
    - first::ToTrimmedString
    linkageType: ''
    returnType: std::optional<std::array<uint8_t, N*2>>
    signature: std::optional<std::array<uint8_t, N*2>> LoadG1(const component::G1&
      g1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:59,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:59,1
    - Dst: first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:59,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:60,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:60,1
    - Dst: first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:60,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:61,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:61,1
    - Dst: second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:61,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:62,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:62,1
    - Dst: second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:62,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:63,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:63,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:63,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:64,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:64,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:64,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:65,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:65,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:65,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:66,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:66,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' g2'
    argTypes:
    - component::G2
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: cryptofuzz::module::Constantine_detail::LoadG2
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - second::first::ToTrimmedString
    - first::second::ToTrimmedString
    - CF_CHECK_NE
    - std::array::data
    - std::optional::data
    - data
    - first::first::ToTrimmedString
    - memcpy
    - cryptofuzz::module::Constantine_detail::LoadField
    - second::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<std::array<uint8_t, N * 4>>
    signature: std::optional<std::array<uint8_t, N * 4>> LoadG2(const component::G2&
      g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:75,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:77,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g1'
    argTypes:
    - std::array<uint8_t, N*2>
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: cryptofuzz::module::Constantine_detail::SaveG1
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: component::G1
    signature: component::G1 SaveG1(const std::array<uint8_t, N*2>& g1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:84,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:86,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:87,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:88,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g2'
    argTypes:
    - std::array<uint8_t, N*4>
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: cryptofuzz::module::Constantine_detail::SaveG2
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: component::G2
    signature: component::G2 SaveG2(const std::array<uint8_t, N*4>& g2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:95,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:97,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:98,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:99,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:100,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:101,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:102,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/constantine/module.cpp:104,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/constantine/module.cpp:105,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/constantine/module.cpp:106,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/constantine/module.cpp:107,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/constantine/module.cpp:108,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/constantine/module.cpp:109,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:111,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:112,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:113,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:114,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:115,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fp12'
    argTypes:
    - std::array<uint8_t, N * 12>
    constantsTouched: []
    func_position:
      end: 119
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 119
    functionName: cryptofuzz::module::Constantine_detail::SaveFp12
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - std::string
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: component::Fp12
    signature: component::Fp12 SaveFp12(const std::array<uint8_t, N * 12>& fp12)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:128,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:128,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:128,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:129,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:129,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:129,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:129,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:131,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:131,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:131,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:132,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:132,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:132,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:132,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:134,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:134,1
    - Dst: bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:134,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:135,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:135,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:135,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:135,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:137,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:137,1
    - Dst: bn4::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:137,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:138,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:138,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:138,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:138,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:140,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:140,1
    - Dst: bn5::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:140,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:141,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:141,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:141,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:141,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:143,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:143,1
    - Dst: bn6::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:143,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:144,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:144,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:144,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:144,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:146,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:146,1
    - Dst: bn7::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:146,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:147,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:147,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:147,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:147,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:149,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:149,1
    - Dst: bn8::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:149,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:150,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:150,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:150,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:150,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:152,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:152,1
    - Dst: bn9::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:152,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:153,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:153,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:153,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:153,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:155,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:155,1
    - Dst: bn10::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:155,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:156,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:156,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:156,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:156,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:158,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:158,1
    - Dst: bn11::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:158,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:159,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:159,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:159,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:159,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:161,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:161,1
    - Dst: bn12::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:161,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/constantine/module.cpp:162,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:162,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:162,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - ' fp12'
    argTypes:
    - component::Fp12
    constantsTouched: []
    func_position:
      end: 167
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 167
    functionName: cryptofuzz::module::Constantine_detail::LoadFp12
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - bn12::ToTrimmedString
    - bn1::ToTrimmedString
    - CF_CHECK_NE
    - std::array::data
    - bn7::ToTrimmedString
    - std::optional::data
    - bn6::ToTrimmedString
    - bn8::ToTrimmedString
    - bn3::ToTrimmedString
    - bn4::ToTrimmedString
    - std::optional::size
    - bn5::ToTrimmedString
    - bn9::ToTrimmedString
    - bn10::ToTrimmedString
    - memcpy
    - cryptofuzz::module::Constantine_detail::LoadField
    - bn2::ToTrimmedString
    - bn11::ToTrimmedString
    linkageType: ''
    returnType: std::optional<std::array<uint8_t, N * 12>>
    signature: std::optional<std::array<uint8_t, N * 12>> LoadFp12(const component::Fp12&
      fp12)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:171,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' field'
    argTypes:
    - std::array<uint8_t, N>
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: cryptofuzz::module::Constantine_detail::SaveField
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - cryptofuzz::util::BinToDec
    linkageType: ''
    returnType: component::Bignum
    signature: component::Bignum SaveField(const std::array<uint8_t, N>& field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:178,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:178,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:180,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:180,1
    - Dst: cryptofuzz_constantine_bls_isg1oncurve
      Src: /src/cryptofuzz/modules/constantine/module.cpp:182,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:182,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:183,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:185,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:185,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:187,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:187,1
    - Dst: cryptofuzz_constantine_bls_isg1oncurve
      Src: /src/cryptofuzz/modules/constantine/module.cpp:189,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:189,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 196
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 196
    functionName: cryptofuzz::module::Constantine::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - Constantine_detail::LoadG1<48>
    - curveType::Is
    - std::optional::data
    - CF_ECC_CURVE
    - cryptofuzz_constantine_bls_isg1oncurve
    - cryptofuzz::module::Constantine_detail::LoadG1
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Constantine::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:201,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:201,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:203,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:203,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:204,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:204,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:207,1
    - Dst: cryptofuzz_constantine_bls_g1_add
      Src: /src/cryptofuzz/modules/constantine/module.cpp:208,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:210,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:210,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:211,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:211,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:212,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:213,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:215,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:215,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:219,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:219,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:220,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:220,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:221,1
    - Dst: cryptofuzz_constantine_bls_g1_add
      Src: /src/cryptofuzz/modules/constantine/module.cpp:222,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:224,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:224,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:225,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:225,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:226,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:228,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:229,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:229,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:233,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:233,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:234,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:234,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:235,1
    - Dst: cryptofuzz_constantine_bls_g1_add
      Src: /src/cryptofuzz/modules/constantine/module.cpp:236,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:238,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:238,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:239,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:239,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:240,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 247
      start: 198
    functionDepth: 4
    functionLinenumber: 198
    functionLinenumberEnd: 247
    functionName: cryptofuzz::module::Constantine::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - Constantine_detail::LoadG1<48>
    - std::array::data
    - curveType::Is
    - std::optional::data
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - data
    - Constantine_detail::SaveG1<48>
    - size
    - std::optional::size
    - cryptofuzz::module::Constantine_detail::LoadG1
    - cryptofuzz_constantine_bls_g1_add
    - cryptofuzz::module::Constantine_detail::SaveG1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Constantine::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/constantine/module.cpp:250,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/constantine/module.cpp:250,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:256,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:260,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:260,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:265,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:265,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:266,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:266,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:268,1
    - Dst: cryptofuzz_constantine_bls_g1_mul
      Src: /src/cryptofuzz/modules/constantine/module.cpp:269,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:271,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:271,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:272,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:272,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:274,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:276,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:277,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:277,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:282,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:282,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:283,1
    - Dst: Constantine_detail::LoadField<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:283,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:284,1
    - Dst: cryptofuzz_constantine_bls_g1_mul
      Src: /src/cryptofuzz/modules/constantine/module.cpp:285,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:287,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:287,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:288,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:288,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:290,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:292,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:293,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:293,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:298,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:298,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:299,1
    - Dst: Constantine_detail::LoadField<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:299,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:300,1
    - Dst: cryptofuzz_constantine_bls_g1_mul
      Src: /src/cryptofuzz/modules/constantine/module.cpp:301,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:303,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:303,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:304,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:304,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:306,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 313
      start: 249
    functionDepth: 4
    functionLinenumber: 249
    functionLinenumberEnd: 313
    functionName: cryptofuzz::module::Constantine::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - Constantine_detail::LoadG1<48>
    - std::array::data
    - curveType::Is
    - std::optional::data
    - modifier::GetPtr
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - Datasource::Get
    - cryptofuzz_constantine_bls_g1_mul
    - Constantine_detail::SaveG1<48>
    - std::optional::size
    - modifier::GetSize
    - cryptofuzz::module::Constantine_detail::LoadG1
    - cryptofuzz::module::Constantine_detail::LoadField
    - cryptofuzz::module::Constantine_detail::SaveG1
    - Constantine_detail::LoadField<48>
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Constantine::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/constantine/module.cpp:316,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/constantine/module.cpp:316,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:326,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:330,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:332,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:332,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:339,1
    - Dst: Constantine_detail::LoadG1<32>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:339,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:340,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:340,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:340,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:340,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:342,1
    - Dst: Constantine_detail::LoadField<32>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:342,1
    - Dst: insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:343,1
    - Dst: end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:343,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:343,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:343,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:348,1
    - Dst: cryptofuzz_constantine_bls_g1_multiexp
      Src: /src/cryptofuzz/modules/constantine/module.cpp:349,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:351,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:351,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:352,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:352,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:355,1
    - Dst: Constantine_detail::SaveG1<32>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:357,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:358,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:358,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:365,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:365,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:366,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:366,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:366,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:366,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:368,1
    - Dst: Constantine_detail::LoadField<32>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:368,1
    - Dst: insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:369,1
    - Dst: end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:369,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:369,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:369,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:374,1
    - Dst: cryptofuzz_constantine_bls_g1_multiexp
      Src: /src/cryptofuzz/modules/constantine/module.cpp:375,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:377,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:377,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:378,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:378,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:381,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:383,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_MultiExp
    constantsTouched: []
    func_position:
      end: 389
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 389
    functionName: cryptofuzz::module::Constantine::OpBLS_G1_MultiExp
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - modifier::GetPtr
    - modifier::GetSize
    - insert
    - CF_CHECK_NE
    - std::array::data
    - curveType::Is
    - data
    - Constantine_detail::SaveG1<48>
    - Constantine_detail::LoadField<32>
    - Constantine_detail::LoadG1<32>
    - Constantine_detail::SaveG1<32>
    - std::vector::end
    - std::vector::data
    - CF_CHECK_EQ
    - std::optional::end
    - size
    - end
    - cryptofuzz_constantine_bls_g1_multiexp
    - std::optional::begin
    - Constantine_detail::LoadG1<48>
    - CF_ECC_CURVE
    - Datasource::Get
    - std::vector::insert
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Constantine::OpBLS_G1_MultiExp(operation::BLS_G1_MultiExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:394,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:394,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:398,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:398,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:400,1
    - Dst: cryptofuzz_constantine_bls_g1_neg
      Src: /src/cryptofuzz/modules/constantine/module.cpp:401,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:403,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:403,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:404,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:406,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:407,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:407,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:411,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:411,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:413,1
    - Dst: cryptofuzz_constantine_bls_g1_neg
      Src: /src/cryptofuzz/modules/constantine/module.cpp:414,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:416,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:416,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:417,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 424
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 424
    functionName: cryptofuzz::module::Constantine::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - Constantine_detail::LoadG1<48>
    - std::array::data
    - curveType::Is
    - std::optional::data
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - cryptofuzz_constantine_bls_g1_neg
    - Constantine_detail::SaveG1<48>
    - std::optional::size
    - cryptofuzz::module::Constantine_detail::LoadG1
    - cryptofuzz::module::Constantine_detail::SaveG1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Constantine::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:429,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:429,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:432,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:432,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:433,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:433,1
    - Dst: cryptofuzz_constantine_bls_g1_iseq
      Src: /src/cryptofuzz/modules/constantine/module.cpp:435,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:437,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:437,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:438,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:438,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:440,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:442,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:442,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:445,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:445,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:446,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:446,1
    - Dst: cryptofuzz_constantine_bls_g1_iseq
      Src: /src/cryptofuzz/modules/constantine/module.cpp:448,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:450,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:450,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:451,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:451,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 459
      start: 426
    functionDepth: 4
    functionLinenumber: 426
    functionLinenumberEnd: 459
    functionName: cryptofuzz::module::Constantine::OpBLS_G1_IsEq
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - Constantine_detail::LoadG1<48>
    - curveType::Is
    - std::optional::data
    - CF_ECC_CURVE
    - data
    - cryptofuzz_constantine_bls_g1_iseq
    - size
    - std::optional::size
    - cryptofuzz::module::Constantine_detail::LoadG1
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Constantine::OpBLS_G1_IsEq(operation::BLS_G1_IsEq&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:464,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:464,1
    - Dst: g2::first::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:468,1
    - Dst: g2::first::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:469,1
    - Dst: g2::second::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:470,1
    - Dst: g2::second::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:471,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:475,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:475,1
    - Dst: cryptofuzz_constantine_bls_isg2oncurve
      Src: /src/cryptofuzz/modules/constantine/module.cpp:477,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:477,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:478,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:480,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:480,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:483,1
    - Dst: Constantine_detail::LoadG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:483,1
    - Dst: cryptofuzz_constantine_bls_isg2oncurve
      Src: /src/cryptofuzz/modules/constantine/module.cpp:485,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:485,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:486,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 492
      start: 461
    functionDepth: 4
    functionLinenumber: 461
    functionLinenumberEnd: 492
    functionName: cryptofuzz::module::Constantine::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - g2::second::second::ToTrimmedString
    - Constantine_detail::LoadG2<48>
    - g2::second::first::ToTrimmedString
    - CF_CHECK_NE
    - curveType::Is
    - std::optional::data
    - CF_ECC_CURVE
    - g2::first::second::ToTrimmedString
    - g2::first::first::ToTrimmedString
    - cryptofuzz_constantine_bls_isg2oncurve
    - cryptofuzz::module::Constantine_detail::LoadG2
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Constantine::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:497,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:497,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:501,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:501,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:502,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:502,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:504,1
    - Dst: cryptofuzz_constantine_bls_g2_add
      Src: /src/cryptofuzz/modules/constantine/module.cpp:505,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:507,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:508,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:509,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:511,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:512,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:512,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:516,1
    - Dst: Constantine_detail::LoadG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:516,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:517,1
    - Dst: Constantine_detail::LoadG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:517,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:519,1
    - Dst: cryptofuzz_constantine_bls_g2_add
      Src: /src/cryptofuzz/modules/constantine/module.cpp:520,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:522,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:523,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:524,1
    - Dst: Constantine_detail::SaveG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 531
      start: 494
    functionDepth: 4
    functionLinenumber: 494
    functionLinenumberEnd: 531
    functionName: cryptofuzz::module::Constantine::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - Constantine_detail::LoadG2<48>
    - CF_CHECK_NE
    - std::array::data
    - curveType::Is
    - std::optional::data
    - CF_ECC_CURVE
    - cryptofuzz::module::Constantine_detail::SaveG2
    - CF_CHECK_EQ
    - data
    - cryptofuzz_constantine_bls_g2_add
    - cryptofuzz::module::Constantine_detail::LoadG2
    - Constantine_detail::SaveG2<48>
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Constantine::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/constantine/module.cpp:534,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/constantine/module.cpp:534,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:540,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:544,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:544,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:549,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:549,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:550,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:550,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:552,1
    - Dst: cryptofuzz_constantine_bls_g2_mul
      Src: /src/cryptofuzz/modules/constantine/module.cpp:553,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:555,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:556,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:558,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:560,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:561,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:561,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:566,1
    - Dst: Constantine_detail::LoadG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:566,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:567,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:567,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:569,1
    - Dst: cryptofuzz_constantine_bls_g2_mul
      Src: /src/cryptofuzz/modules/constantine/module.cpp:570,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:572,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:573,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:575,1
    - Dst: Constantine_detail::SaveG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 582
      start: 533
    functionDepth: 4
    functionLinenumber: 533
    functionLinenumberEnd: 582
    functionName: cryptofuzz::module::Constantine::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_constantine_bls_g2_mul
    - Constantine_detail::LoadG2<48>
    - CF_CHECK_NE
    - std::array::data
    - curveType::Is
    - std::optional::data
    - modifier::GetPtr
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - cryptofuzz::module::Constantine_detail::SaveG2
    - Datasource::Get
    - cryptofuzz::module::Constantine_detail::LoadG2
    - modifier::GetSize
    - Constantine_detail::SaveG2<48>
    - cryptofuzz::module::Constantine_detail::LoadField
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Constantine::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:587,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:587,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:591,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:591,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:593,1
    - Dst: cryptofuzz_constantine_bls_g2_neg
      Src: /src/cryptofuzz/modules/constantine/module.cpp:594,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:596,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:597,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:599,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:600,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:600,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:604,1
    - Dst: Constantine_detail::LoadG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:604,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:606,1
    - Dst: cryptofuzz_constantine_bls_g2_neg
      Src: /src/cryptofuzz/modules/constantine/module.cpp:607,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:609,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:610,1
    - Dst: Constantine_detail::SaveG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 617
      start: 584
    functionDepth: 4
    functionLinenumber: 584
    functionLinenumberEnd: 617
    functionName: cryptofuzz::module::Constantine::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - Constantine_detail::LoadG2<48>
    - CF_CHECK_NE
    - std::array::data
    - curveType::Is
    - std::optional::data
    - CF_ECC_CURVE
    - cryptofuzz::module::Constantine_detail::SaveG2
    - CF_CHECK_EQ
    - cryptofuzz_constantine_bls_g2_neg
    - cryptofuzz::module::Constantine_detail::LoadG2
    - Constantine_detail::SaveG2<48>
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Constantine::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:622,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:622,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:625,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:625,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:626,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:626,1
    - Dst: cryptofuzz_constantine_bls_g2_iseq
      Src: /src/cryptofuzz/modules/constantine/module.cpp:628,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:630,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:630,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:631,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:631,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:633,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:635,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:635,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:638,1
    - Dst: Constantine_detail::LoadG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:638,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:639,1
    - Dst: Constantine_detail::LoadG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:639,1
    - Dst: cryptofuzz_constantine_bls_g2_iseq
      Src: /src/cryptofuzz/modules/constantine/module.cpp:641,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:643,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:643,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:644,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:644,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 652
      start: 619
    functionDepth: 4
    functionLinenumber: 619
    functionLinenumberEnd: 652
    functionName: cryptofuzz::module::Constantine::OpBLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - Constantine_detail::LoadG2<48>
    - CF_CHECK_NE
    - curveType::Is
    - std::optional::data
    - CF_ECC_CURVE
    - data
    - cryptofuzz::module::Constantine_detail::LoadG2
    - std::optional::size
    - size
    - cryptofuzz_constantine_bls_g2_iseq
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Constantine::OpBLS_G2_IsEq(operation::BLS_G2_IsEq&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:659,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:659,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:664,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:664,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:665,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:665,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:667,1
    - Dst: cryptofuzz_constantine_bls_pairing
      Src: /src/cryptofuzz/modules/constantine/module.cpp:668,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:670,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:670,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:671,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:671,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:672,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveFp12
      Src: /src/cryptofuzz/modules/constantine/module.cpp:674,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:675,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:675,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:680,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:680,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:681,1
    - Dst: Constantine_detail::LoadG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:681,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:683,1
    - Dst: cryptofuzz_constantine_bls_pairing
      Src: /src/cryptofuzz/modules/constantine/module.cpp:684,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:686,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:686,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:687,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:687,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:688,1
    - Dst: Constantine_detail::SaveFp12<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Pairing
    constantsTouched: []
    func_position:
      end: 695
      start: 654
    functionDepth: 4
    functionLinenumber: 654
    functionLinenumberEnd: 695
    functionName: cryptofuzz::module::Constantine::OpBLS_Pairing
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - Constantine_detail::LoadG2<48>
    - CF_CHECK_NE
    - Constantine_detail::LoadG1<48>
    - std::array::data
    - curveType::Is
    - cryptofuzz_constantine_bls_pairing
    - CF_ECC_CURVE
    - std::optional::data
    - CF_CHECK_EQ
    - cryptofuzz::module::Constantine_detail::LoadG2
    - std::optional::size
    - cryptofuzz::module::Constantine_detail::SaveFp12
    - Constantine_detail::SaveFp12<48>
    - cryptofuzz::module::Constantine_detail::LoadG1
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> Constantine::OpBLS_Pairing(operation::BLS_Pairing&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:700,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:700,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:703,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadFp12
      Src: /src/cryptofuzz/modules/constantine/module.cpp:703,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:706,1
    - Dst: cryptofuzz_constantine_bls_finalexp
      Src: /src/cryptofuzz/modules/constantine/module.cpp:707,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:709,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:709,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:710,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveFp12
      Src: /src/cryptofuzz/modules/constantine/module.cpp:712,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:713,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:713,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:716,1
    - Dst: Constantine_detail::LoadFp12<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:716,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:719,1
    - Dst: cryptofuzz_constantine_bls_finalexp
      Src: /src/cryptofuzz/modules/constantine/module.cpp:720,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:722,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:722,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:723,1
    - Dst: Constantine_detail::SaveFp12<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_FinalExp
    constantsTouched: []
    func_position:
      end: 730
      start: 697
    functionDepth: 4
    functionLinenumber: 697
    functionLinenumberEnd: 730
    functionName: cryptofuzz::module::Constantine::OpBLS_FinalExp
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_constantine_bls_finalexp
    - CF_CHECK_NE
    - std::array::data
    - curveType::Is
    - std::optional::data
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - std::optional::size
    - cryptofuzz::module::Constantine_detail::SaveFp12
    - cryptofuzz::module::Constantine_detail::LoadFp12
    - Constantine_detail::SaveFp12<48>
    - Constantine_detail::LoadFp12<48>
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> Constantine::OpBLS_FinalExp(operation::BLS_FinalExp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aug::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:735,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:736,1
    - Dst: dest::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:737,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:739,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:739,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:741,1
    - Dst: cryptofuzz_constantine_bls_hashtog1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:742,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:744,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:744,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:745,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:745,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:746,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:746,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:747,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:748,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:749,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:749,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:751,1
    - Dst: cryptofuzz_constantine_bls_hashtog1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:752,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:754,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:754,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:755,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:755,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:756,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:756,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:757,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG1
    constantsTouched: []
    func_position:
      end: 763
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 763
    functionName: cryptofuzz::module::Constantine::OpBLS_HashToG1
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - curveType::Is
    - CF_ECC_CURVE
    - cleartext::Get
    - CF_CHECK_EQ
    - Constantine_detail::SaveG1<48>
    - cryptofuzz_constantine_bls_hashtog1
    - cryptofuzz::module::Constantine_detail::SaveG1
    - auto::data
    - aug::Get
    - auto::size
    - dest::Get
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Constantine::OpBLS_HashToG1(operation::BLS_HashToG1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aug::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:768,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:769,1
    - Dst: dest::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:770,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:772,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:772,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:775,1
    - Dst: cryptofuzz_constantine_bls_hashtog2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:776,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:778,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:778,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:779,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:779,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:780,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:780,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:781,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveG2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:783,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:784,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:784,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:787,1
    - Dst: cryptofuzz_constantine_bls_hashtog2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:788,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:790,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:790,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:791,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:791,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:792,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:792,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:793,1
    - Dst: Constantine_detail::SaveG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:795,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG2
    constantsTouched: []
    func_position:
      end: 800
      start: 765
    functionDepth: 3
    functionLinenumber: 765
    functionLinenumberEnd: 800
    functionName: cryptofuzz::module::Constantine::OpBLS_HashToG2
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - curveType::Is
    - cryptofuzz::module::Constantine_detail::SaveG2
    - CF_ECC_CURVE
    - cleartext::Get
    - CF_CHECK_EQ
    - auto::data
    - cryptofuzz_constantine_bls_hashtog2
    - aug::Get
    - auto::size
    - Constantine_detail::SaveG2<48>
    - dest::Get
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Constantine::OpBLS_HashToG2(operation::BLS_HashToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:805,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:805,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:808,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/constantine/module.cpp:808,1
    - Dst: ikm::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:810,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:812,1
    - Dst: cryptofuzz_constantine_bls_generatekeypair
      Src: /src/cryptofuzz/modules/constantine/module.cpp:813,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:814,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:815,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:816,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:817,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:819,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 825
      start: 802
    functionDepth: 3
    functionLinenumber: 802
    functionLinenumberEnd: 825
    functionName: cryptofuzz::module::Constantine::OpBLS_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_constantine_bls_generatekeypair
    - curveType::Is
    - std::array::data
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - cryptofuzz::module::Constantine_detail::SaveField
    - Constantine_detail::SaveG1<48>
    - ikm::Get
    - auto::data
    - auto::size
    - info::GetSize
    linkageType: ''
    returnType: std::optional<component::BLS_KeyPair>
    signature: std::optional<component::BLS_KeyPair> Constantine::OpBLS_GenerateKeyPair(operation::BLS_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:830,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:830,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:834,1
    - Dst: Constantine_detail::LoadField<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:834,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:836,1
    - Dst: cryptofuzz_constantine_bls_decompress_g1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:837,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:838,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:838,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:839,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G1
    constantsTouched: []
    func_position:
      end: 846
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 846
    functionName: cryptofuzz::module::Constantine::OpBLS_Decompress_G1
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_constantine_bls_decompress_g1
    - CF_CHECK_NE
    - std::array::data
    - curveType::Is
    - std::optional::data
    - CF_ECC_CURVE
    - CF_CHECK_EQ
    - Constantine_detail::SaveG1<48>
    - std::optional::size
    - Constantine_detail::LoadField<48>
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Constantine::OpBLS_Decompress_G1(operation::BLS_Decompress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:851,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:851,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:855,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:855,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:857,1
    - Dst: cryptofuzz_constantine_bls_compress_g1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:858,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:859,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:859,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:860,1
    - Dst: Constantine_detail::SaveField<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:862,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G1
    constantsTouched: []
    func_position:
      end: 867
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 867
    functionName: cryptofuzz::module::Constantine::OpBLS_Compress_G1
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - Constantine_detail::LoadG1<48>
    - std::array::data
    - curveType::Is
    - std::optional::data
    - CF_ECC_CURVE
    - Constantine_detail::SaveField<48>
    - CF_CHECK_EQ
    - cryptofuzz_constantine_bls_compress_g1
    - std::optional::size
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Constantine::OpBLS_Compress_G1(operation::BLS_Compress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:872,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:872,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:877,1
    - Dst: Constantine_detail::LoadField<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:877,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:878,1
    - Dst: Constantine_detail::LoadField<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:878,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:880,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:880,1
    - Dst: std::optional::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:880,1
    - Dst: std::optional::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:880,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:881,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:881,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:881,1
    - Dst: end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:881,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:883,1
    - Dst: cryptofuzz_constantine_bls_decompress_g2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:884,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:885,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:885,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:886,1
    - Dst: Constantine_detail::SaveG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G2
    constantsTouched: []
    func_position:
      end: 893
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 893
    functionName: cryptofuzz::module::Constantine::OpBLS_Decompress_G2
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - std::optional::begin
    - std::vector::size
    - curveType::Is
    - std::array::data
    - CF_ECC_CURVE
    - begin
    - CF_CHECK_EQ
    - std::optional::end
    - end
    - std::vector::insert
    - std::vector::end
    - Constantine_detail::SaveG2<48>
    - cryptofuzz_constantine_bls_decompress_g2
    - Constantine_detail::LoadField<48>
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Constantine::OpBLS_Decompress_G2(operation::BLS_Decompress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:898,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:898,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:902,1
    - Dst: Constantine_detail::LoadG2<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:902,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:904,1
    - Dst: cryptofuzz_constantine_bls_compress_g2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:905,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:906,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:906,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:907,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G2
    constantsTouched: []
    func_position:
      end: 914
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 914
    functionName: cryptofuzz::module::Constantine::OpBLS_Compress_G2
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - Constantine_detail::LoadG2<48>
    - CF_CHECK_NE
    - cryptofuzz_constantine_bls_compress_g2
    - curveType::Is
    - std::optional::data
    - CF_ECC_CURVE
    - std::array::data
    - CF_CHECK_EQ
    - Constantine_detail::SaveG1<48>
    - std::optional::size
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Constantine::OpBLS_Compress_G2(operation::BLS_Compress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/constantine/module.cpp:918,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/constantine/module.cpp:918,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:923,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:924,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:927,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:930,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:933,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:936,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:939,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:942,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:945,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:948,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:951,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:954,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:962,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:966,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:969,1
    - Dst: Constantine_detail::LoadField<32>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:969,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:970,1
    - Dst: Constantine_detail::LoadField<32>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:970,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:971,1
    - Dst: cryptofuzz_constantine_bignumcalc_fr
      Src: /src/cryptofuzz/modules/constantine/module.cpp:972,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:975,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:976,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:978,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:979,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:980,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:983,1
    - Dst: Constantine_detail::LoadField<32>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:983,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:984,1
    - Dst: Constantine_detail::LoadField<32>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:984,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:985,1
    - Dst: cryptofuzz_constantine_bignumcalc_fp
      Src: /src/cryptofuzz/modules/constantine/module.cpp:986,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:989,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:990,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:992,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:993,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:994,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:997,1
    - Dst: Constantine_detail::LoadField<32>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:997,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:998,1
    - Dst: Constantine_detail::LoadField<32>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:998,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:999,1
    - Dst: cryptofuzz_constantine_bignumcalc_fr
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1000,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1003,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1004,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1006,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1007,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1008,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1011,1
    - Dst: Constantine_detail::LoadField<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1011,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1012,1
    - Dst: Constantine_detail::LoadField<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1012,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1013,1
    - Dst: cryptofuzz_constantine_bignumcalc_fp
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1014,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1017,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1018,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1020,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveField
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1021,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1026
      start: 917
    functionDepth: 3
    functionLinenumber: 917
    functionLinenumberEnd: 1026
    functionName: cryptofuzz::module::Constantine_detail::OpBignumCalc_Mod
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - CF_CHECK_NE
    - std::array::data
    - std::optional::data
    - modifier::GetPtr
    - CF_CHECK_EQ
    - data
    - Datasource::Get
    - cryptofuzz::module::Constantine_detail::SaveField
    - Constantine_detail::LoadField<32>
    - modulo::ToTrimmedString
    - modifier::GetSize
    - calcOp::Get
    - cryptofuzz_constantine_bignumcalc_fp
    - cryptofuzz_constantine_bignumcalc_fr
    - Constantine_detail::LoadField<48>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpBignumCalc_Mod(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1030,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1030,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1036,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1037,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1040,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1043,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1046,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1049,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1052,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1055,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1058,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1061,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1064,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1067,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1075,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1083,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1083,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1084,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1084,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1086,1
    - Dst: cryptofuzz_constantine_bignumcalc_fp2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1087,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1090,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1090,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1091,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1091,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1093,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveG1
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1095,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1100,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1100,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1101,1
    - Dst: Constantine_detail::LoadG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1101,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1103,1
    - Dst: cryptofuzz_constantine_bignumcalc_fp2
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1104,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1107,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1107,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1108,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1108,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1110,1
    - Dst: Constantine_detail::SaveG1<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1112,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp2
    constantsTouched: []
    func_position:
      end: 1117
      start: 1029
    functionDepth: 4
    functionLinenumber: 1029
    functionLinenumberEnd: 1117
    functionName: cryptofuzz::module::Constantine::OpBignumCalc_Fp2
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - CF_CHECK_NE
    - cryptofuzz_constantine_bignumcalc_fp2
    - std::array::data
    - Constantine_detail::LoadG1<48>
    - std::optional::data
    - modifier::GetPtr
    - CF_CHECK_EQ
    - data
    - Datasource::Get
    - Constantine_detail::SaveG1<48>
    - size
    - std::optional::size
    - modifier::GetSize
    - calcOp::Get
    - cryptofuzz::module::Constantine_detail::LoadG1
    - cryptofuzz::module::Constantine_detail::SaveG1
    linkageType: ''
    returnType: std::optional<component::Fp2>
    signature: std::optional<component::Fp2> Constantine::OpBignumCalc_Fp2(operation::BignumCalc_Fp2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1120,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1120,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1126,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1127,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1130,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1133,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1136,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1139,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1142,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1145,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1148,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1151,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1154,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1157,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1165,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1173,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadFp12
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1173,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1174,1
    - Dst: cryptofuzz::module::Constantine_detail::LoadFp12
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1174,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1176,1
    - Dst: cryptofuzz_constantine_bignumcalc_fp12
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1177,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1180,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1180,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1181,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1181,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1183,1
    - Dst: cryptofuzz::module::Constantine_detail::SaveFp12
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1185,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1190,1
    - Dst: Constantine_detail::LoadFp12<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1190,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1191,1
    - Dst: Constantine_detail::LoadFp12<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1191,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1193,1
    - Dst: cryptofuzz_constantine_bignumcalc_fp12
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1194,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1197,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1197,1
    - Dst: data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1198,1
    - Dst: size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1198,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1200,1
    - Dst: Constantine_detail::SaveFp12<48>
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1202,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc_Fp12
    constantsTouched: []
    func_position:
      end: 1207
      start: 1119
    functionDepth: 4
    functionLinenumber: 1119
    functionLinenumberEnd: 1207
    functionName: cryptofuzz::module::Constantine::OpBignumCalc_Fp12
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - CF_CHECK_NE
    - std::array::data
    - std::optional::data
    - modifier::GetPtr
    - CF_CHECK_EQ
    - data
    - Datasource::Get
    - size
    - std::optional::size
    - cryptofuzz::module::Constantine_detail::SaveFp12
    - cryptofuzz::module::Constantine_detail::LoadFp12
    - cryptofuzz_constantine_bignumcalc_fp12
    - Constantine_detail::SaveFp12<48>
    - modifier::GetSize
    - calcOp::Get
    - Constantine_detail::LoadFp12<48>
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> Constantine::OpBignumCalc_Fp12(operation::BignumCalc_Fp12&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1211
    functionName: cryptofuzz::module::Constantine::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Constantine::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Constantine_detail::OpBignumCalc_Mod
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1215,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1219,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1219,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1221,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1221,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1226,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1227,1
    - Dst: cryptofuzz::module::Constantine_detail::Pad
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1235,1
    - Dst: bn0::ToBin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1235,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1236,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1236,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1236,1
    - Dst: cryptofuzz::module::Constantine_detail::Pad
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1237,1
    - Dst: bn1::ToBin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1237,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1238,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1238,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1238,1
    - Dst: cryptofuzz::module::Constantine_detail::Pad
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1239,1
    - Dst: bn2::ToBin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1239,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1240,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1240,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1240,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1241,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1241,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1241,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1241,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1242,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1242,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1242,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1242,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1243,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1243,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1243,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1243,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1244,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1244,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1244,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1244,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1245,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1245,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1245,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1245,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1246,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1246,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1246,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1246,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1248,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1248,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1249,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1249,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1249,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1257,1
    - Dst: cryptofuzz_constantine_bignumcalc_modexp
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1258,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1260,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1260,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1261,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1262,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1264,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1264,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1264,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1267,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1268,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1271,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1274,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1277,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1280,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1283,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1286,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1289,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1292,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1295,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1298,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1301,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1304,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1307,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1310,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1313,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1316,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1323,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1323,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1327,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1327,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1331,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1331,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1337,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1337,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1337,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1342,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1346,1
    - Dst: cryptofuzz_constantine_bignumcalc
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1347,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1349,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1349,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1350,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1350,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1351,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1351,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1353,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1355,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1355,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1362,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1363,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1364,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1364,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1364,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1368,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1368,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1368,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1370,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1373,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1373,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/constantine/module.cpp:1373,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 102
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1379
      start: 1213
    functionDepth: 4
    functionLinenumber: 1213
    functionLinenumberEnd: 1379
    functionName: cryptofuzz::module::Constantine::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/constantine/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - std::vector::size
    - modifier::GetPtr
    - std::to_string
    - auto::begin
    - modifier::GetSize
    - memset
    - bn2::ToBin
    - std::array::data
    - bn1::ToBin
    - calcOp::Get
    - cryptofuzz::util::DecToBin
    - std::vector::end
    - auto::end
    - cryptofuzz_constantine_bignumcalc
    - bn0::ToTrimmedString
    - bn2::ToTrimmedString
    - std::vector::data
    - bn1::ToTrimmedString
    - std::vector::resize
    - CF_CHECK_EQ
    - std::string
    - cryptofuzz::util::BinToDec
    - bn0::ToBin
    - cryptofuzz::module::Constantine_detail::OpBignumCalc_Mod
    - calcOp::Is
    - Datasource::Get
    - cryptofuzz_constantine_bignumcalc_modexp
    - cryptofuzz::module::Constantine_detail::Pad
    - auto::data
    - std::vector::insert
    - std::array::size
    - auto::size
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Constantine::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:13,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::noble_secp256k1::noble_secp256k1
    functionSourceFile: /src/cryptofuzz/modules/noble-secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void noble_secp256k1::noble_secp256k1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: noble_secp256k1::~noble_secp256k1(void)
    functionSourceFile: /src/cryptofuzz/modules/noble-secp256k1/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noble_secp256k1::~noble_secp256k1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:27,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:27,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:31,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:32,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:32,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:34,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:34,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:37,1
    - Dst: cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: cryptofuzz::module::noble_secp256k1::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/noble-secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - curveType::Is
    - CF_ECC_CURVE
    - std::to_string
    - cryptofuzz::module::secp256k1_detail::To_ECC_PublicKey
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> noble_secp256k1::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:47,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:47,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:51,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:55,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:55,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:55,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:55,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:59,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:60,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:60,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:62,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:62,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:63,1
    - Dst: cleartext::ECDSA_Pad
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:65,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:68,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:68,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:71,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 76
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 76
    functionName: cryptofuzz::module::noble_secp256k1::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/noble-secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - cleartext::SHA256
    - curveType::Is
    - CF_ECC_CURVE
    - std::to_string
    - digestType::Is
    - cryptofuzz::tests::test_ECDSA_Signature
    - CF_DIGEST
    - UseRFC6979Nonce
    - cleartext::ECDSA_Pad
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> noble_secp256k1::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:81,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:81,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:85,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:85,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:85,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:85,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:89,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:89,1
    - Dst: cleartext::ECDSA_Pad
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:90,1
    - Dst: auto::IsZero
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:94,1
    - Dst: auto::Get
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:94,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:99,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:100,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:100,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:102,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:102,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:103,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:106,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:106,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 113
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 113
    functionName: cryptofuzz::module::noble_secp256k1::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/noble-secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - auto::Get
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - auto::IsZero
    - curveType::Is
    - cleartext::SHA256
    - CF_ECC_CURVE
    - std::to_string
    - digestType::Is
    - CF_DIGEST
    - cleartext::ECDSA_Pad
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> noble_secp256k1::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:118,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:118,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:122,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:123,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:123,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:125,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:125,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:128,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: cryptofuzz::module::noble_secp256k1::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/noble-secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - curveType::Is
    - CF_ECC_CURVE
    - std::to_string
    - CF_OPERATION
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> noble_secp256k1::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:138,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:138,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:142,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:143,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:143,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:145,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:145,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:148,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 153
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 153
    functionName: cryptofuzz::module::noble_secp256k1::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/noble-secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - curveType::Is
    - CF_ECC_CURVE
    - std::to_string
    - CF_OPERATION
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> noble_secp256k1::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:158,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:158,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:162,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:163,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:163,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:165,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:165,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:168,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 173
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 173
    functionName: cryptofuzz::module::noble_secp256k1::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/noble-secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - curveType::Is
    - CF_ECC_CURVE
    - std::to_string
    - CF_OPERATION
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> noble_secp256k1::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:177,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:177,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:181,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:182,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:182,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:184,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:184,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:187,1
    - Dst: cryptofuzz::module::Zig_detail::To_Component_ECC_Point
      Src: /src/cryptofuzz/modules/noble-secp256k1/module.cpp:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 192
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 192
    functionName: cryptofuzz::module::noble_secp256k1::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/noble-secp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - curveType::Is
    - CF_ECC_CURVE
    - std::to_string
    - CF_OPERATION
    - cryptofuzz::module::Zig_detail::To_Component_ECC_Point
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> noble_secp256k1::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/noble-secp256k1/generate_ids.cpp:10,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/noble-secp256k1/generate_ids.cpp:10,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 14
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/noble-secp256k1/generate_ids.cpp
    functionUses: 97
    functionsReached:
    - std::string::c_str
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:15,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: cryptofuzz::module::sjcl::sjcl
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void sjcl::sjcl(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: sjcl::~sjcl(void)
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sjcl::~sjcl(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:27,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: cryptofuzz::module::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 1
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> getResultAs(const std::string& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:34,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:35,1
    - Dst: JS*::Run
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:37,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:37,1
    - Dst: cryptofuzz::module::getResultAs
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - js
    - ' op'
    argTypes:
    - JS*
    - OperationType
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: cryptofuzz::module::Run
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::getResultAs
    - std::to_string
    - JS*::Run
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> Run(JS* js, OperationType& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:47,1
    - Dst: Run<component::Digest, operation::Digest, CF_OPERATION("Digest")>
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::sjcl::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    - Run<component::Digest, operation::Digest, CF_OPERATION("Digest")>
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> sjcl::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:51,1
    - Dst: Run<component::MAC, operation::HMAC, CF_OPERATION("HMAC")>
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::sjcl::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    - Run<component::MAC, operation::HMAC, CF_OPERATION("HMAC")>
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> sjcl::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:55,1
    - Dst: Run<component::Ciphertext, operation::SymmetricEncrypt, CF_OPERATION("SymmetricEncrypt")>
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: cryptofuzz::module::sjcl::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    - Run<component::Ciphertext, operation::SymmetricEncrypt, CF_OPERATION("SymmetricEncrypt")>
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> sjcl::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:59,1
    - Dst: Run<component::Cleartext, operation::SymmetricDecrypt, CF_OPERATION("SymmetricDecrypt")>
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::sjcl::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - Run<component::Cleartext, operation::SymmetricDecrypt, CF_OPERATION("SymmetricDecrypt")>
    - CF_OPERATION
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> sjcl::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:63,1
    - Dst: Run<component::Key, operation::KDF_HKDF, CF_OPERATION("KDF_HKDF")>
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: cryptofuzz::module::sjcl::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    - Run<component::Key, operation::KDF_HKDF, CF_OPERATION("KDF_HKDF")>
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> sjcl::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:67,1
    - Dst: Run<component::Key, operation::KDF_PBKDF2, CF_OPERATION("KDF_PBKDF2")>
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: cryptofuzz::module::sjcl::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    - Run<component::Key, operation::KDF_PBKDF2, CF_OPERATION("KDF_PBKDF2")>
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> sjcl::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:71,1
    - Dst: Run<component::Key, operation::KDF_SCRYPT, CF_OPERATION("KDF_SCRYPT")>
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: cryptofuzz::module::sjcl::OpKDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_OPERATION
    - Run<component::Key, operation::KDF_SCRYPT, CF_OPERATION("KDF_SCRYPT")>
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> sjcl::OpKDF_SCRYPT(operation::KDF_SCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: cryptofuzz::module::HexCharToDec
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: int
    signature: int HexCharToDec(const char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:90,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:94,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:95,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:98,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:99,1
    - Dst: cryptofuzz::module::blst_detail::To_cpp_int
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:106,1
    - Dst: cryptofuzz::module::HexCharToDec
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:106,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:106,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:113,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 114
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 114
    functionName: cryptofuzz::module::HexToDec
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - cryptofuzz::module::blst_detail::To_cpp_int
    - std::string::empty
    - std::stringstream::str
    - std::string::substr
    - cryptofuzz::module::HexCharToDec
    linkageType: ''
    returnType: std::string
    signature: std::string HexToDec(std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 134
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 134
    functionName: cryptofuzz::module::DecToHex
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string DecToHex(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:140,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:140,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:141,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:141,1
    - Dst: DecToHex
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:142,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:142,1
    - Dst: DecToHex
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:143,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:143,1
    - Dst: DecToHex
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:144,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:144,1
    - Dst: DecToHex
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:145,1
    - Dst: bn3::ToTrimmedString
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:145,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:147,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:147,1
    - Dst: HexToDec
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:150,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:150,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 154
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 154
    functionName: cryptofuzz::module::sjcl::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - bn1::ToTrimmedString
    - Run
    - std::to_string
    - bn3::ToTrimmedString
    - HexToDec
    - std::string
    - DecToHex
    - calcOp::Get
    - CF_OPERATION
    - bn0::ToTrimmedString
    - bn2::ToTrimmedString
    - nlohmann::json::dump
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> sjcl::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:160,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:160,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:161,1
    - Dst: DecToHex
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:162,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:162,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:164,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:164,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:167,1
    - Dst: HexToDec
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:168,1
    - Dst: HexToDec
      Src: /src/cryptofuzz/modules/sjcl/module.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 172
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 172
    functionName: cryptofuzz::module::sjcl::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/sjcl/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - priv::ToTrimmedString
    - HexToDec
    - DecToHex
    - curveType::Get
    - CF_OPERATION
    - nlohmann::json::dump
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> sjcl::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:9,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:14,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:15,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:15,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:20,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:20,1
    - Dst: std::string::find
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:25,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:28,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:28,1
    - Dst: std::string::find_first_of
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:33,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:36,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:38,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:39,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:39,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:44,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/sjcl/generate_ids.cpp:44,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 6
    functionDepth: 1
    functionLinenumber: 6
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/sjcl/generate_ids.cpp
    functionUses: 97
    functionsReached:
    - std::string::find_first_of
    - printf
    - abort
    - std::string::find
    - std::string::c_str
    - std::string::substr
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 13
    functionName: cryptofuzz::module::stint::stint
    functionSourceFile: /src/cryptofuzz/modules/stint/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stint::stint(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/stint/module.cpp:19,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/stint/module.cpp:19,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/stint/module.cpp:23,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/stint/module.cpp:23,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/stint/module.cpp:27,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/stint/module.cpp:27,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/stint/module.cpp:33,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:33,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:33,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:35,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:35,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:36,1
    - Dst: cryptofuzz_stint_add_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:37,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:38,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:38,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:39,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:39,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:40,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:43,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:43,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:43,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:44,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:44,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:45,1
    - Dst: cryptofuzz_stint_sub_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:46,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:47,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:47,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:48,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:48,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:49,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:52,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:52,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:52,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:53,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:53,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:54,1
    - Dst: cryptofuzz_stint_mul_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:55,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:56,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:56,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:57,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:57,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:58,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:61,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:61,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:61,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:62,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:62,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:63,1
    - Dst: cryptofuzz_stint_expmod_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:64,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:65,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:65,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:66,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:66,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:67,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:67,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:68,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:71,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:71,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:71,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:72,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:72,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:73,1
    - Dst: cryptofuzz_stint_addmod_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:74,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:75,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:75,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:76,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:76,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:77,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:77,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:78,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:81,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:81,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:81,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:82,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:82,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:83,1
    - Dst: cryptofuzz_stint_mulmod_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:84,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:85,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:85,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:86,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:86,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:87,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:87,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:88,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:91,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:91,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:91,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:92,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:92,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:93,1
    - Dst: cryptofuzz_stint_and_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:94,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:95,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:95,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:96,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:96,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:97,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:100,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:100,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:100,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:101,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:101,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:102,1
    - Dst: cryptofuzz_stint_or_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:103,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:104,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:104,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:105,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:105,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:106,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:109,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:109,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:109,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:110,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:110,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:111,1
    - Dst: cryptofuzz_stint_xor_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:112,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:113,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:113,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:114,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:114,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:115,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:118,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:118,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:118,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:119,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:119,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:120,1
    - Dst: cryptofuzz_stint_iseq_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:121,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:122,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:122,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:123,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:123,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:124,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:127,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:127,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:127,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:128,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:128,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:129,1
    - Dst: cryptofuzz_stint_exp_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:130,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:131,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:131,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:132,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:132,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:133,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:136,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:136,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:136,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:137,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:137,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:138,1
    - Dst: cryptofuzz_stint_lshift1_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:139,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:140,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:140,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:141,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:144,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:144,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:144,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:145,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:145,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:146,1
    - Dst: cryptofuzz_stint_isodd_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:147,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:148,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:148,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:149,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:152,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:152,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:152,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:153,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:153,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:154,1
    - Dst: cryptofuzz_stint_iseven_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:155,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:156,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:156,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:157,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:160,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:160,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:160,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:161,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:161,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:162,1
    - Dst: cryptofuzz_stint_islt_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:163,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:164,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:164,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:165,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:165,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:166,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:169,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:169,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:169,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:170,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:170,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:171,1
    - Dst: cryptofuzz_stint_islte_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:172,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:173,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:173,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:174,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:174,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:175,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:178,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:178,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:178,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:179,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:179,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:180,1
    - Dst: cryptofuzz_stint_isgt_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:181,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:182,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:182,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:183,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:183,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:184,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:187,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:187,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:187,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:188,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:188,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:189,1
    - Dst: cryptofuzz_stint_isgte_u256
      Src: /src/cryptofuzz/modules/stint/module.cpp:190,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:191,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:191,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:192,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:192,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:193,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:196,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:196,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:196,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 86
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 201
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 201
    functionName: cryptofuzz::module::stint_detail::OpBignumCalc_U256
    functionSourceFile: /src/cryptofuzz/modules/stint/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz_stint_isgt_u256
    - CF_CALCOP
    - cryptofuzz_stint_islt_u256
    - memset
    - cryptofuzz_stint_expmod_u256
    - cryptofuzz_stint_exp_u256
    - cryptofuzz_stint_islte_u256
    - std::array::data
    - cryptofuzz_stint_add_u256
    - cryptofuzz::util::DecToBin
    - bn0::ToTrimmedString
    - bn2::ToTrimmedString
    - cryptofuzz_stint_isgte_u256
    - bn1::ToTrimmedString
    - cryptofuzz_stint_isodd_u256
    - cryptofuzz_stint_mulmod_u256
    - CF_CHECK_EQ
    - cryptofuzz_stint_iseven_u256
    - cryptofuzz_stint_lshift1_u256
    - cryptofuzz::util::BinToDec
    - cryptofuzz_stint_sub_u256
    - cryptofuzz_stint_or_u256
    - calcOp::Is
    - cryptofuzz_stint_addmod_u256
    - cryptofuzz_stint_mul_u256
    - auto::data
    - std::array::size
    - cryptofuzz_stint_xor_u256
    - auto::size
    - cryptofuzz_stint_iseq_u256
    - cryptofuzz_stint_and_u256
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpBignumCalc_U256(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/stint/module.cpp:206,1
    - Dst: cryptofuzz::module::stint_detail::OpBignumCalc_U256
      Src: /src/cryptofuzz/modules/stint/module.cpp:207,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/stint/module.cpp:215,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/stint/module.cpp:215,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/stint/module.cpp:219,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/stint/module.cpp:219,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/stint/module.cpp:223,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/stint/module.cpp:223,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/stint/module.cpp:229,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:229,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:229,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:231,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:231,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:232,1
    - Dst: cryptofuzz_stint_add
      Src: /src/cryptofuzz/modules/stint/module.cpp:233,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:234,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:234,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:235,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:235,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:236,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:239,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:239,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:239,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:240,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:240,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:241,1
    - Dst: cryptofuzz_stint_sub
      Src: /src/cryptofuzz/modules/stint/module.cpp:242,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:243,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:243,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:244,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:244,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:245,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:248,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:248,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:248,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:249,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:249,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:250,1
    - Dst: cryptofuzz_stint_mul
      Src: /src/cryptofuzz/modules/stint/module.cpp:251,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:252,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:252,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:253,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:253,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:254,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:257,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:257,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:257,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:258,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:258,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:262,1
    - Dst: cryptofuzz_stint_expmod
      Src: /src/cryptofuzz/modules/stint/module.cpp:263,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:264,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:264,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:265,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:265,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:266,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:266,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:267,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:270,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:270,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:270,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:271,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:271,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:272,1
    - Dst: cryptofuzz_stint_addmod
      Src: /src/cryptofuzz/modules/stint/module.cpp:273,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:274,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:274,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:275,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:275,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:276,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:276,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:277,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:280,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:280,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:280,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:281,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:281,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/stint/module.cpp:283,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/stint/module.cpp:283,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/stint/module.cpp:284,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/modules/stint/module.cpp:284,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/stint/module.cpp:285,1
    - Dst: bn2::GetSize
      Src: /src/cryptofuzz/modules/stint/module.cpp:285,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:287,1
    - Dst: cryptofuzz_stint_mulmod
      Src: /src/cryptofuzz/modules/stint/module.cpp:288,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:289,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:289,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:290,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:290,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:291,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:291,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:292,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:295,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:295,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:295,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:296,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:296,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:297,1
    - Dst: cryptofuzz_stint_and
      Src: /src/cryptofuzz/modules/stint/module.cpp:298,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:299,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:299,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:300,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:300,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:301,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:304,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:304,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:304,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:305,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:305,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:306,1
    - Dst: cryptofuzz_stint_or
      Src: /src/cryptofuzz/modules/stint/module.cpp:307,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:308,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:308,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:309,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:309,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:310,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:313,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:313,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:313,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:314,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:314,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:315,1
    - Dst: cryptofuzz_stint_xor
      Src: /src/cryptofuzz/modules/stint/module.cpp:316,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:317,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:317,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:318,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:318,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:319,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:322,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:322,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:322,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:323,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:323,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:324,1
    - Dst: cryptofuzz_stint_iseq
      Src: /src/cryptofuzz/modules/stint/module.cpp:325,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:326,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:326,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:327,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:327,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:328,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:331,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:331,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:331,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:332,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:332,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:333,1
    - Dst: cryptofuzz_stint_exp
      Src: /src/cryptofuzz/modules/stint/module.cpp:334,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:335,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:335,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:336,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:336,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:337,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:340,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:340,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:340,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:341,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:341,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:342,1
    - Dst: cryptofuzz_stint_lshift1
      Src: /src/cryptofuzz/modules/stint/module.cpp:343,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:344,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:344,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:345,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:348,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:348,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:348,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:349,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:349,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:350,1
    - Dst: cryptofuzz_stint_isodd
      Src: /src/cryptofuzz/modules/stint/module.cpp:351,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:352,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:352,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:353,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:356,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:356,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:356,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:357,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:357,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:358,1
    - Dst: cryptofuzz_stint_iseven
      Src: /src/cryptofuzz/modules/stint/module.cpp:359,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:360,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:360,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:361,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:364,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:364,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:364,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:365,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:365,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:366,1
    - Dst: cryptofuzz_stint_islt
      Src: /src/cryptofuzz/modules/stint/module.cpp:367,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:368,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:368,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:369,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:369,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:370,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:373,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:373,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:373,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:374,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:374,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:375,1
    - Dst: cryptofuzz_stint_islte
      Src: /src/cryptofuzz/modules/stint/module.cpp:376,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:377,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:377,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:378,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:378,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:379,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:382,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:382,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:382,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:383,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:383,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:384,1
    - Dst: cryptofuzz_stint_isgt
      Src: /src/cryptofuzz/modules/stint/module.cpp:385,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:386,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:386,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:387,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:387,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:388,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:391,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:391,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:391,1
    - Dst: calcOp::Is
      Src: /src/cryptofuzz/modules/stint/module.cpp:392,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/stint/module.cpp:392,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/stint/module.cpp:393,1
    - Dst: cryptofuzz_stint_isgte
      Src: /src/cryptofuzz/modules/stint/module.cpp:394,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:395,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:395,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:396,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:396,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:397,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/stint/module.cpp:400,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/stint/module.cpp:400,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/stint/module.cpp:400,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 98
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 405
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 405
    functionName: cryptofuzz::module::stint::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/stint/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - cryptofuzz_stint_xor
    - bn0::GetSize
    - memset
    - cryptofuzz::module::stint_detail::OpBignumCalc_U256
    - CF_CHECK_LTE
    - cryptofuzz_stint_islt
    - cryptofuzz_stint_mulmod
    - cryptofuzz_stint_isgt
    - std::array::data
    - cryptofuzz_stint_expmod
    - bn1::GetSize
    - cryptofuzz_stint_or
    - modulo::ToTrimmedString
    - cryptofuzz::util::DecToBin
    - bn2::GetSize
    - bn0::ToTrimmedString
    - bn2::ToTrimmedString
    - bn1::ToTrimmedString
    - cryptofuzz_stint_sub
    - CF_CHECK_EQ
    - cryptofuzz_stint_add
    - cryptofuzz::util::BinToDec
    - cryptofuzz_stint_isgte
    - cryptofuzz_stint_exp
    - cryptofuzz_stint_and
    - cryptofuzz_stint_isodd
    - calcOp::Is
    - cryptofuzz_stint_islte
    - cryptofuzz_stint_lshift1
    - auto::data
    - std::array::size
    - cryptofuzz_stint_iseven
    - auto::size
    - cryptofuzz_stint_mul
    - cryptofuzz_stint_iseq
    - cryptofuzz_stint_addmod
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> stint::OpBignumCalc(operation::BignumCalc&
      op)
  - 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: cryptofuzz::module::stint::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/stint/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stint::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/java/module.cpp:33,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:34,1
    - Dst: readlink
      Src: /src/cryptofuzz/modules/java/module.cpp:35,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/java/module.cpp:40,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/java/module.cpp:42,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/java/module.cpp:49,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:56,1
    - Dst: JNI_CreateJavaVM
      Src: /src/cryptofuzz/modules/java/module.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - jvm
    argTypes:
    - JavaVM**
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: cryptofuzz::module::Java_detail::create_vm
    functionSourceFile: /src/cryptofuzz/modules/java/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - std::string
    - readlink
    - std::string::c_str
    - JNI_CreateJavaVM
    - memset
    linkageType: ''
    returnType: JNIEnv
    signature: JNIEnv * create_vm(JavaVM ** jvm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Java_detail::create_vm
      Src: /src/cryptofuzz/modules/java/module.cpp:62,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:64,1
    - Dst: FindClass
      Src: /src/cryptofuzz/modules/java/module.cpp:68,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:69,1
    - Dst: GetStaticMethodID
      Src: /src/cryptofuzz/modules/java/module.cpp:70,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:71,1
    - Dst: CallStaticVoidMethod
      Src: /src/cryptofuzz/modules/java/module.cpp:72,1
    - Dst: DefineClass
      Src: /src/cryptofuzz/modules/java/module.cpp:76,1
    - Dst: FindClass
      Src: /src/cryptofuzz/modules/java/module.cpp:85,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:87,1
    - Dst: GetStaticMethodID
      Src: /src/cryptofuzz/modules/java/module.cpp:89,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:90,1
    - Dst: GetStaticMethodID
      Src: /src/cryptofuzz/modules/java/module.cpp:92,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:93,1
    - Dst: GetStaticMethodID
      Src: /src/cryptofuzz/modules/java/module.cpp:95,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:96,1
    - Dst: GetStaticMethodID
      Src: /src/cryptofuzz/modules/java/module.cpp:99,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:100,1
    - Dst: GetStaticMethodID
      Src: /src/cryptofuzz/modules/java/module.cpp:102,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 105
    functionName: cryptofuzz::module::Java_detail::initialize
    functionSourceFile: /src/cryptofuzz/modules/java/module.cpp
    functionUses: 0
    functionsReached:
    - GetStaticMethodID
    - CF_ASSERT
    - cryptofuzz::module::Java_detail::create_vm
    - CallStaticVoidMethod
    - DefineClass
    - FindClass
    linkageType: ''
    returnType: void
    signature: void initialize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:118,1
    - Dst: EC_KEY_new
      Src: /src/cryptofuzz/modules/java/module.cpp:118,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:119,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/cryptofuzz/modules/java/module.cpp:119,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/java/module.cpp:120,1
    - Dst: EC_KEY_set_group
      Src: /src/cryptofuzz/modules/java/module.cpp:120,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:122,1
    - Dst: EC_POINT_new
      Src: /src/cryptofuzz/modules/java/module.cpp:122,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:123,1
    - Dst: BN_dec2bn
      Src: /src/cryptofuzz/modules/java/module.cpp:123,1
    - Dst: first::ToTrimmedString
      Src: /src/cryptofuzz/modules/java/module.cpp:123,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:124,1
    - Dst: BN_dec2bn
      Src: /src/cryptofuzz/modules/java/module.cpp:124,1
    - Dst: second::ToTrimmedString
      Src: /src/cryptofuzz/modules/java/module.cpp:124,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:125,1
    - Dst: EC_POINT_set_affine_coordinates_GFp
      Src: /src/cryptofuzz/modules/java/module.cpp:125,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/java/module.cpp:126,1
    - Dst: EC_KEY_set_public_key
      Src: /src/cryptofuzz/modules/java/module.cpp:126,1
    - Dst: i2d_EC_PUBKEY
      Src: /src/cryptofuzz/modules/java/module.cpp:129,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/java/module.cpp:130,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/java/module.cpp:132,1
    - Dst: EC_GROUP_free
      Src: /src/cryptofuzz/modules/java/module.cpp:136,1
    - Dst: EC_POINT_free
      Src: /src/cryptofuzz/modules/java/module.cpp:137,1
    - Dst: EC_KEY_free
      Src: /src/cryptofuzz/modules/java/module.cpp:138,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/java/module.cpp:139,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/java/module.cpp:140,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/java/module.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - ' pub'
    - nid
    argTypes:
    - component::BignumPair
    - int
    constantsTouched: []
    func_position:
      end: 144
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 144
    functionName: cryptofuzz::module::Java_detail::PubkeyToX509
    functionSourceFile: /src/cryptofuzz/modules/java/module.cpp
    functionUses: 0
    functionsReached:
    - second::ToTrimmedString
    - EC_GROUP_free
    - EC_KEY_set_public_key
    - BN_dec2bn
    - CF_CHECK_GT
    - std::vector<uint8_t>
    - OPENSSL_free
    - CF_CHECK_NE
    - EC_KEY_new
    - BN_free
    - i2d_EC_PUBKEY
    - EC_KEY_free
    - EC_POINT_free
    - EC_KEY_set_group
    - CF_CHECK_EQ
    - first::ToTrimmedString
    - EC_POINT_set_affine_coordinates_GFp
    - EC_GROUP_new_by_curve_name
    - EC_POINT_new
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: std::optional<std::vector<uint8_t>> PubkeyToX509(const component::BignumPair&
      pub, const int nid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:154,1
    - Dst: ECDSA_SIG_new
      Src: /src/cryptofuzz/modules/java/module.cpp:154,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:155,1
    - Dst: BN_dec2bn
      Src: /src/cryptofuzz/modules/java/module.cpp:155,1
    - Dst: first::ToTrimmedString
      Src: /src/cryptofuzz/modules/java/module.cpp:155,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:156,1
    - Dst: BN_dec2bn
      Src: /src/cryptofuzz/modules/java/module.cpp:156,1
    - Dst: second::ToTrimmedString
      Src: /src/cryptofuzz/modules/java/module.cpp:156,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/java/module.cpp:157,1
    - Dst: ECDSA_SIG_set0
      Src: /src/cryptofuzz/modules/java/module.cpp:157,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/cryptofuzz/modules/java/module.cpp:162,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/java/module.cpp:163,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/java/module.cpp:165,1
    - Dst: ECDSA_SIG_free
      Src: /src/cryptofuzz/modules/java/module.cpp:169,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/java/module.cpp:170,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/java/module.cpp:171,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/java/module.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ' sig'
    argTypes:
    - component::BignumPair
    constantsTouched: []
    func_position:
      end: 175
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 175
    functionName: cryptofuzz::module::Java_detail::SignatureToX509
    functionSourceFile: /src/cryptofuzz/modules/java/module.cpp
    functionUses: 0
    functionsReached:
    - second::ToTrimmedString
    - OPENSSL_free
    - CF_CHECK_NE
    - i2d_ECDSA_SIG
    - CF_CHECK_EQ
    - BN_dec2bn
    - CF_CHECK_GT
    - std::vector<uint8_t>
    - ECDSA_SIG_new
    - ECDSA_SIG_free
    - BN_free
    - first::ToTrimmedString
    - ECDSA_SIG_set0
    linkageType: ''
    returnType: std::optional<std::vector<uint8_t>>
    signature: std::optional<std::vector<uint8_t>> SignatureToX509(const component::BignumPair&
      sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Java_detail::initialize
      Src: /src/cryptofuzz/modules/java/module.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: cryptofuzz::module::Java::Java
    functionSourceFile: /src/cryptofuzz/modules/java/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Java_detail::initialize
    linkageType: ''
    returnType: void
    signature: void Java::Java(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:186,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:186,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/java/module.cpp:195,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:196,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:197,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:199,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:200,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:202,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:203,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:205,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:206,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:208,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:209,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:211,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:212,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:214,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:215,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:217,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:218,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:220,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:221,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:223,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:224,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:226,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:227,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:233,1
    - Dst: NewByteArray
      Src: /src/cryptofuzz/modules/java/module.cpp:235,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:235,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:236,1
    - Dst: SetByteArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:237,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:237,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:237,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/java/module.cpp:239,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/java/module.cpp:240,1
    - Dst: NewIntArray
      Src: /src/cryptofuzz/modules/java/module.cpp:242,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/java/module.cpp:242,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:243,1
    - Dst: SetIntArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:244,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/java/module.cpp:244,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/java/module.cpp:244,1
    - Dst: static_cast<jbyteArray>
      Src: /src/cryptofuzz/modules/java/module.cpp:248,1
    - Dst: CallStaticObjectMethod
      Src: /src/cryptofuzz/modules/java/module.cpp:249,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:254,1
    - Dst: GetArrayLength
      Src: /src/cryptofuzz/modules/java/module.cpp:257,1
    - Dst: GetPrimitiveArrayCritical
      Src: /src/cryptofuzz/modules/java/module.cpp:258,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/java/module.cpp:260,1
    - Dst: ReleasePrimitiveArrayCritical
      Src: /src/cryptofuzz/modules/java/module.cpp:262,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:266,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:267,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:268,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 272
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 272
    functionName: cryptofuzz::module::Java::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/java/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - modifier::GetPtr
    - digestType::Get
    - std::vector::push_back
    - modifier::GetSize
    - NewByteArray
    - cleartext::GetSize
    - SetByteArrayRegion
    - SetIntArrayRegion
    - ReleasePrimitiveArrayCritical
    - NewIntArray
    - std::vector::data
    - static_cast<jbyteArray>
    - Botan::PKCS11::LowLevel::C_Digest
    - cryptofuzz::util::ToParts
    - DeleteLocalRef
    - CallStaticObjectMethod
    - CF_ASSERT
    - cleartext::GetPtr
    - GetPrimitiveArrayCritical
    - CF_DIGEST
    - NewStringUTF
    - GetArrayLength
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Java::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:276,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:276,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/java/module.cpp:286,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:287,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:288,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:290,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:291,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:293,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:294,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:296,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:297,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:299,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:300,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:302,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:303,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:305,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:306,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:308,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:309,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:311,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:312,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:314,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:315,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:321,1
    - Dst: NewByteArray
      Src: /src/cryptofuzz/modules/java/module.cpp:323,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:323,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:324,1
    - Dst: SetByteArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:325,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:325,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:325,1
    - Dst: NewByteArray
      Src: /src/cryptofuzz/modules/java/module.cpp:327,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:327,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:328,1
    - Dst: SetByteArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:329,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:329,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:329,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/java/module.cpp:331,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/java/module.cpp:332,1
    - Dst: NewIntArray
      Src: /src/cryptofuzz/modules/java/module.cpp:334,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/java/module.cpp:334,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:335,1
    - Dst: SetIntArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:336,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/java/module.cpp:336,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/java/module.cpp:336,1
    - Dst: static_cast<jbyteArray>
      Src: /src/cryptofuzz/modules/java/module.cpp:340,1
    - Dst: CallStaticObjectMethod
      Src: /src/cryptofuzz/modules/java/module.cpp:341,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:346,1
    - Dst: GetArrayLength
      Src: /src/cryptofuzz/modules/java/module.cpp:349,1
    - Dst: GetPrimitiveArrayCritical
      Src: /src/cryptofuzz/modules/java/module.cpp:350,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/java/module.cpp:353,1
    - Dst: ReleasePrimitiveArrayCritical
      Src: /src/cryptofuzz/modules/java/module.cpp:356,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:361,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:362,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:363,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 367
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 367
    functionName: cryptofuzz::module::Java::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/java/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - modifier::GetPtr
    - digestType::Get
    - std::vector::push_back
    - modifier::GetSize
    - NewByteArray
    - cipher::key::GetPtr
    - Botan_CLI::HMAC::HMAC
    - cleartext::GetSize
    - SetByteArrayRegion
    - CF_CHECK_NE
    - SetIntArrayRegion
    - ReleasePrimitiveArrayCritical
    - NewIntArray
    - std::vector::data
    - static_cast<jbyteArray>
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - DeleteLocalRef
    - CallStaticObjectMethod
    - CF_ASSERT
    - cleartext::GetPtr
    - GetPrimitiveArrayCritical
    - CF_DIGEST
    - NewStringUTF
    - GetArrayLength
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Java::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:371,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:371,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/java/module.cpp:385,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:386,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:387,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:389,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:390,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:392,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:393,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/java/module.cpp:399,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/java/module.cpp:400,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/java/module.cpp:403,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:404,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/java/module.cpp:409,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/java/module.cpp:412,1
    - Dst: cryptofuzz::module::Java_detail::PubkeyToX509
      Src: /src/cryptofuzz/modules/java/module.cpp:420,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:421,1
    - Dst: NewByteArray
      Src: /src/cryptofuzz/modules/java/module.cpp:423,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/java/module.cpp:423,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:424,1
    - Dst: SetByteArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:425,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/java/module.cpp:425,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/java/module.cpp:425,1
    - Dst: cryptofuzz::module::Java_detail::SignatureToX509
      Src: /src/cryptofuzz/modules/java/module.cpp:429,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:430,1
    - Dst: NewByteArray
      Src: /src/cryptofuzz/modules/java/module.cpp:432,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/java/module.cpp:432,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:433,1
    - Dst: SetByteArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:434,1
    - Dst: std::optional::size
      Src: /src/cryptofuzz/modules/java/module.cpp:434,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/java/module.cpp:434,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/java/module.cpp:437,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/java/module.cpp:438,1
    - Dst: NewIntArray
      Src: /src/cryptofuzz/modules/java/module.cpp:440,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/java/module.cpp:440,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:441,1
    - Dst: SetIntArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:442,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/java/module.cpp:442,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/java/module.cpp:442,1
    - Dst: NewByteArray
      Src: /src/cryptofuzz/modules/java/module.cpp:444,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:444,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:445,1
    - Dst: SetByteArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:446,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:446,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:446,1
    - Dst: CallStaticBooleanMethod
      Src: /src/cryptofuzz/modules/java/module.cpp:449,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:458,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:459,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:460,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:461,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 463
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 463
    functionName: cryptofuzz::module::Java::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/java/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - modifier::GetPtr
    - digestType::Get
    - std::optional::size
    - std::vector::push_back
    - modifier::GetSize
    - NewByteArray
    - cryptofuzz::module::Java_detail::SignatureToX509
    - cleartext::GetSize
    - SetByteArrayRegion
    - CF_CHECK_NE
    - std::optional::data
    - SetIntArrayRegion
    - cryptofuzz::module::Java_detail::PubkeyToX509
    - NewIntArray
    - std::vector::data
    - cryptofuzz::util::ToParts
    - DeleteLocalRef
    - CallStaticBooleanMethod
    - CF_ASSERT
    - CF_ECC_CURVE
    - cleartext::GetPtr
    - curveType::Get
    - CF_DIGEST
    - NewStringUTF
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Java::OpECDSA_Verify(operation::ECDSA_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:475,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:478,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:479,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/java/module.cpp:492,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:493,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:494,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:496,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:497,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:499,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:500,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:502,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:503,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/java/module.cpp:505,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:506,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:512,1
    - Dst: NewByteArray
      Src: /src/cryptofuzz/modules/java/module.cpp:514,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:514,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:515,1
    - Dst: SetByteArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:516,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:516,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:516,1
    - Dst: NewByteArray
      Src: /src/cryptofuzz/modules/java/module.cpp:518,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:518,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:519,1
    - Dst: SetByteArrayRegion
      Src: /src/cryptofuzz/modules/java/module.cpp:520,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:520,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:520,1
    - Dst: static_cast<jbyteArray>
      Src: /src/cryptofuzz/modules/java/module.cpp:526,1
    - Dst: CallStaticObjectMethod
      Src: /src/cryptofuzz/modules/java/module.cpp:527,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:532,1
    - Dst: GetArrayLength
      Src: /src/cryptofuzz/modules/java/module.cpp:535,1
    - Dst: GetPrimitiveArrayCritical
      Src: /src/cryptofuzz/modules/java/module.cpp:536,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/java/module.cpp:538,1
    - Dst: ReleasePrimitiveArrayCritical
      Src: /src/cryptofuzz/modules/java/module.cpp:540,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:544,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:545,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:546,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:547,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 551
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 551
    functionName: cryptofuzz::module::Java::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/java/module.cpp
    functionUses: 0
    functionsReached:
    - SetByteArrayRegion
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - password::GetPtr
    - CF_ASSERT
    - DeleteLocalRef
    - static_cast<jbyteArray>
    - digestType::Get
    - salt::GetPtr
    - GetPrimitiveArrayCritical
    - CF_DIGEST
    - NewStringUTF
    - NewByteArray
    - salt::GetSize
    - CallStaticObjectMethod
    - GetArrayLength
    - ReleasePrimitiveArrayCritical
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Java::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/java/module.cpp:555,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/java/module.cpp:555,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/java/module.cpp:563,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:564,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:567,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:570,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:573,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/java/module.cpp:574,1
    - Dst: bn0::IsNegative
      Src: /src/cryptofuzz/modules/java/module.cpp:574,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/java/module.cpp:575,1
    - Dst: bn1::IsNegative
      Src: /src/cryptofuzz/modules/java/module.cpp:575,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:578,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:581,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:584,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:587,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:590,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:593,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:596,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:599,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:602,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:605,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:608,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:611,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:614,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:617,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:620,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/java/module.cpp:621,1
    - Dst: bn1::IsNegative
      Src: /src/cryptofuzz/modules/java/module.cpp:621,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:624,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:627,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/java/module.cpp:628,1
    - Dst: bn0::IsNegative
      Src: /src/cryptofuzz/modules/java/module.cpp:628,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:631,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:634,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:637,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:640,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:647,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/java/module.cpp:647,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:648,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:650,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/java/module.cpp:650,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:651,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/java/module.cpp:653,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/java/module.cpp:653,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:654,1
    - Dst: static_cast<jstring>
      Src: /src/cryptofuzz/modules/java/module.cpp:658,1
    - Dst: CallStaticObjectMethod
      Src: /src/cryptofuzz/modules/java/module.cpp:659,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/java/module.cpp:665,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:666,1
    - Dst: bn2::IsZero
      Src: /src/cryptofuzz/modules/java/module.cpp:670,1
    - Dst: bn2::IsNegative
      Src: /src/cryptofuzz/modules/java/module.cpp:670,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:674,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:677,1
    - Dst: bn1::IsZero
      Src: /src/cryptofuzz/modules/java/module.cpp:681,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:685,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:688,1
    - Dst: bn1::IsZero
      Src: /src/cryptofuzz/modules/java/module.cpp:692,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:696,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:699,1
    - Dst: bn1::IsNegative
      Src: /src/cryptofuzz/modules/java/module.cpp:703,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:707,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:710,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:711,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:712,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/java/module.cpp:713,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/java/module.cpp:717,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:722,1
    - Dst: GetStringUTFChars
      Src: /src/cryptofuzz/modules/java/module.cpp:725,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/java/module.cpp:726,1
    - Dst: ReleaseStringUTFChars
      Src: /src/cryptofuzz/modules/java/module.cpp:727,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/java/module.cpp:730,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:736,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:737,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:738,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/java/module.cpp:739,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 147
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 742
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 742
    functionName: cryptofuzz::module::Java::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/java/module.cpp
    functionUses: 0
    functionsReached:
    - bn2::IsNegative
    - CF_CALCOP
    - static_cast<jstring>
    - modifier::GetPtr
    - CF_CHECK_FALSE
    - bn1::IsNegative
    - modifier::GetSize
    - bn1::IsZero
    - bn1::ToString
    - CF_CHECK_NE
    - bn2::ToString
    - calcOp::Get
    - bn0::ToString
    - std::string
    - GetStringUTFChars
    - DeleteLocalRef
    - CallStaticObjectMethod
    - CF_ASSERT
    - ReleaseStringUTFChars
    - bn0::IsNegative
    - NewStringUTF
    - bn2::IsZero
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Java::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:18,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:18,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:24,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:31,1
    - Dst: JNI_CreateJavaVM
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - jvm
    argTypes:
    - JavaVM**
    constantsTouched: []
    func_position:
      end: 35
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 35
    functionName: cryptofuzz::module::BouncyCastle_detail::create_vm
    functionSourceFile: /src/cryptofuzz/modules/bouncycastle/module.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - std::string
    - CF_ASSERT
    - JNI_CreateJavaVM
    linkageType: ''
    returnType: JNIEnv
    signature: JNIEnv * create_vm(JavaVM ** jvm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::BouncyCastle_detail::create_vm
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:38,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:40,1
    - Dst: FindClass
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:42,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:44,1
    - Dst: GetStaticMethodID
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:46,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:47,1
    - Dst: GetStaticMethodID
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:49,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:54,1
    - Dst: GetStaticMethodID
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:56,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: cryptofuzz::module::BouncyCastle_detail::initialize
    functionSourceFile: /src/cryptofuzz/modules/bouncycastle/module.cpp
    functionUses: 0
    functionsReached:
    - GetStaticMethodID
    - FindClass
    - CF_ASSERT
    - cryptofuzz::module::BouncyCastle_detail::create_vm
    linkageType: ''
    returnType: void
    signature: void initialize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::BouncyCastle_detail::initialize
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: cryptofuzz::module::BouncyCastle::BouncyCastle
    functionSourceFile: /src/cryptofuzz/modules/bouncycastle/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::BouncyCastle_detail::initialize
    linkageType: ''
    returnType: void
    signature: void BouncyCastle::BouncyCastle(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:74,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:74,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:83,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:84,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:85,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:87,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:88,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:90,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:91,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:93,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:94,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:96,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:97,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:99,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:100,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:102,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:103,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:105,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:106,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:108,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:109,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:111,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:112,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:114,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:115,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:117,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:118,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:120,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:121,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:123,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:124,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:126,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:127,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:129,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:130,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:132,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:133,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:135,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:136,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:138,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:139,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:141,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:142,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:144,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:145,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:147,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:148,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:150,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:151,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:153,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:154,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:156,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:157,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:159,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:160,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:162,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:163,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:165,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:166,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:168,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:169,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:171,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:172,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:174,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:175,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:177,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:178,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:181,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:182,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:189,1
    - Dst: NewByteArray
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:191,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:191,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:192,1
    - Dst: SetByteArrayRegion
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:193,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:193,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:193,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:195,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:196,1
    - Dst: NewIntArray
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:198,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:198,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:199,1
    - Dst: SetIntArrayRegion
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:200,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:200,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:200,1
    - Dst: static_cast<jbyteArray>
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:204,1
    - Dst: CallStaticObjectMethod
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:205,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:210,1
    - Dst: GetArrayLength
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:213,1
    - Dst: GetPrimitiveArrayCritical
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:214,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:216,1
    - Dst: ReleasePrimitiveArrayCritical
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:218,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:222,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:223,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:224,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 125
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 228
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 228
    functionName: cryptofuzz::module::BouncyCastle::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/bouncycastle/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - modifier::GetPtr
    - digestType::Get
    - std::vector::push_back
    - modifier::GetSize
    - NewByteArray
    - cleartext::GetSize
    - SetByteArrayRegion
    - SetIntArrayRegion
    - ReleasePrimitiveArrayCritical
    - NewIntArray
    - std::vector::data
    - static_cast<jbyteArray>
    - Botan::PKCS11::LowLevel::C_Digest
    - cryptofuzz::util::ToParts
    - DeleteLocalRef
    - CallStaticObjectMethod
    - CF_ASSERT
    - cleartext::GetPtr
    - GetPrimitiveArrayCritical
    - CF_DIGEST
    - NewStringUTF
    - GetArrayLength
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> BouncyCastle::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:238,1
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:239,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:239,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:241,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:243,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:243,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:244,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:246,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:246,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:247,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:249,1
    - Dst: b::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:249,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:250,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:252,1
    - Dst: b::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:252,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:253,1
    - Dst: static_cast<jstring>
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:257,1
    - Dst: CallStaticObjectMethod
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:258,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:262,1
    - Dst: GetStringUTFChars
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:265,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:266,1
    - Dst: ReleaseStringUTFChars
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:267,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:272,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:272,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:274,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:274,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:280,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:281,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:282,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:283,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:284,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 289
      start: 230
    functionDepth: 3
    functionLinenumber: 230
    functionLinenumberEnd: 289
    functionName: cryptofuzz::module::BouncyCastle::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/bouncycastle/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - b::second::ToTrimmedString
    - CF_CHECK_NE
    - CF_ASSERT
    - static_cast<jstring>
    - Botan::Kyber_Symmetric_Primitives::G_split
    - a::first::ToTrimmedString
    - std::vector::size
    - b::first::ToTrimmedString
    - std::string
    - ReleaseStringUTFChars
    - curveType::Get
    - NewStringUTF
    - a::second::ToTrimmedString
    - GetStringUTFChars
    - DeleteLocalRef
    - CallStaticObjectMethod
    - Botan::CT::Mask::is_any_of
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> BouncyCastle::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:293,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:293,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:301,1
    - Dst: cryptofuzz::repository::ECC_CurveToString
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:302,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:302,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:304,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:306,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:306,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:307,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:309,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:309,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:310,1
    - Dst: NewStringUTF
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:312,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:312,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:313,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:318,1
    - Dst: static_cast<jstring>
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:322,1
    - Dst: CallStaticObjectMethod
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:323,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:327,1
    - Dst: GetStringUTFChars
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:330,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:331,1
    - Dst: ReleaseStringUTFChars
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:332,1
    - Dst: Botan::Kyber_Symmetric_Primitives::G_split
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:337,1
    - Dst: Botan::CT::Mask::is_any_of
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:337,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:339,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:339,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:346,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:347,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:348,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:349,1
    - Dst: DeleteLocalRef
      Src: /src/cryptofuzz/modules/bouncycastle/module.cpp:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 354
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 354
    functionName: cryptofuzz::module::BouncyCastle::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/bouncycastle/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::ECC_CurveToString
    - static_cast<jstring>
    - std::vector::size
    - modifier::GetPtr
    - modifier::GetSize
    - a::second::ToTrimmedString
    - CF_CHECK_NE
    - a::first::ToTrimmedString
    - b::ToTrimmedString
    - Botan::CT::Mask::is_any_of
    - Botan::Kyber_Symmetric_Primitives::G_split
    - std::string
    - GetStringUTFChars
    - DeleteLocalRef
    - CallStaticObjectMethod
    - CF_ASSERT
    - Datasource::Get
    - ReleaseStringUTFChars
    - curveType::Get
    - NewStringUTF
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> BouncyCastle::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: cryptofuzz::module::CryptoPP_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: cryptofuzz::module::CryptoPP_bignum::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: cryptofuzz::module::CryptoPP_bignum::Div::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Div::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: cryptofuzz::module::CryptoPP_bignum::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: a_exp_b_mod_c
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: cryptofuzz::module::CryptoPP_bignum::ExpMod::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - a_exp_b_mod_c
    linkageType: ''
    returnType: bool
    signature: bool ExpMod::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:65,1
    - Dst: a_times_b_mod_c
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: cryptofuzz::module::CryptoPP_bignum::MulMod::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - a_times_b_mod_c
    linkageType: ''
    returnType: bool
    signature: bool MulMod::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InverseMod
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: cryptofuzz::module::CryptoPP_bignum::InvMod::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - InverseMod
    linkageType: ''
    returnType: bool
    signature: bool InvMod::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: cryptofuzz::module::CryptoPP_bignum::Cmp::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: bool Cmp::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Squared
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: cryptofuzz::module::CryptoPP_bignum::Sqr::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Squared
    linkageType: ''
    returnType: bool
    signature: bool Sqr::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCD_ExtGCD
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: cryptofuzz::module::CryptoPP_bignum::GCD::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GCD_ExtGCD
    linkageType: ''
    returnType: bool
    signature: bool GCD::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::CryptoPP::LCM
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: cryptofuzz::module::CryptoPP_bignum::LCM::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - ::CryptoPP::LCM
    linkageType: ''
    returnType: bool
    signature: bool LCM::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:118,1
    - Dst: IsNegative
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:118,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:119,1
    - Dst: IsOdd
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:119,1
    - Dst: toJacobi
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: cryptofuzz::module::CryptoPP_bignum::Jacobi::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - toJacobi
    - IsNegative
    - IsOdd
    linkageType: ''
    returnType: bool
    signature: bool Jacobi::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: cryptofuzz::module::CryptoPP_bignum::Neg::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Neg::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsNegative
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: cryptofuzz::module::CryptoPP_bignum::IsNeg::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - IsNegative
    linkageType: ''
    returnType: bool
    signature: bool IsNeg::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbsoluteValue
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: cryptofuzz::module::CryptoPP_bignum::Abs::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - AbsoluteValue
    linkageType: ''
    returnType: bool
    signature: bool Abs::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: cryptofuzz::module::CryptoPP_bignum::IsEq::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsEq::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: cryptofuzz::module::CryptoPP_bignum::IsGt::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsGt::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: cryptofuzz::module::CryptoPP_bignum::IsGte::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsGte::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: cryptofuzz::module::CryptoPP_bignum::IsLt::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLt::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 189
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 189
    functionName: cryptofuzz::module::CryptoPP_bignum::IsLte::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLte::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsZero
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: cryptofuzz::module::CryptoPP_bignum::IsZero::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - IsZero
    linkageType: ''
    returnType: bool
    signature: bool IsZero::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: And
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: cryptofuzz::module::CryptoPP_bignum::And::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - And
    linkageType: ''
    returnType: bool
    signature: bool And::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Or
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: cryptofuzz::module::CryptoPP_bignum::Or::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Or
    linkageType: ''
    returnType: bool
    signature: bool Or::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xor
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: cryptofuzz::module::CryptoPP_bignum::Xor::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Xor
    linkageType: ''
    returnType: bool
    signature: bool Xor::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsEven
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: cryptofuzz::module::CryptoPP_bignum::IsEven::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - IsEven
    linkageType: ''
    returnType: bool
    signature: bool IsEven::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsOdd
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: cryptofuzz::module::CryptoPP_bignum::IsOdd::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - IsOdd
    linkageType: ''
    returnType: bool
    signature: bool IsOdd::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Squared
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: cryptofuzz::module::CryptoPP_bignum::SqrMod::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Squared
    linkageType: ''
    returnType: bool
    signature: bool SqrMod::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:253,1
    - Dst: IsConvertableToLong
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:253,1
    - Dst: ConvertToLong
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:254,1
    - Dst: GetBit
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 261
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 261
    functionName: cryptofuzz::module::CryptoPP_bignum::Bit::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - IsConvertableToLong
    - GetBit
    - ConvertToLong
    linkageType: ''
    returnType: bool
    signature: bool Bit::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbsoluteValue
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:264,1
    - Dst: AbsoluteValue
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:264,1
    - Dst: std::make_unique<Cmp>
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:265,1
    - Dst: auto::Run
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: cryptofuzz::module::CryptoPP_bignum::CmpAbs::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - auto::Run
    - AbsoluteValue
    - std::make_unique<Cmp>
    linkageType: ''
    returnType: bool
    signature: bool CmpAbs::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:275,1
    - Dst: IsConvertableToLong
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:275,1
    - Dst: ConvertToLong
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:276,1
    - Dst: cryptofuzz::module::CryptoPP_bignum::detail::SetBit
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' res'
    - ' bn'
    - value
    argTypes:
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    - bool
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: cryptofuzz::module::CryptoPP_bignum::detail::SetBit
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 1
    functionsReached:
    - CF_CHECK_EQ
    - IsConvertableToLong
    - ConvertToLong
    - cryptofuzz::module::CryptoPP_bignum::detail::SetBit
    linkageType: ''
    returnType: bool
    signature: bool SetBit(::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn, const bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_bignum::detail::SetBit
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: cryptofuzz::module::CryptoPP_bignum::SetBit::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_bignum::detail::SetBit
    linkageType: ''
    returnType: bool
    signature: bool SetBit::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_bignum::detail::SetBit
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: cryptofuzz::module::CryptoPP_bignum::ClearBit::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_bignum::detail::SetBit
    linkageType: ''
    returnType: bool
    signature: bool ClearBit::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsSquare
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 305
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 305
    functionName: cryptofuzz::module::CryptoPP_bignum::IsSquare::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - IsSquare
    linkageType: ''
    returnType: bool
    signature: bool IsSquare::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SquareRoot
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: cryptofuzz::module::CryptoPP_bignum::Sqrt::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - SquareRoot
    linkageType: ''
    returnType: bool
    signature: bool Sqrt::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BitCount
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: cryptofuzz::module::CryptoPP_bignum::NumBits::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BitCount
    linkageType: ''
    returnType: bool
    signature: bool NumBits::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: cryptofuzz::module::CryptoPP_bignum::LShift1::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LShift1::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:335,1
    - Dst: IsConvertableToLong
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:335,1
    - Dst: ConvertToLong
      Src: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - ::CryptoPP::Integer
    - std::vector<::CryptoPP::Integer>
    constantsTouched: []
    func_position:
      end: 345
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 345
    functionName: cryptofuzz::module::CryptoPP_bignum::RShift::Run
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - IsConvertableToLong
    - CF_CHECK_TRUE
    - ConvertToLong
    linkageType: ''
    returnType: bool
    signature: bool RShift::Run(Datasource& ds, ::CryptoPP::Integer& res, std::vector<::CryptoPP::Integer>&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: cryptofuzz::module::CryptoPP::CryptoPP
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CryptoPP::CryptoPP(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:74,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:75,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:76,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:77,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:78,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:79,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:80,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:81,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:82,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:83,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:84,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:85,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:86,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:87,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:88,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:89,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:90,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:91,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:92,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:93,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:94,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:95,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:96,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:97,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:98,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:99,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:100,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:101,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:102,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:103,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:104,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:105,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:106,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:107,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:108,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:109,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:110,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:111,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:112,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:113,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:114,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:115,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:116,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:117,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:118,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:119,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:120,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:121,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:122,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:123,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:124,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:125,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:126,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:127,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Digest::Compute
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 59
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - In
    constantsTouched: []
    func_position:
      end: 138
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 138
    functionName: cryptofuzz::module::CryptoPP_detail::InvokeByDigest
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Digest::Compute
    - CF_DIGEST
    - digestType::Get
    linkageType: ''
    returnType: std::optional<Ret>
    signature: std::optional<Ret> InvokeByDigest(In& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:146,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:146,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:151,1
    - Dst: DigestAlgorithm::Update
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:155,1
    - Dst: DigestAlgorithm::Final
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:162,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:164,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:165,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:166,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 176
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 176
    functionName: cryptofuzz::module::CryptoPP_detail::Digest::Compute
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 1
    functionsReached:
    - modifier::GetPtr
    - DigestAlgorithm::Final
    - digestType::Get
    - Botan::PKCS11::LowLevel::C_Digest
    - CF_DIGEST
    - modifier::GetSize
    - DigestAlgorithm::Update
    - cryptofuzz::util::ToParts
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Compute(operation::Digest& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CryptoPP_detail::InvokeByDigest<CryptoPP_detail::Digest, component::Digest>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: cryptofuzz::module::CryptoPP::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CryptoPP_detail::InvokeByDigest<CryptoPP_detail::Digest, component::Digest>
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> CryptoPP::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:189,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:189,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:192,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:192,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:193,1
    - Dst: ::CryptoPP::HMAC<Digest>::Update
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:197,1
    - Dst: ::CryptoPP::HMAC<Digest>::Final
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:203,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 209
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 209
    functionName: cryptofuzz::module::CryptoPP_detail::HMAC::Compute
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - ::CryptoPP::HMAC<Digest>::Update
    - modifier::GetPtr
    - ::CryptoPP::HMAC<Digest>::Final
    - modifier::GetSize
    - cipher::key::GetPtr
    - cryptofuzz::util::ToParts
    - Botan_CLI::HMAC::HMAC
    - cipher::key::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Compute(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:214,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:214,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:218,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:218,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:219,1
    - Dst: ::CryptoPP::SipHash<2, 4, Is128Bit>::Update
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:223,1
    - Dst: ::CryptoPP::SipHash<2, 4, Is128Bit>::Final
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:229,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 236
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 236
    functionName: cryptofuzz::module::CryptoPP_detail::SipHash
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - ::CryptoPP::SipHash<2, 4, Is128Bit>::Update
    - modifier::GetPtr
    - ::CryptoPP::SipHash<2, 4, Is128Bit>::Final
    - modifier::GetSize
    - cipher::key::GetPtr
    - cryptofuzz::util::ToParts
    - Botan_CLI::HMAC::HMAC
    - cipher::key::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> SipHash(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:240,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:241,1
    - Dst: CryptoPP_detail::SipHash<false>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:243,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:245,1
    - Dst: CryptoPP_detail::SipHash<true>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:247,1
    - Dst: CryptoPP_detail::InvokeByDigest<CryptoPP_detail::HMAC, component::MAC>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 252
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 252
    functionName: cryptofuzz::module::CryptoPP::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CryptoPP_detail::InvokeByDigest<CryptoPP_detail::HMAC, component::MAC>
    - digestType::Get
    - CF_DIGEST
    - CryptoPP_detail::SipHash<true>
    - CryptoPP_detail::SipHash<false>
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> CryptoPP::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:265,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:265,1
    - Dst: std::make_unique<typename ModeCipher::Encryption>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:275,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:275,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:275,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:277,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:277,1
    - Dst: std::make_unique<typename ModeCipher::Encryption>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:279,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:279,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:279,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:279,1
    - Dst: std::make_unique<typename ModeCipher::Encryption>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:281,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:281,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:281,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:281,1
    - Dst: std::make_unique<::CryptoPP::StreamTransformationFilter>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:285,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:286,1
    - Dst: std::unique_ptr::Put
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:291,1
    - Dst: std::unique_ptr::MessageEnd
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:296,1
    - Dst: std::unique_ptr::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:302,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:302,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:302,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:304,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:304,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:304,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:304,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:306,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:306,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:306,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 313
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 313
    functionName: cryptofuzz::module::CryptoPP_detail::Encrypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::make_unique<::CryptoPP::StreamTransformationFilter>
    - modifier::GetPtr
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - std::unique_ptr::Get
    - cipher::iv::GetPtr
    - std::unique_ptr::Put
    - modifier::GetSize
    - cipher::key::GetPtr
    - Buffer
    - std::make_unique<typename ModeCipher::Encryption>
    - cryptofuzz::util::ToParts
    - std::unique_ptr::MessageEnd
    - cipher::key::GetSize
    - cleartext::GetSize
    - cryptofuzz::component::Ciphertext::Ciphertext
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Encrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:324,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:324,1
    - Dst: std::make_unique<typename ModeCipher::Decryption>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:334,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:334,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:334,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:336,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:336,1
    - Dst: std::make_unique<typename ModeCipher::Decryption>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:338,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:338,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:338,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:338,1
    - Dst: std::make_unique<typename ModeCipher::Decryption>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:340,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:340,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:340,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:340,1
    - Dst: std::make_unique<::CryptoPP::StreamTransformationFilter>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:344,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:345,1
    - Dst: std::unique_ptr::Put
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:350,1
    - Dst: std::unique_ptr::MessageEnd
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:355,1
    - Dst: std::unique_ptr::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:361,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:361,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:361,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:363,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:363,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:364,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:364,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:364,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:364,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:367,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:367,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:367,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:367,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 374
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 374
    functionName: cryptofuzz::module::CryptoPP_detail::Decrypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - ciphertext::GetSize
    - std::make_unique<::CryptoPP::StreamTransformationFilter>
    - modifier::GetPtr
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - std::make_unique<typename ModeCipher::Decryption>
    - std::unique_ptr::Get
    - cipher::iv::GetPtr
    - std::unique_ptr::Put
    - cipher::key::GetPtr
    - modifier::GetSize
    - Buffer
    - cryptofuzz::util::ToParts
    - std::unique_ptr::MessageEnd
    - cipher::key::GetSize
    - component::Cleartext
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Decrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Encrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: cryptofuzz::module::CryptoPP_detail::CryptCFB
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CryptCFB(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Encrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 384
      start: 382
    functionDepth: 3
    functionLinenumber: 382
    functionLinenumberEnd: 384
    functionName: cryptofuzz::module::CryptoPP_detail::CryptECB
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CryptECB(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Encrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: cryptofuzz::module::CryptoPP_detail::CryptCBC
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CryptCBC(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Encrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 3
    functionLinenumber: 392
    functionLinenumberEnd: 394
    functionName: cryptofuzz::module::CryptoPP_detail::CryptCTR
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CryptCTR(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Encrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: cryptofuzz::module::CryptoPP_detail::CryptOFB
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CryptOFB(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Encrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: cryptofuzz::module::CryptoPP_detail::CryptXTS
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CryptXTS(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:408,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:412,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Encrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 416
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 416
    functionName: cryptofuzz::module::CryptoPP_detail::CryptRaw
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Encrypt
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CryptRaw(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Decrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 421
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 421
    functionName: cryptofuzz::module::CryptoPP_detail::CryptCFB
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CryptCFB(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Decrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 426
      start: 424
    functionDepth: 3
    functionLinenumber: 424
    functionLinenumberEnd: 426
    functionName: cryptofuzz::module::CryptoPP_detail::CryptECB
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CryptECB(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Decrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 431
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 431
    functionName: cryptofuzz::module::CryptoPP_detail::CryptCBC
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CryptCBC(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Decrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 436
      start: 434
    functionDepth: 3
    functionLinenumber: 434
    functionLinenumberEnd: 436
    functionName: cryptofuzz::module::CryptoPP_detail::CryptCTR
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CryptCTR(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Decrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 441
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 441
    functionName: cryptofuzz::module::CryptoPP_detail::CryptOFB
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CryptOFB(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_detail::Decrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: cryptofuzz::module::CryptoPP_detail::CryptXTS
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::Decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CryptXTS(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:450,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:454,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Decrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 458
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 458
    functionName: cryptofuzz::module::CryptoPP_detail::CryptRaw
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetSize
    - cryptofuzz::module::CryptoPP_detail::Decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CryptRaw(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:464,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:465,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:468,1
    - Dst: typename Cipher::Encryption::SetKeyWithIV
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:473,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:473,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:473,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:473,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:473,1
    - Dst: typename Cipher::Encryption::EncryptAndAuthenticate
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:474,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:475,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:476,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:477,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:478,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:479,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:480,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:481,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:482,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:483,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:485,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:485,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 489
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 489
    functionName: cryptofuzz::module::CryptoPP_detail::CHACHA20_POLY1305_Encrypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - std::vector::size
    - cipher::key::GetSize
    - std::vector::data
    - typename Cipher::Encryption::EncryptAndAuthenticate
    - cipher::iv::GetSize
    - cleartext::GetPtr
    - aad::GetPtr
    - cipher::iv::GetPtr
    - cipher::key::GetPtr
    - Buffer
    - aad::GetSize
    - typename Cipher::Encryption::SetKeyWithIV
    - cryptofuzz::component::Ciphertext::Ciphertext
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CHACHA20_POLY1305_Encrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:495,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:496,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:499,1
    - Dst: typename Cipher::Decryption::SetKeyWithIV
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:502,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:502,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:502,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:502,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:502,1
    - Dst: typename Cipher::Decryption::DecryptAndVerify
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:504,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:505,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:506,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:507,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:508,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:509,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:510,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:511,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:512,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:513,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:515,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 519
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 519
    functionName: cryptofuzz::module::CryptoPP_detail::CHACHA20_POLY1305_Decrypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - ciphertext::GetSize
    - tag::GetSize
    - typename Cipher::Decryption::SetKeyWithIV
    - cipher::iv::GetSize
    - ciphertext::GetPtr
    - aad::GetPtr
    - cipher::iv::GetPtr
    - cipher::key::GetPtr
    - Buffer
    - aad::GetSize
    - tag::GetPtr
    - cipher::key::GetSize
    - component::Cleartext
    - typename Cipher::Decryption::DecryptAndVerify
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CHACHA20_POLY1305_Decrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:524,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:525,1
    - Dst: ::CryptoPP::GCM<::CryptoPP::AES>::Encryption::SetKeyWithIV
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:531,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:531,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:531,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:531,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:531,1
    - Dst: ::CryptoPP::VectorSink::VectorSink
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:533,1
    - Dst: ::CryptoPP::AuthenticatedEncryptionFilter::ChannelPut
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:535,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:535,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:535,1
    - Dst: ::CryptoPP::AuthenticatedEncryptionFilter::ChannelMessageEnd
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:536,1
    - Dst: ::CryptoPP::AuthenticatedEncryptionFilter::ChannelPut
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:538,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:538,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:538,1
    - Dst: ::CryptoPP::AuthenticatedEncryptionFilter::ChannelMessageEnd
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:539,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:541,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:541,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:541,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:541,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:541,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:541,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 545
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 545
    functionName: cryptofuzz::module::CryptoPP_detail::AES_GCM_Encrypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - ::CryptoPP::VectorSink::VectorSink
    - cleartext::GetPtr
    - cipher::iv::GetSize
    - std::vector::data
    - ::CryptoPP::AuthenticatedEncryptionFilter::ChannelMessageEnd
    - aad::GetPtr
    - cipher::iv::GetPtr
    - ::CryptoPP::GCM<::CryptoPP::AES>::Encryption::SetKeyWithIV
    - cipher::key::GetPtr
    - ::CryptoPP::AuthenticatedEncryptionFilter::ChannelPut
    - Buffer
    - aad::GetSize
    - cipher::key::GetSize
    - cryptofuzz::component::Ciphertext::Ciphertext
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> AES_GCM_Encrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:551,1
    - Dst: typename ::CryptoPP::CCM<::CryptoPP::AES, TagSize>::Encryption::SetKeyWithIV
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:557,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:557,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:557,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:557,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:557,1
    - Dst: typename ::CryptoPP::CCM<::CryptoPP::AES, TagSize>::Encryption::SpecifyDataLengths
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:558,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:558,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:558,1
    - Dst: ::CryptoPP::AuthenticatedEncryptionFilter::ChannelPut
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:562,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:562,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:562,1
    - Dst: ::CryptoPP::AuthenticatedEncryptionFilter::ChannelMessageEnd
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:563,1
    - Dst: ::CryptoPP::AuthenticatedEncryptionFilter::ChannelPut
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:565,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:565,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:565,1
    - Dst: ::CryptoPP::AuthenticatedEncryptionFilter::ChannelMessageEnd
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:566,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:568,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:568,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:568,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:568,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:568,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:568,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 572
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 572
    functionName: cryptofuzz::module::CryptoPP_detail::AES_CCM_Encrypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - typename ::CryptoPP::CCM<::CryptoPP::AES, TagSize>::Encryption::SetKeyWithIV
    - cleartext::GetPtr
    - cipher::iv::GetSize
    - cryptofuzz::component::Ciphertext::Ciphertext
    - std::vector::data
    - ::CryptoPP::AuthenticatedEncryptionFilter::ChannelMessageEnd
    - aad::GetPtr
    - cipher::iv::GetPtr
    - ::CryptoPP::AuthenticatedEncryptionFilter::ChannelPut
    - cipher::key::GetPtr
    - Buffer
    - aad::GetSize
    - cipher::key::GetSize
    - typename ::CryptoPP::CCM<::CryptoPP::AES, TagSize>::Encryption::SpecifyDataLengths
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> AES_CCM_Encrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:577,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:578,1
    - Dst: ::CryptoPP::GCM<::CryptoPP::AES>::Decryption::SetKeyWithIV
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:582,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:582,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:582,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:582,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:582,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:584,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::ChannelPut
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:586,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:586,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:586,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::ChannelPut
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:587,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:587,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:587,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::ChannelPut
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:588,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:588,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:588,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::ChannelMessageEnd
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:590,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::ChannelMessageEnd
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:591,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::SetRetrievalChannel
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:593,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:596,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:596,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:598,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:598,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 603
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 603
    functionName: cryptofuzz::module::CryptoPP_detail::AES_GCM_Decrypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetPtr
    - aad::GetPtr
    - cipher::key::GetPtr
    - ::CryptoPP::AuthenticatedDecryptionFilter::SetRetrievalChannel
    - ::CryptoPP::AuthenticatedDecryptionFilter::Get
    - CF_CHECK_NE
    - ::CryptoPP::AuthenticatedDecryptionFilter::ChannelMessageEnd
    - ciphertext::GetSize
    - ::CryptoPP::GCM<::CryptoPP::AES>::Decryption::SetKeyWithIV
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - std::vector::data
    - tag::GetSize
    - ::CryptoPP::AuthenticatedDecryptionFilter::ChannelPut
    - aad::GetSize
    - tag::GetPtr
    - cipher::key::GetSize
    - Buffer
    - component::Cleartext
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> AES_GCM_Decrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:609,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:610,1
    - Dst: typename ::CryptoPP::CCM<::CryptoPP::AES, TagSize>::Decryption::SetKeyWithIV
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:614,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:614,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:614,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:614,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:614,1
    - Dst: typename ::CryptoPP::CCM<::CryptoPP::AES, TagSize>::Decryption::SpecifyDataLengths
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:615,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:615,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:615,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::ChannelPut
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:619,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:619,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:619,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::ChannelPut
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:620,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:620,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:620,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::ChannelPut
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:621,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:621,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:621,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::ChannelMessageEnd
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:623,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::ChannelMessageEnd
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:624,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::SetRetrievalChannel
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:626,1
    - Dst: ::CryptoPP::AuthenticatedDecryptionFilter::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:629,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:629,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:631,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:631,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 636
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 636
    functionName: cryptofuzz::module::CryptoPP_detail::AES_CCM_Decrypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - ciphertext::GetPtr
    - aad::GetPtr
    - cipher::key::GetPtr
    - ::CryptoPP::AuthenticatedDecryptionFilter::SetRetrievalChannel
    - ::CryptoPP::AuthenticatedDecryptionFilter::Get
    - CF_CHECK_NE
    - ::CryptoPP::AuthenticatedDecryptionFilter::ChannelMessageEnd
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - typename ::CryptoPP::CCM<::CryptoPP::AES, TagSize>::Decryption::SetKeyWithIV
    - std::vector::data
    - tag::GetSize
    - ::CryptoPP::AuthenticatedDecryptionFilter::ChannelPut
    - typename ::CryptoPP::CCM<::CryptoPP::AES, TagSize>::Decryption::SpecifyDataLengths
    - aad::GetSize
    - tag::GetPtr
    - cipher::key::GetSize
    - Buffer
    - component::Cleartext
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> AES_CCM_Decrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:643,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:645,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:647,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna128 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:648,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:652,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:654,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna256 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:655,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:659,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:661,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna512 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:662,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:666,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::DES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:668,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:671,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::DES_EDE3 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:673,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:676,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::IDEA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:678,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:681,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SEED >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:683,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:686,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SM4 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:688,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:691,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:698,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Blowfish >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:700,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:703,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::CAST128 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:705,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:708,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:710,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:711,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:715,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:717,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:718,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:722,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:724,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:725,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:729,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:731,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:732,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:736,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:738,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:739,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:743,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:745,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:746,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:750,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:752,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:753,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:757,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:759,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:760,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:764,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:766,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:767,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:771,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SIMON64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:773,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:777,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SIMON128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:779,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:783,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SPECK64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:785,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:789,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SPECK128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:791,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:795,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Square>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:797,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:800,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::CHAM64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:802,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:805,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::CHAM128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:807,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:810,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SIMECK32>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:812,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:815,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SIMECK64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:817,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:820,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SAFER_K>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:822,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:825,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SAFER_SK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:827,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:832,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:834,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna128, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:835,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:839,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:841,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna256, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:842,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:846,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:848,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna512, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:849,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:853,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::DES, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:855,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:858,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::DES_EDE3, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:860,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:863,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:865,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::AES, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:866,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:870,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:872,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::AES, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:873,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:877,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:879,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::AES, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:880,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:884,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:886,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Camellia, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:887,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:891,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:893,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Camellia, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:894,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:898,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:900,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::Camellia, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:901,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:905,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:907,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::ARIA, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:908,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:912,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:914,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::ARIA, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:915,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:919,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:921,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::ARIA, 1 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:922,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:926,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::HIGHT>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:928,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:931,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::LEA>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:933,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:937,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SKIPJACK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:939,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:943,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::RC6>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:945,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:948,1
    - Dst: CryptoPP_detail::CryptCFB< ::CryptoPP::SHARK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:950,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:955,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:957,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::Kalyna128 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:958,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:962,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:964,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::Kalyna256 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:965,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:969,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:971,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::Kalyna512 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:972,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:976,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::DES_XEX3 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:978,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:981,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::DES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:983,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:986,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::DES_EDE2 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:988,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:991,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::DES_EDE3 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:993,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:996,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::IDEA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:998,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1001,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SEED >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1003,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1006,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SM4 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1008,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1011,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1018,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::Blowfish >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1020,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1023,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::CAST128 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1025,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1028,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1030,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1031,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1035,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1037,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1038,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1042,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1044,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1045,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1049,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1051,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1052,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1056,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1058,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1059,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1063,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1065,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1066,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1070,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1072,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1073,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1077,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1079,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1080,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1084,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1086,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1087,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1091,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::HIGHT>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1093,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1096,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::LEA>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1098,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1102,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SKIPJACK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1104,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1108,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::RC6>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1110,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1113,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SIMON64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1115,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1118,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SIMON128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1120,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1123,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SPECK64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1125,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1128,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SPECK128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1130,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1133,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::Square>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1135,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1138,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::CHAM64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1140,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1143,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::CHAM128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1145,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1148,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SIMECK32>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1150,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1153,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SIMECK64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1155,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1158,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SHARK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1160,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1163,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SAFER_K>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1165,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1168,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::SAFER_SK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1170,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1173,1
    - Dst: CryptoPP_detail::CryptCBC< ::CryptoPP::GOST >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1175,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1180,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1182,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::Kalyna128 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1183,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1187,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1189,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::Kalyna256 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1190,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1194,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1196,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::Kalyna512 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1197,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1201,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::DES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1203,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1206,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::IDEA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1208,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1211,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SEED >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1213,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1216,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SM4 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1218,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1221,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1228,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::Blowfish >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1230,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1233,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::CAST128 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1235,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1238,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1240,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1241,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1245,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1247,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1248,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1252,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1254,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1255,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1259,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1261,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1262,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1266,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1268,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1269,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1273,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1275,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1276,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1280,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1282,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1283,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1287,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1289,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1290,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1294,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1296,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1297,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1301,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::HIGHT>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1303,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1306,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::LEA>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1308,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1312,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SKIPJACK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1314,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1318,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::RC6>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1320,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1323,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SIMON64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1325,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1328,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SIMON128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1330,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1333,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SPECK64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1335,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1338,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SPECK128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1340,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1343,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::Square>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1345,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1348,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::CHAM64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1350,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1353,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::CHAM128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1355,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1358,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SIMECK32>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1360,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1363,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SIMECK64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1365,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1368,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SHARK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1370,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1373,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SAFER_K>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1375,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1378,1
    - Dst: CryptoPP_detail::CryptECB< ::CryptoPP::SAFER_SK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1380,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1385,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1387,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::Kalyna128 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1388,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1392,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1394,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::Kalyna256 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1395,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1399,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1401,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::Kalyna512 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1402,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1406,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SM4 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1408,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1411,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1413,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1414,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1418,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1420,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1421,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1425,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1427,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1428,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1432,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1434,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1435,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1439,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1441,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1442,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1446,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1448,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1449,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1453,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1455,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1456,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1460,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1462,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1463,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1467,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1469,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1470,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1474,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::HIGHT>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1476,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1479,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::LEA>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1481,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1485,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SKIPJACK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1487,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1491,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::RC6>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1493,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1496,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SIMON64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1498,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1501,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SIMON128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1503,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1506,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SPECK64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1508,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1511,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SPECK128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1513,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1516,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::Square>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1518,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1521,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::CHAM64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1523,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1526,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::CHAM128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1528,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1531,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SIMECK32>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1533,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1536,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SIMECK64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1538,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1541,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SHARK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1543,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1546,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SAFER_K>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1548,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1551,1
    - Dst: CryptoPP_detail::CryptCTR< ::CryptoPP::SAFER_SK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1553,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1558,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1560,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::Kalyna128 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1561,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1565,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1567,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::Kalyna256 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1568,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1572,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1574,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::Kalyna512 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1575,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1579,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::DES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1581,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1584,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::DES_EDE2 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1586,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1589,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::DES_EDE3 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1591,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1594,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::IDEA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1596,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1599,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SEED >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1601,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1604,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SM4 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1606,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1609,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1616,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::Blowfish >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1618,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1621,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::CAST128 >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1623,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1626,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1628,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1629,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1633,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1635,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1636,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1640,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1642,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1643,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1647,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1649,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1650,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1654,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1656,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1657,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1661,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1663,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::Camellia >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1664,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1668,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1670,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1671,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1675,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1677,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1678,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1682,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1684,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::ARIA >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1685,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1689,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::HIGHT>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1691,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1694,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::LEA>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1696,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1700,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SKIPJACK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1702,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1706,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::RC6>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1708,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1711,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SIMON64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1713,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1717,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SIMON128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1719,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1724,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SPECK64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1726,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1731,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SPECK128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1733,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1737,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::Square>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1739,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1742,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::CHAM64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1744,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1747,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::CHAM128>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1749,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1752,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SIMECK32>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1754,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1757,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SIMECK64>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1759,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1762,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SHARK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1764,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1767,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SAFER_K>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1769,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1772,1
    - Dst: CryptoPP_detail::CryptOFB< ::CryptoPP::SAFER_SK>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1774,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1779,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1781,1
    - Dst: CryptoPP_detail::CryptXTS< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1782,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1786,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1788,1
    - Dst: CryptoPP_detail::CryptXTS< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1789,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1793,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1795,1
    - Dst: CryptoPP_detail::CryptXTS< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1796,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1805,1
    - Dst: CryptoPP_detail::CryptRaw< ::CryptoPP::AES >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1807,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1810,1
    - Dst: CryptoPP_detail::CryptRaw< ::CryptoPP::Serpent >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1812,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1815,1
    - Dst: CryptoPP_detail::CryptRaw< ::CryptoPP::Twofish >
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1817,1
    CyclomaticComplexity: 273
    EdgeCount: 273
    ICount: 937
    argCount: 2
    argNames:
    - ' op'
    - ' ret'
    argTypes:
    - Operation
    - std::optional<ReturnType>
    constantsTouched: []
    func_position:
      end: 1823
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 1823
    functionName: cryptofuzz::module::CryptoPP_detail::Crypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CryptoPP_detail::CryptOFB< ::CryptoPP::Camellia >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::AES >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SM4 >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SHARK>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SIMECK64>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::Camellia >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SAFER_SK>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SIMON128>
    - CryptoPP_detail::CryptECB< ::CryptoPP::Kalyna128 >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::RC6>
    - CryptoPP_detail::CryptECB< ::CryptoPP::HIGHT>
    - CryptoPP_detail::CryptECB< ::CryptoPP::ARIA >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SIMECK32>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::Camellia >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SAFER_K>
    - CryptoPP_detail::CryptECB< ::CryptoPP::SIMON64>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::CHAM64>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SEED >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SIMECK64>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SIMECK32>
    - CryptoPP_detail::CryptECB< ::CryptoPP::CAST128 >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::Kalyna256 >
    - CryptoPP_detail::CryptECB< ::CryptoPP::SIMON128>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SIMECK32>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna128, 1 >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SAFER_SK>
    - CryptoPP_detail::CryptCTR< ::CryptoPP::CHAM64>
    - cipher::key::GetSize
    - CryptoPP_detail::CryptCFB< ::CryptoPP::HIGHT>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::DES_EDE2 >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::CAST128 >
    - CryptoPP_detail::CryptECB< ::CryptoPP::SPECK64>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::Square>
    - CF_CIPHER
    - CryptoPP_detail::CryptRaw< ::CryptoPP::Serpent >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SEED >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::IDEA >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SPECK128>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::Square>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SPECK64>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::ARIA >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::LEA>
    - CryptoPP_detail::CryptECB< ::CryptoPP::SEED >
    - CryptoPP_detail::CryptECB< ::CryptoPP::Camellia >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SAFER_SK>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SHARK>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SAFER_K>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::ARIA >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SIMON128>
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SM4 >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::Square>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::DES_EDE2 >
    - CryptoPP_detail::CryptXTS< ::CryptoPP::AES >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::DES_EDE3 >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::IDEA >
    - CryptoPP_detail::CryptECB< ::CryptoPP::SIMECK32>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SM4 >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SAFER_K>
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SIMON64>
    - CryptoPP_detail::CryptECB< ::CryptoPP::CHAM128>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna512, 1 >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::Kalyna128 >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::Camellia >
    - cipher::cipherType::Get
    - CryptoPP_detail::CryptCBC< ::CryptoPP::CHAM64>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::LEA>
    - CryptoPP_detail::CryptECB< ::CryptoPP::SAFER_K>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::DES_EDE3 >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SKIPJACK>
    - CryptoPP_detail::CryptECB< ::CryptoPP::AES >
    - CryptoPP_detail::CryptECB< ::CryptoPP::SHARK>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::Blowfish >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SKIPJACK>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::LEA>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SPECK128>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SKIPJACK>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::AES, 1 >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SPECK128>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SIMECK64>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::ARIA, 1 >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::CAST128 >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SAFER_SK>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::DES_EDE3, 1 >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::AES >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::Blowfish >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SIMON128>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SPECK64>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SAFER_K>
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SIMECK32>
    - CryptoPP_detail::CryptCTR< ::CryptoPP::ARIA >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SHARK>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SEED >
    - CryptoPP_detail::CryptECB< ::CryptoPP::IDEA >
    - CryptoPP_detail::CryptECB< ::CryptoPP::Blowfish >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::Kalyna128 >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna128 >
    - CryptoPP_detail::CryptECB< ::CryptoPP::Kalyna512 >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::CHAM128>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::CHAM64>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::IDEA >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::DES >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::CHAM128>
    - CryptoPP_detail::CryptECB< ::CryptoPP::Kalyna256 >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::Kalyna128 >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::Kalyna512 >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::Kalyna256 >
    - CryptoPP_detail::CryptRaw< ::CryptoPP::Twofish >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::GOST >
    - CryptoPP_detail::CryptCTR< ::CryptoPP::CHAM128>
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SPECK64>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::DES, 1 >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SIMON64>
    - CryptoPP_detail::CryptECB< ::CryptoPP::SPECK128>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna256, 1 >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::RC6>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::Blowfish >
    - CryptoPP_detail::CryptECB< ::CryptoPP::SKIPJACK>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SKIPJACK>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SIMON128>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SM4 >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::HIGHT>
    - CryptoPP_detail::CryptCTR< ::CryptoPP::RC6>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::Kalyna512 >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SPECK128>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna256 >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::RC6>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::Square>
    - CryptoPP_detail::CryptECB< ::CryptoPP::SAFER_SK>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SHARK>
    - CryptoPP_detail::CryptRaw< ::CryptoPP::AES >
    - CryptoPP_detail::CryptECB< ::CryptoPP::SM4 >
    - CryptoPP_detail::CryptECB< ::CryptoPP::RC6>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::SPECK64>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::DES >
    - CryptoPP_detail::CryptECB< ::CryptoPP::SIMECK64>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::Kalyna256 >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::SIMON64>
    - CryptoPP_detail::CryptECB< ::CryptoPP::Square>
    - CryptoPP_detail::CryptCTR< ::CryptoPP::SIMECK64>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::LEA>
    - CryptoPP_detail::CryptCFB< ::CryptoPP::Kalyna512 >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::DES_EDE3 >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::Camellia, 1 >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::HIGHT>
    - CryptoPP_detail::CryptCTR< ::CryptoPP::HIGHT>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::AES >
    - CryptoPP_detail::CryptOFB< ::CryptoPP::ARIA >
    - CryptoPP_detail::CryptECB< ::CryptoPP::CHAM64>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::AES >
    - CryptoPP_detail::CryptECB< ::CryptoPP::LEA>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::CAST128 >
    - CryptoPP_detail::CryptCFB< ::CryptoPP::CHAM128>
    - CryptoPP_detail::CryptOFB< ::CryptoPP::SIMON64>
    - CryptoPP_detail::CryptCBC< ::CryptoPP::Kalyna512 >
    - CryptoPP_detail::CryptECB< ::CryptoPP::DES >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::DES_XEX3 >
    - CryptoPP_detail::CryptCBC< ::CryptoPP::DES >
    linkageType: ''
    returnType: void
    signature: void Crypt(Operation& op, std::optional<ReturnType>& ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1829,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1830,1
    - Dst: CryptoPP_detail::CHACHA20_POLY1305_Encrypt<::CryptoPP::ChaCha20Poly1305>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1831,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1832,1
    - Dst: CryptoPP_detail::CHACHA20_POLY1305_Encrypt<::CryptoPP::XChaCha20Poly1305>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1833,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1834,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1835,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1836,1
    - Dst: cryptofuzz::module::CryptoPP_detail::AES_GCM_Encrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1837,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1838,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1839,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1840,1
    - Dst: CryptoPP_detail::AES_CCM_Encrypt<4>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1847,1
    - Dst: CryptoPP_detail::AES_CCM_Encrypt<6>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1849,1
    - Dst: CryptoPP_detail::AES_CCM_Encrypt<8>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1851,1
    - Dst: CryptoPP_detail::AES_CCM_Encrypt<10>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1853,1
    - Dst: CryptoPP_detail::AES_CCM_Encrypt<12>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1855,1
    - Dst: CryptoPP_detail::AES_CCM_Encrypt<14>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1857,1
    - Dst: CryptoPP_detail::AES_CCM_Encrypt<16>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1859,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Crypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 1876
      start: 1826
    functionDepth: 2
    functionLinenumber: 1826
    functionLinenumberEnd: 1876
    functionName: cryptofuzz::module::CryptoPP::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CryptoPP_detail::AES_CCM_Encrypt<10>
    - CryptoPP_detail::AES_CCM_Encrypt<12>
    - CryptoPP_detail::AES_CCM_Encrypt<16>
    - CryptoPP_detail::CHACHA20_POLY1305_Encrypt<::CryptoPP::XChaCha20Poly1305>
    - cipher::cipherType::Get
    - CryptoPP_detail::AES_CCM_Encrypt<14>
    - CF_CIPHER
    - CryptoPP_detail::AES_CCM_Encrypt<6>
    - CryptoPP_detail::AES_CCM_Encrypt<8>
    - cryptofuzz::module::CryptoPP_detail::Crypt
    - CryptoPP_detail::CHACHA20_POLY1305_Encrypt<::CryptoPP::ChaCha20Poly1305>
    - cryptofuzz::module::CryptoPP_detail::AES_GCM_Encrypt
    - CryptoPP_detail::AES_CCM_Encrypt<4>
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> CryptoPP::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1881,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1882,1
    - Dst: CryptoPP_detail::CHACHA20_POLY1305_Decrypt<::CryptoPP::ChaCha20Poly1305>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1883,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1884,1
    - Dst: CryptoPP_detail::CHACHA20_POLY1305_Decrypt<::CryptoPP::XChaCha20Poly1305>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1885,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1886,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1887,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1888,1
    - Dst: cryptofuzz::module::CryptoPP_detail::AES_GCM_Decrypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1889,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1890,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1891,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1892,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1898,1
    - Dst: CryptoPP_detail::AES_CCM_Decrypt<4>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1900,1
    - Dst: CryptoPP_detail::AES_CCM_Decrypt<6>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1902,1
    - Dst: CryptoPP_detail::AES_CCM_Decrypt<8>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1904,1
    - Dst: CryptoPP_detail::AES_CCM_Decrypt<10>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1906,1
    - Dst: CryptoPP_detail::AES_CCM_Decrypt<12>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1908,1
    - Dst: CryptoPP_detail::AES_CCM_Decrypt<14>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1910,1
    - Dst: CryptoPP_detail::AES_CCM_Decrypt<16>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1912,1
    - Dst: cryptofuzz::module::CryptoPP_detail::Crypt
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1926,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 1929
      start: 1878
    functionDepth: 2
    functionLinenumber: 1878
    functionLinenumberEnd: 1929
    functionName: cryptofuzz::module::CryptoPP::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CryptoPP_detail::AES_CCM_Decrypt<6>
    - CryptoPP_detail::AES_CCM_Decrypt<10>
    - CryptoPP_detail::AES_CCM_Decrypt<4>
    - CryptoPP_detail::CHACHA20_POLY1305_Decrypt<::CryptoPP::ChaCha20Poly1305>
    - tag::GetSize
    - cipher::cipherType::Get
    - CF_CIPHER
    - CryptoPP_detail::AES_CCM_Decrypt<14>
    - CryptoPP_detail::CHACHA20_POLY1305_Decrypt<::CryptoPP::XChaCha20Poly1305>
    - cryptofuzz::module::CryptoPP_detail::AES_GCM_Decrypt
    - CryptoPP_detail::AES_CCM_Decrypt<16>
    - cryptofuzz::module::CryptoPP_detail::Crypt
    - CryptoPP_detail::AES_CCM_Decrypt<8>
    - CryptoPP_detail::AES_CCM_Decrypt<12>
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> CryptoPP::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::CryptoPP::HKDF<Digest>::DeriveKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1944,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1947,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1948,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1949,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1950,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1951,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1952,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1957,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1960,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 1963
      start: 1935
    functionDepth: 1
    functionLinenumber: 1935
    functionLinenumberEnd: 1963
    functionName: cryptofuzz::module::CryptoPP_detail::KDF_HKDF::Compute
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - password::GetPtr
    - salt::GetPtr
    - info::GetPtr
    - ::CryptoPP::HKDF<Digest>::DeriveKey
    - salt::GetSize
    - info::GetSize
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Compute(operation::KDF_HKDF& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CryptoPP_detail::InvokeByDigest<CryptoPP_detail::KDF_HKDF, component::Key>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 1969
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1969
    functionName: cryptofuzz::module::CryptoPP::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CryptoPP_detail::InvokeByDigest<CryptoPP_detail::KDF_HKDF, component::Key>
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> CryptoPP::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1978,1
    - Dst: ::CryptoPP::Scrypt::DeriveKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1983,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1986,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1987,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1988,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1989,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:1998,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 2004
      start: 1971
    functionDepth: 1
    functionLinenumber: 1971
    functionLinenumberEnd: 2004
    functionName: cryptofuzz::module::CryptoPP::OpKDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - password::GetPtr
    - salt::GetPtr
    - salt::GetSize
    - ::CryptoPP::Scrypt::DeriveKey
    - password::GetSize
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> CryptoPP::OpKDF_SCRYPT(operation::KDF_SCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::CryptoPP::PKCS5_PBKDF2_HMAC<Digest>::DeriveKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2018,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2022,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2023,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2024,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2025,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2031,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 2037
      start: 2010
    functionDepth: 1
    functionLinenumber: 2010
    functionLinenumberEnd: 2037
    functionName: cryptofuzz::module::CryptoPP_detail::KDF_PBKDF2::Compute
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - password::GetPtr
    - ::CryptoPP::PKCS5_PBKDF2_HMAC<Digest>::DeriveKey
    - salt::GetPtr
    - salt::GetSize
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Compute(operation::KDF_PBKDF2& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::CryptoPP::PKCS12_PBKDF<Digest>::DeriveKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2050,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2054,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2055,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2056,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2057,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2064,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2067,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF
    constantsTouched: []
    func_position:
      end: 2070
      start: 2043
    functionDepth: 1
    functionLinenumber: 2043
    functionLinenumberEnd: 2070
    functionName: cryptofuzz::module::CryptoPP_detail::KDF_PBKDF::Compute
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - password::GetPtr
    - ::CryptoPP::PKCS12_PBKDF<Digest>::DeriveKey
    - salt::GetPtr
    - salt::GetSize
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Compute(operation::KDF_PBKDF& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2087,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2088,1
    - Dst: ::CryptoPP::PKCS5_PBKDF1<Digest>::DeriveKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2092,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2096,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2097,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2098,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2099,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2105,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF1
    constantsTouched: []
    func_position:
      end: 2111
      start: 2076
    functionDepth: 1
    functionLinenumber: 2076
    functionLinenumberEnd: 2111
    functionName: cryptofuzz::module::CryptoPP_detail::KDF_PBKDF1::Compute
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - password::GetPtr
    - ::CryptoPP::PKCS5_PBKDF1<Digest>::DeriveKey
    - salt::GetPtr
    - salt::GetSize
    - password::GetSize
    - CF_CHECK_LTE
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Compute(operation::KDF_PBKDF1& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2118,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2118,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2119,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2119,1
    - Dst: CryptoPP_detail::InvokeByDigest<CryptoPP_detail::KDF_PBKDF, component::Key>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF
    constantsTouched: []
    func_position:
      end: 2124
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2124
    functionName: cryptofuzz::module::CryptoPP::OpKDF_PBKDF
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CryptoPP_detail::InvokeByDigest<CryptoPP_detail::KDF_PBKDF, component::Key>
    - CF_DIGEST
    - digestType::Is
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> CryptoPP::OpKDF_PBKDF(operation::KDF_PBKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CryptoPP_detail::InvokeByDigest<CryptoPP_detail::KDF_PBKDF1, component::Key>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF1
    constantsTouched: []
    func_position:
      end: 2128
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2128
    functionName: cryptofuzz::module::CryptoPP::OpKDF_PBKDF1
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CryptoPP_detail::InvokeByDigest<CryptoPP_detail::KDF_PBKDF1, component::Key>
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> CryptoPP::OpKDF_PBKDF1(operation::KDF_PBKDF1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CryptoPP_detail::InvokeByDigest<CryptoPP_detail::KDF_PBKDF2, component::Key>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 2132
      start: 2130
    functionDepth: 0
    functionLinenumber: 2130
    functionLinenumberEnd: 2132
    functionName: cryptofuzz::module::CryptoPP::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - CryptoPP_detail::InvokeByDigest<CryptoPP_detail::KDF_PBKDF2, component::Key>
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> CryptoPP::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2137,1
    - Dst: ::CryptoPP::ASN1::brainpoolP160r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2137,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2138,1
    - Dst: ::CryptoPP::ASN1::brainpoolP192r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2138,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2139,1
    - Dst: ::CryptoPP::ASN1::brainpoolP224r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2139,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2140,1
    - Dst: ::CryptoPP::ASN1::brainpoolP256r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2140,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2141,1
    - Dst: ::CryptoPP::ASN1::brainpoolP320r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2141,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2142,1
    - Dst: ::CryptoPP::ASN1::brainpoolP384r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2142,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2143,1
    - Dst: ::CryptoPP::ASN1::brainpoolP512r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2143,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2144,1
    - Dst: ::CryptoPP::ASN1::secp112r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2144,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2145,1
    - Dst: ::CryptoPP::ASN1::secp112r2
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2145,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2146,1
    - Dst: ::CryptoPP::ASN1::secp128r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2146,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2147,1
    - Dst: ::CryptoPP::ASN1::secp128r2
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2147,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2148,1
    - Dst: ::CryptoPP::ASN1::secp160k1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2148,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2149,1
    - Dst: ::CryptoPP::ASN1::secp160r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2149,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2150,1
    - Dst: ::CryptoPP::ASN1::secp160r2
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2150,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2151,1
    - Dst: ::CryptoPP::ASN1::secp192k1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2151,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2152,1
    - Dst: Botan::PCurve::PCurveInstance::secp192r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2152,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2153,1
    - Dst: ::CryptoPP::ASN1::secp224k1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2153,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2154,1
    - Dst: Botan::PCurve::PCurveInstance::secp224r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2154,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2155,1
    - Dst: Botan::PCurve::PCurveInstance::secp256k1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2155,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2156,1
    - Dst: Botan::PCurve::PCurveInstance::secp256r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2156,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2157,1
    - Dst: Botan::PCurve::PCurveInstance::secp384r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2157,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2158,1
    - Dst: Botan::PCurve::PCurveInstance::secp521r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2158,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2159,1
    - Dst: ::CryptoPP::ASN1::sect113r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2159,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2160,1
    - Dst: ::CryptoPP::ASN1::sect113r2
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2160,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2161,1
    - Dst: ::CryptoPP::ASN1::sect131r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2161,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2162,1
    - Dst: ::CryptoPP::ASN1::sect131r2
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2162,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2163,1
    - Dst: ::CryptoPP::ASN1::sect163k1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2163,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2164,1
    - Dst: ::CryptoPP::ASN1::sect163r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2164,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2165,1
    - Dst: ::CryptoPP::ASN1::sect163r2
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2165,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2166,1
    - Dst: ::CryptoPP::ASN1::sect193r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2166,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2167,1
    - Dst: ::CryptoPP::ASN1::sect193r2
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2167,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2168,1
    - Dst: ::CryptoPP::ASN1::sect233k1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2168,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2169,1
    - Dst: ::CryptoPP::ASN1::sect233r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2169,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2170,1
    - Dst: ::CryptoPP::ASN1::sect239k1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2170,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2171,1
    - Dst: ::CryptoPP::ASN1::sect283k1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2171,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2172,1
    - Dst: ::CryptoPP::ASN1::sect283r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2172,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2173,1
    - Dst: ::CryptoPP::ASN1::sect409k1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2173,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2174,1
    - Dst: ::CryptoPP::ASN1::sect409r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2174,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2175,1
    - Dst: ::CryptoPP::ASN1::sect571k1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2175,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2176,1
    - Dst: ::CryptoPP::ASN1::sect571r1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2176,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2177,1
    - Dst: Botan::PCurve::PCurveInstance::sm2p256v1
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2177,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2180,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2180,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2180,1
    - Dst: std::exception
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2181,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2184,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 2185
      start: 2135
    functionDepth: 2
    functionLinenumber: 2135
    functionLinenumberEnd: 2185
    functionName: cryptofuzz::module::CryptoPP_detail::ResolveCurve
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - ::CryptoPP::ASN1::sect283r1
    - ::CryptoPP::ASN1::sect233r1
    - ::CryptoPP::ASN1::sect233k1
    - ::CryptoPP::ASN1::brainpoolP256r1
    - ::CryptoPP::ASN1::secp160r1
    - ::CryptoPP::ASN1::sect409r1
    - ::CryptoPP::ASN1::secp128r1
    - ::CryptoPP::ASN1::brainpoolP224r1
    - ::CryptoPP::ASN1::sect163r1
    - ::CryptoPP::ASN1::sect113r2
    - ::CryptoPP::ASN1::sect193r1
    - Botan::PCurve::PCurveInstance::secp521r1
    - Botan::PCurve::PCurveInstance::secp192r1
    - ::CryptoPP::ASN1::brainpoolP192r1
    - ::CryptoPP::ASN1::secp112r2
    - Botan::PCurve::PCurveInstance::secp224r1
    - ::CryptoPP::ASN1::brainpoolP512r1
    - ::CryptoPP::ASN1::sect193r2
    - ::CryptoPP::ASN1::brainpoolP160r1
    - ::CryptoPP::ASN1::secp224k1
    - ::CryptoPP::ASN1::sect163k1
    - ::CryptoPP::ASN1::sect239k1
    - ::CryptoPP::ASN1::sect283k1
    - std::map::end
    - ::CryptoPP::ASN1::sect113r1
    - ::CryptoPP::ASN1::secp112r1
    - ::CryptoPP::ASN1::sect163r2
    - Botan::PCurve::PCurveInstance::secp384r1
    - ::CryptoPP::ASN1::secp128r2
    - ::CryptoPP::ASN1::secp192k1
    - Get
    - ::CryptoPP::ASN1::brainpoolP384r1
    - Botan::PCurve::PCurveInstance::secp256k1
    - ::CryptoPP::ASN1::sect131r1
    - std::map::find
    - std::map::at
    - CF_ECC_CURVE
    - ::CryptoPP::ASN1::secp160r2
    - ::CryptoPP::ASN1::sect571r1
    - Botan::PCurve::PCurveInstance::secp256r1
    - ::CryptoPP::ASN1::secp160k1
    - ::CryptoPP::ASN1::brainpoolP320r1
    - ::CryptoPP::ASN1::sect571k1
    - ::CryptoPP::ASN1::sect131r2
    - ::CryptoPP::ASN1::sect409k1
    - std::exception
    - Botan::PCurve::PCurveInstance::sm2p256v1
    linkageType: ''
    returnType: ::CryptoPP::DL_GroupParameters_EC<::CryptoPP::ECP>
    signature: ::CryptoPP::DL_GroupParameters_EC<::CryptoPP::ECP> & ResolveCurve(const
      component::CurveType& curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2190,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2190,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2195,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2197,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2197,1
    - Dst: ::CryptoPP::Integer::Encode
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2202,1
    - Dst: ::CryptoPP::SecByteBlock::data
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2202,1
    - Dst: ::CryptoPP::SecByteBlock::size
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2202,1
    - Dst: ::CryptoPP::x25519::GeneratePublicKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2206,1
    - Dst: ::CryptoPP::IntToString<>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2210,1
    - Dst: cryptofuzz::module::CryptoPP_detail::ResolveCurve
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2213,1
    - Dst: ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PrivateKey::Initialize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2214,1
    - Dst: ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PrivateKey::MakePublicKey
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2219,1
    - Dst: ::CryptoPP::IntToString<>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2222,1
    - Dst: ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PublicKey::GetPublicElement
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2222,1
    - Dst: ::CryptoPP::IntToString<>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2223,1
    - Dst: ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PublicKey::GetPublicElement
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 2229
      start: 2188
    functionDepth: 3
    functionLinenumber: 2188
    functionLinenumberEnd: 2229
    functionName: cryptofuzz::module::CryptoPP::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::ResolveCurve
    - ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PrivateKey::MakePublicKey
    - modifier::GetPtr
    - CF_ECC_CURVE
    - curveType::Get
    - ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PublicKey::GetPublicElement
    - ::CryptoPP::x25519::GeneratePublicKey
    - modifier::GetSize
    - ::CryptoPP::SecByteBlock::size
    - ::CryptoPP::IntToString<>
    - ::CryptoPP::SecByteBlock::data
    - ::CryptoPP::Integer::Encode
    - ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PrivateKey::Initialize
    - priv::ToString
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> CryptoPP::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2233,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2233,1
    - Dst: cryptofuzz::module::CryptoPP_detail::ResolveCurve
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2238,1
    - Dst: ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PublicKey::Initialize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2240,1
    - Dst: Botan::EC_AffinePoint::EC_AffinePoint
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2242,1
    - Dst: ::CryptoPP::Integer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2243,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2243,1
    - Dst: ::CryptoPP::Integer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2244,1
    - Dst: pub::second::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2244,1
    - Dst: ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PublicKey::Validate
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 2256
      start: 2231
    functionDepth: 3
    functionLinenumber: 2231
    functionLinenumberEnd: 2256
    functionName: cryptofuzz::module::CryptoPP::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::ResolveCurve
    - pub::first::ToString
    - modifier::GetPtr
    - ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PublicKey::Initialize
    - modifier::GetSize
    - ::CryptoPP::Integer
    - pub::second::ToString
    - Botan::EC_AffinePoint::EC_AffinePoint
    - ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PublicKey::Validate
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> CryptoPP::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2262,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2262,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2264,1
    - Dst: pub::first::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2265,1
    - Dst: signature::first::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2266,1
    - Dst: signature::second::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2267,1
    - Dst: cryptofuzz::module::CryptoPP_detail::ResolveCurve
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2275,1
    - Dst: ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PublicKey::Initialize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2276,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2285,1
    - Dst: ::CryptoPP::Integer::Encode
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2288,1
    - Dst: ::CryptoPP::Integer::Encode
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2289,1
    - Dst: ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::Verifier::VerifyMessage
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2292,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2292,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 2299
      start: 2258
    functionDepth: 3
    functionLinenumber: 2258
    functionLinenumberEnd: 2299
    functionName: cryptofuzz::module::CryptoPP::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_detail::ResolveCurve
    - pub::first::ToString
    - modifier::GetPtr
    - cleartext::GetPtr
    - signature::second::ToString
    - abort
    - ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::PublicKey::Initialize
    - modifier::GetSize
    - signature::first::ToString
    - ::CryptoPP::Integer::Encode
    - ::CryptoPP::ECDSA<::CryptoPP::ECP, ::CryptoPP::SHA256>::Verifier::VerifyMessage
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> CryptoPP::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2303,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2303,1
    - Dst: ::CryptoPP::Integer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2307,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2307,1
    - Dst: ::CryptoPP::Integer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2308,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2308,1
    - Dst: ::CryptoPP::Integer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2309,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2309,1
    - Dst: ::CryptoPP::Integer
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2310,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2310,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2314,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2315,1
    - Dst: std::make_unique<CryptoPP_bignum::Add>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2316,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2318,1
    - Dst: std::make_unique<CryptoPP_bignum::Sub>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2319,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2321,1
    - Dst: std::make_unique<CryptoPP_bignum::Mul>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2322,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2324,1
    - Dst: std::make_unique<CryptoPP_bignum::Div>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2325,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2327,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2329,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2329,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2330,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2330,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2331,1
    - Dst: bn2::GetSize
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2331,1
    - Dst: std::make_unique<CryptoPP_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2333,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2335,1
    - Dst: std::make_unique<CryptoPP_bignum::Sqr>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2336,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2338,1
    - Dst: std::make_unique<CryptoPP_bignum::GCD>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2339,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2341,1
    - Dst: std::make_unique<CryptoPP_bignum::SqrMod>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2342,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2344,1
    - Dst: std::make_unique<CryptoPP_bignum::InvMod>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2345,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2347,1
    - Dst: std::make_unique<CryptoPP_bignum::MulMod>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2348,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2350,1
    - Dst: std::make_unique<CryptoPP_bignum::Cmp>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2351,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2353,1
    - Dst: std::make_unique<CryptoPP_bignum::LCM>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2354,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2356,1
    - Dst: std::make_unique<CryptoPP_bignum::Abs>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2357,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2359,1
    - Dst: std::make_unique<CryptoPP_bignum::Jacobi>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2360,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2362,1
    - Dst: std::make_unique<CryptoPP_bignum::Neg>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2363,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2365,1
    - Dst: std::make_unique<CryptoPP_bignum::IsNeg>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2366,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2368,1
    - Dst: std::make_unique<CryptoPP_bignum::IsEq>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2369,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2371,1
    - Dst: std::make_unique<CryptoPP_bignum::IsGt>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2372,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2374,1
    - Dst: std::make_unique<CryptoPP_bignum::IsGte>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2375,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2377,1
    - Dst: std::make_unique<CryptoPP_bignum::IsLt>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2378,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2380,1
    - Dst: std::make_unique<CryptoPP_bignum::IsLte>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2381,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2383,1
    - Dst: std::make_unique<CryptoPP_bignum::IsZero>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2384,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2386,1
    - Dst: std::make_unique<CryptoPP_bignum::And>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2387,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2389,1
    - Dst: std::make_unique<CryptoPP_bignum::Or>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2390,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2392,1
    - Dst: std::make_unique<CryptoPP_bignum::Xor>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2393,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2395,1
    - Dst: std::make_unique<CryptoPP_bignum::IsEven>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2396,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2398,1
    - Dst: std::make_unique<CryptoPP_bignum::IsOdd>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2399,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2401,1
    - Dst: std::make_unique<CryptoPP_bignum::Bit>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2402,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2404,1
    - Dst: std::make_unique<CryptoPP_bignum::CmpAbs>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2405,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2407,1
    - Dst: std::make_unique<CryptoPP_bignum::SetBit>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2408,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2410,1
    - Dst: std::make_unique<CryptoPP_bignum::ClearBit>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2411,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2413,1
    - Dst: std::make_unique<CryptoPP_bignum::IsSquare>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2414,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2416,1
    - Dst: std::make_unique<CryptoPP_bignum::Sqrt>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2417,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2419,1
    - Dst: std::make_unique<CryptoPP_bignum::NumBits>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2420,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2422,1
    - Dst: std::make_unique<CryptoPP_bignum::LShift1>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2423,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2425,1
    - Dst: std::make_unique<CryptoPP_bignum::RShift>
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2426,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2430,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2433,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2433,1
    - Dst: IntToString
      Src: /src/cryptofuzz/modules/cryptopp/module.cpp:2438,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 125
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 2443
      start: 2301
    functionDepth: 1
    functionLinenumber: 2301
    functionLinenumberEnd: 2443
    functionName: cryptofuzz::module::CryptoPP::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CryptoPP_bignum::Neg>
    - CF_CALCOP
    - std::make_unique<CryptoPP_bignum::IsNeg>
    - std::make_unique<CryptoPP_bignum::Add>
    - std::make_unique<CryptoPP_bignum::Bit>
    - modifier::GetPtr
    - std::make_unique<CryptoPP_bignum::Or>
    - std::make_unique<CryptoPP_bignum::IsLt>
    - CF_CHECK_LT
    - bn0::GetSize
    - modifier::GetSize
    - std::make_unique<CryptoPP_bignum::IsGte>
    - std::make_unique<CryptoPP_bignum::ClearBit>
    - std::make_unique<CryptoPP_bignum::Sqr>
    - std::make_unique<CryptoPP_bignum::ExpMod>
    - bn1::ToString
    - std::make_unique<CryptoPP_bignum::Cmp>
    - std::make_unique<CryptoPP_bignum::Xor>
    - bn3::ToString
    - std::make_unique<CryptoPP_bignum::And>
    - std::make_unique<CryptoPP_bignum::IsEven>
    - CF_CHECK_NE
    - std::make_unique<CryptoPP_bignum::IsEq>
    - std::make_unique<CryptoPP_bignum::RShift>
    - bn1::GetSize
    - std::make_unique<CryptoPP_bignum::IsZero>
    - std::make_unique<CryptoPP_bignum::GCD>
    - bn2::ToString
    - std::make_unique<CryptoPP_bignum::LShift1>
    - std::make_unique<CryptoPP_bignum::Div>
    - calcOp::Get
    - bn2::GetSize
    - std::make_unique<CryptoPP_bignum::Sub>
    - bn0::ToString
    - std::make_unique<CryptoPP_bignum::Abs>
    - std::make_unique<CryptoPP_bignum::MulMod>
    - std::make_unique<CryptoPP_bignum::LCM>
    - std::make_unique<CryptoPP_bignum::NumBits>
    - CF_CHECK_EQ
    - std::make_unique<CryptoPP_bignum::SetBit>
    - std::make_unique<CryptoPP_bignum::Jacobi>
    - std::make_unique<CryptoPP_bignum::IsSquare>
    - ::CryptoPP::Integer
    - std::make_unique<CryptoPP_bignum::IsGt>
    - std::unique_ptr::Run
    - IntToString
    - std::make_unique<CryptoPP_bignum::IsLte>
    - std::make_unique<CryptoPP_bignum::InvMod>
    - std::make_unique<CryptoPP_bignum::CmpAbs>
    - std::make_unique<CryptoPP_bignum::IsOdd>
    - std::make_unique<CryptoPP_bignum::Mul>
    - std::make_unique<CryptoPP_bignum::SqrMod>
    - std::make_unique<CryptoPP_bignum::Sqrt>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> CryptoPP::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/cryptopp/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: cryptofuzz::module::CPU::CPU
    functionSourceFile: /src/cryptofuzz/modules/cpu/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPU::CPU(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/cpu/module.cpp:37,1
    - Dst: ToTrimmedString
      Src: /src/cryptofuzz/modules/cpu/module.cpp:37,1
    - Dst: std::reverse
      Src: /src/cryptofuzz/modules/cpu/module.cpp:42,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/cpu/module.cpp:42,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/cpu/module.cpp:42,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/cpu/module.cpp:43,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/cpu/module.cpp:43,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/cpu/module.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' bn'
    argTypes:
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: cryptofuzz::module::CPU_detail::Load
    functionSourceFile: /src/cryptofuzz/modules/cpu/module.cpp
    functionUses: 0
    functionsReached:
    - ToTrimmedString
    - auto::size
    - std::reverse
    - auto::begin
    - memcpy
    - auto::data
    - cryptofuzz::util::DecToBin
    - auto::end
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> Load(const component::Bignum& bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cpu/module.cpp:50,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cpu/module.cpp:50,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/cpu/module.cpp:52,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/cpu/module.cpp:52,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/cpu/module.cpp:53,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cpu/module.cpp:53,1
    - Dst: cryptofuzz_asm_crc32
      Src: /src/cryptofuzz/modules/cpu/module.cpp:57,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/cpu/module.cpp:58,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/cpu/module.cpp:59,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/cpu/module.cpp:60,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/cpu/module.cpp:60,1
    - Dst: std::array::size
      Src: /src/cryptofuzz/modules/cpu/module.cpp:60,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/cpu/module.cpp:61,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/cpu/module.cpp:62,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/cpu/module.cpp:62,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/cpu/module.cpp:62,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/cpu/module.cpp:63,1
    - Dst: std::array::data
      Src: /src/cryptofuzz/modules/cpu/module.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: cryptofuzz::module::CPU::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/cpu/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - std::array::data
    - memcmp
    - modifier::GetPtr
    - cleartext::GetPtr
    - CF_CHECK_EQ
    - digestType::Is
    - Botan::PKCS11::LowLevel::C_Digest
    - CF_DIGEST
    - memcpy
    - modifier::GetSize
    - cryptofuzz_asm_crc32
    - std::array::size
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> CPU::OpDigest(operation::Digest& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/cpu/module.cpp:72,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/cpu/module.cpp:72,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/cpu/module.cpp:75,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/cpu/module.cpp:80,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:81,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:83,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:84,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:86,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:87,1
    - Dst: cryptofuzz_asm_add
      Src: /src/cryptofuzz/modules/cpu/module.cpp:89,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:92,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:94,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:95,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:97,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:98,1
    - Dst: cryptofuzz_asm_sub
      Src: /src/cryptofuzz/modules/cpu/module.cpp:100,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:103,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:105,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:106,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:108,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:109,1
    - Dst: cryptofuzz_asm_mul
      Src: /src/cryptofuzz/modules/cpu/module.cpp:111,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:114,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:116,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:117,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:119,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:120,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:122,1
    - Dst: cryptofuzz_asm_div
      Src: /src/cryptofuzz/modules/cpu/module.cpp:124,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:127,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:129,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:130,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:132,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:133,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:135,1
    - Dst: cryptofuzz_asm_mod
      Src: /src/cryptofuzz/modules/cpu/module.cpp:137,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:140,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:142,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:143,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:145,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:146,1
    - Dst: cryptofuzz_asm_or
      Src: /src/cryptofuzz/modules/cpu/module.cpp:148,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:151,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:153,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:154,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:156,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:157,1
    - Dst: cryptofuzz_asm_xor
      Src: /src/cryptofuzz/modules/cpu/module.cpp:159,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:162,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:164,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:165,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:167,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:168,1
    - Dst: cryptofuzz_asm_and
      Src: /src/cryptofuzz/modules/cpu/module.cpp:170,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:173,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:175,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:176,1
    - Dst: CPU_detail::Load<uint8_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:178,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:179,1
    - Dst: cryptofuzz_asm_shr
      Src: /src/cryptofuzz/modules/cpu/module.cpp:181,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:184,1
    - Dst: CPU_detail::Load<size_t>
      Src: /src/cryptofuzz/modules/cpu/module.cpp:186,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/cpu/module.cpp:187,1
    - Dst: cryptofuzz_asm_bsr
      Src: /src/cryptofuzz/modules/cpu/module.cpp:188,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/cpu/module.cpp:191,1
    - Dst: cryptofuzz_asm_rdrand
      Src: /src/cryptofuzz/modules/cpu/module.cpp:192,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/cpu/module.cpp:197,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 76
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 202
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 202
    functionName: cryptofuzz::module::CPU::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/cpu/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - modifier::GetPtr
    - std::to_string
    - cryptofuzz_asm_or
    - modifier::GetSize
    - cryptofuzz_asm_bsr
    - cryptofuzz_asm_shr
    - CF_CHECK_NE
    - cryptofuzz_asm_xor
    - cryptofuzz_asm_mod
    - modulo::ToTrimmedString
    - calcOp::Get
    - cryptofuzz_asm_add
    - CPU_detail::Load<size_t>
    - cryptofuzz_asm_rdrand
    - CPU_detail::Load<uint8_t>
    - cryptofuzz_asm_mul
    - cryptofuzz_asm_div
    - cryptofuzz_asm_and
    - cryptofuzz_asm_sub
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> CPU::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: cryptofuzz::module::CPU::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/cpu/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CPU::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: cryptofuzz::module::intx::intx
    functionSourceFile: /src/cryptofuzz/modules/intx/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void intx::intx(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/intx/module.cpp:15,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/intx/module.cpp:15,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/intx/module.cpp:21,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/intx/module.cpp:21,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/intx/module.cpp:21,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/intx/module.cpp:22,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/intx/module.cpp:22,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/intx/module.cpp:22,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/intx/module.cpp:23,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/intx/module.cpp:23,1
    - Dst: bn2::ToTrimmedString
      Src: /src/cryptofuzz/modules/intx/module.cpp:23,1
    - Dst: ::intx::be::unsafe::load<T>
      Src: /src/cryptofuzz/modules/intx/module.cpp:26,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/intx/module.cpp:26,1
    - Dst: ::intx::be::unsafe::load<T>
      Src: /src/cryptofuzz/modules/intx/module.cpp:27,1
    - Dst: data
      Src: /src/cryptofuzz/modules/intx/module.cpp:27,1
    - Dst: ::intx::be::unsafe::load<T>
      Src: /src/cryptofuzz/modules/intx/module.cpp:28,1
    - Dst: data
      Src: /src/cryptofuzz/modules/intx/module.cpp:28,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/intx/module.cpp:30,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:31,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:34,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:37,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/intx/module.cpp:38,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:41,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:44,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/intx/module.cpp:45,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:48,1
    - Dst: Botan::sha256_msg_exp
      Src: /src/cryptofuzz/modules/intx/module.cpp:49,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:51,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:54,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:57,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:60,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:63,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:66,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:69,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:72,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:75,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:78,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:81,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:84,1
    - Dst: ::intx::clz
      Src: /src/cryptofuzz/modules/intx/module.cpp:85,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:87,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:90,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:93,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:96,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:99,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/intx/module.cpp:100,1
    - Dst: ::intx::addmod
      Src: /src/cryptofuzz/modules/intx/module.cpp:103,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:108,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/intx/module.cpp:109,1
    - Dst: ::intx::mulmod
      Src: /src/cryptofuzz/modules/intx/module.cpp:112,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/intx/module.cpp:117,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/intx/module.cpp:118,1
    - Dst: sdivrem
      Src: /src/cryptofuzz/modules/intx/module.cpp:119,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/intx/module.cpp:129,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/intx/module.cpp:131,1
    - Dst: from_hex
      Src: /src/cryptofuzz/modules/intx/module.cpp:136,1
    - Dst: ctt_codec_scalar_status_to_string
      Src: /src/cryptofuzz/modules/intx/module.cpp:136,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/intx/module.cpp:137,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/intx/module.cpp:137,1
    - Dst: ::intx::from_string<T>
      Src: /src/cryptofuzz/modules/intx/module.cpp:138,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/intx/module.cpp:142,1
    - Dst: Botan_Tests::Utility_Function_Tests::test_loadstore
      Src: /src/cryptofuzz/modules/intx/module.cpp:142,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/intx/module.cpp:143,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 119
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 147
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 147
    functionName: cryptofuzz::module::intx_detail::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/intx/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - modifier::GetPtr
    - ::intx::from_string<T>
    - modifier::GetSize
    - CF_CHECK_NE
    - std::optional::data
    - data
    - calcOp::Get
    - cryptofuzz::util::DecToBin
    - bn0::ToTrimmedString
    - bn2::ToTrimmedString
    - Botan_Tests::Utility_Function_Tests::test_loadstore
    - bn1::ToTrimmedString
    - std::string
    - sdivrem
    - cryptofuzz::util::BinToDec
    - Botan::sha256_msg_exp
    - from_hex
    - ::intx::addmod
    - ctt_codec_scalar_status_to_string
    - CF_NORET
    - ::intx::mulmod
    - Datasource::Get
    - ::intx::clz
    - ::intx::be::unsafe::load<T>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/intx/module.cpp:153,1
    - Dst: intx_detail::OpBignumCalc<::intx::uint128, 16>
      Src: /src/cryptofuzz/modules/intx/module.cpp:154,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/intx/module.cpp:155,1
    - Dst: intx_detail::OpBignumCalc<::intx::uint256, 32>
      Src: /src/cryptofuzz/modules/intx/module.cpp:156,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/intx/module.cpp:157,1
    - Dst: intx_detail::OpBignumCalc<::intx::uint512, 64>
      Src: /src/cryptofuzz/modules/intx/module.cpp:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: cryptofuzz::module::intx::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/intx/module.cpp
    functionUses: 0
    functionsReached:
    - intx_detail::OpBignumCalc<::intx::uint256, 32>
    - modulo::ToTrimmedString
    - intx_detail::OpBignumCalc<::intx::uint512, 64>
    - intx_detail::OpBignumCalc<::intx::uint128, 16>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> intx::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: cryptofuzz::module::intx::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/intx/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool intx::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: cryptofuzz::module::rust_libsecp256k1::rust_libsecp256k1
    functionSourceFile: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rust_libsecp256k1::rust_libsecp256k1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:23,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:23,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:27,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:27,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:28,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:29,1
    - Dst: parity_libsecp256k1_ecc_privatetopublic
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:29,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:29,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:30,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: cryptofuzz::module::rust_libsecp256k1::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - parity_libsecp256k1_ecc_privatetopublic
    - curveType::Is
    - CF_ECC_CURVE
    - priv::ToTrimmedString
    - cryptofuzz::util::BinToDec
    - auto::data
    - cryptofuzz::util::DecToBin
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> rust_libsecp256k1::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:37,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:37,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:42,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:42,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:43,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:43,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:44,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:45,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:46,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:46,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:47,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:47,1
    - Dst: parity_libsecp256k1_validate_pubkey
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: cryptofuzz::module::rust_libsecp256k1::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - curveType::Is
    - CF_ECC_CURVE
    - pub::first::ToTrimmedString
    - memcpy
    - pub::second::ToTrimmedString
    - auto::data
    - cryptofuzz::util::DecToBin
    - parity_libsecp256k1_validate_pubkey
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> rust_libsecp256k1::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:55,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:55,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:58,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:66,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:66,1
    - Dst: cleartext::ECDSA_Pad
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:67,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:68,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:68,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:69,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:74,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:74,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:75,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:77,1
    - Dst: parity_libsecp256k1_ecc_privatetopublic
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:77,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:77,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:78,1
    - Dst: parity_libsecp256k1_ecdsa_sign
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:78,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:78,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:78,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:84,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:84,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:89,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:90,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:90,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:91,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 97
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 97
    functionName: cryptofuzz::module::rust_libsecp256k1::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - Buffer::GetPtr
    - cleartext::SHA256
    - curveType::Is
    - parity_libsecp256k1_ecc_privatetopublic
    - CF_ECC_CURVE
    - memcmp
    - digestType::Is
    - priv::ToTrimmedString
    - cryptofuzz::tests::test_ECDSA_Signature
    - CF_DIGEST
    - auto::data
    - cryptofuzz::util::BinToDec
    - UseRFC6979Nonce
    - cleartext::ECDSA_Pad
    - cryptofuzz::util::DecToBin
    - CF_CHECK_TRUE
    - parity_libsecp256k1_ecdsa_sign
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> rust_libsecp256k1::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:101,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:101,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:108,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:108,1
    - Dst: cleartext::ECDSA_Pad
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:109,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:110,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:110,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:111,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:119,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:119,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:120,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:120,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:121,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:122,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:123,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:123,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:124,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:124,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:129,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:129,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:130,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:130,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:131,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:132,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:133,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:133,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:134,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:134,1
    - Dst: parity_libsecp256k1_ecdsa_verify
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:137,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 141
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 141
    functionName: cryptofuzz::module::rust_libsecp256k1::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - signature::pub::second::ToTrimmedString
    - signature::pub::first::ToTrimmedString
    - CF_CHECK_NE
    - Buffer::GetPtr
    - cleartext::SHA256
    - curveType::Is
    - parity_libsecp256k1_ecdsa_verify
    - CF_ECC_CURVE
    - digestType::Is
    - signature::signature::first::ToTrimmedString
    - CF_DIGEST
    - memcpy
    - auto::data
    - cleartext::ECDSA_Pad
    - cryptofuzz::util::DecToBin
    - signature::signature::second::ToTrimmedString
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> rust_libsecp256k1::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:145,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:145,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:153,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:153,1
    - Dst: cleartext::ECDSA_Pad
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:154,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:155,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:155,1
    - Dst: cleartext::SHA256
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:156,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:163,1
    - Dst: signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:163,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:164,1
    - Dst: signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:164,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:165,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:166,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:167,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:167,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:168,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:168,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:171,1
    - Dst: parity_libsecp256k1_ecdsa_recover
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:171,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:171,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:173,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Recover
    constantsTouched: []
    func_position:
      end: 177
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 177
    functionName: cryptofuzz::module::rust_libsecp256k1::OpECDSA_Recover
    functionSourceFile: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - Buffer::GetPtr
    - cleartext::SHA256
    - curveType::Is
    - CF_ECC_CURVE
    - digestType::Is
    - signature::first::ToTrimmedString
    - signature::second::ToTrimmedString
    - CF_DIGEST
    - memcpy
    - auto::data
    - parity_libsecp256k1_ecdsa_recover
    - cleartext::ECDSA_Pad
    - cryptofuzz::util::DecToBin
    - cryptofuzz::util::BinToDec
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> rust_libsecp256k1::OpECDSA_Recover(operation::ECDSA_Recover&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:181,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:181,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:188,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:188,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:189,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:193,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:193,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:194,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:194,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:195,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:196,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:197,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:197,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:198,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:198,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:201,1
    - Dst: parity_libsecp256k1_ecdh_derive
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:201,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:201,1
    - Dst: Botan::TLS::Extended_Master_Secret::Extended_Master_Secret
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:203,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDH_Derive
    constantsTouched: []
    func_position:
      end: 207
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 207
    functionName: cryptofuzz::module::rust_libsecp256k1::OpECDH_Derive
    functionSourceFile: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Extended_Master_Secret::Extended_Master_Secret
    - CF_CHECK_NE
    - curveType::Is
    - CF_ECC_CURVE
    - priv::ToTrimmedString
    - pub::first::ToTrimmedString
    - memcpy
    - pub::second::ToTrimmedString
    - auto::data
    - cryptofuzz::util::DecToBin
    - parity_libsecp256k1_ecdh_derive
    - Buffer
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::Secret>
    signature: std::optional<component::Secret> rust_libsecp256k1::OpECDH_Derive(operation::ECDH_Derive&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:211,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:211,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:218,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:218,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:219,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:223,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:223,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:224,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:224,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:225,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:226,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:227,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:227,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:228,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:228,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:231,1
    - Dst: parity_libsecp256k1_ecc_point_mul
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:231,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:231,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:233,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 237
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 237
    functionName: cryptofuzz::module::rust_libsecp256k1::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/rust-libsecp256k1/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - curveType::Is
    - a::first::ToTrimmedString
    - CF_ECC_CURVE
    - cryptofuzz::util::BinToDec
    - memcpy
    - auto::data
    - cryptofuzz::util::DecToBin
    - a::second::ToTrimmedString
    - b::ToTrimmedString
    - CF_CHECK_TRUE
    - parity_libsecp256k1_ecc_point_mul
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> rust_libsecp256k1::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::circl::circl
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void circl::circl(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: circl_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/circl/module.cpp:19,1
    - Dst: free
      Src: /src/cryptofuzz/modules/circl/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::circl::getResult
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - free
    - circl_Cryptofuzz_GetResult
    linkageType: ''
    returnType: std::string
    signature: std::string circl::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::circl::getResult
      Src: /src/cryptofuzz/modules/circl/module.cpp:26,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/circl/module.cpp:27,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/circl/module.cpp:32,1
    - Dst: cryptofuzz::module::circl::getResult
      Src: /src/cryptofuzz/modules/circl/module.cpp:32,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/circl/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::circl::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::circl::getResult
    - auto::empty
    - abort
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> circl::getJsonResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::circl::getJsonResult
      Src: /src/cryptofuzz/modules/circl/module.cpp:42,1
    - Dst: T
      Src: /src/cryptofuzz/modules/circl/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::circl::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::circl::getJsonResult
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> circl::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/circl/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/circl/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/circl/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/circl/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/circl/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - static_cast<GoInt>
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:55,1
    - Dst: circl_Cryptofuzz_OpECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/circl/module.cpp:56,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:56,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: cryptofuzz::module::circl::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::circl::getResultAs
    - circl_Cryptofuzz_OpECC_PrivateToPublic
    - toGoSlice
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> circl::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:62,1
    - Dst: circl_Cryptofuzz_OpECC_Point_Add
      Src: /src/cryptofuzz/modules/circl/module.cpp:63,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:63,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: cryptofuzz::module::circl::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::circl::getResultAs
    - circl_Cryptofuzz_OpECC_Point_Add
    - toGoSlice
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> circl::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:69,1
    - Dst: circl_Cryptofuzz_OpECC_Point_Mul
      Src: /src/cryptofuzz/modules/circl/module.cpp:70,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:70,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: cryptofuzz::module::circl::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - circl_Cryptofuzz_OpECC_Point_Mul
    - cryptofuzz::module::circl::getResultAs
    - toGoSlice
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> circl::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:76,1
    - Dst: circl_Cryptofuzz_OpECC_Point_Dbl
      Src: /src/cryptofuzz/modules/circl/module.cpp:77,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:77,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: cryptofuzz::module::circl::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - circl_Cryptofuzz_OpECC_Point_Dbl
    - toGoSlice
    - ToJSON
    - cryptofuzz::module::circl::getResultAs
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> circl::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/circl/module.cpp:87,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:88,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:89,1
    - Dst: circl_bn254_BignumCalc_Fp
      Src: /src/cryptofuzz/modules/circl/module.cpp:90,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:90,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:92,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/circl/module.cpp:93,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:94,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:95,1
    - Dst: circl_bn254_BignumCalc_Fr
      Src: /src/cryptofuzz/modules/circl/module.cpp:96,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:96,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 102
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 102
    functionName: cryptofuzz::module::circl::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - circl_bn254_BignumCalc_Fp
    - cryptofuzz::module::circl::getResultAs
    - modulo::ToTrimmedString
    - circl_bn254_BignumCalc_Fr
    - auto::dump
    - toGoSlice
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> circl::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: cryptofuzz::module::circl::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool circl::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:109,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:110,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:110,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:111,1
    - Dst: circl_BLS_PrivateToPublic
      Src: /src/cryptofuzz/modules/circl/module.cpp:112,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:112,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: cryptofuzz::module::circl::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::circl::getResultAs
    - get
    - auto::dump
    - circl_BLS_PrivateToPublic
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> circl::OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:118,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:119,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:119,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:120,1
    - Dst: circl_BLS_G1_Add
      Src: /src/cryptofuzz/modules/circl/module.cpp:121,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:121,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: cryptofuzz::module::circl::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - circl_BLS_G1_Add
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::circl::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> circl::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:127,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:128,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:128,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:129,1
    - Dst: circl_BLS_G1_Mul
      Src: /src/cryptofuzz/modules/circl/module.cpp:130,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:130,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: cryptofuzz::module::circl::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - circl_BLS_G1_Mul
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::circl::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> circl::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:136,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:137,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:137,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:138,1
    - Dst: circl_BLS_G1_Neg
      Src: /src/cryptofuzz/modules/circl/module.cpp:139,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:139,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: cryptofuzz::module::circl::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - circl_BLS_G1_Neg
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::circl::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> circl::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:145,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:146,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:146,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:147,1
    - Dst: circl_BLS_IsG1OnCurve
      Src: /src/cryptofuzz/modules/circl/module.cpp:149,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:149,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: cryptofuzz::module::circl::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - circl_BLS_IsG1OnCurve
    - cryptofuzz::module::circl::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> circl::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:155,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:156,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:156,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:157,1
    - Dst: circl_BLS_G1_IsEq
      Src: /src/cryptofuzz/modules/circl/module.cpp:159,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:159,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: cryptofuzz::module::circl::OpBLS_G1_IsEq
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::circl::getResultAs
    - circl_BLS_G1_IsEq
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> circl::OpBLS_G1_IsEq(operation::BLS_G1_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:165,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:166,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:166,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:167,1
    - Dst: circl_BLS_HashToG1
      Src: /src/cryptofuzz/modules/circl/module.cpp:168,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:168,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG1
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: cryptofuzz::module::circl::OpBLS_HashToG1
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - circl_BLS_HashToG1
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::circl::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> circl::OpBLS_HashToG1(operation::BLS_HashToG1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:174,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:175,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:175,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:176,1
    - Dst: circl_BLS_PrivateToPublic_G2
      Src: /src/cryptofuzz/modules/circl/module.cpp:177,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:177,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic_G2
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: cryptofuzz::module::circl::OpBLS_PrivateToPublic_G2
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - circl_BLS_PrivateToPublic_G2
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::circl::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> circl::OpBLS_PrivateToPublic_G2(operation::BLS_PrivateToPublic_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:183,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:184,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:184,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:185,1
    - Dst: circl_BLS_G2_Add
      Src: /src/cryptofuzz/modules/circl/module.cpp:186,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:186,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: cryptofuzz::module::circl::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::circl::getResultAs
    - get
    - circl_BLS_G2_Add
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> circl::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:192,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:193,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:193,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:194,1
    - Dst: circl_BLS_G2_Mul
      Src: /src/cryptofuzz/modules/circl/module.cpp:195,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:195,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: cryptofuzz::module::circl::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - circl_BLS_G2_Mul
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::circl::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> circl::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:201,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:202,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:202,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:203,1
    - Dst: circl_BLS_G2_Neg
      Src: /src/cryptofuzz/modules/circl/module.cpp:204,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:204,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: cryptofuzz::module::circl::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - circl_BLS_G2_Neg
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::circl::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> circl::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:210,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:211,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:211,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:212,1
    - Dst: circl_BLS_IsG2OnCurve
      Src: /src/cryptofuzz/modules/circl/module.cpp:214,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:214,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: cryptofuzz::module::circl::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - circl_BLS_IsG2OnCurve
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::circl::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> circl::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:220,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:221,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:221,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:222,1
    - Dst: circl_BLS_G2_IsEq
      Src: /src/cryptofuzz/modules/circl/module.cpp:224,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:224,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: cryptofuzz::module::circl::OpBLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - circl_BLS_G2_IsEq
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::circl::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> circl::OpBLS_G2_IsEq(operation::BLS_G2_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:230,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:231,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:231,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:232,1
    - Dst: circl_BLS_HashToG2
      Src: /src/cryptofuzz/modules/circl/module.cpp:233,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:233,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG2
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: cryptofuzz::module::circl::OpBLS_HashToG2
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::circl::getResultAs
    - get
    - circl_BLS_HashToG2
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> circl::OpBLS_HashToG2(operation::BLS_HashToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:239,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:240,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:240,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:241,1
    - Dst: circl_BLS_Decompress_G1
      Src: /src/cryptofuzz/modules/circl/module.cpp:242,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:242,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G1
    constantsTouched: []
    func_position:
      end: 245
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 245
    functionName: cryptofuzz::module::circl::OpBLS_Decompress_G1
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - circl_BLS_Decompress_G1
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::circl::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> circl::OpBLS_Decompress_G1(operation::BLS_Decompress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:248,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:249,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:249,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:250,1
    - Dst: circl_BLS_Compress_G1
      Src: /src/cryptofuzz/modules/circl/module.cpp:251,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:251,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G1
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: cryptofuzz::module::circl::OpBLS_Compress_G1
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - circl_BLS_Compress_G1
    - cryptofuzz::module::circl::getResultAs
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> circl::OpBLS_Compress_G1(operation::BLS_Compress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/circl/module.cpp:257,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/circl/module.cpp:258,1
    - Dst: get
      Src: /src/cryptofuzz/modules/circl/module.cpp:258,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/circl/module.cpp:259,1
    - Dst: circl_BLS_Pairing
      Src: /src/cryptofuzz/modules/circl/module.cpp:260,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/circl/module.cpp:260,1
    - Dst: cryptofuzz::module::circl::getResultAs
      Src: /src/cryptofuzz/modules/circl/module.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Pairing
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: cryptofuzz::module::circl::OpBLS_Pairing
    functionSourceFile: /src/cryptofuzz/modules/circl/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - cryptofuzz::module::circl::getResultAs
    - get
    - auto::dump
    - circl_BLS_Pairing
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::Fp12>
    signature: std::optional<component::Fp12> circl::OpBLS_Pairing(operation::BLS_Pairing&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:15,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:18,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:19,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:19,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:24,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:24,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:24,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:27,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:28,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:28,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:29,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:29,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:29,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:32,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:33,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:33,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:34,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:34,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:34,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/circl/generate_ids.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/circl/generate_ids.cpp
    functionUses: 97
    functionsReached:
    - std::regex_replace
    - std::regex
    - std::to_string
    - std::string
    - fprintf
    - auto::c_str
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:25,1
    - Dst: gcry_mpi_add
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:28,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:28,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:28,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:28,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:29,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:29,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:34,1
    - Dst: gcry_mpi_get_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:34,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:34,1
    - Dst: gcry_mpi_add_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:35,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:35,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:35,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:36,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 44
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 44
    functionName: cryptofuzz::module::libgcrypt_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - gcry_mpi_get_ui
    - GetResPtr
    - CF_NORET
    - CF_CHECK_EQ
    - CopyResult
    - GET_WHICH
    - gcry_mpi_add
    - gcry_mpi_add_ui
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:47,1
    - Dst: gcry_mpi_sub
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:50,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:50,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:50,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:50,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:51,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:51,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:56,1
    - Dst: gcry_mpi_get_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:56,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:56,1
    - Dst: gcry_mpi_sub_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:57,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:57,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:57,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:58,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: cryptofuzz::module::libgcrypt_bignum::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_sub
    - GetPtr
    - gcry_mpi_get_ui
    - GetResPtr
    - gcry_mpi_sub_ui
    - CF_NORET
    - CF_CHECK_EQ
    - CopyResult
    - GET_WHICH
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:69,1
    - Dst: gcry_mpi_mul
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:72,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:72,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:72,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:72,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:73,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:73,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:78,1
    - Dst: gcry_mpi_get_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:78,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:78,1
    - Dst: gcry_mpi_mul_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:79,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:79,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:79,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:80,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:80,1
    - Dst: cryptofuzz::util::HintBignumPow2
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:86,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:89,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:89,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:89,1
    - Dst: gcry_mpi_test_bit
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:95,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:95,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:98,1
    - Dst: gcry_mpi_mul_2exp
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:102,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:102,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:102,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:103,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 112
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 112
    functionName: cryptofuzz::module::libgcrypt_bignum::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - gcry_mpi_mul_ui
    - gcry_mpi_get_ui
    - GetResPtr
    - CF_NORET
    - CF_CHECK_EQ
    - CopyResult
    - gcry_mpi_cmp_ui
    - gcry_mpi_mul_2exp
    - GET_WHICH
    - gcry_mpi_test_bit
    - gcry_mpi_mul
    - cryptofuzz::util::HintBignumPow2
    - CF_CHECK_LTE
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:120,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:120,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:120,1
    - Dst: gcry_mpi_div
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:121,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:121,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:121,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:121,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:122,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 128
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 128
    functionName: cryptofuzz::module::libgcrypt_bignum::Div::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    - CF_NORET
    - CopyResult
    - gcry_mpi_cmp_ui
    - gcry_mpi_div
    linkageType: ''
    returnType: bool
    signature: bool Div::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:131,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:134,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:134,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:134,1
    - Dst: gcry_mpi_powm
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:138,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:138,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:138,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:138,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:138,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:139,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:139,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:143,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:143,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:143,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:145,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:146,1
    - Dst: _gcry_mpi_mulpowm
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:148,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:148,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 155
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 155
    functionName: cryptofuzz::module::libgcrypt_bignum::ExpMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    - CF_NORET
    - CopyResult
    - gcry_mpi_cmp_ui
    - GET_WHICH
    - _gcry_mpi_mulpowm
    - gcry_mpi_powm
    linkageType: ''
    returnType: bool
    signature: bool ExpMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:161,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:161,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:161,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:162,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:162,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:162,1
    - Dst: gcry_mpi_gcd
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:163,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:163,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:163,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:163,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:164,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: cryptofuzz::module::libgcrypt_bignum::GCD::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    - CF_NORET
    - CopyResult
    - gcry_mpi_cmp_ui
    - gcry_mpi_gcd
    linkageType: ''
    returnType: bool
    signature: bool GCD::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:176,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:176,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:176,1
    - Dst: gcry_mpi_invm
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:177,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:177,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:177,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:177,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:179,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:181,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: cryptofuzz::module::libgcrypt_bignum::InvMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    - CF_NORET
    - CopyResult
    - gcry_mpi_cmp_ui
    - Set
    - gcry_mpi_invm
    linkageType: ''
    returnType: bool
    signature: bool InvMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:191,1
    - Dst: gcry_mpi_cmp
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:195,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:195,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:195,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:197,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:199,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:201,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:208,1
    - Dst: gcry_mpi_get_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:208,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:208,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:209,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:209,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:211,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:213,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:215,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 223
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 223
    functionName: cryptofuzz::module::libgcrypt_bignum::Cmp::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - gcry_mpi_get_ui
    - CF_CHECK_EQ
    - Set
    - gcry_mpi_cmp
    - GET_WHICH
    - gcry_mpi_cmp_ui
    linkageType: ''
    returnType: bool
    signature: bool Cmp::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:228,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:228,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:228,1
    - Dst: gcry_mpi_abs
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:229,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: cryptofuzz::module::libgcrypt_bignum::Abs::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - gcry_mpi_set
    - gcry_mpi_abs
    linkageType: ''
    returnType: bool
    signature: bool Abs::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_neg
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:237,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:237,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:237,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:238,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: cryptofuzz::module::libgcrypt_bignum::Neg::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetResPtr
    - CF_NORET
    - CopyResult
    - gcry_mpi_neg
    linkageType: ''
    returnType: bool
    signature: bool Neg::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:249,1
    - Dst: gcry_mpi_get_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:249,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:249,1
    - Dst: gcry_mpi_rshift
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:250,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:250,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:250,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:251,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 255
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 255
    functionName: cryptofuzz::module::libgcrypt_bignum::RShift::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - gcry_mpi_get_ui
    - GetResPtr
    - CF_NORET
    - CF_CHECK_EQ
    - CopyResult
    - gcry_mpi_rshift
    linkageType: ''
    returnType: bool
    signature: bool RShift::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_lshift
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:260,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:260,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:260,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:261,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 264
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 264
    functionName: cryptofuzz::module::libgcrypt_bignum::LShift1::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetResPtr
    - gcry_mpi_lshift
    - CF_NORET
    - CopyResult
    linkageType: ''
    returnType: bool
    signature: bool LShift1::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:269,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:269,1
    - Dst: gcry_mpi_is_neg
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:269,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: cryptofuzz::module::libgcrypt_bignum::IsNeg::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - gcry_mpi_is_neg
    - Set
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsNeg::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:277,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:277,1
    - Dst: gcry_mpi_cmp
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:277,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:277,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 280
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 280
    functionName: cryptofuzz::module::libgcrypt_bignum::IsEq::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    - gcry_mpi_cmp
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsEq::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:285,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:285,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:285,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: cryptofuzz::module::libgcrypt_bignum::IsZero::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_cmp_ui
    - std::to_string
    - Set
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsZero::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:293,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:293,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:293,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 296
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 296
    functionName: cryptofuzz::module::libgcrypt_bignum::IsOne::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_cmp_ui
    - std::to_string
    - Set
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsOne::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:303,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:307,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:307,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:307,1
    - Dst: gcry_mpi_mulm
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:308,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:308,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:308,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:308,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:308,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:309,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:309,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:313,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:313,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:313,1
    - Dst: _gcry_mpi_barrett_init
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:315,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:315,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:316,1
    - Dst: _gcry_mpi_mul_barrett
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:316,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:316,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:316,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:316,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:317,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:317,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:318,1
    - Dst: _gcry_mpi_barrett_free
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 326
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 326
    functionName: cryptofuzz::module::libgcrypt_bignum::MulMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - _gcry_mpi_barrett_free
    - GetPtr
    - CF_CHECK_NE
    - _gcry_mpi_mul_barrett
    - GetResPtr
    - CF_NORET
    - CopyResult
    - gcry_mpi_cmp_ui
    - GET_WHICH
    - gcry_mpi_mulm
    - _gcry_mpi_barrett_init
    linkageType: ''
    returnType: bool
    signature: bool MulMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:334,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:334,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:334,1
    - Dst: gcry_mpi_addm
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:335,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:335,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:335,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:335,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:335,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:336,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 342
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 342
    functionName: cryptofuzz::module::libgcrypt_bignum::AddMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    - CF_NORET
    - CopyResult
    - gcry_mpi_cmp_ui
    - gcry_mpi_addm
    linkageType: ''
    returnType: bool
    signature: bool AddMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:350,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:350,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:350,1
    - Dst: gcry_mpi_subm
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:351,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:351,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:351,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:351,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:351,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:352,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 358
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 358
    functionName: cryptofuzz::module::libgcrypt_bignum::SubMod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    - CF_NORET
    - CopyResult
    - gcry_mpi_cmp_ui
    - gcry_mpi_subm
    linkageType: ''
    returnType: bool
    signature: bool SubMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:366,1
    - Dst: gcry_mpi_get_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:366,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:366,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:367,1
    - Dst: gcry_mpi_test_bit
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:367,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 373
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 373
    functionName: cryptofuzz::module::libgcrypt_bignum::Bit::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - gcry_mpi_get_ui
    - CF_CHECK_EQ
    - Set
    - gcry_mpi_test_bit
    linkageType: ''
    returnType: bool
    signature: bool Bit::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:381,1
    - Dst: gcry_mpi_get_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:381,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:381,1
    - Dst: gcry_mpi_set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:382,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:382,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:382,1
    - Dst: gcry_mpi_set_bit
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:383,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 389
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 389
    functionName: cryptofuzz::module::libgcrypt_bignum::SetBit::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - gcry_mpi_set
    - gcry_mpi_set_bit
    - gcry_mpi_get_ui
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool SetBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:397,1
    - Dst: gcry_mpi_get_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:397,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:397,1
    - Dst: gcry_mpi_set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:398,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:398,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:398,1
    - Dst: gcry_mpi_clear_bit
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:399,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 405
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 405
    functionName: cryptofuzz::module::libgcrypt_bignum::ClearBit::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - gcry_mpi_set
    - gcry_mpi_get_ui
    - CF_CHECK_EQ
    - gcry_mpi_clear_bit
    linkageType: ''
    returnType: bool
    signature: bool ClearBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:413,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:416,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:416,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:416,1
    - Dst: gcry_mpi_mod
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:417,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:417,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:417,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:417,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:418,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:418,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:422,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:422,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:422,1
    - Dst: _gcry_mpi_barrett_init
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:424,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:424,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:425,1
    - Dst: _gcry_mpi_mod_barrett
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:425,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:425,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:425,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:426,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:426,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:427,1
    - Dst: _gcry_mpi_barrett_free
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 436
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 436
    functionName: cryptofuzz::module::libgcrypt_bignum::Mod::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - _gcry_mpi_barrett_free
    - GetPtr
    - CF_CHECK_NE
    - GetResPtr
    - CF_NORET
    - CopyResult
    - gcry_mpi_cmp_ui
    - GET_WHICH
    - _gcry_mpi_mod_barrett
    - gcry_mpi_mod
    - _gcry_mpi_barrett_init
    linkageType: ''
    returnType: bool
    signature: bool Mod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_mul
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:441,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:441,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:441,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:441,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:442,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 445
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 445
    functionName: cryptofuzz::module::libgcrypt_bignum::Sqr::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetResPtr
    - CF_NORET
    - CopyResult
    - gcry_mpi_mul
    linkageType: ''
    returnType: bool
    signature: bool Sqr::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:450,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:450,1
    - Dst: gcry_mpi_get_nbits
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:450,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 453
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 453
    functionName: cryptofuzz::module::libgcrypt_bignum::NumBits::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    - GetPtr
    - gcry_mpi_get_nbits
    linkageType: ''
    returnType: bool
    signature: bool NumBits::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:462,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:462,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:462,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:463,1
    - Dst: gcry_mpi_get_ui
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:463,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:463,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:464,1
    - Dst: Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:464,1
    - Dst: gcry_mpi_mul_2exp
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:466,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:466,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:466,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:467,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 473
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 473
    functionName: cryptofuzz::module::libgcrypt_bignum::Exp::Run
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - gcry_mpi_get_ui
    - GetResPtr
    - gcry_mpi_mul_2exp
    - CF_CHECK_EQ
    - CF_NORET
    - gcry_mpi_cmp_ui
    - CopyResult
    - Bignum::Set
    - Bignum::GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Exp::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_check_version
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:11,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:12,1
    - Dst: gcry_control
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 15
    functionName: cryptofuzz::module::libgcrypt::libgcrypt
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_check_version
    - abort
    - gcry_control
    linkageType: ''
    returnType: void
    signature: void libgcrypt::libgcrypt(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:21,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:22,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:23,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:24,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:25,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:26,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:27,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:28,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:29,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:30,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:31,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:32,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:33,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:34,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:35,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:36,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:37,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:38,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:39,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:40,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:41,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:42,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:43,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:44,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:45,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:46,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:47,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:48,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:49,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:50,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:51,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:52,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:53,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:54,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:59,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:59,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:59,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - digestType
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 63
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 63
    functionName: cryptofuzz::module::libgcrypt_detail::DigestIDToID
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - std::map::end
    - std::map::find
    - std::map::at
    - CF_DIGEST
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> DigestIDToID(const uint64_t digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: cryptofuzz::module::libgcrypt_detail::MD_Handle::MD_Handle
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MD_Handle(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: ~MD_Handle()
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_md_close
    linkageType: ''
    returnType: void
    signature: void ~MD_Handle()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:84,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:87,1
    - Dst: gcry_md_open
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - digestType
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 94
    functionName: cryptofuzz::module::libgcrypt_detail::MD_Handle::Open
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
    - CF_CHECK_EQ
    - gcry_md_open
    linkageType: ''
    returnType: bool
    signature: bool Open(const int digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:98,1
    - Dst: gcry_md_copy
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:103,1
    - Dst: gcry_md_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
    - gcry_md_close
    - gcry_md_copy
    linkageType: ''
    returnType: gcry_md_hd_t
    signature: gcry_md_hd_t Get(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:116,1
    - Dst: gcry_md_putc
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:122,1
    - Dst: cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:122,1
    - Dst: gcry_md_write
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:125,1
    - Dst: cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: cryptofuzz::module::libgcrypt_detail::MD_Handle::Write
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
    - gcry_md_write
    - gcry_md_putc
    linkageType: ''
    returnType: void
    signature: void Write(const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:131,1
    - Dst: gcry_md_final
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:136,1
    - Dst: cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: cryptofuzz::module::libgcrypt_detail::MD_Handle::Final
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libgcrypt_detail::MD_Handle::Get
    - gcry_md_final
    linkageType: ''
    returnType: void
    signature: void Final(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: cryptofuzz::module::libgcrypt_detail::Handle::Handle
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handle(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: ~Handle()
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handle()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libgcrypt_detail::Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:163,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:166,1
    - Dst: open
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - digestType
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: cryptofuzz::module::libgcrypt_detail::Handle::Open
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - open
    - CF_CHECK_TRUE
    - cryptofuzz::module::libgcrypt_detail::Handle::Get
    linkageType: ''
    returnType: bool
    signature: bool Open(const int digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libgcrypt_detail::Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:177,1
    - Dst: cryptofuzz::module::libgcrypt_detail::Handle::copy
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: cryptofuzz::module::libgcrypt_detail::Handle::Get
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 2
    functionsReached:
    - cryptofuzz::module::libgcrypt_detail::Handle::Get
    - cryptofuzz::module::libgcrypt_detail::Handle::copy
    linkageType: ''
    returnType: HandleType
    signature: HandleType Get(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: cryptofuzz::module::libgcrypt_detail::Handle::Write
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: bool
    signature: bool Write(const uint8_t* data, const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libgcrypt_detail::Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:191,1
    - Dst: _final
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: cryptofuzz::module::libgcrypt_detail::Handle::Final
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libgcrypt_detail::Handle::Get
    - _final
    linkageType: ''
    returnType: void
    signature: void Final(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libgcrypt_detail::Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:206,1
    - Dst: cryptofuzz::module::libgcrypt_detail::Handle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:207,1
    - Dst: cryptofuzz::module::libgcrypt_detail::Handle::Write
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:211,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 214
    functionName: cryptofuzz::module::libgcrypt_detail::Handle::WriteRandom
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libgcrypt_detail::Handle::Write
    - cryptofuzz::module::libgcrypt_detail::Handle::Get
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void WriteRandom(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_open
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digestType
    - useSecMem
    argTypes:
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: cryptofuzz::module::libgcrypt_detail::DigestHandle::open
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_md_open
    linkageType: ''
    returnType: bool
    signature: bool open(const int digestType, const bool useSecMem) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_copy
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:224,1
    - Dst: gcry_md_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: cryptofuzz::module::libgcrypt_detail::DigestHandle::copy
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_md_close
    - gcry_md_copy
    linkageType: ''
    returnType: void
    signature: void copy(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: cryptofuzz::module::libgcrypt_detail::DigestHandle::_close
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_md_close
    linkageType: ''
    returnType: void
    signature: void _close(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:238,1
    - Dst: gcry_md_putc
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:244,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:244,1
    - Dst: gcry_md_write
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:247,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 251
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 251
    functionName: cryptofuzz::module::libgcrypt_detail::DigestHandle::write
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - gcry_md_write
    - gcry_md_putc
    linkageType: ''
    returnType: bool
    signature: bool write(const uint8_t* data, const size_t size) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_final
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:253,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: cryptofuzz::module::libgcrypt_detail::DigestHandle::_final
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - gcry_md_final
    linkageType: ''
    returnType: void
    signature: void _final(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: cryptofuzz::module::libgcrypt_detail::DigestHandle::DigestHandle
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DigestHandle(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: ~DigestHandle()
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_md_close
    linkageType: ''
    returnType: void
    signature: void ~DigestHandle()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_open
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digestType
    - useSecMem
    argTypes:
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: cryptofuzz::module::libgcrypt_detail::MACHandle::open
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_mac_open
    linkageType: ''
    returnType: bool
    signature: bool open(const int digestType, const bool useSecMem) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: cryptofuzz::module::libgcrypt_detail::MACHandle::copy
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void copy(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: cryptofuzz::module::libgcrypt_detail::MACHandle::_close
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_mac_close
    linkageType: ''
    returnType: void
    signature: void _close(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_write
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:278,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: cryptofuzz::module::libgcrypt_detail::MACHandle::write
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    - gcry_mac_write
    linkageType: ''
    returnType: bool
    signature: bool write(const uint8_t* data, const size_t size) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: cryptofuzz::module::libgcrypt_detail::MACHandle::_final
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _final(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: cryptofuzz::module::libgcrypt_detail::MACHandle::MACHandle
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MACHandle(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mac_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: ~MACHandle()
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_mac_close
    linkageType: ''
    returnType: void
    signature: void ~MACHandle()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:306,1
    - Dst: libgcrypt_detail::MACHandle::Open
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:306,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:308,1
    - Dst: gcry_mac_setkey
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:308,1
    - Dst: libgcrypt_detail::MACHandle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:308,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:308,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:308,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:310,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:315,1
    - Dst: libgcrypt_detail::MACHandle::Write
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:315,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:321,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:323,1
    - Dst: gcry_mac_read
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:323,1
    - Dst: libgcrypt_detail::MACHandle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:323,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:324,1
    - Dst: libgcrypt_detail::MACHandle::WriteRandom
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - ' ds'
    - macType
    - ' cleartext'
    - ' cipher'
    argTypes:
    - fuzzing::datasource::Datasource
    - int
    - Buffer
    - component::SymmetricCipher
    constantsTouched: []
    func_position:
      end: 331
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 331
    functionName: cryptofuzz::module::libgcrypt_detail::MAC
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_mac_setkey
    - libgcrypt_detail::MACHandle::WriteRandom
    - key::GetPtr
    - CF_CHECK_EQ
    - gcry_mac_read
    - libgcrypt_detail::MACHandle::Open
    - key::GetSize
    - libgcrypt_detail::MACHandle::Get
    - libgcrypt_detail::MACHandle::Write
    - cryptofuzz::util::ToParts
    - Botan_CLI::HMAC::HMAC
    - CF_CHECK_TRUE
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: "std::optional<component::MAC> MAC(\n            fuzzing::datasource::Datasource&
      ds,\n            const int macType,\n            const Buffer& cleartext,\n
      \           const component::SymmetricCipher& cipher)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:337,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:337,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:346,1
    - Dst: cryptofuzz::module::libgcrypt_detail::DigestIDToID
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:346,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:346,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:348,1
    - Dst: libgcrypt_detail::DigestHandle::Open
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:348,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:350,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:355,1
    - Dst: libgcrypt_detail::DigestHandle::Write
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:355,1
    - Dst: libgcrypt_detail::DigestHandle::Final
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:360,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:362,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:363,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:367,1
    - Dst: gcry_md_extract
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:367,1
    - Dst: libgcrypt_detail::DigestHandle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:367,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:368,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:371,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:375,1
    - Dst: gcry_md_extract
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:375,1
    - Dst: libgcrypt_detail::DigestHandle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:375,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:376,1
    - Dst: gcry_md_read
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:381,1
    - Dst: libgcrypt_detail::DigestHandle::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:381,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:382,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:383,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:383,1
    - Dst: libgcrypt_detail::DigestHandle::WriteRandom
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 393
      start: 335
    functionDepth: 3
    functionLinenumber: 335
    functionLinenumberEnd: 393
    functionName: cryptofuzz::module::libgcrypt::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - libgcrypt_detail::DigestHandle::Final
    - CF_CHECK_NE
    - gcry_md_get_algo_dlen
    - libgcrypt_detail::DigestHandle::Get
    - modifier::GetPtr
    - Botan::PKCS11::LowLevel::C_Digest
    - digestType::Get
    - cryptofuzz::module::libgcrypt_detail::DigestIDToID
    - CF_CHECK_EQ
    - gcry_md_extract
    - libgcrypt_detail::DigestHandle::WriteRandom
    - cryptofuzz::util::ToParts
    - gcry_md_read
    - CF_DIGEST
    - modifier::GetSize
    - libgcrypt_detail::DigestHandle::Open
    - CF_CHECK_TRUE
    - libgcrypt_detail::DigestHandle::Write
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> libgcrypt::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:399,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:400,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:401,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:402,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:403,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:404,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:405,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:406,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:407,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:408,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:409,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:410,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:411,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:412,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:413,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:414,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:415,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:416,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:417,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:418,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:419,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:420,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:421,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:422,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:423,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:424,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:425,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:426,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:429,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:429,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:429,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:429,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:430,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:430,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:433,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:433,1
    - Dst: cryptofuzz::module::libgcrypt_detail::MAC
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 440
      start: 395
    functionDepth: 4
    functionLinenumber: 395
    functionLinenumberEnd: 440
    functionName: cryptofuzz::module::libgcrypt::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - std::map::end
    - std::map::find
    - std::map::at
    - modifier::GetPtr
    - digestType::Get
    - CF_DIGEST
    - modifier::GetSize
    - cryptofuzz::module::libgcrypt_detail::MAC
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> libgcrypt::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:446,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:447,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:448,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:449,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:450,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:451,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:452,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:453,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:454,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:455,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:456,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:457,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:458,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:459,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:460,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:461,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:462,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:463,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:464,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:465,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:466,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:467,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:468,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:471,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:471,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:471,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:471,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:472,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:472,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:475,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:475,1
    - Dst: cryptofuzz::module::libgcrypt_detail::MAC
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 482
      start: 442
    functionDepth: 4
    functionLinenumber: 442
    functionLinenumberEnd: 482
    functionName: cryptofuzz::module::libgcrypt::OpCMAC
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - std::map::end
    - std::map::find
    - std::map::at
    - cipher::cipherType::Get
    - modifier::GetPtr
    - CF_CIPHER
    - modifier::GetSize
    - cryptofuzz::module::libgcrypt_detail::MAC
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> libgcrypt::OpCMAC(operation::CMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:579,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:580,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:581,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:582,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:583,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:584,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:587,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:588,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:589,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 596
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 596
    functionName: cryptofuzz::module::libgcrypt_detail::Blocksize
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CIPHER
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> Blocksize(const uint64_t cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:611,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:612,1
    - Dst: find
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:612,1
    - Dst: cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:612,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:612,1
    - Dst: at
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:617,1
    - Dst: cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:617,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:619,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:619,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:619,1
    - Dst: cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:620,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:620,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:621,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:621,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:623,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:623,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:623,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:628,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:631,1
    - Dst: gcry_cipher_open
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:631,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:634,1
    - Dst: gcry_cipher_setkey
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:634,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:634,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:634,1
    - Dst: cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:635,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:635,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:636,1
    - Dst: gcry_cipher_setiv
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:636,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:636,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:636,1
    - Dst: cryptofuzz::repository::IsCTR
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:637,1
    - Dst: cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:637,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:638,1
    - Dst: gcry_cipher_setctr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:638,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:638,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:638,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:640,1
    - Dst: gcry_cipher_setiv
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:640,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:640,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:640,1
    - Dst: cryptofuzz::util::CipherInputTransform
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 3
    argNames:
    - ' cipher'
    - input
    - inputSize
    argTypes:
    - component::SymmetricCipher
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 662
      start: 608
    functionDepth: 3
    functionLinenumber: 608
    functionLinenumberEnd: 662
    functionName: cryptofuzz::module::libgcrypt_detail::Crypt::initialize
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - key::GetPtr
    - at
    - key::GetSize
    - cipherType::Get
    - gcry_cipher_setctr
    - gcry_cipher_get_algo_blklen
    - CF_CHECK_NE
    - cryptofuzz::repository::IsCTR
    - gcry_cipher_setiv
    - cryptofuzz::util::CipherInputTransform
    - gcry_cipher_open
    - gcry_cipher_get_algo_keylen
    - iv::GetSize
    - CF_CHECK_EQ
    - end
    - iv::GetPtr
    - find
    - Get
    - gcry_cipher_setkey
    - CF_CIPHER
    linkageType: ''
    returnType: bool
    signature: bool initialize(const component::SymmetricCipher& cipher, const uint8_t*
      input, const size_t inputSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:674,1
    - Dst: size
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:677,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:678,1
    - Dst: gcry_cipher_final
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:678,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:682,1
    - Dst: gcry_cipher_encrypt
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:682,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:684,1
    - Dst: gcry_cipher_decrypt
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:684,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 693
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 693
    functionName: cryptofuzz::module::libgcrypt_detail::Crypt::process
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    - gcry_cipher_final
    - CF_CHECK_EQ
    - size
    - gcry_cipher_encrypt
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<size_t>
    signature: std::optional<size_t> process(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:698,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:698,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 701
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 701
    functionName: cryptofuzz::module::libgcrypt_detail::Crypt::Crypt
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::util::malloc
    - modifier::GetSize
    linkageType: ''
    returnType: void
    signature: void Crypt(operation::SymmetricEncrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:704,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:704,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 707
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 707
    functionName: cryptofuzz::module::libgcrypt_detail::Crypt::Crypt
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::util::malloc
    - modifier::GetSize
    linkageType: ''
    returnType: void
    signature: void Crypt(operation::SymmetricDecrypt& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:711,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 716
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 716
    functionName: ~Crypt()
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_cipher_close
    - cryptofuzz::util::free
    linkageType: ''
    returnType: void
    signature: void ~Crypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:723,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:724,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:726,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:727,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:727,1
    - Dst: Blocksize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:728,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:728,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:729,1
    - Dst: cryptofuzz::util::Pkcs7Pad
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:731,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:731,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:733,1
    - Dst: cryptofuzz::module::libgcrypt_detail::Crypt::initialize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:733,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:733,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:733,1
    - Dst: cryptofuzz::module::libgcrypt_detail::Crypt::process
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:734,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:735,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:737,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 741
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 741
    functionName: cryptofuzz::module::libgcrypt_detail::Crypt::Encrypt
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - std::vector::size
    - cryptofuzz::repository::IsCBC
    - cipher::cipherType::Get
    - cleartext::Get
    - CF_CHECK_EQ
    - Blocksize
    - cryptofuzz::module::libgcrypt_detail::Crypt::initialize
    - cryptofuzz::util::Pkcs7Pad
    - Buffer
    - cryptofuzz::module::libgcrypt_detail::Crypt::process
    - cryptofuzz::component::Ciphertext::Ciphertext
    - std::vector::data
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Encrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:748,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:749,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:751,1
    - Dst: cryptofuzz::module::libgcrypt_detail::Crypt::initialize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:751,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:751,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:751,1
    - Dst: cryptofuzz::module::libgcrypt_detail::Crypt::process
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:752,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:753,1
    - Dst: cryptofuzz::repository::IsCBC
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:755,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:755,1
    - Dst: Blocksize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:756,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:756,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:757,1
    - Dst: cryptofuzz::util::Pkcs7Unpad
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:759,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:759,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:760,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:762,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:762,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 769
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 769
    functionName: cryptofuzz::module::libgcrypt_detail::Crypt::Decrypt
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - ciphertext::GetSize
    - cryptofuzz::repository::IsCBC
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - ciphertext::GetPtr
    - std::vector<uint8_t>
    - Blocksize
    - cryptofuzz::module::libgcrypt_detail::Crypt::initialize
    - Buffer
    - cryptofuzz::util::Pkcs7Unpad
    - component::Cleartext
    - cryptofuzz::module::libgcrypt_detail::Crypt::process
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Decrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libgcrypt_detail::Crypt::Encrypt
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: cryptofuzz::module::libgcrypt::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - libgcrypt_detail::Crypt::Encrypt
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> libgcrypt::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: libgcrypt_detail::Crypt::Decrypt
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: cryptofuzz::module::libgcrypt::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - libgcrypt_detail::Crypt::Decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> libgcrypt::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:786,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:786,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:796,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:797,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:798,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:799,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:800,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:801,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:802,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:803,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:804,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:805,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:806,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:807,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:808,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:809,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:810,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:811,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:812,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:813,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:814,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:815,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:816,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:817,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:818,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:819,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:820,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:821,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:822,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:823,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:826,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:826,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:826,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:826,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:827,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:827,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:831,1
    - Dst: gcry_kdf_open
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:831,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:837,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:838,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:840,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:841,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:842,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:843,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:846,1
    - Dst: gcry_kdf_compute
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:846,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:847,1
    - Dst: gcry_kdf_final
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:847,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:849,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:852,1
    - Dst: gcry_kdf_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 859
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 859
    functionName: cryptofuzz::module::libgcrypt::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - gcry_kdf_final
    - modifier::GetPtr
    - digestType::Get
    - gcry_kdf_close
    - modifier::GetSize
    - CF_CHECK_NE
    - gcry_kdf_compute
    - salt::GetPtr
    - cryptofuzz::util::free
    - std::map::end
    - CF_CHECK_EQ
    - info::GetPtr
    - salt::GetSize
    - std::map::find
    - password::GetPtr
    - std::map::at
    - gcry_kdf_open
    - CF_DIGEST
    - info::GetSize
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libgcrypt::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:863,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:863,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:869,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:871,1
    - Dst: gcry_kdf_derive
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:871,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:872,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:873,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:876,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:877,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:882,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 888
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 888
    functionName: cryptofuzz::module::libgcrypt::OpKDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - password::GetPtr
    - modifier::GetPtr
    - CF_CHECK_EQ
    - salt::GetPtr
    - gcry_kdf_derive
    - modifier::GetSize
    - salt::GetSize
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libgcrypt::OpKDF_SCRYPT(operation::KDF_SCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:893,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:893,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:896,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:896,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:900,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:900,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:907,1
    - Dst: cryptofuzz::module::libgcrypt_detail::DigestIDToID
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:907,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:907,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:908,1
    - Dst: gcry_kdf_derive
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:908,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:909,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:910,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:913,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:914,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:919,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 925
      start: 890
    functionDepth: 2
    functionLinenumber: 890
    functionLinenumberEnd: 925
    functionName: cryptofuzz::module::libgcrypt::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - password::GetPtr
    - modifier::GetPtr
    - digestType::Get
    - digestType::Is
    - cryptofuzz::module::libgcrypt_detail::DigestIDToID
    - CF_CHECK_EQ
    - salt::GetPtr
    - CF_DIGEST
    - gcry_kdf_derive
    - modifier::GetSize
    - salt::GetSize
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libgcrypt::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:929,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:929,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:958,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:960,1
    - Dst: gcry_kdf_open
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:960,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:961,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:961,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:962,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:962,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:967,1
    - Dst: gcry_kdf_compute
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:967,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:968,1
    - Dst: gcry_kdf_final
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:968,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:970,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:973,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:975,1
    - Dst: gcry_kdf_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:975,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_ARGON2
    constantsTouched: []
    func_position:
      end: 979
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 979
    functionName: cryptofuzz::module::libgcrypt::OpKDF_ARGON2
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - password::GetPtr
    - gcry_kdf_compute
    - gcry_kdf_final
    - modifier::GetPtr
    - CF_NORET
    - CF_CHECK_EQ
    - gcry_kdf_open
    - gcry_kdf_close
    - salt::GetPtr
    - modifier::GetSize
    - salt::GetSize
    - cryptofuzz::util::malloc
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libgcrypt::OpKDF_ARGON2(operation::KDF_ARGON2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:983,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:983,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:992,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:992,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:992,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:993,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:993,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:993,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:994,1
    - Dst: cryptofuzz::module::libgcrypt_detail::DigestIDToID
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:994,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:994,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:998,1
    - Dst: gcry_kdf_open
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:998,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1004,1
    - Dst: secret::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1005,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1008,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1009,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1012,1
    - Dst: gcry_kdf_compute
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1012,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1013,1
    - Dst: gcry_kdf_final
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1013,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1015,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1018,1
    - Dst: gcry_kdf_close
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_X963
    constantsTouched: []
    func_position:
      end: 1025
      start: 981
    functionDepth: 2
    functionLinenumber: 981
    functionLinenumberEnd: 1025
    functionName: cryptofuzz::module::libgcrypt::OpKDF_X963
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - gcry_kdf_final
    - modifier::GetPtr
    - digestType::Get
    - CF_CHECK_FALSE
    - gcry_kdf_close
    - modifier::GetSize
    - CF_CHECK_NE
    - gcry_kdf_compute
    - cryptofuzz::util::free
    - secret::GetSize
    - CF_CHECK_EQ
    - digestType::Is
    - cryptofuzz::module::libgcrypt_detail::DigestIDToID
    - info::GetPtr
    - gcry_kdf_open
    - secret::GetPtr
    - CF_DIGEST
    - info::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libgcrypt::OpKDF_X963(operation::KDF_X963&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1030,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1031,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1032,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1033,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1034,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1035,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1036,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1037,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1038,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1039,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1040,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1041,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1042,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1043,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1044,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1045,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1048,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1048,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1048,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1052,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1052,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 1053
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1053
    functionName: cryptofuzz::module::libgcrypt_detail::toCurveString
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::find
    - std::map::end
    - std::map::at
    - CF_ECC_CURVE
    - Get
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> toCurveString(const component::CurveType&
      curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1062,1
    - Dst: gcry_mpi_point_new
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1062,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1068,1
    - Dst: cryptofuzz::util::ToRandomProjective
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1072,1
    - Dst: first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1074,1
    - Dst: second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1075,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1076,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1079,1
    - Dst: libgcrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1079,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1080,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1080,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1081,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1081,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1083,1
    - Dst: libgcrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1083,1
    - Dst: first::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1083,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1084,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1084,1
    - Dst: second::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1084,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1085,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1085,1
    - Dst: gcry_mpi_point_set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1088,1
    - Dst: libgcrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1088,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1088,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1088,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1091,1
    - Dst: gcry_mpi_ec_curve_point
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1091,1
    - Dst: gcry_mpi_point_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1096,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 4
    argNames:
    - ' ds'
    - ctx
    - ' point'
    - ' curveType'
    argTypes:
    - Datasource
    - gcry_ctx_t
    - component::ECC_Point
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 1098
      start: 1055
    functionDepth: 3
    functionLinenumber: 1055
    functionLinenumberEnd: 1098
    functionName: cryptofuzz::module::libgcrypt_detail::SetPoint
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - second::ToTrimmedString
    - GetPtr
    - CF_ASSERT
    - libgcrypt_bignum::Bignum::Set
    - cryptofuzz::util::ToRandomProjective
    - CF_CHECK_EQ
    - Set
    - gcry_mpi_point_new
    - first::ToString
    - libgcrypt_bignum::Bignum::GetPtr
    - gcry_mpi_point_release
    - gcry_mpi_point_set
    - second::ToString
    - Get
    - first::ToTrimmedString
    - gcry_mpi_ec_curve_point
    linkageType: ''
    returnType: gcry_mpi_point_t
    signature: "gcry_mpi_point_t SetPoint(\n            Datasource& ds,\n            gcry_ctx_t
      ctx,\n            const component::ECC_Point& point,\n            const component::CurveType&
      curveType,\n            const bool curveCheck = true)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_point_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - P
    argTypes:
    - gcry_mpi_point_t
    constantsTouched: []
    func_position:
      end: 1102
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1102
    functionName: cryptofuzz::module::libgcrypt_detail::FreePoint
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_point_release
    linkageType: ''
    returnType: void
    signature: void FreePoint(gcry_mpi_point_t P)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1112,1
    - Dst: libgcrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1112,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1113,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1113,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1115,1
    - Dst: gcry_mpi_ec_get_affine
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1115,1
    - Dst: libgcrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1115,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1115,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1117,1
    - Dst: libgcrypt_bignum::Bignum::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1117,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1118,1
    - Dst: ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - P
    argTypes:
    - gcry_ctx_t
    - gcry_mpi_point_t
    constantsTouched: []
    func_position:
      end: 1123
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1123
    functionName: cryptofuzz::module::libgcrypt_detail::GetPoint
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - libgcrypt_bignum::Bignum::Set
    - CF_CHECK_EQ
    - Set
    - ToString
    - libgcrypt_bignum::Bignum::GetPtr
    - gcry_mpi_ec_get_affine
    - libgcrypt_bignum::Bignum::ToString
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: "std::optional<component::ECC_Point> GetPoint(\n            gcry_ctx_t
      ctx,\n            gcry_mpi_point_t P)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1141,1
    - Dst: libgcrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1141,1
    - Dst: component::ECC_PrivateKey::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1141,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1142,1
    - Dst: libgcrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1142,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1143,1
    - Dst: libgcrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1143,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1147,1
    - Dst: cryptofuzz::module::libgcrypt_detail::toCurveString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1147,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1148,1
    - Dst: gcry_mpi_ec_new
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1148,1
    - Dst: std::optional::c_str
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1148,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1153,1
    - Dst: gcry_mpi_ec_get_point
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1153,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1154,1
    - Dst: gcry_mpi_point_new
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1154,1
    - Dst: gcry_mpi_ec_mul
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1155,1
    - Dst: libgcrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1155,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1160,1
    - Dst: gcry_mpi_ec_get_affine
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1160,1
    - Dst: libgcrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1160,1
    - Dst: libgcrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1160,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1165,1
    - Dst: libgcrypt_bignum::Bignum::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1165,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1166,1
    - Dst: libgcrypt_bignum::Bignum::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1166,1
    - Dst: gcry_ctx_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1172,1
    - Dst: gcry_mpi_point_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1173,1
    - Dst: gcry_mpi_point_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 3
    argNames:
    - ' ds'
    - curveType
    - _priv
    argTypes:
    - Datasource
    - component::CurveType
    - component::ECC_PrivateKey
    constantsTouched: []
    func_position:
      end: 1177
      start: 1126
    functionDepth: 2
    functionLinenumber: 1126
    functionLinenumberEnd: 1177
    functionName: cryptofuzz::module::libgcrypt_detail::ECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_mpi_ec_get_point
    - CF_CHECK_NE
    - std::optional::c_str
    - libgcrypt_bignum::Bignum::Set
    - gcry_mpi_ec_mul
    - CF_CHECK_EQ
    - gcry_mpi_point_new
    - libgcrypt_bignum::Bignum::GetPtr
    - gcry_mpi_point_release
    - gcry_mpi_ec_get_affine
    - cryptofuzz::module::libgcrypt_detail::toCurveString
    - component::ECC_PrivateKey::ToString
    - gcry_mpi_ec_new
    - gcry_ctx_release
    - libgcrypt_bignum::Bignum::ToString
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: "std::optional<component::ECC_PublicKey> ECC_PrivateToPublic(\n            Datasource&
      ds,\n            const component::CurveType curveType,\n            const component::ECC_PrivateKey
      _priv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1181,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1181,1
    - Dst: cryptofuzz::module::libgcrypt_detail::ECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 1184
      start: 1180
    functionDepth: 3
    functionLinenumber: 1180
    functionLinenumberEnd: 1184
    functionName: cryptofuzz::module::libgcrypt::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::module::libgcrypt_detail::ECC_PrivateToPublic
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> libgcrypt::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1188,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1188,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1211,1
    - Dst: cryptofuzz::module::libgcrypt_detail::toCurveString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1211,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1212,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1212,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1212,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1214,1
    - Dst: cryptofuzz::module::libgcrypt_detail::ECC_PrivateToPublic
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1214,1
    - Dst: UseRFC6979Nonce
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1216,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1217,1
    - Dst: gcry_sexp_build
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1217,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1217,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1217,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1218,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1219,1
    - Dst: gcry_sexp_build
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1219,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1219,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1219,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1228,1
    - Dst: libgcrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1228,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1228,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1229,1
    - Dst: gcry_sexp_build
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1229,1
    - Dst: std::optional::c_str
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1229,1
    - Dst: libgcrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1229,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1233,1
    - Dst: gcry_pk_sign
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1233,1
    - Dst: gcry_sexp_find_token
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1237,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1240,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1241,1
    - Dst: gcry_sexp_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1242,1
    - Dst: gcry_sexp_find_token
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1245,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1248,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1249,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1249,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1250,1
    - Dst: cryptofuzz::util::AdjustECDSASignature
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1250,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1250,1
    - Dst: auto::ToTrimmedString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1251,1
    - Dst: gcry_sexp_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1252,1
    - Dst: cryptofuzz::tests::test_ECDSA_Signature
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1255,1
    - Dst: gcry_sexp_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1259,1
    - Dst: gcry_sexp_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1262,1
    - Dst: gcry_sexp_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 1268
      start: 1186
    functionDepth: 3
    functionLinenumber: 1186
    functionLinenumberEnd: 1268
    functionName: cryptofuzz::module::libgcrypt::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - gcry_sexp_release
    - modifier::GetPtr
    - cryptofuzz::util::AdjustECDSASignature
    - auto::ToTrimmedString
    - modifier::GetSize
    - cryptofuzz::tests::test_ECDSA_Signature
    - UseRandomNonce
    - priv::ToString
    - cleartext::GetSize
    - gcry_pk_sign
    - CF_CHECK_NE
    - libgcrypt_bignum::Bignum::Set
    - CF_CHECK_EQ
    - digestType::Is
    - cryptofuzz::util::BinToDec
    - CF_CHECK_TRUE
    - cryptofuzz::module::libgcrypt_detail::ECC_PrivateToPublic
    - std::optional::c_str
    - CF_ASSERT
    - gcry_sexp_find_token
    - cleartext::GetPtr
    - CF_NORET
    - libgcrypt_bignum::Bignum::GetPtr
    - curveType::Get
    - CF_DIGEST
    - gcry_sexp_build
    - cryptofuzz::module::libgcrypt_detail::toCurveString
    - getBignum
    - UseRFC6979Nonce
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> libgcrypt::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1272,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1272,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1280,1
    - Dst: cryptofuzz::module::libgcrypt_detail::toCurveString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1280,1
    - Dst: cryptofuzz::repository::ECC_CurveToBits
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1283,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1283,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1284,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1287,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1287,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1290,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1290,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1290,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1295,1
    - Dst: libgcrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1295,1
    - Dst: signature::signature::first::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1295,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1296,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1296,1
    - Dst: signature::signature::second::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1296,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1297,1
    - Dst: gcry_sexp_build
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1297,1
    - Dst: libgcrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1297,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1297,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1302,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1303,1
    - Dst: gcry_sexp_build
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1303,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1303,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1303,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1305,1
    - Dst: gcry_sexp_build
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1305,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1305,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1305,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1313,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1313,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1313,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1314,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1314,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1314,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1318,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1319,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1319,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1319,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1319,1
    - Dst: std::vector::insert
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1320,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1320,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1320,1
    - Dst: end
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1320,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1328,1
    - Dst: gcry_sexp_build
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1328,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1328,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1328,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1328,1
    - Dst: gcry_pk_verify
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1333,1
    - Dst: gcry_sexp_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1337,1
    - Dst: gcry_sexp_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1340,1
    - Dst: gcry_sexp_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 1346
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1346
    functionName: cryptofuzz::module::libgcrypt::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - signature::signature::second::ToString
    - std::vector::size
    - gcry_sexp_release
    - modifier::GetPtr
    - signature::signature::first::ToString
    - std::string::c_str
    - std::vector::push_back
    - modifier::GetSize
    - cryptofuzz::repository::ECC_CurveToBits
    - cleartext::GetSize
    - CF_CHECK_NE
    - libgcrypt_bignum::Bignum::Set
    - cryptofuzz::util::DecToBin
    - std::vector::data
    - signature::pub::first::ToTrimmedString
    - CF_CHECK_EQ
    - digestType::Is
    - gcry_pk_verify
    - end
    - CF_CHECK_TRUE
    - signature::pub::second::ToTrimmedString
    - GetPtr
    - cleartext::GetPtr
    - begin
    - Set
    - libgcrypt_bignum::Bignum::GetPtr
    - curveType::Get
    - CF_DIGEST
    - gcry_sexp_build
    - cryptofuzz::module::libgcrypt_detail::toCurveString
    - std::vector::insert
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> libgcrypt::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1350,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1350,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1359,1
    - Dst: cryptofuzz::module::libgcrypt_detail::toCurveString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1359,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1360,1
    - Dst: gcry_mpi_ec_new
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1360,1
    - Dst: std::optional::c_str
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1360,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1365,1
    - Dst: cryptofuzz::module::libgcrypt_detail::SetPoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1365,1
    - Dst: gcry_mpi_ec_curve_point
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1370,1
    - Dst: gcry_ctx_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1374,1
    - Dst: gcry_mpi_point_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 1378
      start: 1348
    functionDepth: 4
    functionLinenumber: 1348
    functionLinenumberEnd: 1378
    functionName: cryptofuzz::module::libgcrypt::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - std::optional::c_str
    - modifier::GetPtr
    - CF_CHECK_EQ
    - gcry_mpi_point_release
    - cryptofuzz::module::libgcrypt_detail::toCurveString
    - modifier::GetSize
    - gcry_mpi_ec_new
    - gcry_ctx_release
    - cryptofuzz::module::libgcrypt_detail::SetPoint
    - gcry_mpi_ec_curve_point
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> libgcrypt::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1382,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1382,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1390,1
    - Dst: libgcrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1390,1
    - Dst: b::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1390,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1394,1
    - Dst: cryptofuzz::module::libgcrypt_detail::toCurveString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1394,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1395,1
    - Dst: gcry_mpi_ec_new
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1395,1
    - Dst: std::optional::c_str
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1395,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1400,1
    - Dst: cryptofuzz::module::libgcrypt_detail::SetPoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1400,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1402,1
    - Dst: gcry_mpi_point_new
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1402,1
    - Dst: gcry_mpi_ec_mul
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1403,1
    - Dst: libgcrypt_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1403,1
    - Dst: cryptofuzz::module::libgcrypt_detail::GetPoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1408,1
    - Dst: gcry_ctx_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1412,1
    - Dst: cryptofuzz::module::libgcrypt_detail::FreePoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1413,1
    - Dst: cryptofuzz::module::libgcrypt_detail::FreePoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 1417
      start: 1380
    functionDepth: 4
    functionLinenumber: 1380
    functionLinenumberEnd: 1417
    functionName: cryptofuzz::module::libgcrypt::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - std::optional::c_str
    - libgcrypt_bignum::Bignum::Set
    - b::ToString
    - modifier::GetPtr
    - gcry_mpi_ec_mul
    - CF_CHECK_EQ
    - cryptofuzz::module::libgcrypt_detail::GetPoint
    - cryptofuzz::module::libgcrypt_detail::FreePoint
    - gcry_mpi_point_new
    - libgcrypt_bignum::Bignum::GetPtr
    - modifier::GetSize
    - cryptofuzz::module::libgcrypt_detail::toCurveString
    - gcry_mpi_ec_new
    - gcry_ctx_release
    - cryptofuzz::module::libgcrypt_detail::SetPoint
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> libgcrypt::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1421,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1421,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1430,1
    - Dst: cryptofuzz::module::libgcrypt_detail::toCurveString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1430,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1431,1
    - Dst: gcry_mpi_ec_new
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1431,1
    - Dst: std::optional::c_str
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1431,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1436,1
    - Dst: cryptofuzz::module::libgcrypt_detail::SetPoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1436,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1437,1
    - Dst: cryptofuzz::module::libgcrypt_detail::SetPoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1437,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1439,1
    - Dst: gcry_mpi_point_new
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1439,1
    - Dst: gcry_mpi_ec_add
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1441,1
    - Dst: cryptofuzz::module::libgcrypt_detail::GetPoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1446,1
    - Dst: gcry_ctx_release
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1450,1
    - Dst: cryptofuzz::module::libgcrypt_detail::FreePoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1451,1
    - Dst: cryptofuzz::module::libgcrypt_detail::FreePoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1452,1
    - Dst: cryptofuzz::module::libgcrypt_detail::FreePoint
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 1456
      start: 1419
    functionDepth: 4
    functionLinenumber: 1419
    functionLinenumberEnd: 1456
    functionName: cryptofuzz::module::libgcrypt::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - std::optional::c_str
    - cryptofuzz::module::libgcrypt_detail::GetPoint
    - modifier::GetPtr
    - cryptofuzz::module::libgcrypt_detail::FreePoint
    - CF_CHECK_EQ
    - gcry_mpi_point_new
    - cryptofuzz::module::libgcrypt_detail::toCurveString
    - modifier::GetSize
    - gcry_mpi_ec_new
    - gcry_mpi_ec_add
    - gcry_ctx_release
    - cryptofuzz::module::libgcrypt_detail::SetPoint
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> libgcrypt::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1460,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1460,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1464,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1465,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1466,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1467,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1471,1
    - Dst: libgcrypt_bignum::Bignum::Randomize
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1471,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1472,1
    - Dst: libgcrypt_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1472,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1472,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1473,1
    - Dst: libgcrypt_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1473,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1473,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1474,1
    - Dst: libgcrypt_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1474,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1474,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1475,1
    - Dst: libgcrypt_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1475,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1475,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1477,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1478,1
    - Dst: std::make_unique<libgcrypt_bignum::Add>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1479,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1481,1
    - Dst: std::make_unique<libgcrypt_bignum::Sub>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1482,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1484,1
    - Dst: std::make_unique<libgcrypt_bignum::Mul>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1485,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1487,1
    - Dst: std::make_unique<libgcrypt_bignum::Div>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1488,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1490,1
    - Dst: std::make_unique<libgcrypt_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1491,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1493,1
    - Dst: std::make_unique<libgcrypt_bignum::GCD>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1494,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1496,1
    - Dst: std::make_unique<libgcrypt_bignum::InvMod>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1497,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1499,1
    - Dst: std::make_unique<libgcrypt_bignum::Cmp>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1500,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1502,1
    - Dst: std::make_unique<libgcrypt_bignum::Abs>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1503,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1505,1
    - Dst: std::make_unique<libgcrypt_bignum::Neg>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1506,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1508,1
    - Dst: std::make_unique<libgcrypt_bignum::RShift>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1509,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1511,1
    - Dst: std::make_unique<libgcrypt_bignum::LShift1>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1512,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1514,1
    - Dst: std::make_unique<libgcrypt_bignum::IsNeg>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1515,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1517,1
    - Dst: std::make_unique<libgcrypt_bignum::IsEq>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1518,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1520,1
    - Dst: std::make_unique<libgcrypt_bignum::IsZero>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1521,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1523,1
    - Dst: std::make_unique<libgcrypt_bignum::IsOne>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1524,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1526,1
    - Dst: std::make_unique<libgcrypt_bignum::MulMod>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1527,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1529,1
    - Dst: std::make_unique<libgcrypt_bignum::AddMod>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1530,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1532,1
    - Dst: std::make_unique<libgcrypt_bignum::SubMod>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1533,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1535,1
    - Dst: std::make_unique<libgcrypt_bignum::Bit>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1536,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1538,1
    - Dst: std::make_unique<libgcrypt_bignum::SetBit>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1539,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1541,1
    - Dst: std::make_unique<libgcrypt_bignum::ClearBit>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1542,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1544,1
    - Dst: std::make_unique<libgcrypt_bignum::Mod>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1545,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1547,1
    - Dst: std::make_unique<libgcrypt_bignum::Sqr>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1548,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1550,1
    - Dst: std::make_unique<libgcrypt_bignum::NumBits>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1551,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1553,1
    - Dst: std::make_unique<libgcrypt_bignum::Exp>
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1554,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1558,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1559,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1559,1
    - Dst: libgcrypt_bignum::Bignum::ToComponentBignum
      Src: /src/cryptofuzz/modules/libgcrypt/module.cpp:1561,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 92
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1565
      start: 1458
    functionDepth: 3
    functionLinenumber: 1458
    functionLinenumberEnd: 1565
    functionName: cryptofuzz::module::libgcrypt::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - modifier::GetPtr
    - std::make_unique<libgcrypt_bignum::Sub>
    - libgcrypt_bignum::Bignum::ToComponentBignum
    - std::make_unique<libgcrypt_bignum::Abs>
    - std::make_unique<libgcrypt_bignum::SubMod>
    - modifier::GetSize
    - std::make_unique<libgcrypt_bignum::NumBits>
    - std::make_unique<libgcrypt_bignum::SetBit>
    - std::make_unique<libgcrypt_bignum::Add>
    - bn1::ToString
    - bn3::ToString
    - CF_CHECK_NE
    - std::make_unique<libgcrypt_bignum::IsZero>
    - libgcrypt_bignum::Bignum::Randomize
    - bn2::ToString
    - std::make_unique<libgcrypt_bignum::RShift>
    - std::make_unique<libgcrypt_bignum::IsOne>
    - calcOp::Get
    - std::make_unique<libgcrypt_bignum::Exp>
    - bn0::ToString
    - std::make_unique<libgcrypt_bignum::InvMod>
    - std::make_unique<libgcrypt_bignum::ClearBit>
    - CF_CHECK_EQ
    - std::make_unique<libgcrypt_bignum::IsNeg>
    - std::unique_ptr::Run
    - std::make_unique<libgcrypt_bignum::Cmp>
    - std::make_unique<libgcrypt_bignum::Bit>
    - std::make_unique<libgcrypt_bignum::Div>
    - std::make_unique<libgcrypt_bignum::Neg>
    - std::make_unique<libgcrypt_bignum::Mod>
    - std::make_unique<libgcrypt_bignum::ExpMod>
    - std::make_unique<libgcrypt_bignum::Sqr>
    - std::make_unique<libgcrypt_bignum::LShift1>
    - std::make_unique<libgcrypt_bignum::IsEq>
    - CF_NORET
    - std::make_unique<libgcrypt_bignum::AddMod>
    - std::make_unique<libgcrypt_bignum::Mul>
    - libgcrypt_bignum::BignumCluster::Set
    - getBignum
    - std::make_unique<libgcrypt_bignum::GCD>
    - std::make_unique<libgcrypt_bignum::MulMod>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> libgcrypt::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_new
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: cryptofuzz::module::libgcrypt_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - gcry_mpi_new
    linkageType: ''
    returnType: void
    signature: void Bignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_release
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: ~Bignum()
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - gcry_mpi_release
    linkageType: ''
    returnType: void
    signature: void ~Bignum()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_copy
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: cryptofuzz::module::libgcrypt_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - gcry_mpi_copy
    linkageType: ''
    returnType: void
    signature: void Bignum(const Bignum& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_copy
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: cryptofuzz::module::libgcrypt_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - gcry_mpi_copy
    linkageType: ''
    returnType: void
    signature: void Bignum(const Bignum&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:35,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:39,1
    - Dst: gcry_mpi_scan
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:39,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:39,1
    - Dst: gcry_mpi_release
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: cryptofuzz::module::libgcrypt_bignum::Bignum::Set
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - gcry_mpi_release
    - cryptofuzz::util::DecToHex
    - CF_CHECK_EQ
    - gcry_mpi_scan
    - auto::data
    linkageType: ''
    returnType: bool
    signature: bool Set(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:53,1
    - Dst: gcry_mpi_aprint
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:53,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:55,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:55,1
    - Dst: gcry_free
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: cryptofuzz::module::libgcrypt_bignum::Bignum::ToString
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - gcry_mpi_aprint
    - CF_CHECK_EQ
    - std::string
    - cryptofuzz::util::HexToDec
    - gcry_free
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> ToString(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: cryptofuzz::module::libgcrypt_bignum::Bignum::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t GetPtr(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::libgcrypt_bignum::Bignum::ToString
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:70,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: cryptofuzz::module::libgcrypt_bignum::Bignum::ToComponentBignum
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libgcrypt_bignum::Bignum::ToString
    - CF_CHECK_NE
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ToComponentBignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetData
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:80,1
    - Dst: std::vector::empty
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:83,1
    - Dst: cryptofuzz::module::libgcrypt_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:84,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: cryptofuzz::module::libgcrypt_bignum::Bignum::Randomize
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::libgcrypt_bignum::Bignum::Set
    - cryptofuzz::util::BinToDec
    - GetData
    - std::vector::empty
    linkageType: ''
    returnType: void
    signature: void Randomize(fuzzing::datasource::Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_cmp
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:89,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:89,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: operator==(const Bignum& rhs) const
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - GetPtr
    - gcry_mpi_cmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Bignum& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' ds'
    - bn0
    - bn1
    - bn2
    - bn3
    argTypes:
    - Datasource
    - Bignum
    - Bignum
    - Bignum
    - Bignum
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: cryptofuzz::module::libgcrypt_bignum::BignumCluster::BignumCluster
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BignumCluster(Datasource& ds, Bignum bn0, Bignum bn1, Bignum bn2,
      Bignum bn3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:105,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:106,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 126
    functionName: '& operator[](const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - Get
    - abort
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & operator[](const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:129,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: '& Get(const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - abort
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & Get(const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:137,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:138,1
    - Dst: cryptofuzz::module::libgcrypt_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - index
    - s
    argTypes:
    - size_t
    - std::string
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: cryptofuzz::module::libgcrypt_bignum::BignumCluster::Set
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::libgcrypt_bignum::BignumCluster::Set
    - abort
    - size
    linkageType: ''
    returnType: bool
    signature: bool Set(const size_t index, const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:145,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:149,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: cryptofuzz::module::libgcrypt_bignum::BignumCluster::GetResPtr
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - Get
    - CF_ASSERT
    - GetPtr
    linkageType: ''
    returnType: gcry_mpi_t
    signature: gcry_mpi_t GetResPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:156,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:158,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:159,1
    - Dst: gcry_mpi_set
      Src: /src/cryptofuzz/modules/libgcrypt/bn_ops.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' res'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: cryptofuzz::module::libgcrypt_bignum::BignumCluster::CopyResult
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached:
    - GetPtr
    - gcry_mpi_set
    - CF_ASSERT
    linkageType: ''
    returnType: void
    signature: void CopyResult(Bignum& res) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/libgcrypt/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JS::JS
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:13,1
    - Dst: SetBytecode
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::noble_hashes::noble_hashes
    functionSourceFile: /src/cryptofuzz/modules/noble-hashes/module.cpp
    functionUses: 0
    functionsReached:
    - SetBytecode
    - JS::JS
    linkageType: ''
    returnType: void
    signature: void noble_hashes::noble_hashes(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: noble_hashes::~noble_hashes(void)
    functionSourceFile: /src/cryptofuzz/modules/noble-hashes/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noble_hashes::~noble_hashes(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:28,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' ct'
    - ' ds'
    argTypes:
    - component::Cleartext
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: cryptofuzz::module::noble_hashes_detail::ToParts
    functionSourceFile: /src/cryptofuzz/modules/noble-hashes/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::ToParts
    - Get
    linkageType: ''
    returnType: std::optional<util::Multipart>
    signature: std::optional<util::Multipart> ToParts(const component::Cleartext&
      ct, fuzzing::datasource::Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::noble_hashes_detail::ToParts
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:39,1
    - Dst: Botan_Tests::Ed448_General_Test::to_array
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:43,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:45,1
    - Dst: push_back
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:46,1
    - Dst: auto::ToJSON
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' json'
    - ' ct'
    - ' ds'
    argTypes:
    - nlohmann::json
    - component::Cleartext
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: cryptofuzz::module::noble_hashes_detail::AddParts
    functionSourceFile: /src/cryptofuzz/modules/noble-hashes/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::noble_hashes_detail::ToParts
    - auto::ToJSON
    - push_back
    - Buffer
    - Botan_Tests::Ed448_General_Test::to_array
    linkageType: ''
    returnType: void
    signature: void AddParts(nlohmann::json& json, const component::Cleartext& ct,
      fuzzing::datasource::Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:56,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:56,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:57,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:58,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:58,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:60,1
    - Dst: cryptofuzz::module::noble_hashes_detail::AddParts
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:60,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:62,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:62,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:65,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: cryptofuzz::module::noble_hashes::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/noble-hashes/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - modifier::GetPtr
    - CF_NORET
    - std::to_string
    - Botan::PKCS11::LowLevel::C_Digest
    - modifier::GetSize
    - cryptofuzz::module::noble_hashes_detail::AddParts
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> noble_hashes::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:74,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:74,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:75,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:76,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:76,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:78,1
    - Dst: cryptofuzz::module::noble_hashes_detail::AddParts
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:78,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:80,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:80,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:83,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: cryptofuzz::module::noble_hashes::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/noble-hashes/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - modifier::GetPtr
    - CF_NORET
    - std::to_string
    - Botan_CLI::HMAC::HMAC
    - modifier::GetSize
    - cryptofuzz::module::noble_hashes_detail::AddParts
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> noble_hashes::OpHMAC(operation::HMAC&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:92,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:93,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:93,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:95,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:95,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:98,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: cryptofuzz::module::noble_hashes::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/noble-hashes/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> noble_hashes::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:107,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:108,1
    - Dst: CF_OPERATION
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:108,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:110,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:110,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:113,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/noble-hashes/module.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: cryptofuzz::module::noble_hashes::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/noble-hashes/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - Botan::TLS::Client_Hello_13::parse
    - Run
    - std::to_string
    - CF_OPERATION
    - ToJSON
    - auto::dump
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> noble_hashes::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp:11,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp:11,1
    - Dst: std::replace
      Src: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp:15,1
    - Dst: std::string::begin
      Src: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp:15,1
    - Dst: std::string::end
      Src: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp:15,1
    - Dst: std::replace
      Src: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp:16,1
    - Dst: std::string::begin
      Src: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp:16,1
    - Dst: std::string::end
      Src: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp:16,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp:17,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 21
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/noble-hashes/generate_ids.cpp
    functionUses: 97
    functionsReached:
    - printf
    - std::string::c_str
    - std::string::begin
    - std::replace
    - std::string::end
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:14,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:17,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:17,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:17,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:17,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:17,1
    - Dst: To_mbedtls_mpi_sint
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:21,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:22,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:24,1
    - Dst: mbedtls_mpi_add_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:24,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:24,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:24,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:29,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:29,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:29,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:30,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:30,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:30,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:31,1
    - Dst: mbedtls_mpi_add_abs
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:31,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:31,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:31,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 38
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 38
    functionName: cryptofuzz::module::mbedTLS_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - To_mbedtls_mpi_sint
    - mbedtls_mpi_add_int
    - mbedtls_mpi_cmp_int
    - CF_CHECK_EQ
    - GET_WHICH
    - mbedtls_mpi_add_mpi
    - mbedtls_mpi_add_abs
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:41,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:44,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:44,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:44,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:44,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:44,1
    - Dst: To_mbedtls_mpi_sint
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:48,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:49,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:51,1
    - Dst: mbedtls_mpi_sub_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:51,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:51,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:51,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:55,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:55,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:55,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:56,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:56,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:56,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:58,1
    - Dst: mbedtls_mpi_sub_abs
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:58,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:58,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:58,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 64
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 64
    functionName: cryptofuzz::module::mbedTLS_bignum::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - To_mbedtls_mpi_sint
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_sub_int
    - CF_CHECK_EQ
    - GET_WHICH
    - mbedtls_mpi_sub_mpi
    - mbedtls_mpi_sub_abs
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:67,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:70,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:70,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:70,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:70,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:70,1
    - Dst: GetUint32
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:74,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:75,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:77,1
    - Dst: mbedtls_mpi_mul_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:77,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:77,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: cryptofuzz::module::mbedTLS_bignum::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - CF_CHECK_EQ
    - GET_WHICH
    - GetUint32
    - mbedtls_mpi_mul_int
    - mbedtls_mpi_mul_mpi
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:87,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:90,1
    - Dst: mbedtls_mpi_div_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:90,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:90,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:90,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:90,1
    - Dst: To_mbedtls_mpi_sint
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:94,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:95,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:97,1
    - Dst: mbedtls_mpi_div_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:97,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:97,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: cryptofuzz::module::mbedTLS_bignum::Div::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - To_mbedtls_mpi_sint
    - CF_CHECK_EQ
    - GET_WHICH
    - mbedtls_mpi_div_mpi
    - mbedtls_mpi_div_int
    linkageType: ''
    returnType: bool
    signature: bool Div::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:110,1
    - Dst: mbedtls_mpi_exp_mod
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:110,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:110,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:110,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:110,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: cryptofuzz::module::mbedTLS_bignum::ExpMod::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_exp_mod
    - CF_CHECK_EQ
    - GetDestPtr
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool ExpMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:122,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:122,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:122,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:122,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: cryptofuzz::module::mbedTLS_bignum::Sqr::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - mbedtls_mpi_mul_mpi
    - GetDestPtr
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Sqr::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:134,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:134,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:134,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:135,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:135,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:135,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:136,1
    - Dst: mbedtls_mpi_gcd
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:136,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:136,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:136,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: cryptofuzz::module::mbedTLS_bignum::GCD::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - mbedtls_mpi_cmp_int
    - mbedtls_mpi_gcd
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool GCD::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_inv_mod
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:149,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:149,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:149,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:149,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 160
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 160
    functionName: cryptofuzz::module::mbedTLS_bignum::InvMod::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - mbedtls_mpi_inv_mod
    - GetDestPtr
    linkageType: ''
    returnType: bool
    signature: bool InvMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:163,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:166,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:166,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:166,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:166,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:166,1
    - Dst: To_mbedtls_mpi_sint
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:170,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:171,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:173,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:173,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:173,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:173,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:179,1
    - Dst: mbedtls_mpi_lt_mpi_ct
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:179,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:179,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:179,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 191
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 191
    functionName: cryptofuzz::module::mbedTLS_bignum::Cmp::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - To_mbedtls_mpi_sint
    - mbedtls_mpi_cmp_int
    - std::to_string
    - mbedtls_mpi_cmp_mpi
    - Set
    - CF_CHECK_EQ
    - GET_WHICH
    - mbedtls_mpi_lt_mpi_ct
    linkageType: ''
    returnType: bool
    signature: bool Cmp::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:197,1
    - Dst: mbedtls_mpi_lset
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:197,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:197,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:198,1
    - Dst: mbedtls_mpi_add_abs
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:198,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:198,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:198,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: cryptofuzz::module::mbedTLS_bignum::Abs::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetDestPtr
    - CF_CHECK_EQ
    - mbedtls_mpi_lset
    - mbedtls_mpi_add_abs
    linkageType: ''
    returnType: bool
    signature: bool Abs::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:210,1
    - Dst: mbedtls_mpi_lset
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:210,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:210,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:211,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:211,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:211,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:211,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 217
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 217
    functionName: cryptofuzz::module::mbedTLS_bignum::Neg::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetDestPtr
    - CF_CHECK_EQ
    - mbedtls_mpi_sub_mpi
    - mbedtls_mpi_lset
    linkageType: ''
    returnType: bool
    signature: bool Neg::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUint32
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:223,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:224,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:226,1
    - Dst: mbedtls_mpi_copy
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:226,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:226,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:226,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:227,1
    - Dst: mbedtls_mpi_shift_r
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:227,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 233
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 233
    functionName: cryptofuzz::module::mbedTLS_bignum::RShift::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_copy
    - CF_CHECK_NE
    - GetPtr
    - GetDestPtr
    - mbedtls_mpi_shift_r
    - CF_CHECK_EQ
    - GetUint32
    linkageType: ''
    returnType: bool
    signature: bool RShift::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:239,1
    - Dst: mbedtls_mpi_copy
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:239,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:239,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:239,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:240,1
    - Dst: mbedtls_mpi_shift_l
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:240,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 246
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 246
    functionName: cryptofuzz::module::mbedTLS_bignum::LShift1::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_shift_l
    - mbedtls_mpi_copy
    - GetPtr
    - GetDestPtr
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool LShift1::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:251,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:251,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:251,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: cryptofuzz::module::mbedTLS_bignum::IsNeg::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    - GetPtr
    - mbedtls_mpi_cmp_int
    linkageType: ''
    returnType: bool
    signature: bool IsNeg::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:259,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:259,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:259,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:259,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: cryptofuzz::module::mbedTLS_bignum::IsEq::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - mbedtls_mpi_cmp_mpi
    - Set
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsEq::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:267,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:267,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:267,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: cryptofuzz::module::mbedTLS_bignum::IsZero::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    - GetPtr
    - mbedtls_mpi_cmp_int
    linkageType: ''
    returnType: bool
    signature: bool IsZero::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:275,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:275,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:275,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: cryptofuzz::module::mbedTLS_bignum::IsOne::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    - GetPtr
    - mbedtls_mpi_cmp_int
    linkageType: ''
    returnType: bool
    signature: bool IsOne::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:284,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:284,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:284,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:284,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:284,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:285,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:285,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:285,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:285,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: cryptofuzz::module::mbedTLS_bignum::MulMod::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetDestPtr
    - CF_CHECK_EQ
    - mbedtls_mpi_mod_mpi
    - mbedtls_mpi_mul_mpi
    linkageType: ''
    returnType: bool
    signature: bool MulMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:297,1
    - Dst: mbedtls_mpi_add_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:297,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:297,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:297,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:297,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:298,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:298,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:298,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:298,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 304
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 304
    functionName: cryptofuzz::module::mbedTLS_bignum::AddMod::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetDestPtr
    - CF_CHECK_EQ
    - mbedtls_mpi_mod_mpi
    - mbedtls_mpi_add_mpi
    linkageType: ''
    returnType: bool
    signature: bool AddMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:310,1
    - Dst: mbedtls_mpi_sub_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:310,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:310,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:310,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:310,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:311,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:311,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:311,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:311,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 317
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 317
    functionName: cryptofuzz::module::mbedTLS_bignum::SubMod::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetDestPtr
    - CF_CHECK_EQ
    - mbedtls_mpi_mod_mpi
    - mbedtls_mpi_sub_mpi
    linkageType: ''
    returnType: bool
    signature: bool SubMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:323,1
    - Dst: mbedtls_mpi_mul_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:323,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:323,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:323,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:323,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:324,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:324,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:324,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:324,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 330
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 330
    functionName: cryptofuzz::module::mbedTLS_bignum::SqrMod::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetDestPtr
    - CF_CHECK_EQ
    - mbedtls_mpi_mod_mpi
    - mbedtls_mpi_mul_mpi
    linkageType: ''
    returnType: bool
    signature: bool SqrMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUint32
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:337,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:338,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:340,1
    - Dst: mbedtls_mpi_get_bit
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:340,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:340,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:341,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 347
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 347
    functionName: cryptofuzz::module::mbedTLS_bignum::Bit::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - CF_CHECK_GTE
    - std::to_string
    - Set
    - GetUint32
    - mbedtls_mpi_get_bit
    linkageType: ''
    returnType: bool
    signature: bool Bit::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:352,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:352,1
    - Dst: mbedtls_mpi_cmp_abs
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:352,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:352,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 355
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 355
    functionName: cryptofuzz::module::mbedTLS_bignum::CmpAbs::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_cmp_abs
    - std::to_string
    - Set
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool CmpAbs::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUint32
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:361,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:362,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:364,1
    - Dst: mbedtls_mpi_copy
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:364,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:364,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:364,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:365,1
    - Dst: mbedtls_mpi_set_bit
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:365,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' res'
    - ' bn'
    - value
    argTypes:
    - Bignum
    - BignumCluster
    - bool
    constantsTouched: []
    func_position:
      end: 371
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 371
    functionName: cryptofuzz::module::mbedTLS_bignum::detail::SetBit
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_copy
    - CF_CHECK_NE
    - GetPtr
    - GetDestPtr
    - CF_CHECK_EQ
    - GetUint32
    - mbedtls_mpi_set_bit
    linkageType: ''
    returnType: bool
    signature: bool SetBit(Bignum& res, BignumCluster& bn, const bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_bignum::detail::SetBit
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: cryptofuzz::module::mbedTLS_bignum::SetBit::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_bignum::detail::SetBit
    linkageType: ''
    returnType: bool
    signature: bool SetBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CryptoPP_bignum::detail::SetBit
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 384
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 384
    functionName: cryptofuzz::module::mbedTLS_bignum::ClearBit::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CryptoPP_bignum::detail::SetBit
    linkageType: ''
    returnType: bool
    signature: bool ClearBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:389,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:392,1
    - Dst: mbedtls_mpi_mod_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:392,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:392,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:392,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:392,1
    - Dst: To_mbedtls_mpi_sint
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:402,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:403,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:405,1
    - Dst: mbedtls_mpi_mod_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:405,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:405,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:407,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 415
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 415
    functionName: cryptofuzz::module::mbedTLS_bignum::Mod::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - To_mbedtls_mpi_sint
    - mbedtls_mpi_mod_int
    - CF_CHECK_EQ
    - std::to_string
    - Set
    - GET_WHICH
    - mbedtls_mpi_mod_mpi
    linkageType: ''
    returnType: bool
    signature: bool Mod::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:418,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:421,1
    - Dst: mbedtls_mpi_swap
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:421,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:421,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:421,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:424,1
    - Dst: mbedtls_mpi_safe_cond_assign
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:424,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:424,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:424,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:427,1
    - Dst: mbedtls_mpi_safe_cond_swap
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:427,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:427,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:427,1
    - Dst: To_mbedtls_mpi_sint
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:431,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:432,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:434,1
    - Dst: mbedtls_mpi_lset
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:434,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 441
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 441
    functionName: cryptofuzz::module::mbedTLS_bignum::Set::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_swap
    - GetPtr
    - mbedtls_mpi_safe_cond_assign
    - GetDestPtr
    - To_mbedtls_mpi_sint
    - CF_CHECK_NE
    - CF_NORET
    - CF_CHECK_EQ
    - mbedtls_mpi_safe_cond_swap
    - GET_WHICH
    - mbedtls_mpi_lset
    linkageType: ''
    returnType: bool
    signature: bool Set::Run(Datasource& ds, Bignum& res, BignumCluster& bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:446,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:446,1
    - Dst: mbedtls_mpi_lsb
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:446,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: cryptofuzz::module::mbedTLS_bignum::NumLSZeroBits::Run
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - mbedtls_mpi_lsb
    - Set
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool NumLSZeroBits::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ds
    argTypes:
    - Datasource*
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetGlobalDs(Datasource* ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnsetGlobalDs(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: cryptofuzz::module::mbedTLS_detail::AllocationFailure
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: bool
    signature: bool AllocationFailure(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::mbedTLS_detail::AllocationFailure
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:54,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - A
    - B
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: cryptofuzz::module::mbedTLS_custom_calloc
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - memset
    - cryptofuzz::module::mbedTLS_detail::AllocationFailure
    linkageType: ''
    returnType: void
    signature: void * mbedTLS_custom_calloc(size_t A, size_t B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: cryptofuzz::module::mbedTLS_custom_free
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    linkageType: ''
    returnType: void
    signature: void mbedTLS_custom_free(void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_platform_set_calloc_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:74,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: cryptofuzz::module::mbedTLS::mbedTLS
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_platform_set_calloc_free
    - abort
    linkageType: ''
    returnType: void
    signature: void mbedTLS::mbedTLS(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:83,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:90,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:91,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:91,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:92,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - arg
    - out
    - size
    argTypes:
    - void*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 98
    functionName: cryptofuzz::module::mbedTLS_detail::RNG
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - memcpy
    - auto::data
    - auto::size
    - GetData
    linkageType: ''
    returnType: int
    signature: int RNG(void* arg, unsigned char* out, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:104,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:105,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:106,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:107,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:108,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:109,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:110,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:111,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:112,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:113,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:114,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:115,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:116,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:117,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:118,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:119,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:120,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:121,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:122,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:123,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:124,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:125,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:126,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:127,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:128,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:129,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:130,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:131,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:132,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:133,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:134,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:135,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:136,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:137,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:138,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:139,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:140,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:141,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:142,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:143,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:144,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:145,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:146,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:147,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:148,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:149,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:150,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:151,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:152,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:153,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:154,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:155,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:156,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:157,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:158,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:159,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:160,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:161,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:162,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:163,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:164,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:165,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:166,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:167,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:168,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:169,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:170,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:171,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:172,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:173,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:174,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:175,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:176,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:179,1
    - Dst: component::SymmetricCipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:179,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:179,1
    - Dst: mbedtls_cipher_info_from_type
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:183,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:183,1
    - Dst: component::SymmetricCipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cipherType
    argTypes:
    - component::SymmetricCipherType
    constantsTouched: []
    func_position:
      end: 184
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 184
    functionName: cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - component::SymmetricCipherType::Get
    - std::map::end
    - std::map::find
    - std::map::at
    - CF_CIPHER
    - mbedtls_cipher_info_from_type
    linkageType: ''
    returnType: mbedtls_cipher_info_t
    signature: mbedtls_cipher_info_t * to_mbedtls_cipher_info_t(const component::SymmetricCipherType
      cipherType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:190,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:191,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:192,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:193,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:194,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:195,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:196,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:199,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:199,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:199,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:203,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 204
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 204
    functionName: cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::find
    - std::map::end
    - std::map::at
    - CF_DIGEST
    - Get
    linkageType: ''
    returnType: mbedtls_md_type_t
    signature: mbedtls_md_type_t to_mbedtls_md_type_t(const component::DigestType&
      digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:210,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:210,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:211,1
    - Dst: mbedtls_md_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:218,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:222,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:224,1
    - Dst: cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:224,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:225,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:225,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:226,1
    - Dst: mbedtls_md_setup
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:226,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:227,1
    - Dst: mbedtls_md_starts
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:227,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:232,1
    - Dst: mbedtls_md_update
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:232,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:238,1
    - Dst: mbedtls_md_finish
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:238,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:240,1
    - Dst: mbedtls_md_get_size
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:240,1
    - Dst: mbedtls_md_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:244,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 249
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 249
    functionName: cryptofuzz::module::mbedTLS::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_md_starts
    - mbedtls_md_finish
    - CF_CHECK_NE
    - modifier::GetPtr
    - mbedtls_md_setup
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - CF_CHECK_EQ
    - Botan::PKCS11::LowLevel::C_Digest
    - mbedtls_md_init
    - mbedtls_md_get_size
    - modifier::GetSize
    - mbedtls_md_free
    - cryptofuzz::util::ToParts
    - mbedtls_md_update
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
    - mbedtls_md_info_from_type
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> mbedTLS::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:253,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:253,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:254,1
    - Dst: mbedtls_md_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:262,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:266,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:268,1
    - Dst: cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:268,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:269,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:269,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:270,1
    - Dst: mbedtls_md_setup
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:270,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:271,1
    - Dst: mbedtls_md_hmac_starts
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:271,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:271,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:271,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:276,1
    - Dst: mbedtls_md_hmac_update
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:276,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:282,1
    - Dst: mbedtls_md_hmac_finish
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:282,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:284,1
    - Dst: mbedtls_md_get_size
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:284,1
    - Dst: mbedtls_md_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:288,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 293
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 293
    functionName: cryptofuzz::module::mbedTLS::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - modifier::GetSize
    - cipher::key::GetPtr
    - mbedtls_md_free
    - Botan_CLI::HMAC::HMAC
    - CF_CHECK_NE
    - mbedtls_md_hmac_update
    - mbedtls_md_hmac_finish
    - mbedtls_md_hmac_starts
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - mbedtls_md_info_from_type
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - CF_CHECK_EQ
    - mbedtls_md_init
    - mbedtls_md_get_size
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - mbedtls_md_setup
    - cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> mbedTLS::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:297,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:297,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:298,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:307,1
    - Dst: cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:307,1
    - Dst: mbedtls_cipher_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:308,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:310,1
    - Dst: mbedtls_cipher_get_block_size
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:310,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:314,1
    - Dst: mbedtls_cipher_cmac
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:314,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:314,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:314,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:314,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:314,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:316,1
    - Dst: mbedtls_cipher_get_block_size
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:316,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:321,1
    - Dst: mbedtls_cipher_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:324,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 330
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 330
    functionName: cryptofuzz::module::mbedTLS::OpCMAC
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - modifier::GetPtr
    - cleartext::GetPtr
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - CF_CHECK_EQ
    - cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
    - mbedtls_cipher_get_block_size
    - mbedtls_cipher_cmac
    - mbedtls_cipher_free
    - modifier::GetSize
    - mbedtls_cipher_init
    - cipher::key::GetPtr
    - cryptofuzz::util::malloc
    - Botan_CLI::HMAC::HMAC
    - cipher::key::GetSize
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> mbedTLS::OpCMAC(operation::CMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:343,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:343,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:344,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:350,1
    - Dst: cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:350,1
    - Dst: mbedtls_cipher_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:351,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:353,1
    - Dst: mbedtls_cipher_setup
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:353,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:354,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:354,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:354,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:354,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:355,1
    - Dst: mbedtls_cipher_reset
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:355,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:357,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:357,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:363,1
    - Dst: mbedtls_cipher_auth_encrypt_ext
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:363,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:364,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:364,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:365,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:365,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:366,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:366,1
    - Dst: cryptofuzz::repository::IsWRAP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:370,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:370,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:371,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:371,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:372,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:373,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:373,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:374,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:374,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:376,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:376,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:381,1
    - Dst: mbedtls_cipher_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:384,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 390
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 390
    functionName: cryptofuzz::module::mbedTLS_detail::encrypt_AEAD
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - aad::GetPtr
    - modifier::GetSize
    - cipher::key::GetPtr
    - cleartext::GetSize
    - CF_CHECK_NE
    - cipher::iv::GetSize
    - mbedtls_cipher_setkey
    - cipher::iv::GetPtr
    - mbedtls_cipher_setup
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - cryptofuzz::component::Ciphertext::Ciphertext
    - mbedtls_cipher_reset
    - cryptofuzz::util::free
    - cipher::cipherType::Get
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - CF_CHECK_EQ
    - cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
    - mbedtls_cipher_init
    - aad::GetSize
    - cipher::key::GetSize
    - CF_ASSERT
    - cleartext::GetPtr
    - cryptofuzz::repository::IsWRAP
    - mbedtls_cipher_free
    - Buffer
    - mbedtls_cipher_auth_encrypt_ext
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> encrypt_AEAD(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:396,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:396,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:397,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:403,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:403,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:403,1
    - Dst: cryptofuzz::module::mbedTLS_detail::encrypt_AEAD
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:408,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:411,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:411,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:412,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:426,1
    - Dst: cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:426,1
    - Dst: mbedtls_cipher_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:428,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:431,1
    - Dst: mbedtls_cipher_setup
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:431,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:432,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:432,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:432,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:432,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:433,1
    - Dst: mbedtls_cipher_set_iv
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:433,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:433,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:433,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:434,1
    - Dst: mbedtls_cipher_reset
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:434,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:435,1
    - Dst: mbedtls_cipher_update_ad
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:435,1
    - Dst: cryptofuzz::repository::IsXTS
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:437,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:437,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:440,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:440,1
    - Dst: cryptofuzz::repository::IsGCM
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:441,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:441,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:441,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:441,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:455,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:455,1
    - Dst: util::Multipart::push_back
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:461,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:461,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:467,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:467,1
    - Dst: util::Multipart::push_back
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:468,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:468,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:471,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:479,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:479,1
    - Dst: mbedtls_cipher_get_block_size
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:479,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:485,1
    - Dst: mbedtls_cipher_update
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:485,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:493,1
    - Dst: mbedtls_cipher_finish
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:493,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:497,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:497,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:501,1
    - Dst: mbedtls_cipher_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:504,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:507,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 510
      start: 393
    functionDepth: 3
    functionLinenumber: 393
    functionLinenumberEnd: 510
    functionName: cryptofuzz::module::mbedTLS::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::IsGCM
    - modifier::GetPtr
    - modifier::GetSize
    - cipher::key::GetPtr
    - mbedtls_cipher_update_ad
    - cleartext::GetSize
    - CF_CHECK_NE
    - cipher::iv::GetSize
    - cryptofuzz::module::mbedTLS_detail::encrypt_AEAD
    - mbedtls_cipher_setkey
    - cipher::iv::GetPtr
    - mbedtls_cipher_finish
    - mbedtls_cipher_setup
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - cryptofuzz::component::Ciphertext::Ciphertext
    - mbedtls_cipher_reset
    - cryptofuzz::util::free
    - cryptofuzz::repository::IsECB
    - cipher::cipherType::Get
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - CF_CHECK_EQ
    - cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
    - mbedtls_cipher_get_block_size
    - util::Multipart::push_back
    - mbedtls_cipher_init
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - cleartext::GetPtr
    - CF_CIPHER
    - mbedtls_cipher_update
    - cryptofuzz::repository::IsXTS
    - mbedtls_cipher_free
    - mbedtls_cipher_set_iv
    - Buffer
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> mbedTLS::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:515,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:515,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:516,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:528,1
    - Dst: cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:528,1
    - Dst: mbedtls_cipher_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:529,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:531,1
    - Dst: mbedtls_cipher_setup
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:531,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:532,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:532,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:532,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:532,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:533,1
    - Dst: mbedtls_cipher_reset
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:533,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:535,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:535,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:538,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:538,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:538,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:540,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:540,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:540,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:540,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:546,1
    - Dst: mbedtls_cipher_auth_decrypt_ext
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:546,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:547,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:547,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:548,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:548,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:551,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:553,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:553,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:557,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:558,1
    - Dst: mbedtls_cipher_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:561,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 567
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 567
    functionName: cryptofuzz::module::mbedTLS_detail::decrypt_AEAD
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - ciphertext::GetPtr
    - aad::GetPtr
    - mbedtls_cipher_auth_decrypt_ext
    - modifier::GetSize
    - cipher::key::GetPtr
    - CF_CHECK_NE
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - mbedtls_cipher_setkey
    - cipher::iv::GetPtr
    - memcpy
    - mbedtls_cipher_setup
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - mbedtls_cipher_reset
    - cryptofuzz::util::free
    - tag::GetSize
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - CF_CHECK_EQ
    - cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
    - mbedtls_cipher_init
    - aad::GetSize
    - tag::GetPtr
    - cipher::key::GetSize
    - mbedtls_cipher_free
    - Buffer
    - component::Cleartext
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> decrypt_AEAD(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::IsWRAP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:575,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:575,1
    - Dst: cryptofuzz::module::mbedTLS_detail::decrypt_AEAD
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:576,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:579,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:579,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:579,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:583,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:583,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:584,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:598,1
    - Dst: cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:598,1
    - Dst: mbedtls_cipher_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:600,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:603,1
    - Dst: mbedtls_cipher_setup
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:603,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:604,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:604,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:604,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:604,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:605,1
    - Dst: mbedtls_cipher_set_iv
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:605,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:605,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:605,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:606,1
    - Dst: mbedtls_cipher_reset
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:606,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:607,1
    - Dst: mbedtls_cipher_update_ad
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:607,1
    - Dst: cryptofuzz::repository::IsXTS
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:609,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:609,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:612,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:612,1
    - Dst: cryptofuzz::repository::IsGCM
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:613,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:613,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:613,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:613,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:638,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:638,1
    - Dst: util::Multipart::push_back
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:644,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:644,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:650,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:650,1
    - Dst: util::Multipart::push_back
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:651,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:651,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:654,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:661,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:661,1
    - Dst: mbedtls_cipher_get_block_size
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:661,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:667,1
    - Dst: mbedtls_cipher_update
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:667,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:675,1
    - Dst: mbedtls_cipher_finish
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:675,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:679,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:683,1
    - Dst: mbedtls_cipher_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:686,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:689,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 692
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 692
    functionName: cryptofuzz::module::mbedTLS::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::repository::IsGCM
    - modifier::GetPtr
    - ciphertext::GetPtr
    - modifier::GetSize
    - cipher::key::GetPtr
    - mbedtls_cipher_update_ad
    - CF_CHECK_NE
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - mbedtls_cipher_setkey
    - cipher::iv::GetPtr
    - mbedtls_cipher_finish
    - mbedtls_cipher_setup
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - mbedtls_cipher_reset
    - cryptofuzz::util::free
    - cryptofuzz::repository::IsECB
    - cipher::cipherType::Get
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - CF_CHECK_EQ
    - cryptofuzz::module::mbedTLS_detail::to_mbedtls_cipher_info_t
    - mbedtls_cipher_get_block_size
    - util::Multipart::push_back
    - mbedtls_cipher_init
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - CF_CIPHER
    - mbedtls_cipher_update
    - cryptofuzz::repository::IsXTS
    - cryptofuzz::repository::IsWRAP
    - mbedtls_cipher_free
    - mbedtls_cipher_set_iv
    - cryptofuzz::module::mbedTLS_detail::decrypt_AEAD
    - component::Cleartext
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> mbedTLS::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:696,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:696,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:697,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:703,1
    - Dst: cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:703,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:704,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:704,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:711,1
    - Dst: mbedtls_md_get_size
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:711,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:712,1
    - Dst: mbedtls_hkdf
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:713,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:715,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:716,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:717,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:718,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:719,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:720,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:724,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:727,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 732
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 732
    functionName: cryptofuzz::module::mbedTLS::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - modifier::GetPtr
    - modifier::GetSize
    - CF_CHECK_LTE
    - CF_CHECK_NE
    - mbedtls_hkdf
    - salt::GetPtr
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - mbedtls_md_info_from_type
    - cryptofuzz::util::free
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - CF_CHECK_EQ
    - mbedtls_md_get_size
    - info::GetPtr
    - salt::GetSize
    - password::GetPtr
    - info::GetSize
    - cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> mbedTLS::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:736,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:736,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:737,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:744,1
    - Dst: cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:744,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:745,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:745,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:746,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:746,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:749,1
    - Dst: mbedtls_pkcs12_derivation
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:749,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:752,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:753,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:754,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:755,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:760,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF
    constantsTouched: []
    func_position:
      end: 765
      start: 734
    functionDepth: 2
    functionLinenumber: 734
    functionLinenumberEnd: 765
    functionName: cryptofuzz::module::mbedTLS::OpKDF_PBKDF
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_pkcs12_derivation
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - CF_CHECK_NE
    - password::GetPtr
    - cryptofuzz::util::free
    - modifier::GetPtr
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - CF_CHECK_EQ
    - CF_CHECK_GT
    - salt::GetPtr
    - modifier::GetSize
    - salt::GetSize
    - cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> mbedTLS::OpKDF_PBKDF(operation::KDF_PBKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:769,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:769,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:770,1
    - Dst: mbedtls_md_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:779,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:780,1
    - Dst: cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:780,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:781,1
    - Dst: mbedtls_md_info_from_type
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:781,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:782,1
    - Dst: mbedtls_md_setup
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:782,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:783,1
    - Dst: mbedtls_md_starts
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:783,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:786,1
    - Dst: mbedtls_pkcs5_pbkdf2_hmac
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:786,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:788,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:789,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:790,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:791,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:796,1
    - Dst: mbedtls_md_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:799,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:800,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 805
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 805
    functionName: cryptofuzz::module::mbedTLS::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - modifier::GetPtr
    - modifier::GetSize
    - mbedtls_md_free
    - CF_CHECK_NE
    - salt::GetPtr
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - mbedtls_md_info_from_type
    - mbedtls_pkcs5_pbkdf2_hmac
    - cryptofuzz::util::free
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - CF_CHECK_EQ
    - mbedtls_md_init
    - salt::GetSize
    - password::GetPtr
    - mbedtls_md_setup
    - mbedtls_md_starts
    - cryptofuzz::module::mbedTLS_detail::to_mbedtls_md_type_t
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> mbedTLS::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:810,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:811,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:812,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:813,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:814,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:815,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:816,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:817,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:818,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:819,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:820,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:822,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:826,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:826,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:826,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:830,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 831
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 831
    functionName: cryptofuzz::module::mbedTLS_detail::toTLSID
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::find
    - std::map::end
    - std::map::at
    - CF_ECC_CURVE
    - Get
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: std::optional<uint16_t> toTLSID(const component::CurveType& curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:838,1
    - Dst: mbedtls_mpi_write_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:838,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:839,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:839,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:840,1
    - Dst: mbedtls_mpi_write_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:840,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:842,1
    - Dst: free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - mpi
    argTypes:
    - mbedtls_mpi*
    constantsTouched: []
    func_position:
      end: 847
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 847
    functionName: cryptofuzz::module::mbedTLS_detail::MPIToString
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - CF_CHECK_EQ
    - mbedtls_mpi_write_string
    - std::string
    - free
    - malloc
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> MPIToString(const mbedtls_mpi* mpi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:852,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:852,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:853,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:858,1
    - Dst: mbedtls_ecp_keypair_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:858,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:862,1
    - Dst: cryptofuzz::module::mbedTLS_detail::toTLSID
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:862,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:863,1
    - Dst: mbedtls_ecp_curve_info_from_tls_id
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:863,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:866,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:866,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:869,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:869,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:869,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:871,1
    - Dst: mbedtls_ecp_mul
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:871,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:877,1
    - Dst: cryptofuzz::module::mbedTLS_detail::MPIToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:877,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:878,1
    - Dst: cryptofuzz::module::mbedTLS_detail::MPIToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:878,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:884,1
    - Dst: mbedtls_ecp_keypair_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:884,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 889
      start: 850
    functionDepth: 2
    functionLinenumber: 850
    functionLinenumberEnd: 889
    functionName: cryptofuzz::module::mbedTLS::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - mbedtls_ecp_keypair_free
    - cryptofuzz::module::mbedTLS_detail::MPIToString
    - modifier::GetPtr
    - CF_NORET
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - cryptofuzz::module::mbedTLS_detail::toTLSID
    - mbedtls_ecp_curve_info_from_tls_id
    - CF_CHECK_EQ
    - mbedtls_ecp_mul
    - modifier::GetSize
    - mbedtls_mpi_read_string
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - mbedtls_ecp_group_load
    - mbedtls_ecp_keypair_init
    - priv::ToString
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> mbedTLS::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:904,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:909,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:909,1
    - Dst: component::ECC_Point::first::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:909,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:910,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:910,1
    - Dst: component::ECC_Point::second::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:910,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:911,1
    - Dst: mbedtls_mpi_lset
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:911,1
    - Dst: cryptofuzz::util::ToRandomProjective
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:913,1
    - Dst: component::ECC_Point::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:915,1
    - Dst: component::ECC_Point::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:916,1
    - Dst: component::CurveType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:917,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:918,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:918,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:918,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:919,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:919,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:919,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:920,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:920,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - ' ds'
    - in
    - ' out'
    - curveType
    argTypes:
    - fuzzing::datasource::Datasource
    - component::ECC_Point
    - mbedtls_ecp_point
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 926
      start: 892
    functionDepth: 3
    functionLinenumber: 892
    functionLinenumberEnd: 926
    functionName: cryptofuzz::module::mbedTLS_detail::LoadPoint
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - component::CurveType::Get
    - component::ECC_Point::first::ToTrimmedString
    - component::ECC_Point::second::ToString
    - c_str
    - component::ECC_Point::first::ToString
    - cryptofuzz::util::ToRandomProjective
    - CF_CHECK_EQ
    - component::ECC_Point::second::ToTrimmedString
    - mbedtls_mpi_lset
    - mbedtls_mpi_read_string
    - Get
    linkageType: ''
    returnType: bool
    signature: "bool LoadPoint(\n            fuzzing::datasource::Datasource& ds,\n
      \           const component::ECC_Point in,\n            mbedtls_ecp_point& out,\n
      \           const component::CurveType curveType,\n            const bool onlyAffine
      = false)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:931,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:931,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:932,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:938,1
    - Dst: mbedtls_ecp_group_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:938,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:939,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:939,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:943,1
    - Dst: cryptofuzz::module::mbedTLS_detail::toTLSID
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:943,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:944,1
    - Dst: mbedtls_ecp_curve_info_from_tls_id
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:944,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:947,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:947,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:949,1
    - Dst: cryptofuzz::module::mbedTLS_detail::LoadPoint
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:949,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:951,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:954,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:954,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:955,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:955,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 960
      start: 929
    functionDepth: 4
    functionLinenumber: 929
    functionLinenumberEnd: 960
    functionName: cryptofuzz::module::mbedTLS::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_ecp_group_init
    - CF_CHECK_NE
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - modifier::GetPtr
    - CF_NORET
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - cryptofuzz::module::mbedTLS_detail::toTLSID
    - mbedtls_ecp_curve_info_from_tls_id
    - CF_CHECK_EQ
    - mbedtls_ecp_group_free
    - mbedtls_ecp_point_free
    - mbedtls_ecp_check_pubkey
    - modifier::GetSize
    - mbedtls_ecp_point_init
    - cryptofuzz::module::mbedTLS_detail::LoadPoint
    - mbedtls_ecp_group_load
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> mbedTLS::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:964,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:964,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:965,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:973,1
    - Dst: mbedtls_ecp_group_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:973,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:974,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:974,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:975,1
    - Dst: mbedtls_mpi_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:975,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:976,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:976,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:980,1
    - Dst: cryptofuzz::module::mbedTLS_detail::toTLSID
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:980,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:981,1
    - Dst: mbedtls_ecp_curve_info_from_tls_id
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:981,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:984,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:984,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:987,1
    - Dst: cryptofuzz::module::mbedTLS_detail::LoadPoint
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:987,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:990,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:990,1
    - Dst: b::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:990,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:993,1
    - Dst: mbedtls_ecp_mul
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:993,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:995,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:996,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:997,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1001,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1002,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1003,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1010,1
    - Dst: cryptofuzz::module::mbedTLS_detail::MPIToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1010,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1011,1
    - Dst: cryptofuzz::module::mbedTLS_detail::MPIToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1011,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1016,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1016,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1017,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1017,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1018,1
    - Dst: mbedtls_mpi_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1018,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1019,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1019,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1021,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 1024
      start: 962
    functionDepth: 4
    functionLinenumber: 962
    functionLinenumberEnd: 1024
    functionName: cryptofuzz::module::mbedTLS::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_free
    - b::ToString
    - modifier::GetPtr
    - mbedtls_ecp_mul
    - mbedtls_ecp_curve_info_from_tls_id
    - modifier::GetSize
    - mbedtls_ecp_point_init
    - mbedtls_mpi_read_string
    - mbedtls_ecp_group_load
    - CF_CHECK_NE
    - cryptofuzz::module::mbedTLS_detail::MPIToString
    - mbedtls_mpi_cmp_int
    - cryptofuzz::module::mbedTLS_detail::toTLSID
    - mbedtls_mpi_init
    - cryptofuzz::module::mbedTLS_detail::LoadPoint
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - mbedtls_ecp_group_init
    - mbedtls_ecp_point_free
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - CF_CHECK_EQ
    - CF_CHECK_TRUE
    - CF_ASSERT
    - CF_NORET
    - mbedtls_ecp_group_free
    - mbedtls_ecp_check_pubkey
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> mbedTLS::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1028,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1028,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1029,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1036,1
    - Dst: mbedtls_ecp_group_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1036,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1037,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1037,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1038,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1038,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1039,1
    - Dst: mbedtls_mpi_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1039,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1040,1
    - Dst: mbedtls_ecp_point_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1040,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1044,1
    - Dst: cryptofuzz::module::mbedTLS_detail::toTLSID
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1044,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1045,1
    - Dst: mbedtls_ecp_curve_info_from_tls_id
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1045,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1048,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1048,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1051,1
    - Dst: cryptofuzz::module::mbedTLS_detail::LoadPoint
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1051,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1054,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1054,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1055,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1055,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1058,1
    - Dst: cryptofuzz::module::mbedTLS_detail::LoadPoint
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1058,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1061,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1061,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1062,1
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1062,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1064,1
    - Dst: mbedtls_mpi_lset
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1064,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1067,1
    - Dst: mbedtls_ecp_muladd
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1067,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1069,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1069,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1070,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1070,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1071,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1071,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1076,1
    - Dst: cryptofuzz::module::mbedTLS_detail::MPIToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1076,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1077,1
    - Dst: cryptofuzz::module::mbedTLS_detail::MPIToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1077,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1082,1
    - Dst: mbedtls_ecp_group_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1082,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1083,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1083,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1084,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1084,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1085,1
    - Dst: mbedtls_mpi_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1085,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1086,1
    - Dst: mbedtls_ecp_point_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1086,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 1091
      start: 1026
    functionDepth: 4
    functionLinenumber: 1026
    functionLinenumberEnd: 1091
    functionName: cryptofuzz::module::mbedTLS::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_free
    - modifier::GetPtr
    - mbedtls_ecp_curve_info_from_tls_id
    - CF_CHECK_LT
    - modifier::GetSize
    - mbedtls_ecp_point_init
    - mbedtls_mpi_lset
    - mbedtls_ecp_group_load
    - CF_CHECK_NE
    - cryptofuzz::module::mbedTLS_detail::MPIToString
    - cryptofuzz::module::mbedTLS_detail::toTLSID
    - mbedtls_mpi_cmp_mpi
    - mbedtls_ecp_muladd
    - mbedtls_mpi_init
    - cryptofuzz::module::mbedTLS_detail::LoadPoint
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - mbedtls_ecp_group_init
    - mbedtls_ecp_point_free
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - CF_CHECK_EQ
    - CF_CHECK_TRUE
    - CF_NORET
    - mbedtls_ecp_group_free
    - mbedtls_ecp_check_pubkey
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> mbedTLS::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1094,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1094,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1099,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1099,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1100,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1106,1
    - Dst: mbedtls_ecp_keypair_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1106,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1107,1
    - Dst: mbedtls_mpi_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1107,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1108,1
    - Dst: mbedtls_mpi_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1108,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1110,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1110,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1114,1
    - Dst: cryptofuzz::module::mbedTLS_detail::toTLSID
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1114,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1115,1
    - Dst: mbedtls_ecp_curve_info_from_tls_id
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1115,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1118,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1118,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1121,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1121,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1121,1
    - Dst: cleartext::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1124,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1125,1
    - Dst: mbedtls_ecdsa_sign
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1125,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1125,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1125,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1128,1
    - Dst: mbedtls_ecp_mul
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1128,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1130,1
    - Dst: mbedtls_ecdsa_verify
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1131,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1131,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1131,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1137,1
    - Dst: cryptofuzz::module::mbedTLS_detail::MPIToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1137,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1138,1
    - Dst: cryptofuzz::module::mbedTLS_detail::MPIToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1138,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1139,1
    - Dst: cryptofuzz::module::mbedTLS_detail::MPIToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1139,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1140,1
    - Dst: cryptofuzz::module::mbedTLS_detail::MPIToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1140,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1146,1
    - Dst: mbedtls_ecp_keypair_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1146,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1148,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1150,1
    - Dst: mbedtls_mpi_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1150,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1151,1
    - Dst: mbedtls_mpi_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 1154
      start: 1093
    functionDepth: 2
    functionLinenumber: 1093
    functionLinenumberEnd: 1154
    functionName: cryptofuzz::module::mbedTLS::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_free
    - mbedtls_ecp_keypair_free
    - modifier::GetPtr
    - mbedtls_ecp_mul
    - mbedtls_ecp_curve_info_from_tls_id
    - modifier::GetSize
    - cleartext::ECDSA_RandomPad
    - mbedtls_mpi_read_string
    - UseRandomNonce
    - mbedtls_ecp_group_load
    - priv::ToString
    - cleartext::GetSize
    - auto::GetSize
    - CF_CHECK_NE
    - cryptofuzz::module::mbedTLS_detail::MPIToString
    - cryptofuzz::module::mbedTLS_detail::toTLSID
    - mbedtls_mpi_init
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - mbedtls_ecp_keypair_init
    - mbedtls_ecdsa_verify
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - digestType::Is
    - CF_CHECK_EQ
    - auto::GetPtr
    - mbedtls_ecdsa_sign
    - CF_ASSERT
    - CF_NORET
    - cleartext::GetPtr
    - CF_DIGEST
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> mbedTLS::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1157,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1157,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1158,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1158,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1163,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1163,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1164,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1170,1
    - Dst: mbedtls_ecdsa_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1170,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1171,1
    - Dst: mbedtls_mpi_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1171,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1172,1
    - Dst: mbedtls_mpi_init
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1172,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1176,1
    - Dst: cryptofuzz::module::mbedTLS_detail::toTLSID
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1176,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1177,1
    - Dst: mbedtls_ecp_curve_info_from_tls_id
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1177,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1180,1
    - Dst: mbedtls_ecp_group_load
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1180,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1183,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1183,1
    - Dst: signature::pub::first::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1183,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1184,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1184,1
    - Dst: signature::pub::second::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1184,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1185,1
    - Dst: mbedtls_mpi_lset
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1185,1
    - Dst: mbedtls_ecp_check_pubkey
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1187,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1193,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1193,1
    - Dst: signature::signature::first::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1193,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1194,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1194,1
    - Dst: signature::signature::second::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1194,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1199,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1200,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1203,1
    - Dst: mbedtls_sha256
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1203,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1203,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1203,1
    - Dst: mbedtls_ecdsa_verify
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1204,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1207,1
    - Dst: cleartext::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1209,1
    - Dst: mbedtls_ecdsa_verify
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1210,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1210,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1210,1
    - Dst: CF_UNREACHABLE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1214,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1225,1
    - Dst: mbedtls_ecdsa_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1225,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1226,1
    - Dst: mbedtls_mpi_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1226,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1227,1
    - Dst: mbedtls_mpi_free
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1227,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1229,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 1232
      start: 1156
    functionDepth: 2
    functionLinenumber: 1156
    functionLinenumberEnd: 1232
    functionName: cryptofuzz::module::mbedTLS::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - signature::signature::second::ToString
    - mbedtls_mpi_free
    - modifier::GetPtr
    - digestType::Get
    - mbedtls_ecp_curve_info_from_tls_id
    - signature::signature::first::ToString
    - modifier::GetSize
    - cleartext::ECDSA_RandomPad
    - mbedtls_mpi_lset
    - mbedtls_mpi_read_string
    - mbedtls_ecdsa_init
    - mbedtls_ecp_group_load
    - mbedtls_sha256
    - cleartext::GetSize
    - auto::GetSize
    - CF_CHECK_NE
    - cryptofuzz::module::mbedTLS_detail::toTLSID
    - mbedtls_mpi_init
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - mbedtls_ecdsa_verify
    - CF_UNREACHABLE
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - digestType::Is
    - CF_CHECK_EQ
    - signature::pub::first::ToString
    - signature::pub::second::ToString
    - auto::GetPtr
    - CF_NORET
    - cleartext::GetPtr
    - mbedtls_ecdsa_free
    - mbedtls_ecp_check_pubkey
    - CF_DIGEST
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> mbedTLS::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1236,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1236,1
    - Dst: cryptofuzz::module::mbedTLS_detail::SetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1237,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1241,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1242,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1243,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1244,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1248,1
    - Dst: mbedTLS_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1248,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1249,1
    - Dst: mbedTLS_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1249,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1249,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1250,1
    - Dst: mbedTLS_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1250,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1250,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1251,1
    - Dst: mbedTLS_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1251,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1251,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1252,1
    - Dst: mbedTLS_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1252,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1252,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1255,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1256,1
    - Dst: std::make_unique<mbedTLS_bignum::Add>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1257,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1259,1
    - Dst: std::make_unique<mbedTLS_bignum::Sub>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1260,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1262,1
    - Dst: std::make_unique<mbedTLS_bignum::Mul>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1263,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1265,1
    - Dst: std::make_unique<mbedTLS_bignum::Div>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1266,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1268,1
    - Dst: std::make_unique<mbedTLS_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1269,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1271,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1273,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1273,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1274,1
    - Dst: bn1::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1274,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1275,1
    - Dst: bn2::GetSize
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1275,1
    - Dst: std::make_unique<mbedTLS_bignum::Sqr>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1277,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1279,1
    - Dst: std::make_unique<mbedTLS_bignum::GCD>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1280,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1282,1
    - Dst: std::make_unique<mbedTLS_bignum::InvMod>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1283,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1285,1
    - Dst: std::make_unique<mbedTLS_bignum::Cmp>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1286,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1288,1
    - Dst: std::make_unique<mbedTLS_bignum::Abs>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1289,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1291,1
    - Dst: std::make_unique<mbedTLS_bignum::Neg>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1292,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1294,1
    - Dst: std::make_unique<mbedTLS_bignum::RShift>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1295,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1297,1
    - Dst: std::make_unique<mbedTLS_bignum::LShift1>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1298,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1300,1
    - Dst: std::make_unique<mbedTLS_bignum::IsNeg>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1301,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1303,1
    - Dst: std::make_unique<mbedTLS_bignum::IsEq>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1304,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1306,1
    - Dst: std::make_unique<mbedTLS_bignum::IsZero>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1307,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1309,1
    - Dst: std::make_unique<mbedTLS_bignum::IsOne>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1310,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1312,1
    - Dst: std::make_unique<mbedTLS_bignum::MulMod>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1313,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1315,1
    - Dst: std::make_unique<mbedTLS_bignum::AddMod>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1316,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1318,1
    - Dst: std::make_unique<mbedTLS_bignum::SubMod>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1319,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1321,1
    - Dst: std::make_unique<mbedTLS_bignum::SqrMod>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1322,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1324,1
    - Dst: std::make_unique<mbedTLS_bignum::Bit>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1325,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1327,1
    - Dst: std::make_unique<mbedTLS_bignum::CmpAbs>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1328,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1330,1
    - Dst: std::make_unique<mbedTLS_bignum::SetBit>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1331,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1333,1
    - Dst: std::make_unique<mbedTLS_bignum::ClearBit>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1334,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1336,1
    - Dst: std::make_unique<mbedTLS_bignum::Mod>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1337,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1339,1
    - Dst: std::make_unique<mbedTLS_bignum::Set>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1340,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1342,1
    - Dst: std::make_unique<mbedTLS_bignum::NumLSZeroBits>
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1343,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1347,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1348,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1348,1
    - Dst: mbedTLS_bignum::Bignum::ToComponentBignum
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1350,1
    - Dst: cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
      Src: /src/cryptofuzz/modules/mbedtls/module.cpp:1354,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 103
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1357
      start: 1234
    functionDepth: 3
    functionLinenumber: 1234
    functionLinenumberEnd: 1357
    functionName: cryptofuzz::module::mbedTLS::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<mbedTLS_bignum::Div>
    - CF_CALCOP
    - std::make_unique<mbedTLS_bignum::AddMod>
    - modifier::GetPtr
    - std::make_unique<mbedTLS_bignum::IsOne>
    - CF_CHECK_LT
    - std::make_unique<mbedTLS_bignum::Neg>
    - bn0::GetSize
    - std::make_unique<mbedTLS_bignum::SetBit>
    - modifier::GetSize
    - mbedTLS_bignum::Bignum::ToComponentBignum
    - mbedTLS_bignum::BignumCluster::Set
    - std::make_unique<mbedTLS_bignum::IsEq>
    - bn1::ToString
    - std::make_unique<mbedTLS_bignum::MulMod>
    - bn3::ToString
    - std::make_unique<mbedTLS_bignum::LShift1>
    - CF_CHECK_NE
    - std::make_unique<mbedTLS_bignum::InvMod>
    - bn1::GetSize
    - std::make_unique<mbedTLS_bignum::Mul>
    - bn2::ToString
    - std::make_unique<mbedTLS_bignum::SubMod>
    - std::make_unique<mbedTLS_bignum::Abs>
    - std::make_unique<mbedTLS_bignum::CmpAbs>
    - calcOp::Get
    - bn2::GetSize
    - std::make_unique<mbedTLS_bignum::ClearBit>
    - bn0::ToString
    - cryptofuzz::module::mbedTLS_detail::UnsetGlobalDs
    - std::make_unique<mbedTLS_bignum::Add>
    - std::make_unique<mbedTLS_bignum::GCD>
    - std::make_unique<mbedTLS_bignum::Set>
    - std::make_unique<mbedTLS_bignum::SqrMod>
    - std::make_unique<mbedTLS_bignum::Sqr>
    - cryptofuzz::module::mbedTLS_detail::SetGlobalDs
    - CF_CHECK_EQ
    - std::make_unique<mbedTLS_bignum::RShift>
    - std::make_unique<mbedTLS_bignum::IsZero>
    - std::unique_ptr::Run
    - std::make_unique<mbedTLS_bignum::IsNeg>
    - std::make_unique<mbedTLS_bignum::ExpMod>
    - std::make_unique<mbedTLS_bignum::Sub>
    - std::make_unique<mbedTLS_bignum::Cmp>
    - std::make_unique<mbedTLS_bignum::Bit>
    - mbedTLS_bignum::Bignum::Set
    - std::make_unique<mbedTLS_bignum::Mod>
    - getBignum
    - std::make_unique<mbedTLS_bignum::NumLSZeroBits>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> mbedTLS::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:20,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:22,1
    - Dst: mbedtls_mpi_write_binary
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:28,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 32
    functionName: cryptofuzz::module::mbedTLS_bignum::Bignum::convert
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - Get
    - cryptofuzz::util::free
    - mbedtls_mpi_write_binary
    linkageType: ''
    returnType: void
    signature: void convert(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:37,1
    - Dst: mbedtls_mpi_init
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: cryptofuzz::module::mbedTLS_bignum::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_init
    - CF_NORET
    linkageType: ''
    returnType: void
    signature: void Bignum(fuzzing::datasource::Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:41,1
    - Dst: mbedtls_mpi_free
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: ~Bignum()
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_NORET
    - mbedtls_mpi_free
    linkageType: ''
    returnType: void
    signature: void ~Bignum()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:47,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:47,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::mbedTLS_bignum::Bignum::Set
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - CF_CHECK_EQ
    - mbedtls_mpi_read_string
    linkageType: ''
    returnType: bool
    signature: bool Set(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: cryptofuzz::module::mbedTLS_bignum::Bignum::GetPtrConst
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_mpi
    signature: mbedtls_mpi * GetPtrConst(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::mbedTLS_bignum::Bignum::GetDestPtr
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_mpi
    signature: mbedtls_mpi * GetDestPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:63,1
    - Dst: cryptofuzz::module::mbedTLS_bignum::Bignum::convert
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: cryptofuzz::module::mbedTLS_bignum::Bignum::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_NORET
    - cryptofuzz::module::mbedTLS_bignum::Bignum::convert
    linkageType: ''
    returnType: mbedtls_mpi
    signature: mbedtls_mpi * GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:72,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:72,1
    - Dst: cryptofuzz::module::mbedTLS_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:72,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:75,1
    - Dst: mbedtls_mpi_write_binary_le
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:75,1
    - Dst: cryptofuzz::module::mbedTLS_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: cryptofuzz::module::mbedTLS_bignum::Bignum::GetUint32
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - mbedtls_mpi_write_binary_le
    - mbedtls_mpi_cmp_int
    - CF_CHECK_EQ
    - cryptofuzz::module::mbedTLS_bignum::Bignum::GetPtr
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> GetUint32(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:86,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:86,1
    - Dst: cryptofuzz::module::mbedTLS_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:86,1
    - Dst: Botan_Tests::get_test_instances_min
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:87,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:91,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:91,1
    - Dst: cryptofuzz::module::mbedTLS_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:91,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:91,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:92,1
    - Dst: mbedtls_mpi_write_binary_le
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:92,1
    - Dst: cryptofuzz::module::mbedTLS_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:92,1
    - Dst: mbedtls_mpi_cmp_int
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:93,1
    - Dst: cryptofuzz::module::mbedTLS_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: cryptofuzz::module::mbedTLS_bignum::Bignum::To_mbedtls_mpi_sint
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - mbedtls_mpi_write_binary_le
    - mbedtls_mpi_cmp_int
    - CF_CHECK_EQ
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - Botan_Tests::get_test_instances_min
    - cryptofuzz::module::mbedTLS_bignum::Bignum::GetPtr
    - CF_CHECK_LTE
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<mbedtls_mpi_sint>
    signature: std::optional<mbedtls_mpi_sint> To_mbedtls_mpi_sint(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:106,1
    - Dst: mbedtls_mpi_write_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:106,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:108,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:110,1
    - Dst: mbedtls_mpi_write_string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:110,1
    - Dst: strcmp
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:112,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:113,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:115,1
    - Dst: free
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 121
    functionName: cryptofuzz::module::mbedTLS_bignum::Bignum::ToComponentBignum
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - strcmp
    - CF_CHECK_EQ
    - mbedtls_mpi_write_string
    - std::string
    - cryptofuzz::util::HexToDec
    - free
    - malloc
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> ToComponentBignum(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_mpi_cmp_mpi
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:124,1
    - Dst: GetPtrConst
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:124,1
    - Dst: GetPtrConst
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: operator==(const Bignum& rhs) const
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - GetPtrConst
    - mbedtls_mpi_cmp_mpi
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Bignum& rhs) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' ds'
    - bn0
    - bn1
    - bn2
    - bn3
    argTypes:
    - Datasource
    - Bignum
    - Bignum
    - Bignum
    - Bignum
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: cryptofuzz::module::mbedTLS_bignum::BignumCluster::BignumCluster
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BignumCluster(Datasource& ds, Bignum bn0, Bignum bn1, Bignum bn2,
      Bignum bn3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:139,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:140,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 160
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 160
    functionName: '& operator[](const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - Get
    - abort
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & operator[](const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:163,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: '& Get(const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached:
    - abort
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & Get(const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:171,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:172,1
    - Dst: cryptofuzz::module::mbedTLS_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/mbedtls/bn_ops.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - index
    - s
    argTypes:
    - size_t
    - std::string
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: cryptofuzz::module::mbedTLS_bignum::BignumCluster::Set
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::mbedTLS_bignum::BignumCluster::Set
    - abort
    - size
    linkageType: ''
    returnType: bool
    signature: bool Set(const size_t index, const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/mbedtls/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:15,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:15,1
    - Dst: size
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:15,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:15,1
    - Dst: size
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/kryptology/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - static_cast<GoInt>
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: cryptofuzz::module::Kryptology::Kryptology
    functionSourceFile: /src/cryptofuzz/modules/kryptology/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Kryptology::Kryptology(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Kryptology_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:23,1
    - Dst: free
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: cryptofuzz::module::Kryptology::getResult
    functionSourceFile: /src/cryptofuzz/modules/kryptology/module.cpp
    functionUses: 0
    functionsReached:
    - Kryptology_Cryptofuzz_GetResult
    - free
    linkageType: ''
    returnType: std::string
    signature: std::string Kryptology::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Kryptology::getResult
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:30,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:31,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:36,1
    - Dst: cryptofuzz::module::Kryptology::getResult
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:36,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: cryptofuzz::module::Kryptology::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/kryptology/module.cpp
    functionUses: 0
    functionsReached:
    - abort
    - auto::empty
    - cryptofuzz::module::Kryptology::getResult
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> Kryptology::getJsonResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Kryptology::getJsonResult
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:46,1
    - Dst: T
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::Kryptology::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/kryptology/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Kryptology::getJsonResult
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> Kryptology::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:59,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:60,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:61,1
    - Dst: Kryptology_BignumCalc_bls12381_Fr
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:62,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:62,1
    - Dst: cryptofuzz::module::Kryptology::getResultAs
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:64,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:65,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:66,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:67,1
    - Dst: Kryptology_BignumCalc_bls12381_Fp
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:68,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:68,1
    - Dst: cryptofuzz::module::Kryptology::getResultAs
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:70,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:71,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:72,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:73,1
    - Dst: Kryptology_BignumCalc_k256_Fp
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:74,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:74,1
    - Dst: cryptofuzz::module::Kryptology::getResultAs
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 81
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 81
    functionName: cryptofuzz::module::Kryptology::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/kryptology/module.cpp
    functionUses: 0
    functionsReached:
    - ToJSON
    - Kryptology_BignumCalc_bls12381_Fr
    - modulo::ToTrimmedString
    - Kryptology_BignumCalc_k256_Fp
    - Kryptology_BignumCalc_bls12381_Fp
    - auto::dump
    - cryptofuzz::module::Kryptology::getResultAs
    - toGoSlice
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Kryptology::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:84,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:84,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:85,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:86,1
    - Dst: Kryptology_ECC_Point_Add_k256
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:87,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:87,1
    - Dst: cryptofuzz::module::Kryptology::getResultAs
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:89,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:90,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:90,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:91,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:92,1
    - Dst: Kryptology_ECC_Point_Add_p256
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:93,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:93,1
    - Dst: cryptofuzz::module::Kryptology::getResultAs
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: cryptofuzz::module::Kryptology::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/kryptology/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - curveType::Is
    - Kryptology_ECC_Point_Add_k256
    - CF_ECC_CURVE
    - Kryptology_ECC_Point_Add_p256
    - auto::dump
    - cryptofuzz::module::Kryptology::getResultAs
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Kryptology::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:102,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:102,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:103,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:104,1
    - Dst: Kryptology_ECC_Point_Mul_k256
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:105,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:105,1
    - Dst: cryptofuzz::module::Kryptology::getResultAs
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:107,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:108,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:108,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:109,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:110,1
    - Dst: Kryptology_ECC_Point_Mul_p256
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:111,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:111,1
    - Dst: cryptofuzz::module::Kryptology::getResultAs
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 117
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 117
    functionName: cryptofuzz::module::Kryptology::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/kryptology/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - curveType::Is
    - CF_ECC_CURVE
    - Kryptology_ECC_Point_Mul_p256
    - auto::dump
    - cryptofuzz::module::Kryptology::getResultAs
    - Kryptology_ECC_Point_Mul_k256
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Kryptology::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:120,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:120,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:121,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:122,1
    - Dst: Kryptology_ECC_Point_Dbl_k256
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:123,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:123,1
    - Dst: cryptofuzz::module::Kryptology::getResultAs
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:125,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:126,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:126,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:127,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:128,1
    - Dst: Kryptology_ECC_Point_Dbl_p256
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:129,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:129,1
    - Dst: cryptofuzz::module::Kryptology::getResultAs
      Src: /src/cryptofuzz/modules/kryptology/module.cpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Dbl
    constantsTouched: []
    func_position:
      end: 135
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 135
    functionName: cryptofuzz::module::Kryptology::OpECC_Point_Dbl
    functionSourceFile: /src/cryptofuzz/modules/kryptology/module.cpp
    functionUses: 0
    functionsReached:
    - toGoSlice
    - curveType::Is
    - CF_ECC_CURVE
    - cryptofuzz::module::Kryptology::getResultAs
    - Kryptology_ECC_Point_Dbl_p256
    - auto::dump
    - Kryptology_ECC_Point_Dbl_k256
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Kryptology::OpECC_Point_Dbl(operation::ECC_Point_Dbl&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: cryptofuzz::module::Kryptology::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/kryptology/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Kryptology::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:15,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:18,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:19,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:19,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:24,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:24,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:24,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:27,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:28,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:28,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:29,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:29,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:29,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:32,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:33,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:33,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:34,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:34,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:34,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/kryptology/generate_ids.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/kryptology/generate_ids.cpp
    functionUses: 97
    functionsReached:
    - std::regex_replace
    - std::regex
    - std::to_string
    - std::string
    - fprintf
    - auto::c_str
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::Gnark_bn254::Gnark_bn254
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Gnark_bn254::Gnark_bn254(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Gnark_bn254_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:19,1
    - Dst: free
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::Gnark_bn254::getResult
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 1
    functionsReached:
    - Gnark_bn254_Cryptofuzz_GetResult
    - free
    linkageType: ''
    returnType: std::string
    signature: std::string Gnark_bn254::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Gnark_bn254::getResult
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:26,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:27,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:32,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResult
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:32,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::Gnark_bn254::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 1
    functionsReached:
    - abort
    - cryptofuzz::module::Gnark_bn254::getResult
    - auto::empty
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> Gnark_bn254::getJsonResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::Gnark_bn254::getJsonResult
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:42,1
    - Dst: T
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::Gnark_bn254::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 14
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getJsonResult
    - T
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> Gnark_bn254::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - static_cast<GoInt>
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:55,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:56,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:56,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:57,1
    - Dst: Gnark_bn254_BLS_G1_Add
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:58,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:58,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - Gnark_bn254_BLS_G1_Add
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Gnark_bn254::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:64,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:65,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:65,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:66,1
    - Dst: Gnark_bn254_BLS_G1_Mul
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:67,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:67,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - Gnark_bn254_BLS_G1_Mul
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Gnark_bn254::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:73,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:74,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:74,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:75,1
    - Dst: Gnark_bn254_BLS_G1_Neg
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:76,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:76,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - Gnark_bn254_BLS_G1_Neg
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> Gnark_bn254::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:82,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:83,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:83,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:84,1
    - Dst: Gnark_bn254_BLS_G2_Add
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:85,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:85,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - toGoSlice
    - boost::lexical_cast<uint64_t>
    - get
    - Gnark_bn254_BLS_G2_Add
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Gnark_bn254::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:91,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:92,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:92,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:93,1
    - Dst: Gnark_bn254_BLS_G2_Mul
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:94,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:94,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - toGoSlice
    - Gnark_bn254_BLS_G2_Mul
    - boost::lexical_cast<uint64_t>
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Gnark_bn254::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:100,1
    - Dst: boost::lexical_cast<uint64_t>
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:101,1
    - Dst: get
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:101,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:102,1
    - Dst: Gnark_bn254_BLS_G2_Neg
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:103,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:103,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: cryptofuzz::module::Gnark_bn254::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - toGoSlice
    - Gnark_bn254_BLS_G2_Neg
    - boost::lexical_cast<uint64_t>
    - get
    - auto::dump
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> Gnark_bn254::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:113,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:114,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:115,1
    - Dst: Gnark_bn254_BignumCalc_Fp
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:116,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:116,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:118,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:119,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:120,1
    - Dst: auto::dump
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:121,1
    - Dst: Gnark_bn254_BignumCalc_Fr
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:122,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:122,1
    - Dst: cryptofuzz::module::Gnark_bn254::getResultAs
      Src: /src/cryptofuzz/modules/gnark-bn254/module.cpp:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 128
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 128
    functionName: cryptofuzz::module::Gnark_bn254::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::Gnark_bn254::getResultAs
    - Gnark_bn254_BignumCalc_Fr
    - ToJSON
    - modulo::ToTrimmedString
    - auto::dump
    - Gnark_bn254_BignumCalc_Fp
    - toGoSlice
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Gnark_bn254::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: cryptofuzz::module::Gnark_bn254::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Gnark_bn254::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:15,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:18,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:19,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:19,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:24,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:24,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:24,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:27,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:28,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:28,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:29,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:29,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:29,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:32,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:33,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:33,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:34,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:34,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:34,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/gnark-bn254/generate_ids.cpp
    functionUses: 97
    functionsReached:
    - std::regex_replace
    - std::regex
    - std::to_string
    - std::string
    - fprintf
    - auto::c_str
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: cryptofuzz::module::decred_uint256::decred_uint256
    functionSourceFile: /src/cryptofuzz/modules/decred-uint256/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void decred_uint256::decred_uint256(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decred_uint256_Cryptofuzz_GetResult
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:19,1
    - Dst: free
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: cryptofuzz::module::decred_uint256::getResult
    functionSourceFile: /src/cryptofuzz/modules/decred-uint256/module.cpp
    functionUses: 0
    functionsReached:
    - decred_uint256_Cryptofuzz_GetResult
    - free
    linkageType: ''
    returnType: std::string
    signature: std::string decred_uint256::getResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::decred_uint256::getResult
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:26,1
    - Dst: auto::empty
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:27,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:32,1
    - Dst: cryptofuzz::module::decred_uint256::getResult
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:32,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: cryptofuzz::module::decred_uint256::getJsonResult
    functionSourceFile: /src/cryptofuzz/modules/decred-uint256/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::decred_uint256::getResult
    - auto::empty
    - abort
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<nlohmann::json>
    signature: std::optional<nlohmann::json> decred_uint256::getJsonResult(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::decred_uint256::getJsonResult
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:42,1
    - Dst: T
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::decred_uint256::getResultAs
    functionSourceFile: /src/cryptofuzz/modules/decred-uint256/module.cpp
    functionUses: 0
    functionsReached:
    - T
    - cryptofuzz::module::decred_uint256::getJsonResult
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> decred_uint256::getResultAs(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:51,1
    - Dst: static_cast<GoInt>
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:51,1
    - Dst: size
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::toGoSlice
    functionSourceFile: /src/cryptofuzz/modules/decred-uint256/module.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - static_cast<GoInt>
    linkageType: ''
    returnType: GoSlice
    signature: GoSlice toGoSlice(std::string& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:56,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:60,1
    - Dst: decred_uint256_Cryptofuzz_OpBignumCalc
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:61,1
    - Dst: toGoSlice
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:61,1
    - Dst: cryptofuzz::module::decred_uint256::getResultAs
      Src: /src/cryptofuzz/modules/decred-uint256/module.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: cryptofuzz::module::decred_uint256::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/decred-uint256/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::decred_uint256::getResultAs
    - ToJSON
    - modulo::ToTrimmedString
    - decred_uint256_Cryptofuzz_OpBignumCalc
    - toGoSlice
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> decred_uint256::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: cryptofuzz::module::decred_uint256::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/decred-uint256/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool decred_uint256::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/decred-uint256/generate_ids.cpp:10,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/decred-uint256/generate_ids.cpp:11,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/decred-uint256/generate_ids.cpp:13,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/decred-uint256/generate_ids.cpp:14,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/decred-uint256/generate_ids.cpp:14,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/decred-uint256/generate_ids.cpp:15,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/decred-uint256/generate_ids.cpp:15,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/decred-uint256/generate_ids.cpp:15,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/decred-uint256/generate_ids.cpp:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 18
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/decred-uint256/generate_ids.cpp
    functionUses: 97
    functionsReached:
    - std::regex_replace
    - std::regex
    - std::to_string
    - std::string
    - fprintf
    - auto::c_str
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:43,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:44,1
    - Dst: PyCallable_Check
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:44,1
    - Dst: static_cast<PyObject*>
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pModule
    - fn
    argTypes:
    - PyObject*
    - std::string
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: cryptofuzz::module::LoadPythonFunction
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 1
    functionsReached:
    - static_cast<PyObject*>
    - CF_ASSERT
    - PyCallable_Check
    linkageType: ''
    returnType: void
    signature: void * LoadPythonFunction(PyObject* pModule, const std::string fn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PyTuple_New
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:54,1
    - Dst: PyBytes_FromStringAndSize
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:55,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:55,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:55,1
    - Dst: PyTuple_SetItem
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:57,1
    - Dst: PyObject_CallObject
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:58,1
    - Dst: static_cast<PyObject*>
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:58,1
    - Dst: PyErr_PrintEx
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:62,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:63,1
    - Dst: PyBytes_Check
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:66,1
    - Dst: PyBytes_AsStringAndSize
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:71,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:72,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:75,1
    - Dst: Py_DECREF
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:80,1
    - Dst: Py_DECREF
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pFunc
    - arg
    argTypes:
    - void*
    - std::string
    constantsTouched: []
    func_position:
      end: 84
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 84
    functionName: cryptofuzz::module::RunPythonFunction
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - PyErr_PrintEx
    - std::string::size
    - PyObject_CallObject
    - PyBytes_Check
    - static_cast<PyObject*>
    - std::string
    - abort
    - PyBytes_AsStringAndSize
    - std::string::c_str
    - PyTuple_New
    - Py_DECREF
    - PyTuple_SetItem
    - PyBytes_FromStringAndSize
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> RunPythonFunction(void* pFunc, const std::string
      arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:93,1
    - Dst: setenv
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:93,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:93,1
    - Dst: fopen
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:100,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:100,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:101,1
    - Dst: fseek
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:103,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:105,1
    - Dst: fseek
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:107,1
    - Dst: std::vector::resize
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:108,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:109,1
    - Dst: fread
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:109,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:109,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:109,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:110,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:113,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:113,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:113,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:113,1
    - Dst: Py_DecodeLocale
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:117,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:117,1
    - Dst: Py_SetProgramName
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:118,1
    - Dst: PyMem_RawFree
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:119,1
    - Dst: Py_Initialize
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:123,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:132,1
    - Dst: PyRun_SimpleString
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:132,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:132,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:143,1
    - Dst: PyRun_SimpleString
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:143,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:143,1
    - Dst: PyModule_New
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:148,1
    - Dst: PyModule_AddStringConstant
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:149,1
    - Dst: PyModule_GetDict
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:150,1
    - Dst: PyRun_String
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:151,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:151,1
    - Dst: PyErr_PrintEx
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:153,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:154,1
    - Dst: Py_DECREF
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:156,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:158,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:159,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:160,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:161,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:162,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:163,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:164,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:165,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:166,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:167,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:168,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:169,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:170,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:171,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:172,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:173,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:174,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:175,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:176,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:177,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:178,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:179,1
    - Dst: cryptofuzz::module::LoadPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 181
    functionName: cryptofuzz::module::ConfigurePython
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - Py_Initialize
    - std::vector::size
    - static_cast<size_t>
    - std::string::c_str
    - PyErr_PrintEx
    - PyModule_New
    - PyModule_AddStringConstant
    - PyRun_SimpleString
    - Py_DECREF
    - fclose
    - setenv
    - std::vector::data
    - fopen
    - c_str
    - fseek
    - PyModule_GetDict
    - std::vector::resize
    - std::string
    - PyRun_String
    - PyMem_RawFree
    - Py_SetProgramName
    - CF_ASSERT
    - Py_DecodeLocale
    - fread
    - cryptofuzz::module::LoadPythonFunction
    linkageType: ''
    returnType: void
    signature: void ConfigurePython(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ConfigurePython
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: cryptofuzz::module::py_ecc::py_ecc
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - ConfigurePython
    linkageType: ''
    returnType: void
    signature: void py_ecc::py_ecc(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:189,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:189,1
    - Dst: component::BLS_PublicKey
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:193,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: cryptofuzz::module::py_ecc::OpBLS_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - RunPythonFunction
    - Botan::TLS::Client_Hello_13::parse
    - ToJSON
    - component::BLS_PublicKey
    linkageType: ''
    returnType: std::optional<component::BLS_PublicKey>
    signature: std::optional<component::BLS_PublicKey> py_ecc::OpBLS_PrivateToPublic(operation::BLS_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:197,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:197,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG1OnCurve
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: cryptofuzz::module::py_ecc::OpBLS_IsG1OnCurve
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - RunPythonFunction
    - Botan::TLS::Client_Hello_13::parse
    - ToJSON
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> py_ecc::OpBLS_IsG1OnCurve(operation::BLS_IsG1OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:205,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:205,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_IsG2OnCurve
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: cryptofuzz::module::py_ecc::OpBLS_IsG2OnCurve
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - RunPythonFunction
    - Botan::TLS::Client_Hello_13::parse
    - ToJSON
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> py_ecc::OpBLS_IsG2OnCurve(operation::BLS_IsG2OnCurve&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:213,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:213,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:217,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_HashToG2
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: cryptofuzz::module::py_ecc::OpBLS_HashToG2
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - RunPythonFunction
    - benchAddDblG2
    - ToJSON
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> py_ecc::OpBLS_HashToG2(operation::BLS_HashToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:221,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:221,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:225,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_MapToG2
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: cryptofuzz::module::py_ecc::OpBLS_MapToG2
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - RunPythonFunction
    - benchAddDblG2
    - ToJSON
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> py_ecc::OpBLS_MapToG2(operation::BLS_MapToG2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dest::Get
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:230,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:234,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:234,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Verify
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: cryptofuzz::module::py_ecc::OpBLS_Verify
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - RunPythonFunction
    - ToJSON
    - dest::Get
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> py_ecc::OpBLS_Verify(operation::BLS_Verify& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dest::Get
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:243,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:250,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:250,1
    - Dst: cryptofuzz::component::BLS_Signature::BLS_Signature
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:254,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Sign
    constantsTouched: []
    func_position:
      end: 255
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 255
    functionName: cryptofuzz::module::py_ecc::OpBLS_Sign
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - Botan::TLS::Client_Hello_13::parse
    - cryptofuzz::component::BLS_Signature::BLS_Signature
    - RunPythonFunction
    - dest::Get
    - ToJSON
    linkageType: ''
    returnType: std::optional<component::BLS_Signature>
    signature: std::optional<component::BLS_Signature> py_ecc::OpBLS_Sign(operation::BLS_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:261,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:261,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:264,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:272,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:275,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:275,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:279,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 280
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 280
    functionName: cryptofuzz::module::py_ecc::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - Botan::TLS::Client_Hello_13::parse
    - RunPythonFunction
    - getBignum
    - modulo::ToTrimmedString
    - calcOp::Get
    - bn0::ToTrimmedString
    - nlohmann::json::dump
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> py_ecc::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:283,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:283,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:287,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G1
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: cryptofuzz::module::py_ecc::OpBLS_Decompress_G1
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - RunPythonFunction
    - Botan::TLS::Client_Hello_13::parse
    - ToJSON
    - benchAddDblG1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> py_ecc::OpBLS_Decompress_G1(operation::BLS_Decompress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:291,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:291,1
    - Dst: getBignum
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:295,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G1
    constantsTouched: []
    func_position:
      end: 296
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 296
    functionName: cryptofuzz::module::py_ecc::OpBLS_Compress_G1
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - RunPythonFunction
    - getBignum
    - ToJSON
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> py_ecc::OpBLS_Compress_G1(operation::BLS_Compress_G1&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:299,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:299,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:303,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Decompress_G2
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: cryptofuzz::module::py_ecc::OpBLS_Decompress_G2
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - RunPythonFunction
    - benchAddDblG2
    - ToJSON
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> py_ecc::OpBLS_Decompress_G2(operation::BLS_Decompress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:307,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:307,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:311,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_Compress_G2
    constantsTouched: []
    func_position:
      end: 312
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 312
    functionName: cryptofuzz::module::py_ecc::OpBLS_Compress_G2
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - RunPythonFunction
    - Botan::TLS::Client_Hello_13::parse
    - ToJSON
    - benchAddDblG1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> py_ecc::OpBLS_Compress_G2(operation::BLS_Compress_G2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:315,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:315,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:319,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Add
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: cryptofuzz::module::py_ecc::OpBLS_G1_Add
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - RunPythonFunction
    - Botan::TLS::Client_Hello_13::parse
    - ToJSON
    - benchAddDblG1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> py_ecc::OpBLS_G1_Add(operation::BLS_G1_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:323,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:323,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:327,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Mul
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: cryptofuzz::module::py_ecc::OpBLS_G1_Mul
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - RunPythonFunction
    - Botan::TLS::Client_Hello_13::parse
    - ToJSON
    - benchAddDblG1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> py_ecc::OpBLS_G1_Mul(operation::BLS_G1_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:331,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:331,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_IsEq
    constantsTouched: []
    func_position:
      end: 336
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 336
    functionName: cryptofuzz::module::py_ecc::OpBLS_G1_IsEq
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - RunPythonFunction
    - Botan::TLS::Client_Hello_13::parse
    - ToJSON
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> py_ecc::OpBLS_G1_IsEq(operation::BLS_G1_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:339,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:339,1
    - Dst: benchAddDblG1
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:343,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G1_Neg
    constantsTouched: []
    func_position:
      end: 344
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 344
    functionName: cryptofuzz::module::py_ecc::OpBLS_G1_Neg
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - RunPythonFunction
    - Botan::TLS::Client_Hello_13::parse
    - ToJSON
    - benchAddDblG1
    linkageType: ''
    returnType: std::optional<component::G1>
    signature: std::optional<component::G1> py_ecc::OpBLS_G1_Neg(operation::BLS_G1_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:347,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:347,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:351,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Add
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: cryptofuzz::module::py_ecc::OpBLS_G2_Add
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - RunPythonFunction
    - benchAddDblG2
    - ToJSON
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> py_ecc::OpBLS_G2_Add(operation::BLS_G2_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:355,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:355,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:359,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Mul
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 360
    functionName: cryptofuzz::module::py_ecc::OpBLS_G2_Mul
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - RunPythonFunction
    - benchAddDblG2
    - ToJSON
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> py_ecc::OpBLS_G2_Mul(operation::BLS_G2_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:363,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:363,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_IsEq
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: cryptofuzz::module::py_ecc::OpBLS_G2_IsEq
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - RunPythonFunction
    - Botan::TLS::Client_Hello_13::parse
    - ToJSON
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> py_ecc::OpBLS_G2_IsEq(operation::BLS_G2_IsEq& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:371,1
    - Dst: ToJSON
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:371,1
    - Dst: benchAddDblG2
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:375,1
    - Dst: Botan::TLS::Client_Hello_13::parse
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BLS_G2_Neg
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: cryptofuzz::module::py_ecc::OpBLS_G2_Neg
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - RunPythonFunction
    - benchAddDblG2
    - ToJSON
    - Botan::TLS::Client_Hello_13::parse
    linkageType: ''
    returnType: std::optional<component::G2>
    signature: std::optional<component::G2> py_ecc::OpBLS_G2_Neg(operation::BLS_G2_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:379,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:379,1
    - Dst: operation::Get
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:381,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:385,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:386,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:387,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:388,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:389,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:389,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:395,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:396,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:397,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:398,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:399,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:400,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:401,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:401,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:407,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:408,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:409,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:410,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:411,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:412,1
    - Dst: Datasource::GetData
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:413,1
    - Dst: RunPythonFunction
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:414,1
    - Dst: nlohmann::json::dump
      Src: /src/cryptofuzz/modules/py_ecc/module.cpp:414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Misc
    constantsTouched: []
    func_position:
      end: 421
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 421
    functionName: cryptofuzz::module::py_ecc::OpMisc
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - operation::Get
    - RunPythonFunction
    - modifier::GetSize
    - Datasource::GetData
    - nlohmann::json::dump
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> py_ecc::OpMisc(operation::Misc& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 425
    functionName: cryptofuzz::module::py_ecc::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/py_ecc/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool py_ecc::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sodium_init
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:11,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:12,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 14
    functionName: cryptofuzz::module::libsodium::libsodium
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - sodium_init
    - abort
    linkageType: ''
    returnType: void
    signature: void libsodium::libsodium(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:21,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:21,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:25,1
    - Dst: crypto_hash_sha256
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:30,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:30,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:30,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:32,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:40,1
    - Dst: crypto_hash_sha256_init
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:40,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:41,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:46,1
    - Dst: crypto_hash_sha256_update
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:46,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:51,1
    - Dst: crypto_hash_sha256_final
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:51,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 60
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 60
    functionName: cryptofuzz::module::libsodium::SHA256
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_hash_sha256_final
    - modifier::GetPtr
    - cleartext::GetPtr
    - Botan::PKCS11::LowLevel::C_Digest
    - CF_CHECK_EQ
    - Datasource::Get
    - crypto_hash_sha256_init
    - modifier::GetSize
    - crypto_hash_sha256
    - crypto_hash_sha256_update
    - cryptofuzz::util::ToParts
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> libsodium::SHA256(operation::Digest&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:67,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:67,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:71,1
    - Dst: crypto_hash_sha512
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:76,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:76,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:76,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:78,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:86,1
    - Dst: crypto_hash_sha512_init
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:86,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:87,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:92,1
    - Dst: crypto_hash_sha512_update
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:92,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:97,1
    - Dst: crypto_hash_sha512_final
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:97,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 106
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 106
    functionName: cryptofuzz::module::libsodium::SHA512
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_hash_sha512
    - modifier::GetPtr
    - cleartext::GetPtr
    - Botan::PKCS11::LowLevel::C_Digest
    - CF_CHECK_EQ
    - Datasource::Get
    - crypto_hash_sha512_final
    - crypto_hash_sha512_update
    - modifier::GetSize
    - cryptofuzz::util::ToParts
    - crypto_hash_sha512_init
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> libsodium::SHA512(operation::Digest&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:109,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:110,1
    - Dst: cryptofuzz::module::libsodium::SHA256
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:111,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:112,1
    - Dst: cryptofuzz::module::libsodium::SHA512
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: cryptofuzz::module::libsodium::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - CF_DIGEST
    - digestType::Get
    - cryptofuzz::module::libsodium::SHA256
    - cryptofuzz::module::libsodium::SHA512
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> libsodium::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:124,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:124,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:128,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:133,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:133,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:134,1
    - Dst: crypto_auth_hmacsha256
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:134,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:134,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:134,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:134,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:136,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:144,1
    - Dst: crypto_auth_hmacsha256_init
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:144,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:144,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:144,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:145,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:150,1
    - Dst: crypto_auth_hmacsha256_update
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:150,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:155,1
    - Dst: crypto_auth_hmacsha256_final
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:155,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 164
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 164
    functionName: cryptofuzz::module::libsodium::HMAC_SHA256
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_auth_hmacsha256_update
    - crypto_auth_hmacsha256_init
    - modifier::GetPtr
    - cleartext::GetPtr
    - CF_CHECK_EQ
    - Datasource::Get
    - cryptofuzz::util::ToParts
    - crypto_auth_hmacsha256_final
    - modifier::GetSize
    - cipher::key::GetPtr
    - crypto_auth_hmacsha256
    - Botan_CLI::HMAC::HMAC
    - cipher::key::GetSize
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> libsodium::HMAC_SHA256(operation::HMAC&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:171,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:171,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:175,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:180,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:180,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:181,1
    - Dst: crypto_auth_hmacsha512
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:181,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:181,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:181,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:181,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:183,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:191,1
    - Dst: crypto_auth_hmacsha512_init
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:191,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:191,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:191,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:192,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:197,1
    - Dst: crypto_auth_hmacsha512_update
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:197,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:202,1
    - Dst: crypto_auth_hmacsha512_final
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:202,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 211
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 211
    functionName: cryptofuzz::module::libsodium::HMAC_SHA512
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_auth_hmacsha512
    - crypto_auth_hmacsha512_update
    - crypto_auth_hmacsha512_init
    - modifier::GetPtr
    - cleartext::GetPtr
    - CF_CHECK_EQ
    - Datasource::Get
    - cryptofuzz::util::ToParts
    - crypto_auth_hmacsha512_final
    - modifier::GetSize
    - cipher::key::GetPtr
    - Botan_CLI::HMAC::HMAC
    - cipher::key::GetSize
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> libsodium::HMAC_SHA512(operation::HMAC&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:218,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:218,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:222,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:227,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:227,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:228,1
    - Dst: crypto_auth_hmacsha512256
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:228,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:228,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:228,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:228,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:238,1
    - Dst: crypto_auth_hmacsha512256_init
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:238,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:238,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:238,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:239,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:244,1
    - Dst: crypto_auth_hmacsha512256_update
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:244,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:249,1
    - Dst: crypto_auth_hmacsha512256_final
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 258
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 258
    functionName: cryptofuzz::module::libsodium::HMAC_SHA512256
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_auth_hmacsha512256_update
    - modifier::GetPtr
    - cleartext::GetPtr
    - CF_CHECK_EQ
    - crypto_auth_hmacsha512256_init
    - Datasource::Get
    - crypto_auth_hmacsha512256_final
    - cryptofuzz::util::ToParts
    - modifier::GetSize
    - cipher::key::GetPtr
    - crypto_auth_hmacsha512256
    - cipher::key::GetSize
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> libsodium::HMAC_SHA512256(operation::HMAC&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:266,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:266,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:271,1
    - Dst: crypto_shorthash
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:271,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:271,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:271,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:271,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 282
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 282
    functionName: cryptofuzz::module::libsodium::SIPHASH64
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetPtr
    - CF_CHECK_EQ
    - crypto_shorthash
    - cipher::key::GetPtr
    - Botan_CLI::HMAC::HMAC
    - cipher::key::GetSize
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> libsodium::SIPHASH64(operation::HMAC&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:290,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:290,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:295,1
    - Dst: crypto_shorthash_siphashx24
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:295,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:295,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:295,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:295,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 306
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 306
    functionName: cryptofuzz::module::libsodium::SIPHASH128
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetPtr
    - CF_CHECK_EQ
    - crypto_shorthash_siphashx24
    - cipher::key::GetPtr
    - Botan_CLI::HMAC::HMAC
    - cipher::key::GetSize
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> libsodium::SIPHASH128(operation::HMAC&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:309,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:310,1
    - Dst: cryptofuzz::module::libsodium::HMAC_SHA256
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:311,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:312,1
    - Dst: cryptofuzz::module::libsodium::HMAC_SHA512
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:313,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:314,1
    - Dst: cryptofuzz::module::libsodium::HMAC_SHA512256
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:315,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:316,1
    - Dst: cryptofuzz::module::libsodium::SIPHASH64
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:317,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:318,1
    - Dst: cryptofuzz::module::libsodium::SIPHASH128
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 323
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 323
    functionName: cryptofuzz::module::libsodium::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - digestType::Get
    - cryptofuzz::module::libsodium::SIPHASH128
    - cryptofuzz::module::libsodium::HMAC_SHA256
    - CF_DIGEST
    - cryptofuzz::module::libsodium::HMAC_SHA512256
    - cryptofuzz::module::libsodium::SIPHASH64
    - cryptofuzz::module::libsodium::HMAC_SHA512
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> libsodium::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:331,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:332,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:334,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:336,1
    - Dst: crypto_kdf_hkdf_sha256_extract
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:336,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:338,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:339,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:340,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:341,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:343,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:345,1
    - Dst: crypto_kdf_hkdf_sha256_expand
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:345,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:348,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:349,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:351,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:354,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:356,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:358,1
    - Dst: crypto_kdf_hkdf_sha512_extract
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:358,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:360,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:361,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:362,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:363,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:365,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:367,1
    - Dst: crypto_kdf_hkdf_sha512_expand
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:367,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:370,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:371,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:373,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:381,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 385
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 385
    functionName: cryptofuzz::module::libsodium::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - crypto_kdf_hkdf_sha256_extract
    - password::GetPtr
    - digestType::Get
    - CF_CHECK_EQ
    - salt::GetPtr
    - crypto_kdf_hkdf_sha512_expand
    - info::GetPtr
    - CF_DIGEST
    - salt::GetSize
    - crypto_kdf_hkdf_sha256_expand
    - crypto_kdf_hkdf_sha512_extract
    - cryptofuzz::util::malloc
    - info::GetSize
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libsodium::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:417,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:418,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:421,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:421,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:423,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:423,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:424,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:424,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:428,1
    - Dst: encrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:428,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:431,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:432,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:433,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:434,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:436,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:437,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:439,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:440,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:443,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:446,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:447,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:448,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 452
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 452
    functionName: cryptofuzz::module::libsodium_detail::AEAD::Encrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - CF_CHECK_GTE
    - cleartext::GetPtr
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - cryptofuzz::component::Ciphertext::Ciphertext
    - abort
    - aad::GetPtr
    - cipher::iv::GetPtr
    - cipher::key::GetPtr
    - Buffer
    - aad::GetSize
    - cipher::key::GetSize
    - encrypt
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Encrypt(const operation::SymmetricEncrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:461,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:461,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:463,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:467,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:467,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:468,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:470,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:471,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:471,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:471,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:473,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:474,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:474,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:474,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:474,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:478,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:478,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:479,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:479,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:480,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:480,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:482,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:486,1
    - Dst: decrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:486,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:492,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:493,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:494,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:495,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:497,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:500,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 504
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 504
    functionName: cryptofuzz::module::libsodium_detail::AEAD::Decrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - tag::GetPtr
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - tag::GetSize
    - ciphertext::GetSize
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - ciphertext::GetPtr
    - decrypt
    - aad::GetPtr
    - cipher::iv::GetPtr
    - memcpy
    - cipher::key::GetPtr
    - aad::GetSize
    - cryptofuzz::util::malloc
    - cipher::key::GetSize
    - component::Cleartext
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Decrypt(const operation::SymmetricDecrypt&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto_aead_aes256gcm_encrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - c
    - clen
    - m
    - mlen
    - ad
    - adlen
    - nsec
    - npub
    - k
    argTypes:
    - unsigned char*
    - unsigned long long*
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 522
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 522
    functionName: cryptofuzz::module::libsodium_detail::encrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_aead_aes256gcm_encrypt
    linkageType: ''
    returnType: int
    signature: "int encrypt(unsigned char *c,\n                unsigned long long
      *clen,\n                const unsigned char *m,\n                unsigned long
      long mlen,\n                const unsigned char *ad,\n                unsigned
      long long adlen,\n                const unsigned char *nsec,\n                const
      unsigned char *npub,\n                const unsigned char *k) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto_aead_aes256gcm_decrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - m
    - mlen
    - nsec
    - c
    - clen
    - ad
    - adlen
    - npub
    - k
    argTypes:
    - unsigned char*
    - unsigned long long*
    - unsigned char*
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 534
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 534
    functionName: cryptofuzz::module::libsodium_detail::decrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_aead_aes256gcm_decrypt
    linkageType: ''
    returnType: int
    signature: "int decrypt(unsigned char *m,\n                unsigned long long
      *mlen,\n                unsigned char *nsec,\n                const unsigned
      char *c,\n                unsigned long long clen,\n                const unsigned
      char *ad,\n                unsigned long long adlen,\n                const
      unsigned char *npub,\n                const unsigned char *k) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:554,1
    - Dst: crypto_aead_aes256gcm_beforenm
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:554,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:556,1
    - Dst: crypto_aead_aes256gcm_encrypt_afternm
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 9
    argNames:
    - c
    - clen
    - m
    - mlen
    - ad
    - adlen
    - nsec
    - npub
    - k
    argTypes:
    - unsigned char*
    - unsigned long long*
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 562
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 562
    functionName: cryptofuzz::module::libsodium_detail::encrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_aead_aes256gcm_beforenm
    - CF_CHECK_EQ
    - crypto_aead_aes256gcm_encrypt_afternm
    linkageType: ''
    returnType: int
    signature: "int encrypt(unsigned char *c,\n                unsigned long long
      *clen,\n                const unsigned char *m,\n                unsigned long
      long mlen,\n                const unsigned char *ad,\n                unsigned
      long long adlen,\n                const unsigned char *nsec,\n                const
      unsigned char *npub,\n                const unsigned char *k) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:575,1
    - Dst: crypto_aead_aes256gcm_beforenm
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:575,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:577,1
    - Dst: crypto_aead_aes256gcm_decrypt_afternm
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 9
    argNames:
    - m
    - mlen
    - nsec
    - c
    - clen
    - ad
    - adlen
    - npub
    - k
    argTypes:
    - unsigned char*
    - unsigned long long*
    - unsigned char*
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 582
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 582
    functionName: cryptofuzz::module::libsodium_detail::decrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_aead_aes256gcm_beforenm
    - CF_CHECK_EQ
    - crypto_aead_aes256gcm_decrypt_afternm
    linkageType: ''
    returnType: int
    signature: "int decrypt(unsigned char *m,\n                unsigned long long
      *mlen,\n                unsigned char *nsec,\n                const unsigned
      char *c,\n                unsigned long long clen,\n                const unsigned
      char *ad,\n                unsigned long long adlen,\n                const
      unsigned char *npub,\n                const unsigned char *k) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto_aead_chacha20poly1305_encrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - c
    - clen
    - m
    - mlen
    - ad
    - adlen
    - nsec
    - npub
    - k
    argTypes:
    - unsigned char*
    - unsigned long long*
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 600
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 600
    functionName: cryptofuzz::module::libsodium_detail::encrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_aead_chacha20poly1305_encrypt
    linkageType: ''
    returnType: int
    signature: "int encrypt(unsigned char *c,\n                unsigned long long
      *clen,\n                const unsigned char *m,\n                unsigned long
      long mlen,\n                const unsigned char *ad,\n                unsigned
      long long adlen,\n                const unsigned char *nsec,\n                const
      unsigned char *npub,\n                const unsigned char *k) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto_aead_chacha20poly1305_decrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - m
    - mlen
    - nsec
    - c
    - clen
    - ad
    - adlen
    - npub
    - k
    argTypes:
    - unsigned char*
    - unsigned long long*
    - unsigned char*
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 612
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 612
    functionName: cryptofuzz::module::libsodium_detail::decrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_aead_chacha20poly1305_decrypt
    linkageType: ''
    returnType: int
    signature: "int decrypt(unsigned char *m,\n                unsigned long long
      *mlen,\n                unsigned char *nsec,\n                const unsigned
      char *c,\n                unsigned long long clen,\n                const unsigned
      char *ad,\n                unsigned long long adlen,\n                const
      unsigned char *npub,\n                const unsigned char *k) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto_aead_chacha20poly1305_ietf_encrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - c
    - clen
    - m
    - mlen
    - ad
    - adlen
    - nsec
    - npub
    - k
    argTypes:
    - unsigned char*
    - unsigned long long*
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 630
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 630
    functionName: cryptofuzz::module::libsodium_detail::encrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_aead_chacha20poly1305_ietf_encrypt
    linkageType: ''
    returnType: int
    signature: "int encrypt(unsigned char *c,\n                unsigned long long
      *clen,\n                const unsigned char *m,\n                unsigned long
      long mlen,\n                const unsigned char *ad,\n                unsigned
      long long adlen,\n                const unsigned char *nsec,\n                const
      unsigned char *npub,\n                const unsigned char *k) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto_aead_chacha20poly1305_ietf_decrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - m
    - mlen
    - nsec
    - c
    - clen
    - ad
    - adlen
    - npub
    - k
    argTypes:
    - unsigned char*
    - unsigned long long*
    - unsigned char*
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 642
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 642
    functionName: cryptofuzz::module::libsodium_detail::decrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_aead_chacha20poly1305_ietf_decrypt
    linkageType: ''
    returnType: int
    signature: "int decrypt(unsigned char *m,\n                unsigned long long
      *mlen,\n                unsigned char *nsec,\n                const unsigned
      char *c,\n                unsigned long long clen,\n                const unsigned
      char *ad,\n                unsigned long long adlen,\n                const
      unsigned char *npub,\n                const unsigned char *k) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto_aead_xchacha20poly1305_ietf_encrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - c
    - clen
    - m
    - mlen
    - ad
    - adlen
    - nsec
    - npub
    - k
    argTypes:
    - unsigned char*
    - unsigned long long*
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 660
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 660
    functionName: cryptofuzz::module::libsodium_detail::encrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_aead_xchacha20poly1305_ietf_encrypt
    linkageType: ''
    returnType: int
    signature: "int encrypt(unsigned char *c,\n                unsigned long long
      *clen,\n                const unsigned char *m,\n                unsigned long
      long mlen,\n                const unsigned char *ad,\n                unsigned
      long long adlen,\n                const unsigned char *nsec,\n                const
      unsigned char *npub,\n                const unsigned char *k) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto_aead_xchacha20poly1305_ietf_decrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - m
    - mlen
    - nsec
    - c
    - clen
    - ad
    - adlen
    - npub
    - k
    argTypes:
    - unsigned char*
    - unsigned long long*
    - unsigned char*
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned long long
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 672
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 672
    functionName: cryptofuzz::module::libsodium_detail::decrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - crypto_aead_xchacha20poly1305_ietf_decrypt
    linkageType: ''
    returnType: int
    signature: "int decrypt(unsigned char *m,\n                unsigned long long
      *mlen,\n                unsigned char *nsec,\n                const unsigned
      char *c,\n                unsigned long long clen,\n                const unsigned
      char *ad,\n                unsigned long long adlen,\n                const
      unsigned char *npub,\n                const unsigned char *k) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:680,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:681,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:683,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:683,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:686,1
    - Dst: Encrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:691,1
    - Dst: Encrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:693,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:697,1
    - Dst: Encrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:699,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:702,1
    - Dst: Encrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:704,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:707,1
    - Dst: Encrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:709,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:712,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:714,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:714,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:715,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:715,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:716,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:716,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:717,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:718,1
    - Dst: crypto_stream_chacha20_ietf_xor_ic
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:718,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:718,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:718,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:718,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:718,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:719,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:719,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:719,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:720,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:724,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:725,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:727,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:727,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:728,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:728,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:729,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:729,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:730,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:731,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:731,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:732,1
    - Dst: crypto_stream_salsa20_xor
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:732,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:732,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:732,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:732,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:732,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:734,1
    - Dst: crypto_stream_salsa2012_xor
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:734,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:734,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:734,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:734,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:734,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:736,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:736,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:736,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:737,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:746,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 748
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 748
    functionName: cryptofuzz::module::libsodium::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - crypto_stream_salsa2012_xor
    - crypto_stream_salsa20_xor
    - modifier::GetSize
    - cipher::key::GetPtr
    - cleartext::GetSize
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - cryptofuzz::component::Ciphertext::Ciphertext
    - cryptofuzz::util::free
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - cryptofuzz::util::malloc
    - cipher::key::GetSize
    - crypto_stream_chacha20_ietf_xor_ic
    - cleartext::GetPtr
    - CF_CIPHER
    - Datasource::Get
    - Encrypt
    - Buffer
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> libsodium::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:753,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:754,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:756,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:756,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:759,1
    - Dst: Decrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:764,1
    - Dst: Decrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:766,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:770,1
    - Dst: Decrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:772,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:775,1
    - Dst: Decrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:777,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:780,1
    - Dst: Decrypt
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:782,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:785,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:787,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:787,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:788,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:788,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:789,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:789,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:790,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:791,1
    - Dst: crypto_stream_chacha20_ietf_xor_ic
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:791,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:791,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:791,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:791,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:791,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:792,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:792,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:792,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:793,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:797,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:798,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:800,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:800,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:801,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:801,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:802,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:802,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:803,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:804,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:804,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:805,1
    - Dst: crypto_stream_salsa20_xor
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:805,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:805,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:805,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:805,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:805,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:807,1
    - Dst: crypto_stream_salsa2012_xor
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:807,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:807,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:807,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:807,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:807,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:809,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:809,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:809,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:810,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:819,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 821
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 821
    functionName: cryptofuzz::module::libsodium::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - Decrypt
    - crypto_stream_salsa2012_xor
    - ciphertext::GetPtr
    - crypto_stream_salsa20_xor
    - modifier::GetSize
    - cipher::key::GetPtr
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - cryptofuzz::util::free
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - cryptofuzz::util::malloc
    - cipher::key::GetSize
    - crypto_stream_chacha20_ietf_xor_ic
    - CF_CIPHER
    - Datasource::Get
    - Buffer
    - component::Cleartext
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> libsodium::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:827,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:827,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:828,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:829,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:830,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:830,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:831,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:831,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:832,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:833,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:834,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:837,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:838,1
    - Dst: crypto_pwhash
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:838,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:841,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:842,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:843,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:849,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_ARGON2
    constantsTouched: []
    func_position:
      end: 855
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 855
    functionName: cryptofuzz::module::libsodium::OpKDF_ARGON2
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - password::GetPtr
    - CF_CHECK_EQ
    - salt::GetPtr
    - salt::GetSize
    - crypto_pwhash
    - password::GetSize
    - CF_CHECK_LTE
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libsodium::OpKDF_ARGON2(operation::KDF_ARGON2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:863,1
    - Dst: crypto_pwhash_scryptsalsa208sha256_ll
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:863,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:864,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:865,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:866,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:867,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:874,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/libsodium/module.cpp:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 880
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 880
    functionName: cryptofuzz::module::libsodium::OpKDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/modules/libsodium/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - password::GetPtr
    - CF_CHECK_EQ
    - salt::GetPtr
    - crypto_pwhash_scryptsalsa208sha256_ll
    - salt::GetSize
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> libsodium::OpKDF_SCRYPT(operation::KDF_SCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: cryptofuzz::module::faheel_BigInt::faheel_BigInt
    functionSourceFile: /src/cryptofuzz/modules/faheel-bigint/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void faheel_BigInt::faheel_BigInt(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:14,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:14,1
    - Dst: BigInt
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:16,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:16,1
    - Dst: BigInt
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:17,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:17,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:20,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:21,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:24,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:27,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:30,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:31,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:31,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:32,1
    - Dst: abs
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:32,1
    - Dst: BigInt
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:32,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:35,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:36,1
    - Dst: bn0::GetSize
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:36,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:37,1
    - Dst: abs
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:37,1
    - Dst: BigInt
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:37,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:41,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:42,1
    - Dst: BigInt
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:42,1
    - Dst: sqrt
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:43,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:46,1
    - Dst: abs
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:47,1
    - Dst: BigInt::to_string
      Src: /src/cryptofuzz/modules/faheel-bigint/module.cpp:54,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 63
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 63
    functionName: cryptofuzz::module::faheel_BigInt::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/faheel-bigint/module.cpp
    functionUses: 0
    functionsReached:
    - abs
    - CF_CALCOP
    - CF_CHECK_NE
    - BigInt::to_string
    - BigInt
    - modifier::GetPtr
    - bn0::GetSize
    - sqrt
    - modifier::GetSize
    - calcOp::Get
    - bn0::ToString
    - bn1::ToString
    - CF_CHECK_LTE
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> faheel_BigInt::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:33,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:35,1
    - Dst: BN_add
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:35,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:35,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:35,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:35,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:39,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:39,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:39,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:40,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:40,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:40,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:41,1
    - Dst: BN_uadd
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:41,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:41,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:41,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:41,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:46,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:47,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:49,1
    - Dst: BN_add_word
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:49,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:49,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:51,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 63
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 63
    functionName: cryptofuzz::module::OpenSSL_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_uadd
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - BN_is_negative
    - CF_CHECK_EQ
    - AsBN_ULONG
    - BN_add_word
    - Set
    - BN_add
    - Get
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:69,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:71,1
    - Dst: BN_sub
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:71,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:71,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:71,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:71,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:79,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:79,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:79,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:80,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:80,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:80,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:81,1
    - Dst: BN_usub
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:81,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:81,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:81,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:81,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:87,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:88,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:90,1
    - Dst: BN_sub_word
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:90,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:90,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:92,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:92,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:98,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:98,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:98,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:99,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:99,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:99,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:100,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:100,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:100,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:100,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:101,1
    - Dst: bn_abs_sub_consttime
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:101,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:101,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:101,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:101,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 113
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 113
    functionName: cryptofuzz::module::OpenSSL_bignum::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - BN_sub
    - BN_is_negative
    - CF_CHECK_EQ
    - AsBN_ULONG
    - Set
    - BN_cmp
    - BN_sub_word
    - bn_abs_sub_consttime
    - Get
    - BN_usub
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:121,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:124,1
    - Dst: BN_mul
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:124,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:124,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:124,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:124,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:124,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:129,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:130,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:132,1
    - Dst: BN_mul_word
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:132,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:132,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:134,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 146
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 146
    functionName: cryptofuzz::module::OpenSSL_bignum::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_mul
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - BN_mul_word
    - CF_CHECK_EQ
    - AsBN_ULONG
    - Set
    - Get
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:153,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:155,1
    - Dst: BN_mod
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:155,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:155,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:155,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:155,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:155,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:160,1
    - Dst: BN_div
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:160,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:160,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:160,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:160,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:160,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:165,1
    - Dst: bn_div_consttime
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:165,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:165,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:165,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:165,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:165,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:168,1
    - Dst: BN_is_pow2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:168,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:168,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:169,1
    - Dst: BN_mod_pow2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:169,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:169,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:169,1
    - Dst: BN_num_bits
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:169,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:169,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:176,1
    - Dst: AsUint64
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:176,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:180,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:182,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:187,1
    - Dst: BN_num_bits_word
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:187,1
    - Dst: bn_mod_u16_consttime
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:190,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:190,1
    - Dst: SetUint32
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:191,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:197,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:198,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:199,1
    - Dst: BN_mod_word
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:201,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:201,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:205,1
    - Dst: SetUint32
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:207,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 219
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 219
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_mod_word
    - BN_num_bits_word
    - CF_CHECK_GT
    - BN_num_bits
    - CF_CHECK_LTE
    - CF_CHECK_NE
    - AsBN_ULONG
    - BN_div
    - BN_is_pow2
    - BN_mod
    - GetDestPtr
    - CF_CHECK_EQ
    - bn_div_consttime
    - BN_mod_pow2
    - Get
    - SetUint32
    - GetPtr
    - bn_mod_u16_consttime
    - AsUint64
    linkageType: ''
    returnType: bool
    signature: bool Mod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:225,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:228,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:228,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:228,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:228,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:228,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:228,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:228,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:231,1
    - Dst: BN_mod_exp_mont
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:231,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:231,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:231,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:231,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:231,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:231,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:235,1
    - Dst: BN_mod_exp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:235,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:235,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:235,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:235,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:235,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:235,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:239,1
    - Dst: BN_mod_exp_simple
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:239,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:239,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:239,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:239,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:239,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 254
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 254
    functionName: cryptofuzz::module::OpenSSL_bignum::ExpMod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetDestPtr
    - CF_CHECK_EQ
    - BN_mod_exp_mont
    - BN_mod_exp_mont_consttime
    - Get
    - BN_mod_exp
    - BN_mod_exp_simple
    linkageType: ''
    returnType: bool
    signature: bool ExpMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:261,1
    - Dst: BN_sqr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:261,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:261,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:261,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 268
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 268
    functionName: cryptofuzz::module::OpenSSL_bignum::Sqr::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetDestPtr
    - BN_sqr
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Sqr::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:276,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:278,1
    - Dst: BN_gcd
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:278,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:278,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:278,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:278,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:278,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:282,1
    - Dst: BN_gcd_ct
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:282,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:282,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:282,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:282,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 293
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 293
    functionName: cryptofuzz::module::OpenSSL_bignum::GCD::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetDestPtr
    - BN_gcd
    - CF_CHECK_EQ
    - BN_gcd_ct
    - Get
    linkageType: ''
    returnType: bool
    signature: bool GCD::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:299,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:301,1
    - Dst: BN_mod_add
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:301,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:301,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:301,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:301,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:301,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:301,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:307,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:307,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:310,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:310,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:310,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:310,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:311,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:311,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:311,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:311,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:312,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:312,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:312,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:312,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:313,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:313,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:313,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:313,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:314,1
    - Dst: BN_mod_add_quick
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:314,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:314,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:314,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:314,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 327
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 327
    functionName: cryptofuzz::module::OpenSSL_bignum::AddMod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetDestPtr
    - BN_mod_add_quick
    - CF_CHECK_EQ
    - CF_CHECK_LT
    - Bignum::New
    - Bignum::GetPtr
    - BN_mod_add
    - Get
    - BN_cmp
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool AddMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:333,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:335,1
    - Dst: BN_mod_sub
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:335,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:335,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:335,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:335,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:335,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:335,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:340,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:340,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:343,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:343,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:343,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:343,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:344,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:344,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:344,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:344,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:345,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:345,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:345,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:345,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:346,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:346,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:346,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:346,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:347,1
    - Dst: BN_mod_sub_quick
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:347,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:347,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:347,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:347,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 358
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 358
    functionName: cryptofuzz::module::OpenSSL_bignum::SubMod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetDestPtr
    - CF_CHECK_EQ
    - CF_CHECK_LT
    - BN_mod_sub_quick
    - Bignum::New
    - Bignum::GetPtr
    - Get
    - BN_cmp
    - BN_mod_sub
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool SubMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:364,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:366,1
    - Dst: BN_mod_mul
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:366,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:366,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:366,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:366,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:366,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 377
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 377
    functionName: cryptofuzz::module::OpenSSL_bignum::MulMod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - BN_mod_mul
    - GetDestPtr
    - CF_CHECK_EQ
    - Get
    linkageType: ''
    returnType: bool
    signature: bool MulMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:383,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:385,1
    - Dst: BN_mod_sqr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:385,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:385,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:385,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:385,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 396
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 396
    functionName: cryptofuzz::module::OpenSSL_bignum::SqrMod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_mod_sqr
    - GetPtr
    - GetDestPtr
    - CF_CHECK_EQ
    - Get
    linkageType: ''
    returnType: bool
    signature: bool SqrMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:402,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:404,1
    - Dst: BN_mod_inverse
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:404,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:404,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:404,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:404,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:404,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:410,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:410,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:410,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:410,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:411,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:411,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:411,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:412,1
    - Dst: BN_mod_inverse_odd
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:412,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:412,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:412,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:412,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 425
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 425
    functionName: cryptofuzz::module::OpenSSL_bignum::InvMod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - BN_is_odd
    - CF_CHECK_EQ
    - BN_mod_inverse_odd
    - CF_CHECK_LT
    - BN_mod_inverse
    - Get
    - BN_cmp
    linkageType: ''
    returnType: bool
    signature: bool InvMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:434,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:436,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:436,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:436,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:440,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:440,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:440,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:441,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:441,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:441,1
    - Dst: BN_ucmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:442,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:442,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:442,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:448,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:449,1
    - Dst: BN_cmp_word
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:450,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:450,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:471,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:471,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 477
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 477
    functionName: cryptofuzz::module::OpenSSL_bignum::Cmp::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - BN_is_negative
    - CF_CHECK_EQ
    - AsBN_ULONG
    - Set
    - std::to_string
    - BN_cmp_word
    - BN_ucmp
    - Get
    - BN_cmp
    linkageType: ''
    returnType: bool
    signature: bool Cmp::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:485,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:487,1
    - Dst: BN_div
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:487,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:487,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:487,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:487,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:487,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:491,1
    - Dst: bn_div_consttime
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:491,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:491,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:491,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:491,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:491,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:496,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:497,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:499,1
    - Dst: BN_div_word
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:499,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:499,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:500,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:500,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 512
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 512
    functionName: cryptofuzz::module::OpenSSL_bignum::Div::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_div_word
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - CF_CHECK_EQ
    - AsBN_ULONG
    - bn_div_consttime
    - BN_div
    - Set
    - Get
    linkageType: ''
    returnType: bool
    signature: bool Div::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:525,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 533
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 533
    functionName: cryptofuzz::module::OpenSSL_bignum::IsPrime::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    linkageType: ''
    returnType: bool
    signature: bool IsPrime::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:540,1
    - Dst: BN_sqrt
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:540,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:540,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:540,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 552
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 552
    functionName: cryptofuzz::module::OpenSSL_bignum::Sqrt::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - BN_sqrt
    - GetDestPtr
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Sqrt::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:558,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:558,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:558,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 561
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 561
    functionName: cryptofuzz::module::OpenSSL_bignum::IsNeg::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    - GetPtr
    - BN_is_negative
    linkageType: ''
    returnType: bool
    signature: bool IsNeg::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:570,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:572,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:572,1
    - Dst: BN_equal_consttime
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:572,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:572,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:572,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:576,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:577,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:578,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:578,1
    - Dst: BN_is_word
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:578,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 595
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 595
    functionName: cryptofuzz::module::OpenSSL_bignum::IsEq::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_is_word
    - GetPtr
    - CF_CHECK_NE
    - std::to_string
    - AsBN_ULONG
    - Set
    - BN_equal_consttime
    - Get
    linkageType: ''
    returnType: bool
    signature: bool IsEq::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:601,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:601,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:601,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 604
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 604
    functionName: cryptofuzz::module::OpenSSL_bignum::IsEven::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    - BN_is_odd
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsEven::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:610,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:610,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:610,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 613
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 613
    functionName: cryptofuzz::module::OpenSSL_bignum::IsOdd::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    - BN_is_odd
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsOdd::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:619,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:619,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:619,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 622
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 622
    functionName: cryptofuzz::module::OpenSSL_bignum::IsZero::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - std::to_string
    - Set
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsZero::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:628,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:628,1
    - Dst: BN_is_one
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:628,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 631
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 631
    functionName: cryptofuzz::module::OpenSSL_bignum::IsOne::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    - BN_is_one
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsOne::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:644,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:646,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 652
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 652
    functionName: cryptofuzz::module::OpenSSL_bignum::Jacobi::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - CF_CHECK_NE
    - Set
    linkageType: ''
    returnType: bool
    signature: bool Jacobi::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:660,1
    - Dst: BN_nist_mod_192
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:660,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:660,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:660,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:660,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 666
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 666
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod_NIST_192::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetDestPtr
    - BN_nist_mod_192
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_192::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn, BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:672,1
    - Dst: BN_nist_mod_224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:672,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:672,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:672,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:672,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 678
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 678
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod_NIST_224::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - GetDestPtr
    - BN_nist_mod_224
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_224::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn, BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:684,1
    - Dst: BN_nist_mod_256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:684,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:684,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:684,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:684,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 690
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 690
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod_NIST_256::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetDestPtr
    - BN_nist_mod_256
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_256::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn, BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:696,1
    - Dst: BN_nist_mod_384
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:696,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:696,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:696,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:696,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 702
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 702
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod_NIST_384::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - BN_nist_mod_384
    - GetDestPtr
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_384::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn, BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:708,1
    - Dst: BN_nist_mod_521
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:708,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:708,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:708,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:708,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 714
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 714
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod_NIST_521::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetPtr
    - GetDestPtr
    - BN_nist_mod_521
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_521::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn, BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:724,1
    - Dst: BN_is_prime_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:724,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:724,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:724,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:725,1
    - Dst: BN_mod_sqrt
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:725,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:725,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:725,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:725,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 738
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 738
    functionName: cryptofuzz::module::OpenSSL_bignum::SqrtMod::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_mod_sqrt
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - CF_CHECK_EQ
    - BN_is_prime_ex
    linkageType: ''
    returnType: bool
    signature: bool SqrtMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:745,1
    - Dst: bn_lcm_consttime
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:745,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:745,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:745,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:745,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 751
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 751
    functionName: cryptofuzz::module::OpenSSL_bignum::LCM::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - bn_lcm_consttime
    - CF_CHECK_EQ
    - GetDestPtr
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool LCM::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:759,1
    - Dst: BN_exp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:759,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:759,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:759,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:759,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 771
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 771
    functionName: cryptofuzz::module::OpenSSL_bignum::Exp::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetDestPtr
    - BN_exp
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Exp::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:780,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:780,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:782,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:782,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:784,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:786,1
    - Dst: BN_sub
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:786,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:786,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:786,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:786,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:789,1
    - Dst: BN_sub
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:789,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:789,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:789,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:789,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:790,1
    - Dst: BN_sub
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:790,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:790,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:790,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:790,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:797,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:797,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:797,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:797,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 804
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 804
    functionName: cryptofuzz::module::OpenSSL_bignum::Abs::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - BN_is_negative
    - BN_sub
    - CF_CHECK_EQ
    - BN_copy
    - Bignum::New
    - Bignum::GetPtr
    - Get
    linkageType: ''
    returnType: bool
    signature: bool Abs::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:812,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:812,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:814,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:816,1
    - Dst: BN_rshift
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:816,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:816,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:816,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:823,1
    - Dst: BN_rshift1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:823,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:823,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:823,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 834
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 834
    functionName: cryptofuzz::module::OpenSSL_bignum::RShift::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - CF_CHECK_EQ
    - AsInt
    - Get
    - BN_rshift
    - BN_rshift1
    linkageType: ''
    returnType: bool
    signature: bool RShift::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:842,1
    - Dst: BN_lshift1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:842,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:842,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 852
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 852
    functionName: cryptofuzz::module::OpenSSL_bignum::LShift1::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_lshift1
    - CF_CHECK_EQ
    - GetDestPtr
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool LShift1::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:860,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:860,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:862,1
    - Dst: BN_set_bit
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:862,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:862,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:863,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:863,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:863,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 869
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 869
    functionName: cryptofuzz::module::OpenSSL_bignum::SetBit::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - CF_CHECK_EQ
    - AsInt
    - BN_copy
    - BN_set_bit
    linkageType: ''
    returnType: bool
    signature: bool SetBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:877,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:877,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:879,1
    - Dst: BN_clear_bit
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:879,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:879,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:880,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:880,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:880,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 886
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 886
    functionName: cryptofuzz::module::OpenSSL_bignum::ClearBit::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - CF_CHECK_EQ
    - AsInt
    - BN_copy
    - BN_clear_bit
    linkageType: ''
    returnType: bool
    signature: bool ClearBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn,
      BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:894,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:894,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:896,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:896,1
    - Dst: BN_is_bit_set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:896,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 902
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 902
    functionName: cryptofuzz::module::OpenSSL_bignum::Bit::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - std::to_string
    - Set
    - AsInt
    - BN_is_bit_set
    linkageType: ''
    returnType: bool
    signature: bool Bit::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:917,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:917,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 920
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 920
    functionName: cryptofuzz::module::OpenSSL_bignum::CmpAbs::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    linkageType: ''
    returnType: bool
    signature: bool CmpAbs::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:930,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:930,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:932,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:934,1
    - Dst: BN_mod_lshift
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:934,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:934,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:934,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:934,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:934,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:938,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:938,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:938,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:939,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:939,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:939,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:939,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:940,1
    - Dst: BN_mod_lshift_quick
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:940,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:940,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:940,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:940,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:943,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:944,1
    - Dst: BN_mod_lshift1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:944,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:944,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:944,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:944,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:944,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:947,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:949,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:949,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:949,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:950,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:950,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:950,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:950,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:951,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:951,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:951,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:951,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:951,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 961
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 961
    functionName: cryptofuzz::module::OpenSSL_bignum::ModLShift::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - BN_is_negative
    - CF_CHECK_EQ
    - BN_mod_lshift_quick
    - AsInt
    - BN_mod_lshift
    - CF_CHECK_LT
    - BN_mod_lshift1
    - BN_mod_lshift1_quick
    - Get
    - BN_cmp
    linkageType: ''
    returnType: bool
    signature: bool ModLShift::Run(Datasource& ds, Bignum& res, BignumCluster& bn,
      BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:969,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:969,1
    - Dst: BN_is_pow2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:969,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 978
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 978
    functionName: cryptofuzz::module::OpenSSL_bignum::IsPow2::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_is_pow2
    - std::to_string
    - Set
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsPow2::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:987,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:987,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:988,1
    - Dst: BN_mask_bits
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:988,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:988,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:989,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 995
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 995
    functionName: cryptofuzz::module::OpenSSL_bignum::Mask::Run
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - GetDestPtr
    - CF_CHECK_EQ
    - BN_mask_bits
    - AsInt
    - Set
    linkageType: ''
    returnType: bool
    signature: bool Mask::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::wolfCrypt_OpenSSL
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wolfCrypt_OpenSSL::wolfCrypt_OpenSSL(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:27,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:27,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:28,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:28,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:29,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:29,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:30,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:30,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:31,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:31,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:32,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:32,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:33,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:33,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:34,1
    - Dst: EVP_md5_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:34,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:35,1
    - Dst: EVP_sha512_256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:35,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:37,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:37,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:38,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:38,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:39,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:39,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:40,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:40,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:41,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:41,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:42,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:42,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:43,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:43,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:44,1
    - Dst: EVP_md5_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:44,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:45,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:45,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:46,1
    - Dst: EVP_whirlpool
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:46,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:47,1
    - Dst: EVP_sm3
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:47,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:48,1
    - Dst: EVP_gostr341194
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:48,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:49,1
    - Dst: EVP_gost2814789imit
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:49,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:50,1
    - Dst: EVP_streebog256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:50,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:51,1
    - Dst: EVP_streebog512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:51,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:53,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:53,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:54,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:54,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:55,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:55,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:56,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:56,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:57,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:57,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:58,1
    - Dst: EVP_md2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:58,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:59,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:59,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:60,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:60,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:61,1
    - Dst: EVP_mdc2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:61,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:62,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:62,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:63,1
    - Dst: EVP_whirlpool
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:63,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:65,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:65,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:66,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:66,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:67,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:67,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:68,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:68,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:69,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:69,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:70,1
    - Dst: EVP_md2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:70,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:71,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:71,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:72,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:72,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:73,1
    - Dst: EVP_md5_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:73,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:74,1
    - Dst: EVP_mdc2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:74,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:75,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:75,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:76,1
    - Dst: EVP_whirlpool
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:76,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:77,1
    - Dst: EVP_blake2b512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:77,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:78,1
    - Dst: EVP_blake2s256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:78,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:80,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:80,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:81,1
    - Dst: EVP_mdc2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:81,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:82,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:82,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:83,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:83,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:84,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:84,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:85,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:85,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:86,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:86,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:87,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:87,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:88,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:88,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:90,1
    - Dst: EVP_mdc2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:90,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:91,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:91,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:92,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:92,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:93,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:93,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:94,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:94,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:95,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:95,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:96,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:96,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:97,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:97,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:98,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:98,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:99,1
    - Dst: EVP_sha3_224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:99,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:100,1
    - Dst: EVP_sha3_256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:100,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:101,1
    - Dst: EVP_sha3_384
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:101,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:102,1
    - Dst: EVP_sha3_512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:102,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:105,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:105,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:106,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:106,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:107,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:107,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:108,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:108,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:109,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:109,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:110,1
    - Dst: EVP_md2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:110,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:111,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:111,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:112,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:112,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:113,1
    - Dst: EVP_md5_sha1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:113,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:114,1
    - Dst: EVP_mdc2
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:114,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:115,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:115,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:116,1
    - Dst: EVP_whirlpool
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:116,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:117,1
    - Dst: EVP_sm3
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:117,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:118,1
    - Dst: EVP_blake2b512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:118,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:119,1
    - Dst: EVP_blake2s256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:119,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:120,1
    - Dst: EVP_shake128
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:120,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:121,1
    - Dst: EVP_shake256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:121,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:122,1
    - Dst: EVP_sha3_224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:122,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:123,1
    - Dst: EVP_sha3_256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:123,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:124,1
    - Dst: EVP_sha3_384
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:124,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:125,1
    - Dst: EVP_sha3_512
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:125,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:126,1
    - Dst: EVP_sha512_224
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:126,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:127,1
    - Dst: EVP_sha512_256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:127,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:131,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:131,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:131,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:135,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 136
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 136
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_sha384
    - EVP_blake2s256
    - EVP_sha224
    - EVP_gostr341194
    - EVP_sha512_224
    - EVP_ripemd160
    - EVP_sha512_256
    - EVP_blake2b512
    - EVP_shake256
    - EVP_sha3_256
    - EVP_gost2814789imit
    - EVP_sha3_512
    - EVP_streebog512
    - EVP_sha512
    - std::map::end
    - EVP_streebog256
    - EVP_sha3_224
    - Get
    - EVP_mdc2
    - std::map::find
    - std::map::at
    - EVP_sm3
    - EVP_md4
    - EVP_md5_sha1
    - EVP_sha256
    - EVP_sha1
    - EVP_shake128
    - CF_DIGEST
    - EVP_md2
    - EVP_md5
    - EVP_whirlpool
    - EVP_sha3_384
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD * toEVPMD(const component::DigestType& digestType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:141,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:141,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:150,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:151,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:151,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:152,1
    - Dst: EVP_DigestInit_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:152,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:152,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:157,1
    - Dst: EVP_DigestUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:157,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:157,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:164,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:164,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:164,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 171
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 171
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - modifier::GetPtr
    - CF_EVP_MD_CTX::GetPtr
    - CF_CHECK_EQ
    - Botan::PKCS11::LowLevel::C_Digest
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - modifier::GetSize
    - cryptofuzz::util::ToParts
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> wolfCrypt_OpenSSL::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:185,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:187,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:187,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:188,1
    - Dst: EVP_PKEY_new_mac_key
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:188,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:188,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:188,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:189,1
    - Dst: EVP_DigestSignInit
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:189,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:189,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:194,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:194,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:194,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:201,1
    - Dst: EVP_DigestSignFinal
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:201,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:201,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:203,1
    - Dst: EVP_PKEY_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::HMAC
    - Datasource
    constantsTouched: []
    func_position:
      end: 210
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 210
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpHMAC_EVP
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - EVP_DigestSignInit
    - CF_EVP_MD_CTX::GetPtr
    - CF_CHECK_EQ
    - cipher::key::GetPtr
    - EVP_PKEY_free
    - cryptofuzz::util::ToParts
    - Botan_CLI::HMAC::HMAC
    - cipher::key::GetSize
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
    - EVP_DigestSignUpdate
    - EVP_DigestSignFinal
    - EVP_PKEY_new_mac_key
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> OpHMAC_EVP(operation::HMAC& op, Datasource&
      ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:222,1
    - Dst: HMAC_CTX_reset
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:224,1
    - Dst: CF_HMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:224,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:225,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:225,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:226,1
    - Dst: HMAC_Init_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:226,1
    - Dst: CF_HMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:226,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:226,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:226,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:231,1
    - Dst: HMAC_Update
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:231,1
    - Dst: CF_HMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:231,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:238,1
    - Dst: HMAC_Final
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:238,1
    - Dst: CF_HMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:238,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::HMAC
    - Datasource
    constantsTouched: []
    func_position:
      end: 245
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 245
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpHMAC_HMAC
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - HMAC_Final
    - CF_CHECK_NE
    - HMAC_CTX_reset
    - HMAC_Init_ex
    - CF_CHECK_EQ
    - HMAC_Update
    - CF_HMAC_CTX::GetPtr
    - cipher::key::GetPtr
    - cryptofuzz::util::ToParts
    - Botan_CLI::HMAC::HMAC
    - cipher::key::GetSize
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> OpHMAC_HMAC(operation::HMAC& op, Datasource&
      ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:249,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:249,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:252,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:252,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:253,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:253,1
    - Dst: cryptofuzz::module::OpenSSL_detail::SipHash
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:255,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:261,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpHMAC_EVP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:267,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpHMAC_HMAC
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:269,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpHMAC_HMAC
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:273,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpHMAC_EVP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 280
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 280
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::OpenSSL_detail::SipHash
    - modifier::GetPtr
    - digestType::Get
    - Datasource::Get
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpHMAC_EVP
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpHMAC_HMAC
    - CF_DIGEST
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> wolfCrypt_OpenSSL::OpHMAC(operation::HMAC&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: component::SymmetricCipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:287,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:288,1
    - Dst: EVP_aes_128_cbc
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:289,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:290,1
    - Dst: EVP_aes_128_cfb1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:291,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:292,1
    - Dst: EVP_aes_128_cfb8
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:293,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:294,1
    - Dst: EVP_aes_128_ctr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:295,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:296,1
    - Dst: EVP_aes_128_ecb
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:297,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:298,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:299,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:300,1
    - Dst: EVP_aes_128_ofb
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:301,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:302,1
    - Dst: EVP_aes_128_xts
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:303,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:304,1
    - Dst: EVP_aes_192_cbc
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:305,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:306,1
    - Dst: EVP_aes_192_cfb1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:307,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:308,1
    - Dst: EVP_aes_192_cfb8
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:309,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:310,1
    - Dst: EVP_aes_192_ctr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:311,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:312,1
    - Dst: EVP_aes_192_ecb
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:313,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:314,1
    - Dst: EVP_aes_192_gcm
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:315,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:316,1
    - Dst: EVP_aes_192_ofb
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:317,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:318,1
    - Dst: EVP_aes_256_cbc
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:319,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:320,1
    - Dst: EVP_aes_256_cfb1
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:321,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:322,1
    - Dst: EVP_aes_256_cfb8
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:323,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:324,1
    - Dst: EVP_aes_256_ctr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:325,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:326,1
    - Dst: EVP_aes_256_ecb
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:327,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:328,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:329,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:330,1
    - Dst: EVP_aes_256_ofb
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:331,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:332,1
    - Dst: EVP_aes_256_xts
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:333,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:334,1
    - Dst: EVP_des_cbc
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:335,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:336,1
    - Dst: EVP_des_ecb
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:337,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:338,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:339,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:340,1
    - Dst: EVP_rc4
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 59
    argCount: 1
    argNames:
    - cipherType
    argTypes:
    - component::SymmetricCipherType
    constantsTouched: []
    func_position:
      end: 345
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 345
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPCIPHER
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_aes_128_ecb
    - EVP_aes_128_gcm
    - EVP_aes_256_ecb
    - EVP_aes_192_cfb8
    - EVP_des_ede3_cbc
    - EVP_aes_256_cbc
    - EVP_aes_128_ofb
    - EVP_des_cbc
    - EVP_aes_128_xts
    - EVP_aes_192_ctr
    - EVP_des_ecb
    - EVP_aes_192_ofb
    - EVP_aes_128_cfb8
    - component::SymmetricCipherType::Get
    - EVP_aes_256_cfb8
    - EVP_aes_128_cfb1
    - EVP_aes_128_ctr
    - EVP_aes_256_gcm
    - EVP_rc4
    - EVP_aes_256_ofb
    - EVP_aes_192_gcm
    - EVP_aes_192_cbc
    - CF_CIPHER
    - EVP_aes_192_ecb
    - EVP_aes_256_ctr
    - EVP_aes_256_xts
    - EVP_aes_128_cbc
    - EVP_aes_256_cfb1
    - EVP_aes_192_cfb1
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER * toEVPCIPHER(const component::SymmetricCipherType cipherType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_flags
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL_detail::isAEAD
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_flags
    linkageType: ''
    returnType: bool
    signature: bool isAEAD(const EVP_CIPHER* ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::isAEAD
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:358,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:375,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - cipherType
    - cipher
    - ctx
    - inputIvLength
    argTypes:
    - uint64_t
    - EVP_CIPHER*
    - EVP_CIPHER_CTX*
    - size_t
    constantsTouched: []
    func_position:
      end: 382
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 382
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL_detail::checkSetIVLength
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::isAEAD
    - CF_CHECK_EQ
    - EVP_CIPHER_CTX_ctrl
    linkageType: ''
    returnType: bool
    signature: bool checkSetIVLength(const uint64_t cipherType, const EVP_CIPHER*
      cipher, EVP_CIPHER_CTX* ctx, const size_t inputIvLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:392,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - cipher
    - ctx
    - inputKeyLength
    argTypes:
    - EVP_CIPHER*
    - EVP_CIPHER_CTX*
    - size_t
    constantsTouched: []
    func_position:
      end: 399
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 399
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL_detail::checkSetKeyLength
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - EVP_CIPHER_CTX_set_key_length
    linkageType: ''
    returnType: bool
    signature: bool checkSetKeyLength(const EVP_CIPHER* cipher, EVP_CIPHER_CTX* ctx,
      const size_t inputKeyLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:416,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPCIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:416,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:422,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::isAEAD
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:422,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:425,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:425,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:425,1
    - Dst: cryptofuzz::util::CipherInputTransform
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:431,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:431,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:431,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:434,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:434,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:438,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:438,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:440,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:444,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:444,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:445,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::checkSetIVLength
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:445,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:445,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:445,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:445,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:447,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:447,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:449,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::checkSetKeyLength
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:449,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:449,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:449,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:451,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:451,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:452,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:452,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:452,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:452,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:452,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:456,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:457,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:457,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:457,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:458,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:458,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:458,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:458,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:462,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:462,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:463,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:463,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:463,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:472,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:472,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:474,1
    - Dst: EVP_EncryptUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:474,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:474,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:474,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:481,1
    - Dst: EVP_EncryptUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:481,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:481,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:487,1
    - Dst: EVP_CIPHER_block_size
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:487,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:490,1
    - Dst: EVP_EncryptUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:490,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:490,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:498,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:498,1
    - Dst: EVP_CIPHER_block_size
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:498,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:501,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:501,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:501,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:510,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:510,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:510,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:511,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:511,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:511,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:513,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:513,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:519,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:520,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricEncrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 523
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 523
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpSymmetricEncrypt_EVP
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - EVP_CIPHER_CTX_ctrl
    - aad::GetPtr
    - CF_EVP_CIPHER_CTX::GetPtr
    - memset
    - cipher::key::GetPtr
    - cleartext::GetSize
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPCIPHER
    - CF_CHECK_NE
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::checkSetIVLength
    - cipher::iv::GetSize
    - cryptofuzz::util::CipherInputTransform
    - cipher::iv::GetPtr
    - memcpy
    - EVP_EncryptUpdate
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::isAEAD
    - EVP_EncryptFinal_ex
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::checkSetKeyLength
    - cryptofuzz::component::Ciphertext::Ciphertext
    - cryptofuzz::util::free
    - cryptofuzz::repository::IsECB
    - EVP_CIPHER_CTX_set_padding
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - aad::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - EVP_CIPHER_block_size
    - EVP_EncryptInit_ex
    - cleartext::GetPtr
    - cryptofuzz::repository::IsCCM
    - CF_CIPHER
    - Buffer
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> OpSymmetricEncrypt_EVP(operation::SymmetricEncrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:528,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:528,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpSymmetricEncrypt_EVP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 4
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpSymmetricEncrypt_EVP
    - modifier::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> wolfCrypt_OpenSSL::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:548,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPCIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:548,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:554,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::isAEAD
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:554,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:556,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:556,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:556,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:563,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:563,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:566,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:566,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:570,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:570,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:572,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:576,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:576,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:577,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::checkSetIVLength
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:577,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:577,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:577,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:577,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:579,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:579,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:581,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::checkSetKeyLength
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:581,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:581,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:581,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:583,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:583,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:584,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:584,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:584,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:584,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:584,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:588,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:589,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:589,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:589,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:590,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:590,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:590,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:590,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:594,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:594,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:595,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:595,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:595,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:604,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:604,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:606,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:606,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:606,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:606,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:613,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:613,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:613,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:619,1
    - Dst: EVP_CIPHER_block_size
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:619,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:622,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:622,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:622,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:629,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:629,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:629,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:629,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:629,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:635,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:635,1
    - Dst: EVP_CIPHER_block_size
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:635,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:638,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:638,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:638,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:641,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:646,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricDecrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 649
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 649
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpSymmetricDecrypt_EVP
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - EVP_CIPHER_CTX_ctrl
    - ciphertext::GetPtr
    - aad::GetPtr
    - CF_EVP_CIPHER_CTX::GetPtr
    - EVP_DecryptUpdate
    - memset
    - cipher::key::GetPtr
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPCIPHER
    - CF_CHECK_NE
    - ciphertext::GetSize
    - EVP_DecryptFinal_ex
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::checkSetIVLength
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - memcpy
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::isAEAD
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::checkSetKeyLength
    - cryptofuzz::util::free
    - cryptofuzz::repository::IsECB
    - EVP_CIPHER_CTX_set_padding
    - tag::GetSize
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - aad::GetSize
    - cryptofuzz::util::ToParts
    - EVP_DecryptInit_ex
    - cipher::key::GetSize
    - tag::GetPtr
    - EVP_CIPHER_block_size
    - cryptofuzz::repository::IsCCM
    - CF_CIPHER
    - component::Cleartext
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> OpSymmetricDecrypt_EVP(operation::SymmetricDecrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:654,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:654,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpSymmetricDecrypt_EVP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 3
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - modifier::GetSize
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::OpSymmetricDecrypt_EVP
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> wolfCrypt_OpenSSL::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:660,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:660,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:669,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:671,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPCIPHER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:671,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:672,1
    - Dst: CMAC_Init
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:672,1
    - Dst: CF_CMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:672,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:672,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:672,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:677,1
    - Dst: CMAC_Update
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:677,1
    - Dst: CF_CMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:677,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:684,1
    - Dst: CMAC_Final
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:684,1
    - Dst: CF_CMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:684,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 690
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 690
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpCMAC
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPCIPHER
    - CF_CHECK_NE
    - cipher::key::GetSize
    - modifier::GetPtr
    - CF_CHECK_EQ
    - Botan_CLI::HMAC::HMAC
    - modifier::GetSize
    - cipher::key::GetPtr
    - CF_CMAC_CTX::GetPtr
    - CMAC_Update
    - cryptofuzz::util::ToParts
    - CMAC_Final
    - CMAC_Init
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> wolfCrypt_OpenSSL::OpCMAC(operation::CMAC&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:702,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:702,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:703,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:703,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:704,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:704,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:705,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:705,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:706,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:706,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:706,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:706,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:707,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:707,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:707,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:707,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:708,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:708,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:708,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:708,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:713,1
    - Dst: EVP_PKEY_derive
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:713,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:715,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:717,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:721,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 726
      start: 692
    functionDepth: 2
    functionLinenumber: 692
    functionLinenumberEnd: 726
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_set1_hkdf_salt
    - EVP_PKEY_CTX_set1_hkdf_key
    - CF_CHECK_NE
    - salt::GetPtr
    - EVP_PKEY_CTX_set_hkdf_md
    - cryptofuzz::util::free
    - CF_CHECK_EQ
    - info::GetPtr
    - EVP_PKEY_CTX_add1_hkdf_info
    - salt::GetSize
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
    - password::GetPtr
    - EVP_PKEY_derive_init
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_new_id
    - info::GetSize
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> wolfCrypt_OpenSSL::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:735,1
    - Dst: cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:735,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:736,1
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:736,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:737,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:738,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:739,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:740,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:746,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 751
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 751
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - password::GetPtr
    - CF_CHECK_EQ
    - salt::GetPtr
    - PKCS5_PBKDF2_HMAC
    - salt::GetSize
    - cryptofuzz::module::wolfCrypt_OpenSSL_detail::toEVPMD
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> wolfCrypt_OpenSSL::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:755,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:756,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:757,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:758,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:759,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:760,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:761,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:762,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:763,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:764,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:765,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:766,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:767,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:768,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:769,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:770,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:771,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:772,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:773,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:774,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:775,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:776,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:777,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:778,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:779,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:780,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:781,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:784,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:784,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:784,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:788,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' curveType'
    argTypes:
    - component::CurveType
    constantsTouched: []
    func_position:
      end: 789
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 789
    functionName: cryptofuzz::module::toCurveNID
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::map::find
    - std::map::end
    - std::map::at
    - CF_ECC_CURVE
    - Get
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> toCurveNID(const component::CurveType& curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:793,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:793,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:802,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:802,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:803,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:803,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:804,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:805,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:805,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:808,1
    - Dst: EC_KEY_set_group
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:808,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:808,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:808,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:811,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:811,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:812,1
    - Dst: std::unique_ptr::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:812,1
    - Dst: cryptofuzz::repository::ECC_CurveToOrder
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:819,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:819,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:820,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:821,1
    - Dst: pub::first::IsLessThan
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:821,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:822,1
    - Dst: pub::second::IsLessThan
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:822,1
    - Dst: EC_KEY_set_public_key
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:826,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:826,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 829
      start: 791
    functionDepth: 2
    functionLinenumber: 791
    functionLinenumberEnd: 829
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPtr
    - modifier::GetPtr
    - EC_KEY_set_public_key
    - modifier::GetSize
    - pub::second::IsLessThan
    - CF_CHECK_NE
    - pub::first::IsLessThan
    - std::shared_ptr::GetPtr
    - std::make_unique<CF_EC_POINT>
    - toCurveNID
    - EC_KEY_set_group
    - CF_CHECK_EQ
    - CF_EC_KEY::GetPtr
    - std::unique_ptr::Set
    - CF_CHECK_TRUE
    - std::shared_ptr::Lock
    - curveType::Get
    - std::make_shared<CF_EC_GROUP>
    - cryptofuzz::repository::ECC_CurveToOrder
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> wolfCrypt_OpenSSL::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:833,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:833,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:848,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:848,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:849,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:849,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:850,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:851,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:851,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:854,1
    - Dst: EC_KEY_set_group
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:854,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:854,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:854,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:857,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:857,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:857,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:860,1
    - Dst: EC_KEY_set_private_key
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:860,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:860,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:860,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:863,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:863,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:864,1
    - Dst: EC_POINT_mul
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:864,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:864,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:864,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:864,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:866,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:866,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:867,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:867,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:869,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:869,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:869,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:869,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:869,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:869,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:872,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:872,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:872,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:873,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:873,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:873,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:876,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:876,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:880,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 884
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 884
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPtr
    - modifier::GetPtr
    - modifier::GetSize
    - priv::ToString
    - OPENSSL_free
    - CF_CHECK_NE
    - EC_POINT_get_affine_coordinates
    - OpenSSL_bignum::Bignum::New
    - std::make_unique<CF_EC_POINT>
    - OpenSSL_bignum::Bignum::GetDestPtr
    - OpenSSL_bignum::Bignum::GetPtr
    - toCurveNID
    - EC_KEY_set_private_key
    - EC_KEY_set_group
    - CF_CHECK_EQ
    - std::string
    - CF_EC_KEY::GetPtr
    - std::shared_ptr::Lock
    - EC_POINT_mul
    - OpenSSL_bignum::Bignum::Set
    - BN_bn2dec
    - std::make_shared<CF_EC_GROUP>
    - std::shared_ptr::GetPtr
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> wolfCrypt_OpenSSL::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:888,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:888,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:897,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:897,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:898,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:898,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:899,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:900,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:900,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:903,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:903,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:904,1
    - Dst: std::unique_ptr::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:904,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:906,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:906,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:907,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:907,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:909,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:909,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:911,1
    - Dst: EC_POINT_add
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:911,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:911,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:911,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:911,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:911,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:917,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:917,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:918,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:918,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:920,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:920,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:920,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:920,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:920,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:920,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:923,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:923,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:923,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:924,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:924,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:924,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:926,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:926,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:930,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Add
    constantsTouched: []
    func_position:
      end: 934
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 934
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpECC_Point_Add
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPtr
    - modifier::GetPtr
    - modifier::GetSize
    - EC_POINT_add
    - OPENSSL_free
    - CF_CHECK_NE
    - EC_POINT_get_affine_coordinates
    - OpenSSL_bignum::Bignum::New
    - std::make_unique<CF_EC_POINT>
    - OpenSSL_bignum::Bignum::GetDestPtr
    - OpenSSL_bignum::Bignum::GetPtr
    - toCurveNID
    - CF_CHECK_EQ
    - std::string
    - std::unique_ptr::Set
    - CF_CHECK_TRUE
    - std::shared_ptr::Lock
    - GetPtr
    - Set
    - BN_bn2dec
    - std::make_shared<CF_EC_GROUP>
    - std::shared_ptr::GetPtr
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> wolfCrypt_OpenSSL::OpECC_Point_Add(operation::ECC_Point_Add&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:938,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:938,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:948,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:948,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:949,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:949,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:950,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:951,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:951,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:954,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:954,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:955,1
    - Dst: std::unique_ptr::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:955,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:957,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:957,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:959,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:959,1
    - Dst: b::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:959,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:961,1
    - Dst: EC_POINT_mul
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:961,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:961,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:961,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:961,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:961,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:963,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:964,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:965,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:965,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:965,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:972,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:972,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:972,1
    - Dst: OpenSSL_bignum::BN_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:972,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:973,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:974,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:974,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:974,1
    - Dst: OpenSSL_bignum::BN_CTX::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:974,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:979,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:982,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:983,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 986
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 986
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPtr
    - b::ToString
    - modifier::GetPtr
    - modifier::GetSize
    - EC_POINT_is_at_infinity
    - OPENSSL_free
    - CF_CHECK_NE
    - std::make_unique<CF_EC_POINT>
    - OpenSSL_bignum::Bignum::GetPtr
    - toCurveNID
    - b::ToTrimmedString
    - CF_CHECK_EQ
    - std::unique_ptr::Set
    - Get
    - CF_CHECK_TRUE
    - std::shared_ptr::Lock
    - EC_POINT_is_on_curve
    - EC_POINT_mul
    - GetPtr
    - CF_ASSERT
    - OpenSSL_bignum::BN_CTX::GetPtr
    - OpenSSL_bignum::Bignum::Set
    - std::make_shared<CF_EC_GROUP>
    - std::shared_ptr::GetPtr
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> wolfCrypt_OpenSSL::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:990,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:990,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:999,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:999,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1000,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1000,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1001,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1002,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1002,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1005,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1005,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1006,1
    - Dst: std::unique_ptr::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1006,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1008,1
    - Dst: EC_POINT_invert
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1008,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1008,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1008,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1014,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1014,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1015,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1015,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1017,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1017,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1017,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1017,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1017,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1017,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1020,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1020,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1020,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1021,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1021,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1021,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1023,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1023,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1027,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Neg
    constantsTouched: []
    func_position:
      end: 1031
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1031
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpECC_Point_Neg
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPtr
    - modifier::GetPtr
    - modifier::GetSize
    - OPENSSL_free
    - CF_CHECK_NE
    - EC_POINT_get_affine_coordinates
    - EC_POINT_invert
    - OpenSSL_bignum::Bignum::New
    - std::make_unique<CF_EC_POINT>
    - OpenSSL_bignum::Bignum::GetDestPtr
    - OpenSSL_bignum::Bignum::GetPtr
    - toCurveNID
    - CF_CHECK_EQ
    - std::string
    - std::unique_ptr::Set
    - CF_CHECK_TRUE
    - std::shared_ptr::Lock
    - BN_bn2dec
    - std::make_shared<CF_EC_GROUP>
    - std::shared_ptr::GetPtr
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> wolfCrypt_OpenSSL::OpECC_Point_Neg(operation::ECC_Point_Neg&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1035,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1035,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1042,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1042,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1043,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1043,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1044,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1045,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1045,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1048,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1048,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1049,1
    - Dst: std::unique_ptr::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1049,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1051,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1051,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1052,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1052,1
    - Dst: EC_POINT_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1054,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1054,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1054,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Cmp
    constantsTouched: []
    func_position:
      end: 1059
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1059
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpECC_Point_Cmp
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPtr
    - GetPtr
    - CF_CHECK_NE
    - CF_CHECK_TRUE
    - modifier::GetPtr
    - Set
    - std::make_unique<CF_EC_POINT>
    - modifier::GetSize
    - std::unique_ptr::Set
    - EC_POINT_cmp
    - toCurveNID
    - std::make_shared<CF_EC_GROUP>
    - std::shared_ptr::Lock
    - std::shared_ptr::GetPtr
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> wolfCrypt_OpenSSL::OpECC_Point_Cmp(operation::ECC_Point_Cmp&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1063,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1063,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1080,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1080,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1081,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1081,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1082,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1083,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1083,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1085,1
    - Dst: EC_KEY_set_group
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1085,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1085,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1085,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1088,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1088,1
    - Dst: signature::signature::first::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1088,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1089,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1089,1
    - Dst: signature::signature::second::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1089,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1090,1
    - Dst: ECDSA_SIG_new
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1090,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1091,1
    - Dst: ECDSA_SIG_set0
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1091,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1091,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1091,1
    - Dst: OpenSSL_bignum::Bignum::ReleaseOwnership
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1093,1
    - Dst: OpenSSL_bignum::Bignum::ReleaseOwnership
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1094,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1097,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1097,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1098,1
    - Dst: std::unique_ptr::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1098,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1099,1
    - Dst: EC_KEY_set_public_key
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1099,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1099,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1099,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1105,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1105,1
    - Dst: ECDSA_do_verify
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1108,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1108,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1108,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1108,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1109,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1109,1
    - Dst: SHA256
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1111,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1111,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1111,1
    - Dst: ECDSA_do_verify
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1112,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1112,1
    - Dst: ECDSA_SIG_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 1135
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1135
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - signature::signature::second::ToString
    - std::unique_ptr::GetPtr
    - modifier::GetPtr
    - EC_KEY_set_public_key
    - digestType::Get
    - ECDSA_do_verify
    - signature::signature::first::ToString
    - modifier::GetSize
    - ECDSA_SIG_new
    - cleartext::GetSize
    - auto::GetSize
    - CF_CHECK_NE
    - std::make_unique<CF_EC_POINT>
    - SHA256
    - OpenSSL_bignum::Bignum::GetDestPtr
    - toCurveNID
    - ECDSA_SIG_set0
    - EC_KEY_set_group
    - CF_CHECK_EQ
    - OpenSSL_bignum::Bignum::ReleaseOwnership
    - auto::GetPtr
    - CF_EC_KEY::GetPtr
    - std::unique_ptr::Set
    - CF_CHECK_TRUE
    - std::shared_ptr::Lock
    - cleartext::GetPtr
    - OpenSSL_bignum::Bignum::Set
    - CF_DIGEST
    - ECDSA_SIG_free
    - std::make_shared<CF_EC_GROUP>
    - std::shared_ptr::GetPtr
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> wolfCrypt_OpenSSL::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1139,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1139,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1156,1
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1156,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1157,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1157,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1157,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1161,1
    - Dst: toCurveNID
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1161,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1162,1
    - Dst: std::make_shared<CF_EC_GROUP>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1162,1
    - Dst: std::shared_ptr::Lock
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1163,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1164,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1164,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1167,1
    - Dst: EC_KEY_set_group
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1167,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1167,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1167,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1170,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1170,1
    - Dst: priv::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1170,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1173,1
    - Dst: EC_KEY_set_private_key
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1173,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1173,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1173,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1176,1
    - Dst: std::make_unique<CF_EC_POINT>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1176,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1177,1
    - Dst: EC_POINT_mul
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1177,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1177,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1177,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1177,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1179,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1179,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1180,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1180,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1182,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1182,1
    - Dst: std::shared_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1182,1
    - Dst: std::unique_ptr::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1182,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1182,1
    - Dst: OpenSSL_bignum::Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1182,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1184,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1184,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1184,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1185,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1185,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1185,1
    - Dst: cleartext::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1187,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1189,1
    - Dst: ECDSA_do_sign
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1189,1
    - Dst: auto::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1189,1
    - Dst: auto::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1189,1
    - Dst: CF_EC_KEY::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1189,1
    - Dst: ECDSA_SIG_get0
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1191,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1192,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1193,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1196,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1196,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1197,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1197,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1200,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1201,1
    - Dst: cryptofuzz::util::AdjustECDSASignature
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1201,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1201,1
    - Dst: component::Bignum::ToTrimmedString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1203,1
    - Dst: ECDSA_SIG_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1208,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1210,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1211,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1212,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 1216
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1216
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPtr
    - modifier::GetPtr
    - cryptofuzz::util::AdjustECDSASignature
    - modifier::GetSize
    - cleartext::ECDSA_RandomPad
    - UseRandomNonce
    - priv::ToString
    - auto::GetSize
    - OPENSSL_free
    - CF_CHECK_NE
    - EC_POINT_get_affine_coordinates
    - ECDSA_SIG_get0
    - OpenSSL_bignum::Bignum::New
    - std::make_unique<CF_EC_POINT>
    - OpenSSL_bignum::Bignum::GetDestPtr
    - OpenSSL_bignum::Bignum::GetPtr
    - toCurveNID
    - EC_KEY_set_private_key
    - EC_KEY_set_group
    - CF_CHECK_EQ
    - digestType::Is
    - std::string
    - auto::GetPtr
    - CF_EC_KEY::GetPtr
    - component::Bignum::ToTrimmedString
    - std::shared_ptr::Lock
    - CF_CHECK_TRUE
    - EC_POINT_mul
    - CF_NORET
    - OpenSSL_bignum::Bignum::Set
    - curveType::Get
    - CF_DIGEST
    - ECDSA_SIG_free
    - BN_bn2dec
    - ECDSA_do_sign
    - std::make_shared<CF_EC_GROUP>
    - std::shared_ptr::GetPtr
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> wolfCrypt_OpenSSL::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1220,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1220,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1231,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1231,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1232,1
    - Dst: OpenSSL_bignum::BignumCluster::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1232,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1233,1
    - Dst: OpenSSL_bignum::BignumCluster::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1233,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1234,1
    - Dst: OpenSSL_bignum::BignumCluster::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1234,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1235,1
    - Dst: OpenSSL_bignum::BignumCluster::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1235,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1237,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1237,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1238,1
    - Dst: OpenSSL_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1238,1
    - Dst: bn0::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1238,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1239,1
    - Dst: OpenSSL_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1239,1
    - Dst: bn1::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1239,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1240,1
    - Dst: OpenSSL_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1240,1
    - Dst: bn2::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1240,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1241,1
    - Dst: OpenSSL_bignum::BignumCluster::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1241,1
    - Dst: bn3::ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1241,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1243,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1244,1
    - Dst: std::make_unique<OpenSSL_bignum::Add>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1245,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1247,1
    - Dst: std::make_unique<OpenSSL_bignum::Sub>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1248,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1251,1
    - Dst: std::make_unique<OpenSSL_bignum::Mul>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1252,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1255,1
    - Dst: std::make_unique<OpenSSL_bignum::Mod>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1256,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1258,1
    - Dst: std::make_unique<OpenSSL_bignum::ExpMod>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1259,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1262,1
    - Dst: std::make_unique<OpenSSL_bignum::Sqr>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1263,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1267,1
    - Dst: std::make_unique<OpenSSL_bignum::GCD>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1268,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1271,1
    - Dst: std::make_unique<OpenSSL_bignum::AddMod>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1272,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1275,1
    - Dst: std::make_unique<OpenSSL_bignum::SubMod>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1276,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1279,1
    - Dst: std::make_unique<OpenSSL_bignum::MulMod>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1280,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1283,1
    - Dst: std::make_unique<OpenSSL_bignum::SqrMod>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1284,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1287,1
    - Dst: std::make_unique<OpenSSL_bignum::InvMod>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1288,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1290,1
    - Dst: std::make_unique<OpenSSL_bignum::Cmp>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1291,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1294,1
    - Dst: std::make_unique<OpenSSL_bignum::Div>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1295,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1298,1
    - Dst: std::make_unique<OpenSSL_bignum::IsPrime>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1299,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1301,1
    - Dst: std::make_unique<OpenSSL_bignum::Sqrt>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1302,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1304,1
    - Dst: std::make_unique<OpenSSL_bignum::IsNeg>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1305,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1307,1
    - Dst: std::make_unique<OpenSSL_bignum::IsEq>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1308,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1310,1
    - Dst: std::make_unique<OpenSSL_bignum::IsEven>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1311,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1313,1
    - Dst: std::make_unique<OpenSSL_bignum::IsOdd>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1314,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1316,1
    - Dst: std::make_unique<OpenSSL_bignum::IsZero>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1317,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1319,1
    - Dst: std::make_unique<OpenSSL_bignum::IsOne>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1320,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1323,1
    - Dst: std::make_unique<OpenSSL_bignum::Jacobi>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1324,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1328,1
    - Dst: std::make_unique<OpenSSL_bignum::Mod_NIST_192>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1329,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1331,1
    - Dst: std::make_unique<OpenSSL_bignum::Mod_NIST_224>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1332,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1334,1
    - Dst: std::make_unique<OpenSSL_bignum::Mod_NIST_256>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1335,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1337,1
    - Dst: std::make_unique<OpenSSL_bignum::Mod_NIST_384>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1338,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1340,1
    - Dst: std::make_unique<OpenSSL_bignum::Mod_NIST_521>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1341,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1344,1
    - Dst: std::make_unique<OpenSSL_bignum::SqrtMod>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1345,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1348,1
    - Dst: std::make_unique<OpenSSL_bignum::LCM>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1349,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1352,1
    - Dst: std::make_unique<OpenSSL_bignum::Exp>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1353,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1356,1
    - Dst: std::make_unique<OpenSSL_bignum::Abs>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1357,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1360,1
    - Dst: std::make_unique<OpenSSL_bignum::RShift>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1361,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1363,1
    - Dst: std::make_unique<OpenSSL_bignum::LShift1>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1364,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1366,1
    - Dst: std::make_unique<OpenSSL_bignum::SetBit>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1367,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1369,1
    - Dst: std::make_unique<OpenSSL_bignum::ClearBit>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1370,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1372,1
    - Dst: std::make_unique<OpenSSL_bignum::Bit>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1373,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1376,1
    - Dst: std::make_unique<OpenSSL_bignum::CmpAbs>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1377,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1381,1
    - Dst: std::make_unique<OpenSSL_bignum::ModLShift>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1382,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1385,1
    - Dst: std::make_unique<OpenSSL_bignum::IsPow2>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1386,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1388,1
    - Dst: std::make_unique<OpenSSL_bignum::Mask>
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1389,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1393,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1394,1
    - Dst: std::unique_ptr::Run
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1394,1
    - Dst: OpenSSL_bignum::Bignum::ToComponentBignum
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp:1396,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 142
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 1400
      start: 1218
    functionDepth: 1
    functionLinenumber: 1218
    functionLinenumberEnd: 1400
    functionName: cryptofuzz::module::wolfCrypt_OpenSSL::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<OpenSSL_bignum::Mod>
    - CF_CALCOP
    - OpenSSL_bignum::BignumCluster::Set
    - std::make_unique<OpenSSL_bignum::MulMod>
    - std::make_unique<OpenSSL_bignum::LCM>
    - modifier::GetPtr
    - std::make_unique<OpenSSL_bignum::SetBit>
    - std::make_unique<OpenSSL_bignum::Mul>
    - std::make_unique<OpenSSL_bignum::IsOne>
    - modifier::GetSize
    - std::make_unique<OpenSSL_bignum::CmpAbs>
    - std::make_unique<OpenSSL_bignum::ClearBit>
    - std::make_unique<OpenSSL_bignum::SqrtMod>
    - std::make_unique<OpenSSL_bignum::Mod_NIST_384>
    - bn1::ToString
    - std::make_unique<OpenSSL_bignum::IsEven>
    - bn3::ToString
    - std::make_unique<OpenSSL_bignum::Mask>
    - CF_CHECK_NE
    - std::make_unique<OpenSSL_bignum::IsEq>
    - std::make_unique<OpenSSL_bignum::InvMod>
    - std::make_unique<OpenSSL_bignum::Jacobi>
    - std::make_unique<OpenSSL_bignum::IsPrime>
    - std::make_unique<OpenSSL_bignum::Sqrt>
    - bn2::ToString
    - OpenSSL_bignum::Bignum::New
    - std::make_unique<OpenSSL_bignum::IsPow2>
    - std::make_unique<OpenSSL_bignum::Div>
    - std::make_unique<OpenSSL_bignum::RShift>
    - calcOp::Get
    - bn0::ToString
    - std::make_unique<OpenSSL_bignum::SqrMod>
    - std::make_unique<OpenSSL_bignum::Mod_NIST_224>
    - std::make_unique<OpenSSL_bignum::LShift1>
    - std::make_unique<OpenSSL_bignum::IsNeg>
    - CF_CHECK_EQ
    - std::make_unique<OpenSSL_bignum::Add>
    - std::make_unique<OpenSSL_bignum::IsOdd>
    - std::make_unique<OpenSSL_bignum::AddMod>
    - std::make_unique<OpenSSL_bignum::Sub>
    - std::make_unique<OpenSSL_bignum::Mod_NIST_192>
    - OpenSSL_bignum::BignumCluster::New
    - OpenSSL_bignum::Bignum::ToComponentBignum
    - std::unique_ptr::Run
    - std::make_unique<OpenSSL_bignum::Exp>
    - std::make_unique<OpenSSL_bignum::SubMod>
    - std::make_unique<OpenSSL_bignum::Mod_NIST_521>
    - std::make_unique<OpenSSL_bignum::Abs>
    - std::make_unique<OpenSSL_bignum::ModLShift>
    - std::make_unique<OpenSSL_bignum::Sqr>
    - std::make_unique<OpenSSL_bignum::GCD>
    - OpenSSL_bignum::Bignum::Set
    - std::make_unique<OpenSSL_bignum::Bit>
    - std::make_unique<OpenSSL_bignum::IsZero>
    - std::make_unique<OpenSSL_bignum::Cmp>
    - std::make_unique<OpenSSL_bignum::Mod_NIST_256>
    - std::make_unique<OpenSSL_bignum::ExpMod>
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> wolfCrypt_OpenSSL::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:20,1
    - Dst: newCTX
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:24,1
    - Dst: copyCTX
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:26,1
    - Dst: freeCTX
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:28,1
    - Dst: freeCTX
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 39
    functionName: cryptofuzz::module::CTX_Copier::copy
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - newCTX
    - Get
    - freeCTX
    - copyCTX
    linkageType: ''
    returnType: T
    signature: T * copy(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newCTX
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:44,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::CTX_Copier::CTX_Copier
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - newCTX
    - abort
    linkageType: ''
    returnType: void
    signature: void CTX_Copier(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::CTX_Copier::copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cryptofuzz::module::CTX_Copier::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::CTX_Copier::copy
    linkageType: ''
    returnType: T
    signature: T * GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: freeCTX
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: ~CTX_Copier()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - freeCTX
    linkageType: ''
    returnType: void
    signature: void ~CTX_Copier()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: cryptofuzz::module::EC_GROUP_Copier::newGroup
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_GROUP_new_by_curve_name
    linkageType: ''
    returnType: EC_GROUP
    signature: EC_GROUP * newGroup(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_GROUP*
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: cryptofuzz::module::EC_GROUP_Copier::copyGroup
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_GROUP_copy
    linkageType: ''
    returnType: int
    signature: int copyGroup(EC_GROUP* dest, EC_GROUP* src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: cryptofuzz::module::EC_GROUP_Copier::freeGroup
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_GROUP_free
    linkageType: ''
    returnType: void
    signature: void freeGroup(EC_GROUP* group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:82,1
    - Dst: cryptofuzz::module::EC_GROUP_Copier::newGroup
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:87,1
    - Dst: cryptofuzz::module::EC_GROUP_Copier::copyGroup
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:89,1
    - Dst: cryptofuzz::module::EC_GROUP_Copier::freeGroup
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:91,1
    - Dst: cryptofuzz::module::EC_GROUP_Copier::freeGroup
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 103
    functionName: cryptofuzz::module::EC_GROUP_Copier::copy
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::EC_GROUP_Copier::newGroup
    - Get
    - cryptofuzz::module::EC_GROUP_Copier::copyGroup
    - cryptofuzz::module::EC_GROUP_Copier::freeGroup
    linkageType: ''
    returnType: EC_GROUP
    signature: EC_GROUP * copy(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_GROUP_Copier::newGroup
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ds'
    - curveNID
    argTypes:
    - Datasource
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: cryptofuzz::module::EC_GROUP_Copier::EC_GROUP_Copier
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::EC_GROUP_Copier::newGroup
    linkageType: ''
    returnType: void
    signature: void EC_GROUP_Copier(Datasource& ds, const int curveNID)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: cryptofuzz::module::EC_GROUP_Copier::Lock
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_GROUP_Copier::copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: cryptofuzz::module::EC_GROUP_Copier::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::EC_GROUP_Copier::copy
    linkageType: ''
    returnType: EC_GROUP
    signature: EC_GROUP * GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: freeGroup
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: ~EC_GROUP_Copier()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - freeGroup
    linkageType: ''
    returnType: void
    signature: void ~EC_GROUP_Copier()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_new
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:135,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: cryptofuzz::module::EC_POINT_Copier::newPoint
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::EC_POINT_Copier::GetPtr
    - EC_POINT_new
    linkageType: ''
    returnType: EC_POINT
    signature: EC_POINT * newPoint(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_POINT*
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: cryptofuzz::module::EC_POINT_Copier::copyPoint
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_POINT_copy
    linkageType: ''
    returnType: int
    signature: int copyPoint(EC_POINT* dest, EC_POINT* src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: cryptofuzz::module::EC_POINT_Copier::freePoint
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    linkageType: ''
    returnType: void
    signature: void freePoint(EC_POINT* point)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_POINT_Copier::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:148,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::newPoint
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:152,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::copyPoint
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:154,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::freePoint
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:156,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::freePoint
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: cryptofuzz::module::EC_POINT_Copier::copy
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::EC_POINT_Copier::freePoint
    - cryptofuzz::module::EC_POINT_Copier::copyPoint
    - cryptofuzz::module::EC_POINT_Copier::newPoint
    - cryptofuzz::module::EC_POINT_Copier::Get
    linkageType: ''
    returnType: EC_POINT
    signature: EC_POINT * copy(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:172,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:172,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:172,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:172,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:172,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' pub_x'
    - ' pub_y'
    argTypes:
    - OpenSSL_bignum::Bignum
    - OpenSSL_bignum::Bignum
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: cryptofuzz::module::EC_POINT_Copier::set
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_POINT_set_affine_coordinates
    - CF_CHECK_NE
    - cryptofuzz::module::EC_POINT_Copier::GetPtr
    linkageType: ''
    returnType: bool
    signature: bool set(OpenSSL_bignum::Bignum& pub_x, OpenSSL_bignum::Bignum& pub_y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_POINT_Copier::newPoint
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:182,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' ds'
    - group
    argTypes:
    - Datasource
    - std::shared_ptr<EC_GROUP_Copier>
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: cryptofuzz::module::EC_POINT_Copier::EC_POINT_Copier
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::EC_POINT_Copier::newPoint
    - abort
    linkageType: ''
    returnType: void
    signature: void EC_POINT_Copier(Datasource& ds, std::shared_ptr<EC_GROUP_Copier>
      group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_POINT_Copier::set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pub_x'
    - ' pub_y'
    argTypes:
    - OpenSSL_bignum::Bignum
    - OpenSSL_bignum::Bignum
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: cryptofuzz::module::EC_POINT_Copier::Set
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::EC_POINT_Copier::set
    linkageType: ''
    returnType: bool
    signature: bool Set(OpenSSL_bignum::Bignum& pub_x, OpenSSL_bignum::Bignum& pub_y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:197,1
    - Dst: OpenSSL_bignum::Bignum::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:197,1
    - Dst: ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:197,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:198,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:198,1
    - Dst: ToString
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:198,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:200,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' pub_x'
    - ' pub_y'
    argTypes:
    - component::Bignum
    - component::Bignum
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: cryptofuzz::module::EC_POINT_Copier::Set
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 1
    functionsReached:
    - cryptofuzz::module::EC_POINT_Copier::Set
    - CF_CHECK_EQ
    - ToString
    - OpenSSL_bignum::Bignum::Set
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: bool
    signature: bool Set(const component::Bignum& pub_x, const component::Bignum& pub_y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:210,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:210,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:210,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:210,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:210,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' pub_x'
    - ' pub_y'
    argTypes:
    - OpenSSL_bignum::Bignum
    - OpenSSL_bignum::Bignum
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: cryptofuzz::module::EC_POINT_Copier::Get
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 1
    functionsReached:
    - CF_CHECK_NE
    - GetDestPtr
    - EC_POINT_get_affine_coordinates
    - cryptofuzz::module::EC_POINT_Copier::GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Get(OpenSSL_bignum::Bignum& pub_x, OpenSSL_bignum::Bignum& pub_y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:226,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:226,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:227,1
    - Dst: OpenSSL_bignum::Bignum::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:227,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:229,1
    - Dst: cryptofuzz::module::EC_POINT_Copier::Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:229,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:231,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:231,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:231,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:232,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:232,1
    - Dst: OpenSSL_bignum::Bignum::GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:232,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:234,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:234,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:237,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 241
    functionName: cryptofuzz::module::EC_POINT_Copier::Get
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - CF_CHECK_NE
    - CF_CHECK_EQ
    - std::string
    - OpenSSL_bignum::Bignum::New
    - OpenSSL_bignum::Bignum::GetPtr
    - BN_bn2dec
    - CF_CHECK_TRUE
    - cryptofuzz::module::EC_POINT_Copier::Get
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Get(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::EC_POINT_Copier::copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: cryptofuzz::module::EC_POINT_Copier::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 3
    functionsReached:
    - cryptofuzz::module::EC_POINT_Copier::copy
    linkageType: ''
    returnType: EC_POINT
    signature: EC_POINT * GetPtr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: freePoint
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: ~EC_POINT_Copier()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - freePoint
    linkageType: ''
    returnType: void
    signature: void ~EC_POINT_Copier()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: cryptofuzz::module::CTX_Copier<EVP_MD_CTX>::newCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_new
    linkageType: ''
    returnType: EVP_MD_CTX
    signature: EVP_MD_CTX * CTX_Copier<EVP_MD_CTX>::newCTX(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:256,1
    - Dst: EVP_MD_CTX_init
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: cryptofuzz::module::CTX_Copier<EVP_MD_CTX>::newCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_init
    - malloc
    linkageType: ''
    returnType: EVP_MD_CTX
    signature: EVP_MD_CTX * CTX_Copier<EVP_MD_CTX>::newCTX(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: cryptofuzz::module::CTX_Copier<EVP_MD_CTX>::copyCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_copy
    linkageType: ''
    returnType: int
    signature: int CTX_Copier<EVP_MD_CTX>::copyCTX(EVP_MD_CTX* dest, EVP_MD_CTX* src)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: cryptofuzz::module::CTX_Copier<EVP_MD_CTX>::freeCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void CTX_Copier<EVP_MD_CTX>::freeCTX(EVP_MD_CTX* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_cleanup
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:267,1
    - Dst: free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: cryptofuzz::module::CTX_Copier<EVP_MD_CTX>::freeCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - free
    - EVP_MD_CTX_cleanup
    linkageType: ''
    returnType: void
    signature: void CTX_Copier<EVP_MD_CTX>::freeCTX(EVP_MD_CTX* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: cryptofuzz::module::CTX_Copier<EVP_CIPHER_CTX>::newCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    linkageType: ''
    returnType: EVP_CIPHER_CTX
    signature: EVP_CIPHER_CTX * CTX_Copier<EVP_CIPHER_CTX>::newCTX(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: cryptofuzz::module::CTX_Copier<EVP_CIPHER_CTX>::copyCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_copy
    linkageType: ''
    returnType: int
    signature: int CTX_Copier<EVP_CIPHER_CTX>::copyCTX(EVP_CIPHER_CTX* dest, EVP_CIPHER_CTX*
      src) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: cryptofuzz::module::CTX_Copier<EVP_CIPHER_CTX>::freeCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: void
    signature: void CTX_Copier<EVP_CIPHER_CTX>::freeCTX(EVP_CIPHER_CTX* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_new
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: cryptofuzz::module::CTX_Copier<HMAC_CTX>::newCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - HMAC_CTX_new
    linkageType: ''
    returnType: HMAC_CTX
    signature: HMAC_CTX * CTX_Copier<HMAC_CTX>::newCTX(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - HMAC_CTX*
    - HMAC_CTX*
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: cryptofuzz::module::CTX_Copier<HMAC_CTX>::copyCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - HMAC_CTX_copy
    linkageType: ''
    returnType: int
    signature: int CTX_Copier<HMAC_CTX>::copyCTX(HMAC_CTX* dest, HMAC_CTX* src) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: cryptofuzz::module::CTX_Copier<HMAC_CTX>::freeCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - HMAC_CTX_free
    linkageType: ''
    returnType: void
    signature: void CTX_Copier<HMAC_CTX>::freeCTX(HMAC_CTX* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_CTX_new
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: cryptofuzz::module::CTX_Copier<CMAC_CTX>::newCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - CMAC_CTX_new
    linkageType: ''
    returnType: CMAC_CTX
    signature: CMAC_CTX * CTX_Copier<CMAC_CTX>::newCTX(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - CMAC_CTX*
    - CMAC_CTX*
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: cryptofuzz::module::CTX_Copier<CMAC_CTX>::copyCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CTX_Copier<CMAC_CTX>::copyCTX(CMAC_CTX* dest, CMAC_CTX* src) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_CTX_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CMAC_CTX*
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: cryptofuzz::module::CTX_Copier<CMAC_CTX>::freeCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - CMAC_CTX_free
    linkageType: ''
    returnType: void
    signature: void CTX_Copier<CMAC_CTX>::freeCTX(CMAC_CTX* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_new
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: cryptofuzz::module::CTX_Copier<EC_KEY>::newCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_KEY_new
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY * CTX_Copier<EC_KEY>::newCTX(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_KEY*
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: cryptofuzz::module::CTX_Copier<EC_KEY>::copyCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_KEY_copy
    linkageType: ''
    returnType: int
    signature: int CTX_Copier<EC_KEY>::copyCTX(EC_KEY* dest, EC_KEY* src) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: cryptofuzz::module::CTX_Copier<EC_KEY>::freeCTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/module_internal.h
    functionUses: 0
    functionsReached:
    - EC_KEY_free
    linkageType: ''
    returnType: void
    signature: void CTX_Copier<EC_KEY>::freeCTX(EC_KEY* ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Bignum
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 68
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: ~Bignum()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - BN_free
    linkageType: ''
    returnType: void
    signature: void ~Bignum()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Lock
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lock(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: DisableFree
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DisableFree(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Lock
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:43,1
    - Dst: DisableFree
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: ReleaseOwnership
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 1
    functionsReached:
    - DisableFree
    - Lock
    linkageType: ''
    returnType: void
    signature: void ReleaseOwnership(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:49,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:50,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:53,1
    - Dst: BN_new
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: New
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 16
    functionsReached:
    - BN_free
    - BN_new
    - abort
    - printf
    linkageType: ''
    returnType: bool
    signature: bool New(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:62,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:62,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Bignum
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: Set
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 160
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - BN_copy
    linkageType: ''
    returnType: bool
    signature: bool Set(Bignum& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:71,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:72,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:78,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:79,1
    - Dst: BN_hex2bn
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:79,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:79,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:81,1
    - Dst: BN_dec2bn
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:81,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 87
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 87
    functionName: Set
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 160
    functionsReached:
    - CF_CHECK_NE
    - printf
    - cryptofuzz::util::DecToHex
    - BN_dec2bn
    - abort
    - BN_hex2bn
    - std::string::c_str
    - auto::c_str
    linkageType: ''
    returnType: bool
    signature: bool Set(const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:92,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:100,1
    - Dst: BN_num_bytes
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:100,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:101,1
    - Dst: BN_bn2binpad
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:101,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:128,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:128,1
    - Dst: ASN1_INTEGER_get_uint64
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:129,1
    - Dst: ASN1_INTEGER_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:130,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 147
    functionName: AsUint64
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 1
    functionsReached:
    - CF_CHECK_NE
    - BN_to_ASN1_INTEGER
    - CF_CHECK_EQ
    - ASN1_INTEGER_free
    - ASN1_INTEGER_get_uint64
    - BN_num_bytes
    - Get
    - CF_CHECK_LTE
    - BN_bn2binpad
    linkageType: ''
    returnType: std::optional<uint64_t>
    signature: std::optional<uint64_t> AsUint64(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AsUint64
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:151,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:153,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: AsInt
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 6
    functionsReached:
    - AsUint64
    - CF_CHECK_NE
    - CF_CHECK_LTE
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> AsInt(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:166,1
    - Dst: AsUint64
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:166,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 175
    functionName: AsBN_ULONG
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 7
    functionsReached:
    - AsUint64
    - CF_CHECK_NE
    - CF_CHECK_EQ
    linkageType: ''
    returnType: std::optional<BN_ULONG>
    signature: std::optional<BN_ULONG> AsBN_ULONG(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:181,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:182,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:185,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: SetUint32
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 1
    functionsReached:
    - Set
    - sprintf
    - abort
    linkageType: ''
    returnType: void
    signature: void SetUint32(const uint32_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_set_flags
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:200,1
    - Dst: BN_set_flags
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:202,1
    - Dst: BN_dup
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:213,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:215,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:227,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:230,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:233,1
    - Dst: ASN1_INTEGER_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:237,1
    - Dst: BN_to_ASN1_ENUMERATED
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:249,1
    - Dst: ASN1_ENUMERATED_to_BN
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:252,1
    - Dst: BN_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:255,1
    - Dst: ASN1_ENUMERATED_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:259,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 269
    functionName: GetDestPtr
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 56
    functionsReached:
    - BN_to_ASN1_INTEGER
    - BN_dup
    - BN_to_ASN1_ENUMERATED
    - BN_set_flags
    - ASN1_INTEGER_free
    - ASN1_ENUMERATED_to_BN
    - ASN1_ENUMERATED_free
    - BN_free
    - ASN1_INTEGER_to_BN
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM * GetDestPtr(const bool allowDup = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: GetPtrConst
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM * GetPtrConst(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:280,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:287,1
    - Dst: BN_bn2dec
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:287,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:287,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:289,1
    - Dst: OPENSSL_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:291,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:297,1
    - Dst: GetPtrConst
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:297,1
    - Dst: GetPtrConst
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 299
    functionName: GetPtr
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 663
    functionsReached:
    - OPENSSL_free
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - std::string
    - GetPtrConst
    - BN_bn2dec
    - BN_cmp
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM * GetPtr(const bool allowDup = true)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' ds'
    - bn0
    - bn1
    - bn2
    - bn3
    argTypes:
    - Datasource
    - Bignum
    - Bignum
    - Bignum
    - Bignum
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: BignumCluster::BignumCluster
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BignumCluster(Datasource& ds, Bignum bn0, Bignum bn1, Bignum bn2,
      Bignum bn3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:312,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:313,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:318,1
    - Dst: Lock
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 338
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 338
    functionName: '& operator[](const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - Get
    - abort
    - size
    - Lock
    linkageType: ''
    returnType: Bignum
    signature: Bignum & operator[](const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:341,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 346
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 346
    functionName: '& Get(const size_t index)'
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - abort
    - size
    linkageType: ''
    returnType: Bignum
    signature: Bignum & Get(const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: BignumCluster::GetDestPtr
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM * GetDestPtr(const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:353,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:354,1
    - Dst: BignumCluster::New
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: BignumCluster::New
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 2
    functionsReached:
    - BignumCluster::New
    - abort
    - size
    linkageType: ''
    returnType: bool
    signature: bool New(const size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:361,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:362,1
    - Dst: BignumCluster::Set
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - index
    - s
    argTypes:
    - size_t
    - std::string
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: BignumCluster::Set
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 10
    functionsReached:
    - BignumCluster::Set
    - abort
    - size
    linkageType: ''
    returnType: bool
    signature: bool Set(const size_t index, const std::string s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:374,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 380
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 380
    functionName: BN_CTX::BN_CTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - BN_CTX_new
    - abort
    linkageType: ''
    returnType: void
    signature: void BN_CTX(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 384
    functionName: BN_CTX::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ::BN_CTX
    signature: ::BN_CTX * GetPtr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 388
    functionName: ~BN_CTX()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - BN_CTX_free
    linkageType: ''
    returnType: void
    signature: void ~BN_CTX()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_MONT_CTX_new
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:397,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 403
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 403
    functionName: BN_MONT_CTX::BN_MONT_CTX
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - BN_MONT_CTX_new
    - abort
    linkageType: ''
    returnType: void
    signature: void BN_MONT_CTX(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 407
    functionName: BN_MONT_CTX::GetPtr
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::BN_MONT_CTX
    signature: ::BN_MONT_CTX * GetPtr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_MONT_CTX_free
      Src: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: ~BN_MONT_CTX()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached:
    - BN_MONT_CTX_free
    linkageType: ''
    returnType: void
    signature: void ~BN_MONT_CTX()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 418
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/wolfcrypt-openssl/bn_ops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: cryptofuzz::module::Nettle::Nettle
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Nettle::Nettle(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: cryptofuzz::module::Nettle_detail::Operation::Operation
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Operation(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~Operation()
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Operation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:62,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:62,1
    - Dst: runInit
      Src: /src/cryptofuzz/modules/nettle/module.cpp:65,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/nettle/module.cpp:69,1
    - Dst: runUpdate
      Src: /src/cryptofuzz/modules/nettle/module.cpp:71,1
    - Dst: runFinalize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:74,1
    - Dst: ReturnType
      Src: /src/cryptofuzz/modules/nettle/module.cpp:75,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nettle/module.cpp:75,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nettle/module.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - OperationType
    constantsTouched: []
    func_position:
      end: 77
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 77
    functionName: cryptofuzz::module::Nettle_detail::Operation::Run
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - ReturnType
    - modifier::GetPtr
    - runFinalize
    - runUpdate
    - auto::data
    - modifier::GetSize
    - runInit
    - cryptofuzz::util::ToParts
    linkageType: ''
    returnType: std::optional<ReturnType>
    signature: std::optional<ReturnType> Run(OperationType& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: cryptofuzz::module::Nettle_detail::Digest::Digest
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Digest(\n                void (*init)(CTXType*),\n                void
      (*update)(CTXType*, size_t, const uint8_t*),\n                void (*digest)(CTXType*,
      size_t, uint8_t*)\n            )"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:100,1
    - Dst: init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: cryptofuzz::module::Nettle_detail::Digest::runInit
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - init
    linkageType: ''
    returnType: bool
    signature: bool runInit(operation::Digest& op) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:106,1
    - Dst: update
      Src: /src/cryptofuzz/modules/nettle/module.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' parts'
    argTypes:
    - util::Multipart
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: cryptofuzz::module::Nettle_detail::Digest::runUpdate
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - update
    linkageType: ''
    returnType: void
    signature: void runUpdate(util::Multipart& parts) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:112,1
    - Dst: digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:112,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nettle/module.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: cryptofuzz::module::Nettle_detail::Digest::runFinalize
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - digest
    - CF_NORET
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> runFinalize(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: cryptofuzz::module::Nettle_detail::HMAC::HMAC
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HMAC(\n                void (*set_key)(CTXType*, size_t, const
      uint8_t*),\n                void (*update)(CTXType*, size_t, const uint8_t*),\n
      \               void (*digest)(CTXType*, size_t, uint8_t*)\n            )"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:136,1
    - Dst: set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:136,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:136,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: cryptofuzz::module::Nettle_detail::HMAC::runInit
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - cipher::key::GetSize
    - cipher::key::GetPtr
    - set_key
    linkageType: ''
    returnType: bool
    signature: bool runInit(operation::HMAC& op) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:142,1
    - Dst: update
      Src: /src/cryptofuzz/modules/nettle/module.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' parts'
    argTypes:
    - util::Multipart
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: cryptofuzz::module::Nettle_detail::HMAC::runUpdate
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - update
    linkageType: ''
    returnType: void
    signature: void runUpdate(util::Multipart& parts) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:148,1
    - Dst: digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:148,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nettle/module.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: cryptofuzz::module::Nettle_detail::HMAC::runFinalize
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - digest
    - CF_NORET
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> runFinalize(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: cryptofuzz::module::Nettle_detail::UMAC::UMAC
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UMAC(\n                void (*set_key)(CTXType*, const uint8_t*),\n
      \               void (*set_nonce)(CTXType*, size_t, const uint8_t*),\n                void
      (*update)(CTXType*, size_t, const uint8_t*),\n                void (*digest)(CTXType*,
      size_t, uint8_t*)\n            )"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:179,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:180,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:181,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:181,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:182,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:182,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:183,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:183,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:185,1
    - Dst: set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:185,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:185,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:186,1
    - Dst: set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:186,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:186,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::UMAC
    constantsTouched: []
    func_position:
      end: 191
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 191
    functionName: cryptofuzz::module::Nettle_detail::UMAC::runInit
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - set_nonce
    - key::GetPtr
    - iv::GetSize
    - CF_NORET
    - CF_CHECK_EQ
    - key::GetSize
    - CF_CHECK_GT
    - set_key
    - iv::GetPtr
    - CF_CHECK_LTE
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool runInit(operation::UMAC& op) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:195,1
    - Dst: update
      Src: /src/cryptofuzz/modules/nettle/module.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' parts'
    argTypes:
    - util::Multipart
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: cryptofuzz::module::Nettle_detail::UMAC::runUpdate
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - update
    linkageType: ''
    returnType: void
    signature: void runUpdate(util::Multipart& parts) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:201,1
    - Dst: digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:201,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nettle/module.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: cryptofuzz::module::Nettle_detail::UMAC::runFinalize
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - digest
    - CF_NORET
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> runFinalize(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: cryptofuzz::module::Nettle_detail::CMAC::CMAC
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CMAC(\n                void (*set_key)(CTXType*, const uint8_t*),\n
      \               void (*update)(CTXType*, size_t, const uint8_t*),\n                void
      (*digest)(CTXType*, size_t, uint8_t*)\n            )"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:227,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:227,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:229,1
    - Dst: set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:229,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: cryptofuzz::module::Nettle_detail::CMAC::runInit
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - CF_CHECK_EQ
    - set_key
    - cipher::key::GetPtr
    - cipher::key::GetSize
    linkageType: ''
    returnType: bool
    signature: bool runInit(operation::CMAC& op) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:239,1
    - Dst: update
      Src: /src/cryptofuzz/modules/nettle/module.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' parts'
    argTypes:
    - util::Multipart
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: cryptofuzz::module::Nettle_detail::CMAC::runUpdate
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - CF_NORET
    - update
    linkageType: ''
    returnType: void
    signature: void runUpdate(util::Multipart& parts) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:245,1
    - Dst: digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:245,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/nettle/module.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: cryptofuzz::module::Nettle_detail::CMAC::runFinalize
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - digest
    - CF_NORET
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> runFinalize(void) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:296,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:297,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:298,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:300,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:301,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:303,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:304,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:306,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:307,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:309,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:310,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:312,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:313,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:315,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:316,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:318,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:319,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:321,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:322,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:324,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:325,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:327,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:328,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:330,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:331,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:333,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:334,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:336,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:337,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:339,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:340,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:342,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:343,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:345,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:346,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:348,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:349,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:351,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:352,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 357
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 357
    functionName: cryptofuzz::module::Nettle::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - CF_DIGEST
    - digestType::Get
    - Run
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Nettle::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:362,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:363,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:364,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:366,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:367,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:369,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:370,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:372,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:373,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:375,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:376,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:378,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:379,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:381,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:382,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:384,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:385,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:387,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:388,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:390,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:391,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:393,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:394,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 399
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 399
    functionName: cryptofuzz::module::Nettle::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - CF_DIGEST
    - digestType::Get
    - Run
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Nettle::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:406,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:409,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:412,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::UMAC
    constantsTouched: []
    func_position:
      end: 420
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 420
    functionName: cryptofuzz::module::Nettle::OpUMAC
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - Run
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Nettle::OpUMAC(operation::UMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:425,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:426,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:427,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:429,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:430,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:432,1
    - Dst: Run
      Src: /src/cryptofuzz/modules/nettle/module.cpp:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::CMAC
    constantsTouched: []
    func_position:
      end: 438
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 438
    functionName: cryptofuzz::module::Nettle::OpCMAC
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - cipher::cipherType::Get
    - Run
    - CF_CIPHER
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Nettle::OpCMAC(operation::CMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/cryptofuzz/modules/nettle/module.cpp:442,1
    - Dst: back
      Src: /src/cryptofuzz/modules/nettle/module.cpp:447,1
    - Dst: back
      Src: /src/cryptofuzz/modules/nettle/module.cpp:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' parts'
    argTypes:
    - util::Multipart
    constantsTouched: []
    func_position:
      end: 452
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 452
    functionName: cryptofuzz::module::Nettle_detail::Salsa20_CheckParts
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - empty
    - back
    linkageType: ''
    returnType: bool
    signature: bool Salsa20_CheckParts(const util::Multipart& parts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:457,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:461,1
    - Dst: cryptofuzz::util::ToEqualParts
      Src: /src/cryptofuzz/modules/nettle/module.cpp:469,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:471,1
    - Dst: salsa20_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:471,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:471,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:471,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:472,1
    - Dst: salsa20_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:472,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:472,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:476,1
    - Dst: salsa20_crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:476,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:478,1
    - Dst: salsa20r12_crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:478,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:483,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:483,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ' in'
    - ' cipher'
    - keySize
    - rounds20
    argTypes:
    - Buffer
    - component::SymmetricCipher
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 488
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 488
    functionName: cryptofuzz::module::Nettle_detail::Salsa20Crypt
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - key::GetPtr
    - iv::GetSize
    - cryptofuzz::util::ToEqualParts
    - salsa20_set_key
    - CF_NORET
    - key::GetSize
    - salsa20_set_iv
    - salsa20_crypt
    - salsa20r12_crypt
    - iv::GetPtr
    - Buffer
    - GetSize
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: std::optional<Buffer> Salsa20Crypt(const Buffer& in, const component::SymmetricCipher&
      cipher, const size_t keySize, const bool rounds20)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:503,1
    - Dst: iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:503,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:504,1
    - Dst: key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:504,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:506,1
    - Dst: setkey
      Src: /src/cryptofuzz/modules/nettle/module.cpp:506,1
    - Dst: key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:506,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:508,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:508,1
    - Dst: CTR_SET_COUNTER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:510,1
    - Dst: iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:510,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/nettle/module.cpp:513,1
    - Dst: CTR_CRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:516,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:526,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:526,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - ' ds'
    - ' in'
    - ' cipher'
    - encrypt
    - setkey
    argTypes:
    - fuzzing::datasource::Datasource
    - Buffer
    - component::SymmetricCipher
    - nettle_cipher_func*
    - nettle_set_key_func*
    constantsTouched: []
    func_position:
      end: 531
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 531
    functionName: cryptofuzz::module::Nettle_detail::CTRCrypt
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - key::GetPtr
    - CTR_SET_COUNTER
    - iv::GetSize
    - CF_NORET
    - CF_CHECK_EQ
    - CTR_CRYPT
    - key::GetSize
    - setkey
    - cryptofuzz::util::ToParts
    - iv::GetPtr
    - Buffer
    - GetSize
    - cryptofuzz::util::malloc
    linkageType: ''
    returnType: std::optional<Buffer>
    signature: "std::optional<Buffer> CTRCrypt(\n            fuzzing::datasource::Datasource&
      ds,\n            const Buffer& in,\n            const component::SymmetricCipher&
      cipher,\n            nettle_cipher_func* encrypt,\n            nettle_set_key_func*
      setkey\n            )"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/nettle/module.cpp:545,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:547,1
    - Dst: set_aad
      Src: /src/cryptofuzz/modules/nettle/module.cpp:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' ds'
    - ctx
    - aad
    argTypes:
    - fuzzing::datasource::Datasource
    - CTXType*
    - std::optional<component::AAD>
    constantsTouched: []
    func_position:
      end: 549
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 549
    functionName: cryptofuzz::module::Nettle_detail::SetAAD
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::ToParts
    - CF_NORET
    - set_aad
    linkageType: ''
    returnType: void
    signature: "void SetAAD(\n            fuzzing::datasource::Datasource& ds,\n            CTXType*
      ctx,\n            const std::optional<component::AAD> aad,\n            void
      (*set_aad)(CTXType*, size_t, const uint8_t*))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/nettle/module.cpp:558,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:561,1
    - Dst: encrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' ds'
    - ctx
    - msg
    - out
    argTypes:
    - fuzzing::datasource::Datasource
    - CTXType*
    - Buffer
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 564
      start: 552
    functionDepth: 3
    functionLinenumber: 552
    functionLinenumberEnd: 564
    functionName: cryptofuzz::module::Nettle_detail::Encrypt
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::ToParts
    - CF_NORET
    - encrypt
    linkageType: ''
    returnType: void
    signature: "void Encrypt(\n            fuzzing::datasource::Datasource& ds,\n
      \           CTXType* ctx,\n            Buffer msg,\n            uint8_t* out,\n
      \           void (*encrypt)(CTXType*, size_t, uint8_t* out, const uint8_t*))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:595,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:595,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:600,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:601,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:605,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:605,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:606,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:606,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:607,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:608,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:610,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:610,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:611,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:613,1
    - Dst: gcm_aes128_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:613,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:613,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:614,1
    - Dst: gcm_aes128_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:614,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:614,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:614,1
    - Dst: SET_AAD_ENCRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:615,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:616,1
    - Dst: gcm_aes128_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:616,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:618,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:618,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:618,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:618,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:622,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:626,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:626,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:627,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:627,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:628,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:629,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:631,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:631,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:632,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:634,1
    - Dst: gcm_aes192_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:634,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:634,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:635,1
    - Dst: gcm_aes192_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:635,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:635,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:635,1
    - Dst: SET_AAD_ENCRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:636,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:637,1
    - Dst: gcm_aes192_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:637,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:639,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:639,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:639,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:639,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:643,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:647,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:647,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:648,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:648,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:649,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:650,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:652,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:652,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:653,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:655,1
    - Dst: gcm_aes256_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:655,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:655,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:656,1
    - Dst: gcm_aes256_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:656,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:656,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:656,1
    - Dst: SET_AAD_ENCRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:657,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:658,1
    - Dst: gcm_aes256_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:658,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:660,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:660,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:660,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:660,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:664,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:668,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:668,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:669,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:669,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:670,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:671,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:672,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:674,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:674,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:675,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:677,1
    - Dst: eax_aes128_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:677,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:677,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:678,1
    - Dst: eax_aes128_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:678,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:678,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:678,1
    - Dst: SET_AAD_ENCRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:679,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:680,1
    - Dst: eax_aes128_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:680,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:682,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:682,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:682,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:682,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:686,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:690,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:690,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:691,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:691,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:692,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:692,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:693,1
    - Dst: find
      Src: /src/cryptofuzz/modules/nettle/module.cpp:696,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/nettle/module.cpp:696,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:696,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:696,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:701,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:701,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:702,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:704,1
    - Dst: ccm_aes128_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:704,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:704,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:705,1
    - Dst: ccm_aes128_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:705,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:705,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:705,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:705,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:705,1
    - Dst: SET_AAD_ENCRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:706,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:707,1
    - Dst: ccm_aes128_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:707,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:709,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:709,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:709,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:709,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:713,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:717,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:717,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:718,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:718,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:719,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:719,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:720,1
    - Dst: find
      Src: /src/cryptofuzz/modules/nettle/module.cpp:723,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/nettle/module.cpp:723,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:723,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:723,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:728,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:728,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:729,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:731,1
    - Dst: ccm_aes192_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:731,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:731,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:732,1
    - Dst: ccm_aes192_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:732,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:732,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:732,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:732,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:732,1
    - Dst: SET_AAD_ENCRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:733,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:734,1
    - Dst: ccm_aes192_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:734,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:736,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:736,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:736,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:736,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:740,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:744,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:744,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:745,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:745,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:746,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:746,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:747,1
    - Dst: find
      Src: /src/cryptofuzz/modules/nettle/module.cpp:750,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/nettle/module.cpp:750,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:750,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:750,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:755,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:755,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:756,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:758,1
    - Dst: ccm_aes256_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:758,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:758,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:759,1
    - Dst: ccm_aes256_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:759,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:759,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:759,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:759,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:759,1
    - Dst: SET_AAD_ENCRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:760,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:761,1
    - Dst: ccm_aes256_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:761,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:763,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:763,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:763,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:763,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:768,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:771,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:771,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:772,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:772,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:773,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:773,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:775,1
    - Dst: chacha_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:775,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:775,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:776,1
    - Dst: chacha_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:776,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:776,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:777,1
    - Dst: chacha_crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:777,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:777,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:777,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:779,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:779,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:779,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:783,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:787,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:787,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:788,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:788,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:789,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:790,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:792,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:792,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:793,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:795,1
    - Dst: chacha_poly1305_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:795,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:795,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:796,1
    - Dst: chacha_poly1305_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:796,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:796,1
    - Dst: SET_AAD_ENCRYPT_BS
      Src: /src/cryptofuzz/modules/nettle/module.cpp:797,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:798,1
    - Dst: chacha_poly1305_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:798,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:800,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:800,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:800,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:800,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:804,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:807,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:807,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:808,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:808,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:809,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:809,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:810,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:810,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:812,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:812,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:814,1
    - Dst: xts_aes128_set_encrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:814,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:814,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:815,1
    - Dst: xts_aes128_encrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:815,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:815,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:815,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:815,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:817,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:817,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:817,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:821,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:824,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:824,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:825,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:825,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:826,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:826,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:827,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:827,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:829,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:829,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:831,1
    - Dst: xts_aes256_set_encrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:831,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:831,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:832,1
    - Dst: xts_aes256_encrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:832,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:832,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:832,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:832,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:834,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:834,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:834,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:838,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:842,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:842,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:843,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:843,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:845,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:845,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:847,1
    - Dst: arcfour_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:847,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:847,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:847,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:848,1
    - Dst: arcfour_crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:848,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:848,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:848,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:850,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:850,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:850,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:854,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:858,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:858,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:859,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:859,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:860,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:861,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:863,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:863,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:864,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:866,1
    - Dst: gcm_camellia128_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:866,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:866,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:867,1
    - Dst: gcm_camellia128_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:867,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:867,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:867,1
    - Dst: SET_AAD_ENCRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:868,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:869,1
    - Dst: gcm_camellia128_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:869,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:871,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:871,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:871,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:871,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:875,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:879,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:879,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:880,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:880,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:881,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:882,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:884,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:884,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:885,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:887,1
    - Dst: gcm_camellia256_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:887,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:887,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:888,1
    - Dst: gcm_camellia256_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:888,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:888,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:888,1
    - Dst: SET_AAD_ENCRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:889,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:890,1
    - Dst: gcm_camellia256_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:890,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:892,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:892,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:892,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:892,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:896,1
    - Dst: cryptofuzz::module::Nettle_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:898,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:902,1
    - Dst: cryptofuzz::module::Nettle_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:904,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:908,1
    - Dst: cryptofuzz::module::Nettle_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:910,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:914,1
    - Dst: cryptofuzz::module::Nettle_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:916,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:920,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:924,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:924,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:925,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:925,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:927,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:927,1
    - Dst: des_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:929,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:929,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:930,1
    - Dst: des_encrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:930,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:930,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:930,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:932,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:932,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:932,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:936,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:940,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:940,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:941,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:941,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:942,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:942,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:944,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:944,1
    - Dst: twofish_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:946,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:946,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:946,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:947,1
    - Dst: twofish_encrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:947,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:947,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:947,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:949,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:949,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:949,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:953,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:957,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:957,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:958,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:958,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:959,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:959,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:961,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:961,1
    - Dst: serpent_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:963,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:963,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:963,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:964,1
    - Dst: serpent_encrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:964,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:964,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:964,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:966,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:966,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:966,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:970,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:974,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:974,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:975,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:975,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:976,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:976,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:978,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:978,1
    - Dst: blowfish_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:980,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:980,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:980,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:981,1
    - Dst: blowfish_encrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:981,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:981,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:981,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:983,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:983,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:983,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:987,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:991,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:991,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:992,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:992,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:993,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:993,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:995,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:995,1
    - Dst: cast5_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:997,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:997,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:997,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:998,1
    - Dst: cast128_encrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:998,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:998,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:998,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1000,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1000,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1000,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1003,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1007,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1007,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1008,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1008,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1009,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1009,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1010,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1010,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1012,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1012,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1014,1
    - Dst: aes128_set_encrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1014,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1014,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1015,1
    - Dst: aes128_keywrap
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1015,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1015,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1015,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1015,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1017,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1017,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1017,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1020,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1024,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1024,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1025,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1025,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1026,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1026,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1027,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1027,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1029,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1029,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1031,1
    - Dst: aes192_set_encrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1031,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1031,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1032,1
    - Dst: aes192_keywrap
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1032,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1032,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1032,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1032,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1034,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1034,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1034,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1037,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1041,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1041,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1042,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1042,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1043,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1043,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1044,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1044,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1046,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1046,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1048,1
    - Dst: aes256_set_encrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1048,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1048,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1049,1
    - Dst: aes256_keywrap
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1049,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1049,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1049,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1049,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1051,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1051,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1051,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1054,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1058,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1058,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1059,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1059,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1061,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1061,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1063,1
    - Dst: siv_cmac_aes128_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1063,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1063,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1064,1
    - Dst: siv_cmac_aes128_encrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1064,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1065,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1065,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1066,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1066,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1067,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1067,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1069,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1070,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1070,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1071,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1074,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1078,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1078,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1079,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1079,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1081,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1081,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1083,1
    - Dst: siv_cmac_aes256_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1083,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1083,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1084,1
    - Dst: siv_cmac_aes256_encrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1084,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1085,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1085,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1086,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1086,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1087,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1087,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1089,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1090,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1090,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1091,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1094,1
    - Dst: Nettle_detail::CTRCrypt<struct aes128_ctx, 16, 16>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1096,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1104,1
    - Dst: Nettle_detail::CTRCrypt<struct aes192_ctx, 16, 24>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1106,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1114,1
    - Dst: Nettle_detail::CTRCrypt<struct aes256_ctx, 16, 32>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1116,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1124,1
    - Dst: Nettle_detail::CTRCrypt<struct camellia128_ctx, 16, 16>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1126,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1134,1
    - Dst: Nettle_detail::CTRCrypt<struct camellia192_ctx, 16, 24>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1136,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1144,1
    - Dst: Nettle_detail::CTRCrypt<struct camellia256_ctx, 16, 32>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1146,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1154,1
    - Dst: Nettle_detail::CTRCrypt<struct sm4_ctx, 16, 16>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1156,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1164,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1169,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1169,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1170,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1170,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1172,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1173,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1174,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1176,1
    - Dst: ocb_aes128_set_encrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1176,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1176,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1177,1
    - Dst: ocb_aes128_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1177,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1181,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1182,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1185,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1187,1
    - Dst: ocb_aes128_update
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1187,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1195,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1195,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1197,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1200,1
    - Dst: ocb_aes128_encrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1200,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1209,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1210,1
    - Dst: ocb_aes128_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1210,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1216,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1216,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1216,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1216,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1219,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1223,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1223,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1224,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1224,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1225,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1225,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1227,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1227,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1229,1
    - Dst: aes128_set_encrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1229,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1229,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1230,1
    - Dst: siv_gcm_aes128_encrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1230,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1232,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1232,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1233,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1233,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1234,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1235,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1237,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1238,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1238,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1239,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1239,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1242,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1246,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1246,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1247,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1247,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1248,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1248,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1250,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1250,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1252,1
    - Dst: aes256_set_encrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1252,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1252,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1253,1
    - Dst: siv_gcm_aes256_encrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1253,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1255,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1255,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1256,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1256,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1257,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1258,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1260,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1261,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1261,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1262,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1262,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1268,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1269,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 390
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 1272
      start: 593
    functionDepth: 3
    functionLinenumber: 593
    functionLinenumberEnd: 1272
    functionName: cryptofuzz::module::Nettle::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - ccm_aes128_digest
    - siv_cmac_aes128_set_key
    - aad::GetPtr
    - aes128_set_encrypt_key
    - cipher::key::GetPtr
    - ocb_aes128_digest
    - arcfour_crypt
    - des_set_key
    - ccm_aes128_set_nonce
    - CF_CHECK_LTE
    - aes256_set_encrypt_key
    - xts_aes128_set_encrypt_key
    - siv_gcm_aes128_encrypt_message
    - std::vector::end
    - Nettle_detail::CTRCrypt<struct aes256_ctx, 16, 32>
    - Nettle_detail::CTRCrypt<struct camellia256_ctx, 16, 32>
    - cryptofuzz::util::free
    - CF_CHECK_EQ
    - chacha_poly1305_set_key
    - cipher::key::GetSize
    - Nettle_detail::CTRCrypt<struct aes192_ctx, 16, 24>
    - chacha_poly1305_set_nonce
    - CF_CIPHER
    - aes192_set_encrypt_key
    - Buffer
    - ccm_aes256_digest
    - gcm_aes256_digest
    - gcm_camellia128_digest
    - ccm_aes192_set_nonce
    - modifier::GetPtr
    - std::vector::begin
    - eax_aes128_digest
    - ocb_aes128_update
    - siv_cmac_aes256_encrypt_message
    - serpent_encrypt
    - gcm_camellia256_set_key
    - blowfish_encrypt
    - siv_gcm_aes256_encrypt_message
    - gcm_aes128_digest
    - eax_aes128_set_key
    - chacha_set_nonce
    - xts_aes256_encrypt_message
    - cryptofuzz::component::Ciphertext::Ciphertext
    - xts_aes256_set_encrypt_key
    - cipher::cipherType::Get
    - Nettle_detail::CTRCrypt<struct camellia128_ctx, 16, 16>
    - twofish_set_key
    - chacha_set_key
    - gcm_aes192_set_iv
    - arcfour_set_key
    - aad::GetSize
    - cryptofuzz::util::ToParts
    - cryptofuzz::module::Nettle_detail::Salsa20Crypt
    - ccm_aes192_digest
    - gcm_aes128_set_iv
    - ccm_aes256_set_key
    - des_encrypt
    - aes128_keywrap
    - Nettle_detail::CTRCrypt<struct camellia192_ctx, 16, 24>
    - CF_CHECK_GTE
    - SET_AAD_ENCRYPT
    - blowfish_set_key
    - ccm_aes128_set_key
    - cast128_encrypt
    - modifier::GetSize
    - twofish_encrypt
    - chacha_poly1305_digest
    - gcm_aes128_set_key
    - gcm_aes192_digest
    - siv_cmac_aes128_encrypt_message
    - cryptofuzz::util::malloc
    - gcm_camellia128_set_key
    - gcm_camellia256_digest
    - chacha_crypt
    - eax_aes128_set_nonce
    - aes192_keywrap
    - gcm_aes256_set_iv
    - gcm_camellia256_set_iv
    - ocb_aes128_set_nonce
    - CF_CHECK_GT
    - ocb_aes128_set_encrypt_key
    - cleartext::GetSize
    - gcm_aes256_set_key
    - CF_CHECK_NE
    - cipher::iv::GetSize
    - serpent_set_key
    - cipher::iv::GetPtr
    - cast5_set_key
    - SET_AAD_ENCRYPT_BS
    - Nettle_detail::CTRCrypt<struct sm4_ctx, 16, 16>
    - gcm_aes192_set_key
    - ocb_aes128_encrypt
    - find
    - siv_cmac_aes256_set_key
    - aes256_keywrap
    - xts_aes128_encrypt_message
    - Nettle_detail::CTRCrypt<struct aes128_ctx, 16, 16>
    - gcm_camellia128_set_iv
    - ccm_aes192_set_key
    - CF_NORET
    - cleartext::GetPtr
    - ccm_aes256_set_nonce
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Nettle::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1277,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1277,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1283,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1284,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1288,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1288,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1289,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1289,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1290,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1291,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1291,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1293,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1293,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1294,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1294,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1296,1
    - Dst: gcm_aes128_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1296,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1296,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1297,1
    - Dst: gcm_aes128_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1297,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1297,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1297,1
    - Dst: SET_AAD_DECRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1298,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1299,1
    - Dst: gcm_aes128_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1299,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1299,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1301,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1301,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1301,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1301,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1303,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1303,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1303,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1307,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1311,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1311,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1312,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1312,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1313,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1314,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1314,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1316,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1316,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1317,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1317,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1319,1
    - Dst: gcm_aes192_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1319,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1319,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1320,1
    - Dst: gcm_aes192_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1320,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1320,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1320,1
    - Dst: SET_AAD_DECRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1321,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1322,1
    - Dst: gcm_aes192_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1322,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1322,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1324,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1324,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1324,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1324,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1326,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1326,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1326,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1330,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1334,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1334,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1335,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1335,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1336,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1337,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1337,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1339,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1339,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1340,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1340,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1342,1
    - Dst: gcm_aes256_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1342,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1342,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1343,1
    - Dst: gcm_aes256_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1343,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1343,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1343,1
    - Dst: SET_AAD_DECRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1344,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1345,1
    - Dst: gcm_aes256_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1345,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1345,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1347,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1347,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1347,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1347,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1349,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1349,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1349,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1353,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1357,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1357,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1358,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1358,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1359,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1360,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1360,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1361,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1361,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1363,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1363,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1364,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1364,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1366,1
    - Dst: eax_aes128_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1366,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1366,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1367,1
    - Dst: eax_aes128_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1367,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1367,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1367,1
    - Dst: SET_AAD_DECRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1368,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1369,1
    - Dst: eax_aes128_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1369,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1369,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1371,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1371,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1371,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1371,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1373,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1373,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1373,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1377,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1381,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1381,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1382,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1382,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1383,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1383,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1384,1
    - Dst: find
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1387,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1387,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1387,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1387,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1387,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1392,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1392,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1393,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1393,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1395,1
    - Dst: ccm_aes128_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1395,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1395,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1396,1
    - Dst: ccm_aes128_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1396,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1396,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1396,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1396,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1396,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1396,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1398,1
    - Dst: ccm_aes128_update
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1398,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1398,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1398,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1400,1
    - Dst: ccm_aes128_decrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1400,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1400,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1400,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1401,1
    - Dst: ccm_aes128_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1401,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1401,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1403,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1403,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1403,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1403,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1405,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1405,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1405,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1409,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1413,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1413,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1414,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1414,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1415,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1415,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1416,1
    - Dst: find
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1419,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1419,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1419,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1419,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1419,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1424,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1424,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1425,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1425,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1427,1
    - Dst: ccm_aes192_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1427,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1427,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1428,1
    - Dst: ccm_aes192_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1428,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1428,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1428,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1428,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1428,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1428,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1430,1
    - Dst: ccm_aes192_update
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1430,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1430,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1430,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1432,1
    - Dst: ccm_aes192_decrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1432,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1432,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1432,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1433,1
    - Dst: ccm_aes192_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1433,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1433,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1435,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1435,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1435,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1435,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1437,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1437,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1437,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1441,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1445,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1445,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1446,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1446,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1447,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1447,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1448,1
    - Dst: find
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1451,1
    - Dst: std::vector::begin
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1451,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1451,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1451,1
    - Dst: std::vector::end
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1451,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1456,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1456,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1457,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1457,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1459,1
    - Dst: ccm_aes256_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1459,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1459,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1460,1
    - Dst: ccm_aes256_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1460,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1460,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1460,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1460,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1460,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1460,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1462,1
    - Dst: ccm_aes256_update
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1462,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1462,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1462,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1464,1
    - Dst: ccm_aes256_decrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1464,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1464,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1464,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1465,1
    - Dst: ccm_aes256_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1465,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1465,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1467,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1467,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1467,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1467,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1469,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1469,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1469,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1473,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1476,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1476,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1477,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1477,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1478,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1478,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1480,1
    - Dst: chacha_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1480,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1480,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1481,1
    - Dst: chacha_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1481,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1481,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1482,1
    - Dst: chacha_crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1482,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1482,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1482,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1484,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1484,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1484,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1488,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1492,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1492,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1493,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1493,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1494,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1495,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1495,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1497,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1497,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1498,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1498,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1500,1
    - Dst: chacha_poly1305_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1500,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1500,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1501,1
    - Dst: chacha_poly1305_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1501,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1501,1
    - Dst: SET_AAD_DECRYPT_BS
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1502,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1503,1
    - Dst: chacha_poly1305_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1503,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1503,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1505,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1505,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1505,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1505,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1507,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1507,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1507,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1511,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1514,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1514,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1515,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1515,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1516,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1516,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1517,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1517,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1519,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1519,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1521,1
    - Dst: xts_aes128_set_decrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1521,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1521,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1522,1
    - Dst: xts_aes128_decrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1522,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1522,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1522,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1522,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1524,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1524,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1524,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1528,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1531,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1531,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1532,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1532,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1533,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1533,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1534,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1534,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1536,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1536,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1538,1
    - Dst: xts_aes256_set_decrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1538,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1538,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1539,1
    - Dst: xts_aes256_decrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1539,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1539,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1539,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1539,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1541,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1541,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1541,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1545,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1549,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1549,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1550,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1550,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1552,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1552,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1554,1
    - Dst: arcfour_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1554,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1554,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1554,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1555,1
    - Dst: arcfour_crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1555,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1555,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1555,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1557,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1557,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1557,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1561,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1565,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1565,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1566,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1566,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1567,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1568,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1568,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1570,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1570,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1571,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1571,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1573,1
    - Dst: gcm_camellia128_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1573,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1573,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1574,1
    - Dst: gcm_camellia128_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1574,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1574,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1574,1
    - Dst: SET_AAD_DECRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1575,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1576,1
    - Dst: gcm_camellia128_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1576,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1576,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1578,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1578,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1578,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1578,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1580,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1580,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1580,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1584,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1588,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1588,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1589,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1589,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1590,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1591,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1591,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1593,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1593,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1594,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1594,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1596,1
    - Dst: gcm_camellia256_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1596,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1596,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1597,1
    - Dst: gcm_camellia256_set_iv
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1597,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1597,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1597,1
    - Dst: SET_AAD_DECRYPT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1598,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1599,1
    - Dst: gcm_camellia256_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1599,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1599,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1601,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1601,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1601,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1601,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1603,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1603,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1603,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1607,1
    - Dst: cryptofuzz::module::Nettle_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1609,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1613,1
    - Dst: cryptofuzz::module::Nettle_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1615,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1619,1
    - Dst: cryptofuzz::module::Nettle_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1621,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1625,1
    - Dst: cryptofuzz::module::Nettle_detail::Salsa20Crypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1627,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1631,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1635,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1635,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1636,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1636,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1638,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1638,1
    - Dst: des_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1640,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1640,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1641,1
    - Dst: des_decrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1641,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1641,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1641,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1643,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1643,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1643,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1647,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1651,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1651,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1652,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1652,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1653,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1653,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1655,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1655,1
    - Dst: twofish_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1657,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1657,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1657,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1658,1
    - Dst: twofish_decrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1658,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1658,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1658,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1660,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1660,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1660,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1664,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1668,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1668,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1669,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1669,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1670,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1670,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1672,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1672,1
    - Dst: serpent_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1674,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1674,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1674,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1675,1
    - Dst: serpent_decrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1675,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1675,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1675,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1677,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1677,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1677,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1681,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1685,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1685,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1686,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1686,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1687,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1687,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1689,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1689,1
    - Dst: blowfish_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1691,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1691,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1691,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1692,1
    - Dst: blowfish_decrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1692,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1692,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1692,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1694,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1694,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1694,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1698,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1702,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1702,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1703,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1703,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1704,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1704,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1706,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1706,1
    - Dst: cast5_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1708,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1708,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1708,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1709,1
    - Dst: cast128_decrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1709,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1709,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1709,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1711,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1711,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1711,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1714,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1718,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1718,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1719,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1719,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1720,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1720,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1721,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1721,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1723,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1723,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1725,1
    - Dst: aes128_set_decrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1725,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1725,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1726,1
    - Dst: aes128_keyunwrap
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1726,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1726,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1726,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1726,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1728,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1728,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1728,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1731,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1735,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1735,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1736,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1736,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1737,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1737,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1738,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1738,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1740,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1740,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1742,1
    - Dst: aes192_set_decrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1742,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1742,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1743,1
    - Dst: aes192_keyunwrap
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1743,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1743,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1743,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1743,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1745,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1745,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1745,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1748,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1752,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1752,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1753,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1753,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1754,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1754,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1755,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1755,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1757,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1757,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1759,1
    - Dst: aes256_set_decrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1759,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1759,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1760,1
    - Dst: aes256_keyunwrap
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1760,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1760,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1760,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1760,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1762,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1762,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1762,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1765,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1769,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1770,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1770,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1771,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1771,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1772,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1772,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1774,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1774,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1777,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1777,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1778,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1778,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1779,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1779,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1779,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1781,1
    - Dst: siv_cmac_aes128_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1781,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1781,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1782,1
    - Dst: siv_cmac_aes128_decrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1782,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1783,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1783,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1784,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1784,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1785,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1787,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1787,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1787,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1790,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1794,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1795,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1795,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1796,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1796,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1797,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1797,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1799,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1799,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1802,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1802,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1803,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1803,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1804,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1804,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1804,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1806,1
    - Dst: siv_cmac_aes256_set_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1806,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1806,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1807,1
    - Dst: siv_cmac_aes256_decrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1807,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1808,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1808,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1809,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1809,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1810,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1812,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1812,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1812,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1815,1
    - Dst: Nettle_detail::CTRCrypt<struct aes128_ctx, 16, 16>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1817,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1825,1
    - Dst: Nettle_detail::CTRCrypt<struct aes192_ctx, 16, 24>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1827,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1835,1
    - Dst: Nettle_detail::CTRCrypt<struct aes256_ctx, 16, 32>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1837,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1845,1
    - Dst: Nettle_detail::CTRCrypt<struct camellia128_ctx, 16, 16>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1847,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1855,1
    - Dst: Nettle_detail::CTRCrypt<struct camellia192_ctx, 16, 24>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1857,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1865,1
    - Dst: Nettle_detail::CTRCrypt<struct camellia256_ctx, 16, 32>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1867,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1875,1
    - Dst: Nettle_detail::CTRCrypt<struct sm4_ctx, 16, 16>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1877,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1885,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1891,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1891,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1892,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1892,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1894,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1895,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1895,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1896,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1896,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1898,1
    - Dst: ocb_aes128_set_decrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1898,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1898,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1899,1
    - Dst: ocb_aes128_set_nonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1899,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1902,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1903,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1904,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1907,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1909,1
    - Dst: ocb_aes128_update
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1909,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1917,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1917,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1919,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1922,1
    - Dst: ocb_aes128_decrypt
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1922,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1932,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1932,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1933,1
    - Dst: ocb_aes128_digest
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1933,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1936,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1939,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1939,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1939,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1939,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1941,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1941,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1941,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1944,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1948,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1948,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1949,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1949,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1950,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1950,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1951,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1952,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1952,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1954,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1954,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1955,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1955,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1955,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1956,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1956,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1956,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1957,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1957,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1959,1
    - Dst: aes128_set_encrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1959,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1959,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1960,1
    - Dst: siv_gcm_aes128_decrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1960,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1962,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1962,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1963,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1963,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1964,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1967,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1967,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1967,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1970,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1974,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1974,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1975,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1975,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1976,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1976,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1977,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1978,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1978,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1980,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1980,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1981,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1981,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1981,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1982,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1982,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1982,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1983,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1983,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1985,1
    - Dst: aes256_set_encrypt_key
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1985,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1985,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1986,1
    - Dst: siv_gcm_aes256_decrypt_message
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1986,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1988,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1988,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1989,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1989,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1990,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1993,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1993,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1993,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:1999,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2000,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2001,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 431
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 2004
      start: 1275
    functionDepth: 3
    functionLinenumber: 1275
    functionLinenumberEnd: 2004
    functionName: cryptofuzz::module::Nettle::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - ccm_aes256_decrypt
    - siv_gcm_aes256_decrypt_message
    - ciphertext::GetPtr
    - aad::GetPtr
    - ccm_aes128_digest
    - siv_cmac_aes128_set_key
    - aes128_set_encrypt_key
    - cipher::key::GetPtr
    - siv_gcm_aes128_decrypt_message
    - ocb_aes128_digest
    - siv_cmac_aes128_decrypt_message
    - arcfour_crypt
    - des_set_key
    - ccm_aes128_set_nonce
    - CF_CHECK_LTE
    - aes256_set_encrypt_key
    - memcpy
    - aes192_set_decrypt_key
    - std::vector::end
    - Nettle_detail::CTRCrypt<struct aes256_ctx, 16, 32>
    - Nettle_detail::CTRCrypt<struct camellia256_ctx, 16, 32>
    - cryptofuzz::util::free
    - CF_CHECK_EQ
    - chacha_poly1305_set_key
    - cipher::key::GetSize
    - Nettle_detail::CTRCrypt<struct aes192_ctx, 16, 24>
    - chacha_poly1305_set_nonce
    - CF_CIPHER
    - Buffer
    - SET_AAD_DECRYPT_BS
    - ccm_aes256_digest
    - gcm_aes256_digest
    - gcm_camellia128_digest
    - ccm_aes192_set_nonce
    - blowfish_decrypt
    - modifier::GetPtr
    - std::vector::begin
    - aes256_set_decrypt_key
    - eax_aes128_digest
    - ocb_aes128_update
    - gcm_camellia256_set_key
    - memcmp
    - gcm_aes128_digest
    - eax_aes128_set_key
    - chacha_set_nonce
    - cipher::cipherType::Get
    - Nettle_detail::CTRCrypt<struct camellia128_ctx, 16, 16>
    - twofish_decrypt
    - twofish_set_key
    - chacha_set_key
    - ccm_aes192_decrypt
    - gcm_aes192_set_iv
    - arcfour_set_key
    - aad::GetSize
    - tag::GetPtr
    - cryptofuzz::util::ToParts
    - cryptofuzz::module::Nettle_detail::Salsa20Crypt
    - ccm_aes192_digest
    - aes128_set_decrypt_key
    - gcm_aes128_set_iv
    - ccm_aes256_set_key
    - Nettle_detail::CTRCrypt<struct camellia192_ctx, 16, 24>
    - ocb_aes128_set_decrypt_key
    - CF_CHECK_GTE
    - blowfish_set_key
    - ccm_aes128_set_key
    - modifier::GetSize
    - xts_aes128_decrypt_message
    - ccm_aes128_update
    - chacha_poly1305_digest
    - gcm_aes128_set_key
    - gcm_aes192_digest
    - ccm_aes256_update
    - ocb_aes128_decrypt
    - cryptofuzz::util::malloc
    - gcm_camellia128_set_key
    - gcm_camellia256_digest
    - xts_aes256_decrypt_message
    - aes256_keyunwrap
    - chacha_crypt
    - siv_cmac_aes256_decrypt_message
    - eax_aes128_set_nonce
    - serpent_decrypt
    - component::Cleartext
    - gcm_aes256_set_iv
    - gcm_camellia256_set_iv
    - aes128_keyunwrap
    - ocb_aes128_set_nonce
    - CF_CHECK_GT
    - xts_aes128_set_decrypt_key
    - xts_aes256_set_decrypt_key
    - gcm_aes256_set_key
    - CF_CHECK_NE
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - SET_AAD_DECRYPT
    - aes192_keyunwrap
    - serpent_set_key
    - cipher::iv::GetPtr
    - cast5_set_key
    - Nettle_detail::CTRCrypt<struct sm4_ctx, 16, 16>
    - ccm_aes192_update
    - tag::GetSize
    - cast128_decrypt
    - gcm_aes192_set_key
    - find
    - siv_cmac_aes256_set_key
    - Nettle_detail::CTRCrypt<struct aes128_ctx, 16, 16>
    - gcm_camellia128_set_iv
    - ccm_aes192_set_key
    - CF_NORET
    - des_decrypt
    - ccm_aes256_set_nonce
    - ccm_aes128_decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Nettle::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2017,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2019,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2019,1
    - Dst: hkdf_extract
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2020,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2024,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2024,1
    - Dst: hkdf_expand
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2026,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2030,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2031,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2034,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - ' op'
    - set_key
    - update
    - digest
    argTypes:
    - operation::KDF_HKDF
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2038
      start: 2008
    functionDepth: 2
    functionLinenumber: 2008
    functionLinenumberEnd: 2038
    functionName: cryptofuzz::module::Nettle_detail::HKDF
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - password::GetPtr
    - salt::GetPtr
    - hkdf_extract
    - info::GetPtr
    - salt::GetSize
    - hkdf_expand
    - info::GetSize
    - password::GetSize
    - CF_CHECK_LTE
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> HKDF(operation::KDF_HKDF& op, void* set_key,
      void* update, void* digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2044,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2045,1
    - Dst: Nettle_detail::HKDF<hmac_md5_ctx, MD5_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2046,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2048,1
    - Dst: Nettle_detail::HKDF<hmac_ripemd160_ctx, RIPEMD160_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2049,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2051,1
    - Dst: Nettle_detail::HKDF<hmac_sha1_ctx, SHA1_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2052,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2054,1
    - Dst: Nettle_detail::HKDF<hmac_sha224_ctx, SHA224_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2055,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2057,1
    - Dst: Nettle_detail::HKDF<hmac_sha256_ctx, SHA256_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2058,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2060,1
    - Dst: Nettle_detail::HKDF<hmac_sha384_ctx, SHA384_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2061,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2063,1
    - Dst: Nettle_detail::HKDF<hmac_sha512_ctx, SHA512_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2064,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2066,1
    - Dst: Nettle_detail::HKDF<hmac_streebog256_ctx, STREEBOG256_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2067,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2069,1
    - Dst: Nettle_detail::HKDF<hmac_streebog512_ctx, STREEBOG512_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2070,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2072,1
    - Dst: Nettle_detail::HKDF<hmac_sm3_ctx, SM3_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2073,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2075,1
    - Dst: Nettle_detail::HKDF<hmac_gosthash94_ctx, GOSTHASH94_DIGEST_SIZE>
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2076,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 2081
      start: 2041
    functionDepth: 0
    functionLinenumber: 2041
    functionLinenumberEnd: 2081
    functionName: cryptofuzz::module::Nettle::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - Nettle_detail::HKDF<hmac_sha1_ctx, SHA1_DIGEST_SIZE>
    - Nettle_detail::HKDF<hmac_gosthash94_ctx, GOSTHASH94_DIGEST_SIZE>
    - Nettle_detail::HKDF<hmac_sha256_ctx, SHA256_DIGEST_SIZE>
    - Nettle_detail::HKDF<hmac_streebog256_ctx, STREEBOG256_DIGEST_SIZE>
    - digestType::Get
    - Nettle_detail::HKDF<hmac_sha384_ctx, SHA384_DIGEST_SIZE>
    - Nettle_detail::HKDF<hmac_sha224_ctx, SHA224_DIGEST_SIZE>
    - Nettle_detail::HKDF<hmac_sha512_ctx, SHA512_DIGEST_SIZE>
    - Nettle_detail::HKDF<hmac_sm3_ctx, SM3_DIGEST_SIZE>
    - Nettle_detail::HKDF<hmac_md5_ctx, MD5_DIGEST_SIZE>
    - CF_DIGEST
    - Nettle_detail::HKDF<hmac_streebog512_ctx, STREEBOG512_DIGEST_SIZE>
    - Nettle_detail::HKDF<hmac_ripemd160_ctx, RIPEMD160_DIGEST_SIZE>
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Nettle::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2088,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2090,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2091,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2093,1
    - Dst: pbkdf2_hmac_sha1
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2093,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2093,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2093,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2093,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2093,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2094,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2097,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2099,1
    - Dst: pbkdf2_hmac_sha256
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2099,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2099,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2099,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2099,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2099,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2100,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2103,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2105,1
    - Dst: pbkdf2_hmac_sha384
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2105,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2105,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2105,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2105,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2105,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2106,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2109,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2111,1
    - Dst: pbkdf2_hmac_sha512
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2111,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2111,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2111,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2111,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2111,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2112,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2115,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2117,1
    - Dst: pbkdf2_hmac_gosthash94cp
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2117,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2117,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2117,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2117,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2117,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2118,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 2127
      start: 2083
    functionDepth: 2
    functionLinenumber: 2083
    functionLinenumberEnd: 2127
    functionName: cryptofuzz::module::Nettle::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - password::GetPtr
    - pbkdf2_hmac_sha256
    - pbkdf2_hmac_sha1
    - CF_NORET
    - digestType::Get
    - pbkdf2_hmac_sha384
    - CF_CHECK_GT
    - salt::GetPtr
    - CF_DIGEST
    - pbkdf2_hmac_sha512
    - salt::GetSize
    - password::GetSize
    - pbkdf2_hmac_gosthash94cp
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Nettle::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2133,1
    - Dst: nettle_get_secp_192r1
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2134,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2135,1
    - Dst: nettle_get_secp_224r1
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2136,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2137,1
    - Dst: nettle_get_secp_256r1
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2138,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2139,1
    - Dst: nettle_get_secp_384r1
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2140,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2141,1
    - Dst: nettle_get_secp_521r1
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2142,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2143,1
    - Dst: nettle_get_gost_gc512a
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - curveID
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 2148
      start: 2131
    functionDepth: 0
    functionLinenumber: 2131
    functionLinenumberEnd: 2148
    functionName: cryptofuzz::module::Nettle_detail::to_ecc_curve
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - nettle_get_secp_521r1
    - CF_ECC_CURVE
    - nettle_get_gost_gc512a
    - nettle_get_secp_224r1
    - nettle_get_secp_384r1
    - nettle_get_secp_192r1
    - nettle_get_secp_256r1
    linkageType: ''
    returnType: struct ecc_curve
    signature: struct ecc_curve * to_ecc_curve(const uint64_t curveID)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2156,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2163,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2164,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2164,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2165,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2165,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - size
    - out
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 2171
      start: 2153
    functionDepth: 1
    functionLinenumber: 2153
    functionLinenumberEnd: 2171
    functionName: cryptofuzz::module::Nettle_detail::nettle_fuzzer_random_func
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - memcpy
    - auto::data
    - memset
    - auto::size
    - GetData
    linkageType: ''
    returnType: void
    signature: void nettle_fuzzer_random_func(void *ctx, size_t size, uint8_t *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2177,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2177,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2177,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2179,1
    - Dst: curve25519_mul_g
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2179,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2179,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 2184
      start: 2173
    functionDepth: 2
    functionLinenumber: 2173
    functionLinenumberEnd: 2184
    functionName: cryptofuzz::module::Nettle_detail::OpECC_PrivateToPublic_curve25519
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - std::optional::data
    - CF_NORET
    - priv::ToTrimmedString
    - cryptofuzz::util::BinToDec
    - curve25519_mul_g
    - cryptofuzz::util::DecToBin
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> OpECC_PrivateToPublic_curve25519(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2190,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2190,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2190,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2192,1
    - Dst: curve448_mul_g
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2192,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2192,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 2197
      start: 2186
    functionDepth: 2
    functionLinenumber: 2186
    functionLinenumberEnd: 2197
    functionName: cryptofuzz::module::Nettle_detail::OpECC_PrivateToPublic_curve448
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - std::optional::data
    - CF_NORET
    - curve448_mul_g
    - priv::ToTrimmedString
    - cryptofuzz::util::BinToDec
    - cryptofuzz::util::DecToBin
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> OpECC_PrivateToPublic_curve448(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2206,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2206,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2215,1
    - Dst: cryptofuzz::module::Nettle_detail::to_ecc_curve
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2215,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2215,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2217,1
    - Dst: ecc_point_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2217,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2218,1
    - Dst: ecc_scalar_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2218,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2219,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2219,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2220,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2220,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2221,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2221,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2227,1
    - Dst: ecdsa_generate_keypair
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2227,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2230,1
    - Dst: ecc_scalar_get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2230,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2231,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2233,1
    - Dst: ecc_point_get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2233,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2234,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2235,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2238,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2239,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2239,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2244,1
    - Dst: ecc_point_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2244,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2245,1
    - Dst: ecc_scalar_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2245,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2246,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2246,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2247,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2247,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2248,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2248,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2249,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2250,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_GenerateKeyPair
    constantsTouched: []
    func_position:
      end: 2255
      start: 2201
    functionDepth: 2
    functionLinenumber: 2201
    functionLinenumberEnd: 2255
    functionName: cryptofuzz::module::Nettle::OpECC_GenerateKeyPair
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - mpz_init
    - CF_CHECK_NE
    - ecc_point_init
    - mpz_get_str
    - modifier::GetPtr
    - CF_NORET
    - free
    - cryptofuzz::module::Nettle_detail::to_ecc_curve
    - ecdsa_generate_keypair
    - std::string
    - ecc_scalar_get
    - ecc_point_get
    - curveType::Get
    - modifier::GetSize
    - ecc_point_clear
    - ecc_scalar_clear
    - ecc_scalar_init
    - mpz_clear
    linkageType: ''
    returnType: std::optional<component::ECC_KeyPair>
    signature: std::optional<component::ECC_KeyPair> Nettle::OpECC_GenerateKeyPair(operation::ECC_GenerateKeyPair&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2269,1
    - Dst: cryptofuzz::module::Nettle_detail::to_ecc_curve
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2269,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2269,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2271,1
    - Dst: ecc_point_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2271,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2272,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2272,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2273,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2273,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2276,1
    - Dst: mpz_init_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2276,1
    - Dst: pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2276,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2277,1
    - Dst: mpz_init_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2277,1
    - Dst: pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2277,1
    - Dst: ecc_point_set
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2279,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2282,1
    - Dst: ecc_point_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2282,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2283,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2283,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2284,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_ValidatePubkey
    constantsTouched: []
    func_position:
      end: 2289
      start: 2257
    functionDepth: 1
    functionLinenumber: 2257
    functionLinenumberEnd: 2289
    functionName: cryptofuzz::module::Nettle::OpECC_ValidatePubkey
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - mpz_init
    - ecc_point_set
    - CF_CHECK_NE
    - ecc_point_init
    - CF_NORET
    - CF_CHECK_EQ
    - cryptofuzz::module::Nettle_detail::to_ecc_curve
    - pub::first::ToTrimmedString
    - mpz_init_set_str
    - curveType::Get
    - pub::second::ToTrimmedString
    - ecc_point_clear
    - mpz_clear
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Nettle::OpECC_ValidatePubkey(operation::ECC_ValidatePubkey&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2297,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2297,1
    - Dst: cryptofuzz::module::Nettle_detail::OpECC_PrivateToPublic_curve25519
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2298,1
    - Dst: curveType::Is
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2299,1
    - Dst: CF_ECC_CURVE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2299,1
    - Dst: cryptofuzz::module::Nettle_detail::OpECC_PrivateToPublic_curve448
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2300,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2310,1
    - Dst: cryptofuzz::module::Nettle_detail::to_ecc_curve
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2310,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2310,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2312,1
    - Dst: ecc_point_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2312,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2313,1
    - Dst: ecc_scalar_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2313,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2314,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2314,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2315,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2315,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2316,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2316,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2321,1
    - Dst: mpz_init_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2321,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2321,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2322,1
    - Dst: ecc_scalar_set
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2322,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2324,1
    - Dst: ecc_point_mul_g
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2324,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2325,1
    - Dst: ecc_point_get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2325,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2327,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2328,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2334,1
    - Dst: ecc_point_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2334,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2335,1
    - Dst: ecc_scalar_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2335,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2336,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2336,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2337,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2337,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2338,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2338,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2339,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_PrivateToPublic
    constantsTouched: []
    func_position:
      end: 2345
      start: 2291
    functionDepth: 3
    functionLinenumber: 2291
    functionLinenumberEnd: 2345
    functionName: cryptofuzz::module::Nettle::OpECC_PrivateToPublic
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - free
    - ecc_point_get
    - ecc_point_clear
    - ecc_scalar_clear
    - ecc_point_mul_g
    - ecc_scalar_set
    - CF_CHECK_NE
    - mpz_get_str
    - curveType::Is
    - cryptofuzz::module::Nettle_detail::OpECC_PrivateToPublic_curve25519
    - mpz_init
    - CF_CHECK_EQ
    - cryptofuzz::module::Nettle_detail::to_ecc_curve
    - cryptofuzz::module::Nettle_detail::OpECC_PrivateToPublic_curve448
    - ecc_scalar_init
    - mpz_clear
    - ecc_point_init
    - CF_ECC_CURVE
    - CF_NORET
    - priv::ToTrimmedString
    - mpz_init_set_str
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECC_PublicKey>
    signature: std::optional<component::ECC_PublicKey> Nettle::OpECC_PrivateToPublic(operation::ECC_PrivateToPublic&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2353,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2353,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2355,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2355,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2367,1
    - Dst: cryptofuzz::module::Nettle_detail::to_ecc_curve
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2367,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2367,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2369,1
    - Dst: ecc_point_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2369,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2370,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2370,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2371,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2371,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2372,1
    - Dst: dsa_signature_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2372,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2375,1
    - Dst: mpz_init_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2375,1
    - Dst: signature::pub::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2375,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2376,1
    - Dst: mpz_init_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2376,1
    - Dst: signature::pub::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2376,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2377,1
    - Dst: ecc_point_set
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2377,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2378,1
    - Dst: mpz_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2378,1
    - Dst: signature::signature::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2378,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2379,1
    - Dst: mpz_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2379,1
    - Dst: signature::signature::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2379,1
    - Dst: cleartext::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2381,1
    - Dst: ecdsa_verify
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2382,1
    - Dst: Buffer::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2382,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2382,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2385,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2385,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2386,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2386,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2387,1
    - Dst: ecc_point_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2387,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2388,1
    - Dst: dsa_signature_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Verify
    constantsTouched: []
    func_position:
      end: 2393
      start: 2347
    functionDepth: 2
    functionLinenumber: 2347
    functionLinenumberEnd: 2393
    functionName: cryptofuzz::module::Nettle::OpECDSA_Verify
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - ecc_point_set
    - mpz_set_str
    - modifier::GetPtr
    - dsa_signature_init
    - modifier::GetSize
    - cleartext::ECDSA_RandomPad
    - ecc_point_clear
    - CF_CHECK_NE
    - signature::signature::first::ToTrimmedString
    - ecdsa_verify
    - dsa_signature_clear
    - signature::signature::second::ToTrimmedString
    - mpz_init
    - signature::pub::first::ToTrimmedString
    - Buffer::GetPtr
    - CF_CHECK_EQ
    - digestType::Is
    - cryptofuzz::module::Nettle_detail::to_ecc_curve
    - mpz_clear
    - signature::pub::second::ToTrimmedString
    - ecc_point_init
    - CF_NORET
    - mpz_init_set_str
    - curveType::Get
    - CF_DIGEST
    - Buffer::GetSize
    linkageType: ''
    returnType: std::optional<bool>
    signature: std::optional<bool> Nettle::OpECDSA_Verify(operation::ECDSA_Verify&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UseRandomNonce
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2401,1
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2404,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2404,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2408,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2408,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2420,1
    - Dst: cryptofuzz::module::Nettle_detail::to_ecc_curve
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2420,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2420,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2422,1
    - Dst: ecc_point_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2422,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2423,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2423,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2424,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2424,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2425,1
    - Dst: dsa_signature_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2425,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2426,1
    - Dst: ecc_scalar_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2426,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2427,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2427,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2430,1
    - Dst: mpz_init_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2430,1
    - Dst: priv::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2430,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2431,1
    - Dst: ecc_scalar_set
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2431,1
    - Dst: cleartext::ECDSA_RandomPad
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2433,1
    - Dst: ecdsa_sign
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2437,1
    - Dst: Buffer::GetSize
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2440,1
    - Dst: Buffer::GetPtr
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2440,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2443,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2444,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2446,1
    - Dst: ecc_point_mul_g
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2446,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2447,1
    - Dst: ecc_point_get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2447,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2449,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2450,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2456,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2456,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2457,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2457,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2458,1
    - Dst: ecc_scalar_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2458,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2459,1
    - Dst: dsa_signature_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2459,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2460,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2460,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2461,1
    - Dst: ecc_point_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2461,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2462,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2463,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2464,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 45
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECDSA_Sign
    constantsTouched: []
    func_position:
      end: 2470
      start: 2395
    functionDepth: 2
    functionLinenumber: 2395
    functionLinenumberEnd: 2470
    functionName: cryptofuzz::module::Nettle::OpECDSA_Sign
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - free
    - ecc_point_get
    - dsa_signature_init
    - modifier::GetSize
    - cleartext::ECDSA_RandomPad
    - ecdsa_sign
    - ecc_point_clear
    - UseRandomNonce
    - ecc_point_mul_g
    - ecc_scalar_set
    - ecc_scalar_clear
    - CF_CHECK_NE
    - mpz_get_str
    - dsa_signature_clear
    - mpz_init
    - Buffer::GetPtr
    - CF_CHECK_EQ
    - digestType::Is
    - cryptofuzz::module::Nettle_detail::to_ecc_curve
    - ecc_scalar_init
    - mpz_clear
    - ecc_point_init
    - CF_NORET
    - priv::ToTrimmedString
    - mpz_init_set_str
    - curveType::Get
    - CF_DIGEST
    - Buffer::GetSize
    linkageType: ''
    returnType: std::optional<component::ECDSA_Signature>
    signature: std::optional<component::ECDSA_Signature> Nettle::OpECDSA_Sign(operation::ECDSA_Sign&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2486,1
    - Dst: cryptofuzz::module::Nettle_detail::to_ecc_curve
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2486,1
    - Dst: curveType::Get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2486,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2488,1
    - Dst: ecc_point_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2488,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2489,1
    - Dst: ecc_point_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2489,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2490,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2490,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2491,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2491,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2492,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2492,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2493,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2493,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2494,1
    - Dst: mpz_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2494,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2495,1
    - Dst: ecc_scalar_init
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2495,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2498,1
    - Dst: mpz_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2498,1
    - Dst: a::first::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2498,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2499,1
    - Dst: mpz_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2499,1
    - Dst: a::second::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2499,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2500,1
    - Dst: ecc_point_set
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2500,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2502,1
    - Dst: mpz_set_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2502,1
    - Dst: b::ToTrimmedString
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2502,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2503,1
    - Dst: ecc_scalar_set
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2503,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2505,1
    - Dst: ecc_point_mul
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2505,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2507,1
    - Dst: ecc_point_get
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2507,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2509,1
    - Dst: mpz_get_str
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2510,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2512,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2512,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2516,1
    - Dst: ecc_point_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2516,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2517,1
    - Dst: ecc_point_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2517,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2518,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2518,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2519,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2519,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2520,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2520,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2521,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2521,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2522,1
    - Dst: mpz_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2522,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2523,1
    - Dst: ecc_scalar_clear
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2523,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2524,1
    - Dst: free
      Src: /src/cryptofuzz/modules/nettle/module.cpp:2525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::ECC_Point_Mul
    constantsTouched: []
    func_position:
      end: 2530
      start: 2472
    functionDepth: 1
    functionLinenumber: 2472
    functionLinenumberEnd: 2530
    functionName: cryptofuzz::module::Nettle::OpECC_Point_Mul
    functionSourceFile: /src/cryptofuzz/modules/nettle/module.cpp
    functionUses: 0
    functionsReached:
    - mpz_set_str
    - ecc_point_set
    - free
    - ecc_point_get
    - ecc_point_clear
    - a::second::ToTrimmedString
    - ecc_scalar_clear
    - ecc_scalar_set
    - CF_CHECK_NE
    - mpz_get_str
    - a::first::ToTrimmedString
    - b::ToTrimmedString
    - mpz_init
    - CF_CHECK_EQ
    - cryptofuzz::module::Nettle_detail::to_ecc_curve
    - std::string
    - ecc_scalar_init
    - ecc_point_mul
    - mpz_clear
    - ecc_point_init
    - CF_NORET
    - curveType::Get
    linkageType: ''
    returnType: std::optional<component::ECC_Point>
    signature: std::optional<component::ECC_Point> Nettle::OpECC_Point_Mul(operation::ECC_Point_Mul&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: uint_error::uint_error
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint_error(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: base_uint::base_uint
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base_uint()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: base_uint::base_uint
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base_uint(const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: '& operator=(const base_uint& b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator=(const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: base_uint::base_uint
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base_uint(uint64_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint::base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: operator~() const
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint::base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator~() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint::base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: operator-() const
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint::base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator-() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: '& operator=(uint64_t b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator=(uint64_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: '& operator^=(const base_uint& b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator^=(const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: '& operator&=(const base_uint& b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator&=(const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: '& operator|=(const base_uint& b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator|=(const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: '& operator^=(uint64_t b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator^=(uint64_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: '& operator|=(uint64_t b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator|=(uint64_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: '& operator+=(const base_uint& b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator+=(const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: '& operator-=(const base_uint& b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator-=(const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint::base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b64
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: '& operator+=(uint64_t b64)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint::base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator+=(uint64_t b64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint::base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b64
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: '& operator-=(uint64_t b64)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint::base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator-=(uint64_t b64)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: '& operator++()'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator++()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: operator++(int)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator++(int)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: '& operator--()'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    linkageType: ''
    returnType: base_uint
    signature: base_uint & operator--()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: operator--(int)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator--(int)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: operator+(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator+(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: operator-(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator-(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: operator*(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator*(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: operator/(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator/(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: operator|(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator|(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: operator&(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator&(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: operator^(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator^(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - shift
    argTypes:
    - base_uint
    - int
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: operator>>(const base_uint& a, int shift)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator>>(const base_uint& a, int shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - shift
    argTypes:
    - base_uint
    - int
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: operator<<(const base_uint& a, int shift)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator<<(const base_uint& a, int shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - base_uint
    - uint32_t
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: operator*(const base_uint& a, uint32_t b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - base_uint
    linkageType: ''
    returnType: base_uint
    signature: base_uint operator*(const base_uint& a, uint32_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: operator==(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: operator!=(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CompareTo
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: operator>(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - CompareTo
    linkageType: ''
    returnType: bool
    signature: bool operator>(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CompareTo
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: operator<(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - CompareTo
    linkageType: ''
    returnType: bool
    signature: bool operator<(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CompareTo
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: operator>=(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - CompareTo
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CompareTo
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_uint
    - base_uint
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: operator<=(const base_uint& a, const base_uint& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - CompareTo
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const base_uint& a, const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EqualTo
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - base_uint
    - uint64_t
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: operator==(const base_uint& a, uint64_t b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - EqualTo
    linkageType: ''
    returnType: bool
    signature: bool operator==(const base_uint& a, uint64_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EqualTo
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - b
    argTypes:
    - base_uint
    - uint64_t
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: operator!=(const base_uint& a, uint64_t b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached:
    - EqualTo
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const base_uint& a, uint64_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: base_uint::size
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: base_uint::GetLow64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetLow64() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: arith_uint256::arith_uint256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arith_uint256()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint<256>
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: arith_uint256::arith_uint256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arith_uint256(const base_uint<256>& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: arith_uint256::arith_uint256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arith_uint256(uint64_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: arith_uint256::arith_uint256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arith_uint256(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: cryptofuzz::module::Bitcoin::Bitcoin
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bitcoin::Bitcoin(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Alg>::Write
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - alg
    - data
    - size
    argTypes:
    - std::shared_ptr<Alg>
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: cryptofuzz::module::Bitcoin_detail::digest_write
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<Alg>::Write
    linkageType: ''
    returnType: void
    signature: void digest_write(std::shared_ptr<Alg> alg, const uint8_t* data, const
      size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<SHA3_256>::Write
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - alg
    - data
    - size
    argTypes:
    - std::shared_ptr<SHA3_256>
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: cryptofuzz::module::Bitcoin_detail::digest_write
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<SHA3_256>::Write
    linkageType: ''
    returnType: void
    signature: void digest_write(std::shared_ptr<SHA3_256> alg, const uint8_t* data,
      const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:59,1
    - Dst: std::make_shared<Alg>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:60,1
    - Dst: cryptofuzz::module::Bitcoin_detail::digest_write
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:67,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:69,1
    - Dst: std::shared_ptr::Reset
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:70,1
    - Dst: std::shared_ptr::Finalize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:81,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::Digest
    - Datasource
    constantsTouched: []
    func_position:
      end: 86
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 86
    functionName: cryptofuzz::module::Bitcoin_detail::digest
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::Finalize
    - Botan::PKCS11::LowLevel::C_Digest
    - std::make_shared<Alg>
    - std::shared_ptr::Reset
    - cryptofuzz::util::ToParts
    - Get
    - cryptofuzz::module::Bitcoin_detail::digest_write
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> digest(operation::Digest& op, Datasource&
      ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:93,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:93,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:95,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:96,1
    - Dst: Bitcoin_detail::digest<CSHA1>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:97,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:98,1
    - Dst: Bitcoin_detail::digest<CSHA256>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:99,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:100,1
    - Dst: Bitcoin_detail::digest<CSHA512>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:101,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:102,1
    - Dst: Bitcoin_detail::digest<CRIPEMD160>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:103,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:104,1
    - Dst: Bitcoin_detail::digest<SHA3_256>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 109
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 109
    functionName: cryptofuzz::module::Bitcoin::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - digestType::Get
    - Bitcoin_detail::digest<CSHA1>
    - CF_DIGEST
    - Bitcoin_detail::digest<CSHA512>
    - modifier::GetSize
    - Bitcoin_detail::digest<CSHA256>
    - Bitcoin_detail::digest<SHA3_256>
    - Bitcoin_detail::digest<CRIPEMD160>
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> Bitcoin::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:122,1
    - Dst: std::make_unique<Alg>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:123,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:123,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:123,1
    - Dst: std::unique_ptr::Write
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:128,1
    - Dst: std::unique_ptr::Finalize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:134,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::HMAC
    - Datasource
    constantsTouched: []
    func_position:
      end: 139
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 139
    functionName: cryptofuzz::module::Bitcoin_detail::hmac
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::Write
    - std::unique_ptr::Finalize
    - cipher::key::GetPtr
    - std::make_unique<Alg>
    - cryptofuzz::util::ToParts
    - Botan_CLI::HMAC::HMAC
    - cipher::key::GetSize
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> hmac(operation::HMAC& op, Datasource&
      ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:152,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:157,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:157,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:158,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:158,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:160,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:160,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:163,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:169,1
    - Dst: SipHashUint256
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:170,1
    - Dst: uint256
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:170,1
    - Dst: cleartext::Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:170,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:171,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:175,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:175,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:176,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:176,1
    - Dst: SipHashUint256Extra
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:178,1
    - Dst: uint256
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:181,1
    - Dst: std::vector<uint8_t>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:181,1
    - Dst: abort
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:184,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:187,1
    - Dst: std::make_unique<CSipHasher>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:193,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:196,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:196,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:197,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:199,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:199,1
    - Dst: std::unique_ptr::Write
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:200,1
    - Dst: std::unique_ptr::Finalize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:203,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:204,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:210,1
    - Dst: std::unique_ptr::Write
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:216,1
    - Dst: std::unique_ptr::Finalize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:222,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:223,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::HMAC
    - Datasource
    constantsTouched: []
    func_position:
      end: 227
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 227
    functionName: cryptofuzz::module::Bitcoin_detail::SipHash64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::Write
    - uint256
    - cleartext::Get
    - cleartext::GetPtr
    - Botan::PKCS11::LowLevel::C_Digest
    - Get
    - abort
    - std::vector<uint8_t>
    - SipHashUint256Extra
    - memcpy
    - cipher::key::GetPtr
    - std::unique_ptr::Finalize
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - std::make_unique<CSipHasher>
    - SipHashUint256
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> SipHash64(operation::HMAC& op, Datasource&
      ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:233,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:233,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:235,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:236,1
    - Dst: Bitcoin_detail::hmac<CHMAC_SHA256>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:237,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:238,1
    - Dst: Bitcoin_detail::hmac<CHMAC_SHA512>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:239,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:240,1
    - Dst: cryptofuzz::module::Bitcoin_detail::SipHash64
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 245
      start: 230
    functionDepth: 3
    functionLinenumber: 230
    functionLinenumberEnd: 245
    functionName: cryptofuzz::module::Bitcoin::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - modifier::GetPtr
    - digestType::Get
    - cryptofuzz::module::Bitcoin_detail::SipHash64
    - Bitcoin_detail::hmac<CHMAC_SHA256>
    - CF_DIGEST
    - modifier::GetSize
    - Bitcoin_detail::hmac<CHMAC_SHA512>
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> Bitcoin::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:252,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:252,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:255,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:261,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:261,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:263,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:263,1
    - Dst: ChaCha20::SetIV
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:264,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:268,1
    - Dst: ChaCha20::Crypt
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:268,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:268,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:268,1
    - Dst: T
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:270,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:270,1
    - Dst: GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:270,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' key'
    - ' iv'
    - ' in'
    argTypes:
    - Buffer
    - Buffer
    - Buffer
    constantsTouched: []
    func_position:
      end: 274
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 274
    functionName: cryptofuzz::module::Bitcoin_detail::chacha20
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - cryptofuzz::util::free
    - ChaCha20::Crypt
    - ChaCha20::SetIV
    - CF_NORET
    - T
    - memcpy
    - Buffer
    - GetSize
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> chacha20(const Buffer& key, const Buffer& iv, const
      Buffer& in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:279,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:283,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:291,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:296,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:296,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:297,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:297,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:301,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:301,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:301,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:301,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:303,1
    - Dst: ChaCha20Poly1305AEAD::Crypt
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:303,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:303,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:303,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:305,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:305,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:307,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:308,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:308,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:309,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:309,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 315
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 315
    functionName: cryptofuzz::module::Bitcoin_detail::chacha20_poly1305
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - CF_ASSERT
    - cleartext::GetPtr
    - cipher::iv::GetSize
    - aad::GetPtr
    - ChaCha20Poly1305AEAD::Crypt
    - cipher::iv::GetPtr
    - memcpy
    - cipher::key::GetPtr
    - Buffer
    - aad::GetSize
    - cipher::key::GetSize
    - CF_CHECK_TRUE
    - cryptofuzz::component::Ciphertext::Ciphertext
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> chacha20_poly1305(const operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:320,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:324,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:328,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:332,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:338,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:338,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:338,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:338,1
    - Dst: cryptofuzz::util::Append
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:340,1
    - Dst: ciphertext::Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:340,1
    - Dst: tag::Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:340,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:341,1
    - Dst: ChaCha20Poly1305AEAD::Crypt
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:341,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:341,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:341,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:343,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:343,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:345,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:345,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:345,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 351
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 351
    functionName: cryptofuzz::module::Bitcoin_detail::chacha20_poly1305
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::Append
    - cryptofuzz::util::free
    - CF_ASSERT
    - tag::GetSize
    - ciphertext::GetSize
    - component::Cleartext
    - cipher::iv::GetSize
    - aad::GetPtr
    - ChaCha20Poly1305AEAD::Crypt
    - tag::Get
    - cipher::key::GetPtr
    - ciphertext::Get
    - auto::data
    - aad::GetSize
    - auto::size
    - Buffer
    - cipher::key::GetSize
    - CF_CHECK_TRUE
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> chacha20_poly1305(const operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:362,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:362,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:363,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:363,1
    - Dst: std::make_unique<AES256CBCEncrypt>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:364,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:364,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:364,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:369,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:369,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:369,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:369,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:374,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:374,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 381
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 381
    functionName: cryptofuzz::module::Bitcoin_detail::aes_256_cbc
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - cleartext::GetPtr
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - CF_CHECK_GT
    - cipher::iv::GetPtr
    - std::unique_ptr::Encrypt
    - cipher::key::GetPtr
    - Buffer
    - cipher::key::GetSize
    - std::make_unique<AES256CBCEncrypt>
    - cryptofuzz::component::Ciphertext::Ciphertext
    - cleartext::GetSize
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> aes_256_cbc(const operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:392,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:392,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:392,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:393,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:393,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:394,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:394,1
    - Dst: std::make_unique<AES256CBCDecrypt>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:395,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:395,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:395,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:400,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:400,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:400,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:400,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:405,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 412
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 412
    functionName: cryptofuzz::module::Bitcoin_detail::aes_256_cbc
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    - ciphertext::GetSize
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - CF_CIPHER
    - cipher::iv::GetSize
    - CF_CHECK_GT
    - ciphertext::GetPtr
    - cipher::iv::GetPtr
    - std::make_unique<AES256CBCDecrypt>
    - cipher::key::GetPtr
    - cipher::key::GetSize
    - component::Cleartext
    - std::unique_ptr::Decrypt
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> aes_256_cbc(const operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Is
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:417,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:417,1
    - Dst: Bitcoin_detail::chacha20<component::Ciphertext>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:418,1
    - Dst: cipher::cipherType::Is
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:419,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:419,1
    - Dst: cryptofuzz::module::Bitcoin_detail::chacha20_poly1305
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:420,1
    - Dst: cipher::cipherType::Is
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:421,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:421,1
    - Dst: cryptofuzz::module::Bitcoin_detail::aes_256_cbc
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 427
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 427
    functionName: cryptofuzz::module::Bitcoin::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CIPHER
    - cryptofuzz::module::Bitcoin_detail::aes_256_cbc
    - Bitcoin_detail::chacha20<component::Ciphertext>
    - cryptofuzz::module::Bitcoin_detail::chacha20_poly1305
    - cipher::cipherType::Is
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> Bitcoin::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Is
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:430,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:430,1
    - Dst: Bitcoin_detail::chacha20<component::Cleartext>
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:431,1
    - Dst: cipher::cipherType::Is
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:432,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:432,1
    - Dst: cryptofuzz::module::Bitcoin_detail::chacha20_poly1305
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:433,1
    - Dst: cipher::cipherType::Is
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:434,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:434,1
    - Dst: cryptofuzz::module::Bitcoin_detail::aes_256_cbc
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 439
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 439
    functionName: cryptofuzz::module::Bitcoin::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CIPHER
    - Bitcoin_detail::chacha20<component::Cleartext>
    - cryptofuzz::module::Bitcoin_detail::aes_256_cbc
    - cryptofuzz::module::Bitcoin_detail::chacha20_poly1305
    - cipher::cipherType::Is
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> Bitcoin::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Is
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:442,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:442,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:450,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:457,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:457,1
    - Dst: salt::AsString
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:458,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:460,1
    - Dst: CHKDF_HMAC_SHA256_L32::Expand32
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:460,1
    - Dst: info::AsString
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:460,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:462,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 463
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 463
    functionName: cryptofuzz::module::Bitcoin::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - password::GetPtr
    - CF_NORET
    - digestType::Is
    - salt::AsString
    - CHKDF_HMAC_SHA256_L32::Expand32
    - CF_DIGEST
    - info::GetSize
    - info::AsString
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> Bitcoin::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - Datasource
    constantsTouched: []
    func_position:
      end: 473
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 473
    functionName: cryptofuzz::module::Bitcoin_detail::Bignum::Bignum
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bignum(Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:478,1
    - Dst: UintToArith256
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:482,1
    - Dst: ArithToUint256
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:482,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:489,1
    - Dst: getdouble
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 499
    functionName: '& Ref(void)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - getdouble
    - Get
    - UintToArith256
    - ArithToUint256
    linkageType: ''
    returnType: arith_uint256
    signature: arith_uint256 & Ref(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' ds'
    - ' A'
    - ' B'
    argTypes:
    - fuzzing::datasource::Datasource
    - arith_uint256
    - arith_uint256
    constantsTouched: []
    func_position:
      end: 515
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 515
    functionName: cryptofuzz::module::Bitcoin_detail::UseParamTwice
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: bool
    signature: bool UseParamTwice(fuzzing::datasource::Datasource& ds, const arith_uint256&
      A, const arith_uint256& B)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ds'
    argTypes:
    - fuzzing::datasource::Datasource
    constantsTouched: []
    func_position:
      end: 524
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 524
    functionName: cryptofuzz::module::Bitcoin_detail::GetMod3
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetMod3(fuzzing::datasource::Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:538,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:542,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:542,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:547,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:547,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:547,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:548,1
    - Dst: cryptofuzz::util::DecToHex
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:548,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:548,1
    - Dst: PREPARE_RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:552,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:554,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:555,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:556,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:556,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:556,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:558,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:559,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:559,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:559,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:561,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:562,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:562,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:562,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:564,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:565,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:565,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:566,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:566,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:566,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:568,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:569,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:569,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:569,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:571,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:572,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:572,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:572,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:574,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:575,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:575,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:575,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:577,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:578,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:578,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:578,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:580,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:581,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:581,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:581,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:583,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:584,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:584,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:586,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:587,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:587,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:589,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:590,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:590,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:590,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:592,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:593,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:593,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:593,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:595,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:596,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:596,1
    - Dst: PARAM_B
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:596,1
    - Dst: CF_CALCOP
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:598,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:599,1
    - Dst: Ref
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:599,1
    - Dst: cryptofuzz::util::HexToDec
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:605,1
    - Dst: RESULT
      Src: /src/cryptofuzz/modules/bitcoin/module.cpp:605,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 614
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 614
    functionName: cryptofuzz::module::Bitcoin::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CALCOP
    - bn1::ToTrimmedString
    - CF_CHECK_NE
    - modifier::GetPtr
    - cryptofuzz::util::DecToHex
    - cryptofuzz::util::HexToDec
    - Ref
    - RESULT
    - modulo::ToTrimmedString
    - modifier::GetSize
    - PREPARE_RESULT
    - calcOp::Get
    - PARAM_B
    - bn0::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> Bitcoin::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 618
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 618
    functionName: cryptofuzz::module::Bitcoin::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Bitcoin::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Span::Span
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Span() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - begin
    - size
    argTypes:
    - T*
    - std::size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Span::Span
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Span(T* begin, std::size_t size) noexcept
  - 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: Span
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Span(const Span&) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - (a)
    argTypes:
    - C[]
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: Span
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Span(C (&a)[N]) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<V&>
      Src: /src/cryptofuzz/modules/bitcoin/span.h:158,1
    - Dst: std::declval<V&>
      Src: /src/cryptofuzz/modules/bitcoin/span.h:159,1
    - Dst: data
      Src: /src/cryptofuzz/modules/bitcoin/span.h:160,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ' other SPAN_ATTR_LIFETIMEBOUND'
    argTypes:
    - V
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: Span
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - data
    - std::declval<V&>
    - size
    linkageType: ''
    returnType: void
    signature: "void Span(V& other SPAN_ATTR_LIFETIMEBOUND,\n        typename std::enable_if<!is_Span<V>::value
      &&\n                                std::is_convertible<typename std::remove_pointer<decltype(std::declval<V&>().data())>::type
      (*)[], C (*)[]>::value &&\n                                std::is_convertible<decltype(std::declval<V&>().size()),
      std::size_t>::value, std::nullptr_t>::type = nullptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<const V&>
      Src: /src/cryptofuzz/modules/bitcoin/span.h:165,1
    - Dst: std::declval<const V&>
      Src: /src/cryptofuzz/modules/bitcoin/span.h:166,1
    - Dst: data
      Src: /src/cryptofuzz/modules/bitcoin/span.h:167,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ' other SPAN_ATTR_LIFETIMEBOUND'
    argTypes:
    - V
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: Span
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - std::declval<const V&>
    - data
    - size
    linkageType: ''
    returnType: void
    signature: "void Span(const V& other SPAN_ATTR_LIFETIMEBOUND,\n        typename
      std::enable_if<!is_Span<V>::value &&\n                                std::is_convertible<typename
      std::remove_pointer<decltype(std::declval<const V&>().data())>::type (*)[],
      C (*)[]>::value &&\n                                std::is_convertible<decltype(std::declval<const
      V&>().size()), std::size_t>::value, std::nullptr_t>::type = nullptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: data
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 1463
    functionsReached: []
    linkageType: ''
    returnType: C
    signature: C * data() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: begin
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 525
    functionsReached: []
    linkageType: ''
    returnType: C
    signature: C * begin() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: end
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 782
    functionsReached: []
    linkageType: ''
    returnType: C
    signature: C * end() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_IF_DEBUG
      Src: /src/cryptofuzz/modules/bitcoin/span.h:174,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: front
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 58
    functionsReached:
    - size
    - ASSERT_IF_DEBUG
    linkageType: ''
    returnType: CONSTEXPR_IF_NOT_DEBUG
    signature: CONSTEXPR_IF_NOT_DEBUG & front() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_IF_DEBUG
      Src: /src/cryptofuzz/modules/bitcoin/span.h:179,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: back
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 593
    functionsReached:
    - size
    - ASSERT_IF_DEBUG
    linkageType: ''
    returnType: CONSTEXPR_IF_NOT_DEBUG
    signature: CONSTEXPR_IF_NOT_DEBUG & back() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: size
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 2169
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: empty
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 757
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool empty() const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_IF_DEBUG
      Src: /src/cryptofuzz/modules/bitcoin/span.h:186,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pos
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: '& operator[](std::size_t pos) const noexcept'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_IF_DEBUG
    linkageType: ''
    returnType: CONSTEXPR_IF_NOT_DEBUG
    signature: CONSTEXPR_IF_NOT_DEBUG & operator[](std::size_t pos) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_IF_DEBUG
      Src: /src/cryptofuzz/modules/bitcoin/span.h:191,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:191,1
    - Dst: Span
      Src: /src/cryptofuzz/modules/bitcoin/span.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - offset
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: subspan
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 68
    functionsReached:
    - Span
    - size
    - ASSERT_IF_DEBUG
    linkageType: ''
    returnType: CONSTEXPR_IF_NOT_DEBUG
    signature: CONSTEXPR_IF_NOT_DEBUG subspan(std::size_t offset) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_IF_DEBUG
      Src: /src/cryptofuzz/modules/bitcoin/span.h:196,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:196,1
    - Dst: Span
      Src: /src/cryptofuzz/modules/bitcoin/span.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - offset
    - count
    argTypes:
    - std::size_t
    - std::size_t
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: subspan
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 68
    functionsReached:
    - Span
    - size
    - ASSERT_IF_DEBUG
    linkageType: ''
    returnType: CONSTEXPR_IF_NOT_DEBUG
    signature: CONSTEXPR_IF_NOT_DEBUG subspan(std::size_t offset, std::size_t count)
      const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_IF_DEBUG
      Src: /src/cryptofuzz/modules/bitcoin/span.h:201,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:201,1
    - Dst: Span
      Src: /src/cryptofuzz/modules/bitcoin/span.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - count
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: first
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 80
    functionsReached:
    - Span
    - size
    - ASSERT_IF_DEBUG
    linkageType: ''
    returnType: CONSTEXPR_IF_NOT_DEBUG
    signature: CONSTEXPR_IF_NOT_DEBUG first(std::size_t count) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_IF_DEBUG
      Src: /src/cryptofuzz/modules/bitcoin/span.h:206,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:206,1
    - Dst: Span
      Src: /src/cryptofuzz/modules/bitcoin/span.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - count
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: last
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 63
    functionsReached:
    - Span
    - size
    - ASSERT_IF_DEBUG
    linkageType: ''
    returnType: CONSTEXPR_IF_NOT_DEBUG
    signature: CONSTEXPR_IF_NOT_DEBUG last(std::size_t count) const noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:210,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:210,1
    - Dst: std::equal
      Src: /src/cryptofuzz/modules/bitcoin/span.h:210,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/bitcoin/span.h:210,1
    - Dst: end
      Src: /src/cryptofuzz/modules/bitcoin/span.h:210,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/bitcoin/span.h:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Span
    - Span
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: operator==(const Span& a, const Span& b) noexcept
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - begin
    - std::equal
    - end
    - size
    linkageType: ''
    returnType: friend
    signature: friend operator==(const Span& a, const Span& b) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Span
    - Span
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: operator!=(const Span& a, const Span& b) noexcept
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: friend operator!=(const Span& a, const Span& b) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::lexicographical_compare
      Src: /src/cryptofuzz/modules/bitcoin/span.h:212,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/bitcoin/span.h:212,1
    - Dst: end
      Src: /src/cryptofuzz/modules/bitcoin/span.h:212,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/bitcoin/span.h:212,1
    - Dst: end
      Src: /src/cryptofuzz/modules/bitcoin/span.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Span
    - Span
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: operator<(const Span& a, const Span& b) noexcept
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - begin
    - std::lexicographical_compare
    - end
    linkageType: ''
    returnType: friend
    signature: friend operator<(const Span& a, const Span& b) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Span
    - Span
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: operator<=(const Span& a, const Span& b) noexcept
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: friend operator<=(const Span& a, const Span& b) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Span
    - Span
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: operator>(const Span& a, const Span& b) noexcept
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: friend operator>(const Span& a, const Span& b) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Span
    - Span
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: operator>=(const Span& a, const Span& b) noexcept
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: friend operator>=(const Span& a, const Span& b) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Span
      Src: /src/cryptofuzz/modules/bitcoin/span.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (a)
    argTypes:
    - A[]
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: MakeSpan
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - Span
    linkageType: ''
    returnType: Span<A>
    signature: Span<A> MakeSpan(A (&a)[N])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/bitcoin/span.h:224,1
    - Dst: std::forward<V>
      Src: /src/cryptofuzz/modules/bitcoin/span.h:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: std::enable_if<!std::is_lvalue_reference<V>::value, Span<const typename
      std::remove_pointer<decltype(v.data())>::type>>::type
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - std::forward<V>
    - data
    linkageType: ''
    returnType: auto
    signature: auto std::enable_if<!std::is_lvalue_reference<V>::value, Span<const
      typename std::remove_pointer<decltype(v.data())>::type>>::type
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/cryptofuzz/modules/bitcoin/span.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: Span
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 5
    functionsReached:
    - data
    linkageType: ''
    returnType: auto
    signature: auto Span<typename std::remove_pointer<decltype(v.data())>::type>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_IF_DEBUG
      Src: /src/cryptofuzz/modules/bitcoin/span.h:233,1
    - Dst: Span
      Src: /src/cryptofuzz/modules/bitcoin/span.h:235,1
    - Dst: data
      Src: /src/cryptofuzz/modules/bitcoin/span.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' span'
    argTypes:
    - Span<T>
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: SpanPopBack
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - data
    - Span
    - ASSERT_IF_DEBUG
    linkageType: ''
    returnType: T
    signature: T & SpanPopBack(Span<T>& span)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: UCharCast
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * UCharCast(char* c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 241
    functionName: UCharCast
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * UCharCast(unsigned char* c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: UCharCast
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * UCharCast(const char* c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: UCharCast
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * UCharCast(const unsigned char* c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UCharCast
      Src: /src/cryptofuzz/modules/bitcoin/span.h:246,1
    - Dst: Span<T>::data
      Src: /src/cryptofuzz/modules/bitcoin/span.h:246,1
    - Dst: UCharCast
      Src: /src/cryptofuzz/modules/bitcoin/span.h:246,1
    - Dst: Span<T>::data
      Src: /src/cryptofuzz/modules/bitcoin/span.h:246,1
    - Dst: Span<T>::size
      Src: /src/cryptofuzz/modules/bitcoin/span.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span<T>
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: UCharSpanCast
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - Span<T>::data
    - UCharCast
    - Span<T>::size
    linkageType: ''
    returnType: auto
    signature: auto UCharSpanCast(Span<T> s) -> Span<typename std::remove_pointer<decltype(UCharCast(s.data()))>::type>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UCharSpanCast
      Src: /src/cryptofuzz/modules/bitcoin/span.h:249,1
    - Dst: MakeSpan
      Src: /src/cryptofuzz/modules/bitcoin/span.h:249,1
    - Dst: std::forward<V>
      Src: /src/cryptofuzz/modules/bitcoin/span.h:249,1
    - Dst: UCharSpanCast
      Src: /src/cryptofuzz/modules/bitcoin/span.h:249,1
    - Dst: MakeSpan
      Src: /src/cryptofuzz/modules/bitcoin/span.h:249,1
    - Dst: std::forward<V>
      Src: /src/cryptofuzz/modules/bitcoin/span.h:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - V
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: MakeUCharSpan
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/span.h
    functionUses: 0
    functionsReached:
    - UCharSpanCast
    - MakeSpan
    - std::forward<V>
    linkageType: ''
    returnType: auto
    signature: auto MakeUCharSpan(V&& v) -> decltype(UCharSpanCast(MakeSpan(std::forward<V>(v))))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint<BITS>::SetHex
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 18
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 18
    functionName: base_uint<BITS>::base_uint
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached:
    - base_uint<BITS>::SetHex
    linkageType: ''
    returnType: void
    signature: void base_uint<BITS>::base_uint(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - shift
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: '& base_uint<BITS>::operator<<=(unsigned int shift)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint<BITS>
    signature: base_uint<BITS> & base_uint<BITS>::operator<<=(unsigned int shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - shift
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: '& base_uint<BITS>::operator>>=(unsigned int shift)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint<BITS>
    signature: base_uint<BITS> & base_uint<BITS>::operator>>=(unsigned int shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - b32
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: '& base_uint<BITS>::operator*=(uint32_t b32)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: base_uint<BITS>
    signature: base_uint<BITS> & base_uint<BITS>::operator*=(uint32_t b32)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint::base_uint
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 80
    functionName: '& base_uint<BITS>::operator*=(const base_uint& b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached:
    - base_uint::base_uint
    linkageType: ''
    returnType: base_uint<BITS>
    signature: base_uint<BITS> & base_uint<BITS>::operator*=(const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint_error
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint
    constantsTouched: []
    func_position:
      end: 106
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 106
    functionName: '& base_uint<BITS>::operator/=(const base_uint& b)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached:
    - uint_error
    linkageType: ''
    returnType: base_uint<BITS>
    signature: base_uint<BITS> & base_uint<BITS>::operator/=(const base_uint& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - base_uint<BITS>
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: base_uint<BITS>::CompareTo
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int base_uint<BITS>::CompareTo(const base_uint<BITS>& b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: base_uint<BITS>::EqualTo
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool base_uint<BITS>::EqualTo(uint64_t b) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: base_uint<BITS>::getdouble
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double base_uint<BITS>::getdouble() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ArithToUint256
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: base_uint<BITS>::GetHex
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached:
    - ArithToUint256
    linkageType: ''
    returnType: std::string
    signature: std::string base_uint<BITS>::GetHex() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UintToArith256
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:155,1
    - Dst: uint256S
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: base_uint<BITS>::SetHex
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 1
    functionsReached:
    - uint256S
    - UintToArith256
    linkageType: ''
    returnType: void
    signature: void base_uint<BITS>::SetHex(const char* psz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint<BITS>::SetHex
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:161,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: base_uint<BITS>::SetHex
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 2
    functionsReached:
    - base_uint<BITS>::SetHex
    - c_str
    linkageType: ''
    returnType: void
    signature: void base_uint<BITS>::SetHex(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_uint<BITS>::GetHex
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: base_uint<BITS>::ToString
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached:
    - base_uint<BITS>::GetHex
    linkageType: ''
    returnType: std::string
    signature: std::string base_uint<BITS>::ToString() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: base_uint<BITS>::bits
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int base_uint<BITS>::bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - nCompact
    - pfNegative
    - pfOverflow
    argTypes:
    - uint32_t
    - bool*
    - bool*
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: '& arith_uint256::SetCompact(uint32_t nCompact, bool* pfNegative,
      bool* pfOverflow)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: arith_uint256
    signature: arith_uint256 & arith_uint256::SetCompact(uint32_t nCompact, bool*
      pfNegative, bool* pfOverflow)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetLow64
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:228,1
    - Dst: arith_uint256::GetLow64
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:231,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:239,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - fNegative
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 244
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 244
    functionName: arith_uint256::GetCompact
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 0
    functionsReached:
    - assert
    - arith_uint256::GetLow64
    - GetLow64
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t arith_uint256::GetCompact(bool fNegative) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:248,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:250,1
    - Dst: uint256::begin
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - arith_uint256
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: ArithToUint256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 2
    functionsReached:
    - WriteLE32
    - uint256::uint256
    - uint256::begin
    linkageType: ''
    returnType: uint256
    signature: uint256 ArithToUint256(const arith_uint256 &a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: arith_uint256::arith_uint256
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:255,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:257,1
    - Dst: uint256::begin
      Src: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint256
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: UintToArith256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/arith_uint256.cpp
    functionUses: 2
    functionsReached:
    - arith_uint256::arith_uint256
    - uint256::begin
    - ReadLE32
    linkageType: ''
    returnType: arith_uint256
    signature: arith_uint256 UintToArith256(const uint256 &a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: base_blob::base_blob
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base_blob()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: base_blob::base_blob
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base_blob(uint8_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: base_blob::IsNull
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNull() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: base_blob::SetNull
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void SetNull()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - base_blob
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: base_blob::Compare
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int Compare(const base_blob& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_blob
    - base_blob
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: operator==(const base_blob& a, const base_blob& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: bool operator==(const base_blob& a, const base_blob& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_blob
    - base_blob
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: operator!=(const base_blob& a, const base_blob& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const base_blob& a, const base_blob& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - base_blob
    - base_blob
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: operator<(const base_blob& a, const base_blob& b)
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: bool operator<(const base_blob& a, const base_blob& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: base_blob::data
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * data() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: base_blob::data
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * data()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: base_blob::begin
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * begin()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: base_blob::end
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * end()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: base_blob::begin
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * begin() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: base_blob::end
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * end() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: base_blob::size
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: base_blob::GetUint64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetUint64(int pos) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: base_blob::Serialize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: void
    signature: void Serialize(Stream& s) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - Stream
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: base_blob::Unserialize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: void
    signature: void Unserialize(Stream& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: uint160::uint160
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint160()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' vch'
    argTypes:
    - std::vector<unsigned char>
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: uint160::uint160
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint160(const std::vector<unsigned char>& vch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: uint256::uint256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint256()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: uint256::uint256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint256(uint8_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' vch'
    argTypes:
    - std::vector<unsigned char>
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: uint256::uint256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint256(const std::vector<unsigned char>& vch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:139,1
    - Dst: uint256::SetHex
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: uint256S
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 1
    functionsReached:
    - uint256::SetHex
    - uint256::uint256
    linkageType: ''
    returnType: uint256
    signature: uint256 uint256S(const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uint256::uint256
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:149,1
    - Dst: uint256::SetHex
      Src: /src/cryptofuzz/modules/bitcoin/uint256.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: uint256S
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.h
    functionUses: 1
    functionsReached:
    - uint256::SetHex
    - uint256::uint256
    linkageType: ''
    returnType: uint256
    signature: uint256 uint256S(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecureZeroMemory
      Src: /src/cryptofuzz/modules/bitcoin/cleanse.cpp:18,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/cleanse.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 35
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 35
    functionName: memory_cleanse
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/cleanse.cpp
    functionUses: 0
    functionsReached:
    - SecureZeroMemory
    - memset
    linkageType: ''
    returnType: void
    signature: void memory_cleanse(void *ptr, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:15,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:15,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:16,1
    - Dst: data
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vch'
    argTypes:
    - std::vector<unsigned char>
    constantsTouched: []
    func_position:
      end: 17
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 17
    functionName: base_blob<BITS>::base_blob
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - assert
    - size
    linkageType: ''
    returnType: void
    signature: void base_blob<BITS>::base_blob(const std::vector<unsigned char>& vch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HexStr
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: base_blob<BITS>::GetHex
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.cpp
    functionUses: 0
    functionsReached:
    - HexStr
    linkageType: ''
    returnType: std::string
    signature: std::string base_blob<BITS>::GetHex() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:32,1
    - Dst: IsSpace
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:35,1
    - Dst: ToLower
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:39,1
    - Dst: HexDigit
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:44,1
    - Dst: HexDigit
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:49,1
    - Dst: HexDigit
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:51,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 55
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 55
    functionName: base_blob<BITS>::SetHex
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.cpp
    functionUses: 0
    functionsReached:
    - ToLower
    - HexDigit
    - IsSpace
    - memset
    linkageType: ''
    returnType: void
    signature: void base_blob<BITS>::SetHex(const char* psz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_blob<BITS>::SetHex
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:60,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: base_blob<BITS>::SetHex
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.cpp
    functionUses: 1
    functionsReached:
    - base_blob<BITS>::SetHex
    - c_str
    linkageType: ''
    returnType: void
    signature: void base_blob<BITS>::SetHex(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_blob<BITS>::GetHex
      Src: /src/cryptofuzz/modules/bitcoin/uint256.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: base_blob<BITS>::ToString
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/uint256.cpp
    functionUses: 0
    functionsReached:
    - base_blob<BITS>::GetHex
    linkageType: ''
    returnType: std::string
    signature: std::string base_blob<BITS>::ToString() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - what
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: tinyformat::format_error::format_error
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void format_error(const std::string &what)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - TINYFORMAT_ASSERT
    linkageType: ''
    returnType: void
    signature: void invoke(std::ostream& /*out*/, const T& /*value*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<fmtT>
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' value'
    argTypes:
    - std::ostream
    - T
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<fmtT>
    linkageType: ''
    returnType: void
    signature: void invoke(std::ostream& out, const T& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool invoke(std::ostream& /**/, const T& /**/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:258,1
    - Dst: flags
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' out'
    - ' value'
    argTypes:
    - std::ostream
    - T
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - flags
    - static_cast<int>
    linkageType: ''
    returnType: bool
    signature: bool invoke(std::ostream& out, const T& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - TINYFORMAT_ERROR
    linkageType: ''
    returnType: int
    signature: int invoke(const T& /*value*/)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: tinyformat::detail::invoke
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int invoke(const T& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:292,1
    - Dst: write
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:293,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:293,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:293,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' out'
    - ' value'
    - ntrunc
    argTypes:
    - std::ostream
    - T
    - int
    constantsTouched: []
    func_position:
      end: 294
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 294
    functionName: tinyformat::detail::formatTruncated
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::ostringstream::str
    - static_cast<int>
    - write
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void formatTruncated(std::ostream& out, const T& value, int ntrunc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DummyType
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:336,1
    - Dst: cryptofuzz::Z3::invoke
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:346,1
    - Dst: cryptofuzz::Z3::invoke
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:348,1
    - Dst: tinyformat::detail::formatTruncated
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - ' out'
    - fmtEnd
    - ntrunc
    - ' value'
    argTypes:
    - std::ostream
    - char*
    - int
    - T
    constantsTouched: []
    func_position:
      end: 359
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 359
    functionName: tinyformat::formatValue
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::detail::formatTruncated
    - DummyType
    - cryptofuzz::Z3::invoke
    linkageType: ''
    returnType: void
    signature: "void formatValue(std::ostream& out, const char* /*fmtBegin*/,\n                        const
      char* fmtEnd, int ntrunc, const T& value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: tinyformat::detail::FormatArg::FormatArg
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatArg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const void*>
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: tinyformat::detail::FormatArg::FormatArg
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<const void*>
    linkageType: ''
    returnType: void
    signature: void FormatArg(const T& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:526,1
    - Dst: TINYFORMAT_ASSERT
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:527,1
    - Dst: m_formatImpl
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' out'
    - fmtBegin
    - fmtEnd
    - ntrunc
    argTypes:
    - std::ostream
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 529
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 529
    functionName: tinyformat::detail::FormatArg::format
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - m_formatImpl
    - TINYFORMAT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void format(std::ostream& out, const char* fmtBegin,\n                    const
      char* fmtEnd, int ntrunc) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:533,1
    - Dst: TINYFORMAT_ASSERT
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:534,1
    - Dst: m_toIntImpl
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 536
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 536
    functionName: tinyformat::detail::FormatArg::toInt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - m_toIntImpl
    - TINYFORMAT_ASSERT
    linkageType: ''
    returnType: int
    signature: int toInt() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: formatValue
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:543,1
    - Dst: static_cast<const T*>
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' out'
    - fmtBegin
    - fmtEnd
    - ntrunc
    - value
    argTypes:
    - std::ostream
    - char*
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: tinyformat::detail::FormatArg::formatImpl
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<const T*>
    - formatValue
    linkageType: ''
    returnType: TINYFORMAT_HIDDEN
    signature: "TINYFORMAT_HIDDEN formatImpl(std::ostream& out, const char* fmtBegin,\n
      \                       const char* fmtEnd, int ntrunc, const void* value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::Z3::invoke
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:549,1
    - Dst: static_cast<const T*>
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: tinyformat::detail::FormatArg::toIntImpl
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - static_cast<const T*>
    - cryptofuzz::Z3::invoke
    linkageType: ''
    returnType: TINYFORMAT_HIDDEN
    signature: TINYFORMAT_HIDDEN toIntImpl(const void* value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 567
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 567
    functionName: tinyformat::detail::parseIntAndAdvance
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int parseIntAndAdvance(const char*& c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::detail::parseIntAndAdvance
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:579,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:587,1
    - Dst: toInt
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:589,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:591,1
    - Dst: toInt
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:596,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:598,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - ' n'
    - ' c'
    - positionalMode
    - args
    - ' argIndex'
    - numArgs
    argTypes:
    - int
    - char*
    - bool
    - detail::FormatArg*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 605
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 605
    functionName: tinyformat::detail::parseWidthOrPrecision
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - TINYFORMAT_ERROR
    - tinyformat::detail::parseIntAndAdvance
    - toInt
    linkageType: ''
    returnType: bool
    signature: "bool parseWidthOrPrecision(int& n, const char*& c, bool positionalMode,\n
      \                                 const detail::FormatArg* args,\n                                  int&
      argIndex, int numArgs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:617,1
    - Dst: write
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' out'
    - fmt
    argTypes:
    - std::ostream
    - char*
    constantsTouched: []
    func_position:
      end: 628
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 628
    functionName: tinyformat::detail::printFormatStringLiteral
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: char
    signature: char * printFormatStringLiteral(std::ostream& out, const char* fmt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TINYFORMAT_ASSERT
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:670,1
    - Dst: width
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:672,1
    - Dst: precision
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:673,1
    - Dst: fill
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:674,1
    - Dst: unsetf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:676,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:694,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:699,1
    - Dst: fill
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:705,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:706,1
    - Dst: width
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:711,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:716,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:724,1
    - Dst: flags
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:728,1
    - Dst: fill
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:731,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:732,1
    - Dst: fill
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:736,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:737,1
    - Dst: flags
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:741,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:745,1
    - Dst: tinyformat::detail::parseWidthOrPrecision
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:756,1
    - Dst: fill
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:761,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:762,1
    - Dst: width
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:765,1
    - Dst: tinyformat::detail::parseWidthOrPrecision
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:772,1
    - Dst: precision
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:778,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:791,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:795,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:799,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:802,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:806,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:809,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:810,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:813,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:816,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:819,1
    - Dst: precision
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:826,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:828,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:831,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:834,1
    - Dst: flags
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:836,1
    - Dst: flags
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:836,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:843,1
    - Dst: precision
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:843,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:845,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:849,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:852,1
    - Dst: width
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:863,1
    - Dst: precision
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:863,1
    - Dst: setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:864,1
    - Dst: fill
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:865,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 143
    argCount: 8
    argNames:
    - ' out'
    - ' positionalMode'
    - ' spacePadPositive'
    - ' ntrunc'
    - fmtStart
    - args
    - ' argIndex'
    - numArgs
    argTypes:
    - std::ostream
    - bool
    - bool
    - int
    - char*
    - detail::FormatArg*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 868
      start: 664
    functionDepth: 3
    functionLinenumber: 664
    functionLinenumberEnd: 868
    functionName: tinyformat::detail::streamStateFromFormat
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - TINYFORMAT_ERROR
    - setf
    - width
    - static_cast<int>
    - tinyformat::detail::parseWidthOrPrecision
    - unsetf
    - fill
    - precision
    - flags
    - TINYFORMAT_ASSERT
    linkageType: ''
    returnType: char
    signature: "char * streamStateFromFormat(std::ostream& out, bool& positionalMode,\n
      \                                        bool& spacePadPositive,\n                                         int&
      ntrunc, const char* fmtStart,\n                                         const
      detail::FormatArg* args,\n                                         int& argIndex,
      int numArgs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: width
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:877,1
    - Dst: precision
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:878,1
    - Dst: flags
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:879,1
    - Dst: tinyformat::detail::printFormatStringLiteral
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:887,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:890,1
    - Dst: TINYFORMAT_ERROR
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:901,1
    - Dst: format
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:907,1
    - Dst: std::ostringstream::copyfmt
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:915,1
    - Dst: std::ostringstream::setf
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:916,1
    - Dst: format
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:917,1
    - Dst: std::ostringstream::str
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:918,1
    - Dst: width
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:931,1
    - Dst: precision
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:932,1
    - Dst: flags
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:933,1
    - Dst: fill
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:934,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - ' out'
    - fmt
    - args
    - numArgs
    argTypes:
    - std::ostream
    - char*
    - detail::FormatArg*
    - int
    constantsTouched: []
    func_position:
      end: 935
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 935
    functionName: tinyformat::detail::formatImpl
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - TINYFORMAT_ERROR
    - format
    - width
    - std::ostringstream::copyfmt
    - std::ostringstream::setf
    - std::ostringstream::str
    - precision
    - fill
    - flags
    - tinyformat::detail::printFormatStringLiteral
    linkageType: ''
    returnType: void
    signature: "void formatImpl(std::ostream& out, const char* fmt,\n                       const
      detail::FormatArg* args,\n                       int numArgs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - args
    - N
    argTypes:
    - detail::FormatArg*
    - int
    constantsTouched: []
    func_position:
      end: 950
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 950
    functionName: tinyformat::FormatList::FormatList
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatList(detail::FormatArg* args, int N)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FormatArg
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 976
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 976
    functionName: tinyformat::detail::FormatListN::FormatListN
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - FormatArg
    linkageType: ''
    returnType: void
    signature: void FormatListN(const Args&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 978
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 978
    functionName: tinyformat::detail::FormatListN::init
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init(int)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FormatListN
    constantsTouched: []
    func_position:
      end: 999
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 999
    functionName: tinyformat::detail::FormatListN::FormatListN
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - copy
    linkageType: ''
    returnType: void
    signature: void FormatListN(const FormatListN& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1008
    functionName: tinyformat::detail::FormatListN<0>::FormatListN
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatListN()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::FormatListN<sizeof...(args)>
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1029
    functionName: tinyformat::makeFormatList
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - detail::FormatListN<sizeof...(args)>
    linkageType: ''
    returnType: detail::FormatListN<sizeof...(Args)>
    signature: detail::FormatListN<sizeof...(Args)> makeFormatList(const Args&...
      args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detail::FormatListN<0>
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1036
    functionName: tinyformat::makeFormatList
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - detail::FormatListN<0>
    linkageType: ''
    returnType: detail::FormatListN<0>
    signature: detail::FormatListN<0> makeFormatList()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::detail::formatImpl
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' out'
    - fmt
    - list
    argTypes:
    - std::ostream
    - char*
    - FormatListRef
    constantsTouched: []
    func_position:
      end: 1055
      start: 1052
    functionDepth: 2
    functionLinenumber: 1052
    functionLinenumberEnd: 1055
    functionName: tinyformat::vformat
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::detail::formatImpl
    linkageType: ''
    returnType: void
    signature: void vformat(std::ostream& out, const char* fmt, FormatListRef list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::vformat
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1064,1
    - Dst: tinyformat::makeFormatList
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - fmt
    argTypes:
    - std::ostream
    - char*
    constantsTouched: []
    func_position:
      end: 1065
      start: 1062
    functionDepth: 3
    functionLinenumber: 1062
    functionLinenumberEnd: 1065
    functionName: tinyformat::format
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::makeFormatList
    - tinyformat::vformat
    linkageType: ''
    returnType: void
    signature: void format(std::ostream& out, const char* fmt, const Args&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1073,1
    - Dst: std::ostringstream::str
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1075
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1075
    functionName: tinyformat::format
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 1
    functionsReached:
    - tinyformat::format
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string format(const char* fmt, const Args&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1082
      start: 1079
    functionDepth: 4
    functionLinenumber: 1079
    functionLinenumberEnd: 1082
    functionName: tinyformat::printf
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::format
    linkageType: ''
    returnType: void
    signature: void printf(const char* fmt, const Args&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1089
      start: 1085
    functionDepth: 4
    functionLinenumber: 1085
    functionLinenumberEnd: 1089
    functionName: tinyformat::printfln
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::format
    linkageType: ''
    returnType: void
    signature: void printfln(const char* fmt, const Args&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::vformat
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1096,1
    - Dst: tinyformat::makeFormatList
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - fmt
    argTypes:
    - std::ostream
    - char*
    constantsTouched: []
    func_position:
      end: 1097
      start: 1094
    functionDepth: 3
    functionLinenumber: 1094
    functionLinenumberEnd: 1097
    functionName: tinyformat::format
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 3
    functionsReached:
    - tinyformat::makeFormatList
    - tinyformat::vformat
    linkageType: ''
    returnType: void
    signature: void format(std::ostream& out, const char* fmt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1102,1
    - Dst: std::ostringstream::str
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1104
      start: 1099
    functionDepth: 1
    functionLinenumber: 1099
    functionLinenumberEnd: 1104
    functionName: tinyformat::format
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 4
    functionsReached:
    - tinyformat::format
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string format(const char* fmt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1109
      start: 1106
    functionDepth: 4
    functionLinenumber: 1106
    functionLinenumberEnd: 1109
    functionName: tinyformat::printf
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::format
    linkageType: ''
    returnType: void
    signature: void printf(const char* fmt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1115
      start: 1111
    functionDepth: 4
    functionLinenumber: 1111
    functionLinenumberEnd: 1115
    functionName: tinyformat::printfln
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 0
    functionsReached:
    - tinyformat::format
    linkageType: ''
    returnType: void
    signature: void printfln(const char* fmt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tinyformat::format
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1156,1
    - Dst: std::string::c_str
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1156,1
    - Dst: std::ostringstream::str
      Src: /src/cryptofuzz/modules/bitcoin/tinyformat.h:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 1158
      start: 1153
    functionDepth: 1
    functionLinenumber: 1153
    functionLinenumberEnd: 1158
    functionName: tinyformat::format
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/tinyformat.h
    functionUses: 7
    functionsReached:
    - std::string::c_str
    - tinyformat::format
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string format(const std::string &fmt, const Args&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set1_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: sha256d64_avx2::K
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_set1_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i K(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_add_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:18,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y, __m256i z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:19,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:19,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - z
    - w
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 2
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y, __m256i z, __m256i w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:20,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:20,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - y
    - z
    - w
    - v
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: sha256d64_avx2::Add
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 3
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Add(__m256i x, __m256i y, __m256i z, __m256i w, __m256i v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: sha256d64_avx2::Inc
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Inc(__m256i& x, __m256i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: sha256d64_avx2::Inc
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Inc(__m256i& x, __m256i y, __m256i z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' x'
    - y
    - z
    - w
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: sha256d64_avx2::Inc
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: __m256i
    signature: __m256i Inc(__m256i& x, __m256i y, __m256i z, __m256i w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: sha256d64_avx2::Xor
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_xor_si256
    linkageType: ''
    returnType: __m256i
    signature: __m256i Xor(__m256i x, __m256i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:25,1
    - Dst: sha256d64_avx2::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: sha256d64_avx2::Xor
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_avx2::Xor
    linkageType: ''
    returnType: __m256i
    signature: __m256i Xor(__m256i x, __m256i y, __m256i z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_or_si256
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sha256d64_avx2::Or
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_or_si256
    linkageType: ''
    returnType: __m256i
    signature: __m256i Or(__m256i x, __m256i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_and_si256
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: sha256d64_avx2::And
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_and_si256
    linkageType: ''
    returnType: __m256i
    signature: __m256i And(__m256i x, __m256i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_srli_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m256i
    - int
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: sha256d64_avx2::ShR
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_srli_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i ShR(__m256i x, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_slli_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m256i
    - int
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: sha256d64_avx2::ShL
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_slli_epi32
    linkageType: ''
    returnType: __m256i
    signature: __m256i ShL(__m256i x, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:31,1
    - Dst: sha256d64_avx2::And
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:31,1
    - Dst: sha256d64_avx2::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: sha256d64_avx2::Ch
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Xor
    - sha256d64_avx2::And
    linkageType: ''
    returnType: __m256i
    signature: __m256i Ch(__m256i x, __m256i y, __m256i z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:32,1
    - Dst: sha256d64_avx2::And
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:32,1
    - Dst: sha256d64_avx2::And
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:32,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: sha256d64_avx2::Maj
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Or
    - sha256d64_avx2::And
    linkageType: ''
    returnType: __m256i
    signature: __m256i Maj(__m256i x, __m256i y, __m256i z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:33,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: sha256d64_avx2::Sigma0
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Or
    - sha256d64_avx2::Xor
    - sha256d64_avx2::ShR
    linkageType: ''
    returnType: __m256i
    signature: __m256i Sigma0(__m256i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:34,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: sha256d64_avx2::Sigma1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Or
    - sha256d64_avx2::Xor
    - sha256d64_avx2::ShR
    linkageType: ''
    returnType: __m256i
    signature: __m256i Sigma1(__m256i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:35,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: sha256d64_avx2::sigma0
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Or
    - sha256d64_avx2::Xor
    - sha256d64_avx2::ShR
    linkageType: ''
    returnType: __m256i
    signature: __m256i sigma0(__m256i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:36,1
    - Dst: sha256d64_avx2::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m256i
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: sha256d64_avx2::sigma1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::ShL
    - sha256d64_avx2::Or
    - sha256d64_avx2::Xor
    - sha256d64_avx2::ShR
    linkageType: ''
    returnType: __m256i
    signature: __m256i sigma1(__m256i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:41,1
    - Dst: sha256d64_avx2::Sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:41,1
    - Dst: sha256d64_avx2::Ch
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:41,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:42,1
    - Dst: sha256d64_avx2::Sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:42,1
    - Dst: sha256d64_avx2::Maj
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:42,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:43,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    argTypes:
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    - __m256i
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: sha256d64_avx2::Round
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::Ch
    - sha256d64_avx2::Sigma1
    - sha256d64_avx2::Maj
    - sha256d64_avx2::Sigma0
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: void
    signature: void Round(__m256i a, __m256i b, __m256i c, __m256i& d, __m256i e,
      __m256i f, __m256i g, __m256i& h, __m256i k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:48,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:49,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:50,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:51,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:52,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:53,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:54,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:55,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:56,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:58,1
    - Dst: _mm256_set_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chunk
    - offset
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: sha256d64_avx2::Read8
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_shuffle_epi8
    - _mm256_set_epi32
    - ReadLE32
    linkageType: ''
    returnType: __m256i
    signature: __m256i Read8(const unsigned char* chunk, int offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_shuffle_epi8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:62,1
    - Dst: _mm256_set_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:62,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:63,1
    - Dst: _mm256_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:63,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:64,1
    - Dst: _mm256_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:64,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:65,1
    - Dst: _mm256_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:65,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:66,1
    - Dst: _mm256_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:66,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:67,1
    - Dst: _mm256_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:67,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:68,1
    - Dst: _mm256_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:68,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:69,1
    - Dst: _mm256_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:69,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:70,1
    - Dst: _mm256_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - out
    - offset
    - v
    argTypes:
    - unsigned char*
    - int
    - __m256i
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: sha256d64_avx2::Write8
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - _mm256_shuffle_epi8
    - WriteLE32
    - _mm256_set_epi32
    - _mm256_extract_epi32
    linkageType: ''
    returnType: void
    signature: void Write8(unsigned char* out, int offset, __m256i v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:78,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:79,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:80,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:81,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:82,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:83,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:84,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:85,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:89,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:89,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:89,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:89,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:90,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:90,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:90,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:90,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:91,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:91,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:91,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:91,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:92,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:92,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:92,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:92,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:93,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:93,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:93,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:93,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:94,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:94,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:94,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:94,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:95,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:95,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:95,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:95,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:96,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:96,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:96,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:96,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:97,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:97,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:97,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:97,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:98,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:98,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:98,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:98,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:99,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:99,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:99,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:99,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:100,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:100,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:100,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:100,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:101,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:101,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:101,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:101,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:102,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:102,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:102,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:102,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:103,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:103,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:103,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:103,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:104,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:104,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:104,1
    - Dst: sha256d64_avx2::Read8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:104,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:105,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:105,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:105,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:105,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:105,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:105,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:106,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:107,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:108,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:109,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:110,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:111,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:112,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:113,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:114,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:115,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:116,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:117,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:118,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:119,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:120,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:121,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:122,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:123,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:124,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:125,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:126,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:127,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:128,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:129,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:130,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:131,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:132,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:133,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:134,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:135,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:136,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:137,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:138,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:139,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:140,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:141,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:142,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:143,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:144,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:145,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:146,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:147,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:148,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:149,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:150,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:151,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:152,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:154,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:154,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:155,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:155,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:156,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:156,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:157,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:157,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:158,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:158,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:159,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:159,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:160,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:160,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:161,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:161,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:166,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:166,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:167,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:167,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:168,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:168,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:169,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:169,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:170,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:170,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:171,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:171,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:172,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:172,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:173,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:173,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:174,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:174,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:175,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:175,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:176,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:176,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:177,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:177,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:178,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:178,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:179,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:179,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:180,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:180,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:181,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:181,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:182,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:182,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:183,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:183,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:184,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:184,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:185,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:185,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:186,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:186,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:187,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:187,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:188,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:188,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:189,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:189,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:190,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:190,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:191,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:191,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:192,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:192,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:193,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:193,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:194,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:194,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:195,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:195,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:196,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:196,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:197,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:197,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:198,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:198,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:199,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:199,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:200,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:200,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:201,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:201,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:202,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:202,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:203,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:203,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:204,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:204,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:205,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:205,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:206,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:206,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:207,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:207,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:208,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:208,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:209,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:209,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:210,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:210,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:211,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:211,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:212,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:212,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:213,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:213,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:214,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:214,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:215,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:215,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:216,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:216,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:217,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:217,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:218,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:218,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:219,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:219,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:220,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:220,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:221,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:221,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:222,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:222,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:223,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:223,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:224,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:224,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:225,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:225,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:226,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:226,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:227,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:227,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:228,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:228,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:229,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:229,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:231,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:232,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:233,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:234,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:235,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:236,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:237,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:238,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:241,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:242,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:243,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:244,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:245,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:246,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:247,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:248,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:250,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:250,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:250,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:251,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:251,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:251,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:252,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:252,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:252,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:253,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:253,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:253,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:254,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:254,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:254,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:255,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:255,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:255,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:256,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:256,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:256,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:257,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:257,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:257,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:258,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:258,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:259,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:259,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:260,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:260,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:261,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:261,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:262,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:262,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:263,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:263,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:264,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:264,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:265,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:265,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:266,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:266,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:266,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:266,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:266,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:267,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:267,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:267,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:267,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:267,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:267,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:268,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:269,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:270,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:271,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:272,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:273,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:274,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:275,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:275,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:275,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:275,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:275,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:276,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:276,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:276,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:276,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:276,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:277,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:277,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:277,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:277,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:277,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:278,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:278,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:278,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:278,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:278,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:279,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:279,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:279,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:279,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:279,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:280,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:280,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:280,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:280,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:280,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:280,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:281,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:282,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:283,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:284,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:285,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:286,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:287,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:288,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:289,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:290,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:291,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:292,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:293,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:294,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:295,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:296,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:297,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:298,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:299,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:300,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:301,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:302,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:303,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:304,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:305,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:306,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:307,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:308,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:309,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:310,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:311,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:312,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:312,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:312,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:312,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:312,1
    - Dst: sha256d64_avx2::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:313,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:313,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:313,1
    - Dst: sha256d64_avx2::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:313,1
    - Dst: sha256d64_avx2::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:313,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:316,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:316,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:316,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:317,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:317,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:317,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:318,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:318,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:318,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:319,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:319,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:319,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:320,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:320,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:320,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:321,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:321,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:321,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:322,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:322,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:322,1
    - Dst: sha256d64_avx2::Write8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:323,1
    - Dst: sha256d64_avx2::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:323,1
    - Dst: sha256d64_avx2::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 225
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 324
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 324
    functionName: sha256d64_avx2::Transform_8way
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_avx2.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_avx2::sigma0
    - sha256d64_avx2::Inc
    - sha256d64_avx2::K
    - sha256d64_avx2::sigma1
    - sha256d64_avx2::Round
    - sha256d64_avx2::Read8
    - sha256d64_avx2::Write8
    - sha256d64_avx2::Add
    linkageType: ''
    returnType: void
    signature: void Transform_8way(unsigned char* out, const unsigned char* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: CSHA512::Size
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' c0'
    - ' c1'
    - ' c2'
    - ' n'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: extract3
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void extract3(limb_t& c0, limb_t& c1, limb_t& c2, limb_t& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' c0'
    - ' c1'
    - ' a'
    - ' b'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: mul
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 513
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mul(limb_t& c0, limb_t& c1, const limb_t& a, const limb_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - ' c0'
    - ' c1'
    - ' c2'
    - ' d0'
    - ' d1'
    - ' d2'
    - ' n'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: mulnadd3
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mulnadd3(limb_t& c0, limb_t& c1, limb_t& c2, limb_t& d0, limb_t&
      d1, limb_t& d2, const limb_t& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' c0'
    - ' c1'
    - ' n'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: muln2
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void muln2(limb_t& c0, limb_t& c1, const limb_t& n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' c0'
    - ' c1'
    - ' c2'
    - ' a'
    - ' b'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: muladd3
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void muladd3(limb_t& c0, limb_t& c1, limb_t& c2, const limb_t& a, const
      limb_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ' c0'
    - ' c1'
    - ' c2'
    - ' a'
    - ' b'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: muldbladd3
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void muldbladd3(limb_t& c0, limb_t& c1, limb_t& c2, const limb_t& a,
      const limb_t& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' c0'
    - ' c1'
    - ' a'
    - ' n'
    argTypes:
    - limb_t
    - limb_t
    - limb_t
    - limb_t
    constantsTouched: []
    func_position:
      end: 114
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 114
    functionName: addnextract2
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void addnextract2(limb_t& c0, limb_t& c1, const limb_t& a, limb_t&
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Square
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:119,1
    - Dst: Multiply
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' in_out'
    - sq
    - ' mul'
    argTypes:
    - Num3072
    - int
    - Num3072
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: square_n_mul
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Multiply
    - Square
    linkageType: ''
    returnType: void
    signature: void square_n_mul(Num3072& in_out, const int sq, const Num3072& mul)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:128,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: Num3072::IsOverflow
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    linkageType: ''
    returnType: bool
    signature: bool Num3072::IsOverflow() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addnextract2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: Num3072::FullReduce
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - addnextract2
    linkageType: ''
    returnType: void
    signature: void Num3072::FullReduce()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Num3072::Num3072
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:151,1
    - Dst: Num3072::Square
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:157,1
    - Dst: Num3072::Multiply
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:158,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:163,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:164,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:165,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:166,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:167,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:168,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:169,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:170,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:171,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:172,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:173,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:174,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:175,1
    - Dst: square_n_mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 179
    functionName: Num3072::GetInverse
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Num3072::Multiply
    - Num3072::Num3072
    - square_n_mul
    - Num3072::Square
    linkageType: ''
    returnType: Num3072
    signature: Num3072 Num3072::GetInverse() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Num3072::Num3072
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:184,1
    - Dst: mul
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:189,1
    - Dst: muladd3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:190,1
    - Dst: mulnadd3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:191,1
    - Dst: muladd3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:192,1
    - Dst: extract3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:193,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:197,1
    - Dst: muladd3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:198,1
    - Dst: extract3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:199,1
    - Dst: muln2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:202,1
    - Dst: addnextract2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:204,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:207,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:208,1
    - Dst: Num3072::IsOverflow
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:214,1
    - Dst: Num3072::FullReduce
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:214,1
    - Dst: Num3072::FullReduce
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:215,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Num3072
    constantsTouched: []
    func_position:
      end: 216
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 216
    functionName: Num3072::Multiply
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 1
    functionsReached:
    - addnextract2
    - Num3072::Num3072
    - assert
    - Num3072::IsOverflow
    - Num3072::FullReduce
    - muladd3
    - muln2
    - mulnadd3
    - extract3
    - mul
    linkageType: ''
    returnType: void
    signature: void Num3072::Multiply(const Num3072& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Num3072::Num3072
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:221,1
    - Dst: muldbladd3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:226,1
    - Dst: muladd3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:227,1
    - Dst: mulnadd3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:228,1
    - Dst: muldbladd3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:229,1
    - Dst: muladd3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:230,1
    - Dst: extract3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:231,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:234,1
    - Dst: muldbladd3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:235,1
    - Dst: extract3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:236,1
    - Dst: muln2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:239,1
    - Dst: addnextract2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:241,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:244,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:245,1
    - Dst: Num3072::IsOverflow
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:251,1
    - Dst: Num3072::FullReduce
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:251,1
    - Dst: Num3072::FullReduce
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 253
    functionName: Num3072::Square
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 1
    functionsReached:
    - muldbladd3
    - addnextract2
    - Num3072::Num3072
    - assert
    - Num3072::IsOverflow
    - Num3072::FullReduce
    - muladd3
    - muln2
    - mulnadd3
    - extract3
    linkageType: ''
    returnType: void
    signature: void Num3072::Square()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: Num3072::SetToOne
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Num3072::SetToOne()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Num3072::IsOverflow
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:263,1
    - Dst: Num3072::FullReduce
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:263,1
    - Dst: Num3072::IsOverflow
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:266,1
    - Dst: Num3072::FullReduce
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:268,1
    - Dst: Num3072::GetInverse
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:269,1
    - Dst: Num3072::GetInverse
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:271,1
    - Dst: Num3072::Multiply
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:274,1
    - Dst: Num3072::IsOverflow
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:275,1
    - Dst: Num3072::FullReduce
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Num3072
    constantsTouched: []
    func_position:
      end: 276
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 276
    functionName: Num3072::Divide
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Num3072::FullReduce
    - Num3072::Multiply
    - Num3072::IsOverflow
    - Num3072::GetInverse
    linkageType: ''
    returnType: void
    signature: void Num3072::Divide(const Num3072& a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:281,1
    - Dst: ReadLE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - (data)
    argTypes:
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: Num3072::Num3072
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 3
    functionsReached:
    - ReadLE64
    - ReadLE32
    linkageType: ''
    returnType: void
    signature: void Num3072::Num3072(const unsigned char (&data)[BYTE_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:291,1
    - Dst: WriteLE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - (out)
    argTypes:
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: Num3072::ToBytes
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - WriteLE64
    - WriteLE32
    linkageType: ''
    returnType: void
    signature: void Num3072::ToBytes(unsigned char (&out)[BYTE_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHashWriter
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:301,1
    - Dst: GetSHA256
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:301,1
    - Dst: ChaCha20
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:302,1
    - Dst: uint256::data
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:302,1
    - Dst: uint256::size
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - Span<const unsigned char>
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: MuHash3072::ToNum3072
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - uint256::size
    - ChaCha20
    - GetSHA256
    - CHashWriter
    - uint256::data
    linkageType: ''
    returnType: Num3072
    signature: Num3072 MuHash3072::ToNum3072(Span<const unsigned char> in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MuHash3072::ToNum3072
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - Span<const unsigned char>
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: MuHash3072::MuHash3072
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - MuHash3072::ToNum3072
    linkageType: ''
    returnType: void
    signature: void MuHash3072::MuHash3072(Span<const unsigned char> in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Divide
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:315,1
    - Dst: SetToOne
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:316,1
    - Dst: ToBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:319,1
    - Dst: CHashWriter
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:321,1
    - Dst: GetSHA256
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - uint256
    constantsTouched: []
    func_position:
      end: 322
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 322
    functionName: MuHash3072::Finalize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - CHashWriter
    - GetSHA256
    - SetToOne
    - Divide
    - ToBytes
    linkageType: ''
    returnType: void
    signature: void MuHash3072::Finalize(uint256& out) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Multiply
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:326,1
    - Dst: Multiply
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' mul'
    argTypes:
    - MuHash3072
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: '& MuHash3072::operator*=(const MuHash3072& mul) noexcept'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Multiply
    linkageType: ''
    returnType: MuHash3072
    signature: MuHash3072 & MuHash3072::operator*=(const MuHash3072& mul) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Multiply
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:333,1
    - Dst: Multiply
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' div'
    argTypes:
    - MuHash3072
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: '& MuHash3072::operator/=(const MuHash3072& div) noexcept'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Multiply
    linkageType: ''
    returnType: MuHash3072
    signature: MuHash3072 & MuHash3072::operator/=(const MuHash3072& div) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Multiply
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:339,1
    - Dst: ToNum3072
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - Span<const unsigned char>
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: '& MuHash3072::Insert(Span<const unsigned char> in) noexcept'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Multiply
    - ToNum3072
    linkageType: ''
    returnType: MuHash3072
    signature: MuHash3072 & MuHash3072::Insert(Span<const unsigned char> in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Divide
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:344,1
    - Dst: ToNum3072
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - Span<const unsigned char>
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: '& MuHash3072::Remove(Span<const unsigned char> in) noexcept'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.cpp
    functionUses: 0
    functionsReached:
    - Divide
    - ToNum3072
    linkageType: ''
    returnType: MuHash3072
    signature: MuHash3072 & MuHash3072::Remove(Span<const unsigned char> in) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: '& Write(const unsigned char* data, size_t len)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.h
    functionUses: 0
    functionsReached:
    - Write
    linkageType: ''
    returnType: CHMAC_SHA256
    signature: CHMAC_SHA256 & Write(const unsigned char* data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set1_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: sha256d64_sse41::K
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_set1_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i K(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_add_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:18,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y, __m128i z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:19,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:19,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - z
    - w
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 2
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y, __m128i z, __m128i w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:20,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:20,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - y
    - z
    - w
    - v
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: sha256d64_sse41::Add
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 3
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Add(__m128i x, __m128i y, __m128i z, __m128i w, __m128i v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: sha256d64_sse41::Inc
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Inc(__m128i& x, __m128i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' x'
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: sha256d64_sse41::Inc
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Inc(__m128i& x, __m128i y, __m128i z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' x'
    - y
    - z
    - w
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: sha256d64_sse41::Inc
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Add
    linkageType: ''
    returnType: __m128i
    signature: __m128i Inc(__m128i& x, __m128i y, __m128i z, __m128i w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_xor_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: sha256d64_sse41::Xor
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_xor_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i Xor(__m128i x, __m128i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:25,1
    - Dst: sha256d64_sse41::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: sha256d64_sse41::Xor
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 1
    functionsReached:
    - sha256d64_sse41::Xor
    linkageType: ''
    returnType: __m128i
    signature: __m128i Xor(__m128i x, __m128i y, __m128i z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_or_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sha256d64_sse41::Or
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_or_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i Or(__m128i x, __m128i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_and_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: sha256d64_sse41::And
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_and_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i And(__m128i x, __m128i y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_srli_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m128i
    - int
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: sha256d64_sse41::ShR
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_srli_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i ShR(__m128i x, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_slli_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - __m128i
    - int
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: sha256d64_sse41::ShL
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_slli_epi32
    linkageType: ''
    returnType: __m128i
    signature: __m128i ShL(__m128i x, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:31,1
    - Dst: sha256d64_sse41::And
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:31,1
    - Dst: sha256d64_sse41::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: sha256d64_sse41::Ch
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Xor
    - sha256d64_sse41::And
    linkageType: ''
    returnType: __m128i
    signature: __m128i Ch(__m128i x, __m128i y, __m128i z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:32,1
    - Dst: sha256d64_sse41::And
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:32,1
    - Dst: sha256d64_sse41::And
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:32,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: sha256d64_sse41::Maj
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Or
    - sha256d64_sse41::And
    linkageType: ''
    returnType: __m128i
    signature: __m128i Maj(__m128i x, __m128i y, __m128i z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:33,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: sha256d64_sse41::Sigma0
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Xor
    - sha256d64_sse41::ShL
    - sha256d64_sse41::Or
    - sha256d64_sse41::ShR
    linkageType: ''
    returnType: __m128i
    signature: __m128i Sigma0(__m128i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:34,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: sha256d64_sse41::Sigma1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Xor
    - sha256d64_sse41::ShL
    - sha256d64_sse41::Or
    - sha256d64_sse41::ShR
    linkageType: ''
    returnType: __m128i
    signature: __m128i Sigma1(__m128i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:35,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: sha256d64_sse41::sigma0
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Xor
    - sha256d64_sse41::ShL
    - sha256d64_sse41::Or
    - sha256d64_sse41::ShR
    linkageType: ''
    returnType: __m128i
    signature: __m128i sigma0(__m128i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Xor
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::Or
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShL
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:36,1
    - Dst: sha256d64_sse41::ShR
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: sha256d64_sse41::sigma1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Xor
    - sha256d64_sse41::ShL
    - sha256d64_sse41::Or
    - sha256d64_sse41::ShR
    linkageType: ''
    returnType: __m128i
    signature: __m128i sigma1(__m128i x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:41,1
    - Dst: sha256d64_sse41::Sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:41,1
    - Dst: sha256d64_sse41::Ch
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:41,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:42,1
    - Dst: sha256d64_sse41::Sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:42,1
    - Dst: sha256d64_sse41::Maj
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:42,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:43,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: sha256d64_sse41::Round
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::Sigma0
    - sha256d64_sse41::Maj
    - sha256d64_sse41::Ch
    - sha256d64_sse41::Add
    - sha256d64_sse41::Sigma1
    linkageType: ''
    returnType: void
    signature: void Round(__m128i a, __m128i b, __m128i c, __m128i& d, __m128i e,
      __m128i f, __m128i g, __m128i& h, __m128i k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:48,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:49,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:50,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:51,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:52,1
    - Dst: _mm_shuffle_epi8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:54,1
    - Dst: _mm_set_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chunk
    - offset
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: sha256d64_sse41::Read4
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_set_epi32
    - _mm_shuffle_epi8
    - ReadLE32
    linkageType: ''
    returnType: __m128i
    signature: __m128i Read4(const unsigned char* chunk, int offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:58,1
    - Dst: _mm_set_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:58,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:59,1
    - Dst: _mm_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:59,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:60,1
    - Dst: _mm_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:60,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:61,1
    - Dst: _mm_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:61,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:62,1
    - Dst: _mm_extract_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - out
    - offset
    - v
    argTypes:
    - unsigned char*
    - int
    - __m128i
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: sha256d64_sse41::Write4
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - _mm_shuffle_epi8
    - WriteLE32
    - _mm_extract_epi32
    - _mm_set_epi32
    linkageType: ''
    returnType: void
    signature: void Write4(unsigned char* out, int offset, __m128i v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:70,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:71,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:72,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:73,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:74,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:75,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:76,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:77,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:81,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:81,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:81,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:81,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:82,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:82,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:82,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:82,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:83,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:83,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:83,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:83,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:84,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:84,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:84,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:84,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:85,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:85,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:85,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:85,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:86,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:86,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:86,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:86,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:87,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:87,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:87,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:87,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:88,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:88,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:88,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:88,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:89,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:89,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:89,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:89,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:90,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:90,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:90,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:90,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:91,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:91,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:91,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:91,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:92,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:92,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:92,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:92,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:93,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:93,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:93,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:93,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:94,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:94,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:94,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:94,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:95,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:95,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:95,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:95,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:96,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:96,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:96,1
    - Dst: sha256d64_sse41::Read4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:96,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:97,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:97,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:97,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:97,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:97,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:97,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:98,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:99,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:100,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:101,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:102,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:103,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:104,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:105,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:106,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:107,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:108,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:109,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:110,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:111,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:112,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:113,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:114,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:115,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:116,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:117,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:118,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:119,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:120,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:121,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:122,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:123,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:124,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:125,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:126,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:127,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:128,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:129,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:130,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:131,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:132,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:133,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:134,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:135,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:136,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:137,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:138,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:139,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:140,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:141,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:142,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:143,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:144,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:146,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:146,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:147,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:147,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:148,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:148,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:149,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:149,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:150,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:150,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:151,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:151,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:152,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:152,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:153,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:153,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:158,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:158,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:159,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:159,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:160,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:160,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:161,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:161,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:162,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:162,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:163,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:163,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:164,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:164,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:165,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:165,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:166,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:166,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:167,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:167,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:168,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:168,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:169,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:169,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:170,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:170,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:171,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:171,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:172,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:172,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:173,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:173,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:174,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:174,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:175,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:175,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:176,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:176,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:177,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:177,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:178,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:178,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:179,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:179,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:180,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:180,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:181,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:181,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:182,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:182,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:183,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:183,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:184,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:184,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:185,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:185,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:186,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:186,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:187,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:187,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:188,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:188,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:189,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:189,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:190,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:190,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:191,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:191,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:192,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:192,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:193,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:193,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:194,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:194,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:195,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:195,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:196,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:196,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:197,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:197,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:198,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:198,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:199,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:199,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:200,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:200,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:201,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:201,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:202,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:202,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:203,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:203,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:204,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:204,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:205,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:205,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:206,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:206,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:207,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:207,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:208,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:208,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:209,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:209,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:210,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:210,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:211,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:211,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:212,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:212,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:213,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:213,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:214,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:214,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:215,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:215,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:216,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:216,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:217,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:217,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:218,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:218,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:219,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:219,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:220,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:220,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:221,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:221,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:223,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:224,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:225,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:226,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:227,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:228,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:229,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:230,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:233,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:234,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:235,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:236,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:237,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:238,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:239,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:240,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:242,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:242,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:242,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:243,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:243,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:243,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:244,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:244,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:244,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:245,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:245,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:245,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:246,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:246,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:246,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:247,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:247,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:247,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:248,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:248,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:248,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:249,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:249,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:249,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:250,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:250,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:251,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:251,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:252,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:252,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:253,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:253,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:254,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:254,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:255,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:255,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:256,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:256,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:257,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:257,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:258,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:258,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:258,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:258,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:258,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:259,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:259,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:259,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:259,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:259,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:259,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:260,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:261,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:262,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:263,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:264,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:265,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:266,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:267,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:267,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:267,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:267,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:267,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:268,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:268,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:268,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:268,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:268,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:269,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:269,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:269,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:269,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:269,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:270,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:270,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:270,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:270,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:270,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:271,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:271,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:271,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:271,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:271,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:272,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:272,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:272,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:272,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:272,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:272,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:273,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:274,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:275,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:276,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:277,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:278,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:279,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:280,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:281,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:282,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:283,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:284,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:285,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:286,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:287,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:288,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:289,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:290,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:291,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:292,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:293,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:294,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:295,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:296,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:297,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:298,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:299,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:300,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:301,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:302,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::Inc
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:303,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:304,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:304,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:304,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:304,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:304,1
    - Dst: sha256d64_sse41::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:305,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:305,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:305,1
    - Dst: sha256d64_sse41::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:305,1
    - Dst: sha256d64_sse41::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:305,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:308,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:308,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:308,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:309,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:309,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:309,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:310,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:310,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:310,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:311,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:311,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:311,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:312,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:312,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:312,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:313,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:313,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:313,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:314,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:314,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:314,1
    - Dst: sha256d64_sse41::Write4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:315,1
    - Dst: sha256d64_sse41::Add
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:315,1
    - Dst: sha256d64_sse41::K
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 225
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 316
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 316
    functionName: sha256d64_sse41::Transform_4way
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_sse41.cpp
    functionUses: 0
    functionsReached:
    - sha256d64_sse41::sigma1
    - sha256d64_sse41::K
    - sha256d64_sse41::sigma0
    - sha256d64_sse41::Read4
    - sha256d64_sse41::Add
    - sha256d64_sse41::Round
    - sha256d64_sse41::Inc
    - sha256d64_sse41::Write4
    linkageType: ''
    returnType: void
    signature: void Transform_4way(unsigned char* out, const unsigned char* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: ChaCha20Poly1305AEAD::ChaCha20Poly1305AEAD
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305AEAD(const ChaCha20Poly1305AEAD&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - k0
    - k1
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: CSipHasher::CSipHasher
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSipHasher::CSipHasher(uint64_t k0, uint64_t k1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: '& CSipHasher::Write(uint64_t data)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: CSipHasher
    signature: CSipHasher & CSipHasher::Write(uint64_t data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 74
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 74
    functionName: '& CSipHasher::Write(const unsigned char* data, size_t size)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CSipHasher
    signature: CSipHasher & CSipHasher::Write(const unsigned char* data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: CSipHasher::Finalize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CSipHasher::Finalize() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUint64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp:107,1
    - Dst: GetUint64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp:112,1
    - Dst: GetUint64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 3
    argNames:
    - k0
    - k1
    - ' val'
    argTypes:
    - uint64_t
    - uint64_t
    - uint256
    constantsTouched: []
    func_position:
      end: 132
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 132
    functionName: SipHashUint256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp
    functionUses: 1
    functionsReached:
    - GetUint64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SipHashUint256(uint64_t k0, uint64_t k1, const uint256& val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUint64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp:147,1
    - Dst: GetUint64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp:152,1
    - Dst: GetUint64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 4
    argNames:
    - k0
    - k1
    - ' val'
    - extra
    argTypes:
    - uint64_t
    - uint64_t
    - uint256
    - uint32_t
    constantsTouched: []
    func_position:
      end: 173
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 173
    functionName: SipHashUint256Extra
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/siphash.cpp
    functionUses: 1
    functionsReached:
    - GetUint64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SipHashUint256Extra(uint64_t k0, uint64_t k1, const uint256&
      val, uint32_t extra)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: Rotl
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Rotl(uint64_t x, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:44,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:45,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:46,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:47,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:48,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:52,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:53,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:54,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:55,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:56,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:57,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:58,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:59,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:60,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:61,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:62,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:63,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:64,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:65,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:66,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:67,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:68,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:69,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:70,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:71,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:72,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:73,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:74,1
    - Dst: Rotl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 159
    argCount: 1
    argNames:
    - (st)
    argTypes:
    - uint64_t[]
    constantsTouched: []
    func_position:
      end: 109
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 109
    functionName: KeccakF
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp
    functionUses: 0
    functionsReached:
    - Rotl
    linkageType: ''
    returnType: void
    signature: void KeccakF(uint64_t (&st)[25])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Span<const unsigned char>::size
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:113,1
    - Dst: copy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:115,1
    - Dst: Span<const unsigned char>::begin
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:115,1
    - Dst: Span<const unsigned char>::begin
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:115,1
    - Dst: Span<const unsigned char>::subspan
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:116,1
    - Dst: ReadLE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:117,1
    - Dst: KeccakF
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:120,1
    - Dst: Span<const unsigned char>::size
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:124,1
    - Dst: ReadLE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:126,1
    - Dst: Span<const unsigned char>::data
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:126,1
    - Dst: Span<const unsigned char>::subspan
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:127,1
    - Dst: KeccakF
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:129,1
    - Dst: Span<const unsigned char>::size
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:133,1
    - Dst: copy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:135,1
    - Dst: Span<const unsigned char>::begin
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:135,1
    - Dst: Span<const unsigned char>::end
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:135,1
    - Dst: Span<const unsigned char>::size
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - data
    argTypes:
    - Span<const unsigned char>
    constantsTouched: []
    func_position:
      end: 139
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 139
    functionName: '& SHA3_256::Write(Span<const unsigned char> data)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp
    functionUses: 0
    functionsReached:
    - Span<const unsigned char>::size
    - Span<const unsigned char>::end
    - copy
    - Span<const unsigned char>::data
    - ReadLE64
    - Span<const unsigned char>::begin
    - KeccakF
    - Span<const unsigned char>::subspan
    linkageType: ''
    returnType: SHA3_256
    signature: SHA3_256 & SHA3_256::Write(Span<const unsigned char> data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:143,1
    - Dst: Span<unsigned char>::size
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:143,1
    - Dst: std::fill
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:144,1
    - Dst: ReadLE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:146,1
    - Dst: KeccakF
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:148,1
    - Dst: WriteLE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:150,1
    - Dst: Span<unsigned char>::data
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - output
    argTypes:
    - Span<unsigned char>
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: '& SHA3_256::Finalize(Span<unsigned char> output)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp
    functionUses: 0
    functionsReached:
    - Span<unsigned char>::data
    - WriteLE64
    - ReadLE64
    - assert
    - KeccakF
    - Span<unsigned char>::size
    - std::fill
    linkageType: ''
    returnType: SHA3_256
    signature: SHA3_256 & SHA3_256::Finalize(Span<unsigned char> output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fill
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:159,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:159,1
    - Dst: end
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: '& SHA3_256::Reset()'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha3.cpp
    functionUses: 0
    functionsReached:
    - begin
    - std::fill
    - end
    linkageType: ''
    returnType: SHA3_256
    signature: SHA3_256 & SHA3_256::Reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHMAC_SHA256
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hkdf_sha256_32.cpp:12,1
    - Dst: data
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hkdf_sha256_32.cpp:12,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hkdf_sha256_32.cpp:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ikm
    - ikmlen
    - ' salt'
    argTypes:
    - unsigned char*
    - size_t
    - std::string
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: CHKDF_HMAC_SHA256_L32::CHKDF_HMAC_SHA256_L32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/hkdf_sha256_32.cpp
    functionUses: 0
    functionsReached:
    - data
    - size
    - CHMAC_SHA256
    linkageType: ''
    returnType: void
    signature: void CHKDF_HMAC_SHA256_L32::CHKDF_HMAC_SHA256_L32(const unsigned char*
      ikm, size_t ikmlen, const std::string& salt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hkdf_sha256_32.cpp:18,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hkdf_sha256_32.cpp:18,1
    - Dst: CHMAC_SHA256
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hkdf_sha256_32.cpp:20,1
    - Dst: data
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hkdf_sha256_32.cpp:20,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hkdf_sha256_32.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' info'
    - hash
    argTypes:
    - std::string
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: CHKDF_HMAC_SHA256_L32::Expand32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/hkdf_sha256_32.cpp
    functionUses: 1
    functionsReached:
    - data
    - assert
    - size
    - CHMAC_SHA256
    linkageType: ''
    returnType: void
    signature: void CHKDF_HMAC_SHA256_L32::Expand32(const std::string& info, unsigned
      char hash[OUTPUT_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi64x
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:22,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:23,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:24,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' state0'
    - ' state1'
    - k1
    - k0
    argTypes:
    - __m128i
    - __m128i
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: QuadRound
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_set_epi64x
    - _mm_sha256rnds2_epu32
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: void
    signature: void QuadRound(__m128i& state0, __m128i& state1, uint64_t k1, uint64_t
      k0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:29,1
    - Dst: _mm_set_epi64x
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:29,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:30,1
    - Dst: _mm_sha256rnds2_epu32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:31,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' state0'
    - ' state1'
    - m
    - k1
    - k0
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: QuadRound
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_set_epi64x
    - _mm_shuffle_epi32
    - _mm_sha256rnds2_epu32
    - _mm_add_epi32
    linkageType: ''
    returnType: void
    signature: void QuadRound(__m128i& state0, __m128i& state1, __m128i m, uint64_t
      k1, uint64_t k0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_sha256msg1_epu32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' m0'
    - m1
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: ShiftMessageA
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_sha256msg1_epu32
    linkageType: ''
    returnType: void
    signature: void ShiftMessageA(__m128i& m0, __m128i m1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_sha256msg2_epu32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:41,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:41,1
    - Dst: _mm_alignr_epi8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' m0'
    - m1
    - ' m2'
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: ShiftMessageC
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_alignr_epi8
    - _mm_sha256msg2_epu32
    - _mm_add_epi32
    linkageType: ''
    returnType: void
    signature: void ShiftMessageC(__m128i& m0, __m128i m1, __m128i& m2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:46,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' m0'
    - m1
    - ' m2'
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: ShiftMessageB
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 0
    functionsReached:
    - ShiftMessageA
    - ShiftMessageC
    linkageType: ''
    returnType: void
    signature: void ShiftMessageB(__m128i& m0, __m128i m1, __m128i& m2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:52,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:53,1
    - Dst: _mm_alignr_epi8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:54,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' s0'
    - ' s1'
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: Shuffle
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_blend_epi16
    - _mm_alignr_epi8
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: void
    signature: void Shuffle(__m128i& s0, __m128i& s1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:60,1
    - Dst: _mm_shuffle_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:61,1
    - Dst: _mm_blend_epi16
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:62,1
    - Dst: _mm_alignr_epi8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' s0'
    - ' s1'
    argTypes:
    - __m128i
    - __m128i
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: Unshuffle
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 0
    functionsReached:
    - _mm_blend_epi16
    - _mm_alignr_epi8
    - _mm_shuffle_epi32
    linkageType: ''
    returnType: void
    signature: void Unshuffle(__m128i& s0, __m128i& s1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_shuffle_epi8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:68,1
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:68,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: Load
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 18
    functionsReached:
    - _mm_shuffle_epi8
    - _mm_loadu_si128
    - _mm_load_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i Load(const unsigned char* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_storeu_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:73,1
    - Dst: _mm_shuffle_epi8
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:73,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - s
    argTypes:
    - unsigned char*
    - __m128i
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: Save
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 12
    functionsReached:
    - _mm_shuffle_epi8
    - _mm_storeu_si128
    - _mm_load_si128
    linkageType: ''
    returnType: void
    signature: void Save(unsigned char* out, __m128i s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:83,1
    - Dst: _mm_loadu_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:84,1
    - Dst: Shuffle
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:85,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:93,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:94,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:95,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:96,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:97,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:98,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:99,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:100,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:101,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:102,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:103,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:104,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:105,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:106,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:107,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:108,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:109,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:110,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:111,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:112,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:113,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:114,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:115,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:116,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:117,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:118,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:119,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:120,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:121,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:122,1
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:123,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:124,1
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:125,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:126,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:129,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:130,1
    - Dst: Unshuffle
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:136,1
    - Dst: _mm_storeu_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:137,1
    - Dst: _mm_storeu_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 3
    argNames:
    - s
    - chunk
    - blocks
    argTypes:
    - uint32_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 139
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 139
    functionName: sha256_shani::Transform
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 0
    functionsReached:
    - Unshuffle
    - QuadRound
    - ShiftMessageB
    - _mm_storeu_si128
    - Load
    - Shuffle
    - _mm_loadu_si128
    - ShiftMessageA
    - ShiftMessageC
    - _mm_add_epi32
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:150,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:151,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:152,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:153,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:154,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:155,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:156,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:157,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:158,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:159,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:160,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:161,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:162,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:163,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:164,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:165,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:166,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:167,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:168,1
    - Dst: Load
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:169,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:170,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:171,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:172,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:173,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:174,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:175,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:176,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:177,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:178,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:179,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:180,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:181,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:182,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:183,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:184,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:185,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:186,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:187,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:188,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:189,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:190,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:191,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:192,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:193,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:194,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:195,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:196,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:197,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:198,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:199,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:200,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:201,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:202,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:203,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:204,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:205,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:206,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:207,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:208,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:209,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:210,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:211,1
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:212,1
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:213,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:214,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:215,1
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:216,1
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:217,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:218,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:219,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:220,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:220,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:221,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:221,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:222,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:222,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:223,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:223,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:230,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:231,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:232,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:233,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:234,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:235,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:236,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:237,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:238,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:239,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:240,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:241,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:242,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:243,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:244,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:245,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:246,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:247,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:248,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:249,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:250,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:251,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:252,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:253,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:254,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:255,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:256,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:257,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:258,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:259,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:260,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:261,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:262,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:263,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:264,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:265,1
    - Dst: Unshuffle
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:268,1
    - Dst: Unshuffle
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:269,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:276,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:277,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:278,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:279,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:280,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:281,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:282,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:283,1
    - Dst: _mm_set_epi64x
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:284,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:285,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:286,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:287,1
    - Dst: ShiftMessageA
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:288,1
    - Dst: _mm_set_epi64x
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:289,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:290,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:291,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:292,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:293,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:294,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:295,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:296,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:297,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:298,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:299,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:300,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:301,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:302,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:303,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:304,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:305,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:306,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:307,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:308,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:309,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:310,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:311,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:312,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:313,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:314,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:315,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:316,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:317,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:318,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:319,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:320,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:321,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:322,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:323,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:324,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:325,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:326,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:327,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:328,1
    - Dst: ShiftMessageB
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:329,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:330,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:331,1
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:332,1
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:333,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:334,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:335,1
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:336,1
    - Dst: ShiftMessageC
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:337,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:338,1
    - Dst: QuadRound
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:339,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:340,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:340,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:341,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:341,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:342,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:342,1
    - Dst: _mm_add_epi32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:343,1
    - Dst: _mm_load_si128
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:343,1
    - Dst: Unshuffle
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:346,1
    - Dst: Unshuffle
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:347,1
    - Dst: Save
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:348,1
    - Dst: Save
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:349,1
    - Dst: Save
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:350,1
    - Dst: Save
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 195
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 352
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 352
    functionName: sha256d64_shani::Transform_2way
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256_shani.cpp
    functionUses: 0
    functionsReached:
    - Unshuffle
    - QuadRound
    - ShiftMessageB
    - Load
    - Save
    - _mm_load_si128
    - _mm_set_epi64x
    - ShiftMessageA
    - ShiftMessageC
    - _mm_add_epi32
    linkageType: ''
    returnType: void
    signature: void Transform_2way(unsigned char* out, const unsigned char* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - a
    - ' b'
    - c
    - d
    - ' e'
    - f
    - k
    - w
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: sha1::Round
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Round(uint32_t a, uint32_t& b, uint32_t c, uint32_t d, uint32_t&
      e, uint32_t f, uint32_t k, uint32_t w)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: sha1::f1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f1(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: sha1::f2
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f2(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sha1::f3
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f3(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: sha1::left
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t left(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: sha1::Initialize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint32_t* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:51,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:51,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:51,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:52,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:52,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:52,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:53,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:53,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:53,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:54,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:54,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:54,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:55,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:55,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:55,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:56,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:56,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:56,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:57,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:57,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:57,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:58,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:58,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:58,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:59,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:59,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:59,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:60,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:60,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:60,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:61,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:61,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:61,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:62,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:62,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:62,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:63,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:63,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:63,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:64,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:64,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:64,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:65,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:65,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:65,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:66,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:66,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:66,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:68,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:68,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:68,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:69,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:69,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:69,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:70,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:70,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:70,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:71,1
    - Dst: sha1::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:71,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:71,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:72,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:72,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:72,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:73,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:73,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:73,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:74,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:74,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:74,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:75,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:75,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:75,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:76,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:76,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:76,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:77,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:77,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:77,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:78,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:78,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:78,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:79,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:79,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:79,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:80,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:80,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:80,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:81,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:81,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:81,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:82,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:82,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:82,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:83,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:83,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:83,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:85,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:85,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:85,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:86,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:86,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:86,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:87,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:87,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:87,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:88,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:88,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:88,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:89,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:89,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:89,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:90,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:90,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:90,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:91,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:91,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:91,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:92,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:92,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:92,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:93,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:93,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:93,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:94,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:94,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:94,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:95,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:95,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:95,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:96,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:96,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:96,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:97,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:97,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:97,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:98,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:98,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:98,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:99,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:99,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:99,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:100,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:100,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:100,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:102,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:102,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:102,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:103,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:103,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:103,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:104,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:104,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:104,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:105,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:105,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:105,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:106,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:106,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:106,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:107,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:107,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:107,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:108,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:108,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:108,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:109,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:109,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:109,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:110,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:110,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:110,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:111,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:111,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:111,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:112,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:112,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:112,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:113,1
    - Dst: sha1::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:113,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:113,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:114,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:114,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:114,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:115,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:115,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:115,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:116,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:116,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:116,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:117,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:117,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:117,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:119,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:119,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:119,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:120,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:120,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:120,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:121,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:121,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:121,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:122,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:122,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:122,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:123,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:123,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:123,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:124,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:124,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:124,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:125,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:125,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:125,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:126,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:126,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:126,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:127,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:127,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:127,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:128,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:128,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:128,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:129,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:129,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:129,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:130,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:130,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:130,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:131,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:131,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:131,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:132,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:132,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:132,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:133,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:133,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:133,1
    - Dst: sha1::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:134,1
    - Dst: sha1::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:134,1
    - Dst: sha1::left
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 86
    argCount: 2
    argNames:
    - s
    - chunk
    argTypes:
    - uint32_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 141
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 141
    functionName: sha1::Transform
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached:
    - sha1::left
    - sha1::f2
    - sha1::Round
    - sha1::f3
    - ReadBE32
    - sha1::f1
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha1::Initialize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: CSHA1::CSHA1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached:
    - sha1::Initialize
    linkageType: ''
    returnType: void
    signature: void CSHA1::CSHA1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:160,1
    - Dst: sha1::Transform
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:163,1
    - Dst: sha1::Transform
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:168,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 178
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 178
    functionName: '& CSHA1::Write(const unsigned char* data, size_t len)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - sha1::Transform
    linkageType: ''
    returnType: CSHA1
    signature: CSHA1 & CSHA1::Write(const unsigned char* data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:184,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:185,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:186,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:187,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:188,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:189,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:190,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - hash
    argTypes:
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: CSHA1::Finalize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached:
    - WriteBE64
    - WriteBE32
    - Write
    linkageType: ''
    returnType: void
    signature: void CSHA1::Finalize(unsigned char hash[OUTPUT_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha1::Initialize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: '& CSHA1::Reset()'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha1.cpp
    functionUses: 0
    functionsReached:
    - sha1::Initialize
    linkageType: ''
    returnType: CSHA1
    signature: CSHA1 & CSHA1::Reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: SHA3_256::SHA3_256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA3_256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:20,1
    - Dst: le16toh
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: ReadLE16
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 0
    functionsReached:
    - le16toh
    - memcpy
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ReadLE16(const unsigned char* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:27,1
    - Dst: le32toh
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: ReadLE32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 4
    functionsReached:
    - le32toh
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ReadLE32(const unsigned char* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:34,1
    - Dst: le64toh
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: ReadLE64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 3
    functionsReached:
    - memcpy
    - le64toh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ReadLE64(const unsigned char* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - x
    argTypes:
    - unsigned char*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: WriteLE16
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void WriteLE16(unsigned char* ptr, uint16_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - x
    argTypes:
    - unsigned char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: WriteLE32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void WriteLE32(unsigned char* ptr, uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - x
    argTypes:
    - unsigned char*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: WriteLE64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void WriteLE64(unsigned char* ptr, uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:59,1
    - Dst: be16toh
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: ReadBE16
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 0
    functionsReached:
    - be16toh
    - memcpy
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ReadBE16(const unsigned char* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:66,1
    - Dst: be32toh
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: ReadBE32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 1
    functionsReached:
    - memcpy
    - be32toh
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ReadBE32(const unsigned char* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:73,1
    - Dst: be64toh
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: ReadBE64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 0
    functionsReached:
    - be64toh
    - memcpy
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ReadBE64(const unsigned char* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - x
    argTypes:
    - unsigned char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: WriteBE32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void WriteBE32(unsigned char* ptr, uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - x
    argTypes:
    - unsigned char*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: WriteBE64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void WriteBE64(unsigned char* ptr, uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clzl
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:94,1
    - Dst: __builtin_clzll
      Src: /src/cryptofuzz/modules/bitcoin/crypto/common.h:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 108
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 108
    functionName: CountBits
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/common.h
    functionUses: 0
    functionsReached:
    - __builtin_clzll
    - __builtin_clzl
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CountBits(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:29,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:30,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:31,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:32,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:59,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:60,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:61,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:62,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:72,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:72,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:72,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:72,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:72,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:73,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:73,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:73,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:73,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:73,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:74,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:74,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:74,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:74,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:74,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:75,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:75,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:75,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:75,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:75,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:76,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:76,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:76,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:76,1
    - Dst: mul32x32_64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:76,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:96,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:97,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:98,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:99,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:132,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:133,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:134,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:135,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:137,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:138,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:139,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp:140,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 140
    argCount: 4
    argNames:
    - out
    - m
    - inlen
    - key
    argTypes:
    - unsigned char[]
    - unsigned char*
    - size_t
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 141
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 141
    functionName: poly1305_auth
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/poly1305.cpp
    functionUses: 0
    functionsReached:
    - WriteLE32
    - ReadLE32
    - mul32x32_64
    linkageType: ''
    returnType: void
    signature: void poly1305_auth(unsigned char out[POLY1305_TAGLEN], const unsigned
      char *m, size_t inlen, const unsigned char key[POLY1305_KEYLEN])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b1
    - b2
    - n
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: timingsafe_bcmp
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int timingsafe_bcmp(const unsigned char* b1, const unsigned char* b2,
      size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:32,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:33,1
    - Dst: SetKey
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:34,1
    - Dst: SetKey
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:35,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - K_1
    - K_1_len
    - K_2
    - K_2_len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: ChaCha20Poly1305AEAD::ChaCha20Poly1305AEAD
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - SetKey
    - assert
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305AEAD::ChaCha20Poly1305AEAD(const unsigned char*
      K_1, size_t K_1_len, const unsigned char* K_2, size_t K_2_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:54,1
    - Dst: SetIV
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:55,1
    - Dst: Seek
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:60,1
    - Dst: ChaCha20Poly1305AEAD::Crypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:61,1
    - Dst: poly1305_auth
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:66,1
    - Dst: timingsafe_bcmp
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:69,1
    - Dst: memory_cleanse
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:70,1
    - Dst: memory_cleanse
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:71,1
    - Dst: memory_cleanse
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:74,1
    - Dst: SetIV
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:82,1
    - Dst: Seek
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:83,1
    - Dst: Keystream
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:84,1
    - Dst: Seek
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:92,1
    - Dst: ChaCha20Poly1305AEAD::Crypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:93,1
    - Dst: poly1305_auth
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:98,1
    - Dst: memory_cleanse
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:102,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 8
    argNames:
    - seqnr_payload
    - seqnr_aad
    - aad_pos
    - dest
    - dest_len
    - src
    - src_len
    - is_encrypt
    argTypes:
    - uint64_t
    - uint64_t
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 104
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 104
    functionName: ChaCha20Poly1305AEAD::Crypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp
    functionUses: 3
    functionsReached:
    - memory_cleanse
    - Seek
    - timingsafe_bcmp
    - ChaCha20Poly1305AEAD::Crypt
    - Keystream
    - SetIV
    - memset
    - poly1305_auth
    linkageType: ''
    returnType: bool
    signature: bool ChaCha20Poly1305AEAD::Crypt(uint64_t seqnr_payload, uint64_t seqnr_aad,
      int aad_pos, unsigned char* dest, size_t dest_len /* length of the output buffer
      for sanity checks */, const unsigned char* src, size_t src_len, bool is_encrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:110,1
    - Dst: SetIV
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:114,1
    - Dst: Seek
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:115,1
    - Dst: Keystream
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - len24_out
    - seqnr_aad
    - aad_pos
    - ciphertext
    argTypes:
    - uint32_t*
    - uint64_t
    - int
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: ChaCha20Poly1305AEAD::GetLength
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha_poly_aead.cpp
    functionUses: 0
    functionsReached:
    - SetIV
    - assert
    - Seek
    - Keystream
    linkageType: ''
    returnType: bool
    signature: bool ChaCha20Poly1305AEAD::GetLength(uint32_t* len24_out, uint64_t
      seqnr_aad, int aad_pos, const uint8_t* ciphertext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Num3072::SetToOne
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Num3072::Num3072
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.h
    functionUses: 3
    functionsReached:
    - Num3072::SetToOne
    linkageType: ''
    returnType: void
    signature: void Num3072()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.h:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: Num3072::SERIALIZE_METHODS
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(Num3072, obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: MuHash3072::MuHash3072
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MuHash3072() noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READWRITE
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.h:126,1
    - Dst: READWRITE
      Src: /src/cryptofuzz/modules/bitcoin/crypto/muhash.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: MuHash3072::SERIALIZE_METHODS
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/muhash.h
    functionUses: 0
    functionsReached:
    - READWRITE
    linkageType: ''
    returnType: void
    signature: void SERIALIZE_METHODS(MuHash3072, obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: ripemd160::f1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f1(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: ripemd160::f2
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f2(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: ripemd160::f3
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f3(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: ripemd160::f4
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f4(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ripemd160::f5
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f5(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: ripemd160::Initialize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint32_t* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - i
    argTypes:
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ripemd160::rol
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rol(uint32_t x, int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::rol
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:37,1
    - Dst: ripemd160::rol
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - f
    - x
    - k
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: ripemd160::Round
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::rol
    linkageType: ''
    returnType: void
    signature: void Round(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t f, uint32_t x, uint32_t k, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:41,1
    - Dst: ripemd160::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ripemd160::R11
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::Round
    - ripemd160::f1
    linkageType: ''
    returnType: void
    signature: void R11(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:42,1
    - Dst: ripemd160::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: ripemd160::R21
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::Round
    - ripemd160::f2
    linkageType: ''
    returnType: void
    signature: void R21(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:43,1
    - Dst: ripemd160::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ripemd160::R31
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::Round
    - ripemd160::f3
    linkageType: ''
    returnType: void
    signature: void R31(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:44,1
    - Dst: ripemd160::f4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ripemd160::R41
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::Round
    - ripemd160::f4
    linkageType: ''
    returnType: void
    signature: void R41(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:45,1
    - Dst: ripemd160::f5
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ripemd160::R51
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f5
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R51(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:47,1
    - Dst: ripemd160::f5
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ripemd160::R12
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::f5
    - ripemd160::Round
    linkageType: ''
    returnType: void
    signature: void R12(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:48,1
    - Dst: ripemd160::f4
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ripemd160::R22
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::Round
    - ripemd160::f4
    linkageType: ''
    returnType: void
    signature: void R22(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:49,1
    - Dst: ripemd160::f3
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ripemd160::R32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::Round
    - ripemd160::f3
    linkageType: ''
    returnType: void
    signature: void R32(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:50,1
    - Dst: ripemd160::f2
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: ripemd160::R42
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::Round
    - ripemd160::f2
    linkageType: ''
    returnType: void
    signature: void R42(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:51,1
    - Dst: ripemd160::f1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' a'
    - b
    - ' c'
    - d
    - e
    - x
    - r
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ripemd160::R52
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::Round
    - ripemd160::f1
    linkageType: ''
    returnType: void
    signature: void R52(uint32_t& a, uint32_t b, uint32_t& c, uint32_t d, uint32_t
      e, uint32_t x, int r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:63,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:64,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:65,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:66,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:67,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:68,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:69,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:70,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:71,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:72,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:73,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:74,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:75,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:76,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:77,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:78,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:79,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:80,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:81,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:82,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:83,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:84,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:85,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:86,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:87,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:88,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:89,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:90,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:91,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:92,1
    - Dst: ripemd160::R11
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:93,1
    - Dst: ripemd160::R12
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:94,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:96,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:97,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:98,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:99,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:100,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:101,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:102,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:103,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:104,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:105,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:106,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:107,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:108,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:109,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:110,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:111,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:112,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:113,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:114,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:115,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:116,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:117,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:118,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:119,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:120,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:121,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:122,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:123,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:124,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:125,1
    - Dst: ripemd160::R21
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:126,1
    - Dst: ripemd160::R22
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:127,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:129,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:130,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:131,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:132,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:133,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:134,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:135,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:136,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:137,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:138,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:139,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:140,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:141,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:142,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:143,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:144,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:145,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:146,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:147,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:148,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:149,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:150,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:151,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:152,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:153,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:154,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:155,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:156,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:157,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:158,1
    - Dst: ripemd160::R31
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:159,1
    - Dst: ripemd160::R32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:160,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:162,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:163,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:164,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:165,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:166,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:167,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:168,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:169,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:170,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:171,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:172,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:173,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:174,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:175,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:176,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:177,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:178,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:179,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:180,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:181,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:182,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:183,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:184,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:185,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:186,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:187,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:188,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:189,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:190,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:191,1
    - Dst: ripemd160::R41
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:192,1
    - Dst: ripemd160::R42
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:193,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:195,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:196,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:197,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:198,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:199,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:200,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:201,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:202,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:203,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:204,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:205,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:206,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:207,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:208,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:209,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:210,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:211,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:212,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:213,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:214,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:215,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:216,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:217,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:218,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:219,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:220,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:221,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:222,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:223,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:224,1
    - Dst: ripemd160::R51
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:225,1
    - Dst: ripemd160::R52
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 166
    argCount: 2
    argNames:
    - s
    - chunk
    argTypes:
    - uint32_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 234
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 234
    functionName: ripemd160::Transform
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::R32
    - ripemd160::R42
    - ripemd160::R51
    - ripemd160::R31
    - ripemd160::R11
    - ripemd160::R21
    - ripemd160::R41
    - ripemd160::R12
    - ripemd160::R22
    - ripemd160::R52
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Initialize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: CRIPEMD160::CRIPEMD160
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::Initialize
    linkageType: ''
    returnType: void
    signature: void CRIPEMD160::CRIPEMD160()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:253,1
    - Dst: ripemd160::Transform
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:256,1
    - Dst: ripemd160::Transform
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:261,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 271
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 271
    functionName: '& CRIPEMD160::Write(const unsigned char* data, size_t len)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - ripemd160::Transform
    linkageType: ''
    returnType: CRIPEMD160
    signature: CRIPEMD160 & CRIPEMD160::Write(const unsigned char* data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WriteLE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:277,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:278,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:279,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:280,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:281,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:282,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:283,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - hash
    argTypes:
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 285
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 285
    functionName: CRIPEMD160::Finalize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - WriteLE64
    - WriteLE32
    - Write
    linkageType: ''
    returnType: void
    signature: void CRIPEMD160::Finalize(unsigned char hash[OUTPUT_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160::Initialize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: '& CRIPEMD160::Reset()'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ripemd160.cpp
    functionUses: 0
    functionsReached:
    - ripemd160::Initialize
    linkageType: ''
    returnType: CRIPEMD160
    signature: CRIPEMD160 & CRIPEMD160::Reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.cpp:13,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.cpp:14,1
    - Dst: CSHA256
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.cpp:16,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.cpp:17,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.cpp:22,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.cpp:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - key
    - keylen
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 27
    functionName: CHMAC_SHA256::CHMAC_SHA256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.cpp
    functionUses: 0
    functionsReached:
    - Write
    - memcpy
    - memset
    - CSHA256
    linkageType: ''
    returnType: void
    signature: void CHMAC_SHA256::CHMAC_SHA256(const unsigned char* key, size_t keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHMAC_SHA256::Finalize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.cpp:32,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hash
    argTypes:
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: CHMAC_SHA256::Finalize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha256.cpp
    functionUses: 1
    functionsReached:
    - CHMAC_SHA256::Finalize
    - Write
    linkageType: ''
    returnType: void
    signature: void CHMAC_SHA256::Finalize(unsigned char hash[OUTPUT_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: sha256::Ch
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Ch(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: sha256::Maj
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Maj(uint32_t x, uint32_t y, uint32_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: sha256::Sigma0
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Sigma0(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: sha256::Sigma1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Sigma1(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: sha256::sigma0
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sigma0(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: sha256::sigma1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sigma1(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: sha256::Round
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Round(uint32_t a, uint32_t b, uint32_t c, uint32_t& d, uint32_t
      e, uint32_t f, uint32_t g, uint32_t& h, uint32_t k)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: sha256::Initialize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint32_t* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:84,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:84,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:85,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:85,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:86,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:86,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:87,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:87,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:88,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:88,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:89,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:89,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:90,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:90,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:91,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:91,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:92,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:92,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:93,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:93,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:94,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:94,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:95,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:95,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:96,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:96,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:97,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:97,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:98,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:98,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:99,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:99,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:101,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:101,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:101,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:102,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:102,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:102,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:103,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:103,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:103,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:104,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:104,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:104,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:105,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:105,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:105,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:106,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:106,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:106,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:107,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:107,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:107,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:108,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:108,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:108,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:109,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:109,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:109,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:110,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:110,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:110,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:111,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:111,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:111,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:112,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:112,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:112,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:113,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:113,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:113,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:114,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:114,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:114,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:115,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:115,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:115,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:116,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:116,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:116,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:118,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:118,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:118,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:119,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:119,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:119,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:120,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:120,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:120,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:121,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:121,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:121,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:122,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:122,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:122,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:123,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:123,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:123,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:124,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:124,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:124,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:125,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:125,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:125,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:126,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:126,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:126,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:127,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:127,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:127,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:128,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:128,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:128,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:129,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:129,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:129,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:130,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:130,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:130,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:131,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:131,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:131,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:132,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:132,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:132,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:133,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:133,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:133,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:135,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:135,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:135,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:136,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:136,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:136,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:137,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:137,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:137,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:138,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:138,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:138,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:139,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:139,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:139,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:140,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:140,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:140,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:141,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:141,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:141,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:142,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:142,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:142,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:143,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:143,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:143,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:144,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:144,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:144,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:145,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:145,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:145,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:146,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:146,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:146,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:147,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:147,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:147,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:148,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:148,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:148,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:149,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:149,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:149,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:150,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:150,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 76
    argCount: 3
    argNames:
    - s
    - chunk
    - blocks
    argTypes:
    - uint32_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 162
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 162
    functionName: sha256::Transform
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::sigma0
    - sha256::Round
    - ReadBE32
    - sha256::sigma1
    linkageType: ''
    returnType: void
    signature: void Transform(uint32_t* s, const unsigned char* chunk, size_t blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:178,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:178,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:179,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:179,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:180,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:180,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:181,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:181,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:182,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:182,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:183,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:183,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:184,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:184,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:185,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:185,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:186,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:186,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:187,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:187,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:188,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:188,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:189,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:189,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:190,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:190,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:191,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:191,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:192,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:192,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:193,1
    - Dst: ReadBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:193,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:194,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:194,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:194,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:195,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:195,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:195,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:196,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:196,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:196,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:197,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:197,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:197,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:198,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:198,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:198,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:199,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:199,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:199,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:200,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:200,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:200,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:201,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:201,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:201,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:202,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:202,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:202,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:203,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:203,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:203,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:204,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:204,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:204,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:205,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:205,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:205,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:206,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:206,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:206,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:207,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:207,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:207,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:208,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:208,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:208,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:209,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:209,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:209,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:210,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:210,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:210,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:211,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:211,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:211,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:212,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:212,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:212,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:213,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:213,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:213,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:214,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:214,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:214,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:215,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:215,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:215,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:216,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:216,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:216,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:217,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:217,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:217,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:218,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:218,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:218,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:219,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:219,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:219,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:220,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:220,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:220,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:221,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:221,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:221,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:222,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:222,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:222,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:223,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:223,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:223,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:224,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:224,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:224,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:225,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:225,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:225,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:226,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:226,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:226,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:227,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:227,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:227,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:228,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:228,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:228,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:229,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:229,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:229,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:230,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:230,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:230,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:231,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:231,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:231,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:232,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:232,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:232,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:233,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:233,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:233,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:234,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:234,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:234,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:235,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:235,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:235,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:236,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:236,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:236,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:237,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:237,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:237,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:238,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:238,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:238,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:239,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:239,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:239,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:240,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:240,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:240,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:241,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:241,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:241,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:255,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:256,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:257,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:258,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:259,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:260,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:261,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:262,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:263,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:264,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:265,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:266,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:267,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:268,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:269,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:270,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:271,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:272,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:273,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:274,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:275,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:276,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:277,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:278,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:279,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:280,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:281,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:282,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:283,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:284,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:285,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:286,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:287,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:288,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:289,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:290,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:291,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:292,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:293,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:294,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:295,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:296,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:297,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:298,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:299,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:300,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:301,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:302,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:303,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:304,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:305,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:306,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:307,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:308,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:309,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:310,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:311,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:312,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:313,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:314,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:315,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:316,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:317,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:318,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:339,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:340,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:341,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:342,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:343,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:344,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:345,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:346,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:347,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:348,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:349,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:350,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:351,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:352,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:353,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:354,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:355,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:355,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:356,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:356,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:357,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:357,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:357,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:358,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:358,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:358,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:359,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:359,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:359,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:360,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:360,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:360,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:361,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:361,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:361,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:362,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:362,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:363,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:363,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:364,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:364,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:365,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:365,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:366,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:366,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:367,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:367,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:368,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:368,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:369,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:369,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:370,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:370,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:370,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:371,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:371,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:371,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:372,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:372,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:372,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:373,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:373,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:373,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:374,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:374,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:374,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:375,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:375,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:375,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:376,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:376,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:376,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:377,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:377,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:377,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:378,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:378,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:378,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:379,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:379,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:379,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:380,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:380,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:380,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:381,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:381,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:381,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:382,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:382,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:382,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:383,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:383,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:383,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:384,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:384,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:384,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:385,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:385,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:385,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:386,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:386,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:386,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:387,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:387,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:387,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:388,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:388,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:388,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:389,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:389,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:389,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:390,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:390,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:390,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:391,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:391,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:391,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:392,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:392,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:392,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:393,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:393,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:393,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:394,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:394,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:394,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:395,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:395,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:395,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:396,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:396,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:396,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:397,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:397,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:397,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:398,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:398,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:398,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:399,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:399,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:399,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:400,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:400,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:400,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:401,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:401,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:401,1
    - Dst: sha256::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:402,1
    - Dst: sha256::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:402,1
    - Dst: sha256::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:402,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:405,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:406,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:407,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:408,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:409,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:410,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:411,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 225
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 413
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 413
    functionName: sha256::TransformD64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::Round
    - sha256::sigma0
    - WriteBE32
    - sha256::sigma1
    - ReadBE32
    linkageType: ''
    returnType: void
    signature: void TransformD64(unsigned char* out, const unsigned char* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Initialize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:436,1
    - Dst: tr
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:437,1
    - Dst: tr
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:438,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:439,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:440,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:441,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:442,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:443,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:444,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:445,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:446,1
    - Dst: sha256::Initialize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:447,1
    - Dst: tr
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:448,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:449,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:450,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:451,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:452,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:453,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:454,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:455,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 457
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 457
    functionName: TransformD64Wrapper
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - WriteBE32
    - tr
    - sha256::Initialize
    linkageType: ''
    returnType: void
    signature: void TransformD64Wrapper(unsigned char* out, const unsigned char* in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:516,1
    - Dst: Transform
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:517,1
    - Dst: std::equal
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:518,1
    - Dst: TransformD64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:523,1
    - Dst: std::equal
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:524,1
    - Dst: TransformD64_2way
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:529,1
    - Dst: std::equal
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:530,1
    - Dst: TransformD64_4way
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:536,1
    - Dst: std::equal
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:537,1
    - Dst: TransformD64_8way
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:543,1
    - Dst: std::equal
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:544,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 548
    functionName: SelfTest
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - TransformD64_8way
    - TransformD64
    - copy
    - TransformD64_4way
    - std::equal
    - TransformD64_2way
    - Transform
    linkageType: ''
    returnType: bool
    signature: bool SelfTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 557
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 557
    functionName: AVXEnabled
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AVXEnabled()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetCPUID
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:582,1
    - Dst: AVXEnabled
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:587,1
    - Dst: GetCPUID
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:590,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:626,1
    - Dst: SelfTest
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:626,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 628
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 628
    functionName: SHA256AutoDetect
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - SelfTest
    - GetCPUID
    - assert
    - AVXEnabled
    linkageType: ''
    returnType: std::string
    signature: std::string SHA256AutoDetect()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Initialize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 635
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 635
    functionName: CSHA256::CSHA256
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::Initialize
    linkageType: ''
    returnType: void
    signature: void CSHA256::CSHA256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:643,1
    - Dst: Transform
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:646,1
    - Dst: Transform
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:651,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 661
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 661
    functionName: '& CSHA256::Write(const unsigned char* data, size_t len)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - Transform
    linkageType: ''
    returnType: CSHA256
    signature: CSHA256 & CSHA256::Write(const unsigned char* data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:667,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:668,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:669,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:670,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:671,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:672,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:673,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:674,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:675,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:676,1
    - Dst: WriteBE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - hash
    argTypes:
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 678
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 678
    functionName: CSHA256::Finalize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - WriteBE64
    - WriteBE32
    - Write
    linkageType: ''
    returnType: void
    signature: void CSHA256::Finalize(unsigned char hash[OUTPUT_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256::Initialize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 685
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 685
    functionName: '& CSHA256::Reset()'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - sha256::Initialize
    linkageType: ''
    returnType: CSHA256
    signature: CSHA256 & CSHA256::Reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TransformD64_8way
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:691,1
    - Dst: TransformD64_4way
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:699,1
    - Dst: TransformD64_2way
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:707,1
    - Dst: TransformD64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp:714,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - out
    - in
    - blocks
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 719
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 719
    functionName: SHA256D64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha256.cpp
    functionUses: 0
    functionsReached:
    - TransformD64_4way
    - TransformD64_2way
    - TransformD64_8way
    - TransformD64
    linkageType: ''
    returnType: void
    signature: void SHA256D64(unsigned char* out, const unsigned char* in, size_t
      blocks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.cpp:13,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.cpp:14,1
    - Dst: CSHA512
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.cpp:16,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.cpp:17,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.cpp:22,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.cpp:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - key
    - keylen
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 27
    functionName: CHMAC_SHA512::CHMAC_SHA512
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.cpp
    functionUses: 0
    functionsReached:
    - CSHA512
    - memcpy
    - memset
    - Write
    linkageType: ''
    returnType: void
    signature: void CHMAC_SHA512::CHMAC_SHA512(const unsigned char* key, size_t keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHMAC_SHA512::Finalize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.cpp:32,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hash
    argTypes:
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: CHMAC_SHA512::Finalize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.cpp
    functionUses: 1
    functionsReached:
    - CHMAC_SHA512::Finalize
    - Write
    linkageType: ''
    returnType: void
    signature: void CHMAC_SHA512::Finalize(unsigned char hash[OUTPUT_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES256_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: AES256Encrypt::AES256Encrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - AES256_init
    linkageType: ''
    returnType: void
    signature: void AES256Encrypt::AES256Encrypt(const unsigned char key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: AES256Encrypt::~AES256Encrypt()
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void AES256Encrypt::~AES256Encrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES256_encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ciphertext
    - plaintext
    argTypes:
    - unsigned char[]
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: AES256Encrypt::Encrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - AES256_encrypt
    linkageType: ''
    returnType: void
    signature: void AES256Encrypt::Encrypt(unsigned char ciphertext[16], const unsigned
      char plaintext[16]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES256_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: AES256Decrypt::AES256Decrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - AES256_init
    linkageType: ''
    returnType: void
    signature: void AES256Decrypt::AES256Decrypt(const unsigned char key[32])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: AES256Decrypt::~AES256Decrypt()
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void AES256Decrypt::~AES256Decrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES256_decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plaintext
    - ciphertext
    argTypes:
    - unsigned char[]
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: AES256Decrypt::Decrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - AES256_decrypt
    linkageType: ''
    returnType: void
    signature: void AES256Decrypt::Decrypt(unsigned char plaintext[16], const unsigned
      char ciphertext[16]) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:57,1
    - Dst: Encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:63,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:64,1
    - Dst: Encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:74,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 6
    argNames:
    - ' enc'
    - iv
    - data
    - size
    - pad
    - out
    argTypes:
    - T
    - unsigned char[]
    - unsigned char*
    - int
    - bool
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 78
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 78
    functionName: CBCEncrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - Encrypt
    linkageType: ''
    returnType: int
    signature: int CBCEncrypt(const T& enc, const unsigned char iv[AES_BLOCKSIZE],
      const unsigned char* data, int size, bool pad, unsigned char* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 6
    argNames:
    - ' dec'
    - iv
    - data
    - size
    - pad
    - out
    argTypes:
    - T
    - unsigned char[]
    - unsigned char*
    - int
    - bool
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 119
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 119
    functionName: CBCDecrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - Decrypt
    linkageType: ''
    returnType: int
    signature: int CBCDecrypt(const T& dec, const unsigned char iv[AES_BLOCKSIZE],
      const unsigned char* data, int size, bool pad, unsigned char* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - ivIn
    - padIn
    argTypes:
    - unsigned char[]
    - unsigned char[]
    - bool
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: AES256CBCEncrypt::AES256CBCEncrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void AES256CBCEncrypt::AES256CBCEncrypt(const unsigned char key[AES256_KEYSIZE],
      const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CBCEncrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - size
    - out
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: AES256CBCEncrypt::Encrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - CBCEncrypt
    linkageType: ''
    returnType: int
    signature: int AES256CBCEncrypt::Encrypt(const unsigned char* data, int size,
      unsigned char* out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: AES256CBCEncrypt::~AES256CBCEncrypt()
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void AES256CBCEncrypt::~AES256CBCEncrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - ivIn
    - padIn
    argTypes:
    - unsigned char[]
    - unsigned char[]
    - bool
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: AES256CBCDecrypt::AES256CBCDecrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void AES256CBCDecrypt::AES256CBCDecrypt(const unsigned char key[AES256_KEYSIZE],
      const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CBCDecrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - size
    - out
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: AES256CBCDecrypt::Decrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - CBCDecrypt
    linkageType: ''
    returnType: int
    signature: int AES256CBCDecrypt::Decrypt(const unsigned char* data, int size,
      unsigned char* out) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: AES256CBCDecrypt::~AES256CBCDecrypt()
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/aes.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void AES256CBCDecrypt::~AES256CBCDecrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: '& Write(const unsigned char* data, size_t len)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/hmac_sha512.h
    functionUses: 0
    functionsReached:
    - Write
    linkageType: ''
    returnType: CHMAC_SHA512
    signature: CHMAC_SHA512 & Write(const unsigned char* data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: sha512::Ch
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Ch(uint64_t x, uint64_t y, uint64_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: sha512::Maj
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Maj(uint64_t x, uint64_t y, uint64_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: sha512::Sigma0
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Sigma0(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: sha512::Sigma1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Sigma1(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: sha512::sigma0
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t sigma0(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: sha512::sigma1
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t sigma1(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 10
    argNames:
    - a
    - b
    - c
    - ' d'
    - e
    - f
    - g
    - ' h'
    - k
    - w
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: sha512::Round
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Round(uint64_t a, uint64_t b, uint64_t c, uint64_t& d, uint64_t
      e, uint64_t f, uint64_t g, uint64_t& h, uint64_t k, uint64_t w)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: sha512::Initialize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initialize(uint64_t* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:52,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:52,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:53,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:53,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:54,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:54,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:55,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:55,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:56,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:56,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:57,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:57,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:58,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:58,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:59,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:59,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:60,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:60,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:61,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:61,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:62,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:62,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:63,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:63,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:64,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:64,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:65,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:65,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:66,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:66,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:67,1
    - Dst: ReadBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:67,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:69,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:69,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:69,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:70,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:70,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:70,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:71,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:71,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:71,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:72,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:72,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:72,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:73,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:73,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:73,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:74,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:74,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:74,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:75,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:75,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:75,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:76,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:76,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:76,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:77,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:77,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:77,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:78,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:78,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:78,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:79,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:79,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:79,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:80,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:80,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:80,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:81,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:81,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:81,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:82,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:82,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:82,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:83,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:83,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:83,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:84,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:84,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:84,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:86,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:86,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:86,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:87,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:87,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:87,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:88,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:88,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:88,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:89,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:89,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:89,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:90,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:90,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:90,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:91,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:91,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:91,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:92,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:92,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:92,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:93,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:93,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:93,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:94,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:94,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:94,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:95,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:95,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:95,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:96,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:96,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:96,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:97,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:97,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:97,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:98,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:98,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:98,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:99,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:99,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:99,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:100,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:100,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:100,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:101,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:101,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:101,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:103,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:103,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:103,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:104,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:104,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:104,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:105,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:105,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:105,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:106,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:106,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:106,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:107,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:107,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:107,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:108,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:108,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:108,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:109,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:109,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:109,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:110,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:110,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:110,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:111,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:111,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:111,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:112,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:112,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:112,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:113,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:113,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:113,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:114,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:114,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:114,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:115,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:115,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:115,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:116,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:116,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:116,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:117,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:117,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:117,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:118,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:118,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:118,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:120,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:120,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:120,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:121,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:121,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:121,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:122,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:122,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:122,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:123,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:123,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:123,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:124,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:124,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:124,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:125,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:125,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:125,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:126,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:126,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:126,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:127,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:127,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:127,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:128,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:128,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:128,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:129,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:129,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:129,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:130,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:130,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:130,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:131,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:131,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:131,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:132,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:132,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:132,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:133,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:133,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:133,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:134,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:134,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:134,1
    - Dst: sha512::Round
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:135,1
    - Dst: sha512::sigma1
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:135,1
    - Dst: sha512::sigma0
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 89
    argCount: 2
    argNames:
    - s
    - chunk
    argTypes:
    - uint64_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 145
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 145
    functionName: sha512::Transform
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached:
    - sha512::sigma0
    - sha512::sigma1
    - ReadBE64
    - sha512::Round
    linkageType: ''
    returnType: void
    signature: void Transform(uint64_t* s, const unsigned char* chunk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512::Initialize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: CSHA512::CSHA512
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached:
    - sha512::Initialize
    linkageType: ''
    returnType: void
    signature: void CSHA512::CSHA512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:165,1
    - Dst: sha512::Transform
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:168,1
    - Dst: sha512::Transform
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:173,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 183
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 183
    functionName: '& CSHA512::Write(const unsigned char* data, size_t len)'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - sha512::Transform
    linkageType: ''
    returnType: CSHA512
    signature: CSHA512 & CSHA512::Write(const unsigned char* data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:189,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:190,1
    - Dst: Write
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:191,1
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:192,1
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:193,1
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:194,1
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:195,1
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:196,1
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:197,1
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:198,1
    - Dst: WriteBE64
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - hash
    argTypes:
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 200
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 200
    functionName: CSHA512::Finalize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached:
    - WriteBE64
    - Write
    linkageType: ''
    returnType: void
    signature: void CSHA512::Finalize(unsigned char hash[OUTPUT_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512::Initialize
      Src: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: '& CSHA512::Reset()'
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/sha512.cpp
    functionUses: 0
    functionsReached:
    - sha512::Initialize
    linkageType: ''
    returnType: CSHA512
    signature: CSHA512 & CSHA512::Reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - c
    argTypes:
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: rotl32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rotl32(uint32_t v, int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:28,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:29,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:30,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:31,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:38,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:39,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:40,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:41,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:42,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:43,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:44,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - k
    - keylen
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 50
    functionName: ChaCha20::SetKey
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp
    functionUses: 0
    functionsReached:
    - ReadLE32
    linkageType: ''
    returnType: void
    signature: void ChaCha20::SetKey(const unsigned char* k, size_t keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: ChaCha20::ChaCha20
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ChaCha20::ChaCha20()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha20::SetKey
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - keylen
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: ChaCha20::ChaCha20
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp
    functionUses: 0
    functionsReached:
    - ChaCha20::SetKey
    linkageType: ''
    returnType: void
    signature: void ChaCha20::ChaCha20(const unsigned char* k, size_t keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iv
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: ChaCha20::SetIV
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChaCha20::SetIV(uint64_t iv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pos
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: ChaCha20::Seek
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChaCha20::Seek(uint64_t pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:123,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:124,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:125,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:126,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:127,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:128,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:129,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:130,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:152,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:153,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:154,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:155,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:156,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:157,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:158,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:159,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:160,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:161,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:162,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:163,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:164,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:165,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:166,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:167,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 97
    argCount: 2
    argNames:
    - c
    - bytes
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 180
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 180
    functionName: ChaCha20::Keystream
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp
    functionUses: 0
    functionsReached:
    - QUARTERROUND
    - WriteLE32
    linkageType: ''
    returnType: void
    signature: void ChaCha20::Keystream(unsigned char* c, size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:235,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:236,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:237,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:238,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:239,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:240,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:241,1
    - Dst: QUARTERROUND
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:242,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:261,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:262,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:263,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:264,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:265,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:266,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:267,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:268,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:269,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:270,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:271,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:272,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:273,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:274,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:275,1
    - Dst: ReadLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:276,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:281,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:282,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:283,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:284,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:285,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:286,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:287,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:288,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:289,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:290,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:291,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:292,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:293,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:294,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:295,1
    - Dst: WriteLE32
      Src: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp:296,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 117
    argCount: 3
    argNames:
    - m
    - c
    - bytes
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 310
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 310
    functionName: ChaCha20::Crypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/chacha20.cpp
    functionUses: 1
    functionsReached:
    - QUARTERROUND
    - ReadLE32
    - WriteLE32
    linkageType: ''
    returnType: void
    signature: void ChaCha20::Crypt(const unsigned char* m, unsigned char* c, size_t
      bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 11
    functionName: gettimedouble
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: double
    signature: double gettimedouble(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 24
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 24
    functionName: print_number
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_number(double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:34,1
    - Dst: gettimedouble
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:36,1
    - Dst: benchmark
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:37,1
    - Dst: gettimedouble
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:38,1
    - Dst: teardown
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:40,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:50,1
    - Dst: print_number
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:51,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:52,1
    - Dst: print_number
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:53,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:54,1
    - Dst: print_number
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:55,1
    - Dst: printf
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - name
    - data
    - count
    - iter
    argTypes:
    - char*
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 57
    functionName: run_benchmark
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - benchmark
    - printf
    - print_number
    - teardown
    - gettimedouble
    - setup
    linkageType: ''
    returnType: void
    signature: void run_benchmark(char *name, void (*benchmark)(void*), void (*setup)(void*),
      void (*teardown)(void*), void* data, int count, int iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES128_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: bench_AES128_init
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES128_init
    linkageType: ''
    returnType: void
    signature: void bench_AES128_init(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES128_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: bench_AES128_encrypt_setup
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES128_init
    linkageType: ''
    returnType: void
    signature: void bench_AES128_encrypt_setup(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES128_encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: bench_AES128_encrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES128_encrypt
    linkageType: ''
    returnType: void
    signature: void bench_AES128_encrypt(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES128_decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: bench_AES128_decrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES128_decrypt
    linkageType: ''
    returnType: void
    signature: void bench_AES128_decrypt(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES192_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: bench_AES192_init
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES192_init
    linkageType: ''
    returnType: void
    signature: void bench_AES192_init(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES192_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: bench_AES192_encrypt_setup
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES192_init
    linkageType: ''
    returnType: void
    signature: void bench_AES192_encrypt_setup(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES192_encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: bench_AES192_encrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES192_encrypt
    linkageType: ''
    returnType: void
    signature: void bench_AES192_encrypt(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES192_decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: bench_AES192_decrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES192_decrypt
    linkageType: ''
    returnType: void
    signature: void bench_AES192_decrypt(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES256_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: bench_AES256_init
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES256_init
    linkageType: ''
    returnType: void
    signature: void bench_AES256_init(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES256_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: bench_AES256_encrypt_setup
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES256_init
    linkageType: ''
    returnType: void
    signature: void bench_AES256_encrypt_setup(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES256_encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: bench_AES256_encrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES256_encrypt
    linkageType: ''
    returnType: void
    signature: void bench_AES256_encrypt(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES256_decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: bench_AES256_decrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 0
    functionsReached:
    - AES256_decrypt
    linkageType: ''
    returnType: void
    signature: void bench_AES256_decrypt(void* data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run_benchmark
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:160,1
    - Dst: run_benchmark
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:161,1
    - Dst: run_benchmark
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:162,1
    - Dst: run_benchmark
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:163,1
    - Dst: run_benchmark
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:164,1
    - Dst: run_benchmark
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:165,1
    - Dst: run_benchmark
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:166,1
    - Dst: run_benchmark
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:167,1
    - Dst: run_benchmark
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/bench.c
    functionUses: 97
    functionsReached:
    - run_benchmark
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:47,1
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:57,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - data
    - len
    - hex
    argTypes:
    - unsigned char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: from_hex
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c
    functionUses: 10
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void from_hex(unsigned char* data, int len, const char* hex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:66,1
    - Dst: from_hex
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:67,1
    - Dst: from_hex
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:68,1
    - Dst: from_hex
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:72,1
    - Dst: AES128_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:73,1
    - Dst: AES128_encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:74,1
    - Dst: AES128_decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:75,1
    - Dst: from_hex
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:80,1
    - Dst: AES192_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:81,1
    - Dst: AES192_encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:82,1
    - Dst: AES192_decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:83,1
    - Dst: from_hex
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:88,1
    - Dst: AES256_init
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:89,1
    - Dst: AES256_encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:90,1
    - Dst: AES256_decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:91,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:95,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:96,1
    - Dst: memcmp
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:99,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:100,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:105,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c:107,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 110
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/test.c
    functionUses: 97
    functionsReached:
    - AES128_encrypt
    - memcmp
    - AES192_decrypt
    - AES256_encrypt
    - assert
    - AES192_init
    - AES256_init
    - fprintf
    - from_hex
    - AES192_encrypt
    - AES256_decrypt
    - AES128_init
    - AES128_decrypt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - s
    - byte
    - r
    - c
    argTypes:
    - AES_state*
    - unsigned char
    - int
    - int
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: LoadByte
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LoadByte(AES_state* s, unsigned char byte, int r, int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LoadByte
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s
    - data16
    argTypes:
    - AES_state*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: LoadBytes
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached:
    - LoadByte
    linkageType: ''
    returnType: void
    signature: void LoadBytes(AES_state *s, const unsigned char* data16)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - data16
    - s
    argTypes:
    - unsigned char*
    - AES_state*
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: SaveBytes
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SaveBytes(unsigned char* data16, const AES_state *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 115
    argCount: 2
    argNames:
    - s
    - inv
    argTypes:
    - AES_state*
    - int
    constantsTouched: []
    func_position:
      end: 256
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 256
    functionName: SubBytes
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SubBytes(AES_state *s, int inv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BIT_RANGE
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:268,1
    - Dst: BIT_RANGE_LEFT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:269,1
    - Dst: BIT_RANGE_RIGHT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:269,1
    - Dst: BIT_RANGE_LEFT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:270,1
    - Dst: BIT_RANGE_RIGHT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:270,1
    - Dst: BIT_RANGE_LEFT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:271,1
    - Dst: BIT_RANGE_RIGHT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - AES_state*
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: ShiftRows
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached:
    - BIT_RANGE_RIGHT
    - BIT_RANGE_LEFT
    - BIT_RANGE
    linkageType: ''
    returnType: void
    signature: void ShiftRows(AES_state* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BIT_RANGE
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:280,1
    - Dst: BIT_RANGE_LEFT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:281,1
    - Dst: BIT_RANGE_RIGHT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:281,1
    - Dst: BIT_RANGE_LEFT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:282,1
    - Dst: BIT_RANGE_RIGHT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:282,1
    - Dst: BIT_RANGE_LEFT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:283,1
    - Dst: BIT_RANGE_RIGHT
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - AES_state*
    constantsTouched: []
    func_position:
      end: 285
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 285
    functionName: InvShiftRows
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached:
    - BIT_RANGE_RIGHT
    - BIT_RANGE_LEFT
    - BIT_RANGE
    linkageType: ''
    returnType: void
    signature: void InvShiftRows(AES_state* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - s
    - inv
    argTypes:
    - AES_state*
    - int
    constantsTouched: []
    func_position:
      end: 352
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 352
    functionName: MixColumns
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MixColumns(AES_state* s, int inv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - round
    argTypes:
    - AES_state*
    - AES_state*
    constantsTouched: []
    func_position:
      end: 359
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 359
    functionName: AddRoundKey
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddRoundKey(AES_state* s, const AES_state* round)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - a
    - c
    argTypes:
    - AES_state*
    - AES_state*
    - int
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: GetOneColumn
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetOneColumn(AES_state* s, const AES_state* a, int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - s
    - r
    - a
    - c1
    - c2
    argTypes:
    - AES_state*
    - AES_state*
    - AES_state*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: KeySetupColumnMix
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeySetupColumnMix(AES_state* s, AES_state* r, const AES_state*
      a, int c1, int c2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - r
    argTypes:
    - AES_state*
    - AES_state*
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: KeySetupTransform
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeySetupTransform(AES_state* s, const AES_state* r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - AES_state*
    constantsTouched: []
    func_position:
      end: 396
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 396
    functionName: MultX
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultX(AES_state* s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LoadByte
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:429,1
    - Dst: GetOneColumn
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:433,1
    - Dst: SubBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:438,1
    - Dst: KeySetupTransform
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:439,1
    - Dst: MultX
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:440,1
    - Dst: SubBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:442,1
    - Dst: KeySetupColumnMix
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:445,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - rounds
    - key
    - nkeywords
    - nrounds
    argTypes:
    - AES_state*
    - uint8_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 447
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 447
    functionName: AES_setup
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached:
    - SubBytes
    - KeySetupColumnMix
    - MultX
    - LoadByte
    - GetOneColumn
    - KeySetupTransform
    linkageType: ''
    returnType: void
    signature: void AES_setup(AES_state* rounds, const uint8_t* key, int nkeywords,
      int nrounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LoadBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:453,1
    - Dst: AddRoundKey
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:454,1
    - Dst: SubBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:457,1
    - Dst: ShiftRows
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:458,1
    - Dst: MixColumns
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:459,1
    - Dst: AddRoundKey
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:460,1
    - Dst: SubBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:463,1
    - Dst: ShiftRows
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:464,1
    - Dst: AddRoundKey
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:465,1
    - Dst: SaveBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - rounds
    - nrounds
    - cipher16
    - plain16
    argTypes:
    - AES_state*
    - int
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 468
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 468
    functionName: AES_encrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached:
    - SaveBytes
    - ShiftRows
    - MixColumns
    - SubBytes
    - AddRoundKey
    - LoadBytes
    linkageType: ''
    returnType: void
    signature: void AES_encrypt(const AES_state* rounds, int nrounds, unsigned char*
      cipher16, const unsigned char* plain16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LoadBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:480,1
    - Dst: AddRoundKey
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:481,1
    - Dst: InvShiftRows
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:484,1
    - Dst: SubBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:485,1
    - Dst: AddRoundKey
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:486,1
    - Dst: MixColumns
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:487,1
    - Dst: InvShiftRows
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:490,1
    - Dst: SubBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:491,1
    - Dst: AddRoundKey
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:492,1
    - Dst: SaveBytes
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - rounds
    - nrounds
    - plain16
    - cipher16
    argTypes:
    - AES_state*
    - int
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 495
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 495
    functionName: AES_decrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 0
    functionsReached:
    - SaveBytes
    - MixColumns
    - SubBytes
    - InvShiftRows
    - AddRoundKey
    - LoadBytes
    linkageType: ''
    returnType: void
    signature: void AES_decrypt(const AES_state* rounds, int nrounds, unsigned char*
      plain16, const unsigned char* cipher16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_setup
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key16
    argTypes:
    - AES128_ctx*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 499
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 499
    functionName: AES128_init
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 3
    functionsReached:
    - AES_setup
    linkageType: ''
    returnType: void
    signature: void AES128_init(AES128_ctx* ctx, const unsigned char* key16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - blocks
    - cipher16
    - plain16
    argTypes:
    - AES128_ctx*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 3
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: AES128_encrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 2
    functionsReached:
    - AES_encrypt
    linkageType: ''
    returnType: void
    signature: void AES128_encrypt(const AES128_ctx* ctx, size_t blocks, unsigned
      char* cipher16, const unsigned char* plain16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - blocks
    - plain16
    - cipher16
    argTypes:
    - AES128_ctx*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 515
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 515
    functionName: AES128_decrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 2
    functionsReached:
    - AES_decrypt
    linkageType: ''
    returnType: void
    signature: void AES128_decrypt(const AES128_ctx* ctx, size_t blocks, unsigned
      char* plain16, const unsigned char* cipher16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_setup
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key24
    argTypes:
    - AES192_ctx*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 519
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 519
    functionName: AES192_init
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 3
    functionsReached:
    - AES_setup
    linkageType: ''
    returnType: void
    signature: void AES192_init(AES192_ctx* ctx, const unsigned char* key24)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - blocks
    - cipher16
    - plain16
    argTypes:
    - AES192_ctx*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 3
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: AES192_encrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 2
    functionsReached:
    - AES_encrypt
    linkageType: ''
    returnType: void
    signature: void AES192_encrypt(const AES192_ctx* ctx, size_t blocks, unsigned
      char* cipher16, const unsigned char* plain16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - blocks
    - plain16
    - cipher16
    argTypes:
    - AES192_ctx*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 3
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: AES192_decrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 2
    functionsReached:
    - AES_decrypt
    linkageType: ''
    returnType: void
    signature: void AES192_decrypt(const AES192_ctx* ctx, size_t blocks, unsigned
      char* plain16, const unsigned char* cipher16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_setup
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key32
    argTypes:
    - AES256_ctx*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 540
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 540
    functionName: AES256_init
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 5
    functionsReached:
    - AES_setup
    linkageType: ''
    returnType: void
    signature: void AES256_init(AES256_ctx* ctx, const unsigned char* key32)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_encrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - blocks
    - cipher16
    - plain16
    argTypes:
    - AES256_ctx*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 548
      start: 542
    functionDepth: 3
    functionLinenumber: 542
    functionLinenumberEnd: 548
    functionName: AES256_encrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 3
    functionsReached:
    - AES_encrypt
    linkageType: ''
    returnType: void
    signature: void AES256_encrypt(const AES256_ctx* ctx, size_t blocks, unsigned
      char* cipher16, const unsigned char* plain16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_decrypt
      Src: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - blocks
    - plain16
    - cipher16
    argTypes:
    - AES256_ctx*
    - size_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 556
      start: 550
    functionDepth: 3
    functionLinenumber: 550
    functionLinenumberEnd: 556
    functionName: AES256_decrypt
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/crypto/ctaes/ctaes.c
    functionUses: 3
    functionsReached:
    - AES_decrypt
    linkageType: ''
    returnType: void
    signature: void AES256_decrypt(const AES256_ctx* ctx, size_t blocks, unsigned
      char* plain16, const unsigned char* cipher16)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: bswap_16
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/byteswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t bswap_16(uint16_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: bswap_32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/byteswap.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t bswap_32(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: bswap_64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/byteswap.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t bswap_64(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_16bits
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: htobe16
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t htobe16(uint16_t host_16bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_16bits
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: htole16
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t htole16(uint16_t host_16bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - big_endian_16bits
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: be16toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t be16toh(uint16_t big_endian_16bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - little_endian_16bits
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: le16toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t le16toh(uint16_t little_endian_16bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_32bits
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: htobe32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t htobe32(uint32_t host_32bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_32bits
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: htole32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t htole32(uint32_t host_32bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - big_endian_32bits
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: be32toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t be32toh(uint32_t big_endian_32bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - little_endian_32bits
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: le32toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t le32toh(uint32_t little_endian_32bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_64bits
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: htobe64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t htobe64(uint64_t host_64bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_64
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_64bits
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: htole64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached:
    - bswap_64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t htole64(uint64_t host_64bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - big_endian_64bits
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: be64toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t be64toh(uint64_t big_endian_64bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_64
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - little_endian_64bits
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: le64toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached:
    - bswap_64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t le64toh(uint64_t little_endian_64bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_16bits
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: htobe16
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t htobe16(uint16_t host_16bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_16bits
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: htole16
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t htole16(uint16_t host_16bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - big_endian_16bits
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: be16toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t be16toh(uint16_t big_endian_16bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - little_endian_16bits
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: le16toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t le16toh(uint16_t little_endian_16bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_32bits
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: htobe32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t htobe32(uint32_t host_32bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_32bits
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: htole32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t htole32(uint32_t host_32bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - big_endian_32bits
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: be32toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t be32toh(uint32_t big_endian_32bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - little_endian_32bits
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: le32toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t le32toh(uint32_t little_endian_32bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_64
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_64bits
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: htobe64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached:
    - bswap_64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t htobe64(uint64_t host_64bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host_64bits
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: htole64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t htole64(uint64_t host_64bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_64
      Src: /src/cryptofuzz/modules/bitcoin/compat/endian.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - big_endian_64bits
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: be64toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached:
    - bswap_64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t be64toh(uint64_t big_endian_64bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - little_endian_64bits
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: le64toh
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/endian.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t le64toh(uint64_t little_endian_64bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __cpuid_count
      Src: /src/cryptofuzz/modules/bitcoin/compat/cpuid.h:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - leaf
    - subleaf
    - ' a'
    - ' b'
    - ' c'
    - ' d'
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: GetCPUID
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/compat/cpuid.h
    functionUses: 1
    functionsReached:
    - __cpuid_count
    linkageType: ''
    returnType: void
    signature: void GetCPUID(uint32_t leaf, uint32_t subleaf, uint32_t& a, uint32_t&
      b, uint32_t& c, uint32_t& d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: IsDigit
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsDigit(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: IsSpace
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSpace(char c) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HexStr
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.h:150,1
    - Dst: MakeUCharSpan
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span<const char>
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: HexStr
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.h
    functionUses: 16
    functionsReached:
    - MakeUCharSpan
    - HexStr
    linkageType: ''
    returnType: std::string
    signature: std::string HexStr(const Span<const char> s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.h:166,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.h:166,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.h:168,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.h:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: TimingResistantEqual
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool TimingResistantEqual(const T& a, const T& b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: outfn
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.h:192,1
    - Dst: outfn
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.h:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ' outfn'
    - it
    - end
    argTypes:
    - O
    - I
    - I
    constantsTouched: []
    func_position:
      end: 202
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 202
    functionName: ConvertBits
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.h
    functionUses: 0
    functionsReached:
    - outfn
    linkageType: ''
    returnType: bool
    signature: bool ConvertBits(const O& outfn, I it, I end)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: ToLower
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char ToLower(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: ToUpper
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char ToUpper(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:20,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:22,1
    - Dst: find_last_not_of
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:24,1
    - Dst: substr
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: TrimString
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/string.h
    functionUses: 0
    functionsReached:
    - substr
    - find_first_not_of
    - std::string
    - find_last_not_of
    linkageType: ''
    returnType: std::string
    signature: std::string TrimString(const std::string& str, const std::string& pattern
      = " \f\n\r\t\v")
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: substr
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:30,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:30,1
    - Dst: substr
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:31,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' str'
    - ' prefix'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: RemovePrefix
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/string.h
    functionUses: 0
    functionsReached:
    - substr
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string RemovePrefix(const std::string& str, const std::string&
      prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unary_op
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:45,1
    - Dst: at
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:45,1
    - Dst: unary_op
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:47,1
    - Dst: at
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:47,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:48,1
    - Dst: unary_op
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:50,1
    - Dst: at
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' list'
    - ' separator'
    - unary_op
    argTypes:
    - std::vector<T>
    - BaseType
    - UnaryOp
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: Join
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/string.h
    functionUses: 0
    functionsReached:
    - at
    - unary_op
    - size
    linkageType: ''
    returnType: auto
    signature: "auto Join(const std::vector<T>& list, const BaseType& separator, UnaryOp
      unary_op)\n    -> decltype(unary_op(list.at(0)))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Join
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' list'
    - ' separator'
    argTypes:
    - std::vector<T>
    - T
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: Join
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/string.h
    functionUses: 1
    functionsReached:
    - Join
    linkageType: ''
    returnType: T
    signature: T Join(const std::vector<T>& list, const T& separator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Join
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' list'
    - ' separator'
    argTypes:
    - std::vector<std::string>
    - std::string
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: Join
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/string.h
    functionUses: 2
    functionsReached:
    - Join
    linkageType: ''
    returnType: std::string
    signature: std::string Join(const std::vector<std::string>& list, const std::string&
      separator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:72,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:72,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: ValidAsCString
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/string.h
    functionUses: 0
    functionsReached:
    - c_str
    - strlen
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidAsCString(const std::string& str) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::imbue
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:82,1
    - Dst: std::locale::classic
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:82,1
    - Dst: std::ostringstream::str
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: ToString
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/string.h
    functionUses: 175
    functionsReached:
    - std::locale::classic
    - std::ostringstream::imbue
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const T& t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:94,1
    - Dst: std::equal
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:95,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:95,1
    - Dst: end
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:95,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/bitcoin/util/string.h:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' obj'
    - ' prefix'
    argTypes:
    - T1
    - std::array<uint8_t, PREFIX_LEN>
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: HasPrefix
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/string.h
    functionUses: 0
    functionsReached:
    - begin
    - std::equal
    - end
    - size
    linkageType: ''
    returnType: bool
    signature: "bool HasPrefix(const T1& obj,\n                                const
      std::array<uint8_t, PREFIX_LEN>& prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:30,1
    - Dst: find
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:32,1
    - Dst: std::string::push_back
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' str'
    - rule
    argTypes:
    - std::string
    - int
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: SanitizeString
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - std::string::push_back
    - find
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string SanitizeString(const std::string& str, int rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: HexDigit
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: signed char
    signature: signed char HexDigit(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:63,1
    - Dst: end
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:63,1
    - Dst: HexDigit
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:65,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:68,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: IsHex
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - begin
    - HexDigit
    - end
    - size
    linkageType: ''
    returnType: bool
    signature: bool IsHex(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:74,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:74,1
    - Dst: begin
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:74,1
    - Dst: substr
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:77,1
    - Dst: HexDigit
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:78,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: IsHexNumber
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - substr
    - begin
    - HexDigit
    - size
    linkageType: ''
    returnType: bool
    signature: bool IsHexNumber(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsSpace
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:90,1
    - Dst: HexDigit
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:96,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 103
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 103
    functionName: ParseHex
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - IsSpace
    - HexDigit
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ParseHex(const char* psz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParseHex
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:107,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: ParseHex
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 1
    functionsReached:
    - ParseHex
    - c_str
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> ParseHex(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParseUInt16
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:119,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:119,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:120,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:124,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:124,1
    - Dst: std::string::substr
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:125,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:125,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 3
    argNames:
    - in
    - ' portOut'
    - ' hostOut'
    argTypes:
    - std::string
    - uint16_t
    - std::string
    constantsTouched: []
    func_position:
      end: 129
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 129
    functionName: SplitHostPort
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::substr
    - ParseUInt16
    linkageType: ''
    returnType: void
    signature: void SplitHostPort(std::string in, uint16_t& portOut, std::string&
      hostOut)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:136,1
    - Dst: Span<const unsigned char>::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:136,1
    - Dst: ConvertBits
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:137,1
    - Dst: Span<const unsigned char>::begin
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:137,1
    - Dst: Span<const unsigned char>::end
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:137,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - Span<const unsigned char>
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: EncodeBase64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - Span<const unsigned char>::size
    - std::string::size
    - Span<const unsigned char>::end
    - Span<const unsigned char>::begin
    - std::string::reserve
    - ConvertBits
    linkageType: ''
    returnType: std::string
    signature: std::string EncodeBase64(Span<const unsigned char> input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EncodeBase64
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:144,1
    - Dst: MakeUCharSpan
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: EncodeBase64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 1
    functionsReached:
    - MakeUCharSpan
    - EncodeBase64
    linkageType: ''
    returnType: std::string
    signature: std::string EncodeBase64(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:168,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:168,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:172,1
    - Dst: std::vector::reserve
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:177,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:177,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - p
    - pf_invalid
    argTypes:
    - char*
    - bool*
    constantsTouched: []
    func_position:
      end: 192
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 192
    functionName: DecodeBase64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::vector::reserve
    - std::vector::size
    - strlen
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> DecodeBase64(const char* p, bool* pf_invalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidAsCString
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:196,1
    - Dst: DecodeBase64
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:202,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:202,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:203,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:203,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' str'
    - pf_invalid
    argTypes:
    - std::string
    - bool*
    constantsTouched: []
    func_position:
      end: 204
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 204
    functionName: DecodeBase64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - c_str
    - std::string
    - DecodeBase64
    - ValidAsCString
    - std::vector::data
    linkageType: ''
    returnType: std::string
    signature: std::string DecodeBase64(const std::string& str, bool* pf_invalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:211,1
    - Dst: Span<const unsigned char>::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:211,1
    - Dst: ConvertBits
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:212,1
    - Dst: Span<const unsigned char>::begin
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:212,1
    - Dst: Span<const unsigned char>::end
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:212,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - input
    - pad
    argTypes:
    - Span<const unsigned char>
    - bool
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 219
    functionName: EncodeBase32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - Span<const unsigned char>::size
    - std::string::size
    - Span<const unsigned char>::end
    - Span<const unsigned char>::begin
    - std::string::reserve
    - ConvertBits
    linkageType: ''
    returnType: std::string
    signature: std::string EncodeBase32(Span<const unsigned char> input, bool pad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EncodeBase32
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:223,1
    - Dst: MakeUCharSpan
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - pad
    argTypes:
    - std::string
    - bool
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: EncodeBase32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 1
    functionsReached:
    - MakeUCharSpan
    - EncodeBase32
    linkageType: ''
    returnType: std::string
    signature: std::string EncodeBase32(const std::string& str, bool pad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:247,1
    - Dst: strlen
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:247,1
    - Dst: std::vector::push_back
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:251,1
    - Dst: std::vector::reserve
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:256,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:256,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - p
    - pf_invalid
    argTypes:
    - char*
    - bool*
    constantsTouched: []
    func_position:
      end: 271
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 271
    functionName: DecodeBase32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::vector::reserve
    - std::vector::size
    - strlen
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> DecodeBase32(const char* p, bool* pf_invalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidAsCString
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:275,1
    - Dst: DecodeBase32
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:281,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:281,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:282,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:282,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' str'
    - pf_invalid
    argTypes:
    - std::string
    - bool*
    constantsTouched: []
    func_position:
      end: 283
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 283
    functionName: DecodeBase32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - c_str
    - std::string
    - DecodeBase32
    - ValidAsCString
    - std::vector::data
    linkageType: ''
    returnType: std::string
    signature: std::string DecodeBase32(const std::string& str, bool* pf_invalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:287,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:289,1
    - Dst: IsSpace
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:289,1
    - Dst: IsSpace
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:289,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:289,1
    - Dst: ValidAsCString
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: ParsePrechecks
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - empty
    - IsSpace
    - ValidAsCString
    - size
    linkageType: ''
    returnType: bool
    signature: bool ParsePrechecks(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParsePrechecks
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:298,1
    - Dst: Botan_Tests::get_test_instances_min
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:308,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:309,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - ' str'
    - out
    argTypes:
    - std::string
    - int32_t*
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: ParseInt32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - ParsePrechecks
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - Botan_Tests::get_test_instances_min
    linkageType: ''
    returnType: bool
    signature: bool ParseInt32(const std::string& str, int32_t *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParsePrechecks
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:314,1
    - Dst: Botan_Tests::get_test_instances_min
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:323,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:324,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - ' str'
    - out
    argTypes:
    - std::string
    - int64_t*
    constantsTouched: []
    func_position:
      end: 325
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 325
    functionName: ParseInt64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - ParsePrechecks
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - Botan_Tests::get_test_instances_min
    linkageType: ''
    returnType: bool
    signature: bool ParseInt64(const std::string& str, int64_t *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParseUInt32
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:330,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:330,1
    - Dst: static_cast<uint8_t>
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' str'
    - out
    argTypes:
    - std::string
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 337
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 337
    functionName: ParseUInt8
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - ParseUInt32
    - static_cast<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool ParseUInt8(const std::string& str, uint8_t *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParseUInt32
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:342,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:342,1
    - Dst: static_cast<uint16_t>
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' str'
    - out
    argTypes:
    - std::string
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 349
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 349
    functionName: ParseUInt16
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint16_t>
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - ParseUInt32
    linkageType: ''
    returnType: bool
    signature: bool ParseUInt16(const std::string& str, uint16_t* out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParsePrechecks
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:353,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:355,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:365,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - ' str'
    - out
    argTypes:
    - std::string
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 366
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 366
    functionName: ParseUInt32
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 2
    functionsReached:
    - ParsePrechecks
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - size
    linkageType: ''
    returnType: bool
    signature: bool ParseUInt32(const std::string& str, uint32_t *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParsePrechecks
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:370,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:372,1
    - Dst: Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - ' str'
    - out
    argTypes:
    - std::string
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 382
      start: 368
    functionDepth: 3
    functionLinenumber: 368
    functionLinenumberEnd: 382
    functionName: ParseUInt64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - ParsePrechecks
    - Botan::Sodium::crypto_secretbox_xsalsa20poly1305_messagebytes_max
    - size
    linkageType: ''
    returnType: bool
    signature: bool ParseUInt64(const std::string& str, uint64_t *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParsePrechecks
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:387,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:389,1
    - Dst: std::istringstream::imbue
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:392,1
    - Dst: std::locale::classic
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:392,1
    - Dst: std::istringstream::eof
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:396,1
    - Dst: std::istringstream::fail
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:396,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ' str'
    - out
    argTypes:
    - std::string
    - double*
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: ParseDouble
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - ParsePrechecks
    - std::istringstream::fail
    - size
    - std::locale::classic
    - std::istringstream::imbue
    - std::istringstream::eof
    linkageType: ''
    returnType: bool
    signature: bool ParseDouble(const std::string& str, double *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:404,1
    - Dst: size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:408,1
    - Dst: substr
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:413,1
    - Dst: find_first_of
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:420,1
    - Dst: substr
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:423,1
    - Dst: substr
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:427,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:431,1
    - Dst: std::stringstream::str
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:437,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - ' in'
    - width
    - indent
    argTypes:
    - std::string
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 438
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 438
    functionName: FormatParagraph
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - size
    - find_first_of
    - std::stringstream::str
    - substr
    linkageType: ''
    returnType: std::string
    signature: std::string FormatParagraph(const std::string& in, size_t width, size_t
      indent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _atoi64
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:443,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:443,1
    - Dst: strtoll
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:445,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 447
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 447
    functionName: atoi64
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 1
    functionsReached:
    - strtoll
    - c_str
    - _atoi64
    linkageType: ''
    returnType: int64_t
    signature: int64_t atoi64(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:451,1
    - Dst: c_str
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: atoi
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 7
    functionsReached:
    - atoi
    - c_str
    linkageType: ''
    returnType: int
    signature: int atoi(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ch
    - mantissa
    - mantissa_tzeros
    argTypes:
    - char
    - int64_t
    - int
    constantsTouched: []
    func_position:
      end: 479
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 479
    functionName: ProcessMantissaDigit
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ProcessMantissaDigit(char ch, int64_t &mantissa, int &mantissa_tzeros)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsDigit
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:502,1
    - Dst: ProcessMantissaDigit
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:503,1
    - Dst: IsDigit
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:512,1
    - Dst: IsDigit
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:514,1
    - Dst: ProcessMantissaDigit
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:515,1
    - Dst: IsDigit
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:531,1
    - Dst: IsDigit
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:532,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 71
    argCount: 3
    argNames:
    - val
    - decimals
    - amount_out
    argTypes:
    - std::string
    - int
    - int64_t*
    constantsTouched: []
    func_position:
      end: 571
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 571
    functionName: ParseFixedPoint
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - IsDigit
    - ProcessMantissaDigit
    linkageType: ''
    returnType: bool
    signature: bool ParseFixedPoint(const std::string &val, int decimals, int64_t
      *amount_out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToLower
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 578
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 578
    functionName: ToLower
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 2
    functionsReached:
    - ToLower
    linkageType: ''
    returnType: std::string
    signature: std::string ToLower(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToUpper
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 585
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 585
    functionName: ToUpper
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 1
    functionsReached:
    - ToUpper
    linkageType: ''
    returnType: std::string
    signature: std::string ToUpper(const std::string& str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:589,1
    - Dst: ToUpper
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:590,1
    - Dst: std::string::front
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 592
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 592
    functionName: Capitalize
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 0
    functionsReached:
    - ToUpper
    - std::string::front
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string Capitalize(std::string str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:599,1
    - Dst: Span<const uint8_t>::size
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:599,1
    - Dst: std::string::push_back
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:601,1
    - Dst: std::string::push_back
      Src: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - Span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 605
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 605
    functionName: HexStr
    functionSourceFile: /src/cryptofuzz/modules/bitcoin/util/strencodings.cpp
    functionUses: 16
    functionsReached:
    - Span<const uint8_t>::size
    - std::string::push_back
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: std::string HexStr(const Span<const uint8_t> s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: cryptofuzz::module::rust_uint::rust_uint
    functionSourceFile: /src/cryptofuzz/modules/rust-uint/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rust_uint::rust_uint(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:22,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:22,1
    - Dst: modulo::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:26,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:34,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:34,1
    - Dst: bn0::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:34,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:35,1
    - Dst: cryptofuzz::util::DecToBin
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:35,1
    - Dst: bn1::ToTrimmedString
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:35,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:38,1
    - Dst: rust_uint_bigint_bignumcalc
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:42,1
    - Dst: calcOp::Get
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:43,1
    - Dst: std::optional::data
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:44,1
    - Dst: data
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:45,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:50,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/rust-uint/module.cpp:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::BignumCalc
    constantsTouched: []
    func_position:
      end: 57
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 57
    functionName: cryptofuzz::module::rust_uint::OpBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/rust-uint/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - bn1::ToTrimmedString
    - std::optional::data
    - modifier::GetPtr
    - data
    - CF_CHECK_EQ
    - Datasource::Get
    - cryptofuzz::util::BinToDec
    - modulo::ToTrimmedString
    - modifier::GetSize
    - rust_uint_bigint_bignumcalc
    - cryptofuzz::util::DecToBin
    - calcOp::Get
    - bn0::ToTrimmedString
    linkageType: ''
    returnType: std::optional<component::Bignum>
    signature: std::optional<component::Bignum> rust_uint::OpBignumCalc(operation::BignumCalc&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: cryptofuzz::module::rust_uint::SupportsModularBignumCalc
    functionSourceFile: /src/cryptofuzz/modules/rust-uint/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool rust_uint::SupportsModularBignumCalc(void) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:12,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:14,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:15,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:15,1
    - Dst: std::transform
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:16,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:16,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:16,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:16,1
    - Dst: std::tolower
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:17,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:19,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:22,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:22,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:25,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:26,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:26,1
    - Dst: std::transform
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:27,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:27,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:27,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:27,1
    - Dst: std::tolower
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:28,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:29,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:32,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:32,1
    - Dst: std::string
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:35,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:36,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:36,1
    - Dst: std::regex_replace
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:37,1
    - Dst: std::regex
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:37,1
    - Dst: std::transform
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:38,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:38,1
    - Dst: auto::end
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:38,1
    - Dst: auto::begin
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:38,1
    - Dst: std::tolower
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:39,1
    - Dst: fprintf
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:40,1
    - Dst: auto::c_str
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:43,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:43,1
    - Dst: fclose
      Src: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/cryptofuzz/modules/rust-uint/generate_ids.cpp
    functionUses: 97
    functionsReached:
    - std::regex_replace
    - std::regex
    - std::transform
    - std::to_string
    - std::string
    - std::tolower
    - auto::begin
    - fprintf
    - auto::c_str
    - fclose
    - auto::end
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:48,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:51,1
    - Dst: BN_add
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:51,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:51,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:51,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:51,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:52,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:52,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:55,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:55,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:55,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:56,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:56,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:56,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:57,1
    - Dst: BN_uadd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:57,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:57,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:57,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:57,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:61,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:62,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:64,1
    - Dst: BN_add_word
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:64,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:64,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:66,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 78
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 78
    functionName: cryptofuzz::module::OpenSSL_bignum::Add::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_uadd
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - GetResPtr
    - BN_is_negative
    - CF_NORET
    - CF_CHECK_EQ
    - CopyResult
    - AsBN_ULONG
    - BN_add_word
    - GET_WHICH
    - Set
    - CF_ASSERT_EQ
    - BN_add
    linkageType: ''
    returnType: bool
    signature: bool Add::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:84,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:87,1
    - Dst: BN_sub
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:87,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:87,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:87,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:87,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:88,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:88,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:96,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:96,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:96,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:97,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:97,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:97,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:98,1
    - Dst: BN_usub
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:98,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:98,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:98,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:98,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:103,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:104,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:106,1
    - Dst: BN_sub_word
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:106,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:106,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:108,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:108,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:113,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:113,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:113,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:114,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:114,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:114,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:115,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:115,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:115,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:115,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:116,1
    - Dst: bn_abs_sub_consttime
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:116,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:116,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:116,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:116,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 128
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 128
    functionName: cryptofuzz::module::OpenSSL_bignum::Sub::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - GetResPtr
    - BN_sub
    - CF_NORET
    - CF_CHECK_EQ
    - CopyResult
    - BN_is_negative
    - AsBN_ULONG
    - GET_WHICH
    - Set
    - BN_cmp
    - CF_ASSERT_EQ
    - BN_sub_word
    - bn_abs_sub_consttime
    - BN_usub
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool Sub::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:135,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:138,1
    - Dst: BN_mul
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:138,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:138,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:138,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:138,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:138,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:139,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:139,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:143,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:144,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:146,1
    - Dst: BN_mul_word
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:146,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:146,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:148,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 160
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 160
    functionName: cryptofuzz::module::OpenSSL_bignum::Mul::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_mul
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - GetResPtr
    - BN_mul_word
    - CF_NORET
    - CF_CHECK_EQ
    - CopyResult
    - AsBN_ULONG
    - Set
    - GET_WHICH
    - CF_ASSERT_EQ
    linkageType: ''
    returnType: bool
    signature: bool Mul::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:166,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:169,1
    - Dst: BN_mod
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:170,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:170,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:170,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:170,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:170,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:172,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:172,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:176,1
    - Dst: BN_div
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:177,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:177,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:177,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:177,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:177,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:179,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:179,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:185,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:187,1
    - Dst: bn_div_consttime
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:187,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:189,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:190,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:191,1
    - Dst: BN_num_bits
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:192,1
    - Dst: GetPtrConst
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:192,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:193,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:197,1
    - Dst: cryptofuzz::util::HintBignumPow2
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:197,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:198,1
    - Dst: BN_is_pow2
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:198,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:198,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:199,1
    - Dst: BN_mod_pow2
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:199,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:199,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:199,1
    - Dst: BN_num_bits
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:199,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:199,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:206,1
    - Dst: AsUint64
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:206,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:210,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:212,1
    - Dst: CF_CHECK_LTE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:217,1
    - Dst: BN_num_bits_word
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:217,1
    - Dst: bn_mod_u16_consttime
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:220,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:220,1
    - Dst: SetUint32
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:221,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:230,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:230,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:230,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:232,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:233,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:234,1
    - Dst: BN_mod_word
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:236,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:236,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:238,1
    - Dst: SetWord
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:238,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:243,1
    - Dst: cryptofuzz::util::HintBignumPow2
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:243,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:244,1
    - Dst: BN_is_pow2
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:244,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:244,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:245,1
    - Dst: BN_nnmod_pow2
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:245,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:245,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:245,1
    - Dst: BN_num_bits
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:245,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:245,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:250,1
    - Dst: BN_mod_ct
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:251,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:251,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:251,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:251,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:251,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:253,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:253,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:265,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:265,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:266,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:266,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 272
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 272
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - BN_mod_word
    - BN_num_bits_word
    - BN_is_negative
    - SetWord
    - CF_CHECK_GT
    - BN_nnmod_pow2
    - CF_ASSERT_EQ_COND
    - BN_num_bits
    - CF_CHECK_LTE
    - CF_CHECK_NE
    - AsBN_ULONG
    - BN_div
    - BN_is_pow2
    - cryptofuzz::util::HintBignumPow2
    - BN_mod
    - GetDestPtr
    - CF_CHECK_EQ
    - bn_div_consttime
    - GET_WHICH
    - GetPtrConst
    - BN_mod_pow2
    - Get
    - SetUint32
    - CF_CHECK_TRUE
    - GetPtr
    - BN_mod_ct
    - CF_NORET
    - bn_mod_u16_consttime
    - AsUint64
    linkageType: ''
    returnType: bool
    signature: bool Mod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:280,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:280,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:281,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:281,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:281,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:281,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:282,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:282,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:282,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:282,1
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:285,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:292,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:293,1
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:293,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:293,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:301,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:302,1
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:302,1
    - Dst: cryptofuzz::util::BinToDec
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:302,1
    - Dst: rand
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:309,1
    - Dst: testFp12pow
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:310,1
    - Dst: rand
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:310,1
    - Dst: boost::multiprecision::cpp_int::str
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:311,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:312,1
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:312,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:315,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:316,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:317,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:318,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:319,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:320,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:321,1
    - Dst: defined
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:324,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:325,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:325,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:325,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:325,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:327,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:327,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:328,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:328,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:329,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:329,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:329,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:333,1
    - Dst: BN_mod_exp_mont
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:334,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:335,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:336,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:337,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:338,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:339,1
    - Dst: defined
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:342,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:343,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:343,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:343,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:343,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:345,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:345,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:346,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:346,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:347,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:347,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:347,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:351,1
    - Dst: BN_mod_exp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:352,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:353,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:354,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:355,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:356,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:357,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:359,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:359,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:359,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:359,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:363,1
    - Dst: BN_mod_exp_simple
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:363,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:363,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:363,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:363,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:363,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:363,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:375,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:395,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:395,1
    - Dst: BN_rand
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:396,1
    - Dst: Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:396,1
    - Dst: cryptofuzz::util::HintBignumOpt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:397,1
    - Dst: Bignum::ToString
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:397,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:402,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:402,1
    - Dst: BN_rand
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:403,1
    - Dst: Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:403,1
    - Dst: cryptofuzz::util::HintBignumOpt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:404,1
    - Dst: Bignum::ToString
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:404,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:409,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:409,1
    - Dst: BN_rand
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:410,1
    - Dst: Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:410,1
    - Dst: cryptofuzz::util::HintBignumOpt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:411,1
    - Dst: Bignum::ToString
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:411,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:417,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:417,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:419,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:420,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:421,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:423,1
    - Dst: BN_mod_exp_mont_consttime_x2
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:423,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:424,1
    - Dst: Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:427,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:429,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:436,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:436,1
    - Dst: BN_one
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:437,1
    - Dst: Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:437,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:439,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:440,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:440,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:440,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:444,1
    - Dst: BN_mod_exp2_mont
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:444,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:445,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:446,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:446,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:448,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:449,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:455,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:455,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:455,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:460,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:461,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:462,1
    - Dst: BN_mod_exp_mont_word
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:462,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:462,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:462,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:462,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:462,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 92
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 475
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 475
    functionName: cryptofuzz::module::OpenSSL_bignum::ExpMod::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - testFp12pow
    - rand
    - CF_ASSERT_EQ_COND
    - Bignum::GetPtr
    - Bignum::ToString
    - BN_mod_exp_simple
    - cryptofuzz::util::HintBignum
    - CF_CHECK_NE
    - BN_is_odd
    - AsBN_ULONG
    - BN_mod_exp2_mont
    - BN_mod_exp_mont_consttime
    - GetData
    - BN_cmp
    - BN_mod_exp_mont_consttime_x2
    - GetDestPtr
    - CF_CHECK_EQ
    - boost::multiprecision::cpp_int::str
    - GET_WHICH
    - cryptofuzz::util::BinToDec
    - BN_mod_exp_mont
    - BN_mod_exp
    - Get
    - CF_CHECK_TRUE
    - GetPtr
    - BN_rand
    - CF_NORET
    - defined
    - Bignum::New
    - BN_one
    - cryptofuzz::util::HintBignumOpt
    - Bignum::GetDestPtr
    - BN_mod_exp_mont_word
    linkageType: ''
    returnType: bool
    signature: bool ExpMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:481,1
    - Dst: BN_sqr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:481,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:481,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:481,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:481,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:482,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 487
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 487
    functionName: cryptofuzz::module::OpenSSL_bignum::Sqr::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetResPtr
    - CF_NORET
    - CopyResult
    - CF_ASSERT_EQ
    - BN_sqr
    linkageType: ''
    returnType: bool
    signature: bool Sqr::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:493,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:496,1
    - Dst: BN_gcd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:496,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:496,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:496,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:496,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:496,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:497,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:497,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:501,1
    - Dst: BN_gcd_ct
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:501,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:501,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:501,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:501,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 512
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 512
    functionName: cryptofuzz::module::OpenSSL_bignum::GCD::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetDestPtr
    - BN_gcd
    - GetResPtr
    - CF_NORET
    - CF_CHECK_EQ
    - CopyResult
    - GET_WHICH
    - CF_ASSERT_EQ
    - BN_gcd_ct
    linkageType: ''
    returnType: bool
    signature: bool GCD::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:517,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:520,1
    - Dst: BN_mod_add
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:521,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:522,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:523,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:524,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:525,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:526,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:528,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:528,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:533,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:533,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:536,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:536,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:536,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:536,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:537,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:537,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:537,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:537,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:538,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:538,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:538,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:538,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:539,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:539,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:539,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:539,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:540,1
    - Dst: BN_mod_add_quick
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:541,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:542,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:543,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:544,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:545,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 558
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 558
    functionName: cryptofuzz::module::OpenSSL_bignum::AddMod::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - GetPtr
    - GetDestPtr
    - BN_mod_add_quick
    - CF_CHECK_EQ
    - GET_WHICH
    - CF_CHECK_LT
    - CF_ASSERT_EQ_COND
    - Bignum::New
    - Bignum::GetPtr
    - CF_ASSERT_EQ
    - BN_mod_add
    - BN_cmp
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool AddMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:563,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:566,1
    - Dst: BN_mod_sub
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:567,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:568,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:569,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:570,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:571,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:572,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:574,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:574,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:579,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:579,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:582,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:582,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:582,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:582,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:583,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:583,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:583,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:583,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:584,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:584,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:584,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:584,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:585,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:585,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:585,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:585,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:586,1
    - Dst: BN_mod_sub_quick
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:586,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:586,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:586,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:586,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:586,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:602,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:602,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:602,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:603,1
    - Dst: BN_num_bits
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:603,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:603,1
    - Dst: BN_num_bits
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:603,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:603,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:604,1
    - Dst: bn_mod_sub_fixed_top
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:604,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:604,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:604,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:604,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:604,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 616
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 616
    functionName: cryptofuzz::module::OpenSSL_bignum::SubMod::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - GetPtr
    - GetDestPtr
    - CF_CHECK_EQ
    - bn_mod_sub_fixed_top
    - GET_WHICH
    - CF_CHECK_LT
    - BN_mod_sub_quick
    - CF_ASSERT_EQ_COND
    - Bignum::New
    - Bignum::GetPtr
    - CF_ASSERT_EQ
    - BN_num_bits
    - BN_cmp
    - BN_mod_sub
    - CF_CHECK_GTE
    linkageType: ''
    returnType: bool
    signature: bool SubMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:624,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:628,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:629,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:630,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:631,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:632,1
    - Dst: BN_mod_mul
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:633,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:635,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:638,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:641,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:641,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:651,1
    - Dst: BN_MONT_CTX_set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:651,1
    - Dst: BN_MONT_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:651,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:651,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:651,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:656,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:656,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:657,1
    - Dst: BN_nnmod
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:657,1
    - Dst: Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:657,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:657,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:657,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:657,1
    - Dst: Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:658,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:659,1
    - Dst: BN_to_montgomery
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:659,1
    - Dst: BN_MONT_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:659,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:659,1
    - Dst: CF_CHECK_TRUE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:665,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:665,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:666,1
    - Dst: BN_nnmod
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:666,1
    - Dst: Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:666,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:666,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:666,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:666,1
    - Dst: Bignum::GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:667,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:668,1
    - Dst: BN_to_montgomery
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:668,1
    - Dst: BN_MONT_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:668,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:668,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:672,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:672,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:672,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:672,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:672,1
    - Dst: BN_MONT_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:672,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:672,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:675,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:676,1
    - Dst: BN_from_montgomery
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:676,1
    - Dst: BN_MONT_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:676,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:676,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:685,1
    - Dst: BN_RECP_CTX_new
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:685,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:686,1
    - Dst: BN_RECP_CTX_set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:686,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:686,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:686,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:687,1
    - Dst: BN_mod_mul_reciprocal
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:687,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:688,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:689,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:690,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:692,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:693,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:694,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:694,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:707,1
    - Dst: BN_RECP_CTX_free
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:707,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 711
      start: 618
    functionDepth: 2
    functionLinenumber: 618
    functionLinenumberEnd: 711
    functionName: cryptofuzz::module::OpenSSL_bignum::MulMod::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - BN_MONT_CTX::GetPtr
    - BN_MONT_CTX_set
    - BN_to_montgomery
    - CF_CHECK_FALSE
    - CF_ASSERT_EQ_COND
    - Bignum::GetPtr
    - CF_CHECK_NE
    - BN_RECP_CTX_free
    - BN_mod_mul_montgomery
    - BN_mod_mul
    - GetDestPtr
    - GetResPtr
    - CF_CHECK_EQ
    - BN_RECP_CTX_set
    - BN_RECP_CTX_new
    - GET_WHICH
    - BN_mod_mul_reciprocal
    - CF_CHECK_TRUE
    - BN_nnmod
    - GetPtr
    - CF_NORET
    - CopyResult
    - Bignum::New
    - CF_ASSERT_EQ
    - BN_from_montgomery
    - Bignum::GetDestPtr
    linkageType: ''
    returnType: bool
    signature: bool MulMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:716,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:719,1
    - Dst: BN_mod_sqr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:720,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:721,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:722,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:723,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:724,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:726,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 737
      start: 713
    functionDepth: 2
    functionLinenumber: 713
    functionLinenumberEnd: 737
    functionName: cryptofuzz::module::OpenSSL_bignum::SqrMod::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - BN_mod_sqr
    - GetPtr
    - GetDestPtr
    - GET_WHICH
    - CF_ASSERT_EQ_COND
    linkageType: ''
    returnType: bool
    signature: bool SqrMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:744,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:748,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:749,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:750,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:751,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:753,1
    - Dst: BN_mod_inverse
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:753,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:753,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:754,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:754,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:762,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:762,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:762,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:762,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:763,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:763,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:763,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:765,1
    - Dst: BN_mod_inverse_odd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:765,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:765,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:765,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:765,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:765,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:775,1
    - Dst: BN_MONT_CTX_set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:775,1
    - Dst: BN_MONT_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:775,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:775,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:775,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:778,1
    - Dst: BN_mod_inverse_blinded
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:778,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:778,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:778,1
    - Dst: BN_MONT_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:778,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:778,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:795,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 800
      start: 739
    functionDepth: 2
    functionLinenumber: 739
    functionLinenumberEnd: 800
    functionName: cryptofuzz::module::OpenSSL_bignum::InvMod::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_MONT_CTX::GetPtr
    - GetPtr
    - CF_CHECK_NE
    - BN_MONT_CTX_set
    - GetDestPtr
    - BN_is_odd
    - GetResPtr
    - CF_NORET
    - CF_CHECK_EQ
    - CopyResult
    - BN_mod_inverse_odd
    - Set
    - GET_WHICH
    - CF_CHECK_LT
    - BN_mod_inverse
    - BN_mod_inverse_blinded
    - BN_cmp
    linkageType: ''
    returnType: bool
    signature: bool InvMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:809,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:812,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:812,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:812,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:815,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:815,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:815,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:816,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:816,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:816,1
    - Dst: BN_ucmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:817,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:817,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:817,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:822,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:823,1
    - Dst: BN_cmp_word
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:824,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:824,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:839,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:839,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 845
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 845
    functionName: cryptofuzz::module::OpenSSL_bignum::Cmp::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - BN_is_negative
    - CF_CHECK_EQ
    - AsBN_ULONG
    - Set
    - std::to_string
    - GET_WHICH
    - BN_cmp_word
    - BN_ucmp
    - BN_cmp
    linkageType: ''
    returnType: bool
    signature: bool Cmp::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:855,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:858,1
    - Dst: BN_div
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:859,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:860,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:862,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:863,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:864,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:866,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:866,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:872,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:874,1
    - Dst: bn_div_consttime
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:874,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:875,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:877,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:878,1
    - Dst: BN_num_bits
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:879,1
    - Dst: GetPtrConst
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:879,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:880,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:886,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:887,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:889,1
    - Dst: BN_div_word
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:889,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:889,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:890,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:890,1
    - Dst: CF_ASSERT_EQ_COND
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:895,1
    - Dst: BN_div_ct
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:896,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:897,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:899,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:900,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:901,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:903,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:903,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:910,1
    - Dst: BN_RECP_CTX_new
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:910,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:911,1
    - Dst: BN_RECP_CTX_set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:911,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:911,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:911,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:912,1
    - Dst: BN_div_recp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:912,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:913,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:915,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:917,1
    - Dst: CF_CHECK_FALSE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:918,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:931,1
    - Dst: BN_RECP_CTX_free
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:931,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 935
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 935
    functionName: cryptofuzz::module::OpenSSL_bignum::Div::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - CF_CHECK_FALSE
    - CF_ASSERT_EQ_COND
    - BN_num_bits
    - CF_CHECK_NE
    - BN_RECP_CTX_free
    - AsBN_ULONG
    - BN_div
    - BN_div_word
    - GetDestPtr
    - CF_CHECK_EQ
    - BN_RECP_CTX_set
    - bn_div_consttime
    - BN_RECP_CTX_new
    - GET_WHICH
    - GetPtrConst
    - Get
    - GetPtr
    - BN_div_recp
    - CF_NORET
    - Set
    - BN_div_ct
    linkageType: ''
    returnType: bool
    signature: bool Div::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:943,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:943,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:952,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 960
      start: 937
    functionDepth: 2
    functionLinenumber: 937
    functionLinenumberEnd: 960
    functionName: cryptofuzz::module::OpenSSL_bignum::IsPrime::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - Set
    - GetPtr
    - std::to_string
    - BN_num_bits
    linkageType: ''
    returnType: bool
    signature: bool IsPrime::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:967,1
    - Dst: BN_sqrt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:967,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:967,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:967,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:967,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:974,1
    - Dst: bn_isqrt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:974,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:974,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:974,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 986
      start: 962
    functionDepth: 2
    functionLinenumber: 962
    functionLinenumberEnd: 986
    functionName: cryptofuzz::module::OpenSSL_bignum::Sqrt::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetDestPtr
    - bn_isqrt
    - CF_CHECK_EQ
    - BN_sqrt
    linkageType: ''
    returnType: bool
    signature: bool Sqrt::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:992,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:992,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:992,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 995
      start: 988
    functionDepth: 2
    functionLinenumber: 988
    functionLinenumberEnd: 995
    functionName: cryptofuzz::module::OpenSSL_bignum::IsNeg::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    - GetPtr
    - BN_is_negative
    linkageType: ''
    returnType: bool
    signature: bool IsNeg::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1004,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1007,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1007,1
    - Dst: BN_equal_consttime
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1007,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1007,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1007,1
    - Dst: AsBN_ULONG
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1011,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1012,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1013,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1013,1
    - Dst: BN_is_word
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1013,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1013,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1030
      start: 997
    functionDepth: 2
    functionLinenumber: 997
    functionLinenumberEnd: 1030
    functionName: cryptofuzz::module::OpenSSL_bignum::IsEq::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - std::to_string
    - AsBN_ULONG
    - Set
    - GET_WHICH
    - BN_equal_consttime
    - BN_is_word
    linkageType: ''
    returnType: bool
    signature: bool IsEq::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1036,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1036,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1036,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1039
      start: 1032
    functionDepth: 2
    functionLinenumber: 1032
    functionLinenumberEnd: 1039
    functionName: cryptofuzz::module::OpenSSL_bignum::IsEven::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    - BN_is_odd
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsEven::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1045,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1045,1
    - Dst: BN_is_odd
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1045,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1048
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1048
    functionName: cryptofuzz::module::OpenSSL_bignum::IsOdd::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    - BN_is_odd
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsOdd::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1054,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1054,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1054,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1057
      start: 1050
    functionDepth: 2
    functionLinenumber: 1050
    functionLinenumberEnd: 1057
    functionName: cryptofuzz::module::OpenSSL_bignum::IsZero::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - std::to_string
    - Set
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsZero::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1063,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1063,1
    - Dst: BN_is_one
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1063,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1066
      start: 1059
    functionDepth: 2
    functionLinenumber: 1059
    functionLinenumberEnd: 1066
    functionName: cryptofuzz::module::OpenSSL_bignum::IsOne::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    - BN_is_one
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool IsOne::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1078,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1080,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1086
      start: 1068
    functionDepth: 2
    functionLinenumber: 1068
    functionLinenumberEnd: 1086
    functionName: cryptofuzz::module::OpenSSL_bignum::Jacobi::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - CF_CHECK_NE
    - Set
    linkageType: ''
    returnType: bool
    signature: bool Jacobi::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1094,1
    - Dst: BN_nist_mod_192
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1094,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1094,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1094,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1094,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1099
      start: 1090
    functionDepth: 2
    functionLinenumber: 1090
    functionLinenumberEnd: 1099
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod_NIST_192::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetDestPtr
    - CF_ASSERT_EQ
    - BN_nist_mod_192
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_192::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn, BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1105,1
    - Dst: BN_nist_mod_224
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1105,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1105,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1105,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1105,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1110
      start: 1101
    functionDepth: 2
    functionLinenumber: 1101
    functionLinenumberEnd: 1110
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod_NIST_224::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_ASSERT_EQ
    - GetDestPtr
    - BN_nist_mod_224
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_224::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn, BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1116,1
    - Dst: BN_nist_mod_256
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1116,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1116,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1116,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1116,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1121
      start: 1112
    functionDepth: 2
    functionLinenumber: 1112
    functionLinenumberEnd: 1121
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod_NIST_256::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetDestPtr
    - CF_ASSERT_EQ
    - BN_nist_mod_256
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_256::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn, BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1127,1
    - Dst: BN_nist_mod_384
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1127,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1127,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1127,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1127,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1132
      start: 1123
    functionDepth: 2
    functionLinenumber: 1123
    functionLinenumberEnd: 1132
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod_NIST_384::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - BN_nist_mod_384
    - CF_ASSERT_EQ
    - GetDestPtr
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_384::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn, BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1138,1
    - Dst: BN_nist_mod_521
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1138,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1138,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1138,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1138,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1143
      start: 1134
    functionDepth: 2
    functionLinenumber: 1134
    functionLinenumberEnd: 1143
    functionName: cryptofuzz::module::OpenSSL_bignum::Mod_NIST_521::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_ASSERT_EQ
    - GetDestPtr
    - BN_nist_mod_521
    linkageType: ''
    returnType: bool
    signature: bool Mod_NIST_521::Run(Datasource& ds, Bignum& res, BignumCluster&
      bn, BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1154,1
    - Dst: BN_is_prime_ex
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1154,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1154,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1154,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1155,1
    - Dst: BN_mod_sqrt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1155,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1155,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1155,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1155,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1168
      start: 1147
    functionDepth: 2
    functionLinenumber: 1147
    functionLinenumberEnd: 1168
    functionName: cryptofuzz::module::OpenSSL_bignum::SqrtMod::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_mod_sqrt
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - CF_CHECK_EQ
    - BN_is_prime_ex
    linkageType: ''
    returnType: bool
    signature: bool SqrtMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1176,1
    - Dst: BN_mod_sqrt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1176,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1176,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1176,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1176,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1176,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1178,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1179,1
    - Dst: BN_mod_mul
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1179,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1179,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1179,1
    - Dst: BN_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1186,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1192
      start: 1171
    functionDepth: 2
    functionLinenumber: 1171
    functionLinenumberEnd: 1192
    functionName: cryptofuzz::module::OpenSSL_bignum::SqrtMod::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_mod_sqrt
    - GetPtr
    - CF_CHECK_NE
    - BN_mod_mul
    - GetDestPtr
    - BN_zero
    - CF_CHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool SqrtMod::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1199,1
    - Dst: bn_lcm_consttime
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1199,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1199,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1199,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1199,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1205
      start: 1195
    functionDepth: 2
    functionLinenumber: 1195
    functionLinenumberEnd: 1205
    functionName: cryptofuzz::module::OpenSSL_bignum::LCM::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - bn_lcm_consttime
    - CF_CHECK_EQ
    - GetDestPtr
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool LCM::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1212,1
    - Dst: BN_exp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1212,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1212,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1212,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1212,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1218
      start: 1208
    functionDepth: 2
    functionLinenumber: 1208
    functionLinenumberEnd: 1218
    functionName: cryptofuzz::module::OpenSSL_bignum::Exp::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - GetDestPtr
    - BN_exp
    - GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Exp::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1225,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1225,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1227,1
    - Dst: Bignum::New
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1227,1
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1229,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1232,1
    - Dst: BN_sub
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1232,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1232,1
    - Dst: Bignum::GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1232,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1232,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1236,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1237,1
    - Dst: BN_sub
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1237,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1237,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1240,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1241,1
    - Dst: BN_sub
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1241,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1241,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1249,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1249,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1249,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1256
      start: 1220
    functionDepth: 2
    functionLinenumber: 1220
    functionLinenumberEnd: 1256
    functionName: cryptofuzz::module::OpenSSL_bignum::Abs::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - BN_is_negative
    - BN_sub
    - CF_CHECK_EQ
    - BN_copy
    - GET_WHICH
    - Bignum::New
    - CF_ASSERT_EQ
    - Bignum::GetPtr
    linkageType: ''
    returnType: bool
    signature: bool Abs::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1263,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1265,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1265,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1269,1
    - Dst: BN_rshift
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1269,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1269,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1269,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1275,1
    - Dst: BN_rshift1
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1275,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1275,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1285
      start: 1258
    functionDepth: 2
    functionLinenumber: 1258
    functionLinenumberEnd: 1285
    functionName: cryptofuzz::module::OpenSSL_bignum::RShift::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - AsInt
    - GET_WHICH
    - CF_ASSERT_EQ
    - BN_rshift
    - BN_rshift1
    linkageType: ''
    returnType: bool
    signature: bool RShift::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1292,1
    - Dst: BN_lshift1
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1292,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1292,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1297
      start: 1287
    functionDepth: 2
    functionLinenumber: 1287
    functionLinenumberEnd: 1297
    functionName: cryptofuzz::module::OpenSSL_bignum::LShift1::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_lshift1
    - GetPtr
    - CF_ASSERT_EQ
    - GetDestPtr
    linkageType: ''
    returnType: bool
    signature: bool LShift1::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1305,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1305,1
    - Dst: CF_ASSERT_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1307,1
    - Dst: BN_set_bit
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1307,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1307,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1308,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1308,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1308,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1314
      start: 1299
    functionDepth: 2
    functionLinenumber: 1299
    functionLinenumberEnd: 1314
    functionName: cryptofuzz::module::OpenSSL_bignum::SetBit::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - AsInt
    - BN_copy
    - CF_ASSERT_EQ
    - BN_set_bit
    linkageType: ''
    returnType: bool
    signature: bool SetBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1322,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1322,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1324,1
    - Dst: BN_clear_bit
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1324,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1324,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1325,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1325,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1325,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1331
      start: 1316
    functionDepth: 2
    functionLinenumber: 1316
    functionLinenumberEnd: 1331
    functionName: cryptofuzz::module::OpenSSL_bignum::ClearBit::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - CF_CHECK_EQ
    - AsInt
    - BN_copy
    - BN_clear_bit
    linkageType: ''
    returnType: bool
    signature: bool ClearBit::Run(Datasource& ds, Bignum& res, BignumCluster& bn,
      BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1339,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1339,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1341,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1341,1
    - Dst: BN_is_bit_set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1341,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1347
      start: 1333
    functionDepth: 2
    functionLinenumber: 1333
    functionLinenumberEnd: 1347
    functionName: cryptofuzz::module::OpenSSL_bignum::Bit::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - std::to_string
    - Set
    - AsInt
    - BN_is_bit_set
    linkageType: ''
    returnType: bool
    signature: bool Bit::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1361,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1364
      start: 1349
    functionDepth: 2
    functionLinenumber: 1349
    functionLinenumberEnd: 1364
    functionName: cryptofuzz::module::OpenSSL_bignum::CmpAbs::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - Set
    linkageType: ''
    returnType: bool
    signature: bool CmpAbs::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1372,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1374,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1374,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1378,1
    - Dst: BN_mod_lshift
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1378,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1378,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1378,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1378,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1378,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1382,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1382,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1382,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1383,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1383,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1383,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1383,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1384,1
    - Dst: BN_mod_lshift_quick
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1384,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1384,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1384,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1384,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1387,1
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1387,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1388,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1389,1
    - Dst: BN_mod_lshift1
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1389,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1389,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1389,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1389,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1389,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1392,1
    - Dst: cryptofuzz::util::HintBignum
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1392,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1393,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1395,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1395,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1395,1
    - Dst: CF_CHECK_LT
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1396,1
    - Dst: BN_cmp
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1396,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1396,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1396,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1397,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1397,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1397,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1397,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1407
      start: 1366
    functionDepth: 2
    functionLinenumber: 1366
    functionLinenumberEnd: 1407
    functionName: cryptofuzz::module::OpenSSL_bignum::ModLShift::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - GetDestPtr
    - BN_is_negative
    - CF_NORET
    - CF_CHECK_EQ
    - BN_mod_lshift_quick
    - AsInt
    - BN_mod_lshift
    - GET_WHICH
    - CF_CHECK_LT
    - BN_mod_lshift1
    - BN_mod_lshift1_quick
    - BN_cmp
    - cryptofuzz::util::HintBignum
    linkageType: ''
    returnType: bool
    signature: bool ModLShift::Run(Datasource& ds, Bignum& res, BignumCluster& bn,
      BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1414,1
    - Dst: cryptofuzz::util::HintBignumPow2
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1414,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1415,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1415,1
    - Dst: BN_is_pow2
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1415,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1424
      start: 1409
    functionDepth: 3
    functionLinenumber: 1409
    functionLinenumberEnd: 1424
    functionName: cryptofuzz::module::OpenSSL_bignum::IsPow2::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_NORET
    - std::to_string
    - Set
    - BN_is_pow2
    - cryptofuzz::util::HintBignumPow2
    linkageType: ''
    returnType: bool
    signature: bool IsPow2::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1433,1
    - Dst: AsInt
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1433,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1434,1
    - Dst: BN_mask_bits
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1434,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1434,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1435,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1441
      start: 1426
    functionDepth: 2
    functionLinenumber: 1426
    functionLinenumberEnd: 1441
    functionName: cryptofuzz::module::OpenSSL_bignum::Mask::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - GetDestPtr
    - CF_CHECK_EQ
    - BN_mask_bits
    - AsInt
    - Set
    linkageType: ''
    returnType: bool
    signature: bool Mask::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1450,1
    - Dst: bn_is_relatively_prime
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1450,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1450,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1450,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1450,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1451,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1451,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1463
      start: 1443
    functionDepth: 2
    functionLinenumber: 1443
    functionLinenumberEnd: 1463
    functionName: cryptofuzz::module::OpenSSL_bignum::IsCoprime::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_EQ
    - std::to_string
    - Set
    - bn_is_relatively_prime
    linkageType: ''
    returnType: bool
    signature: bool IsCoprime::Run(Datasource& ds, Bignum& res, BignumCluster& bn,
      BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GET_WHICH
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1473,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1477,1
    - Dst: BN_rand_range
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1477,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1477,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1477,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1480,1
    - Dst: BN_pseudo_rand_range
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1480,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1480,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1480,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1486,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1487,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1488,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1493,1
    - Dst: BN_rand
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1493,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1493,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1498,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1499,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1500,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1505,1
    - Dst: BN_pseudo_rand
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1505,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1505,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1517
      start: 1465
    functionDepth: 2
    functionLinenumber: 1465
    functionLinenumberEnd: 1517
    functionName: cryptofuzz::module::OpenSSL_bignum::Rand::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - GetDestPtr
    - BN_rand
    - CF_CHECK_EQ
    - GET_WHICH
    - BN_pseudo_rand
    - BN_pseudo_rand_range
    - Get
    - BN_rand_range
    linkageType: ''
    returnType: bool
    signature: bool Rand::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1527,1
    - Dst: bn_is_perfect_square
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1527,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1527,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1527,1
    - Dst: Set
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1529,1
    - Dst: std::to_string
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1541
      start: 1519
    functionDepth: 2
    functionLinenumber: 1519
    functionLinenumberEnd: 1541
    functionName: cryptofuzz::module::OpenSSL_bignum::IsSquare::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_EQ
    - std::to_string
    - Set
    - bn_is_perfect_square
    linkageType: ''
    returnType: bool
    signature: bool IsSquare::Run(Datasource& ds, Bignum& res, BignumCluster& bn,
      BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1550,1
    - Dst: BN_copy
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1550,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1550,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1550,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1551,1
    - Dst: BN_set_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1551,1
    - Dst: GetDestPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1551,1
    - Dst: BN_is_negative
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1551,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1557
      start: 1543
    functionDepth: 2
    functionLinenumber: 1543
    functionLinenumberEnd: 1557
    functionName: cryptofuzz::module::OpenSSL_bignum::Neg::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - GetPtr
    - CF_CHECK_NE
    - BN_set_negative
    - GetDestPtr
    - BN_is_negative
    - CF_NORET
    - BN_copy
    linkageType: ''
    returnType: bool
    signature: bool Neg::Run(Datasource& ds, Bignum& res, BignumCluster& bn, BN_CTX&
      ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1565,1
    - Dst: BN_is_zero
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1565,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1565,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1566,1
    - Dst: BN_rand_range
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1566,1
    - Dst: GetResPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1566,1
    - Dst: GetPtr
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1566,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1567,1
    - Dst: CopyResult
      Src: /src/cryptofuzz/modules/openssl/bn_ops.cpp:1567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ' ds'
    - ' res'
    - ' bn'
    - ' ctx'
    argTypes:
    - Datasource
    - Bignum
    - BignumCluster
    - BN_CTX
    constantsTouched: []
    func_position:
      end: 1572
      start: 1559
    functionDepth: 2
    functionLinenumber: 1559
    functionLinenumberEnd: 1572
    functionName: cryptofuzz::module::OpenSSL_bignum::RandRange::Run
    functionSourceFile: /src/cryptofuzz/modules/openssl/bn_ops.cpp
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - GetPtr
    - GetResPtr
    - CF_NORET
    - CF_CHECK_EQ
    - CopyResult
    - BN_rand_range
    linkageType: ''
    returnType: bool
    signature: bool RandRange::Run(Datasource& ds, Bignum& res, BignumCluster& bn,
      BN_CTX& ctx) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:47,1
    - Dst: bytes
      Src: /src/cryptofuzz/modules/openssl/module.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: cryptofuzz::module::cryptofuzz_openssl_default_rand_bytes
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - bytes
    - CF_ASSERT
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_openssl_default_rand_bytes(unsigned char *buf, int num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:54,1
    - Dst: cryptofuzz::module::cryptofuzz_openssl_default_rand_bytes
      Src: /src/cryptofuzz/modules/openssl/module.cpp:61,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:65,1
    - Dst: cryptofuzz::module::cryptofuzz_openssl_default_rand_bytes
      Src: /src/cryptofuzz/modules/openssl/module.cpp:66,1
    - Dst: cryptofuzz::module::cryptofuzz_openssl_default_rand_bytes
      Src: /src/cryptofuzz/modules/openssl/module.cpp:69,1
    - Dst: GetData
      Src: /src/cryptofuzz/modules/openssl/module.cpp:73,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/openssl/module.cpp:74,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 79
    functionName: cryptofuzz::module::cryptofuzz_openssl_rand_bytes
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_ASSERT
    - memcpy
    - auto::data
    - cryptofuzz::module::cryptofuzz_openssl_default_rand_bytes
    - Get
    - GetData
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_openssl_rand_bytes(unsigned char *buf, int num)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: cryptofuzz::module::cryptofuzz_openssl_rand_status
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cryptofuzz_openssl_rand_status(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - n
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: cryptofuzz::module::OPENSSL_custom_malloc
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::malloc
    linkageType: ''
    returnType: void
    signature: void * OPENSSL_custom_malloc(size_t n, const char* file, int line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::realloc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - n
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: cryptofuzz::module::OPENSSL_custom_realloc
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::realloc
    linkageType: ''
    returnType: void
    signature: void * OPENSSL_custom_realloc(void* ptr, size_t n, const char* file,
      int line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ptr
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: cryptofuzz::module::OPENSSL_custom_free
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::util::free
    linkageType: ''
    returnType: void
    signature: void OPENSSL_custom_free(void* ptr, const char* file, int line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:122,1
    - Dst: CRYPTO_set_mem_functions
      Src: /src/cryptofuzz/modules/openssl/module.cpp:123,1
    - Dst: OPENSSL_init_crypto
      Src: /src/cryptofuzz/modules/openssl/module.cpp:131,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/cryptofuzz/modules/openssl/module.cpp:133,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:137,1
    - Dst: RAND_get_rand_method
      Src: /src/cryptofuzz/modules/openssl/module.cpp:137,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:139,1
    - Dst: RAND_set_rand_method
      Src: /src/cryptofuzz/modules/openssl/module.cpp:139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 142
    functionName: cryptofuzz::module::OpenSSL::OpenSSL
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - OpenSSL_add_all_algorithms
    - CF_ASSERT
    - CRYPTO_set_mem_functions
    - OPENSSL_init_crypto
    - RAND_set_rand_method
    - RAND_get_rand_method
    linkageType: ''
    returnType: void
    signature: void OpenSSL::OpenSSL(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:155,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:155,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:156,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:156,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:157,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:157,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:158,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:158,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:159,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:159,1
    - Dst: EVP_CIPHER_flags
      Src: /src/cryptofuzz/modules/openssl/module.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - cipherType
    argTypes:
    - EVP_CIPHER*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 166
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 166
    functionName: cryptofuzz::module::OpenSSL::isAEAD
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - CF_CIPHER
    - EVP_CIPHER_flags
    linkageType: ''
    returnType: bool
    signature: bool OpenSSL::isAEAD(const EVP_CIPHER* ctx, const uint64_t cipherType)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:173,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:173,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:174,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/openssl/module.cpp:174,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:175,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:175,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:176,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/openssl/module.cpp:176,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:177,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/openssl/module.cpp:177,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:178,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:178,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:179,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/openssl/module.cpp:179,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:180,1
    - Dst: EVP_md5_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:180,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:181,1
    - Dst: EVP_sha512_256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:181,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:182,1
    - Dst: EVP_blake2b256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:182,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:184,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:184,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:185,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/openssl/module.cpp:185,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:186,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:186,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:187,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/openssl/module.cpp:187,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:188,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/openssl/module.cpp:188,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:189,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:189,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:190,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/openssl/module.cpp:190,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:191,1
    - Dst: EVP_md5_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:191,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:192,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/openssl/module.cpp:192,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:193,1
    - Dst: EVP_sm3
      Src: /src/cryptofuzz/modules/openssl/module.cpp:193,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:194,1
    - Dst: EVP_sha3_224
      Src: /src/cryptofuzz/modules/openssl/module.cpp:194,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:195,1
    - Dst: EVP_sha3_256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:195,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:196,1
    - Dst: EVP_sha3_384
      Src: /src/cryptofuzz/modules/openssl/module.cpp:196,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:197,1
    - Dst: EVP_sha3_512
      Src: /src/cryptofuzz/modules/openssl/module.cpp:197,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:198,1
    - Dst: EVP_sha512_224
      Src: /src/cryptofuzz/modules/openssl/module.cpp:198,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:199,1
    - Dst: EVP_sha512_256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:199,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:201,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:201,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:202,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/openssl/module.cpp:202,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:203,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:203,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:204,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/openssl/module.cpp:204,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:205,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/openssl/module.cpp:205,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:206,1
    - Dst: EVP_md2
      Src: /src/cryptofuzz/modules/openssl/module.cpp:206,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:207,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:207,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:208,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/openssl/module.cpp:208,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:209,1
    - Dst: EVP_mdc2
      Src: /src/cryptofuzz/modules/openssl/module.cpp:209,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:210,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/openssl/module.cpp:210,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:211,1
    - Dst: EVP_whirlpool
      Src: /src/cryptofuzz/modules/openssl/module.cpp:211,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:213,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:213,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:214,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/openssl/module.cpp:214,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:215,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:215,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:216,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/openssl/module.cpp:216,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:217,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/openssl/module.cpp:217,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:218,1
    - Dst: EVP_md2
      Src: /src/cryptofuzz/modules/openssl/module.cpp:218,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:219,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:219,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:220,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/openssl/module.cpp:220,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:221,1
    - Dst: EVP_md5_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:221,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:222,1
    - Dst: EVP_mdc2
      Src: /src/cryptofuzz/modules/openssl/module.cpp:222,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:223,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/openssl/module.cpp:223,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:224,1
    - Dst: EVP_whirlpool
      Src: /src/cryptofuzz/modules/openssl/module.cpp:224,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:225,1
    - Dst: EVP_blake2b512
      Src: /src/cryptofuzz/modules/openssl/module.cpp:225,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:226,1
    - Dst: EVP_blake2s256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:226,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:228,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:228,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:229,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/openssl/module.cpp:229,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:230,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:230,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:231,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/openssl/module.cpp:231,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:232,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/openssl/module.cpp:232,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:233,1
    - Dst: EVP_md2
      Src: /src/cryptofuzz/modules/openssl/module.cpp:233,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:234,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:234,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:235,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/openssl/module.cpp:235,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:236,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/openssl/module.cpp:236,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:238,1
    - Dst: EVP_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:238,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:239,1
    - Dst: EVP_sha224
      Src: /src/cryptofuzz/modules/openssl/module.cpp:239,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:240,1
    - Dst: EVP_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:240,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:241,1
    - Dst: EVP_sha384
      Src: /src/cryptofuzz/modules/openssl/module.cpp:241,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:242,1
    - Dst: EVP_sha512
      Src: /src/cryptofuzz/modules/openssl/module.cpp:242,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:243,1
    - Dst: EVP_md2
      Src: /src/cryptofuzz/modules/openssl/module.cpp:243,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:244,1
    - Dst: EVP_md4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:244,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:245,1
    - Dst: EVP_md5
      Src: /src/cryptofuzz/modules/openssl/module.cpp:245,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:246,1
    - Dst: EVP_md5_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:246,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:247,1
    - Dst: EVP_mdc2
      Src: /src/cryptofuzz/modules/openssl/module.cpp:247,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:248,1
    - Dst: EVP_ripemd160
      Src: /src/cryptofuzz/modules/openssl/module.cpp:248,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:249,1
    - Dst: EVP_whirlpool
      Src: /src/cryptofuzz/modules/openssl/module.cpp:249,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:250,1
    - Dst: EVP_sm3
      Src: /src/cryptofuzz/modules/openssl/module.cpp:250,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:251,1
    - Dst: EVP_blake2b512
      Src: /src/cryptofuzz/modules/openssl/module.cpp:251,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:252,1
    - Dst: EVP_blake2s256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:252,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:253,1
    - Dst: EVP_shake128
      Src: /src/cryptofuzz/modules/openssl/module.cpp:253,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:254,1
    - Dst: EVP_shake256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:254,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:255,1
    - Dst: EVP_sha3_224
      Src: /src/cryptofuzz/modules/openssl/module.cpp:255,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:256,1
    - Dst: EVP_sha3_256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:256,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:257,1
    - Dst: EVP_sha3_384
      Src: /src/cryptofuzz/modules/openssl/module.cpp:257,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:258,1
    - Dst: EVP_sha3_512
      Src: /src/cryptofuzz/modules/openssl/module.cpp:258,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:259,1
    - Dst: EVP_sha512_224
      Src: /src/cryptofuzz/modules/openssl/module.cpp:259,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:260,1
    - Dst: EVP_sha512_256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:260,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/openssl/module.cpp:264,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:264,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/openssl/module.cpp:264,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/openssl/module.cpp:268,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' digestType'
    argTypes:
    - component::DigestType
    constantsTouched: []
    func_position:
      end: 269
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 269
    functionName: cryptofuzz::module::OpenSSL::toEVPMD
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_sha384
    - EVP_blake2s256
    - EVP_sha224
    - EVP_sha512_224
    - EVP_ripemd160
    - EVP_sha512_256
    - EVP_blake2b512
    - EVP_shake256
    - EVP_sha3_256
    - EVP_sha3_512
    - EVP_sha512
    - std::map::end
    - EVP_sha3_224
    - Get
    - EVP_mdc2
    - std::map::find
    - std::map::at
    - EVP_sm3
    - EVP_md4
    - EVP_md5_sha1
    - EVP_sha256
    - EVP_sha1
    - EVP_shake128
    - CF_DIGEST
    - EVP_md2
    - EVP_md5
    - EVP_blake2b256
    - EVP_whirlpool
    - EVP_sha3_384
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD * OpenSSL::toEVPMD(const component::DigestType& digestType)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: component::SymmetricCipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:274,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:276,1
    - Dst: EVP_des_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:277,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:278,1
    - Dst: EVP_des_ede_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:279,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:280,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:281,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:282,1
    - Dst: EVP_des_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:283,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:284,1
    - Dst: EVP_des_ede
      Src: /src/cryptofuzz/modules/openssl/module.cpp:285,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:286,1
    - Dst: EVP_des_ede3
      Src: /src/cryptofuzz/modules/openssl/module.cpp:287,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:288,1
    - Dst: EVP_rc2_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:289,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:290,1
    - Dst: EVP_rc2_40_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:291,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:292,1
    - Dst: EVP_aes_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:293,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:294,1
    - Dst: EVP_aes_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:295,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:296,1
    - Dst: EVP_aes_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:297,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:298,1
    - Dst: EVP_aes_128_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:299,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:300,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:301,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:302,1
    - Dst: EVP_aes_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:303,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:304,1
    - Dst: EVP_aes_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:305,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:306,1
    - Dst: EVP_aes_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:307,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:308,1
    - Dst: EVP_aes_192_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:309,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:310,1
    - Dst: EVP_aes_192_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:311,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:312,1
    - Dst: EVP_aes_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:313,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:314,1
    - Dst: EVP_aes_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:315,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:316,1
    - Dst: EVP_aes_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:317,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:318,1
    - Dst: EVP_aes_256_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:319,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:320,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:321,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:322,1
    - Dst: EVP_rc4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:323,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:325,1
    - Dst: EVP_aes_256_xts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:326,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:329,1
    - Dst: EVP_des_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:330,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:331,1
    - Dst: EVP_des_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:332,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:333,1
    - Dst: EVP_des_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:334,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:335,1
    - Dst: EVP_des_ede_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:336,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:337,1
    - Dst: EVP_des_ede3_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:338,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:339,1
    - Dst: EVP_des_ede3_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:340,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:341,1
    - Dst: EVP_des_ede3_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:342,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:343,1
    - Dst: EVP_des_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:344,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:345,1
    - Dst: EVP_des_ede_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:346,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:347,1
    - Dst: EVP_des_ede3_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:348,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:349,1
    - Dst: EVP_desx_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:350,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:351,1
    - Dst: EVP_des_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:352,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:353,1
    - Dst: EVP_des_ede_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:354,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:355,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:356,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:357,1
    - Dst: EVP_des_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:358,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:359,1
    - Dst: EVP_des_ede
      Src: /src/cryptofuzz/modules/openssl/module.cpp:360,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:361,1
    - Dst: EVP_des_ede3
      Src: /src/cryptofuzz/modules/openssl/module.cpp:362,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:363,1
    - Dst: EVP_rc4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:364,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:365,1
    - Dst: EVP_rc4_40
      Src: /src/cryptofuzz/modules/openssl/module.cpp:366,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:368,1
    - Dst: EVP_idea_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:369,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:370,1
    - Dst: EVP_idea_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:371,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:372,1
    - Dst: EVP_idea_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:373,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:374,1
    - Dst: EVP_idea_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:375,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:377,1
    - Dst: EVP_sm4_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:378,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:379,1
    - Dst: EVP_sm4_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:380,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:381,1
    - Dst: EVP_sm4_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:382,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:383,1
    - Dst: EVP_sm4_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:384,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:385,1
    - Dst: EVP_sm4_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:386,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:387,1
    - Dst: EVP_rc2_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:388,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:389,1
    - Dst: EVP_rc2_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:390,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:391,1
    - Dst: EVP_rc2_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:392,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:393,1
    - Dst: EVP_rc2_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:394,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:395,1
    - Dst: EVP_rc2_40_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:396,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:397,1
    - Dst: EVP_rc2_64_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:398,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:399,1
    - Dst: EVP_bf_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:400,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:401,1
    - Dst: EVP_bf_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:402,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:403,1
    - Dst: EVP_bf_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:404,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:405,1
    - Dst: EVP_bf_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:406,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:407,1
    - Dst: EVP_cast5_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:408,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:409,1
    - Dst: EVP_cast5_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:410,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:411,1
    - Dst: EVP_cast5_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:412,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:413,1
    - Dst: EVP_cast5_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:414,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:415,1
    - Dst: EVP_aes_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:416,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:417,1
    - Dst: EVP_aes_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:418,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:419,1
    - Dst: EVP_aes_128_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:420,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:421,1
    - Dst: EVP_aes_128_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:422,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:423,1
    - Dst: EVP_aes_128_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:424,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:425,1
    - Dst: EVP_aes_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:426,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:427,1
    - Dst: EVP_aes_128_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:428,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:429,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:430,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:431,1
    - Dst: EVP_aes_128_xts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:432,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:433,1
    - Dst: EVP_aes_128_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:434,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:435,1
    - Dst: EVP_aes_128_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:436,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:437,1
    - Dst: EVP_aes_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:438,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:439,1
    - Dst: EVP_aes_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:440,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:441,1
    - Dst: EVP_aes_192_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:442,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:443,1
    - Dst: EVP_aes_192_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:444,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:445,1
    - Dst: EVP_aes_192_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:446,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:447,1
    - Dst: EVP_aes_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:448,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:449,1
    - Dst: EVP_aes_192_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:450,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:451,1
    - Dst: EVP_aes_192_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:452,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:453,1
    - Dst: EVP_aes_192_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:454,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:455,1
    - Dst: EVP_aes_192_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:456,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:457,1
    - Dst: EVP_aes_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:458,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:459,1
    - Dst: EVP_aes_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:460,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:461,1
    - Dst: EVP_aes_256_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:462,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:463,1
    - Dst: EVP_aes_256_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:464,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:465,1
    - Dst: EVP_aes_256_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:466,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:467,1
    - Dst: EVP_aes_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:468,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:469,1
    - Dst: EVP_aes_256_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:470,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:471,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:472,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:473,1
    - Dst: EVP_aes_256_xts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:474,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:475,1
    - Dst: EVP_aes_256_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:476,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:477,1
    - Dst: EVP_aes_256_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:478,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:479,1
    - Dst: EVP_camellia_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:480,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:481,1
    - Dst: EVP_camellia_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:482,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:483,1
    - Dst: EVP_camellia_128_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:484,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:485,1
    - Dst: EVP_camellia_128_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:486,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:487,1
    - Dst: EVP_camellia_128_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:488,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:489,1
    - Dst: EVP_camellia_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:490,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:491,1
    - Dst: EVP_camellia_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:492,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:493,1
    - Dst: EVP_camellia_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:494,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:495,1
    - Dst: EVP_camellia_192_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:496,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:497,1
    - Dst: EVP_camellia_192_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:498,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:499,1
    - Dst: EVP_camellia_192_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:500,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:501,1
    - Dst: EVP_camellia_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:502,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:503,1
    - Dst: EVP_camellia_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:504,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:505,1
    - Dst: EVP_camellia_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:506,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:507,1
    - Dst: EVP_camellia_256_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:508,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:509,1
    - Dst: EVP_camellia_256_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:510,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:511,1
    - Dst: EVP_camellia_256_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:512,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:513,1
    - Dst: EVP_camellia_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:514,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:515,1
    - Dst: EVP_chacha20
      Src: /src/cryptofuzz/modules/openssl/module.cpp:516,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:517,1
    - Dst: EVP_chacha20_poly1305
      Src: /src/cryptofuzz/modules/openssl/module.cpp:518,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:520,1
    - Dst: EVP_des_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:521,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:522,1
    - Dst: EVP_des_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:523,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:524,1
    - Dst: EVP_des_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:525,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:526,1
    - Dst: EVP_des_ede_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:527,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:528,1
    - Dst: EVP_des_ede3_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:529,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:530,1
    - Dst: EVP_des_ede3_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:531,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:532,1
    - Dst: EVP_des_ede3_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:533,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:534,1
    - Dst: EVP_des_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:535,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:536,1
    - Dst: EVP_des_ede_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:537,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:538,1
    - Dst: EVP_des_ede3_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:539,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:540,1
    - Dst: EVP_desx_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:541,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:542,1
    - Dst: EVP_des_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:543,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:544,1
    - Dst: EVP_des_ede_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:545,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:546,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:547,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:548,1
    - Dst: EVP_des_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:549,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:550,1
    - Dst: EVP_des_ede
      Src: /src/cryptofuzz/modules/openssl/module.cpp:551,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:552,1
    - Dst: EVP_des_ede3
      Src: /src/cryptofuzz/modules/openssl/module.cpp:553,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:554,1
    - Dst: EVP_rc4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:555,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:556,1
    - Dst: EVP_rc4_40
      Src: /src/cryptofuzz/modules/openssl/module.cpp:557,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:558,1
    - Dst: EVP_idea_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:559,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:560,1
    - Dst: EVP_idea_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:561,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:562,1
    - Dst: EVP_idea_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:563,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:564,1
    - Dst: EVP_idea_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:565,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:566,1
    - Dst: EVP_rc2_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:567,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:568,1
    - Dst: EVP_rc2_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:569,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:570,1
    - Dst: EVP_rc2_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:571,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:572,1
    - Dst: EVP_rc2_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:573,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:574,1
    - Dst: EVP_rc2_40_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:575,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:576,1
    - Dst: EVP_rc2_64_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:577,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:578,1
    - Dst: EVP_bf_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:579,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:580,1
    - Dst: EVP_bf_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:581,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:582,1
    - Dst: EVP_bf_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:583,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:584,1
    - Dst: EVP_bf_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:585,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:586,1
    - Dst: EVP_cast5_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:587,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:588,1
    - Dst: EVP_cast5_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:589,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:590,1
    - Dst: EVP_cast5_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:591,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:592,1
    - Dst: EVP_cast5_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:593,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:594,1
    - Dst: EVP_aes_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:595,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:596,1
    - Dst: EVP_aes_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:597,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:598,1
    - Dst: EVP_aes_128_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:599,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:600,1
    - Dst: EVP_aes_128_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:601,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:602,1
    - Dst: EVP_aes_128_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:603,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:604,1
    - Dst: EVP_aes_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:605,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:606,1
    - Dst: EVP_aes_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:607,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:608,1
    - Dst: EVP_aes_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:609,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:610,1
    - Dst: EVP_aes_192_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:611,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:612,1
    - Dst: EVP_aes_192_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:613,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:614,1
    - Dst: EVP_aes_192_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:615,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:616,1
    - Dst: EVP_aes_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:617,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:618,1
    - Dst: EVP_aes_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:619,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:620,1
    - Dst: EVP_aes_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:621,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:622,1
    - Dst: EVP_aes_256_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:623,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:624,1
    - Dst: EVP_aes_256_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:625,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:626,1
    - Dst: EVP_aes_256_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:627,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:628,1
    - Dst: EVP_aes_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:629,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:631,1
    - Dst: EVP_des_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:632,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:633,1
    - Dst: EVP_des_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:634,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:635,1
    - Dst: EVP_des_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:636,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:637,1
    - Dst: EVP_des_ede_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:638,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:639,1
    - Dst: EVP_des_ede3_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:640,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:641,1
    - Dst: EVP_des_ede3_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:642,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:643,1
    - Dst: EVP_des_ede3_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:644,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:645,1
    - Dst: EVP_des_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:646,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:647,1
    - Dst: EVP_des_ede_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:648,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:649,1
    - Dst: EVP_des_ede3_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:650,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:651,1
    - Dst: EVP_desx_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:652,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:653,1
    - Dst: EVP_des_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:654,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:655,1
    - Dst: EVP_des_ede_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:656,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:657,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:658,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:659,1
    - Dst: EVP_des_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:660,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:661,1
    - Dst: EVP_des_ede
      Src: /src/cryptofuzz/modules/openssl/module.cpp:662,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:663,1
    - Dst: EVP_des_ede3
      Src: /src/cryptofuzz/modules/openssl/module.cpp:664,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:665,1
    - Dst: EVP_des_ede3_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:666,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:667,1
    - Dst: EVP_rc4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:668,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:669,1
    - Dst: EVP_rc4_40
      Src: /src/cryptofuzz/modules/openssl/module.cpp:670,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:671,1
    - Dst: EVP_rc4_hmac_md5
      Src: /src/cryptofuzz/modules/openssl/module.cpp:672,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:673,1
    - Dst: EVP_idea_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:674,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:675,1
    - Dst: EVP_idea_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:676,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:677,1
    - Dst: EVP_idea_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:678,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:679,1
    - Dst: EVP_idea_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:680,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:681,1
    - Dst: EVP_seed_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:682,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:683,1
    - Dst: EVP_seed_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:684,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:685,1
    - Dst: EVP_seed_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:686,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:687,1
    - Dst: EVP_seed_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:688,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:689,1
    - Dst: EVP_rc2_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:690,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:691,1
    - Dst: EVP_rc2_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:692,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:693,1
    - Dst: EVP_rc2_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:694,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:695,1
    - Dst: EVP_rc2_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:696,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:697,1
    - Dst: EVP_rc2_40_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:698,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:699,1
    - Dst: EVP_rc2_64_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:700,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:701,1
    - Dst: EVP_bf_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:702,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:703,1
    - Dst: EVP_bf_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:704,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:705,1
    - Dst: EVP_bf_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:706,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:707,1
    - Dst: EVP_bf_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:708,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:709,1
    - Dst: EVP_cast5_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:710,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:711,1
    - Dst: EVP_cast5_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:712,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:713,1
    - Dst: EVP_cast5_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:714,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:715,1
    - Dst: EVP_cast5_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:716,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:717,1
    - Dst: EVP_rc5_32_12_16_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:718,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:719,1
    - Dst: EVP_rc5_32_12_16_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:720,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:721,1
    - Dst: EVP_rc5_32_12_16_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:722,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:723,1
    - Dst: EVP_rc5_32_12_16_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:724,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:725,1
    - Dst: EVP_aes_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:726,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:727,1
    - Dst: EVP_aes_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:728,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:729,1
    - Dst: EVP_aes_128_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:730,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:731,1
    - Dst: EVP_aes_128_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:732,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:733,1
    - Dst: EVP_aes_128_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:734,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:735,1
    - Dst: EVP_aes_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:736,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:737,1
    - Dst: EVP_aes_128_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:738,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:739,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:740,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:741,1
    - Dst: EVP_aes_128_xts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:742,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:743,1
    - Dst: EVP_aes_128_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:744,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:745,1
    - Dst: EVP_aes_128_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:746,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:747,1
    - Dst: EVP_aes_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:748,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:749,1
    - Dst: EVP_aes_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:750,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:751,1
    - Dst: EVP_aes_192_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:752,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:753,1
    - Dst: EVP_aes_192_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:754,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:755,1
    - Dst: EVP_aes_192_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:756,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:757,1
    - Dst: EVP_aes_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:758,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:759,1
    - Dst: EVP_aes_192_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:760,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:761,1
    - Dst: EVP_aes_192_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:762,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:763,1
    - Dst: EVP_aes_192_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:764,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:765,1
    - Dst: EVP_aes_192_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:766,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:767,1
    - Dst: EVP_aes_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:768,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:769,1
    - Dst: EVP_aes_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:770,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:771,1
    - Dst: EVP_aes_256_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:772,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:773,1
    - Dst: EVP_aes_256_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:774,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:775,1
    - Dst: EVP_aes_256_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:776,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:777,1
    - Dst: EVP_aes_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:778,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:779,1
    - Dst: EVP_aes_256_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:780,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:781,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:782,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:783,1
    - Dst: EVP_aes_256_xts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:784,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:785,1
    - Dst: EVP_aes_256_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:786,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:787,1
    - Dst: EVP_aes_256_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:788,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:789,1
    - Dst: EVP_aes_128_cbc_hmac_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:790,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:791,1
    - Dst: EVP_aes_256_cbc_hmac_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:792,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:793,1
    - Dst: EVP_aes_128_cbc_hmac_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:794,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:795,1
    - Dst: EVP_aes_256_cbc_hmac_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:796,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:797,1
    - Dst: EVP_camellia_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:798,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:799,1
    - Dst: EVP_camellia_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:800,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:801,1
    - Dst: EVP_camellia_128_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:802,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:803,1
    - Dst: EVP_camellia_128_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:804,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:805,1
    - Dst: EVP_camellia_128_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:806,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:807,1
    - Dst: EVP_camellia_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:808,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:809,1
    - Dst: EVP_camellia_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:810,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:811,1
    - Dst: EVP_camellia_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:812,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:813,1
    - Dst: EVP_camellia_192_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:814,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:815,1
    - Dst: EVP_camellia_192_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:816,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:817,1
    - Dst: EVP_camellia_192_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:818,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:819,1
    - Dst: EVP_camellia_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:820,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:821,1
    - Dst: EVP_camellia_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:822,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:823,1
    - Dst: EVP_camellia_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:824,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:825,1
    - Dst: EVP_camellia_256_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:826,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:827,1
    - Dst: EVP_camellia_256_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:828,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:829,1
    - Dst: EVP_camellia_256_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:830,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:831,1
    - Dst: EVP_camellia_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:832,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:834,1
    - Dst: EVP_des_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:835,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:836,1
    - Dst: EVP_des_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:837,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:838,1
    - Dst: EVP_des_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:839,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:840,1
    - Dst: EVP_des_ede_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:841,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:842,1
    - Dst: EVP_des_ede3_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:843,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:844,1
    - Dst: EVP_des_ede3_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:845,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:846,1
    - Dst: EVP_des_ede3_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:847,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:848,1
    - Dst: EVP_des_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:849,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:850,1
    - Dst: EVP_des_ede_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:851,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:852,1
    - Dst: EVP_des_ede3_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:853,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:854,1
    - Dst: EVP_desx_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:855,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:856,1
    - Dst: EVP_des_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:857,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:858,1
    - Dst: EVP_des_ede_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:859,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:860,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:861,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:862,1
    - Dst: EVP_des_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:863,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:864,1
    - Dst: EVP_des_ede
      Src: /src/cryptofuzz/modules/openssl/module.cpp:865,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:866,1
    - Dst: EVP_des_ede3
      Src: /src/cryptofuzz/modules/openssl/module.cpp:867,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:868,1
    - Dst: EVP_des_ede3_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:869,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:870,1
    - Dst: EVP_rc4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:871,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:872,1
    - Dst: EVP_rc4_40
      Src: /src/cryptofuzz/modules/openssl/module.cpp:873,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:874,1
    - Dst: EVP_rc4_hmac_md5
      Src: /src/cryptofuzz/modules/openssl/module.cpp:875,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:876,1
    - Dst: EVP_idea_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:877,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:878,1
    - Dst: EVP_idea_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:879,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:880,1
    - Dst: EVP_idea_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:881,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:882,1
    - Dst: EVP_idea_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:883,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:884,1
    - Dst: EVP_seed_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:885,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:886,1
    - Dst: EVP_seed_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:887,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:888,1
    - Dst: EVP_seed_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:889,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:890,1
    - Dst: EVP_seed_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:891,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:892,1
    - Dst: EVP_rc2_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:893,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:894,1
    - Dst: EVP_rc2_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:895,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:896,1
    - Dst: EVP_rc2_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:897,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:898,1
    - Dst: EVP_rc2_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:899,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:900,1
    - Dst: EVP_rc2_40_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:901,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:902,1
    - Dst: EVP_rc2_64_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:903,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:904,1
    - Dst: EVP_bf_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:905,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:906,1
    - Dst: EVP_bf_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:907,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:908,1
    - Dst: EVP_bf_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:909,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:910,1
    - Dst: EVP_bf_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:911,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:912,1
    - Dst: EVP_cast5_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:913,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:914,1
    - Dst: EVP_cast5_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:915,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:916,1
    - Dst: EVP_cast5_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:917,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:918,1
    - Dst: EVP_cast5_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:919,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:920,1
    - Dst: EVP_rc5_32_12_16_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:921,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:922,1
    - Dst: EVP_rc5_32_12_16_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:923,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:924,1
    - Dst: EVP_rc5_32_12_16_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:925,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:926,1
    - Dst: EVP_rc5_32_12_16_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:927,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:928,1
    - Dst: EVP_aes_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:929,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:930,1
    - Dst: EVP_aes_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:931,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:932,1
    - Dst: EVP_aes_128_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:933,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:934,1
    - Dst: EVP_aes_128_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:935,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:936,1
    - Dst: EVP_aes_128_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:937,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:938,1
    - Dst: EVP_aes_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:939,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:940,1
    - Dst: EVP_aes_128_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:941,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:942,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:943,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:944,1
    - Dst: EVP_aes_128_ocb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:945,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:946,1
    - Dst: EVP_aes_128_xts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:947,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:948,1
    - Dst: EVP_aes_128_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:949,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:950,1
    - Dst: EVP_aes_128_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:951,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:952,1
    - Dst: EVP_aes_128_wrap_pad
      Src: /src/cryptofuzz/modules/openssl/module.cpp:953,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:954,1
    - Dst: EVP_aes_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:955,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:956,1
    - Dst: EVP_aes_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:957,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:958,1
    - Dst: EVP_aes_192_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:959,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:960,1
    - Dst: EVP_aes_192_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:961,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:962,1
    - Dst: EVP_aes_192_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:963,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:964,1
    - Dst: EVP_aes_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:965,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:966,1
    - Dst: EVP_aes_192_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:967,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:968,1
    - Dst: EVP_aes_192_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:969,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:970,1
    - Dst: EVP_aes_192_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:971,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:972,1
    - Dst: EVP_aes_192_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:973,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:974,1
    - Dst: EVP_aes_192_wrap_pad
      Src: /src/cryptofuzz/modules/openssl/module.cpp:975,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:976,1
    - Dst: EVP_aes_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:977,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:978,1
    - Dst: EVP_aes_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:979,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:980,1
    - Dst: EVP_aes_256_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:981,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:982,1
    - Dst: EVP_aes_256_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:983,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:984,1
    - Dst: EVP_aes_256_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:985,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:986,1
    - Dst: EVP_aes_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:987,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:988,1
    - Dst: EVP_aes_256_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:989,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:990,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:991,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:992,1
    - Dst: EVP_aes_256_ocb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:993,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:994,1
    - Dst: EVP_aes_256_xts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:995,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:996,1
    - Dst: EVP_aes_256_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:997,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:998,1
    - Dst: EVP_aes_256_wrap
      Src: /src/cryptofuzz/modules/openssl/module.cpp:999,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1000,1
    - Dst: EVP_aes_256_wrap_pad
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1001,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1002,1
    - Dst: EVP_aes_128_cbc_hmac_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1003,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1004,1
    - Dst: EVP_aes_256_cbc_hmac_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1005,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1006,1
    - Dst: EVP_aes_128_cbc_hmac_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1007,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1008,1
    - Dst: EVP_aes_256_cbc_hmac_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1009,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1010,1
    - Dst: EVP_camellia_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1011,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1012,1
    - Dst: EVP_camellia_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1013,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1014,1
    - Dst: EVP_camellia_128_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1015,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1016,1
    - Dst: EVP_camellia_128_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1017,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1018,1
    - Dst: EVP_camellia_128_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1019,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1020,1
    - Dst: EVP_camellia_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1021,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1022,1
    - Dst: EVP_camellia_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1023,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1024,1
    - Dst: EVP_camellia_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1025,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1026,1
    - Dst: EVP_camellia_192_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1027,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1028,1
    - Dst: EVP_camellia_192_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1029,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1030,1
    - Dst: EVP_camellia_192_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1031,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1032,1
    - Dst: EVP_camellia_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1033,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1034,1
    - Dst: EVP_camellia_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1035,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1036,1
    - Dst: EVP_camellia_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1037,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1038,1
    - Dst: EVP_camellia_256_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1039,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1040,1
    - Dst: EVP_camellia_256_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1041,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1042,1
    - Dst: EVP_camellia_256_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1043,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1044,1
    - Dst: EVP_camellia_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1045,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1046,1
    - Dst: EVP_camellia_128_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1047,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1048,1
    - Dst: EVP_camellia_192_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1049,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1050,1
    - Dst: EVP_camellia_256_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1051,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1052,1
    - Dst: EVP_chacha20
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1053,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1054,1
    - Dst: EVP_chacha20_poly1305
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1055,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1057,1
    - Dst: EVP_des_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1058,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1059,1
    - Dst: EVP_des_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1060,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1061,1
    - Dst: EVP_des_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1062,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1063,1
    - Dst: EVP_des_ede_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1064,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1065,1
    - Dst: EVP_des_ede3_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1066,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1067,1
    - Dst: EVP_des_ede3_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1068,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1069,1
    - Dst: EVP_des_ede3_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1070,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1071,1
    - Dst: EVP_des_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1072,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1073,1
    - Dst: EVP_des_ede_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1074,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1075,1
    - Dst: EVP_des_ede3_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1076,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1077,1
    - Dst: EVP_desx_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1078,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1079,1
    - Dst: EVP_des_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1080,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1081,1
    - Dst: EVP_des_ede_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1082,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1083,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1084,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1085,1
    - Dst: EVP_des_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1086,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1087,1
    - Dst: EVP_des_ede
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1088,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1089,1
    - Dst: EVP_des_ede3
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1090,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1091,1
    - Dst: EVP_rc4
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1092,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1093,1
    - Dst: EVP_rc4_40
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1094,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1095,1
    - Dst: EVP_rc4_hmac_md5
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1096,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1097,1
    - Dst: EVP_idea_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1098,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1099,1
    - Dst: EVP_idea_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1100,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1101,1
    - Dst: EVP_idea_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1102,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1103,1
    - Dst: EVP_idea_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1104,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1105,1
    - Dst: EVP_seed_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1106,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1107,1
    - Dst: EVP_seed_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1108,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1109,1
    - Dst: EVP_seed_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1110,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1111,1
    - Dst: EVP_seed_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1112,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1113,1
    - Dst: EVP_sm4_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1114,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1115,1
    - Dst: EVP_sm4_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1116,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1117,1
    - Dst: EVP_sm4_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1118,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1119,1
    - Dst: EVP_sm4_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1120,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1121,1
    - Dst: EVP_sm4_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1122,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1123,1
    - Dst: EVP_rc2_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1124,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1125,1
    - Dst: EVP_rc2_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1126,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1127,1
    - Dst: EVP_rc2_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1128,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1129,1
    - Dst: EVP_rc2_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1130,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1131,1
    - Dst: EVP_rc2_40_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1132,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1133,1
    - Dst: EVP_rc2_64_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1134,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1135,1
    - Dst: EVP_bf_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1136,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1137,1
    - Dst: EVP_bf_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1138,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1139,1
    - Dst: EVP_bf_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1140,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1141,1
    - Dst: EVP_bf_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1142,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1143,1
    - Dst: EVP_cast5_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1144,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1145,1
    - Dst: EVP_cast5_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1146,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1147,1
    - Dst: EVP_cast5_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1148,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1149,1
    - Dst: EVP_cast5_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1150,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1151,1
    - Dst: EVP_rc5_32_12_16_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1152,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1153,1
    - Dst: EVP_rc5_32_12_16_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1154,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1155,1
    - Dst: EVP_rc5_32_12_16_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1156,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1157,1
    - Dst: EVP_rc5_32_12_16_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1158,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1159,1
    - Dst: EVP_aes_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1160,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1161,1
    - Dst: EVP_aes_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1162,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1163,1
    - Dst: EVP_aes_128_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1164,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1165,1
    - Dst: EVP_aes_128_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1166,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1167,1
    - Dst: EVP_aes_128_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1168,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1169,1
    - Dst: EVP_aes_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1170,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1171,1
    - Dst: EVP_aes_128_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1172,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1173,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1174,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1175,1
    - Dst: EVP_aes_128_ocb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1176,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1177,1
    - Dst: EVP_aes_128_xts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1178,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1179,1
    - Dst: EVP_aes_128_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1180,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1181,1
    - Dst: EVP_aes_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1182,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1183,1
    - Dst: EVP_aes_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1184,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1185,1
    - Dst: EVP_aes_192_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1186,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1187,1
    - Dst: EVP_aes_192_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1188,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1189,1
    - Dst: EVP_aes_192_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1190,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1191,1
    - Dst: EVP_aes_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1192,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1193,1
    - Dst: EVP_aes_192_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1194,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1195,1
    - Dst: EVP_aes_192_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1196,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1197,1
    - Dst: EVP_aes_192_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1198,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1199,1
    - Dst: EVP_aes_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1200,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1201,1
    - Dst: EVP_aes_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1202,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1203,1
    - Dst: EVP_aes_256_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1204,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1205,1
    - Dst: EVP_aes_256_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1206,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1207,1
    - Dst: EVP_aes_256_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1208,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1209,1
    - Dst: EVP_aes_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1210,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1211,1
    - Dst: EVP_aes_256_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1212,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1213,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1214,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1215,1
    - Dst: EVP_aes_256_ocb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1216,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1217,1
    - Dst: EVP_aes_256_xts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1218,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1219,1
    - Dst: EVP_aes_256_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1220,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1221,1
    - Dst: EVP_aes_128_cbc_hmac_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1222,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1223,1
    - Dst: EVP_aes_256_cbc_hmac_sha1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1224,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1225,1
    - Dst: EVP_aes_128_cbc_hmac_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1226,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1227,1
    - Dst: EVP_aes_256_cbc_hmac_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1228,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1229,1
    - Dst: EVP_aria_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1230,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1231,1
    - Dst: EVP_aria_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1232,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1233,1
    - Dst: EVP_aria_128_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1234,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1235,1
    - Dst: EVP_aria_128_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1236,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1237,1
    - Dst: EVP_aria_128_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1238,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1239,1
    - Dst: EVP_aria_128_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1240,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1241,1
    - Dst: EVP_aria_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1242,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1243,1
    - Dst: EVP_aria_128_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1244,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1245,1
    - Dst: EVP_aria_128_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1246,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1247,1
    - Dst: EVP_aria_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1248,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1249,1
    - Dst: EVP_aria_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1250,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1251,1
    - Dst: EVP_aria_192_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1252,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1253,1
    - Dst: EVP_aria_192_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1254,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1255,1
    - Dst: EVP_aria_192_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1256,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1257,1
    - Dst: EVP_aria_192_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1258,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1259,1
    - Dst: EVP_aria_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1260,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1261,1
    - Dst: EVP_aria_192_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1262,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1263,1
    - Dst: EVP_aria_192_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1264,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1265,1
    - Dst: EVP_aria_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1266,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1267,1
    - Dst: EVP_aria_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1268,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1269,1
    - Dst: EVP_aria_256_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1270,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1271,1
    - Dst: EVP_aria_256_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1272,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1273,1
    - Dst: EVP_aria_256_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1274,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1275,1
    - Dst: EVP_aria_256_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1276,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1277,1
    - Dst: EVP_aria_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1278,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1279,1
    - Dst: EVP_aria_256_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1280,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1281,1
    - Dst: EVP_aria_256_ccm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1282,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1283,1
    - Dst: EVP_camellia_128_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1284,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1285,1
    - Dst: EVP_camellia_128_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1286,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1287,1
    - Dst: EVP_camellia_128_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1288,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1289,1
    - Dst: EVP_camellia_128_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1290,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1291,1
    - Dst: EVP_camellia_128_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1292,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1293,1
    - Dst: EVP_camellia_128_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1294,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1295,1
    - Dst: EVP_camellia_192_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1296,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1297,1
    - Dst: EVP_camellia_192_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1298,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1299,1
    - Dst: EVP_camellia_192_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1300,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1301,1
    - Dst: EVP_camellia_192_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1302,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1303,1
    - Dst: EVP_camellia_192_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1304,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1305,1
    - Dst: EVP_camellia_192_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1306,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1307,1
    - Dst: EVP_camellia_256_ecb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1308,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1309,1
    - Dst: EVP_camellia_256_cbc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1310,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1311,1
    - Dst: EVP_camellia_256_cfb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1312,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1313,1
    - Dst: EVP_camellia_256_cfb1
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1314,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1315,1
    - Dst: EVP_camellia_256_cfb8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1316,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1317,1
    - Dst: EVP_camellia_256_ofb
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1318,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1319,1
    - Dst: EVP_camellia_128_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1320,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1321,1
    - Dst: EVP_camellia_192_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1322,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1323,1
    - Dst: EVP_camellia_256_ctr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1324,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1325,1
    - Dst: EVP_chacha20
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1326,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1327,1
    - Dst: EVP_chacha20_poly1305
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1049
    argCount: 1
    argNames:
    - cipherType
    argTypes:
    - component::SymmetricCipherType
    constantsTouched: []
    func_position:
      end: 1353
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 1353
    functionName: cryptofuzz::module::OpenSSL::toEVPCIPHER
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_camellia_128_cfb1
    - EVP_des_ede3_cfb1
    - EVP_aria_128_ofb
    - EVP_aes_256_cbc
    - EVP_des_ede3_cfb
    - EVP_aes_256_cbc_hmac_sha1
    - EVP_camellia_192_cfb
    - EVP_des_ede3_wrap
    - EVP_chacha20
    - EVP_des_cbc
    - EVP_aes_256_ocb
    - EVP_rc5_32_12_16_ecb
    - EVP_des_cfb1
    - EVP_rc2_40_cbc
    - EVP_idea_cbc
    - EVP_sm4_ctr
    - EVP_camellia_128_cfb8
    - EVP_aes_128_cfb8
    - EVP_aes_128_ctr
    - EVP_aria_192_cfb
    - EVP_bf_cbc
    - EVP_seed_ecb
    - EVP_camellia_256_cfb8
    - EVP_aria_192_cbc
    - EVP_aria_128_ccm
    - EVP_sm4_cfb
    - EVP_bf_ofb
    - EVP_aria_256_cfb1
    - EVP_rc2_64_cbc
    - EVP_chacha20_poly1305
    - CF_CIPHER
    - EVP_aes_192_ccm
    - EVP_camellia_256_ofb
    - EVP_rc5_32_12_16_cfb
    - EVP_rc2_ecb
    - EVP_cast5_cfb
    - EVP_aes_256_cfb1
    - EVP_des_ede3_ofb
    - EVP_camellia_192_cfb1
    - EVP_aria_256_ccm
    - EVP_bf_ecb
    - EVP_aes_128_wrap
    - EVP_camellia_128_ctr
    - EVP_aes_128_ecb
    - EVP_aes_128_gcm
    - EVP_camellia_128_ofb
    - EVP_rc5_32_12_16_ofb
    - EVP_rc5_32_12_16_cbc
    - EVP_seed_ofb
    - EVP_aes_128_wrap_pad
    - EVP_des_ede3_cfb8
    - EVP_aria_256_ofb
    - EVP_camellia_192_ofb
    - EVP_aes_128_cbc_hmac_sha256
    - EVP_aria_128_ecb
    - EVP_des_ede_ofb
    - EVP_rc2_cbc
    - EVP_camellia_192_cfb8
    - EVP_camellia_192_cbc
    - EVP_aes_192_ofb
    - EVP_des_ede_cfb
    - EVP_aria_192_ecb
    - EVP_cast5_ecb
    - EVP_aria_192_ctr
    - EVP_aes_256_gcm
    - EVP_camellia_128_ecb
    - EVP_camellia_256_cfb1
    - EVP_aria_256_cbc
    - EVP_idea_cfb
    - EVP_aes_256_wrap_pad
    - EVP_idea_ofb
    - EVP_aes_256_xts
    - EVP_aes_256_cfb
    - EVP_seed_cbc
    - EVP_aria_256_ecb
    - EVP_desx_cbc
    - EVP_aria_128_cfb
    - EVP_aria_192_ccm
    - EVP_des_ede3
    - EVP_sm4_ecb
    - EVP_camellia_256_ecb
    - EVP_aria_256_cfb
    - EVP_des_ofb
    - EVP_aria_128_cfb1
    - EVP_aes_256_ecb
    - EVP_aes_256_wrap
    - EVP_des_ede3_cbc
    - EVP_aes_128_cfb
    - EVP_sm4_ofb
    - EVP_aes_128_ofb
    - EVP_aria_256_cfb8
    - EVP_aes_192_wrap
    - EVP_aes_128_xts
    - EVP_aria_192_gcm
    - EVP_cast5_cbc
    - EVP_aria_128_ctr
    - EVP_des_ecb
    - EVP_aria_256_ctr
    - EVP_aes_256_ccm
    - EVP_aes_256_cfb8
    - EVP_camellia_256_cbc
    - EVP_sm4_cbc
    - EVP_seed_cfb
    - EVP_aes_256_ofb
    - EVP_aes_192_cbc
    - EVP_aria_192_cfb8
    - EVP_aes_192_ecb
    - EVP_aes_128_cbc_hmac_sha1
    - EVP_aes_128_cbc
    - EVP_bf_cfb
    - EVP_aes_192_cfb1
    - EVP_idea_ecb
    - EVP_rc4_40
    - EVP_des_cfb
    - EVP_rc4_hmac_md5
    - EVP_aes_192_cfb8
    - EVP_aria_256_gcm
    - EVP_rc2_cfb
    - EVP_camellia_128_cbc
    - EVP_rc2_ofb
    - EVP_aes_128_ocb
    - EVP_aes_192_ctr
    - EVP_aes_128_ccm
    - EVP_aes_256_cbc_hmac_sha256
    - component::SymmetricCipherType::Get
    - EVP_aes_128_cfb1
    - EVP_des_ede_cbc
    - EVP_camellia_256_cfb
    - EVP_camellia_256_ctr
    - EVP_rc4
    - EVP_aes_192_wrap_pad
    - EVP_aria_192_ofb
    - EVP_aria_192_cfb1
    - EVP_aria_128_cbc
    - EVP_aes_192_gcm
    - EVP_aes_192_cfb
    - EVP_aria_128_cfb8
    - EVP_aria_128_gcm
    - EVP_cast5_ofb
    - EVP_aes_256_ctr
    - EVP_camellia_192_ecb
    - EVP_camellia_192_ctr
    - EVP_des_ede
    - EVP_camellia_128_cfb
    - EVP_des_cfb8
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER * OpenSSL::toEVPCIPHER(const component::SymmetricCipherType
      cipherType) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1358,1
    - Dst: EVP_aead_chacha20_poly1305
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1358,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1359,1
    - Dst: EVP_aead_xchacha20_poly1305
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1359,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1360,1
    - Dst: EVP_aead_aes_128_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1360,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1361,1
    - Dst: EVP_aead_aes_256_gcm
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1361,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1363,1
    - Dst: EVP_aead_aes_128_ctr_hmac_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1363,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1364,1
    - Dst: EVP_aead_aes_128_ctr_hmac_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1364,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1365,1
    - Dst: EVP_aead_aes_256_ctr_hmac_sha256
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1365,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1366,1
    - Dst: EVP_aead_aes_128_gcm_siv
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1366,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1367,1
    - Dst: EVP_aead_aes_256_gcm_siv
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1367,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1368,1
    - Dst: EVP_aead_aes_128_ccm_bluetooth
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1368,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1369,1
    - Dst: EVP_aead_aes_128_ccm_bluetooth_8
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1369,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1370,1
    - Dst: EVP_aead_aes_128_cbc_sha1_tls
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1370,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1371,1
    - Dst: EVP_aead_aes_128_cbc_sha1_tls_implicit_iv
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1371,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1372,1
    - Dst: EVP_aead_aes_256_cbc_sha1_tls
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1372,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1373,1
    - Dst: EVP_aead_aes_256_cbc_sha1_tls_implicit_iv
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1373,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1374,1
    - Dst: EVP_aead_des_ede3_cbc_sha1_tls
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1374,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1375,1
    - Dst: EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1375,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1376,1
    - Dst: EVP_aead_aes_128_gcm_tls12
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1376,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1377,1
    - Dst: EVP_aead_aes_256_gcm_tls12
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1377,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1378,1
    - Dst: EVP_aead_aes_128_gcm_tls13
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1378,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1379,1
    - Dst: EVP_aead_aes_256_gcm_tls13
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1379,1
    - Dst: std::map::find
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1383,1
    - Dst: component::SymmetricCipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1383,1
    - Dst: std::map::end
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1383,1
    - Dst: std::map::at
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1387,1
    - Dst: component::SymmetricCipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cipherType
    argTypes:
    - component::SymmetricCipherType
    constantsTouched: []
    func_position:
      end: 1388
      start: 1356
    functionDepth: 1
    functionLinenumber: 1356
    functionLinenumberEnd: 1388
    functionName: cryptofuzz::module::OpenSSL::toEVPAEAD
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_aead_aes_256_gcm_tls12
    - EVP_aead_aes_128_ccm_bluetooth
    - EVP_aead_aes_256_gcm_siv
    - EVP_aead_aes_128_gcm_siv
    - EVP_aead_xchacha20_poly1305
    - EVP_aead_aes_256_gcm_tls13
    - EVP_aead_aes_128_ccm_bluetooth_8
    - EVP_aead_aes_128_cbc_sha1_tls
    - EVP_aead_aes_128_ctr_hmac_sha256
    - EVP_aead_des_ede3_cbc_sha1_tls
    - EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv
    - EVP_aead_aes_256_cbc_sha1_tls_implicit_iv
    - EVP_aead_aes_256_ctr_hmac_sha256
    - EVP_aead_aes_128_cbc_sha1_tls_implicit_iv
    - component::SymmetricCipherType::Get
    - std::map::end
    - EVP_aead_aes_128_gcm_tls12
    - EVP_aead_aes_256_cbc_sha1_tls
    - EVP_aead_aes_128_gcm_tls13
    - std::map::find
    - std::map::at
    - EVP_aead_aes_256_gcm
    - EVP_aead_aes_128_gcm
    - EVP_aead_chacha20_poly1305
    - CF_CIPHER
    linkageType: ''
    returnType: EVP_AEAD
    signature: EVP_AEAD * OpenSSL::toEVPAEAD(const component::SymmetricCipherType
      cipherType) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1393,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1393,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1402,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1403,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1403,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1404,1
    - Dst: EVP_DigestInit_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1404,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1404,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1409,1
    - Dst: EVP_DigestUpdate
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1409,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1409,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1416,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1416,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1416,1
    - Dst: Botan::PKCS11::LowLevel::C_Digest
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::Digest
    constantsTouched: []
    func_position:
      end: 1423
      start: 1391
    functionDepth: 2
    functionLinenumber: 1391
    functionLinenumberEnd: 1423
    functionName: cryptofuzz::module::OpenSSL::OpDigest
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - modifier::GetPtr
    - CF_EVP_MD_CTX::GetPtr
    - CF_CHECK_EQ
    - Botan::PKCS11::LowLevel::C_Digest
    - EVP_DigestFinal_ex
    - cryptofuzz::util::ToParts
    - EVP_DigestUpdate
    - modifier::GetSize
    - cryptofuzz::module::OpenSSL::toEVPMD
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: std::optional<component::Digest>
    signature: std::optional<component::Digest> OpenSSL::OpDigest(operation::Digest&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1437,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1439,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1439,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1440,1
    - Dst: EVP_PKEY_new_mac_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1440,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1440,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1440,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1441,1
    - Dst: EVP_DigestSignInit
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1441,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1441,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1446,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1446,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1446,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1453,1
    - Dst: EVP_DigestSignFinal
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1453,1
    - Dst: CF_EVP_MD_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1453,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1455,1
    - Dst: EVP_PKEY_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::HMAC
    - Datasource
    constantsTouched: []
    func_position:
      end: 1462
      start: 1426
    functionDepth: 2
    functionLinenumber: 1426
    functionLinenumberEnd: 1462
    functionName: cryptofuzz::module::OpenSSL::OpHMAC_EVP
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_NE
    - EVP_DigestSignInit
    - CF_EVP_MD_CTX::GetPtr
    - CF_CHECK_EQ
    - EVP_PKEY_free
    - cipher::key::GetPtr
    - cryptofuzz::module::OpenSSL::toEVPMD
    - cryptofuzz::util::ToParts
    - Botan_CLI::HMAC::HMAC
    - cipher::key::GetSize
    - EVP_DigestSignUpdate
    - EVP_DigestSignFinal
    - EVP_PKEY_new_mac_key
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> OpenSSL::OpHMAC_EVP(operation::HMAC&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1476,1
    - Dst: HMAC_CTX_reset
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1478,1
    - Dst: CF_HMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1478,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1479,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1479,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1480,1
    - Dst: HMAC_Init_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1480,1
    - Dst: CF_HMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1480,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1480,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1480,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1485,1
    - Dst: HMAC_Update
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1485,1
    - Dst: CF_HMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1485,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1492,1
    - Dst: HMAC_Final
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1492,1
    - Dst: CF_HMAC_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1492,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::HMAC
    - Datasource
    constantsTouched: []
    func_position:
      end: 1499
      start: 1466
    functionDepth: 2
    functionLinenumber: 1466
    functionLinenumberEnd: 1499
    functionName: cryptofuzz::module::OpenSSL::OpHMAC_HMAC
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - HMAC_Final
    - CF_CHECK_NE
    - HMAC_CTX_reset
    - HMAC_Init_ex
    - CF_CHECK_EQ
    - CF_HMAC_CTX::GetPtr
    - cipher::key::GetPtr
    - cryptofuzz::module::OpenSSL::toEVPMD
    - cryptofuzz::util::ToParts
    - Botan_CLI::HMAC::HMAC
    - cipher::key::GetSize
    - HMAC_Update
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> OpenSSL::OpHMAC_HMAC(operation::HMAC&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1506,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1506,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1509,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1514,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1514,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1515,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1515,1
    - Dst: SIPHASH_24
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1517,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1517,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1517,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1522,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1524,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1530,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1530,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1542,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1542,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1543,1
    - Dst: EVP_MAC_fetch
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1544,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1545,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1548,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1550,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1552,1
    - Dst: EVP_MAC_init
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1552,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1552,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1552,1
    - Dst: cryptofuzz::util::malloc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1554,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1559,1
    - Dst: EVP_MAC_update
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1559,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1563,1
    - Dst: EVP_MAC_final
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1563,1
    - Dst: Botan_CLI::HMAC::HMAC
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1564,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1566,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1568,1
    - Dst: EVP_MAC_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1569,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 1573
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1573
    functionName: cryptofuzz::module::OpenSSL_detail::SipHash
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 1
    functionsReached:
    - modifier::GetPtr
    - digestType::Get
    - cipher::key::GetPtr
    - modifier::GetSize
    - Botan_CLI::HMAC::HMAC
    - EVP_MAC_final
    - cleartext::GetSize
    - EVP_MAC_free
    - OSSL_PARAM_construct_uint
    - EVP_MAC_init
    - memcpy
    - EVP_MAC_update
    - EVP_MAC_CTX_free
    - cryptofuzz::util::free
    - EVP_MAC_CTX_new
    - CF_CHECK_EQ
    - SIPHASH_24
    - EVP_MAC_fetch
    - cryptofuzz::util::malloc
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - cleartext::GetPtr
    - CF_DIGEST
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> SipHash(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1578,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1578,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1580,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1580,1
    - Dst: digestType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1581,1
    - Dst: CF_DIGEST
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1581,1
    - Dst: cryptofuzz::module::OpenSSL_detail::SipHash
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1583,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1588,1
    - Dst: cryptofuzz::module::OpenSSL::OpHMAC_EVP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1594,1
    - Dst: cryptofuzz::module::OpenSSL::OpHMAC_HMAC
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1596,1
    - Dst: cryptofuzz::module::OpenSSL::OpHMAC_HMAC
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1600,1
    - Dst: cryptofuzz::module::OpenSSL::OpHMAC_EVP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1602,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::HMAC
    constantsTouched: []
    func_position:
      end: 1605
      start: 1577
    functionDepth: 3
    functionLinenumber: 1577
    functionLinenumberEnd: 1605
    functionName: cryptofuzz::module::OpenSSL::OpHMAC
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::OpenSSL_detail::SipHash
    - modifier::GetPtr
    - digestType::Get
    - cryptofuzz::module::OpenSSL::OpHMAC_EVP
    - Datasource::Get
    - CF_DIGEST
    - modifier::GetSize
    - cryptofuzz::module::OpenSSL::OpHMAC_HMAC
    linkageType: ''
    returnType: std::optional<component::MAC>
    signature: std::optional<component::MAC> OpenSSL::OpHMAC(operation::HMAC& op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::module::OpenSSL::isAEAD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1614,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1639,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1639,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1641,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1641,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1646,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1646,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - cipherType
    - cipher
    - ctx
    - inputIvLength
    argTypes:
    - uint64_t
    - EVP_CIPHER*
    - EVP_CIPHER_CTX*
    - size_t
    constantsTouched: []
    func_position:
      end: 1654
      start: 1608
    functionDepth: 1
    functionLinenumber: 1608
    functionLinenumberEnd: 1654
    functionName: cryptofuzz::module::OpenSSL::checkSetIVLength
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - EVP_CIPHER_CTX_ctrl
    - cryptofuzz::module::OpenSSL::isAEAD
    linkageType: ''
    returnType: bool
    signature: bool OpenSSL::checkSetIVLength(const uint64_t cipherType, const EVP_CIPHER*
      cipher, EVP_CIPHER_CTX* ctx, const size_t inputIvLength) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1663,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - cipher
    - ctx
    - inputKeyLength
    argTypes:
    - EVP_CIPHER*
    - EVP_CIPHER_CTX*
    - size_t
    constantsTouched: []
    func_position:
      end: 1670
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1670
    functionName: cryptofuzz::module::OpenSSL::checkSetKeyLength
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - CF_CHECK_EQ
    - EVP_CIPHER_CTX_set_key_length
    linkageType: ''
    returnType: bool
    signature: bool OpenSSL::checkSetKeyLength(const EVP_CIPHER* cipher, EVP_CIPHER_CTX*
      ctx, const size_t inputKeyLength) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::IsWRAP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1685,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1685,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1699,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPCIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1699,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1702,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1702,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1702,1
    - Dst: EVP_CIPHER_key_length
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1702,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1703,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1703,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1703,1
    - Dst: EVP_CIPHER_iv_length
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1703,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1705,1
    - Dst: BIO_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1705,1
    - Dst: BIO_f_cipher
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1705,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1708,1
    - Dst: BIO_set_cipher
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1710,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1710,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1710,1
    - Dst: defined
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1711,1
    - Dst: defined
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1711,1
    - Dst: BIO_push
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1720,1
    - Dst: BIO_new_mem_buf
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1720,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1720,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1720,1
    - Dst: BIO_push
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1722,1
    - Dst: BIO_new_mem_buf
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1722,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1722,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1722,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1730,1
    - Dst: BIO_read
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1730,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1732,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1741,1
    - Dst: BIO_read
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1741,1
    - Dst: BIO_free_all
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1751,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricEncrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 1755
      start: 1673
    functionDepth: 2
    functionLinenumber: 1673
    functionLinenumberEnd: 1755
    functionName: cryptofuzz::module::OpenSSL::OpSymmetricEncrypt_BIO
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - BIO_push
    - EVP_CIPHER_key_length
    - BIO_new_mem_buf
    - cipher::key::GetPtr
    - EVP_CIPHER_iv_length
    - BIO_f_cipher
    - BIO_free_all
    - cleartext::GetSize
    - CF_CHECK_NE
    - static_cast<int>
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - BIO_new
    - cryptofuzz::util::free
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - cipher::key::GetSize
    - cryptofuzz::module::OpenSSL::toEVPCIPHER
    - CF_ASSERT
    - BIO_read
    - cleartext::GetPtr
    - defined
    - BIO_set_cipher
    - cryptofuzz::repository::IsWRAP
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> OpenSSL::OpSymmetricEncrypt_BIO(operation::SymmetricEncrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1773,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPCIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1773,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1779,1
    - Dst: cryptofuzz::module::OpenSSL::isAEAD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1779,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1779,1
    - Dst: cryptofuzz::repository::IsWRAP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1782,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1782,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1786,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1786,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1789,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1789,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1789,1
    - Dst: cryptofuzz::repository::IsWRAP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1791,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1791,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1792,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1792,1
    - Dst: cryptofuzz::util::CipherInputTransform
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1795,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1795,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1795,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1799,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1799,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1803,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1803,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1805,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1809,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1809,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1810,1
    - Dst: cryptofuzz::module::OpenSSL::checkSetIVLength
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1810,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1810,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1810,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1810,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1812,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1812,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1814,1
    - Dst: cryptofuzz::module::OpenSSL::checkSetKeyLength
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1814,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1814,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1814,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1816,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1816,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1817,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1817,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1817,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1817,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1817,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1821,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1822,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1822,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1822,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1823,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1823,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1823,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1823,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1827,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1827,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1828,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1828,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1828,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1837,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1837,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1839,1
    - Dst: EVP_EncryptUpdate
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1839,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1839,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1839,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1847,1
    - Dst: EVP_EncryptUpdate
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1847,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1847,1
    - Dst: cryptofuzz::repository::IsWRAP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1852,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1852,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1854,1
    - Dst: EVP_CIPHER_block_size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1854,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1857,1
    - Dst: EVP_CIPHER_block_size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1857,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1861,1
    - Dst: EVP_EncryptUpdate
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1861,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1861,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1869,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1869,1
    - Dst: EVP_CIPHER_block_size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1869,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1872,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1872,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1872,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1882,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1882,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1882,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1883,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1883,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1883,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1886,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1886,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1892,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1893,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 72
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricEncrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 1896
      start: 1758
    functionDepth: 3
    functionLinenumber: 1758
    functionLinenumberEnd: 1896
    functionName: cryptofuzz::module::OpenSSL::OpSymmetricEncrypt_EVP
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::OpenSSL::checkSetKeyLength
    - static_cast<size_t>
    - EVP_CIPHER_CTX_ctrl
    - aad::GetPtr
    - CF_EVP_CIPHER_CTX::GetPtr
    - memset
    - cipher::key::GetPtr
    - cleartext::GetSize
    - CF_CHECK_NE
    - cipher::iv::GetSize
    - cryptofuzz::util::CipherInputTransform
    - cipher::iv::GetPtr
    - memcpy
    - EVP_EncryptUpdate
    - EVP_EncryptFinal_ex
    - cryptofuzz::module::OpenSSL::checkSetIVLength
    - cryptofuzz::component::Ciphertext::Ciphertext
    - cryptofuzz::util::free
    - cryptofuzz::repository::IsECB
    - EVP_CIPHER_CTX_set_padding
    - cryptofuzz::module::OpenSSL::isAEAD
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - EVP_CIPHER_CTX_set_flags
    - aad::GetSize
    - cryptofuzz::util::ToParts
    - cipher::key::GetSize
    - cryptofuzz::module::OpenSSL::toEVPCIPHER
    - EVP_CIPHER_block_size
    - EVP_EncryptInit_ex
    - cleartext::GetPtr
    - cryptofuzz::repository::IsCCM
    - CF_CIPHER
    - cryptofuzz::repository::IsWRAP
    - Buffer
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> OpenSSL::OpSymmetricEncrypt_EVP(operation::SymmetricEncrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1915,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPAEAD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1915,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1917,1
    - Dst: EVP_AEAD_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1917,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1918,1
    - Dst: EVP_AEAD_CTX_init
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1918,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1921,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1922,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1926,1
    - Dst: EVP_AEAD_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1926,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1928,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1929,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1936,1
    - Dst: EVP_AEAD_CTX_seal
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1936,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1940,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1941,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1942,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1943,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1944,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1945,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1954,1
    - Dst: EVP_AEAD_CTX_tag_len
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1954,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1954,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1958,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1964,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1964,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1968,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1968,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1968,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1977,1
    - Dst: EVP_AEAD_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1977,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1979,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricEncrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 1982
      start: 1899
    functionDepth: 2
    functionLinenumber: 1899
    functionLinenumberEnd: 1982
    functionName: cryptofuzz::module::OpenSSL::AEAD_Encrypt
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - EVP_AEAD_CTX_new
    - aad::GetPtr
    - cipher::key::GetPtr
    - cleartext::GetSize
    - CF_CHECK_NE
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - cryptofuzz::component::Ciphertext::Ciphertext
    - cryptofuzz::module::OpenSSL::toEVPAEAD
    - cryptofuzz::util::free
    - CF_CHECK_EQ
    - aad::GetSize
    - EVP_AEAD_CTX_tag_len
    - cipher::key::GetSize
    - EVP_AEAD_CTX_seal
    - EVP_AEAD_CTX_init
    - CF_ASSERT
    - cleartext::GetPtr
    - CF_NORET
    - EVP_AEAD_CTX_free
    - Buffer
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> OpenSSL::AEAD_Encrypt(operation::SymmetricEncrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1995,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1996,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1997,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1997,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1998,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1998,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1999,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:1999,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2000,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2000,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2001,1
    - Dst: AES_set_encrypt_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2001,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2001,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2001,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2012,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2012,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2020,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2020,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2021,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2021,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2021,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2023,1
    - Dst: AES_encrypt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2024,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2029,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2031,1
    - Dst: AES_encrypt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2032,1
    - Dst: cleartext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2032,1
    - Dst: cryptofuzz::component::Ciphertext::Ciphertext
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2039,1
    - Dst: Buffer
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2039,1
    - Dst: cleartext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2039,1
    - Dst: free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2044,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricEncrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 2047
      start: 1985
    functionDepth: 3
    functionLinenumber: 1985
    functionLinenumberEnd: 2047
    functionName: cryptofuzz::module::OpenSSL::AES_Encrypt
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cleartext::GetPtr
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - CF_CHECK_GT
    - Get
    - cryptofuzz::component::Ciphertext::Ciphertext
    - malloc
    - free
    - memcpy
    - cipher::key::GetPtr
    - AES_encrypt
    - Buffer
    - cleartext::GetSize
    - cipher::key::GetSize
    - AES_set_encrypt_key
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> OpenSSL::AES_Encrypt(operation::SymmetricEncrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher::cipherType::Is
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2054,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2054,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2064,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2064,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2066,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2066,1
    - Dst: cryptofuzz::module::OpenSSL::AES_Encrypt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2067,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2071,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2071,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2080,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2081,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2082,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2083,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2084,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2085,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2093,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPAEAD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2098,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2100,1
    - Dst: cryptofuzz::module::OpenSSL::AEAD_Encrypt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2101,1
    - Dst: cryptofuzz::module::OpenSSL::OpSymmetricEncrypt_EVP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2111,1
    - Dst: cryptofuzz::module::OpenSSL::OpSymmetricEncrypt_BIO
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2114,1
    - Dst: cryptofuzz::module::OpenSSL::OpSymmetricEncrypt_EVP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2116,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricEncrypt
    constantsTouched: []
    func_position:
      end: 2119
      start: 2049
    functionDepth: 4
    functionLinenumber: 2049
    functionLinenumberEnd: 2119
    functionName: cryptofuzz::module::OpenSSL::OpSymmetricEncrypt
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::OpenSSL::AES_Encrypt
    - cryptofuzz::module::OpenSSL::toEVPAEAD
    - cryptofuzz::module::OpenSSL::AEAD_Encrypt
    - modifier::GetPtr
    - cipher::cipherType::Get
    - cryptofuzz::repository::IsCCM
    - CF_CIPHER
    - Datasource::Get
    - cryptofuzz::module::OpenSSL::OpSymmetricEncrypt_BIO
    - modifier::GetSize
    - cipher::key::GetSize
    - cryptofuzz::module::OpenSSL::OpSymmetricEncrypt_EVP
    - cipher::cipherType::Is
    linkageType: ''
    returnType: std::optional<component::Ciphertext>
    signature: std::optional<component::Ciphertext> OpenSSL::OpSymmetricEncrypt(operation::SymmetricEncrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cryptofuzz::repository::IsWRAP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2134,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2134,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2148,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPCIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2148,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2151,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2151,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2151,1
    - Dst: EVP_CIPHER_key_length
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2151,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2152,1
    - Dst: static_cast<int>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2152,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2152,1
    - Dst: EVP_CIPHER_iv_length
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2152,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2154,1
    - Dst: BIO_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2154,1
    - Dst: BIO_f_cipher
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2154,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2157,1
    - Dst: BIO_set_cipher
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2159,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2159,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2159,1
    - Dst: defined
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2160,1
    - Dst: defined
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2160,1
    - Dst: BIO_push
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2169,1
    - Dst: BIO_new_mem_buf
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2169,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2169,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2169,1
    - Dst: BIO_push
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2171,1
    - Dst: BIO_new_mem_buf
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2171,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2171,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2171,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2179,1
    - Dst: BIO_read
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2179,1
    - Dst: CF_ASSERT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2181,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2190,1
    - Dst: BIO_read
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2190,1
    - Dst: BIO_free_all
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2200,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricDecrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 2204
      start: 2122
    functionDepth: 2
    functionLinenumber: 2122
    functionLinenumberEnd: 2204
    functionName: cryptofuzz::module::OpenSSL::OpSymmetricDecrypt_BIO
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - BIO_push
    - EVP_CIPHER_key_length
    - BIO_new_mem_buf
    - ciphertext::GetPtr
    - cipher::key::GetPtr
    - EVP_CIPHER_iv_length
    - BIO_f_cipher
    - BIO_free_all
    - CF_CHECK_NE
    - ciphertext::GetSize
    - static_cast<int>
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - BIO_new
    - cryptofuzz::util::free
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - cipher::key::GetSize
    - cryptofuzz::module::OpenSSL::toEVPCIPHER
    - CF_ASSERT
    - BIO_read
    - defined
    - BIO_set_cipher
    - cryptofuzz::repository::IsWRAP
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> OpenSSL::OpSymmetricDecrypt_BIO(operation::SymmetricDecrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2221,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPCIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2221,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2227,1
    - Dst: cryptofuzz::module::OpenSSL::isAEAD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2227,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2227,1
    - Dst: cryptofuzz::repository::IsWRAP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2230,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2230,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2234,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2234,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2238,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2238,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2238,1
    - Dst: cryptofuzz::repository::IsWRAP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2240,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2240,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2241,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2241,1
    - Dst: cryptofuzz::util::CipherInputTransform
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2244,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2244,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2244,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2248,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2248,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2252,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2252,1
    - Dst: cryptofuzz::util::ToParts
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2254,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2258,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2258,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2259,1
    - Dst: cryptofuzz::module::OpenSSL::checkSetIVLength
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2259,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2259,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2259,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2259,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2261,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2261,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2263,1
    - Dst: cryptofuzz::module::OpenSSL::checkSetKeyLength
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2263,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2263,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2263,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2276,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2276,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2276,1
    - Dst: tag::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2276,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2276,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2279,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2279,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2280,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2280,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2280,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2280,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2280,1
    - Dst: memset
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2284,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2285,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2285,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2285,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2286,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2286,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2286,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2286,1
    - Dst: cryptofuzz::repository::IsECB
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2290,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2290,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2291,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2291,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2291,1
    - Dst: cryptofuzz::repository::IsCCM
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2300,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2300,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2302,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2302,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2302,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2302,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2309,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2309,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2309,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2315,1
    - Dst: EVP_CIPHER_block_size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2315,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2318,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2318,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2318,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2327,1
    - Dst: static_cast<size_t>
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2327,1
    - Dst: EVP_CIPHER_block_size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2327,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2330,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2330,1
    - Dst: CF_EVP_CIPHER_CTX::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2330,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2333,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2338,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 65
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricDecrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 2341
      start: 2207
    functionDepth: 3
    functionLinenumber: 2207
    functionLinenumberEnd: 2341
    functionName: cryptofuzz::module::OpenSSL::OpSymmetricDecrypt_EVP
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::OpenSSL::checkSetKeyLength
    - static_cast<size_t>
    - EVP_CIPHER_CTX_ctrl
    - ciphertext::GetPtr
    - aad::GetPtr
    - CF_EVP_CIPHER_CTX::GetPtr
    - EVP_DecryptUpdate
    - memset
    - cipher::key::GetPtr
    - CF_CHECK_NE
    - ciphertext::GetSize
    - EVP_DecryptFinal_ex
    - cipher::iv::GetSize
    - cryptofuzz::util::CipherInputTransform
    - cipher::iv::GetPtr
    - memcpy
    - cryptofuzz::module::OpenSSL::checkSetIVLength
    - cryptofuzz::util::free
    - cryptofuzz::repository::IsECB
    - tag::GetSize
    - cryptofuzz::module::OpenSSL::isAEAD
    - EVP_CIPHER_CTX_set_padding
    - cipher::cipherType::Get
    - CF_CHECK_EQ
    - EVP_CIPHER_CTX_set_flags
    - aad::GetSize
    - cryptofuzz::util::ToParts
    - EVP_DecryptInit_ex
    - cipher::key::GetSize
    - tag::GetPtr
    - cryptofuzz::module::OpenSSL::toEVPCIPHER
    - EVP_CIPHER_block_size
    - cryptofuzz::repository::IsCCM
    - CF_CIPHER
    - cryptofuzz::repository::IsWRAP
    - component::Cleartext
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> OpenSSL::OpSymmetricDecrypt_EVP(operation::SymmetricDecrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2360,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPAEAD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2360,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2362,1
    - Dst: EVP_AEAD_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2362,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2363,1
    - Dst: EVP_AEAD_CTX_init
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2363,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2366,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2367,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2371,1
    - Dst: EVP_AEAD_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2371,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2373,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2374,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2382,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2383,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2383,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2383,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2383,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2385,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2385,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2385,1
    - Dst: tag::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2385,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2388,1
    - Dst: EVP_AEAD_CTX_open
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2388,1
    - Dst: cipher::iv::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2392,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2393,1
    - Dst: std::vector::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2394,1
    - Dst: std::vector::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2395,1
    - Dst: aad::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2396,1
    - Dst: aad::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2397,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2403,1
    - Dst: CF_NORET
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2407,1
    - Dst: EVP_AEAD_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2407,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricDecrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 2412
      start: 2344
    functionDepth: 2
    functionLinenumber: 2344
    functionLinenumberEnd: 2412
    functionName: cryptofuzz::module::OpenSSL::AEAD_Decrypt
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - EVP_AEAD_CTX_new
    - ciphertext::GetPtr
    - aad::GetPtr
    - cipher::key::GetPtr
    - CF_CHECK_NE
    - ciphertext::GetSize
    - cipher::iv::GetSize
    - cipher::iv::GetPtr
    - memcpy
    - std::vector::data
    - cryptofuzz::module::OpenSSL::toEVPAEAD
    - cryptofuzz::util::free
    - aad::GetSize
    - tag::GetPtr
    - cipher::key::GetSize
    - EVP_AEAD_CTX_open
    - EVP_AEAD_CTX_init
    - CF_NORET
    - EVP_AEAD_CTX_free
    - component::Cleartext
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> OpenSSL::AEAD_Decrypt(operation::SymmetricDecrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2425,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2426,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2427,1
    - Dst: cipher::iv::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2427,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2428,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2428,1
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2429,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2429,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2430,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2430,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2431,1
    - Dst: AES_set_decrypt_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2431,1
    - Dst: cipher::key::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2431,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2431,1
    - Dst: Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2442,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2442,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2450,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2450,1
    - Dst: memcpy
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2451,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2451,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2451,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2453,1
    - Dst: AES_decrypt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2454,1
    - Dst: malloc
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2459,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2461,1
    - Dst: AES_decrypt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2462,1
    - Dst: ciphertext::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2462,1
    - Dst: component::Cleartext
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2469,1
    - Dst: ciphertext::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2469,1
    - Dst: free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 2
    argNames:
    - ' op'
    - ' ds'
    argTypes:
    - operation::SymmetricDecrypt
    - Datasource
    constantsTouched: []
    func_position:
      end: 2477
      start: 2415
    functionDepth: 3
    functionLinenumber: 2415
    functionLinenumberEnd: 2477
    functionName: cryptofuzz::module::OpenSSL::AES_Decrypt
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - AES_set_decrypt_key
    - ciphertext::GetSize
    - CF_CHECK_EQ
    - cipher::iv::GetSize
    - CF_CHECK_GT
    - Get
    - free
    - malloc
    - ciphertext::GetPtr
    - memcpy
    - cipher::key::GetPtr
    - AES_decrypt
    - cipher::key::GetSize
    - component::Cleartext
    - CF_CHECK_GTE
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> OpenSSL::AES_Decrypt(operation::SymmetricDecrypt&
      op, Datasource& ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2480,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2480,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2482,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2482,1
    - Dst: cryptofuzz::module::OpenSSL::AES_Decrypt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2483,1
    - Dst: cipher::key::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2490,1
    - Dst: cipher::cipherType::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2491,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2492,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2493,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2494,1
    - Dst: CF_CIPHER
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2495,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2503,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPAEAD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2508,1
    - Dst: cryptofuzz::module::OpenSSL::AEAD_Decrypt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2511,1
    - Dst: cryptofuzz::module::OpenSSL::OpSymmetricDecrypt_EVP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2517,1
    - Dst: cryptofuzz::module::OpenSSL::OpSymmetricDecrypt_BIO
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2520,1
    - Dst: cryptofuzz::module::OpenSSL::OpSymmetricDecrypt_EVP
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2522,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::SymmetricDecrypt
    constantsTouched: []
    func_position:
      end: 2525
      start: 2479
    functionDepth: 4
    functionLinenumber: 2479
    functionLinenumberEnd: 2525
    functionName: cryptofuzz::module::OpenSSL::OpSymmetricDecrypt
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - cryptofuzz::module::OpenSSL::toEVPAEAD
    - cryptofuzz::module::OpenSSL::AEAD_Decrypt
    - modifier::GetPtr
    - cipher::cipherType::Get
    - CF_CIPHER
    - Datasource::Get
    - cryptofuzz::module::OpenSSL::AES_Decrypt
    - cryptofuzz::module::OpenSSL::OpSymmetricDecrypt_EVP
    - modifier::GetSize
    - cryptofuzz::module::OpenSSL::OpSymmetricDecrypt_BIO
    - cipher::key::GetSize
    linkageType: ''
    returnType: std::optional<component::Cleartext>
    signature: std::optional<component::Cleartext> OpenSSL::OpSymmetricDecrypt(operation::SymmetricDecrypt&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2537,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2537,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2538,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2538,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2539,1
    - Dst: EVP_PKEY_CTX_set1_pbe_pass
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2539,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2539,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2539,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2540,1
    - Dst: EVP_PKEY_CTX_set1_scrypt_salt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2540,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2540,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2540,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2541,1
    - Dst: EVP_PKEY_CTX_set_scrypt_N
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2541,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2542,1
    - Dst: EVP_PKEY_CTX_set_scrypt_r
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2542,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2543,1
    - Dst: EVP_PKEY_CTX_set_scrypt_p
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2543,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2548,1
    - Dst: EVP_PKEY_derive
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2548,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2550,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2552,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2556,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 2560
      start: 2528
    functionDepth: 2
    functionLinenumber: 2528
    functionLinenumberEnd: 2560
    functionName: cryptofuzz::module::OpenSSL::OpKDF_SCRYPT_EVP_PKEY
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - password::GetPtr
    - EVP_PKEY_CTX_set_scrypt_p
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_set_scrypt_N
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_set1_scrypt_salt
    - EVP_PKEY_CTX_new_id
    - CF_CHECK_EQ
    - EVP_PKEY_CTX_free
    - salt::GetPtr
    - EVP_PKEY_CTX_set_scrypt_r
    - salt::GetSize
    - EVP_PKEY_CTX_set1_pbe_pass
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpenSSL::OpKDF_SCRYPT_EVP_PKEY(operation::KDF_SCRYPT&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: password::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2572,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2573,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2575,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2576,1
    - Dst: salt::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2578,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2579,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2581,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2582,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2585,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2588,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2591,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2594,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2596,1
    - Dst: EVP_KDF_fetch
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2599,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2600,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2601,1
    - Dst: EVP_KDF_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2602,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2603,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2606,1
    - Dst: EVP_KDF_derive
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2606,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2611,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2615,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 2619
      start: 2564
    functionDepth: 1
    functionLinenumber: 2564
    functionLinenumberEnd: 2619
    functionName: cryptofuzz::module::OpenSSL::OpKDF_SCRYPT_EVP_KDF
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_uint
    - CF_CHECK_GT
    - OSSL_PARAM_construct_end
    - EVP_KDF_CTX_new
    - auto::data
    - EVP_KDF_CTX_free
    - salt::Get
    - auto::size
    - password::Get
    - EVP_KDF_free
    - EVP_KDF_derive
    - EVP_KDF_fetch
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpenSSL::OpKDF_SCRYPT_EVP_KDF(operation::KDF_SCRYPT&
      op) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2625,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2625,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2633,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2637,1
    - Dst: EVP_PBE_scrypt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2637,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2638,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2639,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2640,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2641,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2649,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2652,1
    - Dst: modifier::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2656,1
    - Dst: modifier::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2656,1
    - Dst: Datasource::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2660,1
    - Dst: cryptofuzz::module::OpenSSL::OpKDF_SCRYPT_EVP_PKEY
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2665,1
    - Dst: cryptofuzz::module::OpenSSL::OpKDF_SCRYPT_EVP_KDF
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2667,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_SCRYPT
    constantsTouched: []
    func_position:
      end: 2670
      start: 2623
    functionDepth: 3
    functionLinenumber: 2623
    functionLinenumberEnd: 2670
    functionName: cryptofuzz::module::OpenSSL::OpKDF_SCRYPT
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - password::GetPtr
    - modifier::GetPtr
    - cryptofuzz::module::OpenSSL::OpKDF_SCRYPT_EVP_PKEY
    - CF_CHECK_EQ
    - Datasource::Get
    - salt::GetPtr
    - cryptofuzz::module::OpenSSL::OpKDF_SCRYPT_EVP_KDF
    - modifier::GetSize
    - EVP_PBE_scrypt
    - salt::GetSize
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpenSSL::OpKDF_SCRYPT(operation::KDF_SCRYPT&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2682,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2682,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2683,1
    - Dst: HKDF
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2684,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2687,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2688,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2689,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2690,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2691,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2692,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2694,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2697,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2710,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2710,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2711,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2711,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2712,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2712,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2713,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2713,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2714,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2714,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2714,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2714,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2715,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2715,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2715,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2715,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2716,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2716,1
    - Dst: info::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2716,1
    - Dst: info::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2716,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2721,1
    - Dst: EVP_PKEY_derive
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2721,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2723,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2725,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2729,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_HKDF
    constantsTouched: []
    func_position:
      end: 2735
      start: 2674
    functionDepth: 2
    functionLinenumber: 2674
    functionLinenumberEnd: 2735
    functionName: cryptofuzz::module::OpenSSL::OpKDF_HKDF
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_set1_hkdf_salt
    - EVP_PKEY_CTX_set1_hkdf_key
    - CF_CHECK_NE
    - salt::GetPtr
    - EVP_PKEY_CTX_set_hkdf_md
    - HKDF
    - cryptofuzz::util::free
    - CF_CHECK_EQ
    - info::GetPtr
    - EVP_PKEY_CTX_add1_hkdf_info
    - salt::GetSize
    - cryptofuzz::module::OpenSSL::toEVPMD
    - password::GetPtr
    - EVP_PKEY_derive_init
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_new_id
    - info::GetSize
    - password::GetSize
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpenSSL::OpKDF_HKDF(operation::KDF_HKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2749,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2749,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2750,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2750,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2751,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2751,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2752,1
    - Dst: EVP_PKEY_CTX_set_tls1_prf_md
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2752,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2753,1
    - Dst: EVP_PKEY_CTX_set1_tls1_prf_secret
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2753,1
    - Dst: secret::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2753,1
    - Dst: secret::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2753,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2754,1
    - Dst: EVP_PKEY_CTX_add1_tls1_prf_seed
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2754,1
    - Dst: seed::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2754,1
    - Dst: seed::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2754,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2759,1
    - Dst: EVP_PKEY_derive
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2759,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2768,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2770,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2774,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_TLS1_PRF
    constantsTouched: []
    func_position:
      end: 2779
      start: 2739
    functionDepth: 2
    functionLinenumber: 2739
    functionLinenumberEnd: 2779
    functionName: cryptofuzz::module::OpenSSL::OpKDF_TLS1_PRF
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - cryptofuzz::util::free
    - CF_CHECK_NE
    - seed::GetSize
    - EVP_PKEY_derive_init
    - secret::GetSize
    - EVP_PKEY_derive
    - seed::GetPtr
    - EVP_PKEY_CTX_new_id
    - CF_CHECK_EQ
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_set1_tls1_prf_secret
    - secret::GetPtr
    - EVP_PKEY_CTX_add1_tls1_prf_seed
    - cryptofuzz::module::OpenSSL::toEVPMD
    - EVP_PKEY_CTX_set_tls1_prf_md
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpenSSL::OpKDF_TLS1_PRF(operation::KDF_TLS1_PRF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2791,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2791,1
    - Dst: password::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2793,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2794,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2796,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2797,1
    - Dst: salt::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2799,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2800,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2802,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2803,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2806,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2809,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2812,1
    - Dst: std::string::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2812,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2812,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2815,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2817,1
    - Dst: EVP_KDF_fetch
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2820,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2821,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2822,1
    - Dst: EVP_KDF_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2823,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2824,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2827,1
    - Dst: EVP_KDF_derive
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2827,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2832,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2835,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF
    constantsTouched: []
    func_position:
      end: 2840
      start: 2783
    functionDepth: 2
    functionLinenumber: 2783
    functionLinenumberEnd: 2840
    functionName: cryptofuzz::module::OpenSSL::OpKDF_PBKDF
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - std::string::size
    - CF_CHECK_GT
    - OSSL_PARAM_construct_utf8_string
    - password::Get
    - std::string::data
    - EVP_KDF_CTX_free
    - CF_CHECK_NE
    - OSSL_PARAM_construct_uint
    - OSSL_PARAM_construct_end
    - salt::Get
    - cryptofuzz::util::free
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_new
    - cryptofuzz::module::OpenSSL::toEVPMD
    - EVP_KDF_free
    - OSSL_PARAM_construct_int
    - auto::data
    - auto::size
    - EVP_KDF_fetch
    - EVP_KDF_derive
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpenSSL::OpKDF_PBKDF(operation::KDF_PBKDF&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2852,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2852,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2853,1
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2853,1
    - Dst: password::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2854,1
    - Dst: password::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2855,1
    - Dst: salt::GetPtr
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2856,1
    - Dst: salt::GetSize
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2857,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2863,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2865,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2876,1
    - Dst: cryptofuzz::module::OpenSSL::toEVPMD
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2876,1
    - Dst: password::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2878,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2879,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2881,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2882,1
    - Dst: salt::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2884,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2885,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2887,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2888,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2891,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2894,1
    - Dst: std::string::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2894,1
    - Dst: std::string::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2894,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2897,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2899,1
    - Dst: EVP_KDF_fetch
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2902,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2903,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2904,1
    - Dst: EVP_KDF_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2905,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2906,1
    - Dst: CF_CHECK_GT
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2909,1
    - Dst: EVP_KDF_derive
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2909,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2914,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2918,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_PBKDF2
    constantsTouched: []
    func_position:
      end: 2924
      start: 2844
    functionDepth: 2
    functionLinenumber: 2844
    functionLinenumberEnd: 2924
    functionName: cryptofuzz::module::OpenSSL::OpKDF_PBKDF2
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey::CertificateAndKey
    - std::string::size
    - CF_CHECK_GT
    - OSSL_PARAM_construct_utf8_string
    - password::Get
    - std::string::data
    - EVP_KDF_CTX_free
    - CF_CHECK_NE
    - OSSL_PARAM_construct_uint
    - salt::GetPtr
    - OSSL_PARAM_construct_end
    - salt::Get
    - cryptofuzz::util::free
    - OSSL_PARAM_construct_octet_string
    - CF_CHECK_EQ
    - EVP_KDF_CTX_new
    - salt::GetSize
    - cryptofuzz::module::OpenSSL::toEVPMD
    - EVP_KDF_free
    - password::GetPtr
    - OSSL_PARAM_construct_int
    - auto::data
    - PKCS5_PBKDF2_HMAC
    - auto::size
    - EVP_KDF_fetch
    - password::GetSize
    - EVP_KDF_derive
    linkageType: ''
    returnType: std::optional<component::Key>
    signature: std::optional<component::Key> OpenSSL::OpKDF_PBKDF2(operation::KDF_PBKDF2&
      op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CF_CHECK_GTE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2955,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2956,1
    - Dst: EVP_KDF_fetch
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2959,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2960,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2961,1
    - Dst: EVP_KDF_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2962,1
    - Dst: CF_CHECK_NE
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2963,1
    - Dst: password::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2971,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2972,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2972,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2972,1
    - Dst: salt::Get
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2974,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2975,1
    - Dst: auto::data
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2975,1
    - Dst: auto::size
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2975,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2977,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2978,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2979,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2980,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2981,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2982,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2982,1
    - Dst: CF_CHECK_EQ
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2987,1
    - Dst: EVP_KDF_derive
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2987,1
    - Dst: Botan_Tests::CertificateAndKey::CertificateAndKey
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2989,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2993,1
    - Dst: cryptofuzz::util::free
      Src: /src/cryptofuzz/modules/openssl/module.cpp:2995,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 1
    argNames:
    - ' op'
    argTypes:
    - operation::KDF_ARGON2
    constantsTouched: []
    func_position:
      end: 2999
      start: 2928
    functionDepth: 1
    functionLinenumber: 2928
    functionLinenumberEnd: 2999
    functionName: cryptofuzz::module::OpenSSL::OpKDF_ARGON2
    functionSourceFile: /src/cryptofuzz/modules/openssl/module.cpp
    functionUses: 0
    functionsReached:
    - Botan_Tests::CertificateAndKey